gpsd-3.9/.splintrc0000664000175000017500000000043312077470554012342 0ustar esresr-I. +unixlib +charindex +charintliteral -realcompare -exitarg -booltype bool -paramuse -predboolint -nestedextern -abstract -Ddbus_uint32_t=uint -Disgps30bits_t=uint -DFD_SETSIZE=31 -DB57600=010001 -DB115200=0010011 -DCRTSCTS=0x00020000 -DONLCR=0x00000002 -D__gnuc_va_list=va_list gpsd-3.9/AUTHORS0000664000175000017500000000047411662661035011553 0ustar esresrRemco Treffkorn Derrick J. Brashear Russ Nelson Eric S. Raymond Gary E. Miller Jeff Francis Amaury Jacquot Chris Kuethe Ville Nuorvala gpsd-3.9/COPYING0000664000175000017500000000341511757250537011542 0ustar esresr COPYRIGHTS Compilation copyright is held by the GPSD project. All rights reserved. GPSD project copyrights are assigned to the project lead, currently Eric S. Raymond. Other portions of the GPSD code are Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002 by Remco Treffkorn, and others Copyright (c) 2005 by Eric S. Raymond. For other copyrights, see individual files. BSD LICENSE Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

Neither name of the GPSD project nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. gpsd-3.9/HACKING0000664000175000017500000000017611762140434011465 0ustar esresrFor the gpsd project, the information that was traditionally placed in this file is in the repository as: www/hacking.html gpsd-3.9/INSTALL0000664000175000017500000001660712140044274011531 0ustar esresr= GPSD Installation Instructions = Here are the steps for installing GPSD and verifying its performance. They assume you have GPSD available as an installable binary package, Instructions for building GPSD from source (including cross-building) are in the file "build.txt" in the source distribution. == Check that your GPS is live and you can get data from it == Start by making sure you can get data from your GPS, otherwise the later steps will be very frustrating. In this command stty -F /dev/ttyXXX ispeed 4800 && cat - 3.9 Note to packagers: this is an urgent release that fixes a possible DoS or security hole! Armor the AIS driver against an implausible overrun attack. A (different) fix for our first malformed-packet crash since about 2007. Minor improvements to the NMEA2000 driver. New FAQ entry on how to know WAAS/EGNOS is working. New -u and -uu options enable usec timestamps on gpspipe output. * Mon 25 Feb 2013 Eric S. Raymond - 3.8 Fix various minor errors in the AIVDM/AIVDO description. Repair the xmlto support in the build system. Add two more regression tests. Significant improvements to NMEA2000 support. Upgrade the PHP client to v3 of the Google Maps API. Support for the Telit SL869 chipset. Added a nautical-style display to xgpsspeed. Minor improvements to leapsecond.py. * Mon 02 Jul 2012 Eric S. Raymond - 3.7 Snap release to get the midnight change in the default leap-second constant out the door. Port tests now pass on all Debian supported architectures, including the Sparc and s390 that were giving us trouble before. Pre-2003 Delorme Earthmate works again. * Wed 23 May 2012 Eric S. Raymond - 3.6 It's the Fernando Poo Day release. Code has zero detectible defects under Coverity scanning and cppcheck 1.52; this is mainly a cleanup release to get those minor fixes into the field. If a leap-second warning is available from GPS subframe information it is passed to ntpd. NMEA2000 is now supported via the Linux kernel CAN interface. There's a chrpath=no config option for distribution makers, so chrpath is no longer a build dependency; see build.txt for explanation. * Sat 14 Apr 2012 Eric S. Raymond - 3.5 Use pselect when it's available to cut down on wakeups and improve signal handling. New {PPS} message exporting clock drift. The AIVDM driver now handles up to 16 interleaved 24A and 24B pair-halves. The NMEA driver interprets depth-sounder returns from SDDBT and reports them as negative altitudes. The pps-pin option is gone, the PPS code now just accepts any handshake pin. A bug that sometimes caused RTCM packets to be dropped rather than relayed is fixed. * Thu 12 Jan 2012 Eric S. Raymond - 3.4 Don't barf when chrpath is not available, fall back to static linking; helps people not running Linux. * Sat Oct 29 2011 Eric S. Raymond - 3.3 Improvements to build and release-procedure documentation. Make sirf=no build work again. Main reason for this release is to make chrpath a mandatory build depedency and explain why in the build documentation. * Wed Oct 25 2011 Eric S. Raymond - 3.2 In the build recipe, (1) set pkgconfig properly for 64-bit Fedora systems, (2) clean up various derived files including *.pyc on scons -c, (3) add an option to disable stripping of binaries (strip=no), (4) for embedded targets, add an option to disable building Python support (python=no), (5) make the help for gpsd_group and gpsd_user a little clearer, (6) add a force_global option to build gpsd to listen to all addresses (rather than just loopback). The packet sniffer now accepts NMEA packets with the ECDIS packet leader 'EC'. SBAS satellites are now properly use-flagged in SiRF and UBX skyviews. The -G option now works under IPv6. Cross-build is now officially supported and instructions included. gpsprof works again and does whole-cycle profiling. gpsd.php has Open Street Map support. The pp-on-cts option is replaced by a pps_pin option that lets you specify the pin; the default is still DCD. New supported device; the Jackson Labs Fury. The chrpath utility has become a build prerequisite. * Sun Aug 28 2011 Eric S. Raymond - 3.1 The Irene release, rocking you like a hurricane and brought to you from the storm shelter in my basement. This is a snap release mainly to get some scons recipe cleanups out the door. Parallelized builds now work. Small but fatal problems with reconfigure=no, netfeed=no and sock_export=no builds have been fixed. Build recipe ported for Fedora, Darwin, FreeBSD and OpenBSD. libgps now brings -lm with it on systems with implicit linking. One old bug fixed (code was previously present but broken): Under Linux, gpsd will refrain from opening serial or USB devices that another process has open, avoiding potential problems with class 0xFF USB devices opened by other programs. One new bug fix: we now use an atof() implementation that ignores locale, avoiding problems where decimal point is a comma. One new feature: Change -N semantics so it only suppresses backgrounding; privileges are now dropped as in normal background operation. * Fri Aug 19 2011 Eric S. Raymond - 3.0 POLL subobject name changes: fixes -> tpv, skyview -> sky. Fix a timestamp-clobbering bug in the C library revealed by an obscure car-nav device, the MyGuide 3100. The DEVICE 'activated' attribute becomes an ISO8601 string; the client libraries will still backward-compatibly read a float value. gps_unpack() is now a documented part of the library API. There is now a shared-memory export from the daemon that can be accessed through the C and C++ client libraries. xgps and cgps may now display the Maidenhead grid locator for current lat/lon. xgps displays GST noise statistics if they are available. Codebase now has an scons build recipe. Direct support for activation of gpsd from Mac OS/X systemd. gpsdecode can now filter reports by RTCM2, RTCM3, or AIS message type. NMEA HEHDT is implemented. Remote gpsd instances can now be used as data sources via a gpsd:// URL. There is a client for live-feeding GPSD data to Google Earth. The hotplug sequence no longer requires Python. * Mon Mar 21 2011 Eric S. Raymond - 2.96 Bumped maximum channel count to 32 to accommodate GPS+GLONASS devices. API version bumped to 5, redesign finished (changes are documented in the Client HOWTO). cgps now handles resize signals. Code can now link with uClibc for embedded use. Various bugs in the C++ binding have been fixed. gpxlogger can now daemonize and write to a specified log file. A gpsd client can now set any locale it likes, and JSON will still be parsed using the C locale matching the daemon's. Clients are no longer required to define a gpsd_report() hook. gpsd no longer emits probe strings to unidentified USB devices at startup. JSON timestamps in TPV and SKY are now ISO8601 rather than seconds since the Unix epoch; the library handles the older style backward-compatibly. GPGST sentences are now parsed for noise statistics when a device emits them. AIS and RTCM2 JSON dumps have device fields. JSON reports now include 50bps subframe data if the device allows access to it. gpsdecode can now dump NMEA GPS binary, and subframe data to JSON. The RTCM2 code now understands and analyzes RTCM2.3 messages 13, 14, and 31, and has been checked against another analyzer. The ancient Sager dump format for RTCM2 is abolished in favor of a JSON profile. * Tue Jul 13 2010 Eric S. Raymond - 2.95 The autonomous robot submarine total world domination release! Rationalize clearing and generation of DOPs, this makes epx/epy much more generally available. Fixed the test productions for the udev magic and added a troubleshooting note in INSTALL. cgps now displays epx/epy rather than eph. Speed is now always reported if our last two fixes were good, even if the GPS didn't compute it. Reading packets from UDP datagrams by specifying a listening address and port is now supported, and the regression-test driver cam now be told to force this with -u; this enables regression testing in chroot jails where access to ptys is locked out. AIS code now interprets message type 6 and 8 application IDs correctly as a Designated Area Code and Functional ID pair. gpspipe has a new -T option for setting the timestamp format. xgpsspeed is completely rewritten in Python, eliminating some dependencies on ancient X libraries. We now ship a Qt binding for the client library. Note a GCC 4.2.1 optimizer bug. gpsdcode now uses | as a field separator in -c mode, as string fields can contain commas. Corrected error in reporting of AIS rate-of-turn fields. * Tue Apr 20 2010 Eric S. Raymond - 2.94 Error-checking in the 50bps subframe code has been greatly improved. The Garmin GPS driver can now use libusb, if it is present, to do device discovery. The libgps library has been split apart; the service functions used by the daemon now live in libgpsd. This will shave some code volume from GPSD client applications. A packaging error that resulted in xgps not being shipped in 2.93 has been corrected. We now have stronger checking for valid ephemeris before extracting the leap-second offset; they should prevent many cases where gpsd might previously have used an invalid leap-second offset. * Fri Apr 16 2010 Eric S. Raymond - 2.93 Support for JSON dumping and parsing of AIS message types 25 and 26, not yet observed in the wild on AISHub. Fix Debian bug #569703. by removing non-streaming mode from the Python exerciser. Fix Debian bug #572900 by unsetting the appropriate in-use flag in the device array. Change the libgps default from old protocol to JSON. Add a close() method to the C++ binding. Try to recover better from sporadic cases of false matches to Trimble packet format from a SiRF binary datastream. gps_poll() now returns -1 with errno not set when the gpsd socket closes. TPV now refrains from reporting fields the fix quality won't support. gpsmon option for listing device types is now -L to -l can be used to enable logging (to stay consistent with the l command). There is new FAQ material on improving fix and time reference accuracy. New sections have been added to NMEA.txt on error status indications and satellite IDs. New POLL command brings back polling-mode operation. A Client-HOWTO has been added to the documentation. gpsd no longer eats CPU when a device is unexpectedly unplugged. Support for the TNT revolution is back (run mode only). There is now a gpsdfake diagnostic tool that fakes being gpsd shipping arbitrary specified data to clients. * Wed Mar 3 2010 Eric S. Raymond - 2.92 Fix a packaging error. The new Python library module was inadvertently omitted from the 2.91 tarball. Also, improve the json import test slightly. * Mon Mar 1 2010 Eric S. Raymond - 2.91 We have support for NMEA GLONASS sentences, and a regression test. Clients now get a DEVICE notification on every driver switch. It is possible to specify a TCP/IP AIS feed such as AISHub as a data source. Serious bitrot in the NTRIP support has been fixed - it was probably nonfunctional for several releases before this. Fixed buggy display of satellite-used flags in cgps. xgps is replaced by a rewrite in Python that uses pygtk, eliminating a dependency on Motif; also, it now displays AIS information. Uniform treatment of display-unit defaulting and -u in xgps, cgps, and lcdgps. Support for AIS message types 25 and 26. Support for IPv6. A numeric instability in the earth_distance() function affecting track error modeling has been fixed. Old protocol has been removed from the daemon; the library still speaks it. * Fri Dec 4 2009 Eric S. Raymond - 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; accordingly data is accumulated from cycle start and the "J" (nojitter) option on both server and client side is gone. We have abandoned the gpsflash subproject since it has become apparent that we can't do it without more vendor cooperation than we're likely to get. Increase major version of shared library due to significant API change. Added new driver for Motorola Oncore receivers, with help from Håkan Johansson. gpsfake can now accept multiple logfiles, interleaving test sentences from each. gpsd now accepts error estimates from the NMEA $GPGBS sentence. * Wed Mar 18 2009 Eric S. Raymond - 2.39 Fixed potential core dump in C client handling of "K" responses. Made device hotplugging work again; had been broken by changes in udev. Introduced major and minor API version symbols into the public interfaces. The sirfmon utility is gone, replaced by gpsmon which does the same job for multiple GPS types. Fixed a two-year old error in NMEA parsing that nobody noticed because its only effect was to trash VDOP values from GSA sentences, and gpsd computes those with an internal error model when they look wonky. cgpxlogger has been merged into gpxlogger. Speed-setting commands now allow parity and stop-bit setting if the GPS chipset and adaptor can support it. Specfile and other packaging paraphenalia now live in a packaging subdirectory. rtcmdecode becomes gpsdecode and can now de-armor and dump AIDVM packets. The client library now works correctly in locales where the decimal separator is not a period. * Tue Feb 10 2009 Eric S. Raymond - 2.38 Regression test load for RoyalTek RGM3800 and Blumax GPS-009 added. Scaling on E error-estimate fields fixed to match O. Listen on localhost only by default to avoid security problems; this can be overridden with the -G command-line option. The packet-state machine can now recognize RTCM3 packets, though support is not yet complete. Added support for ublox5 and mtk-3301 devices. Add a wrapper around gpsd_hexdump to save CPU. Lots of little fixes to various packet parsers. Always keep the device open: "-n" is not optional any more. xgpsspeed no longer depends on Motif. gpsctl can now ship arbitrary payloads to a device. It's possible to send binary through the control channel with the new "&" command. Experimental new driver for Novatel SuperStarII. The 'g' mode switch command now requires, and returns, 'rtcm104v2' rather than 'rtcm104'; this is design forward for when RTCM104v3 is fully working. * Sun Feb 17 2008 Chris Kuethe - 2.37 The C++ bindings, Garmin USB support, and multiple instances of ntp pps thread starting were fixed. Handling of odd PPS signals was improved. The eye candy in the PHP visualizers was fixed. * Tue Jan 1 2008 Eric S. Raymond - 2.36 Urgent fix to leap-day calculation affecting dates from today to 28 Feb on generic NMEA GPSes, Zodiacs, and SirFs emitting message 0x62. Integrated Garmin Simple Text Protocol driver from Peter Slansky. Minor fixes in error modeling and a better NaN guard stabilize the Trimble regression tests. Remove the wired-in NTP time offset from the NMEA driver, this could only have worked by accident and should be set in ntpd.conf. Integrated Ashtech driver from Chris Kuethe. * Mon Dec 10 2007 Eric S. Raymond - 2.35-1 Navcom driver merged. Removed -d -f and -p options of gpsd; these have been undocumented for a while. Make gpsd play well with pkgconfig. Incorrect computation of VDOP when GPSes didn't supply it has been fixed. The xgps code has been revamped and now has a much nicer interface. Add -b (no-configuration) option as a sadly clumsy workaround for some problems with Bluetooth receivers. Added tests for Haicom-305N and Pharos 360; separated out the tests for the unstable Trimble drivers. 32-vs-64-bit problems in the regression tests have been solved. * Thu Dec 14 2006 Eric S. Raymond - 2.34-1 Fix for byte-swapping of Zodiac control messages on big-endian hardware. Disable iTalk by default and note that it needs to be tested. Command line arguments can now be DGPSIP or NTRIP URLs; -d is deprecated. Added udev rules. Address excessive processor and memory utilization on SBCs; it's now possible to configure compile-time limits on the number of devices and client sessions. Eliminate use of fuser(1) in gpsfake. Get gpsd working with EarthMates again, this had been broken since 2.15. Massive string safety audit and OpenBSD port by Chris Kuethe. J command added. The gpsctl and gpscat tools and the gpsd.phps script were added. Switched to lesstif from openmotif. Better autodetection of DLE-led packet protocols (notably TSIP and Garmin binary) and of SiRFStar I and III devices. Fixed buggy parsing and generation of PGRME. * Fri Jun 9 2006 Eric S. Raymond - 2.33-1 Fix bad unit conversion in V output. Clean up some man-page messes. Fixed buggy libgps parsing of multiple responses. It's now possible to lock gpsd to a fixed speed at compile time for embedded use. Added NTRIP support, thanks to Ville Nuorvala. O command now ships an explicit mode field. * Sun Mar 12 2006 Eric S. Raymond - 2.32-1 Cleanup of the xgps layout, and minor memory-leak fixes for xgps. Fix to cope with Antares uBlox by Andreas Stricker. Minor fix to libgps cgpxlogger. Merge cgpxlogger and gpxlogger documentation onto the xgps(1) manual page and rename it gps(1). * Fri Feb 17 2006 Eric S. Raymond - 2.31-1 Now builds and runs under Cygwin. Correct the speed units in synthetic NMEA. Slightly better time handling under NMEA. Daemon now builds with all but NMEA disabled. Update the leap-second offset. cgpxlogger introduced. Upgrade gpxlogger to DBUS 0.60 conformance. Jason von Nieda's patch may fix the chronic TSIP driver problems. * Wed Sep 14 2005 Eric S. Raymond - 2.30-1 Prevent core dump on -d option. The .log extension is no longer required for test loads. cgps and xgps now have configurable latitude/longitude formats via the -l option. Introduced new 'g' command that allows clients to specify whether they want GPS or RTCM104 information. * Fri Aug 19 2005 Eric S. Raymond - 2.29-1 Added Sony CXD2951 support, untested. All error estimates are now nailed to 95% confidence interval. Added rtcmdecode and its documentation; also, gpsd can now monitor serial devices emitting RTCM104 and display differential-GPS data in a readable format. Added dangerous alpha version of gpsflash. Work around a nasty bug in SiRFStar III firmware version < 3.1.1. Added support for True North Technologies Revolution 2X Digital compass. Added the gpxlogger client for systems with DBUS support and the gpspipe and cgps clients for general use. * Wed Jul 6 2005 Eric S. Raymond - 2.28-1 The 2.27 source tarball somehow got truncated on upload. Due to procedural mechanics at Berlios, shipping a new release seems to be the least painful way to recover. This release is identical to 2.27 except the roadmap stuff has been added to TODO. * Wed Jul 06 2005 Eric S. Raymond - 2.27 Arrange for the daemon to remove its pid file on exit. Fix some buffering problems with the Python side of the hotplug interface. gpsfake can now run sessions under a monitor like Valgrind. Most of the gpsfake logic now lives in a module that can be used to write other test loads; its progress baton is now optional. Fixed some minor bugs found by valgrind audit, including (1) a slow memory leak, (2) a possible but unconfirmed file-descriptor leak, and (3) a subtle error in the channel-assignment logic that only showed up with multiple sessions active. In fact, the daemon code no longer uses dynamic-memory allocation at all. Also, the code no longer relies on FIONREAD working. The track error field in the O response is now computed. The project website has some new eye candy. Client connections now time out when the mode is neither raw nor watcher. Fixed a core-dump that could happen if C, B or I commands were issued at odd times. * Wed Jun 22 2005 Eric S. Raymond - 2.26 Time DOP and total DOP are now passed on from GPSes that report them. Ensure longitude has a leading zero when <100, for compatibility with gpsdrive. Synchronous and thread hooks are now separate in the client library. Packet-sniffing on a new device no longer holds up incoming data on already-connected ones. There is now a super-raw mode (R=2) that dumps a hex-encoding of every binary packet received to the client; sirfmon uses it to operate through the daemon if one is running. Support for Trimble TSIP GPSes merged. gpsfake now works with SiRF and Zodiac logs. Python library supports thread callbacks. New -p option of gpsfake supports regression testing of the daemon, and there is a test suite included with the distribution. PPS support is turned off, as there is some pthreads problem that sometimes kills the daemon on pthreads exit. Correct off-by-one error in GPZDA processing. The code has been audited and cleaned with splint (www.splint.org). * Sat May 21 2005 Eric S. Raymond - 2.25-1 Various signedness and scaling fixes and an OpenBSD port patch for the Zodiac driver. Command-line arguments to gpsd are now treated as a default device list; -f is still supported but deprecated. sirfmon now tries not changing the line speed first, so it syncs up much faster. Prevent a potential buffer overrun in the client library. PPS-thread support is now on by default. Lots of documentation improvements. D-BUS broadcast support by Amaury Jacquot. Added Alfredo Pironti's thread-callback and C++ support. gpsd no longer uses the system clock for anything, so it can be used to set that clock. * Tue May 17 2005 Eric S. Raymond - 2.24-1 Crazy-speed bug is finally fixed. Autobauding now starts with the current speed of the device, not the stored gpsd speed; this means hunting only takes place when device and GPS speed aren't matched. xgpsspeed unit-conversion bug introduced in 2.22 is fixed. Satellite display now really shows 12 channels, not just 11. Major improvements in ntp notifications. * Wed May 4 2005 Eric S. Raymond - 2.23-1 For better security, the daemon now drops root privileges after startup. gpsd-clients is now a separate RPM; this is helpful on lean systems that don't run X. The O command now reports speeds in meters per second rather than knots, client code has been adjusted so there is no user-visible change. We now compute the missing components of DOP when using SiRF chips. /dev/gps is no longer special; there is no default GPS device unless you specify one. The intermittent processor-hogging problem introduced by the control-channel change in 2.21 has been solved. * Mon Apr 25 2005 Eric S. Raymond - 2.22-1 SiRF-binary driver can now get leap-second corrections from subframe data. Device add/delete commands now send back OK or ERROR. Error-modeling corrections from the SiRF folks. Higher precision in position reports. * Tue Apr 12 2005 Eric S. Raymond - 2.21-1 Add tag and timestamp to Y response. Use computed geoid separation as SiRF packet 42 is flaky. Security fix: hotplug scripts now do device add/removes through a separate local control channel. True multi-device support is in place. When in watcher mode, device switches are announced. * Thu Mar 31 2005 Eric S. Raymond - 2.20-1 Rob Janssen's patches to fix timezone issues and improve cooperation with NTP. License changed to BSD so linking to libgps won't make people nervous. gpsprobe and gpsd.py are obsolete and have been removed, the autoprobe and profiling capabilities in the daemon more than replace them. gpsprof now ships self-contained GNUPLOT scripts to stdout, so they can be saved and redisplayed. Zodiac sort of works again, but occasionally spins madly during autobauding. * Sat Mar 26 2005 Eric S. Raymond - 2.19-1 Fix brown-paper-bag bug with NMEA parsing. Set SiRF GPSes to use SBAS. sirfmon now displays SBAS parameters, and is included in the installed programs. Add to FAQ a fix for spurious high speeds reported in XTrac mode. We now interpret GPZDA. We no longer fudge a missing ddmmyy in NMEA timestamps from the system clock, so replay will work better. * Wed Mar 23 2005 Eric S. Raymond - 2.18-1 First cut at cooperating with NTP. Major library restructuring; a fix is now a data structure of its own, and per-field timestamps are gone. Use new 'o' command for watcher mode. Compute some estimated error bounds. * Wed Mar 16 2005 Eric S. Raymond - 2.17 Fix packet-engine problem that made disconnect/reconnect unreliable (important!). Fix bonehead error in interpretation of PGRME. We don't use O_SYNC (it turned out not to be reliable) so remove it to make life easier under Mac OS X. Allow gpsfake to accept subsecond cycle times. Add a FAQ to the HTML documentation. gps_poll() now handles multi-line responses. Add N command for switching driver modes. * Fri Mar 11 2005 Eric S. Raymond - 2.16-1 New F command allows changing the GPS device after startup time. Hotplug scripts to go with it are now installed by the RPM. The Garmin probe is working. The -T and -s options are gone. We have achieved zero configuration! * Wed Mar 02 2005 Eric S. Raymond - 2.15-1 A new packet engine autobauds much more quickly, and now iterates over both 1 and 2 stopbits. Explicit support for FV18 (the -T f option) is gone; instead, gpsd syncs with any 7N2 device and always ships a suitable init string. New E command, supporting the Garmin position-error sentence or computing these numbers from DOP and an error model. New U command reports climb/sink from GPSes that report vertical velocity. There is a prototype driver for SiRF-binary GPses, invoked automatically when SiRF packets present themselves on the wire after device open. * Fri Feb 25 2005 Eric S. Raymond - 2.14-1 Pass zero magnetic variation in generated NMEA from binary GPSes correctly. Use O_SYNC rather than timeouts to guarantee that baud-rate change strings get to the GPS before changing the line parameters. Introduced I command. Spatial scattergram plotting moved from gpsprobe to gpsprof. * Mon Feb 21 2005 Eric S. Raymond - 2.13-1 Correct a bug in binary-protocol dumping (applies to Zodiac and Garmin only). Gary Miller's patch to deal gracefully with GPSes like the Magellan EC10X that send only GPRMC and never GPGGA or GPGSA, and thus never set mode or status fields. Fixed buggy handling of units options in xgps and xgpsspeed. Bumped library major version, since seen_sentences is now exposed and drivers have more capabilities. Stricter NMEA buffer validation. Withdrew the change that always passed up a timestamp; on SiRF receivers, the year part is garbage when the PVT fields are garbage. Can now recognize SiRF GPSes. Experimental baud-switching support for Zodiac. * Tue Feb 15 2005 Eric S. Raymond - 2.12-1 Fixed core-dump bug in processing of the GLL variant that does not include an FAA Mode Indicator. When using the NMEA driver, gpsd now hunts for a baud rate rather than requiring a fixed one to be set. A new 'B' command returns the RS232 parameters, and a new 'C' command returns the update cycle time. Added gpsfake test harness. Alpha driver for Garmin binary protocol added, requires Linux garmin_usb kernel driver. The daemon now always passes up a timestamp for every sentence that has one, even if the PVT fields aren't valid. * Thu Feb 10 2005 Eric S. Raymond - 2.11-1 Added gpsprof and the capability to generate GPS latency profiles. gpsprobe now hunts through plausible baud rates when looking for NMEA data from a GPS. The -b (baudrate) option fixes a speed, disabling the baud-matching logic. Also, gpsprobe can now recognize SiRF protocol, though not speak it. Fixed a math domain error in gps.EarthDistance due to numeric blowup on points very close together, and another in gps.MeterOffset() that was screwing up gpsprobe plots. * Tue Feb 1 2005 Eric S. Raymond - 2.10 Add -N option to explicitly foreground the daemon. Fixed a bug that was causing gpsd to keep reopening the GPS device after leaving raw or watcher mode. Fixed Gary Miller's core-dump bug. * Thu Jan 27 2005 Eric S. Raymond - 2.9-1 Python files restored to RPM. * Thu Jan 27 2005 Eric S. Raymond - 2.8-1 Embarrassing typo fix in gps.py. Avoid buffer overrun in xgps.c. Plug Debian security bug 292347, CVE number CAN-2004-1388. This version issued on an emergency basis without Python libraries, which have packaging problems due to the 2.3/2.4 transition. * Fri Jan 14 2005 Eric S. Raymond - 2.7-1 More compiler-warning cleanups. gps client name changed to xgps. Added --speedunits option to xgpsspeed, --speedunits and --altunits options to xgps. Improved GPGSV parsing so it copes gracefully if we start in the middle of a sequence. Merged Petter Reinholdtsen's fix for GPGSA lists with holes. In xgps, satellites used in the last fix are now dotted in the middle. New -P option to create pidfile. Audited for potential buffer overruns, found and fixed two. * Sat Jan 01 2005 Eric S. Raymond - 2.6-1 Petter Reinholdtsen's fix for gps.py buffering. Fix syntax errors in udev scriptlets. Clean up after GCC warning messages. Drop use of vsprintf, so we get a link-time error on systems that might produce buffer overruns (all modern Unixes support vsnsprintf which is safe). * Thu Dec 23 2004 Eric S. Raymond - 2.5.1 Use gmtime instead of localtime when guessing the day or year of a date; this avoids jitter in the day after 19:00 GMT. Added -v option to dump version and exit. Commented out a crash-causing debug line in gps.py. * Thu Dec 9 2004 Eric S. Raymond - 2.4-1 Minor bugs in gpsd.py fixed. M now returns 0 status if GPGSA not yet seen; this change also fixes a bug where gpsd claimed it was confused if GPGSA had not been seen and status was set. RPM will now install a udevd rule if the host system uses it. Don't set the online flag on activate. HP port changes and -Wall cleanup. James Cameron's fixes to clean up gps.c and use X timeouts rather than alarms. * Mon Oct 25 2004 Eric S. Raymond - 2.3-1 Documentation and comment fixes. Last two globals removed from low-level interface; library should now be fully re-entrant. Mac OS X port fixes. Q command fix from Robin L Darroch . * Mon Oct 18 2004 Eric S. Raymond - 2.2-1 Documentation improvements. BSD port fixes. Bug fix: speed timestamp wasn't initialized properly in libgps. Device is now an optional command-line argument of gpsprobe, in line with the clients. gpsd.py now should handle fvwm devices correctly. Values in gps data panel are now labeled with units. Attempted fix for 2.1 bug of DTR not being pulled low on exit. * Thu Sep 30 2004 Eric S. Raymond - 2.1-1 Various internal cleanups, including fossil removal in the configuration machinery. FV-18, Tripmate, Earthmate and are now enabled but can be disable with --disable-$NAME at configure time. When you call configure with --disable-shared, libgps is linked statically to the binaries (native libs are still linked shared). Fixed buggy handling of -p option in gps.c and xgpsspeed.c; it's now an optional command-line argument. * Thu Sep 16 2004 Eric S. Raymond - 2.0-1 Packaging fixes for 2.0 release. * Wed Sep 8 2004 Eric S. Raymond - 1.98-1 Only do one getdtablesize() call, otherwise we do several getrlimits() each poll cycle. TripMate is working. gpsprobe now deduces NMEA version. Zodiac Earthmate seems to work. * Wed Sep 08 2004 Eric S. Raymond - 1.97-1 Removed PRWIZCH support (it still passes through in raw mode). Build Motif-dependent programs conditionally. Added gpsprobe. Fixed a brown-paper-bag-bug in 1.96 RPM packaging. * Tue Aug 31 2004 Eric S. Raymond - 1.96-1 Implemented non-blocking writes to clients, so a stalled client cannot stall gpsd. Fixed a nasty array-overrun bug. Timestamps are now in ISO8601 format, with sub-second precision if the GPS delivers that. First cuts at Python interfaces included. libgps.a interface now bundles session fd into an allocated session block. Automake-based build machinery from Jens Oberender; RPM now installs shared libraries. FV18 driver added. Offline timer in GPS. * Wed Aug 25 2004 Eric S. Raymond - 1.95-1 Fixed broken 'make dist', missing display.c and Tachometer.c are in there now. * Tue Aug 24 2004 Eric S. Raymond - 1.94-1 Fix embarrassing bug -- watcher mode did not work for more than one client at a time. Y command now carries information about which satellites were used in the last fix. New timeout mechanism, no longer dependent on FIONREAD. * Mon Aug 23 2004 Eric S. Raymond - 1.93-1 Fourth prerelease. Daemon-side timeouts are gone, they complicated the interface without adding anything. Command responses now contain ? to tag invalid data. -D2 feature of 1.92 backed out. * Sun Aug 22 2004 Eric S. Raymond - 1.92-1 Third prerelease. Clients in watcher mode now get notified when the GPS goes online or offline. Major name changes -- old libgps is new libgpsd and vice-versa (so the high-level interface is more prominent). Specfile now includes code to install gpsd so it will be started at boot time. -D2 now causes command error messages to be echoed to the client. * Sat Aug 21 2004 Eric S. Raymond - 1.91-1 Second pre-2.0 release. Features a linkable C library that hides the details of communicating with the daemon. The daemon now recovers gracefully from having the GPS unplugged and plugged in at any time; one of the bits of status it can report is whether the GPS is online. The gps and xgpsspeed clients now query the daemon; their code for direct access to the serial port has been deliberately removed. * Sun Aug 15 2004 Eric S. Raymond - 1.90 Creation of specfile. * Sun Mar 21 2004 Remco Treffkorn - ? Without PRWIZCH sentence: sat. colors in gps according to ss, grey==lt20, yellow==lt40 else green. Added L Q and I to the protocol. Removed G and T. Changed the timeout mechanism. Try to not return Lat/Lon/Alt if validity is in doubt. * Thu Jan 29 2004 Remco Treffkorn - ? Make applications null-terminate their resource lists. * Sat Dec 20 2003 Remco Treffkorn - ? Removed from netlib. Not needed, and new gcc does not support it any more. * Wed Aug 20 2003 Remco Treffkorn - 1.10 Add install target. Fix clean target. Make GPS timeout configurable. Make xgpsspeed build with Apple's X11. Make sure that we don't segfault if the NMEA is badly formed. * Mon Aug 18 2003 Remco Treffkorn - ? Use cfset[io]speed() to set speed in serial.h. Glibc is quite insane and I am tired to chase it, so I give up. Hope this works for BSD. Set status and mode 0 after GPS timeout (5 sec) - Cougar * Sun Feb 16 2003 Remco Treffkorn - 1.09 Include sys/time.h in gpsd.c for struct timeval. * Sun Nov 03 2002 Remco Treffkorn - ? G or g command returns six-digit Maidenhead grid square (like FN12fx) * Thu Oct 03 2002 Remco Treffkorn - 1.08 Added sockopt SO_REUSEADDR to netlib.c passive_sock. * Tue Feb 05 2002 Remco Treffkorn - 1.07 em.c uses (as it should). Removed some where they were not needed. Russ Nelson: Improved Earthmate support: added state machine for EARTHA recognizer, removed alignment problems seen on ARM architecture. Added setsockopt to add SO_REUSEADDR, so that gpsd can stop and immediately restart. Added support for bitrates higher than 38400, needed for the SIRF chipset. Derrick: my patch causes longitude when under 100 degrees to be printed zero-padded as needed, the latitude same deal under 10, fixes the GGA sentence to not erroneously print fix type (2/3) instead of fix quality, and calculates fix type correctly. * Fri Aug 11 2000 Remco Treffkorn - 1.06 Change from C++ (/) to C comments (/* */)for compatibility. Added -n (need init) flag. Don't init unless lat/lon specified. Remove gps.mayko.com as the default hostname. * Fri May 12 2000 Remco Treffkorn - 1.05 (even though version.h says 1.04) Added some includes to xgpsspeed.c for portability. Fix problem with flags being overwritten, and using the wrong port variable also in xgpsspeed.c Add a note about Y2K compatibility fix. Pass latitude and longitude into em_init(). * Fri Mar 17 2000 Remco Treffkorn - 1.02 (even though version.h says 1.01) * Sun Mar 05 2000 Remco Treffkorn - 1.01 Updated to IANA port. Fixes to DGPS support. * Sun Jan 02 2000 Remco Treffkorn - 1.0 Added DGPS fixes from Curt Mills. (See README for contact info.) * Mon Dec 13 1999 Remco Treffkorn - 0.99dgps Added minimal DGPS support by Derrick J Brashear * Sat Jul 17 1999 Remco Treffkorn - 0.99 Rockwell binary is now translated to NMEA format, so that clients like gps will work with an EarthMate. Added speedometer application. Thanks to Derrick J Brashear for his work (see README for contact info). * Thu Mar 04 1999 Remco Treffkorn - 0.96 Changed EarthMate support. Rockwell binary is now almost properly supported. Only the minimum required information is extracted. * Sat Feb 06 1999 Remco Treffkorn - 0.95 Added support for EarthMate receivers. Since I do not have one, this is untested. If it works, it does the following: You start gpsd with a baudrate of 9600 and give it the -Te option. If gpsd gets the EartMate it will enable the receiver and then attempt to switch it into NMEA mode. If the EarthMate id is not received, but a binary data header is received, then we will try to switch NMEA too. * Sun Jan 24 1999 Remco Treffkorn - 0.94 Y2K compliant ;-) (... is NOT. Look for "FIXME:" in nmea_parse.c) * Tue Jan 27 1998 Remco Treffkorn - 0.93 using GNU autoconf now. combined gpsd + gpsclient. No more init files, command line only. * Tue May 13 1997 Remco Treffkorn - 0.9 some cleanups in the ini code. version 0.9 ... * Fri Apr 25 1997 Remco Treffkorn - 0.8 version 0.8, some bug fixes. New MODE member, STATUS member changed. * Mon Apr 21 1997 Remco Treffkorn - 0.7 released version 0.7 gpsd-3.9/Qgpsmm.pc.in0000664000175000017500000000075611762140434012677 0ustar esresrprefix=@prefix@ exec_prefix=${prefix} libdir=${exec_prefix}@libdir@ includedir=${prefix}/include qt_config=lex yacc warn_on uic resources qt release incremental link_prl def_files_disabled exceptions no_mocdepend stl qt_no_framework create_pc create_prl moc thread dll Name: Qgpsmm Description: GPS Daemon communication library - QT binding Version: @VERSION@ Libs: -L${libdir} -lQgpsmm Libs.private: -L/usr/lib -lQtNetwork -lQtCore -lpthread Cflags: -I${includedir} Requires: QtNetwork gpsd-3.9/README0000664000175000017500000001210311762140434011347 0ustar esresrGENERAL ======= gpsd is a userland daemon acting as a translator between GPS and AIS receivers and their clients. gpsd listens on port 2947 for clients requesting position/time/velocity information. The receivers are expected to generate position information in a well-known format -- as NMEA-0183 sentences, SiRF binary, Rockwell binary, Garmin binary format, or other vendor binary protocols. gpsd takes this information from the GPS and translates it into something uniform and easier to understand for clients. The distribution includes sample clients, application interface libraries, and test/profiling tools. There is a website for GPSD where you can find updates, news, and project mailing lists; look for that URL in the scons recipe, the file SConstruct in this top-level directory. See that website for a list of GPS units known to be compatible. See the file INSTALL for installation instructions and some tips on how to troubleshoot your installation. The file build.txt has instructions for building from source. The packaging/ directory contains resources and suggestions for packagers and distribution integrators. LICENSE ======= This software (gpsd) is released under the terms and conditions of the BSD License, a copy of which is included in the file COPYING. 1.X CREDITS =========== Remco Treffkorn designed and originated the code. Russ Nelson maintained gpsd for a couple of years. Carsten Tschach's gpstrans-0.31b code was the original model for nmea_parse.c. Bob Lorenzini provided testing and feedback. Brook Milligan combined gpsd and gpsclient into one package and autoconfiscated it. Derrick J. Brashear (KB3EGH) added code for the EarthMate DeLorme. He also added "incredibly gross code to output NMEA sentences" (his own words :-) He also did the first cut at DGPS support (see http://www.wsrcc.com/wolfgang/gps/dgps-ip.html), for the Earthmate. Curt Mills (WE7U) furthered the dgps support, writing the portion for other GPS receivers. None of these people have been active in 2.X and later versions; gpsd has evolved out of recognition from the 1.X codebase. 2.X CREDITS =========== Eric S. Raymond drastically rewrote this code in late 2004/early 2005 to clean it up and extend it. The 2.X architecture has become significantly different and far more modularized. His new features included: * Documentation (what a concept!) * Cleaned up, simplified command-line options. * Now understands the GLL (Geographic position - Latitude, Longitude) sentence from NMEA 3.0. * Now parses both the NMEA 3.01 and pre-3.01 variants of the VTG sentence correctly. * New commands including 'y', 'w', and 'x', since obsolesced by a JSON-based protocol. * Massive refactoring -- one main loop now calls a self-contained driver object for each type. * The GPS-bashing code the daemon uses can now be directly linked as a library, libgpsd(3). * C and Python libraries are available to encapsulate the client side of querying gpsd, see libgps(3). * Cleaned-up error reporting, we don't use syslog when running in foreground but send all error and status messages to the tty instead. * Added -n option to do batch monitoring of GPSes. * xgpsspeed is working again; xgps has been seriously reworked and improved. * RPMs which include installation of gpsd to start up at boot time are available. * New gpsprobe program probes the capabilities of GPSes and generates error scattergrams from fixes. (Later this moved to gpsprof.) * Autobauding, self-configuration, and hotplugging. gpsd can now get its device from a hotplug script, and figures out itself which baud rate to use and what the GPS's device type is. * Support for SiRF binary mode. * Support for RTCM104 and AIVDM. * Support for multiple devices. * Other test tools -- gpsfake, gpscat, gpsmon. Chris Kuethe maintains the OpenBSD port, shipped the 2.34 release, is our SiRF and low-level protocols expert, and does a lot of general hacking and support. He has release authority. Gary Miller wrote the driver for Garmin binary protocol and most of the support for PPS handling on serial devices. He has release authority. Amaury Jacquot added DBUS support. Ville Nuorvala wrote the NTRIP support. We are delighted to acknowlege the assistance of Carl Carter, a field application engineer at SiRF. He assisted us with the correction and tuning of the SiRF binary-protocol driver, shedding a good deal of light on murky aspects of the chip's behavior. We are also delighted to acknowlege the assistance of Timo Ylhainen, VP of Software Operations at Fastrax. He clarified a number of points about the iTalk protocol, helping to further development of iTalk support. 3.X CREDITS =========== The main feature of the 3.x versions is a stabilized and finalized version of the JSON command/response protocol. This was designed and mainly implemented by ESR. Gary Miller wrote the subframe support. gpsd-3.9/SConstruct0000600000175000017500000020545012140125665012520 0ustar esresr### SCons build recipe for the GPSD project # Important targets: # # build - build the software (default) # dist - make distribution tarball # install - install programs, libraries, and manual pages # uninstall - undo an install # # check - run regression and unit tests. # audit - run code-auditing tools # testbuild - test-build the code from a tarball # release - ship a release # # Setting the DESTDIR environment variable will prefix the install destinations # without changing the --prefix prefix. # Unfinished items: # * Out-of-directory builds: see http://www.scons.org/wiki/UsingBuildDir # Release identification begins here gpsd_version = "3.9" # library version libgps_version_current = 20 libgps_version_revision = 0 libgps_version_age = 0 libgpsd_version_current = 21 libgpsd_version_revision = 0 libgpsd_version_age = 0 # Release identification ends here # Hosting information (mainly used for templating web pages) begins here # Each variable foo has a corresponding @FOO@ expanded in .in files. # There are no project-dependent URLs or references to the hosting site # anywhere else in the distribution; preserve this property! sitename = "Savannah" sitesearch = "catb.org" website = "http://catb.org/gpsd" mainpage = "https://savannah.nongnu.org/projects/gpsd/" webupload = "login.ibiblio.org:/public/html/catb/gpsd" cgiupload = "thyrsus.com:/home/www/thyrsus.com/cgi-bin/" scpupload = "dl.sv.nongnu.org:/releases/gpsd/" mailman = "http://lists.nongnu.org/mailman/listinfo/" admin = "https://savannah.nongnu.org/project/admin/?group=gpsd" download = "http://download-mirror.savannah.gnu.org/releases/gpsd/" bugtracker = "https://savannah.nongnu.org/bugs/?group=gpsd" browserepo = "http://git.savannah.gnu.org/cgit/gpsd.git" clonerepo = "https://savannah.nongnu.org/git/?group=gpsd" gitrepo = "git://git.savannah.nongnu.org/gpsd.git" webform = "http://www.thyrsus.com/cgi-bin/gps_report.cgi" formserver = "www@thyrsus.com" devmail = "gpsd-dev@lists.nongnu.org" # Hosting information ends here EnsureSConsVersion(2,0,1) import copy, os, sys, glob, re, platform, time from distutils import sysconfig from distutils.util import get_platform import SCons # replacement for functions from the commands module, which is deprecated. from subprocess import PIPE, STDOUT, Popen def _getstatusoutput(cmd, input=None, cwd=None, env=None): pipe = Popen(cmd, shell=True, cwd=cwd, env=env, stdout=PIPE, stderr=STDOUT) (output, errout) = pipe.communicate(input=input) status = pipe.returncode return (status, output) def _getoutput(cmd, input=None, cwd=None, env=None): return _getstatusoutput(cmd, input, cwd, env)[1] # # Build-control options # # Start by reading configuration variables from the cache opts = Variables('.scons-option-cache') systemd = os.path.exists("/usr/share/systemd/system") # Set distribution-specific defaults here imloads = True # Does our platform has a working memory-barrier instruction? # The shared-memory export won't be reliable without it. mfence = (platform.machine() in ('x86_64',)) boolopts = ( # GPS protocols ("nmea", True, "NMEA support"), ("ashtech", True, "Ashtech support"), ("earthmate", True, "DeLorme EarthMate Zodiac support"), ("evermore", True, "EverMore binary support"), ("fv18", True, "San Jose Navigation FV-18 support"), ("garmin", True, "Garmin kernel driver support"), ("garmintxt", True, "Garmin Simple Text support"), ("geostar", True, "Geostar Protocol support"), ("itrax", True, "iTrax hardware support"), ("mtk3301", True, "MTK-3301 support"), ("navcom", True, "Navcom support"), ("oncore", True, "Motorola OnCore chipset support"), ("sirf", True, "SiRF chipset support"), ("superstar2", True, "Novatel SuperStarII chipset support"), ("tnt", True, "True North Technologies support"), ("tripmate", True, "DeLorme TripMate support"), ("tsip", True, "Trimble TSIP support"), ("ubx", True, "UBX Protocol support"), ("fury", True, "Jackson Labs Fury and Firefly support"), ("nmea2000", True, "NMEA2000/CAN support"), # Non-GPS protocols ("aivdm", True, "AIVDM support"), ("gpsclock", True, "GPSClock support"), ("ntrip", True, "NTRIP support"), ("oceanserver", True, "OceanServer support"), ("rtcm104v2", True, "rtcm104v2 support"), ("rtcm104v3", True, "rtcm104v3 support"), # Time service ("ntpshm", True, "NTP time hinting support"), ("pps", True, "PPS time syncing support"), # Export methods ("socket_export", True, "data export over sockets"), ("dbus_export", False, "enable DBUS export support"), ("shm_export", mfence,"export via shared memory"), # Communication ('usb', True, "libusb support for USB devices"), ("bluez", True, "BlueZ support for Bluetooth devices"), ("ipv6", True, "build IPv6 support"), ("netfeed", True, "build support for handling TCP/IP data sources"), ("passthrough", True, "build support for passing through JSON"), # Other daemon options ("force_global", False, "force daemon to listen on all addressses"), ("timing", False, "latency timing support"), ("control_socket",True, "control socket for hotplug notifications"), ("systemd", systemd, "systemd socket activation"), # Client-side options ("clientdebug", True, "client debugging support"), ("oldstyle", True, "oldstyle (pre-JSON) protocol support"), ("libgpsmm", True, "build C++ bindings"), ("libQgpsmm", True, "build QT bindings"), ("reconfigure", True, "allow gpsd to change device settings"), ("controlsend", True, "allow gpsctl/gpsmon to change device settings"), ("cheapfloats", True, "float ops are cheap, compute error estimates"), ("squelch", False, "squelch gpsd_report/gpsd_hexdump to save cpu"), ("ncurses", True, "build with ncurses"), # Build control ("shared", True, "build shared libraries, not static"), ("implicit_link", imloads,"implicit linkage is supported in shared libs"), ("python", True, "build Python support and modules."), ("debug", False, "include debug information in build"), ("profiling", False, "build with profiling enabled"), ("coveraging", False, "build with code coveraging enabled"), ("strip", True, "build with stripping of binaries enabled"), ("chrpath", True, "use chrpath to edit library load paths"), ) for (name, default, help) in boolopts: opts.Add(BoolVariable(name, help, default)) nonboolopts = ( ("gpsd_user", "nobody", "privilege revocation user",), ("gpsd_group", "dialout", "privilege revocation group"), ("prefix", "/usr/local", "installation directory prefix"), ("limited_max_clients", 0, "maximum allowed clients"), ("limited_max_devices", 0, "maximum allowed devices"), ("fixed_port_speed", 0, "fixed serial port speed"), ("fixed_stop_bits", 0, "fixed serial port stop bits"), ("target", "", "cross-development target"), ("sysroot", "", "cross-development system root"), ) for (name, default, help) in nonboolopts: opts.Add(name, help, default) pathopts = ( ("sysconfdir", "etc", "system configuration directory"), ("bindir", "bin", "application binaries directory"), ("includedir", "include", "header file directory"), ("libdir", "lib", "system libraries"), ("sbindir", "sbin", "system binaries directory"), ("mandir", "share/man", "manual pages directory"), ("docdir", "share/doc", "documents directory"), ("udevdir", "/lib/udev", "udev rules directory"), ("pkgconfig", "$libdir/pkgconfig", "pkgconfig file directory"), ) for (name, default, help) in pathopts: opts.Add(PathVariable(name, help, default, PathVariable.PathAccept)) # # Environment creation # import_env = ( "DISPLAY", # Required for dia to run under scons "GROUPS", # Required by gpg "HOME", # Required by gpg "LOGNAME", # LOGNAME is required for the flocktest production. 'PATH', # Required for ccache and Coverity scan-build 'PKG_CONFIG_PATH', # Set .pc file directory in a crossbuild 'STAGING_DIR', # Required by the OpenWRT and CeroWrt builds. 'STAGING_PREFIX', # Required by the OpenWRT and CeroWrt builds. ) envs = {} for var in import_env: if var in os.environ: envs[var] = os.environ[var] envs["GPSD_HOME"] = os.getcwd() env = Environment(tools=["default", "tar", "textfile"], options=opts, ENV=envs) opts.Save('.scons-option-cache', env) env.SConsignFile(".sconsign.dblite") for (name, default, help) in pathopts: env[name] = env.subst(env[name]) env['VERSION'] = gpsd_version env['PYTHON'] = sys.executable # Set defaults from environment. Note that scons doesn't cope well # with multi-word CPPFLAGS/LDFLAGS/SHLINKFLAGS values; you'll have to # explicitly quote them or (better yet) use the "=" form of GNU option # settings. env['STRIP'] = "strip" env['PKG_CONFIG'] = "pkg-config" env['CHRPATH'] = 'chrpath' for i in ["AR", "ARFLAGS", "CCFLAGS", "CFLAGS", "CC", "CXX", "CXXFLAGS", "STRIP", "PKG_CONFIG", "CHRPATH", "LD", "TAR"]: if os.environ.has_key(i): j = i if i == "LD": i = "SHLINK" if i in ("CFLAGS", "CCFLAGS", "LINKFLAGS"): env.Replace(**{j: Split(os.getenv(i))}) else: env.Replace(**{j: os.getenv(i)}) for flag in ["LDFLAGS", "LINKFLAGS", "SHLINKFLAGS", "CPPFLAGS"]: if os.environ.has_key(flag): env.MergeFlags({flag : [os.getenv(flag)]}) # Keep scan-build options in the environment for key, value in os.environ.iteritems(): if key.startswith('CCC_'): env.Append(ENV={key:value}) # FIXME: Set up compilation for gcov - doesn't work yet. if env['coveraging']: env['CFLAGS'].append(['-fprofile-arcs', '-ftest-coverage']) # Placeholder so we can kluge together something like VPATH builds. # $SRCDIR replaces occurrences for $(srcdir) in the autotools build. env['SRCDIR'] = '.' def announce(msg): if not env.GetOption("silent"): print msg # We need to define -D_GNU_SOURCE env.Append(CFLAGS='-D_GNU_SOURCE') # DESTDIR environment variable means user wants to prefix the installation root. DESTDIR = os.environ.get('DESTDIR', '') def installdir(dir, add_destdir=True): # use os.path.join to handle absolute paths properly. wrapped = os.path.join(env['prefix'], env[dir]) if add_destdir: wrapped = os.path.normpath(DESTDIR + os.path.sep + wrapped) wrapped.replace("/usr/etc", "/etc") return wrapped # Honor the specified installation prefix in link paths. if not env["sysroot"]: env.Prepend(LIBPATH=[installdir('libdir')]) else: env.Prepend(LIBPATH=[env["sysroot"] + installdir('libdir')]) if env["shared"]: env.Prepend(RPATH=[installdir('libdir')]) # Give deheader a way to set compiler flags if 'MORECFLAGS' in os.environ: env.Append(CFLAGS=Split(os.environ['MORECFLAGS'])) # Don't change CCFLAGS if already set by environment. if not 'CCFLAGS' in os.environ: # Should we build with profiling? if env['profiling']: env.Append(CCFLAGS=['-pg']) env.Append(LDFLAGS=['-pg']) # Should we build with debug symbols? if env['debug']: env.Append(CCFLAGS=['-g']) env.Append(CCFLAGS=['-O0']) else: env.Append(CCFLAGS=['-O2']) # Get a slight speedup by not doing automatic RCS and SCCS fetches. env.SourceCode('.', None) ## Cross-development devenv = (("ADDR2LINE", "addr2line"), ("AR","ar"), ("AS","as"), ("CHRPATH", "chrpath"), ("CXX","c++"), ("CXXFILT","c++filt"), ("CPP","cpp"), ("GXX","g++"), ("CC","gcc"), ("GCCBUG","gccbug"), ("GCOV","gcov"), ("GPROF","gprof"), ("LD", "ld"), ("NM", "nm"), ("OBJCOPY","objcopy"), ("OBJDUMP","objdump"), ("RANLIB", "ranlib"), ("READELF","readelf"), ("SIZE", "size"), ("STRINGS", "strings"), ("STRIP", "strip")) if env['target']: for (name, toolname) in devenv: env[name] = env['target'] + '-' + toolname if env['sysroot']: env.MergeFlags({"CFLAGS": ["--sysroot=%s" % env['sysroot']]}) env.MergeFlags({"LINKFLAGS": ["--sysroot=%s" % env['sysroot']]}) ## Build help Help("""Arguments may be a mixture of switches and targets in any order. Switches apply to the entire build regardless of where they are in the order. Important switches include: prefix=/usr probably what you want for production tools Options are cached in a file named .scons-option-cache and persist to later invocations. The file is editable. Delete it to start fresh. Current option values can be listed with 'scons -h'. """ + opts.GenerateHelpText(env, sort=cmp)) if "help" in ARGLIST: Return() ## Configuration def CheckPKG(context, name): context.Message( 'Checking for %s... ' % name ) ret = context.TryAction('%s --exists \'%s\'' % (env['PKG_CONFIG'], name))[0] context.Result( ret ) return ret def CheckExecutable(context, testprogram, check_for): context.Message( 'Checking for %s... ' %(check_for,)) ret = context.TryAction(testprogram)[0] context.Result( ret ) return ret # Stylesheet URLs for making HTML and man pages from DocBook XML. docbook_url_stem = 'http://docbook.sourceforge.net/release/xsl/current/' docbook_man_uri = docbook_url_stem + 'manpages/docbook.xsl' docbook_html_uri = docbook_url_stem + 'html/docbook.xsl' def CheckXsltproc(context): context.Message('Checking that xsltproc can make man pages... ') ofp = open("xmltest.xml", "w") ofp.write(''' foo 1 9 Aug 2004 foo check man page generation from docbook source ''') ofp.close() probe = "xsltproc --nonet --noout '%s' xmltest.xml" % (docbook_man_uri,) ret = context.TryAction(probe)[0] os.remove("xmltest.xml") if os.path.exists("foo.1"): os.remove("foo.1") context.Result( ret ) return ret def CheckCompilerOption(context, option): context.Message( 'Checking if compiler accepts %s ...' %(option,) ) old_CFLAGS=context.env['CFLAGS'] context.env.Append(CFLAGS=option) ret = context.TryLink(""" int main(int argc, char **argv) { return 0; } """,'.c') if not ret: context.env.Replace(CFLAGS=old_CFLAGS) context.Result(ret) return ret config = Configure(env, custom_tests = { 'CheckPKG' : CheckPKG, 'CheckExecutable' : CheckExecutable, 'CheckXsltproc' : CheckXsltproc, 'CheckCompilerOption' : CheckCompilerOption}) # If supported by the compiler, enable all warnings except uninitialized and # missing-field-initializers, which we can't help triggering because # of the way some of the JSON-parsing code is generated. # Also not including -Wcast-qual and -Wimplicit-function-declaration, # because we can't seem to keep scons from passing it to g++. for option in ('-Wextra','-Wall', '-Wno-uninitialized','-Wno-missing-field-initializers', '-Wcast-align','-Wmissing-declarations', '-Wmissing-prototypes', '-Wstrict-prototypes', '-Wpointer-arith', '-Wreturn-type'): config.CheckCompilerOption(option) env.Prepend(LIBPATH=[os.path.realpath(os.curdir)]) if env["shared"]: if env["chrpath"] and config.CheckExecutable('$CHRPATH -v', 'chrpath'): # Tell generated binaries to look in the current directory for # shared libraries so we can run regression tests without # hassle. Should be handled sanely by scons on all systems. Not # good to use '.' or a relative path here; it's a security risk. # At install time we use chrpath to edit this out of RPATH. env.Prepend(RPATH=[os.path.realpath(os.curdir)]) else: print "chrpath is not available or use of it has been disabled." confdefs = ["/* gpsd_config.h. Generated by scons, do not hand-hack. */\n"] confdefs.append('#define VERSION "%s"\n' % gpsd_version) confdefs.append('#define GPSD_URL "%s"\n' % website) cxx = config.CheckCXX() # define a helper function for pkg-config - we need to pass # --static for static linking, too. if env["shared"]: pkg_config = lambda pkg: ['!%s --cflags --libs %s' %(env['PKG_CONFIG'], pkg, )] else: pkg_config = lambda pkg: ['!%s --cflags --libs --static %s' %(env['PKG_CONFIG'], pkg, )] # The actual distinction here is whether the platform has ncurses in the # base system or not. If it does, pkg-config is not likely to tell us # anything useful. FreeBSD does, Linux doesn't. Most likely other BSDs # are like FreeBSD. ncurseslibs= [] if env['ncurses']: if config.CheckPKG('ncurses'): ncurseslibs = pkg_config('ncurses') elif config.CheckExecutable('ncurses5-config --version', 'ncurses5-config'): ncurseslibs = ['!ncurses5-config --libs --cflags'] elif config.CheckExecutable('ncursesw5-config --version', 'ncursesw5-config'): ncurseslibs = ['!ncursesw5-config --libs --cflags'] elif sys.platform.startswith('freebsd'): ncurseslibs= [ '-lncurses' ] elif sys.platform.startswith('openbsd'): ncurseslibs= [ '-lcurses' ] if env['usb']: # In FreeBSD except version 7, USB libraries are in the base system if config.CheckPKG('libusb-1.0'): confdefs.append("#define HAVE_LIBUSB 1\n") try: usblibs = pkg_config('libusb-1.0') except OSError: announce("pkg_config is confused about the state of libusb-1.0.") usblibs = [] elif sys.platform.startswith("freebsd"): confdefs.append("#define HAVE_LIBUSB 1\n") usblibs = [ "-lusb"] else: confdefs.append("/* #undef HAVE_LIBUSB */\n") usblibs = [] else: confdefs.append("/* #undef HAVE_LIBUSB */\n") usblibs = [] env["usb"] = False if config.CheckLib('librt'): confdefs.append("#define HAVE_LIBRT 1\n") # System library - no special flags rtlibs = ["-lrt"] else: confdefs.append("/* #undef HAVE_LIBRT */\n") rtlibs = [] if config.CheckLib('libcap'): confdefs.append("#define HAVE_LIBCAP 1\n") # System library - no special flags caplibs = ["-lcap"] else: confdefs.append("/* #undef HAVE_LIBCAP */\n") caplibs = [] if env['dbus_export'] and config.CheckPKG('dbus-1'): confdefs.append("#define HAVE_DBUS 1\n") dbus_libs = pkg_config('dbus-1') else: confdefs.append("/* #undef HAVE_DBUS */\n") dbus_libs = [] env["dbus_export"] = False if env['bluez'] and config.CheckPKG('bluez'): confdefs.append("#define HAVE_BLUEZ 1\n") bluezlibs = pkg_config('bluez') else: confdefs.append("/* #undef HAVE_BLUEZ */\n") bluezlibs = [] env["bluez"] = False # ntpshm is required for pps support if env['pps'] and env['ntpshm'] and config.CheckHeader("sys/timepps.h"): confdefs.append("#define HAVE_SYS_TIMEPPS_H 1\n") announce("You have kernel PPS available.") else: confdefs.append("/* #undef HAVE_SYS_TIMEPPS_H */\n") announce("You do not have kernel PPS available.") # Don't turn off PPS here, we might be using the non-kernel version if config.CheckHeader(["bits/sockaddr.h", "linux/can.h"]): confdefs.append("#define HAVE_LINUX_CAN_H 1\n") announce("You have kernel CANbus available.") else: confdefs.append("/* #undef HAVE_LINUX_CAN_H */\n") announce("You do not have kernel CANbus available.") env["nmea2000"] = False # check function after libraries, because some function require library # for example clock_gettime() require librt on Linux for f in ("daemon", "strlcpy", "strlcat", "clock_gettime"): if config.CheckFunc(f): confdefs.append("#define HAVE_%s 1\n" % f.upper()) else: confdefs.append("/* #undef HAVE_%s */\n" % f.upper()) # Map options to libraries required to support them that might be absent. optionrequires = { "bluez": ["libbluetooth"], "dbus_export" : ["libdbus-1"], } keys = map(lambda x: (x[0],x[2]), boolopts) + map(lambda x: (x[0],x[2]), nonboolopts) + map(lambda x: (x[0],x[2]), pathopts) keys.sort() for (key,help) in keys: value = env[key] if value and key in optionrequires: for required in optionrequires[key]: if not config.CheckLib(required): announce("%s not found, %s cannot be enabled." % (required,key)) value = False break confdefs.append("/* %s */" % help) if type(value) == type(True): if value: confdefs.append("#define %s_ENABLE 1\n" % key.upper()) else: confdefs.append("/* #undef %s_ENABLE */\n" % key.upper()) elif value in (0, "", "(undefined)"): confdefs.append("/* #undef %s */\n" % key.upper()) else: if value.isdigit(): confdefs.append("#define %s %s\n" % (key.upper(), value)) else: confdefs.append("#define %s \"%s\"\n" % (key.upper(), value)) if config.CheckFunc("pselect"): confdefs.append("/* #undef COMPAT_SELECT */\n") else: confdefs.append("#define COMPAT_SELECT\n") confdefs.append(''' /* will not handle pre-Intel Apples that can run big-endian __BIG_ENDIAN__ and __LITTLE_ENDIAN__ are define in some gcc versions only, probably depending on the architecture. Try to use endian.h if the gcc way fails - endian.h also doesn not seem to be available on all platforms. */ #ifdef __BIG_ENDIAN__ #define WORDS_BIGENDIAN 1 #else /* __BIG_ENDIAN__ */ #ifdef __LITTLE_ENDIAN__ #undef WORDS_BIGENDIAN #else #include #if __BYTE_ORDER == __BIG_ENDIAN #define WORDS_BIGENDIAN 1 #elif __BYTE_ORDER == __LITTLE_ENDIAN #undef WORDS_BIGENDIAN #else #error "unable to determine endianess!" #endif /* __BYTE_ORDER */ #endif /* __LITTLE_ENDIAN__ */ #endif /* __BIG_ENDIAN__ */ /* Some libcs do not have strlcat/strlcpy. Local copies are provided */ #ifndef HAVE_STRLCAT # ifdef __cplusplus extern "C" { # endif size_t strlcat(/*@out@*/char *dst, /*@in@*/const char *src, size_t size); # ifdef __cplusplus } # endif #endif #ifndef HAVE_STRLCPY # ifdef __cplusplus extern "C" { # endif size_t strlcpy(/*@out@*/char *dst, /*@in@*/const char *src, size_t size); # ifdef __cplusplus } # endif #endif #define GPSD_CONFIG_H ''') manbuilder = mangenerator = htmlbuilder = None if config.CheckXsltproc(): mangenerator = 'xsltproc' build = "xsltproc --nonet %s $SOURCE >$TARGET" htmlbuilder = build % docbook_html_uri manbuilder = build % docbook_man_uri elif WhereIs("xmlto"): mangenerator = 'xmlto' xmlto = "xmlto %s $SOURCE || mv `basename $TARGET` `dirname $TARGET`" htmlbuilder = xmlto % "html-nochunks" manbuilder = xmlto % "man" else: announce("Neither xsltproc nor xmlto found, documentation cannot be built.") if manbuilder: env['BUILDERS']["Man"] = Builder(action=manbuilder) env['BUILDERS']["HTML"] = Builder(action=htmlbuilder, src_suffix=".xml", suffix=".html") qt_network = env['libQgpsmm'] and config.CheckPKG('QtNetwork') env = config.Finish() # Be explicit about what we're doing. changelatch = False for (name, default, help) in boolopts + nonboolopts + pathopts: if env[name] != env.subst(default): if not changelatch: announce("Altered configuration variables:") changelatch = True announce("%s = %s (default %s): %s" % (name, env[name], env.subst(default), help)) if not changelatch: announce("All configuration flags are defaulted.") # Gentoo systems can have a problem with the Python path if os.path.exists("/etc/gentoo-release"): announce("This is a Gentoo system.") announce("Adjust your PYTHONPATH to see library directories under /usr/local/lib") # Should we build the Qt binding? if cxx and qt_network: qt_env = env.Clone() qt_env.MergeFlags('-DUSE_QT') if qt_network: try: qt_env.MergeFlags(pkg_config('QtNetwork')) except OSError: announce("pkg_config is confused about the state of QtNetwork.") qt_env = None else: qt_env = None ## Two shared libraries provide most of the code for the C programs libgps_version_soname = libgps_version_current - libgps_version_age libgps_version = "%d.%d.%d" %(libgps_version_soname, libgps_version_age, libgps_version_revision) libgpsd_version_soname = libgpsd_version_current - libgpsd_version_age libgpsd_version = "%d.%d.%d" %(libgpsd_version_soname, libgpsd_version_age, libgpsd_version_revision) libgps_sources = [ "ais_json.c", "bits.c", "daemon.c", "gpsutils.c", "gpsdclient.c", "gps_maskdump.c", "hex.c", "json.c", "libgps_core.c", "libgps_dbus.c", "libgps_json.c", "libgps_shm.c", "libgps_sock.c", "netlib.c", "rtcm2_json.c", "shared_json.c", "strl.c", ] if cxx and env['libgpsmm']: libgps_sources.append("libgpsmm.cpp") libgpsd_sources = [ "bsd_base64.c", "crc24q.c", "gpsd_json.c", "geoid.c", "isgps.c", "libgpsd_core.c", "net_dgpsip.c", "net_gnss_dispatch.c", "net_ntrip.c", "packet.c", "pseudonmea.c", "serial.c", "subframe.c", "timebase.c", "drivers.c", "driver_ais.c", "driver_evermore.c", "driver_garmin.c", "driver_garmin_txt.c", "driver_geostar.c", "driver_italk.c", "driver_navcom.c", "driver_nmea0183.c", "driver_nmea2000.c", "driver_oncore.c", "driver_rtcm2.c", "driver_rtcm3.c", "driver_sirf.c", "driver_superstar2.c", "driver_tsip.c", "driver_ubx.c", "driver_zodiac.c", ] # Cope with scons's failure to set SONAME in its builtins. # Inspired by Richard Levitte's (slightly buggy) code at # http://markmail.org/message/spttz3o4xrsftofr def VersionedSharedLibrary(env, libname, version, lib_objs=[], parse_flags=[]): platform = env.subst('$PLATFORM') shlib_pre_action = None shlib_suffix = env.subst('$SHLIBSUFFIX') shlib_post_action = None shlink_flags = SCons.Util.CLVar(env.subst('$SHLINKFLAGS')) if platform == 'posix': ilib_suffix = shlib_suffix + '.' + version (major, age, revision) = version.split(".") soname = "lib" + libname + shlib_suffix + "." + major shlink_flags += [ '-Wl,-Bsymbolic', '-Wl,-soname=%s' % soname ] elif platform == 'cygwin': ilib_suffix = shlib_suffix shlink_flags += [ '-Wl,-Bsymbolic', '-Wl,--out-implib,${TARGET.base}.a' ] elif platform == 'darwin': ilib_suffix = '.' + version + shlib_suffix shlink_flags += [ '-current_version', '%s' % version, '-compatibility_version', '%s' % version, '-undefined', 'dynamic_lookup' ] ilib = env.SharedLibrary(libname,lib_objs, SHLIBSUFFIX=ilib_suffix, SHLINKFLAGS=shlink_flags, parse_flags=parse_flags) if platform == 'darwin': if version.count(".") != 2: # We need a library name in libfoo.x.y.z.dylib form to proceed raise ValueError lib = 'lib' + libname + '.' + version + '.dylib' lib_no_ver = 'lib' + libname + '.dylib' # Link libfoo.x.y.z.dylib to libfoo.dylib env.AddPostAction(ilib, 'rm -f %s; ln -s %s %s' % ( lib_no_ver, lib, lib_no_ver)) env.Clean(lib, lib_no_ver) elif platform == 'posix': if version.count(".") != 2: # We need a library name in libfoo.so.x.y.z form to proceed raise ValueError lib = "lib" + libname + ".so." + version suffix_re = '%s\\.[0-9\\.]*$' % re.escape(shlib_suffix) # For libfoo.so.x.y.z, links libfoo.so libfoo.so.x.y libfoo.so.x major_name = shlib_suffix + "." + lib.split(".")[2] minor_name = major_name + "." + lib.split(".")[3] for linksuffix in [shlib_suffix, major_name, minor_name]: linkname = re.sub(suffix_re, linksuffix, lib) env.AddPostAction(ilib, 'rm -f %s; ln -s %s %s' % ( linkname, lib, linkname)) env.Clean(lib, linkname) return ilib def VersionedSharedLibraryInstall(env, destination, libs): platform = env.subst('$PLATFORM') shlib_suffix = env.subst('$SHLIBSUFFIX') ilibs = env.Install(destination, libs) if platform == 'posix': suffix_re = '%s\\.[0-9\\.]*$' % re.escape(shlib_suffix) for lib in map(str, libs): if lib.count(".") != 4: # We need a library name in libfoo.so.x.y.z form to proceed raise ValueError # For libfoo.so.x.y.z, links libfoo.so libfoo.so.x.y libfoo.so.x major_name = shlib_suffix + "." + lib.split(".")[2] minor_name = major_name + "." + lib.split(".")[3] for linksuffix in [shlib_suffix, major_name, minor_name]: linkname = re.sub(suffix_re, linksuffix, lib) env.AddPostAction(ilibs, 'cd %s; rm -f %s; ln -s %s %s' % (destination, linkname, lib, linkname)) env.Clean(lib, linkname) return ilibs if not env["shared"]: def Library(env, target, sources, version, parse_flags=[]): return env.StaticLibrary(target, sources, parse_flags=parse_flags) LibraryInstall = lambda env, libdir, sources: env.Install(libdir, sources) else: def Library(env, target, sources, version, parse_flags=[]): return VersionedSharedLibrary(env=env, libname=target, version=version, lib_objs=sources, parse_flags=parse_flags) LibraryInstall = lambda env, libdir, sources: \ VersionedSharedLibraryInstall(env, libdir, sources) # Klugery to handle sonames ends compiled_gpslib = Library(env=env, target="gps", sources=libgps_sources, version=libgps_version, parse_flags=dbus_libs + rtlibs) env.Clean(compiled_gpslib, "gps_maskdump.c") compiled_gpsdlib = Library(env=env, target="gpsd", sources=libgpsd_sources, version=libgpsd_version, parse_flags=usblibs + rtlibs + bluezlibs) libraries = [compiled_gpslib, compiled_gpsdlib] if qt_env: qtobjects = [] qt_flags = qt_env['CFLAGS'] for c_only in ('-Wmissing-prototypes', '-Wstrict-prototypes'): if c_only in qt_flags: qt_flags.remove(c_only) # Qt binding object files have to be renamed as they're built to avoid # name clashes with the plain non-Qt object files. This prevents the # infamous "Two environments with different actions were specified # for the same target" error. for src in libgps_sources: if src not in ('ais_json.c','json.c','libgps_json.c','rtcm2_json.c','shared_json.c'): compile_with = qt_env['CXX'] compile_flags = qt_flags else: compile_with = qt_env['CC'] compile_flags = qt_env['CFLAGS'] qtobjects.append(qt_env.SharedObject(src.split(".")[0] + '-qt', src, CC=compile_with, CFLAGS=compile_flags, parse_flags=dbus_libs)) compiled_qgpsmmlib = Library(qt_env, "Qgpsmm", qtobjects, libgps_version) libraries.append(compiled_qgpsmmlib) # The libraries have dependencies on system libraries gpslibs = ["-lgps", "-lm"] gpsdlibs = ["-lgpsd"] + usblibs + bluezlibs + gpslibs + caplibs # We need to be able to make a static client library for ad-hoc testing. # (None of the normal targets relies on this.) You can use this # with a build command like # # g++ --static streamtest.cpp libgps.a -lrt -o streamtest # # When you link with this library you will get warnings that look like this: # warning: Using 'getprotobyname' in statically linked applications requires # at runtime the shared libraries from the glibc version used for # linking # The final executable will build but not be portable. env.StaticLibrary(target='libgps.a', source=libgps_sources, parse_flags=dbus_libs + rtlibs) # Source groups gpsd_sources = ['gpsd.c','ntpshm.c','shmexport.c','dbusexport.c'] if env['systemd']: gpsd_sources.append("sd_socket.c") gpsmon_sources = [ 'gpsmon.c', 'monitor_italk.c', 'monitor_nmea.c', 'monitor_oncore.c', 'monitor_sirf.c', 'monitor_superstar2.c', 'monitor_tnt.c', 'monitor_ubx.c', 'monitor_garmin.c', ] ## Production programs # FIXME: What we really want is for libm to be linked when libgps is. # VersionedSharedLibrary accomplishes this for its case, but we don't # know how to force it when linking staticly. # # It turns out there are two cases where we need to force this. Some # distributions don't do implicit linking by design. See the test # code for implicit_link. # if not env['shared'] or not env["implicit_link"]: env.MergeFlags("-lm") # FIXME: Part of an attempt to support coverage testing. if env['coveraging']: env.MergeFlags("-lgcov") gpsd_env = env.Clone() gpsd_env.MergeFlags("-pthread") gpsd = gpsd_env.Program('gpsd', gpsd_sources, parse_flags = gpsdlibs + dbus_libs) env.Depends(gpsd, [compiled_gpsdlib, compiled_gpslib]) gpsdecode = env.Program('gpsdecode', ['gpsdecode.c'], parse_flags=gpsdlibs) env.Depends(gpsdecode, [compiled_gpsdlib, compiled_gpslib]) gpsctl = env.Program('gpsctl', ['gpsctl.c'], parse_flags=gpsdlibs) env.Depends(gpsctl, [compiled_gpsdlib, compiled_gpslib]) gpsdctl = env.Program('gpsdctl', ['gpsdctl.c'], parse_flags=gpslibs) env.Depends(gpsdctl, compiled_gpslib) gpsmon = env.Program('gpsmon', gpsmon_sources, parse_flags=gpsdlibs + ncurseslibs + ['-lm']) env.Depends(gpsmon, [compiled_gpsdlib, compiled_gpslib]) gpspipe = env.Program('gpspipe', ['gpspipe.c'], parse_flags=gpslibs) env.Depends(gpspipe, compiled_gpslib) gpxlogger = env.Program('gpxlogger', ['gpxlogger.c'], parse_flags=gpslibs) env.Depends(gpxlogger, compiled_gpslib) lcdgps = env.Program('lcdgps', ['lcdgps.c'], parse_flags=gpslibs) env.Depends(lcdgps, compiled_gpslib) cgps = env.Program('cgps', ['cgps.c'], parse_flags=gpslibs + ncurseslibs) env.Depends(cgps, compiled_gpslib) binaries = [gpsd, gpsdecode, gpsctl, gpsdctl, gpspipe, gpxlogger, lcdgps] if ncurseslibs: binaries += [cgps, gpsmon] # Test programs test_float = env.Program('test_float', ['test_float.c']) test_geoid = env.Program('test_geoid', ['test_geoid.c'], parse_flags=gpsdlibs) env.Depends(test_geoid, [compiled_gpsdlib, compiled_gpslib]) test_json = env.Program('test_json', ['test_json.c'], parse_flags=gpslibs) env.Depends(test_json, compiled_gpslib) test_mkgmtime = env.Program('test_mkgmtime', ['test_mkgmtime.c'], parse_flags=gpslibs) env.Depends(test_mkgmtime, compiled_gpslib) test_trig = env.Program('test_trig', ['test_trig.c'], parse_flags=["-lm"]) test_packet = env.Program('test_packet', ['test_packet.c'], parse_flags=gpsdlibs) env.Depends(test_packet, [compiled_gpsdlib, compiled_gpslib]) test_bits = env.Program('test_bits', ['test_bits.c'], parse_flags=gpslibs) env.Depends(test_bits, [compiled_gpsdlib, compiled_gpslib]) test_gpsmm = env.Program('test_gpsmm', ['test_gpsmm.cpp'], parse_flags=gpslibs) env.Depends(test_gpsmm, compiled_gpslib) test_libgps = env.Program('test_libgps', ['test_libgps.c'], parse_flags=gpslibs) env.Depends(test_libgps, compiled_gpslib) testprogs = [test_float, test_trig, test_bits, test_packet, test_mkgmtime, test_geoid, test_libgps] if env['socket_export']: testprogs.append(test_json) if cxx and env["libgpsmm"]: testprogs.append(test_gpsmm) # Python programs if not env['python']: python_built_extensions = [] else: python_progs = ["gpscat", "gpsfake", "gpsprof", "xgps", "xgpsspeed", "gegps"] python_modules = Glob('gps/*.py') # Build Python binding # python_extensions = { "gps" + os.sep + "packet" : ["gpspacket.c", "packet.c", "isgps.c", "driver_rtcm2.c", "strl.c", "hex.c", "crc24q.c"], "gps" + os.sep + "clienthelpers" : ["gpsclient.c", "geoid.c", "gpsdclient.c", "strl.c"] } python_env = env.Clone() vars = sysconfig.get_config_vars('CC', 'CXX', 'OPT', 'BASECFLAGS', 'CCSHARED', 'LDSHARED', 'SO', 'INCLUDEPY', 'LDFLAGS') for i in range(len(vars)): if vars[i] is None: vars[i] = [] (cc, cxx, opt, basecflags, ccshared, ldshared, so_ext, includepy, ldflags) = vars # in case CC/CXX was set to the scan-build wrapper, # ensure that we build the python modules with scan-build, too if env['CC'] is None or env['CC'].find('scan-build') < 0: python_env['CC'] = cc else: python_env['CC'] = ' '.join([env['CC']] + cc.split()[1:]) if env['CXX'] is None or env['CXX'].find('scan-build') < 0: python_env['CXX'] = cxx else: python_env['CXX'] = ' '.join([env['CXX']] + cxx.split()[1:]) ldshared=ldshared.replace('-fPIE', '') ldshared=ldshared.replace('-pie', '') python_env.Replace(SHLINKFLAGS=[], LDFLAGS=ldflags, LINK = ldshared, SHLIBPREFIX="", SHLIBSUFFIX=so_ext, CPPPATH=[includepy], CPPFLAGS=opt, CFLAGS=basecflags, CXXFLAGS=basecflags) python_objects={} python_compiled_libs = {} for ext, sources in python_extensions.iteritems(): python_objects[ext] = [] for src in sources: python_objects[ext].append( python_env.NoCache( python_env.SharedObject( src.split(".")[0] + '-py_' + '_'.join(['%s' %(x) for x in sys.version_info]) + so_ext, src ) ) ) python_compiled_libs[ext] = python_env.SharedLibrary(ext, python_objects[ext]) python_built_extensions = python_compiled_libs.values() python_egg_info_source = """Metadata-Version: 1.0 Name: gps Version: %s Summary: Python libraries for the gpsd service daemon Home-page: %s Author: the GPSD project Author-email: %s License: BSD Description: The gpsd service daemon can monitor one or more GPS devices connected to a host computer, making all data on the location and movements of the sensors available to be queried on TCP port 2947. Platform: UNKNOWN """ %(gpsd_version, website, devmail) python_egg_info = python_env.Textfile(target="gps-%s.egg-info" %(gpsd_version, ), source=python_egg_info_source) env.Command(target = "packet_names.h", source="packet_states.h", action=""" rm -f $TARGET &&\ sed -e '/^ *\([A-Z][A-Z0-9_]*\),/s// \"\\1\",/' <$SOURCE >$TARGET &&\ chmod a-w $TARGET""") # build timebase.h def timebase_h(target, source, env): from leapsecond import make_leapsecond_include f = open(target[0].abspath, 'w') f.write(make_leapsecond_include(source[0].abspath)) f.close() env.Command(target="timebase.h", source="leapseconds.cache", action=timebase_h) env.Textfile(target="gpsd_config.h", source=confdefs) env.Textfile(target="gpsd.h", source=[File("gpsd.h-head"), File("gpsd_config.h"), File("gpsd.h-tail")]) env.Command(target="gps_maskdump.c", source=["maskaudit.py", "gps.h", "gpsd.h"], action=''' rm -f $TARGET &&\ $PYTHON $SOURCE -c $SRCDIR >$TARGET &&\ chmod a-w $TARGET''') env.Command(target="ais_json.i", source="jsongen.py", action='''\ rm -f $TARGET &&\ $PYTHON $SOURCE --ais --target=parser >$TARGET &&\ chmod a-w $TARGET''') # generate revision.h if 'dev' in gpsd_version: (st, rev) = _getstatusoutput('git describe') if st != 0: from datetime import datetime rev = datetime.now().isoformat()[:-4] else: rev = gpsd_version revision='#define REVISION "%s"\n' %(rev.strip(),) env.Textfile(target="revision.h", source=[revision]) generated_sources = ['packet_names.h', 'timebase.h', 'gpsd.h', "ais_json.i", 'gps_maskdump.c', 'revision.h', 'gpsd.php'] # leapseconds.cache is a local cache for information on leapseconds issued # by the U.S. Naval observatory. It gets kept in the repository so we can # build without Internet access. from leapsecond import save_leapseconds leapseconds_cache_rebuild = lambda target, source, env: save_leapseconds(target[0].abspath) if 'dev' in gpsd_version or not os.path.exists('leapseconds.cache'): leapseconds_cache = env.Command(target="leapseconds.cache", source="leapsecond.py", action=leapseconds_cache_rebuild) env.Clean(leapseconds_cache, "leapsecond.pyc") env.NoClean(leapseconds_cache) env.Precious(leapseconds_cache) # Instantiate some file templates. We'd like to use the Substfile builtin # but it doesn't seem to work in scons 1.20 def substituter(target, source, env): substmap = ( ('@VERSION@', gpsd_version), ('@prefix@', env['prefix']), ('@libdir@', env['libdir']), ('@PYTHON@', sys.executable), ('@DATE@', time.asctime()), ('@MASTER', 'DO NOT HAND_HACK! THIS FILE IS GENERATED@'), ('@SITENAME@', sitename), ('@SITESEARCH@', sitesearch), ('@WEBSITE@', website), ('@MAINPAGE@', mainpage), ('@WEBUPLOAD@', webupload), ('@CGIUPLOAD@', cgiupload), ('@SCPUPLOAD@', scpupload), ('@MAILMAN@', mailman), ('@ADMIN@', admin), ('@DOWNLOAD@', download), ('@BUGTRACKER@', bugtracker), ('@BROWSEREPO@', browserepo), ('@CLONEREPO@', clonerepo), ('@GITREPO@', gitrepo), ('@WEBFORM@', webform), ('@FORMSERVER@', formserver), ('@DEVMAIL@', devmail), ('@LIBGPSVERSION@', libgps_version), ) sfp = open(str(source[0])) content = sfp.read() sfp.close() for (s, t) in substmap: content = content.replace(s, t) m = re.search("@[A-Z]+@", content) if m and m.group(0) not in map(lambda x: x[0], substmap): print >>sys.stderr, "Unknown subst token %s in %s." % (m.group(0), sfp.name) tfp = open(str(target[0]), "w") tfp.write(content) tfp.close() templated = glob.glob("*.in") + glob.glob("*/*.in") + glob.glob("*/*/*.in") for fn in templated: builder = env.Command(source=fn, target=fn[:-3], action=substituter) env.AddPostAction(builder, 'chmod -w $TARGET') if fn.endswith(".py.in"): env.AddPostAction(builder, 'chmod +x $TARGET') # Documentation base_manpages = { "gpsd.8" : "gpsd.xml", "gpsd_json.5" : "gpsd_json.xml", "gps.1" : "gps.xml", "cgps.1" : "gps.xml", "gpsinit.8": "gpsinit.xml", "lcdgps.1" : "gps.xml", "libgps.3" : "libgps.xml", "libgpsmm.3" : "libgpsmm.xml", "libQgpsmm.3" : "libgpsmm.xml", "libgpsd.3" : "libgpsd.xml", "gpsmon.1": "gpsmon.xml", "gpsctl.1" : "gpsctl.xml", "gpsdctl.8" : "gpsdctl.xml", "gpspipe.1" : "gpspipe.xml", "gpsdecode.1" : "gpsdecode.xml", "srec.5" : "srec.xml", } python_manpages = { "gpsprof.1" : "gpsprof.xml", "gpsfake.1" : "gpsfake.xml", "gpscat.1" : "gpscat.xml", "xgpsspeed.1" : "gps.xml", "xgps.1" : "gps.xml", "gegps.1" : "gps.xml", } manpage_targets = [] if manbuilder: for (man, xml) in base_manpages.items() + python_manpages.items(): manpage_targets.append(env.Man(source=xml, target=man)) ## Where it all comes together build = env.Alias('build', [libraries, binaries, python_built_extensions, "gpsd.php", manpage_targets]) env.Clean(build, map(glob.glob,("*.[oa]", "*.os", "*.os.*", "*.gcno", "*.pyc", "gps/*.pyc")) + \ generated_sources + \ map(lambda f: f[:-3], templated) + \ [".sconf_temp"]) env.Default(*build) if qt_env: build_qt = qt_env.Alias('build', [compiled_qgpsmmlib]) qt_env.Default(*build_qt) if env['python']: build_python = python_env.Alias('build', [python_built_extensions]) python_env.Default(*build_python) ## Installation and deinstallation # Not here because too distro-specific: udev rules, desktop files, init scripts # It's deliberate that we don't install gpsd.h. It's full of internals that # third-party client programs should not see. headerinstall = [ env.Install(installdir('includedir'), x) for x in ("libgpsmm.h", "gps.h")] binaryinstall = [] binaryinstall.append(env.Install(installdir('sbindir'), [gpsd, gpsdctl])) binaryinstall.append(env.Install(installdir('bindir'), [gpsdecode, gpsctl, gpspipe, gpxlogger, lcdgps])) if ncurseslibs: binaryinstall.append(env.Install(installdir('bindir'), [cgps, gpsmon])) binaryinstall.append(LibraryInstall(env, installdir('libdir'), compiled_gpslib)) binaryinstall.append(LibraryInstall(env, installdir('libdir'), compiled_gpsdlib)) if qt_env: binaryinstall.append(LibraryInstall(qt_env, installdir('libdir'), compiled_qgpsmmlib)) if env["shared"] and env["chrpath"]: env.AddPostAction(binaryinstall, '$CHRPATH -r "%s" "$TARGET"' \ % (installdir('libdir', False), )) if not env['debug'] and not env['profiling'] and env['strip']: env.AddPostAction(binaryinstall, '$STRIP $TARGET') if not env['python']: python_install = [] else: python_lib_dir = sysconfig.get_python_lib(plat_specific=1) python_module_dir = python_lib_dir + os.sep + 'gps' python_extensions_install = python_env.Install( DESTDIR + python_module_dir, python_built_extensions) if not env['debug'] and not env['profiling'] and env['strip']: python_env.AddPostAction(python_extensions_install, '$STRIP $TARGET') python_modules_install = python_env.Install( DESTDIR + python_module_dir, python_modules) python_progs_install = python_env.Install(installdir('bindir'), python_progs) python_egg_info_install = python_env.Install(DESTDIR + python_lib_dir, python_egg_info) python_install = [ python_extensions_install, python_modules_install, python_progs_install, python_egg_info_install] pc_install = [ env.Install(installdir('pkgconfig'), x) for x in ("libgps.pc", "libgpsd.pc") ] if qt_env: pc_install.append(qt_env.Install(installdir('pkgconfig'), 'Qgpsmm.pc')) pc_install.append(qt_env.Install(installdir('libdir'), 'libQgpsmm.prl')) maninstall = [] for manpage in base_manpages.keys() + python_manpages.keys(): if not manbuilder and not os.path.exists(manpage): continue section = manpage.split(".")[1] dest = os.path.join(installdir('mandir'), "man"+section, manpage) maninstall.append(env.InstallAs(source=manpage, target=dest)) install = env.Alias('install', binaryinstall + maninstall + python_install + pc_install + headerinstall) def Uninstall(nodes): deletes = [] for node in nodes: if node.__class__ == install[0].__class__: deletes.append(Uninstall(node.sources)) else: deletes.append(Delete(str(node))) return deletes uninstall = env.Command('uninstall', '', Flatten(Uninstall(Alias("install"))) or "") env.AlwaysBuild(uninstall) env.Precious(uninstall) # Target selection for '.' is badly broken. This is a general scons problem, # not a glitch in this particular recipe. Avoid triggering the bug. def error_action(target, source, env): from SCons.Errors import UserError raise UserError, "Target selection for '.' is broken." AlwaysBuild(Alias(".", [], error_action)) # Utility productions def Utility(target, source, action): target = env.Command(target=target, source=source, action=action) env.AlwaysBuild(target) env.Precious(target) return target # Report splint warnings # Note: test_bits.c is unsplintable because of the PRI64 macros. splintopts = "-I/usr/include/libusb-1.0 +quiet" # splint does not know about multi-arch, work around that ma_status, ma = _getstatusoutput('dpkg-architecture -qDEB_HOST_MULTIARCH') if ma_status == 0: splintopts = '-I/usr/include/%s %s' %(ma.strip(),splintopts) env['SPLINTOPTS']=splintopts def Splint(target,sources, description, params): return Utility(target,sources+generated_sources,[ '@echo "Running splint on %s..."'%description, '-splint $SPLINTOPTS %s %s'%(" ".join(params)," ".join(sources)), ]) splint_table = [ ('splint-daemon',gpsd_sources,'daemon', ['-exportlocal', '-redef']), ('splint-libgpsd',libgpsd_sources,'libgpsd', ['-exportlocal', '-redef']), ('splint-libgps',libgps_sources,'user-side libraries', ['-exportlocal', '-fileextensions', '-redef']), ('splint-cgps',['cgps.c'],'cgps', ['-exportlocal']), ('splint-gpsctl',['gpsctl.c'],'gpsctl', ['']), ('splint-gpsdctl',['gpsdctl.c'],'gpsdctl', ['']), ('splint-gpsmon',gpsmon_sources,'gpsmon', ['-exportlocal']), ('splint-gpspipe',['gpspipe.c'],'gpspipe', ['']), ('splint-gpsdecode',['gpsdecode.c'],'gpsdecode', ['']), ('splint-gpxlogger',['gpxlogger.c'],'gpxlogger', ['']), ('splint-test_packet',['test_packet.c'],'test_packet test harness', ['']), ('splint-test_mkgmtime',['test_mkgmtime.c'],'test_mkgmtime test harness', ['']), ('splint-test_geoid',['test_geoid.c'],'test_geoid test harness', ['']), ('splint-test_json',['test_json.c'],'test_json test harness', ['']), ] for (target,sources,description,params) in splint_table: env.Alias('splint',Splint(target,sources,description,params)) Utility("cppcheck", ["gpsd.h", "packet_names.h"], "cppcheck --template gcc --enable=all --inline-suppr --suppress='*:driver_proto.c' --force $SRCDIR") # Sanity-check Python code. TODO: add xgps for the complete set. Utility("pychecker", ["jsongen.py", "maskaudit.py", python_built_extensions], ['''for f in gpsprof gpscat gpsfake gegps; do ln -s $$f $$f.py; done; \ pychecker --no-classattr --no-callinit jsongen.py leapsecond.py maskaudit.py gpsprof.py gpscat.py gpsfake.py gegps.py gps/*.py; for f in gpsprof gpscat gpsfake gegps; do rm $$f.py $$f.pyc; done''']) Utility("pylint", ["jsongen.py", "maskaudit.py", python_built_extensions], ['''pylint --output-format=parseable --reports=n --include-ids=y --disable=F0001,C0103,C0111,C0301,C0302,C0322,C0324,C0323,C0321,R0201,R0902,R0903,R0904,R0911,R0912,R0913,R0914,R0915,W0201,W0401,W0141,W0142,W0603,W0614,W0621,E1101,E1102 jsongen.py leapsecond.py maskaudit.py gpsprof.py gpscat.py gpsfake.py gegps.py gps/*.py xgps''']) # Check the documentation for bogons, too Utility("xmllint", glob.glob("*.xml"), "for xml in $SOURCES; do xmllint --nonet --noout --valid $$xml; done") # Use deheader to remove headers not required. If the statistics line # ends with other than '0 removed' there's work to be done. Utility("deheader", generated_sources, [ 'deheader -x cpp -x contrib -x gpspacket.c -x gpsclient.c -x monitor_proto.c -i gpsd_config.h -i gpsd.h -m "MORECFLAGS=\'-Werror -Wfatal-errors -DDEBUG -DPPS_ENABLE\' scons -Q"', ]) # Perform all sanity checks. audit = env.Alias('audit', ['splint', 'cppcheck', 'xmllint', 'valgrind-audit', ]) # # Regression tests begin here # # Note that the *-makeregress targets re-create the *.log.chk source # files from the *.log source files. # Unit-test the bitfield extractor bits_regress = Utility('bits-regress', [test_bits], [ '$SRCDIR/test_bits --quiet' ]) # Check that all Python modules compile properly if env['python']: def check_compile(target, source, env): for pyfile in source: 'cp %s tmp.py'%(pyfile) '%s -tt -m py_compile tmp.py' %(sys.executable, ) 'rm -f tmp.py tmp.pyc' python_compilation_regress = Utility('python-compilation-regress', Glob('*.py') + python_modules + python_progs + ['SConstruct'], check_compile) else: python_compilation_regress = None # using regress-drivers requires socket_export being enabled. if env['socket_export']: # Regression-test the daemon gps_regress = [Utility("gps-regress", [gpsd, python_built_extensions], '$SRCDIR/regress-driver test/daemon/*.log')] # Test that super-raw mode works. Compare each logfile against itself # dumped through the daemon running in R=2 mode. (This test is not # included in the normal regressions.) Utility("raw-regress", [gpsd, python_built_extensions], '$SRCDIR/regress-driver test/daemon/*.log') # Build the regression tests for the daemon. # Note: You'll have to do this whenever the default leap second # changes in timebase.h. The problem is in the SiRF tests; # that driver relies on the default until it gets the current # offset from subframe data. Utility('gps-makeregress', [gpsd, python_built_extensions], '$SRCDIR/regress-driver -b test/daemon/*.log') else: gps_regress = [] # To build an individual test for a load named foo.log, put it in # test/daemon and do this: # regress-driver -b test/daemon/foo.log # Regression-test the RTCM decoder. rtcm_regress = Utility('rtcm-regress', [gpsdecode], [ '@echo "Testing RTCM decoding..."', '@for f in $SRCDIR/test/*.rtcm2; do ' 'echo "Testing $${f}..."; ' 'TMPFILE=`mktemp -t gpsd-test-XXXXXXXXXXXXXX.chk`; ' '$SRCDIR/gpsdecode -u -j <$${f} >$${TMPFILE}; ' 'diff -ub $${f}.chk $${TMPFILE}; ' 'rm -f $${TMPFILE}; ' 'done;', '@echo "Testing idempotency of JSON dump/decode for RTCM2"', '@TMPFILE=`mktemp -t gpsd-test-XXXXXXXXXXXXXX.chk`; ' '$SRCDIR/gpsdecode -u -e -j $${TMPFILE}; ' 'grep -v "^#" test/synthetic-rtcm2.json | diff -ub - $${TMPFILE}; ' 'rm -f $${TMPFILE}; ', ]) # Rebuild the RTCM regression tests. Utility('rtcm-makeregress', [gpsdecode], [ 'for f in $SRCDIR/test/*.rtcm2; do ' '$SRCDIR/gpsdecode -j <$${f} >$${f}.chk; ' 'done' ]) # Regression-test the AIVDM decoder. aivdm_regress = Utility('aivdm-regress', [gpsdecode], [ '@echo "Testing AIVDM decoding w/ CSV format..."', '@for f in $SRCDIR/test/*.aivdm; do ' 'echo "Testing $${f}..."; ' 'TMPFILE=`mktemp -t gpsd-test-XXXXXXXXXXXXXX.chk`; ' '$SRCDIR/gpsdecode -u -c <$${f} >$${TMPFILE}; ' 'diff -ub $${f}.chk $${TMPFILE} || echo "Test FAILED!"; ' 'rm -f $${TMPFILE}; ' 'done;', '@echo "Testing AIVDM decoding w/ JSON unscaled format..."', '@for f in $SRCDIR/test/*.aivdm; do ' 'echo " Testing $${f}..."; ' 'TMPFILE=`mktemp -t gpsd-test-XXXXXXXXXXXXXX.chk`; ' '$SRCDIR/gpsdecode -u -j <$${f} >$${TMPFILE}; ' 'diff -ub $${f}.ju.chk $${TMPFILE} || echo "Test FAILED!"; ' 'rm -f $${TMPFILE}; ' 'done;', '@echo "Testing AIVDM decoding w/ JSON scaled format..."', '@for f in $SRCDIR/test/*.aivdm; do ' 'echo " Testing $${f}..."; ' 'TMPFILE=`mktemp -t gpsd-test-XXXXXXXXXXXXXX.chk`; ' '$SRCDIR/gpsdecode -j <$${f} >$${TMPFILE}; ' 'diff -ub $${f}.js.chk $${TMPFILE} || echo "Test FAILED!"; ' 'rm -f $${TMPFILE}; ' 'done;', '@echo "Testing idempotency of unscaled JSON dump/decode for AIS"', '@TMPFILE=`mktemp -t gpsd-test-XXXXXXXXXXXXXX.chk`; ' '$SRCDIR/gpsdecode -u -e -j <$SRCDIR/test/sample.aivdm.ju.chk >$${TMPFILE}; ' 'grep -v "^#" $SRCDIR/test/sample.aivdm.ju.chk | diff -ub - $${TMPFILE}; ' 'rm -f $${TMPFILE}; ', # Parse the unscaled json reference, dump it as scaled json, # and finally compare it with the scaled json reference '@echo "Testing idempotency of scaled JSON dump/decode for AIS"', '@TMPFILE=`mktemp -t gpsd-test-XXXXXXXXXXXXXX.chk`; ' '$SRCDIR/gpsdecode -e -j <$SRCDIR/test/sample.aivdm.ju.chk >$${TMPFILE}; ' 'grep -v "^#" $SRCDIR/test/sample.aivdm.js.chk | diff -ub - $${TMPFILE}; ' 'rm -f $${TMPFILE}; ', ]) # Rebuild the AIVDM regression tests. Utility('aivdm-makeregress', [gpsdecode], [ 'for f in $SRCDIR/test/*.aivdm; do ' '$SRCDIR/gpsdecode -u -c <$${f} > $${f}.chk; ' '$SRCDIR/gpsdecode -u -j <$${f} > $${f}.ju.chk; ' '$SRCDIR/gpsdecode -j <$${f} > $${f}.js.chk; ' 'done', ]) # Regression-test the packet getter. packet_regress = Utility('packet-regress', [test_packet], [ '@echo "Testing detection of invalid packets..."', '$SRCDIR/test_packet | diff -u $SRCDIR/test/packet.test.chk -', ]) # Rebuild the packet-getter regression test Utility('packet-makeregress', [test_packet], [ '$SRCDIR/test_packet >$SRCDIR/test/packet.test.chk', ]) # Rebuild the geoid test Utility('geoid-makeregress', [test_geoid], [ '$SRCDIR/test_geoid 37.371192 122.014965 >$SRCDIR/test/geoid.test.chk']) # Regression-test the geoid tester. geoid_regress = Utility('geoid-regress', [test_geoid], [ '@echo "Testing the geoid model..."', '$SRCDIR/test_geoid 37.371192 122.014965 | diff -u $SRCDIR/test/geoid.test.chk -', ]) # Regression-test the Maidenhead Locator maidenhead_locator_regress = Utility('maidenhead-locator-regress', [python_built_extensions], [ '@echo "Testing the Maidenhead Locator conversion..."', '$SRCDIR/test_maidenhead.py >/dev/null', ]) # Regression-test the calendar functions time_regress = Utility('time-regress', [test_mkgmtime], [ '$SRCDIR/test_mkgmtime' ]) # Regression test the unpacking code in libgps unpack_regress = Utility('unpack-regress', [test_libgps], [ '@echo "Testing the client-library sentence decoder..."', '$SRCDIR/regress-driver -c $SRCDIR/test/clientlib/*.log', ]) # Build the regression test for the sentence unpacker Utility('unpack-makeregress', [test_libgps], [ '@echo "Rebuilding the client sentence-unpacker tests..."', '$SRCDIR/regress-driver -c -b $SRCDIR/test/clientlib/*.log' ]) # Unit-test the JSON parsing json_regress = Utility('json-regress', [test_json], [ '$SRCDIR/test_json' ]) # Run a valgrind audit on the daemon - not in normal tests valgrind_audit = Utility('valgrind-audit', ['$SRCDIR/valgrind-audit.py', python_built_extensions, gpsd], './valgrind-audit.py' ) # Run test builds on remote machines flocktest = Utility("flocktest", [], "cd devtools; ./flocktest " + gitrepo) # Run all normal regression tests check = env.Alias('check', [ python_compilation_regress, bits_regress, rtcm_regress, aivdm_regress, packet_regress, geoid_regress, maidenhead_locator_regress, time_regress, unpack_regress, json_regress, ] + gps_regress) env.Alias('testregress', check) # The website directory # # None of these productions are fired by default. # The content they handle is the GPSD website, not included in release tarballs. webpages = Split('''www/installation.html www/gpscat.html www/gpsctl.html www/gpsdecode.html www/gpsd.html www/gpsd_json.html www/gpsfake.html www/gpsmon.html www/gpspipe.html www/gpsprof.html www/gps.html www/gpsinit.html www/libgpsd.html www/libgpsmm.html www/libgps.html www/srec.html www/AIVDM.html www/NMEA.html www/protocol-evolution.html www/protocol-transition.html www/client-howto.html www/writing-a-driver.html www/hardware.html www/performance/performance.html www/internals.html www/cycle.png ''') + map(lambda f: f[:-3], glob.glob("www/*.in")) www = env.Alias('www', webpages) # Paste 'scons --quiet validation-list' to a batch validator such as # http://htmlhelp.com/tools/validator/batch.html.en def validation_list(target, source, env): for page in glob.glob("www/*.html"): if not '-head' in page: fp = open(page) if "Valid HTML" in fp.read(): print os.path.join(website, os.path.basename(page)) fp.close() Utility("validation-list", [www], validation_list) # How to update the website upload_web = Utility("upload_web", [www], ['rsync --exclude="*.in" -avz www/ ' + webupload, 'scp README TODO NEWS ' + webupload, 'chmod ug+w,a+x www/gps_report.cgi', 'scp www/gps_report.cgi ' + cgiupload + "gps_report.cgi"]) # When the URL declarations change, so must the generated web pages for fn in glob.glob("www/*.in"): env.Depends(fn[:-3], "SConstruct") # asciidoc documents if env.WhereIs('asciidoc'): env.Command("www/installation.html", "INSTALL", ["asciidoc -o www/installation.html INSTALL"]) for stem in ['AIVDM', 'NMEA', 'protocol-evolution', 'protocol-transition', 'client-howto']: env.Command('www/%s.html' % stem, 'www/%s.txt' % stem, ['asciidoc -a toc -o www/%s.html www/%s.txt' % (stem, stem)]) if htmlbuilder: # Manual pages for xml in glob.glob("*.xml"): env.HTML('www/%s.html' % xml[:-4], xml) # DocBook documents for stem in ['writing-a-driver', 'performance/performance']: env.HTML('www/%s.html' % stem, 'www/%s.xml' % stem) # The internals manual. # Doesn't capture dependencies on the subpages env.HTML('www/internals.html', '$SRCDIR/doc/internals.xml') # The hardware page env.Command('www/hardware.html', ['gpscap.py', 'www/hardware-head.html', 'gpscap.ini', 'www/hardware-tail.html'], ['(cat www/hardware-head.html; $PYTHON gpscap.py; cat www/hardware-tail.html) >www/hardware.html']) # The diagram editor dia is required in order to edit the diagram masters Utility("www/cycle.png", ["www/cycle.dia"], ["dia -e www/cycle.png www/cycle.dia"]) # Experimenting with pydoc. Not yet fired by any other productions. if env['python']: env.Alias('pydoc', "www/pydoc/index.html") # We need to run epydoc with the Python version we built the modules for. # So we define our own epydoc instead of using /usr/bin/epydoc EPYDOC = "python -c 'from epydoc.cli import cli; cli()'" env.Command('www/pydoc/index.html', python_progs + glob.glob("*.py") + glob.glob("gps/*.py"), [ 'mkdir -p www/pydoc', EPYDOC + " -v --html --graph all -n GPSD $SOURCES -o www/pydoc", ]) # Productions for setting up and performing udev tests. # # Requires root. Do "udev-install", then "tail -f /var/log/syslog" in # another window, then run 'scons udev-test', then plug and unplug the # GPS ad libitum. All is well when you get fix reports each time a GPS # is plugged in. Utility('udev-install', 'install', [ 'mkdir -p ' + DESTDIR + env['udevdir'] + '/rules.d', 'cp $SRCDIR/gpsd.rules ' + DESTDIR + env['udevdir'] + '/rules.d/25-gpsd.rules', 'cp $SRCDIR/gpsd.hotplug ' + DESTDIR + env['udevdir'], 'chmod a+x ' + DESTDIR + env['udevdir'] + '/gpsd.hotplug', ]) Utility('udev-uninstall', '', [ 'rm -f %s/gpsd.hotplug' % env['udevdir'], 'rm -f %s/rules.d/25-gpsd.rules' % env['udevdir'], ]) Utility('udev-test', '', [ '$SRCDIR/gpsd -N -n -F /var/run/gpsd.sock -D 5', ]) # Release machinery begins here # # We need to be in the actual project repo (i.e. not doing a -Y build) # for these productions to work. if os.path.exists("gpsd.c") and os.path.exists(".gitignore"): distfiles = _getoutput(r"git ls-files | grep -v '^www/'").split() if ".gitignore" in distfiles: distfiles.remove(".gitignore") distfiles += generated_sources distfiles += base_manpages.keys() + python_manpages.keys() distfiles.remove("gpsd.h") if "packaging/rpm/gpsd.spec" not in distfiles: distfiles.append("packaging/rpm/gpsd.spec") # How to build a tarball. tarball = env.Command('tarball', distfiles, [ '@tar --transform "s:^:gpsd-${VERSION}/:" -czf gpsd-${VERSION}.tar.gz $SOURCES', '@ls -l gpsd-${VERSION}.tar.gz', ]) env.Clean(tarball, ["gpsd-${VERSION}.tar.gz", "packaging/rpm/gpsd.spec"]) # Make RPM from the specfile in packaging Utility('dist-rpm', tarball, 'rpmbuild -ta gpsd-${VERSION}.tar.gz') # Make sure build-from-tarball works. testbuild = Utility('testbuild', [tarball], [ 'tar -xzvf gpsd-${VERSION}.tar.gz', 'cd gpsd-${VERSION}; scons', 'rm -fr gpsd-${VERSION}', ]) releasecheck = env.Alias('releasecheck', [ testbuild, check, audit, flocktest, ]) # This is how to ship a release to the hosting site. # The chmod copes with the fact that scp will give a # replacement the permissions of the *original*... upload_release = Utility('upload-release', [tarball], [ 'gpg -b gpsd-${VERSION}.tar.gz', 'chmod ug=rw,o=r gpsd-${VERSION}.tar.gz gpsd-${VERSION}.tar.gz.sig', 'scp gpsd-${VERSION}.tar.gz gpsd-${VERSION}.tar.gz.sig ' + scpupload, ]) # How to tag a release tag_release = Utility('tag-release', [], [ 'git tag -s -m "Tagged for external release ${VERSION}" release-${VERSION}' ]) upload_tags = Utility('upload-tags', [], ['git push --tags']) # Local release preparation. This production will require Internet access, # but it doesn't do any uploads or public repo mods. # # Note that tag_release has to fire early, otherwise the value of REVISION # won't be right when revision.h is generated for the tarball. releaseprep = env.Alias("releaseprep", [Utility("distclean", [], ["rm -f revision.h"]), tag_release, tarball]) # Undo local release preparation Utility("undoprep", [], ['rm -f gpsd-${VERSION}.tar.gz;', 'git tag -d release-${VERSION};']) # All a buildup to this. env.Alias("release", [releaseprep, upload_release, upload_tags, upload_web]) # Experimental release mechanics using shipper # This will ship a freecode metadata update ship_release = Utility("ship_release", [tarball], ['shipper -u -m --exclude "login.ibiblio.org:/public/html/catb/esr/"']) env.Alias("ship", [releaseprep, ship_release, upload_tags]) # The following sets edit modes for GNU EMACS # Local Variables: # mode:python # End: gpsd-3.9/TODO0000664000175000017500000001502312113023724011154 0ustar esresrThis is the gpsd to-do list. If you're viewing it with Emacs, try doing Ctl-C Ctl-t and browsing through the outline headers. Ctl-C Ctl-a will unfold them again. For contribution guidelines and internals documentation, please see the "Hacking Guide" on the project website. The list of bugs exposed by gpsd in other software has moved to the "Upstream Bugs" page on the project website. ** Bugs in gpsd and its clients: *** Tracker bugs See the GPSD bug tracker on the project website, but don't be surprised if it's empty or very sparse. Our rate of new defects per month is quite low. *** Dispatcher/network issues **** Reading AISHub data via UDP confuses xgps with short writes To reproduce, "gpsd -D 5 -N -n udp://192.168.1.3:12346" (only works inside thyrsus.com) and run xgps. Probably some kind of packet aggregation issue as it doesn't happen with test logs. *** Driver issues **** gpsctl -b should work on UBX, but does not. Presently this means there's no way to kick a UBX into returning binary data. Chris Kuethe is supposed to fix this one. **** RTCM3 analysis is incomplete We can presently decode RTCM3 messages of type 1004, 1005, 1006, 1008, 1012, 1013, and 1029. This is not the complete set. We need more test data with different types in them, and a copy of the RTCM3 standard at latest revision (all we have is revision 3). **** Reporting code for specialized Type 6 and 8 AIS messages is incomplete. This one is mine and Kurt Schwehr's. Support is currently nearly complete; the only missing cases are a handful of IMO 236 and IMO 289 message 6 and 8 subtypes - specifically, 6/23, 8/21, 8/22, 8/24, and 8/26. **** Addressed case of AIS Types 25 and 26 is not handled. We'd need machinery to shift a byte array 30 bits left... **** JSON passthrough for AIS Roy Barkas wants to be able to pass custom JSON up to GPSD in an armored AIS sentence, so all his clients will get it. See http://lists.nongnu.org/archive/html/gpsd-dev/2013-01/msg00022.html for the full proposal. ** Ports *** Windows port Partially complete. David Ludlow is working on it. ** To do: *** Make subframe reports available in the C API. gpsd now reports subframes when they're available, but the C client library doesn't yet parse them. A sample program to dump the SUBFRAME data would also be useful. Gary Miller has this in his queue. *** Write advanced features for TNT Revolution device The baud-rate switcher in the TNT driver needs to be tested. gpsmon could support a number of TNT configuration commands, including unit changes. See http://gpsd.googlecode.com/truenorth-reference.pdf for possibilities. Jon Schlueter has one of these on a flock machine, so testing shouldn't be difficult. *** Enable flocktest on the Debian server farm Debian server farm boxes have a screwy chrooted envorinment setup. flocktest needs to be modified to deal with it. *** Finish gpssim It's blocked on skyview computation. *** Complete and test the speed/parity/stopbit methods in the drivers These are used for the '?DEVICE' command. All work for 8N1. **** superstar2: not implemented (driver is unfinished) **** italk: not implemented (but could be) **** tsip: speed tested, parity and stop-bit switching not tested **** sirf: speed tested, parity and stop-bit switching not tested **** evermore: speed tested, rejects parity/stopbit setting **** ubx: fully implemented, parity and stop-bit switching not tested **** zodiac: fully implemented, not tested **** navcom.c: speed tested, rejects parity/stopbit setting SiRF, UBX, TSIP, and even Zodiac can support non-8N1 modes; these need to be tested. *** Command to ship RTCM corrections to a specified device At the moment, if a GPS accepts RTCM corrections and they are available, gpsd ships them to the serial device from which the GPS is reporting fix data. Some GPSes have auxiliary ports for RTCM; there should be a (privileged) command to redirect RTCM connections. *** Per-driver restore of changed config settings on exit. This is a solved problem for generic NMEA, EverMore, TripMate, EarthMate, TNT, Zodiac, and RTCM104 drivers (if only because they don't configure any device settings). The SiRF driver now restores NMEA when necessary. It also restores some (but not all) of the things it tweaks in binary mode -- at the moment, just the Navigation Parameters from message 0x13. With more work, we should be able to do a full revert. The TSIP driver changes its per-cycle sentence inventory and thus needs some state-restore logic. This can be done; the same packet 0x35 we use to configure it can be sent in a no-argument mode to query the current sentence mix for later restore. The FV18 changes its per-cycle sentence inventory to include GSAs. It is possible to query that inventory, though we don't have code to do it yet. Garmin devices are a mess. We reconfigure those heavily, and we don't know if there's any way to capture their configuration state before we do it. The iTrax02 driver sets SYNCMODE to start navigation messages without checking to see if it's already on, and stops navigation methods on wrapup. It also forces the set of sentences issued. There doesn't seem to be any way to query these settings. ** Future features (?) *** Industry-standard format dumping of raw satellite data It would be useful to be able to report raw GPS data (pseudoranges, clock, doppler carrier) from any GPS device that can report pseudoranges etc. This belongs in the daemon because the device drivers are already doing the packet-cracking needed to get the data off the chips. Several commodity chipsets (ANTARIS, iTrax3, SiRF and Trimble) readily output enough data to make this a chore, rather than a hard problem. Probably the best way to do this would be to add support for unscaled output of pseudoranges in SKY and add clock and doppler carrier phase. This JSON could then be interpreted by a client program and dunmped in various standard formats. Currently the RT-IGS format is looking like the favorite for implementation; it's a fairly lightweight protocol, flexible enough to handle all the quantities required, and it is actually in use in production reference networks. RT-IGS is also a packet-oriented format, rather than a file-oriented format like RINEX. *** Support for more survey / professional / up-scale receivers. Devices such as the Javad JNSCore, Hemisphere Crescent, Septentrio AsteRx and PolaRx, NovAtel Superstar2 and OEMV, Thales (Magellan Professional) AC12 and DG14 would all be welcome. Of course, these are not $50 USB mice... Local variables: mode: outline paragraph-separate: "[ ]*$" end: gpsd-3.9/Tachometer.c0000664000175000017500000004525211757250537012753 0ustar esresr/* * Tachometer Widget Implementation * * Author: Kazuhiko Shutoh, 1989. * Revised by Shinji Sumimoto, 1989/9 (xtachos) * Modifications : ilham@mit.edu (July 10 '90) * Cleaned up and simplified by Eric S. Raymond, December 2004. * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include "gpsd_config.h" #include "gps.h" #define D2R 0.0174532925199432957692369076848861271 /* radians = pi/180 */ /**************************************************************** * * Full class record constant * ****************************************************************/ typedef struct { unsigned char digit[7]; } DigitRec; typedef struct { int nofline; XPoint point_list[5]; } StringRec; /*@ +charint @*/ /* Number character database - like an LED */ static DigitRec num_segment[] = { {{1, 1, 1, 1, 1, 1, 0}}, {{0, 1, 1, 0, 0, 0, 0}}, {{1, 1, 0, 1, 1, 0, 1}}, {{1, 1, 1, 1, 0, 0, 1}}, {{0, 1, 1, 0, 0, 1, 1}}, {{1, 0, 1, 1, 0, 1, 1}}, {{1, 0, 1, 1, 1, 1, 1}}, {{1, 1, 1, 0, 0, 0, 0}}, {{1, 1, 1, 1, 1, 1, 1}}, {{1, 1, 1, 1, 0, 1, 1}} }; static XSegment offset[] = { {-10, -10, 10, -10}, {10, -10, 10, 0}, {10, 0, 10, 10}, {10, 10, -10, 10}, {-10, 10, -10, 0}, {-10, 0, -10, -10}, {-10, 0, 10, 0} }; /*@ -initallelements @*/ /* " X 10 %" character database */ static StringRec char_data[] = { {2, /* "X" */ {{-17, -5}, {-7, 5}}}, {2, {{-7, -5}, {-17, 5}}}, {2, /* "1" */ {{-2, -5}, {-2, 5}}}, {5, /* "0" */ {{2, -5}, {12, -5}, {12, 5}, {2, 5}, {2, -5}}} }; /*@ -initallelements @*/ /*@ -charint @*/ /*@ -nullderef -immediatetrans -type -nullassign @*/ #define offst(field) XtOffset(TachometerWidget, field) static XtResource resources[] = { {XtNforeground, XtCForeground, XtRPixel, sizeof(Pixel), offst(tachometer.scale), XtRString, "XtDefaultForeground"} , {XtNtachometerCircleColor, XtCBorderColor, XtRPixel, sizeof(Pixel), offst(tachometer.circle), XtRString, "XtDefaultForeground"} , {XtNtachometerNeedleColor, XtCBorderColor, XtRPixel, sizeof(Pixel), offst(tachometer.needle), XtRString, "XtDefaultForeground"} , {XtNtachometerNeedleSpeed, XtCtachometerNeedleSpeed, XtRInt, sizeof(int), offst(tachometer.speed), XtRImmediate, (caddr_t) 1}, {XtNvalue, XtCValue, XtRInt, sizeof(int), offst(tachometer.value), XtRImmediate, (caddr_t) 0}, {XtNheight, XtCHeight, XtRDimension, sizeof(Dimension), offst(core.height), XtRImmediate, (caddr_t) 100} , {XtNwidth, XtCWidth, XtRDimension, sizeof(Dimension), offst(core.width), XtRImmediate, (caddr_t) 100} , {XtNborderWidth, XtCBorderWidth, XtRDimension, sizeof(Dimension), offst(core.border_width), XtRImmediate, (caddr_t) 0} , {XtNinternalBorderWidth, XtCBorderWidth, XtRDimension, sizeof(Dimension), offst(tachometer.internal_border), XtRImmediate, (caddr_t) 0} , }; /*@ -nullderef -immediatetrans +type +nullassign @*/ static void Initialize(Widget request, Widget new), Realize(Widget w, Mask * valueMask, XSetWindowAttributes * attributes), Resize(Widget w), Redisplay(Widget w, XEvent * event, Region region), Destroy(Widget w); static Boolean SetValues(Widget current, Widget request UNUSED, Widget new); /*@ -fullinitblock @*/ TachometerClassRec tachometerClassRec = { { /* core_class fields */ #define superclass (&simpleClassRec) /* superclass */ (WidgetClass) superclass, /* class_name */ "Tachometer", /* widget_size */ sizeof(TachometerRec), /* class_initialize */ NULL, /* class_part_initialize */ NULL, /* class_inited */ FALSE, /* initialize */ (XtInitProc) Initialize, /* initialize_hook */ NULL, /* realize */ Realize, /* actions */ NULL, /* num_actions */ 0, /* resources */ resources, /* num_resources */ XtNumber(resources), /* xrm_class */ NULLQUARK, /* compress_motion */ TRUE, /* compress_exposure */ TRUE, /* compress_enterleave */ TRUE, /* visible_interest */ FALSE, /* destroy */ Destroy, /* resize */ Resize, /* expose */ Redisplay, /* set_values */ (XtSetValuesFunc) SetValues, /* set_values_hook */ NULL, /* set_values_almost */ XtInheritSetValuesAlmost, /* get_values_hook */ NULL, /* accept_focus */ NULL, /* version */ XtVersion, /* callback_private */ NULL, /* tm_table */ NULL, /* query_geometry */ NULL, /* display_accelerator */ XtInheritDisplayAccelerator, /* extension */ NULL } , /* Simple class fields initialization */ { /* change_sensitive */ XtInheritChangeSensitive } }; /*@ +fullinitblock @*/ WidgetClass tachometerWidgetClass = (WidgetClass) & tachometerClassRec; /* Private procedures */ static void FastFillCircle(Display * d, Drawable w, GC gc, Cardinal center_x, Cardinal center_y, Cardinal radius_x, Cardinal radius_y) { /*@ -compdef @*/ XPoint points[360]; Cardinal angle; for (angle = 0; angle < 360; angle++) { points[angle].x = (short)(sin((double)angle * D2R) * (double)radius_x + (double)center_x); points[angle].y = (short)(cos((double)angle * D2R) * (double)radius_y + (double)center_y); } (void)XFillPolygon(d, w, gc, points, 360, Complex, CoordModeOrigin); /*@ +compdef @*/ } static void DrawSingleNumber(TachometerWidget w, int which, Cardinal x, Cardinal y) { XSegment segments[7]; Cardinal nsegments, width, height, count; width = (Cardinal) ((w->core.width / 2) - w->tachometer.internal_border); height = (Cardinal) ((w->core.height / 2) - w->tachometer.internal_border); if ((width == 0) || (height == 0)) return; /*@ +charint -compdef */ for (count = 0, nsegments = 0; count < 7; count++) if (num_segment[which].digit[count] == 1) { segments[nsegments].x1 = (short) (x + ((double)offset[count].x1 * ((double)width / 200.0))); segments[nsegments].y1 = (short) (y + ((double)offset[count].y1 * ((double)height / 200.0))); segments[nsegments].x2 = (short) (x + ((double)offset[count].x2 * ((double)width / 200.0))); segments[nsegments].y2 = (short) (y + ((double)offset[count].y2 * ((double)height / 200.0))); nsegments++; } (void)XDrawSegments(XtDisplay(w), XtWindow(w), w->tachometer.scale_GC, segments, (int)nsegments); /*@ -charint +compdef */ } static void DrawNumbers(TachometerWidget w, int which, Cardinal x, Cardinal y) { if (which == 10) { DrawSingleNumber(w, 1, (Cardinal) ((double)x * 0.9), y); DrawSingleNumber(w, 0, x, y); } else DrawSingleNumber(w, which, x, y); } static void DrawLabelString(TachometerWidget w) { XPoint points[5]; int char_count, data_count; Cardinal ry, center_x, center_y, radius_x, radius_y; GC gc; center_x = (Cardinal) (w->core.width / 2); center_y = (Cardinal) (w->core.height / 2); radius_x = center_x - w->tachometer.internal_border; radius_y = center_y - w->tachometer.internal_border; if (!(center_x != 0 && center_y != 0 && (radius_x > 0) && (radius_y > 0))) return; ry = (Cardinal) (radius_y * 0.35 + center_y); gc = w->tachometer.scale_GC; /*@ -compdef @*/ for (char_count = 0; char_count < 4; char_count++) { for (data_count = 0; data_count < char_data[char_count].nofline; data_count++) { points[data_count].x = (short) ((char_data[char_count].point_list[data_count].x) * (double)radius_x * 0.01 + center_x); points[data_count].y = (short) ((char_data[char_count].point_list[data_count].y) * (double)radius_y * 0.01 + ry); } (void)XDrawLines(XtDisplay(w), XtWindow(w), gc, points, char_data[char_count].nofline, CoordModeOrigin); } /*@ +compdef @*/ } static void DrawGauge(TachometerWidget w) { XPoint points[4]; Cardinal in_gauge_x, in_gauge_y, out_gauge_x, out_gauge_y; Cardinal number_x, number_y, center_x, center_y, radius_x, radius_y; GC gc; double step, jump = 1.0; /*@ -type -unsignedcompare -compdef @*/ center_x = w->core.width / 2; center_y = w->core.height / 2; radius_x = center_x - w->tachometer.internal_border; radius_y = center_y - w->tachometer.internal_border; if ((center_x == 0) || (center_y == 0) || (radius_x <= 0) || (radius_y <= 0)) return; /* Can't draw anything */ gc = w->tachometer.scale_GC; for (step = 330.0; step >= 30.0; step -= jump) { if ((Cardinal) (step) % 30 == 0) { points[0].x = sin((step + 1.0) * D2R) * radius_x * 0.75 + center_x; points[0].y = cos((step + 1.0) * D2R) * radius_y * 0.75 + center_y; points[1].x = sin((step - 1.0) * D2R) * radius_x * 0.75 + center_x; points[1].y = cos((step - 1.0) * D2R) * radius_y * 0.75 + center_y; points[2].x = sin((step - 1.0) * D2R) * radius_x * 0.85 + center_x; points[2].y = cos((step - 1.0) * D2R) * radius_y * 0.85 + center_y; points[3].x = sin((step + 1.0) * D2R) * radius_x * 0.85 + center_x; points[3].y = cos((step + 1.0) * D2R) * radius_y * 0.85 + center_y; (void)XFillPolygon(XtDisplay(w), XtWindow(w), gc, points, 4, Complex, CoordModeOrigin); number_x = sin((step + 1.0) * D2R) * radius_x * 0.65 + center_x; number_y = cos((step + 1.0) * D2R) * radius_y * 0.65 + center_y; if ((int)((330.0 - step) / 30.0) == 1) jump = 3.0; DrawNumbers(w, (unsigned char)((330.0 - step) / 30.0), number_x, number_y); } else { in_gauge_x = sin(step * D2R) * radius_x * 0.8 + center_x; in_gauge_y = cos(step * D2R) * radius_y * 0.8 + center_y; out_gauge_x = sin(step * D2R) * radius_x * 0.85 + center_x; out_gauge_y = cos(step * D2R) * radius_y * 0.85 + center_y; (void)XDrawLine(XtDisplay(w), XtWindow(w), gc, in_gauge_x, in_gauge_y, out_gauge_x, out_gauge_y); } } /*@ +type +unsignedcompare +compdef @*/ DrawLabelString(w); } static void DrawNeedle(TachometerWidget w, int load) { XPoint points[6]; double cur_theta1, cur_theta2, cur_theta3, cur_theta4, cur_theta5; Cardinal center_x, center_y, radius_x, radius_y; /*@ -type -unsignedcompare -compdef @*/ center_x = w->core.width / 2; center_y = w->core.height / 2; radius_x = center_x - w->tachometer.internal_border; radius_y = center_y - w->tachometer.internal_border; if ((center_x == 0) || (center_y == 0) || (radius_x <= 0) || (radius_y <= 0)) return; /* can't draw anything */ cur_theta1 = (double)(330 - (load * 3)) * D2R; cur_theta2 = (double)(330 - (load * 3) + 1) * D2R; cur_theta3 = (double)(330 - (load * 3) - 1) * D2R; cur_theta4 = (330.0 - ((double)load * 3.0) + 7.0) * D2R; cur_theta5 = (330.0 - ((double)load * 3.0) - 7.0) * D2R; points[0].x = (short)(sin(cur_theta1) * radius_x * 0.75 + center_x); points[0].y = (short)(cos(cur_theta1) * radius_y * 0.75 + center_y); points[1].x = (short)(sin(cur_theta2) * radius_x * 0.7 + center_x); points[1].y = (short)(cos(cur_theta2) * radius_y * 0.7 + center_y); points[2].x = (short)(sin(cur_theta4) * radius_x * 0.1 + center_x); points[2].y = (short)(cos(cur_theta4) * radius_y * 0.1 + center_y); points[3].x = (short)(sin(cur_theta5) * radius_x * 0.1 + center_x); points[3].y = (short)(cos(cur_theta5) * radius_y * 0.1 + center_y); points[4].x = (short)(sin(cur_theta3) * radius_x * 0.7 + center_x); points[4].y = (short)(cos(cur_theta3) * radius_y * 0.7 + center_y); /*@ -usedef @*/ points[5].x = points[0].x; points[5].y = points[0].y; /*@ +usedef @*/ (void)XDrawLines(XtDisplay(w), XtWindow(w), w->tachometer.needle_GC, points, 6, CoordModeOrigin); /*@ +type +unsignedcompare +compdef @*/ } static void DrawTachometer(TachometerWidget w) { Cardinal center_x, center_y, radius_x, radius_y; /*@ -type -unsignedcompare -compdef @*/ center_x = w->core.width / 2; center_y = w->core.height / 2; radius_x = center_x - w->tachometer.internal_border; radius_y = center_y - w->tachometer.internal_border; if ((center_x == 0) || (center_y == 0) || (radius_x <= 0) || (radius_y <= 0)) return; /* Can't draw anything -- no room */ /* Big circle */ FastFillCircle(XtDisplay(w), XtWindow(w), w->tachometer.circle_GC, center_x, center_y, radius_x, radius_y); /* Inner circle same color as the background */ FastFillCircle(XtDisplay(w), XtWindow(w), w->tachometer.background_GC, center_x, center_y, (Cardinal) (radius_x * 0.95), (Cardinal) (radius_y * 0.95)); /* Small circle */ FastFillCircle(XtDisplay(w), XtWindow(w), w->tachometer.circle_GC, center_x, center_y, (Cardinal) (radius_x * 0.1), (Cardinal) (radius_y * 0.1)); /* Draw the details */ DrawGauge(w); DrawNeedle(w, w->tachometer.value); /*@ +type +unsignedcompare +compdef @*/ } static void MoveNeedle(TachometerWidget w, int new) { int step, old, loop; old = w->tachometer.value; if (new > 100) new = 100; if (old == new) return; else if (old < new) step = (w->tachometer.speed ? w->tachometer.speed : new - old); else step = (w->tachometer.speed ? -w->tachometer.speed : new - old); /*@ -usedef @*/ if (old < new) { for (loop = old; loop < new; loop += step) DrawNeedle(w, loop); for (loop = old + step; loop <= new; loop += step) DrawNeedle(w, loop); } else { for (loop = old; loop > new; loop += step) DrawNeedle(w, loop); for (loop = old + step; loop >= new; loop += step) DrawNeedle(w, loop); } if (loop != new + step) /* The final needle wasn't printed */ DrawNeedle(w, new); /*@ +usedef @*/ w->tachometer.value = new; } static void GetneedleGC(TachometerWidget ta) { XGCValues values; values.background = ta->core.background_pixel; values.foreground = ta->tachometer.needle ^ ta->core.background_pixel; values.function = GXxor; /*@ -type -compdef -mustfreeonly @*/ ta->tachometer.needle_GC = XtGetGC((Widget) ta, (unsigned)GCFunction | GCBackground | GCForeground, &values); /*@ +type +compdef +mustfreeonly @*/ } static void GetscaleGC(TachometerWidget ta) { XGCValues values; values.foreground = ta->tachometer.scale; values.background = ta->core.background_pixel; /*@ -type -compdef -mustfreeonly @*/ ta->tachometer.scale_GC = XtGetGC((Widget) ta, (unsigned)GCForeground | GCBackground, &values); /*@ +type +compdef +mustfreeonly @*/ } static void GetcircleGC(TachometerWidget ta) { XGCValues values; values.foreground = ta->tachometer.circle; values.background = ta->core.background_pixel; /*@ -type -compdef -mustfreeonly @*/ ta->tachometer.circle_GC = XtGetGC((Widget) ta, (unsigned)GCForeground | GCBackground, &values); /*@ +type +compdef +mustfreeonly @*/ } static void GetbackgroundGC(TachometerWidget ta) { XGCValues values; values.foreground = ta->core.background_pixel; values.background = ta->core.background_pixel; /*@ -type -compdef -mustfreeonly @*/ ta->tachometer.background_GC = XtGetGC((Widget) ta, (unsigned)GCForeground | GCBackground, &values); /*@ +type +compdef +mustfreeonly @*/ } static void Initialize(Widget request UNUSED, Widget new) { TachometerWidget ta = (TachometerWidget) new; GetneedleGC(ta); GetcircleGC(ta); GetscaleGC(ta); GetbackgroundGC(ta); ta->tachometer.width = ta->tachometer.height = 0; } /* Initialize */ static void Realize(Widget w, Mask * valueMask, XSetWindowAttributes * attributes) { *valueMask |= CWBitGravity; attributes->bit_gravity = NorthWestGravity; (*superclass->core_class.realize) (w, valueMask, attributes); } /* Realize */ static void Redisplay(Widget w, XEvent * event, Region region UNUSED) { if (event->xexpose.count == 0) DrawTachometer((TachometerWidget) w); } /* Redisplay */ static void Resize(Widget w) { TachometerWidget ta = (TachometerWidget) w; if ((ta->core.width == ta->tachometer.width) && (ta->core.height == ta->tachometer.height)) /* What resize? We don't see a resize! */ return; (void)XClearWindow(XtDisplay(w), XtWindow(w)); if ((ta->core.width <= ta->tachometer.width) && (ta->core.height <= ta->tachometer.height)) /* Only redraw here if no expose events are going to be */ /* generated, i.e. if the window has not grown horizontally */ /* or vertically. */ DrawTachometer(ta); ta->tachometer.width = ta->core.width; ta->tachometer.height = ta->core.height; } /* Resize */ static Boolean SetValues(Widget current, Widget request UNUSED, Widget new) /* Set specified arguments into widget */ { /*@ -type -boolops -predboolothers @*/ Boolean back, changed = (Boolean) False; TachometerWidget curta = (TachometerWidget) current; TachometerWidget newta = (TachometerWidget) new; back = (curta->core.background_pixel != newta->core.background_pixel); if (back || (curta->tachometer.needle != newta->tachometer.needle)) { (void)XtReleaseGC(new, newta->tachometer.needle_GC); GetneedleGC(newta); changed = True; } if (back || (curta->tachometer.scale != newta->tachometer.scale)) { (void)XtReleaseGC(new, newta->tachometer.scale_GC); GetscaleGC(newta); changed = True; } if (back || (curta->tachometer.circle != newta->tachometer.circle)) { (void)XtReleaseGC(new, newta->tachometer.circle_GC); GetcircleGC(newta); changed = True; } if (back) { (void)XtReleaseGC(new, newta->tachometer.background_GC); GetbackgroundGC(newta); changed = True; } if (curta->tachometer.value != newta->tachometer.value) { MoveNeedle(newta, newta->tachometer.value); changed = True; } /*@ +type +boolops +predboolothers @*/ return (changed); } static void Destroy(Widget w) { TachometerWidget ta = (TachometerWidget) w; (void)XtReleaseGC(w, ta->tachometer.needle_GC); (void)XtReleaseGC(w, ta->tachometer.circle_GC); (void)XtReleaseGC(w, ta->tachometer.scale_GC); (void)XtReleaseGC(w, ta->tachometer.background_GC); } /* Exported Procedures */ int TachometerGetValue(Widget w) { return (((TachometerWidget) w)->tachometer.value); } int TachometerSetValue(Widget w, int i) { int old; TachometerWidget ta = (TachometerWidget) w; old = ta->tachometer.value; MoveNeedle(ta, i); return (old); } gpsd-3.9/Tachometer.h0000664000175000017500000000326111757250537012752 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #ifndef _GPSD_TACHOMETER_H_ #define _GPSD_TACHOMETER_H_ /* Tachometer.h -- tachometer widget interface */ #include /* Resources: Name Class RepType Default Value ---- ----- ------- ------------- background Background Pixel XtDefaultBackground border BorderColor Pixel XtDefaultForeground circleColor BorderColor Pixel XtDefaultForeground borderWidth BorderWidth Dimension 0 cursor Cursor Cursor None destroyCallback Callback XtCallbackList NULL foreground Foreground Pixel XtDefaultForeground height Height Dimension 100 insensitiveBorder Insensitive Pixmap Gray internalBorderWidth BorderWidth Dimension 0 mappedWhenManaged MappedWhenManaged Boolean True needleColor BorderColor Pixel XtDefaultForeground needleSpeed NeedleSpeed int 1 sensitive Sensitive Boolean True width Width Dimension 100 value Value int 0 x Position Position 0 y Position Position 0 */ #define XtNinternalBorderWidth "internalBorderWidth" #define XtNtachometerNeedleSpeed "needleSpeed" #define XtNtachometerCircleColor "circleColor" #define XtNtachometerNeedleColor "needleColor" #define XtCtachometerNeedleSpeed "NeedleSpeed" extern int TachometerGetValue(Widget); extern int TachometerSetValue(Widget, int); /* Class record constants */ extern WidgetClass tachometerWidgetClass; typedef struct _TachometerClassRec *TachometerWidgetClass; typedef struct _TachometerRec *TachometerWidget; #endif /* _GPSD_TACHOMETER_H_ */ gpsd-3.9/TachometerP.h0000664000175000017500000000245311757250537013074 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #ifndef _GPSD_TACHOMETERP_H_ #define _GPSD_TACHOMETERP_H_ /* TachometerP.h -- Tachometer widget private data */ #include #include /* New fields for the Tachometer widget class record */ typedef struct {int foo;} TachometerClassPart; /* Full class record declaration */ typedef struct _TachometerClassRec { CoreClassPart core_class; SimpleClassPart simple_class; TachometerClassPart label_class; } TachometerClassRec; extern TachometerClassRec tachometerClassRec; /* New fields for the Tachometer widget record */ typedef struct { /* resources */ Pixel needle, scale, circle; int value, speed; /* private state */ GC needle_GC, scale_GC, circle_GC, background_GC; /* We need to store the width and height separately, because when */ /* we get a resize request, we need to know if the window has */ /* gotten bigger. */ Dimension width, height, internal_border; } TachometerPart; /* Full instance record declaration */ typedef struct _TachometerRec { CorePart core; SimplePart simple; TachometerPart tachometer; } TachometerRec; #endif /* _GPSD_TACHOMETERP_H_ */ gpsd-3.9/ais_json.c0000664000175000017500000003437712022345475012463 0ustar esresr/**************************************************************************** NAME ais_json.c - deserialize AIS JSON DESCRIPTION This module uses the generic JSON parser to get data from AIS representations to libgps structures. ***************************************************************************/ #include #include #include #include #include #include "gpsd_config.h" #include "gps.h" #include "json.h" #ifdef SOCKET_EXPORT_ENABLE /* FIXME: kluges because we don't want to include gpsd.h here */ extern int gpsd_hexpack(/*@in@*/const char *, /*@out@*/char *, size_t); int json_ais_read(const char *, char *, size_t, struct ais_t *, /*@null@*/const char **); /*@ -mustdefine @*/ static void lenhex_unpack(const char *from, size_t * plen, /*@out@*/ char *to, size_t maxlen) { char *colon = strchr(from, ':'); *plen = (size_t) atoi(from); if (colon != NULL) (void)gpsd_hexpack(colon + 1, to, maxlen); } /*@ +mustdefine @*/ int json_ais_read(const char *buf, char *path, size_t pathlen, struct ais_t *ais, /*@null@*/ const char **endptr) { /* collected but not actually used yet */ bool scaled; /*@-compdef@*//* splint is confused by storage declared in the .i file */ /*@-nullstate@*/ #define AIS_HEADER \ {"class", t_check, .dflt.check = "AIS"}, \ {"type", t_uinteger, .addr.uinteger = &ais->type}, \ {"device", t_string, .addr.string = path, \ .len = pathlen}, \ {"repeat", t_uinteger, .addr.uinteger = &ais->repeat}, \ {"scaled", t_boolean, .addr.boolean = &scaled, \ .dflt.boolean = false}, \ {"mmsi", t_uinteger, .addr.uinteger = &ais->mmsi}, #define AIS_TYPE6 \ {"seqno", t_uinteger, .addr.uinteger = &ais->type6.seqno,\ .dflt.uinteger = 0},\ {"dest_mmsi", t_uinteger, .addr.uinteger = &ais->type6.dest_mmsi,\ .dflt.uinteger = 0},\ {"retransmit", t_boolean, .addr.boolean = &ais->type6.retransmit,\ .dflt.boolean = false},\ {"dac", t_uinteger, .addr.uinteger = &ais->type6.dac,\ .dflt.uinteger = 0},\ {"fid", t_uinteger, .addr.uinteger = &ais->type6.fid,\ .dflt.uinteger = 0}, #define AIS_TYPE8 \ {"dac", t_uinteger, .addr.uinteger = &ais->type8.dac,\ .dflt.uinteger = 0},\ {"fid", t_uinteger, .addr.uinteger = &ais->type8.fid,\ .dflt.uinteger = 0}, int status; #include "ais_json.i" /* JSON parser template structures */ #undef AIS_HEADER memset(ais, '\0', sizeof(struct ais_t)); /*@-usedef@*/ if (strstr(buf, "\"type\":1,") != NULL || strstr(buf, "\"type\":2,") != NULL || strstr(buf, "\"type\":3,") != NULL) { status = json_read_object(buf, json_ais1, endptr); } else if (strstr(buf, "\"type\":4,") != NULL || strstr(buf, "\"type\":11,") != NULL) { status = json_read_object(buf, json_ais4, endptr); if (status == 0) { ais->type4.year = AIS_YEAR_NOT_AVAILABLE; ais->type4.month = AIS_MONTH_NOT_AVAILABLE; ais->type4.day = AIS_DAY_NOT_AVAILABLE; ais->type4.hour = AIS_HOUR_NOT_AVAILABLE; ais->type4.minute = AIS_MINUTE_NOT_AVAILABLE; ais->type4.second = AIS_SECOND_NOT_AVAILABLE; // We use %09u for the date to allow for dodgy years (>9999) to go through // cppcheck-suppress uninitvar (void)sscanf(timestamp, "%09u-%02u-%02uT%02u:%02u:%02uZ", &ais->type4.year, &ais->type4.month, &ais->type4.day, &ais->type4.hour, &ais->type4.minute, &ais->type4.second); } } else if (strstr(buf, "\"type\":5,") != NULL) { status = json_read_object(buf, json_ais5, endptr); if (status == 0) { ais->type5.month = AIS_MONTH_NOT_AVAILABLE; ais->type5.day = AIS_DAY_NOT_AVAILABLE; ais->type5.hour = AIS_HOUR_NOT_AVAILABLE; ais->type5.minute = AIS_MINUTE_NOT_AVAILABLE; // cppcheck-suppress uninitvar (void)sscanf(eta, "%02u-%02uT%02u:%02uZ", &ais->type5.month, &ais->type5.day, &ais->type5.hour, &ais->type5.minute); } } else if (strstr(buf, "\"type\":6,") != NULL) { bool imo = false; if (strstr(buf, "\"dac\":1,") != NULL) { if (strstr(buf, "\"fid\":12,") != NULL) { status = json_read_object(buf, json_ais6_fid12, endptr); if (status == 0) { ais->type6.dac1fid12.lmonth = AIS_MONTH_NOT_AVAILABLE; ais->type6.dac1fid12.lday = AIS_DAY_NOT_AVAILABLE; ais->type6.dac1fid12.lhour = AIS_HOUR_NOT_AVAILABLE; ais->type6.dac1fid12.lminute = AIS_MINUTE_NOT_AVAILABLE; // cppcheck-suppress uninitvar (void)sscanf(departure, "%02u-%02uT%02u:%02uZ", &ais->type6.dac1fid12.lmonth, &ais->type6.dac1fid12.lday, &ais->type6.dac1fid12.lhour, &ais->type6.dac1fid12.lminute); ais->type6.dac1fid12.nmonth = AIS_MONTH_NOT_AVAILABLE; ais->type6.dac1fid12.nday = AIS_DAY_NOT_AVAILABLE; ais->type6.dac1fid12.nhour = AIS_HOUR_NOT_AVAILABLE; ais->type6.dac1fid12.nminute = AIS_MINUTE_NOT_AVAILABLE; // cppcheck-suppress uninitvar (void)sscanf(eta, "%02u-%02uT%02u:%02uZ", &ais->type6.dac1fid12.nmonth, &ais->type6.dac1fid12.nday, &ais->type6.dac1fid12.nhour, &ais->type6.dac1fid12.nminute); } imo = true; } else if (strstr(buf, "\"fid\":15,") != NULL) { status = json_read_object(buf, json_ais6_fid15, endptr); imo = true; } else if (strstr(buf, "\"fid\":16,") != NULL) { status = json_read_object(buf, json_ais6_fid16, endptr); imo = true; } else if (strstr(buf, "\"fid\":18,") != NULL) { status = json_read_object(buf, json_ais6_fid18, endptr); if (status == 0) { ais->type6.dac1fid18.day = AIS_DAY_NOT_AVAILABLE; ais->type6.dac1fid18.hour = AIS_HOUR_NOT_AVAILABLE; ais->type6.dac1fid18.minute = AIS_MINUTE_NOT_AVAILABLE; // cppcheck-suppress uninitvar (void)sscanf(arrival, "%02u-%02uT%02u:%02uZ", &ais->type6.dac1fid18.month, &ais->type6.dac1fid18.day, &ais->type6.dac1fid18.hour, &ais->type6.dac1fid18.minute); } imo = true; } else if (strstr(buf, "\"fid\":20,") != NULL) { status = json_read_object(buf, json_ais6_fid20, endptr); if (status == 0) { ais->type6.dac1fid20.month = AIS_MONTH_NOT_AVAILABLE; ais->type6.dac1fid20.day = AIS_DAY_NOT_AVAILABLE; ais->type6.dac1fid20.hour = AIS_HOUR_NOT_AVAILABLE; ais->type6.dac1fid20.minute = AIS_MINUTE_NOT_AVAILABLE; // cppcheck-suppress uninitvar (void)sscanf(arrival, "%02u-%02uT%02u:%02uZ", &ais->type6.dac1fid20.month, &ais->type6.dac1fid20.day, &ais->type6.dac1fid20.hour, &ais->type6.dac1fid20.minute); } imo = true; } else if (strstr(buf, "\"fid\":25,") != NULL) { status = json_read_object(buf, json_ais6_fid25, endptr); imo = true; } else if (strstr(buf, "\"fid\":28,") != NULL) { status = json_read_object(buf, json_ais6_fid28, endptr); if (status == 0) { ais->type6.dac1fid28.month = AIS_MONTH_NOT_AVAILABLE; ais->type6.dac1fid28.day = AIS_DAY_NOT_AVAILABLE; ais->type6.dac1fid28.hour = AIS_HOUR_NOT_AVAILABLE; ais->type6.dac1fid28.minute = AIS_MINUTE_NOT_AVAILABLE; // cppcheck-suppress uninitvar (void)sscanf(start, "%02u-%02uT%02u:%02uZ", &ais->type6.dac1fid28.month, &ais->type6.dac1fid28.day, &ais->type6.dac1fid28.hour, &ais->type6.dac1fid28.minute); } imo = true; } else if (strstr(buf, "\"fid\":30,") != NULL) { status = json_read_object(buf, json_ais6_fid30, endptr); imo = true; } else if (strstr(buf, "\"fid\":32,") != NULL || strstr(buf, "\"fid\":14,") != NULL) { status = json_read_object(buf, json_ais6_fid32, endptr); imo = true; } } else if (strstr(buf, "\"dac\":235,") != NULL || strstr(buf, "\"dac\":250,") != NULL) { if (strstr(buf, "\"fid\":10,") != NULL) { status = json_read_object(buf, json_ais6_fid10, endptr); imo = true; } } if (!imo) { status = json_read_object(buf, json_ais6, endptr); if (status == 0) lenhex_unpack(data, &ais->type6.bitcount, ais->type6.bitdata, sizeof(ais->type6.bitdata)); } } else if (strstr(buf, "\"type\":7,") != NULL || strstr(buf, "\"type\":13,") != NULL) { status = json_read_object(buf, json_ais7, endptr); } else if (strstr(buf, "\"type\":8,") != NULL) { bool imo = false; if (strstr(buf, "\"dac\":1,") != NULL) { if (strstr(buf, "\"fid\":11,") != NULL) { status = json_read_object(buf, json_ais8_fid11, endptr); if (status == 0) { ais->type8.dac1fid11.day = AIS_DAY_NOT_AVAILABLE; ais->type8.dac1fid11.hour = AIS_HOUR_NOT_AVAILABLE; ais->type8.dac1fid11.minute = AIS_MINUTE_NOT_AVAILABLE; // cppcheck-suppress uninitvar (void)sscanf(timestamp, "%02uT%02u:%02uZ", &ais->type8.dac1fid11.day, &ais->type8.dac1fid11.hour, &ais->type8.dac1fid11.minute); } imo = true; } else if (strstr(buf, "\"fid\":13,") != NULL) { status = json_read_object(buf, json_ais8_fid13, endptr); if (status == 0) { ais->type8.dac1fid13.fmonth = AIS_MONTH_NOT_AVAILABLE; ais->type8.dac1fid13.fday = AIS_DAY_NOT_AVAILABLE; ais->type8.dac1fid13.fhour = AIS_HOUR_NOT_AVAILABLE; ais->type8.dac1fid13.fminute = AIS_MINUTE_NOT_AVAILABLE; // cppcheck-suppress uninitvar (void)sscanf(departure, "%02u-%02uT%02u:%02uZ", &ais->type8.dac1fid13.fmonth, &ais->type8.dac1fid13.fday, &ais->type8.dac1fid13.fhour, &ais->type8.dac1fid13.fminute); ais->type8.dac1fid13.tmonth = AIS_MONTH_NOT_AVAILABLE; ais->type8.dac1fid13.tday = AIS_DAY_NOT_AVAILABLE; ais->type8.dac1fid13.thour = AIS_HOUR_NOT_AVAILABLE; ais->type8.dac1fid13.tminute = AIS_MINUTE_NOT_AVAILABLE; // cppcheck-suppress uninitvar (void)sscanf(eta, "%02u-%02uT%02u:%02uZ", &ais->type8.dac1fid13.tmonth, &ais->type8.dac1fid13.tday, &ais->type8.dac1fid13.thour, &ais->type8.dac1fid13.tminute); } imo = true; } else if (strstr(buf, "\"fid\":15,") != NULL) { status = json_read_object(buf, json_ais8_fid15, endptr); imo = true; } else if (strstr(buf, "\"fid\":17,") != NULL) { status = json_read_object(buf, json_ais8_fid17, endptr); imo = true; } else if (strstr(buf, "\"fid\":19,") != NULL) { status = json_read_object(buf, json_ais8_fid19, endptr); imo = true; } else if (strstr(buf, "\"fid\":27,") != NULL) { status = json_read_object(buf, json_ais8_fid27, endptr); if (status == 0) { ais->type8.dac1fid27.month = AIS_MONTH_NOT_AVAILABLE; ais->type8.dac1fid27.day = AIS_DAY_NOT_AVAILABLE; ais->type8.dac1fid27.hour = AIS_HOUR_NOT_AVAILABLE; ais->type8.dac1fid27.minute = AIS_MINUTE_NOT_AVAILABLE; // cppcheck-suppress uninitvar (void)sscanf(start, "%02u-%02uT%02u:%02uZ", &ais->type8.dac1fid27.month, &ais->type8.dac1fid27.day, &ais->type8.dac1fid27.hour, &ais->type8.dac1fid27.minute); } imo = true; } else if (strstr(buf, "\"fid\":29,") != NULL) { status = json_read_object(buf, json_ais8_fid29, endptr); imo = true; } else if (strstr(buf, "\"fid\":31,") != NULL) { status = json_read_object(buf, json_ais8_fid31, endptr); if (status == 0) { ais->type8.dac1fid31.day = AIS_DAY_NOT_AVAILABLE; ais->type8.dac1fid31.hour = AIS_HOUR_NOT_AVAILABLE; ais->type8.dac1fid31.minute = AIS_MINUTE_NOT_AVAILABLE; // cppcheck-suppress uninitvar (void)sscanf(timestamp, "%02uT%02u:%02uZ", &ais->type8.dac1fid31.day, &ais->type8.dac1fid31.hour, &ais->type8.dac1fid31.minute); } imo = true; } } if (!imo) { status = json_read_object(buf, json_ais8, endptr); if (status == 0) lenhex_unpack(data, &ais->type8.bitcount, ais->type8.bitdata, sizeof(ais->type8.bitdata)); } } else if (strstr(buf, "\"type\":9,") != NULL) { status = json_read_object(buf, json_ais9, endptr); } else if (strstr(buf, "\"type\":10,") != NULL) { status = json_read_object(buf, json_ais10, endptr); } else if (strstr(buf, "\"type\":12,") != NULL) { status = json_read_object(buf, json_ais12, endptr); } else if (strstr(buf, "\"type\":14,") != NULL) { status = json_read_object(buf, json_ais14, endptr); } else if (strstr(buf, "\"type\":15,") != NULL) { status = json_read_object(buf, json_ais15, endptr); } else if (strstr(buf, "\"type\":16,") != NULL) { status = json_read_object(buf, json_ais16, endptr); } else if (strstr(buf, "\"type\":17,") != NULL) { status = json_read_object(buf, json_ais17, endptr); if (status == 0) lenhex_unpack(data, &ais->type17.bitcount, ais->type17.bitdata, sizeof(ais->type17.bitdata)); } else if (strstr(buf, "\"type\":18,") != NULL) { status = json_read_object(buf, json_ais18, endptr); } else if (strstr(buf, "\"type\":19,") != NULL) { status = json_read_object(buf, json_ais19, endptr); } else if (strstr(buf, "\"type\":20,") != NULL) { status = json_read_object(buf, json_ais20, endptr); } else if (strstr(buf, "\"type\":21,") != NULL) { status = json_read_object(buf, json_ais21, endptr); } else if (strstr(buf, "\"type\":22,") != NULL) { status = json_read_object(buf, json_ais22, endptr); } else if (strstr(buf, "\"type\":23,") != NULL) { status = json_read_object(buf, json_ais23, endptr); } else if (strstr(buf, "\"type\":24,") != NULL) { status = json_read_object(buf, json_ais24, endptr); } else if (strstr(buf, "\"type\":25,") != NULL) { status = json_read_object(buf, json_ais25, endptr); if (status == 0) lenhex_unpack(data, &ais->type25.bitcount, ais->type25.bitdata, sizeof(ais->type25.bitdata)); } else if (strstr(buf, "\"type\":26,") != NULL) { status = json_read_object(buf, json_ais26, endptr); if (status == 0) lenhex_unpack(data, &ais->type26.bitcount, ais->type26.bitdata, sizeof(ais->type26.bitdata)); } else if (strstr(buf, "\"type\":27,") != NULL) { status = json_read_object(buf, json_ais27, endptr); } else { if (endptr != NULL) *endptr = NULL; return JSON_ERR_MISC; } return status; /*@+compdef +usedef +nullstate@*/ } #endif /* SOCKET_EXPORT_ENABLE */ /* ais_json.c ends here */ gpsd-3.9/bits.c0000664000175000017500000000752412110356005011576 0ustar esresr/* bits.c - bitfield extraction code * * This file is Copyright (c)2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. * * Bitfield extraction functions. In each, start is a bit index - not * a byte index - and width is a bit width. The width is bounded above by * 64 bits. * * The sbits() function assumes twos-complement arithmetic. ubits() * and sbits() assume no padding in integers. */ #include #include #include #include #include "bits.h" uint64_t ubits(unsigned char buf[], unsigned int start, unsigned int width, bool le) /* extract a (zero-origin) bitfield from the buffer as an unsigned big-endian uint64_t */ { uint64_t fld = 0; unsigned int i; unsigned end; /*@i1@*/ assert(width <= sizeof(uint64_t) * CHAR_BIT); for (i = start / CHAR_BIT; i < (start + width + CHAR_BIT - 1) / CHAR_BIT; i++) { /*@i1@*/fld <<= CHAR_BIT; fld |= (unsigned char)buf[i]; } end = (start + width) % CHAR_BIT; if (end != 0) { /*@i1@*/fld >>= (CHAR_BIT - end); } /*@ -shiftimplementation @*/ fld &= ~(-1LL << width); /*@ +shiftimplementation @*/ /* was extraction as a little-endian requested? */ if (le) { uint64_t reversed = 0; for (i = width; i; --i) { reversed <<= 1; if (fld & 1) reversed |= 1; fld >>= 1; } fld = reversed; } return fld; } int64_t sbits(signed char buf[], unsigned int start, unsigned int width, bool le) /* extract a bitfield from the buffer as a signed big-endian long */ { uint64_t fld = ubits((unsigned char *)buf, start, width, le); /*@ +relaxtypes */ if (fld & (1LL << (width - 1))) { /*@ -shiftimplementation @*/ fld |= (-1LL << (width - 1)); /*@ +shiftimplementation @*/ } return (int64_t)fld; /*@ -relaxtypes */ } union int_float { int32_t i; float f; }; union long_double { int64_t l; double d; }; float getlef32(const char *buf, int off) { union int_float i_f; i_f.i = getles32(buf, off); return i_f.f; } double getled64(const char *buf, int off) { union long_double l_d; l_d.l = getles64(buf, off); return l_d.d; } float getbef32(const char *buf, int off) { union int_float i_f; i_f.i = getbes32(buf, off); return i_f.f; } double getbed64(const char *buf, int off) { union long_double l_d; l_d.l = getbes64(buf, off); return l_d.d; } /*@-shiftimplementation@*/ void putbef32(char *buf, int off, float val) { union int_float i_f; i_f.f = val; /* this would be a putbe32 call if not for a signedness issue */ buf[off] = (char)(((i_f.i) >> 16) >> 8); } /*@+shiftimplementation@*/ #ifdef __UNUSED__ // cppcheck-suppress unusedFunction u_int16_t swap_u16(u_int16_t i) /* byte-swap a 16-bit unsigned int */ { u_int8_t c1, c2; c1 = i & 255; c2 = (i >> 8) & 255; return (c1 << 8) + c2; } // cppcheck-suppress unusedFunction u_int32_t swap_u32(u_int32_t i) /* byte-swap a 32-bit unsigned int */ { u_int8_t c1, c2, c3, c4; c1 = i & 255; c2 = (i >> 8) & 255; c3 = (i >> 16) & 255; c4 = (i >> 24) & 255; return ((u_int32_t)c1 << 24) + ((u_int32_t)c2 << 16) + ((u_int32_t)c3 << 8) + c4; } // cppcheck-suppress unusedFunction u_int64_t swap_u64(u_int64_t i) /* byte-swap a 64-bit unsigned int */ { u_int8_t c1, c2, c3, c4, c5, c6, c7, c8; c1 = i & 255; c2 = (i >> 8) & 255; c3 = (i >> 16) & 255; c4 = (i >> 24) & 255; c5 = (i >> 32) & 255; c6 = (i >> 40) & 255; c7 = (i >> 48) & 255; c8 = (i >> 56) & 255; return ((u_int64_t)c1 << 56) + ((u_int64_t)c2 << 48) + ((u_int64_t)c3 << 40) + ((u_int64_t)c4 << 32) + ((u_int64_t)c5 << 24) + ((u_int64_t)c6 << 16) + ((u_int64_t)c7 << 8) + c8; } #endif /* __UNUSED__ */ gpsd-3.9/bits.h0000664000175000017500000000566712110356005011611 0ustar esresr/* * bits.h - extract binary data from message buffer * * These macros extract bytes, words, longwords, floats, doubles, or * bitfields of arbitrary length and size from a message that contains * these items in either MSB-first or LSB-first byte order. * * We enforce data sizes of integral types in the casts on these. * Both 32- and 64-bit systems with gcc are OK with this set. * * This file is Copyright (c)2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #ifndef _GPSD_BITS_H_ #define _GPSD_BITS_H_ #include /* these are independent of byte order */ #define getsb(buf, off) ((int8_t)buf[off]) #define getub(buf, off) ((uint8_t)buf[off]) #define putbyte(buf,off,b) do {buf[off] = (unsigned char)(b);} while (0) /* little-endian access */ #define getles16(buf, off) ((int16_t)(((uint16_t)getub((buf), (off)+1) << 8) | (uint16_t)getub((buf), (off)))) #define getleu16(buf, off) ((uint16_t)(((uint16_t)getub((buf), (off)+1) << 8) | (uint16_t)getub((buf), (off)))) #define getles32(buf, off) ((int32_t)(((uint16_t)getleu16((buf), (off)+2) << 16) | (uint16_t)getleu16((buf), (off)))) #define getleu32(buf, off) ((uint32_t)(((uint16_t)getleu16((buf),(off)+2) << 16) | (uint16_t)getleu16((buf), (off)))) #define getles64(buf, off) ((int64_t)(((uint64_t)getleu32(buf, (off)+4) << 32) | getleu32(buf, (off)))) #define getleu64(buf, off) ((uint64_t)(((uint64_t)getleu32(buf, (off)+4) << 32) | getleu32(buf, (off)))) extern float getlef32(const char *, int); extern double getled64(const char *, int); #define putle16(buf, off, w) do {putbyte(buf, (off)+1, (uint)(w) >> 8); putbyte(buf, (off), (w));} while (0) #define putle32(buf, off, l) do {putle16(buf, (off)+2, (uint)(l) >> 16); putle16(buf, (off), (l));} while (0) /* big-endian access */ #define getbes16(buf, off) ((int16_t)(((uint16_t)getub(buf, (off)) << 8) | (uint16_t)getub(buf, (off)+1))) #define getbeu16(buf, off) ((uint16_t)(((uint16_t)getub(buf, (off)) << 8) | (uint16_t)getub(buf, (off)+1))) #define getbes32(buf, off) ((int32_t)(((uint16_t)getbeu16(buf, (off)) << 16) | getbeu16(buf, (off)+2))) #define getbeu32(buf, off) ((uint32_t)(((uint16_t)getbeu16(buf, (off)) << 16) | getbeu16(buf, (off)+2))) #define getbes64(buf, off) ((int64_t)(((uint64_t)getbeu32(buf, (off)) << 32) | getbeu32(buf, (off)+4))) #define getbeu64(buf, off) ((uint64_t)(((uint64_t)getbeu32(buf, (off)) << 32) | getbeu32(buf, (off)+4))) extern float getbef32(const char *, int); extern double getbed64(const char *, int); #define putbe16(buf,off,w) do {putbyte(buf, (off), (w) >> 8); putbyte(buf, (off)+1, (w));} while (0) #define putbe32(buf,off,l) do {putbe16(buf, (off), (l) >> 16); putbe16(buf, (off)+2, (l));} while (0) extern void putbef32(char *, int, float); /* bitfield extraction */ extern uint64_t ubits(unsigned char buf[], unsigned int, unsigned int, bool); extern int64_t sbits(signed char buf[], unsigned int, unsigned int, bool); #endif /* _GPSD_BITS_H_ */ gpsd-3.9/bsd_base64.c0000664000175000017500000002456612022345475012571 0ustar esresr/* $OpenBSD: base64.c,v 1.3 1997/11/08 20:46:55 deraadt Exp $ */ /* * Copyright (c) 1996 by Internet Software Consortium. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS * SOFTWARE. */ /* * Portions Copyright (c) 1995 by International Business Machines, Inc. * * International Business Machines, Inc. (hereinafter called IBM) grants * permission under its copyrights to use, copy, modify, and distribute this * Software with or without fee, provided that the above copyright notice and * all paragraphs of this notice appear in all copies, and that the name of IBM * not be used in connection with the marketing of any product incorporating * the Software or modifications thereof, without specific, written prior * permission. * * To the extent it has a right to do so, IBM grants an immunity from suit * under its patents, if any, for the use, sale or manufacture of products to * the extent that such products are used for performing Domain Name System * dynamic updates in TCP/IP networks by means of the Software. No immunity is * granted for any product per se or for any other function of any product. * * THE SOFTWARE IS PROVIDED "AS IS", AND IBM DISCLAIMS ALL WARRANTIES, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A * PARTICULAR PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, * DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER ARISING * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE, EVEN * IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES. */ #include #include "gpsd_config.h" #if !defined(HAVE_B64_NTOP) && !defined(HAVE___B64_NTOP) #include #include #include #include #include #include "bsd_base64.h" #define Assert(Cond) if (!(Cond)) abort() static const char Base64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; static const char Pad64 = '='; /* (From RFC1521 and draft-ietf-dnssec-secext-03.txt) The following encoding technique is taken from RFC 1521 by Borenstein and Freed. It is reproduced here in a slightly edited form for convenience. A 65-character subset of US-ASCII is used, enabling 6 bits to be represented per printable character. (The extra 65th character, "=", is used to signify a special processing function.) The encoding process represents 24-bit groups of input bits as output strings of 4 encoded characters. Proceeding from left to right, a 24-bit input group is formed by concatenating 3 8-bit input groups. These 24 bits are then treated as 4 concatenated 6-bit groups, each of which is translated into a single digit in the base64 alphabet. Each 6-bit group is used as an index into an array of 64 printable characters. The character referenced by the index is placed in the output string. Table 1: The Base64 Alphabet Value Encoding Value Encoding Value Encoding Value Encoding 0 A 17 R 34 i 51 z 1 B 18 S 35 j 52 0 2 C 19 T 36 k 53 1 3 D 20 U 37 l 54 2 4 E 21 V 38 m 55 3 5 F 22 W 39 n 56 4 6 G 23 X 40 o 57 5 7 H 24 Y 41 p 58 6 8 I 25 Z 42 q 59 7 9 J 26 a 43 r 60 8 10 K 27 b 44 s 61 9 11 L 28 c 45 t 62 + 12 M 29 d 46 u 63 / 13 N 30 e 47 v 14 O 31 f 48 w (pad) = 15 P 32 g 49 x 16 Q 33 h 50 y Special processing is performed if fewer than 24 bits are available at the end of the data being encoded. A full encoding quantum is always completed at the end of a quantity. When fewer than 24 input bits are available in an input group, zero bits are added (on the right) to form an integral number of 6-bit groups. Padding at the end of the data is performed using the '=' character. Since all base64 input is an integral number of octets, only the ------------------------------------------------- following cases can arise: (1) the final quantum of encoding input is an integral multiple of 24 bits; here, the final unit of encoded output will be an integral multiple of 4 characters with no "=" padding, (2) the final quantum of encoding input is exactly 8 bits; here, the final unit of encoded output will be two characters followed by two "=" padding characters, or (3) the final quantum of encoding input is exactly 16 bits; here, the final unit of encoded output will be three characters followed by one "=" padding character. */ /*@ +matchanyintegral -type @*/ int b64_ntop(unsigned char const *src, size_t srclength, char *target, size_t targsize) { size_t datalength = 0; unsigned char input[3]; unsigned char output[4]; size_t i; while (2 < srclength) { input[0] = *src++; input[1] = *src++; input[2] = *src++; srclength -= 3; output[0] = input[0] >> 2; output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4); output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6); output[3] = input[2] & 0x3f; Assert(output[0] < 64); Assert(output[1] < 64); Assert(output[2] < 64); Assert(output[3] < 64); if (datalength + 4 > targsize) return (-1); target[datalength++] = Base64[output[0]]; target[datalength++] = Base64[output[1]]; target[datalength++] = Base64[output[2]]; target[datalength++] = Base64[output[3]]; } /* Now we worry about padding. */ if (0 != srclength) { /* Get what's left. */ input[0] = input[1] = input[2] = '\0'; for (i = 0; i < srclength; i++) input[i] = *src++; output[0] = input[0] >> 2; output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4); output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6); Assert(output[0] < 64); Assert(output[1] < 64); Assert(output[2] < 64); if (datalength + 4 > targsize) return (-1); target[datalength++] = Base64[output[0]]; target[datalength++] = Base64[output[1]]; if (srclength == 1) target[datalength++] = Pad64; else target[datalength++] = Base64[output[2]]; target[datalength++] = Pad64; } if (datalength >= targsize) return (-1); target[datalength] = '\0'; /* Returned value doesn't count \0. */ return (datalength); } /*@ -matchanyintegral +type @*/ /* skips all whitespace anywhere. converts characters, four at a time, starting at (or after) src from base - 64 numbers into three 8 bit bytes in the target area. it returns the number of data bytes stored at the target, or -1 on error. */ /*@ +matchanyintegral +charint @*/ int b64_pton(char const *src, unsigned char *target, size_t targsize) { size_t tarindex; int state, ch; char *pos; state = 0; tarindex = 0; while ((ch = *src++) != '\0') { if (isspace(ch)) /* Skip whitespace anywhere. */ continue; if (ch == Pad64) break; if ((pos = strchr(Base64, ch)) == NULL) /* A non-base64 character. */ return (-1); switch (state) { case 0: if (target) { if (tarindex >= targsize) return (-1); target[tarindex] = (pos - Base64) << 2; } state = 1; break; case 1: if (target) { if (tarindex + 1 >= targsize) return (-1); target[tarindex] |= (pos - Base64) >> 4; target[tarindex + 1] = ((pos - Base64) & 0x0f) << 4; } tarindex++; state = 2; break; case 2: if (target) { if (tarindex + 1 >= targsize) return (-1); target[tarindex] |= (pos - Base64) >> 2; target[tarindex + 1] = ((pos - Base64) & 0x03) << 6; } tarindex++; state = 3; break; case 3: if (target) { if (tarindex >= targsize) return (-1); target[tarindex] |= (pos - Base64); } tarindex++; state = 0; break; } } /* * We are done decoding Base-64 chars. Let's see if we ended * on a byte boundary, and/or with erroneous trailing characters. */ if (ch == Pad64) { /* We got a pad char. */ ch = *src++; /* Skip it, get next. */ switch (state) { case 0: /* Invalid = in first position */ case 1: /* Invalid = in second position */ return (-1); case 2: /* Valid, means one byte of info */ /* Skip any number of spaces. */ for (; ch != '\0'; ch = *src++) if (!isspace(ch)) break; /* Make sure there is another trailing = sign. */ if (ch != Pad64) return (-1); ch = *src++; /* Skip the = */ /* Fall through to "single trailing =" case. */ /* FALLTHROUGH */ /*@ -casebreak @*/ case 3: /* Valid, means two bytes of info */ /* * We know this char is an =. Is there anything but * whitespace after it? */ for (; ch != '\0'; ch = *src++) if (!isspace(ch)) return (-1); /* * Now make sure for cases 2 and 3 that the "extra" * bits that slopped past the last full byte were * zeros. If we don't check them, they become a * subliminal channel. */ if (target != 0 && target[tarindex] != 0) return (-1); } } else { /* * We ended by seeing the end of the string. Make sure we * have no partial bytes lying around. */ if (state != 0) return (-1); } return (tarindex); } /*@ +matchanyintegral -charint @*/ #endif /* !defined(HAVE_B64_NTOP) && !defined(HAVE___B64_NTOP) */ gpsd-3.9/bsd_base64.h0000664000175000017500000000103412022345475012557 0ustar esresr/* * This file is Copyright (c)2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #ifndef _BSD_BASE64_H #define _BSD_BASE64_H #ifndef HAVE___B64_NTOP # ifndef HAVE_B64_NTOP int b64_ntop(unsigned char const *src, size_t srclength, char *target, size_t targsize); int b64_pton(char const *src, unsigned char *target, size_t targsize); # endif /* !HAVE_B64_NTOP */ # define __b64_ntop b64_ntop # define __b64_pton b64_pton #endif /* HAVE___B64_NTOP */ #endif /* _BSD_BASE64_H */ gpsd-3.9/build.txt0000664000175000017500000004101612075554542012343 0ustar esresr= Building GPSD from source == This is a guide to building GPSD from a bare source tree. It includes guidance on how to cross-build the package. (This file is marked up in asciidoc.) == Quick start == Under Linux, assuming you have all your build prerequisites in place, this line will do: scons && scons testregress && sudo scons udev-install If you get any errors, you need to read the detailed instructions that follow. == Check your build prerequisites == Necessary components for any build: |============================================================================== |C compiler | gpsd and client library are written in C |Python | some code is generated from python scripts |scons | for executing the build recipe |chrpath | needed with scons for RPATH setting |============================================================================== === C compiler === C99 conformance is required in the compiler. The C code depends on one non-C99 feature: anonymous unions. We could eliminate these, but the cost would be source-level interface breakage if we have to move structure members in and out of unions. GPSD is normally built and tested with GCC. The shared-memory interface relies on one GCCism, but the code is otherwise pretty compiler-agnostic. It is reported that clang produces a gpsd that passes all regression tests. If -Wmissing-field-initializers or its non-gcc equivalent is set you will get a lot of warnings; this is due to generated code and cannot be fixed. Older versions of gcc don't recognize Wno-missing-field-initializers; this has been reported from GCC 3.4.6. We don't recommend building with GCC versions prior to 4.1.1, as these had some floating-point non-conformances that confused our regression testing and might have real-world consequences. === Python === You will need Python 2.5 or later for the build. While Python is required to build GPSD from source (the build uses some code generators in Python), it is not required to run the service daemon. In particular, you can cross-compile onto an embedded system without having to take Python with you. You will need both basic Python and (if your package system makes the distinction) the Python development package used for building C extensions. Usually these are called "python" and "python-dev". You will know you are missing the latter if your compilation fails because of a missing Python.h. === Scons === You will need scons version 2.0.1 or later to build the code. The autotools build from 2.96 and earlier versions has been dropped. === chrpath === chrpath is a tool for editing RPATH in object files. libtool is a messy pile of crocks, and throwing it out of our build chain was a good thing, but it had consequences. Whatever its other flaws, libtool successfully hid some tricky problems related to dynamic-linkage paths; to address these in the scons build, you need chrpath present to edit those paths. Ubuntu users can do 'apt-get install chrpath' CentOS users can do 'yum install chrpath' from extras. Some distribution makers have considered the use of chrpath to be a wart on the build recipe. Here's the problem. Ideally, we want to build build binaries that (a) link dynamically, (b) can be tested in the build directory without installing to system space (in particular, so we can run the regression tests without disturbing a production installation) and (c) won't carry a potential exploit into system space when the binaries are installed. The potential exploit is the remnant presence of the build directory in the binary's internal list of places it will look for shared libraries. We need that to be there for testing purposes, but we want it gone in the version of the binary that's copied to /usr/lib. Otherwise there are threat scenarios with a maliciously crafted library. Without chrpath we can get any two of those three, but we can't get all three. Choosing static linking we get (b) and (c), choosing dynamic linking without chrpath we get (a) and (b). If you configure with chrpath=no, you will suppress use of chrpath, but this also means you will lose the ability to run regression tests in the build directory === Optional build components === Having the following optional components on your system will enable various additional capabilities and extensions: |============================================================================ |C++ compiler | allows building libgpsmm C++ wrapper for client library |Qt 4.53+ | allows building libQgpsmm C++ wrapper for client library |libcap | Capabilities library, allows 1PPS support under Linux |============================================================================ If you have libusb-1.0.0 or later, the GPSD build will autodetect this and use it to discover Garmin USB GPSes, rather than groveling through /proc/bus/usb/devices (which has been deprecated by the Linux kernel team). You can build libQgpsmm if you have Qt (specifically the (specifically QtCore and QtNetwork modules) version 4.5.3 or higher. You will also need a C++ compiler supported by Qt (tested on GCC 4.4.0/mingw on Windows and GCC 4.1.2 on linux). Please refer to Qt's documentation at http://qt.nokia.com/doc/4.6/platform-specific.html for platform specific building documentation For working with DBUS, you'll need the DBUS development headers and libraries installed. Under Debian/Ubuntu these are the packages libdbus-1-dev and libdbus-glib-1-dev. Under Ubuntu, the ncurses package you want is libncurses5-dev. Depending on how your distribution packages ncurses you may also require libtinfo5, a separate terminfo library. On some recent versions of Ubuntu (notably 11.10) there is a packaging defect that may cause your build to blow up in SCons. It's a missing package info file for the tinfo library. To fix this, install the file packaging/tinfo.pc in /usr/lib/pkgconfig/tinfo.pc. For building from the source tree, or if you change the man page source, xslt and docbook xsl style files are used to generate nroff -man source from docbook xml. The following packages are used in this process: |============================================================================ |libxslt | xsltproc is used to build man pages from xml |docbook-xsl | style file for xml to man translation |xmlto | DocBook formatter program |============================================================================ The build degrades gracefully in the absence of any of these. You should be able to tell from scons messages which extensions you will get. Under Ubuntu and most other Debian-derived distributions, an easy way to pick up the prerequisites is: "apt-get build-dep gpsd" If you are custom-building a Linux kernel for embedded deployment, you will need some subset of the following modules: |============================================================================ |pl2303 | Prolific Technology, Inc. PL2303 Serial Port |ftdi_sio | FTDI 8U232AM / FT232 |cypress_m8 | M8/CY7C64013 |cp210x | Cygnal Integrated Products devices |garmin_gps | Garmin USB mice including GPS-18 |cdc_am | USB Communication Device Class Abstract Control Model interface |============================================================================ These are listed in rough order of devices covered as of 2011; the PL23203 by itself accounts for over 70% of deployed USB mice. We recommend building with pl2303, ftdi_sio, cypress_m8, and cp210x. == How to build the software from source == To build gpsd for your host platform from source, simply call 'scons' in a working-directory copy. (Cross-build is described in a later section.) You can specify the installation prefix, as for an autotools build, by running "scons prefix=". The default value is "/usr/local". The envoronment variable DESTDIR also works in the usual way. If your link fails with a message like "/usr/bin/ld: cannot find -lgps", you need to install chrpath. Note that after you have done so, you may need to run 'scons --config=force' to override the scons configuration cache's belief that chrpath isn't there. If your scons fails with the complaint "No tool named 'textfile'", you need to upgrade it. This feature was introduced during the long interval after the 1.2.0 release; 1.2.1 and later versions will have it. If your linker run fails with missing math symbols, see the FIXME comment relating to implicit_links in the scons recipe; you probably need to build with implicit_link=no. If this happens, please report your platform, ideally along with a way of identifying it from Python, to the GPSD maintainers. If you are going to use the RTCM-104 support, you should compile with gcc4; if you don't have it installed as your default compiler, do this by specifying CC=gcc4 before the build command. The rtcm2.c file confuses the gcc-3.4.[23] optimizer at -O2 level, making it generate incorrect code. If, while building, you see a complaint that looks like this: -------------------------------------------------------------------- I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd -------------------------------------------------------------------- it means the xmlto document formatter is failing to fetch a stylesheet it needs over the network. Probably this means you are doing a source build on a machine without live Internet access. The workaround for this is to temporarily remove xmlto from your command path so GPSD won't try building the documentation. The actual fix is to install DocBook on your machine so there will be a local copy of the stylesheet where xmlto can find it. After building, please run 'scons testregress' to test the correctness of the build. It is not necessary to install first, but you do need to have "." in your $PATH to run regressions uninstalled. Python is required for regression tests. If any of the tests fail, you probavly have a toolchain issue. The most common such problem is issues with strict C99 conformance in floating-point libraries. Once you have verified that the code is working, "scons install" will install it it in the system directories. "scons uninstall" will undo this. Note: because scons is a single-phase build system, this may recompile everything. If you want feature-configuration options, you need to specify them here. To enable hotplugging of USB GPSes under Linux, you may do 'scons udev-install' to put the appropriate udev rules and wrapper files in place. You will need php and php-gd installed to support the PHP web page. included with the distribution. To install it, copy the file 'gpsd.php' to your HTML document directory. Then see the post-installation instructions in INSTALL for how to configure it. == Optional features == By giving command-line options to scons you can configure certain rarely-used optional features in, or compile standard features out to reduce gpsd's footprint. "scons --help" will tell the story; look under "Local Options" and consult the source code if in doubt. Here are a few of the more important feature switches. Each description begins with the default for the switch. pps=yes: for small embedded systems and those without threading, it is possible to build gpsd without thread support if you build with pps=no. You'll lose support for updating the clock from PPS pulses. dbus=no: for systems using DBUS: gpsd includes support for shipping fixes as DBUS notifications, but it is not compiled in by default. Build with the option "dbus=yes" to get it working. libQgpsmm=yes: libQgpsmm is a Qt version of the libgps/libgpsmm pair. Thanks to the multi-platform approach of Qt, it allows the gpsd client library to be available on all the Qt supported platforms. Please see http://qt.nokia.com/doc/4.6/supported-platforms.html for a status of Qt supported platforms as of version 4.6. == Port and toolchain testing == 'scons testregress' will run a comprehensive regression-test suite. You should do this, at minimum, every time you build from source on a new machine type. GPSD does enough bit-twiddling and floating point that it is very sensitive to toolchain problems; you'll want to be sure those aren't going to bite you in production. == Reverting to a clean state == The scons equivalent of 'make clean' is 'scons -c'. This will revert your source tree to a clean state as though you had just cloned or downloaded it. == Cross-building == The scons recipe is intended to support cross-building, in particular for embedded deployment of the software. A session transcript illustrating how to do that, with some routine messages suppressed and replaced with [...], follows. The script assumes you're cloning from the GPSD project site or a mirror. Notes and explanation follow the transcript. =========================================================================== $ git clone [...] Cloning into gpsd... [...] $ cd gpsd $ cp ../.scons-option-cache . $ cat .scons-option-cache libgpsmm = False libQgpsmm = False python = False prefix = '/work/buildroot/output/staging/usr/' sysroot = '/work/buildroot/output/staging/' target = 'arm-indigo-linux-gnueabi' $ scons scons: Reading SConscript files ... [...] Altered configuration variables: libgpsmm = False (default True): build C++ bindings libQgpsmm = False (default True): build QT bindings python = False (default True): build Python support and modules. prefix = /work/buildroot/output/staging/usr/ (default /usr/local): installation directory prefix sysroot = /work/buildroot/output/staging (default ): cross-development system root target = arm-indigo-linux-gnueabi (default ): cross-development target scons: done reading SConscript files. scons: Building targets ... substituter(["jsongen.py"], ["jsongen.py.in"]) chmod -w jsongen.py chmod +x jsongen.py rm -f ais_json.i && /usr/bin/python jsongen.py --ais --target=parser > ais_json.i && chmod a-w ais_json.i Creating 'gpsd_config.h' arm-indigo-linux-gnueabi-gcc -o ais_json.os -c --sysroot=/work/buildroot/output/staging/ -Wextra -Wall -Wno-uninitialized -Wno-missing-field-initializers -Wcast-align -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Wreturn-type -D_GNU_SOURCE -O2 -fPIC ais_json.c arm-indigo-linux-gnueabi-gcc -o daemon.os -c --sysroot=/work/buildroot/output/staging/ -Wextra -Wall -Wno-uninitialized -Wno-missing-field-initializers -Wcast-align -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Wreturn-type -D_GNU_SOURCE -O2 -fPIC daemon.c Creating 'gpsd.h' [...] chmod -w maskaudit.py chmod +x maskaudit.py rm -f gps_maskdump.c && /usr/bin/python maskaudit.py -c . > gps_maskdump.c && chmod a-w gps_maskdump.c arm-indigo-linux-gnueabi-gcc -o gps_maskdump.os -c --sysroot=/work/buildroot/output/staging/ -Wextra -Wall -Wno-uninitialized -Wno-missing-field-initializers -Wcast-align -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Wreturn-type -D_GNU_SOURCE -O2 -fPIC gps_maskdump.c [..] scons: done building targets. $ file gpsd gpsd: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.36, not stripped =========================================================================== The author of this transcript notes: The sysroot option tells the compiler and linker to use libraries and headers from the given path as if they were placed at / prefix. During this build the option allows linking with target ncurses (with the option of having more packages at the --sysroot path) and including correct headers without specifying -I and -L options. In the options cache file gpsd is configured to install to /work/buildroot/output/staging/usr path, so gpsd clients could be compiled against libgps.so using /work/buildroot/output/staging as sysroot option. "arm-indigo-linux-gnueabi" as target means that arm-indigo-linux-gnueabi-gcc and related tools are available in PATH; your cross-compiler is likely to have a different target prefix. When you are cross-compiling, you'll need chrpath at version 0.14 or later for cross-architecture support. If it's not yet packaged for your environment, see http://alioth.debian.org/projects/chrpath/ == Autostarting the daemon == The preferred way to start gpsd is on-demand by a hotplug script detecting USB device activations. Look at the gpsd.rules and gpsd.hotplug files to see how this is accomplished. Relevant productions in the build recipe are "udev-install" and "udev-uninstall"; relevant build options include "udevdir". If you for some reason need to start gpsd unconditionally at boot time (in particular, if you need to support RS232 devices) there's a model init.d script under packaging/deb and a systemd setup under systemd/. gpsd-3.9/cgps.c0000664000175000017500000006256012022345475011605 0ustar esresr/* * Copyright (c) 2005 Jeff Francis * BSD terms apply: see the filr COPYING in the distribution root for details. */ /* Jeff Francis jeff@gritch.org Kind of a curses version of xgps for use with gpsd. */ /* * The True North compass fails with current gpsd versions for reasons * the dev team has been unable to diagnose due to not having test hardware. * The support for it is conditioned out in order to simplify moving * to the new JSON-based protocol and reduce startup time. */ #undef TRUENORTH /* ================================================================== These #defines should be modified if changing the number of fields to be displayed. ================================================================== */ /* This defines how much overhead is contained in the 'datawin' window (eg, box around the window takes two lines). */ #define DATAWIN_OVERHEAD 2 /* This defines how much overhead is contained in the 'satellites' window (eg, box around the window takes two lines, plus the column headers take another line). */ #define SATWIN_OVERHEAD 3 /* This is how many display fields are output in the 'datawin' window when in GPS mode. Change this value if you add or remove fields from the 'datawin' window for the GPS mode. */ #define DATAWIN_GPS_FIELDS 8 /* Count of optional fields that we'll display if we have the room. */ #define DATAWIN_OPTIONAL_FIELDS 7 /* This is how many display fields are output in the 'datawin' window when in COMPASS mode. Change this value if you add or remove fields from the 'datawin' window for the COMPASS mode. */ #define DATAWIN_COMPASS_FIELDS 6 /* This is how far over in the 'datawin' window to indent the field descriptions. */ #define DATAWIN_DESC_OFFSET 5 /* This is how far over in the 'datawin' window to indent the field values. */ #define DATAWIN_VALUE_OFFSET 17 /* This is the width of the 'datawin' window. It's recommended to keep DATAWIN_WIDTH + SATELLITES_WIDTH <= 80 so it'll fit on a "standard" 80x24 screen. */ #define DATAWIN_WIDTH 45 /* This is the width of the 'satellites' window. It's recommended to keep DATAWIN_WIDTH + SATELLITES_WIDTH <= 80 so it'll fit on a "standard" 80x24 screen. */ #define SATELLITES_WIDTH 35 /* ================================================================ You shouldn't have to modify any #define values below this line. ================================================================ */ /* This is the minimum size we'll accept for the 'datawin' window in GPS mode. */ #define MIN_GPS_DATAWIN_SIZE (DATAWIN_GPS_FIELDS + DATAWIN_OVERHEAD) /* And the maximum size we'll try to use */ #define MAX_GPS_DATAWIN_SIZE (DATAWIN_GPS_FIELDS + DATAWIN_OPTIONAL_FIELDS + DATAWIN_OVERHEAD) /* This is the minimum size we'll accept for the 'datawin' window in COMPASS mode. */ #define MIN_COMPASS_DATAWIN_SIZE (DATAWIN_COMPASS_FIELDS + DATAWIN_OVERHEAD) /* This is the maximum number of satellites gpsd can track. */ #define MAX_POSSIBLE_SATS (MAXCHANNELS - 2) /* This is the maximum size we need for the 'satellites' window. */ #define MAX_SATWIN_SIZE (MAX_POSSIBLE_SATS + SATWIN_OVERHEAD) #include #include #include #include #include #include #include #include #include #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include "gpsd_config.h" #include "gps.h" #include "gpsdclient.h" #include "revision.h" static struct gps_data_t gpsdata; static time_t status_timer; /* Time of last state change. */ static int state = 0; /* or MODE_NO_FIX=1, MODE_2D=2, MODE_3D=3 */ static float altfactor = METERS_TO_FEET; static float speedfactor = MPS_TO_MPH; static char *altunits = "ft"; static char *speedunits = "mph"; static struct fixsource_t source; #ifdef CLIENTDEBUG_ENABLE static int debug; #endif /* CLIENTDEBUG_ENABLE */ static WINDOW *datawin, *satellites, *messages; static bool raw_flag = false; static bool silent_flag = false; static bool magnetic_flag = false; static int window_length; static int display_sats; #ifdef TRUENORTH static bool compass_flag = false; #endif /* TRUENORTH */ /* pseudo-signals indicating reason for termination */ #define CGPS_QUIT 0 /* voluntary yterminastion */ #define GPS_GONE -1 /* GPS device went away */ #define GPS_ERROR -2 /* low-level failure in GPS read */ #define GPS_TIMEOUT -3 /* low-level failure in GPS waiting */ /* Function to call when we're all done. Does a bit of clean-up. */ static void die(int sig) { if (!isendwin()) { /* Move the cursor to the bottom left corner. */ (void)mvcur(0, COLS - 1, LINES - 1, 0); /* Put input attributes back the way they were. */ (void)echo(); /* Done with curses. */ (void)endwin(); } /* We're done talking to gpsd. */ (void)gps_close(&gpsdata); switch (sig) { case CGPS_QUIT: break; case GPS_GONE: (void)fprintf(stderr, "cgps: GPS hung up.\n"); break; case GPS_ERROR: (void)fprintf(stderr, "cgps: GPS read returned error\n"); break; case GPS_TIMEOUT: (void)fprintf(stderr, "cgps: GPS timeout\n"); break; default: (void)fprintf(stderr, "cgps: caught signal %d\n", sig); break; } /* Bye! */ exit(EXIT_SUCCESS); } static enum deg_str_type deg_type = deg_dd; /*@ -globstate @*/ static void windowsetup(void) /* inotialize curses and set up screen windows */ { /* Set the window sizes per the following criteria: * * 1. Set the window size to display the maximum number of * satellites possible, but not more than can be fit in a * window the size of the GPS report window. We have to set * the limit that way because MAXCHANNELS has been made large * in order to prepare for survey-grade receivers.. * * 2. If the screen size will not allow for the full complement of * satellites to be displayed, set the windows sizes smaller, but * not smaller than the number of lines necessary to display all of * the fields in the 'datawin'. The list of displayed satellites * will be truncated to fit the available window size. (TODO: If * the satellite list is truncated, omit the satellites not used to * obtain the current fix.) * * 3. If the screen is large enough to display all possible * satellites (MAXCHANNELS - 2) with space still left at the bottom, * add a window at the bottom in which to scroll raw gpsd data. */ int xsize, ysize; /* Fire up curses. */ (void)initscr(); (void)noecho(); getmaxyx(stdscr, ysize, xsize); #ifdef TRUENORTH if (compass_flag) { if (ysize == MIN_COMPASS_DATAWIN_SIZE) { raw_flag = false; window_length = MIN_COMPASS_DATAWIN_SIZE; } else if (ysize > MIN_COMPASS_DATAWIN_SIZE) { raw_flag = true; window_length = MIN_COMPASS_DATAWIN_SIZE; } else { (void)mvprintw(0, 0, "Your screen must be at least 80x%d to run cgps.", MIN_COMPASS_DATAWIN_SIZE); /*@ -nullpass @*/ (void)refresh(); /*@ +nullpass @*/ (void)sleep(5); die(0); } } else #endif /* TRUENORTH */ { if (ysize > MAX_GPS_DATAWIN_SIZE) { raw_flag = true; window_length = MAX_GPS_DATAWIN_SIZE; } else if (ysize == MAX_GPS_DATAWIN_SIZE) { raw_flag = false; window_length = MAX_GPS_DATAWIN_SIZE; } else if (ysize > MIN_GPS_DATAWIN_SIZE) { raw_flag = true; window_length = MIN_GPS_DATAWIN_SIZE; } else if (ysize == MIN_GPS_DATAWIN_SIZE) { raw_flag = false; window_length = MIN_GPS_DATAWIN_SIZE; } else { (void)mvprintw(0, 0, "Your screen must be at least 80x%d to run cgps.", MIN_GPS_DATAWIN_SIZE); /*@ -nullpass @*/ (void)refresh(); /*@ +nullpass @*/ (void)sleep(5); die(0); } display_sats = window_length - SATWIN_OVERHEAD - (int)raw_flag; } #ifdef TRUENORTH /* Set up the screen for either a compass or a gps receiver. */ if (compass_flag) { /* We're a compass, set up accordingly. */ /*@ -onlytrans @*/ datawin = newwin(window_length, DATAWIN_WIDTH, 0, 0); (void)nodelay(datawin, (bool) TRUE); if (raw_flag) { messages = newwin(0, 0, window_length, 0); /*@ +onlytrans @*/ (void)scrollok(messages, true); (void)wsetscrreg(messages, 0, ysize - (window_length)); } /*@ -nullpass @*/ (void)refresh(); /*@ +nullpass @*/ /* Do the initial field label setup. */ (void)mvwprintw(datawin, 1, DATAWIN_DESC_OFFSET, "Time:"); (void)mvwprintw(datawin, 2, DATAWIN_DESC_OFFSET, "Heading:"); (void)mvwprintw(datawin, 3, DATAWIN_DESC_OFFSET, "Pitch:"); (void)mvwprintw(datawin, 4, DATAWIN_DESC_OFFSET, "Roll:"); (void)mvwprintw(datawin, 5, DATAWIN_DESC_OFFSET, "Dip:"); (void)mvwprintw(datawin, 6, DATAWIN_DESC_OFFSET, "Rcvr Type:"); (void)wborder(datawin, 0, 0, 0, 0, 0, 0, 0, 0); } else #endif /* TRUENORTH */ { /* We're a GPS, set up accordingly. */ /*@ -onlytrans @*/ datawin = newwin(window_length, DATAWIN_WIDTH, 0, 0); satellites = newwin(window_length, SATELLITES_WIDTH, 0, DATAWIN_WIDTH); (void)nodelay(datawin, (bool) TRUE); if (raw_flag) { messages = newwin(ysize - (window_length), xsize, window_length, 0); /*@ +onlytrans @*/ (void)scrollok(messages, true); (void)wsetscrreg(messages, 0, ysize - (window_length)); } /*@ -nullpass @*/ (void)refresh(); /*@ +nullpass @*/ /* Do the initial field label setup. */ (void)mvwprintw(datawin, 1, DATAWIN_DESC_OFFSET, "Time:"); (void)mvwprintw(datawin, 2, DATAWIN_DESC_OFFSET, "Latitude:"); (void)mvwprintw(datawin, 3, DATAWIN_DESC_OFFSET, "Longitude:"); (void)mvwprintw(datawin, 4, DATAWIN_DESC_OFFSET, "Altitude:"); (void)mvwprintw(datawin, 5, DATAWIN_DESC_OFFSET, "Speed:"); (void)mvwprintw(datawin, 6, DATAWIN_DESC_OFFSET, "Heading:"); (void)mvwprintw(datawin, 7, DATAWIN_DESC_OFFSET, "Climb:"); (void)mvwprintw(datawin, 8, DATAWIN_DESC_OFFSET, "Status:"); /* Note that the following fields are exceptions to the * sizing rule. The minimum window size does not include these * fields, if the window is too small, they get excluded. This * may or may not change if/when the output for these fields is * fixed and/or people request their permanance. They're only * there in the first place because I arbitrarily thought they * sounded interesting. ;^) */ if (window_length == MAX_GPS_DATAWIN_SIZE) { (void)mvwprintw(datawin, 9, DATAWIN_DESC_OFFSET, "Longitude Err:"); (void)mvwprintw(datawin, 10, DATAWIN_DESC_OFFSET, "Latitude Err:"); (void)mvwprintw(datawin, 11, DATAWIN_DESC_OFFSET, "Altitude Err:"); (void)mvwprintw(datawin, 12, DATAWIN_DESC_OFFSET, "Course Err:"); (void)mvwprintw(datawin, 13, DATAWIN_DESC_OFFSET, "Speed Err:"); /* it's actually esr that thought *these* were interesting */ (void)mvwprintw(datawin, 14, DATAWIN_DESC_OFFSET, "Time offset:"); (void)mvwprintw(datawin, 15, DATAWIN_DESC_OFFSET, "Grid Square:"); } (void)wborder(datawin, 0, 0, 0, 0, 0, 0, 0, 0); (void)mvwprintw(satellites, 1, 1, "PRN: Elev: Azim: SNR: Used:"); (void)wborder(satellites, 0, 0, 0, 0, 0, 0, 0, 0); } } /*@ +globstate @*/ static void resize(int sig UNUSED) /* cope with terminal resize */ { if (!isendwin()) { (void)endwin(); windowsetup(); } } #ifdef TRUENORTH /* This gets called once for each new compass sentence. */ static void update_compass_panel(struct gps_data_t *gpsdata) { char scr[128]; /* Print time/date. */ if (isnan(gpsdata->fix.time) == 0) { (void)unix_to_iso8601(gpsdata->fix.time, scr, sizeof(scr)); } else (void)snprintf(scr, sizeof(scr), "n/a"); (void)mvwprintw(datawin, 1, DATAWIN_VALUE_OFFSET, "%-*s", 27, scr); /* Fill in the heading. */ if (isnan(gpsdata->fix.track) == 0) { (void)snprintf(scr, sizeof(scr), "%.1f degrees", gpsdata->fix.track); } else (void)snprintf(scr, sizeof(scr), "n/a"); (void)mvwprintw(datawin, 2, DATAWIN_VALUE_OFFSET, "%-*s", 27, scr); /* Fill in the pitch. */ if (isnan(gpsdata->fix.climb) == 0) { (void)snprintf(scr, sizeof(scr), "%.1f", gpsdata->fix.climb); } else (void)snprintf(scr, sizeof(scr), "n/a"); (void)mvwprintw(datawin, 3, DATAWIN_VALUE_OFFSET, "%-*s", 27, scr); /* Fill in the roll. */ if (isnan(gpsdata->fix.speed) == 0) (void)snprintf(scr, sizeof(scr), "%.1f", gpsdata->fix.speed); else (void)snprintf(scr, sizeof(scr), "n/a"); (void)mvwprintw(datawin, 4, DATAWIN_VALUE_OFFSET, "%-*s", 27, scr); /* Fill in the speed. */ if (isnan(gpsdata->fix.altitude) == 0) (void)snprintf(scr, sizeof(scr), "%.1f", gpsdata->fix.altitude); else (void)snprintf(scr, sizeof(scr), "n/a"); (void)mvwprintw(datawin, 5, DATAWIN_VALUE_OFFSET, "%-*s", 27, scr); /* When we need to fill in receiver type again, do it here. */ (void)mvwprintw(datawin, 6, DATAWIN_VALUE_OFFSET, "%-*s", 27, scr); /* Be quiet if the user requests silence. */ if (!silent_flag && raw_flag) { (void)waddstr(messages, message); } (void)wrefresh(datawin); if (raw_flag) { (void)wrefresh(messages); } } #endif /* TRUENORTH */ /*@-mustfreefresh@*/ static void update_gps_panel(struct gps_data_t *gpsdata) /* This gets called once for each new GPS sentence. */ { int i, j, n; int newstate; char scr[128], *s; bool usedflags[MAXCHANNELS]; /* must build bit vector of which statellites are used from list */ for (i = 0; i < MAXCHANNELS; i++) { usedflags[i] = false; for (j = 0; j < gpsdata->satellites_used; j++) if (gpsdata->used[j] == gpsdata->PRN[i]) usedflags[i] = true; } /* This is for the satellite status display. Originally lifted from * xgps.c. Note that the satellite list may be truncated based on * available screen size, or may only show satellites used for the * fix. */ if (gpsdata->satellites_visible != 0) { if (display_sats >= MAX_POSSIBLE_SATS) { for (i = 0; i < MAX_POSSIBLE_SATS; i++) { if (i < gpsdata->satellites_visible) { (void)snprintf(scr, sizeof(scr), " %3d %02d %03d %02d %c", gpsdata->PRN[i], gpsdata->elevation[i], gpsdata->azimuth[i], (int)gpsdata->ss[i], usedflags[i] ? 'Y' : 'N'); } else { (void)strlcpy(scr, "", sizeof(scr)); } (void)mvwprintw(satellites, i + 2, 1, "%-*s", SATELLITES_WIDTH - 3, scr); } } else { n = 0; for (i = 0; i < MAX_POSSIBLE_SATS; i++) { if (n < display_sats) { if ((i < gpsdata->satellites_visible) && ((gpsdata->used[i] != 0) || (gpsdata->satellites_visible <= display_sats))) { (void)snprintf(scr, sizeof(scr), " %3d %02d %03d %02d %c", gpsdata->PRN[i], gpsdata->elevation[i], gpsdata->azimuth[i], (int)gpsdata->ss[i], gpsdata->used[i] ? 'Y' : 'N'); (void)mvwprintw(satellites, n + 2, 1, "%-*s", SATELLITES_WIDTH - 3, scr); n++; } } } if (n < display_sats) { for (i = n; i <= display_sats; i++) { (void)mvwprintw(satellites, i + 2, 1, "%-*s", SATELLITES_WIDTH - 3, ""); } } } } /* Print time/date. */ if (isnan(gpsdata->fix.time) == 0) { (void)unix_to_iso8601(gpsdata->fix.time, scr, sizeof(scr)); } else (void)snprintf(scr, sizeof(scr), "n/a"); (void)mvwprintw(datawin, 1, DATAWIN_VALUE_OFFSET, "%-*s", 27, scr); /* Fill in the latitude. */ if (gpsdata->fix.mode >= MODE_2D && isnan(gpsdata->fix.latitude) == 0) { (void)snprintf(scr, sizeof(scr), "%s %c", deg_to_str(deg_type, fabs(gpsdata->fix.latitude)), (gpsdata->fix.latitude < 0) ? 'S' : 'N'); } else (void)snprintf(scr, sizeof(scr), "n/a"); (void)mvwprintw(datawin, 2, DATAWIN_VALUE_OFFSET, "%-*s", 27, scr); /* Fill in the longitude. */ if (gpsdata->fix.mode >= MODE_2D && isnan(gpsdata->fix.longitude) == 0) { (void)snprintf(scr, sizeof(scr), "%s %c", deg_to_str(deg_type, fabs(gpsdata->fix.longitude)), (gpsdata->fix.longitude < 0) ? 'W' : 'E'); } else (void)snprintf(scr, sizeof(scr), "n/a"); (void)mvwprintw(datawin, 3, DATAWIN_VALUE_OFFSET, "%-*s", 27, scr); /* Fill in the altitude. */ if (gpsdata->fix.mode >= MODE_3D && isnan(gpsdata->fix.altitude) == 0) (void)snprintf(scr, sizeof(scr), "%.1f %s", gpsdata->fix.altitude * altfactor, altunits); else (void)snprintf(scr, sizeof(scr), "n/a"); (void)mvwprintw(datawin, 4, DATAWIN_VALUE_OFFSET, "%-*s", 27, scr); /* Fill in the speed. */ if (gpsdata->fix.mode >= MODE_2D && isnan(gpsdata->fix.track) == 0) (void)snprintf(scr, sizeof(scr), "%.1f %s", gpsdata->fix.speed * speedfactor, speedunits); else (void)snprintf(scr, sizeof(scr), "n/a"); (void)mvwprintw(datawin, 5, DATAWIN_VALUE_OFFSET, "%-*s", 27, scr); /* Fill in the heading. */ if (gpsdata->fix.mode >= MODE_2D && isnan(gpsdata->fix.track) == 0) { double magheading = true2magnetic(gpsdata->fix.latitude, gpsdata->fix.longitude, gpsdata->fix.track); if (!magnetic_flag || isnan(magheading) != 0) { (void)snprintf(scr, sizeof(scr), "%.1f deg (true)", gpsdata->fix.track); } else { (void)snprintf(scr, sizeof(scr), "%.1f deg (mag) ", magheading); } } else (void)snprintf(scr, sizeof(scr), "n/a"); (void)mvwprintw(datawin, 6, DATAWIN_VALUE_OFFSET, "%-*s", 27, scr); /* Fill in the rate of climb. */ if (gpsdata->fix.mode >= MODE_3D && isnan(gpsdata->fix.climb) == 0) (void)snprintf(scr, sizeof(scr), "%.1f %s/min", gpsdata->fix.climb * altfactor * 60, altunits); else (void)snprintf(scr, sizeof(scr), "n/a"); (void)mvwprintw(datawin, 7, DATAWIN_VALUE_OFFSET, "%-*s", 27, scr); /* Fill in the GPS status and the time since the last state * change. */ if (gpsdata->online == 0) { newstate = 0; (void)snprintf(scr, sizeof(scr), "OFFLINE"); } else { newstate = gpsdata->fix.mode; switch (gpsdata->fix.mode) { case MODE_2D: (void)snprintf(scr, sizeof(scr), "2D %sFIX (%d secs)", (gpsdata->status == STATUS_DGPS_FIX) ? "DIFF " : "", (int)(time(NULL) - status_timer)); break; case MODE_3D: (void)snprintf(scr, sizeof(scr), "3D %sFIX (%d secs)", (gpsdata->status == STATUS_DGPS_FIX) ? "DIFF " : "", (int)(time(NULL) - status_timer)); break; default: (void)snprintf(scr, sizeof(scr), "NO FIX (%d secs)", (int)(time(NULL) - status_timer)); break; } } (void)mvwprintw(datawin, 8, DATAWIN_VALUE_OFFSET, "%-*s", 27, scr); /* Note that the following fields are exceptions to the * sizing rule. The minimum window size does not include these * fields, if the window is too small, they get excluded. This * may or may not change if/when the output for these fields is * fixed and/or people request their permanence. They're only * there in the first place because I arbitrarily thought they * sounded interesting. ;^) */ if (window_length >= (MIN_GPS_DATAWIN_SIZE + 5)) { /* Fill in the estimated horizontal position error. */ if (isnan(gpsdata->fix.epx) == 0) (void)snprintf(scr, sizeof(scr), "+/- %d %s", (int)(gpsdata->fix.epx * altfactor), altunits); else (void)snprintf(scr, sizeof(scr), "n/a"); (void)mvwprintw(datawin, 9, DATAWIN_VALUE_OFFSET + 5, "%-*s", 22, scr); if (isnan(gpsdata->fix.epy) == 0) (void)snprintf(scr, sizeof(scr), "+/- %d %s", (int)(gpsdata->fix.epy * altfactor), altunits); else (void)snprintf(scr, sizeof(scr), "n/a"); (void)mvwprintw(datawin, 10, DATAWIN_VALUE_OFFSET + 5, "%-*s", 22, scr); /* Fill in the estimated vertical position error. */ if (isnan(gpsdata->fix.epv) == 0) (void)snprintf(scr, sizeof(scr), "+/- %d %s", (int)(gpsdata->fix.epv * altfactor), altunits); else (void)snprintf(scr, sizeof(scr), "n/a"); (void)mvwprintw(datawin, 11, DATAWIN_VALUE_OFFSET + 5, "%-*s", 22, scr); /* Fill in the estimated track error. */ if (isnan(gpsdata->fix.epd) == 0) (void)snprintf(scr, sizeof(scr), "+/- %d deg", (int)(gpsdata->fix.epd)); else (void)snprintf(scr, sizeof(scr), "n/a"); (void)mvwprintw(datawin, 12, DATAWIN_VALUE_OFFSET + 5, "%-*s", 22, scr); /* Fill in the estimated speed error. */ if (isnan(gpsdata->fix.eps) == 0) (void)snprintf(scr, sizeof(scr), "+/- %d %s", (int)(gpsdata->fix.eps * speedfactor), speedunits); else (void)snprintf(scr, sizeof(scr), "n/a"); (void)mvwprintw(datawin, 13, DATAWIN_VALUE_OFFSET + 5, "%-*s", 22, scr); /* Fill in the time offset. */ if (isnan(gpsdata->fix.time) == 0) (void)snprintf(scr, sizeof(scr), "%.3f", (double)(timestamp()-gpsdata->fix.time)); else (void)snprintf(scr, sizeof(scr), "n/a"); (void)mvwprintw(datawin, 14, DATAWIN_VALUE_OFFSET + 5, "%-*s", 22, scr); /* Fill in the grid square (esr thought *this* one was interesting). */ /*@-branchstate@*/ if (isnan(gpsdata->fix.longitude)==0 && isnan(gpsdata->fix.latitude)==0) s = maidenhead(gpsdata->fix.latitude,gpsdata->fix.longitude); else s = "n/a"; (void)mvwprintw(datawin, 15, DATAWIN_VALUE_OFFSET + 5, "%-*s", 22, s); /*@+branchstate@*/ } /* Be quiet if the user requests silence. */ if (!silent_flag && raw_flag && (s = (char *)gps_data(gpsdata)) != NULL) { (void)waddstr(messages, s); } /* Reset the status_timer if the state has changed. */ if (newstate != state) { status_timer = time(NULL); state = newstate; } (void)wrefresh(datawin); (void)wrefresh(satellites); if (raw_flag) { (void)wrefresh(messages); } } /*@+mustfreefresh@*/ static void usage(char *prog) { (void)fprintf(stderr, "Usage: %s [-h] [-V] [-l {d|m|s}] [server[:port:[device]]]\n\n" " -h Show this help, then exit\n" " -V Show version, then exit\n" " -s Be silent (don't print raw gpsd data)\n" " -l {d|m|s} Select lat/lon format\n" " d = DD.dddddd\n" " m = DD MM.mmmm'\n" " s = DD MM' SS.sss\"\n" " -m Display heading as the estimated magnetic heading\n" " Valid only for USA (Lower 48 + AK) and Western Europe.\n", prog); exit(EXIT_FAILURE); } /* * No protocol dependencies above this line */ int main(int argc, char *argv[]) { int option; int c; unsigned int flags = WATCH_ENABLE; /*@ -observertrans @*/ switch (gpsd_units()) { case imperial: altfactor = METERS_TO_FEET; altunits = "ft"; speedfactor = MPS_TO_MPH; speedunits = "mph"; break; case nautical: altfactor = METERS_TO_FEET; altunits = "ft"; speedfactor = MPS_TO_KNOTS; speedunits = "knots"; break; case metric: altfactor = 1; altunits = "m"; speedfactor = MPS_TO_KPH; speedunits = "kph"; break; default: /* leave the default alone */ break; } /*@ +observertrans @*/ /* Process the options. Print help if requested. */ while ((option = getopt(argc, argv, "hVl:smu:D:")) != -1) { switch (option) { #ifdef CLIENTDEBUG_ENABLE case 'D': debug = atoi(optarg); gps_enable_debug(debug, stderr); break; #endif /* CLIENTDEBUG_ENABLE */ case 'm': magnetic_flag = true; break; case 's': silent_flag = true; break; case 'u': /*@ -observertrans @*/ switch (optarg[0]) { case 'i': altfactor = METERS_TO_FEET; altunits = "ft"; speedfactor = MPS_TO_MPH; speedunits = "mph"; continue; case 'n': altfactor = METERS_TO_FEET; altunits = "ft"; speedfactor = MPS_TO_KNOTS; speedunits = "knots"; continue; case 'm': altfactor = 1; altunits = "m"; speedfactor = MPS_TO_KPH; speedunits = "kph"; continue; default: (void)fprintf(stderr, "Unknown -u argument: %s\n", optarg); } break; /*@ +observertrans @*/ case 'V': (void)fprintf(stderr, "cgps: %s (revision %s)\n", VERSION, REVISION); exit(EXIT_SUCCESS); case 'l': switch (optarg[0]) { case 'd': deg_type = deg_dd; continue; case 'm': deg_type = deg_ddmm; continue; case 's': deg_type = deg_ddmmss; continue; default: (void)fprintf(stderr, "Unknown -l argument: %s\n", optarg); /*@ -casebreak @*/ } break; case 'h': default: usage(argv[0]); break; } } /* Grok the server, port, and device. */ if (optind < argc) { gpsd_source_spec(argv[optind], &source); } else gpsd_source_spec(NULL, &source); /* Open the stream to gpsd. */ if (gps_open(source.server, source.port, &gpsdata) != 0) { (void)fprintf(stderr, "cgps: no gpsd running or network error: %d, %s\n", errno, gps_errstr(errno)); exit(EXIT_FAILURE); } /* note: we're assuming BSD-style reliable signals here */ (void)signal(SIGINT, die); (void)signal(SIGHUP, die); (void)signal(SIGWINCH, resize); windowsetup(); status_timer = time(NULL); if (source.device != NULL) flags |= WATCH_DEVICE; (void)gps_stream(&gpsdata, flags, source.device); /* heart of the client */ for (;;) { if (!gps_waiting(&gpsdata, 5000000)) { die(GPS_TIMEOUT); } else { errno = 0; if (gps_read(&gpsdata) == -1) { fprintf(stderr, "cgps: socket error 4\n"); die(errno == 0 ? GPS_GONE : GPS_ERROR); } else { /* Here's where updates go now that things are established. */ #ifdef TRUENORTH if (compass_flag) update_compass_panel(&gpsdata); else #endif /* TRUENORTH */ update_gps_panel(&gpsdata); } } /* Check for user input. */ c = wgetch(datawin); switch (c) { /* Quit */ case 'q': die(CGPS_QUIT); break; /* Toggle spewage of raw gpsd data. */ case 's': silent_flag = !silent_flag; break; /* Clear the spewage area. */ case 'c': (void)werase(messages); break; default: break; } } } gpsd-3.9/contrib/.gitignore0000664000175000017500000000005211762140434014117 0ustar esresrashctl binlog binreplay lla2ecef motosend gpsd-3.9/contrib/README0000664000175000017500000000445511762140434013022 0ustar esresrThe following tools are not production-ready. They are included only as conveniences, examples or rudimetary starting points for other development efforts. binlog and binreplay are probably only useful for people developing drivers for new protocols, when gpsfake does not yet know what to do with a log file. These utilities are not particularly clever - they merely slurp a tty's output into a file, or spray the contents of a file out of a tty. skyview.php is used to generate pictures of your skyview, and may be used to help determine if a given antenna placement is appropriate for some purpose. This tool requires about 24hrs worth of "Y" messages and outputs an image of accumulated SV position and signal strength. It is sometimes entertaining to "see" occulted SVs using multipath. You must have the PHP-GD library installed to use this script. ashctl might be used to reset an uncooperative Ashtech receiver to a usable state. For whatever reason sometimes they do not respond to a protocol switch command; this spams the receiver with configuration commands, and hopefully it listens. motosend is like ashctl, but for receivers that use the motorola protocol (like motorola oncore or rockwell jupiter). it's a little buggy with syncing up to the start of a packet, but it'll send control strings OK. maxsats.pl analyzes a collection of "Y" messages and outputs records describing periods of excellent visibility (ie. 10 or more PRNs tracked). With over 30 SVs on orbit, there are periods where 14 PRNs are above the horizon, 13 are tracking, and at least 12 are actually used in a solution. lla2ecef transforms latitude/longitude/altitude (aka north-east-up or local tangential plane) coordinates into the earth-centered-earth-fixed frame. If invoked as "ecef2lla" it will transform coordinates in the opposite manner. webgps.py draws a sky view of the satellites and their tracks using HTML5. It needs to run continuously in order to build a history and generate the satellite tracks. Your browser must be able to display the element to display the satellite view properly. webgps.py can be called with the argument "c" to run continously, with an integer duration and a unit suffix to run this long (units allowed are "s", "m", "h" and "d", e.g. "4h"), or without argument to create a snapshot of the current sat view. gpsd-3.9/contrib/SConstruct0000664000175000017500000000112711762140434014165 0ustar esresr# This is a skeleton makefile to simplify building some of these little # utilities. They probably won't be useful to many users, and they probably # won't get used on a daily basis, but someone might find them useful for # tinkering with their gear. ashctl = Program("ashctl", ["ashctl.c", "../strl.c"]) binlog = Program("binlog", "binlog.c") binreplay = Program("binreplay", "binreplay.c", parse_flags=['-lutil']) lla2ecef = Program("lla2ecef", "lla2ecef.c", parse_flags=['-lm']) motosend = Program("motosend", ["motosend.c", "../strl.c"]) Default(ashctl, binlog, binreplay, lla2ecef, motosend) gpsd-3.9/contrib/ashctl.c0000664000175000017500000001110511762140434013552 0ustar esresr/* * This file is Copyright (c)2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include #include #include #include #include #define MODE_RAW 0 #define MODE_NORMAL 1 #define ASHSPD_9600 5 #define ASHSPD_57600 8 static int nmea_send(int , const char *, ... ); static void nmea_add_checksum(char *); static void serial_speed(int, int); static void config_raw(int); static void config_normal(int); int main(int argc, char **argv) { int i, speed, op, fd; int rates[] = {57600, 9600, 115200, 4800, 19200, 1200, 0}; /* RTFM */ char buf[BUFSIZ]; /* check number of args */ if (argc != 3){ u: fprintf(stderr, "usage: ashctl [raw|normal]\n" "normal = 9600, GGA+GSA+GSV+RMC+ZDA\n" "raw = 57600, normal+XPG+POS+SAT+MCA+PBN+SNV\n" ); return 1; } /* validate command */ if (strcmp(argv[2], "raw") == 0) op = MODE_RAW; else if (strcmp(argv[2], "normal") == 0) op = MODE_NORMAL; else goto u; if ((fd = open(argv[1], O_RDWR | O_NONBLOCK | O_NOCTTY, 0644)) == -1) err(1, "open"); i = 0; /* spam receiver w/ config messages */ while((speed = rates[i++])){ fprintf(stderr, "\010\010\010\010\010\010\010\010" "\010\010\010\010\010\010\010\010" "\010\010\010\010\010\010\010\010" "\010\010\010\010\010\010\010\010" "configuring at %d bps... ", speed); serial_speed(fd, speed); if (op == MODE_NORMAL) { config_normal(fd); serial_speed(fd, 9600); } else if (op == MODE_RAW) { config_raw(fd); serial_speed(fd, 57600); } sleep(1); i = read(fd, buf, BUFSIZ-1); buf[i] = '\0'; if (strstr(buf, "$PASH") || strstr(buf, "$GP")) goto done; } done: fprintf(stderr, "\010\010\010\010\010\010\010\010" "\010\010\010\010\010\010\010\010" "\010\010\010\010\010\010\010\010" "\010\010\010\010\010\010\010\010" "receiver configuration done \n"); return 0; } static void serial_speed(int fd, int speed){ struct termios term; tcgetattr(fd, &term); cfmakeraw(&term); cfsetospeed(&term, speed); cfsetispeed(&term, speed); if (tcsetattr(fd, TCSANOW | TCSAFLUSH, &term) == -1) err(1, "tcsetattr"); tcflush(fd, TCIOFLUSH); return; } static void config_normal(int fd){ nmea_send(fd, "$PASHS,NME,ALL,A,OFF"); /* silence outbound chatter */ nmea_send(fd, "$PASHS,NME,ALL,B,OFF"); nmea_send(fd, "$PASHS,NME,GGA,A,ON"); nmea_send(fd, "$PASHS,NME,GSA,A,ON"); nmea_send(fd, "$PASHS,NME,GSV,A,ON"); nmea_send(fd, "$PASHS,NME,RMC,A,ON"); nmea_send(fd, "$PASHS,NME,ZDA,A,ON"); nmea_send(fd, "$PASHS,INI,%d,%d,,,0,",ASHSPD_9600, ASHSPD_9600); sleep(6); /* it takes 4-6 sec for the receiver to reboot */ nmea_send(fd, "$PASHS,WAS,ON"); /* enable WAAS */ } static void config_raw(int fd){ nmea_send(fd, "$PASHS,NME,ALL,A,OFF"); /* silence outbound chatter */ nmea_send(fd, "$PASHS,NME,ALL,B,OFF"); nmea_send(fd, "$PASHS,NME,GGA,A,ON"); nmea_send(fd, "$PASHS,NME,GSA,A,ON"); nmea_send(fd, "$PASHS,NME,GSV,A,ON"); nmea_send(fd, "$PASHS,NME,RMC,A,ON"); nmea_send(fd, "$PASHS,NME,ZDA,A,ON"); nmea_send(fd, "$PASHS,INI,%d,%d,,,0,",ASHSPD_57600, ASHSPD_9600); sleep(6); /* it takes 4-6 sec for the receiver to reboot */ nmea_send(fd, "$PASHS,WAS,ON"); /* enable WAAS */ nmea_send(fd, "$PASHS,NME,POS,A,ON"); /* Ashtech PVT solution */ nmea_send(fd, "$PASHS,NME,SAT,A,ON"); /* Ashtech Satellite status */ nmea_send(fd, "$PASHS,NME,MCA,A,ON"); /* MCA measurements */ nmea_send(fd, "$PASHS,NME,PBN,A,ON"); /* ECEF PVT solution */ nmea_send(fd, "$PASHS,NME,SNV,A,ON,10"); /* Almanac data */ nmea_send(fd, "$PASHS,NME,XMG,A,ON"); /* exception messages */ } static void nmea_add_checksum(char *sentence) /* add NMEA checksum to a possibly *-terminated sentence */ { char *p = sentence; if (*p == '$') { unsigned char sum = '\0'; char c; p++; while ( ((c = *p) != '*') && (c != '\0')) { sum ^= c; p++; } *p++ = '*'; (void)snprintf(p, 5, "%02X\r\n", (unsigned int)sum); } } static int nmea_send(int fd, const char *fmt, ... ) /* ship a command to the GPS, adding * and correct checksum */ { size_t status; char buf[BUFSIZ]; va_list ap; va_start(ap, fmt) ; (void)vsnprintf(buf, sizeof(buf)-5, fmt, ap); va_end(ap); (void)strncat(buf, "*", sizeof(buf)-1); nmea_add_checksum(buf); // (void)fputs(buf, stderr); /* debug output */ tcflush(fd, TCIOFLUSH); status = (size_t)write(fd, buf, strlen(buf)); tcdrain(fd); usleep(100000); if (status == strlen(buf)) { return (int)status; } else { perror("nmea_send"); return -1; } } gpsd-3.9/contrib/binlog.c0000664000175000017500000000312011757250540013550 0ustar esresr/* This file is Copyright (c)2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include #include #include #include #include #include void spinner(int ); int main(int argc, char **argv) { int speed, n, l, ifd, ofd; struct termios term; char buf[BUFSIZ]; if (argc != 4){ fprintf(stderr, "usage: binlog \n"); return 1; } speed = atoi(argv[1]); switch (speed) { case 230400: case 115200: case 57600: case 38400: case 28800: case 19200: case 14400: case 9600: case 4800: break; default: fprintf(stderr, "invalid speed\n"); return 1; } if ((ifd = open(argv[2], O_RDWR | O_NONBLOCK | O_NOCTTY, 0644)) == -1) err(1, "open"); if ((ofd = open(argv[3], O_RDWR | O_CREAT | O_APPEND, 0644)) == -1) err(1, "open"); tcgetattr(ifd, &term); cfmakeraw(&term); cfsetospeed(&term, speed); cfsetispeed(&term, speed); if (tcsetattr(ifd, TCSANOW | TCSAFLUSH, &term) == -1) err(1, "tcsetattr"); tcflush(ifd, TCIOFLUSH); n = 0; while (1){ l = read(ifd, buf, BUFSIZ); if (l > 0) assert(write(ofd, buf, l) > 0); usleep(1000); bzero(buf, BUFSIZ); spinner( n++ ); } /* NOTREACHED */ close(ifd); close(ofd); return 0; } void spinner(int n){ char *s = "|/-\\"; if (n % 4) return; n /= 4; fprintf(stderr, "\010\010\010\010\010\010\010\010\010\010\010\010\010"); fprintf(stderr, "%c %d", s[n%4], n); fflush(stderr); } gpsd-3.9/contrib/binreplay.c0000664000175000017500000000662311762140434014272 0ustar esresr/* This file is Copyright (c)2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include #include #include #include #include #ifndef __GLIBC__ #include #else #include #include #endif #define WRLEN 64 void spinner(int); void usage(void); int main( int argc, char **argv){ struct stat sb; struct termios term; char *buf, tn[32]; int ifd, ofd, sfd; int dflag = 0, c, sleeptime, len, rate = 0, speed = 0; while((c = getopt(argc, argv, "d:r:s:")) != -1) { switch(c){ case 'd': dflag = 1; strncpy(tn, optarg, sizeof(tn)-1); break; case 'r': rate = atoi(optarg); switch (rate) { case 230400: case 115200: case 57600: case 38400: case 28800: case 19200: case 14400: case 9600: case 4800: break; default: fprintf(stderr, "invalid data rate: %d\n", rate); return 1; } break; case 's': speed = atoi(optarg); switch (speed) { case 230400: case 115200: case 57600: case 38400: case 28800: case 19200: case 14400: case 9600: case 4800: break; default: fprintf(stderr, "invalid port speed: %d\n", speed); return 1; } break; default: usage(); } } argc -= optind; argv += optind; if (argc != 1) usage(); if (rate > speed){ printf("data rate cannot be higher than port speed.\n"); return 1; } if (0 == rate && 0 != speed) rate = speed; if (0 == rate && 0 == speed) rate = speed = 4800; printf("opening %s\n", argv[0]); if ((ifd = open(argv[0], O_RDONLY, 0444)) == -1) err(1, "open"); if (fstat(ifd, &sb) == -1) err(1, "fstat"); if ((buf = mmap(0, sb.st_size, PROT_READ, MAP_FILE | MAP_PRIVATE, ifd, 0)) == MAP_FAILED) err(1, "mmap"); if (dflag){ if ((ofd = open(tn, O_RDWR|O_NOCTTY, 0644)) == -1) err(1, "open"); tcgetattr(ofd, &term); cfmakeraw(&term); cfsetispeed(&term, speed); cfsetospeed(&term, speed); #if 0 term.c_cflag &= ~(PARENB | PARODD | CRTSCTS); term.c_cflag |= CREAD | CLOCAL; term.c_iflag = term.c_oflag = term.c_lflag = (tcflag_t) 0; #endif tcflush(ofd, TCIOFLUSH); tcsetattr(ofd, TCSANOW, &term); tcflush(ofd, TCIOFLUSH); } else { cfmakeraw(&term); cfsetospeed(&term, speed); cfsetispeed(&term, speed); if (openpty(&ofd, &sfd, tn, &term, NULL) == -1) err(1, "openpty"); tcsetattr(ofd, TCSANOW, &term); tcsetattr(sfd, TCSANOW, &term); } sleeptime = 1000000 / (speed / (WRLEN * 10)); printf("configured %s for %dbps - write delay %dus\n", tn, speed, sleeptime); for(len = 0; len < sb.st_size; len += WRLEN ){ write(ofd, buf+len, WRLEN ); // tcdrain(ofd); if (0 == dflag){ tcflush(ofd, TCIFLUSH); // tcdrain(sfd); tcflush(sfd, TCIFLUSH); } spinner( len ); usleep(sleeptime); } munmap(buf, sb.st_size); close(ifd); close(ofd); fprintf(stderr, "\010\010\010\010\010\010\010\010\010\010\010\010\n"); return 0; } void spinner(int n){ char *s = "|/-\\"; if (n % (WRLEN * 4)) return; n /= (WRLEN * 4); fprintf(stderr, "\010\010\010\010\010\010\010\010\010\010\010\010\010"); fprintf(stderr, "%c %d", s[n%4], n); fflush(stderr); } void usage(void){ fprintf(stderr, "usage: binreplay [-d ] [-r ] [-s ] \n"); exit(1); } gpsd-3.9/contrib/lla2ecef.c0000664000175000017500000000413511757250540013762 0ustar esresr/* This file is Copyright (c)2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include extern char *__progname; double A = 6378137.0, B = 6356752.3142; static double rad2deg(double r){ return (180.0 * r / M_PI); } static double deg2rad(double r){ return (M_PI * r / 180.0); } static void lla2ecef(double *lla, double *ecef){ double N; lla[0] = deg2rad(lla[0]); lla[1] = deg2rad(lla[1]); N = pow(A,2) / sqrt( pow(A,2) * pow(cos(lla[0]),2) + pow(B,2) * pow(sin(lla[0]),2) ); ecef[0] = (N + lla[2]) * cos(lla[0]) * cos(lla[1]); ecef[1] = (N + lla[2]) * cos(lla[0]) * sin(lla[1]); ecef[2] = (pow(B,2) / pow(A,2) * N + lla[2]) * sin(lla[0]); return; } static void ecef2lla(double *ecef, double *lla){ double E, F, N, P, T; E = (pow(A,2) - pow(B,2)) / pow(A,2); F = (pow(A,2) - pow(B,2)) / pow(B,2); P = sqrt(pow(ecef[0], 2) + pow(ecef[1],2)); T = atan((ecef[2] * A)/(P * B)); lla[0] = atan( (ecef[2] + F * B * pow(sin(T), 3) ) / (P - E * A * pow(cos(T), 3) ) ); lla[1] = atan( ecef[1] / ecef[0] ); N = pow(A,2) / sqrt( pow(A,2) * pow(cos(lla[0]),2) + pow(B,2) * pow(sin(lla[0]),2) ); lla[2] = P / cos(lla[0]) - N; lla[1] = rad2deg(lla[1])-180; lla[0] = rad2deg(lla[0]); return; } int main(int argc, char **argv){ double ecef[3], lla[3]; if (4 != argc){ printf("usage:\tecef2lla X Y Z\n\tlla2ecef lat lon alt\n"); return 1; } if (0 == strcmp(__progname, "lla2ecef")){ /* Edmonton: lla[0] = 53.52716; lla[1] = -113.53013; lla[2] = 707.0; */ lla[0] = atof(argv[1]); lla[1] = atof(argv[2]); lla[2] = atof(argv[3]); lla2ecef(lla, ecef); printf("%.2lf %.2lf %.2lf\n", ecef[0], ecef[1], ecef[2]); } if (0 == strcmp(__progname, "ecef2lla")){ /* Edmonton: ecef[0] = -1517110.0; ecef[1] = -3484096.0; ecef[2] = 5106188.0; */ ecef[0] = atof(argv[1]); ecef[1] = atof(argv[2]); ecef[2] = atof(argv[3]); ecef2lla(ecef, lla); printf("%.7lf %.7lf %.2lf\n", lla[0], lla[1], lla[2]); } return 0; } gpsd-3.9/contrib/maxsats.pl0000775000175000017500000000236511757250540014164 0ustar esresr#!/usr/bin/perl # Copyright (c) 2008 Chris Kuethe # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above # copyright notice and this permission notice appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. use strict; use warnings; my ($tm, $nsr, $nt, $nu, @TL, @UL, $l); while (<>){ next unless (/,Y=\w+ (\d+\.\d+) (\d+):(.+:)/); $tm = $1; $nsr = $2; $l = ":$3:"; $nt = $nu = 0; @TL = @UL = (); while ($l =~ /(\d+) \w+ \w+ (\d+) ([01]):/g){ if ($1 <= 32){ # $1 => prn if ($2){ # $2 => snr push(@TL, $1); $nt++; } if ($3){ # $3 => used push(@UL, $1); $nu++; } } } print "$tm $nsr nu/nt = $nu/$nt T=\[@TL\] U=\[@UL\]\n" if (($nu >= 10)); } gpsd-3.9/contrib/motosend.c0000664000175000017500000001007011762140434014124 0ustar esresr/* * This file is Copyright (c)2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include #include #include #include #include #include /* * @@Cj - receiver ID * @@Be 0 - almanac dump */ static int moto_send(int , char *, char *); static char moto_gen_checksum(char *, int); char *gpsd_hexdump(char *, size_t); int gpsd_hexpack(char *, char *, int); int hex2bin(char *s); #define BSIZ 64 int main(int argc, char **argv) { int speed, l, fd, n; struct termios term; char buf[BSIZ]; time_t s, t; if (argc != 5){ fprintf(stderr, "usage: motosend msgtype moto-body-hex\n"); return 1; } if ((l = strlen(argv[4])) > 2*USHRT_MAX){ fprintf(stderr, "oversized message\n"); return 1; } if (l % 2) { fprintf(stderr, "body must have an even number of hex digits\n"); return 1; } speed = atoi(argv[1]); switch (speed) { case 230400: case 115200: case 57600: case 38400: case 28800: case 14400: case 9600: case 4800: break; default: fprintf(stderr, "invalid speed\n"); return 1; } if ((fd = open(argv[2], O_RDWR | O_NONBLOCK | O_NOCTTY, 0644)) == -1) err(1, "open"); tcgetattr(fd, &term); cfmakeraw(&term); cfsetospeed(&term, speed); cfsetispeed(&term, speed); term.c_cc[VMIN] = 8; term.c_cc[VTIME] = 1; term.c_cflag &= ~(PARENB | PARODD | CRTSCTS); term.c_cflag |= CREAD | CLOCAL; term.c_iflag = term.c_oflag = term.c_lflag = (tcflag_t) 0; if (tcsetattr(fd, TCSANOW | TCSAFLUSH, &term) == -1) err(1, "tcsetattr"); tcflush(fd, TCIOFLUSH); t = 0; n = 0; while (1){ usleep(1000); bzero(buf, BSIZ); if ((l = read(fd, buf, BSIZ)) == -1) if (!(EINTR == errno || EAGAIN == errno)) err(1, "read"); if (l > 0){ printf("%s", gpsd_hexdump(buf, l)); fflush(stdout); } /* allow for up to "n" resends, once per second */ if (((s = time(NULL)) > t) && (n < 1)){ t = s; n++; moto_send(fd, argv[3], argv[4]); } } return 0; } char moto_gen_checksum(char *buf, int len){ int n; char ck = '\0'; for (n = 0; n < len; n++) ck ^= buf[n]; return ck; } static int moto_send(int fd, char *type, char *body ) { size_t status; char *buf; unsigned short l; l = strlen(body) / 2; if ((buf = malloc(l+7)) == NULL) return -1; bzero(buf, l+7); buf[0] = '@'; buf[1] = '@'; buf[2] = type[0]; buf[3] = type[1]; if (l) if (gpsd_hexpack(body, buf+4, l) == -1){ free(buf); return -1; } buf[l+4] = moto_gen_checksum(buf+2, l+2); buf[l+5] = '\r'; buf[l+6] = '\n'; status = write(fd, buf, l+7); if (status == -1) perror("moto_send"); return (int)status; } static char last; char *gpsd_hexdump(char *binbuf, size_t binbuflen) { static char hexbuf[USHRT_MAX*2+10+2]; size_t i, j = 0; size_t len = (size_t)binbuflen; const char *ibuf = (const char *)binbuf; const char *hexchar = "0123456789abcdef"; for (i = 0; i < len; i++) { if (ibuf[i] == '@' && (ibuf[i+1] == '@' || last == '@')){ hexbuf[j++] = '\n'; hexbuf[j++] = ibuf[i++]; hexbuf[j++] = ibuf[i++]; hexbuf[j++] = ibuf[i++]; hexbuf[j++] = ibuf[i++]; } else { hexbuf[j++] = hexchar[ (ibuf[i]&0xf0)>>4 ]; hexbuf[j++] = hexchar[ ibuf[i]&0x0f ]; } last = ibuf[i]; } hexbuf[j] ='\0'; return hexbuf; } int gpsd_hexpack(char *src, char *dst, int len){ int i, k, l; l = (int)(strlen(src) / 2); if ((l < 1) || (l > len)) return -1; bzero(dst, len); for (i = 0; i < l; i++) if ((k = hex2bin(src+i*2)) != -1) dst[i] = (char)(k & 0xff); else return -1; return l; } int hex2bin(char *s) { int a, b; a = s[0] & 0xff; b = s[1] & 0xff; if ((a >= 'a') && (a <= 'f')) a = a + 10 - 'a'; else if ((a >= 'A') && (a <= 'F')) a = a + 10 - 'A'; else if ((a >= '0') && (a <= '9')) a -= '0'; else return -1; if ((b >= 'a') && (b <= 'f')) b = b + 10 - 'a'; else if ((b >= 'A') && (b <= 'F')) b = b + 10 - 'A'; else if ((b >= '0') && (b <= '9')) b -= '0'; else return -1; return ((a<<4) + b); } gpsd-3.9/contrib/skyview.php0000775000175000017500000001715311757250540014362 0ustar esresr#!/usr/local/bin/php # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above # copyright notice and this permission notice appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. $cellmode = 0; if ($argc != 3){ if (($argc != 4) || strcmp("cells", $argv[3])){ die("usage: ${argv[0]} logfile imagefile [cells]\n"); } else { $cellmode = 1; } } $sz = 640; $cellsize = 5; # degrees $radius = 8; # pixels $filled = 0; $im = imageCreate($sz, $sz); $C = colorsetup($im); skyview($im, $sz, $C); legend($im, $sz, $C); $sky = array(); $fd = @fopen($argv[1], 'r'); while (!feof($fd)){ $line = fgets($fd); if (preg_match('/,Y=\S+ [0-9\.\?]+ (\d+):/', $line, $m)){ $n = $m[1]; $s = explode(':', $line); for($i = 1; $i <= $n; $i++){ list($sv, $el, $az, $snr, $u) = explode(' ', $s[$i]); if ($cellmode){ $az = $cellsize * (int)($az/$cellsize); $el = $cellsize * (int)($el/$cellsize); } if (isset($sky[$az][$el]['avg'])){ $sky[$az][$el]['snr'] += $snr; $sky[$az][$el]['num']++; } else { $sky[$az][$el]['snr'] = $snr; $sky[$az][$el]['num'] = 1; } $sky[$az][$el]['avg'] = $sky[$az][$el]['snr'] / $sky[$az][$el]['num']; } } } foreach($sky as $az => $x){ foreach ($sky[$az] as $el => $y){ $e = array(-1, $el, $az, $sky[$az][$el]['avg'], -1); if ($cellmode) cellplot($im, $sz, $C, $cellsize, $e); else splot($im, $sz, $C, $radius, $filled, $e); } } skygrid($im, $sz, $C); # redraw grid over satellites imagePNG($im, $argv[2]); imageDestroy($im); exit(0); ########################################################################### function colorsetup($im){ $C['white'] = imageColorAllocate($im, 255, 255, 255); $C['ltgray'] = imageColorAllocate($im, 191, 191, 191); $C['mdgray'] = imageColorAllocate($im, 127, 127, 127); $C['dkgray'] = imageColorAllocate($im, 63, 63, 63); $C['black'] = imageColorAllocate($im, 0, 0, 0); $C['red'] = imageColorAllocate($im, 255, 0, 0); $C['brightgreen'] = imageColorAllocate($im, 0, 255, 0); $C['darkgreen'] = imageColorAllocate($im, 0, 192, 0); $C['blue'] = imageColorAllocate($im, 0, 0, 255); $C['cyan'] = imageColorAllocate($im, 0, 255, 255); $C['magenta'] = imageColorAllocate($im, 255, 0, 255); $C['yellow'] = imageColorAllocate($im, 255, 255, 0); $C['orange'] = imageColorAllocate($im, 255, 128, 0); return $C; } function legend($im, $sz, $C){ $r = 30; $fn = 5; $x = $sz - (4*$r+7) - 2; $y = $sz - $r - 3; imageFilledRectangle($im, $x, $y, $x + 4*$r + 7, $y + $r +1, $C['dkgray']); imageRectangle($im, $x+0*$r+1, $y+1, $x + 1*$r + 0, $y + $r, $C['red']); imageRectangle($im, $x+1*$r+2, $y+1, $x + 2*$r + 2, $y + $r, $C['yellow']); imageRectangle($im, $x+2*$r+4, $y+1, $x + 3*$r + 4, $y + $r, $C['darkgreen']); imageRectangle($im, $x+4*$r+6, $y+1, $x + 3*$r + 6, $y + $r, $C['brightgreen']); imageString($im, $fn, $x+3+0*$r, $y+$r/3, "<30", $C['red']); imageString($im, $fn, $x+5+1*$r, $y+$r/3, "30+", $C['yellow']); imageString($im, $fn, $x+7+2*$r, $y+$r/3, "35+", $C['darkgreen']); imageString($im, $fn, $x+9+3*$r, $y+$r/3, "40+", $C['brightgreen']); } function radial($angle, $sz){ #turn into radians $angle = deg2rad($angle); # determine length of radius $r = $sz * 0.5 * 0.95; # and convert length/azimuth to cartesian $x0 = sprintf("%d", (($sz * 0.5) - ($r * cos($angle)))); $y0 = sprintf("%d", (($sz * 0.5) - ($r * sin($angle)))); $x1 = sprintf("%d", (($sz * 0.5) + ($r * cos($angle)))); $y1 = sprintf("%d", (($sz * 0.5) + ($r * sin($angle)))); return array($x0, $y0, $x1, $y1); } function azel2xy($az, $el, $sz){ #rotate coords... 90deg W = 180deg trig $az += 270; #turn into radians $az = deg2rad($az); # determine length of radius $r = $sz * 0.5 * 0.95; $r -= ($r * ($el/90)); # and convert length/azimuth to cartesian $x = sprintf("%d", (($sz * 0.5) + ($r * cos($az)))); $y = sprintf("%d", (($sz * 0.5) + ($r * sin($az)))); $x = $sz - $x; return array($x, $y); } function cellplot($im, $sz, $C, $cellsize, $e){ list($sv, $el, $az, $snr, $u) = $e; if ((0 == $sv) || (0 == $az + $el + $snr) || ($az < 0) || ($el < 0)) return; $color = $C['brightgreen']; if ($snr < 40) $color = $C['darkgreen']; if ($snr < 35) $color = $C['yellow']; if ($snr < 30) $color = $C['red']; if ($snr < 15) $color = $C['dkgray']; #consider an N-degree cell plotted at (0,0). its top left corner #will be (0,0) and its bottom right corner will be at (N,N). The #sides are straight lines from (0,0)-(0,N) and (N,0)-(N,N). The #top and bottom edges will be approximated by segments from #(0,0):(0,1)..(0,N-1):(0,N) and (N,0):(N,1)...(N,N-1):(N,N). #Plotting that unholy mess is the job of # imagefilledpolygon ( $image, array $points, $num_points, $color ) $np = 0; $points = array(); for($x = $az; $x <= $az+$cellsize; $x++){ list($px,$py) = azel2xy($x, $el, $sz); array_push($points, $px, $py); $np++; } for($x = $az+$cellsize; $x >= $az; $x--){ list($px,$py) = azel2xy($x, $el+$cellsize, $sz); array_push($points, $px, $py); $np++; } list($px,$py) = azel2xy($az, $el, $sz); array_push($points, $px, $py); $np++; if ($snr > 0) imageFilledPolygon($im, $points, $np, $color); } function splot($im, $sz, $C, $r, $filled, $e){ list($sv, $az, $el, $snr, $u) = $e; if ((0 == $sv) || (0 == $az + $el + $snr)) return; $color = $C['brightgreen']; if ($snr < 40) $color = $C['darkgreen']; if ($snr < 35) $color = $C['yellow']; if ($snr < 30) $color = $C['red']; if ($snr == 0) $color = $C['black']; list($x, $y) = azel2xy($el, $az, $sz); if ($snr > 0){ if ($filled) imageFilledArc($im, $x, $y, $r, $r, 0, 360, $color, 0); else imageArc($im, $x, $y, $r, $r, 0, 360, $color); } } function elevation($im, $sz, $C, $a){ $b = 90 - $a; $a = $sz * 0.95 * ($a/180); imageArc($im, $sz/2, $sz/2, $a*2, $a*2, 0, 360, $C['ltgray']); $x = $sz/2 - 16; $y = $sz/2 - $a; imageString($im, 2, $x, $y, $b, $C['ltgray']); } function skyview($im, $sz, $C){ $a = 90; $a = $sz * 0.95 * ($a/180); imageFilledArc($im, $sz/2, $sz/2, $a*2, $a*2, 0, 360, $C['mdgray'], 0); imageArc($im, $sz/2, $sz/2, $a*2, $a*2, 0, 360, $C['black']); $x = $sz/2 - 16; $y = $sz/2 - $a; imageString($im, 2, $x, $y, "0", $C['ltgray']); $a = 85; $a = $sz * 0.95 * ($a/180); imageFilledArc($im, $sz/2, $sz/2, $a*2, $a*2, 0, 360, $C['white'], 0); imageArc($im, $sz/2, $sz/2, $a*2, $a*2, 0, 360, $C['ltgray']); imageString($im, 1, $sz/2 - 6, $sz+$a, '5', $C['black']); $x = $sz/2 - 16; $y = $sz/2 - $a; imageString($im, 2, $x, $y, "5", $C['ltgray']); skygrid($im, $sz, $C); $x = $sz/2 - 16; $y = $sz/2 - 8; /* imageString($im, 2, $x, $y, "90", $C['ltgray']); */ imageString($im, 4, $sz/2 + 4, 2 , 'N', $C['black']); imageString($im, 4, $sz/2 + 4, $sz - 16 , 'S', $C['black']); imageString($im, 4, 4 , $sz/2 + 4, 'E', $C['black']); imageString($im, 4, $sz - 10 , $sz/2 + 4, 'W', $C['black']); } function skygrid($im, $sz, $C){ for($i = 0; $i < 180; $i += 15){ list($x0, $y0, $x1, $y1) = radial($i, $sz); imageLine($im, $x0, $y0, $x1, $y1, $C['ltgray']); } for($i = 15; $i < 90; $i += 15) elevation($im, $sz, $C, $i); } ?> gpsd-3.9/contrib/webgps.py0000775000175000017500000002254511757250540014012 0ustar esresr#!/usr/bin/env python # encoding: utf-8 # webgps.py # # This is a Python port of webgps.c from http://www.wireless.org.au/~jhecker/gpsd/ # by Beat Bolli # import time, calendar, math, socket, sys, os, select, pickle from gps import * TRACKMAX = 1024 STALECOUNT = 10 DIAMETER = 200 def polartocart(el, az): radius = DIAMETER * (1 - el / 90.0) # * math.cos(Deg2Rad(float(el))) theta = Deg2Rad(float(az - 90)) return ( -int(radius * math.cos(theta) + 0.5), # switch sides for a skyview! int(radius * math.sin(theta) + 0.5) ) class Track: '''Store the track of one satellite.''' def __init__(self, prn): self.prn = prn self.stale = 0 self.posn = [] # list of (x, y) tuples def add(self, x, y): pos = (x, y) self.stale = STALECOUNT if not self.posn or self.posn[-1] != pos: self.posn.append(pos) if len(self.posn) > TRACKMAX: self.posn = self.posn[-TRACKMAX:] return 1 return 0 class SatTracks(gps): '''gpsd client writing HTML5 and output.''' def __init__(self): gps.__init__(self) self.sattrack = {} # maps PRNs to Tracks self.state = None self.statetimer = time.time() self.needsupdate = 0 def html(self, fh, jsfile): fh.write(""" \t \t \tGPSD Satellite Positions and Readings \t \t \t \t\t \t\t\t \t\t\t \t\t \t
\t\t\t\t \t\t\t\t\t """ % jsfile) sats = self.satellites[:] sats.sort(lambda a, b: a.PRN - b.PRN) for s in sats: fh.write("\t\t\t\t\t\n" % ( s.PRN, s.elevation, s.azimuth, s.ss, s.used and 'Y' or 'N' )) fh.write("\t\t\t\t
PRN:Elev:Azim:SNR:Used:
%d%d%d%d%s
\n\t\t\t\t\n") def row(l, v): fh.write("\t\t\t\t\t\n" % (l, v)) def deg_to_str(a, hemi): return '%.6f %c' % (abs(a), hemi[a < 0]) row('Time', self.utc or 'N/A') if self.fix.mode >= MODE_2D: row('Latitude', deg_to_str(self.fix.latitude, 'SN')) row('Longitude', deg_to_str(self.fix.longitude, 'WE')) row('Altitude', self.fix.mode == MODE_3D and "%f m" % self.fix.altitude or 'N/A') row('Speed', not isnan(self.fix.speed) and "%f m/s" % self.fix.speed or 'N/A') row('Course', not isnan(self.fix.track) and "%f°" % self.fix.track or 'N/A') else: row('Latitude', 'N/A') row('Longitude', 'N/A') row('Altitude', 'N/A') row('Speed', 'N/A') row('Course', 'N/A') row('EPX', not isnan(self.fix.epx) and "%f m" % self.fix.epx or 'N/A') row('EPY', not isnan(self.fix.epy) and "%f m" % self.fix.epy or 'N/A') row('EPV', not isnan(self.fix.epv) and "%f m" % self.fix.epv or 'N/A') row('Climb', self.fix.mode == MODE_3D and not isnan(self.fix.climb) and "%f m/s" % self.fix.climb or 'N/A' ) if not (self.valid & ONLINE_SET): newstate = 0 state = "OFFLINE" else: newstate = self.fix.mode if newstate == MODE_2D: state = self.status == STATUS_DGPS_FIX and "2D DIFF FIX" or "2D FIX" elif newstate == MODE_3D: state = self.status == STATUS_DGPS_FIX and "3D DIFF FIX" or "3D FIX" else: state = "NO FIX" if newstate != self.state: self.statetimer = time.time() self.state = newstate row('State', state + " (%d secs)" % (time.time() - self.statetimer)) fh.write("""\t\t\t\t
%s:%s
\t\t\t
\t\t\t\t \t\t\t\t\t

Your browser needs HTML5 <canvas> support to display the satellite view correctly.

\t\t\t\t
\t\t\t\t \t\t\t
""") def js(self, fh): fh.write("""// draw the satellite view function draw_satview() { var c = document.getElementById('satview'); if (!c.getContext) return; var ctx = c.getContext('2d'); if (!ctx) return; var circle = Math.PI * 2, M = function (x, y) { ctx.moveTo(x, y); }, L = function (x, y) { ctx.lineTo(x, y); }; ctx.save(); ctx.clearRect(0, 0, c.width, c.height); ctx.translate(210, 210); // grid and labels ctx.strokeStyle = 'black'; ctx.beginPath(); ctx.arc(0, 0, 200, 0, circle, 0); ctx.stroke(); ctx.beginPath(); ctx.strokeText('N', -4, -202); ctx.strokeText('E', -210, 4); ctx.strokeText('W', 202, 4); ctx.strokeText('S', -4, 210); ctx.strokeStyle = 'grey'; ctx.beginPath(); ctx.arc(0, 0, 100, 0, circle, 0); M(2, 0); ctx.arc(0, 0, 2, 0, circle, 0); ctx.stroke(); ctx.strokeStyle = 'lightgrey'; ctx.save(); ctx.beginPath(); M(0, -200); L(0, 200); ctx.rotate(circle / 8); M(0, -200); L(0, 200); ctx.rotate(circle / 8); M(0, -200); L(0, 200); ctx.rotate(circle / 8); M(0, -200); L(0, 200); ctx.stroke(); ctx.restore(); // tracks ctx.lineWidth = 0.6; ctx.strokeStyle = 'red'; """); def M(p): return 'M(%d,%d); ' % p def L(p): return 'L(%d,%d); ' % p # Draw the tracks for t in self.sattrack.values(): if t.posn: fh.write(" ctx.globalAlpha = %s; ctx.beginPath(); %s%sctx.stroke();\n" % ( t.stale == 0 and '0.66' or '1', M(t.posn[0]), ''.join([L(p) for p in t.posn[1:]]) )) fh.write(""" // satellites ctx.lineWidth = 1; ctx.strokeStyle = 'black'; """) # Draw the satellites for s in self.satellites: x, y = polartocart(s.elevation, s.azimuth) fill = not s.used and 'lightgrey' or \ s.ss < 30 and 'red' or \ s.ss < 35 and 'yellow' or \ s.ss < 40 and 'green' or 'lime' # Center PRNs in the marker offset = s.PRN < 10 and 3 or s.PRN >= 100 and -3 or 0 fh.write(" ctx.beginPath(); ctx.fillStyle = '%s'; " % fill) if s.PRN > 32: # Draw a square for SBAS satellites fh.write("ctx.rect(%d, %d, 16, 16); " % (x - 8, y - 8)) else: fh.write("ctx.arc(%d, %d, 8, 0, circle, 0); " % (x, y)) fh.write("ctx.fill(); ctx.stroke(); ctx.strokeText('%s', %d, %d);\n" % (s.PRN, x - 6 + offset, y + 4)) fh.write(""" ctx.restore(); } """) def make_stale(self): for t in self.sattrack.values(): if t.stale: t.stale -= 1 def delete_stale(self): for prn in self.sattrack.keys(): if self.sattrack[prn].stale == 0: del self.sattrack[prn] self.needsupdate = 1 def insert_sat(self, prn, x, y): try: t = self.sattrack[prn] except KeyError: self.sattrack[prn] = t = Track(prn) self.needsupdate += t.add(x, y) def update_tracks(self): self.make_stale() for s in self.satellites: x, y = polartocart(s.elevation, s.azimuth) if self.insert_sat(s.PRN, x, y): self.needsupdate = 1 self.delete_stale() def generate_html(self, htmlfile, jsfile): fh = open(htmlfile, 'w') self.html(fh, jsfile) fh.close() def generate_js(self, jsfile): fh = open(jsfile, 'w') self.js(fh) fh.close() def run(self, suffix, period): jsfile = 'gpsd' + suffix + '.js' htmlfile = 'gpsd' + suffix + '.html' end = time.time() + period self.needsupdate = 1 self.stream(WATCH_ENABLE | WATCH_NEWSTYLE) for report in self: if report['class'] not in ('TPV', 'SKY'): continue self.update_tracks() if self.needsupdate: self.generate_js(jsfile) self.needsupdate = 0 self.generate_html(htmlfile, jsfile) if period <= 0 and self.fix.mode >= MODE_2D \ or period > 0 and time.time() > end: break def main(): argv = sys.argv[1:] factors = { 's': 1, 'm': 60, 'h': 60 * 60, 'd': 24 * 60 * 60 } arg = argv and argv[0] or '' if arg[-1:] in factors.keys(): period = int(arg[:-1]) * factors[arg[-1]] elif arg == 'c': period = None elif arg: period = int(arg) else: period = 0 if arg: arg = '-' + arg sat = SatTracks() # restore the tracks pfile = 'tracks.p' if os.path.isfile(pfile): p = open(pfile) sat.sattrack = pickle.load(p) p.close() try: sat.run(arg, period) except KeyboardInterrupt: # save the tracks p = open(pfile, 'w') pickle.dump(sat.sattrack, p) p.close() if __name__ == '__main__': main() gpsd-3.9/control0000664000175000017500000000200112063443570012070 0ustar esresr# This is not a real Debian control file # It's project metadata for the shipper tool Package: gpsd Description: monitoring daemon for GPSes, AIS radios, and other navigation aids gpsd is a userland daemon acting as a translator between GPS and AIS receivers and their clients. gpsd listens on port 2947 for clients requesting position/time/velocity information. The receivers are expected to generate position information in a well-known format -- as NMEA-0183 sentences, SiRF binary, Rockwell binary, Garmin binary format, or other vendor binary protocols. gpsd takes this information from the GPS and translates it into JSON objects in a uniform and well-documented format that easier for clients to understand. The distribution includes sample clients, application interface libraries, and test/profiling tools. XBS-Destinations: ~, savannah, freecode XBS-Web-Directory: www XBS-IRC-Channel: irc://chat.freenode.net/#gpsd XBS-Project-Tag-List: Communications, Scientific/Engineering, Geographical gpsd-3.9/crc24q.c0000664000175000017500000001456612022345475011752 0ustar esresr/* * This is an implementation of the CRC-24Q cyclic redundancy checksum * used by Qualcomm, RTCM104V3, and PGP 6.5.1. According to the RTCM104V3 * standard, it uses the error polynomial * * x^24+ x^23+ x^18+ x^17+ x^14+ x^11+ x^10+ x^7+ x^6+ x^5+ x^4+ x^3+ x+1 * * This corresponds to a mask of 0x1864CFB. For a primer on CRC theory, * including detailed discussion of how and why the error polynomial is * expressed by this mask, see . * * 1) It detects all single bit errors per 24-bit code word. * 2) It detects all double bit error combinations in a code word. * 3) It detects any odd number of errors. * 4) It detects any burst error for which the length of the burst is less than * or equal to 24 bits. * 5) It detects most large error bursts with length greater than 24 bits; * the odds of a false positive are at most 2^-23. * * This hash should not be considered cryptographically secure, but it * is extremely good at detecting noise errors. * * Note that this version has a seed of 0 wired in. The RTCM104V3 standard * requires this. * * This file is Copyright (c) 2008,2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include "crc24q.h" #ifdef REBUILD_CRC_TABLE /* * The crc24q code table below can be regenerated with the following code: */ #include #include #define CRCSEED 0 /* could be NZ to detect leading zeros */ #define CRCPOLY 0x1864CFBu /* encodes all info about the polynomial */ static void crc_init(unsigned int table[256]) { unsigned i, j; unsigned h; table[0] = CRCSEED; table[1] = h = CRCPOLY; for (i = 2; i < 256; i *= 2) { if ((h <<= 1) & 0x1000000) h ^= CRCPOLY; for (j = 0; j < i; j++) table[i + j] = table[j] ^ h; } } int main(int argc, char *argv[]) { int i; crc_init(table); for (i = 0; i < 256; i++) { printf("0x%08X, ", table[i]); if ((i % 4) == 3) putchar('\n'); } exit(EXIT_SUCCESS); } #endif static const int unsigned crc24q[256] = { 0x00000000u, 0x01864CFBu, 0x028AD50Du, 0x030C99F6u, 0x0493E6E1u, 0x0515AA1Au, 0x061933ECu, 0x079F7F17u, 0x08A18139u, 0x0927CDC2u, 0x0A2B5434u, 0x0BAD18CFu, 0x0C3267D8u, 0x0DB42B23u, 0x0EB8B2D5u, 0x0F3EFE2Eu, 0x10C54E89u, 0x11430272u, 0x124F9B84u, 0x13C9D77Fu, 0x1456A868u, 0x15D0E493u, 0x16DC7D65u, 0x175A319Eu, 0x1864CFB0u, 0x19E2834Bu, 0x1AEE1ABDu, 0x1B685646u, 0x1CF72951u, 0x1D7165AAu, 0x1E7DFC5Cu, 0x1FFBB0A7u, 0x200CD1E9u, 0x218A9D12u, 0x228604E4u, 0x2300481Fu, 0x249F3708u, 0x25197BF3u, 0x2615E205u, 0x2793AEFEu, 0x28AD50D0u, 0x292B1C2Bu, 0x2A2785DDu, 0x2BA1C926u, 0x2C3EB631u, 0x2DB8FACAu, 0x2EB4633Cu, 0x2F322FC7u, 0x30C99F60u, 0x314FD39Bu, 0x32434A6Du, 0x33C50696u, 0x345A7981u, 0x35DC357Au, 0x36D0AC8Cu, 0x3756E077u, 0x38681E59u, 0x39EE52A2u, 0x3AE2CB54u, 0x3B6487AFu, 0x3CFBF8B8u, 0x3D7DB443u, 0x3E712DB5u, 0x3FF7614Eu, 0x4019A3D2u, 0x419FEF29u, 0x429376DFu, 0x43153A24u, 0x448A4533u, 0x450C09C8u, 0x4600903Eu, 0x4786DCC5u, 0x48B822EBu, 0x493E6E10u, 0x4A32F7E6u, 0x4BB4BB1Du, 0x4C2BC40Au, 0x4DAD88F1u, 0x4EA11107u, 0x4F275DFCu, 0x50DCED5Bu, 0x515AA1A0u, 0x52563856u, 0x53D074ADu, 0x544F0BBAu, 0x55C94741u, 0x56C5DEB7u, 0x5743924Cu, 0x587D6C62u, 0x59FB2099u, 0x5AF7B96Fu, 0x5B71F594u, 0x5CEE8A83u, 0x5D68C678u, 0x5E645F8Eu, 0x5FE21375u, 0x6015723Bu, 0x61933EC0u, 0x629FA736u, 0x6319EBCDu, 0x648694DAu, 0x6500D821u, 0x660C41D7u, 0x678A0D2Cu, 0x68B4F302u, 0x6932BFF9u, 0x6A3E260Fu, 0x6BB86AF4u, 0x6C2715E3u, 0x6DA15918u, 0x6EADC0EEu, 0x6F2B8C15u, 0x70D03CB2u, 0x71567049u, 0x725AE9BFu, 0x73DCA544u, 0x7443DA53u, 0x75C596A8u, 0x76C90F5Eu, 0x774F43A5u, 0x7871BD8Bu, 0x79F7F170u, 0x7AFB6886u, 0x7B7D247Du, 0x7CE25B6Au, 0x7D641791u, 0x7E688E67u, 0x7FEEC29Cu, 0x803347A4u, 0x81B50B5Fu, 0x82B992A9u, 0x833FDE52u, 0x84A0A145u, 0x8526EDBEu, 0x862A7448u, 0x87AC38B3u, 0x8892C69Du, 0x89148A66u, 0x8A181390u, 0x8B9E5F6Bu, 0x8C01207Cu, 0x8D876C87u, 0x8E8BF571u, 0x8F0DB98Au, 0x90F6092Du, 0x917045D6u, 0x927CDC20u, 0x93FA90DBu, 0x9465EFCCu, 0x95E3A337u, 0x96EF3AC1u, 0x9769763Au, 0x98578814u, 0x99D1C4EFu, 0x9ADD5D19u, 0x9B5B11E2u, 0x9CC46EF5u, 0x9D42220Eu, 0x9E4EBBF8u, 0x9FC8F703u, 0xA03F964Du, 0xA1B9DAB6u, 0xA2B54340u, 0xA3330FBBu, 0xA4AC70ACu, 0xA52A3C57u, 0xA626A5A1u, 0xA7A0E95Au, 0xA89E1774u, 0xA9185B8Fu, 0xAA14C279u, 0xAB928E82u, 0xAC0DF195u, 0xAD8BBD6Eu, 0xAE872498u, 0xAF016863u, 0xB0FAD8C4u, 0xB17C943Fu, 0xB2700DC9u, 0xB3F64132u, 0xB4693E25u, 0xB5EF72DEu, 0xB6E3EB28u, 0xB765A7D3u, 0xB85B59FDu, 0xB9DD1506u, 0xBAD18CF0u, 0xBB57C00Bu, 0xBCC8BF1Cu, 0xBD4EF3E7u, 0xBE426A11u, 0xBFC426EAu, 0xC02AE476u, 0xC1ACA88Du, 0xC2A0317Bu, 0xC3267D80u, 0xC4B90297u, 0xC53F4E6Cu, 0xC633D79Au, 0xC7B59B61u, 0xC88B654Fu, 0xC90D29B4u, 0xCA01B042u, 0xCB87FCB9u, 0xCC1883AEu, 0xCD9ECF55u, 0xCE9256A3u, 0xCF141A58u, 0xD0EFAAFFu, 0xD169E604u, 0xD2657FF2u, 0xD3E33309u, 0xD47C4C1Eu, 0xD5FA00E5u, 0xD6F69913u, 0xD770D5E8u, 0xD84E2BC6u, 0xD9C8673Du, 0xDAC4FECBu, 0xDB42B230u, 0xDCDDCD27u, 0xDD5B81DCu, 0xDE57182Au, 0xDFD154D1u, 0xE026359Fu, 0xE1A07964u, 0xE2ACE092u, 0xE32AAC69u, 0xE4B5D37Eu, 0xE5339F85u, 0xE63F0673u, 0xE7B94A88u, 0xE887B4A6u, 0xE901F85Du, 0xEA0D61ABu, 0xEB8B2D50u, 0xEC145247u, 0xED921EBCu, 0xEE9E874Au, 0xEF18CBB1u, 0xF0E37B16u, 0xF16537EDu, 0xF269AE1Bu, 0xF3EFE2E0u, 0xF4709DF7u, 0xF5F6D10Cu, 0xF6FA48FAu, 0xF77C0401u, 0xF842FA2Fu, 0xF9C4B6D4u, 0xFAC82F22u, 0xFB4E63D9u, 0xFCD11CCEu, 0xFD575035u, 0xFE5BC9C3u, 0xFFDD8538u, }; unsigned crc24q_hash(unsigned char *data, int len) { int i; unsigned crc = 0; for (i = 0; i < len; i++) { crc = (crc << 8) ^ crc24q[data[i] ^ (unsigned char)(crc >> 16)]; } crc = (crc & 0x00ffffff); return crc; } #define LO(x) (unsigned char)((x) & 0xff) #define MID(x) (unsigned char)(((x) >> 8) & 0xff) #define HI(x) (unsigned char)(((x) >> 16) & 0xff) void crc24q_sign(unsigned char *data, int len) { unsigned crc = crc24q_hash(data, len); data[len] = HI(crc); data[len + 1] = MID(crc); data[len + 2] = LO(crc); } bool crc24q_check(unsigned char *data, int len) { unsigned crc = crc24q_hash(data, len - 3); return (((data[len - 3] == HI(crc)) && (data[len - 2] == MID(crc)) && (data[len - 1] == LO(crc)))); } gpsd-3.9/crc24q.h0000664000175000017500000000066311757250540011752 0ustar esresr/* Interface for CRC-24Q cyclic redundancy chercksum code * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #ifndef _CRC24Q_H_ #define _CRC24Q_H_ extern void crc24q_sign(unsigned char *data, int len); extern bool crc24q_check(unsigned char *data, int len); extern unsigned crc24q_hash(unsigned char *data, int len); #endif /* _CRC24Q_H_ */ gpsd-3.9/daemon.c0000664000175000017500000000215112022342254012072 0ustar esresr#include #include #include #include #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include "gpsd_config.h" #ifndef HAVE_DAEMON #if defined (HAVE_PATH_H) #include #else #if !defined (_PATH_DEVNULL) #define _PATH_DEVNULL "/dev/null" #endif #endif int daemon(int nochdir, int noclose) /* compatible with the daemon(3) found on Linuxes and BSDs */ { int fd; /*@ -type @*//* weirdly, splint 3.1.2 is confused by fork() */ switch (fork()) { case -1: return -1; case 0: /* child side */ break; default: /* parent side */ exit(EXIT_SUCCESS); } /*@ +type @*/ if (setsid() == -1) return -1; if ((nochdir==0) && (chdir("/") == -1)) return -1; /*@ -nullpass @*/ if ((noclose==0) && (fd = open(_PATH_DEVNULL, O_RDWR, 0)) != -1) { (void)dup2(fd, STDIN_FILENO); (void)dup2(fd, STDOUT_FILENO); (void)dup2(fd, STDERR_FILENO); if (fd > 2) (void)close(fd); } /*@ +nullpass @*/ /* coverity[leaked_handle] Intentional handle duplication */ return 0; } #endif /* HAVE_DAEMON */ // end gpsd-3.9/dbusexport.c0000664000175000017500000000456511762140434013047 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include "gpsd.h" #if defined(DBUS_EXPORT_ENABLE) && !defined(S_SPLINT_S) #include static DBusConnection *connection = NULL; /* * Does what is required to initialize the dbus connection * This is pretty basic at this point, as we don't receive commands via dbus. * Returns 0 when everything is OK. */ int initialize_dbus_connection(void) { DBusError error; dbus_error_init(&error); connection = dbus_bus_get(DBUS_BUS_SYSTEM, &error); if (connection == NULL) { /* report error */ return 1; } return 0; } void send_dbus_fix(struct gps_device_t *channel) { /* sends the current fix data for this channel via dbus */ struct gps_data_t *gpsdata; struct gps_fix_t *gpsfix; DBusMessage *message; /*DBusMessageIter iter; */ dbus_uint32_t serial; /* collected, but not used */ char *gpsd_devname; /* this packet format was designed before we split eph */ double eph; /* if the connection is non existent, return without doing anything */ if (connection == NULL) return; gpsdata = &(channel->gpsdata); gpsfix = &(gpsdata->fix); /* this packet format was designed before we split eph */ eph = EMIX(gpsfix->epx, gpsfix->epy); gpsd_devname = gpsdata->dev.path; /* Send the named signal. */ message = dbus_message_new_signal("/org/gpsd", "org.gpsd", "fix"); dbus_message_append_args(message, DBUS_TYPE_DOUBLE, &(gpsfix->time), DBUS_TYPE_INT32, &(gpsfix->mode), DBUS_TYPE_DOUBLE, &(gpsfix->ept), DBUS_TYPE_DOUBLE, &(gpsfix->latitude), DBUS_TYPE_DOUBLE, &(gpsfix->longitude), DBUS_TYPE_DOUBLE, &(eph), DBUS_TYPE_DOUBLE, &(gpsfix->altitude), DBUS_TYPE_DOUBLE, &(gpsfix->epv), DBUS_TYPE_DOUBLE, &(gpsfix->track), DBUS_TYPE_DOUBLE, &(gpsfix->epd), DBUS_TYPE_DOUBLE, &(gpsfix->speed), DBUS_TYPE_DOUBLE, &(gpsfix->eps), DBUS_TYPE_DOUBLE, &(gpsfix->climb), DBUS_TYPE_DOUBLE, &(gpsfix->epc), DBUS_TYPE_STRING, &gpsd_devname, DBUS_TYPE_INVALID); dbus_message_set_no_reply(message, TRUE); dbus_connection_send(connection, message, &serial); dbus_message_unref(message); } #endif /* defined(DBUS_EXPORT_ENABLE) && !defined(S_SPLINT_S) */ gpsd-3.9/devtools/README0000664000175000017500000000537011762140434013216 0ustar esresrThis is a list of developer tools included in the source repository but not necessarily shipped in the tarball or binary distributions If you're viewing it with Emacs, you can try doing Ctl-C Ctl-t browse through the outline headers. Ctl-C Ctl-a will unfold them again. == ais.py == AIS packet decoder in Python. Useful as a check on the C code. Also, if you have AISHub privileges (see ), a command like nc data.aishub.net 4006 | devtools/ais.py -c -v -t RANGE >AIS.LOG 2>&1" is a handy way to capture filtered AIS samples; RANGE can be a comma-separated list of AIS types. == aidvmtable == Generate an asciidoc table of the six-bit encoding used in AIVDM packets. == cycle_analyzer == Finds end-of-cycle sentences from GPS output logs. == dchroot-exec == Very simple wrapper around the DSA version of dchroot on the Debian porter boxes. dchroot only accepts one command as argument, nothing else. This wrapper creates a temporary script which will be executed then. == editcomment == Give this a commit-ID specification. It will edit the associated comment. Usual caveats apply; the edited one and all commits after will change IDs, and pushing them to a repo with the old commits will wreak havoc. Note also that this cavalierly overwrites refs/original. == fakeserver == Analogue of gpsfake. Impersonates a gpsd, spewing specified data to clients connecting to localhost:2947 == fakecompare == Compare the results from running gpsfake on a logfile between this machine and a remote one. Especially useful when remote and local have different word lengths. == flock* == The files prefixed with flock are the scripts, data files, and documentation for the flock-test suite. Read flock-instructions for explanation. == gpsd-debian-regressions.sh == Retrieves the latest build logs from Debian's buildds and extracts a list of failed regression tests, sorted by architecture. == logextract == Extract pure NMEA from an emailed gpsd error log. The output can be fed to gpsfake. == regress-builder == This script runs an exhaustive test on combinations of compilation options, looking for ones that break the build. == regressdiff == Walk through a pair of text files looking for where they begin to differ. May be useful for comparing logs when regression tests break. == reindent == Try to reindent the code in a uniform style. == sizes == Test-build interesting versions of the daemon and display their sizes. == striplog == Strip leading comment lines from NMEA sentence logs. gpsfake can do this itself now, so this script has a lot of dust on it. == tablegen.py == Generate most of the code required to support a message type from AIVDM message layout tables. Also, redo their bit offsets to be conformant with field lengths. gpsd-3.9/devtools/ais.py0000775000175000017500000014256112005656224013473 0ustar esresr#!/usr/bin/env python # # A Python AIVDM/AIVDO decoder # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # # This decoder works by defining a declarative pseudolanguage in which # to describe the process of extracting packed bitfields from an AIS # message, a set of tables which contain instructions in the pseudolanguage, # and a small amount of code for interpreting it. # # Known bugs: # * Doesn't join parts A and B of Type 24 together yet. # * Only handles the broadcast case of type 22. The problem is that the # addressed field is located *after* the variant parts. Grrrr... # * Message type 26 is presently unsupported. It hasn't been observed # in the wild yet as of Jan 2010; not a lot of point in trying util # we have test data. We'd need new machinery to constrain how many # bits the data spec eats in order to recover the radio bits after it. # * No support for IMO236 and IMO289 special messages in types 6 and 8 yet. # # Decoding for 1-15, 18-21, and 24 have been tested against live data. # Decoding for 16-17, 22-23, and 25-27 have not. # Here are the pseudoinstructions in the pseudolanguage. class bitfield: "Object defining the interpretation of an AIS bitfield." # The only un-obvious detail is the use of the oob (out-of-band) # member. This isn't used in data extraction, but rather to cut # down on the number of custom formatting hooks. With this we # handle the case where the field should be reported as an integer # or "n/a". def __init__(self, name, width, dtype, oob, legend, validator=None, formatter=None, conditional=None): self.name = name # Fieldname, for internal use and JSON self.width = width # Bit width self.type = dtype # Data type: signed/unsigned/string/raw self.oob = oob # Out-of-band value to be shown as n/a self.legend = legend # Human-friendly description of field self.validator = validator # Validation checker self.formatter = formatter # Custom reporting hook. self.conditional = conditional # Evaluation guard for this field class spare: "Describes spare bits,, not to be interpreted." def __init__(self, width, conditional=None): self.width = width self.conditional = conditional # Evaluation guard for this field class dispatch: "Describes how to dispatch to a message type variant on a subfield value." def __init__(self, fieldname, subtypes, compute=lambda x: x, conditional=None): self.fieldname = fieldname # Value of view to dispatch on self.subtypes = subtypes # Possible subtypes to dispatch to self.compute = compute # Pass value through this pre-dispatch self.conditional = conditional # Evaluation guard for this field # Message-type-specific information begins here. There are four # different kinds of things in it: (1) string tables for expanding # enumerated-type codes, (2) hook functions, (3) instruction tables, # and (4) field group declarations. This is the part that could, in # theory, be generated from a portable higher-level specification in # XML; only the hook functions are actually language-specific, and # your XML definition could in theory embed several different ones for # code generation in Python, Java, Perl, etc. cnb_status_legends = ( "Under way using engine", "At anchor", "Not under command", "Restricted manoeuverability", "Constrained by her draught", "Moored", "Aground", "Engaged in fishing", "Under way sailing", "Reserved for HSC", "Reserved for WIG", "Reserved", "Reserved", "Reserved", "Reserved", "Not defined", ) def cnb_rot_format(n): if n == -128: return "n/a" elif n == -127: return "fastleft" elif n == 127: return "fastright" else: return str((n / 4.733) ** 2); def cnb_latlon_format(n): return str(n / 600000.0) def cnb_speed_format(n): if n == 1023: return "n/a" elif n == 1022: return "fast" else: return str(n / 10.0); def cnb_course_format(n): return str(n / 10.0); def cnb_second_format(n): if n == 60: return "n/a" elif n == 61: return "manual input" elif n == 62: return "dead reckoning" elif n == 63: return "inoperative" else: return str(n); # Common Navigation Block is the format for AIS types 1, 2, and 3 cnb = ( bitfield("status", 4, 'unsigned', 0, "Navigation Status", formatter=cnb_status_legends), bitfield("turn", 8, 'signed', -128, "Rate of Turn", formatter=cnb_rot_format), bitfield("speed", 10, 'unsigned', 1023, "Speed Over Ground", formatter=cnb_speed_format), bitfield("accuracy", 1, 'unsigned', None, "Position Accuracy"), bitfield("lon", 28, 'signed', 0x6791AC0, "Longitude", formatter=cnb_latlon_format), bitfield("lat", 27, 'signed', 0x3412140, "Latitude", formatter=cnb_latlon_format), bitfield("course", 12, 'unsigned', 0xe10, "Course Over Ground", formatter=cnb_course_format), bitfield("heading", 9, 'unsigned', 511, "True Heading"), bitfield("second", 6, 'unsigned', None, "Time Stamp", formatter=cnb_second_format), bitfield("maneuver", 2, 'unsigned', None, "Maneuver Indicator"), spare(3), bitfield("raim", 1, 'unsigned', None, "RAIM flag"), bitfield("radio", 19, 'unsigned', None, "Radio status"), ) epfd_type_legends = ( "Undefined", "GPS", "GLONASS", "Combined GPS/GLONASS", "Loran-C", "Chayka", "Integrated navigation system", "Surveyed", "Galileo", ) type4 = ( bitfield("year", 14, "unsigned", 0, "Year"), bitfield("month", 4, "unsigned", 0, "Month"), bitfield("day", 5, "unsigned", 0, "Day"), bitfield("hour", 5, "unsigned", 24, "Hour"), bitfield("minute", 6, "unsigned", 60, "Minute"), bitfield("second", 6, "unsigned", 60, "Second"), bitfield("accuracy", 1, "unsigned", None, "Fix quality"), bitfield("lon", 28, "signed", 0x6791AC0, "Longitude", formatter=cnb_latlon_format), bitfield("lat", 27, "signed", 0x3412140, "Latitude", formatter=cnb_latlon_format), bitfield("epfd", 4, "unsigned", None, "Type of EPFD", validator=lambda n: n >= 0 and n <= 8 or n == 15, formatter=epfd_type_legends), spare(10), bitfield("raim", 1, "unsigned", None, "RAIM flag "), bitfield("radio", 19, "unsigned", None, "SOTDMA state"), ) ship_type_legends = ( "Not available", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Wing in ground (WIG) - all ships of this type", "Wing in ground (WIG) - Hazardous category A", "Wing in ground (WIG) - Hazardous category B", "Wing in ground (WIG) - Hazardous category C", "Wing in ground (WIG) - Hazardous category D", "Wing in ground (WIG) - Reserved for future use", "Wing in ground (WIG) - Reserved for future use", "Wing in ground (WIG) - Reserved for future use", "Wing in ground (WIG) - Reserved for future use", "Wing in ground (WIG) - Reserved for future use", "Fishing", "Towing", "Towing: length exceeds 200m or breadth exceeds 25m", "Dredging or underwater ops", "Diving ops", "Military ops", "Sailing", "Pleasure Craft", "Reserved", "Reserved", "High speed craft (HSC) - all ships of this type", "High speed craft (HSC) - Hazardous category A", "High speed craft (HSC) - Hazardous category B", "High speed craft (HSC) - Hazardous category C", "High speed craft (HSC) - Hazardous category D", "High speed craft (HSC) - Reserved for future use", "High speed craft (HSC) - Reserved for future use", "High speed craft (HSC) - Reserved for future use", "High speed craft (HSC) - Reserved for future use", "High speed craft (HSC) - No additional information", "Pilot Vessel", "Search and Rescue vessel", "Tug", "Port Tender", "Anti-pollution equipment", "Law Enforcement", "Spare - Local Vessel", "Spare - Local Vessel", "Medical Transport", "Ship according to RR Resolution No. 18", "Passenger - all ships of this type", "Passenger - Hazardous category A", "Passenger - Hazardous category B", "Passenger - Hazardous category C", "Passenger - Hazardous category D", "Passenger - Reserved for future use", "Passenger - Reserved for future use", "Passenger - Reserved for future use", "Passenger - Reserved for future use", "Passenger - No additional information", "Cargo - all ships of this type", "Cargo - Hazardous category A", "Cargo - Hazardous category B", "Cargo - Hazardous category C", "Cargo - Hazardous category D", "Cargo - Reserved for future use", "Cargo - Reserved for future use", "Cargo - Reserved for future use", "Cargo - Reserved for future use", "Cargo - No additional information", "Tanker - all ships of this type", "Tanker - Hazardous category A", "Tanker - Hazardous category B", "Tanker - Hazardous category C", "Tanker - Hazardous category D", "Tanker - Reserved for future use", "Tanker - Reserved for future use", "Tanker - Reserved for future use", "Tanker - Reserved for future use", "Tanker - No additional information", "Other Type - all ships of this type", "Other Type - Hazardous category A", "Other Type - Hazardous category B", "Other Type - Hazardous category C", "Other Type - Hazardous category D", "Other Type - Reserved for future use", "Other Type - Reserved for future use", "Other Type - Reserved for future use", "Other Type - Reserved for future use", "Other Type - no additional information", ) type5 = ( bitfield("ais_version", 2, 'unsigned', None, "AIS Version"), bitfield("imo_id", 30, 'unsigned', 0, "IMO Identification Number"), bitfield("callsign", 42, 'string', None, "Call Sign"), bitfield("shipname", 120, 'string', None, "Vessel Name"), bitfield("shiptype", 8, 'unsigned', None, "Ship Type", #validator=lambda n: n >= 0 and n <= 99, formatter=ship_type_legends), bitfield("to_bow", 9, 'unsigned', 0, "Dimension to Bow"), bitfield("to_stern", 9, 'unsigned', 0, "Dimension to Stern"), bitfield("to_port", 6, 'unsigned', 0, "Dimension to Port"), bitfield("to_starbord", 6, 'unsigned', 0, "Dimension to Starboard"), bitfield("epfd", 4, 'unsigned', 0, "Position Fix Type", validator=lambda n: n >= 0 and n <= 8 or n == 15, formatter=epfd_type_legends), bitfield("month", 4, 'unsigned', 0, "ETA month"), bitfield("day", 5, 'unsigned', 0, "ETA day"), bitfield("hour", 5, 'unsigned', 24, "ETA hour"), bitfield("minute", 6, 'unsigned', 60, "ETA minute"), bitfield("draught", 8, 'unsigned', 0, "Draught", formatter=lambda n: n/10.0), bitfield("destination", 120, 'string', None, "Destination"), bitfield("dte", 1, 'unsigned', None, "DTE"), spare(1), ) type6_dac_or_fid_unknown = ( bitfield("data", 920, 'raw', None, "Data"), ) type6_dispatch = {} type6_dispatch[0] = type6_dac_or_fid_unknown # DAC 235 and 250 (UK, Rep. of Ireland) type6_dac235_dispatch = {} type6_dac235_dispatch[0] = type6_dac_or_fid_unknown type6_dac235_fid10 = ( bitfield("ana_int", 10, 'unsigned', None, "Supply voltage"), bitfield("ana_ext1", 10, 'unsigned', None, "Analogue (Ext#1)"), bitfield("ana_ext2", 10, 'unsigned', None, "Analogue (Ext#2)"), bitfield("racon", 2, 'unsigned', None, "RACON status"), bitfield("light", 2, 'unsigned', None, "Light status"), bitfield("health", 1, 'unsigned', None, "Health"), bitfield("stat_ext", 8, 'unsigned', None, "Status (ext)"), bitfield("off_pos", 1, 'unsigned', None, "Position status"), ) type6_dac235_dispatch[10] = type6_dac235_fid10 type6_dac235 = ( dispatch("fid", type6_dac235_dispatch, lambda m: m if m in type6_dac235_dispatch else 0), ) type6_dispatch[235] = type6_dac235 type6_dispatch[250] = type6_dac235 type6 = ( bitfield("seqno", 2, 'unsigned', None, "Sequence Number"), bitfield("dest_mmsi", 30, 'unsigned', None, "Destination MMSI"), bitfield("retransmit", 1, 'unsigned', None, "Retransmit flag"), spare(1), bitfield("dac", 10, 'unsigned', 0, "DAC"), bitfield("fid", 6, 'unsigned', 0, "Functional ID"), dispatch("dac", type6_dispatch, lambda m: m if m in type6_dispatch else 0), ) type7 = ( spare(2), bitfield("mmsi1", 30, 'unsigned', 0, "MMSI number 1"), spare(2), bitfield("mmsi2", 30, 'unsigned', 0, "MMSI number 2"), spare(2), bitfield("mmsi3", 30, 'unsigned', 0, "MMSI number 3"), spare(2), bitfield("mmsi1", 30, 'unsigned', 0, "MMSI number 4"), spare(2), ) # # Type 8 have subtypes identified by DAC (Designated Area Code) and FID (Functional ID) # def type8_latlon_format(n): return str(n / 60000.0) type8_dac_or_fid_unknown = ( bitfield("data", 952, 'raw', None, "Data"), ) type8_dispatch = {} type8_dispatch[0] = type8_dac_or_fid_unknown # DAC 1 (international) type8_dac1_dispatch = {} type8_dac1_dispatch[0] = type8_dac_or_fid_unknown # DAC 1, FID 11: IMO236 Met/Hydro message def type8_dac1_fid11_airtemp_format(n): return str(n * 0.1 - 60) def type8_dac1_fid11_dewpoint_format(n): return str(n * 0.1 - 20) def type8_dac1_fid11_pressure_format(n): return str(n + 800) def type8_dac1_fid11_visibility_format(n): return str(n * 0.1) def type8_dac1_fid11_waterlevel_format(n): return str(n * 0.1 - 10) def type8_dac1_fid11_cspeed_format(n): return str(n * 0.1) def type8_dac1_fid11_waveheight_format(n): return str(n * 0.1) type8_dac1_fid11_seastate_legend = ( "Calm", "Light air", "Light breeze" "Gentle breeze", "Moderate breeze", "Fresh breeze", "Strong breeze", "High wind", "Gale", "Strong gale", "Storm", "Violent storm", "Hurricane force", "Reserved", "Reserved", "Reserved" ) def type8_dac1_fid11_watertemp_format(n): return str(n * 0.1 - 10) type8_dac1_fid11_preciptype_legend = ( "Reserved", "Rain", "Thunderstorm", "Freezing rain", "Mixed/ice", "Snow", "Reserved", "Reserved" ) def type8_dac1_fid11_salinity_format(n): return str(n * 0.1) type8_dac1_fid11_ice_legend = ( "Yes", "No" ) type8_dac1_fid11 = ( bitfield("lat", 24, "signed", 2**24-1, "Latitude", formatter=type8_latlon_format), bitfield("lon", 25, "signed", 2**25-1, "Longitude", formatter=type8_latlon_format), bitfield("day", 5, 'unsigned', 0, "ETA day"), bitfield("hour", 5, 'unsigned', 24, "ETA hour"), bitfield("minute", 6, 'unsigned', 60, "ETA minute"), bitfield("wspeed", 7, 'unsigned', 127, "Wind speed"), bitfield("wgust", 7, 'unsigned', 127, "Wind gust"), bitfield("wdir", 9, 'unsigned', 511, "Wind direction"), bitfield("wgustdir", 9, 'unsigned', 511, "Wind gust direction"), bitfield("airtemp", 11, 'unsigned', 2047, "Air temperature", formatter=type8_dac1_fid11_airtemp_format), bitfield("humidity", 7, 'unsigned', 127, "Relative humidity"), bitfield("dewpoint", 10, 'unsigned', 1023, "Dew point", formatter=type8_dac1_fid11_dewpoint_format), bitfield("pressure", 9, 'unsigned', 511, "Atmospheric pressure", formatter=type8_dac1_fid11_pressure_format), bitfield("pressuretend", 2, 'unsigned', 3, "Atmospheric pressure tendency"), bitfield("visibility", 8, 'unsigned', 255, "Horizontal visibility", formatter=type8_dac1_fid11_visibility_format), bitfield("waterlevel", 9, 'unsigned', 511, "Water level", formatter=type8_dac1_fid11_waterlevel_format), bitfield("leveltrend", 2, 'unsigned', 3, "Water level trend"), bitfield("cspeed", 8, 'unsigned', 255, "Surface current speed", formatter=type8_dac1_fid11_cspeed_format), bitfield("cdir", 9, 'unsigned', 511, "Surface current direction"), bitfield("cspeed2", 8, 'unsigned', 255, "Current speed #2", formatter=type8_dac1_fid11_cspeed_format), bitfield("cdir2", 9, 'unsigned', 511, "Current direction #2"), bitfield("cdepth2", 5, 'unsigned', 31, "Current measuring level #2"), bitfield("cspeed3", 8, 'unsigned', 255, "Current speed #3", formatter=type8_dac1_fid11_cspeed_format), bitfield("cdir3", 9, 'unsigned', 511, "Current direction #3"), bitfield("cdepth3", 5, 'unsigned', 31, "Current measuring level #3"), bitfield("waveheight", 8, 'unsigned', 255, "Significant wave height", formatter=type8_dac1_fid11_waveheight_format), bitfield("waveperiod", 6, 'unsigned', 63, "Significant wave period"), bitfield("wavedir", 9, 'unsigned', 511, "Significant wave direction"), bitfield("swellheight", 8, 'unsigned', 255, "Swell height", formatter=type8_dac1_fid11_waveheight_format), bitfield("swellperiod", 6, 'unsigned', 63, "Swell period"), bitfield("swelldir", 9, 'unsigned', 511, "Swell direction"), bitfield("seastate", 4, 'unsigned', 15, "Sea state", formatter=type8_dac1_fid11_seastate_legend), bitfield("watertemp", 10, 'unsigned', 1023, "Water temperature", formatter=type8_dac1_fid11_watertemp_format), bitfield("preciptype", 3, 'unsigned', 7, "Precipitation type", formatter=type8_dac1_fid11_preciptype_legend), bitfield("salinity", 9, 'unsigned', 511, "Salinity", formatter=type8_dac1_fid11_salinity_format), bitfield("ice", 2, 'unsigned', 3, "Ice?", formatter=type8_dac1_fid11_ice_legend), spare(6) ) type8_dac1_dispatch[11] = type8_dac1_fid11 type8_dac1 = ( dispatch("fid", type8_dac1_dispatch, lambda m: m if m in type8_dac1_dispatch else 0), ) type8_dispatch[1] = type8_dac1 type8 = ( spare(2), bitfield("dac", 10, 'unsigned', 0, "DAC"), bitfield("fid", 6, 'unsigned', 0, "Functional ID"), dispatch("dac", type8_dispatch, lambda m: m if m in type8_dispatch else 0), ) def type9_alt_format(n): if n == 4094: return ">=4094" else: return str(n) def type9_speed_format(n): if n == 1023: return "n/a" elif n == 1022: return "fast" else: return str(n); type9 = ( bitfield("alt", 12, 'unsigned', 4095, "Altitude", formatter=type9_alt_format), bitfield("speed", 10, 'unsigned', 1023, "SOG", formatter=type9_speed_format), bitfield("accuracy", 1, 'unsigned', None, "Position Accuracy"), bitfield("lon", 28, 'signed', 0x6791AC0, "Longitude", formatter=cnb_latlon_format), bitfield("lat", 27, 'signed', 0x3412140, "Latitude", formatter=cnb_latlon_format), bitfield("course", 12, 'unsigned', 0xe10, "Course Over Ground", formatter=cnb_course_format), bitfield("second", 6, 'unsigned', 60, "Time Stamp", formatter=cnb_second_format), bitfield("regional", 8, 'unsigned', None, "Regional reserved"), bitfield("dte", 1, 'unsigned', None, "DTE"), spare(3), bitfield("assigned", 1, 'unsigned', None, "Assigned"), bitfield("raim", 1, 'unsigned', None, "RAIM flag"), bitfield("radio", 19, 'unsigned', None, "Radio status"), ) type10 = ( spare(2), bitfield("dest_mmsi", 30, 'unsigned', None, "Destination MMSI"), spare(2), ) type12 = ( bitfield("seqno", 2, 'unsigned', None, "Sequence Number"), bitfield("dest_mmsi", 30, 'unsigned', None, "Destination MMSI"), bitfield("retransmit", 1, 'unsigned', None, "Retransmit flag"), spare(1), bitfield("text", 936, 'string', None, "Text"), ) type14 = ( spare(2), bitfield("text", 968, 'string', None, "Text"), ) type15 = ( spare(2), bitfield("mmsi1", 30, 'unsigned', 0, "First interrogated MMSI"), bitfield("type1_1", 6, 'unsigned', 0, "First message type"), bitfield("offset1_1", 12, 'unsigned', 0, "First slot offset"), spare(2), bitfield("type1_2", 6, 'unsigned', 0, "Second message type"), bitfield("offset1_2", 12, 'unsigned', 0, "Second slot offset"), spare(2), bitfield("mmsi2", 30, 'unsigned', 0, "Second interrogated MMSI"), bitfield("type2_1", 6, 'unsigned', 0, "Message type"), bitfield("offset2_1", 12, 'unsifned', 0, "Slot offset"), spare(2), ) type16 = ( spare(2), bitfield("mmsi1", 30, 'unsigned', 0, "Interrogated MMSI 1"), bitfield("offset1", 12, 'unsigned', 0, "First slot offset"), bitfield("increment1",10, 'unsigned', 0, "First slot increment"), bitfield("mmsi2", 30, 'unsigned', 0, "Interrogated MMSI 2"), bitfield("offset2", 12, 'unsigned', 0, "Second slot offset"), bitfield("increment2",10, 'unsigned', 0, "Second slot increment"), spare(2), ) def short_latlon_format(n): return str(n / 600.0) type17 = ( spare(2), bitfield("lon", 18, 'signed', 0x1a838, "Longitude", formatter=short_latlon_format), bitfield("lat", 17, 'signed', 0xd548, "Latitude", formatter=short_latlon_format), spare(5), bitfield("data", 736, 'raw', None, "DGNSS data"), ) type18 = ( bitfield("reserved", 8, 'unsigned', None, "Regional reserved"), bitfield("speed", 10, 'unsigned', 1023, "Speed Over Ground", formatter=cnb_speed_format), bitfield("accuracy", 1, 'unsigned', None, "Position Accuracy"), bitfield("lon", 28, 'signed', 0x6791AC0, "Longitude", formatter=cnb_latlon_format), bitfield("lat", 27, 'signed', 0x3412140, "Latitude", formatter=cnb_latlon_format), bitfield("course", 12, 'unsigned', 0xE10, "Course Over Ground", formatter=cnb_course_format), bitfield("heading", 9, 'unsigned', 511, "True Heading"), bitfield("second", 6, 'unsigned', None, "Time Stamp", formatter=cnb_second_format), bitfield("regional", 2, 'unsigned', None, "Regional reserved"), bitfield("cs", 1, 'unsigned', None, "CS Unit"), bitfield("display", 1, 'unsigned', None, "Display flag"), bitfield("dsc", 1, 'unsigned', None, "DSC flag"), bitfield("band", 1, 'unsigned', None, "Band flag"), bitfield("msg22", 1, 'unsigned', None, "Message 22 flag"), bitfield("assigned", 1, 'unsigned', None, "Assigned"), bitfield("raim", 1, 'unsigned', None, "RAIM flag"), bitfield("radio", 20, 'unsigned', None, "Radio status"), ) type19 = ( bitfield("reserved", 8, 'unsigned', None, "Regional reserved"), bitfield("speed", 10, 'unsigned', 1023, "Speed Over Ground", formatter=cnb_speed_format), bitfield("accuracy", 1, 'unsigned', None, "Position Accuracy"), bitfield("lon", 28, 'signed', 0x6791AC0, "Longitude", formatter=cnb_latlon_format), bitfield("lat", 27, 'signed', 0x3412140, "Latitude", formatter=cnb_latlon_format), bitfield("course", 12, 'unsigned', 0xE10, "Course Over Ground", formatter=cnb_course_format), bitfield("heading", 9, 'unsigned', 511, "True Heading"), bitfield("second", 6, 'unsigned', None, "Time Stamp", formatter=cnb_second_format), bitfield("regional", 4, 'unsigned', None, "Regional reserved"), bitfield("shipname", 120, 'string', None, "Vessel Name"), bitfield("shiptype", 8, 'unsigned', None, "Ship Type", #validator=lambda n: n >= 0 and n <= 99, formatter=ship_type_legends), bitfield("to_bow", 9, 'unsigned', 0, "Dimension to Bow"), bitfield("to_stern", 9, 'unsigned', 0, "Dimension to Stern"), bitfield("to_port", 6, 'unsigned', 0, "Dimension to Port"), bitfield("to_starbord", 6, 'unsigned', 0, "Dimension to Starboard"), bitfield("epfd", 4, 'unsigned', 0, "Position Fix Type", validator=lambda n: n >= 0 and n <= 8 or n == 15, formatter=epfd_type_legends), bitfield("assigned", 1, 'unsigned', None, "Assigned"), bitfield("raim", 1, 'unsigned', None, "RAIM flag"), bitfield("radio", 20, 'unsigned', None, "Radio status"), ) type20 = ( spare(2), bitfield("offset1", 12, 'unsigned', 0, "Offset number"), bitfield("number1", 4, 'unsigned', 0, "Reserved slots"), bitfield("timeout1", 3, 'unsigned', 0, "Time-out"), bitfield("increment1", 11, 'unsigned', 0, "Increment"), bitfield("offset2", 12, 'unsigned', 0, "Offset number 2"), bitfield("number2", 4, 'unsigned', 0, "Reserved slots"), bitfield("timeout2", 3, 'unsigned', 0, "Time-out"), bitfield("increment2", 11, 'unsigned', 0, "Increment"), bitfield("offset3", 12, 'unsigned', 0, "Offset number 3"), bitfield("number3", 4, 'unsigned', 0, "Reserved slots"), bitfield("timeout3", 3, 'unsigned', 0, "Time-out"), bitfield("increment3", 11, 'unsigned', 0, "Increment"), bitfield("offset4", 12, 'unsigned', 0, "Offset number 4"), bitfield("number4", 4, 'unsigned', 0, "Reserved slots"), bitfield("timeout4", 3, 'unsigned', 0, "Time-out"), bitfield("increment4", 11, 'unsigned', 0, "Increment"), ) aide_type_legends = ( "Unspecified", "Reference point", "RACON", "Fixed offshore structure", "Spare, Reserved for future use.", "Light, without sectors", "Light, with sectors", "Leading Light Front", "Leading Light Rear", "Beacon, Cardinal N", "Beacon, Cardinal E", "Beacon, Cardinal S", "Beacon, Cardinal W", "Beacon, Port hand", "Beacon, Starboard hand", "Beacon, Preferred Channel port hand", "Beacon, Preferred Channel starboard hand", "Beacon, Isolated danger", "Beacon, Safe water", "Beacon, Special mark", "Cardinal Mark N", "Cardinal Mark E", "Cardinal Mark S", "Cardinal Mark W", "Port hand Mark", "Starboard hand Mark", "Preferred Channel Port hand", "Preferred Channel Starboard hand", "Isolated danger", "Safe Water", "Special Mark", "Light Vessel / LANBY / Rigs", ) type21 = ( bitfield("aid_type", 5, 'unsigned', 0, "Aid type", formatter=aide_type_legends), bitfield("name", 120, 'string', None, "Name"), bitfield("accuracy", 1, 'unsigned', 0, "Position Accuracy"), bitfield("lon", 28, 'signed', 0x6791AC0, "Longitude", formatter=cnb_latlon_format), bitfield("lat", 27, 'signed', 0x3412140, "Latitude", formatter=cnb_latlon_format), bitfield("to_bow", 9, 'unsigned', 0, "Dimension to Bow"), bitfield("to_stern", 9, 'unsigned', 0, "Dimension to Stern"), bitfield("to_port", 6, 'unsigned', 0, "Dimension to Port"), bitfield("to_starboard", 6, 'unsigned', 0, "Dimension to Starboard"), bitfield("epfd", 4, 'unsigned', 0, "Position Fix Type", validator=lambda n: n >= 0 and n <= 8 or n == 15, formatter=epfd_type_legends), bitfield("second", 6, 'unsigned', 0, "UTC Second"), bitfield("off_position", 1, 'unsigned', 0, "Off-Position Indicator"), bitfield("regional", 8, 'unsigned', 0, "Regional reserved"), bitfield("raim", 1, 'unsigned', 0, "RAIM flag"), bitfield("virtual_aid", 1, 'unsigned', 0, "Virtual-aid flag"), bitfield("assigned", 1, 'unsigned', 0, "Assigned-mode flag"), spare(1), bitfield("name", 88, 'string', 0, "Name Extension"), ) type22 = ( spare(2), bitfield("channel_a", 12, 'unsigned', 0, "Channel A"), bitfield("channel_b", 12, 'unsigned', 0, "Channel B"), bitfield("txrx", 4, 'unsigned', 0, "Tx/Rx mode"), bitfield("power", 1, 'unsigned', 0, "Power"), bitfield("ne_lon", 18, 'signed', 0x1a838, "NE Longitude", formatter=short_latlon_format), bitfield("ne_lat", 17, 'signed', 0xd548, "NE Latitude", formatter=short_latlon_format), bitfield("sw_lon", 18, 'signed', 0x1a838, "SW Longitude", formatter=short_latlon_format), bitfield("sw_lat", 17, 'signed', 0xd548, "SW Latitude", formatter=short_latlon_format), bitfield("addressed", 1, 'unsigned', 0, "Addressed"), bitfield("band_a", 1, 'unsigned', 0, "Channel A Band"), bitfield("band_a", 1, 'unsigned', 0, "Channel A Band"), bitfield("zonesize", 3, 'unsigned', 0, "Zone size"), spare(23), ) station_type_legends = ( "All types of mobiles", "Reserved for future use", "All types of Class B mobile stations", "SAR airborne mobile station", "Aid to Navigation station", "Class B shipborne mobile station", "Regional use and inland waterways", "Regional use and inland waterways", "Regional use and inland waterways", "Regional use and inland waterways", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", ) type23 = ( spare(2), bitfield("ne_lon", 18, 'signed', 0x1a838, "NE Longitude", formatter=short_latlon_format), bitfield("ne_lat", 17, 'signed', 0xd548, "NE Latitude", formatter=short_latlon_format), bitfield("sw_lon", 18, 'signed', 0x1a838, "SW Longitude", formatter=short_latlon_format), bitfield("sw_lat", 17, 'signed', 0xd548, "SW Latitude", formatter=short_latlon_format), bitfield("stationtype",4, 'unsigned', 0, "Station Type", validator=lambda n: n >= 0 and n <= 31, formatter=station_type_legends), bitfield("shiptype", 8, 'unsigned', 0, "Ship Type", #validator=lambda n: n >= 0 and n <= 99, formatter=ship_type_legends), spare(22), bitfield("txrx", 2, 'unsigned', 0, "Tx/Rx mode"), bitfield("interval", 4, 'unsigned', 0, "Reporting interval"), bitfield("txrx", 4, 'unsigned', 0, "Quiet time"), ) type24a = ( bitfield("shipname", 120, 'string', None, "Vessel Name"), spare(8), ) type24b1 = ( bitfield("callsign", 42, 'string', None, "Call Sign"), bitfield("to_bow", 9, 'unsigned', 0, "Dimension to Bow"), bitfield("to_stern", 9, 'unsigned', 0, "Dimension to Stern"), bitfield("to_port", 6, 'unsigned', 0, "Dimension to Port"), bitfield("to_starbord", 6, 'unsigned', 0, "Dimension to Starboard"), spare(8), ) type24b2 = ( bitfield('mothership_mmsi', 30, 'unsigned', 0, "Mothership MMSI"), spare(8), ) type24b = ( bitfield("shiptype", 8, 'unsigned', None, "Ship Type", validator=lambda n: n >= 0 and n <= 99, formatter=ship_type_legends), bitfield("vendorid", 42, 'string', None, "Vendor ID"), dispatch("mmsi", {0:type24b1, 1:type24b2}, lambda m: 1 if `m`[:2]=='98' else 0), ) type24 = ( bitfield('partno', 2, 'unsigned', None, "Part Number"), dispatch('partno', {0:type24a, 1:type24b}), ) type25 = ( bitfield("addressed", 1, 'unsigned', None, "Addressing flag"), bitfield("structured", 1, 'unsigned', None, "Dimension to Bow"), bitfield("dest_mmsi", 30, 'unsigned', 0, "Destinstion MMSI", conditional=lambda i, v: v["addressed"]), bitfield("app_id", 16, 'unsigned', 0, "Application ID", conditional=lambda i, v: v["structured"]), bitfield("data", 0, 'raw', None, "Data"), ) # No type 26 handling yet, type27 = ( bitfield("accuracy", 1, 'unsigned', None, "Position Accuracy"), bitfield("raim", 1, 'unsigned', None, "RAIM flag"), bitfield("status", 4, 'unsigned', 0, "Navigation Status", formatter=cnb_status_legends), bitfield("lon", 18, 'signed', 0x1a838, "Longitude", formatter=short_latlon_format), bitfield("lat", 17, 'signed', 0xd548, "Latitude", formatter=short_latlon_format), bitfield("speed", 6, 'unsigned', 63, "Speed Over Ground", formatter=cnb_speed_format), bitfield("course", 9, 'unsigned', 511, "Course Over Ground"), bitfield("GNSS", 1, 'unsigned', None, "GNSS flag"), spare(1), ) aivdm_decode = ( bitfield('msgtype', 6, 'unsigned', 0, "Message Type", validator=lambda n: n > 0 and n <= 27), bitfield('repeat', 2, 'unsigned', None, "Repeat Indicator"), bitfield('mmsi', 30, 'unsigned', 0, "MMSI"), # This is the master dispatch on AIS message type dispatch('msgtype', {0:None, 1:cnb, 2:cnb, 3:cnb, 4:type4, 5:type5, 6:type6, 7:type7, 8:type8, 9:type9, 10:type10, 11:type4, 12:type12, 13:type7, 14:type14, 15:type15, 16:type16,17:type17, 18:type18,19:type19, 20:type20, 21:type21,22:type22, 23:type23,24:type24, 25:type25, 26:None, 27:type27}), ) # Length ranges. We use this for integrity checking. # When a range is a tuple, it's (minimum, maximum). lengths = { 1: 168, 2: 168, 3: 168, 4: 168, 5: 424, 6: (88, 1008), 7: (72, 168), 8: (56, 1008), 9: 168, 10: 72, 11: 168, 12: (72, 1008), 13: (72, 168), 14: (40, 1008), 15: (88, 168), 16: (96, 144), 17: (80, 816), 18: 168, 19: 312, 20: (72, 160), 21: (272, 360), 22: 168, 23: 160, 24: (160, 168), 25: 168, 26: (60, 1004), 27: 96, } field_groups = ( # This one occurs in message type 4 (3, ["year", "month", "day", "hour", "minute", "second"], "time", "Timestamp", lambda y, m, d, h, n, s: "%02d-%02d-%02dT%02d:%02d:%02dZ" % (y, m, d, h, n, s)), # This one is in message 5 (13, ["month", "day", "hour", "minute", "second"], "eta", "Estimated Time of Arrival", lambda m, d, h, n, s: "%02d-%02dT%02d:%02d:%02dZ" % (m, d, h, n, s)), ) # Message-type-specific information ends here. # # Next, the execution machinery for the pseudolanguage. There isn't much of # this: the whole point of the design is to embody most of the information # about the AIS format in the pseudoinstruction tables. from array import array BITS_PER_BYTE = 8 class BitVector: "Fast bit-vector class based on Python built-in array type." def __init__(self, data=None, length=None): self.bits = array('B') self.bitlen = 0 if data is not None: self.bits.extend(data) if length is None: self.bitlen = len(data) * 8 else: self.bitlen = length def extend_to(self, length): "Extend vector to given bitlength." if length > self.bitlen: self.bits.extend([0]*((length - self.bitlen +7 )/8)) self.bitlen = length def from_sixbit(self, data, pad=0): "Initialize bit vector from AIVDM-style six-bit armoring." self.bits.extend([0] * len(data)) for ch in data: ch = ord(ch) - 48 if ch > 40: ch -= 8 for i in (5, 4, 3, 2, 1, 0): if (ch >> i) & 0x01: self.bits[self.bitlen/8] |= (1 << (7 - self.bitlen % 8)) self.bitlen += 1 self.bitlen -= pad def ubits(self, start, width): "Extract a (zero-origin) bitfield from the buffer as an unsigned int." fld = 0 for i in range(start/BITS_PER_BYTE, (start + width + BITS_PER_BYTE - 1) / BITS_PER_BYTE): fld <<= BITS_PER_BYTE fld |= self.bits[i] end = (start + width) % BITS_PER_BYTE if end != 0: fld >>= (BITS_PER_BYTE - end) fld &= ~(-1 << width) return fld def sbits(self, start, width): "Extract a (zero-origin) bitfield from the buffer as a signed int." fld = self.ubits(start, width); if fld & (1 << (width-1)): fld = -(2 ** width - fld) return fld def __len__(self): return self.bitlen def __repr__(self): "Used for dumping binary data." return str(self.bitlen) + ":" + "".join(map(lambda d: "%02x" % d, self.bits[:(self.bitlen + 7)/8])) import sys, exceptions, re class AISUnpackingException(exceptions.Exception): def __init__(self, lc, fieldname, value): self.lc = lc self.fieldname = fieldname self.value = value def __repr__(self): return "%d: validation on fieldname %s failed (value %s)" % (self.lc, self.fieldname, self.value) def aivdm_unpack(lc, data, offset, values, instructions): "Unpack fields from data according to instructions." cooked = [] for inst in instructions: if offset >= len(data): break elif inst.conditional is not None and not inst.conditional(inst,values): continue elif isinstance(inst, spare): offset += inst.width elif isinstance(inst, dispatch): i = inst.compute(values[inst.fieldname]) # This is the recursion that lets us handle variant types cooked += aivdm_unpack(lc, data, offset, values, inst.subtypes[i]) elif isinstance(inst, bitfield): if inst.type == 'unsigned': value = data.ubits(offset, inst.width) elif inst.type == 'signed': value = data.sbits(offset, inst.width) elif inst.type == 'string': value = '' # The try/catch error here is in case we run off the end # of a variable-length string field, as in messages 12 and 14 try: for i in range(inst.width/6): newchar = "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^- !\"#$%&'()*+,-./0123456789:;<=>?"[data.ubits(offset + 6*i, 6)] if newchar == '@': break else: value += newchar except IndexError: pass value = value.replace("@", " ").rstrip() elif inst.type == 'raw': # Note: Doesn't rely on the length. value = BitVector(data.bits[offset/8:], len(data)-offset) values[inst.name] = value if inst.validator and not inst.validator(value): raise AISUnpackingException(lc, inst.name, value) offset += inst.width # An important thing about the unpacked representation this # generates is that it carries forward the meta-information from # the field type definition. This stuff is then available for # use by report-generating code. cooked.append([inst, value]) return cooked def packet_scanner(source): "Get a span of AIVDM packets with contiguous fragment numbers." payloads = {'A':'', 'B':''} raw = '' well_formed = False lc = 0 while True: lc += 1; line = source.readline() if not line: return raw += line line = line.strip() # Strip off USCG metadata line = re.sub(r"(?<=\*[0-9A-F][0-9A-F]),.*", "", line) # Compute CRC-16 checksum packet = line[1:-3] # Strip leading !, trailing * and CRC csum = 0 for c in packet: csum ^= ord(c) csum = "%02X" % csum # Ignore comments if not line.startswith("!"): continue # Assemble fragments from single- and multi-line payloads fields = line.split(",") try: expect = fields[1] fragment = fields[2] channel = fields[4] if fragment == '1': payloads[channel] = '' well_formed = True payloads[channel] += fields[5] try: # This works because a mangled pad literal means # a malformed packet that will be caught by the CRC check. pad = int(fields[6].split('*')[0]) except ValueError: pad = 0 crc = fields[6].split('*')[1].strip() except IndexError: if skiperr: sys.stderr.write("%d: malformed line: %s\n" % (lc, line.strip())) well_formed = False else: raise AISUnpackingException(lc, "checksum", crc) if csum != crc: if skiperr: sys.stderr.write("%d: bad checksum %s, expecting %s: %s\n" % (lc, `crc`, csum, line.strip())) well_formed = False else: raise AISUnpackingException(lc, "checksum", crc) if fragment < expect or not well_formed: continue # Render assembled payload to packed bytes bits = BitVector() bits.from_sixbit(payloads[channel], pad) yield (lc, raw, bits) raw = '' def postprocess(cooked): "Postprocess cooked fields from a message." # Handle type 21 name extension if cooked[0][1] == 21 and len(cooked) > 19: cooked[4][1] += cooked[19][1] cooked.pop(-1) return cooked def parse_ais_messages(source, scaled=False, skiperr=False, verbose=0): "Generator code - read forever from source stream, parsing AIS messages." values = {} for (lc, raw, bits) in packet_scanner(source): values['length'] = bits.bitlen # Without the following magic, we'd have a subtle problem near # certain variable-length messages: DSV reports would # sometimes have fewer fields than expected, because the # unpacker would never generate cooked tuples for the omitted # part of the message. Presently a known issue for types 15 # and 16 only. (Would never affect variable-length messages in # which the last field type is 'string' or 'raw'). bits.extend_to(168) # Magic recursive unpacking operation try: cooked = aivdm_unpack(lc, bits, 0, values, aivdm_decode) # We now have a list of tuples containing unpacked fields # Collect some field groups into ISO8601 format for (offset, template, label, legend, formatter) in field_groups: segment = cooked[offset:offset+len(template)] if map(lambda x: x[0], segment) == template: group = formatter(*map(lambda x: x[1], segment)) group = (label, group, 'string', legend, None) cooked = cooked[:offset]+[group]+cooked[offset+len(template):] # Apply the postprocessor stage cooked = postprocess(cooked) # Now apply custom formatting hooks. if scaled: for (i, (inst, value)) in enumerate(cooked): if value == inst.oob: cooked[i][1] = "n/a" elif inst.formatter: if type(inst.formatter) == type(()): # Assumes 0 is the legend for the "undefined" value if value >= len(inst.formatter): value = 0 cooked[i][1] = inst.formatter[value] elif type(formatter) == type(lambda x: x): cooked[i][1] = inst.formatter(value) expected = lengths.get(values['msgtype'], None) # Check length; has to be done after so we have the type field bogon = False if expected is not None: if type(expected) == type(0): expected_range = (expected, expected) else: expected_range = expected actual = values['length'] if not (actual >= expected_range[0] and actual <= expected_range[1]): bogon = True if skiperr: sys.stderr.write("%d: type %d expected %s bits but saw %s: %s\n" % (lc, values['msgtype'], expected, actual, raw.strip().split())) else: raise AISUnpackingException(lc, "length", actual) # We're done, hand back a decoding values = {} yield (raw, cooked, bogon) raw = '' except KeyboardInterrupt: raise KeyboardInterrupt except GeneratorExit: raise GeneratorExit except AISUnpackingException, e: if skiperr: sys.stderr.write("%s: %s\n" % (`e`, raw.strip().split())) continue else: raise except: (exc_type, exc_value, exc_traceback) = sys.exc_info() sys.stderr.write("%d: Unknown exception: %s\n" % (lc, raw.strip().split())) if skiperr: continue else: raise exc_type, exc_value, exc_traceback # The rest is just sequencing and report generation. if __name__ == "__main__": import sys, getopt try: (options, arguments) = getopt.getopt(sys.argv[1:], "cdhjmqst:vx") except getopt.GetoptError, msg: print "ais.py: " + str(msg) raise SystemExit, 1 dsv = False dump = False histogram = False json = False malformed = False quiet = False scaled = False types = [] frequencies = {} verbose = 0 skiperr = True for (switch, val) in options: if switch == '-c': # Report in DSV format rather than JSON dsv = True elif switch == '-d': # Dump in a more human-readable format dump = True elif switch == '-h': # Make a histogram of type frequencies histogram = True elif switch == '-j': # Dump JSON json = True elif switch == '-m': # Dump malformed AIVDM/AIVDO packets raw malformed = True elif switch == '-q': # Suppress output quiet = True elif switch == '-s': # Report AIS in scaled form scaled = True elif switch == '-t': # Filter for a comma-separated list of types types = map(int, val.split(",")) elif switch == '-v': # Dump raw packet before JSON or DSV. verbose += 1 elif switch == '-x': # Skip decoding errors skiperr = False if not dsv and not histogram and not json and not malformed and not quiet: dump = True try: for (raw, parsed, bogon) in parse_ais_messages(sys.stdin, scaled, skiperr, verbose): msgtype = parsed[0][1] if types and msgtype not in types: continue if verbose >= 1 or (bogon and malformed): sys.stdout.write(raw) if not bogon: if json: print "{" + ",".join(map(lambda x: '"' + x[0].name + '":' + str(x[1]), parsed)) + "}" elif dsv: print "|".join(map(lambda x: str(x[1]), parsed)) elif histogram: key = "%02d" % msgtype frequencies[key] = frequencies.get(key, 0) + 1 if msgtype == 6 or msgtype == 8: dac = 0; fid = 0 if msgtype == 8: dac = parsed[3][1] fid = parsed[4][1] elif msgtype == 6: dac = parsed[6][1] fid = parsed[7][1] key = "%02d_%04d_%02d" % (msgtype, dac, fid) frequencies[key] = frequencies.get(key, 0) + 1 elif dump: for (inst, value) in parsed: print "%-25s: %s" % (inst.legend, value) print "%%" sys.stdout.flush() if histogram: keys = frequencies.keys() keys.sort() for msgtype in keys: print "%-33s\t%d" % (msgtype, frequencies[msgtype]) except KeyboardInterrupt: pass # End gpsd-3.9/devtools/aivdmtable0000775000175000017500000000245311757250540014377 0ustar esresr#!/usr/bin/env python # # Generate an asciidoc table of the six-bit encoding used in AIVDM packets. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. sixbits = ( "000000", "000001", "000010", "000011", "000100", "000101", "000110", "000111", "001000", "001001", "001010", "001011", "001100", "001101", "001110", "001111", "010000", "010001", "010010", "010011", "010100", "010101", "010110", "010111", "011000", "011001", "011010", "011011", "011100", "011101", "011110", "011111", "100000", "100001", "100010", "100011", "100100", "100101", "100110", "100111", "101000", "101001", "101010", "101011", "101100", "101101", "101110", "101111", "110000", "110001", "110010", "110011", "110100", "110101", "110110", "110111", "111000", "111001", "111010", "111011", "111100", "111101", "111110", "111111", ) def asciiarmor(): print("`--------`-------`---------`-------") print(" Char ASCII Decimal Bits") for ch in range(ord('0'), ord('W')+1) + range(ord('`'), ord('w')+1): n = ch - 48 if n >= 40: n -= 8 print '"%s" %3d %3d %s' % (chr(ch), ch, n, sixbits[n]) print("---------------------------------------") if __name__ == "__main__": asciiarmor() gpsd-3.9/devtools/client-projects0000664000175000017500000000206411757250540015367 0ustar esresrpygps http://www.pygps.org/ nelson@crynwr.com gpsdrive http://www.gpsdrive.de/ gpsdrive@lists.gpsdrivers.org. kismet http://www.kismetwireless.net/ dragorn@kismetwireless.net qpegps http://qpegps.sourceforge.net/ rhaselme@users.sourceforge.net position http://www.gnustep.it/enrico/position/ enrico@imago.ro roadmap http://roadmap.sourceforge.net/ roadmap-general@lists.sourceforge.net roadnav http://roadnav.sourceforge.net/ roadnav-devel@lists.sourceforge.net navit http://www.navit-project.org/ horwitz@users.sourceforge.net viking http://sourceforge.net/apps/mediawiki/viking/index.php?title=Main_Page viking-devel@lists.sourceforge.net opencpn http://sourceforge.net/projects/opencpn/ public@martchukov.com geoclue http://www.freedesktop.org/wiki/Software/GeoClue geoclue@lists.freedesktop.org tangogps http://www.tangogps.org/gps/cat/ tangogps-project@googlegroups.com foxtrot http://www.foxtrotGPS.org/ rozzin@geekspace.com geohist http://www.virtualroadside.com/geoHist/ dustin@virtualroadside.com LiveGPS http://wiki.openstreetmap.org/wiki/JOSM/Plugins/LiveGPS ? gpsd-3.9/devtools/cycle_analyzer0000775000175000017500000002377711757250540015307 0ustar esresr#!/usr/bin/env python # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. """ cycle_analyzer - perform cycle analysis on GPS log files This tool analyzes one or more NMEA or JSON files to determine the cycle sequence of sentences. JSON files must be reports from a gpsd driver which is without the CYCLE_END_RELIABLE capability and therefore ships every sentence containing a fix; otherwise the results will be meaningless because only the end-of-cycle sentences will show in the JSON. If a filename argument ends with '.log', and the sentence type in it is not recognizable, this tool adds '.chk' to the name and tries again assuming the latter is a JSON dump. Thus, invoking it again *.log in a directory full of check files will do the right thing. One purpose of this tool is to determine the end-of-cycle sentence that a binary-protocol device emits, so the result can be patched into the driver as a CYCLE_END_RELIABLE capability. To get this, apply the tool to the JSON output from the driver using the -j switch. It will ignore everything but tag and timestamp fields, and will also ignore any NMEA in the file. Another purpose is to sanity-check the assumptions of the NMEA end-of-cycle detector. For this purpose, run without -j; if a device has a regular reporting cycle with a constant end-of-cycle sentence, this tool will confirm that. Otherwise, it will perform various checks attempting to find an end-of-cycle marker and report on what it finds. When cycle_analyzer reports a split- or variable-cycle device, some arguments to the -d switch can dump various analysis stages so you can get a better idea what is going on. These are: sequence - the entire sequence of dump tag/timestamp pairs from the log events - show how those reduce to event sequences bursts - show how sentences are grouped into bursts trim - show the burst list after the end bursts have been removed In an event sequence, a '<' is a nornal start of cycle where the timestamp increments. A '>' is where the timestamp actually *decreases* between a a sentence and the one that follows. The NMEA cycle-end detector will ignore the '>' event; it sometimes occurs when GPZDA starts a cycle, but has no effect on where the actual end of fix reporting is. If you see a message saying 'cycle-enders ... also occur in mid-cycle', the device will confuse the NMEA cycle detector, leading to more reports per cycle than the ideal. """ import sys, os, getopt, json verbose = 0 suppress_regular = False parse_json = False class analyze_error: def __init__(self, filename, msg): self.filename = filename self.msg = msg def __repr__(self): return '%s: %s' % (self.filename, self.msg) class event: def __init__(self, tag, time=0): self.tag = tag self.time = time def __str__(self): if self.time == 0: return self.tag else: return self.tag + ":" + self.time __repr__ = __str__ def tags(lst): return map(lambda x: x.tag, lst) def extract_from_nmea(filename, lineno, line): "Extend sequence of tag/timestamp tuples from an NMEA sentence" hhmmss = { "RMC": 1, "GLL": 5, "GGA": 1, "GBS": 1, "PASHR": 4, } fields = line.split(",") tag = fields[0] if tag.startswith("$GP") or tag.startswith("$IN"): tag = tag[3:] elif tag[0] == "$": tag = tag[1:] if tag in hhmmss: timestamp = fields[hhmmss[tag]] return [event(tag, timestamp)] else: return [] def extract_from_json(filename, lineno, line): "Extend sequence of tag/timestamp tuples from a JSON dump of a sentence" if not line.startswith("{"): return [] try: sentence = json.loads(line) if u"time" not in sentence: return [] return [event(sentence[u"tag"].encode("iso-8859-1"), "%.2f" % sentence[u"time"])] except ValueError, e: print line.rstrip() print e return [] def extract_timestamped_sentences(fp, json_parse=parse_json): "Do the basic work of extracting tags and timestamps" sequence = [] lineno = 0 while True: line = fp.readline() if not line: break lineno += 1 if line.startswith("#"): continue if line[0] not in ("$", "!", "{"): raise analyze_error(fp.name, "unknown sentence type.") if not json_parse and line.startswith("$"): sequence += extract_from_nmea(fp.name, lineno, line) elif json_parse and line.startswith("{"): sequence += extract_from_json(fp.name, lineno, line) return sequence def analyze(sequence, name): "Analyze the cycle sequence of a device from its output logs." # First, extract tags and timestamps regular = False if not sequence: return if "sequence" in stages: print "Raw tag/timestamp sequence" for e in sequence: print e # Then, do cycle detection events = [] out_of_order = False for i in range(len(sequence)): this = sequence[i] if this.time == "" or float(this.time) == 0: continue events.append(this) if i < len(sequence)-1: next = sequence[i+1] if float(this.time) < float(next.time): events.append(event("<")) if float(this.time) > float(next.time): events.append(event(">")) out_of_order = True if out_of_order and verbose: sys.stderr.write("%s: has some timestamps out of order.\n" % name) if "events" in stages: print "Event list:" for e in events: print e # Now group events into bursts bursts = [] current = [] for e in events + [event('<')]: if e.tag == '<': bursts.append(tuple(current)) current = [] else: current.append(e) if "bursts" in stages: print "Burst list:" for burst in bursts: print burst # We need 4 cycles because the first and last might be incomplete. if tags(events).count("<") < 4: sys.stderr.write("%s: has fewer than 4 cycles.\n" % name) return # First try at detecting a regular cycle unequal = False for i in range(len(bursts)-1): if tags(bursts[i]) != tags(bursts[i+1]): unequal = True break if not unequal: # All bursts looked the same regular = True else: # Trim off first and last bursts, which are likely incomplete. bursts = bursts[1:-1] if "trim" in stages: "After trimming:" for burst in bursts: print burst # Now the actual clique analysis unequal = False for i in range(len(bursts)-1): if tags(bursts[i]) != tags(bursts[i+1]): unequal = True break if not unequal: regular = True # Should know now if cycle is regular if regular: if not suppress_regular: print "%s: has a regular cycle %s." % (name, " ".join(tags(bursts[0]))) else: # If it was not the case that all cycles matched, then we need # a minimum of 6 cycles because the first and last might be # incomplete, and we need at least 4 cycles in the middle to # have two full ones on split-cycle devices like old Garmins. if tags(events).count("<") < 6: sys.stderr.write("%s: variable-cycle log has has fewer than 6 cycles.\n" % name) return if verbose > 0: print "%s: has a split or variable cycle." % name cycle_enders = [] for burst in bursts: if burst[-1].tag not in cycle_enders: cycle_enders.append(burst[-1].tag) if len(cycle_enders) == 1: if not suppress_regular: print "%s: has a fixed end-of-cycle sentence %s." % (name, cycle_enders[0]) else: print "%s: has multiple cycle-enders %s." % (name, " ".join(cycle_enders)) # Sanity check pathological = [] for ender in cycle_enders: for burst in bursts: if ender in tags(burst) and not ender == burst[-1].tag and not ender in pathological: pathological.append(ender) if pathological: print "%s: cycle-enders %s also occur in mid-cycle!" % (name, " ".join(pathological)) if __name__ == "__main__": stages = "" try: (options, arguments) = getopt.getopt(sys.argv[1:], "d:jsv") for (switch, val) in options: if (switch == '-d'): # Debug stages = val elif (switch == '-j'): # Interpret JSON, not NMEA parse_json = True elif (switch == '-v'): # Verbose verbose += 1 elif (switch == '-s'): # Suppress logs with no problems suppress_regular = True except getopt.GetoptError, msg: print "cycle_analyzer: " + str(msg) raise SystemExit, 1 try: if arguments: for filename in arguments: fp = open(filename) try: sequence = extract_timestamped_sentences(fp) analyze(sequence, filename) except analyze_error, e: if filename.endswith(".log") and os.path.exists(filename+".chk"): fp2 = open(filename+".chk") try: sequence = extract_timestamped_sentences(fp2, json_parse=True) analyze(sequence, filename+".chk") finally: fp2.close() else: print e fp.close() else: sequence = extract_timestamped_sentences(sys.stdin) analyze(sequence, "standard input") except analyze_error, e: print str(e) raise SystemExit, 1 gpsd-3.9/devtools/dchroot-exec0000775000175000017500000000112411757250540014645 0ustar esresr#!/bin/bash # Very simple wrapper around the DSA version of dchroot # on the Debian porter boxes. dchroot only accepts one command # as argument, nothing else. This wrapper creates a temporary script # which will be executed then. # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. dchroot="$1" shift command="$1" shift arguments="$@" tmpfile=`mktemp $HOME/XXXXXXXXX.tmp` cat > $tmpfile << _EOF_ #!/bin/bash exec $command $arguments _EOF_ chmod 755 $tmpfile /usr/bin/dchroot $dchroot $tmpfile rm -f $tmpfile gpsd-3.9/devtools/editcomment0000775000175000017500000000302711757250540014575 0ustar esresr#!/bin/sh # Give this a commit-ID specification. It will edit the associated comment. # Usual caveats apply; the edited one and all commits after will change IDs, # and pushing them to a repo with the old commits will wreak havoc. # Note also that this cavalierly overwrites refs/original. # # This script by Eric S. Raymond, March 2010, all rites perverted. It's based # on an idea by thiago from #git, but debugged and with a safety check. # It contains porcelain and porcelain byproducts. topdir=`git rev-parse --show-cdup` test -n "$topdir" && cd "$topdir" my_commit=`git rev-parse $1` || exit $? # Run a safety check before edits that could hose remotes. if test -n "`git branch -r --contains $mycommit`" then echo -n "Commit has been pushed. Really edit? " read yn if test "$yn" != 'y' then exit 0 fi fi my_file=COMMIT_EDITMSG test -d .git && myfile=.git/COMMIT_EDITMSG # This effort to invoke the user's normal editor fails. # the problem is that anything the editor writes to stdout on the # controlling terminal becomes part of the commit message. So # the editor needs to actually run inside another window. #test -z "$GIT_EDITOR" && GIT_EDITOR=$EDITOR #test -z "$GIT_EDITOR" && GIT_EDITOR=vi #my_editor=$GIT_EDITOR # xterm -e vi should also work. my_editor=emacsclient export my_file my_commit my_editor exec git filter-branch -f --tag-name-filter cat --msg-filter ' if test "$GIT_COMMIT" = "$my_commit"; then cat > $my_file; $my_editor $my_file >/dev/null; cat $my_file else cat fi' "$1~.." # End gpsd-3.9/devtools/fakecompare0000775000175000017500000000133111757250540014536 0ustar esresr#!/bin/sh # # Compare the results from running gpsfake on a logfile between this # machine and a remote one. Especially useful when remote and local # have different word lengths. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # file=$1 remote=$2 directory=git/gpsd options="-D 4" ./gpsfake $options -s 38400 -1 -p $file >/tmp/fcmp-local-$$ 2>&1 scp -q $file ${remote}:${directory} ssh $remote "cd ${directory}; PATH=$PATH:. ./gpsfake $options -s 38400 -1 -p $file" >/tmp/fcmp-remote-$$ 2>&1 echo "*** Local:" cat /tmp/fcmp-local-$$ echo "*** Diff:" diff -u /tmp/fcmp-local-$$ /tmp/fcmp-remote-$$ rm /tmp/fcmp-local-$$ /tmp/fcmp-remote-$$ gpsd-3.9/devtools/flock-instructions0000664000175000017500000000517211757250540016125 0ustar esresrThe gpsd test flock is intended to make it easy for GPSD devs to verify operation of the software on multiple architectures and operating systems. To add a machine to the flock, do these steps: 1. Create a test-sandbox account. The recommended name is "gpsd". 2. Install git and gpsd's build prerequisites (gcc, Python, autotools, etc.) where the test account can run them. On a Debian/Ubuntu system you may be able to do this all at once with these commands: aptitude install git-core autoconf automake libtool aptitude build-dep gpsd 3. Make sure the account is reachable from the general Internet via ssh. 4. Install the public key of the test-network gatekeeper in .ssh/authorized_keys. Presently the test-network gatekeeper is esr@thyrsus.com; it is expected that this role will be held by the GPSD project lead or some delegate. The key is: ssh-dss AAAAB3NzaC1kc3MAAACBAPcpYG3nTzwrnZ1Nuz4FlODvnDaoHVaDoVg3jiSax/OJLuLmP+B1RMIMzQyQvbpeVHfMvBk1G+lqpysdUGOjM1ohYIXD479oOUg+Iga4SxrAwMwIiOFF5XhLc3hV2Ibd0N6V9ho8Sz8Kgq4CKj7323bLL+YpfldMhIlLXYDwTVo7AAAAFQCpZm4A5EiQar4+WavFBS1Xy3mJ6wAAAIEA2H33z6KpgRPIV/m5tRX4RmPmtunpC8UpBxj/uEadkaKnbDHLSuyUcflXe2A5xTuYIdFglEkt7ebZ1Gil4f7NuiKbukfQ13jMDWyuS9kDw0gr245kInu22dpfU1ZlCoDmNZSSeRJFkmhfvAim6yXoNpcS/PCaICNPJ1Ww9COYkqoAAACAY4g8mk80LXEpumbEonuDbsFobkz3HiooKgZd+xAGlYEDKpdVlh+bAXHW2R8tHnfYzP5Lq9nGan9i8GSAnw4ETwQ/IfIo7uT1OikyuImYqX2WKoUz5/3i9KOEUy4LWbqSHjIxBw3Y9ZlFYzq3gG/EhnmIuKGlN6Ig1P7B7v0GuXg= esr@snark 5. Append an entry to the flocktest.ini file and push to origin with the commit message "Added new flock site" or something similar. If you do not have git commit access, mail the entry to the development mailing list. To gain access to the test network: 1. Email a valid public ssh key to the flock gatekeeper. He will install the key on the test sites. To use the test network: 1. Call the script 'flocktest', optionally with a -d option to set a test subdirectory. (You can also set this in a .flockdriver dot file; do "flocktest -?" to see instructions about how to set this up.) The local flocktest script will upload an agent script to each machine that will do "autogen.sh && make % make check". flocktest will only return after all tests are complete, but they will be run in parallel rather than sequentially. The success/failure notifications will appear as CIA messages on the #gpsd IRC channel at freenode. For each failed test, the log will be dumped to standard output. We have access to some the Debian test machines listed as porterboxes at . Adding these to the flock is a work in progress. gpsd-3.9/devtools/flocktest0000775000175000017500000002531211762140434014260 0ustar esresr#!/usr/bin/env python # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # """\ flocktest - shepherd script for the GPSD test flock usage: flocktest [-c] [-q] [-d subdir] [-k key] -v [-x exclude] [-?] The -? makes flocktest prints this help and exits. The -c option dumps flocktest's configuration and exits The -k mode installs a specified file of ssh public keys on all machines Otherwise, the remote flockdriver script is executed on each machine. The -d option passes it a name for the remote test subdirectory If you do not specify a subdirectory name, the value of $LOGNAME will be used. The -q option suppresses CIA notifications The -v option shows all ssh commands issued, runs flockdriver with -x set and causes logs to be echoed even on success. The -x option specifies a comma-separated list of items that are either remote hostnames or architecture tags. Matching sites are excluded. You may wish to use this to avoid doing remote tests that are redundant with your local ones. Known bug: The -k has no atomicity check. Running it from two flocktest instances concurrently could result in a scrambled keyfile. """ import os, sys, ConfigParser, getopt, socket, threading, commands, time flockdriver = ''' #!/bin/sh # # flockdriver - conduct regression tests as an agent for a remote flocktest # # This file was generated at %(date)s. Do not hand-hack. quiet=no while getopts dq opt do case $opt in d) subdir=$2; shift; shift ;; q) quiet=yes; shift ;; esac done # Fully qualified domain name of the repo host. You can hardwire this # to make the script faster. The -f option works under Linux and FreeBSD, # but not OpenBSD and NetBSD. But under OpenBSD and NetBSD, # hostname without options gives the FQDN. if hostname -f >/dev/null 2>&1 then site=`hostname -f` else site=`hostname` fi if [ -f "flockdriver.lock" ] then logmessage="A test was already running when you initiated this one." cd $subdir else echo "Test begins: "`date` echo "Site: $site" echo "Directory: ${PWD}/${subdir}" # Check the origin against the repo origin. If they do not match, # force a re-clone of the repo if [ -d $subdir ] then repo_origin=`(cd $subdir; git config remote.origin.url)` if [ $repo_origin != "%(origin)s" ] then echo "Forced re-clone." rm -fr $subdir fi fi # Set up or update the repo if [ ! -d $subdir ] then git clone %(origin)s $subdir cd $subdir else cd $subdir; git pull fi # Scripts in the test directory need to be able to run binaries in same PATH="$PATH:." # Perform the test if ( %(regression)s ) then logmessage="Regression test succeeded." status=0 else logmessage="Regression test failed." status=1 fi echo "Test ends: "`date` fi # Here is where we abuse CIA to do our notifications for us. # Addresses for the e-mail from="FLOCKDRIVER-NOREPLY@${site}" to="cia@cia.navi.cx" # SMTP client to use sendmail="sendmail -t -f ${from}" # Should include all places sendmail is likely to lurk. PATH="$PATH:/usr/sbin/" # Identify what just succeeded or failed merged=$(git rev-parse HEAD) rev=$(git describe ${merged} 2>/dev/null) [ -z ${rev} ] && rev=${merged} refname=$(git symbolic-ref HEAD 2>/dev/null) refname=${refname##refs/heads/} # And the git version gitver=$(git --version) gitver=${gitver##* } if [ $quiet = no ] then ${sendmail} << EOM Message-ID: <${merged}.${subdir}.blip@%(project)s> From: ${from} To: ${to} Content-type: text/xml Subject: DeliverXML %(project)s Remote Test Flock Driver ${gitver} ${origin}/flockdriver %(project)s ${refname}@${site} `date` ${subdir} ${rev} ${logmessage} EOM fi exit $status # End. ''' class FlockThread(threading.Thread): def __init__(self, site, command): threading.Thread.__init__(self) self.site = site self.command = command def run(self): (self.status, self.output) = commands.getstatusoutput(self.command) class TestSite: "Methods for performing tests on a single remote site." def __init__(self, fqdn, config, execute=True): self.fqdn = fqdn self.config = config self.execute = execute self.me = self.config["login"] + "@" + self.fqdn def error(self, msg): "Report an error while executing a remote command." sys.stderr.write("%s: %s\n" % (self.fqdn, msg)) def do_remote(self, remote): "Execute a command on a specified remote host." command = "ssh " if "port" in self.config: command += "-p %s " % self.config["port"] command += "%s '%s'" % (self.me, remote) if self.verbose: print command self.thread = FlockThread(self, command) self.thread.start() def update_keys(self, filename): "Upload a specified file to replace the remote authorized keys." if 'debian.org' in self.me: self.error("updating keys on debian.org machines makes no sense.") return 1 command = "scp '%s' %s:~/.ssh/.authorized_keys" % (os.path.expanduser(filename), self.me) if self.verbose: print command status = os.system(command) if status: self.error("copy with '%s' failed" % command) return status def do_append(self, filename, string): "Append a line to a specified remote file, in foreground." self.do_remote("echo \"%s\" >>%s" % (string.strip(), filename)) def do_flockdriver(self, agent, invocation): "Copy flockdriver to the remote site and run it." self.starttime = time.time() if self.config.get("quiet", "no") == "yes": invocation += " -q" uploader = "ssh -p %s %s 'cat >%s'" \ % (self.config.get("port", "22"), self.me, agent) if self.verbose: print uploader ofp = os.popen(uploader, "w") self.config['date'] = time.ctime() ofp.write(flockdriver % self.config) if ofp.close(): print >>sys.stderr, "flocktest: agent upload failed" else: self.do_remote(invocation) self.elapsed = time.time() - self.starttime class TestFlock: "Methods for performing parallel tests on a flock of remote sites." ssh_options = "no-port-forwarding,no-X11-forwarding," \ "no-agent-forwarding,no-pty " def __init__(self, sitelist, verbose=False): self.sitelist = sitelist self.verbose = verbose def update_remote(self, filename): "Copy a specified file to the remote home on all machines." for site in self.sitelist: site.update_remote(filename) def do_remotes(self, agent, invocation): "Execute a command on all machines in the flock." slaves = [] print "== testing at: %s ==" % flock.listdump() starttime = time.time() for site in self.sitelist: site.do_flockdriver(agent, invocation) for site in sites: site.thread.join() failed = 0 for site in sites: if site.thread.status: print "== %s test FAILED in %.2f seconds, status %d ==" % (site.fqdn, site.elapsed, site.thread.status) failed += 1 print site.thread.output else: print "== %s test succeeded in %.2f seconds ==" % (site.fqdn, site.elapsed) if self.verbose: print site.thread.output elapsed = time.time() - starttime print "== %d tests completed in %.2f seconds: %d failed ==" % (len(sites), elapsed, failed) def exclude(self, exclusions): "Delete matching sites." self.sitelist = filter(lambda x: x.fqdn not in exclusions and x.config["arch"] not in exclusions, self.sitelist) def update_keys(self, keyfile): "Copy the specified public key file to all sites." for site in self.sitelist: site.update_keys(keyfile) def listdump(self): "Return a dump of the site list." return ", ".join(map(lambda x: x.fqdn, self.sitelist)) if __name__ == '__main__': try: (options, arguments) = getopt.getopt(sys.argv[1:], "cd:kqvx:?") except getopt.GetoptError, msg: print "flocktest: " + str(msg) raise SystemExit, 1 exclusions = [] subdir = None copykeys = None verbose = False dumpconf = False cianotify = True for (switch, val) in options: if switch == '-c': # Dump flocktest configuration dumpconf = True elif switch == '-d': # Set the test subdirectory name subdir = val elif switch == '-k': # Install the access keys copykeys = True elif switch == '-q': # Suppress CIA notifications cianotify = False elif switch == '-v': # Display build log even when no error verbose = True elif switch == '-x': # Exclude specified sites or architectures exclusions = map(lambda x: x.strip(), val.split(",")) else: # switch == '-?': print __doc__ sys.exit(0) config = ConfigParser.RawConfigParser() config.read(["flocktest.ini", ".flocktest.ini"]) if arguments: config.set("DEFAULT", "origin", arguments[0]) if not config.has_option("DEFAULT", "origin"): print >>sys.stderr, "flocktest: repository required." sys.exit(1) sites = [] for site in config.sections(): newsite = TestSite(site, dict(config.items(site))) newsite.verbose = verbose if newsite.config["status"].lower() == "up": sites.append(newsite) flock = TestFlock(sites, verbose) if exclusions: flock.exclude(exclusions) if dumpconf: config.write(sys.stdout) elif copykeys: keyfile = config.get("DEFAULT", "sshkeys") flock.update_keys(keyfile) else: if not subdir: subdir = os.getenv("LOGNAME") if not subdir: print "flocktest: you don't exist, go away!" sys.exit(1) agent = "flockdriver.%s" % subdir invocation = "sh flockdriver.%s -d %s" % (subdir, subdir,) if not cianotify: invocation += " -q" if verbose > 1: invocation = "sh -x " + invocation flock.do_remotes(agent, invocation) # The following sets edit modes for GNU EMACS # Local Variables: # mode:python # End: gpsd-3.9/devtools/flocktest.ini0000664000175000017500000000345511762140434015037 0ustar esresr# This file describes the network of gpsd test sites # These are accounts in machines made available # for regression-testing by GPSD developers. # # For instructions on joining and using this network, see the file # 'flock-instructions'. # # In the default section of the file, the attributes are: # project - project name at CIA.vc # origin = URL for repo pulls; if absent, flocktest requires argument. # regression = test sequence to run # sshkeys = path to file of user keys # [DEFAULT] project = GPSD regression = scons --config=force -c && scons --config=force && scons check # # In each site section, the section name is the FQDN of the host machine. # The attributes are: # # arch: Architecture tag - i686, x96_64, sparc64, etc. = `uname -m` # os: Operating system = `uname -s` # admin: Email address of machine administrator # login: Login name of test account # devices: Comma-separated list of attached GPS/AIS receivers, or '-' for none. # status = anything other than "up" causes this entry to be skipped. # [grelber.thyrsus.com] os = Linux arch = x86_64 admin = esr@thyrsus.com login = gpsd devices = - status = scons version is too old, must upgrade. [devel.recluse.de] os = Linux arch = amd64 admin = bzed@debian.org login = gpsd devices = - status = running version of vserver with no localhost, port binds fail [nog.yazug.com] os = Linux arch = i686 admin = jon.schlueter@gmail.com login = gpsd status = down devices = TNT Revolution (can be available) on /dev/ttyS0, Garmin GPS-18 x2 on USB (probably USB0 and USB2) [quark.yazug.com] os = Linux arch = i686 admin = jon.schlueter@gmail.com login = gpsd devices = - port = 4670 status = down [mitzi.chem.ualberta.ca] os = FreeBSD arch = sparc64 admin = jpihlaja@cc.helsinki.fi login = gpsd devices = - port = 26090 quiet = yes status = down (missing pkg-config) gpsd-3.9/devtools/gpsd-debian-regressions.sh0000775000175000017500000000112611762140434017406 0ustar esresr#!/bin/bash # This file is Copyright (c)2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. set -e logs='last' if [ -n "$1" ]; then logs=$1 fi if [ ! -x /usr/bin/getbuildlog ]; then echo 'Please install the devscripts package!' exit 1 fi TMPDIR=`mktemp -d` OLDPWD=`pwd` cd ${TMPDIR} getbuildlog gpsd $logs || true grep -c -- '--- test' * | grep -E ':0$' | sed 's,^gpsd_[^_]*_\([^.]*\)\.log:0,\1: no regressions,' grep -- '--- test' * | sed 's,^gpsd_[^_]*_\([^.]*\).*\./test/\([^.]*\).*,\1 \2,' | sort -u cd ${OLDPWD} rm -rf ${TMPDIR} gpsd-3.9/devtools/gpsdfake0000664000175000017500000000323211757250540014044 0ustar esresr# This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. """ gpsdfake - a fake gpsd server that spews specified data at gpsd clients. """ import sys, SocketServer class FakeHandler(SocketServer.BaseRequestHandler): "Instantiated once per connection to the server." def handle(self): global lines # self.request is the TCP socket connected to the client # Read the client's ?WATCH request. self.data = self.request.recv(1024).strip() # We'd like to send a fake banner to the client on startup, # but there's no (documented) method for that. We settle # for shipping on first request. self.request.send('{"class":"VERSION",' '"version":"gpsdfake","rev":"gpsdfake",' '"proto_major":3,"proto_minor":1}\r\n') # Perpetually resend the data we have specified while True: for line in lines: self.request.send(line) if __name__ == "__main__": (HOST, PORT) = "localhost", 2947 try: if len(sys.argv) <= 1: sys.stderr.write("gpsdfake: requires a file argument.\n") sys.exit(1) lines = open(sys.argv[1]).readlines() # Create the server, binding to localhost on port 2947 server = SocketServer.TCPServer((HOST, PORT), FakeHandler) # Activate the server; this will keep running until you # interrupt the program with Ctrl-C server.serve_forever() except KeyboardInterrupt: pass sys.exit(0) # The following sets edit modes for GNU EMACS # Local Variables: # mode:python # End: gpsd-3.9/devtools/logextract0000775000175000017500000000044711757250540014444 0ustar esresr#!/bin/sh # Extract pure NMEA from an emailed gpsd error log. # The output can be fed to gpsfake. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. sed -n -e "/^> */s///" -e "/gpsd: <= GPS: /s///" -e '/^\$/p' gpsd-3.9/devtools/regress-builder0000775000175000017500000001412711762140434015362 0ustar esresr#!/usr/bin/env python # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. """ usage: regress-builder [-r limit] [-s seed] Test-compile gpsd with each of every possible combination of device-driver options, excluding stub drivers we don't support yet. This does a good job of catching bugs after driver API changes. The -r option sets Monte Carlo mode (random-walk through configuration space) and limits the number of tests. The -s, if given, sets a seed; the default is to seed from the system time. If no options are given, the script performs a sequential test of all possibilities. This requires time on the order of 2 ** n where n is the count of options. """ import os, sys, random, getopt, time driver_names = ( "aivdm", "ashtech", #"earthmate", "evermore", "fv18", "garmin", "garmintxt", "geostar", "gpsclock", "itrax", "mtk3301", "navcom", "nmea", "ntrip", "oncore", "oceanserver", "rtcm104v2", #"rtcm104v3", "sirf", "superstar2", #"tnt", "tripmate", "tsip", "ubx", "timing", "clientdebug", "oldstyle", "ntpshm", "pps", "reconfigure", "controlsend", ) cyclesize = 2 ** len(driver_names) def Sequential(): "Generate sequential test vectors for exhautive search." for i in xrange(cyclesize): yield i return def MonteCarlo(seed): "Generate a random shuffle of test vectors for Monte Carlo testing." # All the magic here is in the choice of modulus. Any odd number will # be relatively prime to any power of two and thus be sufficient to step # around the cycle hitting each number exactly once. We'd like adjacent # stops to have a large distance from each other. Number theory says the # best way to do this is to choose a modulus close to cyclesize / phi, # where phi is the golden ratio (1 + 5**0.5)/2. modulus = int(cyclesize / 1.618033980) if modulus % 2 == 0: modulus += 1 for i in xrange(cyclesize): yield (seed + i * modulus) % cyclesize return class TestFactory: "Manage compilation tests." Preamble = ''' env X_LIBS="" \\ CPPFLAGS="-I/usr/local/include " \\ LDFLAGS=" -L/usr/local/lib -g" \\ CFLAGS="-g -O2 -W -Wall" \\ ./configure --prefix=/home/gpsd --disable-shared \\ ''' def n2v(self, n): "Number to test-vector" v = [0] * len(driver_names) i = 0 while n > 0: v[i] = n % 2 i += 1 n = n >> 1 return v def test_header(self, vector): hdr = "" for (i, name) in enumerate(driver_names): hdr += "--" + ("disable", "enable")[vector[i]] + "-" + name + " " return hdr[:-1] def make(self, vector): if os.system("make 2>&1 > /dev/null"): print "FAILED: ", self.test_header(vector) else: print "SUCCEEDED:", self.test_header(vector) def configure_build(self, vector): test = TestFactory.Preamble for (i, name) in enumerate(driver_names): test += " --" + ("disable", "enable")[vector[i]] + "-" + name + " \\\n" test += "\n" if os.system("("+ test + ") >/dev/null"): print "configure FAILED:", self.test_header(vector) else: self.make(vector) def filter(self, vector): "Tell us whether this combination needs to be tested." # No drivers at all won't even configure if vector == [0] * len(driver_names): return False compiled_in = map(lambda e: e[1], filter(lambda e: e[0], zip(vector, driver_names))) def on(name): return name in compiled_in def off(name): return name not in compiled_in # START OF FILTERS # # Some types require NMEA support and shouldn't be built without it. if off("nmea") and (on("fv18") or on("earthmate") or on("tripmate")): return False # Earthmate, FV-18 and TripMate code scopes don't overlap. if on("fv18") + on("earthmate") + on("tripmate") not in (0, 3): return False # SiRF has no overlapping code scopes with the DLE-led protocols # (TSIP, Garmin, Evermore) but the DLE-led protocols have # overlaps in the packet sniffer. if on("sirf") != (on("tsip") or on("garmin") or on("evermore")): return False # # END OF FILTERS return True def run(self, generator, limit=cyclesize): expect = 0 for i in range(cyclesize): if self.filter(self.n2v(i)): expect += 1 print "# Expect %d of %d tests." % (expect, cyclesize) starttime = time.time() included = 0 excluded = 0 for n in generator: if limit == 0: return vector = self.n2v(n) if not self.filter(vector): print "EXCLUDED:", self.test_header(vector) excluded += 1 else: self.configure_build(vector) included += 1 limit -= 1 elapsed = int(time.time() - starttime) hours = elapsed/3600 minutes = (elapsed - (hours * 3600)) / 60 seconds = elapsed - (hours * 3600) - (minutes * 60) print "%d tests, %d excluded, in %dh%dm%ds" % (included, excluded, hours, minutes, seconds) if __name__ == '__main__': try: (options, arguments) = getopt.getopt(sys.argv[1:], "n:r:") except getopt.GetoptError, msg: print "regress-builder: " + str(msg) raise SystemExit, 1 montecarlo = False limit = cyclesize seed = int(time.time()) for (switch, val) in options: if switch == '-r': montecarlo = True limit = int(val) elif switch == '-s': montecarlo = True seed = int(val) if montecarlo: print "Monte Carlo test seeded with %d" % seed TestFactory().run(MonteCarlo(seed), limit) else: print "Sequential compilation test" TestFactory().run(Sequential()) gpsd-3.9/devtools/regressdiff0000775000175000017500000000254211757250540014571 0ustar esresr#!/usr/bin/env python # # Walk through a pair of textfiles looking for where they begin to differ. # May be useful for comparing logs when regression tests break. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. import sys class BufferedFile(file): def __init__(self, name): file.__init__(self, name) self.linebuffer = [] self.lineno = 0 def readline(self): self.lineno += 1 if self.linebuffer: return self.linebuffer.pop() else: return file.readline(self) def pushback(self, line): self.lineno -= 1 self.linebuffer.append(line) def peek(self): return self.linebuffer[-1] def eatspan(f1, f2): consumed = 0 while True: line1 = f1.readline() line2 = f2.readline() if line1 and line2 and line1 == line2: consumed += 1 continue f1.pushback(line1) f2.pushback(line2) return consumed if __name__ == "__main__": f1 = BufferedFile(sys.argv[1]) f2 = BufferedFile(sys.argv[2]) eaten = eatspan(f1, f2) print "First %d lines match" % eaten print `f1.peek()` print `f2.peek()` gpsd-3.9/devtools/reindent0000775000175000017500000000126311762140434014071 0ustar esresr#!/bin/sh # Re-indent the codebase in a uniform style for readability. # # This is more or less a failed experiment, kept for the record. INDENT_OPTIONS = --indent-level4 \ --honour-newlines \ --dont-break-procedure-type \ --cuddle-else \ --braces-on-if-line \ --case-brace-indentation0 \ --brace-indent0 \ --no-space-after-casts \ --no-space-after-function-call-names \ --start-left-side-of-comments \ --dont-format-comments indent: chmod u+w *maskdump.c indent $(INDENT_OPTIONS) *.c for f in *.c; \ do \ sed <$${f} >/tmp/reindent$$$$ -e 's/@ \*/@*/' ; \ mv /tmp/reindent$$$$ $${f} ; \ done chmod u-w *maskdump.c @echo "Diff lines:" `git diff | wc -l` gpsd-3.9/devtools/sizes0000775000175000017500000000321311762140434013413 0ustar esresr#!/usr/bin/env python # # sizes -- explore the sizes of static gpsd binaries # import os # NMEA variants other than vanilla NMEA nmea_variants = [ "fv18=no", "mtk3301=no", "tnt=no", "oceanserver=no", "gpsclock=no", ] # Binary GPS protocols binary_gps = [ "oncore=no", "sirf=no", "superstar2=no", "tsip=no", "tripmate=no", "earthmate=no", "itrax=no", "ashtech=no", "navcom=no", "garmin=no", "garmintxt=no", "ubx=no", "geostar=no", "evermore=no", ] # Differential correction and AIVDM non_gps = [ "rtcm104v2=no", "rtcm104v3=no", "ntrip=no", "aivdm=no", ] # Time service time_service = ["ntpshm=no", "pps=no"] # Debugging and profiling debugging = [ "timing=no", "clientdebug=no", "oldstyle=no", ] def sizeit(legend, tag, options): print legend + ":" print "Options:", " ".join(options) os.system("scons -c > /dev/null; rm -fr .scons*") os.system("scons shared=no " + " ".join(options) + " gpsd >/dev/null") os.rename("gpsd", "gpsd-" + tag + "-build") os.rename("gpsd_config.h", "gpsd_config.h-" + tag) # Main sequence os.system("uname -a") sizeit("Minimalist build, stripped to NMEA only with shm interface", "minimalist", ["socket_export=no", "control_socket=no", "ipv6=no", "netfeed=no", "passthrough=no", "fixed_port_speed=9600", "limited_max_devices=1", ] + nmea_variants + binary_gps + non_gps + time_service + debugging) sizeit("Normal build, configure options defaulted", "normal", []) os.system("size gpsd-*-build") #os.system("rm gpsd-*-build gpsd.h-*") os.system("scons -c > /dev/null; rm -fr .scons*") #end gpsd-3.9/devtools/striplog0000775000175000017500000000126411757250540014131 0ustar esresr#!/usr/bin/python # # striplog -- strip leading lines from logs # # striplog -1 strips the first line only. # striplog with no option strips all leading lines beginning with # # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # import getopt, sys firstline = False (options, argumwnts) = getopt.getopt(sys.argv[1:], "1") for (switch, val) in options: if (switch == '-1'): firstline = True if firstline: sys.stdin.readline() else: while True: line = sys.stdin.readline() if line[0] != '#': break sys.stdout.write(line) sys.stdout.write(sys.stdin.read()) gpsd-3.9/devtools/tablegen.py0000775000175000017500000004727111774401175014507 0ustar esresr#!/usr/bin/env python # # This tool is intended to automate away the drudgery in bring up support # for a new AIS message type. It parses the tabular description of a message # and generates various useful code snippets from that. It can also be used to # correct offsets in the tables themselves. # # Requires the AIVDM.txt file on standard input. Takes a single argument, # the line number of a table start. Things you can generate: # # * -t: A corrected version of the table. It will redo all the offsets to be # in conformance with the bit widths. # # * -s: A structure definition capturing the message info, with member # names extracted from the table and types computed from it. # # * -c: Bit-extraction code for the AIVDM driver. Grind out the right sequence # of UBITS, SBITS, and UCHARS macros, and assignments to structure members, # guaranteed correct if the table offsets and widths are. # # * -d: Code to dump the contents of the unpacked message structure as JSON. If # the structure has float members, you'll get an if/then/else guarded by # the scaled flag. # # * -r: A Python initializer stanza for jsongen.py, which is in turn used to # generate the specification structure for a JSON parse that reads JSON # into an instance of the message structure. # # * -a: Generate all of -s, -d, -c, and -r, , not to stdout but to # files named with the argument as a distinguishing part of the stem. # # This generates almost all the code required to support a new message type. # It's not quite "Look, ma, no handhacking!" You'll need to add default # values to the Python stanza. If the structure definition contains character # arrays, you'll have to fill in the dimensions by hand. You'll need to add # a bit of glue to ais_json.c so that json_ais_read() actually calls the parser # handing it the specification structure as a control argument. # # The -a, -c, -s, -d, and -r modes all take an argument, which should be a # structure reference prefix to be prepended (before a dot) to each fieldname. # Usually you'll need this to look something like "ais->typeN", but it could be # "ais->typeN.FOO" if the generated code has to operate on a union member # inside a type 6 or 8, or something similar. # # The -S and -E options allow you to generate code only for a specified span # of fields in the table. This may be useful for dealing with groups of # messages that have a common head section. # # TO-DO: generate code for ais.py. import sys, getopt def correct_table(wfp): # Writes the corrected table. print >>sys.stderr, "Total bits:", base for (i, t) in enumerate(table): if offsets[i].strip(): print >>wfp, "|" + offsets[i] + t[owidth+1:].rstrip() else: print >>wfp, t.rstrip() def make_driver_code(wfp): # Writes calls to bit-extraction macros. # Requires UBITS, SBITS, UCHARS to act as they do in the AIVDM driver. # Also relies on ais_context->bitlen to be the message bit length. record = after is None arrayname = None base = '\t' step = " " * 4 indent = base for (i, t) in enumerate(table): if '|' in t: fields = map(lambda s: s.strip(), t.split('|')) width = fields[2] name = fields[4] ftype = fields[5] if after == name: record = True continue if before == name: record = False continue if not record: continue if ftype == 'x': print >>wfp,"\t/* skip %s bit%s */" % (width, ["", "s"][width>'1']) continue if ftype[0] == 'a': arrayname = name explicit = ftype[1] == '^' print >>wfp, '#define ARRAY_BASE %s' % offsets[i].strip() print >>wfp, '#define ELEMENT_SIZE %s' % trailing if explicit: lengthfield = last print >>wfp, indent + "for (ind = 0; ind < %s; ind++) {" % lengthfield else: lengthfield = "n" + arrayname print >>wfp, indent + "for (ind = 0; ARRAY_BASE + (ELEMENT_SIZE*ind) <= ais_context->bitlen; ind++) {" indent += step print >>wfp, indent + "int a = ARRAY_BASE + (ELEMENT_SIZE*ind);" continue offset = offsets[i].split('-')[0] if arrayname: target = "%s.%s[ind].%s" % (structname, arrayname, name) offset = "a + " + offset else: target = "%s.%s" % (structname, name) if ftype[0].lower() in ('u', 'i', 'e'): print >>wfp, indent + "%s\t= %sBITS(%s, %s);" % \ (target, {'u':'U', 'e':'U', 'i':'S'}[ftype[0].lower()], offset, width) elif ftype == 't': print >>wfp, indent + "UCHARS(%s, %s);" % (offset, target) else: print >>wfp, indent + "/* %s bits of type %s */" % (width,ftype) last = name if arrayname: indent = base print >>wfp, indent + "}" if not explicit: print >>wfp, indent + "%s.%s = ind;" % (structname, lengthfield) print >>wfp, "#undef ARRAY_BASE" print >>wfp, "#undef ELEMENT_SIZE" def make_structure(wfp): # Write a structure definition correponding to the table. record = after is None baseindent = 8 step = 4 inwards = step arrayname = None def tabify(n): return ('\t' * (n / 8)) + (" " * (n % 8)) print >>wfp, tabify(baseindent) + "struct {" for (i, t) in enumerate(table): if '|' in t: fields = map(lambda s: s.strip(), t.split('|')) width = fields[2] description = fields[3].strip() name = fields[4] ftype = fields[5] if after == name: record = True continue if before == name: record = False continue if ftype == 'x' or not record: continue if ftype[0] == 'a': arrayname = name if ftype[1] == '^': lengthfield = last ftype = ftype[1:] else: lengthfield = "n%s" % arrayname print >>wfp, tabify(baseindent + inwards) + "signed int %s;" % lengthfield if arrayname.endswith("s"): typename = arrayname[:-1] else: typename = arrayname print >>wfp, tabify(baseindent + inwards) + "struct %s_t {" % typename inwards += step arraydim = ftype[1:] continue elif ftype == 'u' or ftype == 'e' or ftype[0] == 'U': decl = "unsigned int %s;\t/* %s */" % (name, description) elif ftype == 'i' or ftype[0] == 'I': decl = "signed int %s;\t/* %s */" % (name, description) elif ftype == 'b': decl = "signed int %s;\t/* %s */" % (name, description) elif ftype == 't': stl = int(width)/6 decl = "char %s[%d+1];\t/* %s */" % (name, stl, description) else: decl = "/* %s bits of type %s */" % (width, ftype) print >>wfp, tabify(baseindent + inwards) + decl last = name if arrayname: inwards -= step print >>wfp, tabify(baseindent + inwards) + "} %s[%s];" % (arrayname, arraydim) print >>wfp, tabify(baseindent) + "} %s;" % structname def make_json_dumper(wfp): # Write the skeleton of a JSON dump corresponding to the table record = after is None # Elements of each tuple type except 'a': # 1. variable name, # 2. unscaled printf format # 3. wrapper for unscaled variable reference # 4. scaled printf format # 5. wrapper for scaled variable reference # Elements of 'a' tuple: # 1. Name of array field # 2. None # 3. None # 4. None # 5. Name of length field tuples = [] for (i, t) in enumerate(table): if '|' in t: fields = map(lambda s: s.strip(), t.split('|')) name = fields[4] ftype = fields[5] if after == name: record = True continue if before == name: record = False continue if ftype == 'x' or not record: continue fmt = r'\"%s\":' % name if ftype == 'u': tuples.append((name, fmt+"%u", "%s", None, None)) elif ftype == 'e': tuples.append((name, fmt+"%u", "%s", fmt+r"\"%s\"", 'FOO[%s]')) elif ftype == 'i': tuples.append((name, fmt+"%d", "%s", None, None)) elif ftype == 't': tuples.append((name, fmt+r'\"%s\"', "%s", None, None)) elif ftype == 'b': tuples.append((name, fmt+r'\"%s\"', "JSON_BOOL(%s)", None, None)) elif ftype[0] == 'd': print >>sys.stderr, "Cannot generate code for data members" sys.exit(1) elif ftype[0] == 'U': tuples.append((name, fmt+"%u", "%s", fmt+"%%.%sf" % ftype[1], '%s / SCALE')) elif ftype[0] == 'I': tuples.append((name, fmt+"%d", "%s", fmt+"%%.%sf" % ftype[1], '%s / SCALE')) elif ftype[0] == 'a': ftype = ftype[1:] if ftype[0] == '^': lengthfield = last else: lengthfield = "n" + name tuples.append((name, None, None, None, lengthfield)) else: print >>sys.stderr, "Unknown type code", ftype sys.exit(1) last = name startspan = 0 def scaled(i): return tuples[i][3] is not None def tslice(e, i): return map(lambda x: x[i], tuples[startspan:e+1]) base = " " * 8 step = " " * 4 inarray = None header = "(void)snprintf(buf + strlen(buf), buflen - strlen(buf)," for (i, (var, uf, uv, sf, sv)) in enumerate(tuples): if uf == None: print >>wfp, base + "for (i = 0; i < %s.%s; i++) {" % (structname, sv) inarray = var base = " " * 12 startspan = i+1 continue # At end of tuples, or if scaled flag changes, or if next op is array, # flush out dump code for a span of fields. if tuples[i+1][1] == None: endit = r',\"%s\":[' elif i+1 == len(tuples): if not inarray: endit = '}\r\n' elif scaled(i) != scaled(i+1): endit = '.",' else: endit = None if endit: if not scaled(i): print >>wfp, base + header print >>wfp, base + step + '"'+','.join(tslice(i,1)) + endit for (j, t) in enumerate(tuples[startspan:i+1]): if inarray: ref = structname + "." + inarray + "[i]." + t[0] else: ref = structname + "." + t[0] wfp.write(base + step + t[2] % ref) if j == i - startspan: wfp.write(");\n") else: wfp.write(",\n") else: print >>wfp, base + "if (scaled)" print >>wfp, base + step + header print >>wfp, base + step*2 + '"'+','.join(tslice(i,3)) + endit for (j, t) in enumerate(tuples[startspan:i+1]): if inarray: ref = structname + "." + inarray + "[i]." + t[0] else: ref = structname + "." + t[0] wfp.write(base + step*2 + t[4] % ref) if j == i - startspan: wfp.write(");\n") else: wfp.write(",\n") print >>wfp, base + "else" print >>wfp, base + step + header print >>wfp, base + step*2 + '"'+','.join(tslice(i,1)) + endit for (j, t) in enumerate(tuples[startspan:i+1]): if inarray: ref = structname + "." + inarray + "[i]." + t[0] else: ref = structname + "." + t[0] wfp.write(base + step*2 + t[2] % ref) if j == i - startspan: wfp.write(");\n") else: wfp.write(",\n") startspan = i+1 # If we were looking at a trailing array, close scope if inarray: base = " " * 8 print >>wfp, base + "}" print >>wfp, base + "if (buf[strlen(buf) - 1] == ',')" print >>wfp, base + step + "buf[strlen(buf)-1] = '\0';" print >>wfp, base + "(void)strlcat(buf, ']}\r\n', buflen - strlen(buf));" def make_json_generator(wfp): # Write a stanza for jsongen.py.in describing how to generate a # JSON parser initializer from this table. You need to fill in # __INITIALIZER__ and default values after this is generated. extra = "" arrayname = None record = after is None print >>wfp, '''\ { "initname" : "__INITIALIZER__", "headers": ("AIS_HEADER",), "structname": "%s", "fieldmap":( # fieldname type default''' % (structname,) for (i, t) in enumerate(table): if '|' in t: fields = map(lambda s: s.strip(), t.split('|')) name = fields[4] ftype = fields[5] if after == name: record = True continue if before == name: record = False continue if ftype == 'x' or not record: continue if ftype[0] == 'a': arrayname = name if arrayname.endswith("s"): typename = arrayname[:-1] else: typename = arrayname readtype = 'array' dimension = ftype[1:] if dimension[0] == '^': lengthfield = last dimension = dimension[1:] else: lengthfield = "n" + arrayname extra = " " * 8 print >>wfp, " ('%s',%s 'array', (" % \ (arrayname, " "*(10-len(arrayname))) print >>wfp, " ('%s_t', '%s', (" % (typename, lengthfield) else: # Depends on the assumption that the read code # always sees unscaled JSON. readtype = { 'u': "uinteger", 'U': "uinteger", 'e': "uinteger", 'i': "integer", 'I': "integer", 'b': "boolean", 't': "string", 'd': "string", }[ftype[0]] default = { 'u': "'PUT_DEFAULT_HERE'", 'U': "'PUT_DEFAULT_HERE'", 'e': "'PUT DEFAULT HERE'", 'i': "'PUT_DEFAULT_HERE'", 'I': "'PUT_DEFAULT_HERE'", 'b': "\'false\'", 't': "None", }[ftype[0]] print >>wfp, extra + " ('%s',%s '%s',%s %s)," % (name, " "*(10-len(name)), readtype, " "*(8-len(readtype)), default) last = name if arrayname: print >>wfp, " ))))," print >>wfp, " )," print >>wfp, " }," if __name__ == '__main__': try: (options, arguments) = getopt.getopt(sys.argv[1:], "a:tc:s:d:S:E:r:") except getopt.GetoptError, msg: print "tablecheck.py: " + str(msg) raise SystemExit, 1 generate = maketable = makestruct = makedump = readgen = all = False after = before = None for (switch, val) in options: if switch == '-a': all = True structname = val elif switch == '-c': generate = True structname = val elif switch == '-s': makestruct = True structname = val elif switch == '-t': maketable = True elif switch == '-d': makedump = True structname = val elif switch == '-r': readgen = True structname = val elif switch == '-S': after = val elif switch == '-E': before = val if not generate and not maketable and not makestruct and not makedump and not readgen and not all: print >>sys.stderr, "tablecheck.py: no mode selected" sys.exit(1) # First, read in the table. # Sets the following: # table - the table lines # widths - array of table widths # trailing - bit length of the table or trailing array elemend startline = int(arguments[0]) table = [] keep = False i = 0 for line in sys.stdin: i += 1 if i == startline: if line.startswith("|="): keep = True else: print >>sys.stderr, "Bad table start" sys.exit(1) elif line.startswith("|="): keep = False if keep: if line[0] == '|': fields = line.split("|") trailing = fields[1] fields[1] = " " * len(fields[1]) line = "|".join(fields) table.append(line) table = table[2:] widths = [] for line in table: fields = line.split('|') if '|' not in line: # Continuation line widths.append('') elif fields[5][0] == 'a': # Array boundary indicator widths.append(None) else: widths.append(fields[2].strip()) if '-' in trailing: trailing = trailing.split('-')[1] trailing = str(int(trailing)+1) # Compute offsets for an AIVDM message breakdown, given the bit widths. offsets = [] base = 0 for w in widths: if w is None: offsets.append(`base`) base = 0 elif w == '': offsets.append('') else: w = int(w) offsets.append("%d-%d" % (base, base + w - 1)) base += w owidth = max(*map(len, offsets)) for (i, off) in enumerate(offsets): offsets[i] += " " * (owidth - len(offsets[i])) # Here's where we generate useful output. if all: make_driver_code(open(structname + ".c", "w")) make_structure(open(structname + ".h", "w")) make_json_dumper(open(structname + "_json.c", "w")) make_json_generator(open(structname + ".py", "w")) elif maketable: correct_table(sys.stdout) elif generate: make_driver_code(sys.stdout) elif makestruct: make_structure(sys.stdout) elif makedump: make_json_dumper(sys.stdout) elif readgen: make_json_generator(sys.stdout) # end gpsd-3.9/dgpsip-servers0000664000175000017500000000077711662661035013411 0ustar esresr# Publicly available DGPS correction servers # Three fields are: Latitude, longitude, server name[:port] # Degree fractional parts are decimal, not mmss. They can be approximate, # as they are only used to find the closest server. # Some of the data in this file is from the EUREF project page at # http://www.epncb.oma.be/_organisation/projects/euref_IP/ # 37.19 -122.39 dgps.wsrcc.com # Pt. Blunt, CA USA 39.14 8.97 glonass.ca.astro.it # Cagliari, Italy 50.01 19.92 gps1.geod.agh.edu.pl # Krakow, Poland gpsd-3.9/doc/Makefile0000664000175000017500000000011211757250540012675 0ustar esresrexplanation.html: $(shell ls *.xml) xmlto xhtml-nochunks explanation.xml gpsd-3.9/doc/README0000664000175000017500000000007011662661035012120 0ustar esresrThis is internals documentation written by Mick Durkin. gpsd-3.9/doc/explan_bits.h.xml0000664000175000017500000000156411757250540014531 0ustar esresr<filename>bits.h</filename> Notes based on code as of Mon Apr 5 21:38:06 2010 -0400. This file only contains macros that convert data variables from the native format of the device output (MSB-first or LSB-first) into a standard form for gpsd use. This makes data parsing consistent regardless of the underlying format. If the device driver file makes no deliberate selection, the default is to assume the device emits data in big-endian (network byte) order. gpsd-3.9/doc/explan_dbusexport.c.xml0000664000175000017500000000162011762140434015747 0ustar esresr<filename>dbusexport.c</filename> Functions:-Handles initialization of and communication with the DBUS. Notes based on code as of Mon Apr 5 21:38:06 2010 -0400. int initialize_dbus_connection(void) Initializes the DBUS connection. void send_dbus_fix(struct gps_device_t* channel) Sends the current fix data for this channel via dbus gpsd-3.9/doc/explan_driver_nmea.c.xml0000664000175000017500000002563311757250540016061 0ustar esresr<filename>nmea_parse.c</filename> Functions:-Parser for NMEA strings, generic and proprietary. Notes based on code as of Mon Apr 5 21:38:06 2010 -0400. static void do_lat_lon(char *field[], struct gps_fix_t *out) Reads a four element array containing the value and hemisphere of the latitude and longitude of a location as text. It converts them into signed (-ve for S and W) values. The gps_data_t structure is updated with the new value(s). static void merge_ddmmyy(char *ddmmyy, struct gps_device_t *session) If the century has not yet been stored in the nmea driver private data, take the supplied ddmmyy date and generate and store a ddmmyyyy date, using the century value compiled in from timebase.h. static void merge_hhmmss(char *hhmmss, struct gps_device_t *session) Stash the present hour value before updating it from the incoming data. If the new hour is less than the stashed value, we have passed midnight, so update the day value. Finally update the minutes, seconds and fractions of a second from the incoming data. static gps_mask_t processGPRMC(int count, char *field[], struct gps_device_t *session) Handle a $GPRMC sentence stored in an array of strings, one member per field.Check if the message is stamped valid or not.If it is invalid, set the status and fix mode to NO_FIX and save the corresponding flags locally; also save the online flag to indicate we have handled a known sentence.If the fix is autonomous and valid, start to decode the fields.First, test if there are enough fields available; then handle the date and time via merge_ddmmyy() and merge_hhmmss(), storing the TIME_SET flag and storing the fix time as a UNIX-epoch relative value.If the sentence time and this fix time are different, we have started a new cycle of observation, so update the sentence time and the store the CYCLE_START_SET flag.Whatever the number of fields, store the fix co-ordinates via do_lat_lon(), store the speed and the track and save the corresponding flags.Return the local aggregated flags to allow the main copy in the session data to be updated. static gps_mask_t processGPGLL(int count, char *field[], struct gps_device_t *session) Preload the local flag with the ERROR_SET flag.Check that the sentence is usable, exiting with the preset error flag if it is not.If it is usable, clear the local flags and start processing the fields, updating any local flag fields on the way.If the year is already known, update the time and check for the start of cycle (see processGPRMC() above).Handle the fix location and, if the number of received fixes is more than 8 and the status is differential, stash the new status as STATUS_DGPS_FIX; otherwise stash STATUS_FIX.If the present mode is less than 2D_FIX, update it to 2D_FIX.Write the stashed value of newstatus into the session status and return all the locally aggregated flags. static gps_mask_t processGPGGA(int c UNUSED, char *field[], struct gps_device_t *session) Stash the last fix time. Set the status to the value in the message and update the local flag variable.If the status is STATUS_NO_FIX, exit immediately, returning the locally aggregated flags. If there is a fix, process it.Handle the time as in processGPGLL() above. Handle the latitiude and longitude with a call to do_lat_lon() above and set the local flag.Update the satellites_used field and stash the altitude.If the altitude is empty, force the fix mode and status to 2D if it was 3D previously.If it is not empty, stash the old value of altitude and replace it with the new value stashed earlier and set the local flag variable. If the mode is presently less than 3D, update it to 3D and set the local flag.If the stashed old altitude is NaN or the stashed fix time and current fix time are equal, set the climb rate to 0 otherwise calculate it by dividing the altitude difference by the time difference and set the local flag.If the geoid separation is available, store it, otherwise store the value from wgs84_separation() that depends on current location.Finally, return all the locally aggregated flags. static gps_mask_t processGPGSA(int count, char *field[], struct gps_device_t *session) Start with a simple validity check on the number of fields (for i.Trek M3) and bail out with a simple indication of on-line status if it fails.Set the fix mode from the sentence and either clear the local flag variable (if an Antaris chipset says we are in dead-reckoning mode) or set the MODE_SET flag.Update all the DOP fields from the sentence, clear the count of used satellites, then scan all the satellite data.If any satellite is good (prn != 0), store the prn and increment the count of used satellites.Finally, set the local flags to indicate that DOPs are available and return all the locally aggregated flags. static gps_mask_t processGPGSV(int count, char *field[], struct gps_device_t *session) Check if the sentence has too few fields or the wrong number fo fields. In this case, clear the data for all satellites and return with an error indication.Start to parse the sentence. First, note how many sentences are to be expected to complete the data transfer.If the sentence number is invalid, clear the data for all satellites and return with an error indication.If this is the first sentence of the sequence, clear the data for all satellites.Loop through the sentence fields, updating the session's satellite data.If any satellite number is higher than the number of channels, clear all satellite data and break out of the loop.Assuming this is not a buggy chipset (e.g. Motorola Oncore GT+), update the satellite count and loop again.If this was the last sentence of the block and the number of satellites seen is not the same as the number reported, generate an error log.If this is not the last sentence of the block, exit early and return an error flag as a guard.Finally, on the last sentence, carry out a sanity check and either return an error flag or a SATELLITE_SET flag. static gps_mask_t processPGRME(int c UNUSED, char *field[], struct gps_device_t *session) Check that the error estimate data is good. If not, set all error estimate fields to 100m and return an error flag.If they are good, calculate the error value and store it. Return the appropriate flag values. static gps_mask_t processGPZDA(int c UNUSED, char *field[], struct gps_device_t *session) Set the local flag variable to indicate that the time is available.Store the actual time by a call to merge_hhmmss() and fill in the other fields from the sentence data.If the sentence is not timestamped the same as the fixtime, set the CYCLE_START_SET flag.Update the fixtime to the sentence timestamp.Finally, return all the locally aggregated flags. static gps_mask_t processTNTHTM(int c UNUSED, char *field[], struct gps_device_t *session) Set the local variable to indicate the unit is on-line.Fill all appropriate fields from the sentence and set the associated flags in the local flag variable.Set the fix status and return all the locally aggregated flags. static short nmea_checksum(char *sentence, unsigned char *correct_sum) Calculate and return the checksum of an NMEA sentence. gps_mask_t nmea_parse(char *sentence, struct gps_device_t *session) Test that the length of the NMEA sentence is acceptable, simply returning an on-line indication if it is too long to handle.If it is within limits, make a local copy and split it on the commas into an array, one field per element.Use the first element to match the command to the table of decodable commands.Check if it is supported and the number of fields is reasonable, invoke the correct decoder and return the value from that call.If it fails the check, simply return an on-line status.This function is also responsible for performing adaptive end-of-cycle detection. void nmea_add_checksum(char *sentence) Calculate the checksum then append '*' + the checksum + CR/LF to the end of an NMEA sentence, skipping any existing '*'. int nmea_write(struct gps_device_t *session, const char *fmt, ... ) Ship a string to an NMEA device, adding a checksum and CR/LF if needed. A checksum is added only if the sentence begins with '$'. Bytes written are returned. int nmea_send(struct gps_device_t *session, , const char *fmt, ... ) A wrapper around nmea_write() to give it sprintf-like varargs behavior. gpsd-3.9/doc/explan_driver_proto.c.xml0000664000175000017500000000115611757250540016276 0ustar esresr<filename>driver_proto.c</filename> Notes based on code as of Mon Apr 5 21:38:06 2010 -0400. This is a dummy file to use as a skeleton for writing a new driver. The driver is heavily commented, so refer to the source code. gpsd-3.9/doc/explan_driver_rtcm2.c.xml0000664000175000017500000000354511757250540016166 0ustar esresr<filename>rtcm.c</filename> Functions:-This is a decoder for the RTCM-104 serial protocol. Notes based on code as of Mon Apr 5 21:38:06 2010 -0400. void rtcm2_unpack(struct rtcm2_t *tp, char *buf) Splits RTCM2 raw data into fields. bool rtcm2_repack(struct rtcm2_t *tp, isgps30bits_t *buf) Packs RTCM2 fields into a raw data stream. static bool preamble_match(isgps30bits_t *w) Tells if the preamble field in a message is valid or not. static bool length_check(struct gps_packet_t *lexer) Tells if the message length is valid or not. enum isgpsstat_t rtcm2_decode(struct gps_packet_t *lexer, unsigned int c) A simple call to isgps_decode(). void rtcm2_dump(struct rtcm2_t *rtcm2, char buf[], size_t buflen) Dump the contents of a parsed RTCM104v2 message. void rtcm2_output_magnavox(isgps30bits_t *ip, FILE *fp) Ship an RTCM2 message in the format emitted by Magnavox DGPS receivers. gpsd-3.9/doc/explan_drivers.c.xml0000664000175000017500000000606111757250540015236 0ustar esresr<filename>drivers.c</filename> Functions:-This is the main driver for NMEA, both plain vanilla and any manufacturer specific variety of NMEA output. This is NOT where manufacturer specific binary matters are handled. Notes based on cde as of Mon Apr 5 21:38:06 2010 -0400. ssize_t generic_get(struct gps_device_t *session) This is a wrapper to call the real packet getter function, packet_get(). ssize_t pass_rtcm(struct gps_device_t *session, char *buf, size_t rtcmbytes) This writes the rtcm data to the device. gps_mask_t nmea_parse_input(struct gps_device_t *session) If the packet is a comment packet, ignore it and return 0.If it is one of several binary packets, issue a warning to that effect.If the relevant driver exists, switch to that driver and get it to parse the packet. The return value is that of the binary parser.If the driver does not exist, ignore the packet and return 0.If after all this, it is likely to be an NMEA packet, so try to parse it with the NMEA parser. If that returns a 0 (unsuccessful), then check if it is a trigger packet for one of the triggerable drivers.If this succeeds, return 1, otherwise issue an unrecognised packet error.Finally checks are made against openBSD's NMEA Line Discipline to make use of timestamping and if ntpd synchronising is active, the time is passed to the ntp daemon. static void nmea_probe_subtype(struct gps_device_t *session, unsigned int seq) This tries to probe for the NMEA mode of several popular chipsets. Most are detected by a trigger string. Several functions are omitted which are device specific. These are not covered here since they ARE device specific. static gps_mask_t rtcm104_analyze(struct gps_device_t *session) This function calls rtcm_unpack() to unpack rtcm packets into the session buffer. The last important thing in this code is an array of addresses, one for each compiled-in driver. This address gets us to the capabilities table in the bottom of each driver where we find what functions a driver supports and the entry address for each function. gpsd-3.9/doc/explan_geoid.c.xml0000664000175000017500000000415011757250540014644 0ustar esresr<filename>geoid.c</filename> Functions:-Provides conversion between the ECEF and WGS84 co-ordinate reference systems. Notes based on code as of Mon Apr 5 21:38:06 2010 -0400. static double bilinear(double x1, double y1, double x2, double y2, double x, double y, double z11, double z12, double z21, double z22) This is a piece of mathematical manipulation only used internally in this code, so wrestle with it if you will! It's used to perform bilinear interpolation on the grid points in the WGS4 geoidal-separation array. double wgs84_separation(double lat, double lon) This is used by drivers to get the separation of MSL from the WGS84 datum at a pair of Latitude/Longitude co-ordinates. The data is in a pre-defined table. void ecef_to_wgs84fix(struct gps_data_t *gpsdata, double x, double y, double z, double vx, double vy, double vz, float *separation) This does exactly what it says! Co-ordinate system conversion from ecef to the wgs84 equivalent. Geodetic separation for the fix is left in *separation static double fix_minuz(double d) This forces a value of -0.0 to be the same as 0.0 so that certain trig functions act in a predictable manner. int main(int argc, char **argv) This is a local test routine which exercises the other code for debugging purposes. It is normally shut off by an #ifdef. gpsd-3.9/doc/explan_gps.h.xml0000664000175000017500000000243111757250540014353 0ustar esresr<filename>gps.h</filename> Structures:-The interface of the libgps library, provides data structures the library needs and that the daemon fills. Notes based on code as of Mon Apr 5 21:38:06 2010 -0400 struct gps_fix_t {} This is the fix related data gathered from the gps device. Each client session has 2, the current fix and the previous fix. struct rtcm2_t {} This holds the data being processed by the rtcm functions. struct gps_data_t {} This contains ALL the data available from the daemon; the actual fix, status flags, headings etc. Basically any good stuff that we might want goes here. gpsd-3.9/doc/explan_gpsd.c.xml0000664000175000017500000004513111757250540014516 0ustar esresr<filename>gpsd.c</filename> Functions:-This is the main body of the daemon. Notes based on code as of Mon Apr 5 21:38:06 2010 -0400. static void onsig(int sig) This is a simple catchall routine to trap wanted signal. Simply store the signal number in a variable to advise the main loop which signal to handle. static int daemonize(void) Try to fork() a child process. The parent will get a return value of either -1 (on a failure to fork()) or non-zero (the child's PID). The parent routine will use this information to either return -1 or exit with an exit code of 0 (i.e. the parent terminates, leaving the child running).The child instance gets a return value of 0 (on an unsuccessful fork() there is no child), so this value is used as the trigger to do the following useful stuff.First, the child tries to create a new session, returning -1 if unable to do so. If succesful, it will have inherited the exiting parent's session.Next switch to the root directory and try to open /dev/null. If that succeeds, force stdin, stdout and stderr to duplicate the fd of /dev/null. If the fd being used for the operation is >2, release it.Finally, set the flag which indicates the process is in the background and return a value of 0. void gpsd_report(int errlevel, const char *fmt, ... ) This code is used for error reporting, but is dependant on SQUELCH_DISABLE so that embedded systems (for example) are not burdened with unnecessary noise. The first thing to check is if the error level offered is high enough to be of interest (controlled by the debug level we are running at).If we are interested, the first step is to protect the code with a mutex if we are using the 1PPS input.Now we build a message buffer which has a fixed header (gpsd: ) and the incoming data. The output buffer is prepared (load the start with a NULL) and then the input buffer is scanned, byte-by-byte, up to its terminating NULL. The scanned data is transferred on the fly to the output buffer subject to the following tests:-If the character is printable, it passes through unchanged.If it is a space and either of the next two bytes is NULL it will also pass through unchanged.In any other case, it is copied across as a hexadecimal string like x09.The completed output buffer is then either sent to the system logger if we are in background mode (daemon) or to the stderr file if we are in foreground mode. static void usage(void) Simply print a big list of the invocation parameters to the default gpsd port (2947, allocated by IANA). static int passivesock_af(char *service, char *tcp_or_udp, int qlen) Initialise an Internet socket address structure and preload the family and address fields to accept Internet Protocol and any address.Test to see if the incoming service and protocol exist in /etc/services. If they do, store the port number in the structure (massaging byte order as needed); if they don't, exit with a -1.Test to see if the protocol is listed in /etc/services, exiting with -1 if it is not.Test if the protocol is udp or not, setting the type accordingly.Try to open a socket with the accumulated settings, exiting with -1 if it fails.Try to set the socket options correctly, again exiting with -1 if it fails.Try to bind to the open socket; if it fails exit with -1 as earlier, but give a special warning if the error indicates that gpsd may already be active on the socket.If we are using a stream type socket and we are unable to listen to the port we exit with -1.The last possibility is a successful set of operations which is signalled by returning the socket fd number. static int passivesocks(char *service, char *tcp_or_udp, int qlen, int socks[]) Open a passive socket for each supported address family; presently the supported families are IPV4 and IPv6. This socket will be used to listen for client command connections. Sockets are left in the final array argument, and the number successfully opened is returned.> static int filesock(char *filename) Try and open a socket for Local (UNIX) communications in streaming mode. If the open fails, return with a -1.If it opens, copy the incoming filename into the socket control structure, bind to the socket and try to listen on it.Signal a failure by returning -1 and success by returning the socket fd number. static void adjust_max_fd(int fd, bool on) If the incoming boolean flag is active, check if the fd number passed is greater than the highest seen so far. If so, save it as the new highest value.If the boolean is passive we can take some further action, depending if we are interested in limiting the maximum number of devices and client fds (set by compile time options).If we are not limiting ourselves, then we check for the case when we are actually at the highest fd seen so far. In that case, scan through all fds available to the system and store the highest active fd number in our allocation set as the new highest value. static struct subscriber_t* allocate_client(void) Scan through all the client file descriptors, looking for one which does not have a device allocated to it.On a match, exit early, returning this fd.If none are available, return a NULL. static void detach_client(struct subscriber_t *sub) Close the given fd and remove it from our allocation set.Make a call to adjust_max_fd() to housekeep the highest fd marker if needed.Set important fields in the client's datablock to safe values for the next re-use, then return. static ssize_t throttled_write(struct subscriber_t *sub, char *buf, ssize_t len) Check if we have a high enough debug level active to warrant printing out the information we are about to send to the client.Make the actual write() call and if that was successful, return the counter value from that operation.If we have suffered some kind of failure, try to analyse it.On a short write, detach the client and return a 0.Trap EAGAIN or EINTR and return a 0.Trap EBADF or a EWOULDBLOCK where the client has not read data for more than a reasonable amount of time and generate a suitable report.For all other errors, generate a general error. In these last several cases, call detach_cient().Finally, return the status (-1 in this case). static void notify_watchers(struct gps_device_t *device, const char *sentence, ...) For every possible subscriber, check if the subscriber is in watcher mode and is interested in the gps device indicated in the calling parameter gps_device_t.If so, send the data via a call to throttled_write(). static struct gps_device_t *find_device(const char *device_name) For every possible channel, check if the channel is allocated and if the device on the channel is the one passed to us.If it is so, exit early and return the channel number.If there is no match, return a NULL. static void deactivate_device(struct gps_device_t *device) Deactivate device, but leave it in the device pool; do not free it. This means it will be available to be watched on subsequent client opens. bool open_device(struct gps_device_t *devp) Try to activate the device via a call to gpsd_activate().If this fails return false.If it succeeds, add the fd to our list of active fds, housekeep the highest fd number and return true. static bool add_device(const char *device_name) Add a device to the pool of those available. If in nowait mode, open it immediately; otherwise initialize it and make it available for future watches, but don't open it yet. static bool awaken(struct subscriber_t *user, struct gps_device_t *device) If the device is not initialized, attempt to open the specified device on behalf of the specified user. If you succeed and the device has an active fd, you're done. If it does not, make a call to gpsd_activate().If this fails, return false, if not, add the fd to our list of active fds and housekeep the highest fd.Check if the user is in watcher mode but not tied to a specific device. static char *snarfline(char *p, char **out) Copy the input line into a new buffer stopping at the first non-printable or whitespace character. static bool privileged_user(struct gps_device_t *device) Scan all subscribers and count all who are connected to the device. If only the one user is connected, return true, otherwise return false. static void handle_request(struct subscriber_t* sub, char *buf, const char **after, char *reply, size_t replylen) Perform a single GPSD JSON command. Accept the command response into a reply buffer, and update the after pointer to point just after the parsed JSON object. static int handle_gpsd_request(struct subscriber_t *sub, const char *buf) Parse multiple GPSD JSON commands out of a buffer and perform each. Ship all responses back to the user via throttled_write(). static void handle_control(int sfd, char *buf) This code is similar in function to handle_gpsd_request() in that it parses user input. It expects the commands to be one per line and despatches them according to the leading character, which is limited to one of '-', '+' or '!'.In the first case, the body of the command is assumed to be a device to remove from the search list. If found, it is removed, any clients are advised and OK is written to the calling socket fd. If the device is not found ERROR is written to the calling socket fd.In the second case, the body of the command is assumed to be a device to be used by the daemon. If the device is already known, or does not respond to open_device(), ERROR is written to the calling socket fd, otherwise OK is written.In the third case, the command is assumed to be a device-specific control string in the form !device_name=control_string. If the string is ill-formed or the device is not found ERROR is written to the calling socket fd. If all is well, the control string is written to the device and OK is written to the calling socket fd. int main(int argc, char *argv[]) If the 1PPS function is compiled in, initialise the local mutex structure for use by the program.A while() loop reads in any command line arguments which are options and handles the options. Most set an internal variable to control action when running, either to a fixed value or to the associated option's parameter.Carry out a series of calls to routines to set things up ready for the main task (e.g. opening a control socket if one is needed). We also take care of tasks such as daemonizing when appropriate. The last piece of preparation is to set the permissions of the default devices correctly if we are daemonizing and are presently running as root.Switch to the compiled in user name (typically nobody) and the group used by the tty devices.Now we clear important data for all the records in the subscriber list.Use setjmp() to prepare things for when the daemon terminates.Clear the semaphore variable which will contain the signal number if one arrives and set some important signals so they are trapped by the stub handler in onsig().Add the command and RTCM sockets (if active) to the list of active fds, housekeeping the highest fd number and pre-clear the list of control fds.Process the remaining parameter on the command line which should be the device name and try to open the specified device.Enter the main execution loop, a while() loop which terminates if a signal sets the semaphore variable. What follows will repeat over and over until an external termination happens.First we make a working copy of the active fds and then we make a time-limited (1 second time limit) call to select() using the working copy of the fds. This means that when the select() returns, we will either have returned on timeout or because some fd became ready to read.First we check if any new clients have come active and (if we have resources) allocate a subscriber slot to it, doing housekeeping such as adding it to the main list of active fds and removing it from the local copy of the list. If RTCM support is compiled in, the last operation is repeated for any new RTCM client. The operation is then repeated for any new control socket clients.If we are expecting DGPS reports, make a call to netgnss_poll() and if there are no ready reports, clear the fd from the main and local active fd lists.Check if any of the active control sockets has sent one or more commands.For every one which has sent commands, make calls to handle_control() to process them and remove the associated fd from the main and control lists of active fds.Poll every active gps device and send RTCM data to it (if needed), followed by reading its output (if any). If the device returns an error, disable the device. If it has gone off-line, disable the device.If we get here, we have something to handle, so we take care of a device which we know about, but do not have a subtype for.We send the available data to all subscribers who are connected to this device. If the data is RTCM information, pass it to all GPS devices that can accept the data.Handle any subscribers who are in watcher mode building up an appropriate set of requests, depending on the available data and passing the requests to handle_gpsd_request().If we care about DBUS, send the fix to the DBUS.Note that this small section of code is presently disabled pending development of the DGNSS function. If DGNSS is available and we have a fix, we poll a DGNSS report via dgnss_autoconnect().Loop round all clients and process active ones. We check for input from them and if the read fails, the client is released with detach_client(). If it succeeds, any data is handled via handle_rtc_request() or handle_gpsd_request().If the transaction fails, the client is released with detach_client().If the client has timed out with no device assigned, it is released with detach_client().If the client has a device, but has timed out on no response (when not in raw or watcher modes) it is released with detach_client().If we are not running in nowait mode, we are supposed to go idle after a timeout when there are no clients.If a device (with a known type) has no active clients, then we can actually make it idle via gpsd_deactivate().If we reach here, we are out of the endless while loop. We check if the signal was SIGHUP and restart the program if it was. If it is any other signal, we deallocate all channels and wrap up any devices. Finally we check for the existence of a control socket or a pid file and delete them. gpsd-3.9/doc/explan_gpsd.h.xml0000664000175000017500000000413411757250540014521 0ustar esresr<filename>gpsd.h</filename> Structures:-Provides fundamental types and structures for the GPS daemon. Only key structures are analysed here. Simple definitions and prototype definitions are ignored. Notes based on code as of Mon Apr 5 21:38:06 2010 -0400 This file is created at configure time by combining gpsd.h-head, certain configuration options from the auto-generated file gpsd_configure.h and gpsd.h-tail. This file (gpsd.h) should not be edited directly, neither should gpsd.h-head. You should only edit gpsd.h-tail as needed. struct gps_packet_t {} Provides the data structure used by packet_getter(). 1 per gpsd session. struct gps_context_t {} Provides context data like number of good fixes seen. 1 per gpsd session. struct gps_type_t {} This is the method table that every driver uses to communicate with the daemon. It is a table of entry points or externally visible data. 1 per driver type. struct gps_device_t {} This is the data belonging to a session (global state) and also private storage for the session's associated device driver (if needed). 1 per gpsd session. gpsd-3.9/doc/explan_gpsd_report.c.xml0000664000175000017500000000203511757250540016105 0ustar esresr<filename>report.c</filename> Functions:-General string output routine for any module to use. Notes based on code as of Mon Apr 5 21:38:06 2010 -0400 void gpsd_report(int errlevel UNUSED, const char *fmt, ... ) Provides the outputting of strings to stderr for anyone who needs it. Used extensively by many functions to report errors or progress. Responds according to the errlevel argument, which is filled by the DEBUG command line argument, so that the verbosity of output is conditional on the user's wishes at runtime. gpsd-3.9/doc/explan_gpsdclient.c.xml0000664000175000017500000000235711757250540015720 0ustar esresr<filename>libgps.c</filename> Functions:-The client interface library for the gpsd daemon. Notes based on code as of Mon Apr 5 21:38:06 2010 -0400 char *deg_to_str( enum deg_str_type type, double f) Convert double degrees to a static string and return a pointer to it.Makes a simple check on invalid degree values (less than 0 or more than 360) and returns "nan" if found.For valid values, it generates the appropriate string according to the string type enumeration, defaulting to DD MM SS.sss enum unit gpsd_units(void) Simple check of the environment to determine what units are required. If all else fails, use compiled in units. gpsd-3.9/doc/explan_gpsutils.c.xml0000664000175000017500000000632411757250540015434 0ustar esresr<filename>gpsutils.c</filename> Functions:-Code shared between low-level and high-level interfaces. Most of them do exactly what they say on the tin. Notes based on code as of Mon Apr 5 21:38:06 2010 -0400. void gps_clear_fix(struct gps_fix_t *fixp) Stuff a fix structure with recognizable out-of-band values. unsigned int gps_valid_fields(struct gps_fix_t *fixp) Clears certain status flags, depending if the associated fields are invalid. double timestamp(void) Returns the number of seconds and microseconds since the UNIX Epoch (00:00:00 UTC, January 1, 1970); i.e. a unique value which can be used to timestamp any event. time_t mkgmtime(register struct tm *t) Convert a struct tm {} (see time.h) to seconds since UNIX Epoch. double iso8601_to_unix(char *isotime) Convert an ISO8601 UTC string (like 2006-01-25T13:15:22.9) to Unix UTC. char *unix_to_iso8601(double fixtime, char isotime[], int len) Reverse of the above, no timezone adjustment. double gpstime_to_unix(int week, double tow) Convert gps time to UNIX time, allowing for the gps week number rollover. void unix_to_gpstime(double unixtime, int *week, double *tow) Reverse of the above. static double CalcRad(double lat) Return the earth's radius of curvature in meters at specified latitude. double earth_distance(double lat1, double lon1, double lat2, double lon2) Return the distance in meters between two points specified in degrees. static int invert(double mat[4][4], double inverse[4][4]) Try and invert an array. If it is possible, fill the inverted array and return a 1. Return a 0 if it is not possible. gps_mask_t dop(struct gps_data_t *gpsdata) Take a gps data structure and try to calculate the DOP values from the other data in it. Return 0 if it is not possible or update the appropriate DOP fields in the structure and set a mask which tells which fields were updated. gpsd-3.9/doc/explan_isgps.c.xml0000664000175000017500000000547411757250540014714 0ustar esresr<filename>isgps.c</filename> Functions:-This contains low level handling for the data transmission format of the satellite downlink and the RTCM2 radio data stream. ESR comments You are not expected to understand any of this.. Let's try anyhow. Notes based on code as of Mon Apr 5 21:38:06 2010 -0400. static unsigned char parity_array[] An array of parity values to allow fast lookup instead of calculation. static unsigned int reverse_bits[] An array of conversion values to allow fast lookup instead of calculation. unsigned int isgps_parity(isgps30bits_t th) Calculate the ISGPS parity for the incoming 30 bit word. This involves lots of masking (with preset values or values searched through parity_array[]) and shifting void isgps_init(struct gps_packet_t *session) Initialise the ISGPS data for the current session. enum isgpsstat_t isgps_decode(struct gps_packet_t *session, bool (*preamble_match)(isgps30bits_t *), bool (*length_check)(struct gps_packet_t *), size_t maxlen, unsigned int c) Check the validity of the ISGPS word tag (incoming data unsigned int c) and exit with an error if it is not valid.If the session has not already locked with the datastream, loop through the data and try and sync up. If sync is achieved, exit early with an indication of sync, or fall through still marked unsynced.If the session is already locked to the datastream, read the data into the session buffer. All the while, take care that the datastream is not corrupted. Any error will result in an early return with an appropriate error code. At the end of this section, return the status of the operations.Finally, if the above two sections failed, exit with an error indicating that lock was not achieved. void isgps_output_magnavox(isgps30bits_t *ip, unsigned int len, FILE *fp) Ship an IS-GPS-200 message to standard output in Magnavox format. gpsd-3.9/doc/explan_libgps_core.c.xml0000664000175000017500000001154611757250540016054 0ustar esresr<filename>libgps_core.c</filename> Functions:-The client interface library for the gpsd daemon. Notes based on code of Mon Apr 5 21:38:06 2010 -0400 struct gps_data_t *gps_open(const char *host, const char *port) Open a connection to a gps daemon.Try to get a gps_data_t structure. If it fails, return a NULL.Test for a specified host and/or port number, using defaults if nothing is specified in the command line invocation.Try to connect to the now defined socket; on error, release the resources and return NULL. On success, initialise an internal struct gps_data_t and return the pointer to it. struct gps_data_t *gps_open_r(const char *host, const char *port, struct gps_data_t *gpsdata) Variant of gps_open() for when re-entrancy is required. Initializes storage passed by the caller. int gps_close(struct gps_data_t *gpsdata) Close the fd associated with the gps_data_t structure and stash the result.If there is a device id stored, NULL it and the associated path.If the device list has any data in it, free this and mark the number of available devices as invalid.Free the gps_data_t structure itself and return the stashed close() result. static void gps_unpack(char *buf, struct gps_data_t *gpsdata) Keep looping through the data in buf for JSON objects. Each time one is found, analyze it and unpack it into the struct pointed at by gpsdata, setting the gpsdata->set mask appropriately to indicate which data is validThis function is intended for GPSD internal use only and should not be considered a stable part oof the API. int gps_poll(struct gps_data_t *gpsdata) Poll the daemon and if there is no data or an error, return -1.If there is something to read, clear the buffer, note the time as the received data time and the online time, then unpack the data.If profiling is active, use the received data time, the fix time and the present time to calculate the decode time and the client receipt time. int gps_send(struct gps_data_t *gpsdata, const char *fmt, ... ) Gather up the instructions to a gpsd instance for information to return and write them to the device.If the write fails, return -1. This entry point is deprecated in favor of gps_stream() bool gps_waiting(struct gps_data_t *gpsdata) Return a boolean indicating whether input data is waiting on the daemon socket. Does not block. int gps_stream(struct gps_data_t *gpsdata, unsigned int, void *d) Set watch and policy flags. This evaluates the flag mask passed as the second argument, composes a corresponding command in the GPSD write protocol, and ships it to the daemon. The following three functions are guarded by an #ifdef so they only compile if it is required to be able to test the library and set up a command line exerciser interface. static void data_dump(struct gps_data_t *collect, time_t now) A data dumper used when debugging. It outputs data according to the command line input data. static void dumpline(struct gps_data_t *ud UNUSED, char *buf, size_t ulen UNUSED, int level UNUSED) A simple call to UNIX puts(). int main(int argc, char *argv[]) A simple command line parser and endless loop to exercise the daemon when debugging. gpsd-3.9/doc/explan_libgpsd_core.c.xml0000664000175000017500000001427511757250540016222 0ustar esresr<filename>libgpsd_core.c</filename> Functions:-Direct access to GPSes on serial or USB devices. Notes based on code as of Mon Apr 5 21:38:06 2010 -0400. int gpsd_switch_driver(struct gps_device_t *session, char* typename) Test if the function is called with the same name as the active driver.If it is, test if the driver has a configurator function and is able to be reconfigured. A good result here will call the driver event hook with type 'driver_switch', and return a 0.For an entry with a different driver name, scan all available drivers to see if the wanted one is there. An unmatched name exits, returning 0.If we got a match, get the baudrate for the device with gpsd_assert_sync(), probe for the subtype if we have one.If the device has a configurator and is reconfigurable, trigger the configurator.Return a 1 to indicate a device switch. void gpsd_init(struct gps_device_t *session, struct gps_context_t *context, const char *device) Copy the device name to the session data structure, initialise important data fields and call gpsd_tty_init(), gpsd_zero_satellites() and packet_reset(). void gpsd_deactivate(struct gps_device_t *session) All actions below, except the last one are conditional on the ntpd interface being compiled in.Release the ntpd resources, including the 1PPS resources if they are active.If the device has a revert function, trigger it.If it has an NMEA mode switcher, invoke it.If it has a wrapup routine, invoke it.Finally, close the device. static void *gpsd_ppsmonitor(void *arg) An ioctl() call is made which returns either 0 if the status of the port changed, or an error.If we got a change, we read the modem control bits and extract the 1PPS information.We check the returned value and see if it has changed recently. A counter of 10 unchanged events will disable further testing.If we are still hanging in there, we now see if we already have had more than 4 good fixes, otherwise we can't trust the 1PPS.We then finally test the pulse duration. If it is either a genuine 1PPS or a 2Hz square wave, we call ntpshm_pps().Short or long PPS pulses are dropped with an error report. int gpsd_activate(struct gps_device_t *session, bool reconfigurable) Id tge devicename matches an NTRIP or DGNSS URI, hand off to special code for opening a socket to that source over the network.Try and open the device, returning -1 if we fail.Probe all possible drivers to see if one recognises the device.Set some fundamental data to a clean value.Handle the initialisation of NTP and 1PPS functions if needed.If we did succeed in probing some device type, try and get the subtype.If we need to do so, we now configure the device.Finally, signal success by returning the file descriptor given by the device open call. void gpsd_error_model(struct gps_device_t *session, struct gps_fix_t *fix, struct gps_fix_t *oldfix) Check we have a 2D fix (or better) and if the gps didn't provide an eph value, use the HDOP to calculate one or fail to NAN.Do the same with epv/VDOP if we have a 3D or better fix.Do the same with epe/PDOP.Consider speed error; check if we have two fixes with differing timestamps and use their times and eph values to calculate the speed.If we have two valid 3D fixes, we can calculate the climb/sink rate.Finally, just before exiting, save this fix as the old fix for the next comparison round. gps_mask_t gpsd_poll(struct gps_device_t *session) Make a call to gps_clear_fix() to prepare the newdata structure to receive data from an incoming packet.Check if we know the device type. If we do, stash the count of of characters we are able to get from it.If the read has given a full packet, we can call the subtype probing method, if the device supports it.If we don't know the device type, try and figure out what it is, exiting if we can't.Make some checks if the device is offline or the packet is incomplete, using the stashed count of characters and the full packet indicator.If a full packet is available, we try to get the fix data and update the main data structure. We also compute the DOPs so we can fill them in if they are not included in the gps device output.Mopst of the possible driver events are called from somewhere in here. void gpsd_wrap(struct gps_device_t *session) Simple call to gpsd_deactivate(session). void gpsd_zero_satellites(struct gps_data_t *out) Zero the status data for all satellites. gpsd-3.9/doc/explan_libgpsmm.cpp.xml0000664000175000017500000000105111757250540015724 0ustar esresr<filename>libgpsmm.cpp</filename> Notes based on code as of Mon Apr 5 21:38:06 2010 -0400. C++ class wrapper for the libgps C binding. gpsd-3.9/doc/explan_libgpsmm.h.xml0000664000175000017500000000102311757250540015370 0ustar esresr<filename>libgpsmm.h</filename> Notes based on code as of Mon Apr 5 21:38:06 2010 -0400. Headers for libgpsmm.cpp. gpsd-3.9/doc/explan_net_dgnss_dispatch.c.xml0000664000175000017500000000465511757250540017432 0ustar esresr<filename>dgnss.c</filename> Functions:-This file provides the interface to Differential GNSS (Global Navigation Satellite Systems) services. Notes based on code as of Mon Apr 5 21:38:06 2010 -0400. bool netgnss_url(char *name) Check if a URL is valid for GNSS/DGPS service. int netgnss_open(struct gps_context_t *context, char *dgnss_service) Try to open a connection to the nominated service. If the service cannot be opened, the return is -1. The supported services are dgpsip (differential corrections via IP) and ntrip (differential corrections in http form). int netgnss_poll(struct gps_context_t *context) Try to poll the GNSS service for a correction report. If no socket is active, simply return 0. If a socket is active, on successful read it stores the current timestamp and the report in the context buffer then returns 0. If no data is ready or an error (except EAGAIN) occurs, drop the connection and return -1. void netgnss_report(struct gps_device_t *session) Call the dgpsip_report() or ntrip_report() function if either is active. void netgnss_autoconnect(struct gps_context_t *context, double lat, double lon) Call the autoconnect() function in dgpsip.c void rtcm_relay(struct gps_device_t *session) If there is a DGNSS connection report in the context buffer, pass it to the caller. If the transaction fails, generate an error log, otherwise, update the session timestamp. gpsd-3.9/doc/explan_net_dgpsip.c.xml0000664000175000017500000000401311757250540015707 0ustar esresr<filename>dgpsip.c</filename> Functions:-This file provides the actual services for dgpsip corrections to dgnss.c. Notes based on code as of Mon Apr 5 21:38:06 2010 -0400. int dgpsip_open(struct gps_context_t *context, const char *dgpsserver) Tries to open a connection to a dgpsip server. Returns either -1 on failure or the socket number on success. On success, it initializes the connection, sends a HELO to the server and stores the type of dgnss service in the context data. void dgpsip_report(struct gps_device_t *session) If we have not contacted the server and we have at received least 10 fixes, send a report to the server and set the flag, so we don't do it again. static int srvcmp(const void *s, const void *t) Compare the distance of two servers from our location. Return -ve, 0 or +ve depending if server s is nearer, the same distance away or further away than server t. void dgpsip_autoconnect(struct gps_context_t *context, double lat, double lon, const char *serverlist) This function takes a list of servers and tries to get a connection to the closest one relative to our location. If no servers are within 1600 km or none are in the list, the dsock value is set to -2 to lock out the function. gpsd-3.9/doc/explan_net_ntrip.c.xml0000664000175000017500000000617611757250540015571 0ustar esresr<filename>ntrip.c</filename> Functions:-Gather and dispatch DGNSS data from Ntrip broadcasters. Notes based on codec as of Tue Apr 6 10:17:55 2010 -0400. static char *ntrip_field_iterate(char *start, char *prev, const char *eol) Extract individual fields from the STR data block using ';' as the separator but handling string-embedded ';' characters correctly. static void ntrip_str_parse(char *str, size_t len, struct ntrip_stream_t *hold) Break an STR data block down using ntrip_field_iterate() and store the relevant details in an accumulation buffer. static int ntrip_sourcetable_parse(int fd, char *buf, ssize_t blen, const char *stream, struct ntrip_stream_t *keep) Parse a block of ntrip data by passing the STR data to ntrip_str_parse().Return a 0 on success or -1 on any of the many possible failures. static int ntrip_stream_probe(const char *caster, const char *port, const char *stream, struct ntrip_stream_t *keep) Send a request to the broadcaster for a block of correction data.If successful, return the result of parsing the table. On error return -1. static int ntrip_auth_encode(const struct ntrip_stream_t *stream, const char *auth, char buf[], size_t size) Check the authorisation of the stream and return 0 if there is none or it is basic. Return -1 in all other cases. static int ntrip_stream_open(const char *caster, const char *port, const char *auth, struct gps_context_t *context, struct ntrip_stream_t *stream) Check the authorisation of the stream and if successful, try to connect.On connection, try to read data and test for various errors.On success, return the socket number, on error return -1. int ntrip_open(struct gps_context_t *context, char *caster) Try to establish a connection to the ntrip server. On success, return the socket number. Signal error with a return of -1. void ntrip_report(struct gps_device_t *session) If we have not contacted the server already and we have at least 10 fixes, send a report to the server and set the flag, so we don't do it again. gpsd-3.9/doc/explan_netlib.c.xml0000664000175000017500000000237511757250540015041 0ustar esresr<filename>netlib.c</filename> Functions:-This provides socket connectivity. Notes based on the code as of Mon Apr 5 21:38:06 2010 -0400. int netlib_connectsock(const char *host, const char *service, const char *protocol) This attempts to connect the to nominated service on the nominated host using the nominated protocol. On success, the return value is the socket number. On error, an appropriate system defined error code is returned. char *sock2ip(int fd) This makes a call to getpeername using the supplied fd. On success, the returned string is the ip address in dotted notation. On error, "<unknown>" is returned. gpsd-3.9/doc/explan_ntpshm.c.xml0000664000175000017500000000553011757250540015071 0ustar esresr<filename>ntpshm.c</filename> Functions:-This puts time information into a shared memory segment for the ntp daemon to use. Notes based on code as of Tue Apr 6 10:17:55 2010 -0400. static struct shmTime *getShmTime(int unit) This requests a block of shared memory to communicate to the ntp daemon. It returns a pointer to the memory on success or NULL on failure. void ntpshm_init(struct gps_context_t *context, bool enablepps) Attaches all ntp shared memory segments, flagging the availability of the NMEA and 1pps capabilities as appropriate. int ntpshm_alloc(struct gps_context_t *context) This tries to allocate a free ntp shared memory segment.If one is available, initialise it for use and flag it as in use.Returns the segment number on success or -1 on failure. bool ntpshm_free(struct gps_context_t *context, int segment) This tries to release a previously allocated ntp shared memory segment. Indicates the outcome by returning true (success) or false. int ntpshm_put(struct gps_device_t *session, double fixtime) If the shared memory index allocated to the session is valid and the shmTime structure of the session is valid, store the time of the fix.Success is indicated by a return value of 1 and errors are indicated by a return value of 0. int ntpshm_pps(struct gps_device_t *session, struct timeval *tv) This code is only available if the 1PPS function is compiled in.The shared memory structures are checked for validity and if not valid, a 0 is returned.The time received is then checked to be within 100 milliseconds of the PC's internal time and if not, a -1 is returned.The time received is then checked to be within 500 milliseconds of the second boundary and if not, the shared memory structure is advised that lock is lost and a -1 is returned.If good, the time is stored in the shared memory and 1 is returned. gpsd-3.9/doc/explan_packet.c.xml0000664000175000017500000000735511757250540015036 0ustar esresr<filename>packet.c</filename> Functions:-The packet-sniffing engine for reading data packets from GPS devices. Notes based on code as of Tue Apr 6 10:17:55 2010 -0400. static void nextstate(struct gps_packet_t *lexer, unsigned char c) This is the main packet-sniffer loop. It scans the character against the definitions of all the packet structures known to gpsd and, if possible, sets a new packet state.If the state is xxx_RECOGNIZED, the packet_parse routine will despatch the packet to the appropriate driver. static void packet_accept(struct gps_packet_t *lexer, int packet_type) This shifts a packet that has been recognized into the output buffer, provided it is not bigger than the buffer. static void packet_discard(struct gps_packet_t *lexer) This clears a handled packet out of the input buffer. static void character_discard(struct gps_packet_t *lexer) This is called if the nextstate() function returns GROUND_STATE.In this case the character does not match any pattern, so to discard it, the input buffer is shifted back by one character to overwrite the bad character. ssize_t packet_parse(struct gps_packet_t *lexer, size_t fix) Call the nextstate() function to process the available data and set the recognition state correctly.When a packet is matched to a driver, call packet_accept() and packet_discard() to handle the packet. If it is not matched, call packet_discard() and set the state to GROUND_STATEReturn the number of characters handled. ssize_t packet_get(int fd, struct gps_packet_t *lexer) Reads raw data from the input port.Returns the number of characters read (0 or more) or BAD_PACKET if there was an error in reading.Errors EAGAIN and EINTR are not classed as failures and cause a return of 0.In case of a good read of more than 0 characters, the return value is the output from a call to packet_parse(). void packet_reset(struct gps_packet_t *lexer) This simply resets the entire packet state machine to the ground state. void packet_nit(struct gps_packet_t *lexer) Zeros some counters, then resets the entire packet state machine to the ground state. void packet_pushback(struct gps_packet_t *lexer) This pushes back the last packet from the output buffer to the input buffer, provided doing so would not overflow the input buffer. gpsd-3.9/doc/explan_packet_names.h.xml0000664000175000017500000000144711757250540016222 0ustar esresr<filename>packet_names.h</filename> Notes based on code as of Tue Apr 6 10:17:55 2010 -0400. This is a file generated by the make process from packet_states.h. It takes all the state names in that file and surrounds them with speech marks. These values are read into a table of packet names, state_table[], in packet.c. gpsd-3.9/doc/explan_packet_states.h.xml0000664000175000017500000000141111757250540016411 0ustar esresr<filename>packet_states.h</filename> Notes based on code as of .Tue Apr 6 10:17:55 2010 -0400 This is a list of every possible state generated by every driver. The inclusion of each driver's states is controlled by #ifdef blocks, so we only include the states for drivers selected for compilation. These form an enumeration list in packet.c which indexes the state_table[] array mentioned in packet_names.h. gpsd-3.9/doc/explan_pseudonmea.c.xml0000664000175000017500000000524111757250540015717 0ustar esresr<filename>libgpsd_core.c</filename> Functions:-Generate pseudo-NMEA corresponding to binary packet reports Notes based on code as of Mon Apr 5 21:38:06 2010 -0400. static double degtodm(double a) Converts a fractional degree value (like 125.3567) into an NMEA field as dddmm.xxx (like 12521.402). void gpsd_position_fix_dump(struct gps_device_t *session, /char bufp[], size_t len) If possible, create a $GPGGA message (full time, position and fix data) from the fix data, taking care about the validity of subsidiary fields like HDOP and altitude. static void gpsd_transit_fix_dump(struct gps_device_t *session, char bufp[], size_t len) Create a $GPRMC message (minimum navigation data) from the fix data. static void gpsd_binary_fix_dump(struct gps_device_t *session, char bufp[], size_t len) Make a call to gpsd_position_fix_dump() and gpsd_transit_fix_dump(). static void gpsd_binary_satellite_dump(struct gps_device_t *session, char bufp[], size_t len) Create one or more $GPGSV messages from the status data of all satellites we know about. static void gpsd_binary_quality_dump(struct gps_device_t *session, char bufp[], size_t len) Create a $GPGSA message taking care that if any xDOP is not valid, we substitute a 0.0 value.If any of the error estimates is available, generate a $PGRME message again taking care about possibly invalid values. static void gpsd_binary_dump(struct gps_device_t *session, char bufp[], size_t len) Dump such binary data as we have available; a fix, a quality value and a satellite status block. Each is enabled by the appropriate status bits in the session mask variable. gpsd-3.9/doc/explan_serial.c.xml0000664000175000017500000001142311757250540015035 0ustar esresr<filename>serial.c</filename> Functions:-This provides serial port handling services to the daemon. It handles the tricky task of scanning for and changing port parameters, especially baudrate. Notes based on code as of Tue Apr 6 10:17:55 2010 -0400. void gpsd_tty_init(struct gps_device_t *session) To be called on allocating a device. Mark GPS fd closed and its baud rate unknown.If we are supporting ntpd shared memory segments, ensure they are initially unused. void cfmakeraw(struct termios *termios_p) Workaround for Cygwin, which is missing cfmakeraw(). It is pasted from man page and added in serial.c arbitrarily. speed_t gpsd_get_speed(struct termios* ttyctl) Calls cfgetospeed() and returns the baud rate, if known. Default otherwise is 115200. bool gpsd_set_raw(struct gps_device_t *session) Tries to set port to raw mode and returns success or not. void gpsd_set_speed(struct gps_device_t *session, speed_t speed, unsigned char parity, unsigned int stopbits) Sets the speed, parity and stopbits.Lots of black magic fiddling goes on to ensure the port is flushed on the baud rate change and wakeup strings are fired off just in case the device needs prodding into life.READ THE CODE AND COMMENTS!!!Prior to exit, a call is made to packet_reset() to ensure the packet state machine is initialised. int gpsd_open(struct gps_device_t *session) Test the device and flag it as R/W if it is a character device, or R/O if it isn't.Try to open it in non-blocking and no-control mode.If that fails, try again, adding read-only mode. If that also fails, exit with an error.On no error, force the saved baudrate if we have a fixed port speed (typically embedded devices). Check if we have a saved baudrate and if so, activate it.Preset the packet type to BAD_PACKET.Check if the device we have opened is a tty. If it is a tty, read the original terminal parameters.Exit with an error code -1 on failure to do so.Save the old parameters, set important control flags, then set the speed.Finally, return the allocated fd. bool gpsd_write(struct gps_device_t *session, void const *buf, size_t len) If the device is read-only, simply return 0.If not, try to write len characters to the device. Waiting until all data has been sent.Return the number of bytes written. bool gpsd_next_hunt_setting(struct gps_device_t *session) Check if we have had SNIFF_RETRIES attempts at current baudrate. If not, return true.If we have exceeded the limit, reset the counter and see if there are any more rates to try at.If no (fixed baudrate or all attempts exhausted), return false, otherwise, set the next speed and return true. void gpsd_assert_sync(struct gps_device_t *session) To be called when we want to register that we've synced with a device. We've achieved first sync with the device. Remember the baudrate so we can try it first next time this device is opened. void gpsd_close(struct gps_device_t *session) If there is an active fd, check if it is a tty device. If it is, force the baudrate to 0 (should terminate the connection and de-assert control lines). Set the HUPCL flag in the original data, write the old data to the port, close the fd and clear that fd number from the session data. gpsd-3.9/doc/explan_subframe.c.xml0000664000175000017500000000141611757250540015363 0ustar esresr<filename>subframe.c</filename> Functions:-This code interprets satellite RTCM-104 subframe data. Notes based on code as of .Tue Apr 6 10:17:55 2010 -0400. void gpsd_interpret_subframe(struct gps_device_t *session,unsigned int words[]) Extracts leap-second from RTCM-104 subframe data. gpsd-3.9/doc/explan_timebase.h.xml0000664000175000017500000000206611757250540015357 0ustar esresr<filename>timebase.h</filename> Functions:-Contains date and time related constants that will require patching over time. Notes based on Tue Apr 6 10:17:55 2010 -0400 LEAP_SECONDS Offset between GPS and UTC, in seconds. START_SUBFRAME When to start doing subframe queries to get the leap-second offset. Should be set to the next possible time for a leap-second change according to IERS. CENTURY_BASE Currently 2000 gpsd-3.9/doc/explan_wrapup.xml0000664000175000017500000000024111757250540014647 0ustar esresr Signoff Mick Durkin <mick.durkin@saunalahti.fi> Helsinki November 2007 gpsd-3.9/doc/internals.xml0000664000175000017500000001032411762140434013760 0ustar esresr ]>

A Tour of the GPSD Internals Mick Durkin 2.2 25 Jan 2011 esr The raw_hook member is gone. 2.1 6 April 2010 esr Updated to match current reality, as far as it goes. Some newer parts of the codebase, notably the JSON parsing machinery and AIS support, aren't documented. 2.0 14 November 2007 md Updated to version svn revision 4420 These notes are meant as an aid to reading and understanding some of the main code files forming the gpsd daemon and its support libraries. They are not a line-by-line explanation but only pick out the important (or unusual) aspects of the code.They do not address the many programs that are used for test purposes, the individual device driver files or any of the supplied applications that use gpsd. This guide was written before the move to a JSON-based protocol and before AIS support was added. While the information on the rest of the code has been updated, the machinery relating to JSON and AIS is not yet documented here. &bits.h; &dbusexport.c; &driver_nmea.c; &driver_proto.c; &driver_rtcm2.c; &drivers.c; &geoid.c; &gps.h; &gpsd.c; &gpsd.h; &gpsd_report.c; &gpsdclient.c; &gpsutils.c; &isgps.c; &libgps_core.c; &libgpsd_core.c; &libgpsmm.cpp; &libgpsmm.h; &net_dgnss_dispatch.c; &net_dgpsip.c; &net_ntrip.c; &netlib.c; &ntpshm.c; &packet.c; &packet_names.h; &packet_states.h; &pseudonmea.c; &serial.c; &subframe.c; &timebase.h; &wrapup;
gpsd-3.9/driver_ais.c0000664000175000017500000010567412110356005012771 0ustar esresr/* * Driver for AIS messages. * * See the file AIVDM.txt on the GPSD website for documentation and references. * AIVDM de-armoring is handled elsewhere; this is the binary-packet driver. * * Code for message types 1-15, 18-21, and 24 has been tested against * live data with known-good decodings. Code for message types 16-17, * 22-23, and 25-27 has not. * For the special IMO messages (types 6 and 8), only the following have been * tested against known-good decodings: * - IMO236 met/hydro message: Type=8, DAC=1, FI=11 * - IMO289 met/hydro message: Type=8, DAC=1, FI=31 * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include "gpsd.h" #include "bits.h" /* * Parse the data from the device */ static void from_sixbit(unsigned char *bitvec, uint start, int count, char *to) { /*@ +type @*/ #ifdef S_SPLINT_S /* the real string causes a splint internal error */ const char sixchr[] = "abcd"; #else const char sixchr[64] = "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^- !\"#$%&'()*+,-./0123456789:;<=>?"; #endif /* S_SPLINT_S */ int i; char newchar; /* six-bit to ASCII */ for (i = 0; i < count - 1; i++) { newchar = sixchr[ubits(bitvec, start + 6 * i, 6U, false)]; if (newchar == '@') break; else to[i] = newchar; } to[i] = '\0'; /* trim spaces on right end */ for (i = count - 2; i >= 0; i--) if (to[i] == ' ' || to[i] == '@') to[i] = '\0'; else break; /*@ -type @*/ } /*@ +charint @*/ bool ais_binary_decode(struct ais_t *ais, const unsigned char *bits, size_t bitlen, struct ais_type24_queue_t *type24_queue) /* decode an AIS binary packet */ { bool imo; unsigned int u; int i; #define BITS_PER_BYTE 8 #define UBITS(s, l) ubits((unsigned char *)bits, s, l, false) #define SBITS(s, l) sbits((signed char *)bits, s, l, false) #define UCHARS(s, to) from_sixbit((unsigned char *)bits, s, sizeof(to), to) ais->type = UBITS(0, 6); ais->repeat = UBITS(6, 2); ais->mmsi = UBITS(8, 30); gpsd_report(LOG_INF, "AIVDM message type %d, MMSI %09d:\n", ais->type, ais->mmsi); /* * Something about the shape of this switch statement confuses * GNU indent so badly that there is no point in trying to be * finer-grained than leaving it all alone. */ /* *INDENT-OFF* */ switch (ais->type) { case 1: /* Position Report */ case 2: case 3: if (bitlen != 168) { gpsd_report(LOG_WARN, "AIVDM message type %d size not 168 bits (%zd).\n", ais->type, bitlen); return false; } ais->type1.status = UBITS(38, 4); ais->type1.turn = SBITS(42, 8); ais->type1.speed = UBITS(50, 10); ais->type1.accuracy = UBITS(60, 1)!=0; ais->type1.lon = SBITS(61, 28); ais->type1.lat = SBITS(89, 27); ais->type1.course = UBITS(116, 12); ais->type1.heading = UBITS(128, 9); ais->type1.second = UBITS(137, 6); ais->type1.maneuver = UBITS(143, 2); //ais->type1.spare = UBITS(145, 3); ais->type1.raim = UBITS(148, 1)!=0; ais->type1.radio = UBITS(149, 20); break; case 4: /* Base Station Report */ case 11: /* UTC/Date Response */ if (bitlen != 168) { gpsd_report(LOG_WARN, "AIVDM message type %d size not 168 bits (%zd).\n", ais->type, bitlen); return false; } ais->type4.year = UBITS(38, 14); ais->type4.month = UBITS(52, 4); ais->type4.day = UBITS(56, 5); ais->type4.hour = UBITS(61, 5); ais->type4.minute = UBITS(66, 6); ais->type4.second = UBITS(72, 6); ais->type4.accuracy = UBITS(78, 1)!=0; ais->type4.lon = SBITS(79, 28); ais->type4.lat = SBITS(107, 27); ais->type4.epfd = UBITS(134, 4); //ais->type4.spare = UBITS(138, 10); ais->type4.raim = UBITS(148, 1)!=0; ais->type4.radio = UBITS(149, 19); break; case 5: /* Ship static and voyage related data */ if (bitlen != 424) { gpsd_report(LOG_WARN, "AIVDM message type 5 size not 424 bits (%zd).\n", bitlen); return false; } ais->type5.ais_version = UBITS(38, 2); ais->type5.imo = UBITS(40, 30); UCHARS(70, ais->type5.callsign); UCHARS(112, ais->type5.shipname); ais->type5.shiptype = UBITS(232, 8); ais->type5.to_bow = UBITS(240, 9); ais->type5.to_stern = UBITS(249, 9); ais->type5.to_port = UBITS(258, 6); ais->type5.to_starboard = UBITS(264, 6); ais->type5.epfd = UBITS(270, 4); ais->type5.month = UBITS(274, 4); ais->type5.day = UBITS(278, 5); ais->type5.hour = UBITS(283, 5); ais->type5.minute = UBITS(288, 6); ais->type5.draught = UBITS(294, 8); UCHARS(302, ais->type5.destination); ais->type5.dte = UBITS(422, 1); //ais->type5.spare = UBITS(423, 1); break; case 6: /* Addressed Binary Message */ if (bitlen < 88 || bitlen > 1008) { gpsd_report(LOG_WARN, "AIVDM message type 6 size is out of range (%zd).\n", bitlen); return false; } ais->type6.seqno = UBITS(38, 2); ais->type6.dest_mmsi = UBITS(40, 30); ais->type6.retransmit = UBITS(70, 1)!=0; //ais->type6.spare = UBITS(71, 1); ais->type6.dac = UBITS(72, 10); ais->type6.fid = UBITS(82, 6); ais->type6.bitcount = bitlen - 88; imo = false; /* UK and Republic Of Ireland */ if (ais->type6.dac == 235 || ais->type6.dac == 250) { switch (ais->type6.fid) { case 10: /* GLA - AtoN monitoring data */ ais->type6.dac235fid10.ana_int = UBITS(88, 10); ais->type6.dac235fid10.ana_ext1 = UBITS(98, 10); ais->type6.dac235fid10.ana_ext2 = UBITS(108, 10); ais->type6.dac235fid10.racon = UBITS(118, 2); ais->type6.dac235fid10.light = UBITS(120, 2); ais->type6.dac235fid10.alarm = UBITS(122, 1); ais->type6.dac235fid10.stat_ext = UBITS(123, 8); ais->type6.dac235fid10.off_pos = UBITS(131, 1); /* skip 4 bits */ imo = true; } break; } /* International */ else if (ais->type6.dac == 1) switch (ais->type6.fid) { case 12: /* IMO236 - Dangerous cargo indication */ UCHARS(88, ais->type6.dac1fid12.lastport); ais->type6.dac1fid12.lmonth = UBITS(118, 4); ais->type6.dac1fid12.lday = UBITS(122, 5); ais->type6.dac1fid12.lhour = UBITS(127, 5); ais->type6.dac1fid12.lminute = UBITS(132, 6); UCHARS(138, ais->type6.dac1fid12.nextport); ais->type6.dac1fid12.nmonth = UBITS(168, 4); ais->type6.dac1fid12.nday = UBITS(172, 5); ais->type6.dac1fid12.nhour = UBITS(177, 5); ais->type6.dac1fid12.nminute = UBITS(182, 6); UCHARS(188, ais->type6.dac1fid12.dangerous); UCHARS(308, ais->type6.dac1fid12.imdcat); ais->type6.dac1fid12.unid = UBITS(332, 13); ais->type6.dac1fid12.amount = UBITS(345, 10); ais->type6.dac1fid12.unit = UBITS(355, 2); /* skip 3 bits */ imo = true; break; case 14: /* IMO236 - Tidal Window */ ais->type6.dac1fid32.month = UBITS(88, 4); ais->type6.dac1fid32.day = UBITS(92, 5); #define ARRAY_BASE 97 #define ELEMENT_SIZE 93 for (u = 0; ARRAY_BASE + (ELEMENT_SIZE*u) <= bitlen; u++) { int a = ARRAY_BASE + (ELEMENT_SIZE*u); struct tidal_t *tp = &ais->type6.dac1fid32.tidals[u]; tp->lat = SBITS(a + 0, 27); tp->lon = SBITS(a + 27, 28); tp->from_hour = UBITS(a + 55, 5); tp->from_min = UBITS(a + 60, 6); tp->to_hour = UBITS(a + 66, 5); tp->to_min = UBITS(a + 71, 6); tp->cdir = UBITS(a + 77, 9); tp->cspeed = UBITS(a + 86, 7); } ais->type6.dac1fid32.ntidals = u; #undef ARRAY_BASE #undef ELEMENT_SIZE imo = true; break; case 15: /* IMO236 - Extended Ship Static and Voyage Related Data */ ais->type6.dac1fid15.airdraught = UBITS(56, 11); imo = true; break; case 16: /* IMO236 - Number of persons on board */ if (ais->type6.bitcount == 136) ais->type6.dac1fid16.persons = UBITS(88, 13);/* 289 */ else ais->type6.dac1fid16.persons = UBITS(55, 13);/* 236 */ imo = true; break; case 18: /* IMO289 - Clearance time to enter port */ ais->type6.dac1fid18.linkage = UBITS(88, 10); ais->type6.dac1fid18.month = UBITS(98, 4); ais->type6.dac1fid18.day = UBITS(102, 5); ais->type6.dac1fid18.hour = UBITS(107, 5); ais->type6.dac1fid18.minute = UBITS(112, 6); UCHARS(118, ais->type6.dac1fid18.portname); UCHARS(238, ais->type6.dac1fid18.destination); ais->type6.dac1fid18.lon = SBITS(268, 25); ais->type6.dac1fid18.lat = SBITS(293, 24); /* skip 43 bits */ imo = true; break; case 20: /* IMO289 - Berthing data - addressed */ ais->type6.dac1fid20.linkage = UBITS(88, 10); ais->type6.dac1fid20.berth_length = UBITS(98, 9); ais->type6.dac1fid20.berth_depth = UBITS(107, 8); ais->type6.dac1fid20.position = UBITS(115, 3); ais->type6.dac1fid20.month = UBITS(118, 4); ais->type6.dac1fid20.day = UBITS(122, 5); ais->type6.dac1fid20.hour = UBITS(127, 5); ais->type6.dac1fid20.minute = UBITS(132, 6); ais->type6.dac1fid20.availability = UBITS(138, 1); ais->type6.dac1fid20.agent = UBITS(139, 2); ais->type6.dac1fid20.fuel = UBITS(141, 2); ais->type6.dac1fid20.chandler = UBITS(143, 2); ais->type6.dac1fid20.stevedore = UBITS(145, 2); ais->type6.dac1fid20.electrical = UBITS(147, 2); ais->type6.dac1fid20.water = UBITS(149, 2); ais->type6.dac1fid20.customs = UBITS(151, 2); ais->type6.dac1fid20.cartage = UBITS(153, 2); ais->type6.dac1fid20.crane = UBITS(155, 2); ais->type6.dac1fid20.lift = UBITS(157, 2); ais->type6.dac1fid20.medical = UBITS(159, 2); ais->type6.dac1fid20.navrepair = UBITS(161, 2); ais->type6.dac1fid20.provisions = UBITS(163, 2); ais->type6.dac1fid20.shiprepair = UBITS(165, 2); ais->type6.dac1fid20.surveyor = UBITS(167, 2); ais->type6.dac1fid20.steam = UBITS(169, 2); ais->type6.dac1fid20.tugs = UBITS(171, 2); ais->type6.dac1fid20.solidwaste = UBITS(173, 2); ais->type6.dac1fid20.liquidwaste = UBITS(175, 2); ais->type6.dac1fid20.hazardouswaste = UBITS(177, 2); ais->type6.dac1fid20.ballast = UBITS(179, 2); ais->type6.dac1fid20.additional = UBITS(181, 2); ais->type6.dac1fid20.regional1 = UBITS(183, 2); ais->type6.dac1fid20.regional2 = UBITS(185, 2); ais->type6.dac1fid20.future1 = UBITS(187, 2); ais->type6.dac1fid20.future2 = UBITS(189, 2); UCHARS(191, ais->type6.dac1fid20.berth_name); ais->type6.dac1fid20.berth_lon = SBITS(311, 25); ais->type6.dac1fid20.berth_lat = SBITS(336, 24); imo = true; break; case 23: /* IMO289 - Area notice - addressed */ break; case 25: /* IMO289 - Dangerous cargo indication */ ais->type6.dac1fid25.unit = UBITS(88, 2); ais->type6.dac1fid25.amount = UBITS(90, 10); for (u = 0; 100 + u*17 < bitlen; u++) { ais->type6.dac1fid25.cargos[u].code = UBITS(100+u*17,4); ais->type6.dac1fid25.cargos[u].subtype = UBITS(104+u*17,13); } ais->type6.dac1fid25.ncargos = u; imo = true; break; case 28: /* IMO289 - Route info - addressed */ ais->type6.dac1fid28.linkage = UBITS(88, 10); ais->type6.dac1fid28.sender = UBITS(98, 3); ais->type6.dac1fid28.rtype = UBITS(101, 5); ais->type6.dac1fid28.month = UBITS(106, 4); ais->type6.dac1fid28.day = UBITS(110, 5); ais->type6.dac1fid28.hour = UBITS(115, 5); ais->type6.dac1fid28.minute = UBITS(120, 6); ais->type6.dac1fid28.duration = UBITS(126, 18); ais->type6.dac1fid28.waycount = UBITS(144, 5); #define ARRAY_BASE 149 #define ELEMENT_SIZE 55 for (u = 0; u < (unsigned char)ais->type6.dac1fid28.waycount; u++) { int a = ARRAY_BASE + (ELEMENT_SIZE*u); ais->type6.dac1fid28.waypoints[u].lon = SBITS(a+0, 28); ais->type6.dac1fid28.waypoints[u].lat = SBITS(a+28,27); } #undef ARRAY_BASE #undef ELEMENT_SIZE imo = true; break; case 30: /* IMO289 - Text description - addressed */ ais->type6.dac1fid30.linkage = UBITS(88, 10); from_sixbit((unsigned char *)bits, 98, bitlen-98, ais->type6.dac1fid30.text); imo = true; break; case 32: /* IMO289 - Tidal Window */ ais->type6.dac1fid32.month = UBITS(88, 4); ais->type6.dac1fid32.day = UBITS(92, 5); #define ARRAY_BASE 97 #define ELEMENT_SIZE 88 for (u = 0; ARRAY_BASE + (ELEMENT_SIZE*u) <= bitlen; u++) { int a = ARRAY_BASE + (ELEMENT_SIZE*u); struct tidal_t *tp = &ais->type6.dac1fid32.tidals[u]; tp->lon = SBITS(a + 0, 25); tp->lat = SBITS(a + 25, 24); tp->from_hour = UBITS(a + 49, 5); tp->from_min = UBITS(a + 54, 6); tp->to_hour = UBITS(a + 60, 5); tp->to_min = UBITS(a + 65, 6); tp->cdir = UBITS(a + 71, 9); tp->cspeed = UBITS(a + 80, 8); } ais->type6.dac1fid32.ntidals = u; #undef ARRAY_BASE #undef ELEMENT_SIZE imo = true; break; } if (!imo) (void)memcpy(ais->type6.bitdata, (char *)bits + (88 / BITS_PER_BYTE), (ais->type6.bitcount + 7) / 8); break; case 7: /* Binary acknowledge */ case 13: /* Safety Related Acknowledge */ { unsigned int mmsi[4]; if (bitlen < 72 || bitlen > 158) { gpsd_report(LOG_WARN, "AIVDM message type %d size is out of range (%zd).\n", ais->type, bitlen); return false; } for (u = 0; u < sizeof(mmsi)/sizeof(mmsi[0]); u++) if (bitlen > 40 + 32*u) mmsi[u] = UBITS(40 + 32*u, 30); else mmsi[u] = 0; /*@ -usedef @*/ ais->type7.mmsi1 = mmsi[0]; ais->type7.mmsi2 = mmsi[1]; ais->type7.mmsi3 = mmsi[2]; ais->type7.mmsi4 = mmsi[3]; /*@ +usedef @*/ break; } case 8: /* Binary Broadcast Message */ if (bitlen < 56 || bitlen > 1008) { gpsd_report(LOG_WARN, "AIVDM message type 8 size is out of range (%zd).\n", bitlen); return false; } //ais->type8.spare = UBITS(38, 2); ais->type8.dac = UBITS(40, 10); ais->type8.fid = UBITS(50, 6); ais->type8.bitcount = bitlen - 56; imo = false; if (ais->type8.dac == 1) switch (ais->type8.fid) { case 11: /* IMO236 - Meteorological/Hydrological data */ /* layout is almost identical to FID=31 from IMO289 */ ais->type8.dac1fid11.lat = SBITS(56, 24); ais->type8.dac1fid11.lon = SBITS(80, 25); ais->type8.dac1fid11.day = UBITS(105, 5); ais->type8.dac1fid11.hour = UBITS(110, 5); ais->type8.dac1fid11.minute = UBITS(115, 6); ais->type8.dac1fid11.wspeed = UBITS(121, 7); ais->type8.dac1fid11.wgust = UBITS(128, 7); ais->type8.dac1fid11.wdir = UBITS(135, 9); ais->type8.dac1fid11.wgustdir = UBITS(144, 9); ais->type8.dac1fid11.airtemp = UBITS(153, 11); ais->type8.dac1fid11.humidity = UBITS(164, 7); ais->type8.dac1fid11.dewpoint = UBITS(171, 10); ais->type8.dac1fid11.pressure = UBITS(181, 9); ais->type8.dac1fid11.pressuretend = UBITS(190, 2); ais->type8.dac1fid11.visibility = UBITS(192, 8); ais->type8.dac1fid11.waterlevel = UBITS(200, 9); ais->type8.dac1fid11.leveltrend = UBITS(209, 2); ais->type8.dac1fid11.cspeed = UBITS(211, 8); ais->type8.dac1fid11.cdir = UBITS(219, 9); ais->type8.dac1fid11.cspeed2 = UBITS(228, 8); ais->type8.dac1fid11.cdir2 = UBITS(236, 9); ais->type8.dac1fid11.cdepth2 = UBITS(245, 5); ais->type8.dac1fid11.cspeed3 = UBITS(250, 8); ais->type8.dac1fid11.cdir3 = UBITS(258, 9); ais->type8.dac1fid11.cdepth3 = UBITS(267, 5); ais->type8.dac1fid11.waveheight = UBITS(272, 8); ais->type8.dac1fid11.waveperiod = UBITS(280, 6); ais->type8.dac1fid11.wavedir = UBITS(286, 9); ais->type8.dac1fid11.swellheight = UBITS(295, 8); ais->type8.dac1fid11.swellperiod = UBITS(303, 6); ais->type8.dac1fid11.swelldir = UBITS(309, 9); ais->type8.dac1fid11.seastate = UBITS(318, 4); ais->type8.dac1fid11.watertemp = UBITS(322, 10); ais->type8.dac1fid11.preciptype = UBITS(332, 3); ais->type8.dac1fid11.salinity = UBITS(335, 9); ais->type8.dac1fid11.ice = UBITS(344, 2); imo = true; break; case 13: /* IMO236 - Fairway closed */ UCHARS(56, ais->type8.dac1fid13.reason); UCHARS(176, ais->type8.dac1fid13.closefrom); UCHARS(296, ais->type8.dac1fid13.closeto); ais->type8.dac1fid13.radius = UBITS(416, 10); ais->type8.dac1fid13.extunit = UBITS(426, 2); ais->type8.dac1fid13.fday = UBITS(428, 5); ais->type8.dac1fid13.fmonth = UBITS(433, 4); ais->type8.dac1fid13.fhour = UBITS(437, 5); ais->type8.dac1fid13.fminute = UBITS(442, 6); ais->type8.dac1fid13.tday = UBITS(448, 5); ais->type8.dac1fid13.tmonth = UBITS(453, 4); ais->type8.dac1fid13.thour = UBITS(457, 5); ais->type8.dac1fid13.tminute = UBITS(462, 6); /* skip 4 bits */ imo = true; break; case 15: /* IMO236 - Extended ship and voyage */ ais->type8.dac1fid15.airdraught = UBITS(56, 11); /* skip 5 bits */ imo = true; break; case 17: /* IMO289 - VTS-generated/synthetic targets */ #define ARRAY_BASE 56 #define ELEMENT_SIZE 122 for (u = 0; ARRAY_BASE + (ELEMENT_SIZE*u) <= bitlen; u++) { struct target_t *tp = &ais->type8.dac1fid17.targets[u]; int a = ARRAY_BASE + (ELEMENT_SIZE*u); tp->idtype = UBITS(a + 0, 2); switch (tp->idtype) { case DAC1FID17_IDTYPE_MMSI: tp->id.mmsi = UBITS(a + 2, 42); break; case DAC1FID17_IDTYPE_IMO: tp->id.imo = UBITS(a + 2, 42); break; case DAC1FID17_IDTYPE_CALLSIGN: UCHARS(a+2, tp->id.callsign); break; default: UCHARS(a+2, tp->id.other); break; } /* skip 4 bits */ tp->lat = SBITS(a + 48, 24); tp->lon = SBITS(a + 72, 25); tp->course = UBITS(a + 97, 9); tp->second = UBITS(a + 106, 6); tp->speed = UBITS(a + 112, 10); } ais->type8.dac1fid17.ntargets = u; #undef ARRAY_BASE #undef ELEMENT_SIZE imo = true; break; case 19: /* IMO289 - Marine Traffic Signal */ ais->type8.dac1fid19.linkage = UBITS(56, 10); UCHARS(66, ais->type8.dac1fid19.station); ais->type8.dac1fid19.lon = SBITS(186, 25); ais->type8.dac1fid19.lat = SBITS(211, 24); ais->type8.dac1fid19.status = UBITS(235, 2); ais->type8.dac1fid19.signal = UBITS(237, 5); ais->type8.dac1fid19.hour = UBITS(242, 5); ais->type8.dac1fid19.minute = UBITS(247, 6); ais->type8.dac1fid19.nextsignal = UBITS(253, 5); /* skip 102 bits */ imo = true; break; case 21: /* IMO289 - Weather obs. report from ship */ break; case 22: /* IMO289 - Area notice - broadcast */ break; case 24: /* IMO289 - Extended ship static & voyage-related data */ break; case 26: /* IMO289 - Environmental */ break; case 27: /* IMO289 - Route information - broadcast */ ais->type8.dac1fid27.linkage = UBITS(56, 10); ais->type8.dac1fid27.sender = UBITS(66, 3); ais->type8.dac1fid27.rtype = UBITS(69, 5); ais->type8.dac1fid27.month = UBITS(74, 4); ais->type8.dac1fid27.day = UBITS(78, 5); ais->type8.dac1fid27.hour = UBITS(83, 5); ais->type8.dac1fid27.minute = UBITS(88, 6); ais->type8.dac1fid27.duration = UBITS(94, 18); ais->type8.dac1fid27.waycount = UBITS(112, 5); #define ARRAY_BASE 117 #define ELEMENT_SIZE 55 for (i = 0; i < ais->type8.dac1fid27.waycount; i++) { int a = ARRAY_BASE + (ELEMENT_SIZE*i); ais->type8.dac1fid27.waypoints[i].lon = SBITS(a + 0, 28); ais->type8.dac1fid27.waypoints[i].lat = SBITS(a + 28, 27); } #undef ARRAY_BASE #undef ELEMENT_SIZE imo = true; break; case 29: /* IMO289 - Text Description - broadcast */ ais->type8.dac1fid29.linkage = UBITS(56, 10); from_sixbit((unsigned char *)bits, 66, bitlen-66, ais->type8.dac1fid29.text); imo = true; break; case 31: /* IMO289 - Meteorological/Hydrological data */ ais->type8.dac1fid31.lon = SBITS(56, 25); ais->type8.dac1fid31.lat = SBITS(81, 24); ais->type8.dac1fid31.accuracy = (bool)UBITS(105, 1); ais->type8.dac1fid31.day = UBITS(106, 5); ais->type8.dac1fid31.hour = UBITS(111, 5); ais->type8.dac1fid31.minute = UBITS(116, 6); ais->type8.dac1fid31.wspeed = UBITS(122, 7); ais->type8.dac1fid31.wgust = UBITS(129, 7); ais->type8.dac1fid31.wdir = UBITS(136, 9); ais->type8.dac1fid31.wgustdir = UBITS(145, 9); ais->type8.dac1fid31.airtemp = SBITS(154, 11); ais->type8.dac1fid31.humidity = UBITS(165, 7); ais->type8.dac1fid31.dewpoint = SBITS(172, 10); ais->type8.dac1fid31.pressure = UBITS(182, 9); ais->type8.dac1fid31.pressuretend = UBITS(191, 2); ais->type8.dac1fid31.visgreater = UBITS(193, 1); ais->type8.dac1fid31.visibility = UBITS(194, 7); ais->type8.dac1fid31.waterlevel = UBITS(201, 12); ais->type8.dac1fid31.leveltrend = UBITS(213, 2); ais->type8.dac1fid31.cspeed = UBITS(215, 8); ais->type8.dac1fid31.cdir = UBITS(223, 9); ais->type8.dac1fid31.cspeed2 = UBITS(232, 8); ais->type8.dac1fid31.cdir2 = UBITS(240, 9); ais->type8.dac1fid31.cdepth2 = UBITS(249, 5); ais->type8.dac1fid31.cspeed3 = UBITS(254, 8); ais->type8.dac1fid31.cdir3 = UBITS(262, 9); ais->type8.dac1fid31.cdepth3 = UBITS(271, 5); ais->type8.dac1fid31.waveheight = UBITS(276, 8); ais->type8.dac1fid31.waveperiod = UBITS(284, 6); ais->type8.dac1fid31.wavedir = UBITS(290, 9); ais->type8.dac1fid31.swellheight = UBITS(299, 8); ais->type8.dac1fid31.swellperiod = UBITS(307, 6); ais->type8.dac1fid31.swelldir = UBITS(313, 9); ais->type8.dac1fid31.seastate = UBITS(322, 4); ais->type8.dac1fid31.watertemp = SBITS(326, 10); ais->type8.dac1fid31.preciptype = UBITS(336, 3); ais->type8.dac1fid31.salinity = UBITS(339, 9); ais->type8.dac1fid31.ice = UBITS(348, 2); imo = true; break; } /* land here if we failed to match a known DAC/FID */ if (!imo) (void)memcpy(ais->type8.bitdata, (char *)bits + (56 / BITS_PER_BYTE), (ais->type8.bitcount + 7) / 8); break; case 9: /* Standard SAR Aircraft Position Report */ if (bitlen != 168) { gpsd_report(LOG_WARN, "AIVDM message type 9 size not 168 bits (%zd).\n", bitlen); return false; } ais->type9.alt = UBITS(38, 12); ais->type9.speed = UBITS(50, 10); ais->type9.accuracy = (bool)UBITS(60, 1); ais->type9.lon = SBITS(61, 28); ais->type9.lat = SBITS(89, 27); ais->type9.course = UBITS(116, 12); ais->type9.second = UBITS(128, 6); ais->type9.regional = UBITS(134, 8); ais->type9.dte = UBITS(142, 1); //ais->type9.spare = UBITS(143, 3); ais->type9.assigned = UBITS(146, 1)!=0; ais->type9.raim = UBITS(147, 1)!=0; ais->type9.radio = UBITS(148, 19); break; case 10: /* UTC/Date inquiry */ if (bitlen != 72) { gpsd_report(LOG_WARN, "AIVDM message type 10 size not 72 bits (%zd).\n", bitlen); return false; } //ais->type10.spare = UBITS(38, 2); ais->type10.dest_mmsi = UBITS(40, 30); //ais->type10.spare2 = UBITS(70, 2); break; case 12: /* Safety Related Message */ if (bitlen < 72 || bitlen > 1008) { gpsd_report(LOG_WARN, "AIVDM message type 12 size is out of range (%zd).\n", bitlen); return false; } ais->type12.seqno = UBITS(38, 2); ais->type12.dest_mmsi = UBITS(40, 30); ais->type12.retransmit = (bool)UBITS(70, 1); //ais->type12.spare = UBITS(71, 1); from_sixbit((unsigned char *)bits, 72, bitlen-72, ais->type12.text); break; case 14: /* Safety Related Broadcast Message */ if (bitlen < 40 || bitlen > 1008) { gpsd_report(LOG_WARN, "AIVDM message type 14 size is out of range (%zd).\n", bitlen); return false; } //ais->type14.spare = UBITS(38, 2); from_sixbit((unsigned char *)bits, 40, bitlen-40, ais->type14.text); break; case 15: /* Interrogation */ if (bitlen < 88 || bitlen > 168) { gpsd_report(LOG_WARN, "AIVDM message type 15 size is out of range (%zd).\n", bitlen); return false; } (void)memset(&ais->type15, '\0', sizeof(ais->type15)); //ais->type14.spare = UBITS(38, 2); ais->type15.mmsi1 = UBITS(40, 30); ais->type15.type1_1 = UBITS(70, 6); ais->type15.type1_1 = UBITS(70, 6); ais->type15.offset1_1 = UBITS(76, 12); //ais->type14.spare2 = UBITS(88, 2); if (bitlen > 90) { ais->type15.type1_2 = UBITS(90, 6); ais->type15.offset1_2 = UBITS(96, 12); //ais->type14.spare3 = UBITS(108, 2); if (bitlen > 110) { ais->type15.mmsi2 = UBITS(110, 30); ais->type15.type2_1 = UBITS(140, 6); ais->type15.offset2_1 = UBITS(146, 12); //ais->type14.spare4 = UBITS(158, 2); } } break; case 16: /* Assigned Mode Command */ if (bitlen != 96 && bitlen != 144) { gpsd_report(LOG_WARN, "AIVDM message type 16 size is out of range (%zd).\n", bitlen); return false; } ais->type16.mmsi1 = UBITS(40, 30); ais->type16.offset1 = UBITS(70, 12); ais->type16.increment1 = UBITS(82, 10); if (bitlen < 144) ais->type16.mmsi2=ais->type16.offset2=ais->type16.increment2 = 0; else { ais->type16.mmsi2 = UBITS(92, 30); ais->type16.offset2 = UBITS(122, 12); ais->type16.increment2 = UBITS(134, 10); } break; case 17: /* GNSS Broadcast Binary Message */ if (bitlen < 80 || bitlen > 816) { gpsd_report(LOG_WARN, "AIVDM message type 17 size is out of range (%zd).\n", bitlen); return false; } //ais->type17.spare = UBITS(38, 2); ais->type17.lon = UBITS(40, 18); ais->type17.lat = UBITS(58, 17); //ais->type17.spare = UBITS(75, 4); ais->type17.bitcount = bitlen - 80; (void)memcpy(ais->type17.bitdata, (char *)bits + (80 / BITS_PER_BYTE), (ais->type17.bitcount + 7) / 8); break; case 18: /* Standard Class B CS Position Report */ if (bitlen != 168) { gpsd_report(LOG_WARN, "AIVDM message type 18 size not 168 bits (%zd).\n", bitlen); return false; } ais->type18.reserved = UBITS(38, 8); ais->type18.speed = UBITS(46, 10); ais->type18.accuracy = UBITS(56, 1)!=0; ais->type18.lon = SBITS(57, 28); ais->type18.lat = SBITS(85, 27); ais->type18.course = UBITS(112, 12); ais->type18.heading = UBITS(124, 9); ais->type18.second = UBITS(133, 6); ais->type18.regional = UBITS(139, 2); ais->type18.cs = UBITS(141, 1)!=0; ais->type18.display = UBITS(142, 1)!=0; ais->type18.dsc = UBITS(143, 1)!=0; ais->type18.band = UBITS(144, 1)!=0; ais->type18.msg22 = UBITS(145, 1)!=0; ais->type18.assigned = UBITS(146, 1)!=0; ais->type18.raim = UBITS(147, 1)!=0; ais->type18.radio = UBITS(148, 20); break; case 19: /* Extended Class B CS Position Report */ if (bitlen != 312) { gpsd_report(LOG_WARN, "AIVDM message type 19 size not 312 bits (%zd).\n", bitlen); return false; } ais->type19.reserved = UBITS(38, 8); ais->type19.speed = UBITS(46, 10); ais->type19.accuracy = UBITS(56, 1)!=0; ais->type19.lon = SBITS(57, 28); ais->type19.lat = SBITS(85, 27); ais->type19.course = UBITS(112, 12); ais->type19.heading = UBITS(124, 9); ais->type19.second = UBITS(133, 6); ais->type19.regional = UBITS(139, 4); UCHARS(143, ais->type19.shipname); ais->type19.shiptype = UBITS(263, 8); ais->type19.to_bow = UBITS(271, 9); ais->type19.to_stern = UBITS(280, 9); ais->type19.to_port = UBITS(289, 6); ais->type19.to_starboard = UBITS(295, 6); ais->type19.epfd = UBITS(299, 4); ais->type19.raim = UBITS(302, 1)!=0; ais->type19.dte = UBITS(305, 1)!=0; ais->type19.assigned = UBITS(306, 1)!=0; //ais->type19.spare = UBITS(307, 5); break; case 20: /* Data Link Management Message */ if (bitlen < 72 || bitlen > 160) { gpsd_report(LOG_WARN, "AIVDM message type 20 size is out of range (%zd).\n", bitlen); return false; } //ais->type20.spare = UBITS(38, 2); ais->type20.offset1 = UBITS(40, 12); ais->type20.number1 = UBITS(52, 4); ais->type20.timeout1 = UBITS(56, 3); ais->type20.increment1 = UBITS(59, 11); ais->type20.offset2 = UBITS(70, 12); ais->type20.number2 = UBITS(82, 4); ais->type20.timeout2 = UBITS(86, 3); ais->type20.increment2 = UBITS(89, 11); ais->type20.offset3 = UBITS(100, 12); ais->type20.number3 = UBITS(112, 4); ais->type20.timeout3 = UBITS(116, 3); ais->type20.increment3 = UBITS(119, 11); ais->type20.offset4 = UBITS(130, 12); ais->type20.number4 = UBITS(142, 4); ais->type20.timeout4 = UBITS(146, 3); ais->type20.increment4 = UBITS(149, 11); break; case 21: /* Aid-to-Navigation Report */ if (bitlen < 272 || bitlen > 360) { gpsd_report(LOG_WARN, "AIVDM message type 21 size is out of range (%zd).\n", bitlen); return false; } ais->type21.aid_type = UBITS(38, 5); from_sixbit((unsigned char *)bits, 43, 21, ais->type21.name); if (strlen(ais->type21.name) == 20 && bitlen > 272) from_sixbit((unsigned char *)bits, 272, (bitlen - 272)/6, ais->type21.name+20); ais->type21.accuracy = UBITS(163, 1); ais->type21.lon = SBITS(164, 28); ais->type21.lat = SBITS(192, 27); ais->type21.to_bow = UBITS(219, 9); ais->type21.to_stern = UBITS(228, 9); ais->type21.to_port = UBITS(237, 6); ais->type21.to_starboard = UBITS(243, 6); ais->type21.epfd = UBITS(249, 4); ais->type21.second = UBITS(253, 6); ais->type21.off_position = UBITS(259, 1)!=0; ais->type21.regional = UBITS(260, 8); ais->type21.raim = UBITS(268, 1)!=0; ais->type21.virtual_aid = UBITS(269, 1)!=0; ais->type21.assigned = UBITS(270, 1)!=0; //ais->type21.spare = UBITS(271, 1); break; case 22: /* Channel Management */ if (bitlen != 168) { gpsd_report(LOG_WARN, "AIVDM message type 22 size not 168 bits (%zd).\n", bitlen); return false; } ais->type22.channel_a = UBITS(40, 12); ais->type22.channel_b = UBITS(52, 12); ais->type22.txrx = UBITS(64, 4); ais->type22.power = UBITS(68, 1); ais->type22.addressed = UBITS(139, 1); if (!ais->type22.addressed) { ais->type22.area.ne_lon = SBITS(69, 18); ais->type22.area.ne_lat = SBITS(87, 17); ais->type22.area.sw_lon = SBITS(104, 18); ais->type22.area.sw_lat = SBITS(122, 17); } else { ais->type22.mmsi.dest1 = UBITS(69, 30); ais->type22.mmsi.dest2 = UBITS(104, 30); } ais->type22.band_a = UBITS(140, 1); ais->type22.band_b = UBITS(141, 1); ais->type22.zonesize = UBITS(142, 3); break; case 23: /* Group Assignment Command */ if (bitlen != 160) { gpsd_report(LOG_WARN, "AIVDM message type 23 size not 160 bits (%zd).\n", bitlen); return false; } ais->type23.ne_lon = SBITS(40, 18); ais->type23.ne_lat = SBITS(58, 17); ais->type23.sw_lon = SBITS(75, 18); ais->type23.sw_lat = SBITS(93, 17); ais->type23.stationtype = UBITS(110, 4); ais->type23.shiptype = UBITS(114, 8); ais->type23.txrx = UBITS(144, 4); ais->type23.interval = UBITS(146, 4); ais->type23.quiet = UBITS(150, 4); break; case 24: /* Class B CS Static Data Report */ switch (UBITS(38, 2)) { case 0: if (bitlen != 160) { gpsd_report(LOG_WARN, "AIVDM message type 24A size not 160 bits (%zd).\n", bitlen); return false; } /* save incoming 24A shipname/MMSI pairs in a circular queue */ { struct ais_type24a_t *saveptr = &type24_queue->ships[type24_queue->index]; gpsd_report(LOG_PROG, "AIVDM: 24A from %09u stashed.\n", ais->mmsi); saveptr->mmsi = ais->mmsi; UCHARS(40, saveptr->shipname); ++type24_queue->index; type24_queue->index %= MAX_TYPE24_INTERLEAVE; } //ais->type24.a.spare = UBITS(160, 8); return false; /* data only partially decoded */ case 1: if (bitlen != 168) { gpsd_report(LOG_WARN, "AIVDM message type 24B size not 168 bits (%zd).\n", bitlen); return false; } /* search the 24A queue for a matching MMSI */ for (i = 0; i < MAX_TYPE24_INTERLEAVE; i++) { if (type24_queue->ships[i].mmsi == ais->mmsi) { (void)strlcpy(ais->type24.shipname, type24_queue->ships[i].shipname, sizeof(type24_queue->ships[i].shipname)); ais->type24.shiptype = UBITS(40, 8); UCHARS(48, ais->type24.vendorid); UCHARS(90, ais->type24.callsign); if (AIS_AUXILIARY_MMSI(ais->mmsi)) { ais->type24.mothership_mmsi = UBITS(132, 30); } else { ais->type24.dim.to_bow = UBITS(132, 9); ais->type24.dim.to_stern = UBITS(141, 9); ais->type24.dim.to_port = UBITS(150, 6); ais->type24.dim.to_starboard = UBITS(156, 6); } //ais->type24.b.spare = UBITS(162, 8); gpsd_report(LOG_PROG, "AIVDM 24B from %09u matches a 24A.\n", ais->mmsi); /* prevent false match if a 24B is repeated */ type24_queue->ships[i].mmsi = 0; return true; } } gpsd_report(LOG_WARN, "AIVDM 24B from %09u can't be matched to a 24A.\n", ais->mmsi); return false; default: gpsd_report(LOG_WARN, "AIVDM message type 24 of subtype unknown.\n"); return false; } // break; case 25: /* Binary Message, Single Slot */ /* this check and the following one reject line noise */ if (bitlen < 40 || bitlen > 168) { gpsd_report(LOG_WARN, "AIVDM message type 25 size not between 40 to 168 bits (%zd).\n", bitlen); return false; } ais->type25.addressed = (bool)UBITS(38, 1); ais->type25.structured = (bool)UBITS(39, 1); if (bitlen < (unsigned)(40 + (16*ais->type25.structured) + (30*ais->type25.addressed))) { gpsd_report(LOG_WARN, "AIVDM message type 25 too short for mode.\n"); return false; } if (ais->type25.addressed) ais->type25.dest_mmsi = UBITS(40, 30); if (ais->type25.structured) ais->type25.app_id = UBITS(40+ais->type25.addressed*30,16); /* * Not possible to do this right without machinery we * don't yet have. The problem is that if the addressed * bit is on, the bitfield start won't be on a byte * boundary. Thus the formulas below (and in message type 26) * will work perfectly for broadcast messages, but for addressed * messages the retrieved data will be led by the 30 bits of * the destination MMSI */ ais->type25.bitcount = bitlen - 40 - 16*ais->type25.structured; (void)memcpy(ais->type25.bitdata, (char *)bits+5 + 2 * ais->type25.structured, (ais->type25.bitcount + 7) / 8); break; case 26: /* Binary Message, Multiple Slot */ if (bitlen < 60 || bitlen > 1004) { gpsd_report(LOG_WARN, "AIVDM message type 26 size is out of range (%zd).\n", bitlen); return false; } ais->type26.addressed = (bool)UBITS(38, 1); ais->type26.structured = (bool)UBITS(39, 1); if ((signed)bitlen < 40 + 16*ais->type26.structured + 30*ais->type26.addressed + 20) { gpsd_report(LOG_WARN, "AIVDM message type 26 too short for mode.\n"); return false; } if (ais->type26.addressed) ais->type26.dest_mmsi = UBITS(40, 30); if (ais->type26.structured) ais->type26.app_id = UBITS(40+ais->type26.addressed*30,16); ais->type26.bitcount = bitlen - 60 - 16*ais->type26.structured; (void)memcpy(ais->type26.bitdata, (char *)bits+5 + 2 * ais->type26.structured, (ais->type26.bitcount + 7) / 8); break; case 27: /* Long Range AIS Broadcast message */ if (bitlen != 96) { gpsd_report(LOG_WARN, "AIVDM message type 27 size not 96 bits (%zd).\n", bitlen); return false; } ais->type27.accuracy = (bool)UBITS(38, 1); ais->type27.raim = UBITS(39, 1)!=0; ais->type27.status = UBITS(40, 4); ais->type27.lon = SBITS(44, 18); ais->type27.lat = SBITS(62, 17); ais->type27.speed = UBITS(79, 6); ais->type27.course = UBITS(85, 9); ais->type27.gnss = (bool)UBITS(94, 1); break; default: gpsd_report(LOG_ERROR, "Unparsed AIVDM message type %d.\n",ais->type); return false; } /* *INDENT-ON* */ #undef UCHARS #undef SBITS #undef UBITS #undef BITS_PER_BYTE /* data is fully decoded */ return true; } /*@ -charint @*/ /* driver_ais.c ends here */ gpsd-3.9/driver_evermore.c0000664000175000017500000005417512140075173014047 0ustar esresr/* * * This is the gpsd driver for EverMore GPSes. They have both an NMEA and * a binary reporting mode, with the interesting property that they will * cheerfully accept binary commands (such as speed changes) while in NMEA * mode. * * Binary mode would give us atomic fix reports, but it has one large drawback: * the Navigation Data Out message doesn't report a leap-second offset, so it * is not actually possible to collect a leap-second offset from it. Therefore * we'll normally run the driver in NMEA mode. * * About the only thing binary mode gives that NMEA won't is TDOP and raw * pseudoranges, but gpsd does its own DOPs from skyview. By default we'll * trade away raw data to get accurate time. * * The vendor site is . * * This driver was written by Petr Slansky based on a framework by Eric S. * Raymond. The following remarks are by Petr Slansky. * * Snooping on the serial the communication between a Windows program and * an Evermore chipset reveals some messages not described in the vendor * documentation (Issue C of Aug 2002): * * 10 02 06 84 00 00 00 84 10 03 switch to binary mode (84 00 00 00) * 10 02 06 84 01 00 00 85 10 03 switch to NMEA mode (84 01 00 00) * * 10 02 06 89 01 00 00 8a 10 03 set baud rate 4800 * 10 02 06 89 01 01 00 8b 10 03 set baud rate 9600 * 10 02 06 89 01 02 00 8c 10 03 set baud rate 19200 * 10 02 06 89 01 03 00 8d 10 03 set baud rate 38400 * * 10 02 06 8D 00 01 00 8E 10 03 switch to datum ID 001 (WGS-84) * 10 02 06 8D 00 D8 00 65 10 03 switch to datum ID 217 (WGS-72) * * These don't entail a reset of GPS as the 0x80 message does. * * 10 02 04 38 85 bd 10 03 answer from GPS to 0x85 message; ACK message * 10 02 04 38 8d c5 10 03 answer from GPS to 0x8d message; ACK message * 10 02 04 38 8e c6 10 03 answer from GPS to 0x8e message; ACK message * 10 02 04 38 8f c7 10 03 answer from GPS to 0x8f message; ACK message * * The chip sometimes sends vendor extension messages with the prefix * $PEMT,100. After restart, it sends a $PEMT,100 message describing the * chip's configuration. Here is a sample: * * $PEMT,100,05.42g,100303,180,05,1,20,15,08,0,0,2,1*5A * 100 - message type * 05.42g - firmware version * 100303 - date of firmware release DDMMYY * 180 - datum ID; 001 is WGS-84 * 05 - default elevation mask; see message 0x86 * 1 - default DOP select, 1 is auto DOP mask; see message 0x87 * 20 - default GDOP; see message 0x87 * 15 - default PDOP * 08 - default HDOP * 0 - Normal mode, without 1PPS * 0 - default position pinning control (0 disable, 1 enable) * 2 - altitude hold mode (0 disable, 1 always, 2 auto) * 1 - 2/1 satellite nav mode (0,1,2,3,4) * 0 disable 2/1 sat nav mode * 1 hold direction (2 sat) * 2 clock hold only (2 sat) * 3 direction hold then clock hold (1 sat) * 4 clock hold then direction hold (1 sat) * * Message $PEMT,100 could be forced with message 0x85 (restart): * 10 02 12 85 00 00 00 00 00 01 01 00 00 00 00 00 00 00 00 87 10 03 * 0x85 ID, Restart * 0x00 restart mode (0 default, 1 hot, 2 warm, 3 cold, 4 test) * 0x00 test start search PRN (1-32) * 0x00 UTC second (0-59) * 0x00 UTC Minute (0-59) * 0x00 UTC Hour (0-23) * 0x01 UTC Day (1-31) * 0x01 UTC Month (1-12) * 0x0000 UTC year (1980+x, uint16) * 0x0000 Latitude WGS-84 (+/-900, 1/10 degree, + for N, int16) * 0x0000 Longtitude WGS-84 (+/-1800, 1/10 degree, + for E, int16) * 0x0000 Altitude WGS-84 (-1000..+18000, meters, int16) * 0x87 CRC * * With message 0x8e it is possible to define how often each NMEA * message is sent (0-255 seconds). It is possible with message 0x8e * to activate PEMT,101 messages that have information about time, * position, velocity and HDOP. * * $PEMT,101,1,02,00.0,300906190446,5002.5062,N,01427.6166,E,00259,000,0000*27 * $PEMT,101,2,06,02.1,300906185730,5002.7546,N,01426.9524,E,00323,020,0011*26 * 101 - message type, Compact Navigation Solution * 2 - position status (1,2,3,4,5,6) * (1 invalid, 2 2D fix, 3 3D fix, 4 2D with DIFF, 5 3D with DIFF, * 6 2/1 sat degrade mode) * 06 - number of used satelites * 02.1 - DOP (00.0 no fix, HDOP 2D fix, PDOP 3D fix) * 300906185730 - date and time, UTC ddmmyyHHMMSS (30/09/2006 18:57:30) * 5002.7546,N - Latitude (degree) * 01426.9524,E - Longitude (degree) * 00323 - Altitude (323 metres) * 020 - heading (20 degrees from true north) * 0011 - speed over ground (11 metres per second); documentation says km per h * * This is an exampe of an 0x8e message that activates all NMEA sentences * with 1s period: * 10 02 12 8E 7F 01 01 01 01 01 01 01 01 00 00 00 00 00 00 15 10 03 * * There is a way to probe for this chipset. When binary message 0x81 is sent: * 10 02 04 81 13 94 10 03 * * EverMore will reply with message like this: * *10 *02 *0D *20 E1 00 00 *00 0A 00 1E 00 32 00 5B *10 *03 * bytes marked with * are fixed * Message in reply is information about logging configuration of GPS * * Another way to detect the EverMore chipset is to send one of the messages * 0x85, 0x8d, 0x8e or 0x8f and check for a reply. * The reply message from an EverMore GPS will look like this: * *10 *02 *04 *38 8d c5 *10 *03 * 8d indicates that message 0x8d was sent; * c5 is EverMore checksum, other bytes are fixed * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include "gpsd.h" #if defined(EVERMORE_ENABLE) && defined(BINARY_ENABLE) #include "bits.h" #define EVERMORE_CHANNELS 12 /*@ +charint @*/ gps_mask_t evermore_parse(struct gps_device_t * session, unsigned char *buf, size_t len) { unsigned char buf2[MAX_PACKET_LENGTH], *cp, *tp; size_t i, datalen; unsigned int type, used, visible, satcnt, j, k; double version; gps_mask_t mask = 0; /* must have two leader bytes, length, and two trailer bytes minimum */ if (len < 5) return 0; /* time to unstuff it and discard the header and footer */ cp = buf + 2; if (*cp == 0x10) cp++; datalen = (size_t) * cp++; datalen -= 2; /*@ -usedef @*/ /* prevent 'Assigned value is garbage or undefined' from scan-build */ memset(buf2, '\0', sizeof(buf2)); tp = buf2; for (i = 0; i < (size_t) datalen; i++) { *tp = *cp++; if (*tp == 0x10) cp++; tp++; } type = (unsigned char)getub(buf2, 2); /*@ +usedef @*/ /*@ -usedef -compdef @*/ gpsd_report(LOG_RAW, "EverMore packet type 0x%02x\n", type); /*@ +usedef +compdef @*/ (void)snprintf(session->gpsdata.tag, sizeof(session->gpsdata.tag), "EID%u", type); session->cycle_end_reliable = true; switch (type) { case 0x02: /* Navigation Data Output */ session->newdata.time = gpsd_gpstime_resolve(session, (unsigned short)getleu16(buf2, 3), (double)getleu32(buf2, 5) * 0.01); ecef_to_wgs84fix(&session->newdata, &session->gpsdata.separation, (double)getles32(buf2, 9) * 1.0, (double)getles32(buf2, 13) * 1.0, (double)getles32(buf2, 17) * 1.0, (double)getles16(buf2, 21) / 10.0, (double)getles16(buf2, 23) / 10.0, (double)getles16(buf2, 25) / 10.0); used = (unsigned char)getub(buf2, 27) & 0x0f; //visible = (getub(buf2, 27) & 0xf0) >> 4; version = (uint) getleu16(buf2, 28) / 100.0; /* that's all the information in this packet */ if (used < 3) session->newdata.mode = MODE_NO_FIX; else if (used == 3) session->newdata.mode = MODE_2D; else { session->newdata.mode = MODE_3D; mask |= ALTITUDE_SET | CLIMB_SET; } mask |= TIME_SET | PPSTIME_IS | LATLON_SET | TRACK_SET | SPEED_SET | MODE_SET; if (session->subtype[0] == '\0') { (void)snprintf(session->subtype, sizeof(session->subtype), "%3.2f", version); mask |= DEVICEID_SET; } gpsd_report(LOG_DATA, "NDO 0x02: time=%.2f, lat=%.2f lon=%.2f alt=%.2f speed=%.2f track=%.2f climb=%.2f mode=%d subtype='%s\n", session->newdata.time, session->newdata.latitude, session->newdata.longitude, session->newdata.altitude, session->newdata.speed, session->newdata.track, session->newdata.climb, session->newdata.mode, session->gpsdata.dev.subtype); return mask | CLEAR_IS | REPORT_IS; case 0x04: /* DOP Data Output */ session->newdata.time = gpsd_gpstime_resolve(session, (unsigned short)getleu16(buf2, 3), (double)getleu32(buf2, 5) * 0.01); /* * We make a deliberate choice not to clear DOPs from the * last skyview here, but rather to treat this as a supplement * to our calculations from the visibility matrix, trusting * the firmware algorithms over ours. */ session->gpsdata.dop.gdop = (double)getub(buf2, 9) * 0.1; session->gpsdata.dop.pdop = (double)getub(buf2, 10) * 0.1; session->gpsdata.dop.hdop = (double)getub(buf2, 11) * 0.1; session->gpsdata.dop.vdop = (double)getub(buf2, 12) * 0.1; session->gpsdata.dop.tdop = (double)getub(buf2, 13) * 0.1; switch (getub(buf2, 14)) { case 0: /* no position fix */ case 1: /* manual calls this "1D navigation" */ session->gpsdata.status = STATUS_NO_FIX; session->newdata.mode = MODE_NO_FIX; break; case 2: /* 2D navigation */ session->gpsdata.status = STATUS_FIX; session->newdata.mode = MODE_2D; break; case 3: /* 3D navigation */ session->gpsdata.status = STATUS_FIX; session->newdata.mode = MODE_3D; break; case 4: /* 3D navigation with DGPS */ session->gpsdata.status = STATUS_DGPS_FIX; session->newdata.mode = MODE_3D; break; } /* that's all the information in this packet */ mask = TIME_SET | PPSTIME_IS | DOP_SET | MODE_SET | STATUS_SET; gpsd_report(LOG_DATA, "DDO 0x04: gdop=%.2f pdop=%.2f hdop=%.2f vdop=%.2f tdop=%.2f mode=%d, status=%d mask={TIME| DOP|MODE|STATUS}\n", session->gpsdata.dop.gdop, session->gpsdata.dop.pdop, session->gpsdata.dop.hdop, session->gpsdata.dop.vdop, session->gpsdata.dop.tdop, session->newdata.mode, session->gpsdata.status); return mask; case 0x06: /* Channel Status Output */ session->gpsdata.skyview_time = gpsd_gpstime_resolve(session, (unsigned short)getleu16(buf2, 3), (double)getleu32(buf2, 5) * 0.01); session->gpsdata.satellites_visible = (int)getub(buf2, 9); gpsd_zero_satellites(&session->gpsdata); memset(session->gpsdata.used, 0, sizeof(session->gpsdata.used)); if (session->gpsdata.satellites_visible > 12) { gpsd_report(LOG_WARN, "Warning: EverMore packet has information about %d satellites!\n", session->gpsdata.satellites_visible); } if (session->gpsdata.satellites_visible > EVERMORE_CHANNELS) session->gpsdata.satellites_visible = EVERMORE_CHANNELS; satcnt = 0; for (i = 0; i < (size_t) session->gpsdata.satellites_visible; i++) { int prn; // channel = getub(buf2, 7*i+7+3) prn = (int)getub(buf2, 7 * i + 7 + 4); if (prn == 0) continue; /* satellite record is not valid */ session->gpsdata.PRN[satcnt] = prn; session->gpsdata.azimuth[satcnt] = (int)getleu16(buf2, 7 * i + 7 + 5); session->gpsdata.elevation[satcnt] = (int)getub(buf2, 7 * i + 7 + 7); session->gpsdata.ss[satcnt] = (float)getub(buf2, 7 * i + 7 + 8); /* * Status bits at offset 8: * bit0 = 1 satellite acquired * bit1 = 1 code-tracking loop locked * bit2 = 1 carrier-tracking loop locked * bit3 = 1 data-bit synchronization done * bit4 = 1 frame synchronization done * bit5 = 1 ephemeris data collected * bit6 = 1 used for position fix */ if (getub(buf2, 7 * i + 7 + 9) & 0x40) { session->gpsdata.used[session->gpsdata.satellites_used++] = prn; } satcnt++; } session->gpsdata.satellites_visible = (int)satcnt; /* that's all the information in this packet */ mask = SATELLITE_SET | USED_IS; gpsd_report(LOG_DATA, "CSO 0x06: time=%.2f used=%d visible=%d mask={TIME|SATELLITE|USED}\n", session->newdata.time, session->gpsdata.satellites_used, session->gpsdata.satellites_visible); return mask; case 0x08: /* Measurement Data Output */ /* clock offset is a manufacturer diagnostic */ /* (int)getleu16(buf2, 9); clock offset, 29000..29850 ?? */ session->newdata.time = gpsd_gpstime_resolve(session, (unsigned short)getleu16(buf2, 3), (double)getleu32(buf2, 5) * 0.01); visible = (unsigned char)getub(buf2, 11); /* * Note: This code is untested. It was written from the manual. * The results need to be sanity-checked against a GPS with * known-good raw decoding and the same skyview. * * We can get pseudo range (m), delta-range (m/s), doppler (Hz) * and status for each channel from the chip. We cannot get * codephase or carrierphase. */ #define SBITS(sat, s, l) sbits((signed char *)buf, 10 + (sat*14) + s, l, false) #define UBITS(sat, s, l) ubits((unsigned char *)buf, 10 + (sat*14) + s, l, false) for (k = 0; k < visible; k++) { int prn = (int)UBITS(k, 4, 5); /* this is so we can tell which never got set */ for (j = 0; j < MAXCHANNELS; j++) session->gpsdata.raw.mtime[j] = 0; for (j = 0; j < MAXCHANNELS; j++) { if (session->gpsdata.PRN[j] == prn) { session->gpsdata.raw.codephase[j] = NAN; session->gpsdata.raw.carrierphase[j] = NAN; session->gpsdata.raw.mtime[j] = session->newdata.time; session->gpsdata.raw.satstat[j] = (unsigned)UBITS(k, 24, 8); session->gpsdata.raw.pseudorange[j] = (double)SBITS(k,40,32); session->gpsdata.raw.deltarange[j] = (double)SBITS(k,72,32); session->gpsdata.raw.doppler[j] = (double)SBITS(k, 104, 16); } } } #undef SBITS #undef UBITS gpsd_report(LOG_DATA, "MDO 0x04: time=%.2f mask={TIME|RAW}\n", session->newdata.time); return TIME_SET | PPSTIME_IS | RAW_IS; case 0x20: /* LogConfig Info, could be used as a probe for EverMore GPS */ gpsd_report(LOG_IO, "LogConfig EverMore packet, length %zd\n", datalen); return ONLINE_SET; case 0x22: /* LogData */ gpsd_report(LOG_IO, "LogData EverMore packet, length %zd\n", datalen); return ONLINE_SET; case 0x38: /* ACK */ gpsd_report(LOG_PROG, "EverMore command %02X ACK\n", getub(buf2, 3)); return ONLINE_SET; default: gpsd_report(LOG_WARN, "unknown EverMore packet EID 0x%02x, length %zd\n", buf2[0], datalen); return 0; } } /*@ -charint @*/ static gps_mask_t evermore_parse_input(struct gps_device_t *session) { gps_mask_t st; if (session->packet.type == EVERMORE_PACKET) { st = evermore_parse(session, session->packet.outbuffer, session->packet.outbuflen); return st; #ifdef NMEA_ENABLE } else if (session->packet.type == NMEA_PACKET) { st = nmea_parse((char *)session->packet.outbuffer, session); return st; #endif /* NMEA_ENABLE */ } else return 0; } /*@ +charint -usedef -compdef @*/ static ssize_t evermore_control_send(struct gps_device_t *session, char *buf, size_t len) { unsigned int crc; size_t i; char *cp; /*@ +charint +ignoresigns @*/ /* prepare a DLE-stuffed copy of the message */ cp = session->msgbuf; *cp++ = 0x10; /* message starts with DLE STX */ *cp++ = 0x02; session->msgbuflen = (size_t) (len + 2); /* len < 254 !! */ *cp++ = (char)session->msgbuflen; /* message length */ if (session->msgbuflen == 0x10) *cp++ = 0x10; /* payload */ crc = 0; for (i = 0; i < len; i++) { *cp++ = buf[i]; if (buf[i] == 0x10) *cp++ = 0x10; crc += buf[i]; } crc &= 0xff; /* enter CRC after payload */ *cp++ = crc; if (crc == 0x10) *cp++ = 0x10; *cp++ = 0x10; /* message ends with DLE ETX */ *cp++ = 0x03; session->msgbuflen = (size_t) (cp - session->msgbuf); /*@ -charint -ignoresigns @*/ return gpsd_write(session, session->msgbuf, session->msgbuflen); } /*@ -charint +usedef +compdef @*/ static bool evermore_protocol(struct gps_device_t *session, int protocol) { /*@ +charint */ char tmp8; char evrm_protocol_config[] = { (char)0x84, /* 0: msg ID, Protocol Configuration */ (char)0x00, /* 1: mode; EverMore binary(0), NMEA(1) */ (char)0x00, /* 2: reserved */ (char)0x00, /* 3: reserved */ }; /*@ -charint */ gpsd_report(LOG_PROG, "evermore_protocol(%d)\n", protocol); /*@i1@*/ tmp8 = (protocol != 0) ? 1 : 0; /* NMEA : binary */ evrm_protocol_config[1] = tmp8; return (evermore_control_send (session, evrm_protocol_config, sizeof(evrm_protocol_config)) != -1); } static bool evermore_nmea_config(struct gps_device_t *session, int mode) /* mode = 0 : EverMore default */ /* mode = 1 : gpsd best */ /* mode = 2 : EverMore search, activate PEMT101 message */ { unsigned char tmp8; /*@ +charint */ unsigned char evrm_nmeaout_config[] = { 0x8e, /* 0: msg ID, NMEA Message Control */ 0xff, /* 1: NMEA sentence bitmask, GGA(0), GLL(1), GSA(2), GSV(3), ... */ 0x01, /* 2: nmea checksum no(0), yes(1) */ 1, /* 3: GPGGA, interval 0-255s */ 0, /* 4: GPGLL, interval 0-255s */ 1, /* 5: GPGSA, interval 0-255s */ 1, /* 6: GPGSV, interval 0-255s */ 1, /* 7: GPRMC, interval 0-255s */ 0, /* 8: GPVTG, interval 0-255s */ 0, /* 9: PEMT,101, interval 0-255s */ 0, 0, 0, 0, 0, 0, /* 10-15: reserved */ }; /*@ -charint */ gpsd_report(LOG_PROG, "evermore_nmea_config(%d)\n", mode); /*@i1@*/ tmp8 = (mode == 1) ? 5 : 1; /* NMEA GPGSV, gpsd */ evrm_nmeaout_config[6] = tmp8; /* GPGSV, 1s or 5s */ /*@i1@*/ tmp8 = (mode == 2) ? 1 : 0; /* NMEA PEMT101 */ evrm_nmeaout_config[9] = tmp8; /* PEMT101, 1s or 0s */ return (evermore_control_send(session, (char *)evrm_nmeaout_config, sizeof(evrm_nmeaout_config)) != -1); } static void evermore_mode(struct gps_device_t *session, int mode) { gpsd_report(LOG_PROG, "evermore_mode(%d), %d\n", mode, session->back_to_nmea ? 1 : 0); if (mode == MODE_NMEA) { /* NMEA */ (void)evermore_protocol(session, 1); session->gpsdata.dev.driver_mode = MODE_NMEA; (void)evermore_nmea_config(session, 1); /* configure NMEA messages for gpsd */ } else { /* binary */ (void)evermore_protocol(session, 0); session->back_to_nmea = false; session->gpsdata.dev.driver_mode = MODE_BINARY; } } static void evermore_event_hook(struct gps_device_t *session, event_t event) { if (session->context->readonly) return; /* * FIX-ME: It might not be necessary to call this on reactivate. * Experiment to see if the holds its settings through a close. */ if (event == event_identified || event == event_reactivate) { /* * We used to run this driver in binary mode, but that has the * problem that Evermore binary mode doesn't report a * leap-second correction in the Navigation Data Out sentence. * So, run it in NMEA mode to getbUTC corrected by firmware. * Fortunately the Evermore firmware interprets binary * commands in NMEA mode, so nothing else needs to change. */ (void)evermore_mode(session, 0); /* switch GPS to NMEA mode */ (void)evermore_nmea_config(session, 1); /* configure NMEA messages for gpsd (GPGSV every 5s) */ session->back_to_nmea = false; } else if (event == event_deactivate) { (void)evermore_nmea_config(session, 0); /* configure NMEA messages to default */ } } #ifdef RECONFIGURE_ENABLE static bool evermore_speed(struct gps_device_t *session, speed_t speed, char parity, int stopbits) { /*@ -type @*/ gpsd_report(LOG_PROG, "evermore_speed(%u%c%d)\n", speed, parity, stopbits); /* parity and stopbit switching aren't available on this chip */ if (parity != session->gpsdata.dev.parity || stopbits != (int)session->gpsdata.dev.parity) { return false; } else { unsigned char tmp8; unsigned char msg[] = { 0x89, /* 0: msg ID, Serial Port Configuration */ 0x01, /* 1: bit 0 cfg for main serial, bit 1 cfg for DGPS port */ 0x00, /* 2: baud rate for main serial; 4800(0), 9600(1), 19200(2), 38400(3) */ 0x00, /* 3: baud rate for DGPS serial port; 4800(0), 9600(1), etc */ }; switch (speed) { case 4800: tmp8 = 0; break; case 9600: tmp8 = 1; break; case 19200: tmp8 = 2; break; case 38400: tmp8 = 3; break; default: return false; } msg[2] = tmp8; return (evermore_control_send(session, (char *)msg, sizeof(msg)) != -1); } /*@ +type @*/ } static bool evermore_rate_switcher(struct gps_device_t *session, double rate) /* change the sample rate of the GPS */ { /*@ +charint @*/ if (rate < 1 || rate > 10) { gpsd_report(LOG_ERROR, "valid rate range is 1-10.\n"); return false; } else { unsigned char evrm_rate_config[] = { 0x84, /* 1: msg ID, Operating Mode Configuration */ 0x02, /* 2: normal mode with 1PPS */ 0x00, /* 3: navigation update rate */ 0x00, /* 4: RF/GPSBBP On Time */ }; evrm_rate_config[2] = (unsigned char)trunc(rate); return (evermore_control_send(session, (char *)evrm_rate_config, sizeof(evrm_rate_config)) != -1); } /*@ -charint @*/ } #endif /* RECONFIGURE_ENABLE */ /* this is everything we export */ /* *INDENT-OFF* */ const struct gps_type_t evermore_binary = { .type_name = "EverMore binary", /* full name of type */ .packet_type = EVERMORE_PACKET, /* lexer packet type */ .flags = DRIVER_NOFLAGS, /* no flags set */ .trigger = "$PEMT,", /* recognize the type */ .channels = EVERMORE_CHANNELS, /* consumer-grade GPS */ .probe_detect = NULL, /* no probe */ .get_packet = generic_get, /* use generic one */ .parse_packet = evermore_parse_input, /* parse message packets */ .rtcm_writer = gpsd_write, /* send RTCM data straight */ .event_hook = evermore_event_hook, /* lifetime event handler */ #ifdef RECONFIGURE_ENABLE .speed_switcher = evermore_speed, /* we can change baud rates */ .mode_switcher = evermore_mode, /* there is a mode switcher */ .rate_switcher = evermore_rate_switcher, /* change sample rate */ .min_cycle = 1, /* ignore, no rate switch */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = evermore_control_send, /* how to send a control string */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, /* no method for NTP fudge factor */ #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #endif /* defined(EVERMORE_ENABLE) && defined(BINARY_ENABLE) */ gpsd-3.9/driver_garmin.c0000664000175000017500000012652012077501334013474 0ustar esresr/* * This file contains two drivers for Garmin receivers and some code * shared by both drivers. * * One driver "garmin_usb_binary" handles the Garmin binary packet * format supported by the USB Garmins tested with the Garmin 18 and * other models. (There is also "garmin_usb_binary_old".) These are ONLY * for USB devices reporting as: 091e:0003. * * The other driver "garmin_ser_binary" is for Garmin receivers via a * serial port, whether or not one uses a USB/serial adaptor or a real * serial port. These receivers provide adequate NMEA support, so it * often makes sense to just put them into NMEA mode. * * On Linux, USB Garmins (091e:0003) need the Linux garmin_gps driver and * will not function without it. On other operating systems, it is clear * garmin_usb_binary_old does not work since it requires the Linux * garmin_gps module. * * This code has been tested and at least at one time is known to work on * big- and little-endian CPUs and 32 and 64 bit cpu modes. * * * Documentation for the Garmin protocols can be found via * http://www.garmin.com/support/commProtocol.html * The file IOSDK.zip contains IntfSpec.pdf, which describes the * protocol in terms of Application, Link, and Physical. This * identical file is also available at: * http://www.garmin.com/support/pdf/iop_spec.pdf * An older version of iop_spec.pdf that describes only Serial Binary * is available at: * http://vancouver-webpages.com/pub/peter/iop_spec.pdf * Information about the GPS 18 * http://www.garmin.com/manuals/425_TechnicalSpecification.pdf * * There is one physical link protocol for serial which uses DLE/ETX * framing. There is another physical protocol for USB which relies * on the packetization intrinsic to USB bulk pipes. * * There are several link protocols; all devices implement L000. * There are then product-specific protocols; most devices implement * L001. Link protocols are the same and carried over either Physical * protocol. * * Application protocols are named A000 and then with different * 3-digit numbers. They are carried over Link protocols. * * Thus, much of the higher-level code dealing the data formats is * shared between USB Binary and Serial Binary. * * This code is partly from the Garmin IOSDK and partly from the * sample code in the Linux garmin_gps driver. * * bad code by: Gary E. Miller * * -D 3 = packet trace * -D 4 = packet details * -D 5 = more packet details * -D 6 = very excessive details * * limitations: * * do not have from garmin: * pdop * hdop * vdop * magnetic variation * * known bugs: * hangs in the fread loop instead of keeping state and returning. * * TODO: * * ?? Add probe function for Serial Binary to start PVT output. * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #define __USE_POSIX199309 1 #include #include #include #include #include #include #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include "gpsd_config.h" #if defined(HAVE_LIBUSB) #include #endif #include "gpsd.h" #include "bits.h" #define GPSD_LE16TOH(x) getles16((char *)(&(x)), 0) #define GPSD_LE32TOH(x) getles32((char *)(&(x)), 0) #ifdef GARMIN_ENABLE #define USE_RMD 0 /* Used in Serial Physical Layer */ #define ETX 0x03 #define ACK 0x06 #define DLE 0x10 #define NAK 0x15 #define GARMIN_LAYERID_TRANSPORT (uint8_t) 0 #define GARMIN_LAYERID_APPL (uint32_t) 20 // Linux Garmin USB driver layer-id to use for some control mechanisms #define GARMIN_LAYERID_PRIVATE 0x01106E4B // packet ids used in private layer #define PRIV_PKTID_SET_DEBUG 1 #define PRIV_PKTID_SET_MODE 2 #define PRIV_PKTID_INFO_REQ 3 #define PRIV_PKTID_INFO_RESP 4 #define PRIV_PKTID_RESET_REQ 5 #define PRIV_PKTID_SET_DEF_MODE 6 #define MODE_NATIVE 0 #define MODE_GARMIN_SERIAL 1 #define GARMIN_PKTID_TRANSPORT_START_SESSION_REQ 5 #define GARMIN_PKTID_TRANSPORT_START_SESSION_RESP 6 #define GARMIN_PKTID_PROTOCOL_ARRAY 253 #define GARMIN_PKTID_PRODUCT_RQST 254 #define GARMIN_PKTID_PRODUCT_DATA 255 /* 0x29 ')' */ #define GARMIN_PKTID_RMD41_DATA 41 /* 0x33 '3' */ #define GARMIN_PKTID_PVT_DATA 51 /* 0x33 '4' */ #define GARMIN_PKTID_RMD_DATA 52 /* 0x72 'r' */ #define GARMIN_PKTID_SAT_DATA 114 #define GARMIN_PKTID_L001_XFER_CMPLT 12 #define GARMIN_PKTID_L001_COMMAND_DATA 10 #define GARMIN_PKTID_L001_DATE_TIME_DATA 14 #define GARMIN_PKTID_L001_RECORDS 27 #define GARMIN_PKTID_L001_WPT_DATA 35 #define CMND_ABORT 0 #define CMND_START_PVT_DATA 49 #define CMND_STOP_PVT_DATA 50 #define CMND_START_RM_DATA 110 #define MAX_BUFFER_SIZE 4096 #define GARMIN_CHANNELS 12 // something magic about 64, garmin driver will not return more than // 64 at a time. If you read less than 64 bytes the next read will // just get the last of the 64 byte buffer. #define ASYNC_DATA_SIZE 64 #pragma pack(1) // This is the data format of the satellite data from the garmin USB typedef struct { uint8_t svid; uint16_t snr; // 0 - 0xffff uint8_t elev; uint16_t azmth; uint8_t status; // bit 0, has ephemeris, 1, has diff correction // bit 2 used in solution // bit 3?? } cpo_sat_data; /* Garmin D800_Pvt_Datetype_Type */ /* packet type: GARMIN_PKTID_PVT_DATA 52 */ /* This is the data format of the position data from the garmin USB */ typedef struct { float alt; /* altitude above WGS 84 (meters) */ float epe; /* estimated position error, 2 sigma (meters) */ float eph; /* epe, but horizontal only (meters) */ float epv; /* epe but vertical only (meters ) */ int16_t fix; /* 0 - failed integrity check * 1 - invalid or unavailable fix * 2 - 2D * 3 - 3D * 4 - 2D Diff * 5 - 3D Diff */ double gps_tow; /* gps time of week (seconds) */ double lat; /* ->latitude (radians) */ double lon; /* ->longitude (radians) */ float lon_vel; /* velocity east (meters/second) */ float lat_vel; /* velocity north (meters/second) */ float alt_vel; /* velocity up (meters/sec) */ // Garmin GPS25 uses pkt_id 0x28 and does not output the // next 3 items float msl_hght; /* height of WGS 84 above MSL (meters) */ int16_t leap_sec; /* diff between GPS and UTC (seconds) */ int32_t grmn_days; /* days from UTC December 31st, 1989 to the * beginning of the current week */ } cpo_pvt_data; typedef struct { uint32_t cycles; double pr; uint16_t phase; int8_t slp_dtct; uint8_t snr_dbhz; uint8_t svid; int8_t valid; } cpo_rcv_sv_data; /* packet type: GARMIN_PKTID_RMD_DATA 53 */ /* seems identical to the packet id 0x29 from the Garmin GPS 25 */ typedef struct { double rcvr_tow; int16_t rcvr_wn; cpo_rcv_sv_data sv[GARMIN_CHANNELS]; } cpo_rcv_data; // This is the packet format to/from the Garmin USB typedef struct { uint8_t mPacketType; uint8_t mReserved1; uint16_t mReserved2; uint16_t mPacketId; uint16_t mReserved3; uint32_t mDataSize; union { int8_t chars[MAX_BUFFER_SIZE]; uint8_t uchars[MAX_BUFFER_SIZE]; cpo_pvt_data pvt; cpo_sat_data sats; } mData; } Packet_t; // useful funcs to read/write ints // floats and doubles are Intel (little-endian) order only... static inline void set_int16(uint8_t * buf, uint32_t value) { buf[0] = (uint8_t) (0x0FF & value); buf[1] = (uint8_t) (0x0FF & (value >> 8)); } static inline void set_int32(uint8_t * buf, uint32_t value) { buf[0] = (uint8_t) (0x0FF & value); buf[1] = (uint8_t) (0x0FF & (value >> 8)); buf[2] = (uint8_t) (0x0FF & (value >> 16)); buf[3] = (uint8_t) (0x0FF & (value >> 24)); } static inline uint16_t get_uint16(const uint8_t * buf) { return (uint16_t) (0xFF & buf[0]) | ((uint16_t) (0xFF & buf[1]) << 8); } static inline uint32_t get_int32(const uint8_t * buf) { return (uint32_t) (0xFF & buf[0]) | ((uint32_t) (0xFF & buf[1]) << 8) | ((uint32_t) (0xFF & buf[2]) << 16) | ((uint32_t) (0xFF & buf[3]) << 24); } // convert radians to degrees static inline double radtodeg(double rad) { return (double)(rad * RAD_2_DEG); } static gps_mask_t PrintSERPacket(struct gps_device_t *session, unsigned char pkt_id, int pkt_len, unsigned char *buf); static gps_mask_t PrintUSBPacket(struct gps_device_t *session, Packet_t * pkt); gps_mask_t PrintSERPacket(struct gps_device_t *session, unsigned char pkt_id, int pkt_len, unsigned char *buf) { gps_mask_t mask = 0; int i = 0, j = 0; uint16_t prod_id = 0; uint16_t ver = 0; int maj_ver; int min_ver; time_t time_l = 0; double track; char msg_buf[512] = ""; char *msg = NULL; cpo_sat_data *sats = NULL; cpo_pvt_data *pvt = NULL; cpo_rcv_data *rmd = NULL; gpsd_report(LOG_IO, "Garmin: PrintSERPacket(, %#02x, %#02x, )\n", pkt_id, pkt_len); session->cycle_end_reliable = true; switch (pkt_id) { case ACK: gpsd_report(LOG_PROG, "Garmin: ACK\n"); break; case NAK: gpsd_report(LOG_PROG, "Garmin: NAK\n"); break; case GARMIN_PKTID_L001_COMMAND_DATA: prod_id = get_uint16((uint8_t *) buf); /*@ -branchstate @*/ switch (prod_id) { case CMND_ABORT: msg = "Abort current xfer"; break; case CMND_START_PVT_DATA: msg = "Start Xmit PVT data"; break; case CMND_STOP_PVT_DATA: msg = "Stop Xmit PVT data"; break; case CMND_START_RM_DATA: msg = "Start RMD data"; break; default: (void)snprintf(msg_buf, sizeof(msg_buf), "Unknown: %u", (unsigned int)prod_id); msg = msg_buf; break; } /*@ +branchstate @*/ gpsd_report(LOG_PROG, "Garmin: Appl, Command Data: %s\n", msg); break; case GARMIN_PKTID_PRODUCT_RQST: gpsd_report(LOG_PROG, "Garmin: Appl, Product Data req\n"); break; case GARMIN_PKTID_PRODUCT_DATA: prod_id = get_uint16((uint8_t *) buf); ver = get_uint16((uint8_t *) & buf[2]); maj_ver = (int)(ver / 100); min_ver = (int)(ver - (maj_ver * 100)); gpsd_report(LOG_PROG, "Garmin: Appl, Product Data, sz: %d\n", pkt_len); (void)snprintf(session->subtype, sizeof(session->subtype), "%d: %d.%02d", (int)prod_id, maj_ver, min_ver); gpsd_report(LOG_INF, "Garmin: Product ID: %d, SoftVer: %d.%02d\n", prod_id, maj_ver, min_ver); gpsd_report(LOG_INF, "Garmin: Product Desc: %s\n", &buf[4]); mask |= DEVICEID_SET; gpsd_report(LOG_DATA, "Garmin: PRODUCT_DATA: subtype=%s\n", session->subtype); break; case GARMIN_PKTID_PVT_DATA: gpsd_report(LOG_PROG, "Garmin: Appl, PVT Data Sz: %d\n", pkt_len); pvt = (cpo_pvt_data *) buf; // 631065600, unix seconds for 31 Dec 1989 Zulu time_l = (time_t) (631065600 + (GPSD_LE32TOH(pvt->grmn_days) * 86400)); // TODO, convert grmn_days to context->gps_week time_l -= GPSD_LE16TOH(pvt->leap_sec); session->context->leap_seconds = (int)GPSD_LE16TOH(pvt->leap_sec); session->context->valid = LEAP_SECOND_VALID; // gps_tow is always like x.999 or x.998 so just round it time_l += (time_t) round(pvt->gps_tow); session->context->gps_tow = pvt->gps_tow; session->newdata.time = (timestamp_t)time_l; gpsd_report(LOG_PROG, "Garmin: time_l: %ld\n", (long int)time_l); session->newdata.latitude = radtodeg(pvt->lat); /* sanity check the lat */ if (90.0 < session->newdata.latitude) { session->newdata.latitude = 90.0; gpsd_report(LOG_INF, "Garmin: ERROR: Latitude overrange\n"); } else if (-90.0 > session->newdata.latitude) { session->newdata.latitude = -90.0; gpsd_report(LOG_INF, "Garmin: ERROR: Latitude negative overrange\n"); } session->newdata.longitude = radtodeg(pvt->lon); /* sanity check the lon */ if (180.0 < session->newdata.longitude) { session->newdata.longitude = 180.0; gpsd_report(LOG_INF, "Garmin: ERROR: Longitude overrange\n"); } else if (-180.0 > session->newdata.longitude) { session->newdata.longitude = -180.0; gpsd_report(LOG_INF, "Garmin: ERROR: Longitude negative overrange\n"); } // altitude over WGS84 converted to MSL session->newdata.altitude = pvt->alt + pvt->msl_hght; // geoid separation from WGS 84 // gpsd sign is opposite of garmin sign session->gpsdata.separation = -pvt->msl_hght; // Estimated position error in meters. // We follow the advice at . // If this assumption changes here, it should also change in // nmea_parse.c where we analyze PGRME. session->gpsdata.epe = pvt->epe * (GPSD_CONFIDENCE / CEP50_SIGMA); /* eph is a circular error, sqrt(epx**2 + epy**2) */ session->newdata.epx = session->newdata.epy = pvt->eph * (1 / sqrt(2)) * (GPSD_CONFIDENCE / CEP50_SIGMA); session->newdata.epv = pvt->epv * (GPSD_CONFIDENCE / CEP50_SIGMA); // convert lat/lon to directionless speed session->newdata.speed = hypot(pvt->lon_vel, pvt->lat_vel); // keep climb in meters/sec session->newdata.climb = pvt->alt_vel; track = atan2(pvt->lon_vel, pvt->lat_vel); if (track < 0) { track += 2 * GPS_PI; } session->newdata.track = radtodeg(track); switch (GPSD_LE16TOH(pvt->fix)) { case 0: case 1: default: // no fix session->gpsdata.status = STATUS_NO_FIX; session->newdata.mode = MODE_NO_FIX; break; case 2: // 2D fix session->gpsdata.status = STATUS_FIX; session->newdata.mode = MODE_2D; break; case 3: // 3D fix session->gpsdata.status = STATUS_FIX; session->newdata.mode = MODE_3D; break; case 4: // 2D Differential fix session->gpsdata.status = STATUS_DGPS_FIX; session->newdata.mode = MODE_2D; break; case 5: // 3D differential fix session->gpsdata.status = STATUS_DGPS_FIX; session->newdata.mode = MODE_3D; break; } gpsd_report(LOG_PROG, "Garmin: Appl, mode %d, status %d\n", session->newdata.mode, session->gpsdata.status); gpsd_report(LOG_INF, "Garmin: UTC Time: %lf\n", session->newdata.time); gpsd_report(LOG_INF, "Garmin: Geoid Separation (MSL-WGS84): from garmin %lf, calculated %lf\n", -pvt->msl_hght, wgs84_separation(session->newdata.latitude, session->newdata.longitude)); gpsd_report(LOG_INF, "Garmin: Alt: %.3f, Epe: %.3f, Eph: %.3f, Epv: %.3f, Fix: %d, Gps_tow: %f, Lat: %.3f, Lon: %.3f, LonVel: %.3f, LatVel: %.3f, AltVel: %.3f, MslHgt: %.3f, Leap: %d, GarminDays: %d\n", pvt->alt, pvt->epe, pvt->eph, pvt->epv, GPSD_LE16TOH(pvt->fix), pvt->gps_tow, session->newdata.latitude, session->newdata.longitude, pvt->lon_vel, pvt->lat_vel, pvt->alt_vel, pvt->msl_hght, GPSD_LE16TOH(pvt->leap_sec), GPSD_LE32TOH(pvt->grmn_days)); if (session->newdata.mode > MODE_NO_FIX) { /* data only valid with a fix */ mask |= TIME_SET | LATLON_SET | ALTITUDE_SET | STATUS_SET | MODE_SET | SPEED_SET | TRACK_SET | CLIMB_SET | HERR_SET | VERR_SET | PERR_IS | CLEAR_IS | REPORT_IS; /* * Garmin documentation says we should wait until four good fixes * have been seen before trying to use the device for precision * time service. */ if (session->fixcnt > 3) mask |= PPSTIME_IS; } gpsd_report(LOG_DATA, "Garmin: PVT_DATA: time=%.2f, lat=%.2f lon=%.2f " "speed=%.2f track=%.2f climb=%.2f " "epx=%.2f epy=%.2f epv=%.2f " "mode=%d status=%d\n", session->newdata.time, session->newdata.latitude, session->newdata.longitude, session->newdata.speed, session->newdata.track, session->newdata.climb, session->newdata.epx, session->newdata.epy, session->newdata.epv, session->newdata.mode, session->gpsdata.status); break; case GARMIN_PKTID_RMD_DATA: case GARMIN_PKTID_RMD41_DATA: rmd = (cpo_rcv_data *) buf; gpsd_report(LOG_IO, "Garmin: PVT RMD Data Sz: %d\n", pkt_len); gpsd_report(LOG_PROG, "Garmin: PVT RMD rcvr_tow: %f, rcvr_wn: %d\n", rmd->rcvr_tow, rmd->rcvr_wn); for (i = 0; i < GARMIN_CHANNELS; i++) { gpsd_report(LOG_INF, "Garmin: PVT RMD Sat: %3u, cycles: %9u, pr: %16.6f, " "phase: %7.3f, slp_dtct: %3s, snr: %3u, Valid: %3s\n", (int)rmd->sv[i].svid + 1, GPSD_LE32TOH(rmd->sv[i].cycles), rmd->sv[i].pr, (GPSD_LE16TOH(rmd->sv[i].phase) * 360.0) / 2048.0, rmd->sv[i].slp_dtct != 0 ? "Yes" : "No", rmd->sv[i].snr_dbhz, rmd->sv[i].valid != 0 ? "Yes" : "No"); } break; case GARMIN_PKTID_SAT_DATA: gpsd_report(LOG_PROG, "Garmin: SAT Data Sz: %d\n", pkt_len); sats = (cpo_sat_data *) buf; session->gpsdata.satellites_visible = 0; session->gpsdata.satellites_used = 0; memset(session->gpsdata.used, 0, sizeof(session->gpsdata.used)); gpsd_zero_satellites(&session->gpsdata); for (i = 0, j = 0; i < GARMIN_CHANNELS; i++, sats++) { gpsd_report(LOG_INF, "Garmin: Sat %3d, snr: %5u, elev: %2d, Azmth: %3d, Stat: %x\n", sats->svid, GPSD_LE16TOH(sats->snr), sats->elev, GPSD_LE16TOH(sats->azmth), sats->status); if (255 == (int)sats->svid) { // Garmin uses 255 for empty // gpsd uses 0 for empty continue; } if ((int)sats->svid <= 32) session->gpsdata.PRN[j] = (int)sats->svid; /* GPS */ else session->gpsdata.PRN[j] = (int)sats->svid + 87; /* SBAS */ session->gpsdata.azimuth[j] = (int)GPSD_LE16TOH(sats->azmth); session->gpsdata.elevation[j] = (int)sats->elev; // Garmin does not document this. snr is in dB*100 // Known, but not seen satellites have a dB value of -1*100 session->gpsdata.ss[j] = (float)(GPSD_LE16TOH(sats->snr) / 100.0); if (session->gpsdata.ss[j] == -1) { continue; } // FIX-ME: Garmin documents this, but Daniel Dorau // says the behavior on his GPSMap60CSX // doesn't match it. if ((uint8_t) 0 != (sats->status & 4)) { // used in solution? session->gpsdata.used[session->gpsdata.satellites_used++] = session->gpsdata.PRN[j]; } session->gpsdata.satellites_visible++; j++; } session->gpsdata.skyview_time = NAN; if (session->gpsdata.satellites_visible > 0) mask |= SATELLITE_SET; if (session->gpsdata.satellites_used > 0) mask |= USED_IS; gpsd_report(LOG_DATA, "Garmin: SAT_DATA: visible=%d used=%d\n", session->gpsdata.satellites_visible, session->gpsdata.satellites_used); break; case GARMIN_PKTID_PROTOCOL_ARRAY: // this packet is never requested, it just comes, in some case // after a GARMIN_PKTID_PRODUCT_RQST gpsd_report(LOG_INF, "Garmin: Appl, Product Capability, sz: %d\n", pkt_len); for (i = 0; i < pkt_len; i += 3) { gpsd_report(LOG_INF, "Garmin: %c%03d\n", buf[i], get_uint16((uint8_t *) & buf[i + 1])); } break; default: gpsd_report(LOG_WARN, "Garmin: Unknown packet id: %#02x, Sz: %#02x\n", pkt_id, pkt_len); break; } gpsd_report(LOG_IO, "Garmin: PrintSERPacket(, %#02x, %#02x, )\n", pkt_id, pkt_len); return mask; } /*@ -branchstate @*/ // For debugging, decodes and prints some known packets. static gps_mask_t PrintUSBPacket(struct gps_device_t *session, Packet_t * pkt) { gps_mask_t mask = 0; int maj_ver; int min_ver; uint32_t mode = 0; uint16_t prod_id = 0; uint32_t veri = 0; uint32_t serial; uint32_t mDataSize = get_int32((uint8_t *) & pkt->mDataSize); // uint8_t *buffer = (uint8_t *) pkt; gpsd_report(LOG_PROG, "Garmin: PrintUSBPacket()\n"); // gem if (DLE == pkt->mPacketType) { gpsd_report(LOG_PROG, "Garmin: really a SER packet!\n"); return PrintSERPacket(session, (unsigned char)buffer[1], (int)buffer[2], (unsigned char *)(buffer + 3)); } // gem if (4096 < mDataSize) { gpsd_report(LOG_WARN, "Garmin: bogus packet, size too large=%d\n", mDataSize); return 0; } (void)snprintf(session->gpsdata.tag, sizeof(session->gpsdata.tag), "%u", (unsigned int)pkt->mPacketType); switch (pkt->mPacketType) { case GARMIN_LAYERID_TRANSPORT: /* Garmin USB layer specific */ switch (pkt->mPacketId) { case GARMIN_PKTID_TRANSPORT_START_SESSION_REQ: gpsd_report(LOG_PROG, "Garmin: Transport, Start Session req\n"); break; case GARMIN_PKTID_TRANSPORT_START_SESSION_RESP: mode = get_int32(&pkt->mData.uchars[0]); gpsd_report(LOG_PROG, "Garmin: Transport, Start Session resp, unit: 0x%x\n", mode); break; default: gpsd_report(LOG_PROG, "Garmin: Transport, Packet: Type %d %d %d, ID: %d, Sz: %d\n", pkt->mPacketType, pkt->mReserved1, pkt->mReserved2, pkt->mPacketId, mDataSize); break; } break; case GARMIN_LAYERID_APPL: /* raw data transport, shared with Garmin Serial Driver */ mask = PrintSERPacket(session, (unsigned char)pkt->mPacketId, (int)mDataSize, (unsigned char *)pkt->mData.uchars); break; case 75: // private, garmin USB kernel driver specific switch (pkt->mPacketId) { case PRIV_PKTID_SET_MODE: prod_id = get_uint16(&pkt->mData.uchars[0]); gpsd_report(LOG_PROG, "Garmin: Private, Set Mode: %d\n", prod_id); break; case PRIV_PKTID_INFO_REQ: gpsd_report(LOG_PROG, "Garmin: Private, ID: Info Req\n"); break; case PRIV_PKTID_INFO_RESP: veri = get_int32(pkt->mData.uchars); maj_ver = (int)(veri >> 16); min_ver = (int)(veri & 0xffff); mode = get_int32(&pkt->mData.uchars[4]); serial = get_int32(&pkt->mData.uchars[8]); gpsd_report(LOG_PROG, "Garmin: Private, ID: Info Resp\n"); gpsd_report(LOG_INF, "Garmin: USB Driver found, Version %d.%d, Mode: %d, GPS Serial# %u\n", maj_ver, min_ver, mode, serial); break; default: gpsd_report(LOG_PROG, "Garmin: Private, Packet: ID: %d, Sz: %d\n", pkt->mPacketId, mDataSize); break; } break; default: gpsd_report(LOG_PROG, "Garmin: Packet: Type %d %d %d, ID: %d, Sz: %d\n", pkt->mPacketType, pkt->mReserved1, pkt->mReserved2, pkt->mPacketId, mDataSize); break; } return mask; } /*@ +branchstate @*/ #if defined(__linux__) || defined(S_SPLINT_S) /* build and send a packet w/ USB protocol */ static void Build_Send_USB_Packet(struct gps_device_t *session, uint32_t layer_id, uint32_t pkt_id, uint32_t length, uint32_t data) { uint8_t *buffer = (uint8_t *) session->driver.garmin.Buffer; Packet_t *thePacket = (Packet_t *) buffer; ssize_t theBytesReturned = 0; ssize_t theBytesToWrite = 12 + (ssize_t) length; set_int32(buffer, layer_id); set_int32(buffer + 4, pkt_id); set_int32(buffer + 8, length); if (2 == length) { set_int16(buffer + 12, data); } else if (4 == length) { set_int32(buffer + 12, data); } (void)PrintUSBPacket(session, thePacket); theBytesReturned = gpsd_write(session, (const char *)thePacket, (size_t) theBytesToWrite); gpsd_report(LOG_IO, "Garmin: SendPacket(), wrote %zd bytes\n", theBytesReturned); // Garmin says: // If the packet size was an exact multiple of the USB packet // size, we must make a final write call with no data // as a practical matter no known packets are 64 bytes long so // this is untested // So here goes just in case if (0 == (theBytesToWrite % ASYNC_DATA_SIZE)) { char *n = ""; (void)gpsd_write(session, n, 0); } } #endif /* __linux__ || S_SPLINT_S */ /* build and send a packet in serial protocol */ /* layer_id unused */ // FIX-ME: This should go through the common message buffer someday static void Build_Send_SER_Packet(struct gps_device_t *session, uint32_t layer_id UNUSED, uint32_t pkt_id, uint32_t length, uint32_t data) { uint8_t *buffer = (uint8_t *) session->driver.garmin.Buffer; uint8_t *buffer0 = buffer; Packet_t *thePacket = (Packet_t *) buffer; ssize_t theBytesReturned = 0; ssize_t theBytesToWrite = 6 + (ssize_t) length; uint8_t chksum = 0; *buffer++ = (uint8_t) DLE; *buffer++ = (uint8_t) pkt_id; chksum = pkt_id; *buffer++ = (uint8_t) length; chksum += length; /* ??? What is this doing? */ if (2 == length) { /* carefull! no DLE stuffing here! */ set_int16(buffer, data); chksum += buffer[0]; chksum += buffer[1]; } else if (4 == length) { /* carefull! no DLE stuffing here! */ set_int32(buffer, data); chksum += buffer[0]; chksum += buffer[1]; chksum += buffer[2]; chksum += buffer[3]; } /* ??? How is data copied to the buffer? */ buffer += length; // Add checksum *buffer++ = -chksum; if (DLE == -chksum) { /* stuff another DLE */ *buffer++ = (uint8_t) DLE; theBytesToWrite++; } // Add DLE, ETX *buffer++ = (uint8_t) DLE; /* we used to say n++ here, but scan-build complains */ *buffer = (uint8_t) ETX; (void)PrintSERPacket(session, (unsigned char)buffer0[1], (int)buffer0[2], (unsigned char *)(buffer0 + 3)); theBytesReturned = gpsd_write(session, (const char *)thePacket, (size_t) theBytesToWrite); gpsd_report(LOG_IO, "Garmin: SendPacket(), wrote %zd bytes\n", theBytesReturned); } #if defined(HAVE_LIBUSB) /* * is_usb_device() - is a specified device USB matching given vendor/product? * * BUG: Doesn't actually match against path yet. Must finish this function * by querying /sys/dev/char, either directly or using libudev. Greg KH * assures this is possible, though he is vague about how. * * libudev: http://www.kernel.org/pub/linux/utils/kernel/hotplug/libudev/ */ /*@-compdef -usedef -nullpass@*/ // cppcheck-suppress unusedFunction static bool is_usb_device(const char *path UNUSED, int vendor, int product) { // discover devices libusb_device **list; ssize_t cnt; ssize_t i = 0; bool found = false; gpsd_report(LOG_INF, "attempting USB device enumeration.\n"); (void)libusb_init(NULL); if ((cnt = libusb_get_device_list(NULL, &list)) < 0) { gpsd_report(LOG_ERROR, "USB device list call failed.\n"); libusb_exit(NULL); return false; } for (i = 0; i < cnt; i++) { struct libusb_device_descriptor desc; libusb_device *dev = list[i]; int r = libusb_get_device_descriptor(dev, &desc); if (r < 0) { gpsd_report(LOG_ERROR, "USB descriptor fetch failed on device %zd.\n", i); continue; } /* we can extract device descriptor data */ gpsd_report(LOG_INF, "%04x:%04x (bus %d, device %d)\n", desc.idVendor, desc.idProduct, libusb_get_bus_number(dev), libusb_get_device_address(dev)); /* we match if vendor and product ID are right */ if (desc.idVendor == (uint16_t)vendor && desc.idProduct == (uint16_t)product) { found = true; break; } } gpsd_report(LOG_SHOUT, "vendor/product match with %04x:%04x %sfound\n", vendor, product, found ? "" : "not "); libusb_free_device_list(list, 1); libusb_exit(NULL); return found; } /*@-compdef -usedef -nullpass@*/ #endif /* HAVE_LIBUSB */ /* * garmin_usb_detect() - detect a Garmin USB device connected to session fd. * * This is ONLY for USB devices reporting as: 091e:0003. * * This driver ONLY works in Linux and ONLY when the garmin_gps kernel * module is installed. * * This is only necessary because under Linux Garmin USB devices need a * kernel module rather than being normal USB-serial devices. * * The actual wire protocol from the Garmin device is very strange. There * are no delimiters. End of packet is signaled by a zero-length read * on the USB device, and start of packet is the next read. You can't just * ignore the zero reads and pass the data through - you'd never be able * to tell where the packet boundaries are. * * The garmin_usb module's job is to grab the packet and frame it in * DLEs (with DLE stuffing). This makes the USB packets look as * though they came from a regular Garmin *serial* device, which is how * most of the processing for both types can be unified here. * * return 1 is device found * return 0 if not */ static bool garmin_usb_detect(struct gps_device_t *session UNUSED) { #if defined(__linux__) || defined(S_SPLINT_S) /* * Only perform this check if we're looking at a USB-serial * device. This prevents drivers for attached serial GPSes * fronm being rudely elbowed aside by this one if they happen * to be trying to coexist with the Garmin. */ if (session->sourcetype != source_usb) return false; else { #ifdef HAVE_LIBUSB if (!is_usb_device(session->gpsdata.dev.path, 0x091e, 0x0003)) return false; if (!gpsd_set_raw(session)) { gpsd_report(LOG_ERROR, "Garmin: garmin_usb_detect: error changing port attributes: %s\n", strerror(errno)); return false; } if (sizeof(session->driver.garmin.Buffer) < sizeof(Packet_t)) { /* dunno how this happens, but it does on some compilers */ gpsd_report(LOG_ERROR, "Garmin: garmin_usb_detect: Compile error, garmin.Buffer too small.\n"); return false; } // FIXME!!! needs to use libusb totally and move garmin_gps aside */ // set Mode 1, mode 0 is broken somewhere past 2.6.14 // but how? gpsd_report(LOG_PROG, "Garmin: Set garmin_gps driver mode = 0\n"); Build_Send_USB_Packet(session, GARMIN_LAYERID_PRIVATE, PRIV_PKTID_SET_MODE, 4, MODE_GARMIN_SERIAL); // expect no return packet !? return true; #else return false; #endif /* HAVE_LIBUSB */ } #else return false; #endif /* __linux__ || S_SPLINT_S */ } static void garmin_event_hook(struct gps_device_t *session, event_t event) { if (session->context->readonly) return; /* * FIX-ME: It might not be necessary to call this on reactivate. * Experiment to see if the holds its settings through a close. */ if (event == event_identified || event == event_reactivate) { // Tell the device to send product data gpsd_report(LOG_PROG, "Garmin: Get Product Data\n"); Build_Send_SER_Packet(session, GARMIN_LAYERID_APPL, GARMIN_PKTID_PRODUCT_RQST, 0, 0); // turn on PVT data 49 gpsd_report(LOG_PROG, "Garmin: Set to send reports every 1 second\n"); Build_Send_SER_Packet(session, GARMIN_LAYERID_APPL, GARMIN_PKTID_L001_COMMAND_DATA, 2, CMND_START_PVT_DATA); #if USE_RMD // turn on RMD data 110 gpsd_report(LOG_PROG, "Garmin: Set to send Raw sat data\n"); Build_Send_SER_Packet(session, GARMIN_LAYERID_APPL, GARMIN_PKTID_L001_COMMAND_DATA, 2, CMND_START_RM_DATA); #endif } if (event == event_deactivate) /* FIX-ME: is any action needed, or is closing the port sufficient? */ gpsd_report(LOG_PROG, "Garmin: garmin_close()\n"); } #define Send_ACK() Build_Send_SER_Packet(session, 0, ACK, 0, 0) #define Send_NAK() Build_Send_SER_Packet(session, 0, NAK, 0, 0) /*@ +charint @*/ gps_mask_t garmin_ser_parse(struct gps_device_t *session) { unsigned char *buf = session->packet.outbuffer; size_t len = session->packet.outbuflen; unsigned char data_buf[MAX_BUFFER_SIZE]; unsigned char c; int i = 0; size_t n = 0; int data_index = 0; int got_dle = 0; unsigned char pkt_id = 0; unsigned char pkt_len = 0; unsigned char chksum = 0; gps_mask_t mask = 0; if (session->packet.type == GARMIN_PACKET) session->gpsdata.dev.driver_mode = MODE_BINARY; gpsd_report(LOG_RAW, "Garmin: garmin_ser_parse()\n"); if (6 > len) { /* WTF? */ /* minimum packet; [pkt id] [length=0] [chksum] */ Send_NAK(); gpsd_report(LOG_RAW + 1, "Garmin: serial too short: %zd\n", len); return 0; } /* debug */ for (i = 0; i < (int)len; i++) { gpsd_report(LOG_RAW + 1, "Garmin: Char: %#02x\n", buf[i]); } if ('\x10' != buf[0]) { Send_NAK(); gpsd_report(LOG_RAW + 1, "Garmin: buf[0] not DLE\n"); return 0; } n = 1; pkt_id = buf[n++]; chksum = pkt_id; if ('\x10' == pkt_id) { if ('\x10' != buf[n++]) { Send_NAK(); gpsd_report(LOG_RAW + 1, "Garmin: Bad pkt_id %#02x\n", pkt_id); return 0; } } pkt_len = buf[n++]; chksum += pkt_len; if ('\x10' == pkt_len) { if ('\x10' != buf[n++]) { gpsd_report(LOG_RAW + 1, "Garmin: Bad pkt_len %#02x\n", pkt_len); Send_NAK(); return 0; } } data_index = 0; for (i = 0; i < 256; i++) { if ((int)pkt_len == data_index) { // got it all break; } if (len < n + i) { gpsd_report(LOG_RAW + 1, "Garmin: Packet too short %zd < %zd\n", len, n + i); Send_NAK(); return 0; } c = buf[n + i]; if (got_dle) { got_dle = 0; if ('\x10' != c) { Send_NAK(); gpsd_report(LOG_RAW + 1, "Garmin: Bad DLE %#02x\n", c); return 0; } } else { chksum += c; data_buf[data_index++] = c; if ('\x10' == c) { got_dle = 1; } } } /* get checksum */ if (len < n + i) { Send_NAK(); gpsd_report(LOG_RAW + 1, "Garmin: No checksum, Packet too short %zd < %zd\n", len, n + i); return 0; } c = buf[n + i++]; chksum += c; /* get final DLE */ if (len < n + i) { Send_NAK(); gpsd_report(LOG_RAW + 1, "Garmin: No final DLE, Packet too short %zd < %zd\n", len, n + i); return 0; } c = buf[n + i++]; if ('\x10' != c) { Send_NAK(); gpsd_report(LOG_RAW + 1, "Garmin: Final DLE not DLE\n"); return 0; } /* get final ETX */ if (len < n + i) { Send_NAK(); gpsd_report(LOG_RAW + 1, "Garmin: No final ETX, Packet too short %zd < %zd\n", len, n + i); return 0; } /* we used to say n++ here, but scan-build complains */ c = buf[n + i]; if ('\x03' != c) { Send_NAK(); gpsd_report(LOG_RAW + 1, "Garmin: Final ETX not ETX\n"); return 0; } /* debug */ /*@ -usedef -compdef @*/ for (i = 0; i < data_index; i++) { gpsd_report(LOG_RAW + 1, "Garmin: Char: %#02x\n", data_buf[i]); } gpsd_report(LOG_IO, "Garmin: garmin_ser_parse() Type: %#02x, Len: %#02x, chksum: %#02x\n", pkt_id, pkt_len, chksum); mask = PrintSERPacket(session, pkt_id, pkt_len, data_buf); // sending ACK too soon might hang the session // so send ACK last, after a pause (void)usleep(300); Send_ACK(); /*@ +usedef +compdef @*/ gpsd_report(LOG_IO, "Garmin: garmin_ser_parse( )\n"); return mask; } /*@ -charint @*/ #ifdef RECONFIGURE_ENABLE static void settle(void) { struct timespec delay, rem; /*@ -type -unrecog @*/ memset(&delay, 0, sizeof(delay)); delay.tv_sec = 0; delay.tv_nsec = 333000000L; nanosleep(&delay, &rem); /*@ +type +unrecog @*/ } static void garmin_switcher(struct gps_device_t *session, int mode) { if (mode == MODE_NMEA) { /*@ +charint @*/ const char switcher[] = { 0x10, 0x0A, 0x02, 0x26, 0x00, 0xCE, 0x10, 0x03 }; // Note hard-coded string length in the next line... ssize_t status = gpsd_write(session, switcher, sizeof(switcher)); /*@ -charint @*/ if (status == (ssize_t)sizeof(switcher)) { gpsd_report(LOG_IO, "Garmin: => GPS: turn off binary %02x %02x %02x... \n", switcher[0], switcher[1], switcher[2]); session->gpsdata.dev.driver_mode = MODE_NMEA; } else { gpsd_report(LOG_ERROR, "Garmin: => GPS: FAILED\n"); } settle(); // wait 333mS, essential! /* once a sec, no binary, no averaging, NMEA 2.3, WAAS */ (void)nmea_send(session, "$PGRMC1,1,1"); //(void)nmea_send(fd, "$PGRMC1,1,1,1,,,,2,W,N"); (void)nmea_send(session, "$PGRMI,,,,,,,R"); settle(); // wait 333mS, essential! } else { (void)nmea_send(session, "$PGRMC1,1,2,1,,,,2,W,N"); (void)nmea_send(session, "$PGRMI,,,,,,,R"); session->gpsdata.dev.driver_mode = MODE_BINARY; settle(); // wait 333mS, essential! } } #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE static ssize_t garmin_control_send(struct gps_device_t *session, char *buf, size_t buflen) /* not used by the daemon, it's for gpsctl and friends */ { /*@ -mayaliasunique @*/ session->msgbuflen = buflen; (void)memcpy(session->msgbuf, buf, buflen); return gpsd_write(session, session->msgbuf, session->msgbuflen); /*@ +mayaliasunique @*/ } #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE static double garmin_ntp_offset(struct gps_device_t *session) { if (session->sourcetype == source_usb) { return 0.035; /* Garmin USB, expect +/- 40mS jitter */ } /* only two sentences ships time */ /* but the PVT data is always first */ switch (session->gpsdata.dev.baudrate) { case 4800: return 0.430; /* TBD */ case 9600: return 0.430; /* tested 12Arp10 */ case 19200: return 0.430; /* TBD */ case 38400: return 0.430; /* TBD */ } return 0.430; /* WTF? WAG */ } #endif /* NTPSHM_ENABLE */ /* this is everything we export */ #ifdef __UNUSED__ static int GetPacket(struct gps_device_t *session); //----------------------------------------------------------------------------- // Gets a single packet. // this is odd, the garmin usb driver will only return 64 bytes, or less // at a time, no matter what you ask for. // // is you ask for less than 64 bytes then the next packet will include // just the remaining bytes of the last 64 byte packet. // // Reading a packet of length Zero, or less than 64, signals the end of // the entire packet. // // The Garmin sample WinXX code also assumes the same behavior, so // maybe it is something in the USB protocol. // // Return: 0 = got a good packet // -1 = error // 1 = got partial packet static int GetPacket(struct gps_device_t *session) { struct timespec delay, rem; int cnt = 0; // int x = 0; // for debug dump memset(session->driver.garmin.Buffer, 0, sizeof(Packet_t)); memset(&delay, 0, sizeof(delay)); session->driver.garmin.BufferLen = 0; session->packet.outbuflen = 0; gpsd_report(LOG_IO, "Garmin: GetPacket()\n"); for (cnt = 0; cnt < 10; cnt++) { size_t pkt_size; // Read async data until the driver returns less than the // max async data size, which signifies the end of a packet // not optimal, but given the speed and packet nature of // the USB not too bad for a start ssize_t theBytesReturned = 0; uint8_t *buf = (uint8_t *) session->driver.garmin.Buffer; Packet_t *thePacket = (Packet_t *) buf; theBytesReturned = read(session->gpsdata.gps_fd, buf + session->driver.garmin.BufferLen, ASYNC_DATA_SIZE); // zero byte returned is a legal value and denotes the end of a // binary packet. if (0 > theBytesReturned) { // read error... // or EAGAIN, but O_NONBLOCK is never set gpsd_report(LOG_ERROR, "Garmin: GetPacket() read error=%d, errno=%d\n", theBytesReturned, errno); continue; } gpsd_report(LOG_RAW, "Garmin: got %d bytes\n", theBytesReturned); session->driver.garmin.BufferLen += theBytesReturned; if (256 <= session->driver.garmin.BufferLen) { // really bad read error... gpsd_report(LOG_ERROR, "Garmin: GetPacket() packet too long, %ld > 255 !\n", session->driver.garmin.BufferLen); session->driver.garmin.BufferLen = 0; break; } pkt_size = 12 + get_int32((uint8_t *) & thePacket->mDataSize); if (12 <= session->driver.garmin.BufferLen) { // have enough data to check packet size if (session->driver.garmin.BufferLen > pkt_size) { // wrong amount of data in buffer gpsd_report(LOG_ERROR, "Garmin: GetPacket() packet size wrong! Packet: %ld, s/b %ld\n", session->driver.garmin.BufferLen, pkt_size); session->driver.garmin.BufferLen = 0; break; } } if (64 > theBytesReturned) { // zero length, or short, read is a flag for got the whole packet break; } /*@ ignore @*/ delay.tv_sec = 0; delay.tv_nsec = 3330000L; while (nanosleep(&delay, &rem) == -1) continue; /*@ end @*/ } // dump the individual bytes, debug only // for ( x = 0; x < session->driver.garmin.BufferLen; x++ ) { // gpsd_report(LOG_RAW+1, "Garmin: p[%d] = %x\n", x, session->driver.garmin.Buffer[x]); // } if (10 <= cnt) { gpsd_report(LOG_ERROR, "Garmin: GetPacket() packet too long or too slow!\n"); return -1; } gpsd_report(LOG_RAW, "Garmin: GotPacket() sz=%d \n", session->driver.garmin.BufferLen); session->packet.outbuflen = session->driver.garmin.BufferLen; return 0; } static gps_mask_t garmin_usb_parse(struct gps_device_t *session) { gpsd_report(LOG_PROG, "Garmin: garmin_usb_parse()\n"); return PrintUSBPacket(session, (Packet_t *) session->driver.garmin.Buffer); } static ssize_t garmin_get_packet(struct gps_device_t *session) { return (ssize_t) (0 == GetPacket(session) ? 1 : 0); } /* *INDENT-OFF* */ const struct gps_type_t garmin_usb_binary_old = { .type_name = "Garmin USB binary", /* full name of type */ .packet_type = GARMIN_PACKET; /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no flags set */ .trigger = NULL, /* no trigger, it has a probe */ .channels = GARMIN_CHANNELS, /* consumer-grade GPS */ .probe_detect = garmin_usb_detect,/* how to detect at startup time */ .get_packet = garmin_get_packet,/* how to grab a packet */ .parse_packet = garmin_usb_parse, /* parse message packets */ .rtcm_writer = NULL, /* don't send DGPS corrections */ .event_hook = garmin_event_hook,/* lifetime event handler */ #ifdef RECONFIGURE_ENABLE .speed_switcher = NULL, /* no speed switcher */ .mode_switcher = NULL, /* no mode switcher */ .rate_switcher = NULL, /* no sample-rate switcher */ .min_cycle = 1, /* not relevant, no rate switch */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = garmin_control_send, /* send raw bytes */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = garmin_ntp_offset, #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #endif /* __UNUSED__ */ /* *INDENT-OFF* */ const struct gps_type_t garmin_usb_binary = { .type_name = "Garmin USB binary", /* full name of type */ .packet_type = GARMIN_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no flags set */ .trigger = NULL, /* no trigger, it has a probe */ .channels = GARMIN_CHANNELS, /* consumer-grade GPS */ .probe_detect = garmin_usb_detect,/* how to detect at startup time */ .get_packet = generic_get, /* how to grab a packet */ .parse_packet = garmin_ser_parse, /* parse message packets */ .rtcm_writer = NULL, /* don't send DGPS corrections */ .event_hook = garmin_event_hook,/* lifetime ebent handler */ #ifdef RECONFIGURE_ENABLE .speed_switcher = NULL, /* no speed switcher */ .mode_switcher = NULL, /* Garmin USB Binary has no NMEA */ .rate_switcher = NULL, /* no sample-rate switcher */ .min_cycle = 1, /* not relevant, no rate switch */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = garmin_control_send, /* send raw bytes */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = garmin_ntp_offset, #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ /* *INDENT-OFF* */ const struct gps_type_t garmin_ser_binary = { .type_name = "Garmin Serial binary", /* full name of type */ .packet_type = GARMIN_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no flags set */ .trigger = NULL, /* no trigger, it has a probe */ .channels = GARMIN_CHANNELS, /* consumer-grade GPS */ .probe_detect = NULL, /* how to detect at startup time */ .get_packet = generic_get, /* how to grab a packet */ .parse_packet = garmin_ser_parse, /* parse message packets */ .rtcm_writer = NULL, /* don't send DGPS corrections */ .event_hook = NULL, /* lifetime event handler */ #ifdef RECONFIGURE_ENABLE .speed_switcher = NULL, /* no speed switcher */ .mode_switcher = garmin_switcher, /* how to change modes */ .rate_switcher = NULL, /* no sample-rate switcher */ .min_cycle = 1, /* not relevant, no rate switch */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = garmin_control_send, /* send raw bytes */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = garmin_ntp_offset, #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #endif /* GARMIN_ENABLE */ gpsd-3.9/driver_garmin_txt.c0000664000175000017500000003465411762140434014401 0ustar esresr/* * Handle the Garmin simple text format supported by some Garmins. * Tested with the 'Garmin eTrex Legend' device working in 'Text Out' mode. * * Protocol info from: * http://www8.garmin.com/support/text_out.html * http://www.garmin.com/support/commProtocol.html * * Code by: Petr Slansky * all rights abandoned, a thank would be nice if you use this code. * * -D 3 = packet trace * -D 4 = packet details * -D 5 = more packet details * -D 6 = very excessive details * * limitations: * very simple protocol, only very basic information * TODO * do not have from garmin: * pdop * vdop * magnetic variation * satellite information * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. * */ /*************************************************** Garmin Simple Text Output Format: The simple text (ASCII) output contains time, position, and velocity data in the fixed width fields (not delimited) defined in the following table: FIELD DESCRIPTION: WIDTH: NOTES: ----------------------- ------- ------------------------ Sentence start 1 Always '@' ----------------------- ------- ------------------------ /Year 2 Last two digits of UTC year | ----------------------- ------- ------------------------ | Month 2 UTC month, "01".."12" T | ----------------------- ------- ------------------------ i | Day 2 UTC day of month, "01".."31" m | ----------------------- ------- ------------------------ e | Hour 2 UTC hour, "00".."23" | ----------------------- ------- ------------------------ | Minute 2 UTC minute, "00".."59" | ----------------------- ------- ------------------------ \Second 2 UTC second, "00".."59" ----------------------- ------- ------------------------ /Latitude hemisphere 1 'N' or 'S' | ----------------------- ------- ------------------------ | Latitude position 7 WGS84 ddmmmmm, with an implied | decimal after the 4th digit | ----------------------- ------- ------------------------ | Longitude hemishpere 1 'E' or 'W' | ----------------------- ------- ------------------------ | Longitude position 8 WGS84 dddmmmmm with an implied P | decimal after the 5th digit o | ----------------------- ------- ------------------------ s | Position status 1 'd' if current 2D differential GPS position i | 'D' if current 3D differential GPS position t | 'g' if current 2D GPS position i | 'G' if current 3D GPS position o | 'S' if simulated position n | '_' if invalid position | ----------------------- ------- ------------------------ | Horizontal posn error 3 EPH in meters | ----------------------- ------- ------------------------ | Altitude sign 1 '+' or '-' | ----------------------- ------- ------------------------ | Altitude 5 Height above or below mean \ sea level in meters ----------------------- ------- ------------------------ /East/West velocity 1 'E' or 'W' | direction | ----------------------- ------- ------------------------ | East/West velocity 4 Meters per second in tenths, | magnitude ("1234" = 123.4 m/s) V | ----------------------- ------- ------------------------ e | North/South velocity 1 'N' or 'S' l | direction o | ----------------------- ------- ------------------------ c | North/South velocity 4 Meters per second in tenths, i | magnitude ("1234" = 123.4 m/s) t | ----------------------- ------- ------------------------ y | Vertical velocity 1 'U' or 'D' (up/down) | direction | ----------------------- ------- ------------------------ | Vertical velocity 4 Meters per second in hundredths, \ magnitude ("1234" = 12.34 m/s) ----------------------- ------- ------------------------ Sentence end 2 Carriage return, '0x0D', and line feed, '0x0A' ----------------------- ------- ------------------------ If a numeric value does not fill its entire field width, the field is padded with leading '0's (eg. an altitude of 50 meters above MSL will be output as "+00050"). Any or all of the data in the text sentence (except for the sentence start and sentence end fields) may be replaced with underscores to indicate invalid data. ***************************************************/ #include #include #include #include #include #include "gpsd.h" #ifdef GARMINTXT_ENABLE /* Simple text message is fixed length, 55 chars text data + 2 characters EOL */ /* buffer for text processing */ #define TXT_BUFFER_SIZE 13 /************************************************************************** * decode text string to double number, translate prefix to sign * return 0: OK * -1: data error * -2: data not valid * * examples: * gar_decode(cbuf, 9, "EW", 100000.0, &result); * E01412345 -> +14.12345 * gar_decode(cbuf, 9, "EW", 100000.0, &result); * W01412345 -> -14.12345 * gar_decode(cbuf, 3, "", 10.0, &result); * 123 -> +12.3 **************************************************************************/ static int gar_decode(const char *data, const size_t length, const char *prefix, const double dividor, /*@out@*/ double *result) { char buf[10]; float sign = 1.0; int preflen = (int)strlen(prefix); int offset = 1; /* assume one character prefix (E,W,S,N,U,D, etc) */ long int intresult; /* splint is buggy here, thinks buf can be a null pointer */ /*@ -mustdefine -nullderef -nullpass @*/ if (length >= sizeof(buf)) { gpsd_report(LOG_ERROR, "internal buffer too small\n"); return -1; } bzero(buf, (int)sizeof(buf)); (void)strlcpy(buf, data, length); gpsd_report(LOG_RAW + 2, "Decoded string: %s\n", buf); if (strchr(buf, '_') != NULL) { /* value is not valid, ignore it */ return -2; } /* parse prefix */ do { if (preflen == 0) { offset = 0; /* only number, no prefix */ break; } /* second character in prefix is flag for negative number */ if (preflen >= 2) { if (buf[0] == prefix[1]) { sign = -1.0; break; } } /* first character in prefix is flag for positive number */ if (preflen >= 1) { if (buf[0] == prefix[0]) { sign = 1.0; break; } } gpsd_report(LOG_WARN, "Unexpected char \"%c\" in data \"%s\"\n", buf[0], buf); return -1; } while (0); if (strspn(buf + offset, "0123456789") != length - offset) { gpsd_report(LOG_WARN, "Invalid value %s\n", buf); return -1; } /*@ +mustdefine +nullderef +nullpass @*/ intresult = atol(buf + offset); if (intresult == 0L) sign = 0.0; /* don't create negative zero */ *result = (double)intresult / dividor * sign; return 0; /* SUCCESS */ } /************************************************************************** * decode integer from string, check if the result is in expected range * return 0: OK * -1: data error * -2: data not valid **************************************************************************/ static int gar_int_decode(const char *data, const size_t length, const unsigned int min, const unsigned int max, /*@out@*/ unsigned int *result) { char buf[6]; unsigned int res; /*@ -mustdefine @*/ if (length >= sizeof(buf)) { gpsd_report(LOG_ERROR, "internal buffer too small\n"); return -1; } bzero(buf, (int)sizeof(buf)); (void)strlcpy(buf, data, length); gpsd_report(LOG_RAW + 2, "Decoded string: %s\n", buf); if (strchr(buf, '_') != NULL) { /* value is not valid, ignore it */ return -2; } /*@ -nullpass @*//* splint bug */ if (strspn(buf, "0123456789") != length) { gpsd_report(LOG_WARN, "Invalid value %s\n", buf); return -1; } res = (unsigned)atoi(buf); if ((res >= min) && (res <= max)) { *result = res; return 0; /* SUCCESS */ } else { gpsd_report(LOG_WARN, "Value %u out of range <%u, %u>\n", res, min, max); return -1; } /*@ +mustdefine +nullpass @*/ } /************************************************************************** * * Entry points begin here * **************************************************************************/ gps_mask_t garmintxt_parse(struct gps_device_t * session) { /* parse GARMIN Simple Text sentence, unpack it into a session structure */ gps_mask_t mask = 0; gpsd_report(LOG_PROG, "Garmin Simple Text packet, len %zd: %s\n", session->packet.outbuflen, (char*)session->packet.outbuffer); if (session->packet.outbuflen < 54) { /* trailing CR and LF can be ignored; ('@' + 54x 'DATA' + '\r\n') has length 57 */ gpsd_report(LOG_WARN, "Message is too short, rejected.\n"); return ONLINE_SET; } session->packet.type = GARMINTXT_PACKET; /* TAG message as GTXT, Garmin Simple Text Message */ (void)strlcpy(session->gpsdata.tag, "GTXT", MAXTAGLEN); /* only one message, set cycle start */ session->cycle_end_reliable = true; do { unsigned int result; char *buf = (char *)session->packet.outbuffer + 1; gpsd_report(LOG_PROG, "Timestamp: %.12s\n", buf); /* year */ if (0 != gar_int_decode(buf + 0, 2, 0, 99, &result)) break; session->driver.garmintxt.date.tm_year = (session->context->century + (int)result) - 1900; /* month */ if (0 != gar_int_decode(buf + 2, 2, 1, 12, &result)) break; session->driver.garmintxt.date.tm_mon = (int)result - 1; /* day */ if (0 != gar_int_decode(buf + 4, 2, 1, 31, &result)) break; session->driver.garmintxt.date.tm_mday = (int)result; /* hour */ if (0 != gar_int_decode(buf + 6, 2, 0, 23, &result)) break; session->driver.garmintxt.date.tm_hour = (int)result; /* mday update?? */ /* minute */ if (0 != gar_int_decode(buf + 8, 2, 0, 59, &result)) break; session->driver.garmintxt.date.tm_min = (int)result; /* second */ /* second value can be even 60, occasional leap second */ if (0 != gar_int_decode(buf + 10, 2, 0, 60, &result)) break; session->driver.garmintxt.date.tm_sec = (int)result; session->driver.garmintxt.subseconds = 0; session->newdata.time = (timestamp_t)mkgmtime(&session->driver.garmintxt.date) + session->driver.garmintxt.subseconds; mask |= TIME_SET; } while (0); /* assume that possition is unknown; if the position is known we will fix status information later */ session->newdata.mode = MODE_NO_FIX; session->gpsdata.status = STATUS_NO_FIX; mask |= MODE_SET | STATUS_SET | CLEAR_IS | REPORT_IS; /* process position */ do { double lat, lon; unsigned int degfrag; char status; /* Latitude, [NS]ddmmmmm */ /* decode degrees of Latitude */ if (0 != gar_decode((char *)session->packet.outbuffer + 13, 3, "NS", 1.0, &lat)) break; /* decode minutes of Latitude */ if (0 != gar_int_decode((char *)session->packet.outbuffer + 16, 5, 0, 99999, °frag)) break; lat += degfrag * 100.0 / 60.0 / 100000.0; session->newdata.latitude = lat; /* Longitude, [EW]dddmmmmm */ /* decode degrees of Longitude */ if (0 != gar_decode((char *)session->packet.outbuffer + 21, 4, "EW", 1.0, &lon)) break; /* decode minutes of Longitude */ if (0 != gar_int_decode((char *)session->packet.outbuffer + 25, 5, 0, 99999, °frag)) break; lon += degfrag * 100.0 / 60.0 / 100000.0; session->newdata.longitude = lon; /* fix mode, GPS status, [gGdDS_] */ status = (char)session->packet.outbuffer[30]; switch (status) { case 'G': case 'S': /* 'S' is DEMO mode, assume 3D position */ session->newdata.mode = MODE_3D; session->gpsdata.status = STATUS_FIX; break; case 'D': session->newdata.mode = MODE_3D; session->gpsdata.status = STATUS_DGPS_FIX; break; case 'g': session->newdata.mode = MODE_2D; session->gpsdata.status = STATUS_FIX; break; case 'd': session->newdata.mode = MODE_2D; session->gpsdata.status = STATUS_DGPS_FIX; break; default: session->newdata.mode = MODE_NO_FIX; session->gpsdata.status = STATUS_NO_FIX; } mask |= MODE_SET | STATUS_SET | LATLON_SET; } while (0); /* EPH */ do { double eph; if (0 != gar_decode((char *)session->packet.outbuffer + 31, 3, "", 1.0, &eph)) break; /* eph is a circular error, sqrt(epx**2 + epy**2) */ session->newdata.epx = session->newdata.epy = eph * (1 / sqrt(2)) * (GPSD_CONFIDENCE / CEP50_SIGMA); mask |= HERR_SET; } while (0); /* Altitude */ do { double alt; if (0 != gar_decode((char *)session->packet.outbuffer + 34, 6, "+-", 1.0, &alt)) break; session->newdata.altitude = alt; mask |= ALTITUDE_SET; } while (0); /* Velocity */ do { double ewvel, nsvel, speed, track; if (0 != gar_decode((char *)session->packet.outbuffer + 40, 5, "EW", 10.0, &ewvel)) break; if (0 != gar_decode((char *)session->packet.outbuffer + 45, 5, "NS", 10.0, &nsvel)) break; speed = sqrt(ewvel * ewvel + nsvel * nsvel); /* is this correct formula? Result is in mps */ session->newdata.speed = speed; track = atan2(ewvel, nsvel) * RAD_2_DEG; /* is this correct formula? Result is in degrees */ if (track < 0.0) track += 360.0; session->newdata.track = track; mask |= SPEED_SET | TRACK_SET; } while (0); /* Climb (vertical velocity) */ do { double climb; if (0 != gar_decode((char *)session->packet.outbuffer + 50, 5, "UD", 100.0, &climb)) break; session->newdata.climb = climb; /* climb in mps */ mask |= CLIMB_SET; } while (0); gpsd_report(LOG_DATA, "GTXT: time=%.2f, lat=%.2f lon=%.2f alt=%.2f speed=%.2f track=%.2f climb=%.2f exp=%.2f epy=%.2f mode=%d status=%d\n", session->newdata.time, session->newdata.latitude, session->newdata.longitude, session->newdata.altitude, session->newdata.speed, session->newdata.track, session->newdata.climb, session->newdata.epx, session->newdata.epy, session->newdata.mode, session->gpsdata.status); return mask; } #endif /* GARMINTXT_ENABLE */ gpsd-3.9/driver_geostar.c0000664000175000017500000004255312140074273013664 0ustar esresr/* * This is the gpsd driver for GeoStar Navigation receivers * operating in binary mode. * * Tested with GeoS-1M GPS/GLONASS receiver. * * By Viktar Palstsiuk, viktar.palstsiuk@promwad.com * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include /* for select() */ #include #include #include #include #include "gpsd.h" #include "bits.h" #ifdef GEOSTAR_ENABLE #define GEOSTAR_CHANNELS 24 #define JAN_2008 0x47798280 /* 1199145600 = 2008 - 1970 in seconds */ #define OFFSET(n) ((n)*4+4) static int decode_channel_id (uint32_t ch_id) { int num = 0; num = (int)(ch_id & 0x1F); /* SV ID */ if((ch_id & (1<<30)) == 0) num += GLONASS_PRN_OFFSET; /* GLONASS SV */ else if (num == 0 ) num = 32; /* GPS SV */ return num; } static int geostar_write(struct gps_device_t *session, unsigned int id, unsigned char *data, size_t len) { int i; unsigned long cs = 0; putbyte(session->msgbuf, 0, 'P'); putbyte(session->msgbuf, 1, 'S'); putbyte(session->msgbuf, 2, 'G'); putbyte(session->msgbuf, 3, 'G'); /*@-shiftimplementation +ignoresigns@*/ putbe16(session->msgbuf, 4, id); putbe16(session->msgbuf, 6, len); /*@+shiftimplementation -ignoresigns@*/ /* Copy content */ memcpy(session->msgbuf + 8, data, len * 4); len += 2; /* PSGG + id + len */ /* Calculate checksum */ for (i = 0; (size_t)i < len; i++) { cs ^= getleu32(session->msgbuf, i * 4); } /*@-shiftimplementation +ignoresigns@*/ putle32(session->msgbuf, len * 4, cs); /*@+shiftimplementation -ignoresigns@*/ len += 1; /* Checksum */ session->msgbuflen = len * 4; gpsd_report(LOG_IO, "Sent GeoStar packet id 0x%x\n", id); if (gpsd_write(session, session->msgbuf, session->msgbuflen) != (ssize_t) session->msgbuflen) return -1; return 0; } /* geostar_detect() * * see if it looks like a GeoStar device is listening and * return 1 if found, 0 if not */ static bool geostar_detect(struct gps_device_t *session) { unsigned char buf[1 * 4]; bool ret = false; int myfd; fd_set fdset; struct timeval to; myfd = session->gpsdata.gps_fd; /* request firmware revision and look for a valid response */ /*@-shiftimplementation +ignoresigns@*/ putbe32(buf, 0, 0); /*@+shiftimplementation +ignoresigns@*/ if (geostar_write(session, 0xc1, buf, 1) == 0) { unsigned int n; for (n = 0; n < 3; n++) { FD_ZERO(&fdset); FD_SET(myfd, &fdset); to.tv_sec = 1; to.tv_usec = 0; if (select(myfd + 1, &fdset, NULL, NULL, &to) != 1) break; if (generic_get(session) >= 0) { if (session->packet.type == GEOSTAR_PACKET) { gpsd_report(LOG_RAW, "geostar_detect found\n"); ret = true; break; } } } } return ret; } static gps_mask_t geostar_analyze(struct gps_device_t *session) { int i, j, len; gps_mask_t mask = 0; unsigned int id; int16_t s1, s2, s3; uint16_t uw1, uw2; uint32_t ul1, ul2, ul3, ul4, ul5; double d1, d2, d3, d4, d5; char buf[BUFSIZ]; char buf2[BUFSIZ]; if (session->packet.type != GEOSTAR_PACKET) { gpsd_report(LOG_INF, "geostar_analyze packet type %d\n", session->packet.type); return 0; } /*@ +charint @*/ if (session->packet.outbuflen < 12 || session->packet.outbuffer[0] != 'P') return 0; /* put data part of message in buf */ memset(buf, 0, sizeof(buf)); memcpy(buf, session->packet.outbuffer, session->packet.outbuflen); buf2[len = 0] = '\0'; for (i = 0; i < (int)session->packet.outbuflen; i++) { (void)snprintf(buf2 + strlen(buf2), sizeof(buf2) - strlen(buf2), "%02x", buf[len++] = session->packet.outbuffer[i]); } /*@ -charint @*/ id = (unsigned int)getleu16(session->packet.outbuffer, OFFSET(0)); (void)snprintf(session->gpsdata.tag, sizeof(session->gpsdata.tag), "ID%02x", id); gpsd_report(LOG_IO, "GeoStar packet id 0x%02x length %d: %s\n", id, len, buf2); session->cycle_end_reliable = true; switch (id) { case 0x10: gpsd_report(LOG_INF, "Raw measurements\n"); break; case 0x11: gpsd_report(LOG_INF, "GPS sub-frame data\n"); break; case 0x12: gpsd_report(LOG_INF, "GLONASS sub-frame data\n"); break; case 0x13: d1 = getled64(buf, OFFSET(1)); d2 = getled64(buf, OFFSET(3)); d3 = getled64(buf, OFFSET(5)); d4 = getled64(buf, OFFSET(29)); /* GPS time */ d5 = getled64(buf, OFFSET(31)); /* GLONASS time */ gpsd_report(LOG_INF, "ECEF coordinates %g %g %g %f %f\n", d1, d2, d3, d4, d5); break; case 0x20: d1 = getled64(buf, OFFSET(1)); /* time */ session->newdata.time = d1 + JAN_2008; session->newdata.latitude = getled64(buf, OFFSET(3)) * RAD_2_DEG; session->newdata.longitude = getled64(buf, OFFSET(5)) * RAD_2_DEG; session->newdata.altitude = getled64(buf, OFFSET(7)); session->gpsdata.separation = getled64(buf, OFFSET(9)); session->gpsdata.satellites_used = (int)getles32(buf, OFFSET(11)); session->gpsdata.dop.gdop = getled64(buf, OFFSET(13)); session->gpsdata.dop.pdop = getled64(buf, OFFSET(15)); session->gpsdata.dop.tdop = getled64(buf, OFFSET(17)); session->gpsdata.dop.hdop = getled64(buf, OFFSET(19)); session->gpsdata.dop.vdop = getled64(buf, OFFSET(21)); session->newdata.speed = getled64(buf, OFFSET(31)); session->newdata.track = getled64(buf, OFFSET(33)) * RAD_2_DEG; ul1 = getleu32(buf, OFFSET(29)); /* status */ if (ul1 != 0) { session->gpsdata.status = STATUS_NO_FIX; mask |= STATUS_SET; } else { if (session->gpsdata.status < STATUS_FIX) { session->gpsdata.status = STATUS_FIX; mask |= STATUS_SET; } } mask |= TIME_SET | PPSTIME_IS | LATLON_SET | ALTITUDE_SET | SPEED_SET | TRACK_SET | DOP_SET | USED_IS | REPORT_IS; gpsd_report(LOG_INF, "Geographic coordinates %f %g %g %g %g %g\n", d1, session->newdata.latitude, session->newdata.longitude, session->newdata.altitude, session->newdata.speed, session->newdata.track); gpsd_report(LOG_INF, "Dilution of precision %g %g %g %g %g\n", session->gpsdata.dop.gdop, session->gpsdata.dop.pdop, session->gpsdata.dop.tdop, session->gpsdata.dop.hdop, session->gpsdata.dop.vdop); break; case 0x21: ul1 = getleu32(buf, OFFSET(1)); ul2 = getleu32(buf, OFFSET(2)); uw1 = getleu16(buf, OFFSET(3)); uw2 = getleu16(buf, OFFSET(3) + 2); gpsd_report(LOG_INF, "Current receiver telemetry %x %d %d %d\n", ul1, ul2, uw1, uw2); if(ul1 & (1<<3)) { session->newdata.mode = MODE_2D; } else { session->newdata.mode = MODE_3D; } if(ul1 & (1<<2)) { session->gpsdata.status = STATUS_FIX; } else { session->gpsdata.status = STATUS_NO_FIX; session->newdata.mode = MODE_NO_FIX; } mask |= MODE_SET | STATUS_SET; break; case 0x22: ul1 = getleu32(buf, OFFSET(1)); gpsd_report(LOG_INF, "SVs in view %d\n", ul1); session->gpsdata.satellites_visible = (int)ul1; if(ul1 > GEOSTAR_CHANNELS) ul1 = GEOSTAR_CHANNELS; for(i = 0, j = 0; (uint32_t)i < ul1; i++) { ul2 = getleu32(buf, OFFSET(2) + i * 3 * 4); s1 = getles16(buf, OFFSET(3) + i * 3 * 4); s2 = getles16(buf, OFFSET(3) + 2 + i * 3 * 4); s3 = getles16(buf, OFFSET(4) + 2 + i * 3 * 4); gpsd_report(LOG_INF, "ID %d Az %g El %g SNR %g\n", decode_channel_id(ul2), s1*0.001*RAD_2_DEG, s2*0.001*RAD_2_DEG, s3*0.1); session->gpsdata.PRN[i] = decode_channel_id(ul2); session->gpsdata.azimuth[i] = (int)round((double)s1*0.001 * RAD_2_DEG); session->gpsdata.elevation[i] = (int)round((double)s2*0.001 * RAD_2_DEG); session->gpsdata.ss[i] = (double)s3*0.1; if(ul2 & (1<<27)) { session->gpsdata.used[j++] = decode_channel_id(ul2); } } session->gpsdata.skyview_time = NAN; mask |= SATELLITE_SET | USED_IS; break; case 0x3e: ul1 = getleu32(buf, OFFSET(1)); ul2 = getleu32(buf, OFFSET(2)); ul3 = getleu32(buf, OFFSET(3)); gpsd_report(LOG_INF, "Receiver power-up message %d %d %d\n", ul1, ul2, ul3); break; case 0x3f: ul1 = getleu32(buf, OFFSET(1)); ul2 = getleu32(buf, OFFSET(2)); gpsd_report(LOG_WARN, "Negative acknowledge %x %d\n", ul1, ul2); break; case 0x40: gpsd_report(LOG_INF, "Response to Set initial parameters\n"); break; case 0x41: gpsd_report(LOG_INF, "Response to Set serial ports parameters\n"); break; case 0x42: ul1 = getleu32(buf, OFFSET(1)); ul2 = getleu32(buf, OFFSET(2)); ul3 = getleu32(buf, OFFSET(3)); gpsd_report(LOG_INF, "Response to Set receiver operation mode %d %d %d\n", ul1, ul2, ul3); break; case 0x43: gpsd_report(LOG_INF, "Response to Set navigation task solution parameters\n"); break; case 0x44: gpsd_report(LOG_INF, "Response to Set output data rate\n"); break; case 0x46: gpsd_report(LOG_INF, "Response to Assign data protocol to communication port\n"); break; case 0x48: gpsd_report(LOG_INF, "Response to Set GPS almanac\n"); break; case 0x49: gpsd_report(LOG_INF, "Response to Set GLONASS almanac\n"); break; case 0x4a: gpsd_report(LOG_INF, "Response to Set GPS ephemeris\n"); break; case 0x4b: gpsd_report(LOG_INF, "Response to Set GLONASS ephemeris\n"); break; case 0x4c: ul1 = getleu32(buf, OFFSET(1)); ul2 = getleu32(buf, OFFSET(2)); ul3 = getleu32(buf, OFFSET(3)); ul4 = getleu32(buf, OFFSET(4)); ul5 = getleu32(buf, OFFSET(5)); gpsd_report(LOG_INF, "Response to Set PPS parameters %d %d %d %d %d\n", ul1, ul2, ul3, ul4, ul5); break; case 0x4d: gpsd_report(LOG_INF, "Response to Enable/disable SV in position fix\n"); break; case 0x4e: gpsd_report(LOG_INF, "Response to Enable/disable NMEA messages\n"); break; case 0x4f: ul1 = getleu32(buf, OFFSET(1)); ul2 = getleu32(buf, OFFSET(2)); gpsd_report(LOG_INF, "Response to Enable/disable binary messages %x %x\n", ul1, ul2); break; case 0x80: gpsd_report(LOG_INF, "Response to Query initial parameters\n"); break; case 0x81: gpsd_report(LOG_INF, "Response to Query serial ports parameters\n"); break; case 0x82: ul1 = getleu32(buf, OFFSET(1)); ul2 = getleu32(buf, OFFSET(2)); ul3 = getleu32(buf, OFFSET(3)); gpsd_report(LOG_INF, "Response to Query receiver operation mode %d %d %d\n", ul1, ul2, ul3); break; case 0x83: gpsd_report(LOG_INF, "Response to Query navigation task solution parameters\n"); break; case 0x84: gpsd_report(LOG_INF, "Response to Query output data rate\n"); break; case 0x86: session->driver.geostar.physical_port = (unsigned int)getleu32(buf, OFFSET(1)); gpsd_report(LOG_INF, "Response to Query data protocol assignment to communication port\n"); gpsd_report(LOG_INF, "Connected to physical port %d\n", session->driver.geostar.physical_port); break; case 0x88: gpsd_report(LOG_INF, "Response to Query GPS almanac\n"); break; case 0x89: gpsd_report(LOG_INF, "Response to Query GLONASS almanac\n"); break; case 0x8a: gpsd_report(LOG_INF, "Response to Query GPS ephemerides\n"); break; case 0x8b: d1 = getled64(buf, OFFSET(23)); d2 = getled64(buf, OFFSET(25)); d3 = getled64(buf, OFFSET(27)); gpsd_report(LOG_INF, "Response to Query GLONASS ephemerides %g %g %g\n", d1, d2, d3); break; case 0x8c: ul1 = getleu32(buf, OFFSET(1)); ul2 = getleu32(buf, OFFSET(2)); ul3 = getleu32(buf, OFFSET(3)); ul4 = getleu32(buf, OFFSET(4)); ul5 = getleu32(buf, OFFSET(5)); gpsd_report(LOG_INF, "Response to Query PPS parameters %d %d %d %d %d\n", ul1, ul2, ul3, ul4, ul5); break; case 0x8d: gpsd_report(LOG_INF, "Response to Query enable/disable status of the SV in position fix\n"); break; case 0x8e: gpsd_report(LOG_INF, "Response to Query enable NMEA messages\n"); break; case 0x8f: ul1 = getleu32(buf, OFFSET(1)); ul2 = getleu32(buf, OFFSET(2)); gpsd_report(LOG_INF, "Response to Query enable binary messages %x %x\n", ul1, ul2); break; case 0xc0: gpsd_report(LOG_INF, "Response to Change operation mode command\n"); break; case 0xc1: ul4 = getleu32(buf, OFFSET(1)); ul1 = getleu32(buf, OFFSET(2)); ul2 = getleu32(buf, OFFSET(3)); ul3 = getleu32(buf, OFFSET(4)); /*@ -formattype @*/ (void)snprintf(session->subtype, sizeof(session->subtype), "%d.%d %d.%d.%d %x %c-%d\n", ul4>>16, ul4&0xFFFF, ul1>>9, (ul1>>5)&0xF, ul1&0x1F, ul2, ul3>>24, ul3&0x00FFFFFF); /*@ +formattype @*/ gpsd_report(LOG_INF, "Response to Request FW version command: %s\n", session->subtype); mask |= DEVICEID_SET; break; case 0xc2: gpsd_report(LOG_INF, "Response to Restart receiver command\n"); break; case 0xc3: gpsd_report(LOG_INF, "Response to Store parameters to Flash command\n"); break; case 0xd0: gpsd_report(LOG_INF, "Response to Erase Flash sector command\n"); break; case 0xd1: gpsd_report(LOG_INF, "Response to Write data to Flash command\n"); break; case 0xd2: gpsd_report(LOG_INF, "Response to Store Serial Number command\n"); break; default: gpsd_report(LOG_WARN, "Unhandled GeoStar packet type 0x%02x\n", id); break; } return mask; } static gps_mask_t geostar_parse_input(struct gps_device_t *session) { if (session->packet.type == GEOSTAR_PACKET) { gps_mask_t st; st = geostar_analyze(session); session->gpsdata.dev.driver_mode = MODE_BINARY; return st; } else return 0; } #ifdef CONTROLSEND_ENABLE static ssize_t geostar_control_send(struct gps_device_t *session, char *buf, size_t buflen) /* not used by the daemon, it's for gpsctl and friends */ { return (ssize_t) geostar_write(session, (unsigned int)buf[0], (unsigned char *)buf + 1, (buflen - 1)/4); } #endif /* CONTROLSEND_ENABLE */ static void geostar_event_hook(struct gps_device_t *session, event_t event) { unsigned char buf[2 * 4]; if (session->context->readonly) return; /*@-shiftimplementation +ignoresigns@*/ if (event == event_identified || event == event_reactivate) { /* Select binary packets */ putbe32(buf, 0, 0xffff0000); putbe32(buf, 4, 0); (void)geostar_write(session, 0x4f, buf, 2); /* Poll Ports params */ putbe32(buf, 0, 1); (void)geostar_write(session, 0x81, buf, 1); putbe32(buf, 0, 0); (void)geostar_write(session, 0x81, buf, 1); /* Poll Init params */ (void)geostar_write(session, 0x80, buf, 1); /* Poll Mode */ (void)geostar_write(session, 0x82, buf, 1); /* Poll Solution params */ (void)geostar_write(session, 0x83, buf, 1); /* Poll Output rate */ (void)geostar_write(session, 0x84, buf, 1); /* Poll Protocols assignment */ (void)geostar_write(session, 0x86, buf, 1); /* Poll PPS params */ (void)geostar_write(session, 0x8c, buf, 1); /* Poll NMEA packets selected */ (void)geostar_write(session, 0x8e, buf, 1); /* Poll binary packets selected */ (void)geostar_write(session, 0x8f, buf, 1); /* Poll Software Version */ (void)geostar_write(session, 0xc1, buf, 1); } if (event == event_deactivate) { /* Perform cold restart */ putbe32(buf, 0, 3); (void)geostar_write(session, 0xc2, buf, 1); } /*@+shiftimplementation -ignoresigns@*/ } #ifdef RECONFIGURE_ENABLE static bool geostar_speed_switch(struct gps_device_t *session, speed_t speed, char parity, int stopbits) { unsigned char buf[4 * 4]; switch (parity) { case 'E': case 2: parity = (char)2; break; case 'O': case 1: parity = (char)1; break; case 'N': case 0: default: parity = (char)0; break; } /*@-shiftimplementation@*/ putbe32(buf, 0, session->driver.geostar.physical_port); putbe32(buf, 4, speed); putbe32(buf, 8, stopbits); putbe32(buf, 12, parity); /*@+shiftimplementation@*/ (void)geostar_write(session, 0x41, buf, 4); return true; /* it would be nice to error-check this */ } static void geostar_mode(struct gps_device_t *session, int mode) { /*@-shiftimplementation@*/ if (mode == MODE_NMEA) { unsigned char buf[1 * 4]; /* Switch to NMEA mode */ putbe32(buf, 0, 1); (void)geostar_write(session, 0x46, buf, 1); } else if (mode == MODE_BINARY) { /* Switch to binary mode */ (void)nmea_send(session, "$GPSGG,SWPROT"); } else { gpsd_report(LOG_ERROR, "unknown mode %i requested\n", mode); } /*@+shiftimplementation@*/ } #endif /* RECONFIGURE_ENABLE */ #ifdef NTPSHM_ENABLE static double geostar_ntp_offset(struct gps_device_t *session UNUSED) { return 0.31; } #endif /* NTPSHM_ENABLE */ /* this is everything we export */ /* *INDENT-OFF* */ const struct gps_type_t geostar_binary = { .type_name = "GeoStar binary", /* full name of type */ .packet_type = GEOSTAR_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no flags set */ .trigger = NULL, /* no trigger */ .channels = GEOSTAR_CHANNELS, /* consumer-grade GPS/GLONASS */ .probe_detect = geostar_detect, /* probe for device */ .get_packet = generic_get, /* use the generic packet getter */ .parse_packet = geostar_parse_input, /* parse message packets */ .rtcm_writer = NULL, /* doesn't accept DGPS corrections */ .event_hook = geostar_event_hook, /* fire on various lifetime events */ #ifdef RECONFIGURE_ENABLE .speed_switcher = geostar_speed_switch,/* change baud rate */ .mode_switcher = geostar_mode, /* there is a mode switcher */ .rate_switcher = NULL, /* no rate switcher */ .min_cycle = 1, /* not relevant, no rate switcher */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = geostar_control_send,/* how to send commands */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = geostar_ntp_offset, #endif /* NTPSHM_ENABLE */ }; /* *INDENT-ON* */ #endif /* GEOSTAR_ENABLE */ gpsd-3.9/driver_italk.c0000664000175000017500000003342212022345475013323 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. * * Driver for the iTalk binary protocol used by FasTrax * * Week counters are not limited to 10 bits. It's unknown what * the firmware is doing to disambiguate them, if anything; it might just * be adding a fixed offset based on a hidden epoch value, in which case * unhappy things will occur on the next rollover. */ #include #include #include #include #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include "gpsd.h" #if defined(ITRAX_ENABLE) && defined(BINARY_ENABLE) #include "bits.h" #include "driver_italk.h" static gps_mask_t italk_parse(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t decode_itk_navfix(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t decode_itk_prnstatus(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t decode_itk_utcionomodel(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t decode_itk_subframe(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t decode_itk_navfix(struct gps_device_t *session, unsigned char *buf, size_t len) { unsigned short flags, pflags; gps_mask_t mask = 0; double epx, epy, epz, evx, evy, evz, eph; if (len != 296) { gpsd_report(LOG_PROG, "ITALK: bad NAV_FIX (len %zu, should be 296)\n", len); return -1; } flags = (unsigned short) getleu16(buf, 7 + 4); //cflags = (unsigned short) getleu16(buf, 7 + 6); pflags = (unsigned short) getleu16(buf, 7 + 8); session->gpsdata.status = STATUS_NO_FIX; session->newdata.mode = MODE_NO_FIX; mask = ONLINE_SET | MODE_SET | STATUS_SET | CLEAR_IS; /* just bail out if this fix is not marked valid */ if (0 != (pflags & FIX_FLAG_MASK_INVALID) || 0 == (flags & FIXINFO_FLAG_VALID)) return mask; session->newdata.time = gpsd_gpstime_resolve(session, (unsigned short) getles16(buf, 7 + 82), (unsigned int)getleu32(buf, 7 + 84) / 1000.0); mask |= TIME_SET | PPSTIME_IS; epx = (double)(getles32(buf, 7 + 96) / 100.0); epy = (double)(getles32(buf, 7 + 100) / 100.0); epz = (double)(getles32(buf, 7 + 104) / 100.0); evx = (double)(getles32(buf, 7 + 186) / 1000.0); evy = (double)(getles32(buf, 7 + 190) / 1000.0); evz = (double)(getles32(buf, 7 + 194) / 1000.0); ecef_to_wgs84fix(&session->newdata, &session->gpsdata.separation, epx, epy, epz, evx, evy, evz); mask |= LATLON_SET | ALTITUDE_SET | SPEED_SET | TRACK_SET | CLIMB_SET; eph = (double)(getles32(buf, 7 + 252) / 100.0); /* eph is a circular error, sqrt(epx**2 + epy**2) */ session->newdata.epx = session->newdata.epy = eph / sqrt(2); session->newdata.eps = (double)(getles32(buf, 7 + 254) / 100.0); #define MAX(a,b) (((a) > (b)) ? (a) : (b)) session->gpsdata.satellites_used = (int)MAX(getleu16(buf, 7 + 12), getleu16(buf, 7 + 14)); mask |= USED_IS; if (flags & FIX_CONV_DOP_VALID) { session->gpsdata.dop.hdop = (double)(getleu16(buf, 7 + 56) / 100.0); session->gpsdata.dop.gdop = (double)(getleu16(buf, 7 + 58) / 100.0); session->gpsdata.dop.pdop = (double)(getleu16(buf, 7 + 60) / 100.0); session->gpsdata.dop.vdop = (double)(getleu16(buf, 7 + 62) / 100.0); session->gpsdata.dop.tdop = (double)(getleu16(buf, 7 + 64) / 100.0); mask |= DOP_SET; } if ((pflags & FIX_FLAG_MASK_INVALID) == 0 && (flags & FIXINFO_FLAG_VALID) != 0) { if (pflags & FIX_FLAG_3DFIX) session->newdata.mode = MODE_3D; else session->newdata.mode = MODE_2D; if (pflags & FIX_FLAG_DGPS_CORRECTION) session->gpsdata.status = STATUS_DGPS_FIX; else session->gpsdata.status = STATUS_FIX; } gpsd_report(LOG_DATA, "NAV_FIX: time=%.2f, lat=%.2f lon=%.2f alt=%.f speed=%.2f track=%.2f climb=%.2f mode=%d status=%d gdop=%.2f pdop=%.2f hdop=%.2f vdop=%.2f tdop=%.2f\n", session->newdata.time, session->newdata.latitude, session->newdata.longitude, session->newdata.altitude, session->newdata.speed, session->newdata.track, session->newdata.climb, session->newdata.mode, session->gpsdata.status, session->gpsdata.dop.gdop, session->gpsdata.dop.pdop, session->gpsdata.dop.hdop, session->gpsdata.dop.vdop, session->gpsdata.dop.tdop); return mask; } static gps_mask_t decode_itk_prnstatus(struct gps_device_t *session, unsigned char *buf, size_t len) { gps_mask_t mask; if (len < 62) { gpsd_report(LOG_PROG, "ITALK: runt PRN_STATUS (len=%zu)\n", len); mask = 0; } else { unsigned int i, nsv, nchan, st; session->gpsdata.skyview_time = gpsd_gpstime_resolve(session, (unsigned short)getleu16(buf, 7 + 4), (unsigned int)getleu32(buf, 7 + 6) / 1000.0), gpsd_zero_satellites(&session->gpsdata); nsv = 0; nchan = (unsigned int)getleu16(buf, 7 + 50); if (nchan > MAX_NR_VISIBLE_PRNS) nchan = MAX_NR_VISIBLE_PRNS; for (i = st = 0; i < nchan; i++) { unsigned int off = 7 + 52 + 10 * i; unsigned short flags; flags = (unsigned short) getleu16(buf, off); session->gpsdata.ss[i] = (float)(getleu16(buf, off + 2) & 0xff); session->gpsdata.PRN[i] = (int)getleu16(buf, off + 4) & 0xff; session->gpsdata.elevation[i] = (int)getles16(buf, off + 6) & 0xff; session->gpsdata.azimuth[i] = (int)getles16(buf, off + 8) & 0xff; if (session->gpsdata.PRN[i]) { st++; if (flags & PRN_FLAG_USE_IN_NAV) session->gpsdata.used[nsv++] = session->gpsdata.PRN[i]; } } session->gpsdata.satellites_visible = (int)st; session->gpsdata.satellites_used = (int)nsv; mask = USED_IS | SATELLITE_SET;; gpsd_report(LOG_DATA, "PRN_STATUS: time=%.2f visible=%d used=%d mask={USED|SATELLITE}\n", session->newdata.time, session->gpsdata.satellites_visible, session->gpsdata.satellites_used); } return mask; } static gps_mask_t decode_itk_utcionomodel(struct gps_device_t *session, unsigned char *buf, size_t len) { int leap; unsigned short flags; if (len != 64) { gpsd_report(LOG_PROG, "ITALK: bad UTC_IONO_MODEL (len %zu, should be 64)\n", len); return 0; } flags = (unsigned short) getleu16(buf, 7); if (0 == (flags & UTC_IONO_MODEL_UTCVALID)) return 0; leap = (int)getleu16(buf, 7 + 24); if (session->context->leap_seconds < leap) session->context->leap_seconds = leap; session->newdata.time = gpsd_gpstime_resolve(session, (unsigned short) getleu16(buf, 7 + 36), (unsigned int)getleu32(buf, 7 + 38) / 1000.0); gpsd_report(LOG_DATA, "UTC_IONO_MODEL: time=%.2f mask={TIME}\n", session->newdata.time); return TIME_SET | PPSTIME_IS; } static gps_mask_t decode_itk_subframe(struct gps_device_t *session, unsigned char *buf, size_t len) { unsigned short flags, prn, sf; unsigned int i; uint32_t words[10]; if (len != 64) { gpsd_report(LOG_PROG, "ITALK: bad SUBFRAME (len %zu, should be 64)\n", len); return 0; } flags = (unsigned short) getleu16(buf, 7 + 4); prn = (unsigned short) getleu16(buf, 7 + 6); sf = (unsigned short) getleu16(buf, 7 + 8); gpsd_report(LOG_PROG, "iTalk 50B SUBFRAME prn %u sf %u - decode %s %s\n", prn, sf, flags & SUBFRAME_WORD_FLAG_MASK ? "error" : "ok", flags & SUBFRAME_GPS_PREAMBLE_INVERTED ? "(inverted)" : ""); if (flags & SUBFRAME_WORD_FLAG_MASK) return 0; // don't try decode an erroneous packet /* * Timo says "SUBRAME message contains decoded navigation message subframe * words with parity checking done but parity bits still present." */ for (i = 0; i < 10; i++) words[i] = (uint32_t)(getleu32(buf, 7 + 14 + 4 * i) >> 6) & 0xffffff; return gpsd_interpret_subframe(session, prn, words); } static gps_mask_t decode_itk_pseudo(struct gps_device_t *session, unsigned char *buf, size_t len) { unsigned short flags, n, i; n = (unsigned short) getleu16(buf, 7 + 4); if ((n < 1) || (n > MAXCHANNELS)){ gpsd_report(LOG_INF, "ITALK: bad PSEUDO channel count\n"); return 0; } if (len != (size_t)((n+1)*36)) { gpsd_report(LOG_PROG, "ITALK: bad PSEUDO len %zu\n", len); } gpsd_report(LOG_PROG, "iTalk PSEUDO [%u]\n", n); flags = (unsigned short)getleu16(buf, 7 + 6); if ((flags & 0x3) != 0x3) return 0; // bail if measurement time not valid. session->newdata.time = gpsd_gpstime_resolve(session, (unsigned short int)getleu16((char *)buf, 7 + 8), (unsigned int)getleu32(buf, 7 + 38) / 1000.0); /*@-type@*/ for (i = 0; i < n; i++){ session->gpsdata.PRN[i] = getleu16(buf, 7 + 26 + (i*36)) & 0xff; session->gpsdata.ss[i] = getleu16(buf, 7 + 26 + (i*36 + 2)) & 0x3f; session->gpsdata.raw.satstat[i] = getleu32(buf, 7 + 26 + (i*36 + 4)); session->gpsdata.raw.pseudorange[i] = getled64((char *)buf, 7 + 26 + (i*36 + 8)); session->gpsdata.raw.doppler[i] = getled64((char *)buf, 7 + 26 + (i*36 + 16)); session->gpsdata.raw.carrierphase[i] = getleu16(buf, 7 + 26 + (i*36 + 28)); session->gpsdata.raw.mtime[i] = session->newdata.time; session->gpsdata.raw.codephase[i] = NAN; session->gpsdata.raw.deltarange[i] = NAN; } /*@+type@*/ return RAW_IS; } /*@ +charint @*/ static gps_mask_t italk_parse(struct gps_device_t *session, unsigned char *buf, size_t len) { unsigned int type; gps_mask_t mask = 0; if (len == 0) return 0; type = (uint) getub(buf, 4); /* we may need to dump the raw packet */ gpsd_report(LOG_RAW, "raw italk packet type 0x%02x\n", type); session->cycle_end_reliable = true; switch (type) { case ITALK_NAV_FIX: gpsd_report(LOG_IO, "iTalk NAV_FIX len %zu\n", len); mask = decode_itk_navfix(session, buf, len) | (CLEAR_IS | REPORT_IS); break; case ITALK_PRN_STATUS: gpsd_report(LOG_IO, "iTalk PRN_STATUS len %zu\n", len); mask = decode_itk_prnstatus(session, buf, len); break; case ITALK_UTC_IONO_MODEL: gpsd_report(LOG_IO, "iTalk UTC_IONO_MODEL len %zu\n", len); mask = decode_itk_utcionomodel(session, buf, len); break; case ITALK_ACQ_DATA: gpsd_report(LOG_IO, "iTalk ACQ_DATA len %zu\n", len); break; case ITALK_TRACK: gpsd_report(LOG_IO, "iTalk TRACK len %zu\n", len); break; case ITALK_PSEUDO: gpsd_report(LOG_IO, "iTalk PSEUDO len %zu\n", len); mask = decode_itk_pseudo(session, buf, len); break; case ITALK_RAW_ALMANAC: gpsd_report(LOG_IO, "iTalk RAW_ALMANAC len %zu\n", len); break; case ITALK_RAW_EPHEMERIS: gpsd_report(LOG_IO, "iTalk RAW_EPHEMERIS len %zu\n", len); break; case ITALK_SUBFRAME: mask = decode_itk_subframe(session, buf, len); break; case ITALK_BIT_STREAM: gpsd_report(LOG_IO, "iTalk BIT_STREAM len %zu\n", len); break; case ITALK_AGC: case ITALK_SV_HEALTH: case ITALK_PRN_PRED: case ITALK_FREQ_PRED: case ITALK_DBGTRACE: case ITALK_START: case ITALK_STOP: case ITALK_SLEEP: case ITALK_STATUS: case ITALK_ITALK_CONF: case ITALK_SYSINFO: case ITALK_ITALK_TASK_ROUTE: case ITALK_PARAM_CTRL: case ITALK_PARAMS_CHANGED: case ITALK_START_COMPLETED: case ITALK_STOP_COMPLETED: case ITALK_LOG_CMD: case ITALK_SYSTEM_START: case ITALK_STOP_SEARCH: case ITALK_SEARCH: case ITALK_PRED_SEARCH: case ITALK_SEARCH_DONE: case ITALK_TRACK_DROP: case ITALK_TRACK_STATUS: case ITALK_HANDOVER_DATA: case ITALK_CORE_SYNC: case ITALK_WAAS_RAWDATA: case ITALK_ASSISTANCE: case ITALK_PULL_FIX: case ITALK_MEMCTRL: case ITALK_STOP_TASK: gpsd_report(LOG_IO, "iTalk not processing packet: id 0x%02x length %zu\n", type, len); break; default: gpsd_report(LOG_IO, "iTalk unknown packet: id 0x%02x length %zu\n", type, len); } (void)snprintf(session->gpsdata.tag, sizeof(session->gpsdata.tag), "ITK-%02x", type); return mask | ONLINE_SET; } /*@ -charint @*/ static gps_mask_t italk_parse_input(struct gps_device_t *session) { gps_mask_t st; if (session->packet.type == ITALK_PACKET) { st = italk_parse(session, session->packet.outbuffer, session->packet.outbuflen); session->gpsdata.dev.driver_mode = MODE_BINARY; /* binary */ return st; #ifdef NMEA_ENABLE } else if (session->packet.type == NMEA_PACKET) { st = nmea_parse((char *)session->packet.outbuffer, session); session->gpsdata.dev.driver_mode = MODE_NMEA; /* NMEA */ return st; #endif /* NMEA_ENABLE */ } else return 0; } #ifdef __future__ // cppcheck-suppress unusedFunction static void italk_ping(struct gps_device_t *session) /* send a "ping". it may help us detect an itrax more quickly */ { char *ping = ""; (void)gpsd_write(session, ping, 3); } #endif /* __future__ */ /* *INDENT-OFF* */ const struct gps_type_t italk_binary = { .type_name = "iTalk binary", /* full name of type */ .packet_type = ITALK_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no rollover or other flags */ .trigger = NULL, /* recognize the type */ .channels = 12, /* consumer-grade GPS */ .probe_detect = NULL, /* how to detect at startup time */ .get_packet = generic_get, /* use generic packet grabber */ .parse_packet = italk_parse_input,/* parse message packets */ .rtcm_writer = gpsd_write, /* send RTCM data straight */ .event_hook = NULL, /* lifetime event handler */ #ifdef RECONFIGURE_ENABLE .speed_switcher = NULL, /* no speed switcher */ .mode_switcher = NULL, /* no mode switcher */ .rate_switcher = NULL, /* no sample-rate switcher */ .min_cycle = 1, /* not relevant, no rate switch */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = NULL, /* no control string sender */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, /* no method for NTP fudge factor */ #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #endif /* defined(ITRAX_ENABLE) && defined(BINARY_ENABLE) */ gpsd-3.9/driver_italk.h0000664000175000017500000004263011757250540013333 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #ifndef _GPSD_ITALK_H_ #define _GPSD_ITALK_H_ /* 0 and 1 are responses to the ping for iTalk and NMEA respectively */ #define PROTO_ITALK 0 #define PROTO_NMEA 1 /* * Assistance from Timo Ylhainen of Fastrax is acknowledged and appreciated. * * iTalk is a messaging system which communicates between tasks, which may * be running on different devices (nodes). For our purposes (receiver * configuration), we will probably be sending to the SYSTEM task. */ #define TASK_MASK 0x1f /* 5 low bits of src/dst fields */ #define NODE_MASK 0xe0 /* 3 high bits of src/dst fields */ #define NODE_UNDEF 0x00 /* Used in message routing */ #define NODE_ITRAX 0x20 /* The receiver */ #define NODE_HOST 0x40 /* Software on your computer */ #define NODE_GPSWB 0x60 /* GPSWorkbench seems to be HOST|ITRAX */ /* FIX-ME: These defines will likely be replaced by an enum * once I map every message to the task that sent it. */ /* System controller on the receiver */ #define TASK_SYSTEM 0 /* Acquisition & Tracking messages (PD) */ #define TASK_TRACK1 2 #define TASK_TRACK2 3 /* Data decoding messages (PD) */ #define TASK_DATA 4 /* Navigation messages are sent by these tasks (PD) */ #define TASK_NAV1 7 #define TASK_NAV2 8 #define TASK_NAV3 9 /* Host controller software (PD) */ #define TASK_HOST 31 #define MAX_NR_VISIBLE_PRNS 16 /* iTalk Message IDs - isuite.fastrax.fi/sdk/331/Protocols/PRO_MsgId.html */ #define ITALK_ACQ_DATA 1 #define ITALK_PRN_STATUS 2 #define ITALK_TRACK 3 #define ITALK_PSEUDO 4 #define ITALK_AGC 6 #define ITALK_NAV_FIX 7 #define ITALK_RAW_ALMANAC 9 #define ITALK_RAW_EPHEMERIS 10 #define ITALK_SV_HEALTH 11 #define ITALK_UTC_IONO_MODEL 12 #define ITALK_PRN_PRED 13 #define ITALK_FREQ_PRED 14 #define ITALK_SUBFRAME 15 #define ITALK_BIT_STREAM 18 #define ITALK_DBGTRACE 19 #define ITALK_START 64 #define ITALK_STOP 65 #define ITALK_SLEEP 66 #define ITALK_STATUS 67 #define ITALK_ITALK_CONF 68 #define ITALK_SYSINFO 69 #define ITALK_ITALK_TASK_ROUTE 70 #define ITALK_PARAM_CTRL 71 #define ITALK_PARAMS_CHANGED 72 #define ITALK_START_COMPLETED 73 #define ITALK_STOP_COMPLETED 74 #define ITALK_LOG_CMD 75 #define ITALK_SYSTEM_START 76 #define ITALK_STOP_SEARCH 79 #define ITALK_SEARCH 80 #define ITALK_PRED_SEARCH 81 #define ITALK_SEARCH_DONE 82 #define ITALK_TRACK_DROP 88 #define ITALK_TRACK_STATUS 90 #define ITALK_HANDOVER_DATA 92 #define ITALK_CORE_SYNC 93 #define ITALK_WAAS_RAWDATA 96 #define ITALK_ASSISTANCE 98 #define ITALK_PULL_FIX 99 #define ITALK_MEMCTRL 112 #define ITALK_STOP_TASK 255 /* NAV_FIX */ #define FIX_CONV_VEL_VALID 0x0002 #define FIX_CONV_ACC_VALID 0x0004 #define FIX_CONV_DOP_VALID 0x0010 #define FIX_CONV_ERR_VALID 0x0020 #define FIX_CONV_UTC_VALID 0x0040 #define FIX_CONV_UND_VALID 0x0080 #define FIX_CONV_MAG_VALID 0x0100 #define FIX_CONV_GRID_VALID 0x0200 #define FIX_CONV_VEL_ESTIMATED 0x0400 #define FIX_FLAG_POS_REJECT_FOM 0x0003 #define FIX_FLAG_POS_REJECT_DOP 0x0004 #define FIX_FLAG_POS_PINNING 0x0020 #define FIX_FLAG_VEL_REJECT_RES 0x0003 #define FIX_FLAG_ACCELERATION 0x4000 #define FIX_FLAG_VEL_RELIABLE 0x0020 #define FIX_FLAG_VEL_RELIABLE_3D 0x0040 #define FIX_FLAG_MASK_INVALID 0x0007 #define FIX_FLAG_REJECT_NUM_SV 0x0001 #define FIX_FLAG_REJECT_POSTRAIM 0x0002 #define FIX_FLAG_REJECT_OTHER 0x0007 #define FIX_FLAG_RELIABLE 0x0008 #define FIX_FLAG_PF_RAIM 0x0010 #define FIX_FLAG_3DFIX 0x0100 #define FIX_FLAG_DGPS_CORRECTION 0x0200 #define FIX_FLAG_TROPO 0x0400 #define FIX_FLAG_IONO 0x0800 #define FIX_FLAG_INS 0x2000 #define FIXINFO_FLAG_VALID 0x0002 #define FIXINFO_FLAG_NEW_FIX 0x0004 #define FIXINFO_FLAG_SKY_FIX 0x0008 #define FIXINFO_FLAG_AID_GPSTIME 0x0010 #define FIXINFO_FLAG_AID_TIMESTAMP 0x0020 #define FIXINFO_FLAG_AID_EPHEMERIS 0x0040 #define FIXINFO_FLAG_AID_ALTITUDE 0x0080 #define FIXINFO_FLAG_KALMAN 0x1000 #define FIXINFO_FLAG_INTERNAL 0x2000 #define FIXINFO_FLAG_FIRSTFIX 0x4000 /* PRN_STATUS */ #define PRN_FLAG_FOUND 0x0001 #define PRN_FLAG_TRACKING 0x0002 #define PRN_FLAG_USE_IN_NAV 0x0004 /* UTC_IONO_MODEL */ #define UTC_IONO_MODEL_UTCVALID 0x0001 #define UTC_IONO_MODEL_IONOVALID 0x0002 /* SUBFRAME */ #define SUBFRAME_WORD_FLAG_MASK 0x03ff #define SUBFRAME_GPS_PREAMBLE_INVERTED 0x0400 /* PSEUDO */ #define PSEUDO_OBS_DOPPLER_OK 0x0001 #define PSEUDO_OBS_PSEUDORANGE_OK 0x0002 #define PSEUDO_OBS_TOW_OK 0x0004 #define PSEUDO_OBS_PRN_OK 0x0008 #define PSEUDO_OBS_ELEV_OK 0x0010 #define PSEUDO_OBS_SNR_OK 0x0020 #define PSEUDO_OBS_SV_HEALTHY 0x0040 #define PSEUDO_OBS_NO_CROSS_CORR 0x0080 #define PSEUDO_OBS_DATA_EXISTS 0x0100 #define PSEUDO_OBS_DATA_GOOD 0x0200 #define PSEUDO_OBS_BIT_LOCK 0x0400 #define PSEUDO_OBS_FIRST_MEAS 0x0800 #define PSEUDO_OBS_RAIM_P_OK 0x1000 #define PSEUDO_OBS_RAIM_V_OK 0x2000 #define PSEUDO_OBS_RAIM_T_OK 0x4000 #define PSEUDO_OBS_PLL 0x8000 #define PSEUDO_OBS_MEAS_OK ( PSEUDO_OBS_ELEV_OK | PSEUDO_OBS_SNR_OK | PSEUDO_OBS_PRN_OK | PSEUDO_OBS_NO_CROSS_CORR | PSEUDO_OBS_SV_HEALTHY | PSEUDO_OBS_DATA_EXISTS | PSEUDO_OBS_DATA_GOOD | PSEUDO_OBS_PSEUDORANGE_OK ) #define PSEUDO_OBS_DOPPLER_MEAS_OK ( PSEUDO_OBS_ELEV_OK | PSEUDO_OBS_SNR_OK | PSEUDO_OBS_PRN_OK | PSEUDO_OBS_NO_CROSS_CORR | PSEUDO_OBS_SV_HEALTHY | PSEUDO_OBS_DATA_EXISTS | PSEUDO_OBS_DATA_GOOD | PSEUDO_OBS_DOPPLER_OK ) #define PSEUDO_TOW_WEEK_OK 0x0001 #define PSEUDO_TOW_OK 0x0002 #define PSEUDO_RESYNCH 0x0004 #define PSEUDO_FIRST_MEAS 0x0008 #define PSEUDO_UNSCHEDULED 0x0010 #define PSEUDO_OBS_CORRECTED_AMBIGUOUS 0x0001 #define PSEUDO_OBS_CORRECTED_BY_SMOOTHING 0x0002 #define PSEUDO_OBS_CORRECTED_BY_IONO 0x0008 #define PSEUDO_OBS_CORRECTED_BY_TROPO 0x0010 #define PSEUDO_OBS_CORRECTED_BY_FAST_CORR 0x0020 #define PSEUDO_OBS_CORRECTED_BY_DGPS 0x0040 #define PSEUDO_OBS_CORRECTED_BY_SLOW_CORR 0x0080 #define PSEUDO_OBS_CORRECTED_BY_WAAS_IONO 0x0100 #define PSEUDO_OBS_CORR_POSSIBLE_XCORR 0x4000 #define PSEUDO_OBS_CORR_FRAME_LOCK 0x8000 #define PSEUDO_OBS_CORRECTED_BY_WAAS ( PSEUDO_OBS_CORRECTED_BY_WAAS_IONO | PSEUDO_OBS_CORRECTED_BY_FAST_CORR) /* MEMCTRL */ #define MEM_WRITE 0x0002 #define MEM_READD 0x0003 #define MEM_BOOT 0x0004 #define MEM_ERASE 0x0006 #define MEM_XTAL_CALIBRATE 0x000a /* BOOT flags based on isuite.fastrax.fi/sdk/331/Protocols/PRO_NMEA.html */ #define MEM_BOOT_NORMAL 0x0000 #define MEM_BOOT_INT_FWLOADER 0x0001 #define MEM_BOOT_DL_FWLOADER 0x0002 #define MEM_BOOT_RELOC_ALTFW 0x0003 /* Config Parameters - isuite.fastrax.fi/sdk/331/System/SYS_Parameters.html */ /* System parameters */ #define SYS_SET_ID 0x0001 #define SYS_FACTORY_SET_ID 0x0002 #define SYS_AUTOSTART 0x0380 #define START_MODE_AUTO 0x0301 #define SYS_LKG_SAVE_TIME_LIMIT 0x0008 #define SYS_LKG_SAVE_DIST_LIMIT 0x0009 #define SYS_LKG_SAVE_STOP_TIME_LIMIT 0x000a #define SYS_WATCHDOG 0x0028 #define SYS_WATCHDOG_TIMEOUT 0x0029 #define SYS_BOOT_ERASE_PARAMS 0x0080 #define SYS_ENABLE_UI_LEDS 0x0081 /* Protocols parameters */ #define SYS_ITALK_PORT 0x0010 #define SYS_ITALK_SPEED 0x0011 #define SYS_ITALK_MASK 0x0012 #define SYS_NMEA_PORT 0x0020 #define SYS_NMEA_SPEED 0x0021 #define SYS_NMEA_MASK 0x0022 #define TRACK_ALT_MSG_ROUTING 0x047f #define OBS_ALT_MSG_ROUTING 0x047e /* Fix Conversion parameters */ #define NAV_DATUM_ID 0x0b08 #define NAV_GRID_ID 0x0b09 #define NAV_GRID_NUMBER 0x0b0a #define NAV_HEAD_VEL_THR 0x0b0b #define NAV_HEAD_VEL_FILTER 0x0b0c #define NAV_HEAD_VEL_THRMAX 0x0b0d #define NAV_HEAD_VEL_THR_PLL 0x0b0e #define NAV_HEAD_VEL_THRMAX_PLL 0x0b0f #define NAV_HOLD_HEADING_IF_NO_FIX 0x0bd0 /* General navigation parameters */ #define NAV_MODE 0x0b01 #define NAV_FIX_INTERVAL 0x0b02 #define NAV_OUTPUT_INTERVAL 0x0b03 #define NAV_FOM_LIMIT 0x0b10 #define NAV_VEL_FOM_LIMIT 0x0b15 #define NAV_HDOP_LIMIT 0x0b11 #define NAV_VDOP_LIMIT 0x0b12 #define NAV_ALT_LIMIT 0x0b13 #define NAV_VEL_LIMIT 0x0b14 #define NAV_EXT_AIDING_ALT 0x0b20 #define NAV_CS_INIT_VAR 0x0b30 #define NAV_CS_PROC_VAR 0x0b31 #define NAV_CS_MEAS_VAR 0x0b32 #define NAV_FILTER_VEL_LOW 0x0b33 #define NAV_FILTER_VEL_HIGH 0x0b34 #define NAV_MAX_LKGAGE 0x0b40 #define NAV_MAX_2D_FIX_SEC 0x0b41 #define NAV_CARRIERSMOOTHING_ENA 0x0b81 #define NAV_OLD_DATA_ENA 0x0b82 #define NAV_SNR_WEIGHTING_ENA 0x0b83 #define NAV_NORMAL_ENV_ENA 0x0b84 #define NAV_IONO_ENA 0x0b85 #define NAV_TROPO_ENA 0x0b87 #define NAV_DGPS_ENA 0x0b88 #define NAV_VEL_FILTER_ENA 0x0b8b #define NAV_ALT_LIMIT_ENA 0x0b8c #define NAV_VEL_LIMIT_ENA 0x0b8d #define NAV_EXT_AIDING_ALT_ENA 0x0b8e #define NAV_FOM_ENA 0x0b8f #define NAV_HDOP_ENA 0x0b90 #define NAV_VDOP_ENA 0x0b91 #define NAV_TENTATIVE_ENA 0x0b96 #define NAV_PULLFIX_ENA 0x0b97 #define NAV_2D_FIX_ENA 0x0ba0 #define NAV_RESERVED_001 0x0ba1 #define NAV_OUTPUT_LAST_POS_IF_NO_FIX 0x0bb0 #define NAV_ESTIMATE_VEL_WITHOUT_PLL 0x0bb1 #define NAV_OUTPUT_LAST_VEL_IF_NO_FIX 0x0bb2 /* Position pinning parameters */ #define NAV_PIN_VEL 0x0b35 #define NAV_PIN_DRIFT_ERR 0x0b36 #define NAV_PIN_XYZ_ERR 0x0b37 #define NAV_PIN_TIMEOUT 0x0b38 #define NAV_PIN_START_DELAY 0x0b39 #define NAV_PINNING_ENA 0x0b8a /* Interval mode parameters */ #define NAV_INTMODE_NBR_FIXES 0x0b22 #define NAV_INTMODE_FIX_INTERVAL 0x0b23 #define NAV_INTMODE_TRY_FIND_SV 0x0b24 #define NAV_INTMODE_TRY_GET_FIX 0x0b25 #define NAV_INTMODE_MAX_STAY_UP 0x0b26 #define NAV_INTMODE_NUM_IGNORED_FIXES 0x0b27 #define NAV_INTERVAL_MODE_ENA 0x0ba2 /* Kalman navigation parameters */ #define KLM_MODE 0x0801 #define KLM_MAX_NUM_STATES 0x0802 #define KLM_START_FLAGS 0x0803 #define KLM_OUTPUT_FLAGS 0x0804 #define KLM_NUM_OBS_LIMIT 0x0805 #define KLM_MEAS_FLAGS 0x0806 #define KLM_COV_LIMIT 0x0807 #define KLM_DOPPLER_NOISE 0x0810 #define KLM_RANGE_NOISE 0x0811 #define KLM_DOPPLER_NOISE_LOW 0x0812 #define KLM_RANGE_NOISE_LOW 0x0813 #define KLM_NOISE_SNR_LOW 0x0814 #define KLM_DOPPLER_NOISE_PLL 0x0815 #define KLM_RANGE_NOISE_PLL 0x0816 #define KLM_CLOCK_OFFSET_NOISE 0x0820 #define KLM_CLOCK_DRIFT_NOISE 0x0821 #define KLM_POS_NOISE 0x0822 #define KLM_POS_NOISE_VERT 0x0823 #define KLM_VEL_NOISE 0x0824 #define KLM_VEL_NOISE_VERT 0x0825 #define KLM_ACC_NOISE 0x0826 #define KLM_ACC_NOISE_VERT 0x0827 #define KLM_ACC_NOISE_PARAM 0x0828 #define KLM_POS_INIT_UNC 0x0830 #define KLM_VEL_INIT_UNC 0x0831 #define KLM_CLOCK_OFFSET_INIT_UNC 0x0832 #define KLM_CLOCK_DRIFT_INIT_UNC 0x0833 #define KLM_RESERVED_001 0x0841 #define KLM_RESERVED_002 0x0842 #define KLM_RESERVED_003 0x0843 #define KLM_RESERVED_004 0x0844 #define KLM_RESERVED_005 0x0845 #define KLM_RESERVED_006 0x0846 #define KLM_RESERVED_007 0x0847 #define KLM_RESERVED_008 0x0848 /* Observation parameters */ #define TRACK_MEAS_INTERVAL 0x0420 #define TRACK_CHANNELS 0x041d #define OBS_ELEV_LIMIT 0x0101 #define OBS_SNR_LIMIT 0x0102 #define OBS_SNR_RAIM_LIMIT 0x0103 #define OBS_CROSS_CORR_SNR_DIFF 0x0120 #define OBS_MAX_SNR 0x0121 #define OBS_PLL_CROSS_CORR_THR 0x0122 #define OBS_FLL_CROSS_CORR_THR 0x0123 #define OBS_FREQ_CROSS_CORR_THR 0x0124 #define OBS_EPOCH_LIMIT 0x0130 #define OBS_ELEV_LIMIT_ENA 0x0181 #define OBS_SNR_LIMIT_ENA 0x0182 #define OBS_SNR_RAIM_ENA 0x0183 #define SAT_ORBIT_FIT_UPDATE 0x0203 #define SAT_FIRST_WEEK 0x0204 #define SAT_NUM_LEAP 0x0205 #define SAT_PRED_MAX_LKGAGE 0x0220 #define SAT_PRED_PHASE_TIMEOUT 0x0221 #define SAT_PRED_LKG_TIMEOUT 0x0222 #define SAT_ORBIT_CHECK 0x0281 /* Unav Tracking parameters */ #define TRACK_DLL_ALPHA 0x0401 #define TRACK_DLL_BETA 0x0402 #define TRACK_DLL_THR_HIGH 0x0403 #define TRACK_DLL_THR_LOW 0x0404 #define TRACK_DLL_POW_NARROW 0x0405 #define TRACK_DLL_POW_WIDE 0x0406 #define TRACK_FLL_RESPONSE_TIME 0x0407 #define TRACK_POW_CALIBRATION 0x0408 #define TRACK_FLL_THR 0x0409 #define TRACK_FLL_POW_NARROW 0x040b #define TRACK_FLL_POW_WIDE 0x040c #define TRACK_PLL_CTH 0x040d #define TRACK_PLL_CDTH 0x040e #define TRACK_PLL_CD2TH 0x040f #define TRACK_RESERVED_000 0x0410 #define TRACK_RESERVED_001 0x0411 #define TRACK_RESERVED_002 0x0412 #define TRACK_RESERVED_003 0x0413 #define TRACK_RESERVED_004 0x0414 #define TRACK_RESERVED_005 0x0415 #define TRACK_RESERVED_006 0x0416 #define TRACK_RESERVED_007 0x0417 #define TRACK_RESERVED_008 0x0418 #define TRACK_RESERVED_009 0x0419 #define TRACK_RESERVED_010 0x0425 #define TRACK_RESERVED_011 0x0426 #define TRACK_RESERVED_012 0x0427 #define TRACK_RESERVED_013 0x0428 #define TRACK_RESERVED_014 0x0429 #define TRACK_RESERVED_016 0x042a #define TRACK_RESERVED_017 0x042b #define TRACK_RESERVED_015 0x0483 #define SUBF_CHECK_FLAGS 0x0432 /* Unav Track task parameters */ #define TRACK_GROUP_1 0x041a #define TRACK_GROUP_2 0x041b #define TRACK_GROUP_2_DELAY 0x041c #define TRACK_CC_DELAY 0x041e #define TRACK_CC_THR 0x041f #define TRACK_PLL_ENA 0x0480 #define TRACK_NAVAID_ENA 0x0482 #define TRACK_SHIFT_REG 0x0421 /* Agc config parameters */ #define TRACK_AGC_LO 0x0422 #define TRACK_AGC_HI 0x0423 #define TRACK_AGC_MAX_HI 0x0424 #define TRACK_AGC_ENA 0x0481 /* PPS parameters */ #define PPS_DUTYCYCLE 0x0440 #define PPS_FREQ 0x0441 #define PPS_DELAY 0x0442 #define PPS_SURVEYLEN 0x0443 #define PPS_MEAS_MS 0x0444 #define PPS_ENA 0x0490 #define PPS_SYNC_TRACK 0x0491 #define PPS_ENA_PRED 0x0492 #define PPS_INVERT 0x0493 /* Frequency plan parameters */ #define FREQ_XTAL 0x0501 #define FREQ_MCLK_NOM 0x0502 #define FREQ_MCLK_DENOM 0x0503 #define FREQ_RF_NOM 0x0504 #define FREQ_RF_DENOM 0x0505 #define FREQ_MIXER_OFFSET 0x0506 #define FREQ_TME2 0x0507 #define FREQ_PARAM_ENA 0x0581 /* Search parameters */ #define SEARCH_XTAL_UNC 0x0701 #define SEARCH_DOPPLER_UNC 0x0702 #define SEARCH_WIN_PRED_EVEN 0x0703 #define SEARCH_WIN_PRED_ODD 0x0704 #define SEARCH_SENS_FULL_R1 0x0705 #define SEARCH_SENS_FULL_R2 0x0706 #define SEARCH_SENS_FULL_R3 0x0707 #define SEARCH_SENS_PRED_EVEN 0x0708 #define SEARCH_SENS_PRED_ODD 0x0709 #define SEARCH_PRED_ROUNDS 0x070a #define SEARCH_BACK_PRNS 0x070b #define SEARCH_GPS_MASK 0x070c #define SEARCH_WAAS_MASK 0x070d #define SEARCH_AUTO_PD_ROUNDS 0x070e #define SEARCH_FLAGS 0x070f #define SEARCH_PREC_PRED_TIMEOUT 0x0710 #define SEARCH_PRED_TIMEOUT 0x0711 #define SEARCH_FERRY_COND 0x0712 #define SEARCH_IFFERRY_PRED_COND 0x0713 #define SEARCH_TUNNEL_IN_SNR 0x0714 #define SEARCH_TUNNEL_OUT_SNR 0x0715 #define SEARCH_PRED_ENA 0x0781 #define SEARCH_BITSYNC_ENA 0x0782 #define SEARCH_AUTO_PRED_ENA 0x0783 #define SEARCH_AUTO_PD_ENA 0x0784 #define SEARCH_SE_PD 0x0785 /* Unav Acquisition parameters */ #define ACQ_SENS_9_COH 0x0901 #define ACQ_SENS_9_NONCOH 0x0902 #define ACQ_SENS_9_THR 0x0903 #define ACQ_SENS_9_BIN 0x0904 #define ACQ_SENS_10_COH 0x0905 #define ACQ_SENS_10_NONCOH 0x0906 #define ACQ_SENS_10_THR 0x0907 #define ACQ_SENS_10_BIN 0x0908 #define ACQ_MSG_ENA 0x0981 #define ACQ_QUICK_SEARCH_ENA 0x0982 #define SE_NONCOH_SHIFT 0x0940 #define SE_IR_SHIFT 0x0941 #define SE_THR 0x0942 #define SE_INT_ENA 0x09a0 /* Logging parameters */ #define LOG_MODE 0x0d01 #define LOG_INTERVAL_MIN 0x0d02 #define LOG_INTERVAL_MAX 0x0d03 #define LOG_MOVE_MIN 0x0d04 #define LOG_MOVE_MAX 0x0d05 #define LOG_VELOCITY_MIN 0x0d06 #define LOG_VELOCITY_MAX 0x0d07 #define LOG_MAXITEMS 0x0d08 #define LOG_STORE_LAT_LONG 0x0d80 #define LOG_STORE_ALT 0x0d81 #define LOG_STORE_ALT_FULL 0x0d82 #define LOG_STORE_GPSTIME 0x0d83 #define LOG_STORE_GPSTIME_MS 0x0d84 #define LOG_STORE_DIRECTION 0x0d85 #define LOG_STORE_VEL 0x0d86 #define LOG_STORE_VEL_VERT 0x0d87 #define LOG_STORE_FIXINFO 0x0d88 /* SBAS parameters */ #define WAAS_TIMEOUT_MODE 0x0b60 #define WAAS_MAX_CHANNELS 0x0b61 #define WAAS_ENA 0x0bc0 #define WAAS_MSG_0_ENA 0x0bc1 #define WAAS_STRICT_ENA 0x0bc2 /* Sony Track parameters */ #define TRACK_DLL_COEFF_GPS 0x0f01 #define TRACK_DLL_COEFF_DISCR 0x0f02 #define TRACK_DLL_LIM_GPS 0x0f03 #define TRACK_DLL4_COEFF_A 0x0f04 #define TRACK_DLL4_COEFF_B 0x0f05 #define TRACK_DLL4_COEFF_C 0x0f06 #define TRACK_DLL4_COEFF_D 0x0f07 #define TRACK_DLL4_FASTADJ_THRES 0x0f08 #define TRACK_ELGATE_NARROW 0x0f09 #define TRACK_COSTASLF_GPS 0x0f0a #define TRACK_COSTASLF_WAAS 0x0f0b #define TRACK_LPF_GPS_ACQ 0x0f0c #define TRACK_LPF_GPS_LOCK 0x0f0d #define TRACK_LPF_WAAS_LOCK 0x0f0e #define TRACK_LPF_NOISE 0x0f0f #define TRACK_SIGDETECT_TH 0x0f10 #define TRACK_SIGDETECT_TH_HS 0x0f11 #define TRACK_TIMEOUT_ACQ 0x0f12 #define TRACK_TIMEOUT_ACQHS 0x0f13 #define TRACK_TIMEOUT_REACQ 0x0f14 #define TRACK_HANDOVER_OFFSET 0x0f15 #define TRACK_CROSSCORR_THRES 0x0f16 #define TRACK_DLLCTRL_INTERVAL 0x0f17 #define TRACK_BITEXTRACT 0x0f18 #define TRACK_RESERVED001 0x0f19 #define TRACK_RESERVED002 0x0f1a #define TRACK_WAAS_PRN_BITSTREAM 0x0f1b #define TRACK_COSTAS_ERROR_TH 0x0f1d #define TRACK_CARRFLT_OUT_TH 0x0f1e #define TRACK_CARRFLT_MIDDLE_TH 0x0f1f #define TRACK_CARRFLT_OUT_DIV 0x0f20 #define TRACK_CARRFLT_MIDDLE_DIV 0x0f21 #define TRACK_CARRFLT_INBAND_DIV 0x0f22 #define TRACK_LATCHTIME_OFFSET 0x0f23 #define TRACK_DIRECTHANDOVER_OFFSET 0x0f24 #define TRACK_EN_HS 0x0f80 #define TRACK_CARR_AID 0x0f81 #define WAAS_EN_DECODE 0x0f82 #define TRACK_CARRCHKATLOCK 0x0f83 #define TRACK_BL_REACQ 0x0f84 /* Sony Test parameters */ #define SONYTEST_DISABLE_PORTS 0x0f85 /* Sony Acq parameters */ #define SACQ_SEARCH_CH_NUM 0x0f30 #define SACQ_NOISE_COUNT_NUM 0x0f31 #define SACQ_NOISE_VALID_TIME 0x0f32 #define SACQ_NOISE_K 0x0f33 #define SACQ_PEAK_FD 0x0f34 #define SACQ_PEAK_NFD 0x0f35 #define SACQ_RESERVE 0x0f36 #define SACQ_SEARCH_CH_NUM_VALID 0x0f96 #endif /* _GPSD_ITALK_H_ */ gpsd-3.9/driver_navcom.c0000664000175000017500000012652712022345475013513 0ustar esresr/* * Driver for Navcom receivers using propietary NCT messages, a binary protocol. * * Vendor website: http://www.navcomtech.com/ * Technical references: http://www.navcomtech.com/support/docs.cfm * * Tested with two SF-2040G models * * At this stage, this driver implements the following commands: * * 0x20: Data Request (tell the unit which responses you want) * 0x3f: LED Configuration (controls the front panel LEDs -- for testing) * 0x1c: Test Support Block (again, blinks the front panel lights) * * and it understands the following responses: * * 0x06: Acknowledgement (without error) * 0x15: Negative Acknowledge * 0x86: Channel Status * 0xae: Identification Block * 0xb0: Raw Meas. Data Block * 0xb1: PVT Block * 0xb5: Pseudorange Noise Statistics * 0xd3: LBM DSP Status Block * 0xef: Clock Drift and Offset * * By Diego Berge. Contact via web form at http://www.navlost.eu/contact * * Week counters are not limited to 10 bits. It's unknown what * the firmware is doing to disambiguate them, if anything; it might just * be adding a fixed offset based on a hidden epoch value, in which case * unhappy things will occur on the next rollover. * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include "gpsd.h" #if defined(NAVCOM_ENABLE) #include "bits.h" /* Have data which is 24 bits long */ #define getles3224(buf,off) (int32_t)(((uint32_t)getub((buf), (off)+2)<<24 | (uint32_t)getub((buf), (off)+1)<<16 | (uint32_t)getub((buf), (off))<<8)>>8) #define getleu3224(buf,off) (uint32_t)(((uint32_t)getub((buf), (off)+2)<<24 | (uint32_t)getub((buf), (off)+1)<<16 | (uint32_t)getub((buf), (off))<<8)>>8) /* And just to be difficult, Navcom is little endian but the GPS data stream is big endian. Some messages contain raw GPS data */ #define getles16_be(buf, off) (int16_t)((((uint16_t)getub(buf, (off)) << 8) \ | (uint16_t)getub(buf, (off)+1))) #define getleu16_be(buf, off) (uint16_t)((((uint16_t)getub(buf, (off)) << 8) \ | (uint16_t)getub(buf, (off)+1))) #define getles32_be(buf, off) (int32_t)((((uint16_t)getleu16_be(buf, (off)) << 16) \ | getleu16_be(buf, (off)+2))) #define getleu32_be(buf, off) (uint32_t)((((uint16_t)getleu16_be(buf, (off)) << 16) \ | getleu16_be(buf, (off)+2))) #define getles64_be(buf, off) (int64_t)((((uint64_t)getleu32_be(buf, (off)) << 32) \ | getleu32_be(buf, (off)+4))) #define getleu64_be(buf, off) (uint64_t)((((uint64_t)getleu32_be(buf, (off)) << 32) \ | getleu32_be(buf, (off)+4))) #define getles3224_be(buf,off) (int32_t)(((uint32_t)getub((buf), (off))<<24 \ | (uint32_t)getub((buf), (off)+1)<<16 \ | (uint32_t)getub((buf), (off)+2)<<8)>>8) #define NAVCOM_CHANNELS 12 static uint8_t checksum(unsigned char *buf, size_t len) { size_t n; uint8_t csum = (uint8_t) 0x00; for (n = 0; n < len; n++) csum ^= buf[n]; return csum; } static bool navcom_send_cmd(struct gps_device_t *session, unsigned char *cmd, size_t len) { return (gpsd_write(session, (const char *)cmd, len) == (ssize_t) len); } /* Data Request */ static void navcom_cmd_0x20(struct gps_device_t *session, uint8_t block_id, uint16_t rate) { unsigned char msg[18]; putbyte(msg, 0, 0x02); putbyte(msg, 1, 0x99); putbyte(msg, 2, 0x66); putbyte(msg, 3, 0x20); /* Cmd ID */ putle16(msg, 4, 0x000e); /* Length */ putbyte(msg, 6, 0x00); /* Action */ putbyte(msg, 7, 0x01); /* Count of blocks */ putbyte(msg, 8, block_id); /* Data Block ID */ putbyte(msg, 9, 0x02); /* Logical Ports */ putle16(msg, 10, rate); /* Data rate */ putbyte(msg, 12, 0x71); putbyte(msg, 13, 0x00); putle16(msg, 14, 0x0000); putbyte(msg, 16, checksum(msg + 3, 13)); putbyte(msg, 17, 0x03); (void)navcom_send_cmd(session, msg, 18); gpsd_report(LOG_PROG, "Navcom: sent command 0x20 (Data Request) " "- data block id = %02x at rate %02x\n", block_id, rate); } /*@ unused @*/ // cppcheck-suppress unusedFunction static void UNUSED navcom_cmd_0x3f(struct gps_device_t *session) /* Changes the LED settings in the receiver */ { unsigned char msg[12]; putbyte(msg, 0, 0x02); putbyte(msg, 1, 0x99); putbyte(msg, 2, 0x66); putbyte(msg, 3, 0x3f); /* Cmd ID */ putle16(msg, 4, 0x0008); putbyte(msg, 6, 0x01); /* Action */ putbyte(msg, 7, 0x00); /* Reserved */ putbyte(msg, 8, 0x02); /* Link LED setting */ putbyte(msg, 9, 0x0a); /* Battery LED setting */ putbyte(msg, 10, checksum(msg + 3, 7)); putbyte(msg, 11, 0x03); (void)navcom_send_cmd(session, msg, 12); gpsd_report(LOG_PROG, "Navcom: sent command 0x3f (LED Configuration Block)\n"); } /* Test Support Block - Blinks the LEDs */ static void navcom_cmd_0x1c(struct gps_device_t *session, uint8_t mode, uint8_t length) { unsigned char msg[12]; putbyte(msg, 0, 0x02); putbyte(msg, 1, 0x99); putbyte(msg, 2, 0x66); putbyte(msg, 3, 0x1c); /* Cmd ID */ putle16(msg, 4, 0x0008); putbyte(msg, 6, 0x04); /* Use ACK/NAK */ putbyte(msg, 7, mode); /* 0x01 or 0x02 */ putbyte(msg, 8, length); /* Only if mode == 0x01 */ putbyte(msg, 9, 0x00); putbyte(msg, 10, checksum(msg + 3, 7)); putbyte(msg, 11, 0x03); (void)navcom_send_cmd(session, msg, 12); gpsd_report(LOG_PROG, "Navcom: sent command 0x1c (Test Support Block)\n"); gpsd_report(LOG_IO, "Navcom: command 0x1c mode = %02x, length = %u\n", mode, length); } #ifdef RECONFIGURE_ENABLE /* Serial Port Configuration */ static void navcom_cmd_0x11(struct gps_device_t *session, uint8_t port_selection) { /* NOTE - We only allow changing one port at a time, * although the message supports doing both at once. */ unsigned char msg[12]; putbyte(msg, 0, 0x02); putbyte(msg, 1, 0x99); putbyte(msg, 2, 0x66); putbyte(msg, 3, 0x11); /* Cmd ID */ putle16(msg, 4, 0x0008); /* Length */ putbyte(msg, 6, 0x04); /* Action - Use ACK/NAK) */ putbyte(msg, 7, port_selection); putbyte(msg, 8, 0x00); /* Reserved */ putbyte(msg, 9, 0x00); /* Reserved */ putbyte(msg, 10, checksum(msg + 3, 7)); putbyte(msg, 11, 0x03); (void)navcom_send_cmd(session, msg, 12); gpsd_report(LOG_PROG, "Navcom: sent command 0x11 (Serial Port Configuration)\n"); gpsd_report(LOG_IO, "Navcom: serial port selection: 0x%02x\n", port_selection); } #endif /* RECONFIGURE_ENABLE */ static void navcom_event_hook(struct gps_device_t *session, event_t event) { if (session->context->readonly) return; /* Request the following messages: */ if (event == event_identified) { /* NOTE - Channel Status allows us to know into which of the * unit's various serial ports we are connected. * Its value gets updated every time we receive a 0x06 (Ack) * message. Note that if commands are being fed into the * unit from more than one port (which is entirely possible * although not necessarily a bright idea), there is a good * chance that we might misidentify our port */ /*@ +charint @*/ navcom_cmd_0x1c(session, 0x02, 0); /* Test Support Block */ navcom_cmd_0x20(session, 0xae, 0x0000); /* Identification Block */ navcom_cmd_0x20(session, 0x86, 0x000a); /* Channel Status */ navcom_cmd_0x1c(session, 0x01, 5); /* Blink LEDs on receiver */ navcom_cmd_0x20(session, 0xae, 0x1770); /* Identification Block - send every 10 min */ navcom_cmd_0x20(session, 0xb1, 0x4000); /* PVT Block */ navcom_cmd_0x20(session, 0xb5, 0x00c8); /* Pseudorange Noise Statistics - send every 20s */ navcom_cmd_0x20(session, 0xb0, 0x4000); /* Raw Meas Data Block */ navcom_cmd_0x20(session, 0x81, 0x0000); /* Packed Ephemeris Data - send once */ navcom_cmd_0x20(session, 0x81, 0x4000); /* Packed Ephemeris Data */ navcom_cmd_0x20(session, 0x86, 0x4000); /* Channel Status */ navcom_cmd_0x20(session, 0x83, 0x4000); /* Ionosphere and UTC Data */ navcom_cmd_0x20(session, 0xef, 0x0bb8); /* Clock Drift - send every 5 min */ /*@ -charint @*/ } } /* Ionosphere and UTC Data */ static gps_mask_t handle_0x83(struct gps_device_t *session) { /* NOTE - At the present moment this is only being used * for determining the GPS-UTC time difference, * for which the iono data is not needed as far * as we are concerned. However, I am still * reporting it (if debuglevel >= LOG_IO) as a * matter of interest */ /* 2^-30 */ #define SF_A0 (0.000000000931322574615478515625) /* 2^-50 */ #define SF_A1 (0.000000000000000888178419700125) /* 2^12 */ #define SF_TOT (4096) /* 2^-30 */ #define SF_ALPHA0 (0.000000000931322574615478515625) /* 2^-27 */ #define SF_ALPHA1 (0.000000007450580596923828125) /* 2^-24 */ #define SF_ALPHA2 (0.000000059604644775390625) /* 2^-24 */ #define SF_ALPHA3 (0.000000059604644775390625) /* 2^11 */ #define SF_BETA0 (2048) /* 2^14 */ #define SF_BETA1 (16384) /* 2^16 */ #define SF_BETA2 (65536) /* 2^16 */ #define SF_BETA3 (65536) unsigned char *buf = session->packet.outbuffer + 3; uint16_t week = getleu16(buf, 3); uint32_t tow = getleu32(buf, 5); int8_t alpha0 = getsb(buf, 9); int8_t alpha1 = getsb(buf, 10); int8_t alpha2 = getsb(buf, 11); int8_t alpha3 = getsb(buf, 12); int8_t beta0 = getsb(buf, 13); int8_t beta1 = getsb(buf, 14); int8_t beta2 = getsb(buf, 15); int8_t beta3 = getsb(buf, 16); int32_t a1 = getles32(buf, 17); int32_t a0 = getles32(buf, 21); uint8_t tot = getub(buf, 25); uint8_t wnt = getub(buf, 26); int8_t dtls = getsb(buf, 27); uint8_t wnlsf = getub(buf, 28); uint8_t dn = getub(buf, 29); int8_t dtlsf = getsb(buf, 30); /*@ +charint +relaxtypes @*/ /* Ref.: ICD-GPS-200C 20.3.3.5.2.4 */ if ((week % 256) * 604800 + tow / 1000.0 < wnlsf * 604800 + dn * 86400) { /* Effectivity time is in the future, use dtls */ session->context->leap_seconds = (int)dtls; } else { /* Effectivity time is not in the future, use dtlsf */ session->context->leap_seconds = (int)dtlsf; } /*@ -relaxtypes -charint @*/ gpsd_report(LOG_PROG, "Navcom: received packet type 0x83 (Ionosphere and UTC Data)\n"); gpsd_report(LOG_IO, "Navcom: Scaled parameters follow:\n"); gpsd_report(LOG_IO, "Navcom: GPS Week: %u, GPS Time of Week: %u (GPS Time: %f)\n", week, tow, week * 604800 + tow / 1000.0); gpsd_report(LOG_IO, "Navcom: a0: %12.4E, a1: %12.4E, a2: %12.4E, a3: %12.4E, " "b0: %12.4E, b1: %12.4E, b2: %12.4E, b3: %12.4E\n", (double)alpha0 * SF_ALPHA0, (double)alpha1 * SF_ALPHA1, (double)alpha2 * SF_ALPHA2, (double)alpha3 * SF_ALPHA3, (double)beta0 * SF_BETA0, (double)beta1 * SF_BETA1, (double)beta2 * SF_BETA2, (double)beta3 * SF_BETA3); gpsd_report(LOG_IO, "Navcom: A0: %19.12E, A1: %19.12E\n", (double)a0 * SF_A0, (double)a1 * SF_A1); gpsd_report(LOG_IO, "Navcom: UTC Ref. Time: %lu, UTC Ref. Week: %u, dTls: %d\n", (unsigned long)tot * SF_TOT, wnt, dtls); gpsd_report(LOG_IO, "Navcom: Week of leap seconds: %u, Day number of leap seconds: %u, dTlsf: %d\n", wnlsf, dn, dtlsf); return 0; /* No flag for update of leap seconds (Not part of a fix) */ #undef SF_A0 #undef SF_A1 #undef SF_TOT #undef SF_ALPHA0 #undef SF_ALPHA1 #undef SF_ALPHA2 #undef SF_ALPHA3 #undef SF_BETA0 #undef SF_BETA1 #undef SF_BETA2 #undef SF_BETA3 } /* Acknowledgement (without error) */ static gps_mask_t handle_0x06(struct gps_device_t *session) { unsigned char *buf = session->packet.outbuffer + 3; uint8_t cmd_id = getub(buf, 3); uint8_t port = getub(buf, 4); session->driver.navcom.physical_port = port; /* This tells us which serial port was used last */ gpsd_report(LOG_PROG, "Navcom: received packet type 0x06 (Acknowledgement (without error))\n"); /*@ -type @*/ gpsd_report(LOG_IO, "Navcom: acknowledged command id 0x%02x on port %c\n", cmd_id, (port == 0 ? 'A' : (port == 1 ? 'B' : '?'))); /*@ +type @*/ return 0; /* Nothing updated */ } /* Negative Acknowledge */ static gps_mask_t handle_0x15(struct gps_device_t *session) { size_t n; unsigned char *buf = session->packet.outbuffer + 3; size_t msg_len = (size_t) getleu16(buf, 1); /*@ -type @*/ uint8_t port, cmd_id = getub(buf, 3); gpsd_report(LOG_PROG, "Navcom: received packet type 0x15 (Negative Acknowledge)\n"); for (n = 4; n < (msg_len - 2); n += 2) { uint8_t err_id = getub(buf, n); uint8_t err_desc = getub(buf, n + 1); gpsd_report(LOG_IO, "Navcom: error id = 0x%02x, error description = 0x%02x\n", err_id, err_desc); } port = getub(buf, n); gpsd_report(LOG_IO, "Navcom: negative acknowledge was for command id 0x%02x on port %c\n", cmd_id, (port == 0 ? 'A' : (port == 1 ? 'B' : '?'))); /*@ -type @*/ return 0; /* Nothing updated */ } /* PVT Block */ static gps_mask_t handle_0xb1(struct gps_device_t *session) { gps_mask_t mask; unsigned int n; unsigned char *buf = session->packet.outbuffer + 3; uint16_t week; uint32_t tow; uint32_t sats_used; int32_t lat, lon; /* Resolution of lat/lon values (2^-11) */ #define LL_RES (0.00048828125) uint8_t lat_fraction, lon_fraction; /* Resolution of lat/lon fractions (2^-15) */ #define LL_FRAC_RES (0.000030517578125) uint8_t nav_mode; int32_t ellips_height, altitude; /* Resolution of height and altitude values (2.0^-10) */ #define EL_RES (0.0009765625) double vel_north, vel_east, vel_up; /* Resolution of velocity values (2.0^-10) */ #define VEL_RES (0.0009765625) double track; uint8_t fom, gdop, pdop, hdop, vdop, tdop, tfom; double eph; /* This value means "undefined" */ #define DOP_UNDEFINED (255) int16_t ant_height_adj; int32_t set_delta_up; /* Resolution of delta north, east, and up, * and ant. height adjustment values (1mm) */ #define D_RES (0.001) #ifdef __UNUSED__ /* Other values provided by the PVT block which we * may want to provide in the future. At the present * moment, the gpsd protocol does not have a mechanism * to make this available to the user */ uint8_t dgps_conf; uint16_t max_dgps_age; uint8_t ext_nav_mode; int32_t set_delta_north, set_delta_east; uint8_t nav_failure_code; #endif /* __UNUSED__ */ /* Timestamp */ week = (uint16_t) getleu16(buf, 3); tow = (uint32_t) getleu32(buf, 5); session->newdata.time = gpsd_gpstime_resolve(session, week, tow / 1000.0); /* Satellites used */ sats_used = (uint32_t) getleu32(buf, 9); session->gpsdata.satellites_used = 0; for (n = 0; n < 31; n++) { if ((sats_used & (0x01 << n)) != 0) session->gpsdata.used[session->gpsdata.satellites_used++] = (int)(n + 1); } /* Get latitude, longitude */ lat = getles32(buf, 13); lon = getles32(buf, 17); lat_fraction = (uint8_t) (getub(buf, 21) >> 4); lon_fraction = (uint8_t) (getub(buf, 21) & 0x0f); session->newdata.latitude = (double)(lat * LL_RES + lat_fraction * LL_FRAC_RES) / 3600; session->newdata.longitude = (double)(lon * LL_RES + lon_fraction * LL_FRAC_RES) / 3600; /* Nav mode */ nav_mode = (uint8_t) getub(buf, 22); if (-nav_mode & 0x80) { session->gpsdata.status = STATUS_NO_FIX; session->newdata.mode = MODE_NO_FIX; } else { session->newdata.mode = ((nav_mode & 0x40)!=0 ? MODE_3D : MODE_2D); session->gpsdata.status = ((nav_mode & 0x03)!=0 ? STATUS_DGPS_FIX : STATUS_FIX); } /* Height Data */ ellips_height = getles32(buf, 23); altitude = getles32(buf, 27); ant_height_adj = getles16(buf, 51); set_delta_up = getles32(buf, 79); session->newdata.altitude = (double)(altitude * EL_RES) + (ant_height_adj * D_RES) + (set_delta_up * D_RES); session->gpsdata.separation = (double)(ellips_height - altitude) * EL_RES + (ant_height_adj * D_RES) + (set_delta_up * D_RES); /* Speed Data */ vel_north = (double)getles3224(buf, 31); vel_east = (double)getles3224(buf, 34); /* vel_up = getles3224(buf, 37); */ vel_up = (double)getles3224(buf, 37); track = atan2(vel_east, vel_north); if (track < 0) track += 2 * GPS_PI; session->newdata.track = track * RAD_2_DEG; /*@ -evalorder @*/ session->newdata.speed = sqrt(pow(vel_east, 2) + pow(vel_north, 2)) * VEL_RES; /*@ +evalorder @*/ session->newdata.climb = vel_up * VEL_RES; /* Quality indicators */ /*@ -type @*/ fom = getub(buf, 40); gdop = getub(buf, 41); pdop = getub(buf, 42); hdop = getub(buf, 43); vdop = getub(buf, 44); tdop = getub(buf, 45); tfom = getub(buf, 46); /* Get two-sigma horizontal circular error estimate */ eph = fom / 100.0 * 1.96; /* approximate epx and epy errors from it */ session->newdata.epx = session->newdata.epy = eph / sqrt(2); session->newdata.ept = tfom * 1.96 /*Two sigma */ ; if (gdop != DOP_UNDEFINED) session->gpsdata.dop.gdop = gdop / 10.0; if (pdop != DOP_UNDEFINED) session->gpsdata.dop.pdop = pdop / 10.0; if (hdop != DOP_UNDEFINED) session->gpsdata.dop.hdop = hdop / 10.0; if (vdop != DOP_UNDEFINED) session->gpsdata.dop.vdop = vdop / 10.0; if (tdop != DOP_UNDEFINED) session->gpsdata.dop.tdop = tdop / 10.0; gpsd_report(LOG_PROG, "Navcom: received packet type 0xb1 (PVT Report)\n"); gpsd_report(LOG_IO, "Navcom: navigation mode %s (0x%02x) - %s - %s\n", ((-nav_mode & 0x80)!='\0' ? "invalid" : "valid"), nav_mode, ((nav_mode & 0x40)!='\0' ? "3D" : "2D"), ((nav_mode & 0x03)!='\0' ? "DGPS" : "GPS")); /*@ +type @*/ gpsd_report(LOG_IO, "Navcom: latitude = %f, longitude = %f, altitude = %f, geoid = %f\n", session->newdata.latitude, session->newdata.longitude, session->newdata.altitude, session->gpsdata.separation); gpsd_report(LOG_IO, "Navcom: velocities: north = %f, east = %f, up = %f (track = %f, speed = %f)\n", vel_north * VEL_RES, vel_east * VEL_RES, vel_up * VEL_RES, session->newdata.track, session->newdata.speed); #undef D_RES #undef LL_RES #undef LL_FRAC_RES #undef EL_RES #undef VEL_RES #undef DOP_UNDEFINED mask = LATLON_SET | ALTITUDE_SET | CLIMB_SET | SPEED_SET | TRACK_SET | STATUS_SET | MODE_SET | USED_IS | HERR_SET | VERR_SET | TIMERR_SET | DOP_SET | TIME_SET | PPSTIME_IS; gpsd_report(LOG_DATA, "PVT 0xb1: time=%.2f, lat=%.2f lon=%.2f alt=%.f " "speed=%.2f track=%.2f climb=%.2f mode=%d status=%d " "epx=%.2f epy=%.2f epv=%.2f " "gdop=%.2f pdop=%.2f hdop=%.2f vdop=%.2f tdop=%.2f " "mask={LATLON|ALTITUDE|CLIMB|SPEED|TRACK|TIME|STATUS|MODE|" "USED|HERR|VERR|TIMERR|DOP}\n", session->newdata.time, session->newdata.latitude, session->newdata.longitude, session->newdata.altitude, session->newdata.speed, session->newdata.track, session->newdata.climb, session->newdata.mode, session->gpsdata.status, session->newdata.epx, session->newdata.epy, session->newdata.epv, session->gpsdata.dop.gdop, session->gpsdata.dop.pdop, session->gpsdata.dop.hdop, session->gpsdata.dop.vdop, session->gpsdata.dop.tdop); return mask; } /* Packed Ephemeris Data */ static gps_mask_t handle_0x81(struct gps_device_t *session) { /* Scale factors for everything */ /* 2^-31 */ #define SF_TGD (.000000000465661287307739257812) /* 2^4 */ #define SF_TOC (16) /* 2^-55 */ #define SF_AF2 (.000000000000000027755575615628) /* 2^-43 */ #define SF_AF1 (.000000000000113686837721616029) /* 2^-31 */ #define SF_AF0 (.000000000465661287307739257812) /* 2^-5 */ #define SF_CRS (.031250000000000000000000000000) /* 2^-43 */ #define SF_DELTA_N (.000000000000113686837721616029) /* 2^-31 */ #define SF_M0 (.000000000465661287307739257812) /* 2^-29 */ #define SF_CUC (.000000001862645149230957031250) /* 2^-33 */ #define SF_E (.000000000116415321826934814453) /* 2^-29 */ #define SF_CUS (.000000001862645149230957031250) /* 2^-19 */ #define SF_SQRT_A (.000001907348632812500000000000) /* 2^4 */ #define SF_TOE (16) /* 2^-29 */ #define SF_CIC (.000000001862645149230957031250) /* 2^-31 */ #define SF_OMEGA0 (.000000000465661287307739257812) /* 2^-29 */ #define SF_CIS (.000000001862645149230957031250) /* 2^-31 */ #define SF_I0 (.000000000465661287307739257812) /* 2^-5 */ #define SF_CRC (.031250000000000000000000000000) /* 2^-31 */ #define SF_OMEGA (.000000000465661287307739257812) /* 2^-43 */ #define SF_OMEGADOT (.000000000000113686837721616029) /* 2^-43 */ #define SF_IDOT (.000000000000113686837721616029) unsigned char *buf = session->packet.outbuffer + 3; uint8_t prn = getub(buf, 3); uint16_t week = getleu16(buf, 4); uint32_t tow = getleu32(buf, 6); uint16_t iodc = getleu16(buf, 10); /* And now the fun starts... everything that follows is * raw GPS data minus parity */ /* Subframe 1, words 3 to 10 minus parity */ uint16_t wn = (getleu16_be(buf, 12) & 0xffc0) >> 6; uint8_t cl2 = (getub(buf, 13) & 0x30) >> 4; uint8_t ura = getub(buf, 13) & 0x0f; uint8_t svh = (getub(buf, 14) & 0xfc) >> 2; /* We already have IODC from earlier in the message, so * we do not decode again */ /* uint16_t iodc = (getub(buf, 14)&0x03)<<8;*/ uint8_t l2pd = (getub(buf, 15) & 0x80) >> 7; int8_t tgd = getsb(buf, 26); /* iodc |= getub(buf, 27);*/ uint16_t toc = getleu16_be(buf, 28); int8_t af2 = getsb(buf, 30); int16_t af1 = getles16_be(buf, 31); /*@ -shiftimplementation @*/ int32_t af0 = getles3224_be(buf, 33) >> 2; /*@ +shiftimplementation @*/ /* Subframe 2, words 3 to 10 minus parity */ uint8_t iode = getub(buf, 36); int16_t crs = getles16_be(buf, 37); int16_t delta_n = getles16_be(buf, 39); int32_t m0 = getles32_be(buf, 41); int16_t cuc = getles16_be(buf, 45); uint32_t e = getleu32_be(buf, 47); int16_t cus = getles16_be(buf, 51); uint32_t sqrt_a = getleu32_be(buf, 53); uint16_t toe = getleu16_be(buf, 57); /* NOTE - Fit interval & AODO not collected */ /* Subframe 3, words 3 to 10 minus parity */ int16_t cic = getles16_be(buf, 60); int32_t Omega0 = getles32_be(buf, 62); int16_t cis = getles16_be(buf, 66); int32_t i0 = getles32_be(buf, 68); int16_t crc = getles16_be(buf, 72); int32_t omega = getles32_be(buf, 74); int32_t Omegadot = getles3224_be(buf, 78); /*@ -predboolothers @*/ /* Question: What is the proper way of shifting a signed int 2 bits to * the right, preserving sign? Answer: integer division by 4. */ int16_t idot = (int16_t) (((getles16_be(buf, 82) & 0xfffc) / 4) | (getub(buf, 82) & 80 ? 0xc000 : 0x0000)); /*@ +predboolothers @*/ session->context->gps_week = (unsigned short)wn; session->context->gps_tow = (double)(toc * SF_TOC); /* leap second? */ gpsd_report(LOG_PROG, "Navcom: received packet type 0x81 (Packed Ephemeris Data)\n"); gpsd_report(LOG_IO, "Navcom: PRN: %u, Week: %u, TOW: %.3f SV clock bias/drift/drift rate: %#19.12E/%#19.12E/%#19.12E\n", prn, session->context->gps_week, session->context->gps_tow, ((double)af0) * SF_AF0, ((double)af1) * SF_AF1, ((double)af2) * SF_AF2); gpsd_report(LOG_IO, "Navcom: IODE (!AODE): %u Crs: %19.12e, Delta n: %19.12e, M0: %19.12e\n", iode, (double)crs * SF_CRS, (double)delta_n * SF_DELTA_N * GPS_PI, (double)m0 * SF_M0 * GPS_PI); gpsd_report(LOG_IO, "Navcom: Cuc: %19.12e, Eccentricity: %19.12e, Cus: %19.12e, A^1/2: %19.12e\n", (double)cuc * SF_CUC, (double)e * SF_E, (double)cus * SF_CUS, (double)sqrt_a * SF_SQRT_A); gpsd_report(LOG_IO, "Navcom: TOE: %u, Cic: %19.12e, Omega %19.12e, Cis: %19.12e\n", toe * SF_TOE, (double)cic * SF_CIC, (double)Omega0 * SF_OMEGA0 * GPS_PI, (double)cis * SF_CIS); gpsd_report(LOG_IO, "Navcom: i0: %19.12e, Crc: %19.12e, omega: %19.12e, Omega dot: %19.12e\n", (double)i0 * SF_I0 * GPS_PI, (double)crc * SF_CRC, (double)omega * SF_OMEGA * GPS_PI, (double)Omegadot * SF_OMEGADOT * GPS_PI); gpsd_report(LOG_IO, "Navcom: IDOT: %19.12e, Codes on L2: 0x%x, GPS Week: %u, L2 P data flag: %x\n", (double)idot * SF_IDOT * GPS_PI, cl2, week - (week % 1024) + wn, l2pd); gpsd_report(LOG_IO, "Navcom: SV accuracy: 0x%x, SV health: 0x%x, TGD: %f, IODC (!AODC): %u\n", ura, svh, (double)tgd * SF_TGD, iodc); gpsd_report(LOG_IO, "Navcom: Transmission time: %u\n", tow); #undef SF_TGD #undef SF_TOC #undef SF_AF2 #undef SF_AF1 #undef SF_AF0 #undef SF_CRS #undef SF_DELTA_N #undef SF_M0 #undef SF_CUC #undef SF_E #undef SF_CUS #undef SF_SQRT_A #undef SF_TOE #undef SF_CIC #undef SF_OMEGA0 #undef SF_CIS #undef SF_I0 #undef SF_CRC #undef SF_OMEGA #undef SF_OMEGADOT #undef SF_IDOT return 0; } /* Channel Status */ static gps_mask_t handle_0x86(struct gps_device_t *session) { size_t n, i; uint8_t prn, ele, ca_snr, p2_snr, log_channel, hw_channel, s; uint16_t azm, dgps_age; unsigned char *buf = session->packet.outbuffer + 3; size_t msg_len = (size_t) getleu16(buf, 1); uint16_t week = getleu16(buf, 3); uint32_t tow = getleu32(buf, 5); uint8_t eng_status = getub(buf, 9); uint16_t sol_status = getleu16(buf, 10); uint8_t sats_visible = getub(buf, 12); //uint8_t sats_tracked = getub(buf, 13); uint8_t sats_used = getub(buf, 14); //uint8_t pdop = getub(buf, 15); /* Timestamp */ session->gpsdata.skyview_time = gpsd_gpstime_resolve(session, (unsigned short)week, (double)tow / 1000.0f); /* Give this driver a single point of truth about DOPs */ //session->gpsdata.dop.pdop = (int)pdop / 10.0; /* Satellite count */ session->gpsdata.satellites_visible = (int)sats_visible; session->gpsdata.satellites_used = (int)sats_used; /* Fix mode */ switch (sol_status & 0x05) { case 0x05: session->gpsdata.status = STATUS_DGPS_FIX; break; case 0x01: session->gpsdata.status = STATUS_FIX; break; default: session->gpsdata.status = STATUS_NO_FIX; } /*@ -predboolothers @*/ gpsd_report(LOG_IO, "Navcom: engine status = 0x%x, almanac = %s, time = 0x%x, pos = 0x%x\n", eng_status & 0x07, (eng_status & 0x08 ? "valid" : "invalid"), eng_status & 0x30 >> 4, eng_status & 0xc0 >> 6); /*@ +predboolothers @*/ /* Satellite details */ i = 0; for (n = 17; n < msg_len; n += 14) { if (i >= MAXCHANNELS) { gpsd_report(LOG_ERROR, "Navcom: packet type 0x86: too many satellites!\n"); gpsd_zero_satellites(&session->gpsdata); return 0; } prn = getub(buf, n); /* tracking_status = getub(buf, n + 1); */ log_channel = getub(buf, n + 2); ele = getub(buf, n + 5); azm = getleu16(buf, n + 6); ca_snr = getub(buf, n + 8); p2_snr = getub(buf, n + 10); dgps_age = getleu16(buf, n + 11); hw_channel = getub(buf, n + 13); s = (unsigned char)0; /*@ -predboolothers +charint @*/ /* NOTE - In theory, I think one would check for hw channel number to * see if one is dealing with a GPS or other satellite, but the * channel numbers reported bear no resemblance to what the spec * says should be. So I check for the fact that if all three * values below are zero, one is not interested on this satellite */ if (!(ele == 0 && azm == 0 && dgps_age == 0)) { session->gpsdata.PRN[i] = (int)prn; session->gpsdata.elevation[i] = (int)ele; session->gpsdata.azimuth[i] = (int)azm; /*@ ignore @*//* splint is confused */ s = session->gpsdata.ss[i++] = (p2_snr ? p2_snr : ca_snr) / 4.0; /*@ end @*/ } gpsd_report(LOG_IO, "Navcom: prn = %3u, ele = %02u, azm = %03u, snr = %d (%s), " "dgps age = %.1fs, log ch = %d, hw ch = 0x%02x\n", prn, ele, azm, s, (p2_snr ? "P2" : "C/A"), (double)dgps_age * 0.1, log_channel & 0x3f, hw_channel); gpsd_report(LOG_IO, "Navcom: sol. valid = %c, clock = %s, pos. = %s, " "height = %s, err. code = 0x%x\n", (sol_status & 0x01 ? 'Y' : 'N'), (sol_status & 0x02 ? "stable" : "unstable"), (sol_status & 0x04 ? "dgps" : "unaided"), (sol_status & 0x08 ? "solved" : "constrained"), (sol_status & 0x01 ? 0x00 : sol_status & 0x0f00 >> 8)); /*@ +predboolothers -charint @*/ } gpsd_report(LOG_DATA, "CS 0x86: visible=%d, used=%d, mask={SATELLITE|STATUS}\n", session->gpsdata.satellites_visible, session->gpsdata.satellites_used); return SATELLITE_SET | STATUS_SET; } /* Raw Meas. Data Block */ static gps_mask_t handle_0xb0(struct gps_device_t *session) { /* L1 wavelength (299792458m/s / 1575420000Hz) */ #define LAMBDA_L1 (.190293672798364880476317426464) size_t n; unsigned char *buf = session->packet.outbuffer + 3; size_t msg_len = (size_t) getleu16(buf, 1); uint16_t week = getleu16(buf, 3); uint32_t tow = getleu32(buf, 5); uint8_t tm_slew_acc = getub(buf, 9); uint8_t status = getub(buf, 10); session->context->gps_week = (unsigned short)week; session->context->gps_tow = (double)tow / 1000.0; gpsd_report(LOG_PROG, "Navcom: received packet type 0xb0 (Raw Meas. Data Block)\n"); /*@ -predboolothers @*/ gpsd_report(LOG_IO, "Navcom: week = %u, tow = %.3f, time slew accumulator = %u (1/1023mS), status = 0x%02x " "(%sclock %s - %u blocks follow)\n", session->context->gps_week, session->context->gps_tow, tm_slew_acc, status, (status & 0x80 ? "channel time set - " : ""), (status & 0x40 ? "stable" : "not stable"), status & 0x0f); /*@ +predboolothers @*/ for (n = 11; n < msg_len - 1; n += 16) { uint8_t sv_status = getub(buf, n); uint8_t ch_status = getub(buf, n + 1); uint32_t ca_pseudorange = getleu32(buf, n + 2); /* integer division by 16 is a sign-preserving right shift of 4 bits */ int32_t l1_phase = getles3224(buf, n + 6) / 16; uint8_t l1_slips = (uint8_t) (getles3224(buf, n + 6) & 0x0f); int16_t p1_ca_pseudorange = getles16(buf, n + 9); int16_t p2_ca_pseudorange = getles16(buf, n + 11); int32_t l2_phase = getles3224(buf, n + 13) / 16; uint8_t l2_slips = (uint8_t) (getles3224(buf, n + 13) & 0x0f); /*@ -predboolothers +charint @*/ double c1 = (sv_status & 0x80 ? (double)ca_pseudorange / 16.0 * LAMBDA_L1 : NAN); double l1 = (sv_status & 0x80 ? (double)ca_pseudorange / 16.0 + (double)l1_phase / 256.0 : NAN); double l2 = (sv_status & 0x20 ? ((double)ca_pseudorange / 16.0 + (double)p2_ca_pseudorange / 16.0) * (120.0 / 154.0) + (double)l2_phase / 256.0 : NAN); double p1 = (sv_status & 0x40 ? c1 + (double)p1_ca_pseudorange / 16.0 * LAMBDA_L1 : NAN); double p2 = (sv_status & 0x20 ? c1 + (double)p2_ca_pseudorange / 16.0 * LAMBDA_L1 : NAN); gpsd_report(LOG_IO + 1, "Navcom: >> sv status = 0x%02x (PRN %u - C/A & L1 %s - P1 %s - P2 & L2 %s)\n", sv_status, (sv_status & 0x1f), (sv_status & 0x80 ? "valid" : "invalid"), (sv_status & 0x40 ? "valid" : "invalid"), (sv_status & 0x20 ? "valid" : "invalid")); gpsd_report(LOG_IO + 1, "Navcom: >>> ch status = 0x%02x (Logical channel: %u - CA C/No: %u dBHz) " "sL1: %u, sL2: %u\n", ch_status, ch_status & 0x0f, ((ch_status & 0xf0) >> 4) + 35, l1_slips, l2_slips); gpsd_report(LOG_IO + 1, "Navcom: >>> C1: %14.3f, L1: %14.3f, L2: %14.3f, P1: %14.3f, P2: %14.3f\n", c1, l1, l2, p1, p2); /*@ +predboolothers -charint @*/ } #undef LAMBDA_L1 return 0; /* Raw measurements not yet implemented in gpsd */ } /* Pseudorange Noise Statistics */ static gps_mask_t handle_0xb5(struct gps_device_t *session) { if (sizeof(double) == 8) { gps_mask_t mask = TIME_SET; char *buf = (char *)session->packet.outbuffer + 3; uint16_t week = getleu16(buf, 3); uint32_t tow = getleu32(buf, 5); double rms = getled64(buf, 9); #ifdef __UNUSED__ /* Reason why it's unused is these figures do not agree * with those obtained from the PVT report (handle_0xb1). * The figures from 0xb1 do agree with the values reported * by Navcom's PC utility */ //double ellips_maj = getled64(buf, 17); //double ellips_min = getled64(buf, 25); //double ellips_azm = getled64(buf, 33); double lat_sd = getled64(buf, 41); double lon_sd = getled64(buf, 49); double alt_sd = getled64(buf, 57); double hrms = sqrt(pow(lat_sd, 2) + pow(lon_sd, 2)); #endif /* __UNUSED__ */ session->gpsdata.epe = rms * 1.96; mask |= PERR_IS; #ifdef __UNUSED__ session->newdata.eph = hrms * 1.96; session->newdata.epv = alt_sd * 1.96; mask |= (HERR_SET | VERR_SET); #endif /* __UNUSED__ */ session->newdata.time = gpsd_gpstime_resolve(session, (unsigned short)week, (double)tow / 1000.0f); gpsd_report(LOG_PROG, "Navcom: received packet type 0xb5 (Pseudorange Noise Statistics)\n"); gpsd_report(LOG_IO, "Navcom: epe = %f\n", session->gpsdata.epe); return mask; } else { /* Ignore this message block */ if (!session->driver.navcom.warned) { gpsd_report(LOG_WARN, "Navcom: received packet type 0xb5 (Pseudorange Noise Statistics) ignored " " - sizeof(double) == 64 bits required\n"); session->driver.navcom.warned = true; } return 0; /* Block ignored - wrong sizeof(double) */ } } /* LBM DSP Status Block */ static gps_mask_t handle_0xd3(struct gps_device_t *session UNUSED) { /* This block contains status information about the * unit's L-band (Inmarsat) module. There is nothing * interesting in it for our purposes so we do not deal * with it. This callback is purely to a) stop * "unrecognised packet" messages appearing in the log * and b) explain what it is for the curious */ return 0; /* Nothing updated */ } /* Identification Block */ static gps_mask_t handle_0xae(struct gps_device_t *session) { /*@-modobserver@*/ char *engconfstr, *asicstr; unsigned char *buf = session->packet.outbuffer + 3; size_t msg_len = (size_t) getleu16(buf, 1); uint8_t engconf = getub(buf, 3); uint8_t asic = getub(buf, 4); uint8_t swvermaj = getub(buf, 5); uint8_t swvermin = getub(buf, 6); uint16_t dcser = getleu16(buf, 7); uint8_t dcclass = getub(buf, 9); uint16_t rfcser = getleu16(buf, 10); uint8_t rfcclass = getub(buf, 12); /*@ -stringliteralnoroomfinalnull -type @*/ uint8_t softtm[17] = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; uint8_t bootstr[17] = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; uint8_t ioptm[17] = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; /*@ +stringliteralnoroomfinalnull +type @*/ uint8_t iopvermaj = (uint8_t) 0x00; uint8_t iopvermin = (uint8_t) 0x00; uint8_t picver = (uint8_t) 0x00; uint8_t slsbn = (uint8_t) 0x00; uint8_t iopsbn = (uint8_t) 0x00; memcpy(softtm, &buf[13], 16); memcpy(bootstr, &buf[29], 16); if (msg_len == 0x0037) { /* No IOP */ slsbn = getub(buf, 53); } else { /* IOP Present */ iopvermaj = getub(buf, 53); iopvermin = getub(buf, 54); memcpy(ioptm, &buf[55], 16); picver = getub(buf, 71); slsbn = getub(buf, 72); iopsbn = getub(buf, 73); } switch (engconf) { case 0x00: engconfstr = "Unknown/Undefined"; break; case 0x01: engconfstr = "NCT 2000 S"; break; case 0x02: engconfstr = "NCT 2000 D"; break; case 0x03: engconfstr = "Startfire Single"; break; case 0x04: engconfstr = "Starfire Dual"; break; case 0x05: engconfstr = "Pole Mount RTK (Internal Radio)"; break; case 0x06: engconfstr = "Pole Mount GIS (LBM)"; break; case 0x07: engconfstr = "Black Box RTK (Internal Radio)"; break; case 0x08: engconfstr = "Black Box GIS (LBM)"; break; case 0x80: engconfstr = "R100"; break; case 0x81: engconfstr = "R200"; break; case 0x82: engconfstr = "R210"; break; case 0x83: engconfstr = "R300"; break; case 0x84: engconfstr = "R310"; break; default: engconfstr = "?"; } switch (asic) { case 0x01: asicstr = "A-ASIC"; break; case 0x02: asicstr = "B-ASIC"; break; case 0x03: asicstr = "C-ASIC"; break; case 0x04: asicstr = "M-ASIC"; break; default: asicstr = "?"; } gpsd_report(LOG_PROG, "Navcom: received packet type 0xae (Identification Block)\n"); if (msg_len == 0x0037) { gpsd_report(LOG_INF, "Navcom: ID Data: " "%s %s Ver. %u.%u.%u, DC S/N: %u.%u, RF S/N: %u.%u, " "Build ID: %s, Boot software: %s\n", engconfstr, asicstr, swvermaj, swvermin, slsbn, dcser, dcclass, rfcser, rfcclass, softtm, bootstr); } else { gpsd_report(LOG_INF, "Navcom: ID Data: " "%s %s Ver. %u.%u.%u, DC S/N: %u.%u, RF S/N: %u.%u, " "Build ID: %s, Boot software: %s, " "IOP Ver.: %u.%u.%u, PIC: %u, IOP Build ID: %s\n", engconfstr, asicstr, swvermaj, swvermin, slsbn, dcser, dcclass, rfcser, rfcclass, softtm, bootstr, iopvermaj, iopvermin, iopsbn, picver, ioptm); } /*@ -formattype @*/ (void)snprintf(session->subtype, sizeof(session->subtype), "%s %s Ver. %u.%u.%u S/N %u.%u %u.%u", engconfstr, asicstr, swvermaj, swvermin, slsbn, dcser, dcclass, rfcser, rfcclass); /*@ +formattype @*/ return DEVICEID_SET; /*@+modobserver@*/ } /* Clock Drift and Offset */ static gps_mask_t handle_0xef(struct gps_device_t *session) { unsigned char *buf = session->packet.outbuffer + 3; //uint16_t week = getleu16(buf, 3); //uint32_t tow = getleu32(buf, 5); int8_t osc_temp = getsb(buf, 9); uint8_t nav_status = getub(buf, 10); double nav_clock_offset; float nav_clock_drift; float osc_filter_drift_est; int32_t time_slew = (int32_t) getles32(buf, 27); if (sizeof(double) == 8) { nav_clock_offset = getled64((char *)buf, 11); } else { nav_clock_offset = NAN; } if (sizeof(float) == 4) { nav_clock_drift = getlef32((char *)buf, 19); osc_filter_drift_est = getlef32((char *)buf, 23); } else { nav_clock_drift = NAN; osc_filter_drift_est = NAN; } gpsd_report(LOG_IO, "Navcom: oscillator temp. = %d, nav. status = 0x%02x, " "nav. clock offset = %f, nav. clock drift = %f, " "osc. filter drift est. = %f, acc.time slew value = %d\n", osc_temp, nav_status, nav_clock_offset, nav_clock_drift, osc_filter_drift_est, time_slew); gpsd_report(LOG_DATA, "CDO 0xef: time=%.2f mask={TIME}\n", session->newdata.time); return 0; } /*@ +charint @*/ gps_mask_t navcom_parse(struct gps_device_t * session, unsigned char *buf, size_t len) { unsigned char cmd_id; unsigned int msg_len; if (len == 0) return 0; cmd_id = (unsigned char)getub(buf, 3); //payload = &buf[6]; msg_len = (uint) getleu16(buf, 4); /*@ -usedef -compdef @*/ gpsd_report(LOG_RAW, "Navcom: packet type 0x%02x\n", cmd_id); /*@ +usedef +compdef @*/ (void)snprintf(session->gpsdata.tag, sizeof(session->gpsdata.tag), "0x%02x", cmd_id); session->cycle_end_reliable = true; switch (cmd_id) { case 0x06: return handle_0x06(session); case 0x15: return handle_0x15(session); case 0x81: return handle_0x81(session); case 0x83: return handle_0x83(session); case 0x86: return handle_0x86(session); case 0xae: return handle_0xae(session); case 0xb0: return handle_0xb0(session); case 0xb1: return handle_0xb1(session) | (CLEAR_IS | REPORT_IS); case 0xb5: return handle_0xb5(session); case 0xd3: return handle_0xd3(session); case 0xef: return handle_0xef(session); default: gpsd_report(LOG_PROG, "Navcom: received packet type 0x%02x, length %d - unknown or unimplemented\n", cmd_id, msg_len); return 0; } } /*@ -charint @*/ static gps_mask_t navcom_parse_input(struct gps_device_t *session) { gps_mask_t st; if (session->packet.type == NAVCOM_PACKET) { st = navcom_parse(session, session->packet.outbuffer, session->packet.outbuflen); session->gpsdata.dev.driver_mode = MODE_BINARY; /* binary */ return st; #ifdef NMEA_ENABLE } else if (session->packet.type == NMEA_PACKET) { st = nmea_parse((char *)session->packet.outbuffer, session); session->gpsdata.dev.driver_mode = MODE_NMEA; /* NMEA */ return st; #endif /* NMEA_ENABLE */ } else return 0; } #ifdef CONTROLSEND_ENABLE static ssize_t navcom_control_send(struct gps_device_t *session, char *buf, size_t len) { /*@ +ignoresigns -mayaliasunique @*/ putbyte(session->msgbuf, 0, 0x02); putbyte(session->msgbuf, 1, 0x99); putbyte(session->msgbuf, 2, 0x66); putbyte(session->msgbuf, 3, buf[0]); /* Cmd ID */ putle16(session->msgbuf, 4, len + 4); /* Length */ memcpy(session->msgbuf, buf + 6, len - 1); putbyte(session->msgbuf, 6 + len, checksum((unsigned char *)session->msgbuf + 3, len + 5)); putbyte(session->msgbuf, 7 + len, 0x03); session->msgbuflen = len + 9; /*@ -ignoresigns +mayaliasunique @*/ return gpsd_write(session, session->msgbuf, session->msgbuflen); } #endif /* CONTROLSEND_ENABLE */ #ifdef RECONFIGURE_ENABLE static bool navcom_speed(struct gps_device_t *session, speed_t speed, char parity, int stopbits) { /* parity and stopbit switching aren't implemented */ if (parity != session->gpsdata.dev.parity || stopbits != (int)session->gpsdata.dev.parity) { return false; } else { uint8_t port, port_selection; uint8_t baud; if (session->driver.navcom.physical_port == (uint8_t) 0xFF) { /* We still don't know which port we're connected to */ return false; } /*@ +charint @*/ switch (speed) { /* NOTE - The spec says that certain baud combinations * on ports A and B are not allowed, those are * 1200/115200, 2400/57600, and 2400/115200. * To try and minimise the possibility of those * occurring, we do not allow baud rates below * 4800. We could also disallow 57600 and 115200 * to totally prevent this, but I do not consider * that reasonable. Finding which baud speed the * other port is set at would also be too much * trouble, so we do not do it. */ case 4800: baud = 0x04; break; case 9600: baud = 0x06; break; case 19200: baud = 0x08; break; case 38400: baud = 0x0a; break; case 57600: baud = 0x0c; break; case 115200: baud = 0x0e; break; default: /* Unsupported speed */ return false; } /*@ -charint @*/ /* Proceed to construct our message */ port = session->driver.navcom.physical_port; /*@i1@*/ port_selection = (port ? port : (uint8_t) 0xff) | baud; /* Send it off */ navcom_cmd_0x11(session, port_selection); /* And cheekily return true, even though we have * no way to know if the speed change succeeded * until and if we receive an ACK (message 0x06), * which will be at the new baud speed if the * command was successful. Bottom line, the client * should requery gpsd to see if the new speed is * different than the old one */ return true; } } #endif /* RECONFIGURE_ENABLE */ /* this is everything we export */ /* *INDENT-OFF* */ const struct gps_type_t navcom_binary = { .type_name = "Navcom binary", /* full name of type */ .packet_type = NAVCOM_PACKET, /* lexer packet type */ .flags = DRIVER_NOFLAGS, /* no flags set */ .trigger = NULL, /* none */ .channels = NAVCOM_CHANNELS, /* 12 L1 + 12 L2 + 2 Inmarsat L-Band */ .probe_detect = NULL, /* no probe */ .get_packet = generic_get, /* use generic one */ .parse_packet = navcom_parse_input, /* parse message packets */ .rtcm_writer = gpsd_write, /* send RTCM data straight */ .event_hook = navcom_event_hook, /* lifetime event handler */ #ifdef RECONFIGURE_ENABLE .speed_switcher = navcom_speed, /* we do change baud rates */ .mode_switcher = NULL, /* there is not a mode switcher */ .rate_switcher = NULL, /* no sample-rate switcher */ .min_cycle = 1, /* ignore, no rate switch */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = navcom_control_send, /* how to send a control string */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, /* no method for NTP fudge factor */ #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #endif /* defined(NAVCOM_ENABLE) */ gpsd-3.9/driver_nmea0183.c0000664000175000017500000013730012041666631013454 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include #include #include "gpsd.h" #ifdef NMEA_ENABLE /************************************************************************** * * Parser helpers begin here * **************************************************************************/ static void do_lat_lon(char *field[], struct gps_fix_t *out) /* process a pair of latitude/longitude fields starting at field index BEGIN */ { double d, m; char str[20], *p; if (*(p = field[0]) != '\0') { double lat; (void)strlcpy(str, p, sizeof(str)); lat = atof(str); m = 100.0 * modf(lat / 100.0, &d); lat = d + m / 60.0; p = field[1]; if (*p == 'S') lat = -lat; out->latitude = lat; } if (*(p = field[2]) != '\0') { double lon; (void)strlcpy(str, p, sizeof(str)); lon = atof(str); m = 100.0 * modf(lon / 100.0, &d); lon = d + m / 60.0; p = field[3]; if (*p == 'W') lon = -lon; out->longitude = lon; } } /************************************************************************** * * Scary timestamp fudging begins here * * Four sentences, GGA and GLL and RMC and ZDA, contain timestamps. * GGA/GLL/RMC timestamps look like hhmmss.ss, with the trailing .ss * part optional. RMC has a date field, in the format ddmmyy. ZDA * has separate fields for day/month/year, with a 4-digit year. This * means that for RMC we must supply a century and for GGA and GLL we * must supply a century, year, and day. We get the missing data from * a previous RMC or ZDA; century in RMC is supplied from the daemon's * context (initialized at startup time) if there has been no previous * ZDA. * **************************************************************************/ #define DD(s) ((int)((s)[0]-'0')*10+(int)((s)[1]-'0')) static void merge_ddmmyy(char *ddmmyy, struct gps_device_t *session) /* sentence supplied ddmmyy, but no century part */ { int yy = DD(ddmmyy + 4); int mon = DD(ddmmyy + 2); int mday = DD(ddmmyy); int year; /* check for century wrap */ if (session->driver.nmea.date.tm_year % 100 == 99 && yy == 0) { session->context->century += 100; gpsd_report(LOG_WARN, "century rollover detected.\n"); } year = (session->context->century + yy); if ( (1 > mon ) || (12 < mon ) ) { gpsd_report(LOG_WARN, "merge_ddmmyy(%s), malformed month\n", ddmmyy); } else if ( (1 > mday ) || (31 < mday ) ) { gpsd_report(LOG_WARN, "merge_ddmmyy(%s), malformed day\n", ddmmyy); } else { gpsd_report(LOG_DATA, "merge_ddmmyy(%s) sets year %d\n", ddmmyy, year); session->driver.nmea.date.tm_year = year - 1900; session->driver.nmea.date.tm_mon = mon - 1; session->driver.nmea.date.tm_mday = mday; } } static void merge_hhmmss(char *hhmmss, struct gps_device_t *session) /* update from a UTC time */ { int old_hour = session->driver.nmea.date.tm_hour; session->driver.nmea.date.tm_hour = DD(hhmmss); if (session->driver.nmea.date.tm_hour < old_hour) /* midnight wrap */ session->driver.nmea.date.tm_mday++; session->driver.nmea.date.tm_min = DD(hhmmss + 2); session->driver.nmea.date.tm_sec = DD(hhmmss + 4); session->driver.nmea.subseconds = safe_atof(hhmmss + 4) - session->driver.nmea.date.tm_sec; } static void register_fractional_time(const char *tag, const char *fld, struct gps_device_t *session) { if (fld[0] != '\0') { session->driver.nmea.last_frac_time = session->driver.nmea.this_frac_time; session->driver.nmea.this_frac_time = safe_atof(fld); session->driver.nmea.latch_frac_time = true; gpsd_report(LOG_DATA, "%s: registers fractional time %.2f\n", tag, session->driver.nmea.this_frac_time); } } /************************************************************************** * * Compare GPS timestamps for equality. Depends on the fact that the * timestamp granularity of GPS is 1/100th of a second. Use this to avoid * naive float comparisons. * **************************************************************************/ #define GPS_TIME_EQUAL(a, b) (fabs((a) - (b)) < 0.01) /************************************************************************** * * NMEA sentence handling begins here * **************************************************************************/ static gps_mask_t processGPRMC(int count, char *field[], struct gps_device_t *session) /* Recommend Minimum Course Specific GPS/TRANSIT Data */ { /* * RMC,225446.33,A,4916.45,N,12311.12,W,000.5,054.7,191194,020.3,E,A*68 * 1 225446.33 Time of fix 22:54:46 UTC * 2 A Status of Fix: A = Autonomous, valid; * D = Differential, valid; V = invalid * 3,4 4916.45,N Latitude 49 deg. 16.45 min North * 5,6 12311.12,W Longitude 123 deg. 11.12 min West * 7 000.5 Speed over ground, Knots * 8 054.7 Course Made Good, True north * 9 181194 Date of fix 18 November 1994 * 10,11 020.3,E Magnetic variation 20.3 deg East * 12 A FAA mode indicator (NMEA 2.3 and later) * A=autonomous, D=differential, E=Estimated, * N=not valid, S=Simulator, M=Manual input mode * *68 mandatory nmea_checksum * * * SiRF chipsets don't return either Mode Indicator or magnetic variation. */ gps_mask_t mask = 0; if (strcmp(field[2], "V") == 0) { /* copes with Magellan EC-10X, see below */ if (session->gpsdata.status != STATUS_NO_FIX) { session->gpsdata.status = STATUS_NO_FIX; mask |= STATUS_SET; } if (session->newdata.mode >= MODE_2D) { session->newdata.mode = MODE_NO_FIX; mask |= MODE_SET; } /* set something nz, so it won't look like an unknown sentence */ mask |= ONLINE_SET; } else if (strcmp(field[2], "A") == 0) { /* * The MTK3301, Royaltek RGM-3800, and possibly other * devices deliver bogus time values when the navigation * warning bit is set. */ if (count > 9 && field[1][0] != '\0' && field[9][0] != '\0') { merge_hhmmss(field[1], session); merge_ddmmyy(field[9], session); mask |= TIME_SET; register_fractional_time(field[0], field[1], session); } do_lat_lon(&field[3], &session->newdata); mask |= LATLON_SET; session->newdata.speed = safe_atof(field[7]) * KNOTS_TO_MPS; session->newdata.track = safe_atof(field[8]); mask |= (TRACK_SET | SPEED_SET); /* * This copes with GPSes like the Magellan EC-10X that *only* emit * GPRMC. In this case we set mode and status here so the client * code that relies on them won't mistakenly believe it has never * received a fix. */ if (session->gpsdata.status == STATUS_NO_FIX) { session->gpsdata.status = STATUS_FIX; /* could be DGPS_FIX, we can't tell */ mask |= STATUS_SET; } if (session->newdata.mode < MODE_2D) { session->newdata.mode = MODE_2D; mask |= MODE_SET; } } gpsd_report(LOG_DATA, "RMC: ddmmyy=%s hhmmss=%s lat=%.2f lon=%.2f " "speed=%.2f track=%.2f mode=%d status=%d\n", field[9], field[1], session->newdata.latitude, session->newdata.longitude, session->newdata.speed, session->newdata.track, session->newdata.mode, session->gpsdata.status); return mask; } static gps_mask_t processGPGLL(int count, char *field[], struct gps_device_t *session) /* Geographic position - Latitude, Longitude */ { /* Introduced in NMEA 3.0. * * $GPGLL,4916.45,N,12311.12,W,225444,A,A*5C * * 1,2: 4916.46,N Latitude 49 deg. 16.45 min. North * 3,4: 12311.12,W Longitude 123 deg. 11.12 min. West * 5: 225444 Fix taken at 22:54:44 UTC * 6: A Data valid * 7: A Autonomous mode * 8: *5C Mandatory NMEA checksum * * 1,2 Latitude, N (North) or S (South) * 3,4 Longitude, E (East) or W (West) * 5 UTC of position * 6 A=Active, V=Void * 7 Mode Indicator * A = Autonomous mode * D = Differential Mode * E = Estimated (dead-reckoning) mode * M = Manual Input Mode * S = Simulated Mode * N = Data Not Valid * * I found a note at * indicating that the Garmin 65 does not return time and status. * SiRF chipsets don't return the Mode Indicator. * This code copes gracefully with both quirks. * * Unless you care about the FAA indicator, this sentence supplies nothing * that GPRMC doesn't already. But at least one Garmin GPS -- the 48 * actually ships updates in GLL that aren't redundant. */ char *status = field[7]; gps_mask_t mask = 0; if (field[5][0] != '\0') { merge_hhmmss(field[5], session); register_fractional_time(field[0], field[5], session); if (session->driver.nmea.date.tm_year == 0) gpsd_report(LOG_WARN, "can't use GLL time until after ZDA or RMC has supplied a year.\n"); else { mask = TIME_SET; } } if (strcmp(field[6], "A") == 0 && (count < 8 || *status != 'N')) { int newstatus; do_lat_lon(&field[1], &session->newdata); mask |= LATLON_SET; if (count >= 8 && *status == 'D') newstatus = STATUS_DGPS_FIX; /* differential */ else newstatus = STATUS_FIX; /* * This is a bit dodgy. Technically we shouldn't set the mode * bit until we see GSA. But it may be later in the cycle, * some devices like the FV-18 don't send it by default, and * elsewhere in the code we want to be able to test for the * presence of a valid fix with mode > MODE_NO_FIX. */ if (session->newdata.mode < MODE_2D) { session->newdata.mode = MODE_2D; mask |= MODE_SET; } session->gpsdata.status = newstatus; mask |= STATUS_SET; } gpsd_report(LOG_DATA, "GLL: hhmmss=%s lat=%.2f lon=%.2f mode=%d status=%d\n", field[5], session->newdata.latitude, session->newdata.longitude, session->newdata.mode, session->gpsdata.status); return mask; } static gps_mask_t processGPGGA(int c UNUSED, char *field[], struct gps_device_t *session) /* Global Positioning System Fix Data */ { /* * GGA,123519,4807.038,N,01131.324,E,1,08,0.9,545.4,M,46.9,M, , *42 * 1 123519 Fix taken at 12:35:19 UTC * 2,3 4807.038,N Latitude 48 deg 07.038' N * 4,5 01131.324,E Longitude 11 deg 31.324' E * 6 1 Fix quality: 0 = invalid, 1 = GPS, 2 = DGPS, * 3=PPS (Precise Position Service), * 4=RTK (Real Time Kinematic) with fixed integers, * 5=Float RTK, 6=Estimated, 7=Manual, 8=Simulator * 7 08 Number of satellites being tracked * 8 0.9 Horizontal dilution of position * 9,10 545.4,M Altitude, Metres above mean sea level * 11,12 46.9,M Height of geoid (mean sea level) above WGS84 * ellipsoid, in Meters * (empty field) time in seconds since last DGPS update * (empty field) DGPS station ID number (0000-1023) */ gps_mask_t mask; session->gpsdata.status = atoi(field[6]); mask = STATUS_SET; /* * There are some receivers (the Trimble Placer 450 is an example) that * don't ship a GSA with mode 1 when they lose satellite lock. Instead * they just keep reporting GGA and GSA on subsequent cycles with the * timestamp not advancing and a bogus mode. On the assumption that GGA * is only issued once per cycle we can detect this here (it would be * nicer to do it on GSA but GSA has no timestamp). */ session->driver.nmea.latch_mode = strncmp(field[1], session->driver.nmea.last_gga_timestamp, sizeof(session->driver.nmea.last_gga_timestamp))==0; if (session->driver.nmea.latch_mode) { session->gpsdata.status = STATUS_NO_FIX; session->newdata.mode = MODE_NO_FIX; } else (void)strlcpy(session->driver.nmea.last_gga_timestamp, field[1], sizeof(session->driver.nmea.last_gga_timestamp)); /* if we have a fix and the mode latch is off, go... */ if (session->gpsdata.status > STATUS_NO_FIX) { char *altitude; merge_hhmmss(field[1], session); register_fractional_time(field[0], field[1], session); if (session->driver.nmea.date.tm_year == 0) gpsd_report(LOG_WARN, "can't use GGA time until after ZDA or RMC has supplied a year.\n"); else { mask |= TIME_SET; } do_lat_lon(&field[2], &session->newdata); mask |= LATLON_SET; session->gpsdata.satellites_used = atoi(field[7]); altitude = field[9]; /* * SiRF chipsets up to version 2.2 report a null altitude field. * See . * If we see this, force mode to 2D at most. */ if (altitude[0] == '\0') { if (session->newdata.mode > MODE_2D) { session->newdata.mode = MODE_2D; mask |= MODE_SET; } } else { session->newdata.altitude = safe_atof(altitude); mask |= ALTITUDE_SET; /* * This is a bit dodgy. Technically we shouldn't set the mode * bit until we see GSA. But it may be later in the cycle, * some devices like the FV-18 don't send it by default, and * elsewhere in the code we want to be able to test for the * presence of a valid fix with mode > MODE_NO_FIX. */ if (session->newdata.mode < MODE_3D) { session->newdata.mode = MODE_3D; mask |= MODE_SET; } } if (strlen(field[11]) > 0) { session->gpsdata.separation = safe_atof(field[11]); } else { session->gpsdata.separation = wgs84_separation(session->newdata.latitude, session->newdata.longitude); } } gpsd_report(LOG_DATA, "GGA: hhmmss=%s lat=%.2f lon=%.2f alt=%.2f mode=%d status=%d\n", field[1], session->newdata.latitude, session->newdata.longitude, session->newdata.altitude, session->newdata.mode, session->gpsdata.status); return mask; } static gps_mask_t processGPGST(int count, char *field[], struct gps_device_t *session) /* GST - GPS Pseudorange Noise Statistics */ { /* * GST,hhmmss.ss,x,x,x,x,x,x,x,*hh * 1 TC time of associated GGA fix * 2 Total RMS standard deviation of ranges inputs to the navigation solution * 3 Standard deviation (meters) of semi-major axis of error ellipse * 4 Standard deviation (meters) of semi-minor axis of error ellipse * 5 Orientation of semi-major axis of error ellipse (true north degrees) * 6 Standard deviation (meters) of latitude error * 7 Standard deviation (meters) of longitude error * 8 Standard deviation (meters) of altitude error * 9 Checksum */ if (count < 8) { return 0; } #define PARSE_FIELD(n) (*field[n]!='\0' ? safe_atof(field[n]) : NAN) session->gpsdata.gst.utctime = PARSE_FIELD(1); session->gpsdata.gst.rms_deviation = PARSE_FIELD(2); session->gpsdata.gst.smajor_deviation = PARSE_FIELD(3); session->gpsdata.gst.sminor_deviation = PARSE_FIELD(4); session->gpsdata.gst.smajor_orientation = PARSE_FIELD(5); session->gpsdata.gst.lat_err_deviation = PARSE_FIELD(6); session->gpsdata.gst.lon_err_deviation = PARSE_FIELD(7); session->gpsdata.gst.alt_err_deviation = PARSE_FIELD(8); #undef PARSE_FIELD register_fractional_time(field[0], field[1], session); gpsd_report(LOG_DATA, "GST: utc = %.2f, rms = %.2f, maj = %.2f, min = %.2f, ori = %.2f, lat = %.2f, lon = %.2f, alt = %.2f\n", session->gpsdata.gst.utctime, session->gpsdata.gst.rms_deviation, session->gpsdata.gst.smajor_deviation, session->gpsdata.gst.sminor_deviation, session->gpsdata.gst.smajor_orientation, session->gpsdata.gst.lat_err_deviation, session->gpsdata.gst.lon_err_deviation, session->gpsdata.gst.alt_err_deviation); return GST_SET | ONLINE_SET; } static gps_mask_t processGPGSA(int count, char *field[], struct gps_device_t *session) /* GPS DOP and Active Satellites */ { /* * eg1. $GPGSA,A,3,,,,,,16,18,,22,24,,,3.6,2.1,2.2*3C * eg2. $GPGSA,A,3,19,28,14,18,27,22,31,39,,,,,1.7,1.0,1.3*35 * 1 = Mode: * M=Manual, forced to operate in 2D or 3D * A=Automatic, 3D/2D * 2 = Mode: 1=Fix not available, 2=2D, 3=3D * 3-14 = PRNs of satellites used in position fix (null for unused fields) * 15 = PDOP * 16 = HDOP * 17 = VDOP */ gps_mask_t mask; /* * One chipset called the i.Trek M3 issues GPGSA lines that look like * this: "$GPGSA,A,1,,,,*32" when it has no fix. This is broken * in at least two ways: it's got the wrong number of fields, and * it claims to be a valid sentence (A flag) when it isn't. * Alarmingly, it's possible this error may be generic to SiRFstarIII. */ if (count < 17) { gpsd_report(LOG_DATA, "GPGSA: malformed, setting ONLINE_SET only.\n"); mask = ONLINE_SET; } else if (session->driver.nmea.latch_mode) { /* last GGA had a non-advancing timestamp; don't trust this GSA */ mask = ONLINE_SET; } else { int i; session->newdata.mode = atoi(field[2]); /* * The first arm of this conditional ignores dead-reckoning * fixes from an Antaris chipset. which returns E in field 2 * for a dead-reckoning estimate. Fix by Andreas Stricker. */ if (session->newdata.mode == 0 && field[2][0] == 'E') mask = 0; else mask = MODE_SET; gpsd_report(LOG_PROG, "GPGSA sets mode %d\n", session->newdata.mode); session->gpsdata.dop.pdop = safe_atof(field[15]); session->gpsdata.dop.hdop = safe_atof(field[16]); session->gpsdata.dop.vdop = safe_atof(field[17]); session->gpsdata.satellites_used = 0; memset(session->gpsdata.used, 0, sizeof(session->gpsdata.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]); if (prn > 0) session->gpsdata.used[session->gpsdata.satellites_used++] = prn; } mask |= DOP_SET | USED_IS; gpsd_report(LOG_DATA, "GPGSA: mode=%d used=%d pdop=%.2f hdop=%.2f vdop=%.2f\n", session->newdata.mode, session->gpsdata.satellites_used, session->gpsdata.dop.pdop, session->gpsdata.dop.hdop, session->gpsdata.dop.vdop); } return mask; } static gps_mask_t processGPGSV(int count, char *field[], struct gps_device_t *session) /* GPS Satellites in View */ { /* * GSV,2,1,08,01,40,083,46,02,17,308,41,12,07,344,39,14,22,228,45*75 * 2 Number of sentences for full data * 1 Sentence 1 of 2 * 08 Total number of satellites in view * 01 Satellite PRN number * 40 Elevation, degrees * 083 Azimuth, degrees * 46 Signal-to-noise ratio in decibels * * There my be up to three GSV sentences in a data packet */ int n, fldnum; if (count <= 3) { gpsd_report(LOG_WARN, "malformed GPGSV - fieldcount %d <= 3\n", count); gpsd_zero_satellites(&session->gpsdata); session->gpsdata.satellites_visible = 0; return ONLINE_SET; } if (count % 4 != 0) { gpsd_report(LOG_WARN, "malformed GPGSV - fieldcount %d %% 4 != 0\n", count); gpsd_zero_satellites(&session->gpsdata); session->gpsdata.satellites_visible = 0; return ONLINE_SET; } session->driver.nmea.await = atoi(field[1]); if ((session->driver.nmea.part = atoi(field[2])) < 1) { gpsd_report(LOG_WARN, "malformed GPGSV - bad part\n"); gpsd_zero_satellites(&session->gpsdata); return ONLINE_SET; } else if (session->driver.nmea.part == 1) gpsd_zero_satellites(&session->gpsdata); for (fldnum = 4; fldnum < count;) { if (session->gpsdata.satellites_visible >= MAXCHANNELS) { gpsd_report(LOG_ERROR, "internal error - too many satellites [%d]!\n", session->gpsdata.satellites_visible); gpsd_zero_satellites(&session->gpsdata); break; } session->gpsdata.PRN[session->gpsdata.satellites_visible] = atoi(field[fldnum++]); // NMEA-ID (33..64) to SBAS PRN. if (session->gpsdata.PRN[session->gpsdata.satellites_visible] >= 33 && session->gpsdata.PRN[session->gpsdata.satellites_visible] <= 64) session->gpsdata.PRN[session->gpsdata.satellites_visible] += 87; session->gpsdata.elevation[session->gpsdata.satellites_visible] = atoi(field[fldnum++]); session->gpsdata.azimuth[session->gpsdata.satellites_visible] = atoi(field[fldnum++]); session->gpsdata.ss[session->gpsdata.satellites_visible] = (float)atoi(field[fldnum++]); /* * Incrementing this unconditionally falls afoul of chipsets like * the Motorola Oncore GT+ that emit empty fields at the end of the * last sentence in a GPGSV set if the number of satellites is not * a multiple of 4. */ if (session->gpsdata.PRN[session->gpsdata.satellites_visible] != 0) session->gpsdata.satellites_visible++; } if (session->driver.nmea.part == session->driver.nmea.await && atoi(field[3]) != session->gpsdata.satellites_visible) gpsd_report(LOG_WARN, "GPGSV field 3 value of %d != actual count %d\n", atoi(field[3]), session->gpsdata.satellites_visible); /* not valid data until we've seen a complete set of parts */ if (session->driver.nmea.part < session->driver.nmea.await) { gpsd_report(LOG_PROG, "Partial satellite data (%d of %d).\n", session->driver.nmea.part, session->driver.nmea.await); return ONLINE_SET; } /* * This sanity check catches an odd behavior of SiRFstarII receivers. * When they can't see any satellites at all (like, inside a * building) they sometimes cough up a hairball in the form of a * GSV packet with all the azimuth entries 0 (but nonzero * elevations). This behavior was observed under SiRF firmware * revision 231.000.000_A2. */ for (n = 0; n < session->gpsdata.satellites_visible; n++) if (session->gpsdata.azimuth[n] != 0) goto sane; gpsd_report(LOG_WARN, "Satellite data no good (%d of %d).\n", session->driver.nmea.part, session->driver.nmea.await); gpsd_zero_satellites(&session->gpsdata); return ONLINE_SET; sane: session->gpsdata.skyview_time = NAN; gpsd_report(LOG_DATA, "GSV: Satellite data OK (%d of %d).\n", session->driver.nmea.part, session->driver.nmea.await); return SATELLITE_SET; } static gps_mask_t processPGRME(int c UNUSED, char *field[], struct gps_device_t *session) /* Garmin Estimated Position Error */ { /* * $PGRME,15.0,M,45.0,M,25.0,M*22 * 1 = horizontal error estimate * 2 = units * 3 = vertical error estimate * 4 = units * 5 = spherical error estimate * 6 = units * * * * Garmin won't say, but the general belief is that these are 50% CEP. * * We follow the advice at . * * If this assumption changes here, it should also change in garmin.c * * where we scale error estimates from Garmin binary packets, and * * in libgpsd_core.c where we generate $PGRME. */ gps_mask_t mask; if ((strcmp(field[2], "M") != 0) || (strcmp(field[4], "M") != 0) || (strcmp(field[6], "M") != 0)) { session->newdata.epx = session->newdata.epy = session->newdata.epv = session->gpsdata.epe = 100; mask = 0; } else { session->newdata.epx = session->newdata.epy = safe_atof(field[1]) * (1 / sqrt(2)) * (GPSD_CONFIDENCE / CEP50_SIGMA); session->newdata.epv = safe_atof(field[3]) * (GPSD_CONFIDENCE / CEP50_SIGMA); session->gpsdata.epe = safe_atof(field[5]) * (GPSD_CONFIDENCE / CEP50_SIGMA); mask = HERR_SET | VERR_SET | PERR_IS; } gpsd_report(LOG_DATA, "PGRME: epx=%.2f epy=%.2f epv=%.2f\n", session->newdata.epx, session->newdata.epy, session->newdata.epv); return mask; } static gps_mask_t processGPGBS(int c UNUSED, char *field[], struct gps_device_t *session) /* NMEA 3.0 Estimated Position Error */ { /* * $GPGBS,082941.00,2.4,1.5,3.9,25,,-43.7,27.5*65 * 1) UTC time of the fix associated with this sentence (hhmmss.ss) * 2) Expected error in latitude (meters) * 3) Expected error in longitude (meters) * 4) Expected error in altitude (meters) * 5) PRN of most likely failed satellite * 6) Probability of missed detection for most likely failed satellite * 7) Estimate of bias in meters on most likely failed satellite * 8) Standard deviation of bias estimate * 9) Checksum */ /* register fractional time for end-of-cycle detection */ register_fractional_time(field[0], field[1], session); /* check that we're associated with the current fix */ if (session->driver.nmea.date.tm_hour == DD(field[1]) && session->driver.nmea.date.tm_min == DD(field[1] + 2) && session->driver.nmea.date.tm_sec == DD(field[1] + 4)) { session->newdata.epy = safe_atof(field[2]); session->newdata.epx = safe_atof(field[3]); session->newdata.epv = safe_atof(field[4]); gpsd_report(LOG_DATA, "GBS: epx=%.2f epy=%.2f epv=%.2f\n", session->newdata.epx, session->newdata.epy, session->newdata.epv); return HERR_SET | VERR_SET; } else { gpsd_report(LOG_PROG, "second in $GPGBS error estimates doesn't match.\n"); return 0; } } static gps_mask_t processGPZDA(int c UNUSED, char *field[], struct gps_device_t *session) /* Time & Date */ { /* * $GPZDA,160012.71,11,03,2004,-1,00*7D * 1) UTC time (hours, minutes, seconds, may have fractional subsecond) * 2) Day, 01 to 31 * 3) Month, 01 to 12 * 4) Year (4 digits) * 5) Local zone description, 00 to +- 13 hours * 6) Local zone minutes description, apply same sign as local hours * 7) Checksum * * Note: some devices, like the uBlox ANTARIS 4h, are known to ship ZDAs * with some fields blank under poorly-understood circumstances (probably * when they don't have satellite lock yet). */ gps_mask_t mask = 0; if (field[1][0] == '\0' || field[2][0] == '\0' || field[3][0] == '\0' || field[4][0] == '\0') { gpsd_report(LOG_WARN, "ZDA fields are empty\n"); } else { int year, mon, mday, century; merge_hhmmss(field[1], session); /* * We don't register fractional time here because want to leave * ZDA out of end-of-cycle detection. Some devices sensibly emit it only * when they have a fix, so watching for it can make them look * like they have a variable fix reporting cycle. */ year = atoi(field[4]); mon = atoi(field[3]); mday = atoi(field[2]); century = year - year % 100; if ( (1900 > year ) || (2200 < year ) ) { gpsd_report(LOG_WARN, "malformed ZDA year: %s\n", field[4]); } else if ( (1 > mon ) || (12 < mon ) ) { gpsd_report(LOG_WARN, "malformed ZDA month: %s\n", field[3]); } else if ( (1 > mday ) || (31 < mday ) ) { gpsd_report(LOG_WARN, "malformed ZDA day: %s\n", field[2]); } else { if (century > session->context->century) { /* * This mismatch is almost certainly not due to a GPS week * rollover, because that would throw the ZDA report backward * into the last rollover period instead of forward. Almost * certainly it means that a century mark has passed while * gpsd was running, and we should trust the new ZDA year. */ gpsd_report(LOG_WARN, "century rollover detected.\n"); session->context->century = century; } else if (session->context->start_time >= GPS_EPOCH && century < session->context->century) { /* * This looks like a GPS week-counter rollover. */ gpsd_report(LOG_WARN, "ZDA year %d less than clock year, " "probable GPS week rollover lossage\n", year); } session->driver.nmea.date.tm_year = year - 1900; session->driver.nmea.date.tm_mon = mon - 1; session->driver.nmea.date.tm_mday = mday; mask = TIME_SET; } }; return mask; } static gps_mask_t processHDT(int c UNUSED, char *field[], struct gps_device_t *session) { /* * $HEHDT,341.8,T*21 * * HDT,x.x*hh * * The only data field is true heading in degrees. * The following field is required to be 'T' indicating a true heading. * It is followed by a mandatory nmea_checksum. */ gps_mask_t mask; mask = ONLINE_SET; session->gpsdata.attitude.heading = safe_atof(field[1]); session->gpsdata.attitude.mag_st = '\0'; session->gpsdata.attitude.pitch = NAN; session->gpsdata.attitude.pitch_st = '\0'; session->gpsdata.attitude.roll = NAN; session->gpsdata.attitude.roll_st = '\0'; session->gpsdata.attitude.yaw = NAN; session->gpsdata.attitude.yaw_st = '\0'; session->gpsdata.attitude.dip = NAN; session->gpsdata.attitude.mag_len = NAN; session->gpsdata.attitude.mag_x = NAN; session->gpsdata.attitude.mag_y = NAN; session->gpsdata.attitude.mag_z = NAN; session->gpsdata.attitude.acc_len = NAN; session->gpsdata.attitude.acc_x = NAN; session->gpsdata.attitude.acc_y = NAN; session->gpsdata.attitude.acc_z = NAN; session->gpsdata.attitude.gyro_x = NAN; session->gpsdata.attitude.gyro_y = NAN; session->gpsdata.attitude.temp = NAN; session->gpsdata.attitude.depth = NAN; mask |= (ATTITUDE_SET); gpsd_report(LOG_RAW, "time %.3f, heading %lf.\n", session->newdata.time, session->gpsdata.attitude.heading); return mask; } static gps_mask_t processDBT(int c UNUSED, char *field[], struct gps_device_t *session) { /* * $SDDBT,7.7,f,2.3,M,1.3,F*05 * 1) Depth below sounder in feet * 2) Fixed value 'f' indicating feet * 3) Depth below sounder in meters * 4) Fixed value 'M' indicating meters * 5) Depth below sounder in fathoms * 6) Fixed value 'F' indicating fathoms * 7) Checksum. * * In real-world sensors, sometimes not all three conversions are reported. */ gps_mask_t mask; mask = ONLINE_SET; if (field[3][0] != '\0') { session->newdata.altitude = -safe_atof(field[3]); mask |= (ALTITUDE_SET); } else if (field[1][0] != '\0') { session->newdata.altitude = -safe_atof(field[1]) / METERS_TO_FEET; mask |= (ALTITUDE_SET); } else if (field[5][0] != '\0') { session->newdata.altitude = -safe_atof(field[5]) / METERS_TO_FATHOMS; mask |= (ALTITUDE_SET); } if ((mask & ALTITUDE_SET) != 0) { if (session->newdata.mode < MODE_3D) { session->newdata.mode = MODE_3D; mask |= MODE_SET; } } /* * Hack: We report depth below keep as negative altitude because there's * no better place to put it. Should work in practice as nobody is * likely to be operating a depth sounder at varying altitudes. */ gpsd_report(LOG_RAW, "mode %d, depth %lf.\n", session->newdata.mode, session->newdata.altitude); return mask; } #ifdef TNT_ENABLE static gps_mask_t processTNTHTM(int c UNUSED, char *field[], struct gps_device_t *session) { /* * Proprietary sentence for True North Technologies Magnetic Compass. * This may also apply to some Honeywell units since they may have been * designed by True North. $PTNTHTM,14223,N,169,N,-43,N,13641,2454*15 HTM,x.x,a,x.x,a,x.x,a,x.x,x.x*hh Fields in order: 1. True heading (compass measurement + deviation + variation) 2. magnetometer status character: C = magnetometer calibration alarm L = low alarm M = low warning N = normal O = high warning P = high alarm V = magnetometer voltage level alarm 3. pitch angle 4. pitch status character - see field 2 above 5. roll angle 6. roll status character - see field 2 above 7. dip angle 8. relative magnitude horizontal component of earth's magnetic field *hh mandatory nmea_checksum By default, angles are reported as 26-bit integers: weirdly, the technical manual says either 0 to 65535 or -32768 to 32767 can occur as a range. */ gps_mask_t mask; mask = ONLINE_SET; session->gpsdata.attitude.heading = safe_atof(field[1]); session->gpsdata.attitude.mag_st = *field[2]; session->gpsdata.attitude.pitch = safe_atof(field[3]); session->gpsdata.attitude.pitch_st = *field[4]; session->gpsdata.attitude.roll = safe_atof(field[5]); session->gpsdata.attitude.roll_st = *field[6]; session->gpsdata.attitude.yaw = NAN; session->gpsdata.attitude.yaw_st = '\0'; session->gpsdata.attitude.dip = safe_atof(field[7]); session->gpsdata.attitude.mag_len = NAN; session->gpsdata.attitude.mag_x = safe_atof(field[8]); session->gpsdata.attitude.mag_y = NAN; session->gpsdata.attitude.mag_z = NAN; session->gpsdata.attitude.acc_len = NAN; session->gpsdata.attitude.acc_x = NAN; session->gpsdata.attitude.acc_y = NAN; session->gpsdata.attitude.acc_z = NAN; session->gpsdata.attitude.gyro_x = NAN; session->gpsdata.attitude.gyro_y = NAN; session->gpsdata.attitude.temp = NAN; session->gpsdata.attitude.depth = NAN; mask |= (ATTITUDE_SET); gpsd_report(LOG_RAW, "time %.3f, heading %lf (%c).\n", session->newdata.time, session->gpsdata.attitude.heading, session->gpsdata.attitude.mag_st); return mask; } #endif /* TNT_ENABLE */ #ifdef OCEANSERVER_ENABLE static gps_mask_t processOHPR(int c UNUSED, char *field[], struct gps_device_t *session) { /* * Proprietary sentence for OceanServer Magnetic Compass. OHPR,x.x,x.x,x.x,x.x,x.x,x.x,x.x,x.x,x.x,x.x,x.x,x.x,x.x,x.x,x.x,x.x,x.x,x.x*hh Fields in order: 1. Azimuth 2. Pitch Angle 3. Roll Angle 4. Sensor temp, degrees centigrade 5. Depth (feet) 6. Magnetic Vector Length 7-9. 3 axis Magnetic Field readings x,y,z 10. Acceleration Vector Length 11-13. 3 axis Acceleration Readings x,y,z 14. Reserved 15-16. 2 axis Gyro Output, X,y 17. Reserved 18. Reserved *hh mandatory nmea_checksum */ gps_mask_t mask; mask = ONLINE_SET; session->gpsdata.attitude.heading = safe_atof(field[1]); session->gpsdata.attitude.mag_st = '\0'; session->gpsdata.attitude.pitch = safe_atof(field[2]); session->gpsdata.attitude.pitch_st = '\0'; session->gpsdata.attitude.roll = safe_atof(field[3]); session->gpsdata.attitude.roll_st = '\0'; session->gpsdata.attitude.yaw = NAN; session->gpsdata.attitude.yaw_st = '\0'; session->gpsdata.attitude.dip = NAN; session->gpsdata.attitude.temp = safe_atof(field[4]); session->gpsdata.attitude.depth = safe_atof(field[5]) / METERS_TO_FEET; session->gpsdata.attitude.mag_len = safe_atof(field[6]); session->gpsdata.attitude.mag_x = safe_atof(field[7]); session->gpsdata.attitude.mag_y = safe_atof(field[8]); session->gpsdata.attitude.mag_z = safe_atof(field[9]); session->gpsdata.attitude.acc_len = safe_atof(field[10]); session->gpsdata.attitude.acc_x = safe_atof(field[11]); session->gpsdata.attitude.acc_y = safe_atof(field[12]); session->gpsdata.attitude.acc_z = safe_atof(field[13]); session->gpsdata.attitude.gyro_x = safe_atof(field[15]); session->gpsdata.attitude.gyro_y = safe_atof(field[16]); mask |= (ATTITUDE_SET); gpsd_report(LOG_RAW, "Heading %lf.\n", session->gpsdata.attitude.heading); return mask; } #endif /* OCEANSERVER_ENABLE */ #ifdef ASHTECH_ENABLE static gps_mask_t processPASHR(int c UNUSED, char *field[], struct gps_device_t *session) { gps_mask_t mask; mask = 0; if (0 == strcmp("RID", field[1])) { /* Receiver ID */ (void)snprintf(session->subtype, sizeof(session->subtype) - 1, "%s ver %s", field[2], field[3]); gpsd_report(LOG_DATA, "PASHR,RID: subtype=%s mask={}\n", session->subtype); return mask; } else if (0 == strcmp("POS", field[1])) { /* 3D Position */ mask |= MODE_SET | STATUS_SET | CLEAR_IS; if (0 == strlen(field[2])) { /* empty first field means no 3D fix is available */ session->gpsdata.status = STATUS_NO_FIX; session->newdata.mode = MODE_NO_FIX; } else { /* if we make it this far, we at least have a 3D fix */ session->newdata.mode = MODE_3D; if (1 == atoi(field[2])) session->gpsdata.status = STATUS_DGPS_FIX; else session->gpsdata.status = STATUS_FIX; session->gpsdata.satellites_used = atoi(field[3]); merge_hhmmss(field[4], session); register_fractional_time(field[0], field[4], session); do_lat_lon(&field[5], &session->newdata); session->newdata.altitude = safe_atof(field[9]); session->newdata.track = safe_atof(field[11]); session->newdata.speed = safe_atof(field[12]) / MPS_TO_KPH; session->newdata.climb = safe_atof(field[13]); session->gpsdata.dop.pdop = safe_atof(field[14]); session->gpsdata.dop.hdop = safe_atof(field[15]); session->gpsdata.dop.vdop = safe_atof(field[16]); session->gpsdata.dop.tdop = safe_atof(field[17]); mask |= (TIME_SET | LATLON_SET | ALTITUDE_SET); mask |= (SPEED_SET | TRACK_SET | CLIMB_SET); mask |= DOP_SET; gpsd_report(LOG_DATA, "PASHR,POS: hhmmss=%s lat=%.2f lon=%.2f alt=%.f speed=%.2f track=%.2f climb=%.2f mode=%d status=%d pdop=%.2f hdop=%.2f vdop=%.2f tdop=%.2f\n", field[4], session->newdata.latitude, session->newdata.longitude, session->newdata.altitude, session->newdata.speed, session->newdata.track, session->newdata.climb, session->newdata.mode, session->gpsdata.status, session->gpsdata.dop.pdop, session->gpsdata.dop.hdop, session->gpsdata.dop.vdop, session->gpsdata.dop.tdop); } } else if (0 == strcmp("SAT", field[1])) { /* Satellite Status */ int i, n, p, u; n = session->gpsdata.satellites_visible = atoi(field[2]); u = 0; for (i = 0; i < n; i++) { session->gpsdata.PRN[i] = p = atoi(field[3 + i * 5 + 0]); session->gpsdata.azimuth[i] = atoi(field[3 + i * 5 + 1]); session->gpsdata.elevation[i] = atoi(field[3 + i * 5 + 2]); session->gpsdata.ss[i] = safe_atof(field[3 + i * 5 + 3]); if (field[3 + i * 5 + 4][0] == 'U') session->gpsdata.used[u++] = p; } session->gpsdata.satellites_used = u; gpsd_report(LOG_DATA, "PASHR,SAT: used=%d\n", session->gpsdata.satellites_used); session->gpsdata.skyview_time = NAN; mask |= SATELLITE_SET | USED_IS; } return mask; } #endif /* ASHTECH_ENABLE */ /************************************************************************** * * Entry points begin here * **************************************************************************/ /*@ -mayaliasunique @*/ gps_mask_t nmea_parse(char *sentence, struct gps_device_t * session) /* parse an NMEA sentence, unpack it into a session structure */ { typedef gps_mask_t(*nmea_decoder) (int count, char *f[], struct gps_device_t * session); static struct { char *name; int nf; /* minimum number of fields required to parse */ bool cycle_continue; /* cycle continuer? */ nmea_decoder decoder; } nmea_phrase[] = { /*@ -nullassign @*/ {"PGRMC", 0, false, NULL}, /* ignore Garmin Sensor Config */ {"PGRME", 7, false, processPGRME}, {"PGRMI", 0, false, NULL}, /* ignore Garmin Sensor Init */ {"PGRMO", 0, false, NULL}, /* ignore Garmin Sentence Enable */ /* * Basic sentences must come after the PG* ones, otherwise * Garmins can get stuck in a loop that looks like this: * * 1. A Garmin GPS in NMEA mode is detected. * * 2. PGRMC is sent to reconfigure to Garmin binary mode. * If successful, the GPS echoes the phrase. * * 3. nmea_parse() sees the echo as RMC because the talker * ID is ignored, and fails to recognize the echo as * PGRMC and ignore it. * * 4. The mode is changed back to NMEA, resulting in an * infinite loop. */ {"RMC", 8, false, processGPRMC}, {"GGA", 13, false, processGPGGA}, {"GST", 8, false, processGPGST}, {"GLL", 7, false, processGPGLL}, {"GSA", 17, false, processGPGSA}, {"GSV", 0, false, processGPGSV}, {"VTG", 0, false, NULL}, /* ignore Velocity Track made Good */ {"ZDA", 4, false, processGPZDA}, {"GBS", 7, false, processGPGBS}, {"HDT", 1, false, processHDT}, {"DBT", 7, true, processDBT}, #ifdef TNT_ENABLE {"PTNTHTM", 9, false, processTNTHTM}, #endif /* TNT_ENABLE */ #ifdef ASHTECH_ENABLE {"PASHR", 3, false, processPASHR}, /* general handler for Ashtech */ #endif /* ASHTECH_ENABLE */ #ifdef OCEANSERVER_ENABLE {"OHPR", 18, false, processOHPR}, #endif /* OCEANSERVER_ENABLE */ /*@ +nullassign @*/ }; int count; gps_mask_t retval = 0; unsigned int i, thistag; char *p, *s, *e; volatile char *t; /* * We've had reports that on the Garmin GPS-10 the device sometimes * (1:1000 or so) sends garbage packets that have a valid checksum * but are like 2 successive NMEA packets merged together in one * with some fields lost. Usually these are much longer than the * legal limit for NMEA, so we can cope by just tossing out overlong * packets. This may be a generic bug of all Garmin chipsets. */ if (strlen(sentence) > NMEA_MAX) { gpsd_report(LOG_WARN, "Overlong packet of %zd chars rejected.\n", strlen(sentence)); return ONLINE_SET; } /*@ -usedef @*//* splint 3.1.1 seems to have a bug here */ /* make an editable copy of the sentence */ (void)strlcpy((char *)session->driver.nmea.fieldcopy, sentence, NMEA_MAX); /* discard the checksum part */ for (p = (char *)session->driver.nmea.fieldcopy; (*p != '*') && (*p >= ' ');) ++p; if (*p == '*') *p++ = ','; /* otherwise we drop the last field */ *p = '\0'; e = p; /* split sentence copy on commas, filling the field array */ count = 0; t = p; /* end of sentence */ p = (char *)session->driver.nmea.fieldcopy + 1; /* beginning of tag, 'G' not '$' */ /* while there is a search string and we haven't run off the buffer... */ while ((p != NULL) && (p <= t)) { session->driver.nmea.field[count] = p; /* we have a field. record it */ /*@ -compdef @*/ if ((p = strchr(p, ',')) != NULL) { /* search for the next delimiter */ *p = '\0'; /* replace it with a NUL */ count++; /* bump the counters and continue */ p++; } /*@ +compdef @*/ } /* point remaining fields at empty string, just in case */ for (i = (unsigned int)count; i < (unsigned)(sizeof(session->driver.nmea.field) / sizeof(session->driver.nmea.field[0])); i++) session->driver.nmea.field[i] = e; /* sentences handlers will tell us whren they have fractional time */ session->driver.nmea.latch_frac_time = false; /* dispatch on field zero, the sentence tag */ for (thistag = i = 0; i < (unsigned)(sizeof(nmea_phrase) / sizeof(nmea_phrase[0])); ++i) { s = session->driver.nmea.field[0]; if (strlen(nmea_phrase[i].name) == 3) s += 2; /* skip talker ID */ if (strcmp(nmea_phrase[i].name, s) == 0) { if (nmea_phrase[i].decoder != NULL && (count >= nmea_phrase[i].nf)) { retval = (nmea_phrase[i].decoder) (count, session->driver.nmea.field, session); (void)strlcpy(session->gpsdata.tag, nmea_phrase[i].name, MAXTAGLEN); if (nmea_phrase[i].cycle_continue) session->driver.nmea.cycle_continue = true; /* * Must force this to be nz, as we're going to rely on a zero * value to mean "no previous tag" later. */ thistag = i + 1; } else retval = ONLINE_SET; /* unknown sentence */ break; } } /* timestamp recording for fixes happens here */ if ((retval & TIME_SET) != 0) { session->newdata.time = gpsd_utc_resolve(session); /* * WARNING: This assumes time is always field 0, and that field 0 * is a timestamp whenever TIME_SET is set. */ gpsd_report(LOG_DATA, "%s time is %2f = %d-%02d-%02dT%02d:%02d:%02.2fZ\n", session->driver.nmea.field[0], session->newdata.time, 1900 + session->driver.nmea.date.tm_year, session->driver.nmea.date.tm_mon + 1, session->driver.nmea.date.tm_mday, session->driver.nmea.date.tm_hour, session->driver.nmea.date.tm_min, session->driver.nmea.date.tm_sec + session->driver.nmea.subseconds); /* * Conservative heuristic for whether we should try using the * device for precision time service. Wait for it to stabilize * after initialization. (We know this is required on some * Garmins in binary mode; safest to do it in case we're * talking to a Garmin in text mode.) */ if (session->fixcnt > 3) retval |= PPSTIME_IS; } /* * The end-of-cycle detector. This code depends on just one * assumption: if a sentence with a timestamp occurs just before * start of cycle, then it is always good to trigger a report on * that sentence in the future. For devices with a fixed cycle * this should work perfectly, locking in detection after one * cycle. Most split-cycle devices (Garmin 48, for example) will * work fine. Problems will only arise if a a sentence that * occurs just befiore timestamp increments also occurs in * mid-cycle, as in the Garmin eXplorist 210; those might jitter. */ if (session->driver.nmea.latch_frac_time) { gpsd_report(LOG_PROG, "%s sentence timestamped %.2f.\n", session->driver.nmea.field[0], session->driver.nmea.this_frac_time); if (!GPS_TIME_EQUAL (session->driver.nmea.this_frac_time, session->driver.nmea.last_frac_time)) { uint lasttag = session->driver.nmea.lasttag; retval |= CLEAR_IS; gpsd_report(LOG_PROG, "%s starts a reporting cycle.\n", session->driver.nmea.field[0]); /* * Have we seen a previously timestamped NMEA tag? * If so, designate as end-of-cycle marker. * But not if there are continuation sentences; * those get sorted after the last timestamped sentence */ if (lasttag > 0 && (session->driver.nmea.cycle_enders & (1 << lasttag)) == 0 && !session->driver.nmea.cycle_continue) { session->driver.nmea.cycle_enders |= (1 << lasttag); gpsd_report(LOG_PROG, "tagged %s as a cycle ender.\n", nmea_phrase[lasttag - 1].name); } } } else { /* extend the cycle to an un-timestamped sentence? */ if ((session->driver.nmea.lasttag & session->driver.nmea.cycle_enders) != 0) gpsd_report(LOG_PROG, "%s is just after a cycle ender.\n", session->driver.nmea.field[0]); if (session->driver.nmea.cycle_continue) { gpsd_report(LOG_PROG, "%s extends the reporting cycle.\n", session->driver.nmea.field[0]); session->driver.nmea.cycle_enders &=~ (1 << session->driver.nmea.lasttag); session->driver.nmea.cycle_enders |= (1 << thistag); } } /* here's where we check for end-of-cycle */ if ((session->driver.nmea.latch_frac_time || session->driver.nmea.cycle_continue) && (session->driver.nmea.cycle_enders & (1 << thistag))!=0) { gpsd_report(LOG_PROG, "%s ends a reporting cycle.\n", session->driver.nmea.field[0]); retval |= REPORT_IS; } if (session->driver.nmea.latch_frac_time) session->driver.nmea.lasttag = thistag; /* we might have a reliable end-of-cycle */ if (session->driver.nmea.cycle_enders != 0) session->cycle_end_reliable = true; return retval; } /*@ +mayaliasunique @*/ #endif /* NMEA_ENABLE */ void nmea_add_checksum(char *sentence) /* add NMEA checksum to a possibly *-terminated sentence */ { unsigned char sum = '\0'; char c, *p = sentence; if (*p == '$' || *p == '!') { p++; } else { gpsd_report(LOG_ERROR, "Bad NMEA sentence: '%s'\n", sentence); } while (((c = *p) != '*') && (c != '\0')) { sum ^= c; p++; } *p++ = '*'; (void)snprintf(p, 5, "%02X\r\n", (unsigned)sum); } ssize_t nmea_write(struct gps_device_t *session, char *buf, size_t len UNUSED) /* ship a command to the GPS, adding * and correct checksum */ { (void)strlcpy(session->msgbuf, buf, sizeof(session->msgbuf)); if (session->msgbuf[0] == '$') { (void)strlcat(session->msgbuf, "*", sizeof(session->msgbuf)); nmea_add_checksum(session->msgbuf); } else (void)strlcat(session->msgbuf, "\r\n", sizeof(session->msgbuf)); session->msgbuflen = strlen(session->msgbuf); return gpsd_write(session, session->msgbuf, session->msgbuflen); } ssize_t nmea_send(struct gps_device_t * session, const char *fmt, ...) { char buf[BUFSIZ]; va_list ap; va_start(ap, fmt); (void)vsnprintf(buf, sizeof(buf) - 5, fmt, ap); va_end(ap); return nmea_write(session, buf, strlen(buf)); } gpsd-3.9/driver_nmea2000.c0000664000175000017500000012103212113250057013424 0ustar esresr/* * NMEA2000 over CAN. * * This file is Copyright (c) 2012 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include #include #include #include #ifndef S_SPLINT_S #include #include #include #include #endif /* S_SPLINT_S */ #include "gpsd.h" #if defined(NMEA2000_ENABLE) #include "driver_nmea2000.h" #include "bits.h" #ifndef S_SPLINT_S #include #include #endif /* S_SPLINT_S */ #define LOG_FILE 1 #define NMEA2000_NETS 4 #define NMEA2000_UNITS 256 #define CAN_NAMELEN 32 #define MIN(a,b) ((a < b) ? a : b) #define NMEA2000_DEBUG_AIS 0 #define NMEA2000_FAST_DEBUG 0 static struct gps_device_t *nmea2000_units[NMEA2000_NETS][NMEA2000_UNITS]; static char can_interface_name[NMEA2000_NETS][CAN_NAMELEN]; typedef struct PGN { unsigned int pgn; unsigned int fast; unsigned int type; gps_mask_t (* func)(unsigned char *bu, int len, struct PGN *pgn, struct gps_device_t *session); const char *name; } PGN; /*@-nullassign@*/ #if LOG_FILE FILE *logFile = NULL; #endif /* of if LOG_FILE */ extern bool __attribute__ ((weak)) gpsd_add_device(const char *device_name, bool flag_nowait); static void print_data(unsigned char *buffer, int len, PGN *pgn) { #ifdef LIBGPS_DEBUG /*@-bufferoverflowhigh@*/ if ((libgps_debuglevel >= LOG_IO) != 0) { int l1, l2, ptr; char bu[128]; ptr = 0; l2 = sprintf(&bu[ptr], "got data:%6u:%3d: ", pgn->pgn, len); ptr += l2; for (l1=0;l1driver.nmea2000.mode_valid) { session->newdata.mode = session->driver.nmea2000.mode; } else { session->newdata.mode = MODE_NOT_SEEN; } return MODE_SET; } static int decode_ais_header(unsigned char *bu, int len, struct ais_t *ais, unsigned int mask) { if (len > 4) { ais->type = (unsigned int) ( bu[0] & 0x3f); ais->repeat = (unsigned int) ((bu[0] >> 6) & 0x03); ais->mmsi = (unsigned int) getleu32(bu, 1); ais->mmsi &= mask; gpsd_report(LOG_INF, "NMEA2000 AIS message type %u, MMSI %09d:\n", ais->type, ais->mmsi); printf("NMEA2000 AIS message type %2u, MMSI %09u:\n", ais->type, ais->mmsi); return(1); } else { ais->type = 0; ais->repeat = 0; ais->mmsi = 0; gpsd_report(LOG_ERROR, "NMEA2000 AIS message type %u, too short message.\n", ais->type); printf("NMEA2000 AIS message type %u, too short message.\n", ais->type); } return(0); } static int ais_turn_rate(int rate) { if (rate < 0) { return(-ais_turn_rate(-rate)); } return((int)(4.733 * sqrt(rate * RAD_2_DEG * .0001 * 60.0))); } static double ais_direction(unsigned int val, double scale) { if ((val == 0xffff) && (scale == 1.0)) { return(511.0); } return(val * RAD_2_DEG * 0.0001 * scale); } static gps_mask_t hnd_059392(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session) { print_data(bu, len, pgn); gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit); return(0); } static gps_mask_t hnd_060928(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session) { print_data(bu, len, pgn); gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit); return(0); } static gps_mask_t hnd_126208(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session) { print_data(bu, len, pgn); gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit); return(0); } static gps_mask_t hnd_126464(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session) { print_data(bu, len, pgn); gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit); return(0); } static gps_mask_t hnd_126996(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session) { print_data(bu, len, pgn); gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit); return(0); } static gps_mask_t hnd_129025(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session) { print_data(bu, len, pgn); gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit); /*@-type@*//* splint has a bug here */ session->newdata.latitude = getles32(bu, 0) * 1e-7; session->newdata.longitude = getles32(bu, 4) * 1e-7; /*@+type@*/ (void)strlcpy(session->gpsdata.tag, "129025", sizeof(session->gpsdata.tag)); return LATLON_SET | get_mode(session); } static gps_mask_t hnd_129026(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session) { print_data(bu, len, pgn); gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit); session->driver.nmea2000.sid[0] = bu[0]; /*@-type@*//* splint has a bug here */ session->newdata.track = getleu16(bu, 2) * 1e-4 * RAD_2_DEG; session->newdata.speed = getleu16(bu, 4) * 1e-2; /*@+type@*/ (void)strlcpy(session->gpsdata.tag, "129026", sizeof(session->gpsdata.tag)); return SPEED_SET | TRACK_SET | get_mode(session); } static gps_mask_t hnd_126992(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session) { //uint8_t sid; //uint8_t source; print_data(bu, len, pgn); gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit); //sid = bu[0]; //source = bu[1] & 0x0f; /*@-type@*//* splint has a bug here */ session->newdata.time = getleu16(bu, 2)*24*60*60 + getleu32(bu, 4)/1e4; /*@+type@*/ (void)strlcpy(session->gpsdata.tag, "126992", sizeof(session->gpsdata.tag)); return TIME_SET | get_mode(session); } static const int mode_tab[] = {MODE_NO_FIX, MODE_2D, MODE_3D, MODE_NO_FIX, MODE_NO_FIX, MODE_NO_FIX, MODE_NO_FIX, MODE_NO_FIX}; static gps_mask_t hnd_129539(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session) { gps_mask_t mask; unsigned int req_mode; unsigned int act_mode; print_data(bu, len, pgn); gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit); mask = 0; session->driver.nmea2000.sid[1] = bu[0]; session->driver.nmea2000.mode_valid = 1; req_mode = (unsigned int)((bu[1] >> 0) & 0x07); act_mode = (unsigned int)((bu[1] >> 3) & 0x07); /* This is a workaround for some GARMIN plotter, actual mode auto makes no sense for me! */ if ((act_mode == 3) && (req_mode != 3)) { act_mode = req_mode; } session->driver.nmea2000.mode = mode_tab[act_mode]; /*@-type@*//* splint has a bug here */ session->gpsdata.dop.hdop = getleu16(bu, 2) * 1e-2; session->gpsdata.dop.vdop = getleu16(bu, 4) * 1e-2; session->gpsdata.dop.tdop = getleu16(bu, 6) * 1e-2; /*@+type@*/ mask |= DOP_SET; gpsd_report(LOG_DATA, "pgn %6d(%3d): sid:%02x hdop:%5.2f vdop:%5.2f tdop:%5.2f\n", pgn->pgn, session->driver.nmea2000.unit, session->driver.nmea2000.sid[1], session->gpsdata.dop.hdop, session->gpsdata.dop.vdop, session->gpsdata.dop.tdop); (void)strlcpy(session->gpsdata.tag, "129539", sizeof(session->gpsdata.tag)); return mask | get_mode(session); } static gps_mask_t hnd_129540(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session) { int l1, l2; print_data(bu, len, pgn); gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit); session->driver.nmea2000.sid[2] = bu[0]; session->gpsdata.satellites_visible = (int)bu[2]; for (l2=0;l2gpsdata.used[l2] = 0; } l2 = 0; for (l1=0;l1gpsdata.satellites_visible;l1++) { int svt; double azi, elev, snr; /*@-type@*//* splint has a bug here */ elev = getles16(bu, 3+12*l1+1) * 1e-4 * RAD_2_DEG; azi = getleu16(bu, 3+12*l1+3) * 1e-4 * RAD_2_DEG; snr = getles16(bu, 3+12*l1+5) * 1e-2; /*@+type@*/ svt = (int)(bu[3+12*l1+11] & 0x0f); session->gpsdata.elevation[l1] = (int) (round(elev)); session->gpsdata.azimuth[l1] = (int) (round(azi)); session->gpsdata.ss[l1] = snr; session->gpsdata.PRN[l1] = (int)bu[3+12*l1+0]; if ((svt == 2) || (svt == 5)) { session->gpsdata.used[l2] = session->gpsdata.PRN[l1]; l2 += 1; } } return SATELLITE_SET | USED_IS; } static gps_mask_t hnd_129029(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session) { gps_mask_t mask; print_data(bu, len, pgn); gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit); mask = 0; session->driver.nmea2000.sid[3] = bu[0]; /*@-type@*//* splint has a bug here */ session->newdata.time = getleu16(bu,1) * 24*60*60 + getleu32(bu, 3)/1e4; /*@+type@*/ mask |= TIME_SET; /*@-type@*//* splint has a bug here */ session->newdata.latitude = getles64(bu, 7) * 1e-16; session->newdata.longitude = getles64(bu, 15) * 1e-16; /*@+type@*/ mask |= LATLON_SET; /*@-type@*//* splint has a bug here */ session->newdata.altitude = getles64(bu, 23) * 1e-6; /*@+type@*/ mask |= ALTITUDE_SET; // printf("mode %x %x\n", (bu[31] >> 4) & 0x0f, bu[31]); switch ((bu[31] >> 4) & 0x0f) { case 0: session->gpsdata.status = STATUS_NO_FIX; break; case 1: session->gpsdata.status = STATUS_FIX; break; case 2: session->gpsdata.status = STATUS_DGPS_FIX; break; case 3: case 4: case 5: session->gpsdata.status = STATUS_FIX; /* Is this correct ? */ break; default: session->gpsdata.status = STATUS_NO_FIX; break; } mask |= STATUS_SET; /*@-type@*//* splint has a bug here */ session->gpsdata.separation = getles32(bu, 38) / 100.0; /*@+type@*/ session->newdata.altitude -= session->gpsdata.separation; session->gpsdata.satellites_used = (int)bu[33]; /*@-type@*//* splint has a bug here */ session->gpsdata.dop.hdop = getleu16(bu, 34) * 0.01; session->gpsdata.dop.pdop = getleu16(bu, 36) * 0.01; /*@+type@*/ mask |= DOP_SET; (void)strlcpy(session->gpsdata.tag, "129029", sizeof(session->gpsdata.tag)); return mask | get_mode(session); } static gps_mask_t hnd_129038(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session) { struct ais_t *ais; ais = &session->gpsdata.ais; print_data(bu, len, pgn); gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit); if (decode_ais_header(bu, len, ais, 0xffffffff) != 0) { ais->type1.lon = (int) (getles32(bu, 5) * 0.06); ais->type1.lat = (int) (getles32(bu, 9) * 0.06); ais->type1.accuracy = (bool) ((bu[13] >> 0) & 0x01); ais->type1.raim = (bool) ((bu[13] >> 1) & 0x01); ais->type1.second = (unsigned int) ((bu[13] >> 2) & 0x3f); ais->type1.course = (unsigned int) ais_direction((unsigned int)getleu16(bu, 14), 10.0); ais->type1.speed = (unsigned int) (getleu16(bu, 16) * MPS_TO_KNOTS * 0.01 / 0.1); ais->type1.radio = (unsigned int) (getleu32(bu, 18) & 0x7ffff); ais->type1.heading = (unsigned int) ais_direction((unsigned int)getleu16(bu, 21), 1.0); ais->type1.turn = ais_turn_rate((int)getles16(bu, 23)); ais->type1.status = (unsigned int) ((bu[25] >> 0) & 0xff); ais->type1.maneuver = 0; /* Not transmitted ???? */ return(ONLINE_SET | AIS_SET); } return(0); } static gps_mask_t hnd_129039(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session) { struct ais_t *ais; ais = &session->gpsdata.ais; print_data(bu, len, pgn); gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit); if (decode_ais_header(bu, len, ais, 0xffffffff) != 0) { ais->type18.lon = (int) (getles32(bu, 5) * 0.06); ais->type18.lat = (int) (getles32(bu, 9) * 0.06); ais->type18.accuracy = (bool) ((bu[13] >> 0) & 0x01); ais->type18.raim = (bool) ((bu[13] >> 1) & 0x01); ais->type18.second = (unsigned int) ((bu[13] >> 2) & 0x3f); ais->type18.course = (unsigned int) ais_direction((unsigned int) getleu16(bu, 14), 10.0); ais->type18.speed = (unsigned int) (getleu16(bu, 16) * MPS_TO_KNOTS * 0.01 / 0.1); ais->type18.radio = (unsigned int) (getleu32(bu, 18) & 0x7ffff); ais->type18.heading = (unsigned int) ais_direction((unsigned int) getleu16(bu, 21), 1.0); ais->type18.reserved = 0; ais->type18.regional = (unsigned int) ((bu[24] >> 0) & 0x03); ais->type18.cs = (bool) ((bu[24] >> 2) & 0x01); ais->type18.display = (bool) ((bu[24] >> 3) & 0x01); ais->type18.dsc = (bool) ((bu[24] >> 4) & 0x01); ais->type18.band = (bool) ((bu[24] >> 5) & 0x01); ais->type18.msg22 = (bool) ((bu[24] >> 6) & 0x01); ais->type18.assigned = (bool) ((bu[24] >> 7) & 0x01); return(ONLINE_SET | AIS_SET); } return(0); } /* No test case for this message at the moment */ static gps_mask_t hnd_129040(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session) { struct ais_t *ais; ais = &session->gpsdata.ais; print_data(bu, len, pgn); gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit); if (decode_ais_header(bu, len, ais, 0xffffffff) != 0) { uint16_t length, beam, to_bow, to_starboard; int l; ais->type19.lon = (int) (getles32(bu, 5) * 0.06); ais->type19.lat = (int) (getles32(bu, 9) * 0.06); ais->type19.accuracy = (bool) ((bu[13] >> 0) & 0x01); ais->type19.raim = (bool) ((bu[13] >> 1) & 0x01); ais->type19.second = (unsigned int) ((bu[13] >> 2) & 0x3f); ais->type19.course = (unsigned int) ais_direction((unsigned int) getleu16(bu, 14), 10.0); ais->type19.speed = (unsigned int) (getleu16(bu, 16) * MPS_TO_KNOTS * 0.01 / 0.1); ais->type19.reserved = (unsigned int) ((bu[18] >> 0) & 0xff); ais->type19.regional = (unsigned int) ((bu[19] >> 0) & 0x0f); ais->type19.shiptype = (unsigned int) ((bu[20] >> 0) & 0xff); ais->type19.heading = (unsigned int) ais_direction((unsigned int) getleu16(bu, 21), 1.0); length = getleu16(bu, 24); beam = getleu16(bu, 26); to_starboard = getleu16(bu, 28); to_bow = getleu16(bu, 30); if ((length == 0xffff) || (to_bow == 0xffff)) { length = 0; to_bow = 0; } if ((beam == 0xffff) || (to_starboard == 0xffff)) { beam = 0; to_starboard = 0; } ais->type19.to_bow = (unsigned int) (to_bow/10); ais->type19.to_stern = (unsigned int) ((length-to_bow)/10); ais->type19.to_port = (unsigned int) ((beam-to_starboard)/10); ais->type19.to_starboard = (unsigned int) (to_starboard/10); ais->type19.epfd = (unsigned int) ((bu[23] >> 4) & 0x0f); ais->type19.dte = (unsigned int) ((bu[52] >> 0) & 0x01); ais->type19.assigned = (bool) ((bu[52] >> 1) & 0x01); for (l=0;ltype19.shipname[l] = (char) bu[32+l]; } ais->type19.shipname[AIS_SHIPNAME_MAXLEN] = (char) 0; return(ONLINE_SET | AIS_SET); } return(0); } static gps_mask_t hnd_129794(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session) { struct ais_t *ais; ais = &session->gpsdata.ais; print_data(bu, len, pgn); gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit); if (decode_ais_header(bu, len, ais, 0xffffffff) != 0) { uint16_t length, beam, to_bow, to_starboard, date; int l; uint32_t time; time_t date1; struct tm date2; ais->type5.ais_version = (unsigned int) ((bu[73] >> 0) & 0x03); ais->type5.imo = (unsigned int) getleu32(bu, 5); if (ais->type5.imo == 0xffffffff) { ais->type5.imo = 0; } ais->type5.shiptype = (unsigned int) ((bu[36] >> 0) & 0xff); length = getleu16(bu, 37); beam = getleu16(bu, 39); to_starboard = getleu16(bu, 41); to_bow = getleu16(bu, 43); if ((length == 0xffff) || (to_bow == 0xffff)) { length = 0; to_bow = 0; } if ((beam == 0xffff) || (to_starboard == 0xffff)) { beam = 0; to_starboard = 0; } ais->type5.to_bow = (unsigned int) (to_bow/10); ais->type5.to_stern = (unsigned int) ((length-to_bow)/10); ais->type5.to_port = (unsigned int) ((beam-to_starboard)/10); ais->type5.to_starboard = (unsigned int) (to_starboard/10); ais->type5.epfd = (unsigned int) ((bu[73] >> 2) & 0x0f); date = getleu16(bu, 45); time = getleu32(bu, 47); date1 = (time_t) (date*24*60*60); (void) gmtime_r(&date1, &date2); ais->type5.month = (unsigned int) (date2.tm_mon+1); ais->type5.day = (unsigned int) (date2.tm_mday); ais->type5.minute = (unsigned int) (time/(10000*60)); ais->type5.hour = (unsigned int) (ais->type5.minute/60); ais->type5.minute = (unsigned int) (ais->type5.minute-(ais->type5.hour*60)); ais->type5.draught = (unsigned int) (getleu16(bu, 51)/10); ais->type5.dte = (unsigned int) ((bu[73] >> 6) & 0x01); for (l=0;l<7;l++) { ais->type5.callsign[l] = (char) bu[9+l]; } ais->type5.callsign[7] = (char) 0; for (l=0;ltype5.shipname[l] = (char) bu[16+l]; } ais->type5.shipname[AIS_SHIPNAME_MAXLEN] = (char) 0; for (l=0;l<20;l++) { ais->type5.destination[l] = (char) bu[53+l]; } ais->type5.destination[20] = (char) 0; #if NMEA2000_DEBUG_AIS printf("AIS: MMSI: %09u\n", ais->mmsi); printf("AIS: name: %-20.20s i:%8u c:%-8.8s b:%6u s:%6u p:%6u s:%6u dr:%4.1f\n", ais->type5.shipname, ais->type5.imo, ais->type5.callsign, ais->type5.to_bow, ais->type5.to_stern, ais->type5.to_port, ais->type5.to_starboard, ais->type5.draught/10.0); printf("AIS: arival:%-20.20s at %02u-%02u-%04d %02u:%0u\n", ais->type5.destination, ais->type5.day, ais->type5.month, date2.tm_year+1900, ais->type5.hour, ais->type5.minute); #endif /* of #if NMEA2000_DEBUG_AIS */ return(ONLINE_SET | AIS_SET); } return(0); } /* No test case for this message at the moment */ static gps_mask_t hnd_129798(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session) { struct ais_t *ais; ais = &session->gpsdata.ais; print_data(bu, len, pgn); gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit); if (decode_ais_header(bu, len, ais, 0xffffffff) != 0) { ais->type9.lon = (int) (getles32(bu, 5) * 0.06); ais->type9.lat = (int) (getles32(bu, 9) * 0.06); ais->type9.accuracy = (bool) ((bu[13] >> 0) & 0x01); ais->type9.raim = (bool) ((bu[13] >> 1) & 0x01); ais->type9.second = (unsigned int) ((bu[13] >> 2) & 0x3f); ais->type9.course = (unsigned int) ais_direction((unsigned int) getleu16(bu, 14), 10.0); ais->type9.speed = (unsigned int) (getleu16(bu, 16) * MPS_TO_KNOTS * 0.01 / 0.1); ais->type9.radio = (unsigned int) (getleu32(bu, 18) & 0x7ffff); ais->type9.alt = (unsigned int) (getleu64(bu, 21)/1000000); ais->type9.regional = (unsigned int) ((bu[29] >> 0) & 0xff); ais->type9.dte = (unsigned int) ((bu[30] >> 0) & 0x01); /* ais->type9.spare = (bu[30] >> 1) & 0x7f; */ ais->type9.assigned = 0; /* Not transmitted ???? */ return(ONLINE_SET | AIS_SET); } return(0); } /* No test case for this message at the moment */ static gps_mask_t hnd_129802(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session) { struct ais_t *ais; ais = &session->gpsdata.ais; print_data(bu, len, pgn); gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit); if (decode_ais_header(bu, len, ais, 0x3fffffff) != 0) { int l; /* ais->type14.channel = (bu[ 5] >> 0) & 0x1f; */ for (l=0;l<36;l++) { ais->type14.text[l] = (char) bu[6+l]; } ais->type14.text[36] = (char) 0; return(ONLINE_SET | AIS_SET); } return(0); } static gps_mask_t hnd_129809(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session) { struct ais_t *ais; ais = &session->gpsdata.ais; print_data(bu, len, pgn); gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit); if (decode_ais_header(bu, len, ais, 0xffffffff) != 0) { int l; int index = session->aivdm[0].type24_queue.index; struct ais_type24a_t *saveptr = &session->aivdm[0].type24_queue.ships[index]; gpsd_report(LOG_PROG, "NMEA2000: AIS message 24A from %09u stashed.\n", ais->mmsi); saveptr->mmsi = ais->mmsi; for (l=0;lshipname[l] = (char) bu[ 5+l]; } saveptr->shipname[AIS_SHIPNAME_MAXLEN] = (char) 0; index += 1; index %= MAX_TYPE24_INTERLEAVE; session->aivdm[0].type24_queue.index = index; return(0); } return(0); } static gps_mask_t hnd_129810(unsigned char *bu, int len, PGN *pgn, struct gps_device_t *session) { struct ais_t *ais; ais = &session->gpsdata.ais; print_data(bu, len, pgn); gpsd_report(LOG_DATA, "pgn %6d(%3d):\n", pgn->pgn, session->driver.nmea2000.unit); if (decode_ais_header(bu, len, ais, 0xffffffff) != 0) { int i, l; for (i = 0; i < MAX_TYPE24_INTERLEAVE; i++) { if (session->aivdm[0].type24_queue.ships[i].mmsi == ais->mmsi) { for (l=0;ltype24.shipname[l] = (char) (session->aivdm[0].type24_queue.ships[i].shipname[l]); } ais->type24.shipname[AIS_SHIPNAME_MAXLEN] = (char) 0; ais->type24.shiptype = (unsigned int) ((bu[ 5] >> 0) & 0xff); for (l=0;l<7;l++) { ais->type24.vendorid[l] = (char) bu[ 6+l]; } ais->type24.vendorid[7] = (char) 0; for (l=0;l<7;l++) { ais->type24.callsign[l] = (char) bu[13+l]; } ais->type24.callsign[7] = (char )0; if (AIS_AUXILIARY_MMSI(ais->mmsi)) { ais->type24.mothership_mmsi = (unsigned int) (getleu32(bu, 28)); } else { uint16_t length, beam, to_bow, to_starboard; length = getleu16(bu, 20); beam = getleu16(bu, 22); to_starboard = getleu16(bu, 24); to_bow = getleu16(bu, 26); ais->type24.dim.to_bow = (unsigned int) (to_bow/10); ais->type24.dim.to_stern = (unsigned int) ((length-to_bow)/10); ais->type24.dim.to_port = (unsigned int) ((beam-to_starboard)/10); ais->type24.dim.to_starboard = (unsigned int) (to_starboard/10); if ((length == 0xffff) || (to_bow == 0xffff)) { length = 0; to_bow = 0; } if ((beam == 0xffff) || (to_starboard == 0xffff)) { beam = 0; to_starboard = 0; } } gpsd_report(LOG_PROG, "NMEA2000: AIS 24B from %09u matches a 24A.\n", ais->mmsi); /* prevent false match if a 24B is repeated */ session->aivdm[0].type24_queue.ships[i].mmsi = 0; #if NMEA2000_DEBUG_AIS printf("AIS: MMSI: %09u\n", ais->mmsi); printf("AIS: name: %-20.20s v:%-8.8s c:%-8.8s b:%6u s:%6u p:%6u s:%6u\n", ais->type24.shipname, ais->type24.vendorid, ais->type24.callsign, ais->type24.dim.to_bow, ais->type24.dim.to_stern, ais->type24.dim.to_port, ais->type24.dim.to_starboard); #endif /* of #if NMEA2000_DEBUG_AIS */ return(ONLINE_SET | AIS_SET); } } gpsd_report(LOG_WARN, "NMEA2000: AIS 24B from %09u can't be matched to a 24A.\n", ais->mmsi); return(0); } return(0); } /*@-usereleased@*/ static const char msg_059392[] = {"ISO Acknowledgment"}; static const char msg_060928[] = {"ISO Address Claim"}; static const char msg_126208[] = {"NMEA Command/Request/Acknowledge"}; static const char msg_126464[] = {"ISO Transmit/Receive PGN List"}; static const char msg_126992[] = {"GNSS System Time"}; static const char msg_126996[] = {"ISO Product Information"}; static const char msg_129025[] = {"GNSS Position Rapid Update"}; static const char msg_129026[] = {"GNSS COG and SOG Rapid Update"}; static const char msg_129029[] = {"GNSS Positition Data"}; static const char msg_129539[] = {"GNSS DOPs"}; static const char msg_129540[] = {"GNSS Satellites in View"}; static const char msg_129038[] = {"AIS Class A Position Report"}; static const char msg_129039[] = {"AIS Class B Position Report"}; static const char msg_129040[] = {"AIS Class B Extended Position Report"}; static const char msg_129794[] = {"AIS Class A Static and Voyage Related Data"}; static const char msg_129798[] = {"AIS SAR Aircraft Position Report"}; static const char msg_129802[] = {"AIS Safty Related Broadcast Message"}; static const char msg_129809[] = {"AIS Class B CS Static Data Report, Part A"}; static const char msg_129810[] = {"AIS Class B CS Static Data Report, Part B"}; static const char msg_error [] = {"**error**"}; static PGN gpspgn[] = {{ 59392, 0, 0, hnd_059392, &msg_059392[0]}, { 60928, 0, 0, hnd_060928, &msg_060928[0]}, {126208, 0, 0, hnd_126208, &msg_126208[0]}, {126464, 1, 0, hnd_126464, &msg_126464[0]}, {126992, 0, 0, hnd_126992, &msg_126992[0]}, {126996, 1, 0, hnd_126996, &msg_126996[0]}, {129025, 0, 1, hnd_129025, &msg_129025[0]}, {129026, 0, 1, hnd_129026, &msg_129026[0]}, {129029, 1, 1, hnd_129029, &msg_129029[0]}, {129539, 0, 1, hnd_129539, &msg_129539[0]}, {129540, 1, 1, hnd_129540, &msg_129540[0]}, {0 , 0, 0, NULL, &msg_error [0]}}; static PGN aispgn[] = {{ 59392, 0, 0, hnd_059392, &msg_059392[0]}, { 60928, 0, 0, hnd_060928, &msg_060928[0]}, {126208, 0, 0, hnd_126208, &msg_126208[0]}, {126464, 1, 0, hnd_126464, &msg_126464[0]}, {126992, 0, 0, hnd_126992, &msg_126992[0]}, {126996, 1, 0, hnd_126996, &msg_126996[0]}, {129038, 1, 2, hnd_129038, &msg_129038[0]}, {129039, 1, 2, hnd_129039, &msg_129039[0]}, {129040, 1, 2, hnd_129040, &msg_129040[0]}, {129794, 1, 2, hnd_129794, &msg_129794[0]}, {129798, 1, 2, hnd_129798, &msg_129798[0]}, {129802, 1, 2, hnd_129802, &msg_129802[0]}, {129809, 1, 2, hnd_129809, &msg_129809[0]}, {129810, 1, 2, hnd_129810, &msg_129810[0]}, {0 , 0, 0, NULL, &msg_error [0]}}; /*@+usereleased@*/ /*@-immediatetrans@*/ static /*@null@*/ PGN *search_pgnlist(unsigned int pgn, PGN *pgnlist) { int l1; PGN *work; l1 = 0; work = NULL; while (pgnlist[l1].pgn != 0) { if (pgnlist[l1].pgn == pgn) { work = &pgnlist[l1]; break; } else { l1 = l1 + 1; } } return work; } /*@+immediatetrans@*/ /*@-nullstate -branchstate -globstate -mustfreeonly@*/ static void find_pgn(struct can_frame *frame, struct gps_device_t *session) { PGN *work; unsigned int can_net; session->driver.nmea2000.workpgn = NULL; can_net = session->driver.nmea2000.can_net; if (can_net > (NMEA2000_NETS-1)) { gpsd_report(LOG_ERROR, "NMEA2000 find_pgn: Invalid can network %d.\n", can_net); return; } /*@ignore@*//* because the CAN include files choke splint */ if (frame->can_id & 0x80000000) { // cppcheck-suppress unreadVariable unsigned int source_prio UNUSED; unsigned int daddr UNUSED; // cppcheck-suppress unreadVariable unsigned int source_pgn; unsigned int source_unit; #if LOG_FILE if (logFile != NULL) { struct timespec msgTime; clock_gettime(CLOCK_REALTIME, &msgTime); fprintf(logFile, "(%010d.%06d) can0 %08x#", (unsigned int)msgTime.tv_sec, (unsigned int)msgTime.tv_nsec/1000, frame->can_id & 0x1ffffff); if ((frame->can_dlc & 0x0f) > 0) { int l1; for(l1=0;l1<(frame->can_dlc & 0x0f);l1++) { fprintf(logFile, "%02x", frame->data[l1]); } } fprintf(logFile, "\n"); } #endif /* of if LOG_FILE */ /*@end@*/ session->driver.nmea2000.can_msgcnt += 1; /*@ignore@*//* because the CAN include files choke splint */ source_pgn = (frame->can_id >> 8) & 0x1ffff; source_prio = (frame->can_id >> 26) & 0x7; source_unit = frame->can_id & 0x0ff; /*@end@*/ if ((source_pgn >> 8) < 240) { daddr = source_pgn & 0x000ff; source_pgn = source_pgn & 0x1ff00; } else { daddr = 0; } if (session->driver.nmea2000.unit_valid == 0) { unsigned int l1, l2; for (l1=0;l1driver.nmea2000.unit = l2; session->driver.nmea2000.unit_valid = 1; session->driver.nmea2000.can_net = l1; can_net = l1; } } } } if (session->driver.nmea2000.unit_valid == 0) { session->driver.nmea2000.unit = source_unit; session->driver.nmea2000.unit_valid = 1; nmea2000_units[can_net][source_unit] = session; } if (source_unit == session->driver.nmea2000.unit) { if (session->driver.nmea2000.pgnlist != NULL) { work = search_pgnlist(source_pgn, session->driver.nmea2000.pgnlist); } else { PGN *pgnlist; pgnlist = &gpspgn[0]; work = search_pgnlist(source_pgn, pgnlist); if (work == NULL) { pgnlist = &aispgn[0]; work = search_pgnlist(source_pgn, pgnlist); } if ((work != 0) && (work->type > 0)) { session->driver.nmea2000.pgnlist = pgnlist; } } if (work != NULL) { if (work->fast == 0) { size_t l2; gpsd_report(LOG_DATA, "pgn %6d:%s \n", work->pgn, work->name); session->driver.nmea2000.workpgn = (void *) work; /*@i1@*/session->packet.outbuflen = frame->can_dlc & 0x0f; for (l2=0;l2packet.outbuflen;l2++) { /*@i3@*/session->packet.outbuffer[l2]= frame->data[l2]; } } /*@i2@*/else if ((frame->data[0] & 0x1f) == 0) { unsigned int l2; /*@i2@*/session->driver.nmea2000.fast_packet_len = frame->data[1]; /*@i2@*/session->driver.nmea2000.idx = frame->data[0]; #if NMEA2000_FAST_DEBUG gpsd_report(LOG_ERROR, "Set idx %2x %2x %2x %6d\n", frame->data[0], session->driver.nmea2000.unit, frame->data[1], source_pgn); #endif /* of #if NMEA2000_FAST_DEBUG */ session->packet.inbuflen = 0; session->driver.nmea2000.idx += 1; for (l2=2;l2<8;l2++) { /*@i3@*/session->packet.inbuffer[session->packet.inbuflen++] = frame->data[l2]; } gpsd_report(LOG_DATA, "pgn %6d:%s \n", work->pgn, work->name); } /*@i2@*/else if (frame->data[0] == session->driver.nmea2000.idx) { unsigned int l2; for (l2=1;l2<8;l2++) { if (session->driver.nmea2000.fast_packet_len > session->packet.inbuflen) { /*@i3@*/session->packet.inbuffer[session->packet.inbuflen++] = frame->data[l2]; } } if (session->packet.inbuflen == session->driver.nmea2000.fast_packet_len) { #if NMEA2000_FAST_DEBUG gpsd_report(LOG_ERROR, "Fast done %2x %2x %2x %2x %6d\n", session->driver.nmea2000.idx, /*@i1@*/frame->data[0], session->driver.nmea2000.unit, (unsigned int) session->driver.nmea2000.fast_packet_len, source_pgn); #endif /* of #if NMEA2000_FAST_DEBUG */ session->driver.nmea2000.workpgn = (void *) work; session->packet.outbuflen = session->driver.nmea2000.fast_packet_len; for(l2=0;l2 < (unsigned int)session->packet.outbuflen; l2++) { session->packet.outbuffer[l2] = session->packet.inbuffer[l2]; } session->driver.nmea2000.fast_packet_len = 0; } else { session->driver.nmea2000.idx += 1; } } else { gpsd_report(LOG_ERROR, "Fast error %2x %2x %2x %2x %6d\n", session->driver.nmea2000.idx, /*@i1@*/frame->data[0], session->driver.nmea2000.unit, (unsigned int) session->driver.nmea2000.fast_packet_len, source_pgn); } } else { gpsd_report(LOG_WARN, "PGN not found %08d %08x \n", source_pgn, source_pgn); } } else { // we got a unknown unit number if (nmea2000_units[can_net][source_unit] == NULL) { char buffer[32]; (void) snprintf(buffer, sizeof(buffer), "nmea2000://%s:%u", can_interface_name[can_net], source_unit); if (gpsd_add_device != NULL) { (void) gpsd_add_device(buffer, true); } } } } else { // we got RTR or 2.0A CAN frame, not used } } /*@+nullstate +branchstate +globstate +mustfreeonly@*/ static ssize_t nmea2000_get(struct gps_device_t *session) { struct can_frame frame; ssize_t status; // printf("NMEA2000 get: enter\n"); session->packet.outbuflen = 0; status = read(session->gpsdata.gps_fd, &frame, sizeof(frame)); if (status == (ssize_t)sizeof(frame)) { session->packet.type = NMEA2000_PACKET; find_pgn(&frame, session); // printf("NMEA2000 get: exit(%d)\n", status); if (session->driver.nmea2000.workpgn == NULL) { status = 0; } return frame.can_dlc & 0x0f; } // printf("NMEA2000 get: exit(EXIT_SUCCESS)\n"); return 0; } /*@-mustfreeonly@*/ static gps_mask_t nmea2000_parse_input(struct gps_device_t *session) { gps_mask_t mask; PGN *work; // printf("NMEA2000 parse_input called\n"); mask = 0; work = (PGN *) session->driver.nmea2000.workpgn; if (work != NULL) { mask = (work->func)(&session->packet.outbuffer[0], (int)session->packet.outbuflen, work, session); session->driver.nmea2000.workpgn = NULL; } session->packet.outbuflen = 0; return mask; } /*@+mustfreeonly@*/ /*@+nullassign@*/ #ifndef S_SPLINT_S int nmea2000_open(struct gps_device_t *session) { char interface_name[strlen(session->gpsdata.dev.path)]; socket_t sock; int status; int unit_number; int can_net; unsigned int l; struct ifreq ifr; struct sockaddr_can addr; char *unit_ptr; INVALIDATE_SOCKET(session->gpsdata.gps_fd); session->driver.nmea2000.can_net = 0; can_net = -1; unit_number = -1; (void)strlcpy(interface_name, session->gpsdata.dev.path + 11, sizeof(interface_name)); unit_ptr = NULL; for (l=0;l (NMEA2000_UNITS-1))) { gpsd_report(LOG_ERROR, "NMEA2000 open: Unit number out of range.\n"); return -1; } for (l = 0; l < NMEA2000_NETS; l++) { if (strncmp(can_interface_name[l], interface_name, MIN(sizeof(interface_name), sizeof(can_interface_name[l]))) == 0) { can_net = l; break; } } if (can_net < 0) { gpsd_report(LOG_ERROR, "NMEA2000 open: CAN device not open: %s .\n", interface_name); return -1; } } else { for (l = 0; l < NMEA2000_NETS; l++) { if (strncmp(can_interface_name[l], interface_name, MIN(sizeof(interface_name), sizeof(can_interface_name[l]))) == 0) { gpsd_report(LOG_ERROR, "NMEA2000 open: CAN device duplicate open: %s .\n", interface_name); return -1; } } for (l = 0; l < NMEA2000_NETS; l++) { if (can_interface_name[l][0] == 0) { can_net = l; break; } } if (can_net < 0) { gpsd_report(LOG_ERROR, "NMEA2000 open: Too many CAN networks open.\n"); return -1; } } /* Create the socket */ sock = socket(PF_CAN, SOCK_RAW, CAN_RAW); if (BAD_SOCKET(sock)) { gpsd_report(LOG_ERROR, "NMEA2000 open: can not get socket.\n"); return -1; } status = fcntl(sock, F_SETFL, O_NONBLOCK); if (status != 0) { gpsd_report(LOG_ERROR, "NMEA2000 open: can not set socket to O_NONBLOCK.\n"); close(sock); return -1; } /* Locate the interface you wish to use */ strlcpy(ifr.ifr_name, interface_name, sizeof(ifr.ifr_name)); status = ioctl(sock, SIOCGIFINDEX, &ifr); /* ifr.ifr_ifindex gets filled * with that device's index */ if (status != 0) { gpsd_report(LOG_ERROR, "NMEA2000 open: can not find CAN device.\n"); close(sock); return -1; } /* Select that CAN interface, and bind the socket to it. */ addr.can_family = AF_CAN; addr.can_ifindex = ifr.ifr_ifindex; status = bind(sock, (struct sockaddr*)&addr, sizeof(addr) ); if (status != 0) { gpsd_report(LOG_ERROR, "NMEA2000 open: bind failed.\n"); close(sock); return -1; } gpsd_switch_driver(session, "NMEA2000"); session->gpsdata.gps_fd = sock; session->sourcetype = source_can; session->servicetype = service_sensor; session->driver.nmea2000.can_net = can_net; if (unit_ptr != NULL) { nmea2000_units[can_net][unit_number] = session; session->driver.nmea2000.unit = unit_number; session->driver.nmea2000.unit_valid = 1; } else { strncpy(can_interface_name[can_net], interface_name, MIN(sizeof(can_interface_name[0]), sizeof(interface_name))); session->driver.nmea2000.unit_valid = 0; for (l=0;lgpsdata.dev.parity = 'n'; session->gpsdata.dev.baudrate = 250000; session->gpsdata.dev.stopbits = 0; return session->gpsdata.gps_fd; } #endif /* of ifndef S_SPLINT_S */ void nmea2000_close(struct gps_device_t *session) { if (!BAD_SOCKET(session->gpsdata.gps_fd)) { gpsd_report(LOG_SPIN, "close(%d) in nmea2000_close(%s)\n", session->gpsdata.gps_fd, session->gpsdata.dev.path); (void)close(session->gpsdata.gps_fd); INVALIDATE_SOCKET(session->gpsdata.gps_fd); } } /* *INDENT-OFF* */ const struct gps_type_t nmea2000 = { .type_name = "NMEA2000", /* full name of type */ .packet_type = NMEA2000_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no rollover or other flags */ .trigger = NULL, /* detect their main sentence */ .channels = 12, /* not an actual GPS at all */ .probe_detect = NULL, .get_packet = nmea2000_get, /* how to get a packet */ .parse_packet = nmea2000_parse_input, /* how to interpret a packet */ .rtcm_writer = NULL, /* Don't send RTCM to this */ .event_hook = NULL, #ifdef RECONFIGURE_ENABLE .speed_switcher = NULL, /* no speed switcher */ .mode_switcher = NULL, /* no mode switcher */ .rate_switcher = NULL, /* no rate switcher */ .min_cycle = 1, /* nominal 1-per-second GPS cycle */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = NULL, /* how to send control strings */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ /* end */ #endif /* of defined(NMEA2000_ENABLE) */ gpsd-3.9/driver_nmea2000.h0000664000175000017500000000074412005653734013450 0ustar esresr/* * NMEA2000 over CAN. * * The entry points for driver_nmea2000 * * This file is Copyright (c) 2012 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #ifndef _DRIVER_NMEA2000_H_ #define _DRIVER_NMEA2000_H_ #if defined(NMEA2000_ENABLE) int nmea2000_open(struct gps_device_t *session); void nmea2000_close(struct gps_device_t *session); #endif /* of defined(NMEA2000_ENABLE) */ #endif /* of ifndef _DRIVER_NMEA2000_H_ */ gpsd-3.9/driver_oncore.c0000664000175000017500000004161412022345475013506 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include "gpsd.h" #if defined(ONCORE_ENABLE) && defined(BINARY_ENABLE) #include "bits.h" /*@ +charint @*/ static char enableEa[] = { 'E', 'a', 1 }; static char enableBb[] = { 'B', 'b', 1 }; static char getfirmware[] = { 'C', 'j' }; /*static char enableEn[] = { 'E', 'n', 1, 0, 100, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };*/ /*static char enableAt2[] = { 'A', 't', 2, };*/ static unsigned char pollAs[] = { 'A', 's', 0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff }; static unsigned char pollAt[] = { 'A', 't', 0xff }; static unsigned char pollAy[] = { 'A', 'y', 0xff, 0xff, 0xff, 0xff }; static unsigned char pollBo[] = { 'B', 'o', 0x01 }; static unsigned char pollEn[] = { 'E', 'n', 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; /*@ -charint @*/ /* * These routines are specific to this driver */ static gps_mask_t oncore_parse_input(struct gps_device_t *); static gps_mask_t oncore_dispatch(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t oncore_msg_navsol(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t oncore_msg_utc_offset(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t oncore_msg_pps_offset(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t oncore_msg_svinfo(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t oncore_msg_time_raim(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t oncore_msg_firmware(struct gps_device_t *, unsigned char *, size_t); /* * These methods may be called elsewhere in gpsd */ static ssize_t oncore_control_send(struct gps_device_t *, char *, size_t); static void oncore_event_hook(struct gps_device_t *, event_t); #ifdef RECONFIGURE_ENABLE static bool oncore_set_speed(struct gps_device_t *, speed_t, char, int); static void oncore_set_mode(struct gps_device_t *, int); #endif /* RECONFIGURE_ENABLE */ /* * Decode the navigation solution message */ static gps_mask_t oncore_msg_navsol(struct gps_device_t *session, unsigned char *buf, size_t data_len) { gps_mask_t mask; unsigned char flags; double lat, lon, alt; float speed, track, dop; unsigned int i, j, st, nsv, off; int Bbused; struct tm unpacked_date; unsigned int nsec; if (data_len != 76) return 0; mask = ONLINE_SET; gpsd_report(LOG_IO, "oncore NAVSOL - navigation data\n"); flags = (unsigned char)getub(buf, 72); /*@ -predboolothers @*/ if (flags & 0x20) { session->gpsdata.status = STATUS_FIX; session->newdata.mode = MODE_3D; } else if (flags & 0x10) { session->gpsdata.status = STATUS_FIX; session->newdata.mode = MODE_2D; } else { gpsd_report(LOG_WARN, "oncore NAVSOL no fix - flags 0x%02x\n", flags); session->newdata.mode = MODE_NO_FIX; session->gpsdata.status = STATUS_NO_FIX; } mask |= MODE_SET; /*@ +predboolothers @*/ /* Unless we have seen non-zero utc offset data, the time is GPS time * and not UTC time. Do not use it. */ if (session->context->leap_seconds) { unpacked_date.tm_mon = (int)getub(buf, 4) - 1; unpacked_date.tm_mday = (int)getub(buf, 5); unpacked_date.tm_year = (int)getbeu16(buf, 6) - 1900; unpacked_date.tm_hour = (int)getub(buf, 8); unpacked_date.tm_min = (int)getub(buf, 9); unpacked_date.tm_sec = (int)getub(buf, 10); unpacked_date.tm_isdst = 0; nsec = (uint) getbeu32(buf, 11); /*@ -unrecog */ session->newdata.time = (timestamp_t)timegm(&unpacked_date) + nsec * 1e-9; /*@ +unrecog */ mask |= TIME_SET; gpsd_report(LOG_IO, "oncore NAVSOL - time: %04d-%02d-%02d %02d:%02d:%02d.%09d\n", unpacked_date.tm_year + 1900, unpacked_date.tm_mon + 1, unpacked_date.tm_mday, unpacked_date.tm_hour, unpacked_date.tm_min, unpacked_date.tm_sec, nsec); } /*@-type@*/ lat = getbes32(buf, 15) / 3600000.0f; lon = getbes32(buf, 19) / 3600000.0f; alt = getbes32(buf, 23) / 100.0f; speed = getbeu16(buf, 31) / 100.0f; track = getbeu16(buf, 33) / 10.0f; dop = getbeu16(buf, 35) / 10.0f; /*@+type@*/ gpsd_report(LOG_IO, "oncore NAVSOL - %lf %lf %.2lfm-%.2lfm | %.2fm/s %.1fdeg dop=%.1f\n", lat, lon, alt, wgs84_separation(lat, lon), speed, track, (float)dop); session->newdata.latitude = lat; session->newdata.longitude = lon; session->gpsdata.separation = wgs84_separation(session->newdata.latitude, session->newdata.longitude); session->newdata.altitude = alt - session->gpsdata.separation; session->newdata.speed = speed; session->newdata.track = track; mask |= LATLON_SET | ALTITUDE_SET | SPEED_SET | TRACK_SET; gpsd_zero_satellites(&session->gpsdata); /* Merge the satellite information from the Bb message. */ Bbused = 0; nsv = 0; for (i = st = 0; i < 8; i++) { int sv, mode, sn, status; off = 40 + 4 * i; sv = (int)getub(buf, off); mode = (int)getub(buf, off + 1); sn = (int)getub(buf, off + 2); status = (int)getub(buf, off + 3); gpsd_report(LOG_IO, "%2d %2d %2d %3d %02x\n", i, sv, mode, sn, status); if (sn) { session->gpsdata.PRN[st] = sv; session->gpsdata.ss[st] = (double)sn; for (j = 0; (int)j < session->driver.oncore.visible; j++) if (session->driver.oncore.PRN[j] == sv) { session->gpsdata.elevation[st] = session->driver.oncore.elevation[j]; session->gpsdata.azimuth[st] = session->driver.oncore.azimuth[j]; Bbused |= 1 << j; break; } st++; /* bit 7 of the status word: sat used for position */ if (status & 0x80) session->gpsdata.used[nsv++] = sv; /* bit 2 of the status word: using for time solution */ if (status & 0x02) mask |= PPSTIME_IS; /* * The PPSTIME_IS mask bit exists distinctly from TIME_SET exactly * so an OnCore running in time-service mode (and other GPS clocks) * can signal that it's returning time even though no position fixes * have been available. */ } } for (j = 0; (int)j < session->driver.oncore.visible; j++) /*@ -boolops @*/ if (!(Bbused & (1 << j))) { session->gpsdata.PRN[st] = session->driver.oncore.PRN[j]; session->gpsdata.elevation[st] = session->driver.oncore.elevation[j]; session->gpsdata.azimuth[st] = session->driver.oncore.azimuth[j]; st++; } /*@ +boolops @*/ session->gpsdata.skyview_time = session->newdata.time; session->gpsdata.satellites_used = (int)nsv; session->gpsdata.satellites_visible = (int)st; mask |= SATELLITE_SET | USED_IS; /* Some messages can only be polled. As they are not so * important, would be enough to poll e.g. one message per cycle. */ (void)oncore_control_send(session, (char *)pollAs, sizeof(pollAs)); (void)oncore_control_send(session, (char *)pollAt, sizeof(pollAt)); (void)oncore_control_send(session, (char *)pollAy, sizeof(pollAy)); (void)oncore_control_send(session, (char *)pollBo, sizeof(pollBo)); (void)oncore_control_send(session, (char *)pollEn, sizeof(pollEn)); gpsd_report(LOG_DATA, "NAVSOL: time=%.2f lat=%.2f lon=%.2f alt=%.2f speed=%.2f track=%.2f mode=%d status=%d visible=%d used=%d\n", session->newdata.time, session->newdata.latitude, session->newdata.longitude, session->newdata.altitude, session->newdata.speed, session->newdata.track, session->newdata.mode, session->gpsdata.status, session->gpsdata.satellites_used, session->gpsdata.satellites_visible); return mask; } /** * GPS Leap Seconds = UTC offset */ static gps_mask_t oncore_msg_utc_offset(struct gps_device_t *session, unsigned char *buf, size_t data_len) { int utc_offset; if (data_len != 8) return 0; gpsd_report(LOG_IO, "oncore UTCTIME - leap seconds\n"); utc_offset = (int)getub(buf, 4); if (utc_offset == 0) return 0; /* that part of almanac not received yet */ session->context->leap_seconds = utc_offset; session->context->valid |= LEAP_SECOND_VALID; return 0; /* no flag for leap seconds update */ } /** * PPS offset */ static gps_mask_t oncore_msg_pps_offset(struct gps_device_t *session, unsigned char *buf, size_t data_len) { int pps_offset_ns; if (data_len != 11) return 0; gpsd_report(LOG_IO, "oncore PPS offset\n"); pps_offset_ns = (int)getbes32(buf, 4); session->driver.oncore.pps_offset_ns = pps_offset_ns; return 0; } /** * GPS Satellite Info */ static gps_mask_t oncore_msg_svinfo(struct gps_device_t *session, unsigned char *buf, size_t data_len) { unsigned int i, nchan; unsigned int off; int sv, el, az; int j; if (data_len != 92) return 0; gpsd_report(LOG_IO, "oncore SVINFO - satellite data\n"); nchan = (unsigned int)getub(buf, 4); gpsd_report(LOG_IO, "oncore SVINFO - %d satellites:\n", nchan); /* Then we clamp the value to not read outside the table. */ if (nchan > 12) nchan = 12; session->driver.oncore.visible = (int)nchan; for (i = 0; i < nchan; i++) { /* get info for one channel/satellite */ off = 5 + 7 * i; sv = (int)getub(buf, off); el = (int)getub(buf, off + 3); az = (int)getbeu16(buf, off + 4); gpsd_report(LOG_IO, "%2d %2d %2d %3d\n", i, sv, el, az); /* Store for use when Ea messages come. */ session->driver.oncore.PRN[i] = sv; session->driver.oncore.elevation[i] = el; session->driver.oncore.azimuth[i] = az; /* If it has an entry in the satellite list, update it! */ for (j = 0; j < session->gpsdata.satellites_visible; j++) if (session->gpsdata.PRN[j] == sv) { session->gpsdata.elevation[j] = el; session->gpsdata.azimuth[j] = az; } } gpsd_report(LOG_DATA, "SVINFO: mask={SATELLITE}\n"); return SATELLITE_SET; } /** * GPS Time RAIM */ static gps_mask_t oncore_msg_time_raim(struct gps_device_t *session UNUSED, unsigned char *buf UNUSED, size_t data_len UNUSED) { int sawtooth_ns; if (data_len != 69) return 0; sawtooth_ns = (int)getub(buf, 25); gpsd_report(LOG_IO, "oncore PPS sawtooth: %d\n",sawtooth_ns); /* session->driver.oncore.traim_sawtooth_ns = sawtooth_ns; */ return 0; } /** * GPS Firmware */ static gps_mask_t oncore_msg_firmware(struct gps_device_t *session UNUSED, unsigned char *buf UNUSED, size_t data_len UNUSED) { return 0; } #define ONCTYPE(id2,id3) ((((unsigned int)id2)<<8)|(id3)) /** * Parse the data from the device */ /*@ +charint @*/ gps_mask_t oncore_dispatch(struct gps_device_t * session, unsigned char *buf, size_t len) { unsigned int type; if (len == 0) return 0; type = ONCTYPE(buf[2], buf[3]); /* we may need to dump the raw packet */ gpsd_report(LOG_RAW, "raw Oncore packet type 0x%04x\n", type); (void)snprintf(session->gpsdata.tag, sizeof(session->gpsdata.tag), "MOT-%c%c", type >> 8, type & 0xff); session->cycle_end_reliable = true; switch (type) { case ONCTYPE('B', 'b'): return oncore_msg_svinfo(session, buf, len); case ONCTYPE('E', 'a'): return oncore_msg_navsol(session, buf, len) | (CLEAR_IS | REPORT_IS); case ONCTYPE('E', 'n'): return oncore_msg_time_raim(session, buf, len); case ONCTYPE('C', 'j'): return oncore_msg_firmware(session, buf, len); case ONCTYPE('B', 'o'): return oncore_msg_utc_offset(session, buf, len); case ONCTYPE('A', 's'): return 0; /* position hold mode */ case ONCTYPE('A', 't'): return 0; /* position hold position */ case ONCTYPE('A', 'y'): return oncore_msg_pps_offset(session, buf, len); default: /* FIX-ME: This gets noisy in a hurry. Change once your driver works */ gpsd_report(LOG_WARN, "unknown packet id @@%c%c length %zd\n", type >> 8, type & 0xff, len); return 0; } } /*@ -charint @*/ /********************************************************** * * Externally called routines below here * **********************************************************/ /** * Write data to the device, doing any required padding or checksumming */ /*@ +charint -usedef -compdef @*/ static ssize_t oncore_control_send(struct gps_device_t *session, char *msg, size_t msglen) { size_t i; char checksum = 0; session->msgbuf[0] = '@'; session->msgbuf[1] = '@'; for (i = 0; i < msglen; i++) { checksum ^= session->msgbuf[i + 2] = msg[i]; } session->msgbuf[msglen + 2] = checksum; session->msgbuf[msglen + 3] = '\r'; session->msgbuf[msglen + 4] = '\n'; session->msgbuflen = msglen + 5; gpsd_report(LOG_IO, "writing oncore control type %c%c\n", msg[0], msg[1]); return gpsd_write(session, session->msgbuf, session->msgbuflen); } /*@ -charint +usedef +compdef @*/ static void oncore_event_hook(struct gps_device_t *session, event_t event) { if (session->context->readonly) return; /* * Some oncore VP variants that have not been used after long * power-down will be silent on startup. Provoke * identification by requesting the firmware version. */ if (event == event_wakeup) (void)oncore_control_send(session, getfirmware, sizeof(getfirmware)); /* * FIX-ME: It might not be necessary to call this on reactivate. * Experiment to see if the holds its settings through a close. */ if (event == event_identified || event == event_reactivate) { (void)oncore_control_send(session, enableEa, sizeof(enableEa)); (void)oncore_control_send(session, enableBb, sizeof(enableBb)); /*(void)oncore_control_send(session, enableEn, sizeof(enableEn)); */ /*(void)oncore_control_send(session,enableAt2,sizeof(enableAt2)); */ /*(void)oncore_control_send(session,pollAs,sizeof(pollAs)); */ (void)oncore_control_send(session, (char*)pollBo, sizeof(pollBo)); } } #ifdef NTPSHM_ENABLE static double oncore_ntp_offset(struct gps_device_t *session UNUSED) { /* * Only one sentence (NAVSOL) ships time. 0.175 seems best at * 9600 for UT+, not sure what the fudge should be at other baud * rates or for other models. */ return 0.175; } #endif /* NTPSHM_ENABLE */ #ifdef RECONFIGURE_ENABLE static bool oncore_set_speed(struct gps_device_t *session UNUSED, speed_t speed UNUSED, char parity UNUSED, int stopbits UNUSED) { /* * Set port operating mode, speed, parity, stopbits etc. here. * Note: parity is passed as 'N'/'E'/'O', but you should program * defensively and allow 0/1/2 as well. */ return false; } /* * Switch between NMEA and binary mode, if supported */ static void oncore_set_mode(struct gps_device_t *session, int mode) { if (mode == MODE_NMEA) { /* send the mode switch control string */ /* oncore_to_nmea(session->gpsdata.gps_fd,session->gpsdata.baudrate); */ session->gpsdata.dev.driver_mode = MODE_NMEA; /* * Anticipatory switching works only when the packet getter is the * generic one and it recognizes packets of the type this driver * is expecting. This should be the normal case. */ (void)gpsd_switch_driver(session, "Generic NMEA"); } else { session->back_to_nmea = false; session->gpsdata.dev.driver_mode = MODE_BINARY; } } #endif /* RECONFIGURE_ENABLE */ static gps_mask_t oncore_parse_input(struct gps_device_t *session) { gps_mask_t st; if (session->packet.type == ONCORE_PACKET) { st = oncore_dispatch(session, session->packet.outbuffer, session->packet.outbuflen); session->gpsdata.dev.driver_mode = MODE_BINARY; return st; #ifdef NMEA_ENABLE } else if (session->packet.type == NMEA_PACKET) { st = nmea_parse((char *)session->packet.outbuffer, session); session->gpsdata.dev.driver_mode = MODE_NMEA; return st; #endif /* NMEA_ENABLE */ } else return 0; } /* This is everything we export */ /* *INDENT-OFF* */ const struct gps_type_t oncore_binary = { .type_name = "oncore binary", /* Full name of type */ .packet_type = ONCORE_PACKET, /* numeric packet type */ .flags = DRIVER_NOFLAGS, /* no flags set */ .trigger = NULL, /* identifying response */ .channels = 12, /* device channel count */ .probe_detect = NULL, /* no probe */ .get_packet = generic_get, /* packet getter */ .parse_packet = oncore_parse_input, /* packet parser */ .rtcm_writer = gpsd_write, /* device accepts RTCM */ .event_hook = oncore_event_hook, /* lifetime event hook */ #ifdef RECONFIGURE_ENABLE .speed_switcher = oncore_set_speed, /* no speed setter */ .mode_switcher = oncore_set_mode, /* no mode setter */ .rate_switcher = NULL, /* no speed setter */ .min_cycle = 1, /* 1Hz */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE /* Control string sender - should provide checksum and headers/trailer */ .control_send = oncore_control_send, /* to send control strings */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = oncore_ntp_offset, /* NTP offset array */ #endif /* NTPSHM_ENABLE */ }; /* *INDENT-ON* */ #endif /* defined(ONCORE_ENABLE) && defined(BINARY_ENABLE) */ gpsd-3.9/driver_proto.c0000664000175000017500000004434312022345475013366 0ustar esresr/* * A prototype driver. Doesn't run, doesn't even compile. * * For new driver authors: replace "_PROTO_" and "_proto_" with the name of * your new driver. That will give you a skeleton with all the required * functions defined. * * Once that is done, you will likely have to define a large number of * flags and masks. From there, you will be able to start extracting * useful quantities. There are roughed-in decoders for the navigation * solution, satellite status and gps-utc offset. These are the 3 key * messages that gpsd needs. Some protocols transmit error estimates * separately from the navigation solution; if developing a driver for * such a protocol you will need to add a decoder function for that * message. Be extra careful when using sizeof() to extract part * of packets (ie. don't do it). This idiom creates portability problems * between 32 and 64 bit systems. * * For anyone hacking this driver skeleton: "_PROTO_" and "_proto_" are now * reserved tokens. We suggest that they only ever be used as prefixes, * but if they are used infix, they must be used in a way that allows a * driver author to find-and-replace to create a unique namespace for * driver functions. * * If using vi, ":%s/_PROTO_/MYDRIVER/g" and ":%s/_proto_/mydriver/g" * should produce a source file that comes very close to being useful. * You will also need to add hooks for your new driver to: * SConstruct * drivers.c * gpsd.h-tail * libgpsd_core.c * packet.c * packet_states.h * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #if defined(_PROTO__ENABLE) && defined(BINARY_ENABLE) #include "bits.h" static gps_mask_t _proto__parse_input(struct gps_device_t *); static gps_mask_t _proto__dispatch(struct gps_device_t *, unsigned char *, size_t ); static gps_mask_t _proto__msg_navsol(struct gps_device_t *, unsigned char *, size_t ); static gps_mask_t _proto__msg_utctime(struct gps_device_t *, unsigned char *, size_t ); static gps_mask_t _proto__msg_svinfo(struct gps_device_t *, unsigned char *, size_t ); static gps_mask_t _proto__msg_raw(struct gps_device_t *, unsigned char *, size_t ); /* * These methods may be called elsewhere in gpsd */ static ssize_t _proto__control_send(struct gps_device_t *, char *, size_t); static bool _proto__probe_detect(struct gps_device_t *); static void _proto__event_hook(struct gps_device_t *, event_t); static bool _proto__set_speed(struct gps_device_t *, speed_t, char, int); static void _proto__set_mode(struct gps_device_t *, int); /* * Decode the navigation solution message */ static gps_mask_t _proto__msg_navsol(struct gps_device_t *session, unsigned char *buf, size_t data_len) { gps_mask_t mask; int flags; double Px, Py, Pz, Vx, Vy, Vz; if (data_len != _PROTO__NAVSOL_MSG_LEN) return 0; gpsd_report(LOG_IO, "_proto_ NAVSOL - navigation data\n"); /* if this protocol has a way to test message validity, use it */ flags = GET_FLAGS(); if ((flags & _PROTO__SOLUTION_VALID) == 0) return 0; mask = ONLINE_SET; /* extract ECEF navigation solution here */ /* or extract the local tangential plane (ENU) solution */ [Px, Py, Pz, Vx, Vy, Vz] = GET_ECEF_FIX(); ecef_to_wgs84fix(&session->newdata, &session->gpsdata.separation, Px, Py, Pz, Vx, Vy, Vz); mask |= LATLON_SET | ALTITUDE_SET | SPEED_SET | TRACK_SET | CLIMB_SET ; session->newdata.epx = GET_LONGITUDE_ERROR(); session->newdata.epy = GET_LATITUDE_ERROR(); session->newdata.eps = GET_SPEED_ERROR(); session->gpsdata.satellites_used = GET_SATELLITES_USED(); /* * Do *not* clear DOPs in a navigation solution message; * instead, opportunistically pick up whatever it gives * us and replace whatever values we computed from the * visibility matrix for he last skyview. The reason to trust * the chip returns over what we compute is that some * chips have internal deweighting albums to throw out sats * that increase DOP. */ session->gpsdata.dop.hdop = GET_HDOP(); session->gpsdata.dop.vdop = GET_VDOP(); /* other DOP if available */ mask |= DOP_SET; session->newdata.mode = GET_FIX_MODE(); session->gpsdata.status = GET_FIX_STATUS(); /* * Mix in CLEAR_IS to clue the daemon in about when to clear fix * information. Mix in REPORT_IS when the sentence is reliably * the last in a reporting cycle. */ mask |= MODE_SET | STATUS_SET | REPORT_IS; /* * At the end of each packet-cracking function, report at LOG_DATA level * the fields it potentially set and the transfer mask. Doing this * makes it relatively easy to track down data-management problems. */ gpsd_report(LOG_DATA, "NAVSOL: time=%.2f, lat=%.2f lon=%.2f alt=%.2f mode=%d status=%d\n", session->newdata.time, session->newdata.latitude, session->newdata.longitude, session->newdata.altitude, session->newdata.mode, session->gpsdata.status); return mask; } /** * GPS Leap Seconds */ static gps_mask_t _proto__msg_utctime(struct gps_device_t *session, unsigned char *buf, size_t data_len) { double t; if (data_len != UTCTIME_MSG_LEN) return 0; gpsd_report(LOG_IO, "_proto_ UTCTIME - navigation data\n"); /* if this protocol has a way to test message validity, use it */ flags = GET_FLAGS(); if ((flags & _PROTO__TIME_VALID) == 0) return 0; tow = GET_MS_TIMEOFWEEK(); gps_week = GET_WEEKNUMBER(); session->context->leap_seconds = GET_GPS_LEAPSECONDS(); session->newdata.time = gpsd_gpstime_resolve(session, gps_week, tow / 1000.0); return TIME_SET | PPSTIME_IS | ONLINE_SET; } /** * GPS Satellite Info */ static gps_mask_t _proto__msg_svinfo(struct gps_device_t *session, unsigned char *buf, size_t data_len) { unsigned char i, st, nchan, nsv; unsigned int tow; if (data_len != SVINFO_MSG_LEN ) return 0; gpsd_report(LOG_IO, "_proto_ SVINFO - navigation data\n"); /* if this protocol has a way to test message validity, use it */ flags = GET_FLAGS(); if ((flags & _PROTO__SVINFO_VALID) == 0) return 0; /* * some protocols have a variable length message listing only visible * satellites, even if there are less than the number of channels. others * have a fixed length message and send empty records for idle channels * that are not tracking or searching. whatever the case, nchan should * be set to the number of satellites which might be visible. */ nchan = GET_NUMBER_OF_CHANNELS(); if ((nchan < 1) || (nchan > MAXCHANNELS)) { gpsd_report(LOG_INF, "too many channels reported\n"); return 0; } gpsd_zero_satellites(&session->gpsdata); nsv = 0; /* number of actually used satellites */ for (i = st = 0; i < nchan; i++) { /* get info for one channel/satellite */ int off = GET_CHANNEL_STATUS(i); session->gpsdata.PRN[i] = PRN_THIS_CHANNEL_IS_TRACKING(i); session->gpsdata.ss[i] = (float)SIGNAL_STRENGTH_FOR_CHANNEL(i); session->gpsdata.elevation[i] = SV_ELEVATION_FOR_CHANNEL(i); session->gpsdata.azimuth[i] = SV_AZIMUTH_FOR_CHANNEL(i); if (CHANNEL_USED_IN_SOLUTION(i)) session->gpsdata.used[nsv++] = session->gpsdata.PRN[i]; if(session->gpsdata.PRN[i]) st++; } /* if the satellite-info setence gives you UTC time, use it */ session->gpsdata.skyview_time = NaN; session->gpsdata.satellites_used = nsv; session->gpsdata.satellites_visible = st; gpsd_report(LOG_DATA, "SVINFO: visible=%d used=%d mask={SATELLITE|USED}\n", session->gpsdata.satellites_visible, session->gpsdata.satellites_used); return SATELLITE_SET | USED_IS; } /** * Raw measurements */ static gps_mask_t _proto__msg_raw(struct gps_device_t *session, unsigned char *buf, size_t data_len) { unsigned char i, st, nchan, nsv; unsigned int tow; if (data_len != RAW_MSG_LEN ) return 0; gpsd_report(LOG_IO, "_proto_ RAW - raw measurements\n"); /* if this protocol has a way to test message validity, use it */ flags = GET_FLAGS(); if ((flags & _PROTO__SVINFO_VALID) == 0) return 0; /* * not all chipsets emit the same information. some of these observables * can be easily converted into others. these are suggestions for the * quantities you may wish to try extract. chipset documentation may say * something like "this message contains information required to generate * a RINEX file." assign NAN for unavailable data. */ nchan = GET_NUMBER_OF_CHANNELS(); if ((nchan < 1) || (nchan > MAXCHANNELS)) { gpsd_report(LOG_INF, "too many channels reported\n"); return 0; } for (i = 0; i < n; i++){ session->gpsdata.PRN[i] = GET_PRN(); session->gpsdata.ss[i] = GET_SIGNAL() session->gpsdata.raw.satstat[i] = GET_FLAGS(); session->gpsdata.raw.pseudorange[i] = GET_PSEUDORANGE(); session->gpsdata.raw.doppler[i] = GET_DOPPLER(); session->gpsdata.raw.carrierphase[i] = GET_CARRIER_PHASE(); session->gpsdata.raw.mtime[i] = GET_MEASUREMENT_TIME(); session->gpsdata.raw.codephase[i] = GET_CODE_PHASE(); session->gpsdata.raw.deltarange[i] = GET_DELTA_RANGE(); } return RAW_IS; } /** * Parse the data from the device */ /*@ +charint @*/ gps_mask_t _proto__dispatch(struct gps_device_t *session, unsigned char *buf, size_t len) { size_t i; int type, used, visible, retmask = 0; if (len == 0) return 0; /* * Set this if the driver reliably signals end of cycle. * The core library zeroes it just before it calls each driver's * packet analyzer. */ session->cycle_end_reliable = true; if (msgid == MY_START_OF_CYCLE) retmask |= CLEAR_IS; else if (msgid == MY_END_OF_CYCLE) retmask |= REPORT_IS; type = GET_MESSAGE_TYPE(); /* we may need to dump the raw packet */ gpsd_report(LOG_RAW, "raw _proto_ packet type 0x%02x\n", type); /* * The tag field is only 8 bytes; be careful you do not overflow. * Using an abbreviation (eg. "italk" -> "itk") may be useful. */ (void)snprintf(session->gpsdata.tag, sizeof(session->gpsdata.tag), "_PROTO_%02x", type); switch (type) { /* Deliver message to specific decoder based on message type */ default: gpsd_report(LOG_WARN, "unknown packet id %d length %d\n", type, len); return 0; } } /*@ -charint @*/ /********************************************************** * * Externally called routines below here * **********************************************************/ static bool _proto__probe_detect(struct gps_device_t *session) { /* * This method is used to elicit a positively identifying * response from a candidate device. Some drivers may use * this to test for the presence of a certain kernel module. */ int test, satisfied; /* Your testing code here */ test=satisfied=0; if (test==satisfied) return true; return false; } #ifdef CONTROLSEND_ENABLE /** * Write data to the device, doing any required padding or checksumming */ /*@ +charint -usedef -compdef @*/ static ssize_t _proto__control_send(struct gps_device_t *session, char *msg, size_t msglen) { bool ok; /* CONSTRUCT THE MESSAGE */ /* * This copy to a public assembly buffer * enables gpsmon to snoop the control message * after it has been sent. */ session->msgbuflen = msglen; (void)memcpy(session->msgbuf, msg, msglen); /* we may need to dump the message */ return gpsd_write(session, session->msgbuf, session->msgbuflen); gpsd_report(LOG_IO, "writing _proto_ control type %02x\n"); return gpsd_write(session, session->msgbuf, session->msgbuflen); } /*@ -charint +usedef +compdef @*/ #endif /* CONTROLSEND_ENABLE */ #ifdef RECONFIGURE_ENABLE static void _proto__event_hook(struct gps_device_t *session, event_t event) { if (session->context->readonly) return; if (event == event_wakeup) { /* * Code to make the device ready to communicate. Only needed if the * device is in some kind of sleeping state, and only shipped to * RS232C, so that gpsd won't send strings to unidentified USB devices * that might not be GPSes at all. */ } if (event == event_identified) { /* * Fires when the first full packet is recognized from a * previously unidentified device. The session packet counter * is zeroed. If your device has a default cycle time other * than 1 second, set session->device->gpsdata.cycle here. If * possible, get the software version and store it in * session->subtype. */ } if (event == event_configure) { /* * Change sentence mix and set reporting modes as needed. * Called immediately after event_identified fires, then just * after every packet received thereafter, but you probably * only want to take actions on the first few packets after * the session packet counter has been zeroed, * * Remember that session->packet.counter is available when you * write this hook; you can use this fact to interleave configuration * sends with the first few packet reads, which is useful for * devices with small receive buffers. */ } else if (event == event_driver_switch) { /* * Fires when the driver on a device is changed *after* it * has been identified. */ } else if (event == event_deactivate) { /* * Fires when the device is deactivated. Usr this to revert * whatever was done at event_identify and event_configure * time. */ } else if (event == event_reactivate) { /* * Fires when a device is reactivated after having been closed. * Use this hook for re-establishing device settings that * it doesn't hold through closes. */ } } /* * This is the entry point to the driver. When the packet sniffer recognizes * a packet for this driver, it calls this method which passes the packet to * the binary processor or the nmea processor, depending on the session type. */ static gps_mask_t _proto__parse_input(struct gps_device_t *session) { gps_mask_t st; if (session->packet.type == _PROTO__PACKET) { st = _proto__dispatch(session, session->packet.outbuffer, session->packet.outbuflen); session->gpsdata.driver_mode = MODE_BINARY; return st; #ifdef NMEA_ENABLE } else if (session->packet.type == NMEA_PACKET) { st = nmea_parse((char *)session->packet.outbuffer, session); session->gpsdata.driver_mode = MODE_NMEA; return st; #endif /* NMEA_ENABLE */ } else return 0; } static bool _proto__set_speed(struct gps_device_t *session, speed_t speed, char parity, int stopbits) { /* * Set port operating mode, speed, parity, stopbits etc. here. * Note: parity is passed as 'N'/'E'/'O', but you should program * defensively and allow 0/1/2 as well. */ } /* * Switch between NMEA and binary mode, if supported */ static void _proto__set_mode(struct gps_device_t *session, int mode) { if (mode == MODE_NMEA) { // _proto__to_nmea(session->gpsdata.gps_fd,session->gpsdata.baudrate); /* send the mode switch control string */ session->gpsdata.driver_mode = MODE_NMEA; /* * Anticipatory switching works only when the packet getter is the * generic one and it recognizes packets of the type this driver * is expecting. This should be the normal case. */ (void)gpsd_switch_driver(session, "Generic NMEA"); } else { session->back_to_nmea = false; session->gpsdata.driver_mode = MODE_BINARY; } } #endif /* RECONFIGURE_ENABLE */ #ifdef NTPSHM_ENABLE static double _proto_ntp_offset(struct gps_device_t *session) { /* * If NTP notification is enabled, the GPS will occasionally NTP * its notion of the time. This will lag behind actual time by * some amount which has to be determined by observation vs. (say * WWVB radio broadcasts) and, furthermore, may differ by baud * rate. This method is for computing the NTP fudge factor. If * it's absent, an offset of 0.0 will be assumed, effectively * falling back on what's in ntp.conf. When it returns NAN, * nothing will be sent to NTP. */ return MAGIC_CONSTANT; } #endif /* NTPSHM_ENABLE */ static void _proto__wrapup(struct gps_device_t *session) { } /* The methods in this code take parameters and have */ /* return values that conform to the requirements AT */ /* THE TIME THE CODE WAS WRITTEN. */ /* */ /* These values may well have changed by the time */ /* you read this and methods could have been added */ /* or deleted. Unused methods can be set to NULL. */ /* */ /* The latest version can be found by inspecting */ /* the contents of struct gps_type_t in gpsd.h. */ /* */ /* This always contains the correct definitions that */ /* any driver must use to compile. */ /* This is everything we export */ /* *INDENT-OFF* */ const struct gps_type_t _proto__binary = { /* Full name of type */ .type_name = "_proto_ binary", /* Associated lexer packet type */ .packet_type = _PROTO__PACKET, /* Driver tyoe flags */ .flags = DRIVER_NOFLAGS, /* Response string that identifies device (not active) */ .trigger = NULL, /* Number of satellite channels supported by the device */ .channels = 12, /* Startup-time device detector */ .probe_detect = _proto__probe_detect, /* Packet getter (using default routine) */ .get_packet = generic_get, /* Parse message packets */ .parse_packet = _proto__parse_input, /* RTCM handler (using default routine) */ .rtcm_writer = pass_rtcm, /* fire on various lifetime events */ .event_hook = _proto__event_hook, #ifdef RECONFIGURE_ENABLE /* Speed (baudrate) switch */ .speed_switcher = _proto__set_speed, /* Switch to NMEA mode */ .mode_switcher = _proto__set_mode, /* Message delivery rate switcher (not active) */ .rate_switcher = NULL, /* Minimum cycle time of the device */ .min_cycle = 1, #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE /* Control string sender - should provide checksum and headers/trailer */ .control_send = _proto__control_send, #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = _proto_ntp_offset, #endif /* NTPSHM_ENABLE */ /* *INDENT-ON* */ }; #endif /* defined(_PROTO__ENABLE) && defined(BINARY_ENABLE) */ gpsd-3.9/driver_rtcm2.c0000664000175000017500000006317311762140435013253 0ustar esresr/***************************************************************************** This is a decoder for RTCM-104 2.x, an obscure and complicated serial protocol used for broadcasting pseudorange corrections from differential-GPS reference stations. The applicable standard is RTCM RECOMMENDED STANDARDS FOR DIFFERENTIAL GNSS (GLOBAL NAVIGATION SATELLITE) SERVICE, VERSION 2.3 (RTCM PAPER 136-2001/SC104-STD) Ordering instructions are accessible from under "Publications". This describes version 2.3 of the RTCM specification. RTCM-104 was later completely redesigned as level 3.0. Also applicable is ITU-R M.823: "Technical characteristics of differential transmissions for global navigation satellite systems from maritime radio beacons in the frequency band 283.5 - 315 kHz in region 1 and 285 - 325 kHz in regions 2 & 3." The RTCM 2.x protocol uses as a transport layer the GPS satellite downlink protocol described in IS-GPS-200, the Navstar GPS Interface Specification. This code relies on the lower-level packet-assembly code for that protocol in isgps.c. The lower layer's job is done when it has assembled a message of up to 33 30-bit words of clean parity-checked data. At this point this upper layer takes over. struct rtcm2_msg_t is overlaid on the buffer and the bitfields are used to extract pieces of it. Those pieces are copied and (where necessary) reassembled into a struct rtcm2_t. This code and the contents of isgps.c are evolved from code by Wolfgang Rupprecht. Wolfgang's decoder was loosely based on one written by John Sager in 1999. Here are John Sager's original notes: The RTCM decoder prints a legible representation of the input data. The RTCM SC-104 specification is copyrighted, so I cannot quote it - in fact, I have never read it! Most of the information used to develop the decoder came from publication ITU-R M.823. This is a specification of the data transmitted from LF DGPS beacons in the 300kHz band. M.823 contains most of those parts of RTCM SC-104 directly relevant to the air interface (there are one or two annoying and vital omissions!). Information about the serial interface format was gleaned from studying the output of a beacon receiver test program made available on Starlink's website. This code has been checked against ASCII dumps made by a proprietary decoder running under Windows and is known to be consistent with it with respect to message types 1, 3, 9, 14, 16, and 31. Decoding of message types 4, 5, 6, 7, and 13 has not been checked. Message types 8, 10-12, 15-27, 28-30 (undefined), 31-37, 38-58 (undefined), and 60-63 are not yet supported. This file is Copyright (c) 2010 by the GPSD project BSD terms apply: see the file COPYING in the distribution root for details. *****************************************************************************/ #include #include #include "gpsd.h" /* * Structures for interpreting words in an RTCM-104 2.x message (after * parity checking and removing inversion). Note, these structures * are overlayed on the raw data in order to decode them into * bitfields; this will fail horribly if your C compiler introduces * padding between or before bit fields, or between 8-bit-aligned * bitfields and character arrays despite #pragma pack(1). The right * things happen under gcc 4.x on amd64, i386, ia64, all arm and mips * variants, m68k, and powerpc) * * (In practice, the only class of machines on which this is likely * to fail are word-aligned architectures without barrel shifters. * Very few of these are left in 2012. By test, we know of s390, s390x, * and sparc.) * * The RTCM 2.1 standard is less explicit than it should be about signed-integer * representations. Two's complement is specified for some but not all. */ #define ZCOUNT_SCALE 0.6 /* sec */ #define PRCSMALL 0.02 /* meters */ #define PRCLARGE 0.32 /* meters */ #define RRSMALL 0.002 /* meters/sec */ #define RRLARGE 0.032 /* meters/sec */ #define MAXPCSMALL (0x7FFF * PCSMALL) /* 16-bits signed */ #define MAXRRSMALL (0x7F * RRSMALL) /* 8-bits signed */ #define XYZ_SCALE 0.01 /* meters */ #define DXYZ_SCALE 0.1 /* meters */ #define LA_SCALE (90.0/32767.0) /* degrees */ #define LO_SCALE (180.0/32767.0) /* degrees */ #define FREQ_SCALE 0.1 /* kHz */ #define FREQ_OFFSET 190.0 /* kHz */ #define CNR_OFFSET 24 /* dB */ #define TU_SCALE 5 /* minutes */ #define LATLON_SCALE 0.01 /* degrees */ #define RANGE_SCALE 4 /* kilometers */ #pragma pack(1) /* * Reminder: Emacs reverse-region is useful... */ #ifndef WORDS_BIGENDIAN /* little-endian, like x86 */ struct rtcm2_msg_t { struct rtcm2_msghw1 { /* header word 1 */ uint parity:6; uint refstaid:10; /* reference station ID */ uint msgtype:6; /* RTCM message type */ uint preamble:8; /* fixed at 01100110 */ uint _pad:2; } w1; struct rtcm2_msghw2 { /* header word 2 */ uint parity:6; uint stathlth:3; /* station health */ uint frmlen:5; uint sqnum:3; uint zcnt:13; uint _pad:2; } w2; union { /* msg 1 - differential gps corrections */ struct rtcm2_msg1 { struct gps_correction_t { struct { /* msg 1 word 3 */ uint parity:6; int prc1:16; uint satident1:5; /* satellite ID */ uint udre1:2; uint scale1:1; uint _pad:2; } w3; struct { /* msg 1 word 4 */ uint parity:6; uint satident2:5; /* satellite ID */ uint udre2:2; uint scale2:1; uint iod1:8; int rrc1:8; uint _pad:2; } w4; struct { /* msg 1 word 5 */ uint parity:6; int rrc2:8; int prc2:16; uint _pad:2; } w5; struct { /* msg 1 word 6 */ uint parity:6; int prc3_h:8; uint satident3:5; /* satellite ID */ uint udre3:2; uint scale3:1; uint iod2:8; uint _pad:2; } w6; struct { /* msg 1 word 7 */ uint parity:6; uint iod3:8; int rrc3:8; uint prc3_l:8; /* NOTE: uint for low byte */ uint _pad:2; } w7; } corrections[(RTCM2_WORDS_MAX - 2) / 5]; } type1; /* msg 3 - reference station parameters */ struct rtcm2_msg3 { struct { uint parity:6; uint x_h:24; uint _pad:2; } w3; struct { uint parity:6; uint y_h:16; uint x_l:8; uint _pad:2; } w4; struct { uint parity:6; uint z_h:8; uint y_l:16; uint _pad:2; } w5; struct { uint parity:6; uint z_l:24; uint _pad:2; } w6; } type3; /* msg 4 - reference station datum */ struct rtcm2_msg4 { struct { uint parity:6; uint datum_alpha_char2:8; uint datum_alpha_char1:8; uint spare:4; uint dat:1; uint dgnss:3; uint _pad:2; } w3; struct { uint parity:6; uint datum_sub_div_char2:8; uint datum_sub_div_char1:8; uint datum_sub_div_char3:8; uint _pad:2; } w4; struct { uint parity:6; uint dy_h:8; uint dx:16; uint _pad:2; } w5; struct { uint parity:6; uint dz:24; uint dy_l:8; uint _pad:2; } w6; } type4; /* msg 5 - constellation health */ struct rtcm2_msg5 { struct b_health_t { uint parity:6; uint unassigned:2; uint time_unhealthy:4; uint loss_warn:1; uint new_nav_data:1; uint health_enable:1; uint cn0:5; uint data_health:3; uint issue_of_data_link:1; uint sat_id:5; uint reserved:1; uint _pad:2; } health[MAXHEALTH]; } type5; /* msg 6 - null message */ /* msg 7 - beacon almanac */ struct rtcm2_msg7 { struct b_station_t { struct { uint parity:6; int lon_h:8; int lat:16; uint _pad:2; } w3; struct { uint parity:6; uint freq_h:6; uint range:10; uint lon_l:8; uint _pad:2; } w4; struct { uint parity:6; uint encoding:1; uint sync_type:1; uint mod_mode:1; uint bit_rate:3; /* * ITU-R M.823-2 page 9 and RTCM-SC104 v2.1 pages * 4-21 and 4-22 are in conflict over the next two * field sizes. ITU says 9+3, RTCM says 10+2. * The latter correctly decodes the USCG station * id's so I'll use that one here. -wsr */ uint station_id:10; uint health:2; uint freq_l:6; uint _pad:2; } w5; } almanac[(RTCM2_WORDS_MAX - 2)/3]; } type7; /* msg 13 - Ground Transmitter Parameters (RTCM2.3 only) */ struct rtcm2_msg13 { struct { uint parity:6; int lat:16; uint reserved:6; uint rangeflag:1; uint status:1; uint _pad:2; } w1; struct { uint parity:6; uint range:8; int lon:16; uint _pad:2; } w2; } type13; /* msg 14 - GPS Time of Week (RTCM2.3 only) */ struct rtcm2_msg14 { struct { uint parity:6; uint leapsecs:6; uint hour:8; uint week:10; uint _pad:2; } w1; } type14; /* msg 16 - text msg */ struct rtcm2_msg16 { struct { uint parity:6; uint byte3:8; uint byte2:8; uint byte1:8; uint _pad:2; } txt[RTCM2_WORDS_MAX-2]; } type16; /* msg 31 - differential GLONASS corrections */ struct rtcm2_msg31 { struct glonass_correction_t { struct { /* msg 1 word 3 */ uint parity:6; int prc1:16; uint satident1:5; /* satellite ID */ uint udre1:2; uint scale1:1; uint _pad:2; } w3; struct { /* msg 1 word 4 */ uint parity:6; uint satident2:5; /* satellite ID */ uint udre2:2; uint scale2:1; uint tod1:7; uint change1:1; int rrc1:8; uint _pad:2; } w4; struct { /* msg 1 word 5 */ uint parity:6; int rrc2:8; int prc2:16; uint _pad:2; } w5; struct { /* msg 1 word 6 */ uint parity:6; int prc3_h:8; uint satident3:5; /* satellite ID */ uint udre3:2; uint scale3:1; uint tod2:7; uint change2:1; uint _pad:2; } w6; struct { /* msg 1 word 7 */ uint parity:6; uint tod3:7; uint change3:1; int rrc3:8; uint prc3_l:8; /* NOTE: uint for low byte */ uint _pad:2; } w7; } corrections[(RTCM2_WORDS_MAX - 2) / 5]; } type31; /* unknown message */ isgps30bits_t rtcm2_msgunk[RTCM2_WORDS_MAX-2]; } msg_type; }; #endif /* LITTLE_ENDIAN */ #ifdef WORDS_BIGENDIAN #ifndef S_SPLINT_S /* splint thinks it's a duplicate definition */ struct rtcm2_msg_t { struct rtcm2_msghw1 { /* header word 1 */ uint _pad:2; uint preamble:8; /* fixed at 01100110 */ uint msgtype:6; /* RTCM message type */ uint refstaid:10; /* reference station ID */ uint parity:6; } w1; struct rtcm2_msghw2 { /* header word 2 */ uint _pad:2; uint zcnt:13; uint sqnum:3; uint frmlen:5; uint stathlth:3; /* station health */ uint parity:6; } w2; union { /* msg 1 - differential GPS corrections */ struct rtcm2_msg1 { struct gps_correction_t { struct { /* msg 1 word 3 */ uint _pad:2; uint scale1:1; uint udre1:2; uint satident1:5; /* satellite ID */ int prc1:16; uint parity:6; } w3; struct { /* msg 1 word 4 */ uint _pad:2; int rrc1:8; uint iod1:8; uint scale2:1; uint udre2:2; uint satident2:5; /* satellite ID */ uint parity:6; } w4; struct { /* msg 1 word 5 */ uint _pad:2; int prc2:16; int rrc2:8; uint parity:6; } w5; struct { /* msg 1 word 6 */ uint _pad:2; uint iod2:8; uint scale3:1; uint udre3:2; uint satident3:5; /* satellite ID */ int prc3_h:8; uint parity:6; } w6; struct { /* msg 1 word 7 */ uint _pad:2; uint prc3_l:8; /* NOTE: uint for low byte */ int rrc3:8; uint iod3:8; uint parity:6; } w7; } corrections[(RTCM2_WORDS_MAX - 2) / 5]; } type1; /* msg 3 - reference station parameters */ struct rtcm2_msg3 { struct { uint _pad:2; uint x_h:24; uint parity:6; } w3; struct { uint _pad:2; uint x_l:8; uint y_h:16; uint parity:6; } w4; struct { uint _pad:2; uint y_l:16; uint z_h:8; uint parity:6; } w5; struct { uint _pad:2; uint z_l:24; uint parity:6; } w6; } type3; /* msg 4 - reference station datum */ struct rtcm2_msg4 { struct { uint _pad:2; uint dgnss:3; uint dat:1; uint spare:4; uint datum_alpha_char1:8; uint datum_alpha_char2:8; uint parity:6; } w3; struct { uint _pad:2; uint datum_sub_div_char3:8; uint datum_sub_div_char1:8; uint datum_sub_div_char2:8; uint parity:6; } w4; struct { uint _pad:2; uint dx:16; uint dy_h:8; uint parity:6; } w5; struct { uint _pad:2; uint dy_l:8; uint dz:24; uint parity:6; } w6; } type4; /* msg 5 - constellation health */ struct rtcm2_msg5 { struct b_health_t { uint _pad:2; uint reserved:1; uint sat_id:5; uint issue_of_data_link:1; uint data_health:3; uint cn0:5; uint health_enable:1; uint new_nav_data:1; uint loss_warn:1; uint time_unhealthy:4; uint unassigned:2; uint parity:6; } health[MAXHEALTH]; } type5; /* msg 6 - null message */ /* msg 7 - beacon almanac */ struct rtcm2_msg7 { struct b_station_t { struct { uint _pad:2; int lat:16; int lon_h:8; uint parity:6; } w3; struct { uint _pad:2; uint lon_l:8; uint range:10; uint freq_h:6; uint parity:6; } w4; struct { uint _pad:2; uint freq_l:6; uint health:2; uint station_id:10; /* see comments in LE struct above. */ uint bit_rate:3; uint mod_mode:1; uint sync_type:1; uint encoding:1; uint parity:6; } w5; } almanac[(RTCM2_WORDS_MAX - 2)/3]; } type7; /* msg 13 - Ground Transmitter Parameters (RTCM2.3 only) */ struct rtcm2_msg13 { struct { uint _pad:2; uint status:1; uint rangeflag:1; uint reserved:6; int lat:16; uint parity:6; } w1; struct { uint _pad:2; int lon:16; uint range:8; uint parity:6; } w2; } type13; /* msg 14 - GPS Time of Week (RTCM2.3 only) */ struct rtcm2_msg14 { struct { uint _pad:2; uint week:10; uint hour:8; uint leapsecs:6; uint parity:6; } w1; } type14; /* msg 16 - text msg */ struct rtcm2_msg16 { struct { uint _pad:2; uint byte1:8; uint byte2:8; uint byte3:8; uint parity:6; } txt[RTCM2_WORDS_MAX-2]; } type16; /* msg 31 - differential GLONASS corrections */ struct rtcm2_msg31 { struct glonass_correction_t { struct { /* msg 1 word 3 */ uint _pad:2; uint scale1:1; uint udre1:2; uint satident1:5; /* satellite ID */ int prc1:16; uint parity:6; } w3; struct { /* msg 1 word 4 */ uint _pad:2; int rrc1:8; uint change1:1; uint tod1:7; uint scale2:1; uint udre2:2; uint satident2:5; /* satellite ID */ uint parity:6; } w4; struct { /* msg 1 word 5 */ uint _pad:2; int prc2:16; int rrc2:8; uint parity:6; } w5; struct { /* msg 1 word 6 */ uint _pad:2; uint change2:1; uint tod2:7; uint scale3:1; uint udre3:2; uint satident3:5; /* satellite ID */ int prc3_h:8; uint parity:6; } w6; struct { /* msg 1 word 7 */ uint _pad:2; uint prc3_l:8; /* NOTE: uint for low byte */ int rrc3:8; uint change3:1; uint tod3:7; uint parity:6; } w7; } corrections[(RTCM2_WORDS_MAX - 2) / 5]; } type31; /* unknown message */ isgps30bits_t rtcm2_msgunk[RTCM2_WORDS_MAX-2]; } msg_type; }; #endif /* S_SPLINT_S */ #endif /* BIG ENDIAN */ #ifdef RTCM104V2_ENABLE #define PREAMBLE_PATTERN 0x66 static unsigned int tx_speed[] = { 25, 50, 100, 110, 150, 200, 250, 300 }; #define DIMENSION(a) (unsigned)(sizeof(a)/sizeof(a[0])) void rtcm2_unpack( /*@out@*/ struct rtcm2_t *tp, char *buf) /* break out the raw bits into the content fields */ { int len; unsigned int n, w; struct rtcm2_msg_t *msg = (struct rtcm2_msg_t *)buf; tp->type = msg->w1.msgtype; tp->length = msg->w2.frmlen; tp->zcount = msg->w2.zcnt * ZCOUNT_SCALE; tp->refstaid = msg->w1.refstaid; tp->seqnum = msg->w2.sqnum; tp->stathlth = msg->w2.stathlth; len = (int)tp->length; n = 0; switch (tp->type) { case 1: case 9: { struct gps_correction_t *m = &msg->msg_type.type1.corrections[0]; while (len >= 0) { if (len >= 2) { tp->gps_ranges.sat[n].ident = m->w3.satident1; tp->gps_ranges.sat[n].udre = m->w3.udre1; tp->gps_ranges.sat[n].iod = m->w4.iod1; tp->gps_ranges.sat[n].prc = m->w3.prc1 * (m->w3.scale1 ? PRCLARGE : PRCSMALL); tp->gps_ranges.sat[n].rrc = m->w4.rrc1 * (m->w3.scale1 ? RRLARGE : RRSMALL); n++; } if (len >= 4) { tp->gps_ranges.sat[n].ident = m->w4.satident2; tp->gps_ranges.sat[n].udre = m->w4.udre2; tp->gps_ranges.sat[n].iod = m->w6.iod2; tp->gps_ranges.sat[n].prc = m->w5.prc2 * (m->w4.scale2 ? PRCLARGE : PRCSMALL); tp->gps_ranges.sat[n].rrc = m->w5.rrc2 * (m->w4.scale2 ? RRLARGE : RRSMALL); n++; } if (len >= 5) { tp->gps_ranges.sat[n].ident = m->w6.satident3; tp->gps_ranges.sat[n].udre = m->w6.udre3; tp->gps_ranges.sat[n].iod = m->w7.iod3; /*@ -shiftimplementation @*/ tp->gps_ranges.sat[n].prc = ((m->w6.prc3_h << 8) | (m->w7.prc3_l)) * (m->w6.scale3 ? PRCLARGE : PRCSMALL); tp->gps_ranges.sat[n].rrc = m->w7.rrc3 * (m->w6.scale3 ? RRLARGE : RRSMALL); /*@ +shiftimplementation @*/ n++; } len -= 5; m++; } tp->gps_ranges.nentries = n; } break; case 3: { struct rtcm2_msg3 *m = &msg->msg_type.type3; if ((tp->ecef.valid = len >= 4)) { tp->ecef.x = ((m->w3.x_h << 8) | (m->w4.x_l)) * XYZ_SCALE; tp->ecef.y = ((m->w4.y_h << 16) | (m->w5.y_l)) * XYZ_SCALE; tp->ecef.z = ((m->w5.z_h << 24) | (m->w6.z_l)) * XYZ_SCALE; } } break; case 4: if ((tp->reference.valid = len >= 2)) { struct rtcm2_msg4 *m = &msg->msg_type.type4; tp->reference.system = (m->w3.dgnss == 0) ? NAVSYSTEM_GPS : ((m->w3.dgnss == 1) ? NAVSYSTEM_GLONASS : NAVSYSTEM_UNKNOWN); tp->reference.sense = (m->w3.dat != 0) ? SENSE_GLOBAL : SENSE_LOCAL; if (m->w3.datum_alpha_char1) { tp->reference.datum[n++] = (char)(m->w3.datum_alpha_char1); } if (m->w3.datum_alpha_char2) { tp->reference.datum[n++] = (char)(m->w3.datum_alpha_char2); } if (m->w4.datum_sub_div_char1) { tp->reference.datum[n++] = (char)(m->w4.datum_sub_div_char1); } if (m->w4.datum_sub_div_char2) { tp->reference.datum[n++] = (char)(m->w4.datum_sub_div_char2); } if (m->w4.datum_sub_div_char3) { tp->reference.datum[n++] = (char)(m->w4.datum_sub_div_char3); } /* we used to say n++ here, but scan-build complains */ tp->reference.datum[n] = '\0'; if (len >= 4) { tp->reference.dx = m->w5.dx * DXYZ_SCALE; tp->reference.dy = ((m->w5.dy_h << 8) | m->w6.dy_l) * DXYZ_SCALE; tp->reference.dz = m->w6.dz * DXYZ_SCALE; } else tp->reference.sense = SENSE_INVALID; } break; case 5: for (n = 0; n < (unsigned)len; n++) { struct consat_t *csp = &tp->conhealth.sat[n]; struct b_health_t *m = &msg->msg_type.type5.health[n]; csp->ident = m->sat_id; csp->iodl = m->issue_of_data_link != 0; csp->health = m->data_health; /*@+ignoresigns@*/ csp->snr = (int)(m->cn0 ? (m->cn0 + CNR_OFFSET) : SNR_BAD); /*@-ignoresigns@*/ csp->health_en = m->health_enable != 0; csp->new_data = m->new_nav_data != 0; csp->los_warning = m->loss_warn != 0; csp->tou = m->time_unhealthy * TU_SCALE; } tp->conhealth.nentries = n; break; case 7: for (w = 0; w < (unsigned)len; w++) { struct station_t *np = &tp->almanac.station[n]; struct b_station_t *mp = &msg->msg_type.type7.almanac[w]; np->latitude = mp->w3.lat * LA_SCALE; /*@-shiftimplementation@*/ np->longitude = ((mp->w3.lon_h << 8) | mp->w4.lon_l) * LO_SCALE; /*@+shiftimplementation@*/ np->range = mp->w4.range; np->frequency = (((mp->w4.freq_h << 6) | mp->w5.freq_l) * FREQ_SCALE) + FREQ_OFFSET; np->health = mp->w5.health; np->station_id = mp->w5.station_id, np->bitrate = tx_speed[mp->w5.bit_rate]; n++; } tp->almanac.nentries = (unsigned)(len / 3); break; case 13: tp->xmitter.status = (bool)msg->msg_type.type13.w1.status; tp->xmitter.rangeflag = (bool)msg->msg_type.type13.w1.rangeflag; tp->xmitter.lat = msg->msg_type.type13.w1.lat * LATLON_SCALE; tp->xmitter.lon = msg->msg_type.type13.w2.lon * LATLON_SCALE; tp->xmitter.range = msg->msg_type.type13.w2.range * RANGE_SCALE; if (tp->xmitter.range == 0) tp->xmitter.range = 1024; break; case 14: tp->gpstime.week = msg->msg_type.type14.w1.week; tp->gpstime.hour = msg->msg_type.type14.w1.hour; tp->gpstime.leapsecs = msg->msg_type.type14.w1.leapsecs; break; case 16: /*@ -boolops @*/ for (w = 0; w < (unsigned)len; w++) { if (!msg->msg_type.type16.txt[w].byte1) { break; } tp->message[n++] = (char)(msg->msg_type.type16.txt[w].byte1); if (!msg->msg_type.type16.txt[w].byte2) { break; } tp->message[n++] = (char)(msg->msg_type.type16.txt[w].byte2); if (!msg->msg_type.type16.txt[w].byte3) { break; } tp->message[n++] = (char)(msg->msg_type.type16.txt[w].byte3); } /*@ +boolops @*/ tp->message[n] = '\0'; break; case 31: { struct glonass_correction_t *m = &msg->msg_type.type31.corrections[0]; while (len >= 0) { if (len >= 2) { tp->glonass_ranges.sat[n].ident = m->w3.satident1; tp->glonass_ranges.sat[n].udre = m->w3.udre1; tp->glonass_ranges.sat[n].change = (bool)m->w4.change1; tp->glonass_ranges.sat[n].tod = m->w4.tod1; tp->glonass_ranges.sat[n].prc = m->w3.prc1 * (m->w3.scale1 ? PRCLARGE : PRCSMALL); tp->glonass_ranges.sat[n].rrc = m->w4.rrc1 * (m->w3.scale1 ? RRLARGE : RRSMALL); n++; } if (len >= 4) { tp->glonass_ranges.sat[n].ident = m->w4.satident2; tp->glonass_ranges.sat[n].udre = m->w4.udre2; tp->glonass_ranges.sat[n].change = (bool)m->w6.change2; tp->glonass_ranges.sat[n].tod = m->w6.tod2; tp->glonass_ranges.sat[n].prc = m->w5.prc2 * (m->w4.scale2 ? PRCLARGE : PRCSMALL); tp->glonass_ranges.sat[n].rrc = m->w5.rrc2 * (m->w4.scale2 ? RRLARGE : RRSMALL); n++; } if (len >= 5) { tp->glonass_ranges.sat[n].ident = m->w6.satident3; tp->glonass_ranges.sat[n].udre = m->w6.udre3; tp->glonass_ranges.sat[n].change = (bool)m->w7.change3; tp->glonass_ranges.sat[n].tod = m->w7.tod3; /*@ -shiftimplementation @*/ tp->glonass_ranges.sat[n].prc = ((m->w6.prc3_h << 8) | (m->w7.prc3_l)) * (m->w6.scale3 ? PRCLARGE : PRCSMALL); tp->glonass_ranges.sat[n].rrc = m->w7.rrc3 * (m->w6.scale3 ? RRLARGE : RRSMALL); /*@ +shiftimplementation @*/ n++; } len -= 5; m++; } tp->glonass_ranges.nentries = n; } break; default: memcpy(tp->words, msg->msg_type.rtcm2_msgunk, (RTCM2_WORDS_MAX - 2) * sizeof(isgps30bits_t)); break; } } static bool preamble_match(isgps30bits_t * w) { return (((struct rtcm2_msghw1 *)w)->preamble == PREAMBLE_PATTERN); } static bool length_check(struct gps_packet_t *lexer) { return lexer->isgps.bufindex >= 2 && lexer->isgps.bufindex >= ((struct rtcm2_msg_t *)lexer->isgps.buf)->w2.frmlen + 2u; } enum isgpsstat_t rtcm2_decode(struct gps_packet_t *lexer, unsigned int c) { return isgps_decode(lexer, preamble_match, length_check, RTCM2_WORDS_MAX, c); } #endif /* RTCM104V2_ENABLE */ gpsd-3.9/driver_rtcm3.c0000664000175000017500000004224212110356005013234 0ustar esresr/***************************************************************************** This is a decoder for RTCM-104 3.x, a serial protocol used for broadcasting pseudorange corrections from differential-GPS reference stations. The applicable specification is RTCM 10403.1: RTCM Paper 177-2006-SC104-STD. This obsolesces the earlier RTCM-104 2.x specifications. The specification document is proprietary; ordering instructions are accessible from under "Publications". Unike the RTCM 2.x protocol, RTCM3.x does not use the strange sliding-bit-window IS-GPS-200 protocol as a transport layer, but is a self-contained byte-oriented packet protocol. Packet recognition is handled in the GPSD packet-getter state machine; this code is concerned with unpacking the packets into well-behaved C structures, coping with odd field lengths and fields that may overlap byte boudaries. These report structures live in gps.h. Note that the unpacking this module does is probably useful only for RTCM reporting and diagnostic tools. It is not necessary when passing RTCM corrections to a GPS, which normally should just be passed an entire correction packet for processing by their internal firmware. Decodes of the following types have been verified: 1004, 1005, 1006, 1008, 1012, 1013, 1029. There is good reason to believe the 1007 code is correct, as it's identical to 1008 up to where it ends. The 1033 decode was arrived at by looking at an rtcminspect dump and noting that it carries an information superset of the 1008. There are additional Receiver and Firmware fields we're not certain to decode without access to an RTCM3 standard at revision 4 or later, but the guess in the code has been observed to correctly analyze a message with a nonempty Receiver field. This file is Copyright (c) 2010 by the GPSD project BSD terms apply: see the file COPYING in the distribution root for details. *****************************************************************************/ #include #include "gpsd.h" #include "bits.h" #ifdef RTCM104V3_ENABLE /* scaling constants for RTCM3 real number types */ #define GPS_PSEUDORANGE_RESOLUTION 0.02 /* DF011 */ #define PSEUDORANGE_DIFF_RESOLUTION 0.0005 /* DF012,DF042 */ #define CARRIER_NOISE_RATIO_UNITS 0.25 /* DF015, DF045, DF50 */ #define ANTENNA_POSITION_RESOLUTION 0.0001 /* DF025-027 */ #define GLONASS_PSEUDORANGE_RESOLUTION 0.02 /* DF041 */ #define ANTENNA_DEGREE_RESOLUTION 25e-6 /* DF062 */ #define GPS_EPOCH_TIME_RESOLUTION 0.1 /* DF065 */ #define PHASE_CORRECTION_RESOLUTION 0.5 /* DF069-070 */ /* Other magic values */ #define GPS_INVALID_PSEUDORANGE 0x80000 /* DF012, DF018 */ #define GLONASS_INVALID_RANGEINCR 0x2000 /* DF047 */ #define GLONASS_CHANNEL_BASE 7 /* DF040 */ /* Large case statements make GNU indent very confused */ /* *INDENT-OFF* */ /*@ -type @*//* re-enable when we're ready to take this live */ void rtcm3_unpack( /*@out@*/ struct rtcm3_t *rtcm, char *buf) /* break out the raw bits into the scaled report-structure fields */ { unsigned int n, n2, n3, n4; int bitcount = 0; unsigned int i; signed long temp; /*@ -evalorder -sefparams -mayaliasunique @*/ #define ugrab(width) (bitcount += width, ubits((unsigned char *)buf, bitcount-width, width, false)) #define sgrab(width) (bitcount += width, sbits((signed char *)buf, bitcount-width, width, false)) #define GPS_PSEUDORANGE(fld, len) \ {temp = (unsigned long)ugrab(len); \ if (temp == GPS_INVALID_PSEUDORANGE) \ fld.pseudorange = 0; \ else \ fld.pseudorange = temp * GPS_PSEUDORANGE_RESOLUTION;} #define RANGEDIFF(fld, len) \ temp = (long)sgrab(len); \ if (temp == GPS_INVALID_PSEUDORANGE) \ fld.rangediff = 0; \ else \ fld.rangediff = temp * PSEUDORANGE_DIFF_RESOLUTION; //assert(ugrab(8) == 0xD3); //assert(ugrab(6) == 0x00); ugrab(14); rtcm->length = (uint)ugrab(10); rtcm->type = (uint)ugrab(12); gpsd_report(LOG_RAW, "RTCM3: type %d payload length %d\n", rtcm->type, rtcm->length); switch (rtcm->type) { case 1001: /* GPS Basic RTK, L1 Only */ rtcm->rtcmtypes.rtcm3_1001.header.station_id = (uint)ugrab(12); rtcm->rtcmtypes.rtcm3_1001.header.tow = (time_t)ugrab(30); rtcm->rtcmtypes.rtcm3_1001.header.sync = (bool)ugrab(1); rtcm->rtcmtypes.rtcm3_1001.header.satcount = (unsigned short)ugrab(5); rtcm->rtcmtypes.rtcm3_1001.header.smoothing = (bool)ugrab(1); rtcm->rtcmtypes.rtcm3_1001.header.interval = (unsigned short)ugrab(3); #define R1001 rtcm->rtcmtypes.rtcm3_1001.rtk_data[i] for (i = 0; i < rtcm->rtcmtypes.rtcm3_1001.header.satcount; i++) { R1001.ident = (unsigned short)ugrab(6); R1001.L1.indicator = (unsigned char)ugrab(1); GPS_PSEUDORANGE(R1001.L1, 24); RANGEDIFF(R1001.L1, 20); R1001.L1.locktime = (unsigned char)sgrab(7); } #undef R1001 break; case 1002: /* GPS Extended RTK, L1 Only */ rtcm->rtcmtypes.rtcm3_1002.header.station_id = (uint)ugrab(12); rtcm->rtcmtypes.rtcm3_1002.header.tow = (time_t)ugrab(30); rtcm->rtcmtypes.rtcm3_1002.header.sync = (bool)ugrab(1); rtcm->rtcmtypes.rtcm3_1002.header.satcount = (unsigned short)ugrab(5); rtcm->rtcmtypes.rtcm3_1002.header.smoothing = (bool)ugrab(1); rtcm->rtcmtypes.rtcm3_1002.header.interval = (unsigned short)ugrab(3); #define R1002 rtcm->rtcmtypes.rtcm3_1002.rtk_data[i] for (i = 0; i < rtcm->rtcmtypes.rtcm3_1002.header.satcount; i++) { R1002.ident = (unsigned short)ugrab(6); R1002.L1.indicator = (unsigned char)ugrab(1); GPS_PSEUDORANGE(R1002.L1, 24); RANGEDIFF(R1002.L1, 20); R1002.L1.locktime = (unsigned char)sgrab(7); R1002.L1.ambiguity = (unsigned char)ugrab(8); R1002.L1.CNR = (ugrab(8)) * CARRIER_NOISE_RATIO_UNITS; } #undef R1002 break; case 1003: /* GPS Basic RTK, L1 & L2 */ rtcm->rtcmtypes.rtcm3_1003.header.station_id = (uint)ugrab(12); rtcm->rtcmtypes.rtcm3_1003.header.tow = (time_t)ugrab(30); rtcm->rtcmtypes.rtcm3_1003.header.sync = (bool)ugrab(1); rtcm->rtcmtypes.rtcm3_1003.header.satcount = (unsigned short)ugrab(5); rtcm->rtcmtypes.rtcm3_1003.header.smoothing = (bool)ugrab(1); rtcm->rtcmtypes.rtcm3_1003.header.interval = (unsigned short)ugrab(3); #define R1003 rtcm->rtcmtypes.rtcm3_1003.rtk_data[i] for (i = 0; i < rtcm->rtcmtypes.rtcm3_1003.header.satcount; i++) { R1003.ident = (unsigned short)ugrab(6); R1003.L1.indicator = (unsigned char)ugrab(1); GPS_PSEUDORANGE(R1003.L1, 24); RANGEDIFF(R1003.L1, 20); R1003.L1.locktime = (unsigned char)sgrab(7); R1003.L2.indicator = (unsigned char)ugrab(2); GPS_PSEUDORANGE(R1003.L2, 24); temp = (long)sgrab(20); if (temp == GPS_INVALID_PSEUDORANGE) R1003.L2.rangediff = 0; else R1003.L2.rangediff = temp * PSEUDORANGE_DIFF_RESOLUTION; R1003.L2.locktime = (unsigned char)sgrab(7); } #undef R1003 break; case 1004: /* GPS Extended RTK, L1 & L2 */ rtcm->rtcmtypes.rtcm3_1004.header.station_id = (uint)ugrab(12); rtcm->rtcmtypes.rtcm3_1004.header.tow = (time_t)ugrab(30); rtcm->rtcmtypes.rtcm3_1004.header.sync = (bool)ugrab(1); rtcm->rtcmtypes.rtcm3_1004.header.satcount = (unsigned short)ugrab(5); rtcm->rtcmtypes.rtcm3_1004.header.smoothing = (bool)ugrab(1); rtcm->rtcmtypes.rtcm3_1004.header.interval = (unsigned short)ugrab(3); #define R1004 rtcm->rtcmtypes.rtcm3_1004.rtk_data[i] for (i = 0; i < rtcm->rtcmtypes.rtcm3_1004.header.satcount; i++) { R1004.ident = (unsigned short)ugrab(6); R1004.L1.indicator = (bool)ugrab(1); GPS_PSEUDORANGE(R1004.L1, 24); RANGEDIFF(R1004.L1, 20); R1004.L1.locktime = (unsigned char)sgrab(7); R1004.L1.ambiguity = (unsigned char)ugrab(8); R1004.L1.CNR = ugrab(8) * CARRIER_NOISE_RATIO_UNITS; R1004.L2.indicator = (unsigned char)ugrab(2); GPS_PSEUDORANGE(R1004.L2, 14); RANGEDIFF(R1004.L2, 20); R1004.L2.locktime = (unsigned char)sgrab(7); R1004.L2.CNR = ugrab(8) * CARRIER_NOISE_RATIO_UNITS; } #undef R1004 break; case 1005: /* Stationary Antenna Reference Point, No Height Information */ #define R1005 rtcm->rtcmtypes.rtcm3_1005 R1005.station_id = (unsigned short)ugrab(12); ugrab(6); /* reserved */ R1005.system = ugrab(3); R1005.reference_station = (bool)ugrab(1); R1005.ecef_x = sgrab(38) * ANTENNA_POSITION_RESOLUTION; R1005.single_receiver = ugrab(1); ugrab(1); R1005.ecef_y = sgrab(38) * ANTENNA_POSITION_RESOLUTION; ugrab(2); R1005.ecef_z = sgrab(38) * ANTENNA_POSITION_RESOLUTION; #undef R1005 break; case 1006: /* Stationary Antenna Reference Point, with Height Information */ #define R1006 rtcm->rtcmtypes.rtcm3_1006 R1006.station_id = (unsigned short)ugrab(12); (void)ugrab(6); /* reserved */ R1006.system = ugrab(3); R1006.reference_station = (bool)ugrab(1); R1006.ecef_x = sgrab(38) * ANTENNA_POSITION_RESOLUTION; R1006.single_receiver = ugrab(1); ugrab(1); R1006.ecef_y = sgrab(38) * ANTENNA_POSITION_RESOLUTION; ugrab(2); R1006.ecef_z = sgrab(38) * ANTENNA_POSITION_RESOLUTION; R1006.height = ugrab(16) * ANTENNA_POSITION_RESOLUTION; #undef R1006 break; case 1007: /* Antenna Descriptor */ rtcm->rtcmtypes.rtcm3_1007.station_id = (unsigned short)ugrab(12); n = (unsigned long)ugrab(8); (void)memcpy(rtcm->rtcmtypes.rtcm3_1007.descriptor, buf + 7, n); rtcm->rtcmtypes.rtcm3_1007.descriptor[n] = '\0'; bitcount += 8 * n; rtcm->rtcmtypes.rtcm3_1007.setup_id = ugrab(8); break; case 1008: /* Antenna Descriptor & Serial Number */ rtcm->rtcmtypes.rtcm3_1008.station_id = (unsigned short)ugrab(12); n = (unsigned long)ugrab(8); (void)memcpy(rtcm->rtcmtypes.rtcm3_1008.descriptor, buf + 7, n); rtcm->rtcmtypes.rtcm3_1008.descriptor[n] = '\0'; bitcount += 8 * n; rtcm->rtcmtypes.rtcm3_1008.setup_id = ugrab(8); n2 = (unsigned long)ugrab(8); (void)memcpy(rtcm->rtcmtypes.rtcm3_1008.serial, buf + 9 + n, n2); rtcm->rtcmtypes.rtcm3_1008.serial[n2] = '\0'; //bitcount += 8 * n2; break; case 1009: /* GLONASS Basic RTK, L1 Only */ rtcm->rtcmtypes.rtcm3_1009.header.station_id = (unsigned short)ugrab(12); rtcm->rtcmtypes.rtcm3_1009.header.tow = (time_t)ugrab(27); rtcm->rtcmtypes.rtcm3_1009.header.sync = (bool)ugrab(1); rtcm->rtcmtypes.rtcm3_1009.header.satcount = (unsigned short)ugrab(5); rtcm->rtcmtypes.rtcm3_1009.header.smoothing = (bool)ugrab(1); rtcm->rtcmtypes.rtcm3_1009.header.interval = (unsigned short)ugrab(3); #define R1009 rtcm->rtcmtypes.rtcm3_1009.rtk_data[i] for (i = 0; i < rtcm->rtcmtypes.rtcm3_1009.header.satcount; i++) { R1009.ident = (unsigned short)ugrab(6); R1009.L1.indicator = (bool)ugrab(1); R1009.L1.channel = (short)ugrab(5) - GLONASS_CHANNEL_BASE; R1009.L1.pseudorange = ugrab(25) * GLONASS_PSEUDORANGE_RESOLUTION; RANGEDIFF(R1009.L1, 20); R1009.L1.locktime = (unsigned char)sgrab(7); } #undef R1009 break; case 1010: /* GLONASS Extended RTK, L1 Only */ rtcm->rtcmtypes.rtcm3_1010.header.station_id = (unsigned short)ugrab(12); rtcm->rtcmtypes.rtcm3_1010.header.tow = (time_t)ugrab(27); rtcm->rtcmtypes.rtcm3_1010.header.sync = (bool)ugrab(1); rtcm->rtcmtypes.rtcm3_1010.header.satcount = (unsigned short)ugrab(5); rtcm->rtcmtypes.rtcm3_1010.header.smoothing = (bool)ugrab(1); rtcm->rtcmtypes.rtcm3_1010.header.interval = (unsigned short)ugrab(3); #define R1010 rtcm->rtcmtypes.rtcm3_1010.rtk_data[i] for (i = 0; i < rtcm->rtcmtypes.rtcm3_1010.header.satcount; i++) { R1010.ident = (unsigned short)ugrab(6); R1010.L1.indicator = (bool)ugrab(1); R1010.L1.channel = (short)ugrab(5) - GLONASS_CHANNEL_BASE; R1010.L1.pseudorange = ugrab(25) * GLONASS_PSEUDORANGE_RESOLUTION; RANGEDIFF(R1010.L1, 20); R1010.L1.locktime = (unsigned char)sgrab(7); R1010.L1.ambiguity = (unsigned char)ugrab(7); R1010.L1.CNR = ugrab(8) * CARRIER_NOISE_RATIO_UNITS; } #undef R1010 break; case 1011: /* GLONASS Basic RTK, L1 & L2 */ rtcm->rtcmtypes.rtcm3_1011.header.station_id = (unsigned short)ugrab(12); rtcm->rtcmtypes.rtcm3_1011.header.tow = (time_t)ugrab(27); rtcm->rtcmtypes.rtcm3_1011.header.sync = (bool)ugrab(1); rtcm->rtcmtypes.rtcm3_1011.header.satcount = (unsigned short)ugrab(5); rtcm->rtcmtypes.rtcm3_1011.header.smoothing = (bool)ugrab(1); rtcm->rtcmtypes.rtcm3_1011.header.interval = (unsigned short)ugrab(3); #define R1011 rtcm->rtcmtypes.rtcm3_1011.rtk_data[i] for (i = 0; i < rtcm->rtcmtypes.rtcm3_1011.header.satcount; i++) { R1011.ident = (unsigned short)ugrab(6); R1011.L1.indicator = (bool)ugrab(1); R1011.L1.channel = (short)ugrab(5) - GLONASS_CHANNEL_BASE; R1011.L1.pseudorange = ugrab(25) * GLONASS_PSEUDORANGE_RESOLUTION; RANGEDIFF(R1011.L1, 20); R1011.L1.locktime = (unsigned char)sgrab(7); R1011.L1.ambiguity = (unsigned char)ugrab(7); R1011.L1.CNR = ugrab(8) * CARRIER_NOISE_RATIO_UNITS; R1011.L2.indicator = (bool)ugrab(1); R1011.L2.channel = (short)ugrab(5) - GLONASS_CHANNEL_BASE; R1011.L2.pseudorange = ugrab(25) * GLONASS_PSEUDORANGE_RESOLUTION; RANGEDIFF(R1011.L2, 20); R1011.L2.locktime = (unsigned char)sgrab(7); R1011.L2.ambiguity = (unsigned char)ugrab(7); R1011.L2.CNR = ugrab(8) * CARRIER_NOISE_RATIO_UNITS; } #undef R1011 break; case 1012: /* GLONASS Extended RTK, L1 & L2 */ rtcm->rtcmtypes.rtcm3_1012.header.station_id = (unsigned short)ugrab(12); rtcm->rtcmtypes.rtcm3_1012.header.tow = (time_t)ugrab(27); rtcm->rtcmtypes.rtcm3_1012.header.sync = (bool)ugrab(1); rtcm->rtcmtypes.rtcm3_1012.header.satcount = (unsigned short)ugrab(5); rtcm->rtcmtypes.rtcm3_1012.header.smoothing = (bool)ugrab(1); rtcm->rtcmtypes.rtcm3_1012.header.interval = (unsigned short)ugrab(3); #define R1012 rtcm->rtcmtypes.rtcm3_1012.rtk_data[i] for (i = 0; i < rtcm->rtcmtypes.rtcm3_1012.header.satcount; i++) { unsigned int rangeincr; R1012.ident = (unsigned short)ugrab(6); R1012.L1.indicator = (bool)ugrab(1); R1012.L1.channel = (short)ugrab(5) - GLONASS_CHANNEL_BASE; R1012.L1.pseudorange = ugrab(25) * GLONASS_PSEUDORANGE_RESOLUTION; RANGEDIFF(R1012.L1, 20); R1012.L1.locktime = (unsigned char)ugrab(7); R1012.L1.ambiguity = (unsigned char)ugrab(7); R1012.L1.CNR = (unsigned char)ugrab(8) * CARRIER_NOISE_RATIO_UNITS; R1012.L2.indicator = (bool)ugrab(2); rangeincr = ugrab(14); if (rangeincr == GLONASS_INVALID_RANGEINCR) R1012.L2.pseudorange = 0; else R1012.L2.pseudorange = (rangeincr * GLONASS_PSEUDORANGE_RESOLUTION); RANGEDIFF(R1012.L2, 20); R1012.L2.locktime = (unsigned char)sgrab(7); R1012.L2.CNR = (unsigned char)ugrab(8) * CARRIER_NOISE_RATIO_UNITS; } #undef R1012 break; case 1013: /* System Parameters */ rtcm->rtcmtypes.rtcm3_1013.station_id = (unsigned short)ugrab(12); rtcm->rtcmtypes.rtcm3_1013.mjd = (unsigned short)ugrab(16); rtcm->rtcmtypes.rtcm3_1013.sod = (unsigned short)ugrab(17); rtcm->rtcmtypes.rtcm3_1013.ncount = (unsigned long)ugrab(5); rtcm->rtcmtypes.rtcm3_1013.leapsecs = (unsigned char)ugrab(8); #define R1013 rtcm->rtcmtypes.rtcm3_1013.announcements[i] for (i = 0; i < rtcm->rtcmtypes.rtcm3_1013.ncount; i++) { R1013.id = (unsigned short)ugrab(12); R1013.sync = (bool)ugrab(1); R1013.interval = (unsigned short)ugrab(16); } #undef R1013 break; case 1014: rtcm->rtcmtypes.rtcm3_1014.network_id = (int)ugrab(8); rtcm->rtcmtypes.rtcm3_1014.subnetwork_id = (int)ugrab(4); rtcm->rtcmtypes.rtcm3_1014.stationcount = (char)ugrab(5); rtcm->rtcmtypes.rtcm3_1014.master_id = (int)ugrab(12); rtcm->rtcmtypes.rtcm3_1014.aux_id = (int)ugrab(12); rtcm->rtcmtypes.rtcm3_1014.d_lat = (unsigned short)ugrab(20) * ANTENNA_DEGREE_RESOLUTION; rtcm->rtcmtypes.rtcm3_1014.d_lon = (unsigned short)ugrab(21) * ANTENNA_DEGREE_RESOLUTION; rtcm->rtcmtypes.rtcm3_1014.d_alt = (unsigned short)ugrab(23) / 1000; break; case 1029: rtcm->rtcmtypes.rtcm3_1029.station_id = (unsigned short)ugrab(12); rtcm->rtcmtypes.rtcm3_1029.mjd = (unsigned short)ugrab(16); rtcm->rtcmtypes.rtcm3_1029.sod = (unsigned short)ugrab(17); rtcm->rtcmtypes.rtcm3_1029.len = (unsigned long)ugrab(7); rtcm->rtcmtypes.rtcm3_1029.unicode_units = (size_t)ugrab(8); (void)memcpy(rtcm->rtcmtypes.rtcm3_1029.text, buf + 12, rtcm->rtcmtypes.rtcm3_1029.unicode_units); break; case 1033: /* see note in header */ rtcm->rtcmtypes.rtcm3_1033.station_id = (unsigned short)ugrab(12); n = (unsigned long)ugrab(8); (void)memcpy(rtcm->rtcmtypes.rtcm3_1033.descriptor, buf + 7, n); rtcm->rtcmtypes.rtcm3_1033.descriptor[n] = '\0'; bitcount += 8 * n; rtcm->rtcmtypes.rtcm3_1033.setup_id = ugrab(8); n2 = (unsigned long)ugrab(8); (void)memcpy(rtcm->rtcmtypes.rtcm3_1033.serial, buf + 9 + n, n2); rtcm->rtcmtypes.rtcm3_1033.serial[n2] = '\0'; bitcount += 8 * n2; n3 = (unsigned long)ugrab(8); (void)memcpy(rtcm->rtcmtypes.rtcm3_1033.receiver, buf + 10+n+n2, n3); rtcm->rtcmtypes.rtcm3_1033.receiver[n3] = '\0'; bitcount += 8 * n3; n4 = (unsigned long)ugrab(8); (void)memcpy(rtcm->rtcmtypes.rtcm3_1033.firmware, buf + 11+n+n2+n3, n3); rtcm->rtcmtypes.rtcm3_1033.firmware[n4] = '\0'; //bitcount += 8 * n4; break; default: /* * Leader bytes, message length, and checksum won't be copied. * The first 12 bits of the copied payload will be the type field. */ memcpy(rtcm->rtcmtypes.data, buf+3, rtcm->length); break; } #undef RANGEDIFF #undef GPS_PSEUDORANGE #undef sgrab #undef ugrab /*@ +evalorder +sefparams +mayaliasunique @*/ } /* *INDENT-ON* */ /*@ +type @*/ #endif /* RTCM104V3_ENABLE */ gpsd-3.9/driver_sirf.c0000664000175000017500000013105212140074322013147 0ustar esresr/* * This is the gpsd driver for SiRF GPSes operating in binary mode. * It also handles uBlox, a SiRF derivative. * * The advantages: Reports climb/sink rate (raw-mode clients won't see this). * Also, we can flag DGPS satellites used in the skyview when SBAS is in use. * The disadvantages: Doesn't return PDOP or VDOP, just HDOP. * * Chris Kuethe, our SiRF expert, tells us: * * "I don't see any indication in any of my material that PDOP, GDOP * or VDOP are output. There are quantities called Estimated * {Horizontal Position, Vertical Position, Time, Horizonal Velocity} * Error, but those are apparently only valid when SiRFDRive is * active." * * "(SiRFdrive is their Dead Reckoning augmented firmware. It * allows you to feed odometer ticks, gyro and possibly * accelerometer inputs to the chip to allow it to continue * to navigate in the absence of satellite information, and * to improve fixes when you do have satellites.)" * * "[When we need RINEX data, we can get it from] SiRF Message #5. * If it's no longer implemented on your receiver, messages * 7, 28, 29 and 30 will give you the same information." * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include #include #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include "gpsd.h" #include "bits.h" #if defined(SIRF_ENABLE) && defined(BINARY_ENABLE) #define HI(n) ((n) >> 8) #define LO(n) ((n) & 0xff) /*@ +charint @*/ /* Poll Software Version MID 132 */ static unsigned char versionprobe[] = { 0xa0, 0xa2, 0x00, 0x02, 0x84, /* MID 132 */ 0x00, /* unused */ 0x00, 0x00, 0xb0, 0xb3 }; /* Poll Navigation Parameters MID 152 * query for MID 19 */ static unsigned char navparams[] = { 0xa0, 0xa2, 0x00, 0x02, 0x98, /* MID 152 */ 0x00, 0x00, 0x00, 0xb0, 0xb3 }; #ifdef RECONFIGURE_ENABLE /* DGPS Source MID 133 */ static unsigned char dgpscontrol[] = { 0xa0, 0xa2, 0x00, 0x07, 0x85, /* MID 133 */ 0x01, /* use SBAS */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xb3 }; /* Set SBAS Parameters MID 170 */ static unsigned char sbasparams[] = { 0xa0, 0xa2, 0x00, 0x06, 0xaa, /* MID 170 */ 0x00, /* SBAS PRN */ 0x01, /* SBAS Mode */ 0x00, /* Auto PRN */ 0x00, 0x00, 0x00, 0x00, 0xb0, 0xb3 }; /* Set Message Rate MID 166 */ static unsigned char requestecef[] = { 0xa0, 0xa2, 0x00, 0x08, 0xa6, /* MID 166 */ 0x00, /* enable 1 */ 0x02, /* MID 2 */ 0x01, /* once per Sec */ 0x00, 0x00, /* unused */ 0x00, 0x00, /* unused */ 0x00, 0x00, 0xb0, 0xb3 }; /* Set Message Rate MID 166 */ static unsigned char requesttracker[] = { 0xa0, 0xa2, 0x00, 0x08, 0xa6, /* MID 166 */ 0x00, /* enable 1 */ 0x04, /* MID 4 */ 0x03, /* every 3 sec */ 0x00, 0x00, /* unused */ 0x00, 0x00, /* unused */ 0x00, 0x00, 0xb0, 0xb3 }; /* disable MID XX */ static unsigned char unsetmidXX[] = { 0xa0, 0xa2, 0x00, 0x08, 0xa6, /* MID 166 */ 0x00, /* enable 1 */ 0x00, /* MID 0xXX */ 0x00, /* never */ 0x00, 0x00, /* unused */ 0x00, 0x00, /* unused */ 0x00, 0x00, 0xb0, 0xb3 }; /* message to enable: * MID 7 Clock Status * MID 8 50Bps subframe data * MID 17 Differential Corrections * MID 28 Nav Lib Measurement Data * MID 29 Nav Lib DGPS Data * MID 30 Nav Lib SV State Data * MID 31 Nav Lib Initialization data * at 1Hz rate */ static unsigned char enablesubframe[] = { 0xa0, 0xa2, 0x00, 0x19, 0x80, /* MID 128 initialize Data Source */ 0x00, 0x00, 0x00, 0x00, /* EXEF X */ 0x00, 0x00, 0x00, 0x00, /* ECEF Y */ 0x00, 0x00, 0x00, 0x00, /* ECEF Z */ 0x00, 0x00, 0x00, 0x00, /* clock drift */ 0x00, 0x00, 0x00, 0x00, /* time of week */ 0x00, 0x00, /* week number */ 0x0C, /* Chans 1-12 */ /* change the next 0x10 to 0x08 * for factory reset */ 0x10, 0x00, 0x00, 0xb0, 0xb3 }; /* disable subframe data */ static unsigned char disablesubframe[] = { 0xa0, 0xa2, 0x00, 0x19, 0x80, /* MID 128 initialize Data Source */ 0x00, 0x00, 0x00, 0x00, /* EXEF X */ 0x00, 0x00, 0x00, 0x00, /* ECEF Y */ 0x00, 0x00, 0x00, 0x00, /* ECEF Z */ 0x00, 0x00, 0x00, 0x00, /* clock drift */ 0x00, 0x00, 0x00, 0x00, /* time of week */ 0x00, 0x00, /* week number */ 0x0C, /* Chans 1-12 */ 0x00, 0x00, 0x00, 0xb0, 0xb3 }; /* mode control MID */ static unsigned char modecontrol[] = { 0xa0, 0xa2, 0x00, 0x0e, 0x88, /* MID 136 Mode Control */ 0x00, 0x00, /* pad bytes */ 0x00, /* degraded mode off */ 0x00, 0x00, /* pad bytes */ 0x00, 0x00, /* altitude */ 0x00, /* altitude hold auto */ 0x00, /* use last computed alt */ 0x00, /* reserved */ 0x00, /* disable degraded mode */ 0x00, /* disable dead reckoning */ 0x01, /* enable track smoothing */ 0x00, 0x00, 0xb0, 0xb3 }; /* enable 1 PPS Time MID 52 * * using Set Message Rate MID 166 */ static unsigned char enablemid52[] = { 0xa0, 0xa2, 0x00, 0x08, 0xa6, /* MID 166 */ 0x00, /* enable/disable one message */ 0x34, /* MID 52 */ 0x01, /* sent once per second */ 0x00, 0x00, 0x00, 0x00, /* unused, set to zero */ 0x00, 0xdb, 0xb0, 0xb3 }; #endif /* RECONFIGURE_ENABLE */ /*@ -charint @*/ static gps_mask_t sirf_msg_debug(unsigned char *, size_t); static gps_mask_t sirf_msg_errors(unsigned char *, size_t); static gps_mask_t sirf_msg_navdata(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t sirf_msg_navsol(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t sirf_msg_nlmd(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t sirf_msg_ppstime(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t sirf_msg_svinfo(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t sirf_msg_swversion(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t sirf_msg_sysparam(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t sirf_msg_dgpsstatus(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t sirf_msg_ublox(struct gps_device_t *, unsigned char *, size_t); static bool sirf_write(struct gps_device_t *session, unsigned char *msg) { unsigned int crc; size_t i, len; bool ok; len = (size_t) ((msg[2] << 8) | msg[3]); /* calculate CRC */ crc = 0; for (i = 0; i < len; i++) crc += (int)msg[4 + i]; crc &= 0x7fff; /* enter CRC after payload */ msg[len + 4] = (unsigned char)((crc & 0xff00) >> 8); msg[len + 5] = (unsigned char)(crc & 0x00ff); gpsd_report(LOG_IO, "SiRF: Writing control type %02x:\n", msg[4]); ok = (gpsd_write(session, (const char *)msg, len+8) == (ssize_t) (len+8)); return (ok); } #ifdef CONTROLSEND_ENABLE static ssize_t sirf_control_send(struct gps_device_t *session, char *msg, size_t len) { /*@ +charint +matchanyintegral -initallelements -mayaliasunique @*/ session->msgbuf[0] = (char)0xa0; session->msgbuf[1] = (char)0xa2; session->msgbuf[2] = (len >> 8) & 0xff; session->msgbuf[3] = len & 0xff; memcpy(session->msgbuf + 4, msg, len); session->msgbuf[len + 6] = (char)0xb0; session->msgbuf[len + 7] = (char)0xb3; session->msgbuflen = len + 8; /* *INDENT-OFF* */ return sirf_write(session, (unsigned char *)session->msgbuf) ? (int)session->msgbuflen : -1; /* *INDENT-ON* */ /*@ -charint -matchanyintegral +initallelements +mayaliasunique @*/ } #endif /* CONTROLSEND_ENABLE */ #ifdef RECONFIGURE_ENABLE static bool sirfbin_speed(struct gps_device_t *session, speed_t speed, char parity, int stopbits) /* change speed in binary mode */ { /*@ +charint @*/ static unsigned char msg[] = { 0xa0, 0xa2, 0x00, 0x09, 0x86, /* byte 4: * Set Binary Serial Port * MID 134 */ 0x00, 0x00, 0x12, 0xc0, /* bytes 5-8: 4800 bps */ 0x08, /* byte 9: 8 data bits */ 0x01, /* byte 10: 1 stop bit */ 0x00, /* byte 11: no parity */ 0x00, /* byte 12: reserved pad */ 0x00, 0x00, 0xb0, 0xb3 }; /*@ -charint @*/ gpsd_report(LOG_PROG, "SiRF: sirf_speed(%d,%c,%d)\n", speed, parity, stopbits); if (9600 >= speed) { gpsd_report(LOG_WARN, "SiRF may lag at 9600bps or less.\n"); } switch (parity) { case 'E': case 2: parity = (char)2; break; case 'O': case 1: parity = (char)1; break; case 'N': case 0: default: parity = (char)0; break; } msg[5] = (unsigned char)((speed >> 24) & 0xff); msg[6] = (unsigned char)((speed >> 16) & 0xff); msg[7] = (unsigned char)((speed >> 8) & 0xff); msg[8] = (unsigned char)(speed & 0xff); msg[10] = (unsigned char)stopbits; msg[11] = (unsigned char)parity; return (sirf_write(session, msg)); } static bool sirf_to_nmea(struct gps_device_t *session, speed_t speed) /* switch from binary to NMEA at specified baud */ { /*@ +charint @*/ static unsigned char msg[] = { 0xa0, 0xa2, 0x00, 0x18, 0x81, 0x02, 0x01, 0x01, /* GGA */ 0x00, 0x00, /* suppress GLL */ 0x01, 0x01, /* GSA */ 0x05, 0x01, /* GSV */ 0x01, 0x01, /* RMC */ 0x00, 0x00, /* suppress VTG */ 0x00, 0x01, /* suppress MSS */ 0x00, 0x01, /* suppress EPE */ 0x00, 0x01, /* suppress EPE */ 0x00, 0x01, /* suppress ZDA */ 0x00, 0x00, /* unused */ 0x12, 0xc0, /* 4800 bps */ 0xb0, 0xb3 }; /*@ -charint @*/ if (speed >= 0xffff) { gpsd_report(LOG_ERROR, "SiRF: can't switch from SiRF to NMEA because current speed %u is big.", speed); return false; } msg[26] = (unsigned char)HI(speed); msg[27] = (unsigned char)LO(speed); return (sirf_write(session, msg)); } static void sirfbin_mode(struct gps_device_t *session, int mode) { if (mode == MODE_NMEA) { (void)sirf_to_nmea(session, session->gpsdata.dev.baudrate); } else if (mode == MODE_BINARY) { char parity = '0'; switch (session->gpsdata.dev.parity) { default: case 'N': parity = '0'; break; case 'O': parity = '1'; break; case 'E': parity = '2'; break; } // gpsd only supports 8[NO]1 or 7[EO]2 // thus the strange use of stopbits (void)nmea_send(session, "$PSRF100,0,%d,%d,%d,%c", session->gpsdata.dev.baudrate, 9 - session->gpsdata.dev.stopbits, session->gpsdata.dev.stopbits, parity); (void)usleep(333); /* guessed settling time */ session->gpsdata.dev.driver_mode = MODE_BINARY; } session->back_to_nmea = false; } #endif /* RECONFIGURE_ENABLE */ static ssize_t sirf_get(struct gps_device_t *session) { ssize_t len = generic_get(session); if (session->packet.type == SIRF_PACKET) { session->gpsdata.dev.driver_mode = MODE_BINARY; } else if (session->packet.type == NMEA_PACKET) { session->gpsdata.dev.driver_mode = MODE_NMEA; (void)gpsd_switch_driver(session, "Generic NMEA"); } else { /* should never happen */ gpsd_report(LOG_PROG, "SiRF: Unexpected packet type %d\n", session->packet.type); (void)gpsd_switch_driver(session, "Generic NMEA"); } return len; } static gps_mask_t sirf_msg_debug(unsigned char *buf, size_t len) { char msgbuf[MAX_PACKET_LENGTH * 3 + 2]; int i; bzero(msgbuf, (int)sizeof(msgbuf)); /*@ +charint @*/ if (0xe1 == buf[0]) { /* Development statistics messages */ for (i = 2; i < (int)len; i++) (void)snprintf(msgbuf + strlen(msgbuf), sizeof(msgbuf) - strlen(msgbuf), "%c", buf[i] ^ 0xff); gpsd_report(LOG_PROG, "SiRF: DEV 0xe1: %s\n", msgbuf); } else if (0xff == (unsigned char)buf[0]) { /* Debug messages */ for (i = 1; i < (int)len; i++) if (isprint(buf[i])) (void)snprintf(msgbuf + strlen(msgbuf), sizeof(msgbuf) - strlen(msgbuf), "%c", buf[i]); else (void)snprintf(msgbuf + strlen(msgbuf), sizeof(msgbuf) - strlen(msgbuf), "\\x%02x", (unsigned int)buf[i]); gpsd_report(LOG_PROG, "SiRF: DBG 0xff: %s\n", msgbuf); } /*@ -charint @*/ return 0; } static gps_mask_t sirf_msg_errors(unsigned char *buf, size_t len UNUSED) { switch (getbeu16(buf, 1)) { case 2: gpsd_report(LOG_PROG, "SiRF: EID 0x0a type 2: Subframe %u error on PRN %u\n", getbeu32(buf, 9), getbeu32(buf, 5)); break; case 4107: gpsd_report(LOG_PROG, "SiRF: EID 0x0a type 4107: neither KF nor LSQ fix.\n"); break; default: gpsd_report(LOG_PROG, "SiRF: EID 0x0a: Error MID %d\n", getbeu16(buf, 1)); break; } return 0; } /* Navigation Library Measurement Data MID 28 */ static gps_mask_t sirf_msg_nlmd(struct gps_device_t *session UNUSED, unsigned char *buf UNUSED, size_t len) { double gps_tow = 0.0; if (len != 56) return 0; /* oh barf, SiRF claims to be IEEE754 but supports two * different double orders, neither IEEE754 */ /* FIXME - decode the time, since this is the first MID with a * good time stamp this will be good for ntpshm time */ gpsd_report(LOG_PROG, "SiRF: MID 0x1c, NLMD, gps_tow: %f\n", (double)gps_tow); return 0; } static gps_mask_t sirf_msg_swversion(struct gps_device_t *session, unsigned char *buf, size_t len) { double fv; unsigned char *cp; if (len < 20) return 0; (void)strlcpy(session->subtype, (char *)buf + 1, sizeof(session->subtype)); for (cp = buf+1; *cp!=(unsigned char)'\0' && isdigit(*cp)==0; cp++) continue; fv = safe_atof((const char *)cp); if (fv < 231) { session->driver.sirf.driverstate |= SIRF_LT_231; #ifdef RECONFIGURE_ENABLE if (fv > 200) sirfbin_mode(session, 0); #endif /* RECONFIGURE_ENABLE */ } else if (fv < 232) { session->driver.sirf.driverstate |= SIRF_EQ_231; } else { session->driver.sirf.driverstate |= SIRF_GE_232; } if (strstr((char *)(buf + 1), "ES")) gpsd_report(LOG_INF, "SiRF: Firmware has XTrac capability\n"); gpsd_report(LOG_PROG, "SiRF: fv: %0.2f, Driver state flags are: %0x\n", fv, session->driver.sirf.driverstate); #ifdef NTPSHM_ENABLE session->driver.sirf.time_seen = 0; #endif /* NTPSHM_ENABLE */ gpsd_report(LOG_DATA, "SiRF: FV MID 0x06: subtype='%s' mask={DEVICEID}\n", session->subtype); return DEVICEID_SET; } static gps_mask_t sirf_msg_navdata(struct gps_device_t *session, unsigned char *buf, size_t len) { unsigned int i, chan, svid; uint32_t words[10]; if (len != 43) return 0; chan = (unsigned int)getub(buf, 1); svid = (unsigned int)getub(buf, 2); for (i = 0; i < 10; i++) { words[i] = (uint32_t)getbeu32(buf, 4 * i + 3); } gpsd_report(LOG_IO, "SiRF: NavData chan %u svid %u\n",chan,svid); #ifdef RECONFIGURE_ENABLE if (!session->context->readonly && session->gpsdata.dev.baudrate < 38400) { /* some USB are also too slow, no way to tell which ones */ gpsd_report(LOG_WARN, "WARNING: SiRF: link too slow, disabling subframes.\n"); (void)sirf_write(session, disablesubframe); } #endif /* RECONFIGURE_ENABLE */ return gpsd_interpret_subframe_raw(session, svid, words); } #define SIRF_CHANNELS 12 /* max channels allowed in SiRF format */ static gps_mask_t sirf_msg_svinfo(struct gps_device_t *session, unsigned char *buf, size_t len) { int st, i, j, cn; if (len != 188) return 0; session->gpsdata.skyview_time = gpsd_gpstime_resolve(session, (unsigned short)getbes16(buf, 1), (unsigned int)getbeu32(buf, 3) * 1e-2); gpsd_zero_satellites(&session->gpsdata); for (i = st = 0; i < SIRF_CHANNELS; i++) { int off = 8 + 15 * i; bool good; session->gpsdata.PRN[st] = (int)getub(buf, off); session->gpsdata.azimuth[st] = (int)(((unsigned)getub(buf, off + 1) * 3) / 2.0); session->gpsdata.elevation[st] = (int)((unsigned)getub(buf, off + 2) / 2.0); cn = 0; for (j = 0; j < 10; j++) cn += (int)getub(buf, off + 5 + j); session->gpsdata.ss[st] = (float)(cn / 10.0); good = session->gpsdata.PRN[st] != 0 && session->gpsdata.azimuth[st] != 0 && session->gpsdata.elevation[st] != 0; #ifdef __UNUSED__ gpsd_report(LOG_PROG, "SiRF: PRN=%2d El=%3.2f Az=%3.2f ss=%3d stat=%04x %c\n", getub(buf, off), getub(buf, off + 2) / 2.0, (getub(buf, off + 1) * 3) / 2.0, cn / 10, getbeu16(buf, off + 3), good ? '*' : ' '); #endif /* UNUSED */ if (good != 0) st += 1; } session->gpsdata.satellites_visible = st; /* mark SBAS sats in use if SBAS was in use as of the last MID 27 */ for (i = 0; i < st; i++) { int prn = session->gpsdata.PRN[i]; if (SBAS_PRN(prn) \ && session->gpsdata.status == STATUS_DGPS_FIX \ && session->driver.sirf.dgps_source == SIRF_DGPS_SOURCE_SBAS) session->gpsdata.used[session->gpsdata.satellites_used++] = prn; } #ifdef NTPSHM_ENABLE if (st < 3) { gpsd_report(LOG_PROG, "SiRF: NTPD not enough satellites seen: %d\n", st); } else { /* SiRF says if 3 sats in view the time is good */ gpsd_report(LOG_PROG, "SiRF: NTPD valid time MID 0x04, seen=0x%02x, time:%.2lf, leap:%d\n", session->driver.sirf.time_seen, session->gpsdata.skyview_time, session->context->leap_seconds); } #endif /* NTPSHM_ENABLE */ gpsd_report(LOG_DATA, "SiRF: MTD 0x04: visible=%d mask={SATELLITE}\n", session->gpsdata.satellites_visible); return SATELLITE_SET; } #ifdef NTPSHM_ENABLE static double sirf_ntp_offset(struct gps_device_t *session) /* return NTP time-offset fudge factor for this device */ { double retval = NAN; /* we need to have seen UTC time with a valid leap-year offset */ if ((session->driver.sirf.time_seen & TIME_SEEN_UTC_2) != 0) { retval = NAN; } /* the PPS time message */ else if (strcmp(session->gpsdata.tag, "MID52") == 0) { retval = 0.3; } /* uBlox EMND message */ else if (strcmp(session->gpsdata.tag, "MID98") == 0) { retval = 0.570; } #ifdef __UNUSED__ /* geodetic-data message */ else if (strcmp(session->gpsdata.tag, "MID41") == 0) { retval = 0.570; } #endif /* __UNUSED__ */ /* the Navigation Solution message */ else if (strcmp(session->gpsdata.tag, "MID2") == 0) { if (session->sourcetype == source_usb) { retval = 0.640; /* USB, expect +/- 50mS jitter */ } else { switch (session->gpsdata.dev.baudrate) { default: retval = 0.704; /* WAG */ break; case 4800: retval = 0.704; /* fudge valid at 4800bps */ break; case 9600: retval = 0.688; break; case 19200: retval = 0.484; break; case 38400: retval = 0.845; /* 0.388; ?? */ break; } } } return retval; } #endif /* NTPSHM_ENABLE */ static gps_mask_t sirf_msg_navsol(struct gps_device_t *session, unsigned char *buf, size_t len) { int i; unsigned short navtype; gps_mask_t mask = 0; if (len != 41) return 0; session->gpsdata.satellites_used = (int)getub(buf, 28); memset(session->gpsdata.used, 0, sizeof(session->gpsdata.used)); for (i = 0; i < SIRF_CHANNELS; i++) session->gpsdata.used[i] = (int)getub(buf, 29 + i); /* position/velocity is bytes 1-18 */ ecef_to_wgs84fix(&session->newdata, &session->gpsdata.separation, (double)getbes32(buf, 1) * 1.0, (double)getbes32(buf, 5) * 1.0, (double)getbes32(buf, 9) * 1.0, (double)getbes16(buf, 13) / 8.0, (double)getbes16(buf, 15) / 8.0, (double)getbes16(buf, 17) / 8.0); /* fix status is byte 19 */ navtype = (unsigned short)getub(buf, 19); session->gpsdata.status = STATUS_NO_FIX; session->newdata.mode = MODE_NO_FIX; if ((navtype & 0x80) != 0) session->gpsdata.status = STATUS_DGPS_FIX; else if ((navtype & 0x07) > 0 && (navtype & 0x07) < 7) session->gpsdata.status = STATUS_FIX; if ((navtype & 0x07) == 4 || (navtype & 0x07) == 6) session->newdata.mode = MODE_3D; else if (session->gpsdata.status != 0) session->newdata.mode = MODE_2D; if (session->newdata.mode == MODE_3D) mask |= ALTITUDE_SET | CLIMB_SET; gpsd_report(LOG_PROG, "SiRF: MND 0x02: Navtype = 0x%0x, Status = %d, mode = %d\n", navtype, session->gpsdata.status, session->newdata.mode); /* byte 20 is HDOP, see below */ /* byte 21 is "mode 2", not clear how to interpret that */ session->newdata.time = gpsd_gpstime_resolve(session, (unsigned short)getbes16(buf, 22), (double)getbeu32(buf, 24) * 1e-2); #ifdef NTPSHM_ENABLE if (session->newdata.mode <= MODE_NO_FIX) { gpsd_report(LOG_PROG, "SiRF: NTPD no fix, mode: %d\n", session->newdata.mode); } else { gpsd_report(LOG_PROG, "SiRF: NTPD valid time MID 0x02, seen=0x%02x, time;%.2lf, leap:%d\n", session->driver.sirf.time_seen, session->newdata.time, session->context->leap_seconds); } #endif /* NTPSHM_ENABLE */ /* fix quality data */ session->gpsdata.dop.hdop = (double)getub(buf, 20) / 5.0; mask |= TIME_SET | LATLON_SET | ALTITUDE_SET | TRACK_SET | SPEED_SET | STATUS_SET | MODE_SET | DOP_SET | USED_IS; if ( 3 <= session->gpsdata.satellites_visible ) { mask |= PPSTIME_IS; } gpsd_report(LOG_DATA, "SiRF: MND 0x02: time=%.2f lat=%.2f lon=%.2f alt=%.2f track=%.2f speed=%.2f mode=%d status=%d hdop=%.2f used=%d\n", session->newdata.time, session->newdata.latitude, session->newdata.longitude, session->newdata.altitude, session->newdata.track, session->newdata.speed, session->newdata.mode, session->gpsdata.status, session->gpsdata.dop.hdop, session->gpsdata.satellites_used); return mask; } #ifdef __UNUSED__ /*************************************************************************** We've stopped interpreting GND (0x29) for the following reasons: 1) Versions of SiRF firmware still in wide circulation (and likely to be so for a while) don't report a valid time field, leading to annoying twice-per-second jitter in client displays. 2) What we wanted out of this that MND didn't give us was horizontal and vertical error estimates. But we have to do our own error estimation by computing DOPs from the skyview covariance matrix anyway, because we want separate epx and epy errors a la NMEA 3.0. 3) The fix-merge logic in gpsd.c is (unavoidably) NMEA-centric and thinks multiple sentences in one cycle should be treated as incremental updates. This leads to various silly results when (as in GND) a subsequent sentence is (a) intended to be a complete fix in itself, and (b) frequently broken. 4) Ignoring this dodgy sentence allows us to go to a nice clean single fix update per cycle. Code left in place in case we need to reverse this decision. ***************************************************************************/ static gps_mask_t sirf_msg_geodetic(struct gps_device_t *session, unsigned char *buf, size_t len) { unsigned short navtype; gps_mask_t mask = 0; double eph; if (len != 91) return 0; session->gpsdata.sentence_length = 91; (void)strlcpy(session->gpsdata.tag, "GND", MAXTAGLEN + 1); navtype = (unsigned short)getbeu16(buf, 3); session->gpsdata.status = STATUS_NO_FIX; session->newdata.mode = MODE_NO_FIX; if (navtype & 0x80) session->gpsdata.status = STATUS_DGPS_FIX; else if ((navtype & 0x07) > 0 && (navtype & 0x07) < 7) session->gpsdata.status = STATUS_FIX; session->newdata.mode = MODE_NO_FIX; if ((navtype & 0x07) == 4 || (navtype & 0x07) == 6) session->newdata.mode = MODE_3D; else if (session->gpsdata.status) session->newdata.mode = MODE_2D; gpsd_report(LOG_PROG, "SiRF: GND 0x29: Navtype = 0x%0x, Status = %d, mode = %d\n", navtype, session->gpsdata.status, session->newdata.mode); mask |= STATUS_SET | MODE_SET; session->newdata.latitude = getbes32(buf, 23) * 1e-7; session->newdata.longitude = getbes32(buf, 27) * 1e-7; if (session->newdata.latitude != 0 && session->newdata.latitude != 0) mask |= LATLON_SET; if ((eph = getbes32(buf, 50) * 1e-2) > 0) { session->newdata.epx = session->newdata.epy = eph / sqrt(2); mask |= HERR_SET; } if ((session->newdata.epv = getbes32(buf, 54) * 1e-2) > 0) mask |= VERR_SET; if ((session->newdata.eps = getbes16(buf, 62) * 1e-2) > 0) mask |= SPEEDERR_SET; /* HDOP should be available at byte 89, but in 231 it's zero. */ //session->gpsdata.dop.hdop = (unsigned int)getub(buf, 89) * 0.2; if ((session->newdata.mode > MODE_NO_FIX) && (session->driver.sirf.driverstate & SIRF_GE_232)) { struct tm unpacked_date; double subseconds; /* * Early versions of the SiRF protocol manual don't document * this sentence at all. Some that do incorrectly * describe UTC Day, Hour, and Minute as 2-byte quantities, * not 1-byte. Chris Kuethe, our SiRF expert, tells us: * * "The Geodetic Navigation packet (0x29) was not fully * implemented in firmware prior to version 2.3.2. So for * anyone running 231.000.000 or earlier (including ES, * SiRFDRive, XTrac trains) you won't get UTC time. I don't * know what's broken in firmwares before 2.3.1..." * * To work around the incomplete implementation of this * packet in 231, we used to assume that only the altitude field * from this packet is valid. But even this doesn't necessarily * seem to be the case. Instead, we do our own computation * of geoid separation now. * * UTC is left all zeros in 231 and older firmware versions, * and misdocumented in version 1.4 of the Protocol Reference. * Documented: Real: * UTC year 2 2 * UTC month 1 1 * UTC day 2 1 * UTC hour 2 1 * UTC minute 2 1 * UTC second 2 2 * 11 8 * * Documentation of this field was corrected in the 1.6 version * of the protocol manual. */ unpacked_date.tm_year = (int)getbeu16(buf, 11) - 1900; unpacked_date.tm_mon = (int)getub(buf, 13) - 1; unpacked_date.tm_mday = (int)getub(buf, 14); unpacked_date.tm_hour = (int)getub(buf, 15); unpacked_date.tm_min = (int)getub(buf, 16); unpacked_date.tm_sec = 0; subseconds = getbeu16(buf, 17) * 1e-3; /*@ -compdef -unrecog */ session->newdata.time = (timestamp_t)timegm(&unpacked_date) + subseconds; /*@ +compdef +unrecog */ gpsd_report(LOG_PROG, "SiRF: GND 0x29 UTC: %lf\n", session->newdata.time); #ifdef NTPSHM_ENABLE if (session->newdata.mode <= MODE_NO_FIX) { gpsd_report(LOG_PROG, "SiRF: NTPD no fix, mode: $d\n", session->newdata.mode); } else if (0 == unpacked_date.tm_year) { gpsd_report(LOG_PROG, "SiRF: NTPD no year\n", session->newdata.mode); } else { gpsd_report(LOG_PROG, "SiRF: NTPD valid time MID 0x29, seen=0x%02x\n", session->driver.sirf.time_seen); } if ( 3 <= session->gpsdata.satellites_visible ) { mask |= PPSTIME_IS; } #endif /* NTPSHM_ENABLE */ /* skip 4 bytes of satellite map */ session->newdata.altitude = getbes32(buf, 35) * 1e-2; /* skip 1 byte of map datum */ session->newdata.speed = getbeu16(buf, 40) * 1e-2; session->newdata.track = getbeu16(buf, 42) * 1e-2; /* skip 2 bytes of magnetic variation */ session->newdata.climb = getbes16(buf, 46) * 1e-2; mask |= TIME_SET | SPEED_SET | TRACK_SET; if (session->newdata.mode == MODE_3D) mask |= ALTITUDE_SET | CLIMB_SET; } gpsd_report(LOG_DATA, "SiRF: GND 0x29: time=%.2f lat=%.2f lon=%.2f alt=%.2f track=%.2f speed=%.2f mode=%d status=%d\n", session->newdata.time, session->newdata.latitude, session->newdata.longitude, session->newdata.altitude, session->newdata.track, session->newdata.speed, session->newdata.mode, session->gpsdata.status); return mask; } #endif /* __UNUSED__ */ static gps_mask_t sirf_msg_sysparam(struct gps_device_t *session, unsigned char *buf, size_t len) { if (len != 65) return 0; /* save these to restore them in the revert method */ session->driver.sirf.nav_parameters_seen = true; session->driver.sirf.altitude_hold_mode = (unsigned char)getub(buf, 5); session->driver.sirf.altitude_hold_source = (unsigned char)getub(buf, 6); session->driver.sirf.altitude_source_input = getbes16(buf, 7); session->driver.sirf.degraded_mode = (unsigned char)getub(buf, 9); session->driver.sirf.degraded_timeout = (unsigned char)getub(buf, 10); session->driver.sirf.dr_timeout = (unsigned char)getub(buf, 11); session->driver.sirf.track_smooth_mode = (unsigned char)getub(buf, 12); #ifdef RECONFIGURE_ENABLE if (!session->context->readonly) { gpsd_report(LOG_PROG, "SiRF: Setting Navigation Parameters\n"); (void)sirf_write(session, modecontrol); } #endif /* RECONFIGURE_ENABLE */ return 0; } static gps_mask_t sirf_msg_dgpsstatus(struct gps_device_t *session, unsigned char *buf, size_t len UNUSED) /* only documentented from prorocol version 1.7 (2005) onwards */ { session->driver.sirf.dgps_source = (unsigned int)getub(buf, 1); return 0; } static gps_mask_t sirf_msg_ublox(struct gps_device_t *session, unsigned char *buf, size_t len UNUSED) { gps_mask_t mask; unsigned short navtype; if (len != 39) return 0; /* this packet is only sent by uBlox firmware from version 1.32 */ mask = LATLON_SET | ALTITUDE_SET | SPEED_SET | TRACK_SET | CLIMB_SET | STATUS_SET | MODE_SET | DOP_SET; session->newdata.latitude = (double)getbes32(buf, 1) * RAD_2_DEG * 1e-8; session->newdata.longitude = (double)getbes32(buf, 5) * RAD_2_DEG * 1e-8; session->gpsdata.separation = wgs84_separation(session->newdata.latitude, session->newdata.longitude); session->newdata.altitude = (double)getbes32(buf, 9) * 1e-3 - session->gpsdata.separation; session->newdata.speed = (double)getbes32(buf, 13) * 1e-3; session->newdata.climb = (double)getbes32(buf, 17) * 1e-3; session->newdata.track = (double)getbes32(buf, 21) * RAD_2_DEG * 1e-8; navtype = (unsigned short)getub(buf, 25); session->gpsdata.status = STATUS_NO_FIX; session->newdata.mode = MODE_NO_FIX; if (navtype & 0x80) session->gpsdata.status = STATUS_DGPS_FIX; else if ((navtype & 0x07) > 0 && (navtype & 0x07) < 7) session->gpsdata.status = STATUS_FIX; if ((navtype & 0x07) == 4 || (navtype & 0x07) == 6) session->newdata.mode = MODE_3D; else if (session->gpsdata.status) session->newdata.mode = MODE_2D; gpsd_report(LOG_PROG, "SiRF: EMND 0x62: Navtype = 0x%0x, Status = %d, mode = %d\n", navtype, session->gpsdata.status, session->newdata.mode); if (navtype & 0x40) { /* UTC corrected timestamp? */ struct tm unpacked_date; double subseconds; mask |= TIME_SET; if ( 3 <= session->gpsdata.satellites_visible ) { mask |= PPSTIME_IS; } unpacked_date.tm_year = (int)getbeu16(buf, 26) - 1900; unpacked_date.tm_mon = (int)getub(buf, 28) - 1; unpacked_date.tm_mday = (int)getub(buf, 29); unpacked_date.tm_hour = (int)getub(buf, 30); unpacked_date.tm_min = (int)getub(buf, 31); unpacked_date.tm_sec = 0; subseconds = ((unsigned short)getbeu16(buf, 32)) * 1e-3; /*@ -compdef */ session->newdata.time = (timestamp_t)mkgmtime(&unpacked_date) + subseconds; /*@ +compdef */ #ifdef NTPSHM_ENABLE if (0 == (session->driver.sirf.time_seen & TIME_SEEN_UTC_2)) { gpsd_report(LOG_RAW, "SiRF: NTPD just SEEN_UTC_2\n"); } gpsd_report(LOG_PROG, "SiRF: NTPD valid time MID 0x62, seen=0x%02x\n", session->driver.sirf.time_seen); session->driver.sirf.time_seen |= TIME_SEEN_UTC_2; #endif /* NTPSHM_ENABLE */ session->context->valid |= LEAP_SECOND_VALID; } session->gpsdata.dop.gdop = (int)getub(buf, 34) / 5.0; session->gpsdata.dop.pdop = (int)getub(buf, 35) / 5.0; session->gpsdata.dop.hdop = (int)getub(buf, 36) / 5.0; session->gpsdata.dop.vdop = (int)getub(buf, 37) / 5.0; session->gpsdata.dop.tdop = (int)getub(buf, 38) / 5.0; session->driver.sirf.driverstate |= UBLOX; gpsd_report(LOG_DATA, "SiRF: EMD 0x62: time=%.2f lat=%.2f lon=%.2f alt=%.f speed=%.2f track=%.2f climb=%.2f mode=%d status=%d gdop=%.2f pdop=%.2f hdop=%.2f vdop=%.2f tdop=%.2f\n", session->newdata.time, session->newdata.latitude, session->newdata.longitude, session->newdata.altitude, session->newdata.speed, session->newdata.track, session->newdata.climb, session->newdata.mode, session->gpsdata.status, session->gpsdata.dop.gdop, session->gpsdata.dop.pdop, session->gpsdata.dop.hdop, session->gpsdata.dop.vdop, session->gpsdata.dop.tdop); return mask; } static gps_mask_t sirf_msg_ppstime(struct gps_device_t *session, unsigned char *buf, size_t len) { gps_mask_t mask = 0; if (len != 19) return 0; gpsd_report(LOG_PROG, "SiRF: PPS 0x34: Status = 0x%02x\n", getub(buf, 14)); if (((int)getub(buf, 14) & 0x07) == 0x07) { /* valid UTC time? */ struct tm unpacked_date; unpacked_date.tm_hour = (int)getub(buf, 1); unpacked_date.tm_min = (int)getub(buf, 2); unpacked_date.tm_sec = (int)getub(buf, 3); unpacked_date.tm_mday = (int)getub(buf, 4); unpacked_date.tm_mon = (int)getub(buf, 5) - 1; unpacked_date.tm_year = (int)getbeu16(buf, 6) - 1900; /*@ -compdef */ session->newdata.time = (timestamp_t)mkgmtime(&unpacked_date); /*@ +compdef */ session->context->leap_seconds = (int)getbeu16(buf, 8); session->context->valid |= LEAP_SECOND_VALID; #ifdef NTPSHM_ENABLE if (0 == (session->driver.sirf.time_seen & TIME_SEEN_UTC_2)) { gpsd_report(LOG_RAW, "SiRF: NTPD just SEEN_UTC_2\n"); } gpsd_report(LOG_PROG, "SiRF: NTPD valid time MID 0x34, seen=0x%02x, leap=%d\n", session->driver.sirf.time_seen, session->context->leap_seconds); session->driver.sirf.time_seen |= TIME_SEEN_UTC_2; #endif /* NTPSHM_ENABLE */ mask |= TIME_SET; if ( 3 <= session->gpsdata.satellites_visible ) { mask |= PPSTIME_IS; } } return mask; } gps_mask_t sirf_parse(struct gps_device_t * session, unsigned char *buf, size_t len) { if (len == 0) return 0; buf += 4; len -= 8; gpsd_report(LOG_RAW, "SiRF: Raw packet type 0x%02x\n", buf[0]); (void)snprintf(session->gpsdata.tag, sizeof(session->gpsdata.tag), "MID%d", (int)buf[0]); /* could change if the set of messages we enable does */ session->cycle_end_reliable = true; switch (buf[0]) { case 0x02: /* Measure Navigation Data Out MID 2 */ if ((session->driver.sirf.driverstate & UBLOX) == 0) return sirf_msg_navsol(session, buf, len) | (CLEAR_IS | REPORT_IS); else { gpsd_report(LOG_PROG, "SiRF: MND 0x02 skipped, uBlox flag is on.\n"); return 0; } case 0x04: /* Measured tracker data out MID 4 */ return sirf_msg_svinfo(session, buf, len); case 0x05: /* Raw Tracker Data Out MID 5 */ gpsd_report(LOG_PROG, "SiRF: unused Raw Tracker Data 0x05\n"); return 0; case 0x06: /* Software Version String MID 6 */ return sirf_msg_swversion(session, buf, len); case 0x07: /* Clock Status Data MID 7 */ gpsd_report(LOG_PROG, "SiRF: unused CLK 0x07\n"); return 0; case 0x08: /* subframe data MID 8 */ /* extract leap-second from this */ /* * Chris Kuethe says: * "Message 8 is generated as the data is received. It is not * buffered on the chip. So when you enable message 8, you'll * get one subframe every 6 seconds. Of the data received, the * almanac and ephemeris are buffered and stored, so you can * query them at will. Alas, the time parameters are not * stored, which is really lame, as the UTC-GPS correction * changes 1 second every few years. Maybe." */ return sirf_msg_navdata(session, buf, len); case 0x09: /* CPU Throughput MID 9 */ gpsd_report(LOG_PROG, "SiRF: THR 0x09: SegStatMax=%.3f, SegStatLat=%3.f, AveTrkTime=%.3f, Last MS=%u\n", (float)getbeu16(buf, 1) / 186, (float)getbeu16(buf, 3) / 186, (float)getbeu16(buf, 5) / 186, getbeu16(buf, 7)); return 0; case 0x0a: /* Error ID Data MID 10 */ return sirf_msg_errors(buf, len); case 0x0b: /* Command Acknowledgement MID 11 */ gpsd_report(LOG_PROG, "SiRF: ACK 0x0b: %02x\n", getub(buf, 1)); return 0; case 0x0c: /* Command NAcknowledgement MID 12 */ gpsd_report(LOG_PROG, "SiRF: NAK 0x0c: %02x\n", getub(buf, 1)); return 0; case 0x0d: /* Visible List MID 13 */ gpsd_report(LOG_PROG, "SiRF: unused VIS 0x0d\n"); return 0; case 0x0e: /* Almanac Data MID 14 */ gpsd_report(LOG_PROG, "SiRF: unused ALM 0x0e\n"); return 0; case 0x0f: /* Ephemeris Data MID 15 */ gpsd_report(LOG_PROG, "SiRF: unused EPH 0x0f\n"); return 0; case 0x11: /* Differential Corrections MID 17 */ gpsd_report(LOG_PROG, "SiRF: unused DIFF 0x11\n"); return 0; case 0x12: /* OK To Send MID 18 */ gpsd_report(LOG_PROG, "SiRF: OTS 0x12: send indicator = %d\n", getub(buf, 1)); return 0; case 0x13: /* Navigation Parameters MID 19 */ return sirf_msg_sysparam(session, buf, len); case 0x1b: /* DGPS status MID 27 */ return sirf_msg_dgpsstatus(session, buf, len); case 0x1c: /* Navigation Library Measurement Data MID 28 */ gpsd_report(LOG_PROG, "SiRF: NLMD 0x1c\n"); return sirf_msg_nlmd(session, buf, len); case 0x1d: /* Navigation Library DGPS Data MID 29 */ gpsd_report(LOG_PROG, "SiRF: unused NLDG 0x1d\n"); return 0; case 0x1e: /* Navigation Library SV State Data MID 30 */ gpsd_report(LOG_PROG, "SiRF: unused NLSV 0x1e\n"); return 0; case 0x1f: /* Navigation Library Initialization Data MID 31 */ gpsd_report(LOG_PROG, "SiRF: unused NLID 0x1f\n"); return 0; case 0x29: /* Geodetic Navigation Data MID 41 */ gpsd_report(LOG_PROG, "SiRF: unused GND 0x29\n"); return 0; case 0x32: /* SBAS corrections MID 50 */ gpsd_report(LOG_PROG, "SiRF: unused SBAS 0x32\n"); return 0; case 0x34: /* PPS Time MID 52 */ /* * Carl Carter from SiRF writes: "We do not output on the * second (unless you are using MID 52). We make * measurements in the receiver in time with an internal * counter that is not slaved to GPS time, so the measurements * are made at a time that wanders around the second. Then, * after the measurements are made (all normalized to the same * point in time) we dispatch the navigation software to make * a solution, and that solution comes out some 200 to 300 ms * after the measurement time. So you may get a message at * 700 ms after the second that uses measurements time tagged * 450 ms after the second. And if some other task jumps up * and delays things, that message may not come out until 900 * ms after the second. Things can get out of sync to the * point that if you try to resolve the GPS time of our 1 PPS * pulses using the navigation messages, you will find it * impossible to be consistent. That is why I added * MID 52 to our system -- it is tied to the creation of the 1 * PPS and always comes out right around the top of the * second." */ return sirf_msg_ppstime(session, buf, len); case 0x62: /* uBlox Extended Measured Navigation Data MID 98 */ gpsd_report(LOG_PROG, "SiRF: uBlox EMND 0x62\n"); return sirf_msg_ublox(session, buf, len) | (CLEAR_IS | REPORT_IS); case 0x80: /* Initialize Data Source MID 128 */ gpsd_report(LOG_PROG, "SiRF: unused INIT 0x80\n"); return 0; case 0xe1: /* Development statistics messages MID 225 */ /* FALLTHROUGH */ case 0xff: /* Debug messages MID 255 */ (void)sirf_msg_debug(buf, len); return 0; default: gpsd_report(LOG_WARN, "SiRF: Unknown packet id %d length %zd\n", buf[0], len); return 0; } } static gps_mask_t sirfbin_parse_input(struct gps_device_t *session) { gps_mask_t st; if (session->packet.type == SIRF_PACKET) { st = sirf_parse(session, session->packet.outbuffer, session->packet.outbuflen); session->gpsdata.dev.driver_mode = MODE_BINARY; return st; #ifdef NMEA_ENABLE } else if (session->packet.type == NMEA_PACKET) { st = nmea_parse((char *)session->packet.outbuffer, session); session->gpsdata.dev.driver_mode = MODE_NMEA; return st; #endif /* NMEA_ENABLE */ } else return 0; } static void sirfbin_event_hook(struct gps_device_t *session, event_t event) { if (session->context->readonly) return; if (event == event_identified || event == event_reactivate) { if (session->packet.type == NMEA_PACKET) { gpsd_report(LOG_PROG, "SiRF: Switching chip mode to binary.\n"); (void)nmea_send(session, "$PSRF100,0,%d,8,1,0", session->gpsdata.dev.baudrate); (void)usleep(3330); /* guessed settling time */ } gpsd_report(LOG_PROG, "SiRF: Probing for firmware version...\n"); (void)sirf_write(session, versionprobe); (void)usleep(3330); /* guessed settling time */ gpsd_report(LOG_PROG, "SiRF: Requesting navigation parameters...\n"); (void)sirf_write(session, navparams); (void)usleep(3330); /* guessed settling time */ #ifdef RECONFIGURE_ENABLE gpsd_report(LOG_PROG, "SiRF: Requesting periodic ecef reports...\n"); (void)sirf_write(session, requestecef); (void)usleep(3330); /* guessed settling time */ gpsd_report(LOG_PROG, "SiRF: Requesting periodic tracker reports...\n"); (void)sirf_write(session, requesttracker); (void)usleep(3330); /* guessed settling time */ gpsd_report(LOG_PROG, "SiRF: Setting DGPS control to use SBAS...\n"); (void)sirf_write(session, dgpscontrol); (void)usleep(3330); /* guessed settling time */ gpsd_report(LOG_PROG, "SiRF: Setting SBAS to auto/integrity mode...\n"); (void)sirf_write(session, sbasparams); (void)usleep(3330); /* guessed settling time */ gpsd_report(LOG_PROG, "SiRF: Enabling PPS message...\n"); (void)sirf_write(session, enablemid52); (void)usleep(3330); /* guessed settling time */ if (session->gpsdata.dev.baudrate >= 38400) { /* some USB devices are also too slow, no way to tell which ones */ gpsd_report(LOG_PROG, "SiRF: Enabling subframe transmission...\n"); (void)sirf_write(session, enablesubframe); (void)usleep(3330); /* guessed settling time */ } /* disable some MIDs. we do not decode it, so don't send it */ gpsd_report(LOG_PROG, "SiRF: unset MID 7...\n"); putbyte(unsetmidXX, 6, 0x11); (void)sirf_write(session, unsetmidXX); (void)usleep(3330); /* guessed settling time */ gpsd_report(LOG_PROG, "SiRF: unset MID 28...\n"); putbyte(unsetmidXX, 6, 0x1c); (void)sirf_write(session, unsetmidXX); (void)usleep(3330); /* guessed settling time */ gpsd_report(LOG_PROG, "SiRF: unset MID 29...\n"); putbyte(unsetmidXX, 6, 0x1d); (void)sirf_write(session, unsetmidXX); (void)usleep(3330); /* guessed settling time */ gpsd_report(LOG_PROG, "SiRF: unset MID 30...\n"); putbyte(unsetmidXX, 6, 0x1e); (void)sirf_write(session, unsetmidXX); (void)usleep(3330); /* guessed settling time */ gpsd_report(LOG_PROG, "SiRF: unset MID 31...\n"); putbyte(unsetmidXX, 6, 0x1f); (void)sirf_write(session, unsetmidXX); (void)usleep(3330); /* guessed settling time */ #endif /* RECONFIGURE_ENABLE */ } if (event == event_deactivate) { /*@ +charint @*/ static unsigned char moderevert[] = { 0xa0, 0xa2, 0x00, 0x0e, 0x88, 0x00, 0x00, /* pad bytes */ 0x00, /* degraded mode */ 0x00, 0x00, /* pad bytes */ 0x00, 0x00, /* altitude source */ 0x00, /* altitude hold mode */ 0x00, /* use last computed alt */ 0x00, /* reserved */ 0x00, /* degraded mode timeout */ 0x00, /* dead reckoning timeout */ 0x00, /* track smoothing */ 0x00, 0x00, 0xb0, 0xb3 }; /*@ -charint -shiftimplementation @*/ putbyte(moderevert, 7, session->driver.sirf.degraded_mode); putbe16(moderevert, 10, session->driver.sirf.altitude_source_input); putbyte(moderevert, 12, session->driver.sirf.altitude_hold_mode); putbyte(moderevert, 13, session->driver.sirf.altitude_hold_source); putbyte(moderevert, 15, session->driver.sirf.degraded_timeout); putbyte(moderevert, 16, session->driver.sirf.dr_timeout); putbyte(moderevert, 17, session->driver.sirf.track_smooth_mode); /*@ +shiftimplementation @*/ gpsd_report(LOG_PROG, "SiRF: Reverting navigation parameters...\n"); (void)sirf_write(session, moderevert); } } /* this is everything we export */ /* *INDENT-OFF* */ const struct gps_type_t sirf_binary = { .type_name = "SiRF binary", /* full name of type */ .packet_type = SIRF_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no flags set */ .trigger = NULL, /* no trigger */ .channels = SIRF_CHANNELS, /* consumer-grade GPS */ .probe_detect = NULL, /* no probe */ .get_packet = sirf_get, /* be prepared for SiRF or NMEA */ .parse_packet = sirfbin_parse_input,/* parse message packets */ .rtcm_writer = gpsd_write, /* send RTCM data straight */ .event_hook = sirfbin_event_hook,/* lifetime event handler */ #ifdef RECONFIGURE_ENABLE .speed_switcher = sirfbin_speed, /* we can change baud rate */ .mode_switcher = sirfbin_mode, /* there's a mode switcher */ .rate_switcher = NULL, /* no sample-rate switcher */ .min_cycle = 1, /* not relevant, no rate switch */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = sirf_control_send,/* how to send a control string */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = sirf_ntp_offset, #endif /* NTP_SHM_ENABLE */ }; /* *INDENT-ON* */ #endif /* defined(SIRF_ENABLE) && defined(BINARY_ENABLE) */ gpsd-3.9/driver_superstar2.c0000664000175000017500000004314012137766501014333 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include "gpsd.h" #if defined(SUPERSTAR2_ENABLE) && defined(BINARY_ENABLE) #include "bits.h" #include "driver_superstar2.h" /* * These routines are specific to this driver */ static gps_mask_t superstar2_parse_input(struct gps_device_t *); static gps_mask_t superstar2_dispatch(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t superstar2_msg_ack(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t superstar2_msg_navsol_lla(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t superstar2_msg_timing(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t superstar2_msg_svinfo(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t superstar2_msg_iono_utc(struct gps_device_t *, unsigned char *, size_t); static gps_mask_t superstar2_msg_ephemeris(struct gps_device_t *, unsigned char *, size_t); /* * These methods may be called elsewhere in gpsd */ static ssize_t superstar2_control_send(struct gps_device_t *, char *, size_t); static void superstar2_event_hook(struct gps_device_t *, event_t); static ssize_t superstar2_write(struct gps_device_t *, char *, size_t); #ifdef RECONFIGURE_ENABLE static bool superstar2_set_speed(struct gps_device_t *, speed_t, char, int); static void superstar2_set_mode(struct gps_device_t *, int); #endif /* RECONFIGURE_ENABLE */ /* * Decode the message ACK message */ static gps_mask_t superstar2_msg_ack(struct gps_device_t *session UNUSED, unsigned char *buf, size_t data_len) { if (data_len == 11) gpsd_report(LOG_PROG, "superstar2 #126 - " "ACK %d %d %d %d %d\n", buf[5], buf[6], buf[7], buf[8], buf[9]); return 0; } /* * Decode the navigation solution message. The ECEF version is intentionally * unhandled. By suppressing evaluation of it, we gain the desirable feature * that the fix update is atomic and exactly once per cycle. */ static gps_mask_t superstar2_msg_navsol_lla(struct gps_device_t *session, unsigned char *buf, size_t data_len) { gps_mask_t mask; unsigned char flags; double d; struct tm tm; if (data_len != 77) return 0; gpsd_report(LOG_PROG, "superstar2 #20 - user navigation data\n"); mask = 0; /*@ +charint @*/ flags = (unsigned char)getub(buf, 72); if ((flags & 0x0f) != 0x03) /* mode 3 is navigation */ return mask; /*@ -charint @*/ /* extract time data */ (void)memset(&tm, '\0', sizeof(tm)); tm.tm_hour = (int)getub(buf, 4) & 0x1f; tm.tm_min = (int)getub(buf, 5); d = getled64((char *)buf, 6); tm.tm_sec = (int)d; tm.tm_mday = (int)getub(buf, 14); tm.tm_mon = (int)getub(buf, 15) - 1; tm.tm_year = (int)getleu16(buf, 16) - 1900; session->newdata.time = (timestamp_t)timegm(&tm) + (d - tm.tm_sec); mask |= TIME_SET | PPSTIME_IS; /* extract the local tangential plane (ENU) solution */ session->newdata.latitude = getled64((char *)buf, 18) * RAD_2_DEG; session->newdata.longitude = getled64((char *)buf, 26) * RAD_2_DEG; session->newdata.altitude = getlef32((char *)buf, 34); session->newdata.speed = getlef32((char *)buf, 38); session->newdata.track = getlef32((char *)buf, 42) * RAD_2_DEG; session->newdata.climb = getlef32((char *)buf, 54); mask |= LATLON_SET | ALTITUDE_SET | SPEED_SET | TRACK_SET | CLIMB_SET; session->gpsdata.satellites_used = (int)getub(buf, 71) & 0x0f; /*@i3@*/ session->gpsdata.dop.hdop = getleu16(buf, 66) * 0.1; /*@i3@*/ session->gpsdata.dop.vdop = getleu16(buf, 68) * 0.1; /* other DOP if available */ mask |= DOP_SET | USED_IS; flags = (unsigned char)getub(buf, 70); switch (flags & 0x1f) { case 2: session->newdata.mode = MODE_3D; session->gpsdata.status = STATUS_FIX; break; case 4: session->newdata.mode = MODE_3D; session->gpsdata.status = STATUS_DGPS_FIX; break; case 5: session->newdata.mode = MODE_2D; session->gpsdata.status = STATUS_DGPS_FIX; break; case 3: case 6: session->newdata.mode = MODE_2D; session->gpsdata.status = STATUS_FIX; break; default: session->gpsdata.status = STATUS_NO_FIX; session->newdata.mode = MODE_NO_FIX; } mask |= MODE_SET | STATUS_SET; gpsd_report(LOG_DATA, "NAVSOL_LLA: time=%.2f lat=%.2f lon=%.2f alt=%.2f track=%.2f speed=%.2f climb=%.2f mode=%d status=%d hdop=%.2f hdop=%.2f used=%d\n", session->newdata.time, session->newdata.latitude, session->newdata.longitude, session->newdata.altitude, session->newdata.track, session->newdata.speed, session->newdata.climb, session->newdata.mode, session->gpsdata.status, session->gpsdata.dop.hdop, session->gpsdata.dop.vdop, session->gpsdata.satellites_used); return mask; } /** * GPS Satellite Info */ static gps_mask_t superstar2_msg_svinfo(struct gps_device_t *session, unsigned char *buf, size_t data_len) { int i, st, nchan, nsv; if (data_len != 67) return 0; gpsd_report(LOG_PROG, "superstar2 #33 - satellite data\n"); nchan = 12; gpsd_zero_satellites(&session->gpsdata); nsv = 0; /* number of actually used satellites */ for (i = st = 0; i < nchan; i++) { /* get info for one channel/satellite */ int off = i * 5 + 5; unsigned int porn; if ((porn = (unsigned int)getub(buf, off) & 0x1f) == 0) porn = (unsigned int)(getub(buf, off + 3) >> 1) + 87; session->gpsdata.PRN[i] = (int)porn; session->gpsdata.ss[i] = (float)getub(buf, off + 4); session->gpsdata.elevation[i] = (int)getsb(buf, off + 1); session->gpsdata.azimuth[i] = (unsigned short)getub(buf, off + 2) + ((unsigned short)(getub(buf, off + 3) & 0x1) << 1); /*@ +charint @*/ if ((getub(buf, off) & 0x60) == 0x60) session->gpsdata.used[nsv++] = session->gpsdata.PRN[i]; /*@ -charint @*/ if (session->gpsdata.PRN[i]) st++; } session->gpsdata.skyview_time = NAN; session->gpsdata.satellites_used = nsv; session->gpsdata.satellites_visible = st; gpsd_report(LOG_DATA, "SVINFO: visible=%d used=%d mask={SATELLITE|USED}\n", session->gpsdata.satellites_visible, session->gpsdata.satellites_used); return SATELLITE_SET | USED_IS; } static gps_mask_t superstar2_msg_version(struct gps_device_t *session, unsigned char *buf, size_t data_len) { #define SZ 16 char main_sw[SZ], hw_part[SZ], boot_sw[SZ], ser_num[SZ]; /*@ +charint @*/ /* byte 98 is device type, value = 3 means superstar2 */ if ((data_len != 101) || ((getub(buf, 98) & 0x0f) != 3)) return 0; /*@ -charint @*/ (void)snprintf(main_sw, 15, "%s", (char *)buf + 4); (void)snprintf(hw_part, 15, "%s", (char *)buf + 18); (void)snprintf(boot_sw, 15, "%s", (char *)buf + 36); (void)snprintf(ser_num, 14, "%s", (char *)buf + 73); gpsd_report(LOG_PROG, "superstar2 #45 - " "hw part %s boot sw %s main sw %s ser num %s\n", hw_part, boot_sw, main_sw, ser_num); (void)strlcpy(session->subtype, main_sw, sizeof(session->subtype)); gpsd_report(LOG_DATA, "VERSION: subtype='%s' mask={DEVEICEID}\n", session->subtype); return DEVICEID_SET; } /** * GPS Leap Seconds */ static gps_mask_t superstar2_msg_timing(struct gps_device_t *session, unsigned char *buf, size_t data_len) { gps_mask_t mask; struct tm tm; if (data_len != 65) return 0; gpsd_report(LOG_PROG, "superstar2 #113 - timing status\n"); /*@ +charint @*/ if ((getub(buf, 55) & 0x30) != 0) mask = 0; /*@ -charint @*/ else { double d; /* extract time data */ (void)memset(&tm, '\0', sizeof(tm)); tm.tm_mday = (int)getsb(buf, 37); tm.tm_mon = (int)getsb(buf, 38) - 1; tm.tm_year = (int)getles16(buf, 39) - 1900; tm.tm_hour = (int)getsb(buf, 41); tm.tm_min = (int)getsb(buf, 42); d = getled64((char *)buf, 43); tm.tm_sec = (int)d; session->newdata.time = (timestamp_t)timegm(&tm); session->context->leap_seconds = (int)getsb(buf, 20); mask = TIME_SET | PPSTIME_IS; } gpsd_report(LOG_DATA, "TIMING: time=%.2f mask={TIME}\n", session->newdata.time); return mask; } /** * Raw Measurements */ static gps_mask_t superstar2_msg_measurement(struct gps_device_t *session, unsigned char *buf, size_t data_len UNUSED) { gps_mask_t mask = 0; int i, n; unsigned long ul; double t; gpsd_report(LOG_PROG, "superstar2 #23 - measurement block\n"); n = (int)getub(buf, 6); /* number of measurements */ if ((n < 1) || (n > MAXCHANNELS)) { gpsd_report(LOG_INF, "too many measurements\n"); return 0; } t = getled64((char *)buf, 7); /* measurement time */ for (i = 0; i < n; i++) { session->gpsdata.raw.mtime[i] = t; session->gpsdata.PRN[i] = (int)getub(buf, 11 * i + 15) & 0x1f; session->gpsdata.ss[i] = (double)getub(buf, 11 * i * 15 + 1) / 4.0; session->gpsdata.raw.codephase[i] = (double)getleu32(buf, 11 * i * 15 + 2); ul = (unsigned long)getleu32(buf, 11 * i * 15 + 6); session->gpsdata.raw.satstat[i] = (unsigned int)(ul & 0x03L); session->gpsdata.raw.carrierphase[i] = (double)((ul >> 2) & 0x03ffL); session->gpsdata.raw.pseudorange[i] = (double)(ul >> 12); } mask |= RAW_IS; return mask; } /* request for ionospheric and utc time data #75 */ /*@ +charint @*/ static unsigned char iono_utc_msg[] = { 0x01, 0x4b, 0xb4, 0x00, 0x00, 0x01 }; /*@ -charint @*/ /** * Ionospheric/UTC parameters */ static gps_mask_t superstar2_msg_iono_utc(struct gps_device_t *session, unsigned char *buf, size_t data_len UNUSED) { unsigned int i, u; i = (unsigned int)getub(buf, 12); u = (unsigned int)getub(buf, 21); gpsd_report(LOG_PROG, "superstar2 #75 - ionospheric & utc data: iono %s utc %s\n", i ? "ok" : "bad", u ? "ok" : "bad"); session->driver.superstar2.last_iono = time(NULL); return 0; } /** * Ephemeris */ static gps_mask_t superstar2_msg_ephemeris(struct gps_device_t *session, unsigned char *buf, size_t data_len UNUSED) { unsigned int prn; prn = (unsigned int)(getub(buf, 4) & 0x1f); gpsd_report(LOG_PROG, "superstar2 #22 - ephemeris data - prn %u\n", prn); /* ephemeris data updates fairly slowly, but when it does, poll UTC */ if ((time(NULL) - session->driver.superstar2.last_iono) > 60) (void)superstar2_write(session, (char *)iono_utc_msg, sizeof(iono_utc_msg)); return ONLINE_SET; } static ssize_t superstar2_write(struct gps_device_t *session, char *msg, size_t msglen) { unsigned short c = 0; ssize_t i; for (i = 0; i < (ssize_t) (msglen - 2); i++) c += (unsigned short)msg[i]; c += 0x100; msg[(int)msg[3] + 4] = (char)((c >> 8) & 0xff); msg[(int)msg[3] + 5] = (char)(c & 0xff); gpsd_report(LOG_IO, "writing superstar2 control type %d len %zu\n", (int)msg[1] & 0x7f, msglen); return gpsd_write(session, msg, msglen); } /** * Parse the data from the device */ gps_mask_t superstar2_dispatch(struct gps_device_t * session, unsigned char *buf, size_t len) { int type; if (len == 0) return 0; type = (int)buf[SUPERSTAR2_TYPE_OFFSET]; (void)snprintf(session->gpsdata.tag, sizeof(session->gpsdata.tag), "SS2-%d", type); session->cycle_end_reliable = true; switch (type) { case SUPERSTAR2_ACK: /* Message Acknowledgement */ return superstar2_msg_ack(session, buf, len); case SUPERSTAR2_SVINFO: /* Satellite Visibility Data */ return superstar2_msg_svinfo(session, buf, len); case SUPERSTAR2_NAVSOL_LLA: /* Navigation Data */ return superstar2_msg_navsol_lla(session, buf, len) | (CLEAR_IS | REPORT_IS); case SUPERSTAR2_VERSION: /* Hardware/Software Version */ return superstar2_msg_version(session, buf, len); case SUPERSTAR2_TIMING: /* Timing Parameters */ return superstar2_msg_timing(session, buf, len); case SUPERSTAR2_MEASUREMENT: /* Timing Parameters */ return superstar2_msg_measurement(session, buf, len); case SUPERSTAR2_IONO_UTC: return superstar2_msg_iono_utc(session, buf, len); case SUPERSTAR2_EPHEMERIS: return superstar2_msg_ephemeris(session, buf, len); default: gpsd_report(LOG_WARN, "unknown superstar2 packet id 0x%02x length %zd\n", type, len); return 0; } } /********************************************************** * * Externally called routines below here * **********************************************************/ static void superstar2_event_hook(struct gps_device_t *session, event_t event) { if (session->context->readonly) return; if (event == event_identified) { /*@ +charint @*/ unsigned char version_msg[] = { 0x01, 0x2d, 0xd2, 0x00, 0x00, 0x01 }; unsigned char svinfo_msg[] = { 0x01, 0xa1, 0x5e, 0x00, 0x00, 0x01 }; unsigned char timing_msg[] = { 0x01, 0xf1, 0x0e, 0x00, 0x00, 0x01 }; unsigned char navsol_lla_msg[] = { 0x01, 0x94, 0x6b, 0x00, 0x00, 0x01 }; unsigned char ephemeris_msg[] = { 0x01, 0x96, 0x69, 0x00, 0x00, 0x01 }; unsigned char measurement_msg[] = { 0x01, 0x97, 0x68, 0x01, 0x00, 0x01, 0x01 }; /*@ -charint @*/ (void)superstar2_write(session, (char *)timing_msg, sizeof(timing_msg)); (void)superstar2_write(session, (char *)measurement_msg, sizeof(measurement_msg)); (void)superstar2_write(session, (char *)svinfo_msg, sizeof(svinfo_msg)); (void)superstar2_write(session, (char *)navsol_lla_msg, sizeof(navsol_lla_msg)); (void)superstar2_write(session, (char *)version_msg, sizeof(version_msg)); (void)superstar2_write(session, (char *)ephemeris_msg, sizeof(ephemeris_msg)); (void)superstar2_write(session, (char *)iono_utc_msg, sizeof(iono_utc_msg)); session->driver.superstar2.last_iono = time(NULL); } } /* * This is the entry point to the driver. When the packet sniffer recognizes * a packet for this driver, it calls this method which passes the packet to * the binary processor or the nmea processor, depending on the session type. */ static gps_mask_t superstar2_parse_input(struct gps_device_t *session) { gps_mask_t st; if (session->packet.type == SUPERSTAR2_PACKET) { st = superstar2_dispatch(session, session->packet.outbuffer, session->packet.length); session->gpsdata.dev.driver_mode = MODE_BINARY; return st; #ifdef NMEA_ENABLE } else if (session->packet.type == NMEA_PACKET) { st = nmea_parse((char *)session->packet.outbuffer, session); (void)gpsd_switch_driver(session, "Generic NMEA"); session->gpsdata.dev.driver_mode = MODE_NMEA; return st; #endif /* NMEA_ENABLE */ } else return 0; } #ifdef CONTROLSEND_ENABLE static ssize_t superstar2_control_send(struct gps_device_t *session, char *msg, size_t msglen) { /*@ +charint -mayaliasunique @*/ session->msgbuf[0] = 0x1; /* SOH */ session->msgbuf[1] = msg[0]; session->msgbuf[2] = msg[0] ^ 0xff; session->msgbuf[3] = (char)(msglen + 1); (void)memcpy(session->msgbuf + 4, msg + 1, msglen - 1); session->msgbuflen = (size_t) (msglen + 5); /*@ -charint +mayaliasunique @*/ return superstar2_write(session, session->msgbuf, session->msgbuflen); } #endif /* CONTROLSEND_ENABLE */ #ifdef RECONFIGURE_ENABLE static bool superstar2_set_speed(struct gps_device_t *session, speed_t speed, char parity, int stopbits) { /* parity and stopbit switching aren't available on this chip */ if (parity != session->gpsdata.dev.parity || stopbits != (int)session->gpsdata.dev.stopbits) { return false; } else { /*@ +charint @*/ unsigned char speed_msg[] = { 0x01, 0x48, 0xB7, 0x01, 0x00, 0x00, 0x00 }; /* high bit 0 in the mode word means set NMEA mode */ speed_msg[4] = (unsigned char)(speed / 300); /*@ -charint @*/ return (superstar2_write(session, (char *)speed_msg, 7) == 7); } } static void superstar2_set_mode(struct gps_device_t *session, int mode) { if (mode == MODE_NMEA) { /*@ +charint @*/ unsigned char mode_msg[] = { 0x01, 0x48, 0xB7, 0x01, 0x00, 0x00, 0x00 }; /* high bit 0 in the mode word means set NMEA mode */ mode_msg[4] = (unsigned char)(session->gpsdata.dev.baudrate / 300); (void)superstar2_write(session, (char *)mode_msg, 7); /*@ -charint @*/ } else { session->back_to_nmea = false; } } #endif /* RECONFIGURE_ENABLE */ /* *INDENT-OFF* */ const struct gps_type_t superstar2_binary = { /* Full name of type */ .type_name = "SuperStarII binary", /* Associated lexer packet type */ .packet_type = SUPERSTAR2_PACKET, /* Driver type flags */ .flags = DRIVER_NOFLAGS, /* Response string that identifies device (not active) */ .trigger = NULL, /* Number of satellite channels supported by the device */ .channels = 12, /* Startup-time device detector */ .probe_detect = NULL, /* Packet getter (using default routine) */ .get_packet = generic_get, /* Parse message packets */ .parse_packet = superstar2_parse_input, /* RTCM handler (using default routine) */ .rtcm_writer = gpsd_write, /* Fire on various lifetime events */ .event_hook = superstar2_event_hook, #ifdef RECONFIGURE_ENABLE /* Speed (baudrate) switch */ .speed_switcher = superstar2_set_speed, /* Switch to NMEA mode */ .mode_switcher = superstar2_set_mode, /* Message delivery rate switcher (not active) */ .rate_switcher = NULL, /* Minimum cycle time (not used) */ .min_cycle = 1, #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE /* Control string sender - should provide checksum and trailer */ .control_send = superstar2_control_send, #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, /* no method for NTP fudge factor */ #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #endif /* defined(SUPERSTAR2_ENABLE) && defined(BINARY_ENABLE) */ gpsd-3.9/driver_superstar2.h0000664000175000017500000000346612137766501014347 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #ifndef _GPSD_SUPERSTAR2_H_ #define _GPSD_SUPERSTAR2_H_ #define SUPERSTAR2_BASE_SIZE 4 #define SUPERSTAR2_TYPE_OFFSET 1 /* input-only */ #define SUPERSTAR2_RESET 2 #define SUPERSTAR2_LINKUP 63 #define SUPERSTAR2_CHANNEL_INHIBIT 64 #define SUPERSTAR2_TIME_PARAMS 69 #define SUPERSTAR2_ALMANAC_INCREMENT 77 #define SUPERSTAR2_ALMANAC_UPLOAD 79 #define SUPERSTAR2_SET_OPMODE 80 #define SUPERSTAR2_SET_MASK 81 #define SUPERSTAR2_SET_DGPS 83 #define SUPERSTAR2_SET_IONOMODEL 84 #define SUPERSTAR2_SET_MSLMODEL 86 #define SUPERSTAR2_SET_HEIGHT_MODE 87 #define SUPERSTAR2_SET_DATUM 88 #define SUPERSTAR2_SATELLITE_INHIBIT 90 #define SUPERSTAR2_BASE_CONFIG 91 #define SUPERSTAR2_SATELLITE_TRACK 95 #define SUPERSTAR2_NVM_ERASE 99 #define SUPERSTAR2_SET_TIME 103 #define SUPERSTAR2_MESSAGE_CONFIG 105 #define SUPERSTAR2_SERIAL_CONFIG 110 /* output-only */ #define SUPERSTAR2_CHANINF2 7 #define SUPERSTAR2_LINKERR 125 #define SUPERSTAR2_ACK 126 /* bidirectional */ #define SUPERSTAR2_DUMMY 0 #define SUPERSTAR2_CHANINF 6 #define SUPERSTAR2_NAVSOL_LLA 20 #define SUPERSTAR2_NAVSOL_ECEF 21 #define SUPERSTAR2_EPHEMERIS 22 #define SUPERSTAR2_MEASUREMENT 23 #define SUPERSTAR2_RECV_CONFIG 30 #define SUPERSTAR2_SVINFO 33 #define SUPERSTAR2_DGPSCONFIG 43 #define SUPERSTAR2_VERSION 45 #define SUPERSTAR2_BASE_STATUS 47 #define SUPERSTAR2_DGPS_STATUS 48 #define SUPERSTAR2_RECV_STATUS 49 #define SUPERSTAR2_SAT_HEALTH 50 #define SUPERSTAR2_SELFTEST 51 #define SUPERSTAR2_RTCM_DATA 65 #define SUPERSTAR2_SBAS_DATA 67 #define SUPERSTAR2_SBAS_STATUS 68 #define SUPERSTAR2_IONO_UTC 75 #define SUPERSTAR2_ALMANAC_DATA 76 #define SUPERSTAR2_ALMANAC_STATUS 78 #define SUPERSTAR2_TIMING 113 #endif /* _GPSD_SUPERSTAR2_H_ */ gpsd-3.9/driver_tsip.c0000664000175000017500000011437012140075241013170 0ustar esresr/* * Handle the Trimble TSIP packet format * by Rob Janssen, PE1CHL. * * Week counters are not limited to 10 bits. It's unknown what * the firmware is doing to disambiguate them, if anything; it might just * be adding a fixed offset based on a hidden epoch value, in which case * unhappy things will occur on the next rollover. * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include /* for select() */ #include #include #include #include #include #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include "gpsd.h" #include "bits.h" #define USE_SUPERPACKET 1 /* use Super Packet mode? */ #define SEMI_2_DEG (180.0 / 2147483647) /* 2^-31 semicircle to deg */ #ifdef TSIP_ENABLE #define TSIP_CHANNELS 12 static int tsip_write(struct gps_device_t *session, unsigned int id, /*@null@*/ unsigned char *buf, size_t len) { char *ep, *cp; /*@ +charint @*/ session->msgbuf[0] = '\x10'; session->msgbuf[1] = (char)id; ep = session->msgbuf + 2; /*@ -nullderef @*/ for (cp = (char *)buf; len-- > 0; cp++) { if (*cp == '\x10') *ep++ = '\x10'; *ep++ = *cp; } /*@ +nullderef @*/ *ep++ = '\x10'; *ep++ = '\x03'; session->msgbuflen = (size_t) (ep - session->msgbuf); /*@ -charint @*/ gpsd_report(LOG_IO, "Sent TSIP packet id 0x%02x\n", id); if (gpsd_write(session, session->msgbuf, session->msgbuflen) != (ssize_t) session->msgbuflen) return -1; return 0; } /* tsip_detect() * * see if it looks like a TSIP device (speaking 9600O81) is listening and * return 1 if found, 0 if not */ static bool tsip_detect(struct gps_device_t *session) { char buf[BUFSIZ]; bool ret = false; int myfd; fd_set fdset; struct timeval to; speed_t old_baudrate; char old_parity; unsigned int old_stopbits; old_baudrate = session->gpsdata.dev.baudrate; old_parity = session->gpsdata.dev.parity; old_stopbits = session->gpsdata.dev.stopbits; gpsd_set_speed(session, 9600, 'O', 1); /* request firmware revision and look for a valid response */ /*@+ignoresigns@*/ putbyte(buf, 0, 0x10); putbyte(buf, 1, 0x1f); putbyte(buf, 2, 0x10); putbyte(buf, 3, 0x03); /*@+ignoresigns@*/ myfd = session->gpsdata.gps_fd; if (write(myfd, buf, 4) == 4) { unsigned int n; for (n = 0; n < 3; n++) { FD_ZERO(&fdset); FD_SET(myfd, &fdset); to.tv_sec = 1; to.tv_usec = 0; if (select(myfd + 1, &fdset, NULL, NULL, &to) != 1) break; if (generic_get(session) >= 0) { if (session->packet.type == TSIP_PACKET) { gpsd_report(LOG_RAW, "tsip_detect found\n"); ret = true; break; } } } } if (!ret) /* return serial port to original settings */ gpsd_set_speed(session, old_baudrate, old_parity, old_stopbits); return ret; } static gps_mask_t tsip_analyze(struct gps_device_t *session) { int i, j, len, count; gps_mask_t mask = 0; unsigned int id; uint8_t u1, u2, u3, u4, u5; int16_t s1, s2, s3, s4; int32_t sl1, sl2, sl3; uint32_t ul1, ul2; float f1, f2, f3, f4, f5; double d1, d2, d3, d4, d5; time_t now; unsigned char buf[BUFSIZ]; char buf2[BUFSIZ]; if (session->packet.type != TSIP_PACKET) { gpsd_report(LOG_INF, "tsip_analyze packet type %d\n", session->packet.type); return 0; } /*@ +charint @*/ if (session->packet.outbuflen < 4 || session->packet.outbuffer[0] != 0x10) return 0; /* remove DLE stuffing and put data part of message in buf */ memset(buf, 0, sizeof(buf)); buf2[len = 0] = '\0'; for (i = 2; i < (int)session->packet.outbuflen; i++) { if (session->packet.outbuffer[i] == 0x10) if (session->packet.outbuffer[++i] == 0x03) break; (void)snprintf(buf2 + strlen(buf2), sizeof(buf2) - strlen(buf2), "%02x", buf[len++] = session->packet.outbuffer[i]); } /*@ -charint @*/ (void)snprintf(session->gpsdata.tag, sizeof(session->gpsdata.tag), "ID%02x", id = (unsigned)session->packet.outbuffer[1]); gpsd_report(LOG_IO, "TSIP packet id 0x%02x length %d: %s\n", id, len, buf2); (void)time(&now); session->cycle_end_reliable = true; switch (id) { case 0x13: /* Packet Received */ u1 = getub(buf, 0); u2 = getub(buf, 1); gpsd_report(LOG_WARN, "Received packet of type %02x cannot be parsed\n", u1); #if USE_SUPERPACKET if ((int)u1 == 0x8e && (int)u2 == 0x23) { /* no Compact Super Packet */ gpsd_report(LOG_WARN, "No Compact Super Packet, use LFwEI\n"); /* Request LFwEI Super Packet */ putbyte(buf, 0, 0x20); putbyte(buf, 1, 0x01); /* enabled */ (void)tsip_write(session, 0x8e, buf, 2); } #endif /* USE_SUPERPACKET */ break; case 0x41: /* GPS Time */ if (len != 10) break; session->driver.tsip.last_41 = now; /* keep timestamp for request */ f1 = getbef32((char *)buf, 0); /* gpstime */ s1 = getbes16(buf, 4); /* week */ f2 = getbef32((char *)buf, 6); /* leap seconds */ if (f1 >= 0.0 && f2 > 10.0) { session->context->leap_seconds = (int)round(f2); session->context->valid |= LEAP_SECOND_VALID; session->newdata.time = gpsd_gpstime_resolve(session, (unsigned short)s1, (double)f1); mask |= TIME_SET | PPSTIME_IS; } gpsd_report(LOG_INF, "GPS Time %f %d %f\n", f1, s1, f2); break; case 0x42: /* Single-Precision Position Fix, XYZ ECEF */ if (len != 16) break; f1 = getbef32((char *)buf, 0); /* X */ f2 = getbef32((char *)buf, 4); /* Y */ f3 = getbef32((char *)buf, 8); /* Z */ f4 = getbef32((char *)buf, 12); /* time-of-fix */ gpsd_report(LOG_INF, "GPS Position XYZ %f %f %f %f\n", f1, f2, f3, f4); break; case 0x43: /* Velocity Fix, XYZ ECEF */ if (len != 20) break; f1 = getbef32((char *)buf, 0); /* X velocity */ f2 = getbef32((char *)buf, 4); /* Y velocity */ f3 = getbef32((char *)buf, 8); /* Z velocity */ f4 = getbef32((char *)buf, 12); /* bias rate */ f5 = getbef32((char *)buf, 16); /* time-of-fix */ gpsd_report(LOG_INF, "GPS Velocity XYZ %f %f %f %f %f\n", f1, f2, f3, f4, f5); break; case 0x45: /* Software Version Information */ if (len != 10) break; /*@ -formattype @*/ (void)snprintf(session->subtype, sizeof(session->subtype), "%d.%d %02d%02d%02d %d.%d %02d%02d%02d", getub(buf, 0), getub(buf, 1), getub(buf, 4), getub(buf, 2), getub(buf, 3), getub(buf, 5), getub(buf, 6), getub(buf, 9), getub(buf, 7), getub(buf, 8)); /*@ +formattype @*/ gpsd_report(LOG_INF, "Software version: %s\n", session->subtype); mask |= DEVICEID_SET; break; case 0x46: /* Health of Receiver */ if (len != 2) break; session->driver.tsip.last_46 = now; u1 = getub(buf, 0); /* Status code */ u2 = getub(buf, 1); /* Antenna/Battery */ if (u1 != (uint8_t) 0) { session->gpsdata.status = STATUS_NO_FIX; mask |= STATUS_SET; } else { if (session->gpsdata.status < STATUS_FIX) { session->gpsdata.status = STATUS_FIX; mask |= STATUS_SET; } } gpsd_report(LOG_PROG, "Receiver health %02x %02x\n", u1, u2); break; case 0x47: /* Signal Levels for all Satellites */ gpsd_zero_satellites(&session->gpsdata); count = (int)getub(buf, 0); /* satellite count */ if (len != (5 * count + 1)) break; buf2[0] = '\0'; for (i = 0; i < count; i++) { u1 = getub(buf, 5 * i + 1); if ((f1 = getbef32((char *)buf, 5 * i + 2)) < 0) f1 = 0.0; for (j = 0; j < TSIP_CHANNELS; j++) if (session->gpsdata.PRN[j] == (int)u1) { session->gpsdata.ss[j] = f1; break; } (void)snprintf(buf2 + strlen(buf2), sizeof(buf2) - strlen(buf2), " %d=%.1f", (int)u1, f1); } gpsd_report(LOG_PROG, "Signal Levels (%d):%s\n", count, buf2); mask |= SATELLITE_SET; break; case 0x48: /* GPS System Message */ buf[len] = '\0'; gpsd_report(LOG_PROG, "GPS System Message: %s\n", buf); break; case 0x49: /* Almanac Health Page */ break; case 0x4a: /* Single-Precision Position LLA */ if (len != 20) break; session->newdata.latitude = getbef32((char *)buf, 0) * RAD_2_DEG; session->newdata.longitude = getbef32((char *)buf, 4) * RAD_2_DEG; session->newdata.altitude = getbef32((char *)buf, 8); //f1 = getbef32((char *)buf, 12); clock bias */ f2 = getbef32((char *)buf, 16); /* time-of-fix */ if ((session->context->valid & GPS_TIME_VALID)!=0) { session->newdata.time = gpsd_gpstime_resolve(session, (unsigned short)session->context->gps_week, (double)f2); mask |= TIME_SET | PPSTIME_IS; } mask |= LATLON_SET | ALTITUDE_SET | CLEAR_IS | REPORT_IS; gpsd_report(LOG_DATA, "SPPLLA 0x4a " "time=%.2f lat=%.2f lon=%.2f alt=%.2f\n", session->newdata.time, session->newdata.latitude, session->newdata.longitude, session->newdata.altitude); break; case 0x4b: /* Machine/Code ID and Additional Status */ if (len != 3) break; u1 = getub(buf, 0); /* Machine ID */ u2 = getub(buf, 1); /* Status 1 */ u3 = getub(buf, 2); /* Status 2 */ gpsd_report(LOG_INF, "Machine ID %02x %02x %02x\n", u1, u2, u3); #if USE_SUPERPACKET if ((u3 & 0x01) != (uint8_t) 0 && !session->driver.tsip.superpkt) { gpsd_report(LOG_PROG, "Switching to Super Packet mode\n"); /* set new I/O Options for Super Packet output */ putbyte(buf, 0, 0x2c); /* Position: SP, MSL */ putbyte(buf, 1, 0x00); /* Velocity: none (via SP) */ putbyte(buf, 2, 0x00); /* Time: GPS */ putbyte(buf, 3, 0x08); /* Aux: dBHz */ (void)tsip_write(session, 0x35, buf, 4); session->driver.tsip.superpkt = true; } #endif /* USE_SUPERPACKET */ break; case 0x4c: /* Operating Parameters Report */ break; case 0x54: /* One Satellite Bias */ break; case 0x55: /* IO Options */ if (len != 4) break; u1 = getub(buf, 0); /* Position */ u2 = getub(buf, 1); /* Velocity */ u3 = getub(buf, 2); /* Timing */ u4 = getub(buf, 3); /* Aux */ gpsd_report(LOG_INF, "IO Options %02x %02x %02x %02x\n", u1, u2, u3, u4); #if USE_SUPERPACKET if ((u1 & 0x20) != (uint8_t) 0) { /* Output Super Packets? */ /* No LFwEI Super Packet */ putbyte(buf, 0, 0x20); putbyte(buf, 1, 0x00); /* disabled */ (void)tsip_write(session, 0x8e, buf, 2); /* Request Compact Super Packet */ putbyte(buf, 0, 0x23); putbyte(buf, 1, 0x01); /* enabled */ (void)tsip_write(session, 0x8e, buf, 2); session->driver.tsip.req_compact = now; } #endif /* USE_SUPERPACKET */ break; case 0x56: /* Velocity Fix, East-North-Up (ENU) */ if (len != 20) break; f1 = getbef32((char *)buf, 0); /* East velocity */ f2 = getbef32((char *)buf, 4); /* North velocity */ f3 = getbef32((char *)buf, 8); /* Up velocity */ f4 = getbef32((char *)buf, 12); /* clock bias rate */ f5 = getbef32((char *)buf, 16); /* time-of-fix */ session->newdata.climb = f3; /*@ -evalorder @*/ session->newdata.speed = sqrt(pow(f2, 2) + pow(f1, 2)); /*@ +evalorder @*/ if ((session->newdata.track = atan2(f1, f2) * RAD_2_DEG) < 0) session->newdata.track += 360.0; gpsd_report(LOG_INF, "GPS Velocity ENU %f %f %f %f %f\n", f1, f2, f3, f4, f5); mask |= SPEED_SET | TRACK_SET | CLIMB_SET; gpsd_report(LOG_DATA, "VFENU 0x56 " "time=%.2f speed=%.2f track=%.2f climb=%.2f\n", session->newdata.time, session->newdata.speed, session->newdata.track, session->newdata.climb); break; case 0x57: /* Information About Last Computed Fix */ if (len != 8) break; u1 = getub(buf, 0); /* Source of information */ u2 = getub(buf, 1); /* Mfg. diagnostic */ f1 = getbef32((char *)buf, 2); /* gps_time */ s1 = getbes16(buf, 6); /* tsip.gps_week */ /*@ +charint @*/ if (getub(buf, 0) == 0x01) /* good current fix? */ (void)gpsd_gpstime_resolve(session, (unsigned short)s1, (double)f1); /*@ -charint @*/ gpsd_report(LOG_INF, "Fix info %02x %02x %d %f\n", u1, u2, s1, f1); break; case 0x58: /* Satellite System Data/Acknowledge from Receiver */ break; case 0x59: /* Status of Satellite Disable or Ignore Health */ break; case 0x5a: /* Raw Measurement Data */ if (len != 29) break; f1 = getbef32((char *)buf, 5); /* Signal Level */ f2 = getbef32((char *)buf, 9); /* Code phase */ f3 = getbef32((char *)buf, 13); /* Doppler */ d1 = getbed64((char *)buf, 17); /* Time of Measurement */ gpsd_report(LOG_PROG, "Raw Measurement Data %d %f %f %f %f\n", getub(buf, 0), f1, f2, f3, d1); break; case 0x5b: /* Satellite Ephemeris Status */ break; case 0x5c: /* Satellite Tracking Status */ if (len != 24) break; u1 = getub(buf, 0); /* PRN */ u2 = getub(buf, 1); /* chan */ u3 = getub(buf, 2); /* Acquisition flag */ u4 = getub(buf, 3); /* Ephemeris flag */ f1 = getbef32((char *)buf, 4); /* Signal level */ f2 = getbef32((char *)buf, 8); /* time of Last measurement */ d1 = getbef32((char *)buf, 12) * RAD_2_DEG; /* Elevation */ d2 = getbef32((char *)buf, 16) * RAD_2_DEG; /* Azimuth */ i = (int)(u2 >> 3); /* channel number */ gpsd_report(LOG_INF, "Satellite Tracking Status: Ch %2d PRN %3d Res %d Acq %d Eph %2d SNR %4.1f LMT %.04f El %4.1f Az %5.1f\n", i, u1, u2 & 7, u3, u4, f1, f2, d1, d2); if (i < TSIP_CHANNELS) { if (d1 >= 0.0) { session->gpsdata.PRN[i] = (int)u1; session->gpsdata.ss[i] = f1; session->gpsdata.elevation[i] = (int)round(d1); session->gpsdata.azimuth[i] = (int)round(d2); } else { session->gpsdata.PRN[i] = session->gpsdata.elevation[i] = session->gpsdata.azimuth[i] = 0; session->gpsdata.ss[i] = 0.0; } if (++i == session->gpsdata.satellites_visible) { session->gpsdata.skyview_time = NAN; mask |= SATELLITE_SET; /* last of the series */ } if (i > session->gpsdata.satellites_visible) session->gpsdata.satellites_visible = i; } break; case 0x5e: /* Additional Fix Status Report */ break; case 0x6d: /* All-In-View Satellite Selection */ u1 = getub(buf, 0); /* nsvs/dimension */ count = (int)((u1 >> 4) & 0x0f); if (len != (17 + count)) break; session->driver.tsip.last_6d = now; /* keep timestamp for request */ #ifdef __UNUSED__ /* * This looks right, but it sets a spurious mode value when * the satellite constellation looks good to the chip but no * actual fix has yet been acquired. We should set the mode * field (which controls gpsd's fix reporting) only from sentences * that convey actual fix information, like 0x20, otherwise we * get results like triggering their error modeler spuriously. */ switch (u1 & 7) { /* dimension */ case 3: //session->gpsdata.status = STATUS_FIX; session->newdata.mode = MODE_2D; break; case 4: //session->gpsdata.status = STATUS_FIX; session->newdata.mode = MODE_3D; break; default: //session->gpsdata.status = STATUS_NO_FIX; session->newdata.mode = MODE_NO_FIX; break; } mask |= MODE_SET; #endif /* __UNUSED__ */ session->gpsdata.satellites_used = count; session->gpsdata.dop.pdop = getbef32((char *)buf, 1); session->gpsdata.dop.hdop = getbef32((char *)buf, 5); session->gpsdata.dop.vdop = getbef32((char *)buf, 9); session->gpsdata.dop.tdop = getbef32((char *)buf, 13); /*@ -evalorder @*/ session->gpsdata.dop.gdop = sqrt(pow(session->gpsdata.dop.pdop, 2) + pow(session->gpsdata.dop.tdop, 2)); /*@ +evalorder @*/ memset(session->gpsdata.used, 0, sizeof(session->gpsdata.used)); buf2[0] = '\0'; /*@ +charint @*/ for (i = 0; i < count; i++) (void)snprintf(buf2 + strlen(buf2), sizeof(buf2) - strlen(buf2), " %d", session->gpsdata.used[i] = (int)getub(buf, 17 + i)); /*@ -charint @*/ gpsd_report(LOG_DATA, "AIVSS: 0x6d " "status=%d used=%d " "pdop=%.1f hdop=%.1f vdop=%.1f tdop=%.1f gdup=%.1f\n", session->gpsdata.status, session->gpsdata.satellites_used, session->gpsdata.dop.pdop, session->gpsdata.dop.hdop, session->gpsdata.dop.vdop, session->gpsdata.dop.tdop, session->gpsdata.dop.gdop); mask |= DOP_SET | STATUS_SET | USED_IS; break; case 0x6e: /* Synchronized Measurements */ break; #ifdef __UNUSED__ case 0x6f: /* Synchronized Measurements Report */ /*@ +charint @*/ if (len < 20 || getub(buf, 0) != 1 || getub(buf, 1) != 2) break; /*@ -charint @*/ s1 = getbes16(buf, 2); /* number of bytes */ u1 = getub(buf, 20); /* number of SVs */ break; #endif /* __UNUSED__ */ case 0x70: /* Filter Report */ break; case 0x7a: /* NMEA settings */ break; case 0x82: /* Differential Position Fix Mode */ if (len != 1) break; u1 = getub(buf, 0); /* fix mode */ /*@ +charint @*/ if (session->gpsdata.status == STATUS_FIX && (u1 & 0x01) != 0) { session->gpsdata.status = STATUS_DGPS_FIX; mask |= STATUS_SET; } /*@ -charint @*/ gpsd_report(LOG_DATA, "DPFM 0x82 status=%d\n", session->gpsdata.status); break; case 0x83: /* Double-Precision XYZ Position Fix and Bias Information */ if (len != 36) break; d1 = getbed64((char *)buf, 0); /* X */ d2 = getbed64((char *)buf, 8); /* Y */ d3 = getbed64((char *)buf, 16); /* Z */ d4 = getbed64((char *)buf, 24); /* clock bias */ f1 = getbef32((char *)buf, 32); /* time-of-fix */ gpsd_report(LOG_INF, "GPS Position XYZ %f %f %f %f %f\n", d1, d2, d3, d4, f1); break; case 0x84: /* Double-Precision LLA Position Fix and Bias Information */ if (len != 36) break; session->newdata.latitude = getbed64((char *)buf, 0) * RAD_2_DEG; session->newdata.longitude = getbed64((char *)buf, 8) * RAD_2_DEG; session->newdata.altitude = getbed64((char *)buf, 16); //d1 = getbed64((char *)buf, 24); clock bias */ f1 = getbef32((char *)buf, 32); /* time-of-fix */ if ((session->context->valid & GPS_TIME_VALID)!=0) { session->newdata.time = gpsd_gpstime_resolve(session, (unsigned short)session->context->gps_week, (double)f1); mask |= TIME_SET | PPSTIME_IS; } gpsd_report(LOG_INF, "GPS DP LLA %f %f %f %f\n", session->newdata.time, session->newdata.latitude, session->newdata.longitude, session->newdata.altitude); mask |= LATLON_SET | ALTITUDE_SET | CLEAR_IS | REPORT_IS; gpsd_report(LOG_DATA, "DPPLLA 0x84 " "time=%.2f lat=%.2f lon=%.2f alt=%.2f\n", session->newdata.time, session->newdata.latitude, session->newdata.longitude, session->newdata.altitude); break; case 0x8f: /* Super Packet. Well... */ /*@ +charint @*/ u1 = (uint8_t) getub(buf, 0); (void)snprintf(session->gpsdata.tag + strlen(session->gpsdata.tag), sizeof(session->gpsdata.tag) - strlen(session->gpsdata.tag), "%02x", (uint) u1); /*@ -charint @*/ switch (u1) { /* sub-packet ID */ case 0x15: /* Current Datum Values */ if (len != 43) break; s1 = getbes16(buf, 1); /* Datum Index */ d1 = getbed64((char *)buf, 3); /* DX */ d2 = getbed64((char *)buf, 11); /* DY */ d3 = getbed64((char *)buf, 19); /* DZ */ d4 = getbed64((char *)buf, 27); /* A-axis */ d5 = getbed64((char *)buf, 35); /* Eccentricity Squared */ gpsd_report(LOG_INF, "Current Datum %d %f %f %f %f %f\n", s1, d1, d2, d3, d4, d5); break; case 0x20: /* Last Fix with Extra Information (binary fixed point) */ /* CSK sez "why does my Lassen iQ output oversize packets?" */ if ((len != 56) && (len != 64)) break; s1 = getbes16(buf, 2); /* east velocity */ s2 = getbes16(buf, 4); /* north velocity */ s3 = getbes16(buf, 6); /* up velocity */ ul1 = getbeu32(buf, 8); /* time */ sl1 = getbes32(buf, 12); /* latitude */ ul2 = getbeu32(buf, 16); /* longitude */ sl2 = getbes32(buf, 20); /* altitude */ u1 = getub(buf, 24); /* velocity scaling */ u2 = getub(buf, 27); /* fix flags */ u3 = getub(buf, 28); /* num svs */ u4 = getub(buf, 29); /* utc offset */ s4 = getbes16(buf, 30); /* tsip.gps_week */ /* PRN/IODE data follows */ gpsd_report(LOG_RAW, "LFwEI %d %d %d %u %d %u %u %x %x %u %u %d\n", s1, s2, s3, ul1, sl1, ul2, sl2, u1, u2, u3, u4, s4); if ((u1 & 0x01) != (uint8_t) 0) /* check velocity scaling */ d5 = 0.02; else d5 = 0.005; d1 = (double)s1 * d5; /* east velocity m/s */ d2 = (double)s2 * d5; /* north velocity m/s */ session->newdata.climb = (double)s3 * d5; /* up velocity m/s */ /*@ -evalorder @*/ session->newdata.speed = sqrt(pow(d2, 2) + pow(d1, 2)); /*@ +evalorder @*/ if ((session->newdata.track = atan2(d1, d2) * RAD_2_DEG) < 0) session->newdata.track += 360.0; session->newdata.latitude = (double)sl1 * SEMI_2_DEG; /*@i1@*/session->newdata.longitude = ul2 * SEMI_2_DEG; if (session->newdata.longitude > 180.0) session->newdata.longitude -= 360.0; session->gpsdata.separation = wgs84_separation(session->newdata.latitude, session->newdata.longitude); session->newdata.altitude = (double)sl2 * 1e-3 - session->gpsdata.separation;; session->gpsdata.status = STATUS_NO_FIX; session->newdata.mode = MODE_NO_FIX; if ((u2 & 0x01) == (uint8_t) 0) { /* Fix Available */ session->gpsdata.status = STATUS_FIX; if ((u2 & 0x02) != (uint8_t) 0) /* DGPS Corrected */ session->gpsdata.status = STATUS_DGPS_FIX; if ((u2 & 0x04) != (uint8_t) 0) /* Fix Dimension */ session->newdata.mode = MODE_2D; else session->newdata.mode = MODE_3D; } session->gpsdata.satellites_used = (int)u3; if ((int)u4 > 10) { session->context->leap_seconds = (int)u4; session->context->valid |= LEAP_SECOND_VALID; } session->newdata.time = gpsd_gpstime_resolve(session, (unsigned short)s4, (double)ul1 *1e-3); mask |= TIME_SET | PPSTIME_IS | LATLON_SET | ALTITUDE_SET | SPEED_SET | TRACK_SET | CLIMB_SET | STATUS_SET | MODE_SET | CLEAR_IS | REPORT_IS; gpsd_report(LOG_DATA, "SP-LFEI 0x20: time=%.2f lat=%.2f lon=%.2f alt=%.2f " "speed=%.2f track=%.2f climb=%.2f " "mode=%d status=%d\n", session->newdata.time, session->newdata.latitude, session->newdata.longitude, session->newdata.altitude, session->newdata.speed, session->newdata.track, session->newdata.climb, session->newdata.mode, session->gpsdata.status); break; case 0x23: /* Compact Super Packet */ session->driver.tsip.req_compact = 0; /* CSK sez "i don't trust this to not be oversized either." */ if (len < 29) break; ul1 = getbeu32(buf, 1); /* time */ s1 = getbes16(buf, 5); /* tsip.gps_week */ u1 = getub(buf, 7); /* utc offset */ u2 = getub(buf, 8); /* fix flags */ sl1 = getbes32(buf, 9); /* latitude */ ul2 = getbeu32(buf, 13); /* longitude */ sl3 = getbes32(buf, 17); /* altitude */ s2 = getbes16(buf, 21); /* east velocity */ s3 = getbes16(buf, 23); /* north velocity */ s4 = getbes16(buf, 25); /* up velocity */ gpsd_report(LOG_INF, "CSP %u %d %u %u %d %u %d %d %d %d\n", ul1, s1, u1, u2, sl1, ul2, sl3, s2, s3, s4); if ((int)u1 > 10) { session->context->leap_seconds = (int)u1; session->context->valid |= LEAP_SECOND_VALID; } session->newdata.time = gpsd_gpstime_resolve(session, (unsigned short)s1, (double)ul1 *1e3); session->gpsdata.status = STATUS_NO_FIX; session->newdata.mode = MODE_NO_FIX; if ((u2 & 0x01) == (uint8_t) 0) { /* Fix Available */ session->gpsdata.status = STATUS_FIX; if ((u2 & 0x02) != (uint8_t) 0) /* DGPS Corrected */ session->gpsdata.status = STATUS_DGPS_FIX; if ((u2 & 0x04) != (uint8_t) 0) /* Fix Dimension */ session->newdata.mode = MODE_2D; else session->newdata.mode = MODE_3D; } session->newdata.latitude = (double)sl1 * SEMI_2_DEG; session->newdata.longitude = (double)ul2 * SEMI_2_DEG; if (session->newdata.longitude > 180.0) session->newdata.longitude -= 360.0; session->gpsdata.separation = wgs84_separation(session->newdata.latitude, session->newdata.longitude); session->newdata.altitude = (double)sl3 * 1e-3 - session->gpsdata.separation;; if ((u2 & 0x20) != (uint8_t) 0) /* check velocity scaling */ d5 = 0.02; else d5 = 0.005; d1 = (double)s2 * d5; /* east velocity m/s */ d2 = (double)s3 * d5; /* north velocity m/s */ session->newdata.climb = (double)s4 * d5; /* up velocity m/s */ /*@ -evalorder @*/ session->newdata.speed = sqrt(pow(d2, 2) + pow(d1, 2)) * MPS_TO_KNOTS; /*@ +evalorder @*/ if ((session->newdata.track = atan2(d1, d2) * RAD_2_DEG) < 0) session->newdata.track += 360.0; mask |= TIME_SET | PPSTIME_IS | LATLON_SET | ALTITUDE_SET | SPEED_SET | TRACK_SET |CLIMB_SET | STATUS_SET | MODE_SET | CLEAR_IS | REPORT_IS; gpsd_report(LOG_DATA, "SP-CSP 0x23: time=%.2f lat=%.2f lon=%.2f alt=%.2f " "speed=%.2f track=%.2f climb=%.2f mode=%d status=%d\n", session->newdata.time, session->newdata.latitude, session->newdata.longitude, session->newdata.altitude, session->newdata.speed, session->newdata.track, session->newdata.climb, session->newdata.mode, session->gpsdata.status); break; case 0xab: /* Thunderbolt Timing Superpacket */ if (len != 17) { gpsd_report(4, "pkt 0xab len=%d\n", len); break; } session->driver.tsip.last_41 = now; /* keep timestamp for request */ ul1 = getbeu32(buf, 1); /* gpstime */ s1 = (int16_t)getbeu16(buf, 5); /* week */ s2 = getbes16(buf, 7); /* leap seconds */ if ((int)u1 > 10) { session->context->leap_seconds = (int)s2; session->context->valid |= LEAP_SECOND_VALID; session->newdata.time = gpsd_gpstime_resolve(session, (unsigned short)s1, (double)ul1); mask |= TIME_SET | PPSTIME_IS | CLEAR_IS; gpsd_report(LOG_DATA, "SP-TTS 0xab time=%.2f mask={TIME}\n", session->newdata.time); } gpsd_report(4, "GPS Time %u %d %d\n", ul1, s1, s2); break; case 0xac: /* Thunderbolt Position Superpacket */ if (len != 68) { gpsd_report(4, "pkt 0xac len=%d\n", len); break; } session->newdata.latitude = getbed64((char *)buf, 36) * RAD_2_DEG; session->newdata.longitude = getbed64((char *)buf, 44) * RAD_2_DEG; session->newdata.altitude = getbed64((char *)buf, 52); //f1 = getbef32((char *)buf, 16); clock bias */ u1 = getub(buf, 12); /* GPS Decoding Status */ u2 = getub(buf, 1); /* Receiver Mode */ if (u1 != (uint8_t) 0) { session->gpsdata.status = STATUS_NO_FIX; mask |= STATUS_SET; } else { if (session->gpsdata.status < STATUS_FIX) { session->gpsdata.status = STATUS_FIX; mask |= STATUS_SET; } } /* Decode Fix modes */ switch (u2 & 7) { case 0: /* Auto */ switch (u1) { /* * According to the Thunderbolt Manual, the * first byte of the supplemental timing packet * simply indicates the configuration of the * device, not the actual lock, so we need to * look at the decode status. */ case 0: /* "Doing Fixes" */ session->newdata.mode = MODE_3D; break; case 0x0B: /* "Only 3 usable sats" */ session->newdata.mode = MODE_2D; break; case 0x1: /* "Don't have GPS time" */ case 0x3: /* "PDOP is too high" */ case 0x8: /* "No usable sats" */ case 0x9: /* "Only 1 usable sat" */ case 0x0A: /* "Only 2 usable sats */ case 0x0C: /* "The chosen sat is unusable" */ case 0x10: /* TRAIM rejected the fix */ default: session->newdata.mode = MODE_NO_FIX; } break; case 6: /* Clock Hold 2D */ case 3: /* 2D Position Fix */ //session->gpsdata.status = STATUS_FIX; session->newdata.mode = MODE_2D; break; case 7: /* Thunderbolt overdetermined clock */ case 4: /* 3D position Fix */ //session->gpsdata.status = STATUS_FIX; session->newdata.mode = MODE_3D; break; default: //session->gpsdata.status = STATUS_NO_FIX; session->newdata.mode = MODE_NO_FIX; break; } mask |= LATLON_SET | ALTITUDE_SET | MODE_SET | REPORT_IS; gpsd_report(LOG_DATA, "SP-TPS 0xac " "time=%.2f lat=%.2f lon=%.2f alt=%.2f\n", session->newdata.time, session->newdata.latitude, session->newdata.longitude, session->newdata.altitude); break; default: gpsd_report(LOG_WARN, "Unhandled TSIP superpacket type 0x%02x\n", u1); } break; case 0xbb: /* Navigation Configuration */ if (len != 40) break; u1 = getub(buf, 0); /* Subcode */ u2 = getub(buf, 1); /* Operating Dimension */ u3 = getub(buf, 2); /* DGPS Mode */ u4 = getub(buf, 3); /* Dynamics Code */ f1 = getbef32((char *)buf, 5); /* Elevation Mask */ f2 = getbef32((char *)buf, 9); /* AMU Mask */ f3 = getbef32((char *)buf, 13); /* DOP Mask */ f4 = getbef32((char *)buf, 17); /* DOP Switch */ u5 = getub(buf, 21); /* DGPS Age Limit */ gpsd_report(LOG_INF, "Navigation Configuration %u %u %u %u %f %f %f %f %u\n", u1, u2, u3, u4, f1, f2, f3, f4, u5); break; default: gpsd_report(LOG_WARN, "Unhandled TSIP packet type 0x%02x\n", id); break; } /* see if it is time to send some request packets for reports that */ /* the receiver won't send at fixed intervals */ if ((now - session->driver.tsip.last_41) > 5) { /* Request Current Time */ (void)tsip_write(session, 0x21, buf, 0); session->driver.tsip.last_41 = now; } if ((now - session->driver.tsip.last_6d) > 5) { /* Request GPS Receiver Position Fix Mode */ (void)tsip_write(session, 0x24, buf, 0); session->driver.tsip.last_6d = now; } if ((now - session->driver.tsip.last_48) > 60) { /* Request GPS System Message */ (void)tsip_write(session, 0x28, buf, 0); session->driver.tsip.last_48 = now; } if ((now - session->driver.tsip.last_5c) >= 5) { /* Request Current Satellite Tracking Status */ putbyte(buf, 0, 0x00); /* All satellites */ (void)tsip_write(session, 0x3c, buf, 1); session->driver.tsip.last_5c = now; } if ((now - session->driver.tsip.last_46) > 5) { /* Request Health of Receiver */ (void)tsip_write(session, 0x26, buf, 0); session->driver.tsip.last_46 = now; } #if USE_SUPERPACKET if ((session->driver.tsip.req_compact > 0) && ((now - session->driver.tsip.req_compact) > 5)) { /* Compact Superpacket requested but no response */ session->driver.tsip.req_compact = 0; gpsd_report(LOG_WARN, "No Compact Super Packet, use LFwEI\n"); /* Request LFwEI Super Packet */ putbyte(buf, 0, 0x20); putbyte(buf, 1, 0x01); /* enabled */ (void)tsip_write(session, 0x8e, buf, 2); } #endif /* USE_SUPERPACKET */ return mask; } static gps_mask_t tsip_parse_input(struct gps_device_t *session) { gps_mask_t st; if (session->packet.type == TSIP_PACKET) { st = tsip_analyze(session); session->gpsdata.dev.driver_mode = MODE_BINARY; return st; #ifdef EVERMORE_ENABLE } else if (session->packet.type == EVERMORE_PACKET) { (void)gpsd_switch_driver(session, "EverMore binary"); st = evermore_parse(session, session->packet.outbuffer, session->packet.outbuflen); session->gpsdata.dev.driver_mode = MODE_BINARY; return st; #endif /* EVERMORE_ENABLE */ #ifdef SIRF_ENABLE /* * mrd reported that once every couple of weeks his SiRF was flipping * into Trimble binary mode and not recovering. Damn Trimble for not * checksumming their packets, it makes false positives hard to reject. * This should enable the SiRF to recover. */ } else if (session->packet.type == SIRF_PACKET) { (void)gpsd_switch_driver(session, "SiRF binary"); st = sirf_parse(session, session->packet.outbuffer, session->packet.outbuflen); session->gpsdata.dev.driver_mode = MODE_BINARY; return st; #endif /* SIRF_ENABLE */ } else return 0; } #ifdef CONTROLSEND_ENABLE static ssize_t tsip_control_send(struct gps_device_t *session, char *buf, size_t buflen) /* not used by the daemon, it's for gpsctl and friends */ { return (ssize_t) tsip_write(session, (unsigned int)buf[0], (unsigned char *)buf + 1, buflen - 1); } #endif /* CONTROLSEND_ENABLE */ static void tsip_event_hook(struct gps_device_t *session, event_t event) { if (session->context->readonly) return; /* FIX-ME: Resending this might not be needed on reactivation */ if (event == event_identified || event == event_reactivate) { unsigned char buf[100]; /* I/O Options */ putbyte(buf, 0, 0x1e); /* Position: DP, MSL, LLA */ putbyte(buf, 1, 0x02); /* Velocity: ENU */ putbyte(buf, 2, 0x00); /* Time: GPS */ putbyte(buf, 3, 0x08); /* Aux: dBHz */ (void)tsip_write(session, 0x35, buf, 4); } if (event == event_configure) { unsigned char buf[100]; switch (session->packet.counter) { case 0: /* * TSIP is ODD parity 1 stopbit, save original values and * change it Thunderbolts and Copernicus use * 8N1... which isn't exactly a good idea due to the * fragile wire format. We must divine a clever * heuristic to decide if the parity change is required. */ session->driver.tsip.parity = session->gpsdata.dev.parity; session->driver.tsip.stopbits = (uint) session->gpsdata.dev.stopbits; // gpsd_set_speed(session, session->gpsdata.dev.baudrate, 'O', 1); break; case 1: /*@ -shiftimplementation @*/ /* Request Software Versions */ (void)tsip_write(session, 0x1f, NULL, 0); /* Request Current Time */ (void)tsip_write(session, 0x21, NULL, 0); /* Set Operating Parameters */ /* - dynamic code: land */ putbyte(buf, 0, 0x01); /* - elevation mask */ putbef32((char *)buf, 1, 5.0 * DEG_2_RAD); /* - signal level mask */ putbef32((char *)buf, 5, 06.0); /* - PDOP mask */ putbef32((char *)buf, 9, 8.0); /* - PDOP switch */ putbef32((char *)buf, 13, 6.0); /*@ +shiftimplementation @*/ (void)tsip_write(session, 0x2c, buf, 17); /* Set Position Fix Mode (auto 2D/3D) */ putbyte(buf, 0, 0x00); (void)tsip_write(session, 0x22, buf, 1); /* Request GPS Systems Message */ (void)tsip_write(session, 0x28, NULL, 0); /* Request Current Datum Values */ (void)tsip_write(session, 0x37, NULL, 0); putbyte(buf, 0, 0x15); (void)tsip_write(session, 0x8e, buf, 1); /* Request Navigation Configuration */ putbyte(buf, 0, 0x03); (void)tsip_write(session, 0xbb, buf, 1); break; } } if (event == event_deactivate) { /* restore saved parity and stopbits when leaving TSIP mode */ gpsd_set_speed(session, session->gpsdata.dev.baudrate, session->driver.tsip.parity, session->driver.tsip.stopbits); } } #ifdef RECONFIGURE_ENABLE static bool tsip_speed_switch(struct gps_device_t *session, speed_t speed, char parity, int stopbits) { unsigned char buf[100]; switch (parity) { case 'E': case 2: parity = (char)2; break; case 'O': case 1: parity = (char)1; break; case 'N': case 0: default: parity = (char)0; break; } putbyte(buf, 0, 0xff); /* current port */ putbyte(buf, 1, (round(log((double)speed / 300) / M_LN2)) + 2); /* input dev.baudrate */ putbyte(buf, 2, getub(buf, 1)); /* output baudrate */ putbyte(buf, 3, 3); /* character width (8 bits) */ putbyte(buf, 4, parity); /* parity (normally odd) */ putbyte(buf, 5, stopbits - 1); /* stop bits (normally 1 stopbit) */ putbyte(buf, 6, 0); /* flow control (none) */ putbyte(buf, 7, 0x02); /* input protocol (TSIP) */ putbyte(buf, 8, 0x02); /* output protocol (TSIP) */ putbyte(buf, 9, 0); /* reserved */ (void)tsip_write(session, 0xbc, buf, 10); return true; /* it would be nice to error-check this */ } static void tsip_mode(struct gps_device_t *session, int mode) { if (mode == MODE_NMEA) { unsigned char buf[16]; /* First turn on the NMEA messages we want */ putbyte(buf, 0, 0x00); /* subcode 0 */ putbyte(buf, 1, 0x01); /* 1-second fix interval */ putbyte(buf, 2, 0x00); /* Reserved */ putbyte(buf, 3, 0x00); /* Reserved */ putbyte(buf, 4, 0x01); /* 0=RMC, 1-7=Reserved */ putbyte(buf, 5, 0x19); /* 0=GGA, 1=GGL, 2=VTG, 3=GSV, */ /* 4=GSA, 5=ZDA, 6-7=Reserved */ (void)tsip_write(session, 0x7A, buf, 6); /* Now switch to NMEA mode */ memset(buf, 0, sizeof(buf)); putbyte(buf, 0, 0xff); /* current port */ putbyte(buf, 1, 0x06); /* 4800 bps input */ putbyte(buf, 2, 0x06); /* 4800 bps output */ putbyte(buf, 3, 0x03); /* 8 data bits */ putbyte(buf, 4, 0x00); /* No parity */ putbyte(buf, 5, 0x00); /* 1 stop bit */ putbyte(buf, 6, 0x00); /* No flow control */ putbyte(buf, 7, 0x02); /* Input protocol TSIP */ putbyte(buf, 8, 0x04); /* Output protocol NMEA */ putbyte(buf, 9, 0x00); /* Reserved */ (void)tsip_write(session, 0xBC, buf, 10); } else if (mode == MODE_BINARY) { /* The speed switcher also puts us back in TSIP, so call it */ /* with the default 9600 8O1. */ // FIX-ME: Should preserve the current speed. // (void)tsip_speed_switch(session, 9600, 'O', 1); ; } else { gpsd_report(LOG_ERROR, "unknown mode %i requested\n", mode); } } #endif /* RECONFIGURE_ENABLE */ #ifdef NTPSHM_ENABLE static double tsip_ntp_offset(struct gps_device_t *session UNUSED) { /* FIX-ME: is a constant offset right here? */ return 0.075; } #endif /* NTPSHM_ENABLE */ /* this is everything we export */ /* *INDENT-OFF* */ const struct gps_type_t tsip_binary = { .type_name = "Trimble TSIP", /* full name of type */ .packet_type = TSIP_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no flags set */ .trigger = NULL, /* no trigger */ .channels = TSIP_CHANNELS, /* consumer-grade GPS */ .probe_detect = tsip_detect, /* probe for 9600O81 device */ .get_packet = generic_get, /* use the generic packet getter */ .parse_packet = tsip_parse_input, /* parse message packets */ .rtcm_writer = NULL, /* doesn't accept DGPS corrections */ .event_hook = tsip_event_hook, /* fire on various lifetime events */ #ifdef RECONFIGURE_ENABLE .speed_switcher = tsip_speed_switch,/* change baud rate */ .mode_switcher = tsip_mode, /* there is a mode switcher */ .rate_switcher = NULL, /* no rate switcher */ .min_cycle = 1, /* not relevant, no rate switcher */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = tsip_control_send,/* how to send commands */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = tsip_ntp_offset, #endif /* NTPSHM_ENABLE */ }; /* *INDENT-ON* */ #endif /* TSIP_ENABLE */ gpsd-3.9/driver_ubx.c0000664000175000017500000005622012022345475013016 0ustar esresr/* * UBX driver. All capabilities are common to Antaris4 and uBlox6. * Reference manuals are at * http://www.u-blox.com/en/download/documents-a-resources/u-blox-6-gps-modules-resources.html * * Week counters are not limited to 10 bits. It's unknown what * the firmware is doing to disambiguate them, if anything; it might just * be adding a fixed offset based on a hidden epoch value, in which case * unhappy things will occur on the next rollover. * * For the Antaris 4, the default leap-secoond offset (before getting one from * the sats, one presumes) is 0sec; for the uBlox6 it's 15sec. * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. * */ #include #include #include #include #include #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include "gpsd.h" #if defined(UBX_ENABLE) && defined(BINARY_ENABLE) #include "driver_ubx.h" #include "bits.h" /* * A ubx packet looks like this: * leader: 0xb5 0x62 * message class: 1 byte * message type: 1 byte * length of payload: 2 bytes * payload: variable length * checksum: 2 bytes * * see also the FV25 and UBX documents on reference.html */ #define UBX_PREFIX_LEN 6 #define UBX_CLASS_OFFSET 2 #define UBX_TYPE_OFFSET 3 static gps_mask_t ubx_parse(struct gps_device_t *session, unsigned char *buf, size_t len); static gps_mask_t ubx_msg_nav_sol(struct gps_device_t *session, unsigned char *buf, size_t data_len); static gps_mask_t ubx_msg_nav_dop(struct gps_device_t *session, unsigned char *buf, size_t data_len); static gps_mask_t ubx_msg_nav_timegps(struct gps_device_t *session, unsigned char *buf, size_t data_len); static gps_mask_t ubx_msg_nav_svinfo(struct gps_device_t *session, unsigned char *buf, size_t data_len); static void ubx_msg_sbas(struct gps_device_t *session, unsigned char *buf); static void ubx_msg_inf(unsigned char *buf, size_t data_len); /** * Navigation solution message */ static gps_mask_t ubx_msg_nav_sol(struct gps_device_t *session, unsigned char *buf, size_t data_len) { unsigned short gw; unsigned int tow, flags; double epx, epy, epz, evx, evy, evz; unsigned char navmode; gps_mask_t mask; if (data_len != 52) return 0; flags = (unsigned int)getub(buf, 11); mask = 0; if ((flags & (UBX_SOL_VALID_WEEK | UBX_SOL_VALID_TIME)) != 0) { tow = (unsigned int)getleu32(buf, 0); gw = (unsigned short)getles16(buf, 8); session->newdata.time = gpsd_gpstime_resolve(session, gw, tow / 1000.0); mask |= TIME_SET | PPSTIME_IS; } epx = (double)(getles32(buf, 12) / 100.0); epy = (double)(getles32(buf, 16) / 100.0); epz = (double)(getles32(buf, 20) / 100.0); evx = (double)(getles32(buf, 28) / 100.0); evy = (double)(getles32(buf, 32) / 100.0); evz = (double)(getles32(buf, 36) / 100.0); ecef_to_wgs84fix(&session->newdata, &session->gpsdata.separation, epx, epy, epz, evx, evy, evz); mask |= LATLON_SET | ALTITUDE_SET | SPEED_SET | TRACK_SET | CLIMB_SET; session->newdata.epx = session->newdata.epy = (double)(getles32(buf, 24) / 100.0) / sqrt(2); session->newdata.eps = (double)(getles32(buf, 40) / 100.0); /* Better to have a single point of truth about DOPs */ //session->gpsdata.dop.pdop = (double)(getleu16(buf, 44)/100.0); session->gpsdata.satellites_used = (int)getub(buf, 47); navmode = (unsigned char)getub(buf, 10); switch (navmode) { case UBX_MODE_TMONLY: case UBX_MODE_3D: session->newdata.mode = MODE_3D; break; case UBX_MODE_2D: case UBX_MODE_DR: /* consider this too as 2D */ case UBX_MODE_GPSDR: /* FIX-ME: DR-aided GPS may be valid 3D */ session->newdata.mode = MODE_2D; break; default: session->newdata.mode = MODE_NO_FIX; } if ((flags & UBX_SOL_FLAG_DGPS) != 0) session->gpsdata.status = STATUS_DGPS_FIX; else if (session->newdata.mode != MODE_NO_FIX) session->gpsdata.status = STATUS_FIX; mask |= MODE_SET | STATUS_SET; gpsd_report(LOG_DATA, "NAVSOL: time=%.2f lat=%.2f lon=%.2f alt=%.2f track=%.2f speed=%.2f climb=%.2f mode=%d status=%d used=%d\n", session->newdata.time, session->newdata.latitude, session->newdata.longitude, session->newdata.altitude, session->newdata.track, session->newdata.speed, session->newdata.climb, session->newdata.mode, session->gpsdata.status, session->gpsdata.satellites_used); return mask; } /** * Dilution of precision message */ static gps_mask_t ubx_msg_nav_dop(struct gps_device_t *session, unsigned char *buf, size_t data_len) { if (data_len != 18) return 0; /* * We make a deliberate choice not to clear DOPs from the * last skyview here, but rather to treat this as a supplement * to our calculations from the visiniolity matrix, trusting * the firmware algorithms over ours. */ session->gpsdata.dop.gdop = (double)(getleu16(buf, 4) / 100.0); session->gpsdata.dop.pdop = (double)(getleu16(buf, 6) / 100.0); session->gpsdata.dop.tdop = (double)(getleu16(buf, 8) / 100.0); session->gpsdata.dop.vdop = (double)(getleu16(buf, 10) / 100.0); session->gpsdata.dop.hdop = (double)(getleu16(buf, 12) / 100.0); gpsd_report(LOG_DATA, "NAVDOP: gdop=%.2f pdop=%.2f " "hdop=%.2f vdop=%.2f tdop=%.2f mask={DOP}\n", session->gpsdata.dop.gdop, session->gpsdata.dop.hdop, session->gpsdata.dop.vdop, session->gpsdata.dop.pdop, session->gpsdata.dop.tdop); return DOP_SET; } /** * GPS Leap Seconds */ static gps_mask_t ubx_msg_nav_timegps(struct gps_device_t *session, unsigned char *buf, size_t data_len) { unsigned int gw, tow, flags; if (data_len != 16) return 0; tow = (unsigned int)getleu32(buf, 0); gw = (unsigned int)getles16(buf, 8); flags = (unsigned int)getub(buf, 11); if ((flags & 0x7) != 0) session->context->leap_seconds = (int)getub(buf, 10); session->newdata.time = gpsd_gpstime_resolve(session, (unsigned short int)gw, (double)tow / 1000.0); gpsd_report(LOG_DATA, "TIMEGPS: time=%.2f mask={TIME}\n", session->newdata.time); return TIME_SET | PPSTIME_IS; } /** * GPS Satellite Info */ static gps_mask_t ubx_msg_nav_svinfo(struct gps_device_t *session, unsigned char *buf, size_t data_len) { unsigned int i, j, nchan, nsv, st; if (data_len < 152) { gpsd_report(LOG_PROG, "runt svinfo (datalen=%zd)\n", data_len); return 0; } /*@ +charint @*/ nchan = (unsigned int)getub(buf, 4); if (nchan > MAXCHANNELS) { gpsd_report(LOG_WARN, "Invalid NAV SVINFO message, >%d reported visible", MAXCHANNELS); return 0; } /*@ -charint @*/ gpsd_zero_satellites(&session->gpsdata); nsv = 0; for (i = j = st = 0; i < nchan; i++) { unsigned int off = 8 + 12 * i; if ((int)getub(buf, off + 4) == 0) continue; /* LEA-5H seems to have a bug reporting sats it does not see or hear */ session->gpsdata.PRN[j] = (int)getub(buf, off + 1); session->gpsdata.ss[j] = (float)getub(buf, off + 4); session->gpsdata.elevation[j] = (int)getsb(buf, off + 5); session->gpsdata.azimuth[j] = (int)getles16(buf, off + 6); if (session->gpsdata.PRN[j]) st++; /*@ -predboolothers */ if (getub(buf, off + 2) & 0x01) session->gpsdata.used[nsv++] = session->gpsdata.PRN[j]; if (session->gpsdata.PRN[j] == (int)session->driver.ubx.sbas_in_use) session->gpsdata.used[nsv++] = session->gpsdata.PRN[j]; /*@ +predboolothers */ j++; } session->gpsdata.skyview_time = NAN; session->gpsdata.satellites_visible = (int)st; session->gpsdata.satellites_used = (int)nsv; gpsd_report(LOG_DATA, "SVINFO: visible=%d used=%d mask={SATELLITE|USED}\n", session->gpsdata.satellites_visible, session->gpsdata.satellites_used); return SATELLITE_SET | USED_IS; } /* * SBAS Info */ static void ubx_msg_sbas(struct gps_device_t *session, unsigned char *buf) { #ifdef __UNUSED_DEBUG__ unsigned int i, nsv; gpsd_report(LOG_WARN, "SBAS: %d %d %d %d %d\n", (int)getub(buf, 4), (int)getub(buf, 5), (int)getub(buf, 6), (int)getub(buf, 7), (int)getub(buf, 8)); nsv = (int)getub(buf, 8); for (i = 0; i < nsv; i++) { int off = 12 + 12 * i; gpsd_report(LOG_WARN, "SBAS info on SV: %d\n", (int)getub(buf, off)); } #endif /* __UNUSED_DEBUG__ */ /* really 'in_use' depends on the sats info, EGNOS is still in test */ /* In WAAS areas one might also check for the type of corrections indicated */ session->driver.ubx.sbas_in_use = (unsigned char)getub(buf, 4); } /* * Raw Subframes */ static gps_mask_t ubx_msg_sfrb(struct gps_device_t *session, unsigned char *buf) { unsigned int i, chan, svid; uint32_t words[10]; chan = (unsigned int)getub(buf, 0); svid = (unsigned int)getub(buf, 1); gpsd_report(LOG_PROG, "UBX_RXM_SFRB: %u %u\n", chan, svid); /* UBX does all the parity checking, but still bad data gets through */ for (i = 0; i < 10; i++) { words[i] = (uint32_t)getleu32(buf, 4 * i + 2) & 0xffffff; } return gpsd_interpret_subframe(session, svid, words); } static void ubx_msg_inf(unsigned char *buf, size_t data_len) { unsigned short msgid; static char txtbuf[MAX_PACKET_LENGTH]; msgid = (unsigned short)((buf[2] << 8) | buf[3]); if (data_len > MAX_PACKET_LENGTH - 1) data_len = MAX_PACKET_LENGTH - 1; (void)strlcpy(txtbuf, (char *)buf + UBX_PREFIX_LEN, MAX_PACKET_LENGTH); txtbuf[data_len] = '\0'; switch (msgid) { case UBX_INF_DEBUG: gpsd_report(LOG_PROG, "UBX_INF_DEBUG: %s\n", txtbuf); break; case UBX_INF_TEST: gpsd_report(LOG_PROG, "UBX_INF_TEST: %s\n", txtbuf); break; case UBX_INF_NOTICE: gpsd_report(LOG_INF, "UBX_INF_NOTICE: %s\n", txtbuf); break; case UBX_INF_WARNING: gpsd_report(LOG_WARN, "UBX_INF_WARNING: %s\n", txtbuf); break; case UBX_INF_ERROR: gpsd_report(LOG_WARN, "UBX_INF_ERROR: %s\n", txtbuf); break; default: break; } return; } /*@ +charint @*/ gps_mask_t ubx_parse(struct gps_device_t * session, unsigned char *buf, size_t len) { size_t data_len; unsigned short msgid; gps_mask_t mask = 0; int i; /* the packet at least contains a head long enough for an empty message */ if (len < UBX_PREFIX_LEN) return 0; session->cycle_end_reliable = true; /* extract message id and length */ msgid = (buf[2] << 8) | buf[3]; data_len = (size_t) getles16(buf, 4); switch (msgid) { case UBX_NAV_POSECEF: gpsd_report(LOG_IO, "UBX_NAV_POSECEF\n"); break; case UBX_NAV_POSLLH: gpsd_report(LOG_IO, "UBX_NAV_POSLLH\n"); break; case UBX_NAV_STATUS: gpsd_report(LOG_IO, "UBX_NAV_STATUS\n"); break; case UBX_NAV_DOP: gpsd_report(LOG_PROG, "UBX_NAV_DOP\n"); mask = ubx_msg_nav_dop(session, &buf[UBX_PREFIX_LEN], data_len); break; case UBX_NAV_SOL: gpsd_report(LOG_PROG, "UBX_NAV_SOL\n"); mask = ubx_msg_nav_sol(session, &buf[UBX_PREFIX_LEN], data_len) | (CLEAR_IS | REPORT_IS); break; case UBX_NAV_POSUTM: gpsd_report(LOG_IO, "UBX_NAV_POSUTM\n"); break; case UBX_NAV_VELECEF: gpsd_report(LOG_IO, "UBX_NAV_VELECEF\n"); break; case UBX_NAV_VELNED: gpsd_report(LOG_IO, "UBX_NAV_VELNED\n"); break; case UBX_NAV_TIMEGPS: gpsd_report(LOG_PROG, "UBX_NAV_TIMEGPS\n"); mask = ubx_msg_nav_timegps(session, &buf[UBX_PREFIX_LEN], data_len); break; case UBX_NAV_TIMEUTC: gpsd_report(LOG_IO, "UBX_NAV_TIMEUTC\n"); break; case UBX_NAV_CLOCK: gpsd_report(LOG_IO, "UBX_NAV_CLOCK\n"); break; case UBX_NAV_SVINFO: gpsd_report(LOG_PROG, "UBX_NAV_SVINFO\n"); mask = ubx_msg_nav_svinfo(session, &buf[UBX_PREFIX_LEN], data_len); break; case UBX_NAV_DGPS: gpsd_report(LOG_IO, "UBX_NAV_DGPS\n"); break; case UBX_NAV_SBAS: gpsd_report(LOG_IO, "UBX_NAV_SBAS\n"); ubx_msg_sbas(session, &buf[6]); break; case UBX_NAV_EKFSTATUS: gpsd_report(LOG_IO, "UBX_NAV_EKFSTATUS\n"); break; case UBX_RXM_RAW: gpsd_report(LOG_IO, "UBX_RXM_RAW\n"); break; case UBX_RXM_SFRB: mask = ubx_msg_sfrb(session, &buf[UBX_PREFIX_LEN]); break; case UBX_RXM_SVSI: gpsd_report(LOG_PROG, "UBX_RXM_SVSI\n"); break; case UBX_RXM_ALM: gpsd_report(LOG_IO, "UBX_RXM_ALM\n"); break; case UBX_RXM_EPH: gpsd_report(LOG_IO, "UBX_RXM_EPH\n"); break; case UBX_RXM_POSREQ: gpsd_report(LOG_IO, "UBX_RXM_POSREQ\n"); break; case UBX_MON_SCHED: gpsd_report(LOG_IO, "UBX_MON_SCHED\n"); break; case UBX_MON_IO: gpsd_report(LOG_IO, "UBX_MON_IO\n"); break; case UBX_MON_IPC: gpsd_report(LOG_IO, "UBX_MON_IPC\n"); break; case UBX_MON_VER: gpsd_report(LOG_IO, "UBX_MON_VER\n"); break; case UBX_MON_EXCEPT: gpsd_report(LOG_IO, "UBX_MON_EXCEPT\n"); break; case UBX_MON_MSGPP: gpsd_report(LOG_IO, "UBX_MON_MSGPP\n"); break; case UBX_MON_RXBUF: gpsd_report(LOG_IO, "UBX_MON_RXBUF\n"); break; case UBX_MON_TXBUF: gpsd_report(LOG_IO, "UBX_MON_TXBUF\n"); break; case UBX_MON_HW: gpsd_report(LOG_IO, "UBX_MON_HW\n"); break; case UBX_MON_USB: gpsd_report(LOG_IO, "UBX_MON_USB\n"); break; case UBX_INF_DEBUG: /* FALLTHROUGH */ case UBX_INF_TEST: /* FALLTHROUGH */ case UBX_INF_NOTICE: /* FALLTHROUGH */ case UBX_INF_WARNING: /* FALLTHROUGH */ case UBX_INF_ERROR: ubx_msg_inf(buf, data_len); break; case UBX_TIM_TP: gpsd_report(LOG_IO, "UBX_TIM_TP\n"); break; case UBX_TIM_TM: gpsd_report(LOG_IO, "UBX_TIM_TM\n"); break; case UBX_TIM_TM2: gpsd_report(LOG_IO, "UBX_TIM_TM2\n"); break; case UBX_TIM_SVIN: gpsd_report(LOG_IO, "UBX_TIM_SVIN\n"); break; case UBX_CFG_PRT: gpsd_report(LOG_IO, "UBX_CFG_PRT\n"); for (i = 0; i < (int)sizeof(session->driver.ubx.port_settings); i++) session->driver.ubx.port_settings[i] = buf[UBX_PREFIX_LEN+i]; /* turn off NMEA output on this port */ session->driver.ubx.port_settings[14] &= ~0x02; (void)ubx_write(session, 0x06, 0x00, session->driver.ubx.port_settings, sizeof(session->driver.ubx.port_settings)); session->driver.ubx.have_port_configuration = true; break; case UBX_ACK_NAK: gpsd_report(LOG_IO, "UBX_ACK_NAK, class: %02x, id: %02x\n", buf[UBX_CLASS_OFFSET], buf[UBX_TYPE_OFFSET]); break; case UBX_ACK_ACK: gpsd_report(LOG_IO, "UBX_ACK_ACK, class: %02x, id: %02x\n", buf[UBX_CLASS_OFFSET], buf[UBX_TYPE_OFFSET]); break; default: gpsd_report(LOG_WARN, "UBX: unknown packet id 0x%04hx (length %zd)\n", msgid, len); } if (mask) (void)snprintf(session->gpsdata.tag, sizeof(session->gpsdata.tag), "0x%04hx", msgid); return mask | ONLINE_SET; } /*@ -charint @*/ static gps_mask_t parse_input(struct gps_device_t *session) { gps_mask_t st = 0; if (session->packet.type == UBX_PACKET) { st = ubx_parse(session, session->packet.outbuffer, session->packet.outbuflen); session->gpsdata.dev.driver_mode = MODE_BINARY; #ifdef NMEA_ENABLE } else if (session->packet.type == NMEA_PACKET) { st = nmea_parse((char *)session->packet.outbuffer, session); session->gpsdata.dev.driver_mode = MODE_NMEA; #endif /* NMEA_ENABLE */ } return st; } bool ubx_write(struct gps_device_t * session, unsigned int msg_class, unsigned int msg_id, unsigned char *msg, size_t data_len) { unsigned char CK_A, CK_B; ssize_t count; size_t i; bool ok; /*@ -type @*/ session->msgbuf[0] = 0xb5; session->msgbuf[1] = 0x62; CK_A = CK_B = 0; session->msgbuf[2] = msg_class; session->msgbuf[3] = msg_id; session->msgbuf[4] = data_len & 0xff; session->msgbuf[5] = (data_len >> 8) & 0xff; assert(msg != NULL || data_len == 0); if (msg != NULL) (void)memcpy(&session->msgbuf[6], msg, data_len); /* calculate CRC */ for (i = 2; i < 6; i++) { CK_A += session->msgbuf[i]; CK_B += CK_A; } /*@ -nullderef @*/ if (msg != NULL) for (i = 0; i < data_len; i++) { CK_A += msg[i]; CK_B += CK_A; } session->msgbuf[6 + data_len] = CK_A; session->msgbuf[7 + data_len] = CK_B; session->msgbuflen = data_len + 8; /*@ +type @*/ gpsd_report(LOG_IO, "=> GPS: UBX class: %02x, id: %02x, len: %zd, crc: %02x%02x\n", msg_class, msg_id, data_len, CK_A, CK_B); count = gpsd_write(session, session->msgbuf, session->msgbuflen); ok = (count == (ssize_t) session->msgbuflen); /*@ +nullderef @*/ return (ok); } #ifdef CONTROLSEND_ENABLE static ssize_t ubx_control_send(struct gps_device_t *session, char *msg, size_t data_len) /* not used by gpsd, it's for gpsctl and friends */ { return ubx_write(session, (unsigned int)msg[0], (unsigned int)msg[1], (unsigned char *)msg + 2, (size_t)(data_len - 2)) ? ((ssize_t) (data_len + 7)) : -1; } #endif /* CONTROLSEND_ENABLE */ static void ubx_catch_model(struct gps_device_t *session, unsigned char *buf, size_t len) { /*@ +charint */ unsigned char *ip = &buf[19]; unsigned char *op = (unsigned char *)session->subtype; size_t end = ((len - 19) < 63) ? (len - 19) : 63; size_t i; for (i = 0; i < end; i++) { if ((*ip == 0x00) || (*ip == '*')) { *op = 0x00; break; } *(op++) = *(ip++); } /*@ -charint */ } static void ubx_event_hook(struct gps_device_t *session, event_t event) { if (session->context->readonly) return; if (event == event_triggermatch) ubx_catch_model(session, session->packet.outbuffer, session->packet.outbuflen); else if (event == event_identified || event == event_reactivate) { unsigned char msg[32]; gpsd_report(LOG_IO, "UBX configure: %d\n", session->packet.counter); (void)ubx_write(session, 0x06u, 0x00, NULL, 0); /* get this port's settings */ /*@ -type @*/ msg[0] = 0x03; /* SBAS mode enabled, accept testbed mode */ msg[1] = 0x07; /* SBAS usage: range, differential corrections and integrity */ msg[2] = 0x03; /* use the maximun search range: 3 channels */ msg[3] = 0x00; /* PRN numbers to search for all set to 0 => auto scan */ msg[4] = 0x00; msg[5] = 0x00; msg[6] = 0x00; msg[7] = 0x00; (void)ubx_write(session, 0x06u, 0x16, msg, 8); msg[0] = 0x01; /* class */ msg[1] = 0x04; /* msg id = UBX_NAV_DOP */ msg[2] = 0x01; /* rate */ (void)ubx_write(session, 0x06u, 0x01, msg, 3); msg[0] = 0x01; /* class */ msg[1] = 0x06; /* msg id = NAV-SOL */ msg[2] = 0x01; /* rate */ (void)ubx_write(session, 0x06u, 0x01, msg, 3); msg[0] = 0x01; /* class */ msg[1] = 0x20; /* msg id = UBX_NAV_TIMEGPS */ msg[2] = 0x01; /* rate */ (void)ubx_write(session, 0x06u, 0x01, msg, 3); msg[0] = 0x01; /* class */ msg[1] = 0x30; /* msg id = NAV-SVINFO */ msg[2] = 0x0a; /* rate */ (void)ubx_write(session, 0x06u, 0x01, msg, 3); msg[0] = 0x01; /* class */ msg[1] = 0x32; /* msg id = NAV-SBAS */ msg[2] = 0x0a; /* rate */ (void)ubx_write(session, 0x06u, 0x01, msg, 3); /*@ +type @*/ } else if (event == event_deactivate) { /*@ -type @*/ unsigned char msg[4] = { 0x00, 0x00, /* hotstart */ 0x01, /* controlled software reset */ 0x00 }; /* reserved */ /*@ +type @*/ gpsd_report(LOG_IO, "UBX revert\n"); /* Reverting all in one fast and reliable reset */ (void)ubx_write(session, 0x06, 0x04, msg, 4); /* CFG-RST */ } } #ifdef RECONFIGURE_ENABLE static void ubx_nmea_mode(struct gps_device_t *session, int mode) { if (!session->driver.ubx.have_port_configuration) return; /*@+charint@*/ if (session->driver.ubx.port_settings[0] == 0x01) /* set baudrate on serial port only */ putle32(session->driver.ubx.port_settings, 8, session->gpsdata.dev.baudrate); if (mode == MODE_NMEA) { session->driver.ubx.port_settings[14] &= ~0x01; /* turn off UBX output on this port */ session->driver.ubx.port_settings[14] |= 0x02; /* turn on NMEA output on this port */ } else { /* MODE_BINARY */ session->driver.ubx.port_settings[14] &= ~0x02; /* turn off NMEA output on this port */ session->driver.ubx.port_settings[14] |= 0x01; /* turn on UBX output on this port */ } /*@ -charint @*/ (void)ubx_write(session, 0x06u, 0x00, session->driver.ubx.port_settings, sizeof(session->driver.ubx.port_settings)); } static bool ubx_speed(struct gps_device_t *session, speed_t speed, char parity, int stopbits) { unsigned long usart_mode; /*@+charint@*/ if ((!session->driver.ubx.have_port_configuration) || (session->driver.ubx.port_settings[0] != 0x01)) /* set baudrate on serial port only */ return false; usart_mode = (unsigned long)getleu32(session->driver.ubx.port_settings, 4); usart_mode &= ~0xE00; /* zero bits 11:9 */ switch (parity) { case (int)'E': case 2: usart_mode |= 0x00; break; case (int)'O': case 1: usart_mode |= 0x01; break; case (int)'N': case 0: default: usart_mode |= 0x4; /* 0x5 would work too */ break; } /*@-charint@*/ usart_mode &= ~0x03000; /* zero bits 13:12 */ if (stopbits == 2) usart_mode |= 0x2000; /* zero value means 1 stop bit */ putle32(session->driver.ubx.port_settings, 4, usart_mode); putle32(session->driver.ubx.port_settings, 8, speed); (void)ubx_write(session, 0x06, 0x00, session->driver.ubx.port_settings, sizeof(session->driver.ubx.port_settings)); return true; } static bool ubx_rate(struct gps_device_t *session, double cycletime) /* change the sample rate of the GPS */ { unsigned short s; /*@ -type @*/ unsigned char msg[6] = { 0x00, 0x00, /* U2: Measurement rate (ms) */ 0x00, 0x01, /* U2: Navigation rate (cycles) */ 0x00, 0x00, /* U2: Alignment to reference time: 0 = UTC, !0 = GPS */ }; /*@ +type @*/ /* clamp to cycle times that i know work on my receiver */ if (cycletime > 1000.0) cycletime = 1000.0; if (cycletime < 200.0) cycletime = 200.0; gpsd_report(LOG_IO, "UBX rate change, report every %f secs\n", cycletime); s = (unsigned short)cycletime; msg[0] = (unsigned char)(s >> 8); msg[1] = (unsigned char)(s & 0xff); return ubx_write(session, 0x06, 0x08, msg, 6); /* CFG-RATE */ } #endif /* RECONFIGURE_ENABLE */ /* This is everything we export */ /* *INDENT-OFF* */ const struct gps_type_t ubx_binary = { .type_name = "uBlox UBX binary", /* Full name of type */ .packet_type = UBX_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no flags set */ .trigger = "$GPTXT,01,01,02,MOD", .channels = 50, /* Number of satellite channels supported by the device */ .probe_detect = NULL, /* Startup-time device detector */ .get_packet = generic_get, /* Packet getter (using default routine) */ .parse_packet = parse_input, /* Parse message packets */ .rtcm_writer = gpsd_write, /* RTCM handler (using default routine) */ .event_hook = ubx_event_hook, /* Fire on various lifetime events */ #ifdef RECONFIGURE_ENABLE .speed_switcher = ubx_speed, /* Speed (baudrate) switch */ .mode_switcher = ubx_nmea_mode, /* Switch to NMEA mode */ .rate_switcher = ubx_rate, /* Message delivery rate switcher */ .min_cycle = 0.25, /* Maximum 4Hz sample rate */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = ubx_control_send, /* no control sender yet */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, /* no method for NTP fudge factor */ #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #endif /* defined(UBX_ENABLE) && defined(BINARY_ENABLE) */ gpsd-3.9/driver_ubx.h0000664000175000017500000001066011757250540013023 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details */ #ifndef _GPSD_UBX_H_ #define _GPSD_UBX_H_ #define UBX_MESSAGE_BASE_SIZE 6 #define UBX_MESSAGE_DATA_OFFSET UBX_MESSAGE_BASE_SIZE typedef enum { UBX_CLASS_NAV = 0x01, /**< Navigation */ UBX_CLASS_RXM = 0x02, /**< Receiver Manager */ UBX_CLASS_INF = 0x04, /**< Informative text messages */ UBX_CLASS_ACK = 0x05, /**< (Not) Acknowledges for cfg messages */ UBX_CLASS_CFG = 0x06, /**< Configuration requests */ UBX_CLASS_UPD = 0x09, /**< Firmware updates */ UBX_CLASS_MON = 0x0a, /**< System monitoring */ UBX_CLASS_AID = 0x0b, /**< AGPS */ UBX_CLASS_TIM = 0x0d, /**< Time */ } ubx_classes_t; #define UBX_MSGID(cls_, id_) (((cls_)<<8)|(id_)) typedef enum { UBX_NAV_POSECEF = UBX_MSGID(UBX_CLASS_NAV, 0x01), UBX_NAV_POSLLH = UBX_MSGID(UBX_CLASS_NAV, 0x02), UBX_NAV_STATUS = UBX_MSGID(UBX_CLASS_NAV, 0x03), UBX_NAV_DOP = UBX_MSGID(UBX_CLASS_NAV, 0x04), UBX_NAV_SOL = UBX_MSGID(UBX_CLASS_NAV, 0x06), UBX_NAV_POSUTM = UBX_MSGID(UBX_CLASS_NAV, 0x08), UBX_NAV_VELECEF = UBX_MSGID(UBX_CLASS_NAV, 0x11), UBX_NAV_VELNED = UBX_MSGID(UBX_CLASS_NAV, 0x12), UBX_NAV_TIMEGPS = UBX_MSGID(UBX_CLASS_NAV, 0x20), UBX_NAV_TIMEUTC = UBX_MSGID(UBX_CLASS_NAV, 0x21), UBX_NAV_CLOCK = UBX_MSGID(UBX_CLASS_NAV, 0x22), UBX_NAV_SVINFO = UBX_MSGID(UBX_CLASS_NAV, 0x30), UBX_NAV_DGPS = UBX_MSGID(UBX_CLASS_NAV, 0x31), UBX_NAV_SBAS = UBX_MSGID(UBX_CLASS_NAV, 0x32), UBX_NAV_EKFSTATUS = UBX_MSGID(UBX_CLASS_NAV, 0x40), UBX_RXM_RAW = UBX_MSGID(UBX_CLASS_RXM, 0x10), UBX_RXM_SFRB = UBX_MSGID(UBX_CLASS_RXM, 0x11), UBX_RXM_SVSI = UBX_MSGID(UBX_CLASS_RXM, 0x20), UBX_RXM_ALM = UBX_MSGID(UBX_CLASS_RXM, 0x30), UBX_RXM_EPH = UBX_MSGID(UBX_CLASS_RXM, 0x31), UBX_RXM_POSREQ = UBX_MSGID(UBX_CLASS_RXM, 0x40), UBX_INF_ERROR = UBX_MSGID(UBX_CLASS_INF, 0X00), UBX_INF_WARNING = UBX_MSGID(UBX_CLASS_INF, 0X01), UBX_INF_NOTICE = UBX_MSGID(UBX_CLASS_INF, 0x02), UBX_INF_TEST = UBX_MSGID(UBX_CLASS_INF, 0x03), UBX_INF_DEBUG = UBX_MSGID(UBX_CLASS_INF, 0x04), UBX_INF_USER = UBX_MSGID(UBX_CLASS_INF, 0x07), UBX_ACK_NAK = UBX_MSGID(UBX_CLASS_ACK, 0x00), UBX_ACK_ACK = UBX_MSGID(UBX_CLASS_ACK, 0x01), UBX_CFG_PRT = UBX_MSGID(UBX_CLASS_CFG, 0x00), UBX_UPD_DOWNL = UBX_MSGID(UBX_CLASS_UPD, 0x01), UBX_UPD_UPLOAD = UBX_MSGID(UBX_CLASS_UPD, 0x02), UBX_UPD_EXEC = UBX_MSGID(UBX_CLASS_UPD, 0x03), UBX_UPD_MEMCPY = UBX_MSGID(UBX_CLASS_UPD, 0x04), UBX_MON_SCHED = UBX_MSGID(UBX_CLASS_MON, 0x01), UBX_MON_IO = UBX_MSGID(UBX_CLASS_MON, 0x02), UBX_MON_IPC = UBX_MSGID(UBX_CLASS_MON, 0x03), UBX_MON_VER = UBX_MSGID(UBX_CLASS_MON, 0x04), UBX_MON_EXCEPT = UBX_MSGID(UBX_CLASS_MON, 0x05), UBX_MON_MSGPP = UBX_MSGID(UBX_CLASS_MON, 0x06), UBX_MON_RXBUF = UBX_MSGID(UBX_CLASS_MON, 0x07), UBX_MON_TXBUF = UBX_MSGID(UBX_CLASS_MON, 0x08), UBX_MON_HW = UBX_MSGID(UBX_CLASS_MON, 0x09), UBX_MON_USB = UBX_MSGID(UBX_CLASS_MON, 0x0a), UBX_AID_REQ = UBX_MSGID(UBX_CLASS_AID, 0x00), UBX_AID_INI = UBX_MSGID(UBX_CLASS_AID, 0x01), UBX_AID_HUI = UBX_MSGID(UBX_CLASS_AID, 0x02), UBX_AID_DATA = UBX_MSGID(UBX_CLASS_AID, 0x10), UBX_AID_ALM = UBX_MSGID(UBX_CLASS_AID, 0x30), UBX_AID_EPH = UBX_MSGID(UBX_CLASS_AID, 0x31), UBX_TIM_TP = UBX_MSGID(UBX_CLASS_TIM, 0x01), UBX_TIM_TM = UBX_MSGID(UBX_CLASS_TIM, 0x02), UBX_TIM_TM2 = UBX_MSGID(UBX_CLASS_TIM, 0x03), UBX_TIM_SVIN = UBX_MSGID(UBX_CLASS_TIM, 0x04), } ubx_message_t; typedef enum { UBX_MODE_NOFIX = 0x00, /* no fix available */ UBX_MODE_DR = 0x01, /* Dead reckoning */ UBX_MODE_2D = 0x02, /* 2D fix */ UBX_MODE_3D = 0x03, /* 3D fix */ UBX_MODE_GPSDR = 0x04, /* GPS + dead reckoning */ UBX_MODE_TMONLY = 0x05, /* Time-only fix */ } ubx_mode_t; #define UBX_SOL_FLAG_GPS_FIX_OK 0x01 #define UBX_SOL_FLAG_DGPS 0x02 #define UBX_SOL_VALID_WEEK 0x04 #define UBX_SOL_VALID_TIME 0x08 /* from UBX_NAV_SVINFO */ #define UBX_SAT_USED 0x01 #define UBX_SAT_DGPS 0x02 #define UBX_SAT_EPHALM 0x04 #define UBX_SAT_EPHEM 0x08 #define UBX_SAT_UNHEALTHY 0x10 #define UBX_SIG_IDLE 0 #define UBX_SIG_SRCH1 1 #define UBX_SIG_SRCH2 2 #define UBX_SIG_DETECT 3 #define UBX_SIG_CDLK 4 #define UBX_SIG_CDCRLK1 5 #define UBX_SIG_CDCRLK2 6 #define UBX_SIG_NAVMSG 7 #endif /* _GPSD_UBX_H_ */ gpsd-3.9/driver_zodiac.c0000664000175000017500000004153012027333266013467 0ustar esresr/* * Handle the Rockwell binary packet format supported by the old Zodiac chipset * * Week counters are not limited to 10 bits. It's unknown what * the firmware is doing to disambiguate them, if anything; it might just * be adding a fixed offset based on a hidden epoch value, in which case * unhappy things will occur on the next rollover. * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include "gpsd.h" /* Zodiac protocol description uses 1-origin indexing by little-endian word */ #define get16z(buf, n) ( (buf[2*(n)-2]) \ | (buf[2*(n)-1] << 8)) #define get32z(buf, n) ( (buf[2*(n)-2]) \ | (buf[2*(n)-1] << 8) \ | (buf[2*(n)+0] << 16) \ | (buf[2*(n)+1] << 24)) #define getstringz(to, from, s, e) \ (void)memcpy(to, from+2*(s)-2, 2*((e)-(s)+1)) #ifdef ZODIAC_ENABLE struct header { unsigned short sync; unsigned short id; unsigned short ndata; unsigned short flags; unsigned short csum; }; static unsigned short zodiac_checksum(unsigned short *w, int n) { unsigned short csum = 0; while (n-- > 0) csum += *(w++); return -csum; } /* zodiac_spew - Takes a message type, an array of data words, and a length for the array, and prepends a 5 word header (including checksum). The data words are expected to be checksummed */ #if defined (WORDS_BIGENDIAN) /* data is assumed to contain len/2 unsigned short words * we change the endianness to little, when needed. */ static int end_write(int fd, void *d, int len) { char buf[BUFSIZ]; char *p = buf; char *data = (char *)d; size_t n = (size_t) len; while (n > 0) { *p++ = *(data + 1); *p++ = *data; data += 2; n -= 2; } return write(fd, buf, len); } #else #define end_write write #endif /* WORDS_BIGENDIAN */ static ssize_t zodiac_spew(struct gps_device_t *session, unsigned short type, unsigned short *dat, int dlen) { struct header h; int i; char buf[BUFSIZ]; h.sync = 0x81ff; h.id = (unsigned short)type; h.ndata = (unsigned short)(dlen - 1); h.flags = 0; h.csum = zodiac_checksum((unsigned short *)&h, 4); if (!BAD_SOCKET(session->gpsdata.gps_fd)) { size_t hlen, datlen; hlen = sizeof(h); datlen = sizeof(unsigned short) * dlen; if (end_write(session->gpsdata.gps_fd, &h, hlen) != (ssize_t) hlen || end_write(session->gpsdata.gps_fd, dat, datlen) != (ssize_t) datlen) { gpsd_report(LOG_RAW, "Reconfigure write failed\n"); return -1; } } (void)snprintf(buf, sizeof(buf), "%04x %04x %04x %04x %04x", h.sync, h.id, h.ndata, h.flags, h.csum); for (i = 0; i < dlen; i++) (void)snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), " %04x", dat[i]); gpsd_report(LOG_RAW, "Sent Zodiac packet: %s\n", buf); return 0; } static void send_rtcm(struct gps_device_t *session, const char *rtcmbuf, size_t rtcmbytes) { unsigned short data[34]; int n = 1 + (int)(rtcmbytes / 2 + rtcmbytes % 2); if (session->driver.zodiac.sn++ > 32767) session->driver.zodiac.sn = 0; memset(data, 0, sizeof(data)); data[0] = session->driver.zodiac.sn; /* sequence number */ memcpy(&data[1], rtcmbuf, rtcmbytes); data[n] = zodiac_checksum(data, n); (void)zodiac_spew(session, 1351, data, n + 1); } static ssize_t zodiac_send_rtcm(struct gps_device_t *session, const char *rtcmbuf, size_t rtcmbytes) { size_t len; while (rtcmbytes > 0) { len = (size_t) (rtcmbytes > 64 ? 64 : rtcmbytes); send_rtcm(session, rtcmbuf, len); rtcmbytes -= len; rtcmbuf += len; } return 1; } #define getzword(n) get16z(session->packet.outbuffer, n) #define getzlong(n) get32z(session->packet.outbuffer, n) static gps_mask_t handle1000(struct gps_device_t *session) /* time-position-velocity report */ { gps_mask_t mask; double subseconds; struct tm unpacked_date; /* ticks = getzlong(6); */ /* sequence = getzword(8); */ /* measurement_sequence = getzword(9); */ /*@ -boolops -predboolothers @*/ session->gpsdata.status = (getzword(10) & 0x1c) ? 0 : 1; if (session->gpsdata.status != 0) session->newdata.mode = (getzword(10) & 1) ? MODE_2D : MODE_3D; else session->newdata.mode = MODE_NO_FIX; /*@ +boolops -predboolothers @*/ /* solution_type = getzword(11); */ session->gpsdata.satellites_used = (int)getzword(12); /* polar_navigation = getzword(13); */ session->context->gps_week = (unsigned short)getzword(14); /* gps_seconds = getzlong(15); */ /* gps_nanoseconds = getzlong(17); */ unpacked_date.tm_mday = (int)getzword(19); unpacked_date.tm_mon = (int)getzword(20) - 1; unpacked_date.tm_year = (int)getzword(21) - 1900; unpacked_date.tm_hour = (int)getzword(22); unpacked_date.tm_min = (int)getzword(23); unpacked_date.tm_sec = (int)getzword(24); subseconds = (int)getzlong(25) / 1e9; /*@ -compdef */ session->newdata.time = (timestamp_t)mkgmtime(&unpacked_date) + subseconds; /*@ +compdef */ /*@ -type @*/ session->newdata.latitude = ((long)getzlong(27)) * RAD_2_DEG * 1e-8; session->newdata.longitude = ((long)getzlong(29)) * RAD_2_DEG * 1e-8; /* * The Rockwell Jupiter TU30-D140 reports altitude as uncorrected height * above WGS84 geoid. The Zodiac binary protocol manual does not * specify whether word 31 is geodetic or WGS 84. */ session->newdata.altitude = ((long)getzlong(31)) * 1e-2; /*@ +type @*/ session->gpsdata.separation = ((short)getzword(33)) * 1e-2; session->newdata.altitude -= session->gpsdata.separation; session->newdata.speed = (int)getzlong(34) * 1e-2; session->newdata.track = (int)getzword(36) * RAD_2_DEG * 1e-3; session->mag_var = ((short)getzword(37)) * RAD_2_DEG * 1e-4; session->newdata.climb = ((short)getzword(38)) * 1e-2; /* map_datum = getzword(39); */ /* * The manual says these are 1-sigma. Device reports only eph, circular * error; no harm in assigning it to both x and y components. */ session->newdata.epx = session->newdata.epy = (int)getzlong(40) * 1e-2 * (1 / sqrt(2)) * GPSD_CONFIDENCE; session->newdata.epv = (int)getzlong(42) * 1e-2 * GPSD_CONFIDENCE; session->newdata.ept = (int)getzlong(44) * 1e-2 * GPSD_CONFIDENCE; session->newdata.eps = (int)getzword(46) * 1e-2 * GPSD_CONFIDENCE; /* clock_bias = (int)getzlong(47) * 1e-2; */ /* clock_bias_sd = (int)getzlong(49) * 1e-2; */ /* clock_drift = (int)getzlong(51) * 1e-2; */ /* clock_drift_sd = (int)getzlong(53) * 1e-2; */ mask = TIME_SET | PPSTIME_IS | LATLON_SET | ALTITUDE_SET | CLIMB_SET | SPEED_SET | TRACK_SET | STATUS_SET | MODE_SET; gpsd_report(LOG_DATA, "1000: time=%.2f lat=%.2f lon=%.2f alt=%.2f track=%.2f speed=%.2f climb=%.2f mode=%d status=%d\n", session->newdata.time, session->newdata.latitude, session->newdata.longitude, session->newdata.altitude, session->newdata.track, session->newdata.speed, session->newdata.climb, session->newdata.mode, session->gpsdata.status); return mask; } static gps_mask_t handle1002(struct gps_device_t *session) /* satellite signal quality report */ { int i, j, status, prn; /* ticks = getzlong(6); */ /* sequence = getzword(8); */ /* measurement_sequence = getzword(9); */ /*@+charint@*/ int gps_week = getzword(10); int gps_seconds = getzlong(11); /* gps_nanoseconds = getzlong(13); */ /*@-charint@*/ /* Note: this week counter is not limited to 10 bits. */ session->context->gps_week = (unsigned short)gps_week; session->gpsdata.satellites_used = 0; memset(session->gpsdata.used, 0, sizeof(session->gpsdata.used)); for (i = 0; i < ZODIAC_CHANNELS; i++) { /*@ -type @*/ session->driver.zodiac.Zv[i] = status = (int)getzword(15 + (3 * i)); session->driver.zodiac.Zs[i] = prn = (int)getzword(16 + (3 * i)); /*@ +type @*/ if (status & 1) session->gpsdata.used[session->gpsdata.satellites_used++] = prn; for (j = 0; j < ZODIAC_CHANNELS; j++) { if (session->gpsdata.PRN[j] != prn) continue; session->gpsdata.ss[j] = (float)getzword(17 + (3 * i)); break; } } session->gpsdata.skyview_time = gpsd_gpstime_resolve(session, (unsigned short)gps_week, (double)gps_seconds); gpsd_report(LOG_DATA, "1002: visible=%d used=%d mask={SATELLITE|USED}\n", session->gpsdata.satellites_visible, session->gpsdata.satellites_used); return SATELLITE_SET | USED_IS; } static gps_mask_t handle1003(struct gps_device_t *session) /* skyview report */ { int i, n; /* The Polaris (and probably the DAGR) emit some strange variant of * this message which causes gpsd to crash filtering on impossible * number of satellites avoids this */ n = (int)getzword(14); if ((n < 0) || (n > 12)) return 0; gpsd_zero_satellites(&session->gpsdata); /* ticks = getzlong(6); */ /* sequence = getzword(8); */ session->gpsdata.dop.gdop = (unsigned int)getzword(9) * 1e-2; session->gpsdata.dop.pdop = (unsigned int)getzword(10) * 1e-2; session->gpsdata.dop.hdop = (unsigned int)getzword(11) * 1e-2; session->gpsdata.dop.vdop = (unsigned int)getzword(12) * 1e-2; session->gpsdata.dop.tdop = (unsigned int)getzword(13) * 1e-2; session->gpsdata.satellites_visible = n; for (i = 0; i < ZODIAC_CHANNELS; i++) { if (i < session->gpsdata.satellites_visible) { session->gpsdata.PRN[i] = (int)getzword(15 + (3 * i)); session->gpsdata.azimuth[i] = (int)(((short)getzword(16 + (3 * i))) * RAD_2_DEG * 1e-4); if (session->gpsdata.azimuth[i] < 0) session->gpsdata.azimuth[i] += 360; session->gpsdata.elevation[i] = (int)(((short)getzword(17 + (3 * i))) * RAD_2_DEG * 1e-4); } else { session->gpsdata.PRN[i] = 0; session->gpsdata.azimuth[i] = 0; session->gpsdata.elevation[i] = 0; } } session->gpsdata.skyview_time = NAN; gpsd_report(LOG_DATA, "NAVDOP: visible=%d gdop=%.2f pdop=%.2f " "hdop=%.2f vdop=%.2f tdop=%.2f mask={SATELLITE|DOP}\n", session->gpsdata.satellites_visible, session->gpsdata.dop.gdop, session->gpsdata.dop.hdop, session->gpsdata.dop.vdop, session->gpsdata.dop.pdop, session->gpsdata.dop.tdop); return SATELLITE_SET | DOP_SET; } static void handle1005(struct gps_device_t *session UNUSED) /* fix quality report */ { /* ticks = getzlong(6); */ /* sequence = getzword(8); */ int numcorrections = (int)getzword(12); if (session->newdata.mode == MODE_NO_FIX) session->gpsdata.status = STATUS_NO_FIX; else if (numcorrections == 0) session->gpsdata.status = STATUS_FIX; else session->gpsdata.status = STATUS_DGPS_FIX; } static gps_mask_t handle1011(struct gps_device_t *session) /* version report */ { /* * This is UNTESTED -- but harmless if buggy. Added to support * client querying of the ID with firmware version in 2006. * The Zodiac is supposed to send one of these messages on startup. */ getstringz(session->subtype, session->packet.outbuffer, 19, 28); /* software version field */ gpsd_report(LOG_DATA, "1011: subtype=%s mask={DEVICEID}\n", session->subtype); return DEVICEID_SET; } static void handle1108(struct gps_device_t *session) /* leap-second correction report */ { /* ticks = getzlong(6); */ /* sequence = getzword(8); */ /* utc_week_seconds = getzlong(14); */ /* leap_nanoseconds = getzlong(17); */ if ((int)(getzword(19) & 3) == 3) { session->context->valid |= LEAP_SECOND_VALID; session->context->leap_seconds = (int)getzword(16); } } static gps_mask_t zodiac_analyze(struct gps_device_t *session) { char buf[BUFSIZ]; int i; unsigned int id = (unsigned int)((session->packet.outbuffer[3] << 8) | session->packet.outbuffer[2]); if (session->packet.type != ZODIAC_PACKET) { const struct gps_type_t **dp; gpsd_report(LOG_PROG, "zodiac_analyze packet type %d\n", session->packet.type); // Wrong packet type ? // Maybe find a trigger just in case it's an Earthmate gpsd_report(LOG_RAW + 4, "Is this a trigger: %s ?\n", (char *)session->packet.outbuffer); for (dp = gpsd_drivers; *dp; dp++) { char *trigger = (*dp)->trigger; if (trigger != NULL && strncmp((char *)session->packet.outbuffer, trigger, strlen(trigger)) == 0 && isatty(session->gpsdata.gps_fd) != 0) { gpsd_report(LOG_PROG, "found %s.\n", trigger); (void)gpsd_switch_driver(session, (*dp)->type_name); return 0; } } return 0; } buf[0] = '\0'; for (i = 0; i < (int)session->packet.outbuflen; i++) (void)snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "%02x", (unsigned int)session->packet.outbuffer[i]); gpsd_report(LOG_RAW, "Raw Zodiac packet type %d length %zd: %s\n", id, session->packet.outbuflen, buf); if (session->packet.outbuflen < 10) return 0; (void)snprintf(session->gpsdata.tag, sizeof(session->gpsdata.tag), "%u", id); /* * Normal cycle for these devices is 1001 1002. * We count 1001 as end of cycle because 1002 doesn't * carry fix information. */ session->cycle_end_reliable = true; switch (id) { case 1000: return handle1000(session) | (CLEAR_IS | REPORT_IS); case 1002: return handle1002(session); case 1003: return handle1003(session); case 1005: handle1005(session); return 0; case 1011: return handle1011(session); case 1108: handle1108(session); return 0; default: return 0; } } #ifdef CONTROLSEND_ENABLE static ssize_t zodiac_control_send(struct gps_device_t *session, char *msg, size_t len) { unsigned short *shortwords = (unsigned short *)msg; /* and if len isn't even, it's your own fault */ return zodiac_spew(session, shortwords[0], shortwords + 1, (int)(len / 2 - 1)); } #endif /* CONTROLSEND_ENABLE */ #ifdef RECONFIGURE_ENABLE static bool zodiac_speed_switch(struct gps_device_t *session, speed_t speed, char parity, int stopbits) { unsigned short data[15]; if (session->driver.zodiac.sn++ > 32767) session->driver.zodiac.sn = 0; switch (parity) { case 'E': case 2: parity = (char)2; break; case 'O': case 1: parity = (char)1; break; case 'N': case 0: default: parity = (char)0; break; } memset(data, 0, sizeof(data)); /* data is the part of the message starting at word 6 */ data[0] = session->driver.zodiac.sn; /* sequence number */ data[1] = 1; /* port 1 data valid */ data[2] = (unsigned short)parity; /* port 1 character width (8 bits) */ data[3] = (unsigned short)(stopbits - 1); /* port 1 stop bits (1 stopbit) */ data[4] = 0; /* port 1 parity (none) */ data[5] = (unsigned short)(round(log((double)speed / 300) / M_LN2) + 1); /* port 1 speed */ data[14] = zodiac_checksum(data, 14); (void)zodiac_spew(session, 1330, data, 15); return true; /* it would be nice to error-check this */ } #endif /* RECONFIGURE_ENABLE */ #ifdef NTPSHM_ENABLE static double zodiac_ntp_offset(struct gps_device_t *session UNUSED) { /* Removing/changing the magic number below is likely to disturb * the handling of the 1pps signal from the gps device. The regression * tests and simple gps applications do not detect this. A live test * with the 1pps signal active is required. */ return 1.1; } #endif /* NTPSHM_ENABLE */ /* this is everything we export */ /* *INDENT-OFF* */ const struct gps_type_t zodiac_binary = { .type_name = "Zodiac binary", /* full name of type */ .packet_type = ZODIAC_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no flags set */ .trigger = NULL, /* no trigger */ .channels = 12, /* consumer-grade GPS */ .probe_detect = NULL, /* no probe */ .get_packet = generic_get, /* use the generic packet getter */ .parse_packet = zodiac_analyze, /* parse message packets */ .rtcm_writer = zodiac_send_rtcm, /* send DGPS correction */ .event_hook = NULL, /* no configuration */ #ifdef RECONFIGURE_ENABLE .speed_switcher = zodiac_speed_switch,/* we can change baud rate */ .mode_switcher = NULL, /* no mode switcher */ .rate_switcher = NULL, /* no sample-rate switcher */ .min_cycle = 1, /* not relevant, no rate switch */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = zodiac_control_send, /* for gpsctl and friends */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = zodiac_ntp_offset, /* compute NTO fudge factor */ #endif /* NTPSHM_ENABLE */ }; /* *INDENT-ON* */ #endif /* ZODIAC_ENABLE */ gpsd-3.9/drivers.c0000664000175000017500000015756712140102737012334 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include "gpsd.h" #include "bits.h" /* for getbeu16(), to extract big-endian words */ extern const struct gps_type_t zodiac_binary; extern const struct gps_type_t ubx_binary; extern const struct gps_type_t sirf_binary; extern const struct gps_type_t nmea2000; ssize_t generic_get(struct gps_device_t *session) { return packet_get(session->gpsdata.gps_fd, &session->packet); } gps_mask_t generic_parse_input(struct gps_device_t *session) { const struct gps_type_t **dp; if (session->packet.type == COMMENT_PACKET) { gpsd_set_century(session); return 0; #ifdef NMEA_ENABLE } else if (session->packet.type == NMEA_PACKET) { gps_mask_t st = 0; char *sentence = (char *)session->packet.outbuffer; if (sentence[strlen(sentence)-1] != '\n') gpsd_report(LOG_IO, "<= GPS: %s\n", sentence); else gpsd_report(LOG_IO, "<= GPS: %s", sentence); if ((st=nmea_parse(sentence, session)) == 0) { gpsd_report(LOG_WARN, "unknown sentence: \"%s\"\n", sentence); } for (dp = gpsd_drivers; *dp; dp++) { char *trigger = (*dp)->trigger; if (trigger!=NULL && strncmp(sentence,trigger,strlen(trigger))==0) { gpsd_report(LOG_PROG, "found trigger string %s.\n", trigger); if (*dp != session->device_type) { (void)gpsd_switch_driver(session, (*dp)->type_name); if (session->device_type != NULL && session->device_type->event_hook != NULL) session->device_type->event_hook(session, event_triggermatch); st |= DEVICEID_SET; } } } return st; #endif /* NMEA_ENABLE */ } else { for (dp = gpsd_drivers; *dp; dp++) { if (session->packet.type == (*dp)->packet_type) { (void)gpsd_switch_driver(session, (*dp)->type_name); return (*dp)->parse_packet(session); } } return 0; } } /************************************************************************** * * Generic driver -- make no assumptions about the device type * **************************************************************************/ /* *INDENT-OFF* */ const struct gps_type_t unknown = { .type_name = "Unknown", /* full name of type */ .packet_type = COMMENT_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no flags set */ .trigger = NULL, /* it's the default */ .channels = 12, /* consumer-grade GPS */ .probe_detect = NULL, /* no probe */ .get_packet = generic_get, /* use generic packet getter */ .parse_packet = generic_parse_input, /* how to interpret a packet */ .rtcm_writer = NULL, /* write RTCM data straight */ .event_hook = NULL, /* lifetime event handler */ #ifdef RECONFIGURE_ENABLE .speed_switcher = NULL, /* no speed switcher */ .mode_switcher = NULL, /* no mode switcher */ .rate_switcher = NULL, /* no sample-rate switcher */ .min_cycle = 1, /* not relevant, no rate switch */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = NULL, /* how to send control strings */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, /* no method for NTP fudge factor */ #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #ifdef NMEA_ENABLE /************************************************************************** * * NMEA 0183 * * This is separate from the 'unknown' driver because we don't want to * ship NMEA subtype probe strings to a device until we've seen at * least one NMEA packet. This avoids spamming devices that might * actually be USB modems or other things in USB device class FF that * just happen to have one of 'our' adaptor chips in pront of them. * **************************************************************************/ static void nmea_event_hook(struct gps_device_t *session, event_t event) { if (session->context->readonly) return; /* * This is where we try to tickle NMEA devices into revealing their * inner natures. */ if (event == event_configure) { /* * The reason for splitting these probes up by packet sequence * number, interleaving them with the first few packet receives, * is because many generic-NMEA devices get confused if you send * too much at them in one go. * * A fast response to an early probe will change drivers so the * later ones won't be sent at all. Thus, for best overall * performance, order these to probe for the most popular types * soonest. * * Note: don't make the trigger strings identical to the probe, * because some NMEA devices (notably SiRFs) will just echo * unknown strings right back at you. A useful dodge is to append * a comma to the trigger, because that won't be in the response * unless there is actual following data. */ switch (session->packet.counter) { #ifdef NMEA_ENABLE case 0: /* probe for Garmin serial GPS -- expect $PGRMC followed by data */ gpsd_report(LOG_PROG, "=> Probing for Garmin NMEA\n"); (void)nmea_send(session, "$PGRMCE"); break; #endif /* NMEA_ENABLE */ #ifdef SIRF_ENABLE case 1: /* * We used to try to probe for SiRF by issuing "$PSRF105,1" * and expecting "$Ack Input105.". But it turns out this * only works for SiRF-IIs; SiRF-I and SiRF-III don't respond. * Thus the only reliable probe is to try to flip the SiRF into * binary mode, cluing in the library to revert it on close. * * SiRFs dominate the GPS-mouse market, so we used to put this test * first. Unfortunately this causes problems for gpsctl, as it cannot * select the NMEA driver without switching the device back to * binary mode! Fix this if we ever find a nondisruptive probe string. */ gpsd_report(LOG_PROG, "=> Probing for SiRF\n"); (void)nmea_send(session, "$PSRF100,0,%d,%d,%d,0", session->gpsdata.dev.baudrate, 9 - session->gpsdata.dev.stopbits, session->gpsdata.dev.stopbits); session->back_to_nmea = true; break; #endif /* SIRF_ENABLE */ #ifdef NMEA_ENABLE case 2: /* probe for the FV-18 -- expect $PFEC,GPint followed by data */ gpsd_report(LOG_PROG, "=> Probing for FV-18\n"); (void)nmea_send(session, "$PFEC,GPint"); break; case 3: /* probe for the Trimble Copernicus */ gpsd_report(LOG_PROG, "=> Probing for Trimble Copernicus\n"); (void)nmea_send(session, "$PTNLSNM,0139,01"); break; #endif /* NMEA_ENABLE */ #ifdef EVERMORE_ENABLE case 4: gpsd_report(LOG_PROG, "=> Probing for Evermore\n"); /* Enable checksum and GGA(1s), GLL(0s), GSA(1s), GSV(1s), RMC(1s), VTG(0s), PEMT101(1s) */ /* EverMore will reply with: \x10\x02\x04\x38\x8E\xC6\x10\x03 */ (void)gpsd_write(session, "\x10\x02\x12\x8E\x7F\x01\x01\x00\x01\x01\x01\x00\x01\x00\x00\x00\x00\x00\x00\x13\x10\x03", 22); break; #endif /* EVERMORE_ENABLE */ #ifdef GPSCLOCK_ENABLE case 5: /* probe for Furuno Electric GH-79L4-N (GPSClock); expect $PFEC,GPssd */ gpsd_report(LOG_PROG, "=> Probing for GPSClock\n"); (void)nmea_send(session, "$PFEC,GPsrq"); break; #endif /* GPSCLOCK_ENABLE */ #ifdef ASHTECH_ENABLE case 6: /* probe for Ashtech -- expect $PASHR,RID */ gpsd_report(LOG_PROG, "=> Probing for Ashtech\n"); (void)nmea_send(session, "$PASHQ,RID"); break; #endif /* ASHTECH_ENABLE */ #ifdef UBX_ENABLE case 7: /* probe for UBX -- query software version */ gpsd_report(LOG_PROG, "=> Probing for UBX\n"); (void)ubx_write(session, 0x0au, 0x04, NULL, 0); break; #endif /* UBX_ENABLE */ #ifdef MTK3301_ENABLE case 8: /* probe for MTK-3301 -- expect $PMTK705 */ gpsd_report(LOG_PROG, "=> Probing for MediaTek\n"); (void)nmea_send(session, "$PMTK605"); break; #endif /* MTK3301_ENABLE */ default: break; } } } #if defined(RECONFIGURE_ENABLE) && defined(BINARY_ENABLE) static void nmea_mode_switch(struct gps_device_t *session, int mode) { /* * If the daemon has seen this device in a binary mode, we may * actually know how to switch back. */ if (mode == MODE_BINARY) { const struct gps_type_t **dp; /*@-shiftnegative@*/ for (dp = gpsd_drivers; *dp; dp++) { if ((*dp)->packet_type > 0 && (*dp)->packet_type != session->packet.type && (session->observed & PACKET_TYPEMASK((*dp)->packet_type))!=0) { (*dp)->mode_switcher(session, mode); break; } } /*@+shiftnegative@*/ } } #endif /* defined(RECONFIGURE_ENABLE) && defined(BINARY_ENABLE) */ /* *INDENT-OFF* */ const struct gps_type_t nmea = { .type_name = "Generic NMEA", /* full name of type */ .packet_type = NMEA_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no flags set */ .trigger = NULL, /* it's the default */ .channels = 12, /* consumer-grade GPS */ .probe_detect = NULL, /* no probe */ .get_packet = generic_get, /* use generic packet getter */ .parse_packet = generic_parse_input, /* how to interpret a packet */ .rtcm_writer = gpsd_write, /* write RTCM data straight */ .event_hook = nmea_event_hook, /* lifetime event handler */ #ifdef RECONFIGURE_ENABLE .speed_switcher = NULL, /* no speed switcher */ #ifdef BINARY_ENABLE .mode_switcher = nmea_mode_switch, /* maybe switchable if it was a SiRF */ #else .mode_switcher = NULL, /* no binary mode to revert to */ #endif /* BINARY_ENABLE */ .rate_switcher = NULL, /* no sample-rate switcher */ .min_cycle = 1, /* not relevant, no rate switch */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = nmea_write, /* how to send control strings */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, /* no method for NTP fudge factor */ #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #if defined(GARMIN_ENABLE) && defined(NMEA_ENABLE) /************************************************************************** * * Garmin NMEA * **************************************************************************/ #ifdef RECONFIGURE_ENABLE static void garmin_mode_switch(struct gps_device_t *session, int mode) /* only does anything in one direction, going to Garmin binary driver */ { if (mode == MODE_BINARY) { (void)nmea_send(session, "$PGRMC1,1,2,1,,,,2,W,N"); (void)nmea_send(session, "$PGRMI,,,,,,,R"); (void)usleep(333); /* standard Garmin settling time */ session->gpsdata.dev.driver_mode = MODE_BINARY; } } #endif /* RECONFIGURE_ENABLE */ static void garmin_nmea_event_hook(struct gps_device_t *session, event_t event) { if (session->context->readonly) return; if (event == event_driver_switch) { /* forces a reconfigure as the following packets come in */ session->packet.counter = 0; } if (event == event_configure) { /* * And here's that reconfigure. It's split up like this because * receivers like the Garmin GPS-10 don't handle having having a lot of * probes shoved at them very well. */ switch (session->packet.counter) { case 0: /* reset some config, AutoFix, WGS84, PPS * Set the PPS pulse length to 40ms which leaves the Garmin 18-5hz * with a 160ms low state. * NOTE: new PPS only takes effect after next power cycle */ (void)nmea_send(session, "$PGRMC,A,,100,,,,,,A,,1,2,1,30"); break; case 1: /* once a sec, no averaging, NMEA 2.3, WAAS */ (void)nmea_send(session, "$PGRMC1,1,1,1,,,,2,W,N"); break; case 2: /* get some more config info */ (void)nmea_send(session, "$PGRMC1E"); break; case 3: /* turn off all output except GGA */ (void)nmea_send(session, "$PGRMO,,2"); (void)nmea_send(session, "$PGRMO,GPGGA,1"); break; case 4: /* enable GPGGA, GPGSA, GPGSV, GPRMC on Garmin serial GPS */ (void)nmea_send(session, "$PGRMO,GPGSA,1"); break; case 5: (void)nmea_send(session, "$PGRMO,GPGSV,1"); break; case 6: (void)nmea_send(session, "$PGRMO,GPRMC,1"); break; case 7: (void)nmea_send(session, "$PGRMO,PGRME,1"); break; } } } /* *INDENT-OFF* */ const struct gps_type_t garmin = { .type_name = "Garmin NMEA", /* full name of type */ .packet_type = NMEA_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no flags set */ .trigger = "$PGRMC,", /* Garmin private */ .channels = 12, /* not used by this driver */ .probe_detect = NULL, /* no probe */ .get_packet = generic_get, /* use generic packet getter */ .parse_packet = generic_parse_input, /* how to interpret a packet */ .rtcm_writer = NULL, /* some do, some don't, skip for now */ .event_hook = garmin_nmea_event_hook, /* lifetime event handler */ #ifdef RECONFIGURE_ENABLE .speed_switcher = NULL, /* no speed switcher */ .mode_switcher = garmin_mode_switch, /* mode switcher */ .rate_switcher = NULL, /* no sample-rate switcher */ .min_cycle = 1, /* not relevant, no rate switch */ #endif /*RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = nmea_write, /* how to send control strings */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, /* no method for NTP fudge factor */ #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #endif /* GARMIN_ENABLE && NMEA_ENABLE */ #ifdef ASHTECH_ENABLE /************************************************************************** * * Ashtech (then Thales, now Magellan Professional) Receivers * **************************************************************************/ static void ashtech_event_hook(struct gps_device_t *session, event_t event) { if (session->context->readonly) return; if (event == event_wakeup) (void)nmea_send(session, "$PASHQ,RID"); if (event == event_identified) { /* turn WAAS on. can't hurt... */ (void)nmea_send(session, "$PASHS,WAS,ON"); /* reset to known output state */ (void)nmea_send(session, "$PASHS,NME,ALL,A,OFF"); /* then turn on some useful sentences */ #ifdef __future__ /* we could parse these, but they're oversize so they get dropped */ (void)nmea_send(session, "$PASHS,NME,POS,A,ON"); (void)nmea_send(session, "$PASHS,NME,SAT,A,ON"); #else (void)nmea_send(session, "$PASHS,NME,GGA,A,ON"); (void)nmea_send(session, "$PASHS,NME,GSA,A,ON"); (void)nmea_send(session, "$PASHS,NME,GSV,A,ON"); (void)nmea_send(session, "$PASHS,NME,RMC,A,ON"); #endif (void)nmea_send(session, "$PASHS,NME,ZDA,A,ON"); } } /* *INDENT-OFF* */ const struct gps_type_t ashtech = { .type_name = "Ashtech", /* full name of type */ .packet_type = NMEA_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no flags set */ .trigger = "$PASHR,RID,", /* Ashtech receivers respond thus */ .channels = 24, /* not used, GG24 has 24 channels */ .probe_detect = NULL, /* no probe */ .get_packet = generic_get, /* how to get a packet */ .parse_packet = generic_parse_input, /* how to interpret a packet */ .rtcm_writer = gpsd_write, /* write RTCM data straight */ .event_hook = ashtech_event_hook, /* lifetime event handler */ #ifdef RECONFIGURE_ENABLE .speed_switcher = NULL, /* no speed switcher */ .mode_switcher = NULL, /* no mode switcher */ .rate_switcher = NULL, /* no sample-rate switcher */ .min_cycle = 1, /* not relevant, no rate switch */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = nmea_write, /* how to send control strings */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, /* no method for NTP fudge factor */ #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #endif /* ASHTECH_ENABLE */ #ifdef FV18_ENABLE /************************************************************************** * * FV18 -- uses 2 stop bits, needs to be told to send GSAs * **************************************************************************/ static void fv18_event_hook(struct gps_device_t *session, event_t event) { if (session->context->readonly) return; /* * Tell an FV18 to send GSAs so we'll know if 3D is accurate. * Suppress GLL and VTG. Enable ZDA so dates will be accurate for replay. * It's possible we might not need to redo this on event_reactivate, * but doing so is safe and cheap. */ if (event == event_identified || event == event_reactivate) (void)nmea_send(session, "$PFEC,GPint,GSA01,DTM00,ZDA01,RMC01,GLL00,VTG00,GSV05"); } /* *INDENT-OFF* */ const struct gps_type_t fv18 = { .type_name = "San Jose Navigation FV18", /* full name of type */ .packet_type = NMEA_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no flags set */ .trigger = "$PFEC,GPint,", /* FV18s should echo the probe */ .channels = 12, /* not used by this driver */ .probe_detect = NULL, /* no probe */ .get_packet = generic_get, /* how to get a packet */ .parse_packet = generic_parse_input, /* how to interpret a packet */ .rtcm_writer = gpsd_write, /* write RTCM data straight */ .event_hook = fv18_event_hook, /* lifetime event handler */ #ifdef RECONFIGURE_ENABLE .speed_switcher = NULL, /* no speed switcher */ .mode_switcher = NULL, /* no mode switcher */ .rate_switcher = NULL, /* no sample-rate switcher */ .min_cycle = 1, /* not relevant, no rate switch */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = nmea_write, /* how to send control strings */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, /* no method for NTP fudge factor */ #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #endif /* FV18_ENABLE */ #ifdef GPSCLOCK_ENABLE /************************************************************************** * * Furuno Electric GPSClock (GH-79L4) * **************************************************************************/ /* * Based on http://www.tecsys.de/fileadmin/user_upload/pdf/gh79_1an_intant.pdf */ static void gpsclock_event_hook(struct gps_device_t *session, event_t event) { if (session->context->readonly) return; /* * Michael St. Laurent reports that you have to * ignore the trailing PPS edge when extracting time from this chip. */ if (event == event_identified || event == event_reactivate) { gpsd_report(LOG_INF, "PPS trailing edge will be ignored\n"); session->driver.nmea.ignore_trailing_edge = true; } } /* *INDENT-OFF* */ const struct gps_type_t gpsclock = { .type_name = "Furuno Electric GH-79L4", /* full name of type */ .packet_type = NMEA_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no flags set */ .trigger = "$PFEC,GPssd", /* GPSclock should return this */ .channels = 12, /* not used by this driver */ .probe_detect = NULL, /* no probe */ .get_packet = generic_get, /* how to get a packet */ .parse_packet = generic_parse_input, /* how to interpret a packet */ .rtcm_writer = gpsd_write, /* write RTCM data straight */ .event_hook = gpsclock_event_hook, /* lifetime event handler */ #ifdef RECONFIGURE_ENABLE .speed_switcher = NULL, /* no speed switcher */ .mode_switcher = NULL, /* no mode switcher */ .rate_switcher = NULL, /* sample rate is fixed */ .min_cycle = 1, /* sample rate is fixed */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = nmea_write, /* how to send control strings */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, /* no method for NTP fudge factor */ #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #endif /* GPSCLOCK_ENABLE */ #ifdef TRIPMATE_ENABLE /************************************************************************** * * TripMate -- extended NMEA, gets faster fix when primed with lat/long/time * **************************************************************************/ /* * Some technical FAQs on the TripMate: * http://vancouver-webpages.com/pub/peter/tripmate.faq * http://www.asahi-net.or.jp/~KN6Y-GTU/tripmate/trmfaqe.html * The TripMate was discontinued sometime before November 1998 * and was replaced by the Zodiac EarthMate. */ static void tripmate_event_hook(struct gps_device_t *session, event_t event) { if (session->context->readonly) return; /* TripMate requires this response to the ASTRAL it sends at boot time */ if (event == event_identified) (void)nmea_send(session, "$IIGPQ,ASTRAL"); /* stop it sending PRWIZCH */ if (event == event_identified || event == event_reactivate) (void)nmea_send(session, "$PRWIILOG,ZCH,V,,"); } /* *INDENT-OFF* */ static const struct gps_type_t tripmate = { .type_name = "Delorme TripMate", /* full name of type */ .packet_type = NMEA_PACKET, /* lexer packet type */ .flags = DRIVER_NOFLAGS, /* no rollover or other flags */ .trigger ="ASTRAL", /* tells us to switch */ .channels = 12, /* consumer-grade GPS */ .probe_detect = NULL, /* no probe */ .get_packet = generic_get, /* how to get a packet */ .parse_packet = generic_parse_input, /* how to interpret a packet */ .rtcm_writer = gpsd_write, /* send RTCM data straight */ .event_hook = tripmate_event_hook, /* lifetime event handler */ #ifdef RECONFIGURE_ENABLE .speed_switcher= NULL, /* no speed switcher */ .mode_switcher = NULL, /* no mode switcher */ .rate_switcher = NULL, /* no sample-rate switcher */ .min_cycle = 1, /* no rate switch */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = nmea_write, /* how to send control strings */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, /* no method for NTP fudge factor */ #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #endif /* TRIPMATE_ENABLE */ #ifdef EARTHMATE_ENABLE /************************************************************************** * * Zodiac EarthMate textual mode * * Note: This is the pre-2003 version using Zodiac binary protocol. * There is a good HOWTO at . * It has been replaced with a design that uses a SiRF chipset. * **************************************************************************/ static void earthmate_event_hook(struct gps_device_t *session, event_t event) { if (session->context->readonly) return; if (event == event_triggermatch) { (void)gpsd_write(session, "EARTHA\r\n", 8); (void)usleep(10000); (void)gpsd_switch_driver(session, "Zodiac Binary"); } } /*@ -redef @*/ /* *INDENT-OFF* */ static const struct gps_type_t earthmate = { .type_name = "Delorme EarthMate (pre-2003, Zodiac chipset)", .packet_type = NMEA_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no rollover or other flags */ .trigger = "EARTHA", /* Earthmate trigger string */ .channels = 12, /* not used by NMEA parser */ .probe_detect = NULL, /* no probe */ .get_packet = generic_get, /* how to get a packet */ .parse_packet = generic_parse_input, /* how to interpret a packet */ .rtcm_writer = NULL, /* don't send RTCM data */ .event_hook = earthmate_event_hook, /* lifetime event handler */ #ifdef RECONFIGURE_ENABLE .speed_switcher= NULL, /* no speed switcher */ .mode_switcher = NULL, /* no mode switcher */ .rate_switcher = NULL, /* no sample-rate switcher */ .min_cycle = 1, /* no rate switch */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = nmea_write, /* how to send control strings */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, /* no method for NTP fudge factor */ #endif /* NTPSHM_ ENABLE */ }; /*@ -redef @*/ /* *INDENT-ON* */ #endif /* EARTHMATE_ENABLE */ #endif /* NMEA_ENABLE */ #ifdef TNT_ENABLE /************************************************************************** * True North Technologies - Revolution 2X Digital compass * * More info: http://www.tntc.com/ * * This is a digital compass which uses magnetometers to measure the * strength of the earth's magnetic field. Based on these measurements * it provides a compass heading using NMEA formatted output strings. * This is useful to supplement the heading provided by another GPS * unit. A GPS heading is unreliable at slow speed or no speed. * **************************************************************************/ static void tnt_add_checksum(char *sentence) /* add NMEA-style CRC checksum to a command */ { unsigned char sum = '\0'; char c, *p = sentence; if (*p == '@') { p++; } else { gpsd_report(LOG_ERROR, "Bad TNT sentence: '%s'\n", sentence); } while (((c = *p) != '\0')) { sum ^= c; p++; } (void)snprintf(p, 6, "*%02X\r\n", (unsigned int)sum); } static ssize_t tnt_control_send(struct gps_device_t *session, char *msg, size_t len UNUSED) /* send a control string in TNT native formal */ { ssize_t status; tnt_add_checksum(msg); status = write(session->gpsdata.gps_fd, msg, strlen(msg)); (void)tcdrain(session->gpsdata.gps_fd); return status; } static bool tnt_send(struct gps_device_t *session, const char *fmt, ...) /* printf(3)-like TNT command generator */ { char buf[BUFSIZ]; va_list ap; ssize_t sent; va_start(ap, fmt); (void)vsnprintf(buf, sizeof(buf) - 5, fmt, ap); va_end(ap); sent = tnt_control_send(session, buf, strlen(buf)); if (sent == (ssize_t) strlen(buf)) { gpsd_report(LOG_IO, "=> GPS: %s\n", buf); return true; } else { gpsd_report(LOG_WARN, "=> GPS: %s FAILED\n", buf); return false; } } #ifdef RECONFIGURE_ENABLE static bool tnt_speed(struct gps_device_t *session, speed_t speed, char parity UNUSED, int stopbits UNUSED) { /* * Baud rate change followed by device reset. * See page 40 of Technical Guide 1555-B. We need: * 2400 -> 1, 4800 -> 2, 9600 -> 3, 19200 -> 4, 38400 -> 5 */ unsigned int val = speed / 2400u; /* 2400->1, 4800->2, 9600->4, 19200->8... */ unsigned int i = 0; /* fast way to compute log2(val) */ while ((val >> i) > 1) ++i; return tnt_send(session, "@B6=%d", i + 1) && tnt_send(session, "@F28.6=1"); } #endif /* RECONFIGURE_ENABLE */ static void tnt_event_hook(struct gps_device_t *session, event_t event) /* TNT lifetime event hook */ { if (session->context->readonly) return; if (event == event_wakeup) { (void)tnt_send(session, "@F0.3=1"); /* set run mode */ (void)tnt_send(session, "@F2.2=1"); /* report in degrees */ } } /* *INDENT-OFF* */ const struct gps_type_t trueNorth = { .type_name = "True North", /* full name of type */ .packet_type = NMEA_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no flags set */ .trigger = "$PTNTHTM", /* their proprietary sentence */ .channels = 0, /* not an actual GPS at all */ .probe_detect = NULL, /* no probe in run mode */ .get_packet = generic_get, /* how to get a packet */ .parse_packet = generic_parse_input, /* how to interpret a packet */ .rtcm_writer = NULL, /* Don't send */ .event_hook = tnt_event_hook, /* lifetime event handler */ #ifdef RECONFIGURE_ENABLE .speed_switcher = tnt_speed, /* no speed switcher */ .mode_switcher = NULL, /* no mode switcher */ .rate_switcher = NULL, /* no wrapup */ .min_cycle = 0.5, /* fixed at 20 samples per second */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = tnt_control_send, /* how to send control strings */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #endif #ifdef OCEANSERVER_ENABLE /************************************************************************** * OceanServer - Digital Compass, OS5000 Series * * More info: http://www.ocean-server.com/download/OS5000_Compass_Manual.pdf * * This is a digital compass which uses magnetometers to measure the * strength of the earth's magnetic field. Based on these measurements * it provides a compass heading using NMEA formatted output strings. * This is useful to supplement the heading provided by another GPS * unit. A GPS heading is unreliable at slow speed or no speed. * **************************************************************************/ static int oceanserver_send(int fd, const char *fmt, ...) { int status; char buf[BUFSIZ]; va_list ap; va_start(ap, fmt); (void)vsnprintf(buf, sizeof(buf) - 5, fmt, ap); va_end(ap); (void)strlcat(buf, "", BUFSIZ); status = (int)write(fd, buf, strlen(buf)); (void)tcdrain(fd); if (status == (int)strlen(buf)) { gpsd_report(LOG_IO, "=> GPS: %s\n", buf); return status; } else { gpsd_report(LOG_WARN, "=> GPS: %s FAILED\n", buf); return -1; } } static void oceanserver_event_hook(struct gps_device_t *session, event_t event) { if (session->context->readonly) return; if (event == event_configure && session->packet.counter == 0) { /* report in NMEA format */ (void)oceanserver_send(session->gpsdata.gps_fd, "2\n"); /* ship all fields */ (void)oceanserver_send(session->gpsdata.gps_fd, "X2047"); } } /* *INDENT-OFF* */ static const struct gps_type_t oceanServer = { .type_name = "OceanServer Digital Compass OS5000", /* full name of type */ .packet_type = NMEA_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no rollover or other flags */ .trigger = "$OHPR,", /* detect their main sentence */ .channels = 0, /* not an actual GPS at all */ .probe_detect = NULL, .get_packet = generic_get, /* how to get a packet */ .parse_packet = generic_parse_input, /* how to interpret a packet */ .rtcm_writer = NULL, /* Don't send */ .event_hook = oceanserver_event_hook, #ifdef RECONFIGURE_ENABLE .speed_switcher = NULL, /* no speed switcher */ .mode_switcher = NULL, /* no mode switcher */ .rate_switcher = NULL, /* no wrapup */ .min_cycle = 1, /* not relevant, no rate switch */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = nmea_write, /* how to send control strings */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #endif #ifdef FURY_ENABLE /************************************************************************** * * Jackson Labs Fury, a high-precision laboratory clock * * Will also support other Jackon Labs boards, including the Firefly. * * Note: you must either build with fixed_port_speed=115200 or tweak the * speed on the port to 115200 before running. The device's default mode * does not stream output, so our hunt loop will simply time out otherwise. * **************************************************************************/ static bool fury_rate_switcher(struct gps_device_t *session, double rate) { char buf[78]; double inverted; /* rate is a frequency, but the command takes interval in # of sedconds */ if (rate == 0.0) inverted = 0.0; else inverted = 1.0/rate; if (inverted > 256) return false; (void)snprintf(buf, sizeof(buf), "GPS:GPGGA %d\r\n", (int)inverted); (void)gpsd_write(session, buf, strlen(buf)); return true; } static void fury_event_hook(struct gps_device_t *session, event_t event) { if (event == event_wakeup && gpsd_get_speed(session) == 115200) (void)fury_rate_switcher(session, 1.0); else if (event == event_deactivate) (void)fury_rate_switcher(session, 0.0); } /* *INDENT-OFF* */ static const struct gps_type_t fury = { .type_name = "Jackson Labs Fury", /* full name of type */ .packet_type = NMEA_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no rollover or other flags */ .trigger = NULL, /* detect their main sentence */ .channels = 0, /* not an actual GPS at all */ .probe_detect = NULL, .get_packet = generic_get, /* how to get a packet */ .parse_packet = generic_parse_input, /* how to interpret a packet */ .rtcm_writer = NULL, /* Don't send */ .event_hook = fury_event_hook, #ifdef RECONFIGURE_ENABLE .speed_switcher = NULL, /* no speed switcher */ .mode_switcher = NULL, /* no mode switcher */ .rate_switcher = fury_rate_switcher, .min_cycle = 1, /* has rate switch */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = nmea_write, /* how to send control strings */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #endif /* FURY_ENABLE */ #ifdef RTCM104V2_ENABLE /************************************************************************** * * RTCM-104 (v2), used for broadcasting DGPS corrections and by DGPS radios * **************************************************************************/ static gps_mask_t rtcm104v2_analyze(struct gps_device_t *session) { rtcm2_unpack(&session->gpsdata.rtcm2, (char *)session->packet.isgps.buf); /* extra guard prevents expensive hexdump calls */ if (session->context->debug >= LOG_RAW) gpsd_report(LOG_RAW, "RTCM 2.x packet type 0x%02x length %d words from %zd bytes: %s\n", session->gpsdata.rtcm2.type, session->gpsdata.rtcm2.length + 2, session->packet.isgps.buflen, gpsd_hexdump((char *)session->packet.isgps.buf, (session->gpsdata.rtcm2.length + 2) * sizeof(isgps30bits_t))); session->cycle_end_reliable = true; return RTCM2_SET; } /* *INDENT-OFF* */ static const struct gps_type_t rtcm104v2 = { .type_name = "RTCM104V2", /* full name of type */ .packet_type = RTCM2_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no rollover or other flags */ .trigger = NULL, /* no recognition string */ .channels = 0, /* not used */ .probe_detect = NULL, /* no probe */ .get_packet = generic_get, /* how to get a packet */ .parse_packet = rtcm104v2_analyze, /* */ .rtcm_writer = NULL, /* don't send RTCM data, */ .event_hook = NULL, /* no event_hook */ #ifdef RECONFIGURE_ENABLE .speed_switcher= NULL, /* no speed switcher */ .mode_switcher = NULL, /* no mode switcher */ .rate_switcher = NULL, /* no sample-rate switcher */ .min_cycle = 1, /* not relevant, no rate switch */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = nmea_write, /* how to send control strings */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #endif /* RTCM104V2_ENABLE */ #ifdef RTCM104V3_ENABLE /************************************************************************** * * RTCM-104 (v3), used for broadcasting DGPS corrections and by DGPS radios * **************************************************************************/ static gps_mask_t rtcm104v3_analyze(struct gps_device_t *session) { uint16_t type = getbeu16(session->packet.inbuffer, 3) >> 4; gpsd_report(LOG_RAW, "RTCM 3.x packet %d\n", type); rtcm3_unpack(&session->gpsdata.rtcm3, (char *)session->packet.outbuffer); session->cycle_end_reliable = true; return RTCM3_SET; } /* *INDENT-OFF* */ static const struct gps_type_t rtcm104v3 = { .type_name = "RTCM104V3", /* full name of type */ .packet_type = RTCM3_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no rollover or other flags */ .trigger = NULL, /* no recognition string */ .channels = 0, /* not used */ .probe_detect = NULL, /* no probe */ .get_packet = generic_get, /* how to get a packet */ .parse_packet = rtcm104v3_analyze, /* */ .rtcm_writer = NULL, /* don't send RTCM data, */ .event_hook = NULL, /* no event hook */ #ifdef RECONFIGURE_ENABLE .speed_switcher= NULL, /* no speed switcher */ .mode_switcher = NULL, /* no mode switcher */ .rate_switcher = NULL, /* no sample-rate switcher */ .min_cycle = 1, /* not relevant, no rate switch */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = nmea_write, /* how to send control strings */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #endif /* RTCM104V3_ENABLE */ #ifdef GARMINTXT_ENABLE /************************************************************************** * * Garmin Simple Text protocol * **************************************************************************/ /* *INDENT-OFF* */ static const struct gps_type_t garmintxt = { .type_name = "Garmin Simple Text", /* full name of type */ .packet_type = GARMINTXT_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no rollover or other flags */ .trigger = NULL, /* no recognition string */ .channels = 0, /* not used */ .probe_detect = NULL, /* no probe */ .get_packet = generic_get, /* how to get a packet */ .parse_packet = generic_parse_input, /* how to parse one */ .rtcm_writer = NULL, /* don't send RTCM data, */ .event_hook = NULL, /* no event hook */ #ifdef RECONFIGURE_ENABLE .speed_switcher= NULL, /* no speed switcher */ .mode_switcher = NULL, /* no mode switcher */ .rate_switcher = NULL, /* no sample-rate switcher */ .min_cycle = 1, /* not relevant, no rate switch */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = nmea_write, /* how to send control strings */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #endif /* GARMINTXT_ENABLE */ #ifdef MTK3301_ENABLE /************************************************************************** * * MediaTek MTK-3301 * * OEMs for several GPS vendors, notably including Garmin and FasTrax. * Website at . * **************************************************************************/ static gps_mask_t processMTK3301(struct gps_device_t *session) { gps_mask_t mask; /* try a straight NMEA parse, this will set up fields */ mask = generic_parse_input(session); if (session->packet.type == NMEA_PACKET && strncmp(session->driver.nmea.field[0], "PMTK", 4) == 0) { int msg, reason; msg = atoi(&(session->driver.nmea.field[0])[4]); switch (msg) { case 705: /* */ (void)strlcat(session->subtype, session->driver.nmea.field[1], sizeof(session->subtype)); (void)strlcat(session->subtype, "-", sizeof(session->subtype)); (void)strlcat(session->subtype, session->driver.nmea.field[2], sizeof(session->subtype)); return ONLINE_SET; case 001: /* ACK / NACK */ reason = atoi(session->driver.nmea.field[2]); if (atoi(session->driver.nmea.field[1]) == -1) gpsd_report(LOG_WARN, "MTK NACK: unknown sentence\n"); else if (reason < 3) { const char *mtk_reasons[] = { "Invalid", "Unsupported", "Valid but Failed", "Valid success" }; gpsd_report(LOG_WARN, "MTK NACK: %s, reason: %s\n", session->driver.nmea.field[1], mtk_reasons[reason]); } else gpsd_report(LOG_WARN, "MTK ACK: %s\n", session->driver.nmea.field[1]); break; default: return ONLINE_SET; /* ignore */ } } return mask; } static void mtk3301_event_hook(struct gps_device_t *session, event_t event) { /* 0 NMEA_SEN_GLL, GPGLL interval - Geographic Position - Latitude longitude 1 NMEA_SEN_RMC, GPRMC interval - Recommended Minimum Specific GNSS Sentence 2 NMEA_SEN_VTG, GPVTG interval - Course Over Ground and Ground Speed 3 NMEA_SEN_GGA, GPGGA interval - GPS Fix Data 4 NMEA_SEN_GSA, GPGSA interval - GNSS DOPS and Active Satellites 5 NMEA_SEN_GSV, GPGSV interval - GNSS Satellites in View 6 NMEA_SEN_GRS, GPGRS interval - GNSS Range Residuals 7 NMEA_SEN_GST, GPGST interval - GNSS Pseudorange Errors Statistics 13 NMEA_SEN_MALM, PMTKALM interval - GPS almanac information 14 NMEA_SEN_MEPH, PMTKEPH interval - GPS ephemeris information 15 NMEA_SEN_MDGP, PMTKDGP interval - GPS differential correction information 16 NMEA_SEN_MDBG, PMTKDBG interval – MTK debug information 17 NMEA_SEN_ZDA, GPZDA interval - Time & Date 18 NMEA_SEN_MCHN, PMTKCHN interval – GPS channel status "$PMTK314,1,1,1,1,1,5,1,1,0,0,0,0,0,0,0,0,0,1,0" */ if (session->context->readonly) return; /* FIX-ME: Do we need to resend this on reactivation? */ if (event == event_identified) { (void)nmea_send(session, "$PMTK320,0"); /* power save off */ (void)nmea_send(session, "$PMTK300,1000,0,0,0.0,0.0"); /* Fix interval */ (void)nmea_send(session, "$PMTK314,0,1,0,1,1,5,1,1,0,0,0,0,0,0,0,0,0,1,0"); (void)nmea_send(session, "$PMTK301,2"); /* DGPS is WAAS */ (void)nmea_send(session, "$PMTK313,1"); /* SBAS enable */ } } #ifdef RECONFIGURE_ENABLE static bool mtk3301_rate_switcher(struct gps_device_t *session, double rate) { char buf[78]; /*@i1@*/ unsigned int milliseconds = 1000 * rate; if (rate > 1) milliseconds = 1000; else if (rate < 0.2) milliseconds = 200; (void)snprintf(buf, sizeof(buf), "$PMTK300,%u,0,0,0,0", milliseconds); (void)nmea_send(session, buf); /* Fix interval */ return true; } #endif /* RECONFIGURE_ENABLE */ /* *INDENT-OFF* */ const struct gps_type_t mtk3301 = { .type_name = "MTK-3301", /* full name of type */ .packet_type = NMEA_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no flags set */ .trigger = "$PMTK705,", /* firmware release name and version */ .channels = 12, /* not used by this driver */ .probe_detect = NULL, /* no probe */ .get_packet = generic_get, /* how to get a packet */ .parse_packet = processMTK3301, /* how to interpret a packet */ .rtcm_writer = gpsd_write, /* write RTCM data straight */ .event_hook = mtk3301_event_hook, /* lifetime event handler */ #ifdef RECONFIGURE_ENABLE .speed_switcher = NULL, /* no speed switcher */ .mode_switcher = NULL, /* no mode switcher */ .rate_switcher = mtk3301_rate_switcher, /* sample rate switcher */ .min_cycle = 0.2, /* max 5Hz */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = nmea_write, /* how to send control strings */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #endif /* MTK3301_ENABLE */ #ifdef AIVDM_ENABLE /************************************************************************** * * AIVDM - ASCII armoring of binary AIS packets * **************************************************************************/ /*@ -fixedformalarray -usedef -branchstate @*/ static bool aivdm_decode(const char *buf, size_t buflen, struct aivdm_context_t ais_contexts[AIVDM_CHANNELS], struct ais_t *ais, int debug) { #ifdef __UNUSED_DEBUG__ char *sixbits[64] = { "000000", "000001", "000010", "000011", "000100", "000101", "000110", "000111", "001000", "001001", "001010", "001011", "001100", "001101", "001110", "001111", "010000", "010001", "010010", "010011", "010100", "010101", "010110", "010111", "011000", "011001", "011010", "011011", "011100", "011101", "011110", "011111", "100000", "100001", "100010", "100011", "100100", "100101", "100110", "100111", "101000", "101001", "101010", "101011", "101100", "101101", "101110", "101111", "110000", "110001", "110010", "110011", "110100", "110101", "110110", "110111", "111000", "111001", "111010", "111011", "111100", "111101", "111110", "111111", }; #endif /* __UNUSED_DEBUG__ */ int nfrags, ifrag, nfields = 0; unsigned char *field[NMEA_MAX*2]; unsigned char fieldcopy[NMEA_MAX*2+1]; unsigned char *data, *cp; unsigned char ch, pad; struct aivdm_context_t *ais_context; int i; if (buflen == 0) return false; /* we may need to dump the raw packet */ gpsd_report(LOG_PROG, "AIVDM packet length %zd: %s\n", buflen, buf); /* first clear the result, making sure we don't return garbage */ memset(ais, 0, sizeof(*ais)); /* discard overlong sentences */ if (strlen(buf) > sizeof(fieldcopy)-1) { gpsd_report(LOG_ERROR, "overlong AIVDM packet.\n"); return false; } /* extract packet fields */ (void)strlcpy((char *)fieldcopy, buf, sizeof(fieldcopy)); field[nfields++] = (unsigned char *)buf; for (cp = fieldcopy; cp < fieldcopy + buflen; cp++) if (*cp == (unsigned char)',') { *cp = '\0'; field[nfields++] = cp + 1; } /* discard sentences with exiguous commas; catches run-ons */ if (nfields < 7) { gpsd_report(LOG_ERROR, "malformed AIVDM packet.\n"); return false; } switch (field[4][0]) { /* FIXME: if fields[4] == "12", it doesn't detect the error */ case '\0': /* * Apparently an empty channel is normal for AIVDO sentences, * which makes sense as they don't come in over radio. This * is going to break if there's ever an AIVDO type 24, though. */ if (strncmp((const char *)field[0], "!AIVDO", 6) != 0) gpsd_report(LOG_ERROR, "invalid empty AIS channel. Assuming 'A'\n"); ais_context = &ais_contexts[0]; break; case '1': /*@fallthrough@*/ case 'A': ais_context = &ais_contexts[0]; break; case '2': /*@fallthrough@*/ case 'B': ais_context = &ais_contexts[1]; break; default: gpsd_report(LOG_ERROR, "invalid AIS channel 0x%0X .\n", field[4][0]); return false; } nfrags = atoi((char *)field[1]); /* number of fragments to expect */ ifrag = atoi((char *)field[2]); /* fragment id */ data = field[5]; pad = field[6][0]; /* number of padding bits */ gpsd_report(LOG_PROG, "nfrags=%d, ifrag=%d, decoded_frags=%d, data=%s\n", nfrags, ifrag, ais_context->decoded_frags, data); /* assemble the binary data */ /* check fragment ordering */ if (ifrag != ais_context->decoded_frags + 1) { gpsd_report(LOG_ERROR, "invalid fragment #%d received, expected #%d.\n", ifrag, ais_context->decoded_frags + 1); if (ifrag != 1) return false; /* else, ifrag==1: Just discard all that was previously decoded and * simply handle that packet */ ais_context->decoded_frags = 0; } if (ifrag == 1) { (void)memset(ais_context->bits, '\0', sizeof(ais_context->bits)); ais_context->bitlen = 0; } /* wacky 6-bit encoding, shades of FIELDATA */ /*@ +charint @*/ for (cp = data; cp < data + strlen((char *)data); cp++) { ch = *cp; ch -= 48; if (ch >= 40) ch -= 8; #ifdef __UNUSED_DEBUG__ gpsd_report(LOG_RAW, "%c: %s\n", *cp, sixbits[ch]); #endif /* __UNUSED_DEBUG__ */ /*@ -shiftnegative @*/ for (i = 5; i >= 0; i--) { if ((ch >> i) & 0x01) { ais_context->bits[ais_context->bitlen / 8] |= (1 << (7 - ais_context->bitlen % 8)); } ais_context->bitlen++; if (ais_context->bitlen > sizeof(ais_context->bits)) { gpsd_report(LOG_INF, "overlong AIVDM payload truncated.\n"); return false; } } /*@ +shiftnegative @*/ } if (isdigit(pad)) ais_context->bitlen -= (pad - '0'); /* ASCII assumption */ /*@ -charint @*/ /* time to pass buffered-up data to where it's actually processed? */ if (ifrag == nfrags) { if (debug >= LOG_INF) { size_t clen = (ais_context->bitlen + 7) / 8; gpsd_report(LOG_INF, "AIVDM payload is %zd bits, %zd chars: %s\n", ais_context->bitlen, clen, gpsd_hexdump((char *)ais_context->bits, clen)); } /* clear waiting fragments count */ ais_context->decoded_frags = 0; /* decode the assembled binary packet */ return ais_binary_decode(ais, ais_context->bits, ais_context->bitlen, &ais_context->type24_queue); } /* we're still waiting on another sentence */ ais_context->decoded_frags++; return false; } /*@ +fixedformalarray +usedef +branchstate @*/ static void aivdm_event_hook(struct gps_device_t *session, event_t event) { if (event == event_configure) /*@i1@*/session->aivdm->type24_queue.index = 0; } static gps_mask_t aivdm_analyze(struct gps_device_t *session) { if (session->packet.type == AIVDM_PACKET) { if (aivdm_decode ((char *)session->packet.outbuffer, session->packet.outbuflen, session->aivdm, &session->gpsdata.ais, session->context->debug)) { return ONLINE_SET | AIS_SET; } else return ONLINE_SET; #ifdef NMEA_ENABLE } else if (session->packet.type == NMEA_PACKET) { return nmea_parse((char *)session->packet.outbuffer, session); #endif /* NMEA_ENABLE */ } else return 0; } /* *INDENT-OFF* */ static const struct gps_type_t aivdm = { /* Full name of type */ .type_name = "AIVDM", /* associated lexer packet type */ .packet_type = AIVDM_PACKET, /* numeric packet type */ .flags = DRIVER_NOFLAGS, /* no rollover or other flags */ .trigger = NULL, /* identifying response */ .channels = 0, /* not used by this driver */ .probe_detect = NULL, /* no probe */ .get_packet = generic_get, /* how to get a packet */ .parse_packet = aivdm_analyze, /* how to analyze a packet */ .rtcm_writer = NULL, /* don't send RTCM data, */ .event_hook = aivdm_event_hook,/* lifetime event handler */ #ifdef RECONFIGURE_ENABLE .speed_switcher = NULL, /* no speed switcher */ .mode_switcher = NULL, /* no mode switcher */ .rate_switcher = NULL, /* no rate switcher */ .min_cycle = 1, /* max 1Hz */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = NULL, /* no control sender */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, /* no NTP communication */ #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #endif /* AIVDM_ENABLE */ #ifdef PASSTHROUGH_ENABLE /************************************************************************** * * JSON passthrough driver * **************************************************************************/ static void path_rewrite(struct gps_device_t *session, char *prefix) /* prepend the session path to the value of a specified attribute */ { /* * Hack the packet to reflect its origin. This code is supposed * to insert the path naming the remote gpsd instance into the * baginning of the path attribute, followed by a # to separate it * from the device. */ char *prefloc; for (prefloc = (char *)session->packet.outbuffer; prefloc < (char *)session->packet.outbuffer+session->packet.outbuflen; prefloc++) if (strncmp(prefloc, prefix, strlen(prefix)) == 0) { char copy[sizeof(session->packet.outbuffer)]; (void)strlcpy(copy, (char *)session->packet.outbuffer, sizeof(copy)); prefloc += strlen(prefix); (void)strlcpy(prefloc, session->gpsdata.dev.path, sizeof(session->gpsdata.dev.path)); (void)strlcat((char *)session->packet.outbuffer, "#", sizeof(session->packet.outbuffer)); (void)strlcat((char *)session->packet.outbuffer, copy + (prefloc-(char *)session->packet.outbuffer), sizeof(session->packet.outbuffer)); } session->packet.outbuflen = strlen((char *)session->packet.outbuffer); } static gps_mask_t json_pass_packet(struct gps_device_t *session UNUSED) { gpsd_report(LOG_IO, "<= GPS: %s\n", (char *)session->packet.outbuffer); /*@-nullpass@*/ /* required only because splint is buggy */ /* devices and paths need to be edited to */ if (strstr((char *)session->packet.outbuffer, "DEVICE") != NULL) path_rewrite(session, "\"path\":\""); path_rewrite(session, "\"device\":\""); /* mark certain responses without a path or device attribute */ if (strstr((char *)session->packet.outbuffer, "VERSION") != NULL || strstr((char *)session->packet.outbuffer, "WATCH") != NULL || strstr((char *)session->packet.outbuffer, "DEVICES") != NULL) { session->packet.outbuffer[session->packet.outbuflen-1] = '\0'; (void)strlcat((char *)session->packet.outbuffer, ",\"remote\":\"", sizeof(session->packet.outbuffer)); (void)strlcat((char *)session->packet.outbuffer, session->gpsdata.dev.path, sizeof(session->packet.outbuffer)); (void)strlcat((char *)session->packet.outbuffer, "\"}", sizeof(session->packet.outbuffer)); } gpsd_report (LOG_PROG, "JSON, passing through %s\n", (char *)session->packet.outbuffer); /*@-nullpass@*/ return PASSTHROUGH_IS; } /* *INDENT-OFF* */ const struct gps_type_t json_passthrough = { .type_name = "JSON slave driver", /* full name of type */ .packet_type = JSON_PACKET, /* associated lexer packet type */ .flags = DRIVER_NOFLAGS, /* no flags set */ .trigger = NULL, /* it's the default */ .channels = 0, /* not used */ .probe_detect = NULL, /* no probe */ .get_packet = generic_get, /* use generic packet getter */ .parse_packet = json_pass_packet, /* how to interpret a packet */ .rtcm_writer = NULL, /* write RTCM data straight */ .event_hook = NULL, /* lifetime event handler */ #ifdef RECONFIGURE_ENABLE .speed_switcher = NULL, /* no speed switcher */ .mode_switcher = NULL, /* no mode switcher */ .rate_switcher = NULL, /* no sample-rate switcher */ .min_cycle = 1, /* not relevant, no rate switch */ #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE .control_send = NULL, /* how to send control strings */ #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE .ntp_offset = NULL, /* no method for NTP fudge factor */ #endif /* NTPSHM_ ENABLE */ }; /* *INDENT-ON* */ #endif /* PASSTHROUGH_ENABLE */ extern const struct gps_type_t garmin_usb_binary, garmin_ser_binary; extern const struct gps_type_t geostar_binary; extern const struct gps_type_t tsip_binary, oncore_binary; extern const struct gps_type_t evermore_binary, italk_binary; extern const struct gps_type_t navcom_binary, superstar2_binary; /*@ -nullassign @*/ /* the point of this rigamarole is to not have to export a table size */ static const struct gps_type_t *gpsd_driver_array[] = { &unknown, #ifdef NMEA_ENABLE &nmea, #ifdef ASHTECH_ENABLE &ashtech, #endif /* ASHTECHV18_ENABLE */ #ifdef TRIPMATE_ENABLE &tripmate, #endif /* TRIPMATE_ENABLE */ #ifdef EARTHMATE_ENABLE &earthmate, #endif /* EARTHMATE_ENABLE */ #ifdef GPSCLOCK_ENABLE &gpsclock, #endif /* GPSCLOCK_ENABLE */ #ifdef GARMIN_ENABLE &garmin, #endif /* GARMIN_ENABLE */ #ifdef MTK3301_ENABLE &mtk3301, #endif /* MTK3301_ENABLE */ #ifdef OCEANSERVER_ENABLE &oceanServer, #endif /* OCEANSERVER_ENABLE */ #ifdef FV18_ENABLE &fv18, #endif /* FV18_ENABLE */ #ifdef TNT_ENABLE &trueNorth, #endif /* TNT_ENABLE */ #ifdef FURY_ENABLE &fury, #endif /* FURY_ENABLE */ #ifdef AIVDM_ENABLE &aivdm, #endif /* AIVDM_ENABLE */ #endif /* NMEA_ENABLE */ #ifdef EVERMORE_ENABLE &evermore_binary, #endif /* EVERMORE_ENABLE */ #ifdef GARMIN_ENABLE /* be sure to try Garmin Serial Binary before Garmin USB Binary */ &garmin_ser_binary, &garmin_usb_binary, #endif /* GARMIN_ENABLE */ #ifdef GEOSTAR_ENABLE &geostar_binary, #endif /* GEOSTAR_ENABLE */ #ifdef ITRAX_ENABLE &italk_binary, #endif /* ITRAX_ENABLE */ #ifdef ONCORE_ENABLE &oncore_binary, #endif /* ONCORE_ENABLE */ #ifdef NAVCOM_ENABLE &navcom_binary, #endif /* NAVCOM_ENABLE */ #ifdef SIRF_ENABLE &sirf_binary, #endif /* SIRF_ENABLE */ #ifdef SUPERSTAR2_ENABLE &superstar2_binary, #endif /* SUPERSTAR2_ENABLE */ #ifdef TSIP_ENABLE &tsip_binary, #endif /* TSIP_ENABLE */ #ifdef UBX_ENABLE &ubx_binary, #endif /* UBX_ENABLE */ #ifdef ZODIAC_ENABLE &zodiac_binary, #endif /* ZODIAC_ENABLE */ #ifdef NMEA2000_ENABLE &nmea2000, #endif /* NMEA2000_ENABLE */ #ifdef RTCM104V2_ENABLE &rtcm104v2, #endif /* RTCM104V2_ENABLE */ #ifdef RTCM104V3_ENABLE &rtcm104v3, #endif /* RTCM104V3_ENABLE */ #ifdef GARMINTXT_ENABLE &garmintxt, #endif /* GARMINTXT_ENABLE */ #ifdef PASSTHROUGH_ENABLE &json_passthrough, #endif /* PASSTHROUGH_ENABLE */ NULL, }; /*@ +nullassign @*/ const struct gps_type_t **gpsd_drivers = &gpsd_driver_array[0]; gpsd-3.9/gegps0000775000175000017500000000551511762140435011534 0ustar esresr#!/usr/bin/env python # -*- coding: utf-8 -*- # # usage: gegps [-i] [-d kmldir] # # Feed location data from a running GPSD to a Google Earth instance. # The -d argument is the location of the Google Earth installation # directory. If not specified, it defaults to the current directory. # # If you have the free (non-subscription) version, start by running with # the -i option to drop a clue in the Google Earth installation directory, # as 'Open_in_Google_Earth_RT_GPS.kml', then open that file in Places # (File > Open...), # # The basic recipe is here: # http://tjworld.net/wiki/Linux/Ubuntu/GoogleEarthPlusRealTimeGPS # # This code originally by Jaroslaw Zachwieja and a guy referring # to himself/herself as TJ(http://tjworld.net) # Modified by Chen Wei for use with gpsd # Cleaned up and adapted for the GPSD project by Eric S. Raymond. import sys, os, getopt import gps KML_OPEN_IN_GE = '''\ Realtime GPS 1 Realtime_GPS.kml onInterval ''' def kmlize(tpv): '''http://code.google.com/apis/kml/documentation/kmlreference.html for official kml document''' latitude = tpv['lat'] longitude = tpv['lon'] speed_in = tpv['speed'] # meter/second speed = speed_in * gps.MPS_TO_KPH # Km/h heading = int(round(tpv['track'], 0)) altitude = tpv['alt'] if speed < 1: heading = 0 return """ %s km/h,heading %s Realtime GPS feeding %s %s %s,%s,%s """ % (speed,heading,longitude,latitude,longitude,latitude,altitude) if __name__ == "__main__": session = gps.gps() session.stream(gps.WATCH_ENABLE) kmldir = "." initialize = False (options, arguments) = getopt.getopt(sys.argv[1:], "d:i") for (opt, arg) in options: if opt == '-d': kmldir = arg elif opt == '-i': initialize = True if initialize: f = open(os.path.join(kmldir, 'Open_in_Google_Earth_RT_GPS.kml'), 'w') f.write(KML_OPEN_IN_GE) f.close() else: try: while True: report = session.next() if report['class'] == 'TPV': f = open(os.path.join(kmldir, 'Realtime_GPS.kml'), 'w') f.write(kmlize(report)) f.close() except StopIteration: pass except KeyboardInterrupt: print 'gegpsd stopped ' # end gpsd-3.9/geoid.c0000664000175000017500000001570712022345475011741 0ustar esresr/* * geoid.c -- ECEF to WGS84 conversions, including ellipsoid-to-MSL height * * Geoid separation code by Oleg Gusev, from data by Peter Dana. * ECEF conversion by Rob Janssen. * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include "gpsd.h" static double fix_minuz(double d); static double bilinear(double x1, double y1, double x2, double y2, double x, double y, double z11, double z12, double z21, double z22) { double delta; #define EQ(a, b) (fabs((a) - (b)) < 0.001) if (EQ(y1, y2) && EQ(x1, x2)) return (z11); if (EQ(y1, y2) && !EQ(x1, x2)) return (z22 * (x - x1) + z11 * (x2 - x)) / (x2 - x1); if (EQ(x1, x2) && !EQ(y1, y2)) return (z22 * (y - y1) + z11 * (y2 - y)) / (y2 - y1); #undef EQ delta = (y2 - y1) * (x2 - x1); return (z22 * (y - y1) * (x - x1) + z12 * (y2 - y) * (x - x1) + z21 * (y - y1) * (x2 - x) + z11 * (y2 - y) * (x2 - x)) / delta; } double wgs84_separation(double lat, double lon) /* return geoid separation (MSL-WGS84) in meters, given a lat/lon in degrees */ { #define GEOID_ROW 19 #define GEOID_COL 37 /* *INDENT-OFF* */ /*@ +charint @*/ const int geoid_delta[GEOID_COL*GEOID_ROW]={ /* 90S */ -30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30, /* 80S */ -53,-54,-55,-52,-48,-42,-38,-38,-29,-26,-26,-24,-23,-21,-19,-16,-12, -8, -4, -1, 1, 4, 4, 6, 5, 4, 2, -6,-15,-24,-33,-40,-48,-50,-53,-52,-53, /* 70S */ -61,-60,-61,-55,-49,-44,-38,-31,-25,-16, -6, 1, 4, 5, 4, 2, 6, 12, 16, 16, 17, 21, 20, 26, 26, 22, 16, 10, -1,-16,-29,-36,-46,-55,-54,-59,-61, /* 60S */ -45,-43,-37,-32,-30,-26,-23,-22,-16,-10, -2, 10, 20, 20, 21, 24, 22, 17, 16, 19, 25, 30, 35, 35, 33, 30, 27, 10, -2,-14,-23,-30,-33,-29,-35,-43,-45, /* 50S */ -15,-18,-18,-16,-17,-15,-10,-10, -8, -2, 6, 14, 13, 3, 3, 10, 20, 27, 25, 26, 34, 39, 45, 45, 38, 39, 28, 13, -1,-15,-22,-22,-18,-15,-14,-10,-15, /* 40S */ 21, 6, 1, -7,-12,-12,-12,-10, -7, -1, 8, 23, 15, -2, -6, 6, 21, 24, 18, 26, 31, 33, 39, 41, 30, 24, 13, -2,-20,-32,-33,-27,-14, -2, 5, 20, 21, /* 30S */ 46, 22, 5, -2, -8,-13,-10, -7, -4, 1, 9, 32, 16, 4, -8, 4, 12, 15, 22, 27, 34, 29, 14, 15, 15, 7, -9,-25,-37,-39,-23,-14, 15, 33, 34, 45, 46, /* 20S */ 51, 27, 10, 0, -9,-11, -5, -2, -3, -1, 9, 35, 20, -5, -6, -5, 0, 13, 17, 23, 21, 8, -9,-10,-11,-20, -40,-47,-45,-25, 5, 23, 45, 58, 57, 63, 51, /* 10S */ 36, 22, 11, 6, -1, -8,-10, -8,-11, -9, 1, 32, 4,-18,-13, -9, 4, 14, 12, 13, -2,-14,-25,-32,-38,-60, -75,-63,-26, 0, 35, 52, 68, 76, 64, 52, 36, /* 00N */ 22, 16, 17, 13, 1,-12,-23,-20,-14, -3, 14, 10,-15,-27,-18, 3, 12, 20, 18, 12,-13, -9,-28,-49,-62,-89,-102,-63, -9, 33, 58, 73, 74, 63, 50, 32, 22, /* 10N */ 13, 12, 11, 2,-11,-28,-38,-29,-10, 3, 1,-11,-41,-42,-16, 3, 17, 33, 22, 23, 2, -3, -7,-36,-59,-90, -95,-63,-24, 12, 53, 60, 58, 46, 36, 26, 13, /* 20N */ 5, 10, 7, -7,-23,-39,-47,-34, -9,-10,-20,-45,-48,-32, -9, 17, 25, 31, 31, 26, 15, 6, 1,-29,-44,-61, -67,-59,-36,-11, 21, 39, 49, 39, 22, 10, 5, /* 30N */ -7, -5, -8,-15,-28,-40,-42,-29,-22,-26,-32,-51,-40,-17, 17, 31, 34, 44, 36, 28, 29, 17, 12,-20,-15,-40, -33,-34,-34,-28, 7, 29, 43, 20, 4, -6, -7, /* 40N */ -12,-10,-13,-20,-31,-34,-21,-16,-26,-34,-33,-35,-26, 2, 33, 59, 52, 51, 52, 48, 35, 40, 33, -9,-28,-39, -48,-59,-50,-28, 3, 23, 37, 18, -1,-11,-12, /* 50N */ -8, 8, 8, 1,-11,-19,-16,-18,-22,-35,-40,-26,-12, 24, 45, 63, 62, 59, 47, 48, 42, 28, 12,-10,-19,-33, -43,-42,-43,-29, -2, 17, 23, 22, 6, 2, -8, /* 60N */ 2, 9, 17, 10, 13, 1,-14,-30,-39,-46,-42,-21, 6, 29, 49, 65, 60, 57, 47, 41, 21, 18, 14, 7, -3,-22, -29,-32,-32,-26,-15, -2, 13, 17, 19, 6, 2, /* 70N */ 2, 2, 1, -1, -3, -7,-14,-24,-27,-25,-19, 3, 24, 37, 47, 60, 61, 58, 51, 43, 29, 20, 12, 5, -2,-10, -14,-12,-10,-14,-12, -6, -2, 3, 6, 4, 2, /* 80N */ 3, 1, -2, -3, -3, -3, -1, 3, 1, 5, 9, 11, 19, 27, 31, 34, 33, 34, 33, 34, 28, 23, 17, 13, 9, 4, 4, 1, -2, -2, 0, 2, 3, 2, 1, 1, 3, /* 90N */ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13 }; /*@ -charint @*/ /* *INDENT-ON* */ int ilat, ilon; int ilat1, ilat2, ilon1, ilon2; ilat = (int)floor((90. + lat) / 10); ilon = (int)floor((180. + lon) / 10); /* sanity checks to prevent segfault on bad data */ if ((GEOID_ROW <= ilat) || (0 > ilat) || (GEOID_COL <= ilon) || (0 > ilon)) return 0.0; ilat1 = ilat; ilon1 = ilon; ilat2 = (ilat < GEOID_ROW - 1) ? ilat + 1 : ilat; ilon2 = (ilon < GEOID_COL - 1) ? ilon + 1 : ilon; return bilinear(ilon1 * 10.0 - 180.0, ilat1 * 10.0 - 90.0, ilon2 * 10.0 - 180.0, ilat2 * 10.0 - 90.0, lon, lat, (double)geoid_delta[ilon1 + ilat1 * GEOID_COL], (double)geoid_delta[ilon2 + ilat1 * GEOID_COL], (double)geoid_delta[ilon1 + ilat2 * GEOID_COL], (double)geoid_delta[ilon2 + ilat2 * GEOID_COL] ); } void ecef_to_wgs84fix(struct gps_fix_t *fix, double *separation, double x, double y, double z, double vx, double vy, double vz) /* fill in WGS84 position/velocity fields from ECEF coordinates */ { double lambda, phi, p, theta, n, h, vnorth, veast, heading; const double a = WGS84A; /* equatorial radius */ const double b = WGS84B; /* polar radius */ const double e2 = (a * a - b * b) / (a * a); const double e_2 = (a * a - b * b) / (b * b); /* geodetic location */ lambda = atan2(y, x); /*@ -evalorder @*/ p = sqrt(pow(x, 2) + pow(y, 2)); theta = atan2(z * a, p * b); phi = atan2(z + e_2 * b * pow(sin(theta), 3), p - e2 * a * pow(cos(theta), 3)); n = a / sqrt(1.0 - e2 * pow(sin(phi), 2)); h = p / cos(phi) - n; fix->latitude = phi * RAD_2_DEG; fix->longitude = lambda * RAD_2_DEG; *separation = wgs84_separation(fix->latitude, fix->longitude); fix->altitude = h - *separation; /* velocity computation */ vnorth = -vx * sin(phi) * cos(lambda) - vy * sin(phi) * sin(lambda) + vz * cos(phi); veast = -vx * sin(lambda) + vy * cos(lambda); fix->climb = vx * cos(phi) * cos(lambda) + vy * cos(phi) * sin(lambda) + vz * sin(phi); fix->speed = sqrt(pow(vnorth, 2) + pow(veast, 2)); heading = atan2(fix_minuz(veast), fix_minuz(vnorth)); /*@ +evalorder @*/ if (heading < 0) heading += 2 * GPS_PI; fix->track = heading * RAD_2_DEG; } /* * Some systems propagate the sign along with zero. This messes up * certain trig functions, like atan2(): * atan2(+0, +0) = 0 * atan2(+0, -0) = PI * Obviously that will break things. Luckily the "==" operator thinks * that -0 == +0; we will use this to return an unambiguous value. * * I hereby decree that zero is not allowed to have a negative sign! */ static double fix_minuz(double d) { return ((d == 0.0) ? 0.0 : d); } gpsd-3.9/gps.h0000664000175000017500000022467412041516751011453 0ustar esresr/* gps.h -- interface of the libgps library */ /* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #ifndef _GPSD_GPS_H_ #define _GPSD_GPS_H_ #ifdef __cplusplus extern "C" { #endif /* Macro for declaring function arguments unused. */ #if defined(__GNUC__) # define UNUSED __attribute__((unused)) /* Flag variable as unused */ #else /* not __GNUC__ */ # define UNUSED #endif #include #include #include #include /* stdint.h would be smaller but not all have it */ #include #include #include #include #ifndef S_SPLINT_S #include /* pacifies OpenBSD's compiler */ #endif /* * 4.1 - Base version for initial JSON protocol (Dec 2009, release 2.90) * 4.2 - AIS application IDs split into DAC and FID (July 2010, release 2.95) * 5.0 - MAXCHANNELS bumped from 20 to 32 for GLONASS (Mar 2011, release 2.96) * gps_open() becomes reentrant, what gps_open_r() used to be. * gps_poll() removed in favor of gps_read(). The raw hook is gone. */ #define GPSD_API_MAJOR_VERSION 5 /* bump on incompatible changes */ #define GPSD_API_MINOR_VERSION 0 /* bump on compatible changes */ #define MAXTAGLEN 8 /* maximum length of sentence tag name */ #define MAXCHANNELS 72 /* must be > 12 GPS + 12 GLONASS + 2 WAAS */ #define GPS_PRNMAX 32 /* above this number are SBAS satellites */ #define GPS_PATH_MAX 128 /* dev files usually have short names */ #define MAXUSERDEVS 4 /* max devices per user */ /* * The structure describing an uncertainty volume in kinematic space. * This is what GPSes are meant to produce; all the other info is * technical impedimenta. * * All double values use NAN to indicate data not available. * * Usually all the information in this structure was considered valid * by the GPS at the time of update. This will be so if you are using * a GPS chipset that speaks SiRF binary, Garmin binary, or Zodiac binary. * This covers over 80% of GPS products in early 2005. * * If you are using a chipset that speaks NMEA, this structure is updated * in bits by GPRMC (lat/lon, track, speed), GPGGA (alt, climb), GPGLL * (lat/lon), and GPGSA (eph, epv). Most NMEA GPSes take a single fix * at the beginning of a 1-second cycle and report the same timestamp in * GPRMC, GPGGA, and GPGLL; for these, all info is guaranteed correctly * synced to the time member, but you'll get different stages of the same * update depending on where in the cycle you poll. A very few GPSes, * like the Garmin 48, take a new fix before more than one of of * GPRMC/GPGGA/GPGLL during a single cycle; thus, they may have different * timestamps and some data in this structure can be up to 1 cycle (usually * 1 second) older than the fix time. * * Error estimates are at 95% confidence. */ typedef double timestamp_t; /* Unix time in seconds with fractional part */ struct gps_fix_t { timestamp_t time; /* Time of update */ int mode; /* Mode of fix */ #define MODE_NOT_SEEN 0 /* mode update not seen yet */ #define MODE_NO_FIX 1 /* none */ #define MODE_2D 2 /* good for latitude/longitude */ #define MODE_3D 3 /* good for altitude/climb too */ double ept; /* Expected time uncertainty */ double latitude; /* Latitude in degrees (valid if mode >= 2) */ double epy; /* Latitude position uncertainty, meters */ double longitude; /* Longitude in degrees (valid if mode >= 2) */ double epx; /* Longitude position uncertainty, meters */ double altitude; /* Altitude in meters (valid if mode == 3) */ double epv; /* Vertical position uncertainty, meters */ double track; /* Course made good (relative to true north) */ double epd; /* Track uncertainty, degrees */ double speed; /* Speed over ground, meters/sec */ double eps; /* Speed uncertainty, meters/sec */ double climb; /* Vertical speed, meters/sec */ double epc; /* Vertical speed uncertainty */ }; /* * Satellite ID classes. * IS-GPS-200 Revision E, paragraph 6.3.6 */ #define GPS_PRN(n) (((n) >= 1) && ((n) <= 63)) /* U.S. GPS satellite */ #define GBAS_PRN(n) ((n) >= 64 && ((n) <= 119)) /* Ground Based Augmentation System and other augmentation systems */ #define SBAS_PRN(n) ((n) >= 120 && ((n) <= 158)) /* Satellite Based Augmentation System */ #define GNSS_PRN(n) ((n) >= 159 && ((n) <= 210)) /* other Global Navigation Satellite System */ /* * GLONASS birds reuse GPS PRNs. * it is a GPSD convention to map them to IDs 65..96. * (some other programs push them to 33 and above). */ #define GLONASS_PRN_OFFSET 64 /* * The structure describing the pseudorange errors (GPGST) */ struct gst_t { double utctime; double rms_deviation; double smajor_deviation; double sminor_deviation; double smajor_orientation; double lat_err_deviation; double lon_err_deviation; double alt_err_deviation; }; /* * From the RCTM104 2.x standard: * * "The 30 bit words (as opposed to 32 bit words) coupled with a 50 Hz * transmission rate provides a convenient timing capability where the * times of word boundaries are a rational multiple of 0.6 seconds." * * "Each frame is N+2 words long, where N is the number of message data * words. For example, a filler message (type 6 or 34) with no message * data will have N=0, and will consist only of two header words. The * maximum number of data words allowed by the format is 31, so that * the longest possible message will have a total of 33 words." */ #define RTCM2_WORDS_MAX 33 #define MAXCORRECTIONS 18 /* max correction count in type 1 or 9 */ #define MAXSTATIONS 10 /* maximum stations in almanac, type 5 */ /* RTCM104 doesn't specify this, so give it the largest reasonable value */ #define MAXHEALTH (RTCM2_WORDS_MAX-2) #ifndef S_SPLINT_S /* * A nominally 30-bit word (24 bits of data, 6 bits of parity) * used both in the GPS downlink protocol described in IS-GPS-200 * and in the format for DGPS corrections used in RTCM-104v2. */ typedef /*@unsignedintegraltype@*/ uint32_t isgps30bits_t; #endif /* S_SPLINT_S */ /* * Values for "system" fields. Note, the encoding logic is senstive to the * actual values of these; it's not sufficient that they're distinct. */ #define NAVSYSTEM_GPS 0 #define NAVSYSTEM_GLONASS 1 #define NAVSYSTEM_GALILEO 2 #define NAVSYSTEM_UNKNOWN 3 struct rtcm2_t { /* header contents */ unsigned type; /* RTCM message type */ unsigned length; /* length (words) */ double zcount; /* time within hour: GPS time, no leap secs */ unsigned refstaid; /* reference station ID */ unsigned seqnum; /* message sequence number (modulo 8) */ unsigned stathlth; /* station health */ /* message data in decoded form */ union { struct { unsigned int nentries; struct gps_rangesat_t { /* data from messages 1 & 9 */ unsigned ident; /* satellite ID */ unsigned udre; /* user diff. range error */ unsigned iod; /* issue of data */ double prc; /* range error */ double rrc; /* range error rate */ } sat[MAXCORRECTIONS]; } gps_ranges; struct { /* data for type 3 messages */ bool valid; /* is message well-formed? */ double x, y, z; } ecef; struct { /* data from type 4 messages */ bool valid; /* is message well-formed? */ int system; int sense; #define SENSE_INVALID 0 #define SENSE_GLOBAL 1 #define SENSE_LOCAL 2 char datum[6]; double dx, dy, dz; } reference; struct { /* data from type 5 messages */ unsigned int nentries; struct consat_t { unsigned ident; /* satellite ID */ bool iodl; /* issue of data */ unsigned int health; /* is satellite healthy? */ #define HEALTH_NORMAL (0) /* Radiobeacon operation normal */ #define HEALTH_UNMONITORED (1) /* No integrity monitor operating */ #define HEALTH_NOINFO (2) /* No information available */ #define HEALTH_DONOTUSE (3) /* Do not use this radiobeacon */ int snr; /* signal-to-noise ratio, dB */ #define SNR_BAD -1 /* not reported */ bool health_en; /* health enabled */ bool new_data; /* new data? */ bool los_warning; /* line-of-sight warning */ unsigned int tou; /* time to unhealth, seconds */ } sat[MAXHEALTH]; } conhealth; struct { /* data from type 7 messages */ unsigned int nentries; struct station_t { double latitude, longitude; /* location */ unsigned int range; /* range in km */ double frequency; /* broadcast freq */ unsigned int health; /* station health */ unsigned int station_id; /* of the transmitter */ unsigned int bitrate; /* of station transmissions */ } station[MAXSTATIONS]; } almanac; struct { /* data for type 13 messages */ bool status; /* expect a text message */ bool rangeflag; /* station range altered? */ double lat, lon; /* station longitude/latitude */ unsigned int range; /* transmission range in km */ } xmitter; struct { /* data from type 14 messages */ unsigned int week; /* GPS week (0-1023) */ unsigned int hour; /* Hour in week (0-167) */ unsigned int leapsecs; /* Leap seconds (0-63) */ } gpstime; struct { unsigned int nentries; struct glonass_rangesat_t { /* data from message type 31 */ unsigned ident; /* satellite ID */ unsigned udre; /* user diff. range error */ unsigned tod; /* issue of data */ bool change; /* ephemeris change bit */ double prc; /* range error */ double rrc; /* range error rate */ } sat[MAXCORRECTIONS]; } glonass_ranges; /* data from type 16 messages */ char message[(RTCM2_WORDS_MAX-2) * sizeof(isgps30bits_t)]; /* data from messages of unknown type */ isgps30bits_t words[RTCM2_WORDS_MAX-2]; }; }; /* RTCM3 report structures begin here */ #define RTCM3_MAX_SATELLITES 64 #define RTCM3_MAX_DESCRIPTOR 31 #define RTCM3_MAX_ANNOUNCEMENTS 32 struct rtcm3_rtk_hdr { /* header data from 1001, 1002, 1003, 1004 */ /* Used for both GPS and GLONASS, but their timebases differ */ unsigned int station_id; /* Reference Station ID */ time_t tow; /* GPS Epoch Time (TOW) in ms, or GLONASS Epoch Time in ms */ bool sync; /* Synchronous GNSS Message Flag */ unsigned short satcount; /* # Satellite Signals Processed */ bool smoothing; /* Divergence-free Smoothing Indicator */ unsigned short interval; /* Smoothing Interval */ }; struct rtcm3_basic_rtk { unsigned char indicator; /* Indicator */ short channel; /* Satellite Frequency Channel Number (GLONASS only) */ double pseudorange; /* Pseudorange */ double rangediff; /* PhaseRange – Pseudorange in meters */ unsigned char locktime; /* Lock time Indicator */ }; struct rtcm3_extended_rtk { unsigned char indicator; /* Indicator */ short channel; /* Satellite Frequency Channel Number (GLONASS only) */ double pseudorange; /* Pseudorange */ double rangediff; /* PhaseRange – L1 Pseudorange */ unsigned char locktime; /* Lock time Indicator */ unsigned char ambiguity; /* Integer Pseudorange Modulus Ambiguity */ double CNR; /* Carrier-to-Noise Ratio */ }; struct rtcm3_network_rtk_header { unsigned int network_id; /* Network ID */ unsigned int subnetwork_id; /* Subnetwork ID */ time_t time; /* GPS Epoch Time (TOW) in ms */ bool multimesg; /* GPS Multiple Message Indicator */ unsigned master_id; /* Master Reference Station ID */ unsigned aux_id; /* Auxilary Reference Station ID */ unsigned char satcount; /* count of GPS satellites */ }; struct rtcm3_correction_diff { unsigned char ident; /* satellite ID */ enum {reserved, correct, widelane, uncertain} ambiguity; unsigned char nonsync; double geometric_diff; /* Geometric Carrier Phase Correction Difference (1016, 1017) */ unsigned char iode; /* GPS IODE (1016, 1017) */ double ionospheric_diff; /* Ionospheric Carrier Phase Correction Difference (1015, 1017) */ }; struct rtcm3_t { /* header contents */ unsigned type; /* RTCM 3.x message type */ unsigned length; /* payload length, inclusive of checksum */ union { /* 1001-1013 were present in the 3.0 version */ struct { struct rtcm3_rtk_hdr header; struct rtcm3_1001_t { unsigned ident; /* Satellite ID */ struct rtcm3_basic_rtk L1; } rtk_data[RTCM3_MAX_SATELLITES]; } rtcm3_1001; struct rtcm3_1002_t { struct rtcm3_rtk_hdr header; struct { unsigned ident; /* Satellite ID */ struct rtcm3_extended_rtk L1; } rtk_data[RTCM3_MAX_SATELLITES]; } rtcm3_1002; struct rtcm3_1003_t { struct rtcm3_rtk_hdr header; struct { unsigned ident; /* Satellite ID */ struct rtcm3_basic_rtk L1; struct rtcm3_basic_rtk L2; } rtk_data[RTCM3_MAX_SATELLITES]; } rtcm3_1003; struct rtcm3_1004_t { struct rtcm3_rtk_hdr header; struct { unsigned ident; /* Satellite ID */ struct rtcm3_extended_rtk L1; struct rtcm3_extended_rtk L2; } rtk_data[RTCM3_MAX_SATELLITES]; } rtcm3_1004; struct rtcm3_1005_t { unsigned int station_id; /* Reference Station ID */ int system; /* Which system is it? */ bool reference_station; /* Reference-station indicator */ bool single_receiver; /* Single Receiver Oscillator */ double ecef_x, ecef_y, ecef_z; /* ECEF antenna location */ } rtcm3_1005; struct rtcm3_1006_t { unsigned int station_id; /* Reference Station ID */ int system; /* Which system is it? */ bool reference_station; /* Reference-station indicator */ bool single_receiver; /* Single Receiver Oscillator */ double ecef_x, ecef_y, ecef_z; /* ECEF antenna location */ double height; /* Antenna height */ } rtcm3_1006; struct rtcm3_1007_t { unsigned int station_id; /* Reference Station ID */ char descriptor[RTCM3_MAX_DESCRIPTOR+1]; /* Description string */ unsigned char setup_id; } rtcm3_1007; struct rtcm3_1008_t { unsigned int station_id; /* Reference Station ID */ char descriptor[RTCM3_MAX_DESCRIPTOR+1]; /* Description string */ unsigned char setup_id; char serial[RTCM3_MAX_DESCRIPTOR+1]; /* Serial # string */ } rtcm3_1008; struct rtcm3_1009_t { struct rtcm3_rtk_hdr header; struct { unsigned ident; /* Satellite ID */ struct rtcm3_basic_rtk L1; } rtk_data[RTCM3_MAX_SATELLITES]; } rtcm3_1009; struct rtcm3_1010_t { struct rtcm3_rtk_hdr header; struct { unsigned ident; /* Satellite ID */ struct rtcm3_extended_rtk L1; } rtk_data[RTCM3_MAX_SATELLITES]; } rtcm3_1010; struct rtcm3_1011_t { struct rtcm3_rtk_hdr header; struct { unsigned ident; /* Satellite ID */ struct rtcm3_extended_rtk L1; struct rtcm3_extended_rtk L2; } rtk_data[RTCM3_MAX_SATELLITES]; } rtcm3_1011; struct rtcm3_1012_t { struct rtcm3_rtk_hdr header; struct { unsigned ident; /* Satellite ID */ struct rtcm3_extended_rtk L1; struct rtcm3_extended_rtk L2; } rtk_data[RTCM3_MAX_SATELLITES]; } rtcm3_1012; struct rtcm3_1013_t { unsigned int station_id; /* Reference Station ID */ unsigned short mjd; /* Modified Julian Day (MJD) Number */ unsigned int sod; /* Seconds of Day (UTC) */ unsigned char leapsecs; /* Leap Seconds, GPS-UTC */ unsigned char ncount; /* Count of announcements to follow */ struct { unsigned short id; /* message type ID */ bool sync; unsigned short interval; /* interval in 0.1sec units */ } announcements[RTCM3_MAX_ANNOUNCEMENTS]; } rtcm3_1013; /* 1014-1017 were added in the 3.1 version */ struct rtcm3_1014_t { unsigned int network_id; /* Network ID */ unsigned int subnetwork_id; /* Subnetwork ID */ unsigned char stationcount; /* # auxiliary stations transmitted */ unsigned int master_id; /* Master Reference Station ID */ unsigned int aux_id; /* Auxilary Reference Station ID */ double d_lat, d_lon, d_alt; /* Aux-master location delta */ } rtcm3_1014; struct rtcm3_1015_t { struct rtcm3_network_rtk_header header; struct rtcm3_correction_diff corrections[RTCM3_MAX_SATELLITES]; } rtcm3_1015; struct rtcm3_1016_t { struct rtcm3_network_rtk_header header; struct rtcm3_correction_diff corrections[RTCM3_MAX_SATELLITES]; } rtcm3_1016; struct rtcm3_1017_t { struct rtcm3_network_rtk_header header; struct rtcm3_correction_diff corrections[RTCM3_MAX_SATELLITES]; } rtcm3_1017; /* 1018-1029 were in the 3.0 version */ struct rtcm3_1019_t { unsigned int ident; /* Satellite ID */ unsigned int week; /* GPS Week Number */ unsigned char sv_accuracy; /* GPS SV ACCURACY */ enum {reserved_code, p, ca, l2c} code; double idot; unsigned char iode; /* ephemeris fields, not scaled */ unsigned int t_sub_oc; signed int a_sub_f2; signed int a_sub_f1; signed int a_sub_f0; unsigned int iodc; signed int C_sub_rs; signed int delta_sub_n; signed int M_sub_0; signed int C_sub_uc; unsigned int e; signed int C_sub_us; unsigned int sqrt_sub_A; unsigned int t_sub_oe; signed int C_sub_ic; signed int OMEGA_sub_0; signed int C_sub_is; signed int i_sub_0; signed int C_sub_rc; signed int argument_of_perigee; signed int omegadot; signed int t_sub_GD; unsigned char sv_health; bool p_data; bool fit_interval; } rtcm3_1019; struct rtcm3_1020_t { unsigned int ident; /* Satellite ID */ unsigned short channel; /* Satellite Frequency Channel Number */ /* ephemeris fields, not scaled */ bool C_sub_n; bool health_avAilability_indicator; unsigned char P1; unsigned short t_sub_k; bool msb_of_B_sub_n; bool P2; bool t_sub_b; signed int x_sub_n_t_of_t_sub_b_prime; signed int x_sub_n_t_of_t_sub_b; signed int x_sub_n_t_of_t_sub_b_prime_prime; signed int y_sub_n_t_of_t_sub_b_prime; signed int y_sub_n_t_of_t_sub_b; signed int y_sub_n_t_of_t_sub_b_prime_prime; signed int z_sub_n_t_of_t_sub_b_prime; signed int z_sub_n_t_of_t_sub_b; signed int z_sub_n_t_of_t_sub_b_prime_prime; bool P3; signed int gamma_sub_n_of_t_sub_b; unsigned char MP; bool Ml_n; signed int tau_n_of_t_sub_b; signed int M_delta_tau_sub_n; unsigned int E_sub_n; bool MP4; unsigned char MF_sub_T; unsigned char MN_sub_T; unsigned char MM; bool additioinal_data_availability; unsigned int N_sup_A; unsigned int tau_sub_c; unsigned int M_N_sub_4; signed int M_tau_sub_GPS; bool M_l_sub_n; } rtcm3_1020; struct rtcm3_1029_t { unsigned int station_id; /* Reference Station ID */ unsigned short mjd; /* Modified Julian Day (MJD) Number */ unsigned int sod; /* Seconds of Day (UTC) */ size_t len; /* # chars to follow */ size_t unicode_units; /* # Unicode units in text */ unsigned char text[128]; } rtcm3_1029; struct rtcm3_1033_t { unsigned int station_id; /* Reference Station ID */ char descriptor[RTCM3_MAX_DESCRIPTOR+1]; /* Description string */ unsigned char setup_id; char serial[RTCM3_MAX_DESCRIPTOR+1]; /* Serial # string */ char receiver[RTCM3_MAX_DESCRIPTOR+1]; /* Receiver string */ char firmware[RTCM3_MAX_DESCRIPTOR+1]; /* Firmware string */ } rtcm3_1033; char data[1024]; /* Max RTCM3 msg length is 1023 bytes */ } rtcmtypes; }; /* RTCM3 scaling constants */ #define GPS_AMBIGUITY_MODULUS 299792.458 /* 1004, DF014*/ #define GLONASS_AMBIGUITY_MODULUS 599584.916 /* 1012, DF044 */ #define MESSAGE_INTERVAL_UNITS 0.1 /* 1013, DF047 */ /* * Raw IS_GPS subframe data */ /* The almanac is a subset of the clock and ephemeris data, with reduced * precision. See IS-GPS-200E, Table 20-VI */ struct almanac_t { uint8_t sv; /* The satellite this refers to */ /* toa, almanac reference time, 8 bits unsigned, seconds */ uint8_t toa; long l_toa; /* SV health data, 8 bit unsigned bit map */ uint8_t svh; /* deltai, correction to inclination, 16 bits signed, semi-circles */ int16_t deltai; double d_deltai; /* M0, Mean Anomaly at Reference Time, 24 bits signed, semi-circles */ int32_t M0; double d_M0; /* Omega0, Longitude of Ascending Node of Orbit Plane at Weekly Epoch, * 24 bits signed, semi-circles */ int32_t Omega0; double d_Omega0; /* omega, Argument of Perigee, 24 bits signed, semi-circles */ int32_t omega; double d_omega; /* af0, SV clock correction constant term * 11 bits signed, seconds */ int16_t af0; double d_af0; /* af1, SV clock correction first order term * 11 bits signed, seconds/second */ int16_t af1; double d_af1; /* eccentricity, 16 bits, unsigned, dimensionless */ uint16_t e; double d_eccentricity; /* sqrt A, Square Root of the Semi-Major Axis * 24 bits unsigned, square_root(meters) */ uint32_t sqrtA; double d_sqrtA; /* Omega dot, Rate of Right Ascension, 16 bits signed, semi-circles/sec */ int16_t Omegad; double d_Omegad; }; struct subframe_t { /* subframe number, 3 bits, unsigned, 1 to 5 */ uint8_t subframe_num; /* data_id, denotes the NAV data structure of D(t), 2 bits, in * IS-GPS-200E always == 0x1 */ uint8_t data_id; /* SV/page id used for subframes 4 & 5, 6 bits */ uint8_t pageid; /* tSVID, SV ID of the sat that transmitted this frame, 6 bits unsigned */ uint8_t tSVID; /* TOW, Time of Week of NEXT message, 17 bits unsigned, scale 6, seconds */ uint32_t TOW17; long l_TOW17; /* integrity, URA bounds flag, 1 bit */ bool integrity; /* alert, alert flag, SV URA and/or the SV User Differential Range * Accuracy (UDRA) may be worse than indicated, 1 bit */ bool alert; /* antispoof, A-S mode is ON in that SV, 1 bit */ bool antispoof; int is_almanac; union { /* subframe 1, part of ephemeris, see IS-GPS-200E, Table 20-II * and Table 20-I */ struct { /* WN, Week Number, 10 bits unsigned, scale 1, weeks */ uint16_t WN; /* IODC, Issue of Data, Clock, 10 bits, unsigned, * issued in 8 data ranges at the same time */ uint16_t IODC; /* toc, clock data reference time, 16 bits, unsigned, seconds * scale 2**4, issued in 8 data ranges at the same time */ uint16_t toc; long l_toc; /* l2, code on L2, 2 bits, bit map */ uint8_t l2; /* l2p, L2 P data flag, 1 bit */ uint8_t l2p; /* ura, SV accuracy, 4 bits unsigned index */ unsigned int ura; /* hlth, SV health, 6 bits unsigned bitmap */ unsigned int hlth; /* af0, SV clock correction constant term * 22 bits signed, scale 2**-31, seconds */ int32_t af0; double d_af0; /* af1, SV clock correction first order term * 22 bits signed, scale 2**-43, seconds/second */ int16_t af1; double d_af1; /* af2, SV clock correction second order term * 8 bits signed, scale 2**-55, seconds/second**2 */ int8_t af2; double d_af2; /* Tgd, L1-L2 correction term, 8 bits signed, scale 2**-31, * seconds */ int8_t Tgd; double d_Tgd; } sub1; /* subframe 2, part of ephemeris, see IS-GPS-200E, Table 20-II * and Table 20-III */ struct { /* Issue of Data (Ephemeris), * equal to the 8 LSBs of the 10 bit IODC of the same data set */ uint8_t IODE; /* Age of Data Offset for the NMCT, 6 bits, scale 900, * ignore if all ones, seconds */ uint8_t AODO; uint16_t u_AODO; /* fit, FIT interval flag, indicates a fit interval greater than * 4 hour, 1 bit */ uint8_t fit; /* toe, Reference Time Ephemeris, 16 bits unsigned, scale 2**4, * seconds */ uint16_t toe; long l_toe; /* Crs, Amplitude of the Sine Harmonic Correction Term to the * Orbit Radius, 16 bits, scale 2**-5, signed, meters */ int16_t Crs; double d_Crs; /* Cus, Amplitude of the Sine Harmonic Correction Term to the * Argument of Latitude, 16 bits, signed, scale 2**-29, radians */ int16_t Cus; double d_Cus; /* Cuc, Amplitude of the Cosine Harmonic Correction Term to the * Argument of Latitude, 16 bits, signed, scale 2**-29, radians */ int16_t Cuc; double d_Cuc; /* deltan, Mean Motion Difference From Computed Value * Mean Motion Difference From Computed Value * 16 bits, signed, scale 2**-43, semi-circles/sec */ int16_t deltan; double d_deltan; /* M0, Mean Anomaly at Reference Time, 32 bits signed, * scale 2**-31, semi-circles */ int32_t M0; double d_M0; /* eccentricity, 32 bits, unsigned, scale 2**-33, dimensionless */ uint32_t e; double d_eccentricity; /* sqrt A, Square Root of the Semi-Major Axis * 32 bits unsigned, scale 2**-19, square_root(meters) */ uint32_t sqrtA; double d_sqrtA; } sub2; /* subframe 3, part of ephemeris, see IS-GPS-200E, Table 20-II, * Table 20-III */ struct { /* Issue of Data (Ephemeris), 8 bits, unsigned * equal to the 8 LSBs of the 10 bit IODC of the same data set */ uint8_t IODE; /* Rate of Inclination Angle, 14 bits signed, scale2**-43, * semi-circles/sec */ int16_t IDOT; double d_IDOT; /* Cic, Amplitude of the Cosine Harmonic Correction Term to the * Angle of Inclination, 16 bits signed, scale 2**-29, radians*/ int16_t Cic; double d_Cic; /* Cis, Amplitude of the Sine Harmonic Correction Term to the * Angle of Inclination, 16 bits, unsigned, scale 2**-29, radians */ int16_t Cis; double d_Cis; /* Crc, Amplitude of the Cosine Harmonic Correction Term to the * Orbit Radius, 16 bits signed, scale 2**-5, meters */ int16_t Crc; double d_Crc; /* i0, Inclination Angle at Reference Time, 32 bits, signed, * scale 2**-31, semi-circles */ int32_t i0; double d_i0; /* Omega0, Longitude of Ascending Node of Orbit Plane at Weekly * Epoch, 32 bits signed, semi-circles */ int32_t Omega0; double d_Omega0; /* omega, Argument of Perigee, 32 bits signed, scale 2**-31, * semi-circles */ int32_t omega; double d_omega; /* Omega dot, Rate of Right Ascension, 24 bits signed, * scale 2**-43, semi-circles/sec */ int32_t Omegad; double d_Omegad; } sub3; struct { struct almanac_t almanac; } sub4; /* subframe 4, page 13 */ struct { /* mapping ord ERD# to SV # is non trivial * leave it alone. See IS-GPS-200E Section 20.3.3.5.1.9 */ /* Estimated Range Deviation, 6 bits signed, meters */ char ERD[33]; /* ai, Availability Indicator, 2bits, bit map */ unsigned char ai; } sub4_13; /* subframe 4, page 17, system message, 23 chars, plus nul */ struct { char str[24]; } sub4_17; /* subframe 4, page 18 */ struct { /* ionospheric and UTC data */ /* A0, Bias coefficient of GPS time scale relative to UTC time * scale, 32 bits signed, scale 2**-30, seconds */ int32_t A0; double d_A0; /* A1, Drift coefficient of GPS time scale relative to UTC time * scale, 24 bits signed, scale 2**-50, seconds/second */ int32_t A1; double d_A1; /* alphaX, the four coefficients of a cubic equation representing * the amplitude of the vertical delay */ /* alpha0, 8 bits signed, scale w**-30, seconds */ int8_t alpha0; double d_alpha0; /* alpha1, 8 bits signed, scale w**-27, seconds/semi-circle */ int8_t alpha1; double d_alpha1; /* alpha2, 8 bits signed, scale w**-24, seconds/semi-circle**2 */ int8_t alpha2; double d_alpha2; /* alpha3, 8 bits signed, scale w**-24, seconds/semi-circle**3 */ int8_t alpha3; double d_alpha3; /* betaX, the four coefficients of a cubic equation representing * the period of the model */ /* beta0, 8 bits signed, scale w**11, seconds */ int8_t beta0; double d_beta0; /* beta1, 8 bits signed, scale w**14, seconds/semi-circle */ int8_t beta1; double d_beta1; /* beta2, 8 bits signed, scale w**16, seconds/semi-circle**2 */ int8_t beta2; double d_beta2; /* beta3, 8 bits signed, scale w**16, seconds/semi-circle**3 */ int8_t beta3; double d_beta3; /* leap (delta t ls), current leap second, 8 bits signed, * scale 1, seconds */ int8_t leap; /* lsf (delta t lsf), future leap second, 8 bits signed, * scale 1, seconds */ int8_t lsf; /* tot, reference time for UTC data, * 8 bits unsigned, scale 2**12, seconds */ uint8_t tot; double d_tot; /* WNt, UTC reference week number, 8 bits unsigned, scale 1, * weeks */ uint8_t WNt; /* WNlsf, Leap second reference Week Number, * 8 bits unsigned, scale 1, weeks */ uint8_t WNlsf; /* DN, Leap second reference Day Number , 8 bits unsigned, * scale 1, days */ uint8_t DN; } sub4_18; /* subframe 4, page 25 */ struct { /* svf, A-S status and the configuration code of each SV * 4 bits unsigned, bitmap */ unsigned char svf[33]; /* svh, SV health data for SV 25 through 32 * 6 bits unsigned bitmap */ uint8_t svhx[8]; } sub4_25; struct { struct almanac_t almanac; } sub5; struct { /* toa, Almanac reference Time, 8 bits unsigned, scale 2**12, * seconds */ uint8_t toa; long l_toa; /* WNa, Week Number almanac, 8 bits, scale 2, GPS Week * Number % 256 */ uint8_t WNa; /* sv, SV health status, 6 bits, bitmap */ uint8_t sv[25]; } sub5_25; }; }; #ifndef S_SPLINT_S typedef uint64_t gps_mask_t; #else typedef /*@unsignedintegraltype@*/ unsigned long long gps_mask_t; #endif /* S_SPLINT_S */ /* * Is an MMSI number that of an auxiliary associated with a mother ship? * We need to be able to test this for decoding AIS Type 24 messages. * According to , * auxiliary-craft MMSIs have the form 98MIDXXXX, where MID is a country * code and XXXX the vessel ID. */ #define AIS_AUXILIARY_MMSI(n) ((n) / 10000000 == 98) /* N/A values and scaling constant for 25/24 bit lon/lat pairs */ #define AIS_LON3_NOT_AVAILABLE 181000 #define AIS_LAT3_NOT_AVAILABLE 91000 #define AIS_LATLON3_DIV 60000.0 /* N/A values and scaling constant for 28/27 bit lon/lat pairs */ #define AIS_LON4_NOT_AVAILABLE 1810000 #define AIS_LAT4_NOT_AVAILABLE 910000 #define AIS_LATLON4_DIV 600000.0 struct route_info { unsigned int linkage; /* Message Linkage ID */ unsigned int sender; /* Sender Class */ unsigned int rtype; /* Route Type */ unsigned int month; /* Start month */ unsigned int day; /* Start day */ unsigned int hour; /* Start hour */ unsigned int minute; /* Start minute */ unsigned int duration; /* Duration */ int waycount; /* Waypoint count */ struct waypoint_t { signed int lon; /* Longitude */ signed int lat; /* Latitude */ } waypoints[16]; }; struct ais_t { unsigned int type; /* message type */ unsigned int repeat; /* Repeat indicator */ unsigned int mmsi; /* MMSI */ union { /* Types 1-3 Common navigation info */ struct { unsigned int status; /* navigation status */ signed turn; /* rate of turn */ #define AIS_TURN_HARD_LEFT -127 #define AIS_TURN_HARD_RIGHT 127 #define AIS_TURN_NOT_AVAILABLE 128 unsigned int speed; /* speed over ground in deciknots */ #define AIS_SPEED_NOT_AVAILABLE 1023 #define AIS_SPEED_FAST_MOVER 1022 /* >= 102.2 knots */ bool accuracy; /* position accuracy */ #define AIS_LATLON_DIV 600000.0 int lon; /* longitude */ #define AIS_LON_NOT_AVAILABLE 0x6791AC0 int lat; /* latitude */ #define AIS_LAT_NOT_AVAILABLE 0x3412140 unsigned int course; /* course over ground */ #define AIS_COURSE_NOT_AVAILABLE 3600 unsigned int heading; /* true heading */ #define AIS_HEADING_NOT_AVAILABLE 511 unsigned int second; /* seconds of UTC timestamp */ #define AIS_SEC_NOT_AVAILABLE 60 #define AIS_SEC_MANUAL 61 #define AIS_SEC_ESTIMATED 62 #define AIS_SEC_INOPERATIVE 63 unsigned int maneuver; /* maneuver indicator */ //unsigned int spare; spare bits */ bool raim; /* RAIM flag */ unsigned int radio; /* radio status bits */ } type1; /* Type 4 - Base Station Report & Type 11 - UTC and Date Response */ struct { unsigned int year; /* UTC year */ #define AIS_YEAR_NOT_AVAILABLE 0 unsigned int month; /* UTC month */ #define AIS_MONTH_NOT_AVAILABLE 0 unsigned int day; /* UTC day */ #define AIS_DAY_NOT_AVAILABLE 0 unsigned int hour; /* UTC hour */ #define AIS_HOUR_NOT_AVAILABLE 24 unsigned int minute; /* UTC minute */ #define AIS_MINUTE_NOT_AVAILABLE 60 unsigned int second; /* UTC second */ #define AIS_SECOND_NOT_AVAILABLE 60 bool accuracy; /* fix quality */ int lon; /* longitude */ int lat; /* latitude */ unsigned int epfd; /* type of position fix device */ //unsigned int spare; spare bits */ bool raim; /* RAIM flag */ unsigned int radio; /* radio status bits */ } type4; /* Type 5 - Ship static and voyage related data */ struct { unsigned int ais_version; /* AIS version level */ unsigned int imo; /* IMO identification */ char callsign[7+1]; /* callsign */ #define AIS_SHIPNAME_MAXLEN 20 char shipname[AIS_SHIPNAME_MAXLEN+1]; /* vessel name */ unsigned int shiptype; /* ship type code */ unsigned int to_bow; /* dimension to bow */ unsigned int to_stern; /* dimension to stern */ unsigned int to_port; /* dimension to port */ unsigned int to_starboard; /* dimension to starboard */ unsigned int epfd; /* type of position fix deviuce */ unsigned int month; /* UTC month */ unsigned int day; /* UTC day */ unsigned int hour; /* UTC hour */ unsigned int minute; /* UTC minute */ unsigned int draught; /* draft in meters */ char destination[20+1]; /* ship destination */ unsigned int dte; /* data terminal enable */ //unsigned int spare; spare bits */ } type5; /* Type 6 - Addressed Binary Message */ struct { unsigned int seqno; /* sequence number */ unsigned int dest_mmsi; /* destination MMSI */ bool retransmit; /* retransmit flag */ //unsigned int spare; spare bit(s) */ unsigned int dac; /* Application ID */ unsigned int fid; /* Functional ID */ #define AIS_TYPE6_BINARY_MAX 920 /* 920 bits */ size_t bitcount; /* bit count of the data */ union { char bitdata[(AIS_TYPE6_BINARY_MAX + 7) / 8]; /* GLA - AtoN monitoring data (UK/ROI) */ struct { unsigned int ana_int; /* Analogue (internal) */ unsigned int ana_ext1; /* Analogue (external #1) */ unsigned int ana_ext2; /* Analogue (external #2) */ unsigned int racon; /* RACON status */ unsigned int light; /* Light status */ bool alarm; /* Health alarm*/ unsigned int stat_ext; /* Status bits (external) */ bool off_pos; /* Off position status */ } dac235fid10; /* IMO236 - Dangerous Cargo Indication */ struct { char lastport[5+1]; /* Last Port Of Call */ unsigned int lmonth; /* ETA month */ unsigned int lday; /* ETA day */ unsigned int lhour; /* ETA hour */ unsigned int lminute; /* ETA minute */ char nextport[5+1]; /* Next Port Of Call */ unsigned int nmonth; /* ETA month */ unsigned int nday; /* ETA day */ unsigned int nhour; /* ETA hour */ unsigned int nminute; /* ETA minute */ char dangerous[20+1]; /* Main Dangerous Good */ char imdcat[4+1]; /* IMD Category */ unsigned int unid; /* UN Number */ unsigned int amount; /* Amount of Cargo */ unsigned int unit; /* Unit of Quantity */ } dac1fid12; /* IMO236 - Extended Ship Static and Voyage Related Data */ struct { unsigned int airdraught; /* Air Draught */ } dac1fid15; /* IMO236 - Number of Persons on board */ struct { unsigned persons; /* number of persons */ } dac1fid16; /* IMO289 - Clearance Time To Enter Port */ struct { unsigned int linkage; /* Message Linkage ID */ unsigned int month; /* Month (UTC) */ unsigned int day; /* Day (UTC) */ unsigned int hour; /* Hour (UTC) */ unsigned int minute; /* Minute (UTC) */ char portname[20+1]; /* Name of Port & Berth */ char destination[5+1]; /* Destination */ signed int lon; /* Longitude */ signed int lat; /* Latitude */ } dac1fid18; /* IMO289 - Berthing Data (addressed) */ struct { unsigned int linkage; /* Message Linkage ID */ unsigned int berth_length; /* Berth length */ unsigned int berth_depth; /* Berth Water Depth */ unsigned int position; /* Mooring Position */ unsigned int month; /* Month (UTC) */ unsigned int day; /* Day (UTC) */ unsigned int hour; /* Hour (UTC) */ unsigned int minute; /* Minute (UTC) */ unsigned int availability; /* Services Availability */ unsigned int agent; /* Agent */ unsigned int fuel; /* Bunker/fuel */ unsigned int chandler; /* Chandler */ unsigned int stevedore; /* Stevedore */ unsigned int electrical; /* Electrical */ unsigned int water; /* Potable water */ unsigned int customs; /* Customs house */ unsigned int cartage; /* Cartage */ unsigned int crane; /* Crane(s) */ unsigned int lift; /* Lift(s) */ unsigned int medical; /* Medical facilities */ unsigned int navrepair; /* Navigation repair */ unsigned int provisions; /* Provisions */ unsigned int shiprepair; /* Ship repair */ unsigned int surveyor; /* Surveyor */ unsigned int steam; /* Steam */ unsigned int tugs; /* Tugs */ unsigned int solidwaste; /* Waste disposal (solid) */ unsigned int liquidwaste; /* Waste disposal (liquid) */ unsigned int hazardouswaste; /* Waste disposal (hazardous) */ unsigned int ballast; /* Reserved ballast exchange */ unsigned int additional; /* Additional services */ unsigned int regional1; /* Regional reserved 1 */ unsigned int regional2; /* Regional reserved 2 */ unsigned int future1; /* Reserved for future */ unsigned int future2; /* Reserved for future */ char berth_name[20+1]; /* Name of Berth */ signed int berth_lon; /* Longitude */ signed int berth_lat; /* Latitude */ } dac1fid20; /* IMO289 - Weather observation report from ship */ /*** WORK IN PROGRESS - NOT YET DECODED ***/ struct { bool wmo; /* true if WMO variant */ union { struct { char location[20+1]; /* Location */ signed int lon; /* Longitude */ signed int lat; /* Latitude */ unsigned int day; /* Report day */ unsigned int hour; /* Report hour */ unsigned int minute; /* Report minute */ bool vislimit; /* Max range? */ unsigned int visibility; /* Units of 0.1 nm */ #define DAC8FID21_VISIBILITY_NOT_AVAILABLE 127 #define DAC8FID21_VISIBILITY_SCALE 10.0 unsigned humidity; /* units of 1% */ unsigned int wspeed; /* average wind speed */ unsigned int wgust; /* wind gust */ #define DAC8FID21_WSPEED_NOT_AVAILABLE 127 unsigned int wdir; /* wind direction */ #define DAC8FID21_WDIR_NOT_AVAILABLE 360 unsigned int pressure; /* air pressure, hpa */ #define DAC8FID21_NONWMO_PRESSURE_NOT_AVAILABLE 403 #define DAC8FID21_NONWMO_PRESSURE_HIGH 402 /* > 1200hPa */ #define DAC8FID21_NONWMO_PRESSURE_OFFSET 400 /* N/A */ unsigned int pressuretend; /* tendency */ int airtemp; /* temp, units 0.1C */ #define DAC8FID21_AIRTEMP_NOT_AVAILABLE -1024 #define DAC8FID21_AIRTEMP_SCALE 10.0 unsigned int watertemp; /* units 0.1degC */ #define DAC8FID21_WATERTEMP_NOT_AVAILABLE 501 #define DAC8FID21_WATERTEMP_SCALE 10.0 unsigned int waveperiod; /* in seconds */ #define DAC8FID21_WAVEPERIOD_NOT_AVAILABLE 63 unsigned int wavedir; /* direction in deg */ #define DAC8FID21_WAVEDIR_NOT_AVAILABLE 360 unsigned int swellheight; /* in decimeters */ unsigned int swellperiod; /* in seconds */ unsigned int swelldir; /* direction in deg */ } nonwmo_obs; struct { signed int lon; /* Longitude */ signed int lat; /* Latitude */ unsigned int month; /* UTC month */ unsigned int day; /* Report day */ unsigned int hour; /* Report hour */ unsigned int minute; /* Report minute */ unsigned int course; /* course over ground */ unsigned int speed; /* speed, m/s */ #define DAC8FID21_SOG_NOT_AVAILABLE 31 #define DAC8FID21_SOG_HIGH_SPEED 30 #define DAC8FID21_SOG_SCALE 2.0 unsigned int heading; /* true heading */ #define DAC8FID21_HDG_NOT_AVAILABLE 127 #define DAC8FID21_HDG_SCALE 5.0 unsigned int pressure; /* units of hPa * 0.1 */ #define DAC8FID21_WMO_PRESSURE_SCALE 10 #define DAC8FID21_WMO_PRESSURE_OFFSET 90.0 unsigned int pdelta; /* units of hPa * 0.1 */ #define DAC8FID21_PDELTA_SCALE 10 #define DAC8FID21_PDELTA_OFFSET 50.0 unsigned int ptend; /* enumerated */ unsigned int twinddir; /* in 5 degree steps */ #define DAC8FID21_TWINDDIR_NOT_AVAILABLE 127 unsigned int twindspeed; /* meters per second */ #define DAC8FID21_TWINDSPEED_SCALE 2 #define DAC8FID21_RWINDSPEED_NOT_AVAILABLE 255 unsigned int rwinddir; /* in 5 degree steps */ #define DAC8FID21_RWINDDIR_NOT_AVAILABLE 127 unsigned int rwindspeed; /* meters per second */ #define DAC8FID21_RWINDSPEED_SCALE 2 #define DAC8FID21_RWINDSPEED_NOT_AVAILABLE 255 unsigned int mgustspeed; /* meters per second */ #define DAC8FID21_MGUSTSPEED_SCALE 2 #define DAC8FID21_MGUSTSPEED_NOT_AVAILABLE 255 unsigned int mgustdir; /* in 5 degree steps */ #define DAC8FID21_MGUSTDIR_NOT_AVAILABLE 127 unsigned int airtemp; /* degress K */ #define DAC8FID21_AIRTEMP_OFFSET 223 unsigned humidity; /* units of 1% */ #define DAC8FID21_HUMIDITY_NOT_VAILABLE 127 /* some trailing fields are missing */ } wmo_obs; }; } dac1fid21; /*** WORK IN PROGRESS ENDS HERE ***/ /* IMO289 - Dangerous Cargo Indication */ struct { unsigned int unit; /* Unit of Quantity */ unsigned int amount; /* Amount of Cargo */ int ncargos; struct cargo_t { unsigned int code; /* Cargo code */ unsigned int subtype; /* Cargo subtype */ } cargos[28]; } dac1fid25; /* IMO289 - Route info (addressed) */ struct route_info dac1fid28; /* IMO289 - Text message (addressed) */ struct { unsigned int linkage; #define AIS_DAC1FID30_TEXT_MAX 154 /* 920 bits of six-bit, plus NUL */ char text[AIS_DAC1FID30_TEXT_MAX]; } dac1fid30; /* IMO289 & IMO236 - Tidal Window */ struct { unsigned int type; /* Message Type */ unsigned int repeat; /* Repeat Indicator */ unsigned int mmsi; /* Source MMSI */ unsigned int seqno; /* Sequence Number */ unsigned int dest_mmsi; /* Destination MMSI */ signed int retransmit; /* Retransmit flag */ unsigned int dac; /* DAC */ unsigned int fid; /* FID */ unsigned int month; /* Month */ unsigned int day; /* Day */ signed int ntidals; struct tidal_t { signed int lon; /* Longitude */ signed int lat; /* Latitude */ unsigned int from_hour; /* From UTC Hour */ unsigned int from_min; /* From UTC Minute */ unsigned int to_hour; /* To UTC Hour */ unsigned int to_min; /* To UTC Minute */ #define DAC1FID32_CDIR_NOT_AVAILABLE 360 unsigned int cdir; /* Current Dir. Predicted */ #define DAC1FID32_CSPEED_NOT_AVAILABLE 127 unsigned int cspeed; /* Current Speed Predicted */ } tidals[3]; } dac1fid32; }; } type6; /* Type 7 - Binary Acknowledge */ struct { unsigned int mmsi1; unsigned int mmsi2; unsigned int mmsi3; unsigned int mmsi4; /* spares ignored, they're only padding here */ } type7; /* Type 8 - Broadcast Binary Message */ struct { unsigned int dac; /* Designated Area Code */ unsigned int fid; /* Functional ID */ #define AIS_TYPE8_BINARY_MAX 952 /* 952 bits */ size_t bitcount; /* bit count of the data */ union { char bitdata[(AIS_TYPE8_BINARY_MAX + 7) / 8]; /* IMO236 - Meteorological-Hydrological data * Trial message, not to be used after January 2013 * Replaced by IMO289 (DAC 1, FID 31) */ struct { #define DAC1FID11_LATLON_SCALE 1000 int lon; /* longitude in minutes * .001 */ #define DAC1FID11_LON_NOT_AVAILABLE 0xFFFFFF int lat; /* latitude in minutes * .001 */ #define DAC1FID11_LAT_NOT_AVAILABLE 0x7FFFFF unsigned int day; /* UTC day */ unsigned int hour; /* UTC hour */ unsigned int minute; /* UTC minute */ unsigned int wspeed; /* average wind speed */ unsigned int wgust; /* wind gust */ #define DAC1FID11_WSPEED_NOT_AVAILABLE 127 unsigned int wdir; /* wind direction */ unsigned int wgustdir; /* wind gust direction */ #define DAC1FID11_WDIR_NOT_AVAILABLE 511 unsigned int airtemp; /* temperature, units 0.1C */ #define DAC1FID11_AIRTEMP_NOT_AVAILABLE 2047 #define DAC1FID11_AIRTEMP_OFFSET 600 #define DAC1FID11_AIRTEMP_DIV 10.0 unsigned int humidity; /* relative humidity, % */ #define DAC1FID11_HUMIDITY_NOT_AVAILABLE 127 unsigned int dewpoint; /* dew point, units 0.1C */ #define DAC1FID11_DEWPOINT_NOT_AVAILABLE 1023 #define DAC1FID11_DEWPOINT_OFFSET 200 #define DAC1FID11_DEWPOINT_DIV 10.0 unsigned int pressure; /* air pressure, hpa */ #define DAC1FID11_PRESSURE_NOT_AVAILABLE 511 #define DAC1FID11_PRESSURE_OFFSET -800 unsigned int pressuretend; /* tendency */ #define DAC1FID11_PRESSURETREND_NOT_AVAILABLE 3 unsigned int visibility; /* units 0.1 nautical miles */ #define DAC1FID11_VISIBILITY_NOT_AVAILABLE 255 #define DAC1FID11_VISIBILITY_DIV 10.0 int waterlevel; /* decimeters */ #define DAC1FID11_WATERLEVEL_NOT_AVAILABLE 511 #define DAC1FID11_WATERLEVEL_OFFSET 100 #define DAC1FID11_WATERLEVEL_DIV 10.0 unsigned int leveltrend; /* water level trend code */ #define DAC1FID11_WATERLEVELTREND_NOT_AVAILABLE 3 unsigned int cspeed; /* surface current speed in deciknots */ #define DAC1FID11_CSPEED_NOT_AVAILABLE 255 #define DAC1FID11_CSPEED_DIV 10.0 unsigned int cdir; /* surface current dir., degrees */ #define DAC1FID11_CDIR_NOT_AVAILABLE 511 unsigned int cspeed2; /* current speed in deciknots */ unsigned int cdir2; /* current dir., degrees */ unsigned int cdepth2; /* measurement depth, m */ #define DAC1FID11_CDEPTH_NOT_AVAILABLE 31 unsigned int cspeed3; /* current speed in deciknots */ unsigned int cdir3; /* current dir., degrees */ unsigned int cdepth3; /* measurement depth, m */ unsigned int waveheight; /* in decimeters */ #define DAC1FID11_WAVEHEIGHT_NOT_AVAILABLE 255 #define DAC1FID11_WAVEHEIGHT_DIV 10.0 unsigned int waveperiod; /* in seconds */ #define DAC1FID11_WAVEPERIOD_NOT_AVAILABLE 63 unsigned int wavedir; /* direction in degrees */ #define DAC1FID11_WAVEDIR_NOT_AVAILABLE 511 unsigned int swellheight; /* in decimeters */ unsigned int swellperiod; /* in seconds */ unsigned int swelldir; /* direction in degrees */ unsigned int seastate; /* Beaufort scale, 0-12 */ #define DAC1FID11_SEASTATE_NOT_AVAILABLE 15 unsigned int watertemp; /* units 0.1deg Celsius */ #define DAC1FID11_WATERTEMP_NOT_AVAILABLE 1023 #define DAC1FID11_WATERTEMP_OFFSET 100 #define DAC1FID11_WATERTEMP_DIV 10.0 unsigned int preciptype; /* 0-7, enumerated */ #define DAC1FID11_PRECIPTYPE_NOT_AVAILABLE 7 unsigned int salinity; /* units of 0.1ppt */ #define DAC1FID11_SALINITY_NOT_AVAILABLE 511 #define DAC1FID11_SALINITY_DIV 10.0 unsigned int ice; /* is there sea ice? */ #define DAC1FID11_ICE_NOT_AVAILABLE 3 } dac1fid11; /* IMO236 - Fairway Closed */ struct { char reason[20+1]; /* Reason For Closing */ char closefrom[20+1]; /* Location Of Closing From */ char closeto[20+1]; /* Location of Closing To */ unsigned int radius; /* Radius extension */ #define AIS_DAC1FID13_RADIUS_NOT_AVAILABLE 10001 unsigned int extunit; /* Unit of extension */ #define AIS_DAC1FID13_EXTUNIT_NOT_AVAILABLE 0 unsigned int fday; /* From day (UTC) */ unsigned int fmonth; /* From month (UTC) */ unsigned int fhour; /* From hour (UTC) */ unsigned int fminute; /* From minute (UTC) */ unsigned int tday; /* To day (UTC) */ unsigned int tmonth; /* To month (UTC) */ unsigned int thour; /* To hour (UTC) */ unsigned int tminute; /* To minute (UTC) */ } dac1fid13; /* IMO236 - Extended ship and voyage data */ struct { unsigned int airdraught; /* Air Draught */ } dac1fid15; /* IMO289 - VTS-generated/Synthetic Targets */ struct { signed int ntargets; struct target_t { #define DAC1FID17_IDTYPE_MMSI 0 #define DAC1FID17_IDTYPE_IMO 1 #define DAC1FID17_IDTYPE_CALLSIGN 2 #define DAC1FID17_IDTYPE_OTHER 3 unsigned int idtype; /* Identifier type */ union target_id { /* Target identifier */ unsigned int mmsi; unsigned int imo; #define DAC1FID17_ID_LENGTH 7 char callsign[DAC1FID17_ID_LENGTH+1]; char other[DAC1FID17_ID_LENGTH+1]; } id; signed int lat; /* Latitude */ signed int lon; /* Longitude */ #define DAC1FID17_COURSE_NOT_AVAILABLE 360 unsigned int course; /* Course Over Ground */ unsigned int second; /* Time Stamp */ #define DAC1FID17_SPEED_NOT_AVAILABLE 255 unsigned int speed; /* Speed Over Ground */ } targets[4]; } dac1fid17; /* IMO 289 - Marine Traffic Signal */ struct { unsigned int linkage; /* Message Linkage ID */ char station[20+1]; /* Name of Signal Station */ signed int lon; /* Longitude */ signed int lat; /* Latitude */ unsigned int status; /* Status of Signal */ unsigned int signal; /* Signal In Service */ unsigned int hour; /* UTC hour */ unsigned int minute; /* UTC minute */ unsigned int nextsignal; /* Expected Next Signal */ } dac1fid19; /* IMO289 - Route info (broadcast) */ struct route_info dac1fid27; /* IMO289 - Text message (broadcast) */ struct { unsigned int linkage; #define AIS_DAC1FID29_TEXT_MAX 162 /* 920 bits of six-bit, plus NUL */ char text[AIS_DAC1FID29_TEXT_MAX]; } dac1fid29; /* IMO289 - Meteorological-Hydrological data */ struct { bool accuracy; /* position accuracy, <10m if true */ #define DAC1FID31_LATLON_SCALE 1000 int lon; /* longitude in minutes * .001 */ #define DAC1FID31_LON_NOT_AVAILABLE (181*60*DAC1FID31_LATLON_SCALE) int lat; /* longitude in minutes * .001 */ #define DAC1FID31_LAT_NOT_AVAILABLE (91*60*DAC1FID31_LATLON_SCALE) unsigned int day; /* UTC day */ unsigned int hour; /* UTC hour */ unsigned int minute; /* UTC minute */ unsigned int wspeed; /* average wind speed */ unsigned int wgust; /* wind gust */ #define DAC1FID31_WIND_HIGH 126 #define DAC1FID31_WIND_NOT_AVAILABLE 127 unsigned int wdir; /* wind direction */ unsigned int wgustdir; /* wind gust direction */ #define DAC1FID31_DIR_NOT_AVAILABLE 360 int airtemp; /* temperature, units 0.1C */ #define DAC1FID31_AIRTEMP_NOT_AVAILABLE -1024 #define DAC1FID31_AIRTEMP_DIV 10.0 unsigned int humidity; /* relative humidity, % */ #define DAC1FID31_HUMIDITY_NOT_AVAILABLE 101 int dewpoint; /* dew point, units 0.1C */ #define DAC1FID31_DEWPOINT_NOT_AVAILABLE 501 #define DAC1FID31_DEWPOINT_DIV 10.0 unsigned int pressure; /* air pressure, hpa */ #define DAC1FID31_PRESSURE_NOT_AVAILABLE 511 #define DAC1FID31_PRESSURE_HIGH 402 #define DAC1FID31_PRESSURE_OFFSET -799 unsigned int pressuretend; /* tendency */ #define DAC1FID31_PRESSURETEND_NOT_AVAILABLE 3 bool visgreater; /* visibility greater than */ unsigned int visibility; /* units 0.1 nautical miles */ #define DAC1FID31_VISIBILITY_NOT_AVAILABLE 127 #define DAC1FID31_VISIBILITY_DIV 10.0 int waterlevel; /* cm */ #define DAC1FID31_WATERLEVEL_NOT_AVAILABLE 4001 #define DAC1FID31_WATERLEVEL_OFFSET 1000 #define DAC1FID31_WATERLEVEL_DIV 100.0 unsigned int leveltrend; /* water level trend code */ #define DAC1FID31_WATERLEVELTREND_NOT_AVAILABLE 3 unsigned int cspeed; /* current speed in deciknots */ #define DAC1FID31_CSPEED_NOT_AVAILABLE 255 #define DAC1FID31_CSPEED_DIV 10.0 unsigned int cdir; /* current dir., degrees */ unsigned int cspeed2; /* current speed in deciknots */ unsigned int cdir2; /* current dir., degrees */ unsigned int cdepth2; /* measurement depth, 0.1m */ #define DAC1FID31_CDEPTH_NOT_AVAILABLE 301 #define DAC1FID31_CDEPTH_SCALE 10.0 unsigned int cspeed3; /* current speed in deciknots */ unsigned int cdir3; /* current dir., degrees */ unsigned int cdepth3; /* measurement depth, 0.1m */ unsigned int waveheight; /* in decimeters */ #define DAC1FID31_HEIGHT_NOT_AVAILABLE 31 #define DAC1FID31_HEIGHT_DIV 10.0 unsigned int waveperiod; /* in seconds */ #define DAC1FID31_PERIOD_NOT_AVAILABLE 63 unsigned int wavedir; /* direction in degrees */ unsigned int swellheight; /* in decimeters */ unsigned int swellperiod; /* in seconds */ unsigned int swelldir; /* direction in degrees */ unsigned int seastate; /* Beaufort scale, 0-12 */ #define DAC1FID31_SEASTATE_NOT_AVAILABLE 15 int watertemp; /* units 0.1deg Celsius */ #define DAC1FID31_WATERTEMP_NOT_AVAILABLE 601 #define DAC1FID31_WATERTEMP_DIV 10.0 unsigned int preciptype; /* 0-7, enumerated */ #define DAC1FID31_PRECIPTYPE_NOT_AVAILABLE 7 unsigned int salinity; /* units of 0.1 permil (ca. PSU) */ #define DAC1FID31_SALINITY_NOT_AVAILABLE 510 #define DAC1FID31_SALINITY_DIV 10.0 unsigned int ice; /* is there sea ice? */ #define DAC1FID31_ICE_NOT_AVAILABLE 3 } dac1fid31; }; } type8; /* Type 9 - Standard SAR Aircraft Position Report */ struct { unsigned int alt; /* altitude in meters */ #define AIS_ALT_NOT_AVAILABLE 4095 #define AIS_ALT_HIGH 4094 /* 4094 meters or higher */ unsigned int speed; /* speed over ground in deciknots */ #define AIS_SAR_SPEED_NOT_AVAILABLE 1023 #define AIS_SAR_FAST_MOVER 1022 bool accuracy; /* position accuracy */ int lon; /* longitude */ int lat; /* latitude */ unsigned int course; /* course over ground */ unsigned int second; /* seconds of UTC timestamp */ unsigned int regional; /* regional reserved */ unsigned int dte; /* data terminal enable */ //unsigned int spare; spare bits */ bool assigned; /* assigned-mode flag */ bool raim; /* RAIM flag */ unsigned int radio; /* radio status bits */ } type9; /* Type 10 - UTC/Date Inquiry */ struct { //unsigned int spare; unsigned int dest_mmsi; /* destination MMSI */ //unsigned int spare2; } type10; /* Type 12 - Safety-Related Message */ struct { unsigned int seqno; /* sequence number */ unsigned int dest_mmsi; /* destination MMSI */ bool retransmit; /* retransmit flag */ //unsigned int spare; spare bit(s) */ #define AIS_TYPE12_TEXT_MAX 157 /* 936 bits of six-bit, plus NUL */ char text[AIS_TYPE12_TEXT_MAX]; } type12; /* Type 14 - Safety-Related Broadcast Message */ struct { //unsigned int spare; spare bit(s) */ #define AIS_TYPE14_TEXT_MAX 161 /* 952 bits of six-bit, plus NUL */ char text[AIS_TYPE14_TEXT_MAX]; } type14; /* Type 15 - Interrogation */ struct { //unsigned int spare; spare bit(s) */ unsigned int mmsi1; unsigned int type1_1; unsigned int offset1_1; //unsigned int spare2; spare bit(s) */ unsigned int type1_2; unsigned int offset1_2; //unsigned int spare3; spare bit(s) */ unsigned int mmsi2; unsigned int type2_1; unsigned int offset2_1; //unsigned int spare4; spare bit(s) */ } type15; /* Type 16 - Assigned Mode Command */ struct { //unsigned int spare; spare bit(s) */ unsigned int mmsi1; unsigned int offset1; unsigned int increment1; unsigned int mmsi2; unsigned int offset2; unsigned int increment2; } type16; /* Type 17 - GNSS Broadcast Binary Message */ struct { //unsigned int spare; spare bit(s) */ #define AIS_GNSS_LATLON_DIV 600.0 int lon; /* longitude */ int lat; /* latitude */ //unsigned int spare2; spare bit(s) */ #define AIS_TYPE17_BINARY_MAX 736 /* 920 bits */ size_t bitcount; /* bit count of the data */ char bitdata[(AIS_TYPE17_BINARY_MAX + 7) / 8]; } type17; /* Type 18 - Standard Class B CS Position Report */ struct { unsigned int reserved; /* altitude in meters */ unsigned int speed; /* speed over ground in deciknots */ bool accuracy; /* position accuracy */ int lon; /* longitude */ #define AIS_GNS_LON_NOT_AVAILABLE 0x1a838 int lat; /* latitude */ #define AIS_GNS_LAT_NOT_AVAILABLE 0xd548 unsigned int course; /* course over ground */ unsigned int heading; /* true heading */ unsigned int second; /* seconds of UTC timestamp */ unsigned int regional; /* regional reserved */ bool cs; /* carrier sense unit flag */ bool display; /* unit has attached display? */ bool dsc; /* unit attached to radio with DSC? */ bool band; /* unit can switch frequency bands? */ bool msg22; /* can accept Message 22 management? */ bool assigned; /* assigned-mode flag */ bool raim; /* RAIM flag */ unsigned int radio; /* radio status bits */ } type18; /* Type 19 - Extended Class B CS Position Report */ struct { unsigned int reserved; /* altitude in meters */ unsigned int speed; /* speed over ground in deciknots */ bool accuracy; /* position accuracy */ int lon; /* longitude */ int lat; /* latitude */ unsigned int course; /* course over ground */ unsigned int heading; /* true heading */ unsigned int second; /* seconds of UTC timestamp */ unsigned int regional; /* regional reserved */ char shipname[AIS_SHIPNAME_MAXLEN+1]; /* ship name */ unsigned int shiptype; /* ship type code */ unsigned int to_bow; /* dimension to bow */ unsigned int to_stern; /* dimension to stern */ unsigned int to_port; /* dimension to port */ unsigned int to_starboard; /* dimension to starboard */ unsigned int epfd; /* type of position fix deviuce */ bool raim; /* RAIM flag */ unsigned int dte; /* date terminal enable */ bool assigned; /* assigned-mode flag */ //unsigned int spare; spare bits */ } type19; /* Type 20 - Data Link Management Message */ struct { //unsigned int spare; spare bit(s) */ unsigned int offset1; /* TDMA slot offset */ unsigned int number1; /* number of xlots to allocate */ unsigned int timeout1; /* allocation timeout */ unsigned int increment1; /* repeat increment */ unsigned int offset2; /* TDMA slot offset */ unsigned int number2; /* number of xlots to allocate */ unsigned int timeout2; /* allocation timeout */ unsigned int increment2; /* repeat increment */ unsigned int offset3; /* TDMA slot offset */ unsigned int number3; /* number of xlots to allocate */ unsigned int timeout3; /* allocation timeout */ unsigned int increment3; /* repeat increment */ unsigned int offset4; /* TDMA slot offset */ unsigned int number4; /* number of xlots to allocate */ unsigned int timeout4; /* allocation timeout */ unsigned int increment4; /* repeat increment */ } type20; /* Type 21 - Aids to Navigation Report */ struct { unsigned int aid_type; /* aid type */ char name[35]; /* name of aid to navigation */ bool accuracy; /* position accuracy */ int lon; /* longitude */ int lat; /* latitude */ unsigned int to_bow; /* dimension to bow */ unsigned int to_stern; /* dimension to stern */ unsigned int to_port; /* dimension to port */ unsigned int to_starboard; /* dimension to starboard */ unsigned int epfd; /* type of EPFD */ unsigned int second; /* second of UTC timestamp */ bool off_position; /* off-position indicator */ unsigned int regional; /* regional reserved field */ bool raim; /* RAIM flag */ bool virtual_aid; /* is virtual station? */ bool assigned; /* assigned-mode flag */ //unsigned int spare; unused */ } type21; /* Type 22 - Channel Management */ struct { //unsigned int spare; spare bit(s) */ unsigned int channel_a; /* Channel A number */ unsigned int channel_b; /* Channel B number */ unsigned int txrx; /* transmit/receive mode */ bool power; /* high-power flag */ #define AIS_CHANNEL_LATLON_DIV 600.0 union { struct { int ne_lon; /* NE corner longitude */ int ne_lat; /* NE corner latitude */ int sw_lon; /* SW corner longitude */ int sw_lat; /* SW corner latitude */ } area; struct { unsigned int dest1; /* addressed station MMSI 1 */ unsigned int dest2; /* addressed station MMSI 2 */ } mmsi; }; bool addressed; /* addressed vs. broadast flag */ bool band_a; /* fix 1.5kHz band for channel A */ bool band_b; /* fix 1.5kHz band for channel B */ unsigned int zonesize; /* size of transitional zone */ } type22; /* Type 23 - Group Assignment Command */ struct { int ne_lon; /* NE corner longitude */ int ne_lat; /* NE corner latitude */ int sw_lon; /* SW corner longitude */ int sw_lat; /* SW corner latitude */ //unsigned int spare; spare bit(s) */ unsigned int stationtype; /* station type code */ unsigned int shiptype; /* ship type code */ //unsigned int spare2; spare bit(s) */ unsigned int txrx; /* transmit-enable code */ unsigned int interval; /* report interval */ unsigned int quiet; /* quiet time */ //unsigned int spare3; spare bit(s) */ } type23; /* Type 24 - Class B CS Static Data Report */ struct { char shipname[AIS_SHIPNAME_MAXLEN+1]; /* vessel name */ unsigned int shiptype; /* ship type code */ char vendorid[8]; /* vendor ID */ char callsign[8]; /* callsign */ union { unsigned int mothership_mmsi; /* MMSI of main vessel */ struct { unsigned int to_bow; /* dimension to bow */ unsigned int to_stern; /* dimension to stern */ unsigned int to_port; /* dimension to port */ unsigned int to_starboard; /* dimension to starboard */ } dim; }; } type24; /* Type 25 - Addressed Binary Message */ struct { bool addressed; /* addressed-vs.broadcast flag */ bool structured; /* structured-binary flag */ unsigned int dest_mmsi; /* destination MMSI */ unsigned int app_id; /* Application ID */ #define AIS_TYPE25_BINARY_MAX 128 /* Up to 128 bits */ size_t bitcount; /* bit count of the data */ char bitdata[(AIS_TYPE25_BINARY_MAX + 7) / 8]; } type25; /* Type 26 - Addressed Binary Message */ struct { bool addressed; /* addressed-vs.broadcast flag */ bool structured; /* structured-binary flag */ unsigned int dest_mmsi; /* destination MMSI */ unsigned int app_id; /* Application ID */ #define AIS_TYPE26_BINARY_MAX 1004 /* Up to 128 bits */ size_t bitcount; /* bit count of the data */ char bitdata[(AIS_TYPE26_BINARY_MAX + 7) / 8]; unsigned int radio; /* radio status bits */ } type26; /* Type 27 - Long Range AIS Broadcast message */ struct { bool accuracy; /* position accuracy */ bool raim; /* RAIM flag */ unsigned int status; /* navigation status */ #define AIS_LONGRANGE_LATLON_DIV 600.0 int lon; /* longitude */ #define AIS_LONGRANGE_LON_NOT_AVAILABLE 0x1a838 int lat; /* latitude */ #define AIS_LONGRANGE_LAT_NOT_AVAILABLE 0xd548 unsigned int speed; /* speed over ground in deciknots */ #define AIS_LONGRANGE_SPEED_NOT_AVAILABLE 63 unsigned int course; /* course over ground */ #define AIS_LONGRANGE_COURSE_NOT_AVAILABLE 511 bool gnss; /* are we reporting GNSS position? */ } type27; }; }; struct attitude_t { double heading; double pitch; double roll; double yaw; double dip; double mag_len; /* unitvector sqrt(x^2 + y^2 +z^2) */ double mag_x; double mag_y; double mag_z; double acc_len; /* unitvector sqrt(x^2 + y^2 +z^2) */ double acc_x; double acc_y; double acc_z; double gyro_x; double gyro_y; double temp; double depth; /* compass status -- TrueNorth (and any similar) devices only */ char mag_st; char pitch_st; char roll_st; char yaw_st; }; struct dop_t { /* Dilution of precision factors */ double xdop, ydop, pdop, hdop, vdop, tdop, gdop; }; struct rawdata_t { /* raw measurement data */ double codephase[MAXCHANNELS]; /* meters */ double carrierphase[MAXCHANNELS]; /* meters */ double pseudorange[MAXCHANNELS]; /* meters */ double deltarange[MAXCHANNELS]; /* meters/sec */ double doppler[MAXCHANNELS]; /* Hz */ double mtime[MAXCHANNELS]; /* sec */ unsigned satstat[MAXCHANNELS]; /* tracking status */ #define SAT_ACQUIRED 0x01 /* satellite acquired */ #define SAT_CODE_TRACK 0x02 /* code-tracking loop acquired */ #define SAT_CARR_TRACK 0x04 /* carrier-tracking loop acquired */ #define SAT_DATA_SYNC 0x08 /* data-bit synchronization done */ #define SAT_FRAME_SYNC 0x10 /* frame synchronization done */ #define SAT_EPHEMERIS 0x20 /* ephemeris collected */ #define SAT_FIX_USED 0x40 /* used for position fix */ }; struct version_t { char release[64]; /* external version */ char rev[64]; /* internal revision ID */ int proto_major, proto_minor; /* API major and minor versions */ char remote[GPS_PATH_MAX]; /* could be from a remote device */ }; struct devconfig_t { char path[GPS_PATH_MAX]; int flags; #define SEEN_GPS 0x01 #define SEEN_RTCM2 0x02 #define SEEN_RTCM3 0x04 #define SEEN_AIS 0x08 char driver[64]; char subtype[64]; double activated; unsigned int baudrate, stopbits; /* RS232 link parameters */ char parity; /* 'N', 'O', or 'E' */ double cycle, mincycle; /* refresh cycle time in seconds */ int driver_mode; /* is driver in native mode or not? */ }; struct policy_t { bool watcher; /* is watcher mode on? */ bool json; /* requesting JSON? */ bool nmea; /* requesting dumping as NMEA? */ int raw; /* requesting raw data? */ bool scaled; /* requesting report scaling? */ bool timing; /* requesting timing info */ int loglevel; /* requested log level of messages */ char devpath[GPS_PATH_MAX]; /* specific device to watch */ char remote[GPS_PATH_MAX]; /* ...if this was passthrough */ }; /* * Someday we may support Windows, under which socket_t is a separate type. * In the meantime, having a typedef for this semantic kind is no bad thing, * as it makes clearer what some declarations are doing without breaking * binary compatibility. */ typedef int socket_t; #define BAD_SOCKET(s) ((s) == -1) #define INVALIDATE_SOCKET(s) s = -1 /* mode flags for setting streaming policy */ #define WATCH_ENABLE 0x000001u /* enable streaming */ #define WATCH_DISABLE 0x000002u /* disable watching */ #define WATCH_JSON 0x000010u /* JSON output */ #define WATCH_NMEA 0x000020u /* output in NMEA */ #define WATCH_RARE 0x000040u /* output of packets in hex */ #define WATCH_RAW 0x000080u /* output of raw packets */ #define WATCH_SCALED 0x000100u /* scale output to floats */ #define WATCH_TIMING 0x000200u /* timing information */ #define WATCH_DEVICE 0x000800u /* watch specific device */ #define WATCH_NEWSTYLE 0x010000u /* force JSON streaming */ #define WATCH_OLDSTYLE 0x020000u /* force old-style streaming */ /* * Main structure that includes all previous substructures */ struct gps_data_t { gps_mask_t set; /* has field been set since this was last cleared? */ #define ONLINE_SET (1llu<<1) #define TIME_SET (1llu<<2) #define TIMERR_SET (1llu<<3) #define LATLON_SET (1llu<<4) #define ALTITUDE_SET (1llu<<5) #define SPEED_SET (1llu<<6) #define TRACK_SET (1llu<<7) #define CLIMB_SET (1llu<<8) #define STATUS_SET (1llu<<9) #define MODE_SET (1llu<<10) #define DOP_SET (1llu<<11) #define HERR_SET (1llu<<12) #define VERR_SET (1llu<<13) #define ATTITUDE_SET (1llu<<14) #define SATELLITE_SET (1llu<<15) #define SPEEDERR_SET (1llu<<16) #define TRACKERR_SET (1llu<<17) #define CLIMBERR_SET (1llu<<18) #define DEVICE_SET (1llu<<19) #define DEVICELIST_SET (1llu<<20) #define DEVICEID_SET (1llu<<21) #define RTCM2_SET (1llu<<22) #define RTCM3_SET (1llu<<23) #define AIS_SET (1llu<<24) #define PACKET_SET (1llu<<25) #define SUBFRAME_SET (1llu<<26) #define GST_SET (1llu<<27) #define VERSION_SET (1llu<<28) #define POLICY_SET (1llu<<29) #define LOGMESSAGE_SET (1llu<<30) #define ERROR_SET (1llu<<31) #define SET_HIGH_BIT 31 timestamp_t online; /* NZ if GPS is on line, 0 if not. * * Note: gpsd clears this time when sentences * fail to show up within the GPS's normal * send cycle time. If the host-to-GPS * link is lossy enough to drop entire * sentences, this field will be * prone to false zero values. */ #ifndef USE_QT socket_t gps_fd; /* socket or file descriptor to GPS */ #else void* gps_fd; #endif struct gps_fix_t fix; /* accumulated PVT data */ /* this should move to the per-driver structure */ double separation; /* Geoidal separation, MSL - WGS84 (Meters) */ /* GPS status -- always valid */ int status; /* Do we have a fix? */ #define STATUS_NO_FIX 0 /* no */ #define STATUS_FIX 1 /* yes, without DGPS */ #define STATUS_DGPS_FIX 2 /* yes, with DGPS */ /* precision of fix -- valid if satellites_used > 0 */ int satellites_used; /* Number of satellites used in solution */ int used[MAXCHANNELS]; /* PRNs of satellites used in solution */ struct dop_t dop; /* redundant with the estimate elements in the fix structure */ double epe; /* spherical position error, 95% confidence (meters) */ /* satellite status -- valid when satellites_visible > 0 */ timestamp_t skyview_time; /* skyview timestamp */ int satellites_visible; /* # of satellites in view */ int PRN[MAXCHANNELS]; /* PRNs of satellite */ int elevation[MAXCHANNELS]; /* elevation of satellite */ int azimuth[MAXCHANNELS]; /* azimuth */ double ss[MAXCHANNELS]; /* signal-to-noise ratio (dB) */ struct devconfig_t dev; /* device that shipped last update */ struct policy_t policy; /* our listening policy */ /* should be moved to privdata someday */ char tag[MAXTAGLEN+1]; /* tag of last sentence processed */ /* pack things never reported together to reduce structure size */ #define UNION_SET (RTCM2_SET|RTCM3_SET|SUBFRAME_SET|AIS_SET|ATTITUDE_SET|GST_SET|VERSION_SET|DEVICELIST_SET|LOGMESSAGE_SET|ERROR_SET) union { /* unusual forms of sensor data that might come up the pipe */ struct rtcm2_t rtcm2; struct rtcm3_t rtcm3; struct subframe_t subframe; struct ais_t ais; struct attitude_t attitude; struct rawdata_t raw; struct gst_t gst; /* "artificial" structures for various protocol responses */ struct version_t version; struct { timestamp_t time; int ndevices; struct devconfig_t list[MAXUSERDEVS]; } devices; char error[256]; }; /* Private data - client code must not set this */ void *privdata; }; extern int gps_open(/*@null@*/const char *, /*@null@*/const char *, /*@out@*/struct gps_data_t *); extern int gps_close(struct gps_data_t *); extern int gps_send(struct gps_data_t *, const char *, ... ); extern int gps_read(/*@out@*/struct gps_data_t *); extern int gps_unpack(char *, struct gps_data_t *); extern bool gps_waiting(const struct gps_data_t *, int); extern int gps_stream(struct gps_data_t *, unsigned int, /*@null@*/void *); extern int gps_mainloop(struct gps_data_t *, int, void (*)(struct gps_data_t *)); extern const char /*@null observer@*/ *gps_data(const struct gps_data_t *); extern const char /*@observer@*/ *gps_errstr(const int); /* dependencies on struct gpsdata_t end hrere */ extern void libgps_trace(int errlevel, const char *, ...); extern void gps_clear_fix(/*@ out @*/struct gps_fix_t *); extern void gps_clear_dop( /*@out@*/ struct dop_t *); extern void gps_merge_fix(/*@ out @*/struct gps_fix_t *, gps_mask_t, /*@ in @*/struct gps_fix_t *); extern void gps_enable_debug(int, FILE *); extern /*@observer@*/const char *gps_maskdump(gps_mask_t); extern double safe_atof(const char *); extern time_t mkgmtime(register struct tm *); extern timestamp_t timestamp(void); extern timestamp_t iso8601_to_unix(char *); extern /*@observer@*/char *unix_to_iso8601(timestamp_t t, /*@ out @*/char[], size_t len); extern double earth_distance(double, double, double, double); extern double earth_distance_and_bearings(double, double, double, double, /*@null@*//*@out@*/double *, /*@null@*//*@out@*/double *); extern double wgs84_separation(double, double); /* some multipliers for interpreting GPS output */ #define METERS_TO_FEET 3.2808399 /* Meters to U.S./British feet */ #define METERS_TO_MILES 0.00062137119 /* Meters to miles */ #define METERS_TO_FATHOMS 0.54680665 /* Meters to fathoms */ #define KNOTS_TO_MPH 1.1507794 /* Knots to miles per hour */ #define KNOTS_TO_KPH 1.852 /* Knots to kilometers per hour */ #define KNOTS_TO_MPS 0.51444444 /* Knots to meters per second */ #define MPS_TO_KPH 3.6 /* Meters per second to klicks/hr */ #define MPS_TO_MPH 2.2369363 /* Meters/second to miles per hour */ #define MPS_TO_KNOTS 1.9438445 /* Meters per second to knots */ /* miles and knots are both the international standard versions of the units */ /* angle conversion multipliers */ #define GPS_PI 3.1415926535897932384626433832795029 #define RAD_2_DEG 57.2957795130823208767981548141051703 #define DEG_2_RAD 0.0174532925199432957692369076848861271 /* geodetic constants */ #define WGS84A 6378137 /* equatorial radius */ #define WGS84F 298.257223563 /* flattening */ #define WGS84B 6356752.3142 /* polar radius */ /* netlib_connectsock() errno return values */ #define NL_NOSERVICE -1 /* can't get service entry */ #define NL_NOHOST -2 /* can't get host entry */ #define NL_NOPROTO -3 /* can't get protocol entry */ #define NL_NOSOCK -4 /* can't create socket */ #define NL_NOSOCKOPT -5 /* error SETSOCKOPT SO_REUSEADDR */ #define NL_NOCONNECT -6 /* can't connect to host/socket pair */ #define SHM_NOSHARED -7 /* shared-memory segment not available */ #define SHM_NOATTACH -8 /* shared-memory attach failed */ #define DBUS_FAILURE -9 /* DBUS initialization failure */ #define DEFAULT_GPSD_PORT "2947" /* IANA assignment */ #define DEFAULT_RTCM_PORT "2101" /* IANA assignment */ /* special host values for non-socket exports */ #define GPSD_SHARED_MEMORY "shared memory" #define GPSD_DBUS_EXPORT "DBUS export" /* * Platform-specific declarations */ #ifdef _WIN32 #define strtok_r(s,d,p) strtok_s(s,d,p) #endif /* Some libc's don't have strlcat/strlcpy. Local copies are provided */ #ifndef HAVE_STRLCAT size_t strlcat(/*@out@*/char *dst, /*@in@*/const char *src, size_t size); #endif #ifndef HAVE_STRLCPY size_t strlcpy(/*@out@*/char *dst, /*@in@*/const char *src, size_t size); #endif #ifdef __cplusplus } /* End of the 'extern "C"' block */ #endif #endif /* _GPSD_GPS_H_ */ /* gps.h ends here */ gpsd-3.9/gps.xml0000664000175000017500000003374012076013703012011 0ustar esresr 9 Aug 2004 gps 1 The GPSD Project GPSD Documentation gps xgps xgpsspeed cgps lcdgps gegps test clients for gpsd xgps -D debug-level -h -V -l dms -u inm server :port :device xgpsspeed -D debug-level -h -V --speedunits mphkphknots server :port :device cgps -D debug-level -h -V -l dms -m -s -u inm server :port :device lcdgps -h -V -l dms -u inm server :port :device gpxlogger -D debug-level -d -e export-method -f filename -l -m minmove -h -V -i track timeout server :port :device gegps -d directory -i DESCRIPTION These are the demonstration clients shipped with gpsd. They have some common options: The option causes each client to emit a summary of its options and then exit. The option causes each client to dump the package version and exit. The option, when present, sets the format of latitude and longitude reports. The value 'd' produces decimal degrees and is the default. The value 'm' produces degrees and decimal minutes. The value 's' produces degrees, minutes, and decimal seconds. xgps, cgps, and lcdgps look at variables in the environment to figure out what units they should default to using for display — imperial, nautical, or metric. Here are the variables and values they check: GPSD_UNITS one of: imperial = miles/feet nautical = knots/feet metric = km/meters LC_MEASUREMENT en_US = miles/feet C = miles/feet POSIX = miles/feet [other] = km/meters LANG en_US = miles/feet C = miles/feet POSIX = miles/feet [other] = km/meters These preferences may be overridden by the option. Where present, the option can be used to set the system units for display; follow the keyword with 'i' for 'imperial' for American units (feet in altitude and error estimates, miles per hour in speeds), 'n' for 'nautical' (feet in altitude and error estimates, knots in speed) or 'm' for 'metric' (meters in altitude and error estimates, kilometers per hour in speeds). The option, when present, sets a debug level; it is primarily for use by GPSD developers. It enables various progress messages to standard error. By default, clients collect data from all compatible devices on localhost, using the default GPSD port 2947. An optional argument to any client may specify a server to get data from. A colon-separated suffix is taken as a port number. If there is a second colon-separated suffix, that is taken as a specific device name to be watched. However, if the server specification contains square brackets, the part inside them is taken as an IPv6 address and port/device suffixes are only parsed after the trailing bracket. Possible cases look like this: localhost:/dev/ttyS1 Look at the default port of localhost, trying both IPv4 and IPv6 and watching output from serial device 1. example.com:2317 Look at port 2317 on example.com, trying both IPv4 and IPv6. 71.162.241.5:2317:/dev/ttyS3 Look at port 2317 at the specified IPv4 address, collecting data from attached serial device 3. [FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:2317:/dev/ttyS5 Look at port 2317 at the specified IPv6 address, collecting data from attached serial device 5. Not all clients shipped with GPSD are documented here. See also the separate manual pages for gpspipe1 and gpsmon1. xgps xgps is a simple test client for gpsd with an X interface. It displays current GPS position/time/velocity information and (for GPSes that support the feature) the locations of accessible satellites. In the sky view, satellites are color-coded to indicate quality of signal; consult the data display to the left for exact figures in dB. Square icons indicate WAAS/EGNOS satellites, circles indicate ordinary GPS satellites. Filled icons were used in the last fix, outline icons were not. xgpsspeed xgpsspeed is a speedometer that uses position information from the GPS. It accepts an -h option and optional argument as for gps, or a -V option to dump the package version and exit. The default display mode resembles a car speedometer. With the option --nautical you get a more elaborate speed and track presentation modeled after a marine navigation display. The -speedunits option can be used to set the speed units for display; follow the keyword with knots for nautical miles per hour, kph for kilometres per hour, or mph for miles per hour. The default is miles per hour. In the nautical mode only, --maxspeed sets the maximum on the speedometer. cgps cgps is a client resembling xgps, but without the pictorial satellite display and able to run on a serial terminal or terminal emulator. The option prevents cgps from displaying the data coming from the daemon. This display can also be toggled with the s command. The option will display your magnetic heading (as opposed to your true heading). This is a calculated value, not a measured value, and is subject to a potential error of up to two degrees in the areas for which the calculation is valid (currently Western Europe, Alaska, and Lower 48 in the USA). The formulas used are those found in the Aviation Formulary v1.43. cgps terminates when you send it a SIGHUP or SIGINT; given default terminal settings this will happen when you type Ctrl-C at it. It will also terminate on 'q' lcdgps A client that passes gpsd data to lcdproc, turning your car computer into a very expensive and nearly feature-free GPS receiver. Currently assumes a 4x40 LCD and writes data formatted to fit that size screen. Also displays 4- or 6-character Maidenhead grid square output. gpxlogger This program collects fixes from gpsd and logs them to standard output in GPX, an XML profile for track logging. The output may be composed of multiple tracks. A new track is created if there's no fix for an interval specified by the and defaulting to 5 seconds. The option tells gpxlogger to run as a daemon in background. It requires the option, which directs output to a specified logfile. The option sets a minimum move distance in meters (it may include a fractional decimal part). Motions shorter than this will not be logged. gpxlogger can use any of the export methods that gpsd supports. For a list of these methods, use the . To force the method, give the one of the colon-terminated method names from the table. If D-Bus support is available on the host, GPSD is configured to use it, and -e dbus is specified, this program listens to DBUS broadcasts from gpsd via org.gpsd.fix. With -e sockets, or if sockets is the method defaulted to, you may give a server-port-device specification as arguments. gegps This program collects fixes from gpsd and feeds them to a running instance of Google Earth for live location tracking. The argument is the location of the Google Earth installation directory. If not specified, it defaults to the current directory. If you have the free (non-subscription) version, start by running with the option to drop a clue in the Google Earth installation directory, as 'Open_in_Google_Earth_RT_GPS.kml', then open that file in Places (File > Open...). Run gpsd in the normal way after that. SEE ALSO gpsd8, libgps3, libgpsd3, gpsfake1, gpsctl1, gpscat1, gpsprof1. gpspipe1. gpsmon1. AUTHORS Remco Treffcorn, Derrick Brashear, Russ Nelson & Eric S. Raymond, Jeff Francis (cgps). Amaury Jacquot sxpert@sxpert.org & Petter Reinholdtsen pere@hungry.com (gpxlogger). Chris Kuethe chris.kuethe@gmail.com (gpxlogger), Chen Wei weichen302@aol.com (gegps & xgpsspeed), Robin Wittler real@the-real.org (xgpsspeed). This manual page by Eric S. Raymond esr@thyrsus.com gpsd-3.9/gps/__init__.py0000664000175000017500000000075011757250540013402 0ustar esresr# Make core client functions available without prefix. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. api_major_version = 5 # bumped on incompatible changes api_minor_version = 0 # bumped on compatible changes from gps import * from misc import * # The 'client' module exposes some C utility functions for Python clients. # The 'packet' module exposes the packet getter via a Python interface. gpsd-3.9/gps/client.py0000664000175000017500000001576011762140435013125 0ustar esresr# This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # import time, socket, sys, select if sys.hexversion >= 0x2060000: import json # For Python 2.6 else: import simplejson as json # For Python 2.4 and 2.5 GPSD_PORT="2947" class json_error: def __init__(self, data, explanation): self.data = data self.explanation = explanation class gpscommon: "Isolate socket handling and buffering from the protcol interpretation." def __init__(self, host="127.0.0.1", port=GPSD_PORT, verbose=0): self.sock = None # in case we blow up in connect self.linebuffer = "" self.verbose = verbose if host != None: self.connect(host, port) def connect(self, host, port): """Connect to a host on a given port. If the hostname ends with a colon (`:') followed by a number, and there is no port specified, that suffix will be stripped off and the number interpreted as the port number to use. """ if not port and (host.find(':') == host.rfind(':')): i = host.rfind(':') if i >= 0: host, port = host[:i], host[i+1:] try: port = int(port) except ValueError: raise socket.error, "nonnumeric port" #if self.verbose > 0: # print 'connect:', (host, port) msg = "getaddrinfo returns an empty list" self.sock = None for res in socket.getaddrinfo(host, port, 0, socket.SOCK_STREAM): af, socktype, proto, canonname, sa = res try: self.sock = socket.socket(af, socktype, proto) #if self.debuglevel > 0: print 'connect:', (host, port) self.sock.connect(sa) except socket.error, msg: #if self.debuglevel > 0: print 'connect fail:', (host, port) self.close() continue break if not self.sock: raise socket.error, msg def close(self): if self.sock: self.sock.close() self.sock = None def __del__(self): self.close() def waiting(self, timeout=0): "Return True if data is ready for the client." if self.linebuffer: return True (winput, woutput, wexceptions) = select.select((self.sock,), (), (), timeout) return winput != [] def read(self): "Wait for and read data being streamed from the daemon." if self.verbose > 1: sys.stderr.write("poll: reading from daemon...\n") eol = self.linebuffer.find('\n') if eol == -1: frag = self.sock.recv(4096) self.linebuffer += frag if self.verbose > 1: sys.stderr.write("poll: read complete.\n") if not self.linebuffer: if self.verbose > 1: sys.stderr.write("poll: returning -1.\n") # Read failed return -1 eol = self.linebuffer.find('\n') if eol == -1: if self.verbose > 1: sys.stderr.write("poll: returning 0.\n") # Read succeeded, but only got a fragment return 0 else: if self.verbose > 1: sys.stderr.write("poll: fetching from buffer.\n") # We got a line eol += 1 self.response = self.linebuffer[:eol] self.linebuffer = self.linebuffer[eol:] # Can happen if daemon terminates while we're reading. if not self.response: return -1 if self.verbose: sys.stderr.write("poll: data is %s\n" % repr(self.response)) self.received = time.time() # We got a \n-terminated line return len(self.response) def data(self): "Return the client data buffer." return self.response def send(self, commands): "Ship commands to the daemon." if not commands.endswith("\n"): commands += "\n" self.sock.send(commands) WATCH_ENABLE = 0x000001 # enable streaming WATCH_DISABLE = 0x000002 # disable watching WATCH_JSON = 0x000010 # JSON output WATCH_NMEA = 0x000020 # output in NMEA WATCH_RARE = 0x000040 # output of packets in hex WATCH_RAW = 0x000080 # output of raw packets WATCH_SCALED = 0x000100 # scale output to floats WATCH_TIMING = 0x000200 # timing information WATCH_DEVICE = 0x000800 # watch specific device class gpsjson(gpscommon): "Basic JSON decoding." def __iter__(self): return self def unpack(self, buf): try: self.data = dictwrapper(json.loads(buf.strip(), encoding="ascii")) except ValueError, e: raise json_error(buf, e.args[0]) # Should be done for any other array-valued subobjects, too. # This particular logic can fire on SKY or RTCM2 objects. if hasattr(self.data, "satellites"): self.data.satellites = map(dictwrapper, self.data.satellites) def stream(self, flags=0, devpath=None): "Control streaming reports from the daemon," if flags & WATCH_DISABLE: arg = '?WATCH={"enable":false' if flags & WATCH_JSON: arg += ',"json":false' if flags & WATCH_NMEA: arg += ',"nmea":false' if flags & WATCH_RARE: arg += ',"raw":1' if flags & WATCH_RAW: arg += ',"raw":2' if flags & WATCH_SCALED: arg += ',"scaled":false' if flags & WATCH_TIMING: arg += ',"timing":false' else: # flags & WATCH_ENABLE: arg = '?WATCH={"enable":true' if flags & WATCH_JSON: arg += ',"json":true' if flags & WATCH_NMEA: arg += ',"nmea":true' if flags & WATCH_RAW: arg += ',"raw":1' if flags & WATCH_RARE: arg += ',"raw":0' if flags & WATCH_SCALED: arg += ',"scaled":true' if flags & WATCH_TIMING: arg += ',"timing":true' if flags & WATCH_DEVICE: arg += ',"device":"%s"' % devpath return self.send(arg + "}") class dictwrapper: "Wrapper that yields both class and dictionary behavior," def __init__(self, ddict): self.__dict__ = ddict def get(self, k, d=None): return self.__dict__.get(k, d) def keys(self): return self.__dict__.keys() def __getitem__(self, key): "Emulate dictionary, for new-style interface." return self.__dict__[key] def __setitem__(self, key, val): "Emulate dictionary, for new-style interface." self.__dict__[key] = val def __contains__(self, key): return key in self.__dict__ def __str__(self): return "" __repr__ = __str__ # # Someday a cleaner Python iterface using this machinery will live here # # End gpsd-3.9/gps/fake.py0000664000175000017500000005752011762140435012555 0ustar esresr# This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. """ gpsfake.py -- classes for creating a controlled test environment around gpsd. The gpsfake(1) regression tester shipped with gpsd is a trivial wrapper around this code. For a more interesting usage example, see the valgrind-audit script shipped with the gpsd code. To use this code, start by instantiating a TestSession class. Use the prefix argument if you want to run the daemon under some kind of run-time monitor like valgrind or gdb. Here are some particularly useful possibilities: valgrind --tool=memcheck --gen-suppressions=yes --leak-check=yes Run under Valgrind, checking for malloc errors and memory leaks. xterm -e gdb -tui --args Run under gdb, controlled from a new xterm. You can use the options argument to pass in daemon options; normally you will use this to set the debug-logging level. On initialization, the test object spawns an instance of gpsd with no devices or clients attached, connected to a control socket. TestSession has methods to attach and detch fake GPSes. The TestSession class simulates GPS devices for you with objects composed from a pty and a class instance that cycles sentences into the master side from some specified logfile; gpsd reads the slave side. A fake GPS is identified by the string naming its slave device. TestSession also has methods to start and end client sessions. Daemon responses to a client are fed to a hook function which, by default, discards them. You can change the hook to sys.stdout.write() to dump responses to standard output (this is what the gpsfake executable does) or do something more exotic. A client session is identified by a small integer that counts the number of client session starts. There are a couple of convenience methods. TestSession.wait() does nothing, allowing a specified number of seconds to elapse. TestSession.send() ships commands to an open client session. TestSession does not currently capture the daemon's log output. It is run with -N, so the output will go to stderr (along with, for example, Valgrind notifications). Each FakeGPS instance tries to packetize the data from the logfile it is initialized with. It uses the same packet-getter as the daeomon. The TestSession code maintains a run queue of FakeGPS and gps.gs (client- session) objects. It repeatedly cycles through the run queue. For each client session object in the queue, it tries to read data from gpsd. For each fake GPS, it sends one line of stored data. When a fake-GPS's go predicate becomes false, the fake GPS is removed from the run queue. There are two ways to use this code. The more deterministic is non-threaded mode: set up your client sessions and fake GPS devices, then call the run() method. The run() method will terminate when there are no more objects in the run queue. Note, you must have created at least one fake client or fake GPS before calling run(), otherwise it will terminate immediately. To allow for adding and removing clients while the test is running, run in threaded mode by calling the start() method. This simply calls the run method in a subthread, with locking of critical regions. """ import os, time, signal, pty, termios # fcntl, array, struct import exceptions, threading, socket import gps import packet as sniffer # The two magic numbers below have to be derived from observation. If # they're too high you'll slow the tests down a lot. If they're too low # you'll get random spurious regression failures that usually look # like lines missing from the end of the test output relative to the # check file. These numbers might have to be adjusted upward on faster # machines. The need for them may be symptomatic of race conditions # in the pty layer or elsewhere. # Define a per-line delay on writes so we won't spam the buffers in # the pty layer or gpsd itself. Removing this entirely was tried but # caused failures under NetBSD. Values smaller than the system timer # tick don't make any difference here. WRITE_PAD = 0.001 # We delay briefly after a GPS source is exhausted before removing it. # This should give its subscribers time to get gpsd's response before # we call the cleanup code. Note that using fractional seconds in # CLOSE_DELAY may have no effect; Python time.time() returns a float # value, but it is not guaranteed by Python that the C implementation # underneath will return with precision finer than 1 second. (Linux # and *BSD return full precision.) Dropping this to 0.1 has been # tried but caused failures. CLOSE_DELAY = 0.2 class TestLoadError(exceptions.Exception): def __init__(self, msg): self.msg = msg class TestLoad: "Digest a logfile into a list of sentences we can cycle through." def __init__(self, logfp, predump=False): self.sentences = [] # This is the interesting part if type(logfp) == type(""): logfp = open(logfp, "r") self.name = logfp.name self.logfp = logfp self.predump = predump self.logfile = logfp.name self.type = None self.sourcetype = "pty" self.serial = None # Grab the packets getter = sniffer.new() #gps.packet.register_report(reporter) type_latch = None while True: (plen, ptype, packet, counter) = getter.get(logfp.fileno()) if plen <= 0: break elif ptype == sniffer.COMMENT_PACKET: # Some comments are magic if "Serial:" in packet: # Change serial parameters packet = packet[1:].strip() try: (xx, baud, params) = packet.split() baud = int(baud) if params[0] in ('7', '8'): databits = int(params[0]) else: raise ValueError if params[1] in ('N', 'O', 'E'): parity = params[1] else: raise ValueError if params[2] in ('1', '2'): stopbits = int(params[2]) else: raise ValueError except (ValueError, IndexError): raise TestLoadError("bad serial-parameter spec in %s"%\ logfp.name) self.serial = (baud, databits, parity, stopbits) elif "UDP" in packet: self.sourcetype = "UDP" else: if type_latch is None: type_latch = ptype if self.predump: print repr(packet) if not packet: raise TestLoadError("zero-length packet from %s"%\ logfp.name) self.sentences.append(packet) # Look at the first packet to grok the GPS type self.textual = (type_latch == sniffer.NMEA_PACKET) if self.textual: self.legend = "gpsfake: line %d: " else: self.legend = "gpsfake: packet %d" class PacketError(exceptions.Exception): def __init__(self, msg): self.msg = msg class FakeGPS: def __init__(self, testload, progress=None): self.testload = testload self.progress = progress self.go_predicate = lambda: True self.readers = 0 self.index = 0 self.progress("gpsfake: %s provides %d sentences\n" % (self.testload.name, len(self.testload.sentences))) def write(self, line): "Throw an error if this superclass is ever instantiated." raise ValueError, line def feed(self): "Feed a line from the contents of the GPS log to the daemon." line = self.testload.sentences[self.index % len(self.testload.sentences)] if "%Delay:" in line: # Delay specified number of seconds delay = line.split()[1] time.sleep(int(delay)) # self.write has to be set by the derived class self.write(line) if self.progress: self.progress("gpsfake: %s feeds %d=%s\n" % (self.testload.name, len(line), repr(line))) time.sleep(WRITE_PAD) self.index += 1 class FakePTY(FakeGPS): "A FakePTY is a pty with a test log ready to be cycled to it." def __init__(self, testload, speed=4800, databits=8, parity='N', stopbits=1, progress=None): FakeGPS.__init__(self, testload, progress) # Allow Serial: header to be overridden by explicit spped. if self.testload.serial: (speed, databits, parity, stopbits) = self.testload.serial self.speed = speed baudrates = { 0: termios.B0, 50: termios.B50, 75: termios.B75, 110: termios.B110, 134: termios.B134, 150: termios.B150, 200: termios.B200, 300: termios.B300, 600: termios.B600, 1200: termios.B1200, 1800: termios.B1800, 2400: termios.B2400, 4800: termios.B4800, 9600: termios.B9600, 19200: termios.B19200, 38400: termios.B38400, 57600: termios.B57600, 115200: termios.B115200, 230400: termios.B230400, } speed = baudrates[speed] # Throw an error if the speed isn't legal (self.fd, self.slave_fd) = pty.openpty() self.byname = os.ttyname(self.slave_fd) (iflag, oflag, cflag, lflag, ispeed, ospeed, cc) = termios.tcgetattr(self.slave_fd) cc[termios.VMIN] = 1 cflag &= ~(termios.PARENB | termios.PARODD | termios.CRTSCTS) cflag |= termios.CREAD | termios.CLOCAL iflag = oflag = lflag = 0 iflag &=~ (termios.PARMRK | termios.INPCK) cflag &=~ (termios.CSIZE | termios.CSTOPB | termios.PARENB | termios.PARODD) if databits == 7: cflag |= termios.CS7 else: cflag |= termios.CS8 if stopbits == 2: cflag |= termios.CSTOPB if parity == 'E': iflag |= termios.INPCK cflag |= termios.PARENB elif parity == 'O': iflag |= termios.INPCK cflag |= termios.PARENB | termios.PARODD ispeed = ospeed = speed termios.tcsetattr(self.slave_fd, termios.TCSANOW, [iflag, oflag, cflag, lflag, ispeed, ospeed, cc]) def read(self): "Discard control strings written by gpsd." # A tcflush implementation works on Linux but fails on OpenBSD 4. termios.tcflush(self.fd, termios.TCIFLUSH) # Alas, the FIONREAD version also works on Linux and fails on OpenBSD. #try: # buf = array.array('i', [0]) # fcntl.ioctl(self.master_fd, termios.FIONREAD, buf, True) # n = struct.unpack('i', buf)[0] # os.read(self.master_fd, n) #except IOError: # pass def write(self, line): os.write(self.fd, line) def drain(self): "Wait for the associated device to drain (e.g. before closing)." termios.tcdrain(self.fd) class FakeUDP(FakeGPS): "A UDP broadcaster with a test log ready to be cycled to it." def __init__(self, testload, ipaddr, port, progress=None): FakeGPS.__init__(self, testload, progress) self.ipaddr = ipaddr self.port = port self.byname = "udp://" + ipaddr + ":" + port self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) def read(self): "Discard control strings written by gpsd." pass def write(self, line): self.sock.sendto(line, (self.ipaddr, int(self.port))) def drain(self): "Wait for the associated device to drain (e.g. before closing)." pass # shutdown() fails on UDP class DaemonError(exceptions.Exception): def __init__(self, msg): self.msg = msg def __str__(self): return repr(self.msg) class DaemonInstance: "Control a gpsd instance." def __init__(self, control_socket=None): self.sockfile = None self.pid = None self.tmpdir = os.environ.get('TMPDIR', '/tmp') if control_socket: self.control_socket = control_socket else: self.control_socket = "%s/gpsfake-%d.sock" % (self.tmpdir, os.getpid()) self.pidfile = "%s/gpsfake-%d.pid" % (self.tmpdir, os.getpid()) def spawn(self, options, port, background=False, prefix=""): "Spawn a daemon instance." self.spawncmd = None # Look for gpsd in GPSD_HOME env variable if os.environ.get('GPSD_HOME'): for path in os.environ['GPSD_HOME'].split(':'): _spawncmd = "%s/gpsd" % path if os.path.isfile(_spawncmd) and os.access(_spawncmd, os.X_OK): self.spawncmd = _spawncmd break # if we could not find it yet try PATH env variable for it if not self.spawncmd: if not '/usr/sbin' in os.environ['PATH']: os.environ['PATH']=os.environ['PATH'] + ":/usr/sbin" for path in os.environ['PATH'].split(':'): _spawncmd = "%s/gpsd" % path if os.path.isfile(_spawncmd) and os.access(_spawncmd, os.X_OK): self.spawncmd = _spawncmd break if not self.spawncmd: raise DaemonError("Cannot execute gpsd: executable not found. Set GPSD_HOME env variable") # The -b option to suppress hanging on probe returns is needed to cope # with OpenBSD (and possibly other non-Linux systems) that don't support # anything we can use to implement the FakeGPS.read() method self.spawncmd += " -b -N -S %s -F %s -P %s %s" % (port, self.control_socket, self.pidfile, options) if prefix: self.spawncmd = prefix + " " + self.spawncmd.strip() if background: self.spawncmd += " &" status = os.system(self.spawncmd) if os.WIFSIGNALED(status) or os.WEXITSTATUS(status): raise DaemonError("daemon exited with status %d" % status) def wait_pid(self): "Wait for the daemon, get its PID and a control-socket connection." while True: try: fp = open(self.pidfile) except IOError: time.sleep(0.1) continue try: fp.seek(0) pidstr = fp.read() self.pid = int(pidstr) except ValueError: time.sleep(0.5) continue # Avoid race condition -- PID not yet written fp.close() break def __get_control_socket(self): # Now we know it's running, get a connection to the control socket. if not os.path.exists(self.control_socket): return None try: self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM, 0) self.sock.connect(self.control_socket) except socket.error: if self.sock: self.sock.close() self.sock = None return self.sock def is_alive(self): "Is the daemon still alive?" try: os.kill(self.pid, 0) return True except OSError: return False def add_device(self, path): "Add a device to the daemon's internal search list." if self.__get_control_socket(): self.sock.sendall("+%s\r\n\x00" % path) self.sock.recv(12) self.sock.close() def remove_device(self, path): "Remove a device from the daemon's internal search list." if self.__get_control_socket(): self.sock.sendall("-%s\r\n\x00" % path) self.sock.recv(12) self.sock.close() def kill(self): "Kill the daemon instance." if self.pid: try: os.kill(self.pid, signal.SIGTERM) # Raises an OSError for ESRCH when we've killed it. while True: os.kill(self.pid, signal.SIGTERM) time.sleep(0.01) except OSError: pass self.pid = None class TestSessionError(exceptions.Exception): def __init__(self, msg): self.msg = msg class TestSession: "Manage a session including a daemon with fake GPSes and clients." def __init__(self, prefix=None, port=None, options=None, verbose=0, predump=False, udp=False): "Initialize the test session by launching the daemon." self.prefix = prefix self.port = port self.options = options self.verbose = verbose self.predump = predump self.udp = udp self.daemon = DaemonInstance() self.fakegpslist = {} self.client_id = 0 self.readers = 0 self.writers = 0 self.runqueue = [] self.index = 0 if port: self.port = port else: self.port = gps.GPSD_PORT self.progress = lambda x: None self.reporter = lambda x: None self.default_predicate = None self.fd_set = [] self.threadlock = None def spawn(self): for sig in (signal.SIGQUIT, signal.SIGINT, signal.SIGTERM): signal.signal(sig, lambda unused, dummy: self.cleanup()) self.daemon.spawn(background=True, prefix=self.prefix, port=self.port, options=self.options) self.daemon.wait_pid() def set_predicate(self, pred): "Set a default go predicate for the session." self.default_predicate = pred def gps_add(self, logfile, speed=19200, pred=None): "Add a simulated GPS being fed by the specified logfile." self.progress("gpsfake: gps_add(%s, %d)\n" % (logfile, speed)) if logfile not in self.fakegpslist: testload = TestLoad(logfile, predump=self.predump) if testload.sourcetype == "UDP" or self.udp: newgps = FakeUDP(testload, ipaddr="127.0.0.1", port="5000", progress=self.progress) else: newgps = FakePTY(testload, speed=speed, progress=self.progress) if pred: newgps.go_predicate = pred elif self.default_predicate: newgps.go_predicate = self.default_predicate self.fakegpslist[newgps.byname] = newgps self.append(newgps) newgps.exhausted = 0 self.daemon.add_device(newgps.byname) return newgps.byname def gps_remove(self, name): "Remove a simulated GPS from the daemon's search list." self.progress("gpsfake: gps_remove(%s)\n" % name) self.fakegpslist[name].drain() self.remove(self.fakegpslist[name]) self.daemon.remove_device(name) del self.fakegpslist[name] def client_add(self, commands): "Initiate a client session and force connection to a fake GPS." self.progress("gpsfake: client_add()\n") newclient = gps.gps(port=self.port, verbose=self.verbose) self.append(newclient) newclient.id = self.client_id + 1 self.client_id += 1 self.progress("gpsfake: client %d has %s\n" % (self.client_id,newclient.device)) if commands: self.initialize(newclient, commands) return self.client_id def client_remove(self, cid): "Terminate a client session." self.progress("gpsfake: client_remove(%d)\n" % cid) for obj in self.runqueue: if isinstance(obj, gps.gps) and obj.id == cid: self.remove(obj) return True else: return False def wait(self, seconds): "Wait, doing nothing." self.progress("gpsfake: wait(%d)\n" % seconds) time.sleep(seconds) def gather(self, seconds): "Wait, doing nothing but watching for sentences." self.progress("gpsfake: gather(%d)\n" % seconds) #mark = time.time() time.sleep(seconds) def cleanup(self): "We're done, kill the daemon." self.progress("gpsfake: cleanup()\n") if self.daemon: self.daemon.kill() self.daemon = None def run(self): "Run the tests." try: self.progress("gpsfake: test loop begins\n") while self.daemon: # We have to read anything that gpsd might have tried # to send to the GPS here -- under OpenBSD the # TIOCDRAIN will hang, otherwise. for device in self.runqueue: if isinstance(device, FakeGPS): device.read() had_output = False chosen = self.choose() if isinstance(chosen, FakeGPS): if chosen.exhausted and (time.time() - chosen.exhausted > CLOSE_DELAY): self.gps_remove(chosen.byname) self.progress("gpsfake: GPS %s removed\n" % chosen.byname) elif not chosen.go_predicate(chosen.index, chosen): if chosen.exhausted == 0: chosen.exhausted = time.time() self.progress("gpsfake: GPS %s ran out of input\n" % chosen.byname) else: chosen.feed() elif isinstance(chosen, gps.gps): if chosen.enqueued: chosen.send(chosen.enqueued) chosen.enqueued = "" while chosen.waiting(): chosen.read() if chosen.valid & gps.PACKET_SET: self.reporter(chosen.response) had_output = True else: raise TestSessionError("test object of unknown type") if not self.writers and not had_output: self.progress("gpsfake: no writers and no output\n") break self.progress("gpsfake: test loop ends\n") finally: self.cleanup() # All knowledge about locks and threading is below this line, # except for the bare fact that self.threadlock is set to None # in the class init method. def append(self, obj): "Add a producer or consumer to the object list." if self.threadlock: self.threadlock.acquire() self.runqueue.append(obj) if isinstance(obj, FakeGPS): self.writers += 1 elif isinstance(obj, gps.gps): self.readers += 1 if self.threadlock: self.threadlock.release() def remove(self, obj): "Remove a producer or consumer from the object list." if self.threadlock: self.threadlock.acquire() self.runqueue.remove(obj) if isinstance(obj, FakeGPS): self.writers -= 1 elif isinstance(obj, gps.gps): self.readers -= 1 self.index = min(len(self.runqueue)-1, self.index) if self.threadlock: self.threadlock.release() def choose(self): "Atomically get the next object scheduled to do something." if self.threadlock: self.threadlock.acquire() chosen = self.index self.index += 1 self.index %= len(self.runqueue) if self.threadlock: self.threadlock.release() return self.runqueue[chosen] def initialize(self, client, commands): "Arrange for client to ship specified commands when it goes active." client.enqueued = "" if not self.threadlock: client.send(commands) else: client.enqueued = commands def start(self): self.threadlock = threading.Lock() threading.Thread(target=self.run) # End gpsd-3.9/gps/gps.py0000775000175000017500000003312711762140435012440 0ustar esresr#!/usr/bin/env python # -*- coding: utf-8 -*- # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # # gps.py -- Python interface to GPSD. # # This interface has a lot of historical cruft in it related to old # protocol, and was modeled on the C interface. It won't be thrown # away, but it's likely to be deprecated in favor of something more # Pythonic. # # The JSON parts of this (which will be reused by any new interface) # now live in a different module. # from client import * from misc import isotime NaN = float('nan') def isnan(x): return str(x) == 'nan' # Don't hand-hack this list, it's generated. ONLINE_SET = (1<<1) TIME_SET = (1<<2) TIMERR_SET = (1<<3) LATLON_SET = (1<<4) ALTITUDE_SET = (1<<5) SPEED_SET = (1<<6) TRACK_SET = (1<<7) CLIMB_SET = (1<<8) STATUS_SET = (1<<9) MODE_SET = (1<<10) DOP_SET = (1<<11) HERR_SET = (1<<12) VERR_SET = (1<<13) ATTITUDE_SET = (1<<14) SATELLITE_SET = (1<<15) SPEEDERR_SET = (1<<16) TRACKERR_SET = (1<<17) CLIMBERR_SET = (1<<18) DEVICE_SET = (1<<19) DEVICELIST_SET = (1<<20) DEVICEID_SET = (1<<21) RTCM2_SET = (1<<22) RTCM3_SET = (1<<23) AIS_SET = (1<<24) PACKET_SET = (1<<25) SUBFRAME_SET = (1<<26) GST_SET = (1<<27) VERSION_SET = (1<<28) POLICY_SET = (1<<29) ERROR_SET = (1<<30) UNION_SET = (RTCM2_SET|RTCM3_SET|SUBFRAME_SET|AIS_SET|VERSION_SET|DEVICELIST_SET|ERROR_SET|GST_SET) STATUS_NO_FIX = 0 STATUS_FIX = 1 STATUS_DGPS_FIX = 2 MODE_NO_FIX = 1 MODE_2D = 2 MODE_3D = 3 MAXCHANNELS = 20 SIGNAL_STRENGTH_UNKNOWN = NaN WATCH_NEWSTYLE = 0x010000 # force JSON streaming WATCH_OLDSTYLE = 0x020000 # force old-style streaming class gpsfix: def __init__(self): self.mode = MODE_NO_FIX self.time = NaN self.ept = NaN self.latitude = self.longitude = 0.0 self.epx = NaN self.epy = NaN self.altitude = NaN # Meters self.epv = NaN self.track = NaN # Degrees from true north self.speed = NaN # Knots self.climb = NaN # Meters per second self.epd = NaN self.eps = NaN self.epc = NaN class gpsdata: "Position, track, velocity and status information returned by a GPS." class satellite: def __init__(self, PRN, elevation, azimuth, ss, used=None): self.PRN = PRN self.elevation = elevation self.azimuth = azimuth self.ss = ss self.used = used def __repr__(self): return "PRN: %3d E: %3d Az: %3d Ss: %3d Used: %s" % ( self.PRN, self.elevation, self.azimuth, self.ss, "ny"[self.used] ) def __init__(self): # Initialize all data members self.online = 0 # NZ if GPS on, zero if not self.valid = 0 self.fix = gpsfix() self.status = STATUS_NO_FIX self.utc = "" self.satellites_used = 0 # Satellites used in last fix self.xdop = self.ydop = self.vdop = self.tdop = 0 self.pdop = self.hdop = self.gdop = 0.0 self.epe = 0.0 self.satellites = [] # satellite objects in view self.gps_id = None self.driver_mode = 0 self.baudrate = 0 self.stopbits = 0 self.cycle = 0 self.mincycle = 0 self.device = None self.devices = [] self.version = None def __repr__(self): st = "Time: %s (%s)\n" % (self.utc, self.fix.time) st += "Lat/Lon: %f %f\n" % (self.fix.latitude, self.fix.longitude) if isnan(self.fix.altitude): st += "Altitude: ?\n" else: st += "Altitude: %f\n" % (self.fix.altitude) if isnan(self.fix.speed): st += "Speed: ?\n" else: st += "Speed: %f\n" % (self.fix.speed) if isnan(self.fix.track): st += "Track: ?\n" else: st += "Track: %f\n" % (self.fix.track) st += "Status: STATUS_%s\n" % ("NO_FIX", "FIX", "DGPS_FIX")[self.status] st += "Mode: MODE_%s\n" % ("ZERO", "NO_FIX", "2D", "3D")[self.fix.mode] st += "Quality: %d p=%2.2f h=%2.2f v=%2.2f t=%2.2f g=%2.2f\n" % \ (self.satellites_used, self.pdop, self.hdop, self.vdop, self.tdop, self.gdop) st += "Y: %s satellites in view:\n" % len(self.satellites) for sat in self.satellites: st += " %r\n" % sat return st class gps(gpsdata, gpsjson): "Client interface to a running gpsd instance." def __init__(self, host="127.0.0.1", port=GPSD_PORT, verbose=0, mode=0): gpscommon.__init__(self, host, port, verbose) gpsdata.__init__(self) self.newstyle = False if mode: self.stream(mode) def __oldstyle_unpack(self, buf): # unpack a daemon response into the gps instance members self.fix.time = 0.0 fields = buf.strip().split(",") if fields[0] == "GPSD": for field in fields[1:]: if not field or field[1] != '=': continue cmd = field[0].upper() data = field[2:] if data[0] == "?": continue if cmd == 'F': self.device = data elif cmd == 'I': self.gps_id = data elif cmd == 'O': fields = data.split() if fields[0] == '?': self.fix.mode = MODE_NO_FIX else: def default(i, vbit=0, cnv=float): if fields[i] == '?': return NaN else: try: value = cnv(fields[i]) except ValueError: return NaN self.valid |= vbit return value # clear all valid bits that might be set again below self.valid &= ~( TIME_SET | TIMERR_SET | LATLON_SET | ALTITUDE_SET | HERR_SET | VERR_SET | TRACK_SET | SPEED_SET | CLIMB_SET | SPEEDERR_SET | CLIMBERR_SET | MODE_SET ) self.utc = fields[1] self.fix.time = default(1, TIME_SET) if not isnan(self.fix.time): self.utc = isotime(self.fix.time) self.fix.ept = default(2, TIMERR_SET) self.fix.latitude = default(3, LATLON_SET) self.fix.longitude = default(4) self.fix.altitude = default(5, ALTITUDE_SET) self.fix.epx = self.epy = default(6, HERR_SET) self.fix.epv = default(7, VERR_SET) self.fix.track = default(8, TRACK_SET) self.fix.speed = default(9, SPEED_SET) self.fix.climb = default(10, CLIMB_SET) self.fix.epd = default(11) self.fix.eps = default(12, SPEEDERR_SET) self.fix.epc = default(13, CLIMBERR_SET) if len(fields) > 14: self.fix.mode = default(14, MODE_SET, int) else: if self.valid & ALTITUDE_SET: self.fix.mode = MODE_2D else: self.fix.mode = MODE_3D self.valid |= MODE_SET elif cmd == 'X': self.online = float(data) self.valid |= ONLINE_SET elif cmd == 'Y': satellites = data.split(":") prefix = satellites.pop(0).split() d1 = int(prefix.pop()) newsats = [] for i in range(d1): newsats.append(gps.satellite(*map(int, satellites[i].split()))) self.satellites = newsats self.valid |= SATELLITE_SET def __oldstyle_shim(self): # The rest is backwards compatibility for the old interface def default(k, dflt, vbit=0): if k not in self.data.keys(): return dflt else: self.valid |= vbit return self.data[k] if self.data.get("class") == "VERSION": self.version = self.data elif self.data.get("class") == "DEVICE": self.valid = ONLINE_SET | DEVICE_SET self.path = self.data["path"] self.activated = default("activated", None) driver = default("driver", None, DEVICEID_SET) subtype = default("subtype", None, DEVICEID_SET) self.gps_id = driver if subtype: self.gps_id += " " + subtype self.driver_mode = default("native", 0) self.baudrate = default("bps", 0) self.serialmode = default("serialmode", "8N1") self.cycle = default("cycle", NaN) self.mincycle = default("mincycle", NaN) elif self.data.get("class") == "TPV": self.valid = ONLINE_SET self.utc = default("time", None, TIME_SET) if self.utc is not None: # Time can be either Unix time as a float or an ISO8601 string if type(self.fix.time) == type(0.0): self.fix.time = self.utc else: self.fix.time = isotime(self.utc.encode("ascii")) self.fix.ept = default("ept", NaN, TIMERR_SET) self.fix.latitude = default("lat", NaN, LATLON_SET) self.fix.longitude = default("lon", NaN) self.fix.altitude = default("alt", NaN, ALTITUDE_SET) self.fix.epx = default("epx", NaN, HERR_SET) self.fix.epy = default("epy", NaN, HERR_SET) self.fix.epv = default("epv", NaN, VERR_SET) self.fix.track = default("track", NaN, TRACK_SET) self.fix.speed = default("speed", NaN, SPEED_SET) self.fix.climb = default("climb", NaN, CLIMB_SET) self.fix.epd = default("epd", NaN) self.fix.eps = default("eps", NaN, SPEEDERR_SET) self.fix.epc = default("epc", NaN, CLIMBERR_SET) self.fix.mode = default("mode", 0, MODE_SET) elif self.data.get("class") == "SKY": for attrp in ("x", "y", "v", "h", "p", "g"): setattr(self, attrp+"dop", default(attrp+"dop", NaN, DOP_SET)) if "satellites" in self.data.keys(): self.satellites = [] for sat in self.data['satellites']: self.satellites.append(gps.satellite(PRN=sat['PRN'], elevation=sat['el'], azimuth=sat['az'], ss=sat['ss'], used=sat['used'])) self.satellites_used = 0 for sat in self.satellites: if sat.used: self.satellites_used += 1 self.valid = ONLINE_SET | SATELLITE_SET def read(self): "Read and interpret data from the daemon." status = gpscommon.read(self) if status <= 0: return status if self.response.startswith("{") and self.response.endswith("}\r\n"): self.unpack(self.response) self.__oldstyle_shim() self.newstyle = True self.valid |= PACKET_SET elif self.response.startswith("GPSD"): self.__oldstyle_unpack(self.response) self.valid |= PACKET_SET return 0 def next(self): if self.read() == -1: raise StopIteration if hasattr(self, "data"): return self.data else: return self.response def stream(self, flags=0, devpath=None): "Ask gpsd to stream reports at your client." if (flags & (WATCH_JSON|WATCH_OLDSTYLE|WATCH_NMEA|WATCH_RAW)) == 0: flags |= WATCH_JSON if flags & WATCH_DISABLE: if flags & WATCH_OLDSTYLE: arg = "w-" if flags & WATCH_NMEA: arg += 'r-' return self.send(arg) else: gpsjson.stream(self, ~flags, devpath) else: # flags & WATCH_ENABLE: if flags & WATCH_OLDSTYLE: arg = 'w+' if (flags & WATCH_NMEA): arg += 'r+' return self.send(arg) else: gpsjson.stream(self, flags, devpath) if __name__ == '__main__': import getopt, sys (options, arguments) = getopt.getopt(sys.argv[1:], "v") streaming = False verbose = False for (switch, val) in options: if switch == '-v': verbose = True if len(arguments) > 2: print 'Usage: gps.py [-v] [host [port]]' sys.exit(1) opts = { "verbose" : verbose } if len(arguments) > 0: opts["host"] = arguments[0] if len(arguments) > 1: opts["port"] = arguments[1] session = gps(**opts) session.stream(WATCH_ENABLE) try: for report in session: print report except KeyboardInterrupt: # Avoid garble on ^C print "" # gps.py ends here gpsd-3.9/gps/misc.py0000664000175000017500000000724111762140435012575 0ustar esresr# misc.py - miscellaneous geodesy and time functions # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. import time, calendar, math # some multipliers for interpreting GPS output METERS_TO_FEET = 3.2808399 # Meters to U.S./British feet METERS_TO_MILES = 0.00062137119 # Meters to miles METERS_TO_FATHOMS = 0.54680665 # Meters to fathoms KNOTS_TO_MPH = 1.1507794 # Knots to miles per hour KNOTS_TO_KPH = 1.852 # Knots to kilometers per hour KNOTS_TO_MPS = 0.51444444 # Knots to meters per second MPS_TO_KPH = 3.6 # Meters per second to klicks/hr MPS_TO_MPH = 2.2369363 # Meters/second to miles per hour MPS_TO_KNOTS = 1.9438445 # Meters per second to knots # EarthDistance code swiped from Kismet and corrected def Deg2Rad(x): "Degrees to radians." return x * (math.pi/180) def Rad2Deg(x): "Radians to degress." return x * (180/math.pi) def CalcRad(lat): "Radius of curvature in meters at specified latitude." a = 6378.137 e2 = 0.081082 * 0.081082 # the radius of curvature of an ellipsoidal Earth in the plane of a # meridian of latitude is given by # # R' = a * (1 - e^2) / (1 - e^2 * (sin(lat))^2)^(3/2) # # where a is the equatorial radius, # b is the polar radius, and # e is the eccentricity of the ellipsoid = sqrt(1 - b^2/a^2) # # a = 6378 km (3963 mi) Equatorial radius (surface to center distance) # b = 6356.752 km (3950 mi) Polar radius (surface to center distance) # e = 0.081082 Eccentricity sc = math.sin(Deg2Rad(lat)) x = a * (1.0 - e2) z = 1.0 - e2 * sc * sc y = pow(z, 1.5) r = x / y r = r * 1000.0 # Convert to meters return r def EarthDistance((lat1, lon1), (lat2, lon2)): "Distance in meters between two points specified in degrees." x1 = CalcRad(lat1) * math.cos(Deg2Rad(lon1)) * math.sin(Deg2Rad(90-lat1)) x2 = CalcRad(lat2) * math.cos(Deg2Rad(lon2)) * math.sin(Deg2Rad(90-lat2)) y1 = CalcRad(lat1) * math.sin(Deg2Rad(lon1)) * math.sin(Deg2Rad(90-lat1)) y2 = CalcRad(lat2) * math.sin(Deg2Rad(lon2)) * math.sin(Deg2Rad(90-lat2)) z1 = CalcRad(lat1) * math.cos(Deg2Rad(90-lat1)) z2 = CalcRad(lat2) * math.cos(Deg2Rad(90-lat2)) a = (x1*x2 + y1*y2 + z1*z2)/pow(CalcRad((lat1+lat2)/2), 2) # a should be in [1, -1] but can sometimes fall outside it by # a very small amount due to rounding errors in the preceding # calculations (this is prone to happen when the argument points # are very close together). Thus we constrain it here. if abs(a) > 1: a = 1 elif a < -1: a = -1 return CalcRad((lat1+lat2) / 2) * math.acos(a) def MeterOffset((lat1, lon1), (lat2, lon2)): "Return offset in meters of second arg from first." dx = EarthDistance((lat1, lon1), (lat1, lon2)) dy = EarthDistance((lat1, lon1), (lat2, lon1)) if lat1 < lat2: dy *= -1 if lon1 < lon2: dx *= -1 return (dx, dy) def isotime(s): "Convert timestamps in ISO8661 format to and from Unix time." if type(s) == type(1): return time.strftime("%Y-%m-%dT%H:%M:%S", time.gmtime(s)) elif type(s) == type(1.0): date = int(s) msec = s - date date = time.strftime("%Y-%m-%dT%H:%M:%S", time.gmtime(s)) return date + "." + repr(msec)[3:] elif type(s) == type("") or type(s) == type(u""): if s[-1] == "Z": s = s[:-1] if "." in s: (date, msec) = s.split(".") else: date = s msec = "0" # Note: no leap-second correction! return calendar.timegm(time.strptime(date, "%Y-%m-%dT%H:%M:%S")) + float("0." + msec) else: raise TypeError # End gpsd-3.9/gps_json.h0000664000175000017500000000372012022345475012471 0ustar esresr/* gps_json.h - JSON handling for libgps and gpsd * * By Eric S. Raymond, 2009 * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include "json.h" #define GPS_JSON_COMMAND_MAX 80 #define GPS_JSON_RESPONSE_MAX 4096 #ifdef __cplusplus extern "C" { #endif void json_data_report(const gps_mask_t, const struct gps_device_t *, const struct policy_t *, /*@out@*/char *, size_t); char *json_stringify(/*@out@*/char *, size_t, /*@in@*/const char *); void json_tpv_dump(const struct gps_device_t *, const struct policy_t *, /*@out@*/char *, size_t); void json_noise_dump(const struct gps_data_t *, /*@out@*/char *, size_t); void json_sky_dump(const struct gps_data_t *, /*@out@*/char *, size_t); void json_att_dump(const struct gps_data_t *, /*@out@*/char *, size_t); void json_subframe_dump(const struct gps_data_t *, /*@out@*/ char buf[], size_t); void json_device_dump(const struct gps_device_t *, /*@out@*/char *, size_t); void json_watch_dump(const struct policy_t *, /*@out@*/char *, size_t); int json_watch_read(const char *, /*@out@*/struct policy_t *, /*@null@*/const char **); int json_device_read(const char *, /*@out@*/struct devconfig_t *, /*@null@*/const char **); void json_version_dump(/*@out@*/char *, size_t); void json_aivdm_dump(const struct ais_t *, /*@null@*/const char *, bool, /*@out@*/char *, size_t); int json_rtcm2_read(const char *, char *, size_t, struct rtcm2_t *, /*@null@*/const char **); int json_ais_read(const char *, char *, size_t, struct ais_t *, /*@null@*/const char **); int libgps_json_unpack(const char *, struct gps_data_t *, /*@null@*/const char **); #ifdef __cplusplus } #endif /* these values don't matter in themselves, they just have to be out-of-band */ #define DEVDEFAULT_BPS 0 #define DEVDEFAULT_PARITY 'X' #define DEVDEFAULT_STOPBITS 3 #define DEVDEFAULT_NATIVE -1 /* gps_json.h ends here */ gpsd-3.9/gpscap.ini0000664000175000017500000020213312135527614012455 0ustar esresr# GPS capability description file # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # # Our apologies to all Unix hackers in advance for the grubby .INI syntax, # we're using it because the format has good cross-Unix support in Python. # # Each section may have the following capabilities # # type = "engine", "vendor", or "device" # date = date of submission # submitter = email of submitter, name may need quoting for RFC822 # description = Human-readable description of this item # packaging = A device's form factor # techdoc = URL to technical documentation, or at least a spec sheet # vendor_site = URL of a vendor site # vendor = vendor name # eval_unit = Which GPSD devs have one for testing (list) # engine = GPS chipset (may reference another section) # subtype = engine subtype or firmware revision level # interfaces = interface types: USB, RS-232, Bluetooth, CF, TTL, CAN. # May be a list. # usbchip = USB I/O chipset # pps = supports pulse-per-second precision time reporting # pps_accuracy = claimed PPS accracy # ntp_offset = NTP offset # configurable = can the device be bricked by speed changes? # tested = last gpsd tested, or "regression" if we have a test load # nmea = NMEA version this emits, if known # notes = Miscellaneous notes on this item. To be interpreted as HTML # rating = excellent, good, fair, poor, broken, other # discontinued = If True, product has been discontinued # # Capability strings: # # to_nmea = if present, how to switch to NMEA 0183 mode from native binary # to_native = if present, how to swith to native binary mode from NMEA # modeset = set protocol, baud rate, 8N1 # # Inheritance # # To inherit capabilities from a specified section, name the section in # a "uses =" attribute. Use chains are followed recursively. An attribute # in a section overrides all attributes of the same name in all ancestor # sections. # # Certain escapes in capability strings are translated: # # %b - baud rate as ASCII numeral # # A string beginning with 0x is interpreted as a sequence of paired hex bytes, # leading 0x not included. # # Comment lines led with "#%" are vendor section marks to be used when # generating an HTML table from this file. Each should consist of a vendor # name. # # Further notes: # * In the packaging feld, a "GPS mouse" is a standalone sensor in a # display-less case designed be used as an outbard peripheral. An # "OEM module" is an un-cased circuit board with edge connectors; a # "chipset" is what it sounds like. # A "handset" is a standalone GPS with a display and human-usable # controls. A "handsfree" is a hands-free unit with display designed for # mounting on a car windshield or boat dash. # * In the rating field: # "excellent" - gpsd recognizes the GPS rapidly and reliably, # reports are complete and correct. # "good" -- gpsd has minor problems or lag recognizing the device, # but reports are complete and correct. # "fair" -- Reports have minor dropouts or problems, including occasional # transient nonsense values. # "poor" -- Reports frequently have values that are wrong or nonsense. # "broken" -- gpsd frequently fails to recognize the device at all. # "other -- See Technical Notes. # # Chipsets # [GenericSiRF] type = engine description = Capabilities generic to all SiRF chips # Sets 4800 baud shipping GGA+GSA+GSV+RMC to_nmea = 0xa0a200188102010100000101050101010000000100010001000112c00000b0b3 to_native = $PSRF100,0,%b,8,1,0 # Sets 8N1 with specified speed [SiRF-1] type = engine description = Version 1 of the SiRF GPS engine engine = SiRF-1 nmea = 2.2 uses = GenericSiRF tested = 2.34 rating = good logs = uBlox-sirf1.log notes = uBlox-sirf1.log was made from a device with uBlox firmware and may not be typical of SirF-1 chips. [SiRF-2] type = engine description = Version 2 of the SiRF GPS engine engine = SiRF-2 # Later versions may do 2.3 nmea = 2.2 uses = GenericSiRF tested = 2.37 rating = good logs = bu303b-nofix.log, bu303-climbing.log, bu303-moving.log, bu303-nofix.log, bu303-stillfix.log, haicom-305N.log, holux-gm-210.log, pharos-360.log, tn200-all.log, tn200.log, tn204.log notes = The bu* logs are in native binary format; the Haicom, Holux, Pharos, and TripNav logs in NMEA. NMEA starts with GGA and ends with RMC. The tn204 NMEA looks remarkably like older Garmin cruft and may be emulating one, including the split reporting cycle. [SiRF-3] type = engine description = Version 3 of the SiRF GPS engine engine = SiRF-3 nmea = 3.01 uses = GenericSiRF rating = good logs = blumax-gps009.log, gpslim236.log, motorola-t805.log, rgm3800.log, et-332.log, tomtom-mkII.log notes = The Blumax log is in NMEA mode. Start of cycle is GGA, End of cycle is RMC. Some variants (like the Blumax) emit ZDA before GGA; others (like the GPSlim 1236, Motorola T805, RGM3800) do not. [MSB2122] type = engine engine = MSB2122 nmea = 2.3 rating = good techdoc = http://www.mstar-europe.com/products.php notes = Code-named "Poseidon 2", this appears to be a MIPS core. May ship with serious bugs that cause bogus fixes or hard crashes. [ANTARIS] type = engine engine = ANTARIS nmea = 2.3 rating = good techdoc = http://www.u-blox.com/products/tim_lp.html discontinued = True notes = The ANTARIS chipset has been end-of-lifed. [ANTARIS4] type = engine engine = ANTARIS4 techdoc = http://www.u-blox.com/products/a4products.html nmea = 2.3 rating = good notes = Sends 'E' in second field of GSA record, not an NMEA value. Actually sends '6' in the GGA rating record for dead-reckoning fixes. (This behavior reported on the 4H chipset.) logs = uBlox-lea-4h.log, uBlox-lea-4s.log, uBlox-lea-4t.log [LEA-5H] type = engine engine = LEA-5H nmea = 2.3 rating = good tested = 2.92 notes = Appears not to have the ANTARIS4 GSA quirk. logs = uBlox-lea-5h.log [FastraX iTrax03] type = engine techdoc = http://www.fastraxgps.com/products/gpsmodules/index.cfm?template=products.show.cfm&productGuid=4594da1a-503c-469c-91b2-6948043189be engine = FastraX iTrax03 rating = good logs = com-1289.log notes = Start of fix cycle is RMC, end is GGA (GSVs may come after). [Garmin] type = engine engine = Garmin description = There are several versions; the differences are not clear. techdoc = http://www.garmin.com/support/commProtocol.html rating = good [MTK] type = engine nmea = 3.01 engine = MTK rating = good techdoc = http://www.fastraxgps.cn/download/NMEA_manual_for_Fastrax_IT500_Series_GPS_receivers.pdf notes = We have seen two versions of this, the MTK3301 and MTK3329. The technical-documentation link describes the 3329, but we think the 3301 is compatible for GPSD purposes. [Nemerix] type = engine engine = Nemerix nmea = 3.01 rating = good notes = NemeriX has gone into liquidation as of Jan 2009). It's funny, they didn't understand why they should give me an unencumbered protocol techdoc. [NovAtel-L1] type = engine engine = NovAtel-L1 techdoc = http://www.novatel.com/Documents/Manuals/om-20000086.pdf nmea = 2.20 rating = good notes = Seems to be built around the Zarlink GP4020. [Pilot Plug] type = engine engine = Pilot Plug rating = good [Sony CXD2951] type = engine techdoc = http://gpsd.googlecode.com/files/cxd2951-commands.pdf engine = Sony CXD2951 rating = good [Touchstone ASIC] type = engine engine = Touchstone ASIC rating = good techdoc = http://www.navcomtech.com/Products/GPS/Touchstone.cfm [uNav] type = engine engine = uN3010 nmea = 3.01 notes = uNav was acquired by Atheros in 2007. They have inherited one GPS product, now designated uN3010. rating = good [Zodiac] type = engine engine = Zodiac nmea = 2.2 tested = 2.0 techdoc = http://www.gpskit.nl/downloads-en.htm notes = This chip was made by Rockwell International. It was also known as the Jupiter. It has been EOLed. rating = good logs = zodiac.log [BD960] type = engine engine = BD960 nmea = 3.0? tested = 2.39 notes = Spec sheet says it emits GSV, AVR, RMC, HDT, VGK, VHD, GGLK, GGA, GSA, ZDA, VTG, GST, and PIT in NMEA mode. Many of these are nonstandard. Also says: "JK and Binary: Trimble GSOF". Other web sources say it has RTK capability. rating = good [Skytraq Venus 6] type = engine nmea = 3.01 rating = good tested = 2.90 [STA8088] type = engine nmea = 2.2 rating = good tested = 3.7 notes = From ST Microelectronics [UBLOX NEO-5Q] type = engine nmea = 2.3 rating = good tested = 2.39 notes = Supports WAAS. [SE4100L] type = engine nmea = 3.01 rating = fair notes = Does not handle dates after the 10-bit GPS week rollover in 2019 well. logs = gp-320fw-2019-03-28.log, gp-320fw-2019-03-28.log-overflow, gp-320fw-2019-03-28.log-coldboot # # Vendors (alphabetical by vendor) # [Altina] type = vendor vendor_site = http://www.altina.com [Adapt Mobile] type = vendor vendor_site = http://www.adapt-mobile.com> [Axiom] type = vendor vendor_site = http://code.google.com/p/gpsd/downloads/detail?name=SiRF-Axiom.pdf&can=2&q= [Billionton] type = vendor vendor_site = http://www.billionton.com/english/index.htm [Bluenext] type = vendor vendor_site = http://www.bluenext.co.uk/ [Canmore] type = vendor vendor_site = http://www.canmore.com.tw/ [Columbus] type = vendor vendor_site = http://www.columbus-gps.de/ [Central Pacific] type = vendor vendor_site = http://www.cpit.com [Delorme] type = vendor vendor_site = http://www.delorme.com [Digital Yacht] type = vendor vendor_site = http://digitalyacht.mesltd.co.uk/ [Eurotech] type = vendor vendor_site = http://www.eurotech-inc.com/ [Fastrax] type = vendor vendor_site = http://www.fastraxgps.com/ [EuroTronics] type = vendor vendor_site = http://www.eurotronic.net/ [Garmin] type = vendor vendor_site = http://www.garmin.com [Geostar] type = vendor vendor_site = http://www.geostar-navigation.com [GlobalSat] type = vendor vendor_site = http://www.globalsat.com.tw/ [Haicom] type = vendor vendor_site = http://www.haicom.com.tw/ [Holux] type = vendor vendor_site = http://www.holux.com [Humminbird] type = vendor vendor_site = http://www.humminbird.com/ notes = These guys make fish-finders that incorporate GPSes [iTrek] type = vendor vendor_site = http://www.i-trek.jp [Jackson Labs] type = vendor vendor_site = http://jackson-labs.com/ [LyconSys] type = vendor vendor_site = http://www.lyconsys.com/ [Magellan] type = vendor vendor_site = http://www.magellangps.com notes = Now owns what used to be the Thales and Asht product lines [Motorola] type = vendor vendor_site = http://www.motorola.com/ies/GPS/products_legacy.html notes = Motorola has exited the GPS business. The OnCore line of GPSes is now sold by Synergy Systems LLC [Navcom] type = vendor vendor_site = http://www.navcomtech.com/ [Navis Engineering Bureau] type = vendor vendor_site = http://www.navis.ru/ [Navisys] type = vendor vendor_site = http://www.navisys.com.tw/ [Navius] type = vendor vendor_site = http://www.navius.biz/ notes = This vendor has also traded as "Navisky". [NaviLock] type = vendor vendor_site = http://www.navilock.de [Navisys] type = vendor vendor_site = http://www.navisys.com.tw/ [NavMan] type = vendor vendor_site = http://www.navmanwirelessoem.com/ [Nokia] type = vendor vendor_site = http://www.nokia.com/ [NovAtel] type = vendor vendor_site = http://www.novatel.com/ [Parrot] type = vendor vendor_site = http://www.parrot.biz [Pharos] type = vendor vendor_site = http://www.pharosgps.co/ [Phonix] type=vendor vendor_site = http://www.phonix.it/ [Qstarz] type=vendor vendor_site = http://www.qstarz.com/ [RF Solutions] type = vendor vendor_site = http://www.rfsolutions.co.uk [Rikaline] type = vendor vendor_site = http://www.rikaline.com [Royaltek] type = vendor vendor_site = http://www.royaltek.com/ [Saab] type = vendor vendor_site = http://www.saabgroup.com/ [San Jose Navigation] type = vendor vendor_site = http://www.sanav.com [Sejat] type = vendor vendor_site = http://sejats.blogspot.com/ [SkyTraq] type = vendor vendor_site = http://www.skytraq.com.tw/ [Telit] type = vendor vendor_site = http://www.telit.com/ [Transystem] type = vendor vendor_site = http://www.transystem.com.tw/ [Techway] type = vendor vendor_site = http://www.techwayinc.com.tw/ notes = This vendor has dropped off the web [TomTom] type = vendor vendor_site = http://www.tomtom.com [Trimble] type = vendor vendor_site = http://www.trimble.com/ [uBlox] type = vendor vendor_site = http://www.u-blox.de/ [UniTraq] type = vendor vendor_site = http://www.unitraq.com/ [Variotek] type = vendor vendor_site = http://variotek.de/ [Wintec] type = vendor vendor_site = http://www.wintec.com.tw/ # # Devices (alphabetical by vendor) # #% Altina [GBT709] type = device vendor = Altina packaging = handset techdoc = http://www.altina.com/produkty.php?destCatId=&mainCatId=13&subCatId=&prId=19 interfaces = Bluetooth configurable = insane tested = 2.35 uses = SiRF-3 submitter = Benoit Panizzon notes = Requires the "-b" flag to prevent mode switching. If the receiver locks up due to a mode switch, remove the battery for 5 to 10 minutes. #% Adapt Mobile [AD-500] type = device vendor = Adapt Mobile packaging = mouse techdoc = http://adapt-mobile.bosqom.com/default.php?page_ID=3&spage_ID=1 uses = Nemerix interfaces = Bluetooth, USB usbchip = pl2303 tested = 2.32 submitter = Dennis van Zuijlekom . discontinued = True #% Axiom [Sandpiper] type = device vendor = Axiom packaging = OEM module techdoc = http://code.google.com/p/gpsd/downloads/detail?name=SiRF-Axiom.pdf&can=2&q= uses = SiRF-1 interfaces = RS-232 tested = 2.34 pps = True notes = The vendor is out of business, but there are lots of these still around in 2006. Complete documentation for this OEM module has been archived at the GPSD site. #% Billionton [Billionton CF-GPS] type = device vendor = Billionton packaging = mouse techdoc = http://www.billionton.com/english/product/CF-GPS.htm uses = SiRF-2 interfaces = CF tested = 2.16 submitter = Oleg Gusev . notes = Uses SiRF firmware version 220.006.000ES. Accepts WAAS Mode Disable ($PSRF108,00*02) and WAAS Mode Enable ($PSRF108,01*03) controls. #%Bluenext [BN-901S] type = device engine = Skytraq Venus 6 date = 2010-06-10 location = model = BN-901S packaging = mouse interfaces = Bluetooth rating = excellent submitter = Andrew Gray techdoc =http://www.bluenext.co.uk/customer-support/downloads/doc_download/34-bluenext-bn-901s-gps-receiver.html tested = 2.39 vendor = Bluenext notes = Device reports protocol as "Generic NMEA" without a version number. Purchased retail (30GBP) to work with a Nokia 5233 - which is does well. Best performing GPS receiver I have seen - fast fix and robust against obstructions to sky view. logs = bn-9015.log #% Canmore [GT-730F] type = device engine = SKYTRAK interfaces = USB nmea = 3.01 packaging = mouse rating = good submitter = Rene Warren techdoc = http://www.canmore.com.tw/pdf/English%20user%20manual_GT-730F_L.pdf tested = 2.33 vendor = Canmore notes = #% Columbus [V900] type = device uses = MTK interfaces = Bluetooth model = V900 packaging = mouse rating = fair submitter = Konstantin Ristl techdoc = http://www.columbus-gps.de/v-900_support.php tested = 2.38 vendor = Columbus notes = Device is also a GPS-Logger #% Central Pacific [CPIT GP-27] type = device vendor = Central Pacific packaging = mouse techdoc = http://www.cpit.com/en/GP-27.html uses = Nemerix interfaces = Bluetooth tested = 2.28 configurable = insane submitter = Tobias Minich notes =
  • There are proprietary PNMRX{30[0124],603} sentences that are only sent on change or by request
  • Several sentences can be sent to the device to change settings or request information. DO NOT USE THE PNMRX100 SENTENCE TO CHANGE THE BAUD RATE! This is not supported by the bluetooth chip on the device.
  • Settings are saved in flash powered by a backup battery and persistent over connections and when you turn it off.
  • The syntax of the PNMRX303 message and part 4 of the PNMRX603 message may differ from the syntax found in several documents on the net.
#% Delorme [EarthMate USB] type = device vendor = Delorme packaging = mouse techdoc = http://www.delorme.com/earthmate/default.asp uses = SiRF-2 interfaces = USB usbchip = Cypress M8 CY7C64013 tested = 2.5 discontinued = True notes = This was the replacement for the old Zodiac version that spoke Rockwell binary protocol; it in turn has been discontinued. Some other sentences can be enabled. Requires a 2.6.10 or better kernel for the Cypress USB-HID support. [EarthMate] type = device vendor = Delorme packaging = mouse uses = Zodiac interfaces = RS-232 discontinued = True rating = good notes = This device was supported by GPSD up to release 2.96, but some bug introduced after that interfered with it until support was restored after 3.6. [TripMate] type = device vendor = Delorme packaging = mouse techdoc = http://vancouver-webpages.com/peter/tripmate.faq uses = Zodiac interfaces = RS-232 discontinued = True notes = Discontinued sometime before November 1998. #% Digital Yacht [AIT250] type = device vendor = Digital Yacht engine = unknown packaging = handsfree techdoc = http://www.yachtronics.com/yachtronics/manuals/DIGITAL%20YACHT%20AIT250%20OPERATION.pdf interfaces = RS-232 discontinued = False tested = regression rating = good submitter = Jan Veninga notes = Both a Class B AIS transceiver and a GPS. logs = ait250.log #% Eurotech [Com-1289] type = device vendor = Eurotech packaging = OEM module techdoc = http://www.eurotech.fi/products/COM-1289.html engine = FastraX iTrax03 interfaces = RS-232 tested = regression rating = good submitter = Simon Le Pape #% EuroTronics [Blumax GPS009] type = device vendor = EuroTronics packaging = mouse techdoc = http://www.eurotronic.net/products/produktdetails/gps_receiver.html uses = SiRF-3 interfaces = Bluetooth configurable = insane tested = regression submitter = Hartmut Holzgraefe notes = Requires "-b" ... I had to totally drain the battery of the device and let it rest for a few days before i was able to use it again after a first attempt of using it with without "-b" #% Fastrax [IT520U] type = device vendor = Fastrax engine = MTK packaging = OEM module techdoc = http://www.fastraxgps.com/showfile.cfm?guid=5861a92d-2628-4c8b-9621-058a3435edb5 date = 2011-02-21 firmware = AXN_1.30,0145,Fastrax IT500 interfaces = USB location = Kamp Lintfort, DE, 51deg 29min N, 6deg 32min E model = IT520 rating = good submitter = Kai Scharwies tested = 2.95 logs = mtk-3329.log #% Garmin [Foretrex 201] type = device engine = SiRF-3 date = 2010-08-26 interfaces = RS-232 location = Ulb?lle, DK, 55.04N 10.25E model = Foretrex 201 nmea = 3.0 notes = This device is not a conventional handfrtee unut for a car; it looks like a bulky wristwatch and is meant for bicycle handlebars. It must be set to NMEA output in the settings->interface page. packaging = handset rating = excellent submitter = Anders Lund techdoc = http://www.garmin.com/manuals/Foretrex201_OwnersManual.pdf tested = 2.95 vendor = Garmin discontinued = True logs = foretrex-201.log [Garmin GPS 10x] type = device chipset = SiRFstarIII date = 2010-07-18 model = GPS 10x nmea = 2.0 and 2.30 interfaces = Bluetooth packaging = mouse rating = excellent submitter = David Ludlow techdoc = http://www.garmin.com/manuals/GarminMobile10forlaptops_PDAs_TechnicalSpecifications.pdf tested = 2.95 vendor = Garmin uses = Garmin logs = garmin-10x.log [Garmin GPS-15] type = device packaging = OEM module vendor = Garmin techdoc = http://www.garmin.com/products/gps15/spec.html uses = Garmin interfaces = RS-232 tested = 2.33 nmea = 2.0 pps = True submitter = Jason Hecker notes = "$PGRMI,,,,,,,R" must be sent to reset the device before PPS works; after about 5 minutes the PPS signal is detected properly by GPSD. [Garmin GPS-16] type = device packaging = mouse vendor = Garmin techdoc = http://www.garmin.com/products/gps16/spec.html uses = Garmin interfaces = RS-232 tested = 2.38 nmea = 2.0 submitter = Reported by Ron Marosko, Jr. , Amaury Jacquot , Jeff Francis notes = DGPS information in GPGGA sentence is not returned. Satellite azimuths/elevations and magnetic variation information are not available in binary mode. Garmin uses a nonstandard 16-bit SNR scale for signal quality in GSA. Can be switched to NMEA 3.0 with PGRMC1. . [Garmin GPS-17N] type = device packaging = mouse vendor = Garmin techdoc = http://www.garmin.com/products/gps17/spec.html uses = Garmin interfaces = RS-232 tested = regression nmea = 2.0 or 3.0 submitter = Wojciech Kazubski . notes = The 17N has been discontinued and replaced by the 17HVS. The interface was RS-232 but used a custom RJ-45 jack. logs = garmin17n.log [Garmin GPS-17HVS] type = device vendor = Garmin packaging = mouse techdoc = https://buy.garmin.com/shop/shop.do?cID=158&pID=8630 engine = unknown interfaces = RS-232 tested = 2.37 rating = good nmea = 2.0 or 3.0 notes = Reported by Ulrich Voigt (no email address) [Garmin GPS-18 USB] interfaces = USB nmea = N/A packaging = mouse submitter = Gary E. Miller techdoc = http://www.garmin.com/manuals/GPS18_TechnicalSpecification.pdf tested = 2.38 type = device uses = Garmin vendor = Garmin notes = The USB version requires the Linux kernel garmin_usb driver. usbfs is not required after gpsd version 2.39. DOP (Dilution of Precision) information is not available (Garmin protocol includes EPE only); gpsd uses EPE to approximate DOP. Magnetic variation information is not available. Garmin uses a nonstandard 16-bit SNR scale. The 18 series, unlike the 16, reports skyview via a packet 114. They will not operate indoors and require a good sky view. [Garmin GPS-18 (all but USB)] interfaces = RS-232 nmea = 2.0 and 2.3 packaging = mouse pps = True pps_accuracy = 1us ntp_offset = 0.125s submitter = Gary E. Miller techdoc = http://www.garmin.com/manuals/GPS18_TechnicalSpecification.pdf tested = 2.5 type = device uses = Garmin vendor = Garmin notes = The RS-232 versions can emit NMEA and are found by normal autoconfiguration. GPS-18 LVC and GPS-18 LVC/5m have PPS outputs. WAAS is supported. The 18 series, unlike the 16, reports skyview via a packet 114. They will not operate indoors and require a good sky view. NTP offset quoted is at 19200bps; drops to 0.525 at 4800bps. [GPS-25LP] type = device packaging = OEM module vendor = Garmin techdoc = http://www8.garmin.com/products/gps25/spec.html uses = Garmin interfaces = RS-232 nmea = 2.0 tested = regression discontinued = True submitter = Daniele Giangrazi notes = Discontinued embedded module. logs = garmin25lp.log [Garmin 38] type = device vendor = Garmin packaging = handset techdoc = http://au.geocities.com/glennbaddeley/gps/data/GPS38_OwnersManualAndTechdoc_June1997_RevB.pdf uses = Garmin interfaces = RS-232 rating = excellent tested = regression nmea = 2.0 discontinued = True submitter = Pascal F. Martin notes = Start-of-cycle is RMC. 2-second cycle time, 1 fix per cycle. logs = garmin38.log [Garmin 48] type = device vendor = Garmin packaging = handset techdoc = https://buy.garmin.com/shop/shop.do?pID=85 uses = Garmin interfaces = RS-232 nmea = 2.0 discontinued = True rating = excellent tested = regression notes = Start-of-cycle is RMC. 2-second cycle time, 2 fixes per cycle, GLL reports second fix. The 48 has been discontinued. The Garmin 12XL and 45 are nearly identical and should work as well. Details on the Garmin proprietary protocol can be found at here. [Garmin GPS 60] type = device vendor = Garmin packaging = handset techdoc = http://www.garmin.com/manuals/GPS60_OwnersManual.pdf uses = Garmin interfaces = USB, RS-232 tested = 2.33 nmea = 3.01 submitter = Diego Berge [Garmin GPS 76] type = device vendor = Garmin packaging = handset techdoc = http://www.garmin.com/manuals/GPS76_OwnersManual.pdf uses = Garmin interfaces = RS-232 tested = 2.39 nmea = 2.3 submitter = Sebastian Niehaus , Geoff Childs notes = The device has a four pin socket described by Garmin as a serial interface. Connection to a standard 9 pin RS-232 computer socket is made using the special adaptor lead supplied by Garmin. Sebastian Niehaus says it annunces "Software Version 3.70". Geoff Childs adds: "The Garmin GPS 76 comms MUST be set to 'NMEA'. The kernel module garmin_gps is not needed and should not be specially loaded." [Geko 201] type = device vendor = Garmin packaging = handset techdoc = http://www.garmin.com/manuals/Geko201_OwnersManual.pdf uses = Garmin interfaces = RS-232 tested = regression nmea = 3.0 submitter = Jose Luis Domingo Lopez notes = logs = garmin-geko201.log [eTrex Vista] type = device vendor = Garmin packaging = handset techdoc = http://www.garmin.com/manuals/eTrexVista_OwnersManual.pdf uses = Garmin interfaces = RS-232 tested = 2.32 nmea = 3.0 submitter = Reed Hedges notes = [Nuvi 650] type = device vendor = Garmin packaging = handsfree techdoc = http://www.garmin.com/manuals/nuvi650_OwnersManual.pdf uses = SiRF-3 interfaces = USB tested = * nmea = 3.0 rating = broken notes = This device does not have real-time data output, and is incompatible with GPSD. [GPSmap 76S] type = device vendor = Garmin engine = unknown packaging = handset rating = other techdoc = http://www8.garmin.com/manuals/GPSMAP76S_OwnersManual.pdf tested = 2.94 nmea = 2.3 date = 2011-10-24 interfaces = USB submitter = Brad Skillman model = GPSmap 76S notes = When the GPSmap 76S is placed into simulator mode, for some unknown reason, both the xgps and cgps clients display "n/a" in the time field. However, the lat., long., and altitude fields are being displayed correctly. Using gpspipe -r is appears that the $GPGLL message is sending out the UTC time in the HHMMSS format (Note: There are no fractional seconds being generated) logs = GPSmap-76S [Montana 650t] type = device packaging = handheld interfaces = USB submitter = Richard Allen vendor = Garmin techdoc = http://static.garmincdn.com/pumac/Montana_600_OM_EN.pdf chipset = STA2065 engine = unknown rating = good tested = 3.6 #% Geostar Navigation [GeoS-1M] type = device date = 2010-07-09 location = Minsk, Belarus, 53N 27E model = GeoS-1M engine = custom interfaces = TTL nmea = 3.01 packaging = OEM module rating = good sample_notes = NMEA output for a few minutes after power up. submitter = Viktar Palstsiuk techdoc = http://geostar-navigation.com/fail/manuals/User_Manual_GeoS-1M_en.pdf tested = 2.90 vendor = Geostar notes = GeoS-1M is the combined GPS/GLONASS OEM receiver board. Its architecture includes 24 tracking channels. logs = geos-1m.log #% GlobalSat [BC-307] type = device vendor = GlobalSat packaging = mouse techdoc = http://www.usglobalsat.com/item.asp?itemid=12 uses = SiRF-2 interfaces = CF tested = 2.35 nmea = 2.2 submitter = Chris Kuethe . notes = Acceptably functional running firmware 231ES. [BT-318] type = device vendor = GlobalSat packaging = mouse techdoc = http://www.globalsat.com.tw/english/products_detail.php?main_id=21&p_id=107 uses = SiRF-2 interfaces = Bluetooth tested = 2.20 nmea = 2.2 submitter = Frank Nicholas [BT-338] type = device vendor = GlobalSat packaging = mouse techdoc = http://www.usglobalsat.com/item.asp?itemid=6 uses = SiRF-3 interfaces = Bluetooth tested = 2.13 submitter = Michal Panczyk [BU-303] type = device vendor = GlobalSat packaging = mouse techdoc = http://www.usglobalsat.com/item.asp?itemid=11&catid=13 uses = SiRF-2 interfaces = USB usbchip = pl2303 tested = regression rating = excellent eval_unit = esr nmea = 2.2 notes = Older versions of the BU-303 had a design defect that made it likely to fail if subjected to vibration or hard shocks. [BU-353] type = device vendor = GlobalSat packaging = mouse techdoc = http://www.usglobalsat.com/item.asp?itemid=60&catid=17 uses = SiRF-3 interfaces = USB usbchip = pl2303 tested = pre-2.29 nmea = 2.3 notes = This receiver does not support PPS timing output. Some versions of firmware do not support WAAS, though updates may be available for a fee from GlobalSat. [BT-359] vendor = GlobalSat uses = SiRF-3 interfaces = Bluetooth nmea = 2.2 packaging = mouse rating = excellent submitter = Patrick Forristal techdoc = http://www.globalsat.com.tw/eng/support_check.php?check_id=126&checkType=Manual tested = 2.37 [ET-332 Engine Board] type = device engine = SiRF-3 firmware = unknown model = ET-322 Engine Board interfaces = TTL notes = This is an OEM module but it is available in small quantities. logs = et-332.log packaging = OEM module rating = good submitter = Val Schmidt techdoc =http://www.globalsat.com.tw/products-page.php?menu=2&gs_en_product_id=4&gs_en_product_cnt_id=44&img_id=110&product_cnt_folder=4 vendor = GlobalSat [ND-100S] type = device engine = SiRF-3 date = 2011-03-14 interfaces = USB model = ND-100S notes = SirfDemo can be used to configure the product. packaging = mouse rating = excellent submitter = George E Farmer techdoc = http://www.usglobalsat.com/store/download/590/nd100s_v1.0-manual.pdf tested = 2.95 vendor = GlobalSat logs = nd-1005.log [MR-350P] date = 2010-02-03 interfaces = RS-232 nmea = 3.01 packaging = mouse pps = True pps_accuracy = 50ns ntp_offset = ? rating = excellent submitter = Gary E. Miller , Tony Hain techdoc = http://www.usglobalsat.com/p-58-mr-350p-bulkhead.aspx tested = 3.3 type = device uses = SiRF-3 vendor = GlobalSat notes = May work inside wood frame buildings. PPS pulse is only 1uS wide, but newer gpsd handles that fine. Be careful, there is also an MR-350 (no suffix P) that does NOT have PPS. logs = mr-350p [TripNav TN-200] type = device vendor = GlobalSat packaging = mouse techdoc = http://www.usglobalsat.com/item.asp?itemid=45&catid=13 uses = SiRF-2 interfaces = USB usbchip = FTDI FT232 tested = regression rating = excellent notes = We tested a version with SiRF Firmware level 231ES. The FTDI USB-to-serial chip is supported only as alpha software not yet incorporated into the Linux kernel, though it seems to be well supported by OS X and various BSDs. It seems like the only difference between this and the BU-303 is the different USB-to-serial chip. [TripNav TN-204] type = device vendor = GlobalSat packaging = mouse uses = SiRF-2 interfaces = CF tested = regression rating = excellent submitter = Pascal F. Martin notes = Sometimes sold under the brand name "Rayming", but that vendor seems to have disappeared. Chipset said ton be SiRF 2 but the output looks more like old Garmin GPSes. [ND100] type = device uses = MSB2122 interfaces = USB usbchip = pl2303 nmea = 3.0 packaging = mouse rating = excellent submitter = Arnaud Le Meur techdoc = http://www.globalsat.com.tw/eng/product_detail_00000124.htm tested = 2.38 vendor = GlobalSat notes = May ship with broken firmware that incorrectly reports the current year (2009) as 1953. A firmware update is available to resolve this issue. #% Haicom [HI-204S] type = device vendor = Haicom packaging = mouse techdoc = http://www.haicom.com.tw/products.htm uses = SiRF-2 interfaces = USB usbchip = pl2303 tested = 2.24 rating = excellent eval_unit = esr nmea = 2.2 notes = SiRF firmware level 231ES (XTrac). Haicom provided a test unit. Manual states incorrectly that VTG is off by default. [HI-204E] type = device vendor = Haicom packaging = mouse techdoc = http://www.haicom.com.tw/gps204E.shtml engine = Evermore BBP1202 interfaces = USB tested = 2.6 rating = excellent nmea = 2.2 notes = Probably uses PL2303 but we have not verified this. [HI-303S] type = device vendor = Haicom packaging = handsfree techdoc = http://www.haicom.com.tw/gps303s.shtml uses = SiRF-3 interfaces = RS-232 tested = 2.25 nmea = 2.2 submitter = Denis Perchine discontinued = True notes = NMEA works, but SiRF binary does not. This device seems to ignore the $PSRF100 mode switch command. (SiRF binary may be available on the auxiliary serial port, but this is unconfirmed.) This device ships with XTrac Firmware. [HI-305N] type = device vendor = Haicom packaging = mouse techdoc = http://www.haicom.com.tw/ uses = Nemerix interfaces = CF tested = regression discontinued = True submitter = David Findlay notes = Adaptors for RS-232, USB, and Bluetooth operation are available. #% Holux [GM-210] type = device vendor = Holux packaging = mouse techdoc = http://www.amazon.com/Holux-GM-210-Receiver-Laptop-Pocket/dp/B0006ZMBTW uses = SiRF-2 interfaces = RS-232 tested = regression nmea = 2.2 discontinued = True submitter = Patrick L. McGillan . [GR-230] type = device vendor = Holux packaging = mouse techdoc = http://www.holux.com.tw/Temp%20web/GR-230.html uses = SiRF-2 interfaces = Bluetooth configurable = insane tested = 2.19 nmea = 2.2 discontinued = True notes = 4 color LED showing: Bluetooth, Navigation Update and Battery and Charger Rating Indication. FLASH based program memory. Firmware upgradeable through serial interface. Water resistant. [GPSlim 236] type = device vendor = Holux packaging = mouse techdoc = http://en.holux.com.cn/product/search.htm?filename=gpsreceiver_bluetooth_gpslim2+36.htm&target=bluetooth00&level=grandsonson uses = SiRF-3 interfaces = Bluetooth tested = regression rating = poor nmea = 2.2 submitter = Kévin Redon notes = Does not report altitude reliably. Optional interfaces: mini-USB -> USB, needing a special cable : GR230-A2 (USB data cable), otherwise it will not work; mini-USB -> RS-232, need cable GR230-A1(RS-232 data cable), I didn't try it with a normal cable; mini-USB -> PS2, need cable GR230-A3 (Mini USB port to PS2 port ), I didn't try it with a normal cable. [Holux GR-239] type = device vendor = Holux packaging = mouse techdoc = http://www.holux.com/JCore/en/support/DLF.jsp?DLU=http://www1.holux.com.tw:8080/JCore/UploadFile/79754.pdf uses = SiRF-3 interfaces = Bluetooth, USB configurable = insane tested = 2.36 rating = poor nmea = 2.2 notes = Bluetooth operation requires -b option. Powered from a car cigarette-lighter. [M-241] type = device vendor = Holux packaging = mouse techdoc = http://www.holux.com/JCore/en/products/products_content.jsp?pno=341 uses = MTK interfaces = Bluetooth, USB usbchip = CP2101 configurable = insane tested = 2.37 btglitch = yes submitter = Roland Ager notes = gpsd crashes the device when autoprobing @ baud rate 9600 (unless '-b'/broken-device-safety is enabled - need to unplug/reset the device). 'stty -F /dev/ttyUSB1 ispeed 38400' helps avoiding too much autoprobing - though stty complains about not being able to perform all requested operations. #% Humminbird [Matrix-37] type = device vendor = Humminbird packaging = handsfree techdoc = http://www.retrevo.com/support/Humminbird-37-GPS-manual/ engine = unknown interfaces = RS-232 discontinued = True tested = regression rating = good submitter = Carl Brown notes = Depth finder and water-temperature sensor. logs = humminbird-M37.log #% iTrek [M3] type = device vendor = iTrek packaging = mouse techdoc = http://www.semsons.com/im3blgpsresi.html uses = SiRF-3 interfaces = Bluetooth tested = 2.28 submitter = Lance Fetters notes = The product page points at a retail site carrying these because the vendor site is in Japanese only. This GPS emits a weirdly broken GSA sentence that crashed gpsd versions prior to 2.28. Serial parameters default to 38400; 8, N, 1. May come bundled with Microsoft Streets and Trips. logs = iTrek.log #% Jackson Labs [Firefly-1a] type = device engine = UBLOX NEO-5Q firmware = 0.918 interfaces = RS-232 pps = True pps_accuracy = 50ns packaging = OEM module rating = excellent submitter = Don Weeks , Said Jackson techdoc = http://jackson-labs.com/docs/FireFly_quickstart.pdf vendor = Jackson Labs notes = Only outputs GGA and RMC NMEA strings. There are other proprietary commands. See the gpsd-dev list for patches. GPSD works as far back as the 0.914 version, which emitted \r\r\n terminations. All the FireFly units are OCXO driven, so the 1PPS output stays accurate even if GPS reception is lost. [FireFly-II] type = device engine = UBLOX NEO-5Q date = 2010-07-07 firmware = 2.18 interfaces = RS-232 pps = True pps_accuracy = 50ns ntp_offset = ? model = FireFly-1A and FireFly-II GPSDO notes = Uses uBlox Antaris 5 with Kick Start and Super Sense, soon movingto uBlox-6. Defective \r\r\n string terminations have been fixed in the 2.18 firmware version. All the FireFly units are OCXO driven, so the 1PPS output stays accurate even if GPS reception is lost. packaging = OEM module rating = good sample_notes = Stationary state, roof-mounted antenna, three levels of GPS distribution Amplifier between antenna and receiver. submitter = Said Jackson techdoc = http://www.jackson-labs.com/docs/Quickstart_FireFly_IIA_FW-rev_2.x.pdf vendor = Jackson Labs #% LyconSys [GPSMOD1] type = device engine = ANTARIS5 firmware = ROM CORE 4.00 (25682) interfaces = USB model = GPSMOD1 nmea = 2.3 packaging = mouse rating = excellent submitter = info@lyconsys.com techdoc = http://www.lyconsys.com/produkte/gps-emfanger-lyconsys-gpsmod1.htm tested = 2.95 vendor = LyconSys #% Magellan [EC-10X] type = device vendor = Magellan packaging = handset techdoc = http://www.herman-nelson.com/itemInfo.cfm?itemID=205 uses = Zodiac interfaces = RS-232 pps = True tested = regression discontinued = True submitter = Gary E. Miller notes = It was cool in its day, now a dinosaur mainly good for regression testing. NMEA time is accurate to about 500mS. Start of cycle is GPRMC on odd seconds, GPRMB on even seconds. logs = magellan315.log [315] type = device vendor = Magellan packaging = handset techdoc = https://www.magellangps.com/assets/manuals/gps_310_315_en.pdf engine = unknown interfaces = RS-232 tested = regression rating = good submitter = Angel Marques Mateu notes = logs = magellan315.log [Meridian Platinum] type = device vendor = Magellan packaging = handset techdoc = http://www.amazon.com/Magellan-Meridian-Platinum-Handheld-GPS/dp/B00005OLYD engine = Motorola interfaces = RS-232 tested = 2.21 rating = excellent nmea = v1.5 APA, v1.5 XTE, v2.1 GSA discontinued = True submitter = Chris S. Newell [eXplorist 210] type = device vendor = Magellan packaging = handset techdoc = http://www.magellangps.com/assets/manuals/newprod/eXplorist%20210_US.pdf engine = unknown interfaces = USB tested = regression rating = good nmea = 2.1 submitter = Paul van den Berg notes = USB has 3 modes — NMEA data comm (3 submodes): outputs GPS data (creates /dev/ttyACM0), USB file transfer: transfer files (creates /dev/sdX and /dev/sdX1), or Power Only: use USB only for electrical power. The APA and XTE extensions choke gpsd, so select V2.1 GSA under "NMEA Data Comm>". logs = eXplorist210.log [Thales AC12] type = device vendor = Magellan packaging = OEM module techdoc = ftp://ftp.magellangps.com/OEM,%20Sensor%20&%20ADU/A12,%20%20B12,%20&%20AC12/Techdoc%20Material/A12,%20B12%20&%20AC12%20RM%20rev%20E.pdf engine = unknown interfaces = TTL nmea = 3.0 tested = regression rating = good pps = True pps_accuracy = 250ns ntp_offset = ? submitter = Chris Kuethe notes = Receiver comes up in silent mode, you may need to use ashctl to turn on a default set of messages. Tested with firmware BQ00 and BQ04. logs=ac12.log [Triton 400] type = device vendor = Magellan submitter = James Gerlach techdoc = http://www.tritonforum.com/Files/UserManual_ENG.pdf packaging = handset uses = SiRF-3 firmware = GSW3.2.4 nmea = 2.1 interfaces = USB tested = 3.8 and 3.5 rating = good location = Wellington, FL, USA date: 2013-03-31 logs=triton400.log #% Motorola [Oncore GT+] type = device vendor = Motorola packaging = OEM module techdoc = http://www.tapr.org/gps_oncorevp.html engine = Motorola interfaces = RS-232 or TTL tested = 2.20 nmea = 2.2 pps = True pps_accuracy = 50ns ntp_offset = ? rating = good discontinued = True submitter = Wojciech Kazubski notes = The Motorola Oncore product family has been discontinued. RTCM input, no WAAS. In binary mode can deliver differential correction for another Oncore GT+. Similar Motorola Oncore UT timing receiver has less functions but better timing accuracy. logs = oncore.log [T805] type = device vendor = Motorola packaging = mouse techdoc = http://www.motorola.com/motoinfo/product/detailsPf.jsp?globalObjectId=185 uses = SiRF-3 subtype = GSC3f-7879 interfaces = Bluetooth tested = 2.35 submitter = Reported by Olivier Lahaye #% Navcom [SF-2040G] type = device vendor = Navcom packaging = survey techdoc = http://www.navcomtech.com/Products/GPS/sf2040g.cfm uses = Touchstone ASIC interfaces = RS-232, Bluetooth, Radio (untested) tested = 2.35 rating = good nmea = 3.0 submitter = Diego Berge #$ NaviSys [GR601W] type = device vendor = Navisys packaging = mouse techdoc = http://www.navisys.com.tw/products/image/Pdf/GR-601_flyer-120220.pdf engine = uBlox 6 interfaces = USB tested = 3.5 pps = True pps_accuracy = 1ms ntp_offset = ? rating = excellent submitter = Eric S. Raymond . Also known as the Macx-1, this is the USB variant of the GR601, customized for timing use by connecting 1PPS to DCD and capable of delivering time to 1ms accuracy. The best indoor performer I have tested. #% Navius [NSA-U3] type = device vendor = Navius packaging = mouse techdoc = http://www.navius.biz/ uses = SiRF-2 interfaces = USB usbchip = pl2303 tested = 2.24 rating = excellent submitter = Jeff Francis notes = Included with the horrible Windows navigation software from Rand McNally. #% NaviLock [NL-209P] type = device vendor = NaviLock packaging = mouse techdoc = http://www.navilock.de/produkte/gruppen/3/Kabel_Empfaenger/61371_NL-209PU.html?show=spec uses = Sony CXD2951 interfaces = USB, RS-232, Bluetooth configurable = insane usbchip = pl2303 tested = 2.35 nmea = 2.2 submitter = Jason Curl notes = When running, need to use the -b option, else the device will hang during the GPSD probing phase and it needs to be unplugged and reinserted. To use this device with NTPd, set the the "fudge" factor to 0.840. There is no known PPS signal associated with this device. While the technical information claims 1us accuracy on the clock, the interface is undocumented, so there is no way to know if there is a usable 1PPS signal. [NL-302U] type = device vendor = NaviLock packaging = mouse techdoc = http://www.navilock.de/produkte/gruppen/3/Kabel_Empfaenger/61422_NL-302U.html?show=spec uses = SiRF-3 subtype = GSW3.2.4_3.1.00.12-SDK003P1 interfaces = USB usbchip = pl2303 nmea = 2.34 submitter = Beat Bolli notes = gpsprof output can be found here. [NL-402U USB] type = device engine = u-blox5 GPS & GALILEO SuperSense date = 2008-07-24 location = Neustadt / Holstein 54.05N 10.49 E model = NL-402U USB EmpfÀnger interfaces = USB packaging = mouse rating = excellent submitter = Klaus Plöger techdoc = http://www.navilock.de/download/PDFs/60095_-_NL-402U_Datenblatt/531 tested = regression vendor = NaviLock logs = nl402u.log notes = Starts with RMC, ends with GLL. [NL-551EUSB] type = device engine = u-blox5 GPS & GALILEO SuperSense submitter = Bas van Duijnhoven vendor = NaviLock techdoc = http://www.navilock.de/files/11409.download packaging = OEM module interfaces = TTL firmware = 6.02 nmea = 2.3 tested = 3.5 location = Rheden, NL, 52.002N 6.036E date = 2012-07-03 rating = good logs = nl551e.log [BT-451] type = device chipset = ANTARIS ATR062x engine= ANTARIS4 date = 2009-12-09 location = Lithuania, 55.8N 23.6E model = BT-451 packaging = mouse interfaces = USB rating = good submitter = Mindaugas techdoc = http://www.navilock.de/produkte/gruppen/28/Nicht_mehr_lieferbare_Artikel/60307_BT-451.html?show=spec tested = 2.39 vendor = NaviLock logs = bt451.log #% NavMan [Jupiter 20] type = device vendor = NavMan packaging = chipset techdoc = uses = SiRF-2 subtype = Jupiter 21DR Firmware interfaces = RS-232 tested = 2.32 nmea = 2.2 discontinued = True submitter = Andreas Stricker notes = Not a complete GPS, but a chipset. It is running with an external gyro on a our self-developed board. #%Navis Engineering Bureau [CH-4711] type = device vendor = Navis Engineering Bureau engine = CH-4706 date = 2009-11-21 firmware = m4706 03.10 02/06/09 | 12044 | M2002 05.01 02/06/09 nmea = 3.0? packaging = mouse interfaces = USB usbchip = FTDI FT232 rating = good submitter = walkie@mail.ru techdoc = http://www.navis.ru/downloads/CH-4711_USB/ logs = ch-4711.log notes = By default the evice does not report 2d fixes; the vendor configuration tool offers checkboxes to enable any combination of none, 2D fixes, 3D fixes, or both. The devices has only a very limited set of NMEA controls but speaks a proprietary vendor format called BINR with more capabilities. [NAVIOR-24] type = device engine = CH-4701 interfaces = TTL date = 2008-05-29 location = Minsk, Belarus, 53N 27E model = NAVIOR-24 packaging = OEM module rating = good submitter = Viktar Palstsiuk techdoc = http://www.navis.ru/en/catalog_110_139.html vendor = Navis Engineering Bureau notes = NAVIOR-24 is the single board 24-channel navigation OEM receiver supporting GLONASS/GPS systems. logs = ch-4701.log #%Navisys [GR-300] type = device uses = SiRF-3 date = 2009-07-03 firmware = GSW3.2.4Pat2_3.1.00.12-SDK001P1.00 interfaces = USB location = East Haddon, Northampton, England, UK, 53.3N, 1.02W model = GR-300 nmea = 3.0 packaging = mouse rating = excellent submitter = sk1ppy14@yahoo.co.uk techdoc = http://www.navisys.com.tw/products/image/GR-300_flyer-080409.pdf tested = 2.38 vendor = Navisys notes = Also includes an (untested) Bluetooth interface. Has two LEDs: blue for bluetooth, green for rating. Solid green = on and searching for satellite fixes. Blinking green = on and has 3D fix. Also a similar GR-310 version available. It is possible that only GR-310 supports Bluetooth. Programs only seem to be able to communicate with the dongle at 4800 baud rates, though this is autodetected by gpsd with no problems. Approx £40 per dongle. #%Nokia [LD-4W] type = device uses = SiRF-3 date = 2009-12-05 location = Oulu, FI, 65N 25E model = LD-4W interfaces = Bluetooth noconfigure = yes packaging = mouse rating = fair submitter = jussi.kivilinna@mbnet.fi techdoc = http://europe.nokia.com/find-products/accessories/all-accessories/navigation/gps-modules/ld-4w tested = 2.39 vendor = Nokia logs = nokia-ld-4w.log notes = I first tried gpsd package from Ubuntu 9.10, which broke device on probe. Luckily this device has 'reset' function by pressing power button for 10 sec. Then I recompiled gpsd with only support for Generic NMEA and SiRF binary and with fixed speed (--enable-fixed-port-speed=9600). Now device works in sirf mode, and does not break on probe. #% NovAtel [SuperStar II (202)] type = device vendor = NovAtel packaging = OEM Module uses = NovAtel-L1 techdoc = http://www.novatel.com/Documents/Manuals/om-20000077.pdf tested = 2.38 discontinued = True interfaces = RS-232 pps = True submitter = Chris Kuethe notes = There are quite a number of models of SuperStarII, this is a 169-613955-202 (1Hz, Carrier Phase, Timing, 19200). Other SuperStarII boards should work. #% Parrot [CK3300] type = device vendor = Parrot packaging = handsfree techdoc = http://www.parrot.biz/uk/products/ck3300gps engine = unknown interfaces = Bluetooth tested = 2.35 rating = good nmea = 2.? submitter = Andy Brown notes = In-car hands-free bluetooth phone and GPS device. Outputs NMEA #% Pharos [GPS-360] type = device vendor = Pharos packaging = mouse techdoc = http://www.pharosgps.com/support/igps360_spec.htm uses = SiRF-2 interfaces = USB usbchip = pl2303 tested = regression nmea = 2.3 discontinued = True submitter = Robert Pouliot notes = The Pharos comes with adaptors for SDIO, CF, USB and plain RS-232. Usually ships with XTrac firmware. It is strongly recommended that this device not be flashed with a different firmware as all reflashed receivers tested thus far fail to work afterward. May come bundled with Microsoft Streets and Trips. [iGPS-500] type = device vendor = Pharos packaging = mouse techdoc = http://www.pharosgps.com/products/proddetail.asp?prod=006_PB010_1.00&cat=141 uses = SiRF-3 subtype = GSC3f usbchip = PL2303 interfaces = USB tested = 2.3 submitter = Aurelian Maga #% Phonix [BGR6205] type = device vendor = Phonix packaging = mouse techdoc = http://www.phonix.it/html/catalogo_dettaglio.cfm?idProducts=E09B5AB7-BCDF-DF66-24853E2B4680AB2C uses = SiRF-2 interfaces = Bluetooth configurable = insane tested = 2.34 nmea = 2.2 notes = As this is a Bluetooth device, gpsd must either be run with "-b" or must be compiled with fixed port speed, as the Bluetooth interface does not tolerate port speed changes at all. Reported by Sebastiano Zabert (no emal address) #% Qstarz [BT-Q818] type = device vendor = Qstarz uses = MTK interfaces = Bluetooth date = 2010-06-03 location = +34d 1m 58.80sec, -117deg 44min 49.56sec model = BT-Q818 notes = Had to use the -b option. packaging = mouse rating = excellent sample_notes = Not moving. Left unit on a north facing window sill. submitter = jason.komut+gpsd@gmail.com techdoc = http://www.qstarz.com/download/BT-Q818%20Quick%20Guide-V1.pdf tested = 2.92-4 logs=bt-q818.log #% RF Solutions [GPS-320FW] type = device engine = SE4100L interfaces = TTL nmea = 3.01 packaging = chipset rating = fair submitter = Stoo techdoc = http://www.rfsolutions.co.uk/acatalog/DS320-2.pdf vendor = RF Solutions notes = Has a binary protcol documetened at http://www.rfsolutions.co.uk/acatalog/DS-41COM-2.pdf. Sat-simulator testing reveals that the chipset does not handle dates after 2019 well; they wrap to 1999. The device sends out "$PLCS,REV,PLN012054S07,070312,145743" at reset, not documented. May actually be manufactured by Unitraq as the GP-320FW. #% Rikaline [GPS-6010 USB] type = device vendor = Rikaline packaging = mouse techdoc = http://www.rikaline.com/download/GPS-6010-Manual-E.pdf uses = SiRF-2 interfaces = USB usbchip = pl2303 tested = 2.20 nmea = 2.2 notes = Uses SiRF firmware version 2.3.2-GSW2-2.05.024-C1Prod1.1. Manufacturer claims it is waterproof (1 meter), WAAS and EGNOS are supported. [GPS-6010-X5] type = device vendor = Rikaline packaging = mouse techdoc = http://www.rikaline.com/gps_receiver.htm uses = SiRF-2 interfaces = USB usbchip = PL2303 tested = 2.20 nmea = 2.2 submitter = Koos van den Hout notes = The USB cable is a separate item to order. You can also order an RS-232 cable or a PDA cable. #% Royaltek [Sapphire USB] type = device vendor = Royaltek packaging = mouse techdoc = http://www.royaltek.com/content/view/27/27/ uses = SiRF-2 interfaces = USB tested = 1.97 nmea = 2.2 notes = There is an RS-232 variant as well, not yet tested. [RGM-3600] type = device uses = SiRF-3 firmware = GSW3.2.5_3.3.01.06_SDK001P1.00 interfaces = USB nmea = 3.0 notes = Works out of the box. packaging = mouse rating = excellent submitter = Stijn Ghesquiere techdoc = http://www.royaltek.com/FileDownload.php?dir=Product_C1_Info&file=RGM-3600%20operational%20manual%20V1_1209966059.pdf tested = 2.37 vendor = Royaltek [RGM-3800] type = device techdoc = http://www.royaltek.com/products_dtl.php?cid=2&id=23&argPage=1&argI=3 vendor = Royaltek packaging = mouse uses = SiRF-2 subtype = GSC3f/LP interfaces = USB (PL2303) tested = regression nmea = 3.0 submitter = Philipp Klenze notes = This is a GPS data logger with mouse functionality. Before it can be used with gpsd, the mouse functionality has to be switched on. That can be done with the rgm3800py utility by Karsten Petersen. The author of said tool has been very helpful to me by describing how to do that on the projectpage. Basically, one needs to run "rgm3800.py -d /dev/ttyUSB0 gmouse on" before starting gpsd. #% Saab [Saab R4] type = device date = 2011-06-01 interfaces = Other model = SAAB AIS GPS R4 positioning system uses = Pilot Plug notes = This is data from the PilotPlug, AIS + NMEA from various instruments on a Transas bridge. This is not normal GPS data. Pilotplugs are RS422, 38400 8N1. This data is obtained via a Moxa UPort 1130 using Minicom. GPSD does not work well with the UPort 1130, but the data is recognised (but not all NMEA sentences). This is from a simulator but with real equipment. packaging = other rating = broken submitter = vwf@vulkor.net techdoc = http://www.saabgroup.com/Civil-security/Maritime-Transportation-and-Port-Security/Traffic-Management-Solutions/Shipborne-AIS--NAV-Solutions/R4-GPS--DGPS--Navigation-System/ tested = 2.95 vendor = Saab logs = saab-r4 #% San Jose Navigation [FV-18] type = device vendor = San Jose Navigation packaging = OEM module techdoc = http://www.sanav.com/gps_engine_board/fv-18.htm engine = FV-18 interfaces = UART tested = 2.0 rating = good nmea = 2.3 notes = Special gpsd support uses 8N2 and requests sentences that gpsd requires. OEM module only, not a retail product. [FV-25] type = device vendor = San Jose Navigation packaging = OEM module techdoc = http://www.tri-m.com/products/systems/fv25.html uses = ANTARIS subtype = TIM-LP interfaces = UART tested = 2.34 pps = True notes = OEM module, available in small quantities from Tri-M systems. The ANTARIS chipset is obsolete, replaced by ANTARIS4. This module works in NMEA mode; gpsd also supports the UBX binary protocol. Firmware updates are available from uBlox; the update is strongly recommended as it fixes a number of UBX bugs, and adds useful new features. [FV-M11] type = device vendor = San Jose Navigation engine = MTK packaging = OEM module techdoc = http://www.sanav.com/gps_engine_board/FV-M7_FV-M11.htm interfaces = UART rating = good tested = regression submitter = Henk Fijnvandraat (no email address) logs = mtk-3301.log [GM-38/12V] type = device vendor = San Jose Navigation packaging = mouse techdoc = http://www.tri-m.com/products/systems/gm38.html engine = Furuno GN-77 interfaces = RS-232 tested = 2.21 nmea = 2.x discontinued = True rating = broken notes = Ships bad packet checksums when it does not have a fix. #%Sejat [SJ-5210] type = device engine = SiRF-3 date = 2011-05-04 interfaces = USB location = Boise, ID: 43deg 33min 52sec N / 116deg 13min 22sec W model = SJ-5210 notes = Page that comes with it states: NMEA 0183 - CGA, GSA, GSV, RMC Baud Rate - 4800 bps; Datum WGS-84 SiRF Star III 20-channel -159 dBm sensitivity Frequency L1, 1575.42 Mhz, C/A Code: 1023 Mhz Chip Rate Acq time: Hot start 1 sec/ warm start 38 sec/cold start 42 sec (ave) WAAS/EGNOS supported Do not know (but doubt) device handles baud rate changes. packaging = mouse rating = excellent submitter = rickyrockrat techdoc = http://www.sejats.com/SEJAT-SJ-5210-USB-Mouse-GPS-Receiver-w-SiRF-star-III-SJ-5210.htm tested = 2.92 vendor = Sejat #%Skytraq [Venus634LP] type = device engine = SkyTraq Venus 6 interfaces = TTL date = 2010-02-05 firmware = ver,011023,rev,090210 location = Minsk, Belarus, 53N 27E model = Venus634LP nmea = 3.01 notes = Supports A-GPS from the SkyTraq FTP server. packaging = OEM module rating = good submitter = Viktar Palstsiuk techdoc = http://www.skytraq.com.tw/download/Venus634LPx_PB_v3.pdf tested = 2.90 vendor = SkyTraq logs = venus634lp.log #% Techway [TP-051] type = device vendor = Techway packaging = mouse techdoc = http://www.techwayinc.com.tw/TP-051.htm uses = SiRF-2 interfaces = USB usbchip = pl2303 tested = 2.3 nmea = 2.x discontinued = True notes = Advertises that it is waterproof. #% Telit [SL869] type = device engine = STA8088 submitter = Arn vendor = Telit techdoc = http://www.telit.com/module/infopool/download.php?id=4906 firmware = TELIT SW Version: SL869 v3.1.2.1 -STD -N96 packaging = OEM module interfaces = TTL location = Sydney, NSW, AU, -33.68 151.29 rating = good date = 2012-11-25 logs = sl869.log #% TomTom [TomTom Go910] type = device vendor = TomTom packaging = handsfree techdoc = http://www.tomtom.com/products/product.php?ID=475&Category=0&Lid=4 engine = SiRF-3 interfaces = USB nmea = None rating = broken notes = This device does not have real-time data output, and is incompatible with GPSD. [Mark II Bluetooth GPS] type = device vendor = TomTom engine = SiRF-3 interfaces = Bluetooth date = 2010-06-20 location = Veldhoven, NL nmea = Version 2.2 packaging = mouse rating = good sample_notes = The unit was stationary (sorry). It is a putty log after connecting to port 2947. submitter = Jose Baars peut@peut.org techdoc = http://download.tomtom.com/open/manuals/mob5_nav5/Wireless_GPS_manual_NAV5_MOB5.pdf tested = 2.36 logs = tomtom-mkII.log notes = I use this GPS as a time source. I use a time1 parameter of -1.4 in /etc/ntp.conf, but then it appears to provide time reliably within 100ms and only limited sky view. #% Transystem [iGPS-M] type = device vendor = Transystem packaging = mouse techdoc = http://www.transystem.com.tw/products/index_detail.php?mcat_no=2&cat_no=32&pno=10&ver=en uses = uNav interfaces = USB usbchip = pl2303 tested = 2.28 submitter = Romain Goyet notes = Formerly sold under the corporate name "Bona CompuTech". [737A+ Bluetooth] type = device uses = MTK date = 2011-11-10 interfaces = Bluetooth location = Bend, Oregon 44N, 121W model = 737A+ Bluetooth nmea = 3.01 notes = USB ID: 0e8d:3329. Bluetooth (V1.2) and USB (V2) output. Linux sees the USB as a cell phone (/dev/ttyACM0). Seems a tad less sensitive than a SiRF III, but has 66 channels. Uses replaceable Lithium Ion battery that charges from the mini-USB connector. Small yet 32 hour runtime on a single charge. packaging = mouse rating = excellent sample_notes = Covered up with aluminum foil until lost lock, started capture, removed foil and logged until a good fix. submitter = Gary E. Miller techdoc = http://www.transystem.com.tw/product/53/737A+%20User%20Manual_v1.3.pdf tested = 3.2 logs = tr737A+.log vendor = Transystem #% Trimble [Trimble Lassen SK] type = device vendor = Trimble packaging = OEM module techdoc = http://www.trimble.com/lassensk2.shtml engine = Colossus RF ASIC, Scorpion DSP interfaces = UART tested = 2.26 rating = good nmea = 2.1 notes = Reported by Rob Janssen (no email address) [Trimble Lassen IQ] type = device vendor = Trimble packaging = OEM module techdoc = http://www.trimble.com/lasseniq.shtml engine = Colossus RF ASIC, IO-C33 (Epson C33 RISC) interfaces = USB,RS-232 pps = True pps_accuracy = 50ns ntp_offset = 0.675s usbchip = CP2102 tested = regression rating = good nmea = 3.0 submitter = Chris Kuethe logs = trimble-lassen_iq-3dfix.log, trimble-lassen_iq-playacar.log, trimble-lassen_iq.log [Trimble BX960] type = device vendor = Trimble packaging = OEM module techdoc = http://www.trimble.com/embeddedsystems/pdf/bx960_ds.pdf engine = BD960 interfaces = Ethernet tested = regression rating = good submitter = Miika Ojanen notes = Firmware versoon 4.00, dated 2009-03-10 #% uBlox [ANTARIS LEA-4H] type = device vendor = uBlox packaging = OEM module techdoc = http://www.u-blox.com/products/lea_4h.html uses = ANTARIS4 tested = regression interfaces = RS-232 pps = True submitter = Andreas Stricker [ANTARIS LEA-4S] type = device vendor = uBlox packaging = OEM module techdoc = http://www.u-blox.com/products/lea_4s.html uses = ANTARIS4 interfaces = USB,UART tested = regression submitter = Ali Utku Selen [ANTARIS LEA-4T] type = device vendor = uBlox packaging = OEM module techdoc = http://www.u-blox.com/products/lea_4t.html uses = ANTARIS4 interfaces = USB,UART tested = regression pps = True pps_accuracy = 50ns ntp_offset = ? submitter = Chris Kuethe [EVK-5H-0] type = device uses = LEA-5H date = 2010-08-21 interfaces = USB location = Rotterdam, NL, 51.9N 4.6E model = EVK-5H-0 packaging = other rating = other submitter = Stephan Dierick techdoc = http://www.u-blox.com/images/downloads/Product_Docs/u-blox5_Protocol_Specifications%28GPS.G5-X-07036%29.pdf vendor = uBlox [LEA 5Q] type = device engine = UBLOX NEO-5Q date = 2011-02-02 interfaces = TTL pps = True pps_accuracy = 50ns ntp_offset = ? location = Adelaide, AU, 34.9S, 138.6E model = LEA 5Q notes = Sample contains GPGST (pseudorange noise statistics). This had to be manually enabled by sending "$PUBX,40,GST,1,1,1,0*5A\n" to the device. packaging = OEM module rating = excellent submitter = Thomas Sprinkmeier techdoc = http://www.u-blox.com/customersupport/gps.g5/u-blox5_Protocol_Specifications(GPS.G5-X-07036).pdf tested = 2.95 vendor = uBlox logs = ublox-lea-5q.log #% UniTraq [WGM-300U] type = device vendor = UniTraq packaging = mouse techdoc = http://www.wintec.com.tw/en/support_detail.php?cate_id=11&support_id=14 uses = Sony CXD2951 configurable = insane interfaces = USB usbchip = CP2101 tested = 2.35 nmea = 3.0 submitter = Reported by Ian Darwin notes = This receiver operates as a generic NMEA device, the Sony binary protocol is unsupported. The receiver seems to lock up if too much data is thrown at it (ie. gpsd probes) thus it may require a read-only (-b) instance of gpsd. (We say 'may' because more recent instances of gpsd break the probe writes into pieces interleaved with read, and may no longer trigger this problem) [UD731] type = device vendor = UniTraq packaging = dongle techdoc = http://www.unitraq.com/product_main.php?id=17 engine = Skytraq Venus 524c rating = excellent interfaces = USB usbchip = CP2101 tested = 3.4 nmea = 3.01 submitter = Reported by Eric S. Raymond notes = Device has two variants; the basic receiver is 'R' and the version with additional data-logger capability is N. Emits only NMEA. Some Web sources incorrectly describe it as SiRF-3-based. #%Variotek [VT-BT-204] type = device engine = Skytraq Venus 6 date = 2010-03-20 model = VT-BT-204 packaging = mouse interfaces = Bluetooth #location = 48.13333 N 11.593281 E #sample_notes = all time fixed submitter = Claus Seitter techdoc = http://variotek.de/wp-content/uploads/2009/02/vt_bt204_guide_english.pdf vendor = Variotek rating = good #% Wintec [WBT-200] type = device vendor = Wintec packaging = mouse techdoc = http://www.wintec.com.tw/en/product_detail.php?pro_id=57 engine = FastraX iTrax03 interfaces = Bluetooth, USB usbchip = CP2101 tested = regression nmea = 3.0 rating = good submitter = Chris Kuethe notes = This receiver operates correctly as a generic NMEA device, iTalk support is also functional, though switching between NMEA and iTalk does not yet work, nor does any device configuration. [WBT-201] type = device vendor = Wintec packaging = mouse techdoc = http://www.wintec.com.tw/en/product_detail.php?pro_id=65 uses = ANTARIS4 interfaces = Bluetooth, USB usbchip = CP2101 tested = 2.33 submitter = Espen Talberg notes = This receiver operates correctly as a generic NMEA device, UBX support is also functional, though switching between NMEA and UBX does not yet work, nor does any device configuration. gpsd-3.9/gpscap.py0000664000175000017500000002062512113031767012325 0ustar esresr""" gpscap - GPS/AIS capability dictionary class. This file is Copyright (c) 2010 by the GPSD project BSD terms apply: see the file COPYING in the distribution root for details. """ import ConfigParser class GPSDictionary(ConfigParser.RawConfigParser): def __init__(self, *files): "Initialize the capability dictionary" ConfigParser.RawConfigParser.__init__(self) if not files: files = ["gpscap.ini", "/usr/share/gpsd/gpscap.ini"] self.read(files) # Resolve uses= members while True: keepgoing = False for section in self.sections(): if self.has_option(section, "uses"): parent = self.get(section, "uses") if self.has_option(parent, "uses"): continue # Found a parent section without a uses = part. for heritable in self.options(parent): if not self.has_option(section, heritable): self.set(section, heritable, self.get(parent, heritable)) keepgoing = True self.remove_option(section, "uses") if not keepgoing: break # Sanity check: All items must have a type field. for section in self.sections(): if not self.has_option(section, "type"): raise ConfigParser.Error("%s has no type" % section) elif self.get(section, "type") not in ("engine", "vendor", "device"): raise ConfigParser.Error("%s has invalid type" % section) # Sanity check: All devices must point at a vendor object. # Side effect: build the lists of vendors and devices. self.vendors = [] self.devices = [] for section in self.sections(): if self.get(section, "type") == "vendor": self.vendors.append(section) if self.get(section, "type") == "device": self.devices.append(section) self.vendors.sort() for section in self.sections(): if self.get(section, "type") == "device": if not self.has_option(section, "vendor"): raise ConfigParser.Error("%s has no vendor" % section) if self.get(section, "vendor") not in self.vendors: raise ConfigParser.Error("%s has invalid vendor" % section) def HTMLDump(self, ofp): thead = """ """ vhead1 = "\n" vhead2 = "\n" hotpluggables = ("pl2303", "CP2101") ofp.write(thead % (len(self.devices), len(self.vendors))) for vendor in self.vendors: if self.has_option(vendor, "notes"): ofp.write(vhead2 % (self.get(vendor, "vendor_site"), vendor, self.get(vendor, "notes"))) else: ofp.write(vhead1 % (self.get(vendor, "vendor_site"), vendor)) relevant = [] for dev in self.devices: if self.get(dev, "vendor") == vendor: relevant.append(dev) relevant.sort() for dev in relevant: rowcolor = "white" if self.get(dev, "packaging") == "OEM module": rowcolor = "LimeGreen" elif self.get(dev, "packaging") == "chipset": rowcolor = "LightYellow" elif self.get(dev, "packaging") == "handset": rowcolor = "Cyan" elif self.get(dev, "packaging") == "hansdfree": rowcolor = "DarkCyan" ofp.write("\n" % rowcolor) namefield = dev if self.has_option(dev, "techdoc"): namefield = "%s" % (self.get(dev, "techdoc"), dev) if self.has_option(dev, "discontinued") and self.getboolean(dev, "discontinued"): namefield = namefield + " Discontinued icon" ofp.write("\n" % namefield) ofp.write("\n" % self.get(dev, "packaging")) engine = self.get(dev, "engine") if self.has_option(engine, "techdoc"): engine = "%s" % (self.get(engine, "techdoc"), engine) if self.has_option(dev, "subtype"): engine += " (" + self.get(dev, "subtype") + ")" ofp.write("\n" % engine) interfaces = self.get(dev, "interfaces") if self.has_option(dev, "pps"): interfaces += ",PPS" ofp.write("\n" % interfaces) testfield = "" if self.has_option(dev, "tested"): tested = self.get(dev, "tested") if tested == "regression": testfield += "Regression-test icon" else: testfield += tested if self.has_option(dev, "configurable") and self.get(dev, "configurable") == 'insane': testfield += "No-configure icon" if self.get(dev, "rating") == "excellent": testfield += "Star iconStar iconStar iconStar icon" elif self.get(dev, "rating") == "good": testfield += "Star iconStar iconStar icon" elif self.get(dev, "rating") == "fair": testfield += "Star iconStar icon" elif self.get(dev, "rating") == "poor": testfield += "Star icon" elif self.get(dev, "rating") == "broken": testfield += "Bomb icon" if self.has_option(dev, "usbchip") and self.get(dev, "usbchip") in hotpluggables: testfield += "Hotplug icon" ofp.write("\n" % testfield) nmea = " " if self.has_option(dev, "nmea"): nmea = self.get(dev, "nmea") ofp.write("\n" % nmea) if self.has_option(dev, "pps") and self.get(dev, "pps") == "True": pps_accuracy = ntp_offset = "" if self.has_option(dev, "pps_accuracy"): pps_accuracy = self.get(dev, "pps_accuracy") if self.has_option(dev, "ntp_offset"): ntp_offset = self.get(dev, "ntp_offset") if pps_accuracy and ntp_offset: ofp.write("\n" % (pps_accuracy, ntp_offset)) else: ofp.write("\n") if self.has_option(dev, "notes"): notes = self.get(dev, "notes") else: notes = "" if self.has_option(dev, "submitter"): notes += " Reported by %s." % self.get(dev, "submitter").replace("@", "@").replace("<", "<").replace(">", ">") ofp.write("\n" % notes) ofp.write("\n") ofp.write("
Listing %s devices from %s vendors
Name Packaging Engine Interface Tested with NMEA version PPS Notes
%s
%s

%s

%s%s%s%s%s%s%s
%s
?
\n") else: ofp.write("
 %s
\n") if __name__ == "__main__": import sys try: d = GPSDictionary() d.HTMLDump(sys.stdout) except ConfigParser.Error, e: print >>sys.stderr, sys.argv[0]+":", e._Error__message raise SystemExit, 1 gpsd-3.9/gpscat0000775000175000017500000001075411757250540011714 0ustar esresr#!/usr/bin/env python # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # # Display GPS output. Hexify it if necessary. # import os, sys, termios, socket, select, getopt, curses.ascii import gps.packet as sniffer # The spec says 82, but some receivers (TN-200, GSW 2.3.2) output 86 characters NMEA_MAX = 86 # Lowest debug level at which packet getter begins to emit messages, minus one BASELEVEL = sniffer.LOG_IO highhalf_latch = True def hexdump(str): dmp = "" for (i, ch) in enumerate(str): if curses.ascii.isprint(ord(ch)) or curses.ascii.isspace(ord(ch)): dmp += ch else: dmp += "\\x%02x" % ord(ch) return dmp debuglevel = 0 def reporter(errlevel, msg): if errlevel <= debuglevel: sys.stdout.write(msg) def printusage(): sys.stderr.write("usage: gpscat [-s speed] [-p] [-t] [-D debuglevel] serial-port\n") if __name__ == '__main__': buf = "" try: try: (options, arguments) = getopt.getopt(sys.argv[1:], "hps:tD:V") except getopt.GetoptError, msg: print "gpscat: " + str(msg) raise SystemExit, 1 speed = None parity = None stopbits = None rawmode = True typeflag = False for (switch, val) in options: if switch == '-p': rawmode = False elif switch == '-s': if val[-2] in ('N', 'E', 'O'): parity = val[-2] stopbits = int(val[-1]) val = val[:-2] speed = int(val) elif switch == '-t': typeflag = True rawmode = False elif switch == '-D': debuglevel = BASELEVEL + int(val) elif switch == '-h': printusage() raise SystemExit, 0 if (len(arguments) != 1): printusage() raise SystemExit, 1 if "rfcomm" in arguments[0]: # Bluetooth special case s = socket.socket(socket.AF_BLUETOOTH, socket.SOCK_STREAM, socket.BTPROTO_RFCOMM) s.connect((arguments[0], 1)) tty = s.fileno() else: # Ordinary device tty = os.open(arguments[0], os.O_RDWR) if speed != None: (iflag, oflag, cflag, lflag, ispeed, ospeed, cc) = termios.tcgetattr(tty) try: ispeed = ospeed = eval("termios.B%d" % speed) except AttributeError: sys.stderr.write("gpscat: unknown baud rate %d\n" % speed) raise SystemExit, 1 if stopbits: cflag &= ~termios.CSIZE cflag |= (termios.CS8, termios.CS7)[stopbits-1] if parity: if parity == 'N': iflag &= ~termios.PARENB iflag &= ~termios.INPCK elif parity == 'O': iflag |= termios.INPCK cflag |= termios.PARENB cflag |= termios.PARODD elif parity == 'E': iflag |= termios.INPCK cflag |= termios.PARENB cflag &= ~termios.PARODD termios.tcsetattr(tty, termios.TCSANOW, [iflag, oflag, cflag, lflag, ispeed, ospeed, cc]) poller = select.poll() poller.register(tty, select.POLLIN) buf = "" if not rawmode: getter = sniffer.new() sniffer.register_report(reporter) seqno = 0 while True: (fd, event) = poller.poll()[0] if fd == tty and event == select.POLLIN: if rawmode: buf += os.read(tty, NMEA_MAX) sys.stdout.write(hexdump(buf)) buf = "" else: (length, ptype, packet, counter) = getter.get(tty) seqno += 1 if length == 0: break if typeflag: sys.stdout.write(`ptype` + " (" + `length` + "@" + `counter-length` + "): " + hexdump(packet)) sys.stdout.write("\n") else: sys.stdout.write(hexdump(packet) + "\n") except KeyboardInterrupt: if rawmode: sys.stdout.write("\n") raise SystemExit, 0 # Local variables: # mode: python # end: gpsd-3.9/gpscat.xml0000664000175000017500000001147511762140435012506 0ustar esresr 16 Nov 2006 gpscat 1 The GPSD Project GPSD Documentation gpscat dump the output from a GPS gpscat -s speed -p -t -D debuglevel serial-port DESCRIPTION gpscat is a simple program for logging and packetizing GPS data streams. It takes input from a specified file or serial device (presumed to have a GPS attached) and reports to standard output. The program runs until end of input or it is interrupted by ^C or other means. It does not terminate on a bad backet; this is intentional. In raw mode (the default) gpscat simply dumps its input to standard output. Nonprintable characters other than ASCII whitespace are rendered as hexadecimal string escapes. In packetizing mode, gpscat uses the same code as gpsd8's packet sniffer to break the input into packets. Packets are reported one per line; line breaks in the packets themselves are escaped. This program is useful as a sanity checker when examining a new device. It can be used as a primitive NMEA logger, but beware that (a) interrupting it likely to cut off output in mid-sentence, and (b) to avoid displaying incomplete NMEA sentences right up next to shell prompts that often contain a $, raw mode always emits an extra final linefeed. Also, be aware that packetizing mode will produce useless results — probably consuming the entirety of input and appearing to hang — if it is fed data that is not a sequence of packets of one of the known types. The program accepts the following options: -p Invoke packetizer mode. -s Set the port's baud rate (and optionally its parity and stop bits) before reading. Argument should begin with one of the normal integer baud rates (300, 1200, 4800, 9600, 19200, 38400, etc.). It may be followed by an optional suffix [NOE][12] to set parity (None, Even, Odd) and stop bits (1 or 2). -t Invoke packetizer mode, with the packet type and length (in parentheses) reported before a colon and space on each line. -D In packetizer mode, enable progress messages from the packet getter. Probably only of interest to developers testing packet getter changes. -h Display program usage and exit. Specifying -s 4800N1 is frequently helpful with unknown devices. SEE ALSO gpsd8, gps1, libgps3, libgpsd3, gpsfake1. gpsprof1, gpsctl1, gpsdctl8, gpsmon1. AUTHOR Eric S. Raymond esr@thyrsus.com. gpsd-3.9/gpsclient.c0000664000175000017500000000514611762140435012635 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. * * Python binding for selected libgps library functions */ #include #include #include "gps.h" #include "gpsdclient.h" /* * Client utility functions */ static PyObject * gpsclient_deg_to_str(PyObject *self UNUSED, PyObject *args) { int fmt; double degrees; if (!PyArg_ParseTuple(args, "id", &fmt, °rees)) return NULL; return Py_BuildValue("s", deg_to_str((enum deg_str_type)fmt, degrees)); } static PyObject * gpsclient_gpsd_units(PyObject *self UNUSED, PyObject *args) { if (!PyArg_ParseTuple(args, "")) return NULL; return Py_BuildValue("i", (int)gpsd_units()); } /* * Miscellanea */ static PyObject * gpsclient_wgs84_separation(PyObject *self UNUSED, PyObject *args) { const double lat, lon; double sep; if (!PyArg_ParseTuple(args, "dd", &lat, &lon)) return NULL; sep = wgs84_separation(lat, lon); return Py_BuildValue("d", sep); } static PyObject * gpsclient_maidenhead(PyObject *self UNUSED, PyObject *args) { const double lat, lon; char *gs; if (!PyArg_ParseTuple(args, "dd", &lat, &lon)) return NULL; gs = maidenhead(lat, lon); return Py_BuildValue("s", gs); } /* List of functions defined in the module */ static PyMethodDef gpsclient_methods[] = { {"wgs84_separation", gpsclient_wgs84_separation, METH_VARARGS, PyDoc_STR("Return WGS84 geodetic separation in meters.")}, {"deg_to_str", gpsclient_deg_to_str, METH_VARARGS, PyDoc_STR("String-format a latitude/longitude.")}, {"gpsd_units", gpsclient_gpsd_units, METH_VARARGS, PyDoc_STR("Deduce a set of units from locale and environment.")}, {"maidenhead", gpsclient_maidenhead, METH_VARARGS, PyDoc_STR("Maidenhead grid-square locator from lat/lon.")}, {NULL, NULL} /* sentinel */ }; PyDoc_STRVAR(module_doc, "Python wrapper for selected libgps library routines.\n\ "); /* banishes a pointless compiler warning */ extern PyMODINIT_FUNC initclienthelpers(void); PyMODINIT_FUNC initclienthelpers(void) { PyObject *m; m = Py_InitModule3("gps.clienthelpers", gpsclient_methods, module_doc); PyModule_AddIntConstant(m, "deg_dd", deg_dd); PyModule_AddIntConstant(m, "deg_ddmm", deg_ddmm); PyModule_AddIntConstant(m, "deg_ddmmss", deg_ddmmss); PyModule_AddIntConstant(m, "unspecified", unspecified); PyModule_AddIntConstant(m, "imperial", imperial); PyModule_AddIntConstant(m, "nautical", nautical); PyModule_AddIntConstant(m, "metric", metric); } gpsd-3.9/gpsctl.c0000664000175000017500000005704712140076407012146 0ustar esresr/* gpsctl.c -- tweak the control settings on a GPS * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. * */ #include #include #include #include #include #include #include #include #include #include #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include "gpsd.h" #include "revision.h" static int debuglevel; static unsigned int timeout = 8; /* * Set this as high or higher than the maximum number of subtype * probes in drivers.c. */ #define REDIRECT_SNIFF 15 void gpsd_report(int errlevel UNUSED, const char *fmt, ... ) /* our version of the logger */ { if (errlevel <= debuglevel) { char *err_str; va_list ap; va_start(ap, fmt); switch ( errlevel ) { case LOG_ERROR: err_str = "ERROR: "; break; case LOG_SHOUT: err_str = "SHOUT: "; break; case LOG_WARN: err_str = "WARN: "; break; case LOG_INF: err_str = "INFO: "; break; case LOG_DATA: err_str = "DATA: "; break; case LOG_PROG: err_str = "PROG: "; break; case LOG_IO: err_str = "IO: "; break; case LOG_SPIN: err_str = "SPIN: "; break; case LOG_RAW: err_str = "RAW: "; break; default: err_str = "UNK: "; } (void)fputs("gpsctl:", stderr); (void)fputs(err_str, stderr); (void)vfprintf(stderr, fmt, ap); va_end(ap); } } /*@ -noret @*/ static gps_mask_t get_packet(struct gps_device_t *session) /* try to get a well-formed packet from the GPS */ { static fd_set rfds; gps_mask_t fieldmask; #ifdef COMPAT_SELECT struct timeval tv; #else struct timespec tv; sigset_t oldset, blockset; (void)sigemptyset(&blockset); (void)sigaddset(&blockset, SIGHUP); (void)sigaddset(&blockset, SIGINT); (void)sigaddset(&blockset, SIGTERM); (void)sigaddset(&blockset, SIGQUIT); (void)sigprocmask(SIG_BLOCK, &blockset, &oldset); #endif /* COMPAT_SELECT */ FD_ZERO(&rfds); for (;;) { FD_CLR(session->gpsdata.gps_fd, &rfds); /*@ -usedef -type -nullpass -compdef @*/ /* * If the timeout on this select isn't longer than the device's * cycle time, the code will be prone to flaky timing-dependent * failures. */ errno = 0; tv.tv_sec = 2; #ifdef COMPAT_SELECT tv.tv_usec = 0; if (select(session->gpsdata.gps_fd + 1, &rfds, NULL, NULL, &tv) == -1) { #else tv.tv_nsec = 0; if (pselect(session->gpsdata.gps_fd + 1, &rfds, NULL, NULL, &tv, &oldset) == -1) { #endif if (errno == EINTR || !FD_ISSET(session->gpsdata.gps_fd, &rfds)) continue; gpsd_report(LOG_ERROR, "select %s\n", strerror(errno)); exit(EXIT_FAILURE); } /*@ +usedef +type +nullpass +compdef @*/ fieldmask = gpsd_poll(session); /* conditional prevents mask dumper from eating CPU */ if (debuglevel >= LOG_DATA) gpsd_report(LOG_DATA, "packet mask = %s\n", gps_maskdump(session->gpsdata.set)); if ((fieldmask &~ ONLINE_SET)!=0) return fieldmask; } } /*@ +noret @*/ static void settle(struct gps_device_t *session) /* allow the device to settle after a control operation */ { /* * See the 'deep black magic' comment in serial.c:set_serial(). */ (void)tcdrain(session->gpsdata.gps_fd); (void)usleep(50000); (void)tcdrain(session->gpsdata.gps_fd); } static bool gps_query(/*@out@*/struct gps_data_t *gpsdata, gps_mask_t expect, const int timeout, const char *fmt, ... ) /* ship a command and wait on an expected response type */ { static fd_set rfds; char buf[BUFSIZ]; va_list ap; time_t starttime; #ifdef COMPAT_SELECT struct timeval tv; #else struct timespec tv; sigset_t oldset, blockset; (void)sigemptyset(&blockset); (void)sigaddset(&blockset, SIGHUP); (void)sigaddset(&blockset, SIGINT); (void)sigaddset(&blockset, SIGTERM); (void)sigaddset(&blockset, SIGQUIT); (void)sigprocmask(SIG_BLOCK, &blockset, &oldset); #endif /* COMPAT_SELECT */ va_start(ap, fmt); (void)vsnprintf(buf, sizeof(buf)-2, fmt, ap); va_end(ap); if (buf[strlen(buf)-1] != '\n') (void)strlcat(buf, "\n", BUFSIZ); /*@-usedef@*/ if (write(gpsdata->gps_fd, buf, strlen(buf)) <= 0) { gpsd_report(LOG_ERROR, "gps_query(), write failed\n"); return false; } /*@+usedef@*/ gpsd_report(LOG_PROG, "gps_query(), wrote, %s\n", buf); FD_ZERO(&rfds); starttime = time(NULL); for (;;) { FD_CLR(gpsdata->gps_fd, &rfds); gpsd_report(LOG_PROG, "waiting...\n"); /*@ -usedef -type -nullpass -compdef @*/ tv.tv_sec = 2; #ifdef COMPAT_SELECT tv.tv_usec = 0; if (select(gpsdata->gps_fd + 1, &rfds, NULL, NULL, &tv) == -1) { #else tv.tv_nsec = 0; if (pselect(gpsdata->gps_fd + 1, &rfds, NULL, NULL, &tv, &oldset) == -1) { #endif if (errno == EINTR || !FD_ISSET(gpsdata->gps_fd, &rfds)) continue; gpsd_report(LOG_ERROR, "select %s\n", strerror(errno)); exit(EXIT_FAILURE); } /*@ +usedef +type +nullpass +compdef @*/ gpsd_report(LOG_PROG, "reading...\n"); (void)gps_read(gpsdata); if (ERROR_SET & gpsdata->set) { gpsd_report(LOG_ERROR, "error '%s'\n", gpsdata->error); return false; } /*@ +ignorequals @*/ if ((expect & gpsdata->set) != 0) return true; else if (time(NULL) - starttime > timeout) { gpsd_report(LOG_ERROR, "timed out after %d seconds\n", timeout); return false; } /*@ -ignorequals @*/ } return false; } static void onsig(int sig) { if (sig == SIGALRM) { gpsd_report(LOG_ERROR, "packet recognition timed out.\n"); exit(EXIT_FAILURE); } else { gpsd_report(LOG_ERROR, "killed by signal %d\n", sig); exit(EXIT_SUCCESS); } } static char /*@observer@*/ *gpsd_id( /*@in@ */ struct gps_device_t *session) /* full ID of the device for reports, including subtype */ { static char buf[128]; if ((session == NULL) || (session->device_type == NULL) || (session->device_type->type_name == NULL)) return "unknown,"; (void)strlcpy(buf, session->device_type->type_name, sizeof(buf)); if (session->subtype[0] != '\0') { (void)strlcat(buf, " ", sizeof(buf)); (void)strlcat(buf, session->subtype, sizeof(buf)); } return (buf); } int main(int argc, char **argv) { int option, status; char *device = NULL, *devtype = NULL; char *speed = NULL, *control = NULL, *rate = NULL; bool to_binary = false, to_nmea = false, reset = false; bool lowlevel=false, echo=false; struct gps_data_t gpsdata; const struct gps_type_t *forcetype = NULL; const struct gps_type_t **dp; #ifdef CONTROLSEND_ENABLE char cooked[BUFSIZ]; ssize_t cooklen = 0; #endif /* RECONFIGURE_ENABLE */ #define USAGE "usage: gpsctl [-l] [-b | -n | -r] [-D n] [-s speed] [-c rate] [-T timeout] [-V] [-t devtype] [-x control] [-e] \n" while ((option = getopt(argc, argv, "bec:fhlnrs:t:x:D:T:V")) != -1) { switch (option) { case 'b': /* switch to vendor binary mode */ to_binary = true; break; case 'c': #ifdef RECONFIGURE_ENABLE rate = optarg; #else gpsd_report(LOG_ERROR, "cycle-change capability has been conditioned out.\n"); #endif /* RECONFIGURE_ENABLE */ break; case 'x': /* ship specified control string */ #ifdef CONTROLSEND_ENABLE control = optarg; lowlevel = true; if ((cooklen = hex_escapes(cooked, control)) <= 0) { gpsd_report(LOG_ERROR, "invalid escape string (error %d)\n", (int)cooklen); exit(EXIT_FAILURE); } #else gpsd_report(LOG_ERROR, "control_send capability has been conditioned out.\n"); #endif /* CONTROLSEND_ENABLE */ break; case 'e': /* echo specified control string with wrapper */ lowlevel = true; echo = true; break; case 'f': /* force direct access to the device */ lowlevel = true; break; case 'l': /* list known device types */ for (dp = gpsd_drivers; *dp; dp++) { #ifdef RECONFIGURE_ENABLE if ((*dp)->mode_switcher != NULL) (void)fputs("-[bn]\t", stdout); else (void)fputc('\t', stdout); if ((*dp)->speed_switcher != NULL) (void)fputs("-s\t", stdout); else (void)fputc('\t', stdout); if ((*dp)->rate_switcher != NULL) (void)fputs("-c\t", stdout); else (void)fputc('\t', stdout); #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE if ((*dp)->control_send != NULL) (void)fputs("-x\t", stdout); else (void)fputc('\t', stdout); #endif /* CONTROLSEND_ENABLE */ (void)puts((*dp)->type_name); } exit(EXIT_SUCCESS); case 'n': /* switch to NMEA mode */ #ifdef RECONFIGURE_ENABLE to_nmea = true; #else gpsd_report(LOG_ERROR, "speed-change capability has been conditioned out.\n"); #endif /* RECONFIGURE_ENABLE */ break; case 'r': /* force-switch to default mode */ #ifdef RECONFIGURE_ENABLE reset = true; lowlevel = false; /* so we'll abort if the daemon is running */ #else gpsd_report(LOG_ERROR, "reset capability has been conditioned out.\n"); #endif /* RECONFIGURE_ENABLE */ break; case 's': /* change output baud rate */ #ifdef RECONFIGURE_ENABLE speed = optarg; #else gpsd_report(LOG_ERROR, "speed-change capability has been conditioned out.\n"); #endif /* RECONFIGURE_ENABLE */ break; case 't': /* force the device type */ devtype = optarg; break; case 'T': /* set the timeout on packet recognition */ timeout = (unsigned)atoi(optarg); break; case 'D': /* set debugging level */ debuglevel = atoi(optarg); #ifdef CLIENTDEBUG_ENABLE gps_enable_debug(debuglevel, stderr); #endif /* CLIENTDEBUG_ENABLE */ break; case 'V': (void)fprintf(stderr, "version %s (revision %s)\n", VERSION, REVISION); break; case 'h': default: fprintf(stderr, USAGE); break; } } if (optind < argc) device = argv[optind]; if (devtype != NULL) { int matchcount = 0; for (dp = gpsd_drivers; *dp; dp++) { if (strstr((*dp)->type_name, devtype) != NULL) { forcetype = *dp; matchcount++; } } if (matchcount == 0) gpsd_report(LOG_ERROR, "no driver type name matches '%s'.\n", devtype); else if (matchcount == 1) { assert(forcetype != NULL); gpsd_report(LOG_PROG, "%s driver selected.\n", forcetype->type_name); } else { forcetype = NULL; gpsd_report(LOG_ERROR, "%d driver type names match '%s'.\n", matchcount, devtype); } } if (((int)to_nmea + (int)to_binary + (int)reset) > 1) { gpsd_report(LOG_ERROR, "make up your mind, would you?\n"); exit(EXIT_SUCCESS); } (void) signal(SIGINT, onsig); (void) signal(SIGTERM, onsig); (void) signal(SIGQUIT, onsig); /*@-nullpass@*/ /* someday, add null annotation to the gpsopen() params */ if (!lowlevel) { /* Try to open the stream to gpsd. */ if (gps_open(NULL, NULL, &gpsdata) != 0) { gpsd_report(LOG_ERROR, "no gpsd running or network error: %s.\n", netlib_errstr(errno)); lowlevel = true; } } /*@-nullpass@*/ if (!lowlevel) { int i, devcount; /* what devices have we available? */ if (!gps_query(&gpsdata, DEVICELIST_SET, (int)timeout, "?DEVICES;\n")) { gpsd_report(LOG_ERROR, "no DEVICES response received.\n"); (void)gps_close(&gpsdata); exit(EXIT_FAILURE); } if (gpsdata.devices.ndevices == 0) { gpsd_report(LOG_ERROR, "no devices connected.\n"); (void)gps_close(&gpsdata); exit(EXIT_FAILURE); } else if (gpsdata.devices.ndevices > 1 && device == NULL) { gpsd_report(LOG_ERROR, "multiple devices and no device specified.\n"); (void)gps_close(&gpsdata); exit(EXIT_FAILURE); } gpsd_report(LOG_PROG,"%d device(s) found.\n",gpsdata.devices.ndevices); /* try to mine the devicelist return for the data we want */ if (gpsdata.devices.ndevices == 1 && device == NULL) { device = gpsdata.dev.path; i = 0; } else { assert(device != NULL); for (i = 0; i < gpsdata.devices.ndevices; i++) if (strcmp(device, gpsdata.devices.list[i].path) == 0) { goto devicelist_entry_matches; } gpsd_report(LOG_ERROR, "specified device not found in device list.\n"); (void)gps_close(&gpsdata); exit(EXIT_FAILURE); devicelist_entry_matches:; } (void)memcpy(&gpsdata.dev, &gpsdata.devices.list[i], sizeof(struct devconfig_t)); devcount = gpsdata.devices.ndevices; /* if the device has not identified, watch it until it does so */ if (gpsdata.dev.driver[0] == '\0') { if (gps_stream(&gpsdata, WATCH_ENABLE|WATCH_JSON, NULL) == -1) { gpsd_report(LOG_ERROR, "stream set failed.\n"); (void)gps_close(&gpsdata); exit(EXIT_FAILURE); } while (devcount > 0) { errno = 0; if (gps_read(&gpsdata) == -1) { gpsd_report(LOG_ERROR, "data read failed.\n"); (void)gps_close(&gpsdata); exit(EXIT_FAILURE); } if (gpsdata.set & DEVICE_SET) { --devcount; assert(gpsdata.dev.path[0]!='\0' && gpsdata.dev.driver[0]!='\0'); if (strcmp(gpsdata.dev.path, device) == 0) { goto matching_device_seen; } } } gpsd_report(LOG_ERROR, "data read failed.\n"); (void)gps_close(&gpsdata); exit(EXIT_FAILURE); matching_device_seen:; } /* sanity check */ if (gpsdata.dev.driver[0] == '\0') { gpsd_report(LOG_SHOUT, "%s can't be identified.\n", gpsdata.dev.path); (void)gps_close(&gpsdata); exit(EXIT_SUCCESS); } /* if no control operation was specified, just ID the device */ if (speed==NULL && rate == NULL && !to_nmea && !to_binary && !reset) { gpsd_report(LOG_SHOUT, "%s identified as %s at %d\n", gpsdata.dev.path, gpsdata.dev.driver, gpsdata.dev.baudrate); } status = 0; #ifdef RECONFIGURE_ENABLE if (reset) { gpsd_report(LOG_PROG, "cannot reset with gpsd running.\n"); exit(EXIT_SUCCESS); } /*@-boolops@*/ if (to_nmea) { if (!gps_query(&gpsdata, DEVICE_SET, (int)timeout, "?DEVICE={\"path\":\"%s\",\"native\":0}\r\n", device) || (gpsdata.dev.driver_mode != MODE_NMEA)) { gpsd_report(LOG_ERROR, "%s mode change to NMEA failed\n", gpsdata.dev.path); status = 1; } else gpsd_report(LOG_PROG, "%s mode change succeeded\n", gpsdata.dev.path); } else if (to_binary) { if (gps_query(&gpsdata, DEVICE_SET, (int)timeout, "?DEVICE={\"path\":\"%s\",\"native\":1}\r\n", device) || (gpsdata.dev.driver_mode != MODE_BINARY)) { gpsd_report(LOG_ERROR, "%s mode change to native mode failed\n", gpsdata.dev.path); status = 1; } else gpsd_report(LOG_PROG, "%s mode change succeeded\n", gpsdata.dev.path); } /*@+boolops@*/ if (speed != NULL) { char parity = 'N'; char stopbits = '1'; if (strchr(speed, ':') == NULL) (void)gps_query(&gpsdata, DEVICE_SET, (int)timeout, "?DEVICE={\"path\":\"%s\",\"bps\":%s}\r\n", device, speed); else { char *modespec = strchr(speed, ':'); /*@ +charint @*/ status = 0; if (modespec!=NULL) { *modespec = '\0'; if (strchr("78", *++modespec) == NULL) { gpsd_report(LOG_ERROR, "No support for that word lengths.\n"); status = 1; } parity = *++modespec; if (strchr("NOE", parity) == NULL) { gpsd_report(LOG_ERROR, "What parity is '%c'?\n", parity); status = 1; } stopbits = *++modespec; if (strchr("12", stopbits) == NULL) { gpsd_report(LOG_ERROR, "Stop bits must be 1 or 2.\n"); status = 1; } } if (status == 0) (void)gps_query(&gpsdata, DEVICE_SET, (int)timeout, "?DEVICE={\"path\":\"%s\",\"bps\":%s,\"parity\":\"%c\",\"stopbits\":%c}\r\n", device, speed, parity, stopbits); } if (atoi(speed) != (int)gpsdata.dev.baudrate) { gpsd_report(LOG_ERROR, "%s driver won't support %s%c%c\n", gpsdata.dev.path, speed, parity, stopbits); status = 1; } else gpsd_report(LOG_PROG, "%s change to %s%c%c succeeded\n", gpsdata.dev.path, speed, parity, stopbits); } if (rate != NULL) { (void)gps_query(&gpsdata, DEVICE_SET, (int)timeout, "?DEVICE={\"path\":\"%s\",\"cycle\":%s}\n", device, rate); } #endif /* RECONFIGURE_ENABLE */ (void)gps_close(&gpsdata); exit(status); #ifdef RECONFIGURE_ENABLE } else if (reset) { /* hard reset will go through lower-level operations */ const int speeds[] = {2400, 4800, 9600, 19200, 38400, 57600, 115200}; static struct gps_context_t context; /* start it zeroed */ static struct gps_device_t session; /* zero this too */ int i; if (device == NULL || forcetype == NULL) { gpsd_report(LOG_ERROR, "device and type must be specified for the reset operation.\n"); exit(EXIT_FAILURE); } /*@ -mustfreeonly -immediatetrans @*/ gps_context_init(&context); context.debug = debuglevel; session.context = &context; gpsd_tty_init(&session); (void)strlcpy(session.gpsdata.dev.path, device, sizeof(session.gpsdata.dev.path)); session.device_type = forcetype; (void)gpsd_open(&session); (void)gpsd_set_raw(&session); (void)session.device_type->speed_switcher(&session, 4800, 'N', 1); (void)tcdrain(session.gpsdata.gps_fd); for(i = 0; i < (int)(sizeof(speeds) / sizeof(speeds[0])); i++) { (void)gpsd_set_speed(&session, speeds[i], 'N', 1); (void)session.device_type->speed_switcher(&session, 4800, 'N', 1); (void)tcdrain(session.gpsdata.gps_fd); } gpsd_set_speed(&session, 4800, 'N', 1); for (i = 0; i < 3; i++) if (session.device_type->mode_switcher) session.device_type->mode_switcher(&session, MODE_NMEA); gpsd_wrap(&session); exit(EXIT_SUCCESS); /*@ +mustfreeonly +immediatetrans @*/ #endif /* RECONFIGURE_ENABLE */ } else { /* access to the daemon failed, use the low-level facilities */ static struct gps_context_t context; /* start it zeroed */ static struct gps_device_t session; /* zero this too */ /*@ -mustfreeonly -immediatetrans @*/ gps_context_init(&context); context.debug = debuglevel; session.context = &context; /* in case gps_init isn't called */ if (echo) context.readonly = true; (void) alarm(timeout); (void) signal(SIGALRM, onsig); /* * Unless the user has forced a type and only wants to see the * string (not send it) we now need to try to open the device * and find out what is actually there. */ if (!(forcetype != NULL && echo)) { int seq; if (device == NULL) { gpsd_report(LOG_ERROR, "device must be specified for low-level access.\n"); exit(EXIT_FAILURE); } gpsd_time_init(&context, time(NULL)); gpsd_init(&session, &context, device); gpsd_report(LOG_PROG, "initialization passed.\n"); if (gpsd_activate(&session) == -1) { gpsd_report(LOG_ERROR, "activation of device %s failed, errno=%d\n", device, errno); exit(EXIT_FAILURE); } /* hunt for packet type and serial parameters */ for (seq = 0; session.device_type == NULL; seq++) { if (get_packet(&session) == ERROR_SET) { gpsd_report(LOG_ERROR, "autodetection failed.\n"); exit(EXIT_FAILURE); } else if (session.packet.type > COMMENT_PACKET) { gpsd_report(LOG_IO, "autodetection after %d reads finds packet type %d.\n", seq, session.packet.type); (void) alarm(0); break; } } gpsd_report(LOG_PROG, "%s looks like a %s at %d.\n", device, gpsd_id(&session), session.gpsdata.dev.baudrate); if (forcetype!=NULL && strcmp("Generic NMEA", session.device_type->type_name) !=0 && strcmp(forcetype->type_name, session.device_type->type_name)!=0) { gpsd_report(LOG_ERROR, "'%s' doesn't match non-generic type '%s' of selected device.\n", forcetype->type_name, session.device_type->type_name); } /* * If we've identified this as an NMEA device, we have to eat * packets for a while to see if one of our probes elicits an * ID response telling us that it's really a SiRF or * something. If so, the libgpsd(3) layer will automatically * redispatch to the correct driver type. */ if (strcmp(session.device_type->type_name, "Generic NMEA") == 0) { int dummy; for (dummy = 0; dummy < REDIRECT_SNIFF; dummy++) { if ((get_packet(&session) & DEVICEID_SET)!=0) break; } } gpsd_report(LOG_SHOUT, "%s identified as a %s at %d.\n", device, gpsd_id(&session), session.gpsdata.dev.baudrate); } /* if no control operation was specified, we're done */ if (speed==NULL && !to_nmea && !to_binary && control==NULL) exit(EXIT_SUCCESS); /* maybe user wants to see the packet rather than send it */ if (echo) session.gpsdata.gps_fd = fileno(stdout); /* control op specified; maybe we forced the type */ if (forcetype != NULL) (void)gpsd_switch_driver(&session, forcetype->type_name); /* now perform the actual control function */ status = 0; #ifdef RECONFIGURE_ENABLE /*@ -nullderef @*/ if (to_nmea || to_binary) { bool write_enable = context.readonly; context.readonly = false; if (session.device_type->mode_switcher == NULL) { gpsd_report(LOG_SHOUT, "%s devices have no mode switch.\n", session.device_type->type_name); status = 1; } else { int target_mode = to_nmea ? MODE_NMEA : MODE_BINARY; gpsd_report(LOG_SHOUT, "switching to mode %s.\n", to_nmea ? "NMEA" : "BINARY"); session.device_type->mode_switcher(&session, target_mode); settle(&session); } context.readonly = write_enable; } if (speed) { char parity = echo ? 'N': session.gpsdata.dev.parity; int stopbits = echo ? 1 : session.gpsdata.dev.stopbits; char *modespec; modespec = strchr(speed, ':'); /*@ +charint @*/ status = 0; if (modespec!=NULL) { *modespec = '\0'; if (strchr("78", *++modespec) == NULL) { gpsd_report(LOG_ERROR, "No support for that word lengths.\n"); status = 1; } parity = *++modespec; if (strchr("NOE", parity) == NULL) { gpsd_report(LOG_ERROR, "What parity is '%c'?\n", parity); status = 1; } stopbits = *++modespec; if (strchr("12", parity) == NULL) { gpsd_report(LOG_ERROR, "Stop bits must be 1 or 2.\n"); status = 1; } stopbits = (int)(stopbits-'0'); } if (status == 0) { if (session.device_type->speed_switcher == NULL) { gpsd_report(LOG_ERROR, "%s devices have no speed switch.\n", session.device_type->type_name); status = 1; } else if (session.device_type->speed_switcher(&session, (speed_t)atoi(speed), parity, stopbits)) { settle(&session); gpsd_report(LOG_PROG, "%s change to %s%c%d succeeded\n", session.gpsdata.dev.path, speed, parity, stopbits); } else { gpsd_report(LOG_ERROR, "%s driver won't support %s%c%d.\n", session.gpsdata.dev.path, speed, parity, stopbits); status = 1; } } } if (rate) { bool write_enable = context.readonly; context.readonly = false; if (session.device_type->rate_switcher == NULL) { gpsd_report(LOG_ERROR, "%s devices have no rate switcher.\n", session.device_type->type_name); status = 1; } else { double rate_dbl = strtod(rate, NULL); if (!session.device_type->rate_switcher(&session, rate_dbl)) { gpsd_report(LOG_ERROR, "rate switch failed.\n"); status = 1; } settle(&session); } context.readonly = write_enable; } #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE /*@ -compdef @*/ if (control) { bool write_enable = context.readonly; context.readonly = false; if (session.device_type->control_send == NULL) { gpsd_report(LOG_ERROR, "%s devices have no control sender.\n", session.device_type->type_name); status = 1; } else { if (session.device_type->control_send(&session, cooked, (size_t)cooklen) == -1) { gpsd_report(LOG_ERROR, "control transmission failed.\n"); status = 1; } settle(&session); } context.readonly = write_enable; } /*@ +compdef @*/ #endif /* CONTROLSEND_ENABLE */ exit(status); /*@ +nullderef @*/ /*@ +mustfreeonly +immediatetrans @*/ } } gpsd-3.9/gpsctl.xml0000664000175000017500000002144611762140435012520 0ustar esresr 29 Oct 2006 gpsctl 1 The GPSD Project GPSD Documentation gpsctl control the modes of a GPS gpsctl -h -b -n -x control -e -f -l -s speed -t devicetype -D debuglevel -V serial-port DESCRIPTION gpsctl can switch a dual-mode GPS between NMEA and vendor-binary modes. It can also be used to set the device baudrate. Note: Not all devices have these capabilities. If you have only one GPS attached to your machine, and gpsd is running, it is not necessary to specify the device; gpsctl does its work through gpsd, which will locate it for you. When gpsd is not running, the device specification is required, and you will almost certainly need to be running as root in order to have write access to the device. The program accepts the following options: -b Put the GPS into binary mode. After the GPS resets itself, autobaud to the new speed. -c Change the GPS's cycle time. Units are seconds. Note, most GPSes have a fixed cycle time of 1 second. -e Generate the packet from any other arguments specified and ship it to standard output instead of the device. This switch can be used with the option without specifying a device. Note: the packet data for a binary prototype will be raw, not ASCII-ized in any way. -f Force low-level access (not through the daemon). -l List a table showing which option switches can be applied to which device types, and exit. -n Put GPS into NMEA mode. After the GPS resets itself autobaud to its new speed. -s Set the baud rate at which the GPS emits packets. Use this option with caution. On USB and Bluetooth GPSes it is also possible for serial mode setting to fail either because the serial adaptor chip does not support non-8N1 modes or because the device firmware does not properly synchronize the serial adaptor chip with the UART on the GPS chipset when the speed changes. These failures can hang your device, possibly requiring a GPS power cycle or (in extreme cases) physically disconnecting the NVRAM backup battery. -t Force the device type. -x Send a specified control string to the GPS; gpsctl will provide packet headers and trailers and checksum as appropriate for binary packet types, and whatever checksum and trailer is required for text packet types. (You must include the leading $ for NMEA packets.) When sending to a UBX device, the first two bytes of the string supplied will become the message class and type, and the remainder the payload. When sending to a Navcom NCT or Trimble TSIP device, the first byte is interpreted as the command ID and the rest as payload. When sending to a Zodiac device, the first two bytes are used as a message ID of type little-endian short, and the remainder as payload in byte pairs interpreted as little-endian short. For all other supported binary GPSes (notably including SiRF) the string is taken as the entire message payload and wrapped with appropriate header, trailer and checksum bytes. C-style backslash escapes in the string, notably \xNN for hex, will be interpreted; additionally, \e will be replaced with ESC. This switch implies . -T Change the sampling timeout. Defaults to 4 seconds, which should always be sufficient to get a packet from a device emitting at the normal rate of 1 per second. -h Display program usage and exit. -D Set level of debug messages. -V Display program version and exit. The argument of the forcing option. , should be a string which should be contained in exactly one of the known driver names; for a list, do gpsctl -l. Forcing the device type behaves somewhat differently depending on whether this tool is going through the daemon or not. In high-level mode, if the device that daemon selects for you doesn't match the driver you specified, gpsctl exits with a warning. (This may be useful in scripts.) In low-level mode, if the device identifies as a Generic NMEA, use the selected driver instead. This will be useful if you have a GPS device of known type that is in NMEA mode and not responding to probes. (This option was originally implemented for talking to SiRFStar I chips, which don't respond to the normal SiRF ID probe.) If no options are given, the program will display a message identifying the GPS type of the selected device and exit. Reset (-r) operations must stand alone; others can be combined. Multiple options will be executed in tis order: mode changes (-b and -n) first, speed changes (-s) second, and control-string sends (-c) last. EXAMPLES gpsctl /dev/ttyUSB0 Attempt to identify the device on USB serial device 0. Time out after the default number of seconds. Adding the will force low-level access and suppress the normal complaint when this tool can't find a GPSD to work through. gpsctl -f -n -s 9600 /dev/ttyUSB0 Use low-level operations (not going through a gpsd instance) to switch a GPS to NMEA mode at 9600bps. The tool will identify the GPS type itself. BUGS SiRF GPSes can only be identified by the success of an attempt to flip them into SiRF binary mode. Thus, the process of probing one of these running in NMEA will change its behavior. SEE ALSO gpsd8, gpsdctl8, gps1, libgps3, libgpsd3, gpsprof1, gpsfake1. AUTHOR Eric S. Raymond esr@thyrsus.com. gpsd-3.9/gpsd.c0000664000175000017500000022743712140075427011612 0ustar esresr/* * This is the main sequence of the gpsd daemon. The IO dispatcher, main * select loop, and user command handling lives here. * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include /* for select() */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifndef S_SPLINT_S #include #ifndef AF_UNSPEC #include #endif /* AF_UNSPEC */ #ifndef INADDR_ANY #include #endif /* INADDR_ANY */ #include #include /* for htons() and friends */ #endif /* S_SPLINT_S */ #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include "gpsd_config.h" #if defined(HAVE_LIBCAP) && !defined(S_SPLINT_S) #include #include #endif /* HAVE_LIBCAP */ #include "gpsd.h" #include "sockaddr.h" #include "gps_json.h" #include "revision.h" #if defined(SYSTEMD_ENABLE) #include "sd_socket.h" #endif /* * The name of a tty device from which to pick up whatever the local * owning group for tty devices is. Used when we drop privileges. */ #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) #define PROTO_TTY "/dev/tty00" /* correct for *BSD */ #else #define PROTO_TTY "/dev/ttyS0" /* correct for Linux */ #endif /* * Timeout policy. We can't rely on clients closing connections * correctly, so we need timeouts to tell us when it's OK to * reclaim client fds. COMMAND_TIMEOUT fends off programs * that open connections and just sit there, not issuing a WATCH or * doing anything else that triggers a device assignment. Clients * in watcher or raw mode that don't read their data will get dropped * when throttled_write() fills up the outbound buffers and the * NOREAD_TIMEOUT expires. * * RELEASE_TIMEOUT sets the amount of time we hold a device * open after the last subscriber closes it; this is nonzero so a * client that does open/query/close will have time to come back and * do another single-shot query, if it wants to, before the device is * actually closed. The reason this matters is because some Bluetooth * GPSes not only shut down the GPS receiver on close to save battery * power, they actually shut down the Bluetooth RF stage as well and * only re-wake it periodically to see if an attempt to raise the * device is in progress. The result is that if you close the device * when it's powered up, a re-open can fail with EIO and needs to be * tried repeatedly. Better to avoid this... * * DEVICE_REAWAKE says how long to wait before repolling after a zero-length * read. It's there so we avoid spinning forever on an EOF condition. * * DEVICE_RECONNECT sets interval on retries when (re)connecting to * a device. */ #define COMMAND_TIMEOUT 60*15 #define NOREAD_TIMEOUT 60*3 #define RELEASE_TIMEOUT 60 #define DEVICE_REAWAKE 0.01 #define DEVICE_RECONNECT 2 #define QLEN 5 /* * If ntpshm is enabled, we renice the process to this priority level. * For precise timekeeping increase priority. */ #define NICEVAL -10 #if defined(FIXED_PORT_SPEED) || !defined(SOCKET_EXPORT_ENABLE) /* * Force nowait in two circumstances: * * (1) If we're running with FIXED_PORT_SPEED we're some sort * of embedded configuration where we don't want to wait for connect * * (2) Socket export has been disabled. In this case we have no * way to know when client apps are watching the export channels, * so we need to be running all the time. */ #define FORCE_NOWAIT #endif /* defined(FIXED_PORT_SPEED) || !defined(SOCKET_EXPORT_ENABLE) */ /* IP version used by the program */ /* AF_UNSPEC: all * AF_INET: IPv4 only * AF_INET6: IPv6 only */ #ifdef IPV6_ENABLE static const int af = AF_UNSPEC; #else static const int af = AF_INET; #endif #define AFCOUNT 2 static fd_set all_fds; static int maxfd; static bool in_background = false; #ifndef FORCE_GLOBAL_ENABLE static bool listen_global = false; #endif /* FORCE_GLOBAL_ENABLE */ #ifndef FORCE_NOWAIT #define NOWAIT nowait static bool nowait = false; #else /* FORCE_NOWAIT */ #define NOWAIT true #endif /* FORCE_NOWAIT */ static jmp_buf restartbuf; static struct gps_context_t context; #if defined(SYSTEMD_ENABLE) static int sd_socket_count = 0; #endif static volatile sig_atomic_t signalled; static void onsig(int sig) { /* just set a variable, and deal with it in the main loop */ signalled = (sig_atomic_t) sig; } #if defined(PPS_ENABLE) static pthread_mutex_t report_mutex; #endif /* PPS_ENABLE */ static void visibilize(/*@out@*/char *buf2, size_t len, const char *buf) { const char *sp; buf2[0] = '\0'; for (sp = buf; *sp != '\0' && strlen(buf2)+4 < len; sp++) if (isprint(*sp) || (sp[0] == '\n' && sp[1] == '\0') || (sp[0] == '\r' && sp[2] == '\0')) (void)snprintf(buf2 + strlen(buf2), 2, "%c", *sp); else (void)snprintf(buf2 + strlen(buf2), 6, "\\x%02x", 0x00ff & (unsigned)*sp); } void gpsd_report(int errlevel, const char *fmt, ...) /* assemble command in printf(3) style, use stderr or syslog */ { #ifndef SQUELCH_ENABLE if (errlevel <= context.debug) { char buf[BUFSIZ], buf2[BUFSIZ]; char *err_str; va_list ap; #if defined(PPS_ENABLE) /*@ -unrecog (splint has no pthread declarations as yet) @*/ (void)pthread_mutex_lock(&report_mutex); /* +unrecog */ #endif /* PPS_ENABLE */ switch ( errlevel ) { case LOG_ERROR: err_str = "ERROR: "; break; case LOG_SHOUT: err_str = "SHOUT: "; break; case LOG_WARN: err_str = "WARN: "; break; case LOG_INF: err_str = "INFO: "; break; case LOG_DATA: err_str = "DATA: "; break; case LOG_PROG: err_str = "PROG: "; break; case LOG_IO: err_str = "IO: "; break; case LOG_SPIN: err_str = "SPIN: "; break; case LOG_RAW: err_str = "RAW: "; break; default: err_str = "UNK: "; } (void)strlcpy(buf, "gpsd:", sizeof(buf)); (void)strncat(buf, err_str, sizeof(buf) - 1 - strlen(buf)); va_start(ap, fmt); (void)vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), fmt, ap); va_end(ap); visibilize(buf2, sizeof(buf2), buf); if (in_background) syslog((errlevel == 0) ? LOG_ERR : LOG_NOTICE, "%s", buf2); else (void)fputs(buf2, stderr); #if defined(PPS_ENABLE) /*@ -unrecog (splint has no pthread declarations as yet) @*/ (void)pthread_mutex_unlock(&report_mutex); /* +unrecog */ #endif /* PPS_ENABLE */ } #endif /* !SQUELCH_ENABLE */ } static void usage(void) { const struct gps_type_t **dp; (void)printf("usage: gpsd [-b] [-n] [-N] [-D n] [-F sockfile] [-G] [-P pidfile] [-S port] [-h] device...\n\ Options include: \n\ -b = bluetooth-safe: open data sources read-only\n\ -n = don't wait for client connects to poll GPS\n\ -N = don't go into background\n\ -F sockfile = specify control socket location\n" #ifndef FORCE_GLOBAL_ENABLE " -G = make gpsd listen on INADDR_ANY\n" #endif /* FORCE_GLOBAL_ENABLE */ " -P pidfile = set file to record process ID \n\ -D integer (default 0) = set debug level \n\ -S integer (default %s) = set port for daemon \n\ -h = help message \n\ -V = emit version and exit.\n\ A device may be a local serial device for GPS input, or a URL of the form:\n\ {dgpsip|ntrip}://[user:passwd@]host[:port][/stream]\n\ gpsd://host[:port][/device][?protocol]\n\ in which case it specifies an input source for GPSD, DGPS or ntrip data.\n\ \n\ The following driver types are compiled into this gpsd instance:\n", DEFAULT_GPSD_PORT); for (dp = gpsd_drivers; *dp; dp++) { (void)printf(" %s\n", (*dp)->type_name); } #ifdef NTPSHM_ENABLE (void)printf(" NTPSHM\n"); #endif #if defined(PPS_ENABLE) (void)printf(" PPS\n"); #endif } #ifdef CONTROL_SOCKET_ENABLE static socket_t filesock(char *filename) { struct sockaddr_un addr; socket_t sock; /*@ -mayaliasunique -usedef @*/ if (BAD_SOCKET(sock = socket(AF_UNIX, SOCK_STREAM, 0))) { gpsd_report(LOG_ERROR, "Can't create device-control socket\n"); return -1; } (void)strlcpy(addr.sun_path, filename, sizeof(addr.sun_path)); addr.sun_family = (sa_family_t)AF_UNIX; if (bind(sock, (struct sockaddr *)&addr, (int)sizeof(addr)) < 0) { gpsd_report(LOG_ERROR, "can't bind to local socket %s\n", filename); (void)close(sock); return -1; } if (listen(sock, QLEN) == -1) { gpsd_report(LOG_ERROR, "can't listen on local socket %s\n", filename); (void)close(sock); return -1; } /*@ +mayaliasunique +usedef @*/ /* coverity[leaked_handle] This is an intentional allocation */ return sock; } #endif /* CONTROL_SOCKET_ENABLE */ /* * This hackery is intended to support SBCs that are resource-limited * and only need to support one or a few devices each. It avoids the * space overhead of allocating thousands of unused device structures. * This array fills from the bottom, so as an extreme case you could * reduce LIMITED_MAX_DEVICES to 1. */ #ifdef LIMITED_MAX_DEVICES #define MAXDEVICES LIMITED_MAX_DEVICES #else /* we used to make this FD_SETSIZE, but that cost 14MB of wasted core! */ #define MAXDEVICES 4 #endif #define sub_index(s) (int)((s) - subscribers) #define allocated_device(devp) ((devp)->gpsdata.dev.path[0] != '\0') #define free_device(devp) (devp)->gpsdata.dev.path[0] = '\0' #define initialized_device(devp) ((devp)->context != NULL) static struct gps_device_t devices[MAXDEVICES]; static void adjust_max_fd(int fd, bool on) /* track the largest fd currently in use */ { if (on) { if (fd > maxfd) maxfd = fd; } #if !defined(LIMITED_MAX_DEVICES) && !defined(LIMITED_MAX_CLIENT_FD) /* * I suspect there could be some weird interactions here if * either of these were set lower than FD_SETSIZE. We'll avoid * potential bugs by not scavenging in this case at all -- should * be OK, as the use case for limiting is SBCs where the limits * will be very low (typically 1) and the maximum size of fd * set to scan through correspondingly small. */ else { if (fd == maxfd) { int tfd; for (maxfd = tfd = 0; tfd < FD_SETSIZE; tfd++) if (FD_ISSET(tfd, &all_fds)) maxfd = tfd; } } #endif /* !defined(LIMITED_MAX_DEVICES) && !defined(LIMITED_MAX_CLIENT_FD) */ } #ifdef SOCKET_EXPORT_ENABLE static socket_t passivesock_af(int af, char *service, char *tcp_or_udp, int qlen) /* bind a passive command socket for the daemon */ { volatile socket_t s; /* * af = address family, * service = IANA protocol name or number. * tcp_or_udp = TCP or UDP * qlen = maximum wait-queue length for connections */ struct servent *pse; struct protoent *ppe; /* splint has a bug here */ sockaddr_t sat; int sin_len = 0; int type, proto, one = 1; in_port_t port; char *af_str = ""; INVALIDATE_SOCKET(s); if ((pse = getservbyname(service, tcp_or_udp))) port = ntohs((in_port_t) pse->s_port); else if ((port = (in_port_t) atoi(service)) == 0) { gpsd_report(LOG_ERROR, "can't get \"%s\" service entry.\n", service); return -1; } ppe = getprotobyname(tcp_or_udp); if (strcmp(tcp_or_udp, "udp") == 0) { type = SOCK_DGRAM; /*@i@*/ proto = (ppe) ? ppe->p_proto : IPPROTO_UDP; } else { type = SOCK_STREAM; /*@i@*/ proto = (ppe) ? ppe->p_proto : IPPROTO_TCP; } /*@ -mustfreefresh +matchanyintegral @*/ switch (af) { case AF_INET: sin_len = sizeof(sat.sa_in); memset((char *)&sat.sa_in, 0, sin_len); sat.sa_in.sin_family = (sa_family_t) AF_INET; #ifndef FORCE_GLOBAL_ENABLE if (!listen_global) sat.sa_in.sin_addr.s_addr = htonl(INADDR_LOOPBACK); else #endif /* FORCE_GLOBAL_ENABLE */ sat.sa_in.sin_addr.s_addr = htonl(INADDR_ANY); sat.sa_in.sin_port = htons(port); af_str = "IPv4"; /* see PF_INET6 case below */ s = socket(PF_INET, type, proto); break; #ifdef IPV6_ENABLE case AF_INET6: sin_len = sizeof(sat.sa_in6); memset((char *)&sat.sa_in6, 0, sin_len); sat.sa_in6.sin6_family = (sa_family_t) AF_INET6; #ifndef FORCE_GLOBAL_ENABLE if (!listen_global) sat.sa_in6.sin6_addr = in6addr_loopback; else #endif /* FORCE_GLOBAL_ENABLE */ sat.sa_in6.sin6_addr = in6addr_any; sat.sa_in6.sin6_port = htons(port); /* * Traditionally BSD uses "communication domains", named by * constants starting with PF_ as the first argument for * select. In practice PF_INET has the same value as AF_INET * (on BSD and Linux, and probably everywhere else). POSIX * leaves much of this unspecified, but requires that AF_INET * be recognized. We follow tradition here. */ af_str = "IPv6"; s = socket(PF_INET6, type, proto); /* * On some network stacks, including Linux's, an IPv6 socket * defaults to listening on IPv4 as well. Unless we disable * this, trying to listen on in6addr_any will fail with the * address-in-use error condition. */ if (s > -1) { int on = 1; if (setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY, &on, sizeof(on)) == -1) { gpsd_report(LOG_ERROR, "Error: SETSOCKOPT IPV6_V6ONLY\n"); (void)close(s); return -1; } } break; #endif default: gpsd_report(LOG_ERROR, "unhandled address family %d\n", af); return -1; } gpsd_report(LOG_IO, "opening %s socket\n", af_str); if (BAD_SOCKET(s)) { gpsd_report(LOG_ERROR, "can't create %s socket\n", af_str); return -1; } if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (char *)&one, (int)sizeof(one)) == -1) { gpsd_report(LOG_ERROR, "Error: SETSOCKOPT SO_REUSEADDR\n"); (void)close(s); return -1; } if (bind(s, &sat.sa, sin_len) < 0) { gpsd_report(LOG_ERROR, "can't bind to %s port %s, %s\n", af_str, service, strerror(errno)); if (errno == EADDRINUSE) { gpsd_report(LOG_ERROR, "maybe gpsd is already running!\n"); } (void)close(s); return -1; } if (type == SOCK_STREAM && listen(s, qlen) == -1) { gpsd_report(LOG_ERROR, "can't listen on port %s\n", service); (void)close(s); return -1; } gpsd_report(LOG_SPIN, "passivesock_af() -> %d\n", s); return s; /*@ +mustfreefresh -matchanyintegral @*/ } /* *INDENT-OFF* */ static int passivesocks(char *service, char *tcp_or_udp, int qlen, /*@out@*/socket_t socks[]) { int numsocks = AFCOUNT; int i; for (i = 0; i < AFCOUNT; i++) INVALIDATE_SOCKET(socks[i]); #if defined(SYSTEMD_ENABLE) if (sd_socket_count > 0) { for (i = 0; i < AFCOUNT && i < sd_socket_count - 1; i++) { socks[i] = SD_SOCKET_FDS_START + i + 1; } return sd_socket_count - 1; } #endif if (AF_UNSPEC == af || (AF_INET == af)) socks[0] = passivesock_af(AF_INET, service, tcp_or_udp, qlen); if (AF_UNSPEC == af || (AF_INET6 == af)) socks[1] = passivesock_af(AF_INET6, service, tcp_or_udp, qlen); for (i = 0; i < AFCOUNT; i++) if (socks[i] < 0) numsocks--; /* Return the number of succesfully opened sockets * The failed ones are identified by negative values */ return numsocks; } /* *INDENT-ON* */ struct subscriber_t { int fd; /* client file descriptor. -1 if unused */ timestamp_t active; /* when subscriber last polled for data */ struct policy_t policy; /* configurable bits */ }; #ifdef LIMITED_MAX_CLIENTS #define MAXSUBSCRIBERS LIMITED_MAX_CLIENTS #else /* subscriber structure is small enough that there's no need to limit this */ #define MAXSUBSCRIBERS FD_SETSIZE #endif #define subscribed(sub, devp) (sub->policy.watcher && (sub->policy.devpath[0]=='\0' || strcmp(sub->policy.devpath, devp->gpsdata.dev.path)==0)) static struct subscriber_t subscribers[MAXSUBSCRIBERS]; /* indexed by client file descriptor */ #define UNALLOCATED_FD -1 static /*@null@*//*@observer@ */ struct subscriber_t *allocate_client(void) /* return the address of a subscriber structure allocated for a new session */ { int si; #if UNALLOCATED_FD == 0 #error client allocation code will fail horribly #endif for (si = 0; si < NITEMS(subscribers); si++) { if (subscribers[si].fd == UNALLOCATED_FD) { subscribers[si].fd = 0; /* mark subscriber as allocated */ return &subscribers[si]; } } return NULL; } static void detach_client(struct subscriber_t *sub) /* detach a client and terminate the session */ { char *c_ip; if (sub->fd == UNALLOCATED_FD) return; c_ip = netlib_sock2ip(sub->fd); (void)shutdown(sub->fd, SHUT_RDWR); gpsd_report(LOG_SPIN, "close(%d) in detach_client()\n", sub->fd); (void)close(sub->fd); gpsd_report(LOG_INF, "detaching %s (sub %d, fd %d) in detach_client\n", c_ip, sub_index(sub), sub->fd); FD_CLR(sub->fd, &all_fds); adjust_max_fd(sub->fd, false); sub->active = (timestamp_t)0; sub->policy.watcher = false; sub->policy.json = false; sub->policy.nmea = false; sub->policy.raw = 0; sub->policy.scaled = false; sub->policy.timing = false; sub->policy.devpath[0] = '\0'; sub->fd = UNALLOCATED_FD; /*@+mustfreeonly@*/ } static ssize_t throttled_write(struct subscriber_t *sub, char *buf, size_t len) /* write to client -- throttle if it's gone or we're close to buffer overrun */ { ssize_t status; if (context.debug >= 3) { if (isprint(buf[0])) gpsd_report(LOG_IO, "=> client(%d): %s\n", sub_index(sub), buf); else { char *cp, buf2[MAX_PACKET_LENGTH * 3]; buf2[0] = '\0'; for (cp = buf; cp < buf + len; cp++) (void)snprintf(buf2 + strlen(buf2), sizeof(buf2) - strlen(buf2), "%02x", (unsigned int)(*cp & 0xff)); gpsd_report(LOG_IO, "=> client(%d): =%s\n", sub_index(sub), buf2); } } #if defined(PPS_ENABLE) /*@ -unrecog (splint has no pthread declarations as yet) @*/ (void)pthread_mutex_lock(&report_mutex); /* +unrecog */ #endif /* PPS_ENABLE */ status = send(sub->fd, buf, len, 0); #if defined(PPS_ENABLE) /*@ -unrecog (splint has no pthread declarations as yet) @*/ (void)pthread_mutex_unlock(&report_mutex); /* +unrecog */ #endif /* PPS_ENABLE */ if (status == (ssize_t) len) return status; else if (status > -1) { gpsd_report(LOG_INF, "short write disconnecting client(%d)\n", sub_index(sub)); detach_client(sub); return 0; } else if (errno == EAGAIN || errno == EINTR) return 0; /* no data written, and errno says to retry */ else if (errno == EBADF) gpsd_report(LOG_WARN, "client(%d) has vanished.\n", sub_index(sub)); else if (errno == EWOULDBLOCK && timestamp() - sub->active > NOREAD_TIMEOUT) gpsd_report(LOG_INF, "client(%d) timed out.\n", sub_index(sub)); else gpsd_report(LOG_INF, "client(%d) write: %s\n", sub_index(sub), strerror(errno)); detach_client(sub); return status; } static void notify_watchers(struct gps_device_t *device, const char *sentence, ...) /* notify all clients watching a given device of an event */ { va_list ap; char buf[BUFSIZ]; struct subscriber_t *sub; va_start(ap, sentence); (void)vsnprintf(buf, sizeof(buf), sentence, ap); va_end(ap); for (sub = subscribers; sub < subscribers + MAXSUBSCRIBERS; sub++) if (sub->active != 0 && subscribed(sub, device)) (void)throttled_write(sub, buf, strlen(buf)); } #endif /* SOCKET_EXPORT_ENABLE */ static void deactivate_device(struct gps_device_t *device) /* deactivate device, but leave it in the pool (do not free it) */ { #ifdef SOCKET_EXPORT_ENABLE notify_watchers(device, "{\"class\":\"DEVICE\",\"path\":\"%s\",\"activated\":0}\r\n", device->gpsdata.dev.path); #endif /* SOCKET_EXPORT_ENABLE */ if (!BAD_SOCKET(device->gpsdata.gps_fd)) { FD_CLR(device->gpsdata.gps_fd, &all_fds); adjust_max_fd(device->gpsdata.gps_fd, false); #if defined(PPS_ENABLE) && defined(TIOCMIWAIT) #endif /* defined(PPS_ENABLE) && defined(TIOCMIWAIT) */ #ifdef NTPSHM_ENABLE ntpd_link_deactivate(device); #endif /* NTPSHM_ENABLE */ gpsd_deactivate(device); } } #if defined(SOCKET_EXPORT_ENABLE) || defined(CONTROL_SOCKET_ENABLE) /* *INDENT-OFF* */ /*@null@*//*@observer@*/ static struct gps_device_t *find_device(/*@null@*/const char *device_name) /* find the device block for an existing device name */ { struct gps_device_t *devp; for (devp = devices; devp < devices + MAXDEVICES; devp++) { if (allocated_device(devp) && NULL != device_name && strcmp(devp->gpsdata.dev.path, device_name) == 0) return devp; } return NULL; } /* *INDENT-ON* */ #endif /* defined(SOCKET_EXPORT_ENABLE) || defined(CONTROL_SOCKET_ENABLE) */ static bool open_device( /*@null@*/struct gps_device_t *device) { if (NULL == device || gpsd_activate(device) < 0) { return false; } gpsd_report(LOG_INF, "device %s activated\n", device->gpsdata.dev.path); FD_SET(device->gpsdata.gps_fd, &all_fds); adjust_max_fd(device->gpsdata.gps_fd, true); return true; } bool gpsd_add_device(const char *device_name, bool flag_nowait) /* add a device to the pool; open it right away if in nowait mode */ { struct gps_device_t *devp; bool ret = false; /* we can't handle paths longer than GPS_PATH_MAX, so don't try */ if (strlen(device_name) >= GPS_PATH_MAX) { gpsd_report(LOG_ERROR, "ignoring device %s: path length exceeds maximum %d\n", device_name, GPS_PATH_MAX); return false; } /* stash devicename away for probing when the first client connects */ for (devp = devices; devp < devices + MAXDEVICES; devp++) if (!allocated_device(devp)) { gpsd_init(devp, &context, device_name); #ifdef NTPSHM_ENABLE /* * Now is the right time to grab the shared memory segment(s) * to communicate the navigation message derived and (possibly) * 1pps derived time data to ntpd. */ /* do not start more than one ntp thread */ if (!(devp->shmindex >= 0)) ntpd_link_activate(devp); gpsd_report(LOG_INF, "NTPD ntpd_link_activate: %d\n", (int)devp->shmindex >= 0); #endif /* NTPSHM_ENABLE */ gpsd_report(LOG_INF, "stashing device %s at slot %d\n", device_name, (int)(devp - devices)); if (!flag_nowait) { devp->gpsdata.gps_fd = -1; ret = true; } else { ret = open_device(devp); } #ifdef SOCKET_EXPORT_ENABLE notify_watchers(devp, "{\"class\":\"DEVICE\",\"path\":\"%s\",\"activated\":%lf}\r\n", devp->gpsdata.dev.path, timestamp()); #endif /* SOCKET_EXPORT_ENABLE */ break; } return ret; } #ifdef CONTROL_SOCKET_ENABLE /*@ observer @*/ static char *snarfline(char *p, /*@out@*/ char **out) /* copy the rest of the command line, before CR-LF */ { char *q; static char stash[BUFSIZ]; /*@ -temptrans -mayaliasunique @*/ for (q = p; isprint(*p) && !isspace(*p) && /*@i@*/ (p - q < BUFSIZ - 1); p++) continue; (void)memcpy(stash, q, (size_t) (p - q)); stash[p - q] = '\0'; *out = stash; return p; /*@ +temptrans +mayaliasunique @*/ } static void handle_control(int sfd, char *buf) /* handle privileged commands coming through the control socket */ { char *stash; struct gps_device_t *devp; /* * The only other place in the code that knows about the format * of the + and - commands is the gpsd_control() function in * gpsdctl.c. Be careful about keeping them in sync, or * hotplugging will have mysterious failures. */ /*@ -sefparams @*/ if (buf[0] == '-') { /* remove device named after - */ (void)snarfline(buf + 1, &stash); gpsd_report(LOG_INF, "<= control(%d): removing %s\n", sfd, stash); if ((devp = find_device(stash))) { deactivate_device(devp); free_device(devp); ignore_return(write(sfd, "OK\n", 3)); } else ignore_return(write(sfd, "ERROR\n", 6)); } else if (buf[0] == '+') { /* add device named after + */ (void)snarfline(buf + 1, &stash); if (find_device(stash)) { gpsd_report(LOG_INF, "<= control(%d): %s already active \n", sfd, stash); ignore_return(write(sfd, "ERROR\n", 6)); } else { gpsd_report(LOG_INF, "<= control(%d): adding %s\n", sfd, stash); if (gpsd_add_device(stash, NOWAIT)) ignore_return(write(sfd, "OK\n", 3)); else ignore_return(write(sfd, "ERROR\n", 6)); } } else if (buf[0] == '!') { /* split line after ! into device=string, send string to device */ char *eq; (void)snarfline(buf + 1, &stash); eq = strchr(stash, '='); if (eq == NULL) { gpsd_report(LOG_WARN, "<= control(%d): ill-formed command \n", sfd); ignore_return(write(sfd, "ERROR\n", 6)); } else { *eq++ = '\0'; if ((devp = find_device(stash))) { if (devp->context->readonly || (devp->sourcetype <= source_blockdev)) { gpsd_report(LOG_WARN, "<= control(%d): attempted to write to a read-only device\n", sfd); ignore_return(write(sfd, "ERROR\n", 6)); } else { gpsd_report(LOG_INF, "<= control(%d): writing to %s \n", sfd, stash); if (write(devp->gpsdata.gps_fd, eq, strlen(eq)) <= 0) { gpsd_report(LOG_WARN, "<= control(%d): write to device failed\n", sfd); ignore_return(write(sfd, "ERROR\n", 6)); } else { ignore_return(write(sfd, "OK\n", 3)); } } } else { gpsd_report(LOG_INF, "<= control(%d): %s not active \n", sfd, stash); ignore_return(write(sfd, "ERROR\n", 6)); } } } else if (buf[0] == '&') { /* split line after & into dev=hexdata, send unpacked hexdata to dev */ char *eq; (void)snarfline(buf + 1, &stash); eq = strchr(stash, '='); if (eq == NULL) { gpsd_report(LOG_WARN, "<= control(%d): ill-formed command\n", sfd); ignore_return(write(sfd, "ERROR\n", 6)); } else { size_t len; *eq++ = '\0'; len = strlen(eq) + 5; if ((devp = find_device(stash)) != NULL) { if (devp->context->readonly || (devp->sourcetype <= source_blockdev)) { gpsd_report(LOG_WARN, "<= control(%d): attempted to write to a read-only device\n", sfd); ignore_return(write(sfd, "ERROR\n", 6)); } else { int st; /* NOTE: this destroys the original buffer contents */ st = gpsd_hexpack(eq, eq, len); if (st <= 0) { gpsd_report(LOG_INF, "<= control(%d): invalid hex string (error %d).\n", sfd, st); ignore_return(write(sfd, "ERROR\n", 6)); } else { gpsd_report(LOG_INF, "<= control(%d): writing %d bytes fromhex(%s) to %s\n", sfd, st, eq, stash); if (write(devp->gpsdata.gps_fd, eq, (size_t) st) <= 0) { gpsd_report(LOG_WARN, "<= control(%d): write to device failed\n", sfd); ignore_return(write(sfd, "ERROR\n", 6)); } else { ignore_return(write(sfd, "OK\n", 3)); } } } } else { gpsd_report(LOG_INF, "<= control(%d): %s not active\n", sfd, stash); ignore_return(write(sfd, "ERROR\n", 6)); } } } else if (strcmp(buf, "?devices")==0) { /* write back devices list followed by OK */ for (devp = devices; devp < devices + MAXDEVICES; devp++) { char *path = devp->gpsdata.dev.path; ignore_return(write(sfd, path, strlen(path))); ignore_return(write(sfd, "\n", 1)); } ignore_return(write(sfd, "OK\n", 3)); } else { /* unknown command */ ignore_return(write(sfd, "ERROR\n", 6)); } /*@ +sefparams @*/ } #endif /* CONTROL_SOCKET_ENABLE */ #ifdef SOCKET_EXPORT_ENABLE static bool awaken(struct gps_device_t *device) /* awaken a device and notify all watchers*/ { /* open that device */ if (!initialized_device(device)) { if (!open_device(device)) { gpsd_report(LOG_PROG, "%s: open failed\n", device->gpsdata.dev.path); free_device(device); return false; } } if (!BAD_SOCKET(device->gpsdata.gps_fd)) { gpsd_report(LOG_PROG, "device %d (fd=%d, path %s) already active.\n", (int)(device - devices), device->gpsdata.gps_fd, device->gpsdata.dev.path); return true; } else { if (gpsd_activate(device) < 0) { gpsd_report(LOG_ERROR, "%s: device activation failed.\n", device->gpsdata.dev.path); return false; } else { gpsd_report(LOG_RAW, "flagging descriptor %d in assign_channel()\n", device->gpsdata.gps_fd); FD_SET(device->gpsdata.gps_fd, &all_fds); adjust_max_fd(device->gpsdata.gps_fd, true); return true; } } } #ifdef RECONFIGURE_ENABLE static bool privileged_user(struct gps_device_t *device) /* is this channel privileged to change a device's behavior? */ { /* grant user privilege if he's the only one listening to the device */ struct subscriber_t *sub; int subcount = 0; for (sub = subscribers; sub < subscribers + MAXSUBSCRIBERS; sub++) { if (sub->active == 0) continue; else if (subscribed(sub, device)) subcount++; } return subcount == 1; } static void set_serial(struct gps_device_t *device, speed_t speed, char *modestring) /* set serial parameters for a device from a speed and modestring */ { unsigned int stopbits = device->gpsdata.dev.stopbits; char parity = device->gpsdata.dev.parity; int wordsize = 8; if (strchr("78", *modestring) != NULL) { while (isspace(*modestring)) modestring++; wordsize = (int)(*modestring++ - '0'); if (strchr("NOE", *modestring) != NULL) { parity = *modestring++; while (isspace(*modestring)) modestring++; if (strchr("12", *modestring) != NULL) stopbits = (unsigned int)(*modestring - '0'); } } gpsd_report(LOG_PROG, "set_serial(,%d,%s) %c%d\n", speed, modestring, parity, stopbits); /* no support for other word sizes yet */ /* *INDENT-OFF* */ if (wordsize == (int)(9 - stopbits) && device->device_type->speed_switcher != NULL) { if (device->device_type->speed_switcher(device, speed, parity, (int)stopbits)) { /* * Deep black magic is required here. We have to * allow the control string time to register at the * GPS before we do the baud rate switch, which * effectively trashes the UART's buffer. * * This definitely fails below 40 milliseconds on a * BU-303b. 50ms is also verified by Chris Kuethe on * Pharos iGPS360 + GSW 2.3.1ES + prolific * Rayming TN-200 + GSW 2.3.1 + ftdi * Rayming TN-200 + GSW 2.3.2 + ftdi * so it looks pretty solid. * * The minimum delay time is probably constant * across any given type of UART. */ (void)tcdrain(device->gpsdata.gps_fd); (void)usleep(50000); gpsd_set_speed(device, speed, parity, stopbits); } } /* *INDENT-ON* */ } #endif /* RECONFIGURE_ENABLE */ #ifdef SOCKET_EXPORT_ENABLE static void json_devicelist_dump(char *reply, size_t replylen) { struct gps_device_t *devp; (void)strlcpy(reply, "{\"class\":\"DEVICES\",\"devices\":[", replylen); for (devp = devices; devp < devices + MAXDEVICES; devp++) if (allocated_device(devp) && strlen(reply) + strlen(devp->gpsdata.dev.path) + 3 < replylen - 1) { char *cp; json_device_dump(devp, reply + strlen(reply), replylen - strlen(reply)); cp = reply + strlen(reply); *--cp = '\0'; *--cp = '\0'; (void)strlcat(reply, ",", replylen); } if (reply[strlen(reply) - 1] == ',') reply[strlen(reply) - 1] = '\0'; (void)strlcat(reply, "]}\r\n", replylen); } #endif /* SOCKET_EXPORT_ENABLE */ static void rstrip(char *str) /* strip trailing \r\n\t\SP from a string */ { char *strend; strend = str + strlen(str) - 1; while (isspace(*strend)) { *strend = '\0'; --strend; } } static void handle_request(struct subscriber_t *sub, const char *buf, const char **after, char *reply, size_t replylen) { struct gps_device_t *devp; const char *end = NULL; /* * There's a splint limitation that parameters can be declared * @out@ or @null@ but not, apparently, both. This collides with * the (admittedly tricky) way we use endptr. The workaround is to * declare it @null@ and use -compdef around the JSON reader calls. */ /*@-compdef@*/ /* * See above... */ /*@-nullderef -nullpass@*/ if (strncmp(buf, "DEVICES;", 8) == 0) { buf += 8; json_devicelist_dump(reply, replylen); } else if (strncmp(buf, "WATCH", 5) == 0 && (buf[5] == ';' || buf[5] == '=')) { const char *start = buf; buf += 5; if (*buf == ';') { ++buf; } else { int status = json_watch_read(buf + 1, &sub->policy, &end); #ifndef TIMING_ENABLE sub->policy.timing = false; #endif /* TIMING_ENABLE */ if (end == NULL) buf += strlen(buf); else { if (*end == ';') ++end; buf = end; } if (status != 0) { (void)snprintf(reply, replylen, "{\"class\":\"ERROR\",\"message\":\"Invalid WATCH: %s\"}\r\n", json_error_string(status)); gpsd_report(LOG_ERROR, "response: %s\n", reply); } else if (sub->policy.watcher) { if (sub->policy.devpath[0] == '\0') { /* awaken all devices */ for (devp = devices; devp < devices + MAXDEVICES; devp++) if (allocated_device(devp)) { (void)awaken(devp); if (devp->sourcetype == source_gpsd) { (void)gpsd_write(devp, "?", 1); (void)gpsd_write(devp, start, (size_t)(end-start)); } } } else { devp = find_device(sub->policy.devpath); if (devp == NULL) { (void)snprintf(reply, replylen, "{\"class\":\"ERROR\",\"message\":\"No such device as %s\"}\r\n", sub->policy.devpath); gpsd_report(LOG_ERROR, "response: %s\n", reply); goto bailout; } else if (awaken(devp)) { if (devp->sourcetype == source_gpsd) { (void)gpsd_write(devp, "?", 1); (void)gpsd_write(devp, start, (size_t)(end-start)); } } else { (void)snprintf(reply, replylen, "{\"class\":\"ERROR\",\"message\":\"Can't assign %s\"}\r\n", sub->policy.devpath); gpsd_report(LOG_ERROR, "response: %s\n", reply); goto bailout; } } } } /* display a device list and the user's policy */ json_devicelist_dump(reply + strlen(reply), replylen - strlen(reply)); json_watch_dump(&sub->policy, reply + strlen(reply), replylen - strlen(reply)); } else if (strncmp(buf, "DEVICE", 6) == 0 && (buf[6] == ';' || buf[6] == '=')) { struct devconfig_t devconf; buf += 6; devconf.path[0] = '\0'; /* initially, no device selection */ if (*buf == ';') { ++buf; } else { #ifdef RECONFIGURE_ENABLE struct gps_device_t *device; /* first, select a device to operate on */ int status = json_device_read(buf + 1, &devconf, &end); if (end == NULL) buf += strlen(buf); else { if (*end == ';') ++end; buf = end; } device = NULL; /*@-branchstate@*/ if (status != 0) { (void)snprintf(reply, replylen, "{\"class\":\"ERROR\",\"message\":\"Invalid DEVICE: \"%s\"}\r\n", json_error_string(status)); gpsd_report(LOG_ERROR, "response: %s\n", reply); goto bailout; } else { if (devconf.path[0] != '\0') { /* user specified a path, try to assign it */ device = find_device(devconf.path); /* do not optimize away, we need 'device' later on! */ if (device == NULL || !awaken(device)) { (void)snprintf(reply, replylen, "{\"class\":\"ERROR\",\"message\":\"Can't open %s.\"}\r\n", devconf.path); gpsd_report(LOG_ERROR, "response: %s\n", reply); goto bailout; } } else { /* no path specified */ int devcount = 0; for (devp = devices; devp < devices + MAXDEVICES; devp++) if (allocated_device(devp)) { device = devp; devcount++; } if (devcount == 0) { (void)strlcat(reply, "{\"class\":\"ERROR\",\"message\":\"Can't perform DEVICE configuration, no devices attached.\"}\r\n", replylen); gpsd_report(LOG_ERROR, "response: %s\n", reply); goto bailout; } else if (devcount > 1) { (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "{\"class\":\"ERROR\",\"message\":\"No path specified in DEVICE, but multiple devices are attached.\"}\r\n"); gpsd_report(LOG_ERROR, "response: %s\n", reply); goto bailout; } /* we should have exactly one device now */ } if (device == NULL) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "{\"class\":\"ERROR\",\"message\":\"Channel has no device (possible internal error).\"}\r\n"); else if (!privileged_user(device)) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "{\"class\":\"ERROR\",\"message\":\"Multiple subscribers, cannot change control bits on %s.\"}\r\n", device->gpsdata.dev.path); else if (device->device_type == NULL) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "{\"class\":\"ERROR\",\"message\":\"Type of %s is unknown.\"}\r\n", device->gpsdata.dev.path); else { char serialmode[3]; const struct gps_type_t *dt = device->device_type; /* interpret defaults */ if (devconf.baudrate == DEVDEFAULT_BPS) devconf.baudrate = (uint) gpsd_get_speed(device); if (devconf.parity == DEVDEFAULT_PARITY) devconf.stopbits = device->gpsdata.dev.stopbits; if (devconf.stopbits == DEVDEFAULT_STOPBITS) devconf.stopbits = device->gpsdata.dev.stopbits; if (isnan(devconf.cycle)) devconf.cycle = device->gpsdata.dev.cycle; /* now that channel is selected, apply changes */ if (devconf.driver_mode != device->gpsdata.dev.driver_mode && devconf.driver_mode != DEVDEFAULT_NATIVE && dt->mode_switcher != NULL) dt->mode_switcher(device, devconf.driver_mode); serialmode[0] = devconf.parity; serialmode[1] = '0' + devconf.stopbits; serialmode[2] = '\0'; set_serial(device, (speed_t) devconf.baudrate, serialmode); if (dt->rate_switcher != NULL && isnan(devconf.cycle) == 0 && devconf.cycle >= dt->min_cycle) if (dt->rate_switcher(device, devconf.cycle)) device->gpsdata.dev.cycle = devconf.cycle; } } /*@+branchstate@*/ #else /* RECONFIGURE_ENABLE */ (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "{\"class\":\"ERROR\",\"message\":\"Device configuration support not compiled.\"}\r\n"); #endif /* RECONFIGURE_ENABLE */ } /* dump a response for each selected channel */ for (devp = devices; devp < devices + MAXDEVICES; devp++) if (!allocated_device(devp)) continue; else if (devconf.path[0] != '\0' && devp != NULL && strcmp(devp->gpsdata.dev.path, devconf.path) != 0) continue; else { json_device_dump(devp, reply + strlen(reply), replylen - strlen(reply)); } } else if (strncmp(buf, "POLL;", 5) == 0) { char tbuf[JSON_DATE_MAX+1]; int active = 0; buf += 5; for (devp = devices; devp < devices + MAXDEVICES; devp++) if (allocated_device(devp) && subscribed(sub, devp)) if ((devp->observed & GPS_TYPEMASK) != 0) active++; (void)snprintf(reply, replylen, "{\"class\":\"POLL\",\"time\":\"%s\",\"active\":%d,\"tpv\":[", unix_to_iso8601(timestamp(), tbuf, sizeof(tbuf)), active); for (devp = devices; devp < devices + MAXDEVICES; devp++) { if (allocated_device(devp) && subscribed(sub, devp)) { if ((devp->observed & GPS_TYPEMASK) != 0) { json_tpv_dump(devp, &sub->policy, reply + strlen(reply), replylen - strlen(reply)); rstrip(reply); (void)strlcat(reply, ",", replylen); } } } if (reply[strlen(reply) - 1] == ',') reply[strlen(reply) - 1] = '\0'; /* trim trailing comma */ (void)strlcat(reply, "],\"gst\":[", replylen); for (devp = devices; devp < devices + MAXDEVICES; devp++) { if (allocated_device(devp) && subscribed(sub, devp)) { if ((devp->observed & GPS_TYPEMASK) != 0) { json_noise_dump(&devp->gpsdata, reply + strlen(reply), replylen - strlen(reply)); rstrip(reply); (void)strlcat(reply, ",", replylen); } } } if (reply[strlen(reply) - 1] == ',') reply[strlen(reply) - 1] = '\0'; /* trim trailing comma */ (void)strlcat(reply, "],\"sky\":[", replylen); for (devp = devices; devp < devices + MAXDEVICES; devp++) { if (allocated_device(devp) && subscribed(sub, devp)) { if ((devp->observed & GPS_TYPEMASK) != 0) { json_sky_dump(&devp->gpsdata, reply + strlen(reply), replylen - strlen(reply)); rstrip(reply); (void)strlcat(reply, ",", replylen); } } } if (reply[strlen(reply) - 1] == ',') reply[strlen(reply) - 1] = '\0'; /* trim trailing comma */ (void)strlcat(reply, "]}\r\n", replylen); } else if (strncmp(buf, "VERSION;", 8) == 0) { buf += 8; json_version_dump(reply, replylen); } else { const char *errend; errend = buf + strlen(buf) - 1; while (isspace(*errend) && errend > buf) --errend; (void)snprintf(reply, replylen, "{\"class\":\"ERROR\",\"message\":\"Unrecognized request '%.*s'\"}\r\n", (int)(errend - buf), buf); gpsd_report(LOG_ERROR, "ERROR response: %s\n", reply); buf += strlen(buf); } bailout: *after = buf; /*@+nullderef +nullpass@*/ /*@+compdef@*/ } static void raw_report(struct subscriber_t *sub, struct gps_device_t *device) /* report a raw packet to a subscriber */ { /* *INDENT-OFF* */ /* * NMEA and other textual sentences are simply * copied to all clients that are in raw or nmea * mode. */ if (TEXTUAL_PACKET_TYPE(device->packet.type) && (sub->policy.raw > 0 || sub->policy.nmea)) { (void)throttled_write(sub, (char *)device->packet. outbuffer, device->packet.outbuflen); return; } /* * Also, simply copy if user has specified * super-raw mode. */ if (sub->policy.raw > 1) { (void)throttled_write(sub, (char *)device->packet. outbuffer, device->packet.outbuflen); return; } #ifdef BINARY_ENABLE /* * Maybe the user wants a binary packet hexdumped. */ if (sub->policy.raw == 1) { const char *hd = gpsd_hexdump((char *)device->packet.outbuffer, device->packet.outbuflen); /* * Ugh...depends on knowing the length of gpsd_hexdump's * buffer. */ (void)strlcat((char *)hd, "\r\n", MAX_PACKET_LENGTH * 2 + 1); (void)throttled_write(sub, (char *)hd, strlen(hd)); } #endif /* BINARY_ENABLE */ } static void pseudonmea_report(struct subscriber_t *sub, gps_mask_t changed, struct gps_device_t *device) /* report pseudo-NMEA in appropriate circumstances */ { if (GPS_PACKET_TYPE(device->packet.type) && !TEXTUAL_PACKET_TYPE(device->packet.type)) { char buf[MAX_PACKET_LENGTH * 3 + 2]; if ((changed & REPORT_IS) != 0) { nmea_tpv_dump(device, buf, sizeof(buf)); gpsd_report(LOG_IO, "<= GPS (binary tpv) %s: %s\n", device->gpsdata.dev.path, buf); (void)throttled_write(sub, buf, strlen(buf)); } if ((changed & SATELLITE_SET) != 0) { nmea_sky_dump(device, buf, sizeof(buf)); gpsd_report(LOG_IO, "<= GPS (binary sky) %s: %s\n", device->gpsdata.dev.path, buf); (void)throttled_write(sub, buf, strlen(buf)); } if ((changed & SUBFRAME_SET) != 0) { nmea_subframe_dump(device, buf, sizeof(buf)); gpsd_report(LOG_IO, "<= GPS (binary subframe) %s: %s\n", device->gpsdata.dev.path, buf); (void)throttled_write(sub, buf, strlen(buf)); } } } #endif /* SOCKET_EXPORT_ENABLE */ static void consume_packets(struct gps_device_t *device) /* consume and report packets from a specified device */ { gps_mask_t changed; int fragments; #ifdef SOCKET_EXPORT_ENABLE struct subscriber_t *sub; #endif /* SOCKET_EXPORT_ENABLE */ gpsd_report(LOG_RAW + 1, "polling %d\n", device->gpsdata.gps_fd); #ifdef NETFEED_ENABLE /* * Strange special case - the opening transaction on an NTRIP connection * may not yet be completed. Try to ratchet things forward. */ if (device->servicetype == service_ntrip && device->ntrip.conn_state != ntrip_conn_established) { /* the socket descriptor might change during connection */ if (!BAD_SOCKET(device->gpsdata.gps_fd)) { FD_CLR(device->gpsdata.gps_fd, &all_fds); } (void)ntrip_open(device, ""); if (device->ntrip.conn_state == ntrip_conn_err) { gpsd_report(LOG_WARN, "connection to ntrip server failed\n"); device->ntrip.conn_state = ntrip_conn_init; deactivate_device(device); } else { FD_SET(device->gpsdata.gps_fd, &all_fds); } return; } #endif /* NETFEED_ENABLE */ for (fragments = 0; ; fragments++) { changed = gpsd_poll(device); if (changed == ERROR_SET) { gpsd_report(LOG_WARN, "device read of %s returned error or packet sniffer failed sync (flags %s)\n", device->gpsdata.dev.path, gps_maskdump(changed)); deactivate_device(device); break; } else if (changed == NODATA_IS) { /* * No data on the first fragment read means the device * fd may have been in an end-of-file condition on select. */ if (fragments == 0) { gpsd_report(LOG_DATA, "%s returned zero bytes\n", device->gpsdata.dev.path); if (device->zerokill) { /* failed timeout-and-reawake, kill it */ deactivate_device(device); if (device->ntrip.works) { device->ntrip.works = false; // reset so we try this once only if (gpsd_activate(device) < 0) { gpsd_report(LOG_WARN, "reconnect to ntrip server failed\n"); } else { gpsd_report(LOG_INFO, "reconnecting to ntrip server\n"); FD_SET(device->gpsdata.gps_fd, &all_fds); } } } else { /* * Disable listening to this fd for long enough * that the buffer can fill up again. */ gpsd_report(LOG_DATA, "%s will be repolled in %f seconds\n", device->gpsdata.dev.path, DEVICE_REAWAKE); device->reawake = timestamp() + DEVICE_REAWAKE; FD_CLR(device->gpsdata.gps_fd, &all_fds); adjust_max_fd(device->gpsdata.gps_fd, false); } } /* * No data on later fragment reads just means the * input buffer is empty. In this case break out * of the packet-processing loop but don't drop * the device. */ break; } /* we got actual data, head off the reawake special case */ device->zerokill = false; device->reawake = (timestamp_t)0; /* must have a full packet to continue */ if ((changed & PACKET_SET) == 0) break; /* conditional prevents mask dumper from eating CPU */ if (context.debug >= LOG_DATA) gpsd_report(LOG_DATA, "packet type %d from %s with %s\n", device->packet.type, device->gpsdata.dev.path, gps_maskdump(device->gpsdata.set)); #ifdef SOCKET_EXPORT_ENABLE /* add any just-identified device to watcher lists */ if ((changed & DRIVER_IS) != 0) { bool listeners = false; for (sub = subscribers; sub < subscribers + MAXSUBSCRIBERS; sub++) if (sub->active != 0 && sub->policy.watcher && subscribed(sub, device)) listeners = true; if (listeners) { (void)awaken(device); } } /* handle laggy response to a firmware version query */ if ((changed & (DEVICEID_SET | DRIVER_IS)) != 0) { assert(device->device_type != NULL); { char id2[GPS_JSON_RESPONSE_MAX]; json_device_dump(device, id2, sizeof(id2)); notify_watchers(device, id2); } } #endif /* SOCKET_EXPORT_ENABLE */ /* * If the device provided an RTCM packet, repeat it to all devices. */ if ((changed & RTCM2_SET) != 0 || (changed & RTCM3_SET) != 0) { if (device->packet.outbuflen > RTCM_MAX) { gpsd_report(LOG_ERROR, "overlong RTCM packet (%zd bytes)\n", device->packet.outbuflen); } else { struct gps_device_t *dp; for (dp = devices; dp < devices+MAXDEVICES; dp++) { if (allocated_device(dp)) { /* *INDENT-OFF* */ if (dp->device_type->rtcm_writer != NULL) { if (dp->device_type->rtcm_writer(dp, (const char *)device->packet.outbuffer, device->packet.outbuflen) == 0) gpsd_report(LOG_ERROR, "Write to RTCM sink failed\n"); else { gpsd_report(LOG_IO, "<= DGPS: %zd bytes of RTCM relayed.\n", device->packet.outbuflen); } } /* *INDENT-ON* */ } } } } #ifdef NTPSHM_ENABLE /* * Time is eligible for shipping to NTPD if the driver has * asserted PPSTIME_IS at any point in the current cycle. */ if ((changed & CLEAR_IS)!=0) device->ship_to_ntpd = false; if ((changed & PPSTIME_IS)!=0) device->ship_to_ntpd = true; /* * Only update the NTP time if we've seen the leap-seconds data. * Else we may be providing GPS time. */ if (device->context->enable_ntpshm == 0) { //gpsd_report(LOG_PROG, "NTP: off\n"); } else if ((changed & TIME_SET) == 0) { //gpsd_report(LOG_PROG, "NTP: No time this packet\n"); } else if (isnan(device->newdata.time)) { //gpsd_report(LOG_PROG, "NTP: bad new time\n"); } else if (device->newdata.time == device->last_fixtime) { //gpsd_report(LOG_PROG, "NTP: Not a new time\n"); } else if (!device->ship_to_ntpd) { //gpsd_report(LOG_PROG, "NTP: No precision time report\n"); } else { double offset; //gpsd_report(LOG_PROG, "NTP: Got one\n"); /* assume zero when there's no offset method */ if (device->device_type == NULL || device->device_type->ntp_offset == NULL) offset = 0.0; else offset = device->device_type->ntp_offset(device); (void)ntpshm_put(device, device->newdata.time, offset); device->last_fixtime = device->newdata.time; } #endif /* NTPSHM_ENABLE */ /* * If no reliable end of cycle, must report every time * a sentence changes position or mode. Likely to * cause display jitter. */ if (!device->cycle_end_reliable && (changed & (LATLON_SET | MODE_SET))!=0) changed |= REPORT_IS; /* a few things are not per-subscriber reports */ if ((changed & REPORT_IS) != 0) { #ifdef NETFEED_ENABLE if (device->gpsdata.fix.mode == MODE_3D) { struct gps_device_t *dgnss; /* * Pass the fix to every potential caster, here. * netgnss_report() individual caster types get to * make filtering decisiona. */ for (dgnss = devices; dgnss < devices + MAXDEVICES; dgnss++) if (dgnss != device) netgnss_report(&context, device, dgnss); } #endif /* NETFEED_ENABLE */ #if defined(DBUS_EXPORT_ENABLE) && !defined(S_SPLINT_S) if (device->gpsdata.fix.mode > MODE_NO_FIX) send_dbus_fix(device); #endif /* defined(DBUS_EXPORT_ENABLE) && !defined(S_SPLINT_S) */ } #ifdef SHM_EXPORT_ENABLE if ((changed & (REPORT_IS|GST_SET|SATELLITE_SET|SUBFRAME_SET| ATTITUDE_SET|RTCM2_SET|RTCM3_SET|AIS_SET)) != 0) shm_update(&context, &device->gpsdata); #endif /* SHM_EXPORT_ENABLE */ #ifdef SOCKET_EXPORT_ENABLE /* update all subscribers associated with this device */ for (sub = subscribers; sub < subscribers + MAXSUBSCRIBERS; sub++) { /*@-nullderef@*/ if (sub == NULL || sub->active == 0 || !subscribed(sub, device)) continue; #ifdef PASSTHROUGH_ENABLE /* this is for passing through JSON packets */ if ((changed & PASSTHROUGH_IS) != 0) { (void)strlcat((char *)device->packet.outbuffer, "\r\n", sizeof(device->packet.outbuffer)); (void)throttled_write(sub, (char *)device->packet.outbuffer, device->packet.outbuflen+2); continue; } #endif /* PASSTHROUGH_ENABLE */ /* report raw packets to users subscribed to those */ raw_report(sub, device); /* some listeners may be in watcher mode */ if (sub->policy.watcher) { if (changed & DATA_IS) { /* guard keeps mask dumper from eating CPU */ if (context.debug >= LOG_PROG) gpsd_report(LOG_PROG, "Changed mask: %s with %sreliable cycle detection\n", gps_maskdump(changed), device->cycle_end_reliable ? "" : "un"); if ((changed & REPORT_IS) != 0) gpsd_report(LOG_PROG, "time to report a fix\n"); if (sub->policy.nmea) pseudonmea_report(sub, changed, device); if (sub->policy.json) { char buf[GPS_JSON_RESPONSE_MAX * 4]; json_data_report(changed, device, &sub->policy, buf, sizeof(buf)); if (buf[0] != '\0') (void)throttled_write(sub, buf, strlen(buf)); } } } /*@+nullderef@*/ } /* subscribers */ #endif /* SOCKET_EXPORT_ENABLE */ } } #ifdef SOCKET_EXPORT_ENABLE static int handle_gpsd_request(struct subscriber_t *sub, const char *buf) /* execute GPSD requests from a buffer */ { char reply[GPS_JSON_RESPONSE_MAX + 1]; reply[0] = '\0'; if (buf[0] == '?') { const char *end; for (end = ++buf; *buf != '\0'; buf = end) if (isspace(*buf)) end = buf + 1; else handle_request(sub, buf, &end, reply + strlen(reply), sizeof(reply) - strlen(reply)); } return (int)throttled_write(sub, reply, strlen(reply)); } #endif /* SOCKET_EXPORT_ENABLE */ #ifdef PPS_ENABLE static void ship_pps_drift_message(struct gps_device_t *session, struct timeval *tv) /* on PPS interrupt, ship a drift message to all clients */ { #ifdef SOCKET_EXPORT_ENABLE struct timeval clocktime; if (gettimeofday(&clocktime, NULL) == 0) notify_watchers(session, "{\"class\":\"PPS\",\"device\":\"%s\",\"real_sec\":%ld, \"real_musec\":%ld,\"clock_sec\":%ld,\"clock_musec\":%ld}\r\n", session->gpsdata.dev.path, tv->tv_sec, tv->tv_usec, clocktime.tv_sec, clocktime.tv_usec); #endif /* SOCKET_EXPORT_ENABLE */ } #endif /* PPS_ENABLE */ #ifdef __UNUSED_AUTOCONNECT__ #define DGPS_THRESHOLD 1600000 /* max. useful dist. from DGPS server (m) */ #define SERVER_SAMPLE 12 /* # of servers within threshold to check */ struct dgps_server_t { double lat, lon; char server[257]; double dist; }; static int srvcmp(const void *s, const void *t) { return (int)(((const struct dgps_server_t *)s)->dist - ((const struct dgps_server_t *)t)->dist); /* fixes: warning: cast discards qualifiers from pointer target type */ } static void netgnss_autoconnect(struct gps_context_t *context, double lat, double lon, const char *serverlist) /* tell the library to talk to the nearest DGPSIP server */ { struct dgps_server_t keep[SERVER_SAMPLE], hold, *sp, *tp; char buf[BUFSIZ]; FILE *sfp = fopen(serverlist, "r"); if (sfp == NULL) { gpsd_report(LOG_ERROR, "no DGPS server list found.\n"); return; } for (sp = keep; sp < keep + SERVER_SAMPLE; sp++) { sp->dist = DGPS_THRESHOLD; sp->server[0] = '\0'; } /*@ -usedef @*/ while (fgets(buf, (int)sizeof(buf), sfp)) { char *cp = strchr(buf, '#'); if (cp != NULL) *cp = '\0'; if (sscanf(buf, "%32lf %32lf %256s", &hold.lat, &hold.lon, hold.server) == 3) { hold.dist = earth_distance(lat, lon, hold.lat, hold.lon); tp = NULL; /* * The idea here is to look for a server in the sample array * that is (a) closer than the one we're checking, and (b) * furtherest away of all those that are closer. Replace it. * In this way we end up with the closest possible set. */ for (sp = keep; sp < keep + SERVER_SAMPLE; sp++) if (hold.dist < sp->dist && (tp == NULL || hold.dist > tp->dist)) tp = sp; if (tp != NULL) memcpy(tp, &hold, sizeof(struct dgps_server_t)); } } (void)fclose(sfp); if (keep[0].server[0] == '\0') { gpsd_report(LOG_ERROR, "no DGPS servers within %dm.\n", (int)(DGPS_THRESHOLD / 1000)); return; } /*@ +usedef @*/ /* sort them and try the closest first */ qsort((void *)keep, SERVER_SAMPLE, sizeof(struct dgps_server_t), srvcmp); for (sp = keep; sp < keep + SERVER_SAMPLE; sp++) { if (sp->server[0] != '\0') { gpsd_report(LOG_INF, "%s is %dkm away.\n", sp->server, (int)(sp->dist / 1000)); if (dgpsip_open(context, sp->server) >= 0) break; } } } #endif /* __UNUSED_AUTOCONNECT__ */ /*@ -mustfreefresh @*/ int main(int argc, char *argv[]) { /* some of these statics suppress -W warnings due to longjmp() */ #ifdef SOCKET_EXPORT_ENABLE static char *gpsd_service = NULL; /* this static pacifies splint */ struct subscriber_t *sub; #endif /* SOCKET_EXPORT_ENABLE */ #ifdef CONTROL_SOCKET_ENABLE static socket_t csock; fd_set control_fds; socket_t cfd; static char *control_socket = NULL; #endif /* CONTROL_SOCKET_ENABLE */ #if defined(SOCKET_EXPORT_ENABLE) || defined(CONTROL_SOCKET_ENABLE) sockaddr_t fsin; #endif /* defined(SOCKET_EXPORT_ENABLE) || defined(CONTROL_SOCKET_ENABLE) */ static char *pid_file = NULL; struct gps_device_t *device; fd_set rfds; int i, option, dfd; int msocks[2] = {-1, -1}; bool go_background = true; #ifdef COMPAT_SELECT struct timeval tv; #else sigset_t oldset, blockset; #endif /* COMPAT_SELECT */ const struct gps_type_t **dp; bool in_restart; context.debug = 0; gps_context_init(&context); #ifdef CONTROL_SOCKET_ENABLE INVALIDATE_SOCKET(csock); #endif /* CONTROL_SOCKET_ENABLE */ #ifdef PPS_ENABLE /*@-nullpass@*/ (void)pthread_mutex_init(&report_mutex, NULL); /*@+nullpass@*/ context.pps_hook = ship_pps_drift_message; #endif /* PPS_ENABLE */ while ((option = getopt(argc, argv, "F:D:S:bGhlNnP:V")) != -1) { switch (option) { case 'D': context.debug = (int)strtol(optarg, 0, 0); #ifdef CLIENTDEBUG_ENABLE gps_enable_debug(context.debug, stderr); #endif /* CLIENTDEBUG_ENABLE */ break; #ifdef CONTROL_SOCKET_ENABLE case 'F': control_socket = optarg; break; #endif /* CONTROL_SOCKET_ENABLE */ case 'N': go_background = false; break; case 'b': context.readonly = true; break; #ifndef FORCE_GLOBAL_ENABLE case 'G': listen_global = true; break; #endif /* FORCE_GLOBAL_ENABLE */ case 'l': /* list known device types and exit */ for (dp = gpsd_drivers; *dp; dp++) { #ifdef RECONFIGURE_ENABLE if ((*dp)->mode_switcher != NULL) (void)fputs("n\t", stdout); else (void)fputc('\t', stdout); if ((*dp)->speed_switcher != NULL) (void)fputs("b\t", stdout); else (void)fputc('\t', stdout); if ((*dp)->rate_switcher != NULL) (void)fputs("c\t", stdout); else (void)fputc('\t', stdout); #endif /* RECONFIGURE_ENABLE */ (void)puts((*dp)->type_name); } exit(EXIT_SUCCESS); case 'S': #ifdef SOCKET_EXPORT_ENABLE gpsd_service = optarg; #endif /* SOCKET_EXPORT_ENABLE */ break; case 'n': #ifndef FORCE_NOWAIT nowait = true; #endif /* FORCE_NOWAIT */ break; case 'P': pid_file = optarg; break; case 'V': (void)printf("gpsd: %s (revision %s)\n", VERSION, REVISION); exit(EXIT_SUCCESS); case 'h': case '?': default: usage(); exit(EXIT_SUCCESS); } } #ifdef SYSTEMD_ENABLE sd_socket_count = sd_get_socket_count(); if (sd_socket_count > 0 && control_socket) { gpsd_report(LOG_WARN, "control socket passed on command line ignored\n"); control_socket = NULL; } #endif #if defined(CONTROL_SOCKET_ENABLE) || defined(SYSTEMD_ENABLE) if ( #ifdef CONTROL_SOCKET_ENABLE control_socket == NULL #endif #if defined(CONTROL_SOCKET_ENABLE) && defined(SYSTEMD_ENABLE) && #endif #ifdef SYSTEMD_ENABLE sd_socket_count <= 0 #endif && optind >= argc) { gpsd_report(LOG_ERROR, "can't run with neither control socket nor devices\n"); exit(EXIT_FAILURE); } /* * Control socket has to be created before we go background in order to * avoid a race condition in which hotplug scripts can try opening * the socket before it's created. */ #ifdef SYSTEMD_ENABLE if (sd_socket_count > 0) { csock = SD_SOCKET_FDS_START; FD_SET(csock, &all_fds); adjust_max_fd(csock, true); } #endif #ifdef CONTROL_SOCKET_ENABLE if (control_socket) { (void)unlink(control_socket); if (BAD_SOCKET(csock = filesock(control_socket))) { gpsd_report(LOG_ERROR, "control socket create failed, netlib error %d\n", csock); exit(EXIT_FAILURE); } else gpsd_report(LOG_SPIN, "control socket %s is fd %d\n", control_socket, csock); FD_SET(csock, &all_fds); adjust_max_fd(csock, true); gpsd_report(LOG_PROG, "control socket opened at %s\n", control_socket); } #endif /* CONTROL_SOCKET_ENABLE */ #else if (optind >= argc) { gpsd_report(LOG_ERROR, "can't run with no devices specified\n"); exit(EXIT_FAILURE); } #endif /* defined(CONTROL_SOCKET_ENABLE) || defined(SYSTEMD_ENABLE) */ /* might be time to daemonize */ if (go_background) { /* not SuS/POSIX portable, but we have our own fallback version */ if (daemon(0, 0) == 0) in_background = true; else gpsd_report(LOG_ERROR,"demonization failed: %s\n",strerror(errno)); } if (pid_file) { FILE *fp; if ((fp = fopen(pid_file, "w")) != NULL) { (void)fprintf(fp, "%u\n", (unsigned int)getpid()); (void)fclose(fp); } else { gpsd_report(LOG_ERROR, "Cannot create PID file: %s.\n", pid_file); } } openlog("gpsd", LOG_PID, LOG_USER); gpsd_report(LOG_INF, "launching (Version %s)\n", VERSION); #ifdef SOCKET_EXPORT_ENABLE /*@ -observertrans @*/ if (!gpsd_service) gpsd_service = getservbyname("gpsd", "tcp") ? "gpsd" : DEFAULT_GPSD_PORT; /*@ +observertrans @*/ if (passivesocks(gpsd_service, "tcp", QLEN, msocks) < 1) { gpsd_report(LOG_ERR, "command sockets creation failed, netlib errors %d, %d\n", msocks[0], msocks[1]); exit(EXIT_FAILURE); } gpsd_report(LOG_INF, "listening on port %s\n", gpsd_service); #endif /* SOCKET_EXPORT_ENABLE */ #ifdef NTPSHM_ENABLE if (getuid() == 0) { errno = 0; // nice() can ONLY succeed when run as root! // do not even bother as non-root if (nice(NICEVAL) == -1 && errno != 0) gpsd_report(LOG_INF, "NTPD Priority setting failed.\n"); } (void)ntpshm_init(&context, NOWAIT); #endif /* NTPSHM_ENABLE */ #if defined(DBUS_EXPORT_ENABLE) && !defined(S_SPLINT_S) /* we need to connect to dbus as root */ if (initialize_dbus_connection()) { /* the connection could not be started */ gpsd_report(LOG_ERROR, "unable to connect to the DBUS system bus\n"); } else gpsd_report(LOG_PROG, "successfully connected to the DBUS system bus\n"); #endif /* defined(DBUS_EXPORT_ENABLE) && !defined(S_SPLINT_S) */ #ifdef SHM_EXPORT_ENABLE /* create the shared segment as root so readers can't mess with it */ if (!shm_acquire(&context)) { gpsd_report(LOG_ERROR, "shared-segment creation failed,\n"); } else gpsd_report(LOG_PROG, "shared-segment creation succeeded,\n"); #endif /* SHM_EXPORT_ENABLE */ /* * We open devices specified on the command line *before* dropping * privileges in case one of them is a serial device with PPS support * and we need to set the line discipline, which requires root. */ in_restart = false; for (i = optind; i < argc; i++) { if (!gpsd_add_device(argv[i], NOWAIT)) { gpsd_report(LOG_ERROR, "initial GPS device %s open failed\n", argv[i]); } } /* drop privileges */ if (getuid() == 0) { struct passwd *pw; struct stat stb; #if defined(HAVE_LIBCAP) && !defined(S_SPLINT_S) /* set flag: keep privileges across setuid() call */ if (prctl(PR_SET_KEEPCAPS, 1L, 0L, 0L, 0L) == -1) gpsd_report(LOG_ERR, "prctl(PR_SET_KEEPCAPS, 1L ) failed\n"); #endif /* HAVE_LIBCAP */ /* make default devices accessible even after we drop privileges */ for (i = optind; i < argc; i++) /* coverity[toctou] */ if (stat(argv[i], &stb) == 0) (void)chmod(argv[i], stb.st_mode | S_IRGRP | S_IWGRP); /* * Drop privileges. Up to now we've been running as root. * Instead, set the user ID to 'nobody' (or whatever the gpsd * user set by thre build is) and the group ID to the owning * group of a prototypical TTY device. This limits the scope * of any compromises in the code. It requires that all GPS * devices have their group read/write permissions set. */ /*@-type@*/ #ifdef GPSD_GROUP { struct group *grp = getgrnam(GPSD_GROUP); if (grp) (void)setgid(grp->gr_gid); } #else if ((optind < argc && stat(argv[optind], &stb) == 0) || stat(PROTO_TTY, &stb) == 0) { gpsd_report(LOG_PROG, "changing to group %d\n", stb.st_gid); if (setgid(stb.st_gid) != 0) gpsd_report(LOG_ERROR, "setgid() failed, errno %s\n", strerror(errno)); } #endif pw = getpwnam(GPSD_USER); if (pw) (void)setuid(pw->pw_uid); /*@+type@*/ #if defined(HAVE_LIBCAP) && !defined(S_SPLINT_S) /* drop root capabilities, except CAP_SYS_TIME for 1PPS support */ { cap_t caps = cap_from_text("cap_sys_time=pe"); if (!caps) gpsd_report(LOG_ERR, "cap_from_text() failed.\n"); else if (cap_set_proc(caps) == -1) { gpsd_report(LOG_ERR, "cap_set_proc() failed to drop root privs\n"); cap_free(caps); } } #endif /* HAVE_LIBCAP */ } gpsd_report(LOG_INF, "running with effective group ID %d\n", getegid()); gpsd_report(LOG_INF, "running with effective user ID %d\n", geteuid()); #ifdef SOCKET_EXPORT_ENABLE for (i = 0; i < NITEMS(subscribers); i++) subscribers[i].fd = UNALLOCATED_FD; #endif /* SOCKET_EXPORT_ENABLE*/ /* Handle some signals */ #ifndef COMPAT_SELECT (void)sigemptyset(&blockset); (void)sigaddset(&blockset, SIGHUP); (void)sigaddset(&blockset, SIGINT); (void)sigaddset(&blockset, SIGTERM); (void)sigaddset(&blockset, SIGQUIT); (void)sigprocmask(SIG_BLOCK, &blockset, &oldset); #endif /* COMPAT_SELECT */ /*@-compdef -compdestroy@*/ { struct sigaction sa; sa.sa_flags = 0; #ifdef __COVERITY__ /* * Obsolete and unused. We're only doing this to pacify Coverity * which otherwise throws an UNINIT event here. Don't swap with the * handler initialization, they're unioned on some architectures. */ sa.sa_restorer = NULL; #endif /* __COVERITY__ */ sa.sa_handler = onsig; (void)sigfillset(&sa.sa_mask); (void)sigaction(SIGHUP, &sa, NULL); (void)sigaction(SIGINT, &sa, NULL); (void)sigaction(SIGTERM, &sa, NULL); (void)sigaction(SIGQUIT, &sa, NULL); (void)signal(SIGPIPE, SIG_IGN); } /*@+compdef +compdestroy@*/ /* daemon got termination or interrupt signal */ if (setjmp(restartbuf) > 0) { /* try to undo all device configurations */ for (dfd = 0; dfd < MAXDEVICES; dfd++) { if (allocated_device(&devices[dfd])) (void)gpsd_wrap(&devices[dfd]); } in_restart = true; gpsd_report(LOG_WARN, "gpsd restarted by SIGHUP\n"); } signalled = 0; for (i = 0; i < AFCOUNT; i++) if (msocks[i] >= 0) { FD_SET(msocks[i], &all_fds); adjust_max_fd(msocks[i], true); } #ifdef CONTROL_SOCKET_ENABLE FD_ZERO(&control_fds); #endif /* CONTROL_SOCKET_ENABLE */ /* initialize the GPS context's time fields */ gpsd_time_init(&context, time(NULL)); /* * If we got here via SIGINT, reopen any command-line devices. PPS * through these won't work, as we've dropped privileges and can * no longer change line disciplines. */ if (in_restart) for (i = optind; i < argc; i++) { if (!gpsd_add_device(argv[i], NOWAIT)) { gpsd_report(LOG_ERROR, "GPS device %s open failed\n", argv[i]); } } while (0 == signalled) { (void)memcpy((char *)&rfds, (char *)&all_fds, sizeof(rfds)); gpsd_report(LOG_RAW + 2, "select waits\n"); /* * Poll for user commands or GPS data. The timeout doesn't * actually matter here since select returns whenever one of * the file descriptors in the set goes ready. The point * of tracking maxfd is to keep the set of descriptors that * select(2) has to poll here as small as possible (for * low-clock-rate SBCs and the like). * * pselect() is preferable, when we can have it, to eliminate * the once-per-second wakeup when no sensors are attached. * This cuts power consumption. */ /*@ -usedef -nullpass @*/ errno = 0; #ifdef COMPAT_SELECT tv.tv_sec = 1; tv.tv_usec = 0; if (select(maxfd + 1, &rfds, NULL, NULL, &tv) == -1) { #else if (pselect(maxfd + 1, &rfds, NULL, NULL, NULL, &oldset) == -1) { #endif if (errno == EINTR) continue; gpsd_report(LOG_ERROR, "select: %s\n", strerror(errno)); exit(EXIT_FAILURE); } /*@ +usedef +nullpass @*/ if (context.debug >= LOG_SPIN) { char dbuf[BUFSIZ]; dbuf[0] = '\0'; for (i = 0; i < FD_SETSIZE; i++) if (FD_ISSET(i, &all_fds)) (void)snprintf(dbuf + strlen(dbuf), sizeof(dbuf) - strlen(dbuf), "%d ", i); if (strlen(dbuf) > 0) dbuf[strlen(dbuf) - 1] = '\0'; (void)strlcat(dbuf, "} -> {", BUFSIZ); for (i = 0; i < FD_SETSIZE; i++) if (FD_ISSET(i, &rfds)) (void)snprintf(dbuf + strlen(dbuf), sizeof(dbuf) - strlen(dbuf), " %d ", i); gpsd_report(LOG_SPIN, "select() {%s} at %f (errno %d)\n", dbuf, timestamp(), errno); } #ifdef SOCKET_EXPORT_ENABLE /* always be open to new client connections */ for (i = 0; i < AFCOUNT; i++) { if (msocks[i] >= 0 && FD_ISSET(msocks[i], &rfds)) { socklen_t alen = (socklen_t) sizeof(fsin); /*@+matchanyintegral@*/ socket_t ssock = accept(msocks[i], (struct sockaddr *)&fsin, &alen); /*@+matchanyintegral@*/ if (BAD_SOCKET(ssock)) gpsd_report(LOG_ERROR, "accept: %s\n", strerror(errno)); else { struct subscriber_t *client = NULL; int opts = fcntl(ssock, F_GETFL); static struct linger linger = { 1, RELEASE_TIMEOUT }; char *c_ip; if (opts >= 0) (void)fcntl(ssock, F_SETFL, opts | O_NONBLOCK); c_ip = netlib_sock2ip(ssock); client = allocate_client(); if (client == NULL) { gpsd_report(LOG_ERROR, "Client %s connect on fd %d -" "no subscriber slots available\n", c_ip, ssock); (void)close(ssock); } else if (setsockopt (ssock, SOL_SOCKET, SO_LINGER, (char *)&linger, (int)sizeof(struct linger)) == -1) { gpsd_report(LOG_ERROR, "Error: SETSOCKOPT SO_LINGER\n"); (void)close(ssock); } else { char announce[GPS_JSON_RESPONSE_MAX]; FD_SET(ssock, &all_fds); adjust_max_fd(ssock, true); client->fd = ssock; client->active = timestamp(); gpsd_report(LOG_SPIN, "client %s (%d) connect on fd %d\n", c_ip, sub_index(client), ssock); json_version_dump(announce, sizeof(announce)); (void)throttled_write(client, announce, strlen(announce)); } } FD_CLR(msocks[i], &rfds); } } #endif /* SOCKET_EXPORT_ENABLE */ #ifdef CONTROL_SOCKET_ENABLE /* also be open to new control-socket connections */ if (csock > -1 && FD_ISSET(csock, &rfds)) { socklen_t alen = (socklen_t) sizeof(fsin); /*@+matchanyintegral@*/ socket_t ssock = accept(csock, (struct sockaddr *)&fsin, &alen); /*@-matchanyintegral@*/ if (BAD_SOCKET(ssock)) gpsd_report(LOG_ERROR, "accept: %s\n", strerror(errno)); else { gpsd_report(LOG_INF, "control socket connect on fd %d\n", ssock); FD_SET(ssock, &all_fds); FD_SET(ssock, &control_fds); adjust_max_fd(ssock, true); } FD_CLR(csock, &rfds); } /* read any commands that came in over the control socket */ for (cfd = 0; cfd < FD_SETSIZE; cfd++) if (FD_ISSET(cfd, &control_fds)) { char buf[BUFSIZ]; ssize_t rd; while ((rd = read(cfd, buf, sizeof(buf) - 1)) > 0) { buf[rd] = '\0'; gpsd_report(LOG_IO, "<= control(%d): %s\n", cfd, buf); /* coverity[tainted_data] Safe, never handed to exec */ handle_control(cfd, buf); } gpsd_report(LOG_SPIN, "close(%d) of control socket\n", cfd); (void)close(cfd); FD_CLR(cfd, &all_fds); FD_CLR(cfd, &control_fds); adjust_max_fd(cfd, false); } #endif /* CONTROL_SOCKET_ENABLE */ /* poll all active devices */ for (device = devices; device < devices + MAXDEVICES; device++) { if (!allocated_device(device)) continue; if (device->gpsdata.gps_fd >= 0) { if (FD_ISSET(device->gpsdata.gps_fd, &rfds)) /* get data from the device */ consume_packets(device); else if (device->reawake>0 && timestamp()>device->reawake) { /* device may have had a zero-length read */ gpsd_report(LOG_DATA, "%s reawakened after zero-length read\n", device->gpsdata.dev.path); device->reawake = (timestamp_t)0; device->zerokill = true; FD_SET(device->gpsdata.gps_fd, &all_fds); adjust_max_fd(device->gpsdata.gps_fd, true); } } } /* devices */ #ifdef __UNUSED_AUTOCONNECT__ if (context.fixcnt > 0 && !context.autconnect) { for (device = devices; device < devices + MAXDEVICES; device++) { if (device->gpsdata.fix.mode > MODE_NO_FIX) { netgnss_autoconnect(&context, device->gpsdata.fix.latitude, device->gpsdata.fix.longitude); context.autconnect = True; break; } } } #endif /* __UNUSED_AUTOCONNECT__ */ #ifdef SOCKET_EXPORT_ENABLE /* accept and execute commands for all clients */ for (sub = subscribers; sub < subscribers + MAXSUBSCRIBERS; sub++) { if (sub->active == 0) continue; if (FD_ISSET(sub->fd, &rfds)) { char buf[BUFSIZ]; int buflen; gpsd_report(LOG_PROG, "checking client(%d)\n", sub_index(sub)); if ((buflen = (int)recv(sub->fd, buf, sizeof(buf) - 1, 0)) <= 0) { detach_client(sub); } else { if (buf[buflen - 1] != '\n') buf[buflen++] = '\n'; buf[buflen] = '\0'; gpsd_report(LOG_IO, "<= client(%d): %s\n", sub_index(sub), buf); /* * When a command comes in, update subscriber.active to * timestamp() so we don't close the connection * after COMMAND_TIMEOUT seconds. This makes * COMMAND_TIMEOUT useful. */ sub->active = timestamp(); if (handle_gpsd_request(sub, buf) < 0) detach_client(sub); } } else { if (!sub->policy.watcher && timestamp() - sub->active > COMMAND_TIMEOUT) { gpsd_report(LOG_WARN, "client(%d) timed out on command wait.\n", sub_index(sub)); detach_client(sub); } } } /* * Mark devices with an identified packet type but no * remaining subscribers to be closed in RELEASE_TIME seconds. * See the explanation of RELEASE_TIME for the reasoning. * * Re-poll devices that are disconnected, but have potential * subscribers in the same cycle. */ for (device = devices; device < devices + MAXDEVICES; device++) { bool device_needed = NOWAIT; if (!allocated_device(device)) continue; if (!device_needed) for (sub=subscribers; subactive == 0) continue; device_needed = subscribed(sub, device); if (device_needed) break; } if (!device_needed && device->gpsdata.gps_fd > -1 && device->packet.type != BAD_PACKET) { if (device->releasetime == 0) { device->releasetime = timestamp(); gpsd_report(LOG_PROG, "device %d (fd %d) released\n", (int)(device - devices), device->gpsdata.gps_fd); } else if (timestamp() - device->releasetime > RELEASE_TIMEOUT) { gpsd_report(LOG_PROG, "device %d closed\n", (int)(device - devices)); gpsd_report(LOG_RAW, "unflagging descriptor %d\n", device->gpsdata.gps_fd); deactivate_device(device); } } if (device_needed && BAD_SOCKET(device->gpsdata.gps_fd) && (device->opentime == 0 || timestamp() - device->opentime > DEVICE_RECONNECT)) { device->opentime = timestamp(); gpsd_report(LOG_INF, "reconnection attempt on device %d\n", (int)(device - devices)); (void)awaken(device); } } #endif /* SOCKET_EXPORT_ENABLE */ } /* if we make it here, we got a signal... deal with it */ /* restart on SIGHUP, clean up and exit otherwise */ if (SIGHUP == (int)signalled) longjmp(restartbuf, 1); gpsd_report(LOG_WARN, "received terminating signal %d.\n", signalled); /* try to undo all device configurations */ for (dfd = 0; dfd < MAXDEVICES; dfd++) { if (allocated_device(&devices[dfd])) (void)gpsd_wrap(&devices[dfd]); } gpsd_report(LOG_WARN, "exiting.\n"); #ifdef SOCKET_EXPORT_ENABLE /* * A linger option was set on each client socket when it was * created. Now, shut them down gracefully, letting I/O drain. * This is an attempt to avoid the sporadic race errors at the ends * of our regression tests. */ for (sub = subscribers; sub < subscribers + MAXSUBSCRIBERS; sub++) { if (sub->active != 0) detach_client(sub); } #endif /* SOCKET_EXPORT_ENABLE */ #ifdef SHM_EXPORT_ENABLE shm_release(&context); #endif /* SHM_EXPORT_ENABLE */ #ifdef CONTROL_SOCKET_ENABLE if (control_socket) (void)unlink(control_socket); #endif /* CONTROL_SOCKET_ENABLE */ if (pid_file) (void)unlink(pid_file); return 0; } /*@ +mustfreefresh @*/ gpsd-3.9/gpsd.h-head0000664000175000017500000000054311757250540012505 0ustar esresr/* gpsd.h -- fundamental types and structures for the gpsd library * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #ifndef _GPSD_H_ #define _GPSD_H_ #include #include #ifndef GPSD_CONFIG_H /* Feature configuration switches begin here */ gpsd-3.9/gpsd.h-tail0000664000175000017500000010041212063443570012527 0ustar esresr/* Feature configuration switches end here * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #endif /* GPSD_CONFIG_H */ #include #include #include "gps.h" /* use RFC 2782 PPS API */ /* this needs linux >= 2.6.34 and * CONFIG_PPS=y * CONFIG_PPS_DEBUG=y [optional to kernel log pulses] * CONFIG_PPS_CLIENT_LDISC=y */ #if defined(HAVE_SYS_TIMEPPS_H) // include unistd.h here as it is missing on older pps-tools releases. // 'close' is not defined otherwise. #include #include #endif #ifdef _WIN32 typedef unsigned int speed_t; #endif /* * Constants for the VERSION response * 3.1: Base JSON version * 3.2: Added POLL command and response * 3.3: AIS app_id split into DAC and FID * 3.4: Timestamps change from seconds since Unix epoch to ISO8601. * 3.5: POLL subobject name changes: fixes -> tpv, skyview -> sky. * DEVICE::activated becomes ISO8601 rather than real. * 3.6 VERSION, WATCH, and DEVICES from slave gpsds get "remote" attribute. * 3.7 PPS message added to repertoire. SDDBT water depth reported as * negative altitude with Mode 3 set. * 3.8 AIS course nember becomes float in scaled mode (bug fix). */ #define GPSD_PROTO_MAJOR_VERSION 3 /* bump on incompatible changes */ #define GPSD_PROTO_MINOR_VERSION 8 /* bump on compatible changes */ #define JSON_DATE_MAX 24 /* ISO8601 timestamp with 2 decimal places */ #ifndef DEFAULT_GPSD_SOCKET #define DEFAULT_GPSD_SOCKET "/var/run/gpsd.sock" #endif /* Some internal capabilities depend on which drivers we're compiling. */ #if !defined(NMEA_ENABLE) && (defined(FV18_ENABLE) || defined(MTK3301_ENABLE) || defined(TNT_ENABLE) || defined(OCEANSERVER_ENABLE) || defined(GPSCLOCK_ENABLE) || defined(FURY_ENABLE)) #define NMEA_ENABLE #endif #ifdef EARTHMATE_ENABLE #define ZODIAC_ENABLE #endif #if defined(ZODIAC_ENABLE) || defined(SIRF_ENABLE) || defined(GARMIN_ENABLE) || defined(TSIP_ENABLE) || defined(EVERMORE_ENABLE) || defined(ITRAX_ENABLE) || defined(UBX_ENABLE) || defined(SUPERSTAR2_ENABLE) || defined(ONCORE_ENABLE) || defined(GEOSTAR_ENABLE) || defined(NAVCOM_ENABLE) #define BINARY_ENABLE #endif #if defined(TRIPMATE_ENABLE) || defined(BINARY_ENABLE) #define NON_NMEA_ENABLE #endif #if defined(TNT_ENABLE) || defined(OCEANSERVER_ENABLE) #define COMPASS_ENABLE #endif /* First, declarations for the packet layer... */ /* * For NMEA-conforming receivers this is supposed to be 82, but * some receivers (TN-200, GSW 2.3.2) emit oversized sentences. * The current hog champion is the Trimble BX-960 receiver, which * emits a 91-character GGA message. */ #define NMEA_MAX 91 /* max length of NMEA sentence */ #define NMEA_BIG_BUF (2*NMEA_MAX+1) /* longer than longest NMEA sentence */ /* a few bits of ISGPS magic */ enum isgpsstat_t { ISGPS_NO_SYNC, ISGPS_SYNC, ISGPS_SKIP, ISGPS_MESSAGE, }; #define RTCM_MAX (RTCM2_WORDS_MAX * sizeof(isgps30bits_t)) /* * The packet buffers need to be as long than the longest packet we * expect to see in any protocol, because we have to be able to hold * an entire packet for checksumming... * First we thought it had to be big enough for a SiRF Measured Tracker * Data packet (188 bytes). Then it had to be big enough for a UBX SVINFO * packet (206 bytes). Now it turns out that a couple of ITALK messages are * over 512 bytes. I know we like verbose output, but this is ridiculous. */ #define MAX_PACKET_LENGTH 516 /* 7 + 506 + 3 */ /* * UTC of second 0 of week 0 of the first rollover period of GPS time. * Used to compute UTC from GPS time. Also, the threshold value * under which system clock times are considered unreliable. Often, * embedded systems come up thinking it's early 1970 and the system * clock will report small positive values until the clock is set. By * choosing this as the cutoff, we'll never reject historical GPS logs * that are actually valid. */ #define GPS_EPOCH 315964800 /* 6 Jan 1981 00:00:00 UTC */ /* time constant */ #define SECS_PER_DAY (60*60*24) /* seconds per day */ #define SECS_PER_WEEK (7*SECS_PER_DAY) /* seconds per week */ #define GPS_ROLLOVER (1024*SECS_PER_WEEK) /* rollover period */ struct gps_packet_t { /* packet-getter internals */ int type; #define BAD_PACKET -1 #define COMMENT_PACKET 0 #define NMEA_PACKET 1 #define AIVDM_PACKET 2 #define GARMINTXT_PACKET 3 #define MAX_TEXTUAL_TYPE 3 /* increment this as necessary */ #define SIRF_PACKET 4 #define ZODIAC_PACKET 5 #define TSIP_PACKET 6 #define EVERMORE_PACKET 7 #define ITALK_PACKET 8 #define GARMIN_PACKET 9 #define NAVCOM_PACKET 10 #define UBX_PACKET 11 #define SUPERSTAR2_PACKET 12 #define ONCORE_PACKET 13 #define GEOSTAR_PACKET 14 #define NMEA2000_PACKET 15 #define MAX_GPSPACKET_TYPE 15 /* increment this as necessary */ #define RTCM2_PACKET 16 #define RTCM3_PACKET 17 #define JSON_PACKET 18 #define TEXTUAL_PACKET_TYPE(n) ((((n)>=NMEA_PACKET) && ((n)<=MAX_TEXTUAL_TYPE)) || (n)==JSON_PACKET) #define GPS_PACKET_TYPE(n) (((n)>=NMEA_PACKET) && ((n)<=MAX_GPSPACKET_TYPE)) #define LOSSLESS_PACKET_TYPE(n) (((n)>=RTCM2_PACKET) && ((n)<=RTCM3_PACKET)) #define PACKET_TYPEMASK(n) (1 << (n)) #define GPS_TYPEMASK (((2<<(MAX_GPSPACKET_TYPE+1))-1) &~ PACKET_TYPEMASK(COMMENT_PACKET)) unsigned int state; size_t length; unsigned char inbuffer[MAX_PACKET_LENGTH*2+1]; size_t inbuflen; unsigned /*@observer@*/char *inbufptr; /* outbuffer needs to be able to hold 4 GPGSV records at once */ unsigned char outbuffer[MAX_PACKET_LENGTH*2+1]; size_t outbuflen; unsigned long char_counter; /* count characters processed */ unsigned long retry_counter; /* count sniff retries */ unsigned counter; /* packets since last driver switch */ int debug; /* lexer debug level */ #ifdef TIMING_ENABLE timestamp_t start_time; /* timestamp of first input */ unsigned long start_char; /* char counter at first input */ #endif /* TIMING_ENABLE */ /* * ISGPS200 decoding context. * * This is not conditionalized on RTCM104_ENABLE because we need to * be able to build gpsdecode even when RTCM support is not * configured in the daemon. */ struct { bool locked; int curr_offset; isgps30bits_t curr_word; unsigned int bufindex; /* * Only these should be referenced from elsewhere, and only when * RTCM_MESSAGE has just been returned. */ isgps30bits_t buf[RTCM2_WORDS_MAX]; /* packet data */ size_t buflen; /* packet length in bytes */ } isgps; #ifdef PASSTHROUGH_ENABLE unsigned int json_depth; unsigned int json_after; #endif /* PASSTHROUGH_ENABLE */ }; extern void packet_init(/*@out@*/struct gps_packet_t *); extern void packet_reset(/*@out@*/struct gps_packet_t *); extern void packet_pushback(struct gps_packet_t *); extern void packet_parse(struct gps_packet_t *); extern ssize_t packet_get(int, struct gps_packet_t *); extern int packet_sniff(struct gps_packet_t *); #define packet_buffered_input(lexer) ((lexer)->inbuffer + (lexer)->inbuflen - (lexer)->inbufptr) extern void isgps_init(/*@out@*/struct gps_packet_t *); enum isgpsstat_t isgps_decode(struct gps_packet_t *, bool (*preamble_match)(isgps30bits_t *), bool (*length_check)(struct gps_packet_t *), size_t, unsigned int); extern unsigned int isgps_parity(isgps30bits_t); extern void isgps_output_magnavox(const isgps30bits_t *, unsigned int, FILE *); extern enum isgpsstat_t rtcm2_decode(struct gps_packet_t *, unsigned int); extern void json_rtcm2_dump(const struct rtcm2_t *, /*@null@*/const char *, /*@out@*/char[], size_t); extern void rtcm2_unpack(/*@out@*/struct rtcm2_t *, char *); extern void json_rtcm3_dump(const struct rtcm3_t *, /*@null@*/const char *, /*@out@*/char[], size_t); extern void rtcm3_unpack(/*@out@*/struct rtcm3_t *, char *); /* Next, declarations for the core library... */ /* factors for converting among confidence interval units */ #define CEP50_SIGMA 1.18 #define DRMS_SIGMA 1.414 #define CEP95_SIGMA 2.45 /* this is where we choose the confidence level to use in reports */ #define GPSD_CONFIDENCE CEP95_SIGMA #define NTPSHMSEGS 4 /* number of NTP SHM segments */ #define AIVDM_CHANNELS 2 /* A, B */ struct gps_device_t; struct gps_context_t { int valid; /* member validity flags */ int debug; /* dehug verbosity level */ bool readonly; /* if true, never write to device */ #define LEAP_SECOND_VALID 0x01 /* we have or don't need correction */ #define GPS_TIME_VALID 0x02 /* GPS week/tow is valid */ /* DGPS status */ int fixcnt; /* count of good fixes seen */ /* timekeeping */ time_t start_time; /* local time of daemon startup */ int leap_seconds; /* Unix seconds to UTC (GPS-UTC offset) */ unsigned short gps_week; /* GPS week, actually 10 bits */ double gps_tow; /* GPS time of week, actually 19 bits */ int century; /* for NMEA-only devices without ZDA */ int rollovers; /* rollovers since start of run */ #ifdef NTPSHM_ENABLE int leap_notify; /* notification state from subframe */ #define LEAP_NOWARNING 0x0 /* normal, no leap second warning */ #define LEAP_ADDSECOND 0x1 /* last minute of day has 60 seconds */ #define LEAP_DELSECOND 0x2 /* last minute of day has 59 seconds */ #define LEAP_NOTINSYNC 0x3 /* overload, clock is free running */ bool enable_ntpshm; /* we need the volatile here to tell the C compiler not to * 'optimize' as 'dead code' the writes to SHM */ /*@reldef@*/volatile struct shmTime *shmTime[NTPSHMSEGS]; bool shmTimeInuse[NTPSHMSEGS]; # ifdef PPS_ENABLE bool shmTimePPS; void (*pps_hook)(struct gps_device_t *, struct timeval *); # endif /* PPS_ENABLE */ #endif /* NTPSHM_ENABLE */ #ifdef SHM_EXPORT_ENABLE /* we don't want the compiler to treat writes to shmexport as dead code, * and we don't want them reordered either */ /*@reldef@*/volatile char *shmexport; #endif }; /* state for resolving interleaved Type 24 packets */ struct ais_type24a_t { unsigned int mmsi; char shipname[AIS_SHIPNAME_MAXLEN+1]; }; #define MAX_TYPE24_INTERLEAVE 8 /* max number of queued type 24s */ struct ais_type24_queue_t { struct ais_type24a_t ships[MAX_TYPE24_INTERLEAVE]; int index; }; /* state for resolving AIVDM decodes */ struct aivdm_context_t { /* hold context for decoding AIDVM packet sequences */ int decoded_frags; /* for tracking AIDVM parts in a multipart sequence */ unsigned char bits[2048]; size_t bitlen; /* how many valid bits */ struct ais_type24_queue_t type24_queue; }; #define MODE_NMEA 0 #define MODE_BINARY 1 typedef enum {ANY, GPS, RTCM2, RTCM3, AIS} gnss_type; typedef enum { event_wakeup, event_triggermatch, event_identified, event_configure, event_driver_switch, event_deactivate, event_reactivate, } event_t; #define INTERNAL_SET(n) ((gps_mask_t)(1llu<<(SET_HIGH_BIT+(n)))) #define RAW_IS INTERNAL_SET(1) /* raw pseudorange data available */ #define USED_IS INTERNAL_SET(2) /* sat-used count available */ #define DRIVER_IS INTERNAL_SET(3) /* driver type identified */ #define CLEAR_IS INTERNAL_SET(4) /* starts a reporting cycle */ #define REPORT_IS INTERNAL_SET(5) /* ends a reporting cycle */ #define NODATA_IS INTERNAL_SET(6) /* no data read from fd */ #define PPSTIME_IS INTERNAL_SET(7) /* precision time is available */ #define PERR_IS INTERNAL_SET(8) /* PDOP set */ #define PASSTHROUGH_IS INTERNAL_SET(9) /* passthrough mode */ #define DATA_IS ~(ONLINE_SET|PACKET_SET|CLEAR_IS|REPORT_IS) typedef /*@unsignedintegraltype@*/ unsigned int driver_mask_t; #define DRIVER_NOFLAGS 0x00000000u struct gps_type_t { /* GPS method table, describes how to talk to a particular GPS type */ /*@observer@*/char *type_name; int packet_type; driver_mask_t flags; /* reserved for expansion */ /*@observer@*//*@null@*/char *trigger; int channels; /*@null@*/bool (*probe_detect)(struct gps_device_t *session); /*@null@*/ssize_t (*get_packet)(struct gps_device_t *session); /*@null@*/gps_mask_t (*parse_packet)(struct gps_device_t *session); /*@null@*/ssize_t (*rtcm_writer)(struct gps_device_t *session, const char *rtcmbuf, size_t rtcmbytes); /*@null@*/void (*event_hook)(struct gps_device_t *session, event_t event); #ifdef RECONFIGURE_ENABLE /*@null@*/bool (*speed_switcher)(struct gps_device_t *session, speed_t speed, char parity, int stopbits); /*@null@*/void (*mode_switcher)(struct gps_device_t *session, int mode); /*@null@*/bool (*rate_switcher)(struct gps_device_t *session, double rate); double min_cycle; #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE /*@null@*/ssize_t (*control_send)(struct gps_device_t *session, char *buf, size_t buflen); #endif /* CONTROLSEND_ENABLE */ #ifdef NTPSHM_ENABLE /*@null@*/double (*ntp_offset)(struct gps_device_t *session); #endif /* NTPSHM_ENABLE */ }; /* * Each input source has an associated type. This is currently used in two * ways: * * (1) To determince if we require that gpsd be the only process opening a * device. We make an exception for PTYs because the master side has to be * opened by test code, * * (2) To determine whether it's safe to send wakeup strings. These are * required on some unusual RS-232 devices (such as the TNT compass and * Thales/Ashtech GPSes) but should not be shipped to unidentified USB * or Bluetooth devices as we don't even know in advance those are GPSEs; * they might not cope well. * * Where it says "case detected but not used" it means that we can identify * a source type but no behavior is yet contingent on it. A "discoverable" * device is one for which there is discoverable metadata such as a * vendor/product ID. * * We should never see a block device; that would indicate a serious error * in command-line usage or the hotplug system. */ typedef enum {source_unknown, source_blockdev, /* block devices can't be GPS sources */ source_rs232, /* potential GPS source, not discoverable */ source_usb, /* potential GPS source, discoverable */ source_bluetooth, /* potential GPS source, discoverable */ source_can, /* potential GPS source, fixed CAN format */ source_pty, /* PTY: we don't require exclusive access */ source_tcp, /* TCP/IP stream: case detected but not used */ source_udp, /* UDP stream: case detected but not used */ source_gpsd, /* Remote gpsd instance over TCP/IP */ } sourcetype_t; /* * Each input source also has an associated service type. */ typedef enum {service_unknown, service_sensor, service_dgpsip, service_ntrip, } servicetype_t; /* * Private state information about an NTRIP stream. */ struct ntrip_stream_t { char mountpoint[101]; char credentials[128]; char authStr[128]; char url[256]; char port[32]; /* in my /etc/services 16 was the longest */ bool set; /* found and set */ enum { fmt_rtcm2, fmt_rtcm2_0, fmt_rtcm2_1, fmt_rtcm2_2, fmt_rtcm2_3, fmt_rtcm3, fmt_unknown } format; int carrier; double latitude; double longitude; int nmea; enum { cmp_enc_none, cmp_enc_unknown } compr_encryp; enum { auth_none, auth_basic, auth_digest, auth_unknown } authentication; int fee; int bitrate; }; struct gps_device_t { /* session object, encapsulates all global state */ struct gps_data_t gpsdata; /*@relnull@*/const struct gps_type_t *device_type; struct gps_context_t *context; sourcetype_t sourcetype; servicetype_t servicetype; #ifndef _WIN32 struct termios ttyset, ttyset_old; #endif #ifndef FIXED_PORT_SPEED unsigned int baudindex; #endif /* FIXED_PORT_SPEED */ int saved_baud; struct gps_packet_t packet; int getcount; int subframe_count; char subtype[64]; /* firmware version or subtype ID */ timestamp_t opentime; timestamp_t releasetime; bool zerokill; timestamp_t reawake; #ifdef TIMING_ENABLE timestamp_t sor; /* timestamp start of this reporting cycle */ unsigned long chars; /* characters in the cycle */ #endif /* TIMING_ENABLE */ #ifdef NTPSHM_ENABLE int shmindex; timestamp_t last_fixtime; /* so updates happen once */ bool ship_to_ntpd; # ifdef PPS_ENABLE int shmTimeP; #if defined(HAVE_SYS_TIMEPPS_H) pps_handle_t kernelpps_handle; #endif /* defined(HAVE_SYS_TIMEPPS_H) */ # endif /* PPS_ENABLE */ #endif /* NTPSHM_ENABLE */ double mag_var; /* magnetic variation in degrees */ bool back_to_nmea; /* back to NMEA on revert? */ char msgbuf[MAX_PACKET_LENGTH*2+1]; /* command message buffer for sends */ size_t msgbuflen; int observed; /* which packet type`s have we seen? */ bool cycle_end_reliable; /* does driver signal REPORT_MASK */ bool notify_clients; /* ship DEVICE notification on poll? */ int fixcnt; /* count of fixes from this device */ struct gps_fix_t newdata; /* where drivers put their data */ struct gps_fix_t oldfix; /* previous fix for error modeling */ /* * The rest of this structure is driver-specific private storage. * Because the Garmin driver uses a long buffer, you can have * up to 4096+12 bytes of private storage in your own union member * without making this structure larger or changing the API at all. */ union { #ifdef NMEA_ENABLE struct { int part, await; /* for tracking GSV parts */ struct tm date; /* date part of last sentence time */ double subseconds; /* subsec part of last sentence time */ char *field[NMEA_MAX]; unsigned char fieldcopy[NMEA_MAX+1]; /* detect receivers that ship GGA with non-advancing timestamp */ bool latch_mode; char last_gga_timestamp[16]; /* * State for the cycle-tracking machinery. * The reason these timestamps are separate from the * general sentence timestamps is that we can * use the minutes and seconds part of a sentence * with an incomplete timestamp (like GGA) for * end-cycle recognition, even if we don't have a previous * RMC or ZDA that lets us get full time from it. */ timestamp_t this_frac_time, last_frac_time; bool latch_frac_time; unsigned int lasttag; unsigned int cycle_enders; bool cycle_continue; #ifdef GPSCLOCK_ENABLE bool ignore_trailing_edge; #endif /* GPSCLOCK_ENABLE */ } nmea; #endif /* NMEA_ENABLE */ #ifdef GARMINTXT_ENABLE struct { struct tm date; /* date part of last sentence time */ double subseconds; /* subsec part of last sentence time */ } garmintxt; #endif /* NMEA_ENABLE */ #ifdef BINARY_ENABLE #ifdef GEOSTAR_ENABLE struct { unsigned int physical_port; } geostar; #endif /* GEOSTAR_ENABLE */ #ifdef SIRF_ENABLE struct { unsigned int driverstate; /* for private use */ #define SIRF_LT_231 0x01 /* SiRF at firmware rev < 231 */ #define SIRF_EQ_231 0x02 /* SiRF at firmware rev == 231 */ #define SIRF_GE_232 0x04 /* SiRF at firmware rev >= 232 */ #define UBLOX 0x08 /* uBlox firmware with packet 0x62 */ unsigned long satcounter; unsigned int time_seen; #define TIME_SEEN_UTC_2 0x08 /* Seen UTC time variant 2? */ /* fields from Navigation Parameters message */ bool nav_parameters_seen; /* have we seen one? */ unsigned char altitude_hold_mode; unsigned char altitude_hold_source; int16_t altitude_source_input; unsigned char degraded_mode; unsigned char degraded_timeout; unsigned char dr_timeout; unsigned char track_smooth_mode; /* fields from DGPS Status */ unsigned int dgps_source; #define SIRF_DGPS_SOURCE_NONE 0 /* No DGPS correction type have been selected */ #define SIRF_DGPS_SOURCE_SBAS 1 /* SBAS */ #define SIRF_DGPS_SOURCE_SERIAL 2 /* RTCM corrections */ #define SIRF_DGPS_SOURCE_BEACON 3 /* Beacon corrections */ #define SIRF_DGPS_SOURCE_SOFTWARE 4 /* Software API corrections */ } sirf; #endif /* SIRF_ENABLE */ #ifdef SUPERSTAR2_ENABLE struct { time_t last_iono; } superstar2; #endif /* SUPERSTAR2_ENABLE */ #ifdef TSIP_ENABLE struct { bool superpkt; /* Super Packet mode requested */ time_t last_41; /* Timestamps for packet requests */ time_t last_48; time_t last_5c; time_t last_6d; time_t last_46; time_t req_compact; unsigned int stopbits; /* saved RS232 link parameter */ char parity; } tsip; #endif /* TSIP_ENABLE */ #ifdef GARMIN_ENABLE /* private housekeeping stuff for the Garmin driver */ struct { unsigned char Buffer[4096+12]; /* Garmin packet buffer */ size_t BufferLen; /* current GarminBuffer Length */ } garmin; #endif /* GARMIN_ENABLE */ #ifdef ZODIAC_ENABLE /* private housekeeping stuff for the Zodiac driver */ struct { unsigned short sn; /* packet sequence number */ /* * Zodiac chipset channel status from PRWIZCH. Keep it so * raw-mode translation of Zodiac binary protocol can send * it up to the client. */ #define ZODIAC_CHANNELS 12 unsigned int Zs[ZODIAC_CHANNELS]; /* satellite PRNs */ unsigned int Zv[ZODIAC_CHANNELS]; /* signal values (0-7) */ } zodiac; #endif /* ZODIAC_ENABLE */ #ifdef UBX_ENABLE struct { bool have_port_configuration; unsigned char port_settings[20]; unsigned char sbas_in_use; } ubx; #endif /* UBX_ENABLE */ #ifdef NAVCOM_ENABLE struct { uint8_t physical_port; bool warned; } navcom; #endif /* NAVCOM_ENABLE */ #ifdef ONCORE_ENABLE struct { #define ONCORE_VISIBLE_CH 12 int visible; int PRN[ONCORE_VISIBLE_CH]; /* PRNs of satellite */ int elevation[ONCORE_VISIBLE_CH]; /* elevation of satellite */ int azimuth[ONCORE_VISIBLE_CH]; /* azimuth */ int pps_offset_ns; } oncore; #endif /* ONCORE_ENABLE */ #ifdef NMEA2000_ENABLE struct { unsigned int can_msgcnt; unsigned int can_net; unsigned int unit; unsigned int unit_valid; int mode; unsigned int mode_valid; unsigned int idx; // size_t ptr; size_t fast_packet_len; int type; void *workpgn; void *pgnlist; unsigned char sid[8]; } nmea2000; #endif /* NMEA2000_ENABLE */ /* * This is not conditionalized on RTCM104_ENABLE because we need to * be able to build gpsdecode even when RTCM support is not * configured in the daemon. It doesn't take up extra space. */ struct { /* ISGPS200 decoding */ bool locked; int curr_offset; isgps30bits_t curr_word; isgps30bits_t buf[RTCM2_WORDS_MAX]; unsigned int bufindex; } isgps; #endif /* BINARY_ENABLE */ } driver; /* * Auxiliary structures for parsing data that can be interleaved with * GPS sentences. Can't be in the driver union or it will get stepped on. * So far the only case of this is AIS reports, which in marine navigation * systems may come over the same wire with GPS NMEA sentences. */ #ifdef AIVDM_ENABLE struct aivdm_context_t aivdm[AIVDM_CHANNELS]; #endif /* AIVDM_ENABLE */ /* * State of an NTRIP connection. We don't want to zero this on every * activation, otherwise the connection state will get lost. Information * in this substructure is only valid if servicetype is service_ntrip. */ struct { /* state information about the stream */ struct ntrip_stream_t stream; /* state information about our response parsing */ enum { ntrip_conn_init, ntrip_conn_sent_probe, ntrip_conn_sent_get, ntrip_conn_established, ntrip_conn_err } conn_state; /* connection state for multi stage connect */ bool works; /* marks a working connection, so we try to reconnect once */ bool sourcetable_parse; /* have we read the sourcetable header? */ } ntrip; /* State of a DGPSIP connection */ struct { bool reported; } dgpsip; }; /* logging levels */ #define LOG_ERROR -1 /* errors, display always */ #define LOG_SHOUT 0 /* not an error but we should always see it */ #define LOG_WARN 1 /* not errors but may indicate a problem */ #define LOG_INF 2 /* key informative messages */ #define LOG_DATA 3 /* log data management messages */ #define LOG_PROG 4 /* progress messages */ #define LOG_IO 5 /* IO to and from devices */ #define LOG_SPIN 6 /* logging for catching spin bugs */ #define LOG_RAW 7 /* raw low-level I/O */ #define ISGPS_ERRLEVEL_BASE LOG_RAW #define IS_HIGHEST_BIT(v,m) (v & ~((m<<1)-1))==0 /* here are the available GPS drivers */ extern const struct gps_type_t **gpsd_drivers; /* gpsd library internal prototypes */ extern gps_mask_t generic_parse_input(struct gps_device_t *); extern ssize_t generic_get(struct gps_device_t *); extern gps_mask_t nmea_parse(char *, struct gps_device_t *); extern ssize_t nmea_write(struct gps_device_t *, char *, size_t); extern ssize_t nmea_send(struct gps_device_t *, const char *, ... ); extern void nmea_add_checksum(char *); extern gps_mask_t sirf_parse(struct gps_device_t *, unsigned char *, size_t); extern gps_mask_t evermore_parse(struct gps_device_t *, unsigned char *, size_t); extern gps_mask_t navcom_parse(struct gps_device_t *, unsigned char *, size_t); extern gps_mask_t garmin_ser_parse(struct gps_device_t *); extern gps_mask_t garmintxt_parse(struct gps_device_t *); extern gps_mask_t aivdm_parse(struct gps_device_t *); extern bool netgnss_uri_check(char *); extern int netgnss_uri_open(struct gps_device_t *, char *); extern void netgnss_report(struct gps_context_t *, struct gps_device_t *, struct gps_device_t *); extern void netgnss_autoconnect(struct gps_context_t *, double, double); extern int dgpsip_open(struct gps_device_t *, const char *); extern void dgpsip_report(struct gps_context_t *, struct gps_device_t *, struct gps_device_t *); extern void dgpsip_autoconnect(struct gps_context_t *, double, double, const char *); extern int ntrip_open(struct gps_device_t *, char *); extern void ntrip_report(struct gps_context_t *, struct gps_device_t *, struct gps_device_t *); extern void gpsd_tty_init(struct gps_device_t *); extern int gpsd_serial_open(struct gps_device_t *); extern bool gpsd_set_raw(struct gps_device_t *); extern ssize_t gpsd_write(struct gps_device_t *, const char *, size_t); extern bool gpsd_next_hunt_setting(struct gps_device_t *); extern int gpsd_switch_driver(struct gps_device_t *, char *); extern void gpsd_set_speed(struct gps_device_t *, speed_t, char, unsigned int); extern speed_t gpsd_get_speed(const struct gps_device_t *); extern speed_t gpsd_get_speed_old(const struct gps_device_t *); extern void gpsd_assert_sync(struct gps_device_t *); extern void gpsd_close(struct gps_device_t *); extern void gpsd_time_init(struct gps_context_t *, time_t); extern void gpsd_set_century(struct gps_device_t *); extern timestamp_t gpsd_gpstime_resolve(/*@in@ */ struct gps_device_t *, const unsigned short, const double); extern timestamp_t gpsd_utc_resolve(/*@in@*/struct gps_device_t *); extern void gpsd_zero_satellites(/*@out@*/struct gps_data_t *sp)/*@modifies sp@*/; extern gps_mask_t gpsd_interpret_subframe(struct gps_device_t *, unsigned int, uint32_t[]); extern gps_mask_t gpsd_interpret_subframe_raw(struct gps_device_t *, unsigned int, uint32_t[]); extern /*@ observer @*/ const char *gpsd_hexdump(/*@null@*/char *, size_t); extern /*@ observer @*/ const char *gpsd_packetdump(/*@null@*/char *, size_t); # ifdef __cplusplus extern "C" { # endif extern int gpsd_hexpack(/*@in@*/const char *, /*@out@*/char *, size_t); # ifdef __cplusplus } # endif extern ssize_t hex_escapes(/*@out@*/char *, const char *); extern void gpsd_position_fix_dump(struct gps_device_t *, /*@out@*/char[], size_t); extern void gpsd_clear_data(struct gps_device_t *); extern socket_t netlib_connectsock(int, const char *, const char *, const char *); extern socket_t netlib_localsocket(const char *, int); extern const char /*@observer@*/ *netlib_errstr(const int); extern char /*@observer@*/ *netlib_sock2ip(socket_t); extern void nmea_tpv_dump(struct gps_device_t *, /*@out@*/char[], size_t); extern void nmea_sky_dump(struct gps_device_t *, /*@out@*/char[], size_t); extern void nmea_subframe_dump(struct gps_device_t *, /*@out@*/char[], size_t); extern void ntpshm_init(struct gps_context_t *, bool); extern int ntpshm_put(struct gps_device_t *, double, double); extern void ntpd_link_deactivate(struct gps_device_t *); extern void ntpd_link_activate(struct gps_device_t *); extern void ecef_to_wgs84fix(/*@out@*/struct gps_fix_t *, /*@out@*/double *, double, double, double, double, double, double); extern void clear_dop(/*@out@*/struct dop_t *); /* shmexport.c */ #define GPSD_KEY 0x47505344 /* "GPSD" */ struct shmexport_t { int bookend1; struct gps_data_t gpsdata; int bookend2; }; extern bool shm_acquire(struct gps_context_t *); extern void shm_release(struct gps_context_t *); extern void shm_update(struct gps_context_t *, struct gps_data_t *); /* dbusexport.c */ #if defined(DBUS_EXPORT_ENABLE) && !defined(S_SPLINT_S) int initialize_dbus_connection (void); void send_dbus_fix (struct gps_device_t* channel); #endif /* defined(DBUS_EXPORT_ENABLE) && !defined(S_SPLINT_S) */ /* srecord.c */ extern void hexdump(size_t, unsigned char *, unsigned char *); extern unsigned char sr_sum(unsigned int, unsigned int, unsigned char *); extern int bin2srec(unsigned int, unsigned int, unsigned int, unsigned char *, unsigned char *); extern int srec_hdr(unsigned int, unsigned char *, unsigned char *); extern int srec_fin(unsigned int, unsigned char *); extern unsigned char hc(unsigned char); /* application interface */ extern void gps_context_init(struct gps_context_t *context); extern void gpsd_init(struct gps_device_t *, struct gps_context_t *, /*@null@*/const char *); extern void gpsd_clear(struct gps_device_t *); extern int gpsd_open(struct gps_device_t *); extern int gpsd_activate(struct gps_device_t *); extern void gpsd_deactivate(struct gps_device_t *); extern gps_mask_t gpsd_poll(struct gps_device_t *); extern void gpsd_wrap(struct gps_device_t *); extern bool gpsd_add_device(const char *device_name, bool flag_nowait); extern /*@observer@*/const char *gpsd_maskdump(gps_mask_t); /* exceptional driver methods */ extern bool ubx_write(struct gps_device_t *, unsigned int, unsigned int, /*@null@*/unsigned char *, size_t); extern bool ais_binary_decode(struct ais_t *, const unsigned char *, size_t, struct ais_type24_queue_t *); /* debugging apparatus for the client library */ #ifdef CLIENTDEBUG_ENABLE #define LIBGPS_DEBUG #endif /* CLIENTDEBUG_ENABLE */ #ifdef LIBGPS_DEBUG #define DEBUG_CALLS 1 /* shallowest debug level */ #define DEBUG_JSON 5 /* minimum level for verbose JSON debugging */ # define libgps_debug_trace(args) (void) libgps_trace args extern int libgps_debuglevel; extern void libgps_dump_state(struct gps_data_t *); #else # define libgps_debug_trace(args) /*@i1@*/do { } while (0) #endif /* LIBGPS_DEBUG */ /* caller should supply this */ # if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) __attribute__((__format__(__printf__, 2, 3))) void gpsd_report(int, const char *, ...); # else /* not a new enough GCC, use the unprotected prototype */ void gpsd_report(int, const char *, ...); #endif #ifdef S_SPLINT_S extern struct protoent *getprotobyname(const char *); extern /*@observer@*/char *strptime(const char *,const char *tp,/*@out@*/struct tm *)/*@modifies tp@*/; extern struct tm *gmtime_r(const time_t *,/*@out@*/struct tm *tp)/*@modifies tp@*/; extern struct tm *localtime_r(const time_t *,/*@out@*/struct tm *tp)/*@modifies tp@*/; #endif /* S_SPLINT_S */ /* * How to mix together epx and epy to get a horizontal circular error * eph when reporting requires it. Most devices don't report these; * NMEA 3.x devices reporting $GPGBS are the exception. */ #define EMIX(x, y) (((x) > (y)) ? (x) : (y)) #define NITEMS(x) (int)(sizeof(x)/sizeof(x[0])) /* Ugh - required for build on Solaris */ #ifndef NAN #define NAN (0.0f/0.0f) #endif /* Cygwin, in addition to NAN, doesn't have cfmakeraw */ #if defined(__CYGWIN__) void cfmakeraw(struct termios *); #endif /* defined(__CYGWIN__) */ #define DEVICEHOOKPATH "/"SYSCONFDIR"/gpsd/device-hook" /* Needed because 4.x versions of GCC are really annoying */ #define ignore_return(funcall) assert(funcall != -23) /* memory barriers */ static /*@unused@*/ inline void barrier(void) { #if defined(__GNUC__) && defined(__x86_64__) #ifndef S_SPLINT_S asm volatile("mfence"); #endif /* S_SPLINT_S */ #endif /* defined(__GNUC__) && defined(__x86_64__) */ } #endif /* _GPSD_H_ */ // Local variables: // mode: c // end: gpsd-3.9/gpsd.hotplug0000664000175000017500000000404311762140435013035 0ustar esresr#!/bin/sh # # This script is the gpsd udev handler for add/remove events on matched USB # devices. It expects to see the following environment variables: # # ACTION = either "add" or "remove" # DEVNAME = the full name of the USB device that was just activated # # It will accept from /etc/sysconfig/gpsd the following config variables: # # CONTROL_SOCKET = location of the gpsd control socket # OPTIONS = options to be passed to gpsd on launch # # It hands off to gpsdctl for the actual communication with the daemon. # # Do not introduce bashims into this script, as we want it to continue to # work under Ubuntu. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. PATH=/usr/sbin:$PATH export PATH if [ -r /etc/default/gpsd ]; then . /etc/default/gpsd elif [ -r /etc/sysconfig/gpsd ]; then . /etc/sysconfig/gpsd GPSD_OPTIONS=$OPTIONS GPSD_SOCKET=$CONTROL_SOCKET fi if [ -n "$GPSD_OPTIONS" ]; then export GPSD_OPTIONS fi if [ -n "$GPSD_SOCKET" ]; then export GPSD_SOCKET fi if [ -n "$USBAUTO" ]; then [ "$USBAUTO" = "true" ] || exit 0 fi if [ "$ACTION" = "remove" ] ; then if echo $DEVLINKS | grep -q /dev/gps; then : else exit 0 fi fi logger -t "gpsd.hotplug" -p daemon.info "$ACTION" "$DEVNAME" if [ -z "$DEVNAME" ] then logger -t gpsd.hotplug -p daemon.err "no device" exit 0 fi # In recent versions of udev, the gpsd script runs in series with # the task that creates the real /dev/ttyUSBn device # node. Unfortunately, the gpsd script runs BEFORE the creation of # the node, and the node is not created until after you kill the # gpsd script, because the gpsd script waits forever for the node # to appear. # # This is a race condition, and is best fixed by running the # actual wait/hotplug portion in the background. { #logger -t gpsd.hotplug -p daemon.info "waiting for" $DEVNAME while [ -x $DEVNAME ] do sleep 1 done #logger -t gpsd.hotplug -p daemon.info $DEVNAME "is active" gpsdctl $ACTION $DEVNAME } & gpsd-3.9/gpsd.php.in0000664000175000017500000004442612074745333012565 0ustar esresr # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above # copyright notice and this permission notice appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # Changed to Google Maps API v3, requires no API key, and shorter code # Sanjeev Gupta 2013-01-05 global $head, $blurb, $title, $showmap, $autorefresh, $footer, $gmap_key; global $server, $advertise, $port, $open, $swap_ew, $testmode; $testmode = 1; # leave this set to 1 # Public script parameters: # host: host name or address where GPSd runs. Default: from config file # port: port of GPSd. Default: from config file # op=view: show just the skyview image instead of the whole HTML page # sz=small: used with op=view, display a small (240x240px) skyview # op=json: respond with the GPSd POLL JSON structure # jsonp=prefix: used with op=json, wrap the POLL JSON in parentheses # and prepend prefix # If you're running PHP with the Suhosin patch (like the Debian PHP5 package), # it may be necessary to increase the value of the # suhosin.get.max_value_length parameter to 2048. The imgdata parameter used # for displaying the skyview is longer than the default 512 allowed by Suhosin. # Debian has the config file at /etc/php5/conf.d/suhosin.ini. # this script shouldn't take more than a few seconds to run set_time_limit(3); ini_set('max_execution_time', 3); if (!file_exists("gpsd_config.inc")) write_config(); require_once("gpsd_config.inc"); # sample data $resp = <<0) && ($port<65536)) $port = $_GET['port']; if ($testmode){ $sock = @fsockopen($server, $port, $errno, $errstr, 2); @fwrite($sock, "?WATCH={\"enable\":true}\n"); usleep(1000); @fwrite($sock, "?POLL;\n"); usleep(1000); for($tries = 0; $tries < 10; $tries++){ $resp = @fread($sock, 2000); # SKY can be pretty big if (preg_match('/{"class":"POLL".+}/i', $resp, $m)){ $resp = $m[0]; break; } } @fclose($sock); if (!$resp) $resp = '{"class":"ERROR","message":"no response from GPS daemon"}'; } } if ($op == 'view') gen_image($resp); else if ($op == 'json') write_json($resp); else write_html($resp); exit(0); ########################################################################### function colorsetup($im){ $C['white'] = imageColorAllocate($im, 255, 255, 255); $C['ltgray'] = imageColorAllocate($im, 191, 191, 191); $C['mdgray'] = imageColorAllocate($im, 127, 127, 127); $C['dkgray'] = imageColorAllocate($im, 63, 63, 63); $C['black'] = imageColorAllocate($im, 0, 0, 0); $C['red'] = imageColorAllocate($im, 255, 0, 0); $C['brightgreen'] = imageColorAllocate($im, 0, 255, 0); $C['darkgreen'] = imageColorAllocate($im, 0, 192, 0); $C['blue'] = imageColorAllocate($im, 0, 0, 255); $C['cyan'] = imageColorAllocate($im, 0, 255, 255); $C['magenta'] = imageColorAllocate($im, 255, 0, 255); $C['yellow'] = imageColorAllocate($im, 255, 255, 0); $C['orange'] = imageColorAllocate($im, 255, 128, 0); return $C; } function legend($im, $sz, $C){ $r = 30; $fn = 5; $x = $sz - (4*$r+7) - 2; $y = $sz - $r - 3; imageFilledRectangle($im, $x, $y, $x + 4*$r + 7, $y + $r +1, $C['dkgray']); imageRectangle($im, $x+0*$r+1, $y+1, $x + 1*$r + 0, $y + $r, $C['red']); imageRectangle($im, $x+1*$r+2, $y+1, $x + 2*$r + 2, $y + $r, $C['yellow']); imageRectangle($im, $x+2*$r+4, $y+1, $x + 3*$r + 4, $y + $r, $C['darkgreen']); imageRectangle($im, $x+4*$r+6, $y+1, $x + 3*$r + 6, $y + $r, $C['brightgreen']); imageString($im, $fn, $x+3+0*$r, $y+$r/3, "<30", $C['red']); imageString($im, $fn, $x+5+1*$r, $y+$r/3, "30+", $C['yellow']); imageString($im, $fn, $x+7+2*$r, $y+$r/3, "35+", $C['darkgreen']); imageString($im, $fn, $x+9+3*$r, $y+$r/3, "40+", $C['brightgreen']); } function radial($angle, $sz){ #turn into radians $angle = deg2rad($angle); # determine length of radius $r = $sz * 0.5 * 0.95; # and convert length/azimuth to cartesian $x0 = sprintf("%d", (($sz * 0.5) - ($r * cos($angle)))); $y0 = sprintf("%d", (($sz * 0.5) - ($r * sin($angle)))); $x1 = sprintf("%d", (($sz * 0.5) + ($r * cos($angle)))); $y1 = sprintf("%d", (($sz * 0.5) + ($r * sin($angle)))); return array($x0, $y0, $x1, $y1); } function azel2xy($az, $el, $sz){ global $swap_ew; #rotate coords... 90deg W = 180deg trig $az += 270; #turn into radians $az = deg2rad($az); # determine length of radius $r = $sz * 0.5 * 0.95; $r -= ($r * ($el/90)); # and convert length/azimuth to cartesian $x = sprintf("%d", (($sz * 0.5) + ($r * cos($az)))); $y = sprintf("%d", (($sz * 0.5) + ($r * sin($az)))); if ($swap_ew == 0) $x = $sz - $x; return array($x, $y); } function splot($im, $sz, $C, $e){ if ((0 == $e['PRN']) || (0 == $e['az'] + $e['el'] + $e['ss']) || ($e['az'] < 0) || ($e['el'] < 0)) return; $color = $C['brightgreen']; if ($e['ss'] < 40) $color = $C['darkgreen']; if ($e['ss'] < 35) $color = $C['yellow']; if ($e['ss'] < 30) $color = $C['red']; if ($e['el']<10) $color = $C['blue']; if ($e['ss'] < 10) $color = $C['black']; list($x, $y) = azel2xy($e['az'], $e['el'], $sz); $r = 12; if (isset($_GET['sz']) && ($_GET['sz'] == 'small')) $r = 8; imageString($im, 3, $x+4, $y+4, $e['PRN'], $C['black']); if ($e['used'] == true) if ($e['PRN'] > 32) imageFilledDiamond($im, $x, $y, $r, $color); else imageFilledArc($im, $x, $y, $r, $r, 0, 360, $color, 0); else if ($e['PRN'] > 32) imageDiamond($im, $x, $y, $r, $color); else imageArc($im, $x, $y, $r, $r, 0, 360, $color); } function imageDiamond($im, $x, $y, $r, $color){ $t = $r/2; # this lunacy is because imagesetthickness doesn't seem to work $vx = array ( $x+$t, $y, $x, $y+$t, $x-$t, $y, $x, $y-$t ); imagepolygon($im, $vx, 4, $color); $t--; $vx = array ( $x+$t, $y, $x, $y+$t, $x-$t, $y, $x, $y-$t ); imagepolygon($im, $vx, 4, $color); $t--; $vx = array ( $x+$t, $y, $x, $y+$t, $x-$t, $y, $x, $y-$t ); imagepolygon($im, $vx, 4, $color); } function imageFilledDiamond($im, $x, $y, $r, $color){ $t = $r/2; while($t){ $vx = array ( $x+$t, $y, $x, $y+$t, $x-$t, $y, $x, $y-$t ); imagepolygon($im, $vx, 4, $color); $t -= 0.5; } } function elevation($im, $sz, $C, $a){ $b = 90 - $a; $a = $sz * 0.95 * ($a/180); imageArc($im, $sz/2, $sz/2, $a*2, $a*2, 0, 360, $C['ltgray']); $x = $sz/2 - 16; $y = $sz/2 - $a; imageString($im, 2, $x, $y, $b, $C['ltgray']); } function skyview($im, $sz, $C){ global $swap_ew; $a = 90; $a = $sz * 0.95 * ($a/180); imageFilledArc($im, $sz/2, $sz/2, $a*2, $a*2, 0, 360, $C['mdgray'], 0); imageArc($im, $sz/2, $sz/2, $a*2, $a*2, 0, 360, $C['black']); $x = $sz/2 - 16; $y = $sz/2 - $a; imageString($im, 2, $x, $y, "0", $C['ltgray']); $a = 85; $a = $sz * 0.95 * ($a/180); imageFilledArc($im, $sz/2, $sz/2, $a*2, $a*2, 0, 360, $C['white'], 0); imageArc($im, $sz/2, $sz/2, $a*2, $a*2, 0, 360, $C['ltgray']); imageString($im, 1, $sz/2 - 6, $sz+$a, '5', $C['black']); $x = $sz/2 - 16; $y = $sz/2 - $a; imageString($im, 2, $x, $y, "5", $C['ltgray']); for($i = 0; $i < 180; $i += 15){ list($x0, $y0, $x1, $y1) = radial($i, $sz); imageLine($im, $x0, $y0, $x1, $y1, $C['ltgray']); } for($i = 15; $i < 90; $i += 15) elevation($im, $sz, $C, $i); $x = $sz/2 - 16; $y = $sz/2 - 8; /* imageString($im, 2, $x, $y, "90", $C['ltgray']); */ imageString($im, 4, $sz/2 + 4, 2 , 'N', $C['black']); imageString($im, 4, $sz/2 + 4, $sz - 16 , 'S', $C['black']); if ($swap_ew == 0){ imageString($im, 4, 4 , $sz/2 + 4, 'E', $C['black']); imageString($im, 4, $sz - 10 , $sz/2 + 4, 'W', $C['black']); } else { imageString($im, 4, 4 , $sz/2 + 4, 'W', $C['black']); imageString($im, 4, $sz - 10 , $sz/2 + 4, 'E', $C['black']); } } function gen_image($resp){ $sz = 600; if (isset($_GET['sz']) && ($_GET['sz'] == 'small')) $sz = 240; $GPS = json_decode($resp, true); if ($GPS['class'] != "POLL"){ die("json_decode error: $resp"); } $im = imageCreate($sz, $sz); $C = colorsetup($im); skyview($im, $sz, $C); if ($sz > 240) legend($im, $sz, $C); for($i = 0; $i < count($GPS['sky'][0]['satellites']); $i++){ splot($im, $sz, $C, $GPS['sky'][0]['satellites'][$i]); } header("Content-type: image/png"); imagePNG($im); imageDestroy($im); } function dfix($x, $y, $z){ if ($x < 0){ $x = sprintf("%f %s", -1 * $x, $z); } else { $x = sprintf("%f %s", $x, $y); } return $x; } function write_html($resp){ global $sock, $errstr, $errno, $server, $port, $head, $body, $open; global $blurb, $title, $autorefresh, $showmap, $gmap_key, $footer; global $testmode, $advertise; $GPS = json_decode($resp, true); if ($GPS['class'] != 'POLL'){ die("json_decode error: $resp"); } header("Content-type: text/html; charset=UTF-8"); global $lat, $lon; $lat = (float)$GPS['tpv'][0]['lat']; $lon = (float)$GPS['tpv'][0]['lon']; $x = $server; $y = $port; $imgdata = base64_encode($resp); $server = $x; $port = $y; if ($autorefresh > 0) $autorefresh = ""; else $autorefresh = ''; $map_head = $map_body = $map_code = ''; if ($showmap == 1) { $map_head = gen_gmap_head(); $map_body = 'onload="Load()" onunload="GUnload()"'; $map_code = gen_map_code(); } else if ($showmap == 2) { $map_head = gen_osm_head(); $map_body = 'onload="Load()"'; $map_code = gen_map_code(); } $part1 = << {$head} {$map_head} {$title} - GPSD Test Station {$lat}, {$lon} {$autorefresh}
EOF; if (!strlen($advertise)) $advertise = $server; if ($testmode && !$sock) $part2 = ""; else $part2 = << EOF; if (!$open) $part3 = ''; else $part3 = << EOF; if ($testmode && !$sock) $part4 = ""; else { $fix = $GPS['tpv'][0]; $sky = $GPS['sky'][0]; $sats = $sky['satellites']; $nsv = count($sats); $ts = $fix['time']; $sat = ''; foreach($sats as $s) $sat .= sprintf( "\t\n", $s['PRN'], $s['el'], $s['az'], $s['ss'], $s['used'] ? 'Y' : 'N' ); $part4 = << EOF; } $part5 = << {$footer}

This script is distributed by the GPSD project.

EOF; print $part1 . $part2 . $part3 . $part4 . $part5; } function write_json($resp){ header('Content-Type: text/javascript'); if (isset($_GET['jsonp'])) print "{$_GET['jsonp']}({$resp})"; else print $resp; } function write_config(){ $f = fopen("gpsd_config.inc", "a"); if (!$f) die("can't generate prototype config file. try running this script as root in DOCUMENT_ROOT"); $buf = <<gpsd server located someplace. The hardware is a hardware description and link. This machine is maintained by Your Name Goes Here.
EOT; ?> EOB; fwrite($f, $buf); fclose($f); } function gen_gmap_head() { global $gmap_key; return << EOT; } function gen_osm_head() { global $GPS; return << EOT; } function gen_map_code() { return <<
Loading...
EOT; } ?> gpsd-3.9/gpsd.rules0000664000175000017500000000574212035475012012510 0ustar esresr# udev rules for gpsd # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # # GPSes don't have their own USB device class. They're serial-over-USB # devices, so what you see is actually the ID of the serial-over-USB chip. # Fortunately, just two of these account for over 80% of consumer-grade # GPS sensors. The gpsd.hotplug wrapper script will tell a running gpsd # that it should look at the device that just went active, because it # might be a GPS. # # The following setup works on Debian and Ubuntu - something similar # will apply on other distributions: # # /lib/udev/rules.d/25-gpsd.rules # /lib/udev/gpsd.hotplug # # Setting the link in /lib/udev/rules.d activates the rule and determines # when to run it on boot (similar to init.d processing). SUBSYSTEM!="tty", GOTO="gpsd_rules_end" # Prolific Technology, Inc. PL2303 Serial Port [linux module: pl2303] ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug" # ATEN International Co., Ltd UC-232A Serial Port [linux module: pl2303] ATTRS{idVendor}=="0557", ATTRS{idProduct}=="2008", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug" # PS-360 OEM (GPS sold with MS Street and Trips 2005) [linux module: pl2303] ATTRS{idVendor}=="067b", ATTRS{idProduct}=="aaa0", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug" # FTDI 8U232AM / FT232 [linux module: ftdi_sio] ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug" # Cypress M8/CY7C64013 (Delorme uses these) [linux module: cypress_m8] ATTRS{idVendor}=="1163", ATTRS{idProduct}=="0100", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug" # Cypress M8/CY7C64013 (DeLorme LT-40) ATTRS{idVendor}=="1163", ATTRS{idProduct}=="0200", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug" # Garmin International GPSmap, various models (tested with Garmin GPS 18 USB) [linux module: garmin_gps] ATTRS{idVendor}=="091e", ATTRS{idProduct}=="0003", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug" # Cygnal Integrated Products, Inc. CP210x Composite Device (Used by Holux m241 and Wintec grays2 wbt-201) [linux module: cp210x] ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug" # Cygnal Integrated Products, Inc. [linux module: cp210x] ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea71", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug" # u-blox AG, u-blox 5 (tested with Navilock NL-402U) [linux module: cdc_acm] ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a5", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug" # u-blox AG, u-blox 6 (tested with GNSS Evaluation Kit TCXO) [linux module: cdc_acm] ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a6", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug" # MediaTek (tested with HOLUX M-1200E) [linux module: cdc_acm] ATTRS{idVendor}=="0e8d", ATTRS{idProduct}=="3329", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug" ACTION=="remove", RUN+="/lib/udev/gpsd.hotplug" LABEL="gpsd_rules_end" gpsd-3.9/gpsd.usermap0000664000175000017500000000207011757250540013030 0ustar esresr# Hotplug device map for GPSD # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # # GPSes don't have their own USB device class. They're serial-over-USB # devices, so what you see is actually the ID of the serial-over-USB chip. # Fortunately, just two of these account for over 80% of consumer-grade # GPS sensors. The gpsdplug script will tell a running gpsd that it should # look at the device that just went active, because it might be a GPS. # # The Prolific Technology 2303 (commonly in tandem with SiRF chips) gpsd.hotplug 0x0003 0x067b 0x2303 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 # FTDI 8U232AM gpsd.hotplug 0x0003 0x0403 0x6001 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 # Cypress M8/CY7C64013 (DeLorme uses these) gpsd.hotplug 0x0003 0x1163 0x0100 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 # PS-360 OEM (Microsoft GPS sold with Street and Trips 2005) gpsd.hotplug 0x0003 0x067b 0xaaa0 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 gpsd-3.9/gpsd.xml0000664000175000017500000012331111762140435012153 0ustar esresr ]> 9 Aug 2004 gpsd 8 The GPSD Project GPSD Documentation gpsd interface daemon for GPS receivers gpsd -F control-socket -S listener-port -b -l -G -n -N -h -P pidfile -D debuglevel -V source-name QUICK START If you have a GPS attached on the lowest-numbered USB port of a Linux system, and want to read reports from it on TCP/IP port 2947, it will normally suffice to do this: gpsd /dev/ttyUSB0 For the lowest-numbered serial port: gpsd /dev/ttyS0 Change the device number as appropriate if you need to use a different port. Command-line flags enable verbose logging, a control port, and other optional extras but should not be needed for basic operation; the one exception, on very badly designed hardware, might be (which see). On Linux systems supporting udev, gpsd is normally started automatically when a USB plugin event fires (if it is not already running) and is handed the name of the newly active device. In that case no invocation is required at all. For your initial tests set your GPS hardware to speak NMEA, as gpsd is guaranteed to be able to process that. If your GPS has a native or binary mode with better performance that gpsd knows how to speak, gpsd will autoconfigure that mode. You can verify correct operation by first starting gpsd and then xgps, the X windows test client. If you have problems, the GPSD project maintains a >FAQ to assist troubleshooting. DESCRIPTION gpsd is a monitor daemon that collects information from GPSes, differential-GPS radios, or AIS receivers attached to the host machine. Each GPS, DGPS radio, or AIS receiver is expected to be direct-connected to the host via a USB or RS232C serial device. The serial device may be specified to gpsd at startup, or it may be set via a command shipped down a local control socket (e.g. by a USB hotplug script). Given a GPS device by either means, gpsd discovers the correct port speed and protocol for it. gpsd should be able to query any GPS that speaks either the standard textual NMEA 0183 protocol, or the (differing) extended NMEA dialects used by MKT-3301, iTrax, Motorola OnCore, Sony CXD2951, and Ashtech/Thales devices. It can also interpret the binary protocols used by EverMore, Garmin, Navcom, Rockwell/Zodiac, SiRF, Trimble, and uBlox ANTARIS devices. Under Linux it can read NMEA2000 packets through the kernel CAN socket. It can read heading and attitude information from the Oceanserver 5000 or TNT Revolution digital compasses. The GPS reporting formats supported by your instance of gpsd may differ depending on how it was compiled; general-purpose versions support many, but it can be built with protocol subsets down to a singleton for use in constrained environments. For a list of the GPS protocols supported by your instance, see the output of gpsd -l gpsd effectively hides the differences among the GPS types it supports. It also knows about and uses commands that tune these GPSes for lower latency. By using gpsd as an intermediary applications avoid contention for serial devices. gpsd can use differential-GPS corrections from a DGPS radio or over the net, from a ground station running a DGPSIP server or a Ntrip broadcaster that reports RTCM-104 data; this will shrink position errors by roughly a factor of four. When gpsd opens a serial device emitting RTCM-104, it automatically recognizes this and uses the device as a correction source for all connected GPSes that accept RTCM corrections (this is dependent on the type of the GPS; not all GPSes have the firmware capability to accept RTCM correction packets). See and for discussion. Client applications will communicate with gpsd via a TCP/IP port, 2947 by default). Both IPv4 and IPv6 connections are supported and a client may connect via either. The program accepts the following options: -F Create a control socket for device addition and removal commands. You must specify a valid pathname on your local filesystem; this will be created as a Unix-domain socket to which you can write commands that edit the daemon's internal device list. -S Set TCP/IP port on which to listen for GPSD clients (default is 2947). -b Broken-device-safety mode, otherwise known as read-only mode. A few bluetooth and USB receivers lock up or become totally inaccessible when probed or reconfigured; see the hardware compatibility list on the GPSD project website for details. This switch prevents gpsd from writing to a receiver. This means that gpsd cannot configure the receiver for optimal performance, but it also means that gpsd cannot break the receiver. A better solution would be for Bluetooth to not be so fragile. A platform independent method to identify serial-over-Bluetooth devices would also be nice. -G This flag causes gpsd to listen on all addresses (INADDR_ANY) rather than just the loop back (INADDR_LOOPBACK) address. For the sake of privacy and security, TPV information is now private to the local machine until the user makes an effort to expose this to the world. -l List all drivers compiled into this gpsd instance. The letters to the left of each driver name are the gpsd control commands supported by that driver. -n Don't wait for a client to connect before polling whatever GPS is associated with it. Some RS232 GPSes wait in a standby mode (drawing less power) when the host machine is not asserting DTR, and some cellphone and handheld embedded GPSes have similar behaviors. Accordingly, waiting for a watch request to open the device may save battery power. (This capability is rare in consumer-grade devices and nonexistent in USB GPSes which lack a DTR line.) -N Don't daemonize; run in foreground. This switch is mainly useful for debugging. -h Display help message and terminate. -P Specify the name and path to record the daemon's process ID. -D Set debug level. At debug levels 2 and above, gpsd reports incoming sentence and actions to standard error if gpsd is in the foreground (-N) or to syslog if in the background. -V Dump version and exit. Arguments are interpreted as the names of data sources. Normally, a data source is the device pathname of a local device from which the daemon may expect GPS data. But there are three other special source types recognized, for a total of four: Local serial or USB device A normal Unix device name of a serial or USB device to which a sensor is attached. Example: /dev/ttyUSB0. TCP feed A URI with the prefix "tcp://", followed by a hostname, a colon, and a port number. The daemon will open a socket to the indicated address and port and read data packets from it, which will be interpreted as though they had been issued by a serial device. Example: tcp://data.aishub.net:4006. UDP feed A URI with the prefix "udp://", followed by a hostname, a colon, and a port number. The daemon will open a socket listening for UDP datagrams arriving on the indicated address and port, which will be interpreted as though they had been issued by a serial device. Example: udp://127.0.0.1:5000. Ntrip caster A URI with the prefix "ntrip://" followed by the name of an Ntrip caster (Ntrip is a protocol for broadcasting differential-GPS fixes over the net). For Ntrip services that require authentication, a prefix of the form "username:password@" can be added before the name of the Ntrip broadcaster. For Ntrip service, you must specify which stream to use; the stream is given in the form "/streamname". An example DGPSIP URI could be "dgpsip://dgpsip.example.com" and a Ntrip URI could be "ntrip://foo:bar@ntrip.example.com:80/example-stream". Corrections from the caster will be send to each attached GPS with the capability to accept them. DGPSIP server A URI with the prefix "dgpsip://" followed by a hostname, a colon, and an optional colon-separated port number (defaulting to 2101). The daemon will handshake with the DGPSIP server and read RTCM2 correction data from it. Corrections from the server will be set to each attached GPS with the capability to accept them. Example: dgpsip://dgps.wsrcc.com:2101. Remote gpsd feed A URI with the prefix "gpsd://", followed by a hostname and optionally a colony and a port number (if the port is absent the default gpsd port will be used). The daemon will open a socket to the indicated address and port and emulate a gpsd client, collecting JSON reports from the remote gpsd instance that will be passed to local clients. NMEA2000 CAN data A URI with the prefix "nmea2000://", followed by a CAN devicename. Only Linux socket CAN interfaces are supported. The interface must be configured to receive CAN messages before gpsd can be started. If there is more then one unit on the CAN bus that provides GPS data, gpsd chooses the unit from which a GPS message is first seen. Example: nmea2000://can0. (The "ais:://" source type supported in some older versions of the daemon has been retired in favor of the more general "tcp://".) Internally, the daemon maintains a device pool holding the pathnames of devices and remote servers known to the daemon. Initially, this list is the list of device-name arguments specified on the command line. That list may be empty, in which case the daemon will have no devices on its search list until they are added by a control-socket command (see for details on this). Daemon startup will abort with an error if neither any devices nor a control socket are specified. When a device is activated (i.e. a client requests data from it), gpsd attempts to execute a hook from /etc/gpsd/device-hook with first command line argument set to the pathname of the device and the second to . On deactivation it does the same passing for the second argument. gpsd can export data to client applications in three ways: via a sockets interface, via a shared-memory segment, and via D-Bus. The next three major sections describe these interfaces. THE SOCKET INTERFACE Clients may communicate with the daemon via textual request and responses over a socket. It is a bad idea for applications to speak the protocol directly: rather, they should use the libgps client library and take appropriate care to conditionalize their code on the major and minor protocol version symbols. The request-response protocol for the socket interface is fully documented in gpsd_json5. SHARED-MEMORY AND DBUS INTERFACES gpsd has two other (read-only) interfaces. Whenever the daemon recognizes a packet from any attached device, it writes the accumulated state from that device to a shared memory segment. The C and C++ client libraries shipped with GPSD can read this segment. Client methods, and various restrictions associated with the read-only nature of this interface, are documented at libgps3. The shared-memory interface is intended primarily for embedded deployments in which gpsd monitors a single device, and its principal advantage is that a daemon instance configured with shared memory but without the sockets interface loses a significant amount of runtime weight. The daemon may be configured to emit a D-Bus signal each time an attached device delivers a fix. The signal path is path /org/gpsd, the signal interface is "org.gpsd", and the signal name is "fix". The signal payload layout is as follows:
{$blurb}

A filled circle means the satellite was used in the last fix. Green-yellow-red colors indicate signal strength in dB, green=most and red=least. Diamonds indicate SBAS satellites.

{$map_code}
To get real-time information, connect to telnet://{$advertise}:{$port}/ and type "?POLL;" or "?WATCH={"enable":true,"raw":true}".
Use a different server:
:

The gpsd instance that this page monitors is not running.
%d%d%d%d%s
Current Information
Time (UTC){$ts}
Latitude{$fix['lat']}
Longitude{$fix['lon']}
Altitude{$fix['alt']}
Fix Type{$fix['mode']}
Satellites{$nsv}
HDOP{$sky['hdop']}
VDOP{$sky['vdop']}

$sat
Current Satellites
PRNElevationAzimuthSSUsed
Satellite object Type Description DBUS_TYPE_DOUBLE Time (seconds since Unix epoch) DBUS_TYPE_INT32 mode DBUS_TYPE_DOUBLE Time uncertainty (seconds). DBUS_TYPE_DOUBLE Latitude in degrees. DBUS_TYPE_DOUBLE Longitude in degrees. DBUS_TYPE_DOUBLE Horizontal uncertainty in meters, 95% confidence. DBUS_TYPE_DOUBLE Altitude in meters. DBUS_TYPE_DOUBLE Altitude uncertainty in meters, 95% confidence. DBUS_TYPE_DOUBLE Course in degrees from true north. DBUS_TYPE_DOUBLE Course uncertainty in meters, 95% confidence. DBUS_TYPE_DOUBLE Speed, meters per second. DBUS_TYPE_DOUBLE Speed uncertainty in meters per second, 95% confidence. DBUS_TYPE_DOUBLE Climb, meters per second. DBUS_TYPE_DOUBLE Climb uncertainty in meters per second, 95% confidence. DBUS_TYPE_STRING Device name
GPS DEVICE MANAGEMENT gpsd maintains an internal list of GPS devices (the "device pool"). If you specify devices on the command line, the list is initialized with those pathnames; otherwise the list starts empty. Commands to add and remove GPS device paths from the daemon's device list must be written to a local Unix-domain socket which will be accessible only to programs running as root. This control socket will be located wherever the -F option specifies it. A device may will also be dropped from the pool if GPSD gets a zero length read from it. This end-of-file condition indicates that the' device has been disconnected. When gpsd is properly installed along with hotplug notifier scripts feeding it device-add commands over the control socket, gpsd should require no configuration or user action to find devices. Sending SIGHUP to a running gpsd forces it to close all GPSes and all client connections. It will then attempt to reconnect to any GPSes on its device list and resume listening for client connections. This may be useful if your GPS enters a wedged or confused state but can be soft-reset by pulling down DTR. To point gpsd at a device that may be a GPS, write to the control socket a plus sign ('+') followed by the device name followed by LF or CR-LF. Thus, to point the daemon at /dev/foo. send "+/dev/foo\n". To tell the daemon that a device has been disconnected and is no longer available, send a minus sign ('-') followed by the device name followed by LF or CR-LF. Thus, to remove /dev/foo from the search list. send "-/dev/foo\n". To send a control string to a specified device, write to the control socket a '!', followed by the device name, followed by '=', followed by the control string. To send a binary control string to a specified device, write to the control socket a '&', followed by the device name, followed by '=', followed by the control string in paired hex digits. Your client may await a response, which will be a line beginning with either "OK" or "ERROR". An ERROR response to an add command means the device did not emit data recognizable as GPS packets; an ERROR response to a remove command means the specified device was not in gpsd's device pool. An ERROR response to a ! command means the daemon did not recognize the devicename specified. The control socket is intended for use by hotplug scripts and other device-discovery services. This control channel is separate from the public gpsd service port, and only locally accessible, in order to prevent remote denial-of-service and spoofing attacks. ACCURACY The base User Estimated Range Error (UERE) of GPSes is 8 meters or less at 66% confidence, 15 meters or less at 95% confidence. Actual horizontal error will be UERE times a dilution factor dependent on current satellite position. Altitude determination is more sensitive to variability in ionospheric signal lag than latitude/longitude is, and is also subject to errors in the estimation of local mean sea level; base error is 12 meters at 66% confidence, 23 meters at 95% confidence. Again, this will be multiplied by a vertical dilution of precision (VDOP) dependent on satellite geometry, and VDOP is typically larger than HDOP. Users should not rely on GPS altitude for life-critical tasks such as landing an airplane. These errors are intrinsic to the design and physics of the GPS system. gpsd does its internal computations at sufficient accuracy that it will add no measurable position error of its own. DGPS correction will reduce UERE by a factor of 4, provided you are within about 100mi (160km) of a DGPS ground station from which you are receiving corrections. On a 4800bps connection, the time latency of fixes provided by gpsd will be one second or less 95% of the time. Most of this lag is due to the fact that GPSes normally emit fixes once per second, thus expected latency is 0.5sec. On the personal-computer hardware available in 2005 and later, computation lag induced by gpsd will be negligible, on the order of a millisecond. Nevertheless, latency can introduce significant errors for vehicles in motion; at 50km/h (31mi/h) of speed over ground, 1 second of lag corresponds to 13.8 meters change in position between updates. The time reporting of the GPS system itself has an intrinsic accuracy limit of 14 nanoseconds, but this can only be approximated by specialized receivers using that send the high-accuracy PPS (Pulse-Per-Second) over RS232 to cue a clock crystal. Most GPS receivers only report time to a precision of 0.01s or 0.001s, and with no accuracy guarantees below 1sec. If your GPS uses a SiRF chipset at firmware level 231, reported UTC time may be off by the difference between whatever default leap-second offset has been compiled in and whatever leap-second correction is currently applicable, from startup until complete subframe information is received. Firmware levels 232 and up don't have this problem. You may run gpsd at debug level 4 to see the chipset type and firmware revision level. There are exactly two circumstances under which gpsd relies on the host-system clock: In the GPS broadcast signal, GPS time is represented using a week number that rolls over after 2^10 or 2^13 weeks (about 19.6 years, or 157 years), depending on the spacecraft. Receivers are required to disambiguate this to the correct date, but may have difficulty due to not knowing time to within half this interval, or may have bugs. Users have reported incorrect dates which appear to be due to this issue. gpsd uses the startup time of the daemon detect and compensate for rollovers while it is running, but otherwise reports the date as it is reported by the receiver without attempting to correct it. If you are using an NMEA-only GPS (that is, not using SiRF or Garmin or Zodiac binary mode), gpsd relies on the system clock to tell it the current century. If the system clock returns an invalid value near zero, and the GPS does not emit GPZDA at the start of its update cycle (which most consumer-grade NMEA GPSes do not) then the century part of the dates gpsd delivers may be wrong. Additionally, near the century turnover, a range of dates as wide in seconds as the accuracy of your system clock may be referred to the wrong century. USE WITH NTP gpsd can provide reference clock information to ntpd, to keep the system clock synchronized to the time provided by the GPS receiver. If you're going to use gpsd you probably want to run it mode so the clock will be updated even when no clients are active. Note that deriving time from messages received from the GPS is not as accurate as you might expect. Messages are often delayed in the receiver and on the link by several hundred milliseconds, and this delay is not constant. On Linux, gpsd includes support for interpreting the PPS pulses emitted at the start of every clock second on the carrier-detect lines of some serial GPSes; this pulse can be used to update NTP at much higher accuracy than message time provides. You can determine whether your GPS emits this pulse by running at -D 5 and watching for carrier-detect state change messages in the logfile. In addition, if your kernel provides the RFC 2783 kernel PPS API then gpsd will use that for extra accuracy. When gpsd receives a sentence with a timestamp, it packages the received timestamp with current local time and sends it to a shared-memory segment with an ID known to ntpd, the network time synchronization daemon. If ntpd has been properly configured to receive this message, it will be used to correct the system clock. Here is a sample ntp.conf configuration stanza telling ntpd how to read the GPS notifications: server 127.127.28.0 fudge 127.127.28.0 time1 0.420 refid GPS server 127.127.28.1 prefer fudge 127.127.28.1 refid GPS1 Users of ntpd older than revision ntp-4.2.5p138 should instead use this ntp.conf snippet: server 127.127.28.0 minpoll 4 maxpoll 4 fudge 127.127.28.0 time1 0.420 refid GPS server 127.127.28.1 minpoll 4 maxpoll 4 prefer fudge 127.127.28.1 refid GPS1 The magic pseudo-IP address 127.127.28.0 identifies unit 0 of the ntpd shared-memory driver; 127.127.28.1 identifies unit 1. Unit 0 is used for message-decoded time and unit 1 for the (more accurate, when available) time derived from the PPS synchronization pulse. Splitting these notifications allows ntpd to use its normal heuristics to weight them. With this configuration, ntpd will read the timestamp posted by gpsd every 16 seconds and send it to unit 0. The number after the parameter time1 is an offset in seconds. You can use it to adjust out some of the fixed delays in the system. 0.035 is a good starting value for the Garmin GPS-18/USB, 0.420 for the Garmin GPS-18/LVC. After restarting ntpd, a line similar to the one below should appear in the output of the command "ntpq -p" (after allowing a couple of minutes): remote refid st t when poll reach delay offset jitter ========================================================================= +SHM(0) .GPS. 0 l 13 16 377 0.000 0.885 0.882 If you are running PPS then it will look like this: remote refid st t when poll reach delay offset jitter ========================================================================= -SHM(0) .GPS. 0 l 13 16 377 0.000 0.885 0.882 *SHM(1) .GPS1. 0 l 11 16 377 0.000 -0.059 0.006 When the value under "reach" remains zero, check that gpsd is running; and some application is connected to it or the '-n' option was used. Make sure the receiver is locked on to at least one satellite, and the receiver is in SiRF binary, Garmin binary or NMEA/PPS mode. Plain NMEA will also drive ntpd, but the accuracy as bad as one second. When the SHM(0) line does not appear at all, check the system logs for error messages from ntpd. When no other reference clocks appear in the NTP configuration, the system clock will lock onto the GPS clock. When you have previously used ntpd, and other reference clocks appear in your configuration, there may be a fixed offset between the GPS clock and other clocks. The gpsd developers would like to receive information about the offsets observed by users for each type of receiver. Please send us the output of the "ntpq -p" command and the make and type of receiver. USE WITH CHRONY gpsd can provide reference clock information to chronyd similar to the way it talks to ntpd. The advantage to using chrony is that the PPS time resolution is in nSec. This is 1,000 times more precision than the time resolution provided to ntpd. gpsd talks to chronyd using a socket named /tmp/chrony.ttyXX.sock (where ttyXX is replaced by the GPS device name. This allows multiple GPS to feed one chronyd . No gpsd configuration is required to talk to chronyd. To get chronyd to connect to gpsd using the SHM method add this to your /etc/chrony/chonry.conf file. # delay 0.0 is right, but use 0.2 to avoid NMEA # time fighting with PPS time refclock SHM 0 offset 0.0 delay 0.2 refclock SHM 1 offset 0.0 delay 0.0 To get chronyd to connect to gpsd using the more precise socket method add this to your /etc/chrony/chrony.conf file (replacing ttyXX with your device name): If running as root: #refclock PPS refclock SOCK /var/run/chrony.ttyXX.sock If not running as root: #refclock PPS refclock SOCK /tmp/chrony.ttyXX.sock USE WITH D-BUS On operating systems that support D-BUS, gpsd can be built to broadcast GPS fixes to D-BUS-aware applications. As D-BUS is still at a pre-1.0 stage, we will not attempt to document this interface here. Read the gpsd source code to learn more. SECURITY AND PERMISSIONS ISSUES gpsd, if given the -G flag, will listen for connections from any reachable host, and then disclose the current position. Before using the -G flag, consider whether you consider your computer's location to be sensitive data to be kept private or something that you wish to publish. gpsd must start up as root in order to open the NTPD shared-memory segment, open its logfile, and create its local control socket. Before doing any processing of GPS data, it tries to drop root privileges by setting its UID to "nobody" (or another userid as set by configure) and its group ID to the group of the initial GPS passed on the command line — or, if that device doesn't exist, to the group of /dev/ttyS0. Privilege-dropping is a hedge against the possibility that carefully crafted data, either presented from a client socket or from a subverted serial device posing as a GPS, could be used to induce misbehavior in the internals of gpsd. It ensures that any such compromises cannot be used for privilege elevation to root. The assumption behind gpsd's particular behavior is that all the tty devices to which a GPS might be connected are owned by the same non-root group and allow group read/write, though the group may vary because of distribution-specific or local administrative practice. If this assumption is false, gpsd may not be able to open GPS devices in order to read them (such failures will be logged). In order to fend off inadvertent denial-of-service attacks by port scanners (not to mention deliberate ones), gpsd will time out inactive client connections. Before the client has issued a command that requests a channel assignment, a short timeout (60 seconds) applies. There is no timeout for clients in watcher or raw modes; rather, gpsd drops these clients if they fail to read data long enough for the outbound socket write buffer to fill. Clients with an assigned device in polling mode are subject to a longer timeout (15 minutes). LIMITATIONS If multiple NMEA talkers are feeding RMC, GLL, and GGA sentences to the same serial device (possible with an RS422 adapter hooked up to some marine-navigation systems), a 'TPV' response may mix an altitude from one device's GGA with latitude/longitude from another's RMC/GLL after the second sentence has arrived. gpsd may change control settings on your GPS (such as the emission frequency of various sentences or packets) and not restore the original settings on exit. This is a result of inadequacies in NMEA and the vendor binary GPS protocols, which often do not give clients any way to query the values of control settings in order to be able to restore them later. When using SiRF chips, the VDOP/TDOP/GDOP figures and associated error estimates are computed by gpsd rather than reported by the chip. The computation does not exactly match what SiRF chips do internally, which includes some satellite weighting using parameters gpsd cannot see. Autobauding on the Trimble GPSes can take as long as 5 seconds if the device speed is not matched to the GPS speed. Generation of position error estimates (eph, epv, epd, eps, epc) from the incomplete data handed back by GPS reporting protocols involves both a lot of mathematical black art and fragile device-dependent assumptions. This code has been bug-prone in tbe past and problems may still lurk there. AIDVM decoding of types 16-17, 22-23, and 25-26 is unverified. GPSD presently fully recognizes only the 2.1 level of RTCM2 (message types 1, 3, 4, 5, 6, 7, 9, 16). The 2.3 message types 13, 14, and 31 are recognized and reported. Message types 8, 10-12, 15-27, 28-30 (undefined), 31-37, 38-58 (undefined), and 60-63 are not yet supported. The ISGPS used for RTCM2 and subframes decoder logic is sufficiently convoluted to confuse some compiler optimizers, notably in GCC 3.x at -O2, into generating bad code. Devices meant to to use PPS for high-precision timekeeping may fail if they are specified after startup by a control-socket command, as opposed to on the daemon's original command line. Root privileges are dropped early, and some Unix variants require them in order to set the PPS line discipline. Under Linux the POSIX capability to set the line discipline is retained, but other platforms cannot use this code. USB GPS devices do not identify themselves through the USB subsystem; they typically present as the class 00h (undefined) or class FFh (vendor-specific) of USB-to-serial adapters. Because of this, the Linux hotplug scripts must tell gpsd to sniff data from every USB-to-serial adapter that goes active and is known to be of a type used in GPSes. No such device is sent configuration strings until after it has been identified as a GPS, and gpsd never opens a device that is opened by another process. But there is a tiny window for non-GPS devices not opened; if the application that wants them loses a race with GPSD its device open will fail and have to be retried after GPSD sniffs the device (normally less than a second later). FILES /dev/ttyS0 Prototype TTY device. After startup, gpsd sets its group ID to the owning group of this device if no GPS device was specified on the command line does not exist. /etc/gpsd/device-hook Optional file containing the device activation/deactivation script. Note that while /etc/gpsd is the default system configuration directory, it is possible to build the GPSD source code with different assumptions. APPLICABLE STANDARDS The official NMEA protocol standards for NMEA0183 and NMEA2000 are available from the National Marine Electronics Association, but are proprietary and expensive; the maintainers of gpsd have made a point of not looking at them. The GPSD project website links to several documents that collect publicly disclosed information about the protocol. gpsd parses the following NMEA sentences: RMC, GGA, GLL, GSA, GSV, VTG, ZDA, GBS, HDT, DBT. It recognizes these with either the normal GP talker-ID prefix, or with the GN prefix used by GLONASS, or with the II prefix emitted by Seahawk Autohelm marine navigation systems, or with the IN prefix emitted by some Garmin units, or with the EC prefix emitted by ECDIS units, or with the SD prefix emitted by depth sounders. It recognizes some vendor extensions: the PGRME emitted by some Garmin GPS models, the OHPR emitted by Oceanserver digital compasses, the PTNTHTM emitted by True North digital compasses, and the PASHR sentences emitted by some Ashtech GPSes. Note that gpsd JSON returns pure decimal degrees, not the hybrid degree/minute format described in the NMEA standard. Differential-GPS corrections are conveyed by the RTCM protocols. The applicable standard for RTCM-104 V2 is RTCM Recommended Standards for Differential GNSS (Global Navigation Satellite) Service RTCM Paper 136-2001/SC 104-STD. The applicable standard for RTCM-104 V3 is RTCM Standard 10403.1 for Differential GNSS Services - Version 3 RTCM Paper 177-2006-SC104-STD. Ordering instructions for the RTCM standards are accessible from the website of the Radio Technical Commission for Maritime Services under "Publications". AIS is defined by ITU Recommendation M.1371, Technical Characteristics for a Universal Shipborne Automatic Identification System Using Time Division Multiple Access. The AIVDM/AIVDO format understood by this program is defined by IEC-PAS 61162-100, Maritime navigation and radiocommunication equipment and systems. A more accessible description of both can be found at AIVDM/AIVDO Protocol Decoding, on the references page of the GPSD project website. Subframe data is defined by IS-GPS-200E, GLOBAL POSITIONING SYSTEM WING (GPSW) SYSTEMS ENGINEERING & INTEGRATION, INTERFACE SPECIFICATION IS-GPS-200 Revision E. The format understood by this program is defined in Section 20 (Appendix II) of the IS-GPS-200E, GPS NAVIGATION DATA STRUCTURE FOR DATA, D(t) The API for PPS time service is specified by RFC 2783, Pulse-Per-Second API for UNIX-like Operating Systems, Version 1.0 SEE ALSO gpsdctl8, gps1, libgps3, gpsd_json5, libgpsd3, gpsprof1, gpsfake1, gpsctl1, gpscat1, AUTHORS Authors: Eric S. Raymond, Chris Kuethe, Gary Miller. Former authors whose bits have been plowed under by code turnover: Remco Treffcorn, Derrick Brashear, Russ Nelson. This manual page by Eric S. Raymond esr@thyrsus.com. gpsd-3.9/gpsd_json.c0000664000175000017500000034223312140124164012624 0ustar esresr/**************************************************************************** NAME gpsd_json.c - move data between in-core and JSON structures DESCRIPTION These are functions (used only by the daemon) to dump the contents of various core data structures in JSON. PERMISSIONS Written by Eric S. Raymond, 2009 This file is Copyright (c) 2010 by the GPSD project BSD terms apply: see the file COPYING in the distribution root for details. ***************************************************************************/ #include #include #include #include #include #include "gpsd.h" #ifdef SOCKET_EXPORT_ENABLE #include "gps_json.h" #include "revision.h" /* *INDENT-OFF* */ #define JSON_BOOL(x) ((x)?"true":"false") /* * Manifest names for the gnss_type enum - must be kept synced with it. * Also, masks so we can tell what packet types correspond to each class. */ /* the map of device class names */ struct classmap_t { char *name; int typemask; int packetmask; }; #define CLASSMAP_NITEMS 5 struct classmap_t classmap[CLASSMAP_NITEMS] = { /* name typemask packetmask */ {"ANY", 0, 0}, {"GPS", SEEN_GPS, GPS_TYPEMASK}, {"RTCM2", SEEN_RTCM2, PACKET_TYPEMASK(RTCM2_PACKET)}, {"RTCM3", SEEN_RTCM3, PACKET_TYPEMASK(RTCM3_PACKET)}, {"AIS", SEEN_AIS, PACKET_TYPEMASK(AIVDM_PACKET)}, }; /* *INDENT-ON* */ char *json_stringify( /*@out@*/ char *to, size_t len, /*@in@*/ const char *from) /* escape double quotes and control characters inside a JSON string */ { /*@-temptrans@*/ const char *sp; char *tp; tp = to; /* * The limit is len-6 here because we need to be leave room for * each character to generate an up to 6-character Java-style * escape */ for (sp = from; *sp != '\0' && ((tp - to) < ((int)len - 6)); sp++) { if (!isascii((unsigned char) *sp) || iscntrl((unsigned char) *sp)) { *tp++ = '\\'; switch (*sp) { case '\b': *tp++ = 'b'; break; case '\f': *tp++ = 'f'; break; case '\n': *tp++ = 'n'; break; case '\r': *tp++ = 'r'; break; case '\t': *tp++ = 't'; break; default: /* ugh, we'd prefer a C-style escape here, but this is JSON */ /* http://www.ietf.org/rfc/rfc4627.txt * section 2.5, escape is \uXXXX */ /* don't forget the NUL in the output count! */ (void)snprintf(tp, 6, "u%04x", 0x00ff & (unsigned int)*sp); tp += strlen(tp); } } else { if (*sp == '"' || *sp == '\\') *tp++ = '\\'; *tp++ = *sp; } } *tp = '\0'; return to; /*@+temptrans@*/ } void json_version_dump( /*@out@*/ char *reply, size_t replylen) { (void)snprintf(reply, replylen, "{\"class\":\"VERSION\",\"release\":\"%s\",\"rev\":\"%s\",\"proto_major\":%d,\"proto_minor\":%d}\r\n", VERSION, REVISION, GPSD_PROTO_MAJOR_VERSION, GPSD_PROTO_MINOR_VERSION); } #ifdef TIMING_ENABLE #define CONDITIONALLY_UNUSED #else #define CONDITIONALLY_UNUSED UNUSED #endif /* TIMING_ENABLE */ void json_tpv_dump(const struct gps_device_t *session, const struct policy_t *policy CONDITIONALLY_UNUSED, /*@out@*/ char *reply, size_t replylen) { const struct gps_data_t *gpsdata = &session->gpsdata; #ifdef TIMING_ENABLE timestamp_t rtime = timestamp(); #endif /* TIMING_ENABLE */ assert(replylen > 2); (void)strlcpy(reply, "{\"class\":\"TPV\",", replylen); (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"tag\":\"%s\",", gpsdata->tag[0] != '\0' ? gpsdata->tag : "-"); if (gpsdata->dev.path[0] != '\0') (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"device\":\"%s\",", gpsdata->dev.path); (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"mode\":%d,", gpsdata->fix.mode); if (isnan(gpsdata->fix.time) == 0) { char tbuf[JSON_DATE_MAX+1]; (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"time\":\"%s\",", unix_to_iso8601(gpsdata->fix.time, tbuf, sizeof(tbuf))); } if (isnan(gpsdata->fix.ept) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"ept\":%.3f,", gpsdata->fix.ept); /* * Suppressing TPV fields that would be invalid because the fix * quality doesn't support them is nice for cutting down on the * volume of meaningless output, but the real reason to do it is * that we've observed that geodetic fix computation is unstable * in a way that tends to change low-order digits in invalid * fixes. Dumping these tends to cause cross-architecture failures * in the regression tests. This effect has been seen on SiRF-II * chips, which are quite common. */ if (gpsdata->fix.mode >= MODE_2D) { if (isnan(gpsdata->fix.latitude) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"lat\":%.9f,", gpsdata->fix.latitude); if (isnan(gpsdata->fix.longitude) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"lon\":%.9f,", gpsdata->fix.longitude); if (gpsdata->fix.mode >= MODE_3D && isnan(gpsdata->fix.altitude) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"alt\":%.3f,", gpsdata->fix.altitude); if (isnan(gpsdata->fix.epx) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"epx\":%.3f,", gpsdata->fix.epx); if (isnan(gpsdata->fix.epy) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"epy\":%.3f,", gpsdata->fix.epy); if ((gpsdata->fix.mode >= MODE_3D) && isnan(gpsdata->fix.epv) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"epv\":%.3f,", gpsdata->fix.epv); if (isnan(gpsdata->fix.track) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"track\":%.4f,", gpsdata->fix.track); if (isnan(gpsdata->fix.speed) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"speed\":%.3f,", gpsdata->fix.speed); if ((gpsdata->fix.mode >= MODE_3D) && isnan(gpsdata->fix.climb) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"climb\":%.3f,", gpsdata->fix.climb); if (isnan(gpsdata->fix.epd) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"epd\":%.4f,", gpsdata->fix.epd); if (isnan(gpsdata->fix.eps) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"eps\":%.2f,", gpsdata->fix.eps); if ((gpsdata->fix.mode >= MODE_3D) && isnan(gpsdata->fix.epc) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"epc\":%.2f,", gpsdata->fix.epc); #ifdef TIMING_ENABLE if (policy->timing) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"sor\":%f,\"chars\":%lu,\"sats\":%2d,\"rtime\":%f,\"week\":%u,\"tow\":%.3f,\"rollovers\":%d", session->sor, session->chars, gpsdata->satellites_used, rtime, session->context->gps_week, session->context->gps_tow, session->context->rollovers); #endif /* TIMING_ENABLE */ } if (reply[strlen(reply) - 1] == ',') reply[strlen(reply) - 1] = '\0'; /* trim trailing comma */ (void)strlcat(reply, "}\r\n", replylen); } void json_noise_dump(const struct gps_data_t *gpsdata, /*@out@*/ char *reply, size_t replylen) { char tbuf[JSON_DATE_MAX+1]; assert(replylen > 2); (void)strlcpy(reply, "{\"class\":\"GST\",", replylen); (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"tag\":\"%s\",", gpsdata->tag[0] != '\0' ? gpsdata->tag : "-"); if (gpsdata->dev.path[0] != '\0') (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"device\":\"%s\",", gpsdata->dev.path); (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"time\":\"%s\",", unix_to_iso8601(gpsdata->gst.utctime, tbuf, sizeof(tbuf))); #define ADD_GST_FIELD(tag, field) do { \ if (isnan(gpsdata->gst.field) == 0) \ (void)snprintf(reply + strlen(reply), \ replylen - strlen(reply), \ "\"" tag "\":%.3f,", gpsdata->gst.field); \ } while(0) ADD_GST_FIELD("rms", rms_deviation); ADD_GST_FIELD("major", smajor_deviation); ADD_GST_FIELD("minor", sminor_deviation); ADD_GST_FIELD("orient", smajor_orientation); ADD_GST_FIELD("lat", lat_err_deviation); ADD_GST_FIELD("lon", lon_err_deviation); ADD_GST_FIELD("alt", alt_err_deviation); #undef ADD_GST_FIELD if (reply[strlen(reply) - 1] == ',') reply[strlen(reply) - 1] = '\0'; /* trim trailing comma */ (void)strlcat(reply, "}\r\n", replylen); } void json_sky_dump(const struct gps_data_t *datap, /*@out@*/ char *reply, size_t replylen) { int i, j, used, reported = 0; char tbuf[JSON_DATE_MAX+1]; assert(replylen > 2); (void)strlcpy(reply, "{\"class\":\"SKY\",", replylen); (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"tag\":\"%s\",", datap->tag[0] != '\0' ? datap->tag : "-"); if (datap->dev.path[0] != '\0') (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"device\":\"%s\",", datap->dev.path); if (isnan(datap->skyview_time) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"time\":\"%s\",", unix_to_iso8601(datap->skyview_time, tbuf, sizeof(tbuf))); if (isnan(datap->dop.xdop) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"xdop\":%.2f,", datap->dop.xdop); if (isnan(datap->dop.ydop) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"ydop\":%.2f,", datap->dop.ydop); if (isnan(datap->dop.vdop) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"vdop\":%.2f,", datap->dop.vdop); if (isnan(datap->dop.tdop) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"tdop\":%.2f,", datap->dop.tdop); if (isnan(datap->dop.hdop) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"hdop\":%.2f,", datap->dop.hdop); if (isnan(datap->dop.gdop) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"gdop\":%.2f,", datap->dop.gdop); if (isnan(datap->dop.pdop) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"pdop\":%.2f,", datap->dop.pdop); /* insurance against flaky drivers */ for (i = 0; i < datap->satellites_visible; i++) if (datap->PRN[i]) reported++; if (reported) { (void)strlcat(reply, "\"satellites\":[", replylen); for (i = 0; i < reported; i++) { used = 0; for (j = 0; j < datap->satellites_used; j++) if (datap->used[j] == datap->PRN[i]) { used = 1; break; } if (datap->PRN[i]) { (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "{\"PRN\":%d,\"el\":%d,\"az\":%d,\"ss\":%.0f,\"used\":%s},", datap->PRN[i], datap->elevation[i], datap->azimuth[i], datap->ss[i], used ? "true" : "false"); } } if (reply[strlen(reply) - 1] == ',') reply[strlen(reply) - 1] = '\0'; /* trim trailing comma */ (void)strlcat(reply, "]", replylen); } if (reply[strlen(reply) - 1] == ',') reply[strlen(reply) - 1] = '\0'; /* trim trailing comma */ (void)strlcat(reply, "}\r\n", replylen); if (datap->satellites_visible != reported) gpsd_report(LOG_WARN, "Satellite count %d != PRN count %d\n", datap->satellites_visible, reported); } void json_device_dump(const struct gps_device_t *device, /*@out@*/ char *reply, size_t replylen) { struct classmap_t *cmp; (void)strlcpy(reply, "{\"class\":\"DEVICE\",\"path\":\"", replylen); (void)strlcat(reply, device->gpsdata.dev.path, replylen); (void)strlcat(reply, "\",", replylen); if (device->gpsdata.online > 0) { char buf1[JSON_VAL_MAX * 2 + 1]; (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"activated\":\"%s\",", unix_to_iso8601(device->gpsdata.online, buf1, sizeof(buf1))); if (device->observed != 0) { int mask = 0; for (cmp = classmap; cmp < classmap + NITEMS(classmap); cmp++) if ((device->observed & cmp->packetmask) != 0) mask |= cmp->typemask; if (mask != 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"flags\":%d,", mask); } if (device->device_type != NULL) { (void)strlcat(reply, "\"driver\":\"", replylen); (void)strlcat(reply, device->device_type->type_name, replylen); (void)strlcat(reply, "\",", replylen); } /*@-mustfreefresh@*/ if (device->subtype[0] != '\0') { (void)strlcat(reply, "\"subtype\":\"", replylen); (void)strlcat(reply, json_stringify(buf1, sizeof(buf1), device->subtype), replylen); (void)strlcat(reply, "\",", replylen); } /*@+mustfreefresh@*/ /* * There's an assumption here: Anything that we type service_sensor is * a serial device with the usual control parameters. */ if (device->servicetype == service_sensor) { (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"native\":%d,\"bps\":%d,\"parity\":\"%c\",\"stopbits\":%u,\"cycle\":%2.2f", device->gpsdata.dev.driver_mode, (int)gpsd_get_speed(device), device->gpsdata.dev.parity, device->gpsdata.dev.stopbits, device->gpsdata.dev.cycle); #ifdef RECONFIGURE_ENABLE if (device->device_type != NULL && device->device_type->rate_switcher != NULL) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), ",\"mincycle\":%2.2f", device->device_type->min_cycle); #endif /* RECONFIGURE_ENABLE */ } } if (reply[strlen(reply) - 1] == ',') reply[strlen(reply) - 1] = '\0'; /* trim trailing comma */ (void)strlcat(reply, "}\r\n", replylen); } void json_watch_dump(const struct policy_t *ccp, /*@out@*/ char *reply, size_t replylen) { /*@-compdef@*/ (void)snprintf(reply, replylen, "{\"class\":\"WATCH\",\"enable\":%s,\"json\":%s,\"nmea\":%s,\"raw\":%d,\"scaled\":%s,\"timing\":%s,", ccp->watcher ? "true" : "false", ccp->json ? "true" : "false", ccp->nmea ? "true" : "false", ccp->raw, ccp->scaled ? "true" : "false", ccp->timing ? "true" : "false"); if (ccp->devpath[0] != '\0') (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"device\":\"%s\",", ccp->devpath); if (reply[strlen(reply) - 1] == ',') reply[strlen(reply) - 1] = '\0'; (void)strlcat(reply, "}\r\n", replylen); /*@+compdef@*/ } void json_subframe_dump(const struct gps_data_t *datap, /*@out@*/ char buf[], size_t buflen) { size_t len = 0; const struct subframe_t *subframe = &datap->subframe; const bool scaled = datap->policy.scaled; (void)snprintf(buf, buflen, "{\"class\":\"SUBFRAME\",\"device\":\"%s\"," "\"tSV\":%u,\"TOW17\":%u,\"frame\":%u,\"scaled\":%s", datap->dev.path, (unsigned int)subframe->tSVID, (unsigned int)subframe->TOW17, (unsigned int)subframe->subframe_num, JSON_BOOL(scaled)); len = strlen(buf); /*@-type@*/ if ( 1 == subframe->subframe_num ) { if (scaled) { (void)snprintf(buf + len, buflen - len, ",\"EPHEM1\":{\"WN\":%u,\"IODC\":%u,\"L2\":%u," "\"ura\":%u,\"hlth\":%u,\"L2P\":%u,\"Tgd\":%g," "\"toc\":%lu,\"af2\":%.4g,\"af1\":%.6e,\"af0\":%.7e}", (unsigned int)subframe->sub1.WN, (unsigned int)subframe->sub1.IODC, (unsigned int)subframe->sub1.l2, subframe->sub1.ura, subframe->sub1.hlth, (unsigned int)subframe->sub1.l2p, subframe->sub1.d_Tgd, (unsigned long)subframe->sub1.l_toc, subframe->sub1.d_af2, subframe->sub1.d_af1, subframe->sub1.d_af0); } else { (void)snprintf(buf + len, buflen - len, ",\"EPHEM1\":{\"WN\":%u,\"IODC\":%u,\"L2\":%u," "\"ura\":%u,\"hlth\":%u,\"L2P\":%u,\"Tgd\":%d," "\"toc\":%u,\"af2\":%ld,\"af1\":%d,\"af0\":%d}", (unsigned int)subframe->sub1.WN, (unsigned int)subframe->sub1.IODC, (unsigned int)subframe->sub1.l2, subframe->sub1.ura, subframe->sub1.hlth, (unsigned int)subframe->sub1.l2p, (int)subframe->sub1.Tgd, (unsigned int)subframe->sub1.toc, (long)subframe->sub1.af2, (int)subframe->sub1.af1, (int)subframe->sub1.af0); } } else if ( 2 == subframe->subframe_num ) { if (scaled) { (void)snprintf(buf + len, buflen - len, ",\"EPHEM2\":{\"IODE\":%u,\"Crs\":%.6e,\"deltan\":%.6e," "\"M0\":%.11e,\"Cuc\":%.6e,\"e\":%f,\"Cus\":%.6e," "\"sqrtA\":%.11g,\"toe\":%lu,\"FIT\":%u,\"AODO\":%u}", (unsigned int)subframe->sub2.IODE, subframe->sub2.d_Crs, subframe->sub2.d_deltan, subframe->sub2.d_M0, subframe->sub2.d_Cuc, subframe->sub2.d_eccentricity, subframe->sub2.d_Cus, subframe->sub2.d_sqrtA, (unsigned long)subframe->sub2.l_toe, (unsigned int)subframe->sub2.fit, (unsigned int)subframe->sub2.u_AODO); } else { (void)snprintf(buf + len, buflen - len, ",\"EPHEM2\":{\"IODE\":%u,\"Crs\":%d,\"deltan\":%d," "\"M0\":%ld,\"Cuc\":%d,\"e\":%ld,\"Cus\":%d," "\"sqrtA\":%lu,\"toe\":%lu,\"FIT\":%u,\"AODO\":%u}", (unsigned int)subframe->sub2.IODE, (int)subframe->sub2.Crs, (int)subframe->sub2.deltan, (long)subframe->sub2.M0, (int)subframe->sub2.Cuc, (long)subframe->sub2.e, (int)subframe->sub2.Cus, (unsigned long)subframe->sub2.sqrtA, (unsigned long)subframe->sub2.toe, (unsigned int)subframe->sub2.fit, (unsigned int)subframe->sub2.AODO); } } else if ( 3 == subframe->subframe_num ) { if (scaled) { (void)snprintf(buf + len, buflen - len, ",\"EPHEM3\":{\"IODE\":%3u,\"IDOT\":%.6g,\"Cic\":%.6e," "\"Omega0\":%.11e,\"Cis\":%.7g,\"i0\":%.11e,\"Crc\":%.7g," "\"omega\":%.11e,\"Omegad\":%.6e}", (unsigned int)subframe->sub3.IODE, subframe->sub3.d_IDOT, subframe->sub3.d_Cic, subframe->sub3.d_Omega0, subframe->sub3.d_Cis, subframe->sub3.d_i0, subframe->sub3.d_Crc, subframe->sub3.d_omega, subframe->sub3.d_Omegad ); } else { (void)snprintf(buf + len, buflen - len, ",\"EPHEM3\":{\"IODE\":%u,\"IDOT\":%u,\"Cic\":%u," "\"Omega0\":%ld,\"Cis\":%d,\"i0\":%ld,\"Crc\":%d," "\"omega\":%ld,\"Omegad\":%ld}", (unsigned int)subframe->sub3.IODE, (unsigned int)subframe->sub3.IDOT, (unsigned int)subframe->sub3.Cic, (long int)subframe->sub3.Omega0, (int)subframe->sub3.Cis, (long int)subframe->sub3.i0, (int)subframe->sub3.Crc, (long int)subframe->sub3.omega, (long int)subframe->sub3.Omegad ); } } else if ( subframe->is_almanac ) { if (scaled) { /*@-compdef@*/ (void)snprintf(buf + len, buflen - len, ",\"ALMANAC\":{\"ID\":%d,\"Health\":%u," "\"e\":%g,\"toa\":%lu," "\"deltai\":%.10e,\"Omegad\":%.5e,\"sqrtA\":%.10g," "\"Omega0\":%.10e,\"omega\":%.10e,\"M0\":%.11e," "\"af0\":%.5e,\"af1\":%.5e}", (int)subframe->sub5.almanac.sv, (unsigned int)subframe->sub5.almanac.svh, subframe->sub5.almanac.d_eccentricity, (unsigned long)subframe->sub5.almanac.l_toa, subframe->sub5.almanac.d_deltai, subframe->sub5.almanac.d_Omegad, subframe->sub5.almanac.d_sqrtA, subframe->sub5.almanac.d_Omega0, subframe->sub5.almanac.d_omega, subframe->sub5.almanac.d_M0, subframe->sub5.almanac.d_af0, subframe->sub5.almanac.d_af1); } else { (void)snprintf(buf + len, buflen - len, ",\"ALMANAC\":{\"ID\":%d,\"Health\":%u," "\"e\":%u,\"toa\":%u," "\"deltai\":%d,\"Omegad\":%d,\"sqrtA\":%lu," "\"Omega0\":%ld,\"omega\":%ld,\"M0\":%ld," "\"af0\":%d,\"af1\":%d}", (int)subframe->sub5.almanac.sv, (unsigned int)subframe->sub5.almanac.svh, (unsigned int)subframe->sub5.almanac.e, (unsigned int)subframe->sub5.almanac.toa, (int)subframe->sub5.almanac.deltai, (int)subframe->sub5.almanac.Omegad, (unsigned long)subframe->sub5.almanac.sqrtA, (long)subframe->sub5.almanac.Omega0, (long)subframe->sub5.almanac.omega, (long)subframe->sub5.almanac.M0, (int)subframe->sub5.almanac.af0, (int)subframe->sub5.almanac.af1); } } else if ( 4 == subframe->subframe_num ) { (void)snprintf(buf + len, buflen - len, ",\"pageid\":%u", (unsigned int)subframe->pageid); len = strlen(buf); switch (subframe->pageid ) { case 13: case 52: { int i; /*@+charint@*/ /* decoding of ERD to SV is non trivial and not done yet */ (void)snprintf(buf + len, buflen - len, ",\"ERD\":{\"ai\":%u,", subframe->sub4_13.ai); /* 1-index loop to construct json, rather than giant snprintf */ for(i = 1 ; i <= 30; i++){ len = strlen(buf); (void)snprintf(buf + len, buflen - len, "\"ERD%d\":%d,", i, subframe->sub4_13.ERD[i]); } len = strlen(buf)-1; buf[len] = '\0'; (void)snprintf(buf + len, buflen - len, "}"); break; /*@-charint@*/ } case 55: /* JSON is UTF-8. double quote, backslash and * control charactores (U+0000 through U+001F).must be * escaped. */ /* system message can be 24 bytes, JSON can escape all * chars so up to 24*6 long. */ { char buf1[25 * 6]; (void)json_stringify(buf1, sizeof(buf1), subframe->sub4_17.str); (void)snprintf(buf + len, buflen - len, ",\"system_message\":\"%.144s\"", buf1); } break; case 56: if (scaled) { (void)snprintf(buf + len, buflen - len, ",\"IONO\":{\"a0\":%.5g,\"a1\":%.5g,\"a2\":%.5g," "\"a3\":%.5g,\"b0\":%.5g,\"b1\":%.5g,\"b2\":%.5g," "\"b3\":%.5g,\"A1\":%.11e,\"A0\":%.11e,\"tot\":%.5g," "\"WNt\":%u,\"ls\":%d,\"WNlsf\":%u,\"DN\":%u," "\"lsf\":%d}", subframe->sub4_18.d_alpha0, subframe->sub4_18.d_alpha1, subframe->sub4_18.d_alpha2, subframe->sub4_18.d_alpha3, subframe->sub4_18.d_beta0, subframe->sub4_18.d_beta1, subframe->sub4_18.d_beta2, subframe->sub4_18.d_beta3, subframe->sub4_18.d_A1, subframe->sub4_18.d_A0, subframe->sub4_18.d_tot, (unsigned int)subframe->sub4_18.WNt, (int)subframe->sub4_18.leap, (unsigned int)subframe->sub4_18.WNlsf, (unsigned int)subframe->sub4_18.DN, (int)subframe->sub4_18.lsf); } else { (void)snprintf(buf + len, buflen - len, ",\"IONO\":{\"a0\":%d,\"a1\":%d,\"a2\":%d,\"a3\":%d," "\"b0\":%d,\"b1\":%d,\"b2\":%d,\"b3\":%d," "\"A1\":%ld,\"A0\":%ld,\"tot\":%u,\"WNt\":%u," "\"ls\":%d,\"WNlsf\":%u,\"DN\":%u,\"lsf\":%d}", (int)subframe->sub4_18.alpha0, (int)subframe->sub4_18.alpha1, (int)subframe->sub4_18.alpha2, (int)subframe->sub4_18.alpha3, (int)subframe->sub4_18.beta0, (int)subframe->sub4_18.beta1, (int)subframe->sub4_18.beta2, (int)subframe->sub4_18.beta3, (long)subframe->sub4_18.A1, (long)subframe->sub4_18.A0, (unsigned int)subframe->sub4_18.tot, (unsigned int)subframe->sub4_18.WNt, (int)subframe->sub4_18.leap, (unsigned int)subframe->sub4_18.WNlsf, (unsigned int)subframe->sub4_18.DN, (int)subframe->sub4_18.lsf); } break; case 25: case 63: { int i; (void)snprintf(buf + len, buflen - len, ",\"HEALTH\":{\"data_id\":%d,", (int)subframe->data_id); /* 1-index loop to construct json, rather than giant snprintf */ for(i = 1 ; i <= 32; i++){ len = strlen(buf); (void)snprintf(buf + len, buflen - len, "\"SV%d\":%d,", i, (int)subframe->sub4_25.svf[i]); } for(i = 0 ; i < 8; i++){ /* 0-index */ len = strlen(buf); (void)snprintf(buf + len, buflen - len, "\"SVH%d\":%d,", i+25, (int)subframe->sub4_25.svhx[i]); } len = strlen(buf)-1; buf[len] = '\0'; (void)snprintf(buf + len, buflen - len, "}"); break; } } } else if ( 5 == subframe->subframe_num ) { (void)snprintf(buf + len, buflen - len, ",\"pageid\":%u", (unsigned int)subframe->pageid); len = strlen(buf); if ( 51 == subframe->pageid ) { int i; /*@+matchanyintegral@*/ /* subframe5, page 25 */ (void)snprintf(buf + len, buflen - len, ",\"HEALTH2\":{\"toa\":%lu,\"WNa\":%u,", (unsigned long)subframe->sub5_25.l_toa, (unsigned int)subframe->sub5_25.WNa); /* 1-index loop to construct json */ for(i = 1 ; i <= 24; i++){ len = strlen(buf); (void)snprintf(buf + len, buflen - len, "\"SV%d\":%d,", i, (int)subframe->sub5_25.sv[i]); } len = strlen(buf)-1; buf[len] = '\0'; (void)snprintf(buf + len, buflen - len, "}"); /*@-matchanyintegral@*/ } } /*@+type@*/ (void)strlcat(buf, "}\r\n", buflen); /*@+compdef@*/ } #if defined(RTCM104V2_ENABLE) void json_rtcm2_dump(const struct rtcm2_t *rtcm, /*@null@*/const char *device, /*@out@*/char buf[], size_t buflen) /* dump the contents of a parsed RTCM104 message as JSON */ { /*@-mustfreefresh@*/ char buf1[JSON_VAL_MAX * 2 + 1]; /* * Beware! Needs to stay synchronized with a JSON enumeration map in * the parser. This interpretation of NAVSYSTEM_GALILEO is assumed * from RTCM3, it's not actually documented in RTCM 2.1. */ static char *navsysnames[] = { "GPS", "GLONASS", "GALILEO" }; unsigned int n; (void)snprintf(buf, buflen, "{\"class\":\"RTCM2\","); if (device != NULL && device[0] != '\0') (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"device\":\"%s\",", device); (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"type\":%u,\"station_id\":%u,\"zcount\":%0.1f,\"seqnum\":%u,\"length\":%u,\"station_health\":%u,", rtcm->type, rtcm->refstaid, rtcm->zcount, rtcm->seqnum, rtcm->length, rtcm->stathlth); switch (rtcm->type) { case 1: case 9: (void)strlcat(buf, "\"satellites\":[", buflen); for (n = 0; n < rtcm->gps_ranges.nentries; n++) { const struct gps_rangesat_t *rsp = &rtcm->gps_ranges.sat[n]; (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"ident\":%u,\"udre\":%u,\"iod\":%u,\"prc\":%0.3f,\"rrc\":%0.3f},", rsp->ident, rsp->udre, rsp->iod, rsp->prc, rsp->rrc); } if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "]", buflen); break; case 3: if (rtcm->ecef.valid) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"x\":%.2f,\"y\":%.2f,\"z\":%.2f,", rtcm->ecef.x, rtcm->ecef.y, rtcm->ecef.z); break; case 4: if (rtcm->reference.valid) { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"system\":\"%s\",\"sense\":%1d,\"datum\":\"%s\",\"dx\":%.1f,\"dy\":%.1f,\"dz\":%.1f,", rtcm->reference.system >= NITEMS(navsysnames) ? "UNKNOWN" : navsysnames[rtcm->reference.system], rtcm->reference.sense, rtcm->reference.datum, rtcm->reference.dx, rtcm->reference.dy, rtcm->reference.dz); } break; case 5: (void)strlcat(buf, "\"satellites\":[", buflen); for (n = 0; n < rtcm->conhealth.nentries; n++) { const struct consat_t *csp = &rtcm->conhealth.sat[n]; (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"ident\":%u,\"iodl\":%s,\"health\":%1u,\"snr\":%d,\"health_en\":%s,\"new_data\":%s,\"los_warning\":%s,\"tou\":%u},", csp->ident, JSON_BOOL(csp->iodl), (unsigned)csp->health, csp->snr, JSON_BOOL(csp->health_en), JSON_BOOL(csp->new_data), JSON_BOOL(csp->los_warning), csp->tou); } if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "]", buflen); break; case 6: /* NOP msg */ break; case 7: (void)strlcat(buf, "\"satellites\":[", buflen); for (n = 0; n < rtcm->almanac.nentries; n++) { const struct station_t *ssp = &rtcm->almanac.station[n]; (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"lat\":%.4f,\"lon\":%.4f,\"range\":%u,\"frequency\":%.1f,\"health\":%u,\"station_id\":%u,\"bitrate\":%u},", ssp->latitude, ssp->longitude, ssp->range, ssp->frequency, ssp->health, ssp->station_id, ssp->bitrate); } if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "]", buflen); break; case 13: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"status\":%s,\"rangeflag\":%s," "\"lat\":%.2f,\"lon\":%.2f,\"range\":%u,", JSON_BOOL(rtcm->xmitter.status), JSON_BOOL(rtcm->xmitter.rangeflag), rtcm->xmitter.lat, rtcm->xmitter.lon, rtcm->xmitter.range); break; case 14: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"week\":%u,\"hour\":%u,\"leapsecs\":%u,", rtcm->gpstime.week, rtcm->gpstime.hour, rtcm->gpstime.leapsecs); break; case 16: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"message\":\"%s\"", json_stringify(buf1, sizeof(buf1), rtcm->message)); break; case 31: (void)strlcat(buf, "\"satellites\":[", buflen); for (n = 0; n < rtcm->glonass_ranges.nentries; n++) { const struct glonass_rangesat_t *rsp = &rtcm->glonass_ranges.sat[n]; (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"ident\":%u,\"udre\":%u,\"change\":%s,\"tod\":%u,\"prc\":%0.3f,\"rrc\":%0.3f},", rsp->ident, rsp->udre, JSON_BOOL(rsp->change), rsp->tod, rsp->prc, rsp->rrc); } if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "]", buflen); break; default: (void)strlcat(buf, "\"data\":[", buflen); for (n = 0; n < rtcm->length; n++) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"0x%08x\",", rtcm->words[n]); if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "]", buflen); break; } if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "}\r\n", buflen); /*@+mustfreefresh@*/ } #endif /* defined(RTCM104V2_ENABLE) */ #if defined(RTCM104V3_ENABLE) void json_rtcm3_dump(const struct rtcm3_t *rtcm, /*@null@*/const char *device, /*@out@*/char buf[], size_t buflen) /* dump the contents of a parsed RTCM104v3 message as JSON */ { /*@-mustfreefresh@*/ char buf1[JSON_VAL_MAX * 2 + 1]; unsigned short i; unsigned int n; (void)snprintf(buf, buflen, "{\"class\":\"RTCM3\","); if (device != NULL && device[0] != '\0') (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"device\":\"%s\",", device); (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"type\":%u,", rtcm->type); (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"length\":%u,", rtcm->length); #define CODE(x) (unsigned int)(x) #define INT(x) (unsigned int)(x) switch (rtcm->type) { case 1001: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"station_id\":%u,\"tow\":%d,\"sync\":\"%s\"," "\"smoothing\":\"%s\",\"interval\":\"%u\",", rtcm->rtcmtypes.rtcm3_1001.header.station_id, (int)rtcm->rtcmtypes.rtcm3_1001.header.tow, JSON_BOOL(rtcm->rtcmtypes.rtcm3_1001.header.sync), JSON_BOOL(rtcm->rtcmtypes.rtcm3_1001.header.smoothing), rtcm->rtcmtypes.rtcm3_1001.header.interval); (void)strlcat(buf, "\"satellites\":[", buflen); for (i = 0; i < rtcm->rtcmtypes.rtcm3_1001.header.satcount; i++) { #define R1001 rtcm->rtcmtypes.rtcm3_1001.rtk_data[i] (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"ident\":%u,\"ind\":%u,\"prange\":%8.2f," "\"delta\":%6.4f,\"lockt\":%u},", R1001.ident, CODE(R1001.L1.indicator), R1001.L1.pseudorange, R1001.L1.rangediff, INT(R1001.L1.locktime)); #undef R1001 } if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "]", buflen); break; case 1002: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"station_id\":%u,\"tow\":%d,\"sync\":\"%s\"," "\"smoothing\":\"%s\",\"interval\":\"%u\",", rtcm->rtcmtypes.rtcm3_1002.header.station_id, (int)rtcm->rtcmtypes.rtcm3_1002.header.tow, JSON_BOOL(rtcm->rtcmtypes.rtcm3_1002.header.sync), JSON_BOOL(rtcm->rtcmtypes.rtcm3_1002.header.smoothing), rtcm->rtcmtypes.rtcm3_1002.header.interval); (void)strlcat(buf, "\"satellites\":[", buflen); for (i = 0; i < rtcm->rtcmtypes.rtcm3_1002.header.satcount; i++) { #define R1002 rtcm->rtcmtypes.rtcm3_1002.rtk_data[i] (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"ident\":%u,\"ind\":%u,\"prange\":%8.2f," "\"delta\":%6.4f,\"lockt\":%u,\"amb\":%u," "\"CNR\":%.2f},", R1002.ident, CODE(R1002.L1.indicator), R1002.L1.pseudorange, R1002.L1.rangediff, INT(R1002.L1.locktime), INT(R1002.L1.ambiguity), R1002.L1.CNR); #undef R1002 } if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "]", buflen); break; case 1003: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"station_id\":%u,\"tow\":%d,\"sync\":\"%s\"," "\"smoothing\":\"%s\",\"interval\":\"%u\",", rtcm->rtcmtypes.rtcm3_1003.header.station_id, (int)rtcm->rtcmtypes.rtcm3_1003.header.tow, JSON_BOOL(rtcm->rtcmtypes.rtcm3_1003.header.sync), JSON_BOOL(rtcm->rtcmtypes.rtcm3_1003.header.smoothing), rtcm->rtcmtypes.rtcm3_1003.header.interval); (void)strlcat(buf, "\"satellites\":[", buflen); for (i = 0; i < rtcm->rtcmtypes.rtcm3_1003.header.satcount; i++) { #define R1003 rtcm->rtcmtypes.rtcm3_1003.rtk_data[i] (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"ident\":%u," "\"L1\":{\"ind\":%u,\"prange\":%8.2f," "\"delta\":%6.4f,\"lockt\":%u}," "\"L2\":{\"ind\":%u,\"prange\":%8.2f," "\"delta\":%6.4f,\"lockt\":%u}," "},", R1003.ident, CODE(R1003.L1.indicator), R1003.L1.pseudorange, R1003.L1.rangediff, INT(R1003.L1.locktime), CODE(R1003.L2.indicator), R1003.L2.pseudorange, R1003.L2.rangediff, INT(R1003.L2.locktime)); #undef R1003 } if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "]", buflen); break; case 1004: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"station_id\":%u,\"tow\":%d,\"sync\":\"%s\"," "\"smoothing\":\"%s\",\"interval\":\"%u\",", rtcm->rtcmtypes.rtcm3_1004.header.station_id, (int)rtcm->rtcmtypes.rtcm3_1004.header.tow, JSON_BOOL(rtcm->rtcmtypes.rtcm3_1004.header.sync), JSON_BOOL(rtcm->rtcmtypes.rtcm3_1004.header.smoothing), rtcm->rtcmtypes.rtcm3_1004.header.interval); (void)strlcat(buf, "\"satellites\":[", buflen); for (i = 0; i < rtcm->rtcmtypes.rtcm3_1004.header.satcount; i++) { #define R1004 rtcm->rtcmtypes.rtcm3_1004.rtk_data[i] (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"ident\":%u," "\"L1\":{\"ind\":%u,\"prange\":%8.2f," "\"delta\":%6.4f,\"lockt\":%u," "\"amb\":%u,\"CNR\":%.2f}" "\"L2\":{\"ind\":%u,\"prange\":%8.2f," "\"delta\":%6.4f,\"lockt\":%u," "\"CNR\":%.2f}" "},", R1004.ident, CODE(R1004.L1.indicator), R1004.L1.pseudorange, R1004.L1.rangediff, INT(R1004.L1.locktime), INT(R1004.L1.ambiguity), R1004.L1.CNR, CODE(R1004.L2.indicator), R1004.L2.pseudorange, R1004.L2.rangediff, INT(R1004.L2.locktime), R1004.L2.CNR); #undef R1004 } if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "]", buflen); break; case 1005: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"station_id\":%u,\"system\":[", rtcm->rtcmtypes.rtcm3_1005.station_id); if ((rtcm->rtcmtypes.rtcm3_1005.system & 0x04)!=0) (void)strlcat(buf, "\"GPS\",", buflen); if ((rtcm->rtcmtypes.rtcm3_1005.system & 0x02)!=0) (void)strlcat(buf, "\"GLONASS\",", buflen - strlen(buf)); if ((rtcm->rtcmtypes.rtcm3_1005.system & 0x01)!=0) (void)strlcat(buf, "\"GALILEO\",", buflen); if (buf[strlen(buf)-1] == ',') buf[strlen(buf)-1] = '\0'; (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "],\"refstation\":%s,\"sro\":%s," "\"x\":%.4f,\"y\":%.4f,\"z\":%.4f,", JSON_BOOL(rtcm->rtcmtypes.rtcm3_1005.reference_station), JSON_BOOL(rtcm->rtcmtypes.rtcm3_1005.single_receiver), rtcm->rtcmtypes.rtcm3_1005.ecef_x, rtcm->rtcmtypes.rtcm3_1005.ecef_y, rtcm->rtcmtypes.rtcm3_1005.ecef_z); break; case 1006: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"station_id\":%u,\"system\":[", rtcm->rtcmtypes.rtcm3_1006.station_id); if ((rtcm->rtcmtypes.rtcm3_1006.system & 0x04)!=0) (void)strlcat(buf, "\"GPS\",", buflen); if ((rtcm->rtcmtypes.rtcm3_1006.system & 0x02)!=0) (void)strlcat(buf, "\"GLONASS\",", buflen); if ((rtcm->rtcmtypes.rtcm3_1006.system & 0x01)!=0) (void)strlcat(buf, "\"GALILEO\",", buflen); if (buf[strlen(buf)-1] == ',') buf[strlen(buf)-1] = '\0'; (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "],\"refstation\":%s,\"sro\":%s," "\"x\":%.4f,\"y\":%.4f,\"z\":%.4f,", JSON_BOOL(rtcm->rtcmtypes.rtcm3_1006.reference_station), JSON_BOOL(rtcm->rtcmtypes.rtcm3_1006.single_receiver), rtcm->rtcmtypes.rtcm3_1006.ecef_x, rtcm->rtcmtypes.rtcm3_1006.ecef_y, rtcm->rtcmtypes.rtcm3_1006.ecef_z); (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"h\":%.4f,", rtcm->rtcmtypes.rtcm3_1006.height); break; case 1007: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"station_id\":%u,\"desc\":\"%s\",\"setup-id\":%u", rtcm->rtcmtypes.rtcm3_1007.station_id, rtcm->rtcmtypes.rtcm3_1007.descriptor, INT(rtcm->rtcmtypes.rtcm3_1007.setup_id)); break; case 1008: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"station_id\":%u,\"desc\":\"%s\"," "\"setup-id\":%u,\"serial\":\"%s\"", rtcm->rtcmtypes.rtcm3_1008.station_id, rtcm->rtcmtypes.rtcm3_1008.descriptor, INT(rtcm->rtcmtypes.rtcm3_1008.setup_id), rtcm->rtcmtypes.rtcm3_1008.serial); break; case 1009: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"station_id\":%u,\"tow\":%d,\"sync\":\"%s\"," "\"smoothing\":\"%s\",\"interval\":\"%u\"," "\"satcount\":\"%u\",", rtcm->rtcmtypes.rtcm3_1009.header.station_id, (int)rtcm->rtcmtypes.rtcm3_1009.header.tow, JSON_BOOL(rtcm->rtcmtypes.rtcm3_1009.header.sync), JSON_BOOL(rtcm->rtcmtypes.rtcm3_1009.header.smoothing), rtcm->rtcmtypes.rtcm3_1009.header.interval, rtcm->rtcmtypes.rtcm3_1009.header.satcount); (void)strlcat(buf, "\"satellites\":[", buflen); for (i = 0; i < rtcm->rtcmtypes.rtcm3_1009.header.satcount; i++) { #define R1009 rtcm->rtcmtypes.rtcm3_1009.rtk_data[i] (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"ident\":%u,\"ind\":%u,\"channel\":%hd," "\"prange\":%8.2f,\"delta\":%6.4f,\"lockt\":%u},", R1009.ident, CODE(R1009.L1.indicator), R1009.L1.channel, R1009.L1.pseudorange, R1009.L1.rangediff, INT(R1009.L1.locktime)); #undef R1009 } if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "]", buflen); break; case 1010: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"station_id\":%u,\"tow\":%d,\"sync\":\"%s\"," "\"smoothing\":\"%s\",\"interval\":\"%u\",", rtcm->rtcmtypes.rtcm3_1010.header.station_id, (int)rtcm->rtcmtypes.rtcm3_1010.header.tow, JSON_BOOL(rtcm->rtcmtypes.rtcm3_1010.header.sync), JSON_BOOL(rtcm->rtcmtypes.rtcm3_1010.header.smoothing), rtcm->rtcmtypes.rtcm3_1010.header.interval); (void)strlcat(buf, "\"satellites\":[", buflen); for (i = 0; i < rtcm->rtcmtypes.rtcm3_1010.header.satcount; i++) { #define R1010 rtcm->rtcmtypes.rtcm3_1010.rtk_data[i] (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"ident\":%u,\"ind\":%u,\"channel\":%hd," "\"prange\":%8.2f,\"delta\":%6.4f,\"lockt\":%u," "\"amb\":%u,\"CNR\":%.2f},", R1010.ident, CODE(R1010.L1.indicator), R1010.L1.channel, R1010.L1.pseudorange, R1010.L1.rangediff, INT(R1010.L1.locktime), INT(R1010.L1.ambiguity), R1010.L1.CNR); #undef R1010 } if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "]", buflen); break; case 1011: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"station_id\":%u,\"tow\":%d,\"sync\":\"%s\"," "\"smoothing\":\"%s\",\"interval\":\"%u\",", rtcm->rtcmtypes.rtcm3_1011.header.station_id, (int)rtcm->rtcmtypes.rtcm3_1011.header.tow, JSON_BOOL(rtcm->rtcmtypes.rtcm3_1011.header.sync), JSON_BOOL(rtcm->rtcmtypes.rtcm3_1011.header.smoothing), rtcm->rtcmtypes.rtcm3_1011.header.interval); (void)strlcat(buf, "\"satellites\":[", buflen); for (i = 0; i < rtcm->rtcmtypes.rtcm3_1011.header.satcount; i++) { #define R1011 rtcm->rtcmtypes.rtcm3_1011.rtk_data[i] (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"ident\":%u,\"channel\":%hd," "\"L1\":{\"ind\":%u," "\"prange\":%8.2f,\"delta\":%6.4f,\"lockt\":%u}," "\"L2:{\"ind\":%u,\"prange\":%8.2f," "\"delta\":%6.4f,\"lockt\":%u}" "}", R1011.ident,R1011.L1.channel, CODE(R1011.L1.indicator), R1011.L1.pseudorange, R1011.L1.rangediff, INT(R1011.L1.locktime), CODE(R1011.L2.indicator), R1011.L2.pseudorange, R1011.L2.rangediff, INT(R1011.L2.locktime)); #undef R1011 } if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "]", buflen); break; case 1012: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"station_id\":%u,\"tow\":%d,\"sync\":\"%s\"," "\"smoothing\":\"%s\",\"interval\":\"%u\",", rtcm->rtcmtypes.rtcm3_1012.header.station_id, (int)rtcm->rtcmtypes.rtcm3_1012.header.tow, JSON_BOOL(rtcm->rtcmtypes.rtcm3_1012.header.sync), JSON_BOOL(rtcm->rtcmtypes.rtcm3_1012.header.smoothing), rtcm->rtcmtypes.rtcm3_1012.header.interval); (void)strlcat(buf, "\"satellites\":[", buflen); for (i = 0; i < rtcm->rtcmtypes.rtcm3_1012.header.satcount; i++) { #define R1012 rtcm->rtcmtypes.rtcm3_1012.rtk_data[i] (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"ident\":%u,\"channel\":%hd," "\"L1\":{\"ind\":%u,\"prange\":%8.2f," "\"delta\":%6.4f,\"lockt\":%u,\"amb\":%u," "\"CNR\":%.2f}," "\"L2\":{\"ind\":%u,\"prange\":%8.2f," "\"delta\":%6.4f,\"lockt\":%u," "\"CNR\":%.2f}," "},", R1012.ident, R1012.L1.channel, CODE(R1012.L1.indicator), R1012.L1.pseudorange, R1012.L1.rangediff, INT(R1012.L1.locktime), INT(R1012.L1.ambiguity), R1012.L1.CNR, CODE(R1012.L2.indicator), R1012.L2.pseudorange, R1012.L2.rangediff, INT(R1012.L2.locktime), R1012.L2.CNR); #undef R1012 } if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "]", buflen); break; case 1013: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"station_id\":%u,\"mjd\":%u,\"sec\":%u," "\"leapsecs\":%u,", rtcm->rtcmtypes.rtcm3_1013.station_id, rtcm->rtcmtypes.rtcm3_1013.mjd, rtcm->rtcmtypes.rtcm3_1013.sod, INT(rtcm->rtcmtypes.rtcm3_1013.leapsecs)); for (i = 0; i < (unsigned short)rtcm->rtcmtypes.rtcm3_1013.ncount; i++) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"id\":%u,\"sync\":\"%s\",\"interval\":%u}", rtcm->rtcmtypes.rtcm3_1013.announcements[i].id, JSON_BOOL(rtcm->rtcmtypes.rtcm3_1013. announcements[i].sync), rtcm->rtcmtypes.rtcm3_1013. announcements[i].interval); break; case 1014: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"netid\":%u,\"subnetid\":%u,\"statcount\":%u" "\"master\":%u,\"aux\":%u,\"lat\":%f,\"lon\":%f,\"alt\":%f,", rtcm->rtcmtypes.rtcm3_1014.network_id, rtcm->rtcmtypes.rtcm3_1014.subnetwork_id, (uint) rtcm->rtcmtypes.rtcm3_1014.stationcount, rtcm->rtcmtypes.rtcm3_1014.master_id, rtcm->rtcmtypes.rtcm3_1014.aux_id, rtcm->rtcmtypes.rtcm3_1014.d_lat, rtcm->rtcmtypes.rtcm3_1014.d_lon, rtcm->rtcmtypes.rtcm3_1014.d_alt); break; case 1015: break; case 1016: break; case 1017: break; case 1018: break; case 1019: break; case 1020: break; case 1029: /*@-formatcode@*//* splint has a bug */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"station_id\":%u,\"mjd\":%u,\"sec\":%u," "\"len\":%zd,\"units\":%zd,\"msg\":\"%s\",", rtcm->rtcmtypes.rtcm3_1029.station_id, rtcm->rtcmtypes.rtcm3_1029.mjd, rtcm->rtcmtypes.rtcm3_1029.sod, rtcm->rtcmtypes.rtcm3_1029.len, rtcm->rtcmtypes.rtcm3_1029.unicode_units, json_stringify(buf1, sizeof(buf1), (char *)rtcm->rtcmtypes.rtcm3_1029.text)); /*@+formatcode@*/ break; case 1033: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"station_id\":%u,\"desc\":\"%s\"," "\"setup-id\":%u,\"serial\":\"%s\"," "\"receiver\":%s,\"firmware\":\"%s\"", rtcm->rtcmtypes.rtcm3_1033.station_id, rtcm->rtcmtypes.rtcm3_1033.descriptor, INT(rtcm->rtcmtypes.rtcm3_1033.setup_id), rtcm->rtcmtypes.rtcm3_1033.serial, rtcm->rtcmtypes.rtcm3_1033.receiver, rtcm->rtcmtypes.rtcm3_1033.firmware); break; default: (void)strlcat(buf, "\"data\":[", buflen); for (n = 0; n < rtcm->length; n++) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"0x%02x\",",(unsigned int)rtcm->rtcmtypes.data[n]); if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "]", buflen); break; } if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "}\r\n", buflen); /*@+mustfreefresh@*/ #undef CODE #undef INT } #endif /* defined(RTCM104V3_ENABLE) */ #if defined(AIVDM_ENABLE) void json_aivdm_dump(const struct ais_t *ais, /*@null@*/const char *device, bool scaled, /*@out@*/char *buf, size_t buflen) { char buf1[JSON_VAL_MAX * 2 + 1]; char buf2[JSON_VAL_MAX * 2 + 1]; char buf3[JSON_VAL_MAX * 2 + 1]; char buf4[JSON_VAL_MAX * 2 + 1]; bool imo; int i; static char *nav_legends[] = { "Under way using engine", "At anchor", "Not under command", "Restricted manoeuverability", "Constrained by her draught", "Moored", "Aground", "Engaged in fishing", "Under way sailing", "Reserved for HSC", "Reserved for WIG", "Reserved", "Reserved", "Reserved", "Reserved", "Not defined", }; static char *epfd_legends[] = { "Undefined", "GPS", "GLONASS", "Combined GPS/GLONASS", "Loran-C", "Chayka", "Integrated navigation system", "Surveyed", "Galileo", }; #define EPFD_DISPLAY(n) (((n) < (unsigned int)NITEMS(epfd_legends)) ? epfd_legends[n] : "INVALID EPFD") static char *ship_type_legends[100] = { "Not available", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Wing in ground (WIG) - all ships of this type", "Wing in ground (WIG) - Hazardous category A", "Wing in ground (WIG) - Hazardous category B", "Wing in ground (WIG) - Hazardous category C", "Wing in ground (WIG) - Hazardous category D", "Wing in ground (WIG) - Reserved for future use", "Wing in ground (WIG) - Reserved for future use", "Wing in ground (WIG) - Reserved for future use", "Wing in ground (WIG) - Reserved for future use", "Wing in ground (WIG) - Reserved for future use", "Fishing", "Towing", "Towing: length exceeds 200m or breadth exceeds 25m", "Dredging or underwater ops", "Diving ops", "Military ops", "Sailing", "Pleasure Craft", "Reserved", "Reserved", "High speed craft (HSC) - all ships of this type", "High speed craft (HSC) - Hazardous category A", "High speed craft (HSC) - Hazardous category B", "High speed craft (HSC) - Hazardous category C", "High speed craft (HSC) - Hazardous category D", "High speed craft (HSC) - Reserved for future use", "High speed craft (HSC) - Reserved for future use", "High speed craft (HSC) - Reserved for future use", "High speed craft (HSC) - Reserved for future use", "High speed craft (HSC) - No additional information", "Pilot Vessel", "Search and Rescue vessel", "Tug", "Port Tender", "Anti-pollution equipment", "Law Enforcement", "Spare - Local Vessel", "Spare - Local Vessel", "Medical Transport", "Ship according to RR Resolution No. 18", "Passenger - all ships of this type", "Passenger - Hazardous category A", "Passenger - Hazardous category B", "Passenger - Hazardous category C", "Passenger - Hazardous category D", "Passenger - Reserved for future use", "Passenger - Reserved for future use", "Passenger - Reserved for future use", "Passenger - Reserved for future use", "Passenger - No additional information", "Cargo - all ships of this type", "Cargo - Hazardous category A", "Cargo - Hazardous category B", "Cargo - Hazardous category C", "Cargo - Hazardous category D", "Cargo - Reserved for future use", "Cargo - Reserved for future use", "Cargo - Reserved for future use", "Cargo - Reserved for future use", "Cargo - No additional information", "Tanker - all ships of this type", "Tanker - Hazardous category A", "Tanker - Hazardous category B", "Tanker - Hazardous category C", "Tanker - Hazardous category D", "Tanker - Reserved for future use", "Tanker - Reserved for future use", "Tanker - Reserved for future use", "Tanker - Reserved for future use", "Tanker - No additional information", "Other Type - all ships of this type", "Other Type - Hazardous category A", "Other Type - Hazardous category B", "Other Type - Hazardous category C", "Other Type - Hazardous category D", "Other Type - Reserved for future use", "Other Type - Reserved for future use", "Other Type - Reserved for future use", "Other Type - Reserved for future use", "Other Type - no additional information", }; #define SHIPTYPE_DISPLAY(n) (((n) < (unsigned int)NITEMS(ship_type_legends)) ? ship_type_legends[n] : "INVALID SHIP TYPE") static const char *station_type_legends[] = { "All types of mobiles", "Reserved for future use", "All types of Class B mobile stations", "SAR airborne mobile station", "Aid to Navigation station", "Class B shipborne mobile station", "Regional use and inland waterways", "Regional use and inland waterways", "Regional use and inland waterways", "Regional use and inland waterways", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", "Reserved for future use", }; #define STATIONTYPE_DISPLAY(n) (((n) < (unsigned int)NITEMS(station_type_legends)) ? station_type_legends[n] : "INVALID STATION TYPE") static const char *navaid_type_legends[] = { "Unspecified", "Reference point", "RACON", "Fixed offshore structure", "Spare, Reserved for future use.", "Light, without sectors", "Light, with sectors", "Leading Light Front", "Leading Light Rear", "Beacon, Cardinal N", "Beacon, Cardinal E", "Beacon, Cardinal S", "Beacon, Cardinal W", "Beacon, Port hand", "Beacon, Starboard hand", "Beacon, Preferred Channel port hand", "Beacon, Preferred Channel starboard hand", "Beacon, Isolated danger", "Beacon, Safe water", "Beacon, Special mark", "Cardinal Mark N", "Cardinal Mark E", "Cardinal Mark S", "Cardinal Mark W", "Port hand Mark", "Starboard hand Mark", "Preferred Channel Port hand", "Preferred Channel Starboard hand", "Isolated danger", "Safe Water", "Special Mark", "Light Vessel / LANBY / Rigs", }; #define NAVAIDTYPE_DISPLAY(n) (((n) < (unsigned int)NITEMS(navaid_type_legends[0])) ? navaid_type_legends[n] : "INVALID NAVAID TYPE") static const char *signal_legends[] = { "N/A", "Serious emergency – stop or divert according to instructions.", "Vessels shall not proceed.", "Vessels may proceed. One way traffic.", "Vessels may proceed. Two way traffic.", "Vessels shall proceed on specific orders only.", "Vessels in main channel shall not proceed." "Vessels in main channel shall proceed on specific orders only.", "Vessels in main channel shall proceed on specific orders only.", "I = \"in-bound\" only acceptable.", "O = \"out-bound\" only acceptable.", "F = both \"in- and out-bound\" acceptable.", "XI = Code will shift to \"I\" in due time.", "XO = Code will shift to \"O\" in due time.", "X = Vessels shall proceed only on direction.", }; #define SIGNAL_DISPLAY(n) (((n) < (unsigned int)NITEMS(signal_legends[0])) ? signal_legends[n] : "INVALID SIGNAL TYPE") static const char *route_type[32] = { "Undefined (default)", "Mandatory", "Recommended", "Alternative", "Recommended route through ice", "Ship route plan", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Reserved for future use.", "Cancel route identified by message linkage", }; static char *idtypes[] = { "mmsi", "imo", "callsign", "other", }; static const char *racon_status[] = { "No RACON installed", "RACON not monitored", "RACON operational", "RACON ERROR" }; static const char *light_status[] = { "No light or no monitoring", "Light ON", "Light OFF", "Light ERROR" }; (void)snprintf(buf, buflen, "{\"class\":\"AIS\","); if (device != NULL && device[0] != '\0') (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"device\":\"%s\",", device); (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"type\":%u,\"repeat\":%u,\"mmsi\":%u,\"scaled\":%s,", ais->type, ais->repeat, ais->mmsi, JSON_BOOL(scaled)); /*@ -formatcode -mustfreefresh @*/ switch (ais->type) { case 1: /* Position Report */ case 2: case 3: if (scaled) { char turnlegend[20]; char speedlegend[20]; /* * Express turn as nan if not available, * "fastleft"/"fastright" for fast turns. */ if (ais->type1.turn == -128) (void)strlcpy(turnlegend, "\"nan\"", sizeof(turnlegend)); else if (ais->type1.turn == -127) (void)strlcpy(turnlegend, "\"fastleft\"", sizeof(turnlegend)); else if (ais->type1.turn == 127) (void)strlcpy(turnlegend, "\"fastright\"", sizeof(turnlegend)); else { double rot1 = ais->type1.turn / 4.733; (void)snprintf(turnlegend, sizeof(turnlegend), "%.0f", rot1 * rot1); } /* * Express speed as nan if not available, * "fast" for fast movers. */ if (ais->type1.speed == AIS_SPEED_NOT_AVAILABLE) (void)strlcpy(speedlegend, "\"nan\"", sizeof(speedlegend)); else if (ais->type1.speed == AIS_SPEED_FAST_MOVER) (void)strlcpy(speedlegend, "\"fast\"", sizeof(speedlegend)); else (void)snprintf(speedlegend, sizeof(speedlegend), "%.1f", ais->type1.speed / 10.0); (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"status\":\"%s\",\"turn\":%s,\"speed\":%s," "\"accuracy\":%s,\"lon\":%.4f,\"lat\":%.4f," "\"course\":%.1f,\"heading\":%u,\"second\":%u," "\"maneuver\":%u,\"raim\":%s,\"radio\":%u}\r\n", nav_legends[ais->type1.status], turnlegend, speedlegend, JSON_BOOL(ais->type1.accuracy), ais->type1.lon / AIS_LATLON_DIV, ais->type1.lat / AIS_LATLON_DIV, ais->type1.course / 10.0, ais->type1.heading, ais->type1.second, ais->type1.maneuver, JSON_BOOL(ais->type1.raim), ais->type1.radio); } else { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"status\":%u,\"turn\":%d,\"speed\":%u," "\"accuracy\":%s,\"lon\":%d,\"lat\":%d," "\"course\":%u,\"heading\":%u,\"second\":%u," "\"maneuver\":%u,\"raim\":%s,\"radio\":%u}\r\n", ais->type1.status, ais->type1.turn, ais->type1.speed, JSON_BOOL(ais->type1.accuracy), ais->type1.lon, ais->type1.lat, ais->type1.course, ais->type1.heading, ais->type1.second, ais->type1.maneuver, JSON_BOOL(ais->type1.raim), ais->type1.radio); } break; case 4: /* Base Station Report */ case 11: /* UTC/Date Response */ /* some fields have beem merged to an ISO8601 date */ if (scaled) { // The use of %u instead of %04u for the year is to allow // out-of-band year values. (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"timestamp\":\"%04u-%02u-%02uT%02u:%02u:%02uZ\"," "\"accuracy\":%s,\"lon\":%.4f,\"lat\":%.4f," "\"epfd\":\"%s\",\"raim\":%s,\"radio\":%u}\r\n", ais->type4.year, ais->type4.month, ais->type4.day, ais->type4.hour, ais->type4.minute, ais->type4.second, JSON_BOOL(ais->type4.accuracy), ais->type4.lon / AIS_LATLON_DIV, ais->type4.lat / AIS_LATLON_DIV, EPFD_DISPLAY(ais->type4.epfd), JSON_BOOL(ais->type4.raim), ais->type4.radio); } else { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"timestamp\":\"%04u-%02u-%02uT%02u:%02u:%02uZ\"," "\"accuracy\":%s,\"lon\":%d,\"lat\":%d," "\"epfd\":%u,\"raim\":%s,\"radio\":%u}\r\n", ais->type4.year, ais->type4.month, ais->type4.day, ais->type4.hour, ais->type4.minute, ais->type4.second, JSON_BOOL(ais->type4.accuracy), ais->type4.lon, ais->type4.lat, ais->type4.epfd, JSON_BOOL(ais->type4.raim), ais->type4.radio); } break; case 5: /* Ship static and voyage related data */ /* some fields have beem merged to an ISO8601 partial date */ if (scaled) { /* *INDENT-OFF* */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"imo\":%u,\"ais_version\":%u,\"callsign\":\"%s\"," "\"shipname\":\"%s\",\"shiptype\":\"%s\"," "\"to_bow\":%u,\"to_stern\":%u,\"to_port\":%u," "\"to_starboard\":%u,\"epfd\":\"%s\"," "\"eta\":\"%02u-%02uT%02u:%02uZ\"," "\"draught\":%.1f,\"destination\":\"%s\"," "\"dte\":%u}\r\n", ais->type5.imo, ais->type5.ais_version, json_stringify(buf1, sizeof(buf1), ais->type5.callsign), json_stringify(buf2, sizeof(buf2), ais->type5.shipname), SHIPTYPE_DISPLAY(ais->type5.shiptype), ais->type5.to_bow, ais->type5.to_stern, ais->type5.to_port, ais->type5.to_starboard, EPFD_DISPLAY(ais->type5.epfd), ais->type5.month, ais->type5.day, ais->type5.hour, ais->type5.minute, ais->type5.draught / 10.0, json_stringify(buf3, sizeof(buf3), ais->type5.destination), ais->type5.dte); /* *INDENT-ON* */ } else { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"imo\":%u,\"ais_version\":%u,\"callsign\":\"%s\"," "\"shipname\":\"%s\",\"shiptype\":%u," "\"to_bow\":%u,\"to_stern\":%u,\"to_port\":%u," "\"to_starboard\":%u,\"epfd\":%u," "\"eta\":\"%02u-%02uT%02u:%02uZ\"," "\"draught\":%u,\"destination\":\"%s\"," "\"dte\":%u}\r\n", ais->type5.imo, ais->type5.ais_version, json_stringify(buf1, sizeof(buf1), ais->type5.callsign), json_stringify(buf2, sizeof(buf2), ais->type5.shipname), ais->type5.shiptype, ais->type5.to_bow, ais->type5.to_stern, ais->type5.to_port, ais->type5.to_starboard, ais->type5.epfd, ais->type5.month, ais->type5.day, ais->type5.hour, ais->type5.minute, ais->type5.draught, json_stringify(buf3, sizeof(buf3), ais->type5.destination), ais->type5.dte); } break; case 6: /* Binary Message */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"seqno\":%u,\"dest_mmsi\":%u," "\"retransmit\":%s,\"dac\":%u,\"fid\":%u,", ais->type6.seqno, ais->type6.dest_mmsi, JSON_BOOL(ais->type6.retransmit), ais->type6.dac, ais->type6.fid); imo = false; if (ais->type6.dac == 235 || ais->type6.dac == 250) { switch (ais->type6.fid) { case 10: /* GLA - AtoN monitoring data */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"off_pos\":%s,\"alarm\":%s," "\"stat_ext\":%u,", JSON_BOOL(ais->type6.dac235fid10.off_pos), JSON_BOOL(ais->type6.dac235fid10.alarm), ais->type6.dac235fid10.stat_ext); if (scaled && ais->type6.dac235fid10.ana_int != 0) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"ana_int\":%.2f,", ais->type6.dac235fid10.ana_int*0.05); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"ana_int\":%u,", ais->type6.dac235fid10.ana_int); if (scaled && ais->type6.dac235fid10.ana_ext1 != 0) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"ana_ext1\":%.2f,", ais->type6.dac235fid10.ana_ext1*0.05); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"ana_ext1\":%u,", ais->type6.dac235fid10.ana_ext1); if (scaled && ais->type6.dac235fid10.ana_ext2 != 0) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"ana_ext2\":%.2f,", ais->type6.dac235fid10.ana_ext2*0.05); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"ana_ext2\":%u,", ais->type6.dac235fid10.ana_ext2); if (scaled) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"racon\":\"%s\",\"light\":\"%s\"", racon_status[ais->type6.dac235fid10.racon], light_status[ais->type6.dac235fid10.light]); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"racon\":%u,\"light\":%u", ais->type6.dac235fid10.racon, ais->type6.dac235fid10.light); if (buf[strlen(buf) - 1] == ',') buf[strlen(buf)-1] = '\0'; (void)strlcat(buf, "}\r\n", buflen); imo = true; break; } } else if (ais->type6.dac == 1) switch (ais->type6.fid) { case 12: /* IMO236 -Dangerous cargo indication */ /* some fields have beem merged to an ISO8601 partial date */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"lastport\":\"%s\",\"departure\":\"%02u-%02uT%02u:%02uZ\"," "\"nextport\":\"%s\",\"eta\":\"%02u-%02uT%02u:%02uZ\"," "\"dangerous\":\"%s\",\"imdcat\":\"%s\"," "\"unid\":%u,\"amount\":%u,\"unit\":%u}\r\n", json_stringify(buf1, sizeof(buf1), ais->type6.dac1fid12.lastport), ais->type6.dac1fid12.lmonth, ais->type6.dac1fid12.lday, ais->type6.dac1fid12.lhour, ais->type6.dac1fid12.lminute, json_stringify(buf2, sizeof(buf2), ais->type6.dac1fid12.nextport), ais->type6.dac1fid12.nmonth, ais->type6.dac1fid12.nday, ais->type6.dac1fid12.nhour, ais->type6.dac1fid12.nminute, json_stringify(buf3, sizeof(buf3), ais->type6.dac1fid12.dangerous), json_stringify(buf4, sizeof(buf4), ais->type6.dac1fid12.imdcat), ais->type6.dac1fid12.unid, ais->type6.dac1fid12.amount, ais->type6.dac1fid12.unit); imo = true; break; case 15: /* IMO236 - Extended Ship Static and Voyage Related Data */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"airdraught\":%u}\r\n", ais->type6.dac1fid15.airdraught); imo = true; break; case 16: /* IMO236 - Number of persons on board */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"persons\":%u}\t\n", ais->type6.dac1fid16.persons); imo = true; break; case 18: /* IMO289 - Clearance time to enter port */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"linkage\":%u,\"arrival\":\"%02u-%02uT%02u:%02uZ\",\"portname\":\"%s\",\"destination\":\"%s\",", ais->type6.dac1fid18.linkage, ais->type6.dac1fid18.month, ais->type6.dac1fid18.day, ais->type6.dac1fid18.hour, ais->type6.dac1fid18.minute, json_stringify(buf1, sizeof(buf1), ais->type6.dac1fid18.portname), json_stringify(buf2, sizeof(buf2), ais->type6.dac1fid18.destination)); if (scaled) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"lon\":%.3f,\"lat\":%.3f}\r\n", ais->type6.dac1fid18.lon/AIS_LATLON3_DIV, ais->type6.dac1fid18.lat/AIS_LATLON3_DIV); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"lon\":%d,\"lat\":%d}\r\n", ais->type6.dac1fid18.lon, ais->type6.dac1fid18.lat); imo = true; break; case 20: /* IMO289 - Berthing Data */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"linkage\":%u,\"berth_length\":%u," "\"position\":%u,\"arrival\":\"%u-%uT%u:%u\"," "\"availability\":%u," "\"agent\":%u,\"fuel\":%u,\"chandler\":%u," "\"stevedore\":%u,\"electrical\":%u," "\"water\":%u,\"customs\":%u,\"cartage\":%u," "\"crane\":%u,\"lift\":%u,\"medical\":%u," "\"navrepair\":%u,\"provisions\":%u," "\"shiprepair\":%u,\"surveyor\":%u," "\"steam\":%u,\"tugs\":%u,\"solidwaste\":%u," "\"liquidwaste\":%u,\"hazardouswaste\":%u," "\"ballast\":%u,\"additional\":%u," "\"regional1\":%u,\"regional2\":%u," "\"future1\":%u,\"future2\":%u," "\"berth_name\":\"%s\",", ais->type6.dac1fid20.linkage, ais->type6.dac1fid20.berth_length, ais->type6.dac1fid20.position, ais->type6.dac1fid20.month, ais->type6.dac1fid20.day, ais->type6.dac1fid20.hour, ais->type6.dac1fid20.minute, ais->type6.dac1fid20.availability, ais->type6.dac1fid20.agent, ais->type6.dac1fid20.fuel, ais->type6.dac1fid20.chandler, ais->type6.dac1fid20.stevedore, ais->type6.dac1fid20.electrical, ais->type6.dac1fid20.water, ais->type6.dac1fid20.customs, ais->type6.dac1fid20.cartage, ais->type6.dac1fid20.crane, ais->type6.dac1fid20.lift, ais->type6.dac1fid20.medical, ais->type6.dac1fid20.navrepair, ais->type6.dac1fid20.provisions, ais->type6.dac1fid20.shiprepair, ais->type6.dac1fid20.surveyor, ais->type6.dac1fid20.steam, ais->type6.dac1fid20.tugs, ais->type6.dac1fid20.solidwaste, ais->type6.dac1fid20.liquidwaste, ais->type6.dac1fid20.hazardouswaste, ais->type6.dac1fid20.ballast, ais->type6.dac1fid20.additional, ais->type6.dac1fid20.regional1, ais->type6.dac1fid20.regional2, ais->type6.dac1fid20.future1, ais->type6.dac1fid20.future2, json_stringify(buf1, sizeof(buf1), ais->type6.dac1fid20.berth_name)); if (scaled) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"berth_lon\":%.3f," "\"berth_lat\":%.3f," "\"berth_depth\":%.1f}\r\n", ais->type6.dac1fid20.berth_lon / AIS_LATLON3_DIV, ais->type6.dac1fid20.berth_lat / AIS_LATLON3_DIV, ais->type6.dac1fid20.berth_depth * 0.1); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"berth_lon\":%d," "\"berth_lat\":%d," "\"berth_depth\":%u}\r\n", ais->type6.dac1fid20.berth_lon, ais->type6.dac1fid20.berth_lat, ais->type6.dac1fid20.berth_depth); imo = true; break; case 23: /* IMO289 - Area notice - addressed */ break; case 25: /* IMO289 - Dangerous cargo indication */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"unit\":%u,\"amount\":%u,\"cargos\":[", ais->type6.dac1fid25.unit, ais->type6.dac1fid25.amount); for (i = 0; i < (int)ais->type6.dac1fid25.ncargos; i++) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"code\":%u,\"subtype\":%u},", ais->type6.dac1fid25.cargos[i].code, ais->type6.dac1fid25.cargos[i].subtype); if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "]}\r\n", buflen); imo = true; break; case 28: /* IMO289 - Route info - addressed */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"linkage\":%u,\"sender\":%u,", ais->type6.dac1fid28.linkage, ais->type6.dac1fid28.sender); if (scaled) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"rtype\":\"%s\",", route_type[ais->type6.dac1fid28.rtype]); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"rtype\":%u,", ais->type6.dac1fid28.rtype); (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"start\":\"%02u-%02uT%02u:%02uZ\",\"duration\":%u,\"waypoints\":[", ais->type6.dac1fid28.month, ais->type6.dac1fid28.day, ais->type6.dac1fid28.hour, ais->type6.dac1fid28.minute, ais->type6.dac1fid28.duration); for (i = 0; i < ais->type6.dac1fid28.waycount; i++) { if (scaled) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"lon\":%.4f,\"lat\":%.4f},", ais->type6.dac1fid28.waypoints[i].lon / AIS_LATLON4_DIV, ais->type6.dac1fid28.waypoints[i].lat / AIS_LATLON4_DIV); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"lon\":%d,\"lat\":%d},", ais->type6.dac1fid28.waypoints[i].lon, ais->type6.dac1fid28.waypoints[i].lat); } if (buf[strlen(buf) - 1] == ',') buf[strlen(buf)-1] = '\0'; (void)strlcat(buf, "]}\r\n", buflen); imo = true; break; case 30: /* IMO289 - Text description - addressed */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"linkage\":%u,\"text\":\"%s\"}\r\n", ais->type6.dac1fid30.linkage, json_stringify(buf1, sizeof(buf1), ais->type6.dac1fid30.text)); imo = true; break; case 14: /* IMO236 - Tidal Window */ case 32: /* IMO289 - Tidal Window */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"month\":%u,\"day\":%u,\"tidals\":[", ais->type6.dac1fid32.month, ais->type6.dac1fid32.day); for (i = 0; i < ais->type6.dac1fid32.ntidals; i++) { const struct tidal_t *tp = &ais->type6.dac1fid32.tidals[i]; if (scaled) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"lon\":%.3f,\"lat\":%.3f,", tp->lon / AIS_LATLON3_DIV, tp->lat / AIS_LATLON3_DIV); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"lon\":%d,\"lat\":%d,", tp->lon, tp->lat); (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"from_hour\":%u,\"from_min\":%u,\"to_hour\":%u,\"to_min\":%u,\"cdir\":%u,", tp->from_hour, tp->from_min, tp->to_hour, tp->to_min, tp->cdir); if (scaled) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"cspeed\":%.1f},", tp->cspeed / 10.0); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"cspeed\":%u},", tp->cspeed); } if (buf[strlen(buf) - 1] == ',') buf[strlen(buf)-1] = '\0'; (void)strlcat(buf, "]}\r\n", buflen); imo = true; break; } if (!imo) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"data\":\"%zd:%s\"}\r\n", ais->type6.bitcount, json_stringify(buf1, sizeof(buf1), gpsd_hexdump((char *)ais->type6.bitdata, (ais->type6.bitcount + 7) / 8))); break; case 7: /* Binary Acknowledge */ case 13: /* Safety Related Acknowledge */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"mmsi1\":%u,\"mmsi2\":%u,\"mmsi3\":%u,\"mmsi4\":%u}\r\n", ais->type7.mmsi1, ais->type7.mmsi2, ais->type7.mmsi3, ais->type7.mmsi4); break; case 8: /* Binary Broadcast Message */ imo = false; (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"dac\":%u,\"fid\":%u,",ais->type8.dac, ais->type8.fid); if (ais->type8.dac == 1) { const char *trends[] = { "steady", "increasing", "decreasing", "N/A", }; // WMO 306, Code table 4.201 const char *preciptypes[] = { "reserved", "rain", "thunderstorm", "freezing rain", "mixed/ice", "snow", "reserved", "N/A", }; const char *ice[] = { "no", "yes", "reserved", "N/A", }; switch (ais->type8.fid) { case 11: /* IMO236 - Meteorological/Hydrological data */ /* some fields have been merged to an ISO8601 partial date */ /* layout is almost identical to FID=31 from IMO289 */ if (scaled) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"lat\":%.3f,\"lon\":%.3f,", ais->type8.dac1fid11.lat / AIS_LATLON3_DIV, ais->type8.dac1fid11.lon / AIS_LATLON3_DIV); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"lat\":%d,\"lon\":%d,", ais->type8.dac1fid11.lat, ais->type8.dac1fid11.lon); (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"timestamp\":\"%02uT%02u:%02uZ\"," "\"wspeed\":%u,\"wgust\":%u,\"wdir\":%u," "\"wgustdir\":%u,\"humidity\":%u,", ais->type8.dac1fid11.day, ais->type8.dac1fid11.hour, ais->type8.dac1fid11.minute, ais->type8.dac1fid11.wspeed, ais->type8.dac1fid11.wgust, ais->type8.dac1fid11.wdir, ais->type8.dac1fid11.wgustdir, ais->type8.dac1fid11.humidity); if (scaled) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"airtemp\":%.1f,\"dewpoint\":%.1f," "\"pressure\":%u,\"pressuretend\":\"%s\",", (ais->type8.dac1fid11.airtemp - DAC1FID11_AIRTEMP_OFFSET) / DAC1FID11_AIRTEMP_DIV, (ais->type8.dac1fid11.dewpoint - DAC1FID11_DEWPOINT_OFFSET) / DAC1FID11_DEWPOINT_DIV, ais->type8.dac1fid11.pressure - DAC1FID11_PRESSURE_OFFSET, trends[ais->type8.dac1fid11.pressuretend]); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"airtemp\":%u,\"dewpoint\":%u," "\"pressure\":%u,\"pressuretend\":%u,", ais->type8.dac1fid11.airtemp, ais->type8.dac1fid11.dewpoint, ais->type8.dac1fid11.pressure, ais->type8.dac1fid11.pressuretend); if (scaled) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"visibility\":%.1f,", ais->type8.dac1fid11.visibility / DAC1FID11_VISIBILITY_DIV); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"visibility\":%u,", ais->type8.dac1fid11.visibility); if (!scaled) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"waterlevel\":%d,", ais->type8.dac1fid11.waterlevel); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"waterlevel\":%.1f,", (ais->type8.dac1fid11.waterlevel - DAC1FID11_WATERLEVEL_OFFSET) / DAC1FID11_WATERLEVEL_DIV); if (scaled) { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"leveltrend\":\"%s\"," "\"cspeed\":%.1f,\"cdir\":%u," "\"cspeed2\":%.1f,\"cdir2\":%u,\"cdepth2\":%u," "\"cspeed3\":%.1f,\"cdir3\":%u,\"cdepth3\":%u," "\"waveheight\":%.1f,\"waveperiod\":%u,\"wavedir\":%u," "\"swellheight\":%.1f,\"swellperiod\":%u,\"swelldir\":%u," "\"seastate\":%u,\"watertemp\":%.1f," "\"preciptype\":\"%s\",\"salinity\":%.1f,\"ice\":\"%s\"", trends[ais->type8.dac1fid11.leveltrend], ais->type8.dac1fid11.cspeed / DAC1FID11_CSPEED_DIV, ais->type8.dac1fid11.cdir, ais->type8.dac1fid11.cspeed2 / DAC1FID11_CSPEED_DIV, ais->type8.dac1fid11.cdir2, ais->type8.dac1fid11.cdepth2, ais->type8.dac1fid11.cspeed3 / DAC1FID11_CSPEED_DIV, ais->type8.dac1fid11.cdir3, ais->type8.dac1fid11.cdepth3, ais->type8.dac1fid11.waveheight / DAC1FID11_WAVEHEIGHT_DIV, ais->type8.dac1fid11.waveperiod, ais->type8.dac1fid11.wavedir, ais->type8.dac1fid11.swellheight / DAC1FID11_WAVEHEIGHT_DIV, ais->type8.dac1fid11.swellperiod, ais->type8.dac1fid11.swelldir, ais->type8.dac1fid11.seastate, (ais->type8.dac1fid11.watertemp - DAC1FID11_WATERTEMP_OFFSET) / DAC1FID11_WATERTEMP_DIV, preciptypes[ais->type8.dac1fid11.preciptype], ais->type8.dac1fid11.salinity / DAC1FID11_SALINITY_DIV, ice[ais->type8.dac1fid11.ice]); } else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"leveltrend\":%u," "\"cspeed\":%u,\"cdir\":%u," "\"cspeed2\":%u,\"cdir2\":%u,\"cdepth2\":%u," "\"cspeed3\":%u,\"cdir3\":%u,\"cdepth3\":%u," "\"waveheight\":%u,\"waveperiod\":%u,\"wavedir\":%u," "\"swellheight\":%u,\"swellperiod\":%u,\"swelldir\":%u," "\"seastate\":%u,\"watertemp\":%u," "\"preciptype\":%u,\"salinity\":%u,\"ice\":%u", ais->type8.dac1fid11.leveltrend, ais->type8.dac1fid11.cspeed, ais->type8.dac1fid11.cdir, ais->type8.dac1fid11.cspeed2, ais->type8.dac1fid11.cdir2, ais->type8.dac1fid11.cdepth2, ais->type8.dac1fid11.cspeed3, ais->type8.dac1fid11.cdir3, ais->type8.dac1fid11.cdepth3, ais->type8.dac1fid11.waveheight, ais->type8.dac1fid11.waveperiod, ais->type8.dac1fid11.wavedir, ais->type8.dac1fid11.swellheight, ais->type8.dac1fid11.swellperiod, ais->type8.dac1fid11.swelldir, ais->type8.dac1fid11.seastate, ais->type8.dac1fid11.watertemp, ais->type8.dac1fid11.preciptype, ais->type8.dac1fid11.salinity, ais->type8.dac1fid11.ice); (void)strlcat(buf, "}\r\n", buflen); imo = true; break; case 13: /* IMO236 - Fairway closed */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"reason\":\"%s\",\"closefrom\":\"%s\"," "\"closeto\":\"%s\",\"radius\":%u," "\"extunit\":%u," "\"from\":\"%02u-%02uT%02u:%02u\"," "\"to\":\"%02u-%02uT%02u:%02u\"}\r\n", json_stringify(buf1, sizeof(buf1), ais->type8.dac1fid13.reason), json_stringify(buf2, sizeof(buf2), ais->type8.dac1fid13.closefrom), json_stringify(buf3, sizeof(buf3), ais->type8.dac1fid13.closeto), ais->type8.dac1fid13.radius, ais->type8.dac1fid13.extunit, ais->type8.dac1fid13.fmonth, ais->type8.dac1fid13.fday, ais->type8.dac1fid13.fhour, ais->type8.dac1fid13.fminute, ais->type8.dac1fid13.tmonth, ais->type8.dac1fid13.tday, ais->type8.dac1fid13.thour, ais->type8.dac1fid13.tminute); imo = true; break; case 15: /* IMO236 - Extended ship and voyage */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"airdraught\":%u}\r\n", ais->type8.dac1fid15.airdraught); imo = true; break; case 17: /* IMO289 - VTS-generated/synthetic targets */ (void)strlcat(buf, "\"targets\":[", buflen); for (i = 0; i < ais->type8.dac1fid17.ntargets; i++) { if (scaled) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"idtype\":\"%s\",", idtypes[ais->type8.dac1fid17.targets[i].idtype]); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"idtype\":%u,", ais->type8.dac1fid17.targets[i].idtype); switch (ais->type8.dac1fid17.targets[i].idtype) { case DAC1FID17_IDTYPE_MMSI: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"%s\":\"%u\",", idtypes[ais->type8.dac1fid17.targets[i].idtype], ais->type8.dac1fid17.targets[i].id.mmsi); break; case DAC1FID17_IDTYPE_IMO: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"%s\":\"%u\",", idtypes[ais->type8.dac1fid17.targets[i].idtype], ais->type8.dac1fid17.targets[i].id.imo); break; case DAC1FID17_IDTYPE_CALLSIGN: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"%s\":\"%s\",", idtypes[ais->type8.dac1fid17.targets[i].idtype], json_stringify(buf1, sizeof(buf1), ais->type8.dac1fid17.targets[i].id.callsign)); break; default: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"%s\":\"%s\",", idtypes[ais->type8.dac1fid17.targets[i].idtype], json_stringify(buf1, sizeof(buf1), ais->type8.dac1fid17.targets[i].id.other)); } if (scaled) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"lat\":%.3f,\"lon\":%.3f,", ais->type8.dac1fid17.targets[i].lat / AIS_LATLON3_DIV, ais->type8.dac1fid17.targets[i].lon / AIS_LATLON3_DIV); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"lat\":%d,\"lon\":%d,", ais->type8.dac1fid17.targets[i].lat, ais->type8.dac1fid17.targets[i].lon); (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"course\":%u,\"second\":%u,\"speed\":%u},", ais->type8.dac1fid17.targets[i].course, ais->type8.dac1fid17.targets[i].second, ais->type8.dac1fid17.targets[i].speed); } if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "]}\r\n", buflen); imo = true; break; case 19: /* IMO289 - Marine Traffic Signal */ if (scaled) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"linkage\":%u,\"station\":\"%s\",\"lon\":%.3f,\"lat\":%.3f,\"status\":%u,\"signal\":\"%s\",\"hour\":%u,\"minute\":%u,\"nextsignal\":\"%s\"}\r\n", ais->type8.dac1fid19.linkage, json_stringify(buf1, sizeof(buf1), ais->type8.dac1fid19.station), ais->type8.dac1fid19.lon / AIS_LATLON3_DIV, ais->type8.dac1fid19.lat / AIS_LATLON3_DIV, ais->type8.dac1fid19.status, SIGNAL_DISPLAY(ais->type8.dac1fid19.signal), ais->type8.dac1fid19.hour, ais->type8.dac1fid19.minute, SIGNAL_DISPLAY(ais->type8.dac1fid19.nextsignal)); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"linkage\":%u,\"station\":\"%s\",\"lon\":%d,\"lat\":%d,\"status\":%u,\"signal\":%u,\"hour\":%u,\"minute\":%u,\"nextsignal\":%u}\r\n", ais->type8.dac1fid19.linkage, json_stringify(buf1, sizeof(buf1), ais->type8.dac1fid19.station), ais->type8.dac1fid19.lon, ais->type8.dac1fid19.lat, ais->type8.dac1fid19.status, ais->type8.dac1fid19.signal, ais->type8.dac1fid19.hour, ais->type8.dac1fid19.minute, ais->type8.dac1fid19.nextsignal); imo = true; break; case 21: /* IMO289 - Weather obs. report from ship */ break; case 22: /* IMO289 - Area notice - broadcast */ break; case 24: /* IMO289 - Extended ship static & voyage-related data */ break; case 25: /* IMO289 - Dangerous Cargo Indication */ break; case 27: /* IMO289 - Route information - broadcast */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"linkage\":%u,\"sender\":%u,", ais->type8.dac1fid27.linkage, ais->type8.dac1fid27.sender); if (scaled) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"rtype\":\"%s\",", route_type[ais->type8.dac1fid27.rtype]); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"rtype\":%u,", ais->type8.dac1fid27.rtype); (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"start\":\"%02u-%02uT%02u:%02uZ\",\"duration\":%u,\"waypoints\":[", ais->type8.dac1fid27.month, ais->type8.dac1fid27.day, ais->type8.dac1fid27.hour, ais->type8.dac1fid27.minute, ais->type8.dac1fid27.duration); for (i = 0; i < ais->type8.dac1fid27.waycount; i++) { if (scaled) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"lon\":%.4f,\"lat\":%.4f},", ais->type8.dac1fid27.waypoints[i].lon / AIS_LATLON4_DIV, ais->type8.dac1fid27.waypoints[i].lat / AIS_LATLON4_DIV); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "{\"lon\":%d,\"lat\":%d},", ais->type8.dac1fid27.waypoints[i].lon, ais->type8.dac1fid27.waypoints[i].lat); } if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "]}\r\n", buflen); imo = true; break; case 29: /* IMO289 - Text Description - broadcast */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"linkage\":%u,\"text\":\"%s\"}\r\n", ais->type8.dac1fid29.linkage, json_stringify(buf1, sizeof(buf1), ais->type8.dac1fid29.text)); imo = true; break; case 31: /* IMO289 - Meteorological/Hydrological data */ /* some fields have been merged to an ISO8601 partial date */ /* layout is almost identical to FID=11 from IMO236 */ if (scaled) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"lat\":%.3f,\"lon\":%.3f,", ais->type8.dac1fid31.lat / AIS_LATLON3_DIV, ais->type8.dac1fid31.lon / AIS_LATLON3_DIV); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"lat\":%d,\"lon\":%d,", ais->type8.dac1fid31.lat, ais->type8.dac1fid31.lon); (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"accuracy\":%s,", JSON_BOOL(ais->type8.dac1fid31.accuracy)); (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"timestamp\":\"%02uT%02u:%02uZ\"," "\"wspeed\":%u,\"wgust\":%u,\"wdir\":%u," "\"wgustdir\":%u,\"humidity\":%u,", ais->type8.dac1fid31.day, ais->type8.dac1fid31.hour, ais->type8.dac1fid31.minute, ais->type8.dac1fid31.wspeed, ais->type8.dac1fid31.wgust, ais->type8.dac1fid31.wdir, ais->type8.dac1fid31.wgustdir, ais->type8.dac1fid31.humidity); if (scaled) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"airtemp\":%.1f,\"dewpoint\":%.1f," "\"pressure\":%u,\"pressuretend\":\"%s\"," "\"visgreater\":%s,", ais->type8.dac1fid31.airtemp / DAC1FID31_AIRTEMP_DIV, ais->type8.dac1fid31.dewpoint / DAC1FID31_DEWPOINT_DIV, ais->type8.dac1fid31.pressure - DAC1FID31_PRESSURE_OFFSET, trends[ais->type8.dac1fid31.pressuretend], JSON_BOOL(ais->type8.dac1fid31.visgreater)); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"airtemp\":%d,\"dewpoint\":%d," "\"pressure\":%u,\"pressuretend\":%u," "\"visgreater\":%s,", ais->type8.dac1fid31.airtemp, ais->type8.dac1fid31.dewpoint, ais->type8.dac1fid31.pressure, ais->type8.dac1fid31.pressuretend, JSON_BOOL(ais->type8.dac1fid31.visgreater)); if (scaled) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"visibility\":%.1f,", ais->type8.dac1fid31.visibility / DAC1FID31_VISIBILITY_DIV); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"visibility\":%u,", ais->type8.dac1fid31.visibility); if (!scaled) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"waterlevel\":%d,", ais->type8.dac1fid31.waterlevel); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"waterlevel\":%.1f,", (ais->type8.dac1fid31.waterlevel - DAC1FID31_WATERLEVEL_OFFSET) / DAC1FID31_WATERLEVEL_DIV); if (scaled) { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"leveltrend\":\"%s\"," "\"cspeed\":%.1f,\"cdir\":%u," "\"cspeed2\":%.1f,\"cdir2\":%u,\"cdepth2\":%u," "\"cspeed3\":%.1f,\"cdir3\":%u,\"cdepth3\":%u," "\"waveheight\":%.1f,\"waveperiod\":%u,\"wavedir\":%u," "\"swellheight\":%.1f,\"swellperiod\":%u,\"swelldir\":%u," "\"seastate\":%u,\"watertemp\":%.1f," "\"preciptype\":\"%s\",\"salinity\":%.1f,\"ice\":\"%s\"", trends[ais->type8.dac1fid31.leveltrend], ais->type8.dac1fid31.cspeed / DAC1FID31_CSPEED_DIV, ais->type8.dac1fid31.cdir, ais->type8.dac1fid31.cspeed2 / DAC1FID31_CSPEED_DIV, ais->type8.dac1fid31.cdir2, ais->type8.dac1fid31.cdepth2, ais->type8.dac1fid31.cspeed3 / DAC1FID31_CSPEED_DIV, ais->type8.dac1fid31.cdir3, ais->type8.dac1fid31.cdepth3, ais->type8.dac1fid31.waveheight / DAC1FID31_HEIGHT_DIV, ais->type8.dac1fid31.waveperiod, ais->type8.dac1fid31.wavedir, ais->type8.dac1fid31.swellheight / DAC1FID31_HEIGHT_DIV, ais->type8.dac1fid31.swellperiod, ais->type8.dac1fid31.swelldir, ais->type8.dac1fid31.seastate, ais->type8.dac1fid31.watertemp / DAC1FID31_WATERTEMP_DIV, preciptypes[ais->type8.dac1fid31.preciptype], ais->type8.dac1fid31.salinity / DAC1FID31_SALINITY_DIV, ice[ais->type8.dac1fid31.ice]); } else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"leveltrend\":%u," "\"cspeed\":%u,\"cdir\":%u," "\"cspeed2\":%u,\"cdir2\":%u,\"cdepth2\":%u," "\"cspeed3\":%u,\"cdir3\":%u,\"cdepth3\":%u," "\"waveheight\":%u,\"waveperiod\":%u,\"wavedir\":%u," "\"swellheight\":%u,\"swellperiod\":%u,\"swelldir\":%u," "\"seastate\":%u,\"watertemp\":%d," "\"preciptype\":%u,\"salinity\":%u,\"ice\":%u", ais->type8.dac1fid31.leveltrend, ais->type8.dac1fid31.cspeed, ais->type8.dac1fid31.cdir, ais->type8.dac1fid31.cspeed2, ais->type8.dac1fid31.cdir2, ais->type8.dac1fid31.cdepth2, ais->type8.dac1fid31.cspeed3, ais->type8.dac1fid31.cdir3, ais->type8.dac1fid31.cdepth3, ais->type8.dac1fid31.waveheight, ais->type8.dac1fid31.waveperiod, ais->type8.dac1fid31.wavedir, ais->type8.dac1fid31.swellheight, ais->type8.dac1fid31.swellperiod, ais->type8.dac1fid31.swelldir, ais->type8.dac1fid31.seastate, ais->type8.dac1fid31.watertemp, ais->type8.dac1fid31.preciptype, ais->type8.dac1fid31.salinity, ais->type8.dac1fid31.ice); (void)strlcat(buf, "}\r\n", buflen); imo = true; break; } } if (!imo) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"data\":\"%zd:%s\"}\r\n", ais->type8.bitcount, json_stringify(buf1, sizeof(buf1), gpsd_hexdump((char *)ais->type8.bitdata, (ais->type8.bitcount + 7) / 8))); break; case 9: /* Standard SAR Aircraft Position Report */ if (scaled) { char altlegend[20]; char speedlegend[20]; /* * Express altitude as nan if not available, * "high" for above the reporting ceiling. */ if (ais->type9.alt == AIS_ALT_NOT_AVAILABLE) (void)strlcpy(altlegend, "\"nan\"", sizeof(altlegend)); else if (ais->type9.alt == AIS_ALT_HIGH) (void)strlcpy(altlegend, "\"high\"", sizeof(altlegend)); else (void)snprintf(altlegend, sizeof(altlegend), "%u", ais->type9.alt); /* * Express speed as nan if not available, * "high" for above the reporting ceiling. */ if (ais->type9.speed == AIS_SAR_SPEED_NOT_AVAILABLE) (void)strlcpy(speedlegend, "\"nan\"", sizeof(speedlegend)); else if (ais->type9.speed == AIS_SAR_FAST_MOVER) (void)strlcpy(speedlegend, "\"fast\"", sizeof(speedlegend)); else (void)snprintf(speedlegend, sizeof(speedlegend), "%u", ais->type1.speed); (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"alt\":%s,\"speed\":%s,\"accuracy\":%s," "\"lon\":%.4f,\"lat\":%.4f,\"course\":%.1f," "\"second\":%u,\"regional\":%u,\"dte\":%u," "\"raim\":%s,\"radio\":%u}\r\n", altlegend, speedlegend, JSON_BOOL(ais->type9.accuracy), ais->type9.lon / AIS_LATLON_DIV, ais->type9.lat / AIS_LATLON_DIV, ais->type9.course / 10.0, ais->type9.second, ais->type9.regional, ais->type9.dte, JSON_BOOL(ais->type9.raim), ais->type9.radio); } else { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"alt\":%u,\"speed\":%u,\"accuracy\":%s," "\"lon\":%d,\"lat\":%d,\"course\":%u," "\"second\":%u,\"regional\":%u,\"dte\":%u," "\"raim\":%s,\"radio\":%u}\r\n", ais->type9.alt, ais->type9.speed, JSON_BOOL(ais->type9.accuracy), ais->type9.lon, ais->type9.lat, ais->type9.course, ais->type9.second, ais->type9.regional, ais->type9.dte, JSON_BOOL(ais->type9.raim), ais->type9.radio); } break; case 10: /* UTC/Date Inquiry */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"dest_mmsi\":%u}\r\n", ais->type10.dest_mmsi); break; case 12: /* Safety Related Message */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"seqno\":%u,\"dest_mmsi\":%u,\"retransmit\":%s,\"text\":\"%s\"}\r\n", ais->type12.seqno, ais->type12.dest_mmsi, JSON_BOOL(ais->type12.retransmit), json_stringify(buf1, sizeof(buf1), ais->type12.text)); break; case 14: /* Safety Related Broadcast Message */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"text\":\"%s\"}\r\n", json_stringify(buf1, sizeof(buf1), ais->type14.text)); break; case 15: /* Interrogation */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"mmsi1\":%u,\"type1_1\":%u,\"offset1_1\":%u," "\"type1_2\":%u,\"offset1_2\":%u,\"mmsi2\":%u," "\"type2_1\":%u,\"offset2_1\":%u}\r\n", ais->type15.mmsi1, ais->type15.type1_1, ais->type15.offset1_1, ais->type15.type1_2, ais->type15.offset1_2, ais->type15.mmsi2, ais->type15.type2_1, ais->type15.offset2_1); break; case 16: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"mmsi1\":%u,\"offset1\":%u,\"increment1\":%u," "\"mmsi2\":%u,\"offset2\":%u,\"increment2\":%u}\r\n", ais->type16.mmsi1, ais->type16.offset1, ais->type16.increment1, ais->type16.mmsi2, ais->type16.offset2, ais->type16.increment2); break; case 17: if (scaled) { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"lon\":%.1f,\"lat\":%.1f,\"data\":\"%zd:%s\"}\r\n", ais->type17.lon / AIS_GNSS_LATLON_DIV, ais->type17.lat / AIS_GNSS_LATLON_DIV, ais->type17.bitcount, gpsd_hexdump((char *)ais->type17.bitdata, (ais->type17.bitcount + 7) / 8)); } else { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"lon\":%d,\"lat\":%d,\"data\":\"%zd:%s\"}\r\n", ais->type17.lon, ais->type17.lat, ais->type17.bitcount, gpsd_hexdump((char *)ais->type17.bitdata, (ais->type17.bitcount + 7) / 8)); } break; case 18: if (scaled) { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"reserved\":%u,\"speed\":%.1f,\"accuracy\":%s," "\"lon\":%.4f,\"lat\":%.4f,\"course\":%.1f," "\"heading\":%u,\"second\":%u,\"regional\":%u," "\"cs\":%s,\"display\":%s,\"dsc\":%s,\"band\":%s," "\"msg22\":%s,\"raim\":%s,\"radio\":%u}\r\n", ais->type18.reserved, ais->type18.speed / 10.0, JSON_BOOL(ais->type18.accuracy), ais->type18.lon / AIS_LATLON_DIV, ais->type18.lat / AIS_LATLON_DIV, ais->type18.course / 10.0, ais->type18.heading, ais->type18.second, ais->type18.regional, JSON_BOOL(ais->type18.cs), JSON_BOOL(ais->type18.display), JSON_BOOL(ais->type18.dsc), JSON_BOOL(ais->type18.band), JSON_BOOL(ais->type18.msg22), JSON_BOOL(ais->type18.raim), ais->type18.radio); } else { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"reserved\":%u,\"speed\":%u,\"accuracy\":%s," "\"lon\":%d,\"lat\":%d,\"course\":%u," "\"heading\":%u,\"second\":%u,\"regional\":%u," "\"cs\":%s,\"display\":%s,\"dsc\":%s,\"band\":%s," "\"msg22\":%s,\"raim\":%s,\"radio\":%u}\r\n", ais->type18.reserved, ais->type18.speed, JSON_BOOL(ais->type18.accuracy), ais->type18.lon, ais->type18.lat, ais->type18.course, ais->type18.heading, ais->type18.second, ais->type18.regional, JSON_BOOL(ais->type18.cs), JSON_BOOL(ais->type18.display), JSON_BOOL(ais->type18.dsc), JSON_BOOL(ais->type18.band), JSON_BOOL(ais->type18.msg22), JSON_BOOL(ais->type18.raim), ais->type18.radio); } break; case 19: if (scaled) { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"reserved\":%u,\"speed\":%.1f,\"accuracy\":%s," "\"lon\":%.4f,\"lat\":%.4f,\"course\":%.1f," "\"heading\":%u,\"second\":%u,\"regional\":%u," "\"shipname\":\"%s\",\"shiptype\":\"%s\"," "\"to_bow\":%u,\"to_stern\":%u,\"to_port\":%u," "\"to_starboard\":%u,\"epfd\":\"%s\",\"raim\":%s," "\"dte\":%u,\"assigned\":%s}\r\n", ais->type19.reserved, ais->type19.speed / 10.0, JSON_BOOL(ais->type19.accuracy), ais->type19.lon / AIS_LATLON_DIV, ais->type19.lat / AIS_LATLON_DIV, ais->type19.course / 10.0, ais->type19.heading, ais->type19.second, ais->type19.regional, json_stringify(buf1, sizeof(buf1), ais->type19.shipname), SHIPTYPE_DISPLAY(ais->type19.shiptype), ais->type19.to_bow, ais->type19.to_stern, ais->type19.to_port, ais->type19.to_starboard, EPFD_DISPLAY(ais->type19.epfd), JSON_BOOL(ais->type19.raim), ais->type19.dte, JSON_BOOL(ais->type19.assigned)); } else { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"reserved\":%u,\"speed\":%u,\"accuracy\":%s," "\"lon\":%d,\"lat\":%d,\"course\":%u," "\"heading\":%u,\"second\":%u,\"regional\":%u," "\"shipname\":\"%s\",\"shiptype\":%u," "\"to_bow\":%u,\"to_stern\":%u,\"to_port\":%u," "\"to_starboard\":%u,\"epfd\":%u,\"raim\":%s," "\"dte\":%u,\"assigned\":%s}\r\n", ais->type19.reserved, ais->type19.speed, JSON_BOOL(ais->type19.accuracy), ais->type19.lon, ais->type19.lat, ais->type19.course, ais->type19.heading, ais->type19.second, ais->type19.regional, json_stringify(buf1, sizeof(buf1), ais->type19.shipname), ais->type19.shiptype, ais->type19.to_bow, ais->type19.to_stern, ais->type19.to_port, ais->type19.to_starboard, ais->type19.epfd, JSON_BOOL(ais->type19.raim), ais->type19.dte, JSON_BOOL(ais->type19.assigned)); } break; case 20: /* Data Link Management Message */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"offset1\":%u,\"number1\":%u," "\"timeout1\":%u,\"increment1\":%u," "\"offset2\":%u,\"number2\":%u," "\"timeout2\":%u,\"increment2\":%u," "\"offset3\":%u,\"number3\":%u," "\"timeout3\":%u,\"increment3\":%u," "\"offset4\":%u,\"number4\":%u," "\"timeout4\":%u,\"increment4\":%u}\r\n", ais->type20.offset1, ais->type20.number1, ais->type20.timeout1, ais->type20.increment1, ais->type20.offset2, ais->type20.number2, ais->type20.timeout2, ais->type20.increment2, ais->type20.offset3, ais->type20.number3, ais->type20.timeout3, ais->type20.increment3, ais->type20.offset4, ais->type20.number4, ais->type20.timeout4, ais->type20.increment4); break; case 21: /* Aid to Navigation */ if (scaled) { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"aid_type\":\"%s\",\"name\":\"%s\",\"lon\":%.4f," "\"lat\":%.4f,\"accuracy\":%s,\"to_bow\":%u," "\"to_stern\":%u,\"to_port\":%u," "\"to_starboard\":%u,\"epfd\":\"%s\"," "\"second\":%u,\"regional\":%u," "\"off_position\":%s,\"raim\":%s," "\"virtual_aid\":%s}\r\n", NAVAIDTYPE_DISPLAY(ais->type21.aid_type), json_stringify(buf1, sizeof(buf1), ais->type21.name), ais->type21.lon / AIS_LATLON_DIV, ais->type21.lat / AIS_LATLON_DIV, JSON_BOOL(ais->type21.accuracy), ais->type21.to_bow, ais->type21.to_stern, ais->type21.to_port, ais->type21.to_starboard, EPFD_DISPLAY(ais->type21.epfd), ais->type21.second, ais->type21.regional, JSON_BOOL(ais->type21.off_position), JSON_BOOL(ais->type21.raim), JSON_BOOL(ais->type21.virtual_aid)); } else { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"aid_type\":%u,\"name\":\"%s\",\"accuracy\":%s," "\"lon\":%d,\"lat\":%d,\"to_bow\":%u," "\"to_stern\":%u,\"to_port\":%u,\"to_starboard\":%u," "\"epfd\":%u,\"second\":%u,\"regional\":%u," "\"off_position\":%s,\"raim\":%s," "\"virtual_aid\":%s}\r\n", ais->type21.aid_type, json_stringify(buf1, sizeof(buf1), ais->type21.name), JSON_BOOL(ais->type21.accuracy), ais->type21.lon, ais->type21.lat, ais->type21.to_bow, ais->type21.to_stern, ais->type21.to_port, ais->type21.to_starboard, ais->type21.epfd, ais->type21.second, ais->type21.regional, JSON_BOOL(ais->type21.off_position), JSON_BOOL(ais->type21.raim), JSON_BOOL(ais->type21.virtual_aid)); } break; case 22: /* Channel Management */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"channel_a\":%u,\"channel_b\":%u," "\"txrx\":%u,\"power\":%s,", ais->type22.channel_a, ais->type22.channel_b, ais->type22.txrx, JSON_BOOL(ais->type22.power)); if (ais->type22.addressed) { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"dest1\":%u,\"dest2\":%u,", ais->type22.mmsi.dest1, ais->type22.mmsi.dest2); } else if (scaled) { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"ne_lon\":\"%f\",\"ne_lat\":\"%f\"," "\"sw_lon\":\"%f\",\"sw_lat\":\"%f\",", ais->type22.area.ne_lon / AIS_CHANNEL_LATLON_DIV, ais->type22.area.ne_lat / AIS_CHANNEL_LATLON_DIV, ais->type22.area.sw_lon / AIS_CHANNEL_LATLON_DIV, ais->type22.area.sw_lat / AIS_CHANNEL_LATLON_DIV); } else { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"ne_lon\":%d,\"ne_lat\":%d," "\"sw_lon\":%d,\"sw_lat\":%d,", ais->type22.area.ne_lon, ais->type22.area.ne_lat, ais->type22.area.sw_lon, ais->type22.area.sw_lat); } (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"addressed\":%s,\"band_a\":%s," "\"band_b\":%s,\"zonesize\":%u}\r\n", JSON_BOOL(ais->type22.addressed), JSON_BOOL(ais->type22.band_a), JSON_BOOL(ais->type22.band_b), ais->type22.zonesize); break; case 23: /* Group Assignment Command */ if (scaled) { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"ne_lon\":\"%f\",\"ne_lat\":\"%f\"," "\"sw_lon\":\"%f\",\"sw_lat\":\"%f\"," "\"stationtype\":\"%s\",\"shiptype\":\"%s\"," "\"interval\":%u,\"quiet\":%u}\r\n", ais->type23.ne_lon / AIS_CHANNEL_LATLON_DIV, ais->type23.ne_lat / AIS_CHANNEL_LATLON_DIV, ais->type23.sw_lon / AIS_CHANNEL_LATLON_DIV, ais->type23.sw_lat / AIS_CHANNEL_LATLON_DIV, STATIONTYPE_DISPLAY(ais->type23.stationtype), SHIPTYPE_DISPLAY(ais->type23.shiptype), ais->type23.interval, ais->type23.quiet); } else { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"ne_lon\":%d,\"ne_lat\":%d," "\"sw_lon\":%d,\"sw_lat\":%d," "\"stationtype\":%u,\"shiptype\":%u," "\"interval\":%u,\"quiet\":%u}\r\n", ais->type23.ne_lon, ais->type23.ne_lat, ais->type23.sw_lon, ais->type23.sw_lat, ais->type23.stationtype, ais->type23.shiptype, ais->type23.interval, ais->type23.quiet); } break; case 24: /* Class B CS Static Data Report */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"shipname\":\"%s\",", json_stringify(buf1, sizeof(buf1), ais->type24.shipname)); if (scaled) { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"shiptype\":\"%s\",", SHIPTYPE_DISPLAY(ais->type24.shiptype)); } else { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"shiptype\":%u,", ais->type24.shiptype); } (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"vendorid\":\"%s\",\"callsign\":\"%s\",", json_stringify(buf1, sizeof(buf1), ais->type24.vendorid), json_stringify(buf2, sizeof(buf2), ais->type24.callsign)); if (AIS_AUXILIARY_MMSI(ais->mmsi)) { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"mothership_mmsi\":%u}\r\n", ais->type24.mothership_mmsi); } else { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"to_bow\":%u,\"to_stern\":%u," "\"to_port\":%u,\"to_starboard\":%u}\r\n", ais->type24.dim.to_bow, ais->type24.dim.to_stern, ais->type24.dim.to_port, ais->type24.dim.to_starboard); } break; case 25: /* Binary Message, Single Slot */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"addressed\":%s,\"structured\":%s,\"dest_mmsi\":%u," "\"app_id\":%u,\"data\":\"%zd:%s\"}\r\n", JSON_BOOL(ais->type25.addressed), JSON_BOOL(ais->type25.structured), ais->type25.dest_mmsi, ais->type25.app_id, ais->type25.bitcount, gpsd_hexdump((char *)ais->type25.bitdata, (ais->type25.bitcount + 7) / 8)); break; case 26: /* Binary Message, Multiple Slot */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"addressed\":%s,\"structured\":%s,\"dest_mmsi\":%u," "\"app_id\":%u,\"data\":\"%zd:%s\",\"radio\":%u}\r\n", JSON_BOOL(ais->type26.addressed), JSON_BOOL(ais->type26.structured), ais->type26.dest_mmsi, ais->type26.app_id, ais->type26.bitcount, gpsd_hexdump((char *)ais->type26.bitdata, (ais->type26.bitcount + 7) / 8), ais->type26.radio); break; case 27: /* Long Range AIS Broadcast message */ if (scaled) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"status\":\"%s\"," "\"accuracy\":%s,\"lon\":%.1f,\"lat\":%.1f," "\"speed\":%u,\"course\":%u,\"raim\":%s,\"gnss\":%s}\r\n", nav_legends[ais->type27.status], JSON_BOOL(ais->type27.accuracy), ais->type27.lon / AIS_LONGRANGE_LATLON_DIV, ais->type27.lat / AIS_LONGRANGE_LATLON_DIV, ais->type27.speed, ais->type27.course, JSON_BOOL(ais->type27.raim), JSON_BOOL(ais->type27.gnss)); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "\"status\":%u," "\"accuracy\":%s,\"lon\":%d,\"lat\":%d," "\"speed\":%u,\"course\":%u,\"raim\":%s,\"gnss\":%s}\r\n", ais->type27.status, JSON_BOOL(ais->type27.accuracy), ais->type27.lon, ais->type27.lat, ais->type27.speed, ais->type27.course, JSON_BOOL(ais->type27.raim), JSON_BOOL(ais->type27.gnss)); break; default: if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "}\r\n", buflen); break; } /*@ +formatcode +mustfreefresh @*/ } #endif /* defined(AIVDM_ENABLE) */ #ifdef COMPASS_ENABLE void json_att_dump(const struct gps_data_t *gpsdata, /*@out@*/ char *reply, size_t replylen) /* dump the contents of an attitude_t structure as JSON */ { assert(replylen > 2); (void)strlcpy(reply, "{\"class\":\"ATT\",", replylen); (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"tag\":\"%s\",", gpsdata->tag[0] != '\0' ? gpsdata->tag : "-"); (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"device\":\"%s\",", gpsdata->dev.path); if (isnan(gpsdata->attitude.heading) == 0) { (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"heading\":%.2f,", gpsdata->attitude.heading); if (gpsdata->attitude.mag_st != '\0') (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"mag_st\":\"%c\",", gpsdata->attitude.mag_st); } if (isnan(gpsdata->attitude.pitch) == 0) { (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"pitch\":%.2f,", gpsdata->attitude.pitch); if (gpsdata->attitude.pitch_st != '\0') (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"pitch_st\":\"%c\",", gpsdata->attitude.pitch_st); } if (isnan(gpsdata->attitude.yaw) == 0) { (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"yaw\":%.2f,", gpsdata->attitude.yaw); if (gpsdata->attitude.yaw_st != '\0') (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"yaw_st\":\"%c\",", gpsdata->attitude.yaw_st); } if (isnan(gpsdata->attitude.roll) == 0) { (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"roll\":%.2f,", gpsdata->attitude.roll); if (gpsdata->attitude.roll_st != '\0') (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"roll_st\":\"%c\",", gpsdata->attitude.roll_st); } if (isnan(gpsdata->attitude.yaw) == 0) { (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"yaw\":%.2f,", gpsdata->attitude.yaw); if (gpsdata->attitude.yaw_st != '\0') (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"yaw_st\":\"%c\",", gpsdata->attitude.yaw_st); } if (isnan(gpsdata->attitude.dip) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"dip\":%.3f,", gpsdata->attitude.dip); if (isnan(gpsdata->attitude.mag_len) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"mag_len\":%.3f,", gpsdata->attitude.mag_len); if (isnan(gpsdata->attitude.mag_x) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"mag_x\":%.3f,", gpsdata->attitude.mag_x); if (isnan(gpsdata->attitude.mag_y) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"mag_y\":%.3f,", gpsdata->attitude.mag_y); if (isnan(gpsdata->attitude.mag_z) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"mag_z\":%.3f,", gpsdata->attitude.mag_z); if (isnan(gpsdata->attitude.acc_len) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"acc_len\":%.3f,", gpsdata->attitude.acc_len); if (isnan(gpsdata->attitude.acc_x) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"acc_x\":%.3f,", gpsdata->attitude.acc_x); if (isnan(gpsdata->attitude.acc_y) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"acc_y\":%.3f,", gpsdata->attitude.acc_y); if (isnan(gpsdata->attitude.acc_z) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"acc_z\":%.3f,", gpsdata->attitude.acc_z); if (isnan(gpsdata->attitude.gyro_x) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"gyro_x\":%.3f,", gpsdata->attitude.gyro_x); if (isnan(gpsdata->attitude.gyro_y) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"gyro_y\":%.3f,", gpsdata->attitude.gyro_y); if (isnan(gpsdata->attitude.temp) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"temp\":%.3f,", gpsdata->attitude.temp); if (isnan(gpsdata->attitude.depth) == 0) (void)snprintf(reply + strlen(reply), replylen - strlen(reply), "\"depth\":%.3f,", gpsdata->attitude.depth); if (reply[strlen(reply) - 1] == ',') reply[strlen(reply) - 1] = '\0'; /* trim trailing comma */ (void)strlcat(reply, "}\r\n", replylen); } #endif /* COMPASS_ENABLE */ void json_data_report(const gps_mask_t changed, const struct gps_device_t *session, const struct policy_t *policy, /*@out@*/char *buf, size_t buflen) /* report a session state in JSON */ { const struct gps_data_t *datap = &session->gpsdata; buf[0] = '\0'; if ((changed & REPORT_IS) != 0) { json_tpv_dump(session, policy, buf+strlen(buf), buflen-strlen(buf)); } if ((changed & GST_SET) != 0) { json_noise_dump(datap, buf+strlen(buf), buflen-strlen(buf)); } if ((changed & SATELLITE_SET) != 0) { json_sky_dump(datap, buf+strlen(buf), buflen-strlen(buf)); } if ((changed & SUBFRAME_SET) != 0) { json_subframe_dump(datap, buf+strlen(buf), buflen-strlen(buf)); } #ifdef COMPASS_ENABLE if ((changed & ATTITUDE_SET) != 0) { json_att_dump(datap, buf+strlen(buf), buflen-strlen(buf)); } #endif /* COMPASS_ENABLE */ #ifdef RTCM104V2_ENABLE if ((changed & RTCM2_SET) != 0) { json_rtcm2_dump(&datap->rtcm2, datap->dev.path, buf+strlen(buf), buflen-strlen(buf)); } #endif /* RTCM104V2_ENABLE */ #ifdef RTCM104V3_ENABLE if ((changed & RTCM3_SET) != 0) { json_rtcm3_dump(&datap->rtcm3, datap->dev.path, buf+strlen(buf), buflen-strlen(buf)); } #endif /* RTCM104V3_ENABLE */ #ifdef AIVDM_ENABLE if ((changed & AIS_SET) != 0) { json_aivdm_dump(&datap->ais, datap->dev.path, policy->scaled, buf+strlen(buf), buflen-strlen(buf)); } #endif /* AIVDM_ENABLE */ } #undef JSON_BOOL #endif /* SOCKET_EXPORT_ENABLE */ /* gpsd_json.c ends here */ gpsd-3.9/gpsd_json.xml0000664000175000017500000020751011770202576013214 0ustar esresr ]> 28 Aug 2011 gpsd_json 5 The GPSD Project GPSD Documentation gpsd_json gpsd request/response protol OVERVIEW gpsd is a service daemon that can be used to monitor GPSes, DGPS receivers, Marine AIS broadcasts, and various other location-related and kinematic sensors. Clients may communicate with gpsd via textual requests and responses over a socket. It is a bad idea for applications to speak the protocol directly: rather, they should use the libgps client library (for C; bindings also exist for other languages) and take appropriate care to conditionalize their code on the major and minor protocol version symbols. The GPSD protocol is built on top of JSON, JavaScript Object Notation. GPSD's use of JSON is restricted in some ways that make parsing it in fixed-extent languages (such as C) easier. A request line is introduced by "?" and may include multiple commands. Commands begin with a command identifier, followed either by a terminating ';' or by an equal sign "=" and a JSON object treated as an argument. Any ';' or newline indication (either LF or CR-LF) after the end of a command is ignored. All request lines must be composed of US-ASCII characters and may be no more than 80 characters in length, exclusive of the trailing newline. Responses are JSON objects all of which have a "class" attribute the value of which is either the name of the invoking command. There are reports (including but not limited to as "TPV", "SKY", "DEVICE", and "ERROR") which are not direct responses to commands. The order of JSON attributes within a response object is never significant, and you may specify attributes in commands in any order. Responses never contain the special JSON value null; instead, attributes with empty or undefined values are omitted. The length limit for responses and reports is 1536 characters, including trailing newline; longer responses will be truncated, so client code must be prepared for the possibility of invalid JSON fragments. In JSON reports, if an attribute is present only if the parent attribute is present or has a particular range, then the parent attribute is emitted first. There is one constraint on the order in which attributes will be omitted. If an optional attribute is present only when a parent attribute has a specified value or range of values, the parent attribute will be emitted first to make parsing easier. The next subsection section documents the core GPSD protocol. Extensions are documented in the following subsections. The extensions may not be supported in your gpsd instance if it has been compiled with a restricted feature set. CORE SOCKET PROTOCOL Here are the core-protocol responses: TPV A TPV object is a time-position-velocity report. The "class" and "mode" fields will reliably be present. The "mode" field will be emitted before optional fields that may be absent when there is no fix. Error estimates will be emitted after the fix components they're associated with. Others may be reported or not depending on the fix quality. TPV object Name Always? Type Description class Yes string Fixed: "TPV" tag No string Type tag associated with this GPS sentence; from an NMEA device this is just the NMEA sentence type. device No string Name of originating device. mode Yes numeric NMEA mode: %d, 0=no mode value yet seen, 1=no fix, 2=2D, 3=3D. time No string Time/date stamp in ISO8601 format, UTC. May have a fractional part of up to .001sec precision. May be absent if mode is not 2 or 3. ept No numeric Estimated timestamp error (%f, seconds, 95% confidence). Present if time is present. lat No numeric Latitude in degrees: +/- signifies West/East. Present when mode is 2 or 3. lon No numeric Longitude in degrees: +/- signifies North/South. Present when mode is 2 or 3. alt No numeric Altitude in meters. Present if mode is 3. epx No numeric Longitude error estimate in meters, 95% confidence. Present if mode is 2 or 3 and DOPs can be calculated from the satellite view. epy No numeric Latitude error estimate in meters, 95% confidence. Present if mode is 2 or 3 and DOPs can be calculated from the satellite view. epv No numeric Estimated vertical error in meters, 95% confidence. Present if mode is 3 and DOPs can be calculated from the satellite view. track No numeric Course over ground, degrees from true north. speed No numeric Speed over ground, meters per second. climb No numeric Climb (positive) or sink (negative) rate, meters per second. epd No numeric Direction error estimate in degrees, 95% confidence. eps No numeric Speed error estinmate in meters/sec, 95% confidence. epc No numeric Climb/sink error estimate in meters/sec, 95% confidence.
When the C client library parses a response of this kind, it will assert validity bits in the top-level set member for each field actually received; see gps.h for bitmask names and values. Here's an example: {"class":"TPV","tag":"MID2","device":"/dev/pts/1", "time":"2005-06-08T10:34:48.283Z","ept":0.005, "lat":46.498293369,"lon":7.567411672,"alt":1343.127, "eph":36.000,"epv":32.321, "track":10.3788,"speed":0.091,"climb":-0.085,"mode":3}
SKY A SKY object reports a sky view of the GPS satellite positions. If there is no GPS device available, or no skyview has been reported yet, only the "class" field will reliably be present. SKY object Name Always? Type Description class Yes string Fixed: "SKY" tag No string Type tag associated with this GPS sentence; from an NMEA device this is just the NMEA sentence type. device No string Name of originating device time No numeric Time/date stamp in ISO8601 format, UTC. May have a fractional part of up to .001sec precision. xdop No numeric Longitudinal dilution of precision, a dimensionless factor which should be multiplied by a base UERE to get an error estimate. ydop No numeric Latitudinal dilution of precision, a dimensionless factor which should be multiplied by a base UERE to get an error estimate. vdop No numeric Altitude dilution of precision, a dimensionless factor which should be multiplied by a base UERE to get an error estimate. tdop No numeric Time dilution of precision, a dimensionless factor which should be multiplied by a base UERE to get an error estimate. hdop No numeric Horizontal dilution of precision, a dimensionless factor which should be multiplied by a base UERE to get a circular error estimate. pdop No numeric Spherical dilution of precision, a dimensionless factor which should be multiplied by a base UERE to get an error estimate. gdop No numeric Hyperspherical dilution of precision, a dimensionless factor which should be multiplied by a base UERE to get an error estimate. satellites Yes list List of satellite objects in skyview
Many devices compute dilution of precision factors but do not include them in their reports. Many that do report DOPs report only HDOP, two-dimensional circular error. gpsd always passes through whatever the device actually reports, then attempts to fill in other DOPs by calculating the appropriate determinants in a covariance matrix based on the satellite view. DOPs may be missing if some of these determinants are singular. It can even happen that the device reports an error estimate in meters when the corresponding DOP is unavailable; some devices use more sophisticated error modeling than the covariance calculation. The satellite list objects have the following elements: Satellite object Name Always? Type Description PRN Yes numeric PRN ID of the satellite. 1-63 are GNSS satellites, 64-96 are GLONASS satellites, 100-164 are SBAS satellites az Yes numeric Azimuth, degrees from true north. el Yes numeric Elevation in degrees. ss Yes numeric Signal strength in dB. used Yes boolean Used in current solution? (SBAS/WAAS/EGNOS satellites may be flagged used if the solution has corrections from them, but not all drivers make this information available.)
Note that satellite objects do not have a "class" field, as they are never shipped outside of a SKY object. When the C client library parses a SKY response, it will assert the SATELLITE_SET bit in the top-level set member. Here's an example: {"class":"SKY","tag":"MID2","device":"/dev/pts/1", "time":"2005-07-08T11:28:07.114Z", "xdop":1.55,"hdop":1.24,"pdop":1.99, "satellites":[ {"PRN":23,"el":6,"az":84,"ss":0,"used":false}, {"PRN":28,"el":7,"az":160,"ss":0,"used":false}, {"PRN":8,"el":66,"az":189,"ss":44,"used":true}, {"PRN":29,"el":13,"az":273,"ss":0,"used":false}, {"PRN":10,"el":51,"az":304,"ss":29,"used":true}, {"PRN":4,"el":15,"az":199,"ss":36,"used":true}, {"PRN":2,"el":34,"az":241,"ss":43,"used":true}, {"PRN":27,"el":71,"az":76,"ss":43,"used":true}]}
GST A GST object is a pseudorange noise report. GST object Name Always? Type Description class Yes string Fixed: "GST" tag No string Type tag associated with this GPS sentence; from an NMEA device this is just the NMEA sentence type. device No string Name of originating device time No numeric Seconds since the Unix epoch, UTC. May have a fractional part of up to .001sec precision. rms No numeric Value of the standard deviation of the range inputs to the navigation process (range inputs include pseudoranges and DGPS corrections). major No numeric Standard deviation of semi-major axis of error ellipse, in meters. minor No numeric Standard deviation of semi-minor axis of error ellipse, in meters. orient No numeric Orientation of semi-major axis of error ellipse, in degrees from true north. lat No numeric Standard deviation of latitude error, in meters. lon No numeric Standard deviation of longitude error, in meters. alt No numeric Standard deviation of altitude error, in meters.
Here's an example: {"class":"GST","tag":"GST","device":"/dev/ttyUSB0", "time":"2010-12-07T10:23:07.096Z","rms":2.440, "major":1.660,"minor":1.120,"orient":68.989, "lat":1.600,"lon":1.200,"alt":2.520}
ATT An ATT object is a vehicle-attitude report. It is returned by digital-compass and gyroscope sensors; depending on device, it may include: heading, pitch, roll, yaw, gyroscope, and magnetic-field readings. Because such sensors are often bundled as part of marine-navigation systems, the ATT response may also include water depth. The "class", "mode", and "tag" fields will reliably be present. Others may be reported or not depending on the specific device type. ATT object Name Always? Type Description class Yes string Fixed: "ATT" tag Yes string Type tag associated with this GPS sentence; from an NMEA device this is just the NMEA sentence type. device Yes string Name of originating device time Yes numeric Seconds since the Unix epoch, UTC. May have a fractional part of up to .001sec precision. heading No numeric Heading, degrees from true north. mag_st No string Magnetometer status. pitch No numeric Pitch in degrees. pitch_st No string Pitch sensor status. yaw No numeric Yaw in degrees yaw_st No string Yaw sensor status. roll No numeric Roll in degrees. roll_st No string Roll sensor status. dip No numeric Local magnetic inclination, degrees, positive when the magnetic field points downward (into the Earth). mag_len No numeric Scalar magnetic field strength. mag_x No numeric X component of magnetic field strength. mag_y No numeric Y component of magnetic field strength. mag_z No numeric Z component of magnetic field strength. acc_len No numeric Scalar acceleration. acc_x No numeric X component of acceleration. acc_y No numeric Y component of acceleration. acc_z No numeric Z component of acceleration. gyro_x No numeric X component of acceleration. gyro_y No numeric Y component of acceleration. depth No numeric Water depth in meters. temperature No numeric Temperature at sensor, degrees centigrade.
The heading, pitch, and roll status codes (if present) vary by device. For the TNT Revolution digital compasses, they are coded as follows: Device flags Code Description C magnetometer calibration alarm L low alarm M low warning N normal O high warning P high alarm V magnetometer voltage level alarm
When the C client library parses a response of this kind, it will assert ATT_IS. Here's an example: {"class":"ATT","tag":"PTNTHTM","time":1270938096.843, "heading":14223.00,"mag_st":"N", "pitch":169.00,"pitch_st":"N", "roll":-43.00,"roll_st":"N", "dip":13641.000,"mag_x":2454.000}
And here are the commands: ?VERSION; Returns an object with the following attributes: VERSION object Name Always? Type Description class Yes string Fixed: "VERSION" release Yes string Public release level rev Yes string Internal revision-control level. proto_major Yes numeric API major revision level. proto_minor Yes numeric API minor revision level. remote No string URL of the remote daemon reporting this version. If empty, this is the version of the local daemon.
The daemon ships a VERSION response to each client when the client first connects to it. When the C client library parses a response of this kind, it will assert the VERSION_SET bit in the top-level set member. Here's an example: {"class":"VERSION","version":"2.40dev", "rev":"06f62e14eae9886cde907dae61c124c53eb1101f", "proto_major":3,"proto_minor":1 }
?DEVICES; Returns a device list object with the following elements: DEVICES object Name Always? Type Description class Yes string Fixed: "DEVICES" devices Yes list List of device descriptions remote No string URL of the remote daemon reporting the device set. If empty, this is a DEVICES response from the local daemon.
When the C client library parses a response of this kind, it will assert the DEVICELIST_SET bit in the top-level set member. Here's an example: {"class"="DEVICES","devices":[ {"class":"DEVICE","path":"/dev/pts/1","flags":1,"driver":"SiRF binary"}, {"class":"DEVICE","path":"/dev/pts/3","flags":4,"driver":"AIVDM"}]} The daemon occasionally ships a bare DEVICE object to the client (that is, one not inside a DEVICES wrapper). The data content of these objects will be described later as a response to the ?DEVICE command.
?WATCH; This command sets watcher mode. It also sets or elicits a report of per-subscriber policy and the raw bit. An argument WATCH object changes the subscriber's policy. The response describes the subscriber's policy. The response will also include a DEVICES object. A WATCH object has the following elements: WATCH object Name Always? Type Description class Yes string Fixed: "WATCH" enable No boolean Enable (true) or disable (false) watcher mode. Default is true. json No boolean Enable (true) or disable (false) dumping of JSON reports. Default is false. nmea No boolean Enable (true) or disable (false) dumping of binary packets as pseudo-NMEA. Default is false. raw No integer Controls 'raw' mode. When this attribute is set to 1 for a channel, gpsd reports the unprocessed NMEA or AIVDM data stream from whatever device is attached. Binary GPS packets are hex-dumped. RTCM2 and RTCM3 packets are not dumped in raw mode. When this attribute is set to 2 for a channel that processes binary data, gpsd reports the received data verbatim without hex-dumping. scaled No boolean If true, apply scaling divisors to output before dumping; default is false. Applies only to AIS and Subframe reports. device No string If present, enable watching only of the specified device rather than all devices. Useful with raw and NMEA modes in which device responses aren't tagged. Has no effect when used with enable:false. remote No string URL of the remote daemon reporting the watch set. If empty, this is a WATCH response from the local daemon.
There is an additional boolean "timing" attribute which is undocumented because that portion of the interface is considered unstable and for developer use only. In watcher mode, GPS reports are dumped as TPV and SKY responses. AIS, Subframe and RTCM reporting is described in the next section. When the C client library parses a response of this kind, it will assert the POLICY_SET bit in the top-level set member. Here's an example: {"class":"WATCH", "raw":1,"scaled":true}
?POLL; The POLL command requests data from the last-seen fixes on all active GPS devices. Devices must previously have been activated by ?WATCH to be pollable. Polling can lead to possibly surprising results when it is used on a device such as an NMEA GPS for which a complete fix has to be accumulated from several sentences. If you poll while those sentences are being emitted, the response will contain the last complete fix data and may be as much as one cycle time (typically 1 second) stale. The POLL response will contain a timestamped list of TPV objects describing cached data, and a timestamped list of SKY objects describing satellite configuration. If a device has not seen fixes, it will be reported with a mode field of zero. POLL object Name Always? Type Description class Yes string Fixed: "POLL" time Yes Numeric Timestamp in ISO 8601 format. May have a fractional part of up to .001sec precision. active Yes Numeric Count of active devices. fixes Yes JSON array Comma-separated list of TPV objects. skyviews Yes JSON array Comma-separated list of SKY objects.
Here's an example of a POLL response: {"class":"POLL","time":"2010-06-04T10:31:00.289Z","active":1, "tpv":[{"class":"TPV","tag":"MID41","device":"/dev/ttyUSB0", "time":"2010-09-08T13:33:06.095Z", "ept":0.005,"lat":40.035093060, "lon":-75.519748733,"track":99.4319,"speed":0.123,"mode":2}], "sky":[{"class":"SKY","tag":"MID41","device":"/dev/ttyUSB0", "time":1270517264.240,"hdop":9.20, "satellites":[{"PRN":16,"el":55,"az":42,"ss":36,"used":true}, {"PRN":19,"el":25,"az":177,"ss":0,"used":false}, {"PRN":7,"el":13,"az":295,"ss":0,"used":false}, {"PRN":6,"el":56,"az":135,"ss":32,"used":true}, {"PRN":13,"el":47,"az":304,"ss":0,"used":false}, {"PRN":23,"el":66,"az":259,"ss":0,"used":false}, {"PRN":20,"el":7,"az":226,"ss":0,"used":false}, {"PRN":3,"el":52,"az":163,"ss":32,"used":true}, {"PRN":31,"el":16,"az":102,"ss":0,"used":false} ]}]} Client software should not assume the field inventory of the POLL response is fixed for all time. As gpsd collects and caches more data from more sensor types, those data are likely to find their way into this response.
PPS This message is emitted each time the daemon sees a PPS (Pulse Per Second) strobe from a device. A PPS object has the following elements: PPS object Name Always? Type Description class Yes string Fixed: "PPS" device Yes string Name of originating device real_sec Yes numeric seconds from the realtime clock real_musec Yes numeric microseconds from the realtime clock clock_sec Yes numeric seconds from the system clock clock_musec Yes numeric microseconds from the system clock
This message is emitted once per second to watchers of a device emitting PPS, and is intended to report the drift between the start of the GPS second and seconds as reported by the system clock (which may be NTP-corrected). The message contains second/microsecond pairs for two clocks; the realtime clock without NTP correction (the result of clock_gettime(CLOCK_REALTIME), but only to microsecond precision) and the ordinary system clock (which may be NTP corrected). There are various sources of error in the reported clock times. For PPS delivered via a real serial-line strobe, serial-interrupt latency plus processing time to the timer call should be bounded above by about 10 microseconds; USB-to-serial control-line emulation is known to add jitter of about 50 microseconds. (Both figures are for GPSD running in non-realtime mode on an x86 with a gigahertz clock and are estimates based on measured latency in other applications) Here's an example: {"class":"PPS","device":"/dev/ttyUSB0", "real_sec":1330212592, "real_musec":343182, "clock_sec":1330212592,"clock_musec":343184}
?DEVICE This command reports (when followed by ';') the state of a device, or sets (when followed by '=' and a DEVICE object) device-specific control bits, notably the device's speed and serial mode and the native-mode bit. The parameter-setting form will be rejected if more than one client is attached to the channel. Pay attention to the response, because it is possible for this command to fail if the GPS does not support a speed-switching command or only supports some combinations of serial modes. In case of failure, the daemon and GPS will continue to communicate at the old speed. Use the parameter-setting form with caution. On USB and Bluetooth GPSes it is also possible for serial mode setting to fail either because the serial adaptor chip does not support non-8N1 modes or because the device firmware does not properly synchronize the serial adaptor chip with the UART on the GPS chipset when the speed changes. These failures can hang your device, possibly requiring a GPS power cycle or (in extreme cases) physically disconnecting the NVRAM backup battery. A DEVICE object has the following elements: CONFIGCHAN object Name Always? Type Description class Yes string Fixed: "DEVICE" path No string Name the device for which the control bits are being reported, or for which they are to be applied. This attribute may be omitted only when there is exactly one subscribed channel. activated No string Time the device was activated as an ISO8601 timestamp. If the device is inactive this attribute is absent. flags No integer Bit vector of property flags. Currently defined flags are: describe packet types seen so far (GPS, RTCM2, RTCM3, AIS). Won't be reported if empty, e.g. before gpsd has seen identifiable packets from the device. driver No string GPSD's name for the device driver type. Won't be reported before gpsd has seen identifiable packets from the device. subtype When the daemon sees a delayed response to a probe for subtype or firmware-version information. string Whatever version information the device returned. bps No integer Device speed in bits per second. parity Yes string N, O or E for no parity, odd, or even. stopbits Yes string Stop bits (1 or 2). native No integer 0 means NMEA mode and 1 means alternate mode (binary if it has one, for SiRF and Evermore chipsets in particular). Attempting to set this mode on a non-GPS device will yield an error. cycle No real Device cycle time in seconds. mincycle No real Device minimum cycle time in seconds. Reported from ?CONFIGDEV when (and only when) the rate is switchable. It is read-only and not settable.
The serial parameters will be omitted in a response describing a TCP/IP source such as an Ntrip, DGPSIP, or AIS feed. The contents of the flags field should be interpreted as follows: Device flags C #define Value Description SEEN_GPS 0x01 GPS data has been seen on this device SEEN_RTCM2 0x02 RTCM2 data has been seen on this device SEEN_RTCM3 0x04 RTCM3 data has been seen on this device SEEN_AIS 0x08 AIS data has been seen on this device
When the C client library parses a response of this kind, it will assert the DEVICE_SET bit in the top-level set member. Here's an example: {"class":"DEVICE","bps":4800,"parity":"N","stopbits":1,"native":0}
When a client is in watcher mode, the daemon will ship it DEVICE notifications when a device is added to the pool or deactivated. When the C client library parses a response of this kind, it will assert the DEVICE_SET bit in the top-level set member. Here's an example: {"class":"DEVICE","path":"/dev/pts1","activated":0} The daemon may ship an error object in response to a syntactically invalid command line or unknown command. It has the following elements: ERROR notification object Name Always? Type Description class Yes string Fixed: "ERROR" message Yes string Textual error message
Here's an example: {"class":"ERROR","message":"Unrecognized request '?FOO'"} When the C client library parses a response of this kind, it will assert the ERR_SET bit in the top-level set member.
RTCM2 RTCM-104 is a family of serial protocols used for broadcasting pseudorange corrections from differential-GPS reference stations. Many GPS receivers can accept these corrections to improve their reporting accuracy. RTCM-104 comes in two major and incompatible flavors, 2.x and 3.x. Each major flavor has minor (compatible) revisions. The applicable standard for RTCM Version 2.x is RTCM Recommended Standards for Differential NAVSTAR GPS Service RTCM Paper 194-93/SC 104-STD. For RTCM 3.1 it is RTCM Paper 177-2006-SC104-STD. Ordering instructions for both standards are accessible from the website of the Radio Technical Commission for Maritime Services under "Publications". RTCM WIRE TRANSMISSIONS Differential-GPS correction stations consist of a GPS reference receiver coupled to a low frequency (LF) transmitter. The GPS reference receiver is a survey-grade GPS that does GPS carrier tracking and can work out its own position to a few millimeters. It generates range and range-rate corrections and encodes them into RTCM104. It ships the RTCM104 to the LF transmitter over serial rs-232 signal at 100 baud or 200 baud depending on the requirements of the transmitter. The LF transmitter broadcasts the approximately 300khz radio signal that differential-GPS radio receivers pick up. Transmitters that are meant to have a higher range will need to transmit at the slower rate. The higher the data rate the harder it will be for the remote radio receiver to receive with a good signal-to-noise ration. (Higher data rate signals can't be averaged over as long a time frame, hence they appear noisier.) RTCM WIRE FORMATS An RTCM 2.x message consists of a sequence of up to 33 30-bit words. The 24 most significant bits of each word are data and the six least significant bits are parity. The parity algorithm used is the same ISGPS-2000 as that used on GPS satellite downlinks. Each RTCM 2.x message consists of two header words followed by zero or more data words, depending upon message type. An RTCM 3.x message begins with a fixed leader byte 0xD3. That is followed by six bits of version information and 10 bits of payload length information. Following that is the payload; following the payload is a 3-byte checksum of the payload using the Qualcomm CRC-24Q algorithm. RTCM2 JSON FORMAT Each RTCM2 message is dumped as a single JSON object per message, with the message fields as attributes of that object. Arrays of satellite, station, and constellation statistics become arrays of JSON sub-objects. Each sentence will normally also have a "device" field containing the pathname of the originating device. All attributes other than the device field are mandatory. Header attributes are emitted before others. Header portion SKY object Name Type Description class string Fixed: "RTCM2". type integer Message type (1-9). station_id integer The id of the GPS reference receiver. The LF transmitters also have (different) id numbers. zcount real The reference time of the corrections in the message in seconds within the current hour. Note that it is in GPS time, which is some seconds ahead of UTC (see the U.S. Naval Observatory's table of leap second corrections). seqnum integer Sequence number. Only 3 bits wide, wraps after 7. length integer The number of words after the header that comprise the message. station_health integer Station transmission status. Indicates the health of the beacon as a reference source. Any nonzero value means the satellite is probably transmitting bad data and should not be used in a fix. 6 means the transmission is unmonitored. 7 means the station is not working properly. Other values are defined by the beacon operator.
<message type> is one of 1 full corrections - one message containing corrections for all GPS satellites in view. This is not common. 3 reference station parameters - the position of the reference station GPS antenna. 4 datum — the datum to which the DGPS data is referred. 5 constellation health — information about the satellites the beacon can see. 6 null message — just a filler. 7 radio beacon almanac — information about this or other beacons. 9 subset corrections — a message containing corrections for only a subset of the GPS satellites in view. 16 special message — a text message from the beacon operator. 31 GLONASS subset corrections — a message containing corrections for a set of the GLONASS satellites in view.
Type 1 and 9: Correction data One or more satellite objects follow the header for type 1 or type 9 messages. Here is the format: Satellite object Name Type Description ident integer The PRN number of the satellite for which this is correction data. udre integer User Differential Range Error (0-3). See the table following for values. iod integer Issue Of Data, matching the IOD for the current ephemeris of this satellite, as transmitted by the satellite. The IOD is a unique tag that identifies the ephemeris; the GPS using the DGPS correction and the DGPS generating the data must use the same orbital positions for the satellite. prc real The pseudorange error in meters for this satellite as measured by the beacon reference receiver at the epoch indicated by the z_count in the parent record. rrc real The rate of change of pseudorange error in meters/sec for this satellite as measured by the beacon reference receiver at the epoch indicated by the z_count field in the parent record. This is used to calculate pseudorange errors at other epochs, if required by the GPS receiver.
User Differential Range Error values are as follows: UDRE values 01-sigma error <= 1m11-sigma error <= 4m21-sigma error <= 8m31-sigma error > 8m
Here's an example: {"class":"RTCM2","type":1, "station_id":688,"zcount":843.0,"seqnum":5,"length":19,"station_health":6, "satellites":[ {"ident":10,"udre":0,"iod":46,"prc":-2.400,"rrc":0.000}, {"ident":13,"udre":0,"iod":94,"prc":-4.420,"rrc":0.000}, {"ident":7,"udre":0,"iod":22,"prc":-5.160,"rrc":0.002}, {"ident":2,"udre":0,"iod":34,"prc":-6.480,"rrc":0.000}, {"ident":4,"udre":0,"iod":47,"prc":-8.860,"rrc":0.000}, {"ident":8,"udre":0,"iod":76,"prc":-7.980,"rrc":0.002}, {"ident":5,"udre":0,"iod":99,"prc":-8.260,"rrc":0.002}, {"ident":23,"udre":0,"iod":81,"prc":-8.060,"rrc":0.000}, {"ident":16,"udre":0,"iod":70,"prc":-11.740,"rrc":0.000}, {"ident":30,"udre":0,"iod":4,"prc":-18.960,"rrc":-0.006}, {"ident":29,"udre":0,"iod":101,"prc":-24.960,"rrc":-0.002} ]}
Type 3: Reference Station Parameters Here are the payload members of a type 3 (Reference Station Parameters) message: Reference Station Parameters Name Type Description x real ECEF X coordinate. y real ECEF Y coordinate. z real ECEF Z coordinate.
The coordinates are the position of the station, in meters to two decimal places, in Earth Centred Earth Fixed coordinates. These are usually referred to the WGS84 reference frame, but may be referred to NAD83 in the US (essentially identical to WGS84 for all except geodesists), or to some other reference frame in other parts of the world. An invalid reference message is represented by a type 3 header without payload fields. Here's an example: {"class":"RTCM2","type":3, "station_id":652,"zcount":1657.2,"seqnum":2,"length":4,"station_health":6, "x":3878620.92,"y":670281.40,"z":5002093.59 }
Type 4: Datum Here are the payload members of a type 4 (Datum) message: Datum Name Type Description dgnss_type string Either "GPS", "GLONASS", "GALILEO", or "UNKNOWN". dat integer 0 or 1 and indicates the sense of the offset shift given by dx, dy, dz. dat = 0 means that the station coordinates (in the reference message) are referred to a local datum and that adding dx, dy, dz to that position will render it in GNSS coordinates (WGS84 for GPS). If dat = 1 then the ref station position is in GNSS coordinates and adding dx, dy, dz will give it referred to the local datum. datum_name string A standard name for the datum. dx real X offset. dy real Y offset. dz real Z offset.
<dx> <dy> <dz> are offsets to convert from local datum to GNSS datum or vice versa. These fields are optional. An invalid datum message is represented by a type 4 header without payload fields.
Type 5: Constellation Health One or more of these follow the header for type 5 messages — one for each satellite. Here is the format: Constellation health Name Type Description ident integer The PRN number of the satellite. iodl bool True indicates that this information relates to the satellite information in an accompanying type 1 or type 9 message. health integer 0 indicates that the satellite is healthy. Any other value indicates a problem (coding is not known). snr integer The carrier/noise ratio of the received signal in the range 25 to 55 dB(Hz). health_en bool If set to True it indicates that the satellite is healthy even if the satellite navigation data says it is unhealthy. new_data bool True indicates that the IOD for this satellite will soon be updated in type 1 or 9 messages. los_warning bool Line-of-sight warning. True indicates that the satellite will shortly go unhealthy. tou integer Healthy time remaining in seconds.
Type 6: Null This just indicates a null message. There are no payload fields. Unknown message This format is used to dump message words in hexadecimal when the message type field doesn't match any of the known ones. Here is the format: Unknown Message Name Type Description data list A list of strings.
Each string in the array is a hex literal representing 30 bits of information, after parity checks and inversion. The high two bits should be ignored.
Type 7: Radio Beacon Almanac Here is the format: Contellation health Name Type Description lat real Latitude in degrees, of the LF transmitter antenna for the station for which this is an almanac. North is positive. lon real Longitude in degrees, of the LF transmitter antenna for the station for which this is an almanac. East is positive. range integer Published range of the station in km. frequency real Station broadcast frequency in kHz. health integer <health> is the health of the station for which this is an almanac. If it is non-zero, the station is issuing suspect data and should not be used for fixes. The ITU and RTCM104 standards differ about the mode detailed interpretation of the <health> field and even about its bit width. station_id integer The id of the transmitter. This is not the same as the reference id in the header, the latter being the id of the reference receiver. bitrate integer The transmitted bitrate.
Here's an example: {"class":"RTCM2","type":9,"station_id":268,"zcount":252.6, "seqnum":4,"length":5,"station_health":0, "satellites":[ {"ident":13,"udre":0,"iod":3,"prc":-25.940,"rrc":0.066}, {"ident":2,"udre":0,"iod":73,"prc":0.920,"rrc":-0.080}, {"ident":8,"udre":0,"iod":22,"prc":23.820,"rrc":0.014} ]}
Type 13: GPS Time of Week Here are the payload members of a type 13 (Groumf Tramitter Parameters) message: Grund Transmitter Parameters Name Type Description status bool If True, signals user to expect a type 16 explanatory message associated with this station. Probably indicates some sort of unusual event. rangeflag bool If True, indicates that the estimated range is different from that found in the Type 7 message (which contains the beacon's listed range). Generally indicates a range reduction due to causes such as poor ionospheric conditions or reduced transmission power. lat real Degrees latitude, signed. Positive is N, negative is S. lon real Degrees longitude, signed. Positive is E, negative is W. range integer Transmission range in km (1-1024).
This message type replaces message type 3 (Reference Station Parameters) in RTCM 2.3.
Type 14: GPS Time of Week Here are the payload members of a type 14 (GPS Time of Week) message: Reference Station Parameters Name Type Description week integer GPS week (0-123). hour integer Hour of week (0-167). leapsecs integer Leap Seconds (0-63).
Here's an example: {"class":"RTCM2","type":14,"station_id":652,"zcount":1657.2, "seqnum":3,"length":1,"station_health":6,"week":601,"hour":109, "leapsecs":15}
Type 16: Special Message Special Message Name Type Description message string A text message sent by the beacon operator.
Type 31: Correction data One or more GLONASS satellite objects follow the header for type 1 or type 9 messages. Here is the format: Satellite object Name Type Description ident integer The PRN number of the satellite for which this is correction data. udre integer User Differential Range Error (0-3). See the table following for values. change boolean Change-of-ephemeris bit. tod uinteger Count of 30-second periods since the top of the hour. prc real The pseudorange error in meters for this satellite as measured by the beacon reference receiver at the epoch indicated by the z_count in the parent record. rrc real The rate of change of pseudorange error in meters/sec for this satellite as measured by the beacon reference receiver at the epoch indicated by the z_count field in the parent record. This is used to calculate pseudorange errors at other epochs, if required by the GPS receiver.
Here's an example: {"class":"RTCM2","type":31,"station_id":652,"zcount":1642.2, "seqnum":0,"length":14,"station_health":6, "satellites":[ {"ident":5,"udre":0,"change":false,"tod":0,"prc":132.360,"rrc":0.000}, {"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.002}, {"ident":14,"udre":0,"change":false,"tod":0,"prc":141.520,"rrc":0.000}, {"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.000}, {"ident":21,"udre":0,"change":false,"tod":0,"prc":128.780,"rrc":0.000}, {"ident":22,"udre":0,"change":false,"tod":0,"prc":125.260,"rrc":0.002}, {"ident":20,"udre":0,"change":false,"tod":0,"prc":117.280,"rrc":-0.004}, {"ident":16,"udre":0,"change":false,"tod":17,"prc":113.460,"rrc":0.018} ]}
RTCM3 DUMP FORMAT The support for RTCM104v3 dumping is incomplete and buggy. Do not attempt to use it for production! Anyone interested in it should read the source code. AIS DUMP FORMATS AIS support is an extension. It may not be present if your instance of gpsd has been built with a restricted feature set. AIS packets are dumped as JSON objects with class "AIS". Each AIS report object contains a "type" field giving the AIS message type and a "scaled" field telling whether the remainder of the fields are dumped in scaled or unscaled form. (These will be emitted before any type-specific fields.) It will also contain a "device" field naming the data source. Other fields have names and types as specified in the AIVDM/AIVDO Protocol Decoding document on the GPSD project website; each message field table may be directly interpreted as a specification for the members of the corresponding JSON object type. By default, certain scaling and conversion operations are performed for JSON output. Latitudes and longitudes are scaled to decimal degrees rather than the native AIS unit of 1/10000th of a minute of arc. Ship (but not air) speeds are scaled to knots rather than tenth-of-knot units. Navigation status and positioning-system type are dumped as text strings rather than AIS numeric codes. Rate of turn may appear as "nan" if is unavailable, or as one of the strings "fastright" or "fastleft" if it is out of the AIS encoding range; otherwise it is quadratically mapped back to the turn sensor number in degrees per minute. Vessel draughts are converted to decimal meters rather than native AIS decimeters. Various other scaling conversions are described in "AIVDM/AIVDO Protocol Decoding". SUBFRAME DUMP FORMATS Subframe support is always compiled into gpsd but many GPS do not output Subframe data or the gpsd driver may not support Subframes. Subframe packets are dumped as JSON objects with class "SUBFRAME". Each Subframe report object contains a "frame" field giving the subframe number, a "tSV" field for the transmitting satellite number, a "TOW17" field containing the 17 MSBs of the start of the next 12-second message and a "scaled" field telling whether the remainder of the fields are dumped in scaled or unscaled form. It will also contain a "device" field naming the data source. Each SUBFRAME object will have a sub-object specific to that subframe page type. Those sub-object fields have names and types similar to those specified in the IS-GPS-200E document; each message field table may be directly interpreted as a specification for the members of the corresponding JSON object type. SEE ALSO gpsd8, libgps3, AUTHOR The protocol was designed and documented by Eric S. Raymond.
gpsd-3.9/gpsdclient.c0000664000175000017500000002312712022345475013001 0ustar esresr/* * gpsdclient.c -- support functions for GPSD clients * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include /* for strcasecmp() */ #include #include #include "gpsd_config.h" #include "gps.h" #include "gpsdclient.h" static struct exportmethod_t exportmethods[] = { #if defined(DBUS_EXPORT_ENABLE) && !defined(S_SPLINT_S) {"dbus", GPSD_DBUS_EXPORT, "DBUS broadcast"}, #endif /* defined(DBUS_EXPORT_ENABLE) && !defined(S_SPLINT_S) */ #ifdef SHM_EXPORT_ENABLE {"shm", GPSD_SHARED_MEMORY, "shared memory"}, #endif /* SOCKET_EXPORT_ENABLE */ #ifdef SOCKET_EXPORT_ENABLE {"sockets", NULL, "JSON via sockets"}, #endif /* SOCKET_EXPORT_ENABLE */ }; /* convert double degrees to a static string and return a pointer to it * * deg_str_type: * deg_dd : return DD.dddddd * deg_ddmm : return DD MM.mmmm' * deg_ddmmss : return DD MM' SS.sss" * */ /*@observer@*/ char *deg_to_str(enum deg_str_type type, double f) { static char str[40]; int dsec, sec, deg, min; long frac_deg; double fdsec, fsec, fdeg, fmin; if (f < 0 || f > 360) { (void)strlcpy(str, "nan", sizeof(str)); return str; } fmin = modf(f, &fdeg); deg = (int)fdeg; frac_deg = (long)(fmin * 1000000); if (deg_dd == type) { /* DD.dddddd */ (void)snprintf(str, sizeof(str), "%3d.%06ld", deg, frac_deg); return str; } fsec = modf(fmin * 60, &fmin); min = (int)fmin; sec = (int)(fsec * 10000.0); if (deg_ddmm == type) { /* DD MM.mmmm */ (void)snprintf(str, sizeof(str), "%3d %02d.%04d'", deg, min, sec); return str; } /* else DD MM SS.sss */ fdsec = modf(fsec * 60, &fsec); sec = (int)fsec; dsec = (int)(fdsec * 1000.0); (void)snprintf(str, sizeof(str), "%3d %02d' %02d.%03d\"", deg, min, sec, dsec); return str; } /* * check the environment to determine proper GPS units * * clients should only call this if no user preference is specified on * the command line or via X resources. * * return imperial - Use miles/feet * nautical - Use knots/feet * metric - Use km/meters * unspecified - use compiled default * * In order check these environment vars: * GPSD_UNITS one of: * imperial = miles/feet * nautical = knots/feet * metric = km/meters * LC_MEASUREMENT * en_US = miles/feet * C = miles/feet * POSIX = miles/feet * [other] = km/meters * LANG * en_US = miles/feet * C = miles/feet * POSIX = miles/feet * [other] = km/meters * * if none found then return compiled in default */ enum unit gpsd_units(void) { char *envu = NULL; if ((envu = getenv("GPSD_UNITS")) != NULL && *envu != '\0') { if (0 == strcasecmp(envu, "imperial")) { return imperial; } if (0 == strcasecmp(envu, "nautical")) { return nautical; } if (0 == strcasecmp(envu, "metric")) { return metric; } /* unrecognized, ignore it */ } if (((envu = getenv("LC_MEASUREMENT")) != NULL && *envu != '\0') || ((envu = getenv("LANG")) != NULL && *envu != '\0')) { if (strncasecmp(envu, "en_US", 5) == 0 || strcasecmp(envu, "C") == 0 || strcasecmp(envu, "POSIX") == 0) { return imperial; } /* Other, must be metric */ return metric; } /* TODO: allow a compile time default here */ return unspecified; } /*@ -observertrans -statictrans -mustfreeonly -branchstate -kepttrans @*/ void gpsd_source_spec(const char *arg, struct fixsource_t *source) /* standard parsing of a GPS data source spec */ { /* the casts attempt to head off a -Wwrite-strings warning */ source->server = (char *)"localhost"; source->port = (char *)DEFAULT_GPSD_PORT; source->device = NULL; /*@-usedef@ Sigh, splint is buggy */ if (arg != NULL) { char *colon1, *skipto, *rbrk; source->spec = strdup(arg); assert(source->spec != NULL); skipto = source->spec; if (*skipto == '[' && (rbrk = strchr(skipto, ']')) != NULL) { skipto = rbrk; } colon1 = strchr(skipto, ':'); if (colon1 != NULL) { char *colon2; *colon1 = '\0'; if (colon1 != source->spec) { source->server = source->spec; } source->port = colon1 + 1; colon2 = strchr(source->port, ':'); if (colon2 != NULL) { *colon2 = '\0'; source->device = colon2 + 1; } } else if (strchr(source->spec, '/') != NULL) { source->device = source->spec; } else { source->server = source->spec; } } /*@-modobserver@*/ if (*source->server == '[') { char *rbrk = strchr(source->server, ']'); ++source->server; if (rbrk != NULL) *rbrk = '\0'; } /*@+modobserver@*/ /*@+usedef@*/ } /*@ +observertrans -statictrans +mustfreeonly +branchstate +kepttrans @*/ char *maidenhead(double n, double e) /* lat/lon to Maidenhead */ { /* * Specification at * http://en.wikipedia.org/wiki/Maidenhead_Locator_System * * There's a fair amount of slop in how Maidenhead converters operate * that can make it look like this one is wrong. * * 1. Many return caps for paces 5 and 6 when according to the spwec * they should return smalls. * * 2. Some converters, including QGrid from which this code was originally * derived, add an 0.5 offset to the divided e and n just before it * is cast to integer and used for places 5 and 6. This appears to be * intended as a round-to-nearest hack (as opposed to the implicit * round down from the cast). If I'm reading the spec right it * is not correct to do this. */ static char buf[7]; int t1; e=e+180.0; t1=(int)(e/20); buf[0]=(char)t1+'A'; e-=(float)t1*20.0; t1=(int)e/2; buf[2]=(char)t1+'0'; e-=(float)t1*2; buf[4]=(char)(int)(e*12.0)+'a'; n=n+90.0; t1=(int)(n/10.0); buf[1]=(char)t1+'A'; n-=(float)t1*10.0; buf[3]=(char)n+'0'; n-=(int)n; n*=24; // convert to 24 division buf[5]=(char)(int)(n)+'a'; buf[6] = '\0'; return buf; } #define NITEMS(x) (int)(sizeof(x)/sizeof(x[0])) /* from gpsd.h-tail */ /*@null observer@*/struct exportmethod_t *export_lookup(const char *name) /* Look up an available export method by name */ { /*@-globstate@*/ struct exportmethod_t *mp, *method = NULL; for (mp = exportmethods; mp < exportmethods + NITEMS(exportmethods); mp++) if (strcmp(mp->name, name) == 0) method = mp; return method; /*@+globstate@*/ } void export_list(FILE *fp) /* list known export methods */ { struct exportmethod_t *method; for (method = exportmethods; method < exportmethods + NITEMS(exportmethods); method++) (void)fprintf(fp, "%s: %s\n", method->name, method->description); } /*@null observer@*/struct exportmethod_t *export_default(void) { return (NITEMS(exportmethods) > 0) ? &exportmethods[0] : NULL; } /* Convert true heading to magnetic. Taken from the Aviation Formulary v1.43. Valid to within two degrees within the continiental USA except for the following airports: MO49 MO86 MO50 3K6 02K and KOOA. AK correct to better than one degree. Western Europe correct to within 0.2 deg. If you're not in one of these areas, I apologize, I don't have the math to compute your varation. This is obviously extremely floating-point heavy, so embedded people, beware of using. Note that there are issues with using magnetic heading. This code does not account for the possibility of travelling into or out of an area of valid calculation beyond forcing the magnetic conversion off. A better way to communicate this to the user is probably desirable (in case the don't notice the subtle change from "(mag)" to "(true)" on their display). */ float true2magnetic(double lat, double lon, double heading) { /* Western Europe */ /*@ -evalorder +relaxtypes @*/ if ((lat > 36.0) && (lat < 68.0) && (lon > -10.0) && (lon < 28.0)) { heading = (10.4768771667158 - (0.507385322418858 * lon) + (0.00753170031703826 * pow(lon, 2)) - (1.40596203924748e-05 * pow(lon, 3)) - (0.535560699962353 * lat) + (0.0154348808069955 * lat * lon) - (8.07756425110592e-05 * lat * pow(lon, 2)) + (0.00976887198864442 * pow(lat, 2)) - (0.000259163929798334 * lon * pow(lat, 2)) - (3.69056939266123e-05 * pow(lat, 3)) + heading); } /* USA */ else if ((lat > 24.0) && (lat < 50.0) && (lon > 66.0) && (lon < 125.0)) { lon = 0.0 - lon; heading = ((-65.6811) + (0.99 * lat) + (0.0128899 * pow(lat, 2)) - (0.0000905928 * pow(lat, 3)) + (2.87622 * lon) - (0.0116268 * lat * lon) - (0.00000603925 * lon * pow(lat, 2)) - (0.0389806 * pow(lon, 2)) - (0.0000403488 * lat * pow(lon, 2)) + (0.000168556 * pow(lon, 3)) + heading); } /* AK */ else if ((lat > 54.0) && (lon > 130.0) && (lon < 172.0)) { lon = 0.0 - lon; heading = (618.854 + (2.76049 * lat) - (0.556206 * pow(lat, 2)) + (0.00251582 * pow(lat, 3)) - (12.7974 * lon) + (0.408161 * lat * lon) + (0.000434097 * lon * pow(lat, 2)) - (0.00602173 * pow(lon, 2)) - (0.00144712 * lat * pow(lon, 2)) + (0.000222521 * pow(lon, 3)) + heading); } else { /* We don't know how to compute magnetic heading for this * location. */ heading = NAN; } /* No negative headings. */ if (isnan(heading)== 0 && heading < 0.0) heading += 360.0; return (heading); /*@ +evalorder -relaxtypes @*/ } /* gpsclient.c ends here */ gpsd-3.9/gpsdclient.h0000664000175000017500000000236312022345475013005 0ustar esresr/* * gpsdclient.h -- common functions for GPSD clients * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. * */ #ifndef _GPSD_GPSDCLIENT_H_ #define _GPSD_GPSDCLIENT_H_ struct exportmethod_t /* describe an export method */ { const char *name; /*@null@*/const char *magic; const char *description; }; struct fixsource_t /* describe a data source */ { char *spec; /* pointer to actual storage */ char *server; char *port; /*@null@*/char *device; }; /*@null observer@*/struct exportmethod_t *export_lookup(const char *); /*@null observer@*/struct exportmethod_t *export_default(void); void export_list(FILE *); enum unit {unspecified, imperial, nautical, metric}; enum unit gpsd_units(void); enum deg_str_type { deg_dd, deg_ddmm, deg_ddmmss }; float true2magnetic(double, double, double); extern /*@observer@*/ char *deg_to_str( enum deg_str_type type, double f); extern void gpsd_source_spec(/*@null@*/const char *fromstring, /*@out@*/struct fixsource_t *source); char *maidenhead(double n,double e); /* this needs to match JSON_DATE_MAX in gpsd.h */ #define CLIENT_DATE_MAX 24 #endif /* _GPSDCLIENT_H_ */ /* gpsdclient.h ends here */ gpsd-3.9/gpsdctl.c0000664000175000017500000000637612022345475012314 0ustar esresr/* gpsdctl.c -- communicate with the control socket of a gpsd instance * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. * */ #include #include #include #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include #include #include #include #include #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include "gpsd.h" static char *control_socket = DEFAULT_GPSD_SOCKET; static char *gpsd_options = ""; static int gpsd_control(char *action, char *argument) /* pass a command to gpsd; start the daemon if not already running */ { int connect = -1; char buf[512]; (void)syslog(LOG_ERR, "gpsd_control(action=%s, arg=%s)", action, argument); if (access(control_socket, F_OK) == 0 && (connect = netlib_localsocket(control_socket, SOCK_STREAM)) >= 0) syslog(LOG_INFO, "reached a running gpsd"); else if (strcmp(action, "add") == 0) { (void)snprintf(buf, sizeof(buf), "gpsd %s -F %s", gpsd_options, control_socket); (void)syslog(LOG_NOTICE, "launching %s", buf); if (system(buf) != 0) { (void)syslog(LOG_ERR, "launch of gpsd failed"); return -1; } if (access(control_socket, F_OK) == 0) connect = netlib_localsocket(control_socket, SOCK_STREAM); } if (connect < 0) { syslog(LOG_ERR, "can't reach gpsd"); return -1; } /* * We've got a live connection to the gpsd control socket. No * need to parse the response, because gpsd will lock on to the * device if it's really a GPS and ignore it if it's not. * * The only other place in the code that knows about the format of * the add and remove commands is the handle_control() function in * gpsd.c. Be careful about keeping them in sync, or hotplugging * will have mysterious failures. */ /*@ -sefparams @*/ if (strcmp(action, "add") == 0) { /* * Force the group-read & group-write bits on, so gpsd will still be * able to use this device after dropping root privileges. */ struct stat sb; /* coverity[toctou] */ if (stat(argument, &sb) != 1) (void)chmod(argument, sb.st_mode | S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP); (void)snprintf(buf, sizeof(buf), "+%s\r\n", argument); ignore_return(write(connect, buf, strlen(buf))); ignore_return(read(connect, buf, 12)); } else if (strcmp(action, "remove") == 0) { (void)snprintf(buf, sizeof(buf), "-%s\r\n", argument); ignore_return(write(connect, buf, strlen(buf))); ignore_return(read(connect, buf, 12)); } /*@ +sefparams @*/ (void)close(connect); //syslog(LOG_DEBUG, "gpsd_control ends"); return 0; } int main(int argc, char *argv[]) { openlog("gpsdctl", 0, LOG_DAEMON); if (argc != 3) { (void)syslog(LOG_ERR, "requires action and argument (%d)", argc); exit(EXIT_FAILURE); } else { /*@-observertrans@*/ char *sockenv = getenv("GPSD_SOCKET"); char *optenv = getenv("GPSD_OPTIONS"); if (sockenv != NULL) control_socket = sockenv; if (optenv != NULL) gpsd_options = optenv; /* coverity[string_size] */ if (gpsd_control(argv[1], argv[2]) < 0) exit(EXIT_FAILURE); else exit(EXIT_SUCCESS); /*@+observertrans@*/ } } gpsd-3.9/gpsdctl.xml0000664000175000017500000000544211762140435012662 0ustar esresr 25 Jun 2011 gpsdctl 8 The GPSD Project GPSD Documentation gpsdctl tool for sending commands to gpsd over its control socket gpdsctl action device DESCRIPTION This is a tool for sending an instance of gpsd commands over its control socket to add or remove devices from the daemon's device list. It is not intended to be called by users, but rather by the Linux hotplug system and similar facilities. The action argument may be "add" or "remove". If no daemon instance is running when an add is requested, this program will launch one. The "device" argument should be the pathname of a device. A device on the list will be opened to read sensor data whenever a client requests a watch. Two environment variables are interpreted. GPSD_SOCKET sets the location of the control socket. It defaults to /var/run/gpsd.sock. GPSD_OPTIONS may be a list of options to be passed to gpsd when this tool launches it. It defaults to an empty string. SEE ALSO gpsd8, gpsctl1, gps1, libgps3, libgpsd3, gpsprof1, gpsfake1. AUTHOR Eric S. Raymond esr@thyrsus.com. gpsd-3.9/gpsdecode.c0000664000175000017500000005165612022345475012612 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include "gpsd.h" #include "gps_json.h" static int verbose = 0; static bool scaled = true; static bool json = true; static unsigned int ntypes = 0; static unsigned int typelist[32]; /************************************************************************** * * Generic machinery * **************************************************************************/ void gpsd_report(int errlevel, const char *fmt, ...) /* assemble command in printf(3) style, use stderr or syslog */ { if (errlevel <= verbose) { char buf[BUFSIZ]; va_list ap; (void)strlcpy(buf, "gpsdecode: ", BUFSIZ); va_start(ap, fmt); (void)vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), fmt, ap); va_end(ap); (void)fputs(buf, stderr); } } #ifdef AIVDM_ENABLE static void aivdm_csv_dump(struct ais_t *ais, char *buf, size_t buflen) { bool imo = false; (void)snprintf(buf, buflen, "%u|%u|%09u|", ais->type, ais->repeat, ais->mmsi); /*@ -formatcode @*/ switch (ais->type) { case 1: /* Position Report */ case 2: case 3: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u|%d|%u|%u|%d|%d|%u|%u|%u|0x%x|%u|0x%x", ais->type1.status, ais->type1.turn, ais->type1.speed, (uint) ais->type1.accuracy, ais->type1.lon, ais->type1.lat, ais->type1.course, ais->type1.heading, ais->type1.second, ais->type1.maneuver, (uint) ais->type1.raim, ais->type1.radio); break; case 4: /* Base Station Report */ case 11: /* UTC/Date Response */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%04u-%02u-%02uT%02u:%02u:%02uZ|%u|%d|%d|%u|%u|0x%x", ais->type4.year, ais->type4.month, ais->type4.day, ais->type4.hour, ais->type4.minute, ais->type4.second, (uint) ais->type4.accuracy, ais->type4.lon, ais->type4.lat, ais->type4.epfd, (uint) ais->type4.raim, ais->type4.radio); break; case 5: /* Ship static and voyage related data */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u|%u|%s|%s|%u|%u|%u|%u|%u|%u|%02u-%02uT%02u:%02uZ|%u|%s|%u", ais->type5.imo, ais->type5.ais_version, ais->type5.callsign, ais->type5.shipname, ais->type5.shiptype, ais->type5.to_bow, ais->type5.to_stern, ais->type5.to_port, ais->type5.to_starboard, ais->type5.epfd, ais->type5.month, ais->type5.day, ais->type5.hour, ais->type5.minute, ais->type5.draught, ais->type5.destination, ais->type5.dte); break; case 6: /* Binary Message */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u|%u|%u|%u|%u", ais->type6.seqno, ais->type6.dest_mmsi, (uint) ais->type6.retransmit, ais->type6.dac, ais->type6.fid); switch(ais->type6.dac) { case 235: /* UK */ case 250: /* Rep. Of Ireland */ switch(ais->type6.fid) { case 10: /* GLA - AtoN monitoring */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "|%u|%u|%u|%u|%u|%u|%u|%u", ais->type6.dac235fid10.ana_int, ais->type6.dac235fid10.ana_ext1, ais->type6.dac235fid10.ana_ext2, ais->type6.dac235fid10.racon, ais->type6.dac235fid10.light, (uint)ais->type6.dac235fid10.alarm, ais->type6.dac235fid10.stat_ext, (uint)ais->type6.dac235fid10.off_pos); imo = true; break; } break; } if (!imo) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "|%zd:%s", ais->type6.bitcount, gpsd_hexdump(ais->type6.bitdata, (ais->type6.bitcount + 7) / 8)); break; case 7: /* Binary Acknowledge */ case 13: /* Safety Related Acknowledge */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u|%u|%u|%u", ais->type7.mmsi1, ais->type7.mmsi2, ais->type7.mmsi3, ais->type7.mmsi4); break; case 8: /* Binary Broadcast Message */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u|%u", ais->type8.dac, ais->type8.fid); switch(ais->type8.dac) { case 1: /* International */ switch(ais->type8.fid) { case 11: /* IMO236 - Met/Hydro message */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "|%d|%d|%02uT%02u:%02uZ|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%d|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u", ais->type8.dac1fid11.lon, ais->type8.dac1fid11.lat, ais->type8.dac1fid11.day, ais->type8.dac1fid11.hour, ais->type8.dac1fid11.minute, ais->type8.dac1fid11.wspeed, ais->type8.dac1fid11.wgust, ais->type8.dac1fid11.wdir, ais->type8.dac1fid11.wgustdir, ais->type8.dac1fid11.airtemp, ais->type8.dac1fid11.humidity, ais->type8.dac1fid11.dewpoint, ais->type8.dac1fid11.pressure, ais->type8.dac1fid11.pressuretend, ais->type8.dac1fid11.visibility, ais->type8.dac1fid11.waterlevel, ais->type8.dac1fid11.leveltrend, ais->type8.dac1fid11.cspeed, ais->type8.dac1fid11.cdir, ais->type8.dac1fid11.cspeed2, ais->type8.dac1fid11.cdir2, ais->type8.dac1fid11.cdepth2, ais->type8.dac1fid11.cspeed3, ais->type8.dac1fid11.cdir3, ais->type8.dac1fid11.cdepth3, ais->type8.dac1fid11.waveheight, ais->type8.dac1fid11.waveperiod, ais->type8.dac1fid11.wavedir, ais->type8.dac1fid11.swellheight, ais->type8.dac1fid11.swellperiod, ais->type8.dac1fid11.swelldir, ais->type8.dac1fid11.seastate, ais->type8.dac1fid11.watertemp, ais->type8.dac1fid11.preciptype, ais->type8.dac1fid11.salinity, ais->type8.dac1fid11.ice); imo = true; break; case 31: /* IMO289 - Met/Hydro message */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "|%d|%d|%02uT%02u:%02uZ|%u|%u|%u|%u|%d|%u|%d|%u|%u|%u|%d|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%d|%u|%u|%u", ais->type8.dac1fid31.lon, ais->type8.dac1fid31.lat, ais->type8.dac1fid31.day, ais->type8.dac1fid31.hour, ais->type8.dac1fid31.minute, ais->type8.dac1fid31.wspeed, ais->type8.dac1fid31.wgust, ais->type8.dac1fid31.wdir, ais->type8.dac1fid31.wgustdir, ais->type8.dac1fid31.airtemp, ais->type8.dac1fid31.humidity, ais->type8.dac1fid31.dewpoint, ais->type8.dac1fid31.pressure, ais->type8.dac1fid31.pressuretend, ais->type8.dac1fid31.visibility, ais->type8.dac1fid31.waterlevel, ais->type8.dac1fid31.leveltrend, ais->type8.dac1fid31.cspeed, ais->type8.dac1fid31.cdir, ais->type8.dac1fid31.cspeed2, ais->type8.dac1fid31.cdir2, ais->type8.dac1fid31.cdepth2, ais->type8.dac1fid31.cspeed3, ais->type8.dac1fid31.cdir3, ais->type8.dac1fid31.cdepth3, ais->type8.dac1fid31.waveheight, ais->type8.dac1fid31.waveperiod, ais->type8.dac1fid31.wavedir, ais->type8.dac1fid31.swellheight, ais->type8.dac1fid31.swellperiod, ais->type8.dac1fid31.swelldir, ais->type8.dac1fid31.seastate, ais->type8.dac1fid31.watertemp, ais->type8.dac1fid31.preciptype, ais->type8.dac1fid31.salinity, ais->type8.dac1fid31.ice); imo = true; break; } break; } if (!imo) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "|%zd:%s", ais->type8.bitcount, gpsd_hexdump(ais->type8.bitdata, (ais->type8.bitcount + 7) / 8)); break; case 9: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u|%u|%u|%d|%d|%u|%u|0x%x|%u|%u|0x%x", ais->type9.alt, ais->type9.speed, (uint) ais->type9.accuracy, ais->type9.lon, ais->type9.lat, ais->type9.course, ais->type9.second, ais->type9.regional, ais->type9.dte, (uint) ais->type9.raim, ais->type9.radio); break; case 10: /* UTC/Date Inquiry */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u", ais->type10.dest_mmsi); break; case 12: /* Safety Related Message */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u|%u|%u|%s", ais->type12.seqno, ais->type12.dest_mmsi, (uint) ais->type12.retransmit, ais->type12.text); break; case 14: /* Safety Related Broadcast Message */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%s", ais->type14.text); break; case 15: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u|%u|%u|%u|%u|%u|%u|%u", ais->type15.mmsi1, ais->type15.type1_1, ais->type15.offset1_1, ais->type15.type1_2, ais->type15.offset1_2, ais->type15.mmsi2, ais->type15.type2_1, ais->type15.offset2_1); break; case 16: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u|%u|%u|%u|%u|%u", ais->type16.mmsi1, ais->type16.offset1, ais->type16.increment1, ais->type16.mmsi2, ais->type16.offset2, ais->type16.increment2); break; case 17: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%d|%d|%zd:%s", ais->type17.lon, ais->type17.lat, ais->type17.bitcount, gpsd_hexdump(ais->type17.bitdata, (ais->type17.bitcount + 7) / 8)); break; case 18: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u|%u|%u|%d|%d|%u|%u|%u|0x%x|%u|%u|%u|%u|%u|%u|0x%x", ais->type18.reserved, ais->type18.speed, (uint) ais->type18.accuracy, ais->type18.lon, ais->type18.lat, ais->type18.course, ais->type18.heading, ais->type18.second, ais->type18.regional, (uint) ais->type18.cs, (uint) ais->type18.display, (uint) ais->type18.dsc, (uint) ais->type18.band, (uint) ais->type18.msg22, (uint) ais->type18.raim, ais->type18.radio); break; case 19: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u|%u|%u|%d|%d|%u|%u|%u|0x%x|%s|%u|%u|%u|%u|%u|%u|%u|%u|%u", ais->type19.reserved, ais->type19.speed, (uint) ais->type19.accuracy, ais->type19.lon, ais->type19.lat, ais->type19.course, ais->type19.heading, ais->type19.second, ais->type19.regional, ais->type19.shipname, ais->type19.shiptype, ais->type19.to_bow, ais->type19.to_stern, ais->type19.to_port, ais->type19.to_starboard, ais->type19.epfd, (uint) ais->type19.raim, ais->type19.dte, (uint) ais->type19.assigned); break; case 20: /* Data Link Management Message */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u|%u", ais->type20.offset1, ais->type20.number1, ais->type20.timeout1, ais->type20.increment1, ais->type20.offset2, ais->type20.number2, ais->type20.timeout2, ais->type20.increment2, ais->type20.offset3, ais->type20.number3, ais->type20.timeout3, ais->type20.increment3, ais->type20.offset4, ais->type20.number4, ais->type20.timeout4, ais->type20.increment4); break; case 21: /* Aid to Navigation */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u|%s|%u|%d|%d|%u|%u|%u|%u|%u|%u|%u|0x%x|%u|%u", ais->type21.aid_type, ais->type21.name, (uint) ais->type21.accuracy, ais->type21.lon, ais->type21.lat, ais->type21.to_bow, ais->type21.to_stern, ais->type21.to_port, ais->type21.to_starboard, ais->type21.epfd, ais->type21.second, ais->type21.regional, (uint) ais->type21.off_position, (uint) ais->type21.raim, (uint) ais->type21.virtual_aid); break; case 22: /* Channel Management */ if (!ais->type22.addressed) (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u|%u|%u|%u|%d|%d|%d|%d|%u|%u|%u|%u", ais->type22.channel_a, ais->type22.channel_b, ais->type22.txrx, (uint) ais->type22.power, ais->type22.area.ne_lon, ais->type22.area.ne_lat, ais->type22.area.sw_lon, ais->type22.area.sw_lat, (uint) ais->type22.addressed, (uint) ais->type22.band_a, (uint) ais->type22.band_b, ais->type22.zonesize); else (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u|%u|%u|%u|%u|%u|%u|%u|%u|%u", ais->type22.channel_a, ais->type22.channel_b, ais->type22.txrx, (uint) ais->type22.power, ais->type22.mmsi.dest1, ais->type22.mmsi.dest2, (uint) ais->type22.addressed, (uint) ais->type22.band_a, (uint) ais->type22.band_b, ais->type22.zonesize); break; case 23: /* Group Management Command */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%d|%d|%d|%d|%u|%u|%u|%u|%u", ais->type23.ne_lon, ais->type23.ne_lat, ais->type23.sw_lon, ais->type23.sw_lat, ais->type23.stationtype, ais->type23.shiptype, ais->type23.txrx, ais->type23.interval, ais->type23.quiet); break; case 24: /* Class B CS Static Data Report */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%s|", ais->type24.shipname); (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u|", ais->type24.shiptype); (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%s|%s|", ais->type24.vendorid, ais->type24.callsign); if (AIS_AUXILIARY_MMSI(ais->mmsi)) { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u", ais->type24.mothership_mmsi); } else { (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u|%u|%u|%u", ais->type24.dim.to_bow, ais->type24.dim.to_stern, ais->type24.dim.to_port, ais->type24.dim.to_starboard); } break; case 25: /* Binary Message, Single Slot */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u|%u|%u|%u|%zd:%s", (uint) ais->type25.addressed, (uint) ais->type25.structured, ais->type25.dest_mmsi, ais->type25.app_id, ais->type25.bitcount, gpsd_hexdump(ais->type25.bitdata, (ais->type25.bitcount + 7) / 8)); break; case 26: /* Binary Message, Multiple Slot */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u|%u|%u|%u|%zd:%s:%u", (uint) ais->type26.addressed, (uint) ais->type26.structured, ais->type26.dest_mmsi, ais->type26.app_id, ais->type26.bitcount, gpsd_hexdump(ais->type26.bitdata, (ais->type26.bitcount + 7) / 8), ais->type26.radio); break; case 27: /* Long Range AIS Broadcast message */ (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "%u|%u|%d|%d|%u|%u|%u|%u", ais->type27.status, (uint)ais->type27.accuracy, ais->type27.lon, ais->type27.lat, ais->type27.speed, ais->type27.course, (uint)ais->type27.raim, (uint)ais->type27.gnss); break; default: (void)snprintf(buf + strlen(buf), buflen - strlen(buf), "unknown AIVDM message content."); break; } /*@ +formatcode @*/ (void)strlcat(buf, "\r\n", buflen); } #endif static bool filter(gps_mask_t changed, struct gps_device_t *session) /* say whether a given message should be visible */ { if (ntypes == 0) return true; else { unsigned int i, t; if ((changed & AIS_SET)!=0) t = session->gpsdata.ais.type; else if ((changed & RTCM2_SET)!=0) t = session->gpsdata.rtcm2.type; else if ((changed & RTCM3_SET)!=0) t = session->gpsdata.rtcm3.type; else return true; for (i = 0; i < ntypes; i++) if (t == typelist[i]) return true; } return false; } /*@ -compdestroy -compdef -usedef -uniondef @*/ static void decode(FILE *fpin, FILE*fpout) /* sensor data on fpin to dump format on fpout */ { struct gps_device_t session; struct gps_context_t context; struct policy_t policy; char buf[GPS_JSON_RESPONSE_MAX * 4]; //This looks like a good idea, but it breaks regression tests //(void)strlcpy(session.gpsdata.dev.path, "stdin", sizeof(session.gpsdata.dev.path)); memset(&policy, '\0', sizeof(policy)); policy.json = json; policy.scaled = scaled; gps_context_init(&context); gpsd_time_init(&context, time(NULL)); context.readonly = true; gpsd_init(&session, &context, NULL); gpsd_clear(&session); session.gpsdata.gps_fd = fileno(fpin); session.gpsdata.dev.baudrate = 38400; /* hack to enable subframes */ (void)strlcpy(session.gpsdata.dev.path, "stdin", sizeof(session.gpsdata.dev.path)); for (;;) { gps_mask_t changed = gpsd_poll(&session); if (changed == ERROR_SET || changed == NODATA_IS) break; if (session.packet.type == COMMENT_PACKET) gpsd_set_century(&session); if (verbose >= 1 && TEXTUAL_PACKET_TYPE(session.packet.type)) (void)fputs((char *)session.packet.outbuffer, fpout); if ((changed & (REPORT_IS|SUBFRAME_SET|AIS_SET|RTCM2_SET|RTCM3_SET|PASSTHROUGH_IS)) == 0) continue; if (!filter(changed, &session)) continue; else if (json) { if ((changed & PASSTHROUGH_IS) != 0) { (void)fputs((char *)session.packet.outbuffer, fpout); (void)fputs("\n", fpout); } #ifdef SOCKET_EXPORT_ENABLE else { json_data_report(changed, &session, &policy, buf, sizeof(buf)); (void)fputs(buf, fpout); } #endif /* SOCKET_EXPORT_ENABLE */ #ifdef AIVDM_ENABLE } else if (session.packet.type == AIVDM_PACKET) { if ((changed & AIS_SET)!=0) { aivdm_csv_dump(&session.gpsdata.ais, buf, sizeof(buf)); (void)fputs(buf, fpout); } #endif /* AIVDM_ENABLE */ } } } #ifdef SOCKET_EXPORT_ENABLE static void encode(FILE *fpin, FILE *fpout) /* JSON format on fpin to JSON on fpout - idempotency test */ { char inbuf[BUFSIZ]; struct policy_t policy; struct gps_device_t session; int lineno = 0; memset(&policy, '\0', sizeof(policy)); memset(&session, '\0', sizeof(session)); (void)strlcpy(session.gpsdata.dev.path, "stdin", sizeof(session.gpsdata.dev.path)); policy.json = true; /* Parsing is always made in unscaled mode, * this policy applies to the dumping */ policy.scaled = scaled; while (fgets(inbuf, (int)sizeof(inbuf), fpin) != NULL) { int status; ++lineno; if (inbuf[0] == '#') continue; status = libgps_json_unpack(inbuf, &session.gpsdata, NULL); if (status != 0) { (void)fprintf(stderr, "gpsdecode: dying with status %d (%s) on line %d\n", status, json_error_string(status), lineno); exit(EXIT_FAILURE); } json_data_report(session.gpsdata.set, &session, &policy, inbuf, sizeof(inbuf)); (void)fputs(inbuf, fpout); } } /*@ +compdestroy +compdef +usedef @*/ #endif /* SOCKET_EXPORT_ENABLE */ int main(int argc, char **argv) { int c; enum { doencode, dodecode } mode = dodecode; while ((c = getopt(argc, argv, "cdejpt:uvVD:")) != EOF) { switch (c) { case 'c': json = false; break; case 'd': mode = dodecode; break; case 'e': mode = doencode; break; case 'j': json = true; break; case 't': /*@-nullpass@*/ typelist[ntypes++] = (unsigned int)atoi(strtok(optarg, ",")); for(;;) { char *next = strtok(NULL, ","); if (next == NULL) break; typelist[ntypes++] = (unsigned int)atoi(next); } /*@+nullpass@*/ break; case 'u': scaled = false; break; case 'v': verbose = 1; break; case 'D': verbose = atoi(optarg); #if defined(CLIENTDEBUG_ENABLE) && defined(SOCKET_EXPORT_ENABLE) json_enable_debug(verbose - 2, stderr); #endif break; case 'V': (void)fprintf(stderr, "gpsdecode revision " VERSION "\n"); exit(EXIT_SUCCESS); case '?': default: (void)fputs("gpsdecode [-v]\n", stderr); exit(EXIT_FAILURE); } } //argc -= optind; //argv += optind; if (mode == doencode) { #ifdef SOCKET_EXPORT_ENABLE encode(stdin, stdout); #else (void)fprintf(stderr, "gpsdecode: encoding support isn't compiled.\n"); exit(EXIT_FAILURE); #endif /* SOCKET_EXPORT_ENABLE */ } else decode(stdin, stdout); exit(EXIT_SUCCESS); } /* gpsdecode.c ends here */ gpsd-3.9/gpsdecode.xml0000664000175000017500000001316111762140435013154 0ustar esresr 13 Jul 2005 gpsdecode 1 The GPSD Project GPSD Documentation gpsdecode decode GPS, RTCM or AIS streams into a readable format gpsdecode -c -d -e -j -t typelist -u -v -D debuglevel -V DESCRIPTION This tool is a batch-mode decoder for NMEA and various binary packet formats associated with GPS, AIS, and differential-correction services. It produces a JSON dump on standard output from binary on standard input. The JSON is the same format documented in gpsd8; this tool uses the same decoding logic as gpsd, but with a simpler interface intended for batch processing of data files. All sensor-input formats known to the GPSD project can be decoded by this tool. These include: NMEA, AIVDM (the NMEA-derived sentence format used by AIS, the marine Automatic Identification System), RTCM2, and all supported GPS binary formats (notably including SiRF). See gpsd8 for applicable standards and known limitations of the decoding logic. You can use this tool with nc1 to examine AIS feeds from AIS pooling services, RTCM feeds from RTCM receivers or NTRIP broadcasters. OPTIONS The option tells the program to decode packets presented on standard input to standard output. This is the default behavior. The explicitly sets the output dump format to JSON (the default behavior). The option option tells the program to encode JSON on standard input to JSON on standard output. This option is only useful for regression-testing of the JSON dumping and parsing code. The accepts a comma-separated list of numeric types. Packets with a numeric AIS, RTCM2, or RTCM3 type are passed through and output only if they match a type in the list. Packets of other kinds (in particular GPS packets) are passed through unconditionally. The suppresses scaling of AIS data to float quantities and text expansion of numeric codes. A dump with this option is lossless. The enables dumping of textual packets to output as they are received on input, immediately preceding corresponding output. The sets the AIS dump format to separate fields with an ASCII pipe symbol. Fields are dumped in the order they occur in the AIS packet. Numerics are not scaled (-u is forced). Strings are unpacked from six-bit to full ASCII The option directs the program to emit its version number, then exit. The option sets a debug verbosity level. It is mainly of interest to developers. AIS DSV FORMAT With the option, dump lines are values of AIS payload fields, pipe-separated, in the order that they occur in the payload. Spans of fields expressing a date are emitted as an ISO8601 timestamp (look for colons and the trailing Z indicating Zulu/UTC time), and the 19-bit group of TDMA status fields found at the end of message types 1-4 are are dumped as a single unsigned integer (in hex preceded by "0x"). Unused regional-authority fields are also dumped (in hex preceded by "0x"). Variable-length binary fields are dumped as an integer bit length, followed by a colon, followed by a hex dump. SEE ALSO gpsd8, gpsctl1, gpsdctl8, gps1, libgps3, libgpsd3, gpsprof1, gpsfake1, AUTHOR Eric S. Raymond esr@thyrsus.com. gpsd-3.9/gpsfake0000775000175000017500000001661511762140435012052 0ustar esresr#!/usr/bin/env python # # gpsfake -- test harness for gpsd # # Simulates a GPS, playing back a logfile # Most of the logic for this now lives in gps.fake, # factored out so we can write other test programs with it. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. import sys, os, time, getopt, socket, random import gps, gps.fake as gpsfake # The "as" pacifies pychecker class Baton: "Ship progress indications to stderr." # By setting this > 1 we reduce the frequency of the twirl # and speed up test runs. Should be relatively prime to the # nunber of baton states, otherwise it will cause beat artifacts # in the twirling. SPINNER_INTERVAL = 11 def __init__(self, prompt, endmsg=None): self.stream = sys.stderr self.stream.write(prompt + "...") if os.isatty(self.stream.fileno()): self.stream.write(" \010") self.stream.flush() self.count = 0 self.endmsg = endmsg self.time = time.time() return def twirl(self, ch=None): if self.stream is None: return if os.isatty(self.stream.fileno()): if ch: self.stream.write(ch) self.stream.flush() elif self.count % Baton.SPINNER_INTERVAL == 0: self.stream.write("-/|\\"[self.count % 4]) self.stream.write("\010") self.stream.flush() self.count = self.count + 1 return def end(self, msg=None): if msg == None: msg = self.endmsg if self.stream: self.stream.write("...(%2.2f sec) %s.\n" % (time.time() - self.time, msg)) return def fakeport(): "Find a port that isn't in use to bind to." # Grab a random port from IANA's unassigned/private range. Not perfect, # but at least less than in 16000 chance of a pair collision. It would # be very hard to get this deterministically correct, since there would # always be a window between port allocation and when the daemon picked # it up. We'd need to do some kind of semaphore, etc., and even that # wouldn't prevent collisions with other apps using the range. return random.randint(49152, 65535) def hexdump(s): rep = "" for c in s: rep += "%02x" % ord(c) return rep def fakehook(linenumber, fakegps): if len(fakegps.testload.sentences) == 0: print >>sys.stderr, "fakegps: no sentences in test load." raise SystemExit, 1 if linenumber % len(fakegps.testload.sentences) == 0: if singleshot and linenumber > 0: return False if progress: baton.twirl('*\010') elif not singleshot: sys.stderr.write("gpsfake: log cycle of %s begins.\n" % fakegps.testload.name) time.sleep(cycle) if linedump and fakegps.testload.legend: ml = fakegps.testload.sentences[linenumber % len(fakegps.testload.sentences)].strip() if not fakegps.testload.textual: ml = hexdump(ml) announce = fakegps.testload.legend % (linenumber % len(fakegps.testload.sentences) + 1) + ml if promptme: raw_input(announce + "? ") else: print announce if progress: baton.twirl() return True if __name__ == '__main__': try: (options, arguments) = getopt.getopt(sys.argv[1:], "1bc:D:fghilm:no:pP:r:s:uvx") except getopt.GetoptError, msg: print "gpsfake: " + str(msg) raise SystemExit, 1 port = None progress = False cycle = 0 monitor = "" speed = 4800 linedump = False predump = False pipe = False singleshot = False promptme = False client_init = '?WATCH={"json":true,"nmea":true}' doptions = "" udp = False verbose = 0 for (switch, val) in options: if (switch == '-1'): singleshot = True elif (switch == '-f'): port = fakeport() elif (switch == '-b'): progress = True elif (switch == '-c'): cycle = float(val) elif (switch == '-D'): doptions += " -D " + val elif (switch == '-g'): monitor = "xterm -e gdb -tui --args " elif (switch == '-i'): linedump = promptme = True elif (switch == '-l'): linedump = True elif (switch == '-m'): monitor = val + " " elif (switch == '-n'): doptions += " -n" elif (switch == '-x'): predump = True elif (switch == '-o'): doptions = val elif (switch == '-p'): pipe = True elif (switch == '-P'): port = int(val) elif (switch == '-r'): client_init = val elif (switch == '-s'): speed = int(val) elif (switch == '-u'): udp = True elif (switch == '-v'): verbose += 1 elif (switch == '-h'): sys.stderr.write("usage: gpsfake [-h] [-l] [-m monitor] [--D debug] [-o options] [-p] [-s speed] [-c cycle] [-b] logfile\n") raise SystemExit,0 if not arguments: print >>sys.stderr, "gpsfake: requires at least one logfile argument." raise SystemExit, 1 if progress: baton = Baton("Processing %s" % ",".join(arguments), "done") else: print >>sys.stderr, "Processing %s" % ",".join(arguments) test = gpsfake.TestSession(prefix=monitor, port=port, options=doptions, udp=udp, verbose=verbose, predump=predump) if pipe: test.reporter = sys.stdout.write if verbose: progress = False test.progress = sys.stdout.write test.spawn() try: for logfile in arguments: try: test.gps_add(logfile, speed=speed, pred=fakehook) except gpsfake.TestLoadError, e: sys.stderr.write("gpsfake: " + e.msg + "\n") raise SystemExit, 1 except gpsfake.PacketError, e: sys.stderr.write("gpsfake: " + e.msg + "\n") raise SystemExit, 1 except gpsfake.DaemonError, e: sys.stderr.write("gpsfake: " + e.msg + "\n") raise SystemExit, 1 except IOError, e: sys.stderr.write("gpsfake: no such file as %s or file unreadable\n"%e.filename) raise SystemExit, 1 except OSError: sys.stderr.write("gpsfake: can't open pty.\n") raise SystemExit, 1 try: if pipe: test.client_add(client_init + "\n") # Give daemon time to get ready for the feeds. # Without a delay here there's a window for test # sentences to arrive before the watch takes effect. # This needs to increase if leading sentences in # test loads aren't being processed. time.sleep(1) test.run() except socket.error, msg: sys.stderr.write("gpsfake: socket error %s.\n" % msg) raise SystemExit, 1 except gps.client.json_error, e: sys.stderr.write("gpsfake: JSON error on line %s is %s.\n" % (`e.data`, e.explanation)) raise SystemExit, 1 finally: test.cleanup(); if progress: baton.end() # The following sets edit modes for GNU EMACS # Local Variables: # mode:python # End: gpsd-3.9/gpsfake.xml0000664000175000017500000002243412135531716012643 0ustar esresr 12 Feb 2005 gpsfake 1 The GPSD Project GPSD Documentation gpsfake test harness for gpsd, simulating a GPS gpsfake -1 -h -b -f -c interval -i -D debuglevel -l -m monitor -g -n -o options -p -P port -r initcmd -s speed -u -v logfile DESCRIPTION gpsfake is a test harness for gpsd and its clients. It opens a pty (pseudo-TTY), launches a gpsd instance that thinks the slave side of the pty is its GPS device, and repeatedly feeds the contents of one or more test logfiles through the master side to the GPS. If there are multiple logfiles, sentences from them are interleaved in the order the files are specified. gpsfake does not require root privileges, and can be run concurrently with a production gpsd instance without causing problems. The logfiles may contain packets in any supported format, including in particular NMEA, SiRF, TSIP, or Zodiac. Leading lines beginning with # will be treated as comments and ignored, except in the following special cases: a comment of the form #Date: yyyy-mm-dd (ISO8601 date format) may be used to set the initial date for the log. a comment of the form #Serial: [0-9]* [78][NOE][12] may be used to set serial parameters for the log - baud rate, word length, stop bits. a comment of the form #Transport: UDP may be used to fake a UDP source rather than the normal pty. The gpsd instance is run in foreground. The thread sending fake GPS data to the daemon is run in background. OPTIONS With the -1 option, the logfile is interpreted once only rather than repeatedly. This option is intended to facilitate regression testing. The enables a twirling-baton progress indicator on standard error. At termination, it reports elapsed time. The sets the delay between sentences in seconds. Fractional values of seconds are legal. The default is zero (no delay). The makes the program dump a line or packet number just before each sentence is fed to the daemon. If the sentence is textual (e.g. NMEA), the text is dumped as well. If not, the packet will be dumped in hexadecimal (except for RTCM packets, which aren't dumped at all). This option is useful for checking that gpsfake is getting packet boundaries right. The is for single-stepping through logfiles. It dumps the line or packet number (and the sentence if the protocol is textual) followed by "? ". Only when the user keys Enter is the line actually fed to gpsd. The specifies a monitor program inside which the daemon should be run. This option is intended to be used with valgrind1, gdb1 and similar programs. The uses the monitor facility to run the gpsd instance within gpsfake under control of gdb. The configures gpsd to bind to a random dynamic/private port (range 49152 - 65535). Its main use is within regression-test scripts so they won't collide with a production instance. The specifies options to pass to the daemon. The -n option passes -n to start the daemon reading the GPS without waiting for a client (equivalent to -o "-n"). The passes a -D option to the daemon: thus -D 4 is shorthand for -o "-D 4". The -p ("pipe") option sets watcher mode and dumps the NMEA and GPSD notifications generated by the log to standard output. This is useful for regression-testing. The -P ("port") option sets the daemon's listening port. The specifies an initialization command to use in pipe mode. The default is ?WATCH={"enable":true,"json":true}. The sets the baud rate for the slave tty. The default is 4800. The forces the test framework to use UDP rather than pty devices. This may be useful for testing from within chroot jails where access to pty devices is locked out. The enables verbose progress reports to stderr. It is mainly useful for debugging gpsfake itself. The dumps packets as gpsfake gathers them. It is mainly useful for debugging gpsfake itself. The makes gpsfake print a usage message and exit. The argument must be the name of a file containing the data to be cycled at the device. gpsfake will print a notification each time it cycles. Normally, gpsfake creates a pty for each logfile and passes the slave side of the device to the daemon. If the header comment in the logfile contains the string "UDP", packets are instead shipped via UDP port 5000 to the address 192.168.0.1.255. You can monitor them with this: tcpdump -s0 -n -A -i lo udp and port 5000. CUSTOM TESTS gpsfake is a trivial wrapper around a Python module, also named gpsfake, that can be used to fully script sessions involving a gpsd instance, any number of client sessions, and any number of fake GPSes feeding the daemon instance with data from specified sentence logs. Source and embedded documentation for this module is shipped with the gpsd development tools. You can use it to torture-test either gpsd itself or any gpsd-aware client application. Logfiles for the use with gpsfake can be retrieved using gpspipe, gpscat, or gpsmon from the gpsd distribution, or any other application which is able to create a compatible output. If gpsfake exits with "Cannot execute gpsd: executable not found." the environment variable GPSD_HOME can be set to the path where gpsd can be found. (instead of adding that folder to the PATH environment variable SEE ALSO gpsd8, gps1, libgps3, libgpsd3, gpsctl1, gpspipe1, gpsprof1 gpsmon1. AUTHOR Eric S. Raymond esr@thyrsus.com. gpsd-3.9/gpsinit0000775000175000017500000000517112076161021012073 0ustar esresr#!/bin/bash # # gpsinit - initialize kernel-CAN interfaces # # This file is Copyright (c) 2012 by the GPSD project. # BSD terms apply: see the file COPYING in the distribution root for details. # speed=38400 net=0 version() { echo `basename $0`" : Version v0.20"; } usage() { version; echo; echo "usage :" `basename $0` "[-n ] [-s ] []"; echo " :" `basename $0` "-v"; echo " :" `basename $0` "-h"; echo " Options include:"; echo " -n = CAN network number, 0 if not given."; echo " -s = Speed of the slcan hardware port, 38400 if not given."; echo " = Needed for some slcan modules only."; echo " -v = Print version of this script and exit."; echo " -h = Print this help message and exit."; echo " can_module_name = One out of plx_pci, esd_usb2, vcan, slcan, beaglebone."; echo " interface_name = The interface, the SLCAN module is connected to, i.e. /dev/ttyS0 or /dev/ttyUSB0."; echo " = Needed for the slcan module only. The default is /dev/ttyUSB0."; echo "Root permissions are needed for the first calling option (Enforced by socketCAN subsystem)."; } while getopts :n:s:vh opt do case ${opt} in n) net=${OPTARG};; s) speed=${OPTARG};; v) version; exit 0;; h) usage; exit 0;; \?) usage; exit 1;; esac done shift $((${OPTIND} - 1)) candevice=$1 case ${candevice} in plx_pci) # For the SJA1000 based PCI or PCI-Express CAN interface modprobe plx_pci; ip link set can${net} type can tq 250 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1; ip link set can${net} up;; esd_usb2) # For an esd usb/2 CAN interface modprobe esd_usb2; ip link set can${net} type can tq 250 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1; ip link set can${net} up;; vcan) # With this setup, CAN frames can be injected into vcan0 by a test modprobe vcan; ip link add type vcan; ip link set vcan${net} up;; slcan) # For a serial line CAN device # No support for devices, that need a setup of the baudrate yet device=${2:-/dev/ttyUSB0}; modprobe slcan; slcan_attach -f -s5 -o ${device}; slcand `basename ${device}`; ip link set slcan${net} up;; beaglebone) # For CAN interface on a BeagleBone # The d_can driver is part of the kernel ip link set can${net} type can bitrate 250000 sjw 1; ip link set can${net} up;; *) echo `basename ${0}` ": invalid CAN interface ${1} net${net} device ${2:-(none)}" echo; usage; exit 1 esac gpsd-3.9/gpsinit.xml0000664000175000017500000001174212140104451012664 0ustar esresr 18 Jan 2013 gpsinit 8 The GPSD Project GPSD Documentation gpsinit initialize CAN kernel modules for GPSD gpsinit -n control -s speed module_name interface_name gpsinit -h gpsinit -v DESCRIPTION gpsinit initializes whatever kernel-level modules are needed to enable special non-serial hardware to communicate with a gpsd instance. Note: it will need root permissions to load modules and perform other special operations, such as changing kernel-interface baudrates. At present, all modes of this tool are concerned with setting up kernel-level interfaces to hardware on a CAN (Control Area Network) speaking NMEA2000. The program accepts the following options: -h Display a brief help text. -v Display the version of gpsinit. -n Set the CAN network number. The default is 0. -s Set the baudrate to be used to communicate over the serial line to the CAN hardware. The default is 38400 baud. The parameter module_name is mandatory. The socket CAN driver module module_name.ko will be loaded. gpsinit recognize the following module names: plx_pci esd_usb2 vcan slcan The parameter interface_name and -s speed can used here. beaglebone The dcan module needed for the beaglebone is part of the Linux kernel, so no module is loaded in this case. The parameter interface_name is needed for slcan hardware only. It gives the name of the serial device to which the SL CAN hardware is connected. The default is /dev/ttyUSB0. EXAMPLES sudo gpsinit plx_pci Attempt to load the module plx_pci and initialize net 0 for the connection to a NMEA2000 network. It will set the baudrate to 250kBits. sudo gpsinit -n 1 plx_pci As above, but use net 1. sudo gpsinit -s 38400 slcan /dev/ttyUSB0 Attempt to load the module slcan and talk to the hardware at 38400 baud connected to port /dev/ttyUSB0. gpsinit -h Display a brief help message. gpsinit -v Display the version of gpsinit. SEE ALSO gpsd8, gps1, libgps3, libgpsd3. AUTHOR Reinhard Arlt reinhard.arlt@t-online.de. gpsd-3.9/gpsmon.c0000664000175000017500000006637412140074374012161 0ustar esresr/* * The generic GPS packet monitor. * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include #include #include #include #include #include #include /* expected to declare select(2) a la SuS */ #include #include #include #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include "gpsd_config.h" #ifdef HAVE_BLUEZ #include #endif #include "gpsd.h" #include "gpsdclient.h" #include "gpsmon.h" #include "revision.h" #define BUFLEN 2048 /* external capability tables */ extern struct monitor_object_t nmea_mmt, sirf_mmt, ashtech_mmt; extern struct monitor_object_t garmin_mmt, garmin_bin_ser_mmt; extern struct monitor_object_t italk_mmt, ubx_mmt, superstar2_mmt; extern struct monitor_object_t fv18_mmt, gpsclock_mmt, mtk3301_mmt; extern struct monitor_object_t oncore_mmt, tnt_mmt; /* These are public */ struct gps_device_t session; WINDOW *devicewin; bool serial; /* These are private */ static struct gps_context_t context; static bool curses_active; static WINDOW *statwin, *cmdwin; /*@null@*/ static WINDOW *packetwin; /*@null@*/ static FILE *logfile; static char *type_name; #ifdef PASSTHROUGH_ENABLE /* no methods, it's all device window */ extern const struct gps_type_t json_passthrough; const struct monitor_object_t json_mmt = { .initialize = NULL, .update = NULL, .command = NULL, .wrap = NULL, .min_y = 0, .min_x = 80, /* no need for a device window */ .driver = &json_passthrough, }; #endif /* PASSTHROUGH_ENABLE */ /*@ -nullassign @*/ static const struct monitor_object_t *monitor_objects[] = { #ifdef NMEA_ENABLE &nmea_mmt, #if defined(GARMIN_ENABLE) && defined(NMEA_ENABLE) &garmin_mmt, #endif /* GARMIN_ENABLE && NMEA_ENABLE */ #if defined(GARMIN_ENABLE) && defined(BINARY_ENABLE) &garmin_bin_ser_mmt, #endif /* defined(GARMIN_ENABLE) && defined(BINARY_ENABLE) */ #ifdef ASHTECH_ENABLE &ashtech_mmt, #endif /* ASHTECH_ENABLE */ #ifdef FV18_ENABLE &fv18_mmt, #endif /* FV18_ENABLE */ #ifdef GPSCLOCK_ENABLE &gpsclock_mmt, #endif /* GPSCLOCK_ENABLE */ #ifdef MTK3301_ENABLE &mtk3301_mmt, #endif /* MTK3301_ENABLE */ #endif /* NMEA_ENABLE */ #if defined(SIRF_ENABLE) && defined(BINARY_ENABLE) &sirf_mmt, #endif /* defined(SIRF_ENABLE) && defined(BINARY_ENABLE) */ #if defined(UBX_ENABLE) && defined(BINARY_ENABLE) &ubx_mmt, #endif /* defined(UBX_ENABLE) && defined(BINARY_ENABLE) */ #if defined(ITRAX_ENABLE) && defined(BINARY_ENABLE) &italk_mmt, #endif /* defined(ITALK_ENABLE) && defined(BINARY_ENABLE) */ #if defined(SUPERSTAR2_ENABLE) && defined(BINARY_ENABLE) &superstar2_mmt, #endif /* defined(SUPERSTAR2_ENABLE) && defined(BINARY_ENABLE) */ #if defined(ONCORE_ENABLE) && defined(BINARY_ENABLE) &oncore_mmt, #endif /* defined(ONCORE_ENABLE) && defined(BINARY_ENABLE) */ #ifdef TNT_ENABLE &tnt_mmt, #endif /* TNT_ENABLE */ #ifdef PASSTHROUGH_ENABLE &json_mmt, #endif /* PASSTHROUGH_ENABLE */ NULL, }; static const struct monitor_object_t **active, **fallback; /*@ +nullassign @*/ static jmp_buf terminate; #define display (void)mvwprintw /* ternination codes */ #define TERM_SELECT_FAILED 1 #define TERM_DRIVER_SWITCH 2 #define TERM_EMPTY_READ 3 #define TERM_READ_ERROR 4 void monitor_fixframe(WINDOW * win) { int ymax, xmax, ycur, xcur; assert(win != NULL); getyx(win, ycur, xcur); getmaxyx(win, ymax, xmax); assert(xcur > -1 && ymax > 0); /* squash a compiler warning */ (void)mvwaddch(win, ycur, xmax - 1, ACS_VLINE); } /****************************************************************************** * * Device-independent I/O routines * ******************************************************************************/ static void visibilize(/*@out@*/char *buf2, size_t len, const char *buf) { const char *sp; buf2[0] = '\0'; for (sp = buf; *sp != '\0' && strlen(buf2)+4 < len; sp++) if (isprint(*sp) || (sp[0] == '\n' && sp[1] == '\0') || (sp[0] == '\r' && sp[2] == '\0')) (void)snprintf(buf2 + strlen(buf2), 2, "%c", *sp); else (void)snprintf(buf2 + strlen(buf2), 6, "\\x%02x", 0x00ff & (unsigned)*sp); } void gpsd_report(int errlevel, const char *fmt, ...) /* our version of the logger */ { char buf[BUFSIZ]; char *err_str; switch ( errlevel ) { case LOG_ERROR: err_str = "ERROR: "; break; case LOG_SHOUT: err_str = "SHOUT: "; break; case LOG_WARN: err_str = "WARN: "; break; case LOG_INF: err_str = "INFO: "; break; case LOG_DATA: err_str = "DATA: "; break; case LOG_PROG: err_str = "PROG: "; break; case LOG_IO: err_str = "IO: "; break; case LOG_SPIN: err_str = "SPIN: "; break; case LOG_RAW: err_str = "RAW: "; break; default: err_str = "UNK: "; } (void)strlcpy(buf, "gpsd:", BUFSIZ); (void)strncat(buf, err_str, BUFSIZ - strlen(buf) ); if (errlevel <= context.debug && packetwin != NULL) { char buf2[BUFSIZ]; va_list ap; va_start(ap, fmt); (void)vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), fmt, ap); va_end(ap); visibilize(buf2, sizeof(buf2), buf); if (!curses_active) (void)fputs(buf2, stdout); else (void)waddstr(packetwin, buf2); if (logfile != NULL) (void)fputs(buf2, logfile); } } static ssize_t readpkt(void) { /*@ -globstate -type -shiftnegative -compdef -nullpass @*/ struct timeval timeval; fd_set select_set; gps_mask_t changed; FD_ZERO(&select_set); FD_SET(session.gpsdata.gps_fd, &select_set); /* * If the timeout on this select isn't longer than the device's * cycle time, the code will be prone to flaky timing-dependent * failures. */ timeval.tv_sec = 2; timeval.tv_usec = 0; if (select(session.gpsdata.gps_fd + 1, &select_set, NULL, NULL, &timeval) == -1) longjmp(terminate, TERM_SELECT_FAILED); if (!FD_ISSET(session.gpsdata.gps_fd, &select_set)) longjmp(terminate, TERM_SELECT_FAILED); changed = gpsd_poll(&session); if (changed == 0) longjmp(terminate, TERM_EMPTY_READ); /* conditional prevents mask dumper from eating CPU */ if (context.debug >= LOG_DATA) gpsd_report(LOG_DATA, "packet mask = %s\n", gps_maskdump(session.gpsdata.set)); if ((changed & ERROR_SET) != 0) longjmp(terminate, TERM_READ_ERROR); if (logfile != NULL && session.packet.outbuflen > 0) { /*@ -shiftimplementation -sefparams +charint @*/ assert(fwrite (session.packet.outbuffer, sizeof(char), session.packet.outbuflen, logfile) >= 1); /*@ +shiftimplementation +sefparams -charint @*/ } return session.packet.outbuflen; /*@ +globstate +type +shiftnegative +compdef +nullpass @*/ } static void packet_dump(const char *buf, size_t buflen) { if (packetwin != NULL) { size_t i; bool printable = true; for (i = 0; i < buflen; i++) if (!isprint(buf[i]) && !isspace(buf[i])) printable = false; if (printable) { for (i = 0; i < buflen; i++) if (isprint(buf[i])) (void)waddch(packetwin, (chtype) buf[i]); else (void)wprintw(packetwin, "\\x%02x", (unsigned char)buf[i]); } else { for (i = 0; i < buflen; i++) (void)wprintw(packetwin, "%02x", (unsigned char)buf[i]); } (void)wprintw(packetwin, "\n"); } } #if defined(CONTROLSEND_ENABLE) || defined(RECONFIGURE_ENABLE) static void monitor_dump_send(/*@in@*/ const char *buf, size_t len) { if (packetwin != NULL) { (void)wattrset(packetwin, A_BOLD); (void)wprintw(packetwin, ">>>"); packet_dump(buf, len); (void)wattrset(packetwin, A_NORMAL); } } #endif /* defined(CONTROLSEND_ENABLE) || defined(RECONFIGURE_ENABLE) */ #ifdef RECONFIGURE_ENABLE static void announce_log(/*@in@*/ const char *str) { if (packetwin != NULL) { (void)wattrset(packetwin, A_BOLD); (void)wprintw(packetwin, ">>>"); (void)waddstr(packetwin, str); (void)wattrset(packetwin, A_NORMAL); (void)wprintw(packetwin, "\n"); } if (logfile != NULL) { (void)fprintf(logfile, ">>>%s\n", str); } } #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE bool monitor_control_send( /*@in@*/ unsigned char *buf, size_t len) { if (!serial) return false; else { ssize_t st; context.readonly = false; st = (*active)->driver->control_send(&session, (char *)buf, len); context.readonly = true; monitor_dump_send((const char *)buf, len); return (st != -1); } } static bool monitor_raw_send( /*@in@*/ unsigned char *buf, size_t len) { if (!serial) return false; else { ssize_t st; st = write(session.gpsdata.gps_fd, (char *)buf, len); monitor_dump_send((const char *)buf, len); return (st > 0 && (size_t) st == len); } } #endif /* CONTROLSEND_ENABLE */ /***************************************************************************** * * Main sequence and display machinery * *****************************************************************************/ void monitor_complain(const char *fmt, ...) { va_list ap; assert(cmdwin!=NULL); (void)wmove(cmdwin, 0, (int)strlen(type_name) + 2); (void)wclrtoeol(cmdwin); (void)wattrset(cmdwin, A_BOLD | A_BLINK); va_start(ap, fmt); (void)vwprintw(cmdwin, (char *)fmt, ap); va_end(ap); (void)wattrset(cmdwin, A_NORMAL); (void)wrefresh(cmdwin); (void)wgetch(cmdwin); } void monitor_log(const char *fmt, ...) { if (packetwin != NULL) { va_list ap; va_start(ap, fmt); (void)vwprintw(packetwin, (char *)fmt, ap); va_end(ap); } } static bool switch_type(const struct gps_type_t *devtype) { const struct monitor_object_t **trial, **newobject; newobject = NULL; for (trial = monitor_objects; *trial; trial++) { if (strcmp((*trial)->driver->type_name, devtype->type_name)==0) { newobject = trial; break; } } if (newobject) { if (LINES < (*newobject)->min_y + 1 || COLS < (*newobject)->min_x) { monitor_complain("%s requires %dx%d screen", (*newobject)->driver->type_name, (*newobject)->min_x, (*newobject)->min_y + 1); } else { int leftover; if (active != NULL) { if ((*active)->wrap != NULL) (*active)->wrap(); (void)delwin(devicewin); } active = newobject; devicewin = newwin((*active)->min_y, (*active)->min_x, 1, 0); if ((devicewin == NULL) || ((*active)->initialize != NULL && !(*active)->initialize())) { monitor_complain("Internal initialization failure - screen " "must be at least 80x24. aborting."); return false; } /*@ -onlytrans @*/ leftover = LINES - 1 - (*active)->min_y; if (leftover <= 0) { if (packetwin != NULL) (void)delwin(packetwin); packetwin = NULL; } else if (packetwin == NULL) { packetwin = newwin(leftover, COLS, (*active)->min_y + 1, 0); (void)scrollok(packetwin, true); (void)wsetscrreg(packetwin, 0, leftover - 1); } else { (void)wresize(packetwin, leftover, COLS); (void)mvwin(packetwin, (*active)->min_y + 1, 0); (void)wsetscrreg(packetwin, 0, leftover - 1); } /*@ +onlytrans @*/ } return true; } monitor_complain("No monitor matches %s.", devtype->type_name); return false; } static jmp_buf assertbuf; static void onsig(int sig UNUSED) { longjmp(assertbuf, 1); } #define WATCHRAW "?WATCH={\"raw\":2}\r\n" #define WATCHRAWDEVICE "?WATCH={\"raw\":2,\"device\":\"%s\"}\r\n" #define WATCHNMEA "?WATCH={\"nmea\":true}\r\n" #define WATCHNMEADEVICE "?WATCH={\"nmea\":true,\"device\":\"%s\"}\r\n" int main(int argc, char **argv) { #ifdef RECONFIGURE_ENABLE unsigned int v; #endif /* RECONFIGURE_ENABLE */ int option, status, last_type = BAD_PACKET; ssize_t len; struct fixsource_t source; fd_set select_set; unsigned char buf[BUFLEN]; char line[80], *explanation, *p; int bailout = 0, matches = 0; bool nmea = false; /*@ -observertrans @*/ (void)putenv("TZ=UTC"); // for ctime() /*@ +observertrans @*/ /*@ -branchstate @*/ while ((option = getopt(argc, argv, "D:LVhl:nt:?")) != -1) { switch (option) { case 'D': context.debug = atoi(optarg); break; case 'L': /* list known device types */ (void) fputs ("General commands available per type. '+' means there are private commands.\n", stdout); for (active = monitor_objects; *active; active++) { (void)fputs("i l q ^S ^Q", stdout); (void)fputc(' ', stdout); #ifdef RECONFIGURE_ENABLE if ((*active)->driver->mode_switcher != NULL) (void)fputc('n', stdout); else (void)fputc(' ', stdout); (void)fputc(' ', stdout); if ((*active)->driver->speed_switcher != NULL) (void)fputc('s', stdout); else (void)fputc(' ', stdout); (void)fputc(' ', stdout); if ((*active)->driver->rate_switcher != NULL) (void)fputc('x', stdout); else (void)fputc(' ', stdout); (void)fputc(' ', stdout); #endif /* RECONFIGURE_ENABLE */ #ifdef CONTROLSEND_ENABLE if ((*active)->driver->control_send != NULL) (void)fputc('x', stdout); else (void)fputc(' ', stdout); #endif /* CONTROLSEND_ENABLE */ (void)fputc(' ', stdout); if ((*active)->command != NULL) (void)fputc('+', stdout); else (void)fputc(' ', stdout); (void)fputs("\t", stdout); (void)fputs((*active)->driver->type_name, stdout); (void)fputc('\n', stdout); } exit(EXIT_SUCCESS); case 'V': (void)printf("gpsmon: %s (revision %s)\n", VERSION, REVISION); exit(EXIT_SUCCESS); case 'l': /* enable logging at startup */ logfile = fopen(optarg, "w"); if (logfile == NULL) { (void)fprintf(stderr, "Couldn't open logfile for writing.\n"); exit(EXIT_FAILURE); } break; case 't': fallback = NULL; for (active = monitor_objects; *active; active++) { if (strncmp((*active)->driver->type_name, optarg, strlen(optarg)) == 0) { fallback = active; matches++; } } if (matches > 1) { (void)fprintf(stderr, "-T option matched more than one driver.\n"); exit(EXIT_FAILURE); } else if (matches == 0) { (void)fprintf(stderr, "-T option didn't match any driver.\n"); exit(EXIT_FAILURE); } active = NULL; break; case 'n': nmea = true; break; case 'h': case '?': default: (void) fputs ("usage: gpsmon [-?hVln] [-D debuglevel] [-t type] [server[:port:[device]]]\n", stderr); exit(EXIT_FAILURE); } } /*@ +branchstate @*/ if (optind < argc) { gpsd_source_spec(argv[optind], &source); } else gpsd_source_spec(NULL, &source); gpsd_time_init(&context, time(NULL)); gpsd_init(&session, &context, NULL); /*@ -boolops */ if ((optind >= argc || source.device == NULL || strchr(argv[optind], ':') != NULL) #ifdef HAVE_BLUEZ && bachk(argv[optind])) { #else ) { #endif (void)gps_open(source.server, source.port, &session.gpsdata); if (session.gpsdata.gps_fd < 0) { (void)fprintf(stderr, "%s: connection failure on %s:%s, error %d = %s.\n", argv[0], source.server, source.port, session.gpsdata.gps_fd, netlib_errstr(session.gpsdata.gps_fd)); exit(EXIT_FAILURE); } if (source.device != NULL) { if (nmea) { (void)gps_send(&session.gpsdata, WATCHNMEADEVICE, source.device); } else { (void)gps_send(&session.gpsdata, WATCHRAWDEVICE, source.device); } /* * The gpsdata.dev member is filled only in JSON mode, * but we are in super-raw mode. */ (void)strlcpy(session.gpsdata.dev.path, source.device, sizeof(session.gpsdata.dev.path)); } else { if (nmea) { (void)gps_send(&session.gpsdata, WATCHNMEA); session.gpsdata.dev.path[0] = '\0'; } else { (void)gps_send(&session.gpsdata, WATCHRAW); session.gpsdata.dev.path[0] = '\0'; } } serial = false; } else { (void)strlcpy(session.gpsdata.dev.path, argv[optind], sizeof(session.gpsdata.dev.path)); if (gpsd_activate(&session) == -1) { gpsd_report(LOG_ERROR, "activation of device %s failed, errno=%d\n", session.gpsdata.dev.path, errno); exit(EXIT_FAILURE); } serial = true; } /*@ +boolops */ /*@ +nullpass +branchstate @*/ /* * This is a monitoring utility. Disable autoprobing, because * in some cases (e.g. SiRFs) there is no way to probe a chip * type without flipping it to native mode. */ context.readonly = true; /* quit cleanly if an assertion fails */ (void)signal(SIGABRT, onsig); if (setjmp(assertbuf) > 0) { if (logfile) (void)fclose(logfile); (void)endwin(); (void)fputs("gpsmon: assertion failure, probable I/O error\n", stderr); exit(EXIT_FAILURE); } (void)initscr(); (void)cbreak(); (void)noecho(); (void)intrflush(stdscr, FALSE); (void)keypad(stdscr, true); curses_active = true; #define CMDWINHEIGHT 1 /*@ -onlytrans @*/ statwin = newwin(CMDWINHEIGHT, 30, 0, 0); cmdwin = newwin(CMDWINHEIGHT, 0, 0, 30); packetwin = newwin(0, 0, CMDWINHEIGHT, 0); if (statwin == NULL || cmdwin == NULL || packetwin == NULL) goto quit; (void)scrollok(packetwin, true); (void)wsetscrreg(packetwin, 0, LINES - CMDWINHEIGHT); /*@ +onlytrans @*/ (void)wmove(packetwin, 0, 0); FD_ZERO(&select_set); if ((bailout = setjmp(terminate)) == 0) { /*@ -observertrans @*/ for (;;) { /* *INDENT-OFF* */ type_name = session.device_type ? session.device_type->type_name : "Unknown device"; /* *INDENT-ON* */ (void)wattrset(statwin, A_BOLD); if (serial) display(statwin, 0, 0, "%s %u %d%c%d", session.gpsdata.dev.path, session.gpsdata.dev.baudrate, 9 - session.gpsdata.dev.stopbits, session.gpsdata.dev.parity, session.gpsdata.dev.stopbits); else /*@ -nullpass @*/ display(statwin, 0, 0, "%s:%s:%s", source.server, source.port, session.gpsdata.dev.path); /*@ +nullpass @*/ (void)wattrset(statwin, A_NORMAL); (void)wmove(cmdwin, 0, 0); /* get a packet -- calls gpsd_poll() */ if ((len = readpkt()) > 0 && session.packet.outbuflen > 0) { /* switch types on packet receipt */ /*@ -nullpass */ if (session.packet.type != last_type) { last_type = session.packet.type; if (!switch_type(session.device_type)) longjmp(terminate, TERM_DRIVER_SWITCH); } /*@ +nullpass */ /* refresh all windows */ (void)wprintw(cmdwin, type_name); (void)wprintw(cmdwin, "> "); (void)wclrtoeol(cmdwin); if (active != NULL && len > 0 && session.packet.outbuflen > 0 && (*active)->update != NULL) (*active)->update(); (void)wprintw(packetwin, "(%d) ", session.packet.outbuflen); packet_dump((char *)session.packet.outbuffer, session.packet.outbuflen); (void)wnoutrefresh(statwin); (void)wnoutrefresh(cmdwin); if (devicewin != NULL) (void)wnoutrefresh(devicewin); if (packetwin != NULL) (void)wnoutrefresh(packetwin); (void)doupdate(); } /* rest of this invoked only if user has pressed a key */ FD_SET(0, &select_set); FD_SET(session.gpsdata.gps_fd, &select_set); if (select(FD_SETSIZE, &select_set, NULL, NULL, NULL) == -1) break; if (FD_ISSET(0, &select_set)) { char *arg; (void)wmove(cmdwin, 0, (int)strlen(type_name) + 2); (void)wrefresh(cmdwin); (void)echo(); /*@ -usedef -compdef @*/ (void)wgetnstr(cmdwin, line, 80); (void)noecho(); if (packetwin != NULL) (void)wrefresh(packetwin); (void)wrefresh(cmdwin); if ((p = strchr(line, '\r')) != NULL) *p = '\0'; if (line[0] == '\0') continue; /*@ +usedef +compdef @*/ if (isspace(line[1])) { for (arg = line + 2; *arg != '\0' && isspace(*arg); arg++) arg++; arg++; } else arg = line + 1; if (serial && active != NULL && (*active)->command != NULL) { status = (*active)->command(line); if (status == COMMAND_TERMINATE) goto quit; else if (status == COMMAND_MATCH) continue; assert(status == COMMAND_UNKNOWN); } switch (line[0]) { #ifdef RECONFIGURE_ENABLE case 'c': /* change cycle time */ if (active == NULL) monitor_complain("No device defined yet"); else if (!serial) monitor_complain("Only available in low-level mode."); else { double rate = strtod(arg, NULL); const struct monitor_object_t **switcher = active; if (fallback != NULL && (*fallback)->driver->rate_switcher != NULL) switcher = fallback; if ((*switcher)->driver->rate_switcher) { /* *INDENT-OFF* */ context.readonly = false; if ((*switcher)->driver->rate_switcher(&session, rate)) { announce_log("Rate switcher callled."); } else monitor_complain("Rate not supported."); context.readonly = true; /* *INDENT-ON* */ } else monitor_complain ("Device type has no rate switcher"); } #endif /* RECONFIGURE_ENABLE */ break; case 'i': /* start probing for subtype */ if (active == NULL) monitor_complain("No GPS type detected."); else if (!serial) monitor_complain("Only available in low-level mode."); else { if (strcspn(line, "01") == strlen(line)) context.readonly = !context.readonly; else context.readonly = (atoi(line + 1) == 0); /* *INDENT-OFF* */ (void)gpsd_switch_driver(&session, (*active)->driver->type_name); /* *INDENT-ON* */ } break; case 'l': /* open logfile */ if (logfile != NULL) { if (packetwin != NULL) (void)wprintw(packetwin, ">>> Logging to %s off", logfile); (void)fclose(logfile); } if ((logfile = fopen(line + 1, "a")) != NULL) if (packetwin != NULL) (void)wprintw(packetwin, ">>> Logging to %s on", logfile); break; #ifdef RECONFIGURE_ENABLE case 'n': /* change mode */ /* if argument not specified, toggle */ if (strcspn(line, "01") == strlen(line)) { /* *INDENT-OFF* */ v = (unsigned int)TEXTUAL_PACKET_TYPE( session.packet.type); /* *INDENT-ON* */ } else v = (unsigned)atoi(line + 1); if (active == NULL) monitor_complain("No device defined yet"); else if (!serial) monitor_complain("Only available in low-level mode."); else { const struct monitor_object_t **switcher = active; if (fallback != NULL && (*fallback)->driver->mode_switcher != NULL) switcher = fallback; if ((*switcher)->driver->mode_switcher) { context.readonly = false; (*switcher)->driver->mode_switcher(&session, (int)v); context.readonly = true; announce_log("Mode switcher called"); (void)tcdrain(session.gpsdata.gps_fd); (void)usleep(50000); } else monitor_complain ("Device type has no mode switcher"); } break; #endif /* RECONFIGURE_ENABLE */ case 'q': /* quit */ goto quit; #ifdef RECONFIGURE_ENABLE case 's': /* change speed */ if (active == NULL) monitor_complain("No device defined yet"); else if (!serial) monitor_complain("Only available in low-level mode."); else { speed_t speed; char parity = session.gpsdata.dev.parity; unsigned int stopbits = (unsigned int)session.gpsdata.dev.stopbits; char *modespec; const struct monitor_object_t **switcher = active; if (fallback != NULL && (*fallback)->driver->speed_switcher != NULL) switcher = fallback; modespec = strchr(arg, ':'); /*@ +charint @*/ if (modespec != NULL) { if (strchr("78", *++modespec) == NULL) { monitor_complain ("No support for that word length."); break; } parity = *++modespec; if (strchr("NOE", parity) == NULL) { monitor_complain("What parity is '%c'?.", parity); break; } stopbits = (unsigned int)*++modespec; if (strchr("12", (char)stopbits) == NULL) { monitor_complain("Stop bits must be 1 or 2."); break; } stopbits = (unsigned int)(stopbits - '0'); } /*@ -charint @*/ speed = (unsigned)atoi(arg); /* *INDENT-OFF* */ if ((*switcher)->driver->speed_switcher) { context.readonly = false; if ((*switcher)-> driver->speed_switcher(&session, speed, parity, (int) stopbits)) { announce_log("Speed switcher called."); /* * See the comment attached to the 'DEVICE' * command in gpsd. Allow the control * string time to register at the GPS * before we do the baud rate switch, * which effectively trashes the UART's * buffer. */ (void)tcdrain(session.gpsdata.gps_fd); (void)usleep(50000); (void)gpsd_set_speed(&session, speed, parity, stopbits); } else monitor_complain ("Speed/mode combination not supported."); context.readonly = true; } else monitor_complain ("Device type has no speed switcher"); /* *INDENT-ON* */ } break; #endif /* RECONFIGURE_ENABLE */ case 't': /* force device type */ if (!serial) monitor_complain("Only available in low-level mode."); else if (strlen(arg) > 0) { int matchcount = 0; const struct gps_type_t **dp, *forcetype = NULL; for (dp = gpsd_drivers; *dp; dp++) { if (strstr((*dp)->type_name, arg) != NULL) { forcetype = *dp; matchcount++; } } if (matchcount == 0) { monitor_complain ("No driver type matches '%s'.", arg); } else if (matchcount == 1) { assert(forcetype != NULL); /* *INDENT-OFF* */ if (switch_type(forcetype)) (void)gpsd_switch_driver(&session, forcetype->type_name); /* *INDENT-ON* */ } else { monitor_complain ("Multiple driver type names match '%s'.", arg); } } break; #ifdef CONTROLSEND_ENABLE case 'x': /* send control packet */ if (active == NULL) monitor_complain("No device defined yet"); else if (!serial) monitor_complain("Only available in low-level mode."); else { /*@ -compdef @*/ int st = gpsd_hexpack(arg, (char *)buf, strlen(arg)); if (st < 0) monitor_complain ("Invalid hex string (error %d)", st); else if ((*active)->driver->control_send == NULL) monitor_complain ("Device type has no control-send method."); else if (!monitor_control_send(buf, (size_t) st)) monitor_complain("Control send failed."); /*@ +compdef @*/ } break; case 'X': /* send raw packet */ if (!serial) monitor_complain("Only available in low-level mode."); else { /*@ -compdef @*/ len = (ssize_t) gpsd_hexpack(arg, (char *)buf, strlen(arg)); if (len < 0) monitor_complain("Invalid hex string (error %d)", len); else if (!monitor_raw_send(buf, (size_t) len)) monitor_complain("Raw send failed."); /*@ +compdef @*/ } break; #endif /* CONTROLSEND_ENABLE */ default: monitor_complain("Unknown command"); break; } } } /*@ +nullpass @*/ /*@ +observertrans @*/ } quit: /* we'll fall through to here on longjmp() */ gpsd_close(&session); if (logfile) (void)fclose(logfile); (void)endwin(); explanation = NULL; switch (bailout) { case TERM_SELECT_FAILED: explanation = "select(2) failed\n"; break; case TERM_DRIVER_SWITCH: explanation = "Driver type switch failed\n"; break; case TERM_EMPTY_READ: explanation = "Device went offline\n"; break; case TERM_READ_ERROR: explanation = "Read error from device\n"; break; } if (explanation != NULL) (void)fputs(explanation, stderr); exit(EXIT_SUCCESS); } /* gpsmon.c ends here */ gpsd-3.9/gpsmon.h0000664000175000017500000000237111762140435012152 0ustar esresr/* gpsmon.h -- what monitor capabuilities look like * * By Eric S. Raymond, 2009 * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #ifndef _GPSD_GPSMON_H_ #define _GPSD_GPSMON_H_ #include #define COMMAND_TERMINATE -1 #define COMMAND_MATCH 1 #define COMMAND_UNKNOWN 0 struct monitor_object_t { /* a device-specific capability table for the monitor */ bool (*initialize)(void); /* paint legends on windows */ void (*update)(void); /* now paint the data */ int (*command)(char[]); /* interpret device-specific commands */ void (*wrap)(void); /* deallocate storage */ int min_y, min_x; /* space required for device info */ const struct gps_type_t *driver; /* device driver table */ }; // Device-specific may need these. extern bool monitor_control_send(unsigned char *buf, size_t len); extern void monitor_fixframe(WINDOW *win); extern void monitor_log(const char *fmt, ...); extern void monitor_complain(const char *fmt, ...); #define BUFLEN 2048 extern WINDOW *devicewin; extern struct gps_device_t session; extern bool serial; /* True - direct mode, False - daemon mode */ #endif /* _GPSD_GPSMON_H_ */ /* gpsmon.h ends here */ gpsd-3.9/gpsmon.xml0000664000175000017500000003412111762140435012521 0ustar esresr 17 Feb 2009 gpsmon 1 The GPSD Project GPSD Documentation gpsmon real-time GPS packet monitor and control utility gpsmon -L -V -h -n -l logfile -t driver-prefix server :port :device device -D debuglevel DESCRIPTION gpsmon is a monitor that watches packets coming from a GPS and displays them along with diagnostic information. It supports commands that can be used to tweak GPS settings in various ways; some are device-independent, some vary with the GPS chipset type. It will behave sanely, just dumping packets, when connected to a GPS type it knows nothing about. gpsmon differs from a navigation client in that it mostly dumps raw data from the GPS, with only enough data-massaging to allow checks against expected output. In particular, this tool does not do any interpolation or modeling to derive climb/sink or error estimates. Nor does it discard altitude reports when the fix quality is too low. gpsmon is a designed to run in a terminal emulator with a minimum 25x80 size; the non-GUI interface is a design choice made to accommodate users operating in constrained environments and over telnet or ssh connections. If run in a larger window, the size of the packet-log window will be increased to fit. gpsmon accepts an -h option that displays a usage message, or a -V option to dump the package version and exit. This program may be run in either of two modes, as a client for the gpsd daemon (and its associated control socket) or directly connected to a specified serial device. When run with no argument, it attempts to connect to the daemon. If the argument looks like a server:port specification it will also attempt to connect to the daemon. If the argument looks like a bare server name it will attempt to connect to a daemon running on the default gpsd port on that server. Only if the device argument contains slashes but no colons will it be treated as a serial device for direct connection. In direct-connect mode gpsmon will hunt for a correct baud rate and lock on to it automatically. The -F option is only valid in client mode; it specifies a control socket to which the program should send device control strings. You must specify a valid pathname of a Unix-domain socket on your local filesystem. The -D option enables packet-getter debugging output and is probably only useful to developers of the GPSD code. Consult the packet-getter source code for relevant values. The -L option lists a table showing which GPS device types gpsmon has built-in support for, and which generic commands can be applied to which GPS types, and then exits. Note that this does not list type-specific commands associated with individual GPS types. The -l option sets up logging to a specified file to start immediately on device open. This may be useful is, for example, you want to capture the startup message from a device that displays firmware version information there. The -n option forces gpsmon to request nmea183 packets instead of the raw datastream from gpsd. The -t option sets up a fallback type. Give it a string that is a distinguishing prefix of exactly one driver type name; this will be used for mode, speed, and rate switching if the driver selected by the packet type lacks those capabilities. Most useful when the packet type is NMEA but the device is known to have a binary mode, such as SiRF binary. After startup, the top part of the screen reports the contents of several especially interesting packet types. The bottom half of the screen is a scrolling hex dump of all packets the GPS is issuing. Dump lines beginning >>> represent control packets sent to the GPS. COMMANDS The following device-independent commands are available while gpsmon is running: i (Direct mode only.) Enable/disable subtype probing and reinitialize the driver. In normal operation, gpsmon does not send configuration strings to the device (except for wakeup strings needed to get it to send data, if any). The command 'i1' causes it to send the same sequence of subtype probes that gpsd would. The command 'i0' turns off probing; 'i' alone toggles the bit. In either case, the current driver is re-selected; if the probe bit is enabled, probes will begin to be issued immediately. Note that enabling probing might flip the device into another mode; in particular, it will flip a SiRF chip into binary mode as if you had used the n command. This is due to a limitation in the SiRF firmware that we can't fix. c (Direct mode only.) Change cycle time. Follow it with a number interpreted as a cycle time in seconds. Most devices have a fixed cycle time of 1 second, so this command may fail with a message. l Toggle packet logging. If packet logging is on, it will be turned off and the log closed. If it is off, logging to the filename following the l will be enabled. Differs from simply capturing the data from the GPS device in that only whole packets are logged. The logfile is opened for append, so you can log more than one portion of the packet stream and they will be stitched together correctly. n (Direct mode only.) With an argument of 0, switch device to NMEA mode at current speed; with an argument of 1, change to binary (native) mode. With no argument, toggle the setting. Will show an error if the device doesn't have such modes. q Quit gpsmon. Control-C, or whatever your current interrupt character is, works as well. s (Direct mode only.) Change baud rate. Follow it with a number interpreted as bits per second, for example "s9600". The speed number may optionally be followed by a colon and a wordlength-parity-stopbits specification in the traditional style, e.g 8N1 (the default), 7E1, etc. Some devices don't support serial modes other than their default, so this command may fail with a message. Use this command with caution. On USB and Bluetooth GPSes it is also possible for serial mode setting to fail either because the serial adaptor chip does not support non-8N1 modes or because the device firmware does not properly synchronize the serial adaptor chip with the UART on the GPS chipset when the speed changes. These failures can hang your device, possibly requiring a GPS power cycle or (in extreme cases) physically disconnecting the NVRAM backup battery. t (Direct mode only.) Force a switch of monitoring type. Follow it with a string that is unique to the name of a gpsd driver with gpsmon support; gpsmon will switch to using that driver and display code. Will show an error message if there is no matching gpsd driver, or multiple matches, or the unique match has no display support in gpsmon. x (Direct mode only.) Send hex payload to device. Following the command letter you may type hex digit pairs; end with a newline. These will become the payload of a control packet shipped to the device. The packet will be wrapped with headers, trailers, and checksum appropriate for the current driver type. The first one or two bytes of the payload may be specially interpreted, see the description of the of gpsctl1. X (Direct mode only.) Send raw hex bytes to device. Following the command letter you may type hex digit pairs; end with a newline. These will be shipped to the device. Ctrl-S Freeze display, suspend scrolling in debug window. Ctrl-Q Unfreeze display, resume normal operation. NMEA support (These remarks apply to not just generic NMEA devices but all extended NMEA devices for which gpsmon presently has support.) All fields are raw data from the GPS except the "Cooked PVT" window near top of screen, provided as a sheck. There are no device-specific commands. Which generic commands are available may vary by type: examine the output of gpsmon -l to learn more. SiRF support Most information is raw from the GPS. Underlined fields are derived by translation from ECEF coordinates or application of leap-second and local time-zone offsets. The following commands are supported for SiRF GPSes only: A (Direct mode only.) Toggle reporting of 50BPS subframe data. M (Direct mode only.) Set (M1) or clear (M0) static navigation. The SiRF documentation says Static navigation is a position filter designed to be used with motor vehicles. When the vehicle's velocity falls below a threshold, the position and heading are frozen, and velocity is set to zero. This condition will continue until the computed velocity rises above 1.2 times the threshold or until the computed position is at least a set distance from the frozen place. The threshold velocity and set distance may vary with software versions. Non-static mode is designed for use with road navigation software, which often snaps the reported position to the nearest road within some uncertainty radius. You probably want to turn static navigation off for pedestrian use, as it is likely to report speed zero and position changing in large jumps. P (Direct mode only.) Toggle navigation-parameter display mode. Toggles between normal display and one that shows selected navigation parameters from MID 19, including the Static Navigation bit toggled by the 'M' command. To interpret what you see, you will need a copy of the SiRF Binary Protocol Reference Manual. BUGS AND LIMITATIONS If you run gpsmon in client mode, and kill the daemon while gpsmon is still running, gpsmon will hang. Don't do that... SEE ALSO gpsd8, gpsdctl8, gps1, libgps3, libgpsd3, gpsprof1, gpsfake1, gpsctl1, gpscat1. gpspipe1. AUTHOR Eric S. Raymond esr@thyrsus.com. gpsd-3.9/gpspacket.c0000664000175000017500000001716512022345475012633 0ustar esresr/* * Python binding for the packet.c module. * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. * */ #include #include #include "gpsd.h" static PyObject *ErrorObject = NULL; static PyObject *report_callback = NULL; void gpsd_report(int errlevel, const char *fmt, ... ) { char buf[BUFSIZ]; PyObject *args; va_list ap; if (!report_callback) /* no callback defined, exit early */ return; if (!PyCallable_Check(report_callback)) { PyErr_SetString(ErrorObject, "Cannot call Python callback function"); return; } va_start(ap, fmt); (void)vsnprintf(buf, sizeof(buf), fmt, ap); va_end(ap); args = Py_BuildValue("(is)", errlevel, buf); if (!args) return; PyObject_Call(report_callback, args, NULL); Py_DECREF(args); } static PyTypeObject Lexer_Type; typedef struct { PyObject_HEAD struct gps_packet_t lexer; } LexerObject; static LexerObject * newLexerObject(PyObject *arg UNUSED) { LexerObject *self; self = PyObject_New(LexerObject, &Lexer_Type); if (self == NULL) return NULL; memset(&self->lexer, 0, sizeof(struct gps_packet_t)); packet_reset(&self->lexer); return self; } /* Lexer methods */ static int Lexer_init(LexerObject *self) { packet_reset(&self->lexer); return 0; } static PyObject * Lexer_get(LexerObject *self, PyObject *args) { ssize_t len; int fd; if (!PyArg_ParseTuple(args, "i;missing or invalid file descriptor argument to gps.packet.get", &fd)) return NULL; len = packet_get(fd, &self->lexer); if (PyErr_Occurred()) return NULL; return Py_BuildValue("(i, i, s#, i)", len, self->lexer.type, self->lexer.outbuffer, self->lexer.outbuflen, self->lexer.char_counter); } static PyObject * Lexer_reset(LexerObject *self) { packet_reset(&self->lexer); if (PyErr_Occurred()) return NULL; return 0; } static void Lexer_dealloc(LexerObject *self) { PyObject_Del(self); } static PyMethodDef Lexer_methods[] = { {"get", (PyCFunction)Lexer_get, METH_VARARGS, PyDoc_STR("Get a packet from a file descriptor.")}, {"reset", (PyCFunction)Lexer_reset, METH_NOARGS, PyDoc_STR("Reset the packet lexer to ground state.")}, {NULL, NULL} /* sentinel */ }; static PyObject * Lexer_getattr(LexerObject *self, char *name) { return Py_FindMethod(Lexer_methods, (PyObject *)self, name); } PyDoc_STRVAR(Lexer__doc__, "GPS packet lexer object\n\ \n\ Fetch a single packet from file descriptor"); static PyTypeObject Lexer_Type = { /* The ob_type field must be initialized in the module init function * to be portable to Windows without using C++. */ PyObject_HEAD_INIT(NULL) 0, /*ob_size*/ "gps.packet.lexer", /*tp_name*/ sizeof(LexerObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ /* methods */ (destructor)Lexer_dealloc, /*tp_dealloc*/ 0, /*tp_print*/ (getattrfunc)Lexer_getattr, /*tp_getattr*/ 0, /*tp_setattr*/ 0, /*tp_compare*/ 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT, /*tp_flags*/ Lexer__doc__, /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ Lexer_methods, /*tp_methods*/ 0, /*tp_members*/ 0, /*tp_getset*/ 0, /*tp_base*/ 0, /*tp_dict*/ 0, /*tp_descr_get*/ 0, /*tp_descr_set*/ 0, /*tp_dictoffset*/ (initproc)Lexer_init, /*tp_init*/ 0, /*tp_alloc*/ 0, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ }; /* Function of no arguments returning new Lexer object */ static PyObject * gpspacket_new(PyObject *self UNUSED, PyObject *args UNUSED) { LexerObject *rv; if (!PyArg_ParseTuple(args, ":new")) return NULL; rv = newLexerObject(args); if (rv == NULL) return NULL; return (PyObject *)rv; } PyDoc_STRVAR(register_report__doc__, "register_report(callback)\n\ \n\ callback must be a callable object expecting a string as parameter."); static PyObject * register_report(LexerObject *self UNUSED, PyObject *args) { PyObject *callback = NULL; if (!PyArg_ParseTuple(args, "O:register_report", &callback)) return NULL; if (!PyCallable_Check(callback)) { PyErr_SetString(PyExc_TypeError, "First argument must be callable"); return NULL; } if (report_callback) { Py_DECREF(report_callback); report_callback = NULL; } report_callback = callback; Py_INCREF(report_callback); Py_INCREF(Py_None); return Py_None; } /* List of functions defined in the module */ static PyMethodDef packet_methods[] = { {"new", gpspacket_new, METH_VARARGS, PyDoc_STR("new() -> new packet-lexer object")}, {"register_report", (PyCFunction)register_report, METH_VARARGS, register_report__doc__}, {NULL, NULL} /* sentinel */ }; PyDoc_STRVAR(module_doc, "Python binding of the libgpsd module for recognizing GPS packets.\n\ The new() function returns a new packet-lexer instance. Lexer instances\n\ have two methods:\n\ get() takes a file descriptor argument and returns a tuple consisting of\n\ the integer packet type and string packet value. On end of file it returns\n\ (-1, '').\n\ reset() resets the packet-lexer to its initial state.\n\ The module also has a register_report() function that accepts a callback\n\ for debug message reporting. The callback will get two arguments, the error\n\ level of the message and the message itself.\n\ "); /* banishes a pointless compiler warning */ extern PyMODINIT_FUNC initpacket(void); PyMODINIT_FUNC initpacket(void) { PyObject *m; if (PyType_Ready(&Lexer_Type) < 0) return; /* Create the module and add the functions */ m = Py_InitModule3("packet", packet_methods, module_doc); PyModule_AddIntConstant(m, "BAD_PACKET", BAD_PACKET); PyModule_AddIntConstant(m, "COMMENT_PACKET", COMMENT_PACKET); PyModule_AddIntConstant(m, "NMEA_PACKET", NMEA_PACKET); PyModule_AddIntConstant(m, "AIVDM_PACKET", AIVDM_PACKET); PyModule_AddIntConstant(m, "GARMINTXT_PACKET", GARMINTXT_PACKET); PyModule_AddIntConstant(m, "SIRF_PACKET", SIRF_PACKET); PyModule_AddIntConstant(m, "ZODIAC_PACKET", ZODIAC_PACKET); PyModule_AddIntConstant(m, "TSIP_PACKET", TSIP_PACKET); PyModule_AddIntConstant(m, "EVERMORE_PACKET", EVERMORE_PACKET); PyModule_AddIntConstant(m, "ITALK_PACKET", ITALK_PACKET); PyModule_AddIntConstant(m, "GARMIN_PACKET", GARMIN_PACKET); PyModule_AddIntConstant(m, "NAVCOM_PACKET", NAVCOM_PACKET); PyModule_AddIntConstant(m, "UBX_PACKET", UBX_PACKET); PyModule_AddIntConstant(m, "SUPERSTAR2_PACKET", SUPERSTAR2_PACKET); PyModule_AddIntConstant(m, "ONCORE_PACKET", ONCORE_PACKET); PyModule_AddIntConstant(m, "GEOSTAR_PACKET", GEOSTAR_PACKET); PyModule_AddIntConstant(m, "RTCM2_PACKET", RTCM2_PACKET); PyModule_AddIntConstant(m, "RTCM3_PACKET", RTCM3_PACKET); PyModule_AddIntConstant(m, "LOG_IO", LOG_IO); } gpsd-3.9/gpspipe.c0000600000175000017500000002411312140102410012253 0ustar esresr/* * gpspipe * * a simple program to connect to a gpsd daemon and dump the received data * to stdout * * This will dump the raw NMEA from gpsd to stdout * gpspipe -r * * This will dump the super-raw data (gps binary) from gpsd to stdout * gpspipe -R * * This will dump the GPSD sentences from gpsd to stdout * gpspipe -w * * This will dump the GPSD and the NMEA sentences from gpsd to stdout * gpspipe -wr * * Original code by: Gary E. Miller . Cleanup by ESR. * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. * */ #include #include #include #include #include #include #include #include #include #include #include #include #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include "gpsd.h" #include "gpsdclient.h" #include "revision.h" static struct gps_data_t gpsdata; static void spinner(unsigned int, unsigned int); /* NMEA-0183 standard baud rate */ #define BAUDRATE B4800 /* Serial port variables */ static struct termios oldtio, newtio; static int fd_out = 1; /* output initially goes to standard output */ static char serbuf[255]; static int debug; static void open_serial(char *device) /* open the serial port and set it up */ { /* * Open modem device for reading and writing and not as controlling * tty. */ if ((fd_out = open(device, O_RDWR | O_NOCTTY)) == -1) { fprintf(stderr, "gpspipe: error opening serial port\n"); exit(EXIT_FAILURE); } /* Save current serial port settings for later */ if (tcgetattr(fd_out, &oldtio) != 0) { fprintf(stderr, "gpspipe: error reading serial port settings\n"); exit(EXIT_FAILURE); } /* Clear struct for new port settings. */ /*@i@*/ bzero(&newtio, sizeof(newtio)); /* make it raw */ (void)cfmakeraw(&newtio); /* set speed */ /*@i@*/ (void)cfsetospeed(&newtio, BAUDRATE); /* Clear the modem line and activate the settings for the port. */ (void)tcflush(fd_out, TCIFLUSH); if (tcsetattr(fd_out, TCSANOW, &newtio) != 0) { (void)fprintf(stderr, "gpspipe: error configuring serial port\n"); exit(EXIT_FAILURE); } } static void usage(void) { (void)fprintf(stderr, "Usage: gpspipe [OPTIONS] [server[:port[:device]]]\n\n" "-d Run as a daemon.\n" "-o [file] Write output to file.\n" "-h Show this help.\n" "-r Dump raw NMEA.\n" "-R Dump super-raw mode (GPS binary).\n" "-w Dump gpsd native data.\n" "-S Set scaled flag.\n" "-l Sleep for ten seconds before connecting to gpsd.\n" "-t Time stamp the data.\n" "-T [format] set the timestamp format (strftime(3)-like; implies '-t')\n" "-u usec time stamp, implies -t. Use -uu to output sec.usec\n" "-s [serial dev] emulate a 4800bps NMEA GPS on serial port (use with '-r').\n" "-n [count] exit after count packets.\n" "-v Print a little spinner.\n" "-p Include profiling info in the JSON.\n" "-V Print version and exit.\n\n" "You must specify one, or more, of -r, -R, or -w\n" "You must use -o if you use -d.\n"); } /*@ -compdestroy @*/ int main(int argc, char **argv) { char buf[4096]; bool timestamp = false; char *format = "%F %T"; char tmstr[200]; bool daemonize = false; bool binary = false; bool sleepy = false; bool new_line = true; bool raw = false; bool watch = false; bool profile = false; int option_u = 0; // option to show uSeconds long count = -1; int option; unsigned int vflag = 0, l = 0; FILE *fp; unsigned int flags; fd_set fds; struct fixsource_t source; char *serialport = NULL; char *outfile = NULL; /*@-branchstate@*/ flags = WATCH_ENABLE; while ((option = getopt(argc, argv, "?dD:lhrRwStT:vVn:s:o:pu")) != -1) { switch (option) { case 'D': debug = atoi(optarg); #ifdef CLIENTDEBUG_ENABLE gps_enable_debug(debug, stderr); #endif /* CLIENTDEBUG_ENABLE */ break; case 'n': count = strtol(optarg, 0, 0); break; case 'r': raw = true; /* * Yes, -r invokes NMEA mode rather than proper raw mode. * This emulates the behavior under the old protocol. */ flags |= WATCH_NMEA; break; case 'R': flags |= WATCH_RAW; binary = true; break; case 'd': daemonize = true; break; case 'l': sleepy = true; break; case 't': timestamp = true; break; case 'T': timestamp = true; format = optarg; break; case 'u': timestamp = true; option_u++; break; case 'v': vflag++; break; case 'w': flags |= WATCH_JSON; watch = true; break; case 'S': flags |= WATCH_SCALED; break; case 'p': profile = true; break; case 'V': (void)fprintf(stderr, "%s: %s (revision %s)\n", argv[0], VERSION, REVISION); exit(EXIT_SUCCESS); case 's': serialport = optarg; break; case 'o': outfile = optarg; break; case '?': case 'h': default: usage(); exit(EXIT_FAILURE); } } /*@+branchstate@*/ /* Grok the server, port, and device. */ if (optind < argc) { gpsd_source_spec(argv[optind], &source); } else gpsd_source_spec(NULL, &source); if (serialport != NULL && !raw) { (void)fprintf(stderr, "gpspipe: use of '-s' requires '-r'.\n"); exit(EXIT_FAILURE); } if (outfile == NULL && daemonize) { (void)fprintf(stderr, "gpspipe: use of '-d' requires '-o'.\n"); exit(EXIT_FAILURE); } if (!raw && !watch && !binary) { (void)fprintf(stderr, "gpspipe: one of '-R', '-r', or '-w' is required.\n"); exit(EXIT_FAILURE); } /* Daemonize if the user requested it. */ /*@ -unrecog @*/ if (daemonize) if (daemon(0, 0) != 0) (void)fprintf(stderr, "gpspipe: demonization failed: %s\n", strerror(errno)); /*@ +unrecog @*/ /* Sleep for ten seconds if the user requested it. */ if (sleepy) (void)sleep(10); /* Open the output file if the user requested it. If the user * requested '-R', we use the 'b' flag in fopen() to "do the right * thing" in non-linux/unix OSes. */ if (outfile == NULL) { fp = stdout; } else { if (binary) fp = fopen(outfile, "wb"); else fp = fopen(outfile, "w"); if (fp == NULL) { (void)fprintf(stderr, "gpspipe: unable to open output file: %s\n", outfile); exit(EXIT_FAILURE); } } /* Open the serial port and set it up. */ if (serialport) open_serial(serialport); /*@ -nullpass -onlytrans @*/ if (gps_open(source.server, source.port, &gpsdata) != 0) { (void)fprintf(stderr, "gpspipe: could not connect to gpsd %s:%s, %s(%d)\n", source.server, source.port, strerror(errno), errno); exit(EXIT_FAILURE); } /*@ +nullpass +onlytrans @*/ if (profile) flags |= WATCH_TIMING; if (source.device != NULL) flags |= WATCH_DEVICE; (void)gps_stream(&gpsdata, flags, source.device); if ((isatty(STDERR_FILENO) == 0) || daemonize) vflag = 0; for (;;) { int r = 0; struct timeval tv; tv.tv_sec = 0; tv.tv_usec = 100000; FD_ZERO(&fds); FD_SET(gpsdata.gps_fd, &fds); errno = 0; r = select(gpsdata.gps_fd+1, &fds, NULL, NULL, &tv); if (r == -1 && errno != EINTR) { (void)fprintf(stderr, "gpspipe: select error %s(%d)\n", strerror(errno), errno); exit(EXIT_FAILURE); } else if (r == 0) continue; if (vflag) spinner(vflag, l++); /* reading directly from the socket avoids decode overhead */ errno = 0; r = (int)read(gpsdata.gps_fd, buf, sizeof(buf)); if (r > 0) { int i = 0; int j = 0; for (i = 0; i < r; i++) { char c = buf[i]; if (j < (int)(sizeof(serbuf) - 1)) { serbuf[j++] = buf[i]; } if (new_line && timestamp) { char tmstr_u[20]; // time with "usec" resolution struct timeval now; struct tm *tmp_now; (void)gettimeofday( &now, NULL ); tmp_now = localtime((time_t *)&(now.tv_sec)); (void)strftime(tmstr, sizeof(tmstr), format, tmp_now); new_line = 0; switch( option_u ) { case 2: (void)snprintf(tmstr_u, sizeof(tmstr_u), " %ld.%06ld", now.tv_sec, now.tv_usec); break; case 1: (void)snprintf(tmstr_u, sizeof(tmstr_u), ".%06ld", now.tv_usec); break; default: *tmstr_u = '\0'; break; } if (fprintf(fp, "%.24s%s: ", tmstr, tmstr_u) <= 0) { (void)fprintf(stderr, "gpspipe: write error, %s(%d)\n", strerror(errno), errno); exit(EXIT_FAILURE); } } if (fputc(c, fp) == EOF) { fprintf(stderr, "gpspipe: Write Error, %s(%d)\n", strerror(errno), errno); exit(EXIT_FAILURE); } if (c == '\n') { if (serialport != NULL) { if (write(fd_out, serbuf, (size_t) j) == -1) { fprintf(stderr, "gpspipe: Serial port write Error, %s(%d)\n", strerror(errno), errno); exit(EXIT_FAILURE); } j = 0; } new_line = true; /* flush after every good line */ if (fflush(fp)) { (void)fprintf(stderr, "gpspipe: fflush Error, %s(%d)\n", strerror(errno), errno); exit(EXIT_FAILURE); } if (count > 0) { if (0 >= --count) { /* completed count */ exit(EXIT_SUCCESS); } } } } } else { if (r == -1) { if (errno == EAGAIN) continue; else (void)fprintf(stderr, "gpspipe: read error %s(%d)\n", strerror(errno), errno); exit(EXIT_FAILURE); } else { exit(EXIT_SUCCESS); } } } #ifdef __UNUSED__ if (serialport != NULL) { /* Restore the old serial port settings. */ if (tcsetattr(fd_out, TCSANOW, &oldtio) != 0) { (void)fprintf(stderr, "Error restoring serial port settings\n"); exit(EXIT_FAILURE); } } #endif /* __UNUSED__ */ exit(EXIT_SUCCESS); } /*@ +compdestroy @*/ static void spinner(unsigned int v, unsigned int num) { char *spin = "|/-\\"; (void)fprintf(stderr, "\010%c", spin[(num / (1 << (v - 1))) % 4]); (void)fflush(stderr); return; } gpsd-3.9/gpspipe.xml0000600000175000017500000001437112137767045012671 0ustar esresr 03 Aug 2005 gpspipe 1 The GPSD Project GPSD Documentation gpspipe tool to connect to gpsd and retrieve sentences gpspipe -h -d -l -o filename -n count -r -R -s serial-device -t -T timestamp-format -u -p -w -S -v -D debug-level server :port :device DESCRIPTION gpspipe is a tool to connect to gpsd and output the received sentences to stdout. This makes the program useful as a pipe from gpsd to another program or file. gpspipe does not require root privileges, and can be run concurrently with other tools connecting to the local gpsd without causing problems. The output will consist of one or both of the raw NMEA or native gpsd sentences. Each line can be optionally time stamped. There is also an option to exit gracefully after a given count of packets. Optionally a server, TCP/IP port number and remote device can be given. If omitted, gpspipe connects to localhost on the default port (2947) and watches all devices opened by gpsd. gpspipe may be run as a daemon, but requires the -o flag for writing the output to a file. OPTIONS -h makes gpspipe print a usage message and exit. -d causes gpspipe to run as a daemon. -l causes gpspipe to sleep for ten seconds before attempting to connect to gpsd. This is very useful when running as a daemon, giving gpsd time to start before attempting a connection. -r causes raw NMEA sentences to be output. -R causes super-raw (gps binary) data to be output. This overrides NMEA and gpsd output modes. -s option causes the collected data to be written to the specified serial device with settings 4800 8N1. Thus gpspipe can be used with -s and -r options to emulate a serial port hardwired to a GPS that gpsd is managing. -o option causes the collected data to be written to the specified file. Use of this option is mandatory if gpspipe is run as a daemon. -w causes native gpsdsentences to be output. -S sets the scaled flag. -t adds a timestamp to each sentence output. -T sets the format of the timestamp. See strftime3 for the available placeholders. Setting this option implies -t. Default setting is "%F %T" -u usec resolution time stamp, implies -t. Use -uu to output sec.usec. -p enables dumping of profiling information in JSON. -n [count] causes [count] sentences to be output. gpspipe will then exit gracefully. -v causes gpspipe to show a spinning activity indicator on stderr. This is useful if stdout is redirected into a file or a pipe. By default the spinner is advanced with every messages written; specifying -v more than once will double the number of messages required to rotate the spinner. -V prints the version, then exits. At least one of -R, -r or -w must be specified. EXAMPLE When gpsd is running gpspipe -r -n 100 will send one hundred raw NMEA sentences to standard output, then exit. SEE ALSO gpsd8, gps1, libgps3, libgpsd3, gpsprof1, gpsfake1, gpsctl1, gpscat1. gpsmon1. AUTHOR Gary E. Miller gem@rellim.com. gpsd-3.9/gpsprof0000775000175000017500000004002611762140435012103 0ustar esresr#!/usr/bin/env python # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # # Collect and plot latency-profiling data from a running gpsd. # Requires gnuplot. # import sys, os, time, getopt, socket, math, copy, signal import gps class Baton: "Ship progress indication to stderr." def __init__(self, prompt, endmsg=None): self.stream = sys.stderr self.stream.write(prompt + "...") if os.isatty(self.stream.fileno()): self.stream.write(" \010") self.stream.flush() self.count = 0 self.endmsg = endmsg self.time = time.time() return def twirl(self, ch=None): if self.stream is None: return if ch: self.stream.write(ch) elif os.isatty(self.stream.fileno()): self.stream.write("-/|\\"[self.count % 4]) self.stream.write("\010") self.count = self.count + 1 self.stream.flush() return def end(self, msg=None): if msg == None: msg = self.endmsg if self.stream: self.stream.write("...(%2.2f sec) %s.\n" % (time.time() - self.time, msg)) return class plotter: "Generic class for gatherling and plotting sensor statistics." def __init__(self): self.fixes = [] self.start_time = int(time.time()) def whatami(self): "How do we identify this plotting run?" return "%s, %s, %d %dN%d, cycle %ds" % \ (gps.misc.isotime(self.start_time), self.device.get('driver', "unknown"), self.device['bps'], 9 - self.device['stopbits'], self.device['stopbits'], self.device['cycle']) def collect(self, verbose, logfp=None): "Collect data from the GPS." try: self.session = gps.gps(host=host, port=port, verbose=verbose) except socket.error: sys.stderr.write("gpsprof: gpsd unreachable.\n") sys.exit(1) # Initialize self.session.read() if self.session.version == None: sys.stderr.write("gpsprof: requires gpsd to speak new protocol.\n") sys.exit(1) # Set parameters flags = gps.WATCH_ENABLE | gps.WATCH_JSON if self.requires_time: flags |= gps.WATCH_TIMING if device: flags |= gps.WATCH_DEVICE try: signal.signal(signal.SIGUSR1, lambda empty, unused: sys.stderr.write("%d of %d (%d%%)..." % (await-countdown, await, ((await-countdown)*100.0/await)))) signal.siginterrupt(signal.SIGUSR1, False) self.session.stream(flags, device) baton = Baton("gpsprof: %d looking for fix" % os.getpid(), "done") countdown = await basetime = time.time() while countdown > 0: if self.session.read() == -1: sys.stderr.write("gpsprof: gpsd has vanished.\n") sys.exit(1) baton.twirl() if self.session.data["class"] == "ERROR": sys.stderr.write(" ERROR: %s.\n" % self.session.data["message"]) sys.exit(1) if self.session.data["class"] == "DEVICES": if len(self.session.data["devices"]) !=1 and not device: sys.stderr.write(" ERROR: a few devices connected, you must explicitly specify the device.\n") sys.exit(1) for i in range(len(self.session.data["devices"])): self.device = copy.copy(self.session.data["devices"][i]) if self.device['path'] == device: break if self.session.data["class"] == "WATCH": if "timing" in options and not self.session.data.get("timing"): sys.stderr.write("timing is not enabled.\n") sys.exit(1) # Log before filtering - might be good for post-analysis. if logfp: logfp.write(self.session.response) # Ignore everything but TPVs for the moment if self.session.data["class"] != "TPV": continue # We can get some funky artifacts at start of self.session # apparently due to RS232 buffering effects. Ignore # them. if threshold and time.time()-basetime < self.session.cycle * threshold: continue if self.session.fix.mode <= gps.MODE_NO_FIX: continue if countdown == await: sys.stderr.write("first fix in %.2fsec, gathering %d samples..." % (time.time()-basetime,await)) if self.sample(): countdown -= 1 baton.end() finally: self.session.stream(gps.WATCH_DISABLE | gps.WATCH_TIMING) signal.signal(signal.SIGUSR1, signal.SIG_DFL) def replot(self, infp): "Replot from a JSON log file." baton = Baton("gpsprof: replotting", "done") self.session = gps.gps(host=None) for line in infp: baton.twirl() self.session.unpack(line) if self.session.data["class"] == "DEVICES": self.device = copy.copy(self.session.data["devices"][0]) elif self.session.data["class"] != "TPV": continue self.sample() baton.end() def dump(self): "Dump the raw data for post-analysis." return self.header() + self.data() class spaceplot(plotter): "Spatial scattergram of fixes." name = "space" requires_time = False def __init__(self): plotter.__init__(self) self.recentered = [] def d(self, a, b): return math.sqrt((a[0] - b[0])**2 + (a[1] - b[1])**2) def sample(self): # Watch out for the NaN value from gps.py. self.fixes.append((self.session.fix.latitude, self.session.fix.longitude, self.session.fix.altitude)) return True def header(self): return "# Position uncertainty, %s\n" % self.whatami() def postprocess(self): if not self.recentered: # centroid is just arithmetic avg of lat,lon self.centroid = (sum(map(lambda x:x[0], self.fixes))/len(self.fixes), sum(map(lambda x:x[1], self.fixes))/len(self.fixes)) # Sort fixes by distance from centroid self.fixes.sort(lambda x, y: cmp(self.d(self.centroid, x), self.d(self.centroid, y))) # Convert fixes to offsets from centroid in meters self.recentered = map(lambda fix: gps.MeterOffset(self.centroid, fix[:2]), self.fixes) def data(self): res = "" for i in range(len(self.recentered)): (lat, lon) = self.recentered[i][:2] (raw1, raw2, alt) = self.fixes[i] res += "%f\t%f\t%f\t%f\t%f\n" % (lat, lon, raw1, raw2, alt) return res def plot(self): # Compute CEP(50%) cep_meters = gps.EarthDistance(self.centroid[:2], self.fixes[int(len(self.fixes)*0.50)][:2]) cep95_meters = gps.EarthDistance(self.centroid[:2], self.fixes[int(len(self.fixes)*0.95)][:2]) cep99_meters = gps.EarthDistance(self.centroid[:2], self.fixes[int(len(self.fixes)*0.99)][:2]) alt_sum = 0 alt_num = 0 alt_fixes = [] lon_max = -9999 for i in range(len(self.recentered)): (lat, lon) = self.recentered[i][:2] (raw1, raw2, alt) = self.fixes[i] if not gps.isnan(alt): alt_sum += alt alt_fixes.append( alt) alt_num += 1 if lon > lon_max : lon_max = lon if alt_num == 0: alt_avg = gps.NaN alt_ep = gps.NaN else: alt_avg = alt_sum / alt_num # Sort fixes by distance from average altitude alt_fixes.sort(lambda x, y: cmp(abs(alt_avg - x), abs(alt_avg - y))) alt_ep = abs( alt_fixes[ len(alt_fixes)/2 ] - alt_avg) if self.centroid[0] < 0: latstring = "%fS" % -self.centroid[0] elif self.centroid[0] == 0: latstring = "0" else: latstring = "%fN" % self.centroid[0] if self.centroid[1] < 0: lonstring = "%fW" % -self.centroid[1] elif self.centroid[1] == 0: lonstring = "0" else: lonstring = "%fE" % self.centroid[1] fmt = "set autoscale\n" fmt += 'set key below\n' fmt += 'set key title "%s"\n' % gps.misc.isotime(int(time.time())) fmt += 'set size ratio -1\n' fmt += 'set style line 2 pt 1\n' fmt += 'set style line 3 pt 2\n' fmt += 'set xlabel "Meters east from %s"\n' % lonstring fmt += 'set ylabel "Meters north from %s"\n' % latstring fmt += 'set border 15\n' if not gps.isnan(alt_avg): fmt += 'set y2label "Meters Altitude from %f"\n' % alt_avg fmt += 'set ytics nomirror\n' fmt += 'set y2tics\n' fmt += 'cep=%f\n' % self.d((0,0), self.recentered[len(self.fixes)/2]) fmt += 'cep95=%f\n' % self.d((0,0), self.recentered[int(len(self.fixes)*0.95)]) fmt += 'cep99=%f\n' % self.d((0,0), self.recentered[int(len(self.fixes)*0.99)]) fmt += 'set parametric\n' fmt += 'set trange [0:2*pi]\n' fmt += 'cx(t, r) = sin(t)*r\n' fmt += 'cy(t, r) = cos(t)*r\n' fmt += 'chlen = cep/20\n' fmt += "set arrow from -chlen,0 to chlen,0 nohead\n" fmt += "set arrow from 0,-chlen to 0,chlen nohead\n" if len(self.fixes) > 1000: plot_style = 'dots' else: plot_style = 'points' fmt += 'plot "-" using 1:2 with ' + plot_style + ' ls 3 title "%d GPS fixes" ' % (len(self.fixes)) if not gps.isnan(alt_avg): fmt += ', "-" using ( %f ):($5 < 100000 ? $5 - %f : 1/0) axes x1y2 with %s ls 2 title " %d Altitude fixes, Average = %f, EP (50%%) = %f"' % (lon_max +1, alt_avg, plot_style, alt_num, alt_avg, alt_ep) fmt += ', cx(t, cep),cy(t, cep) ls 1 title "CEP (50%%) = %f meters"' % (cep_meters) fmt += ', cx(t, cep95),cy(t, cep95) title "CEP (95%%) = %f meters"' % (cep95_meters) fmt += ', cx(t, cep99),cy(t, cep99) title "CEP (99%%) = %f meters"' % (cep99_meters) fmt += "\n" fmt += self.header() fmt += self.data() if not gps.isnan(alt_avg): fmt += "e\n" + self.data() return fmt class uninstrumented(plotter): "Total times without instrumentation." name = "uninstrumented" requires_time = False def __init__(self): plotter.__init__(self) def sample(self): if self.session.fix.time: seconds = time.time() - gps.misc.isotime(self.session.data.time) self.fixes.append(seconds) return True else: return False def header(self): return "# Uninstrumented total latency, " + self.whatami() + "\n" def postprocess(self): pass def data(self): res = "" for seconds in self.fixes: res += "%2.6lf\n" % seconds return res def plot(self): fmt = '''\ set autoscale set key below set key title "Uninstrumented total latency" plot "-" using 0:1 title "Total time" with impulses ''' return fmt + self.header() + self.data() class instrumented(plotter): "Latency as analyzed by instrumentation." name = "instrumented" requires_time = True def __init__(self): plotter.__init__(self) def sample(self): if 'rtime' in self.session.data: self.fixes.append((self.session.data['tag'], gps.misc.isotime(self.session.data['time']), self.session.data["chars"], self.session.data['sats'], self.session.data['sor'], self.session.data['rtime'], time.time())) return True else: return False def header(self): res = "# Analyzed latency, " + self.whatami() + "\n" res += "# Tag -- Fix time -- - Chars - -- Latency - RS232- Analysis - Recv -\n" return res def postprocess(self): pass def data(self): res = "" for (tag, time, chars, sats, start, xmit, recv) in self.fixes: rs232_time = (chars * 10.0) / self.device['bps'] res += "%-6s %.3f %9u %2u %.6f %.6f %.6f %.6f\n" % (tag, time, chars, sats, start-time, (start-time)+rs232_time, xmit-time, recv-time) return res def plot(self): legends = ( "Reception delta", "Analysis time", "RS232 time", "Fix latency", ) fmt = '''\ set autoscale set key title "Analyzed latency" set key below plot \\\n''' for (i, legend) in enumerate(legends): j = len(legends) - i + 4 fmt += ' "-" using 0:%d title "%s" with impulses, \\\n' % (j, legend) fmt = fmt[:-4] + "\n" return fmt + self.header() + (self.data() + "e\n") * len(legends) formatters = (spaceplot, uninstrumented, instrumented) if __name__ == '__main__': try: (options, arguments) = getopt.getopt(sys.argv[1:], "d:f:hl:m:n:rs:t:T:D:") plotmode = "space" raw = False title = None threshold = 0 await = 100 verbose = 0 terminal = None dumpfile = None logfp = None redo = False for (switch, val) in options: if (switch == '-f'): plotmode = val elif (switch == '-m'): threshold = int(val) elif (switch == '-n'): if val[-1] == 'h': await = int(val[:-1]) * 360 else: await = int(val) elif (switch == '-t'): title = val elif (switch == '-T'): terminal = val elif (switch == '-d'): dumpfile = val elif (switch == '-l'): logfp = open(val, "w") elif (switch == '-r'): redo = True elif (switch == '-D'): verbose = int(val) elif (switch == '-h'): sys.stderr.write(\ "usage: gpsprof [-h] [-D debuglevel] [-m threshold] [-n samplecount] [-d]\n" + "\t[-f {" + "|".join(map(lambda x: x.name, formatters)) + "}] [-s speed] [-t title] [-T terminal] [server[:port[:device]]]\n") sys.exit(0) (host, port, device) = ("localhost", "2947", None) if len(arguments): args = arguments[0].split(":") if len(args) >= 1: host = args[0] if len(args) >= 2: port = args[1] if len(args) >= 3: device = args[2] # Select the plotting mode if plotmode: for formatter in formatters: if formatter.name == plotmode: plot = formatter() break else: sys.stderr.write("gpsprof: no such formatter.\n") sys.exit(1) # Get fix data from the GPS if redo: plot.replot(sys.stdin) else: plot.collect(verbose, logfp) plot.postprocess() # Save the timing data (only) for post-analysis if required. if dumpfile: with open(dumpfile, "w") as fp: fp.write(plot.dump()) if logfp: logfp.close() # Ship the plot to standard output if not title: title = plot.whatami() if terminal: sys.stdout.write("set terminal %s\n" % terminal) sys.stdout.write("set title \"%s\"\n" % title) sys.stdout.write(plot.plot()) except KeyboardInterrupt: pass # The following sets edit modes for GNU EMACS # Local Variables: # mode:python # End: gpsd-3.9/gpsprof.xml0000664000175000017500000001632011762140435012677 0ustar esresr 10 Feb 2005 gpsprof 1 The GPSD Project GPSD Documentation gpsprof profile a GPS and gpsd, plotting latency information gpsprof -f plot_type -m threshold -n packetcount -t title -T terminal -d dumpfile -l logfile -r -D debuglevel -h [server[:port[:device]]] DESCRIPTION gpsprof performs accuracy and latency profiling on a GPS. It emits to standard output a GNUPLOT program that draws an illustrative graph. It can also be told to emit the raw profile data. The information it provides can be useful for establishing an upper bound on latency, and thus on position accuracy of a GPS in motion. gpsprof uses instrumentation built into gpsd. To display the graph, use gnuplot1. Thus, for example, to display the default spatial scatter plot, do this: gpsprof | gnuplot -persist To generate an image file: gpsprof -T png | gnuplot >image.png OPTIONS The -f option sets the plot type. The X axis is samples (sentences with timestamps). The Y axis is normally latency in seconds. Currently the following plot types are defined: space Generate a scattergram of fixes and plot a probable-error circle. This data is only meaningful if the GPS is held stationary while gpsprof is running. This is the default. uninstrumented Plot total latency without instrumentation. Useful mainly as a check that the instrumentation is not producing significant distortion. It only plots times for reports that contain fixes; staircase-like artifacts in the plot are created when elapsed time from reports without fixes is lumped in. instrumented Plot instrumented profile. Plots various components of the total latency between the GPS's fix time fix and when the client receives the fix. For purposes of the description, below, start-of-reporting-cycle (SORC) is when a device's reporting cycle begins. This time is detected by watching to see when data availability follows a long enough amount of quiet time that we can be sure we've seen the gap at the end of the sensor's previous report-transmission cycle. Detecting this gap requires a device running at 9600bps or faster. Similarly, EORC is end-of-reporting-cycle; when the daemon has seen the last sentence it needs in the reporting cycle and ready to ship a fix to the client. The components of the instrumented plot are as follows: Fix latency Delta between GPS time and SORC. RS232 time RS232 transmission time for data shipped during the cycle (computed from character volume and baud rate). Analysis time EORC, minus SORC, minus RS232 time. The amount of real time the daemon spent on computation rather than I/O. Reception time Shipping time from the daemon to when it was received by gpsprof. Because of RS232 buffering effects, the profiler sometimes generates reports of ridiculously high latencies right at the beginning of a session. The -m option lets you set a latency threshold, in multiples of the cycle time, above which reports are discarded. The -n option sets the number of packets to sample. The default is 100. The -t option sets a text string to be included in the plot title. The -T option generates a terminal type setting into the gnuplot code. Typical usage is "-T png" telling gnuplot to write a PNG file. Without this option gnuplot will call its X11 display code. The -d option dumps the plot data, without attached gnuplot code, to a specified file for post-analysis. The -l option dumps the raw JSON reports collected from the device to a specified file. The -r option replots from a JSON logfile (such as -l produces) on standard input. Both -n and -l options are ignored when this one is selected. The -h option makes gpsprof print a usage message and exit. The -D sets debug level. Sending SIGUSR1 to a running instance causes it to write a completion message to standard error and resume processing. The first number in the startup message is the process ID to signal. SEE ALSO gpsd8, gps1, libgps3, libgpsd3, gpsfake1, gpsctl1, gpscat1, gnuplot1. AUTHOR Eric S. Raymond esr@thyrsus.com. gpsd-3.9/gpssim.py0000664000175000017500000002527311757250540012363 0ustar esresr# This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. """ A GPS simulator. This is proof-of-concept code, not production ready; some functions are stubs. """ import sys, math, random, exceptions import gps, gpslib # First, the mathematics. We simulate a moving viewpoint on the Earth # and a satellite with specified orbital elements in the sky. class ksv: "Kinematic state vector." def __init__(self, time=0, lat=0, lon=0, alt=0, course=0, speed=0, climb=0, h_acc=0, v_acc=0): self.time = time # Seconds from epoch self.lat = lat # Decimal degrees self.lon = lon # Decimal degrees self.alt = alt # Meters self.course = course # Degrees from true North self.speed = speed # Meters per second self.climb = climb # Meters per second self.h_acc = h_acc # Meters per second per second self.v_acc = v_acc # Meters per second per second def next(self, quantum=1): "State after quantum." self.time += quantum avspeed = (2*self.speed + self.h_acc*quantum)/2 avclimb = (2*self.climb + self.v_acc*quantum)/2 self.alt += avclimb * quantum self.speed += self.h_acc * quantum self.climb += self.v_acc * quantum distance = avspeed * quantum # Formula from # Initial point cannot be a pole, but GPS doesn't work at high. # latitudes anyway so it would be OK to fail there. # Seems to assume a spherical Earth, which means it's going # to have a slight inaccuracy rising towards the poles. # The if/then avoids 0/0 indeterminacies on E-W courses. tc = gps.Deg2Rad(self.course) lat = gps.Deg2Rad(self.lat) lon = gps.Deg2Rad(self.lon) lat += distance * math.cos(tc) dphi = math.log(tan(lat/2+math.pi/4)/math.tan(self.lat/2+math.pi/4)) if abs(lat-self.lat) < sqrt(1e-15): q = cos(self.lat) else: q = (lat-self.lat)/dphi dlon = -distance * sin(tc) / q self.lon = gp.Rad2Deg(math.mod(self.lon + dlon + pi, 2 * math.pi) - math.pi) self.lat = gp.Rad2Deg(lat) # Satellite orbital elements are available at: # # Orbital theory at: # class satellite: "Orbital elements of one satellite. PRESENTLY A STUB" def __init__(self, prn): self.prn = prn def position(self, time): "Return right ascension and declination of satellite," pass # Next, the command interpreter. This is an object that takes an # input source in the track description language, interprets it into # sammples that might be reported by a GPS, and calls a reporting # class to generate output. class gpssimException(exceptions.Exception): def __init__(self, message, filename, lineno): self.message = message self.filename = filename self.lineno = lineno def __str__(self): return '"%s", %d:' % (self.filename, self.lineno) class gpssim: "Simulate a moving sensor, with skyview." active_PRNs = range(1, 24+1) + [134,] def __init__(self, gpstype): self.ksv = ksv() self.ephemeris = {} # This sets up satellites at random. Not really what we want. for PRN in simulator.active_PRNs: for (prn, satellite) in self.ephemeris.items(): self.skyview[prn] = (random.randint(-60, +61), random.randint(0, 359)) self.have_ephemeris = False self.channels = {} self.outfmt = outfmt self.status = gps.STATUS_NO_FIX self.mode = gps.MODE_NO_FIX self.validity = "V" self.satellites_used = 0 self.filename = None self.lineno = 0 def parse_tdl(self, line): "Interpret one TDL directive." line = line.strip() if "#" in line: line = line[:line.find("#")] if line == '': return fields = line.split() command = fields[0] if command == "time": self.ksv.time = gps.isotime(fields[1]) elif command == "location": (self.lat, self.lon, self.alt) = map(float, fiels[1:]) elif command == "course": self.ksv.time = float(fields[1]) elif command == "speed": self.ksv.speed = float(fields[1]) elif command == "climb": self.ksv.climb = float(fields[1]) elif command == "acceleration": (self.ksv.h_acc, self.ksv.h_acc) = map(float, fields[1:]) elif command == "snr": self.channels[int(fields[1])] = float(fields[2]) elif command == "go": self.go(int(fields[1])) elif command == "status": try: code = fields[1] self.status = {"no_fix":0, "fix":1, "dgps_fix":2}[code.lower()] except KeyError: raise gpssimException("invalid status code '%s'" % code, self.filename, self.lineno) elif command == "mode": try: code = fields[1] self.status = {"no_fix":1, "2d":2, "3d":3}[code.lower()] except KeyError: raise gpssimException("invalid mode code '%s'" % code, self.filename, self.lineno) elif command == "satellites": self.satellites_used = int(fields[1]) elif command == "validity": self.validity = fields[1] else: raise gpssimException("unknown command '%s'" % fields[1], self.filename, self.lineno) # FIX-ME: add syntax for ephemeris elements self.lineno += 1 def filter(self, input, output): "Make this a filter for file-like objects." self.filename = input.name self.lineno = 1 self.output = output for line in input: self.execute(line) def go(self, seconds): "Run the simulation for a specified number of seconds." for i in range(seconds): self.ksv.next() if self.have_ephemeris: self.skyview = {} for (prn, satellite) in self.ephemeris.items(): self.skyview[prn] = satellite.position(time) self.output.write(self.gpstype.report(self)) # Reporting classes need to have a report() method returning a string # that is a sentence (or possibly several sentences) reporting the # state of the simulation. Presently we have only one, for NMEA # devices, but the point of the architecture is so that we could simulate # others - SirF, Evermore, whatever. MPS_TO_KNOTS = 1.9438445 # Meters per second to knots class NMEA: "NMEA output generator." def __init__(self): self.sentences = ("RMC", "GGA",) self.counter = 0 def add_checksum(self, str): "Concatenate NMEA checksum and trailer to a string" sum = 0 for (i, c) in enumerate(str): if i == 0 and c == "$": continue sum ^= ord(c) str += "*%02X\r\n" % sum return str def degtodm(self, angle): "Decimal degrees to GPS-style, degrees first followed by minutes." (fraction, integer) = math.modf(angle) return math.floor(angle) * 100 + fraction * 60; def GGA(self, sim): "Emit GGA sentence describing the simulation state." tm = time.gmtime(sim.ksv.time) gga = \ "$GPGGA,%02d%02d%02d,%09.4f,%c,%010.4f,%c,%d,%02d," % ( tm.tm_hour, tm.tm_min, tm.tm_sec, self.degtodm(abs(sim.ksv.lat)), "SN"[sim.ksv.lat > 0], self.degtodm(abs(sim.ksv.lon)), "WE"[sim.ksv.lon > 0], sim.status, sim.satellites_used); # HDOP calculation goes here gga += "," if sim.mode == gps.MODE_3D: gga += "%.1f,M" % self.ksv.lat gga += "," gga += "%.3f,M," % gpslib.wg84_separation(sim.ksv.lat, sim.ksv.lon) # Magnetic variation goes here # gga += "%3.2f,M," % mag_var gga += ",," # Time in seconds since last DGPS update goes here gga += "," # DGPS station ID goes here return self.add_checksum(gga); def GLL(self, sim): "Emit GLL sentence describing the simulation state." tm = time.gmtime(sim.ksv.time) gll = \ "$GPLL,%09.4f,%c,%010.4f,%c,%02d%02d%02d,%s," % ( self.degtodm(abs(sim.ksv.lat)), "SN"[sim.ksv.lat > 0], self.degtodm(abs(sim.ksv.lon)), "WE"[sim.ksv.lon > 0], tm.tm_hour, tm.tm_min, tm.tm_sec, sim.validity, ) # FAA mode indicator could go after these fields. return self.add_checksum(gll); def RMC(self, sim): "Emit RMC sentence describing the simulation state." tm = time.gmtime(sim.ksv.time) rmc = \ "GPRMC,%02d%02d%02d,%s,%09.4f,%c,%010.4f,%c,%.1f,%02d%02d%02d," % ( tm.tm_hour, tm.tm_min, tm.tm_sec, sim.validity, self.degtodm(abs(sim.ksv.lat)), "SN"[sim.ksv.lat > 0], self.degtodm(abs(sim.ksv.lon)), "WE"[sim.ksv.lon > 0], sim.course * MPS_TO_KNOTS, tm.tm_mday, tm.tm_mon, tm.tm_year % 100) # Magnetic variation goes here # rmc += "%3.2f,M," % mag_var rmc += ",," # FAA mode goes here return self.add_checksum(rmc); def ZDA(self, sim): "Emit ZDA sentence describing the simulation state." tm = time.gmtime(sim.ksv.time) zda = "$GPZDA,%02d%2d%02d,%02d,%02d,%04d" % ( tm.tm_hour, tm.tm_min, tm.tm_sec, tm.tm_mday, tm.tm_mon, tm.tm_year, ) # Local zone description, 00 to +- 13 hours, goes here zda += "," # Local zone minutes description goes here zda += "," return self.add_checksum(zda); def report(self, sim): "Report the simulation state." out = "" for sentence in self.sentences: if type(sentence) == type(()): (interval, sentence) = sentence if self.counter % interval: continue out += apply(getattr(self, sentence), [sim]) self.counter += 1 return out # The very simple main line. if __name__ == "__main__": try: gpssim(NMEA).filter(sys.stdin, sys.stdout) except gpssimException, e: print >>sys.stderr, e # gpssim.py ends here. gpsd-3.9/gpsutils.c0000664000175000017500000003025412022345475012516 0ustar esresr/* gpsutils.c -- code shared between low-level and high-level interfaces * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ /* The strptime prototype is not provided unless explicitly requested. * We also need to set the value high enough to signal inclusion of * newer features (like clock_gettime). See the POSIX spec for more info: * http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_02_01_02 */ #define _XOPEN_SOURCE 600 #include #include #include #include #include #include #include #include #include "gpsd.h" /* could be gps.h if we didn't need splint decorations */ #include "libgps.h" #ifdef USE_QT #include #include #endif /* * Berkeley implementation of strtod(), inlined to avoid locale problems * with the decimal point and stripped down to an atof()-equivalent. */ /*@-shiftimplementation +charint@*/ double safe_atof(const char *string) /* Takes a decimal ASCII floating-point number, optionally * preceded by white space. Must have form "-I.FE-X", * where I is the integer part of the mantissa, F is * the fractional part of the mantissa, and X is the * exponent. Either of the signs may be "+", "-", or * omitted. Either I or F may be omitted, or both. * The decimal point isn't necessary unless F is * present. The "E" may actually be an "e". E and X * may both be omitted (but not just one). */ { static int maxExponent = 511; /* Largest possible base 10 exponent. Any * exponent larger than this will already * produce underflow or overflow, so there's * no need to worry about additional digits. */ static double powersOf10[] = { /* Table giving binary powers of 10. Entry */ 10., /* is 10^2^i. Used to convert decimal */ 100., /* exponents into floating-point numbers. */ 1.0e4, 1.0e8, 1.0e16, 1.0e32, 1.0e64, 1.0e128, 1.0e256 }; bool sign, expSign = false; double fraction, dblExp, *d; register const char *p; register int c; int exp = 0; /* Exponent read from "EX" field. */ int fracExp = 0; /* Exponent that derives from the fractional * part. Under normal circumstatnces, it is * the negative of the number of digits in F. * However, if I is very long, the last digits * of I get dropped (otherwise a long I with a * large negative exponent could cause an * unnecessary overflow on I alone). In this * case, fracExp is incremented one for each * dropped digit. */ int mantSize; /* Number of digits in mantissa. */ int decPt; /* Number of mantissa digits BEFORE decimal * point. */ const char *pExp; /* Temporarily holds location of exponent * in string. */ /* * Strip off leading blanks and check for a sign. */ p = string; while (isspace(*p)) { p += 1; } if (*p == '-') { sign = true; p += 1; } else { if (*p == '+') { p += 1; } sign = false; } /* * Count the number of digits in the mantissa (including the decimal * point), and also locate the decimal point. */ decPt = -1; for (mantSize = 0; ; mantSize += 1) { c = *p; if (!isdigit(c)) { if ((c != '.') || (decPt >= 0)) { break; } decPt = mantSize; } p += 1; } /* * Now suck up the digits in the mantissa. Use two integers to * collect 9 digits each (this is faster than using floating-point). * If the mantissa has more than 18 digits, ignore the extras, since * they can't affect the value anyway. */ pExp = p; p -= mantSize; if (decPt < 0) { decPt = mantSize; } else { mantSize -= 1; /* One of the digits was the point. */ } if (mantSize > 18) { fracExp = decPt - 18; mantSize = 18; } else { fracExp = decPt - mantSize; } if (mantSize == 0) { fraction = 0.0; //p = string; goto done; } else { int frac1, frac2; frac1 = 0; for ( ; mantSize > 9; mantSize -= 1) { c = *p; p += 1; if (c == '.') { c = *p; p += 1; } frac1 = 10*frac1 + (c - '0'); } frac2 = 0; for (; mantSize > 0; mantSize -= 1) { c = *p; p += 1; if (c == '.') { c = *p; p += 1; } frac2 = 10*frac2 + (c - '0'); } fraction = (1.0e9 * frac1) + frac2; } /* * Skim off the exponent. */ p = pExp; if ((*p == 'E') || (*p == 'e')) { p += 1; if (*p == '-') { expSign = true; p += 1; } else { if (*p == '+') { p += 1; } expSign = false; } while (isdigit(*p)) { exp = exp * 10 + (*p - '0'); p += 1; } } if (expSign) { exp = fracExp - exp; } else { exp = fracExp + exp; } /* * Generate a floating-point number that represents the exponent. * Do this by processing the exponent one bit at a time to combine * many powers of 2 of 10. Then combine the exponent with the * fraction. */ if (exp < 0) { expSign = true; exp = -exp; } else { expSign = false; } if (exp > maxExponent) { exp = maxExponent; errno = ERANGE; } dblExp = 1.0; for (d = powersOf10; exp != 0; exp >>= 1, d += 1) { if (exp & 01) { dblExp *= *d; } } if (expSign) { fraction /= dblExp; } else { fraction *= dblExp; } done: if (sign) { return -fraction; } return fraction; } /*@+shiftimplementation -charint@*/ #define MONTHSPERYEAR 12 /* months per calendar year */ void gps_clear_fix( /*@out@*/ struct gps_fix_t *fixp) /* stuff a fix structure with recognizable out-of-band values */ { fixp->time = NAN; fixp->mode = MODE_NOT_SEEN; fixp->latitude = fixp->longitude = NAN; fixp->track = NAN; fixp->speed = NAN; fixp->climb = NAN; fixp->altitude = NAN; fixp->ept = NAN; fixp->epx = NAN; fixp->epy = NAN; fixp->epv = NAN; fixp->epd = NAN; fixp->eps = NAN; fixp->epc = NAN; } void gps_clear_dop( /*@out@*/ struct dop_t *dop) { dop->xdop = dop->ydop = dop->vdop = dop->tdop = dop->hdop = dop->pdop = dop->gdop = NAN; } void gps_merge_fix( /*@ out @*/ struct gps_fix_t *to, gps_mask_t transfer, /*@ in @*/ struct gps_fix_t *from) /* merge new data into an old fix */ { if ((NULL == to) || (NULL == from)) return; if ((transfer & TIME_SET) != 0) to->time = from->time; if ((transfer & LATLON_SET) != 0) { to->latitude = from->latitude; to->longitude = from->longitude; } if ((transfer & MODE_SET) != 0) to->mode = from->mode; if ((transfer & ALTITUDE_SET) != 0) to->altitude = from->altitude; if ((transfer & TRACK_SET) != 0) to->track = from->track; if ((transfer & SPEED_SET) != 0) to->speed = from->speed; if ((transfer & CLIMB_SET) != 0) to->climb = from->climb; if ((transfer & TIMERR_SET) != 0) to->ept = from->ept; if ((transfer & HERR_SET) != 0) { to->epx = from->epx; to->epy = from->epy; } if ((transfer & VERR_SET) != 0) to->epv = from->epv; if ((transfer & SPEEDERR_SET) != 0) to->eps = from->eps; } timestamp_t timestamp(void) { #ifdef HAVE_CLOCK_GETTIME struct timespec ts; /*@i2@*/(void)clock_gettime(CLOCK_REALTIME, &ts); /*@i3@*/return (timestamp_t)(ts.tv_sec + ts.tv_nsec * 1e-9); #else struct timeval tv; (void)gettimeofday(&tv, NULL); return (timestamp_t)(tv.tv_sec + tv.tv_usec * 1e-6); #endif } time_t mkgmtime(register struct tm * t) /* struct tm to seconds since Unix epoch */ { register int year; register time_t result; static const int cumdays[MONTHSPERYEAR] = { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 }; /*@ +matchanyintegral @*/ year = 1900 + t->tm_year + t->tm_mon / MONTHSPERYEAR; result = (year - 1970) * 365 + cumdays[t->tm_mon % MONTHSPERYEAR]; result += (year - 1968) / 4; result -= (year - 1900) / 100; result += (year - 1600) / 400; if ((year % 4) == 0 && ((year % 100) != 0 || (year % 400) == 0) && (t->tm_mon % MONTHSPERYEAR) < 2) result--; result += t->tm_mday - 1; result *= 24; result += t->tm_hour; result *= 60; result += t->tm_min; result *= 60; result += t->tm_sec; /*@ -matchanyintegral @*/ return (result); } timestamp_t iso8601_to_unix( /*@in@*/ char *isotime) /* ISO8601 UTC to Unix UTC */ { #ifndef USE_QT char *dp = NULL; double usec; struct tm tm; /*@i1@*/ dp = strptime(isotime, "%Y-%m-%dT%H:%M:%S", &tm); if (dp != NULL && *dp == '.') usec = strtod(dp, NULL); else usec = 0; return (timestamp_t)mkgmtime(&tm) + usec; #else double usec = 0; QString t(isotime); QDateTime d = QDateTime::fromString(isotime, Qt::ISODate); QStringList sl = t.split("."); if (sl.size() > 1) usec = sl[1].toInt() / pow(10., (double)sl[1].size()); return (timestamp_t)(d.toTime_t() + usec); #endif } /* *INDENT-OFF* */ /*@observer@*/char *unix_to_iso8601(timestamp_t fixtime, /*@ out @*/ char isotime[], size_t len) /* Unix UTC time to ISO8601, no timezone adjustment */ /* example: 2007-12-11T23:38:51.033Z */ { struct tm when; double integral, fractional; time_t intfixtime; char timestr[30]; char fractstr[10]; fractional = modf(fixtime, &integral); intfixtime = (time_t) integral; (void)gmtime_r(&intfixtime, &when); (void)strftime(timestr, sizeof(timestr), "%Y-%m-%dT%H:%M:%S", &when); /* * Do not mess casually with the number of decimal digits in the * format! Most GPSes report over serial links at 0.01s or 0.001s * precision. */ (void)snprintf(fractstr, sizeof(fractstr), "%.3f", fractional); /* add fractional part, ignore leading 0; "0.2" -> ".2" */ /*@i2@*/(void)snprintf(isotime, len, "%s%sZ",timestr, strchr(fractstr,'.')); return isotime; } /* *INDENT-ON* */ #define Deg2Rad(n) ((n) * DEG_2_RAD) /* Distance in meters between two points specified in degrees, optionally with initial and final bearings. */ /*@-mustdefine@*/ double earth_distance_and_bearings(double lat1, double lon1, double lat2, double lon2, double *ib, double *fb) { /* * this is a translation of the javascript implementation of the * Vincenty distance formula by Chris Veness. See * http://www.movable-type.co.uk/scripts/latlong-vincenty.html */ double a, b, f; // WGS-84 ellipsoid params double L, L_P, U1, U2, s_U1, c_U1, s_U2, c_U2; double uSq, A, B, d_S, lambda; double s_L, c_L, s_S, C; double c_S, S, s_A, c_SqA, c_2SM; int i = 100; a = WGS84A; b = WGS84B; f = 1 / WGS84F; L = Deg2Rad(lon2 - lon1); U1 = atan((1 - f) * tan(Deg2Rad(lat1))); U2 = atan((1 - f) * tan(Deg2Rad(lat2))); s_U1 = sin(U1); c_U1 = cos(U1); s_U2 = sin(U2); c_U2 = cos(U2); lambda = L; do { s_L = sin(lambda); c_L = cos(lambda); s_S = sqrt((c_U2 * s_L) * (c_U2 * s_L) + (c_U1 * s_U2 - s_U1 * c_U2 * c_L) * (c_U1 * s_U2 - s_U1 * c_U2 * c_L)); if (s_S == 0) return 0; c_S = s_U1 * s_U2 + c_U1 * c_U2 * c_L; S = atan2(s_S, c_S); s_A = c_U1 * c_U2 * s_L / s_S; c_SqA = 1 - s_A * s_A; c_2SM = c_S - 2 * s_U1 * s_U2 / c_SqA; if (isnan(c_2SM)) c_2SM = 0; C = f / 16 * c_SqA * (4 + f * (4 - 3 * c_SqA)); L_P = lambda; lambda = L + (1 - C) * f * s_A * (S + C * s_S * (c_2SM + C * c_S * (2 * c_2SM * c_2SM - 1))); } while ((fabs(lambda - L_P) > 1.0e-12) && (--i > 0)); if (i == 0) return NAN; // formula failed to converge uSq = c_SqA * ((a * a) - (b * b)) / (b * b); A = 1 + uSq / 16384 * (4096 + uSq * (-768 + uSq * (320 - 175 * uSq))); B = uSq / 1024 * (256 + uSq * (-128 + uSq * (74 - 47 * uSq))); d_S = B * s_S * (c_2SM + B / 4 * (c_S * (-1 + 2 * c_2SM * c_2SM) - B / 6 * c_2SM * (-3 + 4 * s_S * s_S) * (-3 + 4 * c_2SM * c_2SM))); if (ib != NULL) *ib = atan2(c_U2 * sin(lambda), c_U1 * s_U2 - s_U1 * c_U2 * cos(lambda)); if (fb != NULL) *fb = atan2(c_U1 * sin(lambda), c_U1 * s_U2 * cos(lambda) - s_U1 * c_U2); return (WGS84B * A * (S - d_S)); } /*@+mustdefine@*/ /* Distance in meters between two points specified in degrees. */ double earth_distance(double lat1, double lon1, double lat2, double lon2) { return earth_distance_and_bearings(lat1, lon1, lat2, lon2, NULL, NULL); } gpsd-3.9/gpxlogger.c0000664000175000017500000002301012022345475012632 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include #include #include #include #include #include #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include "gps.h" #include "gpsd_config.h" #include "gpsdclient.h" #include "revision.h" static char *progname; static struct fixsource_t source; /************************************************************************** * * Transport-layer-independent functions * **************************************************************************/ static struct gps_data_t gpsdata; static FILE *logfile; static bool intrack = false; static time_t timeout = 5; /* seconds */ static double minmove = 0; /* meters */ #ifdef CLIENTDEBUG_ENABLE static int debug; #endif /* CLIENTDEBUG_ENABLE */ static void print_gpx_header(void) { char tbuf[CLIENT_DATE_MAX+1]; (void)fprintf(logfile,"\n"); (void)fprintf(logfile,"\n"); (void)fprintf(logfile," \n"); (void)fprintf(logfile," \n", unix_to_iso8601((timestamp_t)time(NULL), tbuf, sizeof(tbuf))); (void)fprintf(logfile," \n"); (void)fflush(logfile); } static void print_gpx_trk_end(void) { (void)fprintf(logfile," \n"); (void)fprintf(logfile," \n"); (void)fflush(logfile); } static void print_gpx_footer(void) { if (intrack) print_gpx_trk_end(); (void)fprintf(logfile,"\n"); (void)fclose(logfile); } static void print_gpx_trk_start(void) { (void)fprintf(logfile," \n"); (void)fprintf(logfile," GPSD %s\n", VERSION); (void)fprintf(logfile," \n"); (void)fflush(logfile); } static void print_fix(struct gps_data_t *gpsdata, double time) { char tbuf[CLIENT_DATE_MAX+1]; (void)fprintf(logfile," \n", gpsdata->fix.latitude, gpsdata->fix.longitude); if ((isnan(gpsdata->fix.altitude) == 0)) (void)fprintf(logfile," %f\n", gpsdata->fix.altitude); (void)fprintf(logfile," \n", unix_to_iso8601(time, tbuf, sizeof(tbuf))); (void)fprintf(logfile," GPSD tag=\"%s\"\n", gpsdata->tag); if (gpsdata->status == STATUS_DGPS_FIX) (void)fprintf(logfile," dgps\n"); else switch (gpsdata->fix.mode) { case MODE_3D: (void)fprintf(logfile," 3d\n"); break; case MODE_2D: (void)fprintf(logfile," 2d\n"); break; case MODE_NO_FIX: (void)fprintf(logfile," none\n"); break; default: /* don't print anything if no fix indicator */ break; } if ((gpsdata->fix.mode > MODE_NO_FIX) && (gpsdata->satellites_used > 0)) (void)fprintf(logfile," %d\n", gpsdata->satellites_used); if (isnan(gpsdata->dop.hdop) == 0) (void)fprintf(logfile," %.1f\n", gpsdata->dop.hdop); if (isnan(gpsdata->dop.vdop) == 0) (void)fprintf(logfile," %.1f\n", gpsdata->dop.vdop); if (isnan(gpsdata->dop.pdop) == 0) (void)fprintf(logfile," %.1f\n", gpsdata->dop.pdop); (void)fprintf(logfile," \n"); (void)fflush(logfile); } static void conditionally_log_fix(struct gps_data_t *gpsdata) { static double int_time, old_int_time; static double old_lat, old_lon; static bool first = true; int_time = gpsdata->fix.time; if ((int_time == old_int_time) || gpsdata->fix.mode < MODE_2D) return; /* may not be worth logging if we've moved only a very short distance */ if (minmove>0 && !first && earth_distance( gpsdata->fix.latitude, gpsdata->fix.longitude, old_lat, old_lon) < minmove) return; /* * Make new track if the jump in time is above * timeout. Handle jumps both forward and * backwards in time. The clock sometimes jumps * backward when gpsd is submitting junk on the * dbus. */ /*@-type@*/ if (fabs(int_time - old_int_time) > timeout && !first) { print_gpx_trk_end(); intrack = false; } /*@+type@*/ if (!intrack) { print_gpx_trk_start(); intrack = true; if (first) first = false; } old_int_time = int_time; if (minmove > 0) { old_lat = gpsdata->fix.latitude; old_lon = gpsdata->fix.longitude; } print_fix(gpsdata, int_time); } static void quit_handler(int signum) { /* don't clutter the logs on Ctrl-C */ if (signum != SIGINT) syslog(LOG_INFO, "exiting, signal %d received", signum); print_gpx_footer(); (void)gps_close(&gpsdata); exit(EXIT_SUCCESS); } /************************************************************************** * * Main sequence * **************************************************************************/ static void usage(void) { /*@-nullderef@*/ fprintf(stderr, "Usage: %s [-V] [-h] [-d] [-i timeout] [-f filename] [-m minmove]\n" "\t[-e exportmethod] [server[:port:[device]]]\n\n" "defaults to '%s -i 5 -e %s localhost:2947'\n", progname, progname, export_default()->name); /*@-nullderef@*/ exit(EXIT_FAILURE); } /*@-mustfreefresh -mustfreeonly -branchstate -globstate@*/ int main(int argc, char **argv) { int ch; bool daemonize = false; unsigned int flags = WATCH_ENABLE; struct exportmethod_t *method = NULL; progname = argv[0]; if (export_default() == NULL) { (void)fprintf(stderr, "%s: no export methods.\n", progname); exit(EXIT_FAILURE); } logfile = stdout; while ((ch = getopt(argc, argv, "dD:e:f:hi:lm:V")) != -1) { switch (ch) { case 'd': openlog(basename(progname), LOG_PID | LOG_PERROR, LOG_DAEMON); daemonize = true; break; #ifdef CLIENTDEBUG_ENABLE case 'D': debug = atoi(optarg); gps_enable_debug(debug, logfile); break; #endif /* CLIENTDEBUG_ENABLE */ case 'e': method = export_lookup(optarg); if (method == NULL) { (void)fprintf(stderr, "%s: %s is not a known export method.\n", progname, optarg); exit(EXIT_FAILURE); } break; case 'f': /* Output file name. */ { /*@-usedef@*/ char *fname = NULL; time_t t; size_t s = 0; size_t fnamesize = strlen(optarg); t = time(NULL); while (s == 0) { char *newfname = realloc(fname, fnamesize); if (newfname == NULL) { syslog(LOG_ERR, "realloc failed."); goto bailout; } else { fnamesize += 1024; fname = newfname; } s = strftime(fname, fnamesize-1, optarg, localtime(&t)); } assert(fname != NULL); /* pacify splint */ fname[s] = '\0';; logfile = fopen(fname, "w"); if (logfile == NULL) syslog(LOG_ERR, "Failed to open %s: %s, logging to stdout.", fname, strerror(errno)); bailout: free(fname); break; /*@+usedef@*/ } case 'i': /* set polling interfal */ timeout = (time_t) atoi(optarg); if (timeout < 1) timeout = 1; if (timeout >= 3600) fprintf(stderr, "WARNING: track timeout is an hour or more!\n"); break; case 'l': export_list(stderr); exit(EXIT_SUCCESS); case 'm': minmove = (double )atoi(optarg); break; case 'V': (void)fprintf(stderr, "%s revision " REVISION "\n", progname); exit(EXIT_SUCCESS); default: usage(); /* NOTREACHED */ } } if (daemonize && logfile == stdout) { syslog(LOG_ERR, "Daemon mode with no valid logfile name - exiting."); exit(EXIT_FAILURE); } if (method != NULL) if (method->magic != NULL) { source.server = (char *)method->magic; source.port = NULL; } if (optind < argc) { gpsd_source_spec(argv[optind], &source); } else gpsd_source_spec(NULL, &source); #if 0 (void)fprintf(logfile,"\n", source.server, source.port, source.device); #endif /* catch all interesting signals */ (void)signal(SIGTERM, quit_handler); (void)signal(SIGQUIT, quit_handler); (void)signal(SIGINT, quit_handler); /*@-unrecog@*/ /* might be time to daemonize */ if (daemonize) { /* not SuS/POSIX portable, but we have our own fallback version */ if (daemon(0, 0) != 0) (void) fprintf(stderr,"demonization failed: %s\n", strerror(errno)); } /*@+unrecog@*/ //syslog (LOG_INFO, "---------- STARTED ----------"); if (gps_open(source.server, source.port, &gpsdata) != 0) { (void)fprintf(stderr, "%s: no gpsd running or network error: %d, %s\n", progname, errno, gps_errstr(errno)); exit(EXIT_FAILURE); } if (source.device != NULL) flags |= WATCH_DEVICE; (void)gps_stream(&gpsdata, flags, source.device); print_gpx_header(); (void)gps_mainloop(&gpsdata, 5000000, conditionally_log_fix); print_gpx_footer(); (void)gps_close(&gpsdata); exit(EXIT_SUCCESS); } /*@+mustfreefresh +mustfreeonly +branchstate +globstate@*/ gpsd-3.9/hex.c0000664000175000017500000001143611774401175011434 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include "gpsd.h" const char /*@ observer @*/ *gpsd_packetdump(char *binbuf, size_t binbuflen) { char *cp; bool printable = true; assert(binbuf != NULL); for (cp = binbuf; cp < binbuf + binbuflen; cp++) if (!isprint(*cp) && !isspace(*cp)) printable = false; if (printable) return binbuf; else return gpsd_hexdump(binbuf, binbuflen); } const char /*@ observer @*/ *gpsd_hexdump(char *binbuf, size_t binbuflen) { /* FIXME: this isn't thead-safe! */ static char hexbuf[MAX_PACKET_LENGTH * 2 + 1]; #ifndef SQUELCH_ENABLE size_t i, j = 0; size_t len = (size_t) ((binbuflen > MAX_PACKET_LENGTH) ? MAX_PACKET_LENGTH : binbuflen); const char *ibuf = (const char *)binbuf; const char *hexchar = "0123456789abcdef"; if (NULL == binbuf || 0 == binbuflen) return ""; /*@ -shiftimplementation @*/ for (i = 0; i < len; i++) { hexbuf[j++] = hexchar[(ibuf[i] & 0xf0) >> 4]; hexbuf[j++] = hexchar[ibuf[i] & 0x0f]; } /*@ +shiftimplementation @*/ hexbuf[j] = '\0'; #else /* SQUELCH defined */ hexbuf[0] = '\0'; #endif /* SQUELCH_ENABLE */ return hexbuf; } /*@ +charint -shiftimplementation @*/ static int hex2bin(const char *s) { int a, b; a = s[0] & 0xff; b = s[1] & 0xff; if ((a >= 'a') && (a <= 'f')) a = a + 10 - 'a'; else if ((a >= 'A') && (a <= 'F')) a = a + 10 - 'A'; else if ((a >= '0') && (a <= '9')) a -= '0'; else return -1; if ((b >= 'a') && (b <= 'f')) b = b + 10 - 'a'; else if ((b >= 'A') && (b <= 'F')) b = b + 10 - 'A'; else if ((b >= '0') && (b <= '9')) b -= '0'; else return -1; return ((a << 4) + b); } int gpsd_hexpack( /*@in@*/ const char *src, /*@out@ */ char *dst, size_t len) /* hex2bin source string to destination - destination can be same as source */ { int i, k, l; /*@ -mustdefine @*/ l = (int)(strlen(src) / 2); if ((l < 1) || ((size_t) l > len)) return -2; for (i = 0; i < l; i++) if ((k = hex2bin(src + i * 2)) != -1) dst[i] = (char)(k & 0xff); else return -1; (void)memset(dst + i, '\0', (size_t) (len - i)); return l; /*@ +mustdefine @*/ } /*@ -charint +shiftimplementation @*/ ssize_t hex_escapes( /*@out@*/ char *cooked, const char *raw) /* interpret C-style hex escapes */ { char c, *cookend; /*@ +charint -mustdefine -compdef @*/ for (cookend = cooked; *raw != '\0'; raw++) if (*raw != '\\') *cookend++ = *raw; else { switch (*++raw) { case 'b': *cookend++ = '\b'; break; case 'e': *cookend++ = '\x1b'; break; case 'f': *cookend++ = '\f'; break; case 'n': *cookend++ = '\n'; break; case 'r': *cookend++ = '\r'; break; case 't': *cookend++ = '\r'; break; case 'v': *cookend++ = '\v'; break; case 'x': switch (*++raw) { case '0': c = (char)0x00; break; case '1': c = (char)0x10; break; case '2': c = (char)0x20; break; case '3': c = (char)0x30; break; case '4': c = (char)0x40; break; case '5': c = (char)0x50; break; case '6': c = (char)0x60; break; case '7': c = (char)0x70; break; case '8': c = (char)0x80; break; case '9': c = (char)0x90; break; case 'A': case 'a': c = (char)0xa0; break; case 'B': case 'b': c = (char)0xb0; break; case 'C': case 'c': c = (char)0xc0; break; case 'D': case 'd': c = (char)0xd0; break; case 'E': case 'e': c = (char)0xe0; break; case 'F': case 'f': c = (char)0xf0; break; default: return -1; } switch (*++raw) { case '0': c += 0x00; break; case '1': c += 0x01; break; case '2': c += 0x02; break; case '3': c += 0x03; break; case '4': c += 0x04; break; case '5': c += 0x05; break; case '6': c += 0x06; break; case '7': c += 0x07; break; case '8': c += 0x08; break; case '9': c += 0x09; break; case 'A': case 'a': c += 0x0a; break; case 'B': case 'b': c += 0x0b; break; case 'C': case 'c': c += 0x0c; break; case 'D': case 'd': c += 0x0d; break; case 'E': case 'e': c += 0x0e; break; case 'F': case 'f': c += 0x0f; break; default: return -2; } *cookend++ = c; break; case '\\': *cookend++ = '\\'; break; default: return -3; } } return (ssize_t) (cookend - cooked); /*@ +charint +mustdefine +compdef @*/ } gpsd-3.9/isgps.c0000664000175000017500000002441012022345475011766 0ustar esresr/***************************************************************************** This is a decoder for the unnamed protocol described in IS-GPS-200, the Navstar GPS Interface Specification, and used as a transport layer for both GPS satellite downlink transmissions and the RTCM104 version 2 format for broadcasting differential-GPS corrections. The purpose of this protocol is to support analyzing a serial bit stream without byte framing into parity-checked 30-bit words. Interpretation of the words is left to an upper layer. Note that RTCM104 version 3 does *not* use this code; it assumes a byte-oriented underlayer. The upper layer must supply a preamble_match() hook to tell our decoder when it has a legitimate start of packet, and a length_check() hook to tell it when the packet has reached the length it is supposed to have. Here are Wolfgang's original rather cryptic notes on this code: -------------------------------------------------------------------------- 1) trim and bitflip the input. While syncing the msb of the input gets shifted into lsb of the assembled word. word <<= 1, or in input >> 5 word <<= 1, or in input >> 4 word <<= 1, or in input >> 3 word <<= 1, or in input >> 2 word <<= 1, or in input >> 1 word <<= 1, or in input At one point it should sync-lock. ---- Shift 6 bytes of RTCM data in as such: ---> (trim-bits-to-5-bits) ---> (end-for-end-bit-flip) ---> ---> shift-into-30-bit-shift-register ||||||||||||||||||||||| detector-for-preamble ||||||||||||||||||||||| detector-for-parity ||||||||||||||||||||||| -------------------------------------------------------------------------- The code was originally by Wolfgang Rupprecht. ESR severely hacked it, with Wolfgang's help, in order to separate message analysis from message dumping and separate this lower layer from the upper layer handing GPS-subframe and RTCM decoding. You are not expected to understand any of this. This file is Copyright (c) 2010 by the GPSD project BSD terms apply: see the file COPYING in the distribution root for details. *****************************************************************************/ #include #include "gpsd.h" #define MAG_SHIFT 6u #define MAG_TAG_DATA (1 << MAG_SHIFT) #define MAG_TAG_MASK (3 << MAG_SHIFT) #define W_DATA_MASK 0x3fffffc0u /*@ +charint @*/ static unsigned char parity_array[] = { 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0 }; static unsigned int reverse_bits[] = { 0, 32, 16, 48, 8, 40, 24, 56, 4, 36, 20, 52, 12, 44, 28, 60, 2, 34, 18, 50, 10, 42, 26, 58, 6, 38, 22, 54, 14, 46, 30, 62, 1, 33, 17, 49, 9, 41, 25, 57, 5, 37, 21, 53, 13, 45, 29, 61, 3, 35, 19, 51, 11, 43, 27, 59, 7, 39, 23, 55, 15, 47, 31, 63 }; /*@ -charint @*/ unsigned int isgps_parity(isgps30bits_t th) { #define P_30_MASK 0x40000000u #define PARITY_25 0xbb1f3480u #define PARITY_26 0x5d8f9a40u #define PARITY_27 0xaec7cd00u #define PARITY_28 0x5763e680u #define PARITY_29 0x6bb1f340u #define PARITY_30 0x8b7a89c0u isgps30bits_t t; unsigned int p; /* * if (th & P_30_MASK) * th ^= W_DATA_MASK; */ /*@ +charint @*/ t = th & PARITY_25; p = parity_array[t & 0xff] ^ parity_array[(t >> 8) & 0xff] ^ parity_array[(t >> 16) & 0xff] ^ parity_array[(t >> 24) & 0xff]; t = th & PARITY_26; p = (p << 1) | (parity_array[t & 0xff] ^ parity_array[(t >> 8) & 0xff] ^ parity_array[(t >> 16) & 0xff] ^ parity_array[(t >> 24) & 0xff]); t = th & PARITY_27; p = (p << 1) | (parity_array[t & 0xff] ^ parity_array[(t >> 8) & 0xff] ^ parity_array[(t >> 16) & 0xff] ^ parity_array[(t >> 24) & 0xff]); t = th & PARITY_28; p = (p << 1) | (parity_array[t & 0xff] ^ parity_array[(t >> 8) & 0xff] ^ parity_array[(t >> 16) & 0xff] ^ parity_array[(t >> 24) & 0xff]); t = th & PARITY_29; p = (p << 1) | (parity_array[t & 0xff] ^ parity_array[(t >> 8) & 0xff] ^ parity_array[(t >> 16) & 0xff] ^ parity_array[(t >> 24) & 0xff]); t = th & PARITY_30; p = (p << 1) | (parity_array[t & 0xff] ^ parity_array[(t >> 8) & 0xff] ^ parity_array[(t >> 16) & 0xff] ^ parity_array[(t >> 24) & 0xff]); /*@ -charint @*/ gpsd_report(ISGPS_ERRLEVEL_BASE + 2, "ISGPS parity %u\n", p); return (p); } /* * ESR found a doozy of a bug... * * Defining isgps_parityok as a function triggers an optimizer bug in gcc * 3.4.2. The symptom is that parity computation is screwed up and the decoder * never achieves sync lock. Something steps on the argument to * isgpsparity(); the lossage appears to be related to the compiler's * attempt to fold the isgps_parity() call into isgps_parityok() in some * tail-recursion-like manner. This happens under -O2, but not -O1, on * both i386 and amd64. Disabling all of the individual -O2 suboptions * does *not* fix it. * * And the fun doesn't stop there! It turns out that even with this fix, bare * -O2 generates bad code. It takes "-O2 -fschedule-insns" to generate good * code under 3.4.[23]...which is weird because -O2 is supposed to *imply* * -fschedule-insns. * * gcc 4.0 does not manifest these bugs. */ #define isgps_parityok(w) (isgps_parity(w) == ((w) & 0x3f)) void isgps_init( /*@out@*/ struct gps_packet_t *session) { session->isgps.curr_word = 0; session->isgps.curr_offset = 24; /* first word */ session->isgps.locked = false; session->isgps.bufindex = 0; session->isgps.buflen = 0; } /*@ -usereleased -compdef @*/ enum isgpsstat_t isgps_decode(struct gps_packet_t *session, bool(*preamble_match) (isgps30bits_t *), bool(*length_check) (struct gps_packet_t *), size_t maxlen, unsigned int c) { /* ASCII characters 64-127, @ through DEL */ if ((c & MAG_TAG_MASK) != MAG_TAG_DATA) { gpsd_report(ISGPS_ERRLEVEL_BASE + 1, "ISGPS word tag not correct, skipping byte\n"); return ISGPS_SKIP; } c = reverse_bits[c & 0x3f]; /*@ -shiftnegative @*/ if (!session->isgps.locked) { session->isgps.curr_offset = -5; session->isgps.bufindex = 0; while (session->isgps.curr_offset <= 0) { session->isgps.curr_word <<= 1; if (session->isgps.curr_offset > 0) { session->isgps.curr_word |= c << session->isgps.curr_offset; } else { session->isgps.curr_word |= c >> -(session->isgps.curr_offset); } gpsd_report(ISGPS_ERRLEVEL_BASE + 2, "ISGPS syncing at byte %lu: 0x%08x\n", session->char_counter, session->isgps.curr_word); if (preamble_match(&session->isgps.curr_word)) { if (isgps_parityok(session->isgps.curr_word)) { gpsd_report(ISGPS_ERRLEVEL_BASE + 1, "ISGPS preamble ok, parity ok -- locked\n"); session->isgps.locked = true; break; } gpsd_report(ISGPS_ERRLEVEL_BASE + 1, "ISGPS preamble ok, parity fail\n"); } session->isgps.curr_offset++; } /* end while */ } if (session->isgps.locked) { enum isgpsstat_t res; res = ISGPS_SYNC; if (session->isgps.curr_offset > 0) { session->isgps.curr_word |= c << session->isgps.curr_offset; } else { session->isgps.curr_word |= c >> -(session->isgps.curr_offset); } if (session->isgps.curr_offset <= 0) { /* weird-assed inversion */ if (session->isgps.curr_word & P_30_MASK) session->isgps.curr_word ^= W_DATA_MASK; if (isgps_parityok(session->isgps.curr_word)) { #if 0 /* * Don't clobber the buffer just because we spot * another preamble pattern in the data stream. -wsr */ if (preamble_match(&session->isgps.curr_word)) { gpsd_report(ISGPS_ERRLEVEL_BASE + 2, "ISGPS preamble spotted (index: %u)\n", session->isgps.bufindex); session->isgps.bufindex = 0; } #endif gpsd_report(ISGPS_ERRLEVEL_BASE + 2, "ISGPS processing word %u (offset %d)\n", session->isgps.bufindex, session->isgps.curr_offset); { /* * Guard against a buffer overflow attack. Just wait for * the next preamble match and go on from there. */ if (session->isgps.bufindex >= (unsigned)maxlen) { session->isgps.bufindex = 0; gpsd_report(ISGPS_ERRLEVEL_BASE + 1, "ISGPS buffer overflowing -- resetting\n"); return ISGPS_NO_SYNC; } session->isgps.buf[session->isgps.bufindex] = session->isgps.curr_word; /* *INDENT-OFF* */ if ((session->isgps.bufindex == 0) && !preamble_match((isgps30bits_t *) session->isgps.buf)) { gpsd_report(ISGPS_ERRLEVEL_BASE + 1, "ISGPS word 0 not a preamble- punting\n"); return ISGPS_NO_SYNC; } /* *INDENT-ON* */ session->isgps.bufindex++; if (length_check(session)) { /* jackpot, we have a complete packet */ session->isgps.buflen = session->isgps.bufindex * sizeof(isgps30bits_t); session->isgps.bufindex = 0; res = ISGPS_MESSAGE; } } session->isgps.curr_word <<= 30; /* preserve the 2 low bits */ session->isgps.curr_offset += 30; if (session->isgps.curr_offset > 0) { session->isgps.curr_word |= c << session->isgps.curr_offset; } else { session->isgps.curr_word |= c >> -(session->isgps.curr_offset); } } else { gpsd_report(ISGPS_ERRLEVEL_BASE + 0, "ISGPS parity failure, lost lock\n"); session->isgps.locked = false; } } session->isgps.curr_offset -= 6; gpsd_report(ISGPS_ERRLEVEL_BASE + 2, "ISGPS residual %d\n", session->isgps.curr_offset); return res; } /*@ +shiftnegative @*/ /* never achieved lock */ gpsd_report(ISGPS_ERRLEVEL_BASE + 1, "ISGPS lock never achieved\n"); return ISGPS_NO_SYNC; } /*@ +usereleased +compdef @*/ gpsd-3.9/json.c0000664000175000017500000004566212022345475011626 0ustar esresr/**************************************************************************** NAME json.c - parse JSON into fixed-extent data structures DESCRIPTION This module parses a large subset of JSON (JavaScript Object Notation). Unlike more general JSON parsers, it doesn't use malloc(3) and doesn't support polymorphism; you need to give it a set of template structures describing the expected shape of the incoming JSON, and it will error out if that shape is not matched. When the parse succeeds, attribute values will be extracted into static locations specified in the template structures. The "shape" of a JSON object in the type signature of its attributes (and attribute values, and so on recursively down through all nestings of objects and arrays). This parser is indifferent to the order of attributes at any level, but you have to tell it in advance what the type of each attribute value will be and where the parsed value will be stored. The template structures may supply default values to be used when an expected attribute is omitted. The preceding paragraph told one fib. A single attribute may actually have a span of multiple specifications with different syntactically distinguishable types (e.g. string vs. real vs. integer vs boolean, but not signed integer vs. unsigned integer or strong vs. map). The parser will match the right spec against the actual data. The dialect this parses has some limitations. First, it cannot recognize the JSON "null" value. Secondly, arrays may only have objects or strings - not reals or integers or floats - as elements (this limitation could be easily removed if required). Third, all elements of an array must be of the same type. There are separata entry points for beginning a parse of either JSON object or a JSON array. JSON "float" quantities are actually stored as doubles. This parser processes object arrays in one of two different ways, defending on whether the array subtype is declared as object or structobject. Object arrays take one base address per object subfield, and are mapped into parallel C arrays (one per subfield). Strings are not supported in this kind of array, as they don't have a "natural" size to use as an offset multiplier. Structobjects arrays are a way to parse a list of objects to a set of modifications to a corresponding array of C structs. The trick is that the array object initialization has to specify both the C struct array's base address and the stride length (the size of the C struct). If you initialize the offset fields with the correct offsetof calls, everything will work. Strings are supported but all string storage has to be inline in the struct. PERMISSIONS This file is Copyright (c) 2010 by the GPSD project BSD terms apply: see the file COPYING in the distribution root for details. ***************************************************************************/ #include #include #include #include #include #include #include "gpsd_config.h" /* for strlcpy() prototype */ #ifdef SOCKET_EXPORT_ENABLE #include "json.h" #include "gps.h" /* for safe_atof() & timestamp_t prototype */ #ifdef CLIENTDEBUG_ENABLE static int debuglevel = 0; static FILE *debugfp; void json_enable_debug(int level, FILE * fp) /* control the level and destination of debug trace messages */ { debuglevel = level; debugfp = fp; } static void json_trace(int errlevel, const char *fmt, ...) /* assemble command in printf(3) style */ { if (errlevel <= debuglevel) { char buf[BUFSIZ]; va_list ap; (void)strlcpy(buf, "json: ", BUFSIZ); va_start(ap, fmt); (void)vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), fmt, ap); va_end(ap); (void)fputs(buf, debugfp); } } # define json_debug_trace(args) (void) json_trace args #else # define json_debug_trace(args) /*@i1@*/do { } while (0) #endif /* CLIENTDEBUG_ENABLE */ /*@-immediatetrans -dependenttrans -usereleased -compdef@*/ static /*@null@*/ char *json_target_address(const struct json_attr_t *cursor, /*@null@*/ const struct json_array_t *parent, int offset) { char *targetaddr = NULL; if (parent == NULL || parent->element_type != t_structobject) { /* ordinary case - use the address in the cursor structure */ switch (cursor->type) { case t_integer: targetaddr = (char *)&cursor->addr.integer[offset]; break; case t_uinteger: targetaddr = (char *)&cursor->addr.uinteger[offset]; break; case t_time: case t_real: targetaddr = (char *)&cursor->addr.real[offset]; break; case t_string: targetaddr = cursor->addr.string; break; case t_boolean: targetaddr = (char *)&cursor->addr.boolean[offset]; break; case t_character: targetaddr = (char *)&cursor->addr.character[offset]; break; default: targetaddr = NULL; break; } } else /* tricky case - hacking a member in an array of structures */ targetaddr = parent->arr.objects.base + (offset * parent->arr.objects.stride) + cursor->addr.offset; json_debug_trace((1, "Target address for %s (offset %d) is %p\n", cursor->attribute, offset, targetaddr)); return targetaddr; } /*@-immediatetrans -dependenttrans +usereleased +compdef@*/ static int json_internal_read_object(const char *cp, const struct json_attr_t *attrs, /*@null@*/ const struct json_array_t *parent, int offset, /*@null@*/ const char **end) { /*@ -nullstate -nullderef -mustfreefresh -nullpass -usedef @*/ enum { init, await_attr, in_attr, await_value, in_val_string, in_escape, in_val_token, post_val, post_array } state = 0; #ifdef CLIENTDEBUG_ENABLE char *statenames[] = { "init", "await_attr", "in_attr", "await_value", "in_val_string", "in_escape", "in_val_token", "post_val", "post_array", }; #endif /* CLIENTDEBUG_ENABLE */ char attrbuf[JSON_ATTR_MAX + 1], *pattr = NULL; char valbuf[JSON_VAL_MAX + 1], *pval = NULL; bool value_quoted = false; char uescape[5]; /* enough space for 4 hex digits and a NUL */ const struct json_attr_t *cursor; int substatus, n, maxlen = 0; unsigned int u; const struct json_enum_t *mp; char *lptr; #ifdef S_SPLINT_S /* prevents gripes about buffers not being completely defined */ memset(valbuf, '\0', sizeof(valbuf)); memset(attrbuf, '\0', sizeof(attrbuf)); #endif /* S_SPLINT_S */ if (end != NULL) *end = NULL; /* give it a well-defined value on parse failure */ /* stuff fields with defaults in case they're omitted in the JSON input */ for (cursor = attrs; cursor->attribute != NULL; cursor++) if (!cursor->nodefault) { lptr = json_target_address(cursor, parent, offset); if (lptr != NULL) switch (cursor->type) { case t_integer: memcpy(lptr, &cursor->dflt.integer, sizeof(int)); break; case t_uinteger: memcpy(lptr, &cursor->dflt.uinteger, sizeof(unsigned int)); break; case t_time: case t_real: memcpy(lptr, &cursor->dflt.real, sizeof(double)); break; case t_string: if (parent != NULL && parent->element_type != t_structobject && offset > 0) return JSON_ERR_NOPARSTR; lptr[0] = '\0'; break; case t_boolean: memcpy(lptr, &cursor->dflt.boolean, sizeof(bool)); break; case t_character: lptr[0] = cursor->dflt.character; break; case t_object: /* silences a compiler warning */ case t_structobject: case t_array: case t_check: break; } } json_debug_trace((1, "JSON parse of '%s' begins.\n", cp)); /* parse input JSON */ for (; *cp != '\0'; cp++) { json_debug_trace((2, "State %-14s, looking at '%c' (%p)\n", statenames[state], *cp, cp)); switch (state) { case init: if (isspace(*cp)) continue; else if (*cp == '{') state = await_attr; else { json_debug_trace((1, "Non-WS when expecting object start.\n")); return JSON_ERR_OBSTART; } break; case await_attr: if (isspace(*cp)) continue; else if (*cp == '"') { state = in_attr; pattr = attrbuf; } else if (*cp == '}') break; else { json_debug_trace((1, "Non-WS when expecting attribute.\n")); return JSON_ERR_ATTRSTART; } break; case in_attr: if (pattr == NULL) return JSON_ERR_NULLPTR; if (*cp == '"') { *pattr++ = '\0'; json_debug_trace((1, "Collected attribute name %s\n", attrbuf)); for (cursor = attrs; cursor->attribute != NULL; cursor++) { json_debug_trace((2, "Checking against %s\n", cursor->attribute)); if (strcmp(cursor->attribute, attrbuf) == 0) break; } if (cursor->attribute == NULL) { json_debug_trace((1, "Unknown attribute name '%s' (attributes begin with '%s').\n", attrbuf, attrs->attribute)); return JSON_ERR_BADATTR; } state = await_value; if (cursor->type == t_string) maxlen = (int)cursor->len - 1; else if (cursor->type == t_check) maxlen = (int)strlen(cursor->dflt.check); else if (cursor->type == t_time) maxlen = JSON_VAL_MAX; else if (cursor->map != NULL) maxlen = (int)sizeof(valbuf) - 1; pval = valbuf; } else if (pattr >= attrbuf + JSON_ATTR_MAX - 1) { json_debug_trace((1, "Attribute name too long.\n")); return JSON_ERR_ATTRLEN; } else *pattr++ = *cp; break; case await_value: if (isspace(*cp) || *cp == ':') continue; else if (*cp == '[') { if (cursor->type != t_array) { json_debug_trace((1, "Saw [ when not expecting array.\n")); return JSON_ERR_NOARRAY; } substatus = json_read_array(cp, &cursor->addr.array, &cp); if (substatus != 0) return substatus; state = post_array; } else if (cursor->type == t_array) { json_debug_trace((1, "Array element was specified, but no [.\n")); return JSON_ERR_NOBRAK; } else if (*cp == '"') { value_quoted = true; state = in_val_string; pval = valbuf; } else { value_quoted = false; state = in_val_token; pval = valbuf; *pval++ = *cp; } break; case in_val_string: if (pval == NULL) return JSON_ERR_NULLPTR; if (*cp == '\\') state = in_escape; else if (*cp == '"') { *pval++ = '\0'; json_debug_trace((1, "Collected string value %s\n", valbuf)); state = post_val; } else if (pval > valbuf + JSON_VAL_MAX - 1 || pval > valbuf + maxlen) { json_debug_trace((1, "String value too long.\n")); return JSON_ERR_STRLONG; /* */ } else *pval++ = *cp; break; case in_escape: if (pval == NULL) return JSON_ERR_NULLPTR; switch (*cp) { case 'b': *pval++ = '\b'; break; case 'f': *pval++ = '\f'; break; case 'n': *pval++ = '\n'; break; case 'r': *pval++ = '\r'; break; case 't': *pval++ = '\t'; break; case 'u': for (n = 0; n < 4 && cp[n] != '\0'; n++) uescape[n] = *cp++; --cp; (void)sscanf(uescape, "%04x", &u); *pval++ = (char)u; /* will truncate values above 0xff */ break; default: /* handles double quote and solidus */ *pval++ = *cp; break; } state = in_val_string; break; case in_val_token: if (pval == NULL) return JSON_ERR_NULLPTR; if (isspace(*cp) || *cp == ',' || *cp == '}') { *pval = '\0'; json_debug_trace((1, "Collected token value %s.\n", valbuf)); state = post_val; if (*cp == '}' || *cp == ',') --cp; } else if (pval > valbuf + JSON_VAL_MAX - 1) { json_debug_trace((1, "Token value too long.\n")); return JSON_ERR_TOKLONG; } else *pval++ = *cp; break; case post_val: /* * We know that cursor points at the first spec matching * the current attribute. We don't know that it's *the* * correct spec; our dialect allows there to be any number * of adjacent ones with the same attrname but different * types. Here's where we try to seek forward for a * matching type/attr pair if we're not looking at one. */ for (;;) { int seeking = cursor->type; if (value_quoted && (cursor->type == t_string || cursor->type == t_time)) break; if ((strcmp(valbuf, "true")==0 || strcmp(valbuf, "false")==0) && seeking == t_boolean) break; if (isdigit(valbuf[0])) { bool decimal = strchr(valbuf, '.') != NULL; if (decimal && seeking == t_real) break; if (!decimal && (seeking == t_integer || seeking == t_uinteger)) break; } if (cursor[1].attribute==NULL) /* out of possiblities */ break; if (strcmp(cursor[1].attribute, attrbuf)!=0) break; ++cursor; } if (value_quoted && (cursor->type != t_string && cursor->type != t_character && cursor->type != t_check && cursor->type != t_time && cursor->map == 0)) { json_debug_trace((1, "Saw quoted value when expecting non-string.\n")); return JSON_ERR_QNONSTRING; } if (!value_quoted && (cursor->type == t_string || cursor->type == t_check || cursor->type == t_time || cursor->map != 0)) { json_debug_trace((1, "Didn't see quoted value when expecting string.\n")); return JSON_ERR_NONQSTRING; } if (cursor->map != 0) { for (mp = cursor->map; mp->name != NULL; mp++) if (strcmp(mp->name, valbuf) == 0) { goto foundit; } json_debug_trace((1, "Invalid enumerated value string %s.\n", valbuf)); return JSON_ERR_BADENUM; foundit: (void)snprintf(valbuf, sizeof(valbuf), "%d", mp->value); } lptr = json_target_address(cursor, parent, offset); if (lptr != NULL) switch (cursor->type) { case t_integer: { int tmp = atoi(valbuf); memcpy(lptr, &tmp, sizeof(int)); } break; case t_uinteger: { unsigned int tmp = (unsigned int)atoi(valbuf); memcpy(lptr, &tmp, sizeof(unsigned int)); } break; case t_time: { double tmp = iso8601_to_unix(valbuf); memcpy(lptr, &tmp, sizeof(double)); } break; case t_real: { double tmp = safe_atof(valbuf); memcpy(lptr, &tmp, sizeof(double)); } break; case t_string: if (parent != NULL && parent->element_type != t_structobject && offset > 0) return JSON_ERR_NOPARSTR; (void)strlcpy(lptr, valbuf, cursor->len); break; case t_boolean: { bool tmp = (strcmp(valbuf, "true") == 0); memcpy(lptr, &tmp, sizeof(bool)); } break; case t_character: if (strlen(valbuf) > 1) return JSON_ERR_STRLONG; else lptr[0] = valbuf[0]; break; case t_object: /* silences a compiler warning */ case t_structobject: case t_array: break; case t_check: if (strcmp(cursor->dflt.check, valbuf) != 0) { json_debug_trace((1, "Required attribute vakue %s not present.\n", cursor->dflt.check)); return JSON_ERR_CHECKFAIL; } break; } /*@fallthrough@*/ case post_array: if (isspace(*cp)) continue; else if (*cp == ',') state = await_attr; else if (*cp == '}') { ++cp; goto good_parse; } else { json_debug_trace((1, "Garbage while expecting comma or }\n")); return JSON_ERR_BADTRAIL; } break; } } good_parse: /* in case there's another object following, consune trailing WS */ while (isspace(*cp)) ++cp; if (end != NULL) *end = cp; json_debug_trace((1, "JSON parse ends.\n")); return 0; /*@ +nullstate +nullderef +mustfreefresh +nullpass +usedef @*/ } int json_read_array(const char *cp, const struct json_array_t *arr, const char **end) { /*@-nullstate -onlytrans@*/ int substatus, offset, arrcount; char *tp; if (end != NULL) *end = NULL; /* give it a well-defined value on parse failure */ json_debug_trace((1, "Entered json_read_array()\n")); while (isspace(*cp)) cp++; if (*cp != '[') { json_debug_trace((1, "Didn't find expected array start\n")); return JSON_ERR_ARRAYSTART; } else cp++; tp = arr->arr.strings.store; arrcount = 0; /* Check for empty array */ while (isspace(*cp)) cp++; if (*cp == ']') goto breakout; for (offset = 0; offset < arr->maxlen; offset++) { json_debug_trace((1, "Looking at %s\n", cp)); switch (arr->element_type) { case t_string: if (isspace(*cp)) cp++; if (*cp != '"') return JSON_ERR_BADSTRING; else ++cp; arr->arr.strings.ptrs[offset] = tp; for (; tp - arr->arr.strings.store < arr->arr.strings.storelen; tp++) if (*cp == '"') { ++cp; *tp++ = '\0'; goto stringend; } else if (*cp == '\0') { json_debug_trace((1, "Bad string syntax in string list.\n")); return JSON_ERR_BADSTRING; } else { *tp = *cp++; } json_debug_trace((1, "Bad string syntax in string list.\n")); return JSON_ERR_BADSTRING; stringend: break; case t_object: case t_structobject: substatus = json_internal_read_object(cp, arr->arr.objects.subtype, arr, offset, &cp); if (substatus != 0) return substatus; break; case t_integer: case t_uinteger: case t_time: case t_real: case t_boolean: case t_character: case t_array: case t_check: json_debug_trace((1, "Invalid array subtype.\n")); return JSON_ERR_SUBTYPE; } arrcount++; if (isspace(*cp)) cp++; if (*cp == ']') { json_debug_trace((1, "End of array found.\n")); goto breakout; } else if (*cp == ',') cp++; else { json_debug_trace((1, "Bad trailing syntax on array.\n")); return JSON_ERR_BADSUBTRAIL; } } json_debug_trace((1, "Too many elements in array.\n")); return JSON_ERR_SUBTOOLONG; breakout: if (arr->count != NULL) *(arr->count) = arrcount; if (end != NULL) *end = cp; /*@ -nullderef @*/ json_debug_trace((1, "leaving json_read_array() with %d elements\n", arrcount)); /*@ +nullderef @*/ return 0; /*@+nullstate +onlytrans@*/ } int json_read_object(const char *cp, const struct json_attr_t *attrs, /*@null@*/ const char **end) { int st; json_debug_trace((1, "json_read_object() sees '%s'\n", cp)); st = json_internal_read_object(cp, attrs, NULL, 0, end); return st; } const /*@observer@*/ char *json_error_string(int err) { const char *errors[] = { "unknown error while parsing JSON", "non-whitespace when expecting object start", "non-whitespace when expecting attribute start", "unknown attribute name", "attribute name too long", "saw [ when not expecting array", "array element specified, but no [", "string value too long", "token value too long", "garbage while expecting , or }", "didn't find expected array start", "error while parsing object array", "too many array elements", "garbage while expecting array comma", "unsupported array element type", "error while string parsing", "check attribute not matched", "can't support strings in parallel arrays", "invalid enumerated value", "saw quoted value when expecting nonstring", "didn't see quoted value when expecting string", "other data conversion error", "unexpected null value or attribute pointer", }; if (err <= 0 || err >= (int)(sizeof(errors) / sizeof(errors[0]))) return errors[0]; else return errors[err]; } #endif /* SOCKET_EXPORT_ENABLE */ /* end */ gpsd-3.9/json.h0000600000175000017500000000752512022345475011615 0ustar esresr/* Structures for JSON parsing using only fixed-extent memory * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include typedef enum {t_integer, t_uinteger, t_real, t_string, t_boolean, t_character, t_time, t_object, t_structobject, t_array, t_check} json_type; struct json_enum_t { char *name; int value; }; struct json_array_t { json_type element_type; union { struct { const struct json_attr_t *subtype; char *base; size_t stride; } objects; struct { char **ptrs; char *store; int storelen; } strings; } arr; int *count, maxlen; }; struct json_attr_t { char *attribute; json_type type; union { int *integer; unsigned int *uinteger; double *real; char *string; bool *boolean; char *character; struct json_array_t array; size_t offset; } addr; union { int integer; unsigned int uinteger; double real; bool boolean; char character; char *check; } dflt; size_t len; const struct json_enum_t *map; bool nodefault; }; #define JSON_ATTR_MAX 31 /* max chars in JSON attribute name */ #define JSON_VAL_MAX 512 /* max chars in JSON value part */ #ifdef __cplusplus extern "C" { #endif int json_read_object(const char *, const struct json_attr_t *, /*@null@*/const char **); int json_read_array(const char *, const struct json_array_t *, /*@null@*/const char **); const /*@observer@*/char *json_error_string(int); void json_enable_debug(int, FILE *); #ifdef __cplusplus } #endif #define JSON_ERR_OBSTART 1 /* non-WS when expecting object start */ #define JSON_ERR_ATTRSTART 2 /* non-WS when expecting attrib start */ #define JSON_ERR_BADATTR 3 /* unknown attribute name */ #define JSON_ERR_ATTRLEN 4 /* attribute name too long */ #define JSON_ERR_NOARRAY 5 /* saw [ when not expecting array */ #define JSON_ERR_NOBRAK 6 /* array element specified, but no [ */ #define JSON_ERR_STRLONG 7 /* string value too long */ #define JSON_ERR_TOKLONG 8 /* token value too long */ #define JSON_ERR_BADTRAIL 9 /* garbage while expecting , or } */ #define JSON_ERR_ARRAYSTART 10 /* didn't find expected array start */ #define JSON_ERR_OBJARR 11 /* error while parsing object array */ #define JSON_ERR_SUBTOOLONG 12 /* too many array elements */ #define JSON_ERR_BADSUBTRAIL 13 /* garbage while expecting array comma */ #define JSON_ERR_SUBTYPE 14 /* unsupported array element type */ #define JSON_ERR_BADSTRING 15 /* error while string parsing */ #define JSON_ERR_CHECKFAIL 16 /* check attribute not matched */ #define JSON_ERR_NOPARSTR 17 /* can't support strings in parallel arrays */ #define JSON_ERR_BADENUM 18 /* invalid enumerated value */ #define JSON_ERR_QNONSTRING 19 /* saw quoted value when expecting nonstring */ #define JSON_ERR_NONQSTRING 19 /* didn't see quoted value when expecting string */ #define JSON_ERR_MISC 20 /* other data conversion error */ #define JSON_ERR_BADNUM 21 /* error while parsing a numerical argument */ #define JSON_ERR_NULLPTR 22 /* unexpected null value or attribute pointer */ /* * Use the following macros to declare template initializers for structobject * arrays. Writing the equivalents out by hand is error-prone. * * STRUCTOBJECT takes a structure name s, and a fieldname f in s. * * STRUCTARRAY takes the name of a structure array, a pointer to a an * initializer defining the subobject type, and the address of an integer to * store the length in. */ #define STRUCTOBJECT(s, f) .addr.offset = offsetof(s, f) #define STRUCTARRAY(a, e, n) \ .addr.array.element_type = t_structobject, \ .addr.array.arr.objects.subtype = e, \ .addr.array.arr.objects.base = (char*)a, \ .addr.array.arr.objects.stride = sizeof(a[0]), \ .addr.array.count = n, \ .addr.array.maxlen = NITEMS(a) /* json.h ends here */ gpsd-3.9/jsongen.py.in0000664000175000017500000010743411774401175013132 0ustar esresr#!@PYTHON@ # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # # Never hand-hack what you can generate... # # This code generates template declarations for AIS-JSON parsing from a # declarative specification of a JSON structure. # import sys, getopt # # Here is the information that makes it all work - attribute, type, and # defult information for all fields. We generate a JSON # parser template spec. Doing it this way guarantees consistency. # # Notes on the fields: # initname: becomes the name of the generated structure initializer # header: common header to include in front of the structure template # structname: gets prepended to all fieldnames in the generated C # fieldmap: each member fills an initializer slot # stringbuffered: list strings that should be buffered rather than copied # directly into the structure. ais_specs = ( { "initname" : "json_ais1", "headers": ("AIS_HEADER",), "structname": "ais->type1", "fieldmap":( # fieldname type default ('status', 'uinteger', '0'), ('turn', 'integer', 'AIS_TURN_NOT_AVAILABLE'), ('speed', 'uinteger', 'AIS_SPEED_NOT_AVAILABLE'), ('accuracy', 'boolean', 'false'), ('lon', 'integer', 'AIS_LON_NOT_AVAILABLE'), ('lat', 'integer', 'AIS_LAT_NOT_AVAILABLE'), ('course', 'uinteger', 'AIS_COURSE_NOT_AVAILABLE'), ('heading', 'uinteger', 'AIS_HEADING_NOT_AVAILABLE'), ('second', 'uinteger', 'AIS_SEC_NOT_AVAILABLE'), ('maneuver', 'uinteger', 'AIS_SEC_INOPERATIVE'), ('raim', 'boolean', 'false'), ('radio', 'uinteger', '0'), ), }, # Message types 2 and 3 duplicate 1 { "initname" : "json_ais4", "headers": ("AIS_HEADER",), "structname": "ais->type4", "fieldmap":( # fieldname type default ('timestamp', 'string', None), ('accuracy', 'boolean', "true"), ('lon', 'integer', "AIS_LON_NOT_AVAILABLE"), ('lat', 'integer', "AIS_LAT_NOT_AVAILABLE"), ('epfd', 'uinteger', "0"), ('raim', 'boolean', "false"), ('radio', 'uinteger', "0"), ), "stringbuffered":("timestamp",), }, { "initname" : "json_ais5", "headers": ("AIS_HEADER",), "structname": "ais->type5", "fieldmap":( # fieldname type default ('imo', 'uinteger', '0'), ('ais_version', 'uinteger', '0'), ('callsign', 'string', None), ('shipname', 'string', None), ('shiptype', 'uinteger', '0'), ('to_bow', 'uinteger', '0'), ('to_stern', 'uinteger', '0'), ('to_port', 'uinteger', '0'), ('to_starboard', 'uinteger', '0'), ('epfd', 'uinteger', '0'), ('eta', 'string', None), ('draught', 'uinteger', '0'), ('destination', 'string', None), ('dte', 'uinteger', '1'), ), "stringbuffered":("eta",), }, { "initname" : "json_ais6", "headers": ("AIS_HEADER","AIS_TYPE6",), "structname": "ais->type6", "fieldmap":( # fieldname type default ('data', 'string', None), ), "stringbuffered":("data",), }, { "initname" : "json_ais6_fid10", "headers": ("AIS_HEADER", "AIS_TYPE6",), "structname": "ais->type6.dac235fid10", "fieldmap":( # fieldname type default ('ana_int', 'uinteger', '0'), ('ana_ext1', 'uinteger', '0'), ('ana_ext2', 'uinteger', '0'), ('racon', 'uinteger', '0'), ('light', 'uinteger', '0'), ('alarm', 'boolean', 'false'), ('stat_ext', 'uinteger', '0'), ('off_pos', 'boolean', 'false'), ), }, { "initname" : "json_ais6_fid12", "headers": ("AIS_HEADER","AIS_TYPE6",), "structname": "ais->type6.dac1fid12", "fieldmap":( # fieldname type default ('lastport', 'string', None), ('departure', 'string', None), ('nextport', 'string', None), ('eta', 'string', None), ('dangerous', 'string', None), ('imdcat', 'string', None), ('unid', 'uinteger', '0'), ('amount', 'uinteger', '0'), ('unit', 'uinteger', '0'), ), "stringbuffered":("departure","eta",), }, { "initname" : "json_ais6_fid15", "headers": ("AIS_HEADER","AIS_TYPE6",), "structname": "ais->type6.dac1fid15", "fieldmap":( # fieldname type default ('airdraught', 'uinteger', '0'), ), }, { "initname" : "json_ais6_fid16", "headers": ("AIS_HEADER","AIS_TYPE6",), "structname": "ais->type6.dac1fid16", "fieldmap":( # fieldname type default ('persons', 'uinteger', '0'), ), }, { "initname" : "json_ais6_fid25", "headers": ("AIS_HEADER","AIS_TYPE6",), "structname": "ais->type6.dac1fid25", "fieldmap":( # fieldname type default ('unit', 'uinteger', '0'), ('amount', 'uinteger', '0'), ('cargos', 'array', ( ('cargo_t', 'ncargos', ( ('code', 'uinteger', '0'), ('subtype', 'uinteger', '0'), )))), ), }, { "initname" : "json_ais6_fid18", "headers": ("AIS_HEADER","AIS_TYPE6",), "structname": "ais->type6.dac1fid18", "fieldmap":( # fieldname type default ('linkage', 'uinteger', '0'), ('arrival', 'string', None), ('portname', 'string', None), ('destination','string', None), ('lon', 'integer', 'AIS_LON3_NOT_AVAILABLE'), ('lat', 'integer', 'AIS_LAT3_NOT_AVAILABLE'), ), 'stringbuffered' : ('arrival',), }, { "initname" : "json_ais6_fid20", "headers": ("AIS_HEADER","AIS_TYPE6",), "structname": "ais->type6.dac1fid20", "fieldmap":( # fieldname type default ('linkage', 'uinteger', '0'), ('berth_length', 'uinteger', '0'), ('berth_depth', 'uinteger', '0'), ('position', 'uinteger', '0'), ('arrival', 'string', None), ('availability', 'uinteger', '0'), ('agent', 'uinteger', '0'), ('fuel', 'uinteger', '0'), ('chandler', 'uinteger', '0'), ('stevedore', 'uinteger', '0'), ('electrical', 'uinteger', '0'), ('water', 'uinteger', '0'), ('customs', 'uinteger', '0'), ('cartage', 'uinteger', '0'), ('crane', 'uinteger', '0'), ('lift', 'uinteger', '0'), ('medical', 'uinteger', '0'), ('navrepair', 'uinteger', '0'), ('provisions', 'uinteger', '0'), ('shiprepair', 'uinteger', '0'), ('surveyor', 'uinteger', '0'), ('steam', 'uinteger', '0'), ('tugs', 'uinteger', '0'), ('solidwaste', 'uinteger', '0'), ('liquidwaste', 'uinteger', '0'), ('hazardouswaste', 'uinteger', '0'), ('ballast', 'uinteger', '0'), ('additional', 'uinteger', '0'), ('regional1', 'uinteger', '0'), ('regional2', 'uinteger', '0'), ('future1', 'uinteger', '0'), ('future2', 'uinteger', '0'), ('berth_name', 'string', None), ('berth_lon', 'integer', 'AIS_LON3_NOT_AVAILABLE'), ('berth_lat', 'integer', 'AIS_LAT3_NOT_AVAILABLE'), ), 'stringbuffered' : ('arrival', 'berth_name',), }, { "initname" : "json_ais6_fid28", "headers": ("AIS_HEADER","AIS_TYPE6",), "structname": "ais->type6.dac1fid28", "fieldmap":( # fieldname type default ('linkage', 'uinteger', '0'), ('sender', 'uinteger', '0'), ('rtype', 'uinteger', '0'), ('start', 'string', None), ('duration', 'uinteger', '0'), ('waypoints', 'array', ( ('waypoint_t', 'waycount', ( ('lon', 'integer', 'AIS_LON4_NOT_AVAILABLE'), ('lat', 'integer', 'AIS_LAT4_NOT_AVAILABLE'), )))), ), 'stringbuffered' : ('start',), }, { "initname" : "json_ais6_fid30", "headers": ("AIS_HEADER","AIS_TYPE6",), "structname": "ais->type6.dac1fid30", "fieldmap":( # fieldname type default ('linkage', 'uinteger', '0'), ('text', 'string', '0'), ), }, { "initname" : "json_ais6_fid32", "headers": ("AIS_HEADER","AIS_TYPE6"), "structname": "ais->type6.dac1fid32", "fieldmap":( # fieldname type default ('month', 'uinteger', 'AIS_MONTH_NOT_AVAILABLE'), ('day', 'uinteger', 'AIS_DAY_NOT_AVAILABLE'), ('tidals', 'array', ( ('tidal_t', 'ntidals', ( ('lon', 'integer', 'AIS_LON3_NOT_AVAILABLE'), ('lat', 'integer', 'AIS_LAT3_NOT_AVAILABLE'), ('from_hour', 'uinteger', 'AIS_MONTH_NOT_AVAILABLE'), ('from_min', 'uinteger', 'AIS_MINUTE_NOT_AVAILABLE'), ('to_hour', 'uinteger', 'AIS_HOUR_NOT_AVAILABLE'), ('to_min', 'uinteger', 'AIS_MINUTE_NOT_AVAILABLE'), ('cdir', 'uinteger', 'DAC1FID32_CDIR_NOT_AVAILABLE'), ('cspeed', 'uinteger', 'DAC1FID32_CSPEED_NOT_AVAILABLE'), )))), ), }, { "initname" : "json_ais7", "headers": ("AIS_HEADER",), "structname": "ais->type7", "fieldmap":( # fieldname type default ('mmsi1', 'uinteger', '0'), ('mmsi2', 'uinteger', '0'), ('mmsi3', 'uinteger', '0'), ('mmsi4', 'uinteger', '0'), ), }, { "initname" : "json_ais8", "headers": ("AIS_HEADER","AIS_TYPE8",), "structname": "ais->type8", "fieldmap":( # fieldname type default ('data', 'string', None), ), "stringbuffered":("data",), }, { "initname" : "json_ais8_fid11", "headers": ("AIS_HEADER","AIS_TYPE8",), "structname": "ais->type8.dac1fid11", "fieldmap":( # fieldname type default ('lat', 'integer', 'DAC1FID11_LAT_NOT_AVAILABLE'), ('lon', 'integer', 'DAC1FID11_LON_NOT_AVAILABLE'), ('timestamp', 'string', None), ('wspeed', 'uinteger', 'DAC1FID11_WSPEED_NOT_AVAILABLE'), ('wgust', 'uinteger', 'DAC1FID11_WSPEED_NOT_AVAILABLE'), ('wdir', 'uinteger', 'DAC1FID11_WDIR_NOT_AVAILABLE'), ('wgustdir', 'uinteger', 'DAC1FID11_WDIR_NOT_AVAILABLE'), ('airtemp', 'uinteger', 'DAC1FID11_AIRTEMP_NOT_AVAILABLE'), ('humidity', 'uinteger', 'DAC1FID11_HUMIDITY_NOT_AVAILABLE'), ('dewpoint', 'uinteger', 'DAC1FID11_DEWPOINT_NOT_AVAILABLE'), ('pressure', 'uinteger', 'DAC1FID11_PRESSURE_NOT_AVAILABLE'), ('pressuretend', 'uinteger', 'DAC1FID11_PRESSURETREND_NOT_AVAILABLE'), ('visibility', 'uinteger', 'DAC1FID11_VISIBILITY_NOT_AVAILABLE'), ('waterlevel', 'integer', 'DAC1FID11_WATERLEVEL_NOT_AVAILABLE'), ('leveltrend', 'uinteger', 'DAC1FID11_WATERLEVELTREND_NOT_AVAILABLE'), ('cspeed', 'uinteger', 'DAC1FID11_CSPEED_NOT_AVAILABLE'), ('cdir', 'uinteger', 'DAC1FID11_CDIR_NOT_AVAILABLE'), ('cspeed2', 'uinteger', 'DAC1FID11_CSPEED_NOT_AVAILABLE'), ('cdir2', 'uinteger', 'DAC1FID11_CDIR_NOT_AVAILABLE'), ('cdepth2', 'uinteger', 'DAC1FID11_CDEPTH_NOT_AVAILABLE'), ('cspeed3', 'uinteger', 'DAC1FID11_CSPEED_NOT_AVAILABLE'), ('cdir3', 'uinteger', 'DAC1FID11_CDIR_NOT_AVAILABLE'), ('cdepth3', 'uinteger', 'DAC1FID11_CDEPTH_NOT_AVAILABLE'), ('waveheight', 'uinteger', 'DAC1FID11_WAVEHEIGHT_NOT_AVAILABLE'), ('waveperiod', 'uinteger', 'DAC1FID11_WAVEPERIOD_NOT_AVAILABLE'), ('wavedir', 'uinteger', 'DAC1FID11_WAVEDIR_NOT_AVAILABLE'), ('swellheight', 'uinteger', 'DAC1FID11_WAVEHEIGHT_NOT_AVAILABLE'), ('swellperiod', 'uinteger', 'DAC1FID11_WAVEPERIOD_NOT_AVAILABLE'), ('swelldir', 'uinteger', 'DAC1FID11_WAVEDIR_NOT_AVAILABLE'), ('seastate', 'uinteger', 'DAC1FID11_SEASTATE_NOT_AVAILABLE'), ('watertemp', 'uinteger', 'DAC1FID11_WATERTEMP_NOT_AVAILABLE'), ('preciptype', 'uinteger', 'DAC1FID11_PRECIPTYPE_NOT_AVAILABLE'), ('salinity', 'uinteger', 'DAC1FID11_SALINITY_NOT_AVAILABLE'), ('ice', 'uinteger', 'DAC1FID11_ICE_NOT_AVAILABLE'), ), "stringbuffered":("timestamp",), }, { "initname" : "json_ais8_fid13", "headers": ("AIS_HEADER","AIS_TYPE8",), "structname": "ais->type8.dac1fid13", "fieldmap":( # fieldname type default ('reason', 'string', None), ('closefrom', 'string', None), ('closeto', 'string', None), ('radius', 'uinteger', 'AIS_DAC1FID13_RADIUS_NOT_AVAILABLE'), ('extunit', 'uinteger', 'AIS_DAC1FID13_EXTUNIT_NOT_AVAILABLE'), ('fday', 'uinteger', 'AIS_DAY_NOT_AVAILABLE'), ('fmonth', 'uinteger', 'AIS_MONTH_NOT_AVAILABLE'), ('fhour', 'uinteger', 'AIS_HOUR_NOT_AVAILABLE'), ('fminute', 'uinteger', 'AIS_MINUTE_NOT_AVAILABLE'), ('tday', 'uinteger', 'AIS_DAY_NOT_AVAILABLE'), ('tmonth', 'uinteger', 'AIS_MONTH_NOT_AVAILABLE'), ('thour', 'uinteger', 'AIS_HOUR_NOT_AVAILABLE'), ('tminute', 'uinteger', 'AIS_MINUTE_NOT_AVAILABLE'), ), 'stringbuffered' : ('from', 'to'), }, { "initname" : "json_ais8_fid15", "headers": ("AIS_HEADER","AIS_TYPE8",), "structname": "ais->type8.dac1fid15", "fieldmap":( # fieldname type default ('airdraught', 'uinteger', '0'), ), }, { "initname" : "json_ais8_fid17", "headers": ("AIS_HEADER","AIS_TYPE8",), "structname": "ais->type8.dac1fid17", "fieldmap":( # fieldname type default ('targets', 'array', ( ('target_t', 'ntargets', ( ('idtype', 'uinteger', 'DAC1FID17_IDTYPE_OTHER'), ("id.mmsi", 'uinteger', '0'), ("id.imo", 'uinteger', '0'), ("id.callsign",'string', 'DAC1FID17_ID_LENGTH'), ("id.other", 'string', 'DAC1FID17_ID_LENGTH'), ('lat', 'integer', 'AIS_LAT3_NOT_AVAILABLE'), ('lon', 'integer', 'AIS_LON3_NOT_AVAILABLE'), ('course', 'uinteger', 'DAC1FID17_COURSE_NOT_AVAILABLE'), ('second', 'uinteger', 'AIS_SECOND_NOT_AVAILABLE'), ('speed', 'uinteger', 'DAC1FID17_SPEED_NOT_AVAILABLE'), )))), ), }, { "initname" : "json_ais8_fid19", "headers": ("AIS_HEADER","AIS_TYPE8",), "structname": "ais->type8.dac1fid19", "fieldmap":( # fieldname type default ('linkage', 'uinteger', '0'), ('station', 'string', None), ('lon', 'integer', 'AIS_LON3_NOT_AVAILABLE'), ('lat', 'integer', 'AIS_LAT3_NOT_AVAILABLE'), ('status', 'uinteger', '0'), ('signal', 'uinteger', '0'), ('hour', 'uinteger', 'AIS_HOUR_NOT_AVAILABLE'), ('minute', 'uinteger', 'AIS_MINUTE_NOT_AVAILABLE'), ('nextsignal', 'uinteger', '0'), ), }, { "initname" : "json_ais8_fid27", "headers": ("AIS_HEADER","AIS_TYPE8",), "structname": "ais->type8.dac1fid27", "fieldmap":( # fieldname type default ('linkage', 'uinteger', '0'), ('sender', 'uinteger', '0'), ('rtype', 'uinteger', '0'), ('start', 'string', None), ('duration', 'uinteger', '0'), ('waypoints', 'array', ( ('waypoint_t', 'waycount', ( ('lon', 'integer', 'AIS_LON4_NOT_AVAILABLE'), ('lat', 'integer', 'AIS_LAT4_NOT_AVAILABLE'), )))), ), 'stringbuffered' : ('start',), }, { "initname" : "json_ais8_fid29", "headers": ("AIS_HEADER","AIS_TYPE8",), "structname": "ais->type8.dac1fid29", "fieldmap":( # fieldname type default ('linkage', 'uinteger', '0'), ('text', 'string', '0'), ), }, { "initname" : "json_ais8_fid31", "headers": ("AIS_HEADER","AIS_TYPE8",), "structname": "ais->type8.dac1fid31", "fieldmap":( # fieldname type default ('lon', 'integer', 'DAC1FID31_LON_NOT_AVAILABLE'), ('lat', 'integer', 'DAC1FID31_LAT_NOT_AVAILABLE'), ('accuracy', 'boolean', 'false'), ('timestamp', 'string', None), ('wspeed', 'uinteger', 'DAC1FID31_WIND_NOT_AVAILABLE'), ('wgust', 'uinteger', 'DAC1FID31_WIND_NOT_AVAILABLE'), ('wdir', 'uinteger', 'DAC1FID31_DIR_NOT_AVAILABLE'), ('wgustdir', 'uinteger', 'DAC1FID31_DIR_NOT_AVAILABLE'), ('airtemp', 'integer', 'DAC1FID31_AIRTEMP_NOT_AVAILABLE'), ('humidity', 'uinteger', 'DAC1FID31_HUMIDITY_NOT_AVAILABLE'), ('dewpoint', 'integer', 'DAC1FID31_DEWPOINT_NOT_AVAILABLE'), ('pressure', 'uinteger', 'DAC1FID31_PRESSURE_NOT_AVAILABLE'), ('pressuretend', 'uinteger', 'DAC1FID31_PRESSURETEND_NOT_AVAILABLE'), ('visgreater', 'boolean', 'false'), ('visibility', 'uinteger', 'DAC1FID31_VISIBILITY_NOT_AVAILABLE'), ('waterlevel', 'integer', 'DAC1FID31_WATERLEVEL_NOT_AVAILABLE'), ('leveltrend', 'uinteger', 'DAC1FID31_WATERLEVELTREND_NOT_AVAILABLE'), ('cspeed', 'uinteger', 'DAC1FID31_CSPEED_NOT_AVAILABLE'), ('cdir', 'uinteger', 'DAC1FID31_DIR_NOT_AVAILABLE'), ('cspeed2', 'uinteger', 'DAC1FID31_CSPEED_NOT_AVAILABLE'), ('cdir2', 'uinteger', 'DAC1FID31_DIR_NOT_AVAILABLE'), ('cdepth2', 'uinteger', 'DAC1FID31_CDEPTH_NOT_AVAILABLE'), ('cspeed3', 'uinteger', 'DAC1FID31_CSPEED_NOT_AVAILABLE'), ('cdir3', 'uinteger', 'DAC1FID31_DIR_NOT_AVAILABLE'), ('cdepth3', 'uinteger', 'DAC1FID31_CDEPTH_NOT_AVAILABLE'), ('waveheight', 'uinteger', 'DAC1FID31_HEIGHT_NOT_AVAILABLE'), ('waveperiod', 'uinteger', 'DAC1FID31_PERIOD_NOT_AVAILABLE'), ('wavedir', 'uinteger', 'DAC1FID31_DIR_NOT_AVAILABLE'), ('swellheight', 'uinteger', 'DAC1FID31_HEIGHT_NOT_AVAILABLE'), ('swellperiod', 'uinteger', 'DAC1FID31_PERIOD_NOT_AVAILABLE'), ('swelldir', 'uinteger', 'DAC1FID31_DIR_NOT_AVAILABLE'), ('seastate', 'uinteger', 'DAC1FID31_SEASTATE_NOT_AVAILABLE'), ('watertemp', 'integer', 'DAC1FID31_WATERTEMP_NOT_AVAILABLE'), ('preciptype', 'uinteger', 'DAC1FID31_PRECIPTYPE_NOT_AVAILABLE'), ('salinity', 'uinteger', 'DAC1FID31_SALINITY_NOT_AVAILABLE'), ('ice', 'uinteger', 'DAC1FID31_ICE_NOT_AVAILABLE'), ), "stringbuffered":("timestamp",), }, { "initname" : "json_ais9", "headers": ("AIS_HEADER",), "structname": "ais->type9", "fieldmap":( # fieldname type default ('alt', 'uinteger', 'AIS_ALT_NOT_AVAILABLE'), ('speed', 'uinteger', 'AIS_SPEED_NOT_AVAILABLE'), ('accuracy', 'boolean', 'false'), ('lon', 'integer', 'AIS_LON_NOT_AVAILABLE'), ('lat', 'integer', 'AIS_LAT_NOT_AVAILABLE'), ('course', 'uinteger', 'AIS_COURSE_NOT_AVAILABLE'), ('second', 'uinteger', 'AIS_SEC_NOT_AVAILABLE'), ('regional', 'uinteger', '0'), ('dte', 'uinteger', '1'), ('raim', 'boolean', 'false'), ('radio', 'uinteger', '0'), ), }, { "initname" : "json_ais10", "headers": ("AIS_HEADER",), "structname": "ais->type10", "fieldmap":( # fieldname type default ('dest_mmsi', 'uinteger', '0'), ), }, # Message type 11 duplicates 4 { "initname" : "json_ais12", "headers": ("AIS_HEADER",), "structname": "ais->type12", "fieldmap":( # fieldname type default ('seqno', 'uinteger', '0'), ('dest_mmsi', 'uinteger', '0'), ('retransmit', 'boolean', '0'), ('text', 'string', None), ), }, # Message type 13 duplicates 7 { "initname" : "json_ais14", "headers": ("AIS_HEADER",), "structname": "ais->type14", "fieldmap":( # fieldname type default ('text', 'string', None), ), }, { "initname" : "json_ais15", "headers": ("AIS_HEADER",), "structname": "ais->type15", "fieldmap":( # fieldname type default ('mmsi1', 'uinteger', '0'), ('type1_1', 'uinteger', '0'), ('offset1_1', 'uinteger', '0'), ('type1_2', 'uinteger', '0'), ('offset1_2', 'uinteger', '0'), ('mmsi2', 'uinteger', '0'), ('type2_1', 'uinteger', '0'), ('offset2_1', 'uinteger', '0'), ), }, { "initname" : "json_ais16", "headers": ("AIS_HEADER",), "structname": "ais->type16", "fieldmap":( # fieldname type default ('mmsi1', 'uinteger', '0'), ('offset1', 'uinteger', '0'), ('increment1', 'uinteger', '0'), ('mmsi2', 'uinteger', '0'), ('offset2', 'uinteger', '0'), ('increment2', 'uinteger', '0'), ), }, { "initname" : "json_ais17", "headers": ("AIS_HEADER",), "structname": "ais->type17", "fieldmap":( # fieldname type default ('lon', 'integer', 'AIS_GNS_LON_NOT_AVAILABLE'), ('lat', 'integer', 'AIS_GNS_LAT_NOT_AVAILABLE'), ('data', 'string', None), ), "stringbuffered":("data",), }, { "initname" : "json_ais18", "headers": ("AIS_HEADER",), "structname": "ais->type18", "fieldmap":( # fieldname type default ('reserved', 'uinteger', '0'), ('speed', 'uinteger', 'AIS_SPEED_NOT_AVAILABLE'), ('accuracy', 'boolean', 'false'), ('lon', 'integer', 'AIS_LON_NOT_AVAILABLE'), ('lat', 'integer', 'AIS_LAT_NOT_AVAILABLE'), ('course', 'uinteger', 'AIS_COURSE_NOT_AVAILABLE'), ('heading', 'uinteger', 'AIS_HEADING_NOT_AVAILABLE'), ('second', 'uinteger', 'AIS_SEC_NOT_AVAILABLE'), ('regional', 'uinteger', '0'), ('cs', 'boolean', 'false'), ('display', 'boolean', 'false'), ('dsc', 'boolean', 'false'), ('band', 'boolean', 'false'), ('msg22', 'boolean', 'false'), ('raim', 'boolean', 'false'), ('radio', 'uinteger', '0'), ), }, { "initname" : "json_ais19", "headers": ("AIS_HEADER",), "structname": "ais->type19", "fieldmap":( # fieldname type default ('reserved', 'uinteger', '0'), ('speed', 'uinteger', 'AIS_SPEED_NOT_AVAILABLE'), ('accuracy', 'boolean', 'false'), ('lon', 'integer', 'AIS_LON_NOT_AVAILABLE'), ('lat', 'integer', 'AIS_LAT_NOT_AVAILABLE'), ('course', 'uinteger', 'AIS_COURSE_NOT_AVAILABLE'), ('heading', 'uinteger', 'AIS_HEADING_NOT_AVAILABLE'), ('second', 'uinteger', 'AIS_SEC_NOT_AVAILABLE'), ('regional', 'uinteger', '0'), ('shipname', 'string', None), ('shiptype', 'uinteger', '0'), ('to_bow', 'uinteger', '0'), ('to_stern', 'uinteger', '0'), ('to_port', 'uinteger', '0'), ('to_starboard', 'uinteger', '0'), ('epfd', 'uinteger', '0'), ('raim', 'boolean', 'false'), ('dte', 'uinteger', '1'), ('assigned', 'boolean', 'false'), ), }, { "initname" : "json_ais20", "headers": ("AIS_HEADER",), "structname": "ais->type20", "fieldmap":( # fieldname type default ('offset1', 'uinteger', '0'), ('number1', 'uinteger', '0'), ('timeout1', 'uinteger', '0'), ('increment1', 'uinteger', '0'), ('offset2', 'uinteger', '0'), ('number2', 'uinteger', '0'), ('timeout2', 'uinteger', '0'), ('increment2', 'uinteger', '0'), ('offset3', 'uinteger', '0'), ('number3', 'uinteger', '0'), ('timeout3', 'uinteger', '0'), ('increment3', 'uinteger', '0'), ('offset4', 'uinteger', '0'), ('number4', 'uinteger', '0'), ('timeout4', 'uinteger', '0'), ('increment4', 'uinteger', '0'), ), }, { "initname" : "json_ais21", "headers": ("AIS_HEADER",), "structname": "ais->type21", "fieldmap":( # fieldname type default ('aid_type', 'uinteger', '0'), ('name', 'string', None), ('accuracy', 'boolean', 'false'), ('lon', 'integer', 'AIS_LON_NOT_AVAILABLE'), ('lat', 'integer', 'AIS_LAT_NOT_AVAILABLE'), ('to_bow', 'uinteger', '0'), ('to_stern', 'uinteger', '0'), ('to_port', 'uinteger', '0'), ('to_starboard', 'uinteger', '0'), ('epfd', 'uinteger', '0'), ('second', 'uinteger', '0'), ('regional', 'uinteger', '0'), ('off_position', 'boolean', 'false'), ('raim', 'boolean', 'false'), ('virtual_aid', 'boolean', 'false'), ), }, { "initname" : "json_ais22", "headers": ("AIS_HEADER",), "structname": "ais->type22", "fieldmap":( # fieldname type default ('channel_a', 'uinteger', '0'), ('channel_b', 'uinteger', '0'), ('txrx', 'uinteger', '0'), ('power', 'boolean', 'false'), ('area.ne_lon', 'integer', 'AIS_GNS_LON_NOT_AVAILABLE'), ('area.ne_lat', 'integer', 'AIS_GNS_LAT_NOT_AVAILABLE'), ('area.sw_lon', 'integer', 'AIS_GNS_LON_NOT_AVAILABLE'), ('area.sw_lat', 'integer', 'AIS_GNS_LAT_NOT_AVAILABLE'), ('mmsi.dest1', 'uinteger', '0'), ('mmsi.dest2', 'uinteger', '0'), ('addressed', 'boolean', 'false'), ('band_a', 'boolean', 'false'), ('band_b', 'boolean', 'false'), ('zonesize', 'uinteger', '0'), ), }, { "initname" : "json_ais23", "headers": ("AIS_HEADER",), "structname": "ais->type23", "fieldmap":( # fieldname type default ('ne_lon', 'integer', 'AIS_GNS_LON_NOT_AVAILABLE'), ('ne_lat', 'integer', 'AIS_GNS_LAT_NOT_AVAILABLE'), ('sw_lon', 'integer', 'AIS_GNS_LON_NOT_AVAILABLE'), ('sw_lat', 'integer', 'AIS_GNS_LAT_NOT_AVAILABLE'), ('stationtype', 'uinteger', '0'), ('shiptype', 'uinteger', '0'), ('txrx', 'uinteger', '0'), ('interval', 'uinteger', '0'), ('quiet', 'uinteger', '0'), ), }, { "initname" : "json_ais24", "headers": ("AIS_HEADER",), "structname": "ais->type24", "fieldmap":( # fieldname type default ('shipname', 'string', None), # Part A ('shiptype', 'uinteger', '0'), # Part B ('vendorid', 'string', None), # Part B ('callsign', 'string', None), # Part B ('mothership_mmsi', 'uinteger', '0'), # Part B ('dim.to_bow', 'uinteger', '0'), # Part B ('dim.to_stern', 'uinteger', '0'), # Part B ('dim.to_port', 'uinteger', '0'), # Part B ('dim.to_starboard', 'uinteger', '0'), # Part B ), }, { "initname" : "json_ais25", "headers": ("AIS_HEADER",), "structname": "ais->type25", "fieldmap":( # fieldname type default ('addressed', 'boolean', 'false'), ('structured', 'boolean', 'false'), ('dest_mmsi', 'uinteger', '0'), ('app_id', 'uinteger', '0'), ('data', 'string', None), ), "stringbuffered":("data",), }, { "initname" : "json_ais26", "headers": ("AIS_HEADER",), "structname": "ais->type26", "fieldmap":( # fieldname type default ('addressed', 'boolean', 'false'), ('structured', 'boolean', 'false'), ('dest_mmsi', 'uinteger', '0'), ('app_id', 'uinteger', '0'), ('data', 'string', None), ('radio', 'uinteger', '0'), ), "stringbuffered":("data",), }, { "initname" : "json_ais27", "headers": ("AIS_HEADER",), "structname": "ais->type27", "fieldmap":( # fieldname type default ('status', 'uinteger', '0'), ('speed', 'uinteger', 'AIS_LONGRANGE_SPEED_NOT_AVAILABLE'), ('accuracy', 'boolean', 'false'), ('lon', 'integer', 'AIS_LONGRANGE_LON_NOT_AVAILABLE'), ('lat', 'integer', 'AIS_LONGRANGE_LAT_NOT_AVAILABLE'), ('course', 'uinteger', 'AIS_LONGRANGE_COURSE_NOT_AVAILABLE'), ('raim', 'boolean', 'false'), ('gnss', 'boolean', 'true'), ), }, ) # You should not need to modify anything below this line. def generate(spec): global outboard report = "" leader = " " * 39 initname = spec["initname"] # Utter storage declarations for any fields that are declared to be # stringbuffered. These will need to be postprocessed in json_ais_read(). for (attr, itype, default) in spec["fieldmap"]: if attr in spec.get("stringbuffered", []): if attr not in outboard: report += " char %s[JSON_VAL_MAX+1];\n" % attr outboard.append(attr) structname = spec["structname"] # If there are structarrays describing array subobjects, we need # to make a separate parse control initializer for each one. The # attribute name is the name of the array; substructure and length # fieldnames must be given in the defaults part. pacify_splint = False for (attr, itype, arrayparts) in spec["fieldmap"]: if itype == 'array': pacify_splint = True (innerstruct, lengthfield, elements) = arrayparts report += " const struct json_attr_t %s_%s_subtype[] = {\n" % (initname, attr) for (subattr, subitype, default) in elements: report += '\t{"%s",%st_%s,%sSTRUCTOBJECT(struct %s, %s),\n' % \ (subattr, " "*(14-len(subattr)), subitype, " "*(8-len(subitype)), innerstruct, subattr) if subitype != "string": report += leader + ".dflt.%s = %s},\n" % (subitype, default) elif default: report += leader + ".len = %s},\n" % (default,) else: print >>sys.stderr, "explicit length specification required" raise SystemExit, 1 report += """\ {NULL} }; """ # Generate the main structure definition describing this parse. # It may have object subarrays. if pacify_splint: report += "/*@-type@*//* STRUCTARRAY confuses splint */\n" report += " const struct json_attr_t %s[] = {\n" % initname if "headers" in spec: for header in spec["headers"]: report += '\t' + header + "\n" for (attr, itype, default) in spec["fieldmap"]: if itype == 'array': (innerstruct, lengthfield, elements) = default report += '\t{"%s",%st_array, STRUCTARRAY(%s.%s, %s_%s_subtype, &%s.%s)},\n' \ % (attr, " "*(14-len(attr)), structname, attr, initname, attr, structname, lengthfield) else: if itype == "string": deref = "" else: deref = "&" if attr in spec.get("stringbuffered", []): target = attr else: target = structname + "." + attr if "." in attr: attr = attr[attr.rfind(".")+1:] report += '\t{"%s",%st_%s,%s.addr.%s = %s%s,\n' % \ (attr, " "*(14-len(attr)), itype, " "*(10-len(itype)), itype, deref, target) if itype == "string": report += leader + ".len = sizeof(%s)},\n" % target else: report += leader + ".dflt.%s = %s},\n" % (itype, default) report += """\ {NULL} }; """ if pacify_splint: report += "/*@+type@*/\n" print report if __name__ == '__main__': try: # The --ais and --target= options are (required) placeholders. # In the future, this script will generate more different kinds # of code. (options, arguments) = getopt.getopt(sys.argv[1:], "", ["ais", "target="]) except getopt.GetoptError, msg: print "jsongen.py: " + str(msg) raise SystemExit, 1 spec = None target = None for (switch, val) in options: if switch == '--ais': spec = ais_specs elif switch == '--target': target = val if not target or not spec: print "jsongen.py: must specify type and target." raise SystemExit, 1 if target == 'parser': print """/* * This is code generated by jsongen.py. Do not hand-hack it! */ #define NITEMS(x) (int)(sizeof(x)/sizeof(x[0])) /*@ -fullinitblock */ """ outboard = [] for description in spec: generate(description) print """ /*@ +fullinitblock */ /* Generated code ends. */ """ # The following sets edit modes for GNU EMACS # Local Variables: # mode:python # End: gpsd-3.9/lcdgps.c0000664000175000017500000002532112140074433012111 0ustar esresr/* * Copyright (c) 2005 Jeff Francis * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* Jeff Francis jeff@gritch.org A client that passes gpsd data to lcdproc, turning your car computer into a very expensive feature-free GPS receiver ;^). Currently assumes a 4x40 LCD and writes data formatted to fit that size screen. Also displays Maidenhead grid square output for the hams among us. This program assumes that LCDd (lcdproc) is running locally on the default (13666) port. The #defines LCDDHOST and LCDDPORT can be changed to talk to a different host and TCP port. */ #define LCDDHOST "localhost" #define LCDDPORT 13666 #define CLIMB 3 #include #include #ifndef S_SPLINT_S #include #ifndef AF_UNSPEC #include #endif /* AF_UNSPEC */ #endif /* S_SPLINT_S */ #ifndef INADDR_ANY #include #endif /* INADDR_ANY */ #include #include #include #include #include #ifndef S_SPLINT_S #include #include #include #include #endif /* S_SPLINT_S */ #include "gps.h" #include "gpsdclient.h" #include "revision.h" /* Prototypes. */ ssize_t sockreadline(int sockd,void *vptr,size_t maxlen); ssize_t sockwriteline(int sockd,const void *vptr,size_t n); int send_lcd(char *buf); static struct fixsource_t source; static struct gps_data_t gpsdata; static float altfactor = METERS_TO_FEET; static float speedfactor = MPS_TO_MPH; static char *altunits = "ft"; static char *speedunits = "mph"; double avgclimb, climb[CLIMB]; /* Global socket descriptor for LCDd. */ int sd; /* Read a line from a socket */ ssize_t sockreadline(int sockd,void *vptr,size_t maxlen) { ssize_t n,rc; char c,*buffer; buffer=vptr; for (n = 1; n < (ssize_t)maxlen; n++) { if ((rc=read(sockd,&c,1))==1) { *buffer++=c; if (c=='\n') break; } else if (rc==0) { if (n==1) return(0); else break; } else { if (errno==EINTR) continue; return(-1); } } *buffer=0; return(n); } /* Write a line to a socket */ ssize_t sockwriteline(int sockd,const void *vptr,size_t n) { size_t nleft; ssize_t nwritten; const char *buffer; buffer=vptr; nleft=n; while (nleft>0) { if ((nwritten= write(sockd,buffer,nleft))<=0) { if (errno==EINTR) nwritten=0; else return(-1); } nleft-=nwritten; buffer+=nwritten; } return(n); } /* send a command to the LCD */ int send_lcd(char *buf) { int res; char rcvbuf[256]; size_t outlen; /* Limit the size of outgoing strings. */ outlen = strlen(buf); if (outlen > 255) { outlen = 256; } /* send the command */ (void)sockwriteline(sd,buf,outlen); /* TODO: check return status */ /* read the data */ res=sockreadline(sd,rcvbuf,sizeof(rcvbuf)-1); /* null-terminate the string before printing */ /* rcvbuf[res-1]=0; FIX-ME: not using this at the moment... */ /* return the result */ return(res); } /* reset the LCD */ static void reset_lcd(void) { /* Initialize. In theory, we should look at what's returned, as it tells us info on the attached LCD module. TODO. */ send_lcd("hello\n"); /* Set up the screen */ send_lcd("client_set name {GPSD test}\n"); send_lcd("screen_add gpsd\n"); send_lcd("widget_add gpsd one string\n"); send_lcd("widget_add gpsd two string\n"); send_lcd("widget_add gpsd three string\n"); send_lcd("widget_add gpsd four string\n"); } static enum deg_str_type deg_type = deg_dd; /* This gets called once for each new sentence. */ static void update_lcd(struct gps_data_t *gpsdata) { char tmpbuf[255]; char *gridsquare; /* Get our location in Maidenhead. */ gridsquare = maidenhead(gpsdata->fix.latitude,gpsdata->fix.longitude); /* Fill in the latitude and longitude. */ if (gpsdata->fix.mode >= MODE_2D) { int track; char *s; s = deg_to_str(deg_type, fabs(gpsdata->fix.latitude)); snprintf(tmpbuf, 254, "widget_set gpsd one 1 1 {Lat: %s %c}\n", s, (gpsdata->fix.latitude < 0) ? 'S' : 'N'); send_lcd(tmpbuf); s = deg_to_str(deg_type, fabs(gpsdata->fix.longitude)); snprintf(tmpbuf, 254, "widget_set gpsd two 1 2 {Lon: %s %c}\n", s, (gpsdata->fix.longitude < 0) ? 'W' : 'E'); send_lcd(tmpbuf); /* As a pilot, a heading of "0" gives me the heebie-jeebies (ie, 0 == "invalid heading data", 360 == "North"). */ track=(int)(gpsdata->fix.track); if (track == 0) track = 360; snprintf(tmpbuf, 254, "widget_set gpsd three 1 3 {%.1f %s %d deg}\n", gpsdata->fix.speed*speedfactor, speedunits, track); send_lcd(tmpbuf); } else { send_lcd("widget_set gpsd one 1 1 {Lat: n/a}\n"); send_lcd("widget_set gpsd two 1 2 {Lon: n/a}\n"); send_lcd("widget_set gpsd three 1 3 {n/a}\n"); } /* Fill in the altitude and fix status. */ if (gpsdata->fix.mode == MODE_3D) { int n; for(n=0;nfix.climb; avgclimb=0.0; for(n=0;nfix.altitude*altfactor), altunits, gridsquare, (int)(avgclimb * METERS_TO_FEET * 60)); } else { snprintf(tmpbuf, 254, "widget_set gpsd four 1 4 {n/a}\n"); } send_lcd(tmpbuf); } static void usage( char *prog) { (void)fprintf(stderr, "Usage: %s [-h] [-v] [-V] [-s] [-l {d|m|s}] [-u {i|m|n}] [server[:port:[device]]]\n\n" " -h Show this help, then exit\n" " -V Show version, then exit\n" " -s Sleep for 10 seconds before starting\n" " -j Turn on anti-jitter buffering\n" " -l {d|m|s} Select lat/lon format\n" " d = DD.dddddd (default)\n" " m = DD MM.mmmm'\n" " s = DD MM' SS.sss\"\n" " -u {i|m|n} Select Units\n" " i = Imperial (default)\n" " m = Metric'\n" " n = Nautical\"\n" , prog); exit(EXIT_FAILURE); } int main(int argc, char *argv[]) { int option, rc; struct sockaddr_in localAddr, servAddr; struct hostent *h; int n; for(n=0;nh_addrtype; memcpy((char *) &servAddr.sin_addr.s_addr, h->h_addr_list[0], h->h_length); servAddr.sin_port = htons(LCDDPORT); /* create socket */ sd = socket(AF_INET, SOCK_STREAM, 0); if (BAD_SOCKET(sd)) { perror("cannot open socket "); exit(EXIT_FAILURE); } /* bind any port number */ localAddr.sin_family = AF_INET; localAddr.sin_addr.s_addr = htonl(INADDR_ANY); localAddr.sin_port = htons(0); rc = bind(sd, (struct sockaddr *) &localAddr, sizeof(localAddr)); if (rc == -1) { printf("%s: cannot bind port TCP %u\n",argv[0],LCDDPORT); perror("error "); exit(EXIT_FAILURE); } /* connect to server */ rc = connect(sd, (struct sockaddr *) &servAddr, sizeof(servAddr)); if (rc == -1) { perror("cannot connect "); exit(EXIT_FAILURE); } /* Do the initial field label setup. */ reset_lcd(); /* Here's where updates go. */ unsigned int flags = WATCH_ENABLE; if (source.device != NULL) flags |= WATCH_DEVICE; (void)gps_stream(&gpsdata, flags, source.device); for (;;) { /* heart of the client */ if (!gps_waiting(&gpsdata, 50000000)) { fprintf( stderr, "lcdgps: error while waiting\n"); exit(EXIT_FAILURE); } else { (void)gps_read(&gpsdata); update_lcd(&gpsdata); } } } gpsd-3.9/leapsecond.py0000775000175000017500000003032712112750173013166 0ustar esresr#!/usr/bin/env python """ Usage: leapsecond.py [-v] { [-h] | [-f filename] | [-g filename] | [-H filename] | [-I isodate] | [-O unixdate] | [-i rfcdate] | [-o unixdate] | [-n MMMYYYY] } With no option, get the current leap-second value. This is the offset between UTC and GPS time, which changes occasionally due to variations in the Earth's rotation. Options: -I take a date in ISO8601 format and convert to Unix gmt time -O take a date in Unix gmt time and convert to ISO8601. -i take a date in RFC822 format and convert to Unix gmt time -o take a date in Unix gmt time and convert to RFC822. -c generate a C initializer listing leap seconds in Unix time. -f fetch USNO data and save to local cache file -H make leapsecond include -h print this help -v be verbose -g generate a plot of the leap-second trend over time. The command you probably want is "leapsecond.py -g leapseconds.cache | gnuplot -persist". -n compute Unix gmt time for an IERS leap-second event given as a three-letter English Gregorian month abbreviation followed by a 4-digit year. Public urls and local cache file used: http://hpiers.obspm.fr/iers/bul/bulc/bulletinc.dat ftp://maia.usno.navy.mil/ser7/tai-utc.dat file:///var/run/leapsecond leapseconds.cache This file is Copyright (c) 2013 by the GPSD project BSD terms apply: see the file COPYING in the distribution root for details. """ import os, urllib, re, random, time, calendar, math, sys verbose = 0 __locations = [ ( # U.S. Navy's offset-history file "ftp://maia.usno.navy.mil/ser7/tai-utc.dat", r" TAI-UTC= +([0-9-]+)[^\n]*\n$", 1, 19, # Magic TAI-GPS offset -> (leapseconds 1980) ), ( # International Earth Rotation Service Bulletin C "http://hpiers.obspm.fr/iers/bul/bulc/bulletinc.dat", r" UTC-TAI = ([0-9-]+)", -1, 19, # Magic TAI-GPS offset -> (leapseconds 1980) ), ] # File containing cached offset data. # Two fields: the offset, and the start of the current six-month span # between times it might change, in seconds since Unix epoch GMT (1970-01-01T00:00:00). __cachepath = "/var/run/leapsecond" def isotime(s): "Convert timestamps in ISO8661 format to and from Unix time including optional fractional seconds." if type(s) == type(1): return time.strftime("%Y-%m-%dT%H:%M:%S", time.gmtime(s)) elif type(s) == type(1.0): date = int(s) msec = s - date date = time.strftime("%Y-%m-%dT%H:%M:%S", time.gmtime(s)) return date + "." + repr(msec)[3:] elif type(s) == type("") or type(s) == type(u""): if s[-1] == "Z": s = s[:-1] if "." in s: (date, msec) = s.split(".") else: date = s msec = "0" # Note: no leap-second correction! return calendar.timegm(time.strptime(date, "%Y-%m-%dT%H:%M:%S")) + float("0." + msec) else: raise TypeError def retrieve(): "Retrieve current leap-second from Web sources." global verbose random.shuffle(__locations) # To spread the load for (url, regexp, sign, offset) in __locations: try: if os.path.exists(url): ifp = open(url) else: ifp = urllib.urlopen(url) txt = ifp.read() ifp.close() if verbose: print >>sys.stderr, "%s" % txt m = re.search(regexp, txt) if m: return int(m.group(1)) * sign - offset except IOError: if verbose: print >>sys.stderr, "IOError: %s" % url pass else: return None def last_insertion_time(): "Give last potential insertion time for a leap second." # We need the Unix times for midnights Jan 1 and Jul 1 this year. when = time.gmtime() (tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst) = when tm_mday = 1 tm_hour = tm_min = tm_sec = 0 tm_mon = 1; jan = (tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst) jan = int(calendar.timegm(jan)) tm_mon = 7; jul = (tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst) jul = int(calendar.timegm(jul)) # We have the UTC times of the potential insertion points this year. now = time.time() if now > jul: return jul else: return jan def get(): "Fetch GPS offset, from local cache file if possible." global verbose stale = False offset = None valid_from = None last_insertion = last_insertion_time() if not os.path.exists(__cachepath): stale = True else: try: cfp = open(__cachepath) txt = cfp.read() cfp.close() (offset, valid_from) = map(int, txt.split()) if valid_from < last_insertion: stale = True except (IOError, OSError, ValueError): if verbose: print >>sys.stderr, "can't read %s" % __cachepath stale = True # We now know whether the cached data is stale if not stale: return (offset, valid_from) else: current_offset = retrieve() # Try to cache this for later if current_offset != None: try: cfp = open(__cachepath, "w") cfp.write("%d %d\n" % (current_offset, last_insertion)) cfp.close() except (IOError, OSError): if verbose: print >>sys.stderr, "can't write %s" % __cachepath pass return (current_offset, valid_from) def save_leapseconds(outfile): "Fetch the USNO leap-second history data and make a leap-second list since Unix epoch GMT (1970-01-01T00:00:00)." global verbose skip = True try: fetchobj = urllib.urlopen("ftp://maia.usno.navy.mil/ser7/tai-utc.dat") # This code assumes that after 1980, leap-second increments are # always integrally one second and every increment is listed here fp = open(outfile, "w") for line in fetchobj: if verbose: print >>sys.stderr, "%s" % line[:-1] if line.startswith(" 1980"): skip = False if skip: continue fields = line.strip().split() md = leapbound(fields[0], fields[1]) if verbose: print >>sys.stderr, "# %s" % md fp.write(repr(iso_to_unix(md)) + "\t# (" + repr(md) + ")\n") fp.close() except IOError: print >>sys.stderr, "Fetch from USNO failed, %s not updated." % outfile def fetch_leapsecs(filename): "Get a list of leap seconds from the local cache of the USNO history" leapsecs = [] for line in open(str(filename)): leapsecs.append(float(line.strip().split()[0])) return leapsecs def make_leapsecond_include(infile): "Get the current leap second count and century from the local cache usable as c preprocessor #define" leapjumps = fetch_leapsecs(infile) year = time.strftime("%Y", time.gmtime(time.time())) leapsecs = 0 for leapjump in leapjumps: if leapjump < time.time(): leapsecs += 1 return ("#define CENTURY_BASE\t%s00\n" % year[:2]) + ("#define LEAPSECOND_NOW\t%d\n" % (leapsecs-1)) def leastsquares(tuples): "Generate coefficients for a least-squares fit to the specified data." sum_x=0 sum_y=0 sum_xx=0 sum_xy=0 for (x, y) in tuples: sum_x = sum_x+x sum_y = sum_y+y xx = math.pow(x,2) sum_xx = sum_xx+xx xy = x*y sum_xy = sum_xy+xy n = len(tuples) c = (-sum_x*sum_xy+sum_xx*sum_y)/(n*sum_xx-sum_x*sum_x) b = (-sum_x*sum_y+n*sum_xy)/(n*sum_xx-sum_x*sum_x) # y = b * x + c maxerr = 0 for (x, y) in tuples: err = y - (x * b + c) if err > maxerr: maxerr = err return (b, c, maxerr) def iso_to_unix(tv): "Local Unix time to iso date." return calendar.timegm(time.strptime(tv, "%Y-%m-%dT%H:%M:%S")) def unix_to_iso(tv): "iso date to gmt Unix time." return time.strftime("%Y-%m-%dT%H:%M:%S", time.gmtime(tv)) def graph_history(filename): "Generate a GNUPLOT plot of the leap-second history." raw = fetch_leapsecs(filename) (b, c, e) = leastsquares(zip(range(len(raw)), raw)) e /= (60 * 60 * 24 * 7) dates = map(lambda t: time.strftime("%Y-%m-%d",time.localtime(t)), raw) fmt = '' fmt += '# Least-squares approximation of Unix time from leapsecond is:\n' fmt += 'lsq(x) = %s * x + %s\n' % (b, c) fmt += '# Maximum residual error is %.2f weeks\n' % e fmt += 'set autoscale\n' fmt += 'set xlabel "Leap second offset"\n' fmt += 'set xrange [0:%d]\n' % (len(dates)-1) fmt += 'set ylabel "Leap second date"\n' fmt += 'set timefmt "%Y-%m-%d"\n' fmt += 'set ydata time\n' fmt += 'set format y "%Y-%m-%d"\n' fmt += 'set yrange ["%s":"%s"]\n' % (dates[0], dates[-1]) fmt += 'set key left top box\n' fmt += 'set data style linespoints\n' fmt += 'plot "-" using 1:3 title "Leap-second trend";\n' for (i, (r, d)) in enumerate(zip(raw, dates)): fmt += "%d\t%s\t%s\n" % (i, r, d) fmt += 'e\n' print fmt def rfc822_to_unix(tv): "Local Unix time to RFC822 date." return calendar.timegm(time.strptime(tv, "%d %b %Y %H:%M:%S")) def unix_to_rfc822(tv): "RFC822 date to gmt Unix time." return time.strftime("%d %b %Y %H:%M:%S", time.gmtime(tv)) def printnext(val): "Compute Unix time correponsing to a scheduled leap second." if val[:3].lower() not in ("jun", "dec"): print >>sys.stderr, "leapsecond.py: -n argument must begin with "\ "'Jun' or 'Dec'" raise SystemExit, 1 else: month = val[:3].lower() if len(val) != 7: print >>sys.stderr, "leapsecond.py: -n argument must be of "\ "the form {jun|dec}nnnn." raise SystemExit, 1 try: year = int(val[3:]) except ValueError: print >>sys.stderr, "leapsecond.py: -n argument must end "\ "with a 4-digit year." raise SystemExit, 1 # Date looks valid tv = leapbound(year, month) print "%d /* %s */" % (iso_to_unix(tv), tv) def leapbound(year, month): "Return a leap-second date in RFC822 form." # USNO lists JAN and JUL (month following the leap second). # IERS lists DEC and JUN (month preceding the leap second). if month.upper() == "JAN": tv = "%s-12-31T23:59:60" % (int(year)-1) elif month.upper() in ("JUN", "JUL"): tv = "%s-06-30T23:59:59" % year elif month.upper() == "DEC": tv = "%s-12-31T23:59:59" % year return tv """ Main part """ def usage(): print __doc__ raise SystemExit, 0 if __name__ == '__main__': import getopt (options, arguments) = getopt.getopt(sys.argv[1:], "hvf:g:H:i:n:o:I:O:") for (switch, val) in options: if (switch == '-h'): # help, get usage only usage() if (switch == '-v'): # be verbose verbose=1 if (switch == '-f'): # Fetch USNO data to cache locally save_leapseconds(val) raise SystemExit, 0 elif (switch == '-g'): # Graph the leap_second history graph_history(val) raise SystemExit, 0 elif (switch == '-H'): # make leapsecond include sys.stdout.write(make_leapsecond_include(val)) raise SystemExit, 0 elif (switch == '-i'): # Compute Unix time from RFC822 date print rfc822_to_unix(val) raise SystemExit, 0 elif (switch == '-n'): # Compute possible next leapsecond printnext(val) raise SystemExit, 0 elif (switch == '-o'): # Compute RFC822 date from Unix time print unix_to_rfc822(float(val)) raise SystemExit, 0 elif (switch == '-I'): # Compute Unix time from ISO8601 date print isotime(val) raise SystemExit, 0 elif (switch == '-O'): # Compute ISO8601 date from Unix time print isotime(float(val)) raise SystemExit, 0 (offset, valid_from) = get() print "Current leap second: %d, valid from %s" % (offset, unix_to_iso(valid_from)) # End gpsd-3.9/leapseconds.cache0000664000175000017500000000114712135522567013770 0ustar esresr315532800 # ('1979-12-31T23:59:60') 362793599 # ('1981-06-30T23:59:59') 394329599 # ('1982-06-30T23:59:59') 425865599 # ('1983-06-30T23:59:59') 489023999 # ('1985-06-30T23:59:59') 567993600 # ('1987-12-31T23:59:60') 631152000 # ('1989-12-31T23:59:60') 662688000 # ('1990-12-31T23:59:60') 709948799 # ('1992-06-30T23:59:59') 741484799 # ('1993-06-30T23:59:59') 773020799 # ('1994-06-30T23:59:59') 820454400 # ('1995-12-31T23:59:60') 867715199 # ('1997-06-30T23:59:59') 915148800 # ('1998-12-31T23:59:60') 1136073600 # ('2005-12-31T23:59:60') 1230768000 # ('2008-12-31T23:59:60') 1341100799 # ('2012-06-30T23:59:59') gpsd-3.9/libQgpsmm.prl.in0000664000175000017500000000051511762140435013553 0ustar esresrQMAKE_PRO_INPUT = libQgpsmm.pro QMAKE_PRL_TARGET = libQgpsmm.so.@LIBGPSVERSION@ QMAKE_PRL_CONFIG = include_source_dir lex yacc warn_on uic resources qt warn_on release incremental link_prl def_files_disabled exceptions no_mocdepend release stl qt_no_framework create_pc create_prl moc thread dll QMAKE_PRL_VERSION = @LIBGPSVERSION@ gpsd-3.9/libgps.h0000600000175000017500000000276412131420036012110 0ustar esresr/* libgps.h -- prototypes for internals of the libgps library */ /* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #ifndef _GPSD_LIBGPS_H_ #define _GPSD_LIBGPS_H_ /* values to poke in the gps_fd member if we get it via something special */ #define SHM_PSEUDO_FD -1 #define DBUS_PSEUDO_FD -2 extern int gps_sock_open(/*@null@*/const char *, /*@null@*/const char *, /*@out@*/struct gps_data_t *); extern int gps_sock_close(struct gps_data_t *); extern int gps_sock_send(struct gps_data_t *, const char *); extern int gps_sock_read(/*@out@*/struct gps_data_t *); extern bool gps_sock_waiting(const struct gps_data_t *, int); extern int gps_sock_stream(struct gps_data_t *, unsigned int, /*@null@*/void *); extern const char /*@observer@*/ *gps_sock_data(const struct gps_data_t *); extern int gps_sock_mainloop(struct gps_data_t *, int, void (*)(struct gps_data_t *)); extern int gps_shm_open(/*@out@*/struct gps_data_t *); extern void gps_shm_close(struct gps_data_t *); extern bool gps_shm_waiting(const struct gps_data_t *, int); extern int gps_shm_read(struct gps_data_t *); extern int gps_shm_mainloop(struct gps_data_t *, int, void (*)(struct gps_data_t *)); extern int gps_dbus_open(struct gps_data_t *); extern int gps_dbus_mainloop(struct gps_data_t *, int, void (*)(struct gps_data_t *)); #define PRIVATE(gpsdata) ((struct privdata_t *)(gpsdata)->privdata) #endif /* _GPSD_LIBGPS_H_ */ gpsd-3.9/libgps.pc.in0000664000175000017500000000033611762140435012706 0ustar esresrprefix=@prefix@ exec_prefix=${prefix} libdir=${exec_prefix}@libdir@ includedir=${prefix}/include Name: GPSD Description: GPS Daemon communication library Version: @VERSION@ Cflags: -I${includedir} Libs: -L${libdir} -lgps gpsd-3.9/libgps.xml0000664000175000017500000003270512075605134012504 0ustar esresr 14 Aug 2004 3 3 The GPSD Project GPSD Documentation libgps C service library for communicating with the GPS daemon C: #include <gps.h> int gps_open char *server char * port struct gps_data_t *gpsdata int gps_send struct gps_data_t *gpsdata char *fmt... int gps_read struct gps_data_t *gpsdata bool gps_waiting const struct gps_data_t *gpsdata int timeout char *gps_data const struct gps_data_t *gpsdata int gps_unpack char *buf struct gps_data_t *gpsdata void gps_close struct gps_data_t *gpsdata int gps_stream struct gps_data_t *gpsdata unsigned intflags void *data const char *gps_errstr int err Python: import gps session = gps.gps(host="localhost", port="2947") session.stream(flags=gps.WATCH_JSON) for report in session: process(report) del session DESCRIPTION libgps is a service library which supports communicating with an instance of the gpsd8; link it with the linker option -lgps. Take care to conditionalize your code on the major and minor API version symbols in gps.h; ideally, force a compilation failure if GPSD_API_MAJOR_VERSION is not a version you recognize. See the GPSD project website for more information on the protocol and API changes. Calling gps_open() initializes a GPS-data structure to hold the data collected by the GPS, and sets up access to gpsd1 via either the socket or shared-memory export. The shared-memory export is faster, but does not carry information about device activation and deactivation events and will not allow you to monitor device packet traffic. gps_open() returns 0 on success, -1 on errors and is re-entrant. errno is set depending on the error returned from the socket or shared-memory interface; see gps.h for values and explanations; also see gps_errstr(). The host address may be a DNS name, an IPv4 dotted quad, an IPV6 address, or the special value GPSD_SHARED_MEMORY referring to the shared-memory export; the library will do the right thing for any of these. gps_close() ends the session. gps_send() writes a command to the daemon. It does nothing when using the shared-memory export. The second argument must be a format string containing elements from the command set documented at gpsd1. It may have % elements as for sprintf3, which will be filled in from any following arguments. This function returns a -1 if there was a Unix-level write error, otherwise 0. Please read the LIMITATIONS section for additional information and cautions. See gps_stream() as a possible alternative. gps_read() accepts a response, or sequence of responses, from the daemon and interprets. This function does either a nonblocking read for data from the daemon or a fetch from shared memory; it returns a count of bytes read for success, -1 with errno set on a Unix-level read error, -1 with errno not set if the socket to the daemon has closed or if the shared-memory segment was unavailable, and 0 if no data is available. gps_waiting() can be used to check whether there is new data from the daemon. The second argument is the maximum amount of time to wait (in microseconds) on input before returning. It returns true if there is input waiting, false on timeout (no data waiting) or error condition. When using the socket export, this function is a convenience wrapper around a select2 call, and zeros errno on entry; you can test errno after exit to get more information about error conditions. gps_unpack() parses JSON from the argument buffer into the target of the session structure pointer argument. Included in case your application wishes to manage socket I/O itself. gps_data() returns the contents of the client data buffer (it returns NULL when using the shared-memory export). Use with care; this may fail to be a NUL-terminated string if WATCH_RAW is enabled. gps_stream() asks gpsd to stream the reports it has at you, to be made available when you poll (not available when using the shared-memory export). The second argument is a flag mask that sets various policy bits; see the list below. Calling gps_stream() more than once with different flag masks is allowed. WATCH_DISABLE Disable the reporting modes specified by the other WATCH_ flags. WATCH_ENABLE Disable the reporting modes specified by the other WATCH_ flags. This is the default. WATCH_JSON Enable JSON reporting of data. If WATCH_ENABLE is set, and no other WATCH flags are set, this is the default. WATCH_NMEA Enable generated pseudo-NMEA reporting on binary devices. WATCH_RARE Enable reporting of binary packets in encoded hex. WATCH_RAW Enable literal passthrough of binary packets. WATCH_SCALED When reporting AIS or Subframe data, scale integer quantities to floats if they have a divisor or rendering formula associated with them. WATCH_NEWSTYLE Force issuing a JSON initialization and getting new-style responses. This is the default. WATCH_OLDSTYLE Force issuing a W or R command and getting old-style responses. Warning: this flag (and the capability) will be removed in a future release. WATCH_DEVICE Restrict watching to a specified device, patch given as second argument. gps_errstr() returns an ASCII string (in English) describing the error indicated by a nonzero return value from gps_open(). Consult gps.h to learn more about the data members and associated timestamps. Note that information will accumulate in the session structure over time, and the 'valid' field is not automatically zeroed by each gps_read(). It is up to the client to zero that field when appropriate and to keep an eye on the fix and sentence timestamps. The Python implementation supports the same facilities as the socket-export calls in the C library; there is no shared-memory interface. gps_open() is replaced by the initialization of a gps session object; the other calls are methods of that object, and have the same names as the corresponding C functions. However, it is simpler just to use the session object as an iterator, as in the example given below. Resources within the session object will be properly released when it is garbage-collected. CODE EXAMPLE The following is an excerpted and simplified version of the libgps interface code from cgps1. struct gps_data_t gps_data; ret = gps_open(hostName, hostPort, &gps_data); (void) gps_stream(&gps_data, WATCH_ENABLE | WATCH_JSON, NULL); /* Put this in a loop with a call to a high resolution sleep () in it. */ if (gps_waiting (&gps_data, 500)) { errno = 0; if (gps_read (&gps_data) == -1) { ... } else { /* Display data from the GPS receiver. */ if (gps_data.set & ... } } /* When you are done... */ (void) gps_stream(&gps_data, WATCH_DISABLE, NULL); (void) gps_close (&gps_data); LIMITATIONS On some systems (those which do not support implicit linking in libraries) you may need to add -lm to your link line when you link libgps. It is always safe to do this. In the C API, incautious use of gps_send() may lead to subtle bugs. In order to not bloat struct gps_data_t with space used by responses that are not expected to be shipped in close sequence with each other, the storage for fields associated with certain responses are combined in a union. The risky set of responses includes VERSION, DEVICELIST, RTCM2, RTCM3, SUBFRAME, AIS, GST, and ERROR; it may not be limited to that set. The logic of the daemon's watcher mode is careful to avoid dangerous sequences, but you should read and understand the layout of struct gps_data_t before using gps_send() to request any of these responses. COMPATIBILITY The gps_query() supported in major versions 1 and 2 of this library has been removed. With the new streaming-oriented wire protocol behind this library, it is extremely unwise to assume that the first transmission from the daemon after a command is shipped to it will be the response to command. If you must send commands to the daemon explicitly, use gps_send() but beware that this ties your code to the GPSD wire protocol. It is not recommended. In earlier versions of the API gps_read() was a blocking call and there was a POLL_NONBLOCK option to make it nonblocking. gps_waiting() was added to reduce the number of wrong ways to code a polling loop. See the comment above the symbol GPSD_API_MAJOR_VERSION in gps.h for recent changes. SEE ALSO gpsd8, gps1, libgpsd3. libgpsmm3. AUTHOR Eric S. Raymond <esr@thyrsus.com>, C sample code Charles Curley <charlescurley@charlescurley.com> gpsd-3.9/libgps_core.c0000664000175000017500000002442712140077364013141 0ustar esresr/* libgps_core.c -- client interface library for the gpsd daemon * * Core portion of client library. Cals helpers to handle different eports. * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include #include #include #include "gpsd.h" #include "libgps.h" #include "gps_json.h" #ifdef LIBGPS_DEBUG int libgps_debuglevel = 0; static FILE *debugfp; void gps_enable_debug(int level, FILE * fp) /* control the level and destination of debug trace messages */ { libgps_debuglevel = level; debugfp = fp; #if defined(CLIENTDEBUG_ENABLE) && defined(SOCKET_EXPORT_ENABLE) json_enable_debug(level - DEBUG_JSON, fp); #endif } void libgps_trace(int errlevel, const char *fmt, ...) /* assemble command in printf(3) style */ { if (errlevel <= libgps_debuglevel) { char buf[BUFSIZ]; va_list ap; (void)strlcpy(buf, "libgps: ", BUFSIZ); va_start(ap, fmt); (void)vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), fmt, ap); va_end(ap); (void)fputs(buf, debugfp); } } #endif /* LIBGPS_DEBUG */ #ifdef SOCKET_EXPORT_ENABLE #define CONDITIONALLY_UNUSED #else #define CONDITIONALLY_UNUSED UNUSED #endif /* SOCKET_EXPORT_ENABLE */ int gps_open(/*@null@*/const char *host, /*@null@*/const char *port CONDITIONALLY_UNUSED, /*@out@*/ struct gps_data_t *gpsdata) { int status = -1; /*@ -branchstate -compdef @*/ if (!gpsdata) return -1; #ifdef SHM_EXPORT_ENABLE if (host != NULL && strcmp(host, GPSD_SHARED_MEMORY) == 0) { status = gps_shm_open(gpsdata); if (status == -1) status = SHM_NOSHARED; else if (status == -2) status = SHM_NOATTACH; } #endif /* SHM_EXPORT_ENABLE */ #ifdef DBUS_EXPORT_ENABLE if (host != NULL && strcmp(host, GPSD_DBUS_EXPORT) == 0) { /*@i@*/status = gps_dbus_open(gpsdata); if (status != 0) /* FIXME: it would be better not to throw away information here */ status = DBUS_FAILURE; } #endif /* DBUS_EXPORT_ENABLE */ #ifdef SOCKET_EXPORT_ENABLE if (status == -1) { status = gps_sock_open(host, port, gpsdata); } #endif /* SOCKET_EXPORT_ENABLE */ gpsdata->set = 0; gpsdata->status = STATUS_NO_FIX; gpsdata->satellites_used = 0; gps_clear_fix(&(gpsdata->fix)); gps_clear_dop(&(gpsdata->dop)); return status; /*@ +branchstate +compdef @*/ } int gps_close(struct gps_data_t *gpsdata) /* close a gpsd connection */ { int status = -1; libgps_debug_trace((DEBUG_CALLS, "gps_close()\n")); #ifdef SHM_EXPORT_ENABLE if (BAD_SOCKET((intptr_t)(gpsdata->gps_fd))) { gps_shm_close(gpsdata); status = 0; } #endif /* SHM_EXPORT_ENABLE */ #ifdef SOCKET_EXPORT_ENABLE if (status == -1) { status = gps_sock_close(gpsdata); } #endif /* SOCKET_EXPORT_ENABLE */ return status; } int gps_read(struct gps_data_t *gpsdata) /* read from a gpsd connection */ { int status = -1; libgps_debug_trace((DEBUG_CALLS, "gps_read() begins\n")); /*@ -usedef -compdef -uniondef @*/ #ifdef SHM_EXPORT_ENABLE if (BAD_SOCKET((intptr_t)(gpsdata->gps_fd))) { status = gps_shm_read(gpsdata); } #endif /* SHM_EXPORT_ENABLE */ #ifdef SOCKET_EXPORT_ENABLE if (status == -1 && !BAD_SOCKET((intptr_t)(gpsdata->gps_fd))) { status = gps_sock_read(gpsdata); } #endif /* SOCKET_EXPORT_ENABLE */ /*@ +usedef +compdef +uniondef @*/ libgps_debug_trace((DEBUG_CALLS, "gps_read() -> %d (%s)\n", status, gps_maskdump(gpsdata->set))); return status; } int gps_send(struct gps_data_t *gpsdata CONDITIONALLY_UNUSED, const char *fmt CONDITIONALLY_UNUSED, ...) /* send a command to the gpsd instance */ { int status = -1; char buf[BUFSIZ]; va_list ap; va_start(ap, fmt); (void)vsnprintf(buf, sizeof(buf) - 2, fmt, ap); va_end(ap); if (buf[strlen(buf) - 1] != '\n') (void)strlcat(buf, "\n", BUFSIZ); #ifdef SOCKET_EXPORT_ENABLE status = gps_sock_send(gpsdata, buf); #endif /* SOCKET_EXPORT_ENABLE */ return status; } int gps_stream(struct gps_data_t *gpsdata CONDITIONALLY_UNUSED, unsigned int flags CONDITIONALLY_UNUSED, /*@null@*/ void *d CONDITIONALLY_UNUSED) { int status = -1; #ifdef SOCKET_EXPORT_ENABLE status = gps_sock_stream(gpsdata, flags, d); #endif /* SOCKET_EXPORT_ENABLE */ return status; } const char /*@null observer@*/ *gps_data(const struct gps_data_t *gpsdata CONDITIONALLY_UNUSED) /* return the contents of the client data buffer */ { /*@-dependenttrans -observertrans@*/ const char *bufp = NULL; #ifdef SOCKET_EXPORT_ENABLE bufp = gps_sock_data(gpsdata); #endif /* SOCKET_EXPORT_ENABLE */ return bufp; /*@+dependenttrans +observertrans@*/ } bool gps_waiting(const struct gps_data_t *gpsdata CONDITIONALLY_UNUSED, int timeout CONDITIONALLY_UNUSED) /* is there input waiting from the GPS? */ { /* this is bogus, but I can't think of a better solution yet */ bool waiting = true; #ifdef SHM_EXPORT_ENABLE if ((intptr_t)(gpsdata->gps_fd) == SHM_PSEUDO_FD) waiting = gps_shm_waiting(gpsdata, timeout); #endif /* SHM_EXPORT_ENABLE */ #ifdef SOCKET_EXPORT_ENABLE if ((intptr_t)(gpsdata->gps_fd) >= 0) waiting = gps_sock_waiting(gpsdata, timeout); #endif /* SOCKET_EXPORT_ENABLE */ return waiting; } int gps_mainloop(struct gps_data_t *gpsdata, int timeout, void (*hook)(struct gps_data_t *gpsdata)) { int status = -1; libgps_debug_trace((DEBUG_CALLS, "gps_mainloop() begins\n")); /*@ -usedef -compdef -uniondef @*/ #ifdef SHM_EXPORT_ENABLE if ((intptr_t)(gpsdata->gps_fd) == SHM_PSEUDO_FD) status = gps_shm_mainloop(gpsdata, timeout, hook); #endif /* SHM_EXPORT_ENABLE */ #ifdef DBUS_EXPORT_ENABLE if ((intptr_t)(gpsdata->gps_fd) == DBUS_PSEUDO_FD) status = gps_dbus_mainloop(gpsdata, timeout, hook); #endif /* DBUS_EXPORT_ENABLE */ #ifdef SOCKET_EXPORT_ENABLE if ((intptr_t)(gpsdata->gps_fd) >= 0) status = gps_sock_mainloop(gpsdata, timeout, hook); #endif /* SOCKET_EXPORT_ENABLE */ /*@ +usedef +compdef +uniondef @*/ libgps_debug_trace((DEBUG_CALLS, "gps_mainloop() -> %d (%s)\n", status, gps_maskdump(gpsdata->set))); return status; } extern const char /*@observer@*/ *gps_errstr(const int err) { /* * We might add our own error codes in the future, e.g for * protocol compatibility checks */ #ifndef USE_QT #ifdef SHM_EXPORT_ENABLE if (err == SHM_NOSHARED) return "no shared-memory segment or daemon not running"; else if (err == SHM_NOATTACH) return "attach failed for unknown reason"; #endif /* SHM_EXPORT_ENABLE */ #ifdef DBUS_EXPORT_ENABLE if (err == DBUS_FAILURE) return "DBUS initialization failure"; #endif /* DBUS_EXPORT_ENABLE */ return netlib_errstr(err); #else static char buf[32]; (void)snprintf(buf, sizeof(buf), "Qt error %d", err); return buf; #endif } #ifdef LIBGPS_DEBUG void libgps_dump_state(struct gps_data_t *collect) { /* no need to dump the entire state, this is a sanity check */ #ifndef USE_QT /* will fail on a 32-bit machine */ (void)fprintf(debugfp, "flags: (0x%04x) %s\n", (unsigned int)collect->set, gps_maskdump(collect->set)); #endif if (collect->set & ONLINE_SET) (void)fprintf(debugfp, "ONLINE: %lf\n", collect->online); if (collect->set & TIME_SET) (void)fprintf(debugfp, "TIME: %lf\n", collect->fix.time); if (collect->set & LATLON_SET) (void)fprintf(debugfp, "LATLON: lat/lon: %lf %lf\n", collect->fix.latitude, collect->fix.longitude); if (collect->set & ALTITUDE_SET) (void)fprintf(debugfp, "ALTITUDE: altitude: %lf U: climb: %lf\n", collect->fix.altitude, collect->fix.climb); if (collect->set & SPEED_SET) (void)fprintf(debugfp, "SPEED: %lf\n", collect->fix.speed); if (collect->set & TRACK_SET) (void)fprintf(debugfp, "TRACK: track: %lf\n", collect->fix.track); if (collect->set & CLIMB_SET) (void)fprintf(debugfp, "CLIMB: climb: %lf\n", collect->fix.climb); if (collect->set & STATUS_SET) { const char *status_values[] = { "NO_FIX", "FIX", "DGPS_FIX" }; (void)fprintf(debugfp, "STATUS: status: %d (%s)\n", collect->status, status_values[collect->status]); } if (collect->set & MODE_SET) { const char *mode_values[] = { "", "NO_FIX", "MODE_2D", "MODE_3D" }; (void)fprintf(debugfp, "MODE: mode: %d (%s)\n", collect->fix.mode, mode_values[collect->fix.mode]); } if (collect->set & DOP_SET) (void)fprintf(debugfp, "DOP: satellites %d, pdop=%lf, hdop=%lf, vdop=%lf\n", collect->satellites_used, collect->dop.pdop, collect->dop.hdop, collect->dop.vdop); if (collect->set & VERSION_SET) (void)fprintf(debugfp, "VERSION: release=%s rev=%s proto=%d.%d\n", collect->version.release, collect->version.rev, collect->version.proto_major, collect->version.proto_minor); if (collect->set & POLICY_SET) (void)fprintf(debugfp, "POLICY: watcher=%s nmea=%s raw=%d scaled=%s timing=%s, devpath=%s\n", collect->policy.watcher ? "true" : "false", collect->policy.nmea ? "true" : "false", collect->policy.raw, collect->policy.scaled ? "true" : "false", collect->policy.timing ? "true" : "false", collect->policy.devpath); if (collect->set & SATELLITE_SET) { int i; (void)fprintf(debugfp, "SKY: satellites in view: %d\n", collect->satellites_visible); for (i = 0; i < collect->satellites_visible; i++) { (void)fprintf(debugfp, " %2.2d: %2.2d %3.3d %3.0f %c\n", collect->PRN[i], collect->elevation[i], collect->azimuth[i], collect->ss[i], collect->used[i] ? 'Y' : 'N'); } } if (collect->set & DEVICE_SET) (void)fprintf(debugfp, "DEVICE: Device is '%s', driver is '%s'\n", collect->dev.path, collect->dev.driver); #ifdef OLDSTYLE_ENABLE if (collect->set & DEVICEID_SET) (void)fprintf(debugfp, "GPSD ID is %s\n", collect->dev.subtype); #endif /* OLDSTYLE_ENABLE */ if (collect->set & DEVICELIST_SET) { int i; (void)fprintf(debugfp, "DEVICELIST:%d devices:\n", collect->devices.ndevices); for (i = 0; i < collect->devices.ndevices; i++) { (void)fprintf(debugfp, "%d: path='%s' driver='%s'\n", collect->devices.ndevices, collect->devices.list[i].path, collect->devices.list[i].driver); } } } #endif /* LIBGPS_DEBUG */ // end gpsd-3.9/libgps_dbus.c0000664000175000017500000000735112022345475013143 0ustar esresr#include #include #include #include #include #include #include #include #include #include #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include "gps.h" #include "gpsd_config.h" #include "libgps.h" #if defined(DBUS_EXPORT_ENABLE) && !defined(S_SPLINT_S) struct privdata_t { void (*handler)(struct gps_data_t *); }; #include /* * Unpleasant that we have to declare a static context pointer here - means * you can't have multiple DBUS sessions open (not that this matters * much in practice). The problem is the DBUS API lacks some hook * arguments that it ought to have. */ static struct gps_data_t *share_gpsdata; static DBusConnection *connection; static char gpsd_devname[BUFSIZ]; static DBusHandlerResult handle_gps_fix(DBusMessage * message) { DBusError error; /* this packet format was designed before we split eph */ double eph; dbus_error_init(&error); dbus_message_get_args(message, &error, DBUS_TYPE_DOUBLE, &share_gpsdata->fix.time, DBUS_TYPE_INT32, &share_gpsdata->fix.mode, DBUS_TYPE_DOUBLE, &share_gpsdata->fix.ept, DBUS_TYPE_DOUBLE, &share_gpsdata->fix.latitude, DBUS_TYPE_DOUBLE, &share_gpsdata->fix.longitude, DBUS_TYPE_DOUBLE, &eph, DBUS_TYPE_DOUBLE, &share_gpsdata->fix.altitude, DBUS_TYPE_DOUBLE, &share_gpsdata->fix.epv, DBUS_TYPE_DOUBLE, &share_gpsdata->fix.track, DBUS_TYPE_DOUBLE, &share_gpsdata->fix.epd, DBUS_TYPE_DOUBLE, &share_gpsdata->fix.speed, DBUS_TYPE_DOUBLE, &share_gpsdata->fix.eps, DBUS_TYPE_DOUBLE, &share_gpsdata->fix.climb, DBUS_TYPE_DOUBLE, &share_gpsdata->fix.epc, DBUS_TYPE_STRING, &gpsd_devname, DBUS_TYPE_INVALID); if (share_gpsdata->fix.mode > MODE_NO_FIX ) share_gpsdata->status = STATUS_FIX; else share_gpsdata->status = STATUS_NO_FIX; PRIVATE(share_gpsdata)->handler(share_gpsdata); return DBUS_HANDLER_RESULT_HANDLED; } /* * Message dispatching function * */ static DBusHandlerResult signal_handler(DBusConnection * connection UNUSED, DBusMessage * message) { if (dbus_message_is_signal(message, "org.gpsd", "fix")) return handle_gps_fix(message); /* * ignore all other messages */ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } int gps_dbus_open(struct gps_data_t *gpsdata) { DBusError error; gpsdata->privdata = (void *)malloc(sizeof(struct privdata_t)); if (gpsdata->privdata == NULL) return -1; dbus_error_init(&error); connection = dbus_bus_get(DBUS_BUS_SYSTEM, &error); if (dbus_error_is_set(&error)) { syslog(LOG_CRIT, "%s: %s", error.name, error.message); return 3; } dbus_bus_add_match(connection, "type='signal'", &error); if (dbus_error_is_set(&error)) { syslog(LOG_CRIT, "unable to add match for signals %s: %s", error.name, error.message); return 4; } if (!dbus_connection_add_filter (connection, (DBusHandleMessageFunction) signal_handler, NULL, NULL)) { syslog(LOG_CRIT, "unable to register filter with the connection"); return 5; } #ifndef USE_QT gpsdata->gps_fd = DBUS_PSEUDO_FD; #else gpsdata->gps_fd = (void *)(intptr_t)DBUS_PSEUDO_FD; #endif /* USE_QT */ share_gpsdata = gpsdata; return 0; } int gps_dbus_mainloop(struct gps_data_t *gpsdata, int timeout, void (*hook)(struct gps_data_t *)) /* run a DBUS main loop with a specified handler */ { share_gpsdata = gpsdata; PRIVATE(share_gpsdata)->handler = (void (*)(struct gps_data_t *))hook; for (;;) if (dbus_connection_read_write_dispatch(connection, timeout * 1000) != TRUE) return -1; return 0; } #endif /* defined(DBUS_EXPORT_ENABLE) && !defined(S_SPLINT_S) */ gpsd-3.9/libgps_json.c0000664000175000017500000004233612022345475013161 0ustar esresr/**************************************************************************** NAME libgps_json.c - deserialize gpsd data coming from the server DESCRIPTION This module uses the generic JSON parser to get data from JSON representations to libgps structures. PERMISSIONS Written by Eric S. Raymond, 2009 This file is Copyright (c) 2010 by the GPSD project BSD terms apply: see the file COPYING in the distribution root for details. ***************************************************************************/ #include #include #include #include #include "gpsd.h" #ifdef SOCKET_EXPORT_ENABLE #include "gps_json.h" /* * There's a splint limitation that parameters can be declared * @out@ or @null@ but not, apparently, both. This collides with * the (admittedly tricky) way we use endptr. The workaround is to * declare it @null@ and use -compdef around the JSON reader calls. */ /*@-compdef@*/ static int json_tpv_read(const char *buf, struct gps_data_t *gpsdata, /*@null@*/ const char **endptr) { /*@ -fullinitblock @*/ const struct json_attr_t json_attrs_1[] = { /* *INDENT-OFF* */ {"class", t_check, .dflt.check = "TPV"}, {"device", t_string, .addr.string = gpsdata->dev.path, .len = sizeof(gpsdata->dev.path)}, {"tag", t_string, .addr.string = gpsdata->tag, .len = sizeof(gpsdata->tag)}, {"time", t_time, .addr.real = &gpsdata->fix.time, .dflt.real = NAN}, {"time", t_real, .addr.real = &gpsdata->fix.time, .dflt.real = NAN}, {"ept", t_real, .addr.real = &gpsdata->fix.ept, .dflt.real = NAN}, {"lon", t_real, .addr.real = &gpsdata->fix.longitude, .dflt.real = NAN}, {"lat", t_real, .addr.real = &gpsdata->fix.latitude, .dflt.real = NAN}, {"alt", t_real, .addr.real = &gpsdata->fix.altitude, .dflt.real = NAN}, {"epx", t_real, .addr.real = &gpsdata->fix.epx, .dflt.real = NAN}, {"epy", t_real, .addr.real = &gpsdata->fix.epy, .dflt.real = NAN}, {"epv", t_real, .addr.real = &gpsdata->fix.epv, .dflt.real = NAN}, {"track", t_real, .addr.real = &gpsdata->fix.track, .dflt.real = NAN}, {"speed", t_real, .addr.real = &gpsdata->fix.speed, .dflt.real = NAN}, {"climb", t_real, .addr.real = &gpsdata->fix.climb, .dflt.real = NAN}, {"epd", t_real, .addr.real = &gpsdata->fix.epd, .dflt.real = NAN}, {"eps", t_real, .addr.real = &gpsdata->fix.eps, .dflt.real = NAN}, {"epc", t_real, .addr.real = &gpsdata->fix.epc, .dflt.real = NAN}, {"mode", t_integer, .addr.integer = &gpsdata->fix.mode, .dflt.integer = MODE_NOT_SEEN}, {NULL}, /* *INDENT-ON* */ }; /*@ +fullinitblock @*/ return json_read_object(buf, json_attrs_1, endptr); } static int json_noise_read(const char *buf, struct gps_data_t *gpsdata, /*@null@*/ const char **endptr) { /*@ -fullinitblock @*/ const struct json_attr_t json_attrs_1[] = { /* *INDENT-OFF* */ {"class", t_check, .dflt.check = "GST"}, {"device", t_string, .addr.string = gpsdata->dev.path, .len = sizeof(gpsdata->dev.path)}, {"tag", t_string, .addr.string = gpsdata->tag, .len = sizeof(gpsdata->tag)}, {"time", t_time, .addr.real = &gpsdata->gst.utctime, .dflt.real = NAN}, {"time", t_real, .addr.real = &gpsdata->gst.utctime, .dflt.real = NAN}, {"rms", t_real, .addr.real = &gpsdata->gst.rms_deviation, .dflt.real = NAN}, {"major", t_real, .addr.real = &gpsdata->gst.smajor_deviation, .dflt.real = NAN}, {"minor", t_real, .addr.real = &gpsdata->gst.sminor_deviation, .dflt.real = NAN}, {"orient", t_real, .addr.real = &gpsdata->gst.smajor_orientation, .dflt.real = NAN}, {"lat", t_real, .addr.real = &gpsdata->gst.lat_err_deviation, .dflt.real = NAN}, {"lon", t_real, .addr.real = &gpsdata->gst.lon_err_deviation, .dflt.real = NAN}, {"alt", t_real, .addr.real = &gpsdata->gst.alt_err_deviation, .dflt.real = NAN}, {NULL}, /* *INDENT-ON* */ }; /*@ +fullinitblock @*/ return json_read_object(buf, json_attrs_1, endptr); } static int json_sky_read(const char *buf, struct gps_data_t *gpsdata, /*@null@*/ const char **endptr) { bool usedflags[MAXCHANNELS]; /*@ -fullinitblock @*/ const struct json_attr_t json_attrs_2_1[] = { /* *INDENT-OFF* */ {"PRN", t_integer, .addr.integer = gpsdata->PRN}, {"el", t_integer, .addr.integer = gpsdata->elevation}, {"az", t_integer, .addr.integer = gpsdata->azimuth}, {"ss", t_real, .addr.real = gpsdata->ss}, {"used", t_boolean, .addr.boolean = usedflags}, /* *INDENT-ON* */ {NULL}, }; const struct json_attr_t json_attrs_2[] = { /* *INDENT-OFF* */ {"class", t_check, .dflt.check = "SKY"}, {"device", t_string, .addr.string = gpsdata->dev.path, .len = sizeof(gpsdata->dev.path)}, {"tag", t_string, .addr.string = gpsdata->tag, .len = sizeof(gpsdata->tag)}, {"time", t_time, .addr.real = &gpsdata->skyview_time, .dflt.real = NAN}, {"time", t_real, .addr.real = &gpsdata->skyview_time, .dflt.real = NAN}, {"hdop", t_real, .addr.real = &gpsdata->dop.hdop, .dflt.real = NAN}, {"xdop", t_real, .addr.real = &gpsdata->dop.xdop, .dflt.real = NAN}, {"ydop", t_real, .addr.real = &gpsdata->dop.ydop, .dflt.real = NAN}, {"vdop", t_real, .addr.real = &gpsdata->dop.vdop, .dflt.real = NAN}, {"tdop", t_real, .addr.real = &gpsdata->dop.tdop, .dflt.real = NAN}, {"pdop", t_real, .addr.real = &gpsdata->dop.pdop, .dflt.real = NAN}, {"gdop", t_real, .addr.real = &gpsdata->dop.gdop, .dflt.real = NAN}, {"satellites", t_array, .addr.array.element_type = t_object, .addr.array.arr.objects.subtype=json_attrs_2_1, .addr.array.maxlen = MAXCHANNELS, .addr.array.count = &gpsdata->satellites_visible}, {NULL}, /* *INDENT-ON* */ }; /*@ +fullinitblock @*/ int status, i, j; for (i = 0; i < MAXCHANNELS; i++) { gpsdata->PRN[i] = 0; usedflags[i] = false; } status = json_read_object(buf, json_attrs_2, endptr); if (status != 0) return status; gpsdata->satellites_used = 0; gpsdata->satellites_visible = 0; (void)memset(gpsdata->used, '\0', sizeof(gpsdata->used)); for (i = j = 0; i < MAXCHANNELS; i++) { if(gpsdata->PRN[i] > 0) gpsdata->satellites_visible++; if (usedflags[i]) { gpsdata->used[j++] = gpsdata->PRN[i]; gpsdata->satellites_used++; } } return 0; } static int json_att_read(const char *buf, struct gps_data_t *gpsdata, /*@null@*/ const char **endptr) { /*@ -fullinitblock @*/ const struct json_attr_t json_attrs_1[] = { /* *INDENT-OFF* */ {"class", t_check, .dflt.check = "ATT"}, {"device", t_string, .addr.string = gpsdata->dev.path, .len = sizeof(gpsdata->dev.path)}, {"tag", t_string, .addr.string = gpsdata->tag, .len = sizeof(gpsdata->tag)}, {"heading", t_real, .addr.real = &gpsdata->attitude.heading, .dflt.real = NAN}, {"mag_st", t_character, .addr.character = &gpsdata->attitude.mag_st}, {"pitch", t_real, .addr.real = &gpsdata->attitude.pitch, .dflt.real = NAN}, {"pitch_st", t_character, .addr.character = &gpsdata->attitude.pitch_st}, {"roll", t_real, .addr.real = &gpsdata->attitude.roll, .dflt.real = NAN}, {"roll_st", t_character, .addr.character = &gpsdata->attitude.roll_st}, {"yaw", t_real, .addr.real = &gpsdata->attitude.yaw, .dflt.real = NAN}, {"yaw_st", t_character, .addr.character = &gpsdata->attitude.yaw_st}, {"mag_len", t_real, .addr.real = &gpsdata->attitude.mag_len, .dflt.real = NAN}, {"mag_x", t_real, .addr.real = &gpsdata->attitude.mag_x, .dflt.real = NAN}, {"mag_y", t_real, .addr.real = &gpsdata->attitude.mag_y, .dflt.real = NAN}, {"mag_z", t_real, .addr.real = &gpsdata->attitude.mag_z, .dflt.real = NAN}, {"acc_len", t_real, .addr.real = &gpsdata->attitude.acc_len, .dflt.real = NAN}, {"acc_x", t_real, .addr.real = &gpsdata->attitude.acc_x, .dflt.real = NAN}, {"acc_y", t_real, .addr.real = &gpsdata->attitude.acc_y, .dflt.real = NAN}, {"acc_z", t_real, .addr.real = &gpsdata->attitude.acc_z, .dflt.real = NAN}, {"gyro_x", t_real, .addr.real = &gpsdata->attitude.gyro_x, .dflt.real = NAN}, {"gyro_y", t_real, .addr.real = &gpsdata->attitude.gyro_y, .dflt.real = NAN}, {"temp", t_real, .addr.real = &gpsdata->attitude.temp, .dflt.real = NAN}, {"depth", t_real, .addr.real = &gpsdata->attitude.depth, .dflt.real = NAN}, {NULL}, /* *INDENT-ON* */ }; /*@ +fullinitblock @*/ return json_read_object(buf, json_attrs_1, endptr); } static int json_devicelist_read(const char *buf, struct gps_data_t *gpsdata, /*@null@*/ const char **endptr) { /*@ -fullinitblock @*/ const struct json_attr_t json_attrs_subdevices[] = { /* *INDENT-OFF* */ {"class", t_check, .dflt.check = "DEVICE"}, {"path", t_string, STRUCTOBJECT(struct devconfig_t, path), .len = sizeof(gpsdata->devices.list[0].path)}, {"activated", t_time, STRUCTOBJECT(struct devconfig_t, activated)}, {"activated", t_real, STRUCTOBJECT(struct devconfig_t, activated)}, {"flags", t_integer, STRUCTOBJECT(struct devconfig_t, flags)}, {"driver", t_string, STRUCTOBJECT(struct devconfig_t, driver), .len = sizeof(gpsdata->devices.list[0].driver)}, {"subtype", t_string, STRUCTOBJECT(struct devconfig_t, subtype), .len = sizeof(gpsdata->devices.list[0].subtype)}, {"native", t_integer, STRUCTOBJECT(struct devconfig_t, driver_mode), .dflt.integer = -1}, {"bps", t_integer, STRUCTOBJECT(struct devconfig_t, baudrate), .dflt.integer = -1}, {"parity", t_character, STRUCTOBJECT(struct devconfig_t, parity), .dflt.character = 'N'}, {"stopbits", t_integer, STRUCTOBJECT(struct devconfig_t, stopbits), .dflt.integer = -1}, {"cycle", t_real, STRUCTOBJECT(struct devconfig_t, cycle), .dflt.real = NAN}, {"mincycle", t_real, STRUCTOBJECT(struct devconfig_t, mincycle), .dflt.real = NAN}, {NULL}, /* *INDENT-ON* */ }; /*@-type@*//* STRUCTARRAY confuses splint */ const struct json_attr_t json_attrs_devices[] = { {"class", t_check,.dflt.check = "DEVICES"}, {"devices", t_array, STRUCTARRAY(gpsdata->devices.list, json_attrs_subdevices, &gpsdata->devices.ndevices)}, {NULL}, }; /*@+type@*/ /*@ +fullinitblock @*/ int status; memset(&gpsdata->devices, '\0', sizeof(gpsdata->devices)); status = json_read_object(buf, json_attrs_devices, endptr); if (status != 0) { return status; } gpsdata->devices.time = timestamp(); return 0; } static int json_version_read(const char *buf, struct gps_data_t *gpsdata, /*@null@*/ const char **endptr) { /*@ -fullinitblock @*/ const struct json_attr_t json_attrs_version[] = { /* *INDENT-OFF* */ {"class", t_check, .dflt.check = "VERSION"}, {"release", t_string, .addr.string = gpsdata->version.release, .len = sizeof(gpsdata->version.release)}, {"rev", t_string, .addr.string = gpsdata->version.rev, .len = sizeof(gpsdata->version.rev)}, {"proto_major", t_integer, .addr.integer = &gpsdata->version.proto_major}, {"proto_minor", t_integer, .addr.integer = &gpsdata->version.proto_minor}, {"remote", t_string, .addr.string = gpsdata->version.remote, .len = sizeof(gpsdata->version.remote)}, {NULL}, /* *INDENT-ON* */ }; /*@ +fullinitblock @*/ int status; memset(&gpsdata->version, '\0', sizeof(gpsdata->version)); status = json_read_object(buf, json_attrs_version, endptr); return status; } static int json_error_read(const char *buf, struct gps_data_t *gpsdata, /*@null@*/ const char **endptr) { /*@ -fullinitblock @*/ const struct json_attr_t json_attrs_error[] = { /* *INDENT-OFF* */ {"class", t_check, .dflt.check = "ERROR"}, {"message", t_string, .addr.string = gpsdata->error, .len = sizeof(gpsdata->error)}, {NULL}, /* *INDENT-ON* */ }; /*@ +fullinitblock @*/ int status; memset(&gpsdata->error, '\0', sizeof(gpsdata->error)); status = json_read_object(buf, json_attrs_error, endptr); if (status != 0) return status; return status; } int libgps_json_unpack(const char *buf, struct gps_data_t *gpsdata, const char **end) /* the only entry point - unpack a JSON object into gpsdata_t substructures */ { int status; char *classtag = strstr(buf, "\"class\":"); if (classtag == NULL) return -1; #define STARTSWITH(str, prefix) strncmp(str, prefix, sizeof(prefix)-1)==0 if (STARTSWITH(classtag, "\"class\":\"TPV\"")) { status = json_tpv_read(buf, gpsdata, end); gpsdata->status = STATUS_FIX; gpsdata->set = STATUS_SET; if (isnan(gpsdata->fix.time) == 0) gpsdata->set |= TIME_SET; if (isnan(gpsdata->fix.ept) == 0) gpsdata->set |= TIMERR_SET; if (isnan(gpsdata->fix.longitude) == 0) gpsdata->set |= LATLON_SET; if (isnan(gpsdata->fix.altitude) == 0) gpsdata->set |= ALTITUDE_SET; if (isnan(gpsdata->fix.epx) == 0 && isnan(gpsdata->fix.epy) == 0) gpsdata->set |= HERR_SET; if (isnan(gpsdata->fix.epv) == 0) gpsdata->set |= VERR_SET; if (isnan(gpsdata->fix.track) == 0) gpsdata->set |= TRACK_SET; if (isnan(gpsdata->fix.speed) == 0) gpsdata->set |= SPEED_SET; if (isnan(gpsdata->fix.climb) == 0) gpsdata->set |= CLIMB_SET; if (isnan(gpsdata->fix.epd) == 0) gpsdata->set |= TRACKERR_SET; if (isnan(gpsdata->fix.eps) == 0) gpsdata->set |= SPEEDERR_SET; if (isnan(gpsdata->fix.epc) == 0) gpsdata->set |= CLIMBERR_SET; if (isnan(gpsdata->fix.epc) == 0) gpsdata->set |= CLIMBERR_SET; if (gpsdata->fix.mode != MODE_NOT_SEEN) gpsdata->set |= MODE_SET; return status; } else if (STARTSWITH(classtag, "\"class\":\"GST\"")) { status = json_noise_read(buf, gpsdata, end); if (status == 0) { gpsdata->set &= ~UNION_SET; gpsdata->set |= GST_SET; } return status; } else if (STARTSWITH(classtag, "\"class\":\"SKY\"")) { status = json_sky_read(buf, gpsdata, end); if (status == 0) gpsdata->set |= SATELLITE_SET; return status; } else if (STARTSWITH(classtag, "\"class\":\"ATT\"")) { status = json_att_read(buf, gpsdata, end); if (status == 0) { gpsdata->set &= ~UNION_SET; gpsdata->set |= ATTITUDE_SET; } return status; } else if (STARTSWITH(classtag, "\"class\":\"DEVICES\"")) { status = json_devicelist_read(buf, gpsdata, end); if (status == 0) { gpsdata->set &= ~UNION_SET; gpsdata->set |= DEVICELIST_SET; } return status; } else if (STARTSWITH(classtag, "\"class\":\"DEVICE\"")) { status = json_device_read(buf, &gpsdata->dev, end); if (status == 0) gpsdata->set |= DEVICE_SET; return status; } else if (STARTSWITH(classtag, "\"class\":\"WATCH\"")) { status = json_watch_read(buf, &gpsdata->policy, end); if (status == 0) { gpsdata->set &= ~UNION_SET; gpsdata->set |= POLICY_SET; } return status; } else if (STARTSWITH(classtag, "\"class\":\"VERSION\"")) { status = json_version_read(buf, gpsdata, end); if (status == 0) { gpsdata->set &= ~UNION_SET; gpsdata->set |= VERSION_SET; } return status; #ifdef RTCM104V2_ENABLE } else if (STARTSWITH(classtag, "\"class\":\"RTCM2\"")) { status = json_rtcm2_read(buf, gpsdata->dev.path, sizeof(gpsdata->dev.path), &gpsdata->rtcm2, end); if (status == 0) { gpsdata->set &= ~UNION_SET; gpsdata->set |= RTCM2_SET; } return status; #endif /* RTCM104V2_ENABLE */ #ifdef AIVDM_ENABLE } else if (STARTSWITH(classtag, "\"class\":\"AIS\"")) { status = json_ais_read(buf, gpsdata->dev.path, sizeof(gpsdata->dev.path), &gpsdata->ais, end); if (status == 0) { gpsdata->set &= ~UNION_SET; gpsdata->set |= AIS_SET; } return status; #endif /* AIVDM_ENABLE */ } else if (STARTSWITH(classtag, "\"class\":\"ERROR\"")) { status = json_error_read(buf, gpsdata, end); if (status == 0) { gpsdata->set &= ~UNION_SET; gpsdata->set |= ERROR_SET; } return status; } else return -1; #undef STARTSWITH } /*@+compdef@*/ #endif /* SOCKET_EXPORT_ENABLE */ /* libgps_json.c ends here */ gpsd-3.9/libgps_shm.c0000664000175000017500000001061412022345475012771 0ustar esresr/**************************************************************************** NAME libgps_shm.c - reasder access to shared-memory export DESCRIPTION This is a very lightweight alternative to JSON-over-sockets. Clients won't be able to filter by device, and won't get device activation/deactivation notifications. But both client and daemon will avoid all the marshalling and unmarshalling overhead. PERMISSIONS This file is Copyright (c) 2010 by the GPSD project BSD terms apply: see the file COPYING in the distribution root for details. ***************************************************************************/ #include #include #include #include #include #include #include #include "gpsd.h" #include "libgps.h" #ifdef SHM_EXPORT_ENABLE /*@-matchfields@*/ struct privdata_t { void *shmseg; int tick; }; /*@+matchfields@*/ int gps_shm_open(/*@out@*/struct gps_data_t *gpsdata) /* open a shared-memory connection to the daemon */ { int shmid; libgps_debug_trace((DEBUG_CALLS, "gps_shm_open()\n")); gpsdata->privdata = NULL; shmid = shmget((key_t)GPSD_KEY, sizeof(struct gps_data_t), 0); if (shmid == -1) { /* daemon isn't running or failed to create shared segment */ return -1; } gpsdata->privdata = (void *)malloc(sizeof(struct privdata_t)); if (gpsdata->privdata == NULL) return -1; PRIVATE(gpsdata)->shmseg = shmat(shmid, 0, 0); if ((int)(long)gpsdata->privdata == -1) { /* attach failed for sume unknown reason */ return -2; } #ifndef USE_QT gpsdata->gps_fd = SHM_PSEUDO_FD; #else gpsdata->gps_fd = (void *)(intptr_t)SHM_PSEUDO_FD; #endif /* USE_QT */ return 0; } bool gps_shm_waiting(const struct gps_data_t *gpsdata, int timeout) /* check to see if new dayta has been written */ { volatile struct shmexport_t *shared = (struct shmexport_t *)PRIVATE(gpsdata)->shmseg; bool newdata; timestamp_t basetime = timestamp(); /* busy-waiting sucks, but there's not really an alternative */ for (;;) { newdata = false; barrier(); if (shared->bookend1 == shared->bookend2 && shared->bookend1 > PRIVATE(gpsdata)->tick + timeout) newdata = true; barrier(); if (newdata || (timestamp() - basetime >= (double)timeout)) break; } return true; } int gps_shm_read(struct gps_data_t *gpsdata) /* read an update from the shared-memory segment */ { /*@ -compdestroy */ if (gpsdata->privdata == NULL) return -1; else { int before, after; void *private_save = gpsdata->privdata; volatile struct shmexport_t *shared = (struct shmexport_t *)PRIVATE(gpsdata)->shmseg; struct gps_data_t noclobber; /* * Following block of instructions must not be reordered, otherwise * havoc will ensue. The barrier() call should prevent reordering * of the data accesses. * * This is a simple optimistic-concurrency technique. We wrote * the second bookend first, then the data, then the first bookend. * Reader copies what it sees in normal order; that way, if we * start to write the segment during the read, the second bookend will * get clobbered first and the data can be detected as bad. */ before = shared->bookend1; barrier(); (void)memcpy((void *)&noclobber, (void *)&shared->gpsdata, sizeof(struct gps_data_t)); barrier(); after = shared->bookend2; if (before != after) return 0; else { (void)memcpy((void *)gpsdata, (void *)&noclobber, sizeof(struct gps_data_t)); /*@i1@*/gpsdata->privdata = private_save; PRIVATE(gpsdata)->tick = after; if ((gpsdata->set & REPORT_IS)!=0) { if (gpsdata->fix.mode >= 2) gpsdata->status = STATUS_FIX; else gpsdata->status = STATUS_NO_FIX; gpsdata->set = STATUS_SET; } return (int)sizeof(struct gps_data_t); } } /*@ +compdestroy */ } void gps_shm_close(struct gps_data_t *gpsdata) { if (PRIVATE(gpsdata)->shmseg != NULL) (void)shmdt((const void *)PRIVATE(gpsdata)->shmseg); } int gps_shm_mainloop(struct gps_data_t *gpsdata, int timeout UNUSED, void (*hook)(struct gps_data_t *gpsdata)) /* run a shm main loop with a specified handler */ { for (;;) { if (!gps_shm_waiting(gpsdata, timeout)) { return -1; } else { int status = gps_shm_read(gpsdata); if (status == -1) return -1; if (status > 0) (*hook)(gpsdata); } } //return 0; } #endif /* SHM_EXPORT_ENABLE */ /* end */ gpsd-3.9/libgps_sock.c0000664000175000017500000004064012140125420013126 0ustar esresr/* libgps_sock.c -- client interface library for the gpsd daemon * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include #include #include #include #include #include /* expected to have a select(2) prototype a la SuS */ #include #include #ifndef S_SPLINT_S #include #include #endif /* S_SPLINT_S */ #ifndef USE_QT #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #else #include #endif /* USE_QT */ #include "gps.h" #include "gpsd.h" #include "libgps.h" #ifdef SOCKET_EXPORT_ENABLE #include "gps_json.h" #ifdef S_SPLINT_S extern char *strtok_r(char *, const char *, char **); #endif /* S_SPLINT_S */ /*@-matchfields@*/ struct privdata_t { bool newstyle; /* data buffered from the last read */ ssize_t waiting; char buffer[GPS_JSON_RESPONSE_MAX * 2]; #ifdef LIBGPS_DEBUG int waitcount; #endif /* LIBGPS_DEBUG */ }; /*@+matchfields@*/ /*@-branchstate@*/ int gps_sock_open(/*@null@*/const char *host, /*@null@*/const char *port, /*@out@*/ struct gps_data_t *gpsdata) { if (!host) host = "localhost"; if (!port) port = DEFAULT_GPSD_PORT; libgps_debug_trace((DEBUG_CALLS, "gps_sock_open(%s, %s)\n", host, port)); #ifndef USE_QT if ((gpsdata->gps_fd = netlib_connectsock(AF_UNSPEC, host, port, "tcp")) < 0) { errno = gpsdata->gps_fd; libgps_debug_trace((DEBUG_CALLS, "netlib_connectsock() returns error %d\n", errno)); return -1; } else libgps_debug_trace((DEBUG_CALLS, "netlib_connectsock() returns socket on fd %d\n", gpsdata->gps_fd)); #else QTcpSocket *sock = new QTcpSocket(); gpsdata->gps_fd = sock; sock->connectToHost(host, QString(port).toInt()); if (!sock->waitForConnected()) qDebug() << "libgps::connect error: " << sock->errorString(); else qDebug() << "libgps::connected!"; #endif /* USE_QT */ /* set up for line-buffered I/O over the daemon socket */ gpsdata->privdata = (void *)malloc(sizeof(struct privdata_t)); if (gpsdata->privdata == NULL) return -1; PRIVATE(gpsdata)->newstyle = false; PRIVATE(gpsdata)->waiting = 0; #ifdef LIBGPS_DEBUG PRIVATE(gpsdata)->waitcount = 0; #endif /* LIBGPS_DEBUG */ return 0; } /*@+branchstate@*/ bool gps_sock_waiting(const struct gps_data_t *gpsdata, int timeout) /* is there input waiting from the GPS? */ { #ifndef USE_QT fd_set rfds; struct timeval tv; libgps_debug_trace((DEBUG_CALLS, "gps_waiting(%d): %d\n", timeout, PRIVATE(gpsdata)->waitcount++)); if (PRIVATE(gpsdata)->waiting > 0) return true; /* we might want to check for EINTR if this returns false */ errno = 0; FD_ZERO(&rfds); FD_SET(gpsdata->gps_fd, &rfds); tv.tv_sec = timeout / 1000000; tv.tv_usec = timeout % 1000000; /* all error conditions return "not waiting" -- crude but effective */ return (select(gpsdata->gps_fd + 1, &rfds, NULL, NULL, &tv) == 1); #else return ((QTcpSocket *) (gpsdata->gps_fd))->waitForReadyRead(timeout / 1000); #endif } /*@-usereleased -compdef@*/ int gps_sock_close(struct gps_data_t *gpsdata) /* close a gpsd connection */ { #ifndef USE_QT int status; free(PRIVATE(gpsdata)); status = close(gpsdata->gps_fd); gpsdata->gps_fd = -1; return status; #else QTcpSocket *sock = (QTcpSocket *) gpsdata->gps_fd; sock->disconnectFromHost(); delete sock; gpsdata->gps_fd = NULL; return 0; #endif } /*@+usereleased +compdef@*/ /*@-compdef -usedef -uniondef@*/ int gps_sock_read(/*@out@*/struct gps_data_t *gpsdata) /* wait for and read data being streamed from the daemon */ { char *eol; ssize_t response_length; int status = -1; gpsdata->set &= ~PACKET_SET; for (eol = PRIVATE(gpsdata)->buffer; *eol != '\n' && eol < PRIVATE(gpsdata)->buffer + PRIVATE(gpsdata)->waiting; eol++) continue; if (*eol != '\n') eol = NULL; errno = 0; if (eol == NULL) { #ifndef USE_QT /* read data: return -1 if no data waiting or buffered, 0 otherwise */ status = (int)recv(gpsdata->gps_fd, PRIVATE(gpsdata)->buffer + PRIVATE(gpsdata)->waiting, sizeof(PRIVATE(gpsdata)->buffer) - PRIVATE(gpsdata)->waiting, 0); #else status = ((QTcpSocket *) (gpsdata->gps_fd))->read(PRIVATE(gpsdata)->buffer + PRIVATE(gpsdata)->waiting, sizeof(PRIVATE(gpsdata)->buffer) - PRIVATE(gpsdata)->waiting); #endif /* if we just received data from the socket, it's in the buffer */ if (status > -1) PRIVATE(gpsdata)->waiting += status; /* buffer is empty - implies no data was read */ if (PRIVATE(gpsdata)->waiting == 0) { /* * If we received 0 bytes, other side of socket is closing. * Return -1 as end-of-data indication. */ if (status == 0) return -1; #ifndef USE_QT /* count transient errors as success, we'll retry later */ else if (errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK) return 0; #endif /* hard error return of -1, pass it along */ else return -1; } /* there's buffered data waiting to be returned */ for (eol = PRIVATE(gpsdata)->buffer; *eol != '\n' && eol < PRIVATE(gpsdata)->buffer + PRIVATE(gpsdata)->waiting; eol++) continue; if (*eol != '\n') eol = NULL; if (eol == NULL) return 0; } assert(eol != NULL); *eol = '\0'; response_length = eol - PRIVATE(gpsdata)->buffer + 1; gpsdata->online = timestamp(); status = gps_unpack(PRIVATE(gpsdata)->buffer, gpsdata); /*@+matchanyintegral@*/ memmove(PRIVATE(gpsdata)->buffer, PRIVATE(gpsdata)->buffer + response_length, PRIVATE(gpsdata)->waiting - response_length); /*@-matchanyintegral@*/ PRIVATE(gpsdata)->waiting -= response_length; gpsdata->set |= PACKET_SET; return (status == 0) ? (int)response_length : status; } /*@+compdef -usedef +uniondef@*/ /*@ -branchstate -usereleased -mustfreefresh -nullstate -usedef @*/ int gps_unpack(char *buf, struct gps_data_t *gpsdata) /* unpack a gpsd response into a status structure, buf must be writeable. * gps_unpack() currently returns 0 in all cases, but should it ever need to * return an error status, it must be < 0. */ { libgps_debug_trace((DEBUG_CALLS, "gps_unpack(%s)\n", buf)); /* detect and process a JSON response */ if (buf[0] == '{') { const char *jp = buf, **next = &jp; while (next != NULL && *next != NULL && next[0][0] != '\0') { libgps_debug_trace((DEBUG_CALLS,"gps_unpack() segment parse '%s'\n", *next)); if (libgps_json_unpack(*next, gpsdata, next) == -1) break; #ifdef LIBGPS_DEBUG if (libgps_debuglevel >= 1) libgps_dump_state(gpsdata); #endif /* LIBGPS_DEBUG */ } #ifdef OLDSTYLE_ENABLE if (PRIVATE(gpsdata) != NULL) PRIVATE(gpsdata)->newstyle = true; #endif /* OLDSTYLE_ENABLE */ } #ifdef OLDSTYLE_ENABLE else { /* * Get the decimal separator for the current application locale. * This looks thread-unsafe, but it's not. The key is that * character assignment is atomic. */ char *ns, *sp, *tp; #ifdef __UNUSED__ static char decimal_point = '\0'; if (decimal_point == '\0') { struct lconv *locale_data = localeconv(); if (locale_data != NULL && locale_data->decimal_point[0] != '.') decimal_point = locale_data->decimal_point[0]; } #endif /* __UNUSED__ */ for (ns = buf; ns; ns = strstr(ns + 1, "GPSD")) { if ( /*@i1@*/ strncmp(ns, "GPSD", 4) == 0) { bool eol = false; /* the following should execute each time we have a good next sp */ for (sp = ns + 5; *sp != '\0'; sp = tp + 1) { tp = sp + strcspn(sp, ",\r\n"); eol = *tp == '\r' || *tp == '\n'; if (*tp == '\0') tp--; else *tp = '\0'; #ifdef __UNUSED__ /* * The daemon always emits the Anglo-American and SI * decimal point. Hack these into whatever the * application locale requires if it's not the same. * This has to happen *after* we grab the next * comma-delimited response, or we'll lose horribly * in locales where the decimal separator is comma. */ if (decimal_point != '\0') { char *cp; for (cp = sp; cp < tp; cp++) if (*cp == '.') *cp = decimal_point; } #endif /* __UNUSED__ */ /* note, there's a bit of skip logic after the switch */ switch (*sp) { case 'F': /*@ -mustfreeonly */ if (sp[2] == '?') gpsdata->dev.path[0] = '\0'; else { /*@ -mayaliasunique @*/ (void)strlcpy(gpsdata->dev.path, sp + 2, sizeof(gpsdata->dev.path)); /*@ +mayaliasunique @*/ gpsdata->set |= DEVICE_SET; } /*@ +mustfreeonly */ break; case 'I': /*@ -mustfreeonly */ if (sp[2] == '?') gpsdata->dev.subtype[0] = '\0'; else { (void)strlcpy(gpsdata->dev.subtype, sp + 2, sizeof(gpsdata->dev.subtype)); gpsdata->set |= DEVICEID_SET; } /*@ +mustfreeonly */ break; case 'O': if (sp[2] == '?') { gpsdata->set = MODE_SET | STATUS_SET; gpsdata->status = STATUS_NO_FIX; gps_clear_fix(&gpsdata->fix); } else { struct gps_fix_t nf; char tag[MAXTAGLEN + 1], alt[20]; char eph[20], epv[20], track[20], speed[20], climb[20]; char epd[20], eps[20], epc[20], mode[2]; char timestr[20], ept[20], lat[20], lon[20]; int st = sscanf(sp + 2, "%8s %19s %19s %19s %19s %19s %19s %19s %19s %19s %19s %19s %19s %19s %1s", tag, timestr, ept, lat, lon, alt, eph, epv, track, speed, climb, epd, eps, epc, mode); if (st >= 14) { #define DEFAULT(val) (val[0] == '?') ? NAN : safe_atof(val) /*@ +floatdouble @*/ nf.time = DEFAULT(timestr); nf.latitude = DEFAULT(lat); nf.longitude = DEFAULT(lon); nf.ept = DEFAULT(ept); nf.altitude = DEFAULT(alt); /* designed before we split eph into epx+epy */ nf.epx = nf.epy = DEFAULT(eph) / sqrt(2); nf.epv = DEFAULT(epv); nf.track = DEFAULT(track); nf.speed = DEFAULT(speed); nf.climb = DEFAULT(climb); nf.epd = DEFAULT(epd); nf.eps = DEFAULT(eps); nf.epc = DEFAULT(epc); /*@ -floatdouble @*/ #undef DEFAULT if (st >= 15) nf.mode = (mode[0] == '?') ? MODE_NOT_SEEN : atoi(mode); else nf.mode = (alt[0] == '?') ? MODE_2D : MODE_3D; if (alt[0] != '?') gpsdata->set |= ALTITUDE_SET | CLIMB_SET; if (isnan(nf.epx) == 0 && isnan(nf.epy) == 0) gpsdata->set |= HERR_SET; if (isnan(nf.epv) == 0) gpsdata->set |= VERR_SET; if (isnan(nf.track) == 0) gpsdata->set |= TRACK_SET | SPEED_SET; if (isnan(nf.eps) == 0) gpsdata->set |= SPEEDERR_SET; if (isnan(nf.epc) == 0) gpsdata->set |= CLIMBERR_SET; gpsdata->fix = nf; (void)strlcpy(gpsdata->tag, tag, MAXTAGLEN + 1); gpsdata->set |= TIME_SET | TIMERR_SET | LATLON_SET | MODE_SET; gpsdata->status = STATUS_FIX; gpsdata->set |= STATUS_SET; } } break; case 'X': if (sp[2] == '?') gpsdata->online = (timestamp_t)-1; else { // cppcheck-suppress invalidscanf (void)sscanf(sp, "X=%lf", &gpsdata->online); gpsdata->set |= ONLINE_SET; } break; case 'Y': if (sp[2] == '?') { gpsdata->satellites_visible = 0; } else { int j, i1, i2, i3, i5; double f4; char tag[MAXTAGLEN + 1], timestamp[21]; // cppcheck-suppress invalidscanf (void)sscanf(sp, "Y=%8s %20s %d ", tag, timestamp, &gpsdata->satellites_visible); (void)strlcpy(gpsdata->tag, tag, MAXTAGLEN); if (timestamp[0] != '?') { gpsdata->set |= TIME_SET; } for (j = 0; j < MAXCHANNELS; j++) { gpsdata->PRN[j] = gpsdata->elevation[j] = gpsdata->azimuth[j] = gpsdata->used[j] = 0; gpsdata->ss[j] = 0.0; } for (j = 0, gpsdata->satellites_used = 0; j < gpsdata->satellites_visible; j++) { if ((sp != NULL) && ((sp = strchr(sp, ':')) != NULL)) { sp++; // cppcheck-suppress invalidscanf (void)sscanf(sp, "%d %d %d %lf %d", &i1, &i2, &i3, &f4, &i5); gpsdata->PRN[j] = i1; gpsdata->elevation[j] = i2; gpsdata->azimuth[j] = i3; gpsdata->ss[j] = f4; gpsdata->used[j] = i5; if (i5 == 1) gpsdata->satellites_used++; } } } gpsdata->set |= SATELLITE_SET; break; } #ifdef LIBGPS_DEBUG if (libgps_debuglevel >= 1) libgps_dump_state(gpsdata); #endif /* LIBGPS_DEBUG */ /* * Skip to next GPSD when we see \r or \n; * we don't want to try interpreting stuff * in between that might be raw mode data. */ if (eol) break; } } } } #endif /* OLDSTYLE_ENABLE */ #ifndef USE_QT libgps_debug_trace((DEBUG_CALLS, "final flags: (0x%04x) %s\n", gpsdata->set,gps_maskdump(gpsdata->set))); #endif return 0; } /*@ +compdef @*/ const char /*@observer@*/ *gps_sock_data(const struct gps_data_t *gpsdata) /* return the contents of the client data buffer */ { return PRIVATE(gpsdata)->buffer; } int gps_sock_send(struct gps_data_t *gpsdata, const char *buf) /* send a command to the gpsd instance */ { #ifndef USE_QT if (write(gpsdata->gps_fd, buf, strlen(buf)) == (ssize_t) strlen(buf)) return 0; else return -1; #else QTcpSocket *sock = (QTcpSocket *) gpsdata->gps_fd; sock->write(buf, strlen(buf)); if (sock->waitForBytesWritten()) return 0; else { qDebug() << "libgps::send error: " << sock->errorString(); return -1; } #endif } int gps_sock_stream(struct gps_data_t *gpsdata, unsigned int flags, /*@null@*/ void *d) /* ask gpsd to stream reports at you, hiding the command details */ { char buf[GPS_JSON_COMMAND_MAX]; if ((flags & (WATCH_JSON | WATCH_OLDSTYLE | WATCH_NMEA | WATCH_RAW)) == 0) { flags |= WATCH_JSON; } if ((flags & WATCH_DISABLE) != 0) { if ((flags & WATCH_OLDSTYLE) != 0) { (void)strlcpy(buf, "w-", sizeof(buf)); if ((flags & WATCH_NMEA) != 0) (void)strlcat(buf, "r-", sizeof(buf)); } else { (void)strlcpy(buf, "?WATCH={\"enable\":false,", sizeof(buf)); if (flags & WATCH_JSON) (void)strlcat(buf, "\"json\":false,", sizeof(buf)); if (flags & WATCH_NMEA) (void)strlcat(buf, "\"nmea\":false,", sizeof(buf)); if (flags & WATCH_RAW) (void)strlcat(buf, "\"raw\":1,", sizeof(buf)); if (flags & WATCH_RARE) (void)strlcat(buf, "\"raw\":0,", sizeof(buf)); if (flags & WATCH_SCALED) (void)strlcat(buf, "\"scaled\":false,", sizeof(buf)); if (flags & WATCH_TIMING) (void)strlcat(buf, "\"timing\":false,", sizeof(buf)); if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "};", sizeof(buf)); } libgps_debug_trace((DEBUG_CALLS, "gps_stream() disable command: %s\n", buf)); return gps_send(gpsdata, buf); } else { /* if ((flags & WATCH_ENABLE) != 0) */ if ((flags & WATCH_OLDSTYLE) != 0) { (void)strlcpy(buf, "w+x", sizeof(buf)); if ((flags & WATCH_NMEA) != 0) (void)strlcat(buf, "r+", sizeof(buf)); } else { (void)strlcpy(buf, "?WATCH={\"enable\":true,", sizeof(buf)); if (flags & WATCH_JSON) (void)strlcat(buf, "\"json\":true,", sizeof(buf)); if (flags & WATCH_NMEA) (void)strlcat(buf, "\"nmea\":true,", sizeof(buf)); if (flags & WATCH_RARE) (void)strlcat(buf, "\"raw\":1,", sizeof(buf)); if (flags & WATCH_RAW) (void)strlcat(buf, "\"raw\":2,", sizeof(buf)); if (flags & WATCH_SCALED) (void)strlcat(buf, "\"scaled\":true,", sizeof(buf)); if (flags & WATCH_TIMING) (void)strlcat(buf, "\"timing\":true,", sizeof(buf)); /*@-nullpass@*//* shouldn't be needed, splint has a bug */ if (flags & WATCH_DEVICE) (void)snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "\"device\":\"%s\",", (char *)d); /*@+nullpass@*/ if (buf[strlen(buf) - 1] == ',') buf[strlen(buf) - 1] = '\0'; (void)strlcat(buf, "};", sizeof(buf)); } libgps_debug_trace((DEBUG_CALLS, "gps_stream() enable command: %s\n", buf)); return gps_send(gpsdata, buf); } } int gps_sock_mainloop(struct gps_data_t *gpsdata, int timeout, void (*hook)(struct gps_data_t *gpsdata)) /* run a socket main loop with a specified handler */ { for (;;) { if (!gps_waiting(gpsdata, timeout)) { return -1; } else { (void)gps_read(gpsdata); (*hook)(gpsdata); } } //return 0; } #endif /* SOCKET_EXPORT_ENABLE */ /* end */ gpsd-3.9/libgpsd.pc.in0000664000175000017500000000033711762140435013053 0ustar esresrprefix=@prefix@ exec_prefix=${prefix} libdir=${exec_prefix}@libdir@ includedir=${prefix}/include Name: libgpsd Description: Lowlevel GPSD control library Version: @VERSION@ Cflags: -I${includedir} Libs: -L${libdir} -lgpsd gpsd-3.9/libgpsd.xml0000664000175000017500000001275011757250541012652 0ustar esresr 14 Aug 2004 3 3 The GPSD Project GPSD Documentation libgpsd service library for GPS applications C: #include <gpsd.h> int gpsd_open_dgps char * dgpsserver void gpsd_init struct gps_device_t *session struct * gps_context_t * char * device int gpsd_activate struct gps_device_t *session void gpsd_deactivate struct gps_device_t * session gps_mask_t gpsd_poll struct gps_device_t * session void gpsd_wrap struct gps_device_t * session DESCRIPTION libgpsd is a service library which supports querying GPS devices; link it with the linker option -lgpsd. It is a set of low-level device-handling calls, which gpsd1 itself uses. See gpsd3 for a description of the high-level interface, which is almost certainly what you want. Calling gpsd_init() initializes a session structure to hold the data collected by the GPS. The second argument must be a context structure. The library will use it for information that need to be shared between sessions; presently this includes the leap-second correction and possibly a pointer to a shared-memory segment used to communicate with the Network Time Protocol daemon. After the session structure has been set up, you may modify some of its members. gpsd_device This member should hold the path name of the device. baudrate Communication speed in bits per second. For NMEA or SiRF devices, the library automatically hunts through all plausible baud rates, stopping on the one where it sees valid packets. By setting this field you can designate a speed to be tried at the front of the hunt queue gpsd_activate() initializes the connection to the GPS. gpsd_deactivate() closes the connection. These functions are provided so that long-running programs can release a connection when there is no activity requiring the GPS, and re-acquire it later. gpsd_poll() queries the GPS and updates the part of the session structure that holds position, speed, GPS signal quality, and other data returned by the GPS. It returns a mask describing which fields have changed. gpsd_wrap() ends the session, implicitly performing a gpsd_deactivate(). The calling application must define one additional function: gpsd_report(). The library will use this to issue ordinary status messages. See gpsd.h in the source distribution for the set of logging levels. The low-level functions do not allocate or free any dynamic storage. They can thus be used in a long-running application (such as gpsd8 itself) with a guarantee that they won't cause memory leaks. BUGS Writes to the context structure members are not guarded by a mutex. SEE ALSO gpsd8, gps1, libgps3. AUTHOR Eric S. Raymond <esr@thyrsus.com> based partly on earlier work by Remco Treffkorn, Derrick Brashear, and Russ Nelson. gpsd-3.9/libgpsd_core.c0000664000175000017500000011647412075237547013321 0ustar esresr/* libgpsd_core.c -- manage access to sensors * * Access to the driver layer goes through the entry points in this file. * The idea is to present a session as an abstraction from which you get * fixes (and possibly other data updates) by calling gpsd_poll(). The * rest is setup and teardown. * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include #include #include #include #include #ifndef S_SPLINT_S #include #include #include #endif /* S_SPLINT_S */ #include "gpsd.h" #if defined(NMEA2000_ENABLE) #include "driver_nmea2000.h" #endif /* defined(NMEA2000_ENABLE) */ static void gpsd_run_device_hook(char *device_name, char *hook) { struct stat statbuf; if (stat(DEVICEHOOKPATH, &statbuf) == -1) gpsd_report(LOG_PROG, "no %s present, skipped running %s hook\n", DEVICEHOOKPATH, hook); else { /* * We make an exception to the no-malloc rule here because * the pointer will never persist outside this small scope * and can thus never cause a leak or stale-pointer problem. */ size_t bufsize = strlen(DEVICEHOOKPATH) + 1 + strlen(device_name) + 1 + strlen(hook) + 1; char *buf = malloc(bufsize); if (buf == NULL) gpsd_report(LOG_ERROR, "error allocating run-hook buffer\n"); else { int status; (void)snprintf(buf, bufsize, "%s %s %s", DEVICEHOOKPATH, device_name, hook); gpsd_report(LOG_INF, "running %s\n", buf); status = system(buf); if (status == -1) gpsd_report(LOG_ERROR, "error running %s\n", buf); else gpsd_report(LOG_INF, "%s returned %d\n", DEVICEHOOKPATH, WEXITSTATUS(status)); free(buf); } } } int gpsd_switch_driver(struct gps_device_t *session, char *type_name) { const struct gps_type_t **dp; bool identified = (session->device_type != NULL); if (identified && strcmp(session->device_type->type_name, type_name) == 0) return 0; gpsd_report(LOG_PROG, "switch_driver(%s) called...\n", type_name); /*@ -compmempass @*/ for (dp = gpsd_drivers; *dp; dp++) if (strcmp((*dp)->type_name, type_name) == 0) { gpsd_report(LOG_PROG, "selecting %s driver...\n", (*dp)->type_name); gpsd_assert_sync(session); /*@i@*/ session->device_type = *dp; #ifdef RECONFIGURE_ENABLE session->gpsdata.dev.mincycle = session->device_type->min_cycle; #endif /* RECONFIGURE_ENABLE */ /* reconfiguration might be required */ if (identified && session->device_type->event_hook != NULL) session->device_type->event_hook(session, event_driver_switch); /* clients should be notified */ session->notify_clients = true; return 1; } gpsd_report(LOG_ERROR, "invalid GPS type \"%s\".\n", type_name); return 0; /*@ +compmempass @*/ } /*@-compdestroy@*/ void gps_context_init(struct gps_context_t *context) { /* *INDENT-OFF* */ /*@ -initallelements -nullassign -nullderef @*/ struct gps_context_t nullcontext = { .valid = 0, .debug = 0, .readonly = false, .fixcnt = 0, .start_time = 0, .leap_seconds = 0, .gps_week = 0, .gps_tow = 0, .century = 0, .rollovers = 0, #ifdef NTPSHM_ENABLE .leap_notify = LEAP_NOWARNING, .enable_ntpshm = false, .shmTime = {0}, .shmTimeInuse = {0}, # ifdef PPS_ENABLE .shmTimePPS = false, .pps_hook = NULL, # endif /* PPS_ENABLE */ #endif /* NTPSHM_ENABLE */ #ifdef SHM_EXPORT_ENABLE .shmexport = NULL, #endif /* SHM_EXPORT_ENABLE */ }; /*@ +initallelements +nullassign +nullderef @*/ /* *INDENT-ON* */ (void)memcpy(context, &nullcontext, sizeof(struct gps_context_t)); } /*@+compdestroy@*/ void gpsd_init(struct gps_device_t *session, struct gps_context_t *context, const char *device) /* initialize GPS polling */ { /*@ -mayaliasunique @*/ if (device != NULL) (void)strlcpy(session->gpsdata.dev.path, device, sizeof(session->gpsdata.dev.path)); /*@ -mustfreeonly @*/ session->device_type = NULL; /* start by hunting packets */ session->observed = 0; session->sourcetype = source_unknown; /* gpsd_open() sets this */ session->servicetype = service_unknown; /* gpsd_open() sets this */ /*@ -temptrans @*/ session->context = context; /*@ +temptrans @*/ /*@ +mayaliasunique @*/ /*@ +mustfreeonly @*/ gps_clear_fix(&session->gpsdata.fix); gps_clear_fix(&session->newdata); gps_clear_fix(&session->oldfix); session->gpsdata.set = 0; gps_clear_dop(&session->gpsdata.dop); session->gpsdata.epe = NAN; session->mag_var = NAN; session->gpsdata.dev.cycle = session->gpsdata.dev.mincycle = 1; #ifdef TIMING_ENABLE session->sor = 0.0; session->chars = 0; #endif /* TIMING_ENABLE */ /* tty-level initialization */ gpsd_tty_init(session); /* necessary in case we start reading in the middle of a GPGSV sequence */ gpsd_zero_satellites(&session->gpsdata); /* initialize things for the packet parser */ packet_reset(&session->packet); } void gpsd_deactivate(struct gps_device_t *session) /* temporarily release the GPS device */ { #ifdef RECONFIGURE_ENABLE if (!session->context->readonly && session->device_type != NULL && session->device_type->event_hook != NULL) { session->device_type->event_hook(session, event_deactivate); } if (session->device_type != NULL) { if (session->back_to_nmea && session->device_type->mode_switcher != NULL) session->device_type->mode_switcher(session, 0); } #endif /* RECONFIGURE_ENABLE */ gpsd_report(LOG_INF, "closing GPS=%s (%d)\n", session->gpsdata.dev.path, session->gpsdata.gps_fd); #if defined(NMEA2000_ENABLE) if (session->sourcetype == source_can) (void)nmea2000_close(session); else #endif /* of defined(NMEA2000_ENABLE) */ (void)gpsd_close(session); gpsd_run_device_hook(session->gpsdata.dev.path, "DEACTIVATE"); } void gpsd_clear(struct gps_device_t *session) { session->gpsdata.online = timestamp(); #ifdef SIRF_ENABLE session->driver.sirf.satcounter = 0; #endif /* SIRF_ENABLE */ packet_init(&session->packet); session->packet.debug = session->context->debug; // session->gpsdata.online = 0; session->gpsdata.fix.mode = MODE_NOT_SEEN; session->gpsdata.status = STATUS_NO_FIX; session->gpsdata.fix.track = NAN; session->gpsdata.separation = NAN; session->mag_var = NAN; session->releasetime = (timestamp_t)0; session->getcount = 0; /* clear the private data union */ memset(&session->driver, '\0', sizeof(session->driver)); session->opentime = timestamp(); } int gpsd_open(struct gps_device_t *session) /* open a device for access to its data */ { #ifdef NETFEED_ENABLE /* special case: source may be a URI to a remote GNSS or DGPS service */ if (netgnss_uri_check(session->gpsdata.dev.path)) { session->gpsdata.gps_fd = netgnss_uri_open(session, session->gpsdata.dev.path); session->sourcetype = source_tcp; gpsd_report(LOG_SPIN, "netgnss_uri_open(%s) returns socket on fd %d\n", session->gpsdata.dev.path, session->gpsdata.gps_fd); return session->gpsdata.gps_fd; /* otherwise, could be an TCP data feed */ } else if (strncmp(session->gpsdata.dev.path, "tcp://", 6) == 0) { char server[strlen(session->gpsdata.dev.path)], *port; socket_t dsock; (void)strlcpy(server, session->gpsdata.dev.path + 6, sizeof(server)); INVALIDATE_SOCKET(session->gpsdata.gps_fd); port = strchr(server, ':'); if (port == NULL) { gpsd_report(LOG_ERROR, "Missing colon in TCP feed spec.\n"); return -1; } *port++ = '\0'; gpsd_report(LOG_INF, "opening TCP feed at %s, port %s.\n", server, port); if ((dsock = netlib_connectsock(AF_UNSPEC, server, port, "tcp")) < 0) { gpsd_report(LOG_ERROR, "TCP device open error %s.\n", netlib_errstr(dsock)); return -1; } else gpsd_report(LOG_SPIN, "TCP device opened on fd %d\n", dsock); session->gpsdata.gps_fd = dsock; session->sourcetype = source_tcp; return session->gpsdata.gps_fd; /* or could be UDP */ } else if (strncmp(session->gpsdata.dev.path, "udp://", 6) == 0) { char server[strlen(session->gpsdata.dev.path)], *port; socket_t dsock; (void)strlcpy(server, session->gpsdata.dev.path + 6, sizeof(server)); session->gpsdata.gps_fd = -1; port = strchr(server, ':'); if (port == NULL) { gpsd_report(LOG_ERROR, "Missing colon in UDP feed spec.\n"); return -1; } *port++ = '\0'; gpsd_report(LOG_INF, "opening UDP feed at %s, port %s.\n", server, port); if ((dsock = netlib_connectsock(AF_UNSPEC, server, port, "udp")) < 0) { gpsd_report(LOG_ERROR, "UDP device open error %s.\n", netlib_errstr(dsock)); return -1; } else gpsd_report(LOG_SPIN, "UDP device opened on fd %d\n", dsock); session->gpsdata.gps_fd = dsock; session->sourcetype = source_udp; return session->gpsdata.gps_fd; } #endif /* NETFEED_ENABLE */ #ifdef PASSTHROUGH_ENABLE if (strncmp(session->gpsdata.dev.path, "gpsd://", 7) == 0) { /*@-branchstate -nullpass@*/ char server[strlen(session->gpsdata.dev.path)], *port; socket_t dsock; (void)strlcpy(server, session->gpsdata.dev.path + 7, sizeof(server)); INVALIDATE_SOCKET(session->gpsdata.gps_fd); if ((port = strchr(server, ':')) == NULL) { port = DEFAULT_GPSD_PORT; } else *port++ = '\0'; gpsd_report(LOG_INF, "opening remote gpsd feed at %s, port %s.\n", server, port); if ((dsock = netlib_connectsock(AF_UNSPEC, server, port, "tcp")) < 0) { gpsd_report(LOG_ERROR, "remote gpsd device open error %s.\n", netlib_errstr(dsock)); return -1; } else gpsd_report(LOG_SPIN, "remote gpsd feed opened on fd %d\n", dsock); /*@+branchstate +nullpass@*/ /* watch to remote is issued when WATCH is */ session->gpsdata.gps_fd = dsock; session->sourcetype = source_gpsd; return session->gpsdata.gps_fd; } #endif /* PASSTHROUGH_ENABLE */ #if defined(NMEA2000_ENABLE) && !defined(S_SPLINT_S) if (strncmp(session->gpsdata.dev.path, "nmea2000://", 11) == 0) { return nmea2000_open(session); } #endif /* defined(NMEA2000_ENABLE) && !defined(S_SPLINT_S) */ /* fall through to plain serial open */ return gpsd_serial_open(session); } /*@ -branchstate @*/ int gpsd_activate(struct gps_device_t *session) /* acquire a connection to the GPS device */ { gpsd_run_device_hook(session->gpsdata.dev.path, "ACTIVATE"); session->gpsdata.gps_fd = gpsd_open(session); if (session->gpsdata.gps_fd < 0) return -1; else { #ifdef NON_NMEA_ENABLE /* if it's a sensor, it must be probed */ if ((session->servicetype == service_sensor) && (session->sourcetype != source_can)) { const struct gps_type_t **dp; /*@ -mustfreeonly @*/ for (dp = gpsd_drivers; *dp; dp++) { if ((*dp)->probe_detect != NULL) { gpsd_report(LOG_PROG, "Probing \"%s\" driver...\n", (*dp)->type_name); (void)tcflush(session->gpsdata.gps_fd, TCIOFLUSH); /* toss stale data */ if ((*dp)->probe_detect(session) != 0) { gpsd_report(LOG_PROG, "Probe found \"%s\" driver...\n", (*dp)->type_name); session->device_type = *dp; gpsd_assert_sync(session); goto foundit; } else gpsd_report(LOG_PROG, "Probe not found \"%s\" driver...\n", (*dp)->type_name); } } /*@ +mustfreeonly @*/ gpsd_report(LOG_PROG, "no probe matched...\n"); } foundit: #endif /* NON_NMEA_ENABLE */ gpsd_clear(session); gpsd_report(LOG_INF, "gpsd_activate(): activated GPS (fd %d)\n", session->gpsdata.gps_fd); /* * We might know the device's type, but we shouldn't assume it has * retained its settings. A revert hook might well have undone * them on the previous close. Fire a reactivate event so drivers * can do something about this if they choose. */ if (session->device_type != NULL && session->device_type->event_hook != NULL) session->device_type->event_hook(session, event_reactivate); } return session->gpsdata.gps_fd; } /*@ +branchstate @*/ #ifdef CHEAPFLOATS_ENABLE /***************************************************************************** Carl Carter of SiRF supplied this algorithm for computing DOPs from a list of visible satellites (some typos corrected)... For satellite n, let az(n) = azimuth angle from North and el(n) be elevation. Let: a(k, 1) = sin az(k) * cos el(k) a(k, 2) = cos az(k) * cos el(k) a(k, 3) = sin el(k) Then form the line-of-sight matrix A for satellites used in the solution: | a(1,1) a(1,2) a(1,3) 1 | | a(2,1) a(2,2) a(2,3) 1 | | : : : : | | a(n,1) a(n,2) a(n,3) 1 | And its transpose A~: |a(1, 1) a(2, 1) . . . a(n, 1) | |a(1, 2) a(2, 2) . . . a(n, 2) | |a(1, 3) a(2, 3) . . . a(n, 3) | | 1 1 . . . 1 | Compute the covariance matrix (A~*A)^-1, which is guaranteed symmetric: | s(x)^2 s(x)*s(y) s(x)*s(z) s(x)*s(t) | | s(y)*s(x) s(y)^2 s(y)*s(z) s(y)*s(t) | | s(z)*s(x) s(z)*s(y) s(z)^2 s(z)*s(t) | | s(t)*s(x) s(t)*s(y) s(t)*s(z) s(t)^2 | Then: GDOP = sqrt(s(x)^2 + s(y)^2 + s(z)^2 + s(t)^2) TDOP = sqrt(s(t)^2) PDOP = sqrt(s(x)^2 + s(y)^2 + s(z)^2) HDOP = sqrt(s(x)^2 + s(y)^2) VDOP = sqrt(s(z)^2) Here's how we implement it... First, each compute element P(i,j) of the 4x4 product A~*A. If S(k=1,k=n): f(...) is the sum of f(...) as k varies from 1 to n, then applying the definition of matrix product tells us: P(i,j) = S(k=1,k=n): B(i, k) * A(k, j) But because B is the transpose of A, this reduces to P(i,j) = S(k=1,k=n): A(k, i) * A(k, j) This is not, however, the entire algorithm that SiRF uses. Carl writes: > As you note, with rounding accounted for, most values agree exactly, and > those that don't agree our number is higher. That is because we > deweight some satellites and account for that in the DOP calculation. > If a satellite is not used in a solution at the same weight as others, > it should not contribute to DOP calculation at the same weight. So our > internal algorithm does a compensation for that which you would have no > way to duplicate on the outside since we don't output the weighting > factors. In fact those are not even available to API users. Queried about the deweighting, Carl says: > In the SiRF tracking engine, each satellite track is assigned a quality > value based on the tracker's estimate of that signal. It includes C/No > estimate, ability to hold onto the phase, stability of the I vs. Q phase > angle, etc. The navigation algorithm then ranks all the tracks into > quality order and selects which ones to use in the solution and what > weight to give those used in the solution. The process is actually a > bit of a "trial and error" method -- we initially use all available > tracks in the solution, then we sequentially remove the lowest quality > ones until the solution stabilizes. The weighting is inherent in the > Kalman filter algorithm. Once the solution is stable, the DOP is > computed from those SVs used, and there is an algorithm that looks at > the quality ratings and determines if we need to deweight any. > Likewise, if we use altitude hold mode for a 3-SV solution, we deweight > the phantom satellite at the center of the Earth. So we cannot exactly duplicate what SiRF does internally. We'll leave HDOP alone and use our computed values for VDOP and PDOP. Note, this may have to change in the future if this code is used by a non-SiRF driver. ******************************************************************************/ /*@ -fixedformalarray -mustdefine @*/ static bool invert(double mat[4][4], /*@out@*/ double inverse[4][4]) { // Find all NECESSARY 2x2 subdeterminants double Det2_12_01 = mat[1][0] * mat[2][1] - mat[1][1] * mat[2][0]; double Det2_12_02 = mat[1][0] * mat[2][2] - mat[1][2] * mat[2][0]; //double Det2_12_03 = mat[1][0]*mat[2][3] - mat[1][3]*mat[2][0]; double Det2_12_12 = mat[1][1] * mat[2][2] - mat[1][2] * mat[2][1]; //double Det2_12_13 = mat[1][1]*mat[2][3] - mat[1][3]*mat[2][1]; //double Det2_12_23 = mat[1][2]*mat[2][3] - mat[1][3]*mat[2][2]; double Det2_13_01 = mat[1][0] * mat[3][1] - mat[1][1] * mat[3][0]; //double Det2_13_02 = mat[1][0]*mat[3][2] - mat[1][2]*mat[3][0]; double Det2_13_03 = mat[1][0] * mat[3][3] - mat[1][3] * mat[3][0]; //double Det2_13_12 = mat[1][1]*mat[3][2] - mat[1][2]*mat[3][1]; double Det2_13_13 = mat[1][1] * mat[3][3] - mat[1][3] * mat[3][1]; //double Det2_13_23 = mat[1][2]*mat[3][3] - mat[1][3]*mat[3][2]; double Det2_23_01 = mat[2][0] * mat[3][1] - mat[2][1] * mat[3][0]; double Det2_23_02 = mat[2][0] * mat[3][2] - mat[2][2] * mat[3][0]; double Det2_23_03 = mat[2][0] * mat[3][3] - mat[2][3] * mat[3][0]; double Det2_23_12 = mat[2][1] * mat[3][2] - mat[2][2] * mat[3][1]; double Det2_23_13 = mat[2][1] * mat[3][3] - mat[2][3] * mat[3][1]; double Det2_23_23 = mat[2][2] * mat[3][3] - mat[2][3] * mat[3][2]; // Find all NECESSARY 3x3 subdeterminants double Det3_012_012 = mat[0][0] * Det2_12_12 - mat[0][1] * Det2_12_02 + mat[0][2] * Det2_12_01; //double Det3_012_013 = mat[0][0]*Det2_12_13 - mat[0][1]*Det2_12_03 // + mat[0][3]*Det2_12_01; //double Det3_012_023 = mat[0][0]*Det2_12_23 - mat[0][2]*Det2_12_03 // + mat[0][3]*Det2_12_02; //double Det3_012_123 = mat[0][1]*Det2_12_23 - mat[0][2]*Det2_12_13 // + mat[0][3]*Det2_12_12; //double Det3_013_012 = mat[0][0]*Det2_13_12 - mat[0][1]*Det2_13_02 // + mat[0][2]*Det2_13_01; double Det3_013_013 = mat[0][0] * Det2_13_13 - mat[0][1] * Det2_13_03 + mat[0][3] * Det2_13_01; //double Det3_013_023 = mat[0][0]*Det2_13_23 - mat[0][2]*Det2_13_03 // + mat[0][3]*Det2_13_02; //double Det3_013_123 = mat[0][1]*Det2_13_23 - mat[0][2]*Det2_13_13 // + mat[0][3]*Det2_13_12; //double Det3_023_012 = mat[0][0]*Det2_23_12 - mat[0][1]*Det2_23_02 // + mat[0][2]*Det2_23_01; //double Det3_023_013 = mat[0][0]*Det2_23_13 - mat[0][1]*Det2_23_03 // + mat[0][3]*Det2_23_01; double Det3_023_023 = mat[0][0] * Det2_23_23 - mat[0][2] * Det2_23_03 + mat[0][3] * Det2_23_02; //double Det3_023_123 = mat[0][1]*Det2_23_23 - mat[0][2]*Det2_23_13 // + mat[0][3]*Det2_23_12; double Det3_123_012 = mat[1][0] * Det2_23_12 - mat[1][1] * Det2_23_02 + mat[1][2] * Det2_23_01; double Det3_123_013 = mat[1][0] * Det2_23_13 - mat[1][1] * Det2_23_03 + mat[1][3] * Det2_23_01; double Det3_123_023 = mat[1][0] * Det2_23_23 - mat[1][2] * Det2_23_03 + mat[1][3] * Det2_23_02; double Det3_123_123 = mat[1][1] * Det2_23_23 - mat[1][2] * Det2_23_13 + mat[1][3] * Det2_23_12; // Find the 4x4 determinant static double det; det = mat[0][0] * Det3_123_123 - mat[0][1] * Det3_123_023 + mat[0][2] * Det3_123_013 - mat[0][3] * Det3_123_012; // Very small determinants probably reflect floating-point fuzz near zero if (fabs(det) < 0.0001) return false; inverse[0][0] = Det3_123_123 / det; //inverse[0][1] = -Det3_023_123 / det; //inverse[0][2] = Det3_013_123 / det; //inverse[0][3] = -Det3_012_123 / det; //inverse[1][0] = -Det3_123_023 / det; inverse[1][1] = Det3_023_023 / det; //inverse[1][2] = -Det3_013_023 / det; //inverse[1][3] = Det3_012_023 / det; //inverse[2][0] = Det3_123_013 / det; //inverse[2][1] = -Det3_023_013 / det; inverse[2][2] = Det3_013_013 / det; //inverse[2][3] = -Det3_012_013 / det; //inverse[3][0] = -Det3_123_012 / det; //inverse[3][1] = Det3_023_012 / det; //inverse[3][2] = -Det3_013_012 / det; inverse[3][3] = Det3_012_012 / det; return true; } /*@ +fixedformalarray +mustdefine @*/ static gps_mask_t fill_dop(const struct gps_data_t * gpsdata, struct dop_t * dop) { double prod[4][4]; double inv[4][4]; double satpos[MAXCHANNELS][4]; double xdop, ydop, hdop, vdop, pdop, tdop, gdop; int i, j, k, n; memset(satpos, 0, sizeof(satpos)); #ifdef __UNUSED__ gpsd_report(LOG_INF, "Satellite picture:\n"); for (k = 0; k < MAXCHANNELS; k++) { if (gpsdata->used[k]) gpsd_report(LOG_INF, "az: %d el: %d SV: %d\n", gpsdata->azimuth[k], gpsdata->elevation[k], gpsdata->used[k]); } #endif /* __UNUSED__ */ for (n = k = 0; k < gpsdata->satellites_used; k++) { if (gpsdata->used[k] == 0) continue; satpos[n][0] = sin(gpsdata->azimuth[k] * DEG_2_RAD) * cos(gpsdata->elevation[k] * DEG_2_RAD); satpos[n][1] = cos(gpsdata->azimuth[k] * DEG_2_RAD) * cos(gpsdata->elevation[k] * DEG_2_RAD); satpos[n][2] = sin(gpsdata->elevation[k] * DEG_2_RAD); satpos[n][3] = 1; n++; } /* If we don't have 4 satellites then we don't have enough information to calculate DOPS */ if (n < 4) { gpsd_report(LOG_DATA + 2, "Not enough satellites available %d < 4:\n", n); return 0; /* Is this correct return code here? or should it be ERROR_SET */ } memset(prod, 0, sizeof(prod)); memset(inv, 0, sizeof(inv)); #ifdef __UNUSED__ gpsd_report(LOG_INF, "Line-of-sight matrix:\n"); for (k = 0; k < n; k++) { gpsd_report(LOG_INF, "%f %f %f %f\n", satpos[k][0], satpos[k][1], satpos[k][2], satpos[k][3]); } #endif /* __UNUSED__ */ for (i = 0; i < 4; ++i) { //< rows for (j = 0; j < 4; ++j) { //< cols prod[i][j] = 0.0; for (k = 0; k < n; ++k) { prod[i][j] += satpos[k][i] * satpos[k][j]; } } } #ifdef __UNUSED__ gpsd_report(LOG_INF, "product:\n"); for (k = 0; k < 4; k++) { gpsd_report(LOG_INF, "%f %f %f %f\n", prod[k][0], prod[k][1], prod[k][2], prod[k][3]); } #endif /* __UNUSED__ */ if (invert(prod, inv)) { #ifdef __UNUSED__ /* * Note: this will print garbage unless all the subdeterminants * are computed in the invert() function. */ gpsd_report(LOG_RAW, "inverse:\n"); for (k = 0; k < 4; k++) { gpsd_report(LOG_RAW, "%f %f %f %f\n", inv[k][0], inv[k][1], inv[k][2], inv[k][3]); } #endif /* __UNUSED__ */ } else { #ifndef USE_QT gpsd_report(LOG_DATA, "LOS matrix is singular, can't calculate DOPs - source '%s'\n", gpsdata->dev.path); #endif return 0; } xdop = sqrt(inv[0][0]); ydop = sqrt(inv[1][1]); hdop = sqrt(inv[0][0] + inv[1][1]); vdop = sqrt(inv[2][2]); pdop = sqrt(inv[0][0] + inv[1][1] + inv[2][2]); tdop = sqrt(inv[3][3]); gdop = sqrt(inv[0][0] + inv[1][1] + inv[2][2] + inv[3][3]); #ifndef USE_QT gpsd_report(LOG_DATA, "DOPS computed/reported: X=%f/%f, Y=%f/%f, H=%f/%f, V=%f/%f, P=%f/%f, T=%f/%f, G=%f/%f\n", xdop, dop->xdop, ydop, dop->ydop, hdop, dop->hdop, vdop, dop->vdop, pdop, dop->pdop, tdop, dop->tdop, gdop, dop->gdop); #endif /*@ -usedef @*/ if (isnan(dop->xdop) != 0) { dop->xdop = xdop; } if (isnan(dop->ydop) != 0) { dop->ydop = ydop; } if (isnan(dop->hdop) != 0) { dop->hdop = hdop; } if (isnan(dop->vdop) != 0) { dop->vdop = vdop; } if (isnan(dop->pdop) != 0) { dop->pdop = pdop; } if (isnan(dop->tdop) != 0) { dop->tdop = tdop; } if (isnan(dop->gdop) != 0) { dop->gdop = gdop; } /*@ +usedef @*/ return DOP_SET; } static void gpsd_error_model(struct gps_device_t *session, struct gps_fix_t *fix, struct gps_fix_t *oldfix) /* compute errors and derived quantities */ { /* * Now we compute derived quantities. This is where the tricky error- * modeling stuff goes. Presently we don't know how to derive * time error. * * Some drivers set the position-error fields. Only the Zodiacs * report speed error. Nobody reports track error or climb error. * * The UERE constants are our assumption about the base error of * GPS fixes in different directions. */ #define H_UERE_NO_DGPS 15.0 /* meters, 95% confidence */ #define H_UERE_WITH_DGPS 3.75 /* meters, 95% confidence */ #define V_UERE_NO_DGPS 23.0 /* meters, 95% confidence */ #define V_UERE_WITH_DGPS 5.75 /* meters, 95% confidence */ #define P_UERE_NO_DGPS 19.0 /* meters, 95% confidence */ #define P_UERE_WITH_DGPS 4.75 /* meters, 95% confidence */ double h_uere, v_uere, p_uere; if (NULL == session) return; h_uere = (session->gpsdata.status == STATUS_DGPS_FIX ? H_UERE_WITH_DGPS : H_UERE_NO_DGPS); v_uere = (session->gpsdata.status == STATUS_DGPS_FIX ? V_UERE_WITH_DGPS : V_UERE_NO_DGPS); p_uere = (session->gpsdata.status == STATUS_DGPS_FIX ? P_UERE_WITH_DGPS : P_UERE_NO_DGPS); /* * OK, this is not an error computation, but we're at the right * place in the architecture for it. Compute speed over ground * and climb/sink in the simplest possible way. */ if (fix->mode >= MODE_2D && oldfix->mode >= MODE_2D && isnan(fix->speed) != 0) { if (fix->time == oldfix->time) fix->speed = 0; else fix->speed = earth_distance(fix->latitude, fix->longitude, oldfix->latitude, oldfix->longitude) / (fix->time - oldfix->time); } if (fix->mode >= MODE_3D && oldfix->mode >= MODE_3D && isnan(fix->climb) != 0) { if (fix->time == oldfix->time) fix->climb = 0; else if (isnan(fix->altitude) == 0 && isnan(oldfix->altitude) == 0) { fix->climb = (fix->altitude - oldfix->altitude) / (fix->time - oldfix->time); } } /* * Field reports match the theoretical prediction that * expected time error should be half the resolution of * the GPS clock, so we put the bound of the error * in as a constant pending getting it from each driver. */ if (isnan(fix->time) == 0 && isnan(fix->ept) != 0) fix->ept = 0.005; /* Other error computations depend on having a valid fix */ if (fix->mode >= MODE_2D) { if (isnan(fix->epx) != 0 && isfinite(session->gpsdata.dop.hdop) != 0) fix->epx = session->gpsdata.dop.xdop * h_uere; if (isnan(fix->epy) != 0 && isfinite(session->gpsdata.dop.hdop) != 0) fix->epy = session->gpsdata.dop.ydop * h_uere; if ((fix->mode >= MODE_3D) && isnan(fix->epv) != 0 && isfinite(session->gpsdata.dop.vdop) != 0) fix->epv = session->gpsdata.dop.vdop * v_uere; if (isnan(session->gpsdata.epe) != 0 && isfinite(session->gpsdata.dop.pdop) != 0) session->gpsdata.epe = session->gpsdata.dop.pdop * p_uere; else session->gpsdata.epe = NAN; /* * If we have a current fix and an old fix, and the packet handler * didn't set the speed error and climb error members itself, * try to compute them now. */ if (isnan(fix->eps) != 0) { if (oldfix->mode > MODE_NO_FIX && fix->mode > MODE_NO_FIX && isnan(oldfix->epx) == 0 && isnan(oldfix->epy) == 0 && isnan(oldfix->time) == 0 && isnan(oldfix->time) == 0 && fix->time > oldfix->time) { timestamp_t t = fix->time - oldfix->time; double e = EMIX(oldfix->epx, oldfix->epy) + EMIX(fix->epx, fix->epy); fix->eps = e / t; } else fix->eps = NAN; } if ((fix->mode >= MODE_3D) && isnan(fix->epc) != 0 && fix->time > oldfix->time) { if (oldfix->mode > MODE_3D && fix->mode > MODE_3D) { timestamp_t t = fix->time - oldfix->time; double e = oldfix->epv + fix->epv; /* if vertical uncertainties are zero this will be too */ fix->epc = e / t; } /* * We compute a track error estimate solely from the * position of this fix and the last one. The maximum * track error, as seen from the position of last fix, is * the angle subtended by the two most extreme possible * error positions of the current fix; the expected track * error is half that. Let the position of the old fix be * A and of the new fix B. We model the view from A as * two right triangles ABC and ABD with BC and BD both * having the length of the new fix's estimated error. * adj = len(AB), opp = len(BC) = len(BD), hyp = len(AC) = * len(AD). This leads to spurious uncertainties * near 180 when we're moving slowly; to avoid reporting * garbage, throw back NaN if the distance from the previous * fix is less than the error estimate. */ fix->epd = NAN; if (oldfix->mode >= MODE_2D) { double adj = earth_distance(oldfix->latitude, oldfix->longitude, fix->latitude, fix->longitude); if (isnan(adj) == 0 && adj > EMIX(fix->epx, fix->epy)) { double opp = EMIX(fix->epx, fix->epy); double hyp = sqrt(adj * adj + opp * opp); fix->epd = RAD_2_DEG * 2 * asin(opp / hyp); } } } } /* save old fix for later error computations */ /*@ -mayaliasunique @*/ if (fix->mode >= MODE_2D) (void)memcpy(oldfix, fix, sizeof(struct gps_fix_t)); /*@ +mayaliasunique @*/ } #endif /* CHEAPFLOATS_ENABLE */ gps_mask_t gpsd_poll(struct gps_device_t *session) /* update the stuff in the scoreboard structure */ { ssize_t newlen; bool first_sync = false; gps_clear_fix(&session->newdata); #ifdef TIMING_ENABLE /* * Input just became available from a sensor, but no read from the * device has yet been done. * * What we actually do here is trickier. For latency-timing * purposes, we want to know the time at the start of the current * recording cycle. We rely on the fact that even at 4800bps * there's a quiet time perceptible to the human eye in gpsmon * between when the last character of the last packet in a * 1-second cycle ships and when the next reporting cycle * ships. Because the cycle time is fixed, higher baud rates will * make this gap larger. * * Thus, we look for an inter-character delay much larger than an * average 4800bps sentence time. How should this delay be set? Well, * counting framing bits and erring on the side of caution, it's * about 480 characters per second or 2083 microeconds per character; * that's almost exactly 0.125 seconds per average 60-char sentence. * Doubling this to avoid false positives, we look for an inter-character * delay of greater than 0.250s. * * The above assumes a cycle time of 1 second. To get the minimum size of * the quiet period, we multiply by the device cycle time. * * We can sanity-check these calculation by watching logs. If we have set * MINIMUM_QUIET_TIME correctly, the "transmission pause" message below * will consistently be emitted just before the sentence that shows up * as start-of-cycle in gpsmon, and never emitted at any other point * in the cycle. * * In practice, it seems that edge detection succeeds at 9600bps but * fails at 4800bps. This is not surprising, as previous profiling has * indicated that at 4800bps some devices overrun a 1-second cycle time * with the data they transmit. */ #define MINIMUM_QUIET_TIME 0.25 if (session->packet.outbuflen == 0) { /* beginning of a new packet */ timestamp_t now = timestamp(); if (session->device_type != NULL && session->packet.start_time > 0) { #ifdef RECONFIGURE_ENABLE const time_t min_cycle = session->device_type->min_cycle; #else const time_t min_cycle = 1; #endif /* RECONFIGURE_ENABLE */ double quiet_time = (MINIMUM_QUIET_TIME * min_cycle); double gap = now - session->packet.start_time; if (gap > min_cycle) gpsd_report(LOG_WARN, "cycle-start detector failed.\n"); else if (gap > quiet_time) { gpsd_report(LOG_PROG, "transmission pause of %f\n", gap); session->sor = now; session->packet.start_char = session->packet.char_counter; } } session->packet.start_time = now; } #endif /* TIMING_ENABLE */ if (session->packet.type >= COMMENT_PACKET) { /*@-shiftnegative@*/ session->observed |= PACKET_TYPEMASK(session->packet.type); /*@+shiftnegative@*/ } /* can we get a full packet from the device? */ if (session->device_type != NULL) { newlen = session->device_type->get_packet(session); /* coverity[deref_ptr] */ gpsd_report(LOG_RAW, "%s is known to be %s\n", session->gpsdata.dev.path, session->device_type->type_name); } else { newlen = generic_get(session); } /* update the scoreboard structure from the GPS */ gpsd_report(LOG_RAW + 2, "%s sent %zd new characters\n", session->gpsdata.dev.path, newlen); if (newlen < 0) { /* read error */ gpsd_report(LOG_INF, "GPS on %s returned error %zd (%lf sec since data)\n", session->gpsdata.dev.path, newlen, timestamp() - session->gpsdata.online); session->gpsdata.online = (timestamp_t)0; return ERROR_SET; } else if (newlen == 0) { /* zero length read, possible EOF */ /* * Multiplier is 2 to avoid edge effects due to sampling at the exact * wrong time... */ if (session->gpsdata.online > 0 && timestamp() - session->gpsdata.online >= session->gpsdata.dev.cycle * 2) { gpsd_report(LOG_INF, "GPS on %s is offline (%lf sec since data)\n", session->gpsdata.dev.path, timestamp() - session->gpsdata.online); session->gpsdata.online = (timestamp_t)0; } return NODATA_IS; } else /* (newlen > 0) */ { const struct gps_type_t **dp; gpsd_report(LOG_RAW, "packet sniff on %s finds type %d\n", session->gpsdata.dev.path, session->packet.type); if (session->packet.type == COMMENT_PACKET) { gpsd_report (LOG_PROG, "comment, sync lock deferred\n"); /* FALL THROUGH */ } else if (session->packet.type > COMMENT_PACKET) { first_sync = (session->device_type == NULL); for (dp = gpsd_drivers; *dp; dp++) if (session->packet.type == (*dp)->packet_type) { (void)gpsd_switch_driver(session, (*dp)->type_name); break; } /* FALL THROUGH */ } else if (session->getcount++>1 && !gpsd_next_hunt_setting(session)) { gpsd_run_device_hook(session->gpsdata.dev.path, "DEACTIVATE"); gpsd_report(LOG_INF, "hunt on %s failed (%lf sec since data)\n", session->gpsdata.dev.path, timestamp() - session->gpsdata.online); return ERROR_SET; } } if (session->packet.outbuflen == 0) { /* got new data, but no packet */ gpsd_report(LOG_RAW + 3, "New data on %s, not yet a packet\n", session->gpsdata.dev.path); return ONLINE_SET; } else { /* we have recognized a packet */ gps_mask_t received = PACKET_SET; session->gpsdata.online = timestamp(); gpsd_report(LOG_RAW + 3, "Accepted packet on %s.\n", session->gpsdata.dev.path); /* track the packet count since achieving sync on the device */ if (first_sync) { speed_t speed = gpsd_get_speed(session); /*@-nullderef@*/ gpsd_report(LOG_INF, "%s identified as type %s (%f sec @ %dbps)\n", session->gpsdata.dev.path, session->device_type->type_name, timestamp() - session->opentime, speed); /*@+nullderef@*/ /* fire the identified hook */ if (session->device_type != NULL && session->device_type->event_hook != NULL) session->device_type->event_hook(session, event_identified); session->packet.counter = 0; } else session->packet.counter++; /* fire the configure hook */ if (session->device_type != NULL && session->device_type->event_hook != NULL) session->device_type->event_hook(session, event_configure); /* * If this is the first time we've achieved sync on this * device, or the driver type has changed for any other * reason, that's a significant event that the caller needs to * know about. */ if (first_sync || session->notify_clients) { session->notify_clients = false; received |= DRIVER_IS; } /* * The guard looks superfluous, but it keeps the rather expensive * gpsd_packetdump() function from being called even when the debug * level does not actually require it. */ if (session->context->debug >= LOG_RAW) gpsd_report(LOG_RAW, "raw packet of type %d, %zd:%s\n", session->packet.type, session->packet.outbuflen, gpsd_packetdump((char *)session->packet.outbuffer, session->packet.outbuflen)); /* Get data from current packet into the fix structure */ if (session->packet.type != COMMENT_PACKET) if (session->device_type != NULL && session->device_type->parse_packet != NULL) received |= session->device_type->parse_packet(session); #ifdef TIMING_ENABLE /* are we going to generate a report? if so, count characters */ if ((received & REPORT_IS) != 0) { session->chars = session->packet.char_counter - session->packet.start_char; } #endif /* TIMING_ENABLE */ session->gpsdata.set = ONLINE_SET | received; #ifdef CHEAPFLOATS_ENABLE /* * Compute fix-quality data from the satellite positions. * These will not overwrite any DOPs reported from the packet * we just got. */ if ((received & SATELLITE_SET) != 0 && session->gpsdata.satellites_visible > 0) { session->gpsdata.set |= fill_dop(&session->gpsdata, &session->gpsdata.dop); session->gpsdata.epe = NAN; } #endif /* CHEAPFLOATS_ENABLE */ /* copy/merge device data into staging buffers */ /*@-nullderef -nullpass@*/ if ((session->gpsdata.set & CLEAR_IS) != 0) gps_clear_fix(&session->gpsdata.fix); /* don't downgrade mode if holding previous fix */ if (session->gpsdata.fix.mode > session->newdata.mode) session->gpsdata.set &= ~MODE_SET; //gpsd_report(LOG_PROG, // "transfer mask on %s: %02x\n", session->gpsdata.tag, session->gpsdata.set); gps_merge_fix(&session->gpsdata.fix, session->gpsdata.set, &session->newdata); #ifdef CHEAPFLOATS_ENABLE gpsd_error_model(session, &session->gpsdata.fix, &session->oldfix); #endif /* CHEAPFLOATS_ENABLE */ /*@+nullderef -nullpass@*/ /* * Count good fixes. We used to check * session->gpsdata.status > STATUS_NO_FIX * here, but that wasn't quite right. That tells us whether * we think we have a valid fix for the current cycle, but remains * true while following non-fix packets are received. What we * really want to know is whether the last packet received was a * fix packet AND held a valid fix. We must ignore non-fix packets * AND packets which have fix data but are flagged as invalid. Some * devices output fix packets on a regular basis, even when unable * to derive a good fix. Such packets should set STATUS_NO_FIX. */ if ( 0 != (session->gpsdata.set & LATLON_SET)) { if ( session->gpsdata.status > STATUS_NO_FIX) { session->context->fixcnt++; session->fixcnt++; } else { session->context->fixcnt = 0; session->fixcnt = 0; } } /* * Sanity check. This catches a surprising number of port and * driver errors, including 32-vs.-64-bit problems. */ /*@+relaxtypes +longunsignedintegral@*/ if ((session->gpsdata.set & TIME_SET) != 0) { if (session->newdata.time > time(NULL) + (60 * 60 * 24 * 365)) gpsd_report(LOG_WARN, "date more than a year in the future!\n"); else if (session->newdata.time < 0) gpsd_report(LOG_ERROR, "date in %s is negative!\n", session->gpsdata.tag); } /*@-relaxtypes -longunsignedintegral@*/ return session->gpsdata.set; } } void gpsd_wrap(struct gps_device_t *session) /* end-of-session wrapup */ { if (!BAD_SOCKET(session->gpsdata.gps_fd)) gpsd_deactivate(session); } void gpsd_zero_satellites( /*@out@*/ struct gps_data_t *out) { (void)memset(out->PRN, 0, sizeof(out->PRN)); (void)memset(out->elevation, 0, sizeof(out->elevation)); (void)memset(out->azimuth, 0, sizeof(out->azimuth)); (void)memset(out->ss, 0, sizeof(out->ss)); out->satellites_visible = 0; #if 0 /* * We used to clear DOPs here, but this causes misbehavior on some * combined GPS/GLONASS/QZSS receivers like the Telit SL869; the * symptom is that the "satellites_used" field in a struct gps_data_t * filled in by gps_read() is always zero. */ gps_clear_dop(&out->dop); #endif } gpsd-3.9/libgpsmm.cpp0000664000175000017500000000332412022345475013014 0ustar esresr/* * Copyright (C) 2005 Alfredo Pironti * * This software is distributed under a BSD-style license. See the * file "COPYING" in the top-level directory of the disribution for details. * */ #ifndef S_SPLINT_S #include #include "libgpsmm.h" #include "gpsd_config.h" struct gps_data_t* gpsmm::gps_inner_open(const char *host, const char *port) { const bool err = (gps_open(host, port, gps_state()) != 0); if ( err ) { to_user = NULL; return NULL; } else { // connection successfully opened to_user= new struct gps_data_t; return backup(); //we return the backup of our internal structure } } struct gps_data_t* gpsmm::stream(int flags) { if (to_user == NULL) return NULL; else if (gps_stream(gps_state(),flags, NULL)==-1) { return NULL; } else { return backup(); } } struct gps_data_t* gpsmm::send(const char *request) { if (gps_send(gps_state(),request)==-1) { return NULL; } else { return backup(); } } struct gps_data_t* gpsmm::read(void) { if (gps_read(gps_state())<=0) { // we return null if there was a read() error, if no // data was ready in POLL_NOBLOCK mode, or if the // connection is closed by gpsd return NULL; } else { return backup(); } } bool gpsmm::waiting(int timeout) { return gps_waiting(gps_state(), timeout); } const char *gpsmm::data(void) { return gps_data(gps_state()); } void gpsmm::clear_fix(void) { gps_clear_fix(&(gps_state()->fix)); } void gpsmm::enable_debug(int level, FILE *fp) { #ifdef CLIENTDEBUG_ENABLE gps_enable_debug(level, fp); #endif /* CLIENTDEBUG_ENABLE */ } gpsmm::~gpsmm() { if ( to_user != NULL ) { gps_close(gps_state()); delete to_user; } } #endif /* S_SPLINT_S */ gpsd-3.9/libgpsmm.h0000664000175000017500000000341612022345475012463 0ustar esresr#ifndef _GPSD_GPSMM_H_ #define _GPSD_GPSMM_H_ /* * Copyright (C) 2005 Alfredo Pironti * * This software is distributed under a BSD-style license. See the * file "COPYING" in the toop-level directory of the distribution for details. * */ #include #include "gps.h" //the C library we are going to wrap #ifndef USE_QT class gpsmm { #else #include #if defined(LIBQGPSMM_LIBRARY) # define LIBQGPSMMSHARED_EXPORT Q_DECL_EXPORT #else # define LIBQGPSMMSHARED_EXPORT Q_DECL_IMPORT #endif class LIBQGPSMMSHARED_EXPORT gpsmm { #endif public: // cppcheck-suppress uninitVar gpsmm(const char *host, const char *port) : to_user(0), _gps_state() { gps_inner_open(host, port); } #ifdef __UNUSED__ // cppcheck-suppress uninitVar gpsmm(void) : to_user(0) { gps_inner_open("localhost", DEFAULT_GPSD_PORT); } #endif virtual ~gpsmm(); struct gps_data_t* send(const char *request); //put a command to gpsd and return the updated struct struct gps_data_t* stream(int); //set watcher and policy flags struct gps_data_t* read(void); //block until gpsd returns new data, then return the updated struct const char *data(void); // return the client data buffer bool waiting(int); // blocking check for data waiting void clear_fix(void); void enable_debug(int, FILE*); private: struct gps_data_t *to_user; //we return the user a copy of the internal structure. This way she can modify it without //integrity loss for the entire class struct gps_data_t* gps_inner_open(const char *host, const char *port); struct gps_data_t _gps_state; struct gps_data_t * gps_state() { return &_gps_state; } struct gps_data_t* backup(void) { *to_user=*gps_state(); return to_user;}; //return the backup copy }; #endif // _GPSD_GPSMM_H_ gpsd-3.9/libgpsmm.xml0000664000175000017500000000643611762140435013040 0ustar esresr 13 May 2005 libgpsmm 3 The GPSD Project GPSD Documentation libgpsmm libQgpsmm C++ and QT class wrapper for the GPS daemon C++: #include <libgpsmm> struct gps_data_t *open char *host char *port struct gps_data_t *open void struct gps_data_t *send char *request struct gps_data_t *read void struct gps_data_t *waiting int struct gps_data_t *stream unsigned intflags DESCRIPTION libgpsmm and libQgpsmm are mere wrappers over libgps. The important difference between the libraries is that libgpsmm is targeted at C++ applications and contained in libgps, while libQgpsmm is platform independent by using QTcpSocket to connect to gpsd and shipped as an additional library due to the necessary linking to QT. Method names are the same as the analogue C functions. For a detailed description of the functions please read libgps3. open() must be called after class constructor and before any other method (open() is not inside the constructor since it may fail, however constructors have no return value). The analogue of the C function gps_close() is in the destructor. SEE ALSO gpsd8, gps1, libgps3. AUTHOR Alfredo Pironti <alfredio@users.sourceforge.net>. gpsd-3.9/maskaudit.py.in0000664000175000017500000001102411762140435013432 0ustar esresr#!@PYTHON@ # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # # With -p, dump a Python status mask list translated from the C one. # # With -c, generate C code to dump masks for debugging purposes. # # With -t, tabulate usage of defines to find unused ones. Requires -c or -d. import sys, commands, glob, getopt class SourceExtractor: def __init__(self, sourcefile, clientside): self.sourcefile = sourcefile self.clientside = clientside self.daemonfiles = ["gpsd.c", "libgpsd_core.c", "pseudonmea.c", "drivers.c"] + glob.glob("driver_*.c") + ["gpsmon.c", "subframe.c"] + glob.glob("monitor_*.c") self.masks = [] self.primitive_masks = [] for line in file(self.sourcefile): if line.startswith("#define") and ("_SET" in line or "_IS" in line): fields = line.split() self.masks.append((fields[1], fields[2])) if fields[2].startswith("(1llu<<") or fields[2].startswith("INTERNAL_SET"): self.primitive_masks.append((fields[1], fields[2])) def in_library(self, flag): (status, output) = commands.getstatusoutput("grep %s libgps_core.c libgps_json.c gpsctl.c" % flag) return status == 0 def in_daemon(self, flag): (status, output) = commands.getstatusoutput("grep %s %s" % (flag, " ".join(self.daemonfiles))) return status == 0 def relevant(self, flag): if self.clientside: return self.in_library(flag) else: return self.in_daemon(flag) if __name__ == '__main__': try: (options, arguments) = getopt.getopt(sys.argv[1:], "cdpt") pythonize = tabulate = False clientgen = daemongen = False for (switch, val) in options: if (switch == '-p'): pythonize = True if (switch == '-c'): clientgen = True if (switch == '-d'): daemongen = True if (switch == '-t'): tabulate = True if not arguments: srcdir = '.' else: srcdir = arguments[0] clientside = SourceExtractor(srcdir + "/gps.h", clientside=True) daemonside = SourceExtractor(srcdir + "/gpsd.h", clientside=False) if clientgen: source = clientside banner = "Library" elif daemongen: source = daemonside banner = "Daemon" if tabulate: print "%-14s %8s" % (" ", banner) for (flag, value) in source.masks: print "%-14s %8s" % (flag, source.relevant(flag)) if pythonize: for (d, v) in source.masks: if v[-1] == 'u': v = v[:-1] print "%-15s\t= %s" % (d, v) if not pythonize and not tabulate: maxout = 0 for (d, v) in source.primitive_masks: if source.relevant(d): stem = d if stem.endswith("_SET"): stem = stem[:-4] if stem.endswith("_IS"): stem = stem[:-3] maxout += len(stem) + 1 print """/* This code is generated. Do not hand-hack it! */ /* * Also, beware that it is something of a CPU hog when called on every packet. * Try to write guards so it is only called at higher log levels. */ #include #include #include \"gpsd.h\" const char *gps_maskdump(gps_mask_t set) { static char buf[%d]; const struct { gps_mask_t mask; const char *name; } *sp, names[] = {""" % (maxout + 3,) for (flag, value) in (clientside.primitive_masks + daemonside.primitive_masks): stem = flag if stem.endswith("_SET"): stem = stem[:-4] if stem.endswith("_IS"): stem = stem[:-3] print "\t{%s,\t\"%s\"}," % (flag, stem) print '''\ }; memset(buf, '\\0', sizeof(buf)); buf[0] = '{'; for (sp = names; sp < names + sizeof(names)/sizeof(names[0]); sp++) if ((set & sp->mask)!=0) { (void)strlcat(buf, sp->name, sizeof(buf)); (void)strlcat(buf, "|", sizeof(buf)); } if (buf[1] != \'\\0\') buf[strlen(buf)-1] = \'\\0\'; (void)strlcat(buf, "}", sizeof(buf)); return buf; } ''' except KeyboardInterrupt: pass # The following sets edit modes for GNU EMACS # Local Variables: # mode:python # End: gpsd-3.9/monitor_garmin.c0000664000175000017500000001716311762140435013673 0ustar esresr/* * Garmin binary object for the GPS packet monitor. * * This file is Copyright (c) 2011 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include "gpsd.h" #include "bits.h" #include "gpsmon.h" #if defined(GARMIN_ENABLE) && defined(BINARY_ENABLE) extern const struct gps_type_t garmin_ser_binary; static WINDOW *miscwin, *mid51win, *mid114win; #define display (void)mvwprintw #define GARMIN_CHANNELS 12 #define GPSD_LE16TOH(x) getles16((char *)(&(x)), 0) #define GPSD_LE32TOH(x) getles32((char *)(&(x)), 0) #pragma pack(1) /* Satellite Data Record */ typedef struct { uint8_t svid; uint16_t snr; uint8_t elev; uint16_t azmth; uint8_t status; } cpo_sat_data; /* Position Record */ typedef struct { float alt; float epe; float eph; float epv; int16_t fix; double gps_tow; double lat; double lon; float lon_vel; float lat_vel; float alt_vel; float msl_hght; int16_t leap_sec; int32_t grmn_days; } cpo_pvt_data; /* Receiver Measurement Record */ typedef struct { uint32_t cycles; // cppcheck-suppress unusedStructMember double pr; uint16_t phase; int8_t slp_dtct; uint8_t snr_dbhz; uint8_t svid; int8_t valid; } cpo_rcv_sv_data; typedef struct { // cppcheck-suppress unusedStructMember double rcvr_tow; int16_t rcvr_wn; cpo_rcv_sv_data sv[GARMIN_CHANNELS]; } cpo_rcv_data; /* description of the status */ static char *fixdesc[] = { "no fix", "no fix", "2D", "3D", "2D dif", "3D dif", }; /* check range of an unsigned quantity */ #define CHECK_RANGE(vec, i) ((i) < sizeof(vec)/sizeof(vec[0])) static bool garmin_bin_initialize(void) { /*@-globstate@*/ unsigned int i; #ifndef CONTROLSEND_ENABLE if(serial) { monitor_complain("Direct mode doesn't supported."); return false; } #endif /*@ -onlytrans @*/ miscwin = subwin(devicewin, 1, 80, 1, 0); mid51win = subwin(devicewin, 12, 18, 2, 0); mid114win = subwin(devicewin, GARMIN_CHANNELS + 3, 23, 2, 18); if (miscwin == NULL || mid51win == NULL || mid114win == NULL) return false; (void)syncok(miscwin, true); (void)syncok(mid51win, true); (void)syncok(mid114win, true); /*@ -nullpass @*/ (void)wattrset(miscwin, A_BOLD); display(miscwin, 0, 0, "Time:"); (void)wattrset(miscwin, A_NORMAL); (void)wborder(mid51win, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(mid51win, A_BOLD); display(mid51win, 0, 4, " Position "); display(mid51win, 1, 2, "Fix:"); display(mid51win, 2, 2, "Lat:"); (void)mvwaddch(mid51win, 2, 16, ACS_DEGREE); display(mid51win, 3, 2, "Lon:"); (void)mvwaddch(mid51win, 3, 16, ACS_DEGREE); display(mid51win, 4, 2, "Alt: m"); display(mid51win, 5, 2, "Speed: m/s"); display(mid51win, 6, 2, "Climb: m/s"); display(mid51win, 7, 2, "Leap: sec"); display(mid51win, 8, 2, "epe: m"); display(mid51win, 9, 2, "eph: m"); display(mid51win, 10, 2, "epv: m"); display(mid51win, 11, 3, " ID 51 (0x33) "); (void)wattrset(mid51win, A_NORMAL); (void)wborder(mid114win, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(mid114win, A_BOLD); display(mid114win, 1, 1, "Ch PRN Az El SNR ST"); for (i = 0; i < GARMIN_CHANNELS; i++) { display(mid114win, (int)i + 2, 1, "%2d", i); } display(mid114win, 0, 5, " Satellite "); display(mid114win, 14, 4, " ID 114 (0x72) "); (void)wattrset(mid114win, A_NORMAL); /* initialize the GPS context's time fields */ gpsd_time_init(session.context, time(NULL)); return true; /*@+globstate@*/ } /*@ -globstate -compdef */ static void garmin_bin_update(uint16_t pkt_id, uint32_t pkt_size UNUSED, unsigned char *pkt_data) { int i; cpo_sat_data *sats = NULL; cpo_pvt_data *pvt = NULL; //cpo_rcv_data *rmd = NULL; char tbuf[JSON_DATE_MAX+1]; switch (pkt_id) { case 0x29: /* Receiver Measurement Record */ case 0x34: /* for future use */ //rmd = (cpo_rcv_data *)pkt_data; monitor_log("RMD 0x%02x=", pkt_id); break; case 0x33: /* Position Record */ display(miscwin, 0, 6, "%-24s", unix_to_iso8601(session.gpsdata.fix.time, tbuf, sizeof(tbuf))); pvt = (cpo_pvt_data *)pkt_data; display(mid51win, 1, 7, "%s", (CHECK_RANGE(fixdesc, (uint8_t)GPSD_LE16TOH(pvt->fix)) ? \ fixdesc[GPSD_LE16TOH(pvt->fix)] : "unknown")); display(mid51win, 2, 8, "%3.5f", pvt->lat * RAD_2_DEG); display(mid51win, 3, 8, "%3.5f", pvt->lon * RAD_2_DEG); display(mid51win, 4, 8, "%8.2f", pvt->alt + pvt->msl_hght); display(mid51win, 5, 9, "%5.1f", hypot(pvt->lon_vel, pvt->lat_vel)); display(mid51win, 6, 9, "%5.1f", pvt->alt_vel); display(mid51win, 7, 8, "%d", (int)GPSD_LE16TOH(pvt->leap_sec)); if (GPSD_LE16TOH(pvt->fix) < 2) /* error value is very large when status no fix */ pvt->epe = pvt->eph = pvt->epv = NAN; display(mid51win, 8, 7, "%6.2f", pvt->epe); display(mid51win, 9, 7, "%6.2f", pvt->eph); display(mid51win, 10, 7, "%6.2f", pvt->epv); monitor_log("PVT 0x%02x=", pkt_id); break; case 0x72: /* Satellite Data Record */ sats = (cpo_sat_data *)pkt_data; for (i = 0; i < GARMIN_CHANNELS; i++, sats++) { display(mid114win, i + 2, 3, " %3u %3u %2u %4.1f %2x", sats->svid, GPSD_LE16TOH(sats->azmth), sats->elev, (float)GPSD_LE16TOH(sats->snr) / 100.0, sats->status); } monitor_log("SAT 0x%02x=", pkt_id); break; case 0xff: /* Product Data Record */ monitor_log("PDR 0x%02x=", pkt_id); break; default: monitor_log("UNK 0x%02x=", pkt_id); break; } } static void garmin_bin_ser_update(void) { unsigned char *buf; size_t len; uint16_t pkt_id; uint32_t pkt_size; unsigned char pkt_data[255]; int i, j; unsigned char c; unsigned char chksum; bool pkt_good = false, got_dle = false; buf = session.packet.outbuffer; len = session.packet.outbuflen; if (!(buf[0] == (unsigned char)0x10 && /* DLE */ buf[len-2] == (unsigned char)0x10 && /* DLE */ buf[len-1] == (unsigned char)0x03)) /* ETX */ goto end; /* bad pkt */ if (buf[1] == (unsigned char)0x10 && buf[2] != (unsigned char)0x10) goto end; /* bad pkt */ pkt_id = (uint16_t)buf[1]; if (buf[2] == (unsigned char)0x10 && buf[3] != (unsigned char)0x10) goto end; /* bad pkt */ pkt_size = (uint32_t)buf[2]; chksum = buf[1] + buf[2]; /* pkt_id + pkt_size */ j = 0; for (i = 0; i <= 255; i++) { if (pkt_size == (uint32_t)j) break; c = buf[i+3]; if (got_dle) { got_dle = false; if (c != (unsigned char)0x10) goto end; /* bad pkt */ } else { pkt_data[j++] = c; chksum += c; if (c == (unsigned char)0x10) got_dle = true; } } /* check pkt chksum */ if ((unsigned char)(-chksum) == buf[len-3]) pkt_good = true; end: if (pkt_good) { #ifdef CONTROLSEND_ENABLE if(serial) /* good packet, send ACK */ (void)monitor_control_send((unsigned char *)"\x10\x06\x00\xfa\x10\x03", 6); #endif garmin_bin_update(pkt_id, pkt_size, pkt_data); } else { #ifdef CONTROLSEND_ENABLE if(serial) /* bad packet, send NAK */ (void)monitor_control_send((unsigned char *)"\x10\x15\x00\xeb\x10\x03", 6); #endif monitor_log("BAD 0x%02x=", buf[1]); } } /*@ +globstate +compdef */ static void garmin_bin_wrap(void) { (void)delwin(miscwin); (void)delwin(mid51win); (void)delwin(mid114win); } const struct monitor_object_t garmin_bin_ser_mmt = { .initialize = garmin_bin_initialize, .update = garmin_bin_ser_update, .command = NULL, .wrap = garmin_bin_wrap, .min_y = 16,.min_x = 80, .driver = &garmin_ser_binary, }; #endif /* defined(GARMIN_ENABLE) && defined(BINARY_ENABLE) */ gpsd-3.9/monitor_italk.c0000664000175000017500000001722512022345701013512 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include "gpsd.h" #include "bits.h" #include "gpsmon.h" #ifdef ITRAX_ENABLE #include "driver_italk.h" #ifdef HAVE_STRLCAT #include #endif extern const struct gps_type_t italk_binary; static WINDOW *satwin, *navfixwin; #define display (void)mvwprintw static bool italk_initialize(void) { int i; /*@ -onlytrans @*/ /* "heavily inspired" by monitor_nmea.c */ if ((satwin = derwin(devicewin, MAX_NR_VISIBLE_PRNS + 3, 27, 0, 0)) == NULL) return false; (void)wborder(satwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)syncok(satwin, true); (void)wattrset(satwin, A_BOLD); display(satwin, 1, 1, "Ch PRN Az El S/N Flag U"); for (i = 0; i < MAX_NR_VISIBLE_PRNS; i++) display(satwin, (int)(i + 2), 1, "%2d", i); display(satwin, MAX_NR_VISIBLE_PRNS + 2, 7, " PRN_STATUS "); (void)wattrset(satwin, A_NORMAL); /* "heavily inspired" by monitor_nmea.c */ if ((navfixwin = derwin(devicewin, 13, 52, 0, 27)) == NULL) return false; (void)wborder(navfixwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(navfixwin, A_BOLD); (void)wmove(navfixwin, 1, 1); (void)wprintw(navfixwin, "ECEF Pos:"); (void)wmove(navfixwin, 2, 1); (void)wprintw(navfixwin, "ECEF Vel:"); (void)wmove(navfixwin, 4, 1); (void)wprintw(navfixwin, "LTP Pos:"); (void)wmove(navfixwin, 5, 1); (void)wprintw(navfixwin, "LTP Vel:"); (void)wmove(navfixwin, 7, 1); (void)wprintw(navfixwin, "Time UTC:"); (void)wmove(navfixwin, 8, 1); (void)wprintw(navfixwin, "Time GPS: Day:"); (void)wmove(navfixwin, 10, 1); (void)wprintw(navfixwin, "DOP [H] [V] [P] [T] [G]"); (void)wmove(navfixwin, 11, 1); (void)wprintw(navfixwin, "Fix:"); display(navfixwin, 12, 20, " NAV_FIX "); (void)wattrset(navfixwin, A_NORMAL); return true; /*@ +onlytrans @*/ } static void display_itk_navfix(unsigned char *buf, size_t len) { unsigned int tow, tod, d, svlist; unsigned short gps_week, nsv; unsigned short year, mon, day, hour, min, sec; double epx, epy, epz, evx, evy, evz; double latitude, longitude; float altitude, speed, track, climb; float hdop, gdop, pdop, vdop, tdop; if (len != 296) return; #ifdef __UNUSED__ flags = (unsigned short) getleu16(buf, 7 + 4); */ cflags = (unsigned short) getleu16(buf, 7 + 6); pflags = (unsigned short) getleu16(buf, 7 + 8); #endif /* __UNUSED__ */ #define MAX(a,b) (((a) > (b)) ? (a) : (b)) nsv = (unsigned short) MAX(getleu16(buf, 7 + 12), getleu16(buf, 7 + 14)); svlist = (unsigned int) ((unsigned short) getleu32(buf, 7 + 16) | getleu32(buf, 7 + 24)); hour = (unsigned short) getleu16(buf, 7 + 66); min = (unsigned short) getleu16(buf, 7 + 68); sec = (unsigned short) getleu16(buf, 7 + 70); //nsec = (unsigned short) getleu32(buf, 7 + 72); year = (unsigned short) getleu16(buf, 7 + 76); mon = (unsigned short) getleu16(buf, 7 + 78); day = (unsigned short) getleu16(buf, 7 + 80); gps_week = (unsigned short) getles16(buf, 7 + 82); tow = (unsigned short) getleu32(buf, 7 + 84); epx = (double)(getles32(buf, 7 + 96) / 100.0); epy = (double)(getles32(buf, 7 + 100) / 100.0); epz = (double)(getles32(buf, 7 + 104) / 100.0); evx = (double)(getles32(buf, 7 + 186) / 1000.0); evy = (double)(getles32(buf, 7 + 190) / 1000.0); evz = (double)(getles32(buf, 7 + 194) / 1000.0); latitude = (double)(getles32(buf, 7 + 144) / 1e7); longitude = (double)(getles32(buf, 7 + 148) / 1e7); altitude = (float)(getles32(buf, 7 + 152) / 1e3); climb = (float)(getles32(buf, 7 + 206) / 1e3); speed = (float)(getleu32(buf, 7 + 210) / 1e3); track = (float)(getleu16(buf, 7 + 214) / 1e2); hdop = (float)(getleu16(buf, 7 + 56) / 100.0); gdop = (float)(getleu16(buf, 7 + 58) / 100.0); pdop = (float)(getleu16(buf, 7 + 60) / 100.0); vdop = (float)(getleu16(buf, 7 + 62) / 100.0); tdop = (float)(getleu16(buf, 7 + 64) / 100.0); (void)wmove(navfixwin, 1, 11); (void)wprintw(navfixwin, "%12.2lf %12.2lf %12.2lfm", epx, epy, epz); (void)wmove(navfixwin, 2, 11); (void)wprintw(navfixwin, "%11.2lf %11.2lf %11.2lfm/s", evx, evy, evz); (void)wmove(navfixwin, 4, 11); (void)wprintw(navfixwin, "%11.8lf %13.8lf %8.1lfm", latitude, longitude, altitude); (void)mvwaddch(navfixwin, 4, 22, ACS_DEGREE); (void)mvwaddch(navfixwin, 4, 38, ACS_DEGREE); (void)wmove(navfixwin, 5, 11); (void)wprintw(navfixwin, "%6.2lfm/s %5.1lf %6.2lfm/s climb", speed, track, climb); (void)mvwaddch(navfixwin, 5, 27, ACS_DEGREE); (void)wmove(navfixwin, 7, 11); (void)wprintw(navfixwin, "%04u-%02u-%02u %02u:%02u:%02u", year, mon, day, hour, min, sec); (void)wmove(navfixwin, 8, 11); (void)wprintw(navfixwin, "%04u+%010.3lf", gps_week, tow / 1000.0); (void)wmove(navfixwin, 8, 33); d = (tow / 1000) / 86400; tod = (tow / 1000) - (d * 86400); sec = (unsigned short)tod % 60; min = (unsigned short)(tod / 60) % 60; hour = (unsigned short)tod / 3600; (void)wprintw(navfixwin, "%1d %02d:%02d:%02d", d, hour, min, sec); (void)wmove(navfixwin, 10, 9); (void)wprintw(navfixwin, "%-5.1f", hdop); (void)wmove(navfixwin, 10, 18); (void)wprintw(navfixwin, "%-5.1f", vdop); (void)wmove(navfixwin, 10, 27); (void)wprintw(navfixwin, "%-5.1f", pdop); (void)wmove(navfixwin, 10, 36); (void)wprintw(navfixwin, "%-5.1f", tdop); (void)wmove(navfixwin, 10, 45); (void)wprintw(navfixwin, "%-5.1f", gdop); (void)wmove(navfixwin, 11, 6); { char prn[4], satlist[38]; unsigned int i; satlist[0] = '\0'; for (i = 0; i < 32; i++) { if (svlist & (1 << i)) { (void)snprintf(prn, 4, "%u ", i + 1); (void)strlcat(satlist, prn, 38); } } (void)wprintw(navfixwin, "%02d = %-38s", nsv, satlist); } (void)wnoutrefresh(navfixwin); } static void display_itk_prnstatus(unsigned char *buf, size_t len) { int i, nchan; if (len < 62) return; nchan = (int)getleu16(buf, 7 + 50); if (nchan > MAX_NR_VISIBLE_PRNS) nchan = MAX_NR_VISIBLE_PRNS; for (i = 0; i < nchan; i++) { int off = 7 + 52 + 10 * i; unsigned short fl; unsigned char ss, prn, el, az; fl = (unsigned short)getleu16(buf, off); ss = (unsigned char)getleu16(buf, off + 2) & 0xff; prn = (unsigned char)getleu16(buf, off + 4) & 0xff; el = (unsigned char)getles16(buf, off + 6) & 0xff; az = (unsigned char)getles16(buf, off + 8) & 0xff; (void)wmove(satwin, i + 2, 4); (void)wprintw(satwin, "%3d %3d %2d %02d %04x %c", prn, az, el, ss, fl, (fl & PRN_FLAG_USE_IN_NAV) ? 'Y' : ' '); } for (; i < MAX_NR_VISIBLE_PRNS; i++) { (void)wmove(satwin, (int)i + 2, 4); (void)wprintw(satwin, " "); } (void)wnoutrefresh(satwin); return; } static void italk_update(void) { unsigned char *buf; size_t len; unsigned char type; buf = session.packet.outbuffer; len = session.packet.outbuflen; type = (unsigned char)getub(buf, 4); switch (type) { case ITALK_NAV_FIX: display_itk_navfix(buf, len); break; case ITALK_PRN_STATUS: display_itk_prnstatus(buf, len); break; default: break; } } static int italk_command(char line[]UNUSED) { return COMMAND_UNKNOWN; } static void italk_wrap(void) { (void)delwin(satwin); return; } const struct monitor_object_t italk_mmt = { .initialize = italk_initialize, .update = italk_update, .command = italk_command, .wrap = italk_wrap, .min_y = 23,.min_x = 80, /* size of the device window */ .driver = &italk_binary, }; #endif gpsd-3.9/monitor_nmea.c0000664000175000017500000003702112041626317013330 0ustar esresr/* * monitor_nmea.c - gpsmon support for NMEA devices. * * To do: Support for GPGLL, GPGBS, GPZDA, PASHR NMEA sentences. * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include "gpsd.h" #include "gpsmon.h" #include "gpsdclient.h" #ifdef NMEA_ENABLE extern const struct gps_type_t nmea; static WINDOW *cookedwin, *nmeawin, *satwin, *gprmcwin, *gpggawin, *gpgsawin, *gpgstwin; static timestamp_t last_tick, tick_interval; /***************************************************************************** * * Generic NMEA support * *****************************************************************************/ #define SENTENCELINE 1 /* index of sentences line in the NMEA window */ #define MAXSATS 12 /* max satellites we can display */ static bool nmea_initialize(void) { int i; /*@ -globstate -onlytrans @*/ cookedwin = derwin(devicewin, 3, 80, 0, 0); assert(cookedwin !=NULL); (void)wborder(cookedwin, 0, 0, 0, 0, 0, 0, 0, 0); (void)syncok(cookedwin, true); (void)wattrset(cookedwin, A_BOLD); (void)mvwaddstr(cookedwin, 1, 1, "Time: "); (void)mvwaddstr(cookedwin, 1, 32, "Lat: "); (void)mvwaddstr(cookedwin, 1, 55, "Lon: "); (void)mvwaddstr(cookedwin, 2, 34, " Cooked PVT "); (void)wattrset(cookedwin, A_NORMAL); nmeawin = derwin(devicewin, 3, 80, 3, 0); assert(nmeawin !=NULL); (void)wborder(nmeawin, 0, 0, 0, 0, 0, 0, 0, 0); (void)syncok(nmeawin, true); (void)wattrset(nmeawin, A_BOLD); (void)mvwaddstr(nmeawin, 2, 34, " Sentences "); (void)wattrset(nmeawin, A_NORMAL); satwin = derwin(devicewin, MAXSATS + 3, 20, 6, 0); assert(satwin !=NULL); (void)wborder(satwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)syncok(satwin, true); (void)wattrset(satwin, A_BOLD); (void)mvwprintw(satwin, 1, 1, "Ch PRN Az El S/N"); for (i = 0; i < MAXSATS; i++) (void)mvwprintw(satwin, (int)(i + 2), 1, "%2d", i); (void)mvwprintw(satwin, 14, 7, " GSV "); (void)wattrset(satwin, A_NORMAL); gprmcwin = derwin(devicewin, 9, 30, 6, 20); assert(gprmcwin !=NULL); (void)wborder(gprmcwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)syncok(gprmcwin, true); (void)wattrset(gprmcwin, A_BOLD); (void)mvwprintw(gprmcwin, 1, 1, "Time: "); (void)mvwprintw(gprmcwin, 2, 1, "Latitude: "); (void)mvwprintw(gprmcwin, 3, 1, "Longitude: "); (void)mvwprintw(gprmcwin, 4, 1, "Speed: "); (void)mvwprintw(gprmcwin, 5, 1, "Course: "); (void)mvwprintw(gprmcwin, 6, 1, "Status: FAA: "); (void)mvwprintw(gprmcwin, 7, 1, "MagVar: "); (void)mvwprintw(gprmcwin, 8, 12, " RMC "); (void)wattrset(gprmcwin, A_NORMAL); gpgsawin = derwin(devicewin, 5, 30, 15, 20); assert(gpgsawin !=NULL); (void)wborder(gpgsawin, 0, 0, 0, 0, 0, 0, 0, 0); (void)syncok(gpgsawin, true); (void)wattrset(gpgsawin, A_BOLD); (void)mvwprintw(gpgsawin, 1, 1, "Mode: "); (void)mvwprintw(gpgsawin, 2, 1, "Sats: "); (void)mvwprintw(gpgsawin, 3, 1, "DOP: H= V= P="); (void)mvwprintw(gpgsawin, 4, 12, " GSA "); (void)wattrset(gpgsawin, A_NORMAL); gpggawin = derwin(devicewin, 9, 30, 6, 50); assert(gpggawin !=NULL); (void)wborder(gpggawin, 0, 0, 0, 0, 0, 0, 0, 0); (void)syncok(gpggawin, true); (void)wattrset(gpggawin, A_BOLD); (void)mvwprintw(gpggawin, 1, 1, "Time: "); (void)mvwprintw(gpggawin, 2, 1, "Latitude: "); (void)mvwprintw(gpggawin, 3, 1, "Longitude: "); (void)mvwprintw(gpggawin, 4, 1, "Altitude: "); (void)mvwprintw(gpggawin, 5, 1, "Quality: Sats: "); (void)mvwprintw(gpggawin, 6, 1, "HDOP: "); (void)mvwprintw(gpggawin, 7, 1, "Geoid: "); (void)mvwprintw(gpggawin, 8, 12, " GGA "); (void)wattrset(gpggawin, A_NORMAL); gpgstwin = derwin(devicewin, 6, 30, 15, 50); assert(gpgstwin !=NULL); (void)wborder(gpgstwin, 0, 0, 0, 0, 0, 0, 0, 0); (void)syncok(gpgstwin, true); (void)wattrset(gpgstwin, A_BOLD); (void)mvwprintw(gpgstwin, 1, 1, "UTC: "); (void)mvwprintw(gpgstwin, 1, 16, "RMS: "); (void)mvwprintw(gpgstwin, 2, 1, "MAJ: "); (void)mvwprintw(gpgstwin, 2, 16, "MIN: "); (void)mvwprintw(gpgstwin, 3, 1, "ORI: "); (void)mvwprintw(gpgstwin, 3, 16, "LAT: "); (void)mvwprintw(gpgstwin, 4, 1, "LON: "); (void)mvwprintw(gpgstwin, 4, 16, "ALT: "); (void)mvwprintw(gpgstwin, 5, 12, " GST "); (void)wattrset(gpgstwin, A_NORMAL); /*@ +onlytrans @*/ last_tick = timestamp(); return (nmeawin != NULL); /*@ +globstate @*/ } static void cooked_pvt(void) { char scr[128]; if (isnan(session.gpsdata.fix.time) == 0) { (void)unix_to_iso8601(session.gpsdata.fix.time, scr, sizeof(scr)); } else (void)snprintf(scr, sizeof(scr), "n/a"); (void)mvwprintw(cookedwin, 1, 7, "%-24s", scr); if (session.gpsdata.fix.mode >= MODE_2D && isnan(session.gpsdata.fix.latitude) == 0) { (void)snprintf(scr, sizeof(scr), "%s %c", deg_to_str(deg_ddmmss, fabs(session.gpsdata.fix.latitude)), (session.gpsdata.fix.latitude < 0) ? 'S' : 'N'); } else (void)snprintf(scr, sizeof(scr), "n/a"); (void)mvwprintw(cookedwin, 1, 37, "%-17s", scr); if (session.gpsdata.fix.mode >= MODE_2D && isnan(session.gpsdata.fix.longitude) == 0) { (void)snprintf(scr, sizeof(scr), "%s %c", deg_to_str(deg_ddmmss, fabs(session.gpsdata.fix.longitude)), (session.gpsdata.fix.longitude < 0) ? 'W' : 'E'); } else (void)snprintf(scr, sizeof(scr), "n/a"); (void)mvwprintw(cookedwin, 1, 60, "%-17s", scr); } /*@ -globstate -nullpass (splint is confused) */ static void nmea_update(void) { static char sentences[NMEA_MAX * 2]; char **fields; assert(cookedwin != NULL); assert(nmeawin != NULL); assert(gpgsawin != NULL); assert(gpggawin != NULL); assert(gprmcwin != NULL); assert(gpgstwin != NULL); /* can be NULL if packet was overlong */ fields = session.driver.nmea.field; if (session.packet.outbuffer[0] == (unsigned char)'$' && fields != NULL && fields[0] != NULL) { int ymax, xmax; timestamp_t now; getmaxyx(nmeawin, ymax, xmax); assert(ymax > 0); if (strstr(sentences, fields[0]) == NULL) { char *s_end = sentences + strlen(sentences); if ((int)(strlen(sentences) + strlen(fields[0])) < xmax - 2) { *s_end++ = ' '; (void)strlcpy(s_end, fields[0], NMEA_MAX); } else { *--s_end = '.'; *--s_end = '.'; *--s_end = '.'; } (void)mvwaddstr(nmeawin, SENTENCELINE, 1, sentences); } /* * If the interval between this and last update is * the longest we've seen yet, boldify the corresponding * tag. */ now = timestamp(); if (now > last_tick && (now - last_tick) > tick_interval) { char *findme = strstr(sentences, fields[0]); tick_interval = now - last_tick; if (findme != NULL) { (void)mvwchgat(nmeawin, SENTENCELINE, 1, xmax - 13, A_NORMAL, 0, NULL); (void)mvwchgat(nmeawin, SENTENCELINE, 1 + (findme - sentences), (int)strlen(fields[0]), A_BOLD, 0, NULL); } } last_tick = now; if (strcmp(fields[0], "GPGSV") == 0 || strcmp(fields[0], "GNGSV") == 0 || strcmp(fields[0], "GLGSV") == 0) { int i; int nsats = (session.gpsdata.satellites_visible < MAXSATS) ? session.gpsdata.satellites_visible : MAXSATS; for (i = 0; i < nsats; i++) { (void)wmove(satwin, i + 2, 3); (void)wprintw(satwin, " %3d %3d%3d %3.0f", session.gpsdata.PRN[i], session.gpsdata.azimuth[i], session.gpsdata.elevation[i], session.gpsdata.ss[i]); } /* add overflow mark to the display */ if (nsats <= MAXSATS) (void)mvwaddch(satwin, MAXSATS + 2, 18, ACS_HLINE); else (void)mvwaddch(satwin, MAXSATS + 2, 18, ACS_DARROW); } if (strcmp(fields[0], "GPRMC") == 0 || strcmp(fields[0], "GNRMC") == 0 || strcmp(fields[0], "GLRMC") == 0) { /* time, lat, lon, course, speed */ (void)mvwaddstr(gprmcwin, 1, 12, fields[1]); (void)mvwprintw(gprmcwin, 2, 12, "%12s %s", fields[3], fields[4]); (void)mvwprintw(gprmcwin, 3, 12, "%12s %s", fields[5], fields[6]); (void)mvwaddstr(gprmcwin, 4, 12, fields[7]); (void)mvwaddstr(gprmcwin, 5, 12, fields[8]); /* the status field, FAA code, and magnetic variation */ (void)mvwaddstr(gprmcwin, 6, 12, fields[2]); (void)mvwaddstr(gprmcwin, 6, 25, fields[12]); (void)mvwprintw(gprmcwin, 7, 12, "%-5s%s", fields[10], fields[11]); cooked_pvt(); /* cooked version of PVT */ } if (strcmp(fields[0], "GPGSA") == 0 || strcmp(fields[0], "GNGSA") == 0 || strcmp(fields[0], "GLGSA") == 0) { char scr[128]; int i; (void)mvwprintw(gpgsawin, 1, 7, "%1s %s", fields[1], fields[2]); (void)wmove(gpgsawin, 2, 7); (void)wclrtoeol(gpgsawin); scr[0] = '\0'; for (i = 0; i < session.gpsdata.satellites_used; i++) { (void)snprintf(scr + strlen(scr), sizeof(scr) - strlen(scr), "%d ", session.gpsdata.used[i]); } getmaxyx(gpgsawin, ymax, xmax); (void)mvwaddnstr(gpgsawin, 2, 7, scr, xmax - 2 - 7); if (strlen(scr) >= (size_t) (xmax - 2)) { (void)mvwaddch(gpgsawin, 2, xmax - 2 - 7, (chtype) '.'); (void)mvwaddch(gpgsawin, 2, xmax - 3 - 7, (chtype) '.'); (void)mvwaddch(gpgsawin, 2, xmax - 4 - 7, (chtype) '.'); } monitor_fixframe(gpgsawin); (void)mvwprintw(gpgsawin, 3, 8, "%-5s", fields[16]); (void)mvwprintw(gpgsawin, 3, 16, "%-5s", fields[17]); (void)mvwprintw(gpgsawin, 3, 24, "%-5s", fields[15]); monitor_fixframe(gpgsawin); } if (strcmp(fields[0], "GPGGA") == 0 || strcmp(fields[0], "GNGGA") == 0 || strcmp(fields[0], "GLGGA") == 0) { (void)mvwprintw(gpggawin, 1, 12, "%-17s", fields[1]); (void)mvwprintw(gpggawin, 2, 12, "%-17s", fields[2]); (void)mvwprintw(gpggawin, 3, 12, "%-17s", fields[4]); (void)mvwprintw(gpggawin, 4, 12, "%-17s", fields[9]); (void)mvwprintw(gpggawin, 5, 12, "%1.1s", fields[6]); (void)mvwprintw(gpggawin, 5, 22, "%2.2s", fields[7]); (void)mvwprintw(gpggawin, 6, 12, "%-5.5s", fields[8]); (void)mvwprintw(gpggawin, 7, 12, "%-5.5s", fields[11]); } if (strcmp(fields[0], "GPGST") == 0) { (void)mvwprintw(gpgstwin, 1, 6, "%-10s", fields[1]); (void)mvwprintw(gpgstwin, 1, 21, "%-8s", fields[2]); (void)mvwprintw(gpgstwin, 2, 6, "%-10s", fields[3]); (void)mvwprintw(gpgstwin, 2, 21, "%-8s", fields[4]); (void)mvwprintw(gpgstwin, 3, 6, "%-10s", fields[5]); (void)mvwprintw(gpgstwin, 3, 21, "%-8s", fields[6]); (void)mvwprintw(gpgstwin, 4, 6, "%-10s", fields[7]); (void)mvwprintw(gpgstwin, 4, 21, "%-8s", fields[8]); } } } /*@ +globstate +nullpass */ #undef SENTENCELINE static void nmea_wrap(void) { (void)delwin(nmeawin); (void)delwin(gpgsawin); (void)delwin(gpggawin); (void)delwin(gprmcwin); } const struct monitor_object_t nmea_mmt = { .initialize = nmea_initialize, .update = nmea_update, .command = NULL, .wrap = nmea_wrap, .min_y = 21,.min_x = 80, .driver = &nmea, }; /***************************************************************************** * * Extended NMEA support * *****************************************************************************/ #if defined(CONTROLSEND_ENABLE) && defined(ASHTECH_ENABLE) static void monitor_nmea_send(const char *fmt, ...) { char buf[BUFSIZ]; va_list ap; va_start(ap, fmt); (void)vsnprintf(buf, sizeof(buf) - 5, fmt, ap); va_end(ap); (void)monitor_control_send((unsigned char *)buf, strlen(buf)); } #endif /* defined(CONTROLSEND_ENABLE) && defined(ASHTECH_ENABLE) */ /* * Yes, it's OK for most of these to be clones of the generic NMEA monitor * object except for the pointer to the GPSD driver. That pointer makes * a difference, as it will automatically enable stuff like speed-switcher * and mode-switcher commands. It's really only necessary to write a * separate monitor object if you want to change the device-window * display or implement device-specific commands. */ #if defined(GARMIN_ENABLE) && defined(NMEA_ENABLE) extern const struct gps_type_t garmin; const struct monitor_object_t garmin_mmt = { .initialize = nmea_initialize, .update = nmea_update, .command = NULL, .wrap = nmea_wrap, .min_y = 21,.min_x = 80, .driver = &garmin, }; #endif /* GARMIN_ENABLE && NMEA_ENABLE */ #ifdef ASHTECH_ENABLE extern const struct gps_type_t ashtech; #define ASHTECH_SPEED_9600 5 #define ASHTECH_SPEED_57600 8 #ifdef CONTROLSEND_ENABLE static int ashtech_command(char line[]) { switch (line[0]) { case 'N': /* normal = 9600, GGA+GSA+GSV+RMC+ZDA */ monitor_nmea_send("$PASHS,NME,ALL,A,OFF"); /* silence outbound chatter */ monitor_nmea_send("$PASHS,NME,ALL,B,OFF"); monitor_nmea_send("$PASHS,NME,GGA,A,ON"); monitor_nmea_send("$PASHS,NME,GSA,A,ON"); monitor_nmea_send("$PASHS,NME,GSV,A,ON"); monitor_nmea_send("$PASHS,NME,RMC,A,ON"); monitor_nmea_send("$PASHS,NME,ZDA,A,ON"); monitor_nmea_send("$PASHS,INI,%d,%d,,,0,", ASHTECH_SPEED_9600, ASHTECH_SPEED_9600); (void)sleep(6); /* it takes 4-6 sec for the receiver to reboot */ monitor_nmea_send("$PASHS,WAS,ON"); /* enable WAAS */ break; case 'R': /* raw = 57600, normal+XPG+POS+SAT+MCA+PBN+SNV */ monitor_nmea_send("$PASHS,NME,ALL,A,OFF"); /* silence outbound chatter */ monitor_nmea_send("$PASHS,NME,ALL,B,OFF"); monitor_nmea_send("$PASHS,NME,GGA,A,ON"); monitor_nmea_send("$PASHS,NME,GSA,A,ON"); monitor_nmea_send("$PASHS,NME,GSV,A,ON"); monitor_nmea_send("$PASHS,NME,RMC,A,ON"); monitor_nmea_send("$PASHS,NME,ZDA,A,ON"); monitor_nmea_send("$PASHS,INI,%d,%d,,,0,", ASHTECH_SPEED_57600, ASHTECH_SPEED_9600); (void)sleep(6); /* it takes 4-6 sec for the receiver to reboot */ monitor_nmea_send("$PASHS,WAS,ON"); /* enable WAAS */ monitor_nmea_send("$PASHS,NME,POS,A,ON"); /* Ashtech PVT solution */ monitor_nmea_send("$PASHS,NME,SAT,A,ON"); /* Ashtech Satellite status */ monitor_nmea_send("$PASHS,NME,MCA,A,ON"); /* MCA measurements */ monitor_nmea_send("$PASHS,NME,PBN,A,ON"); /* ECEF PVT solution */ monitor_nmea_send("$PASHS,NME,SNV,A,ON,10"); /* Almanac data */ monitor_nmea_send("$PASHS,NME,XMG,A,ON"); /* exception messages */ break; default: return COMMAND_UNKNOWN; } return COMMAND_UNKNOWN; } #endif /* CONTROLSEND_ENABLE */ const struct monitor_object_t ashtech_mmt = { .initialize = nmea_initialize, .update = nmea_update, #ifdef CONTROLSEND_ENABLE .command = ashtech_command, #else .command = NULL, #endif /* CONTROLSEND_ENABLE */ .wrap = nmea_wrap, .min_y = 21,.min_x = 80, .driver = &ashtech, }; #endif /* ASHTECH_ENABLE */ #ifdef FV18_ENABLE extern const struct gps_type_t fv18; const struct monitor_object_t fv18_mmt = { .initialize = nmea_initialize, .update = nmea_update, .command = NULL, .wrap = nmea_wrap, .min_y = 21,.min_x = 80, .driver = &fv18, }; #endif /* FV18_ENABLE */ #ifdef GPSCLOCK_ENABLE extern const struct gps_type_t gpsclock; const struct monitor_object_t gpsclock_mmt = { .initialize = nmea_initialize, .update = nmea_update, .command = NULL, .wrap = nmea_wrap, .min_y = 21,.min_x = 80, .driver = &gpsclock, }; #endif /* GPSCLOCK_ENABLE */ #ifdef MTK3301_ENABLE extern const struct gps_type_t mtk3301; const struct monitor_object_t mtk3301_mmt = { .initialize = nmea_initialize, .update = nmea_update, .command = NULL, .wrap = nmea_wrap, .min_y = 21,.min_x = 80, .driver = &mtk3301, }; #endif /* MTK3301_ENABLE */ #endif /* NMEA_ENABLE */ gpsd-3.9/monitor_oncore.c0000664000175000017500000003141611762140435013700 0ustar esresr/* * OnCore object for the GPS packet monitor. * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include "gpsd.h" #include "bits.h" #include "gpsmon.h" #if defined(ONCORE_ENABLE) && defined(BINARY_ENABLE) extern const struct gps_type_t oncore_binary; static WINDOW *Ea1win, *Eawin, *Bbwin, *Enwin, *Bowin, *Aywin, *Aswin, *Atwin; static unsigned char EaSVlines[8]; static const char *antenna[] = { "OK (conn)", "OC (short)", "UC (open)", "OU (short)" }; static const char *sv_mode[] = { "srch", "acq", "AGCs", "pacq", "bits", "msgs", "satT", "epha", "avl" }; static const char *pps_ctrl[] = { "off", "on", "on if >= 1 SV", "on if TRAIM ok" }; static const char *pps_sync[] = { "UTC", "GPS" }; static const char *traim_sol[] = { "OK", "ALARM", "UNKNOWN" }; static const char *traim_status[] = { "detect & isolate", "detect", "insufficient" }; static const char *pos_hold_mode[] = { "off", "on", "survey" }; #define ONCTYPE(id2,id3) ((((unsigned int)id2)<<8)|(id3)) #define MAXTRACKSATS 8 /* the most satellites being tracked */ #define MAXVISSATS 12 /* the most satellites with known az/el */ static bool oncore_initialize(void) { /*@-globstate@*/ unsigned int i; /*@ -onlytrans @*/ Ea1win = subwin(devicewin, 5, 80, 1, 0); Eawin = subwin(devicewin, MAXTRACKSATS + 3, 27, 6, 0); Bbwin = subwin(devicewin, MAXVISSATS + 3, 22, 6, 28); Enwin = subwin(devicewin, 10, 29, 6, 51); Bowin = subwin(devicewin, 4, 11, 17, 0); Aywin = subwin(devicewin, 4, 15, 17, 12); Atwin = subwin(devicewin, 5, 9, 16, 51); Aswin = subwin(devicewin, 5, 19, 16, 61); /*@ +onlytrans @*/ if (Ea1win == NULL || Eawin == NULL || Bbwin == NULL || Enwin == NULL || Bowin == NULL || Aswin == NULL || Atwin == NULL || Aywin == NULL) return false; (void)syncok(Ea1win, true); (void)syncok(Eawin, true); (void)syncok(Bbwin, true); (void)syncok(Enwin, true); (void)syncok(Bowin, true); (void)syncok(Aywin, true); (void)syncok(Aswin, true); (void)syncok(Atwin, true); (void)wborder(Ea1win, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(Ea1win, A_BOLD); (void)mvwaddstr(Ea1win, 1, 1, "Time: Lat: Lon:"); (void)mvwaddstr(Ea1win, 2, 1, "Antenna: DOP: Speed: Course:"); (void)mvwaddstr(Ea1win, 3, 1, "SV/vis: Status: Alt:"); (void)mvwprintw(Ea1win, 4, 4, " @@Ea (pos) "); (void)wattrset(Ea1win, A_NORMAL); (void)wborder(Eawin, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(Eawin, A_BOLD); (void)mvwprintw(Eawin, 1, 1, "Ch PRN mode S/N ????????"); (void)mvwprintw(Eawin, 10, 4, " @@Ea (sat) "); for (i = 0; i < 8; i++) { (void)mvwprintw(Eawin, (int)(i + 2), 1, "%2d", i); } (void)wattrset(Eawin, A_NORMAL); (void)wborder(Bbwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(Bbwin, A_BOLD); (void)mvwprintw(Bbwin, 1, 1, "PRN Az El doppl ??"); (void)mvwprintw(Bbwin, 14, 4, " @@Bb "); (void)wattrset(Bbwin, A_NORMAL); (void)wborder(Enwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(Enwin, A_BOLD); (void)mvwprintw(Enwin, 1, 1, "Time RAIM: "); (void)mvwprintw(Enwin, 2, 1, "Alarm limit:"); (void)mvwprintw(Enwin, 3, 1, "PPS ctrl:"); (void)mvwprintw(Enwin, 4, 1, "Pulse:"); (void)mvwprintw(Enwin, 5, 1, "PPS sync:"); (void)mvwprintw(Enwin, 6, 1, "TRAIM sol stat:"); (void)mvwprintw(Enwin, 7, 1, "Status:"); (void)mvwprintw(Enwin, 8, 1, "Time sol sigma:"); (void)mvwprintw(Enwin, 9, 4, " @@En "); (void)wattrset(Enwin, A_NORMAL); (void)wborder(Bowin, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(Bowin, A_BOLD); (void)mvwprintw(Bowin, 1, 1, "UTC:"); (void)mvwprintw(Bowin, 3, 2, " @@Bo "); (void)wattrset(Bowin, A_NORMAL); (void)wborder(Aywin, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(Aywin, A_BOLD); (void)mvwprintw(Aywin, 1, 1, "PPS offset:"); (void)mvwprintw(Aywin, 3, 4, " @@Ay "); (void)wattrset(Aywin, A_NORMAL); (void)wborder(Atwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(Atwin, A_BOLD); (void)mvwprintw(Atwin, 1, 1, "PHold:"); (void)mvwprintw(Atwin, 4, 1, " @@At "); (void)wattrset(Atwin, A_NORMAL); (void)wborder(Aswin, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(Aswin, A_BOLD); (void)mvwprintw(Aswin, 1, 1, "Lat:"); (void)mvwprintw(Aswin, 2, 1, "Lon:"); (void)mvwprintw(Aswin, 3, 1, "Alt:"); (void)mvwprintw(Aswin, 4, 4, " @@As "); (void)wattrset(Aswin, A_NORMAL); memset(EaSVlines, 0, sizeof(EaSVlines)); return true; /*@+globstate@*/ } static void oncore_update(void) { unsigned int i, j, off; unsigned char *buf; unsigned int type; assert(Eawin != NULL); buf = session.packet.outbuffer; type = ONCTYPE(buf[2], buf[3]); switch (type) { case ONCTYPE('E', 'a'): { double lat, lon, alt; float speed, track; float dop; unsigned short year; unsigned char mon, day, hour, min, sec; unsigned int nsec; unsigned char dopt, nvis, nsat, status; char statusbuf[64]; /* 6+9+3+3+10+5+7+12+1=56 */ mon = (unsigned char)getub(buf, 4); day = (unsigned char)getub(buf, 5); year = (unsigned short)getbeu16(buf, 6); hour = (unsigned char)getub(buf, 8); min = (unsigned char)getub(buf, 9); sec = (unsigned char)getub(buf, 10); nsec = (unsigned int)getbeu32(buf, 11); lat = (double)getbes32(buf, 15) / 3600000.0; lon = (double)getbes32(buf, 19) / 3600000.0; alt = (double)getbes32(buf, 23) / 100.0; speed = (float)(getbeu16(buf, 31) / 100.0); track = (float)(getbeu16(buf, 33) / 10.0); dop = (float)(getbeu16(buf, 35) / 10.0); dopt = (unsigned char)getub(buf, 37); nvis = (unsigned char)getub(buf, 38); nsat = (unsigned char)getub(buf, 39); status = (unsigned char)getub(buf, 72); (void)mvwprintw(Ea1win, 1, 7, "%04d-%02d-%02d %02d:%02d:%02d.%09d", year, mon, day, hour, min, sec, nsec); (void)mvwprintw(Ea1win, 1, 47, "%10.6lf %c", fabs(lat), lat < 0 ? 'S' : lat > 0 ? 'N' : ' '); (void)mvwprintw(Ea1win, 1, 66, "%10.6lf %c", fabs(lon), lon < 0 ? 'W' : lon > 0 ? 'E' : ' '); (void)mvwprintw(Ea1win, 2, 50, "%6.2f m/s", speed); (void)mvwprintw(Ea1win, 2, 70, "%5.1f", track); (void)mvwprintw(Ea1win, 3, 68, "%8.2f m", alt); /*@ -predboolothers @*/ (void)snprintf(statusbuf, sizeof(statusbuf), "%s%s%s%s%s%s%s%s%s", status & 0x80 ? "PProp " : "", status & 0x40 ? "PoorGeom " : "", status & 0x20 ? "3D " : "", status & 0x10 ? "2D " : "", status & 0x08 ? "Acq/PHold " : "", status & 0x04 ? "Diff " : "", status & 0x02 ? "Ins (<3 SV) " : "", status & 0x01 ? "BadAlm " : "", dopt & 0x20 ? "survey " : ""); /*@ +predboolothers @*/ (void)mvwprintw(Ea1win, 3, 24, "%-37s", statusbuf); (void)mvwprintw(Ea1win, 2, 10, "%-10s", antenna[dopt >> 6]); /*@ -predboolothers @*/ (void)mvwprintw(Ea1win, 2, 27, "%s %4.1f", dopt & 1 ? "hdop" : "pdop", dop); /*@ +predboolothers @*/ (void)mvwprintw(Ea1win, 3, 10, "%d/%d ", nsat, nvis); } for (i = 0; i < 8; i++) { unsigned char sv, mode, sn, status; off = 40 + 4 * i; sv = (unsigned char)getub(buf, off); mode = (unsigned char)getub(buf, off + 1); sn = (unsigned char)getub(buf, off + 2); status = (unsigned char)getub(buf, off + 3); (void)wmove(Eawin, (int)(i + 2), 3); (void)wprintw(Eawin, " %3d", sv); EaSVlines[i] = sv; if (mode <= (unsigned char)8) (void)wprintw(Eawin, " %4s", sv_mode[mode]); else (void)wprintw(Eawin, " -"); (void)wprintw(Eawin, " %3d", sn); /*@ -predboolothers @*/ (void)wprintw(Eawin, " %c%c%c%c%c%c%c%c", (status & 0x80) ? 'p' : ' ', /* used for pos fix */ (status & 0x40) ? 'M' : ' ', /* momentum alert */ (status & 0x20) ? 's' : ' ', /* anti-spoof */ (status & 0x10) ? 'U' : ' ', /* unhealthy */ (status & 0x08) ? 'I' : ' ', /* inaccurate */ (status & 0x04) ? 'S' : ' ', /* spare */ (status & 0x02) ? 't' : ' ', /* used for time sol */ (status & 0x01) ? 'P' : ' '); /* parity error */ /*@ +predboolothers @*/ } monitor_log("Ea ="); break; case ONCTYPE('B', 'b'): { unsigned int Bblines[12]; unsigned int Bblines_mask; unsigned int next_line; unsigned char sv; unsigned int ch; ch = (unsigned int)getub(buf, 4); if (ch > 12) ch = 12; /* Try to align the entries for each SV of the Bb message at * the same lines as in the Ea message. */ memset(Bblines, 0, sizeof(Bblines)); Bblines_mask = 0; for (i = 0; i < ch; i++) { off = 5 + 7 * i; sv = (unsigned char)getub(buf, off); /*@ -boolops @*/ for (j = 0; j < 8; j++) if (EaSVlines[j] == sv && !(Bblines_mask & (1 << (j + 2)))) { Bblines[i] = j + 2; Bblines_mask |= 1 << Bblines[i]; } /*@ +boolops @*/ } /* SVs not seen in Ea fill lines left over. */ next_line = 2; for (i = 0; i < ch; i++) { if (Bblines[i] == 0) { while (Bblines_mask & (1 << next_line)) next_line++; Bblines[i] = next_line++; Bblines_mask |= 1 << Bblines[i]; } } /* Ready to print on precalculated lines. */ for (i = 0; i < ch; i++) { int doppl, el, az, health; off = 5 + 7 * i; sv = (unsigned char)getub(buf, off); doppl = (int)getbes16(buf, off + 1); el = (int)getub(buf, off + 3); az = (int)getbeu16(buf, off + 4); health = (int)getub(buf, off + 5); (void)wmove(Bbwin, (int)Bblines[i], 1); (void)wprintw(Bbwin, "%3d %3d %2d %5d %c%c", sv, az, el, doppl, (health & 0x02) ? 'U' : ' ', /* unhealthy */ (health & 0x01) ? 'R' : ' '); /* removed */ } for (i = 2; i < 14; i++) /*@ -boolops @*/ if (!(Bblines_mask & (1 << i))) { (void)wmove(Bbwin, (int)i, 1); (void)wprintw(Bbwin, " "); } /*@ +boolops @*/ } monitor_log("Bb ="); break; case ONCTYPE('E', 'n'): { unsigned char traim, ctrl, pulse, sync, sol_stat, status; float alarm, sigma; traim = (unsigned char)getub(buf, 5); alarm = (float)(getbeu16(buf, 6) / 10.); ctrl = (unsigned char)getub(buf, 8); pulse = (unsigned char)getub(buf, 19); sync = (unsigned char)getub(buf, 20); sol_stat = (unsigned char)getub(buf, 21); status = (unsigned char)getub(buf, 22); sigma = (float)(getbeu16(buf, 23)); /*@ -predboolothers @*/ (void)mvwprintw(Enwin, 1, 24, "%3s", traim ? "on" : "off"); (void)mvwprintw(Enwin, 2, 18, "%6.1f us", alarm); (void)mvwprintw(Enwin, 3, 13, "%14s", pps_ctrl[ctrl]); (void)mvwprintw(Enwin, 4, 24, "%3s", pulse ? "on" : "off"); (void)mvwprintw(Enwin, 5, 24, "%3s", pps_sync[sync]); (void)mvwprintw(Enwin, 6, 20, "%7s", traim_sol[sol_stat]); (void)mvwprintw(Enwin, 7, 11, "%16s", traim_status[status]); (void)mvwprintw(Enwin, 8, 18, "%6.3f us", sigma * 0.001); /*@ +predboolothers @*/ } monitor_log("En ="); break; case ONCTYPE('B', 'o'): { unsigned char utc_offset; utc_offset = (unsigned char)getub(buf, 4); if (utc_offset != (unsigned char)0) (void)mvwprintw(Bowin, 2, 2, "GPS%+4d", utc_offset); else (void)mvwprintw(Bowin, 2, 2, "unknown", utc_offset); } monitor_log("Bo ="); break; case ONCTYPE('A', 'y'): { double pps_offset; pps_offset = (double)getbes32(buf, 4) / 1000000.0; (void)mvwprintw(Aywin, 2, 2, " %7.3f ms", pps_offset); } monitor_log("Ay ="); break; case ONCTYPE('A', 't'): { unsigned char mode; mode = (unsigned char)getub(buf, 4); (void)mvwprintw(Atwin, 2, 1, "%6s", pos_hold_mode[mode]); } monitor_log("At ="); break; case ONCTYPE('A', 's'): { double lat, lon, alt; lat = (double)getbes32(buf, 4) / 3600000.0; lon = (double)getbes32(buf, 8) / 3600000.0; alt = (double)getbes32(buf, 12) / 100.0; (void)mvwprintw(Aswin, 1, 5, "%10.6lf %c", fabs(lat), lat < 0 ? 'S' : lat > 0 ? 'N' : ' '); (void)mvwprintw(Aswin, 2, 5, "%10.6lf %c", fabs(lon), lon < 0 ? 'W' : lon > 0 ? 'E' : ' '); (void)mvwprintw(Aswin, 3, 7, "%8.2f m", alt); } monitor_log("As ="); break; default: monitor_log("%c%c =", buf[2], buf[3]); break; } } static int oncore_command(char line[]UNUSED) { return COMMAND_UNKNOWN; } static void oncore_wrap(void) { (void)delwin(Ea1win); (void)delwin(Eawin); (void)delwin(Bbwin); (void)delwin(Enwin); (void)delwin(Bowin); (void)delwin(Aywin); (void)delwin(Atwin); (void)delwin(Aswin); } const struct monitor_object_t oncore_mmt = { .initialize = oncore_initialize, .update = oncore_update, .command = oncore_command, .wrap = oncore_wrap, .min_y = 20,.min_x = 80, /* size of the device window */ .driver = &oncore_binary, }; #endif /* defined(ONCORE_ENABLE) && defined(BINARY_ENABLE) */ gpsd-3.9/monitor_proto.c0000664000175000017500000001277512022345475013566 0ustar esresr/* * Prototype file for a gpsmon monitor object. * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include #include #include #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include "gpsd.h" #include "bits.h" #include "gpsmon.h" /* * Replace PROTO everywhere with the name of the GPSD driver describing * the device you want to support. * * gpsmon basically sits in a loop reading packets, using the same layer * as gpsd to dispatch on packet type to select an active device driver. * Your monitor object will become the handler for incoming packets whenever * the driver your object points at is selected. * * A comment following the method descriptions explains some available * helper functions. */ extern const struct gps_type_t PROTO_binary; static bool PROTO_initialize(void) { /* * This function is called when your monitor object is activated. * * When you enter it, two windows will be accessible to you; (1) * devicewin, just below the status and command line at top of * screen, and (2) packetwin, taking up the rest of the screen below * it; packetwin will be enabled for scrolling. Note, however, * that you cannot necessarily update packetwin safely, as it may be NULL * if the screen has no lines left over after allocating devicewin; * you'll need to check this in your code. * * Use this method to paint windowframes and legends on the * freshly initialized device window. You can also use this * method to send probes to the device, e.g. to elicit a response * telling you firmware rev levels or whatever. */ /* return false if the window allocation failed; gpsmon will abort */ return true; } static void PROTO_update(void) { /* * Called on each packet received. The packet will be accessible in * session.packet.outbuffer and the length in session.packet.outbuflen. * If the device is NMEA, session.driver.nmea.fields[] will contain the * array of unconverted field strings, including the tag in slot zero * but not including the checksum or trailing \r\n. * * Use this function to update devicewin. The packet will be echoed to * packetwin immediately after this function is called; you can use this * function to write a prefix on the line. */ } static int PROTO_command(char line[]) { /* * Interpret a command line. Whatever characters the user types will * be echoed in the command buffer at the top right of the display. When * he/she presses enter the command line will be passed to this function * for interpretation. Note: packet receipt is suspended while this * function is executing. * * This method is optional. If you set the command method pointer to * NULL, gpsmon will behave sanely, accepting no device-specific commands. * * It is a useful convention to use uppercase letters for * driver-specific commands and leave lowercase ones for the * generic gpsmon ones. */ assert(strlen(line)); /* * Return COMMAND_UNKNOWN to tell gpsmon you can't interpret the line, and * it will be passed to the generic command interpreter to be handled there. * You can alse return COMMAND_MATCH to tell it you handled the command, * or COMMAND_TERMINATE to tell gpsmon you handled it and gpsmon should * terminate. */ return COMMAND_UNKNOWN; } static void PROTO_wrap(void) { /* * Deinitialize any windows you created in PROTO_initialize. * This will be called when gpsmon switches drivers due to seeing * a new packet type. */ } /* * Use mmt = monitor method table as a suffix for naming these things * Yours will need to be added to the monitor_objects table in gpsmon.c, * then of course you need to link your module into gpsmon. */ const struct monitor_object_t PROTO_mmt = { .initialize = PROTO_initialize, .update = PROTO_update, .command = PROTO_command, .wrap = PROTO_wrap, .min_y = 23, .min_x = 80, /* size of the device window */ /* * The gpsd driver type for your device. gpsmon will use the mode_switcher * method for 'n', the speed_switcher for 's', and the control_send method * for 'c'. Additionally, the driver type name will be displayed before * the '>' command prompt in the top line of the display. */ .driver = &PROTO_binary, }; /* * Helpers: * * bool monitor_control_send(unsigned char *buf, size_t len) * Ship a packet payload to the device. Calls the driver send_control() * method to add headers/trailers/checksum; also dumps the sent * packet to the packet window, if the send_control() is playing * nice by using session.msgbuf to assemble the message. * * void monitor_log(const char *fmt, ...) * Write a message to the packet window. Safe if the packet window * is not on screen. * * void monitor_complain(const char *fmt, ...) * Post an error message to the command window, wait till user presses a key. * You get to make sure the message will fit. * * void monitor_fixframe(WINDOW *win) * Fix the frame of win to the right of the current location by redrawing * ACS_VLINE there. Useful after doing wclrtoeol() and writing on the * line. * * The libgpsd session object is accessible as the global variable 'session'. */ gpsd-3.9/monitor_sirf.c0000664000175000017500000005232211762140435013355 0ustar esresr/* * SiRF object for the GPS packet monitor. * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. * */ #include #include #include #include #include #include #include #include "gpsd.h" #include "bits.h" #include "gpsmon.h" #if defined(SIRF_ENABLE) && defined(BINARY_ENABLE) extern const struct gps_type_t sirf_binary; static WINDOW *mid2win, *mid4win, *mid6win, *mid7win, *mid9win, *mid13win; static WINDOW *mid19win, *mid27win; static bool dispmode = false, subframe_enabled = false, ppstime_enabled = false; static int leapseconds; /*@ -nullassign @*/ static char *verbpat[] = { "#Time:", "@R Time:", "CSTD: New almanac for", "NOTICE: DOP Q Boost", "RTC not set", "numOfSVs = 0", "rtcaj tow ", NULL }; /*@ +nullassign @*/ static char *dgpsvec[] = { "None", "SBAS", "Serial", "Beacon", "Software", }; /* check range of an unsigned quantity */ #define CHECK_RANGE(vec, i) ((i) < sizeof(vec)/sizeof(vec[0])) /***************************************************************************** * * SiRF packet-decoding routines * *****************************************************************************/ #define display (void)mvwprintw #define SIRF_CHANNELS 12 /* max channels allowed in SiRF format */ static bool sirf_initialize(void) { /*@-globstate@*/ unsigned int i; /*@ -onlytrans @*/ mid2win = subwin(devicewin, 6, 80, 1, 0); mid4win = subwin(devicewin, SIRF_CHANNELS + 3, 30, 7, 0); mid6win = subwin(devicewin, 3, 50, 7, 30); mid7win = subwin(devicewin, 4, 50, 13, 30); mid9win = subwin(devicewin, 3, 50, 10, 30); mid13win = subwin(devicewin, 3, 50, 17, 30); mid19win = newwin(16, 50, 7, 30); mid27win = subwin(devicewin, 3, 50, 20, 30); if (mid2win == NULL || mid4win == NULL || mid6win == NULL || mid9win == NULL || mid13win == NULL || mid19win == NULL || mid27win == NULL) return false; (void)syncok(mid2win, true); (void)syncok(mid4win, true); (void)syncok(mid6win, true); (void)syncok(mid7win, true); (void)syncok(mid9win, true); (void)syncok(mid13win, true); (void)syncok(mid27win, true); /*@ -nullpass @*/ (void)wborder(mid2win, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(mid2win, A_BOLD); (void)wmove(mid2win, 0, 1); display(mid2win, 0, 12, " X "); display(mid2win, 0, 21, " Y "); display(mid2win, 0, 30, " Z "); display(mid2win, 0, 43, " North "); display(mid2win, 0, 54, " East "); display(mid2win, 0, 65, " Alt "); (void)wmove(mid2win, 1, 1); (void)wprintw(mid2win, "Pos: m m"); (void)wmove(mid2win, 2, 1); (void)wprintw(mid2win, "Vel: m/s climb m/s"); (void)wmove(mid2win, 3, 1); (void)wprintw(mid2win, "Time: Leap: Heading: speed m/s"); (void)wmove(mid2win, 4, 1); (void)wprintw(mid2win, "Fix: HDOP: M1: M2: "); display(mid2win, 5, 24, " Packet type 2 (0x02) "); (void)wattrset(mid2win, A_NORMAL); (void)wborder(mid4win, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(mid4win, A_BOLD); display(mid4win, 1, 1, "Ch PRN Az El Stat C/N ? SF"); for (i = 0; i < SIRF_CHANNELS; i++) { display(mid4win, (int)(i + 2), 1, "%2d", i); } display(mid4win, 0, 1, " Measured Tracker "); display(mid4win, 14, 4, " Packet Type 4 (0x04) "); (void)wattrset(mid4win, A_NORMAL); (void)wborder(mid19win, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(mid19win, A_BOLD); display(mid19win, 1, 1, "Alt. hold mode:"); display(mid19win, 2, 1, "Alt. hold source:"); display(mid19win, 3, 1, "Alt. source input:"); display(mid19win, 4, 1, "Degraded timeout:"); display(mid19win, 5, 1, "DR timeout:"); display(mid19win, 6, 1, "Track smooth mode:"); display(mid19win, 7, 1, "Static Navigation:"); display(mid19win, 8, 1, "3SV Least Squares:"); display(mid19win, 9, 1, "DOP Mask mode:"); display(mid19win, 10, 1, "Nav. Elev. mask:"); display(mid19win, 11, 1, "Nav. Power mask:"); display(mid19win, 12, 1, "DGPS Source:"); display(mid19win, 13, 1, "DGPS Mode:"); display(mid19win, 14, 1, "DGPS Timeout:"); display(mid19win, 1, 26, "LP Push-to-Fix:"); display(mid19win, 2, 26, "LP On Time:"); display(mid19win, 3, 26, "LP Interval:"); display(mid19win, 4, 26, "U. Tasks Enab.:"); display(mid19win, 5, 26, "U. Task Inter.:"); display(mid19win, 6, 26, "LP Pwr Cyc En:"); display(mid19win, 7, 26, "LP Max Acq Srch:"); display(mid19win, 8, 26, "LP Max Off Time:"); display(mid19win, 9, 26, "APM enabled:"); display(mid19win, 10, 26, "# of Fixes:"); display(mid19win, 11, 26, "Time btw Fixes:"); display(mid19win, 12, 26, "H/V Error Max:"); display(mid19win, 13, 26, "Rsp Time Max:"); display(mid19win, 14, 26, "Time/Accu:"); display(mid19win, 15, 8, " Packet type 19 (0x13) "); (void)wattrset(mid19win, A_NORMAL); (void)wborder(mid6win, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(mid6win, A_BOLD); display(mid6win, 0, 1, " Firmware Version "); display(mid6win, 2, 8, " Packet Type 6 (0x06) "); (void)wattrset(mid6win, A_NORMAL); (void)wborder(mid7win, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(mid7win, A_BOLD); display(mid7win, 0, 1, " Clock Status "); display(mid7win, 1, 1, "SVs: "); display(mid7win, 1, 9, "Drift: "); display(mid7win, 1, 23, "Bias: "); display(mid7win, 2, 1, "Estimated GPS Time: "); display(mid7win, 3, 8, " Packet type 7 (0x07) "); (void)wattrset(mid7win, A_NORMAL); (void)wborder(mid9win, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(mid9win, A_BOLD); display(mid9win, 0, 1, " CPU Throughput "); display(mid9win, 1, 1, "Max: "); display(mid9win, 1, 13, "Lat: "); display(mid9win, 1, 25, "Time: "); display(mid9win, 1, 39, "MS: "); display(mid9win, 2, 8, " Packet type 9 (0x09) "); (void)wattrset(mid9win, A_NORMAL); (void)wborder(mid13win, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(mid13win, A_BOLD); display(mid13win, 0, 1, " Visible List "); display(mid13win, 2, 8, " Packet type 13 (0x0D) "); (void)wattrset(mid13win, A_NORMAL); (void)wborder(mid27win, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(mid27win, A_BOLD); display(mid27win, 0, 1, " DGPS Status "); display(mid27win, 2, 8, " Packet type 27 (0x1B) "); (void)wattrset(mid27win, A_NORMAL); /*@ +nullpass @*/ /*@ -onlytrans @*/ #ifdef CONTROLSEND_ENABLE /* probe for version */ /*@ -compdef @*/ (void)monitor_control_send((unsigned char *)"\x84\x00", 2); /*@ +compdef @*/ #endif /* CONTROLSEND_ENABLE */ /* initialize the GPS context's time fields */ gpsd_time_init(session.context, time(NULL)); return true; /*@+globstate@*/ } static void decode_ecef(double x, double y, double z, double vx, double vy, double vz) { const double a = WGS84A; const double b = WGS84B; const double e2 = (a * a - b * b) / (a * a); const double e_2 = (a * a - b * b) / (b * b); double lambda, p, theta, phi, n, h, vnorth, veast, vup, speed, heading; /* splint pacification */ assert(mid2win!=NULL); lambda = atan2(y, x); /*@ -evalorder @*/ p = sqrt(pow(x, 2) + pow(y, 2)); theta = atan2(z * a, p * b); phi = atan2(z + e_2 * b * pow(sin(theta), 3), p - e2 * a * pow(cos(theta), 3)); n = a / sqrt(1.0 - e2 * pow(sin(phi), 2)); h = p / cos(phi) - n; h -= wgs84_separation((double)(RAD_2_DEG * phi), (double)(RAD_2_DEG * lambda)); vnorth = -vx * sin(phi) * cos(lambda) - vy * sin(phi) * sin(lambda) + vz * cos(phi); veast = -vx * sin(lambda) + vy * cos(lambda); vup = vx * cos(phi) * cos(lambda) + vy * cos(phi) * sin(lambda) + vz * sin(phi); speed = sqrt(pow(vnorth, 2) + pow(veast, 2)); heading = atan2(veast, vnorth); /*@ +evalorder @*/ if (heading < 0) heading += 2 * GPS_PI; /* North and East position fields */ (void)wattrset(mid2win, A_UNDERLINE); (void)wmove(mid2win, 1, 40); (void)wprintw(mid2win, "%9.5f %9.5f %9d", (double)(RAD_2_DEG * phi), (double)(RAD_2_DEG * lambda), (int)h); (void)mvwaddch(mid2win, 1, 49, ACS_DEGREE); (void)mvwaddch(mid2win, 1, 59, ACS_DEGREE); /* North and East velocity fields */ (void)wmove(mid2win, 2, 40); (void)wprintw(mid2win, "%9.1f %9.1f %9.1f", vnorth, veast, vup); /* heading and speed fields */ (void)wmove(mid2win, 3, 54); (void)wprintw(mid2win, "%5.1f %9.1f", (double)(RAD_2_DEG * heading), speed); (void)mvwaddch(mid2win, 3, 59, ACS_DEGREE); (void)wattrset(mid2win, A_NORMAL); } /*@ -globstate */ static void sirf_update(void) { int i, j, ch, sv, off; unsigned char *buf; size_t len; uint8_t dgps; char tbuf[JSON_DATE_MAX+1]; /* splint pacification */ assert(mid2win!=NULL && mid27win != NULL); buf = session.packet.outbuffer + 4; len = session.packet.outbuflen - 8; switch (buf[0]) { case 0x02: /* Measured Navigation Data */ (void)wmove(mid2win, 1, 6); /* ECEF position */ (void)wprintw(mid2win, "%8d %8d %8d", getbes32(buf, 1), getbes32(buf, 5), getbes32(buf, 9)); (void)wmove(mid2win, 2, 6); /* ECEF velocity */ (void)wprintw(mid2win, "%8.1f %8.1f %8.1f", (double)getbes16(buf, 13) / 8, (double)getbes16(buf, 15) / 8, (double)getbes16(buf, 17) / 8); decode_ecef((double)getbes32(buf, 1), (double)getbes32(buf, 5), (double)getbes32(buf, 9), (double)getbes16(buf, 13) / 8, (double)getbes16(buf, 15) / 8, (double)getbes16(buf, 17) / 8); /* line 3 */ (void)wmove(mid2win, 3, 7); (void)wprintw(mid2win, "%-24s", unix_to_iso8601(session.gpsdata.fix.time, tbuf, sizeof(tbuf)) ); (void)wmove(mid2win, 3, 38); (void)wattrset(mid2win, A_UNDERLINE); if (ppstime_enabled) (void)wprintw(mid2win, "%02d", leapseconds); else (void)wprintw(mid2win, "??"); (void)wattrset(mid2win, A_NORMAL); /* line 4 */ /* HDOP */ (void)wmove(mid2win, 4, 59); (void)wprintw(mid2win, "%4.1f", (double)getub(buf, 20) / 5); /* Mode 1 */ (void)wmove(mid2win, 4, 69); (void)wprintw(mid2win, "%02x", getub(buf, 19)); /* Mode 2 */ (void)wmove(mid2win, 4, 77); (void)wprintw(mid2win, "%02x", getub(buf, 21)); /* SVs in fix */ (void)wmove(mid2win, 4, 6); (void)wprintw(mid2win, "%2d = ", (int)getub(buf, 28)); /* SV list */ (void)wmove(mid2win, 4, 10); for (i = 0; i < (int)getub(buf, 28); i++) (void)wprintw(mid2win, " %2d", (int)getub(buf, 29 + i)); monitor_log("MND 0x02="); break; case 0x04: /* Measured Tracking Data */ ch = (int)getub(buf, 7); for (i = 0; i < ch; i++) { int az, el, state; double cn; off = 8 + 15 * i; (void)wmove(mid4win, i + 2, 3); sv = (int)getub(buf, off); az = (int)getub(buf, off + 1) * 3 / 2; el = (int)getub(buf, off + 2) / 2; state = (int)getbeu16(buf, off + 3); cn = 0; for (j = 0; j < 10; j++) cn += (int)getub(buf, off + 5 + j); cn /= 10; (void)wprintw(mid4win, " %3d %3d %2d %04x %4.1f %c", sv, az, el, state, cn, state == 0xbf ? 'T' : ' '); } monitor_log("MTD 0x04="); break; #ifdef __UNUSED__ case 0x05: /* raw track data */ for (off = 1; off < len; off += 51) { ch = getbeu32(buf, off); (void)wmove(mid4win, ch + 2, 19); cn = 0; for (j = 0; j < 10; j++) cn += getub(buf, off + 34 + j); printw("%5.1f", (double)cn / 10); printw("%9d%3d%5d", getbeu32(buf, off + 8), (int)getbeu16(buf, off + 12), (int)getbeu16(buf, off + 14)); printw("%8.5f %10.5f", (double)getbeu32(buf, off + 16) / 65536, (double)getbeu32(buf, off + 20) / 1024); } monitor_log("RTD 0x05="); break; #endif /* __UNUSED */ case 0x06: /* firmware version */ display(mid6win, 1, 1, "%s", buf + 1); monitor_log("FV 0x06="); break; case 0x07: /* Response - Clock Status Data */ display(mid7win, 1, 5, "%2d", getub(buf, 7)); /* SVs */ display(mid7win, 1, 16, "%lu", getbeu32(buf, 8)); /* Clock drift */ display(mid7win, 1, 29, "%lu", getbeu32(buf, 12)); /* Clock Bias */ display(mid7win, 2, 21, "%lu", getbeu32(buf, 16)); /* Estimated Time */ monitor_log("CSD 0x07="); break; case 0x08: /* 50 BPS data */ ch = (int)getub(buf, 1); sv = (int)getub(buf, 2); display(mid4win, ch + 2, 27, "%2d", sv); subframe_enabled = true; monitor_log("50B 0x08="); break; case 0x09: /* Throughput */ display(mid9win, 1, 6, "%.3f", (double)getbeu16(buf, 1) / 186); /*SegStatMax */ display(mid9win, 1, 18, "%.3f", (double)getbeu16(buf, 3) / 186); /*SegStatLat */ display(mid9win, 1, 31, "%.3f", (double)getbeu16(buf, 5) / 186); /*SegStatTime */ display(mid9win, 1, 42, "%3d", (int)getbeu16(buf, 7)); /* Last Millisecond */ monitor_log("THR 0x09="); break; case 0x0b: /* Command Acknowledgement */ monitor_log("ACK 0x0b="); break; case 0x0c: /* Command NAcknowledgement */ monitor_log("NAK 0x0c="); break; case 0x0d: /* Visible List */ display(mid13win, 1, 1, "%02d = ", getub(buf, 1)); (void)wmove(mid13win, 1, 5); for (i = 0; i < (int)getub(buf, 1); i++) (void)wprintw(mid13win, " %d", getub(buf, 2 + 5 * i)); monitor_log("VL 0x0d="); break; case 0x13: #define YESNO(n) (((int)getub(buf, n) != 0)?'Y':'N') display(mid19win, 1, 20, "%d", getub(buf, 5)); /* Alt. hold mode */ display(mid19win, 2, 20, "%d", getub(buf, 6)); /* Alt. hold source */ display(mid19win, 3, 20, "%dm", (int)getbeu16(buf, 7)); /* Alt. source input */ if (getub(buf, 9) != (uint8_t) '\0') display(mid19win, 4, 20, "%dsec", getub(buf, 10)); /* Degraded timeout */ else display(mid19win, 4, 20, "N/A "); display(mid19win, 5, 20, "%dsec", getub(buf, 11)); /* DR timeout */ display(mid19win, 6, 20, "%c", YESNO(12)); /* Track smooth mode */ display(mid19win, 7, 20, "%c", YESNO(13)); /* Static Nav. */ display(mid19win, 8, 20, "0x%x", getub(buf, 14)); /* 3SV Least Squares */ display(mid19win, 9, 20, "0x%x", getub(buf, 19)); /* DOP Mask mode */ display(mid19win, 10, 20, "0x%x", (int)getbeu16(buf, 20)); /* Nav. Elev. mask */ display(mid19win, 11, 20, "0x%x", getub(buf, 22)); /* Nav. Power mask */ display(mid19win, 12, 20, "0x%x", getub(buf, 27)); /* DGPS Source */ display(mid19win, 13, 20, "0x%x", getub(buf, 28)); /* DGPS Mode */ display(mid19win, 14, 20, "%dsec", getub(buf, 29)); /* DGPS Timeout */ display(mid19win, 1, 42, "%c", YESNO(34)); /* LP Push-to-Fix */ display(mid19win, 2, 42, "%dms", getbeu32(buf, 35)); /* LP On Time */ display(mid19win, 3, 42, "%d", getbeu32(buf, 39)); /* LP Interval */ display(mid19win, 4, 42, "%c", YESNO(43)); /* User Tasks enabled */ display(mid19win, 5, 42, "%d", getbeu32(buf, 44)); /* User Task Interval */ display(mid19win, 6, 42, "%c", YESNO(48)); /* LP Power Cycling Enabled */ display(mid19win, 7, 42, "%d", getbeu32(buf, 49)); /* LP Max Acq Search Time */ display(mid19win, 8, 42, "%d", getbeu32(buf, 53)); /* LP Max Off Time */ display(mid19win, 9, 42, "%c", YESNO(57)); /* APM Enabled */ display(mid19win, 10, 42, "%d", (int)getbeu16(buf, 58)); /* # of fixes */ display(mid19win, 11, 42, "%d", (int)getbeu16(buf, 60)); /* Time Between fixes */ display(mid19win, 12, 42, "%d", getub(buf, 62)); /* H/V Error Max */ display(mid19win, 13, 42, "%d", getub(buf, 63)); /* Response Time Max */ display(mid19win, 14, 42, "%d", getub(buf, 64)); /* Time/Accu & Duty Cycle Priority */ #undef YESNO monitor_log("NP 0x13="); break; case 0x1b: /****************************************************************** Not actually documented in any published materials before the 1.6 version of the SiRF binary protocol manual. Here is what Chris Kuethe got from the SiRF folks, (plus some corrections from the GpsPaSsion forums): Start of message ---------------- Message ID 1 byte 27 Correction Source 1 byte 0=None, 1=SBAS, 2=Serial, 3=Beacon, 4=Software total: 2 bytes Middle part of message varies if using beacon or other: ------------------------------------------------------- If Beacon: Receiver Freq Hz 4 bytes Bit rate BPS 1 byte Status bit map 1 byte 01=Signal Valid, 02=Auto frequency detect 04=Auto bit rate detect Signal Magnitude 4 bytes Note: in internal units Signal Strength dB 2 bytes derived from Signal Magnitude SNR dB 2 bytes total: 14 bytes If Not Beacon: Correction Age[12] 1 byte x 12 Age in seconds in same order as follows Reserved 2 bytes total: 14 bytes End of Message -------------- Repeated 12 times (pad with 0 if less than 12 SV corrections): SVID 1 byte Correction (cm) 2 bytes (signed short) total 3 x 12 = 36 bytes ******************************************************************/ dgps = getub(buf, 1); /*@ -type @*/ display(mid27win, 1, 1, "%8s = ", (CHECK_RANGE(dgpsvec, dgps) ? dgpsvec[dgps] : "???")); (void)wmove(mid27win, 1, 11); for (ch = 0; ch < SIRF_CHANNELS; ch++) if (getub(buf, 16 + 3 * ch) != '\0') (void)wprintw(mid27win, " %d", getub(buf, 16 + 3 * ch)); /*@ +type @*/ monitor_log("DST 0x1b="); break; case 0x1c: /* NL Measurement Data */ case 0x1d: /* NL DGPS Data */ case 0x1e: /* NL SV State Data */ case 0x1f: /* NL Initialized Data */ subframe_enabled = true; monitor_log("NL 0x%02x=", buf[0]); break; case 0x29: /* Geodetic Navigation Data */ monitor_log("GND 0x29="); break; case 0x32: /* SBAS Parameters */ monitor_log("SBP 0x32="); break; case 0x34: /* PPS Time */ ppstime_enabled = true; leapseconds = (int)getbeu16(buf, 8); monitor_log("PPS 0x34="); break; case 0xff: /* Development Data */ /*@ +ignoresigns @*/ while (len > 0 && buf[len - 1] == '\n') len--; while (len > 0 && buf[len - 1] == ' ') len--; /*@ -ignoresigns @*/ buf[len] = '\0'; j = 1; for (i = 0; verbpat[i] != NULL; i++) if (strncmp((char *)(buf + 1), verbpat[i], strlen(verbpat[i])) == 0) { j = 0; break; } if (j != 0) monitor_log("%s\n", buf + 1); monitor_log("DD 0xff="); break; default: monitor_log("UNK 0x%02x=", buf[0]); break; } #ifdef CONTROLSEND_ENABLE /* elicit navigation parameters */ if (dispmode && (time(NULL) % 10 == 0)) { (void)monitor_control_send((unsigned char *)"\x98\x00", 2); } #endif /* CONTROLSEND_ENABLE */ /* clear the 50bps data field every 6 seconds */ if (subframe_enabled && (time(NULL) % 6 == 0)) { for (ch = 0; ch < SIRF_CHANNELS; ch++) display(mid4win, ch + 2, 27, " "); } /*@ -nullpass -nullderef @*/ if (dispmode) { (void)touchwin(mid19win); (void)wnoutrefresh(mid19win); } /*@ +nullpass -nullderef @*/ } /*@ +globstate */ #ifdef CONTROLSEND_ENABLE static int sirf_command(char line[]) { unsigned char buf[BUFSIZ]; int v; switch (line[0]) { case 'A': /* toggle 50bps subframe data */ (void)memset(buf, '\0', sizeof(buf)); putbyte(buf, 0, 0x80); putbyte(buf, 23, 0x0c); putbyte(buf, 24, subframe_enabled ? 0x00 : 0x10); (void)monitor_control_send(buf, 25); /* * The subframe_enabled off because we're counting on receipt of * a subframe packet to turn it on if the command succeeds. */ subframe_enabled = false; return COMMAND_MATCH; case 'M': /* static navigation */ putbyte(buf, 0, 0x8f); /* id */ putbyte(buf, 1, atoi(line + 1)); (void)monitor_control_send(buf, 2); return COMMAND_MATCH; case 'D': /* MID 4 rate change (undocumented) */ v = atoi(line + 1); if (v > 30) return COMMAND_MATCH; putbyte(buf, 0, 0xa6); putbyte(buf, 1, 0); putbyte(buf, 2, 4); /* satellite picture */ putbyte(buf, 3, v); putbyte(buf, 4, 0); putbyte(buf, 5, 0); putbyte(buf, 6, 0); putbyte(buf, 7, 0); (void)monitor_control_send(buf, 8); return COMMAND_MATCH; case 'P': /* poll navigation params */ dispmode = !dispmode; if (dispmode) { (void)syncok(mid6win, false); (void)syncok(mid7win, false); (void)syncok(mid9win, false); (void)syncok(mid13win, false); (void)syncok(mid27win, false); } else { (void)syncok(mid6win, true); (void)wsyncup(mid6win); (void)syncok(mid7win, true); (void)wsyncup(mid7win); (void)syncok(mid9win, true); (void)wsyncup(mid9win); (void)syncok(mid13win, true); (void)wsyncup(mid13win); (void)syncok(mid27win, true); (void)wsyncup(mid27win); } return COMMAND_MATCH; } return COMMAND_UNKNOWN; /* no match */ } #endif /* CONTROLSEND_ENABLE */ static void sirf_wrap(void) { (void)delwin(mid2win); (void)delwin(mid4win); (void)delwin(mid6win); (void)delwin(mid7win); (void)delwin(mid9win); (void)delwin(mid13win); (void)delwin(mid19win); (void)delwin(mid27win); } const struct monitor_object_t sirf_mmt = { .initialize = sirf_initialize, .update = sirf_update, #ifdef CONTROLSEND_ENABLE .command = sirf_command, #else .command = NULL, #endif /* CONTROLSEND_ENABLE */ .wrap = sirf_wrap, .min_y = 22,.min_x = 80, .driver = &sirf_binary, }; #endif /* defined(SIRF_ENABLE) && defined(BINARY_ENABLE) */ /* sirfmon.c ends here */ gpsd-3.9/monitor_superstar2.c0000664000175000017500000000501712137766501014530 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include "gpsd.h" #include "bits.h" #include "gpsmon.h" #ifdef SUPERSTAR2_ENABLE #include "driver_superstar2.h" extern const struct gps_type_t superstar2_binary; static WINDOW *satwin; static bool superstar2_initialize(void) { int i; /*@ -onlytrans @*/ /* "heavily inspired" by monitor_nmea.c */ if ((satwin = derwin(devicewin, 15, 27, 7, 0)) == NULL) return false; (void)wborder(satwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)syncok(satwin, true); (void)wattrset(satwin, A_BOLD); (void)mvwprintw(satwin, 1, 1, "Ch PRN Az El S/N Fl U"); for (i = 0; i < 12; i++) (void)mvwprintw(satwin, (int)(i + 2), 1, "%2d", i); (void)mvwprintw(satwin, 14, 1, " Satellite Data & Status "); (void)wattrset(satwin, A_NORMAL); /*@ +onlytrans @*/ return true; } static void display_superstar2_svinfo(unsigned char *buf, size_t data_len) { int i; if (data_len != 67) return; for (i = 0; i < 12; i++) { /* get info for one channel/satellite */ int off = i * 5 + 5; unsigned char fl, porn, ss; char el; unsigned short az; /*@ +charint */ if ((porn = (unsigned char)getub(buf, off) & 0x1f) == 0) porn = ((unsigned char)getub(buf, off + 3) >> 1) + 87; /*@ -charint */ ss = (unsigned char)getub(buf, off + 4); el = (char)getsb(buf, off + 1); az = (unsigned short)(getub(buf, off + 2) + ((getub(buf, off + 3) & 0x1) << 1)); fl = (unsigned char)getub(buf, off) & 0xe0; (void)wmove(satwin, i + 2, 4); /*@ +charint */ (void)wprintw(satwin, "%3u %3d %2d %02d %02x %c", porn, az, el, ss, fl, ((fl & 0x60) == 0x60) ? 'Y' : ' '); /*@ -charint */ } (void)wnoutrefresh(satwin); return; } static void superstar2_update(void) { unsigned char *buf; size_t len; unsigned char type; buf = session.packet.outbuffer; len = session.packet.outbuflen; type = buf[SUPERSTAR2_TYPE_OFFSET]; switch (type) { case SUPERSTAR2_SVINFO: display_superstar2_svinfo(buf, len - 3); break; default: break; } } static int superstar2_command(char line[]UNUSED) { return COMMAND_UNKNOWN; } static void superstar2_wrap(void) { } const struct monitor_object_t superstar2_mmt = { .initialize = superstar2_initialize, .update = superstar2_update, .command = superstar2_command, .wrap = superstar2_wrap, .min_y = 23,.min_x = 80, /* size of the device window */ .driver = &superstar2_binary, }; #endif gpsd-3.9/monitor_tnt.c0000664000175000017500000001103212140124040013171 0ustar esresr/* * monitor_tnt.c - gpsmon support for True North Revolution devices. * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include "gpsd.h" #include "gpsmon.h" #ifdef TNT_ENABLE extern const struct gps_type_t trueNorth; static WINDOW *thtmwin; static bool tnt_initialize(void) { /*@-globstate@*/ /*@ -onlytrans @*/ thtmwin = derwin(devicewin, 6, 80, 0, 0); assert(thtmwin != NULL); (void)wborder(thtmwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)syncok(thtmwin, true); (void)wattrset(thtmwin, A_BOLD); (void)mvwaddstr(thtmwin, 0, 35, " PTNTHTM "); (void)mvwaddstr(thtmwin, 1, 1, "Heading: "); (void)mvwaddstr(thtmwin, 2, 1, "Pitch: "); (void)mvwaddstr(thtmwin, 3, 1, "Roll: "); (void)mvwaddstr(thtmwin, 4, 1, "Dip: "); (void)mvwaddstr(thtmwin, 1, 40, "Magnetometer Status: "); (void)mvwaddstr(thtmwin, 2, 40, "Pitch Status: "); (void)mvwaddstr(thtmwin, 3, 40, "Roll Status "); (void)mvwaddstr(thtmwin, 4, 40, "Horizontal Field: "); (void)wattrset(thtmwin, A_NORMAL); /*@ +onlytrans @*/ return true; /*@+globstate@*/ } static void tnt_update(void) { /* * We have to do our own field parsing because the way this * gets called, nmea_parse() is never called on the sentence. */ (void)nmea_parse((char *)session.packet.outbuffer, &session); (void)mvwaddstr(thtmwin, 1, 19, session.driver.nmea.field[1]); (void)mvwaddstr(thtmwin, 2, 19, session.driver.nmea.field[3]); (void)mvwaddstr(thtmwin, 3, 19, session.driver.nmea.field[5]); (void)mvwaddstr(thtmwin, 4, 19, session.driver.nmea.field[7]); (void)mvwaddstr(thtmwin, 1, 61, session.driver.nmea.field[2]); (void)mvwaddstr(thtmwin, 2, 61, session.driver.nmea.field[4]); (void)mvwaddstr(thtmwin, 3, 61, session.driver.nmea.field[6]); (void)mvwaddstr(thtmwin, 4, 61, session.driver.nmea.field[8]); } static int tnt_command(char line[] UNUSED) { /* * Interpret a command line. Whatever characters the user types will * be echoed in the command buffer at the top right of the display. When * he/she presses enter the command line will be passed to this function * for interpretation. Note: packet receipt is suspended while this * function is executing. * * This method is optional. If you set the command method pointer to * NULL, gpsmon will behave sanely, accepting no device-specific commands. * * It is a useful convention to use uppercase letters for * driver-specific commands and leave lowercase ones for the * generic gpsmon ones. */ /* * Return COMMAND_UNKNOWN to tell gpsmon you can't interpret the line, and * it will be passed to the generic command interpreter to be handled there. * You can alse return COMMAND_MATCH to tell it you handled the command, * or COMMAND_TERMINATE to tell gpsmon you handled it and gpsmon should * terminate. */ return COMMAND_UNKNOWN; } static void tnt_wrap(void) { (void)delwin(thtmwin); } /* * Use mmt = monitor method table as a suffix for naming these things * Yours will need to be added to the monitor_objects table in gpsmon.c, * then of course you need to link your module into gpsmon. */ const struct monitor_object_t tnt_mmt = { .initialize = tnt_initialize, .update = tnt_update, .command = tnt_command, .wrap = tnt_wrap, .min_y = 6,.min_x = 80, /* size of the device window */ .driver = &trueNorth, }; #endif /* TNT_ENABLE */ /* * Helpers: * * bool monitor_control_send(unsigned char *buf, size_t len) * Ship a packet payload to the device. Calls the driver send_control() * method to add headers/trailers/checksum; also dumps the sent * packet to the packet window, if the send_control() is playing * nice by using session.msgbuf to assemble the message. * * void monitor_log(const char *fmt, ...) * Write a message to the packet window. Safe if the packet window * is not on screen. * * void monitor_complain(const char *fmt, ...) * Post an error message to the command window, wait till user presses a key. * You get to make sure the message will fit. * * void monitor_fixframe(WINDOW *win) * Fix the frame of win to the right of the current location by redrawing * ACS_VLINE there. Useful after doing wclrtoeol() and writing on the * line. * * The libgpsd session object is accessible as the global variable 'session'. */ gpsd-3.9/monitor_ubx.c0000664000175000017500000001663611757250541013224 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include "gpsd.h" #include "bits.h" #include "gpsmon.h" #ifdef UBX_ENABLE #include "driver_ubx.h" extern const struct gps_type_t ubx_binary; static WINDOW *satwin, *navsolwin, *dopwin; #define display (void)mvwprintw static bool ubx_initialize(void) { int i; /*@ -onlytrans @*/ /* "heavily inspired" by monitor_nmea.c */ if ((satwin = derwin(devicewin, 19, 28, 0, 0)) == NULL) return false; (void)wborder(satwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)syncok(satwin, true); (void)wattrset(satwin, A_BOLD); display(satwin, 1, 1, "Ch PRN Az El S/N Flag U"); for (i = 0; i < 16; i++) display(satwin, (int)(i + 2), 1, "%2d", i); display(satwin, 18, 7, " NAV_SVINFO "); (void)wattrset(satwin, A_NORMAL); /*@ -onlytrans @*/ /* "heavily inspired" by monitor_nmea.c */ if ((navsolwin = derwin(devicewin, 13, 51, 0, 28)) == NULL) return false; (void)wborder(navsolwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(navsolwin, A_BOLD); (void)wmove(navsolwin, 1, 1); (void)wprintw(navsolwin, "ECEF Pos:"); (void)wmove(navsolwin, 2, 1); (void)wprintw(navsolwin, "ECEF Vel:"); (void)wmove(navsolwin, 4, 1); (void)wprintw(navsolwin, "LTP Pos:"); (void)wmove(navsolwin, 5, 1); (void)wprintw(navsolwin, "LTP Vel:"); (void)wmove(navsolwin, 7, 1); (void)wprintw(navsolwin, "Time:"); (void)wmove(navsolwin, 8, 1); (void)wprintw(navsolwin, "Time GPS: Day:"); (void)wmove(navsolwin, 10, 1); (void)wprintw(navsolwin, "Est Pos Err m Est Vel Err m/s"); (void)wmove(navsolwin, 11, 1); (void)wprintw(navsolwin, "PRNs: ## PDOP: xx.x Fix 0x.. Flags 0x.."); display(navsolwin, 12, 20, " NAV_SOL "); (void)wattrset(navsolwin, A_NORMAL); if ((dopwin = derwin(devicewin, 3, 51, 13, 28)) == NULL) return false; (void)wborder(dopwin, 0, 0, 0, 0, 0, 0, 0, 0), (void)wattrset(dopwin, A_BOLD); (void)wmove(dopwin, 1, 1); (void)wprintw(dopwin, "DOP [H] [V] [P] [T] [G]"); display(dopwin, 2, 20, " NAV_DOP "); (void)wattrset(dopwin, A_NORMAL); return true; } static void display_nav_svinfo(unsigned char *buf, size_t data_len) { int i, nchan; if (data_len < 152) return; nchan = (int)getub(buf, 4); if (nchan > 16) nchan = 16; for (i = 0; i < nchan; i++) { int off = 8 + 12 * i; unsigned char ss, prn; char el; short az; unsigned short fl; prn = (unsigned char)getub(buf, off + 1); fl = (unsigned short)getleu16(buf, off + 2); ss = (unsigned char)getub(buf, off + 4); el = (char)getsb(buf, off + 5); az = (short)getles16(buf, off + 6); (void)wmove(satwin, (int)(i + 2), 4); (void)wprintw(satwin, "%3d %3d %3d %2d %04x %c", prn, az, el, ss, fl, (fl & UBX_SAT_USED) ? 'Y' : ' '); } (void)wnoutrefresh(satwin); return; } /*@ -mustfreeonly -compdestroy @*/ static void display_nav_sol(unsigned char *buf, size_t data_len) { unsigned short gw = 0; unsigned int tow = 0, flags; double epx, epy, epz, evx, evy, evz; unsigned char navmode; struct gps_data_t g; double separation; if (data_len != 52) return; navmode = (unsigned char)getub(buf, 10); flags = (unsigned int)getub(buf, 11); if ((flags & (UBX_SOL_VALID_WEEK | UBX_SOL_VALID_TIME)) != 0) { tow = (unsigned int)getleu32(buf, 0); gw = (unsigned short)getles16(buf, 8); } epx = (double)(getles32(buf, 12) / 100.0); epy = (double)(getles32(buf, 16) / 100.0); epz = (double)(getles32(buf, 20) / 100.0); evx = (double)(getles32(buf, 28) / 100.0); evy = (double)(getles32(buf, 32) / 100.0); evz = (double)(getles32(buf, 36) / 100.0); ecef_to_wgs84fix(&g.fix, &separation, epx, epy, epz, evx, evy, evz); g.fix.epx = g.fix.epy = (double)(getles32(buf, 24) / 100.0); g.fix.eps = (double)(getles32(buf, 40) / 100.0); g.dop.pdop = (double)(getleu16(buf, 44) / 100.0); g.satellites_used = (int)getub(buf, 47); (void)wmove(navsolwin, 1, 11); (void)wprintw(navsolwin, "%+10.2fm %+10.2fm %+10.2fm", epx, epy, epz); (void)wmove(navsolwin, 2, 11); (void)wprintw(navsolwin, "%+9.2fm/s %+9.2fm/s %+9.2fm/s", evx, evy, evz); (void)wmove(navsolwin, 4, 11); (void)wprintw(navsolwin, "%12.9f %13.9f %8.2fm", g.fix.latitude, g.fix.longitude, g.fix.altitude); (void)mvwaddch(navsolwin, 4, 23, ACS_DEGREE); (void)mvwaddch(navsolwin, 4, 39, ACS_DEGREE); (void)wmove(navsolwin, 5, 11); (void)wprintw(navsolwin, "%6.2fm/s %5.1fo %6.2fm/s", g.fix.speed, g.fix.track, g.fix.climb); (void)mvwaddch(navsolwin, 5, 26, ACS_DEGREE); (void)wmove(navsolwin, 7, 7); /*@ -compdef @*/ { unsigned int day = tow / 8640000; unsigned int tod = tow % 8640000; unsigned int h = tod / 360000; unsigned int m = tod % 360000; unsigned int s = m % 6000; m = (m - s) / 6000; (void)wprintw(navsolwin, "%u %02u:%02u:%05.2f", day, h, m, (double)s / 100); } /*@ +compdef @*/ (void)wmove(navsolwin, 8, 11); if ((flags & (UBX_SOL_VALID_WEEK | UBX_SOL_VALID_TIME)) != 0) { (void)wprintw(navsolwin, "%d+%10.3lf", gw, (double)(tow / 1000.0)); (void)wmove(navsolwin, 8, 36); (void)wprintw(navsolwin, "%d", (tow / 86400000)); } /* relies on the fact that expx and epy are aet to same value */ (void)wmove(navsolwin, 10, 12); (void)wprintw(navsolwin, "%7.2f", g.fix.epx); (void)wmove(navsolwin, 10, 33); (void)wprintw(navsolwin, "%6.2f", g.fix.epv); (void)wmove(navsolwin, 11, 7); (void)wprintw(navsolwin, "%2d", g.satellites_used); (void)wmove(navsolwin, 11, 15); (void)wprintw(navsolwin, "%5.1f", g.dop.pdop); (void)wmove(navsolwin, 11, 25); (void)wprintw(navsolwin, "0x%02x", navmode); (void)wmove(navsolwin, 11, 36); (void)wprintw(navsolwin, "0x%02x", flags); (void)wnoutrefresh(navsolwin); } /*@ +mustfreeonly +compdestroy @*/ static void display_nav_dop(unsigned char *buf, size_t data_len) { if (data_len != 18) return; (void)wmove(dopwin, 1, 9); (void)wprintw(dopwin, "%4.1f", getleu16(buf, 12) / 100.0); (void)wmove(dopwin, 1, 18); (void)wprintw(dopwin, "%4.1f", getleu16(buf, 10) / 100.0); (void)wmove(dopwin, 1, 27); (void)wprintw(dopwin, "%4.1f", getleu16(buf, 6) / 100.0); (void)wmove(dopwin, 1, 36); (void)wprintw(dopwin, "%4.1f", getleu16(buf, 8) / 100.0); (void)wmove(dopwin, 1, 45); (void)wprintw(dopwin, "%4.1f", getleu16(buf, 4) / 100.0); (void)wnoutrefresh(dopwin); } static void ubx_update(void) { unsigned char *buf; size_t data_len; unsigned short msgid; buf = session.packet.outbuffer; msgid = (unsigned short)((buf[2] << 8) | buf[3]); data_len = (size_t) getles16(buf, 4); switch (msgid) { case UBX_NAV_SVINFO: display_nav_svinfo(&buf[6], data_len); break; case UBX_NAV_DOP: display_nav_dop(&buf[6], data_len); break; case UBX_NAV_SOL: display_nav_sol(&buf[6], data_len); break; default: break; } } static int ubx_command(char line[]UNUSED) { return COMMAND_UNKNOWN; } static void ubx_wrap(void) { (void)delwin(satwin); return; } const struct monitor_object_t ubx_mmt = { .initialize = ubx_initialize, .update = ubx_update, .command = ubx_command, .wrap = ubx_wrap, .min_y = 23,.min_x = 80, /* size of the device window */ .driver = &ubx_binary, }; #endif gpsd-3.9/net_dgpsip.c0000664000175000017500000000516612140074637013004 0ustar esresr/* net_dgpsip.c -- gather and dispatch DGPS data from DGPSIP servers * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include #ifndef S_SPLINT_S #include #include #include #endif /* S_SPLINT_S */ #include "gpsd.h" /*@ -branchstate */ int dgpsip_open(struct gps_device_t *device, const char *dgpsserver) /* open a connection to a DGPSIP server */ { char *colon, *dgpsport = "rtcm-sc104"; int opts; device->dgpsip.reported = false; if ((colon = strchr(dgpsserver, ':')) != NULL) { dgpsport = colon + 1; *colon = '\0'; } if (!getservbyname(dgpsport, "tcp")) dgpsport = DEFAULT_RTCM_PORT; device->gpsdata.gps_fd = netlib_connectsock(AF_UNSPEC, dgpsserver, dgpsport, "tcp"); if (device->gpsdata.gps_fd >= 0) { char hn[256], buf[BUFSIZ]; gpsd_report(LOG_PROG, "connection to DGPS server %s established.\n", dgpsserver); (void)gethostname(hn, sizeof(hn)); /* greeting required by some RTCM104 servers; others will ignore it */ (void)snprintf(buf, sizeof(buf), "HELO %s gpsd %s\r\nR\r\n", hn, VERSION); if (write(device->gpsdata.gps_fd, buf, strlen(buf)) != (ssize_t) strlen(buf)) gpsd_report(LOG_ERROR, "hello to DGPS server %s failed\n", dgpsserver); } else gpsd_report(LOG_ERROR, "can't connect to DGPS server %s, netlib error %d.\n", dgpsserver, device->gpsdata.gps_fd); opts = fcntl(device->gpsdata.gps_fd, F_GETFL); if (opts >= 0) (void)fcntl(device->gpsdata.gps_fd, F_SETFL, opts | O_NONBLOCK); device->servicetype = service_dgpsip; return device->gpsdata.gps_fd; } /*@ +branchstate */ void dgpsip_report(struct gps_context_t *context, struct gps_device_t *gps, struct gps_device_t *dgpsip) /* may be time to ship a usage report to the DGPSIP server */ { /* * 10 is an arbitrary number, the point is to have gotten several good * fixes before reporting usage to our DGPSIP server. */ if (context->fixcnt > 10 && !dgpsip->dgpsip.reported) { dgpsip->dgpsip.reported = true; if (dgpsip->gpsdata.gps_fd > -1) { char buf[BUFSIZ]; (void)snprintf(buf, sizeof(buf), "R %0.8f %0.8f %0.2f\r\n", gps->gpsdata.fix.latitude, gps->gpsdata.fix.longitude, gps->gpsdata.fix.altitude); if (write(dgpsip->gpsdata.gps_fd, buf, strlen(buf)) == (ssize_t) strlen(buf)) gpsd_report(LOG_IO, "=> dgps %s\n", buf); else gpsd_report(LOG_IO, "write to dgps FAILED\n"); } } } gpsd-3.9/net_gnss_dispatch.c0000664000175000017500000000345111762140435014341 0ustar esresr/* net_gnss_dispatch.c -- common interface to a number of Network GNSS services * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #ifndef S_SPLINT_S #include #include #endif /* S_SPLINT_S */ #include "gpsd.h" #define NETGNSS_DGPSIP "dgpsip://" #define NETGNSS_NTRIP "ntrip://" bool netgnss_uri_check(char *name) /* is given string a valid URI for GNSS/DGPS service? */ { return strncmp(name, NETGNSS_NTRIP, strlen(NETGNSS_NTRIP)) == 0 || strncmp(name, NETGNSS_DGPSIP, strlen(NETGNSS_DGPSIP)) == 0; } /*@ -branchstate */ int netgnss_uri_open(struct gps_device_t *dev, char *netgnss_service) /* open a connection to a DGNSS service */ { #ifdef NTRIP_ENABLE if (strncmp(netgnss_service, NETGNSS_NTRIP, strlen(NETGNSS_NTRIP)) == 0) { dev->ntrip.conn_state = ntrip_conn_init; return ntrip_open(dev, netgnss_service + strlen(NETGNSS_NTRIP)); } #endif if (strncmp(netgnss_service, NETGNSS_DGPSIP, strlen(NETGNSS_DGPSIP)) == 0) return dgpsip_open(dev, netgnss_service + strlen(NETGNSS_DGPSIP)); #ifndef REQUIRE_DGNSS_PROTO return dgpsip_open(dev, netgnss_service); #else gpsd_report(LOG_ERROR, "Unknown or unspecified DGNSS protocol for service %s\n", netgnss_service); return -1; #endif } /*@ +branchstate */ void netgnss_report(struct gps_context_t *context, struct gps_device_t *gps, struct gps_device_t *dgnss) /* may be time to ship a usage report to the DGNSS service */ { if (dgnss->servicetype == service_dgpsip) dgpsip_report(context, gps, dgnss); #ifdef NTRIP_ENABLE else if (dgnss->servicetype == service_ntrip) ntrip_report(context, gps, dgnss); #endif } /* end */ gpsd-3.9/net_ntrip.c0000664000175000017500000004044012027333266012644 0ustar esresr/* net_ntrip.c -- gather and dispatch DGNSS data from Ntrip broadcasters * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include #include #include #ifndef S_SPLINT_S #include #include #include #include #include #endif /* S_SPLINT_S */ #include "gpsd.h" #include "bsd_base64.h" #define NTRIP_SOURCETABLE "SOURCETABLE 200 OK\r\n" #define NTRIP_ENDSOURCETABLE "ENDSOURCETABLE" #define NTRIP_CAS "CAS;" #define NTRIP_NET "NET;" #define NTRIP_STR "STR;" #define NTRIP_BR "\r\n" #define NTRIP_QSC "\";\"" #define NTRIP_ICY "ICY 200 OK" #define NTRIP_UNAUTH "401 Unauthorized" /*@ -temptrans -mustfreefresh @*/ static /*@null@*/ char *ntrip_field_iterate( /*@null@ */ char *start, /*@null@*/ char *prev, const char *eol) { char *s, *t, *u; if (start) s = start; else { if (!prev) return NULL; s = prev + strlen(prev) + 1; if (s >= eol) return NULL; } /* ignore any quoted ; chars as they are part of the field content */ t = s; while ((u = strstr(t, NTRIP_QSC))) t = u + strlen(NTRIP_QSC); if ((t = strstr(t, ";"))) *t = '\0'; gpsd_report(LOG_RAW, "Next Ntrip source table field %s\n", s); return s; } /*@ +temptrans +mustfreefresh @*/ /*@ -mustfreefresh @*/ static void ntrip_str_parse(char *str, size_t len, /*@out@*/ struct ntrip_stream_t *hold) { char *s, *eol = str + len; memset(hold, 0, sizeof(*hold)); /* */ if ((s = ntrip_field_iterate(str, NULL, eol))) (void)strlcpy(hold->mountpoint, s, sizeof(hold->mountpoint)); /* */ s = ntrip_field_iterate(NULL, s, eol); /* */ if ((s = ntrip_field_iterate(NULL, s, eol))) { if (strcasecmp("RTCM 2", s) == 0) hold->format = fmt_rtcm2; else if (strcasecmp("RTCM 2.0", s) == 0) hold->format = fmt_rtcm2_0; else if (strcasecmp("RTCM 2.1", s) == 0) hold->format = fmt_rtcm2_1; else if (strcasecmp("RTCM 2.2", s) == 0) hold->format = fmt_rtcm2_2; else if (strcasecmp("RTCM 2.3", s) == 0) hold->format = fmt_rtcm2_3; /* required for the SAPOS derver in Gemany, confirmed as RTCM2.3 */ else if (strcasecmp("RTCM1_", s) == 0) hold->format = fmt_rtcm2_3; else if (strcasecmp("RTCM 3.0", s) == 0) hold->format = fmt_rtcm3; else hold->format = fmt_unknown; } /* */ s = ntrip_field_iterate(NULL, s, eol); /* */ if ((s = ntrip_field_iterate(NULL, s, eol))) hold->carrier = atoi(s); /* */ s = ntrip_field_iterate(NULL, s, eol); /* */ s = ntrip_field_iterate(NULL, s, eol); /* */ s = ntrip_field_iterate(NULL, s, eol); /* */ hold->latitude = NAN; if ((s = ntrip_field_iterate(NULL, s, eol))) hold->latitude = atof(s); /* */ hold->longitude = NAN; if ((s = ntrip_field_iterate(NULL, s, eol))) hold->longitude = atof(s); /* */ if ((s = ntrip_field_iterate(NULL, s, eol))) { hold->nmea = atoi(s); } /* */ s = ntrip_field_iterate(NULL, s, eol); /* */ s = ntrip_field_iterate(NULL, s, eol); /* */ if ((s = ntrip_field_iterate(NULL, s, eol))) { if (strcasecmp("none", s) == 0) hold->compr_encryp = cmp_enc_none; else hold->compr_encryp = cmp_enc_unknown; } /* */ if ((s = ntrip_field_iterate(NULL, s, eol))) { if (strcasecmp("N", s) == 0) hold->authentication = auth_none; else if (strcasecmp("B", s) == 0) hold->authentication = auth_basic; else if (strcasecmp("D", s) == 0) hold->authentication = auth_digest; else hold->authentication = auth_unknown; } /* */ if ((s = ntrip_field_iterate(NULL, s, eol))) { hold->fee = atoi(s); } /* */ if ((s = ntrip_field_iterate(NULL, s, eol))) { hold->bitrate = atoi(s); } /* ... */ while ((s = ntrip_field_iterate(NULL, s, eol))); } static int ntrip_sourcetable_parse(struct gps_device_t *device) { struct ntrip_stream_t hold; ssize_t llen, len = 0; char *line; bool sourcetable = false; bool match = false; char buf[BUFSIZ]; size_t blen = BUFSIZ; int fd = device->gpsdata.gps_fd; for (;;) { char *eol; ssize_t rlen; memset(&buf[len], 0, (size_t) (blen - len)); rlen = read(fd, &buf[len], (size_t) (blen - 1 - len)); if (rlen == -1) { if (errno == EINTR) { continue; } if (sourcetable && !match && errno == EAGAIN) { // we have not yet found a match, but there currently is no more data return 0; } if (match) { return 1; } gpsd_report(LOG_ERROR, "ntrip stream read error %d on fd %d\n", errno, fd); return -1; } else if (rlen == 0) { // server closed the connection gpsd_report(LOG_ERROR, "ntrip stream unexpected close %d on fd %d during sourcetable read\n", errno, fd); return -1; } line = buf; rlen = len += rlen; gpsd_report(LOG_RAW, "Ntrip source table buffer %s\n", buf); sourcetable = device->ntrip.sourcetable_parse; if (!sourcetable) { /* parse SOURCETABLE */ if (strncmp(line, NTRIP_SOURCETABLE, strlen(NTRIP_SOURCETABLE)) == 0) { sourcetable = true; device->ntrip.sourcetable_parse = true; llen = (ssize_t) strlen(NTRIP_SOURCETABLE); line += llen; len -= llen; } else { gpsd_report(LOG_WARN, "Received unexpexted Ntrip reply %s.\n", buf); return -1; } } while (len > 0) { /* parse ENDSOURCETABLE */ if (strncmp (line, NTRIP_ENDSOURCETABLE, strlen(NTRIP_ENDSOURCETABLE)) == 0) goto done; /* coverity[string_null] - nul-terminated by previous memset */ if (!(eol = strstr(line, NTRIP_BR))) break; gpsd_report(LOG_IO, "next Ntrip source table line %s\n", line); *eol = '\0'; llen = (ssize_t) (eol - line); /* todo: parse headers */ /* parse STR */ if (strncmp(line, NTRIP_STR, strlen(NTRIP_STR)) == 0) { ntrip_str_parse(line + strlen(NTRIP_STR), (size_t) (llen - strlen(NTRIP_STR)), &hold); if (strcmp(device->ntrip.stream.mountpoint, hold.mountpoint) == 0) { /* todo: support for RTCM 3.0, SBAS (WAAS, EGNOS), ... */ if (hold.format == fmt_unknown) { gpsd_report(LOG_ERROR, "Ntrip stream %s format not supported\n", line); return -1; } /* todo: support encryption and compression algorithms */ if (hold.compr_encryp != cmp_enc_none) { gpsd_report(LOG_ERROR, "Ntrip stream %s compression/encryption algorithm not supported\n", line); return -1; } /* todo: support digest authentication */ if (hold.authentication != auth_none && hold.authentication != auth_basic) { gpsd_report(LOG_ERROR, "Ntrip stream %s authentication method not supported\n", line); return -1; } /* no memcpy, so we can keep the other infos */ device->ntrip.stream.format = hold.format; device->ntrip.stream.carrier = hold.carrier; device->ntrip.stream.latitude = hold.latitude; device->ntrip.stream.longitude = hold.longitude; device->ntrip.stream.nmea = hold.nmea; device->ntrip.stream.compr_encryp = hold.compr_encryp; device->ntrip.stream.authentication = hold.authentication; device->ntrip.stream.fee = hold.fee; device->ntrip.stream.bitrate = hold.bitrate; device->ntrip.stream.set = true; match = true; } /* todo: compare stream location to own location to * find nearest stream if user hasn't provided one */ } /* todo: parse CAS */ /* else if (strncmp(line, NTRIP_CAS, strlen(NTRIP_CAS))==0); */ /* todo: parse NET */ /* else if (strncmp(line, NTRIP_NET, strlen(NTRIP_NET))==0); */ llen += strlen(NTRIP_BR); line += llen; len -= llen; gpsd_report(LOG_RAW, "Remaining Ntrip source table buffer %zd %s\n", len, line); } /* message too big to fit into buffer */ if ((size_t)len == blen - 1) return -1; if (len > 0) memmove(buf, &buf[rlen - len], (size_t) len); } done: return match ? 1 : -1; } static int ntrip_stream_req_probe(const struct ntrip_stream_t *stream) { int dsock; ssize_t r; char buf[BUFSIZ]; dsock = netlib_connectsock(AF_UNSPEC, stream->url, stream->port, "tcp"); if (dsock < 0) { gpsd_report(LOG_ERROR, "ntrip stream connect error %d in req probe\n", dsock); return -1; } gpsd_report(LOG_SPIN, "ntrip stream for req probe connected on fd %d\n", dsock); (void)snprintf(buf, sizeof(buf), "GET / HTTP/1.1\r\n" "User-Agent: NTRIP gpsd/%s\r\n" "Host: %s\r\n" "Connection: close\r\n" "\r\n", VERSION, stream->url); r = write(dsock, buf, strlen(buf)); if (r != (ssize_t)strlen(buf)) { gpsd_report(LOG_ERROR, "ntrip stream write error %d on fd %d during probe request %zd\n", errno, dsock, r); (int)close(dsock); return -1; } /* coverity[leaked_handle] This is an intentional allocation */ return dsock; } static int ntrip_auth_encode(const struct ntrip_stream_t *stream, const char *auth, /*@out@*/ char buf[], size_t size) { memset(buf, 0, size); if (stream->authentication == auth_none) return 0; else if (stream->authentication == auth_basic) { char authenc[64]; if (!auth) return -1; memset(authenc, 0, sizeof(authenc)); if (b64_ntop ((unsigned char *)auth, strlen(auth), authenc, sizeof(authenc) - 1) < 0) return -1; (void)snprintf(buf, size - 1, "Authorization: Basic %s\r\n", authenc); } else { /* todo: support digest authentication */ } return 0; } /* *INDENT-ON* */ static int ntrip_stream_get_req(const struct ntrip_stream_t *stream) { int dsock; char buf[BUFSIZ]; dsock = netlib_connectsock(AF_UNSPEC, stream->url, stream->port, "tcp"); if (BAD_SOCKET(dsock)) { gpsd_report(LOG_ERROR, "ntrip stream connect error %d\n", dsock); return -1; } gpsd_report(LOG_SPIN, "netlib_connectsock() returns socket on fd %d\n", dsock); (void)snprintf(buf, sizeof(buf), "GET /%s HTTP/1.1\r\n" "User-Agent: NTRIP gpsd/%s\r\n" "Host: %s\r\n" "Accept: rtk/rtcm, dgps/rtcm\r\n" "%s" "Connection: close\r\n" "\r\n", stream->mountpoint, VERSION, stream->url, stream->authStr); if (write(dsock, buf, strlen(buf)) != (ssize_t) strlen(buf)) { gpsd_report(LOG_ERROR, "ntrip stream write error %d on fd %d during get request\n", errno, dsock); (void)close(dsock); return -1; } return dsock; } static int ntrip_stream_get_parse(const struct ntrip_stream_t *stream, int dsock) { /*@-nullpass@*/ char buf[BUFSIZ]; int opts; memset(buf, 0, sizeof(buf)); while (read(dsock, buf, sizeof(buf) - 1) == -1) { if (errno == EINTR) continue; gpsd_report(LOG_ERROR, "ntrip stream read error %d on fd %d during get rsp\n", errno, dsock); goto close; } /* parse 401 Unauthorized */ /* coverity[string_null] - guaranteed terminated by the memset above */ if (strstr(buf, NTRIP_UNAUTH)!=NULL) { gpsd_report(LOG_ERROR, "not authorized for Ntrip stream %s/%s\n", stream->url, stream->mountpoint); goto close; } /* parse SOURCETABLE */ if (strstr(buf, NTRIP_SOURCETABLE)!=NULL) { gpsd_report(LOG_ERROR, "Broadcaster doesn't recognize Ntrip stream %s:%s/%s\n", stream->url, stream->port, stream->mountpoint); goto close; } /* parse ICY 200 OK */ if (strstr(buf, NTRIP_ICY)==NULL) { gpsd_report(LOG_ERROR, "Unknown reply %s from Ntrip service %s:%s/%s\n", buf, stream->url, stream->port, stream->mountpoint); goto close; } opts = fcntl(dsock, F_GETFL); if (opts >= 0) (void)fcntl(dsock, F_SETFL, opts | O_NONBLOCK); return dsock; close: (void)close(dsock); return -1; /*@+nullpass@*/ } /*@ -branchstate -nullpass @*/ int ntrip_open(struct gps_device_t *device, char *caster) /* open a connection to a Ntrip broadcaster */ { char *amp, *colon, *slash; char *auth = NULL; char *port = NULL; char *stream = NULL; char *url = NULL; int ret = -1; char t[strlen(caster) + 1]; char *tmp = t; switch (device->ntrip.conn_state) { case ntrip_conn_init: /* this has to be done here, because it is needed for multi-stage connection */ device->servicetype = service_ntrip; device->ntrip.works = false; device->ntrip.sourcetable_parse = false; device->ntrip.stream.set = false; (void)strlcpy(tmp, caster, strlen(caster) + 1); /*@ -boolops @*/ if ((amp = strchr(tmp, '@')) != NULL) { if (((colon = strchr(tmp, ':')) != NULL) && colon < amp) { auth = tmp; *amp = '\0'; tmp = amp + 1; url = tmp; } else { gpsd_report(LOG_ERROR, "can't extract user-ID and password from %s\n", caster); device->ntrip.conn_state = ntrip_conn_err; return -1; } } /*@ +boolops @*/ if ((slash = strchr(tmp, '/')) != NULL) { *slash = '\0'; stream = slash + 1; } else { /* todo: add autoconnect like in dgpsip.c */ gpsd_report(LOG_ERROR, "can't extract Ntrip stream from %s\n", caster); device->ntrip.conn_state = ntrip_conn_err; return -1; } if ((colon = strchr(tmp, ':')) != NULL) { port = colon + 1; *colon = '\0'; } if (!port) { port = "rtcm-sc104"; if (!getservbyname(port, "tcp")) port = DEFAULT_RTCM_PORT; } (void)strlcpy(device->ntrip.stream.mountpoint, stream, sizeof(device->ntrip.stream.mountpoint)); if (auth != NULL) (void)strlcpy(device->ntrip.stream.credentials, auth, sizeof(device->ntrip.stream.credentials)); /* * Semantically url and port ought to be non-NULL by now, * but just in case...this code appeases Coverity. */ if (url != NULL) (void)strlcpy(device->ntrip.stream.url, url, sizeof(device->ntrip.stream.url)); if (port != NULL) (void)strlcpy(device->ntrip.stream.port, port, sizeof(device->ntrip.stream.port)); ret = ntrip_stream_req_probe(&device->ntrip.stream); if (ret == -1) { device->ntrip.conn_state = ntrip_conn_err; return -1; } device->gpsdata.gps_fd = ret; device->ntrip.conn_state = ntrip_conn_sent_probe; return ret; case ntrip_conn_sent_probe: ret = ntrip_sourcetable_parse(device); if (ret == -1) { device->ntrip.conn_state = ntrip_conn_err; return -1; } if (ret == 0 && device->ntrip.stream.set == false) { return ret; } (void)close(device->gpsdata.gps_fd); if (ntrip_auth_encode(&device->ntrip.stream, device->ntrip.stream.credentials, device->ntrip.stream.authStr, 128) != 0) { device->ntrip.conn_state = ntrip_conn_err; return -1; } ret = ntrip_stream_get_req(&device->ntrip.stream); if (ret == -1) { device->ntrip.conn_state = ntrip_conn_err; return -1; } device->gpsdata.gps_fd = ret; device->ntrip.conn_state = ntrip_conn_sent_get; break; case ntrip_conn_sent_get: ret = ntrip_stream_get_parse(&device->ntrip.stream, device->gpsdata.gps_fd); if (ret == -1) { device->ntrip.conn_state = ntrip_conn_err; return -1; } device->ntrip.conn_state = ntrip_conn_established; device->ntrip.works = true; // we know, this worked. break; case ntrip_conn_established: case ntrip_conn_err: return -1; } return ret; } /*@ +branchstate +nullpass @*/ void ntrip_report(struct gps_context_t *context, struct gps_device_t *gps, struct gps_device_t *caster) /* may be time to ship a usage report to the Ntrip caster */ { static int count; /* * 10 is an arbitrary number, the point is to have gotten several good * fixes before reporting usage to our Ntrip caster. * * count % 5 is as arbitrary a number as the fixcnt. But some delay * was needed here */ count ++; if (caster->ntrip.stream.nmea != 0 && context->fixcnt > 10 && (count % 5)==0) { if (caster->gpsdata.gps_fd > -1) { char buf[BUFSIZ]; gpsd_position_fix_dump(gps, buf, sizeof(buf)); if (write(caster->gpsdata.gps_fd, buf, strlen(buf)) == (ssize_t) strlen(buf)) { gpsd_report(LOG_IO, "=> dgps %s\n", buf); } else { gpsd_report(LOG_IO, "ntrip report write failed\n"); } } } } gpsd-3.9/netlib.c0000664000175000017500000001250012073315227012111 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #ifndef S_SPLINT_S #include #ifndef AF_UNSPEC #include #include #include #endif /* AF_UNSPEC */ #include #ifndef INADDR_ANY #include #endif /* INADDR_ANY */ #include /* for htons() and friends */ #include #endif /* S_SPLINT_S */ #include "gpsd.h" #include "sockaddr.h" /*@-mustfreefresh -usedef@*/ socket_t netlib_connectsock(int af, const char *host, const char *service, const char *protocol) { struct protoent *ppe; struct addrinfo hints; struct addrinfo *result, *rp; int ret, type, proto, one = 1; socket_t s = -1; bool bind_me; INVALIDATE_SOCKET(s); /*@-type@*/ ppe = getprotobyname(protocol); if (strcmp(protocol, "udp") == 0) { type = SOCK_DGRAM; proto = (ppe) ? ppe->p_proto : IPPROTO_UDP; } else { type = SOCK_STREAM; proto = (ppe) ? ppe->p_proto : IPPROTO_TCP; } /*@+type@*/ /* we probably ought to pass this in as an explicit flag argument */ bind_me = (type == SOCK_DGRAM); memset(&hints, 0, sizeof(struct addrinfo)); hints.ai_family = af; hints.ai_socktype = type; hints.ai_protocol = proto; #ifndef S_SPLINT_S if (bind_me) hints.ai_flags = AI_PASSIVE; if ((ret = getaddrinfo(host, service, &hints, &result))) { return NL_NOHOST; } #endif /* S_SPLINT_S */ /* * From getaddrinfo(3): * Normally, the application should try using the addresses in the * order in which they are returned. The sorting function used within * getaddrinfo() is defined in RFC 3484). * From RFC 3484 (Section 10.3): * The default policy table gives IPv6 addresses higher precedence than * IPv4 addresses. * Thus, with the default parameters, we get IPv6 addresses first. */ /*@-type@*/ for (rp = result; rp != NULL; rp = rp->ai_next) { ret = NL_NOCONNECT; if ((s = socket(rp->ai_family, rp->ai_socktype, rp->ai_protocol)) < 0) ret = NL_NOSOCK; else if (setsockopt (s, SOL_SOCKET, SO_REUSEADDR, (char *)&one, sizeof(one)) == -1) { if (s > -1) (void)close(s); ret = NL_NOSOCKOPT; } else { if (bind_me) { if (bind(s, rp->ai_addr, rp->ai_addrlen) == 0) { ret = 0; break; } } else { if (connect(s, rp->ai_addr, rp->ai_addrlen) == 0) { ret = 0; break; } } } if (s > -1) { (void)close(s); } } /*@+type@*/ #ifndef S_SPLINT_S freeaddrinfo(result); #endif /* S_SPLINT_S */ if (ret) return ret; #ifdef IPTOS_LOWDELAY { int opt = IPTOS_LOWDELAY; /*@ -unrecog @*/ (void)setsockopt(s, IPPROTO_IP, IP_TOS, &opt, sizeof opt); /*@ +unrecog @*/ } #endif #ifdef TCP_NODELAY /* * This is a good performance enhancement when the socket is going to * be used to pass a lot of short commands. It prevents them from being * delayed by the Nagle algorithm until they can be aggreagated into * a large packet. See http://en.wikipedia.org/wiki/Nagle%27s_algorithm * for discussion. */ if (type == SOCK_STREAM) setsockopt(s, IPPROTO_TCP, TCP_NODELAY, (char *)&one, sizeof(one)); #endif /* set socket to noblocking */ (void)fcntl(s, F_SETFL, fcntl(s, F_GETFL) | O_NONBLOCK); return s; /*@ +type +mustfreefresh @*/ } /*@+mustfreefresh +usedef@*/ const char /*@observer@*/ *netlib_errstr(const int err) { switch (err) { case NL_NOSERVICE: return "can't get service entry"; case NL_NOHOST: return "can't get host entry"; case NL_NOPROTO: return "can't get protocol entry"; case NL_NOSOCK: return "can't create socket"; case NL_NOSOCKOPT: return "error SETSOCKOPT SO_REUSEADDR"; case NL_NOCONNECT: return "can't connect to host/port pair"; default: return "unknown error"; } } socket_t netlib_localsocket(const char *sockfile, int socktype) /* acquire a connection to an existing Unix-domain socket */ { int sock; if ((sock = socket(AF_UNIX, socktype, 0)) < 0) { return -1; } else { struct sockaddr_un saddr; memset(&saddr, 0, sizeof(struct sockaddr_un)); saddr.sun_family = AF_UNIX; (void)strlcpy(saddr.sun_path, sockfile, sizeof(saddr.sun_path)); /*@-unrecog@*/ if (connect(sock, (struct sockaddr *)&saddr, SUN_LEN(&saddr)) < 0) { (void)close(sock); return -1; } /*@+unrecog@*/ return sock; } } char *netlib_sock2ip(socket_t fd) /* retrieve the IP address corresponding to a socket */ { sockaddr_t fsin; socklen_t alen = (socklen_t) sizeof(fsin); /*@i1@*/ static char ip[INET6_ADDRSTRLEN]; int r; r = getpeername(fd, &(fsin.sa), &alen); /*@ -branchstate -unrecog +boolint @*/ if (r == 0) { switch (fsin.sa.sa_family) { case AF_INET: r = !inet_ntop(fsin.sa_in.sin_family, &(fsin.sa_in.sin_addr), ip, sizeof(ip)); break; #ifdef IPV6_ENABLE case AF_INET6: r = !inet_ntop((int)fsin.sa_in6.sin6_family, &(fsin.sa_in6.sin6_addr), ip, sizeof(ip)); break; #endif default: (void)strlcpy(ip, "", sizeof(ip)); return ip; } } if (r != 0) { (void)strlcpy(ip, "", sizeof(ip)); } /*@ +branchstate +unrecog -boolint @*/ return ip; } gpsd-3.9/ntpshm.c0000664000175000017500000007554112140107164012155 0ustar esresr/* * ntpshm.c - put time information in SHM segment for xntpd * struct shmTime and getShmTime from file in the xntp distribution: * sht.c - Testprogram for shared memory refclock * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include #include #include #ifndef S_SPLINT_S #include #include #include #endif /* S_SPLINT_S */ #include "gpsd.h" #if defined(HAVE_SYS_TIMEPPS_H) #include /* needed for open() and friends */ #endif #ifdef NTPSHM_ENABLE #include #include #include #define PPS_MAX_OFFSET 100000 /* microseconds the PPS can 'pull' */ #define PUT_MAX_OFFSET 1000000 /* microseconds for lost lock */ #define NTPD_BASE 0x4e545030 /* "NTP0" */ #define SHM_UNIT 0 /* SHM driver unit number (0..3) */ struct shmTime { int mode; /* 0 - if valid set * use values, * clear valid * 1 - if valid set * if count before and after read of values is equal, * use values * clear valid */ int count; time_t clockTimeStampSec; int clockTimeStampUSec; time_t receiveTimeStampSec; int receiveTimeStampUSec; int leap; int precision; int nsamples; int valid; int pad[10]; }; /* Note: you can start gpsd as non-root, and have it work with ntpd. * However, it will then only use the ntpshm segments 2 and 3. * * Ntpd always runs as root (to be able to control the system clock). * Its logics for the creation of ntpshm segments are: * * Segments 0 and 1: permissions 0600, i.e. other programs can only * read and write as root. * * Segments 2 and 3: permissions 0666, i.e. other programs can read * and write as any user. I.e.: if ntpd has been * configured to use these segments, any * unpriviliged user is allowed to provide data * for synchronisation. * * As gpsd can be started as both root and non-root, this behaviour is * mimiced by: * * Started as root: do as ntpd when attaching (creating) the segments. * (In contrast to ntpd, which only attaches (creates) configured * segments, gpsd creates all segments.) * * Started as non-root: only attach (create) segments 2 and 3 with * permissions 0666. As the permissions are for any user, the creator * does not matter. * * For each GPS module gpsd controls, it will use the attached ntpshm * segments in pairs (for coarse clock and pps source, respectively) * starting from the first found segments. I.e. started as root, one * GPS will deliver data on segments 0 and 1, and as non-root data * will be delivered on segments 2 and 3. * * to debug, try looking at the live segments this way * ipcs -m * results should look like this: * ------ Shared Memory Segments -------- * key shmid owner perms bytes nattch status * 0x4e545030 0 root 700 96 2 * 0x4e545031 32769 root 700 96 2 * 0x4e545032 163842 root 666 96 1 * 0x4e545033 196611 root 666 96 1 * * For a bit more data try this: * cat /proc/sysvipc/shm * * If gpsd can not open the segments be sure you are not running SELinux * or apparmor. * * if you see the shared segments (keys 1314148400 -- 1314148403), and * no gpsd or ntpd is running then try removing them like this: * * ipcrm -M 0x4e545030 * ipcrm -M 0x4e545031 * ipcrm -M 0x4e545032 * ipcrm -M 0x4e545033 */ static /*@null@*/ volatile struct shmTime *getShmTime(int unit) { int shmid; unsigned int perms; volatile struct shmTime *p; // set the SHM perms the way ntpd does if (unit < 2) { // we are root, be careful perms = 0600; } else { // we are not root, try to work anyway perms = 0666; } /* * Note: this call requires root under BSD, and possibly on * well-secured Linux systems. This is why ntpshm_init() has to be * called before privilege-dropping. */ shmid = shmget((key_t) (NTPD_BASE + unit), sizeof(struct shmTime), (int)(IPC_CREAT | perms)); if (shmid == -1) { gpsd_report(LOG_ERROR, "NTPD shmget(%ld, %zd, %o) fail: %s\n", (long int)(NTPD_BASE + unit), sizeof(struct shmTime), (int)perms, strerror(errno)); return NULL; } p = (struct shmTime *)shmat(shmid, 0, 0); /*@ -mustfreefresh */ if ((int)(long)p == -1) { gpsd_report(LOG_ERROR, "NTPD shmat failed: %s\n", strerror(errno)); return NULL; } gpsd_report(LOG_PROG, "NTPD shmat(%d,0,0) succeeded, segment %d\n", shmid, unit); return p; /*@ +mustfreefresh */ } #ifdef PPS_ENABLE void ntpshm_init(struct gps_context_t *context, bool enablepps) #else void ntpshm_init(struct gps_context_t *context, bool enablepps UNUSED) #endif /* PPS_ENABLE */ /* Attach all NTP SHM segments. Called once at startup, while still root. */ { int i; for (i = 0; i < NTPSHMSEGS; i++) { // Only grab the first two when running as root. if (2 <= i || 0 == getuid()) { context->shmTime[i] = getShmTime(i); } } memset(context->shmTimeInuse, 0, sizeof(context->shmTimeInuse)); # ifdef PPS_ENABLE context->shmTimePPS = enablepps; # endif /* PPS_ENABLE */ context->enable_ntpshm = true; } static int ntpshm_alloc(struct gps_context_t *context) /* allocate NTP SHM segment. return its segment number, or -1 */ { int i; for (i = 0; i < NTPSHMSEGS; i++) if (context->shmTime[i] != NULL && !context->shmTimeInuse[i]) { context->shmTimeInuse[i] = true; memset((void *)context->shmTime[i], 0, sizeof(struct shmTime)); context->shmTime[i]->mode = 1; context->shmTime[i]->leap = LEAP_NOTINSYNC; context->shmTime[i]->precision = -1; /* initially 0.5 sec */ context->shmTime[i]->nsamples = 3; /* stages of median filter */ return i; } return -1; } static bool ntpshm_free(struct gps_context_t * context, int segment) /* free NTP SHM segment */ { if (segment < 0 || segment >= NTPSHMSEGS) return false; context->shmTimeInuse[segment] = false; segment = -1; return true; } int ntpshm_put(struct gps_device_t *session, double fixtime, double fudge) /* put a received fix time into shared memory for NTP */ { /* shmTime is volatile to try to prevent C compiler from reordering * writes, or optimizing some 'dead code'. but CPU cache may still *write out of order since we do not use memory barriers, yet */ volatile struct shmTime *shmTime = NULL; struct timeval tv; double seconds, microseconds; // gpsd_report(LOG_PROG, "NTP: doing ntpshm_put(,%g, %g)\n", fixtime, fudge); if (session->shmindex < 0 || (shmTime = session->context->shmTime[session->shmindex]) == NULL) { gpsd_report(LOG_RAW, "NTPD missing shm\n"); return 0; } (void)gettimeofday(&tv, NULL); fixtime += fudge; microseconds = 1000000.0 * modf(fixtime, &seconds); if (shmTime->clockTimeStampSec == (time_t) seconds) { gpsd_report(LOG_RAW, "NTPD ntpshm_put: skipping duplicate second\n"); return 0; } /* we use the shmTime mode 1 protocol * * ntpd does this: * * reads valid. * IFF valid is 1 * reads count * reads values * reads count * IFF count unchanged * use values * clear valid * */ shmTime->valid = 0; shmTime->count++; /* FIXME need a memory barrier here to prevent write reordering by * the compiler or CPU cache */ shmTime->clockTimeStampSec = (time_t) seconds; shmTime->clockTimeStampUSec = (int)microseconds; shmTime->receiveTimeStampSec = (time_t) tv.tv_sec; shmTime->receiveTimeStampUSec = (int)tv.tv_usec; shmTime->leap = session->context->leap_notify; /* setting the precision here does not seem to help anything, too * hard to calculate properly anyway. Let ntpd figure it out. * Any NMEA will be about -1 or -2. * Garmin GPS-18/USB is around -6 or -7. */ /* FIXME need a memory barrier here to prevent write reordering by * the compiler or CPU cache */ shmTime->count++; shmTime->valid = 1; gpsd_report(LOG_RAW, "NTPD ntpshm_put: Clock: %lu.%06lu @ %lu.%06lu, fudge: %0.3f\n", (unsigned long)seconds, (unsigned long)microseconds, (unsigned long)tv.tv_sec, (unsigned long)tv.tv_usec, fudge); return 1; } #ifdef PPS_ENABLE /* * Possible pins for PPS: DCD, CTS, RTS, RI. Pinouts: * * DB9 DB25 Name Full name * --- ---- ---- -------------------- * 3 2 TXD --> Transmit Data * 2 3 RXD <-- Receive Data * 7 4 RTS --> Request To Send * 8 5 CTS <-- Clear To Send * 6 6 DSR <-- Data Set Ready * 4 20 DTR --> Data Terminal Ready * 1 8 DCD <-- Data Carrier Detect * 9 22 RI <-- Ring Indicator * 5 7 SG Signal ground */ /*@unused@*//* splint is confused here */ /* put NTP shared memory info based on received PPS pulse * * good news is that kernel PPS gives us nSec resolution * bad news is that ntpshm only has uSec resolution */ static int ntpshm_pps(struct gps_device_t *session, struct timeval *tv) { volatile struct shmTime *shmTime = NULL, *shmTimeP = NULL; time_t seconds; /* FIX-ME, microseconds needs to be set for 5Hz PPS */ int microseconds = 0; int precision; double offset; long l_offset; if (0 > session->shmindex || 0 > session->shmTimeP || (shmTime = session->context->shmTime[session->shmindex]) == NULL || (shmTimeP = session->context->shmTime[session->shmTimeP]) == NULL) return 0; /* PPS has no seconds attached to it. * check to see if we have a fresh timestamp from the * GPS serial input then use that */ /* FIX-ME, does not handle 5Hz yet */ #ifdef S_SPLINT_S /* avoids an internal error in splint 3.1.1 */ l_offset = 0; #else l_offset = tv->tv_sec - shmTime->receiveTimeStampSec; #endif /*@ -ignorequals @*/ l_offset *= 1000000; l_offset += tv->tv_usec - shmTime->receiveTimeStampUSec; if (0 > l_offset || 1000000 < l_offset) { gpsd_report(LOG_RAW, "PPS ntpshm_pps: no current GPS seconds: %ld\n", (long)l_offset); return -1; } /*@+relaxtypes@*/ seconds = shmTime->clockTimeStampSec + 1; offset = fabs((tv->tv_sec - seconds) + ((double)(tv->tv_usec - 0) / 1000000.0)); /*@-relaxtypes@*/ /* we use the shmTime mode 1 protocol * * ntpd does this: * * reads valid. * IFF valid is 1 * reads count * reads values * reads count * IFF count unchanged * use values * clear valid * */ shmTimeP->valid = 0; shmTimeP->count++; shmTimeP->clockTimeStampSec = seconds; shmTimeP->clockTimeStampUSec = (int)microseconds; shmTimeP->receiveTimeStampSec = (time_t) tv->tv_sec; shmTimeP->receiveTimeStampUSec = (int)tv->tv_usec; shmTimeP->leap = session->context->leap_notify; /* precision is a placebo, ntpd does not really use it * real world accuracy is around 16uS, thus -16 precision */ shmTimeP->precision = -16; shmTimeP->count++; shmTimeP->valid = 1; /* this is more an offset jitter/dispersion than precision, * but still useful for debug */ precision = offset != 0 ? (int)(ceil(log(offset) / M_LN2)) : -20; gpsd_report(LOG_RAW, "PPS ntpshm_pps %lu.%03lu @ %lu.%06lu, preci %d\n", (unsigned long)seconds, (unsigned long)microseconds / 1000, (unsigned long)tv->tv_sec, (unsigned long)tv->tv_usec, precision); return 1; } /* * Warning: This is a potential portability problem. * It's needed so that TIOCMIWAIT will be defined and the serial-PPS * code will work, but it's not a SuS/POSIX standard header. We're * going to include it unconditionally here because we expect both * Linux and BSD to have it and we want compilation to break with * an audible snapping sound. */ #include #ifndef S_SPLINT_S #include /* pacifies OpenBSD's compiler */ #endif #if defined(HAVE_SYS_TIMEPPS_H) #include #endif /* and for chrony */ #include /* normalize a timespec */ #define TS_NORM(ts) \ do { \ if ( 1000000000 <= (ts)->tv_nsec ) { \ (ts)->tv_nsec -= 1000000000; \ (ts)->tv_sec++; \ } else if ( 0 > (ts)->tv_nsec ) { \ (ts)->tv_nsec += 1000000000; \ (ts)->tv_sec--; \ } \ } while (0) /* normalize a timeval */ #define TV_NORM(tv) \ do { \ if ( 1000000 <= (tv)->tv_usec ) { \ (tv)->tv_usec -= 1000000; \ (tv)->tv_sec++; \ } else if ( 0 > (tv)->tv_usec ) { \ (tv)->tv_usec += 1000000; \ (tv)->tv_sec--; \ } \ } while (0) /* convert timespec to timeval, with rounding */ #define TSTOTV(tv, ts) \ do { \ (tv)->tv_sec = (ts)->tv_sec; \ (tv)->tv_usec = ((ts)->tv_nsec + 500)/1000; \ TV_NORM( tv ); \ } while (0) /* convert timeval to timespec */ #define TVTOTS(ts, tv) \ do { \ (ts)->tv_sec = (tv)->tv_sec; \ (ts)->tv_nsec = (tv)->tv_usec*1000; \ TS_NORM( ts ); \ } while (0) #if defined(HAVE_SYS_TIMEPPS_H) /* return handle for kernel pps, or -1 */ static int init_kernel_pps(struct gps_device_t *session) { int ldisc = 18; /* the PPS line discipline */ pps_params_t pp; glob_t globbuf; size_t i; /* to match type of globbuf.gl_pathc */ char pps_num = 0; /* /dev/pps[pps_num] is our device */ char path[GPS_PATH_MAX] = ""; session->kernelpps_handle = -1; if ( !isatty(session->gpsdata.gps_fd) ) { gpsd_report(LOG_INF, "KPPS gps_fd not a tty\n"); return -1; } /* Attach the line PPS discipline, so no need to ldattach */ /* This activates the magic /dev/pps0 device */ /* Note: this ioctl() requires root */ if ( 0 > ioctl(session->gpsdata.gps_fd, TIOCSETD, &ldisc)) { gpsd_report(LOG_INF, "KPPS cannot set PPS line discipline: %s\n" , strerror(errno)); return -1; } /* uh, oh, magic file names!, this is not how RFC2783 was designed */ /* need to look in /sys/devices/virtual/pps/pps?/path * (/sys/class/pps/pps?/path is just a link to that) * to find the /dev/pps? that matches our serial port. * this code fails if there are more then 10 pps devices. * * yes, this could be done with libsysfs, but trying to keep the * number of required libs small */ memset( (void *)&globbuf, 0, sizeof(globbuf)); glob("/sys/devices/virtual/pps/pps?/path", 0, NULL, &globbuf); memset( (void *)&path, 0, sizeof(path)); for ( i = 0; i < globbuf.gl_pathc; i++ ) { int fd = open(globbuf.gl_pathv[i], O_RDONLY); if ( 0 <= fd ) { ssize_t r = read( fd, path, sizeof(path) -1); if ( 0 < r ) { path[r - 1] = '\0'; /* remove trailing \x0a */ } close(fd); } gpsd_report(LOG_INF, "KPPS checking %s, %s\n" , globbuf.gl_pathv[i], path); if ( 0 == strncmp( path, session->gpsdata.dev.path, sizeof(path))) { /* this is the pps we are looking for */ /* FIXME, now build the proper pps device path */ pps_num = globbuf.gl_pathv[i][28]; break; } memset( (void *)&path, 0, sizeof(path)); } /* done with blob, clear it */ globfree(&globbuf); if ( 0 == pps_num ) { gpsd_report(LOG_INF, "KPPS device not found.\n"); return -1; } /* contruct the magic device path */ (void)snprintf(path, sizeof(path), "/dev/pps%c", pps_num); /* root privs are required for this device open */ int ret = open(path, O_RDWR); if ( 0 > ret ) { gpsd_report(LOG_INF, "KPPS cannot open %s: %s\n" , path, strerror(errno)); return -1; } /* root privs are not required past this point */ if ( 0 > time_pps_create(ret, &session->kernelpps_handle )) { gpsd_report(LOG_INF, "KPPS time_pps_create(%d) failed: %s\n" , ret, strerror(errno)); return -1; } else { /* have kernel PPS handle */ int caps; /* get features supported */ if ( 0 > time_pps_getcap(session->kernelpps_handle, &caps)) { gpsd_report(LOG_ERROR, "KPPS time_pps_getcap() failed\n"); } else { gpsd_report(LOG_INF, "KPPS caps %0x\n", caps); } /* linux 2.6.34 can not PPS_ECHOASSERT | PPS_ECHOCLEAR */ memset( (void *)&pp, 0, sizeof(pps_params_t)); pp.mode = PPS_CAPTUREBOTH; if ( 0 > time_pps_setparams(session->kernelpps_handle, &pp)) { gpsd_report(LOG_ERROR, "KPPS time_pps_setparams() failed: %s\n", strerror(errno)); time_pps_destroy(session->kernelpps_handle); return -1; } } return 0; } #endif /* defined(HAVE_SYS_TIMEPPS_H) */ volatile bool gpsd_ppsmonitor_stop = false; /*@-mustfreefresh -type@ -unrecog*/ static /*@null@*/ void *gpsd_ppsmonitor(void *arg) { struct gps_device_t *session = (struct gps_device_t *)arg; struct timeval tv; struct timespec ts; #if defined(TIOCMIWAIT) int cycle, duration, state = 0, laststate = -1, unchanged = 0; struct timeval pulse[2] = { {0, 0}, {0, 0} }; #endif /* TIOCMIWAIT */ #if defined(HAVE_SYS_TIMEPPS_H) int kpps_edge = 0; /* 0 = clear edge, 1 = assert edge */ int cycle_kpps, duration_kpps; struct timespec pulse_kpps[2] = { {0, 0}, {0, 0} }; struct timespec tv_kpps; pps_info_t pi; #endif /* for chrony SOCK interface, which allows nSec timekeeping */ #define SOCK_MAGIC 0x534f434b struct sock_sample { struct timeval tv; double offset; int pulse; int leap; int _pad; /* unused */ int magic; /* must be SOCK_MAGIC */ } sample; /* chrony must be started first as chrony insists on creating the socket */ /* open the chrony socket */ int chronyfd = -1; char chrony_path[PATH_MAX]; gpsd_report(LOG_PROG, "PPS Create Thread gpsd_ppsmonitor\n"); /* wait for the device to go active - makes this safe to call early */ while (BAD_SOCKET(session->gpsdata.gps_fd)) { /* should probably remove this once code is verified */ gpsd_report(LOG_PROG, "PPS thread awaiting device activation\n"); (void)sleep(1); } /* Activates PPS support for RS-232 or USB devices only. */ if (!(session->sourcetype == source_rs232 || session->sourcetype == source_usb)) { gpsd_report(LOG_PROG, "PPS thread deactivation. Not RS-232 or USB device.\n"); (void)ntpshm_free(session->context, session->shmTimeP); return NULL; } if ( 0 == getuid() ) { /* this case will fire on command-line devices; * they're opened before priv-dropping. Matters because * only root can use /var/run. */ (void)snprintf(chrony_path, sizeof (chrony_path), "/var/run/chrony.%s.sock", basename(session->gpsdata.dev.path)); } else { (void)snprintf(chrony_path, sizeof (chrony_path), "/tmp/chrony.%s.sock", basename(session->gpsdata.dev.path)); } if (access(chrony_path, F_OK) != 0) { gpsd_report(LOG_PROG, "PPS chrony socket %s doesn't exist\n", chrony_path); } else { chronyfd = netlib_localsocket(chrony_path, SOCK_DGRAM); if (chronyfd < 0) gpsd_report(LOG_PROG, "PPS can not connect chrony socket: %s\n", chrony_path); else gpsd_report(LOG_RAW, "PPS using chrony socket: %s\n", chrony_path); } /* end chrony */ #if defined(HAVE_SYS_TIMEPPS_H) /* some operations in init_kernel_pps() require root privs */ (void)init_kernel_pps( session ); if ( 0 <= session->kernelpps_handle ) { gpsd_report(LOG_WARN, "KPPS kernel PPS will be used\n"); } memset( (void *)&pi, 0, sizeof(pps_info_t)); #endif /* root privileges are not required after this point */ /* * Wait for status change on any handshake line. The only assumption here * is that no GPS lights up more than one of these pins. By waiting on * all of them we remove a configuration switch. */ while (!gpsd_ppsmonitor_stop) { bool ok = false; char *log = NULL; #if defined(TIOCMIWAIT) #define PPS_LINE_TIOC (TIOCM_CD|TIOCM_CAR|TIOCM_RI|TIOCM_CTS) if (ioctl(session->gpsdata.gps_fd, TIOCMIWAIT, PPS_LINE_TIOC) != 0) { gpsd_report(LOG_ERROR, "PPS ioctl(TIOCMIWAIT) failed: %d %.40s\n" , errno, strerror(errno)); break; } #endif /* TIOCMIWAIT */ /*@-noeffect@*/ #ifdef HAVE_CLOCK_GETTIME /* using clock_gettime() here, that is nSec, * not uSec like gettimeofday */ if ( 0 > clock_gettime(CLOCK_REALTIME, &ts) ) { /* uh, oh, can not get time! */ gpsd_report(LOG_ERROR, "PPS clock_gettime() failed\n"); break; } TSTOTV( &tv, &ts); #else if ( 0 > gettimeofday(&tv, NULL) ) { /* uh, oh, can not get time! */ gpsd_report(LOG_ERROR, "PPS gettimeofday() failed\n"); break; } TVTOTS( &ts, &tv); #endif /*@+noeffect@*/ #if defined(HAVE_SYS_TIMEPPS_H) if ( 0 <= session->kernelpps_handle ) { struct timespec kernelpps_tv; /* on a quad core 2.4GHz Xeon this removes about 20uS of * latency, and about +/-5uS of jitter over the other method */ memset( (void *)&kernelpps_tv, 0, sizeof(kernelpps_tv)); if ( 0 > time_pps_fetch(session->kernelpps_handle, PPS_TSFMT_TSPEC , &pi, &kernelpps_tv)) { gpsd_report(LOG_ERROR, "KPPS kernel PPS failed\n"); } else { // find the last edge if ( pi.assert_timestamp.tv_sec > pi.clear_timestamp.tv_sec ) { kpps_edge = 1; tv_kpps = pi.assert_timestamp; } else if ( pi.assert_timestamp.tv_sec < pi.clear_timestamp.tv_sec ) { kpps_edge = 0; tv_kpps = pi.clear_timestamp; } else if ( pi.assert_timestamp.tv_nsec > pi.clear_timestamp.tv_nsec ) { kpps_edge = 1; tv_kpps = pi.assert_timestamp; } else { kpps_edge = 0; tv_kpps = pi.clear_timestamp; } gpsd_report(LOG_PROG, "KPPS assert %ld.%09ld, sequence: %ld - " "clear %ld.%09ld, sequence: %ld\n", pi.assert_timestamp.tv_sec, pi.assert_timestamp.tv_nsec, pi.assert_sequence, pi.clear_timestamp.tv_sec, pi.clear_timestamp.tv_nsec, pi.clear_sequence); gpsd_report(LOG_PROG, "KPPS data: using %s\n", kpps_edge ? "assert" : "clear"); #define timediff_kpps(x, y) (int)((x.tv_sec-y.tv_sec)*1000000+((x.tv_nsec-y.tv_nsec)/1000)) cycle_kpps = timediff_kpps(tv_kpps, pulse_kpps[kpps_edge]); duration_kpps = timediff_kpps(tv_kpps, pulse_kpps[(int)(kpps_edge == 0)]); if ( 3000000 < duration_kpps ) { // invisible pulse duration_kpps = 0; } #undef timediff_kpps gpsd_report(LOG_INF, "KPPS cycle: %7d, duration: %7d @ %lu.%09lu\n", cycle_kpps, duration_kpps, (unsigned long)tv_kpps.tv_sec, (unsigned long)tv_kpps.tv_nsec); pulse_kpps[kpps_edge] = tv_kpps; ok = true; log = "KPPS"; } } #endif /* HAVE_SYS_TIMEPPS_H */ #if defined(TIOCMIWAIT) ok = false; log = NULL; /*@ +ignoresigns */ if (ioctl(session->gpsdata.gps_fd, TIOCMGET, &state) != 0) { gpsd_report(LOG_ERROR, "PPS ioctl(TIOCMGET) failed\n"); break; } /*@ -ignoresigns */ state = (int)((state & PPS_LINE_TIOC) != 0); /*@ +boolint @*/ #define timediff(x, y) (int)((x.tv_sec-y.tv_sec)*1000000+x.tv_usec-y.tv_usec) cycle = timediff(tv, pulse[state]); duration = timediff(tv, pulse[(int)(state == 0)]); #undef timediff /*@ -boolint @*/ if (state == laststate) { /* some pulses may be so short that state never changes */ if (999000 < cycle && 1001000 > cycle) { duration = 0; unchanged = 0; gpsd_report(LOG_RAW, "PPS pps-detect on %s invisible pulse\n", session->gpsdata.dev.path); } else if (++unchanged == 10) { unchanged = 1; gpsd_report(LOG_WARN, "PPS TIOCMIWAIT returns unchanged state, ppsmonitor sleeps 10\n"); (void)sleep(10); } } else { gpsd_report(LOG_RAW, "PPS pps-detect on %s changed to %d\n", session->gpsdata.dev.path, state); laststate = state; unchanged = 0; } pulse[state] = tv; if (unchanged) { // strange, try again continue; } gpsd_report(LOG_INF, "PPS cycle: %7d, duration: %7d @ %lu.%06lu\n", cycle, duration, (unsigned long)tv.tv_sec, (unsigned long)tv.tv_usec); /* only listen to PPS after 4 consecutive fixes, otherwise time * will be inaccurate. * Not sure yet how to handle uBlox UBX_MODE_TMONLY * Do not use ship_to_ntp here since it is synced to packets * and this thread is asynchonous to packets */ if ( 3 < session->fixcnt ) { /* * The PPS pulse is normally a short pulse with a frequency of * 1 Hz, and the UTC second is defined by the front edge. But we * don't know the polarity of the pulse (different receivers * emit different polarities). The duration variable is used to * determine which way the pulse is going. The code assumes * that the UTC second is changing when the signal has not * been changing for at least 800ms, i.e. it assumes the duty * cycle is at most 20%. * * Some GPSes instead output a square wave that is 0.5 Hz and each * edge denotes the start of a second. * * Some GPSes, like the Globalsat MR-350P, output a 1uS pulse. * The pulse is so short that TIOCMIWAIT sees a state change * but by the time TIOCMGET is called the pulse is gone. * * A few stupid GPSes, like the Furuno GPSClock, output a 1.0 Hz * square wave where the leading edge is the start of a second * * 5Hz GPS (Garmin 18-5Hz) pulses at 5Hz. Set the pulse length to * 40ms which gives a 160ms pulse before going high. * */ log = "Unknown error"; if (199000 > cycle) { // too short to even be a 5Hz pulse log = "Too short for 5Hz\n"; } else if (201000 > cycle) { /* 5Hz cycle */ /* looks like 5hz PPS pulse */ if (100000 > duration) { /* BUG: how does the code know to tell ntpd * which 1/5 of a second to use?? */ ok = true; log = "5Hz PPS pulse\n"; } } else if (999000 > cycle) { log = "Too long for 5Hz, too short for 1Hz\n"; } else if (1001000 > cycle) { /* looks like PPS pulse or square wave */ if (0 == duration) { ok = true; log = "invisible pulse\n"; } else if (499000 > duration) { /* end of the short "half" of the cycle */ /* aka the trailing edge */ log = "1Hz trailing edge\n"; } else if (501000 > duration) { /* looks like 1.0 Hz square wave, ignore trailing edge */ if (state == 1) { ok = true; log = "square\n"; } } else { /* end of the long "half" of the cycle */ /* aka the leading edge */ ok = true; log = "1Hz leading edge\n"; } } else if (1999000 > cycle) { log = "Too long for 1Hz, too short for 2Hz\n"; } else if (2001000 > cycle) { /* looks like 0.5 Hz square wave */ if (999000 > duration) { log = "0.5 Hz square too short duration\n"; } else if (1001000 > duration) { ok = true; log = "0.5 Hz square wave\n"; } else { log = "0.5 Hz square too long duration\n"; } } else { log = "Too long for 0.5Hz\n"; } } else { /* not a good fix, but a test for an otherwise good PPS * would go here */ log = "no fix.\n"; } #endif /* TIOCMIWAIT */ if (ok) { char *log1 = NULL; gpsd_report(LOG_RAW, "PPS edge accepted %.100s", log); /* chrony expects tv-sec since Jan 1970 */ /* FIXME!! offset is double of the error from local time */ sample.pulse = 0; sample.leap = session->context->leap_notify; sample.magic = SOCK_MAGIC; #if defined(HAVE_SYS_TIMEPPS_H) if ( 0 <= session->kernelpps_handle) { /* pick the right edge */ if ( kpps_edge ) { ts = pi.assert_timestamp; /* structure copy */ } else { ts = pi.clear_timestamp; /* structure copy */ } TSTOTV( &sample.tv, &ts); } else #endif { sample.tv = tv; /* structure copy */ } /* FIXME!! this is wrong if signal is 5Hz or 10Hz instead of PPS */ /* careful, Unix time to nSec is more precision than a double */ sample.offset = 1 + session->last_fixtime - ts.tv_sec; sample.offset -= ts.tv_nsec / 1e9; /* was: defined(ONCORE_ENABLE) && defined(BINARY_ENABLE) */ #ifdef __UNUSED__ /*@-noeffect@*/ if (session->device_type == &oncore_binary) { int pulse_delay_ns = session->driver.oncore.pps_offset_ns; sample.offset += (double)pulse_delay_ns / 1000000000; ts.tv_nsec -= pulse_delay_ns; TS_NORM( &ts ); } /*@+noeffect@*/ #endif TSTOTV( &tv, &ts ); if (session->ship_to_ntpd) { log1 = "accepted"; if ( 0 <= chronyfd ) { log1 = "accepted chrony sock"; (void)send(chronyfd, &sample, sizeof (sample), 0); } (void)ntpshm_pps(session, &tv); } else { log1 = "skipped ship_to_ntp=0"; } gpsd_report(LOG_RAW, "PPS edge %.20s %lu.%06lu offset %.9f\n", log1, (unsigned long)sample.tv.tv_sec, (unsigned long)sample.tv.tv_usec, sample.offset); if (session->context->pps_hook != NULL) session->context->pps_hook(session, &tv); } else { gpsd_report(LOG_RAW, "PPS edge rejected %.100s", log); } } #if defined(HAVE_SYS_TIMEPPS_H) if (session->kernelpps_handle > 0) { gpsd_report(LOG_PROG, "PPS descriptor cleaned up\n"); time_pps_destroy(session->kernelpps_handle); } #endif if (chronyfd != -1) (void)close(chronyfd); gpsd_report(LOG_PROG, "PPS gpsd_ppsmonitor exited.\n"); return NULL; } /*@+mustfreefresh +type +unrecog@*/ static void pps_thread_activate(struct gps_device_t *session) /* activate a thread to watch the device's PPS transitions */ { pthread_t pt; if (session->shmTimeP >= 0) { gpsd_report(LOG_PROG, "PPS thread launched\n"); /*@-compdef -nullpass@*/ (void)pthread_create(&pt, NULL, gpsd_ppsmonitor, (void *)session); /*@+compdef +nullpass@*/ } } static void pps_thread_deactivate(struct gps_device_t *session UNUSED) /* cleanly terminate PPS thread */ { gpsd_ppsmonitor_stop = true; } #endif /* PPS_ENABLE */ void ntpd_link_deactivate(struct gps_device_t *session) /* release ntpshm storage for a session */ { (void)ntpshm_free(session->context, session->shmindex); #if defined(PPS_ENABLE) if (session->context->shmTimePPS && (session->shmTimeP != -1)) { pps_thread_deactivate(session); (void)ntpshm_free(session->context, session->shmTimeP); } #endif /* PPS_ENABLE */ } void ntpd_link_activate(struct gps_device_t *session) /* set up ntpshm storage for a session - may fail if not called as root */ { /* If we are talking to ntpd, allocate a shared-memory segment for "NMEA" time data */ if (session->context->enable_ntpshm) session->shmindex = ntpshm_alloc(session->context); if (0 > session->shmindex) { gpsd_report(LOG_INF, "NTPD ntpshm_alloc() failed\n"); #if defined(PPS_ENABLE) } else if (session->context->shmTimePPS) { /* We also have the 1pps capability, allocate a shared-memory segment * for the 1pps time data and launch a thread to capture the 1pps * transitions */ if ((session->shmTimeP = ntpshm_alloc(session->context)) < 0) { gpsd_report(LOG_INF, "NTPD ntpshm_alloc(1) failed\n"); } else pps_thread_activate(session); #endif /* PPS_ENABLE */ } } #endif /* NTPSHM_ENABLE */ gpsd-3.9/packaging/X11/gpsd-logo.png0000664000175000017500000004020611757250541015377 0ustar esresr‰PNG  IHDRi~'Q?bKGDùC» pHYs.#.#x¥?v?£IDATxÚí}yx\Wy÷ΟH3’F»dɒlKÞc;Ž=qB$¡„RH€Ÿ(Žð(mYšŽJ)ô#,% „²’}!qlÇ»-Y’eíÛÌH³Ïܹ÷žóý1‹F¶ãE¶Ò'o=‘5wî9÷üλœw»$|y ÞŠ¿l¢oöÞŠ“ÓÛ œèmÞô6Hoz€·‰oöN‹8Ÿû!ä͞ÑBoN✄ )[ª4AŽSpÎÎsŸýŠ· ':íÏ4¬þAFR<µ3c×&B/”§"fDJ¹ ÿÃ8ì-njêè˜.¯¹À°:ŒáŠú öké„3<°nh÷—’ÓO3œ›(e¬ÿ€ýå‚TÊù߇þ‹²ŠÕ+rBžÅæIʺQ–yßLª}ÓŽäiZ6³ûÇU3CÏ‚dM=M8ã9 8! Œ!¯Ñrì™ÿì/Lá ÍeoörT…s€³üìD©V—awUrQ”ÇT×ÚÕŸØ$‚sØl6Tnžbåmõ晲õ]RS`¹>~¹fÙ׊lŠÏJœ¥ çȖUŽ€k­gªÍ *Ü$ÌÔÁÌüØ%sú ŽŒ©Ÿ;Îóàp€PÂT«Ãpxj2e•éòªötYUWÆémÌZì~96s€þ©ûnOÇbé1§ÿÂawÕåSîÊóýñÐN¯b ”×l‰Óz_G—…ªF_âÀá#VA’šÕ2ŽøLO`vüé®è诧.ÿ]‘@óù¢®%%-=£€bãêlðžèµ‡'v+3S=b":A²š–Ÿ×›Ø/îJ%Iw–Õ€ ëÕÍç'üµkÒO}V±”1*ˆ9æÊ]Ÿ²¹µ]åÓ¯ü²,›XüyL¶Õ‡ÝöU¶Ü6=þ§ìr°ŸWèþÌ@ þœ‚(:((ªS«—'e‹¯ÕHŒ˜vû BSRœš€:O*6œ‹Š¡)éÄ€-2ÝcŸÚjíYÛ#$cA0“¿Y€œ! q€ ÆIʖU4%k[.ŒÔ¶^÷×®ÎØœÕ&Ä90–Ûń€[44` Ov3BÁ åÜðfb‡³Båâ%×\ß圍9ƒÏ<ÒÞpð¹[û“«ZXeãE\’9óÝí.Ÿ~VØùÌ¿MvnüxÆá©7© qBH~\bPA5l®†€ÝÓ¬]|¥žü”5p~Á5ÔóžeìÈV! ‚åŽoXçTÜqÎA“óÌêð$ëZ.œmYþÞHuóÆŽÕ` œõ8!€`è%˜²Ä–ØL¿%Øý¬߃üy)?¥Òku]wÚ/Œê‘±‘™%Ïý惄P2n/Û8䪺dÊ[µ)®Ú7ôœúÙÓ}ßã„Ýé­Ñ*jº4§·1ã­lKy+:Òβ&Íb¯0Qᥛ%†d{$Øí9²ÿa÷¡](Áñý0u„æ ’·H9ÎÉ-ŸáòÖÅZWŒ3žxåûcåÕ+ ATÁr‡ÐÜPP0ŠŠ“ÓöÙ©ýŽñ­Öñ—•™©n1Ÿ"z6 fæP÷}!6;yŠb€çÁ1©švÂyÏÌj×lIžw$¡5E4Ý®1®2Æ@)…*Í­ÈÑz‡ed¥K}m£G}¶Sæ/8X6d2ŸàyÄ:!ZUê‰5—~>ØžôZƒRà‚€ŠmO|œúŇîLRÉy˜ZÎߥ”]ï7R‡®Èÿ™—Z§ç€@zYEÓÈÅ7üûtmÛœs:Çú„{§‡·ÕŒüÈßZ{žgŒzf2šsPB0Bä¥?œÈ|ñáð5“±€“33ÿ$óç¿ .‹¬­­ôîÿP­ûǗXØ/U3ÍwÎ@Ôæt°mféºMµ¯ýˆ®ÚŒr&ŽŸøÈ÷ûŠ‚ÞGÕuq_õªŠÆfëìžm?2±ër7ÓÇÎ9H%µ^~ӏŠÍœ±¢%€gœ;YõÒÃ_¢¡á³ašrÎ!PJö™òÅ_è ï•Ñévm‚c7'?ÊèãàyídSUýúæÀŸ­¶|¹Žk{LÎ T©ŸIÚݍ=²ûŠƒ¢ýÊ1ÉŸÜ»xI­ÉAUEFdv`б~Ï3Ý ‡fâôžøŽ¬€ ¯¿qðò›~ 4_„‚W™ˆœgê÷<ÿïUÏ?øšŒ9ÎØÍ[ì†Üù鞙{¶ŽN·Ìä:(Î!p8PUŠaBÓuaO(ֺߐ6®ô¹ø¡±Uü¥äaâþâ®Æ•wòÚEKËêÜétšèÙ,!­6:19),7b¿§Œ§³qO+2K8³Ú<£›ßý/áêæKÀáÓ:[·ë™où_zøK$«%8=CñV2ŠN%뿏§ŸŽu,Ð1gž›rQڜ$ÊípA èêêĕW^‰ÎÎN8ìÎñÒÐÔÒ/öÎþÇU;)™ïü>]¢œq?Œ~ÑjU2é8ce>ŸÁ`º®CE€k­æÒ²Ó]—S)·Uipõ%Ÿ™jXr g,·ƒ‘ÓAՇ¶ÿÔÿÊãß&†®”rA/ž§».Úmˆ—?8<óGçŒ.ÎYɏ9ï«ÕŠ––\xáf,]º²,‚@Çóƒ£KŸ;žºS§¢•ðÂD–è±'ØØPŸ¿²ét©T šŠÁn·Ãív# BðøÊ÷©Þ@Èi…üO €Âb'Ú.ïÜøIÅÜBQ65ôRåK•dµT©ÕD8qHŽ­IÁMqzù„sp*S7„âIkîÎ%n!ÎQküurcÃöíÛqàÀ$“‰¹ë8Ão&¯ÚŠKWÓü™f¡äeÙáÚéÁGgffUUUH$Ð4 ©T ^¯.—=6ÿUQ*UžuD8³X]£Ýð¯QOåR’—õ ªž™i|þwÿK™ÚéP\BÎ9ôëùÿekžï0QÖVš™ƒŠ9?u8B€À¿‰|i"ž,£Ž 9€šÿ! „¶8ç‡Ã8rä0== Ã0A%é¬!ÉV›|©Kü=eÌ\С—PÎ!ƒ%º•×qIV À (++C8¥†®CtzÜòHÿÎ:’=ÀNр8)'垈!ь쪙@ÓæÜé;Ï®”ÂwdÿƒÖ#=Ï¢ÄÄæyE§²ï7ŠãË›/­ÃºKÞýC[ÓÏqÛÍ&,ô²|(F Ž ÆRÕG/^n"(s¿ûØŠiÂ0 ˜Š V Ÿ@Nœ<Y;ÉÅŠ…êP’ß*õ\Û­Žöo÷–•ƒ1Ó4‡áp8àr¹J¥@U>à ÜšA9U{Rçಪ„ÛVßhPqž«GÉf¢e^ý9LÝà%‹“K ô1fÿ€óüK/MÄ¢HÅãX÷î÷.z¬fùü”úŸ€r“7Ë^oª„ eÑËÖ¹ €¢qP P©±PøîëVØH°Çiß Î;èX¢œ(ÜL.KæŒ1ø|>˜Š Ó4 QVV‡Ý†)oõcT]zª£\'qŽlyUGŽ¢n=òb®pjvÌNíW'‡wÍE”û˜révOýo•$ 8x`?:º–[Í ¯¹õ߄ÀƒÛ‰ízN©H9Çñ7Á„fVëŠY²°s¹À‰9=UdnÍýM„yÿ>ŒŽnˆƒi£ñLÌQ’ß@KXò 9 ¢ˆÉÉIȲ —ËB²Ù,fgfànl.ß%:ßE(N›NÁpàHV֟§)Vßѹmö©áíDKÇæ®Ì‰šˆU¿}w®»bKùìLÑhv»v»™L‰XŒtœëœË tÝó ÓõOQ*UÂçO8¿fLT€å€¡”BX­x<®|.ʜîÉO @Î`ȉ¶œuW__‡Ã`Nw–—1†1Íl*žH@×+&•e²,CŒÃjµÂ4R‘ÙŒ¹oÇ+èœìà‰AÊ[oéòÀvÔý(çPÓ‹.{ä BåGˆçóöU6ŒŒ@–e,^Œ»wï†Ûí†Õj…(Š˜ …PÛÚàšÏÿÌp~Û$‚|Œ‡NŠ”ãžÜßDQÈeEUUDQ*++qÕUW¡ŸŸŸÿüL&pPJÐÙى뮻èëëC<GWWjkk …pÏ=?YÂ+Àsê„ÚT º`€_ B%'7&}à1Ã|û ýP÷t5Ö¯ÁÒeןô]›yæù /L>¿íƒ±­7—éþiÂS0Á ]ã˜/Ç!H—–€  xÁPÞ7TÛþ®eˇ‘Íf‘N§ÑÚڊŸŸ>€Ói,Y²CCCàfF‡cWg&Ÿ^Á³}…èú±cs(Z*+V¬ÀŠ+p×]w᳟ý,ÆÆÆðŸ÷œííí9Q+P8N|úӟÆå—_އ~7Üpn¹å|ó›ßDcc#>÷¹Ï£££Œó*مIÝT4Æå3ñ7æãLØæª¹ã+¯~áÿšŸçŸ¢ž,ÍF©ÓéT5~ûÛQìÞ„Åâ„kó†}ŠïšÜFy}˜Nn݆®DÃó&“ß~q_Íj®Z]ƒP:_®Xü¥Å˺,Û·oGSSl6&''A)…Õj…ÛíÆ®]»ÐÖֆD"ÿŸW~ŒVÈþñuc:ù¿©’hPIÀ%—\‚§Ÿ~÷ß?FGGñƒüŒ1ÔÕÕÀår¢¶®n·~¿ÓÓÓøîw¿‹ééi”••ahh/Ÿø"-jÆúõëPjˆ(m0‹j;ŒQ"VFV_|Û_þjŊ-×6ÜÇ]_KŠR…ÐÿòK’¬ctŒ!™6a³QœÁzŒVuŸ+Iç‰6ljA"à ÖÐø^¡DŠPÏRÑÂAŒR¹ZãĒJ§Q]]ÙÙYŒŽŽb͚5F6›…ÍfƒÓéÄøäR»¶Ÿ|’Ÿ‹2Sç'Qšªª¢p΁ŠiˆÅb8ÔۋŸþ~ÌÎÎB×4d €’iìÚµ“““ËeoE"†ÁÁA(óŸH†œ2˜uÁ1ÀübF ֕5·ÖØT_ž²§Ìý(w~Š{bž"“D]­ ³aàê-ho ‡Ã•OtïS8'XǶ)éÄ'Žxå„B…“L:ŸŒ%ûðL÷»'þôà3³‘DQ„×ëEww7|>öìكrŸ‰ñ‘™-Éѯy¹>΀ž 8TfÄLÃ@<GSS`ÿ:r;ž{Žä>\¿–á+¢ØÜ:‹Ïþéd^¯ …°k×.xœ^@8>FÈŠgܳ`×çЩ ©TÏhòÀ‘#H§Óp9Ø©‹éFV ÷œ<ÞÙeC,–‚Š1LM ¡jtÏ\H„@Mîìzî_,™dˆÂ)8sÌNõVîýó=›çh†¶»Í&$ CCCp¹\ ”B×uŒŽŽbåʕèéîf͇w~¹š?u*¡k@ºŽÝ»wãꫯF×òå Š? cÿSÿ-ëbøð{%|ôƒ">ô>‹+¶!tàžhŠH ë::–bÓæÍˆÅbØ¿ÿqÇÊŠ4cpèv †©ºâé¬rók¯œÆ8Ã0`w8àS„àíJì“-cÛ~R]“Á­·.E<9‰]/þ.ܖ~š4œéxšéä&8! Ì4}۟úWçPÏÓi_õRbºmb`« 1)¢l3”÷Ø®|χŸ|Û_cßÞœøÅ/~—Û —ۍØð0Æ&'áêyæjšüc§äç9o Hxòɧpͻޅ;>òAüñž4û"š®3±€“"P X-"\i Áj¢¶òEÜzµ€6Ÿ ‰zŒï֏ÁçUðØŸžÅžœûŽkêë&£Sjç儝qufzç‡U|aGEÙýWnÙÒŠkúãQF1^žÕz;ҏ<ôêîð5,òx<*ëmJª‡z %ˆR¹Úʌ°ÈÌÌÑó;)H€3ԉ¡êøàNB€˜ W©úÔA*ULbä&!Ò#BàoùUÿûӋZVÂnwa£H°{÷‹øþ÷†+·lÂ+<4z»9yS,ªËªËÛœäÅGÿ> ñ+m›_ÏôTP‰¶ów2uËȟþ§Ç¿ßQ‘ÍfÁM³ŠÍS‡'UÁ²kW׀AÀï9Œk®®BÛ‚Åñ±‡/$‰Ÿ²Œ©î2³c§ŸfË(º•Á²‚À%I€ð:€r'‡ÇÈ ÉGƒe‹ÁãT'ˆvñ‰¶o“°€!¿7‹»82‰\Ðoþ6çM€+_Iãª+Ùo°×wÕž‡pœ¬¢eâüw|e²¹ëœ&ˆp„jZ/ª]<Žá©ûî`,w`‰ Råï=-?pw®jm–$D"d20ÆPYY‰©©)˜îòºý‚ãÊÏ*Í`:ý>Š™•Dɐ$²"a`pýq ·‹Û°ç‘ÿ׿%uøl` PAHÁ•$‚TN%{4©¢ќˆãñŽ(sš ¡š`BR9=Ӌî³øãïè³ ëZãpÒúöêxîyáœ.Eðûý(„åu]ǯ†g>0CåÚ×]ÎA˜ .ɖh熛ú®ýëߏ-Z~“ H„³\t‹3ÄÊkÖdeÕUxZ7ˎ2Ñíٌ†H$‚ŠŠ ’ “„ÃaH’„@M :*nHQÑ}z:©Ž˜ € ÷™‘Š•åë4MÂΝQLMšžåÖzôzÖ#/?å—ÉÐݺåU8Þ?Nå¶H<.Ô©m·xÄò2mäTaâ°ž°$=•1Yâ¡!»ûUx«9œŠHY˜51}8†±a D9ºêSP˜†CLô[1«Áñ#-ìKF©¯¯G[[º»»ñÚk»L&ðêDžóñ÷û?`§ß6X>ȉy•ŠbºnñùS+.üTš®m‹N+Ø\ý8'¢©'琓 gFg*øÀó™Ôõ¢ÕŠF"hš†ªªªâÙ- 5,^yxïðúeÐ+âÉV‰š×¬ €DÀí‰à€Í®¡2P‰ß?4ŒM›*`µNðמ¿?)€Ùå;¢â:Zݰˆ[lvE–ÑqaøÊ'·>Éߛù+sŸp " IÕA)ê;7ÀG£8л¢UAMµ‹GW8H†A–zÒPÜ:ÆFL<¹8<Ó kýy[*ÑB,šˆc×®]0M}}}èêêÂÆ@Ótlߟ ZV'?žœíÒ¥ŸËYº—Š$EÍׄ—®»9ØžôÝÙâg¹–ùg(dOIÌÐ|=;t¢þÌ8Ðb&Ÿ{úp÷×ú Ïc†B‚Á 8çðûýƒíë.Ùóž%,ù'’OŒ9!HWÇ~jœL`fªƒf_Jp❰;Ö$v?‰Ž¶ÍøØmK Jv>ðßäCw)Þ©7w¬–%+V¬Àµ×^‹††LCžÿàö*–ˆ‹­Ó4ræî±ùøÁ A–SšWUx|~ø«–"t ‰©Ñ=X\MÐQG`ópdffƒ@dŠcO°}¯€ia*–^«Û »Ýα{÷npÎ1==C‡¡«« 6›”0F±srfуÕî~Ô+Ý©[å™@ÃEá¶Õ˜­nŸ(#[\` `f1cª°™AX3‰‰šOý³çÀ«¿(-ëáìܜéH…ì‡ÏãŒ! ƒRŠññqšª Ë…1ýÅÓÃSÐúù‰8© ƒÔö;gÓwˆÝé^>Œï.SV]ënûÔ%Ë—ãw<‚phñéÑØÆ‰WŸÂ ( Ô-VŠ®®.¬]» „`ëóÏiuÓCǗ¬œ~ºeÅ(8·EÃ}ΡîÇÕÉáÝ4•—–]R1Q©üÑPü33©ŽÕ¢ª`Š *+ðŽ_ŠÁnã܅öœiøË8R)`v‡Š’åkÎCuk'|º–.CSS²ùŽßíÛ·cddº®cëÖ­*þ 0M‚G5ù–ußàãuÍkÓVç’\ÌpJžG ÜðŽ÷?Wœõ±¯Z†z_0ϒ-ä†,Ó£tφ>ånhÌÌÌ@×õbÌK’$LŒC­iš;0Þ}e¥®ý;ãüø dp– ¶ûuû—mmªJl—-ÿ”ˆEÍ¿©­ýþ Üvۇðƒü–W~ñãåÖôŸî6Œ÷Š©èx÷Wàï|'îœ÷^(ŠÕjÅðorÿÕ5•“‡7_wOFµùÁs›@Z¶áv[$Øëœ|Ù>zø%ËÔÈN1cŠ©ÿ,˜ýÜÛÁÃ0QW_‡ro9‚Á ª–\ˆèx3¶ë‚&(µÁV^ ϒvØŒ~Ô7ÔcãÆóQ_WQÌ=jyyîû_ûÚ× i9%‰D ( ª«kÐÚڊÎÎNt,鹙 >Nó M Üyà*p{<Š€“ÓÖÄìáx84ýç?>yiEe†D#Qœþz|ä֏ ™Lâ™gžE0„§nÜ5`zœ› ‚*IPTímíX¿~=|>_qó|•›oŸûöíCoo/êêêPQQ@ €ÚÚZx<ÈùŒ„cªÐ Ÿµ8°€¢ãþþÝ¿)ÛýÒÈá‰>€àD9ðyB_iÄ~÷ÔôÔõ’Åªšª «Õ ‹Å‚ÉÉI8œNPB‘š¬_9î\ ãÏǀÄ€²ò_Ëg«\n9¡«« ýýý ”¢³³¿ÿýïqß/ïÕ¯Øÿc1'RDpZ³é©ÕkÖŽY,„g#Øþ꫆ڻ{ëôØX*ëŠV.)–’ŽÄ¹ô°üB˜„ˆ)‹=Ž8¬Œ©oC*™D8FMM fgg!jkk0>1Žt*Jç2nÀãp`éÒ¥hkk‡a†®ëÈf³Ð4 ™LšŠáÆo„aP”Ò"wpÎaDæ=9P 0k"2T~xïþ·2=¶¿è‹<É9p΀HŒðâÔè>Ϛ«#³3¹ŠI‚b±"‹fŒÞý»Wi3Wã;Z'ñ|«€]¿f®¯5¬=¿A‘DŒŒŒ ‘HÀápÀn·cïÞœX±bŠŠŠÄ§f&ÿ·UG|O=x“ƒ}ãÕ矪úéȐ;Ñœû`íHϯþšÅê÷(çY¹&_‘—¬»M% /Ž æ-Hî À¢ª°Z,ðù|àœcdd€xm™×‹žéi€ÓiPJa·ÛPSS B(úúúÀ;&å«0ž ¡Ê1›•Ï¥‘B šFÒ13±ÏÛ·çw®þ=¿—fŠ€å«N£‚„pr3Ô83òÐáphµ,+Ê'Ÿ]šœŸ¿ÕHŸ;wîĒ%KH$rI…##æÊC[¿øN» ÅŠe¹AŠvDá@(J’îñ7'ëâ5‹.ŒûkWeìž:]”ì9LÉ1‹XG-øÉ=úóÒ{”r c º®#brr‡`Ϟ=F0²ÝÿÙ^vcÅQ.›QŸ“ËžhíôšÚ až×wÇs‘ðå-Ek.N¥ÊïÂßâ>ž985…x<ŽææfLOOC’$ÌÎ΢œœƒƒƒH¥Rš®­ÃÔ£¿}ôvsòƒf̞²o®Ž (³ÚœqÝÚÿÇ<ÿ-õµ5ðù|p»Ý°ÙlóDVaa .]×!ËòI*·TÜMNNbïÞœ˜˜˜ÀÐІ‡‡ …‘NgÀòG’i·.ixðë5òmŠ®…Κ@;¿Þ…ÐÕÉ*âE àj§ô1fÿ„²æüM“ã㠄`éҥضm!Ë2R©FGG!I››±ýÑ? ßn†ŸfãÆ¬y:“.œ3! ?~°oÉw_;RÌda±šp8ìžõÖ[qûí·Ã4Í¢Â×4 †a€1†x<Žp8Œ@ ËÏ; J)A€(Š(€ýªª UU!ŠŠŠðÌ3Ïàî»ï.&aÎÝC(g ÷öŽ^Ón«ÿô­Ná+`æ©f ûøù5(5¢ND"ç9kî5®lÙîmžcCs3™œ˜¥9åÛÖֆL&ƒC‡aíÚµ!œög/KO|»™kÛN/FT²£ò"v'W¯þVÏØiM&„ •JƒÒ91TWWWÔîI¥RèëëC$ACCC1}Ùb±ÏDG'è3Æ`2™ ÐÝݍd2™×ÿÂŒ$Ë\.ê\Ñ!-+ük÷ä':WÕn_#dþp&EѧC"Ç ‘ªVªŸ|ÞeWxõôÀét¢ªª œœœˆÇãÐuØ»w/<,6Ìçùͅbâ'E d;*J¥À?÷ÍüÝP8RFɜ—Ðë-çO>ù$àñxPQQ¿ßÓ4199‰îînLMMAUUTUU¡ŒŒŠ¢@Ó4ƒALMMavv‰Dét™L©T ±XNÿ755¡®®ÃÃ#(¶?*ö*ˆ¡¹Î+cÑžç®Áè—ÿ³Õ¹×mdO–Ls6Hø›f/t*:3aÍš)¶úªªD—Ó‰={ö`éÒ¥Èd2ˆÅb$ ªª‚ "úžýS÷-,øI7Œ‰ËfÎA)Åý1þ‰öŒÝÌ'…Š3„•hooG2™„Šiðx<𬬄Ífƒ$Ip¹\Eãå‚ .@cc#Œ^/$I*rŽ$IEŠi"‘H  ! !B×u˜Š‰ªª*¬[·¯ŸºÉd‹·¢²²ÑhŽhšç˜e®\f8‘®®ôºS«URÌ*'ŠÖÖ޵µ¡­­ _|1:::Šåö¹‰DåååXŽhQ±Ì€(£²,¥BSSš››QUUY–‘ÉdÍf‹ÅŠž†íÛ·ƒ1¿ß²²2d2d2™îŸûnlÚŽ ²|ÂìÛùôçC¢(šªª‚ÓéÄèè(ü~?†‡‡122R4݉|>’ÉdŸÃÊܘM·×xœ³k­äés©›Ži@)p¯$ƑT{üÈÀ€P13þâ¥Bê¿À9;€ò}‚ð‡¹õ·“ï°Z,š©©Á¡C‡`š&þê¯þ ŸøÄ'Šî×k®eÍÂ;5æª1reü^¯v»ðì³ÏbÙ²exÏ{Þ]×133S<'æÆÊýpƐŠÔuµßö{•³Ä¹éžù®29Ë̎PˆþÍõ4ö„1ãd ö'# AϣѫMÃ@MM ŠŠŠÍfQQQ[n¹å€-*Ü_E,ZŽ«V­Âe—]ŸÏ‡ææfTVV¢©© ©T v»BŸáré÷„c­û5²A8Ãf'¢†Ï cz1“õ ãDB°7K7o›Žt© œN'r•5ïz×»°jÕªy øFQaŒ––477ã•W^ÁŸÿügD£Qd³Ù¢‹*‹{H€qMW^Œf/¿ ‚>@LvNDÞɋÈrOpÜHãi/D®"Pz0˜z_$™²TVT B.//LJ>ô¡z±ßr»ÝXŒx1&''1== MÓÀ9‡Šip8ìÈy"ò‡Ý|€h[8¹&Ñ{®æô†œ?©3ÑÏ¥µG.!p:˜žž\~ùåoÍ[JÑÑÑqÌß³ÙlQgÍQnóöÇÒMŒ6Ós4í7 €|3'úÀtúóq¯ªš0 ‰DV«7ÞxcŸ|ÿÍã¢555A’€ÜŒóÆ4M(Š’_²Ÿ€p:ã<’1Ÿ+#ü ©ÈELZuÿÈìu`&,µ(JÚÚÚpÞyç¯.„$J}h§5Ÿ^2c>ãG—ë°uô¹pŸÊÿ«ôdtƒöЌegÚ¬ãõè ‰p“ ҜәÛfb•@îŒb`ݺuðùÊÀž‘ëUÇ Ý·8_xÔæØ’,^ü„#9¹ßK·ƒÛí.‚T.wf+tj8Ƛ¡/™]lzNÞýqÎA*pQ·.lŒpú]98$IʇV­ZBŒ à ù 9· 'Ûýó"¹‡(ŽJ)~L@1wÞ¡(tÒË]i±Xò¢mNÜÙívd³ZɍJ`åÀ@<]ŸqŸ%AÊë"<<›}ÏX,á™ËçDqAs“!‚PÚ³îx™kó¿Opœ8 Ö蜟¯Ø{sVr˜¹ÿò-AE¡“*è —Ë…h4×âa.Áe®Š}<­Œ2â;Zé w)Pï+¡ø:”D? À$I°Z­(/Ÿóẕ€=),h~څà.9êšޝÇçºzåo žÿ)P¡e$I‚ÓéD$™wMé-cZÖ1¹÷\Šçž“2˜LŠ…‡+øÜœN'dY.ŠÇꑒnZ UâŒÎ_BJ°"ǙCiNöq{i$€lÖȧœ›ðz=ŘÔÑ_+Œšé†˜Ôtù\Xxoœ >÷hŔ¬²²2Ȳ\ ®ñü»–ŽZÁ£îBŽù=/xòïŠ8Öª›?~é"•Ö•¿šÅ-Pcc#&''çåAÌe/寡”rQÀρs蜿‰Œs@E®*đKˆçÏÌ"‹Âëõ"Ê·1à ¹}Sh6x­tLB%0H^ø#)ŠŒ£Ï^9QEŠöÅÜœЧАL$àt:ÑÙ¹ @5zzzŠ Cc(Ô2pœV5Q®H3œ™g=žþ†Œ.NKø)ìqҖÆ@.rp”aÿŸýèêêÊ+džïÑÏòÿ'˜;8žˆæšå Íå¯Íÿ6?JÏŒ†œ9ž­V__?š  µµáð öíۏx<Q`š&ššš000€žžd2ÖùÝ;*©yø˜¶EgÞW˜ Š"gZœïi_jŒâ<—mM"‚aއŠa³YqÁÀ¢Zó H1Ç 'UÌ-|Á¬(˜Ý…PFá RzÅ\š9KÒÐHÅÆ`QüêÞû069ñ± ŒŽŽBÓr%1Œq$“¹Ž6«ÕŠ÷¿ÿFLNMƒ'‰¯uT~¥Žg÷ži¬íxtî9‰I¯óŒ²†Ðª:›†*`‘ Zkê|~ôÃOîù9dIÁ_¹eeeù0EañOÎë-ÈQ\s‚5#„ >;'ñ·0£/£©YÂEÍ <'$0‹çÏoóãWŒ™ùÈmétŸž¬óµ5zâ–>7ᕳÃI…åÑ *+ÊÁ:ç×§ÉþUÍ5 ~UåP»¡Ò/¢xô©mĪU«àñxpf‚œò÷ !8žõŒøÛ¯Ãë ¢Ê„Ó–ÅoŸÒŽæJ€ŽNS&„ ŒŒ öíÇŠŽ)üõÍV¿*bd8¶•sÆÏ6PglÝ勩!T’Ej±9‰Õî"ŠÅÅlÿX•ÿC=ڑ++\Yží€ äÞ+!‹eeÀò%>°…Âç¢øõ¯‹ßüaŒºíÕù÷?jŒ£œ gJ3“£0²YÈ €PduØs!ãap°»va·ŒÃ€ì³fVNþ-i¯œbÁ¯S8±ž# ˶ٖڛŠÊø–O4]²Ñ O†%JzÊŒAkM%…UaEۍ@ÊËV/ËâêQ÷>Æð‹/àƒ7}_ÿú×qýõח85Ï>qÎO$…©ÿ Uܘ0 ÍRr糂ˆSžl7]!ÂçJsÀdƒ£©ñá€ð؂š+8砒,/«ÿ¿»ÕƒŸ²‰c›b€ì^ÎQoãðž)l6€Å·œ²ÄPYIpá=ƒ"þŒ×@?>þñcÿþýøÌg>ƒòòòsÐàà þüòË8²ï˜™k)XU-Ð=H.Žïå$ÏUåN‚›¯’qAW‚ONá&8ÓωŽ?£›Ρy\íû”‘[œÊ ¥¹šÀ¢”'%€@  2wåêPd9‚ú:Wž/¢DÂÔ¬h4Šo~󛨷oŸñoÌ Ä ™ŸN§±cÇ>|™ŽÃ$`z®BŒ1Xg hZЊ[‡IÃ(Ô̞þNçŒ,`Q8š Œc=PU&‚q’7}TU=iêñ©’ªªhmmÁøØ8vŒ¶š hzŽ›æúàP€ŠBçK ̀œ~²*&$q[õôêéïŠ7.úx=µ„Pr&@HÉfÓÎ4;˜ÉŠÐ œ¶«Ÿðö?&`f9<å@g‡ËVXåÜNmjlÂWŸr'ZZÎÎ»Ú !…ÃøÓ“O"™ˆ0ÀM’Ë«( {”†_ŸraA`°YtšêÿÌ¢wN^j{2»Žáý„ÐsԙYwùìÈ^·t:{ïœÿ÷_ÇÈÈ0dQ€]áEIFŸýçž¡(É/ƒ(ÉÀL:âbR…u¡Û댳ŠÍVV3«í6Q" QGóž‘ðœ…E †Ú‚‰#A<ú‹¯Á[Ոæ–e§œx¥‰ÿÝÝÝžûî»qß}÷!™Lƒª(ƒ •§P©XÌ%ÇP˜C:k‡ÇhØ*†&zšK¿`ÙÁ9¡A¿ýê¬0Vã÷ÈgÁ) @8ÓUáXŽX€ߍïýÃçÑ}ðài/c ‡Æ·Ÿõ-\{íµøñŒT*•oéÉaUQä¥Ü˱Žò£Žó.)ˆùÜwÏ©8C,¯ï®8˜þ$3 =:,xY îpúÇÆ­^Œ.I`E3`ᕮùÅ59 pyZ zŸ ŸŒíƒøÐÇ>ƒ«¶lAyyùqÏKœsd³YƒAìÛ·O<ñ{ì1ô÷÷óüæŽViÎä6M@ϟ÷ op™?«’”±<·q0à,—ÍrhYà WŽùqçîØßc|r?!³ðœÏ9²²à³‰›CUQl8;¯R'ÇÅ"û“MސZB°,  ÊGÐ\ÅÑ¿wnÿØÇ°tÙ2¬_¿íííðûý$ ét¡PƒƒƒèééAoo/†‡GN§rã Zò6žB`Q–9D’{÷R†i#çy¥ùi^¹Yå;vå»ï˜Œ#›%Ð4 “fÈ*dÚó°–WÝCæ‹ÝC “Nrz*Öá¹)7käšm0FrAzTT5ïu˜ó¯rÌíªãOœrì8‡™eP—š+£è3°}ûlߟ=×=KóÑRÓ4ŽiQ“æøÑ[U$yN"`œC78Š ĊIŒ(†9rŠz& €’@d†#“¡X¥jxãÓìґÁ‡y:•â gáð ‰ȺŽ ñÉÈp9':6‹œÓM¢È!PZðç€6gÚC)`óù­ JDN Q‘˜pš‘”Jr‰+†qt8:›s9z”ä*šƒqdM Ó䣠ހ a~¶†AÌ‘E($b™:eéÖE£ÂÔÁá‡y&•b„€Ð³—·`8O-ó|µ¿jãç"‘‰–™DÄKhBi ª`B•9…BQE␥ܢ4oƕdœrp^š¿ÊÁ 3 )‚lŠ#‘âà,ŸdŸO2§”æ6CÉkIIÁ?E(8!0óoOf@ÎÄϧa1£È€aæÜBÉ ÑEá àÂ\fyZ·»Òe5kâ~ûÚi š±ÖÁt(H‡D™fˆËÎàq8m€UáP@QQ$ùzN çD(3si3Ñ0Çl„#’$H"o÷ÛÇV–Ùv/²ˆ+daÊ.Òh±Ùc ™TŽ…d†(CÓ4ײ¶8߬É}áLÖÊ2ߌnø %ÙšÉÆT]Ò0cÙsù` sœ§ë‘8ÇØ$Çðފ:eÅÎuüvKhxçü„m=ϔæš.ŠÉŠ…s‚ ’€˜6[uÂn]=¡gšŽdSˆ3³Kf_DĄͪðXŒNä~l€Í HR!‡é€–bA‚CÃۆMÌjå3yk|‰bþÔϳ}"g:)˜À'ÝTys„¹ŸüDÒ%Ùûc.üú©Þ=ŽŸ°;8üÀãÈùe9'B“i`2È16maRû£&ÈßIÑÈŸ“µA;tæ9ÅĶÜÿ3ÍÔh&=à cÀM)Úš@3‚Ó;%–u6qYw4uŞÑТt6f·Ë:ªœ@­— Ò Ø­€LÓb `d’£{‚!ÅíìæŠŠmNÇŸÌ ÃäŒÓY B)Mþµµ ÉܜXk÷>ôµlF’‚ª˜Èh!@€r^Üœ‘„#»Þ¶øŸ‹ÂÚÅLzá}•NwÏ”“NŸ8óËTHV’œS’ŒzŸa^óZ¡Z.΀Z’†®zk¢•ñg*Rñ§ÍŠÎÅâð|tMR|}Tºx •nKŠb•ÌXÒ'K“uª20²¯Ê™ÔgìŽßÿt6èM©žP(yg"¥Å0gìuȞµñ ›¥ÐÜ©P \RBóF¯GoHUÅÉšT¶çÎ2¥Ut õžÆø'û ÿdôÒ1ô&6ÛxSÇ~zÃ*ýÞŠ…ÓÛ œèmÞô6Hoz€·œ Ò[€Þé-@oƒô ·Az ÐÛ œèmÞô6Hoz€·ý†sOªâroX&zTXtCommentxÚs.JM,IMQ(Ï,ÉPÉHUp÷ô Rç#ËepEzTXtSignaturexÚÁÀ0À•4€ÿö!wzz51ùÛò:£Íf.€©3.æ‘Îh©JÝoÔŽ»òhÍ·RPeOIEND®B`‚gpsd-3.9/packaging/X11/xgps.desktop0000664000175000017500000000034611757250541015353 0ustar esresr[Desktop Entry] Encoding=UTF-8 Name=xgps GenericName=GPS information Comment=Display GPS information from a gpsd daemon Exec=xgps Icon=/usr/share/gpsd/gpsd-logo.png Terminal=false Type=Application Categories=Application;Graphics; gpsd-3.9/packaging/X11/xgpsspeed.desktop0000664000175000017500000000035211757250541016371 0ustar esresr[Desktop Entry] Encoding=UTF-8 Name=xgpsspeed GenericName=GPS speedometer Comment=Display GPS speed from a gpsd daemon Exec=xgpsspeed Icon=/usr/share/gpsd/gpsd-logo.png Terminal=false Type=Application Categories=Application;Graphics; gpsd-3.9/packaging/deb/etc_default_gpsd0000664000175000017500000000033311757250541016373 0ustar esresr# Default settings for gpsd. # Please do not edit this file directly - use `dpkg-reconfigure gpsd' to # change the options. START_DAEMON="true" GPSD_OPTIONS="" DEVICES="" USBAUTO="true" GPSD_SOCKET="/var/run/gpsd.sock" gpsd-3.9/packaging/deb/etc_init.d_gpsd0000664000175000017500000000774011757250541016145 0ustar esresr#!/bin/sh ### BEGIN INIT INFO # Provides: gpsd # Required-Start: $remote_fs $syslog $network # Should-Start: bluetooth dbus udev # Required-Stop: $remote_fs $syslog $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # X-Start-Before: ntp # Short-Description: GPS (Global Positioning System) daemon start/stop script # Description: Start/Stop script for the gpsd service daemon, # which is able to monitor one or more GPS devices # connected to a host computer, making all data on # the location and movements of the sensors available # to be queried on TCP port 2947. ### END INIT INFO # Author: Bernd Zeimetz # # Please remove the "Author" lines above and replace them # with your own name if you copy and modify this script. # Do NOT "set -e" # PATH should only include /usr/* if it runs after the mountnfs.sh script PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="GPS (Global Positioning System) daemon" NAME=gpsd DAEMON=/usr/sbin/$NAME PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME # Exit if the package is not installed [ -x "$DAEMON" ] || exit 0 # Read configuration variable file if it is present [ -r /etc/default/$NAME ] && . /etc/default/$NAME if [ -z "$GPSD_SOCKET" ] && [ -z "$DEVICES" ]; then GPSD_SOCKET=/var/run/gpsd.sock fi if [ -n "$GPSD_SOCKET" ]; then GPSD_OPTIONS="$GPSD_OPTIONS -F $GPSD_SOCKET" fi # Load the VERBOSE setting and other rcS variables . /lib/init/vars.sh # Define LSB log_* functions. # Depend on lsb-base (>= 3.0-6) to ensure that this file is present. . /lib/lsb/init-functions # # Function that starts the daemon/service # do_start() { # Return # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ || return 1 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ $GPSD_OPTIONS -P $PIDFILE $DEVICES \ || return 2 } # # Function that stops the daemon/service # do_stop() { # Return # 0 if daemon has been stopped # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME RETVAL="$?" [ "$RETVAL" = 2 ] && return 2 # Many daemons don't delete their pidfiles when they exit. rm -f $PIDFILE return "$RETVAL" } # # Function that sends a SIGHUP to the daemon/service # do_reload() { # # If the daemon can reload its configuration without # restarting (for example, when it is sent a SIGHUP), # then implement that here. # start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME return 0 } case "$1" in start) if [ "$START_DAEMON" = "true" ]; then [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" do_start case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac else [ "$VERBOSE" != no ] && \ log_daemon_msg "Not starting $DESC" "$NAME" && \ log_end_msg 0 fi ;; stop) [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" do_stop case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; status) status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? ;; reload|force-reload) log_daemon_msg "Reloading $DESC" "$NAME" do_reload log_end_msg $? ;; restart) # # If the "reload" option is implemented then remove the # 'force-reload' alias # log_daemon_msg "Restarting $DESC" "$NAME" do_stop case "$?" in 0|1) do_start case "$?" in 0) log_end_msg 0 ;; 1) log_end_msg 1 ;; # Old process is still running *) log_end_msg 1 ;; # Failed to start esac ;; *) # Failed to stop log_end_msg 1 ;; esac ;; *) echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 exit 3 ;; esac : gpsd-3.9/packaging/readme.txt0000664000175000017500000000207311762140436014420 0ustar esresr= Recommendations for distribution integrators = The X11 subdirectory contains icons and a project logo for use in desktop packaging. Usable deb and RPM specifications have their own subdirectories here. Our package files want to set up a hotplug script to notify gpsd when a potential GPS device goes active and should be polled. The goal is zero configuration; users should never have to tell gpsd how to configure itself. Bluetooth has a requirement to be able to write to the gpsd control socket from a userland device manager. Accordingly, you probably want to set up a gpsd privilege group and make sure the Bluetooth device manager is in it. If you see problems with gpsd being unable to get write access to the USB or RS232 devices on your machine, it may be because after startup, when it drops privileges, it moves itself from root to the wrong group. gpsd normally figures out which group it should move to by looking at the ownership of a prototypical tty (look in gpsd.c for this code) but the owning user and group can be compiled in with build-system options. gpsd-3.9/packaging/rpm/gpsd.init0000664000175000017500000000451011757250541015043 0ustar esresr#!/bin/sh # # gpsd Service daemon for mediating access to a GPS # # chkconfig: - 44 66 # description: gpsd is a service daemon that mediates access to a GPS sensor \ # connected to the host computer by serial or USB interface, \ # making its data on the location/course/velocity of the sensor \ # available to be queried on TCP port 2947 of the host computer. # processname: gpsd # pidfile: /var/run/gpsd.pid # http://fedoraproject.org/wiki/FCNewInit/Initscripts ### BEGIN INIT INFO # Provides: gpsd # Required-Start: network # Required-Stop: network # Should-Start: # Should-Stop: # Default-Start: # Default-Stop: # Short-Description: Service daemon for mediating access to a GPS # Description: gpsd is a service daemon that mediates access to a GPS sensor # connected to the host computer by serial or USB interface, making its # data on the location/course/velocity of the sensor available to be # queried on TCP port 2947 of the host computer. ### END INIT INFO # Source function library. . /etc/rc.d/init.d/functions exec="/usr/sbin/gpsd" prog=$(basename $exec) PIDFILE=/var/run/gpsd.pid CONTROL_SOCKET=/var/run/gpsd.sock [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog lockfile=/var/lock/subsys/$prog start() { [ "$EUID" != "0" ] && exit 4 echo -n $"Starting $prog: " daemon $exec -P $PIDFILE -F $CONTROL_SOCKET $OPTIONS $DEVICE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { [ "$EUID" != "0" ] && exit 4 echo -n $"Stopping $prog: " killproc $prog retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { stop start } case "$1" in start|stop|restart) $1 ;; force-reload) restart ;; status) status $prog ;; try-restart|condrestart) if status $prog >/dev/null ; then restart fi ;; reload) status $prog >/dev/null || exit 7 # If config can be reloaded without restarting, implement it here, # remove the "exit", and add "reload" to the usage message below. action $"Service $prog does not support the reload action: " /bin/false exit 3 ;; *) echo $"Usage: $0 {start|stop|status|restart|try-restart|force-reload}" exit 2 esac gpsd-3.9/packaging/rpm/gpsd.spec.in0000664000175000017500000003706112137765227015453 0ustar esresr%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: gpsd Version: @VERSION@ Release: 1%{?dist} Summary: Service daemon for mediating access to a GPS Group: System Environment/Daemons License: BSD URL: @MAINPAGE@ Source0: @DOWNLOAD@/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: bluez-libs-devel BuildRequires: chrpath BuildRequires: dbus-devel BuildRequires: dbus-glib-devel BuildRequires: desktop-file-utils BuildRequires: gcc-c++ BuildRequires: libXaw-devel BuildRequires: ncurses-devel BuildRequires: python-devel BuildRequires: qt-devel BuildRequires: scons BuildRequires: xmlto %if 0%{?fedora} >= 16 BuildRequires: pps-tools-devel %endif Requires: udev Requires(post): /sbin/ldconfig Requires(post): /sbin/chkconfig Requires(postun): /sbin/ldconfig Requires(preun): initscripts Requires(preun): /sbin/chkconfig %description gpsd is a service daemon that mediates access to a GPS sensor connected to the host computer by serial or USB interface, making its data on the location/course/velocity of the sensor available to be queried on TCP port 2947 of the host computer. With gpsd, multiple GPS client applications (such as navigational and wardriving software) can share access to a GPS without contention or loss of data. Also, gpsd responds to queries with a format that is substantially easier to parse than NMEA 0183. %package devel Summary: Client libraries in C and Python for talking to a running gpsd or GPS Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: pkgconfig %description devel This package provides C header files and python modules for the gpsd shared libraries that manage access to a GPS for applications %package -n libQgpsmm Summary: Qt Client libraries for talking to a running gpsd or GPS Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: qt Requires: pkgconfig %description -n libQgpsmm This package provides Qt shared libraries that manage access to a GPS for Qt applications %package clients Summary: Clients for gpsd Group: Applications/System Requires: clients-x11 = %{version}-%{release} Requires: clients-cli = %{version}-%{release} %package clients-x11 Summary: Clients for gpsd Group: Applications/System Requires: xorg-x11-xinit %package clients-cli Summary: Clients for gpsd Group: Applications/System %package clients-httpd Summary: Clients for gpsd Group: Applications/System Requires: httpd Requires: perl Requires: perl(Net::GPSD3) Requires: perl(GD::Graph::Polar) Requires: perl(CGI) Requires: perl(CGI::Carp) %description clients Installs X11 and Command Line Interface clients. %description clients-x11 xgps is a simple test client for gpsd with an X interface. It displays current GPS position/time/velocity information and (for GPSes that support the feature) the locations of accessible satellites. xgpsspeed is a speedometer that uses position information from the GPS. It accepts an -h option and optional argument as for gps, or a -v option to dump the package version and exit. Additionally, it accepts -rv (reverse video) and -nc (needle color) options. %description clients-cli cgps resembles xgps, but without the pictorial satellite display. It can run on a serial terminal or terminal emulator. %description clients-httpd pgps is a Perl CGI client for gpsd. It displays current GPS position/time/velocity information and (for GPSes that support the feature) the locations of accessible satellites. This package installs the CGI scripts at http://localhost/gpsd/. %prep %setup -q %build #Note: prefix must be set to / since the current scons build only supports relative paths scons %{_smp_mflags} \ prefix=/ \ bindir=%{_bindir} \ includedir=%{_includedir} \ libdir=%{_libdir} \ sbindir=%{_sbindir} \ mandir=%{_mandir} \ docdir=%{_docdir} \ pkgconfigdir=%{_libdir}/pkgconfig scons build %install rm -rf $RPM_BUILD_ROOT export DESTDIR=$RPM_BUILD_ROOT scons install #Apps need man pages! for MAN in gpsprof xgps xgpsspeed gpscat gpxlogger gegps do cp $RPM_BUILD_ROOT%{_mandir}/man1/gps.1 $RPM_BUILD_ROOT%{_mandir}/man1/$MAN.1 done #httpd client %{__install} -d -m 0755 $RPM_BUILD_ROOT%{_var}/www/html/gpsd %{__install} -p -m 0755 packaging/rpm/httpd/skyview.cgi $RPM_BUILD_ROOT%{_var}/www/html/gpsd %{__install} -p -m 0755 packaging/rpm/httpd/pgps.cgi $RPM_BUILD_ROOT%{_var}/www/html/gpsd %{__install} -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d %{__install} -p -m 0644 packaging/rpm/httpd/gpsd.conf $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/gpsd.conf # init scripts %{__install} -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/init.d %{__install} -p -m 0755 packaging/rpm/gpsd.init $RPM_BUILD_ROOT%{_sysconfdir}/init.d/gpsd %{__install} -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig %{__install} -p -m 0644 packaging/rpm/gpsd.sysconfig $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/gpsd # udev rules %{__install} -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d %{__install} -p -m 0644 gpsd.rules $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d/99-gpsd.rules # hotplug script #%{__install} -d -m 0755 $RPM_BUILD_ROOT/lib/udev #%{__install} -p -m 0755 gpsd.hotplug gpsd.hotplug.wrapper $RPM_BUILD_ROOT/lib/udev # remove .la files #rm -f $RPM_BUILD_ROOT%{_libdir}/libgps*.la # fix non-executable python script #%{__chmod} +x $RPM_BUILD_ROOT%{python_sitearch}/gps/gps.py # Install the .desktop files desktop-file-install --vendor fedora \ --dir $RPM_BUILD_ROOT%{_datadir}/applications \ --add-category X-Fedora \ packaging/X11/xgps.desktop desktop-file-install --vendor fedora \ --dir $RPM_BUILD_ROOT%{_datadir}/applications \ --add-category X-Fedora \ packaging/X11/xgpsspeed.desktop # Install logo icon for .desktop files %{__install} -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/gpsd %{__install} -p -m 0644 packaging/X11/gpsd-logo.png $RPM_BUILD_ROOT%{_datadir}/gpsd/gpsd-logo.png %clean rm -rf $RPM_BUILD_ROOT %post /sbin/ldconfig /sbin/chkconfig --add %{name} %preun if [ $1 = 0 ]; then /sbin/service %{name} stop > /dev/null 2>&1 || true /sbin/chkconfig --del %{name} fi %postun /sbin/ldconfig %files %defattr(-,root,root,-) %doc README INSTALL COPYING %config(noreplace) %{_sysconfdir}/init.d/%{name} %config(noreplace) %{_sysconfdir}/sysconfig/%{name} %config(noreplace) %{_sysconfdir}/udev/rules.d/* %{_sbindir}/gpsd %{_sbindir}/gpsdctl %{_bindir}/gpsprof %{_bindir}/gpsmon %{_bindir}/gpsctl %{_bindir}/gegps %{_libdir}/libgps*.so.* #/lib/udev/gpsd* %{python_sitearch}/gps* %{_mandir}/man8/gpsd.8* %{_mandir}/man8/gpsdctl.8* %{_mandir}/man8/gpsinit.8.* %{_mandir}/man1/gpsprof.1* %{_mandir}/man1/gpsmon.1* %{_mandir}/man1/gegps.1* %{_mandir}/man1/gpsctl.1* %{_mandir}/man5/gpsd_json.5* %files devel %defattr(-,root,root,-) %doc TODO %{_bindir}/gpsfake %{_libdir}/libgps*.so %{_libdir}/pkgconfig/*.pc %{python_sitearch}/gps/fake* %{_includedir}/gps.h %{_includedir}/libgpsmm.h #%{_includedir}/gpsd.h %{_mandir}/man1/gpsfake.1* %{_mandir}/man3/libgps.3* %{_mandir}/man3/libgpsmm.3* %{_mandir}/man3/libgpsd.3* %{_mandir}/man5/srec.5* %files -n libQgpsmm %defattr(-,root,root,-) %{_qt4_libdir}/libQgpsmm.so* %{_qt4_libdir}/libQgpsmm.prl %{_mandir}/man3/libQgpsmm.3* %files clients %defattr(-,root,root,-) %{_mandir}/man1/gps.1* %files clients-x11 %defattr(-,root,root,-) %{_bindir}/xgps %{_bindir}/xgpsspeed %{_mandir}/man1/xgps.1* %{_mandir}/man1/xgpsspeed.1* %{_datadir}/applications/*.desktop %dir %{_datadir}/gpsd %{_datadir}/gpsd/gpsd-logo.png %files clients-cli %defattr(-,root,root,-) %{_bindir}/cgps %{_bindir}/gpscat %{_bindir}/gpsdecode %{_bindir}/gpspipe %{_bindir}/gpxlogger %{_bindir}/lcdgps %{_mandir}/man1/cgps.1* %{_mandir}/man1/gpscat.1* %{_mandir}/man1/gpsdecode.1* %{_mandir}/man1/gpspipe.1* %{_mandir}/man1/lcdgps.1* %{_mandir}/man1/gpxlogger.1* %files clients-httpd %defattr(-,root,root,-) %config(noreplace) %{_sysconfdir}/httpd/conf.d/gpsd.conf %dir %{_var}/www/html/gpsd/ %attr(0755,root,root) %{_var}/www/html/gpsd/skyview.cgi %attr(0755,root,root) %{_var}/www/html/gpsd/pgps.cgi %changelog * Sun Jul 31 2011 Michael R. Davis 3.0-2 - Added gegps, gpsdctl - Dropped hotplug wrapper - Removed tabs to pass rpmlint tests - Updated scons install paths - Updated scons build paths * Sat Jun 25 2011 Eric S. Raymond 3.0-2 - Minor changes from the refactoring of the hotplug system. * Fri May 13 2011 Michael R. Davis 3.0-1 - Added httpd Perl client package - Separated x11 and cli packages * Mon Apr 18 2011 Michael R. Davis 3.0-1 - Updates to support SCons software construction tool - Added httpd Perl client - macro _buildrootdir does not exist in EPEL 4 & 5 * Mon Jul 05 2010 Michael R. Davis - 2.95-3 - Updated to move rpm files to packaging/rpm folder - Renamed gpsd-qt to libQgpsmm * Sun Jul 04 2010 Michael R. Davis - 2.95-2 - missing X11/app-defaults/xgpsspeed * Sat Jul 03 2010 Michael R. Davis - 2.95-1 - back ported spec to gpsd from Fedora 14 - updated to 2.95 - added gpsd-qt package * Thu May 06 2010 Miroslav Lichvar - 2.94-1 - update to 2.94 (#556642) * Tue Mar 02 2010 Miroslav Lichvar - 2.39-7 - don't use deprecated SYSFS{} in udev rules (#569089) - fix init script LSB compliance * Mon Feb 15 2010 Miroslav Lichvar - 2.39-6 - fix linking with --no-add-needed (#564662) - use %%global macro instead of %%define * Wed Aug 12 2009 Marek Mahut - 2.39-5 - RHBZ#505588: gpsd has a broken initscript that fails to launch daemon * Fri Jul 24 2009 Fedora Release Engineering - 2.39-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Tue Mar 31 2009 Tom "spot" Callaway - 2.39-3 - some of the gpsd client bits went into gpsdclient.h, but that file wasn't getting installed - specifically, viking needs that header to build. * Wed Mar 25 2009 Douglas E. Warner - 2.39-2 - adding patch to try to fix parallel make errors * Thu Mar 19 2009 Douglas E. Warner - 2.39-1 - updating to 2.39 - fixed potential core dump in C client handling of "K" responses - Made device hotplugging work again; had been broken by changes in udev - Introduced major and minor API version symbols into the public interfaces - The sirfmon utility is gone, replaced by gpsmon which does the same job for multiple GPS types - Fixed a two-year old error in NMEA parsing that nobody noticed because its only effect was to trash VDOP values from GSA sentences, and gpsd computes those with an internal error model when they look wonky - cgpxlogger has been merged into gpxlogger - Speed-setting commands now allow parity and stop-bit setting if the GPS chipset and adaptor can support it - Specfile and other packaging paraphenalia now live in a packaging subdirectory - rtcmdecode becomes gpsdecode and can now de-armor and dump AIDVM packets - The client library now work correctly in locales where the decimal separator is not a period * Mon Mar 16 2009 Douglas E. Warner - 2.38-1 - updating to 2.38 - creating init script and sysconfig files - migrating hotplug rules to udev + hotplug wrapper script from svn r5147 - updating pyexecdir patch - fixing udev rule subsystem match - Regression test load for RoyalTek RGM3800 and Blumax GPS-009 added - Scaling on E error-estimate fields fixed to match O - Listen on localhost only by default to avoid security problems; this can be overridden with the -G command-line option - The packet-state machine can now recognize RTCM3 packets, though support is not yet complete - Added support for ublox5 and mkt-3301 devices - Add a wrapper around gpsd_hexdump to save CPU - Lots of little fixes to various packet parsers - Always keep the device open: "-n" is not optional any more - xgpsspeed no longer depends on Motif - gpsctl can now ship arbitrary payloads to a device; It's possible to send binary through the control channel with the new "&" command - Experimental new driver for Novatel SuperStarII - The 'g' mode switch command now requires, and returns, 'rtcm104v2' rather than 'rtcm104'; this is design forward for when RTCM104v2 is fully working * Tue Feb 24 2009 Fedora Release Engineering - 2.37-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Sat Nov 29 2008 Ignacio Vazquez-Abrams - 2.37-3 - Rebuild for Python 2.6 * Wed Mar 19 2008 Douglas E. Warner - 2.37-2 - moving gpspacket.so python lib to main package * Wed Feb 27 2008 Douglas E. Warner - 2.37-1 - update to 2.37 - removed install-gpsd_config.h.patch - installed pkgconfig files in devel package - added patch to install python modules in sitearch - removing rpath from inclucded libtool - moving X11 app-defaults to datadir - using macros for commands in install; using install instead of cp and mkdir - cleaning up spaces/tabs for rpmlint * Tue Feb 19 2008 Fedora Release Engineering - 2.34-9 - Autorebuild for GCC 4.3 * Sun Aug 19 2007 Matthew Truch - 2.34-8 - Patch Makefile to also install gpsd_config.h as needed by libgpsmm.h. Redhat BZ 253433. * Sat Jun 30 2007 Matthew Truch - 2.34-7 - Make sure the logo is actually included (via the spec file). I need to wake up before I try even trivial updates. * Sat Jun 30 2007 Matthew Truch - 2.34-6 - Learn how to use search and replace (aka fix all instances of gpsd-logo.png spelled incorrectly as gspd-logo.png). * Sat Jun 30 2007 Matthew Truch - 2.34-5 - Fix desktop file and logo file name. * Sat Jun 30 2007 Matthew Truch - 2.34-4 - Include icon for .desktop files per BZ 241428 * Tue Mar 20 2007 Michael Schwendt - 2.34-3 - Bump release for FE5 -> Fedora 7 upgrade path. * Tue Feb 27 2007 Matthew Truch - 2.34-2 - BR python-devel instead of python to make it build. * Tue Feb 27 2007 Matthew Truch - 2.34-1 - Upgrade to 2.34. - Get rid of %%makeinstall (which was never needed). - Possibly fix hotplug issuses (BZ 219750). - Use %%python_sitelib for python site-files stuff. * Sat Dec 9 2006 Matthew Truch - 2.33-6 - Rebuild to pull in new version of python. * Tue Sep 26 2006 Matthew Truch - 2.33-5 - Remove openmotif requirment, and switch to lesstif. * Mon Aug 28 2006 Matthew Truch - 2.33-4 - Bump release for rebuild in prep. for FC6. * Thu Jul 20 2006 Matthew Truch - 2.33-3 - Actually, was a missing BR glib-dbus-devel. Ooops. * Thu Jul 20 2006 Matthew Truch - 2.33-2 - Missing BR glib-devel * Thu Jul 20 2006 Matthew Truch - 2.33-1 - Update to version 2.33 * Wed Apr 19 2006 Matthew Truch - 2.32-5 - Don't --enable-tnt in build as it causes some gpses to not work properly with sattelite view mode. See bugzilla bug 189220. * Thu Apr 13 2006 Matthew Truch - 2.32-4 - Add dbus-glib to BuildRequires as needed for build. * Sun Apr 9 2006 Matthew Truch - 2.32-3 - Include xmlto and python in buildrequires so things build right. - Don't package static library file. * Wed Apr 5 2006 Matthew Truch - 2.32-2 - Use ye olde %%{?dist} tag. * Wed Apr 5 2006 Matthew Truch - 2.32-1 - Initial Fedora Extras specfile gpsd-3.9/packaging/rpm/gpsd.sysconfig0000664000175000017500000000006211757250541016102 0ustar esresrOPTIONS="-n" DEVICE="/dev/ttyUSB0" USBAUTO="true" gpsd-3.9/packaging/rpm/httpd/gpsd.conf0000664000175000017500000000026211762140436016145 0ustar esresr DirectoryIndex index.cgi AddHandler cgi-script .cgi AllowOverride None Order Allow,Deny Allow from all Options +ExecCGI gpsd-3.9/packaging/rpm/httpd/pgps.cgi0000775000175000017500000001046011762140436016002 0ustar esresr#!/usr/bin/perl use strict; use warnings; use CGI qw{}; use CGI::Carp qw(fatalsToBrowser); use Net::GPSD3 0.14; =head1 NAME pgps.cgi - Builds a Satellite List and displays GPS data from a POLL request to a GPSD server =head1 COPYRIGHT Copyright (c) 2011 - Michael R. Davis This program is free software licensed under The BSD License. =cut my $cgi=CGI->new; my $host=$cgi->param("host") || undef; my $port=$cgi->param("port") || undef; my $gpsd=Net::GPSD3->new(host=>$host, port=>$port); my $poll=$gpsd->poll; my @param=(); push @param, "host=".$host if defined $host; push @param, "port=".$port if defined $port; my $img=join("?", "skyview.cgi", scalar(@param) ? join(";", @param) : ()); my $content=join "", $cgi->start_html(-title=>"Perl GPSD CGI"), $cgi->table({border=>0, width=>"100%", style=>"BORDER-COLLAPSE: collapse"}, $cgi->Tr( $cgi->td({width=>"30%", valign=>"top"},"Satellite List", $cgi->table({border=>2, width=>"100%", style=>"BORDER-COLLAPSE: collapse"}, $cgi->Tr( $cgi->td([qw{PRN Elev Azim SNR Used}]), ), map { $cgi->Tr([ $cgi->td([$_->prn, $_->el, $_->az, $_->ss, $_->used ? "Y" : "N"])]) } sort {$b->used <=> $a->used or $b->ss <=> $a->ss} $poll->sky->Satellites ), ), $cgi->td({valign=>"top"}, "Skyview", $cgi->table({border=>2, style=>"BORDER-COLLAPSE: collapse"}, $cgi->Tr( $cgi->td( $cgi->img({-src=>$img}), ), ), ), ), ), $cgi->Tr( $cgi->td({-colspan=>2, valign=>"top"}, "GPS data", $cgi->table({border=>2, width=>"100%", style=>"BORDER-COLLAPSE: collapse"}, $cgi->Tr( $cgi->td({align=>"right", width=>"25%"}, "Time:"), $cgi->td({width=>"25%"}, $poll->tpv->timestamp), $cgi->td({align=>"right", width=>"25%"}, "Status:"), $cgi->td({width=>"25%"}, $poll->tpv->mode), ), $cgi->Tr( $cgi->td({align=>"right"}, "Latitude:"), $cgi->td($poll->tpv->lat), $cgi->td({align=>"right"}, "EPX:"), $cgi->td($poll->tpv->epx), ), $cgi->Tr( $cgi->td({align=>"right"}, "Longitude:"), $cgi->td($poll->tpv->lon), $cgi->td({align=>"right"}, "EPY:"), $cgi->td($poll->tpv->epy), ), $cgi->Tr( $cgi->td({align=>"right"}, "Altitude:"), $cgi->td($poll->tpv->alt), $cgi->td({align=>"right"}, "EPV:"), $cgi->td($poll->tpv->epv), ), $cgi->Tr( $cgi->td({align=>"right"}, "Speed:"), $cgi->td($poll->tpv->speed), $cgi->td({align=>"right"}, "EPS:"), $cgi->td($poll->tpv->eps), ), $cgi->Tr( $cgi->td({align=>"right"}, "Climb:"), $cgi->td($poll->tpv->climb), $cgi->td({align=>"right"}, "EPC:"), $cgi->td($poll->tpv->epc), ), $cgi->Tr( $cgi->td({align=>"right"}, "Track:"), $cgi->td($poll->tpv->track), $cgi->td({align=>"right"}, "EPD:"), $cgi->td($poll->tpv->epd), ), ), ), ), ), $cgi->p({align=>"center"}, "Copyright © 2011 - Michael R. Davis, License: BSD"), $cgi->end_html, "\n"; print join "", $cgi->header( -content_length => length($content), -expires => '+5m', -Refresh => '30', #seconds ), $content; gpsd-3.9/packaging/rpm/httpd/skyview.cgi0000775000175000017500000000252711762140436016537 0ustar esresr#!/usr/bin/perl use warnings; use strict; use GD::Graph::Polar; use Net::GPSD3 0.14; use CGI; =head1 NAME skyview.cgi - Builds a Skyview PNG image from a POLL request to a GPSD server =head1 COPYRIGHT Copyright (c) 2011 - Michael R. Davis This program is free software licensed under The BSD License. =cut my $cgi=CGI->new; my $host=$cgi->param("host") || undef; my $port=$cgi->param("port") || undef; my $gpsd=Net::GPSD3->new(host=>$host, port=>$port); my $size=$cgi->param("size") || 380; my $gd=GD::Graph::Polar->new(size=>$size, radius=>90, border=>3, ticks=>9); my $poll; eval '$poll=$gpsd->poll'; my $error=$@; if ($error) { chomp $error; $gd->color([248,8,8]); #red $gd->addString(127=>134.5, $error); } else { foreach my $sat ($poll->sky->Satellites) { if ($sat->ss > 34) { $gd->color([16,240,16]); #green } elsif ($sat->ss >= 30) { $gd->color([240,240,16]); #yellow } elsif ($sat->ss >= 10) { $gd->color([240,16,16]); #red } else { $gd->color([128,128,128]); #gray } $gd->addGeoPoint(90-$sat->el => $sat->az); $gd->color([16,16,16]); $gd->addGeoString(90-$sat->el => $sat->az, $sat->prn); } } $gd->color([210,210,210]); #gray $gd->addGeoString(122 => 227.0, "Copyright (c) 2011 Michael R. Davis"); print "Content-type: image/png\n\n", $gd->draw; gpsd-3.9/packaging/tinfo.pc0000664000175000017500000000035111762140436014062 0ustar esresrprefix=/usr exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include major_version=5 version=5.9.20110404 Name: tinfo Description: ncurses 5.9 add-on library Version: ${version} Requires: Libs: -ltinfo Cflags: gpsd-3.9/packet.c0000664000175000017500000016476012135741440012122 0ustar esresr/**************************************************************************** NAME: packet.c -- a packet-sniffing engine for reading from GPS devices DESCRIPTION: Initial conditions of the problem: 1. We have a file descriptor open for (possibly non-blocking) read. The device on the other end is sending packets at us. 2. It may require more than one read to gather a packet. Reads may span packet boundaries. 3. There may be leading garbage before the first packet. After the first start-of-packet, the input should be well-formed. The problem: how do we recognize which kind of packet we're getting? No need to handle Garmin USB binary, we know that type by the fact we're connected to the Garmin kernel driver. But we need to be able to tell the others apart and distinguish them from baud barf. PERMISSIONS This file is Copyright (c) 2010 by the GPSD project BSD terms apply: see the file COPYING in the distribution root for details. ***************************************************************************/ #include #include #include #include #include #include #ifndef S_SPLINT_S #include #include /* for htons() */ #include #endif /* S_SPLINT_S */ #include "bits.h" #include "gpsd.h" #include "crc24q.h" /* * The packet-recognition state machine. This takes an incoming byte stream * and tries to segment it into packets. There are three types of packets: * * 1) Comments. These begin with # and end with \r\n. * * 2) NMEA lines. These begin with $, and with \r\n, and have a checksum. * * 3) Checksummed binary packets. These begin with some fixed leader * character(s), have a length embedded in them, and end with a * checksum (and possibly some fixed trailing bytes). * * 4) ISGPS packets. The input may be a bitstream containing IS-GPS-200 * packets. Each includes a fixed leader byte, a length, and check bits. * In this case, it is not guaranted that packet starts begin on byte * bounaries; the recognizer has to run a separate state machine against * each byte just to achieve synchronization lock with the bitstream. * * 5) Un-checksummed binary packets. Like case 3, but without * a checksum it's much easier to get a false match from garbage. * The packet recognizer gives checksummed types higher priority. * * Adding support for a new GPS protocol typically reqires adding state * transitions to support whatever binary packet structure it has. The * goal is for the lexer to be able to cope with arbitrarily mixed packet * types on the input stream. This is a requirement because (1) sometimes * gpsd wants to switch a device that supports both NMEA and a binary * packet protocol to the latter for more detailed reporting, and (b) in * the presence of device hotplugging, the type of GPS report coming * in is subject to change at any time. * * Caller should consume a packet when it sees one of the *_RECOGNIZED * states. It's good practice to follow the _RECOGNIZED transition * with one that recognizes a leader of the same packet type rather * than dropping back to ground state -- this for example will prevent * the state machine from hopping between recognizing TSIP and * EverMore packets that both start with a DLE. * * Error handling is brutally simple; any time we see an unexpected * character, go to GROUND_STATE and reset the machine (except that a * $ in an NMEA payload only resets back to NMEA_DOLLAR state). Because * another good packet will usually be along in less than a second * repeating the same data, Boyer-Moore-like attempts to do parallel * recognition beyond the headers would make no sense in this * application, they'd just add complexity. * * The NMEA portion of the state machine allows the following talker IDs: * GP -- Global Positioning System. * GL -- GLONASS, according to IEIC 61162-1 * GN -- Mixed GPS and GLONASS data, according to IEIC 61162-1 * II -- Integrated Instrumentation (Raytheon's SeaTalk system). * IN -- Integrated Navigation (Garmin uses this). * WI -- Weather instrument (Airmar PB200, Radio Ocean ROWIND, Vaisala WXT520). * HC -- Heading/compass (Airmar PB200). * TI -- Turn indicator (Airmar PB200). * EC -- Electronic Chart Display & Information System (ECDIS) * SD -- Depth Sounder * P -- Vendor-specific sentence * */ enum { #include "packet_states.h" }; #define SOH (unsigned char)0x01 #define DLE (unsigned char)0x10 #define STX (unsigned char)0x02 #define ETX (unsigned char)0x03 #ifdef ONCORE_ENABLE static size_t oncore_payload_cksum_length(unsigned char id1, unsigned char id2) { size_t l; /* For the packet sniffer to not terminate the message due to * payload data looking like a trailer, the known payload lengths * including the checksum are given. Return -1 for unknown IDs. */ #define ONCTYPE(id2,id3) ((((unsigned int)id2)<<8)|(id3)) /* *INDENT-OFF* */ switch (ONCTYPE(id1,id2)) { case ONCTYPE('A','b'): l = 10; break; /* GMT offset */ case ONCTYPE('A','w'): l = 8; break; /* time mode */ case ONCTYPE('A','c'): l = 11; break; /* date */ case ONCTYPE('A','a'): l = 10; break; /* time of day */ case ONCTYPE('A','d'): l = 11; break; /* latitude */ case ONCTYPE('A','e'): l = 11; break; /* longitude */ case ONCTYPE('A','f'): l = 15; break; /* height */ case ONCTYPE('E','a'): l = 76; break; /* position/status/data */ case ONCTYPE('A','g'): l = 8; break; /* satellite mask angle */ case ONCTYPE('B','b'): l = 92; break; /* visible satellites status */ case ONCTYPE('B','j'): l = 8; break; /* leap seconds pending */ case ONCTYPE('A','q'): l = 8; break; /* atmospheric correction mode */ case ONCTYPE('A','p'): l = 25; break; /* set user datum / select datum */ /* Command "Ao" gives "Ap" response (select datum) */ case ONCTYPE('C','h'): l = 9; break; /* almanac input ("Cb" response) */ case ONCTYPE('C','b'): l = 33; break; /* almanac output ("Be" response) */ case ONCTYPE('S','z'): l = 8; break; /* system power-on failure */ case ONCTYPE('C','j'): l = 294; break; /* receiver ID */ case ONCTYPE('F','a'): l = 9; break; /* self-test */ case ONCTYPE('C','f'): l = 7; break; /* set-to-defaults */ case ONCTYPE('E','q'): l = 96; break; /* ASCII position */ case ONCTYPE('A','u'): l = 12; break; /* altitide hold height */ case ONCTYPE('A','v'): l = 8; break; /* altitude hold mode */ case ONCTYPE('A','N'): l = 8; break; /* velocity filter */ case ONCTYPE('A','O'): l = 8; break; /* RTCM report mode */ case ONCTYPE('C','c'): l = 80; break; /* ephemeris data input ("Bf") */ case ONCTYPE('C','k'): l = 7; break; /* pseudorng correction inp. ("Ce")*/ /* Command "Ci" (switch to NMEA, GT versions only) has no response */ case ONCTYPE('B','o'): l = 8; break; /* UTC offset status */ case ONCTYPE('A','z'): l = 11; break; /* 1PPS cable delay */ case ONCTYPE('A','y'): l = 11; break; /* 1PPS offset */ case ONCTYPE('A','P'): l = 8; break; /* pulse mode */ case ONCTYPE('A','s'): l = 20; break; /* position-hold position */ case ONCTYPE('A','t'): l = 8; break; /* position-hold mode */ case ONCTYPE('E','n'): l = 69; break; /* time RAIM setup and status */ default: return 0; } /* *INDENT-ON* */ return l - 6; /* Subtract header and trailer. */ } #endif /* ONCORE_ENABLE */ static void character_pushback(struct gps_packet_t *lexer) /* push back the last character grabbed */ { /*@-modobserver@*//* looks like a splint bug */ --lexer->inbufptr; /*@+modobserver@*/ --lexer->char_counter; gpsd_report(LOG_RAW + 2, "%08ld: character pushed back\n", lexer->char_counter); } static void nextstate(struct gps_packet_t *lexer, unsigned char c) { static int n = 0; #ifdef RTCM104V2_ENABLE enum isgpsstat_t isgpsstat; #endif /* RTCM104V2_ENABLE */ #ifdef SUPERSTAR2_ENABLE static unsigned char ctmp; #endif /* SUPERSTAR2_ENABLE */ /*@ +charint -casebreak @*/ n++; switch (lexer->state) { case GROUND_STATE: n = 0; if (c == '#') { lexer->state = COMMENT_BODY; break; } #ifdef NMEA_ENABLE if (c == '$') { lexer->state = NMEA_DOLLAR; break; } if (c == '!') { lexer->state = NMEA_BANG; break; } #endif /* NMEA_ENABLE */ #if defined(TNT_ENABLE) || defined(GARMINTXT_ENABLE) || defined(ONCORE_ENABLE) if (c == '@') { lexer->state = AT1_LEADER; break; } #endif #ifdef SIRF_ENABLE if (c == 0xa0) { lexer->state = SIRF_LEADER_1; break; } #endif /* SIRF_ENABLE */ #ifdef SUPERSTAR2_ENABLE if (c == SOH) { lexer->state = SUPERSTAR2_LEADER; break; } #endif /* SUPERSTAR2_ENABLE */ #if defined(TSIP_ENABLE) || defined(EVERMORE_ENABLE) || defined(GARMIN_ENABLE) if (c == DLE) { lexer->state = DLE_LEADER; break; } #endif /* TSIP_ENABLE || EVERMORE_ENABLE || GARMIN_ENABLE */ #ifdef TRIPMATE_ENABLE if (c == 'A') { #ifdef RTCM104V2_ENABLE if (rtcm2_decode(lexer, c) == ISGPS_MESSAGE) { lexer->state = RTCM2_RECOGNIZED; break; } #endif /* RTCM104V2_ENABLE */ lexer->state = ASTRAL_1; break; } #endif /* TRIPMATE_ENABLE */ #ifdef EARTHMATE_ENABLE if (c == 'E') { #ifdef RTCM104V2_ENABLE if (rtcm2_decode(lexer, c) == ISGPS_MESSAGE) { lexer->state = RTCM2_RECOGNIZED; break; } #endif /* RTCM104V2_ENABLE */ lexer->state = EARTHA_1; break; } #endif /* EARTHMATE_ENABLE */ #ifdef ZODIAC_ENABLE if (c == 0xff) { lexer->state = ZODIAC_LEADER_1; break; } #endif /* ZODIAC_ENABLE */ #ifdef UBX_ENABLE if (c == 0xb5) { lexer->state = UBX_LEADER_1; break; } #endif /* UBX_ENABLE */ #ifdef ITRAX_ENABLE if (c == '<') { lexer->state = ITALK_LEADER_1; break; } #endif /* ITRAX_ENABLE */ #ifdef NAVCOM_ENABLE if (c == 0x02) { lexer->state = NAVCOM_LEADER_1; break; } #endif /* NAVCOM_ENABLE */ #ifdef GEOSTAR_ENABLE if (c == 'P') { lexer->state = GEOSTAR_LEADER_1; break; } #endif /* GEOSTAR_ENABLE */ #ifdef RTCM104V2_ENABLE if ((isgpsstat = rtcm2_decode(lexer, c)) == ISGPS_SYNC) { lexer->state = RTCM2_SYNC_STATE; break; } else if (isgpsstat == ISGPS_MESSAGE) { lexer->state = RTCM2_RECOGNIZED; break; } #endif /* RTCM104V2_ENABLE */ #ifdef RTCM104V3_ENABLE if (c == 0xD3) { lexer->state = RTCM3_LEADER_1; break; } #endif /* RTCM104V3_ENABLE */ #ifdef PASSTHROUGH_ENABLE if (c == '{') { lexer->state = JSON_LEADER; character_pushback(lexer); } #endif /* PASSTHROUGH_ENABLE */ break; case COMMENT_BODY: if (c == '\n') lexer->state = COMMENT_RECOGNIZED; else if (!isprint(c)) { lexer->state = GROUND_STATE; character_pushback(lexer); } break; #ifdef NMEA_ENABLE case NMEA_DOLLAR: if (c == 'G') lexer->state = NMEA_PUB_LEAD; else if (c == 'P') /* vendor sentence */ lexer->state = NMEA_VENDOR_LEAD; else if (c == 'I') /* Seatalk */ lexer->state = SEATALK_LEAD_1; else if (c == 'W') /* Weather instrument */ lexer->state = WEATHER_LEAD_1; else if (c == 'H') /* Heading/compass */ lexer->state = HEADCOMP_LEAD_1; else if (c == 'T') /* Turn indicator */ lexer->state = TURN_LEAD_1; else if (c == 'A') /* SiRF Ack */ lexer->state = SIRF_ACK_LEAD_1; else if (c == 'E') /* ECDIS */ lexer->state = ECDIS_LEAD_1; else if (c == 'S') lexer->state = SOUNDER_LEAD_1; #ifdef OCEANSERVER_ENABLE else if (c == 'C') lexer->state = NMEA_LEADER_END; #endif /* OCEANSERVER_ENABLE */ else lexer->state = GROUND_STATE; break; case NMEA_PUB_LEAD: /* * $GP == GPS, $GL = GLONASS only, $GN = mixed GPS and GLONASS, * according to NMEA (IEIC 61162-1) DRAFT 02/06/2009. */ if (c == 'P' || c == 'N' || c == 'L') lexer->state = NMEA_LEADER_END; else lexer->state = GROUND_STATE; break; case NMEA_VENDOR_LEAD: if (c == 'A') lexer->state = NMEA_PASHR_A; else if (isalpha(c)) lexer->state = NMEA_LEADER_END; else lexer->state = GROUND_STATE; break; /* * Without the following six states, DLE in a $PASHR can fool the * sniffer into thinking it sees a TSIP packet. Hilarity ensues. */ case NMEA_PASHR_A: if (c == 'S') lexer->state = NMEA_PASHR_S; else if (isalpha(c)) lexer->state = NMEA_LEADER_END; else lexer->state = GROUND_STATE; break; case NMEA_PASHR_S: if (c == 'H') lexer->state = NMEA_PASHR_H; else if (isalpha(c)) lexer->state = NMEA_LEADER_END; else lexer->state = GROUND_STATE; break; case NMEA_PASHR_H: if (c == 'R') lexer->state = NMEA_BINARY_BODY; else if (isalpha(c)) lexer->state = NMEA_LEADER_END; else lexer->state = GROUND_STATE; break; case NMEA_BINARY_BODY: if (c == '\r') lexer->state = NMEA_BINARY_CR; break; case NMEA_BINARY_CR: if (c == '\n') lexer->state = NMEA_BINARY_NL; else lexer->state = NMEA_BINARY_BODY; break; case NMEA_BINARY_NL: if (c == '$') { character_pushback(lexer); lexer->state = NMEA_RECOGNIZED; } else lexer->state = NMEA_BINARY_BODY; break; case NMEA_BANG: if (c == 'A') lexer->state = AIS_LEAD_1; else if (c == 'B') lexer->state = AIS_LEAD_ALT1; else lexer->state = GROUND_STATE; break; case AIS_LEAD_1: if (c == 'I') lexer->state = AIS_LEAD_2; else lexer->state = GROUND_STATE; break; case AIS_LEAD_2: if (isalpha(c)) lexer->state = NMEA_LEADER_END; else lexer->state = GROUND_STATE; break; case AIS_LEAD_ALT1: if (c == 'S') lexer->state = AIS_LEAD_ALT2; else lexer->state = GROUND_STATE; break; case AIS_LEAD_ALT2: if (isalpha(c)) lexer->state = NMEA_LEADER_END; else lexer->state = GROUND_STATE; break; #if defined(TNT_ENABLE) || defined(GARMINTXT_ENABLE) || defined(ONCORE_ENABLE) case AT1_LEADER: switch (c) { #ifdef ONCORE_ENABLE case '@': lexer->state = ONCORE_AT2; break; #endif /* ONCORE_ENABLE */ #ifdef TNT_ENABLE case '*': /* * TNT has similar structure to NMEA packet, '*' before * optional checksum ends the packet. Since '*' cannot be * received from GARMIN working in TEXT mode, use this * difference to tell that this is not GARMIN TEXT packet, * could be TNT. */ lexer->state = NMEA_LEADER_END; break; #endif /* TNT_ENABLE */ #if defined(GARMINTXT_ENABLE) case '\r': /* stay in this state, next character should be '\n' */ /* in the theory we can stop search here and don't wait for '\n' */ lexer->state = AT1_LEADER; break; case '\n': /* end of packet found */ lexer->state = GTXT_RECOGNIZED; break; #endif /* GARMINTXT_ENABLE */ default: if (!isprint(c)) lexer->state = GROUND_STATE; } break; #endif /* defined(TNT_ENABLE) || defined(GARMINTXT_ENABLE) || defined(ONCORE_ENABLE) */ case NMEA_LEADER_END: if (c == '\r') lexer->state = NMEA_CR; else if (c == '\n') /* not strictly correct, but helps for interpreting logfiles */ lexer->state = NMEA_RECOGNIZED; else if (c == '$'){ lexer->state = GROUND_STATE; character_pushback(lexer); } else if (!isprint(c)) lexer->state = GROUND_STATE; break; case NMEA_CR: if (c == '\n') lexer->state = NMEA_RECOGNIZED; /* * There's a GPS called a Jackson Labs Firefly-1a that emits \r\r\n * at the end of each sentence. Don't be confused by this. */ else if (c == '\r') lexer->state = NMEA_CR; else lexer->state = GROUND_STATE; break; case NMEA_RECOGNIZED: if (c == '#') lexer->state = COMMENT_BODY; else if (c == '$') lexer->state = NMEA_DOLLAR; else if (c == '!') lexer->state = NMEA_BANG; #ifdef UBX_ENABLE else if (c == 0xb5) /* LEA-5H can and will output NMEA and UBX back to back */ lexer->state = UBX_LEADER_1; #endif else lexer->state = GROUND_STATE; break; case SEATALK_LEAD_1: if (c == 'I' || c == 'N') /* II or IN are accepted */ lexer->state = NMEA_LEADER_END; else lexer->state = GROUND_STATE; break; case WEATHER_LEAD_1: if (c == 'I') /* Weather instrument leader accepted */ lexer->state = NMEA_LEADER_END; else lexer->state = GROUND_STATE; break; case HEADCOMP_LEAD_1: if (c == 'C') /* Heading/compass leader accepted */ lexer->state = NMEA_LEADER_END; else lexer->state = GROUND_STATE; break; case TURN_LEAD_1: if (c == 'I') /* Turn indicator leader accepted */ lexer->state = NMEA_LEADER_END; else lexer->state = GROUND_STATE; break; case ECDIS_LEAD_1: if (c == 'C') /* ECDIS leader accepted */ lexer->state = NMEA_LEADER_END; else lexer->state = GROUND_STATE; break; case SOUNDER_LEAD_1: if (c == 'D') /* Depth-sounder leader accepted */ lexer->state = NMEA_LEADER_END; else lexer->state = GROUND_STATE; break; #ifdef TRIPMATE_ENABLE case ASTRAL_1: if (c == 'S') { #ifdef RTCM104V2_ENABLE if ((isgpsstat = rtcm2_decode(lexer, c)) == ISGPS_SYNC) { lexer->state = RTCM2_SYNC_STATE; break; } else if (isgpsstat == ISGPS_MESSAGE) { lexer->state = RTCM2_RECOGNIZED; break; } #endif /* RTCM104V2_ENABLE */ lexer->state = ASTRAL_2; } else lexer->state = GROUND_STATE; break; case ASTRAL_2: if (c == 'T') { #ifdef RTCM104V2_ENABLE if ((isgpsstat = rtcm2_decode(lexer, c)) == ISGPS_SYNC) { lexer->state = RTCM2_SYNC_STATE; break; } else if (isgpsstat == ISGPS_MESSAGE) { lexer->state = RTCM2_RECOGNIZED; break; } #endif /* RTCM104V2_ENABLE */ lexer->state = ASTRAL_3; } else lexer->state = GROUND_STATE; break; case ASTRAL_3: if (c == 'R') { #ifdef RTCM104V2_ENABLE if ((isgpsstat = rtcm2_decode(lexer, c)) == ISGPS_SYNC) { lexer->state = RTCM2_SYNC_STATE; break; } else if (isgpsstat == ISGPS_MESSAGE) { lexer->state = RTCM2_RECOGNIZED; break; } #endif /* RTCM104V2_ENABLE */ lexer->state = ASTRAL_5; } else lexer->state = GROUND_STATE; break; case ASTRAL_4: if (c == 'A') { #ifdef RTCM104V2_ENABLE if ((isgpsstat = rtcm2_decode(lexer, c)) == ISGPS_SYNC) { lexer->state = RTCM2_SYNC_STATE; break; } else if (isgpsstat == ISGPS_MESSAGE) { lexer->state = RTCM2_RECOGNIZED; break; } #endif /* RTCM104V2_ENABLE */ lexer->state = ASTRAL_2; } else lexer->state = GROUND_STATE; break; case ASTRAL_5: if (c == 'L') { #ifdef RTCM104V2_ENABLE if ((isgpsstat = rtcm2_decode(lexer, c)) == ISGPS_SYNC) { lexer->state = RTCM2_SYNC_STATE; break; } else if (isgpsstat == ISGPS_MESSAGE) { lexer->state = RTCM2_RECOGNIZED; break; } #endif /* RTCM104V2_ENABLE */ lexer->state = NMEA_RECOGNIZED; } else lexer->state = GROUND_STATE; break; #endif /* TRIPMATE_ENABLE */ #ifdef EARTHMATE_ENABLE case EARTHA_1: if (c == 'A') { #ifdef RTCM104V2_ENABLE if ((isgpsstat = rtcm2_decode(lexer, c)) == ISGPS_SYNC) { lexer->state = RTCM2_SYNC_STATE; break; } else if (isgpsstat == ISGPS_MESSAGE) { lexer->state = RTCM2_RECOGNIZED; break; } #endif /* RTCM104V2_ENABLE */ lexer->state = EARTHA_2; } else lexer->state = GROUND_STATE; break; case EARTHA_2: if (c == 'R') { #ifdef RTCM104V2_ENABLE if ((isgpsstat = rtcm2_decode(lexer, c)) == ISGPS_SYNC) { lexer->state = RTCM2_SYNC_STATE; break; } else if (isgpsstat == ISGPS_MESSAGE) { lexer->state = RTCM2_RECOGNIZED; break; } #endif /* RTCM104V2_ENABLE */ lexer->state = EARTHA_3; } else lexer->state = GROUND_STATE; break; case EARTHA_3: if (c == 'T') { #ifdef RTCM104V2_ENABLE if ((isgpsstat = rtcm2_decode(lexer, c)) == ISGPS_SYNC) { lexer->state = RTCM2_SYNC_STATE; break; } else if (isgpsstat == ISGPS_MESSAGE) { lexer->state = RTCM2_RECOGNIZED; break; } #endif /* RTCM104V2_ENABLE */ lexer->state = EARTHA_4; } else lexer->state = GROUND_STATE; break; case EARTHA_4: if (c == 'H') { #ifdef RTCM104V2_ENABLE if ((isgpsstat = rtcm2_decode(lexer, c)) == ISGPS_SYNC) { lexer->state = RTCM2_SYNC_STATE; break; } else if (isgpsstat == ISGPS_MESSAGE) { lexer->state = RTCM2_RECOGNIZED; break; } #endif /* RTCM104V2_ENABLE */ lexer->state = EARTHA_5; } else lexer->state = GROUND_STATE; break; case EARTHA_5: if (c == 'A') { #ifdef RTCM104V2_ENABLE if ((isgpsstat = rtcm2_decode(lexer, c)) == ISGPS_SYNC) { lexer->state = RTCM2_SYNC_STATE; break; } else if (isgpsstat == ISGPS_MESSAGE) { lexer->state = RTCM2_RECOGNIZED; break; } #endif /* RTCM104V2_ENABLE */ lexer->state = NMEA_RECOGNIZED; } else lexer->state = GROUND_STATE; break; #endif /* EARTHMATE_ENABLE */ case SIRF_ACK_LEAD_1: if (c == 'c') lexer->state = SIRF_ACK_LEAD_2; else if (c == 'I') lexer->state = AIS_LEAD_2; else lexer->state = GROUND_STATE; break; case SIRF_ACK_LEAD_2: if (c == 'k') lexer->state = NMEA_LEADER_END; else lexer->state = GROUND_STATE; break; #endif /* NMEA_ENABLE */ #ifdef SIRF_ENABLE case SIRF_LEADER_1: if (c == 0xa2) lexer->state = SIRF_LEADER_2; else lexer->state = GROUND_STATE; break; case SIRF_LEADER_2: lexer->length = (size_t) (c << 8); lexer->state = SIRF_LENGTH_1; break; case SIRF_LENGTH_1: lexer->length += c + 2; if (lexer->length <= MAX_PACKET_LENGTH) lexer->state = SIRF_PAYLOAD; else lexer->state = GROUND_STATE; break; case SIRF_PAYLOAD: if (--lexer->length == 0) lexer->state = SIRF_DELIVERED; break; case SIRF_DELIVERED: if (c == 0xb0) lexer->state = SIRF_TRAILER_1; else lexer->state = GROUND_STATE; break; case SIRF_TRAILER_1: if (c == 0xb3) lexer->state = SIRF_RECOGNIZED; else lexer->state = GROUND_STATE; break; case SIRF_RECOGNIZED: if (c == 0xa0) lexer->state = SIRF_LEADER_1; else lexer->state = GROUND_STATE; break; #endif /* SIRF_ENABLE */ #ifdef SUPERSTAR2_ENABLE case SUPERSTAR2_LEADER: ctmp = c; lexer->state = SUPERSTAR2_ID1; break; case SUPERSTAR2_ID1: if ((ctmp ^ 0xff) == c) lexer->state = SUPERSTAR2_ID2; else lexer->state = GROUND_STATE; break; case SUPERSTAR2_ID2: lexer->length = (size_t) c; /* how many data bytes follow this byte */ if (lexer->length) lexer->state = SUPERSTAR2_PAYLOAD; else lexer->state = SUPERSTAR2_CKSUM1; /* no data, jump to checksum */ break; case SUPERSTAR2_PAYLOAD: if (--lexer->length == 0) lexer->state = SUPERSTAR2_CKSUM1; break; case SUPERSTAR2_CKSUM1: lexer->state = SUPERSTAR2_CKSUM2; break; case SUPERSTAR2_CKSUM2: lexer->state = SUPERSTAR2_RECOGNIZED; break; case SUPERSTAR2_RECOGNIZED: if (c == SOH) lexer->state = SUPERSTAR2_LEADER; else lexer->state = GROUND_STATE; break; #endif /* SUPERSTAR2_ENABLE */ #ifdef ONCORE_ENABLE case ONCORE_AT2: if (isupper(c)) { lexer->length = (size_t) c; lexer->state = ONCORE_ID1; } else lexer->state = GROUND_STATE; break; case ONCORE_ID1: if (isalpha(c)) { lexer->length = oncore_payload_cksum_length((unsigned char)lexer->length, c); if (lexer->length != 0) { lexer->state = ONCORE_PAYLOAD; break; } } lexer->state = GROUND_STATE; break; case ONCORE_PAYLOAD: if (--lexer->length == 0) lexer->state = ONCORE_CHECKSUM; break; case ONCORE_CHECKSUM: if (c != '\r') lexer->state = GROUND_STATE; else lexer->state = ONCORE_CR; break; case ONCORE_CR: if (c == '\n') lexer->state = ONCORE_RECOGNIZED; else lexer->state = ONCORE_PAYLOAD; break; case ONCORE_RECOGNIZED: if (c == '@') lexer->state = AT1_LEADER; else lexer->state = GROUND_STATE; break; #endif /* ONCORE_ENABLE */ #if defined(TSIP_ENABLE) || defined(EVERMORE_ENABLE) || defined(GARMIN_ENABLE) case DLE_LEADER: #ifdef EVERMORE_ENABLE if (c == STX) { lexer->state = EVERMORE_LEADER_2; break; } #endif /* EVERMORE_ENABLE */ #if defined(TSIP_ENABLE) || defined(GARMIN_ENABLE) || defined(NAVCOM_ENABLE) /* garmin is special case of TSIP */ /* check last because there's no checksum */ #if defined(TSIP_ENABLE) if (c >= 0x13) { lexer->state = TSIP_PAYLOAD; break; } #endif /* TSIP_ENABLE */ if (c == DLE) { lexer->state = GROUND_STATE; break; } // FALL-THRU!!!!! no break here #endif /* TSIP_ENABLE */ #ifdef NAVCOM_ENABLE case NAVCOM_LEADER_1: if (c == 0x99) lexer->state = NAVCOM_LEADER_2; else lexer->state = GROUND_STATE; break; case NAVCOM_LEADER_2: if (c == 0x66) lexer->state = NAVCOM_LEADER_3; else lexer->state = GROUND_STATE; break; case NAVCOM_LEADER_3: lexer->state = NAVCOM_ID; break; case NAVCOM_ID: lexer->length = (size_t) c - 4; lexer->state = NAVCOM_LENGTH_1; break; case NAVCOM_LENGTH_1: lexer->length += (c << 8); lexer->state = NAVCOM_LENGTH_2; break; case NAVCOM_LENGTH_2: if (--lexer->length == 0) lexer->state = NAVCOM_PAYLOAD; break; case NAVCOM_PAYLOAD: { unsigned char csum = lexer->inbuffer[3]; for (n = 4; (unsigned char *)(lexer->inbuffer + n) < lexer->inbufptr - 1; n++) csum ^= lexer->inbuffer[n]; if (csum != c) { gpsd_report(LOG_IO, "Navcom packet type 0x%hhx bad checksum 0x%hhx, expecting 0x%x\n", lexer->inbuffer[3], csum, c); lexer->state = GROUND_STATE; break; } } lexer->state = NAVCOM_CSUM; break; case NAVCOM_CSUM: if (c == 0x03) lexer->state = NAVCOM_RECOGNIZED; else lexer->state = GROUND_STATE; break; case NAVCOM_RECOGNIZED: if (c == 0x02) lexer->state = NAVCOM_LEADER_1; else lexer->state = GROUND_STATE; break; #endif /* NAVCOM_ENABLE */ #endif /* TSIP_ENABLE || EVERMORE_ENABLE || GARMIN_ENABLE */ #ifdef RTCM104V3_ENABLE case RTCM3_LEADER_1: /* high 6 bits must be zero, low 2 bits are MSB of a 10-bit length */ if ((c & 0xFC) == 0) { lexer->length = (size_t) (c << 8); lexer->state = RTCM3_LEADER_2; break; } else lexer->state = GROUND_STATE; break; case RTCM3_LEADER_2: /* third byte is the low 8 bits of the RTCM3 packet length */ lexer->length |= c; lexer->length += 3; /* to get the three checksum bytes */ lexer->state = RTCM3_PAYLOAD; break; case RTCM3_PAYLOAD: if (--lexer->length == 0) lexer->state = RTCM3_RECOGNIZED; break; #endif /* RTCM104V3_ENABLE */ #ifdef ZODIAC_ENABLE case ZODIAC_EXPECTED: case ZODIAC_RECOGNIZED: if (c == 0xff) lexer->state = ZODIAC_LEADER_1; else lexer->state = GROUND_STATE; break; case ZODIAC_LEADER_1: if (c == 0x81) lexer->state = ZODIAC_LEADER_2; else lexer->state = GROUND_STATE; break; case ZODIAC_LEADER_2: lexer->state = ZODIAC_ID_1; break; case ZODIAC_ID_1: lexer->state = ZODIAC_ID_2; break; case ZODIAC_ID_2: lexer->length = (size_t) c; lexer->state = ZODIAC_LENGTH_1; break; case ZODIAC_LENGTH_1: lexer->length += (c << 8); lexer->state = ZODIAC_LENGTH_2; break; case ZODIAC_LENGTH_2: lexer->state = ZODIAC_FLAGS_1; break; case ZODIAC_FLAGS_1: lexer->state = ZODIAC_FLAGS_2; break; case ZODIAC_FLAGS_2: lexer->state = ZODIAC_HSUM_1; break; case ZODIAC_HSUM_1: { #define getword(i) (short)(lexer->inbuffer[2*(i)] | (lexer->inbuffer[2*(i)+1] << 8)) short sum = getword(0) + getword(1) + getword(2) + getword(3); sum *= -1; if (sum != getword(4)) { gpsd_report(LOG_IO, "Zodiac Header checksum 0x%hx expecting 0x%hx\n", sum, getword(4)); lexer->state = GROUND_STATE; break; } } gpsd_report(LOG_RAW + 1, "Zodiac header id=%hd len=%hd flags=%hx\n", getword(1), getword(2), getword(3)); #undef getword if (lexer->length == 0) { lexer->state = ZODIAC_RECOGNIZED; break; } lexer->length *= 2; /* word count to byte count */ lexer->length += 2; /* checksum */ /* 10 bytes is the length of the Zodiac header */ if (lexer->length <= MAX_PACKET_LENGTH - 10) lexer->state = ZODIAC_PAYLOAD; else lexer->state = GROUND_STATE; break; case ZODIAC_PAYLOAD: if (--lexer->length == 0) lexer->state = ZODIAC_RECOGNIZED; break; #endif /* ZODIAC_ENABLE */ #ifdef UBX_ENABLE case UBX_LEADER_1: if (c == 0x62) lexer->state = UBX_LEADER_2; else lexer->state = GROUND_STATE; break; case UBX_LEADER_2: lexer->state = UBX_CLASS_ID; break; case UBX_CLASS_ID: lexer->state = UBX_MESSAGE_ID; break; case UBX_MESSAGE_ID: lexer->length = (size_t) c; lexer->state = UBX_LENGTH_1; break; case UBX_LENGTH_1: lexer->length += (c << 8); if (lexer->length <= MAX_PACKET_LENGTH) lexer->state = UBX_LENGTH_2; else lexer->state = GROUND_STATE; break; case UBX_LENGTH_2: lexer->state = UBX_PAYLOAD; break; case UBX_PAYLOAD: if (--lexer->length == 0) lexer->state = UBX_CHECKSUM_A; /* else stay in payload state */ break; case UBX_CHECKSUM_A: lexer->state = UBX_RECOGNIZED; break; case UBX_RECOGNIZED: if (c == 0xb5) lexer->state = UBX_LEADER_1; #ifdef NMEA_ENABLE else if (c == '$') /* LEA-5H can and will output NMEA and UBX back to back */ lexer->state = NMEA_DOLLAR; #endif /* NMEA_ENABLE */ else lexer->state = GROUND_STATE; break; #endif /* UBX_ENABLE */ #ifdef EVERMORE_ENABLE case EVERMORE_LEADER_1: if (c == STX) lexer->state = EVERMORE_LEADER_2; else lexer->state = GROUND_STATE; break; case EVERMORE_LEADER_2: lexer->length = (size_t) c; if (c == DLE) lexer->state = EVERMORE_PAYLOAD_DLE; else lexer->state = EVERMORE_PAYLOAD; break; case EVERMORE_PAYLOAD: if (c == DLE) lexer->state = EVERMORE_PAYLOAD_DLE; else if (--lexer->length == 0) lexer->state = GROUND_STATE; break; case EVERMORE_PAYLOAD_DLE: switch (c) { case DLE: lexer->state = EVERMORE_PAYLOAD; break; case ETX: lexer->state = EVERMORE_RECOGNIZED; break; default: lexer->state = GROUND_STATE; } break; case EVERMORE_RECOGNIZED: if (c == DLE) lexer->state = EVERMORE_LEADER_1; else lexer->state = GROUND_STATE; break; #endif /* EVERMORE_ENABLE */ #ifdef ITRAX_ENABLE case ITALK_LEADER_1: if (c == '!') lexer->state = ITALK_LEADER_2; else lexer->state = GROUND_STATE; break; case ITALK_LEADER_2: lexer->length = (size_t) (lexer->inbuffer[6] & 0xff); lexer->state = ITALK_LENGTH; break; case ITALK_LENGTH: lexer->length += 1; /* fix number of words in payload */ lexer->length *= 2; /* convert to number of bytes */ lexer->length += 3; /* add trailer length */ lexer->state = ITALK_PAYLOAD; break; case ITALK_PAYLOAD: /* lookahead for "') && (lexer->inbufptr[0] == '<') && (lexer->inbufptr[1] == '!')) { lexer->state = ITALK_RECOGNIZED; gpsd_report(LOG_IO, "ITALK: trying to process runt packet\n"); break; } else if (--lexer->length == 0) lexer->state = ITALK_DELIVERED; break; case ITALK_DELIVERED: if (c == '>') lexer->state = ITALK_RECOGNIZED; else lexer->state = GROUND_STATE; break; case ITALK_RECOGNIZED: if (c == '<') lexer->state = ITALK_LEADER_1; else lexer->state = GROUND_STATE; break; #endif /* ITRAX_ENABLE */ #ifdef GEOSTAR_ENABLE case GEOSTAR_LEADER_1: if (c == 'S') lexer->state = GEOSTAR_LEADER_2; else lexer->state = GROUND_STATE; break; case GEOSTAR_LEADER_2: if (c == 'G') lexer->state = GEOSTAR_LEADER_3; else lexer->state = GROUND_STATE; break; case GEOSTAR_LEADER_3: if (c == 'G') lexer->state = GEOSTAR_LEADER_4; else lexer->state = GROUND_STATE; break; case GEOSTAR_LEADER_4: lexer->state = GEOSTAR_MESSAGE_ID_1; break; case GEOSTAR_MESSAGE_ID_1: lexer->state = GEOSTAR_MESSAGE_ID_2; break; case GEOSTAR_MESSAGE_ID_2: lexer->length = (size_t)(c * 4); lexer->state = GEOSTAR_LENGTH_1; break; case GEOSTAR_LENGTH_1: lexer->length += (c << 8) * 4; if (lexer->length <= MAX_PACKET_LENGTH) lexer->state = GEOSTAR_LENGTH_2; else lexer->state = GROUND_STATE; break; case GEOSTAR_LENGTH_2: lexer->state = GEOSTAR_PAYLOAD; break; case GEOSTAR_PAYLOAD: if (--lexer->length == 0) lexer->state = GEOSTAR_CHECKSUM_A; /* else stay in payload state */ break; case GEOSTAR_CHECKSUM_A: lexer->state = GEOSTAR_CHECKSUM_B; break; case GEOSTAR_CHECKSUM_B: lexer->state = GEOSTAR_CHECKSUM_C; break; case GEOSTAR_CHECKSUM_C: lexer->state = GEOSTAR_RECOGNIZED; break; case GEOSTAR_RECOGNIZED: if (c == 'P') lexer->state = GEOSTAR_LEADER_1; else lexer->state = GROUND_STATE; break; #endif /* GEOSTAR_ENABLE */ #ifdef TSIP_ENABLE case TSIP_LEADER: /* unused case */ if (c >= 0x13) lexer->state = TSIP_PAYLOAD; else lexer->state = GROUND_STATE; break; case TSIP_PAYLOAD: if (c == DLE) lexer->state = TSIP_DLE; break; case TSIP_DLE: switch (c) { case ETX: lexer->state = TSIP_RECOGNIZED; break; case DLE: lexer->state = TSIP_PAYLOAD; break; default: lexer->state = GROUND_STATE; break; } break; case TSIP_RECOGNIZED: if (c == DLE) /* * Don't go to TSIP_LEADER state -- TSIP packets aren't * checksummed, so false positives are easy. We might be * looking at another DLE-stuffed protocol like EverMore * or Garmin streaming binary. */ lexer->state = DLE_LEADER; else lexer->state = GROUND_STATE; break; #endif /* TSIP_ENABLE */ #ifdef RTCM104V2_ENABLE case RTCM2_SYNC_STATE: case RTCM2_SKIP_STATE: if ((isgpsstat = rtcm2_decode(lexer, c)) == ISGPS_MESSAGE) { lexer->state = RTCM2_RECOGNIZED; break; } else if (isgpsstat == ISGPS_NO_SYNC) lexer->state = GROUND_STATE; break; case RTCM2_RECOGNIZED: if (rtcm2_decode(lexer, c) == ISGPS_SYNC) { lexer->state = RTCM2_SYNC_STATE; break; } else lexer->state = GROUND_STATE; break; #endif /* RTCM104V2_ENABLE */ #ifdef PASSTHROUGH_ENABLE case JSON_LEADER: if (c == '{' || c == '[') { lexer->json_depth++; } else if (c == '}' || c == ']') { if (--lexer->json_depth == 0) lexer->state = JSON_RECOGNIZED; } else if (isspace(c) || c == ',') break; else if (c == '"') { lexer->state = JSON_STRINGLITERAL; lexer->json_after = JSON_END_ATTRIBUTE; } else { gpsd_report(LOG_RAW + 2, "%08ld: missing attribute start after header\n", lexer->char_counter); lexer->state = GROUND_STATE; } break; case JSON_STRINGLITERAL: if (c == '\\') lexer->state = JSON_STRING_SOLIDUS; else if (c == '"') lexer->state = lexer->json_after; break; case JSON_STRING_SOLIDUS: lexer->state = JSON_STRINGLITERAL; break; case JSON_END_ATTRIBUTE: if (isspace(c)) break; else if (c == ':') lexer->state = JSON_EXPECT_VALUE; else /* saw something other than value start after colon */ lexer->state = GROUND_STATE; break; case JSON_EXPECT_VALUE: if (isspace(c)) break; else if (c == '"') { lexer->state = JSON_STRINGLITERAL; lexer->json_after = JSON_END_VALUE; } else if (c == '{' || c == '[') { lexer->state = JSON_LEADER; character_pushback(lexer); } else if (strchr("-0123456789", c) != NULL) { lexer->state = JSON_NUMBER; } else if (c == 't' || c == 'f' || c == 'n') /* * This is a bit more permissive than strictly necessary, as * GPSD JSON does not include the null token. Still, it's * futureproofing. */ lexer->state = JSON_SPECIAL; else /* couldn't recognize start of value literal */ lexer->state = GROUND_STATE; break; case JSON_NUMBER: /* * Will recognize some ill-formed numeric literals. * Should be OK as we're already three stages deep inside * JSON recognition; odds that we'll actually see an * ill-formed literal are quite low. and the worst * possible result if it happens is our JSON parser will * quietly chuck out the object. */ if (strchr("1234567890.eE+-", c) == NULL) { lexer->state = JSON_END_VALUE; character_pushback(lexer); } break; case JSON_SPECIAL: if (strchr("truefalsnil", c) == NULL) { lexer->state = JSON_END_VALUE; character_pushback(lexer); } break; case JSON_END_VALUE: if (isspace(c)) break; else if (c == ',') lexer->state = JSON_LEADER; else if (c == '}' || c == ']') { lexer->state = JSON_LEADER; character_pushback(lexer); } else /* trailing garbage after JSON value */ lexer->state = GROUND_STATE; break; #endif /* PASSTHROUGH_ENABLE */ } /*@ -charint +casebreak @*/ } static void packet_accept(struct gps_packet_t *lexer, int packet_type) /* packet grab succeeded, move to output buffer */ { size_t packetlen = lexer->inbufptr - lexer->inbuffer; if (packetlen < sizeof(lexer->outbuffer)) { memcpy(lexer->outbuffer, lexer->inbuffer, packetlen); lexer->outbuflen = packetlen; lexer->outbuffer[packetlen] = '\0'; lexer->type = packet_type; if (lexer->debug >= LOG_RAW+1) gpsd_report(LOG_RAW+1, "Packet type %d accepted %zu = %s\n", packet_type, packetlen, gpsd_packetdump((char *)lexer->outbuffer, lexer->outbuflen)); } else { gpsd_report(LOG_ERROR, "Rejected too long packet type %d len %zu\n", packet_type, packetlen); } } static void packet_discard(struct gps_packet_t *lexer) /* shift the input buffer to discard all data up to current input pointer */ { size_t discard = lexer->inbufptr - lexer->inbuffer; size_t remaining = lexer->inbuflen - discard; lexer->inbufptr = memmove(lexer->inbuffer, lexer->inbufptr, remaining); lexer->inbuflen = remaining; if (lexer->debug >= LOG_RAW+1) gpsd_report(LOG_RAW + 1, "Packet discard of %zu, chars remaining is %zu = %s\n", discard, remaining, gpsd_packetdump((char *)lexer->inbuffer, lexer->inbuflen)); } static void character_discard(struct gps_packet_t *lexer) /* shift the input buffer to discard one character and reread data */ { memmove(lexer->inbuffer, lexer->inbuffer + 1, (size_t)-- lexer->inbuflen); lexer->inbufptr = lexer->inbuffer; if (lexer->debug >= LOG_RAW+1) gpsd_report(LOG_RAW + 1, "Character discarded, buffer %zu chars = %s\n", lexer->inbuflen, gpsd_packetdump((char *)lexer->inbuffer, lexer->inbuflen)); } /* get 0-origin big-endian words relative to start of packet buffer */ #define getword(i) (short)(lexer->inbuffer[2*(i)] | (lexer->inbuffer[2*(i)+1] << 8)) /* entry points begin here */ void packet_init( /*@out@*/ struct gps_packet_t *lexer) { lexer->char_counter = 0; lexer->retry_counter = 0; #ifdef PASSTHROUGH_ENABLE lexer->json_depth = 0; #endif /* PASSTHROUGH_ENABLE */ #ifdef TIMING_ENABLE lexer->start_time = 0.0; #endif /* TIMING_ENABLE */ packet_reset(lexer); } void packet_parse(struct gps_packet_t *lexer) /* grab a packet from the input buffer */ { lexer->outbuflen = 0; while (packet_buffered_input(lexer) > 0) { /*@ -modobserver @*/ unsigned char c = *lexer->inbufptr++; /*@ +modobserver @*/ char *state_table[] = { #include "packet_names.h" }; nextstate(lexer, c); gpsd_report(LOG_RAW + 2, "%08ld: character '%c' [%02x], new state: %s\n", lexer->char_counter, (isprint(c) ? c : '.'), c, state_table[lexer->state]); lexer->char_counter++; if (lexer->state == GROUND_STATE) { character_discard(lexer); } else if (lexer->state == COMMENT_RECOGNIZED) { packet_accept(lexer, COMMENT_PACKET); packet_discard(lexer); lexer->state = GROUND_STATE; break; } #ifdef NMEA_ENABLE else if (lexer->state == NMEA_RECOGNIZED) { /* * $PASHR packets have no checksum. Avoid the possibility * that random garbage might make it look like they do. */ if (strncmp((const char *)lexer->inbuffer, "$PASHR,", 7) != 0) { bool checksum_ok = true; char csum[3] = { '0', '0', '0' }; char *end; /* * Back up past any whitespace. Need to do this because * at least one GPS (the Firefly 1a) emits \r\r\n */ for (end = (char *)lexer->inbufptr - 1; isspace(*end); end--) continue; while (strchr("0123456789ABCDEF", *end)) --end; if (*end == '*') { unsigned int n, crc = 0; for (n = 1; (char *)lexer->inbuffer + n < end; n++) crc ^= lexer->inbuffer[n]; (void)snprintf(csum, sizeof(csum), "%02X", crc); checksum_ok = (csum[0] == toupper(end[1]) && csum[1] == toupper(end[2])); } if (!checksum_ok) { gpsd_report(LOG_WARN, "bad checksum in NMEA packet; expected %s.\n", csum); packet_accept(lexer, BAD_PACKET); lexer->state = GROUND_STATE; packet_discard(lexer); break; /* exit case */ } } /* checksum passed or not present */ #ifdef AIVDM_ENABLE if (strncmp((char *)lexer->inbuffer, "!AIVDM", 6) == 0) packet_accept(lexer, AIVDM_PACKET); else if (strncmp((char *)lexer->inbuffer, "!AIVDO", 6) == 0) packet_accept(lexer, AIVDM_PACKET); else if (strncmp((char *)lexer->inbuffer, "!BSVDM", 6) == 0) packet_accept(lexer, AIVDM_PACKET); else if (strncmp((char *)lexer->inbuffer, "!BSVDO", 6) == 0) packet_accept(lexer, AIVDM_PACKET); else #endif /* AIVDM_ENABLE */ packet_accept(lexer, NMEA_PACKET); packet_discard(lexer); break; } #endif /* NMEA_ENABLE */ #ifdef SIRF_ENABLE else if (lexer->state == SIRF_RECOGNIZED) { unsigned char *trailer = lexer->inbufptr - 4; unsigned int checksum = (unsigned)((trailer[0] << 8) | trailer[1]); unsigned int n, crc = 0; for (n = 4; n < (unsigned)(trailer - lexer->inbuffer); n++) crc += (int)lexer->inbuffer[n]; crc &= 0x7fff; if (checksum == crc) packet_accept(lexer, SIRF_PACKET); else { packet_accept(lexer, BAD_PACKET); lexer->state = GROUND_STATE; } packet_discard(lexer); break; } #endif /* SIRF_ENABLE */ #ifdef SUPERSTAR2_ENABLE else if (lexer->state == SUPERSTAR2_RECOGNIZED) { unsigned a = 0, b; size_t n; lexer->length = 4 + (size_t) lexer->inbuffer[3] + 2; for (n = 0; n < lexer->length - 2; n++) a += (unsigned)lexer->inbuffer[n]; b = (unsigned)getleu16(lexer->inbuffer, lexer->length - 2); gpsd_report(LOG_IO, "SuperStarII pkt dump: type %u len %u\n", lexer->inbuffer[1], (unsigned int)lexer->length); if (a != b) { gpsd_report(LOG_IO, "REJECT SuperStarII packet type 0x%02x" "%zd bad checksum 0x%04x, expecting 0x%04x\n", lexer->inbuffer[1], lexer->length, a, b); packet_accept(lexer, BAD_PACKET); lexer->state = GROUND_STATE; } else { packet_accept(lexer, SUPERSTAR2_PACKET); } packet_discard(lexer); break; } #endif /* SUPERSTAR2_ENABLE */ #ifdef ONCORE_ENABLE else if (lexer->state == ONCORE_RECOGNIZED) { char a, b; int i, len; len = lexer->inbufptr - lexer->inbuffer; a = (char)(lexer->inbuffer[len - 3]); b = '\0'; for (i = 2; i < len - 3; i++) b ^= lexer->inbuffer[i]; if (a == b) { gpsd_report(LOG_IO, "Accept OnCore packet @@%c%c len %d\n", lexer->inbuffer[2], lexer->inbuffer[3], len); packet_accept(lexer, ONCORE_PACKET); } else { gpsd_report(LOG_IO, "REJECT OnCore packet @@%c%c len %d\n", lexer->inbuffer[2], lexer->inbuffer[3], len); packet_accept(lexer, BAD_PACKET); lexer->state = GROUND_STATE; } packet_discard(lexer); break; } #endif /* ONCORE_ENABLE */ #if defined(TSIP_ENABLE) || defined(GARMIN_ENABLE) else if (lexer->state == TSIP_RECOGNIZED) { size_t packetlen = lexer->inbufptr - lexer->inbuffer; #ifdef TSIP_ENABLE unsigned int pos, dlecnt; /* don't count stuffed DLEs in the length */ dlecnt = 0; for (pos = 0; pos < (unsigned int)packetlen; pos++) if (lexer->inbuffer[pos] == DLE) dlecnt++; if (dlecnt > 2) { dlecnt -= 2; dlecnt /= 2; gpsd_report(LOG_RAW, "Unstuffed %d DLEs\n", dlecnt); packetlen -= dlecnt; } #endif /* TSIP_ENABLE */ if (packetlen < 5) { lexer->state = GROUND_STATE; } else { unsigned int pkt_id; #ifdef GARMIN_ENABLE unsigned int len; size_t n; unsigned int ch, chksum; n = 0; /*@ +charint */ #ifdef TSIP_ENABLE /* shortcut garmin */ if (TSIP_PACKET == lexer->type) goto not_garmin; #endif /* TSIP_ENABLE */ if (lexer->inbuffer[n++] != DLE) goto not_garmin; pkt_id = lexer->inbuffer[n++]; /* packet ID */ len = lexer->inbuffer[n++]; chksum = len + pkt_id; if (len == DLE) { if (lexer->inbuffer[n++] != DLE) goto not_garmin; } for (; len > 0; len--) { chksum += lexer->inbuffer[n]; if (lexer->inbuffer[n++] == DLE) { if (lexer->inbuffer[n++] != DLE) goto not_garmin; } } /* check sum byte */ ch = lexer->inbuffer[n++]; chksum += ch; if (ch == DLE) { if (lexer->inbuffer[n++] != DLE) goto not_garmin; } if (lexer->inbuffer[n++] != DLE) goto not_garmin; /* we used to say n++ here, but scan-build complains */ if (lexer->inbuffer[n] != ETX) goto not_garmin; /*@ +charint */ chksum &= 0xff; if (chksum) { gpsd_report(LOG_IO, "Garmin checksum failed: %02x!=0\n", chksum); goto not_garmin; } packet_accept(lexer, GARMIN_PACKET); packet_discard(lexer); break; not_garmin:; gpsd_report(LOG_RAW + 1, "Not a Garmin packet\n"); #endif /* GARMIN_ENABLE */ #ifdef TSIP_ENABLE /* check for some common TSIP packet types: * 0x13, TSIP Parsing Error Notification * 0x38, Request SV system data * 0x41, GPS time, data length 10 * 0x42, Single Precision Fix, data length 16 * 0x43, Velocity Fix, data length 20 * 0x45, Software Version Information, data length 10 * 0x46, Health of Receiver, data length 2 * 0x48, GPS System Messages * 0x49, Almanac Health Page * 0x4a, LLA Position, data length 20 * 0x4b, Machine Code Status, data length 3 * 0x4c, Operating Parameters Report * 0x54, One Satellite Bias * 0x56, Velocity Fix (ENU), data length 20 * 0x57, Last Computed Fix Report * 0x5a, Raw Measurements * 0x5b, Satellite Ephemeris Status * 0x5c, Satellite Tracking Status, data length 24 * 0x5e, Additional Fix Status Report * 0x6d, All-In-View Satellite Selection, data length 16+numSV * 0x82, Differential Position Fix Mode, data length 1 * 0x83, Double Precision XYZ, data length 36 * 0x84, Double Precision LLA, data length 36 * 0xbb, GPS Navigation Configuration * 0xbc, Receiver Port Configuration * * [pkt id] [data] */ /*@ +charint @*/ pkt_id = lexer->inbuffer[1]; /* packet ID */ /* *INDENT-OFF* */ if (!((0x13 == pkt_id) || (0xbb == pkt_id) || (0xbc == pkt_id) || (0x38 == pkt_id)) && ((0x41 > pkt_id) || (0x8f < pkt_id))) { gpsd_report(LOG_IO, "Packet ID 0x%02x out of range for TSIP\n", pkt_id); goto not_tsip; } /* *INDENT-ON* */ /*@ -ifempty */ if ((0x13 == pkt_id) && (0x01 <= packetlen)) /* pass */ ; else if ((0x38 == pkt_id) && (0x03 == packetlen)) /* pass */ ; else if ((0x41 == pkt_id) && ((0x0e == packetlen) || (0x0f == packetlen))) /* pass */ ; else if ((0x42 == pkt_id) && (0x14 == packetlen)) /* pass */ ; else if ((0x43 == pkt_id) && (0x18 == packetlen)) /* pass */ ; else if ((0x45 == pkt_id) && (0x0e == packetlen)) /* pass */ ; else if ((0x46 == pkt_id) && (0x06 == packetlen)) /* pass */ ; else if ((0x48 == pkt_id) && (0x1a == packetlen)) /* pass */ ; else if ((0x49 == pkt_id) && (0x24 == packetlen)) /* pass */ ; else if ((0x4a == pkt_id) && (0x18 == packetlen)) /* pass */ ; else if ((0x4b == pkt_id) && (0x07 == packetlen)) /* pass */ ; else if ((0x4c == pkt_id) && (0x15 == packetlen)) /* pass */ ; else if ((0x54 == pkt_id) && (0x10 == packetlen)) /* pass */ ; else if ((0x55 == pkt_id) && (0x08 == packetlen)) /* pass */ ; else if ((0x56 == pkt_id) && (0x18 == packetlen)) /* pass */ ; else if ((0x57 == pkt_id) && (0x0c == packetlen)) /* pass */ ; else if ((0x5a == pkt_id) && ((0x1d <= packetlen) && (0x1f >= packetlen))) /* pass */ ; else if ((0x5b == pkt_id) && (0x24 == packetlen)) /* pass */ ; else if ((0x5c == pkt_id) && ((0x1c <= packetlen) && (0x1e >= packetlen))) /* pass */ ; else if ((0x5e == pkt_id) && (0x06 == packetlen)) /* pass */ ; else if ((0x5f == pkt_id) && (70 == packetlen)) /* pass */ ; else if ((0x6d == pkt_id) && ((0x14 <= packetlen) && (0x20 >= packetlen))) /* pass */ ; else if ((0x82 == pkt_id) && (0x05 == packetlen)) /* pass */ ; else if ((0x84 == pkt_id) && ((0x28 <= packetlen) && (0x29 >= packetlen))) /* pass */ ; else if ((0x8e == pkt_id)) /* pass */ ; else if ((0x8f == pkt_id)) /* pass */ ; else if ((0xbb == pkt_id) && (0x2c == packetlen)) /* pass */ ; else { gpsd_report(LOG_IO, "TSIP REJECT pkt_id = %#02x, packetlen= %zu\n", pkt_id, packetlen); goto not_tsip; } /* Debug */ gpsd_report(LOG_RAW, "TSIP pkt_id = %#02x, packetlen= %zu\n", pkt_id, packetlen); /*@ -charint +ifempty @*/ packet_accept(lexer, TSIP_PACKET); packet_discard(lexer); break; not_tsip: gpsd_report(LOG_RAW + 1, "Not a TSIP packet\n"); /* * More attempts to recognize ambiguous TSIP-like * packet types could go here. */ packet_accept(lexer, BAD_PACKET); lexer->state = GROUND_STATE; packet_discard(lexer); break; #endif /* TSIP_ENABLE */ } } #endif /* TSIP_ENABLE || GARMIN_ENABLE */ #ifdef RTCM104V3_ENABLE else if (lexer->state == RTCM3_RECOGNIZED) { if (crc24q_check(lexer->inbuffer, lexer->inbufptr - lexer->inbuffer)) { packet_accept(lexer, RTCM3_PACKET); } else { gpsd_report(LOG_IO, "RTCM3 data checksum failure, " "%0x against %02x %02x %02x\n", crc24q_hash(lexer->inbuffer, lexer->inbufptr - lexer->inbuffer - 3), lexer->inbufptr[-3], lexer->inbufptr[-2], lexer->inbufptr[-1]); packet_accept(lexer, BAD_PACKET); } packet_discard(lexer); lexer->state = GROUND_STATE; break; } #endif /* RTCM104V3_ENABLE */ #ifdef ZODIAC_ENABLE else if (lexer->state == ZODIAC_RECOGNIZED) { short len, n, sum; len = getword(2); for (n = sum = 0; n < len; n++) sum += getword(5 + n); sum *= -1; if (len == 0 || sum == getword(5 + len)) { packet_accept(lexer, ZODIAC_PACKET); } else { gpsd_report(LOG_IO, "Zodiac data checksum 0x%hx over length %hd, expecting 0x%hx\n", sum, len, getword(5 + len)); packet_accept(lexer, BAD_PACKET); lexer->state = GROUND_STATE; } packet_discard(lexer); break; } #endif /* ZODIAC_ENABLE */ #ifdef UBX_ENABLE else if (lexer->state == UBX_RECOGNIZED) { /* UBX use a TCP like checksum */ int n, len; unsigned char ck_a = (unsigned char)0; unsigned char ck_b = (unsigned char)0; len = lexer->inbufptr - lexer->inbuffer; gpsd_report(LOG_IO, "UBX: len %d\n", len); for (n = 2; n < (len - 2); n++) { ck_a += lexer->inbuffer[n]; ck_b += ck_a; } if (ck_a == lexer->inbuffer[len - 2] && ck_b == lexer->inbuffer[len - 1]) packet_accept(lexer, UBX_PACKET); else { gpsd_report(LOG_IO, "UBX checksum 0x%02hhx%02hhx over length %d," " expecting 0x%02hhx%02hhx (type 0x%02hhx%02hhx)\n", ck_a, ck_b, len, lexer->inbuffer[len - 2], lexer->inbuffer[len - 1], lexer->inbuffer[2], lexer->inbuffer[3]); packet_accept(lexer, BAD_PACKET); lexer->state = GROUND_STATE; } packet_discard(lexer); break; } #endif /* UBX_ENABLE */ #ifdef EVERMORE_ENABLE else if (lexer->state == EVERMORE_RECOGNIZED) { unsigned int n, crc, checksum, len; n = 0; /*@ +charint */ if (lexer->inbuffer[n++] != DLE) goto not_evermore; if (lexer->inbuffer[n++] != STX) goto not_evermore; len = lexer->inbuffer[n++]; if (len == DLE) { if (lexer->inbuffer[n++] != DLE) goto not_evermore; } len -= 2; crc = 0; for (; len > 0; len--) { crc += lexer->inbuffer[n]; if (lexer->inbuffer[n++] == DLE) { if (lexer->inbuffer[n++] != DLE) goto not_evermore; } } checksum = lexer->inbuffer[n++]; if (checksum == DLE) { if (lexer->inbuffer[n++] != DLE) goto not_evermore; } if (lexer->inbuffer[n++] != DLE) goto not_evermore; /* we used to say n++ here, but scan-build complains */ if (lexer->inbuffer[n] != ETX) goto not_evermore; crc &= 0xff; if (crc != checksum) { gpsd_report(LOG_IO, "EverMore checksum failed: %02x != %02x\n", crc, checksum); goto not_evermore; } /*@ +charint */ packet_accept(lexer, EVERMORE_PACKET); packet_discard(lexer); break; not_evermore: packet_accept(lexer, BAD_PACKET); lexer->state = GROUND_STATE; packet_discard(lexer); break; } #endif /* EVERMORE_ENABLE */ /* XXX CSK */ #ifdef ITRAX_ENABLE #define getib(j) ((uint8_t)lexer->inbuffer[(j)]) #define getiw(i) ((uint16_t)(((uint16_t)getib((i)+1) << 8) | (uint16_t)getib((i)))) else if (lexer->state == ITALK_RECOGNIZED) { volatile uint16_t len, n, csum, xsum; /* number of words */ len = (uint16_t) (lexer->inbuffer[6] & 0xff); /*@ -type @*/ /* expected checksum */ xsum = getiw(7 + 2 * len); csum = 0; for (n = 0; n < len; n++) { volatile uint16_t tmpw = getiw(7 + 2 * n); volatile uint32_t tmpdw = (csum + 1) * (tmpw + n); csum ^= (tmpdw & 0xffff) ^ ((tmpdw >> 16) & 0xffff); } /*@ +type @*/ if (len == 0 || csum == xsum) packet_accept(lexer, ITALK_PACKET); else { gpsd_report(LOG_IO, "ITALK: checksum failed - " "type 0x%02x expected 0x%04x got 0x%04x\n", lexer->inbuffer[4], xsum, csum); packet_accept(lexer, BAD_PACKET); lexer->state = GROUND_STATE; } packet_discard(lexer); break; } #undef getiw #undef getib #endif /* ITRAX_ENABLE */ #ifdef NAVCOM_ENABLE else if (lexer->state == NAVCOM_RECOGNIZED) { /* By the time we got here we know checksum is OK */ packet_accept(lexer, NAVCOM_PACKET); packet_discard(lexer); break; } #endif /* NAVCOM_ENABLE */ #ifdef GEOSTAR_ENABLE else if (lexer->state == GEOSTAR_RECOGNIZED) { /* GeoStar uses a XOR 32bit checksum */ int n, len; unsigned int cs = 0L; len = lexer->inbufptr - lexer->inbuffer; /* Calculate checksum */ for (n = 0; n < len; n += 4) { cs ^= getleu32(lexer->inbuffer, n); } if (cs == 0) packet_accept(lexer, GEOSTAR_PACKET); else { gpsd_report(LOG_IO, "GeoStar checksum failed 0x%x over length %d\n", cs, len); packet_accept(lexer, BAD_PACKET); lexer->state = GROUND_STATE; } packet_discard(lexer); break; } #endif /* GEOSTAR_ENABLE */ #ifdef RTCM104V2_ENABLE else if (lexer->state == RTCM2_RECOGNIZED) { /* * RTCM packets don't have checksums. The six bits of parity * per word and the preamble better be good enough. */ packet_accept(lexer, RTCM2_PACKET); lexer->state = RTCM2_SYNC_STATE; packet_discard(lexer); break; } #endif /* RTCM104V2_ENABLE */ #ifdef GARMINTXT_ENABLE else if (lexer->state == GTXT_RECOGNIZED) { size_t packetlen = lexer->inbufptr - lexer->inbuffer; if (57 <= packetlen) { packet_accept(lexer, GARMINTXT_PACKET); packet_discard(lexer); lexer->state = GROUND_STATE; break; } else { packet_accept(lexer, BAD_PACKET); lexer->state = GROUND_STATE; } } #endif #ifdef PASSTHROUGH_ENABLE else if (lexer->state == JSON_RECOGNIZED) { size_t packetlen = lexer->inbufptr - lexer->inbuffer; if (packetlen >= 11) /* {"class": } */ packet_accept(lexer, JSON_PACKET); else packet_accept(lexer, BAD_PACKET); packet_discard(lexer); lexer->state = GROUND_STATE; break; } #endif /* PASSTHROUGH_ENABLE */ } /* while */ } #undef getword ssize_t packet_get(int fd, struct gps_packet_t *lexer) /* grab a packet; return -1=>I/O error, 0=>EOF, BAD_PACKET or a length */ { ssize_t recvd; /*@ -modobserver @*/ errno = 0; recvd = read(fd, lexer->inbuffer + lexer->inbuflen, sizeof(lexer->inbuffer) - (lexer->inbuflen)); /*@ +modobserver @*/ if (recvd == -1) { if ((errno == EAGAIN) || (errno == EINTR)) { gpsd_report(LOG_RAW + 2, "no bytes ready\n"); recvd = 0; /* fall through, input buffer may be nonempty */ } else { gpsd_report(LOG_RAW + 2, "errno: %s\n", strerror(errno)); return -1; } } else { if (lexer->debug >= LOG_RAW+1) gpsd_report(LOG_RAW + 1, "Read %zd chars to buffer offset %zd (total %zd): %s\n", recvd, lexer->inbuflen, lexer->inbuflen + recvd, gpsd_packetdump((char *)lexer->inbufptr, (size_t) recvd)); lexer->inbuflen += recvd; } gpsd_report(LOG_SPIN, "packet_get() fd %d -> %zd (%d)\n", fd, recvd, errno); /* * Bail out, indicating no more input, only if we just received * nothing from the device and there is nothing waiting in the * packet input buffer. */ if (recvd <= 0 && packet_buffered_input(lexer) <= 0) return recvd; /* Otherwise, consume from the packet input buffer */ /* coverity[tainted_data] */ packet_parse(lexer); /* if input buffer is full, discard */ if (sizeof(lexer->inbuffer) == (lexer->inbuflen)) { /* coverity[tainted_data] */ packet_discard(lexer); lexer->state = GROUND_STATE; } /* * If we gathered a packet, return its length; it will have been * consumed out of the input buffer and moved to the output * buffer. We don't care whether the read() returned 0 or -1 and * gathered packet data was all buffered or whether ot was partly * just physically read. * * Note: this choice greatly simplifies life for callers of * packet_get(), but means that they cannot tell when a nonzero * return means there was a successful physical read. They will * thus credit a data source that drops out with being alive * slightly longer than it actually was. This is unlikely to * matter as long as any policy timeouts are large compared to * the time required to consume the greatest possible amount * of buffered input, but if you hack this code you need to * be aware of the issue. It might also slightly affect * performance profiling. */ if (lexer->outbuflen > 0) return (ssize_t) lexer->outbuflen; else /* * Otherwise recvd is the size of whatever packet fragment we got. * It can still be 0 or -1 at this point even if buffer data * was consumed. */ return recvd; } void packet_reset( /*@out@*/ struct gps_packet_t *lexer) /* return the packet machine to the ground state */ { lexer->type = BAD_PACKET; lexer->state = GROUND_STATE; lexer->inbuflen = 0; lexer->inbufptr = lexer->inbuffer; #ifdef BINARY_ENABLE isgps_init(lexer); #endif /* BINARY_ENABLE */ } #ifdef __UNUSED__ void packet_pushback(struct gps_packet_t *lexer) /* push back the last packet grabbed */ { if (lexer->outbuflen + lexer->inbuflen < MAX_PACKET_LENGTH) { memmove(lexer->inbuffer + lexer->outbuflen, lexer->inbuffer, lexer->inbuflen); memmove(lexer->inbuffer, lexer->outbuffer, lexer->outbuflen); lexer->inbuflen += lexer->outbuflen; lexer->inbufptr += lexer->outbuflen; lexer->outbuflen = 0; } } #endif /* __UNUSED */ gpsd-3.9/packet_states.h0000664000175000017500000002052212022345475013500 0ustar esresr/* edit packet_states.h to add new packet types. */ GROUND_STATE, /* we don't know what packet type to expect */ COMMENT_BODY, /* pound comment for a test load */ COMMENT_RECOGNIZED, /* comment recognized */ #ifdef NMEA_ENABLE NMEA_DOLLAR, /* we've seen first character of NMEA leader */ NMEA_BANG, /* we've seen first character of an AIS message '!' */ NMEA_PUB_LEAD, /* seen second character of NMEA G leader */ NMEA_VENDOR_LEAD, /* seen second character of NMEA P leader */ NMEA_LEADER_END, /* seen end char of NMEA leader, in body */ NMEA_PASHR_A, /* grind through recognizing $PASHR */ NMEA_PASHR_S, /* grind through recognizing $PASHR */ NMEA_PASHR_H, /* grind through recognizing $PASHR */ NMEA_BINARY_BODY, /* Ashtech-style binary packet body, skip until \r\n */ NMEA_BINARY_CR, /* \r on end of Ashtech-style binary packet */ NMEA_BINARY_NL, /* \n on end of Ashtech-style binary packet */ NMEA_CR, /* seen terminating \r of NMEA packet */ NMEA_RECOGNIZED, /* saw trailing \n of NMEA packet */ SIRF_ACK_LEAD_1, /* seen A of possible SiRF Ack */ SIRF_ACK_LEAD_2, /* seen c of possible SiRF Ack */ AIS_LEAD_1, /* seen A of possible marine AIS message */ AIS_LEAD_2, /* seen I of possible marine AIS message */ AIS_LEAD_ALT1, /* seen B of possible marine AIS message */ AIS_LEAD_ALT2, /* seen S of possible marine AIS message */ SEATALK_LEAD_1, /* SeaTalk/Garmin packet leader 'I' */ WEATHER_LEAD_1, /* Weather instrument packet leader 'W' */ HEADCOMP_LEAD_1, /* Heading/compass packet leader 'H' */ TURN_LEAD_1, /* Turn indicator packet leader 'T' */ ECDIS_LEAD_1, /* ECDIS packet leader 'E' */ SOUNDER_LEAD_1, /* Depth sounder packet leader 'S' */ #endif /* NMEA_ENABLE */ DLE_LEADER, /* we've seen the TSIP/EverMore leader (DLE) */ #ifdef TRIPMATE_ENABLE ASTRAL_1, /* ASTRAL leader A */ ASTRAL_2, /* ASTRAL leader S */ ASTRAL_3, /* ASTRAL leader T */ ASTRAL_4, /* ASTRAL leader R */ ASTRAL_5, /* ASTRAL leader A */ #endif /* TRIPMATE_ENABLE */ #ifdef EARTHMATE_ENABLE EARTHA_1, /* EARTHA leader E */ EARTHA_2, /* EARTHA leader A */ EARTHA_3, /* EARTHA leader R */ EARTHA_4, /* EARTHA leader T */ EARTHA_5, /* EARTHA leader H */ #endif /* EARTHMATE_ENABLE */ #ifdef SIRF_ENABLE SIRF_LEADER_1, /* we've seen first character of SiRF leader */ SIRF_LEADER_2, /* seen second character of SiRF leader */ SIRF_LENGTH_1, /* seen first byte of SiRF length */ SIRF_PAYLOAD, /* we're in a SiRF payload part */ SIRF_DELIVERED, /* saw last byte of SiRF payload/checksum */ SIRF_TRAILER_1, /* saw first byte of SiRF trailer */ SIRF_RECOGNIZED, /* saw second byte of SiRF trailer */ #endif /* SIRF_ENABLE */ #ifdef ZODIAC_ENABLE ZODIAC_EXPECTED, /* expecting Zodiac packet */ ZODIAC_LEADER_1, /* saw leading 0xff */ ZODIAC_LEADER_2, /* saw leading 0x81 */ ZODIAC_ID_1, /* saw first byte of ID */ ZODIAC_ID_2, /* saw second byte of ID */ ZODIAC_LENGTH_1, /* saw first byte of Zodiac packet length */ ZODIAC_LENGTH_2, /* saw second byte of Zodiac packet length */ ZODIAC_FLAGS_1, /* saw first byte of FLAGS */ ZODIAC_FLAGS_2, /* saw second byte of FLAGS */ ZODIAC_HSUM_1, /* saw first byte of Header sum */ ZODIAC_PAYLOAD, /* we're in a Zodiac payload */ ZODIAC_RECOGNIZED, /* found end of the Zodiac packet */ #endif /* ZODIAC_ENABLE */ #if defined(TNT_ENABLE) || defined(GARMINTXT_ENABLE) || defined(ONCORE_ENABLE) AT1_LEADER, /* saw True North status leader '@' */ /* Garmin Simple Text starts with @ leader */ /* Oncore starts with @ leader */ GTXT_RECOGNIZED, /* */ #endif #ifdef EVERMORE_ENABLE EVERMORE_LEADER_1, /* a DLE after having seen EverMore data */ EVERMORE_LEADER_2, /* seen opening STX of EverMore packet */ EVERMORE_PAYLOAD, /* in payload part of EverMore packet */ EVERMORE_PAYLOAD_DLE,/* DLE in payload part of EverMore packet */ EVERMORE_RECOGNIZED, /* found end of EverMore packet */ #endif /* EVERMORE_ENABLE */ #ifdef ITRAX_ENABLE ITALK_LEADER_1, /* saw leading < of iTalk packet */ ITALK_LEADER_2, /* saw leading ! of iTalk packet */ ITALK_LENGTH, /* saw packet length */ ITALK_PAYLOAD, /* in payload part of iTalk Packet */ ITALK_DELIVERED, /* seen end of payload */ ITALK_TRAILER, /* saw iTalk trailer byte */ ITALK_RECOGNIZED, /* found end of the iTalk packet */ #endif /* ITRAX_ENABLE */ #ifdef NAVCOM_ENABLE NAVCOM_EXPECTED, /* expecting Navcom packet */ NAVCOM_LEADER_1, /* saw leading 0x02 */ NAVCOM_LEADER_2, /* saw leading 0x99 */ NAVCOM_LEADER_3, /* saw leading 0x66 */ NAVCOM_ID, /* saw message ID */ NAVCOM_LENGTH_1, /* saw first byte of Navcom packet length */ NAVCOM_LENGTH_2, /* saw second byte of Navcom packet length */ NAVCOM_PAYLOAD, /* we're in a Navcom payload */ NAVCOM_CSUM, /* saw checksum */ NAVCOM_RECOGNIZED, /* found end of the Navcom packet */ #endif /* NAVCOM_ENABLE */ #ifdef UBX_ENABLE UBX_LEADER_1, /* first constant leader byte found */ UBX_LEADER_2, /* second constant leader byte found */ UBX_CLASS_ID, /* classid read */ UBX_MESSAGE_ID, /* message id read */ UBX_LENGTH_1, /* first length byte read (le) */ UBX_LENGTH_2, /* second length byte read (le) */ UBX_PAYLOAD, /* payload eating */ UBX_CHECKSUM_A, /* checksum A byte (tcp checksum) */ UBX_RECOGNIZED, /* this is also UBX_CHECKSUM_B */ #endif #ifdef SUPERSTAR2_ENABLE SUPERSTAR2_LEADER, /* leading SOH */ SUPERSTAR2_ID1, /* message type */ SUPERSTAR2_ID2, /* message type xor 0xff */ SUPERSTAR2_PAYLOAD, /* length of the actual packet data */ SUPERSTAR2_CKSUM1, SUPERSTAR2_CKSUM2, SUPERSTAR2_RECOGNIZED, #endif #ifdef ONCORE_ENABLE ONCORE_AT2, /* second @ */ ONCORE_ID1, /* first character of command type */ ONCORE_PAYLOAD, /* payload eating */ ONCORE_CHECKSUM, /* checksum byte */ ONCORE_CR, /* closing CR */ ONCORE_RECOGNIZED, /* closing LF */ #endif #ifdef GEOSTAR_ENABLE GEOSTAR_LEADER_1, /* first constant leader byte found */ GEOSTAR_LEADER_2, /* second constant leader byte found */ GEOSTAR_LEADER_3, /* third constant leader byte found */ GEOSTAR_LEADER_4, /* forth constant leader byte found */ GEOSTAR_MESSAGE_ID_1, /* first message id read */ GEOSTAR_MESSAGE_ID_2, /* second message id read */ GEOSTAR_LENGTH_1, /* first length byte read */ GEOSTAR_LENGTH_2, /* second length byte read */ GEOSTAR_PAYLOAD, /* payload eating */ GEOSTAR_CHECKSUM_A, /* checksum A byte (xor checksum) */ GEOSTAR_CHECKSUM_B, /* checksum B byte (xor checksum) */ GEOSTAR_CHECKSUM_C, /* checksum C byte (xor checksum) */ GEOSTAR_RECOGNIZED, /* this is also GEOSTAR_CHECKSUM_D */ #endif /* * Packet formats without checksums start here. We list them last so * that if a format with a conflicting structure *and* a checksum can * be recognized, that will be preferred. */ #if defined(TSIP_ENABLE) || defined(GARMIN_ENABLE) TSIP_LEADER, /* a DLE after having seen TSIP data */ TSIP_PAYLOAD, /* we're in TSIP payload */ TSIP_DLE, /* we've seen a DLE in TSIP payload */ TSIP_RECOGNIZED, /* found end of the TSIP packet */ GARMIN_RECOGNIZED, /* found end of Garmin packet */ #endif /* TSIP_ENABLE GARMIN_ENABLE */ #ifdef RTCM104V2_ENABLE RTCM2_SYNC_STATE, /* we have sync lock */ RTCM2_SKIP_STATE, /* we have sync lock, but this character is bad */ RTCM2_RECOGNIZED, /* we have an RTCM packet */ #endif /* RTCM104V2_ENABLE */ #ifdef RTCM104V3_ENABLE RTCM3_LEADER_1, /* constant leader byte found */ RTCM3_LEADER_2, /* second leader byte found (high 6 bits zero) */ RTCM3_PAYLOAD, /* gathering payload */ RTCM3_RECOGNIZED, /* RTCM3 packet recognized */ #endif #ifdef PASSTHROUGH_ENABLE JSON_LEADER, /* JSON leading { found */ JSON_STRINGLITERAL, /* start of JSON string literal seen */ JSON_STRING_SOLIDUS, /* backslash in string */ JSON_END_ATTRIBUTE, /* end of JSON attribute */ JSON_EXPECT_VALUE, /* just after colon */ JSON_END_VALUE, /* end of JSON value */ JSON_NUMBER, /* inside a JSON numeric literal */ JSON_SPECIAL, /* inside a JSON special literal (true,false,null) */ JSON_RECOGNIZED, /* JSON packet recognized */ #endif /* end of packet_states.h */ gpsd-3.9/pseudonmea.c0000664000175000017500000002435612022345475013012 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include "gpsd.h" /* * Support for generic binary drivers. These functions dump NMEA for passing * to the client in raw mode. They assume that (a) the public gps.h structure * members are in a valid state, (b) that the private members hours, minutes, * and seconds have also been filled in, (c) that if the private member * mag_var is not NAN it is a magnetic variation in degrees that should be * passed on, and (d) if the private member separation does not have the * value NAN, it is a valid WGS84 geoidal separation in meters for the fix. */ static double degtodm(double angle) /* decimal degrees to GPS-style, degrees first followed by minutes */ { double fraction, integer; fraction = modf(angle, &integer); return floor(angle) * 100 + fraction * 60; } /*@ -mustdefine @*/ void gpsd_position_fix_dump(struct gps_device_t *session, /*@out@*/ char bufp[], size_t len) { struct tm tm; time_t intfixtime; intfixtime = (time_t) session->gpsdata.fix.time; (void)gmtime_r(&intfixtime, &tm); if (session->gpsdata.fix.mode > MODE_NO_FIX) { (void)snprintf(bufp, len, "$GPGGA,%02d%02d%02d,%09.4f,%c,%010.4f,%c,%d,%02d,", tm.tm_hour, tm.tm_min, tm.tm_sec, degtodm(fabs(session->gpsdata.fix.latitude)), ((session->gpsdata.fix.latitude > 0) ? 'N' : 'S'), degtodm(fabs(session->gpsdata.fix.longitude)), ((session->gpsdata.fix.longitude > 0) ? 'E' : 'W'), session->gpsdata.status, session->gpsdata.satellites_used); if (isnan(session->gpsdata.dop.hdop)) (void)strlcat(bufp, ",", len); else (void)snprintf(bufp + strlen(bufp), len - strlen(bufp), "%.2f,", session->gpsdata.dop.hdop); if (isnan(session->gpsdata.fix.altitude)) (void)strlcat(bufp, ",", len); else (void)snprintf(bufp + strlen(bufp), len - strlen(bufp), "%.2f,M,", session->gpsdata.fix.altitude); if (isnan(session->gpsdata.separation)) (void)strlcat(bufp, ",", len); else (void)snprintf(bufp + strlen(bufp), len - strlen(bufp), "%.3f,M,", session->gpsdata.separation); if (isnan(session->mag_var)) (void)strlcat(bufp, ",", len); else { (void)snprintf(bufp + strlen(bufp), len - strlen(bufp), "%3.2f,", fabs(session->mag_var)); (void)strlcat(bufp, (session->mag_var > 0) ? "E" : "W", len); } nmea_add_checksum(bufp); } } /*@ +mustdefine @*/ static void gpsd_transit_fix_dump(struct gps_device_t *session, char bufp[], size_t len) { struct tm tm; time_t intfixtime; tm.tm_mday = tm.tm_mon = tm.tm_year = tm.tm_hour = tm.tm_min = tm.tm_sec = 0; if (isnan(session->gpsdata.fix.time) == 0) { intfixtime = (time_t) session->gpsdata.fix.time; (void)gmtime_r(&intfixtime, &tm); tm.tm_mon++; tm.tm_year %= 100; } #define ZEROIZE(x) (isnan(x)!=0 ? 0.0 : x) /*@ -usedef @*/ (void)snprintf(bufp, len, "$GPRMC,%02d%02d%02d,%c,%09.4f,%c,%010.4f,%c,%.4f,%.3f,%02d%02d%02d,,", tm.tm_hour, tm.tm_min, tm.tm_sec, session->gpsdata.status ? 'A' : 'V', ZEROIZE(degtodm(fabs(session->gpsdata.fix.latitude))), ((session->gpsdata.fix.latitude > 0) ? 'N' : 'S'), ZEROIZE(degtodm(fabs(session->gpsdata.fix.longitude))), ((session->gpsdata.fix.longitude > 0) ? 'E' : 'W'), ZEROIZE(session->gpsdata.fix.speed * MPS_TO_KNOTS), ZEROIZE(session->gpsdata.fix.track), tm.tm_mday, tm.tm_mon, tm.tm_year); /*@ +usedef @*/ #undef ZEROIZE nmea_add_checksum(bufp); } static void gpsd_binary_satellite_dump(struct gps_device_t *session, char bufp[], size_t len) { int i; char *bufp2 = bufp; bufp[0] = '\0'; for (i = 0; i < session->gpsdata.satellites_visible; i++) { if (i % 4 == 0) { bufp += strlen(bufp); bufp2 = bufp; len -= snprintf(bufp, len, "$GPGSV,%d,%d,%02d", ((session->gpsdata.satellites_visible - 1) / 4) + 1, (i / 4) + 1, session->gpsdata.satellites_visible); } bufp += strlen(bufp); if (i < session->gpsdata.satellites_visible) len -= snprintf(bufp, len, ",%02d,%02d,%03d,%02.0f", session->gpsdata.PRN[i], session->gpsdata.elevation[i], session->gpsdata.azimuth[i], session->gpsdata.ss[i]); if (i % 4 == 3 || i == session->gpsdata.satellites_visible - 1) { nmea_add_checksum(bufp2); len -= 5; } } #ifdef ZODIAC_ENABLE if (session->packet.type == ZODIAC_PACKET && session->driver.zodiac.Zs[0] != 0) { bufp += strlen(bufp); bufp2 = bufp; (void)strlcpy(bufp, "$PRWIZCH", len); for (i = 0; i < ZODIAC_CHANNELS; i++) { len -= snprintf(bufp + strlen(bufp), len, ",%02u,%X", session->driver.zodiac.Zs[i], session->driver.zodiac.Zv[i] & 0x0f); } nmea_add_checksum(bufp2); } #endif /* ZODIAC_ENABLE */ } static void gpsd_binary_quality_dump(struct gps_device_t *session, char bufp[], size_t len) { char *bufp2 = bufp; bool used_valid = (session->gpsdata.set & USED_IS) != 0; if (session->device_type != NULL && (session->gpsdata.set & MODE_SET) != 0) { int i, j; (void)snprintf(bufp, len - strlen(bufp), "$GPGSA,%c,%d,", 'A', session->gpsdata.fix.mode); j = 0; for (i = 0; i < session->device_type->channels; i++) { if (session->gpsdata.used[i]) { bufp += strlen(bufp); (void)snprintf(bufp, len - strlen(bufp), "%02d,", used_valid ? session->gpsdata.used[i] : 0); j++; } } for (i = j; i < session->device_type->channels; i++) { bufp += strlen(bufp); (void)strlcpy(bufp, ",", len); } bufp += strlen(bufp); #define ZEROIZE(x) (isnan(x)!=0 ? 0.0 : x) if (session->gpsdata.fix.mode == MODE_NO_FIX) (void)strlcat(bufp, ",,,", len); else (void)snprintf(bufp, len - strlen(bufp), "%.1f,%.1f,%.1f*", ZEROIZE(session->gpsdata.dop.pdop), ZEROIZE(session->gpsdata.dop.hdop), ZEROIZE(session->gpsdata.dop.vdop)); nmea_add_checksum(bufp2); bufp += strlen(bufp); } if (isfinite(session->gpsdata.fix.epx)!=0 && isfinite(session->gpsdata.fix.epy)!=0 && isfinite(session->gpsdata.fix.epv)!=0 && isfinite(session->gpsdata.epe)!=0) { struct tm tm; time_t intfixtime; tm.tm_hour = tm.tm_min = tm.tm_sec = 0; if (isnan(session->gpsdata.fix.time) == 0) { intfixtime = (time_t) session->gpsdata.fix.time; (void)gmtime_r(&intfixtime, &tm); } (void)snprintf(bufp, len - strlen(bufp), "$GPGBS,%02d%02d%02d,%.2f,M,%.2f,M,%.2f,M", tm.tm_hour, tm.tm_min, tm.tm_sec, ZEROIZE(session->gpsdata.fix.epx), ZEROIZE(session->gpsdata.fix.epy), ZEROIZE(session->gpsdata.fix.epv)); nmea_add_checksum(bufp); } #undef ZEROIZE } static void gpsd_binary_time_dump(struct gps_device_t *session, char bufp[], size_t len) { struct tm tm; double integral; time_t integral_time; if (session->newdata.mode > MODE_NO_FIX) { double fractional = modf(session->newdata.time, &integral); integral_time = (time_t) integral; (void)gmtime_r(&integral_time, &tm); /* * We pin this report to the GMT/UTC timezone. This may be technically * incorrect; our sources on ZDA suggest that it should report local * timezone. But no GPS we've ever seen actually does this, because it * would require embedding a location-to-TZ database in the receiver. * And even if we could do that, it would make our regression tests * break any time they were run in a timezone different from the one * where they were generated. */ (void)snprintf(bufp, len, "$GPZDA,%02d%02d%05.2f,%02d,%02d,%04d,00,00", tm.tm_hour, tm.tm_min, (double)tm.tm_sec + fractional, tm.tm_mday, tm.tm_mon + 1, tm.tm_year + 1900); nmea_add_checksum(bufp); } } static void gpsd_binary_almanac_dump(struct gps_device_t *session, char bufp[], size_t len) { if ( session->gpsdata.subframe.is_almanac ) { (void)snprintf(bufp, len, "$GPALM,1,1,%02d,%04d,%02x,%04x,%02x,%04x,%04x,%05x,%06x,%06x,%06x,%03x,%03x", (int)session->gpsdata.subframe.sub5.almanac.sv, (int)session->context->gps_week % 1024, (unsigned int)session->gpsdata.subframe.sub5.almanac.svh, (unsigned int)session->gpsdata.subframe.sub5.almanac.e, (unsigned int)session->gpsdata.subframe.sub5.almanac.toa, (unsigned int)session->gpsdata.subframe.sub5.almanac.deltai, (unsigned int)session->gpsdata.subframe.sub5.almanac.Omegad, (unsigned int)session->gpsdata.subframe.sub5.almanac.sqrtA, (unsigned int)session->gpsdata.subframe.sub5.almanac.omega, (unsigned int)session->gpsdata.subframe.sub5.almanac.Omega0, (unsigned int)session->gpsdata.subframe.sub5.almanac.M0, (unsigned int)session->gpsdata.subframe.sub5.almanac.af0, (unsigned int)session->gpsdata.subframe.sub5.almanac.af1); nmea_add_checksum(bufp); } } /*@-compdef -mustdefine@*/ /* *INDENT-OFF* */ void nmea_tpv_dump(struct gps_device_t *session, /*@out@*/ char bufp[], size_t len) { bufp[0] = '\0'; if ((session->gpsdata.set & TIME_SET) != 0) gpsd_binary_time_dump(session, bufp + strlen(bufp), len - strlen(bufp)); if ((session->gpsdata.set & LATLON_SET) != 0) { gpsd_position_fix_dump(session, bufp + strlen(bufp), len - strlen(bufp)); gpsd_transit_fix_dump(session, bufp + strlen(bufp), len - strlen(bufp)); } if ((session->gpsdata.set & (MODE_SET | DOP_SET | USED_IS | HERR_SET | VERR_SET)) != 0) gpsd_binary_quality_dump(session, bufp + strlen(bufp), len - strlen(bufp)); } /* *INDENT-ON* */ void nmea_sky_dump(struct gps_device_t *session, /*@out@*/ char bufp[], size_t len) { bufp[0] = '\0'; if ((session->gpsdata.set & SATELLITE_SET) != 0) gpsd_binary_satellite_dump(session, bufp + strlen(bufp), len - strlen(bufp)); } void nmea_subframe_dump(struct gps_device_t *session, /*@out@*/ char bufp[], size_t len) { bufp[0] = '\0'; if ((session->gpsdata.set & SUBFRAME_SET) != 0) gpsd_binary_almanac_dump(session, bufp + strlen(bufp), len - strlen(bufp)); } /*@+compdef +mustdefine@*/ /* pseudonmea.c ends here */ gpsd-3.9/regress-driver0000775000175000017500000001450012075230212013353 0ustar esresr#!/bin/sh # # The regression-test driver script. This used to be explicit in the # makefile before we regrouped the regression tests by stable and unstable # drivers. # Requires GNU date extensions # Should return an empty blank string if those are not present. starttime=`date +"%s" 2>/dev/null` # We need to have the build directory in $GPSD_HOME to find the new gpsd if [ "`dirname $0`" = "." ]; then GPSD_HOME=`pwd` else GPSD_HOME=`dirname $0` fi # Arrange to call a gpsfake in the source directory without fuss. if [ -z ${PYTHON} ]; then PYTHON="python" fi # For an explanation of what we define here, see the comment on # PYTHON_DISTUTILS_LIBDIR/PYTHON_DISTUTILS_SCRIPTDIR in configure.ac py_libdir=`pwd`/build/`${PYTHON} -c 'import distutils.util; import sys; print("lib.%s-%s" %(distutils.util.get_platform(), sys.version[0:3]))'` py_scriptdir=`pwd`/build/`${PYTHON} -c 'import sys; print("scripts-%s" %(sys.version[0:3], ))'` if [ -d ${py_libdir} ] && [ -d ${py_scriptdir} ]; then PYTHONPATH=${py_libdir} export PYTHONPATH PATH=${py_scriptdir}:${PATH} fi export GPSD_HOME PATH mode=regress testing=daemon opts="" logfile="" help="0" while getopts cl:strbuvo:h opt do case $opt in c) testing=clientlib ;; # Can be 'daemon' l) logfile=$OPTARG ;; # Logfile to save diffs to s) mode=regress ;; # Run regression tests t) opts="-b $opts" mode=regress ;; # Run regression tests w/baton r) mode=superraw ;; # Run superraw regressions (r=2 mode) b) mode=build ;; # Rebuild regression check files u) opts="$opts -u" ;; # Force UDP v) mode=view ;; # View result of generating a check file o) opts="$opts $OPTARG" ;; # Pass options to gpsfake h) help="1" esac done shift $(($OPTIND - 1)) if [ $help -eq "1" ] then echo echo echo "Regression test driver script" echo "-h - this help" echo "-c - can be 'daemon'" echo "-l - where to log diffs to" echo "-s - run regreession tests" echo "-t - Run regression tests w/baton" echo "-r - run superraw regressions (r=2 mode)" echo "-b - Rebuild regression check files" echo "-u - Force UDP" echo "-v - view result of generating a check file" echo "-o - Pass options to gpsfake" echo exit 0 fi # Enables us to turn debugging up high without screwing up the diff checks # First and Second filter out gpsd log messages. # Third filters out gps.py verbose loggging # Fourth filters out WATCH responses # Fifth filters out DEVICE responses # Sixth filters out VERSION responses # Seventh filters out device fields GPSFILTER="sed -e /^gpsd:/d -e /^gpsfake/d -e /GPS-DATA/d -e /WATCH/d -e /DEVICE/d -e /VERSION/d -e s/,\"device\":[^,}]*//" # Use ALTFILTER to set up custom filtering when a regression test fails # This example filters out altitude and some fields computed by gpsd's error # modeling - these are fragile in the prsence of changes to the fix-buffering # logic. Note that as the last attribute mode needs to be handled differently. #ALTFILTER="-e s/\"alt\":[^,]*,// -e s/\"ep[vhs]\":[-+0-9.]*// -e s/,\"mode\":[^}]*//" TMP=`mktemp -d -t gpsd-test-XXXXXXXXXXXXXX` # Only twirl the baton on a tty, avoids junk in transcripts. if [ -t 1 ] then opts="$opts -b" fi case $mode in regress) echo "Testing the $testing..." >&2 errors=0; total=0; notfound=0;error_list=""; for f in $*; do if [ -r $f.chk ] then trap 'rm -f ${TMP}/test-$$.chk; exit $errors' EXIT HUP INT TERM case $testing in daemon) TMPDIR=${TMP} ${PYTHON} ${GPSD_HOME}/gpsfake -s 38400 -f -1 -p $opts ${f} | ${GPSFILTER} ${ALTFILTER} >${TMP}/test-$$.chk ;; clientlib) ${GPSD_HOME}/test_libgps -b <${f} >${TMP}/test-$$.chk ;; esac if [ "${ALTFILTER}" ] then trap 'rm -f ${TMP}/test-$$.chk ${TMP}/testout-$$.chk ${TMP}/testin-$$.chk ${TMP}/diff-$$; exit $errors' EXIT HUP INT TERM sed -n <${f}.chk >${TMP}/testin-$$.chk ${ALTFILTER} -e 'p'; sed -n <${TMP}/test-$$.chk >${TMP}/testout-$$.chk ${ALTFILTER} -e 'p'; diff -ub ${TMP}/testin-$$.chk ${TMP}/testout-$$.chk >${TMP}/diff-$$; else diff -ub ${f}.chk ${TMP}/test-$$.chk >${TMP}/diff-$$; fi if test -s ${TMP}/diff-$$ ; then errors=`expr $errors + 1`; error_list="$error_list \"${f}\"" if [ -z "$logfile" ] then cat ${TMP}/diff-$$ else cat ${TMP}/diff-$$ >>$logfile fi fi; rm -f ${TMP}/test-$$.chk ${TMP}/testout-$$.chk ${TMP}/testin-$$.chk ${TMP}/diff-$$ else echo "*** No check log $f.chk exists" notfound=`expr $notfound + 1`; fi total=`expr $total + 1`; done; if test $errors -gt 0; then echo "Regression test FAILED: $errors errors in $total tests total ($notfound not found)."; echo "The following test Failed:" echo "================================================================" for err in $error_list do echo $err done echo "================================================================" status=1; else echo "Regression test successful: no errors in $total tests ($notfound not found)."; status=0; fi ;; superraw) echo "Testing super-raw mode..." >&2 for f in $*; do ${PYTHON} ${GPSD_HOME}/gpsfake -s 38400 -1 -p $opts -r '{"class":"WATCH","enable":False,"raw":2}' $opts ${f} \ | ./devtools/striplog -1 >${TMP}/test1-$$.chk; ./devtools/striplog <${f} >${TMP}/test2-$$.chk; cmp ${TMP}/test[12]-$$.chk; done; rm ${TMP}/test[12]-$$.chk ;; build) echo "Rebuilding $testing regressions..." >&2 for f in $*; do case $testing in daemon) ${PYTHON} ${GPSD_HOME}/gpsfake -s 38400 -1 -p $opts ${f} | ${GPSFILTER} >${f}.chk;; clientlib) ${GPSD_HOME}/test_libgps -b <${f} >${f}.chk ;; esac done status=0 ;; view) echo "Viewing..." >&2 for f in $*; do case $testing in daemon) ${PYTHON} ${GPSD_HOME}/gpsfake -s 38400 -1 -p $opts ${f} | ${GPSFILTER} ;; clientlib) ${GPSD_HOME}/libgps -b <${f} ;; esac done status=0 ;; esac # See starttime above endtime=`date +"%s" 2>/dev/null` if [ "$starttime" -a "$endtime" ] then echo -n "Elapsed time: " echo "scale=2; ${endtime} - ${starttime}" | bc fi rm -fr ${TMP} exit $status gpsd-3.9/repo/README0000664000175000017500000000262611762140436012327 0ustar esresrThe repo directory contains git configuration files and hooks as used at Berlios. Here follows a short description of the files and what they do: description: Description of the project as displayed by gitweb/cgit. config: Repository configuration, including config details for the hooks. hooks/post-receive: This script is run after receive-pack has accepted a pack and the repository has been updated. Currently passes stdin to post-receive-email.sh which mails out commit messages to the commit mailing list. See the head of post-receive-email.sh for a documentation of the config options for the hook. hooks/post-receive-email.sh: see hooks/post-receive hooks/post-update: Runs after the update hook. Executes git update-server-info to update the auxiliary info file to help dumb servers (needed to clone via http) hooks/update-custom: Append to the standard update hook script. Calls ciabot.py, which you must also install. The executable script "upload" can be used to update the repo copies with files from this directory. Give it arguments to upload specified filenames, for example upload config uploads the config file. With no arguments, uploads config and all hook scripts under hooks/ directory. gpsd-3.9/repo/config0000664000175000017500000000107211762140436012631 0ustar esresr# Extra attributes to add to git config if the hosting site allows hacking it. # When the project was hosted on Berlios, this was what it used. # Replace MAILHOST with the mailing list host. [gitweb] owner = esr [hooks] mailinglist = gpsd-commit-watch@MAILHOST announcelist = gpsd-announce@MAILHOST envelopesender = gpsd-dev@MAILHOST emailprefix = "" allowunannotated = true allowdeletebranch = true denycreatebranch = false allowdeletetag = false allowmodifytag = false showrev = "git show -C %s; echo" [ciabot] project = GPSD xmlrpc = true gpsd-3.9/repo/description0000664000175000017500000000003011757250541013703 0ustar esresrProject gpsd at BerliOS gpsd-3.9/repo/hooks/post-receive0000775000175000017500000000063611757250541015127 0ustar esresr#!/bin/sh # # An example hook script for the post-receive event # # This script is run after receive-pack has accepted a pack and the # repository has been updated. It is passed arguments in through stdin # in the form # # For example: # aa453216d1b3e49e7f6f98441fa56946ddcd6a20 68f7abf4e6f922807889f52bc043ecd31b79f814 refs/heads/master /gitroot/gpsd/hooks/post-receive-email.sh gpsd-3.9/repo/hooks/post-receive-email.sh0000775000175000017500000004547211757250541016634 0ustar esresr#!/bin/sh # # Copyright (c) 2007 Andy Parkins # # An example hook script to mail out commit update information. This hook # sends emails listing new revisions to the repository introduced by the # change being reported. The rule is that (for branch updates) each commit # will appear on one email and one email only. # # This hook is stored in the contrib/hooks directory. Your distribution # will have put this somewhere standard. You should make this script # executable then link to it in the repository you would like to use it in. # For example, on debian the hook is stored in # /usr/share/doc/git-core/contrib/hooks/post-receive-email: # # chmod a+x post-receive-email # cd /path/to/your/repository.git # ln -sf /usr/share/doc/git-core/contrib/hooks/post-receive-email hooks/post-receive # # This hook script assumes it is enabled on the central repository of a # project, with all users pushing only to it and not between each other. It # will still work if you don't operate in that style, but it would become # possible for the email to be from someone other than the person doing the # push. # # Config # ------ # hooks.mailinglist # This is the list that all pushes will go to; leave it blank to not send # emails for every ref update. # hooks.announcelist # This is the list that all pushes of annotated tags will go to. Leave it # blank to default to the mailinglist field. The announce emails lists # the short log summary of the changes since the last annotated tag. # hooks.envelopesender # If set then the -f option is passed to sendmail to allow the envelope # sender address to be set # hooks.emailprefix # All emails have their subjects prefixed with this prefix, or "[SCM]" # if emailprefix is unset, to aid filtering # hooks.showrev # The shell command used to format each revision in the email, with # "%s" replaced with the commit id. Defaults to "git rev-list -1 # --pretty %s", displaying the commit id, author, date and log # message. To list full patches separated by a blank line, you # could set this to "git show -C %s; echo". # # Notes # ----- # All emails include the headers "X-Git-Refname", "X-Git-Oldrev", # "X-Git-Newrev", and "X-Git-Reftype" to enable fine tuned filtering and # give information for debugging. # # ---------------------------- Functions # # Top level email generation function. This decides what type of update # this is and calls the appropriate body-generation routine after outputting # the common header # # Note this function doesn't actually generate any email output, that is # taken care of by the functions it calls: # - generate_email_header # - generate_create_XXXX_email # - generate_update_XXXX_email # - generate_delete_XXXX_email # - generate_email_footer # generate_email() { # --- Arguments oldrev=$(git rev-parse $1) newrev=$(git rev-parse $2) refname="$3" # --- Interpret # 0000->1234 (create) # 1234->2345 (update) # 2345->0000 (delete) if expr "$oldrev" : '0*$' >/dev/null then change_type="create" else if expr "$newrev" : '0*$' >/dev/null then change_type="delete" else change_type="update" fi fi # --- Get the revision types newrev_type=$(git cat-file -t $newrev 2> /dev/null) oldrev_type=$(git cat-file -t "$oldrev" 2> /dev/null) case "$change_type" in create|update) rev="$newrev" rev_type="$newrev_type" ;; delete) rev="$oldrev" rev_type="$oldrev_type" ;; esac # The revision type tells us what type the commit is, combined with # the location of the ref we can decide between # - working branch # - tracking branch # - unannoted tag # - annotated tag case "$refname","$rev_type" in refs/tags/*,commit) # un-annotated tag refname_type="tag" short_refname=${refname##refs/tags/} ;; refs/tags/*,tag) # annotated tag refname_type="annotated tag" short_refname=${refname##refs/tags/} # change recipients if [ -n "$announcerecipients" ]; then recipients="$announcerecipients" fi ;; refs/heads/*,commit) # branch refname_type="branch" short_refname=${refname##refs/heads/} ;; refs/remotes/*,commit) # tracking branch refname_type="tracking branch" short_refname=${refname##refs/remotes/} echo >&2 "*** Push-update of tracking branch, $refname" echo >&2 "*** - no email generated." exit 0 ;; *) # Anything else (is there anything else?) echo >&2 "*** Unknown type of update to $refname ($rev_type)" echo >&2 "*** - no email generated" exit 1 ;; esac # Check if we've got anyone to send to if [ -z "$recipients" ]; then case "$refname_type" in "annotated tag") config_name="hooks.announcelist" ;; *) config_name="hooks.mailinglist" ;; esac echo >&2 "*** $config_name is not set so no email will be sent" echo >&2 "*** for $refname update $oldrev->$newrev" exit 0 fi # Email parameters # The email subject will contain the best description of the ref # that we can build from the parameters describe=$(git describe $rev 2>/dev/null) if [ -z "$describe" ]; then describe=$rev fi generate_email_header # Call the correct body generation function fn_name=general case "$refname_type" in "tracking branch"|branch) fn_name=branch ;; "annotated tag") fn_name=atag ;; esac generate_${change_type}_${fn_name}_email generate_email_footer } generate_email_header() { # --- Email (all stdout will be the email) # Generate header cat <<-EOF To: $recipients Subject: ${emailprefix}$projectdesc $refname_type, $short_refname, ${change_type}d. $describe X-Git-Refname: $refname X-Git-Reftype: $refname_type X-Git-Oldrev: $oldrev X-Git-Newrev: $newrev This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "$projectdesc". The $refname_type, $short_refname has been ${change_type}d EOF } generate_email_footer() { SPACE=" " cat <<-EOF hooks/post-receive --${SPACE} $projectdesc EOF } # --------------- Branches # # Called for the creation of a branch # generate_create_branch_email() { # This is a new branch and so oldrev is not valid echo " at $newrev ($newrev_type)" echo "" echo $LOGBEGIN show_new_revisions echo $LOGEND } # # Called for the change of a pre-existing branch # generate_update_branch_email() { # Consider this: # 1 --- 2 --- O --- X --- 3 --- 4 --- N # # O is $oldrev for $refname # N is $newrev for $refname # X is a revision pointed to by some other ref, for which we may # assume that an email has already been generated. # In this case we want to issue an email containing only revisions # 3, 4, and N. Given (almost) by # # git rev-list N ^O --not --all # # The reason for the "almost", is that the "--not --all" will take # precedence over the "N", and effectively will translate to # # git rev-list N ^O ^X ^N # # So, we need to build up the list more carefully. git rev-parse # will generate a list of revs that may be fed into git rev-list. # We can get it to make the "--not --all" part and then filter out # the "^N" with: # # git rev-parse --not --all | grep -v N # # Then, using the --stdin switch to git rev-list we have effectively # manufactured # # git rev-list N ^O ^X # # This leaves a problem when someone else updates the repository # while this script is running. Their new value of the ref we're # working on would be included in the "--not --all" output; and as # our $newrev would be an ancestor of that commit, it would exclude # all of our commits. What we really want is to exclude the current # value of $refname from the --not list, rather than N itself. So: # # git rev-parse --not --all | grep -v $(git rev-parse $refname) # # Get's us to something pretty safe (apart from the small time # between refname being read, and git rev-parse running - for that, # I give up) # # # Next problem, consider this: # * --- B --- * --- O ($oldrev) # \ # * --- X --- * --- N ($newrev) # # That is to say, there is no guarantee that oldrev is a strict # subset of newrev (it would have required a --force, but that's # allowed). So, we can't simply say rev-list $oldrev..$newrev. # Instead we find the common base of the two revs and list from # there. # # As above, we need to take into account the presence of X; if # another branch is already in the repository and points at some of # the revisions that we are about to output - we don't want them. # The solution is as before: git rev-parse output filtered. # # Finally, tags: 1 --- 2 --- O --- T --- 3 --- 4 --- N # # Tags pushed into the repository generate nice shortlog emails that # summarise the commits between them and the previous tag. However, # those emails don't include the full commit messages that we output # for a branch update. Therefore we still want to output revisions # that have been output on a tag email. # # Luckily, git rev-parse includes just the tool. Instead of using # "--all" we use "--branches"; this has the added benefit that # "remotes/" will be ignored as well. # List all of the revisions that were removed by this update, in a # fast forward update, this list will be empty, because rev-list O # ^N is empty. For a non fast forward, O ^N is the list of removed # revisions fast_forward="" rev="" for rev in $(git rev-list $newrev..$oldrev) do revtype=$(git cat-file -t "$rev") echo " discards $rev ($revtype)" done if [ -z "$rev" ]; then fast_forward=1 fi # List all the revisions from baserev to newrev in a kind of # "table-of-contents"; note this list can include revisions that # have already had notification emails and is present to show the # full detail of the change from rolling back the old revision to # the base revision and then forward to the new revision for rev in $(git rev-list $oldrev..$newrev) do revtype=$(git cat-file -t "$rev") echo " via $rev ($revtype)" done if [ "$fast_forward" ]; then echo " from $oldrev ($oldrev_type)" else # 1. Existing revisions were removed. In this case newrev # is a subset of oldrev - this is the reverse of a # fast-forward, a rewind # 2. New revisions were added on top of an old revision, # this is a rewind and addition. # (1) certainly happened, (2) possibly. When (2) hasn't # happened, we set a flag to indicate that no log printout # is required. echo "" # Find the common ancestor of the old and new revisions and # compare it with newrev baserev=$(git merge-base $oldrev $newrev) rewind_only="" if [ "$baserev" = "$newrev" ]; then echo "This update discarded existing revisions and left the branch pointing at" echo "a previous point in the repository history." echo "" echo " * -- * -- N ($newrev)" echo " \\" echo " O -- O -- O ($oldrev)" echo "" echo "The removed revisions are not necessarilly gone - if another reference" echo "still refers to them they will stay in the repository." rewind_only=1 else echo "This update added new revisions after undoing existing revisions. That is" echo "to say, the old revision is not a strict subset of the new revision. This" echo "situation occurs when you --force push a change and generate a repository" echo "containing something like this:" echo "" echo " * -- * -- B -- O -- O -- O ($oldrev)" echo " \\" echo " N -- N -- N ($newrev)" echo "" echo "When this happens we assume that you've already had alert emails for all" echo "of the O revisions, and so we here report only the revisions in the N" echo "branch from the common base, B." fi fi echo "" if [ -z "$rewind_only" ]; then echo "Those revisions listed above that are new to this repository have" echo "not appeared on any other notification email; so we list those" echo "revisions in full, below." echo "" echo $LOGBEGIN show_new_revisions # XXX: Need a way of detecting whether git rev-list actually # outputted anything, so that we can issue a "no new # revisions added by this update" message echo $LOGEND else echo "No new revisions were added by this update." fi # The diffstat is shown from the old revision to the new revision. # This is to show the truth of what happened in this change. # There's no point showing the stat from the base to the new # revision because the base is effectively a random revision at this # point - the user will be interested in what this revision changed # - including the undoing of previous revisions in the case of # non-fast forward updates. echo "" echo "Summary of changes:" git diff-tree --stat --summary --find-copies-harder $oldrev..$newrev } # # Called for the deletion of a branch # generate_delete_branch_email() { echo " was $oldrev" echo "" echo $LOGEND git show -s --pretty=oneline $oldrev echo $LOGEND } # --------------- Annotated tags # # Called for the creation of an annotated tag # generate_create_atag_email() { echo " at $newrev ($newrev_type)" generate_atag_email } # # Called for the update of an annotated tag (this is probably a rare event # and may not even be allowed) # generate_update_atag_email() { echo " to $newrev ($newrev_type)" echo " from $oldrev (which is now obsolete)" generate_atag_email } # # Called when an annotated tag is created or changed # generate_atag_email() { # Use git for-each-ref to pull out the individual fields from the # tag eval $(git for-each-ref --shell --format=' tagobject=%(*objectname) tagtype=%(*objecttype) tagger=%(taggername) tagged=%(taggerdate)' $refname ) echo " tagging $tagobject ($tagtype)" case "$tagtype" in commit) # If the tagged object is a commit, then we assume this is a # release, and so we calculate which tag this tag is # replacing prevtag=$(git describe --abbrev=0 $newrev^ 2>/dev/null) if [ -n "$prevtag" ]; then echo " replaces $prevtag" fi ;; *) echo " length $(git cat-file -s $tagobject) bytes" ;; esac echo " tagged by $tagger" echo " on $tagged" echo "" echo $LOGBEGIN # Show the content of the tag message; this might contain a change # log or release notes so is worth displaying. git cat-file tag $newrev | sed -e '1,/^$/d' echo "" case "$tagtype" in commit) # Only commit tags make sense to have rev-list operations # performed on them if [ -n "$prevtag" ]; then # Show changes since the previous release git rev-list --pretty=short "$prevtag..$newrev" | git shortlog else # No previous tag, show all the changes since time # began git rev-list --pretty=short $newrev | git shortlog fi ;; *) # XXX: Is there anything useful we can do for non-commit # objects? ;; esac echo $LOGEND } # # Called for the deletion of an annotated tag # generate_delete_atag_email() { echo " was $oldrev" echo "" echo $LOGEND git show -s --pretty=oneline $oldrev echo $LOGEND } # --------------- General references # # Called when any other type of reference is created (most likely a # non-annotated tag) # generate_create_general_email() { echo " at $newrev ($newrev_type)" generate_general_email } # # Called when any other type of reference is updated (most likely a # non-annotated tag) # generate_update_general_email() { echo " to $newrev ($newrev_type)" echo " from $oldrev" generate_general_email } # # Called for creation or update of any other type of reference # generate_general_email() { # Unannotated tags are more about marking a point than releasing a # version; therefore we don't do the shortlog summary that we do for # annotated tags above - we simply show that the point has been # marked, and print the log message for the marked point for # reference purposes # # Note this section also catches any other reference type (although # there aren't any) and deals with them in the same way. echo "" if [ "$newrev_type" = "commit" ]; then echo $LOGBEGIN git show --no-color --root -s --pretty=medium $newrev echo $LOGEND else # What can we do here? The tag marks an object that is not # a commit, so there is no log for us to display. It's # probably not wise to output git cat-file as it could be a # binary blob. We'll just say how big it is echo "$newrev is a $newrev_type, and is $(git cat-file -s $newrev) bytes long." fi } # # Called for the deletion of any other type of reference # generate_delete_general_email() { echo " was $oldrev" echo "" echo $LOGEND git show -s --pretty=oneline $oldrev echo $LOGEND } # --------------- Miscellaneous utilities # # Show new revisions as the user would like to see them in the email. # show_new_revisions() { # This shows all log entries that are not already covered by # another ref - i.e. commits that are now accessible from this # ref that were previously not accessible # (see generate_update_branch_email for the explanation of this # command) # Revision range passed to rev-list differs for new vs. updated # branches. if [ "$change_type" = create ] then # Show all revisions exclusive to this (new) branch. revspec=$newrev else # Branch update; show revisions not part of $oldrev. revspec=$oldrev..$newrev fi git rev-parse --not --branches | grep -v $(git rev-parse $refname) | if [ -z "$custom_showrev" ] then git rev-list --pretty --stdin $revspec else git rev-list --stdin $revspec | while read onerev do eval $(printf "$custom_showrev" $onerev) done fi } send_mail() { if [ -n "$envelopesender" ]; then /usr/sbin/sendmail -t -f "$envelopesender" else /usr/sbin/sendmail -t fi } # ---------------------------- main() # --- Constants LOGBEGIN="- Log -----------------------------------------------------------------" LOGEND="-----------------------------------------------------------------------" # --- Config # Set GIT_DIR either from the working directory, or from the environment # variable. GIT_DIR=$(git rev-parse --git-dir 2>/dev/null) if [ -z "$GIT_DIR" ]; then echo >&2 "fatal: post-receive: GIT_DIR not set" exit 1 fi projectdesc=$(sed -ne '1p' "$GIT_DIR/description") # Check if the description is unchanged from it's default, and shorten it to # a more manageable length if it is if expr "$projectdesc" : "Unnamed repository.*$" >/dev/null then projectdesc="UNNAMED PROJECT" fi recipients=$(git config hooks.mailinglist) announcerecipients=$(git config hooks.announcelist) envelopesender=$(git config hooks.envelopesender) emailprefix=$(git config hooks.emailprefix || echo '[SCM] ') custom_showrev=$(git config hooks.showrev) # --- Main loop # Allow dual mode: run from the command line just like the update hook, or # if no arguments are given then run as a hook script if [ -n "$1" -a -n "$2" -a -n "$3" ]; then # Output to the terminal in command line mode - if someone wanted to # resend an email; they could redirect the output to sendmail # themselves PAGER= generate_email $2 $3 $1 else while read oldrev newrev refname do generate_email $oldrev $newrev $refname | send_mail done fi gpsd-3.9/repo/hooks/post-update0000775000175000017500000000011411757250541014756 0ustar esresr#!/bin/sh # # Custom hook for the GPSD project exec git update-server-info gpsd-3.9/repo/hooks/update-custom0000775000175000017500000000056511762140436015312 0ustar esresr# # Local customizations for git update hook begin here. # We'll need a valid absolute path before ciabot.py. # ciabot.py ${refname} $(git rev-list ${oldrev}..${newrev} | tac) cdto=$(git rev-parse --show-cdup) echo "Path to base directory: $cdto" echo "Files modified:" for filename in `git diff --name-only ${oldrev} ${newrev}` do echo "Source path: $filename" done gpsd-3.9/repo/upload0000775000175000017500000000131011762140436012646 0ustar esresr#!/bin/sh # # Upload git configuration from here to the repo # Please do not introduce bashisms into this script. # # Note: This script does not curently work. It used to, on Berlios. # We leave it here because light modifications will probably work # on may forges. # Get around the usual ssh lockout on a repo host by copying up to # the shell host and doing a local move. Written so the last # move is atomic. copy() { scp $1 $LOGNAME@shell.xyzzy.foo:STAGE ssh $LOGNAME@git.xyzzy.foo "cp -f STAGE /gitroot/gpsd && mv /gitroot/gpsd/STAGE /gitroot/gpsd/$1" } if [ $1 ] then for f in $*; do copy $f ; done else copy config for file in hooks/* do copy $file done fi # End gpsd-3.9/rtcm2_json.c0000664000175000017500000002415412022345475012726 0ustar esresr/**************************************************************************** NAME rtcm2_json.c - deserialize RTCM2 JSON DESCRIPTION This module uses the generic JSON parser to get data from RTCM2 representations to libgps structures. PERMISSIONS This file is Copyright (c) 2010 by the GPSD project BSD terms apply: see the file COPYING in the distribution root for details. ***************************************************************************/ #include #include #include #include #include "gpsd.h" #ifdef SOCKET_EXPORT_ENABLE #include "gps_json.h" /* common fields in every RTCM2 message */ int json_rtcm2_read(const char *buf, char *path, size_t pathlen, struct rtcm2_t *rtcm2, /*@null@*/ const char **endptr) { static char *stringptrs[NITEMS(rtcm2->words)]; static char stringstore[sizeof(rtcm2->words) * 2]; static int stringcount; /* *INDENT-OFF* */ #define RTCM2_HEADER \ {"class", t_check, .dflt.check = "RTCM2"}, \ {"type", t_uinteger, .addr.uinteger = &rtcm2->type}, \ {"device", t_string, .addr.string = path, \ .len = pathlen}, \ {"station_id", t_uinteger, .addr.uinteger = &rtcm2->refstaid}, \ {"zcount", t_real, .addr.real = &rtcm2->zcount, \ .dflt.real = NAN}, \ {"seqnum", t_uinteger, .addr.uinteger = &rtcm2->seqnum}, \ {"length", t_uinteger, .addr.uinteger = &rtcm2->length}, \ {"station_health", t_uinteger, .addr.uinteger = &rtcm2->stathlth}, int status = 0, satcount = 0; /*@ -fullinitblock @*/ const struct json_attr_t rtcm1_satellite[] = { {"ident", t_uinteger, STRUCTOBJECT(struct gps_rangesat_t, ident)}, {"udre", t_uinteger, STRUCTOBJECT(struct gps_rangesat_t, udre)}, {"iod", t_uinteger, STRUCTOBJECT(struct gps_rangesat_t, iod)}, {"prc", t_real, STRUCTOBJECT(struct gps_rangesat_t, prc)}, {"rrc", t_real, STRUCTOBJECT(struct gps_rangesat_t, rrc)}, {NULL}, }; /*@-type@*//* STRUCTARRAY confuses splint */ const struct json_attr_t json_rtcm1[] = { RTCM2_HEADER {"satellites", t_array, STRUCTARRAY(rtcm2->gps_ranges.sat, rtcm1_satellite, &satcount)}, {NULL}, }; /*@+type@*/ const struct json_attr_t json_rtcm3[] = { RTCM2_HEADER {"x", t_real, .addr.real = &rtcm2->ecef.x, .dflt.real = NAN}, {"y", t_real, .addr.real = &rtcm2->ecef.y, .dflt.real = NAN}, {"z", t_real, .addr.real = &rtcm2->ecef.z, .dflt.real = NAN}, {NULL}, }; /* * Beware! Needs to stay synchronized with a corresponding * name array in the RTCM2 JSON dump code. This interpretation of * NAVSYSTEM_GALILEO is assumed from RTCM3, it's not actually * documented in RTCM 2.1. */ const struct json_enum_t system_table[] = { {"GPS", 0}, {"GLONASS", 1}, {"GALILEO", 2}, {"UNKNOWN", 2}, {NULL} }; const struct json_attr_t json_rtcm4[] = { RTCM2_HEADER {"valid", t_boolean, .addr.boolean = &rtcm2->reference.valid}, {"system", t_integer, .addr.integer = &rtcm2->reference.system, .map=system_table}, {"sense", t_integer, .addr.integer = &rtcm2->reference.sense}, {"datum", t_string, .addr.string = rtcm2->reference.datum, .len = sizeof(rtcm2->reference.datum)}, {"dx", t_real, .addr.real = &rtcm2->reference.dx, .dflt.real = NAN}, {"dy", t_real, .addr.real = &rtcm2->reference.dy, .dflt.real = NAN}, {"dz", t_real, .addr.real = &rtcm2->reference.dz, .dflt.real = NAN}, {NULL}, }; const struct json_attr_t rtcm5_satellite[] = { {"ident", t_uinteger, STRUCTOBJECT(struct consat_t, ident)}, {"iodl", t_boolean, STRUCTOBJECT(struct consat_t, iodl)}, {"health", t_uinteger, STRUCTOBJECT(struct consat_t, health)}, {"snr", t_integer, STRUCTOBJECT(struct consat_t, snr)}, {"health_en", t_boolean, STRUCTOBJECT(struct consat_t, health_en)}, {"new_data", t_boolean, STRUCTOBJECT(struct consat_t, new_data)}, {"los_warning", t_boolean, STRUCTOBJECT(struct consat_t, los_warning)}, {"tou", t_uinteger, STRUCTOBJECT(struct consat_t, tou)}, {NULL}, }; /*@-type@*//* STRUCTARRAY confuses splint */ const struct json_attr_t json_rtcm5[] = { RTCM2_HEADER {"satellites", t_array, STRUCTARRAY(rtcm2->conhealth.sat, rtcm5_satellite, &satcount)}, {NULL}, }; /*@+type@*/ const struct json_attr_t json_rtcm6[] = { RTCM2_HEADER // No-op or keepalive message {NULL}, }; const struct json_attr_t rtcm7_satellite[] = { {"lat", t_real, STRUCTOBJECT(struct station_t, latitude)}, {"lon", t_real, STRUCTOBJECT(struct station_t, longitude)}, {"range", t_uinteger, STRUCTOBJECT(struct station_t, range)}, {"frequency", t_real, STRUCTOBJECT(struct station_t, frequency)}, {"health", t_uinteger, STRUCTOBJECT(struct station_t, health)}, {"station_id", t_uinteger, STRUCTOBJECT(struct station_t, station_id)}, {"bitrate", t_uinteger, STRUCTOBJECT(struct station_t, bitrate)}, {NULL}, }; /*@-type@*//* STRUCTARRAY confuses splint */ const struct json_attr_t json_rtcm7[] = { RTCM2_HEADER {"satellites", t_array, STRUCTARRAY(rtcm2->almanac.station, rtcm7_satellite, &satcount)}, {NULL}, }; /*@+type@*/ const struct json_attr_t json_rtcm13[] = { RTCM2_HEADER {"status", t_boolean, .addr.boolean = &rtcm2->xmitter.status}, {"rangeflag", t_boolean, .addr.boolean = &rtcm2->xmitter.rangeflag}, {"lat", t_real, .addr.real = &rtcm2->xmitter.lat, .dflt.real = NAN}, {"lon", t_real, .addr.real = &rtcm2->xmitter.lon, .dflt.real = NAN}, {"range", t_uinteger, .addr.uinteger = &rtcm2->xmitter.range}, {NULL}, }; const struct json_attr_t json_rtcm14[] = { RTCM2_HEADER {"week", t_uinteger, .addr.uinteger = &rtcm2->gpstime.week}, {"hour", t_uinteger, .addr.uinteger = &rtcm2->gpstime.hour}, {"leapsecs", t_uinteger, .addr.uinteger = &rtcm2->gpstime.leapsecs}, {NULL}, }; const struct json_attr_t json_rtcm16[] = { RTCM2_HEADER {"message", t_string, .addr.string = rtcm2->message, .len = sizeof(rtcm2->message)}, {NULL}, }; const struct json_attr_t rtcm31_satellite[] = { {"ident", t_uinteger, STRUCTOBJECT(struct glonass_rangesat_t, ident)}, {"udre", t_uinteger, STRUCTOBJECT(struct glonass_rangesat_t, udre)}, {"change", t_boolean, STRUCTOBJECT(struct glonass_rangesat_t, change)}, {"tod", t_uinteger, STRUCTOBJECT(struct glonass_rangesat_t, tod)}, {"prc", t_real, STRUCTOBJECT(struct glonass_rangesat_t, prc)}, {"rrc", t_real, STRUCTOBJECT(struct glonass_rangesat_t, rrc)}, {NULL}, }; /*@-type@*//* STRUCTARRAY confuses splint */ const struct json_attr_t json_rtcm31[] = { RTCM2_HEADER {"satellites", t_array, STRUCTARRAY(rtcm2->glonass_ranges.sat, rtcm31_satellite, &satcount)}, {NULL}, }; /*@+type@*/ /*@-type@*//* complex union array initislizations confuses splint */ const struct json_attr_t json_rtcm2_fallback[] = { RTCM2_HEADER {"data", t_array, .addr.array.element_type = t_string, .addr.array.arr.strings.ptrs = stringptrs, .addr.array.arr.strings.store = stringstore, .addr.array.arr.strings.storelen = sizeof(stringstore), .addr.array.count = &stringcount, .addr.array.maxlen = NITEMS(stringptrs)}, {NULL}, }; /*@+type@*/ /*@ +fullinitblock @*/ #undef RTCM2_HEADER /* *INDENT-ON* */ memset(rtcm2, '\0', sizeof(struct rtcm2_t)); if (strstr(buf, "\"type\":1,") != NULL || strstr(buf, "\"type\":9,") != NULL) { status = json_read_object(buf, json_rtcm1, endptr); if (status == 0) rtcm2->gps_ranges.nentries = (unsigned)satcount; } else if (strstr(buf, "\"type\":3,") != NULL) { status = json_read_object(buf, json_rtcm3, endptr); if (status == 0) { rtcm2->ecef.valid = (isnan(rtcm2->ecef.x) == 0) && (isnan(rtcm2->ecef.y) == 0) && (isnan(rtcm2->ecef.z) == 0); } } else if (strstr(buf, "\"type\":4,") != NULL) { status = json_read_object(buf, json_rtcm4, endptr); if (status == 0) rtcm2->reference.valid = (isnan(rtcm2->reference.dx) == 0) && (isnan(rtcm2->reference.dy) == 0) && (isnan(rtcm2->reference.dz) == 0); } else if (strstr(buf, "\"type\":5,") != NULL) { status = json_read_object(buf, json_rtcm5, endptr); if (status == 0) rtcm2->conhealth.nentries = (unsigned)satcount; } else if (strstr(buf, "\"type\":6,") != NULL) { status = json_read_object(buf, json_rtcm6, endptr); } else if (strstr(buf, "\"type\":7,") != NULL) { status = json_read_object(buf, json_rtcm7, endptr); if (status == 0) rtcm2->almanac.nentries = (unsigned)satcount; } else if (strstr(buf, "\"type\":13,") != NULL) { status = json_read_object(buf, json_rtcm13, endptr); } else if (strstr(buf, "\"type\":14,") != NULL) { status = json_read_object(buf, json_rtcm14, endptr); } else if (strstr(buf, "\"type\":16,") != NULL) { status = json_read_object(buf, json_rtcm16, endptr); } else if (strstr(buf, "\"type\":31,") != NULL) { status = json_read_object(buf, json_rtcm31, endptr); if (status == 0) rtcm2->glonass_ranges.nentries = (unsigned)satcount; } else { int n; status = json_read_object(buf, json_rtcm2_fallback, endptr); for (n = 0; n < NITEMS(rtcm2->words); n++) { if (n >= stringcount) { rtcm2->words[n] = 0; } else { unsigned int u; int fldcount = sscanf(stringptrs[n], "0x%08x\n", &u); if (fldcount != 1) return JSON_ERR_MISC; else rtcm2->words[n] = (isgps30bits_t) u; } } } return status; } #endif /* SOCKET_EXPORT_ENABLE */ /* rtcm2_json.c ends here */ gpsd-3.9/sd_socket.c0000664000175000017500000000116211762140436012616 0ustar esresr/* * This file is Copyright (c) 2011 by Eckhart Wörner * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include "sd_socket.h" int sd_get_socket_count(void) { unsigned long n; const char* env; env = getenv("LISTEN_PID"); if (!env) return 0; n = strtoul(env, NULL, 10); if (n == ULONG_MAX || (pid_t)n != getpid()) return 0; env = getenv("LISTEN_FDS"); if (!env) return 0; n = strtoul(env, NULL, 10); if (n == ULONG_MAX) return 0; return (int)n; } gpsd-3.9/sd_socket.h0000664000175000017500000000040611762140436012623 0ustar esresr/* * This file is Copyright (c) 2011 by Eckhart Wörner * BSD terms apply: see the file COPYING in the distribution root for details. */ #ifndef GPSD_SD_SOCKET_H #define GPSD_SD_SOCKET_H #define SD_SOCKET_FDS_START 3 int sd_get_socket_count(void); #endif gpsd-3.9/serial.c0000664000175000017500000005054512140106606012120 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include #include #include #ifndef S_SPLINT_S #include #include #endif /* S_SPLINT_S */ #include "gpsd_config.h" #ifdef HAVE_BLUEZ #include #include #include #include #endif /* HAVE_BLUEZ */ #include "gpsd.h" /* Workaround for HP-UX 11.23, which is missing CRTSCTS */ #ifndef CRTSCTS # ifdef CNEW_RTSCTS # define CRTSCTS CNEW_RTSCTS # else # define CRTSCTS 0 # endif /* CNEW_RTSCTS */ #endif /* !CRTSCTS */ static sourcetype_t gpsd_classify(const char *path) /* figure out what kind of device we're looking at */ { struct stat sb; if (stat(path, &sb) == -1) return source_unknown; else if (S_ISREG(sb.st_mode)) return source_blockdev; /* this assumes we won't get UDP from a filesystem socket */ else if (S_ISSOCK(sb.st_mode)) return source_tcp; else if (S_ISCHR(sb.st_mode)) { sourcetype_t devtype = source_rs232; #ifdef __linux__ /* Linux major device numbers live here * ftp://ftp.kernel.org/pub/linux/docs/device-list/devices-2.6+.txt */ int devmajor = major(sb.st_rdev); /* 207 are Freescale i.MX UARTs (ttymxc*) */ if (devmajor == 4 || devmajor == 204 || devmajor == 207) devtype = source_rs232; else if (devmajor == 188) devtype = source_usb; else if (devmajor == 216 || devtype == 217) devtype = source_bluetooth; else if (devmajor == 3 || (devmajor >= 136 && devmajor <= 143)) devtype = source_pty; #endif /* __linux__ */ return devtype; } else return source_unknown; } #ifdef __linux__ #include #include static int fusercount(const char *path) /* return true if any process has the specified path open */ { DIR *procd, *fdd; struct dirent *procentry, *fdentry; char procpath[32], fdpath[64], linkpath[64]; int cnt = 0; if ((procd = opendir("/proc")) == NULL) return -1; while ((procentry = readdir(procd)) != NULL) { if (isdigit(procentry->d_name[0])==0) continue; (void)snprintf(procpath, sizeof(procpath), "/proc/%s/fd/", procentry->d_name); if ((fdd = opendir(procpath)) == NULL) continue; while ((fdentry = readdir(fdd)) != NULL) { (void)strlcpy(fdpath, procpath, sizeof(fdpath)); (void)strlcat(fdpath, fdentry->d_name, sizeof(fdpath)); (void)memset(linkpath, '\0', sizeof(linkpath)); if (readlink(fdpath, linkpath, sizeof(linkpath)) == -1) continue; if (strcmp(linkpath, path) == 0) { ++cnt; } } (void)closedir(fdd); } (void)closedir(procd); return cnt; } #endif /* __linux__ */ void gpsd_tty_init(struct gps_device_t *session) /* to be called on allocating a device */ { /* mark GPS fd closed and its baud rate unknown */ session->gpsdata.gps_fd = -1; session->saved_baud = -1; #ifdef NTPSHM_ENABLE /* mark NTPD shared memory segments as unused */ session->shmindex = -1; # ifdef PPS_ENABLE session->shmTimeP = -1; # endif /* PPS_ENABLE */ #endif /* NTPSHM_ENABLE */ session->zerokill = false; session->reawake = (timestamp_t)0; } #if defined(__CYGWIN__) /* Workaround for Cygwin, which is missing cfmakeraw */ /* Pasted from man page; added in serial.c arbitrarily */ void cfmakeraw(struct termios *termios_p) { termios_p->c_iflag &= ~(IGNBRK | BRKINT | PARMRK | ISTRIP | INLCR | IGNCR | ICRNL | IXON); termios_p->c_oflag &= ~OPOST; termios_p->c_lflag &= ~(ECHO | ECHONL | ICANON | ISIG | IEXTEN); termios_p->c_cflag &= ~(CSIZE | PARENB); termios_p->c_cflag |= CS8; } #endif /* defined(__CYGWIN__) */ static speed_t gpsd_get_speed_termios(const struct termios *ttyctl) { speed_t code = cfgetospeed(ttyctl); switch (code) { case B300: return (300); case B1200: return (1200); case B2400: return (2400); case B4800: return (4800); case B9600: return (9600); case B19200: return (19200); case B38400: return (38400); case B57600: return (57600); case B115200: return (115200); case B230400: return (230400); default: /* B0 */ return 0; } } speed_t gpsd_get_speed(const struct gps_device_t *dev) { return gpsd_get_speed_termios(&dev->ttyset); } speed_t gpsd_get_speed_old(const struct gps_device_t *dev) { return gpsd_get_speed_termios(&dev->ttyset_old); } bool gpsd_set_raw(struct gps_device_t * session) { (void)cfmakeraw(&session->ttyset); if (tcsetattr(session->gpsdata.gps_fd, TCIOFLUSH, &session->ttyset) == -1) { gpsd_report(LOG_ERROR, "error changing port attributes: %s\n", strerror(errno)); return false; } return true; } void gpsd_set_speed(struct gps_device_t *session, speed_t speed, char parity, unsigned int stopbits) { speed_t rate; /* * Yes, you can set speeds that aren't in the hunt loop. If you * do this, and you aren't on Linux where baud rate is preserved * across port closings, you've screwed yourself. Don't do that! */ if (speed < 300) rate = B0; else if (speed < 1200) rate = B300; else if (speed < 2400) rate = B1200; else if (speed < 4800) rate = B2400; else if (speed < 9600) rate = B4800; else if (speed < 19200) rate = B9600; else if (speed < 38400) rate = B19200; else if (speed < 57600) rate = B38400; else if (speed < 115200) rate = B57600; else if (speed < 230400) rate = B115200; else rate = B230400; if (rate != cfgetispeed(&session->ttyset) || parity != session->gpsdata.dev.parity || stopbits != session->gpsdata.dev.stopbits) { /* * Don't mess with this conditional! Speed zero is supposed to mean * to leave the port speed at whatever it currently is. This leads * to excellent behavior on Linux, which preserves baudrate across * serial device closes - it means that if you've opended this * device before you typically don't have to hunt at all because * it's still at the same speed you left it - you'll typically * get packet lock within 1.5 seconds. Alas, the BSDs and OS X * aren't so nice. */ /*@ignore@*/ if (rate != B0) { (void)cfsetispeed(&session->ttyset, rate); (void)cfsetospeed(&session->ttyset, rate); } /*@end@*/ session->ttyset.c_iflag &= ~(PARMRK | INPCK); session->ttyset.c_cflag &= ~(CSIZE | CSTOPB | PARENB | PARODD); session->ttyset.c_cflag |= (stopbits == 2 ? CS7 | CSTOPB : CS8); switch (parity) { case 'E': case (char)2: session->ttyset.c_iflag |= INPCK; session->ttyset.c_cflag |= PARENB; break; case 'O': case (char)1: session->ttyset.c_iflag |= INPCK; session->ttyset.c_cflag |= PARENB | PARODD; break; } if (tcsetattr(session->gpsdata.gps_fd, TCSANOW, &session->ttyset) != 0) return; /* * Serious black magic begins here. Getting this code wrong can cause * failures to lock to a correct speed, and not clean reproducible * failures but flukey hardware- and timing-dependent ones. So * be very sure you know what you're doing before hacking it, and * test thoroughly. * * The fundamental problem here is that serial devices take time * to settle into a new baud rate after tcsetattr() is issued. Until * they do so, input will be arbitarily garbled. Normally this * is not a big problem, but in our hunt loop the garbling can trash * a long enough prefix of each sample to prevent detection of a * packet header. We could address the symptom by making the sample * size enough larger that subtracting the maximum length of garble * would still leave a sample longer than the maximum packet size. * But it's better (and more efficient) to address the disease. * * In theory, one might think that not even a tcflush() call would * be needed, with tcsetattr() delaying its return until the device * is in a good state. For simple devices like a 14550 UART that * have fixed response timings this may even work, if the driver * writer was smart enough to delay the return by the right number * of milliseconds after poking the device port(s). * * Problems may arise if the driver's timings are off. Or we may * be talking to a USB device like the pl2303 commonly used in GPS * mice; on these, the change will not happen immediately because * it has to be sent as a message to the external processor that * has to act upon it, and that processor may still have buffered * data in its own FIFO. In this case the expected delay may be * too large and too variable (depending on the details of how the * USB device is integrated with its symbiont hardware) to be put * in the driver. * * So, somehow, we have to introduce a delay after tcsatattr() * returns sufficient to allow *any* device to settle. On the other * hand, a really long delay will make gpsd device registration * unpleasantly laggy. * * The classic way to address this is with a tcflush(), counting * on it to clear the device FIFO. But that call may clear only the * kernel buffers, not the device's hardware FIFO, so it may not * be sufficient by itself. * * flush followed by a 200-millisecond delay followed by flush has * been found to work reliably on the pl2303. It is also known * from testing that a 100-millisec delay is too short, allowing * occasional failure to lock. */ (void)tcflush(session->gpsdata.gps_fd, TCIOFLUSH); (void)usleep(200000); (void)tcflush(session->gpsdata.gps_fd, TCIOFLUSH); } gpsd_report(LOG_INF, "speed %u, %d%c%d\n", gpsd_get_speed(session), 9 - stopbits, parity, stopbits); session->gpsdata.dev.baudrate = (unsigned int)speed; session->gpsdata.dev.parity = parity; session->gpsdata.dev.stopbits = stopbits; /* * The device might need a wakeup string before it will send data. * If we don't know the device type, ship it every driver's wakeup * in hopes it will respond. But not to USB or Bluetooth, because * shipping probe strings to unknown USB serial adaptors or * Bluetooth devices may spam devices that aren't GPSes at all and * could become confused. */ if (!session->context->readonly && session->sourcetype != source_usb && session->sourcetype != source_bluetooth) { if (isatty(session->gpsdata.gps_fd) != 0 && !session->context->readonly) { const struct gps_type_t **dp; if (session->device_type == NULL) { for (dp = gpsd_drivers; *dp; dp++) if ((*dp)->event_hook != NULL) (*dp)->event_hook(session, event_wakeup); } else if (session->device_type->event_hook != NULL) session->device_type->event_hook(session, event_wakeup); } } packet_reset(&session->packet); } int gpsd_serial_open(struct gps_device_t *session) /* open a device for access to its data */ { mode_t mode = (mode_t) O_RDWR; session->sourcetype = gpsd_classify(session->gpsdata.dev.path); session->servicetype = service_sensor; /*@ -boolops -type @*/ if (session->context->readonly || (session->sourcetype <= source_blockdev)) { mode = (mode_t) O_RDONLY; gpsd_report(LOG_INF, "opening read-only GPS data source type %d and at '%s'\n", (int)session->sourcetype, session->gpsdata.dev.path); } else { gpsd_report(LOG_INF, "opening GPS data source type %d at '%s'\n", (int)session->sourcetype, session->gpsdata.dev.path); } /*@ +boolops +type @*/ #ifdef HAVE_BLUEZ if (bachk(session->gpsdata.dev.path) == 0) { struct sockaddr_rc addr = { 0, *BDADDR_ANY, 0}; session->gpsdata.gps_fd = socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM); addr.rc_family = AF_BLUETOOTH; addr.rc_channel = (uint8_t) 1; (void) str2ba(session->gpsdata.dev.path, &addr.rc_bdaddr); if (connect(session->gpsdata.gps_fd, (struct sockaddr *) &addr, sizeof (addr)) == -1) { if (errno != EINPROGRESS && errno != EAGAIN) { (void)close(session->gpsdata.gps_fd); gpsd_report(LOG_ERROR, "bluetooth socket connect failed: %s\n", strerror(errno)); return -1; } gpsd_report(LOG_ERROR, "bluetooth socket connect in progress or again : %s\n", strerror(errno)); } (void)fcntl(session->gpsdata.gps_fd, F_SETFL, (int)mode | O_NONBLOCK); gpsd_report(LOG_PROG, "bluez device open success: %s %s\n", session->gpsdata.dev.path, strerror(errno)); } else #endif /* BLUEZ */ { if ((session->gpsdata.gps_fd = open(session->gpsdata.dev.path, (int)(mode | O_NONBLOCK | O_NOCTTY))) == -1) { gpsd_report(LOG_ERROR, "device open failed: %s - retrying read-only\n", strerror(errno)); if ((session->gpsdata.gps_fd = open(session->gpsdata.dev.path, O_RDONLY | O_NONBLOCK | O_NOCTTY)) == -1) { gpsd_report(LOG_ERROR, "read-only device open failed: %s\n", strerror(errno)); return -1; } gpsd_report(LOG_PROG, "file device open success: %s\n", strerror(errno)); } } /* * Ideally we want to exclusion-lock the device before doing any reads. * It would have been best to do this at open(2) time, but O_EXCL * doesn't work without O_CREAT. * * We have to make an exception for ptys, which are intentionally * opened by another process on the master side, otherwise we'll * break all our regression tests. * * We also exclude bluetooth device because the bluetooth daemon opens them. */ if (!(session->sourcetype == source_pty || session->sourcetype == source_bluetooth)) { /* * Try to block other processes from using this device while we * have it open (later opens should return EBUSY). Won't work * against anything with root privileges, alas. */ (void)ioctl(session->gpsdata.gps_fd, (unsigned long)TIOCEXCL); #ifdef __linux__ /* * Don't touch devices already opened by another process. */ if (fusercount(session->gpsdata.dev.path) > 1) { gpsd_report(LOG_ERROR, "%s already opened by another process\n", session->gpsdata.dev.path); (void)close(session->gpsdata.gps_fd); session->gpsdata.gps_fd = -1; return -1; } #endif /* __linux__ */ } #ifdef FIXED_PORT_SPEED session->saved_baud = FIXED_PORT_SPEED; #endif if (session->saved_baud != -1) { /*@i@*/ (void) cfsetispeed(&session->ttyset, (speed_t) session->saved_baud); /*@i@*/ (void) cfsetospeed(&session->ttyset, (speed_t) session->saved_baud); (void)tcsetattr(session->gpsdata.gps_fd, TCSANOW, &session->ttyset); (void)tcflush(session->gpsdata.gps_fd, TCIOFLUSH); } session->packet.type = BAD_PACKET; if (isatty(session->gpsdata.gps_fd) != 0) { /* Save original terminal parameters */ if (tcgetattr(session->gpsdata.gps_fd, &session->ttyset_old) != 0) return -1; (void)memcpy(&session->ttyset, &session->ttyset_old, sizeof(session->ttyset)); /* * Only block until we get at least one character, whatever the * third arg of read(2) says. */ /*@ ignore @*/ memset(session->ttyset.c_cc, 0, sizeof(session->ttyset.c_cc)); session->ttyset.c_cc[VMIN] = 1; /*@ end @*/ /* * Tip from Chris Kuethe: the FIDI chip used in the Trip-Nav * 200 (and possibly other USB GPSes) gets completely hosed * in the presence of flow control. Thus, turn off CRTSCTS. * * This is not ideal. Setting no parity here will mean extra * initialization time for some devices, like certain Trimble * boards, that want 7O2 or other non-8N1 settings. But starting * the hunt loop at 8N1 will minimize the average sync time * over all devices. */ session->ttyset.c_cflag &= ~(PARENB | PARODD | CRTSCTS | CSTOPB); session->ttyset.c_cflag |= CREAD | CLOCAL; session->ttyset.c_iflag = session->ttyset.c_oflag = session->ttyset.c_lflag = (tcflag_t) 0; #ifndef FIXED_PORT_SPEED session->baudindex = 0; #endif /* FIXED_PORT_SPEED */ gpsd_set_speed(session, #ifdef FIXED_PORT_SPEED FIXED_PORT_SPEED, #else gpsd_get_speed_old(session), #endif /* FIXED_PORT_SPEED */ 'N', #ifdef FIXED_STOP_BITS FIXED_STOP_BITS #else 1 #endif /* FIXED_STOP_BITS */ ); } /* required so parity field won't be '\0' if saved speed matches */ if (session->sourcetype <= source_blockdev) { session->gpsdata.dev.parity = 'N'; session->gpsdata.dev.stopbits = 1; } gpsd_report(LOG_SPIN, "open(%s) -> %d in gpsd_serial_open()\n", session->gpsdata.dev.path, session->gpsdata.gps_fd); return session->gpsdata.gps_fd; } ssize_t gpsd_write(struct gps_device_t * session, const char *buf, size_t len) { ssize_t status; bool ok; if (session == NULL || session->context == NULL || session->context->readonly) return 0; status = write(session->gpsdata.gps_fd, buf, len); ok = (status == (ssize_t) len); (void)tcdrain(session->gpsdata.gps_fd); /* extra guard prevents expensive hexdump calls */ if (session->context->debug >= LOG_IO) gpsd_report(LOG_IO, "=> GPS: %s%s\n", gpsd_packetdump((char *)buf, len), ok ? "" : " FAILED"); return status; } /* * This constant controls how long the packet sniffer will spend looking * for a packet leader before it gives up. It *must* be larger than * MAX_PACKET_LENGTH or we risk never syncing up at all. Large values * will produce annoying startup lag. */ #define SNIFF_RETRIES (MAX_PACKET_LENGTH + 128) bool gpsd_next_hunt_setting(struct gps_device_t * session) /* advance to the next hunt setting */ { /* don't waste time in the hunt loop if this is not actually a tty */ if (isatty(session->gpsdata.gps_fd) == 0) return false; if (session->packet.retry_counter++ >= SNIFF_RETRIES) { session->packet.retry_counter = 0; #ifdef FIXED_PORT_SPEED return false; #else /* every rate we're likely to see on a GPS */ static unsigned int rates[] = { 0, 4800, 9600, 19200, 38400, 57600, 115200, 230400}; if (session->baudindex++ >= (unsigned int)(sizeof(rates) / sizeof(rates[0])) - 1) { session->baudindex = 0; #ifdef FIXED_STOP_BITS return false; /* hunt is over, no sync */ #else if (session->gpsdata.dev.stopbits++ >= 2) return false; /* hunt is over, no sync */ #endif /* FIXED_STOP_BITS */ } #endif /* FIXED_PORT_SPEED */ // cppcheck-suppress unreachableCode gpsd_set_speed(session, #ifdef FIXED_PORT_SPEED FIXED_PORT_SPEED, #else rates[session->baudindex], #endif /* FIXED_PORT_SPEED */ session->gpsdata.dev.parity, #ifdef FIXED_STOP_BITS FIXED_STOP_BITS #else session->gpsdata.dev.stopbits #endif /* FIXED_STOP_BITS */ ); } return true; /* keep hunting */ } void gpsd_assert_sync(struct gps_device_t *session) /* to be called when we want to register that we've synced with a device */ { /* * We've achieved first sync with the device. Remember the * baudrate so we can try it first next time this device * is opened. */ if (session->saved_baud == -1) session->saved_baud = (int)cfgetispeed(&session->ttyset); } void gpsd_close(struct gps_device_t *session) { if (!BAD_SOCKET(session->gpsdata.gps_fd)) { (void)ioctl(session->gpsdata.gps_fd, (unsigned long)TIOCNXCL); (void)tcdrain(session->gpsdata.gps_fd); if (isatty(session->gpsdata.gps_fd) != 0) { /* force hangup on close on systems that don't do HUPCL properly */ /*@ ignore @*/ (void)cfsetispeed(&session->ttyset, (speed_t) B0); (void)cfsetospeed(&session->ttyset, (speed_t) B0); /*@ end @*/ (void)tcsetattr(session->gpsdata.gps_fd, TCSANOW, &session->ttyset); } /* this is the clean way to do it */ session->ttyset_old.c_cflag |= HUPCL; /* keep the most recent baud rate */ /* * Don't revert the serial parameters if we didn't have to mess with * them the first time. Economical, and avoids tripping over an * obscure Linux 2.6 kernel bug that disables threaded * ioctl(TIOCMWAIT) on a device after tcsetattr() is called. */ if (cfgetispeed(&session->ttyset_old) != cfgetispeed(&session->ttyset) || (session->ttyset_old.c_cflag & CSTOPB) != (session->ttyset.c_cflag & CSTOPB)) { /*@ ignore @*/ (void)cfsetispeed(&session->ttyset_old, (speed_t) session->gpsdata.dev.baudrate); (void)cfsetospeed(&session->ttyset_old, (speed_t) session->gpsdata.dev.baudrate); /*@ end @*/ (void)tcsetattr(session->gpsdata.gps_fd, TCSANOW, &session->ttyset_old); } gpsd_report(LOG_SPIN, "close(%d) in gpsd_close(%s)\n", session->gpsdata.gps_fd, session->gpsdata.dev.path); (void)close(session->gpsdata.gps_fd); session->gpsdata.gps_fd = -1; } } gpsd-3.9/shared_json.c0000664000175000017500000000763112022345475013146 0ustar esresr/**************************************************************************** NAME shared_json.c - move data between in-core and JSON structures DESCRIPTION This module uses the generic JSON parser to get data from JSON representations to gps.h structures. These functions are used in both the daemon and the client library. PERMISSIONS Written by Eric S. Raymond, 2009 This file is Copyright (c) 2010 by the GPSD project BSD terms apply: see the file COPYING in the distribution root for details. ***************************************************************************/ #include #include #include "gpsd.h" #ifdef SOCKET_EXPORT_ENABLE #include "gps_json.h" int json_device_read(const char *buf, /*@out@*/ struct devconfig_t *dev, /*@null@*/ const char **endptr) { char tbuf[JSON_DATE_MAX+1]; /*@ -fullinitblock @*/ /* *INDENT-OFF* */ const struct json_attr_t json_attrs_device[] = { {"class", t_check, .dflt.check = "DEVICE"}, {"path", t_string, .addr.string = dev->path, .len = sizeof(dev->path)}, {"activated", t_string, .addr.string = tbuf, .len = sizeof(tbuf)}, {"activated", t_real, .addr.real = &dev->activated}, {"flags", t_integer, .addr.integer = &dev->flags}, {"driver", t_string, .addr.string = dev->driver, .len = sizeof(dev->driver)}, {"subtype", t_string, .addr.string = dev->subtype, .len = sizeof(dev->subtype)}, {"native", t_integer, .addr.integer = &dev->driver_mode, .dflt.integer = DEVDEFAULT_NATIVE}, {"bps", t_uinteger, .addr.uinteger = &dev->baudrate, .dflt.uinteger = DEVDEFAULT_BPS}, {"parity", t_character, .addr.character = &dev->parity, .dflt.character = DEVDEFAULT_PARITY}, {"stopbits", t_uinteger, .addr.uinteger = &dev->stopbits, .dflt.uinteger = DEVDEFAULT_STOPBITS}, {"cycle", t_real, .addr.real = &dev->cycle, .dflt.real = NAN}, {"mincycle", t_real, .addr.real = &dev->mincycle, .dflt.real = NAN}, {NULL}, }; /* *INDENT-ON* */ /*@ +fullinitblock @*/ int status; tbuf[0] = '\0'; status = json_read_object(buf, json_attrs_device, endptr); if (status != 0) return status; /*@-usedef@*/ if (isnan(dev->activated)!=0) { if (tbuf[0] == '\0') dev->activated = NAN; else dev->activated = iso8601_to_unix(tbuf); } /*@+usedef@*/ return 0; } int json_watch_read(const char *buf, /*@out@*/ struct policy_t *ccp, /*@null@*/ const char **endptr) { /*@ -fullinitblock @*/ /* *INDENT-OFF* */ struct json_attr_t chanconfig_attrs[] = { {"class", t_check, .dflt.check = "WATCH"}, {"enable", t_boolean, .addr.boolean = &ccp->watcher, .dflt.boolean = true}, {"json", t_boolean, .addr.boolean = &ccp->json, .nodefault = true}, {"raw", t_integer, .addr.integer = &ccp->raw, .nodefault = true}, {"nmea", t_boolean, .addr.boolean = &ccp->nmea, .nodefault = true}, {"scaled", t_boolean, .addr.boolean = &ccp->scaled}, {"timing", t_boolean, .addr.boolean = &ccp->timing}, {"device", t_string, .addr.string = ccp->devpath, .len = sizeof(ccp->devpath)}, {"remote", t_string, .addr.string = ccp->remote, .len = sizeof(ccp->remote)}, {NULL}, }; /* *INDENT-ON* */ /*@ +fullinitblock @*/ int status; status = json_read_object(buf, chanconfig_attrs, endptr); return status; } #endif /* SOCKET_EXPORT_ENABLE */ /* shared_json.c ends here */ gpsd-3.9/shmexport.c0000664000175000017500000000574112022345475012700 0ustar esresr/**************************************************************************** NAME shmexport.c - shared-memory export from the daemon DESCRIPTION This is a very lightweight alternative to JSON-over-sockets. Clients won't be able to filter by device, and won't get device activation/deactivation notifications. But both client and daemon will avoid all the marshalling and unmarshalling overhead. PERMISSIONS This file is Copyright (c) 2010 by the GPSD project BSD terms apply: see the file COPYING in the distribution root for details. ***************************************************************************/ #include #include #include #include #include #include #include "gpsd.h" #include "libgps.h" /* for SHM_PSEUDO_FD */ #ifdef SHM_EXPORT_ENABLE /*@ -mustfreeonly -nullstate -mayaliasunique @*/ bool shm_acquire(struct gps_context_t *context) /* initialize the shared-memory segment to be used for export */ { int shmid; shmid = shmget((key_t)GPSD_KEY, sizeof(struct gps_data_t), (int)(IPC_CREAT|0666)); if (shmid == -1) { gpsd_report(LOG_ERROR, "shmget(%ld, %zd, 0666) failed: %s\n", (long int)GPSD_KEY, sizeof(struct gps_data_t), strerror(errno)); return false; } context->shmexport = (char *)shmat(shmid, 0, 0); if ((int)(long)context->shmexport == -1) { gpsd_report(LOG_ERROR, "shmat failed: %s\n", strerror(errno)); context->shmexport = NULL; return false; } gpsd_report(LOG_PROG, "shmat() succeeded, segment %d\n", shmid); return true; } void shm_release(struct gps_context_t *context) /* release the shared-memory segment used for export */ { if (context->shmexport != NULL) (void)shmdt((const void *)context->shmexport); } void shm_update(struct gps_context_t *context, struct gps_data_t *gpsdata) /* export an update to all listeners */ { if (context->shmexport != NULL) { static int tick; volatile struct shmexport_t *shared = (struct shmexport_t *)context->shmexport; ++tick; /* * Following block of instructions must not be reordered, otherwise * havoc will ensue. asm volatile("sfence") is a GCCism intended * to prevent reordering. * * This is a simple optimistic-concurrency technique. We write * the second bookend first, then the data, then the first bookend. * Reader copies what it sees in normal order; that way, if we * start to write the segment during the read, the second bookend will * get clobbered first and the data can be detected as bad. */ shared->bookend2 = tick; barrier(); memcpy((void *)(context->shmexport + offsetof(struct shmexport_t, gpsdata)), (void *)gpsdata, sizeof(struct gps_data_t)); barrier(); #ifndef USE_QT shared->gpsdata.gps_fd = SHM_PSEUDO_FD; #else shared->gpsdata.gps_fd = (void *)(intptr_t)SHM_PSEUDO_FD; #endif /* USE_QT */ barrier(); shared->bookend1 = tick; } } /*@ +mustfreeonly +nullstate +mayaliasunique @*/ #endif /* SHM_EXPORT_ENABLE */ /* end */ gpsd-3.9/sockaddr.h0000664000175000017500000000043012022334607012427 0ustar esresr/* klugey def'n of a socket address struct helps hide IPV4 vs. IPV6 ugliness */ typedef union sockaddr_u { struct sockaddr sa; struct sockaddr_in sa_in; #ifdef IPV6_ENABLE struct sockaddr_in6 sa_in6; #endif /* IPV6_ENABLE */ } sockaddr_t; /* sockaddr.h ends here */ gpsd-3.9/srec.xml0000664000175000017500000002623311762140436012160 0ustar esresr 15 Jul 2005 srec 5 The GPSD Project GPSD Documentation srec Motorola S-record record and file format DESCRIPTION Motorola S-records are a form of simple ASCII encoding for binary data. This format is commonly used for firmware uploads to GPSes, industrial robots, and other kinds of microcontroller-driven hardware. It has several convenient properties, including inspectability, easy editing with any text editor, and checksumming for verification of transmission across noisy serial lines. An S-record file consists of a sequence of specially formatted ASCII character strings. An S-record will be less than or equal to 78 bytes in length. The order of S-records within a file is of no significance and no particular order may be assumed. The general format of an S-record follows: +-------------------//------------------//-----------------------+ | type | count | address | data | checksum | +-------------------//------------------//-----------------------+ type A char[2] field. These characters describe the type of record (S0, S1, S2, S3, S5, S7, S8, or S9). count A char[2] field. These characters when paired and interpreted as a big-endian hexadecimal integer, display the count of remaining character pairs in the record. address A char[4,6, or 8] field. These characters grouped and interpreted as a big-endian hexadecimal integer, display the address at which the data field is to be loaded into memory. The length of the field depends on the number of bytes necessary to hold the address. A 2-byte address uses 4 characters, a 3-byte address uses 6 characters, and a 4-byte address uses 8 characters. data A char [0-64] field. These characters when paired and interpreted as hexadecimal values represent the memory loadable data or descriptive information. checksum A char[2] field. These characters when paired and interpreted as a big-endian hexadecimal integer display the least significant byte of the ones complement of the sum of the byte values represented by the pairs of characters making up the count, the address, and the data fields. Each record is terminated with a line feed. If any additional or different record terminator(s) or delay characters are needed during transmission to the target system it is the responsibility of the transmitting program to provide them. There are 9 record types, as follows: S0 The type of record is 'S0' (0x5330). The address field is unused and will be filled with zeros (0x0000). The header information within the data field is divided into the following subfields. mname is char[20] and is the module name. ver is char[2] and is the version number. rev is char[2] and is the revision number. description is char[0-36] and is a text comment. Each of the subfields is composed of ASCII bytes whose associated characters, when paired, represent one byte hexadecimal values in the case of the version and revision numbers, or represent the hexadecimal values of the ASCII characters comprising the module name and description. S1 The type of record field is 'S1' (0x5331). The address field is interpreted as a 2-byte big-endian address. The data field is composed of memory loadable data. S2 The type of record field is 'S2' (0x5332). The address field is interpreted as a 3-byte big-endian address. The data field is composed of memory loadable data. S3 The type of record field is 'S3' (0x5333). The address field is interpreted as a 4-byte big-endian address. The data field is composed of memory loadable data. S5 The type of record field is 'S5' (0x5335). The address field is interpreted as a 2-byte big-endian value and contains the count of S1, S2, and S3 records previously transmitted. There is no data field. S7 The type of record field is 'S7' (0x5337). The address field contains the starting execution address and is interpreted as a 4-byte big-endian address. There is no data field. S8 The type of record field is 'S8' (0x5338). The address field contains the starting execution address and is interpreted as a 3-byte big-endian address. There is no data field. S9 The type of record field is 'S9' (0x5339). The address field contains the starting execution address and is interpreted as a 2-byte big-endian address. There is no data field. EXAMPLE Shown below is a typical S-record format file. S00600004844521B S1130000285F245F2212226A000424290008237C2A S11300100002000800082629001853812341001813 S113002041E900084E42234300182342000824A952 S107003000144ED492 S5030004F8 S9030000FC The file consists of one S0 record, four S1 records, one S5 record and an S9 record. The S0 record is comprised as follows: S0 S-record type S0, indicating it is a header record. 06 Hexadecimal 06 (decimal 6), indicating that six character pairs (or ASCII bytes) follow. 00 00 Four character 2-byte address field, zeroes in this example. 48 44 52 ASCII H, D, and R - "HDR". 1B The checksum. The first S1 record is comprised as follows: S1 S-record type S1, indicating it is a data record to be loaded at a 2-byte address. 13 Hexadecimal 13 (decimal 19), indicating that nineteen character pairs, representing a 2 byte address, 16 bytes of binary data, and a 1 byte checksum, follow. 00 00 Four character 2-byte address field; hexidecimal address 0x0000, where the data which follows is to be loaded. 28 5F 24 5F 22 12 22 6A 00 04 24 29 00 08 23 7C Sixteen character pairs representing the actual binary data. 2A The checksum. The second and third S1 records each contain 0x13 (19) character pairs and are ended with checksums of 13 and 52, respectively. The fourth S1 record contains 07 character pairs and has a checksum of 92. The S5 record is comprised as follows: S5 S-record type S5, indicating it is a count record indicating the number of S1 records 03 Hexadecimal 03 (decimal 3), indicating that three character pairs follow. 00 04 Hexadecimal 0004 (decimal 4), indicating that there are four data records previous to this record. F8 The checksum. The S9 record is comprised as follows: S9 S-record type S9, indicating it is a termination record. 03 Hexadecimal 03 (decimal 3), indicating that three character pairs follow. 00 00 The address field, hexadecimal 0 (decimal 0) indicating the starting execution address. FC The checksum. NOTES There isn't any evidence that Motorola ever made use of the header information within the data field of the S0 record, as described above. This may have been used by some third party vendors. The Unix manual page on S-records is the only place that a 78-byte limit on total record length or 64-byte limit on data length is documented. These values shouldn't be trusted for the general case. The count field can have values in the range of 0x3 (2 bytes of address + 1 byte checksum = 3, a not very useful record) to 0xff; this is the count of remaining character pairs, including checksum. If you write code to convert S-Records, you should always assume that a record can be as long as 514 (decimal) characters in length (255 * 2 = 510, plus 4 characters for the type and count fields), plus any terminating character(s). That is, in establishing an input buffer in C, you would declare it to be an array of 515 chars, thus leaving room for the terminating null character. SEE ALSO gpsd8, gps1, libgps3, libgpsd3, gpsfake1. gpsprof1. AUTHOR From an anonymous web page, itself claiming to have been derived from an old Unix manual page. Now maintained by the GPSD project, which added endianness clarifications. gpsd-3.9/srecord.c0000664000175000017500000000671212022345475012307 0ustar esresr/* * Copyright (c) 2005 Chris Kuethe * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include #include #include "gpsd.h" /* * See srec(5) for a description of this format. * We read and write 4-byte addresses. * S0: Comments * S3: Memory Loadable Data, 4byte address * S5: Count of S1, S2 and S3 Records * S7: starting execution address interpreted as a 4-byte address */ #define MAX_BYTES_PER_RECORD 16 /* * bin2srec: turn a chunk of binary into an S-record * offset: used to specify load address * num: up to MAX_BYTES_PER_RECORD bytes can be encoded at one time * bytes are read from bbuf and a ready-to-go srecord is placed in sbuf */ int bin2srec(unsigned int type, unsigned int offset, unsigned int num, unsigned char *bbuf, unsigned char *sbuf) { unsigned char abuf[MAX_BYTES_PER_RECORD * 2 + 2], sum; size_t len; if ((num < 1) || (num > MAX_BYTES_PER_RECORD)) return -1; len = (size_t) (4 + num + 1); memset(abuf, 0, sizeof(abuf)); hexdump((size_t) num, bbuf, abuf); sum = sr_sum((unsigned int)len, offset, bbuf); (void)snprintf((char *)sbuf, MAX_BYTES_PER_RECORD * 2 + 17, "S%u%02X%08X%s%02X\r\n", type, (unsigned)len, offset, (char *)abuf, (unsigned)sum); return 0; } int srec_hdr(unsigned int num, unsigned char *bbuf, unsigned char *sbuf) { return bin2srec(0, 0, num, bbuf, sbuf); } int srec_fin(unsigned int num, unsigned char *sbuf) { unsigned char bbuf[4], sum; memset(bbuf, 0, 4); bbuf[0] = (unsigned char)(num & 0xff); bbuf[1] = (unsigned char)((num >> 8) & 0xff); sum = sr_sum(3, 0, bbuf); (void)snprintf((char *)sbuf, 13, "S503%04X%02X\r\n", num, (unsigned)sum); return 0; } void hexdump(size_t len, unsigned char *bbuf, unsigned char *abuf) { size_t i; memset(abuf, 0, MAX_BYTES_PER_RECORD * 2 + 2); if (len > MAX_BYTES_PER_RECORD * 2) len = MAX_BYTES_PER_RECORD * 2; for (i = 0; i < len; i++) { abuf[i * 2] = hc((bbuf[i] & 0xf0) >> 4); abuf[i * 2 + 1] = hc(bbuf[i] & 0x0f); } } /*@ -type @*/ unsigned char hc(unsigned char x) { switch (x) { case 15: case 14: case 13: case 12: case 11: case 10: return ('A' + x - 10); case 9: case 8: case 7: case 6: case 5: case 4: case 3: case 2: case 1: case 0: return ('0' + x); default: return '0'; } } /*@ -type @*/ unsigned char sr_sum(unsigned int count, unsigned int addr, unsigned char *bbuf) { int i, j; unsigned char k, sum = 0; sum = (count & 0xff); sum += ((addr & 0x000000ff)); sum += ((addr & 0x0000ff00) >> 8); sum += ((addr & 0x00ff0000) >> 16); sum += ((addr & 0xff000000) >> 24); j = count - 5; for (i = 0; i < j; i++) { k = bbuf[i]; sum += k; } return ~sum; } gpsd-3.9/strl.c0000664000175000017500000001077212022345475011633 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include "gpsd_config.h" /* * These versions use memcpy and strlen() because they are often * heavily optimized down to assembler level. Thus, likely to be * faster even with the function call overhead. */ #ifndef HAVE_STRLCAT /* * Appends src to string dst of size siz (unlike strncat, siz is the * full size of dst, not space left). At most siz-1 characters * will be copied. Always NUL terminates (unless siz <= strlen(dst)). * Returns strlen(src) + MIN(siz, strlen(initial dst)). * If retval >= siz, truncation occurred. */ /*@ -compdef -mayaliasunique -mustdefine @*/ size_t strlcat(char *dst, const char *src, size_t siz) { size_t slen = strlen(src); size_t dlen = strlen(dst); if (siz != 0) { if (dlen + slen < siz) memcpy(dst + dlen, src, slen + 1); else { memcpy(dst + dlen, src, siz - dlen - 1); dst[siz - 1] = '\0'; } } return dlen + slen; } /*@ +compdef +mayaliasunique +mustdefine @*/ #ifdef __UNUSED__ /* $OpenBSD: strlcat.c,v 1.13 2005/08/08 08:05:37 espie Exp $ */ /* * Copyright (c) 1998 Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /*@ -usedef -mustdefine @*/ size_t strlcat(char *dst, const char *src, size_t siz) { char *d = dst; const char *s = src; size_t n = siz; size_t dlen; /* Find the end of dst and adjust bytes left but don't go past end */ while (n-- != 0 && *d != '\0') d++; dlen = (size_t) (d - dst); n = siz - dlen; if (n == 0) return (dlen + strlen(s)); while (*s != '\0') { if (n != 1) { *d++ = *s; n--; } s++; } *d = '\0'; return (dlen + (s - src)); /* count does not include NUL */ } #endif /* __UNUSED__ */ /*@ +usedef +mustdefine @*/ #endif /* HAVE_STRLCAT */ #ifndef HAVE_STRLCPY /* * Copy src to string dst of size siz. At most siz-1 characters * will be copied. Always NUL terminates (unless siz == 0). * Returns strlen(src); if retval >= siz, truncation occurred. */ /*@ -mayaliasunique -mustdefine @*/ size_t strlcpy(char *dst, const char *src, size_t siz) { size_t len = strlen(src); if (siz != 0) { if (len >= siz) { memcpy(dst, src, siz - 1); dst[siz - 1] = '\0'; } else memcpy(dst, src, len + 1); } return len; } /*@ -mayaliasunique -mustdefine @*/ #ifdef __UNUSED__ /* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ /* * Copyright (c) 1998 Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ size_t strlcpy(char *dst, const char *src, size_t siz) { char *d = dst; const char *s = src; size_t n = siz; /* Copy as many bytes as will fit */ if (n != 0) { while (--n != 0) { if ((*d++ = *s++) == '\0') break; } } /* Not enough room in dst, add NUL and traverse rest of src */ if (n == 0) { if (siz != 0) *d = '\0'; /* NUL-terminate dst */ while (*s++ != '\0') continue; } return ((size_t) (s - src - 1)); /* count does not include NUL */ } #endif /* __UNUSED__ */ #endif /* HAVE_STRLCPY */ gpsd-3.9/subframe.c0000664000175000017500000007751112022345475012457 0ustar esresr/* subframe.c -- interpret satellite subframe data. * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include "gpsd.h" /* convert unsigned to signed */ #define uint2int( u, bit) ( u & (1<<(bit-1)) ? u - (1<subframe_count++ == 0) { speed_t speed = gpsd_get_speed(session); if (speed < 38400) gpsd_report(LOG_WARN, "speed less than 38,400 may cause data lag and loss of functionality\n"); } /* * This function assumes an array of 10 ints, each of which carries * a raw 30-bit GPS word use your favorite search engine to find the * latest version of the specification: IS-GPS-200. * * Each raw 30-bit word is made of 24 data bits and 6 parity bits. The * raw word and transport word are emitted from the GPS MSB-first and * right justified. In other words, masking the raw word against 0x3f * will return just the parity bits. Masking with 0x3fffffff and shifting * 6 bits to the right returns just the 24 data bits. The top two bits * (b31 and b30) are undefined; chipset designers may store copies of * the bits D29* and D30* here to aid parity checking. * * Since bits D29* and D30* are not available in word 0, it is tested for * a known preamble to help check its validity and determine whether the * word is inverted. * */ gpsd_report(LOG_IO, "50B: gpsd_interpret_subframe_raw: " "%08x %08x %08x %08x %08x %08x %08x %08x %08x %08x\n", words[0], words[1], words[2], words[3], words[4], words[5], words[6], words[7], words[8], words[9]); preamble = (uint8_t)((words[0] >> 22) & 0xFF); if (preamble == 0x8b) { /* preamble is inverted */ words[0] ^= 0x3fffffc0; /* invert */ } else if (preamble != 0x74) { /* strangely this is very common, so don't log it */ gpsd_report(LOG_IO, "50B: gpsd_interpret_subframe_raw: bad preamble 0x%x\n", preamble); return 0; } words[0] = (words[0] >> 6) & 0xffffff; for (i = 1; i < 10; i++) { int invert; /* D30* says invert */ invert = (words[i] & 0x40000000) ? 1 : 0; /* inverted data, invert it back */ if (invert) { words[i] ^= 0x3fffffc0; } parity = (uint32_t)isgps_parity((isgps30bits_t)words[i]); if (parity != (words[i] & 0x3f)) { gpsd_report(LOG_IO, "50B: gpsd_interpret_subframe_raw parity fail words[%d] 0x%x != 0x%x\n", i, parity, (words[i] & 0x1)); return 0; } words[i] = (words[i] >> 6) & 0xffffff; } return gpsd_interpret_subframe(session, tSVID, words); } /* you can find up to date almanac data for comparision here: * https://gps.afspc.af.mil/gps/Current/current.alm */ static void subframe_almanac(uint8_t tSVID, uint32_t words[], uint8_t subframe, uint8_t sv, uint8_t data_id, /*@out@*/struct almanac_t *almp) { /*@+matchanyintegral -shiftimplementation@*/ almp->sv = sv; /* ignore the 0 sv problem for now */ almp->e = ( words[2] & 0x00FFFF); almp->d_eccentricity = pow(2.0,-21) * almp->e; /* carefull, each SV can have more than 2 toa's active at the same time * you can not just store one or two almanacs for each sat */ almp->toa = ((words[3] >> 16) & 0x0000FF); almp->l_toa = almp->toa << 12; almp->deltai = ( words[3] & 0x00FFFF); almp->d_deltai = pow(2.0, -19) * almp->deltai; almp->Omegad = ((words[4] >> 8) & 0x00FFFF); almp->d_Omegad = pow(2.0, -38) * almp->Omegad; almp->svh = ( words[4] & 0x0000FF); almp->sqrtA = ( words[5] & 0xFFFFFF); almp->d_sqrtA = pow(2.0,-11) * almp->sqrtA; almp->Omega0 = ( words[6] & 0xFFFFFF); almp->Omega0 = uint2int(almp->Omega0, 24); almp->d_Omega0 = pow(2.0, -23) * almp->Omega0; almp->omega = ( words[7] & 0xFFFFFF); almp->omega = uint2int(almp->omega, 24); almp->d_omega = pow(2.0, -23) * almp->omega; almp->M0 = ( words[8] & 0x00FFFFFF); almp->M0 = uint2int(almp->M0, 24); /* if you want radians, multiply by GPS_PI, but we do semi-circles * to match IS-GPS-200E */ almp->d_M0 = pow(2.0,-23) * almp->M0; almp->af1 = ((words[9] >> 5) & 0x0007FF); almp->af1 = (short)uint2int(almp->af1, 11); almp->d_af1 = pow(2.0,-38) * almp->af1; almp->af0 = ((words[9] >> 16) & 0x0000FF); almp->af0 <<= 3; almp->af0 |= ((words[9] >> 2) & 0x000007); almp->af0 = (short)uint2int(almp->af0, 11); almp->d_af0 = pow(2.0,-20) * almp->af0; gpsd_report(LOG_PROG, "50B: SF:%d SV:%2u TSV:%2u data_id %d e:%g toa:%lu " "deltai:%.10e Omegad:%.5e svh:%u sqrtA:%.10g Omega0:%.10e " "omega:%.10e M0:%.11e af0:%.5e af1:%.5e\n", subframe, almp->sv, tSVID, data_id, almp->d_eccentricity, almp->l_toa, almp->d_deltai, almp->d_Omegad, almp->svh, almp->d_sqrtA, almp->d_Omega0, almp->d_omega, almp->d_M0, almp->d_af0, almp->d_af1); /*@-matchanyintegral -shiftimplementation@*/ } gps_mask_t gpsd_interpret_subframe(struct gps_device_t *session, unsigned int tSVID, uint32_t words[]) { /* * Heavy black magic begins here! * * A description of how to decode these bits is at * * * We're mostly looking for subframe 4 page 18 word 9, the leap second * correction. This functions assumes an array of words without parity * or inversion (inverted word 0 is OK). It may be called directly by a * driver if the chipset emits acceptable data. * * To date this code has been tested on iTrax, SiRF and ublox. */ /* FIXME!! I really doubt this is Big Endian compatible */ uint8_t preamble; int i = 0; /* handy loop counter */ struct subframe_t *subp = &session->gpsdata.subframe; gpsd_report(LOG_IO, "50B: gpsd_interpret_subframe: (%d) " "%06x %06x %06x %06x %06x %06x %06x %06x %06x %06x\n", tSVID, words[0], words[1], words[2], words[3], words[4], words[5], words[6], words[7], words[8], words[9]); preamble = (uint8_t)((words[0] >> 16) & 0x0FF); if (preamble == 0x8b) { /* somehow missed an inversion */ preamble ^= 0xff; words[0] ^= 0xffffff; } if (preamble != 0x74) { gpsd_report(LOG_WARN, "50B: gpsd_interpret_subframe bad preamble: 0x%x header 0x%x\n", preamble, words[0]); return 0; } subp->integrity = (bool)((words[0] >> 1) & 0x01); /* The subframe ID is in the Hand Over Word (page 80) */ subp->TOW17 = ((words[1] >> 7) & 0x01FFFF); subp->l_TOW17 = (long)(subp->TOW17 * 6); subp->tSVID = (uint8_t)tSVID; subp->subframe_num = ((words[1] >> 2) & 0x07); subp->alert = (bool)((words[1] >> 6) & 0x01); subp->antispoof = (bool)((words[1] >> 6) & 0x01); gpsd_report(LOG_PROG, "50B: SF:%d SV:%2u TOW17:%7lu Alert:%u AS:%u IF:%d\n", subp->subframe_num, subp->tSVID, subp->l_TOW17, (unsigned)subp->alert, (unsigned)subp->antispoof, (unsigned)subp->integrity); /* * Consult the latest revision of IS-GPS-200 for the mapping * between magic SVIDs and pages. */ subp->pageid = (words[2] >> 16) & 0x00003F; /* only in frames 4 & 5 */ subp->data_id = (words[2] >> 22) & 0x3; /* only in frames 4 & 5 */ subp->is_almanac = 0; switch (subp->subframe_num) { case 1: /* subframe 1: clock parameters for transmitting SV */ /* get Week Number (WN) from subframe 1 */ /* * This only extracts 10 bits of GPS week. * 13 bits are available in the extension CNAV message, * which we don't decode yet because we don't know * of any receiver that reports it. */ session->context->gps_week = (unsigned short)((words[2] >> 14) & 0x03ff); subp->sub1.WN = (uint16_t)session->context->gps_week; subp->sub1.l2 = (uint8_t)((words[2] >> 12) & 0x000003); /* L2 Code */ subp->sub1.ura = (unsigned int)((words[2] >> 8) & 0x00000F); /* URA Index */ subp->sub1.hlth = (unsigned int)((words[2] >> 2) & 0x00003F); /* SV health */ subp->sub1.IODC = (words[2] & 0x000003); /* IODC 2 MSB */ subp->sub1.l2p = ((words[3] >> 23) & 0x000001); /* L2 P flag */ subp->sub1.Tgd = (int8_t)( words[6] & 0x0000FF); subp->sub1.d_Tgd = pow(2.0, -31) * (int)subp->sub1.Tgd; subp->sub1.toc = ( words[7] & 0x00FFFF); subp->sub1.l_toc = (long)subp->sub1.toc << 4; subp->sub1.af2 = (int8_t)((words[8] >> 16) & 0x0FF); subp->sub1.d_af2 = pow(2.0, -55) * (int)subp->sub1.af2; subp->sub1.af1 = (int16_t)( words[8] & 0x00FFFF); subp->sub1.d_af1 = pow(2.0, -43) * subp->sub1.af1; subp->sub1.af0 = (int32_t)((words[9] >> 2) & 0x03FFFFF); subp->sub1.af0 = uint2int(subp->sub1.af0, 22); subp->sub1.d_af0 = pow(2.0, -31) * subp->sub1.af0; subp->sub1.IODC <<= 8; subp->sub1.IODC |= ((words[7] >> 16) & 0x00FF); gpsd_report(LOG_PROG, "50B: SF:1 SV:%2u WN:%4u IODC:%4u" " L2:%u ura:%u hlth:%u L2P:%u Tgd:%g toc:%lu af2:%.4g" " af1:%.6e af0:%.7e\n", subp->tSVID, subp->sub1.WN, subp->sub1.IODC, subp->sub1.l2, subp->sub1.ura, subp->sub1.hlth, subp->sub1.l2p, subp->sub1.d_Tgd, subp->sub1.l_toc, subp->sub1.d_af2, subp->sub1.d_af1, subp->sub1.d_af0); break; case 2: /* subframe 2: ephemeris for transmitting SV */ subp->sub2.IODE = ((words[2] >> 16) & 0x00FF); subp->sub2.Crs = (int16_t)( words[2] & 0x00FFFF); subp->sub2.d_Crs = pow(2.0,-5) * subp->sub2.Crs; subp->sub2.deltan = (int16_t)((words[3] >> 8) & 0x00FFFF); subp->sub2.d_deltan = pow(2.0,-43) * subp->sub2.deltan; subp->sub2.M0 = (int32_t)( words[3] & 0x0000FF); subp->sub2.M0 <<= 24; subp->sub2.M0 |= ( words[4] & 0x00FFFFFF); subp->sub2.d_M0 = pow(2.0,-31) * subp->sub2.M0 * GPS_PI; subp->sub2.Cuc = (int16_t)((words[5] >> 8) & 0x00FFFF); subp->sub2.d_Cuc = pow(2.0,-29) * subp->sub2.Cuc; subp->sub2.e = ( words[5] & 0x0000FF); subp->sub2.e <<= 24; subp->sub2.e |= ( words[6] & 0x00FFFFFF); subp->sub2.d_eccentricity = pow(2.0,-33) * subp->sub2.e; subp->sub2.Cus = (int16_t)((words[7] >> 8) & 0x00FFFF); subp->sub2.d_Cus = pow(2.0,-29) * subp->sub2.Cus; subp->sub2.sqrtA = ( words[7] & 0x0000FF); subp->sub2.sqrtA <<= 24; subp->sub2.sqrtA |= ( words[8] & 0x00FFFFFF); subp->sub2.d_sqrtA = pow(2.0, -19) * subp->sub2.sqrtA; subp->sub2.toe = ((words[9] >> 8) & 0x00FFFF); subp->sub2.l_toe = (long)(subp->sub2.toe << 4); subp->sub2.fit = ((words[9] >> 7) & 0x000001); subp->sub2.AODO = ((words[9] >> 2) & 0x00001F); subp->sub2.u_AODO = subp->sub2.AODO * 900; gpsd_report(LOG_PROG, "50B: SF:2 SV:%2u IODE:%3u Crs:%.6e deltan:%.6e " "M0:%.11e Cuc:%.6e e:%f Cus:%.6e sqrtA:%.11g " "toe:%lu FIT:%u AODO:%5u\n", subp->tSVID, subp->sub2.IODE, subp->sub2.d_Crs, subp->sub2.d_deltan, subp->sub2.d_M0, subp->sub2.d_Cuc, subp->sub2.d_eccentricity, subp->sub2.d_Cus, subp->sub2.d_sqrtA, subp->sub2.l_toe, subp->sub2.fit, subp->sub2.u_AODO); break; case 3: /* subframe 3: ephemeris for transmitting SV */ subp->sub3.Cic = (int16_t)((words[2] >> 8) & 0x00FFFF); subp->sub3.d_Cic = pow(2.0, -29) * subp->sub3.Cic; subp->sub3.Omega0 = (int32_t)(words[2] & 0x0000FF); subp->sub3.Omega0 <<= 24; subp->sub3.Omega0 |= ( words[3] & 0x00FFFFFF); subp->sub3.d_Omega0 = pow(2.0, -31) * subp->sub3.Omega0; subp->sub3.Cis = (int16_t)((words[4] >> 8) & 0x00FFFF); subp->sub3.d_Cis = pow(2.0, -29) * subp->sub3.Cis; subp->sub3.i0 = (int32_t)(words[4] & 0x0000FF); subp->sub3.i0 <<= 24; subp->sub3.i0 |= ( words[5] & 0x00FFFFFF); subp->sub3.d_i0 = pow(2.0, -31) * subp->sub3.i0; subp->sub3.Crc = (int16_t)((words[6] >> 8) & 0x00FFFF); subp->sub3.d_Crc = pow(2.0, -5) * subp->sub3.Crc; subp->sub3.omega = (int32_t)(words[6] & 0x0000FF); subp->sub3.omega <<= 24; subp->sub3.omega |= ( words[7] & 0x00FFFFFF); subp->sub3.d_omega = pow(2.0, -31) * subp->sub3.omega; subp->sub3.Omegad = (int32_t)(words[8] & 0x00FFFFFF); subp->sub3.Omegad = uint2int(subp->sub3.Omegad, 24); subp->sub3.d_Omegad = pow(2.0, -43) * subp->sub3.Omegad; subp->sub3.IODE = ((words[9] >> 16) & 0x0000FF); subp->sub3.IDOT = (int16_t)((words[9] >> 2) & 0x003FFF); subp->sub3.IDOT = uint2int(subp->sub3.IDOT, 14); subp->sub3.d_IDOT = pow(2.0, -43) * subp->sub3.IDOT; gpsd_report(LOG_PROG, "50B: SF:3 SV:%2u IODE:%3u I IDOT:%.6g Cic:%.6e Omega0:%.11e " " Cis:%.7g i0:%.11e Crc:%.7g omega:%.11e Omegad:%.6e\n", subp->tSVID, subp->sub3.IODE, subp->sub3.d_IDOT, subp->sub3.d_Cic, subp->sub3.d_Omega0, subp->sub3.d_Cis, subp->sub3.d_i0, subp->sub3.d_Crc, subp->sub3.d_omega, subp->sub3.d_Omegad ); break; case 4: { int sv = -2; switch (subp->pageid) { case 0: /* almanac for dummy sat 0, which is same as transmitting sat */ sv = 0; break; case 1: case 6: case 11: case 16: case 21: case 57: /* for some inscutable reason these pages are all sent * as page 57, IS-GPS-200E Table 20-V */ break; case 12: case 24: case 62: /* for some inscrutable reason these pages are all sent * as page 62, IS-GPS-200E Table 20-V */ break; case 14: case 53: /* for some inscrutable reason page 14 is sent * as page 53, IS-GPS-200E Table 20-V */ break; case 15: case 54: /* for some inscrutable reason page 15 is sent * as page 54, IS-GPS-200E Table 20-V */ break; case 19: /* for some inscrutable reason page 20 is sent * as page 58, IS-GPS-200E Table 20-V */ /* reserved page */ break; case 20: /* for some inscrutable reason page 20 is sent * as page 59, IS-GPS-200E Table 20-V */ /* reserved page */ break; case 22: case 60: /* for some inscrutable reason page 22 is sent * as page 60, IS-GPS-200E Table 20-V */ /* reserved page */ break; case 23: case 61: /* for some inscrutable reason page 23 is sent * as page 61, IS-GPS-200E Table 20-V */ /* reserved page */ break; /* almanac data for SV 25 through 32 respectively; */ case 2: sv = 25; break; case 3: sv = 26; break; case 4: sv = 27; break; case 5: sv = 28; break; case 7: sv = 29; break; case 8: sv = 30; break; case 9: sv = 31; break; case 10: sv = 32; break; case 13: case 52: /* NMCT */ sv = -1; subp->sub4_13.ai = (unsigned char)((words[2] >> 22) & 0x000003); /*@+charint@*/ subp->sub4_13.ERD[1] = (char)((words[2] >> 8) & 0x00003F); subp->sub4_13.ERD[2] = (char)((words[2] >> 2) & 0x00003F); subp->sub4_13.ERD[3] = (char)((words[2] >> 0) & 0x000003); subp->sub4_13.ERD[3] <<= 2; subp->sub4_13.ERD[3] |= (char)((words[3] >> 20) & 0x00000F); subp->sub4_13.ERD[4] = (char)((words[3] >> 14) & 0x00003F); subp->sub4_13.ERD[5] = (char)((words[3] >> 8) & 0x00003F); subp->sub4_13.ERD[6] = (char)((words[3] >> 2) & 0x00003F); subp->sub4_13.ERD[7] = (char)((words[3] >> 0) & 0x000003); subp->sub4_13.ERD[7] <<= 2; subp->sub4_13.ERD[7] |= (char)((words[4] >> 20) & 0x00000F); subp->sub4_13.ERD[8] = (char)((words[4] >> 14) & 0x00003F); subp->sub4_13.ERD[9] = (char)((words[4] >> 8) & 0x00003F); subp->sub4_13.ERD[10] = (char)((words[4] >> 2) & 0x00003F); subp->sub4_13.ERD[11] = (char)((words[4] >> 0) & 0x00000F); subp->sub4_13.ERD[11] <<= 2; subp->sub4_13.ERD[11] |= (char)((words[5] >> 20) & 0x00000F); subp->sub4_13.ERD[12] = (char)((words[5] >> 14) & 0x00003F); subp->sub4_13.ERD[13] = (char)((words[5] >> 8) & 0x00003F); subp->sub4_13.ERD[14] = (char)((words[5] >> 2) & 0x00003F); subp->sub4_13.ERD[15] = (char)((words[5] >> 0) & 0x000003); subp->sub4_13.ERD[15] <<= 2; subp->sub4_13.ERD[15] |= (char)((words[6] >> 20) & 0x00000F); subp->sub4_13.ERD[16] = (char)((words[6] >> 14) & 0x00003F); subp->sub4_13.ERD[17] = (char)((words[6] >> 8) & 0x00003F); subp->sub4_13.ERD[18] = (char)((words[6] >> 2) & 0x00003F); subp->sub4_13.ERD[19] = (char)((words[6] >> 0) & 0x000003); subp->sub4_13.ERD[19] <<= 2; subp->sub4_13.ERD[19] |= (char)((words[7] >> 20) & 0x00000F); subp->sub4_13.ERD[20] = (char)((words[7] >> 14) & 0x00003F); subp->sub4_13.ERD[21] = (char)((words[7] >> 8) & 0x00003F); subp->sub4_13.ERD[22] = (char)((words[7] >> 2) & 0x00003F); subp->sub4_13.ERD[23] = (char)((words[7] >> 0) & 0x000003); subp->sub4_13.ERD[23] <<= 2; subp->sub4_13.ERD[23] |= (char)((words[8] >> 20) & 0x00000F); subp->sub4_13.ERD[24] = (char)((words[8] >> 14) & 0x00003F); subp->sub4_13.ERD[25] = (char)((words[8] >> 8) & 0x00003F); subp->sub4_13.ERD[26] = (char)((words[8] >> 2) & 0x00003F); subp->sub4_13.ERD[27] = (char)((words[8] >> 0) & 0x000003); subp->sub4_13.ERD[27] <<= 2; subp->sub4_13.ERD[27] |= (char)((words[9] >> 20) & 0x00000F); subp->sub4_13.ERD[28] = (char)((words[9] >> 14) & 0x00003F); subp->sub4_13.ERD[29] = (char)((words[9] >> 8) & 0x00003F); subp->sub4_13.ERD[30] = (char)((words[9] >> 2) & 0x00003F); for ( i = 1; i < 31; i++ ) { subp->sub4_13.ERD[i] = uint2int(subp->sub4_13.ERD[i], 6); } /*@-charint@*/ gpsd_report(LOG_PROG, "50B: SF:4-13 data_id %d ai:%u " "ERD1:%d ERD2:%d ERD3:%d ERD4:%d " "ERD5:%d ERD6:%d ERD7:%d ERD8:%d " "ERD9:%d ERD10:%d ERD11:%d ERD12:%d " "ERD13:%d ERD14:%d ERD15:%d ERD16:%d " "ERD17:%d ERD18:%d ERD19:%d ERD20:%d " "ERD21:%d ERD22:%d ERD23:%d ERD24:%d " "ERD25:%d ERD26:%d ERD27:%d ERD28:%d " "ERD29:%d ERD30:%d\n", subp->data_id, subp->sub4_13.ai, subp->sub4_13.ERD[1], subp->sub4_13.ERD[2], subp->sub4_13.ERD[3], subp->sub4_13.ERD[4], subp->sub4_13.ERD[5], subp->sub4_13.ERD[6], subp->sub4_13.ERD[7], subp->sub4_13.ERD[8], subp->sub4_13.ERD[9], subp->sub4_13.ERD[10], subp->sub4_13.ERD[11], subp->sub4_13.ERD[12], subp->sub4_13.ERD[13], subp->sub4_13.ERD[14], subp->sub4_13.ERD[15], subp->sub4_13.ERD[16], subp->sub4_13.ERD[17], subp->sub4_13.ERD[18], subp->sub4_13.ERD[19], subp->sub4_13.ERD[20], subp->sub4_13.ERD[21], subp->sub4_13.ERD[22], subp->sub4_13.ERD[23], subp->sub4_13.ERD[24], subp->sub4_13.ERD[25], subp->sub4_13.ERD[26], subp->sub4_13.ERD[27], subp->sub4_13.ERD[28], subp->sub4_13.ERD[29], subp->sub4_13.ERD[30]); break; case 25: case 63: /* for some inscrutable reason page 25 is sent * as page 63, IS-GPS-200E Table 20-V */ /* A-S flags/SV configurations for 32 SVs, * plus SV health for SV 25 through 32 */ sv = -1; subp->sub4_25.svf[1] = (unsigned char)((words[2] >> 12) & 0x0F); subp->sub4_25.svf[2] = (unsigned char)((words[2] >> 8) & 0x0F); subp->sub4_25.svf[3] = (unsigned char)((words[2] >> 4) & 0x0F); subp->sub4_25.svf[4] = (unsigned char)((words[2] >> 0) & 0x0F); subp->sub4_25.svf[5] = (unsigned char)((words[3] >> 20) & 0x0F); subp->sub4_25.svf[6] = (unsigned char)((words[3] >> 16) & 0x0F); subp->sub4_25.svf[7] = (unsigned char)((words[3] >> 12) & 0x0F); subp->sub4_25.svf[8] = (unsigned char)((words[3] >> 8) & 0x0F); subp->sub4_25.svf[9] = (unsigned char)((words[3] >> 4) & 0x0F); subp->sub4_25.svf[10] = (unsigned char)((words[3] >> 0) & 0x0F); subp->sub4_25.svf[11] = (unsigned char)((words[4] >> 20) & 0x0F); subp->sub4_25.svf[12] = (unsigned char)((words[4] >> 16) & 0x0F); subp->sub4_25.svf[13] = (unsigned char)((words[4] >> 12) & 0x0F); subp->sub4_25.svf[14] = (unsigned char)((words[4] >> 8) & 0x0F); subp->sub4_25.svf[15] = (unsigned char)((words[4] >> 4) & 0x0F); subp->sub4_25.svf[16] = (unsigned char)((words[4] >> 0) & 0x0F); subp->sub4_25.svf[17] = (unsigned char)((words[5] >> 20) & 0x0F); subp->sub4_25.svf[18] = (unsigned char)((words[5] >> 16) & 0x0F); subp->sub4_25.svf[19] = (unsigned char)((words[5] >> 12) & 0x0F); subp->sub4_25.svf[20] = (unsigned char)((words[5] >> 8) & 0x0F); subp->sub4_25.svf[21] = (unsigned char)((words[5] >> 4) & 0x0F); subp->sub4_25.svf[22] = (unsigned char)((words[5] >> 0) & 0x0F); subp->sub4_25.svf[23] = (unsigned char)((words[6] >> 20) & 0x0F); subp->sub4_25.svf[24] = (unsigned char)((words[6] >> 16) & 0x0F); subp->sub4_25.svf[25] = (unsigned char)((words[6] >> 12) & 0x0F); subp->sub4_25.svf[26] = (unsigned char)((words[6] >> 8) & 0x0F); subp->sub4_25.svf[27] = (unsigned char)((words[6] >> 4) & 0x0F); subp->sub4_25.svf[28] = (unsigned char)((words[6] >> 0) & 0x0F); subp->sub4_25.svf[29] = (unsigned char)((words[7] >> 20) & 0x0F); subp->sub4_25.svf[30] = (unsigned char)((words[7] >> 16) & 0x0F); subp->sub4_25.svf[31] = (unsigned char)((words[7] >> 12) & 0x0F); subp->sub4_25.svf[32] = (unsigned char)((words[7] >> 8) & 0x0F); subp->sub4_25.svhx[0] = ((words[7] >> 0) & 0x00003F); subp->sub4_25.svhx[1] = ((words[8] >> 18) & 0x00003F); subp->sub4_25.svhx[2] = ((words[8] >> 12) & 0x00003F); subp->sub4_25.svhx[3] = ((words[8] >> 6) & 0x00003F); subp->sub4_25.svhx[4] = ((words[8] >> 0) & 0x00003F); subp->sub4_25.svhx[5] = ((words[9] >> 18) & 0x00003F); subp->sub4_25.svhx[6] = ((words[9] >> 12) & 0x00003F); subp->sub4_25.svhx[7] = ((words[9] >> 6) & 0x00003F); gpsd_report(LOG_PROG, "50B: SF:4-25 data_id %d " "SV1:%u SV2:%u SV3:%u SV4:%u " "SV5:%u SV6:%u SV7:%u SV8:%u " "SV9:%u SV10:%u SV11:%u SV12:%u " "SV13:%u SV14:%u SV15:%u SV16:%u " "SV17:%u SV18:%u SV19:%u SV20:%u " "SV21:%u SV22:%u SV23:%u SV24:%u " "SV25:%u SV26:%u SV27:%u SV28:%u " "SV29:%u SV30:%u SV31:%u SV32:%u " "SVH25:%u SVH26:%u SVH27:%u SVH28:%u " "SVH29:%u SVH30:%u SVH31:%u SVH32:%u\n", subp->data_id, subp->sub4_25.svf[1], subp->sub4_25.svf[2], subp->sub4_25.svf[3], subp->sub4_25.svf[4], subp->sub4_25.svf[5], subp->sub4_25.svf[6], subp->sub4_25.svf[7], subp->sub4_25.svf[8], subp->sub4_25.svf[9], subp->sub4_25.svf[10], subp->sub4_25.svf[11], subp->sub4_25.svf[12], subp->sub4_25.svf[13], subp->sub4_25.svf[14], subp->sub4_25.svf[15], subp->sub4_25.svf[16], subp->sub4_25.svf[17], subp->sub4_25.svf[18], subp->sub4_25.svf[19], subp->sub4_25.svf[20], subp->sub4_25.svf[21], subp->sub4_25.svf[22], subp->sub4_25.svf[23], subp->sub4_25.svf[24], subp->sub4_25.svf[25], subp->sub4_25.svf[26], subp->sub4_25.svf[27], subp->sub4_25.svf[28], subp->sub4_25.svf[29], subp->sub4_25.svf[30], subp->sub4_25.svf[31], subp->sub4_25.svf[32], subp->sub4_25.svhx[0], subp->sub4_25.svhx[1], subp->sub4_25.svhx[2], subp->sub4_25.svhx[3], subp->sub4_25.svhx[4], subp->sub4_25.svhx[5], subp->sub4_25.svhx[6], subp->sub4_25.svhx[7]); break; case 33: case 34: case 35: case 36: case 37: case 38: case 39: case 40: case 41: case 42: case 43: case 44: case 45: case 46: case 47: case 48: case 49: case 50: /* unassigned */ break; case 51: /* unknown */ break; case 17: case 55: /* for some inscrutable reason page 17 is sent * as page 55, IS-GPS-200E Table 20-V */ sv = -1; /* * "The requisite 176 bits shall occupy bits 9 through 24 * of word TWO, the 24 MSBs of words THREE through EIGHT, * plus the 16 MSBs of word NINE." (word numbers changed * to account for zero-indexing) * Since we've already stripped the low six parity bits, * and shifted the data to a byte boundary, we can just * copy it out. */ /*@ -type @*/ i = 0; subp->sub4_17.str[i++] = (words[2] >> 8) & 0xff; subp->sub4_17.str[i++] = (words[2]) & 0xff; subp->sub4_17.str[i++] = (words[3] >> 16) & 0xff; subp->sub4_17.str[i++] = (words[3] >> 8) & 0xff; subp->sub4_17.str[i++] = (words[3]) & 0xff; subp->sub4_17.str[i++] = (words[4] >> 16) & 0xff; subp->sub4_17.str[i++] = (words[4] >> 8) & 0xff; subp->sub4_17.str[i++] = (words[4]) & 0xff; subp->sub4_17.str[i++] = (words[5] >> 16) & 0xff; subp->sub4_17.str[i++] = (words[5] >> 8) & 0xff; subp->sub4_17.str[i++] = (words[5]) & 0xff; subp->sub4_17.str[i++] = (words[6] >> 16) & 0xff; subp->sub4_17.str[i++] = (words[6] >> 8) & 0xff; subp->sub4_17.str[i++] = (words[6]) & 0xff; subp->sub4_17.str[i++] = (words[7] >> 16) & 0xff; subp->sub4_17.str[i++] = (words[7] >> 8) & 0xff; subp->sub4_17.str[i++] = (words[7]) & 0xff; subp->sub4_17.str[i++] = (words[8] >> 16) & 0xff; subp->sub4_17.str[i++] = (words[8] >> 8) & 0xff; subp->sub4_17.str[i++] = (words[8]) & 0xff; subp->sub4_17.str[i++] = (words[9] >> 16) & 0xff; subp->sub4_17.str[i++] = (words[9] >> 8) & 0xff; subp->sub4_17.str[i] = '\0'; /*@ +type @*/ gpsd_report(LOG_PROG, "50B: SF:4-17 system message: %.24s\n", subp->sub4_17.str); break; case 18: case 56: /* for some inscrutable reason page 18 is sent * as page 56, IS-GPS-200E Table 20-V */ /* ionospheric and UTC data */ sv = -1; /* current leap seconds */ subp->sub4_18.alpha0 = (int8_t)((words[2] >> 8) & 0x0000FF); subp->sub4_18.d_alpha0 = pow(2.0, -30) * (int)subp->sub4_18.alpha0; subp->sub4_18.alpha1 = (int8_t)((words[2] >> 0) & 0x0000FF); subp->sub4_18.d_alpha1 = pow(2.0, -27) * (int)subp->sub4_18.alpha1; subp->sub4_18.alpha2 = (int8_t)((words[3] >> 16) & 0x0000FF); subp->sub4_18.d_alpha2 = pow(2.0, -24) * (int)subp->sub4_18.alpha2; subp->sub4_18.alpha3 = (int8_t)((words[3] >> 8) & 0x0000FF); subp->sub4_18.d_alpha3 = pow(2.0, -24) * (int)subp->sub4_18.alpha3; subp->sub4_18.beta0 = (int8_t)((words[3] >> 0) & 0x0000FF); subp->sub4_18.d_beta0 = pow(2.0, 11) * (int)subp->sub4_18.beta0; subp->sub4_18.beta1 = (int8_t)((words[4] >> 16) & 0x0000FF); subp->sub4_18.d_beta1 = pow(2.0, 14) * (int)subp->sub4_18.beta1; subp->sub4_18.beta2 = (int8_t)((words[4] >> 8) & 0x0000FF); subp->sub4_18.d_beta2 = pow(2.0, 16) * (int)subp->sub4_18.beta2; subp->sub4_18.beta3 = (int8_t)((words[4] >> 0) & 0x0000FF); subp->sub4_18.d_beta3 = pow(2.0, 16) * (int)subp->sub4_18.beta3; subp->sub4_18.A1 = (int32_t)((words[5] >> 0) & 0xFFFFFF); subp->sub4_18.A1 = uint2int(subp->sub4_18.A1, 24); subp->sub4_18.d_A1 = pow(2.0,-50) * subp->sub4_18.A1; subp->sub4_18.A0 = (int32_t)((words[6] >> 0) & 0xFFFFFF); subp->sub4_18.A0 <<= 8; subp->sub4_18.A0 |= ((words[7] >> 16) & 0x0000FF); subp->sub4_18.d_A0 = pow(2.0,-30) * subp->sub4_18.A0; /* careful WN is 10 bits, but WNt is 8 bits! */ /* WNt (Week Number of LSF) */ subp->sub4_18.tot = ((words[7] >> 8) & 0x0000FF); subp->sub4_18.d_tot = pow(2.0,12) * subp->sub4_18.tot; subp->sub4_18.WNt = ((words[7] >> 0) & 0x0000FF); subp->sub4_18.leap = (int8_t)((words[8] >> 16) & 0x0000FF); subp->sub4_18.WNlsf = ((words[8] >> 8) & 0x0000FF); /* DN (Day Number of LSF) */ subp->sub4_18.DN = (words[8] & 0x0000FF); /* leap second future */ subp->sub4_18.lsf = (int8_t)((words[9] >> 16) & 0x0000FF); gpsd_report(LOG_PROG, "50B: SF:4-18 a0:%.5g a1:%.5g a2:%.5g a3:%.5g " "b0:%.5g b1:%.5g b2:%.5g b3:%.5g " "A1:%.11e A0:%.11e tot:%.5g WNt:%u " "ls: %d WNlsf:%u DN:%u, lsf:%d\n", subp->sub4_18.d_alpha0, subp->sub4_18.d_alpha1, subp->sub4_18.d_alpha2, subp->sub4_18.d_alpha3, subp->sub4_18.d_beta0, subp->sub4_18.d_beta1, subp->sub4_18.d_beta2, subp->sub4_18.d_beta3, subp->sub4_18.d_A1, subp->sub4_18.d_A0, subp->sub4_18.d_tot, subp->sub4_18.WNt, subp->sub4_18.leap, subp->sub4_18.WNlsf, subp->sub4_18.DN, subp->sub4_18.lsf); #ifdef NTPSHM_ENABLE /* IS-GPS-200 Revision E, paragraph 20.3.3.5.2.4 */ if (((session->context->gps_week % 256) == (unsigned short)subp->sub4_18.WNlsf) && /* notify the leap seconds correction in the end of current day */ ((double)((subp->sub4_18.DN - 1) * SECS_PER_DAY) < session->context->gps_tow) && ((double)(subp->sub4_18.DN * SECS_PER_DAY) > session->context->gps_tow)) { if ( subp->sub4_18.leap < subp->sub4_18.lsf ) session->context->leap_notify = LEAP_ADDSECOND; else if ( subp->sub4_18.leap > subp->sub4_18.lsf ) session->context->leap_notify = LEAP_DELSECOND; else session->context->leap_notify = LEAP_NOWARNING; } else session->context->leap_notify = LEAP_NOWARNING; #endif /* NTPSHM_ENABLE */ session->context->leap_seconds = (int)subp->sub4_18.leap; session->context->valid |= LEAP_SECOND_VALID; break; default: ; /* no op */ } if ( -1 < sv ) { subp->is_almanac = 1; subframe_almanac(subp->tSVID, words, subp->subframe_num, (uint8_t)sv, subp->data_id, &subp->sub4.almanac); } else if ( -2 == sv ) { /* unknown or secret page */ gpsd_report(LOG_PROG, "50B: SF:4-%d data_id %d\n", subp->pageid, subp->data_id); return 0; } /* else, already handled */ } break; case 5: /* Pages 0, dummy almanac for dummy SV 0 * Pages 1 through 24: almanac data for SV 1 through 24 * Page 25: SV health data for SV 1 through 24, the almanac * reference time, the almanac reference week number. */ if ( 25 > subp->pageid ) { subp->is_almanac = 1; subframe_almanac(subp->tSVID, words, subp->subframe_num, subp->pageid, subp->data_id, &subp->sub5.almanac); } else if ( 51 == subp->pageid ) { /* for some inscrutable reason page 25 is sent as page 51 * IS-GPS-200E Table 20-V */ subp->sub5_25.toa = ((words[2] >> 8) & 0x0000FF); subp->sub5_25.l_toa <<= 12; subp->sub5_25.WNa = ( words[2] & 0x0000FF); subp->sub5_25.sv[1] = ((words[2] >> 18) & 0x00003F); subp->sub5_25.sv[2] = ((words[2] >> 12) & 0x00003F); subp->sub5_25.sv[3] = ((words[2] >> 6) & 0x00003F); subp->sub5_25.sv[4] = ((words[2] >> 0) & 0x00003F); subp->sub5_25.sv[5] = ((words[3] >> 18) & 0x00003F); subp->sub5_25.sv[6] = ((words[3] >> 12) & 0x00003F); subp->sub5_25.sv[7] = ((words[3] >> 6) & 0x00003F); subp->sub5_25.sv[8] = ((words[3] >> 0) & 0x00003F); subp->sub5_25.sv[9] = ((words[4] >> 18) & 0x00003F); subp->sub5_25.sv[10] = ((words[4] >> 12) & 0x00003F); subp->sub5_25.sv[11] = ((words[4] >> 6) & 0x00003F); subp->sub5_25.sv[12] = ((words[4] >> 0) & 0x00003F); subp->sub5_25.sv[13] = ((words[5] >> 18) & 0x00003F); subp->sub5_25.sv[14] = ((words[5] >> 12) & 0x00003F); subp->sub5_25.sv[15] = ((words[5] >> 6) & 0x00003F); subp->sub5_25.sv[16] = ((words[5] >> 0) & 0x00003F); subp->sub5_25.sv[17] = ((words[6] >> 18) & 0x00003F); subp->sub5_25.sv[18] = ((words[6] >> 12) & 0x00003F); subp->sub5_25.sv[19] = ((words[6] >> 6) & 0x00003F); subp->sub5_25.sv[20] = ((words[6] >> 0) & 0x00003F); subp->sub5_25.sv[21] = ((words[7] >> 18) & 0x00003F); subp->sub5_25.sv[22] = ((words[7] >> 12) & 0x00003F); subp->sub5_25.sv[23] = ((words[7] >> 6) & 0x00003F); subp->sub5_25.sv[24] = ((words[7] >> 0) & 0x00003F); gpsd_report(LOG_PROG, "50B: SF:5-25 SV:%2u ID:%u toa:%lu WNa:%u " "SV1:%u SV2:%u SV3:%u SV4:%u " "SV5:%u SV6:%u SV7:%u SV8:%u " "SV9:%u SV10:%u SV11:%u SV12:%u " "SV13:%u SV14:%u SV15:%u SV16:%u " "SV17:%u SV18:%u SV19:%u SV20:%u " "SV21:%u SV22:%u SV23:%u SV24:%u\n", subp->tSVID, subp->data_id, subp->sub5_25.l_toa, subp->sub5_25.WNa, subp->sub5_25.sv[1], subp->sub5_25.sv[2], subp->sub5_25.sv[3], subp->sub5_25.sv[4], subp->sub5_25.sv[5], subp->sub5_25.sv[6], subp->sub5_25.sv[7], subp->sub5_25.sv[8], subp->sub5_25.sv[9], subp->sub5_25.sv[10], subp->sub5_25.sv[11], subp->sub5_25.sv[12], subp->sub5_25.sv[13], subp->sub5_25.sv[14], subp->sub5_25.sv[15], subp->sub5_25.sv[16], subp->sub5_25.sv[17], subp->sub5_25.sv[18], subp->sub5_25.sv[19], subp->sub5_25.sv[20], subp->sub5_25.sv[21], subp->sub5_25.sv[22], subp->sub5_25.sv[23], subp->sub5_25.sv[24]); } else { /* unknown page */ gpsd_report(LOG_PROG, "50B: SF:5-%d data_id %d uknown page\n", subp->pageid, subp->data_id); return 0; } break; default: /* unknown/illegal subframe */ return 0; } return SUBFRAME_SET; } /*@ +usedef @*/ gpsd-3.9/systemd/gpsd.service0000664000175000017500000000022211762140436014477 0ustar esresr[Unit] Description=GPS (Global Positioning System) Daemon Requires=gpsd.socket [Service] ExecStart=/usr/sbin/gpsd -N [Install] Also=gpsd.socket gpsd-3.9/systemd/gpsd.socket0000664000175000017500000000027311762140436014335 0ustar esresr[Unit] Description=GPS (Global Positioning System) Daemon Sockets [Socket] ListenStream=/var/run/gpsd.sock ListenStream=127.0.0.1:2947 SocketMode=0600 [Install] WantedBy=sockets.target gpsd-3.9/test/README0000664000175000017500000000072611762140436012340 0ustar esresrThese are data logs from various weird GPSes. Use them to test assumptions about NMEA formats and cycle regularities, or as regression-test loads for gpsfake -p. Structured headers are as follows: # Name: Product name # Chipset: chipset name # Firmware: firmware revision level # Submitter: who sent it # Date: when it was received (ISO8601 yyyy-mm-dd) # Location: city, state/province, country, approximate lat/lon # Sample-Notes: Notes on how the sample was taken gpsd-3.9/test/clientlib/multipacket.log0000664000175000017500000000064611757250541016456 0ustar esresr# Test the ability to parse multiple packets on the same line {"class":"VERSION","release":"2.90dev","rev":"svn6614","proto_major":3,"proto_minor":1}{"class":"DEVICES","devices":[{"class":"DEVICE","path":"/dev/ttyS0","activated":1259438908.99,"flags":1,"driver":"SiRF binary","native":1,"bps":4800,"parity":"N","stopbits":1,"cycle":1.00}]}{"class":"WATCH","enable":true,"nmea":false,"raw":0,"scaled":false,"timing":false} gpsd-3.9/test/clientlib/multipacket.log.chk0000664000175000017500000000014711762140436017213 0ustar esresrflags: (0x20000000) {POLICY} POLICY: watcher=true nmea=false raw=0 scaled=false timing=false, devpath= gpsd-3.9/test/clientlib/oldstyle.log0000664000175000017500000000022611757250541015765 0ustar esresrGPSD,O=RMC 1207318966.000 0.005 49.026225 12.188348 375.20 19.20 10.40 70.8900 24.899 0.000 75.6699 38.40 ? 3 $GPVTG,70.89,T,,M,48.40,N,89.6,K,A*34 gpsd-3.9/test/clientlib/oldstyle.log.chk0000664000175000017500000000050011757250541016524 0ustar esresrflags: (0x137fc) {TIME|TIMERR|LATLON|ALTITUDE|SPEED|TRACK|CLIMB|STATUS|MODE|HERR|VERR|SPEEDERR} TIME: 1207318966.000000 LATLON: lat/lon: 49.026225 12.188348 ALTITUDE: altitude: 375.200000 U: climb: 0.000000 SPEED: 24.899000 TRACK: track: 70.890000 CLIMB: climb: 0.000000 STATUS: status: 1 (FIX) MODE: mode: 3 (MODE_3D) gpsd-3.9/test/daemon/GPSmap-76S.log0000664000175000017500000001564111762140436015134 0ustar esresr# Name: Garmin GPSmap 76S # Description: Garmin handset GPS # Submitter: Brad Skillman # Date: 2011-10-24 # Location: Centreville, VA, 38.9084N, 77.4408W $GPRMC,125106,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*28 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125106,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*7F $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,60,317,49,08,34,315,45,11,35,148,45*71 $GPGSV,3,2,10,13,38,213,45,16,27,068,43,19,72,076,50,23,09,182,37*74 $GPGSV,3,3,10,24,06,166,35,28,09,271,36*7D $GPGLL,3854.5087,N,07726.4523,W,125106,V,S*55 $GPBOD,,T,,M,,*47 $GPBWC,125106,,,,,,T,,M,,N,,S*68 $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125108,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*26 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125108,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*71 $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,60,317,49,08,34,315,45,11,35,148,45*71 $GPGSV,3,2,10,13,38,213,45,16,27,068,43,19,72,076,50,23,09,182,37*74 $GPGSV,3,3,10,24,06,166,35,28,09,271,36*7D $GPGLL,3854.5087,N,07726.4523,W,125108,V,S*5B $GPBOD,,T,,M,,*47 $GPBWC,125108,,,,,,T,,M,,N,,S*66 $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125110,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*2F $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125110,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*78 $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,61,316,49,08,34,315,44,11,35,148,45*70 $GPGSV,3,2,10,13,38,213,46,16,27,068,43,19,72,076,51,23,09,182,37*76 $GPGSV,3,3,10,24,06,166,35,28,09,271,36*7D $GPGLL,3854.5087,N,07726.4523,W,125110,V,S*52 $GPBOD,,T,,M,,*47 $GPBWC,125110,,,,,,T,,M,,N,,S*6F $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125112,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*2D $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125112,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*7A $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,61,316,49,08,34,315,44,11,35,148,45*70 $GPGSV,3,2,10,13,38,213,46,16,27,068,43,19,72,076,50,23,09,182,37*77 $GPGSV,3,3,10,24,06,166,36,28,09,271,36*7E $GPGLL,3854.5087,N,07726.4523,W,125112,V,S*50 $GPBOD,,T,,M,,*47 $GPBWC,125112,,,,,,T,,M,,N,,S*6D $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125114,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*2B $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125114,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*7C $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,61,316,49,08,35,315,45,11,35,148,45*70 $GPGSV,3,2,10,13,38,213,45,16,27,068,43,19,72,076,50,23,09,182,37*74 $GPGSV,3,3,10,24,06,166,35,28,09,271,36*7D $GPGLL,3854.5087,N,07726.4523,W,125114,V,S*56 $GPBOD,,T,,M,,*47 $GPBWC,125114,,,,,,T,,M,,N,,S*6B $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125116,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*29 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125116,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*7E $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,61,316,49,08,35,315,45,11,35,148,45*70 $GPGSV,3,2,10,13,38,213,45,16,27,068,43,19,72,076,50,23,09,182,37*74 $GPGSV,3,3,10,24,06,166,35,28,09,271,36*7D $GPGLL,3854.5087,N,07726.4523,W,125116,V,S*54 $GPBOD,,T,,M,,*47 $GPBWC,125116,,,,,,T,,M,,N,,S*69 $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125118,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*27 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125118,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*70 $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,61,316,49,08,35,315,45,11,35,148,45*70 $GPGSV,3,2,10,13,38,213,45,16,27,068,43,19,72,076,51,23,09,182,37*75 $GPGSV,3,3,10,24,06,166,35,28,09,271,36*7D $GPGLL,3854.5087,N,07726.4523,W,125118,V,S*5A $GPBOD,,T,,M,,*47 $GPBWC,125118,,,,,,T,,M,,N,,S*67 $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125120,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*2C $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125120,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*7B $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,61,316,49,08,35,315,45,11,35,148,45*70 $GPGSV,3,2,10,13,38,213,46,16,27,068,44,19,72,076,50,23,09,182,37*70 $GPGSV,3,3,10,24,06,166,35,28,09,271,36*7D $GPGLL,3854.5087,N,07726.4523,W,125120,V,S*51 $GPBOD,,T,,M,,*47 $GPBWC,125120,,,,,,T,,M,,N,,S*6C $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125122,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*2E $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125122,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*79 $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,61,316,49,08,35,315,45,11,35,148,45*70 $GPGSV,3,2,10,13,38,213,46,16,27,068,43,19,72,076,50,23,09,182,37*77 $GPGSV,3,3,10,24,06,166,35,28,09,271,37*7C $GPGLL,3854.5087,N,07726.4523,W,125122,V,S*53 $GPBOD,,T,,M,,*47 $GPBWC,125122,,,,,,T,,M,,N,,S*6E $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125124,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*28 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125124,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*7F $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,61,316,49,08,35,315,45,11,35,148,45*70 $GPGSV,3,2,10,13,38,213,46,16,27,068,43,19,72,076,50,23,09,182,37*77 $GPGSV,3,3,10,24,06,166,35,28,09,271,37*7C $GPGLL,3854.5087,N,07726.4523,W,125124,V,S*55 $GPBOD,,T,,M,,*47 $GPBWC,125124,,,,,,T,,M,,N,,S*68 $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125126,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*2A $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125126,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*7D $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,61,316,49,08,35,315,45,11,36,148,45*73 $GPGSV,3,2,10,13,38,213,46,16,27,068,43,19,72,076,50,23,09,182,37*77 $GPGSV,3,3,10,24,06,166,36,28,09,271,37*7F $GPGLL,3854.5087,N,07726.4523,W,125126,V,S*57 $GPBOD,,T,,M,,*47 $GPBWC,125126,,,,,,T,,M,,N,,S*6A $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125128,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*24 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125128,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*73 $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,61,316,49,08,35,315,45,11,36,148,45*73 $GPGSV,3,2,10,13,38,213,46,16,27,068,43,19,72,076,50,23,09,182,37*77 $GPGSV,3,3,10,24,06,166,35,28,09,271,37*7C $GPGLL,3854.5087,N,07726.4523,W,125128,V,S*59 gpsd-3.9/test/daemon/GPSmap-76S.log.chk0000664000175000017500000003370312135526246015701 0ustar esresr$GPRMC,125106,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*28 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125106,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*7F {"class":"TPV","tag":"GGA","mode":3,"lat":38.908478333,"lon":-77.440871667,"alt":268.800} $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A {"class":"TPV","tag":"GSA","mode":3,"lat":38.908478333,"lon":-77.440871667,"alt":268.800,"epv":69.000} $GPGSV,3,1,10,03,41,050,46,07,60,317,49,08,34,315,45,11,35,148,45*71 $GPGSV,3,2,10,13,38,213,45,16,27,068,43,19,72,076,50,23,09,182,37*74 $GPGSV,3,3,10,24,06,166,35,28,09,271,36*7D {"class":"SKY","tag":"GSV","xdop":0.60,"ydop":0.64,"vdop":3.00,"tdop":0.82,"hdop":2.00,"gdop":1.82,"pdop":3.60,"satellites":[{"PRN":3,"el":41,"az":50,"ss":46,"used":true},{"PRN":7,"el":60,"az":317,"ss":49,"used":true},{"PRN":8,"el":34,"az":315,"ss":45,"used":true},{"PRN":11,"el":35,"az":148,"ss":45,"used":true},{"PRN":13,"el":38,"az":213,"ss":45,"used":true},{"PRN":16,"el":27,"az":68,"ss":43,"used":true},{"PRN":19,"el":72,"az":76,"ss":50,"used":true},{"PRN":23,"el":9,"az":182,"ss":37,"used":true},{"PRN":24,"el":6,"az":166,"ss":35,"used":true},{"PRN":28,"el":9,"az":271,"ss":36,"used":true}]} $GPGLL,3854.5087,N,07726.4523,W,125106,V,S*55 $GPBOD,,T,,M,,*47 $GPBWC,125106,,,,,,T,,M,,N,,S*68 $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125108,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*26 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125108,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*71 $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,60,317,49,08,34,315,45,11,35,148,45*71 $GPGSV,3,2,10,13,38,213,45,16,27,068,43,19,72,076,50,23,09,182,37*74 $GPGSV,3,3,10,24,06,166,35,28,09,271,36*7D {"class":"SKY","tag":"GSV","xdop":0.60,"ydop":0.64,"vdop":3.00,"tdop":0.82,"hdop":2.00,"gdop":1.82,"pdop":3.60,"satellites":[{"PRN":3,"el":41,"az":50,"ss":46,"used":true},{"PRN":7,"el":60,"az":317,"ss":49,"used":true},{"PRN":8,"el":34,"az":315,"ss":45,"used":true},{"PRN":11,"el":35,"az":148,"ss":45,"used":true},{"PRN":13,"el":38,"az":213,"ss":45,"used":true},{"PRN":16,"el":27,"az":68,"ss":43,"used":true},{"PRN":19,"el":72,"az":76,"ss":50,"used":true},{"PRN":23,"el":9,"az":182,"ss":37,"used":true},{"PRN":24,"el":6,"az":166,"ss":35,"used":true},{"PRN":28,"el":9,"az":271,"ss":36,"used":true}]} $GPGLL,3854.5087,N,07726.4523,W,125108,V,S*5B $GPBOD,,T,,M,,*47 $GPBWC,125108,,,,,,T,,M,,N,,S*66 $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125110,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*2F $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125110,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*78 $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,61,316,49,08,34,315,44,11,35,148,45*70 $GPGSV,3,2,10,13,38,213,46,16,27,068,43,19,72,076,51,23,09,182,37*76 $GPGSV,3,3,10,24,06,166,35,28,09,271,36*7D {"class":"SKY","tag":"GSV","xdop":0.60,"ydop":0.64,"vdop":3.00,"tdop":0.82,"hdop":2.00,"gdop":1.82,"pdop":3.60,"satellites":[{"PRN":3,"el":41,"az":50,"ss":46,"used":true},{"PRN":7,"el":61,"az":316,"ss":49,"used":true},{"PRN":8,"el":34,"az":315,"ss":44,"used":true},{"PRN":11,"el":35,"az":148,"ss":45,"used":true},{"PRN":13,"el":38,"az":213,"ss":46,"used":true},{"PRN":16,"el":27,"az":68,"ss":43,"used":true},{"PRN":19,"el":72,"az":76,"ss":51,"used":true},{"PRN":23,"el":9,"az":182,"ss":37,"used":true},{"PRN":24,"el":6,"az":166,"ss":35,"used":true},{"PRN":28,"el":9,"az":271,"ss":36,"used":true}]} $GPGLL,3854.5087,N,07726.4523,W,125110,V,S*52 $GPBOD,,T,,M,,*47 $GPBWC,125110,,,,,,T,,M,,N,,S*6F $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125112,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*2D $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125112,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*7A $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,61,316,49,08,34,315,44,11,35,148,45*70 $GPGSV,3,2,10,13,38,213,46,16,27,068,43,19,72,076,50,23,09,182,37*77 $GPGSV,3,3,10,24,06,166,36,28,09,271,36*7E {"class":"SKY","tag":"GSV","xdop":0.60,"ydop":0.64,"vdop":3.00,"tdop":0.82,"hdop":2.00,"gdop":1.82,"pdop":3.60,"satellites":[{"PRN":3,"el":41,"az":50,"ss":46,"used":true},{"PRN":7,"el":61,"az":316,"ss":49,"used":true},{"PRN":8,"el":34,"az":315,"ss":44,"used":true},{"PRN":11,"el":35,"az":148,"ss":45,"used":true},{"PRN":13,"el":38,"az":213,"ss":46,"used":true},{"PRN":16,"el":27,"az":68,"ss":43,"used":true},{"PRN":19,"el":72,"az":76,"ss":50,"used":true},{"PRN":23,"el":9,"az":182,"ss":37,"used":true},{"PRN":24,"el":6,"az":166,"ss":36,"used":true},{"PRN":28,"el":9,"az":271,"ss":36,"used":true}]} $GPGLL,3854.5087,N,07726.4523,W,125112,V,S*50 $GPBOD,,T,,M,,*47 $GPBWC,125112,,,,,,T,,M,,N,,S*6D $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125114,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*2B $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125114,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*7C $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,61,316,49,08,35,315,45,11,35,148,45*70 $GPGSV,3,2,10,13,38,213,45,16,27,068,43,19,72,076,50,23,09,182,37*74 $GPGSV,3,3,10,24,06,166,35,28,09,271,36*7D {"class":"SKY","tag":"GSV","xdop":0.60,"ydop":0.64,"vdop":3.00,"tdop":0.82,"hdop":2.00,"gdop":1.82,"pdop":3.60,"satellites":[{"PRN":3,"el":41,"az":50,"ss":46,"used":true},{"PRN":7,"el":61,"az":316,"ss":49,"used":true},{"PRN":8,"el":35,"az":315,"ss":45,"used":true},{"PRN":11,"el":35,"az":148,"ss":45,"used":true},{"PRN":13,"el":38,"az":213,"ss":45,"used":true},{"PRN":16,"el":27,"az":68,"ss":43,"used":true},{"PRN":19,"el":72,"az":76,"ss":50,"used":true},{"PRN":23,"el":9,"az":182,"ss":37,"used":true},{"PRN":24,"el":6,"az":166,"ss":35,"used":true},{"PRN":28,"el":9,"az":271,"ss":36,"used":true}]} $GPGLL,3854.5087,N,07726.4523,W,125114,V,S*56 $GPBOD,,T,,M,,*47 $GPBWC,125114,,,,,,T,,M,,N,,S*6B $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125116,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*29 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125116,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*7E $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,61,316,49,08,35,315,45,11,35,148,45*70 $GPGSV,3,2,10,13,38,213,45,16,27,068,43,19,72,076,50,23,09,182,37*74 $GPGSV,3,3,10,24,06,166,35,28,09,271,36*7D {"class":"SKY","tag":"GSV","xdop":0.60,"ydop":0.64,"vdop":3.00,"tdop":0.82,"hdop":2.00,"gdop":1.82,"pdop":3.60,"satellites":[{"PRN":3,"el":41,"az":50,"ss":46,"used":true},{"PRN":7,"el":61,"az":316,"ss":49,"used":true},{"PRN":8,"el":35,"az":315,"ss":45,"used":true},{"PRN":11,"el":35,"az":148,"ss":45,"used":true},{"PRN":13,"el":38,"az":213,"ss":45,"used":true},{"PRN":16,"el":27,"az":68,"ss":43,"used":true},{"PRN":19,"el":72,"az":76,"ss":50,"used":true},{"PRN":23,"el":9,"az":182,"ss":37,"used":true},{"PRN":24,"el":6,"az":166,"ss":35,"used":true},{"PRN":28,"el":9,"az":271,"ss":36,"used":true}]} $GPGLL,3854.5087,N,07726.4523,W,125116,V,S*54 $GPBOD,,T,,M,,*47 $GPBWC,125116,,,,,,T,,M,,N,,S*69 $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125118,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*27 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125118,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*70 $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,61,316,49,08,35,315,45,11,35,148,45*70 $GPGSV,3,2,10,13,38,213,45,16,27,068,43,19,72,076,51,23,09,182,37*75 $GPGSV,3,3,10,24,06,166,35,28,09,271,36*7D {"class":"SKY","tag":"GSV","xdop":0.60,"ydop":0.64,"vdop":3.00,"tdop":0.82,"hdop":2.00,"gdop":1.82,"pdop":3.60,"satellites":[{"PRN":3,"el":41,"az":50,"ss":46,"used":true},{"PRN":7,"el":61,"az":316,"ss":49,"used":true},{"PRN":8,"el":35,"az":315,"ss":45,"used":true},{"PRN":11,"el":35,"az":148,"ss":45,"used":true},{"PRN":13,"el":38,"az":213,"ss":45,"used":true},{"PRN":16,"el":27,"az":68,"ss":43,"used":true},{"PRN":19,"el":72,"az":76,"ss":51,"used":true},{"PRN":23,"el":9,"az":182,"ss":37,"used":true},{"PRN":24,"el":6,"az":166,"ss":35,"used":true},{"PRN":28,"el":9,"az":271,"ss":36,"used":true}]} $GPGLL,3854.5087,N,07726.4523,W,125118,V,S*5A $GPBOD,,T,,M,,*47 $GPBWC,125118,,,,,,T,,M,,N,,S*67 $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125120,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*2C $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125120,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*7B $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,61,316,49,08,35,315,45,11,35,148,45*70 $GPGSV,3,2,10,13,38,213,46,16,27,068,44,19,72,076,50,23,09,182,37*70 $GPGSV,3,3,10,24,06,166,35,28,09,271,36*7D {"class":"SKY","tag":"GSV","xdop":0.60,"ydop":0.64,"vdop":3.00,"tdop":0.82,"hdop":2.00,"gdop":1.82,"pdop":3.60,"satellites":[{"PRN":3,"el":41,"az":50,"ss":46,"used":true},{"PRN":7,"el":61,"az":316,"ss":49,"used":true},{"PRN":8,"el":35,"az":315,"ss":45,"used":true},{"PRN":11,"el":35,"az":148,"ss":45,"used":true},{"PRN":13,"el":38,"az":213,"ss":46,"used":true},{"PRN":16,"el":27,"az":68,"ss":44,"used":true},{"PRN":19,"el":72,"az":76,"ss":50,"used":true},{"PRN":23,"el":9,"az":182,"ss":37,"used":true},{"PRN":24,"el":6,"az":166,"ss":35,"used":true},{"PRN":28,"el":9,"az":271,"ss":36,"used":true}]} $GPGLL,3854.5087,N,07726.4523,W,125120,V,S*51 $GPBOD,,T,,M,,*47 $GPBWC,125120,,,,,,T,,M,,N,,S*6C $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125122,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*2E $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125122,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*79 $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,61,316,49,08,35,315,45,11,35,148,45*70 $GPGSV,3,2,10,13,38,213,46,16,27,068,43,19,72,076,50,23,09,182,37*77 $GPGSV,3,3,10,24,06,166,35,28,09,271,37*7C {"class":"SKY","tag":"GSV","xdop":0.60,"ydop":0.64,"vdop":3.00,"tdop":0.82,"hdop":2.00,"gdop":1.82,"pdop":3.60,"satellites":[{"PRN":3,"el":41,"az":50,"ss":46,"used":true},{"PRN":7,"el":61,"az":316,"ss":49,"used":true},{"PRN":8,"el":35,"az":315,"ss":45,"used":true},{"PRN":11,"el":35,"az":148,"ss":45,"used":true},{"PRN":13,"el":38,"az":213,"ss":46,"used":true},{"PRN":16,"el":27,"az":68,"ss":43,"used":true},{"PRN":19,"el":72,"az":76,"ss":50,"used":true},{"PRN":23,"el":9,"az":182,"ss":37,"used":true},{"PRN":24,"el":6,"az":166,"ss":35,"used":true},{"PRN":28,"el":9,"az":271,"ss":37,"used":true}]} $GPGLL,3854.5087,N,07726.4523,W,125122,V,S*53 $GPBOD,,T,,M,,*47 $GPBWC,125122,,,,,,T,,M,,N,,S*6E $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125124,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*28 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125124,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*7F $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,61,316,49,08,35,315,45,11,35,148,45*70 $GPGSV,3,2,10,13,38,213,46,16,27,068,43,19,72,076,50,23,09,182,37*77 $GPGSV,3,3,10,24,06,166,35,28,09,271,37*7C {"class":"SKY","tag":"GSV","xdop":0.60,"ydop":0.64,"vdop":3.00,"tdop":0.82,"hdop":2.00,"gdop":1.82,"pdop":3.60,"satellites":[{"PRN":3,"el":41,"az":50,"ss":46,"used":true},{"PRN":7,"el":61,"az":316,"ss":49,"used":true},{"PRN":8,"el":35,"az":315,"ss":45,"used":true},{"PRN":11,"el":35,"az":148,"ss":45,"used":true},{"PRN":13,"el":38,"az":213,"ss":46,"used":true},{"PRN":16,"el":27,"az":68,"ss":43,"used":true},{"PRN":19,"el":72,"az":76,"ss":50,"used":true},{"PRN":23,"el":9,"az":182,"ss":37,"used":true},{"PRN":24,"el":6,"az":166,"ss":35,"used":true},{"PRN":28,"el":9,"az":271,"ss":37,"used":true}]} $GPGLL,3854.5087,N,07726.4523,W,125124,V,S*55 $GPBOD,,T,,M,,*47 $GPBWC,125124,,,,,,T,,M,,N,,S*68 $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125126,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*2A $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125126,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*7D $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,61,316,49,08,35,315,45,11,36,148,45*73 $GPGSV,3,2,10,13,38,213,46,16,27,068,43,19,72,076,50,23,09,182,37*77 $GPGSV,3,3,10,24,06,166,36,28,09,271,37*7F {"class":"SKY","tag":"GSV","xdop":0.60,"ydop":0.64,"vdop":3.00,"tdop":0.82,"hdop":2.00,"gdop":1.82,"pdop":3.60,"satellites":[{"PRN":3,"el":41,"az":50,"ss":46,"used":true},{"PRN":7,"el":61,"az":316,"ss":49,"used":true},{"PRN":8,"el":35,"az":315,"ss":45,"used":true},{"PRN":11,"el":36,"az":148,"ss":45,"used":true},{"PRN":13,"el":38,"az":213,"ss":46,"used":true},{"PRN":16,"el":27,"az":68,"ss":43,"used":true},{"PRN":19,"el":72,"az":76,"ss":50,"used":true},{"PRN":23,"el":9,"az":182,"ss":37,"used":true},{"PRN":24,"el":6,"az":166,"ss":36,"used":true},{"PRN":28,"el":9,"az":271,"ss":37,"used":true}]} $GPGLL,3854.5087,N,07726.4523,W,125126,V,S*57 $GPBOD,,T,,M,,*47 $GPBWC,125126,,,,,,T,,M,,N,,S*6A $GPVTG,0.0,T,10.5,M,0.0,N,0.0,K*7A $GPXTE,V,V,,,N,S*43 $GPRTE,1,1,c,*37 $GPRMC,125128,V,3854.5087,N,07726.4523,W,0.0,0.0,241011,10.5,W,S*24 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,125128,3854.5087,N,07726.4523,W,8,10,2.0,268.8,M,-33.9,M,,*73 $GPGSA,A,3,03,07,08,11,13,16,19,23,24,28,,,3.6,2.0,3.0*3A $GPGSV,3,1,10,03,41,050,46,07,61,316,49,08,35,315,45,11,36,148,45*73 $GPGSV,3,2,10,13,38,213,46,16,27,068,43,19,72,076,50,23,09,182,37*77 $GPGSV,3,3,10,24,06,166,35,28,09,271,37*7C {"class":"SKY","tag":"GSV","xdop":0.60,"ydop":0.64,"vdop":3.00,"tdop":0.82,"hdop":2.00,"gdop":1.82,"pdop":3.60,"satellites":[{"PRN":3,"el":41,"az":50,"ss":46,"used":true},{"PRN":7,"el":61,"az":316,"ss":49,"used":true},{"PRN":8,"el":35,"az":315,"ss":45,"used":true},{"PRN":11,"el":36,"az":148,"ss":45,"used":true},{"PRN":13,"el":38,"az":213,"ss":46,"used":true},{"PRN":16,"el":27,"az":68,"ss":43,"used":true},{"PRN":19,"el":72,"az":76,"ss":50,"used":true},{"PRN":23,"el":9,"az":182,"ss":37,"used":true},{"PRN":24,"el":6,"az":166,"ss":35,"used":true},{"PRN":28,"el":9,"az":271,"ss":37,"used":true}]} $GPGLL,3854.5087,N,07726.4523,W,125128,V,S*59 gpsd-3.9/test/daemon/ac12.log0000664000175000017500000000643011762140436014152 0ustar esresr# Name: Magellan Professional (formerly Thales/Ashtech) AC12 # Chipset: AC12 # Submitter: Chris Kuethe # Date: 2007-12-23 # Location: Playa del Carmen, Mexico. 20.63N/87.07W # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPGGA,193221.00,2037.72792,N,08704.08478,W,1,04,1.7,-30.40,M,-13.9,M,,*7D $GPGSA,A,3,10,28,09,13,,,,,,,,,03.4,01.7,03.0*00 $GPGSV,3,1,12,28,14,150,41,09,15,254,41,10,43,192,47,13,06,081,36*7A $GPGSV,3,2,12,02,56,323,,04,41,024,,12,31,317,,17,31,085,*72 $GPGSV,3,3,12,05,15,318,,24,02,246,,33,08,096,,35,45,118,*7D $GPRMC,193221.00,A,2037.7279,N,08704.0848,W,00.1,201.8,231207,01,W,A*2D $GPZDA,193223.00,23,12,2007,00,00*69 $GPGGA,193222.00,2037.72832,N,08704.08469,W,1,04,1.7,-30.00,M,-13.9,M,,*7F $GPGSA,A,3,10,09,28,13,,,,,,,,,03.4,01.7,03.0*00 $GPGSV,3,1,12,28,14,150,40,09,15,254,41,10,43,192,47,13,06,081,36*7B $GPGSV,3,2,12,02,56,323,,04,41,024,,12,31,317,,17,31,085,*72 $GPGSV,3,3,12,05,15,318,,24,02,246,,33,08,096,39,35,45,118,*77 $GPRMC,193222.00,A,2037.7283,N,08704.0847,W,00.0,201.8,231207,01,W,A*25 $GPZDA,193224.00,23,12,2007,00,00*6E $GPGGA,193223.00,2037.72880,N,08704.08455,W,1,04,1.7,-29.55,M,-13.9,M,,*70 $GPGSA,A,3,10,09,28,13,,,,,,,,,03.4,01.7,03.0*00 $GPGSV,3,1,12,28,14,150,39,09,15,254,41,10,43,192,47,13,06,081,36*75 $GPGSV,3,2,12,02,56,323,,04,41,024,,12,31,317,,17,31,085,*72 $GPGSV,3,3,12,05,15,318,,24,02,246,,33,08,096,,35,45,118,*7D $GPRMC,193223.00,A,2037.7288,N,08704.0846,W,00.1,201.8,231207,01,W,A*2F $GPZDA,193225.00,23,12,2007,00,00*6F $GPGGA,193224.00,2037.72912,N,08704.08451,W,1,04,1.7,-29.53,M,-13.9,M,,*7F $GPGSA,A,3,10,09,28,13,,,,,,,,,03.4,01.7,03.0*00 $GPGSV,3,1,12,28,14,150,39,09,15,254,41,10,43,192,47,13,06,081,36*75 $GPGSV,3,2,12,02,56,323,,04,41,024,,12,31,317,,17,31,085,*72 $GPGSV,3,3,12,05,15,318,,24,02,246,,33,08,096,,35,45,118,*7D $GPRMC,193224.00,A,2037.7291,N,08704.0845,W,00.0,201.8,231207,01,W,A*22 $GPZDA,193226.00,23,12,2007,00,00*6C $GPGGA,193225.00,2037.72949,N,08704.08443,W,1,04,1.7,-29.21,M,-13.9,M,,*76 $GPGSA,A,3,10,09,28,13,,,,,,,,,03.4,01.7,03.0*00 $GPGSV,4,1,13,28,13,151,39,09,15,253,42,10,43,192,48,13,06,081,36*7E $GPGSV,4,2,13,02,56,325,,04,41,024,,12,32,317,,17,30,086,*73 $GPGSV,4,3,13,05,16,318,,24,03,247,,30,00,323,,33,08,096,*76 $GPGSV,4,4,13,35,45,118,*44 $GPRMC,193225.00,A,2037.7295,N,08704.0844,W,00.1,201.8,231207,01,W,A*27 $GPZDA,193227.00,23,12,2007,00,00*6D $GPGGA,193226.00,2037.72992,N,08704.08433,W,1,04,1.7,-28.69,M,-13.9,M,,*79 $GPGSA,A,3,10,09,28,13,,,,,,,,,03.4,01.7,03.0*00 $GPGSV,4,1,13,28,13,151,41,09,15,253,41,10,43,192,48,13,06,081,36*72 $GPGSV,4,2,13,02,56,325,,04,41,024,,12,32,317,,17,30,086,*73 $GPGSV,4,3,13,05,16,318,,24,03,247,,30,00,323,,33,08,096,*76 $GPGSV,4,4,13,35,45,118,*44 $GPRMC,193226.00,A,2037.7299,N,08704.0843,W,00.1,201.8,231207,01,W,A*2F $GPZDA,193228.00,23,12,2007,00,00*62 $GPGGA,193227.00,2037.73032,N,08704.08423,W,1,04,1.7,-28.28,M,-13.9,M,,*7E $GPGSA,A,3,10,28,09,13,,,,,,,,,03.4,01.7,03.0*00 $GPGSV,4,1,13,28,13,151,41,09,15,253,41,10,43,192,48,13,06,081,36*72 $GPGSV,4,2,13,02,56,325,,04,41,024,,12,32,317,,17,30,086,*73 $GPGSV,4,3,13,05,16,318,,24,03,247,,30,00,323,,33,08,096,*76 $GPGSV,4,4,13,35,45,118,*44 $GPRMC,193227.00,A,2037.7303,N,08704.0842,W,00.0,201.8,231207,01,W,A*2C gpsd-3.9/test/daemon/ac12.log.chk0000664000175000017500000002303612135526247014722 0ustar esresr$GPGGA,193221.00,2037.72792,N,08704.08478,W,1,04,1.7,-30.40,M,-13.9,M,,*7D {"class":"TPV","tag":"GGA","mode":3,"lat":20.628798667,"lon":-87.068079667,"alt":-30.400} $GPGSA,A,3,10,28,09,13,,,,,,,,,03.4,01.7,03.0*00 {"class":"TPV","tag":"GSA","mode":3,"lat":20.628798667,"lon":-87.068079667,"alt":-30.400,"epv":69.000} $GPGSV,3,1,12,28,14,150,41,09,15,254,41,10,43,192,47,13,06,081,36*7A $GPGSV,3,2,12,02,56,323,,04,41,024,,12,31,317,,17,31,085,*72 $GPGSV,3,3,12,05,15,318,,24,02,246,,33,08,096,,35,45,118,*7D {"class":"SKY","tag":"GSV","xdop":0.76,"ydop":1.60,"vdop":3.00,"tdop":0.99,"hdop":1.70,"gdop":3.70,"pdop":3.40,"satellites":[{"PRN":28,"el":14,"az":150,"ss":41,"used":true},{"PRN":9,"el":15,"az":254,"ss":41,"used":true},{"PRN":10,"el":43,"az":192,"ss":47,"used":true},{"PRN":13,"el":6,"az":81,"ss":36,"used":true},{"PRN":2,"el":56,"az":323,"ss":0,"used":false},{"PRN":4,"el":41,"az":24,"ss":0,"used":false},{"PRN":12,"el":31,"az":317,"ss":0,"used":false},{"PRN":17,"el":31,"az":85,"ss":0,"used":false},{"PRN":5,"el":15,"az":318,"ss":0,"used":false},{"PRN":24,"el":2,"az":246,"ss":0,"used":false},{"PRN":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"el":45,"az":118,"ss":0,"used":false}]} $GPRMC,193221.00,A,2037.7279,N,08704.0848,W,00.1,201.8,231207,01,W,A*2D {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-23T19:32:21.000Z","ept":0.005,"lat":20.628798333,"lon":-87.068080000,"alt":-30.400,"epx":11.444,"epy":24.060,"epv":69.000,"track":201.8000,"speed":0.051} $GPZDA,193223.00,23,12,2007,00,00*69 $GPGGA,193222.00,2037.72832,N,08704.08469,W,1,04,1.7,-30.00,M,-13.9,M,,*7F $GPGSA,A,3,10,09,28,13,,,,,,,,,03.4,01.7,03.0*00 $GPGSV,3,1,12,28,14,150,40,09,15,254,41,10,43,192,47,13,06,081,36*7B $GPGSV,3,2,12,02,56,323,,04,41,024,,12,31,317,,17,31,085,*72 $GPGSV,3,3,12,05,15,318,,24,02,246,,33,08,096,39,35,45,118,*77 {"class":"SKY","tag":"GSV","xdop":0.76,"ydop":1.60,"vdop":3.00,"tdop":0.99,"hdop":1.70,"gdop":3.70,"pdop":3.40,"satellites":[{"PRN":28,"el":14,"az":150,"ss":40,"used":true},{"PRN":9,"el":15,"az":254,"ss":41,"used":true},{"PRN":10,"el":43,"az":192,"ss":47,"used":true},{"PRN":13,"el":6,"az":81,"ss":36,"used":true},{"PRN":2,"el":56,"az":323,"ss":0,"used":false},{"PRN":4,"el":41,"az":24,"ss":0,"used":false},{"PRN":12,"el":31,"az":317,"ss":0,"used":false},{"PRN":17,"el":31,"az":85,"ss":0,"used":false},{"PRN":5,"el":15,"az":318,"ss":0,"used":false},{"PRN":24,"el":2,"az":246,"ss":0,"used":false},{"PRN":120,"el":8,"az":96,"ss":39,"used":false},{"PRN":122,"el":45,"az":118,"ss":0,"used":false}]} $GPRMC,193222.00,A,2037.7283,N,08704.0847,W,00.0,201.8,231207,01,W,A*25 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-23T19:32:22.000Z","ept":0.005,"lat":20.628805000,"lon":-87.068078333,"alt":-30.000,"epx":11.444,"epy":24.060,"epv":69.000,"track":201.8000,"speed":0.000,"climb":-0.400} $GPZDA,193224.00,23,12,2007,00,00*6E $GPGGA,193223.00,2037.72880,N,08704.08455,W,1,04,1.7,-29.55,M,-13.9,M,,*70 $GPGSA,A,3,10,09,28,13,,,,,,,,,03.4,01.7,03.0*00 $GPGSV,3,1,12,28,14,150,39,09,15,254,41,10,43,192,47,13,06,081,36*75 $GPGSV,3,2,12,02,56,323,,04,41,024,,12,31,317,,17,31,085,*72 $GPGSV,3,3,12,05,15,318,,24,02,246,,33,08,096,,35,45,118,*7D {"class":"SKY","tag":"GSV","xdop":0.76,"ydop":1.60,"vdop":3.00,"tdop":0.99,"hdop":1.70,"gdop":3.70,"pdop":3.40,"satellites":[{"PRN":28,"el":14,"az":150,"ss":39,"used":true},{"PRN":9,"el":15,"az":254,"ss":41,"used":true},{"PRN":10,"el":43,"az":192,"ss":47,"used":true},{"PRN":13,"el":6,"az":81,"ss":36,"used":true},{"PRN":2,"el":56,"az":323,"ss":0,"used":false},{"PRN":4,"el":41,"az":24,"ss":0,"used":false},{"PRN":12,"el":31,"az":317,"ss":0,"used":false},{"PRN":17,"el":31,"az":85,"ss":0,"used":false},{"PRN":5,"el":15,"az":318,"ss":0,"used":false},{"PRN":24,"el":2,"az":246,"ss":0,"used":false},{"PRN":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"el":45,"az":118,"ss":0,"used":false}]} $GPRMC,193223.00,A,2037.7288,N,08704.0846,W,00.1,201.8,231207,01,W,A*2F {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-23T19:32:23.000Z","ept":0.005,"lat":20.628813333,"lon":-87.068076667,"alt":-29.550,"epx":11.444,"epy":24.060,"epv":69.000,"track":201.8000,"speed":0.051,"climb":-0.450} $GPZDA,193225.00,23,12,2007,00,00*6F $GPGGA,193224.00,2037.72912,N,08704.08451,W,1,04,1.7,-29.53,M,-13.9,M,,*7F $GPGSA,A,3,10,09,28,13,,,,,,,,,03.4,01.7,03.0*00 $GPGSV,3,1,12,28,14,150,39,09,15,254,41,10,43,192,47,13,06,081,36*75 $GPGSV,3,2,12,02,56,323,,04,41,024,,12,31,317,,17,31,085,*72 $GPGSV,3,3,12,05,15,318,,24,02,246,,33,08,096,,35,45,118,*7D {"class":"SKY","tag":"GSV","xdop":0.76,"ydop":1.60,"vdop":3.00,"tdop":0.99,"hdop":1.70,"gdop":3.70,"pdop":3.40,"satellites":[{"PRN":28,"el":14,"az":150,"ss":39,"used":true},{"PRN":9,"el":15,"az":254,"ss":41,"used":true},{"PRN":10,"el":43,"az":192,"ss":47,"used":true},{"PRN":13,"el":6,"az":81,"ss":36,"used":true},{"PRN":2,"el":56,"az":323,"ss":0,"used":false},{"PRN":4,"el":41,"az":24,"ss":0,"used":false},{"PRN":12,"el":31,"az":317,"ss":0,"used":false},{"PRN":17,"el":31,"az":85,"ss":0,"used":false},{"PRN":5,"el":15,"az":318,"ss":0,"used":false},{"PRN":24,"el":2,"az":246,"ss":0,"used":false},{"PRN":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"el":45,"az":118,"ss":0,"used":false}]} $GPRMC,193224.00,A,2037.7291,N,08704.0845,W,00.0,201.8,231207,01,W,A*22 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-23T19:32:24.000Z","ept":0.005,"lat":20.628818333,"lon":-87.068075000,"alt":-29.530,"epx":11.444,"epy":24.060,"epv":69.000,"track":201.8000,"speed":0.000,"climb":-0.020} $GPZDA,193226.00,23,12,2007,00,00*6C $GPGGA,193225.00,2037.72949,N,08704.08443,W,1,04,1.7,-29.21,M,-13.9,M,,*76 $GPGSA,A,3,10,09,28,13,,,,,,,,,03.4,01.7,03.0*00 $GPGSV,4,1,13,28,13,151,39,09,15,253,42,10,43,192,48,13,06,081,36*7E $GPGSV,4,2,13,02,56,325,,04,41,024,,12,32,317,,17,30,086,*73 $GPGSV,4,3,13,05,16,318,,24,03,247,,30,00,323,,33,08,096,*76 $GPGSV,4,4,13,35,45,118,*44 {"class":"SKY","tag":"GSV","xdop":0.76,"ydop":1.60,"vdop":3.00,"tdop":0.99,"hdop":1.70,"gdop":3.70,"pdop":3.40,"satellites":[{"PRN":28,"el":13,"az":151,"ss":39,"used":true},{"PRN":9,"el":15,"az":253,"ss":42,"used":true},{"PRN":10,"el":43,"az":192,"ss":48,"used":true},{"PRN":13,"el":6,"az":81,"ss":36,"used":true},{"PRN":2,"el":56,"az":325,"ss":0,"used":false},{"PRN":4,"el":41,"az":24,"ss":0,"used":false},{"PRN":12,"el":32,"az":317,"ss":0,"used":false},{"PRN":17,"el":30,"az":86,"ss":0,"used":false},{"PRN":5,"el":16,"az":318,"ss":0,"used":false},{"PRN":24,"el":3,"az":247,"ss":0,"used":false},{"PRN":30,"el":0,"az":323,"ss":0,"used":false},{"PRN":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"el":45,"az":118,"ss":0,"used":false}]} $GPRMC,193225.00,A,2037.7295,N,08704.0844,W,00.1,201.8,231207,01,W,A*27 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-23T19:32:25.000Z","ept":0.005,"lat":20.628825000,"lon":-87.068073333,"alt":-29.210,"epx":11.444,"epy":24.060,"epv":69.000,"track":201.8000,"speed":0.051,"climb":-0.320} $GPZDA,193227.00,23,12,2007,00,00*6D $GPGGA,193226.00,2037.72992,N,08704.08433,W,1,04,1.7,-28.69,M,-13.9,M,,*79 $GPGSA,A,3,10,09,28,13,,,,,,,,,03.4,01.7,03.0*00 $GPGSV,4,1,13,28,13,151,41,09,15,253,41,10,43,192,48,13,06,081,36*72 $GPGSV,4,2,13,02,56,325,,04,41,024,,12,32,317,,17,30,086,*73 $GPGSV,4,3,13,05,16,318,,24,03,247,,30,00,323,,33,08,096,*76 $GPGSV,4,4,13,35,45,118,*44 {"class":"SKY","tag":"GSV","xdop":0.76,"ydop":1.60,"vdop":3.00,"tdop":0.99,"hdop":1.70,"gdop":3.70,"pdop":3.40,"satellites":[{"PRN":28,"el":13,"az":151,"ss":41,"used":true},{"PRN":9,"el":15,"az":253,"ss":41,"used":true},{"PRN":10,"el":43,"az":192,"ss":48,"used":true},{"PRN":13,"el":6,"az":81,"ss":36,"used":true},{"PRN":2,"el":56,"az":325,"ss":0,"used":false},{"PRN":4,"el":41,"az":24,"ss":0,"used":false},{"PRN":12,"el":32,"az":317,"ss":0,"used":false},{"PRN":17,"el":30,"az":86,"ss":0,"used":false},{"PRN":5,"el":16,"az":318,"ss":0,"used":false},{"PRN":24,"el":3,"az":247,"ss":0,"used":false},{"PRN":30,"el":0,"az":323,"ss":0,"used":false},{"PRN":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"el":45,"az":118,"ss":0,"used":false}]} $GPRMC,193226.00,A,2037.7299,N,08704.0843,W,00.1,201.8,231207,01,W,A*2F {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-23T19:32:26.000Z","ept":0.005,"lat":20.628831667,"lon":-87.068071667,"alt":-28.690,"epx":11.444,"epy":24.060,"epv":69.000,"track":201.8000,"speed":0.051,"climb":-0.520} $GPZDA,193228.00,23,12,2007,00,00*62 $GPGGA,193227.00,2037.73032,N,08704.08423,W,1,04,1.7,-28.28,M,-13.9,M,,*7E $GPGSA,A,3,10,28,09,13,,,,,,,,,03.4,01.7,03.0*00 $GPGSV,4,1,13,28,13,151,41,09,15,253,41,10,43,192,48,13,06,081,36*72 $GPGSV,4,2,13,02,56,325,,04,41,024,,12,32,317,,17,30,086,*73 $GPGSV,4,3,13,05,16,318,,24,03,247,,30,00,323,,33,08,096,*76 $GPGSV,4,4,13,35,45,118,*44 {"class":"SKY","tag":"GSV","xdop":0.76,"ydop":1.60,"vdop":3.00,"tdop":0.99,"hdop":1.70,"gdop":3.70,"pdop":3.40,"satellites":[{"PRN":28,"el":13,"az":151,"ss":41,"used":true},{"PRN":9,"el":15,"az":253,"ss":41,"used":true},{"PRN":10,"el":43,"az":192,"ss":48,"used":true},{"PRN":13,"el":6,"az":81,"ss":36,"used":true},{"PRN":2,"el":56,"az":325,"ss":0,"used":false},{"PRN":4,"el":41,"az":24,"ss":0,"used":false},{"PRN":12,"el":32,"az":317,"ss":0,"used":false},{"PRN":17,"el":30,"az":86,"ss":0,"used":false},{"PRN":5,"el":16,"az":318,"ss":0,"used":false},{"PRN":24,"el":3,"az":247,"ss":0,"used":false},{"PRN":30,"el":0,"az":323,"ss":0,"used":false},{"PRN":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"el":45,"az":118,"ss":0,"used":false}]} $GPRMC,193227.00,A,2037.7303,N,08704.0842,W,00.0,201.8,231207,01,W,A*2C {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-23T19:32:27.000Z","ept":0.005,"lat":20.628838333,"lon":-87.068070000,"alt":-28.280,"epx":11.444,"epy":24.060,"epv":69.000,"track":201.8000,"speed":0.000,"climb":-0.410} gpsd-3.9/test/daemon/ac12_binary.log0000664000175000017500000006231311762140436015520 0ustar esresr# Name: Magellan Professional (formerly Thales/Ashtech) AC12 # Chipset: AC12 # Submitter: Chris Kuethe # Date: 2007-12-23 # Location: Playa del Carmen, Mexico. 20.63N/87.07W # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $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 $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 $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 $PASHR,SAT,03,28,139,38,46,U,10,193,17,50,U,02,274,55,50,U*53 $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,à&E.A_µL1ž„ ?²¹ u2Ø‹'$d€ÖÑ $PASHR,MCA,à `2A[/FWù ?Žp’796<ýÊìd€˜° $PASHR,MCA,à7‰ 2A]FÓÊÅÔ?²@Ú![2ÿ‰z…d’ $PASHR,PBN,ý|????A€ï@&šÁVÀ/Ó1SAA p—:m;z©Z;Ó;·ÛÏI $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 $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 $PASHR,SAT,03,28,139,38,46,U,10,193,17,50,U,02,274,55,50,U*53 $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,ô&E.A_·Ñd±Gž?²¹(ú°qT‹9¢d€Žû $PASHR,MCA,ô `2A[+Š>ëp¥?Žpj·Ñ;%ýÊî„d€U. $PASHR,MCA,ô7‰ 2A]FaCA\?²8š:ƒsÿ‰‹edÐÒ $PASHR,PBN,ýè????A€ïbÐÓWÁVÀ0$£AA pžT;íÞF;\8<ÊqÛOÓ $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 $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 $PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,50,U*5B $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,&E.A_ºZÇøHˆ?²¹D°vó‹Y®d€8§ $PASHR,MCA, `1A[( :Áƒc?ŽpC\o7ýÊýd€PŠ $PASHR,MCA,7‰ 2A]EO#…žÏ?²0dj`éÿ‰§ÎdЬ $PASHR,PBN,ýƒÐ????A€ï°ˆêÁVÀ0Y]7AA p©–#;äî;nNÂ<Ž¢Ûšñ $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 $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 $PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,50,U*5B $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,&E.A_Œå ãX?²¹`8l'‹[þd€Œs $PASHR,MCA, `1A[$o42Œ?ŽpûˆÉîýÊí˜d€ÒÝ $PASHR,MCA,7‰ 2A]DVÿ#?²(Qaü,ÿ‰ŠDdx $PASHR,PBN,ý‡ž????A€ï÷s;šÁVÀ0µU÷AA oþ;S:;Œ÷Ñ;Ô/< uÛ_ $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 $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 $PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,50,U*5B $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,0&E.A_¿hå Yº?²¹{ÀÜ/‡‹ŽŸd€š4 $PASHR,MCA,0 `1A[ Í4$‰s?ŽoôaˆýËhd€Ÿ» $PASHR,MCA,07‰ 2A]CÉðM%©?²ÃÔÿ‰ÖndBs $PASHR,PBN,ý‹ ????A€ð.3çÐÁVÀ0ó QAA oüj ºš¬:æ–A;›2ÀÛ0£ $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 $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 $PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,50,U*5B $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,D&E.A_Áõ—ú,¯?²¹—zï‹‚†d€#¿ $PASHR,MCA,D `1A[4*]œz?ŽoͳàaýÊòød€Ñƒ $PASHR,MCA,D7‰ 2A]C ôe^?²œ¶T—ÿ‰È‘dŽ{ $PASHR,PBN,ýˆ????A€ðl²”ÉÁVÀ0ÔGAA oûšRç<'Ðù;“ À<,<ÒÛ*‰ $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 $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 $PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,50,U*5B $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,X&E.A_ÄxÎŽc?²¹³»ii‹·žd€Ê $PASHR,MCA,X `1A[‘‰W€ýÊñ„d€,= $PASHR,MCA,l7‰ 2A]A…IöŽž?²õî–:ÿ‰å.dę $PASHR,PBN,ý—X????A€ðÙ@QÁVÀ0hWZAA oûþ—„;Šêy:ÕÞÈ;uî{Ûk $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 $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 $PASHR,SAT,03,28,139,38,47,U,10,193,17,49,U,02,274,55,50,U*5A $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,€&E/A_Ɋrް‰?²¹êOžÈ¡‹Âfd€ý $PASHR,MCA,€ `1A[W(|Ǒ?ŽoV±Œ“)ýÊþHd€ƒt $PASHR,MCA,€7‰ 2A]@ÄŠÑã?²þ³‡Jÿ‰ÿEddÛ $PASHR,PBN,ý›@????A€ðú/HÁVÀ0`ÊqAA oû—¬ù;ºÑ0;y<Ò)ۄ $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 $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 $PASHR,SAT,03,28,139,38,47,U,10,193,17,49,U,02,274,55,49,U*52 $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,”&E/A_Ì5²ïä?²ºßbP€‹Çbd€ $PASHR,MCA,” `1A[ŽŸÛUœ?Žo/‡.ýÊòŽd€‰Œ $PASHR,MCA,”7‰ 1A]?þš‹EÔ?²öG{¢ÿŠmdxš $PASHR,PBN,ýŸ(????A€ñI?9ÁVÀ0šÜGAA oùù¢<”`;sÜ< —:ÛyÒ $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 $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 $PASHR,SAT,03,28,139,38,47,U,10,193,17,49,U,02,274,55,49,U*52 $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,š&E/A_Ζq®²u?²º!p8؅‹Ó¶d€Yó $PASHR,MCA,š `1A[ ±€m?Žošü]«ýÊí,d€Q $PASHR,MCA,š7‰ 1A]?=éÎ?²íóÓÿŠ Ÿd€ø $PASHR,PBN,ý£????A€ñ -ÚÁVÀ0«þhAA où¹¥;¶¬@;8;§…™Ûs± $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 $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 $PASHR,SAT,03,28,139,38,47,U,10,193,17,49,U,02,274,55,49,U*52 $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,Œ&E/A_Ñ#±ño§?²º=13j—Œžd€ÙP $PASHR,MCA,Œ `1A[}‹Ï<.?Žnà^fÿýËd€ŒZ $PASHR,MCA,Œ7‰ 1A]>€”Û–§?²åß:FÿŠ<œd€qL $PASHR,PBN,ýŠø????A€ñ!'ZÖÁVÀ0XàaAA oûq8;û®­;E0&;ã[hÛÂÕ $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 $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 $PASHR,SAT,03,28,139,38,47,U,10,193,17,49,U,02,274,55,49,U*52 $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,Ð&E/A_Ó­"«?²ºXÄ©ÌŒ Ìd€sz $PASHR,MCA,Ð `1A[àzö"Ñ?Žnžÿ=<&ýËdd€Mf $PASHR,MCA,Ð7‰ 1A]=À6“£?²ÝÅ«*ÎÿŠ? d6v $PASHR,PBN,ýªà????A€ñ]„ÁVÀ/ßЛAA oü•Š;þ È;$¥J;·ÞÇÛ#· $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 $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 $PASHR,SAT,04,28,139,38,47,U,10,193,17,49,U,02,274,55,49,U,33,096,08,38,-*68 $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,ä&E/A_Ö3i€®«?²ºtY©âŒÒd€z $PASHR,MCA,ä `1A[@$Ï~#?Žn‘k y"ýËld€‰? $PASHR,MCA,ä7‰ 1A]<üªJ^`?²Õ~Ýì©ÿŠJôd”æ $PASHR,PBN,ý®È????A€ñ„.|"ÁVÀ/ßÇþAA oûëZ¹;ê€h;ŽI=<,ÌÊÛ}& $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 $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 $PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53 $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,ø&E.A_Ø¿{—"?²º³@ŒBd€$Ò $PASHR,MCA,ø `1AZü¥}3ëy?Žnj >êýÊï„d€’L $PASHR,MCA,ø7‰ 1A]<>㿯?²Í`.xÅÿŠGdSY $PASHR,PBN,ý²°????A€ñ§9¿ÁVÀ/ÉOAA oûÉ6;Ì·; {;¯ÇÃۀ% $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 $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 $PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53 $PASHR,XMG,12,Solution valid*4A $PASHR,MCA, &E.A_ÛLŽŽÀ?²º«Žv¯šŒ="d€žŸ $PASHR,MCA,  `1AZù ¹µ˜ß?ŽnBì]8ýËd€ $PASHR,MCA, 7‰ 1A];‚mí×?²ÅMߕ ÿŠfÇd$ $PASHR,PBN,ý¶˜????A€ò œIÁVÀ.¶‰^AA oÿùã;àeŒ;Bž;ã§®Û¢ë $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 $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 $PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53 $PASHR,XMG,12,Solution valid*4A $PASHR,MCA, &E.A_ÝÒaM$C?²ºÇL€œÍŒO°d€í $PASHR,MCA,  `1AZõj™é.í?ŽnUZŠQýËÐd€D $PASHR,MCA, 7‰ 1A]:Ÿ ŠþT?²œ o;õÿŠuSdÀQ $PASHR,PBN,ýº€????A€ò\vÕ¶ÁVÀ."ï2AA pw(ª¹æªv:?#;®šÛø $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 $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 $PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53 $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,4&E.A_à^o‹À?²ºãifŒLÔd€[ $PASHR,MCA,4 `1AZñÏÇø«?Žmóÿh}IýÊîd€G $PASHR,MCA,47‰ 1A]:`ÐwÄ?²µOÓíÿŠp¢dzp $PASHR,PBN,ýŸh????A€òªü…ÁVÀ.M…AA pDëÆ;ÚœO;O:;ôëõÛö¥ $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 $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 $PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53 $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,H&E.A_âèm›÷?²ºþ®™ZNŒp²d€¡’ $PASHR,MCA,H `1AZî2m©?Žm̚ÍJ}ýËHd€Þ $PASHR,MCA,H7‰ 1A]9@Fçu;?²¬çèÿ•ÿŠ‘gd•w $PASHR,PBN,ýÂP????A€ó#ÁVÀ-Íñ:AA p14'; 9:Ê,â;y#Û ê $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 $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 $PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53 $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,\&E.A_åpšÚÝ?²»IòiŒŒŽTd€Š~ $PASHR,MCA,\ `1AZê“bjŒó?Žm¥ÃQýË Œd€pï $PASHR,MCA,\7‰ 1A]8~’—ýM?²€ ‰ÊÿЬìd]é $PASHR,PBN,ýÆ8????A€ójöå+ÁVÀ-«3bAA oÿZD;£Ð;1+;ÔȌÛe $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 $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 $PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53 $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,p&E.A_çùüé?²»6]ŒZŒ”$d€°ó $PASHR,MCA,p `1AZæõR+tá?Žm}Ž’}jýËd) $PASHR,MCA,p7‰ 1A]7œñyÆ%?²œc#ðÿŠ®µd › $PASHR,PBN,ýÊ ????A€ó±I 0ÁVÀ-R_(AA oÿÿÍ/ºàª“¹€¹/ÃÛ4À $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 $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 $PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53 $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,„&E.A_ꄎUxŽ?²»Q³f‹ŸŒ˜’d€_ $PASHR,MCA,„ `1AZãX‹aÜ7?ŽmVGú'ýÊôàd€ œ $PASHR,MCA,„7‰ 1A]6þ°œMN?²”7N±Pÿбudòz $PASHR,PBN,ýÎ????A€ôðùÁVÀ,Ù\8AA pÆ¡;qì ; ¬ ;«{6Û&š $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 $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 $PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53 $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,˜&E.A_íºötü?²»mR¡Æ×ŒÐŽd€g= $PASHR,MCA,˜ `1AZߌ÷{“N?Žm.ì£^ÈýËŒd€'ˆ $PASHR,MCA,˜7‰ 1A]6@ºWC?²ŒÚóÙÿŠç3dÜ% $PASHR,PBN,ýÑð????A€ôx°@/ÁVÀ,2"AA pŸ ;‘7Ô;3Š;·z_ÛÃ; $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 $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 $PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53 $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,¬&E.A_=ª*?²»‰!µÚ]Œ²Šd€.U $PASHR,MCA,¬ `1AZÜËp±?Žm^.#§ýÊîd€¥§ $PASHR,MCA,¬7‰ 1A]5€¥1Â?²ƒÕnǕÿŠÆ]d„G $PASHR,PBN,ýÕØ????A€ôŒõÁVÀ+Á}®AA pÆì<V’;V•ï;øelÛöÙ $GPZDA,183555.00,23,12,2007,00,00*6E $GPGGA,183554.00,2037.76013,N,08704.07286,W,1,03,2.2,072.35,M,-13.9,M,,*63 $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 $PASHR,POS,0,03,183554.00,2037.76013,N,08704.07286,W,058.48,,359.4,000.1,+000.0,2.2,2.2,0.0,1.0,BQ00*29 $GPRMC,183554.00,A,2037.7601,N,08704.0729,W,00.0,359.4,231207,01,W,A*2B $PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53 $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,À&E.A_ò$OŒÏÞ?²»€ÃyžŒåTd€È# $PASHR,MCA,À `1AZ؁§ëX?ŽlàÌ';ý˰d€C$ $PASHR,MCA,À7‰ 1A]4ÀEÕqÌ?²{ª{œ8ÿŠõÄd\x $PASHR,PBN,ýÙÀ????A€õ*›ÁVÀ*»"AA pVÔÃ< Iß;žJá<>æ Û $GPZDA,183556.00,23,12,2007,00,00*6D $GPGGA,183555.00,2037.76015,N,08704.07279,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,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 $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 $PASHR,SAT,03,28,139,38,46,U,10,193,17,49,U,02,274,55,49,U*53 $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,Ô&E.A_ô®Š9ÄÞ?²»Àf]HøŒÙ$d€.¯ $PASHR,MCA,Ô `1AZÔãNßÐ)?Žlž–|_ýÊòtd€@¿ $PASHR,MCA,Ô7‰ 1A]4užr'?²siGɋÿŠçhd€8t $PASHR,PBN,ýÝš????A€õŸ+ØÉÁVÀ)9<8AA p Z»°< ë›;húÂ<]êÛ±X $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 $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 $PASHR,SAT,03,28,139,38,47,U,10,193,17,49,U,02,274,55,49,U*52 $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,è&E/A_÷4?%3ä?²»Ü9U®“ŒþNd€ò; $PASHR,MCA,è `1AZÑ@úfA?ŽløarýË€d€*Ÿ $PASHR,MCA,è7‰ 1A]3<„M?²jìÄÿ‹ vd€“ $PASHR,PBN,ýá????A€õœŠ`#ÁVÀ( ŐAA p®Í<*<@;ŽÚÏ<&ZÏÛ  $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 $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 $PASHR,SAT,03,28,139,38,47,U,10,193,17,49,U,02,274,55,48,U*53 $PASHR,XMG,12,Solution valid*4A $PASHR,MCA,ü&E/A_ùŒ3‰î‰?²»÷ßo3cBd€œ° $PASHR,MCA,ü `1AZÍ È Ê7?ŽlibUýËžd€M $PASHR,MCA,ü7‰ 0A]2yùã ?²bŽ‡Ð®ÿ‹>d€µ” $PASHR,PBN,ýåx????A€õÊa›YÁVÀ'~~AA pËéD;†`…;™ìWëp¥?Žpj·Ñ;%ýÊî„d€U. $PASHR,MCA,ô7‰ 2A]FaCA\?²8š:ƒsÿ‰‹edÐÒ $PASHR,PBN,ýè????A€ïbÐÓWÁVÀ0$£AA pžT;íÞF;\8<ÊqÛOÓ $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:32.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067895000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,&E.A_ºZÇøHˆ?²¹D°vó‹Y®d€8§ $PASHR,MCA, `1A[( :Áƒc?ŽpC\o7ýÊýd€PŠ $PASHR,MCA,7‰ 2A]EO#…žÏ?²0dj`éÿ‰§ÎdЬ $PASHR,PBN,ýƒÐ????A€ï°ˆêÁVÀ0Y]7AA p©–#;äî;nNÂ<Ž¢Ûšñ $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:33.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067893333,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,&E.A_Œå ãX?²¹`8l'‹[þd€Œs $PASHR,MCA, `1A[$o42Œ?ŽpûˆÉîýÊí˜d€ÒÝ $PASHR,MCA,7‰ 2A]DVÿ#?²(Qaü,ÿ‰ŠDdx $PASHR,PBN,ý‡ž????A€ï÷s;šÁVÀ0µU÷AA oþ;S:;Œ÷Ñ;Ô/< uÛ_ $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:34.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067893333,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,0&E.A_¿hå Yº?²¹{ÀÜ/‡‹ŽŸd€š4 $PASHR,MCA,0 `1A[ Í4$‰s?ŽoôaˆýËhd€Ÿ» $PASHR,MCA,07‰ 2A]CÉðM%©?²ÃÔÿ‰ÖndBs $PASHR,PBN,ý‹ ????A€ð.3çÐÁVÀ0ó QAA oüj ºš¬:æ–A;›2ÀÛ0£ $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:35.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067891667,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,D&E.A_Áõ—ú,¯?²¹—zï‹‚†d€#¿ $PASHR,MCA,D `1A[4*]œz?ŽoͳàaýÊòød€Ñƒ $PASHR,MCA,D7‰ 2A]C ôe^?²œ¶T—ÿ‰È‘dŽ{ $PASHR,PBN,ýˆ????A€ðl²”ÉÁVÀ0ÔGAA oûšRç<'Ðù;“ À<,<ÒÛ*‰ $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:36.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067891667,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,X&E.A_ÄxÎŽc?²¹³»ii‹·žd€Ê $PASHR,MCA,X `1A[‘‰W€ýÊñ„d€,= $PASHR,MCA,l7‰ 2A]A…IöŽž?²õî–:ÿ‰å.dę $PASHR,PBN,ý—X????A€ðÙ@QÁVÀ0hWZAA oûþ—„;Šêy:ÕÞÈ;uî{Ûk $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:38.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067891667,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,€&E/A_Ɋrް‰?²¹êOžÈ¡‹Âfd€ý $PASHR,MCA,€ `1A[W(|Ǒ?ŽoV±Œ“)ýÊþHd€ƒt $PASHR,MCA,€7‰ 2A]@ÄŠÑã?²þ³‡Jÿ‰ÿEddÛ $PASHR,PBN,ý›@????A€ðú/HÁVÀ0`ÊqAA oû—¬ù;ºÑ0;y<Ò)ۄ $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:39.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067891667,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,”&E/A_Ì5²ïä?²ºßbP€‹Çbd€ $PASHR,MCA,” `1A[ŽŸÛUœ?Žo/‡.ýÊòŽd€‰Œ $PASHR,MCA,”7‰ 1A]?þš‹EÔ?²öG{¢ÿŠmdxš $PASHR,PBN,ýŸ(????A€ñI?9ÁVÀ0šÜGAA oùù¢<”`;sÜ< —:ÛyÒ $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:40.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067891667,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,š&E/A_Ζq®²u?²º!p8؅‹Ó¶d€Yó $PASHR,MCA,š `1A[ ±€m?Žošü]«ýÊí,d€Q $PASHR,MCA,š7‰ 1A]?=éÎ?²íóÓÿŠ Ÿd€ø $PASHR,PBN,ý£????A€ñ -ÚÁVÀ0«þhAA où¹¥;¶¬@;8;§…™Ûs± $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:41.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067890000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,Œ&E/A_Ñ#±ño§?²º=13j—Œžd€ÙP $PASHR,MCA,Œ `1A[}‹Ï<.?Žnà^fÿýËd€ŒZ $PASHR,MCA,Œ7‰ 1A]>€”Û–§?²åß:FÿŠ<œd€qL $PASHR,PBN,ýŠø????A€ñ!'ZÖÁVÀ0XàaAA oûq8;û®­;E0&;ã[hÛÂÕ $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:42.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067890000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,Ð&E/A_Ó­"«?²ºXÄ©ÌŒ Ìd€sz $PASHR,MCA,Ð `1A[àzö"Ñ?Žnžÿ=<&ýËdd€Mf $PASHR,MCA,Ð7‰ 1A]=À6“£?²ÝÅ«*ÎÿŠ? d6v $PASHR,PBN,ýªà????A€ñ]„ÁVÀ/ßЛAA oü•Š;þ È;$¥J;·ÞÇÛ#· $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":120,"el":8,"az":96,"ss":38,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:43.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067890000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,ä&E/A_Ö3i€®«?²ºtY©âŒÒd€z $PASHR,MCA,ä `1A[@$Ï~#?Žn‘k y"ýËld€‰? $PASHR,MCA,ä7‰ 1A]<üªJ^`?²Õ~Ýì©ÿŠJôd”æ $PASHR,PBN,ý®È????A€ñ„.|"ÁVÀ/ßÇþAA oûëZ¹;ê€h;ŽI=<,ÌÊÛ}& $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:44.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067890000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,ø&E.A_Ø¿{—"?²º³@ŒBd€$Ò $PASHR,MCA,ø `1AZü¥}3ëy?Žnj >êýÊï„d€’L $PASHR,MCA,ø7‰ 1A]<>㿯?²Í`.xÅÿŠGdSY $PASHR,PBN,ý²°????A€ñ§9¿ÁVÀ/ÉOAA oûÉ6;Ì·; {;¯ÇÃۀ% $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:45.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067888333,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA, &E.A_ÛLŽŽÀ?²º«Žv¯šŒ="d€žŸ $PASHR,MCA,  `1AZù ¹µ˜ß?ŽnBì]8ýËd€ $PASHR,MCA, 7‰ 1A];‚mí×?²ÅMߕ ÿŠfÇd$ $PASHR,PBN,ý¶˜????A€ò œIÁVÀ.¶‰^AA oÿùã;àeŒ;Bž;ã§®Û¢ë $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:46.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067888333,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA, &E.A_ÝÒaM$C?²ºÇL€œÍŒO°d€í $PASHR,MCA,  `1AZõj™é.í?ŽnUZŠQýËÐd€D $PASHR,MCA, 7‰ 1A]:Ÿ ŠþT?²œ o;õÿŠuSdÀQ $PASHR,PBN,ýº€????A€ò\vÕ¶ÁVÀ."ï2AA pw(ª¹æªv:?#;®šÛø $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:47.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067886667,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,4&E.A_à^o‹À?²ºãifŒLÔd€[ $PASHR,MCA,4 `1AZñÏÇø«?Žmóÿh}IýÊîd€G $PASHR,MCA,47‰ 1A]:`ÐwÄ?²µOÓíÿŠp¢dzp $PASHR,PBN,ýŸh????A€òªü…ÁVÀ.M…AA pDëÆ;ÚœO;O:;ôëõÛö¥ $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:48.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067886667,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,H&E.A_âèm›÷?²ºþ®™ZNŒp²d€¡’ $PASHR,MCA,H `1AZî2m©?Žm̚ÍJ}ýËHd€Þ $PASHR,MCA,H7‰ 1A]9@Fçu;?²¬çèÿ•ÿŠ‘gd•w $PASHR,PBN,ýÂP????A€ó#ÁVÀ-Íñ:AA p14'; 9:Ê,â;y#Û ê $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:49.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067885000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,\&E.A_åpšÚÝ?²»IòiŒŒŽTd€Š~ $PASHR,MCA,\ `1AZê“bjŒó?Žm¥ÃQýË Œd€pï $PASHR,MCA,\7‰ 1A]8~’—ýM?²€ ‰ÊÿЬìd]é $PASHR,PBN,ýÆ8????A€ójöå+ÁVÀ-«3bAA oÿZD;£Ð;1+;ÔȌÛe $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:50.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067885000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,p&E.A_çùüé?²»6]ŒZŒ”$d€°ó $PASHR,MCA,p `1AZæõR+tá?Žm}Ž’}jýËd) $PASHR,MCA,p7‰ 1A]7œñyÆ%?²œc#ðÿŠ®µd › $PASHR,PBN,ýÊ ????A€ó±I 0ÁVÀ-R_(AA oÿÿÍ/ºàª“¹€¹/ÃÛ4À $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:51.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067883333,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,„&E.A_ꄎUxŽ?²»Q³f‹ŸŒ˜’d€_ $PASHR,MCA,„ `1AZãX‹aÜ7?ŽmVGú'ýÊôàd€ œ $PASHR,MCA,„7‰ 1A]6þ°œMN?²”7N±Pÿбudòz $PASHR,PBN,ýÎ????A€ôðùÁVÀ,Ù\8AA pÆ¡;qì ; ¬ ;«{6Û&š $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:52.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067883333,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,˜&E.A_íºötü?²»mR¡Æ×ŒÐŽd€g= $PASHR,MCA,˜ `1AZߌ÷{“N?Žm.ì£^ÈýËŒd€'ˆ $PASHR,MCA,˜7‰ 1A]6@ºWC?²ŒÚóÙÿŠç3dÜ% $PASHR,PBN,ýÑð????A€ôx°@/ÁVÀ,2"AA pŸ ;‘7Ô;3Š;·z_ÛÃ; $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:53.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067881667,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,¬&E.A_=ª*?²»‰!µÚ]Œ²Šd€.U $PASHR,MCA,¬ `1AZÜËp±?Žm^.#§ýÊîd€¥§ $PASHR,MCA,¬7‰ 1A]5€¥1Â?²ƒÕnǕÿŠÆ]d„G $PASHR,PBN,ýÕØ????A€ôŒõÁVÀ+Á}®AA pÆì<V’;V•ï;øelÛöÙ $GPZDA,183555.00,23,12,2007,00,00*6E $GPGGA,183554.00,2037.76013,N,08704.07286,W,1,03,2.2,072.35,M,-13.9,M,,*63 $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"el":45,"az":118,"ss":0,"used":false}]} $PASHR,POS,0,03,183554.00,2037.76013,N,08704.07286,W,058.48,,359.4,000.1,+000.0,2.2,2.2,0.0,1.0,BQ00*29 $GPRMC,183554.00,A,2037.7601,N,08704.0729,W,00.0,359.4,231207,01,W,A*2B {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-23T18:35:54.000Z","ept":0.005,"lat":20.629335000,"lon":-87.067881667,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,À&E.A_ò$OŒÏÞ?²»€ÃyžŒåTd€È# $PASHR,MCA,À `1AZ؁§ëX?ŽlàÌ';ý˰d€C$ $PASHR,MCA,À7‰ 1A]4ÀEÕqÌ?²{ª{œ8ÿŠõÄd\x $PASHR,PBN,ýÙÀ????A€õ*›ÁVÀ*»"AA pVÔÃ< Iß;žJá<>æ Û $GPZDA,183556.00,23,12,2007,00,00*6D $GPGGA,183555.00,2037.76015,N,08704.07279,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,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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:55.000Z","ept":0.005,"lat":20.629336667,"lon":-87.067880000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,Ô&E.A_ô®Š9ÄÞ?²»Àf]HøŒÙ$d€.¯ $PASHR,MCA,Ô `1AZÔãNßÐ)?Žlž–|_ýÊòtd€@¿ $PASHR,MCA,Ô7‰ 1A]4užr'?²siGɋÿŠçhd€8t $PASHR,PBN,ýÝš????A€õŸ+ØÉÁVÀ)9<8AA p Z»°< ë›;húÂ<]êÛ±X $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:56.000Z","ept":0.005,"lat":20.629336667,"lon":-87.067880000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,è&E/A_÷4?%3ä?²»Ü9U®“ŒþNd€ò; $PASHR,MCA,è `1AZÑ@úfA?ŽløarýË€d€*Ÿ $PASHR,MCA,è7‰ 1A]3<„M?²jìÄÿ‹ vd€“ $PASHR,PBN,ýá????A€õœŠ`#ÁVÀ( ŐAA p®Í<*<@;ŽÚÏ<&ZÏÛ  $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":120,"el":8,"az":96,"ss":0,"used":false},{"PRN":122,"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","mode":3,"time":"2007-12-23T18:35:57.000Z","ept":0.005,"lat":20.629336667,"lon":-87.067880000,"alt":72.350,"epv":0.000,"track":359.4000,"speed":0.000,"climb":-0.000} $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 $PASHR,MCA,ü&E/A_ùŒ3‰î‰?²»÷ßo3cBd€œ° $PASHR,MCA,ü `1AZÍ È Ê7?ŽlibUýËžd€M $PASHR,MCA,ü7‰ 0A]2yùã ?²bŽ‡Ð®ÿ‹>d€µ” $PASHR,PBN,ýåx????A€õÊa›YÁVÀ'~~AA pËéD;†`…;™ìW # Date: 2009-07-30 # Location: Enkhuizen, The Netherlands, 52.69997N/5.290465E # # Device is described here: # http://www.yachtronics.com/yachtronics/manuals/DIGITAL%20YACHT%20AIT250%20OPERATION.pdf # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPRMC,194907.00,A,5241.99815,N,00517.56525,E,0.005,,010809,,,A*7B !AIVDO,1,1,,,B3aC3LP00063aj7RNpl03wSUwP06,0*43 !AIVDM,1,1,,B,13njCt031t0DA=lN2:jKmad60l1p,0*12 $GPGBS,194907.00,3.0,1.9,4.2,,,,*4E $GPRMC,194908.00,A,5241.99805,N,00517.56503,E,0.003,,010809,,,A*77 !AIVDO,1,1,,,B3aC3LP00063ai7RNph03wT5wP06,0*23 !AIVDM,1,1,,B,33meMd50000EoJPMvw?:Ubp@0000,0*4F $GPGBS,194908.00,3.0,1.9,4.2,,,,*41 $GPRMC,194909.00,A,5241.99792,N,00517.56477,E,0.004,,010809,,,A*72 !AIVDO,1,1,,,B3aC3LP00063agWRNpd03wTUwP06,0*21 $GPGBS,194909.00,3.0,1.9,4.2,,,,*40 !AIVDM,1,1,,A,B3`gaQ000062PeWRIt403wTUoP06,0*11 !AIVDM,1,1,,A,13b?ED00000E2`dN1S9=oS0@00Sb,0*6E $GPRMC,194910.00,A,5241.99782,N,00517.56453,E,0.006,,010809,,,A*7F !AIVDO,1,1,,,B3aC3LP00063afWRNp`03wU5wP06,0*45 !AIVDM,1,1,,A,D02E3:0Alg6D000000000000001,2*17 $GPGBS,194910.00,3.0,1.9,4.2,,,,*48 !AIVDM,1,1,,A,139QcE7P?w4?wv0PS<,0*5A $GPRMC,194911.00,A,5241.99772,N,00517.56430,E,0.020,229.98,010809,,,A*66 !AIVDM,1,1,,B,402E3:0000HttPGEahN7pi700p6T,0*09 !AIVDM,1,1,,A,14S64>51ASPEeIpN05::v`lF086a,0*3B !AIVDO,1,1,,,B3aC3LP00063aeWRNpV?gwUUwP06,0*4B $GPGBS,194911.00,3.0,1.9,4.2,,,,*49 !AIVDM,1,1,,B,13bf9v00010IaB5OP1S0GmF@N0OLBF?vL00SQ,0*35 $GPRMC,194916.00,A,5241.99726,N,00517.56385,E,0.007,,010809,,,A*7A !AIVDO,1,1,,,B3aC3LP00063ac7RNp@03w`5wP06,0*35 $GPGBS,194916.00,3.0,1.9,4.2,,,,*4E !AIVDM,1,1,,B,100001?P?w4?wp0W3h,0*28 $GPRMC,194917.00,A,5241.99721,N,00517.56389,E,0.003,,010809,,,A*74 !AIVDO,1,1,,,B3aC3LP00063ac7RNp@03w`UwP06,0*55 $GPGBS,194917.00,3.0,1.9,4.2,,,,*4F $GPRMC,194918.00,A,5241.99715,N,00517.56394,E,0.004,,010809,,,A*77 !AIVDO,1,1,,,B3aC3LP00063acWRNp<03wa5wP06,0*28 $GPGBS,194918.00,3.0,1.9,4.2,,,,*40 !AIVDM,2,1,8,B,54S64>02;dlqK8@cL00lDADl0000000000000016;0<:65wj0?hCDm1DQ0C@,0*63 !AIVDM,2,2,8,B,00000000002,2*2D $GPRMC,194919.00,A,5241.99711,N,00517.56399,E,0.004,,010809,,,A*7F !AIVDO,1,1,,,B3aC3LP00063acWRNp<03waUwP06,0*48 $GPGBS,194919.00,3.0,1.9,4.2,,,,*41 $GPRMC,194920.00,A,5241.99711,N,00517.56409,E,0.005,,010809,,,A*7A !AIVDM,1,1,,B,13`g5:0P0`0E9MbN1FgDE?vV06K4,0*45 !AIVDO,1,1,,,B3aC3LP00063ad7RNp<03wb5wP06,0*4C !AIVDM,1,1,,A,13BE3l001n0DJHVN1fQJrHjb00SU,0*35 $GPGBS,194920.00,3.0,1.9,4.2,,,,*4B $GPRMC,194921.00,A,5241.99708,N,00517.56417,E,0.007,,010809,,,A*7E !AIVDM,1,1,,A,13bf9v00010IaApN8IK3uSvd0Hf>428b0D1S,0*43 $GPRMC,194923.00,A,5241.99704,N,00517.56423,E,0.007,,010809,,,A*77 $GPGBS,194923.00,3.0,1.9,4.2,,,,*48 !AIVDO,1,1,,,B3aC3LP00063ae7RNp803wcUwP06,0*28 $GPRMC,194924.00,A,5241.99705,N,00517.56425,E,0.006,,010809,,,A*76 $GPGBS,194924.00,3.0,1.9,4.2,,,,*4F !AIVDO,1,1,,,B3aC3LP00063ae7RNp803wd5wP06,0*4F !AIVDM,1,1,,B,100001?P?w4?wp0PS6,0*11 !AIVDM,1,1,,B,13aC225P130HqQ@N3tfQ5OvfP6K4,0*37 $GPRMC,194925.00,A,5241.99714,N,00517.56429,E,0.002,,010809,,,A*7F $GPGBS,194925.00,3.0,1.9,4.2,,,,*4E !AIVDO,1,1,,,B3aC3LP00063ae7RNp<03wdUwP06,0*2B !AIVDM,1,1,,B,D02E3:1FTg6D000000000000001,2*2A $GPRMC,194926.00,A,5241.99718,N,00517.56440,E,0.010,,010809,,,A*7C $GPGBS,194926.00,3.0,1.9,4.2,,,,*4D !AIVDO,1,1,,,B3aC3LP00063af7RNp<03we5wP06,0*49 $GPRMC,194927.00,A,5241.99723,N,00517.56454,E,0.009,,010809,,,A*78 $GPGBS,194927.00,3.0,1.9,4.2,,,,*4C !AIVDO,1,1,,,B3aC3LP00063afWRNp@03weUsP06,0*31 !AIVDM,1,1,,A,13`p;<0P0`0E8p0N1GU4G?vl@@@G,0*32 $GPRMC,194928.00,A,5241.99730,N,00517.56469,E,0.005,,010809,,,A*77 $GPGBS,194928.00,3.0,1.9,4.2,,,,*43 !AIVDO,1,1,,,B3aC3LP00063ag7RNpD03wf5sP06,0*37 !AIVDM,1,1,,B,100001?P?w4?wp0PS3,0*14 $GPRMC,194929.00,A,5241.99738,N,00517.56482,E,0.002,,010809,,,A*7C $GPGBS,194929.00,3.0,1.9,4.2,,,,*42 !AIVDO,1,1,,,B3aC3LP00063ah7RNpD03wfUsP06,0*58 !AIVDM,1,1,,A,139QcE7P?w4?wv0URP,0*32 $GPRMC,194930.00,A,5241.99745,N,00517.56492,E,0.006,,010809,,,A*7B $GPGBS,194930.00,3.0,1.9,4.2,,,,*4A !AIVDO,1,1,,,B3aC3LP00063ahWRNpH03wg5sP06,0*55 !AIVDM,1,1,,B,402E3:0000HttPGEahN7pi700pBB,0*6B $GPRMC,194931.00,A,5241.99750,N,00517.56500,E,0.002,,010809,,,A*70 $GPGBS,194931.00,3.0,1.9,4.2,,,,*4B !AIVDM,1,1,,B,13bcuF0P000H@F2N:0tLH03wkUoP06,0*00 $GPGBS,194939.00,3.0,1.9,4.2,,,,*43 !AIVDM,1,1,,B,B3`gaQ000062Pc7RIt403wkUoP06,0*4B !AIVDM,1,1,,B,139QcE7P?w4?wv0l08,0*02 !AIVDO,1,1,,,B3aC3LP00063ajWRNph03wkUsP06,0*1B $GPRMC,194940.00,A,5241.99812,N,00517.56549,E,0.005,,010809,,,A*75 gpsd-3.9/test/daemon/ait250.log.chk0000664000175000017500000007520312135526253015200 0ustar esresr$GPRMC,194907.00,A,5241.99815,N,00517.56525,E,0.005,,010809,,,A*7B {"class":"TPV","tag":"RMC","mode":2,"time":"2009-08-01T19:49:07.000Z","ept":0.005,"lat":52.699969167,"lon":5.292754167,"track":0.0000,"speed":0.003} !AIVDO,1,1,,,B3aC3LP00063aj7RNpl03wSUwP06,0*43 {"class":"AIS","type":18,"repeat":0,"mmsi":244630386,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3175652,"lat":31619981,"course":0,"heading":511,"second":7,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":true,"radio":917510} !AIVDM,1,1,,B,13njCt031t0DA=lN2:jKmad60l1p,0*12 {"class":"AIS","type":1,"repeat":0,"mmsi":258774000,"scaled":false,"status":0,"turn":12,"speed":124,"accuracy":false,"lon":2656698,"lat":31492809,"course":3030,"heading":310,"second":3,"maneuver":0,"raim":false,"radio":426224} $GPGBS,194907.00,3.0,1.9,4.2,,,,*4E $GPRMC,194908.00,A,5241.99805,N,00517.56503,E,0.003,,010809,,,A*77 !AIVDO,1,1,,,B3aC3LP00063ai7RNph03wT5wP06,0*23 {"class":"AIS","type":18,"repeat":0,"mmsi":244630386,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3175650,"lat":31619980,"course":0,"heading":511,"second":8,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":true,"radio":917510} !AIVDM,1,1,,B,33meMd50000EoJPMvw?:Ubp@0000,0*4F {"class":"AIS","type":3,"repeat":0,"mmsi":257646000,"scaled":false,"status":5,"turn":0,"speed":0,"accuracy":false,"lon":2866000,"lat":31440700,"course":2710,"heading":348,"second":8,"maneuver":0,"raim":false,"radio":0} $GPGBS,194908.00,3.0,1.9,4.2,,,,*41 {"class":"TPV","tag":"GBS","mode":2,"time":"2009-08-01T19:49:08.000Z","ept":0.005,"lat":52.699967500,"lon":5.292750500,"epx":1.900,"epy":3.000,"track":0.0000,"speed":0.002} $GPRMC,194909.00,A,5241.99792,N,00517.56477,E,0.004,,010809,,,A*72 !AIVDO,1,1,,,B3aC3LP00063agWRNpd03wTUwP06,0*21 {"class":"AIS","type":18,"repeat":0,"mmsi":244630386,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3175647,"lat":31619979,"course":0,"heading":511,"second":9,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":true,"radio":917510} $GPGBS,194909.00,3.0,1.9,4.2,,,,*40 {"class":"TPV","tag":"GBS","mode":2,"time":"2009-08-01T19:49:09.000Z","ept":0.005,"lat":52.699965333,"lon":5.292746167,"epx":1.900,"epy":3.000,"track":0.0000,"speed":0.002} !AIVDM,1,1,,A,B3`gaQ000062PeWRIt403wTUoP06,0*11 {"class":"AIS","type":18,"repeat":0,"mmsi":244050308,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3166299,"lat":31614913,"course":0,"heading":511,"second":9,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":true,"radio":917510} !AIVDM,1,1,,A,13b?ED00000E2`dN1S9=oS0@00Sb,0*6E {"class":"AIS","type":1,"repeat":0,"mmsi":245618000,"scaled":false,"status":0,"turn":0,"speed":0,"accuracy":false,"lon":2757910,"lat":31482660,"course":3550,"heading":96,"second":8,"maneuver":0,"raim":false,"radio":4564} $GPRMC,194910.00,A,5241.99782,N,00517.56453,E,0.006,,010809,,,A*7F !AIVDO,1,1,,,B3aC3LP00063afWRNp`03wU5wP06,0*45 {"class":"AIS","type":18,"repeat":0,"mmsi":244630386,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3175645,"lat":31619978,"course":0,"heading":511,"second":10,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":true,"radio":917510} !AIVDM,1,1,,A,D02E3:0Alg6D000000000000001,2*17 {"class":"AIS","type":20,"repeat":0,"mmsi":2442024,"scaled":false,"offset1":285,"number1":2,"timeout1":7,"increment1":1125,"offset2":0,"number2":0,"timeout2":0,"increment2":0,"offset3":0,"number3":0,"timeout3":0,"increment3":0,"offset4":0,"number4":0,"timeout4":0,"increment4":0} $GPGBS,194910.00,3.0,1.9,4.2,,,,*48 {"class":"TPV","tag":"GBS","mode":2,"time":"2009-08-01T19:49:10.000Z","ept":0.005,"lat":52.699963667,"lon":5.292742167,"epx":1.900,"epy":3.000,"track":0.0000,"speed":0.003} !AIVDM,1,1,,A,139QcE7P?w4?wv0PS<,0*5A {"class":"AIS","type":1,"repeat":0,"mmsi":211315540,"scaled":false,"status":7,"turn":-128,"speed":1023,"accuracy":false,"lon":108600000,"lat":54600000,"course":3600,"heading":511,"second":63,"maneuver":0,"raim":false,"radio":266648} $GPRMC,194911.00,A,5241.99772,N,00517.56430,E,0.020,229.98,010809,,,A*66 !AIVDM,1,1,,B,402E3:0000HttPGEahN7pi700p6T,0*09 {"class":"AIS","type":4,"repeat":0,"mmsi":2442024,"scaled":false,"timestamp":"0000-00-00T24:60:60Z","accuracy":true,"lon":3059000,"lat":31586500,"epfd":7,"raim":false,"radio":229796} !AIVDM,1,1,,A,14S64>51ASPEeIpN05::v`lF086a,0*3B {"class":"AIS","type":1,"repeat":0,"mmsi":305235000,"scaled":false,"status":5,"turn":5,"speed":99,"accuracy":true,"lon":2845500,"lat":31458600,"course":2810,"heading":282,"second":11,"maneuver":0,"raim":false,"radio":66386} !AIVDO,1,1,,,B3aC3LP00063aeWRNpV?gwUUwP06,0*4B {"class":"AIS","type":18,"repeat":0,"mmsi":244630386,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3175643,"lat":31619977,"course":2299,"heading":511,"second":11,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":true,"radio":917510} $GPGBS,194911.00,3.0,1.9,4.2,,,,*49 {"class":"TPV","tag":"GBS","mode":2,"time":"2009-08-01T19:49:11.000Z","ept":0.005,"lat":52.699962000,"lon":5.292738333,"epx":1.900,"epy":3.000,"track":229.9800,"speed":0.010} !AIVDM,1,1,,B,13bf9v00010IaB5OP1S0GmF@N0OLBF?vL00SQ,0*35 {"class":"AIS","type":1,"repeat":0,"mmsi":244010517,"scaled":false,"status":15,"turn":-128,"speed":99,"accuracy":false,"lon":3123912,"lat":31465329,"course":600,"heading":511,"second":14,"maneuver":0,"raim":false,"radio":4546} $GPRMC,194916.00,A,5241.99726,N,00517.56385,E,0.007,,010809,,,A*7A !AIVDO,1,1,,,B3aC3LP00063ac7RNp@03w`5wP06,0*35 {"class":"AIS","type":18,"repeat":0,"mmsi":244630386,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3175638,"lat":31619972,"course":0,"heading":511,"second":16,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":true,"radio":917510} $GPGBS,194916.00,3.0,1.9,4.2,,,,*4E {"class":"TPV","tag":"GBS","mode":2,"time":"2009-08-01T19:49:16.000Z","ept":0.005,"lat":52.699954333,"lon":5.292730833,"epx":1.900,"epy":3.000,"track":0.0000,"speed":0.004} !AIVDM,1,1,,B,100001?P?w4?wp0W3h,0*28 {"class":"AIS","type":1,"repeat":0,"mmsi":4,"scaled":false,"status":15,"turn":-128,"speed":1023,"accuracy":false,"lon":108600000,"lat":54600000,"course":3600,"heading":511,"second":60,"maneuver":0,"raim":false,"radio":319968} $GPRMC,194917.00,A,5241.99721,N,00517.56389,E,0.003,,010809,,,A*74 !AIVDO,1,1,,,B3aC3LP00063ac7RNp@03w`UwP06,0*55 {"class":"AIS","type":18,"repeat":0,"mmsi":244630386,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3175638,"lat":31619972,"course":0,"heading":511,"second":17,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":true,"radio":917510} $GPGBS,194917.00,3.0,1.9,4.2,,,,*4F {"class":"TPV","tag":"GBS","mode":2,"time":"2009-08-01T19:49:17.000Z","ept":0.005,"lat":52.699953500,"lon":5.292731500,"epx":1.900,"epy":3.000,"track":0.0000,"speed":0.002} $GPRMC,194918.00,A,5241.99715,N,00517.56394,E,0.004,,010809,,,A*77 !AIVDO,1,1,,,B3aC3LP00063acWRNp<03wa5wP06,0*28 {"class":"AIS","type":18,"repeat":0,"mmsi":244630386,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3175639,"lat":31619971,"course":0,"heading":511,"second":18,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":true,"radio":917510} $GPGBS,194918.00,3.0,1.9,4.2,,,,*40 {"class":"TPV","tag":"GBS","mode":2,"time":"2009-08-01T19:49:18.000Z","ept":0.005,"lat":52.699952500,"lon":5.292732333,"epx":1.900,"epy":3.000,"track":0.0000,"speed":0.002} !AIVDM,2,1,8,B,54S64>02;dlqK8@cL00lDADl0000000000000016;0<:65wj0?hCDm1DQ0C@,0*63 !AIVDM,2,2,8,B,00000000002,2*2D {"class":"AIS","type":5,"repeat":0,"mmsi":305235000,"scaled":false,"imo":9155406,"ais_version":0,"callsign":"V2DJ7","shipname":"MEDUM","shiptype":70,"to_bow":88,"to_stern":12,"to_port":10,"to_starboard":6,"epfd":1,"eta":"07-31T18:00Z","draught":63,"destination":"AMSTERDAM","dte":0} $GPRMC,194919.00,A,5241.99711,N,00517.56399,E,0.004,,010809,,,A*7F !AIVDO,1,1,,,B3aC3LP00063acWRNp<03waUwP06,0*48 {"class":"AIS","type":18,"repeat":0,"mmsi":244630386,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3175639,"lat":31619971,"course":0,"heading":511,"second":19,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":true,"radio":917510} $GPGBS,194919.00,3.0,1.9,4.2,,,,*41 {"class":"TPV","tag":"GBS","mode":2,"time":"2009-08-01T19:49:19.000Z","ept":0.005,"lat":52.699951833,"lon":5.292733167,"epx":1.900,"epy":3.000,"track":0.0000,"speed":0.002} $GPRMC,194920.00,A,5241.99711,N,00517.56409,E,0.005,,010809,,,A*7A !AIVDM,1,1,,B,13`g5:0P0`0E9MbN1FgDE?vV06K4,0*45 {"class":"AIS","type":1,"repeat":0,"mmsi":244041000,"scaled":false,"status":0,"turn":-128,"speed":40,"accuracy":false,"lon":2771893,"lat":31479485,"course":1108,"heading":511,"second":19,"maneuver":0,"raim":false,"radio":52616} !AIVDO,1,1,,,B3aC3LP00063ad7RNp<03wb5wP06,0*4C {"class":"AIS","type":18,"repeat":0,"mmsi":244630386,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3175640,"lat":31619971,"course":0,"heading":511,"second":20,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":true,"radio":917510} !AIVDM,1,1,,A,13BE3l001n0DJHVN1fQJrHjb00SU,0*35 {"class":"AIS","type":1,"repeat":0,"mmsi":220546000,"scaled":false,"status":0,"turn":0,"speed":118,"accuracy":false,"lon":2675475,"lat":31485573,"course":2793,"heading":281,"second":21,"maneuver":0,"raim":false,"radio":4554} $GPGBS,194920.00,3.0,1.9,4.2,,,,*4B {"class":"TPV","tag":"GBS","mode":2,"time":"2009-08-01T19:49:20.000Z","ept":0.005,"lat":52.699951833,"lon":5.292734833,"epx":1.900,"epy":3.000,"track":0.0000,"speed":0.003} $GPRMC,194921.00,A,5241.99708,N,00517.56417,E,0.007,,010809,,,A*7E !AIVDM,1,1,,A,13bf9v00010IaApN8IK3uSvd0Hf>428b0D1S,0*43 {"class":"AIS","type":1,"repeat":0,"mmsi":247254200,"scaled":false,"status":1,"turn":0,"speed":1023,"accuracy":true,"lon":2582900,"lat":31510200,"course":3600,"heading":68,"second":21,"maneuver":0,"raim":false,"radio":164038} $GPRMC,194923.00,A,5241.99704,N,00517.56423,E,0.007,,010809,,,A*77 $GPGBS,194923.00,3.0,1.9,4.2,,,,*48 {"class":"TPV","tag":"GBS","mode":2,"time":"2009-08-01T19:49:23.000Z","ept":0.005,"lat":52.699950667,"lon":5.292737167,"epx":1.900,"epy":3.000,"track":0.0000,"speed":0.004} !AIVDO,1,1,,,B3aC3LP00063ae7RNp803wcUwP06,0*28 {"class":"AIS","type":18,"repeat":0,"mmsi":244630386,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3175642,"lat":31619970,"course":0,"heading":511,"second":23,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":true,"radio":917510} $GPRMC,194924.00,A,5241.99705,N,00517.56425,E,0.006,,010809,,,A*76 $GPGBS,194924.00,3.0,1.9,4.2,,,,*4F {"class":"TPV","tag":"GBS","mode":2,"time":"2009-08-01T19:49:24.000Z","ept":0.005,"lat":52.699950833,"lon":5.292737500,"epx":1.900,"epy":3.000,"track":0.0000,"speed":0.003} !AIVDO,1,1,,,B3aC3LP00063ae7RNp803wd5wP06,0*4F {"class":"AIS","type":18,"repeat":0,"mmsi":244630386,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3175642,"lat":31619970,"course":0,"heading":511,"second":24,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":true,"radio":917510} !AIVDM,1,1,,B,100001?P?w4?wp0PS6,0*11 {"class":"AIS","type":1,"repeat":0,"mmsi":4,"scaled":false,"status":15,"turn":-128,"speed":1023,"accuracy":false,"lon":108600000,"lat":54600000,"course":3600,"heading":511,"second":60,"maneuver":0,"raim":false,"radio":266636} !AIVDM,1,1,,B,13aC225P130HqQ@N3tfQ5OvfP6K4,0*37 {"class":"AIS","type":1,"repeat":0,"mmsi":244630024,"scaled":false,"status":5,"turn":-128,"speed":67,"accuracy":false,"lon":3263528,"lat":31521978,"course":277,"heading":511,"second":23,"maneuver":1,"raim":false,"radio":52616} $GPRMC,194925.00,A,5241.99714,N,00517.56429,E,0.002,,010809,,,A*7F $GPGBS,194925.00,3.0,1.9,4.2,,,,*4E {"class":"TPV","tag":"GBS","mode":2,"time":"2009-08-01T19:49:25.000Z","ept":0.005,"lat":52.699952333,"lon":5.292738167,"epx":1.900,"epy":3.000,"track":0.0000,"speed":0.001} !AIVDO,1,1,,,B3aC3LP00063ae7RNp<03wdUwP06,0*2B {"class":"AIS","type":18,"repeat":0,"mmsi":244630386,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3175642,"lat":31619971,"course":0,"heading":511,"second":25,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":true,"radio":917510} !AIVDM,1,1,,B,D02E3:1FTg6D000000000000001,2*2A {"class":"AIS","type":20,"repeat":0,"mmsi":2442024,"scaled":false,"offset1":1385,"number1":2,"timeout1":7,"increment1":1125,"offset2":0,"number2":0,"timeout2":0,"increment2":0,"offset3":0,"number3":0,"timeout3":0,"increment3":0,"offset4":0,"number4":0,"timeout4":0,"increment4":0} $GPRMC,194926.00,A,5241.99718,N,00517.56440,E,0.010,,010809,,,A*7C $GPGBS,194926.00,3.0,1.9,4.2,,,,*4D {"class":"TPV","tag":"GBS","mode":2,"time":"2009-08-01T19:49:26.000Z","ept":0.005,"lat":52.699953000,"lon":5.292740000,"epx":1.900,"epy":3.000,"track":0.0000,"speed":0.005} !AIVDO,1,1,,,B3aC3LP00063af7RNp<03we5wP06,0*49 {"class":"AIS","type":18,"repeat":0,"mmsi":244630386,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3175644,"lat":31619971,"course":0,"heading":511,"second":26,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":true,"radio":917510} $GPRMC,194927.00,A,5241.99723,N,00517.56454,E,0.009,,010809,,,A*78 $GPGBS,194927.00,3.0,1.9,4.2,,,,*4C {"class":"TPV","tag":"GBS","mode":2,"time":"2009-08-01T19:49:27.000Z","ept":0.005,"lat":52.699953833,"lon":5.292742333,"epx":1.900,"epy":3.000,"track":0.0000,"speed":0.005} !AIVDO,1,1,,,B3aC3LP00063afWRNp@03weUsP06,0*31 {"class":"AIS","type":18,"repeat":0,"mmsi":244630386,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3175645,"lat":31619972,"course":0,"heading":511,"second":27,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":false,"radio":917510} !AIVDM,1,1,,A,13`p;<0P0`0E8p0N1GU4G?vl@@@G,0*32 {"class":"AIS","type":1,"repeat":0,"mmsi":244190000,"scaled":false,"status":0,"turn":-128,"speed":40,"accuracy":false,"lon":2770688,"lat":31479700,"course":1116,"heading":511,"second":26,"maneuver":0,"raim":false,"radio":133166} $GPRMC,194928.00,A,5241.99730,N,00517.56469,E,0.005,,010809,,,A*77 $GPGBS,194928.00,3.0,1.9,4.2,,,,*43 {"class":"TPV","tag":"GBS","mode":2,"time":"2009-08-01T19:49:28.000Z","ept":0.005,"lat":52.699955000,"lon":5.292744833,"epx":1.900,"epy":3.000,"track":0.0000,"speed":0.003} !AIVDO,1,1,,,B3aC3LP00063ag7RNpD03wf5sP06,0*37 {"class":"AIS","type":18,"repeat":0,"mmsi":244630386,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3175646,"lat":31619973,"course":0,"heading":511,"second":28,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":false,"radio":917510} !AIVDM,1,1,,B,100001?P?w4?wp0PS3,0*14 {"class":"AIS","type":1,"repeat":0,"mmsi":4,"scaled":false,"status":15,"turn":-128,"speed":1023,"accuracy":false,"lon":108600000,"lat":54600000,"course":3600,"heading":511,"second":60,"maneuver":0,"raim":false,"radio":266630} $GPRMC,194929.00,A,5241.99738,N,00517.56482,E,0.002,,010809,,,A*7C $GPGBS,194929.00,3.0,1.9,4.2,,,,*42 {"class":"TPV","tag":"GBS","mode":2,"time":"2009-08-01T19:49:29.000Z","ept":0.005,"lat":52.699956333,"lon":5.292747000,"epx":1.900,"epy":3.000,"track":0.0000,"speed":0.001} !AIVDO,1,1,,,B3aC3LP00063ah7RNpD03wfUsP06,0*58 {"class":"AIS","type":18,"repeat":0,"mmsi":244630386,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3175648,"lat":31619973,"course":0,"heading":511,"second":29,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":false,"radio":917510} !AIVDM,1,1,,A,139QcE7P?w4?wv0URP,0*32 {"class":"AIS","type":1,"repeat":0,"mmsi":211315540,"scaled":false,"status":7,"turn":-128,"speed":1023,"accuracy":false,"lon":108600000,"lat":54600000,"course":3600,"heading":511,"second":63,"maneuver":0,"raim":false,"radio":307520} $GPRMC,194930.00,A,5241.99745,N,00517.56492,E,0.006,,010809,,,A*7B $GPGBS,194930.00,3.0,1.9,4.2,,,,*4A {"class":"TPV","tag":"GBS","mode":2,"time":"2009-08-01T19:49:30.000Z","ept":0.005,"lat":52.699957500,"lon":5.292748667,"epx":1.900,"epy":3.000,"track":0.0000,"speed":0.003} !AIVDO,1,1,,,B3aC3LP00063ahWRNpH03wg5sP06,0*55 {"class":"AIS","type":18,"repeat":0,"mmsi":244630386,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3175649,"lat":31619974,"course":0,"heading":511,"second":30,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":false,"radio":917510} !AIVDM,1,1,,B,402E3:0000HttPGEahN7pi700pBB,0*6B {"class":"AIS","type":4,"repeat":0,"mmsi":2442024,"scaled":false,"timestamp":"0000-00-00T24:60:60Z","accuracy":true,"lon":3059000,"lat":31586500,"epfd":7,"raim":false,"radio":230546} $GPRMC,194931.00,A,5241.99750,N,00517.56500,E,0.002,,010809,,,A*70 $GPGBS,194931.00,3.0,1.9,4.2,,,,*4B {"class":"TPV","tag":"GBS","mode":2,"time":"2009-08-01T19:49:31.000Z","ept":0.005,"lat":52.699958333,"lon":5.292750000,"epx":1.900,"epy":3.000,"track":0.0000,"speed":0.001} !AIVDM,1,1,,B,13bcuF0P000H@F2N:0tLH03wkUoP06,0*00 {"class":"AIS","type":18,"repeat":0,"mmsi":244100276,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3179598,"lat":31622374,"course":0,"heading":511,"second":39,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":true,"radio":917510} $GPGBS,194939.00,3.0,1.9,4.2,,,,*43 {"class":"TPV","tag":"GBS","mode":2,"time":"2009-08-01T19:49:39.000Z","ept":0.005,"lat":52.699968167,"lon":5.292756500,"epx":1.900,"epy":3.000,"track":0.0000,"speed":0.005} !AIVDM,1,1,,B,B3`gaQ000062Pc7RIt403wkUoP06,0*4B {"class":"AIS","type":18,"repeat":0,"mmsi":244050308,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3166294,"lat":31614913,"course":0,"heading":511,"second":39,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":true,"radio":917510} !AIVDM,1,1,,B,139QcE7P?w4?wv0l08,0*02 {"class":"AIS","type":1,"repeat":0,"mmsi":211315540,"scaled":false,"status":7,"turn":-128,"speed":1023,"accuracy":false,"lon":108600000,"lat":54600000,"course":3600,"heading":511,"second":63,"maneuver":0,"raim":false,"radio":426000} !AIVDO,1,1,,,B3aC3LP00063ajWRNph03wkUsP06,0*1B {"class":"AIS","type":18,"repeat":0,"mmsi":244630386,"scaled":false,"reserved":0,"speed":0,"accuracy":false,"lon":3175653,"lat":31619980,"course":0,"heading":511,"second":39,"regional":0,"cs":true,"display":false,"dsc":true,"band":true,"msg22":true,"raim":false,"radio":917510} $GPRMC,194940.00,A,5241.99812,N,00517.56549,E,0.005,,010809,,,A*75 gpsd-3.9/test/daemon/blumax-gps009.log0000664000175000017500000000760311762140436015737 0ustar esresr# Name: Blumax GPS-009 # Chipset: SiRF Star III (according to data sheet) # Submitter: Hartmut Holzgraefe # Date: 2008-07-18 # Location: Bielefeld, DE, 52=B0 01' N, 08=B0 31' O # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # # Following lines are # `cat /dev/ttyACM0` at startup $PSRFTXTVersion GSW3.2.2_3.1.00.12-SDK003P1.01a *78 $PSRFTXTGreat-Well 20061201*33 $PSRFTXTTOW: 484076*30 $PSRFTXTWK: 1488*4C $PSRFTXTPOS: 3889831 583832 5004208*35 $PSRFTXTCLK: 95879*0B $PSRFTXTCHNL: 12*5F $PSRFTXTBaud rate: 57600 *51 $GPGGA,142816.359,,,,,0,00,,,M,0.0,M,,0000*51 $GPGLL,,,,,142816.359,V,N*7D $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,12,48,233,,17,39,066,,15,29,172,,22,19,291,*70 $GPGSV,3,2,12,26,17,161,,09,81,300,,05,32,240,,29,31,171,*70 $GPGSV,3,3,12,18,15,251,,14,14,319,,28,08,059,,30,08,239,*77 $GPRMC,142816.359,V,,,,,,,180708,,,N*4C $GPGGA,142817.299,,,,,0,00,,,M,0.0,M,,0000*5D $GPGLL,,,,,142817.299,V,N*71 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,12,48,233,,17,39,066,,15,29,172,,22,19,291,*70 $GPGSV,3,2,12,26,17,161,28,09,81,300,,05,32,240,,29,31,171,*7A $GPGSV,3,3,12,18,15,251,,14,14,319,,28,08,059,,30,08,239,*77 $GPRMC,142817.299,V,,,,,,,180708,,,N*40 $GPGGA,142818.299,,,,,0,00,,,M,0.0,M,,0000*52 $GPGLL,,,,,142818.299,V,N*7E $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,12,48,233,,17,39,066,,15,29,172,,22,19,291,*70 $GPGSV,3,2,12,26,17,161,29,09,81,300,,05,32,240,21,29,31,171,*78 $GPGSV,3,3,12,18,15,251,,14,14,319,,28,08,059,,30,08,239,*77 $GPRMC,142818.299,V,,,,,,,180708,,,N*4F $GPGGA,142818.899,5201.0687,N,00832.0645,E,0,04,,35.8,M,47.2,M,,0000*47 $GPGLL,5201.0687,N,00832.0645,E,142818.899,V,N*4E $GPGSA,A,1,26,22,12,15,,,,,,,,,,,*1D $GPGSV,3,1,12,12,48,233,28,17,39,066,,15,29,172,33,22,19,290,23*7A $GPGSV,3,2,12,26,17,161,31,09,81,300,,05,32,240,23,29,31,171,*73 $GPGSV,3,3,12,18,15,251,,14,14,319,,28,08,059,,30,08,239,*77 $GPRMC,142818.899,V,5201.0687,N,00832.0645,E,,,180708,,,N*7F $GPGGA,142819.299,5201.0809,N,00832.0852,E,1,04,4.9,32.1,M,47.2,M,,0000*60 $GPGLL,5201.0809,N,00832.0852,E,142819.299,A,A*5D $GPGSA,A,3,26,22,12,15,,,,,,,,,5.0,4.9,1.0*38 $GPGSV,3,1,12,12,48,233,29,17,39,066,,15,29,172,35,22,19,290,22*7C $GPGSV,3,2,12,26,17,161,31,09,81,300,,05,32,240,24,29,31,171,*74 $GPGSV,3,3,12,18,15,251,,14,14,319,,28,08,059,,30,08,239,*77 $GPRMC,142819.299,A,5201.0809,N,00832.0852,E,0.87,249.59,180708,,,A*60 # ... # # Following lines are # `cat /dev/ttyACM0` stationary $GPZDA,143054.000,18,07,2008,,*55 $GPGGA,143054.000,5201.1302,N,00832.1652,E,1,05,1.2,72.2,M,47.2,M,,0000*64 $GPGLL,5201.1302,N,00832.1652,E,143054.000,A,A*51 $GPGSA,A,3,26,17,22,12,15,,,,,,,,2.9,1.2,2.6*3B $GPGSV,3,1,12,09,82,301,19,12,49,234,27,17,39,065,33,05,33,241,22*72 $GPGSV,3,2,12,29,30,171,,15,27,172,38,22,19,289,29,26,15,162,30*7C $GPGSV,3,3,12,14,15,319,21,18,14,250,13,30,09,240,17,28,07,059,15*75 $GPRMC,143054.000,A,5201.1302,N,00832.1652,E,0.06,48.00,180708,,,A*5A $GPZDA,143055.000,18,07,2008,,*54 $GPGGA,143055.000,5201.1302,N,00832.1652,E,1,05,1.2,72.2,M,47.2,M,,0000*65 $GPGLL,5201.1302,N,00832.1652,E,143055.000,A,A*50 $GPGSA,A,3,26,17,22,12,15,,,,,,,,2.9,1.2,2.6*3B $GPGSV,3,1,12,09,82,301,20,12,49,234,27,17,39,065,33,05,33,241,22*78 $GPGSV,3,2,12,29,30,171,,15,27,172,38,22,19,289,29,26,15,162,30*7C $GPGSV,3,3,12,14,15,319,21,18,14,250,13,30,09,240,17,28,07,059,15*75 $GPRMC,143055.000,A,5201.1302,N,00832.1652,E,0.08,64.91,180708,,,A*53 $GPZDA,143056.000,18,07,2008,,*57 $GPGGA,143056.000,5201.1302,N,00832.1652,E,1,05,1.2,72.3,M,47.2,M,,0000*67 $GPGLL,5201.1302,N,00832.1652,E,143056.000,A,A*53 $GPGSA,A,3,26,17,22,12,15,,,,,,,,2.9,1.2,2.6*3B $GPGSV,3,1,12,09,82,301,20,12,49,234,27,17,39,065,33,05,33,241,22*78 $GPGSV,3,2,12,29,30,171,,15,27,172,38,22,19,289,29,26,15,162,31*7D $GPGSV,3,3,12,14,15,319,20,18,14,250,13,30,09,240,16,28,07,059,15*75 $GPRMC,143056.000,A,5201.1302,N,00832.1652,E,0.07,45.54,180708,,,A*55 gpsd-3.9/test/daemon/blumax-gps009.log.chk0000664000175000017500000002424312135526254016503 0ustar esresr$PSRFTXTVersion GSW3.2.2_3.1.00.12-SDK003P1.01a *78 $PSRFTXTGreat-Well 20061201*33 $PSRFTXTTOW: 484076*30 $PSRFTXTWK: 1488*4C $PSRFTXTPOS: 3889831 583832 5004208*35 $PSRFTXTCLK: 95879*0B $PSRFTXTCHNL: 12*5F $PSRFTXTBaud rate: 57600 *51 $GPGGA,142816.359,,,,,0,00,,,M,0.0,M,,0000*51 $GPGLL,,,,,142816.359,V,N*7D $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,12,12,48,233,,17,39,066,,15,29,172,,22,19,291,*70 $GPGSV,3,2,12,26,17,161,,09,81,300,,05,32,240,,29,31,171,*70 $GPGSV,3,3,12,18,15,251,,14,14,319,,28,08,059,,30,08,239,*77 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":48,"az":233,"ss":0,"used":false},{"PRN":17,"el":39,"az":66,"ss":0,"used":false},{"PRN":15,"el":29,"az":172,"ss":0,"used":false},{"PRN":22,"el":19,"az":291,"ss":0,"used":false},{"PRN":26,"el":17,"az":161,"ss":0,"used":false},{"PRN":9,"el":81,"az":300,"ss":0,"used":false},{"PRN":5,"el":32,"az":240,"ss":0,"used":false},{"PRN":29,"el":31,"az":171,"ss":0,"used":false},{"PRN":18,"el":15,"az":251,"ss":0,"used":false},{"PRN":14,"el":14,"az":319,"ss":0,"used":false},{"PRN":28,"el":8,"az":59,"ss":0,"used":false},{"PRN":30,"el":8,"az":239,"ss":0,"used":false}]} $GPRMC,142816.359,V,,,,,,,180708,,,N*4C $GPGGA,142817.299,,,,,0,00,,,M,0.0,M,,0000*5D $GPGLL,,,,,142817.299,V,N*71 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,12,48,233,,17,39,066,,15,29,172,,22,19,291,*70 $GPGSV,3,2,12,26,17,161,28,09,81,300,,05,32,240,,29,31,171,*7A $GPGSV,3,3,12,18,15,251,,14,14,319,,28,08,059,,30,08,239,*77 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":48,"az":233,"ss":0,"used":false},{"PRN":17,"el":39,"az":66,"ss":0,"used":false},{"PRN":15,"el":29,"az":172,"ss":0,"used":false},{"PRN":22,"el":19,"az":291,"ss":0,"used":false},{"PRN":26,"el":17,"az":161,"ss":28,"used":false},{"PRN":9,"el":81,"az":300,"ss":0,"used":false},{"PRN":5,"el":32,"az":240,"ss":0,"used":false},{"PRN":29,"el":31,"az":171,"ss":0,"used":false},{"PRN":18,"el":15,"az":251,"ss":0,"used":false},{"PRN":14,"el":14,"az":319,"ss":0,"used":false},{"PRN":28,"el":8,"az":59,"ss":0,"used":false},{"PRN":30,"el":8,"az":239,"ss":0,"used":false}]} $GPRMC,142817.299,V,,,,,,,180708,,,N*40 $GPGGA,142818.299,,,,,0,00,,,M,0.0,M,,0000*52 $GPGLL,,,,,142818.299,V,N*7E $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,12,48,233,,17,39,066,,15,29,172,,22,19,291,*70 $GPGSV,3,2,12,26,17,161,29,09,81,300,,05,32,240,21,29,31,171,*78 $GPGSV,3,3,12,18,15,251,,14,14,319,,28,08,059,,30,08,239,*77 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":48,"az":233,"ss":0,"used":false},{"PRN":17,"el":39,"az":66,"ss":0,"used":false},{"PRN":15,"el":29,"az":172,"ss":0,"used":false},{"PRN":22,"el":19,"az":291,"ss":0,"used":false},{"PRN":26,"el":17,"az":161,"ss":29,"used":false},{"PRN":9,"el":81,"az":300,"ss":0,"used":false},{"PRN":5,"el":32,"az":240,"ss":21,"used":false},{"PRN":29,"el":31,"az":171,"ss":0,"used":false},{"PRN":18,"el":15,"az":251,"ss":0,"used":false},{"PRN":14,"el":14,"az":319,"ss":0,"used":false},{"PRN":28,"el":8,"az":59,"ss":0,"used":false},{"PRN":30,"el":8,"az":239,"ss":0,"used":false}]} $GPRMC,142818.299,V,,,,,,,180708,,,N*4F $GPGGA,142818.899,5201.0687,N,00832.0645,E,0,04,,35.8,M,47.2,M,,0000*47 $GPGLL,5201.0687,N,00832.0645,E,142818.899,V,N*4E $GPGSA,A,1,26,22,12,15,,,,,,,,,,,*1D $GPGSV,3,1,12,12,48,233,28,17,39,066,,15,29,172,33,22,19,290,23*7A $GPGSV,3,2,12,26,17,161,31,09,81,300,,05,32,240,23,29,31,171,*73 $GPGSV,3,3,12,18,15,251,,14,14,319,,28,08,059,,30,08,239,*77 {"class":"SKY","tag":"GSV","xdop":0.88,"ydop":1.02,"vdop":0.00,"tdop":2.01,"hdop":0.00,"gdop":4.28,"pdop":0.00,"satellites":[{"PRN":12,"el":48,"az":233,"ss":28,"used":true},{"PRN":17,"el":39,"az":66,"ss":0,"used":false},{"PRN":15,"el":29,"az":172,"ss":33,"used":true},{"PRN":22,"el":19,"az":290,"ss":23,"used":true},{"PRN":26,"el":17,"az":161,"ss":31,"used":true},{"PRN":9,"el":81,"az":300,"ss":0,"used":false},{"PRN":5,"el":32,"az":240,"ss":23,"used":false},{"PRN":29,"el":31,"az":171,"ss":0,"used":false},{"PRN":18,"el":15,"az":251,"ss":0,"used":false},{"PRN":14,"el":14,"az":319,"ss":0,"used":false},{"PRN":28,"el":8,"az":59,"ss":0,"used":false},{"PRN":30,"el":8,"az":239,"ss":0,"used":false}]} $GPRMC,142818.899,V,5201.0687,N,00832.0645,E,,,180708,,,N*7F $GPGGA,142819.299,5201.0809,N,00832.0852,E,1,04,4.9,32.1,M,47.2,M,,0000*60 $GPGLL,5201.0809,N,00832.0852,E,142819.299,A,A*5D {"class":"TPV","tag":"GLL","mode":3,"lat":52.018015000,"lon":8.534753333,"alt":32.100,"epx":13.168,"epy":15.284,"epv":0.000} $GPGSA,A,3,26,22,12,15,,,,,,,,,5.0,4.9,1.0*38 $GPGSV,3,1,12,12,48,233,29,17,39,066,,15,29,172,35,22,19,290,22*7C $GPGSV,3,2,12,26,17,161,31,09,81,300,,05,32,240,24,29,31,171,*74 $GPGSV,3,3,12,18,15,251,,14,14,319,,28,08,059,,30,08,239,*77 {"class":"SKY","tag":"GSV","xdop":0.88,"ydop":1.02,"vdop":1.00,"tdop":2.01,"hdop":4.90,"gdop":4.28,"pdop":5.00,"satellites":[{"PRN":12,"el":48,"az":233,"ss":29,"used":true},{"PRN":17,"el":39,"az":66,"ss":0,"used":false},{"PRN":15,"el":29,"az":172,"ss":35,"used":true},{"PRN":22,"el":19,"az":290,"ss":22,"used":true},{"PRN":26,"el":17,"az":161,"ss":31,"used":true},{"PRN":9,"el":81,"az":300,"ss":0,"used":false},{"PRN":5,"el":32,"az":240,"ss":24,"used":false},{"PRN":29,"el":31,"az":171,"ss":0,"used":false},{"PRN":18,"el":15,"az":251,"ss":0,"used":false},{"PRN":14,"el":14,"az":319,"ss":0,"used":false},{"PRN":28,"el":8,"az":59,"ss":0,"used":false},{"PRN":30,"el":8,"az":239,"ss":0,"used":false}]} $GPRMC,142819.299,A,5201.0809,N,00832.0852,E,0.87,249.59,180708,,,A*60 $GPZDA,143054.000,18,07,2008,,*55 $GPGGA,143054.000,5201.1302,N,00832.1652,E,1,05,1.2,72.2,M,47.2,M,,0000*64 $GPGLL,5201.1302,N,00832.1652,E,143054.000,A,A*51 {"class":"TPV","tag":"GLL","mode":3,"time":"2008-07-18T14:30:54.000Z","ept":0.005,"lat":52.018836667,"lon":8.536086667,"alt":72.200,"epx":13.168,"epy":15.284,"epv":23.000,"speed":0.000,"climb":0.000} $GPGSA,A,3,26,17,22,12,15,,,,,,,,2.9,1.2,2.6*3B $GPGSV,3,1,12,09,82,301,19,12,49,234,27,17,39,065,33,05,33,241,22*72 $GPGSV,3,2,12,29,30,171,,15,27,172,38,22,19,289,29,26,15,162,30*7C $GPGSV,3,3,12,14,15,319,21,18,14,250,13,30,09,240,17,28,07,059,15*75 {"class":"SKY","tag":"GSV","xdop":0.88,"ydop":1.02,"vdop":2.60,"tdop":2.01,"hdop":1.20,"gdop":4.28,"pdop":2.90,"satellites":[{"PRN":9,"el":82,"az":301,"ss":19,"used":false},{"PRN":12,"el":49,"az":234,"ss":27,"used":true},{"PRN":17,"el":39,"az":65,"ss":33,"used":true},{"PRN":5,"el":33,"az":241,"ss":22,"used":false},{"PRN":29,"el":30,"az":171,"ss":0,"used":false},{"PRN":15,"el":27,"az":172,"ss":38,"used":true},{"PRN":22,"el":19,"az":289,"ss":29,"used":true},{"PRN":26,"el":15,"az":162,"ss":30,"used":true},{"PRN":14,"el":15,"az":319,"ss":21,"used":false},{"PRN":18,"el":14,"az":250,"ss":13,"used":false},{"PRN":30,"el":9,"az":240,"ss":17,"used":false},{"PRN":28,"el":7,"az":59,"ss":15,"used":false}]} $GPRMC,143054.000,A,5201.1302,N,00832.1652,E,0.06,48.00,180708,,,A*5A {"class":"TPV","tag":"RMC","mode":3,"time":"2008-07-18T14:30:54.000Z","ept":0.005,"lat":52.018836667,"lon":8.536086667,"alt":72.200,"epx":13.168,"epy":15.284,"epv":23.000,"track":48.0000,"speed":0.031,"climb":0.000} $GPZDA,143055.000,18,07,2008,,*54 $GPGGA,143055.000,5201.1302,N,00832.1652,E,1,05,1.2,72.2,M,47.2,M,,0000*65 $GPGLL,5201.1302,N,00832.1652,E,143055.000,A,A*50 {"class":"TPV","tag":"GLL","mode":3,"time":"2008-07-18T14:30:55.000Z","ept":0.005,"lat":52.018836667,"lon":8.536086667,"alt":72.200,"epx":13.168,"epy":15.284,"epv":59.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,26,17,22,12,15,,,,,,,,2.9,1.2,2.6*3B $GPGSV,3,1,12,09,82,301,20,12,49,234,27,17,39,065,33,05,33,241,22*78 $GPGSV,3,2,12,29,30,171,,15,27,172,38,22,19,289,29,26,15,162,30*7C $GPGSV,3,3,12,14,15,319,21,18,14,250,13,30,09,240,17,28,07,059,15*75 {"class":"SKY","tag":"GSV","xdop":0.88,"ydop":1.02,"vdop":2.60,"tdop":2.01,"hdop":1.20,"gdop":4.28,"pdop":2.90,"satellites":[{"PRN":9,"el":82,"az":301,"ss":20,"used":false},{"PRN":12,"el":49,"az":234,"ss":27,"used":true},{"PRN":17,"el":39,"az":65,"ss":33,"used":true},{"PRN":5,"el":33,"az":241,"ss":22,"used":false},{"PRN":29,"el":30,"az":171,"ss":0,"used":false},{"PRN":15,"el":27,"az":172,"ss":38,"used":true},{"PRN":22,"el":19,"az":289,"ss":29,"used":true},{"PRN":26,"el":15,"az":162,"ss":30,"used":true},{"PRN":14,"el":15,"az":319,"ss":21,"used":false},{"PRN":18,"el":14,"az":250,"ss":13,"used":false},{"PRN":30,"el":9,"az":240,"ss":17,"used":false},{"PRN":28,"el":7,"az":59,"ss":15,"used":false}]} $GPRMC,143055.000,A,5201.1302,N,00832.1652,E,0.08,64.91,180708,,,A*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2008-07-18T14:30:55.000Z","ept":0.005,"lat":52.018836667,"lon":8.536086667,"alt":72.200,"epx":13.168,"epy":15.284,"epv":59.800,"track":64.9100,"speed":0.041,"climb":0.000} $GPZDA,143056.000,18,07,2008,,*57 $GPGGA,143056.000,5201.1302,N,00832.1652,E,1,05,1.2,72.3,M,47.2,M,,0000*67 $GPGLL,5201.1302,N,00832.1652,E,143056.000,A,A*53 {"class":"TPV","tag":"GLL","mode":3,"time":"2008-07-18T14:30:56.000Z","ept":0.005,"lat":52.018836667,"lon":8.536086667,"alt":72.300,"epx":13.168,"epy":15.284,"epv":59.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,26,17,22,12,15,,,,,,,,2.9,1.2,2.6*3B $GPGSV,3,1,12,09,82,301,20,12,49,234,27,17,39,065,33,05,33,241,22*78 $GPGSV,3,2,12,29,30,171,,15,27,172,38,22,19,289,29,26,15,162,31*7D $GPGSV,3,3,12,14,15,319,20,18,14,250,13,30,09,240,16,28,07,059,15*75 {"class":"SKY","tag":"GSV","xdop":0.88,"ydop":1.02,"vdop":2.60,"tdop":2.01,"hdop":1.20,"gdop":4.28,"pdop":2.90,"satellites":[{"PRN":9,"el":82,"az":301,"ss":20,"used":false},{"PRN":12,"el":49,"az":234,"ss":27,"used":true},{"PRN":17,"el":39,"az":65,"ss":33,"used":true},{"PRN":5,"el":33,"az":241,"ss":22,"used":false},{"PRN":29,"el":30,"az":171,"ss":0,"used":false},{"PRN":15,"el":27,"az":172,"ss":38,"used":true},{"PRN":22,"el":19,"az":289,"ss":29,"used":true},{"PRN":26,"el":15,"az":162,"ss":31,"used":true},{"PRN":14,"el":15,"az":319,"ss":20,"used":false},{"PRN":18,"el":14,"az":250,"ss":13,"used":false},{"PRN":30,"el":9,"az":240,"ss":16,"used":false},{"PRN":28,"el":7,"az":59,"ss":15,"used":false}]} $GPRMC,143056.000,A,5201.1302,N,00832.1652,E,0.07,45.54,180708,,,A*55 {"class":"TPV","tag":"RMC","mode":3,"time":"2008-07-18T14:30:56.000Z","ept":0.005,"lat":52.018836667,"lon":8.536086667,"alt":72.300,"epx":13.168,"epy":15.284,"epv":59.800,"track":45.5400,"speed":0.036,"climb":0.000} gpsd-3.9/test/daemon/bn-9015.log0000664000175000017500000007473611762140436014435 0ustar esresr# Name: Bluenext BN-9015 # Chipset: Skytraq Venus 6 # Submitter: Andrew Gray # Date: 2010-06-12 # Location: Delft, NL, 52.01N 4.36E # # The sample was taken with the unit stationary on windowsill. # The log starts before the unit was powered on. The log ends # when I walked it about 3 meters from the bluetooth hub is was paired # with. $GPGGA,170909.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*53 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170909.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*78 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170910.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5B $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170910.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*70 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170911.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5A $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170911.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*71 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170912.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*59 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170912.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*72 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170913.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*58 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170913.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*73 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170914.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5F $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170914.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*74 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170915.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5E $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170915.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*75 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170916.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5D $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170916.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*76 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170917.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5C $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170917.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*77 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170918.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*53 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170918.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*78 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170919.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*52 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170919.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*79 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170920.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*58 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170920.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*73 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170921.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*59 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170921.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*72 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170922.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5A $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170922.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*71 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170923.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5B $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170923.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*70 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170924.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5C $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170924.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*77 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170925.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5D $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170925.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*76 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170926.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5E $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170926.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*75 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170927.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5F $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170927.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*74 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170928.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*50 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170928.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*7B $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170929.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*51 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170929.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*7A $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170930.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*59 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170930.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*72 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170931.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*58 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170931.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*73 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170932.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5B $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170932.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*70 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170933.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5A $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170933.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*71 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170934.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5D $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170934.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*76 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170935.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5C $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170935.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*77 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170936.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5F $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170936.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*74 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170937.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5E $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170937.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*75 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170938.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*51 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170938.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*7A $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170939.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*50 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 $GPRMC,170939.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*7B $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170940.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5E $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,170940.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*75 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170941.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5F $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,170941.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*74 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170942.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5C $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,170942.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*77 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170943.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5D $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,170943.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*76 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170944.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5A $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,170944.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*71 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170945.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5B $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,170945.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*70 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170946.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*58 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,170946.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*73 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170947.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*59 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,170947.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*72 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170948.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*56 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,170948.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*7D $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170949.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*57 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,28,136,*73 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,170949.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*7C $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170950.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5F $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,40,14,44,268,,09,28,136,*77 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,170950.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*74 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170951.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5E $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,74,066,,30,67,271,40,14,44,268,,09,28,136,*77 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,170951.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*75 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170952.972,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*58 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,73,067,,30,67,271,40,14,44,268,,09,28,136,*71 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,170952.972,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*73 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170953.972,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*59 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,73,067,,30,67,271,39,14,44,268,,09,28,136,*7F $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,170953.972,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*72 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170954.972,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5E $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,73,067,32,30,67,271,38,14,44,267,,09,28,136,*70 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,170954.972,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*75 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170955.972,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5F $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,73,067,,30,67,271,39,14,44,267,,09,28,136,*70 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,170955.972,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*74 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170956.972,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5C $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,73,067,,30,67,271,39,14,44,267,,09,28,136,*70 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,170956.972,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*77 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170957.972,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5D $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,73,067,,30,67,271,39,14,44,267,,09,28,136,*70 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,170957.972,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*76 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170958.972,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*52 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,73,067,,30,67,271,39,14,44,267,,09,28,136,*70 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,170958.972,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*79 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170959.972,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*53 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,73,067,,30,67,271,38,14,44,267,,09,28,136,*71 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,170959.972,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*78 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,171000.972,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*57 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,73,067,,30,67,271,39,14,44,267,34,09,28,136,*77 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,171000.972,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*7C $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,171001.972,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*56 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,11,12,73,067,,30,67,271,39,14,44,267,34,09,28,136,*77 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 $GPRMC,171001.972,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*7D $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,171002.972,5200.8519,N,00421.7812,E,1,08,1.0,8.8,M,44.8,M,,0000*5D $GPGSA,A,3,14,30,09,29,02,27,04,31,,,,,2.3,1.0,2.0*35 $GPGSV,3,1,11,12,73,067,,30,67,271,39,14,44,267,33,09,28,136,26*74 $GPGSV,3,2,11,29,27,200,25,02,25,101,28,27,23,137,28,04,21,055,38*7B $GPGSV,3,3,11,31,18,305,31,32,06,331,,20,02,354,*42 $GPRMC,171002.972,A,5200.8519,N,00421.7812,E,000.0,000.0,120610,,,A*6A $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171003.972,5200.8519,N,00421.7819,E,1,08,1.0,8.8,M,44.8,M,,0000*57 $GPGSA,A,3,14,30,09,29,02,27,04,31,,,,,2.3,1.0,2.0*35 $GPGSV,3,1,11,12,73,067,,30,67,271,39,14,44,267,34,09,28,136,27*72 $GPGSV,3,2,11,29,27,200,27,02,25,101,28,27,23,137,26,04,21,055,38*77 $GPGSV,3,3,11,31,18,305,30,32,06,331,,20,02,354,*43 $GPRMC,171003.972,A,5200.8519,N,00421.7819,E,000.9,022.1,120610,,,A*68 $GPVTG,022.1,T,,M,000.9,N,001.8,K,A*0C $GPGGA,171004.972,5200.8519,N,00421.7830,E,1,09,0.9,8.8,M,44.8,M,,0000*52 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,32,30,67,271,39,14,44,267,34,09,28,136,26*72 $GPGSV,3,2,11,29,27,200,26,02,25,101,27,27,23,137,27,04,21,055,38*78 $GPGSV,3,3,11,31,18,305,31,32,06,331,,20,02,354,*42 $GPRMC,171004.972,A,5200.8519,N,00421.7830,E,000.0,000.0,120610,,,A*6C $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171005.972,5200.8520,N,00421.7842,E,1,09,0.9,8.3,M,44.8,M,,0000*57 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,32,30,67,271,39,14,44,267,34,09,28,136,26*72 $GPGSV,3,2,11,29,27,200,27,02,25,101,28,27,23,137,27,04,21,055,38*76 $GPGSV,3,3,11,31,18,305,30,32,06,331,,20,02,354,*43 $GPRMC,171005.972,A,5200.8520,N,00421.7842,E,000.0,000.0,120610,,,A*62 $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171006.972,5200.8513,N,00421.7856,E,1,09,0.9,7.6,M,44.8,M,,0000*5B $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,33,30,67,271,38,14,44,267,33,09,28,136,26*75 $GPGSV,3,2,11,29,27,200,26,02,25,101,27,27,23,137,28,04,21,055,37*78 $GPGSV,3,3,11,31,18,305,30,32,06,331,,20,02,354,*43 $GPRMC,171006.972,A,5200.8513,N,00421.7856,E,000.0,000.0,120610,,,A*64 $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171007.972,5200.8514,N,00421.7851,E,1,09,0.9,7.7,M,44.8,M,,0000*5B $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,33,30,67,271,38,14,44,267,33,09,28,136,26*75 $GPGSV,3,2,11,29,27,200,26,02,25,101,27,27,23,137,28,04,21,055,37*78 $GPGSV,3,3,11,31,18,305,30,32,06,331,,20,02,354,*43 $GPRMC,171007.972,A,5200.8514,N,00421.7851,E,000.0,000.0,120610,,,A*65 $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171008.972,5200.8516,N,00421.7844,E,1,09,0.9,6.4,M,44.8,M,,0000*50 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,33,30,67,271,38,14,44,267,33,09,28,136,26*75 $GPGSV,3,2,11,29,27,200,26,02,25,101,28,27,23,137,28,04,21,055,38*78 $GPGSV,3,3,11,31,18,305,29,32,06,331,,20,02,354,*4B $GPRMC,171008.972,A,5200.8516,N,00421.7844,E,000.0,000.0,120610,,,A*6C $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171009.972,5200.8518,N,00421.7840,E,1,09,0.9,5.4,M,44.8,M,,0000*58 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,33,30,67,271,38,14,44,267,33,09,28,136,27*74 $GPGSV,3,2,11,29,28,200,26,02,25,101,28,27,23,137,28,04,21,055,37*78 $GPGSV,3,3,11,31,18,305,29,32,06,331,,20,02,354,*4B $GPRMC,171009.972,A,5200.8518,N,00421.7840,E,000.0,000.0,120610,,,A*67 $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171010.972,5200.8515,N,00421.7842,E,1,09,0.9,4.1,M,44.8,M,,0000*5B $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,32,30,67,271,39,14,44,267,33,09,28,136,27*74 $GPGSV,3,2,11,29,28,200,26,02,25,101,28,27,23,137,27,04,21,055,38*78 $GPGSV,3,3,11,31,18,305,30,32,06,331,,20,02,354,*43 $GPRMC,171010.972,A,5200.8515,N,00421.7842,E,000.0,000.0,120610,,,A*60 $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171011.972,5200.8513,N,00421.7841,E,1,09,0.9,4.7,M,44.8,M,,0000*59 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,31,30,67,271,39,14,44,267,34,09,28,136,28*7F $GPGSV,3,2,11,29,28,200,27,02,25,101,29,27,23,137,26,04,21,055,39*78 $GPGSV,3,3,11,31,18,305,31,32,06,331,,20,02,354,*42 $GPRMC,171011.972,A,5200.8513,N,00421.7841,E,000.0,000.0,120610,,,A*64 $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171012.972,5200.8515,N,00421.7846,E,1,09,0.9,4.3,M,44.8,M,,0000*5F $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,27,30,67,271,40,14,44,267,35,09,28,136,29*76 $GPGSV,3,2,11,29,28,200,28,02,25,101,31,27,23,137,25,04,21,055,39*7D $GPGSV,3,3,11,31,18,305,32,32,06,331,,20,02,354,*41 $GPRMC,171012.972,A,5200.8515,N,00421.7846,E,000.0,000.0,120610,,,A*66 $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171013.972,5200.8513,N,00421.7842,E,1,09,0.9,3.8,M,44.8,M,,0000*50 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,29,30,67,271,40,14,44,267,35,09,28,136,28*79 $GPGSV,3,2,11,29,28,200,27,02,25,101,29,27,23,137,25,04,21,055,39*7B $GPGSV,3,3,11,31,18,305,32,32,06,331,,20,02,354,*41 $GPRMC,171013.972,A,5200.8513,N,00421.7842,E,000.0,000.0,120610,,,A*65 $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171014.972,5200.8514,N,00421.7845,E,1,09,0.9,3.6,M,44.8,M,,0000*59 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,28,30,67,271,40,14,44,267,34,09,28,136,28*79 $GPGSV,3,2,11,29,28,200,29,02,25,101,26,27,23,137,25,04,21,055,39*7A $GPGSV,3,3,11,31,18,305,31,32,06,331,,20,02,354,*42 $GPRMC,171014.972,A,5200.8514,N,00421.7845,E,000.0,000.0,120610,,,A*62 $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171015.972,5200.8510,N,00421.7850,E,1,09,0.9,4.0,M,44.8,M,,0000*59 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,35,30,67,271,28,14,44,267,24,09,28,136,25*77 $GPGSV,3,2,11,29,28,200,24,02,25,101,25,27,23,137,26,04,21,055,30*7E $GPGSV,3,3,11,31,18,305,32,32,06,331,,20,02,354,*41 $GPRMC,171015.972,A,5200.8510,N,00421.7850,E,000.0,000.0,120610,,,A*63 $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171016.972,5200.8492,N,00421.7842,E,1,09,0.9,3.5,M,44.8,M,,0000*50 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,33,30,67,271,26,14,44,267,28,09,28,136,24*72 $GPGSV,3,2,11,29,28,200,29,02,25,101,24,27,23,137,27,04,21,055,25*77 $GPGSV,3,3,11,31,18,305,25,32,06,331,,20,02,354,*47 $GPRMC,171016.972,A,5200.8492,N,00421.7842,E,000.0,000.0,120610,,,A*68 $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171017.972,5200.8498,N,00421.7845,E,1,09,0.9,4.8,M,44.8,M,,0000*56 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,36,30,67,271,27,14,44,267,25,09,28,136,25*7A $GPGSV,3,2,11,29,28,200,25,02,25,101,26,27,23,137,28,04,21,055,24*77 $GPGSV,3,3,11,31,18,305,25,32,06,331,,20,02,354,*47 $GPRMC,171017.972,A,5200.8498,N,00421.7845,E,001.0,000.6,120610,,,A*63 $GPVTG,000.6,T,,M,001.0,N,001.8,K,A*03 $GPGGA,171018.972,5200.8501,N,00421.7847,E,1,08,1.1,4.7,M,44.8,M,,0000*5D $GPGSA,A,3,14,30,12,09,29,02,27,31,,,,,1.9,1.1,1.6*3F $GPGSV,3,1,11,12,73,067,33,30,67,271,25,14,44,267,25,09,28,136,25*7D $GPGSV,3,2,11,29,28,200,26,02,25,101,26,27,23,137,26,04,21,055,22*7C $GPGSV,3,3,11,31,18,305,24,32,06,331,,20,02,354,*46 $GPRMC,171018.972,A,5200.8501,N,00421.7847,E,000.0,000.6,120610,,,A*6E $GPVTG,000.6,T,,M,000.0,N,000.0,K,A*0B $GPGGA,171019.972,5200.8503,N,00421.7844,E,1,09,0.9,4.6,M,44.8,M,,0000*54 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,34,30,67,271,25,14,44,267,24,09,28,136,24*7A $GPGSV,3,2,11,29,28,200,25,02,25,101,25,27,23,137,29,04,21,055,22*73 $GPGSV,3,3,11,31,18,305,24,32,06,331,,20,02,354,*46 $GPRMC,171019.972,A,5200.8503,N,00421.7844,E,000.9,290.7,120610,,,A*6D $GPVTG,290.7,T,,M,000.9,N,001.6,K,A*0F $GPGGA,171020.972,5200.8499,N,00421.7837,E,1,09,0.9,4.9,M,44.8,M,,0000*57 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,31,30,67,271,26,14,44,267,23,09,28,136,23*7C $GPGSV,3,2,11,29,28,200,32,02,25,101,28,27,23,137,27,04,21,055,22*76 $GPGSV,3,3,11,31,18,305,23,32,06,331,,20,02,354,*41 $GPRMC,171020.972,A,5200.8499,N,00421.7837,E,000.0,290.7,120610,,,A*68 $GPVTG,290.7,T,,M,000.0,N,000.0,K,A*01 $GPGGA,171021.972,5200.8502,N,00421.7865,E,1,09,0.9,5.5,M,44.8,M,,0000*5F $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,31,30,67,271,24,14,44,267,23,09,28,136,24*79 $GPGSV,3,2,11,29,28,200,26,02,25,101,26,27,23,137,25,04,21,055,23*7E $GPVTG,290.7,T,,M,000.0,N,000.0,K,A*01 $GPGGA,171022.972,5200.8502,N,00421.7872,E,1,09,0.9,6.6,M,44.8,M,,0000*5A $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,2,11,29,28,200,27,02,25,101,25,27,23,137,24,04,21,055,25*7B $GPGSV,3,3,11,31,18,305,23,32,06,331,,20,02,354,*41 $GPRMC,171023.972,A,5200.8507,N,00421.7871,E,000.9,008.0,120610,,,A*62 $GPVTG,008.0,T,,M,000.9,N,001.7,K,A*0A $GPGGA,171024.972,5200.8518,N,00421.7884,E,1,08,1.0,4.8,M,44.8,M,,0000*5B $GPGSA,A,3,14,30,12,09,29,02,04,31,,,,,1.8,1.0,1.5*3D $GPGSV,3,1,11,12,73,067,25,30,67,271,25,14,44,267,22,09,28,136,27*7F $GPGSV,3,2,11,29,28,200,25,02,25,101,24,27,23,137,23,04,21,055,30*7B $GPGSV,3,3,11,31,18,305,27,32,06,331,,20,02,354,*45 $GPRMC,171024.972,A,5200.8518,N,00421.7884,E,000.0,008.0,120610,,,A*68 $GPVTG,008.0,T,,M,000.0,N,000.0,K,A*05 $GPGSA,A,3,14,30,12,09,29,02,04,31,,,,,1.8,1.0,1.5*3D $GPGSV,3,1,11,12,73,067,34,30,67,271,33,14,44,267,23,09,28,136,28*76 gpsd-3.9/test/daemon/bn-9015.log.chk0000664000175000017500000024360212135526256015172 0ustar esresr$GPGGA,170909.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*53 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170909.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*78 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170910.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5B $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170910.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*70 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170911.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5A $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170911.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*71 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170912.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*59 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170912.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*72 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170913.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*58 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170913.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*73 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170914.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5F $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170914.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*74 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170915.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5E $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170915.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*75 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170916.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5D $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170916.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*76 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170917.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5C $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170917.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*77 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170918.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*53 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170918.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*78 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170919.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*52 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170919.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*79 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170920.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*58 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170920.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*73 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170921.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*59 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170921.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*72 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170922.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5A $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170922.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*71 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170923.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5B $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170923.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*70 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170924.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5C $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170924.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*77 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170925.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5D $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170925.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*76 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170926.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5E $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170926.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*75 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170927.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5F $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170927.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*74 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170928.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*50 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170928.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*7B $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170929.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*51 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170929.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*7A $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170930.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*59 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170930.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*72 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170931.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*58 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170931.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*73 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170932.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5B $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170932.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*70 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170933.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5A $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170933.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*71 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170934.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5D $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,136,,04,21,055,*76 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":136,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170934.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*76 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170935.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5C $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170935.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*77 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170936.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5F $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170936.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*74 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170937.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5E $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170937.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*75 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170938.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*51 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170938.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*7A $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170939.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*50 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,332,,20,02,354,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":332,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170939.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*7B $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170940.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5E $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170940.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*75 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170941.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5F $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170941.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*74 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170942.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5C $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170942.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*77 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170943.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5D $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170943.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*76 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170944.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5A $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170944.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*71 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170945.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5B $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170945.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*70 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170946.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*58 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170946.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*73 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170947.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*59 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170947.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*72 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170948.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*56 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,29,136,*72 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":29,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170948.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*7D $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170949.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*57 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,,14,44,268,,09,28,136,*73 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":0,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":28,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170949.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*7C $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170950.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5F $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,40,14,44,268,,09,28,136,*77 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":40,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":28,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170950.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*74 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170951.999,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5E $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,74,066,,30,67,271,40,14,44,268,,09,28,136,*77 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":74,"az":66,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":40,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":28,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170951.999,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*75 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170952.972,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*58 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,73,067,,30,67,271,40,14,44,268,,09,28,136,*71 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":73,"az":67,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":40,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":28,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170952.972,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*73 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170953.972,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*59 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,73,067,,30,67,271,39,14,44,268,,09,28,136,*7F $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":73,"az":67,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":39,"used":false},{"PRN":14,"el":44,"az":268,"ss":0,"used":false},{"PRN":9,"el":28,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170953.972,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*72 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170954.972,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5E $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,73,067,32,30,67,271,38,14,44,267,,09,28,136,*70 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":73,"az":67,"ss":32,"used":false},{"PRN":30,"el":67,"az":271,"ss":38,"used":false},{"PRN":14,"el":44,"az":267,"ss":0,"used":false},{"PRN":9,"el":28,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170954.972,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*75 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170955.972,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5F $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,73,067,,30,67,271,39,14,44,267,,09,28,136,*70 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":73,"az":67,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":39,"used":false},{"PRN":14,"el":44,"az":267,"ss":0,"used":false},{"PRN":9,"el":28,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170955.972,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*74 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170956.972,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5C $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,73,067,,30,67,271,39,14,44,267,,09,28,136,*70 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":73,"az":67,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":39,"used":false},{"PRN":14,"el":44,"az":267,"ss":0,"used":false},{"PRN":9,"el":28,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170956.972,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*77 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170957.972,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*5D $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,73,067,,30,67,271,39,14,44,267,,09,28,136,*70 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":73,"az":67,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":39,"used":false},{"PRN":14,"el":44,"az":267,"ss":0,"used":false},{"PRN":9,"el":28,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170957.972,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*76 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170958.972,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*52 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,73,067,,30,67,271,39,14,44,267,,09,28,136,*70 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":73,"az":67,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":39,"used":false},{"PRN":14,"el":44,"az":267,"ss":0,"used":false},{"PRN":9,"el":28,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170958.972,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*79 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,170959.972,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*53 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,73,067,,30,67,271,38,14,44,267,,09,28,136,*71 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":73,"az":67,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":38,"used":false},{"PRN":14,"el":44,"az":267,"ss":0,"used":false},{"PRN":9,"el":28,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,170959.972,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*78 $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,171000.972,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*57 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,73,067,,30,67,271,39,14,44,267,34,09,28,136,*77 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":73,"az":67,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":39,"used":false},{"PRN":14,"el":44,"az":267,"ss":34,"used":false},{"PRN":9,"el":28,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171000.972,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*7C $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,171001.972,5200.8499,N,00421.7860,E,0,00,0.0,48.8,M,0.0,M,,0000*56 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,11,12,73,067,,30,67,271,39,14,44,267,34,09,28,136,*77 $GPGSV,3,2,11,29,27,200,,02,25,101,,27,23,137,,04,21,055,*77 $GPGSV,3,3,11,31,18,305,,32,06,331,,20,02,354,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":12,"el":73,"az":67,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":39,"used":false},{"PRN":14,"el":44,"az":267,"ss":34,"used":false},{"PRN":9,"el":28,"az":136,"ss":0,"used":false},{"PRN":29,"el":27,"az":200,"ss":0,"used":false},{"PRN":2,"el":25,"az":101,"ss":0,"used":false},{"PRN":27,"el":23,"az":137,"ss":0,"used":false},{"PRN":4,"el":21,"az":55,"ss":0,"used":false},{"PRN":31,"el":18,"az":305,"ss":0,"used":false},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171001.972,V,5200.8499,N,00421.7860,E,000.0,000.0,120610,,,N*7D $GPVTG,000.0,T,,M,000.0,N,000.0,K,N*02 $GPGGA,171002.972,5200.8519,N,00421.7812,E,1,08,1.0,8.8,M,44.8,M,,0000*5D {"class":"TPV","tag":"GGA","mode":3,"lat":52.014198333,"lon":4.363020000,"alt":8.800,"epv":0.000} $GPGSA,A,3,14,30,09,29,02,27,04,31,,,,,2.3,1.0,2.0*35 {"class":"TPV","tag":"GSA","mode":3,"lat":52.014198333,"lon":4.363020000,"alt":8.800,"epv":0.000} $GPGSV,3,1,11,12,73,067,,30,67,271,39,14,44,267,33,09,28,136,26*74 $GPGSV,3,2,11,29,27,200,25,02,25,101,28,27,23,137,28,04,21,055,38*7B $GPGSV,3,3,11,31,18,305,31,32,06,331,,20,02,354,*42 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.90,"vdop":2.00,"tdop":1.48,"hdop":1.00,"gdop":2.84,"pdop":2.30,"satellites":[{"PRN":12,"el":73,"az":67,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":39,"used":true},{"PRN":14,"el":44,"az":267,"ss":33,"used":true},{"PRN":9,"el":28,"az":136,"ss":26,"used":true},{"PRN":29,"el":27,"az":200,"ss":25,"used":true},{"PRN":2,"el":25,"az":101,"ss":28,"used":true},{"PRN":27,"el":23,"az":137,"ss":28,"used":true},{"PRN":4,"el":21,"az":55,"ss":38,"used":true},{"PRN":31,"el":18,"az":305,"ss":31,"used":true},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171002.972,A,5200.8519,N,00421.7812,E,000.0,000.0,120610,,,A*6A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-12T17:10:02.972Z","ept":0.005,"lat":52.014198333,"lon":4.363020000,"alt":8.800,"epx":11.845,"epy":13.531,"epv":0.000,"track":0.0000,"speed":0.000} $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171003.972,5200.8519,N,00421.7819,E,1,08,1.0,8.8,M,44.8,M,,0000*57 $GPGSA,A,3,14,30,09,29,02,27,04,31,,,,,2.3,1.0,2.0*35 $GPGSV,3,1,11,12,73,067,,30,67,271,39,14,44,267,34,09,28,136,27*72 $GPGSV,3,2,11,29,27,200,27,02,25,101,28,27,23,137,26,04,21,055,38*77 $GPGSV,3,3,11,31,18,305,30,32,06,331,,20,02,354,*43 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.90,"vdop":2.00,"tdop":1.48,"hdop":1.00,"gdop":2.84,"pdop":2.30,"satellites":[{"PRN":12,"el":73,"az":67,"ss":0,"used":false},{"PRN":30,"el":67,"az":271,"ss":39,"used":true},{"PRN":14,"el":44,"az":267,"ss":34,"used":true},{"PRN":9,"el":28,"az":136,"ss":27,"used":true},{"PRN":29,"el":27,"az":200,"ss":27,"used":true},{"PRN":2,"el":25,"az":101,"ss":28,"used":true},{"PRN":27,"el":23,"az":137,"ss":26,"used":true},{"PRN":4,"el":21,"az":55,"ss":38,"used":true},{"PRN":31,"el":18,"az":305,"ss":30,"used":true},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171003.972,A,5200.8519,N,00421.7819,E,000.9,022.1,120610,,,A*68 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-12T17:10:03.972Z","ept":0.005,"lat":52.014198333,"lon":4.363031667,"alt":8.800,"epx":11.845,"epy":13.531,"epv":46.000,"track":22.1000,"speed":0.463,"climb":0.000,"eps":27.06} $GPVTG,022.1,T,,M,000.9,N,001.8,K,A*0C $GPGGA,171004.972,5200.8519,N,00421.7830,E,1,09,0.9,8.8,M,44.8,M,,0000*52 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,32,30,67,271,39,14,44,267,34,09,28,136,26*72 $GPGSV,3,2,11,29,27,200,26,02,25,101,27,27,23,137,27,04,21,055,38*78 $GPGSV,3,3,11,31,18,305,31,32,06,331,,20,02,354,*42 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.90,"vdop":1.50,"tdop":1.48,"hdop":0.90,"gdop":2.84,"pdop":1.80,"satellites":[{"PRN":12,"el":73,"az":67,"ss":32,"used":true},{"PRN":30,"el":67,"az":271,"ss":39,"used":true},{"PRN":14,"el":44,"az":267,"ss":34,"used":true},{"PRN":9,"el":28,"az":136,"ss":26,"used":true},{"PRN":29,"el":27,"az":200,"ss":26,"used":true},{"PRN":2,"el":25,"az":101,"ss":27,"used":true},{"PRN":27,"el":23,"az":137,"ss":27,"used":true},{"PRN":4,"el":21,"az":55,"ss":38,"used":true},{"PRN":31,"el":18,"az":305,"ss":31,"used":true},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171004.972,A,5200.8519,N,00421.7830,E,000.0,000.0,120610,,,A*6C {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-12T17:10:04.972Z","ept":0.005,"lat":52.014198333,"lon":4.363050000,"alt":8.800,"epx":11.845,"epy":13.531,"epv":46.000,"track":0.0000,"speed":0.000,"climb":0.000,"eps":27.06} $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171005.972,5200.8520,N,00421.7842,E,1,09,0.9,8.3,M,44.8,M,,0000*57 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,32,30,67,271,39,14,44,267,34,09,28,136,26*72 $GPGSV,3,2,11,29,27,200,27,02,25,101,28,27,23,137,27,04,21,055,38*76 $GPGSV,3,3,11,31,18,305,30,32,06,331,,20,02,354,*43 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.90,"vdop":1.50,"tdop":1.48,"hdop":0.90,"gdop":2.84,"pdop":1.80,"satellites":[{"PRN":12,"el":73,"az":67,"ss":32,"used":true},{"PRN":30,"el":67,"az":271,"ss":39,"used":true},{"PRN":14,"el":44,"az":267,"ss":34,"used":true},{"PRN":9,"el":28,"az":136,"ss":26,"used":true},{"PRN":29,"el":27,"az":200,"ss":27,"used":true},{"PRN":2,"el":25,"az":101,"ss":28,"used":true},{"PRN":27,"el":23,"az":137,"ss":27,"used":true},{"PRN":4,"el":21,"az":55,"ss":38,"used":true},{"PRN":31,"el":18,"az":305,"ss":30,"used":true},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171005.972,A,5200.8520,N,00421.7842,E,000.0,000.0,120610,,,A*62 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-12T17:10:05.972Z","ept":0.005,"lat":52.014200000,"lon":4.363070000,"alt":8.300,"epx":11.845,"epy":13.531,"epv":34.500,"track":0.0000,"speed":0.000,"climb":-0.500,"eps":27.06} $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171006.972,5200.8513,N,00421.7856,E,1,09,0.9,7.6,M,44.8,M,,0000*5B $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,33,30,67,271,38,14,44,267,33,09,28,136,26*75 $GPGSV,3,2,11,29,27,200,26,02,25,101,27,27,23,137,28,04,21,055,37*78 $GPGSV,3,3,11,31,18,305,30,32,06,331,,20,02,354,*43 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.90,"vdop":1.50,"tdop":1.48,"hdop":0.90,"gdop":2.84,"pdop":1.80,"satellites":[{"PRN":12,"el":73,"az":67,"ss":33,"used":true},{"PRN":30,"el":67,"az":271,"ss":38,"used":true},{"PRN":14,"el":44,"az":267,"ss":33,"used":true},{"PRN":9,"el":28,"az":136,"ss":26,"used":true},{"PRN":29,"el":27,"az":200,"ss":26,"used":true},{"PRN":2,"el":25,"az":101,"ss":27,"used":true},{"PRN":27,"el":23,"az":137,"ss":28,"used":true},{"PRN":4,"el":21,"az":55,"ss":37,"used":true},{"PRN":31,"el":18,"az":305,"ss":30,"used":true},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171006.972,A,5200.8513,N,00421.7856,E,000.0,000.0,120610,,,A*64 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-12T17:10:06.972Z","ept":0.005,"lat":52.014188333,"lon":4.363093333,"alt":7.600,"epx":11.845,"epy":13.531,"epv":34.500,"track":0.0000,"speed":0.000,"climb":-0.700,"eps":27.06} $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171007.972,5200.8514,N,00421.7851,E,1,09,0.9,7.7,M,44.8,M,,0000*5B $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,33,30,67,271,38,14,44,267,33,09,28,136,26*75 $GPGSV,3,2,11,29,27,200,26,02,25,101,27,27,23,137,28,04,21,055,37*78 $GPGSV,3,3,11,31,18,305,30,32,06,331,,20,02,354,*43 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.90,"vdop":1.50,"tdop":1.48,"hdop":0.90,"gdop":2.84,"pdop":1.80,"satellites":[{"PRN":12,"el":73,"az":67,"ss":33,"used":true},{"PRN":30,"el":67,"az":271,"ss":38,"used":true},{"PRN":14,"el":44,"az":267,"ss":33,"used":true},{"PRN":9,"el":28,"az":136,"ss":26,"used":true},{"PRN":29,"el":27,"az":200,"ss":26,"used":true},{"PRN":2,"el":25,"az":101,"ss":27,"used":true},{"PRN":27,"el":23,"az":137,"ss":28,"used":true},{"PRN":4,"el":21,"az":55,"ss":37,"used":true},{"PRN":31,"el":18,"az":305,"ss":30,"used":true},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171007.972,A,5200.8514,N,00421.7851,E,000.0,000.0,120610,,,A*65 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-12T17:10:07.972Z","ept":0.005,"lat":52.014190000,"lon":4.363085000,"alt":7.700,"epx":11.845,"epy":13.531,"epv":34.500,"track":0.0000,"speed":0.000,"climb":0.100,"eps":27.06} $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171008.972,5200.8516,N,00421.7844,E,1,09,0.9,6.4,M,44.8,M,,0000*50 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,33,30,67,271,38,14,44,267,33,09,28,136,26*75 $GPGSV,3,2,11,29,27,200,26,02,25,101,28,27,23,137,28,04,21,055,38*78 $GPGSV,3,3,11,31,18,305,29,32,06,331,,20,02,354,*4B {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.90,"vdop":1.50,"tdop":1.48,"hdop":0.90,"gdop":2.84,"pdop":1.80,"satellites":[{"PRN":12,"el":73,"az":67,"ss":33,"used":true},{"PRN":30,"el":67,"az":271,"ss":38,"used":true},{"PRN":14,"el":44,"az":267,"ss":33,"used":true},{"PRN":9,"el":28,"az":136,"ss":26,"used":true},{"PRN":29,"el":27,"az":200,"ss":26,"used":true},{"PRN":2,"el":25,"az":101,"ss":28,"used":true},{"PRN":27,"el":23,"az":137,"ss":28,"used":true},{"PRN":4,"el":21,"az":55,"ss":38,"used":true},{"PRN":31,"el":18,"az":305,"ss":29,"used":true},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171008.972,A,5200.8516,N,00421.7844,E,000.0,000.0,120610,,,A*6C {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-12T17:10:08.972Z","ept":0.005,"lat":52.014193333,"lon":4.363073333,"alt":6.400,"epx":11.845,"epy":13.531,"epv":34.500,"track":0.0000,"speed":0.000,"climb":-1.300,"eps":27.06} $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171009.972,5200.8518,N,00421.7840,E,1,09,0.9,5.4,M,44.8,M,,0000*58 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,33,30,67,271,38,14,44,267,33,09,28,136,27*74 $GPGSV,3,2,11,29,28,200,26,02,25,101,28,27,23,137,28,04,21,055,37*78 $GPGSV,3,3,11,31,18,305,29,32,06,331,,20,02,354,*4B {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.90,"vdop":1.50,"tdop":1.48,"hdop":0.90,"gdop":2.84,"pdop":1.80,"satellites":[{"PRN":12,"el":73,"az":67,"ss":33,"used":true},{"PRN":30,"el":67,"az":271,"ss":38,"used":true},{"PRN":14,"el":44,"az":267,"ss":33,"used":true},{"PRN":9,"el":28,"az":136,"ss":27,"used":true},{"PRN":29,"el":28,"az":200,"ss":26,"used":true},{"PRN":2,"el":25,"az":101,"ss":28,"used":true},{"PRN":27,"el":23,"az":137,"ss":28,"used":true},{"PRN":4,"el":21,"az":55,"ss":37,"used":true},{"PRN":31,"el":18,"az":305,"ss":29,"used":true},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171009.972,A,5200.8518,N,00421.7840,E,000.0,000.0,120610,,,A*67 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-12T17:10:09.972Z","ept":0.005,"lat":52.014196667,"lon":4.363066667,"alt":5.400,"epx":11.845,"epy":13.531,"epv":34.500,"track":0.0000,"speed":0.000,"climb":-1.000,"eps":27.06} $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171010.972,5200.8515,N,00421.7842,E,1,09,0.9,4.1,M,44.8,M,,0000*5B $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,32,30,67,271,39,14,44,267,33,09,28,136,27*74 $GPGSV,3,2,11,29,28,200,26,02,25,101,28,27,23,137,27,04,21,055,38*78 $GPGSV,3,3,11,31,18,305,30,32,06,331,,20,02,354,*43 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.90,"vdop":1.50,"tdop":1.48,"hdop":0.90,"gdop":2.84,"pdop":1.80,"satellites":[{"PRN":12,"el":73,"az":67,"ss":32,"used":true},{"PRN":30,"el":67,"az":271,"ss":39,"used":true},{"PRN":14,"el":44,"az":267,"ss":33,"used":true},{"PRN":9,"el":28,"az":136,"ss":27,"used":true},{"PRN":29,"el":28,"az":200,"ss":26,"used":true},{"PRN":2,"el":25,"az":101,"ss":28,"used":true},{"PRN":27,"el":23,"az":137,"ss":27,"used":true},{"PRN":4,"el":21,"az":55,"ss":38,"used":true},{"PRN":31,"el":18,"az":305,"ss":30,"used":true},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171010.972,A,5200.8515,N,00421.7842,E,000.0,000.0,120610,,,A*60 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-12T17:10:10.972Z","ept":0.005,"lat":52.014191667,"lon":4.363070000,"alt":4.100,"epx":11.845,"epy":13.531,"epv":34.500,"track":0.0000,"speed":0.000,"climb":-1.300,"eps":27.06} $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171011.972,5200.8513,N,00421.7841,E,1,09,0.9,4.7,M,44.8,M,,0000*59 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,31,30,67,271,39,14,44,267,34,09,28,136,28*7F $GPGSV,3,2,11,29,28,200,27,02,25,101,29,27,23,137,26,04,21,055,39*78 $GPGSV,3,3,11,31,18,305,31,32,06,331,,20,02,354,*42 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.90,"vdop":1.50,"tdop":1.48,"hdop":0.90,"gdop":2.84,"pdop":1.80,"satellites":[{"PRN":12,"el":73,"az":67,"ss":31,"used":true},{"PRN":30,"el":67,"az":271,"ss":39,"used":true},{"PRN":14,"el":44,"az":267,"ss":34,"used":true},{"PRN":9,"el":28,"az":136,"ss":28,"used":true},{"PRN":29,"el":28,"az":200,"ss":27,"used":true},{"PRN":2,"el":25,"az":101,"ss":29,"used":true},{"PRN":27,"el":23,"az":137,"ss":26,"used":true},{"PRN":4,"el":21,"az":55,"ss":39,"used":true},{"PRN":31,"el":18,"az":305,"ss":31,"used":true},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171011.972,A,5200.8513,N,00421.7841,E,000.0,000.0,120610,,,A*64 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-12T17:10:11.972Z","ept":0.005,"lat":52.014188333,"lon":4.363068333,"alt":4.700,"epx":11.845,"epy":13.531,"epv":34.500,"track":0.0000,"speed":0.000,"climb":0.600,"eps":27.06} $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171012.972,5200.8515,N,00421.7846,E,1,09,0.9,4.3,M,44.8,M,,0000*5F $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,27,30,67,271,40,14,44,267,35,09,28,136,29*76 $GPGSV,3,2,11,29,28,200,28,02,25,101,31,27,23,137,25,04,21,055,39*7D $GPGSV,3,3,11,31,18,305,32,32,06,331,,20,02,354,*41 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.90,"vdop":1.50,"tdop":1.48,"hdop":0.90,"gdop":2.84,"pdop":1.80,"satellites":[{"PRN":12,"el":73,"az":67,"ss":27,"used":true},{"PRN":30,"el":67,"az":271,"ss":40,"used":true},{"PRN":14,"el":44,"az":267,"ss":35,"used":true},{"PRN":9,"el":28,"az":136,"ss":29,"used":true},{"PRN":29,"el":28,"az":200,"ss":28,"used":true},{"PRN":2,"el":25,"az":101,"ss":31,"used":true},{"PRN":27,"el":23,"az":137,"ss":25,"used":true},{"PRN":4,"el":21,"az":55,"ss":39,"used":true},{"PRN":31,"el":18,"az":305,"ss":32,"used":true},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171012.972,A,5200.8515,N,00421.7846,E,000.0,000.0,120610,,,A*66 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-12T17:10:12.972Z","ept":0.005,"lat":52.014191667,"lon":4.363076667,"alt":4.300,"epx":11.845,"epy":13.531,"epv":34.500,"track":0.0000,"speed":0.000,"climb":-0.400,"eps":27.06} $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171013.972,5200.8513,N,00421.7842,E,1,09,0.9,3.8,M,44.8,M,,0000*50 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,29,30,67,271,40,14,44,267,35,09,28,136,28*79 $GPGSV,3,2,11,29,28,200,27,02,25,101,29,27,23,137,25,04,21,055,39*7B $GPGSV,3,3,11,31,18,305,32,32,06,331,,20,02,354,*41 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.90,"vdop":1.50,"tdop":1.48,"hdop":0.90,"gdop":2.84,"pdop":1.80,"satellites":[{"PRN":12,"el":73,"az":67,"ss":29,"used":true},{"PRN":30,"el":67,"az":271,"ss":40,"used":true},{"PRN":14,"el":44,"az":267,"ss":35,"used":true},{"PRN":9,"el":28,"az":136,"ss":28,"used":true},{"PRN":29,"el":28,"az":200,"ss":27,"used":true},{"PRN":2,"el":25,"az":101,"ss":29,"used":true},{"PRN":27,"el":23,"az":137,"ss":25,"used":true},{"PRN":4,"el":21,"az":55,"ss":39,"used":true},{"PRN":31,"el":18,"az":305,"ss":32,"used":true},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171013.972,A,5200.8513,N,00421.7842,E,000.0,000.0,120610,,,A*65 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-12T17:10:13.972Z","ept":0.005,"lat":52.014188333,"lon":4.363070000,"alt":3.800,"epx":11.845,"epy":13.531,"epv":34.500,"track":0.0000,"speed":0.000,"climb":-0.500,"eps":27.06} $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171014.972,5200.8514,N,00421.7845,E,1,09,0.9,3.6,M,44.8,M,,0000*59 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,28,30,67,271,40,14,44,267,34,09,28,136,28*79 $GPGSV,3,2,11,29,28,200,29,02,25,101,26,27,23,137,25,04,21,055,39*7A $GPGSV,3,3,11,31,18,305,31,32,06,331,,20,02,354,*42 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.90,"vdop":1.50,"tdop":1.48,"hdop":0.90,"gdop":2.84,"pdop":1.80,"satellites":[{"PRN":12,"el":73,"az":67,"ss":28,"used":true},{"PRN":30,"el":67,"az":271,"ss":40,"used":true},{"PRN":14,"el":44,"az":267,"ss":34,"used":true},{"PRN":9,"el":28,"az":136,"ss":28,"used":true},{"PRN":29,"el":28,"az":200,"ss":29,"used":true},{"PRN":2,"el":25,"az":101,"ss":26,"used":true},{"PRN":27,"el":23,"az":137,"ss":25,"used":true},{"PRN":4,"el":21,"az":55,"ss":39,"used":true},{"PRN":31,"el":18,"az":305,"ss":31,"used":true},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171014.972,A,5200.8514,N,00421.7845,E,000.0,000.0,120610,,,A*62 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-12T17:10:14.972Z","ept":0.005,"lat":52.014190000,"lon":4.363075000,"alt":3.600,"epx":11.845,"epy":13.531,"epv":34.500,"track":0.0000,"speed":0.000,"climb":-0.200,"eps":27.06} $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171015.972,5200.8510,N,00421.7850,E,1,09,0.9,4.0,M,44.8,M,,0000*59 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,35,30,67,271,28,14,44,267,24,09,28,136,25*77 $GPGSV,3,2,11,29,28,200,24,02,25,101,25,27,23,137,26,04,21,055,30*7E $GPGSV,3,3,11,31,18,305,32,32,06,331,,20,02,354,*41 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.90,"vdop":1.50,"tdop":1.48,"hdop":0.90,"gdop":2.84,"pdop":1.80,"satellites":[{"PRN":12,"el":73,"az":67,"ss":35,"used":true},{"PRN":30,"el":67,"az":271,"ss":28,"used":true},{"PRN":14,"el":44,"az":267,"ss":24,"used":true},{"PRN":9,"el":28,"az":136,"ss":25,"used":true},{"PRN":29,"el":28,"az":200,"ss":24,"used":true},{"PRN":2,"el":25,"az":101,"ss":25,"used":true},{"PRN":27,"el":23,"az":137,"ss":26,"used":true},{"PRN":4,"el":21,"az":55,"ss":30,"used":true},{"PRN":31,"el":18,"az":305,"ss":32,"used":true},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171015.972,A,5200.8510,N,00421.7850,E,000.0,000.0,120610,,,A*63 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-12T17:10:15.972Z","ept":0.005,"lat":52.014183333,"lon":4.363083333,"alt":4.000,"epx":11.845,"epy":13.531,"epv":34.500,"track":0.0000,"speed":0.000,"climb":0.400,"eps":27.06} $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171016.972,5200.8492,N,00421.7842,E,1,09,0.9,3.5,M,44.8,M,,0000*50 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,33,30,67,271,26,14,44,267,28,09,28,136,24*72 $GPGSV,3,2,11,29,28,200,29,02,25,101,24,27,23,137,27,04,21,055,25*77 $GPGSV,3,3,11,31,18,305,25,32,06,331,,20,02,354,*47 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.90,"vdop":1.50,"tdop":1.48,"hdop":0.90,"gdop":2.84,"pdop":1.80,"satellites":[{"PRN":12,"el":73,"az":67,"ss":33,"used":true},{"PRN":30,"el":67,"az":271,"ss":26,"used":true},{"PRN":14,"el":44,"az":267,"ss":28,"used":true},{"PRN":9,"el":28,"az":136,"ss":24,"used":true},{"PRN":29,"el":28,"az":200,"ss":29,"used":true},{"PRN":2,"el":25,"az":101,"ss":24,"used":true},{"PRN":27,"el":23,"az":137,"ss":27,"used":true},{"PRN":4,"el":21,"az":55,"ss":25,"used":true},{"PRN":31,"el":18,"az":305,"ss":25,"used":true},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171016.972,A,5200.8492,N,00421.7842,E,000.0,000.0,120610,,,A*68 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-12T17:10:16.972Z","ept":0.005,"lat":52.014153333,"lon":4.363070000,"alt":3.500,"epx":11.845,"epy":13.531,"epv":34.500,"track":0.0000,"speed":0.000,"climb":-0.500,"eps":27.06} $GPVTG,000.0,T,,M,000.0,N,000.0,K,A*0D $GPGGA,171017.972,5200.8498,N,00421.7845,E,1,09,0.9,4.8,M,44.8,M,,0000*56 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,36,30,67,271,27,14,44,267,25,09,28,136,25*7A $GPGSV,3,2,11,29,28,200,25,02,25,101,26,27,23,137,28,04,21,055,24*77 $GPGSV,3,3,11,31,18,305,25,32,06,331,,20,02,354,*47 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.90,"vdop":1.50,"tdop":1.48,"hdop":0.90,"gdop":2.84,"pdop":1.80,"satellites":[{"PRN":12,"el":73,"az":67,"ss":36,"used":true},{"PRN":30,"el":67,"az":271,"ss":27,"used":true},{"PRN":14,"el":44,"az":267,"ss":25,"used":true},{"PRN":9,"el":28,"az":136,"ss":25,"used":true},{"PRN":29,"el":28,"az":200,"ss":25,"used":true},{"PRN":2,"el":25,"az":101,"ss":26,"used":true},{"PRN":27,"el":23,"az":137,"ss":28,"used":true},{"PRN":4,"el":21,"az":55,"ss":24,"used":true},{"PRN":31,"el":18,"az":305,"ss":25,"used":true},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171017.972,A,5200.8498,N,00421.7845,E,001.0,000.6,120610,,,A*63 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-12T17:10:17.972Z","ept":0.005,"lat":52.014163333,"lon":4.363075000,"alt":4.800,"epx":11.845,"epy":13.531,"epv":34.500,"track":0.6000,"speed":0.514,"climb":1.300,"eps":27.06} $GPVTG,000.6,T,,M,001.0,N,001.8,K,A*03 $GPGGA,171018.972,5200.8501,N,00421.7847,E,1,08,1.1,4.7,M,44.8,M,,0000*5D $GPGSA,A,3,14,30,12,09,29,02,27,31,,,,,1.9,1.1,1.6*3F $GPGSV,3,1,11,12,73,067,33,30,67,271,25,14,44,267,25,09,28,136,25*7D $GPGSV,3,2,11,29,28,200,26,02,25,101,26,27,23,137,26,04,21,055,22*7C $GPGSV,3,3,11,31,18,305,24,32,06,331,,20,02,354,*46 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.90,"vdop":1.60,"tdop":1.48,"hdop":1.10,"gdop":2.84,"pdop":1.90,"satellites":[{"PRN":12,"el":73,"az":67,"ss":33,"used":true},{"PRN":30,"el":67,"az":271,"ss":25,"used":true},{"PRN":14,"el":44,"az":267,"ss":25,"used":true},{"PRN":9,"el":28,"az":136,"ss":25,"used":true},{"PRN":29,"el":28,"az":200,"ss":26,"used":true},{"PRN":2,"el":25,"az":101,"ss":26,"used":true},{"PRN":27,"el":23,"az":137,"ss":26,"used":true},{"PRN":4,"el":21,"az":55,"ss":22,"used":false},{"PRN":31,"el":18,"az":305,"ss":24,"used":true},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171018.972,A,5200.8501,N,00421.7847,E,000.0,000.6,120610,,,A*6E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-12T17:10:18.972Z","ept":0.005,"lat":52.014168333,"lon":4.363078333,"alt":4.700,"epx":11.845,"epy":13.531,"epv":34.500,"track":0.6000,"speed":0.000,"climb":-0.100,"eps":27.06} $GPVTG,000.6,T,,M,000.0,N,000.0,K,A*0B $GPGGA,171019.972,5200.8503,N,00421.7844,E,1,09,0.9,4.6,M,44.8,M,,0000*54 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,34,30,67,271,25,14,44,267,24,09,28,136,24*7A $GPGSV,3,2,11,29,28,200,25,02,25,101,25,27,23,137,29,04,21,055,22*73 $GPGSV,3,3,11,31,18,305,24,32,06,331,,20,02,354,*46 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.90,"vdop":1.50,"tdop":1.48,"hdop":0.90,"gdop":2.84,"pdop":1.80,"satellites":[{"PRN":12,"el":73,"az":67,"ss":34,"used":true},{"PRN":30,"el":67,"az":271,"ss":25,"used":true},{"PRN":14,"el":44,"az":267,"ss":24,"used":true},{"PRN":9,"el":28,"az":136,"ss":24,"used":true},{"PRN":29,"el":28,"az":200,"ss":25,"used":true},{"PRN":2,"el":25,"az":101,"ss":25,"used":true},{"PRN":27,"el":23,"az":137,"ss":29,"used":true},{"PRN":4,"el":21,"az":55,"ss":22,"used":true},{"PRN":31,"el":18,"az":305,"ss":24,"used":true},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171019.972,A,5200.8503,N,00421.7844,E,000.9,290.7,120610,,,A*6D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-12T17:10:19.972Z","ept":0.005,"lat":52.014171667,"lon":4.363073333,"alt":4.600,"epx":11.845,"epy":13.531,"epv":36.800,"track":290.7000,"speed":0.463,"climb":-0.100,"eps":27.06} $GPVTG,290.7,T,,M,000.9,N,001.6,K,A*0F $GPGGA,171020.972,5200.8499,N,00421.7837,E,1,09,0.9,4.9,M,44.8,M,,0000*57 $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,31,30,67,271,26,14,44,267,23,09,28,136,23*7C $GPGSV,3,2,11,29,28,200,32,02,25,101,28,27,23,137,27,04,21,055,22*76 $GPGSV,3,3,11,31,18,305,23,32,06,331,,20,02,354,*41 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.90,"vdop":1.50,"tdop":1.48,"hdop":0.90,"gdop":2.84,"pdop":1.80,"satellites":[{"PRN":12,"el":73,"az":67,"ss":31,"used":true},{"PRN":30,"el":67,"az":271,"ss":26,"used":true},{"PRN":14,"el":44,"az":267,"ss":23,"used":true},{"PRN":9,"el":28,"az":136,"ss":23,"used":true},{"PRN":29,"el":28,"az":200,"ss":32,"used":true},{"PRN":2,"el":25,"az":101,"ss":28,"used":true},{"PRN":27,"el":23,"az":137,"ss":27,"used":true},{"PRN":4,"el":21,"az":55,"ss":22,"used":true},{"PRN":31,"el":18,"az":305,"ss":23,"used":true},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171020.972,A,5200.8499,N,00421.7837,E,000.0,290.7,120610,,,A*68 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-12T17:10:20.972Z","ept":0.005,"lat":52.014165000,"lon":4.363061667,"alt":4.900,"epx":11.845,"epy":13.531,"epv":34.500,"track":290.7000,"speed":0.000,"climb":0.300,"eps":27.06} $GPVTG,290.7,T,,M,000.0,N,000.0,K,A*01 $GPGGA,171021.972,5200.8502,N,00421.7865,E,1,09,0.9,5.5,M,44.8,M,,0000*5F $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,1,11,12,73,067,31,30,67,271,24,14,44,267,23,09,28,136,24*79 $GPGSV,3,2,11,29,28,200,26,02,25,101,26,27,23,137,25,04,21,055,23*7E $GPVTG,290.7,T,,M,000.0,N,000.0,K,A*01 $GPGGA,171022.972,5200.8502,N,00421.7872,E,1,09,0.9,6.6,M,44.8,M,,0000*5A {"class":"TPV","tag":"GGA","mode":3,"time":"2010-06-12T17:10:22.972Z","ept":0.005,"lat":52.014170000,"lon":4.363120000,"alt":6.600,"epx":11.845,"epy":13.531,"epv":34.500,"speed":0.801,"climb":1.100,"eps":27.06} $GPGSA,A,3,14,30,12,09,29,02,27,04,31,,,,1.8,0.9,1.5*30 $GPGSV,3,2,11,29,28,200,27,02,25,101,25,27,23,137,24,04,21,055,25*7B $GPGSV,3,3,11,31,18,305,23,32,06,331,,20,02,354,*41 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.90,"vdop":1.50,"tdop":1.48,"hdop":0.90,"gdop":2.84,"pdop":1.80,"satellites":[{"PRN":12,"el":73,"az":67,"ss":31,"used":true},{"PRN":30,"el":67,"az":271,"ss":24,"used":true},{"PRN":14,"el":44,"az":267,"ss":23,"used":true},{"PRN":9,"el":28,"az":136,"ss":24,"used":true},{"PRN":29,"el":28,"az":200,"ss":26,"used":true},{"PRN":2,"el":25,"az":101,"ss":26,"used":true},{"PRN":27,"el":23,"az":137,"ss":25,"used":true},{"PRN":4,"el":21,"az":55,"ss":23,"used":true},{"PRN":29,"el":28,"az":200,"ss":27,"used":true},{"PRN":2,"el":25,"az":101,"ss":25,"used":true},{"PRN":27,"el":23,"az":137,"ss":24,"used":true},{"PRN":4,"el":21,"az":55,"ss":25,"used":true},{"PRN":31,"el":18,"az":305,"ss":23,"used":true},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171023.972,A,5200.8507,N,00421.7871,E,000.9,008.0,120610,,,A*62 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-06-12T17:10:23.972Z","ept":0.005,"lat":52.014178333,"lon":4.363118333,"epx":11.845,"epy":13.531,"track":8.0000,"speed":0.463,"eps":27.06} $GPVTG,008.0,T,,M,000.9,N,001.7,K,A*0A $GPGGA,171024.972,5200.8518,N,00421.7884,E,1,08,1.0,4.8,M,44.8,M,,0000*5B {"class":"TPV","tag":"GGA","mode":3,"time":"2010-06-12T17:10:24.972Z","ept":0.005,"lat":52.014196667,"lon":4.363140000,"alt":4.800,"epx":11.845,"epy":13.531,"epv":34.500,"speed":2.525,"eps":27.06} $GPGSA,A,3,14,30,12,09,29,02,04,31,,,,,1.8,1.0,1.5*3D $GPGSV,3,1,11,12,73,067,25,30,67,271,25,14,44,267,22,09,28,136,27*7F $GPGSV,3,2,11,29,28,200,25,02,25,101,24,27,23,137,23,04,21,055,30*7B $GPGSV,3,3,11,31,18,305,27,32,06,331,,20,02,354,*45 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.90,"vdop":1.50,"tdop":1.48,"hdop":1.00,"gdop":2.84,"pdop":1.80,"satellites":[{"PRN":12,"el":73,"az":67,"ss":25,"used":true},{"PRN":30,"el":67,"az":271,"ss":25,"used":true},{"PRN":14,"el":44,"az":267,"ss":22,"used":true},{"PRN":9,"el":28,"az":136,"ss":27,"used":true},{"PRN":29,"el":28,"az":200,"ss":25,"used":true},{"PRN":2,"el":25,"az":101,"ss":24,"used":true},{"PRN":27,"el":23,"az":137,"ss":23,"used":false},{"PRN":4,"el":21,"az":55,"ss":30,"used":true},{"PRN":31,"el":18,"az":305,"ss":27,"used":true},{"PRN":32,"el":6,"az":331,"ss":0,"used":false},{"PRN":20,"el":2,"az":354,"ss":0,"used":false}]} $GPRMC,171024.972,A,5200.8518,N,00421.7884,E,000.0,008.0,120610,,,A*68 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-12T17:10:24.972Z","ept":0.005,"lat":52.014196667,"lon":4.363140000,"alt":4.800,"epx":11.845,"epy":13.531,"epv":34.500,"track":8.0000,"speed":0.000,"climb":0.000,"eps":27.06} $GPVTG,008.0,T,,M,000.0,N,000.0,K,A*05 $GPGSA,A,3,14,30,12,09,29,02,04,31,,,,,1.8,1.0,1.5*3D $GPGSV,3,1,11,12,73,067,34,30,67,271,33,14,44,267,23,09,28,136,28*76 gpsd-3.9/test/daemon/bt-q818.log0000664000175000017500000002707411762140436014537 0ustar esresr# Name: BT-Q818 # Chipset: MTK # Submitter: Jason Komut # Date: 2010-06-03 # Time: 7:53 PST # Location: +34? 1' 58.80", -117? 44' 49.56" # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPGGA,145243.000,3401.9764,N,11744.8274,W,2,10,0.87,234.7,M,-33.2,M,0000,0000*5F $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,41,22,54,049,36,24,54,134,38,51,48,161,31*7F $GPGSV,3,2,11,19,36,273,30,06,28,224,27,03,27,237,25,18,25,076,36*70 $GPGSV,3,3,11,31,19,169,29,21,16,136,28,09,11,039,34*48 $GPRMC,145243.000,A,3401.9764,N,11744.8274,W,0.00,119.27,030610,,,D*70 $GPGGA,145244.000,3401.9764,N,11744.8274,W,2,10,0.87,234.7,M,-33.2,M,0000,0000*58 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,41,22,54,050,36,24,54,134,38,51,48,161,31*77 $GPGSV,3,2,11,19,36,273,30,06,28,224,27,03,27,237,25,18,25,076,36*70 $GPGSV,3,3,11,31,19,169,28,21,16,136,28,09,11,039,34*49 $GPRMC,145244.000,A,3401.9764,N,11744.8274,W,0.00,119.27,030610,,,D*77 $GPGGA,145245.000,3401.9764,N,11744.8274,W,2,10,0.87,234.7,M,-33.2,M,0000,0000*59 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,41,22,54,050,36,24,54,134,38,51,48,161,31*77 $GPGSV,3,2,11,19,36,273,30,06,28,224,27,03,27,237,25,18,25,076,35*73 $GPGSV,3,3,11,31,19,169,28,21,16,136,27,09,11,039,34*46 $GPRMC,145245.000,A,3401.9764,N,11744.8274,W,0.00,119.27,030610,,,D*76 $GPGGA,145246.000,3401.9765,N,11744.8274,W,2,10,0.87,234.7,M,-33.2,M,0000,0000*5B $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,41,22,54,050,36,24,53,134,38,51,48,161,31*70 $GPGSV,3,2,11,19,36,273,30,06,28,224,27,03,27,237,25,18,25,076,35*73 $GPGSV,3,3,11,31,19,169,28,21,16,136,27,09,11,039,34*46 $GPRMC,145246.000,A,3401.9765,N,11744.8274,W,0.01,119.27,030610,,,D*75 $GPGGA,145247.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*55 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,40,22,54,050,35,24,53,134,38,51,48,161,30*73 $GPGSV,3,2,11,19,36,273,29,06,28,224,25,03,27,237,25,18,25,076,34*78 $GPGSV,3,3,11,31,19,169,27,21,16,136,26,09,11,039,33*4F $GPRMC,145247.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*75 $GPGGA,145248.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*5A $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,41,22,54,050,36,24,53,134,38,51,48,161,30*71 $GPGSV,3,2,11,19,36,273,29,06,28,224,26,03,27,237,26,18,25,076,34*78 $GPGSV,3,3,11,31,19,169,27,21,16,136,27,09,11,039,34*49 $GPRMC,145248.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*7A $GPGGA,145249.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*5B $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,42,22,54,050,36,24,53,134,38,51,48,161,30*72 $GPGSV,3,2,11,19,36,273,29,06,28,224,27,03,27,237,27,18,25,076,34*78 $GPGSV,3,3,11,31,19,169,27,21,16,136,28,09,11,039,34*46 $GPRMC,145249.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*7B $GPGGA,145250.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*53 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,42,22,54,050,36,24,53,134,38,51,48,161,30*72 $GPGSV,3,2,11,19,36,273,29,06,28,224,27,03,27,237,27,18,25,076,34*78 $GPGSV,3,3,11,31,19,169,27,21,16,136,28,09,11,039,34*46 $GPRMC,145250.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*73 $GPGGA,145251.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*52 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,42,22,54,050,36,24,53,134,38,51,48,161,30*72 $GPGSV,3,2,11,19,36,273,29,06,28,224,27,03,27,237,27,18,25,076,34*78 $GPGSV,3,3,11,31,19,169,26,21,16,136,28,09,11,039,34*47 $GPRMC,145251.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*72 $GPGGA,145252.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*51 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,41,22,54,050,35,24,53,134,39,51,48,161,29*7B $GPGSV,3,2,11,19,36,273,28,06,28,224,27,03,27,237,26,18,25,076,34*78 $GPGSV,3,3,11,31,19,169,25,21,16,136,28,09,11,039,33*43 $GPRMC,145252.000,A,3401.9765,N,11744.8274,W,0.01,119.27,030610,,,D*70 $GPGGA,145253.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*50 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,40,22,54,050,34,24,53,134,38,51,48,161,28*7B $GPGSV,3,2,11,19,36,273,27,06,28,224,27,03,27,237,25,18,25,076,33*73 $GPGSV,3,3,11,31,19,169,25,21,16,136,28,09,11,039,32*42 $GPRMC,145253.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*70 $GPGGA,145254.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*57 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,40,22,54,050,34,24,53,134,39,51,48,161,28*7A $GPGSV,3,2,11,19,36,273,27,06,28,224,28,03,27,237,24,18,25,076,34*7A $GPGSV,3,3,11,31,19,169,25,21,16,136,28,09,11,039,33*43 $GPRMC,145254.000,A,3401.9765,N,11744.8274,W,0.01,119.27,030610,,,D*76 $GPGGA,145255.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*56 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,39,22,54,050,34,24,53,134,40,51,48,161,28*7A $GPGSV,3,2,11,19,36,273,28,06,28,224,27,03,27,237,26,18,25,076,34*78 $GPGSV,3,3,11,31,19,169,26,21,16,136,28,09,11,039,32*41 $GPRMC,145255.000,A,3401.9765,N,11744.8274,W,0.01,119.27,030610,,,D*77 $GPGGA,145256.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*55 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,39,22,54,050,33,24,53,134,41,51,48,161,*76 $GPGSV,3,2,11,19,36,273,29,06,28,224,27,03,27,237,27,18,25,076,33*7F $GPGSV,3,3,11,31,19,169,27,21,16,136,28,09,11,039,32*40 $GPRMC,145256.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*75 $GPGGA,145257.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*54 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,31,22,54,050,33,24,53,134,26,51,48,161,27*7A $GPGSV,3,2,11,19,36,273,29,06,28,224,28,03,27,237,26,18,25,076,19*79 $GPGSV,3,3,11,31,19,169,29,21,16,136,29,09,11,039,30*4D $GPRMC,145257.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*74 $GPGGA,145258.000,3401.9765,N,11744.8274,W,2,9,0.91,234.8,M,-33.2,M,0000,0000*64 $GPGSA,A,3,14,09,22,19,24,06,21,03,31,,,,1.60,0.91,1.32*0B $GPGSV,3,1,11,14,86,335,24,22,54,050,33,24,53,134,35,51,48,161,39*73 $GPGSV,3,2,11,19,36,273,30,06,28,224,28,03,27,237,25,18,25,076,19*72 $GPGSV,3,3,11,31,19,169,28,21,16,136,37,09,11,039,29*4B $GPRMC,145258.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*7B $GPGGA,145259.000,3401.9765,N,11744.8274,W,2,9,0.93,234.8,M,-33.2,M,0000,0000*67 $GPGSA,A,3,14,09,22,18,19,24,06,21,31,,,,1.63,0.93,1.34*06 $GPGSV,3,1,11,14,86,335,24,22,54,050,25,24,53,134,36,51,48,161,34*7A $GPGSV,3,2,11,19,36,273,30,06,28,224,27,03,27,237,16,18,25,076,21*76 $GPGSV,3,3,11,31,19,169,29,21,16,136,37,09,11,039,30*42 $GPRMC,145259.000,A,3401.9765,N,11744.8274,W,0.01,119.27,030610,,,D*7B $GPGGA,145300.000,3401.9765,N,11744.8274,W,2,9,0.88,234.8,M,-33.2,M,0000,0000*60 $GPGSA,A,3,09,22,18,19,24,06,21,03,31,,,,1.87,0.88,1.65*04 $GPGSV,3,1,11,14,86,335,17,22,54,050,27,24,53,134,37,51,48,161,38*75 $GPGSV,3,2,11,19,36,273,29,06,28,224,17,03,27,237,17,18,25,076,29*74 $GPGSV,3,3,11,31,19,169,28,21,16,136,27,09,11,039,29*4A $GPRMC,145300.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*77 $GPGGA,145301.000,3401.9765,N,11744.8274,W,2,9,0.87,234.8,M,-33.2,M,0000,0000*6E $GPGSA,A,3,09,22,18,19,24,06,21,03,31,,,,1.87,0.87,1.65*0B $GPGSV,3,1,11,14,86,335,17,22,54,050,29,24,53,134,37,51,48,161,38*7B $GPGSV,3,2,11,19,36,273,27,06,28,224,17,03,27,237,18,18,25,076,28*74 $GPGSV,3,3,11,31,19,169,27,21,16,136,26,09,11,039,29*44 $GPRMC,145301.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*76 $GPGGA,145302.000,3401.9765,N,11744.8274,W,2,9,0.91,234.8,M,-33.2,M,0000,0000*6A $GPGSA,A,3,14,09,22,18,19,24,21,03,31,,,,1.61,0.91,1.32*05 $GPGSV,3,1,11,14,86,335,17,22,54,050,30,24,53,134,37,51,48,161,37*7C $GPGSV,3,2,11,19,36,273,26,06,28,224,,03,27,237,18,18,25,076,28*73 $GPGSV,3,3,11,31,19,169,27,21,16,136,25,09,11,039,29*47 $GPRMC,145302.000,A,3401.9765,N,11744.8274,W,0.01,119.27,030610,,,D*74 $GPGGA,145303.000,3401.9765,N,11744.8274,W,2,9,0.91,234.8,M,-33.2,M,0000,0000*6B $GPGSA,A,3,14,09,22,18,19,24,21,03,31,,,,1.61,0.91,1.32*05 $GPGSV,3,1,11,14,86,335,16,22,54,050,31,24,53,134,37,51,48,161,37*7C $GPGSV,3,2,11,19,36,273,26,06,28,224,,03,27,237,18,18,25,076,28*73 $GPGSV,3,3,11,31,19,169,27,21,16,136,25,09,10,039,29*46 $GPRMC,145303.000,A,3401.9765,N,11744.8274,W,0.01,119.27,030610,,,D*75 $GPGGA,145304.000,3401.9765,N,11744.8274,W,2,9,0.91,234.8,M,-33.2,M,0000,0000*6C $GPGSA,A,3,14,09,22,18,19,24,21,03,31,,,,1.61,0.91,1.32*05 $GPGSV,3,1,11,14,86,335,16,22,54,050,32,24,53,134,37,51,48,161,37*7F $GPGSV,3,2,11,19,36,273,26,06,28,224,,03,27,237,18,18,25,076,28*73 $GPGSV,3,3,11,31,19,169,27,21,16,136,26,09,10,039,28*44 $GPRMC,145304.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*73 $GPGGA,145305.000,3401.9765,N,11744.8274,W,2,9,0.91,234.8,M,-33.2,M,0000,0000*6D $GPGSA,A,3,14,09,22,18,19,24,21,03,31,,,,1.61,0.91,1.32*05 $GPGSV,3,1,11,14,86,335,16,22,54,050,32,24,53,134,37,51,48,161,37*7F $GPGSV,3,2,11,19,36,273,26,06,28,224,,03,27,237,18,18,25,076,28*73 $GPGSV,3,3,11,31,19,169,27,21,16,136,27,09,10,039,28*45 $GPRMC,145305.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*72 $GPGGA,145306.000,3401.9765,N,11744.8274,W,2,9,0.91,234.8,M,-33.2,M,0000,0000*6E $GPGSA,A,3,14,09,22,18,19,24,21,03,31,,,,1.61,0.91,1.32*05 $GPGSV,3,1,11,14,86,335,16,22,54,050,32,24,53,134,37,51,48,161,38*70 $GPGSV,3,2,11,19,36,273,26,06,28,224,,03,27,237,18,18,25,076,28*73 $GPGSV,3,3,11,31,19,169,27,21,16,136,27,09,10,039,28*45 $GPRMC,145306.000,A,3401.9765,N,11744.8274,W,0.01,119.27,030610,,,D*70 $GPGGA,145307.000,3401.9765,N,11744.8274,W,2,9,0.91,234.8,M,-33.2,M,0000,0000*6F $GPGSA,A,3,14,09,22,18,19,24,21,03,31,,,,1.60,0.91,1.32*04 $GPGSV,3,1,11,14,86,335,16,22,54,050,32,24,53,134,37,51,48,161,38*70 $GPGSV,3,2,11,19,36,273,26,06,28,224,,03,27,237,18,18,25,076,28*73 $GPGSV,3,3,11,31,19,169,27,21,16,136,27,09,10,039,28*45 $GPRMC,145307.000,A,3401.9765,N,11744.8274,W,0.01,119.27,030610,,,D*71 $GPGGA,145308.000,3401.9765,N,11744.8275,W,2,9,0.91,234.8,M,-33.2,M,0000,0000*61 $GPGSA,A,3,14,09,22,18,19,24,21,03,31,,,,1.61,0.91,1.32*05 $GPGSV,3,1,11,14,86,338,16,22,54,050,32,24,53,134,37,51,48,161,38*7D $GPGSV,3,2,11,19,36,273,26,06,28,224,,03,27,237,18,18,25,076,28*73 $GPGSV,3,3,11,31,19,169,26,21,16,136,28,09,10,039,27*44 $GPRMC,145308.000,A,3401.9765,N,11744.8275,W,0.00,119.27,030610,,,D*7E $GPGGA,145309.000,3401.9765,N,11744.8275,W,2,9,0.91,234.8,M,-33.2,M,0000,0000*60 $GPGSA,A,3,14,09,22,18,19,24,21,03,31,,,,1.61,0.91,1.32*05 $GPGSV,3,1,11,14,86,338,17,22,54,050,32,24,53,134,37,51,48,161,38*7C $GPGSV,3,2,11,19,36,273,26,06,28,224,,03,27,237,18,18,25,076,28*73 $GPGSV,3,3,11,31,19,169,26,21,16,136,28,09,10,039,27*44 $GPRMC,145309.000,A,3401.9765,N,11744.8275,W,0.01,119.27,030610,,,D*7E $GPGGA,145310.000,3401.9765,N,11744.8275,W,2,9,0.91,234.8,M,-33.2,M,0000,0000*68 $GPGSA,A,3,14,09,22,18,19,24,21,03,31,,,,1.61,0.91,1.32*05 $GPGSV,3,1,11,14,86,338,17,22,54,050,32,24,53,134,37,51,48,161,38*7C $GPGSV,3,2,11,19,36,273,26,06,28,224,,03,27,237,18,18,25,076,28*73 $GPGSV,3,3,11,31,19,169,26,21,16,136,28,09,10,039,27*44 $GPRMC,145310.000,A,3401.9765,N,11744.8275,W,0.01,119.27,030610,,,D*76 gpsd-3.9/test/daemon/bt-q818.log.chk0000664000175000017500000010706312135526260015276 0ustar esresr$GPGGA,145243.000,3401.9764,N,11744.8274,W,2,10,0.87,234.7,M,-33.2,M,0000,0000*5F {"class":"TPV","tag":"GGA","mode":3,"lat":34.032940000,"lon":-117.747123333,"alt":234.700} $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D {"class":"TPV","tag":"GSA","mode":3,"lat":34.032940000,"lon":-117.747123333,"alt":234.700,"epv":7.533} $GPGSV,3,1,11,14,86,335,41,22,54,049,36,24,54,134,38,51,48,161,31*7F $GPGSV,3,2,11,19,36,273,30,06,28,224,27,03,27,237,25,18,25,076,36*70 $GPGSV,3,3,11,31,19,169,29,21,16,136,28,09,11,039,34*48 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.31,"tdop":1.17,"hdop":0.87,"gdop":2.26,"pdop":1.58,"satellites":[{"PRN":14,"el":86,"az":335,"ss":41,"used":true},{"PRN":22,"el":54,"az":49,"ss":36,"used":true},{"PRN":24,"el":54,"az":134,"ss":38,"used":true},{"PRN":138,"el":48,"az":161,"ss":31,"used":false},{"PRN":19,"el":36,"az":273,"ss":30,"used":true},{"PRN":6,"el":28,"az":224,"ss":27,"used":true},{"PRN":3,"el":27,"az":237,"ss":25,"used":true},{"PRN":18,"el":25,"az":76,"ss":36,"used":true},{"PRN":31,"el":19,"az":169,"ss":29,"used":true},{"PRN":21,"el":16,"az":136,"ss":28,"used":true},{"PRN":9,"el":11,"az":39,"ss":34,"used":true}]} $GPRMC,145243.000,A,3401.9764,N,11744.8274,W,0.00,119.27,030610,,,D*70 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:52:43.000Z","ept":0.005,"lat":34.032940000,"lon":-117.747123333,"alt":234.700,"epx":2.117,"epy":3.287,"epv":7.533,"track":119.2700,"speed":0.000} $GPGGA,145244.000,3401.9764,N,11744.8274,W,2,10,0.87,234.7,M,-33.2,M,0000,0000*58 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,41,22,54,050,36,24,54,134,38,51,48,161,31*77 $GPGSV,3,2,11,19,36,273,30,06,28,224,27,03,27,237,25,18,25,076,36*70 $GPGSV,3,3,11,31,19,169,28,21,16,136,28,09,11,039,34*49 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.31,"tdop":1.17,"hdop":0.87,"gdop":2.26,"pdop":1.58,"satellites":[{"PRN":14,"el":86,"az":335,"ss":41,"used":true},{"PRN":22,"el":54,"az":50,"ss":36,"used":true},{"PRN":24,"el":54,"az":134,"ss":38,"used":true},{"PRN":138,"el":48,"az":161,"ss":31,"used":false},{"PRN":19,"el":36,"az":273,"ss":30,"used":true},{"PRN":6,"el":28,"az":224,"ss":27,"used":true},{"PRN":3,"el":27,"az":237,"ss":25,"used":true},{"PRN":18,"el":25,"az":76,"ss":36,"used":true},{"PRN":31,"el":19,"az":169,"ss":28,"used":true},{"PRN":21,"el":16,"az":136,"ss":28,"used":true},{"PRN":9,"el":11,"az":39,"ss":34,"used":true}]} $GPRMC,145244.000,A,3401.9764,N,11744.8274,W,0.00,119.27,030610,,,D*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:52:44.000Z","ept":0.005,"lat":34.032940000,"lon":-117.747123333,"alt":234.700,"epx":2.117,"epy":3.287,"epv":7.533,"track":119.2700,"speed":0.000,"climb":0.000,"eps":6.57} $GPGGA,145245.000,3401.9764,N,11744.8274,W,2,10,0.87,234.7,M,-33.2,M,0000,0000*59 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,41,22,54,050,36,24,54,134,38,51,48,161,31*77 $GPGSV,3,2,11,19,36,273,30,06,28,224,27,03,27,237,25,18,25,076,35*73 $GPGSV,3,3,11,31,19,169,28,21,16,136,27,09,11,039,34*46 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.31,"tdop":1.17,"hdop":0.87,"gdop":2.26,"pdop":1.58,"satellites":[{"PRN":14,"el":86,"az":335,"ss":41,"used":true},{"PRN":22,"el":54,"az":50,"ss":36,"used":true},{"PRN":24,"el":54,"az":134,"ss":38,"used":true},{"PRN":138,"el":48,"az":161,"ss":31,"used":false},{"PRN":19,"el":36,"az":273,"ss":30,"used":true},{"PRN":6,"el":28,"az":224,"ss":27,"used":true},{"PRN":3,"el":27,"az":237,"ss":25,"used":true},{"PRN":18,"el":25,"az":76,"ss":35,"used":true},{"PRN":31,"el":19,"az":169,"ss":28,"used":true},{"PRN":21,"el":16,"az":136,"ss":27,"used":true},{"PRN":9,"el":11,"az":39,"ss":34,"used":true}]} $GPRMC,145245.000,A,3401.9764,N,11744.8274,W,0.00,119.27,030610,,,D*76 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:52:45.000Z","ept":0.005,"lat":34.032940000,"lon":-117.747123333,"alt":234.700,"epx":2.117,"epy":3.287,"epv":7.533,"track":119.2700,"speed":0.000,"climb":0.000,"eps":6.57} $GPGGA,145246.000,3401.9765,N,11744.8274,W,2,10,0.87,234.7,M,-33.2,M,0000,0000*5B $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,41,22,54,050,36,24,53,134,38,51,48,161,31*70 $GPGSV,3,2,11,19,36,273,30,06,28,224,27,03,27,237,25,18,25,076,35*73 $GPGSV,3,3,11,31,19,169,28,21,16,136,27,09,11,039,34*46 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.31,"tdop":1.17,"hdop":0.87,"gdop":2.26,"pdop":1.58,"satellites":[{"PRN":14,"el":86,"az":335,"ss":41,"used":true},{"PRN":22,"el":54,"az":50,"ss":36,"used":true},{"PRN":24,"el":53,"az":134,"ss":38,"used":true},{"PRN":138,"el":48,"az":161,"ss":31,"used":false},{"PRN":19,"el":36,"az":273,"ss":30,"used":true},{"PRN":6,"el":28,"az":224,"ss":27,"used":true},{"PRN":3,"el":27,"az":237,"ss":25,"used":true},{"PRN":18,"el":25,"az":76,"ss":35,"used":true},{"PRN":31,"el":19,"az":169,"ss":28,"used":true},{"PRN":21,"el":16,"az":136,"ss":27,"used":true},{"PRN":9,"el":11,"az":39,"ss":34,"used":true}]} $GPRMC,145246.000,A,3401.9765,N,11744.8274,W,0.01,119.27,030610,,,D*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:52:46.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.700,"epx":2.117,"epy":3.287,"epv":7.533,"track":119.2700,"speed":0.005,"climb":0.000,"eps":6.57} $GPGGA,145247.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*55 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,40,22,54,050,35,24,53,134,38,51,48,161,30*73 $GPGSV,3,2,11,19,36,273,29,06,28,224,25,03,27,237,25,18,25,076,34*78 $GPGSV,3,3,11,31,19,169,27,21,16,136,26,09,11,039,33*4F {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.31,"tdop":1.17,"hdop":0.87,"gdop":2.26,"pdop":1.58,"satellites":[{"PRN":14,"el":86,"az":335,"ss":40,"used":true},{"PRN":22,"el":54,"az":50,"ss":35,"used":true},{"PRN":24,"el":53,"az":134,"ss":38,"used":true},{"PRN":138,"el":48,"az":161,"ss":30,"used":false},{"PRN":19,"el":36,"az":273,"ss":29,"used":true},{"PRN":6,"el":28,"az":224,"ss":25,"used":true},{"PRN":3,"el":27,"az":237,"ss":25,"used":true},{"PRN":18,"el":25,"az":76,"ss":34,"used":true},{"PRN":31,"el":19,"az":169,"ss":27,"used":true},{"PRN":21,"el":16,"az":136,"ss":26,"used":true},{"PRN":9,"el":11,"az":39,"ss":33,"used":true}]} $GPRMC,145247.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:52:47.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.533,"track":119.2700,"speed":0.000,"climb":0.100,"eps":6.57} $GPGGA,145248.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*5A $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,41,22,54,050,36,24,53,134,38,51,48,161,30*71 $GPGSV,3,2,11,19,36,273,29,06,28,224,26,03,27,237,26,18,25,076,34*78 $GPGSV,3,3,11,31,19,169,27,21,16,136,27,09,11,039,34*49 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.31,"tdop":1.17,"hdop":0.87,"gdop":2.26,"pdop":1.58,"satellites":[{"PRN":14,"el":86,"az":335,"ss":41,"used":true},{"PRN":22,"el":54,"az":50,"ss":36,"used":true},{"PRN":24,"el":53,"az":134,"ss":38,"used":true},{"PRN":138,"el":48,"az":161,"ss":30,"used":false},{"PRN":19,"el":36,"az":273,"ss":29,"used":true},{"PRN":6,"el":28,"az":224,"ss":26,"used":true},{"PRN":3,"el":27,"az":237,"ss":26,"used":true},{"PRN":18,"el":25,"az":76,"ss":34,"used":true},{"PRN":31,"el":19,"az":169,"ss":27,"used":true},{"PRN":21,"el":16,"az":136,"ss":27,"used":true},{"PRN":9,"el":11,"az":39,"ss":34,"used":true}]} $GPRMC,145248.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*7A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:52:48.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.533,"track":119.2700,"speed":0.000,"climb":0.000,"eps":6.57} $GPGGA,145249.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*5B $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,42,22,54,050,36,24,53,134,38,51,48,161,30*72 $GPGSV,3,2,11,19,36,273,29,06,28,224,27,03,27,237,27,18,25,076,34*78 $GPGSV,3,3,11,31,19,169,27,21,16,136,28,09,11,039,34*46 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.31,"tdop":1.17,"hdop":0.87,"gdop":2.26,"pdop":1.58,"satellites":[{"PRN":14,"el":86,"az":335,"ss":42,"used":true},{"PRN":22,"el":54,"az":50,"ss":36,"used":true},{"PRN":24,"el":53,"az":134,"ss":38,"used":true},{"PRN":138,"el":48,"az":161,"ss":30,"used":false},{"PRN":19,"el":36,"az":273,"ss":29,"used":true},{"PRN":6,"el":28,"az":224,"ss":27,"used":true},{"PRN":3,"el":27,"az":237,"ss":27,"used":true},{"PRN":18,"el":25,"az":76,"ss":34,"used":true},{"PRN":31,"el":19,"az":169,"ss":27,"used":true},{"PRN":21,"el":16,"az":136,"ss":28,"used":true},{"PRN":9,"el":11,"az":39,"ss":34,"used":true}]} $GPRMC,145249.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*7B {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:52:49.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.533,"track":119.2700,"speed":0.000,"climb":0.000,"eps":6.57} $GPGGA,145250.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*53 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,42,22,54,050,36,24,53,134,38,51,48,161,30*72 $GPGSV,3,2,11,19,36,273,29,06,28,224,27,03,27,237,27,18,25,076,34*78 $GPGSV,3,3,11,31,19,169,27,21,16,136,28,09,11,039,34*46 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.31,"tdop":1.17,"hdop":0.87,"gdop":2.26,"pdop":1.58,"satellites":[{"PRN":14,"el":86,"az":335,"ss":42,"used":true},{"PRN":22,"el":54,"az":50,"ss":36,"used":true},{"PRN":24,"el":53,"az":134,"ss":38,"used":true},{"PRN":138,"el":48,"az":161,"ss":30,"used":false},{"PRN":19,"el":36,"az":273,"ss":29,"used":true},{"PRN":6,"el":28,"az":224,"ss":27,"used":true},{"PRN":3,"el":27,"az":237,"ss":27,"used":true},{"PRN":18,"el":25,"az":76,"ss":34,"used":true},{"PRN":31,"el":19,"az":169,"ss":27,"used":true},{"PRN":21,"el":16,"az":136,"ss":28,"used":true},{"PRN":9,"el":11,"az":39,"ss":34,"used":true}]} $GPRMC,145250.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:52:50.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.533,"track":119.2700,"speed":0.000,"climb":0.000,"eps":6.57} $GPGGA,145251.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*52 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,42,22,54,050,36,24,53,134,38,51,48,161,30*72 $GPGSV,3,2,11,19,36,273,29,06,28,224,27,03,27,237,27,18,25,076,34*78 $GPGSV,3,3,11,31,19,169,26,21,16,136,28,09,11,039,34*47 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.31,"tdop":1.17,"hdop":0.87,"gdop":2.26,"pdop":1.58,"satellites":[{"PRN":14,"el":86,"az":335,"ss":42,"used":true},{"PRN":22,"el":54,"az":50,"ss":36,"used":true},{"PRN":24,"el":53,"az":134,"ss":38,"used":true},{"PRN":138,"el":48,"az":161,"ss":30,"used":false},{"PRN":19,"el":36,"az":273,"ss":29,"used":true},{"PRN":6,"el":28,"az":224,"ss":27,"used":true},{"PRN":3,"el":27,"az":237,"ss":27,"used":true},{"PRN":18,"el":25,"az":76,"ss":34,"used":true},{"PRN":31,"el":19,"az":169,"ss":26,"used":true},{"PRN":21,"el":16,"az":136,"ss":28,"used":true},{"PRN":9,"el":11,"az":39,"ss":34,"used":true}]} $GPRMC,145251.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*72 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:52:51.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.533,"track":119.2700,"speed":0.000,"climb":0.000,"eps":6.57} $GPGGA,145252.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*51 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,41,22,54,050,35,24,53,134,39,51,48,161,29*7B $GPGSV,3,2,11,19,36,273,28,06,28,224,27,03,27,237,26,18,25,076,34*78 $GPGSV,3,3,11,31,19,169,25,21,16,136,28,09,11,039,33*43 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.31,"tdop":1.17,"hdop":0.87,"gdop":2.26,"pdop":1.58,"satellites":[{"PRN":14,"el":86,"az":335,"ss":41,"used":true},{"PRN":22,"el":54,"az":50,"ss":35,"used":true},{"PRN":24,"el":53,"az":134,"ss":39,"used":true},{"PRN":138,"el":48,"az":161,"ss":29,"used":false},{"PRN":19,"el":36,"az":273,"ss":28,"used":true},{"PRN":6,"el":28,"az":224,"ss":27,"used":true},{"PRN":3,"el":27,"az":237,"ss":26,"used":true},{"PRN":18,"el":25,"az":76,"ss":34,"used":true},{"PRN":31,"el":19,"az":169,"ss":25,"used":true},{"PRN":21,"el":16,"az":136,"ss":28,"used":true},{"PRN":9,"el":11,"az":39,"ss":33,"used":true}]} $GPRMC,145252.000,A,3401.9765,N,11744.8274,W,0.01,119.27,030610,,,D*70 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:52:52.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.533,"track":119.2700,"speed":0.005,"climb":0.000,"eps":6.57} $GPGGA,145253.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*50 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,40,22,54,050,34,24,53,134,38,51,48,161,28*7B $GPGSV,3,2,11,19,36,273,27,06,28,224,27,03,27,237,25,18,25,076,33*73 $GPGSV,3,3,11,31,19,169,25,21,16,136,28,09,11,039,32*42 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.31,"tdop":1.17,"hdop":0.87,"gdop":2.26,"pdop":1.58,"satellites":[{"PRN":14,"el":86,"az":335,"ss":40,"used":true},{"PRN":22,"el":54,"az":50,"ss":34,"used":true},{"PRN":24,"el":53,"az":134,"ss":38,"used":true},{"PRN":138,"el":48,"az":161,"ss":28,"used":false},{"PRN":19,"el":36,"az":273,"ss":27,"used":true},{"PRN":6,"el":28,"az":224,"ss":27,"used":true},{"PRN":3,"el":27,"az":237,"ss":25,"used":true},{"PRN":18,"el":25,"az":76,"ss":33,"used":true},{"PRN":31,"el":19,"az":169,"ss":25,"used":true},{"PRN":21,"el":16,"az":136,"ss":28,"used":true},{"PRN":9,"el":11,"az":39,"ss":32,"used":true}]} $GPRMC,145253.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*70 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:52:53.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.533,"track":119.2700,"speed":0.000,"climb":0.000,"eps":6.57} $GPGGA,145254.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*57 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,40,22,54,050,34,24,53,134,39,51,48,161,28*7A $GPGSV,3,2,11,19,36,273,27,06,28,224,28,03,27,237,24,18,25,076,34*7A $GPGSV,3,3,11,31,19,169,25,21,16,136,28,09,11,039,33*43 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.31,"tdop":1.17,"hdop":0.87,"gdop":2.26,"pdop":1.58,"satellites":[{"PRN":14,"el":86,"az":335,"ss":40,"used":true},{"PRN":22,"el":54,"az":50,"ss":34,"used":true},{"PRN":24,"el":53,"az":134,"ss":39,"used":true},{"PRN":138,"el":48,"az":161,"ss":28,"used":false},{"PRN":19,"el":36,"az":273,"ss":27,"used":true},{"PRN":6,"el":28,"az":224,"ss":28,"used":true},{"PRN":3,"el":27,"az":237,"ss":24,"used":true},{"PRN":18,"el":25,"az":76,"ss":34,"used":true},{"PRN":31,"el":19,"az":169,"ss":25,"used":true},{"PRN":21,"el":16,"az":136,"ss":28,"used":true},{"PRN":9,"el":11,"az":39,"ss":33,"used":true}]} $GPRMC,145254.000,A,3401.9765,N,11744.8274,W,0.01,119.27,030610,,,D*76 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:52:54.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.533,"track":119.2700,"speed":0.005,"climb":0.000,"eps":6.57} $GPGGA,145255.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*56 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,39,22,54,050,34,24,53,134,40,51,48,161,28*7A $GPGSV,3,2,11,19,36,273,28,06,28,224,27,03,27,237,26,18,25,076,34*78 $GPGSV,3,3,11,31,19,169,26,21,16,136,28,09,11,039,32*41 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.31,"tdop":1.17,"hdop":0.87,"gdop":2.26,"pdop":1.58,"satellites":[{"PRN":14,"el":86,"az":335,"ss":39,"used":true},{"PRN":22,"el":54,"az":50,"ss":34,"used":true},{"PRN":24,"el":53,"az":134,"ss":40,"used":true},{"PRN":138,"el":48,"az":161,"ss":28,"used":false},{"PRN":19,"el":36,"az":273,"ss":28,"used":true},{"PRN":6,"el":28,"az":224,"ss":27,"used":true},{"PRN":3,"el":27,"az":237,"ss":26,"used":true},{"PRN":18,"el":25,"az":76,"ss":34,"used":true},{"PRN":31,"el":19,"az":169,"ss":26,"used":true},{"PRN":21,"el":16,"az":136,"ss":28,"used":true},{"PRN":9,"el":11,"az":39,"ss":32,"used":true}]} $GPRMC,145255.000,A,3401.9765,N,11744.8274,W,0.01,119.27,030610,,,D*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:52:55.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.533,"track":119.2700,"speed":0.005,"climb":0.000,"eps":6.57} $GPGGA,145256.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*55 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,39,22,54,050,33,24,53,134,41,51,48,161,*76 $GPGSV,3,2,11,19,36,273,29,06,28,224,27,03,27,237,27,18,25,076,33*7F $GPGSV,3,3,11,31,19,169,27,21,16,136,28,09,11,039,32*40 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.31,"tdop":1.17,"hdop":0.87,"gdop":2.26,"pdop":1.58,"satellites":[{"PRN":14,"el":86,"az":335,"ss":39,"used":true},{"PRN":22,"el":54,"az":50,"ss":33,"used":true},{"PRN":24,"el":53,"az":134,"ss":41,"used":true},{"PRN":138,"el":48,"az":161,"ss":0,"used":false},{"PRN":19,"el":36,"az":273,"ss":29,"used":true},{"PRN":6,"el":28,"az":224,"ss":27,"used":true},{"PRN":3,"el":27,"az":237,"ss":27,"used":true},{"PRN":18,"el":25,"az":76,"ss":33,"used":true},{"PRN":31,"el":19,"az":169,"ss":27,"used":true},{"PRN":21,"el":16,"az":136,"ss":28,"used":true},{"PRN":9,"el":11,"az":39,"ss":32,"used":true}]} $GPRMC,145256.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:52:56.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.533,"track":119.2700,"speed":0.000,"climb":0.000,"eps":6.57} $GPGGA,145257.000,3401.9765,N,11744.8274,W,2,10,0.87,234.8,M,-33.2,M,0000,0000*54 $GPGSA,A,3,14,09,22,18,19,24,06,21,03,31,,,1.58,0.87,1.31*0D $GPGSV,3,1,11,14,86,335,31,22,54,050,33,24,53,134,26,51,48,161,27*7A $GPGSV,3,2,11,19,36,273,29,06,28,224,28,03,27,237,26,18,25,076,19*79 $GPGSV,3,3,11,31,19,169,29,21,16,136,29,09,11,039,30*4D {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.31,"tdop":1.17,"hdop":0.87,"gdop":2.26,"pdop":1.58,"satellites":[{"PRN":14,"el":86,"az":335,"ss":31,"used":true},{"PRN":22,"el":54,"az":50,"ss":33,"used":true},{"PRN":24,"el":53,"az":134,"ss":26,"used":true},{"PRN":138,"el":48,"az":161,"ss":27,"used":false},{"PRN":19,"el":36,"az":273,"ss":29,"used":true},{"PRN":6,"el":28,"az":224,"ss":28,"used":true},{"PRN":3,"el":27,"az":237,"ss":26,"used":true},{"PRN":18,"el":25,"az":76,"ss":19,"used":true},{"PRN":31,"el":19,"az":169,"ss":29,"used":true},{"PRN":21,"el":16,"az":136,"ss":29,"used":true},{"PRN":9,"el":11,"az":39,"ss":30,"used":true}]} $GPRMC,145257.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:52:57.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.533,"track":119.2700,"speed":0.000,"climb":0.000,"eps":6.57} $GPGGA,145258.000,3401.9765,N,11744.8274,W,2,9,0.91,234.8,M,-33.2,M,0000,0000*64 $GPGSA,A,3,14,09,22,19,24,06,21,03,31,,,,1.60,0.91,1.32*0B $GPGSV,3,1,11,14,86,335,24,22,54,050,33,24,53,134,35,51,48,161,39*73 $GPGSV,3,2,11,19,36,273,30,06,28,224,28,03,27,237,25,18,25,076,19*72 $GPGSV,3,3,11,31,19,169,28,21,16,136,37,09,11,039,29*4B {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.32,"tdop":1.17,"hdop":0.91,"gdop":2.26,"pdop":1.60,"satellites":[{"PRN":14,"el":86,"az":335,"ss":24,"used":true},{"PRN":22,"el":54,"az":50,"ss":33,"used":true},{"PRN":24,"el":53,"az":134,"ss":35,"used":true},{"PRN":138,"el":48,"az":161,"ss":39,"used":false},{"PRN":19,"el":36,"az":273,"ss":30,"used":true},{"PRN":6,"el":28,"az":224,"ss":28,"used":true},{"PRN":3,"el":27,"az":237,"ss":25,"used":true},{"PRN":18,"el":25,"az":76,"ss":19,"used":false},{"PRN":31,"el":19,"az":169,"ss":28,"used":true},{"PRN":21,"el":16,"az":136,"ss":37,"used":true},{"PRN":9,"el":11,"az":39,"ss":29,"used":true}]} $GPRMC,145258.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*7B {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:52:58.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.533,"track":119.2700,"speed":0.000,"climb":0.000,"eps":6.57} $GPGGA,145259.000,3401.9765,N,11744.8274,W,2,9,0.93,234.8,M,-33.2,M,0000,0000*67 $GPGSA,A,3,14,09,22,18,19,24,06,21,31,,,,1.63,0.93,1.34*06 $GPGSV,3,1,11,14,86,335,24,22,54,050,25,24,53,134,36,51,48,161,34*7A $GPGSV,3,2,11,19,36,273,30,06,28,224,27,03,27,237,16,18,25,076,21*76 $GPGSV,3,3,11,31,19,169,29,21,16,136,37,09,11,039,30*42 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.34,"tdop":1.17,"hdop":0.93,"gdop":2.26,"pdop":1.63,"satellites":[{"PRN":14,"el":86,"az":335,"ss":24,"used":true},{"PRN":22,"el":54,"az":50,"ss":25,"used":true},{"PRN":24,"el":53,"az":134,"ss":36,"used":true},{"PRN":138,"el":48,"az":161,"ss":34,"used":false},{"PRN":19,"el":36,"az":273,"ss":30,"used":true},{"PRN":6,"el":28,"az":224,"ss":27,"used":true},{"PRN":3,"el":27,"az":237,"ss":16,"used":false},{"PRN":18,"el":25,"az":76,"ss":21,"used":true},{"PRN":31,"el":19,"az":169,"ss":29,"used":true},{"PRN":21,"el":16,"az":136,"ss":37,"used":true},{"PRN":9,"el":11,"az":39,"ss":30,"used":true}]} $GPRMC,145259.000,A,3401.9765,N,11744.8274,W,0.01,119.27,030610,,,D*7B {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:52:59.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.590,"track":119.2700,"speed":0.005,"climb":0.000,"eps":6.57} $GPGGA,145300.000,3401.9765,N,11744.8274,W,2,9,0.88,234.8,M,-33.2,M,0000,0000*60 $GPGSA,A,3,09,22,18,19,24,06,21,03,31,,,,1.87,0.88,1.65*04 $GPGSV,3,1,11,14,86,335,17,22,54,050,27,24,53,134,37,51,48,161,38*75 $GPGSV,3,2,11,19,36,273,29,06,28,224,17,03,27,237,17,18,25,076,29*74 $GPGSV,3,3,11,31,19,169,28,21,16,136,27,09,11,039,29*4A {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.65,"tdop":1.17,"hdop":0.88,"gdop":2.26,"pdop":1.87,"satellites":[{"PRN":14,"el":86,"az":335,"ss":17,"used":false},{"PRN":22,"el":54,"az":50,"ss":27,"used":true},{"PRN":24,"el":53,"az":134,"ss":37,"used":true},{"PRN":138,"el":48,"az":161,"ss":38,"used":false},{"PRN":19,"el":36,"az":273,"ss":29,"used":true},{"PRN":6,"el":28,"az":224,"ss":17,"used":true},{"PRN":3,"el":27,"az":237,"ss":17,"used":true},{"PRN":18,"el":25,"az":76,"ss":29,"used":true},{"PRN":31,"el":19,"az":169,"ss":28,"used":true},{"PRN":21,"el":16,"az":136,"ss":27,"used":true},{"PRN":9,"el":11,"az":39,"ss":29,"used":true}]} $GPRMC,145300.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:53:00.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.705,"track":119.2700,"speed":0.000,"climb":0.000,"eps":6.57} $GPGGA,145301.000,3401.9765,N,11744.8274,W,2,9,0.87,234.8,M,-33.2,M,0000,0000*6E $GPGSA,A,3,09,22,18,19,24,06,21,03,31,,,,1.87,0.87,1.65*0B $GPGSV,3,1,11,14,86,335,17,22,54,050,29,24,53,134,37,51,48,161,38*7B $GPGSV,3,2,11,19,36,273,27,06,28,224,17,03,27,237,18,18,25,076,28*74 $GPGSV,3,3,11,31,19,169,27,21,16,136,26,09,11,039,29*44 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.65,"tdop":1.17,"hdop":0.87,"gdop":2.26,"pdop":1.87,"satellites":[{"PRN":14,"el":86,"az":335,"ss":17,"used":false},{"PRN":22,"el":54,"az":50,"ss":29,"used":true},{"PRN":24,"el":53,"az":134,"ss":37,"used":true},{"PRN":138,"el":48,"az":161,"ss":38,"used":false},{"PRN":19,"el":36,"az":273,"ss":27,"used":true},{"PRN":6,"el":28,"az":224,"ss":17,"used":true},{"PRN":3,"el":27,"az":237,"ss":18,"used":true},{"PRN":18,"el":25,"az":76,"ss":28,"used":true},{"PRN":31,"el":19,"az":169,"ss":27,"used":true},{"PRN":21,"el":16,"az":136,"ss":26,"used":true},{"PRN":9,"el":11,"az":39,"ss":29,"used":true}]} $GPRMC,145301.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*76 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:53:01.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.800,"epx":2.117,"epy":3.287,"epv":9.487,"track":119.2700,"speed":0.000,"climb":0.000,"eps":6.57} $GPGGA,145302.000,3401.9765,N,11744.8274,W,2,9,0.91,234.8,M,-33.2,M,0000,0000*6A $GPGSA,A,3,14,09,22,18,19,24,21,03,31,,,,1.61,0.91,1.32*05 $GPGSV,3,1,11,14,86,335,17,22,54,050,30,24,53,134,37,51,48,161,37*7C $GPGSV,3,2,11,19,36,273,26,06,28,224,,03,27,237,18,18,25,076,28*73 $GPGSV,3,3,11,31,19,169,27,21,16,136,25,09,11,039,29*47 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.32,"tdop":1.17,"hdop":0.91,"gdop":2.26,"pdop":1.61,"satellites":[{"PRN":14,"el":86,"az":335,"ss":17,"used":true},{"PRN":22,"el":54,"az":50,"ss":30,"used":true},{"PRN":24,"el":53,"az":134,"ss":37,"used":true},{"PRN":138,"el":48,"az":161,"ss":37,"used":false},{"PRN":19,"el":36,"az":273,"ss":26,"used":true},{"PRN":6,"el":28,"az":224,"ss":0,"used":false},{"PRN":3,"el":27,"az":237,"ss":18,"used":true},{"PRN":18,"el":25,"az":76,"ss":28,"used":true},{"PRN":31,"el":19,"az":169,"ss":27,"used":true},{"PRN":21,"el":16,"az":136,"ss":25,"used":true},{"PRN":9,"el":11,"az":39,"ss":29,"used":true}]} $GPRMC,145302.000,A,3401.9765,N,11744.8274,W,0.01,119.27,030610,,,D*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:53:02.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.800,"epx":2.117,"epy":3.287,"epv":9.487,"track":119.2700,"speed":0.005,"climb":0.000,"eps":6.57} $GPGGA,145303.000,3401.9765,N,11744.8274,W,2,9,0.91,234.8,M,-33.2,M,0000,0000*6B $GPGSA,A,3,14,09,22,18,19,24,21,03,31,,,,1.61,0.91,1.32*05 $GPGSV,3,1,11,14,86,335,16,22,54,050,31,24,53,134,37,51,48,161,37*7C $GPGSV,3,2,11,19,36,273,26,06,28,224,,03,27,237,18,18,25,076,28*73 $GPGSV,3,3,11,31,19,169,27,21,16,136,25,09,10,039,29*46 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.32,"tdop":1.17,"hdop":0.91,"gdop":2.26,"pdop":1.61,"satellites":[{"PRN":14,"el":86,"az":335,"ss":16,"used":true},{"PRN":22,"el":54,"az":50,"ss":31,"used":true},{"PRN":24,"el":53,"az":134,"ss":37,"used":true},{"PRN":138,"el":48,"az":161,"ss":37,"used":false},{"PRN":19,"el":36,"az":273,"ss":26,"used":true},{"PRN":6,"el":28,"az":224,"ss":0,"used":false},{"PRN":3,"el":27,"az":237,"ss":18,"used":true},{"PRN":18,"el":25,"az":76,"ss":28,"used":true},{"PRN":31,"el":19,"az":169,"ss":27,"used":true},{"PRN":21,"el":16,"az":136,"ss":25,"used":true},{"PRN":9,"el":10,"az":39,"ss":29,"used":true}]} $GPRMC,145303.000,A,3401.9765,N,11744.8274,W,0.01,119.27,030610,,,D*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:53:03.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.590,"track":119.2700,"speed":0.005,"climb":0.000,"eps":6.57} $GPGGA,145304.000,3401.9765,N,11744.8274,W,2,9,0.91,234.8,M,-33.2,M,0000,0000*6C $GPGSA,A,3,14,09,22,18,19,24,21,03,31,,,,1.61,0.91,1.32*05 $GPGSV,3,1,11,14,86,335,16,22,54,050,32,24,53,134,37,51,48,161,37*7F $GPGSV,3,2,11,19,36,273,26,06,28,224,,03,27,237,18,18,25,076,28*73 $GPGSV,3,3,11,31,19,169,27,21,16,136,26,09,10,039,28*44 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.32,"tdop":1.17,"hdop":0.91,"gdop":2.26,"pdop":1.61,"satellites":[{"PRN":14,"el":86,"az":335,"ss":16,"used":true},{"PRN":22,"el":54,"az":50,"ss":32,"used":true},{"PRN":24,"el":53,"az":134,"ss":37,"used":true},{"PRN":138,"el":48,"az":161,"ss":37,"used":false},{"PRN":19,"el":36,"az":273,"ss":26,"used":true},{"PRN":6,"el":28,"az":224,"ss":0,"used":false},{"PRN":3,"el":27,"az":237,"ss":18,"used":true},{"PRN":18,"el":25,"az":76,"ss":28,"used":true},{"PRN":31,"el":19,"az":169,"ss":27,"used":true},{"PRN":21,"el":16,"az":136,"ss":26,"used":true},{"PRN":9,"el":10,"az":39,"ss":28,"used":true}]} $GPRMC,145304.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:53:04.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.590,"track":119.2700,"speed":0.000,"climb":0.000,"eps":6.57} $GPGGA,145305.000,3401.9765,N,11744.8274,W,2,9,0.91,234.8,M,-33.2,M,0000,0000*6D $GPGSA,A,3,14,09,22,18,19,24,21,03,31,,,,1.61,0.91,1.32*05 $GPGSV,3,1,11,14,86,335,16,22,54,050,32,24,53,134,37,51,48,161,37*7F $GPGSV,3,2,11,19,36,273,26,06,28,224,,03,27,237,18,18,25,076,28*73 $GPGSV,3,3,11,31,19,169,27,21,16,136,27,09,10,039,28*45 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.32,"tdop":1.17,"hdop":0.91,"gdop":2.26,"pdop":1.61,"satellites":[{"PRN":14,"el":86,"az":335,"ss":16,"used":true},{"PRN":22,"el":54,"az":50,"ss":32,"used":true},{"PRN":24,"el":53,"az":134,"ss":37,"used":true},{"PRN":138,"el":48,"az":161,"ss":37,"used":false},{"PRN":19,"el":36,"az":273,"ss":26,"used":true},{"PRN":6,"el":28,"az":224,"ss":0,"used":false},{"PRN":3,"el":27,"az":237,"ss":18,"used":true},{"PRN":18,"el":25,"az":76,"ss":28,"used":true},{"PRN":31,"el":19,"az":169,"ss":27,"used":true},{"PRN":21,"el":16,"az":136,"ss":27,"used":true},{"PRN":9,"el":10,"az":39,"ss":28,"used":true}]} $GPRMC,145305.000,A,3401.9765,N,11744.8274,W,0.00,119.27,030610,,,D*72 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:53:05.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.590,"track":119.2700,"speed":0.000,"climb":0.000,"eps":6.57} $GPGGA,145306.000,3401.9765,N,11744.8274,W,2,9,0.91,234.8,M,-33.2,M,0000,0000*6E $GPGSA,A,3,14,09,22,18,19,24,21,03,31,,,,1.61,0.91,1.32*05 $GPGSV,3,1,11,14,86,335,16,22,54,050,32,24,53,134,37,51,48,161,38*70 $GPGSV,3,2,11,19,36,273,26,06,28,224,,03,27,237,18,18,25,076,28*73 $GPGSV,3,3,11,31,19,169,27,21,16,136,27,09,10,039,28*45 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.32,"tdop":1.17,"hdop":0.91,"gdop":2.26,"pdop":1.61,"satellites":[{"PRN":14,"el":86,"az":335,"ss":16,"used":true},{"PRN":22,"el":54,"az":50,"ss":32,"used":true},{"PRN":24,"el":53,"az":134,"ss":37,"used":true},{"PRN":138,"el":48,"az":161,"ss":38,"used":false},{"PRN":19,"el":36,"az":273,"ss":26,"used":true},{"PRN":6,"el":28,"az":224,"ss":0,"used":false},{"PRN":3,"el":27,"az":237,"ss":18,"used":true},{"PRN":18,"el":25,"az":76,"ss":28,"used":true},{"PRN":31,"el":19,"az":169,"ss":27,"used":true},{"PRN":21,"el":16,"az":136,"ss":27,"used":true},{"PRN":9,"el":10,"az":39,"ss":28,"used":true}]} $GPRMC,145306.000,A,3401.9765,N,11744.8274,W,0.01,119.27,030610,,,D*70 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:53:06.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.590,"track":119.2700,"speed":0.005,"climb":0.000,"eps":6.57} $GPGGA,145307.000,3401.9765,N,11744.8274,W,2,9,0.91,234.8,M,-33.2,M,0000,0000*6F $GPGSA,A,3,14,09,22,18,19,24,21,03,31,,,,1.60,0.91,1.32*04 $GPGSV,3,1,11,14,86,335,16,22,54,050,32,24,53,134,37,51,48,161,38*70 $GPGSV,3,2,11,19,36,273,26,06,28,224,,03,27,237,18,18,25,076,28*73 $GPGSV,3,3,11,31,19,169,27,21,16,136,27,09,10,039,28*45 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.32,"tdop":1.17,"hdop":0.91,"gdop":2.26,"pdop":1.60,"satellites":[{"PRN":14,"el":86,"az":335,"ss":16,"used":true},{"PRN":22,"el":54,"az":50,"ss":32,"used":true},{"PRN":24,"el":53,"az":134,"ss":37,"used":true},{"PRN":138,"el":48,"az":161,"ss":38,"used":false},{"PRN":19,"el":36,"az":273,"ss":26,"used":true},{"PRN":6,"el":28,"az":224,"ss":0,"used":false},{"PRN":3,"el":27,"az":237,"ss":18,"used":true},{"PRN":18,"el":25,"az":76,"ss":28,"used":true},{"PRN":31,"el":19,"az":169,"ss":27,"used":true},{"PRN":21,"el":16,"az":136,"ss":27,"used":true},{"PRN":9,"el":10,"az":39,"ss":28,"used":true}]} $GPRMC,145307.000,A,3401.9765,N,11744.8274,W,0.01,119.27,030610,,,D*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:53:07.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747123333,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.590,"track":119.2700,"speed":0.005,"climb":0.000,"eps":6.57} $GPGGA,145308.000,3401.9765,N,11744.8275,W,2,9,0.91,234.8,M,-33.2,M,0000,0000*61 $GPGSA,A,3,14,09,22,18,19,24,21,03,31,,,,1.61,0.91,1.32*05 $GPGSV,3,1,11,14,86,338,16,22,54,050,32,24,53,134,37,51,48,161,38*7D $GPGSV,3,2,11,19,36,273,26,06,28,224,,03,27,237,18,18,25,076,28*73 $GPGSV,3,3,11,31,19,169,26,21,16,136,28,09,10,039,27*44 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.32,"tdop":1.17,"hdop":0.91,"gdop":2.26,"pdop":1.61,"satellites":[{"PRN":14,"el":86,"az":338,"ss":16,"used":true},{"PRN":22,"el":54,"az":50,"ss":32,"used":true},{"PRN":24,"el":53,"az":134,"ss":37,"used":true},{"PRN":138,"el":48,"az":161,"ss":38,"used":false},{"PRN":19,"el":36,"az":273,"ss":26,"used":true},{"PRN":6,"el":28,"az":224,"ss":0,"used":false},{"PRN":3,"el":27,"az":237,"ss":18,"used":true},{"PRN":18,"el":25,"az":76,"ss":28,"used":true},{"PRN":31,"el":19,"az":169,"ss":26,"used":true},{"PRN":21,"el":16,"az":136,"ss":28,"used":true},{"PRN":9,"el":10,"az":39,"ss":27,"used":true}]} $GPRMC,145308.000,A,3401.9765,N,11744.8275,W,0.00,119.27,030610,,,D*7E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:53:08.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747125000,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.590,"track":119.2700,"speed":0.000,"climb":0.000,"eps":6.57} $GPGGA,145309.000,3401.9765,N,11744.8275,W,2,9,0.91,234.8,M,-33.2,M,0000,0000*60 $GPGSA,A,3,14,09,22,18,19,24,21,03,31,,,,1.61,0.91,1.32*05 $GPGSV,3,1,11,14,86,338,17,22,54,050,32,24,53,134,37,51,48,161,38*7C $GPGSV,3,2,11,19,36,273,26,06,28,224,,03,27,237,18,18,25,076,28*73 $GPGSV,3,3,11,31,19,169,26,21,16,136,28,09,10,039,27*44 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.32,"tdop":1.17,"hdop":0.91,"gdop":2.26,"pdop":1.61,"satellites":[{"PRN":14,"el":86,"az":338,"ss":17,"used":true},{"PRN":22,"el":54,"az":50,"ss":32,"used":true},{"PRN":24,"el":53,"az":134,"ss":37,"used":true},{"PRN":138,"el":48,"az":161,"ss":38,"used":false},{"PRN":19,"el":36,"az":273,"ss":26,"used":true},{"PRN":6,"el":28,"az":224,"ss":0,"used":false},{"PRN":3,"el":27,"az":237,"ss":18,"used":true},{"PRN":18,"el":25,"az":76,"ss":28,"used":true},{"PRN":31,"el":19,"az":169,"ss":26,"used":true},{"PRN":21,"el":16,"az":136,"ss":28,"used":true},{"PRN":9,"el":10,"az":39,"ss":27,"used":true}]} $GPRMC,145309.000,A,3401.9765,N,11744.8275,W,0.01,119.27,030610,,,D*7E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:53:09.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747125000,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.590,"track":119.2700,"speed":0.005,"climb":0.000,"eps":6.57} $GPGGA,145310.000,3401.9765,N,11744.8275,W,2,9,0.91,234.8,M,-33.2,M,0000,0000*68 $GPGSA,A,3,14,09,22,18,19,24,21,03,31,,,,1.61,0.91,1.32*05 $GPGSV,3,1,11,14,86,338,17,22,54,050,32,24,53,134,37,51,48,161,38*7C $GPGSV,3,2,11,19,36,273,26,06,28,224,,03,27,237,18,18,25,076,28*73 $GPGSV,3,3,11,31,19,169,26,21,16,136,28,09,10,039,27*44 {"class":"SKY","tag":"GSV","xdop":0.56,"ydop":0.88,"vdop":1.32,"tdop":1.17,"hdop":0.91,"gdop":2.26,"pdop":1.61,"satellites":[{"PRN":14,"el":86,"az":338,"ss":17,"used":true},{"PRN":22,"el":54,"az":50,"ss":32,"used":true},{"PRN":24,"el":53,"az":134,"ss":37,"used":true},{"PRN":138,"el":48,"az":161,"ss":38,"used":false},{"PRN":19,"el":36,"az":273,"ss":26,"used":true},{"PRN":6,"el":28,"az":224,"ss":0,"used":false},{"PRN":3,"el":27,"az":237,"ss":18,"used":true},{"PRN":18,"el":25,"az":76,"ss":28,"used":true},{"PRN":31,"el":19,"az":169,"ss":26,"used":true},{"PRN":21,"el":16,"az":136,"ss":28,"used":true},{"PRN":9,"el":10,"az":39,"ss":27,"used":true}]} $GPRMC,145310.000,A,3401.9765,N,11744.8275,W,0.01,119.27,030610,,,D*76 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-03T14:53:10.000Z","ept":0.005,"lat":34.032941667,"lon":-117.747125000,"alt":234.800,"epx":2.117,"epy":3.287,"epv":7.590,"track":119.2700,"speed":0.005,"climb":0.000,"eps":6.57} gpsd-3.9/test/daemon/bt451.log0000664000175000017500000016060311762140436014266 0ustar esresr# Name: BT-451 # Chipset: ANTARIS ATR062x # Submitter: Mindaugas # Date: 2009-12-09 # Location: Lithuania, 55.8N 23.6E # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # # No fix, indoors $GPTXT,01,01,02,u-blox ag - www.u-blox.com*50 $GPTXT,01,01,02,ANTARIS ATR062x HW 80040001*26 $GPTXT,01,01,02,ROM CORE 5.00 Jan 09 2006 12:00:00*76 $GPTXT,01,01,02,LIC 1EBF-BD07-E83D-6BE1-0F7A*50 $GPTXT,01,01,02,ANTSUPERV=AC SD OD PDoS *0A $GPTXT,01,01,02,ANTSTATUS=OK*3B $GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPZDA,,,,,00,00*48 $GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPZDA,,,,,00,00*48 $GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPZDA,,,,,00,00*48 $GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPZDA,,,,,00,00*48 $GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPZDA,,,,,00,00*48 $GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPZDA,,,,,00,00*48 $GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPZDA,,,,,00,00*48 $GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPZDA,,,,,00,00*48 $GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPZDA,,,,,00,00*48 $GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPZDA,,,,,00,00*48 # Stationary $GPGLL,5547.82107,N,02334.14132,E,152504.50,A,A*67 $GPZDA,152504.50,09,12,2009,00,00*65 $GPRMC,152505.00,A,5547.82113,N,02334.14130,E,0.253,,091209,,,A*7A $GPVTG,,T,,M,0.253,N,0.469,K,A*2C $GPGGA,152505.00,5547.82113,N,02334.14130,E,1,04,2.72,37.0,M,26.9,M,,*6B $GPGSA,A,3,26,32,11,14,,,,,,,,,6.25,2.72,5.62*05 $GPGSV,2,1,07,26,34,052,33,19,,,36,32,45,237,42,06,,,34*75 $GPGSV,2,2,07,22,,,40,11,57,277,40,14,51,083,38*7F $GPGLL,5547.82113,N,02334.14130,E,152505.00,A,A*64 $GPZDA,152505.00,09,12,2009,00,00*61 $GPRMC,152505.50,A,5547.82119,N,02334.14124,E,0.265,,091209,,,A*75 $GPVTG,,T,,M,0.265,N,0.491,K,A*2E $GPGGA,152505.50,5547.82119,N,02334.14124,E,1,04,2.72,36.7,M,26.9,M,,*67 $GPGSA,A,3,26,32,11,14,,,,,,,,,6.24,2.72,5.62*04 $GPGSV,2,1,07,26,34,052,34,19,,,36,32,45,237,42,06,,,34*72 $GPGSV,2,2,07,22,,,40,11,57,277,41,14,51,083,38*7E $GPGLL,5547.82119,N,02334.14124,E,152505.50,A,A*6E $GPZDA,152505.50,09,12,2009,00,00*64 $GPRMC,152506.00,A,5547.82126,N,02334.14117,E,0.340,,091209,,,A*79 $GPVTG,,T,,M,0.340,N,0.631,K,A*20 $GPGGA,152506.00,5547.82126,N,02334.14117,E,1,04,2.72,36.5,M,26.9,M,,*6F $GPGSA,A,3,26,32,11,14,,,,,,,,,6.25,2.72,5.62*05 $GPGSV,2,1,07,26,34,052,34,19,,,37,32,45,237,42,06,,,34*73 $GPGSV,2,2,07,22,,,40,11,57,277,41,14,51,083,39*7F $GPGLL,5547.82126,N,02334.14117,E,152506.00,A,A*64 $GPZDA,152506.00,09,12,2009,00,00*62 $GPRMC,152506.50,A,5547.82132,N,02334.14113,E,0.336,,091209,,,A*7C $GPVTG,,T,,M,0.336,N,0.623,K,A*22 $GPGGA,152506.50,5547.82132,N,02334.14113,E,1,04,2.72,36.2,M,26.9,M,,*6C $GPGSA,A,3,26,32,11,14,,,,,,,,,6.24,2.72,5.62*04 $GPGSV,2,1,07,26,34,052,35,19,,,37,32,45,237,43,06,,,35*72 $GPGSV,2,2,07,22,,,41,11,57,277,41,14,51,083,39*7E $GPGLL,5547.82132,N,02334.14113,E,152506.50,A,A*60 $GPZDA,152506.50,09,12,2009,00,00*67 $GPRMC,152507.00,A,5547.82139,N,02334.14105,E,0.371,16.99,091209,,,A*5E $GPVTG,16.99,T,,M,0.371,N,0.687,K,A*06 $GPGGA,152507.00,5547.82139,N,02334.14105,E,1,04,2.72,36.0,M,26.9,M,,*66 $GPGSA,A,3,26,32,11,14,,,,,,,,,6.24,2.72,5.62*04 $GPGSV,2,1,07,26,34,052,35,19,,,37,32,45,237,42,06,,,35*73 $GPGSV,2,2,07,22,,,40,11,57,277,41,14,51,083,39*7F $GPGLL,5547.82139,N,02334.14105,E,152507.00,A,A*68 $GPZDA,152507.00,09,12,2009,00,00*63 $GPRMC,152507.50,A,5547.82145,N,02334.14098,E,0.309,,091209,,,A*73 $GPVTG,,T,,M,0.309,N,0.572,K,A*29 $GPGGA,152507.50,5547.82145,N,02334.14098,E,1,04,2.72,35.7,M,26.9,M,,*69 $GPGSA,A,3,26,32,11,14,,,,,,,,,6.24,2.72,5.62*04 $GPGSV,2,1,07,26,34,052,35,19,,,37,32,45,237,42,06,,,34*72 $GPGSV,2,2,07,22,,,40,11,57,277,41,14,51,083,39*7F $GPGLL,5547.82145,N,02334.14098,E,152507.50,A,A*63 $GPZDA,152507.50,09,12,2009,00,00*66 $GPRMC,152508.00,A,5547.82150,N,02334.14092,E,0.309,,091209,,,A*77 $GPVTG,,T,,M,0.309,N,0.573,K,A*28 $GPGGA,152508.00,5547.82150,N,02334.14092,E,1,04,2.72,35.5,M,26.9,M,,*6F $GPGSA,A,3,26,32,11,14,,,,,,,,,6.24,2.72,5.62*04 $GPGSV,2,1,07,26,34,052,33,19,,,36,32,45,237,41,06,,,33*71 $GPGSV,2,2,07,22,,,39,11,57,277,40,14,51,083,38*71 $GPGLL,5547.82150,N,02334.14092,E,152508.00,A,A*67 $GPZDA,152508.00,09,12,2009,00,00*6C $GPRMC,152508.50,A,5547.82156,N,02334.14086,E,0.296,,091209,,,A*76 $GPVTG,,T,,M,0.296,N,0.549,K,A*26 $GPGGA,152508.50,5547.82156,N,02334.14086,E,1,04,2.73,35.3,M,26.9,M,,*6E $GPGSA,A,3,26,32,11,14,,,,,,,,,6.24,2.73,5.62*05 $GPGSV,3,1,11,26,34,052,32,19,,,34,20,,,29,32,45,237,39*74 $GPGSV,3,2,11,02,,,26,06,,,31,18,,,30,24,,,27*73 $GPGSV,3,3,11,22,,,37,11,57,277,38,14,51,083,36*79 # Moving in car $GPGGA,143306.00,5546.83315,N,02334.72613,E,1,08,1.28,129.9,M,26.9,M,,*5B $GPGSA,A,3,09,19,11,14,03,22,06,26,,,,,3.65,1.28,3.41*0A $GPGSV,3,1,10,32,22,227,34,09,12,038,29,19,58,204,39,11,36,285,35*74 $GPGSV,3,2,10,14,45,118,34,03,31,183,30,28,,,32,22,47,070,42*43 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E $GPGLL,5546.83315,N,02334.72613,E,143306.00,A,A*63 $GPZDA,143306.00,09,12,2009,00,00*64 $GPRMC,143306.50,A,5546.82983,N,02334.72123,E,30.324,221.16,091209,,,A*52 $GPVTG,221.16,T,,M,30.324,N,56.191,K,A*37 $GPGGA,143306.50,5546.82983,N,02334.72123,E,1,09,1.26,128.9,M,26.9,M,,*50 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,2.99*05 $GPGSV,3,1,10,32,22,227,35,09,12,038,29,19,58,204,39,11,36,285,36*76 $GPGSV,3,2,10,14,45,118,34,03,31,183,30,28,,,34,22,47,070,42*45 $GPGSV,3,3,10,06,26,174,33,26,44,080,38*7F $GPGLL,5546.82983,N,02334.72123,E,143306.50,A,A*66 $GPZDA,143306.50,09,12,2009,00,00*61 $GPRMC,143307.00,A,5546.82649,N,02334.71625,E,30.860,221.48,091209,,,A*5D $GPVTG,221.48,T,,M,30.860,N,57.183,K,A*35 $GPGGA,143307.00,5546.82649,N,02334.71625,E,1,09,1.26,128.1,M,26.9,M,,*57 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,227,35,09,12,038,29,19,58,204,40,11,36,285,36*78 $GPGSV,3,2,10,14,45,118,34,03,31,183,30,28,,,35,22,47,070,43*45 $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E $GPGLL,5546.82649,N,02334.71625,E,143307.00,A,A*69 $GPZDA,143307.00,09,12,2009,00,00*65 $GPRMC,143307.50,A,5546.82314,N,02334.71118,E,31.351,221.51,091209,,,A*5C $GPVTG,221.51,T,,M,31.351,N,58.092,K,A*3B $GPGGA,143307.50,5546.82314,N,02334.71118,E,1,09,1.26,127.5,M,26.9,M,,*5D $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,227,35,09,12,038,29,19,58,204,40,11,36,285,36*78 $GPGSV,3,2,10,14,45,118,34,03,31,183,30,28,,,33,22,47,070,43*43 $GPGSV,3,3,10,06,26,174,34,26,44,080,38*78 $GPGLL,5546.82314,N,02334.71118,E,143307.50,A,A*68 $GPZDA,143307.50,09,12,2009,00,00*60 $GPRMC,143308.00,A,5546.81975,N,02334.70604,E,32.000,221.54,091209,,,A*52 $GPVTG,221.54,T,,M,32.000,N,59.295,K,A*3E $GPGGA,143308.00,5546.81975,N,02334.70604,E,1,09,1.26,127.1,M,26.9,M,,*56 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,227,36,09,12,038,29,19,58,204,41,11,36,285,37*7B $GPGSV,3,2,10,14,45,118,35,03,31,183,29,28,,,33,22,47,070,43*4A $GPGSV,3,3,10,06,26,174,35,26,44,080,38*79 $GPGLL,5546.81975,N,02334.70604,E,143308.00,A,A*67 $GPZDA,143308.00,09,12,2009,00,00*6A $GPRMC,143308.50,A,5546.81633,N,02334.70079,E,32.273,221.54,091209,,,A*50 $GPVTG,221.54,T,,M,32.273,N,59.802,K,A*3C $GPGGA,143308.50,5546.81633,N,02334.70079,E,1,09,1.26,126.8,M,26.9,M,,*5A $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,227,34,09,12,038,29,19,58,204,40,11,36,285,35*7A $GPGSV,3,2,10,14,45,118,35,03,31,183,27,28,,,32,22,47,070,42*44 $GPGSV,3,3,10,06,26,174,34,26,44,080,37*77 $GPGLL,5546.81633,N,02334.70079,E,143308.50,A,A*63 $GPZDA,143308.50,09,12,2009,00,00*6F $GPRMC,143309.00,A,5546.81291,N,02334.69552,E,32.094,221.48,091209,,,A*5A $GPVTG,221.48,T,,M,32.094,N,59.470,K,A*33 $GPGGA,143309.00,5546.81291,N,02334.69552,E,1,09,1.26,126.4,M,26.9,M,,*5A $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,2.99*05 $GPGSV,3,1,10,32,22,227,34,09,12,038,29,19,58,204,39,11,36,285,35*74 $GPGSV,3,2,10,14,45,118,34,03,31,183,27,28,,,32,22,47,070,42*45 $GPGSV,3,3,10,06,26,174,34,26,44,080,38*78 $GPGLL,5546.81291,N,02334.69552,E,143309.00,A,A*6F $GPZDA,143309.00,09,12,2009,00,00*6B $GPRMC,143309.50,A,5546.80952,N,02334.69029,E,32.096,221.46,091209,,,A*5F $GPVTG,221.46,T,,M,32.096,N,59.474,K,A*3B $GPGGA,143309.50,5546.80952,N,02334.69029,E,1,09,1.26,126.2,M,26.9,M,,*55 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,227,34,09,12,038,28,19,58,204,40,11,36,285,35*7B $GPGSV,3,2,10,14,45,118,33,03,31,183,29,28,,,32,22,47,070,42*4C $GPGSV,3,3,10,06,26,174,33,26,44,080,38*7F $GPGLL,5546.80952,N,02334.69029,E,143309.50,A,A*66 $GPZDA,143309.50,09,12,2009,00,00*6E $GPRMC,143310.00,A,5546.80598,N,02334.68514,E,32.192,221.20,091209,,,A*57 $GPVTG,221.20,T,,M,32.192,N,59.652,K,A*38 $GPGGA,143310.00,5546.80598,N,02334.68514,E,1,09,1.26,125.3,M,27.0,M,,*52 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,227,33,09,12,038,28,19,58,204,40,11,36,285,35*7C $GPGSV,3,2,10,14,45,118,34,03,31,183,26,28,,,32,22,47,070,42*44 $GPGSV,3,3,10,06,26,174,34,26,44,080,38*78 $GPGLL,5546.80598,N,02334.68514,E,143310.00,A,A*6B $GPZDA,143310.00,09,12,2009,00,00*63 $GPRMC,143310.50,A,5546.80248,N,02334.67996,E,32.361,221.42,091209,,,A*5B $GPVTG,221.42,T,,M,32.361,N,59.964,K,A*38 $GPGGA,143310.50,5546.80248,N,02334.67996,E,1,09,1.26,124.7,M,27.0,M,,*51 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,227,33,09,12,038,28,19,58,204,40,11,36,285,36*7F $GPGSV,3,2,10,14,45,118,34,03,31,183,26,28,,,32,22,47,070,42*44 $GPGSV,3,3,10,06,26,174,34,26,44,080,38*78 $GPGLL,5546.80248,N,02334.67996,E,143310.50,A,A*6D $GPZDA,143310.50,09,12,2009,00,00*66 $GPRMC,143311.00,A,5546.79900,N,02334.67471,E,32.559,221.33,091209,,,A*51 $GPVTG,221.33,T,,M,32.559,N,60.331,K,A*33 $GPGGA,143311.00,5546.79900,N,02334.67471,E,1,09,1.26,124.2,M,27.0,M,,*55 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,227,33,09,12,038,28,19,58,204,40,11,36,285,36*7F $GPGSV,3,2,10,14,45,118,34,03,31,183,22,28,,,32,22,47,070,42*40 $GPGSV,3,3,10,06,26,174,34,26,44,080,38*78 $GPGLL,5546.79900,N,02334.67471,E,143311.00,A,A*6C $GPZDA,143311.00,09,12,2009,00,00*62 $GPRMC,143311.50,A,5546.79553,N,02334.66940,E,32.825,221.71,091209,,,A*50 $GPVTG,221.71,T,,M,32.825,N,60.825,K,A*3D $GPGGA,143311.50,5546.79553,N,02334.66940,E,1,09,1.26,123.8,M,27.0,M,,*59 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,227,33,09,12,038,28,19,58,204,40,11,36,285,36*7F $GPGSV,3,2,10,14,45,118,34,03,31,183,23,28,,,32,22,47,070,42*41 $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E $GPGLL,5546.79553,N,02334.66940,E,143311.50,A,A*6D $GPZDA,143311.50,09,12,2009,00,00*67 $GPRMC,143312.00,A,5546.79205,N,02334.66400,E,33.180,221.70,091209,,,A*5D $GPVTG,221.70,T,,M,33.180,N,61.482,K,A*3B $GPGGA,143312.00,5546.79205,N,02334.66400,E,1,09,1.26,123.5,M,27.0,M,,*5F $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,227,33,09,12,038,28,19,58,204,40,11,36,285,36*7F $GPGSV,3,2,10,14,45,118,35,03,31,183,25,28,,,32,22,47,070,42*46 $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E $GPGLL,5546.79205,N,02334.66400,E,143312.00,A,A*66 $GPZDA,143312.00,09,12,2009,00,00*61 $GPRMC,143312.50,A,5546.78854,N,02334.65855,E,33.465,221.75,091209,,,A*53 $GPVTG,221.75,T,,M,33.465,N,62.011,K,A*3D $GPGGA,143312.50,5546.78854,N,02334.65855,E,1,09,1.26,123.3,M,27.0,M,,*5C $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,34,09,12,038,28,19,58,204,40,11,36,285,36*77 $GPGSV,3,2,10,14,45,118,35,03,31,183,25,28,,,32,22,47,070,42*46 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 $GPGLL,5546.78854,N,02334.65855,E,143312.50,A,A*63 $GPZDA,143312.50,09,12,2009,00,00*64 $GPRMC,143313.00,A,5546.78498,N,02334.65304,E,33.998,221.45,091209,,,A*58 $GPVTG,221.45,T,,M,33.998,N,62.999,K,A*38 $GPGGA,143313.00,5546.78498,N,02334.65304,E,1,09,1.26,123.2,M,27.0,M,,*5A $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,34,09,12,038,28,19,58,204,40,11,36,285,36*77 $GPGSV,3,2,10,14,45,118,35,03,31,183,21,28,,,32,22,47,070,42*42 $GPGSV,3,3,10,06,26,174,35,26,44,080,39*78 $GPGLL,5546.78498,N,02334.65304,E,143313.00,A,A*64 $GPZDA,143313.00,09,12,2009,00,00*60 $GPRMC,143313.50,A,5546.78137,N,02334.64747,E,34.471,221.60,091209,,,A*55 $GPVTG,221.60,T,,M,34.471,N,63.875,K,A*30 $GPGGA,143313.50,5546.78137,N,02334.64747,E,1,09,1.26,123.0,M,27.0,M,,*5F $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,34,09,12,038,28,19,58,204,41,11,36,285,37*77 $GPGSV,3,2,10,14,45,118,35,03,31,183,22,28,,,33,22,47,070,42*40 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 $GPGLL,5546.78137,N,02334.64747,E,143313.50,A,A*63 $GPZDA,143313.50,09,12,2009,00,00*65 $GPRMC,143314.00,A,5546.77773,N,02334.64182,E,34.916,221.39,091209,,,A*51 $GPVTG,221.39,T,,M,34.916,N,64.699,K,A*3B $GPGGA,143314.00,5546.77773,N,02334.64182,E,1,09,1.26,122.8,M,27.0,M,,*52 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,34,09,12,038,28,19,58,204,41,11,36,285,37*77 $GPGSV,3,2,10,14,45,118,35,03,31,183,25,28,,,33,22,47,070,43*46 $GPGSV,3,3,10,06,26,174,35,26,44,080,39*78 $GPGLL,5546.77773,N,02334.64182,E,143314.00,A,A*67 $GPZDA,143314.00,09,12,2009,00,00*67 $GPRMC,143314.50,A,5546.77404,N,02334.63610,E,35.259,221.42,091209,,,A*51 $GPVTG,221.42,T,,M,35.259,N,65.335,K,A*34 $GPGGA,143314.50,5546.77404,N,02334.63610,E,1,09,1.26,122.7,M,27.0,M,,*50 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,34,09,12,038,28,19,58,204,40,11,36,285,37*76 $GPGSV,3,2,10,14,45,118,35,03,31,183,25,28,,,33,22,47,070,42*47 $GPGSV,3,3,10,06,26,174,35,26,44,080,39*78 $GPGLL,5546.77404,N,02334.63610,E,143314.50,A,A*6A $GPZDA,143314.50,09,12,2009,00,00*62 $GPRMC,143315.00,A,5546.77031,N,02334.63033,E,35.613,221.33,091209,,,A*5C $GPVTG,221.33,T,,M,35.613,N,65.991,K,A*3C $GPGGA,143315.00,5546.77031,N,02334.63033,E,1,09,1.26,122.5,M,27.0,M,,*53 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,34,09,12,038,28,19,58,204,41,11,36,285,37*77 $GPGSV,3,2,10,14,45,118,35,03,31,183,24,28,,,33,22,47,070,42*46 $GPGSV,3,3,10,06,26,174,35,26,44,080,39*78 $GPGLL,5546.77031,N,02334.63033,E,143315.00,A,A*6B $GPZDA,143315.00,09,12,2009,00,00*66 $GPRMC,143315.50,A,5546.76656,N,02334.62450,E,35.901,221.55,091209,,,A*53 $GPVTG,221.55,T,,M,35.901,N,66.525,K,A*30 $GPGGA,143315.50,5546.76656,N,02334.62450,E,1,09,1.26,122.4,M,27.0,M,,*51 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,34,09,12,038,28,19,58,204,40,11,36,285,36*77 $GPGSV,3,2,10,14,45,118,35,03,31,183,20,28,,,32,22,47,070,42*43 $GPGSV,3,3,10,06,26,174,35,26,44,080,39*78 $GPGLL,5546.76656,N,02334.62450,E,143315.50,A,A*68 $GPZDA,143315.50,09,12,2009,00,00*63 $GPRMC,143316.00,A,5546.76280,N,02334.61860,E,36.213,221.79,091209,,,A*53 $GPVTG,221.79,T,,M,36.213,N,67.103,K,A*34 $GPGGA,143316.00,5546.76280,N,02334.61860,E,1,09,1.26,122.2,M,27.0,M,,*52 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,34,09,12,038,28,19,58,204,40,11,36,285,36*77 $GPGSV,3,2,10,14,45,118,35,03,31,183,21,28,,,33,22,47,070,42*43 $GPGSV,3,3,10,06,26,174,35,26,44,080,39*78 $GPGLL,5546.76280,N,02334.61860,E,143316.00,A,A*6D $GPZDA,143316.00,09,12,2009,00,00*65 $GPRMC,143316.50,A,5546.75900,N,02334.61263,E,36.582,221.76,091209,,,A*5F $GPVTG,221.76,T,,M,36.582,N,67.786,K,A*3F $GPGGA,143316.50,5546.75900,N,02334.61263,E,1,09,1.26,122.1,M,27.0,M,,*5D $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,28,19,58,204,40,11,36,285,37*71 $GPGSV,3,2,10,14,45,118,35,03,31,183,25,28,,,33,22,47,070,42*47 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 $GPGLL,5546.75900,N,02334.61263,E,143316.50,A,A*61 $GPZDA,143316.50,09,12,2009,00,00*60 $GPRMC,143317.00,A,5546.75517,N,02334.60661,E,36.882,221.73,091209,,,A*5E $GPVTG,221.73,T,,M,36.882,N,68.343,K,A*35 $GPGGA,143317.00,5546.75517,N,02334.60661,E,1,09,1.26,122.0,M,27.0,M,,*55 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,28,19,58,204,40,11,36,285,37*71 $GPGSV,3,2,10,14,45,118,35,03,31,183,25,28,,,33,22,47,070,42*47 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 $GPGLL,5546.75517,N,02334.60661,E,143317.00,A,A*68 $GPZDA,143317.00,09,12,2009,00,00*64 $GPRMC,143317.50,A,5546.75131,N,02334.60056,E,37.099,221.59,091209,,,A*52 $GPVTG,221.59,T,,M,37.099,N,68.744,K,A*3D $GPGGA,143317.50,5546.75131,N,02334.60056,E,1,09,1.26,122.0,M,27.0,M,,*52 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,32,09,12,038,28,19,58,204,40,11,36,285,36*71 $GPGSV,3,2,10,14,45,118,34,03,31,183,25,28,,,33,22,47,070,42*46 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 $GPGLL,5546.75131,N,02334.60056,E,143317.50,A,A*6F $GPZDA,143317.50,09,12,2009,00,00*61 $GPRMC,143318.00,A,5546.74742,N,02334.59448,E,37.130,221.51,091209,,,A*50 $GPVTG,221.51,T,,M,37.130,N,68.801,K,A*39 $GPGGA,143318.00,5546.74742,N,02334.59448,E,1,09,1.26,121.9,M,27.0,M,,*50 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,27,19,58,204,40,11,36,285,35*7C $GPGSV,3,2,10,14,45,118,34,03,31,183,24,28,,,33,22,47,070,42*47 $GPGSV,3,3,10,06,26,174,35,26,44,080,39*78 $GPGLL,5546.74742,N,02334.59448,E,143318.00,A,A*67 $GPZDA,143318.00,09,12,2009,00,00*6B $GPRMC,143318.50,A,5546.74354,N,02334.58840,E,37.142,221.66,091209,,,A*52 $GPVTG,221.66,T,,M,37.142,N,68.824,K,A*3F $GPGGA,143318.50,5546.74354,N,02334.58840,E,1,09,1.26,121.8,M,27.0,M,,*52 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,28,19,58,204,40,11,36,285,36*70 $GPGSV,3,2,10,14,45,118,35,03,31,183,22,28,,,33,22,47,070,42*40 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 $GPGLL,5546.74354,N,02334.58840,E,143318.50,A,A*64 $GPZDA,143318.50,09,12,2009,00,00*6E $GPRMC,143319.00,A,5546.73966,N,02334.58232,E,37.148,221.65,091209,,,A*5C $GPVTG,221.65,T,,M,37.148,N,68.835,K,A*36 $GPGGA,143319.00,5546.73966,N,02334.58232,E,1,09,1.26,121.8,M,27.0,M,,*55 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,27,19,58,204,40,11,36,285,36*7F $GPGSV,3,2,10,14,45,118,34,03,31,183,25,28,,,33,22,47,070,42*46 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 $GPGLL,5546.73966,N,02334.58232,E,143319.00,A,A*63 $GPZDA,143319.00,09,12,2009,00,00*6A $GPRMC,143319.50,A,5546.73578,N,02334.57626,E,37.138,221.35,091209,,,A*56 $GPVTG,221.35,T,,M,37.138,N,68.817,K,A*34 $GPGGA,143319.50,5546.73578,N,02334.57626,E,1,09,1.26,121.8,M,27.0,M,,*5D $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,27,19,58,204,40,11,36,285,36*7F $GPGSV,3,2,10,14,45,118,34,03,31,183,25,28,,,33,22,47,070,42*46 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 $GPGLL,5546.73578,N,02334.57626,E,143319.50,A,A*6B $GPZDA,143319.50,09,12,2009,00,00*6F $GPRMC,143320.00,A,5546.73191,N,02334.57020,E,37.095,221.51,091209,,,A*5E $GPVTG,221.51,T,,M,37.095,N,68.737,K,A*3D $GPGGA,143320.00,5546.73191,N,02334.57020,E,1,09,1.26,121.7,M,27.0,M,,*5E $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,27,19,58,204,41,11,36,285,36*7E $GPGSV,3,2,10,14,45,118,34,03,31,183,24,28,,,33,22,47,070,42*47 $GPGSV,3,3,10,06,26,174,35,26,44,080,39*78 $GPGLL,5546.73191,N,02334.57020,E,143320.00,A,A*67 $GPZDA,143320.00,09,12,2009,00,00*60 $GPRMC,143320.50,A,5546.72805,N,02334.56415,E,36.982,221.56,091209,,,A*54 $GPVTG,221.56,T,,M,36.982,N,68.528,K,A*38 $GPGGA,143320.50,5546.72805,N,02334.56415,E,1,09,1.26,121.7,M,27.0,M,,*5D $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,32,09,12,038,27,19,58,204,40,11,36,285,35*7D $GPGSV,3,2,10,14,45,118,34,03,31,183,22,28,,,32,22,47,070,42*40 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 $GPGLL,5546.72805,N,02334.56415,E,143320.50,A,A*64 $GPZDA,143320.50,09,12,2009,00,00*65 $GPRMC,143321.00,A,5546.72423,N,02334.55813,E,36.738,221.85,091209,,,A*50 $GPVTG,221.85,T,,M,36.738,N,68.076,K,A*37 $GPGGA,143321.00,5546.72423,N,02334.55813,E,1,09,1.26,121.7,M,27.0,M,,*58 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,27,19,58,204,40,11,36,285,36*7F $GPGSV,3,2,10,14,45,118,34,03,31,183,23,28,,,33,22,47,070,42*40 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 $GPGLL,5546.72423,N,02334.55813,E,143321.00,A,A*61 $GPZDA,143321.00,09,12,2009,00,00*61 $GPRMC,143321.50,A,5546.72043,N,02334.55216,E,36.548,221.51,091209,,,A*54 $GPVTG,221.51,T,,M,36.548,N,67.724,K,A*34 $GPGGA,143321.50,5546.72043,N,02334.55216,E,1,09,1.26,121.7,M,27.0,M,,*50 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,32,09,12,038,27,19,58,204,40,11,36,285,36*7E $GPGSV,3,2,10,14,45,118,35,03,31,183,24,28,,,34,22,47,070,42*41 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 $GPGLL,5546.72043,N,02334.55216,E,143321.50,A,A*69 $GPZDA,143321.50,09,12,2009,00,00*64 $GPRMC,143322.00,A,5546.71665,N,02334.54623,E,36.296,221.61,091209,,,A*57 $GPVTG,221.61,T,,M,36.296,N,67.257,K,A*32 $GPGGA,143322.00,5546.71665,N,02334.54623,E,1,09,1.26,121.7,M,27.0,M,,*54 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,31,09,12,038,27,19,58,204,38,11,36,285,34*70 $GPGSV,3,2,10,14,45,118,33,03,31,183,21,28,,,32,22,47,070,40*46 $GPGSV,3,3,10,06,26,174,31,26,44,080,37*72 $GPGLL,5546.71665,N,02334.54623,E,143322.00,A,A*6D $GPZDA,143322.00,09,12,2009,00,00*62 $GPRMC,143322.50,A,5546.71291,N,02334.54032,E,36.068,222.02,091209,,,A*5E $GPVTG,222.02,T,,M,36.068,N,66.834,K,A*39 $GPGGA,143322.50,5546.71291,N,02334.54032,E,1,09,1.26,121.7,M,27.0,M,,*58 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,30,09,12,038,27,19,58,204,38,11,36,285,34*71 $GPGSV,3,2,10,14,45,118,32,03,31,183,22,28,,,31,22,47,070,40*47 $GPGSV,3,3,10,06,26,174,32,26,44,080,36*70 $GPGLL,5546.71291,N,02334.54032,E,143322.50,A,A*61 $GPZDA,143322.50,09,12,2009,00,00*67 $GPRMC,143323.00,A,5546.70920,N,02334.53442,E,35.897,221.92,091209,,,A*5F $GPVTG,221.92,T,,M,35.897,N,66.516,K,A*35 $GPGGA,143323.00,5546.70920,N,02334.53442,E,1,09,1.26,121.7,M,27.0,M,,*58 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,31,09,12,038,27,19,58,204,39,11,36,285,35*70 $GPGSV,3,2,10,14,45,118,34,03,31,183,24,28,,,32,22,47,070,41*45 $GPGSV,3,3,10,06,26,174,34,26,44,080,38*78 $GPGLL,5546.70920,N,02334.53442,E,143323.00,A,A*61 $GPZDA,143323.00,09,12,2009,00,00*63 $GPRMC,143323.50,A,5546.70550,N,02334.52854,E,35.802,222.24,091209,,,A*59 $GPVTG,222.24,T,,M,35.802,N,66.342,K,A*30 $GPGGA,143323.50,5546.70550,N,02334.52854,E,1,09,1.26,121.5,M,27.0,M,,*5E $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,32,09,12,038,28,19,58,204,40,11,36,285,36*71 $GPGSV,3,2,10,14,45,118,35,03,31,183,30,28,,,34,22,47,070,42*44 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 $GPGLL,5546.70550,N,02334.52854,E,143323.50,A,A*65 $GPZDA,143323.50,09,12,2009,00,00*66 $GPRMC,143324.00,A,5546.70183,N,02334.52263,E,35.829,222.00,091209,,,A*50 $GPVTG,222.00,T,,M,35.829,N,66.391,K,A*31 $GPGGA,143324.00,5546.70183,N,02334.52263,E,1,09,1.26,121.6,M,27.0,M,,*5B $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,30,19,58,204,40,11,36,285,36*79 $GPGSV,3,2,10,14,45,118,35,03,31,183,27,28,,,33,22,47,070,41*46 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 $GPGLL,5546.70183,N,02334.52263,E,143324.00,A,A*63 $GPZDA,143324.00,09,12,2009,00,00*64 $GPRMC,143324.50,A,5546.69812,N,02334.51673,E,35.962,222.09,091209,,,A*5D $GPVTG,222.09,T,,M,35.962,N,66.638,K,A*30 $GPGGA,143324.50,5546.69812,N,02334.51673,E,1,09,1.26,121.6,M,27.0,M,,*51 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,30,19,58,204,40,11,36,285,35*7A $GPGSV,3,2,10,14,45,118,35,03,31,183,27,28,,,32,22,47,070,42*44 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 $GPGLL,5546.69812,N,02334.51673,E,143324.50,A,A*69 $GPZDA,143324.50,09,12,2009,00,00*61 $GPRMC,143325.00,A,5546.69439,N,02334.51078,E,36.290,222.04,091209,,,A*59 $GPVTG,222.04,T,,M,36.290,N,67.245,K,A*37 $GPGGA,143325.00,5546.69439,N,02334.51078,E,1,09,1.26,121.5,M,27.0,M,,*5E $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,29,19,58,204,40,11,36,285,35*72 $GPGSV,3,2,10,14,45,118,35,03,31,183,26,28,,,32,22,47,070,41*46 $GPGSV,3,3,10,06,26,174,35,26,44,080,39*78 $GPGLL,5546.69439,N,02334.51078,E,143325.00,A,A*65 $GPZDA,143325.00,09,12,2009,00,00*65 $GPRMC,143325.50,A,5546.69063,N,02334.50478,E,36.575,221.93,091209,,,A*53 $GPVTG,221.93,T,,M,36.575,N,67.774,K,A*31 $GPGGA,143325.50,5546.69063,N,02334.50478,E,1,09,1.26,121.5,M,27.0,M,,*55 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,29,19,58,204,40,11,36,285,36*71 $GPGSV,3,2,10,14,45,118,35,03,31,183,26,28,,,33,22,47,070,42*44 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 $GPGLL,5546.69063,N,02334.50478,E,143325.50,A,A*6E $GPZDA,143325.50,09,12,2009,00,00*60 $GPRMC,143326.00,A,5546.68683,N,02334.49875,E,36.874,221.81,091209,,,A*5A $GPVTG,221.81,T,,M,36.874,N,68.328,K,A*3C $GPGGA,143326.00,5546.68683,N,02334.49875,E,1,09,1.26,121.5,M,27.0,M,,*53 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.00*07 $GPGSV,3,1,10,32,22,228,33,09,12,038,29,19,58,204,40,11,36,285,36*71 $GPGSV,3,2,10,14,45,118,35,03,31,183,26,28,,,33,22,47,070,42*44 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 $GPGLL,5546.68683,N,02334.49875,E,143326.00,A,A*68 $GPZDA,143326.00,09,12,2009,00,00*66 $GPRMC,143326.50,A,5546.68299,N,02334.49268,E,37.174,221.56,091209,,,A*54 $GPVTG,221.56,T,,M,37.174,N,68.883,K,A*34 $GPGGA,143326.50,5546.68299,N,02334.49268,E,1,09,1.26,121.5,M,27.0,M,,*5F $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,32,09,12,037,27,19,58,204,40,11,36,285,36*71 $GPGSV,3,2,10,14,45,118,34,03,31,183,26,28,,,33,22,47,070,42*45 $GPGSV,3,3,10,06,26,174,33,26,44,080,38*7F $GPGLL,5546.68299,N,02334.49268,E,143326.50,A,A*64 $GPZDA,143326.50,09,12,2009,00,00*63 $GPRMC,143327.00,A,5546.67914,N,02334.48657,E,37.433,221.51,091209,,,A*59 $GPVTG,221.51,T,,M,37.433,N,69.363,K,A*31 $GPGGA,143327.00,5546.67914,N,02334.48657,E,1,09,1.47,121.6,M,27.0,M,,*57 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.66,1.47,3.35*02 $GPGSV,3,1,12,32,22,228,31,27,,,31,09,12,037,26,19,58,204,38*46 $GPGSV,3,2,12,11,36,285,34,14,45,118,32,03,31,183,19,28,,,31*40 $GPGSV,3,3,12,22,47,070,40,15,,,22,06,26,174,31,26,44,080,36*45 $GPGLL,5546.67914,N,02334.48657,E,143327.00,A,A*68 $GPZDA,143327.00,09,12,2009,00,00*67 $GPRMC,143327.50,A,5546.67528,N,02334.48042,E,37.526,221.60,091209,,,A*5A $GPVTG,221.60,T,,M,37.526,N,69.535,K,A*33 $GPGGA,143327.50,5546.67528,N,02334.48042,E,1,09,1.48,121.7,M,27.0,M,,*5D $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.66,1.48,3.35*0D $GPGSV,4,1,14,32,22,228,30,27,,,30,09,12,037,25,12,,,33*7F $GPGSV,4,2,14,19,58,204,37,11,36,285,33,14,45,118,32,03,31,183,18*78 $GPGSV,4,3,14,28,,,30,22,47,070,39,15,,,24,06,26,174,30*7D $GPGSV,4,4,14,26,44,080,36,17,,,34*44 $GPGLL,5546.67528,N,02334.48042,E,143327.50,A,A*6C $GPZDA,143327.50,09,12,2009,00,00*62 $GPRMC,143328.00,A,5546.67138,N,02334.47421,E,37.918,221.73,091209,,,A*58 $GPVTG,221.73,T,,M,37.918,N,70.262,K,A*3D $GPGGA,143328.00,5546.67138,N,02334.47421,E,1,09,1.19,121.7,M,27.0,M,,*58 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.23,1.19,3.00*0E $GPGSV,4,1,14,32,22,228,29,27,,,29,09,12,037,25,12,,,32*7E $GPGSV,4,2,14,19,58,204,37,11,36,285,33,14,45,118,32,03,31,183,19*79 $GPGSV,4,3,14,28,,,29,22,47,070,38,15,,,24,06,26,174,29*7C $GPGSV,4,4,14,26,44,080,36,17,,,33*43 $GPGLL,5546.67138,N,02334.47421,E,143328.00,A,A*6D $GPZDA,143328.00,09,12,2009,00,00*68 $GPRMC,143328.50,A,5546.66742,N,02334.46793,E,38.036,221.73,091209,,,A*56 $GPVTG,221.73,T,,M,38.036,N,70.482,K,A*3F $GPGGA,143328.50,5546.66742,N,02334.46793,E,1,09,1.19,121.8,M,27.0,M,,*53 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.23,1.19,3.00*0E $GPGSV,3,1,10,32,22,228,30,09,12,037,25,19,58,204,38,11,36,285,34*7C $GPGSV,3,2,10,14,45,118,33,03,31,183,23,28,,,30,22,47,070,40*46 $GPGSV,3,3,10,06,26,174,30,26,44,080,37*73 $GPGLL,5546.66742,N,02334.46793,E,143328.50,A,A*69 $GPZDA,143328.50,09,12,2009,00,00*6D $GPRMC,143329.00,A,5546.66350,N,02334.46164,E,38.567,221.88,091209,,,A*5E $GPVTG,221.88,T,,M,38.567,N,71.465,K,A*32 $GPGGA,143329.00,5546.66350,N,02334.46164,E,1,09,1.19,121.8,M,27.0,M,,*5E $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.23,1.19,3.00*0E $GPGSV,3,1,10,32,22,228,30,09,12,037,26,19,58,204,39,11,36,285,35*7F $GPGSV,3,2,10,14,45,118,33,03,31,183,25,28,,,30,22,47,070,41*41 $GPGSV,3,3,10,06,26,174,32,26,44,080,37*71 $GPGLL,5546.66350,N,02334.46164,E,143329.00,A,A*64 $GPZDA,143329.00,09,12,2009,00,00*69 $GPRMC,143329.50,A,5546.65952,N,02334.45524,E,38.642,222.07,091209,,,A*53 $GPVTG,222.07,T,,M,38.642,N,71.604,K,A*37 $GPGGA,143329.50,5546.65952,N,02334.45524,E,1,09,1.28,121.9,M,27.0,M,,*50 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.65,1.28,3.41*0B $GPGSV,3,1,10,32,22,228,30,09,12,037,26,19,58,204,39,11,36,285,34*7E $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,,,30,22,47,070,41*4C $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E $GPGLL,5546.65952,N,02334.45524,E,143329.50,A,A*69 $GPZDA,143329.50,09,12,2009,00,00*6C $GPRMC,143330.00,A,5546.65551,N,02334.44882,E,38.917,221.88,091209,,,A*5A $GPVTG,221.88,T,,M,38.917,N,72.112,K,A*3F $GPGGA,143330.00,5546.65551,N,02334.44882,E,1,09,1.28,121.9,M,27.0,M,,*52 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.64,1.28,3.41*0A $GPGSV,3,1,10,32,22,228,31,09,12,037,26,19,58,204,39,11,36,285,35*7E $GPGSV,3,2,10,14,45,118,33,03,31,183,24,28,,,31,22,47,070,41*41 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E $GPGLL,5546.65551,N,02334.44882,E,143330.00,A,A*6B $GPZDA,143330.00,09,12,2009,00,00*61 $GPRMC,143330.50,A,5546.65146,N,02334.44238,E,39.222,221.56,091209,,,A*59 $GPVTG,221.56,T,,M,39.222,N,72.679,K,A*3A $GPGGA,143330.50,5546.65146,N,02334.44238,E,1,09,1.28,122.0,M,27.0,M,,*54 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.64,1.28,3.41*0A $GPGSV,3,1,10,32,22,228,33,09,12,037,26,19,58,204,39,11,36,285,35*7C $GPGSV,3,2,10,14,45,118,33,03,31,183,20,28,,,31,22,47,070,41*45 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E $GPGLL,5546.65146,N,02334.44238,E,143330.50,A,A*67 $GPZDA,143330.50,09,12,2009,00,00*64 $GPRMC,143331.00,A,5546.64738,N,02334.43592,E,39.384,221.52,091209,,,A*5A $GPVTG,221.52,T,,M,39.384,N,72.979,K,A*3C $GPGGA,143331.00,5546.64738,N,02334.43592,E,1,09,1.26,122.1,M,27.0,M,,*51 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.01*06 $GPGSV,3,1,10,32,22,228,33,09,12,037,26,19,58,204,39,11,36,285,34*7D $GPGSV,3,2,10,14,45,118,34,03,31,183,20,28,,,31,22,47,070,41*42 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E $GPGLL,5546.64738,N,02334.43592,E,143331.00,A,A*6D $GPZDA,143331.00,09,12,2009,00,00*60 $GPRMC,143331.50,A,5546.64328,N,02334.42943,E,39.571,221.47,091209,,,A*53 $GPVTG,221.47,T,,M,39.571,N,73.325,K,A*36 $GPGGA,143331.50,5546.64328,N,02334.42943,E,1,09,1.26,122.2,M,27.0,M,,*53 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.00*07 $GPGSV,3,1,10,32,22,228,32,09,12,037,26,19,58,203,39,11,36,285,35*7A $GPGSV,3,2,10,14,45,118,33,03,31,183,19,28,,,31,22,47,070,41*4F $GPGSV,3,3,10,06,26,174,31,26,44,080,37*72 $GPGLL,5546.64328,N,02334.42943,E,143331.50,A,A*6C $GPZDA,143331.50,09,12,2009,00,00*65 $GPRMC,143332.00,A,5546.63918,N,02334.42294,E,39.806,221.51,091209,,,A*50 $GPVTG,221.51,T,,M,39.806,N,73.761,K,A*38 $GPGGA,143332.00,5546.63918,N,02334.42294,E,1,09,1.26,122.3,M,27.0,M,,*5B $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.00*07 $GPGSV,3,1,10,32,22,228,32,09,12,037,26,19,58,203,38,11,36,285,33*7D $GPGSV,3,2,10,14,45,118,33,03,31,183,19,28,,,30,22,47,070,40*4F $GPGSV,3,3,10,06,26,174,31,26,44,080,37*72 $GPGLL,5546.63918,N,02334.42294,E,143332.00,A,A*65 $GPZDA,143332.00,09,12,2009,00,00*63 $GPRMC,143332.50,A,5546.63505,N,02334.41641,E,39.985,221.44,091209,,,A*54 $GPVTG,221.44,T,,M,39.985,N,74.092,K,A*3A $GPGGA,143332.50,5546.63505,N,02334.41641,E,1,09,1.26,122.4,M,27.0,M,,*56 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.01*06 $GPGSV,3,1,10,32,22,228,32,09,12,037,26,19,58,203,38,11,36,285,32*7C $GPGSV,3,2,10,14,45,118,32,03,31,183,19,28,,,30,22,47,070,40*4E $GPGSV,3,3,10,06,26,174,31,26,44,080,36*73 $GPGLL,5546.63505,N,02334.41641,E,143332.50,A,A*6F $GPZDA,143332.50,09,12,2009,00,00*66 $GPRMC,143333.00,A,5546.63089,N,02334.40987,E,40.143,221.52,091209,,,A*5E $GPVTG,221.52,T,,M,40.143,N,74.385,K,A*34 $GPGGA,143333.00,5546.63089,N,02334.40987,E,1,09,1.26,122.6,M,27.0,M,,*55 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.00*07 $GPGSV,3,1,10,32,22,228,31,09,12,037,26,19,58,203,38,11,36,285,32*7F $GPGSV,3,2,10,14,45,118,32,03,31,183,19,28,,,30,22,47,070,40*4E $GPGSV,3,3,10,06,26,174,31,26,44,080,36*73 $GPGLL,5546.63089,N,02334.40987,E,143333.00,A,A*6E $GPZDA,143333.00,09,12,2009,00,00*62 $GPRMC,143333.50,A,5546.62673,N,02334.40329,E,40.300,221.56,091209,,,A*56 $GPVTG,221.56,T,,M,40.300,N,74.676,K,A*3C $GPGGA,143333.50,5546.62673,N,02334.40329,E,1,09,1.26,122.7,M,27.0,M,,*5D $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.01*06 $GPGSV,3,1,10,32,22,228,33,09,12,037,27,19,58,203,40,11,36,285,34*75 $GPGSV,3,2,10,14,45,118,34,03,31,183,19,28,,,31,22,47,070,42*4B $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E $GPGLL,5546.62673,N,02334.40329,E,143333.50,A,A*67 $GPZDA,143333.50,09,12,2009,00,00*67 $GPRMC,143334.00,A,5546.62247,N,02334.39671,E,40.502,221.59,091209,,,A*5A $GPVTG,221.59,T,,M,40.502,N,75.050,K,A*34 $GPGGA,143334.00,5546.62247,N,02334.39671,E,1,09,1.26,122.5,M,27.0,M,,*58 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.01*06 $GPGSV,3,1,10,32,22,228,33,09,12,037,27,19,58,203,40,11,36,285,35*74 $GPGSV,3,2,10,14,45,118,35,03,31,183,20,28,,,31,22,47,070,42*40 $GPGSV,3,3,10,06,26,174,33,26,44,080,38*7F $GPGLL,5546.62247,N,02334.39671,E,143334.00,A,A*60 $GPZDA,143334.00,09,12,2009,00,00*65 $GPRMC,143334.50,A,5546.61820,N,02334.39009,E,40.736,221.63,091209,,,A*52 $GPVTG,221.63,T,,M,40.736,N,75.483,K,A*32 $GPGGA,143334.50,5546.61820,N,02334.39009,E,1,09,1.26,122.4,M,27.0,M,,*5D $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.01*06 $GPGSV,3,1,10,32,22,228,33,09,12,037,27,19,58,203,40,11,36,285,35*74 $GPGSV,3,2,10,14,45,118,34,03,31,183,20,28,,,31,22,47,070,42*41 $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E $GPGLL,5546.61820,N,02334.39009,E,143334.50,A,A*64 $GPZDA,143334.50,09,12,2009,00,00*60 $GPRMC,143335.00,A,5546.61392,N,02334.38340,E,40.981,221.79,091209,,,A*52 $GPVTG,221.79,T,,M,40.981,N,75.938,K,A*36 $GPGGA,143335.00,5546.61392,N,02334.38340,E,1,09,1.26,122.3,M,27.0,M,,*53 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.01*06 $GPGSV,3,1,10,32,22,228,32,09,12,037,27,19,58,203,40,11,36,285,35*75 $GPGSV,3,2,10,14,45,118,34,03,31,183,24,28,,,32,22,47,070,42*46 $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E $GPGLL,5546.61392,N,02334.38340,E,143335.00,A,A*6D $GPZDA,143335.00,09,12,2009,00,00*64 $GPRMC,143335.50,A,5546.60964,N,02334.37668,E,41.196,221.79,091209,,,A*5A $GPVTG,221.79,T,,M,41.196,N,76.336,K,A*3E $GPGGA,143335.50,5546.60964,N,02334.37668,E,1,09,1.26,122.3,M,27.0,M,,*54 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.01*06 $GPGSV,3,1,10,32,22,228,33,09,12,037,28,19,58,203,40,11,36,285,36*78 $GPGSV,3,2,10,14,45,118,35,03,31,183,24,28,,,33,22,47,070,42*46 $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E $GPGLL,5546.60964,N,02334.37668,E,143335.50,A,A*6A $GPZDA,143335.50,09,12,2009,00,00*61 $GPRMC,143336.00,A,5546.60535,N,02334.36991,E,41.361,221.94,091209,,,A*55 $GPVTG,221.94,T,,M,41.361,N,76.642,K,A*31 $GPGGA,143336.00,5546.60535,N,02334.36991,E,1,09,1.26,122.3,M,27.0,M,,*52 $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.00*07 $GPGSV,3,1,10,32,22,228,33,09,12,037,28,19,58,203,40,11,36,285,35*7B $GPGSV,3,2,10,14,45,118,34,03,31,183,25,28,,,34,22,47,070,42*41 $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E $GPGLL,5546.60535,N,02334.36991,E,143336.00,A,A*6C $GPZDA,143336.00,09,12,2009,00,00*67 $GPRMC,143336.50,A,5546.60106,N,02334.36309,E,41.477,221.87,091209,,,A*5D $GPVTG,221.87,T,,M,41.477,N,76.857,K,A*39 $GPGGA,143336.50,5546.60106,N,02334.36309,E,1,10,1.01,122.3,M,27.0,M,,*55 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,40,11,36,285,36*79 $GPGSV,3,2,10,14,45,118,34,03,31,183,27,28,19,317,34,22,47,070,42*7E $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E $GPGLL,5546.60106,N,02334.36309,E,143336.50,A,A*66 $GPZDA,143336.50,09,12,2009,00,00*62 $GPRMC,143337.00,A,5546.59676,N,02334.35625,E,41.577,221.77,091209,,,A*55 $GPVTG,221.77,T,,M,41.577,N,77.043,K,A*3B $GPGGA,143337.00,5546.59676,N,02334.35625,E,1,10,1.01,122.3,M,27.0,M,,*53 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,40,11,36,285,35*7A $GPGSV,3,2,10,14,45,118,35,03,31,183,27,28,19,317,33,22,47,070,42*78 $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E $GPGLL,5546.59676,N,02334.35625,E,143337.00,A,A*60 $GPZDA,143337.00,09,12,2009,00,00*66 $GPRMC,143337.50,A,5546.59244,N,02334.34942,E,41.633,221.86,091209,,,A*57 $GPVTG,221.86,T,,M,41.633,N,77.146,K,A*32 $GPGGA,143337.50,5546.59244,N,02334.34942,E,1,10,1.01,122.3,M,27.0,M,,*5C $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,39,11,36,285,35*74 $GPGSV,3,2,10,14,45,118,34,03,31,183,24,28,19,317,32,22,47,070,41*78 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E $GPGLL,5546.59244,N,02334.34942,E,143337.50,A,A*6F $GPZDA,143337.50,09,12,2009,00,00*63 $GPRMC,143338.00,A,5546.58812,N,02334.34258,E,41.700,221.99,091209,,,A*5A $GPVTG,221.99,T,,M,41.700,N,77.270,K,A*3B $GPGGA,143338.00,5546.58812,N,02334.34258,E,1,10,1.01,122.3,M,27.0,M,,*5E $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,31,09,12,037,28,19,58,203,39,11,36,285,35*77 $GPGSV,3,2,10,14,45,118,34,03,31,183,27,28,19,317,34,22,47,070,41*7D $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E $GPGLL,5546.58812,N,02334.34258,E,143338.00,A,A*6D $GPZDA,143338.00,09,12,2009,00,00*69 $GPRMC,143338.50,A,5546.58377,N,02334.33571,E,41.763,222.02,091209,,,A*58 $GPVTG,222.02,T,,M,41.763,N,77.387,K,A*36 $GPGGA,143338.50,5546.58377,N,02334.33571,E,1,10,1.01,122.2,M,27.0,M,,*59 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,39,11,36,285,36*77 $GPGSV,3,2,10,14,45,118,34,03,31,183,27,28,19,317,34,22,47,070,42*7E $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E $GPGLL,5546.58377,N,02334.33571,E,143338.50,A,A*6B $GPZDA,143338.50,09,12,2009,00,00*6C $GPRMC,143339.00,A,5546.57941,N,02334.32886,E,41.810,221.70,091209,,,A*55 $GPVTG,221.70,T,,M,41.810,N,77.474,K,A*30 $GPGGA,143339.00,5546.57941,N,02334.32886,E,1,10,1.01,122.2,M,27.0,M,,*59 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,39,11,36,285,36*77 $GPGSV,3,2,10,14,45,118,34,03,31,183,27,28,19,317,34,22,47,070,42*7E $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E $GPGLL,5546.57941,N,02334.32886,E,143339.00,A,A*6B $GPZDA,143339.00,09,12,2009,00,00*68 $GPRMC,143339.50,A,5546.57509,N,02334.32202,E,41.805,221.61,091209,,,A*52 $GPVTG,221.61,T,,M,41.805,N,77.464,K,A*35 $GPGGA,143339.50,5546.57509,N,02334.32202,E,1,10,1.22,122.4,M,27.0,M,,*5D $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.23,1.22,2.99*0D $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,40,11,36,285,36*79 $GPGSV,3,2,10,14,45,118,35,03,31,183,24,28,19,317,34,22,47,070,42*7C $GPGSV,3,3,10,06,26,174,33,26,44,080,38*7F $GPGLL,5546.57509,N,02334.32202,E,143339.50,A,A*68 $GPZDA,143339.50,09,12,2009,00,00*6D $GPRMC,143340.00,A,5546.57072,N,02334.31519,E,41.831,221.43,091209,,,A*59 $GPVTG,221.43,T,,M,41.831,N,77.512,K,A*32 $GPGGA,143340.00,5546.57072,N,02334.31519,E,1,10,1.01,122.4,M,27.0,M,,*50 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,32,09,12,037,27,19,58,203,40,11,36,285,35*75 $GPGSV,3,2,10,14,45,118,35,03,31,183,24,28,19,317,32,22,47,070,42*7A $GPGSV,3,3,10,06,26,174,34,26,44,080,38*78 $GPGLL,5546.57072,N,02334.31519,E,143340.00,A,A*64 $GPZDA,143340.00,09,12,2009,00,00*66 $GPRMC,143340.50,A,5546.56636,N,02334.30835,E,41.860,221.62,091209,,,A*5E $GPVTG,221.62,T,,M,41.860,N,77.566,K,A*36 $GPGGA,143340.50,5546.56636,N,02334.30835,E,1,10,1.01,122.3,M,27.0,M,,*57 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,33,09,12,037,27,19,58,203,39,11,36,285,35*7A $GPGSV,3,2,10,14,45,118,34,03,31,183,23,28,19,317,32,22,47,070,41*7F $GPGSV,3,3,10,06,26,174,33,26,44,080,38*7F $GPGLL,5546.56636,N,02334.30835,E,143340.50,A,A*64 $GPZDA,143340.50,09,12,2009,00,00*63 $GPRMC,143341.00,A,5546.56202,N,02334.30147,E,41.947,221.64,091209,,,A*57 $GPVTG,221.64,T,,M,41.947,N,77.727,K,A*33 $GPGGA,143341.00,5546.56202,N,02334.30147,E,1,10,1.01,122.4,M,27.0,M,,*5B $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,33,09,12,037,27,19,58,203,40,11,36,285,35*74 $GPGSV,3,2,10,14,45,118,34,03,31,183,24,28,19,317,33,22,47,070,41*79 $GPGSV,3,3,10,06,26,174,33,26,44,080,38*7F $GPGLL,5546.56202,N,02334.30147,E,143341.00,A,A*6F $GPZDA,143341.00,09,12,2009,00,00*67 $GPRMC,143341.50,A,5546.55766,N,02334.29457,E,41.998,221.76,091209,,,A*5B $GPVTG,221.76,T,,M,41.998,N,77.822,K,A*38 $GPGGA,143341.50,5546.55766,N,02334.29457,E,1,10,1.01,122.3,M,27.0,M,,*51 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,33,09,12,037,27,19,58,203,40,11,36,285,35*74 $GPGSV,3,2,10,14,45,118,34,03,31,183,24,28,19,317,35,22,47,070,42*7C $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E $GPGLL,5546.55766,N,02334.29457,E,143341.50,A,A*62 $GPZDA,143341.50,09,12,2009,00,00*62 $GPRMC,143342.00,A,5546.55331,N,02334.28765,E,42.085,221.64,091209,,,A*5D $GPVTG,221.64,T,,M,42.085,N,77.984,K,A*30 $GPGGA,143342.00,5546.55331,N,02334.28765,E,1,10,1.01,122.4,M,27.0,M,,*55 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,34,09,12,037,27,19,58,203,40,11,36,285,35*73 $GPGSV,3,2,10,14,45,118,35,03,31,183,24,28,19,317,34,22,47,070,42*7C $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E $GPGLL,5546.55331,N,02334.28765,E,143342.00,A,A*61 $GPZDA,143342.00,09,12,2009,00,00*64 $GPRMC,143342.50,A,5546.54894,N,02334.28072,E,42.096,221.79,091209,,,A*52 $GPVTG,221.79,T,,M,42.096,N,78.004,K,A*30 $GPGGA,143342.50,5546.54894,N,02334.28072,E,1,10,1.01,122.4,M,27.0,M,,*54 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,34,09,12,037,27,19,58,203,39,11,36,285,35*7D $GPGSV,3,2,10,14,45,118,34,03,31,183,26,28,19,317,33,22,47,070,41*7B $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E $GPGLL,5546.54894,N,02334.28072,E,143342.50,A,A*60 $GPZDA,143342.50,09,12,2009,00,00*61 $GPRMC,143343.00,A,5546.54457,N,02334.27380,E,42.128,221.81,091209,,,A*57 $GPVTG,221.81,T,,M,42.128,N,78.064,K,A*35 $GPGGA,143343.00,5546.54457,N,02334.27380,E,1,10,1.01,122.4,M,27.0,M,,*52 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,34,09,12,037,27,19,58,203,39,11,36,285,35*7D $GPGSV,3,2,10,14,45,118,34,03,31,183,26,28,19,317,32,22,47,070,41*7A $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E $GPGLL,5546.54457,N,02334.27380,E,143343.00,A,A*66 $GPZDA,143343.00,09,12,2009,00,00*65 $GPRMC,143343.50,A,5546.54019,N,02334.26687,E,42.223,221.67,091209,,,A*5F $GPVTG,221.67,T,,M,42.223,N,78.240,K,A*31 $GPGGA,143343.50,5546.54019,N,02334.26687,E,1,10,1.26,122.5,M,27.0,M,,*5E $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,34,09,12,037,27,19,58,203,39,11,36,285,35*7D $GPGSV,3,2,10,14,45,118,34,03,31,183,23,28,19,317,31,22,47,070,41*7C $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E $GPGLL,5546.54019,N,02334.26687,E,143343.50,A,A*6E $GPZDA,143343.50,09,12,2009,00,00*60 $GPRMC,143344.00,A,5546.53579,N,02334.25993,E,42.261,221.65,091209,,,A*54 $GPVTG,221.65,T,,M,42.261,N,78.309,K,A*39 $GPGGA,143344.00,5546.53579,N,02334.25993,E,1,10,1.01,122.4,M,27.0,M,,*55 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,33,09,12,037,27,19,58,203,39,11,36,285,34*7B $GPGSV,3,2,10,14,45,118,34,03,31,183,24,28,19,317,32,22,47,070,41*78 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E $GPGLL,5546.53579,N,02334.25993,E,143344.00,A,A*61 $GPZDA,143344.00,09,12,2009,00,00*62 $GPRMC,143344.50,A,5546.53138,N,02334.25301,E,42.303,221.61,091209,,,A*50 $GPVTG,221.61,T,,M,42.303,N,78.388,K,A*31 $GPGGA,143344.50,5546.53138,N,02334.25301,E,1,10,1.01,122.3,M,27.0,M,,*57 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,33,09,12,037,27,19,58,203,39,11,36,285,34*7B $GPGSV,3,2,10,14,45,118,34,03,31,183,28,28,19,317,32,22,47,070,41*74 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E $GPGLL,5546.53138,N,02334.25301,E,143344.50,A,A*64 $GPZDA,143344.50,09,12,2009,00,00*67 $GPRMC,143345.00,A,5546.52698,N,02334.24607,E,42.393,221.82,091209,,,A*5E $GPVTG,221.82,T,,M,42.393,N,78.553,K,A*35 $GPGGA,143345.00,5546.52698,N,02334.24607,E,1,10,1.01,122.2,M,27.0,M,,*5C $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,39,11,36,285,33*72 $GPGSV,3,2,10,14,45,118,34,03,31,183,28,28,19,317,31,22,47,070,41*77 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E $GPGLL,5546.52698,N,02334.24607,E,143345.00,A,A*6E $GPZDA,143345.00,09,12,2009,00,00*63 $GPRMC,143345.50,A,5546.52259,N,02334.23909,E,42.434,221.88,091209,,,A*54 $GPVTG,221.88,T,,M,42.434,N,78.630,K,A*33 $GPGGA,143345.50,5546.52259,N,02334.23909,E,1,10,1.01,122.1,M,27.0,M,,*55 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,32,09,12,037,27,19,58,203,39,11,36,285,32*7C $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,19,317,31,22,47,070,41*70 $GPGSV,3,3,10,06,26,174,32,26,44,080,37*71 $GPGLL,5546.52259,N,02334.23909,E,143345.50,A,A*64 $GPZDA,143345.50,09,12,2009,00,00*66 $GPRMC,143346.00,A,5546.51820,N,02334.23212,E,42.324,221.82,091209,,,A*58 $GPVTG,221.82,T,,M,42.324,N,78.426,K,A*3A $GPGGA,143346.00,5546.51820,N,02334.23212,E,1,10,1.26,122.2,M,27.0,M,,*53 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,31,09,12,037,27,19,58,203,38,11,36,285,32*7E $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,19,317,30,22,47,070,40*70 $GPGSV,3,3,10,06,26,174,32,26,44,080,37*71 $GPGLL,5546.51820,N,02334.23212,E,143346.00,A,A*64 $GPZDA,143346.00,09,12,2009,00,00*60 $GPRMC,143346.50,A,5546.51382,N,02334.22519,E,42.016,221.97,091209,,,A*55 $GPVTG,221.97,T,,M,42.016,N,77.855,K,A*3B $GPGGA,143346.50,5546.51382,N,02334.22519,E,1,10,1.26,122.2,M,27.0,M,,*58 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,30,09,12,037,28,19,58,203,39,11,36,285,33*70 $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,19,317,30,22,47,070,40*70 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E $GPGLL,5546.51382,N,02334.22519,E,143346.50,A,A*6F $GPZDA,143346.50,09,12,2009,00,00*65 $GPRMC,143347.00,A,5546.50947,N,02334.21831,E,41.750,221.78,091209,,,A*50 $GPVTG,221.78,T,,M,41.750,N,77.363,K,A*32 $GPGGA,143347.00,5546.50947,N,02334.21831,E,1,10,1.26,122.2,M,27.0,M,,*5A $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,31,09,12,037,28,19,58,203,39,11,36,285,33*71 $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,19,317,30,22,47,070,41*71 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E $GPGLL,5546.50947,N,02334.21831,E,143347.00,A,A*6D $GPZDA,143347.00,09,12,2009,00,00*61 $GPRMC,143347.50,A,5546.50515,N,02334.21149,E,41.450,221.70,091209,,,A*53 $GPVTG,221.70,T,,M,41.450,N,76.806,K,A*30 $GPGGA,143347.50,5546.50515,N,02334.21149,E,1,10,1.90,122.2,M,27.0,M,,*5F $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.58,1.90,3.04*0D $GPGSV,3,1,10,32,22,228,31,09,12,037,28,19,58,203,39,11,36,285,33*71 $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,19,317,30,22,47,070,40*70 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E $GPGLL,5546.50515,N,02334.21149,E,143347.50,A,A*65 $GPZDA,143347.50,09,12,2009,00,00*64 $GPRMC,143348.00,A,5546.50086,N,02334.20472,E,41.139,221.46,091209,,,A*55 $GPVTG,221.46,T,,M,41.139,N,76.231,K,A*31 $GPGGA,143348.00,5546.50086,N,02334.20472,E,1,10,1.26,122.2,M,27.0,M,,*5B $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,30,09,12,037,27,19,58,203,38,11,36,285,33*7E $GPGSV,3,2,10,14,45,118,33,03,31,183,27,28,19,317,30,22,47,070,41*7E $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E $GPGLL,5546.50086,N,02334.20472,E,143348.00,A,A*6C $GPZDA,143348.00,09,12,2009,00,00*6E $GPRMC,143348.50,A,5546.49657,N,02334.19806,E,40.840,221.86,091209,,,A*5D $GPVTG,221.86,T,,M,40.840,N,75.676,K,A*3F $GPGGA,143348.50,5546.49657,N,02334.19806,E,1,10,1.26,122.2,M,27.0,M,,*59 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,31,09,12,037,28,19,58,203,38,11,36,285,33*70 $GPGSV,3,2,10,14,45,118,33,03,31,183,27,28,19,317,30,22,47,070,40*7F $GPGSV,3,3,10,06,26,174,32,26,44,080,37*71 $GPGLL,5546.49657,N,02334.19806,E,143348.50,A,A*6E $GPZDA,143348.50,09,12,2009,00,00*6B $GPRMC,143349.00,A,5546.49236,N,02334.19138,E,40.570,221.54,091209,,,A*5F $GPVTG,221.54,T,,M,40.570,N,75.176,K,A*39 $GPGGA,143349.00,5546.49236,N,02334.19138,E,1,10,1.26,122.3,M,27.0,M,,*5B $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,31,09,12,037,28,19,58,203,39,11,36,285,34*76 $GPGSV,3,2,10,14,45,118,32,03,31,183,28,28,19,317,30,22,47,070,41*70 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E $GPGLL,5546.49236,N,02334.19138,E,143349.00,A,A*6D $GPZDA,143349.00,09,12,2009,00,00*6F $GPRMC,143349.50,A,5546.48814,N,02334.18482,E,40.283,221.44,091209,,,A*5E $GPVTG,221.44,T,,M,40.283,N,74.645,K,A*35 $GPGGA,143349.50,5546.48814,N,02334.18482,E,1,10,1.26,122.3,M,27.0,M,,*50 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,31,09,12,037,27,19,58,203,39,11,36,285,34*79 $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,19,317,30,22,47,070,41*71 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E $GPGLL,5546.48814,N,02334.18482,E,143349.50,A,A*66 $GPZDA,143349.50,09,12,2009,00,00*6A $GPRMC,143350.00,A,5546.48395,N,02334.17830,E,39.946,221.60,091209,,,A*51 $GPVTG,221.60,T,,M,39.946,N,74.020,K,A*3A $GPGGA,143350.00,5546.48395,N,02334.17830,E,1,10,1.26,122.3,M,27.0,M,,*55 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,31,09,12,037,27,19,58,203,39,11,36,285,34*79 $GPGSV,3,2,10,14,45,118,32,03,31,183,27,28,19,317,30,22,47,070,41*7F $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E $GPGLL,5546.48395,N,02334.17830,E,143350.00,A,A*63 $GPZDA,143350.00,09,12,2009,00,00*67 $GPRMC,143350.50,A,5546.47981,N,02334.17183,E,39.607,221.50,091209,,,A*5C $GPVTG,221.50,T,,M,39.607,N,73.391,K,A*3D $GPGGA,143350.50,5546.47981,N,02334.17183,E,1,10,1.26,122.4,M,27.0,M,,*56 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,31,09,12,037,27,19,58,203,38,11,36,285,33*7F $GPGSV,3,2,10,14,45,118,32,03,31,183,28,28,19,317,29,22,47,070,40*79 $GPGSV,3,3,10,06,25,174,32,26,44,080,38*7D $GPGLL,5546.47981,N,02334.17183,E,143350.50,A,A*67 $GPZDA,143350.50,09,12,2009,00,00*62 $GPRMC,143351.00,A,5546.47570,N,02334.16543,E,39.198,221.80,091209,,,A*5F $GPVTG,221.80,T,,M,39.198,N,72.634,K,A*3A $GPGGA,143351.00,5546.47570,N,02334.16543,E,1,10,1.26,122.5,M,27.0,M,,*58 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,32,09,12,037,27,19,58,203,38,11,36,285,33*7C $GPGSV,3,2,10,14,45,118,32,03,31,183,27,28,19,317,29,22,47,070,40*76 $GPGSV,3,3,10,06,25,174,33,26,44,080,38*7C $GPGLL,5546.47570,N,02334.16543,E,143351.00,A,A*68 $GPZDA,143351.00,09,12,2009,00,00*66 $GPRMC,143351.50,A,5546.47167,N,02334.15908,E,38.658,221.91,091209,,,A*52 $GPVTG,221.91,T,,M,38.658,N,71.633,K,A*34 $GPGGA,143351.50,5546.47167,N,02334.15908,E,1,10,1.26,122.6,M,27.0,M,,*5C $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,38,11,36,285,33*73 $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,19,317,29,22,47,070,40*78 $GPGSV,3,3,10,06,25,174,33,26,44,080,38*7C $GPGLL,5546.47167,N,02334.15908,E,143351.50,A,A*6F $GPZDA,143351.50,09,12,2009,00,00*63 $GPRMC,143352.00,A,5546.46768,N,02334.15280,E,38.178,222.25,091209,,,A*5E $GPVTG,222.25,T,,M,38.178,N,70.744,K,A*3D $GPGGA,143352.00,5546.46768,N,02334.15280,E,1,10,1.25,122.7,M,27.0,M,,*5B $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.25,3.01*0F $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,38,11,36,285,34*74 $GPGSV,3,2,10,14,45,118,32,03,31,183,28,28,19,317,29,22,47,070,40*79 $GPGSV,3,3,10,06,25,174,33,26,44,080,38*7C $GPGLL,5546.46768,N,02334.15280,E,143352.00,A,A*6A $GPZDA,143352.00,09,12,2009,00,00*65 $GPRMC,143352.50,A,5546.46376,N,02334.14654,E,37.932,221.95,091209,,,A*5D $GPVTG,221.95,T,,M,37.932,N,70.288,K,A*39 $GPGGA,143352.50,5546.46376,N,02334.14654,E,1,10,1.26,122.8,M,27.0,M,,*55 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,30,09,12,037,28,19,58,203,38,11,36,285,34*76 $GPGSV,3,2,10,14,45,118,32,03,31,183,28,28,19,317,29,22,47,070,40*79 $GPGSV,3,3,10,06,25,174,33,26,44,080,38*7C $GPGLL,5546.46376,N,02334.14654,E,143352.50,A,A*68 $GPZDA,143352.50,09,12,2009,00,00*60 $GPRMC,143353.00,A,5546.45986,N,02334.14036,E,37.561,221.99,091209,,,A*5B $GPVTG,221.99,T,,M,37.561,N,69.601,K,A*32 $GPGGA,143353.00,5546.45986,N,02334.14036,E,1,10,1.26,123.0,M,27.0,M,,*5C $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,31,09,12,037,28,19,58,203,38,11,36,285,33*70 $GPGSV,3,2,10,14,45,118,32,03,31,183,29,28,19,317,29,22,47,070,40*78 $GPGSV,3,3,10,06,25,174,33,26,44,080,38*7C $GPGLL,5546.45986,N,02334.14036,E,143353.00,A,A*68 $GPZDA,143353.00,09,12,2009,00,00*64 $GPRMC,143353.50,A,5546.45601,N,02334.13425,E,36.999,221.72,091209,,,A*50 $GPVTG,221.72,T,,M,36.999,N,68.559,K,A*32 $GPGGA,143353.50,5546.45601,N,02334.13425,E,1,10,1.26,123.1,M,27.0,M,,*59 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,38,11,36,285,33*73 $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,19,317,29,22,47,070,40*78 $GPGSV,3,3,10,06,25,174,32,26,44,080,38*7D $GPGLL,5546.45601,N,02334.13425,E,143353.50,A,A*6C $GPZDA,143353.50,09,12,2009,00,00*61 $GPRMC,143354.00,A,5546.45220,N,02334.12827,E,36.320,221.89,091209,,,A*56 $GPVTG,221.89,T,,M,36.320,N,67.300,K,A*3B $GPGGA,143354.00,5546.45220,N,02334.12827,E,1,10,1.26,123.3,M,27.0,M,,*51 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,31,09,12,037,28,19,58,203,38,11,36,285,33*70 $GPGSV,3,2,10,14,45,118,32,03,31,183,28,28,19,317,29,22,47,070,40*79 $GPGSV,3,3,10,06,25,174,32,26,44,080,38*7D $GPGLL,5546.45220,N,02334.12827,E,143354.00,A,A*66 $GPZDA,143354.00,09,12,2009,00,00*63 $GPRMC,143354.50,A,5546.44845,N,02334.12240,E,35.710,221.48,091209,,,A*59 $GPVTG,221.48,T,,M,35.710,N,66.170,K,A*36 $GPGGA,143354.50,5546.44845,N,02334.12240,E,1,10,1.26,123.5,M,27.0,M,,*51 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,31,09,12,037,28,19,58,203,38,11,36,285,34*77 $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,19,317,29,22,47,070,40*78 $GPGSV,3,3,10,06,25,174,32,26,44,080,37*72 $GPGLL,5546.44845,N,02334.12240,E,143354.50,A,A*60 $GPZDA,143354.50,09,12,2009,00,00*66 $GPRMC,143355.00,A,5546.44478,N,02334.11667,E,34.871,221.47,091209,,,A*5B $GPVTG,221.47,T,,M,34.871,N,64.615,K,A*36 $GPGGA,143355.00,5546.44478,N,02334.11667,E,1,10,1.25,123.5,M,27.0,M,,*56 $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.25,3.01*0F $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,38,11,36,285,34*74 $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,19,317,29,22,47,070,40*78 $GPGSV,3,3,10,06,25,174,32,26,44,080,38*7D $GPGLL,5546.44478,N,02334.11667,E,143355.00,A,A*64 $GPZDA,143355.00,09,12,2009,00,00*62 gpsd-3.9/test/daemon/bt451.log.chk0000664000175000017500000050574212135526263015042 0ustar esresr$GPTXT,01,01,02,u-blox ag - www.u-blox.com*50 $GPTXT,01,01,02,ANTARIS ATR062x HW 80040001*26 $GPTXT,01,01,02,ROM CORE 5.00 Jan 09 2006 12:00:00*76 $GPTXT,01,01,02,LIC 1EBF-BD07-E83D-6BE1-0F7A*50 $GPTXT,01,01,02,ANTSUPERV=AC SD OD PDoS *0A $GPTXT,01,01,02,ANTSTATUS=OK*3B $GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPZDA,,,,,00,00*48 $GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPZDA,,,,,00,00*48 $GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPZDA,,,,,00,00*48 $GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPZDA,,,,,00,00*48 $GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPZDA,,,,,00,00*48 $GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPZDA,,,,,00,00*48 $GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPZDA,,,,,00,00*48 $GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPZDA,,,,,00,00*48 $GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPZDA,,,,,00,00*48 $GPRMC,,V,,,,,,,,,,N*53 $GPVTG,,,,,,,,,N*30 $GPGGA,,,,,,0,00,99.99,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPZDA,,,,,00,00*48 $GPGLL,5547.82107,N,02334.14132,E,152504.50,A,A*67 {"class":"TPV","tag":"GLL","mode":2,"lat":55.797017833,"lon":23.569022000} $GPZDA,152504.50,09,12,2009,00,00*65 $GPRMC,152505.00,A,5547.82113,N,02334.14130,E,0.253,,091209,,,A*7A $GPVTG,,T,,M,0.253,N,0.469,K,A*2C $GPGGA,152505.00,5547.82113,N,02334.14130,E,1,04,2.72,37.0,M,26.9,M,,*6B $GPGSA,A,3,26,32,11,14,,,,,,,,,6.25,2.72,5.62*05 $GPGSV,2,1,07,26,34,052,33,19,,,36,32,45,237,42,06,,,34*75 $GPGSV,2,2,07,22,,,40,11,57,277,40,14,51,083,38*7F {"class":"SKY","tag":"GSV","vdop":5.62,"hdop":2.72,"pdop":6.25,"satellites":[{"PRN":26,"el":34,"az":52,"ss":33,"used":true},{"PRN":19,"el":0,"az":0,"ss":36,"used":false},{"PRN":32,"el":45,"az":237,"ss":42,"used":true},{"PRN":6,"el":0,"az":0,"ss":34,"used":false},{"PRN":22,"el":0,"az":0,"ss":40,"used":false},{"PRN":11,"el":57,"az":277,"ss":40,"used":true},{"PRN":14,"el":51,"az":83,"ss":38,"used":true}]} $GPGLL,5547.82113,N,02334.14130,E,152505.00,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T15:25:05.000Z","ept":0.005,"lat":55.797018833,"lon":23.569021667,"alt":37.000,"epv":129.260,"track":0.0000,"speed":0.130,"climb":0.000} $GPZDA,152505.00,09,12,2009,00,00*61 $GPRMC,152505.50,A,5547.82119,N,02334.14124,E,0.265,,091209,,,A*75 $GPVTG,,T,,M,0.265,N,0.491,K,A*2E $GPGGA,152505.50,5547.82119,N,02334.14124,E,1,04,2.72,36.7,M,26.9,M,,*67 $GPGSA,A,3,26,32,11,14,,,,,,,,,6.24,2.72,5.62*04 $GPGSV,2,1,07,26,34,052,34,19,,,36,32,45,237,42,06,,,34*72 $GPGSV,2,2,07,22,,,40,11,57,277,41,14,51,083,38*7E {"class":"SKY","tag":"GSV","vdop":5.62,"hdop":2.72,"pdop":6.24,"satellites":[{"PRN":26,"el":34,"az":52,"ss":34,"used":true},{"PRN":19,"el":0,"az":0,"ss":36,"used":false},{"PRN":32,"el":45,"az":237,"ss":42,"used":true},{"PRN":6,"el":0,"az":0,"ss":34,"used":false},{"PRN":22,"el":0,"az":0,"ss":40,"used":false},{"PRN":11,"el":57,"az":277,"ss":41,"used":true},{"PRN":14,"el":51,"az":83,"ss":38,"used":true}]} $GPGLL,5547.82119,N,02334.14124,E,152505.50,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T15:25:05.500Z","ept":0.005,"lat":55.797019833,"lon":23.569020667,"alt":36.700,"epv":129.260,"track":0.0000,"speed":0.136,"climb":0.000} $GPZDA,152505.50,09,12,2009,00,00*64 $GPRMC,152506.00,A,5547.82126,N,02334.14117,E,0.340,,091209,,,A*79 $GPVTG,,T,,M,0.340,N,0.631,K,A*20 $GPGGA,152506.00,5547.82126,N,02334.14117,E,1,04,2.72,36.5,M,26.9,M,,*6F $GPGSA,A,3,26,32,11,14,,,,,,,,,6.25,2.72,5.62*05 $GPGSV,2,1,07,26,34,052,34,19,,,37,32,45,237,42,06,,,34*73 $GPGSV,2,2,07,22,,,40,11,57,277,41,14,51,083,39*7F {"class":"SKY","tag":"GSV","vdop":5.62,"hdop":2.72,"pdop":6.25,"satellites":[{"PRN":26,"el":34,"az":52,"ss":34,"used":true},{"PRN":19,"el":0,"az":0,"ss":37,"used":false},{"PRN":32,"el":45,"az":237,"ss":42,"used":true},{"PRN":6,"el":0,"az":0,"ss":34,"used":false},{"PRN":22,"el":0,"az":0,"ss":40,"used":false},{"PRN":11,"el":57,"az":277,"ss":41,"used":true},{"PRN":14,"el":51,"az":83,"ss":39,"used":true}]} $GPGLL,5547.82126,N,02334.14117,E,152506.00,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T15:25:06.000Z","ept":0.005,"lat":55.797021000,"lon":23.569019500,"alt":36.500,"epv":129.260,"track":0.0000,"speed":0.175,"climb":0.000} $GPZDA,152506.00,09,12,2009,00,00*62 $GPRMC,152506.50,A,5547.82132,N,02334.14113,E,0.336,,091209,,,A*7C $GPVTG,,T,,M,0.336,N,0.623,K,A*22 $GPGGA,152506.50,5547.82132,N,02334.14113,E,1,04,2.72,36.2,M,26.9,M,,*6C $GPGSA,A,3,26,32,11,14,,,,,,,,,6.24,2.72,5.62*04 $GPGSV,2,1,07,26,34,052,35,19,,,37,32,45,237,43,06,,,35*72 $GPGSV,2,2,07,22,,,41,11,57,277,41,14,51,083,39*7E {"class":"SKY","tag":"GSV","vdop":5.62,"hdop":2.72,"pdop":6.24,"satellites":[{"PRN":26,"el":34,"az":52,"ss":35,"used":true},{"PRN":19,"el":0,"az":0,"ss":37,"used":false},{"PRN":32,"el":45,"az":237,"ss":43,"used":true},{"PRN":6,"el":0,"az":0,"ss":35,"used":false},{"PRN":22,"el":0,"az":0,"ss":41,"used":false},{"PRN":11,"el":57,"az":277,"ss":41,"used":true},{"PRN":14,"el":51,"az":83,"ss":39,"used":true}]} $GPGLL,5547.82132,N,02334.14113,E,152506.50,A,A*60 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T15:25:06.500Z","ept":0.005,"lat":55.797022000,"lon":23.569018833,"alt":36.200,"epv":129.260,"track":0.0000,"speed":0.173,"climb":0.000} $GPZDA,152506.50,09,12,2009,00,00*67 $GPRMC,152507.00,A,5547.82139,N,02334.14105,E,0.371,16.99,091209,,,A*5E $GPVTG,16.99,T,,M,0.371,N,0.687,K,A*06 $GPGGA,152507.00,5547.82139,N,02334.14105,E,1,04,2.72,36.0,M,26.9,M,,*66 $GPGSA,A,3,26,32,11,14,,,,,,,,,6.24,2.72,5.62*04 $GPGSV,2,1,07,26,34,052,35,19,,,37,32,45,237,42,06,,,35*73 $GPGSV,2,2,07,22,,,40,11,57,277,41,14,51,083,39*7F {"class":"SKY","tag":"GSV","vdop":5.62,"hdop":2.72,"pdop":6.24,"satellites":[{"PRN":26,"el":34,"az":52,"ss":35,"used":true},{"PRN":19,"el":0,"az":0,"ss":37,"used":false},{"PRN":32,"el":45,"az":237,"ss":42,"used":true},{"PRN":6,"el":0,"az":0,"ss":35,"used":false},{"PRN":22,"el":0,"az":0,"ss":40,"used":false},{"PRN":11,"el":57,"az":277,"ss":41,"used":true},{"PRN":14,"el":51,"az":83,"ss":39,"used":true}]} $GPGLL,5547.82139,N,02334.14105,E,152507.00,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T15:25:07.000Z","ept":0.005,"lat":55.797023167,"lon":23.569017500,"alt":36.000,"epv":129.260,"track":16.9900,"speed":0.191,"climb":0.000} $GPZDA,152507.00,09,12,2009,00,00*63 $GPRMC,152507.50,A,5547.82145,N,02334.14098,E,0.309,,091209,,,A*73 $GPVTG,,T,,M,0.309,N,0.572,K,A*29 $GPGGA,152507.50,5547.82145,N,02334.14098,E,1,04,2.72,35.7,M,26.9,M,,*69 $GPGSA,A,3,26,32,11,14,,,,,,,,,6.24,2.72,5.62*04 $GPGSV,2,1,07,26,34,052,35,19,,,37,32,45,237,42,06,,,34*72 $GPGSV,2,2,07,22,,,40,11,57,277,41,14,51,083,39*7F {"class":"SKY","tag":"GSV","vdop":5.62,"hdop":2.72,"pdop":6.24,"satellites":[{"PRN":26,"el":34,"az":52,"ss":35,"used":true},{"PRN":19,"el":0,"az":0,"ss":37,"used":false},{"PRN":32,"el":45,"az":237,"ss":42,"used":true},{"PRN":6,"el":0,"az":0,"ss":34,"used":false},{"PRN":22,"el":0,"az":0,"ss":40,"used":false},{"PRN":11,"el":57,"az":277,"ss":41,"used":true},{"PRN":14,"el":51,"az":83,"ss":39,"used":true}]} $GPGLL,5547.82145,N,02334.14098,E,152507.50,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T15:25:07.500Z","ept":0.005,"lat":55.797024167,"lon":23.569016333,"alt":35.700,"epv":129.260,"track":0.0000,"speed":0.159,"climb":0.000} $GPZDA,152507.50,09,12,2009,00,00*66 $GPRMC,152508.00,A,5547.82150,N,02334.14092,E,0.309,,091209,,,A*77 $GPVTG,,T,,M,0.309,N,0.573,K,A*28 $GPGGA,152508.00,5547.82150,N,02334.14092,E,1,04,2.72,35.5,M,26.9,M,,*6F $GPGSA,A,3,26,32,11,14,,,,,,,,,6.24,2.72,5.62*04 $GPGSV,2,1,07,26,34,052,33,19,,,36,32,45,237,41,06,,,33*71 $GPGSV,2,2,07,22,,,39,11,57,277,40,14,51,083,38*71 {"class":"SKY","tag":"GSV","vdop":5.62,"hdop":2.72,"pdop":6.24,"satellites":[{"PRN":26,"el":34,"az":52,"ss":33,"used":true},{"PRN":19,"el":0,"az":0,"ss":36,"used":false},{"PRN":32,"el":45,"az":237,"ss":41,"used":true},{"PRN":6,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":0,"az":0,"ss":39,"used":false},{"PRN":11,"el":57,"az":277,"ss":40,"used":true},{"PRN":14,"el":51,"az":83,"ss":38,"used":true}]} $GPGLL,5547.82150,N,02334.14092,E,152508.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T15:25:08.000Z","ept":0.005,"lat":55.797025000,"lon":23.569015333,"alt":35.500,"epv":129.260,"track":0.0000,"speed":0.159,"climb":0.000} $GPZDA,152508.00,09,12,2009,00,00*6C $GPRMC,152508.50,A,5547.82156,N,02334.14086,E,0.296,,091209,,,A*76 $GPVTG,,T,,M,0.296,N,0.549,K,A*26 $GPGGA,152508.50,5547.82156,N,02334.14086,E,1,04,2.73,35.3,M,26.9,M,,*6E $GPGSA,A,3,26,32,11,14,,,,,,,,,6.24,2.73,5.62*05 $GPGSV,3,1,11,26,34,052,32,19,,,34,20,,,29,32,45,237,39*74 $GPGSV,3,2,11,02,,,26,06,,,31,18,,,30,24,,,27*73 $GPGSV,3,3,11,22,,,37,11,57,277,38,14,51,083,36*79 {"class":"SKY","tag":"GSV","vdop":5.62,"hdop":2.73,"pdop":6.24,"satellites":[{"PRN":26,"el":34,"az":52,"ss":32,"used":true},{"PRN":19,"el":0,"az":0,"ss":34,"used":false},{"PRN":20,"el":0,"az":0,"ss":29,"used":false},{"PRN":32,"el":45,"az":237,"ss":39,"used":true},{"PRN":2,"el":0,"az":0,"ss":26,"used":false},{"PRN":6,"el":0,"az":0,"ss":31,"used":false},{"PRN":18,"el":0,"az":0,"ss":30,"used":false},{"PRN":24,"el":0,"az":0,"ss":27,"used":false},{"PRN":22,"el":0,"az":0,"ss":37,"used":false},{"PRN":11,"el":57,"az":277,"ss":38,"used":true},{"PRN":14,"el":51,"az":83,"ss":36,"used":true}]} $GPGGA,143306.00,5546.83315,N,02334.72613,E,1,08,1.28,129.9,M,26.9,M,,*5B {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-10T14:33:06.000Z","ept":0.005,"lat":55.780552500,"lon":23.578768833,"alt":129.900,"epv":129.260,"speed":0.023,"climb":0.001} $GPGSA,A,3,09,19,11,14,03,22,06,26,,,,,3.65,1.28,3.41*0A $GPGSV,3,1,10,32,22,227,34,09,12,038,29,19,58,204,39,11,36,285,35*74 $GPGSV,3,2,10,14,45,118,34,03,31,183,30,28,,,32,22,47,070,42*43 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.41,"tdop":0.92,"hdop":1.28,"gdop":2.24,"pdop":3.65,"satellites":[{"PRN":32,"el":22,"az":227,"ss":34,"used":false},{"PRN":9,"el":12,"az":38,"ss":29,"used":true},{"PRN":19,"el":58,"az":204,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":30,"used":true},{"PRN":28,"el":0,"az":0,"ss":32,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.83315,N,02334.72613,E,143306.00,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-10T14:33:06.000Z","ept":0.005,"lat":55.780552500,"lon":23.578768833,"alt":129.900,"epx":10.912,"epy":11.668,"epv":129.260,"speed":0.023,"climb":0.001} $GPZDA,143306.00,09,12,2009,00,00*64 $GPRMC,143306.50,A,5546.82983,N,02334.72123,E,30.324,221.16,091209,,,A*52 $GPVTG,221.16,T,,M,30.324,N,56.191,K,A*37 $GPGGA,143306.50,5546.82983,N,02334.72123,E,1,09,1.26,128.9,M,26.9,M,,*50 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:06.500Z","ept":0.005,"lat":55.780497167,"lon":23.578687167,"alt":128.900,"epx":10.912,"epy":11.668,"epv":78.430,"track":221.1600,"speed":15.600,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,2.99*05 $GPGSV,3,1,10,32,22,227,35,09,12,038,29,19,58,204,39,11,36,285,36*76 $GPGSV,3,2,10,14,45,118,34,03,31,183,30,28,,,34,22,47,070,42*45 $GPGSV,3,3,10,06,26,174,33,26,44,080,38*7F {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":2.99,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":227,"ss":35,"used":true},{"PRN":9,"el":12,"az":38,"ss":29,"used":true},{"PRN":19,"el":58,"az":204,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":30,"used":true},{"PRN":28,"el":0,"az":0,"ss":34,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.82983,N,02334.72123,E,143306.50,A,A*66 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:06.500Z","ept":0.005,"lat":55.780497167,"lon":23.578687167,"alt":128.900,"epx":10.912,"epy":11.668,"epv":78.430,"track":221.1600,"speed":15.600,"climb":0.000,"eps":46.67} $GPZDA,143306.50,09,12,2009,00,00*61 $GPRMC,143307.00,A,5546.82649,N,02334.71625,E,30.860,221.48,091209,,,A*5D $GPVTG,221.48,T,,M,30.860,N,57.183,K,A*35 $GPGGA,143307.00,5546.82649,N,02334.71625,E,1,09,1.26,128.1,M,26.9,M,,*57 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:07.000Z","ept":0.005,"lat":55.780441500,"lon":23.578604167,"alt":128.100,"epx":10.912,"epy":11.668,"epv":68.770,"track":221.4800,"speed":15.876,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,227,35,09,12,038,29,19,58,204,40,11,36,285,36*78 $GPGSV,3,2,10,14,45,118,34,03,31,183,30,28,,,35,22,47,070,43*45 $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":227,"ss":35,"used":true},{"PRN":9,"el":12,"az":38,"ss":29,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":30,"used":true},{"PRN":28,"el":0,"az":0,"ss":35,"used":false},{"PRN":22,"el":47,"az":70,"ss":43,"used":true},{"PRN":6,"el":26,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.82649,N,02334.71625,E,143307.00,A,A*69 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:07.000Z","ept":0.005,"lat":55.780441500,"lon":23.578604167,"alt":128.100,"epx":10.912,"epy":11.668,"epv":68.770,"track":221.4800,"speed":15.876,"climb":0.000,"eps":46.67} $GPZDA,143307.00,09,12,2009,00,00*65 $GPRMC,143307.50,A,5546.82314,N,02334.71118,E,31.351,221.51,091209,,,A*5C $GPVTG,221.51,T,,M,31.351,N,58.092,K,A*3B $GPGGA,143307.50,5546.82314,N,02334.71118,E,1,09,1.26,127.5,M,26.9,M,,*5D {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:07.500Z","ept":0.005,"lat":55.780385667,"lon":23.578519667,"alt":127.500,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5100,"speed":16.128,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,227,35,09,12,038,29,19,58,204,40,11,36,285,36*78 $GPGSV,3,2,10,14,45,118,34,03,31,183,30,28,,,33,22,47,070,43*43 $GPGSV,3,3,10,06,26,174,34,26,44,080,38*78 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":227,"ss":35,"used":true},{"PRN":9,"el":12,"az":38,"ss":29,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":30,"used":true},{"PRN":28,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":47,"az":70,"ss":43,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.82314,N,02334.71118,E,143307.50,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:07.500Z","ept":0.005,"lat":55.780385667,"lon":23.578519667,"alt":127.500,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5100,"speed":16.128,"climb":0.000,"eps":46.67} $GPZDA,143307.50,09,12,2009,00,00*60 $GPRMC,143308.00,A,5546.81975,N,02334.70604,E,32.000,221.54,091209,,,A*52 $GPVTG,221.54,T,,M,32.000,N,59.295,K,A*3E $GPGGA,143308.00,5546.81975,N,02334.70604,E,1,09,1.26,127.1,M,26.9,M,,*56 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:08.000Z","ept":0.005,"lat":55.780329167,"lon":23.578434000,"alt":127.100,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5400,"speed":16.462,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,227,36,09,12,038,29,19,58,204,41,11,36,285,37*7B $GPGSV,3,2,10,14,45,118,35,03,31,183,29,28,,,33,22,47,070,43*4A $GPGSV,3,3,10,06,26,174,35,26,44,080,38*79 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":227,"ss":36,"used":true},{"PRN":9,"el":12,"az":38,"ss":29,"used":true},{"PRN":19,"el":58,"az":204,"ss":41,"used":true},{"PRN":11,"el":36,"az":285,"ss":37,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":29,"used":true},{"PRN":28,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":47,"az":70,"ss":43,"used":true},{"PRN":6,"el":26,"az":174,"ss":35,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.81975,N,02334.70604,E,143308.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:08.000Z","ept":0.005,"lat":55.780329167,"lon":23.578434000,"alt":127.100,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5400,"speed":16.462,"climb":0.000,"eps":46.67} $GPZDA,143308.00,09,12,2009,00,00*6A $GPRMC,143308.50,A,5546.81633,N,02334.70079,E,32.273,221.54,091209,,,A*50 $GPVTG,221.54,T,,M,32.273,N,59.802,K,A*3C $GPGGA,143308.50,5546.81633,N,02334.70079,E,1,09,1.26,126.8,M,26.9,M,,*5A {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:08.500Z","ept":0.005,"lat":55.780272167,"lon":23.578346500,"alt":126.800,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5400,"speed":16.603,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,227,34,09,12,038,29,19,58,204,40,11,36,285,35*7A $GPGSV,3,2,10,14,45,118,35,03,31,183,27,28,,,32,22,47,070,42*44 $GPGSV,3,3,10,06,26,174,34,26,44,080,37*77 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":227,"ss":34,"used":true},{"PRN":9,"el":12,"az":38,"ss":29,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":27,"used":true},{"PRN":28,"el":0,"az":0,"ss":32,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":37,"used":true}]} $GPGLL,5546.81633,N,02334.70079,E,143308.50,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:08.500Z","ept":0.005,"lat":55.780272167,"lon":23.578346500,"alt":126.800,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5400,"speed":16.603,"climb":0.000,"eps":46.67} $GPZDA,143308.50,09,12,2009,00,00*6F $GPRMC,143309.00,A,5546.81291,N,02334.69552,E,32.094,221.48,091209,,,A*5A $GPVTG,221.48,T,,M,32.094,N,59.470,K,A*33 $GPGGA,143309.00,5546.81291,N,02334.69552,E,1,09,1.26,126.4,M,26.9,M,,*5A {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:09.000Z","ept":0.005,"lat":55.780215167,"lon":23.578258667,"alt":126.400,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.4800,"speed":16.511,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,2.99*05 $GPGSV,3,1,10,32,22,227,34,09,12,038,29,19,58,204,39,11,36,285,35*74 $GPGSV,3,2,10,14,45,118,34,03,31,183,27,28,,,32,22,47,070,42*45 $GPGSV,3,3,10,06,26,174,34,26,44,080,38*78 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":2.99,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":227,"ss":34,"used":true},{"PRN":9,"el":12,"az":38,"ss":29,"used":true},{"PRN":19,"el":58,"az":204,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":27,"used":true},{"PRN":28,"el":0,"az":0,"ss":32,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.81291,N,02334.69552,E,143309.00,A,A*6F {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:09.000Z","ept":0.005,"lat":55.780215167,"lon":23.578258667,"alt":126.400,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.4800,"speed":16.511,"climb":0.000,"eps":46.67} $GPZDA,143309.00,09,12,2009,00,00*6B $GPRMC,143309.50,A,5546.80952,N,02334.69029,E,32.096,221.46,091209,,,A*5F $GPVTG,221.46,T,,M,32.096,N,59.474,K,A*3B $GPGGA,143309.50,5546.80952,N,02334.69029,E,1,09,1.26,126.2,M,26.9,M,,*55 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:09.500Z","ept":0.005,"lat":55.780158667,"lon":23.578171500,"alt":126.200,"epx":10.912,"epy":11.668,"epv":68.770,"track":221.4600,"speed":16.512,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,227,34,09,12,038,28,19,58,204,40,11,36,285,35*7B $GPGSV,3,2,10,14,45,118,33,03,31,183,29,28,,,32,22,47,070,42*4C $GPGSV,3,3,10,06,26,174,33,26,44,080,38*7F {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":227,"ss":34,"used":true},{"PRN":9,"el":12,"az":38,"ss":28,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":33,"used":true},{"PRN":3,"el":31,"az":183,"ss":29,"used":true},{"PRN":28,"el":0,"az":0,"ss":32,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.80952,N,02334.69029,E,143309.50,A,A*66 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:09.500Z","ept":0.005,"lat":55.780158667,"lon":23.578171500,"alt":126.200,"epx":10.912,"epy":11.668,"epv":68.770,"track":221.4600,"speed":16.512,"climb":0.000,"eps":46.67} $GPZDA,143309.50,09,12,2009,00,00*6E $GPRMC,143310.00,A,5546.80598,N,02334.68514,E,32.192,221.20,091209,,,A*57 $GPVTG,221.20,T,,M,32.192,N,59.652,K,A*38 $GPGGA,143310.00,5546.80598,N,02334.68514,E,1,09,1.26,125.3,M,27.0,M,,*52 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:10.000Z","ept":0.005,"lat":55.780099667,"lon":23.578085667,"alt":125.300,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.2000,"speed":16.561,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,227,33,09,12,038,28,19,58,204,40,11,36,285,35*7C $GPGSV,3,2,10,14,45,118,34,03,31,183,26,28,,,32,22,47,070,42*44 $GPGSV,3,3,10,06,26,174,34,26,44,080,38*78 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":227,"ss":33,"used":true},{"PRN":9,"el":12,"az":38,"ss":28,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":26,"used":true},{"PRN":28,"el":0,"az":0,"ss":32,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.80598,N,02334.68514,E,143310.00,A,A*6B {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:10.000Z","ept":0.005,"lat":55.780099667,"lon":23.578085667,"alt":125.300,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.2000,"speed":16.561,"climb":0.000,"eps":46.67} $GPZDA,143310.00,09,12,2009,00,00*63 $GPRMC,143310.50,A,5546.80248,N,02334.67996,E,32.361,221.42,091209,,,A*5B $GPVTG,221.42,T,,M,32.361,N,59.964,K,A*38 $GPGGA,143310.50,5546.80248,N,02334.67996,E,1,09,1.26,124.7,M,27.0,M,,*51 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:10.500Z","ept":0.005,"lat":55.780041333,"lon":23.577999333,"alt":124.700,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.4200,"speed":16.648,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,227,33,09,12,038,28,19,58,204,40,11,36,285,36*7F $GPGSV,3,2,10,14,45,118,34,03,31,183,26,28,,,32,22,47,070,42*44 $GPGSV,3,3,10,06,26,174,34,26,44,080,38*78 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":227,"ss":33,"used":true},{"PRN":9,"el":12,"az":38,"ss":28,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":26,"used":true},{"PRN":28,"el":0,"az":0,"ss":32,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.80248,N,02334.67996,E,143310.50,A,A*6D {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:10.500Z","ept":0.005,"lat":55.780041333,"lon":23.577999333,"alt":124.700,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.4200,"speed":16.648,"climb":0.000,"eps":46.67} $GPZDA,143310.50,09,12,2009,00,00*66 $GPRMC,143311.00,A,5546.79900,N,02334.67471,E,32.559,221.33,091209,,,A*51 $GPVTG,221.33,T,,M,32.559,N,60.331,K,A*33 $GPGGA,143311.00,5546.79900,N,02334.67471,E,1,09,1.26,124.2,M,27.0,M,,*55 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:11.000Z","ept":0.005,"lat":55.779983333,"lon":23.577911833,"alt":124.200,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.3300,"speed":16.750,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,227,33,09,12,038,28,19,58,204,40,11,36,285,36*7F $GPGSV,3,2,10,14,45,118,34,03,31,183,22,28,,,32,22,47,070,42*40 $GPGSV,3,3,10,06,26,174,34,26,44,080,38*78 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":227,"ss":33,"used":true},{"PRN":9,"el":12,"az":38,"ss":28,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":22,"used":true},{"PRN":28,"el":0,"az":0,"ss":32,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.79900,N,02334.67471,E,143311.00,A,A*6C {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:11.000Z","ept":0.005,"lat":55.779983333,"lon":23.577911833,"alt":124.200,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.3300,"speed":16.750,"climb":0.000,"eps":46.67} $GPZDA,143311.00,09,12,2009,00,00*62 $GPRMC,143311.50,A,5546.79553,N,02334.66940,E,32.825,221.71,091209,,,A*50 $GPVTG,221.71,T,,M,32.825,N,60.825,K,A*3D $GPGGA,143311.50,5546.79553,N,02334.66940,E,1,09,1.26,123.8,M,27.0,M,,*59 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:11.500Z","ept":0.005,"lat":55.779925500,"lon":23.577823333,"alt":123.800,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.7100,"speed":16.887,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,227,33,09,12,038,28,19,58,204,40,11,36,285,36*7F $GPGSV,3,2,10,14,45,118,34,03,31,183,23,28,,,32,22,47,070,42*41 $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":227,"ss":33,"used":true},{"PRN":9,"el":12,"az":38,"ss":28,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":23,"used":true},{"PRN":28,"el":0,"az":0,"ss":32,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.79553,N,02334.66940,E,143311.50,A,A*6D {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:11.500Z","ept":0.005,"lat":55.779925500,"lon":23.577823333,"alt":123.800,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.7100,"speed":16.887,"climb":0.000,"eps":46.67} $GPZDA,143311.50,09,12,2009,00,00*67 $GPRMC,143312.00,A,5546.79205,N,02334.66400,E,33.180,221.70,091209,,,A*5D $GPVTG,221.70,T,,M,33.180,N,61.482,K,A*3B $GPGGA,143312.00,5546.79205,N,02334.66400,E,1,09,1.26,123.5,M,27.0,M,,*5F {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:12.000Z","ept":0.005,"lat":55.779867500,"lon":23.577733333,"alt":123.500,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.7000,"speed":17.069,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,227,33,09,12,038,28,19,58,204,40,11,36,285,36*7F $GPGSV,3,2,10,14,45,118,35,03,31,183,25,28,,,32,22,47,070,42*46 $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":227,"ss":33,"used":true},{"PRN":9,"el":12,"az":38,"ss":28,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":25,"used":true},{"PRN":28,"el":0,"az":0,"ss":32,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.79205,N,02334.66400,E,143312.00,A,A*66 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:12.000Z","ept":0.005,"lat":55.779867500,"lon":23.577733333,"alt":123.500,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.7000,"speed":17.069,"climb":0.000,"eps":46.67} $GPZDA,143312.00,09,12,2009,00,00*61 $GPRMC,143312.50,A,5546.78854,N,02334.65855,E,33.465,221.75,091209,,,A*53 $GPVTG,221.75,T,,M,33.465,N,62.011,K,A*3D $GPGGA,143312.50,5546.78854,N,02334.65855,E,1,09,1.26,123.3,M,27.0,M,,*5C {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:12.500Z","ept":0.005,"lat":55.779809000,"lon":23.577642500,"alt":123.300,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.7500,"speed":17.216,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,34,09,12,038,28,19,58,204,40,11,36,285,36*77 $GPGSV,3,2,10,14,45,118,35,03,31,183,25,28,,,32,22,47,070,42*46 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":34,"used":true},{"PRN":9,"el":12,"az":38,"ss":28,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":25,"used":true},{"PRN":28,"el":0,"az":0,"ss":32,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.78854,N,02334.65855,E,143312.50,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:12.500Z","ept":0.005,"lat":55.779809000,"lon":23.577642500,"alt":123.300,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.7500,"speed":17.216,"climb":0.000,"eps":46.67} $GPZDA,143312.50,09,12,2009,00,00*64 $GPRMC,143313.00,A,5546.78498,N,02334.65304,E,33.998,221.45,091209,,,A*58 $GPVTG,221.45,T,,M,33.998,N,62.999,K,A*38 $GPGGA,143313.00,5546.78498,N,02334.65304,E,1,09,1.26,123.2,M,27.0,M,,*5A {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:13.000Z","ept":0.005,"lat":55.779749667,"lon":23.577550667,"alt":123.200,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.4500,"speed":17.490,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,34,09,12,038,28,19,58,204,40,11,36,285,36*77 $GPGSV,3,2,10,14,45,118,35,03,31,183,21,28,,,32,22,47,070,42*42 $GPGSV,3,3,10,06,26,174,35,26,44,080,39*78 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":34,"used":true},{"PRN":9,"el":12,"az":38,"ss":28,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":21,"used":true},{"PRN":28,"el":0,"az":0,"ss":32,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":35,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.78498,N,02334.65304,E,143313.00,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:13.000Z","ept":0.005,"lat":55.779749667,"lon":23.577550667,"alt":123.200,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.4500,"speed":17.490,"climb":0.000,"eps":46.67} $GPZDA,143313.00,09,12,2009,00,00*60 $GPRMC,143313.50,A,5546.78137,N,02334.64747,E,34.471,221.60,091209,,,A*55 $GPVTG,221.60,T,,M,34.471,N,63.875,K,A*30 $GPGGA,143313.50,5546.78137,N,02334.64747,E,1,09,1.26,123.0,M,27.0,M,,*5F {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:13.500Z","ept":0.005,"lat":55.779689500,"lon":23.577457833,"alt":123.000,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.6000,"speed":17.733,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,34,09,12,038,28,19,58,204,41,11,36,285,37*77 $GPGSV,3,2,10,14,45,118,35,03,31,183,22,28,,,33,22,47,070,42*40 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":34,"used":true},{"PRN":9,"el":12,"az":38,"ss":28,"used":true},{"PRN":19,"el":58,"az":204,"ss":41,"used":true},{"PRN":11,"el":36,"az":285,"ss":37,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":22,"used":true},{"PRN":28,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.78137,N,02334.64747,E,143313.50,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:13.500Z","ept":0.005,"lat":55.779689500,"lon":23.577457833,"alt":123.000,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.6000,"speed":17.733,"climb":0.000,"eps":46.67} $GPZDA,143313.50,09,12,2009,00,00*65 $GPRMC,143314.00,A,5546.77773,N,02334.64182,E,34.916,221.39,091209,,,A*51 $GPVTG,221.39,T,,M,34.916,N,64.699,K,A*3B $GPGGA,143314.00,5546.77773,N,02334.64182,E,1,09,1.26,122.8,M,27.0,M,,*52 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:14.000Z","ept":0.005,"lat":55.779628833,"lon":23.577363667,"alt":122.800,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.3900,"speed":17.962,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,34,09,12,038,28,19,58,204,41,11,36,285,37*77 $GPGSV,3,2,10,14,45,118,35,03,31,183,25,28,,,33,22,47,070,43*46 $GPGSV,3,3,10,06,26,174,35,26,44,080,39*78 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":34,"used":true},{"PRN":9,"el":12,"az":38,"ss":28,"used":true},{"PRN":19,"el":58,"az":204,"ss":41,"used":true},{"PRN":11,"el":36,"az":285,"ss":37,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":25,"used":true},{"PRN":28,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":47,"az":70,"ss":43,"used":true},{"PRN":6,"el":26,"az":174,"ss":35,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.77773,N,02334.64182,E,143314.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:14.000Z","ept":0.005,"lat":55.779628833,"lon":23.577363667,"alt":122.800,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.3900,"speed":17.962,"climb":0.000,"eps":46.67} $GPZDA,143314.00,09,12,2009,00,00*67 $GPRMC,143314.50,A,5546.77404,N,02334.63610,E,35.259,221.42,091209,,,A*51 $GPVTG,221.42,T,,M,35.259,N,65.335,K,A*34 $GPGGA,143314.50,5546.77404,N,02334.63610,E,1,09,1.26,122.7,M,27.0,M,,*50 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:14.500Z","ept":0.005,"lat":55.779567333,"lon":23.577268333,"alt":122.700,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.4200,"speed":18.139,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,34,09,12,038,28,19,58,204,40,11,36,285,37*76 $GPGSV,3,2,10,14,45,118,35,03,31,183,25,28,,,33,22,47,070,42*47 $GPGSV,3,3,10,06,26,174,35,26,44,080,39*78 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":34,"used":true},{"PRN":9,"el":12,"az":38,"ss":28,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":37,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":25,"used":true},{"PRN":28,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":35,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.77404,N,02334.63610,E,143314.50,A,A*6A {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:14.500Z","ept":0.005,"lat":55.779567333,"lon":23.577268333,"alt":122.700,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.4200,"speed":18.139,"climb":0.000,"eps":46.67} $GPZDA,143314.50,09,12,2009,00,00*62 $GPRMC,143315.00,A,5546.77031,N,02334.63033,E,35.613,221.33,091209,,,A*5C $GPVTG,221.33,T,,M,35.613,N,65.991,K,A*3C $GPGGA,143315.00,5546.77031,N,02334.63033,E,1,09,1.26,122.5,M,27.0,M,,*53 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:15.000Z","ept":0.005,"lat":55.779505167,"lon":23.577172167,"alt":122.500,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.3300,"speed":18.321,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,34,09,12,038,28,19,58,204,41,11,36,285,37*77 $GPGSV,3,2,10,14,45,118,35,03,31,183,24,28,,,33,22,47,070,42*46 $GPGSV,3,3,10,06,26,174,35,26,44,080,39*78 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":34,"used":true},{"PRN":9,"el":12,"az":38,"ss":28,"used":true},{"PRN":19,"el":58,"az":204,"ss":41,"used":true},{"PRN":11,"el":36,"az":285,"ss":37,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":24,"used":true},{"PRN":28,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":35,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.77031,N,02334.63033,E,143315.00,A,A*6B {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:15.000Z","ept":0.005,"lat":55.779505167,"lon":23.577172167,"alt":122.500,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.3300,"speed":18.321,"climb":0.000,"eps":46.67} $GPZDA,143315.00,09,12,2009,00,00*66 $GPRMC,143315.50,A,5546.76656,N,02334.62450,E,35.901,221.55,091209,,,A*53 $GPVTG,221.55,T,,M,35.901,N,66.525,K,A*30 $GPGGA,143315.50,5546.76656,N,02334.62450,E,1,09,1.26,122.4,M,27.0,M,,*51 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:15.500Z","ept":0.005,"lat":55.779442667,"lon":23.577075000,"alt":122.400,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5500,"speed":18.469,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,34,09,12,038,28,19,58,204,40,11,36,285,36*77 $GPGSV,3,2,10,14,45,118,35,03,31,183,20,28,,,32,22,47,070,42*43 $GPGSV,3,3,10,06,26,174,35,26,44,080,39*78 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":34,"used":true},{"PRN":9,"el":12,"az":38,"ss":28,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":20,"used":true},{"PRN":28,"el":0,"az":0,"ss":32,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":35,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.76656,N,02334.62450,E,143315.50,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:15.500Z","ept":0.005,"lat":55.779442667,"lon":23.577075000,"alt":122.400,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5500,"speed":18.469,"climb":0.000,"eps":46.67} $GPZDA,143315.50,09,12,2009,00,00*63 $GPRMC,143316.00,A,5546.76280,N,02334.61860,E,36.213,221.79,091209,,,A*53 $GPVTG,221.79,T,,M,36.213,N,67.103,K,A*34 $GPGGA,143316.00,5546.76280,N,02334.61860,E,1,09,1.26,122.2,M,27.0,M,,*52 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:16.000Z","ept":0.005,"lat":55.779380000,"lon":23.576976667,"alt":122.200,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.7900,"speed":18.630,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,34,09,12,038,28,19,58,204,40,11,36,285,36*77 $GPGSV,3,2,10,14,45,118,35,03,31,183,21,28,,,33,22,47,070,42*43 $GPGSV,3,3,10,06,26,174,35,26,44,080,39*78 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":34,"used":true},{"PRN":9,"el":12,"az":38,"ss":28,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":21,"used":true},{"PRN":28,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":35,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.76280,N,02334.61860,E,143316.00,A,A*6D {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:16.000Z","ept":0.005,"lat":55.779380000,"lon":23.576976667,"alt":122.200,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.7900,"speed":18.630,"climb":0.000,"eps":46.67} $GPZDA,143316.00,09,12,2009,00,00*65 $GPRMC,143316.50,A,5546.75900,N,02334.61263,E,36.582,221.76,091209,,,A*5F $GPVTG,221.76,T,,M,36.582,N,67.786,K,A*3F $GPGGA,143316.50,5546.75900,N,02334.61263,E,1,09,1.26,122.1,M,27.0,M,,*5D {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:16.500Z","ept":0.005,"lat":55.779316667,"lon":23.576877167,"alt":122.100,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.7600,"speed":18.819,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,28,19,58,204,40,11,36,285,37*71 $GPGSV,3,2,10,14,45,118,35,03,31,183,25,28,,,33,22,47,070,42*47 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":38,"ss":28,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":37,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":25,"used":true},{"PRN":28,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.75900,N,02334.61263,E,143316.50,A,A*61 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:16.500Z","ept":0.005,"lat":55.779316667,"lon":23.576877167,"alt":122.100,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.7600,"speed":18.819,"climb":0.000,"eps":46.67} $GPZDA,143316.50,09,12,2009,00,00*60 $GPRMC,143317.00,A,5546.75517,N,02334.60661,E,36.882,221.73,091209,,,A*5E $GPVTG,221.73,T,,M,36.882,N,68.343,K,A*35 $GPGGA,143317.00,5546.75517,N,02334.60661,E,1,09,1.26,122.0,M,27.0,M,,*55 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:17.000Z","ept":0.005,"lat":55.779252833,"lon":23.576776833,"alt":122.000,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.7300,"speed":18.974,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,28,19,58,204,40,11,36,285,37*71 $GPGSV,3,2,10,14,45,118,35,03,31,183,25,28,,,33,22,47,070,42*47 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":38,"ss":28,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":37,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":25,"used":true},{"PRN":28,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.75517,N,02334.60661,E,143317.00,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:17.000Z","ept":0.005,"lat":55.779252833,"lon":23.576776833,"alt":122.000,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.7300,"speed":18.974,"climb":0.000,"eps":46.67} $GPZDA,143317.00,09,12,2009,00,00*64 $GPRMC,143317.50,A,5546.75131,N,02334.60056,E,37.099,221.59,091209,,,A*52 $GPVTG,221.59,T,,M,37.099,N,68.744,K,A*3D $GPGGA,143317.50,5546.75131,N,02334.60056,E,1,09,1.26,122.0,M,27.0,M,,*52 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:17.500Z","ept":0.005,"lat":55.779188500,"lon":23.576676000,"alt":122.000,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5900,"speed":19.085,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,32,09,12,038,28,19,58,204,40,11,36,285,36*71 $GPGSV,3,2,10,14,45,118,34,03,31,183,25,28,,,33,22,47,070,42*46 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":38,"ss":28,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":25,"used":true},{"PRN":28,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.75131,N,02334.60056,E,143317.50,A,A*6F {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:17.500Z","ept":0.005,"lat":55.779188500,"lon":23.576676000,"alt":122.000,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5900,"speed":19.085,"climb":0.000,"eps":46.67} $GPZDA,143317.50,09,12,2009,00,00*61 $GPRMC,143318.00,A,5546.74742,N,02334.59448,E,37.130,221.51,091209,,,A*50 $GPVTG,221.51,T,,M,37.130,N,68.801,K,A*39 $GPGGA,143318.00,5546.74742,N,02334.59448,E,1,09,1.26,121.9,M,27.0,M,,*50 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:18.000Z","ept":0.005,"lat":55.779123667,"lon":23.576574667,"alt":121.900,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5100,"speed":19.101,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,27,19,58,204,40,11,36,285,35*7C $GPGSV,3,2,10,14,45,118,34,03,31,183,24,28,,,33,22,47,070,42*47 $GPGSV,3,3,10,06,26,174,35,26,44,080,39*78 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":38,"ss":27,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":24,"used":true},{"PRN":28,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":35,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.74742,N,02334.59448,E,143318.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:18.000Z","ept":0.005,"lat":55.779123667,"lon":23.576574667,"alt":121.900,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5100,"speed":19.101,"climb":0.000,"eps":46.67} $GPZDA,143318.00,09,12,2009,00,00*6B $GPRMC,143318.50,A,5546.74354,N,02334.58840,E,37.142,221.66,091209,,,A*52 $GPVTG,221.66,T,,M,37.142,N,68.824,K,A*3F $GPGGA,143318.50,5546.74354,N,02334.58840,E,1,09,1.26,121.8,M,27.0,M,,*52 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:18.500Z","ept":0.005,"lat":55.779059000,"lon":23.576473333,"alt":121.800,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.6600,"speed":19.107,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,28,19,58,204,40,11,36,285,36*70 $GPGSV,3,2,10,14,45,118,35,03,31,183,22,28,,,33,22,47,070,42*40 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":38,"ss":28,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":22,"used":true},{"PRN":28,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.74354,N,02334.58840,E,143318.50,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:18.500Z","ept":0.005,"lat":55.779059000,"lon":23.576473333,"alt":121.800,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.6600,"speed":19.107,"climb":0.000,"eps":46.67} $GPZDA,143318.50,09,12,2009,00,00*6E $GPRMC,143319.00,A,5546.73966,N,02334.58232,E,37.148,221.65,091209,,,A*5C $GPVTG,221.65,T,,M,37.148,N,68.835,K,A*36 $GPGGA,143319.00,5546.73966,N,02334.58232,E,1,09,1.26,121.8,M,27.0,M,,*55 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:19.000Z","ept":0.005,"lat":55.778994333,"lon":23.576372000,"alt":121.800,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.6500,"speed":19.111,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,27,19,58,204,40,11,36,285,36*7F $GPGSV,3,2,10,14,45,118,34,03,31,183,25,28,,,33,22,47,070,42*46 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":38,"ss":27,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":25,"used":true},{"PRN":28,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.73966,N,02334.58232,E,143319.00,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:19.000Z","ept":0.005,"lat":55.778994333,"lon":23.576372000,"alt":121.800,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.6500,"speed":19.111,"climb":0.000,"eps":46.67} $GPZDA,143319.00,09,12,2009,00,00*6A $GPRMC,143319.50,A,5546.73578,N,02334.57626,E,37.138,221.35,091209,,,A*56 $GPVTG,221.35,T,,M,37.138,N,68.817,K,A*34 $GPGGA,143319.50,5546.73578,N,02334.57626,E,1,09,1.26,121.8,M,27.0,M,,*5D {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:19.500Z","ept":0.005,"lat":55.778929667,"lon":23.576271000,"alt":121.800,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.3500,"speed":19.105,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,27,19,58,204,40,11,36,285,36*7F $GPGSV,3,2,10,14,45,118,34,03,31,183,25,28,,,33,22,47,070,42*46 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":38,"ss":27,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":25,"used":true},{"PRN":28,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.73578,N,02334.57626,E,143319.50,A,A*6B {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:19.500Z","ept":0.005,"lat":55.778929667,"lon":23.576271000,"alt":121.800,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.3500,"speed":19.105,"climb":0.000,"eps":46.67} $GPZDA,143319.50,09,12,2009,00,00*6F $GPRMC,143320.00,A,5546.73191,N,02334.57020,E,37.095,221.51,091209,,,A*5E $GPVTG,221.51,T,,M,37.095,N,68.737,K,A*3D $GPGGA,143320.00,5546.73191,N,02334.57020,E,1,09,1.26,121.7,M,27.0,M,,*5E {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:20.000Z","ept":0.005,"lat":55.778865167,"lon":23.576170000,"alt":121.700,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5100,"speed":19.083,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,27,19,58,204,41,11,36,285,36*7E $GPGSV,3,2,10,14,45,118,34,03,31,183,24,28,,,33,22,47,070,42*47 $GPGSV,3,3,10,06,26,174,35,26,44,080,39*78 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":38,"ss":27,"used":true},{"PRN":19,"el":58,"az":204,"ss":41,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":24,"used":true},{"PRN":28,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":35,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.73191,N,02334.57020,E,143320.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:20.000Z","ept":0.005,"lat":55.778865167,"lon":23.576170000,"alt":121.700,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5100,"speed":19.083,"climb":0.000,"eps":46.67} $GPZDA,143320.00,09,12,2009,00,00*60 $GPRMC,143320.50,A,5546.72805,N,02334.56415,E,36.982,221.56,091209,,,A*54 $GPVTG,221.56,T,,M,36.982,N,68.528,K,A*38 $GPGGA,143320.50,5546.72805,N,02334.56415,E,1,09,1.26,121.7,M,27.0,M,,*5D {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:20.500Z","ept":0.005,"lat":55.778800833,"lon":23.576069167,"alt":121.700,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5600,"speed":19.025,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,32,09,12,038,27,19,58,204,40,11,36,285,35*7D $GPGSV,3,2,10,14,45,118,34,03,31,183,22,28,,,32,22,47,070,42*40 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":38,"ss":27,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":22,"used":true},{"PRN":28,"el":0,"az":0,"ss":32,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.72805,N,02334.56415,E,143320.50,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:20.500Z","ept":0.005,"lat":55.778800833,"lon":23.576069167,"alt":121.700,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5600,"speed":19.025,"climb":0.000,"eps":46.67} $GPZDA,143320.50,09,12,2009,00,00*65 $GPRMC,143321.00,A,5546.72423,N,02334.55813,E,36.738,221.85,091209,,,A*50 $GPVTG,221.85,T,,M,36.738,N,68.076,K,A*37 $GPGGA,143321.00,5546.72423,N,02334.55813,E,1,09,1.26,121.7,M,27.0,M,,*58 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:21.000Z","ept":0.005,"lat":55.778737167,"lon":23.575968833,"alt":121.700,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.8500,"speed":18.900,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,27,19,58,204,40,11,36,285,36*7F $GPGSV,3,2,10,14,45,118,34,03,31,183,23,28,,,33,22,47,070,42*40 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":38,"ss":27,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":23,"used":true},{"PRN":28,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.72423,N,02334.55813,E,143321.00,A,A*61 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:21.000Z","ept":0.005,"lat":55.778737167,"lon":23.575968833,"alt":121.700,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.8500,"speed":18.900,"climb":0.000,"eps":46.67} $GPZDA,143321.00,09,12,2009,00,00*61 $GPRMC,143321.50,A,5546.72043,N,02334.55216,E,36.548,221.51,091209,,,A*54 $GPVTG,221.51,T,,M,36.548,N,67.724,K,A*34 $GPGGA,143321.50,5546.72043,N,02334.55216,E,1,09,1.26,121.7,M,27.0,M,,*50 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:21.500Z","ept":0.005,"lat":55.778673833,"lon":23.575869333,"alt":121.700,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5100,"speed":18.802,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,32,09,12,038,27,19,58,204,40,11,36,285,36*7E $GPGSV,3,2,10,14,45,118,35,03,31,183,24,28,,,34,22,47,070,42*41 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":38,"ss":27,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":24,"used":true},{"PRN":28,"el":0,"az":0,"ss":34,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.72043,N,02334.55216,E,143321.50,A,A*69 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:21.500Z","ept":0.005,"lat":55.778673833,"lon":23.575869333,"alt":121.700,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5100,"speed":18.802,"climb":0.000,"eps":46.67} $GPZDA,143321.50,09,12,2009,00,00*64 $GPRMC,143322.00,A,5546.71665,N,02334.54623,E,36.296,221.61,091209,,,A*57 $GPVTG,221.61,T,,M,36.296,N,67.257,K,A*32 $GPGGA,143322.00,5546.71665,N,02334.54623,E,1,09,1.26,121.7,M,27.0,M,,*54 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:22.000Z","ept":0.005,"lat":55.778610833,"lon":23.575770500,"alt":121.700,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.6100,"speed":18.672,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,31,09,12,038,27,19,58,204,38,11,36,285,34*70 $GPGSV,3,2,10,14,45,118,33,03,31,183,21,28,,,32,22,47,070,40*46 $GPGSV,3,3,10,06,26,174,31,26,44,080,37*72 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":31,"used":true},{"PRN":9,"el":12,"az":38,"ss":27,"used":true},{"PRN":19,"el":58,"az":204,"ss":38,"used":true},{"PRN":11,"el":36,"az":285,"ss":34,"used":true},{"PRN":14,"el":45,"az":118,"ss":33,"used":true},{"PRN":3,"el":31,"az":183,"ss":21,"used":true},{"PRN":28,"el":0,"az":0,"ss":32,"used":false},{"PRN":22,"el":47,"az":70,"ss":40,"used":true},{"PRN":6,"el":26,"az":174,"ss":31,"used":true},{"PRN":26,"el":44,"az":80,"ss":37,"used":true}]} $GPGLL,5546.71665,N,02334.54623,E,143322.00,A,A*6D {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:22.000Z","ept":0.005,"lat":55.778610833,"lon":23.575770500,"alt":121.700,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.6100,"speed":18.672,"climb":0.000,"eps":46.67} $GPZDA,143322.00,09,12,2009,00,00*62 $GPRMC,143322.50,A,5546.71291,N,02334.54032,E,36.068,222.02,091209,,,A*5E $GPVTG,222.02,T,,M,36.068,N,66.834,K,A*39 $GPGGA,143322.50,5546.71291,N,02334.54032,E,1,09,1.26,121.7,M,27.0,M,,*58 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:22.500Z","ept":0.005,"lat":55.778548500,"lon":23.575672000,"alt":121.700,"epx":10.912,"epy":11.668,"epv":69.000,"track":222.0200,"speed":18.555,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,30,09,12,038,27,19,58,204,38,11,36,285,34*71 $GPGSV,3,2,10,14,45,118,32,03,31,183,22,28,,,31,22,47,070,40*47 $GPGSV,3,3,10,06,26,174,32,26,44,080,36*70 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":30,"used":true},{"PRN":9,"el":12,"az":38,"ss":27,"used":true},{"PRN":19,"el":58,"az":204,"ss":38,"used":true},{"PRN":11,"el":36,"az":285,"ss":34,"used":true},{"PRN":14,"el":45,"az":118,"ss":32,"used":true},{"PRN":3,"el":31,"az":183,"ss":22,"used":true},{"PRN":28,"el":0,"az":0,"ss":31,"used":false},{"PRN":22,"el":47,"az":70,"ss":40,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":36,"used":true}]} $GPGLL,5546.71291,N,02334.54032,E,143322.50,A,A*61 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:22.500Z","ept":0.005,"lat":55.778548500,"lon":23.575672000,"alt":121.700,"epx":10.912,"epy":11.668,"epv":69.000,"track":222.0200,"speed":18.555,"climb":0.000,"eps":46.67} $GPZDA,143322.50,09,12,2009,00,00*67 $GPRMC,143323.00,A,5546.70920,N,02334.53442,E,35.897,221.92,091209,,,A*5F $GPVTG,221.92,T,,M,35.897,N,66.516,K,A*35 $GPGGA,143323.00,5546.70920,N,02334.53442,E,1,09,1.26,121.7,M,27.0,M,,*58 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:23.000Z","ept":0.005,"lat":55.778486667,"lon":23.575573667,"alt":121.700,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.9200,"speed":18.467,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,31,09,12,038,27,19,58,204,39,11,36,285,35*70 $GPGSV,3,2,10,14,45,118,34,03,31,183,24,28,,,32,22,47,070,41*45 $GPGSV,3,3,10,06,26,174,34,26,44,080,38*78 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":31,"used":true},{"PRN":9,"el":12,"az":38,"ss":27,"used":true},{"PRN":19,"el":58,"az":204,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":24,"used":true},{"PRN":28,"el":0,"az":0,"ss":32,"used":false},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.70920,N,02334.53442,E,143323.00,A,A*61 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:23.000Z","ept":0.005,"lat":55.778486667,"lon":23.575573667,"alt":121.700,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.9200,"speed":18.467,"climb":0.000,"eps":46.67} $GPZDA,143323.00,09,12,2009,00,00*63 $GPRMC,143323.50,A,5546.70550,N,02334.52854,E,35.802,222.24,091209,,,A*59 $GPVTG,222.24,T,,M,35.802,N,66.342,K,A*30 $GPGGA,143323.50,5546.70550,N,02334.52854,E,1,09,1.26,121.5,M,27.0,M,,*5E {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:23.500Z","ept":0.005,"lat":55.778425000,"lon":23.575475667,"alt":121.500,"epx":10.912,"epy":11.668,"epv":69.000,"track":222.2400,"speed":18.418,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,32,09,12,038,28,19,58,204,40,11,36,285,36*71 $GPGSV,3,2,10,14,45,118,35,03,31,183,30,28,,,34,22,47,070,42*44 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":38,"ss":28,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":30,"used":true},{"PRN":28,"el":0,"az":0,"ss":34,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.70550,N,02334.52854,E,143323.50,A,A*65 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:23.500Z","ept":0.005,"lat":55.778425000,"lon":23.575475667,"alt":121.500,"epx":10.912,"epy":11.668,"epv":69.000,"track":222.2400,"speed":18.418,"climb":0.000,"eps":46.67} $GPZDA,143323.50,09,12,2009,00,00*66 $GPRMC,143324.00,A,5546.70183,N,02334.52263,E,35.829,222.00,091209,,,A*50 $GPVTG,222.00,T,,M,35.829,N,66.391,K,A*31 $GPGGA,143324.00,5546.70183,N,02334.52263,E,1,09,1.26,121.6,M,27.0,M,,*5B {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:24.000Z","ept":0.005,"lat":55.778363833,"lon":23.575377167,"alt":121.600,"epx":10.912,"epy":11.668,"epv":69.000,"track":222.0000,"speed":18.432,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,30,19,58,204,40,11,36,285,36*79 $GPGSV,3,2,10,14,45,118,35,03,31,183,27,28,,,33,22,47,070,41*46 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":38,"ss":30,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":27,"used":true},{"PRN":28,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.70183,N,02334.52263,E,143324.00,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:24.000Z","ept":0.005,"lat":55.778363833,"lon":23.575377167,"alt":121.600,"epx":10.912,"epy":11.668,"epv":69.000,"track":222.0000,"speed":18.432,"climb":0.000,"eps":46.67} $GPZDA,143324.00,09,12,2009,00,00*64 $GPRMC,143324.50,A,5546.69812,N,02334.51673,E,35.962,222.09,091209,,,A*5D $GPVTG,222.09,T,,M,35.962,N,66.638,K,A*30 $GPGGA,143324.50,5546.69812,N,02334.51673,E,1,09,1.26,121.6,M,27.0,M,,*51 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:24.500Z","ept":0.005,"lat":55.778302000,"lon":23.575278833,"alt":121.600,"epx":10.912,"epy":11.668,"epv":69.000,"track":222.0900,"speed":18.500,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,30,19,58,204,40,11,36,285,35*7A $GPGSV,3,2,10,14,45,118,35,03,31,183,27,28,,,32,22,47,070,42*44 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":38,"ss":30,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":27,"used":true},{"PRN":28,"el":0,"az":0,"ss":32,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.69812,N,02334.51673,E,143324.50,A,A*69 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:24.500Z","ept":0.005,"lat":55.778302000,"lon":23.575278833,"alt":121.600,"epx":10.912,"epy":11.668,"epv":69.000,"track":222.0900,"speed":18.500,"climb":0.000,"eps":46.67} $GPZDA,143324.50,09,12,2009,00,00*61 $GPRMC,143325.00,A,5546.69439,N,02334.51078,E,36.290,222.04,091209,,,A*59 $GPVTG,222.04,T,,M,36.290,N,67.245,K,A*37 $GPGGA,143325.00,5546.69439,N,02334.51078,E,1,09,1.26,121.5,M,27.0,M,,*5E {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:25.000Z","ept":0.005,"lat":55.778239833,"lon":23.575179667,"alt":121.500,"epx":10.912,"epy":11.668,"epv":69.000,"track":222.0400,"speed":18.669,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,29,19,58,204,40,11,36,285,35*72 $GPGSV,3,2,10,14,45,118,35,03,31,183,26,28,,,32,22,47,070,41*46 $GPGSV,3,3,10,06,26,174,35,26,44,080,39*78 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":38,"ss":29,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":26,"used":true},{"PRN":28,"el":0,"az":0,"ss":32,"used":false},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":35,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.69439,N,02334.51078,E,143325.00,A,A*65 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:25.000Z","ept":0.005,"lat":55.778239833,"lon":23.575179667,"alt":121.500,"epx":10.912,"epy":11.668,"epv":69.000,"track":222.0400,"speed":18.669,"climb":0.000,"eps":46.67} $GPZDA,143325.00,09,12,2009,00,00*65 $GPRMC,143325.50,A,5546.69063,N,02334.50478,E,36.575,221.93,091209,,,A*53 $GPVTG,221.93,T,,M,36.575,N,67.774,K,A*31 $GPGGA,143325.50,5546.69063,N,02334.50478,E,1,09,1.26,121.5,M,27.0,M,,*55 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:25.500Z","ept":0.005,"lat":55.778177167,"lon":23.575079667,"alt":121.500,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.9300,"speed":18.816,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,33,09,12,038,29,19,58,204,40,11,36,285,36*71 $GPGSV,3,2,10,14,45,118,35,03,31,183,26,28,,,33,22,47,070,42*44 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":38,"ss":29,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":26,"used":true},{"PRN":28,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.69063,N,02334.50478,E,143325.50,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:25.500Z","ept":0.005,"lat":55.778177167,"lon":23.575079667,"alt":121.500,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.9300,"speed":18.816,"climb":0.000,"eps":46.67} $GPZDA,143325.50,09,12,2009,00,00*60 $GPRMC,143326.00,A,5546.68683,N,02334.49875,E,36.874,221.81,091209,,,A*5A $GPVTG,221.81,T,,M,36.874,N,68.328,K,A*3C $GPGGA,143326.00,5546.68683,N,02334.49875,E,1,09,1.26,121.5,M,27.0,M,,*53 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:26.000Z","ept":0.005,"lat":55.778113833,"lon":23.574979167,"alt":121.500,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.8100,"speed":18.970,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.00*07 $GPGSV,3,1,10,32,22,228,33,09,12,038,29,19,58,204,40,11,36,285,36*71 $GPGSV,3,2,10,14,45,118,35,03,31,183,26,28,,,33,22,47,070,42*44 $GPGSV,3,3,10,06,26,174,34,26,44,080,39*79 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":38,"ss":29,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":26,"used":true},{"PRN":28,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.68683,N,02334.49875,E,143326.00,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:26.000Z","ept":0.005,"lat":55.778113833,"lon":23.574979167,"alt":121.500,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.8100,"speed":18.970,"climb":0.000,"eps":46.67} $GPZDA,143326.00,09,12,2009,00,00*66 $GPRMC,143326.50,A,5546.68299,N,02334.49268,E,37.174,221.56,091209,,,A*54 $GPVTG,221.56,T,,M,37.174,N,68.883,K,A*34 $GPGGA,143326.50,5546.68299,N,02334.49268,E,1,09,1.26,121.5,M,27.0,M,,*5F {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:26.500Z","ept":0.005,"lat":55.778049833,"lon":23.574878000,"alt":121.500,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5600,"speed":19.124,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.25,1.26,3.00*04 $GPGSV,3,1,10,32,22,228,32,09,12,037,27,19,58,204,40,11,36,285,36*71 $GPGSV,3,2,10,14,45,118,34,03,31,183,26,28,,,33,22,47,070,42*45 $GPGSV,3,3,10,06,26,174,33,26,44,080,38*7F {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.25,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":204,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":26,"used":true},{"PRN":28,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.68299,N,02334.49268,E,143326.50,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:26.500Z","ept":0.005,"lat":55.778049833,"lon":23.574878000,"alt":121.500,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5600,"speed":19.124,"climb":0.000,"eps":46.67} $GPZDA,143326.50,09,12,2009,00,00*63 $GPRMC,143327.00,A,5546.67914,N,02334.48657,E,37.433,221.51,091209,,,A*59 $GPVTG,221.51,T,,M,37.433,N,69.363,K,A*31 $GPGGA,143327.00,5546.67914,N,02334.48657,E,1,09,1.47,121.6,M,27.0,M,,*57 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:27.000Z","ept":0.005,"lat":55.777985667,"lon":23.574776167,"alt":121.600,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5100,"speed":19.257,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.66,1.47,3.35*02 $GPGSV,3,1,12,32,22,228,31,27,,,31,09,12,037,26,19,58,204,38*46 $GPGSV,3,2,12,11,36,285,34,14,45,118,32,03,31,183,19,28,,,31*40 $GPGSV,3,3,12,22,47,070,40,15,,,22,06,26,174,31,26,44,080,36*45 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.35,"tdop":0.92,"hdop":1.47,"gdop":2.24,"pdop":3.66,"satellites":[{"PRN":32,"el":22,"az":228,"ss":31,"used":true},{"PRN":27,"el":0,"az":0,"ss":31,"used":false},{"PRN":9,"el":12,"az":37,"ss":26,"used":true},{"PRN":19,"el":58,"az":204,"ss":38,"used":true},{"PRN":11,"el":36,"az":285,"ss":34,"used":true},{"PRN":14,"el":45,"az":118,"ss":32,"used":true},{"PRN":3,"el":31,"az":183,"ss":19,"used":true},{"PRN":28,"el":0,"az":0,"ss":31,"used":false},{"PRN":22,"el":47,"az":70,"ss":40,"used":true},{"PRN":15,"el":0,"az":0,"ss":22,"used":false},{"PRN":6,"el":26,"az":174,"ss":31,"used":true},{"PRN":26,"el":44,"az":80,"ss":36,"used":true}]} $GPGLL,5546.67914,N,02334.48657,E,143327.00,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:27.000Z","ept":0.005,"lat":55.777985667,"lon":23.574776167,"alt":121.600,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5100,"speed":19.257,"climb":0.000,"eps":46.67} $GPZDA,143327.00,09,12,2009,00,00*67 $GPRMC,143327.50,A,5546.67528,N,02334.48042,E,37.526,221.60,091209,,,A*5A $GPVTG,221.60,T,,M,37.526,N,69.535,K,A*33 $GPGGA,143327.50,5546.67528,N,02334.48042,E,1,09,1.48,121.7,M,27.0,M,,*5D {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:27.500Z","ept":0.005,"lat":55.777921333,"lon":23.574673667,"alt":121.700,"epx":10.912,"epy":11.668,"epv":77.050,"track":221.6000,"speed":19.305,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.66,1.48,3.35*0D $GPGSV,4,1,14,32,22,228,30,27,,,30,09,12,037,25,12,,,33*7F $GPGSV,4,2,14,19,58,204,37,11,36,285,33,14,45,118,32,03,31,183,18*78 $GPGSV,4,3,14,28,,,30,22,47,070,39,15,,,24,06,26,174,30*7D $GPGSV,4,4,14,26,44,080,36,17,,,34*44 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.35,"tdop":0.92,"hdop":1.48,"gdop":2.24,"pdop":3.66,"satellites":[{"PRN":32,"el":22,"az":228,"ss":30,"used":true},{"PRN":27,"el":0,"az":0,"ss":30,"used":false},{"PRN":9,"el":12,"az":37,"ss":25,"used":true},{"PRN":12,"el":0,"az":0,"ss":33,"used":false},{"PRN":19,"el":58,"az":204,"ss":37,"used":true},{"PRN":11,"el":36,"az":285,"ss":33,"used":true},{"PRN":14,"el":45,"az":118,"ss":32,"used":true},{"PRN":3,"el":31,"az":183,"ss":18,"used":true},{"PRN":28,"el":0,"az":0,"ss":30,"used":false},{"PRN":22,"el":47,"az":70,"ss":39,"used":true},{"PRN":15,"el":0,"az":0,"ss":24,"used":false},{"PRN":6,"el":26,"az":174,"ss":30,"used":true},{"PRN":26,"el":44,"az":80,"ss":36,"used":true},{"PRN":17,"el":0,"az":0,"ss":34,"used":false}]} $GPGLL,5546.67528,N,02334.48042,E,143327.50,A,A*6C {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:27.500Z","ept":0.005,"lat":55.777921333,"lon":23.574673667,"alt":121.700,"epx":10.912,"epy":11.668,"epv":77.050,"track":221.6000,"speed":19.305,"climb":0.000,"eps":46.67} $GPZDA,143327.50,09,12,2009,00,00*62 $GPRMC,143328.00,A,5546.67138,N,02334.47421,E,37.918,221.73,091209,,,A*58 $GPVTG,221.73,T,,M,37.918,N,70.262,K,A*3D $GPGGA,143328.00,5546.67138,N,02334.47421,E,1,09,1.19,121.7,M,27.0,M,,*58 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:28.000Z","ept":0.005,"lat":55.777856333,"lon":23.574570167,"alt":121.700,"epx":10.912,"epy":11.668,"epv":77.050,"track":221.7300,"speed":19.507,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.23,1.19,3.00*0E $GPGSV,4,1,14,32,22,228,29,27,,,29,09,12,037,25,12,,,32*7E $GPGSV,4,2,14,19,58,204,37,11,36,285,33,14,45,118,32,03,31,183,19*79 $GPGSV,4,3,14,28,,,29,22,47,070,38,15,,,24,06,26,174,29*7C $GPGSV,4,4,14,26,44,080,36,17,,,33*43 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.19,"gdop":2.24,"pdop":3.23,"satellites":[{"PRN":32,"el":22,"az":228,"ss":29,"used":true},{"PRN":27,"el":0,"az":0,"ss":29,"used":false},{"PRN":9,"el":12,"az":37,"ss":25,"used":true},{"PRN":12,"el":0,"az":0,"ss":32,"used":false},{"PRN":19,"el":58,"az":204,"ss":37,"used":true},{"PRN":11,"el":36,"az":285,"ss":33,"used":true},{"PRN":14,"el":45,"az":118,"ss":32,"used":true},{"PRN":3,"el":31,"az":183,"ss":19,"used":true},{"PRN":28,"el":0,"az":0,"ss":29,"used":false},{"PRN":22,"el":47,"az":70,"ss":38,"used":true},{"PRN":15,"el":0,"az":0,"ss":24,"used":false},{"PRN":6,"el":26,"az":174,"ss":29,"used":true},{"PRN":26,"el":44,"az":80,"ss":36,"used":true},{"PRN":17,"el":0,"az":0,"ss":33,"used":false}]} $GPGLL,5546.67138,N,02334.47421,E,143328.00,A,A*6D {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:28.000Z","ept":0.005,"lat":55.777856333,"lon":23.574570167,"alt":121.700,"epx":10.912,"epy":11.668,"epv":77.050,"track":221.7300,"speed":19.507,"climb":0.000,"eps":46.67} $GPZDA,143328.00,09,12,2009,00,00*68 $GPRMC,143328.50,A,5546.66742,N,02334.46793,E,38.036,221.73,091209,,,A*56 $GPVTG,221.73,T,,M,38.036,N,70.482,K,A*3F $GPGGA,143328.50,5546.66742,N,02334.46793,E,1,09,1.19,121.8,M,27.0,M,,*53 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:28.500Z","ept":0.005,"lat":55.777790333,"lon":23.574465500,"alt":121.800,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.7300,"speed":19.567,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.23,1.19,3.00*0E $GPGSV,3,1,10,32,22,228,30,09,12,037,25,19,58,204,38,11,36,285,34*7C $GPGSV,3,2,10,14,45,118,33,03,31,183,23,28,,,30,22,47,070,40*46 $GPGSV,3,3,10,06,26,174,30,26,44,080,37*73 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.19,"gdop":2.24,"pdop":3.23,"satellites":[{"PRN":32,"el":22,"az":228,"ss":30,"used":true},{"PRN":9,"el":12,"az":37,"ss":25,"used":true},{"PRN":19,"el":58,"az":204,"ss":38,"used":true},{"PRN":11,"el":36,"az":285,"ss":34,"used":true},{"PRN":14,"el":45,"az":118,"ss":33,"used":true},{"PRN":3,"el":31,"az":183,"ss":23,"used":true},{"PRN":28,"el":0,"az":0,"ss":30,"used":false},{"PRN":22,"el":47,"az":70,"ss":40,"used":true},{"PRN":6,"el":26,"az":174,"ss":30,"used":true},{"PRN":26,"el":44,"az":80,"ss":37,"used":true}]} $GPGLL,5546.66742,N,02334.46793,E,143328.50,A,A*69 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:28.500Z","ept":0.005,"lat":55.777790333,"lon":23.574465500,"alt":121.800,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.7300,"speed":19.567,"climb":0.000,"eps":46.67} $GPZDA,143328.50,09,12,2009,00,00*6D $GPRMC,143329.00,A,5546.66350,N,02334.46164,E,38.567,221.88,091209,,,A*5E $GPVTG,221.88,T,,M,38.567,N,71.465,K,A*32 $GPGGA,143329.00,5546.66350,N,02334.46164,E,1,09,1.19,121.8,M,27.0,M,,*5E {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:29.000Z","ept":0.005,"lat":55.777725000,"lon":23.574360667,"alt":121.800,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.8800,"speed":19.841,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.23,1.19,3.00*0E $GPGSV,3,1,10,32,22,228,30,09,12,037,26,19,58,204,39,11,36,285,35*7F $GPGSV,3,2,10,14,45,118,33,03,31,183,25,28,,,30,22,47,070,41*41 $GPGSV,3,3,10,06,26,174,32,26,44,080,37*71 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.19,"gdop":2.24,"pdop":3.23,"satellites":[{"PRN":32,"el":22,"az":228,"ss":30,"used":true},{"PRN":9,"el":12,"az":37,"ss":26,"used":true},{"PRN":19,"el":58,"az":204,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":33,"used":true},{"PRN":3,"el":31,"az":183,"ss":25,"used":true},{"PRN":28,"el":0,"az":0,"ss":30,"used":false},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":37,"used":true}]} $GPGLL,5546.66350,N,02334.46164,E,143329.00,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:29.000Z","ept":0.005,"lat":55.777725000,"lon":23.574360667,"alt":121.800,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.8800,"speed":19.841,"climb":0.000,"eps":46.67} $GPZDA,143329.00,09,12,2009,00,00*69 $GPRMC,143329.50,A,5546.65952,N,02334.45524,E,38.642,222.07,091209,,,A*53 $GPVTG,222.07,T,,M,38.642,N,71.604,K,A*37 $GPGGA,143329.50,5546.65952,N,02334.45524,E,1,09,1.28,121.9,M,27.0,M,,*50 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:29.500Z","ept":0.005,"lat":55.777658667,"lon":23.574254000,"alt":121.900,"epx":10.912,"epy":11.668,"epv":69.000,"track":222.0700,"speed":19.879,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.65,1.28,3.41*0B $GPGSV,3,1,10,32,22,228,30,09,12,037,26,19,58,204,39,11,36,285,34*7E $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,,,30,22,47,070,41*4C $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.41,"tdop":0.92,"hdop":1.28,"gdop":2.24,"pdop":3.65,"satellites":[{"PRN":32,"el":22,"az":228,"ss":30,"used":true},{"PRN":9,"el":12,"az":37,"ss":26,"used":true},{"PRN":19,"el":58,"az":204,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":34,"used":true},{"PRN":14,"el":45,"az":118,"ss":33,"used":true},{"PRN":3,"el":31,"az":183,"ss":28,"used":true},{"PRN":28,"el":0,"az":0,"ss":30,"used":false},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.65952,N,02334.45524,E,143329.50,A,A*69 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:29.500Z","ept":0.005,"lat":55.777658667,"lon":23.574254000,"alt":121.900,"epx":10.912,"epy":11.668,"epv":69.000,"track":222.0700,"speed":19.879,"climb":0.000,"eps":46.67} $GPZDA,143329.50,09,12,2009,00,00*6C $GPRMC,143330.00,A,5546.65551,N,02334.44882,E,38.917,221.88,091209,,,A*5A $GPVTG,221.88,T,,M,38.917,N,72.112,K,A*3F $GPGGA,143330.00,5546.65551,N,02334.44882,E,1,09,1.28,121.9,M,27.0,M,,*52 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:30.000Z","ept":0.005,"lat":55.777591833,"lon":23.574147000,"alt":121.900,"epx":10.912,"epy":11.668,"epv":78.430,"track":221.8800,"speed":20.021,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.64,1.28,3.41*0A $GPGSV,3,1,10,32,22,228,31,09,12,037,26,19,58,204,39,11,36,285,35*7E $GPGSV,3,2,10,14,45,118,33,03,31,183,24,28,,,31,22,47,070,41*41 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.41,"tdop":0.92,"hdop":1.28,"gdop":2.24,"pdop":3.64,"satellites":[{"PRN":32,"el":22,"az":228,"ss":31,"used":true},{"PRN":9,"el":12,"az":37,"ss":26,"used":true},{"PRN":19,"el":58,"az":204,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":33,"used":true},{"PRN":3,"el":31,"az":183,"ss":24,"used":true},{"PRN":28,"el":0,"az":0,"ss":31,"used":false},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.65551,N,02334.44882,E,143330.00,A,A*6B {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:30.000Z","ept":0.005,"lat":55.777591833,"lon":23.574147000,"alt":121.900,"epx":10.912,"epy":11.668,"epv":78.430,"track":221.8800,"speed":20.021,"climb":0.000,"eps":46.67} $GPZDA,143330.00,09,12,2009,00,00*61 $GPRMC,143330.50,A,5546.65146,N,02334.44238,E,39.222,221.56,091209,,,A*59 $GPVTG,221.56,T,,M,39.222,N,72.679,K,A*3A $GPGGA,143330.50,5546.65146,N,02334.44238,E,1,09,1.28,122.0,M,27.0,M,,*54 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:30.500Z","ept":0.005,"lat":55.777524333,"lon":23.574039667,"alt":122.000,"epx":10.912,"epy":11.668,"epv":78.430,"track":221.5600,"speed":20.178,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.64,1.28,3.41*0A $GPGSV,3,1,10,32,22,228,33,09,12,037,26,19,58,204,39,11,36,285,35*7C $GPGSV,3,2,10,14,45,118,33,03,31,183,20,28,,,31,22,47,070,41*45 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.41,"tdop":0.92,"hdop":1.28,"gdop":2.24,"pdop":3.64,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":37,"ss":26,"used":true},{"PRN":19,"el":58,"az":204,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":33,"used":true},{"PRN":3,"el":31,"az":183,"ss":20,"used":true},{"PRN":28,"el":0,"az":0,"ss":31,"used":false},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.65146,N,02334.44238,E,143330.50,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:30.500Z","ept":0.005,"lat":55.777524333,"lon":23.574039667,"alt":122.000,"epx":10.912,"epy":11.668,"epv":78.430,"track":221.5600,"speed":20.178,"climb":0.000,"eps":46.67} $GPZDA,143330.50,09,12,2009,00,00*64 $GPRMC,143331.00,A,5546.64738,N,02334.43592,E,39.384,221.52,091209,,,A*5A $GPVTG,221.52,T,,M,39.384,N,72.979,K,A*3C $GPGGA,143331.00,5546.64738,N,02334.43592,E,1,09,1.26,122.1,M,27.0,M,,*51 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:31.000Z","ept":0.005,"lat":55.777456333,"lon":23.573932000,"alt":122.100,"epx":10.912,"epy":11.668,"epv":78.430,"track":221.5200,"speed":20.261,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.01*06 $GPGSV,3,1,10,32,22,228,33,09,12,037,26,19,58,204,39,11,36,285,34*7D $GPGSV,3,2,10,14,45,118,34,03,31,183,20,28,,,31,22,47,070,41*42 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":37,"ss":26,"used":true},{"PRN":19,"el":58,"az":204,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":34,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":20,"used":true},{"PRN":28,"el":0,"az":0,"ss":31,"used":false},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.64738,N,02334.43592,E,143331.00,A,A*6D {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:31.000Z","ept":0.005,"lat":55.777456333,"lon":23.573932000,"alt":122.100,"epx":10.912,"epy":11.668,"epv":78.430,"track":221.5200,"speed":20.261,"climb":0.000,"eps":46.67} $GPZDA,143331.00,09,12,2009,00,00*60 $GPRMC,143331.50,A,5546.64328,N,02334.42943,E,39.571,221.47,091209,,,A*53 $GPVTG,221.47,T,,M,39.571,N,73.325,K,A*36 $GPGGA,143331.50,5546.64328,N,02334.42943,E,1,09,1.26,122.2,M,27.0,M,,*53 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:31.500Z","ept":0.005,"lat":55.777388000,"lon":23.573823833,"alt":122.200,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.4700,"speed":20.357,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.00*07 $GPGSV,3,1,10,32,22,228,32,09,12,037,26,19,58,203,39,11,36,285,35*7A $GPGSV,3,2,10,14,45,118,33,03,31,183,19,28,,,31,22,47,070,41*4F $GPGSV,3,3,10,06,26,174,31,26,44,080,37*72 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":37,"ss":26,"used":true},{"PRN":19,"el":58,"az":203,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":33,"used":true},{"PRN":3,"el":31,"az":183,"ss":19,"used":true},{"PRN":28,"el":0,"az":0,"ss":31,"used":false},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":31,"used":true},{"PRN":26,"el":44,"az":80,"ss":37,"used":true}]} $GPGLL,5546.64328,N,02334.42943,E,143331.50,A,A*6C {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:31.500Z","ept":0.005,"lat":55.777388000,"lon":23.573823833,"alt":122.200,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.4700,"speed":20.357,"climb":0.000,"eps":46.67} $GPZDA,143331.50,09,12,2009,00,00*65 $GPRMC,143332.00,A,5546.63918,N,02334.42294,E,39.806,221.51,091209,,,A*50 $GPVTG,221.51,T,,M,39.806,N,73.761,K,A*38 $GPGGA,143332.00,5546.63918,N,02334.42294,E,1,09,1.26,122.3,M,27.0,M,,*5B {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:32.000Z","ept":0.005,"lat":55.777319667,"lon":23.573715667,"alt":122.300,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5100,"speed":20.478,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.00*07 $GPGSV,3,1,10,32,22,228,32,09,12,037,26,19,58,203,38,11,36,285,33*7D $GPGSV,3,2,10,14,45,118,33,03,31,183,19,28,,,30,22,47,070,40*4F $GPGSV,3,3,10,06,26,174,31,26,44,080,37*72 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":37,"ss":26,"used":true},{"PRN":19,"el":58,"az":203,"ss":38,"used":true},{"PRN":11,"el":36,"az":285,"ss":33,"used":true},{"PRN":14,"el":45,"az":118,"ss":33,"used":true},{"PRN":3,"el":31,"az":183,"ss":19,"used":true},{"PRN":28,"el":0,"az":0,"ss":30,"used":false},{"PRN":22,"el":47,"az":70,"ss":40,"used":true},{"PRN":6,"el":26,"az":174,"ss":31,"used":true},{"PRN":26,"el":44,"az":80,"ss":37,"used":true}]} $GPGLL,5546.63918,N,02334.42294,E,143332.00,A,A*65 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:32.000Z","ept":0.005,"lat":55.777319667,"lon":23.573715667,"alt":122.300,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5100,"speed":20.478,"climb":0.000,"eps":46.67} $GPZDA,143332.00,09,12,2009,00,00*63 $GPRMC,143332.50,A,5546.63505,N,02334.41641,E,39.985,221.44,091209,,,A*54 $GPVTG,221.44,T,,M,39.985,N,74.092,K,A*3A $GPGGA,143332.50,5546.63505,N,02334.41641,E,1,09,1.26,122.4,M,27.0,M,,*56 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:32.500Z","ept":0.005,"lat":55.777250833,"lon":23.573606833,"alt":122.400,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.4400,"speed":20.570,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.01*06 $GPGSV,3,1,10,32,22,228,32,09,12,037,26,19,58,203,38,11,36,285,32*7C $GPGSV,3,2,10,14,45,118,32,03,31,183,19,28,,,30,22,47,070,40*4E $GPGSV,3,3,10,06,26,174,31,26,44,080,36*73 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":37,"ss":26,"used":true},{"PRN":19,"el":58,"az":203,"ss":38,"used":true},{"PRN":11,"el":36,"az":285,"ss":32,"used":true},{"PRN":14,"el":45,"az":118,"ss":32,"used":true},{"PRN":3,"el":31,"az":183,"ss":19,"used":true},{"PRN":28,"el":0,"az":0,"ss":30,"used":false},{"PRN":22,"el":47,"az":70,"ss":40,"used":true},{"PRN":6,"el":26,"az":174,"ss":31,"used":true},{"PRN":26,"el":44,"az":80,"ss":36,"used":true}]} $GPGLL,5546.63505,N,02334.41641,E,143332.50,A,A*6F {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:32.500Z","ept":0.005,"lat":55.777250833,"lon":23.573606833,"alt":122.400,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.4400,"speed":20.570,"climb":0.000,"eps":46.67} $GPZDA,143332.50,09,12,2009,00,00*66 $GPRMC,143333.00,A,5546.63089,N,02334.40987,E,40.143,221.52,091209,,,A*5E $GPVTG,221.52,T,,M,40.143,N,74.385,K,A*34 $GPGGA,143333.00,5546.63089,N,02334.40987,E,1,09,1.26,122.6,M,27.0,M,,*55 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:33.000Z","ept":0.005,"lat":55.777181500,"lon":23.573497833,"alt":122.600,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.5200,"speed":20.651,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.00*07 $GPGSV,3,1,10,32,22,228,31,09,12,037,26,19,58,203,38,11,36,285,32*7F $GPGSV,3,2,10,14,45,118,32,03,31,183,19,28,,,30,22,47,070,40*4E $GPGSV,3,3,10,06,26,174,31,26,44,080,36*73 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":31,"used":true},{"PRN":9,"el":12,"az":37,"ss":26,"used":true},{"PRN":19,"el":58,"az":203,"ss":38,"used":true},{"PRN":11,"el":36,"az":285,"ss":32,"used":true},{"PRN":14,"el":45,"az":118,"ss":32,"used":true},{"PRN":3,"el":31,"az":183,"ss":19,"used":true},{"PRN":28,"el":0,"az":0,"ss":30,"used":false},{"PRN":22,"el":47,"az":70,"ss":40,"used":true},{"PRN":6,"el":26,"az":174,"ss":31,"used":true},{"PRN":26,"el":44,"az":80,"ss":36,"used":true}]} $GPGLL,5546.63089,N,02334.40987,E,143333.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:33.000Z","ept":0.005,"lat":55.777181500,"lon":23.573497833,"alt":122.600,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.5200,"speed":20.651,"climb":0.000,"eps":46.67} $GPZDA,143333.00,09,12,2009,00,00*62 $GPRMC,143333.50,A,5546.62673,N,02334.40329,E,40.300,221.56,091209,,,A*56 $GPVTG,221.56,T,,M,40.300,N,74.676,K,A*3C $GPGGA,143333.50,5546.62673,N,02334.40329,E,1,09,1.26,122.7,M,27.0,M,,*5D {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:33.500Z","ept":0.005,"lat":55.777112167,"lon":23.573388167,"alt":122.700,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5600,"speed":20.732,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.01*06 $GPGSV,3,1,10,32,22,228,33,09,12,037,27,19,58,203,40,11,36,285,34*75 $GPGSV,3,2,10,14,45,118,34,03,31,183,19,28,,,31,22,47,070,42*4B $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":203,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":34,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":19,"used":true},{"PRN":28,"el":0,"az":0,"ss":31,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.62673,N,02334.40329,E,143333.50,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:33.500Z","ept":0.005,"lat":55.777112167,"lon":23.573388167,"alt":122.700,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.5600,"speed":20.732,"climb":0.000,"eps":46.67} $GPZDA,143333.50,09,12,2009,00,00*67 $GPRMC,143334.00,A,5546.62247,N,02334.39671,E,40.502,221.59,091209,,,A*5A $GPVTG,221.59,T,,M,40.502,N,75.050,K,A*34 $GPGGA,143334.00,5546.62247,N,02334.39671,E,1,09,1.26,122.5,M,27.0,M,,*58 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:34.000Z","ept":0.005,"lat":55.777041167,"lon":23.573278500,"alt":122.500,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.5900,"speed":20.836,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.01*06 $GPGSV,3,1,10,32,22,228,33,09,12,037,27,19,58,203,40,11,36,285,35*74 $GPGSV,3,2,10,14,45,118,35,03,31,183,20,28,,,31,22,47,070,42*40 $GPGSV,3,3,10,06,26,174,33,26,44,080,38*7F {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":203,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":20,"used":true},{"PRN":28,"el":0,"az":0,"ss":31,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.62247,N,02334.39671,E,143334.00,A,A*60 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:34.000Z","ept":0.005,"lat":55.777041167,"lon":23.573278500,"alt":122.500,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.5900,"speed":20.836,"climb":0.000,"eps":46.67} $GPZDA,143334.00,09,12,2009,00,00*65 $GPRMC,143334.50,A,5546.61820,N,02334.39009,E,40.736,221.63,091209,,,A*52 $GPVTG,221.63,T,,M,40.736,N,75.483,K,A*32 $GPGGA,143334.50,5546.61820,N,02334.39009,E,1,09,1.26,122.4,M,27.0,M,,*5D {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:34.500Z","ept":0.005,"lat":55.776970000,"lon":23.573168167,"alt":122.400,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.6300,"speed":20.956,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.01*06 $GPGSV,3,1,10,32,22,228,33,09,12,037,27,19,58,203,40,11,36,285,35*74 $GPGSV,3,2,10,14,45,118,34,03,31,183,20,28,,,31,22,47,070,42*41 $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":203,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":20,"used":true},{"PRN":28,"el":0,"az":0,"ss":31,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.61820,N,02334.39009,E,143334.50,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:34.500Z","ept":0.005,"lat":55.776970000,"lon":23.573168167,"alt":122.400,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.6300,"speed":20.956,"climb":0.000,"eps":46.67} $GPZDA,143334.50,09,12,2009,00,00*60 $GPRMC,143335.00,A,5546.61392,N,02334.38340,E,40.981,221.79,091209,,,A*52 $GPVTG,221.79,T,,M,40.981,N,75.938,K,A*36 $GPGGA,143335.00,5546.61392,N,02334.38340,E,1,09,1.26,122.3,M,27.0,M,,*53 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:35.000Z","ept":0.005,"lat":55.776898667,"lon":23.573056667,"alt":122.300,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.7900,"speed":21.082,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.01*06 $GPGSV,3,1,10,32,22,228,32,09,12,037,27,19,58,203,40,11,36,285,35*75 $GPGSV,3,2,10,14,45,118,34,03,31,183,24,28,,,32,22,47,070,42*46 $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":203,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":24,"used":true},{"PRN":28,"el":0,"az":0,"ss":32,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.61392,N,02334.38340,E,143335.00,A,A*6D {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:35.000Z","ept":0.005,"lat":55.776898667,"lon":23.573056667,"alt":122.300,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.7900,"speed":21.082,"climb":0.000,"eps":46.67} $GPZDA,143335.00,09,12,2009,00,00*64 $GPRMC,143335.50,A,5546.60964,N,02334.37668,E,41.196,221.79,091209,,,A*5A $GPVTG,221.79,T,,M,41.196,N,76.336,K,A*3E $GPGGA,143335.50,5546.60964,N,02334.37668,E,1,09,1.26,122.3,M,27.0,M,,*54 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:35.500Z","ept":0.005,"lat":55.776827333,"lon":23.572944667,"alt":122.300,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.7900,"speed":21.193,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.01*06 $GPGSV,3,1,10,32,22,228,33,09,12,037,28,19,58,203,40,11,36,285,36*78 $GPGSV,3,2,10,14,45,118,35,03,31,183,24,28,,,33,22,47,070,42*46 $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":24,"used":true},{"PRN":28,"el":0,"az":0,"ss":33,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.60964,N,02334.37668,E,143335.50,A,A*6A {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:35.500Z","ept":0.005,"lat":55.776827333,"lon":23.572944667,"alt":122.300,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.7900,"speed":21.193,"climb":0.000,"eps":46.67} $GPZDA,143335.50,09,12,2009,00,00*61 $GPRMC,143336.00,A,5546.60535,N,02334.36991,E,41.361,221.94,091209,,,A*55 $GPVTG,221.94,T,,M,41.361,N,76.642,K,A*31 $GPGGA,143336.00,5546.60535,N,02334.36991,E,1,09,1.26,122.3,M,27.0,M,,*52 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:36.000Z","ept":0.005,"lat":55.776755833,"lon":23.572831833,"alt":122.300,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.9400,"speed":21.278,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,22,06,26,,,,3.26,1.26,3.00*07 $GPGSV,3,1,10,32,22,228,33,09,12,037,28,19,58,203,40,11,36,285,35*7B $GPGSV,3,2,10,14,45,118,34,03,31,183,25,28,,,34,22,47,070,42*41 $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.00,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":25,"used":true},{"PRN":28,"el":0,"az":0,"ss":34,"used":false},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.60535,N,02334.36991,E,143336.00,A,A*6C {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:36.000Z","ept":0.005,"lat":55.776755833,"lon":23.572831833,"alt":122.300,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.9400,"speed":21.278,"climb":0.000,"eps":46.67} $GPZDA,143336.00,09,12,2009,00,00*67 $GPRMC,143336.50,A,5546.60106,N,02334.36309,E,41.477,221.87,091209,,,A*5D $GPVTG,221.87,T,,M,41.477,N,76.857,K,A*39 $GPGGA,143336.50,5546.60106,N,02334.36309,E,1,10,1.01,122.3,M,27.0,M,,*55 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:36.500Z","ept":0.005,"lat":55.776684333,"lon":23.572718167,"alt":122.300,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.8700,"speed":21.338,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,40,11,36,285,36*79 $GPGSV,3,2,10,14,45,118,34,03,31,183,27,28,19,317,34,22,47,070,42*7E $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":2.46,"tdop":0.92,"hdop":1.01,"gdop":2.24,"pdop":2.66,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":27,"used":true},{"PRN":28,"el":19,"az":317,"ss":34,"used":true},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.60106,N,02334.36309,E,143336.50,A,A*66 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:36.500Z","ept":0.005,"lat":55.776684333,"lon":23.572718167,"alt":122.300,"epx":10.912,"epy":11.668,"epv":69.000,"track":221.8700,"speed":21.338,"climb":0.000,"eps":46.67} $GPZDA,143336.50,09,12,2009,00,00*62 $GPRMC,143337.00,A,5546.59676,N,02334.35625,E,41.577,221.77,091209,,,A*55 $GPVTG,221.77,T,,M,41.577,N,77.043,K,A*3B $GPGGA,143337.00,5546.59676,N,02334.35625,E,1,10,1.01,122.3,M,27.0,M,,*53 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:37.000Z","ept":0.005,"lat":55.776612667,"lon":23.572604167,"alt":122.300,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.7700,"speed":21.389,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,40,11,36,285,35*7A $GPGSV,3,2,10,14,45,118,35,03,31,183,27,28,19,317,33,22,47,070,42*78 $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":2.46,"tdop":0.92,"hdop":1.01,"gdop":2.24,"pdop":2.66,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":27,"used":true},{"PRN":28,"el":19,"az":317,"ss":33,"used":true},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.59676,N,02334.35625,E,143337.00,A,A*60 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:37.000Z","ept":0.005,"lat":55.776612667,"lon":23.572604167,"alt":122.300,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.7700,"speed":21.389,"climb":0.000,"eps":46.67} $GPZDA,143337.00,09,12,2009,00,00*66 $GPRMC,143337.50,A,5546.59244,N,02334.34942,E,41.633,221.86,091209,,,A*57 $GPVTG,221.86,T,,M,41.633,N,77.146,K,A*32 $GPGGA,143337.50,5546.59244,N,02334.34942,E,1,10,1.01,122.3,M,27.0,M,,*5C {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:37.500Z","ept":0.005,"lat":55.776540667,"lon":23.572490333,"alt":122.300,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.8600,"speed":21.418,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,39,11,36,285,35*74 $GPGSV,3,2,10,14,45,118,34,03,31,183,24,28,19,317,32,22,47,070,41*78 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":2.46,"tdop":0.92,"hdop":1.01,"gdop":2.24,"pdop":2.66,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":24,"used":true},{"PRN":28,"el":19,"az":317,"ss":32,"used":true},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.59244,N,02334.34942,E,143337.50,A,A*6F {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:37.500Z","ept":0.005,"lat":55.776540667,"lon":23.572490333,"alt":122.300,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.8600,"speed":21.418,"climb":0.000,"eps":46.67} $GPZDA,143337.50,09,12,2009,00,00*63 $GPRMC,143338.00,A,5546.58812,N,02334.34258,E,41.700,221.99,091209,,,A*5A $GPVTG,221.99,T,,M,41.700,N,77.270,K,A*3B $GPGGA,143338.00,5546.58812,N,02334.34258,E,1,10,1.01,122.3,M,27.0,M,,*5E {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:38.000Z","ept":0.005,"lat":55.776468667,"lon":23.572376333,"alt":122.300,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.9900,"speed":21.452,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,31,09,12,037,28,19,58,203,39,11,36,285,35*77 $GPGSV,3,2,10,14,45,118,34,03,31,183,27,28,19,317,34,22,47,070,41*7D $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":2.46,"tdop":0.92,"hdop":1.01,"gdop":2.24,"pdop":2.66,"satellites":[{"PRN":32,"el":22,"az":228,"ss":31,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":27,"used":true},{"PRN":28,"el":19,"az":317,"ss":34,"used":true},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.58812,N,02334.34258,E,143338.00,A,A*6D {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:38.000Z","ept":0.005,"lat":55.776468667,"lon":23.572376333,"alt":122.300,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.9900,"speed":21.452,"climb":0.000,"eps":46.67} $GPZDA,143338.00,09,12,2009,00,00*69 $GPRMC,143338.50,A,5546.58377,N,02334.33571,E,41.763,222.02,091209,,,A*58 $GPVTG,222.02,T,,M,41.763,N,77.387,K,A*36 $GPGGA,143338.50,5546.58377,N,02334.33571,E,1,10,1.01,122.2,M,27.0,M,,*59 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:38.500Z","ept":0.005,"lat":55.776396167,"lon":23.572261833,"alt":122.200,"epx":10.912,"epy":11.668,"epv":56.580,"track":222.0200,"speed":21.485,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,39,11,36,285,36*77 $GPGSV,3,2,10,14,45,118,34,03,31,183,27,28,19,317,34,22,47,070,42*7E $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":2.46,"tdop":0.92,"hdop":1.01,"gdop":2.24,"pdop":2.66,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":27,"used":true},{"PRN":28,"el":19,"az":317,"ss":34,"used":true},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.58377,N,02334.33571,E,143338.50,A,A*6B {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:38.500Z","ept":0.005,"lat":55.776396167,"lon":23.572261833,"alt":122.200,"epx":10.912,"epy":11.668,"epv":56.580,"track":222.0200,"speed":21.485,"climb":0.000,"eps":46.67} $GPZDA,143338.50,09,12,2009,00,00*6C $GPRMC,143339.00,A,5546.57941,N,02334.32886,E,41.810,221.70,091209,,,A*55 $GPVTG,221.70,T,,M,41.810,N,77.474,K,A*30 $GPGGA,143339.00,5546.57941,N,02334.32886,E,1,10,1.01,122.2,M,27.0,M,,*59 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:39.000Z","ept":0.005,"lat":55.776323500,"lon":23.572147667,"alt":122.200,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.7000,"speed":21.509,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,39,11,36,285,36*77 $GPGSV,3,2,10,14,45,118,34,03,31,183,27,28,19,317,34,22,47,070,42*7E $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":2.46,"tdop":0.92,"hdop":1.01,"gdop":2.24,"pdop":2.66,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":27,"used":true},{"PRN":28,"el":19,"az":317,"ss":34,"used":true},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.57941,N,02334.32886,E,143339.00,A,A*6B {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:39.000Z","ept":0.005,"lat":55.776323500,"lon":23.572147667,"alt":122.200,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.7000,"speed":21.509,"climb":0.000,"eps":46.67} $GPZDA,143339.00,09,12,2009,00,00*68 $GPRMC,143339.50,A,5546.57509,N,02334.32202,E,41.805,221.61,091209,,,A*52 $GPVTG,221.61,T,,M,41.805,N,77.464,K,A*35 $GPGGA,143339.50,5546.57509,N,02334.32202,E,1,10,1.22,122.4,M,27.0,M,,*5D {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:39.500Z","ept":0.005,"lat":55.776251500,"lon":23.572033667,"alt":122.400,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.6100,"speed":21.506,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.23,1.22,2.99*0D $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,40,11,36,285,36*79 $GPGSV,3,2,10,14,45,118,35,03,31,183,24,28,19,317,34,22,47,070,42*7C $GPGSV,3,3,10,06,26,174,33,26,44,080,38*7F {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":2.99,"tdop":0.92,"hdop":1.22,"gdop":2.24,"pdop":3.23,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":36,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":24,"used":true},{"PRN":28,"el":19,"az":317,"ss":34,"used":true},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.57509,N,02334.32202,E,143339.50,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:39.500Z","ept":0.005,"lat":55.776251500,"lon":23.572033667,"alt":122.400,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.6100,"speed":21.506,"climb":0.000,"eps":46.67} $GPZDA,143339.50,09,12,2009,00,00*6D $GPRMC,143340.00,A,5546.57072,N,02334.31519,E,41.831,221.43,091209,,,A*59 $GPVTG,221.43,T,,M,41.831,N,77.512,K,A*32 $GPGGA,143340.00,5546.57072,N,02334.31519,E,1,10,1.01,122.4,M,27.0,M,,*50 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:40.000Z","ept":0.005,"lat":55.776178667,"lon":23.571919833,"alt":122.400,"epx":10.912,"epy":11.668,"epv":68.770,"track":221.4300,"speed":21.520,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,32,09,12,037,27,19,58,203,40,11,36,285,35*75 $GPGSV,3,2,10,14,45,118,35,03,31,183,24,28,19,317,32,22,47,070,42*7A $GPGSV,3,3,10,06,26,174,34,26,44,080,38*78 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":2.46,"tdop":0.92,"hdop":1.01,"gdop":2.24,"pdop":2.66,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":203,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":24,"used":true},{"PRN":28,"el":19,"az":317,"ss":32,"used":true},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":34,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.57072,N,02334.31519,E,143340.00,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:40.000Z","ept":0.005,"lat":55.776178667,"lon":23.571919833,"alt":122.400,"epx":10.912,"epy":11.668,"epv":68.770,"track":221.4300,"speed":21.520,"climb":0.000,"eps":46.67} $GPZDA,143340.00,09,12,2009,00,00*66 $GPRMC,143340.50,A,5546.56636,N,02334.30835,E,41.860,221.62,091209,,,A*5E $GPVTG,221.62,T,,M,41.860,N,77.566,K,A*36 $GPGGA,143340.50,5546.56636,N,02334.30835,E,1,10,1.01,122.3,M,27.0,M,,*57 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:40.500Z","ept":0.005,"lat":55.776106000,"lon":23.571805833,"alt":122.300,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.6200,"speed":21.535,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,33,09,12,037,27,19,58,203,39,11,36,285,35*7A $GPGSV,3,2,10,14,45,118,34,03,31,183,23,28,19,317,32,22,47,070,41*7F $GPGSV,3,3,10,06,26,174,33,26,44,080,38*7F {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":2.46,"tdop":0.92,"hdop":1.01,"gdop":2.24,"pdop":2.66,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":203,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":23,"used":true},{"PRN":28,"el":19,"az":317,"ss":32,"used":true},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.56636,N,02334.30835,E,143340.50,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:40.500Z","ept":0.005,"lat":55.776106000,"lon":23.571805833,"alt":122.300,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.6200,"speed":21.535,"climb":0.000,"eps":46.67} $GPZDA,143340.50,09,12,2009,00,00*63 $GPRMC,143341.00,A,5546.56202,N,02334.30147,E,41.947,221.64,091209,,,A*57 $GPVTG,221.64,T,,M,41.947,N,77.727,K,A*33 $GPGGA,143341.00,5546.56202,N,02334.30147,E,1,10,1.01,122.4,M,27.0,M,,*5B {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:41.000Z","ept":0.005,"lat":55.776033667,"lon":23.571691167,"alt":122.400,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.6400,"speed":21.579,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,33,09,12,037,27,19,58,203,40,11,36,285,35*74 $GPGSV,3,2,10,14,45,118,34,03,31,183,24,28,19,317,33,22,47,070,41*79 $GPGSV,3,3,10,06,26,174,33,26,44,080,38*7F {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":2.46,"tdop":0.92,"hdop":1.01,"gdop":2.24,"pdop":2.66,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":203,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":24,"used":true},{"PRN":28,"el":19,"az":317,"ss":33,"used":true},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.56202,N,02334.30147,E,143341.00,A,A*6F {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:41.000Z","ept":0.005,"lat":55.776033667,"lon":23.571691167,"alt":122.400,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.6400,"speed":21.579,"climb":0.000,"eps":46.67} $GPZDA,143341.00,09,12,2009,00,00*67 $GPRMC,143341.50,A,5546.55766,N,02334.29457,E,41.998,221.76,091209,,,A*5B $GPVTG,221.76,T,,M,41.998,N,77.822,K,A*38 $GPGGA,143341.50,5546.55766,N,02334.29457,E,1,10,1.01,122.3,M,27.0,M,,*51 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:41.500Z","ept":0.005,"lat":55.775961000,"lon":23.571576167,"alt":122.300,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.7600,"speed":21.606,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,33,09,12,037,27,19,58,203,40,11,36,285,35*74 $GPGSV,3,2,10,14,45,118,34,03,31,183,24,28,19,317,35,22,47,070,42*7C $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":2.46,"tdop":0.92,"hdop":1.01,"gdop":2.24,"pdop":2.66,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":203,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":24,"used":true},{"PRN":28,"el":19,"az":317,"ss":35,"used":true},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.55766,N,02334.29457,E,143341.50,A,A*62 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:41.500Z","ept":0.005,"lat":55.775961000,"lon":23.571576167,"alt":122.300,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.7600,"speed":21.606,"climb":0.000,"eps":46.67} $GPZDA,143341.50,09,12,2009,00,00*62 $GPRMC,143342.00,A,5546.55331,N,02334.28765,E,42.085,221.64,091209,,,A*5D $GPVTG,221.64,T,,M,42.085,N,77.984,K,A*30 $GPGGA,143342.00,5546.55331,N,02334.28765,E,1,10,1.01,122.4,M,27.0,M,,*55 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:42.000Z","ept":0.005,"lat":55.775888500,"lon":23.571460833,"alt":122.400,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.6400,"speed":21.650,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,34,09,12,037,27,19,58,203,40,11,36,285,35*73 $GPGSV,3,2,10,14,45,118,35,03,31,183,24,28,19,317,34,22,47,070,42*7C $GPGSV,3,3,10,06,26,174,33,26,44,080,39*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":2.46,"tdop":0.92,"hdop":1.01,"gdop":2.24,"pdop":2.66,"satellites":[{"PRN":32,"el":22,"az":228,"ss":34,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":203,"ss":40,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":35,"used":true},{"PRN":3,"el":31,"az":183,"ss":24,"used":true},{"PRN":28,"el":19,"az":317,"ss":34,"used":true},{"PRN":22,"el":47,"az":70,"ss":42,"used":true},{"PRN":6,"el":26,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":39,"used":true}]} $GPGLL,5546.55331,N,02334.28765,E,143342.00,A,A*61 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:42.000Z","ept":0.005,"lat":55.775888500,"lon":23.571460833,"alt":122.400,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.6400,"speed":21.650,"climb":0.000,"eps":46.67} $GPZDA,143342.00,09,12,2009,00,00*64 $GPRMC,143342.50,A,5546.54894,N,02334.28072,E,42.096,221.79,091209,,,A*52 $GPVTG,221.79,T,,M,42.096,N,78.004,K,A*30 $GPGGA,143342.50,5546.54894,N,02334.28072,E,1,10,1.01,122.4,M,27.0,M,,*54 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:42.500Z","ept":0.005,"lat":55.775815667,"lon":23.571345333,"alt":122.400,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.7900,"speed":21.656,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,34,09,12,037,27,19,58,203,39,11,36,285,35*7D $GPGSV,3,2,10,14,45,118,34,03,31,183,26,28,19,317,33,22,47,070,41*7B $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":2.46,"tdop":0.92,"hdop":1.01,"gdop":2.24,"pdop":2.66,"satellites":[{"PRN":32,"el":22,"az":228,"ss":34,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":203,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":26,"used":true},{"PRN":28,"el":19,"az":317,"ss":33,"used":true},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.54894,N,02334.28072,E,143342.50,A,A*60 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:42.500Z","ept":0.005,"lat":55.775815667,"lon":23.571345333,"alt":122.400,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.7900,"speed":21.656,"climb":0.000,"eps":46.67} $GPZDA,143342.50,09,12,2009,00,00*61 $GPRMC,143343.00,A,5546.54457,N,02334.27380,E,42.128,221.81,091209,,,A*57 $GPVTG,221.81,T,,M,42.128,N,78.064,K,A*35 $GPGGA,143343.00,5546.54457,N,02334.27380,E,1,10,1.01,122.4,M,27.0,M,,*52 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:43.000Z","ept":0.005,"lat":55.775742833,"lon":23.571230000,"alt":122.400,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.8100,"speed":21.673,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,34,09,12,037,27,19,58,203,39,11,36,285,35*7D $GPGSV,3,2,10,14,45,118,34,03,31,183,26,28,19,317,32,22,47,070,41*7A $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":2.46,"tdop":0.92,"hdop":1.01,"gdop":2.24,"pdop":2.66,"satellites":[{"PRN":32,"el":22,"az":228,"ss":34,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":203,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":26,"used":true},{"PRN":28,"el":19,"az":317,"ss":32,"used":true},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.54457,N,02334.27380,E,143343.00,A,A*66 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:43.000Z","ept":0.005,"lat":55.775742833,"lon":23.571230000,"alt":122.400,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.8100,"speed":21.673,"climb":0.000,"eps":46.67} $GPZDA,143343.00,09,12,2009,00,00*65 $GPRMC,143343.50,A,5546.54019,N,02334.26687,E,42.223,221.67,091209,,,A*5F $GPVTG,221.67,T,,M,42.223,N,78.240,K,A*31 $GPGGA,143343.50,5546.54019,N,02334.26687,E,1,10,1.26,122.5,M,27.0,M,,*5E {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:43.500Z","ept":0.005,"lat":55.775669833,"lon":23.571114500,"alt":122.500,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.6700,"speed":21.721,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,34,09,12,037,27,19,58,203,39,11,36,285,35*7D $GPGSV,3,2,10,14,45,118,34,03,31,183,23,28,19,317,31,22,47,070,41*7C $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":34,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":203,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":35,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":23,"used":true},{"PRN":28,"el":19,"az":317,"ss":31,"used":true},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.54019,N,02334.26687,E,143343.50,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:43.500Z","ept":0.005,"lat":55.775669833,"lon":23.571114500,"alt":122.500,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.6700,"speed":21.721,"climb":0.000,"eps":46.67} $GPZDA,143343.50,09,12,2009,00,00*60 $GPRMC,143344.00,A,5546.53579,N,02334.25993,E,42.261,221.65,091209,,,A*54 $GPVTG,221.65,T,,M,42.261,N,78.309,K,A*39 $GPGGA,143344.00,5546.53579,N,02334.25993,E,1,10,1.01,122.4,M,27.0,M,,*55 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:44.000Z","ept":0.005,"lat":55.775596500,"lon":23.570998833,"alt":122.400,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.6500,"speed":21.741,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,33,09,12,037,27,19,58,203,39,11,36,285,34*7B $GPGSV,3,2,10,14,45,118,34,03,31,183,24,28,19,317,32,22,47,070,41*78 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":2.46,"tdop":0.92,"hdop":1.01,"gdop":2.24,"pdop":2.66,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":203,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":34,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":24,"used":true},{"PRN":28,"el":19,"az":317,"ss":32,"used":true},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.53579,N,02334.25993,E,143344.00,A,A*61 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:44.000Z","ept":0.005,"lat":55.775596500,"lon":23.570998833,"alt":122.400,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.6500,"speed":21.741,"climb":0.000,"eps":46.67} $GPZDA,143344.00,09,12,2009,00,00*62 $GPRMC,143344.50,A,5546.53138,N,02334.25301,E,42.303,221.61,091209,,,A*50 $GPVTG,221.61,T,,M,42.303,N,78.388,K,A*31 $GPGGA,143344.50,5546.53138,N,02334.25301,E,1,10,1.01,122.3,M,27.0,M,,*57 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:44.500Z","ept":0.005,"lat":55.775523000,"lon":23.570883500,"alt":122.300,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.6100,"speed":21.763,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,33,09,12,037,27,19,58,203,39,11,36,285,34*7B $GPGSV,3,2,10,14,45,118,34,03,31,183,28,28,19,317,32,22,47,070,41*74 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":2.46,"tdop":0.92,"hdop":1.01,"gdop":2.24,"pdop":2.66,"satellites":[{"PRN":32,"el":22,"az":228,"ss":33,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":203,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":34,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":28,"used":true},{"PRN":28,"el":19,"az":317,"ss":32,"used":true},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.53138,N,02334.25301,E,143344.50,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:44.500Z","ept":0.005,"lat":55.775523000,"lon":23.570883500,"alt":122.300,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.6100,"speed":21.763,"climb":0.000,"eps":46.67} $GPZDA,143344.50,09,12,2009,00,00*67 $GPRMC,143345.00,A,5546.52698,N,02334.24607,E,42.393,221.82,091209,,,A*5E $GPVTG,221.82,T,,M,42.393,N,78.553,K,A*35 $GPGGA,143345.00,5546.52698,N,02334.24607,E,1,10,1.01,122.2,M,27.0,M,,*5C {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:45.000Z","ept":0.005,"lat":55.775449667,"lon":23.570767833,"alt":122.200,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.8200,"speed":21.809,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,39,11,36,285,33*72 $GPGSV,3,2,10,14,45,118,34,03,31,183,28,28,19,317,31,22,47,070,41*77 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":2.46,"tdop":0.92,"hdop":1.01,"gdop":2.24,"pdop":2.66,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":33,"used":true},{"PRN":14,"el":45,"az":118,"ss":34,"used":true},{"PRN":3,"el":31,"az":183,"ss":28,"used":true},{"PRN":28,"el":19,"az":317,"ss":31,"used":true},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.52698,N,02334.24607,E,143345.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:45.000Z","ept":0.005,"lat":55.775449667,"lon":23.570767833,"alt":122.200,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.8200,"speed":21.809,"climb":0.000,"eps":46.67} $GPZDA,143345.00,09,12,2009,00,00*63 $GPRMC,143345.50,A,5546.52259,N,02334.23909,E,42.434,221.88,091209,,,A*54 $GPVTG,221.88,T,,M,42.434,N,78.630,K,A*33 $GPGGA,143345.50,5546.52259,N,02334.23909,E,1,10,1.01,122.1,M,27.0,M,,*55 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:45.500Z","ept":0.005,"lat":55.775376500,"lon":23.570651500,"alt":122.100,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.8800,"speed":21.830,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,2.66,1.01,2.46*0E $GPGSV,3,1,10,32,22,228,32,09,12,037,27,19,58,203,39,11,36,285,32*7C $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,19,317,31,22,47,070,41*70 $GPGSV,3,3,10,06,26,174,32,26,44,080,37*71 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":2.46,"tdop":0.92,"hdop":1.01,"gdop":2.24,"pdop":2.66,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":203,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":32,"used":true},{"PRN":14,"el":45,"az":118,"ss":33,"used":true},{"PRN":3,"el":31,"az":183,"ss":28,"used":true},{"PRN":28,"el":19,"az":317,"ss":31,"used":true},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":37,"used":true}]} $GPGLL,5546.52259,N,02334.23909,E,143345.50,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:45.500Z","ept":0.005,"lat":55.775376500,"lon":23.570651500,"alt":122.100,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.8800,"speed":21.830,"climb":0.000,"eps":46.67} $GPZDA,143345.50,09,12,2009,00,00*66 $GPRMC,143346.00,A,5546.51820,N,02334.23212,E,42.324,221.82,091209,,,A*58 $GPVTG,221.82,T,,M,42.324,N,78.426,K,A*3A $GPGGA,143346.00,5546.51820,N,02334.23212,E,1,10,1.26,122.2,M,27.0,M,,*53 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:46.000Z","ept":0.005,"lat":55.775303333,"lon":23.570535333,"alt":122.200,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.8200,"speed":21.773,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,31,09,12,037,27,19,58,203,38,11,36,285,32*7E $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,19,317,30,22,47,070,40*70 $GPGSV,3,3,10,06,26,174,32,26,44,080,37*71 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":31,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":203,"ss":38,"used":true},{"PRN":11,"el":36,"az":285,"ss":32,"used":true},{"PRN":14,"el":45,"az":118,"ss":33,"used":true},{"PRN":3,"el":31,"az":183,"ss":28,"used":true},{"PRN":28,"el":19,"az":317,"ss":30,"used":true},{"PRN":22,"el":47,"az":70,"ss":40,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":37,"used":true}]} $GPGLL,5546.51820,N,02334.23212,E,143346.00,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:46.000Z","ept":0.005,"lat":55.775303333,"lon":23.570535333,"alt":122.200,"epx":10.912,"epy":11.668,"epv":56.580,"track":221.8200,"speed":21.773,"climb":0.000,"eps":46.67} $GPZDA,143346.00,09,12,2009,00,00*60 $GPRMC,143346.50,A,5546.51382,N,02334.22519,E,42.016,221.97,091209,,,A*55 $GPVTG,221.97,T,,M,42.016,N,77.855,K,A*3B $GPGGA,143346.50,5546.51382,N,02334.22519,E,1,10,1.26,122.2,M,27.0,M,,*58 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:46.500Z","ept":0.005,"lat":55.775230333,"lon":23.570419833,"alt":122.200,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.9700,"speed":21.615,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,30,09,12,037,28,19,58,203,39,11,36,285,33*70 $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,19,317,30,22,47,070,40*70 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":30,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":33,"used":true},{"PRN":14,"el":45,"az":118,"ss":33,"used":true},{"PRN":3,"el":31,"az":183,"ss":28,"used":true},{"PRN":28,"el":19,"az":317,"ss":30,"used":true},{"PRN":22,"el":47,"az":70,"ss":40,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.51382,N,02334.22519,E,143346.50,A,A*6F {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:46.500Z","ept":0.005,"lat":55.775230333,"lon":23.570419833,"alt":122.200,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.9700,"speed":21.615,"climb":0.000,"eps":46.67} $GPZDA,143346.50,09,12,2009,00,00*65 $GPRMC,143347.00,A,5546.50947,N,02334.21831,E,41.750,221.78,091209,,,A*50 $GPVTG,221.78,T,,M,41.750,N,77.363,K,A*32 $GPGGA,143347.00,5546.50947,N,02334.21831,E,1,10,1.26,122.2,M,27.0,M,,*5A {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:47.000Z","ept":0.005,"lat":55.775157833,"lon":23.570305167,"alt":122.200,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.7800,"speed":21.478,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,31,09,12,037,28,19,58,203,39,11,36,285,33*71 $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,19,317,30,22,47,070,41*71 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":31,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":33,"used":true},{"PRN":14,"el":45,"az":118,"ss":33,"used":true},{"PRN":3,"el":31,"az":183,"ss":28,"used":true},{"PRN":28,"el":19,"az":317,"ss":30,"used":true},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.50947,N,02334.21831,E,143347.00,A,A*6D {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:47.000Z","ept":0.005,"lat":55.775157833,"lon":23.570305167,"alt":122.200,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.7800,"speed":21.478,"climb":0.000,"eps":46.67} $GPZDA,143347.00,09,12,2009,00,00*61 $GPRMC,143347.50,A,5546.50515,N,02334.21149,E,41.450,221.70,091209,,,A*53 $GPVTG,221.70,T,,M,41.450,N,76.806,K,A*30 $GPGGA,143347.50,5546.50515,N,02334.21149,E,1,10,1.90,122.2,M,27.0,M,,*5F {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:47.500Z","ept":0.005,"lat":55.775085833,"lon":23.570191500,"alt":122.200,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.7000,"speed":21.324,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.58,1.90,3.04*0D $GPGSV,3,1,10,32,22,228,31,09,12,037,28,19,58,203,39,11,36,285,33*71 $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,19,317,30,22,47,070,40*70 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.04,"tdop":0.92,"hdop":1.90,"gdop":2.24,"pdop":3.58,"satellites":[{"PRN":32,"el":22,"az":228,"ss":31,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":33,"used":true},{"PRN":14,"el":45,"az":118,"ss":33,"used":true},{"PRN":3,"el":31,"az":183,"ss":28,"used":true},{"PRN":28,"el":19,"az":317,"ss":30,"used":true},{"PRN":22,"el":47,"az":70,"ss":40,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.50515,N,02334.21149,E,143347.50,A,A*65 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:47.500Z","ept":0.005,"lat":55.775085833,"lon":23.570191500,"alt":122.200,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.7000,"speed":21.324,"climb":0.000,"eps":46.67} $GPZDA,143347.50,09,12,2009,00,00*64 $GPRMC,143348.00,A,5546.50086,N,02334.20472,E,41.139,221.46,091209,,,A*55 $GPVTG,221.46,T,,M,41.139,N,76.231,K,A*31 $GPGGA,143348.00,5546.50086,N,02334.20472,E,1,10,1.26,122.2,M,27.0,M,,*5B {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:48.000Z","ept":0.005,"lat":55.775014333,"lon":23.570078667,"alt":122.200,"epx":10.912,"epy":11.668,"epv":69.920,"track":221.4600,"speed":21.164,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,30,09,12,037,27,19,58,203,38,11,36,285,33*7E $GPGSV,3,2,10,14,45,118,33,03,31,183,27,28,19,317,30,22,47,070,41*7E $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":30,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":203,"ss":38,"used":true},{"PRN":11,"el":36,"az":285,"ss":33,"used":true},{"PRN":14,"el":45,"az":118,"ss":33,"used":true},{"PRN":3,"el":31,"az":183,"ss":27,"used":true},{"PRN":28,"el":19,"az":317,"ss":30,"used":true},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.50086,N,02334.20472,E,143348.00,A,A*6C {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:48.000Z","ept":0.005,"lat":55.775014333,"lon":23.570078667,"alt":122.200,"epx":10.912,"epy":11.668,"epv":69.920,"track":221.4600,"speed":21.164,"climb":0.000,"eps":46.67} $GPZDA,143348.00,09,12,2009,00,00*6E $GPRMC,143348.50,A,5546.49657,N,02334.19806,E,40.840,221.86,091209,,,A*5D $GPVTG,221.86,T,,M,40.840,N,75.676,K,A*3F $GPGGA,143348.50,5546.49657,N,02334.19806,E,1,10,1.26,122.2,M,27.0,M,,*59 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:48.500Z","ept":0.005,"lat":55.774942833,"lon":23.569967667,"alt":122.200,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.8600,"speed":21.010,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,31,09,12,037,28,19,58,203,38,11,36,285,33*70 $GPGSV,3,2,10,14,45,118,33,03,31,183,27,28,19,317,30,22,47,070,40*7F $GPGSV,3,3,10,06,26,174,32,26,44,080,37*71 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":31,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":38,"used":true},{"PRN":11,"el":36,"az":285,"ss":33,"used":true},{"PRN":14,"el":45,"az":118,"ss":33,"used":true},{"PRN":3,"el":31,"az":183,"ss":27,"used":true},{"PRN":28,"el":19,"az":317,"ss":30,"used":true},{"PRN":22,"el":47,"az":70,"ss":40,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":37,"used":true}]} $GPGLL,5546.49657,N,02334.19806,E,143348.50,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:48.500Z","ept":0.005,"lat":55.774942833,"lon":23.569967667,"alt":122.200,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.8600,"speed":21.010,"climb":0.000,"eps":46.67} $GPZDA,143348.50,09,12,2009,00,00*6B $GPRMC,143349.00,A,5546.49236,N,02334.19138,E,40.570,221.54,091209,,,A*5F $GPVTG,221.54,T,,M,40.570,N,75.176,K,A*39 $GPGGA,143349.00,5546.49236,N,02334.19138,E,1,10,1.26,122.3,M,27.0,M,,*5B {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:49.000Z","ept":0.005,"lat":55.774872667,"lon":23.569856333,"alt":122.300,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.5400,"speed":20.871,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,31,09,12,037,28,19,58,203,39,11,36,285,34*76 $GPGSV,3,2,10,14,45,118,32,03,31,183,28,28,19,317,30,22,47,070,41*70 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":31,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":34,"used":true},{"PRN":14,"el":45,"az":118,"ss":32,"used":true},{"PRN":3,"el":31,"az":183,"ss":28,"used":true},{"PRN":28,"el":19,"az":317,"ss":30,"used":true},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.49236,N,02334.19138,E,143349.00,A,A*6D {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:49.000Z","ept":0.005,"lat":55.774872667,"lon":23.569856333,"alt":122.300,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.5400,"speed":20.871,"climb":0.000,"eps":46.67} $GPZDA,143349.00,09,12,2009,00,00*6F $GPRMC,143349.50,A,5546.48814,N,02334.18482,E,40.283,221.44,091209,,,A*5E $GPVTG,221.44,T,,M,40.283,N,74.645,K,A*35 $GPGGA,143349.50,5546.48814,N,02334.18482,E,1,10,1.26,122.3,M,27.0,M,,*50 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:49.500Z","ept":0.005,"lat":55.774802333,"lon":23.569747000,"alt":122.300,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.4400,"speed":20.723,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,31,09,12,037,27,19,58,203,39,11,36,285,34*79 $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,19,317,30,22,47,070,41*71 $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":31,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":203,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":34,"used":true},{"PRN":14,"el":45,"az":118,"ss":33,"used":true},{"PRN":3,"el":31,"az":183,"ss":28,"used":true},{"PRN":28,"el":19,"az":317,"ss":30,"used":true},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.48814,N,02334.18482,E,143349.50,A,A*66 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:49.500Z","ept":0.005,"lat":55.774802333,"lon":23.569747000,"alt":122.300,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.4400,"speed":20.723,"climb":0.000,"eps":46.67} $GPZDA,143349.50,09,12,2009,00,00*6A $GPRMC,143350.00,A,5546.48395,N,02334.17830,E,39.946,221.60,091209,,,A*51 $GPVTG,221.60,T,,M,39.946,N,74.020,K,A*3A $GPGGA,143350.00,5546.48395,N,02334.17830,E,1,10,1.26,122.3,M,27.0,M,,*55 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:50.000Z","ept":0.005,"lat":55.774732500,"lon":23.569638333,"alt":122.300,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.6000,"speed":20.550,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,31,09,12,037,27,19,58,203,39,11,36,285,34*79 $GPGSV,3,2,10,14,45,118,32,03,31,183,27,28,19,317,30,22,47,070,41*7F $GPGSV,3,3,10,06,26,174,32,26,44,080,38*7E {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":31,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":203,"ss":39,"used":true},{"PRN":11,"el":36,"az":285,"ss":34,"used":true},{"PRN":14,"el":45,"az":118,"ss":32,"used":true},{"PRN":3,"el":31,"az":183,"ss":27,"used":true},{"PRN":28,"el":19,"az":317,"ss":30,"used":true},{"PRN":22,"el":47,"az":70,"ss":41,"used":true},{"PRN":6,"el":26,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.48395,N,02334.17830,E,143350.00,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:50.000Z","ept":0.005,"lat":55.774732500,"lon":23.569638333,"alt":122.300,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.6000,"speed":20.550,"climb":0.000,"eps":46.67} $GPZDA,143350.00,09,12,2009,00,00*67 $GPRMC,143350.50,A,5546.47981,N,02334.17183,E,39.607,221.50,091209,,,A*5C $GPVTG,221.50,T,,M,39.607,N,73.391,K,A*3D $GPGGA,143350.50,5546.47981,N,02334.17183,E,1,10,1.26,122.4,M,27.0,M,,*56 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:50.500Z","ept":0.005,"lat":55.774663500,"lon":23.569530500,"alt":122.400,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.5000,"speed":20.376,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,31,09,12,037,27,19,58,203,38,11,36,285,33*7F $GPGSV,3,2,10,14,45,118,32,03,31,183,28,28,19,317,29,22,47,070,40*79 $GPGSV,3,3,10,06,25,174,32,26,44,080,38*7D {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":31,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":203,"ss":38,"used":true},{"PRN":11,"el":36,"az":285,"ss":33,"used":true},{"PRN":14,"el":45,"az":118,"ss":32,"used":true},{"PRN":3,"el":31,"az":183,"ss":28,"used":true},{"PRN":28,"el":19,"az":317,"ss":29,"used":true},{"PRN":22,"el":47,"az":70,"ss":40,"used":true},{"PRN":6,"el":25,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.47981,N,02334.17183,E,143350.50,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:50.500Z","ept":0.005,"lat":55.774663500,"lon":23.569530500,"alt":122.400,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.5000,"speed":20.376,"climb":0.000,"eps":46.67} $GPZDA,143350.50,09,12,2009,00,00*62 $GPRMC,143351.00,A,5546.47570,N,02334.16543,E,39.198,221.80,091209,,,A*5F $GPVTG,221.80,T,,M,39.198,N,72.634,K,A*3A $GPGGA,143351.00,5546.47570,N,02334.16543,E,1,10,1.26,122.5,M,27.0,M,,*58 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:51.000Z","ept":0.005,"lat":55.774595000,"lon":23.569423833,"alt":122.500,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.8000,"speed":20.165,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,32,09,12,037,27,19,58,203,38,11,36,285,33*7C $GPGSV,3,2,10,14,45,118,32,03,31,183,27,28,19,317,29,22,47,070,40*76 $GPGSV,3,3,10,06,25,174,33,26,44,080,38*7C {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":37,"ss":27,"used":true},{"PRN":19,"el":58,"az":203,"ss":38,"used":true},{"PRN":11,"el":36,"az":285,"ss":33,"used":true},{"PRN":14,"el":45,"az":118,"ss":32,"used":true},{"PRN":3,"el":31,"az":183,"ss":27,"used":true},{"PRN":28,"el":19,"az":317,"ss":29,"used":true},{"PRN":22,"el":47,"az":70,"ss":40,"used":true},{"PRN":6,"el":25,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.47570,N,02334.16543,E,143351.00,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:51.000Z","ept":0.005,"lat":55.774595000,"lon":23.569423833,"alt":122.500,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.8000,"speed":20.165,"climb":0.000,"eps":46.67} $GPZDA,143351.00,09,12,2009,00,00*66 $GPRMC,143351.50,A,5546.47167,N,02334.15908,E,38.658,221.91,091209,,,A*52 $GPVTG,221.91,T,,M,38.658,N,71.633,K,A*34 $GPGGA,143351.50,5546.47167,N,02334.15908,E,1,10,1.26,122.6,M,27.0,M,,*5C {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:51.500Z","ept":0.005,"lat":55.774527833,"lon":23.569318000,"alt":122.600,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.9100,"speed":19.887,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,38,11,36,285,33*73 $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,19,317,29,22,47,070,40*78 $GPGSV,3,3,10,06,25,174,33,26,44,080,38*7C {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":38,"used":true},{"PRN":11,"el":36,"az":285,"ss":33,"used":true},{"PRN":14,"el":45,"az":118,"ss":33,"used":true},{"PRN":3,"el":31,"az":183,"ss":28,"used":true},{"PRN":28,"el":19,"az":317,"ss":29,"used":true},{"PRN":22,"el":47,"az":70,"ss":40,"used":true},{"PRN":6,"el":25,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.47167,N,02334.15908,E,143351.50,A,A*6F {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:51.500Z","ept":0.005,"lat":55.774527833,"lon":23.569318000,"alt":122.600,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.9100,"speed":19.887,"climb":0.000,"eps":46.67} $GPZDA,143351.50,09,12,2009,00,00*63 $GPRMC,143352.00,A,5546.46768,N,02334.15280,E,38.178,222.25,091209,,,A*5E $GPVTG,222.25,T,,M,38.178,N,70.744,K,A*3D $GPGGA,143352.00,5546.46768,N,02334.15280,E,1,10,1.25,122.7,M,27.0,M,,*5B {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:52.000Z","ept":0.005,"lat":55.774461333,"lon":23.569213333,"alt":122.700,"epx":10.912,"epy":11.668,"epv":69.230,"track":222.2500,"speed":19.640,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.25,3.01*0F $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,38,11,36,285,34*74 $GPGSV,3,2,10,14,45,118,32,03,31,183,28,28,19,317,29,22,47,070,40*79 $GPGSV,3,3,10,06,25,174,33,26,44,080,38*7C {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.25,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":38,"used":true},{"PRN":11,"el":36,"az":285,"ss":34,"used":true},{"PRN":14,"el":45,"az":118,"ss":32,"used":true},{"PRN":3,"el":31,"az":183,"ss":28,"used":true},{"PRN":28,"el":19,"az":317,"ss":29,"used":true},{"PRN":22,"el":47,"az":70,"ss":40,"used":true},{"PRN":6,"el":25,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.46768,N,02334.15280,E,143352.00,A,A*6A {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:52.000Z","ept":0.005,"lat":55.774461333,"lon":23.569213333,"alt":122.700,"epx":10.912,"epy":11.668,"epv":69.230,"track":222.2500,"speed":19.640,"climb":0.000,"eps":46.67} $GPZDA,143352.00,09,12,2009,00,00*65 $GPRMC,143352.50,A,5546.46376,N,02334.14654,E,37.932,221.95,091209,,,A*5D $GPVTG,221.95,T,,M,37.932,N,70.288,K,A*39 $GPGGA,143352.50,5546.46376,N,02334.14654,E,1,10,1.26,122.8,M,27.0,M,,*55 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:52.500Z","ept":0.005,"lat":55.774396000,"lon":23.569109000,"alt":122.800,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.9500,"speed":19.514,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,30,09,12,037,28,19,58,203,38,11,36,285,34*76 $GPGSV,3,2,10,14,45,118,32,03,31,183,28,28,19,317,29,22,47,070,40*79 $GPGSV,3,3,10,06,25,174,33,26,44,080,38*7C {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":30,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":38,"used":true},{"PRN":11,"el":36,"az":285,"ss":34,"used":true},{"PRN":14,"el":45,"az":118,"ss":32,"used":true},{"PRN":3,"el":31,"az":183,"ss":28,"used":true},{"PRN":28,"el":19,"az":317,"ss":29,"used":true},{"PRN":22,"el":47,"az":70,"ss":40,"used":true},{"PRN":6,"el":25,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.46376,N,02334.14654,E,143352.50,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:52.500Z","ept":0.005,"lat":55.774396000,"lon":23.569109000,"alt":122.800,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.9500,"speed":19.514,"climb":0.000,"eps":46.67} $GPZDA,143352.50,09,12,2009,00,00*60 $GPRMC,143353.00,A,5546.45986,N,02334.14036,E,37.561,221.99,091209,,,A*5B $GPVTG,221.99,T,,M,37.561,N,69.601,K,A*32 $GPGGA,143353.00,5546.45986,N,02334.14036,E,1,10,1.26,123.0,M,27.0,M,,*5C {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:53.000Z","ept":0.005,"lat":55.774331000,"lon":23.569006000,"alt":123.000,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.9900,"speed":19.323,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,31,09,12,037,28,19,58,203,38,11,36,285,33*70 $GPGSV,3,2,10,14,45,118,32,03,31,183,29,28,19,317,29,22,47,070,40*78 $GPGSV,3,3,10,06,25,174,33,26,44,080,38*7C {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":31,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":38,"used":true},{"PRN":11,"el":36,"az":285,"ss":33,"used":true},{"PRN":14,"el":45,"az":118,"ss":32,"used":true},{"PRN":3,"el":31,"az":183,"ss":29,"used":true},{"PRN":28,"el":19,"az":317,"ss":29,"used":true},{"PRN":22,"el":47,"az":70,"ss":40,"used":true},{"PRN":6,"el":25,"az":174,"ss":33,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.45986,N,02334.14036,E,143353.00,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:53.000Z","ept":0.005,"lat":55.774331000,"lon":23.569006000,"alt":123.000,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.9900,"speed":19.323,"climb":0.000,"eps":46.67} $GPZDA,143353.00,09,12,2009,00,00*64 $GPRMC,143353.50,A,5546.45601,N,02334.13425,E,36.999,221.72,091209,,,A*50 $GPVTG,221.72,T,,M,36.999,N,68.559,K,A*32 $GPGGA,143353.50,5546.45601,N,02334.13425,E,1,10,1.26,123.1,M,27.0,M,,*59 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:53.500Z","ept":0.005,"lat":55.774266833,"lon":23.568904167,"alt":123.100,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.7200,"speed":19.034,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,38,11,36,285,33*73 $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,19,317,29,22,47,070,40*78 $GPGSV,3,3,10,06,25,174,32,26,44,080,38*7D {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":38,"used":true},{"PRN":11,"el":36,"az":285,"ss":33,"used":true},{"PRN":14,"el":45,"az":118,"ss":33,"used":true},{"PRN":3,"el":31,"az":183,"ss":28,"used":true},{"PRN":28,"el":19,"az":317,"ss":29,"used":true},{"PRN":22,"el":47,"az":70,"ss":40,"used":true},{"PRN":6,"el":25,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.45601,N,02334.13425,E,143353.50,A,A*6C {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:53.500Z","ept":0.005,"lat":55.774266833,"lon":23.568904167,"alt":123.100,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.7200,"speed":19.034,"climb":0.000,"eps":46.67} $GPZDA,143353.50,09,12,2009,00,00*61 $GPRMC,143354.00,A,5546.45220,N,02334.12827,E,36.320,221.89,091209,,,A*56 $GPVTG,221.89,T,,M,36.320,N,67.300,K,A*3B $GPGGA,143354.00,5546.45220,N,02334.12827,E,1,10,1.26,123.3,M,27.0,M,,*51 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:54.000Z","ept":0.005,"lat":55.774203333,"lon":23.568804500,"alt":123.300,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.8900,"speed":18.685,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,31,09,12,037,28,19,58,203,38,11,36,285,33*70 $GPGSV,3,2,10,14,45,118,32,03,31,183,28,28,19,317,29,22,47,070,40*79 $GPGSV,3,3,10,06,25,174,32,26,44,080,38*7D {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":31,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":38,"used":true},{"PRN":11,"el":36,"az":285,"ss":33,"used":true},{"PRN":14,"el":45,"az":118,"ss":32,"used":true},{"PRN":3,"el":31,"az":183,"ss":28,"used":true},{"PRN":28,"el":19,"az":317,"ss":29,"used":true},{"PRN":22,"el":47,"az":70,"ss":40,"used":true},{"PRN":6,"el":25,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.45220,N,02334.12827,E,143354.00,A,A*66 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:54.000Z","ept":0.005,"lat":55.774203333,"lon":23.568804500,"alt":123.300,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.8900,"speed":18.685,"climb":0.000,"eps":46.67} $GPZDA,143354.00,09,12,2009,00,00*63 $GPRMC,143354.50,A,5546.44845,N,02334.12240,E,35.710,221.48,091209,,,A*59 $GPVTG,221.48,T,,M,35.710,N,66.170,K,A*36 $GPGGA,143354.50,5546.44845,N,02334.12240,E,1,10,1.26,123.5,M,27.0,M,,*51 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:54.500Z","ept":0.005,"lat":55.774140833,"lon":23.568706667,"alt":123.500,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.4800,"speed":18.371,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.26,3.01*0C $GPGSV,3,1,10,32,22,228,31,09,12,037,28,19,58,203,38,11,36,285,34*77 $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,19,317,29,22,47,070,40*78 $GPGSV,3,3,10,06,25,174,32,26,44,080,37*72 {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.26,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":31,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":38,"used":true},{"PRN":11,"el":36,"az":285,"ss":34,"used":true},{"PRN":14,"el":45,"az":118,"ss":33,"used":true},{"PRN":3,"el":31,"az":183,"ss":28,"used":true},{"PRN":28,"el":19,"az":317,"ss":29,"used":true},{"PRN":22,"el":47,"az":70,"ss":40,"used":true},{"PRN":6,"el":25,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":37,"used":true}]} $GPGLL,5546.44845,N,02334.12240,E,143354.50,A,A*60 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:54.500Z","ept":0.005,"lat":55.774140833,"lon":23.568706667,"alt":123.500,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.4800,"speed":18.371,"climb":0.000,"eps":46.67} $GPZDA,143354.50,09,12,2009,00,00*66 $GPRMC,143355.00,A,5546.44478,N,02334.11667,E,34.871,221.47,091209,,,A*5B $GPVTG,221.47,T,,M,34.871,N,64.615,K,A*36 $GPGGA,143355.00,5546.44478,N,02334.11667,E,1,10,1.25,123.5,M,27.0,M,,*56 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-12-09T14:33:55.000Z","ept":0.005,"lat":55.774079667,"lon":23.568611167,"alt":123.500,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.4700,"speed":17.939,"eps":46.67} $GPGSA,A,3,32,09,19,11,14,03,28,22,06,26,,,3.26,1.25,3.01*0F $GPGSV,3,1,10,32,22,228,32,09,12,037,28,19,58,203,38,11,36,285,34*74 $GPGSV,3,2,10,14,45,118,33,03,31,183,28,28,19,317,29,22,47,070,40*78 $GPGSV,3,3,10,06,25,174,32,26,44,080,38*7D {"class":"SKY","tag":"GSV","xdop":0.73,"ydop":0.78,"vdop":3.01,"tdop":0.92,"hdop":1.25,"gdop":2.24,"pdop":3.26,"satellites":[{"PRN":32,"el":22,"az":228,"ss":32,"used":true},{"PRN":9,"el":12,"az":37,"ss":28,"used":true},{"PRN":19,"el":58,"az":203,"ss":38,"used":true},{"PRN":11,"el":36,"az":285,"ss":34,"used":true},{"PRN":14,"el":45,"az":118,"ss":33,"used":true},{"PRN":3,"el":31,"az":183,"ss":28,"used":true},{"PRN":28,"el":19,"az":317,"ss":29,"used":true},{"PRN":22,"el":47,"az":70,"ss":40,"used":true},{"PRN":6,"el":25,"az":174,"ss":32,"used":true},{"PRN":26,"el":44,"az":80,"ss":38,"used":true}]} $GPGLL,5546.44478,N,02334.11667,E,143355.00,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-12-09T14:33:55.000Z","ept":0.005,"lat":55.774079667,"lon":23.568611167,"alt":123.500,"epx":10.912,"epy":11.668,"epv":69.230,"track":221.4700,"speed":17.939,"climb":0.000,"eps":46.67} $GPZDA,143355.00,09,12,2009,00,00*62 gpsd-3.9/test/daemon/bu303-climbing.log0000664000175000017500000003121211762140436016036 0ustar esresr# Name: BU-303 (NL202-U) # Chipset: SiRF-II # Submitter: "Andreas Brauchli" # Date: 2005-06-19 # Location: Adelboden, Bern, Switzerland, 46N7E # Comments: Fix, Walking on a stair # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. #  ¢ 2xœ°³ ¢[)0zˆ'·‚Ë|Y“à`-×°³ ¢Œ0Y  ƒ[¯χ¿+,*))***('Hv¿))*)())*)"Ëf¿-+--...,)('Y¿---,+,.-*#,!¿)&&%'((& Éxþ°³ ¢)BŠï×HFB}ÿÿ0Y ¬°³ ¢ ºI °³ ¢4°³ ¢ 2xœ°³ ¢ ,°³ ¢ +°³ ¢[)0zŒ·‚ËdSâ€cqj°³ ¢Œ0Y ƒ[¯χ¿((++***)()Hv¿$(*)))***Ëf¿++-,+--+*)'Y¿$*...-,,,,!¿%%%&&%&)Éx)°³ ¢)BŠï×HFB}ÿÿ0Y°³ ¢ ºF °³ ¢4°³ ¢[)0z÷·‚Ë;L†þ߀W°³ ¢Œ0Ye ƒ[¯"!""!#$"χ¿*++)'(*,.,Hv¿)++)(**+-,Ëf¿))((),....'Y¿+,+*(++,./,!¿)(&!!$)*Éx»°³ ¢)BŠï×HFB}ÿÿ0Ye w°³ ¢ ºJ °³ ¢4°³ ¢ 2xœ°³ ¢[)0z“ß·‚Ë(TàØcذ³ ¢Œ0YÉ ƒ[¿!$$$""χ¿+,)+-,**))Hv¿++*,--**('Ëf¿..,.....-+'Y¿//../.---+,!¿*+,+*))())Éx}°³ ¢)BŠï×HFB}0YÉ ݰ³ ¢ ºK°³ ¢4°³ ¢[)0z—Ç·ü‚Ë&Iƒÿ߀u c°³ ¢Œ0Y- ƒ[¿!!"!!!!"""χ¿)(('&&))((Hv¿'('(()*,,*Ëf¿,,+*))*,,+'Y¿++,,,--,,+,!¿))))))(&''Éx–°³ ¢)BŠï×HFB|ÿÿ0Y- ?°³ ¢ ºK°³ ¢4°³ ¢ 2xœ°³ ¢[)0z›¯·è‚Ë:;uÿ߀…s Ÿ°³ ¢Œ0Y‘ ƒ[¿##""#"""""χ¿(()))(''''Hv¿**,,,+++++Ëf¿+,+,++**)*'Y¿,++--+(''(,!¿$%&&()(''&Éxõ°³ ¢)BŠï×HFB|0Y‘ ¥°³ ¢ ºK°³ ¢4°³ ¢ 2xœ°³ ¢[)0zŸ—·ß‚Ë_5nÿßàJ L°³ ¢Œ0Yõ ƒ[¿"""$$%#$$$χ¿&&&(((''''Hv¿++++,+++++Ëf¿+*++,-++++'Y¿)****++*)*,!¿%%&&'&%%%%ÉzV°³ ¢)BŠï×HFB|0Yõ  °³ ¢ ºN°³ ¢4°³ ¢ 2z¿°³ ¢[)0z£·Ü‚ˉ,fÞÛuu°³ ¢Œ0YY ƒ[¿$%%$%%%%&$χ¿'''((())))Hv¿,--+------Ëf¿+++**+****'Y¿*****++*++,!¿%%%%&&''&'Ézä°³ ¢)BŠï×HFB|0YY n°³ ¢ ºL°³ ¢4°³ ¢[)0z§g·Ù‚Ë©)cÿß Z‹°³ ¢Œ0Yœ ƒ[¿%%%$%%%$$%χ¿))))))))()Hv¿-,-,,,,,++Ëf¿++*+++++++'Y¿+*++**+*+*,!¿&&&'&&&&&%ÉzO°³ ¢)BŠï×IFB|0Yœ Ó°³ ¢ ºL°³ ¢4°³ ¢ 2z¿°³ ¢[)0z«O·Ù‚Ë·-gßzg °³ ¢Œ0Y! ƒ[¿#$$$$$$$$#χ¿(((()(((((Hv¿+,,+++++++Ëf¿+++*++****'Y¿***))*)))*,!¿%&&&&'&&&'Ézް³ ¢)BŠï×IFB|0Y! 8°³ ¢ ºL°³ ¢4°³ ¢ 2z¿°³ ¢[)0z¯7·Þ‚˶C}ßcf°³ ¢Œ0Y… ƒ[¿$$$##""##"χ¿((((((((((Hv¿+,+,,++,++Ëf¿*))*)))**)'Y¿***))))*)),!¿''('''''''Ézé°³ ¢)BŠï×IFB|0Y… œ°³ ¢ ºL°³ ¢4°³ ¢ 2z¿°³ ¢[)0z³·í‚ËŽ^˜߀‰uô°³ ¢Œ0Yé ƒ[¿"#""#"""""χ¿()()())(((Hv¿,+++,,+,++Ëf¿******+***'Y¿*))))))))),!¿'''''''(''ÉzM°³ ¢)BŠï×IFB|0Yé °³ ¢ ºK°³ ¢4°³ ¢ 2z¿°³ ¢[)0z··‚˹nšÝYi\°³ ¢Œ0YM ƒ[¿""!""!!!!!χ¿(((((()(((Hv¿,,,+,,++++Ëf¿*********+'Y¿))))))(((),!¿'&&&&&&'''Éz°³ ¢)BŠï×IFB}0YM f°³ ¢ ºK°³ ¢4°³ ¢ 2z¿°³ ¢[)0zºï·‚Ë͇Áÿ߀fq ;°³ ¢Œ0Y± ƒ[¿"#"""""!!"χ¿(((()())()Hv¿++++,++,+,Ëf¿++++++++,+'Y¿))()())))),!¿''((((((((Éz °³ ¢)BŠï×IFB}0Y± ʰ³ ¢ ºL°³ ¢4°³ ¢ 2z¿°³ ¢[)0zŸ×·1‚Ëø›ÕÞ / °³ ¢Œ0Y ƒ[¿""!"""!!""χ¿))()((('((Hv¿+++++++++*Ëf¿+,+,+,,,,,'Y¿)))))))))),!¿(((((('(((Éz†°³ ¢)BŠï×IFB}0Y /°³ ¢ ºK°³ ¢4°³ ¢[)0z¿·S‚Ì-ŽîÞ®oΰ³ ¢Œ0Yy ƒ[¿""""##%#"!χ¿(()((()(('Hv¿+++++,+*))Ëf¿++,--+*+--'Y¿))))**+*+),!¿(''''((()(Ézô°³ ¢)BŠï×JFB~0Yy •°³ ¢ ºK°³ ¢4°³ ¢ 2z¿°³ ¢[)0zƧ·q‚ÌYÖ߬N+°³ ¢Œ0YÝ ƒ[¿""%χ¿'&%#$"$)&(Hv¿(((%#$&$#(Ëf¿-+**))(&&*'Y¿)'(%#&(((+,!¿&%&%#!$($&Éz›°³ ¢)BŠï×JFB~0YÝ ú°³ ¢ ºK°³ ¢4°³ ¢ 2z¿°³ ¢[)0zʎ·‚Ìvï)ýæ»i ª°³ ¢Œ0YA ƒ[¿)$&)+)(**+χ¿(&--+*+...Hv¿)!()(())+Ëf¿.+**++,/.-'Y¿*#%()$&*)),!¯&  Éz°³ ¢)BŠï×JFB0YA `°³ ¢ ºK°³ ¢4°³ ¢ 2z¿°³ ¢[)0zÎv·¬‚ÌŠõ/ÝzY°³ ¢Œ0Y¥ ƒ[¿+++,-..--,χ¿..+*,--,-,Hv¿----+,,,--Ëf¿++,+*)*)++'Y¿**,++*)*++,!¿'%!%%&&&&Ézœ°³ ¢)BŠî×JFB0Y¥ ð³ ¢ ºL°³ ¢4°³ ¢  °³ ¢ )°³ ¢[)0zÒ^·¿‚Ì—ý7ÝXZz°³ ¢Œ0Y ƒ[¿,,,-----,,χ¿+++,,----.Hv¿----,,----Ëf¿**++++++**'Y¿++*))))*+,,!¿''&'('''''Éz°³ ¢)BŠî×JFB0Y  (°³ ¢ ºR°³ ¢% 8Cl;03 Å-:,C- °³ ¢[)0zÖF·Á‚Ìœ@ކSš°³ ¢Œ0Ym ƒ[¿,+***+++++Ї¿..........Hv¿----,,,---Ëf¿***++,,,+*'Y¿-------...,!¿'''''(((('Ézа³ ¢)BŠî×JFB0Ym Œ°³ ¢ ºU°³ ¢4°³ ¢[)0zÚ.·ž‚ÌžSÞub±°³ ¢Œ0YÑ ƒ[¿++++-,,,--Ї¿//////////Hv¿--------.-Ëf¿**)))))))('Y¿..........,!¿(((('(()((Éz°³ ¢)BŠï×JFB0YÑ ñ°³ ¢ ºL°³ ¢4°³ ¢ 2z¿°³ ¢[)0zÞ·«‚Ìš.hÞ pX°³ ¢Œ0Y5 ƒ[¿--,,------Ї¿/////0/00/Hv¿------.-..Ëf¿((())((&'''Y¿//.......-,!¿))(('%$%$%Ézu°³ ¢)BŠï×JFB0Y5 V°³ ¢ ºL°³ ¢4°³ ¢ 2z¿°³ ¢[)0záþ·›‚Ì‘K…Þëa 7°³ ¢Œ0Y™ ƒ[¿--,,-----,Ї¿/////..../Hv¿-+***++**+Ëf¿'()))****)'Y¿,-...//...,!¿&%$&'(((''Ézݳ ¢)BŠï×JFB€0Y™ »°³ ¢ ºL°³ ¢4°³ ¢ 2z¿°³ ¢[)0zåæ·‘‚Ìxr«ޝ`þ°³ ¢Œ0Yý ƒ[¿+++++,++,,Ї¿//.....///Hv¿,,++,+++++Ëf¿)))***+***'Y¿.////.....,!¿'(((('(()(Éz8°³ ¢)BŠð×JFB€0Yý  °³ ¢ ºL°³ ¢4°³ ¢ 2z¿°³ ¢[)0zéη’‚ÌK‰Ãޟbñ°³ ¢Œ0Ya ƒ[¿-+,,++,---Ї¿/./.---.--Hv¿-.-,.//.-.Ëf¿+-......-.'Y¿.--//00/./,!¿((&&&&%$#$ÉzŰ³ ¢)BŠð×JFB€ÿÿ0Ya ‚°³ ¢ ºM°³ ¢4°³ ¢[)0zí¶·©‚Ë÷ Úݗs Õ°³ ¢Œ0YÅ ƒ[¿----,-,+--Ї¿-///00//..Hv¿.,(+,,.,,-Ëf¿...///..--'Y¿.,,----.-.,!¿%%$''&&'*)Éz)°³ ¢)BŠð×IFB€ÿþÿû0YÅ  á°³ ¢ ºL°³ ¢4°³ ¢ 2z¿°³ ¢[)0zñž·Ý‚ËtÃýÿß # Date: 2005-06-09 # Location: Adelboden, Bern, Switzerland, 46N7E # Comments: Fix, Walking # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. #  ¢)BŠù×FBŽÿÿ ._tŽ Ó°³ ¢ ºD°³ ¢4°³ ¢ 2xœ°³ ¢[).º’󷀂±Õ; u ã3D°³ ¢Œ._u 8 k~„¿-,-,,,,,+-¶ Ëf¿…¿%%%$$$$$$%¡D¿+++**+,,,,3¿++++++++++x™°³ ¢)BŠù×FBÿÿ ._u 9°³ ¢ ºD°³ ¢4°³ ¢ 2xœ°³ ¢[).º–Û·Ù‚±ÇU  ä] F°³ ¢Œ._u| 8 k~„¿-----,,,,,¶ Ëf¿…¿%$%%&%%%%%¡D¿,++++++***3¿++*++**++*xò°³ ¢)BŠø×FBÿÿ ._u| ›°³ ¢ ºD°³ ¢4°³ ¢[).ºšÃ·‚±œf   ã0¶°³ ¢Œ._uà 8 k~„¿,+,,+,,,,,¶ Ëf¿…¿%$$#$"##"$¡D¿**))*****+3¿******++++x(°³ ¢)BŠø×FBÿÿ._uàù°³ ¢ ºE°³ ¢4°³ ¢ 2xœ°³ ¢  °³ ¢[).ºž«·7‚±«n š ä€(N°³ ¢Œ._vD 8 k~„¿++,+,,----¶ Ëf¿ …¿#$$$$%%$%%¡D¿+*+*+*****3¿++++**+***x®°³ ¢)BŠø×FBÿÿ ._vD e°³ ¢ ºH °³ ¢4°³ ¢[).º¢“·i‚±Ÿv ° äàGï°³ ¢Œ._vš 8 k~„¿----------¶ Ëf¿…¿&&&'&&&&&%¡D¿****++++++3¿*)**+*+*++x+°³ ¢)BŠ÷×FB‘ÿÿ ._vš ɰ³ ¢ ºC°³ ¢4°³ ¢ 2xœ°³ ¢[).ºŠ{·•‚±—{ µ äàD °³ ¢Œ._w 8 k~„¿---,--,,--¶ Ëf¿…¿%%%&%%%%#$¡D¿**********3¿******)))*z°³ ¢)BŠ÷×FB‘ÿÿ ._w  .°³ ¢ ºF °³ ¢4°³ ¢[).ºªc·¿‚±‚ Œ â`\·°³ ¢Œ._wp 8 k~„¿-------,--¶ Ëf¿!!!!!!! …¿$$$$#$$$##¡D¿**+++++,++3¿****+*+***z°³ ¢)BŠ÷×FB‘ÿÿ ._wp ’°³ ¢ ºC°³ ¢4°³ ¢ 2z¿°³ ¢[).º®K·ç‚±ƒƒ Œ ã°³ ¢Œ._wÔ 8 k~„¿---,-----,¶ Ëf¿!…¿#$#$$$$$$#¡D¿+*)(((()()3¿)****+***+z8°³ ¢)BŠö×FB’ÿÿ ._wÔ ö°³ ¢ ºD°³ ¢4°³ ¢ 2z¿°³ ¢[).º²3·‚±z~ · ã1/°³ ¢Œ._x8 8 k~„¿,+,-------¶ Ëf¯ …¿$$$%$$$#$%¡D¿)*)*******3¿+*****+***zo°³ ¢)BŠö×FB’ÿÿ._x8T°³ ¢ º>°³ ¢4°³ ¢ 2z¿°³ ¢  °³ ¢[).º¶·#‚±mm § ã@Ng°³ ¢Œ._xœ 8 k~„¿.........-¶ Ëf¿!!!! !!…¿$$$###$%$%¡D¿*+++*****+3¿***+++****z;°³ ¢)BŠö×FB’ÿÿ ._xœ Ÿ°³ ¢ ºH °³ ¢4°³ ¢[).ºº·F‚±]W ‘ äÐcá°³ ¢Œ._y 8 k~„¿-..-......¶ Ëf¿!…¿%%&%&%%$$$¡D¿))*)**)*++3¿*+++++++,,z°³ ¢)BŠõ×FB’ÿÿ ._y "°³ ¢ ºC°³ ¢4°³ ¢ 2z¿°³ ¢[).ºœë·\‚±O< v äÀ[†°³ ¢Œ._yd 8 k~„¿......----¶ Ëf¿! …¿#$""!"!##$¡D¿++++,,++*)3¿,+++++****zë°³ ¢)BŠõ×FB’ÿÿ ._yd †°³ ¢ ºC°³ ¢4°³ ¢[).ºÁÓ·h‚±B  Z ã0T¢°³ ¢Œ._yÈ 8 k~„¿---,------¶ Ëf¿!…¿##$$%&%%%%¡D¿)))('&&'()3¿***++**++*z°³ ¢)BŠõ×FB’ÿÿ._yÈã°³ ¢ ºA°³ ¢4°³ ¢ 2z¿°³ ¢[).ºÅ»·‰‚±$ =ã< °³ ¢Œ._z, 8 k~„¿-----.-...¶ Ëf¿""!!…¿%%%%$$"$##¡D¿)+++++*+++3¿)*)***++++zŒ°³ ¢)BŠô×FB’ÿÿ ._z, N°³ ¢ ºG °³ ¢4°³ ¢ 2z¿°³ ¢[).ºÉ£·‚± ç ! ã`N3°³ ¢Œ._z 8 k~„¿---,,,--,-¶ Ëf­…¿%$###"#"!"¡D¿++++*****)3¿++++++++++zü°³ ¢)BŠô×FB’ÿÿ._zª°³ ¢ º=°³ ¢4°³ ¢[).ºÍŠ·§‚°ÿà ý ä B „°³ ¢Œ._zô 8 k~„¿--.-.-----¶ Ëf…¿""#"!#"!""¡D¿))))******3¿+++*+++**+zx°³ ¢)BŠô×FB’ÿÿ._zô°³ ¢ ºC°³ ¢4°³ ¢ 2z¿°³ ¢[).ºÑr·«‚°÷£ Ý ãÀ1 º°³ ¢Œ._{X 8 k~„¿--....-...¶ Ëf…¿"""!##"#""¡D¿)))()()(((3¿+*********zÓ°³ ¢)BŠô×FB’ÿÿ._{Xs°³ ¢ ºB°³ ¢4°³ ¢ 2z¿°³ ¢[).ºÕZ·ª‚°ì’ Ì äÀ0 y°³ ¢Œ._{Œ 8 k~„¿---.------¶ Ëf…¿""##"""#$#¡D¿((((((((((3¿++++*+++**z6°³ ¢)BŠó×FB‘ÿÿ._{ŒÕ°³ ¢ ºA°³ ¢4°³ ¢ 2z¿°³ ¢[).ºÙB·¥‚°åŠ Ä ãÐP w°³ ¢Œ._| 8 k~„¿-.--------¶ Ëf…¿#"#"#"####¡D¿(((()())))3¿*))))**)**z•°³ ¢)BŠó×FB‘ÿÿ._| :°³ ¢ ºB°³ ¢4°³ ¢[).ºÝ*·ž‚°ä† À ã F °³ ¢Œ._|„ 8 k~„¿----------¶ Ëf…¿"###$$%%%%¡D¿)))))(((((3¿****))))*)z°³ ¢)BŠó×FB‘ÿÿ._|„ž°³ ¢ º>°³ ¢4°³ ¢ 2z¿°³ ¢[).ºá·‚°ì’ Ì ã<k°³ ¢Œ._|è 8 k~„¿------.---¶ Ëf¿!"$##…¿%%%&&&%%&&¡D¿'''((())))3¿*)))))))**z°³ ¢)BŠô×FB‘ÿÿ ._|è  °³ ¢ ºF °³ ¢4°³ ¢ 2z¿°³ ¢  °³ ¢[).ºäú·r‚°øª ä äp` °³ ¢Œ._}L 8 k~„¿--+++,,---¶ Ëf¿#$""""!""#…¿&&&&&&&&&%¡D¿())))()***3¿)*)*)))***zõ°³ ¢)BŠô×FB‘ ._}L q°³ ¢ ºD°³ ¢4°³ ¢[).ºèâ·Q‚±É âˆc6°³ ¢Œ._}° 8 k~„¿------,-..¶ Ëf¿#!!!! …¿%%%%&&$$%%¡D¿*))*****))3¿*++---+,++zY°³ ¢)BŠõ×FB‘ ._}° Ö°³ ¢ ºC°³ ¢4°³ ¢[).ºìÊ·9‚±õ /ë@>°³ ¢Œ._~ 8 k~„¿.-)%#%%%$&¶ Ëf¿ …¿$%$!¡D¯(&&"3¿++)#!$$$$&z˰³ ¢)BŠõ×FB‘ÿÿ._~4°³ ¢ º=°³ ¢4°³ ¢ 2z¿°³ ¢[).ºð²·ô‚±5  Zï`gƒ°³ ¢Œ._~x 8 k~„¿)))))&')()¶ Ëf¿# '#" "$#%…¯"¡D¯$!!$%!3¿*()()'')*.zR°³ ¢)BŠö×FB‘ÿü._~x ¥°³ ¢ º=°³ ¢4°³ ¢ 2z¿°³ ¢[).ºôš·‚±]K …ïàj °³ ¢Œ._~Ü 8 k~„¿+*)+)(&#%#¶ Ëf¿""'&'&%%#!…¯!¡D¿$&#%#$'%#$3¿-((),,,.--zÒ°³ ¢)BŠ÷×FB‘ÿþ._~Ü °³ ¢ º=°³ ¢4°³ ¢ 2z¿°³ ¢[).ºø‚·T‚±tn šóä} 2°³ ¢Œ._@ 8 k~„¿ %#"¶ Ëf¿ !!!! …¿¡D¿#""$"" !"$3¿**)+++++**zް³ ¢)BŠø×FBÿþ._@ m°³ ¢ º<ÿ°³ ¢4°³ ¢ °³ ¢ °³ ¢[).ºüj·‚±~‹ Åõ)ù°³ ¢Œ._€ 8 k~„¿&(()))'¶ Ëf¯ ! …¡D¿%&'&&&'&&%3¿++*%#"##!'zÔ°³ ¢)BŠø×FBÿÿ@._€°³ ¢ º?°³ ¢* LGœB 03ò"Ç¡Tš°³ ¢[).»R·Õ‚±È "ûˆdð°³ ¢Œ._€ 8 k~„¿%%(&&" ¶ Ëf¯$ …¡D¯%!"!2Ž¿('(-$#""!!zް³ ¢)BŠù×FBÿÿ._€ 7°³ ¢ ºA°³ ¢4°³ ¢[).»:·¡‚±Ý .ûðsg°³ ¢Œ._€l 8 k~„¿!#&(('(((¶ Ëf¯ %$! …¿""! !!¡D¿"!2Ž¿"!#"##%z\°³ ¢)BŠú×FB._€l š°³ ¢ º>°³ ¢4°³ ¢ 2z¿°³ ¢[).»"·‚‚±šå -þØm2°³ ¢Œ._€Ð 8 k~„¿)++)(()+'(¶ Ëf¿"%%$$#%%!…¯"!¡D¿%&&&&$&'(2Ž¿)*+)'(+*)(z•°³ gpsd-3.9/test/daemon/bu303-moving.log.chk0000664000175000017500000010472112135526266016327 0ustar esresr$GPZDA,143446.28,09,06,2005,00,00*64 $GPGGA,143446,4629.8972,N,00734.0447,E,1,05,2.40,1342.40,M,48.183,M,,*7D $GPRMC,143446,A,4629.8972,N,00734.0447,E,0.1776,10.379,090605,,*16 $GPGSA,A,3,08,10,04,02,27,,,,,,,,0.0,2.4,0.0*3E {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:46.280Z","ept":0.005,"lat":46.498287178,"lon":7.567411672,"alt":1342.402,"track":10.3788,"speed":0.091,"climb":-0.085} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,44,29,13,273,00*74 $GPGSV,2,2,08,10,51,304,29,04,15,199,36,02,34,241,43,27,71,076,43*7C {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:47.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":2.40,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":44,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":29,"used":true},{"PRN":4,"el":15,"az":199,"ss":36,"used":true},{"PRN":2,"el":34,"az":241,"ss":43,"used":true},{"PRN":27,"el":71,"az":76,"ss":43,"used":true}]} $GPZDA,143447.28,09,06,2005,00,00*65 $GPGGA,143447,4629.8976,N,00734.0447,E,1,05,2.40,1343.13,M,48.183,M,,*7F $GPRMC,143447,A,4629.8976,N,00734.0447,E,0.1776,10.379,090605,,*13 $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:47.280Z","ept":0.005,"lat":46.498293369,"lon":7.567411672,"alt":1343.127,"epx":10.972,"epy":15.581,"epv":32.321,"track":10.3788,"speed":0.091,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,44,29,13,273,00*74 $GPGSV,2,2,08,10,51,304,28,04,15,199,37,02,34,241,43,27,71,076,43*7C {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:48.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":2.40,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":44,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":28,"used":true},{"PRN":4,"el":15,"az":199,"ss":37,"used":true},{"PRN":2,"el":34,"az":241,"ss":43,"used":true},{"PRN":27,"el":71,"az":76,"ss":43,"used":true}]} $GPZDA,143448.28,09,06,2005,00,00*6A $GPGGA,143448,4629.8980,N,00734.0440,E,1,05,2.40,1342.35,M,48.183,M,,*7B $GPRMC,143448,A,4629.8980,N,00734.0440,E,0.1776,10.379,090605,,*12 $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:48.280Z","ept":0.005,"lat":46.498300695,"lon":7.567400477,"alt":1342.354,"epx":10.972,"epy":15.581,"epv":32.321,"track":10.3788,"speed":0.091,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,44,29,13,273,00*74 $GPGSV,2,2,08,10,51,304,27,04,15,199,35,02,34,241,42,27,71,076,42*71 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:49.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":2.40,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":44,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":27,"used":true},{"PRN":4,"el":15,"az":199,"ss":35,"used":true},{"PRN":2,"el":34,"az":241,"ss":42,"used":true},{"PRN":27,"el":71,"az":76,"ss":42,"used":true}]} $GPZDA,143449.28,09,06,2005,00,00*6B $GPGGA,143449,4629.8984,N,00734.0440,E,1,04,3.20,1343.08,M,48.183,M,,*77 $GPRMC,143449,A,4629.8984,N,00734.0440,E,0.1776,10.379,090605,,*17 $GPGSA,A,3,08,04,02,27,,,,,,,,,1.9,3.2,1.4*35 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:49.280Z","ept":0.005,"lat":46.498306887,"lon":7.567400477,"alt":1343.079,"epx":10.972,"epy":15.581,"epv":32.321,"track":10.3788,"speed":0.091,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,44,29,13,273,00*74 $GPGSV,2,2,08,10,51,304,28,04,15,199,36,02,34,241,42,27,71,076,42*7D {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:50.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":3.20,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":44,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":28,"used":false},{"PRN":4,"el":15,"az":199,"ss":36,"used":true},{"PRN":2,"el":34,"az":241,"ss":42,"used":true},{"PRN":27,"el":71,"az":76,"ss":42,"used":true}]} $GPZDA,143450.28,09,06,2005,00,00*63 $GPGGA,143450,4629.8984,N,00734.0440,E,1,05,2.40,1343.08,M,48.183,M,,*79 $GPRMC,143450,A,4629.8984,N,00734.0440,E,0.1776,10.379,090605,,*1F $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:50.280Z","ept":0.005,"lat":46.498306887,"lon":7.567400477,"alt":1343.079,"epx":10.972,"epy":15.581,"epv":32.321,"track":10.3788,"speed":0.091,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,45,29,13,273,00*75 $GPGSV,2,2,08,10,51,304,28,04,15,199,38,02,34,241,43,27,71,076,42*72 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:51.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":2.40,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":45,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":28,"used":true},{"PRN":4,"el":15,"az":199,"ss":38,"used":true},{"PRN":2,"el":34,"az":241,"ss":43,"used":true},{"PRN":27,"el":71,"az":76,"ss":42,"used":true}]} $GPZDA,143451.28,09,06,2005,00,00*62 $GPGGA,143451,4629.8992,N,00734.0441,E,1,05,2.40,1343.12,M,48.183,M,,*75 $GPRMC,143451,A,4629.8992,N,00734.0441,E,0.1776,10.379,090605,,*18 $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:51.280Z","ept":0.005,"lat":46.498319545,"lon":7.567402192,"alt":1343.122,"epx":10.972,"epy":15.581,"epv":32.321,"track":10.3788,"speed":0.091,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,45,29,13,273,00*75 $GPGSV,2,2,08,10,51,304,29,04,15,199,37,02,34,241,42,27,71,076,42*7D {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:52.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":2.40,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":45,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":29,"used":true},{"PRN":4,"el":15,"az":199,"ss":37,"used":true},{"PRN":2,"el":34,"az":241,"ss":42,"used":true},{"PRN":27,"el":71,"az":76,"ss":42,"used":true}]} $GPZDA,143452.28,09,06,2005,00,00*61 $GPGGA,143452,4629.8992,N,00734.0441,E,1,05,2.40,1343.12,M,48.183,M,,*76 $GPRMC,143452,A,4629.8992,N,00734.0441,E,0.1776,10.379,090605,,*1B $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:52.280Z","ept":0.005,"lat":46.498319545,"lon":7.567402192,"alt":1343.122,"epx":10.972,"epy":15.581,"epv":32.321,"track":10.3788,"speed":0.091,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,45,29,13,273,00*75 $GPGSV,2,2,08,10,51,304,32,04,15,199,36,02,34,241,43,27,71,076,42*77 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:53.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":2.40,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":45,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":32,"used":true},{"PRN":4,"el":15,"az":199,"ss":36,"used":true},{"PRN":2,"el":34,"az":241,"ss":43,"used":true},{"PRN":27,"el":71,"az":76,"ss":42,"used":true}]} $GPZDA,143453.28,09,06,2005,00,00*60 $GPGGA,143453,4629.8992,N,00734.0441,E,1,05,2.40,1343.12,M,48.183,M,,*77 $GPRMC,143453,A,4629.8992,N,00734.0441,E,0.1776,10.379,090605,,*1A $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:53.280Z","ept":0.005,"lat":46.498319545,"lon":7.567402192,"alt":1343.122,"epx":10.972,"epy":15.581,"epv":32.321,"track":10.3788,"speed":0.091,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,45,29,13,273,00*75 $GPGSV,2,2,08,10,51,304,29,04,15,199,36,02,34,241,41,27,71,076,42*7F {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:54.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":2.40,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":45,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":29,"used":true},{"PRN":4,"el":15,"az":199,"ss":36,"used":true},{"PRN":2,"el":34,"az":241,"ss":41,"used":true},{"PRN":27,"el":71,"az":76,"ss":42,"used":true}]} $GPZDA,143454.28,09,06,2005,00,00*67 $GPGGA,143454,4629.8999,N,00734.0442,E,1,05,2.40,1343.17,M,48.183,M,,*7D $GPRMC,143454,A,4629.8999,N,00734.0442,E,0.1776,10.379,090605,,*15 $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:54.280Z","ept":0.005,"lat":46.498332203,"lon":7.567403907,"alt":1343.165,"epx":10.972,"epy":15.581,"epv":32.321,"track":10.3788,"speed":0.091,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,45,29,13,273,00*75 $GPGSV,2,2,08,10,51,304,25,04,15,199,36,02,34,241,42,27,71,076,42*70 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:55.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":2.40,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":45,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":25,"used":true},{"PRN":4,"el":15,"az":199,"ss":36,"used":true},{"PRN":2,"el":34,"az":241,"ss":42,"used":true},{"PRN":27,"el":71,"az":76,"ss":42,"used":true}]} $GPZDA,143455.28,09,06,2005,00,00*66 $GPGGA,143455,4629.8999,N,00734.0442,E,1,04,3.20,1343.17,M,48.183,M,,*7A $GPRMC,143455,A,4629.8999,N,00734.0442,E,0.1776,10.379,090605,,*14 $GPGSA,A,3,08,04,02,27,,,,,,,,,1.9,3.2,1.4*35 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:55.280Z","ept":0.005,"lat":46.498332203,"lon":7.567403907,"alt":1343.165,"epx":10.972,"epy":15.581,"epv":32.321,"track":10.3788,"speed":0.091,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,46,29,13,273,00*76 $GPGSV,2,2,08,10,51,304,32,04,15,199,36,02,34,241,42,27,71,076,42*76 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:56.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":3.20,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":46,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":32,"used":false},{"PRN":4,"el":15,"az":199,"ss":36,"used":true},{"PRN":2,"el":34,"az":241,"ss":42,"used":true},{"PRN":27,"el":71,"az":76,"ss":42,"used":true}]} $GPZDA,143456.28,09,06,2005,00,00*65 $GPGGA,143456,4629.9000,N,00734.0435,E,1,05,2.40,1343.07,M,48.183,M,,*76 $GPRMC,143456,A,4629.9000,N,00734.0435,E,0.1776,10.379,090605,,*1F $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:56.280Z","ept":0.005,"lat":46.498333062,"lon":7.567390997,"alt":1343.075,"epx":10.972,"epy":15.581,"epv":32.321,"track":10.3787,"speed":0.091,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,46,29,13,273,00*76 $GPGSV,2,2,08,10,51,304,31,04,15,199,37,02,34,241,42,27,71,076,43*75 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:57.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":2.40,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":46,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":31,"used":true},{"PRN":4,"el":15,"az":199,"ss":37,"used":true},{"PRN":2,"el":34,"az":241,"ss":42,"used":true},{"PRN":27,"el":71,"az":76,"ss":43,"used":true}]} $GPZDA,143457.28,09,06,2005,00,00*64 $GPGGA,143457,4629.9004,N,00734.0436,E,1,05,2.40,1342.39,M,48.183,M,,*7C $GPRMC,143457,A,4629.9004,N,00734.0436,E,0.1776,10.379,090605,,*19 $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:57.280Z","ept":0.005,"lat":46.498339529,"lon":7.567392712,"alt":1342.392,"epx":10.972,"epy":15.581,"epv":32.321,"track":10.3787,"speed":0.091,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,46,29,13,273,00*76 $GPGSV,2,2,08,10,51,304,30,04,15,199,34,02,34,241,43,27,71,076,43*76 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:58.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":2.40,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":46,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":30,"used":true},{"PRN":4,"el":15,"az":199,"ss":34,"used":true},{"PRN":2,"el":34,"az":241,"ss":43,"used":true},{"PRN":27,"el":71,"az":76,"ss":43,"used":true}]} $GPZDA,143458.28,09,06,2005,00,00*6B $GPGGA,143458,4629.9004,N,00734.0436,E,1,05,2.40,1342.39,M,48.183,M,,*73 $GPRMC,143458,A,4629.9004,N,00734.0436,E,0.1776,10.379,090605,,*16 $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:58.280Z","ept":0.005,"lat":46.498339529,"lon":7.567392712,"alt":1342.392,"epx":10.972,"epy":15.581,"epv":32.321,"track":10.3787,"speed":0.091,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,45,29,13,273,00*75 $GPGSV,2,2,08,10,51,304,25,04,15,199,36,02,34,241,40,27,71,076,42*72 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:59.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":2.40,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":45,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":25,"used":true},{"PRN":4,"el":15,"az":199,"ss":36,"used":true},{"PRN":2,"el":34,"az":241,"ss":40,"used":true},{"PRN":27,"el":71,"az":76,"ss":42,"used":true}]} $GPZDA,143459.28,09,06,2005,00,00*6A $GPGGA,143459,4629.9004,N,00734.0436,E,1,04,3.20,1342.39,M,48.183,M,,*74 $GPRMC,143459,A,4629.9004,N,00734.0436,E,0.1776,10.379,090605,,*17 $GPGSA,A,3,08,04,02,27,,,,,,,,,1.9,3.2,1.4*35 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:59.280Z","ept":0.005,"lat":46.498339529,"lon":7.567392712,"alt":1342.392,"epx":10.972,"epy":15.581,"epv":32.321,"track":10.3787,"speed":0.091,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,45,29,13,273,00*75 $GPGSV,2,2,08,10,51,304,30,04,15,199,36,02,34,241,43,27,71,076,42*75 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:35:00.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":3.20,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":45,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":30,"used":false},{"PRN":4,"el":15,"az":199,"ss":36,"used":true},{"PRN":2,"el":34,"az":241,"ss":43,"used":true},{"PRN":27,"el":71,"az":76,"ss":42,"used":true}]} $GPZDA,143500.28,09,06,2005,00,00*67 $GPGGA,143500,4629.9008,N,00734.0437,E,1,05,2.40,1341.71,M,48.183,M,,*7D $GPRMC,143500,A,4629.9008,N,00734.0437,E,0.1776,10.379,090605,,*17 $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:35:00.280Z","ept":0.005,"lat":46.498345996,"lon":7.567394427,"alt":1341.710,"epx":10.972,"epy":15.581,"epv":32.321,"track":10.3787,"speed":0.091,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,45,29,13,273,00*75 $GPGSV,2,2,08,10,51,304,05,04,15,199,35,02,34,241,42,27,71,076,43*70 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:35:01.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":2.40,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":45,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":5,"used":true},{"PRN":4,"el":15,"az":199,"ss":35,"used":true},{"PRN":2,"el":34,"az":241,"ss":42,"used":true},{"PRN":27,"el":71,"az":76,"ss":43,"used":true}]} $GPZDA,143501.28,09,06,2005,00,00*66 $GPGGA,143501,4629.9008,N,00734.0429,E,1,04,3.20,1341.62,M,48.183,M,,*77 $GPRMC,143501,A,4629.9008,N,00734.0429,E,0.1776,10.379,090605,,*19 $GPGSA,A,3,08,04,02,27,,,,,,,,,1.9,3.2,1.4*35 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:35:01.280Z","ept":0.005,"lat":46.498346855,"lon":7.567381517,"alt":1341.619,"epx":10.972,"epy":15.581,"epv":32.321,"track":10.3787,"speed":0.091,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,45,29,13,273,00*75 $GPGSV,2,2,08,10,51,304,00,04,15,199,34,02,34,241,42,27,71,076,43*74 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:35:02.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":3.20,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":45,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":0,"used":false},{"PRN":4,"el":15,"az":199,"ss":34,"used":true},{"PRN":2,"el":34,"az":241,"ss":42,"used":true},{"PRN":27,"el":71,"az":76,"ss":43,"used":true}]} $GPZDA,143502.28,09,06,2005,00,00*65 $GPGGA,143502,4629.9008,N,00734.0429,E,1,04,3.20,1341.62,M,48.183,M,,*74 $GPRMC,143502,A,4629.9008,N,00734.0429,E,0.1776,10.379,090605,,*1A $GPGSA,A,3,08,04,02,27,,,,,,,,,1.9,3.2,1.4*35 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:35:02.280Z","ept":0.005,"lat":46.498346855,"lon":7.567381517,"alt":1341.619,"epx":10.972,"epy":15.581,"epv":32.321,"track":10.3787,"speed":0.091,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,46,29,13,273,00*76 $GPGSV,2,2,08,10,51,304,00,04,15,199,34,02,34,241,40,27,71,076,42*77 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:35:03.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":3.20,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":46,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":0,"used":false},{"PRN":4,"el":15,"az":199,"ss":34,"used":true},{"PRN":2,"el":34,"az":241,"ss":40,"used":true},{"PRN":27,"el":71,"az":76,"ss":42,"used":true}]} $GPZDA,143503.28,09,06,2005,00,00*64 $GPGGA,143503,4629.9008,N,00734.0429,E,1,04,3.20,1341.62,M,48.183,M,,*75 $GPRMC,143503,A,4629.9008,N,00734.0429,E,0.1776,10.379,090605,,*1B $GPGSA,A,3,08,04,02,27,,,,,,,,,1.9,3.2,1.4*35 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:35:03.280Z","ept":0.005,"lat":46.498346855,"lon":7.567381517,"alt":1341.619,"epx":10.972,"epy":15.581,"epv":32.321,"track":10.3787,"speed":0.091,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,45,29,13,273,00*75 $GPGSV,2,2,08,10,51,304,00,04,15,199,35,02,34,241,40,27,71,076,43*77 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:35:04.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":3.20,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":45,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":0,"used":false},{"PRN":4,"el":15,"az":199,"ss":35,"used":true},{"PRN":2,"el":34,"az":241,"ss":40,"used":true},{"PRN":27,"el":71,"az":76,"ss":43,"used":true}]} $GPZDA,143504.28,09,06,2005,00,00*63 $GPGGA,143504,4629.9008,N,00734.0430,E,1,04,3.20,1340.21,M,48.183,M,,*7C $GPRMC,143504,A,4629.9008,N,00734.0430,E,0.1776,10.379,090605,,*14 $GPGSA,A,3,08,04,02,27,,,,,,,,,1.9,3.2,1.4*35 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:35:04.280Z","ept":0.005,"lat":46.498347131,"lon":7.567383232,"alt":1340.211,"epx":10.972,"epy":15.581,"epv":32.321,"track":10.3787,"speed":0.091,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,45,29,13,273,00*75 $GPGSV,2,2,08,10,51,304,00,04,15,199,35,02,34,241,40,27,71,076,42*76 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:35:05.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":3.20,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":45,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":0,"used":false},{"PRN":4,"el":15,"az":199,"ss":35,"used":true},{"PRN":2,"el":34,"az":241,"ss":40,"used":true},{"PRN":27,"el":71,"az":76,"ss":42,"used":true}]} $GPZDA,143505.28,09,06,2005,00,00*62 $GPGGA,143505,4629.9008,N,00734.0430,E,1,04,3.20,1340.21,M,48.183,M,,*7D $GPRMC,143505,A,4629.9008,N,00734.0430,E,0.1776,10.379,090605,,*15 $GPGSA,A,3,08,04,02,27,,,,,,,,,1.9,3.2,1.4*35 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:35:05.280Z","ept":0.005,"lat":46.498347131,"lon":7.567383232,"alt":1340.211,"epx":10.972,"epy":15.581,"epv":32.321,"track":10.3787,"speed":0.091,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,45,29,13,273,00*75 $GPGSV,2,2,08,10,51,304,00,04,15,199,36,02,34,241,40,27,71,076,42*75 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:35:06.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":3.20,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":45,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":0,"used":false},{"PRN":4,"el":15,"az":199,"ss":36,"used":true},{"PRN":2,"el":34,"az":241,"ss":40,"used":true},{"PRN":27,"el":71,"az":76,"ss":42,"used":true}]} $GPZDA,143506.28,09,06,2005,00,00*61 $GPGGA,143506,4629.9008,N,00734.0430,E,1,04,3.20,1340.21,M,48.183,M,,*7E $GPRMC,143506,A,4629.9008,N,00734.0430,E,0.1776,10.379,090605,,*16 $GPGSA,A,3,08,04,02,27,,,,,,,,,1.9,3.2,1.4*35 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:35:06.280Z","ept":0.005,"lat":46.498347131,"lon":7.567383232,"alt":1340.211,"epx":10.972,"epy":15.581,"epv":32.321,"track":10.3787,"speed":0.091,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,45,29,13,273,00*75 $GPGSV,2,2,08,10,51,304,23,04,15,199,38,02,34,241,40,27,71,076,41*79 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:35:07.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":3.20,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":45,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":23,"used":false},{"PRN":4,"el":15,"az":199,"ss":38,"used":true},{"PRN":2,"el":34,"az":241,"ss":40,"used":true},{"PRN":27,"el":71,"az":76,"ss":41,"used":true}]} $GPZDA,143507.28,09,06,2005,00,00*60 $GPGGA,143507,4629.9004,N,00734.0429,E,1,05,2.40,1340.89,M,48.183,M,,*7F $GPRMC,143507,A,4629.9004,N,00734.0429,E,0.1776,10.379,090605,,*13 $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:35:07.280Z","ept":0.005,"lat":46.498340664,"lon":7.567381517,"alt":1340.894,"epx":10.972,"epy":15.581,"epv":32.321,"track":10.3787,"speed":0.091,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,44,29,13,273,00*74 $GPGSV,2,2,08,10,51,304,34,04,15,199,38,02,34,241,41,27,71,076,42*7D {"class":"SKY","tag":"MID4","time":"2005-06-09T14:35:08.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":2.40,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":44,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":34,"used":true},{"PRN":4,"el":15,"az":199,"ss":38,"used":true},{"PRN":2,"el":34,"az":241,"ss":41,"used":true},{"PRN":27,"el":71,"az":76,"ss":42,"used":true}]} $GPZDA,143508.28,09,06,2005,00,00*6F $GPGGA,143508,4629.9004,N,00734.0429,E,1,05,2.40,1340.89,M,48.183,M,,*70 $GPRMC,143508,A,4629.9004,N,00734.0429,E,0.0000,0.000,090605,,*27 $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:35:08.280Z","ept":0.005,"lat":46.498340664,"lon":7.567381517,"alt":1340.894,"epx":10.972,"epy":15.581,"epv":32.321,"track":0.0000,"speed":0.000,"climb":0.000,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,45,29,13,273,00*75 $GPGSV,2,2,08,10,51,304,32,04,15,199,37,02,34,241,42,27,71,076,44*71 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:35:09.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":2.40,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":45,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":32,"used":true},{"PRN":4,"el":15,"az":199,"ss":37,"used":true},{"PRN":2,"el":34,"az":241,"ss":42,"used":true},{"PRN":27,"el":71,"az":76,"ss":44,"used":true}]} $GPZDA,143509.28,09,06,2005,00,00*6E $GPGGA,143509,4629.9001,N,00734.0428,E,1,05,2.40,1341.58,M,48.183,M,,*78 $GPRMC,143509,A,4629.9001,N,00734.0428,E,0.0000,0.000,090605,,*22 $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:35:09.280Z","ept":0.005,"lat":46.498334197,"lon":7.567379802,"alt":1341.576,"epx":10.972,"epy":15.581,"epv":32.321,"track":0.0000,"speed":0.000,"climb":0.000,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,39,29,13,273,00*7E $GPGSV,2,2,08,10,51,304,25,04,15,199,29,02,34,241,20,27,71,076,38*77 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:35:10.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":2.40,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":39,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":25,"used":true},{"PRN":4,"el":15,"az":199,"ss":29,"used":true},{"PRN":2,"el":34,"az":241,"ss":20,"used":true},{"PRN":27,"el":71,"az":76,"ss":38,"used":true}]} $GPZDA,143510.28,09,06,2005,00,00*66 $GPGGA,143510,4629.9000,N,00734.0436,E,1,04,3.20,1341.67,M,48.183,M,,*74 $GPRMC,143510,A,4629.9000,N,00734.0436,E,0.3121,60.960,090605,,*1C $GPGSA,A,3,08,04,02,27,,,,,,,,,1.9,3.2,1.4*35 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:35:10.280Z","ept":0.005,"lat":46.498333338,"lon":7.567392712,"alt":1341.667,"epx":10.972,"epy":15.581,"epv":32.321,"track":60.9597,"speed":0.161,"climb":-0.074,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,40,29,13,273,00*70 $GPGSV,2,2,08,10,51,304,35,04,15,199,13,02,34,241,27,27,71,076,41*76 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:35:11.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":3.20,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":40,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":35,"used":false},{"PRN":4,"el":15,"az":199,"ss":13,"used":true},{"PRN":2,"el":34,"az":241,"ss":27,"used":true},{"PRN":27,"el":71,"az":76,"ss":41,"used":true}]} $GPZDA,143511.28,09,06,2005,00,00*67 $GPGGA,143511,4629.8996,N,00734.0435,E,1,04,3.80,1342.35,M,48.183,M,,*7F $GPRMC,143511,A,4629.8996,N,00734.0435,E,1.5556,157.529,090605,,*2E $GPGSA,A,3,08,10,02,27,,,,,,,,,1.9,3.8,1.4*3A {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:35:11.280Z","ept":0.005,"lat":46.498326871,"lon":7.567390997,"alt":1342.349,"epx":10.972,"epy":15.581,"epv":32.321,"track":157.5287,"speed":0.800,"climb":0.013,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,40,29,13,273,00*70 $GPGSV,2,2,08,10,51,304,36,04,15,199,27,02,34,241,36,27,71,076,43*70 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:35:12.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":3.80,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":40,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":36,"used":true},{"PRN":4,"el":15,"az":199,"ss":27,"used":false},{"PRN":2,"el":34,"az":241,"ss":36,"used":true},{"PRN":27,"el":71,"az":76,"ss":43,"used":true}]} $GPZDA,143512.28,09,06,2005,00,00*64 $GPGGA,143512,4629.8992,N,00734.0434,E,1,04,3.80,1343.03,M,48.183,M,,*7D $GPRMC,143512,A,4629.8992,N,00734.0434,E,0.7149,141.014,090605,,*2D $GPGSA,A,3,08,10,02,27,,,,,,,,,1.9,3.8,1.4*3A {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:35:12.280Z","ept":0.005,"lat":46.498320404,"lon":7.567389282,"alt":1343.032,"epx":10.972,"epy":15.581,"epv":32.321,"track":141.0144,"speed":0.368,"climb":-0.073,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,29,29,13,273,00*7F $GPGSV,2,2,08,10,51,304,31,04,15,199,27,02,34,241,34,27,71,076,42*74 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:35:13.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":3.80,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":29,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":31,"used":true},{"PRN":4,"el":15,"az":199,"ss":27,"used":false},{"PRN":2,"el":34,"az":241,"ss":34,"used":true},{"PRN":27,"el":71,"az":76,"ss":42,"used":true}]} $GPZDA,143513.28,09,06,2005,00,00*65 $GPGGA,143513,4629.8984,N,00734.0440,E,1,04,3.80,1343.08,M,48.183,M,,*73 $GPRMC,143513,A,4629.8984,N,00734.0440,E,0.5719,158.581,090605,,*28 $GPGSA,A,3,08,10,02,27,,,,,,,,,1.9,3.8,1.4*3A {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:35:13.280Z","ept":0.005,"lat":46.498306887,"lon":7.567400477,"alt":1343.079,"epx":10.972,"epy":15.581,"epv":32.321,"track":158.5811,"speed":0.294,"climb":-0.085,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,36,29,13,273,00*71 $GPGSV,2,2,08,10,51,304,19,04,15,199,00,02,34,241,38,27,71,076,38*7A {"class":"SKY","tag":"MID4","time":"2005-06-09T14:35:14.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":3.80,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":36,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":19,"used":true},{"PRN":4,"el":15,"az":199,"ss":0,"used":false},{"PRN":2,"el":34,"az":241,"ss":38,"used":true},{"PRN":27,"el":71,"az":76,"ss":38,"used":true}]} $GPZDA,143514.28,09,06,2005,00,00*62 $GPGGA,143514,4629.8984,N,00734.0440,E,1,03,12.80,1343.08,M,48.183,M,,*43 $GPRMC,143514,A,4629.8984,N,00734.0440,E,0.4207,150.233,090605,,*22 $GPGSA,A,2,08,02,27,,,,,,,,,,1.9,12.8,1.4*0A {"class":"TPV","tag":"MID2","mode":2,"time":"2005-06-09T14:35:14.280Z","ept":0.005,"lat":46.498306887,"lon":7.567400477,"epx":10.972,"epy":15.581,"track":150.2328,"speed":0.216,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,34,29,14,273,00*74 $GPGSV,2,2,08,10,51,304,20,04,15,199,00,02,34,241,29,27,71,075,37*7C {"class":"SKY","tag":"MID4","time":"2005-06-09T14:35:15.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":12.80,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":34,"used":true},{"PRN":29,"el":14,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":20,"used":false},{"PRN":4,"el":15,"az":199,"ss":0,"used":false},{"PRN":2,"el":34,"az":241,"ss":29,"used":true},{"PRN":27,"el":71,"az":75,"ss":37,"used":true}]} $GPZDA,143515.28,09,06,2005,00,00*63 $GPGGA,143515,4629.8980,N,00734.0439,E,1,04,3.80,1343.76,M,48.183,M,,*76 $GPRMC,143515,A,4629.8980,N,00734.0439,E,0.3435,5.346,090605,,*2B $GPGSA,A,3,08,10,02,27,,,,,,,,,1.9,3.8,1.4*3A {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:35:15.280Z","ept":0.005,"lat":46.498300420,"lon":7.567398762,"alt":1343.762,"epx":10.972,"epy":15.581,"epv":32.321,"track":5.3456,"speed":0.177,"climb":0.005,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,37,29,14,273,00*77 $GPGSV,2,2,08,10,51,304,30,04,15,199,31,02,34,241,26,27,71,075,33*74 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:35:16.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":3.80,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":37,"used":true},{"PRN":29,"el":14,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":30,"used":true},{"PRN":4,"el":15,"az":199,"ss":31,"used":false},{"PRN":2,"el":34,"az":241,"ss":26,"used":true},{"PRN":27,"el":71,"az":75,"ss":33,"used":true}]} $GPZDA,143516.28,09,06,2005,00,00*60 $GPGGA,143516,4629.8976,N,00734.0438,E,1,04,2.80,1344.44,M,48.183,M,,*7A $GPRMC,143516,A,4629.8976,N,00734.0438,E,0.0000,0.000,090605,,*25 $GPGSA,A,3,08,10,04,27,,,,,,,,,1.9,2.8,1.4*3D {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:35:16.280Z","ept":0.005,"lat":46.498293953,"lon":7.567397047,"alt":1344.444,"epx":10.972,"epy":15.581,"epv":32.321,"track":0.0000,"speed":0.000,"climb":0.000,"eps":31.16} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,66,189,41,29,14,273,00*76 $GPGSV,2,2,08,10,51,304,35,04,15,199,23,02,34,241,37,27,71,075,41*77 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:35:17.280Z","xdop":0.73,"ydop":1.04,"vdop":1.41,"tdop":0.78,"hdop":2.80,"gdop":2.05,"pdop":1.89,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":66,"az":189,"ss":41,"used":true},{"PRN":29,"el":14,"az":273,"ss":0,"used":false},{"PRN":10,"el":51,"az":304,"ss":35,"used":true},{"PRN":4,"el":15,"az":199,"ss":23,"used":true},{"PRN":2,"el":34,"az":241,"ss":37,"used":false},{"PRN":27,"el":71,"az":75,"ss":41,"used":true}]} gpsd-3.9/test/daemon/bu303-nofix.log0000664000175000017500000000663711762140436015412 0ustar esresr# Name: BU-303 (NL202-U) # Chipset: SiRF-II # Submitter: "Andreas Brauchli" # Date: 2005-06-09 # Location: Adelboden, Bern, Switzerland, 46N7E # Comments: No fix # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. #  ¢ º ̰³ ¢4°³ ¢ 2xŒ°³ ¢[)šžåF˰³ ¢Œš_J ?())())))))?.....-..//xx°³ ¢)úš_J °³ ¢ º Ͱ³ ¢4°³ ¢ 2xŒ°³ ¢  %°³ ¢[)šžé.·°³ ¢Œš_J„ ?)))())))))?///....../xà°³ ¢)úš_J„ã°³ ¢ º ̰³ ¢4°³ ¢ 2xŒ°³ ¢  %°³ ¢[)šží£°³ ¢Œš_Jè ?))((((((('?//////////xB°³ ¢)úš_JèG°³ ¢ º ̰³ ¢4°³ ¢ 2xŒ°³ ¢[)šžðþް³ ¢Œš_KL ?'''((('''(?////////0/x¡°³ ¢)úš_KL¬°³ ¢ º ̰³ ¢4°³ ¢ 2xŒ°³ ¢  %°³ ¢[)šžôæz°³ ¢Œš_K° ?)(((((((((?/000001000x°³ ¢)úš_K°°³ ¢ º Ͱ³ ¢4°³ ¢ 2xŒ°³ ¢  %°³ ¢[).žøÎí°³ ¢Œ._L ?((''''('''?////0/0///xñ°³ ¢)ú._Lü°³ ¢ §È°³ ¢4°³ ¢ 2xŒ°³ ¢  %°³ ¢[).žü¶Ù°³ ¢Œ._Lx ?('(())(())¿//0000000/xt°³ ¢)ú._Lx`°³ gpsd-3.9/test/daemon/bu303-nofix.log.chk0000664000175000017500000000342612135526267016154 0ustar esresr{"class":"SKY","tag":"MID4","time":"2002-11-14T14:32:57.280Z"} $GPRMC,143257,V,18000.0000,N,00000.0000,W,0.0000,0.000,141102,,*10 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 {"class":"TPV","tag":"MID2","mode":1,"time":"2002-11-14T14:32:57.280Z","ept":0.005} {"class":"SKY","tag":"MID4","time":"2002-11-14T14:32:58.280Z","hdop":50.00} $GPRMC,143258,V,18000.0000,N,00000.0000,W,0.0000,0.000,141102,,*1F $GPGSA,A,1,,,,,,,,,,,,,,,,*32 {"class":"TPV","tag":"MID2","mode":1,"time":"2002-11-14T14:32:58.280Z","ept":0.005} {"class":"SKY","tag":"MID4","time":"2002-11-14T14:32:59.280Z","hdop":50.00} $GPRMC,143259,V,18000.0000,N,00000.0000,W,0.0000,0.000,141102,,*1E $GPGSA,A,1,,,,,,,,,,,,,,,,*32 {"class":"TPV","tag":"MID2","mode":1,"time":"2002-11-14T14:32:59.280Z","ept":0.005} {"class":"SKY","tag":"MID4","time":"2002-11-14T14:33:00.280Z","hdop":50.00} $GPRMC,143300,V,18000.0000,N,00000.0000,W,0.0000,0.000,141102,,*13 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 {"class":"TPV","tag":"MID2","mode":1,"time":"2002-11-14T14:33:00.280Z","ept":0.005} {"class":"SKY","tag":"MID4","time":"2002-11-14T14:33:01.280Z","hdop":50.00} $GPRMC,143301,V,18000.0000,N,00000.0000,W,0.0000,0.000,141102,,*12 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 {"class":"TPV","tag":"MID2","mode":1,"time":"2002-11-14T14:33:01.280Z","ept":0.005} {"class":"SKY","tag":"MID4","time":"2005-06-09T14:33:02.280Z","hdop":50.00} $GPRMC,143302,V,18000.0000,N,00000.0000,W,0.0000,0.000,090605,,*1C $GPGSA,A,1,,,,,,,,,,,,,,,,*32 {"class":"TPV","tag":"MID2","mode":1,"time":"2005-06-09T14:33:02.280Z","ept":0.005} {"class":"SKY","tag":"MID4","time":"2005-06-09T14:33:03.280Z","hdop":50.00} $GPRMC,143303,V,18000.0000,N,00000.0000,W,0.0000,0.000,090605,,*1D $GPGSA,A,1,,,,,,,,,,,,,,,,*32 {"class":"TPV","tag":"MID2","mode":1,"time":"2005-06-09T14:33:03.280Z","ept":0.005} gpsd-3.9/test/daemon/bu303-stillfix.log0000664000175000017500000001211311762140436016107 0ustar esresr# Name: BU-303 (NL202-U) # Chipset: SiRF-II # Submitter: "Andreas Brauchli" # Date: 2005-06-09 # Location: Adelboden, Bern, Switzerland, 46N7E # Comments: Fix, receiver not moving # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. #  ¢Œ._h4 8k~ƒ¿------,-,-¶ Ëe¿&%%%&'%%$$… ¿&%%$$$%$$$¡E¿+++++,++++3¿++++++++++xþ°³ ¢)B‹×FBŠÿÿ ._h4 W°³ ¢ ºG °³ ¢4°³ ¢ 2xœ°³ ¢* MGŸA 12ò"Ç ¡T›°³ ¢[).ºõ·ë‚³»!a› ÿn²°³ ¢Œ._h˜ 8 k~ƒ¿,+++,,+++,¶ Ëe¿$$$$$$$$%%… ¿#####$#$%%¡E¿+,,,------3¿++++++++++xO°³ ¢)B‹×FB‰ÿÿ ._h˜ ž°³ ¢ ºL°³ ¢4°³ ¢[).ºÝ·‚³Ï ü6 õ€$(°³ ¢Œ._hü 8 k~ƒ¿++,---,---¶ Ëe¿%%%&&&&&&&… ¿$$$##"##$#¡E¿----,++,,+3¿*****+++**xŸ°³ ¢)B‹×FB‰ ._hü °³ ¢ ºC°³ ¢4°³ ¢ 2xœ°³ ¢[).ºÅ·=‚³à ž Øì€N­°³ ¢Œ._i` 8 k~ƒ¿--------,,¶ Ëe¿&&&%%&%&%%… ¿##"##"####¡E¿-,-,+,+)))3¿++++*++*++x°³ ¢)B‹×FB‰ÿÿ ._i` °³ ¢ ºB°³ ¢4°³ ¢[).º!­·^‚³è K … ç˜`C°³ ¢Œ._iÄ 8 k~ƒ¿---+++++++¶ Ëe¿&$#"#!#%&&… ¿"#"  !¡E¿('&&'''(((3¿*)))*))))(x°³ ¢)B‹×FBˆÿÿ ._iÄ â°³ ¢ ºG °³ ¢4°³ ¢ 2xœ°³ ¢[).º%•·z‚³ã  D ç2ÿ°³ ¢Œ._j( 8 k~ƒ¿,+-../....¶ Ëe¿&%%$%&''&'… ¿  !"##$$¡E¿(((()****+3¿(())******xÁ°³ ¢)B‹×FBˆÿÿ ._j( F°³ ¢ ºD°³ ¢4°³ ¢ 2xœ°³ ¢[).º)}·•‚³×Ø åšfl°³ ¢Œ._jŒ 8 k~ƒ¿...-.----.¶ Ëe¿&&&%$$$%%&… ¿####$%$%%&¡E¿++++,,++++3¿))**))*)))xJ°³ ¢)B‹×FBˆÿÿ ._jŒ ©°³ ¢ ºE°³ ¢4°³ ¢ 2xœ°³ ¢[).º-e·°‚³Ç· ñ æ°³ ¢Œ._jð 8 k~ƒ¿-..----,,-¶ Ëe¿&&&&%%%%%&… ¿%$$$%$$#$$¡E¿++********3¿******))**xš°³ ¢)B‹×FBˆ ._jð °³ ¢ ºD°³ ¢4°³ ¢[).º1M·Ì‚³µ¢ Üæ`U”°³ ¢Œ._kT 8 k~ƒ¿----------¶ Ëe¿&%&%&&%%$$… ¿$$$$$$%%$%¡E¿**))******3¿**++++++**x°³ ¢)B‹×FBˆ ._kT s°³ ¢ ºC°³ ¢4°³ ¢ 2xœ°³ ¢[).º55·ð‚³ž„ Ÿ åh`e°³ ¢Œ._kž 8 k~ƒ¿...-..-...¶ Ëe¿%%%%%$$$##… ¿$%$$$%%%$%¡E¿*)*)**)))*3¿+++++*****xq°³ ¢)B‹×FBˆÿÿ ._kž Ô°³ ¢ ºD°³ ¢4°³ ¢ 2xœ°³ ¢[).º9·‚³‰i £ æ/–°³ ¢Œ._l 8 k~ƒ¿....-.-...¶ Ëe¿$$%%$$$$%%… ¿%%%%%$%%%%¡E¿********++3¿****+*++++xâ°³ ¢)B‹×FBˆÿÿ ._l 9°³ ¢ ºD°³ ¢4°³ ¢ 2xœ°³ ¢[).º=·D‚³|R Œ åO“°³ gpsd-3.9/test/daemon/bu303-stillfix.log.chk0000664000175000017500000003021112135526271016652 0ustar esresr$GPGSV,2,1,08,23,07,084,00,28,07,160,00,08,65,189,45,29,13,273,00*77 $GPGSV,2,2,08,10,50,304,37,04,16,199,36,02,34,241,43,27,71,076,43*71 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:14.280Z","satellites":[{"PRN":23,"el":7,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":65,"az":189,"ss":45,"used":false},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":50,"az":304,"ss":37,"used":false},{"PRN":4,"el":16,"az":199,"ss":36,"used":false},{"PRN":2,"el":34,"az":241,"ss":43,"used":false},{"PRN":27,"el":71,"az":76,"ss":43,"used":false}]} $GPZDA,143414.28,09,06,2005,00,00*63 $GPGGA,143414,4629.8901,N,00734.0471,E,1,05,2.40,1349.51,M,48.183,M,,*70 $GPRMC,143414,A,4629.8901,N,00734.0471,E,0.1776,10.379,090605,,*10 $GPGSA,A,3,08,10,04,02,27,,,,,,,,0.0,2.4,0.0*3E {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:14.280Z","ept":0.005,"lat":46.498167579,"lon":7.567452213,"alt":1349.507,"track":10.3789,"speed":0.091,"climb":-0.085} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,65,189,43,29,13,273,00*70 $GPGSV,2,2,08,10,50,304,36,04,16,199,36,02,34,241,44,27,71,076,43*77 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:15.280Z","xdop":0.73,"ydop":1.03,"vdop":1.42,"tdop":0.78,"hdop":2.40,"gdop":2.06,"pdop":1.90,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":65,"az":189,"ss":43,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":50,"az":304,"ss":36,"used":true},{"PRN":4,"el":16,"az":199,"ss":36,"used":true},{"PRN":2,"el":34,"az":241,"ss":44,"used":true},{"PRN":27,"el":71,"az":76,"ss":43,"used":true}]} $GPZDA,143415.28,09,06,2005,00,00*62 $GPGGA,143415,4629.8905,N,00734.0473,E,1,05,2.40,1347.42,M,48.183,M,,*7B $GPRMC,143415,A,4629.8905,N,00734.0473,E,0.1776,10.379,090605,,*17 $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:15.280Z","ept":0.005,"lat":46.498174322,"lon":7.567455643,"alt":1347.417,"epx":10.980,"epy":15.454,"epv":32.724,"track":10.3789,"speed":0.091,"climb":-0.085,"eps":30.91} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,65,189,44,29,13,273,00*77 $GPGSV,2,2,08,10,50,304,38,04,16,199,35,02,34,241,44,27,71,076,42*7B {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:16.280Z","xdop":0.73,"ydop":1.03,"vdop":1.42,"tdop":0.78,"hdop":2.40,"gdop":2.06,"pdop":1.90,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":65,"az":189,"ss":44,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":50,"az":304,"ss":38,"used":true},{"PRN":4,"el":16,"az":199,"ss":35,"used":true},{"PRN":2,"el":34,"az":241,"ss":44,"used":true},{"PRN":27,"el":71,"az":76,"ss":42,"used":true}]} $GPZDA,143416.28,09,06,2005,00,00*61 $GPGGA,143416,4629.8908,N,00734.0474,E,1,05,2.40,1346.73,M,48.183,M,,*71 $GPRMC,143416,A,4629.8908,N,00734.0474,E,0.0000,0.000,090605,,*25 $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:16.280Z","ept":0.005,"lat":46.498180789,"lon":7.567457358,"alt":1346.734,"epx":10.980,"epy":15.454,"epv":32.724,"track":0.0000,"speed":0.000,"climb":0.000,"eps":30.91} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,65,189,45,29,13,273,00*76 $GPGSV,2,2,08,10,50,304,38,04,16,199,35,02,34,241,43,27,71,076,43*7D {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:17.280Z","xdop":0.73,"ydop":1.03,"vdop":1.42,"tdop":0.78,"hdop":2.40,"gdop":2.06,"pdop":1.90,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":65,"az":189,"ss":45,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":50,"az":304,"ss":38,"used":true},{"PRN":4,"el":16,"az":199,"ss":35,"used":true},{"PRN":2,"el":34,"az":241,"ss":43,"used":true},{"PRN":27,"el":71,"az":76,"ss":43,"used":true}]} $GPZDA,143417.28,09,06,2005,00,00*60 $GPGGA,143417,4629.8912,N,00734.0475,E,1,05,2.40,1346.05,M,48.183,M,,*7B $GPRMC,143417,A,4629.8912,N,00734.0475,E,0.1776,10.379,090605,,*15 $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:17.280Z","ept":0.005,"lat":46.498187256,"lon":7.567459073,"alt":1346.052,"epx":10.980,"epy":15.454,"epv":32.724,"track":10.3789,"speed":0.091,"climb":-0.085,"eps":30.91} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,65,189,44,29,13,273,00*77 $GPGSV,2,2,08,10,50,304,36,04,16,199,32,02,34,241,39,27,71,076,41*7B {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:18.280Z","xdop":0.73,"ydop":1.03,"vdop":1.42,"tdop":0.78,"hdop":2.40,"gdop":2.06,"pdop":1.90,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":65,"az":189,"ss":44,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":50,"az":304,"ss":36,"used":true},{"PRN":4,"el":16,"az":199,"ss":32,"used":true},{"PRN":2,"el":34,"az":241,"ss":39,"used":true},{"PRN":27,"el":71,"az":76,"ss":41,"used":true}]} $GPZDA,143418.28,09,06,2005,00,00*6F $GPGGA,143418,4629.8909,N,00734.0475,E,1,05,2.40,1345.33,M,48.183,M,,*78 $GPRMC,143418,A,4629.8909,N,00734.0475,E,0.1776,10.379,090605,,*10 $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:18.280Z","ept":0.005,"lat":46.498181065,"lon":7.567459073,"alt":1345.327,"epx":10.980,"epy":15.454,"epv":32.724,"track":10.3789,"speed":0.091,"climb":-0.085,"eps":30.91} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,65,189,46,29,13,273,00*75 $GPGSV,2,2,08,10,50,304,38,04,16,199,34,02,34,241,41,27,71,076,41*7C {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:19.280Z","xdop":0.73,"ydop":1.03,"vdop":1.42,"tdop":0.78,"hdop":2.40,"gdop":2.06,"pdop":1.90,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":65,"az":189,"ss":46,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":50,"az":304,"ss":38,"used":true},{"PRN":4,"el":16,"az":199,"ss":34,"used":true},{"PRN":2,"el":34,"az":241,"ss":41,"used":true},{"PRN":27,"el":71,"az":76,"ss":41,"used":true}]} $GPZDA,143419.28,09,06,2005,00,00*6E $GPGGA,143419,4629.8913,N,00734.0476,E,1,05,2.40,1344.64,M,48.183,M,,*72 $GPRMC,143419,A,4629.8913,N,00734.0476,E,0.1673,180.000,090605,,*28 $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:19.280Z","ept":0.005,"lat":46.498187532,"lon":7.567460788,"alt":1344.644,"epx":10.980,"epy":15.454,"epv":32.724,"track":180.0000,"speed":0.086,"climb":-0.091,"eps":30.91} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,65,189,46,29,13,273,00*75 $GPGSV,2,2,08,10,50,304,37,04,16,199,36,02,34,241,43,27,71,076,41*73 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:20.280Z","xdop":0.73,"ydop":1.03,"vdop":1.42,"tdop":0.78,"hdop":2.40,"gdop":2.06,"pdop":1.90,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":65,"az":189,"ss":46,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":50,"az":304,"ss":37,"used":true},{"PRN":4,"el":16,"az":199,"ss":36,"used":true},{"PRN":2,"el":34,"az":241,"ss":43,"used":true},{"PRN":27,"el":71,"az":76,"ss":41,"used":true}]} $GPZDA,143420.28,09,06,2005,00,00*64 $GPGGA,143420,4629.8916,N,00734.0478,E,1,05,2.40,1343.96,M,48.183,M,,*79 $GPRMC,143420,A,4629.8916,N,00734.0478,E,0.1776,10.379,090605,,*18 $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:20.280Z","ept":0.005,"lat":46.498193999,"lon":7.567462504,"alt":1343.962,"epx":10.980,"epy":15.454,"epv":32.724,"track":10.3789,"speed":0.091,"climb":-0.085,"eps":30.91} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,65,189,45,29,13,273,00*76 $GPGSV,2,2,08,10,50,304,38,04,16,199,36,02,34,241,42,27,71,076,42*7E {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:21.280Z","xdop":0.73,"ydop":1.03,"vdop":1.42,"tdop":0.78,"hdop":2.40,"gdop":2.06,"pdop":1.90,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":65,"az":189,"ss":45,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":50,"az":304,"ss":38,"used":true},{"PRN":4,"el":16,"az":199,"ss":36,"used":true},{"PRN":2,"el":34,"az":241,"ss":42,"used":true},{"PRN":27,"el":71,"az":76,"ss":42,"used":true}]} $GPZDA,143421.28,09,06,2005,00,00*65 $GPGGA,143421,4629.8916,N,00734.0478,E,1,05,2.40,1343.96,M,48.183,M,,*78 $GPRMC,143421,A,4629.8916,N,00734.0478,E,0.0000,0.000,090605,,*22 $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:21.280Z","ept":0.005,"lat":46.498193999,"lon":7.567462504,"alt":1343.962,"epx":10.980,"epy":15.454,"epv":32.724,"track":0.0000,"speed":0.000,"climb":0.000,"eps":30.91} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,65,189,45,29,13,273,00*76 $GPGSV,2,2,08,10,50,304,37,04,16,199,36,02,34,241,42,27,71,076,43*70 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:22.280Z","xdop":0.73,"ydop":1.03,"vdop":1.42,"tdop":0.78,"hdop":2.40,"gdop":2.06,"pdop":1.90,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":65,"az":189,"ss":45,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":50,"az":304,"ss":37,"used":true},{"PRN":4,"el":16,"az":199,"ss":36,"used":true},{"PRN":2,"el":34,"az":241,"ss":42,"used":true},{"PRN":27,"el":71,"az":76,"ss":43,"used":true}]} $GPZDA,143422.28,09,06,2005,00,00*66 $GPGGA,143422,4629.8917,N,00734.0470,E,1,05,2.40,1343.87,M,48.183,M,,*72 $GPRMC,143422,A,4629.8917,N,00734.0470,E,0.0000,0.000,090605,,*28 $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:22.280Z","ept":0.005,"lat":46.498194858,"lon":7.567449593,"alt":1343.871,"epx":10.980,"epy":15.454,"epv":32.724,"track":0.0000,"speed":0.000,"climb":0.000,"eps":30.91} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,65,189,46,29,13,273,00*75 $GPGSV,2,2,08,10,50,304,36,04,16,199,36,02,34,241,42,27,71,076,42*70 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:23.280Z","xdop":0.73,"ydop":1.03,"vdop":1.42,"tdop":0.78,"hdop":2.40,"gdop":2.06,"pdop":1.90,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":65,"az":189,"ss":46,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":50,"az":304,"ss":36,"used":true},{"PRN":4,"el":16,"az":199,"ss":36,"used":true},{"PRN":2,"el":34,"az":241,"ss":42,"used":true},{"PRN":27,"el":71,"az":76,"ss":42,"used":true}]} $GPZDA,143423.28,09,06,2005,00,00*67 $GPGGA,143423,4629.8921,N,00734.0471,E,1,05,2.40,1343.19,M,48.183,M,,*70 $GPRMC,143423,A,4629.8921,N,00734.0471,E,0.1776,10.379,090605,,*16 $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:23.280Z","ept":0.005,"lat":46.498201325,"lon":7.567451308,"alt":1343.189,"epx":10.980,"epy":15.454,"epv":32.724,"track":10.3788,"speed":0.091,"climb":-0.085,"eps":30.91} $GPGSV,2,1,08,23,06,084,00,28,07,160,00,08,65,189,46,29,13,273,00*75 $GPGSV,2,2,08,10,50,304,36,04,16,199,37,02,34,241,42,27,71,076,42*71 {"class":"SKY","tag":"MID4","time":"2005-06-09T14:34:24.280Z","xdop":0.73,"ydop":1.03,"vdop":1.42,"tdop":0.78,"hdop":2.40,"gdop":2.06,"pdop":1.90,"satellites":[{"PRN":23,"el":6,"az":84,"ss":0,"used":false},{"PRN":28,"el":7,"az":160,"ss":0,"used":false},{"PRN":8,"el":65,"az":189,"ss":46,"used":true},{"PRN":29,"el":13,"az":273,"ss":0,"used":false},{"PRN":10,"el":50,"az":304,"ss":36,"used":true},{"PRN":4,"el":16,"az":199,"ss":37,"used":true},{"PRN":2,"el":34,"az":241,"ss":42,"used":true},{"PRN":27,"el":71,"az":76,"ss":42,"used":true}]} $GPZDA,143424.28,09,06,2005,00,00*60 $GPGGA,143424,4629.8921,N,00734.0471,E,1,05,2.40,1343.19,M,48.183,M,,*77 $GPRMC,143424,A,4629.8921,N,00734.0471,E,0.1776,10.379,090605,,*11 $GPGSA,A,3,08,10,04,02,27,,,,,,,,1.9,2.4,1.4*33 {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-09T14:34:24.280Z","ept":0.005,"lat":46.498201325,"lon":7.567451308,"alt":1343.189,"epx":10.980,"epy":15.454,"epv":32.724,"track":10.3788,"speed":0.091,"climb":-0.085,"eps":30.91} gpsd-3.9/test/daemon/bu303b-nofix.log0000664000175000017500000000620211762140436015540 0ustar esresr# Name: BU303B in SiRF binary mode, SBAS enabled, no fix # Chipset: SiRF-II # Submitter: Eric Raymond # Date: 2005-06-08 # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. #  ¢4°³ ¢ 2D°³ ¢  %°³ ¢[)šÄxÿÿøø°³ ¢Œš“¥ û°³ ¢)šÿ·À>E£úš“¥Á°³ ¢ ºŰ³ ¢4°³ ¢ 2D°³ ¢  %°³ ¢[)šÈ`ÿÿøøì°³ ¢Œš” `°³ ¢)šÿ·À>E£úš” &°³ ¢ ºŰ³ ¢4°³ ¢ 2D°³ ¢  %°³ ¢[)šÌHÿÿøøذ³ ¢Œš”m ݳ ¢)šÿ·À>E£úš”mа³ ¢ ºŰ³ ¢4°³ ¢ 2D°³ ¢  %°³ ¢[)šÐ0ÿÿøøݳ ¢Œš”Ñ (°³ ¢)šÿ·À>E£úš”Ñî°³ ¢ ºŰ³ ¢4°³ ¢ 2D°³ ¢  %°³ ¢[)šÔÿÿøø°°³ ¢Œš•5 °³ ¢)šÿ·À>E£úš•5S°³ ¢ ºŰ³ ¢4°³ ¢ 2D°³ ¢  %°³ ¢Œš•5 £°³ ¢[)šØÿÿøøœ°³ ¢Œš•™ û°³ ¢)šÿ·À>E£úš•™·°³ ¢ ºŰ³ gpsd-3.9/test/daemon/bu303b-nofix.log.chk0000664000175000017500000000313012135526272016302 0ustar esresr{"class":"SKY","tag":"MID4","time":"2002-11-10T00:06:01.970Z"} $GPRMC,000601,V,4002.1027,N,07531.2013,W,0.0000,0.000,101102,,*2E $GPGSA,A,1,,,,,,,,,,,,,,,,*32 {"class":"TPV","tag":"MID2","mode":1,"time":"2002-11-10T00:06:01.970Z","ept":0.005} {"class":"SKY","tag":"MID4","time":"2002-11-10T00:06:02.970Z","hdop":50.00} $GPRMC,000602,V,4002.1027,N,07531.2013,W,0.0000,0.000,101102,,*2D $GPGSA,A,1,,,,,,,,,,,,,,,,*32 {"class":"TPV","tag":"MID2","mode":1,"time":"2002-11-10T00:06:02.970Z","ept":0.005} {"class":"SKY","tag":"MID4","time":"2002-11-10T00:06:03.970Z","hdop":50.00} $GPRMC,000603,V,4002.1027,N,07531.2013,W,0.0000,0.000,101102,,*2C $GPGSA,A,1,,,,,,,,,,,,,,,,*32 {"class":"TPV","tag":"MID2","mode":1,"time":"2002-11-10T00:06:03.970Z","ept":0.005} {"class":"SKY","tag":"MID4","time":"2002-11-10T00:06:04.970Z","hdop":50.00} $GPRMC,000604,V,4002.1027,N,07531.2013,W,0.0000,0.000,101102,,*2B $GPGSA,A,1,,,,,,,,,,,,,,,,*32 {"class":"TPV","tag":"MID2","mode":1,"time":"2002-11-10T00:06:04.970Z","ept":0.005} {"class":"SKY","tag":"MID4","time":"2002-11-10T00:06:05.970Z","hdop":50.00} $GPRMC,000605,V,4002.1027,N,07531.2013,W,0.0000,0.000,101102,,*2A $GPGSA,A,1,,,,,,,,,,,,,,,,*32 {"class":"TPV","tag":"MID2","mode":1,"time":"2002-11-10T00:06:05.970Z","ept":0.005} {"class":"SKY","tag":"MID4","time":"2002-11-10T00:06:05.970Z","hdop":50.00} {"class":"SKY","tag":"MID4","time":"2002-11-10T00:06:06.970Z","hdop":50.00} $GPRMC,000606,V,4002.1027,N,07531.2013,W,0.0000,0.000,101102,,*29 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 {"class":"TPV","tag":"MID2","mode":1,"time":"2002-11-10T00:06:06.970Z","ept":0.005} gpsd-3.9/test/daemon/ch-4701.log0000664000175000017500000017615311762140436014421 0ustar esresr# Name: NAVIOR-24 # Chipset: CH-4701 # Description: single board 24-channel OEM receiver, GLONASS/GPS systems. # Submitter: Viktar Palstsiuk # Date: 2008-05-29 # Location: Minsk, Belarus, 53N 27E $GPGGA,123433.000,5356.21442,N,02734.85952,E,1,04,07.2,251.9,M,26.0,M,,*67 $GPRMC,123434.000,A,5356.21440,N,02734.85946,E,00.00,252.7,290508,,,A*6B $PORZD,A,022.8*34 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123434.000,5356.21444,N,02734.85947,E,1,04,07.2,251.9,M,26.0,M,,*62 $GPRMC,123435.000,A,5356.21440,N,02734.85945,E,00.00,252.7,290508,,,A*69 $PORZD,A,022.8*34 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123435.000,5356.21444,N,02734.85946,E,1,04,07.2,251.9,M,26.0,M,,*62 $GPRMC,123436.000,A,5356.21439,N,02734.85943,E,00.00,252.7,290508,,,A*62 $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123436.000,5356.21444,N,02734.85946,E,1,04,07.2,251.9,M,26.0,M,,*61 $GPRMC,123437.000,A,5356.21443,N,02734.85944,E,00.00,252.7,290508,,,A*69 $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123437.000,5356.21447,N,02734.85947,E,1,04,07.2,251.8,M,26.0,M,,*63 $GPRMC,123438.000,A,5356.21444,N,02734.85943,E,00.00,252.7,290508,,,A*66 $PORZD,A,022.9*35 $GPGSV,3,1,11,02,13,248,,03,11,066,,07,76,087,36,13,48,101,50*71 $GPGSV,3,2,11,23,12,106,46,25,56,069,39,27,84,110,31,33,17,229,*7A $GPGSV,3,3,11,37,28,187,,39,28,183,,44,20,137,*44 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123438.000,5356.21448,N,02734.85946,E,1,04,07.2,251.8,M,26.0,M,,*62 $GPRMC,123439.000,A,5356.21445,N,02734.85942,E,00.00,252.7,290508,,,A*67 $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123439.000,5356.21450,N,02734.85946,E,1,04,07.2,251.8,M,26.0,M,,*6A $GPRMC,123440.000,A,5356.21447,N,02734.85944,E,00.00,252.7,290508,,,A*6D $PORZD,A,022.8*34 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123440.000,5356.21449,N,02734.85945,E,1,04,07.2,251.8,M,26.0,M,,*6F $GPRMC,123441.000,A,5356.21446,N,02734.85940,E,00.00,252.7,290508,,,A*69 $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123441.000,5356.21449,N,02734.85942,E,1,04,07.2,251.8,M,26.0,M,,*69 $GPRMC,123442.000,A,5356.21445,N,02734.85940,E,00.00,252.7,290508,,,A*69 $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123442.000,5356.21447,N,02734.85942,E,1,04,07.2,251.8,M,26.0,M,,*64 $GPRMC,123443.000,A,5356.21444,N,02734.85939,E,00.00,252.7,290508,,,A*67 $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123443.000,5356.21448,N,02734.85942,E,1,04,07.2,251.8,M,26.0,M,,*6A $GPRMC,123444.000,A,5356.21446,N,02734.85940,E,00.00,252.7,290508,,,A*6C $PORZD,A,022.8*34 $GPGSV,3,1,11,02,13,248,,03,11,066,,07,76,087,35,13,48,101,50*72 $GPGSV,3,2,11,23,12,106,47,25,56,069,38,27,84,110,31,33,17,229,*7A $GPGSV,3,3,11,37,28,187,,39,28,183,,44,20,137,*44 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123444.000,5356.21450,N,02734.85942,E,1,04,07.2,251.8,M,26.0,M,,*64 $GPRMC,123445.000,A,5356.21446,N,02734.85938,E,00.00,252.7,290508,,,A*62 $PORZD,A,022.8*34 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123445.000,5356.21450,N,02734.85941,E,1,04,07.2,251.8,M,26.0,M,,*66 $GPRMC,123446.000,A,5356.21447,N,02734.85936,E,00.00,252.7,290508,,,A*6E $PORZD,A,022.8*34 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123446.000,5356.21451,N,02734.85943,E,1,04,07.2,251.9,M,26.0,M,,*67 $GPRMC,123447.000,A,5356.21448,N,02734.85938,E,00.00,252.7,290508,,,A*6E $PORZD,A,022.8*34 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123447.000,5356.21452,N,02734.85942,E,1,04,07.2,251.9,M,26.0,M,,*64 $GPRMC,123448.000,A,5356.21449,N,02734.85942,E,00.00,252.7,290508,,,A*6D $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.7*0E $GPGGA,123448.000,5356.21453,N,02734.85943,E,1,04,07.2,251.9,M,26.0,M,,*6B $GPRMC,123449.000,A,5356.21448,N,02734.85937,E,00.00,252.7,290508,,,A*6F $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.7*0E $GPGGA,123449.000,5356.21453,N,02734.85941,E,1,04,07.2,251.9,M,26.0,M,,*68 $GPRMC,123450.000,A,5356.21449,N,02734.85935,E,00.00,252.7,290508,,,A*64 $PORZD,A,022.9*35 $GPGSV,3,1,11,02,13,248,,03,11,066,,07,76,087,35,13,48,101,51*73 $GPGSV,3,2,11,23,12,106,45,25,56,069,38,27,84,110,31,33,17,229,*78 $GPGSV,3,3,11,37,28,187,,39,28,183,,44,20,137,*44 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.7*0E $GPGGA,123450.000,5356.21454,N,02734.85939,E,1,04,07.2,251.9,M,26.0,M,,*68 $GPRMC,123451.000,A,5356.21452,N,02734.85936,E,00.00,252.7,290508,,,A*6C $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.6*0F $GPGGA,123451.000,5356.21456,N,02734.85939,E,1,04,07.2,251.9,M,26.0,M,,*6B $GPRMC,123452.000,A,5356.21451,N,02734.85935,E,00.00,252.7,290508,,,A*6F $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.6*0F $GPGGA,123452.000,5356.21456,N,02734.85938,E,1,04,07.2,251.9,M,26.0,M,,*69 $GPRMC,123453.000,A,5356.21453,N,02734.85933,E,00.00,252.7,290508,,,A*6A $PORZD,A,022.8*34 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.6*0F $GPGGA,123453.000,5356.21458,N,02734.85934,E,1,04,07.2,251.8,M,26.0,M,,*6B $GPRMC,123454.000,A,5356.21455,N,02734.85930,E,00.00,252.7,290508,,,A*68 $PORZD,A,022.8*34 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.6*0F $GPGGA,123454.000,5356.21459,N,02734.85931,E,1,04,07.2,251.7,M,26.0,M,,*67 $GPRMC,123455.000,A,5356.21455,N,02734.85927,E,00.00,252.7,290508,,,A*6F $PORZD,A,022.8*34 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.6*0F $GPGGA,123455.000,5356.21461,N,02734.85930,E,1,04,07.2,251.6,M,26.0,M,,*6D $GPRMC,123456.000,A,5356.21458,N,02734.85926,E,00.00,252.7,290508,,,A*60 $PORZD,A,022.8*34 $GPGSV,3,1,11,02,13,247,,03,11,065,18,07,76,087,37,13,48,101,51*74 $GPGSV,3,2,11,23,12,106,45,25,55,069,38,27,83,108,32,33,17,229,*76 $GPGSV,3,3,11,37,28,187,,39,28,183,,44,20,137,*44 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.6*0F $GPGGA,123456.000,5356.21463,N,02734.85930,E,1,04,07.2,251.6,M,26.0,M,,*6C $GPRMC,123457.000,A,5356.21458,N,02734.85925,E,00.00,252.7,290508,,,A*62 $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.6*0F $GPGGA,123457.000,5356.21464,N,02734.85931,E,1,04,07.2,251.5,M,26.0,M,,*68 $GPRMC,123458.000,A,5356.21463,N,02734.85930,E,00.00,252.7,290508,,,A*61 $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.6*0F $GPGGA,123458.000,5356.21469,N,02734.85938,E,1,04,07.2,251.5,M,26.0,M,,*63 $GPRMC,123459.000,A,5356.21465,N,02734.85933,E,00.00,252.7,290508,,,A*65 $PORZD,A,022.8*34 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.6*0F $GPGGA,123459.000,5356.21596,N,02734.86645,E,1,05,06.0,255.7,M,26.0,M,,*61 $GPRMC,123500.000,A,5356.21592,N,02734.86643,E,00.00,252.7,290508,,,A*6A $PORZD,A,021.5*3A $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123500.000,5356.21592,N,02734.86641,E,1,05,06.0,255.7,M,26.0,M,,*6C $GPRMC,123501.000,A,5356.21589,N,02734.86639,E,00.00,252.7,290508,,,A*6C $PORZD,A,021.5*3A $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123501.000,5356.21589,N,02734.86638,E,1,05,06.0,255.8,M,26.0,M,,*66 $GPRMC,123502.000,A,5356.21587,N,02734.86636,E,00.00,252.7,290508,,,A*6E $PORZD,A,021.4*3B $GPGSV,3,1,11,02,13,247,,03,11,065,18,07,76,087,36,13,48,101,50*74 $GPGSV,3,2,11,23,12,106,46,25,55,069,38,27,83,108,31,33,17,229,*76 $GPGSV,3,3,11,37,28,187,,39,28,183,,44,20,137,*44 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123502.000,5356.21588,N,02734.86634,E,1,05,06.0,255.8,M,26.0,M,,*68 $GPRMC,123503.000,A,5356.21585,N,02734.86631,E,00.00,252.7,290508,,,A*6A $PORZD,A,021.4*3B $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123503.000,5356.21577,N,02734.86569,E,1,05,06.0,255.4,M,26.0,M,,*6E $GPRMC,123504.000,A,5356.21573,N,02734.86567,E,00.00,252.7,290508,,,A*64 $PORZD,A,022.2*3E $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123504.000,5356.21576,N,02734.86571,E,1,05,06.0,255.4,M,26.0,M,,*61 $GPRMC,123505.000,A,5356.21575,N,02734.86568,E,00.00,252.7,290508,,,A*6C $PORZD,A,021.4*3B $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123505.000,5356.21576,N,02734.86569,E,1,05,06.0,255.5,M,26.0,M,,*68 $GPRMC,123506.000,A,5356.21571,N,02734.86567,E,00.00,252.7,290508,,,A*64 $PORZD,A,021.4*3B $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123506.000,5356.21566,N,02734.86512,E,1,05,06.0,255.1,M,26.0,M,,*62 $GPRMC,123507.000,A,5356.21562,N,02734.86508,E,00.00,252.7,290508,,,A*6E $PORZD,A,022.2*3E $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123507.000,5356.21566,N,02734.86514,E,1,05,06.0,255.1,M,26.0,M,,*65 $GPRMC,123508.000,A,5356.21564,N,02734.86514,E,00.00,252.7,290508,,,A*6A $PORZD,A,021.4*3B $GPGSV,3,1,11,02,13,247,,03,11,065,,07,76,087,36,13,48,101,51*7C $GPGSV,3,2,11,23,12,106,45,25,55,069,38,27,83,108,31,33,17,229,*75 $GPGSV,3,3,11,37,28,187,,39,28,183,,44,20,137,*44 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123508.000,5356.21568,N,02734.86517,E,1,05,06.0,255.2,M,26.0,M,,*64 $GPRMC,123509.000,A,5356.21565,N,02734.86514,E,00.00,252.7,290508,,,A*6A $PORZD,A,021.4*3B $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123509.000,5356.21569,N,02734.86517,E,1,05,06.0,255.1,M,26.0,M,,*67 $GPRMC,123510.000,A,5356.21566,N,02734.86516,E,00.00,252.7,290508,,,A*63 $PORZD,A,021.4*3B $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123510.000,5356.21569,N,02734.86520,E,1,05,06.0,255.2,M,26.0,M,,*68 $GPRMC,123511.000,A,5356.21565,N,02734.86519,E,00.00,252.7,290508,,,A*6E $PORZD,A,021.4*3B $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123511.000,5356.21561,N,02734.86474,E,1,05,06.0,254.9,M,26.0,M,,*6B $GPRMC,123512.000,A,5356.21558,N,02734.86470,E,00.00,252.7,290508,,,A*6D $PORZD,A,022.2*3E $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123512.000,5356.21561,N,02734.86478,E,1,05,06.0,254.9,M,26.0,M,,*64 $GPRMC,123513.000,A,5356.21557,N,02734.86477,E,00.00,252.7,290508,,,A*64 $PORZD,A,021.4*3B $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123513.000,5356.21553,N,02734.86441,E,1,05,06.0,254.7,M,26.0,M,,*60 $GPRMC,123514.000,A,5356.21551,N,02734.86438,E,00.00,252.7,290508,,,A*6E $PORZD,A,022.3*3F $GPGSV,3,1,11,02,13,247,,03,11,065,,07,76,087,37,13,48,101,51*7D $GPGSV,3,2,11,23,12,106,46,25,55,069,38,27,83,108,30,33,17,229,*77 $GPGSV,3,3,11,37,28,187,,39,28,183,,44,20,137,*44 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123514.000,5356.21548,N,02734.86407,E,1,05,06.0,254.4,M,26.0,M,,*6C $GPRMC,123515.000,A,5356.21544,N,02734.86403,E,00.00,252.7,290508,,,A*63 $PORZD,A,022.4*38 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123515.000,5356.21549,N,02734.86418,E,1,05,06.0,254.5,M,26.0,M,,*63 $GPRMC,123516.000,A,5356.21546,N,02734.86416,E,00.00,252.7,290508,,,A*66 $PORZD,A,021.6*39 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123516.000,5356.21543,N,02734.86390,E,1,05,06.0,254.3,M,26.0,M,,*6B $GPRMC,123517.000,A,5356.21540,N,02734.86387,E,00.00,252.7,290508,,,A*6E $PORZD,A,022.5*39 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123517.000,5356.21539,N,02734.86365,E,1,05,06.0,254.2,M,26.0,M,,*6C $GPRMC,123518.000,A,5356.21536,N,02734.86362,E,00.00,252.7,290508,,,A*6B $PORZD,A,022.5*39 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123518.000,5356.21540,N,02734.86384,E,1,05,06.0,254.3,M,26.0,M,,*63 $GPRMC,123519.000,A,5356.21536,N,02734.86384,E,00.00,252.7,290508,,,A*62 $PORZD,A,021.6*39 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123519.000,5356.21534,N,02734.86366,E,1,05,06.0,254.2,M,26.0,M,,*6C $GPRMC,123520.000,A,5356.21532,N,02734.86362,E,00.00,252.7,290508,,,A*64 $PORZD,A,022.5*39 $GPGSV,3,1,11,02,13,247,,03,11,065,,07,76,087,36,13,48,101,50*7D $GPGSV,3,2,11,23,12,106,47,25,55,069,39,27,83,108,31,33,17,229,*76 $GPGSV,3,3,11,37,28,187,,39,28,183,,44,20,137,*44 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123520.000,5356.21536,N,02734.86384,E,1,05,06.0,254.3,M,26.0,M,,*69 $GPRMC,123521.000,A,5356.21532,N,02734.86385,E,00.00,252.7,290508,,,A*6C $PORZD,A,021.6*39 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123521.000,5356.21534,N,02734.86399,E,1,05,05.9,254.5,M,26.0,M,,*6A $GPRMC,123522.000,A,5356.21532,N,02734.86395,E,00.00,252.7,290508,,,A*6E $PORZD,A,021.6*39 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,05.9,05.2*01 $GPGGA,123522.000,5356.21532,N,02734.86407,E,1,05,05.9,254.6,M,26.0,M,,*6C $GPRMC,123523.000,A,5356.21529,N,02734.86407,E,00.00,252.7,290508,,,A*69 $PORZD,A,021.5*3A $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,05.9,05.2*01 $GPGGA,123523.000,5356.21524,N,02734.86380,E,1,05,05.9,254.4,M,26.0,M,,*60 $GPRMC,123524.000,A,5356.21521,N,02734.86378,E,00.00,252.7,290508,,,A*69 $PORZD,A,022.5*39 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,05.9,05.1*02 $GPGGA,123524.000,5356.21520,N,02734.86384,E,1,05,05.9,254.4,M,26.0,M,,*67 $GPRMC,123525.000,A,5356.21516,N,02734.86382,E,00.00,252.7,290508,,,A*69 $PORZD,A,021.6*39 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,05.9,05.1*02 $GPGGA,123525.000,5356.21516,N,02734.86385,E,1,05,05.9,254.4,M,26.0,M,,*62 $GPRMC,123526.000,A,5356.21514,N,02734.86386,E,00.00,252.7,290508,,,A*6C $PORZD,A,021.6*39 $GPGSV,3,1,12,02,12,247,,03,11,065,,07,76,086,37,13,48,101,51*7E $GPGSV,3,2,12,23,12,106,45,25,55,069,38,27,83,107,30,28,05,181,40*74 $GPGSV,3,3,12,33,17,229,,37,28,187,,39,28,183,,44,20,137,*78 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,05.9,05.1*02 $GPGGA,123526.000,5356.21510,N,02734.86359,E,1,05,05.9,254.3,M,26.0,M,,*61 $GPRMC,123527.000,A,5356.21507,N,02734.86356,E,00.00,252.7,290508,,,A*62 $PORZD,A,022.5*39 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,05.9,05.1*02 $GPGGA,123527.000,5356.21503,N,02734.86331,E,1,05,05.9,254.1,M,26.0,M,,*6E $GPRMC,123528.000,A,5356.21500,N,02734.86330,E,00.00,252.7,290508,,,A*6A $PORZD,A,022.5*39 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,05.9,05.1*02 $GPGGA,123528.000,5356.21500,N,02734.86332,E,1,06,04.9,254.2,M,26.0,M,,*60 $GPRMC,123529.000,A,5356.21497,N,02734.86332,E,00.00,252.7,290508,,,A*66 $PORZD,A,018.0*35 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123529.000,5356.21498,N,02734.86331,E,1,06,04.9,254.2,M,26.0,M,,*62 $GPRMC,123530.000,A,5356.21496,N,02734.86329,E,00.00,252.7,290508,,,A*65 $PORZD,A,017.4*3E $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123530.000,5356.21496,N,02734.86329,E,1,06,04.9,254.2,M,26.0,M,,*6D $GPRMC,123531.000,A,5356.21494,N,02734.86327,E,00.00,252.7,290508,,,A*68 $PORZD,A,017.0*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123531.000,5356.21498,N,02734.86346,E,1,06,04.9,254.2,M,26.0,M,,*6B $GPRMC,123532.000,A,5356.21496,N,02734.86347,E,00.00,252.7,290508,,,A*6F $PORZD,A,016.6*3D $GPGSV,3,1,12,02,12,247,,03,11,065,,07,76,086,36,13,48,101,51*7F $GPGSV,3,2,12,23,12,106,45,25,55,069,38,27,83,107,29,28,05,181,44*78 $GPGSV,3,3,12,33,17,229,,37,28,187,,39,28,183,,44,20,137,*78 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123532.000,5356.21499,N,02734.86359,E,1,06,04.9,254.2,M,26.0,M,,*67 $GPRMC,123533.000,A,5356.21497,N,02734.86358,E,00.00,252.7,290508,,,A*61 $PORZD,A,016.5*3E $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123533.000,5356.21499,N,02734.86368,E,1,06,04.9,254.2,M,26.0,M,,*64 $GPRMC,123534.000,A,5356.21497,N,02734.86369,E,00.00,252.7,290508,,,A*64 $PORZD,A,016.5*3E $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123534.000,5356.21499,N,02734.86376,E,1,06,04.9,254.2,M,26.0,M,,*6C $GPRMC,123535.000,A,5356.21497,N,02734.86375,E,00.00,252.7,290508,,,A*68 $PORZD,A,016.4*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123535.000,5356.21499,N,02734.86381,E,1,06,04.9,254.2,M,26.0,M,,*65 $GPRMC,123536.000,A,5356.21495,N,02734.86381,E,00.00,252.7,290508,,,A*62 $PORZD,A,016.3*38 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123536.000,5356.21498,N,02734.86385,E,1,06,04.9,254.3,M,26.0,M,,*62 $GPRMC,123537.000,A,5356.21496,N,02734.86386,E,00.00,252.7,290508,,,A*67 $PORZD,A,016.3*38 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123537.000,5356.21498,N,02734.86387,E,1,06,04.9,254.3,M,26.0,M,,*61 $GPRMC,123538.000,A,5356.21497,N,02734.86386,E,00.00,252.7,290508,,,A*69 $PORZD,A,016.2*39 $GPGSV,3,1,12,02,12,247,,03,11,065,,07,76,086,36,13,48,101,50*7E $GPGSV,3,2,12,23,12,106,46,25,55,069,38,27,83,107,29,28,05,181,45*7A $GPGSV,3,3,12,33,17,229,,37,28,187,,39,28,183,,44,20,137,*78 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123538.000,5356.21499,N,02734.86387,E,1,06,04.9,254.3,M,26.0,M,,*6F $GPRMC,123539.000,A,5356.21496,N,02734.86387,E,00.00,252.7,290508,,,A*68 $PORZD,A,016.2*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123539.000,5356.21499,N,02734.86387,E,1,06,04.9,254.3,M,26.0,M,,*6E $GPRMC,123540.000,A,5356.21497,N,02734.86387,E,00.00,252.7,290508,,,A*67 $PORZD,A,016.1*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123540.000,5356.21500,N,02734.86385,E,1,06,04.9,254.3,M,26.0,M,,*63 $GPRMC,123541.000,A,5356.21498,N,02734.86385,E,00.00,252.7,290508,,,A*6B $PORZD,A,016.1*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123541.000,5356.21499,N,02734.86371,E,1,06,04.9,254.4,M,26.0,M,,*6F $GPRMC,123542.000,A,5356.21496,N,02734.86371,E,00.00,252.7,290508,,,A*6D $PORZD,A,016.3*38 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123542.000,5356.21499,N,02734.86359,E,1,06,04.9,254.4,M,26.0,M,,*66 $GPRMC,123543.000,A,5356.21495,N,02734.86360,E,00.00,252.7,290508,,,A*6F $PORZD,A,016.2*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123543.000,5356.21499,N,02734.86349,E,1,06,04.9,254.4,M,26.0,M,,*66 $GPRMC,123544.000,A,5356.21498,N,02734.86347,E,00.00,252.7,290508,,,A*60 $PORZD,A,016.2*39 $GPGSV,3,1,12,02,12,247,,03,11,065,,07,76,086,35,13,48,101,50*7D $GPGSV,3,2,12,23,12,106,46,25,55,069,38,27,83,107,29,28,05,181,45*7A $GPGSV,3,3,12,33,17,229,,37,28,187,,39,28,183,,44,20,137,*78 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.9,04.1*03 $GPGGA,123544.000,5356.21501,N,02734.86338,E,1,06,04.9,254.4,M,26.0,M,,*67 $GPRMC,123545.000,A,5356.21498,N,02734.86336,E,00.00,252.7,290508,,,A*67 $PORZD,A,016.1*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.9,04.1*03 $GPGGA,123545.000,5356.21502,N,02734.86328,E,1,06,04.8,254.4,M,26.0,M,,*65 $GPRMC,123546.000,A,5356.21499,N,02734.86329,E,00.00,252.7,290508,,,A*6B $PORZD,A,016.1*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123546.000,5356.21502,N,02734.86322,E,1,06,04.8,254.4,M,26.0,M,,*6C $GPRMC,123547.000,A,5356.21499,N,02734.86322,E,00.00,252.7,290508,,,A*61 $PORZD,A,016.1*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123547.000,5356.21503,N,02734.86315,E,1,06,04.8,254.3,M,26.0,M,,*6F $GPRMC,123548.000,A,5356.21500,N,02734.86314,E,00.00,252.7,290508,,,A*6A $PORZD,A,016.0*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123548.000,5356.21502,N,02734.86310,E,1,06,04.8,254.4,M,26.0,M,,*63 $GPRMC,123549.000,A,5356.21498,N,02734.86310,E,00.00,252.7,290508,,,A*6F $PORZD,A,016.0*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123549.000,5356.21503,N,02734.86304,E,1,06,04.8,254.4,M,26.0,M,,*66 $GPRMC,123550.000,A,5356.21500,N,02734.86304,E,00.00,252.7,290508,,,A*62 $PORZD,A,016.0*3B $GPGSV,3,1,12,02,12,247,,03,11,065,,07,76,086,35,13,48,101,50*7D $GPGSV,3,2,12,23,12,106,46,25,55,069,38,27,83,107,28,28,05,181,45*7B $GPGSV,3,3,12,33,17,229,,37,28,187,,39,28,183,,44,20,137,*78 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123550.000,5356.21503,N,02734.86299,E,1,06,04.8,254.4,M,26.0,M,,*6B $GPRMC,123551.000,A,5356.21500,N,02734.86299,E,00.00,252.7,290508,,,A*66 $PORZD,A,016.0*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123551.000,5356.21504,N,02734.86294,E,1,06,04.8,254.3,M,26.0,M,,*67 $GPRMC,123552.000,A,5356.21501,N,02734.86294,E,00.00,252.7,290508,,,A*69 $PORZD,A,016.0*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123552.000,5356.21504,N,02734.86291,E,1,06,04.8,254.4,M,26.0,M,,*66 $GPRMC,123553.000,A,5356.21500,N,02734.86291,E,00.00,252.7,290508,,,A*6C $PORZD,A,016.0*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123553.000,5356.21505,N,02734.86296,E,1,06,04.8,254.4,M,26.0,M,,*61 $GPRMC,123554.000,A,5356.21503,N,02734.86296,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.9*31 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123554.000,5356.21506,N,02734.86301,E,1,06,04.8,254.4,M,26.0,M,,*6A $GPRMC,123555.000,A,5356.21504,N,02734.86300,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.9*31 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123555.000,5356.21507,N,02734.86304,E,1,06,04.8,254.5,M,26.0,M,,*6E $GPRMC,123556.000,A,5356.21504,N,02734.86303,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.9*31 $GPGSV,4,1,13,02,12,247,,03,11,065,,06,10,045,,07,76,086,36*75 $GPGSV,4,2,13,13,47,102,50,23,12,106,46,25,55,069,38,27,83,105,30*77 $GPGSV,4,3,13,28,05,181,45,33,17,229,,37,28,187,,39,28,183,*7F $GPGSV,4,4,13,44,20,137,*4C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123556.000,5356.21507,N,02734.86306,E,1,06,04.8,254.5,M,26.0,M,,*6F $GPRMC,123557.000,A,5356.21505,N,02734.86306,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.9*31 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123557.000,5356.21508,N,02734.86307,E,1,06,04.8,254.5,M,26.0,M,,*60 $GPRMC,123558.000,A,5356.21505,N,02734.86306,E,00.00,252.7,290508,,,A*6D $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123558.000,5356.21508,N,02734.86308,E,1,06,04.8,254.5,M,26.0,M,,*60 $GPRMC,123559.000,A,5356.21505,N,02734.86309,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123559.000,5356.21508,N,02734.86309,E,1,06,04.8,254.5,M,26.0,M,,*60 $GPRMC,123600.000,A,5356.21505,N,02734.86309,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123600.000,5356.21508,N,02734.86309,E,1,06,04.8,254.5,M,26.0,M,,*6F $GPRMC,123601.000,A,5356.21506,N,02734.86309,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123601.000,5356.21509,N,02734.86307,E,1,06,04.8,254.5,M,26.0,M,,*61 $GPRMC,123602.000,A,5356.21506,N,02734.86307,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.8*30 $GPGSV,4,1,13,02,12,247,,03,11,065,,06,10,045,,07,76,086,34*77 $GPGSV,4,2,13,13,47,102,51,23,12,106,45,25,55,069,38,27,83,105,30*75 $GPGSV,4,3,13,28,05,181,45,33,17,229,,37,28,187,,39,28,183,*7F $GPGSV,4,4,13,44,20,137,*4C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123602.000,5356.21508,N,02734.86308,E,1,06,04.8,254.5,M,26.0,M,,*6C $GPRMC,123603.000,A,5356.21503,N,02734.86309,E,00.00,252.7,290508,,,A*69 $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123603.000,5356.21507,N,02734.86308,E,1,06,04.8,254.6,M,26.0,M,,*61 $GPRMC,123604.000,A,5356.21504,N,02734.86308,E,00.00,252.7,290508,,,A*68 $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123604.000,5356.21508,N,02734.86306,E,1,06,04.8,254.5,M,26.0,M,,*64 $GPRMC,123605.000,A,5356.21506,N,02734.86306,E,00.00,252.7,290508,,,A*65 $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123605.000,5356.21508,N,02734.86304,E,1,06,04.8,254.5,M,26.0,M,,*67 $GPRMC,123606.000,A,5356.21505,N,02734.86304,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123606.000,5356.21509,N,02734.86302,E,1,06,04.8,254.5,M,26.0,M,,*63 $GPRMC,123607.000,A,5356.21506,N,02734.86302,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123607.000,5356.21508,N,02734.86301,E,1,06,04.8,254.5,M,26.0,M,,*60 $GPRMC,123608.000,A,5356.21504,N,02734.86302,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.8*30 $GPGSV,4,1,13,02,12,247,,03,11,065,,06,10,045,,07,76,086,34*77 $GPGSV,4,2,13,13,47,102,51,23,12,106,45,25,55,069,38,27,83,105,30*75 $GPGSV,4,3,13,28,05,181,45,33,17,229,,37,28,187,,39,28,183,*7F $GPGSV,4,4,13,44,20,137,*4C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123608.000,5356.21508,N,02734.86299,E,1,06,04.8,254.5,M,26.0,M,,*6F $GPRMC,123609.000,A,5356.21507,N,02734.86299,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123609.000,5356.21510,N,02734.86297,E,1,06,04.8,254.5,M,26.0,M,,*69 $GPRMC,123610.000,A,5356.21507,N,02734.86298,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123610.000,5356.21512,N,02734.86295,E,1,06,04.8,254.5,M,26.0,M,,*61 $GPRMC,123611.000,A,5356.21510,N,02734.86295,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123611.000,5356.21512,N,02734.86293,E,1,06,04.8,254.4,M,26.0,M,,*67 $GPRMC,123612.000,A,5356.21508,N,02734.86295,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123612.000,5356.21512,N,02734.86291,E,1,06,04.8,254.4,M,26.0,M,,*66 $GPRMC,123613.000,A,5356.21510,N,02734.86290,E,00.00,252.7,290508,,,A*6B $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123613.000,5356.21514,N,02734.86287,E,1,06,04.8,254.4,M,26.0,M,,*66 $GPRMC,123614.000,A,5356.21512,N,02734.86287,E,00.00,252.7,290508,,,A*68 $PORZD,A,015.7*3F $GPGSV,4,1,13,02,12,247,20,03,11,065,,06,10,045,,07,76,086,34*75 $GPGSV,4,2,13,13,47,102,51,23,12,106,46,25,55,069,38,27,83,105,29*7E $GPGSV,4,3,13,28,05,181,45,33,17,229,,37,28,187,,39,28,183,*7F $GPGSV,4,4,13,44,20,137,*4C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123614.000,5356.21515,N,02734.86283,E,1,06,04.8,254.4,M,26.0,M,,*64 $GPRMC,123615.000,A,5356.21512,N,02734.86284,E,00.00,252.7,290508,,,A*6A $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123615.000,5356.21516,N,02734.86281,E,1,06,04.8,254.4,M,26.0,M,,*64 $GPRMC,123616.000,A,5356.21513,N,02734.86280,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123616.000,5356.21517,N,02734.86276,E,1,06,04.8,254.4,M,26.0,M,,*6E $GPRMC,123617.000,A,5356.21515,N,02734.86276,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123617.000,5356.21518,N,02734.86271,E,1,06,04.8,254.4,M,26.0,M,,*67 $GPRMC,123618.000,A,5356.21515,N,02734.86272,E,00.00,252.7,290508,,,A*69 $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123618.000,5356.21519,N,02734.86266,E,1,06,04.8,254.4,M,26.0,M,,*6F $GPRMC,123619.000,A,5356.21516,N,02734.86267,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123619.000,5356.21520,N,02734.86260,E,1,06,04.8,254.4,M,26.0,M,,*62 $GPRMC,123620.000,A,5356.21518,N,02734.86259,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.7*3F $GPGSV,4,1,13,02,12,247,,03,11,065,,06,10,045,,07,76,086,34*77 $GPGSV,4,2,13,13,47,102,50,23,12,106,45,25,55,069,38,27,83,105,29*7C $GPGSV,4,3,13,28,05,181,45,33,17,229,,37,28,187,,39,28,183,*7F $GPGSV,4,4,13,44,20,137,*4C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123620.000,5356.21521,N,02734.86254,E,1,06,04.8,254.4,M,26.0,M,,*6E $GPRMC,123621.000,A,5356.21519,N,02734.86254,E,00.00,252.7,290508,,,A*6B $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123621.000,5356.21523,N,02734.86248,E,1,06,04.8,254.4,M,26.0,M,,*60 $GPRMC,123622.000,A,5356.21520,N,02734.86249,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123622.000,5356.21523,N,02734.86244,E,1,06,04.8,254.4,M,26.0,M,,*6F $GPRMC,123623.000,A,5356.21521,N,02734.86244,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123623.000,5356.21525,N,02734.86241,E,1,06,04.8,254.5,M,26.0,M,,*6C $GPRMC,123624.000,A,5356.21522,N,02734.86242,E,00.00,252.7,290508,,,A*61 $PORZD,A,015.6*3E $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123624.000,5356.21526,N,02734.86245,E,1,06,04.8,254.5,M,26.0,M,,*6C $GPRMC,123625.000,A,5356.21523,N,02734.86246,E,00.00,252.7,290508,,,A*65 $PORZD,A,015.6*3E $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123625.000,5356.21527,N,02734.86242,E,1,06,04.8,254.6,M,26.0,M,,*68 $GPRMC,123626.000,A,5356.21526,N,02734.86241,E,00.00,252.7,290508,,,A*64 $PORZD,A,015.6*3E $GPGSV,4,1,13,02,12,247,,03,11,065,,06,10,045,,07,76,085,35*75 $GPGSV,4,2,13,13,47,102,50,23,12,106,45,25,55,069,38,27,83,104,30*75 $GPGSV,4,3,13,28,05,181,46,33,17,229,,37,28,187,,39,28,183,*7C $GPGSV,4,4,13,44,20,137,*4C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123626.000,5356.21529,N,02734.86243,E,1,06,04.8,254.6,M,26.0,M,,*64 $GPRMC,123627.000,A,5356.21526,N,02734.86243,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.6*3E $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123627.000,5356.21529,N,02734.86247,E,1,06,04.8,254.6,M,26.0,M,,*61 $GPRMC,123628.000,A,5356.21525,N,02734.86250,E,00.00,252.7,290508,,,A*69 $PORZD,A,015.6*3E $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123628.000,5356.21526,N,02734.86245,E,1,06,04.8,254.7,M,26.0,M,,*62 $GPRMC,123629.000,A,5356.21524,N,02734.86244,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.6*3E $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123629.000,5356.21527,N,02734.86247,E,1,06,04.8,254.7,M,26.0,M,,*60 $GPRMC,123630.000,A,5356.21524,N,02734.86249,E,00.00,252.7,290508,,,A*69 $PORZD,A,015.6*3E $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123630.000,5356.21525,N,02734.86244,E,1,06,04.8,254.8,M,26.0,M,,*66 $GPRMC,123631.000,A,5356.21522,N,02734.86244,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.5*3D $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123631.000,5356.21524,N,02734.86240,E,1,06,04.8,254.8,M,26.0,M,,*62 $GPRMC,123632.000,A,5356.21521,N,02734.86240,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.5*3D $GPGSV,4,1,13,02,12,247,,03,11,065,,06,10,045,,07,76,085,34*74 $GPGSV,4,2,13,13,47,102,51,23,12,106,46,25,55,069,39,27,83,104,31*77 $GPGSV,4,3,13,28,05,181,45,33,17,229,,37,28,187,,39,28,183,*7F $GPGSV,4,4,13,44,20,137,*4C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123632.000,5356.21522,N,02734.86236,E,1,06,04.8,254.8,M,26.0,M,,*66 $GPRMC,123633.000,A,5356.21519,N,02734.86238,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.5*3D $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123633.000,5356.21519,N,02734.86234,E,1,06,04.8,254.9,M,26.0,M,,*6C $GPRMC,123634.000,A,5356.21517,N,02734.86234,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.5*3D $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123634.000,5356.21516,N,02734.86231,E,1,06,04.8,255.0,M,26.0,M,,*69 $GPRMC,123635.000,A,5356.21512,N,02734.86232,E,00.00,252.7,290508,,,A*65 $PORZD,A,015.5*3D $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123635.000,5356.21513,N,02734.86229,E,1,06,04.8,255.0,M,26.0,M,,*64 $GPRMC,123636.000,A,5356.21510,N,02734.86229,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.5*3D $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123636.000,5356.21511,N,02734.86226,E,1,06,04.8,255.1,M,26.0,M,,*6B $GPRMC,123637.000,A,5356.21508,N,02734.86227,E,00.00,252.7,290508,,,A*68 $PORZD,A,015.5*3D $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123637.000,5356.21509,N,02734.86224,E,1,06,04.8,255.1,M,26.0,M,,*61 $GPRMC,123638.000,A,5356.21507,N,02734.86225,E,00.00,252.7,290508,,,A*6A $PORZD,A,015.5*3D $GPGSV,4,1,13,02,12,247,,03,11,065,,06,10,045,,07,76,085,35*75 $GPGSV,4,2,13,13,47,102,50,23,12,106,46,25,55,069,38,27,83,104,31*77 $GPGSV,4,3,13,28,05,181,46,33,17,229,,37,28,187,,39,28,183,*7C $GPGSV,4,4,13,44,20,137,*4C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123638.000,5356.21507,N,02734.86222,E,1,06,04.8,255.1,M,26.0,M,,*66 $GPRMC,123639.000,A,5356.21504,N,02734.86223,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.5*3D $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123639.000,5356.21505,N,02734.86221,E,1,06,04.8,255.2,M,26.0,M,,*65 $GPRMC,123640.000,A,5356.21502,N,02734.86221,E,00.00,252.7,290508,,,A*64 $PORZD,A,015.5*3D $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123640.000,5356.21504,N,02734.86219,E,1,06,04.8,255.2,M,26.0,M,,*61 $GPRMC,123641.000,A,5356.21501,N,02734.86220,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123641.000,5356.21503,N,02734.86218,E,1,06,04.8,255.2,M,26.0,M,,*66 $GPRMC,123642.000,A,5356.21500,N,02734.86219,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123642.000,5356.21502,N,02734.86217,E,1,06,04.8,255.2,M,26.0,M,,*6B $GPRMC,123643.000,A,5356.21499,N,02734.86217,E,00.00,252.7,290508,,,A*61 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123643.000,5356.21501,N,02734.86216,E,1,06,04.8,255.3,M,26.0,M,,*69 $GPRMC,123644.000,A,5356.21498,N,02734.86216,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.4*3C $GPGSV,4,1,13,02,12,247,,03,11,065,,06,10,045,,07,76,085,35*75 $GPGSV,4,2,13,13,47,102,51,23,12,106,46,25,55,069,37,27,83,104,32*7A $GPGSV,4,3,13,28,05,181,46,33,17,229,,37,28,187,,39,28,183,*7C $GPGSV,4,4,13,44,20,137,*4C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123644.000,5356.21502,N,02734.86215,E,1,06,04.8,255.2,M,26.0,M,,*6F $GPRMC,123645.000,A,5356.21500,N,02734.86213,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123645.000,5356.21503,N,02734.86213,E,1,06,04.8,255.2,M,26.0,M,,*69 $GPRMC,123646.000,A,5356.21500,N,02734.86214,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123646.000,5356.21503,N,02734.86212,E,1,06,04.8,255.2,M,26.0,M,,*6B $GPRMC,123647.000,A,5356.21501,N,02734.86213,E,00.00,252.7,290508,,,A*61 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123647.000,5356.21504,N,02734.86212,E,1,06,04.8,255.2,M,26.0,M,,*6D $GPRMC,123648.000,A,5356.21501,N,02734.86212,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123648.000,5356.21505,N,02734.86212,E,1,06,04.8,255.1,M,26.0,M,,*60 $GPRMC,123649.000,A,5356.21503,N,02734.86212,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123649.000,5356.21505,N,02734.86212,E,1,06,04.8,255.1,M,26.0,M,,*61 $GPRMC,123650.000,A,5356.21502,N,02734.86214,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.4*3C $GPGSV,4,1,13,02,12,247,,03,11,065,,06,10,045,,07,76,085,35*75 $GPGSV,4,2,13,13,47,102,50,23,12,106,45,25,55,069,37,27,83,104,31*7B $GPGSV,4,3,13,28,05,181,45,33,17,229,,37,28,187,,39,28,183,*7F $GPGSV,4,4,13,44,20,137,*4C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123650.000,5356.21505,N,02734.86213,E,1,06,04.8,255.1,M,26.0,M,,*68 $GPRMC,123651.000,A,5356.21503,N,02734.86213,E,00.00,252.7,290508,,,A*64 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123651.000,5356.21507,N,02734.86211,E,1,06,04.8,255.1,M,26.0,M,,*69 $GPRMC,123652.000,A,5356.21504,N,02734.86211,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123652.000,5356.21508,N,02734.86209,E,1,06,04.8,255.0,M,26.0,M,,*6D $GPRMC,123653.000,A,5356.21506,N,02734.86208,E,00.00,252.7,290508,,,A*69 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123653.000,5356.21511,N,02734.86215,E,1,06,04.8,255.0,M,26.0,M,,*69 $GPRMC,123654.000,A,5356.21508,N,02734.86216,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123654.000,5356.21514,N,02734.86221,E,1,06,04.8,255.1,M,26.0,M,,*6D $GPRMC,123655.000,A,5356.21510,N,02734.86222,E,00.00,252.7,290508,,,A*60 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123655.000,5356.21516,N,02734.86225,E,1,06,04.8,255.1,M,26.0,M,,*6A $GPRMC,123656.000,A,5356.21514,N,02734.86225,E,00.00,252.7,290508,,,A*60 $PORZD,A,015.3*3B $GPGSV,4,1,14,02,12,247,,03,11,065,,06,10,045,,07,75,084,35*70 $GPGSV,4,2,14,08,59,224,,13,47,102,50,23,12,106,47,25,54,069,37*76 $GPGSV,4,3,14,27,83,102,32,28,05,181,45,33,17,229,,37,28,187,*7E $GPGSV,4,4,14,39,28,183,,44,20,137,*71 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123656.000,5356.21518,N,02734.86229,E,1,06,04.8,255.1,M,26.0,M,,*6B $GPRMC,123657.000,A,5356.21515,N,02734.86230,E,00.00,252.7,290508,,,A*64 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123657.000,5356.21519,N,02734.86231,E,1,06,04.8,255.1,M,26.0,M,,*62 $GPRMC,123658.000,A,5356.21517,N,02734.86231,E,00.00,252.7,290508,,,A*68 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123658.000,5356.21521,N,02734.86233,E,1,06,04.8,255.1,M,26.0,M,,*64 $GPRMC,123659.000,A,5356.21519,N,02734.86233,E,00.00,252.7,290508,,,A*65 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123659.000,5356.21524,N,02734.86232,E,1,06,04.8,255.1,M,26.0,M,,*61 $GPRMC,123700.000,A,5356.21522,N,02734.86232,E,00.00,252.7,290508,,,A*61 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123700.000,5356.21526,N,02734.86232,E,1,06,04.8,255.0,M,26.0,M,,*6F $GPRMC,123701.000,A,5356.21522,N,02734.86233,E,00.00,252.7,290508,,,A*61 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123701.000,5356.21526,N,02734.86232,E,1,06,04.8,255.1,M,26.0,M,,*6F $GPRMC,123702.000,A,5356.21524,N,02734.86232,E,00.00,252.7,290508,,,A*65 $PORZD,A,015.3*3B $GPGSV,4,1,14,02,12,247,,03,11,065,,06,10,045,,07,75,084,34*71 $GPGSV,4,2,14,08,59,224,,13,47,102,50,23,12,106,46,25,54,069,38*78 $GPGSV,4,3,14,27,83,102,31,28,05,181,45,33,17,229,,37,28,187,*7D $GPGSV,4,4,14,39,28,183,,44,20,137,*71 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123702.000,5356.21528,N,02734.86231,E,1,06,04.8,255.0,M,26.0,M,,*60 $GPRMC,123703.000,A,5356.21526,N,02734.86231,E,00.00,252.7,290508,,,A*65 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123703.000,5356.21529,N,02734.86230,E,1,06,04.8,255.0,M,26.0,M,,*61 $GPRMC,123704.000,A,5356.21526,N,02734.86230,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123704.000,5356.21530,N,02734.86228,E,1,06,04.8,255.0,M,26.0,M,,*67 $GPRMC,123705.000,A,5356.21528,N,02734.86228,E,00.00,252.7,290508,,,A*65 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123705.000,5356.21533,N,02734.86226,E,1,06,04.8,255.0,M,26.0,M,,*6B $GPRMC,123706.000,A,5356.21530,N,02734.86226,E,00.00,252.7,290508,,,A*61 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123706.000,5356.21534,N,02734.86224,E,1,06,04.8,255.0,M,26.0,M,,*6D $GPRMC,123707.000,A,5356.21531,N,02734.86225,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123707.000,5356.21536,N,02734.86223,E,1,06,04.7,254.9,M,26.0,M,,*6E $GPRMC,123708.000,A,5356.21534,N,02734.86222,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.2*3A $GPGSV,4,1,14,02,12,247,,03,11,065,,06,10,045,,07,75,084,36*73 $GPGSV,4,2,14,08,59,224,,13,47,102,50,23,12,106,45,25,54,069,38*7B $GPGSV,4,3,14,27,83,102,31,28,05,181,46,33,17,229,,37,28,187,*7E $GPGSV,4,4,14,39,28,183,,44,20,137,*71 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123708.000,5356.21539,N,02734.86220,E,1,06,04.7,254.9,M,26.0,M,,*6D $GPRMC,123709.000,A,5356.21536,N,02734.86219,E,00.00,252.7,290508,,,A*64 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123709.000,5356.21541,N,02734.86218,E,1,06,04.7,254.8,M,26.0,M,,*69 $GPRMC,123710.000,A,5356.21538,N,02734.86220,E,00.00,252.7,290508,,,A*68 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123710.000,5356.21542,N,02734.86219,E,1,06,04.7,254.8,M,26.0,M,,*63 $GPRMC,123711.000,A,5356.21539,N,02734.86219,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123711.000,5356.21543,N,02734.86218,E,1,06,04.7,254.8,M,26.0,M,,*62 $GPRMC,123712.000,A,5356.21541,N,02734.86218,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123712.000,5356.21544,N,02734.86218,E,1,06,04.7,254.7,M,26.0,M,,*69 $GPRMC,123713.000,A,5356.21541,N,02734.86219,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123713.000,5356.21544,N,02734.86218,E,1,06,04.7,254.7,M,26.0,M,,*68 $GPRMC,123714.000,A,5356.21541,N,02734.86219,E,00.00,252.7,290508,,,A*68 $PORZD,A,015.2*3A $GPGSV,4,1,14,02,12,247,,03,11,065,,06,10,045,,07,75,084,35*70 $GPGSV,4,2,14,08,59,224,,13,47,102,50,23,12,106,46,25,54,069,38*78 $GPGSV,4,3,14,27,83,102,31,28,05,181,45,33,17,229,,37,28,187,*7D $GPGSV,4,4,14,39,28,183,,44,20,137,*71 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123714.000,5356.21544,N,02734.86217,E,1,06,04.7,254.7,M,26.0,M,,*60 $GPRMC,123715.000,A,5356.21542,N,02734.86218,E,00.00,252.7,290508,,,A*6B $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123715.000,5356.21544,N,02734.86216,E,1,06,04.7,254.7,M,26.0,M,,*60 $GPRMC,123716.000,A,5356.21542,N,02734.86216,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123716.000,5356.21544,N,02734.86215,E,1,06,04.7,254.7,M,26.0,M,,*60 $GPRMC,123717.000,A,5356.21542,N,02734.86215,E,00.00,252.7,290508,,,A*64 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123717.000,5356.21543,N,02734.86213,E,1,06,04.7,254.7,M,26.0,M,,*60 $GPRMC,123718.000,A,5356.21540,N,02734.86214,E,00.00,252.7,290508,,,A*68 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123718.000,5356.21542,N,02734.86211,E,1,06,04.7,254.7,M,26.0,M,,*6C $GPRMC,123719.000,A,5356.21540,N,02734.86211,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123719.000,5356.21542,N,02734.86209,E,1,06,04.7,254.7,M,26.0,M,,*64 $GPRMC,123720.000,A,5356.21539,N,02734.86210,E,00.00,252.7,290508,,,A*69 $PORZD,A,015.2*3A $GPGSV,4,1,14,02,12,247,,03,11,065,,06,10,045,,07,75,084,34*71 $GPGSV,4,2,14,08,59,224,,13,47,102,50,23,12,106,46,25,54,069,38*78 $GPGSV,4,3,14,27,83,102,31,28,05,181,46,33,17,229,,37,28,187,*7E $GPGSV,4,4,14,39,28,183,,44,20,137,*71 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123720.000,5356.21542,N,02734.86206,E,1,06,04.7,254.7,M,26.0,M,,*61 $GPRMC,123721.000,A,5356.21540,N,02734.86205,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123721.000,5356.21543,N,02734.86202,E,1,06,04.7,254.7,M,26.0,M,,*65 $GPRMC,123722.000,A,5356.21541,N,02734.86202,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123722.000,5356.21543,N,02734.86198,E,1,06,04.7,254.7,M,26.0,M,,*66 $GPRMC,123723.000,A,5356.21541,N,02734.86198,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123723.000,5356.21546,N,02734.86203,E,1,06,04.7,254.7,M,26.0,M,,*63 $GPRMC,123724.000,A,5356.21543,N,02734.86203,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123724.000,5356.21548,N,02734.86207,E,1,06,04.7,254.8,M,26.0,M,,*61 $GPRMC,123725.000,A,5356.21544,N,02734.86208,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123725.000,5356.21549,N,02734.86210,E,1,06,04.7,254.8,M,26.0,M,,*67 $GPRMC,123726.000,A,5356.21547,N,02734.86211,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.2*3A $GPGSV,4,1,14,02,12,247,,03,11,064,,06,10,044,,07,75,084,34*71 $GPGSV,4,2,14,08,59,224,,13,47,102,51,23,11,106,45,25,54,068,38*78 $GPGSV,4,3,14,27,83,101,31,28,05,181,46,33,17,229,,37,28,187,*7D $GPGSV,4,4,14,39,28,183,,44,20,137,*71 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123726.000,5356.21550,N,02734.86213,E,1,06,04.7,254.8,M,26.0,M,,*6F $GPRMC,123727.000,A,5356.21547,N,02734.86213,E,00.00,252.7,290508,,,A*64 $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123727.000,5356.21552,N,02734.86214,E,1,06,04.7,254.9,M,26.0,M,,*6A $GPRMC,123728.000,A,5356.21550,N,02734.86214,E,00.00,252.7,290508,,,A*6A $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123728.000,5356.21553,N,02734.86215,E,1,06,04.7,254.9,M,26.0,M,,*65 $GPRMC,123729.000,A,5356.21551,N,02734.86214,E,00.00,252.7,290508,,,A*6A $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123729.000,5356.21555,N,02734.86214,E,1,06,04.7,254.8,M,26.0,M,,*62 $GPRMC,123730.000,A,5356.21553,N,02734.86214,E,00.00,252.7,290508,,,A*60 $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123730.000,5356.21557,N,02734.86213,E,1,06,04.7,254.8,M,26.0,M,,*6F $GPRMC,123731.000,A,5356.21554,N,02734.86214,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123731.000,5356.21557,N,02734.86212,E,1,06,04.7,254.8,M,26.0,M,,*6F $GPRMC,123732.000,A,5356.21555,N,02734.86212,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.1*39 $GPGSV,4,1,14,02,12,247,,03,11,064,,06,10,044,,07,75,084,34*71 $GPGSV,4,2,14,08,59,224,,13,47,102,51,23,11,106,46,25,54,068,38*7B $GPGSV,4,3,14,27,83,101,32,28,05,181,45,33,17,229,,37,28,187,*7D $GPGSV,4,4,14,39,28,183,,44,20,137,*71 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123732.000,5356.21558,N,02734.86210,E,1,06,04.7,254.8,M,26.0,M,,*61 $GPRMC,123733.000,A,5356.21556,N,02734.86211,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123733.000,5356.21559,N,02734.86209,E,1,06,04.7,254.8,M,26.0,M,,*69 $GPRMC,123734.000,A,5356.21555,N,02734.86209,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123734.000,5356.21559,N,02734.86207,E,1,06,04.7,254.8,M,26.0,M,,*60 $GPRMC,123735.000,A,5356.21557,N,02734.86207,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123735.000,5356.21559,N,02734.86206,E,1,06,04.7,254.8,M,26.0,M,,*60 $GPRMC,123736.000,A,5356.21556,N,02734.86206,E,00.00,252.7,290508,,,A*60 $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123736.000,5356.21560,N,02734.86204,E,1,06,04.7,254.8,M,26.0,M,,*6B $GPRMC,123737.000,A,5356.21558,N,02734.86205,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123737.000,5356.21560,N,02734.86202,E,1,06,04.7,254.8,M,26.0,M,,*6C $GPRMC,123738.000,A,5356.21558,N,02734.86202,E,00.00,252.7,290508,,,A*64 $PORZD,A,015.1*39 $GPGSV,4,1,14,02,12,247,,03,11,064,18,06,10,044,,07,75,084,34*78 $GPGSV,4,2,14,08,59,224,,13,47,102,51,23,11,106,47,25,54,068,38*7A $GPGSV,4,3,14,27,83,101,32,28,05,181,45,33,17,229,,37,28,187,*7D $GPGSV,4,4,14,39,28,183,,44,20,137,*71 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123738.000,5356.21562,N,02734.86199,E,1,06,04.7,254.8,M,26.0,M,,*60 $GPRMC,123739.000,A,5356.21559,N,02734.86199,E,00.00,252.7,290508,,,A*65 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123739.000,5356.21564,N,02734.86196,E,1,06,04.7,254.8,M,26.0,M,,*68 $GPRMC,123740.000,A,5356.21563,N,02734.86196,E,00.00,252.7,290508,,,A*6D $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123740.000,5356.21567,N,02734.86194,E,1,06,04.7,254.7,M,26.0,M,,*68 $GPRMC,123741.000,A,5356.21564,N,02734.86194,E,00.00,252.7,290508,,,A*69 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123741.000,5356.21568,N,02734.86192,E,1,06,04.7,254.7,M,26.0,M,,*60 $GPRMC,123742.000,A,5356.21566,N,02734.86192,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123742.000,5356.21570,N,02734.86190,E,1,06,04.7,254.7,M,26.0,M,,*68 $GPRMC,123743.000,A,5356.21567,N,02734.86191,E,00.00,252.7,290508,,,A*6D $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123743.000,5356.21571,N,02734.86189,E,1,06,04.7,254.6,M,26.0,M,,*61 $GPRMC,123744.000,A,5356.21568,N,02734.86189,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.3*3B $GPGSV,4,1,14,02,12,247,,03,11,064,,06,10,044,,07,75,084,35*70 $GPGSV,4,2,14,08,59,224,,13,47,102,50,23,11,106,46,25,54,068,38*7A $GPGSV,4,3,14,27,83,101,32,28,05,181,46,33,17,229,,37,28,187,*7E $GPGSV,4,4,14,39,28,183,,44,20,137,*71 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123744.000,5356.21572,N,02734.86187,E,1,06,04.7,254.6,M,26.0,M,,*6B $GPRMC,123745.000,A,5356.21570,N,02734.86186,E,00.00,252.7,290508,,,A*6B $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123745.000,5356.21573,N,02734.86184,E,1,06,04.7,254.6,M,26.0,M,,*68 $GPRMC,123746.000,A,5356.21571,N,02734.86184,E,00.00,252.7,290508,,,A*6B $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123746.000,5356.21574,N,02734.86181,E,1,06,04.7,254.6,M,26.0,M,,*69 $GPRMC,123747.000,A,5356.21571,N,02734.86182,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123747.000,5356.21573,N,02734.86179,E,1,06,04.7,254.6,M,26.0,M,,*68 $GPRMC,123748.000,A,5356.21570,N,02734.86179,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123748.000,5356.21573,N,02734.86175,E,1,06,04.7,254.6,M,26.0,M,,*6B $GPRMC,123749.000,A,5356.21572,N,02734.86175,E,00.00,252.7,290508,,,A*69 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123749.000,5356.21573,N,02734.86173,E,1,06,04.7,254.6,M,26.0,M,,*6C $GPRMC,123750.000,A,5356.21569,N,02734.86174,E,00.00,252.7,290508,,,A*6A $PORZD,A,015.3*3B $GPGSV,4,1,14,02,12,247,,03,11,064,,06,10,044,,07,75,084,35*70 $GPGSV,4,2,14,08,59,224,,13,47,102,50,23,11,106,46,25,54,068,38*7A $GPGSV,4,3,14,27,83,101,32,28,05,181,47,33,17,229,,37,28,187,*7F $GPGSV,4,4,14,39,28,183,,44,20,137,*71 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123750.000,5356.21570,N,02734.86172,E,1,06,04.7,254.6,M,26.0,M,,*66 $GPRMC,123751.000,A,5356.21568,N,02734.86171,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123751.000,5356.21570,N,02734.86168,E,1,06,04.7,254.6,M,26.0,M,,*6C $GPRMC,123752.000,A,5356.21567,N,02734.86169,E,00.00,252.7,290508,,,A*6A $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123752.000,5356.21569,N,02734.86167,E,1,06,04.7,254.7,M,26.0,M,,*69 $GPRMC,123753.000,A,5356.21567,N,02734.86166,E,00.00,252.7,290508,,,A*64 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123753.000,5356.21570,N,02734.86172,E,1,06,04.7,254.7,M,26.0,M,,*64 $GPRMC,123754.000,A,5356.21567,N,02734.86172,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123754.000,5356.21570,N,02734.86177,E,1,06,04.7,254.8,M,26.0,M,,*69 $GPRMC,123755.000,A,5356.21567,N,02734.86178,E,00.00,252.7,290508,,,A*6D $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123755.000,5356.21570,N,02734.86182,E,1,06,04.7,254.8,M,26.0,M,,*62 $GPRMC,123756.000,A,5356.21567,N,02734.86183,E,00.00,252.7,290508,,,A*6A $PORZD,A,015.3*3B $GPGSV,4,1,15,02,12,246,,03,11,064,,06,10,044,,07,75,083,36*74 $GPGSV,4,2,15,08,60,224,,10,46,294,,13,46,102,50,23,11,106,46*7F $GPGSV,4,3,15,25,54,068,38,27,83,099,32,28,06,181,46,33,17,229,*7F $GPGSV,4,4,15,37,28,187,,39,28,183,,44,20,137,*40 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123756.000,5356.21570,N,02734.86187,E,1,06,04.7,254.8,M,26.0,M,,*64 $GPRMC,123757.000,A,5356.21567,N,02734.86186,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123757.000,5356.21568,N,02734.86191,E,1,06,04.7,254.9,M,26.0,M,,*6A $GPRMC,123758.000,A,5356.21565,N,02734.86193,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123758.000,5356.21567,N,02734.86196,E,1,06,04.7,254.9,M,26.0,M,,*6D $GPRMC,123759.000,A,5356.21565,N,02734.86197,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123759.000,5356.21566,N,02734.86198,E,1,06,04.7,254.9,M,26.0,M,,*63 $GPRMC,123800.000,A,5356.21563,N,02734.86198,E,00.00,252.7,290508,,,A*68 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123800.000,5356.21565,N,02734.86199,E,1,06,04.7,255.0,M,26.0,M,,*6A $GPRMC,123801.000,A,5356.21563,N,02734.86200,E,00.00,252.7,290508,,,A*6B $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123801.000,5356.21564,N,02734.86202,E,1,06,04.7,255.0,M,26.0,M,,*6B $GPRMC,123802.000,A,5356.21562,N,02734.86202,E,00.00,252.7,290508,,,A*6B $PORZD,A,015.3*3B $GPGSV,4,1,15,02,12,246,,03,11,064,,06,10,044,,07,75,083,35*77 $GPGSV,4,2,15,08,60,224,,10,46,294,,13,46,102,50,23,11,106,46*7F $GPGSV,4,3,15,25,54,068,38,27,83,099,32,28,06,181,46,33,17,229,*7F $GPGSV,4,4,15,37,28,187,,39,28,183,,44,20,137,*40 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123802.000,5356.21563,N,02734.86203,E,1,06,04.7,255.0,M,26.0,M,,*6E $GPRMC,123803.000,A,5356.21561,N,02734.86203,E,00.00,252.7,290508,,,A*68 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123803.000,5356.21562,N,02734.86205,E,1,06,04.7,255.0,M,26.0,M,,*68 $GPRMC,123804.000,A,5356.21558,N,02734.86206,E,00.00,252.7,290508,,,A*60 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123804.000,5356.21559,N,02734.86207,E,1,06,04.7,255.1,M,26.0,M,,*64 $GPRMC,123805.000,A,5356.21557,N,02734.86206,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123805.000,5356.21558,N,02734.86207,E,1,06,04.7,255.1,M,26.0,M,,*64 $GPRMC,123806.000,A,5356.21555,N,02734.86207,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123806.000,5356.21555,N,02734.86208,E,1,06,04.7,255.1,M,26.0,M,,*65 $GPRMC,123807.000,A,5356.21552,N,02734.86210,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123807.000,5356.21553,N,02734.86210,E,1,06,04.7,255.1,M,26.0,M,,*6B $GPRMC,123808.000,A,5356.21551,N,02734.86210,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.3*3B $GPGSV,4,1,15,02,12,246,,03,11,064,,06,10,044,,07,75,083,35*77 $GPGSV,4,2,15,08,60,224,,10,46,294,,13,46,102,50,23,11,106,46*7F $GPGSV,4,3,15,25,54,068,37,27,83,099,32,28,06,181,46,33,17,229,*70 $GPGSV,4,4,15,37,28,187,,39,28,183,,44,20,137,*40 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123808.000,5356.21552,N,02734.86211,E,1,06,04.7,255.1,M,26.0,M,,*64 $GPRMC,123809.000,A,5356.21549,N,02734.86212,E,00.00,252.7,290508,,,A*68 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123809.000,5356.21550,N,02734.86212,E,1,06,04.7,255.1,M,26.0,M,,*64 $GPRMC,123810.000,A,5356.21548,N,02734.86212,E,00.00,252.7,290508,,,A*61 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123810.000,5356.21550,N,02734.86211,E,1,06,04.7,255.1,M,26.0,M,,*6F $GPRMC,123811.000,A,5356.21548,N,02734.86211,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123811.000,5356.21549,N,02734.86210,E,1,06,04.7,255.1,M,26.0,M,,*67 $GPRMC,123812.000,A,5356.21545,N,02734.86211,E,00.00,252.7,290508,,,A*6D $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123812.000,5356.21548,N,02734.86209,E,1,06,04.7,255.1,M,26.0,M,,*6D $GPRMC,123813.000,A,5356.21545,N,02734.86210,E,00.00,252.7,290508,,,A*6D $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123813.000,5356.21548,N,02734.86207,E,1,06,04.7,255.1,M,26.0,M,,*62 $GPRMC,123814.000,A,5356.21546,N,02734.86207,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.2*3A $GPGSV,4,1,15,02,12,246,,03,11,064,,06,10,044,,07,75,083,36*74 $GPGSV,4,2,15,08,60,224,,10,46,294,,13,46,102,50,23,11,106,45*7C $GPGSV,4,3,15,25,54,068,38,27,83,099,32,28,06,181,45,33,17,229,*7C $GPGSV,4,4,15,37,28,187,,39,28,183,,44,20,137,*40 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123814.000,5356.21548,N,02734.86206,E,1,06,04.7,255.1,M,26.0,M,,*64 $GPRMC,123815.000,A,5356.21544,N,02734.86207,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123815.000,5356.21547,N,02734.86205,E,1,06,04.7,255.1,M,26.0,M,,*69 $GPRMC,123816.000,A,5356.21545,N,02734.86206,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123816.000,5356.21548,N,02734.86204,E,1,06,04.7,255.1,M,26.0,M,,*64 $GPRMC,123817.000,A,5356.21545,N,02734.86204,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123817.000,5356.21549,N,02734.86202,E,1,06,04.7,255.1,M,26.0,M,,*62 $GPRMC,123818.000,A,5356.21546,N,02734.86202,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123818.000,5356.21550,N,02734.86200,E,1,06,04.7,255.0,M,26.0,M,,*66 $GPRMC,123819.000,A,5356.21547,N,02734.86201,E,00.00,252.7,290508,,,A*65 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123819.000,5356.21551,N,02734.86199,E,1,06,04.7,255.0,M,26.0,M,,*65 $GPRMC,123820.000,A,5356.21548,N,02734.86201,E,00.00,252.7,290508,,,A*60 $PORZD,A,015.1*39 $GPGSV,4,1,15,02,12,246,,03,11,064,,06,10,044,,07,75,083,36*74 $GPGSV,4,2,15,08,60,224,,10,46,294,,13,46,102,50,23,11,106,46*7F $GPGSV,4,3,15,25,54,068,37,27,83,099,32,28,06,181,45,33,17,229,*73 $GPGSV,4,4,15,37,28,187,,39,28,183,,44,20,137,*40 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123820.000,5356.21552,N,02734.86199,E,1,06,04.7,255.0,M,26.0,M,,*6C $GPRMC,123821.000,A,5356.21550,N,02734.86198,E,00.00,252.7,290508,,,A*6B $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123821.000,5356.21554,N,02734.86196,E,1,06,04.7,254.9,M,26.0,M,,*6C $GPRMC,123822.000,A,5356.21551,N,02734.86196,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123822.000,5356.21555,N,02734.86193,E,1,06,04.7,254.9,M,26.0,M,,*6B $GPRMC,123823.000,A,5356.21552,N,02734.86194,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123823.000,5356.21543,N,02734.86204,E,1,07,03.2,255.2,M,26.0,M,,*69 $GPRMC,123824.000,A,5356.21543,N,02734.86203,E,00.00,252.7,290508,,,A*6D $PORZD,A,014.2*3B $GPGSA,A,3,19,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,03.8,03.2,02.2*0C $GPGGA,123824.000,5356.21547,N,02734.86205,E,1,06,04.7,255.2,M,26.0,M,,*68 $GPRMC,123825.000,A,5356.21544,N,02734.86207,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123825.000,5356.21551,N,02734.86207,E,1,06,04.7,255.1,M,26.0,M,,*6F $GPRMC,123826.000,A,5356.21549,N,02734.86206,E,00.00,252.7,290508,,,A*60 $PORZD,A,015.1*39 $GPGSV,4,1,15,02,11,246,,03,11,064,,06,10,044,,07,75,083,36*77 $GPGSV,4,2,15,08,60,224,,10,46,294,,13,46,102,50,23,11,107,47*7F $GPGSV,4,3,15,25,54,068,37,27,82,098,32,28,06,181,46,33,17,229,*70 $GPGSV,4,4,15,37,28,187,,39,28,183,,44,20,137,*40 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123826.000,5356.21556,N,02734.86205,E,1,06,04.7,255.1,M,26.0,M,,*69 $GPRMC,123827.000,A,5356.21553,N,02734.86207,E,00.00,252.7,290508,,,A*6B $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123827.000,5356.21558,N,02734.86205,E,1,06,04.7,255.0,M,26.0,M,,*67 $GPRMC,123828.000,A,5356.21555,N,02734.86206,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.0*38 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123828.000,5356.21561,N,02734.86204,E,1,06,04.7,255.0,M,26.0,M,,*63 $GPRMC,123829.000,A,5356.21559,N,02734.86204,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.0*38 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123829.000,5356.21565,N,02734.86202,E,1,06,04.7,254.9,M,26.0,M,,*68 $GPRMC,123830.000,A,5356.21562,N,02734.86204,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.0*38 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123830.000,5356.21567,N,02734.86202,E,1,06,04.7,254.9,M,26.0,M,,*62 $GPRMC,123831.000,A,5356.21566,N,02734.86201,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.0*38 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E gpsd-3.9/test/daemon/ch-4701.log.chk0000664000175000017500000044202312135526275015161 0ustar esresr$GPGGA,123433.000,5356.21442,N,02734.85952,E,1,04,07.2,251.9,M,26.0,M,,*67 {"class":"TPV","tag":"GGA","mode":3,"lat":53.936907000,"lon":27.580992000,"alt":251.900} $GPRMC,123434.000,A,5356.21440,N,02734.85946,E,00.00,252.7,290508,,,A*6B $PORZD,A,022.8*34 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123434.000,5356.21444,N,02734.85947,E,1,04,07.2,251.9,M,26.0,M,,*62 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:34.000Z","ept":0.005,"lat":53.936907333,"lon":27.580991167,"alt":251.900,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000} $GPRMC,123435.000,A,5356.21440,N,02734.85945,E,00.00,252.7,290508,,,A*69 $PORZD,A,022.8*34 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123435.000,5356.21444,N,02734.85946,E,1,04,07.2,251.9,M,26.0,M,,*62 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:35.000Z","ept":0.005,"lat":53.936907333,"lon":27.580991000,"alt":251.900,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000} $GPRMC,123436.000,A,5356.21439,N,02734.85943,E,00.00,252.7,290508,,,A*62 $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123436.000,5356.21444,N,02734.85946,E,1,04,07.2,251.9,M,26.0,M,,*61 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:36.000Z","ept":0.005,"lat":53.936907333,"lon":27.580991000,"alt":251.900,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000} $GPRMC,123437.000,A,5356.21443,N,02734.85944,E,00.00,252.7,290508,,,A*69 $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123437.000,5356.21447,N,02734.85947,E,1,04,07.2,251.8,M,26.0,M,,*63 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:37.000Z","ept":0.005,"lat":53.936907833,"lon":27.580991167,"alt":251.800,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000} $GPRMC,123438.000,A,5356.21444,N,02734.85943,E,00.00,252.7,290508,,,A*66 $PORZD,A,022.9*35 $GPGSV,3,1,11,02,13,248,,03,11,066,,07,76,087,36,13,48,101,50*71 $GPGSV,3,2,11,23,12,106,46,25,56,069,39,27,84,110,31,33,17,229,*7A $GPGSV,3,3,11,37,28,187,,39,28,183,,44,20,137,*44 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":13,"az":248,"ss":0,"used":false},{"PRN":3,"el":11,"az":66,"ss":0,"used":false},{"PRN":7,"el":76,"az":87,"ss":36,"used":true},{"PRN":13,"el":48,"az":101,"ss":50,"used":true},{"PRN":23,"el":12,"az":106,"ss":46,"used":true},{"PRN":25,"el":56,"az":69,"ss":39,"used":true},{"PRN":27,"el":84,"az":110,"ss":31,"used":false},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123438.000,5356.21448,N,02734.85946,E,1,04,07.2,251.8,M,26.0,M,,*62 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:38.000Z","ept":0.005,"lat":53.936908000,"lon":27.580991000,"alt":251.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000} $GPRMC,123439.000,A,5356.21445,N,02734.85942,E,00.00,252.7,290508,,,A*67 $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123439.000,5356.21450,N,02734.85946,E,1,04,07.2,251.8,M,26.0,M,,*6A {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:39.000Z","ept":0.005,"lat":53.936908333,"lon":27.580991000,"alt":251.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123440.000,A,5356.21447,N,02734.85944,E,00.00,252.7,290508,,,A*6D $PORZD,A,022.8*34 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123440.000,5356.21449,N,02734.85945,E,1,04,07.2,251.8,M,26.0,M,,*6F {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:40.000Z","ept":0.005,"lat":53.936908167,"lon":27.580990833,"alt":251.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123441.000,A,5356.21446,N,02734.85940,E,00.00,252.7,290508,,,A*69 $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123441.000,5356.21449,N,02734.85942,E,1,04,07.2,251.8,M,26.0,M,,*69 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:41.000Z","ept":0.005,"lat":53.936908167,"lon":27.580990333,"alt":251.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123442.000,A,5356.21445,N,02734.85940,E,00.00,252.7,290508,,,A*69 $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123442.000,5356.21447,N,02734.85942,E,1,04,07.2,251.8,M,26.0,M,,*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:42.000Z","ept":0.005,"lat":53.936907833,"lon":27.580990333,"alt":251.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123443.000,A,5356.21444,N,02734.85939,E,00.00,252.7,290508,,,A*67 $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123443.000,5356.21448,N,02734.85942,E,1,04,07.2,251.8,M,26.0,M,,*6A {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:43.000Z","ept":0.005,"lat":53.936908000,"lon":27.580990333,"alt":251.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123444.000,A,5356.21446,N,02734.85940,E,00.00,252.7,290508,,,A*6C $PORZD,A,022.8*34 $GPGSV,3,1,11,02,13,248,,03,11,066,,07,76,087,35,13,48,101,50*72 $GPGSV,3,2,11,23,12,106,47,25,56,069,38,27,84,110,31,33,17,229,*7A $GPGSV,3,3,11,37,28,187,,39,28,183,,44,20,137,*44 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":13,"az":248,"ss":0,"used":false},{"PRN":3,"el":11,"az":66,"ss":0,"used":false},{"PRN":7,"el":76,"az":87,"ss":35,"used":true},{"PRN":13,"el":48,"az":101,"ss":50,"used":true},{"PRN":23,"el":12,"az":106,"ss":47,"used":true},{"PRN":25,"el":56,"az":69,"ss":38,"used":true},{"PRN":27,"el":84,"az":110,"ss":31,"used":false},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123444.000,5356.21450,N,02734.85942,E,1,04,07.2,251.8,M,26.0,M,,*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:44.000Z","ept":0.005,"lat":53.936908333,"lon":27.580990333,"alt":251.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123445.000,A,5356.21446,N,02734.85938,E,00.00,252.7,290508,,,A*62 $PORZD,A,022.8*34 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123445.000,5356.21450,N,02734.85941,E,1,04,07.2,251.8,M,26.0,M,,*66 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:45.000Z","ept":0.005,"lat":53.936908333,"lon":27.580990167,"alt":251.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123446.000,A,5356.21447,N,02734.85936,E,00.00,252.7,290508,,,A*6E $PORZD,A,022.8*34 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123446.000,5356.21451,N,02734.85943,E,1,04,07.2,251.9,M,26.0,M,,*67 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:46.000Z","ept":0.005,"lat":53.936908500,"lon":27.580990500,"alt":251.900,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123447.000,A,5356.21448,N,02734.85938,E,00.00,252.7,290508,,,A*6E $PORZD,A,022.8*34 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.2,07.2,05.7*0D $GPGGA,123447.000,5356.21452,N,02734.85942,E,1,04,07.2,251.9,M,26.0,M,,*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:47.000Z","ept":0.005,"lat":53.936908667,"lon":27.580990333,"alt":251.900,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123448.000,A,5356.21449,N,02734.85942,E,00.00,252.7,290508,,,A*6D $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.7*0E $GPGGA,123448.000,5356.21453,N,02734.85943,E,1,04,07.2,251.9,M,26.0,M,,*6B {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:48.000Z","ept":0.005,"lat":53.936908833,"lon":27.580990500,"alt":251.900,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123449.000,A,5356.21448,N,02734.85937,E,00.00,252.7,290508,,,A*6F $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.7*0E $GPGGA,123449.000,5356.21453,N,02734.85941,E,1,04,07.2,251.9,M,26.0,M,,*68 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:49.000Z","ept":0.005,"lat":53.936908833,"lon":27.580990167,"alt":251.900,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123450.000,A,5356.21449,N,02734.85935,E,00.00,252.7,290508,,,A*64 $PORZD,A,022.9*35 $GPGSV,3,1,11,02,13,248,,03,11,066,,07,76,087,35,13,48,101,51*73 $GPGSV,3,2,11,23,12,106,45,25,56,069,38,27,84,110,31,33,17,229,*78 $GPGSV,3,3,11,37,28,187,,39,28,183,,44,20,137,*44 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":13,"az":248,"ss":0,"used":false},{"PRN":3,"el":11,"az":66,"ss":0,"used":false},{"PRN":7,"el":76,"az":87,"ss":35,"used":true},{"PRN":13,"el":48,"az":101,"ss":51,"used":true},{"PRN":23,"el":12,"az":106,"ss":45,"used":true},{"PRN":25,"el":56,"az":69,"ss":38,"used":true},{"PRN":27,"el":84,"az":110,"ss":31,"used":false},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.7*0E $GPGGA,123450.000,5356.21454,N,02734.85939,E,1,04,07.2,251.9,M,26.0,M,,*68 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:50.000Z","ept":0.005,"lat":53.936909000,"lon":27.580989833,"alt":251.900,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123451.000,A,5356.21452,N,02734.85936,E,00.00,252.7,290508,,,A*6C $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.6*0F $GPGGA,123451.000,5356.21456,N,02734.85939,E,1,04,07.2,251.9,M,26.0,M,,*6B {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:51.000Z","ept":0.005,"lat":53.936909333,"lon":27.580989833,"alt":251.900,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123452.000,A,5356.21451,N,02734.85935,E,00.00,252.7,290508,,,A*6F $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.6*0F $GPGGA,123452.000,5356.21456,N,02734.85938,E,1,04,07.2,251.9,M,26.0,M,,*69 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:52.000Z","ept":0.005,"lat":53.936909333,"lon":27.580989667,"alt":251.900,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123453.000,A,5356.21453,N,02734.85933,E,00.00,252.7,290508,,,A*6A $PORZD,A,022.8*34 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.6*0F $GPGGA,123453.000,5356.21458,N,02734.85934,E,1,04,07.2,251.8,M,26.0,M,,*6B {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:53.000Z","ept":0.005,"lat":53.936909667,"lon":27.580989000,"alt":251.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123454.000,A,5356.21455,N,02734.85930,E,00.00,252.7,290508,,,A*68 $PORZD,A,022.8*34 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.6*0F $GPGGA,123454.000,5356.21459,N,02734.85931,E,1,04,07.2,251.7,M,26.0,M,,*67 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:54.000Z","ept":0.005,"lat":53.936909833,"lon":27.580988500,"alt":251.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123455.000,A,5356.21455,N,02734.85927,E,00.00,252.7,290508,,,A*6F $PORZD,A,022.8*34 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.6*0F $GPGGA,123455.000,5356.21461,N,02734.85930,E,1,04,07.2,251.6,M,26.0,M,,*6D {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:55.000Z","ept":0.005,"lat":53.936910167,"lon":27.580988333,"alt":251.600,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123456.000,A,5356.21458,N,02734.85926,E,00.00,252.7,290508,,,A*60 $PORZD,A,022.8*34 $GPGSV,3,1,11,02,13,247,,03,11,065,18,07,76,087,37,13,48,101,51*74 $GPGSV,3,2,11,23,12,106,45,25,55,069,38,27,83,108,32,33,17,229,*76 $GPGSV,3,3,11,37,28,187,,39,28,183,,44,20,137,*44 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":13,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":18,"used":false},{"PRN":7,"el":76,"az":87,"ss":37,"used":true},{"PRN":13,"el":48,"az":101,"ss":51,"used":true},{"PRN":23,"el":12,"az":106,"ss":45,"used":true},{"PRN":25,"el":55,"az":69,"ss":38,"used":true},{"PRN":27,"el":83,"az":108,"ss":32,"used":false},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.6*0F $GPGGA,123456.000,5356.21463,N,02734.85930,E,1,04,07.2,251.6,M,26.0,M,,*6C {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:56.000Z","ept":0.005,"lat":53.936910500,"lon":27.580988333,"alt":251.600,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123457.000,A,5356.21458,N,02734.85925,E,00.00,252.7,290508,,,A*62 $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.6*0F $GPGGA,123457.000,5356.21464,N,02734.85931,E,1,04,07.2,251.5,M,26.0,M,,*68 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:57.000Z","ept":0.005,"lat":53.936910667,"lon":27.580988500,"alt":251.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123458.000,A,5356.21463,N,02734.85930,E,00.00,252.7,290508,,,A*61 $PORZD,A,022.9*35 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.6*0F $GPGGA,123458.000,5356.21469,N,02734.85938,E,1,04,07.2,251.5,M,26.0,M,,*63 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:58.000Z","ept":0.005,"lat":53.936911500,"lon":27.580989667,"alt":251.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123459.000,A,5356.21465,N,02734.85933,E,00.00,252.7,290508,,,A*65 $PORZD,A,022.8*34 $GPGSA,A,3,23,13,07,25,,,,,,,,,,,,,,,,,,,,,09.1,07.2,05.6*0F $GPGGA,123459.000,5356.21596,N,02734.86645,E,1,05,06.0,255.7,M,26.0,M,,*61 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:34:59.000Z","ept":0.005,"lat":53.936932667,"lon":27.581107500,"alt":255.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123500.000,A,5356.21592,N,02734.86643,E,00.00,252.7,290508,,,A*6A $PORZD,A,021.5*3A $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123500.000,5356.21592,N,02734.86641,E,1,05,06.0,255.7,M,26.0,M,,*6C {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:00.000Z","ept":0.005,"lat":53.936932000,"lon":27.581106833,"alt":255.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123501.000,A,5356.21589,N,02734.86639,E,00.00,252.7,290508,,,A*6C $PORZD,A,021.5*3A $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123501.000,5356.21589,N,02734.86638,E,1,05,06.0,255.8,M,26.0,M,,*66 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:01.000Z","ept":0.005,"lat":53.936931500,"lon":27.581106333,"alt":255.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123502.000,A,5356.21587,N,02734.86636,E,00.00,252.7,290508,,,A*6E $PORZD,A,021.4*3B $GPGSV,3,1,11,02,13,247,,03,11,065,18,07,76,087,36,13,48,101,50*74 $GPGSV,3,2,11,23,12,106,46,25,55,069,38,27,83,108,31,33,17,229,*76 $GPGSV,3,3,11,37,28,187,,39,28,183,,44,20,137,*44 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":13,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":18,"used":false},{"PRN":7,"el":76,"az":87,"ss":36,"used":true},{"PRN":13,"el":48,"az":101,"ss":50,"used":true},{"PRN":23,"el":12,"az":106,"ss":46,"used":true},{"PRN":25,"el":55,"az":69,"ss":38,"used":true},{"PRN":27,"el":83,"az":108,"ss":31,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123502.000,5356.21588,N,02734.86634,E,1,05,06.0,255.8,M,26.0,M,,*68 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:02.000Z","ept":0.005,"lat":53.936931333,"lon":27.581105667,"alt":255.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123503.000,A,5356.21585,N,02734.86631,E,00.00,252.7,290508,,,A*6A $PORZD,A,021.4*3B $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123503.000,5356.21577,N,02734.86569,E,1,05,06.0,255.4,M,26.0,M,,*6E {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:03.000Z","ept":0.005,"lat":53.936929500,"lon":27.581094833,"alt":255.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123504.000,A,5356.21573,N,02734.86567,E,00.00,252.7,290508,,,A*64 $PORZD,A,022.2*3E $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123504.000,5356.21576,N,02734.86571,E,1,05,06.0,255.4,M,26.0,M,,*61 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:04.000Z","ept":0.005,"lat":53.936929333,"lon":27.581095167,"alt":255.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123505.000,A,5356.21575,N,02734.86568,E,00.00,252.7,290508,,,A*6C $PORZD,A,021.4*3B $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123505.000,5356.21576,N,02734.86569,E,1,05,06.0,255.5,M,26.0,M,,*68 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:05.000Z","ept":0.005,"lat":53.936929333,"lon":27.581094833,"alt":255.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123506.000,A,5356.21571,N,02734.86567,E,00.00,252.7,290508,,,A*64 $PORZD,A,021.4*3B $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123506.000,5356.21566,N,02734.86512,E,1,05,06.0,255.1,M,26.0,M,,*62 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:06.000Z","ept":0.005,"lat":53.936927667,"lon":27.581085333,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123507.000,A,5356.21562,N,02734.86508,E,00.00,252.7,290508,,,A*6E $PORZD,A,022.2*3E $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123507.000,5356.21566,N,02734.86514,E,1,05,06.0,255.1,M,26.0,M,,*65 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:07.000Z","ept":0.005,"lat":53.936927667,"lon":27.581085667,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123508.000,A,5356.21564,N,02734.86514,E,00.00,252.7,290508,,,A*6A $PORZD,A,021.4*3B $GPGSV,3,1,11,02,13,247,,03,11,065,,07,76,087,36,13,48,101,51*7C $GPGSV,3,2,11,23,12,106,45,25,55,069,38,27,83,108,31,33,17,229,*75 $GPGSV,3,3,11,37,28,187,,39,28,183,,44,20,137,*44 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":13,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":7,"el":76,"az":87,"ss":36,"used":true},{"PRN":13,"el":48,"az":101,"ss":51,"used":true},{"PRN":23,"el":12,"az":106,"ss":45,"used":true},{"PRN":25,"el":55,"az":69,"ss":38,"used":true},{"PRN":27,"el":83,"az":108,"ss":31,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123508.000,5356.21568,N,02734.86517,E,1,05,06.0,255.2,M,26.0,M,,*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:08.000Z","ept":0.005,"lat":53.936928000,"lon":27.581086167,"alt":255.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123509.000,A,5356.21565,N,02734.86514,E,00.00,252.7,290508,,,A*6A $PORZD,A,021.4*3B $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123509.000,5356.21569,N,02734.86517,E,1,05,06.0,255.1,M,26.0,M,,*67 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:09.000Z","ept":0.005,"lat":53.936928167,"lon":27.581086167,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123510.000,A,5356.21566,N,02734.86516,E,00.00,252.7,290508,,,A*63 $PORZD,A,021.4*3B $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123510.000,5356.21569,N,02734.86520,E,1,05,06.0,255.2,M,26.0,M,,*68 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:10.000Z","ept":0.005,"lat":53.936928167,"lon":27.581086667,"alt":255.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123511.000,A,5356.21565,N,02734.86519,E,00.00,252.7,290508,,,A*6E $PORZD,A,021.4*3B $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123511.000,5356.21561,N,02734.86474,E,1,05,06.0,254.9,M,26.0,M,,*6B {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:11.000Z","ept":0.005,"lat":53.936926833,"lon":27.581079000,"alt":254.900,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123512.000,A,5356.21558,N,02734.86470,E,00.00,252.7,290508,,,A*6D $PORZD,A,022.2*3E $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123512.000,5356.21561,N,02734.86478,E,1,05,06.0,254.9,M,26.0,M,,*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:12.000Z","ept":0.005,"lat":53.936926833,"lon":27.581079667,"alt":254.900,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123513.000,A,5356.21557,N,02734.86477,E,00.00,252.7,290508,,,A*64 $PORZD,A,021.4*3B $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123513.000,5356.21553,N,02734.86441,E,1,05,06.0,254.7,M,26.0,M,,*60 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:13.000Z","ept":0.005,"lat":53.936925500,"lon":27.581073500,"alt":254.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123514.000,A,5356.21551,N,02734.86438,E,00.00,252.7,290508,,,A*6E $PORZD,A,022.3*3F $GPGSV,3,1,11,02,13,247,,03,11,065,,07,76,087,37,13,48,101,51*7D $GPGSV,3,2,11,23,12,106,46,25,55,069,38,27,83,108,30,33,17,229,*77 $GPGSV,3,3,11,37,28,187,,39,28,183,,44,20,137,*44 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":13,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":7,"el":76,"az":87,"ss":37,"used":true},{"PRN":13,"el":48,"az":101,"ss":51,"used":true},{"PRN":23,"el":12,"az":106,"ss":46,"used":true},{"PRN":25,"el":55,"az":69,"ss":38,"used":true},{"PRN":27,"el":83,"az":108,"ss":30,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123514.000,5356.21548,N,02734.86407,E,1,05,06.0,254.4,M,26.0,M,,*6C {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:14.000Z","ept":0.005,"lat":53.936924667,"lon":27.581067833,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123515.000,A,5356.21544,N,02734.86403,E,00.00,252.7,290508,,,A*63 $PORZD,A,022.4*38 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123515.000,5356.21549,N,02734.86418,E,1,05,06.0,254.5,M,26.0,M,,*63 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:15.000Z","ept":0.005,"lat":53.936924833,"lon":27.581069667,"alt":254.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123516.000,A,5356.21546,N,02734.86416,E,00.00,252.7,290508,,,A*66 $PORZD,A,021.6*39 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123516.000,5356.21543,N,02734.86390,E,1,05,06.0,254.3,M,26.0,M,,*6B {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:16.000Z","ept":0.005,"lat":53.936923833,"lon":27.581065000,"alt":254.300,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123517.000,A,5356.21540,N,02734.86387,E,00.00,252.7,290508,,,A*6E $PORZD,A,022.5*39 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123517.000,5356.21539,N,02734.86365,E,1,05,06.0,254.2,M,26.0,M,,*6C {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:17.000Z","ept":0.005,"lat":53.936923167,"lon":27.581060833,"alt":254.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123518.000,A,5356.21536,N,02734.86362,E,00.00,252.7,290508,,,A*6B $PORZD,A,022.5*39 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123518.000,5356.21540,N,02734.86384,E,1,05,06.0,254.3,M,26.0,M,,*63 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:18.000Z","ept":0.005,"lat":53.936923333,"lon":27.581064000,"alt":254.300,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123519.000,A,5356.21536,N,02734.86384,E,00.00,252.7,290508,,,A*62 $PORZD,A,021.6*39 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123519.000,5356.21534,N,02734.86366,E,1,05,06.0,254.2,M,26.0,M,,*6C {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:19.000Z","ept":0.005,"lat":53.936922333,"lon":27.581061000,"alt":254.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123520.000,A,5356.21532,N,02734.86362,E,00.00,252.7,290508,,,A*64 $PORZD,A,022.5*39 $GPGSV,3,1,11,02,13,247,,03,11,065,,07,76,087,36,13,48,101,50*7D $GPGSV,3,2,11,23,12,106,47,25,55,069,39,27,83,108,31,33,17,229,*76 $GPGSV,3,3,11,37,28,187,,39,28,183,,44,20,137,*44 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":13,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":7,"el":76,"az":87,"ss":36,"used":true},{"PRN":13,"el":48,"az":101,"ss":50,"used":true},{"PRN":23,"el":12,"az":106,"ss":47,"used":true},{"PRN":25,"el":55,"az":69,"ss":39,"used":true},{"PRN":27,"el":83,"az":108,"ss":31,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123520.000,5356.21536,N,02734.86384,E,1,05,06.0,254.3,M,26.0,M,,*69 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:20.000Z","ept":0.005,"lat":53.936922667,"lon":27.581064000,"alt":254.300,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123521.000,A,5356.21532,N,02734.86385,E,00.00,252.7,290508,,,A*6C $PORZD,A,021.6*39 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,06.0,05.2*0B $GPGGA,123521.000,5356.21534,N,02734.86399,E,1,05,05.9,254.5,M,26.0,M,,*6A {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:21.000Z","ept":0.005,"lat":53.936922333,"lon":27.581066500,"alt":254.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123522.000,A,5356.21532,N,02734.86395,E,00.00,252.7,290508,,,A*6E $PORZD,A,021.6*39 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,05.9,05.2*01 $GPGGA,123522.000,5356.21532,N,02734.86407,E,1,05,05.9,254.6,M,26.0,M,,*6C {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:22.000Z","ept":0.005,"lat":53.936922000,"lon":27.581067833,"alt":254.600,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123523.000,A,5356.21529,N,02734.86407,E,00.00,252.7,290508,,,A*69 $PORZD,A,021.5*3A $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,05.9,05.2*01 $GPGGA,123523.000,5356.21524,N,02734.86380,E,1,05,05.9,254.4,M,26.0,M,,*60 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:23.000Z","ept":0.005,"lat":53.936920667,"lon":27.581063333,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123524.000,A,5356.21521,N,02734.86378,E,00.00,252.7,290508,,,A*69 $PORZD,A,022.5*39 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,05.9,05.1*02 $GPGGA,123524.000,5356.21520,N,02734.86384,E,1,05,05.9,254.4,M,26.0,M,,*67 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:24.000Z","ept":0.005,"lat":53.936920000,"lon":27.581064000,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123525.000,A,5356.21516,N,02734.86382,E,00.00,252.7,290508,,,A*69 $PORZD,A,021.6*39 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,05.9,05.1*02 $GPGGA,123525.000,5356.21516,N,02734.86385,E,1,05,05.9,254.4,M,26.0,M,,*62 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:25.000Z","ept":0.005,"lat":53.936919333,"lon":27.581064167,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123526.000,A,5356.21514,N,02734.86386,E,00.00,252.7,290508,,,A*6C $PORZD,A,021.6*39 $GPGSV,3,1,12,02,12,247,,03,11,065,,07,76,086,37,13,48,101,51*7E $GPGSV,3,2,12,23,12,106,45,25,55,069,38,27,83,107,30,28,05,181,40*74 $GPGSV,3,3,12,33,17,229,,37,28,187,,39,28,183,,44,20,137,*78 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":7,"el":76,"az":86,"ss":37,"used":true},{"PRN":13,"el":48,"az":101,"ss":51,"used":true},{"PRN":23,"el":12,"az":106,"ss":45,"used":true},{"PRN":25,"el":55,"az":69,"ss":38,"used":true},{"PRN":27,"el":83,"az":107,"ss":30,"used":true},{"PRN":28,"el":5,"az":181,"ss":40,"used":false},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,05.9,05.1*02 $GPGGA,123526.000,5356.21510,N,02734.86359,E,1,05,05.9,254.3,M,26.0,M,,*61 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:26.000Z","ept":0.005,"lat":53.936918333,"lon":27.581059833,"alt":254.300,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123527.000,A,5356.21507,N,02734.86356,E,00.00,252.7,290508,,,A*62 $PORZD,A,022.5*39 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,05.9,05.1*02 $GPGGA,123527.000,5356.21503,N,02734.86331,E,1,05,05.9,254.1,M,26.0,M,,*6E {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:27.000Z","ept":0.005,"lat":53.936917167,"lon":27.581055167,"alt":254.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123528.000,A,5356.21500,N,02734.86330,E,00.00,252.7,290508,,,A*6A $PORZD,A,022.5*39 $GPGSA,A,3,27,23,13,07,25,,,,,,,,,,,,,,,,,,,,07.9,05.9,05.1*02 $GPGGA,123528.000,5356.21500,N,02734.86332,E,1,06,04.9,254.2,M,26.0,M,,*60 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:28.000Z","ept":0.005,"lat":53.936916667,"lon":27.581055333,"alt":254.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123529.000,A,5356.21497,N,02734.86332,E,00.00,252.7,290508,,,A*66 $PORZD,A,018.0*35 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123529.000,5356.21498,N,02734.86331,E,1,06,04.9,254.2,M,26.0,M,,*62 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:29.000Z","ept":0.005,"lat":53.936916333,"lon":27.581055167,"alt":254.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123530.000,A,5356.21496,N,02734.86329,E,00.00,252.7,290508,,,A*65 $PORZD,A,017.4*3E $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123530.000,5356.21496,N,02734.86329,E,1,06,04.9,254.2,M,26.0,M,,*6D {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:30.000Z","ept":0.005,"lat":53.936916000,"lon":27.581054833,"alt":254.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123531.000,A,5356.21494,N,02734.86327,E,00.00,252.7,290508,,,A*68 $PORZD,A,017.0*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123531.000,5356.21498,N,02734.86346,E,1,06,04.9,254.2,M,26.0,M,,*6B {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:31.000Z","ept":0.005,"lat":53.936916333,"lon":27.581057667,"alt":254.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123532.000,A,5356.21496,N,02734.86347,E,00.00,252.7,290508,,,A*6F $PORZD,A,016.6*3D $GPGSV,3,1,12,02,12,247,,03,11,065,,07,76,086,36,13,48,101,51*7F $GPGSV,3,2,12,23,12,106,45,25,55,069,38,27,83,107,29,28,05,181,44*78 $GPGSV,3,3,12,33,17,229,,37,28,187,,39,28,183,,44,20,137,*78 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":7,"el":76,"az":86,"ss":36,"used":true},{"PRN":13,"el":48,"az":101,"ss":51,"used":true},{"PRN":23,"el":12,"az":106,"ss":45,"used":true},{"PRN":25,"el":55,"az":69,"ss":38,"used":true},{"PRN":27,"el":83,"az":107,"ss":29,"used":true},{"PRN":28,"el":5,"az":181,"ss":44,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123532.000,5356.21499,N,02734.86359,E,1,06,04.9,254.2,M,26.0,M,,*67 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:32.000Z","ept":0.005,"lat":53.936916500,"lon":27.581059833,"alt":254.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123533.000,A,5356.21497,N,02734.86358,E,00.00,252.7,290508,,,A*61 $PORZD,A,016.5*3E $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123533.000,5356.21499,N,02734.86368,E,1,06,04.9,254.2,M,26.0,M,,*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:33.000Z","ept":0.005,"lat":53.936916500,"lon":27.581061333,"alt":254.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123534.000,A,5356.21497,N,02734.86369,E,00.00,252.7,290508,,,A*64 $PORZD,A,016.5*3E $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123534.000,5356.21499,N,02734.86376,E,1,06,04.9,254.2,M,26.0,M,,*6C {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:34.000Z","ept":0.005,"lat":53.936916500,"lon":27.581062667,"alt":254.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123535.000,A,5356.21497,N,02734.86375,E,00.00,252.7,290508,,,A*68 $PORZD,A,016.4*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123535.000,5356.21499,N,02734.86381,E,1,06,04.9,254.2,M,26.0,M,,*65 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:35.000Z","ept":0.005,"lat":53.936916500,"lon":27.581063500,"alt":254.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123536.000,A,5356.21495,N,02734.86381,E,00.00,252.7,290508,,,A*62 $PORZD,A,016.3*38 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123536.000,5356.21498,N,02734.86385,E,1,06,04.9,254.3,M,26.0,M,,*62 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:36.000Z","ept":0.005,"lat":53.936916333,"lon":27.581064167,"alt":254.300,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123537.000,A,5356.21496,N,02734.86386,E,00.00,252.7,290508,,,A*67 $PORZD,A,016.3*38 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123537.000,5356.21498,N,02734.86387,E,1,06,04.9,254.3,M,26.0,M,,*61 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:37.000Z","ept":0.005,"lat":53.936916333,"lon":27.581064500,"alt":254.300,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123538.000,A,5356.21497,N,02734.86386,E,00.00,252.7,290508,,,A*69 $PORZD,A,016.2*39 $GPGSV,3,1,12,02,12,247,,03,11,065,,07,76,086,36,13,48,101,50*7E $GPGSV,3,2,12,23,12,106,46,25,55,069,38,27,83,107,29,28,05,181,45*7A $GPGSV,3,3,12,33,17,229,,37,28,187,,39,28,183,,44,20,137,*78 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":7,"el":76,"az":86,"ss":36,"used":true},{"PRN":13,"el":48,"az":101,"ss":50,"used":true},{"PRN":23,"el":12,"az":106,"ss":46,"used":true},{"PRN":25,"el":55,"az":69,"ss":38,"used":true},{"PRN":27,"el":83,"az":107,"ss":29,"used":true},{"PRN":28,"el":5,"az":181,"ss":45,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123538.000,5356.21499,N,02734.86387,E,1,06,04.9,254.3,M,26.0,M,,*6F {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:38.000Z","ept":0.005,"lat":53.936916500,"lon":27.581064500,"alt":254.300,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123539.000,A,5356.21496,N,02734.86387,E,00.00,252.7,290508,,,A*68 $PORZD,A,016.2*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123539.000,5356.21499,N,02734.86387,E,1,06,04.9,254.3,M,26.0,M,,*6E {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:39.000Z","ept":0.005,"lat":53.936916500,"lon":27.581064500,"alt":254.300,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123540.000,A,5356.21497,N,02734.86387,E,00.00,252.7,290508,,,A*67 $PORZD,A,016.1*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123540.000,5356.21500,N,02734.86385,E,1,06,04.9,254.3,M,26.0,M,,*63 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:40.000Z","ept":0.005,"lat":53.936916667,"lon":27.581064167,"alt":254.300,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123541.000,A,5356.21498,N,02734.86385,E,00.00,252.7,290508,,,A*6B $PORZD,A,016.1*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123541.000,5356.21499,N,02734.86371,E,1,06,04.9,254.4,M,26.0,M,,*6F {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:41.000Z","ept":0.005,"lat":53.936916500,"lon":27.581061833,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123542.000,A,5356.21496,N,02734.86371,E,00.00,252.7,290508,,,A*6D $PORZD,A,016.3*38 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123542.000,5356.21499,N,02734.86359,E,1,06,04.9,254.4,M,26.0,M,,*66 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:42.000Z","ept":0.005,"lat":53.936916500,"lon":27.581059833,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123543.000,A,5356.21495,N,02734.86360,E,00.00,252.7,290508,,,A*6F $PORZD,A,016.2*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.4,04.9,04.1*04 $GPGGA,123543.000,5356.21499,N,02734.86349,E,1,06,04.9,254.4,M,26.0,M,,*66 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:43.000Z","ept":0.005,"lat":53.936916500,"lon":27.581058167,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123544.000,A,5356.21498,N,02734.86347,E,00.00,252.7,290508,,,A*60 $PORZD,A,016.2*39 $GPGSV,3,1,12,02,12,247,,03,11,065,,07,76,086,35,13,48,101,50*7D $GPGSV,3,2,12,23,12,106,46,25,55,069,38,27,83,107,29,28,05,181,45*7A $GPGSV,3,3,12,33,17,229,,37,28,187,,39,28,183,,44,20,137,*78 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":7,"el":76,"az":86,"ss":35,"used":true},{"PRN":13,"el":48,"az":101,"ss":50,"used":true},{"PRN":23,"el":12,"az":106,"ss":46,"used":true},{"PRN":25,"el":55,"az":69,"ss":38,"used":true},{"PRN":27,"el":83,"az":107,"ss":29,"used":true},{"PRN":28,"el":5,"az":181,"ss":45,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.9,04.1*03 $GPGGA,123544.000,5356.21501,N,02734.86338,E,1,06,04.9,254.4,M,26.0,M,,*67 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:44.000Z","ept":0.005,"lat":53.936916833,"lon":27.581056333,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123545.000,A,5356.21498,N,02734.86336,E,00.00,252.7,290508,,,A*67 $PORZD,A,016.1*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.9,04.1*03 $GPGGA,123545.000,5356.21502,N,02734.86328,E,1,06,04.8,254.4,M,26.0,M,,*65 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:45.000Z","ept":0.005,"lat":53.936917000,"lon":27.581054667,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123546.000,A,5356.21499,N,02734.86329,E,00.00,252.7,290508,,,A*6B $PORZD,A,016.1*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123546.000,5356.21502,N,02734.86322,E,1,06,04.8,254.4,M,26.0,M,,*6C {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:46.000Z","ept":0.005,"lat":53.936917000,"lon":27.581053667,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123547.000,A,5356.21499,N,02734.86322,E,00.00,252.7,290508,,,A*61 $PORZD,A,016.1*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123547.000,5356.21503,N,02734.86315,E,1,06,04.8,254.3,M,26.0,M,,*6F {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:47.000Z","ept":0.005,"lat":53.936917167,"lon":27.581052500,"alt":254.300,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123548.000,A,5356.21500,N,02734.86314,E,00.00,252.7,290508,,,A*6A $PORZD,A,016.0*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123548.000,5356.21502,N,02734.86310,E,1,06,04.8,254.4,M,26.0,M,,*63 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:48.000Z","ept":0.005,"lat":53.936917000,"lon":27.581051667,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123549.000,A,5356.21498,N,02734.86310,E,00.00,252.7,290508,,,A*6F $PORZD,A,016.0*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123549.000,5356.21503,N,02734.86304,E,1,06,04.8,254.4,M,26.0,M,,*66 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:49.000Z","ept":0.005,"lat":53.936917167,"lon":27.581050667,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123550.000,A,5356.21500,N,02734.86304,E,00.00,252.7,290508,,,A*62 $PORZD,A,016.0*3B $GPGSV,3,1,12,02,12,247,,03,11,065,,07,76,086,35,13,48,101,50*7D $GPGSV,3,2,12,23,12,106,46,25,55,069,38,27,83,107,28,28,05,181,45*7B $GPGSV,3,3,12,33,17,229,,37,28,187,,39,28,183,,44,20,137,*78 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":7,"el":76,"az":86,"ss":35,"used":true},{"PRN":13,"el":48,"az":101,"ss":50,"used":true},{"PRN":23,"el":12,"az":106,"ss":46,"used":true},{"PRN":25,"el":55,"az":69,"ss":38,"used":true},{"PRN":27,"el":83,"az":107,"ss":28,"used":true},{"PRN":28,"el":5,"az":181,"ss":45,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123550.000,5356.21503,N,02734.86299,E,1,06,04.8,254.4,M,26.0,M,,*6B {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:50.000Z","ept":0.005,"lat":53.936917167,"lon":27.581049833,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123551.000,A,5356.21500,N,02734.86299,E,00.00,252.7,290508,,,A*66 $PORZD,A,016.0*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123551.000,5356.21504,N,02734.86294,E,1,06,04.8,254.3,M,26.0,M,,*67 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:51.000Z","ept":0.005,"lat":53.936917333,"lon":27.581049000,"alt":254.300,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123552.000,A,5356.21501,N,02734.86294,E,00.00,252.7,290508,,,A*69 $PORZD,A,016.0*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123552.000,5356.21504,N,02734.86291,E,1,06,04.8,254.4,M,26.0,M,,*66 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:52.000Z","ept":0.005,"lat":53.936917333,"lon":27.581048500,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123553.000,A,5356.21500,N,02734.86291,E,00.00,252.7,290508,,,A*6C $PORZD,A,016.0*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123553.000,5356.21505,N,02734.86296,E,1,06,04.8,254.4,M,26.0,M,,*61 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:53.000Z","ept":0.005,"lat":53.936917500,"lon":27.581049333,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123554.000,A,5356.21503,N,02734.86296,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.9*31 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123554.000,5356.21506,N,02734.86301,E,1,06,04.8,254.4,M,26.0,M,,*6A {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:54.000Z","ept":0.005,"lat":53.936917667,"lon":27.581050167,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123555.000,A,5356.21504,N,02734.86300,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.9*31 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123555.000,5356.21507,N,02734.86304,E,1,06,04.8,254.5,M,26.0,M,,*6E {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:55.000Z","ept":0.005,"lat":53.936917833,"lon":27.581050667,"alt":254.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123556.000,A,5356.21504,N,02734.86303,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.9*31 $GPGSV,4,1,13,02,12,247,,03,11,065,,06,10,045,,07,76,086,36*75 $GPGSV,4,2,13,13,47,102,50,23,12,106,46,25,55,069,38,27,83,105,30*77 $GPGSV,4,3,13,28,05,181,45,33,17,229,,37,28,187,,39,28,183,*7F $GPGSV,4,4,13,44,20,137,*4C {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":6,"el":10,"az":45,"ss":0,"used":false},{"PRN":7,"el":76,"az":86,"ss":36,"used":true},{"PRN":13,"el":47,"az":102,"ss":50,"used":true},{"PRN":23,"el":12,"az":106,"ss":46,"used":true},{"PRN":25,"el":55,"az":69,"ss":38,"used":true},{"PRN":27,"el":83,"az":105,"ss":30,"used":true},{"PRN":28,"el":5,"az":181,"ss":45,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123556.000,5356.21507,N,02734.86306,E,1,06,04.8,254.5,M,26.0,M,,*6F {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:56.000Z","ept":0.005,"lat":53.936917833,"lon":27.581051000,"alt":254.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123557.000,A,5356.21505,N,02734.86306,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.9*31 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123557.000,5356.21508,N,02734.86307,E,1,06,04.8,254.5,M,26.0,M,,*60 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:57.000Z","ept":0.005,"lat":53.936918000,"lon":27.581051167,"alt":254.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123558.000,A,5356.21505,N,02734.86306,E,00.00,252.7,290508,,,A*6D $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123558.000,5356.21508,N,02734.86308,E,1,06,04.8,254.5,M,26.0,M,,*60 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:58.000Z","ept":0.005,"lat":53.936918000,"lon":27.581051333,"alt":254.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123559.000,A,5356.21505,N,02734.86309,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123559.000,5356.21508,N,02734.86309,E,1,06,04.8,254.5,M,26.0,M,,*60 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:35:59.000Z","ept":0.005,"lat":53.936918000,"lon":27.581051500,"alt":254.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123600.000,A,5356.21505,N,02734.86309,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123600.000,5356.21508,N,02734.86309,E,1,06,04.8,254.5,M,26.0,M,,*6F {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:00.000Z","ept":0.005,"lat":53.936918000,"lon":27.581051500,"alt":254.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123601.000,A,5356.21506,N,02734.86309,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123601.000,5356.21509,N,02734.86307,E,1,06,04.8,254.5,M,26.0,M,,*61 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:01.000Z","ept":0.005,"lat":53.936918167,"lon":27.581051167,"alt":254.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123602.000,A,5356.21506,N,02734.86307,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.8*30 $GPGSV,4,1,13,02,12,247,,03,11,065,,06,10,045,,07,76,086,34*77 $GPGSV,4,2,13,13,47,102,51,23,12,106,45,25,55,069,38,27,83,105,30*75 $GPGSV,4,3,13,28,05,181,45,33,17,229,,37,28,187,,39,28,183,*7F $GPGSV,4,4,13,44,20,137,*4C {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":6,"el":10,"az":45,"ss":0,"used":false},{"PRN":7,"el":76,"az":86,"ss":34,"used":true},{"PRN":13,"el":47,"az":102,"ss":51,"used":true},{"PRN":23,"el":12,"az":106,"ss":45,"used":true},{"PRN":25,"el":55,"az":69,"ss":38,"used":true},{"PRN":27,"el":83,"az":105,"ss":30,"used":true},{"PRN":28,"el":5,"az":181,"ss":45,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123602.000,5356.21508,N,02734.86308,E,1,06,04.8,254.5,M,26.0,M,,*6C {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:02.000Z","ept":0.005,"lat":53.936918000,"lon":27.581051333,"alt":254.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123603.000,A,5356.21503,N,02734.86309,E,00.00,252.7,290508,,,A*69 $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123603.000,5356.21507,N,02734.86308,E,1,06,04.8,254.6,M,26.0,M,,*61 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:03.000Z","ept":0.005,"lat":53.936917833,"lon":27.581051333,"alt":254.600,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123604.000,A,5356.21504,N,02734.86308,E,00.00,252.7,290508,,,A*68 $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.1*02 $GPGGA,123604.000,5356.21508,N,02734.86306,E,1,06,04.8,254.5,M,26.0,M,,*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:04.000Z","ept":0.005,"lat":53.936918000,"lon":27.581051000,"alt":254.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123605.000,A,5356.21506,N,02734.86306,E,00.00,252.7,290508,,,A*65 $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123605.000,5356.21508,N,02734.86304,E,1,06,04.8,254.5,M,26.0,M,,*67 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:05.000Z","ept":0.005,"lat":53.936918000,"lon":27.581050667,"alt":254.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123606.000,A,5356.21505,N,02734.86304,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123606.000,5356.21509,N,02734.86302,E,1,06,04.8,254.5,M,26.0,M,,*63 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:06.000Z","ept":0.005,"lat":53.936918167,"lon":27.581050333,"alt":254.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123607.000,A,5356.21506,N,02734.86302,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123607.000,5356.21508,N,02734.86301,E,1,06,04.8,254.5,M,26.0,M,,*60 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:07.000Z","ept":0.005,"lat":53.936918000,"lon":27.581050167,"alt":254.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123608.000,A,5356.21504,N,02734.86302,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.8*30 $GPGSV,4,1,13,02,12,247,,03,11,065,,06,10,045,,07,76,086,34*77 $GPGSV,4,2,13,13,47,102,51,23,12,106,45,25,55,069,38,27,83,105,30*75 $GPGSV,4,3,13,28,05,181,45,33,17,229,,37,28,187,,39,28,183,*7F $GPGSV,4,4,13,44,20,137,*4C {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":6,"el":10,"az":45,"ss":0,"used":false},{"PRN":7,"el":76,"az":86,"ss":34,"used":true},{"PRN":13,"el":47,"az":102,"ss":51,"used":true},{"PRN":23,"el":12,"az":106,"ss":45,"used":true},{"PRN":25,"el":55,"az":69,"ss":38,"used":true},{"PRN":27,"el":83,"az":105,"ss":30,"used":true},{"PRN":28,"el":5,"az":181,"ss":45,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123608.000,5356.21508,N,02734.86299,E,1,06,04.8,254.5,M,26.0,M,,*6F {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:08.000Z","ept":0.005,"lat":53.936918000,"lon":27.581049833,"alt":254.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123609.000,A,5356.21507,N,02734.86299,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123609.000,5356.21510,N,02734.86297,E,1,06,04.8,254.5,M,26.0,M,,*69 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:09.000Z","ept":0.005,"lat":53.936918333,"lon":27.581049500,"alt":254.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123610.000,A,5356.21507,N,02734.86298,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123610.000,5356.21512,N,02734.86295,E,1,06,04.8,254.5,M,26.0,M,,*61 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:10.000Z","ept":0.005,"lat":53.936918667,"lon":27.581049167,"alt":254.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123611.000,A,5356.21510,N,02734.86295,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.8*30 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123611.000,5356.21512,N,02734.86293,E,1,06,04.8,254.4,M,26.0,M,,*67 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:11.000Z","ept":0.005,"lat":53.936918667,"lon":27.581048833,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123612.000,A,5356.21508,N,02734.86295,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123612.000,5356.21512,N,02734.86291,E,1,06,04.8,254.4,M,26.0,M,,*66 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:12.000Z","ept":0.005,"lat":53.936918667,"lon":27.581048500,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123613.000,A,5356.21510,N,02734.86290,E,00.00,252.7,290508,,,A*6B $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123613.000,5356.21514,N,02734.86287,E,1,06,04.8,254.4,M,26.0,M,,*66 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:13.000Z","ept":0.005,"lat":53.936919000,"lon":27.581047833,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123614.000,A,5356.21512,N,02734.86287,E,00.00,252.7,290508,,,A*68 $PORZD,A,015.7*3F $GPGSV,4,1,13,02,12,247,20,03,11,065,,06,10,045,,07,76,086,34*75 $GPGSV,4,2,13,13,47,102,51,23,12,106,46,25,55,069,38,27,83,105,29*7E $GPGSV,4,3,13,28,05,181,45,33,17,229,,37,28,187,,39,28,183,*7F $GPGSV,4,4,13,44,20,137,*4C {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":20,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":6,"el":10,"az":45,"ss":0,"used":false},{"PRN":7,"el":76,"az":86,"ss":34,"used":true},{"PRN":13,"el":47,"az":102,"ss":51,"used":true},{"PRN":23,"el":12,"az":106,"ss":46,"used":true},{"PRN":25,"el":55,"az":69,"ss":38,"used":true},{"PRN":27,"el":83,"az":105,"ss":29,"used":true},{"PRN":28,"el":5,"az":181,"ss":45,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123614.000,5356.21515,N,02734.86283,E,1,06,04.8,254.4,M,26.0,M,,*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:14.000Z","ept":0.005,"lat":53.936919167,"lon":27.581047167,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123615.000,A,5356.21512,N,02734.86284,E,00.00,252.7,290508,,,A*6A $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123615.000,5356.21516,N,02734.86281,E,1,06,04.8,254.4,M,26.0,M,,*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:15.000Z","ept":0.005,"lat":53.936919333,"lon":27.581046833,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123616.000,A,5356.21513,N,02734.86280,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123616.000,5356.21517,N,02734.86276,E,1,06,04.8,254.4,M,26.0,M,,*6E {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:16.000Z","ept":0.005,"lat":53.936919500,"lon":27.581046000,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123617.000,A,5356.21515,N,02734.86276,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123617.000,5356.21518,N,02734.86271,E,1,06,04.8,254.4,M,26.0,M,,*67 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:17.000Z","ept":0.005,"lat":53.936919667,"lon":27.581045167,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123618.000,A,5356.21515,N,02734.86272,E,00.00,252.7,290508,,,A*69 $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123618.000,5356.21519,N,02734.86266,E,1,06,04.8,254.4,M,26.0,M,,*6F {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:18.000Z","ept":0.005,"lat":53.936919833,"lon":27.581044333,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123619.000,A,5356.21516,N,02734.86267,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123619.000,5356.21520,N,02734.86260,E,1,06,04.8,254.4,M,26.0,M,,*62 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:19.000Z","ept":0.005,"lat":53.936920000,"lon":27.581043333,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123620.000,A,5356.21518,N,02734.86259,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.7*3F $GPGSV,4,1,13,02,12,247,,03,11,065,,06,10,045,,07,76,086,34*77 $GPGSV,4,2,13,13,47,102,50,23,12,106,45,25,55,069,38,27,83,105,29*7C $GPGSV,4,3,13,28,05,181,45,33,17,229,,37,28,187,,39,28,183,*7F $GPGSV,4,4,13,44,20,137,*4C {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":6,"el":10,"az":45,"ss":0,"used":false},{"PRN":7,"el":76,"az":86,"ss":34,"used":true},{"PRN":13,"el":47,"az":102,"ss":50,"used":true},{"PRN":23,"el":12,"az":106,"ss":45,"used":true},{"PRN":25,"el":55,"az":69,"ss":38,"used":true},{"PRN":27,"el":83,"az":105,"ss":29,"used":true},{"PRN":28,"el":5,"az":181,"ss":45,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123620.000,5356.21521,N,02734.86254,E,1,06,04.8,254.4,M,26.0,M,,*6E {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:20.000Z","ept":0.005,"lat":53.936920167,"lon":27.581042333,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123621.000,A,5356.21519,N,02734.86254,E,00.00,252.7,290508,,,A*6B $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123621.000,5356.21523,N,02734.86248,E,1,06,04.8,254.4,M,26.0,M,,*60 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:21.000Z","ept":0.005,"lat":53.936920500,"lon":27.581041333,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123622.000,A,5356.21520,N,02734.86249,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123622.000,5356.21523,N,02734.86244,E,1,06,04.8,254.4,M,26.0,M,,*6F {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:22.000Z","ept":0.005,"lat":53.936920500,"lon":27.581040667,"alt":254.400,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123623.000,A,5356.21521,N,02734.86244,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.7*3F $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123623.000,5356.21525,N,02734.86241,E,1,06,04.8,254.5,M,26.0,M,,*6C {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:23.000Z","ept":0.005,"lat":53.936920833,"lon":27.581040167,"alt":254.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123624.000,A,5356.21522,N,02734.86242,E,00.00,252.7,290508,,,A*61 $PORZD,A,015.6*3E $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123624.000,5356.21526,N,02734.86245,E,1,06,04.8,254.5,M,26.0,M,,*6C {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:24.000Z","ept":0.005,"lat":53.936921000,"lon":27.581040833,"alt":254.500,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123625.000,A,5356.21523,N,02734.86246,E,00.00,252.7,290508,,,A*65 $PORZD,A,015.6*3E $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123625.000,5356.21527,N,02734.86242,E,1,06,04.8,254.6,M,26.0,M,,*68 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:25.000Z","ept":0.005,"lat":53.936921167,"lon":27.581040333,"alt":254.600,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123626.000,A,5356.21526,N,02734.86241,E,00.00,252.7,290508,,,A*64 $PORZD,A,015.6*3E $GPGSV,4,1,13,02,12,247,,03,11,065,,06,10,045,,07,76,085,35*75 $GPGSV,4,2,13,13,47,102,50,23,12,106,45,25,55,069,38,27,83,104,30*75 $GPGSV,4,3,13,28,05,181,46,33,17,229,,37,28,187,,39,28,183,*7C $GPGSV,4,4,13,44,20,137,*4C {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":6,"el":10,"az":45,"ss":0,"used":false},{"PRN":7,"el":76,"az":85,"ss":35,"used":true},{"PRN":13,"el":47,"az":102,"ss":50,"used":true},{"PRN":23,"el":12,"az":106,"ss":45,"used":true},{"PRN":25,"el":55,"az":69,"ss":38,"used":true},{"PRN":27,"el":83,"az":104,"ss":30,"used":true},{"PRN":28,"el":5,"az":181,"ss":46,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123626.000,5356.21529,N,02734.86243,E,1,06,04.8,254.6,M,26.0,M,,*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:26.000Z","ept":0.005,"lat":53.936921500,"lon":27.581040500,"alt":254.600,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123627.000,A,5356.21526,N,02734.86243,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.6*3E $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123627.000,5356.21529,N,02734.86247,E,1,06,04.8,254.6,M,26.0,M,,*61 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:27.000Z","ept":0.005,"lat":53.936921500,"lon":27.581041167,"alt":254.600,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123628.000,A,5356.21525,N,02734.86250,E,00.00,252.7,290508,,,A*69 $PORZD,A,015.6*3E $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123628.000,5356.21526,N,02734.86245,E,1,06,04.8,254.7,M,26.0,M,,*62 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:28.000Z","ept":0.005,"lat":53.936921000,"lon":27.581040833,"alt":254.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123629.000,A,5356.21524,N,02734.86244,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.6*3E $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123629.000,5356.21527,N,02734.86247,E,1,06,04.8,254.7,M,26.0,M,,*60 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:29.000Z","ept":0.005,"lat":53.936921167,"lon":27.581041167,"alt":254.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123630.000,A,5356.21524,N,02734.86249,E,00.00,252.7,290508,,,A*69 $PORZD,A,015.6*3E $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123630.000,5356.21525,N,02734.86244,E,1,06,04.8,254.8,M,26.0,M,,*66 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:30.000Z","ept":0.005,"lat":53.936920833,"lon":27.581040667,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123631.000,A,5356.21522,N,02734.86244,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.5*3D $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123631.000,5356.21524,N,02734.86240,E,1,06,04.8,254.8,M,26.0,M,,*62 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:31.000Z","ept":0.005,"lat":53.936920667,"lon":27.581040000,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123632.000,A,5356.21521,N,02734.86240,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.5*3D $GPGSV,4,1,13,02,12,247,,03,11,065,,06,10,045,,07,76,085,34*74 $GPGSV,4,2,13,13,47,102,51,23,12,106,46,25,55,069,39,27,83,104,31*77 $GPGSV,4,3,13,28,05,181,45,33,17,229,,37,28,187,,39,28,183,*7F $GPGSV,4,4,13,44,20,137,*4C {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":6,"el":10,"az":45,"ss":0,"used":false},{"PRN":7,"el":76,"az":85,"ss":34,"used":true},{"PRN":13,"el":47,"az":102,"ss":51,"used":true},{"PRN":23,"el":12,"az":106,"ss":46,"used":true},{"PRN":25,"el":55,"az":69,"ss":39,"used":true},{"PRN":27,"el":83,"az":104,"ss":31,"used":true},{"PRN":28,"el":5,"az":181,"ss":45,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123632.000,5356.21522,N,02734.86236,E,1,06,04.8,254.8,M,26.0,M,,*66 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:32.000Z","ept":0.005,"lat":53.936920333,"lon":27.581039333,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123633.000,A,5356.21519,N,02734.86238,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.5*3D $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123633.000,5356.21519,N,02734.86234,E,1,06,04.8,254.9,M,26.0,M,,*6C {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:33.000Z","ept":0.005,"lat":53.936919833,"lon":27.581039000,"alt":254.900,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123634.000,A,5356.21517,N,02734.86234,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.5*3D $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123634.000,5356.21516,N,02734.86231,E,1,06,04.8,255.0,M,26.0,M,,*69 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:34.000Z","ept":0.005,"lat":53.936919333,"lon":27.581038500,"alt":255.000,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123635.000,A,5356.21512,N,02734.86232,E,00.00,252.7,290508,,,A*65 $PORZD,A,015.5*3D $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123635.000,5356.21513,N,02734.86229,E,1,06,04.8,255.0,M,26.0,M,,*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:35.000Z","ept":0.005,"lat":53.936918833,"lon":27.581038167,"alt":255.000,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123636.000,A,5356.21510,N,02734.86229,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.5*3D $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123636.000,5356.21511,N,02734.86226,E,1,06,04.8,255.1,M,26.0,M,,*6B {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:36.000Z","ept":0.005,"lat":53.936918500,"lon":27.581037667,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123637.000,A,5356.21508,N,02734.86227,E,00.00,252.7,290508,,,A*68 $PORZD,A,015.5*3D $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123637.000,5356.21509,N,02734.86224,E,1,06,04.8,255.1,M,26.0,M,,*61 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:37.000Z","ept":0.005,"lat":53.936918167,"lon":27.581037333,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123638.000,A,5356.21507,N,02734.86225,E,00.00,252.7,290508,,,A*6A $PORZD,A,015.5*3D $GPGSV,4,1,13,02,12,247,,03,11,065,,06,10,045,,07,76,085,35*75 $GPGSV,4,2,13,13,47,102,50,23,12,106,46,25,55,069,38,27,83,104,31*77 $GPGSV,4,3,13,28,05,181,46,33,17,229,,37,28,187,,39,28,183,*7C $GPGSV,4,4,13,44,20,137,*4C {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":6,"el":10,"az":45,"ss":0,"used":false},{"PRN":7,"el":76,"az":85,"ss":35,"used":true},{"PRN":13,"el":47,"az":102,"ss":50,"used":true},{"PRN":23,"el":12,"az":106,"ss":46,"used":true},{"PRN":25,"el":55,"az":69,"ss":38,"used":true},{"PRN":27,"el":83,"az":104,"ss":31,"used":true},{"PRN":28,"el":5,"az":181,"ss":46,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123638.000,5356.21507,N,02734.86222,E,1,06,04.8,255.1,M,26.0,M,,*66 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:38.000Z","ept":0.005,"lat":53.936917833,"lon":27.581037000,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123639.000,A,5356.21504,N,02734.86223,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.5*3D $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123639.000,5356.21505,N,02734.86221,E,1,06,04.8,255.2,M,26.0,M,,*65 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:39.000Z","ept":0.005,"lat":53.936917500,"lon":27.581036833,"alt":255.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123640.000,A,5356.21502,N,02734.86221,E,00.00,252.7,290508,,,A*64 $PORZD,A,015.5*3D $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123640.000,5356.21504,N,02734.86219,E,1,06,04.8,255.2,M,26.0,M,,*61 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:40.000Z","ept":0.005,"lat":53.936917333,"lon":27.581036500,"alt":255.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123641.000,A,5356.21501,N,02734.86220,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123641.000,5356.21503,N,02734.86218,E,1,06,04.8,255.2,M,26.0,M,,*66 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:41.000Z","ept":0.005,"lat":53.936917167,"lon":27.581036333,"alt":255.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123642.000,A,5356.21500,N,02734.86219,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123642.000,5356.21502,N,02734.86217,E,1,06,04.8,255.2,M,26.0,M,,*6B {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:42.000Z","ept":0.005,"lat":53.936917000,"lon":27.581036167,"alt":255.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123643.000,A,5356.21499,N,02734.86217,E,00.00,252.7,290508,,,A*61 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123643.000,5356.21501,N,02734.86216,E,1,06,04.8,255.3,M,26.0,M,,*69 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:43.000Z","ept":0.005,"lat":53.936916833,"lon":27.581036000,"alt":255.300,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123644.000,A,5356.21498,N,02734.86216,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.4*3C $GPGSV,4,1,13,02,12,247,,03,11,065,,06,10,045,,07,76,085,35*75 $GPGSV,4,2,13,13,47,102,51,23,12,106,46,25,55,069,37,27,83,104,32*7A $GPGSV,4,3,13,28,05,181,46,33,17,229,,37,28,187,,39,28,183,*7C $GPGSV,4,4,13,44,20,137,*4C {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":6,"el":10,"az":45,"ss":0,"used":false},{"PRN":7,"el":76,"az":85,"ss":35,"used":true},{"PRN":13,"el":47,"az":102,"ss":51,"used":true},{"PRN":23,"el":12,"az":106,"ss":46,"used":true},{"PRN":25,"el":55,"az":69,"ss":37,"used":true},{"PRN":27,"el":83,"az":104,"ss":32,"used":true},{"PRN":28,"el":5,"az":181,"ss":46,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123644.000,5356.21502,N,02734.86215,E,1,06,04.8,255.2,M,26.0,M,,*6F {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:44.000Z","ept":0.005,"lat":53.936917000,"lon":27.581035833,"alt":255.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123645.000,A,5356.21500,N,02734.86213,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123645.000,5356.21503,N,02734.86213,E,1,06,04.8,255.2,M,26.0,M,,*69 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:45.000Z","ept":0.005,"lat":53.936917167,"lon":27.581035500,"alt":255.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123646.000,A,5356.21500,N,02734.86214,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123646.000,5356.21503,N,02734.86212,E,1,06,04.8,255.2,M,26.0,M,,*6B {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:46.000Z","ept":0.005,"lat":53.936917167,"lon":27.581035333,"alt":255.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123647.000,A,5356.21501,N,02734.86213,E,00.00,252.7,290508,,,A*61 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123647.000,5356.21504,N,02734.86212,E,1,06,04.8,255.2,M,26.0,M,,*6D {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:47.000Z","ept":0.005,"lat":53.936917333,"lon":27.581035333,"alt":255.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123648.000,A,5356.21501,N,02734.86212,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123648.000,5356.21505,N,02734.86212,E,1,06,04.8,255.1,M,26.0,M,,*60 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:48.000Z","ept":0.005,"lat":53.936917500,"lon":27.581035333,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123649.000,A,5356.21503,N,02734.86212,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123649.000,5356.21505,N,02734.86212,E,1,06,04.8,255.1,M,26.0,M,,*61 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:49.000Z","ept":0.005,"lat":53.936917500,"lon":27.581035333,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123650.000,A,5356.21502,N,02734.86214,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.4*3C $GPGSV,4,1,13,02,12,247,,03,11,065,,06,10,045,,07,76,085,35*75 $GPGSV,4,2,13,13,47,102,50,23,12,106,45,25,55,069,37,27,83,104,31*7B $GPGSV,4,3,13,28,05,181,45,33,17,229,,37,28,187,,39,28,183,*7F $GPGSV,4,4,13,44,20,137,*4C {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":6,"el":10,"az":45,"ss":0,"used":false},{"PRN":7,"el":76,"az":85,"ss":35,"used":true},{"PRN":13,"el":47,"az":102,"ss":50,"used":true},{"PRN":23,"el":12,"az":106,"ss":45,"used":true},{"PRN":25,"el":55,"az":69,"ss":37,"used":true},{"PRN":27,"el":83,"az":104,"ss":31,"used":true},{"PRN":28,"el":5,"az":181,"ss":45,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123650.000,5356.21505,N,02734.86213,E,1,06,04.8,255.1,M,26.0,M,,*68 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:50.000Z","ept":0.005,"lat":53.936917500,"lon":27.581035500,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123651.000,A,5356.21503,N,02734.86213,E,00.00,252.7,290508,,,A*64 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123651.000,5356.21507,N,02734.86211,E,1,06,04.8,255.1,M,26.0,M,,*69 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:51.000Z","ept":0.005,"lat":53.936917833,"lon":27.581035167,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123652.000,A,5356.21504,N,02734.86211,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123652.000,5356.21508,N,02734.86209,E,1,06,04.8,255.0,M,26.0,M,,*6D {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:52.000Z","ept":0.005,"lat":53.936918000,"lon":27.581034833,"alt":255.000,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123653.000,A,5356.21506,N,02734.86208,E,00.00,252.7,290508,,,A*69 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123653.000,5356.21511,N,02734.86215,E,1,06,04.8,255.0,M,26.0,M,,*69 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:53.000Z","ept":0.005,"lat":53.936918500,"lon":27.581035833,"alt":255.000,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123654.000,A,5356.21508,N,02734.86216,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123654.000,5356.21514,N,02734.86221,E,1,06,04.8,255.1,M,26.0,M,,*6D {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:54.000Z","ept":0.005,"lat":53.936919000,"lon":27.581036833,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123655.000,A,5356.21510,N,02734.86222,E,00.00,252.7,290508,,,A*60 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123655.000,5356.21516,N,02734.86225,E,1,06,04.8,255.1,M,26.0,M,,*6A {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:55.000Z","ept":0.005,"lat":53.936919333,"lon":27.581037500,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123656.000,A,5356.21514,N,02734.86225,E,00.00,252.7,290508,,,A*60 $PORZD,A,015.3*3B $GPGSV,4,1,14,02,12,247,,03,11,065,,06,10,045,,07,75,084,35*70 $GPGSV,4,2,14,08,59,224,,13,47,102,50,23,12,106,47,25,54,069,37*76 $GPGSV,4,3,14,27,83,102,32,28,05,181,45,33,17,229,,37,28,187,*7E $GPGSV,4,4,14,39,28,183,,44,20,137,*71 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":6,"el":10,"az":45,"ss":0,"used":false},{"PRN":7,"el":75,"az":84,"ss":35,"used":true},{"PRN":8,"el":59,"az":224,"ss":0,"used":false},{"PRN":13,"el":47,"az":102,"ss":50,"used":true},{"PRN":23,"el":12,"az":106,"ss":47,"used":true},{"PRN":25,"el":54,"az":69,"ss":37,"used":true},{"PRN":27,"el":83,"az":102,"ss":32,"used":true},{"PRN":28,"el":5,"az":181,"ss":45,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.3,04.8,04.0*03 $GPGGA,123656.000,5356.21518,N,02734.86229,E,1,06,04.8,255.1,M,26.0,M,,*6B {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:56.000Z","ept":0.005,"lat":53.936919667,"lon":27.581038167,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123657.000,A,5356.21515,N,02734.86230,E,00.00,252.7,290508,,,A*64 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123657.000,5356.21519,N,02734.86231,E,1,06,04.8,255.1,M,26.0,M,,*62 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:57.000Z","ept":0.005,"lat":53.936919833,"lon":27.581038500,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123658.000,A,5356.21517,N,02734.86231,E,00.00,252.7,290508,,,A*68 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123658.000,5356.21521,N,02734.86233,E,1,06,04.8,255.1,M,26.0,M,,*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:58.000Z","ept":0.005,"lat":53.936920167,"lon":27.581038833,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123659.000,A,5356.21519,N,02734.86233,E,00.00,252.7,290508,,,A*65 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123659.000,5356.21524,N,02734.86232,E,1,06,04.8,255.1,M,26.0,M,,*61 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:36:59.000Z","ept":0.005,"lat":53.936920667,"lon":27.581038667,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123700.000,A,5356.21522,N,02734.86232,E,00.00,252.7,290508,,,A*61 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123700.000,5356.21526,N,02734.86232,E,1,06,04.8,255.0,M,26.0,M,,*6F {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:00.000Z","ept":0.005,"lat":53.936921000,"lon":27.581038667,"alt":255.000,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123701.000,A,5356.21522,N,02734.86233,E,00.00,252.7,290508,,,A*61 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123701.000,5356.21526,N,02734.86232,E,1,06,04.8,255.1,M,26.0,M,,*6F {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:01.000Z","ept":0.005,"lat":53.936921000,"lon":27.581038667,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123702.000,A,5356.21524,N,02734.86232,E,00.00,252.7,290508,,,A*65 $PORZD,A,015.3*3B $GPGSV,4,1,14,02,12,247,,03,11,065,,06,10,045,,07,75,084,34*71 $GPGSV,4,2,14,08,59,224,,13,47,102,50,23,12,106,46,25,54,069,38*78 $GPGSV,4,3,14,27,83,102,31,28,05,181,45,33,17,229,,37,28,187,*7D $GPGSV,4,4,14,39,28,183,,44,20,137,*71 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":6,"el":10,"az":45,"ss":0,"used":false},{"PRN":7,"el":75,"az":84,"ss":34,"used":true},{"PRN":8,"el":59,"az":224,"ss":0,"used":false},{"PRN":13,"el":47,"az":102,"ss":50,"used":true},{"PRN":23,"el":12,"az":106,"ss":46,"used":true},{"PRN":25,"el":54,"az":69,"ss":38,"used":true},{"PRN":27,"el":83,"az":102,"ss":31,"used":true},{"PRN":28,"el":5,"az":181,"ss":45,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123702.000,5356.21528,N,02734.86231,E,1,06,04.8,255.0,M,26.0,M,,*60 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:02.000Z","ept":0.005,"lat":53.936921333,"lon":27.581038500,"alt":255.000,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123703.000,A,5356.21526,N,02734.86231,E,00.00,252.7,290508,,,A*65 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123703.000,5356.21529,N,02734.86230,E,1,06,04.8,255.0,M,26.0,M,,*61 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:03.000Z","ept":0.005,"lat":53.936921500,"lon":27.581038333,"alt":255.000,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123704.000,A,5356.21526,N,02734.86230,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123704.000,5356.21530,N,02734.86228,E,1,06,04.8,255.0,M,26.0,M,,*67 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:04.000Z","ept":0.005,"lat":53.936921667,"lon":27.581038000,"alt":255.000,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123705.000,A,5356.21528,N,02734.86228,E,00.00,252.7,290508,,,A*65 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123705.000,5356.21533,N,02734.86226,E,1,06,04.8,255.0,M,26.0,M,,*6B {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:05.000Z","ept":0.005,"lat":53.936922167,"lon":27.581037667,"alt":255.000,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123706.000,A,5356.21530,N,02734.86226,E,00.00,252.7,290508,,,A*61 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123706.000,5356.21534,N,02734.86224,E,1,06,04.8,255.0,M,26.0,M,,*6D {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:06.000Z","ept":0.005,"lat":53.936922333,"lon":27.581037333,"alt":255.000,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123707.000,A,5356.21531,N,02734.86225,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.8,04.0*02 $GPGGA,123707.000,5356.21536,N,02734.86223,E,1,06,04.7,254.9,M,26.0,M,,*6E {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:07.000Z","ept":0.005,"lat":53.936922667,"lon":27.581037167,"alt":254.900,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123708.000,A,5356.21534,N,02734.86222,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.2*3A $GPGSV,4,1,14,02,12,247,,03,11,065,,06,10,045,,07,75,084,36*73 $GPGSV,4,2,14,08,59,224,,13,47,102,50,23,12,106,45,25,54,069,38*7B $GPGSV,4,3,14,27,83,102,31,28,05,181,46,33,17,229,,37,28,187,*7E $GPGSV,4,4,14,39,28,183,,44,20,137,*71 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":6,"el":10,"az":45,"ss":0,"used":false},{"PRN":7,"el":75,"az":84,"ss":36,"used":true},{"PRN":8,"el":59,"az":224,"ss":0,"used":false},{"PRN":13,"el":47,"az":102,"ss":50,"used":true},{"PRN":23,"el":12,"az":106,"ss":45,"used":true},{"PRN":25,"el":54,"az":69,"ss":38,"used":true},{"PRN":27,"el":83,"az":102,"ss":31,"used":true},{"PRN":28,"el":5,"az":181,"ss":46,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123708.000,5356.21539,N,02734.86220,E,1,06,04.7,254.9,M,26.0,M,,*6D {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:08.000Z","ept":0.005,"lat":53.936923167,"lon":27.581036667,"alt":254.900,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123709.000,A,5356.21536,N,02734.86219,E,00.00,252.7,290508,,,A*64 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123709.000,5356.21541,N,02734.86218,E,1,06,04.7,254.8,M,26.0,M,,*69 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:09.000Z","ept":0.005,"lat":53.936923500,"lon":27.581036333,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123710.000,A,5356.21538,N,02734.86220,E,00.00,252.7,290508,,,A*68 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123710.000,5356.21542,N,02734.86219,E,1,06,04.7,254.8,M,26.0,M,,*63 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:10.000Z","ept":0.005,"lat":53.936923667,"lon":27.581036500,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123711.000,A,5356.21539,N,02734.86219,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123711.000,5356.21543,N,02734.86218,E,1,06,04.7,254.8,M,26.0,M,,*62 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:11.000Z","ept":0.005,"lat":53.936923833,"lon":27.581036333,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123712.000,A,5356.21541,N,02734.86218,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123712.000,5356.21544,N,02734.86218,E,1,06,04.7,254.7,M,26.0,M,,*69 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:12.000Z","ept":0.005,"lat":53.936924000,"lon":27.581036333,"alt":254.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123713.000,A,5356.21541,N,02734.86219,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123713.000,5356.21544,N,02734.86218,E,1,06,04.7,254.7,M,26.0,M,,*68 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:13.000Z","ept":0.005,"lat":53.936924000,"lon":27.581036333,"alt":254.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123714.000,A,5356.21541,N,02734.86219,E,00.00,252.7,290508,,,A*68 $PORZD,A,015.2*3A $GPGSV,4,1,14,02,12,247,,03,11,065,,06,10,045,,07,75,084,35*70 $GPGSV,4,2,14,08,59,224,,13,47,102,50,23,12,106,46,25,54,069,38*78 $GPGSV,4,3,14,27,83,102,31,28,05,181,45,33,17,229,,37,28,187,*7D $GPGSV,4,4,14,39,28,183,,44,20,137,*71 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":6,"el":10,"az":45,"ss":0,"used":false},{"PRN":7,"el":75,"az":84,"ss":35,"used":true},{"PRN":8,"el":59,"az":224,"ss":0,"used":false},{"PRN":13,"el":47,"az":102,"ss":50,"used":true},{"PRN":23,"el":12,"az":106,"ss":46,"used":true},{"PRN":25,"el":54,"az":69,"ss":38,"used":true},{"PRN":27,"el":83,"az":102,"ss":31,"used":true},{"PRN":28,"el":5,"az":181,"ss":45,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123714.000,5356.21544,N,02734.86217,E,1,06,04.7,254.7,M,26.0,M,,*60 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:14.000Z","ept":0.005,"lat":53.936924000,"lon":27.581036167,"alt":254.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123715.000,A,5356.21542,N,02734.86218,E,00.00,252.7,290508,,,A*6B $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123715.000,5356.21544,N,02734.86216,E,1,06,04.7,254.7,M,26.0,M,,*60 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:15.000Z","ept":0.005,"lat":53.936924000,"lon":27.581036000,"alt":254.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123716.000,A,5356.21542,N,02734.86216,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123716.000,5356.21544,N,02734.86215,E,1,06,04.7,254.7,M,26.0,M,,*60 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:16.000Z","ept":0.005,"lat":53.936924000,"lon":27.581035833,"alt":254.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123717.000,A,5356.21542,N,02734.86215,E,00.00,252.7,290508,,,A*64 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123717.000,5356.21543,N,02734.86213,E,1,06,04.7,254.7,M,26.0,M,,*60 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:17.000Z","ept":0.005,"lat":53.936923833,"lon":27.581035500,"alt":254.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123718.000,A,5356.21540,N,02734.86214,E,00.00,252.7,290508,,,A*68 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123718.000,5356.21542,N,02734.86211,E,1,06,04.7,254.7,M,26.0,M,,*6C {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:18.000Z","ept":0.005,"lat":53.936923667,"lon":27.581035167,"alt":254.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123719.000,A,5356.21540,N,02734.86211,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123719.000,5356.21542,N,02734.86209,E,1,06,04.7,254.7,M,26.0,M,,*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:19.000Z","ept":0.005,"lat":53.936923667,"lon":27.581034833,"alt":254.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123720.000,A,5356.21539,N,02734.86210,E,00.00,252.7,290508,,,A*69 $PORZD,A,015.2*3A $GPGSV,4,1,14,02,12,247,,03,11,065,,06,10,045,,07,75,084,34*71 $GPGSV,4,2,14,08,59,224,,13,47,102,50,23,12,106,46,25,54,069,38*78 $GPGSV,4,3,14,27,83,102,31,28,05,181,46,33,17,229,,37,28,187,*7E $GPGSV,4,4,14,39,28,183,,44,20,137,*71 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":65,"ss":0,"used":false},{"PRN":6,"el":10,"az":45,"ss":0,"used":false},{"PRN":7,"el":75,"az":84,"ss":34,"used":true},{"PRN":8,"el":59,"az":224,"ss":0,"used":false},{"PRN":13,"el":47,"az":102,"ss":50,"used":true},{"PRN":23,"el":12,"az":106,"ss":46,"used":true},{"PRN":25,"el":54,"az":69,"ss":38,"used":true},{"PRN":27,"el":83,"az":102,"ss":31,"used":true},{"PRN":28,"el":5,"az":181,"ss":46,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123720.000,5356.21542,N,02734.86206,E,1,06,04.7,254.7,M,26.0,M,,*61 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:20.000Z","ept":0.005,"lat":53.936923667,"lon":27.581034333,"alt":254.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123721.000,A,5356.21540,N,02734.86205,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123721.000,5356.21543,N,02734.86202,E,1,06,04.7,254.7,M,26.0,M,,*65 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:21.000Z","ept":0.005,"lat":53.936923833,"lon":27.581033667,"alt":254.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123722.000,A,5356.21541,N,02734.86202,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123722.000,5356.21543,N,02734.86198,E,1,06,04.7,254.7,M,26.0,M,,*66 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:22.000Z","ept":0.005,"lat":53.936923833,"lon":27.581033000,"alt":254.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123723.000,A,5356.21541,N,02734.86198,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123723.000,5356.21546,N,02734.86203,E,1,06,04.7,254.7,M,26.0,M,,*63 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:23.000Z","ept":0.005,"lat":53.936924333,"lon":27.581033833,"alt":254.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123724.000,A,5356.21543,N,02734.86203,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123724.000,5356.21548,N,02734.86207,E,1,06,04.7,254.8,M,26.0,M,,*61 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:24.000Z","ept":0.005,"lat":53.936924667,"lon":27.581034500,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123725.000,A,5356.21544,N,02734.86208,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123725.000,5356.21549,N,02734.86210,E,1,06,04.7,254.8,M,26.0,M,,*67 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:25.000Z","ept":0.005,"lat":53.936924833,"lon":27.581035000,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123726.000,A,5356.21547,N,02734.86211,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.2*3A $GPGSV,4,1,14,02,12,247,,03,11,064,,06,10,044,,07,75,084,34*71 $GPGSV,4,2,14,08,59,224,,13,47,102,51,23,11,106,45,25,54,068,38*78 $GPGSV,4,3,14,27,83,101,31,28,05,181,46,33,17,229,,37,28,187,*7D $GPGSV,4,4,14,39,28,183,,44,20,137,*71 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":64,"ss":0,"used":false},{"PRN":6,"el":10,"az":44,"ss":0,"used":false},{"PRN":7,"el":75,"az":84,"ss":34,"used":true},{"PRN":8,"el":59,"az":224,"ss":0,"used":false},{"PRN":13,"el":47,"az":102,"ss":51,"used":true},{"PRN":23,"el":11,"az":106,"ss":45,"used":true},{"PRN":25,"el":54,"az":68,"ss":38,"used":true},{"PRN":27,"el":83,"az":101,"ss":31,"used":true},{"PRN":28,"el":5,"az":181,"ss":46,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123726.000,5356.21550,N,02734.86213,E,1,06,04.7,254.8,M,26.0,M,,*6F {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:26.000Z","ept":0.005,"lat":53.936925000,"lon":27.581035500,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123727.000,A,5356.21547,N,02734.86213,E,00.00,252.7,290508,,,A*64 $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123727.000,5356.21552,N,02734.86214,E,1,06,04.7,254.9,M,26.0,M,,*6A {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:27.000Z","ept":0.005,"lat":53.936925333,"lon":27.581035667,"alt":254.900,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123728.000,A,5356.21550,N,02734.86214,E,00.00,252.7,290508,,,A*6A $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123728.000,5356.21553,N,02734.86215,E,1,06,04.7,254.9,M,26.0,M,,*65 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:28.000Z","ept":0.005,"lat":53.936925500,"lon":27.581035833,"alt":254.900,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123729.000,A,5356.21551,N,02734.86214,E,00.00,252.7,290508,,,A*6A $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123729.000,5356.21555,N,02734.86214,E,1,06,04.7,254.8,M,26.0,M,,*62 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:29.000Z","ept":0.005,"lat":53.936925833,"lon":27.581035667,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123730.000,A,5356.21553,N,02734.86214,E,00.00,252.7,290508,,,A*60 $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123730.000,5356.21557,N,02734.86213,E,1,06,04.7,254.8,M,26.0,M,,*6F {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:30.000Z","ept":0.005,"lat":53.936926167,"lon":27.581035500,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123731.000,A,5356.21554,N,02734.86214,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123731.000,5356.21557,N,02734.86212,E,1,06,04.7,254.8,M,26.0,M,,*6F {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:31.000Z","ept":0.005,"lat":53.936926167,"lon":27.581035333,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123732.000,A,5356.21555,N,02734.86212,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.1*39 $GPGSV,4,1,14,02,12,247,,03,11,064,,06,10,044,,07,75,084,34*71 $GPGSV,4,2,14,08,59,224,,13,47,102,51,23,11,106,46,25,54,068,38*7B $GPGSV,4,3,14,27,83,101,32,28,05,181,45,33,17,229,,37,28,187,*7D $GPGSV,4,4,14,39,28,183,,44,20,137,*71 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":64,"ss":0,"used":false},{"PRN":6,"el":10,"az":44,"ss":0,"used":false},{"PRN":7,"el":75,"az":84,"ss":34,"used":true},{"PRN":8,"el":59,"az":224,"ss":0,"used":false},{"PRN":13,"el":47,"az":102,"ss":51,"used":true},{"PRN":23,"el":11,"az":106,"ss":46,"used":true},{"PRN":25,"el":54,"az":68,"ss":38,"used":true},{"PRN":27,"el":83,"az":101,"ss":32,"used":true},{"PRN":28,"el":5,"az":181,"ss":45,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123732.000,5356.21558,N,02734.86210,E,1,06,04.7,254.8,M,26.0,M,,*61 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:32.000Z","ept":0.005,"lat":53.936926333,"lon":27.581035000,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123733.000,A,5356.21556,N,02734.86211,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123733.000,5356.21559,N,02734.86209,E,1,06,04.7,254.8,M,26.0,M,,*69 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:33.000Z","ept":0.005,"lat":53.936926500,"lon":27.581034833,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123734.000,A,5356.21555,N,02734.86209,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123734.000,5356.21559,N,02734.86207,E,1,06,04.7,254.8,M,26.0,M,,*60 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:34.000Z","ept":0.005,"lat":53.936926500,"lon":27.581034500,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123735.000,A,5356.21557,N,02734.86207,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123735.000,5356.21559,N,02734.86206,E,1,06,04.7,254.8,M,26.0,M,,*60 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:35.000Z","ept":0.005,"lat":53.936926500,"lon":27.581034333,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123736.000,A,5356.21556,N,02734.86206,E,00.00,252.7,290508,,,A*60 $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123736.000,5356.21560,N,02734.86204,E,1,06,04.7,254.8,M,26.0,M,,*6B {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:36.000Z","ept":0.005,"lat":53.936926667,"lon":27.581034000,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123737.000,A,5356.21558,N,02734.86205,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123737.000,5356.21560,N,02734.86202,E,1,06,04.7,254.8,M,26.0,M,,*6C {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:37.000Z","ept":0.005,"lat":53.936926667,"lon":27.581033667,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123738.000,A,5356.21558,N,02734.86202,E,00.00,252.7,290508,,,A*64 $PORZD,A,015.1*39 $GPGSV,4,1,14,02,12,247,,03,11,064,18,06,10,044,,07,75,084,34*78 $GPGSV,4,2,14,08,59,224,,13,47,102,51,23,11,106,47,25,54,068,38*7A $GPGSV,4,3,14,27,83,101,32,28,05,181,45,33,17,229,,37,28,187,*7D $GPGSV,4,4,14,39,28,183,,44,20,137,*71 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":64,"ss":18,"used":false},{"PRN":6,"el":10,"az":44,"ss":0,"used":false},{"PRN":7,"el":75,"az":84,"ss":34,"used":true},{"PRN":8,"el":59,"az":224,"ss":0,"used":false},{"PRN":13,"el":47,"az":102,"ss":51,"used":true},{"PRN":23,"el":11,"az":106,"ss":47,"used":true},{"PRN":25,"el":54,"az":68,"ss":38,"used":true},{"PRN":27,"el":83,"az":101,"ss":32,"used":true},{"PRN":28,"el":5,"az":181,"ss":45,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123738.000,5356.21562,N,02734.86199,E,1,06,04.7,254.8,M,26.0,M,,*60 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:38.000Z","ept":0.005,"lat":53.936927000,"lon":27.581033167,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123739.000,A,5356.21559,N,02734.86199,E,00.00,252.7,290508,,,A*65 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123739.000,5356.21564,N,02734.86196,E,1,06,04.7,254.8,M,26.0,M,,*68 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:39.000Z","ept":0.005,"lat":53.936927333,"lon":27.581032667,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123740.000,A,5356.21563,N,02734.86196,E,00.00,252.7,290508,,,A*6D $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123740.000,5356.21567,N,02734.86194,E,1,06,04.7,254.7,M,26.0,M,,*68 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:40.000Z","ept":0.005,"lat":53.936927833,"lon":27.581032333,"alt":254.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123741.000,A,5356.21564,N,02734.86194,E,00.00,252.7,290508,,,A*69 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123741.000,5356.21568,N,02734.86192,E,1,06,04.7,254.7,M,26.0,M,,*60 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:41.000Z","ept":0.005,"lat":53.936928000,"lon":27.581032000,"alt":254.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123742.000,A,5356.21566,N,02734.86192,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123742.000,5356.21570,N,02734.86190,E,1,06,04.7,254.7,M,26.0,M,,*68 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:42.000Z","ept":0.005,"lat":53.936928333,"lon":27.581031667,"alt":254.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123743.000,A,5356.21567,N,02734.86191,E,00.00,252.7,290508,,,A*6D $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123743.000,5356.21571,N,02734.86189,E,1,06,04.7,254.6,M,26.0,M,,*61 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:43.000Z","ept":0.005,"lat":53.936928500,"lon":27.581031500,"alt":254.600,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123744.000,A,5356.21568,N,02734.86189,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.3*3B $GPGSV,4,1,14,02,12,247,,03,11,064,,06,10,044,,07,75,084,35*70 $GPGSV,4,2,14,08,59,224,,13,47,102,50,23,11,106,46,25,54,068,38*7A $GPGSV,4,3,14,27,83,101,32,28,05,181,46,33,17,229,,37,28,187,*7E $GPGSV,4,4,14,39,28,183,,44,20,137,*71 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":64,"ss":0,"used":false},{"PRN":6,"el":10,"az":44,"ss":0,"used":false},{"PRN":7,"el":75,"az":84,"ss":35,"used":true},{"PRN":8,"el":59,"az":224,"ss":0,"used":false},{"PRN":13,"el":47,"az":102,"ss":50,"used":true},{"PRN":23,"el":11,"az":106,"ss":46,"used":true},{"PRN":25,"el":54,"az":68,"ss":38,"used":true},{"PRN":27,"el":83,"az":101,"ss":32,"used":true},{"PRN":28,"el":5,"az":181,"ss":46,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123744.000,5356.21572,N,02734.86187,E,1,06,04.7,254.6,M,26.0,M,,*6B {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:44.000Z","ept":0.005,"lat":53.936928667,"lon":27.581031167,"alt":254.600,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123745.000,A,5356.21570,N,02734.86186,E,00.00,252.7,290508,,,A*6B $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123745.000,5356.21573,N,02734.86184,E,1,06,04.7,254.6,M,26.0,M,,*68 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:45.000Z","ept":0.005,"lat":53.936928833,"lon":27.581030667,"alt":254.600,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123746.000,A,5356.21571,N,02734.86184,E,00.00,252.7,290508,,,A*6B $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123746.000,5356.21574,N,02734.86181,E,1,06,04.7,254.6,M,26.0,M,,*69 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:46.000Z","ept":0.005,"lat":53.936929000,"lon":27.581030167,"alt":254.600,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123747.000,A,5356.21571,N,02734.86182,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123747.000,5356.21573,N,02734.86179,E,1,06,04.7,254.6,M,26.0,M,,*68 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:47.000Z","ept":0.005,"lat":53.936928833,"lon":27.581029833,"alt":254.600,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123748.000,A,5356.21570,N,02734.86179,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123748.000,5356.21573,N,02734.86175,E,1,06,04.7,254.6,M,26.0,M,,*6B {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:48.000Z","ept":0.005,"lat":53.936928833,"lon":27.581029167,"alt":254.600,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123749.000,A,5356.21572,N,02734.86175,E,00.00,252.7,290508,,,A*69 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123749.000,5356.21573,N,02734.86173,E,1,06,04.7,254.6,M,26.0,M,,*6C {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:49.000Z","ept":0.005,"lat":53.936928833,"lon":27.581028833,"alt":254.600,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123750.000,A,5356.21569,N,02734.86174,E,00.00,252.7,290508,,,A*6A $PORZD,A,015.3*3B $GPGSV,4,1,14,02,12,247,,03,11,064,,06,10,044,,07,75,084,35*70 $GPGSV,4,2,14,08,59,224,,13,47,102,50,23,11,106,46,25,54,068,38*7A $GPGSV,4,3,14,27,83,101,32,28,05,181,47,33,17,229,,37,28,187,*7F $GPGSV,4,4,14,39,28,183,,44,20,137,*71 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":247,"ss":0,"used":false},{"PRN":3,"el":11,"az":64,"ss":0,"used":false},{"PRN":6,"el":10,"az":44,"ss":0,"used":false},{"PRN":7,"el":75,"az":84,"ss":35,"used":true},{"PRN":8,"el":59,"az":224,"ss":0,"used":false},{"PRN":13,"el":47,"az":102,"ss":50,"used":true},{"PRN":23,"el":11,"az":106,"ss":46,"used":true},{"PRN":25,"el":54,"az":68,"ss":38,"used":true},{"PRN":27,"el":83,"az":101,"ss":32,"used":true},{"PRN":28,"el":5,"az":181,"ss":47,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123750.000,5356.21570,N,02734.86172,E,1,06,04.7,254.6,M,26.0,M,,*66 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:50.000Z","ept":0.005,"lat":53.936928333,"lon":27.581028667,"alt":254.600,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123751.000,A,5356.21568,N,02734.86171,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123751.000,5356.21570,N,02734.86168,E,1,06,04.7,254.6,M,26.0,M,,*6C {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:51.000Z","ept":0.005,"lat":53.936928333,"lon":27.581028000,"alt":254.600,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123752.000,A,5356.21567,N,02734.86169,E,00.00,252.7,290508,,,A*6A $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123752.000,5356.21569,N,02734.86167,E,1,06,04.7,254.7,M,26.0,M,,*69 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:52.000Z","ept":0.005,"lat":53.936928167,"lon":27.581027833,"alt":254.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123753.000,A,5356.21567,N,02734.86166,E,00.00,252.7,290508,,,A*64 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123753.000,5356.21570,N,02734.86172,E,1,06,04.7,254.7,M,26.0,M,,*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:53.000Z","ept":0.005,"lat":53.936928333,"lon":27.581028667,"alt":254.700,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123754.000,A,5356.21567,N,02734.86172,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.4*3C $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123754.000,5356.21570,N,02734.86177,E,1,06,04.7,254.8,M,26.0,M,,*69 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:54.000Z","ept":0.005,"lat":53.936928333,"lon":27.581029500,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123755.000,A,5356.21567,N,02734.86178,E,00.00,252.7,290508,,,A*6D $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123755.000,5356.21570,N,02734.86182,E,1,06,04.7,254.8,M,26.0,M,,*62 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:55.000Z","ept":0.005,"lat":53.936928333,"lon":27.581030333,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123756.000,A,5356.21567,N,02734.86183,E,00.00,252.7,290508,,,A*6A $PORZD,A,015.3*3B $GPGSV,4,1,15,02,12,246,,03,11,064,,06,10,044,,07,75,083,36*74 $GPGSV,4,2,15,08,60,224,,10,46,294,,13,46,102,50,23,11,106,46*7F $GPGSV,4,3,15,25,54,068,38,27,83,099,32,28,06,181,46,33,17,229,*7F $GPGSV,4,4,15,37,28,187,,39,28,183,,44,20,137,*40 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":246,"ss":0,"used":false},{"PRN":3,"el":11,"az":64,"ss":0,"used":false},{"PRN":6,"el":10,"az":44,"ss":0,"used":false},{"PRN":7,"el":75,"az":83,"ss":36,"used":true},{"PRN":8,"el":60,"az":224,"ss":0,"used":false},{"PRN":10,"el":46,"az":294,"ss":0,"used":false},{"PRN":13,"el":46,"az":102,"ss":50,"used":true},{"PRN":23,"el":11,"az":106,"ss":46,"used":true},{"PRN":25,"el":54,"az":68,"ss":38,"used":true},{"PRN":27,"el":83,"az":99,"ss":32,"used":true},{"PRN":28,"el":6,"az":181,"ss":46,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123756.000,5356.21570,N,02734.86187,E,1,06,04.7,254.8,M,26.0,M,,*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:56.000Z","ept":0.005,"lat":53.936928333,"lon":27.581031167,"alt":254.800,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123757.000,A,5356.21567,N,02734.86186,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123757.000,5356.21568,N,02734.86191,E,1,06,04.7,254.9,M,26.0,M,,*6A {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:57.000Z","ept":0.005,"lat":53.936928000,"lon":27.581031833,"alt":254.900,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123758.000,A,5356.21565,N,02734.86193,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123758.000,5356.21567,N,02734.86196,E,1,06,04.7,254.9,M,26.0,M,,*6D {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:58.000Z","ept":0.005,"lat":53.936927833,"lon":27.581032667,"alt":254.900,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123759.000,A,5356.21565,N,02734.86197,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123759.000,5356.21566,N,02734.86198,E,1,06,04.7,254.9,M,26.0,M,,*63 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:37:59.000Z","ept":0.005,"lat":53.936927667,"lon":27.581033000,"alt":254.900,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123800.000,A,5356.21563,N,02734.86198,E,00.00,252.7,290508,,,A*68 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123800.000,5356.21565,N,02734.86199,E,1,06,04.7,255.0,M,26.0,M,,*6A {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:00.000Z","ept":0.005,"lat":53.936927500,"lon":27.581033167,"alt":255.000,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123801.000,A,5356.21563,N,02734.86200,E,00.00,252.7,290508,,,A*6B $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123801.000,5356.21564,N,02734.86202,E,1,06,04.7,255.0,M,26.0,M,,*6B {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:01.000Z","ept":0.005,"lat":53.936927333,"lon":27.581033667,"alt":255.000,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123802.000,A,5356.21562,N,02734.86202,E,00.00,252.7,290508,,,A*6B $PORZD,A,015.3*3B $GPGSV,4,1,15,02,12,246,,03,11,064,,06,10,044,,07,75,083,35*77 $GPGSV,4,2,15,08,60,224,,10,46,294,,13,46,102,50,23,11,106,46*7F $GPGSV,4,3,15,25,54,068,38,27,83,099,32,28,06,181,46,33,17,229,*7F $GPGSV,4,4,15,37,28,187,,39,28,183,,44,20,137,*40 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":246,"ss":0,"used":false},{"PRN":3,"el":11,"az":64,"ss":0,"used":false},{"PRN":6,"el":10,"az":44,"ss":0,"used":false},{"PRN":7,"el":75,"az":83,"ss":35,"used":true},{"PRN":8,"el":60,"az":224,"ss":0,"used":false},{"PRN":10,"el":46,"az":294,"ss":0,"used":false},{"PRN":13,"el":46,"az":102,"ss":50,"used":true},{"PRN":23,"el":11,"az":106,"ss":46,"used":true},{"PRN":25,"el":54,"az":68,"ss":38,"used":true},{"PRN":27,"el":83,"az":99,"ss":32,"used":true},{"PRN":28,"el":6,"az":181,"ss":46,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123802.000,5356.21563,N,02734.86203,E,1,06,04.7,255.0,M,26.0,M,,*6E {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:02.000Z","ept":0.005,"lat":53.936927167,"lon":27.581033833,"alt":255.000,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123803.000,A,5356.21561,N,02734.86203,E,00.00,252.7,290508,,,A*68 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123803.000,5356.21562,N,02734.86205,E,1,06,04.7,255.0,M,26.0,M,,*68 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:03.000Z","ept":0.005,"lat":53.936927000,"lon":27.581034167,"alt":255.000,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123804.000,A,5356.21558,N,02734.86206,E,00.00,252.7,290508,,,A*60 $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123804.000,5356.21559,N,02734.86207,E,1,06,04.7,255.1,M,26.0,M,,*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:04.000Z","ept":0.005,"lat":53.936926500,"lon":27.581034500,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123805.000,A,5356.21557,N,02734.86206,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123805.000,5356.21558,N,02734.86207,E,1,06,04.7,255.1,M,26.0,M,,*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:05.000Z","ept":0.005,"lat":53.936926333,"lon":27.581034500,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123806.000,A,5356.21555,N,02734.86207,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123806.000,5356.21555,N,02734.86208,E,1,06,04.7,255.1,M,26.0,M,,*65 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:06.000Z","ept":0.005,"lat":53.936925833,"lon":27.581034667,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123807.000,A,5356.21552,N,02734.86210,E,00.00,252.7,290508,,,A*6E $PORZD,A,015.3*3B $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123807.000,5356.21553,N,02734.86210,E,1,06,04.7,255.1,M,26.0,M,,*6B {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:07.000Z","ept":0.005,"lat":53.936925500,"lon":27.581035000,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123808.000,A,5356.21551,N,02734.86210,E,00.00,252.7,290508,,,A*62 $PORZD,A,015.3*3B $GPGSV,4,1,15,02,12,246,,03,11,064,,06,10,044,,07,75,083,35*77 $GPGSV,4,2,15,08,60,224,,10,46,294,,13,46,102,50,23,11,106,46*7F $GPGSV,4,3,15,25,54,068,37,27,83,099,32,28,06,181,46,33,17,229,*70 $GPGSV,4,4,15,37,28,187,,39,28,183,,44,20,137,*40 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":246,"ss":0,"used":false},{"PRN":3,"el":11,"az":64,"ss":0,"used":false},{"PRN":6,"el":10,"az":44,"ss":0,"used":false},{"PRN":7,"el":75,"az":83,"ss":35,"used":true},{"PRN":8,"el":60,"az":224,"ss":0,"used":false},{"PRN":10,"el":46,"az":294,"ss":0,"used":false},{"PRN":13,"el":46,"az":102,"ss":50,"used":true},{"PRN":23,"el":11,"az":106,"ss":46,"used":true},{"PRN":25,"el":54,"az":68,"ss":37,"used":true},{"PRN":27,"el":83,"az":99,"ss":32,"used":true},{"PRN":28,"el":6,"az":181,"ss":46,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123808.000,5356.21552,N,02734.86211,E,1,06,04.7,255.1,M,26.0,M,,*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:08.000Z","ept":0.005,"lat":53.936925333,"lon":27.581035167,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123809.000,A,5356.21549,N,02734.86212,E,00.00,252.7,290508,,,A*68 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123809.000,5356.21550,N,02734.86212,E,1,06,04.7,255.1,M,26.0,M,,*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:09.000Z","ept":0.005,"lat":53.936925000,"lon":27.581035333,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123810.000,A,5356.21548,N,02734.86212,E,00.00,252.7,290508,,,A*61 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123810.000,5356.21550,N,02734.86211,E,1,06,04.7,255.1,M,26.0,M,,*6F {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:10.000Z","ept":0.005,"lat":53.936925000,"lon":27.581035167,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123811.000,A,5356.21548,N,02734.86211,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123811.000,5356.21549,N,02734.86210,E,1,06,04.7,255.1,M,26.0,M,,*67 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:11.000Z","ept":0.005,"lat":53.936924833,"lon":27.581035000,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123812.000,A,5356.21545,N,02734.86211,E,00.00,252.7,290508,,,A*6D $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.2,04.7,04.0*0D $GPGGA,123812.000,5356.21548,N,02734.86209,E,1,06,04.7,255.1,M,26.0,M,,*6D {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:12.000Z","ept":0.005,"lat":53.936924667,"lon":27.581034833,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123813.000,A,5356.21545,N,02734.86210,E,00.00,252.7,290508,,,A*6D $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123813.000,5356.21548,N,02734.86207,E,1,06,04.7,255.1,M,26.0,M,,*62 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:13.000Z","ept":0.005,"lat":53.936924667,"lon":27.581034500,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123814.000,A,5356.21546,N,02734.86207,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.2*3A $GPGSV,4,1,15,02,12,246,,03,11,064,,06,10,044,,07,75,083,36*74 $GPGSV,4,2,15,08,60,224,,10,46,294,,13,46,102,50,23,11,106,45*7C $GPGSV,4,3,15,25,54,068,38,27,83,099,32,28,06,181,45,33,17,229,*7C $GPGSV,4,4,15,37,28,187,,39,28,183,,44,20,137,*40 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":246,"ss":0,"used":false},{"PRN":3,"el":11,"az":64,"ss":0,"used":false},{"PRN":6,"el":10,"az":44,"ss":0,"used":false},{"PRN":7,"el":75,"az":83,"ss":36,"used":true},{"PRN":8,"el":60,"az":224,"ss":0,"used":false},{"PRN":10,"el":46,"az":294,"ss":0,"used":false},{"PRN":13,"el":46,"az":102,"ss":50,"used":true},{"PRN":23,"el":11,"az":106,"ss":45,"used":true},{"PRN":25,"el":54,"az":68,"ss":38,"used":true},{"PRN":27,"el":83,"az":99,"ss":32,"used":true},{"PRN":28,"el":6,"az":181,"ss":45,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123814.000,5356.21548,N,02734.86206,E,1,06,04.7,255.1,M,26.0,M,,*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:14.000Z","ept":0.005,"lat":53.936924667,"lon":27.581034333,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123815.000,A,5356.21544,N,02734.86207,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123815.000,5356.21547,N,02734.86205,E,1,06,04.7,255.1,M,26.0,M,,*69 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:15.000Z","ept":0.005,"lat":53.936924500,"lon":27.581034167,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123816.000,A,5356.21545,N,02734.86206,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123816.000,5356.21548,N,02734.86204,E,1,06,04.7,255.1,M,26.0,M,,*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:16.000Z","ept":0.005,"lat":53.936924667,"lon":27.581034000,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123817.000,A,5356.21545,N,02734.86204,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123817.000,5356.21549,N,02734.86202,E,1,06,04.7,255.1,M,26.0,M,,*62 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:17.000Z","ept":0.005,"lat":53.936924833,"lon":27.581033667,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123818.000,A,5356.21546,N,02734.86202,E,00.00,252.7,290508,,,A*66 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123818.000,5356.21550,N,02734.86200,E,1,06,04.7,255.0,M,26.0,M,,*66 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:18.000Z","ept":0.005,"lat":53.936925000,"lon":27.581033333,"alt":255.000,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123819.000,A,5356.21547,N,02734.86201,E,00.00,252.7,290508,,,A*65 $PORZD,A,015.2*3A $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123819.000,5356.21551,N,02734.86199,E,1,06,04.7,255.0,M,26.0,M,,*65 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:19.000Z","ept":0.005,"lat":53.936925167,"lon":27.581033167,"alt":255.000,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123820.000,A,5356.21548,N,02734.86201,E,00.00,252.7,290508,,,A*60 $PORZD,A,015.1*39 $GPGSV,4,1,15,02,12,246,,03,11,064,,06,10,044,,07,75,083,36*74 $GPGSV,4,2,15,08,60,224,,10,46,294,,13,46,102,50,23,11,106,46*7F $GPGSV,4,3,15,25,54,068,37,27,83,099,32,28,06,181,45,33,17,229,*73 $GPGSV,4,4,15,37,28,187,,39,28,183,,44,20,137,*40 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":12,"az":246,"ss":0,"used":false},{"PRN":3,"el":11,"az":64,"ss":0,"used":false},{"PRN":6,"el":10,"az":44,"ss":0,"used":false},{"PRN":7,"el":75,"az":83,"ss":36,"used":true},{"PRN":8,"el":60,"az":224,"ss":0,"used":false},{"PRN":10,"el":46,"az":294,"ss":0,"used":false},{"PRN":13,"el":46,"az":102,"ss":50,"used":true},{"PRN":23,"el":11,"az":106,"ss":46,"used":true},{"PRN":25,"el":54,"az":68,"ss":37,"used":true},{"PRN":27,"el":83,"az":99,"ss":32,"used":true},{"PRN":28,"el":6,"az":181,"ss":45,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123820.000,5356.21552,N,02734.86199,E,1,06,04.7,255.0,M,26.0,M,,*6C {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:20.000Z","ept":0.005,"lat":53.936925333,"lon":27.581033167,"alt":255.000,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123821.000,A,5356.21550,N,02734.86198,E,00.00,252.7,290508,,,A*6B $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123821.000,5356.21554,N,02734.86196,E,1,06,04.7,254.9,M,26.0,M,,*6C {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:21.000Z","ept":0.005,"lat":53.936925667,"lon":27.581032667,"alt":254.900,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123822.000,A,5356.21551,N,02734.86196,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123822.000,5356.21555,N,02734.86193,E,1,06,04.7,254.9,M,26.0,M,,*6B {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:22.000Z","ept":0.005,"lat":53.936925833,"lon":27.581032167,"alt":254.900,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123823.000,A,5356.21552,N,02734.86194,E,00.00,252.7,290508,,,A*67 $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123823.000,5356.21543,N,02734.86204,E,1,07,03.2,255.2,M,26.0,M,,*69 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:23.000Z","ept":0.005,"lat":53.936923833,"lon":27.581034000,"alt":255.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123824.000,A,5356.21543,N,02734.86203,E,00.00,252.7,290508,,,A*6D $PORZD,A,014.2*3B $GPGSA,A,3,19,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,03.8,03.2,02.2*0C $GPGGA,123824.000,5356.21547,N,02734.86205,E,1,06,04.7,255.2,M,26.0,M,,*68 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:24.000Z","ept":0.005,"lat":53.936924500,"lon":27.581034167,"alt":255.200,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123825.000,A,5356.21544,N,02734.86207,E,00.00,252.7,290508,,,A*6F $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123825.000,5356.21551,N,02734.86207,E,1,06,04.7,255.1,M,26.0,M,,*6F {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:25.000Z","ept":0.005,"lat":53.936925167,"lon":27.581034500,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123826.000,A,5356.21549,N,02734.86206,E,00.00,252.7,290508,,,A*60 $PORZD,A,015.1*39 $GPGSV,4,1,15,02,11,246,,03,11,064,,06,10,044,,07,75,083,36*77 $GPGSV,4,2,15,08,60,224,,10,46,294,,13,46,102,50,23,11,107,47*7F $GPGSV,4,3,15,25,54,068,37,27,82,098,32,28,06,181,46,33,17,229,*70 $GPGSV,4,4,15,37,28,187,,39,28,183,,44,20,137,*40 {"class":"SKY","tag":"GSV","xdop":1.53,"ydop":3.75,"vdop":0.00,"tdop":0.96,"hdop":0.00,"gdop":4.55,"pdop":0.00,"satellites":[{"PRN":2,"el":11,"az":246,"ss":0,"used":false},{"PRN":3,"el":11,"az":64,"ss":0,"used":false},{"PRN":6,"el":10,"az":44,"ss":0,"used":false},{"PRN":7,"el":75,"az":83,"ss":36,"used":true},{"PRN":8,"el":60,"az":224,"ss":0,"used":false},{"PRN":10,"el":46,"az":294,"ss":0,"used":false},{"PRN":13,"el":46,"az":102,"ss":50,"used":true},{"PRN":23,"el":11,"az":107,"ss":47,"used":true},{"PRN":25,"el":54,"az":68,"ss":37,"used":true},{"PRN":27,"el":82,"az":98,"ss":32,"used":true},{"PRN":28,"el":6,"az":181,"ss":46,"used":true},{"PRN":120,"el":17,"az":229,"ss":0,"used":false},{"PRN":124,"el":28,"az":187,"ss":0,"used":false},{"PRN":126,"el":28,"az":183,"ss":0,"used":false},{"PRN":131,"el":20,"az":137,"ss":0,"used":false}]} $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123826.000,5356.21556,N,02734.86205,E,1,06,04.7,255.1,M,26.0,M,,*69 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:26.000Z","ept":0.005,"lat":53.936926000,"lon":27.581034167,"alt":255.100,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123827.000,A,5356.21553,N,02734.86207,E,00.00,252.7,290508,,,A*6B $PORZD,A,015.1*39 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123827.000,5356.21558,N,02734.86205,E,1,06,04.7,255.0,M,26.0,M,,*67 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:27.000Z","ept":0.005,"lat":53.936926333,"lon":27.581034167,"alt":255.000,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123828.000,A,5356.21555,N,02734.86206,E,00.00,252.7,290508,,,A*63 $PORZD,A,015.0*38 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123828.000,5356.21561,N,02734.86204,E,1,06,04.7,255.0,M,26.0,M,,*63 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:28.000Z","ept":0.005,"lat":53.936926833,"lon":27.581034000,"alt":255.000,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123829.000,A,5356.21559,N,02734.86204,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.0*38 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123829.000,5356.21565,N,02734.86202,E,1,06,04.7,254.9,M,26.0,M,,*68 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:29.000Z","ept":0.005,"lat":53.936927500,"lon":27.581033667,"alt":254.900,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123830.000,A,5356.21562,N,02734.86204,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.0*38 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E $GPGGA,123830.000,5356.21567,N,02734.86202,E,1,06,04.7,254.9,M,26.0,M,,*62 {"class":"TPV","tag":"GGA","mode":3,"time":"2008-05-29T12:38:30.000Z","ept":0.005,"lat":53.936927833,"lon":27.581033667,"alt":254.900,"epx":23.004,"epy":56.196,"epv":0.000,"track":252.7000,"speed":0.000,"climb":0.000,"eps":112.39} $GPRMC,123831.000,A,5356.21566,N,02734.86201,E,00.00,252.7,290508,,,A*6C $PORZD,A,015.0*38 $GPGSA,A,3,28,27,23,13,07,25,,,,,,,,,,,,,,,,,,,06.1,04.7,04.0*0E gpsd-3.9/test/daemon/ch-4711.log0000664000175000017500000002756011762140436014417 0ustar esresr# Name: CH-4711 # Chipset: CH-4706, rev "m4706 03.10 02/06/09 | 12044 | M2002 05.01 02/06/09" # Description: Russian-made GPS mouse emitting GLONASS sentences. # Submitter: walkie@mail.ru # Date: 2009-12-05 # Location = Moscow, Russia, 55.71N 37.41E # Notes: Emits GLONASS sentences. Mostly 2D fixes but it loses # satellite lock near the end and the sentence mix changes. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GNGGA,135627.997,5543.0325,N,03724.7192,E,1,06,01.8,165.6,M,14.6,M,,*75 $GNRMC,135627.997,A,5543.0325,N,03724.7192,E,00.00,129.5,051209,,,A*7F $PORZD,A,024.1*3B $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135628.997,5543.0325,N,03724.7193,E,1,06,01.8,165.6,M,14.6,M,,*7B $GNRMC,135628.997,A,5543.0325,N,03724.7193,E,00.00,129.5,051209,,,A*71 $PORZD,A,024.1*3B $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135629.997,5543.0325,N,03724.7194,E,1,06,01.8,165.6,M,14.6,M,,*7D $GNRMC,135629.997,A,5543.0325,N,03724.7194,E,00.00,129.5,051209,,,A*77 $PORZD,A,024.1*3B $GPGSV,4,1,14,03,50,217,,06,49,201,,09,10,068,,14,30,153,*74 $GPGSV,4,2,14,18,43,068,,19,58,270,35,21,16,107,,22,76,110,*7F $GPGSV,4,3,14,26,42,127,,27,13,055,27,28,08,344,,33,11,238,*77 $GPGSV,4,4,14,37,25,199,,39,25,194,*7F $GLGSV,2,1,06,66,18,048,,67,72,050,31,75,16,358,38,82,47,171,*68 $GLGSV,2,2,06,83,66,292,37,84,16,325,34*6D $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGBS,135629.997,17.2,16.9,1.0,,,,*69 $GNGGA,135630.997,5543.0325,N,03724.7194,E,1,06,01.8,165.6,M,14.6,M,,*75 $GNRMC,135630.997,A,5543.0325,N,03724.7194,E,00.00,129.5,051209,,,A*7F $PORZD,A,024.1*3B $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135631.997,5543.0326,N,03724.7195,E,1,06,01.8,165.6,M,14.6,M,,*76 $GNRMC,135631.997,A,5543.0326,N,03724.7195,E,00.00,129.5,051209,,,A*7C $PORZD,A,023.8*35 $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135632.997,5543.0326,N,03724.7195,E,1,06,01.8,165.6,M,14.6,M,,*75 $GNRMC,135632.997,A,5543.0326,N,03724.7195,E,00.00,129.5,051209,,,A*7F $PORZD,A,024.1*3B $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135633.997,5543.0326,N,03724.7196,E,1,06,01.8,165.6,M,14.6,M,,*77 $GNRMC,135633.997,A,5543.0326,N,03724.7196,E,00.00,129.5,051209,,,A*7D $PORZD,A,023.9*34 $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135634.997,5543.0326,N,03724.7196,E,1,06,01.8,165.6,M,14.6,M,,*70 $GNRMC,135634.997,A,5543.0326,N,03724.7196,E,00.00,129.5,051209,,,A*7A $PORZD,A,023.8*35 $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135635.997,5543.0326,N,03724.7196,E,1,06,01.8,165.6,M,14.6,M,,*71 $GNRMC,135635.997,A,5543.0326,N,03724.7196,E,00.00,129.5,051209,,,A*7B $PORZD,A,024.1*3B $GPGSV,4,1,14,03,50,217,,06,49,201,,09,10,068,,14,30,153,*74 $GPGSV,4,2,14,18,43,068,,19,58,270,34,21,16,107,,22,76,110,*7E $GPGSV,4,3,14,26,42,127,,27,13,055,27,28,08,344,,33,11,238,*77 $GPGSV,4,4,14,37,25,199,,39,25,194,*7F $GLGSV,2,1,06,66,18,048,,67,72,050,31,75,16,358,37,82,47,171,*67 $GLGSV,2,2,06,83,66,292,37,84,16,325,33*6A $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135636.997,5543.0326,N,03724.7196,E,1,06,01.8,165.6,M,14.6,M,,*72 $GNRMC,135636.997,A,5543.0326,N,03724.7196,E,00.00,129.5,051209,,,A*78 $PORZD,A,024.1*3B $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135637.997,5543.0326,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*72 $GNRMC,135637.997,A,5543.0326,N,03724.7197,E,00.00,129.5,051209,,,A*78 $PORZD,A,023.7*3A $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135638.997,5543.0326,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*7D $GNRMC,135638.997,A,5543.0326,N,03724.7197,E,00.00,129.5,051209,,,A*77 $PORZD,A,024.0*3A $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135639.997,5543.0326,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*7C $GNRMC,135639.997,A,5543.0326,N,03724.7197,E,00.00,129.5,051209,,,A*76 $PORZD,A,024.0*3A $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGBS,135639.997,17.2,16.8,1.0,,,,*69 $GNGGA,135640.997,5543.0327,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*73 $GNRMC,135640.997,A,5543.0327,N,03724.7197,E,00.00,129.5,051209,,,A*79 $PORZD,A,024.0*3A $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135641.997,5543.0327,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*72 $GNRMC,135641.997,A,5543.0327,N,03724.7197,E,00.00,129.5,051209,,,A*78 $PORZD,A,024.0*3A $GPGSV,4,1,14,03,50,217,,06,49,201,,09,10,068,,14,30,153,*74 $GPGSV,4,2,14,18,43,068,,19,58,270,34,21,16,107,,22,76,110,*7E $GPGSV,4,3,14,26,42,127,,27,13,055,27,28,08,344,,33,11,238,*77 $GPGSV,4,4,14,37,25,199,,39,25,194,*7F $GLGSV,2,1,06,66,18,048,,67,72,050,31,75,16,358,37,82,47,171,*67 $GLGSV,2,2,06,83,66,292,37,84,16,325,32*6B $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135642.997,5543.0327,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*71 $GNRMC,135642.997,A,5543.0327,N,03724.7197,E,00.00,129.5,051209,,,A*7B $PORZD,A,024.4*3E $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135643.997,5543.0327,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*70 $GNRMC,135643.997,A,5543.0327,N,03724.7197,E,00.00,129.5,051209,,,A*7A $PORZD,A,024.4*3E $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135644.997,5543.0327,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*77 $GNRMC,135644.997,A,5543.0327,N,03724.7197,E,00.00,129.5,051209,,,A*7D $PORZD,A,024.4*3E $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135645.997,5543.0327,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*76 $GNRMC,135645.997,A,5543.0327,N,03724.7197,E,00.00,129.5,051209,,,A*7C $PORZD,A,024.1*3B $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135646.997,5543.0327,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*75 $GNRMC,135646.997,A,5543.0327,N,03724.7197,E,00.00,129.5,051209,,,A*7F $PORZD,A,024.1*3B $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135647.997,5543.0328,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*7B $GNRMC,135647.997,A,5543.0328,N,03724.7197,E,00.00,129.5,051209,,,A*71 $PORZD,A,024.4*3E $GPGSV,4,1,14,03,50,217,,06,49,201,,09,10,068,,14,30,153,*74 $GPGSV,4,2,14,18,42,068,,19,58,270,34,21,16,107,,22,76,109,*77 $GPGSV,4,3,14,26,42,127,,27,13,055,26,28,08,344,,33,11,238,*76 $GPGSV,4,4,14,37,25,199,,39,25,194,*7F $GLGSV,2,1,06,66,18,048,,67,72,050,31,75,16,358,38,82,47,171,*68 $GLGSV,2,2,06,83,66,291,37,84,17,325,34*6F $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135648.997,5543.0327,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*7B $GNRMC,135648.997,A,5543.0327,N,03724.7197,E,00.00,129.5,051209,,,A*71 $PORZD,A,024.3*39 $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135649.997,5543.0328,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*75 $GNRMC,135649.997,A,5543.0328,N,03724.7197,E,00.00,129.5,051209,,,A*7F $PORZD,A,024.3*39 $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGBS,135649.997,17.2,17.1,1.0,,,,*66 $GNGGA,135650.997,5543.0328,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*7D $GNRMC,135650.997,A,5543.0328,N,03724.7197,E,00.00,129.5,051209,,,A*77 $PORZD,A,024.2*38 $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135651.997,5543.0328,N,03724.7198,E,1,06,01.8,165.6,M,14.6,M,,*73 $GNRMC,135651.997,A,5543.0328,N,03724.7198,E,00.00,129.5,051209,,,A*79 $PORZD,A,024.2*38 $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135652.997,5543.0328,N,03724.7198,E,1,06,01.8,165.6,M,14.6,M,,*70 $GNRMC,135652.997,A,5543.0328,N,03724.7198,E,00.00,129.5,051209,,,A*7A $PORZD,A,024.5*3F $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135653.997,5543.0328,N,03724.7198,E,1,06,01.8,165.6,M,14.6,M,,*71 $GNRMC,135653.997,A,5543.0328,N,03724.7198,E,00.00,129.5,051209,,,A*7B $PORZD,A,024.4*3E $GPGSV,4,1,14,03,50,217,,06,49,201,,09,10,068,,14,30,153,*74 $GPGSV,4,2,14,18,42,068,,19,58,270,36,21,16,107,,22,76,109,*75 $GPGSV,4,3,14,26,42,127,,27,13,055,25,28,08,344,22,33,11,238,*75 $GPGSV,4,4,14,37,25,199,,39,25,194,*7F $GLGSV,2,1,06,66,18,048,,67,72,050,32,75,16,358,39,82,47,171,*6A $GLGSV,2,2,06,83,66,291,37,84,17,325,34*6F $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GLGGA,135654.997,5543.0328,N,03724.7197,E,1,04,02.3,165.6,M,14.6,M,,*71 $GLRMC,135654.997,A,5543.0328,N,03724.7197,E,00.00,129.5,051209,,,A*71 $PORZD,A,027.0*39 $GLGSA,A,2,67,84,83,75,,,,,,,,,02.5,02.3,01.0*1C $GNGGA,135655.997,5543.0328,N,03724.7199,E,1,06,01.8,165.6,M,14.6,M,,*76 $GNRMC,135655.997,A,5543.0328,N,03724.7199,E,00.00,129.5,051209,,,A*7C $PORZD,A,024.5*3F $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135656.997,5543.0329,N,03724.7201,E,1,06,01.8,165.6,M,14.6,M,,*76 $GNRMC,135656.997,A,5543.0329,N,03724.7201,E,00.00,129.5,051209,,,A*7C $PORZD,A,024.5*3F $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135657.997,5543.0328,N,03724.7204,E,1,06,01.8,165.6,M,14.6,M,,*73 $GNRMC,135657.997,A,5543.0328,N,03724.7204,E,00.79,159.0,051209,,,A*75 $PORZD,A,025.7*3C $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GPGGA,135658.997,5543.0326,N,03724.7205,E,0,,,165.6,M,14.6,M,,*7D $GPRMC,135658.997,V,5543.0326,N,03724.7205,E,00.79,159.0,051209,,,N*73 $PORZD,V,026.0*2F $GPGSA,A,1,,,,,,,,,,,,,00.0,00.0,00.0*00 $GPGGA,135659.997,5543.0324,N,03724.7207,E,0,,,165.6,M,14.6,M,,*7C $GPRMC,135659.997,V,5543.0324,N,03724.7207,E,00.79,159.0,051209,,,N*72 $PORZD,V,029.8*28 $GPGSV,4,1,14,03,50,217,,06,49,201,,09,10,068,,14,30,153,*74 $GPGSV,4,2,14,18,42,068,,19,58,270,,21,16,107,,22,76,109,*70 $GPGSV,4,3,14,26,42,127,,27,13,055,,28,08,344,,33,11,238,*72 $GPGSV,4,4,14,37,25,199,,39,25,194,*7F $GLGSV,2,1,06,66,18,048,,67,72,050,,75,16,358,26,82,47,171,*65 $GLGSV,2,2,06,83,66,291,,84,17,325,22*6C $GPGSA,A,1,,,,,,,,,,,,,00.0,00.0,00.0*00 $GPGBS,135659.997,,,,,,,*55 $GPGGA,135700.997,5543.0322,N,03724.7208,E,0,,,165.6,M,14.6,M,,*78 $GPRMC,135700.997,V,5543.0322,N,03724.7208,E,00.79,159.0,051209,,,N*76 $PORZD,V,037.1*2E $GPGSA,A,1,,,,,,,,,,,,,00.0,00.0,00.0*00 $GPGGA,135701.997,5543.0320,N,03724.7210,E,0,,,165.6,M,14.6,M,,*72 $GPRMC,135701.997,V,5543.0320,N,03724.7210,E,00.79,159.0,051209,,,N*7C $PORZD,V,048.0*27 $GPGSA,A,1,,,,,,,,,,,,,00.0,00.0,00.0*00 $GPGGA,135702.997,5543.0318,N,03724.7211,E,0,,,165.6,M,14.6,M,,*7B $GPRMC,135702.997,V,5543.0318,N,03724.7211,E,00.79,159.0,051209,,,N*75 $PORZD,V,062.4*2B $GPGSA,A,1,,,,,,,,,,,,,00.0,00.0,00.0*00 $GPGGA,135703.997,5543.0316,N,03724.7212,E,0,,,165.6,M,14.6,M,,*77 $GPRMC,135703.997,V,5543.0316,N,03724.7212,E,00.79,159.0,051209,,,N*79 $PORZD,V,080.3*20 $GPGSA,A,1,,,,,,,,,,,,,00.0,00.0,00.0*00 $GPGGA,135704.997,5543.0314,N,03724.7214,E,0,,,165.6,M,14.6,M,,*74 $GPRMC,135704.997,V,5543.0314,N,03724.7214,E,00.79,159.0,051209,,,N*7A $PORZD,V,101.8*23 $GPGSA,A,1,,,,,,,,,,,,,00.0,00.0,00.0*00 gpsd-3.9/test/daemon/ch-4711.log.chk0000664000175000017500000006375512135526277015177 0ustar esresr$GNGGA,135627.997,5543.0325,N,03724.7192,E,1,06,01.8,165.6,M,14.6,M,,*75 {"class":"TPV","tag":"GGA","mode":3,"lat":55.717208333,"lon":37.411986667,"alt":165.600} $GNRMC,135627.997,A,5543.0325,N,03724.7192,E,00.00,129.5,051209,,,A*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:27.997Z","ept":0.005,"lat":55.717208333,"lon":37.411986667,"alt":165.600,"track":129.5000,"speed":0.000} $PORZD,A,024.1*3B $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135628.997,5543.0325,N,03724.7193,E,1,06,01.8,165.6,M,14.6,M,,*7B $GNRMC,135628.997,A,5543.0325,N,03724.7193,E,00.00,129.5,051209,,,A*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:28.997Z","ept":0.005,"lat":55.717208333,"lon":37.411988333,"alt":165.600,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000} $PORZD,A,024.1*3B $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135629.997,5543.0325,N,03724.7194,E,1,06,01.8,165.6,M,14.6,M,,*7D $GNRMC,135629.997,A,5543.0325,N,03724.7194,E,00.00,129.5,051209,,,A*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:29.997Z","ept":0.005,"lat":55.717208333,"lon":37.411990000,"alt":165.600,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000} $PORZD,A,024.1*3B $GPGSV,4,1,14,03,50,217,,06,49,201,,09,10,068,,14,30,153,*74 $GPGSV,4,2,14,18,43,068,,19,58,270,35,21,16,107,,22,76,110,*7F $GPGSV,4,3,14,26,42,127,,27,13,055,27,28,08,344,,33,11,238,*77 $GPGSV,4,4,14,37,25,199,,39,25,194,*7F {"class":"SKY","tag":"GSV","xdop":14.63,"ydop":4.47,"vdop":0.90,"tdop":21.29,"hdop":1.80,"gdop":45.46,"pdop":2.10,"satellites":[{"PRN":3,"el":50,"az":217,"ss":0,"used":false},{"PRN":6,"el":49,"az":201,"ss":0,"used":false},{"PRN":9,"el":10,"az":68,"ss":0,"used":false},{"PRN":14,"el":30,"az":153,"ss":0,"used":false},{"PRN":18,"el":43,"az":68,"ss":0,"used":false},{"PRN":19,"el":58,"az":270,"ss":35,"used":false},{"PRN":21,"el":16,"az":107,"ss":0,"used":false},{"PRN":22,"el":76,"az":110,"ss":0,"used":false},{"PRN":26,"el":42,"az":127,"ss":0,"used":false},{"PRN":27,"el":13,"az":55,"ss":27,"used":false},{"PRN":28,"el":8,"az":344,"ss":0,"used":false},{"PRN":120,"el":11,"az":238,"ss":0,"used":false},{"PRN":124,"el":25,"az":199,"ss":0,"used":false},{"PRN":126,"el":25,"az":194,"ss":0,"used":false}]} $GLGSV,2,1,06,66,18,048,,67,72,050,31,75,16,358,38,82,47,171,*68 $GLGSV,2,2,06,83,66,292,37,84,16,325,34*6D {"class":"SKY","tag":"GSV","xdop":14.63,"ydop":4.47,"vdop":0.90,"tdop":21.29,"hdop":1.80,"gdop":45.46,"pdop":2.10,"satellites":[{"PRN":66,"el":18,"az":48,"ss":0,"used":false},{"PRN":67,"el":72,"az":50,"ss":31,"used":true},{"PRN":75,"el":16,"az":358,"ss":38,"used":true},{"PRN":82,"el":47,"az":171,"ss":0,"used":false},{"PRN":83,"el":66,"az":292,"ss":37,"used":true},{"PRN":84,"el":16,"az":325,"ss":34,"used":true}]} $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGBS,135629.997,17.2,16.9,1.0,,,,*69 $GNGGA,135630.997,5543.0325,N,03724.7194,E,1,06,01.8,165.6,M,14.6,M,,*75 $GNRMC,135630.997,A,5543.0325,N,03724.7194,E,00.00,129.5,051209,,,A*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:30.997Z","ept":0.005,"lat":55.717208333,"lon":37.411990000,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":236.68} $PORZD,A,024.1*3B $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135631.997,5543.0326,N,03724.7195,E,1,06,01.8,165.6,M,14.6,M,,*76 $GNRMC,135631.997,A,5543.0326,N,03724.7195,E,00.00,129.5,051209,,,A*7C {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:31.997Z","ept":0.005,"lat":55.717210000,"lon":37.411991667,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,023.8*35 $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135632.997,5543.0326,N,03724.7195,E,1,06,01.8,165.6,M,14.6,M,,*75 $GNRMC,135632.997,A,5543.0326,N,03724.7195,E,00.00,129.5,051209,,,A*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:32.997Z","ept":0.005,"lat":55.717210000,"lon":37.411991667,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,024.1*3B $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135633.997,5543.0326,N,03724.7196,E,1,06,01.8,165.6,M,14.6,M,,*77 $GNRMC,135633.997,A,5543.0326,N,03724.7196,E,00.00,129.5,051209,,,A*7D {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:33.997Z","ept":0.005,"lat":55.717210000,"lon":37.411993333,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,023.9*34 $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135634.997,5543.0326,N,03724.7196,E,1,06,01.8,165.6,M,14.6,M,,*70 $GNRMC,135634.997,A,5543.0326,N,03724.7196,E,00.00,129.5,051209,,,A*7A {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:34.997Z","ept":0.005,"lat":55.717210000,"lon":37.411993333,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,023.8*35 $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135635.997,5543.0326,N,03724.7196,E,1,06,01.8,165.6,M,14.6,M,,*71 $GNRMC,135635.997,A,5543.0326,N,03724.7196,E,00.00,129.5,051209,,,A*7B {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:35.997Z","ept":0.005,"lat":55.717210000,"lon":37.411993333,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,024.1*3B $GPGSV,4,1,14,03,50,217,,06,49,201,,09,10,068,,14,30,153,*74 $GPGSV,4,2,14,18,43,068,,19,58,270,34,21,16,107,,22,76,110,*7E $GPGSV,4,3,14,26,42,127,,27,13,055,27,28,08,344,,33,11,238,*77 $GPGSV,4,4,14,37,25,199,,39,25,194,*7F {"class":"SKY","tag":"GSV","xdop":14.63,"ydop":4.47,"vdop":0.90,"tdop":21.29,"hdop":1.80,"gdop":45.46,"pdop":2.10,"satellites":[{"PRN":3,"el":50,"az":217,"ss":0,"used":false},{"PRN":6,"el":49,"az":201,"ss":0,"used":false},{"PRN":9,"el":10,"az":68,"ss":0,"used":false},{"PRN":14,"el":30,"az":153,"ss":0,"used":false},{"PRN":18,"el":43,"az":68,"ss":0,"used":false},{"PRN":19,"el":58,"az":270,"ss":34,"used":false},{"PRN":21,"el":16,"az":107,"ss":0,"used":false},{"PRN":22,"el":76,"az":110,"ss":0,"used":false},{"PRN":26,"el":42,"az":127,"ss":0,"used":false},{"PRN":27,"el":13,"az":55,"ss":27,"used":false},{"PRN":28,"el":8,"az":344,"ss":0,"used":false},{"PRN":120,"el":11,"az":238,"ss":0,"used":false},{"PRN":124,"el":25,"az":199,"ss":0,"used":false},{"PRN":126,"el":25,"az":194,"ss":0,"used":false}]} $GLGSV,2,1,06,66,18,048,,67,72,050,31,75,16,358,37,82,47,171,*67 $GLGSV,2,2,06,83,66,292,37,84,16,325,33*6A {"class":"SKY","tag":"GSV","xdop":14.63,"ydop":4.47,"vdop":0.90,"tdop":21.29,"hdop":1.80,"gdop":45.46,"pdop":2.10,"satellites":[{"PRN":66,"el":18,"az":48,"ss":0,"used":false},{"PRN":67,"el":72,"az":50,"ss":31,"used":true},{"PRN":75,"el":16,"az":358,"ss":37,"used":true},{"PRN":82,"el":47,"az":171,"ss":0,"used":false},{"PRN":83,"el":66,"az":292,"ss":37,"used":true},{"PRN":84,"el":16,"az":325,"ss":33,"used":true}]} $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135636.997,5543.0326,N,03724.7196,E,1,06,01.8,165.6,M,14.6,M,,*72 $GNRMC,135636.997,A,5543.0326,N,03724.7196,E,00.00,129.5,051209,,,A*78 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:36.997Z","ept":0.005,"lat":55.717210000,"lon":37.411993333,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,024.1*3B $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135637.997,5543.0326,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*72 $GNRMC,135637.997,A,5543.0326,N,03724.7197,E,00.00,129.5,051209,,,A*78 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:37.997Z","ept":0.005,"lat":55.717210000,"lon":37.411995000,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,023.7*3A $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135638.997,5543.0326,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*7D $GNRMC,135638.997,A,5543.0326,N,03724.7197,E,00.00,129.5,051209,,,A*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:38.997Z","ept":0.005,"lat":55.717210000,"lon":37.411995000,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,024.0*3A $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135639.997,5543.0326,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*7C $GNRMC,135639.997,A,5543.0326,N,03724.7197,E,00.00,129.5,051209,,,A*76 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:39.997Z","ept":0.005,"lat":55.717210000,"lon":37.411995000,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,024.0*3A $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGBS,135639.997,17.2,16.8,1.0,,,,*69 {"class":"TPV","tag":"GBS","mode":3,"time":"2009-12-05T13:56:39.997Z","ept":0.005,"lat":55.717210000,"lon":37.411995000,"alt":165.600,"epx":16.800,"epy":17.200,"epv":1.000,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $GNGGA,135640.997,5543.0327,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*73 $GNRMC,135640.997,A,5543.0327,N,03724.7197,E,00.00,129.5,051209,,,A*79 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:40.997Z","ept":0.005,"lat":55.717211667,"lon":37.411995000,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":236.68} $PORZD,A,024.0*3A $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135641.997,5543.0327,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*72 $GNRMC,135641.997,A,5543.0327,N,03724.7197,E,00.00,129.5,051209,,,A*78 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:41.997Z","ept":0.005,"lat":55.717211667,"lon":37.411995000,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,024.0*3A $GPGSV,4,1,14,03,50,217,,06,49,201,,09,10,068,,14,30,153,*74 $GPGSV,4,2,14,18,43,068,,19,58,270,34,21,16,107,,22,76,110,*7E $GPGSV,4,3,14,26,42,127,,27,13,055,27,28,08,344,,33,11,238,*77 $GPGSV,4,4,14,37,25,199,,39,25,194,*7F {"class":"SKY","tag":"GSV","xdop":14.63,"ydop":4.47,"vdop":0.90,"tdop":21.29,"hdop":1.80,"gdop":45.46,"pdop":2.10,"satellites":[{"PRN":3,"el":50,"az":217,"ss":0,"used":false},{"PRN":6,"el":49,"az":201,"ss":0,"used":false},{"PRN":9,"el":10,"az":68,"ss":0,"used":false},{"PRN":14,"el":30,"az":153,"ss":0,"used":false},{"PRN":18,"el":43,"az":68,"ss":0,"used":false},{"PRN":19,"el":58,"az":270,"ss":34,"used":false},{"PRN":21,"el":16,"az":107,"ss":0,"used":false},{"PRN":22,"el":76,"az":110,"ss":0,"used":false},{"PRN":26,"el":42,"az":127,"ss":0,"used":false},{"PRN":27,"el":13,"az":55,"ss":27,"used":false},{"PRN":28,"el":8,"az":344,"ss":0,"used":false},{"PRN":120,"el":11,"az":238,"ss":0,"used":false},{"PRN":124,"el":25,"az":199,"ss":0,"used":false},{"PRN":126,"el":25,"az":194,"ss":0,"used":false}]} $GLGSV,2,1,06,66,18,048,,67,72,050,31,75,16,358,37,82,47,171,*67 $GLGSV,2,2,06,83,66,292,37,84,16,325,32*6B {"class":"SKY","tag":"GSV","xdop":14.63,"ydop":4.47,"vdop":0.90,"tdop":21.29,"hdop":1.80,"gdop":45.46,"pdop":2.10,"satellites":[{"PRN":66,"el":18,"az":48,"ss":0,"used":false},{"PRN":67,"el":72,"az":50,"ss":31,"used":true},{"PRN":75,"el":16,"az":358,"ss":37,"used":true},{"PRN":82,"el":47,"az":171,"ss":0,"used":false},{"PRN":83,"el":66,"az":292,"ss":37,"used":true},{"PRN":84,"el":16,"az":325,"ss":32,"used":true}]} $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135642.997,5543.0327,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*71 $GNRMC,135642.997,A,5543.0327,N,03724.7197,E,00.00,129.5,051209,,,A*7B {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:42.997Z","ept":0.005,"lat":55.717211667,"lon":37.411995000,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,024.4*3E $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135643.997,5543.0327,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*70 $GNRMC,135643.997,A,5543.0327,N,03724.7197,E,00.00,129.5,051209,,,A*7A {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:43.997Z","ept":0.005,"lat":55.717211667,"lon":37.411995000,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,024.4*3E $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135644.997,5543.0327,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*77 $GNRMC,135644.997,A,5543.0327,N,03724.7197,E,00.00,129.5,051209,,,A*7D {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:44.997Z","ept":0.005,"lat":55.717211667,"lon":37.411995000,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,024.4*3E $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135645.997,5543.0327,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*76 $GNRMC,135645.997,A,5543.0327,N,03724.7197,E,00.00,129.5,051209,,,A*7C {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:45.997Z","ept":0.005,"lat":55.717211667,"lon":37.411995000,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,024.1*3B $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135646.997,5543.0327,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*75 $GNRMC,135646.997,A,5543.0327,N,03724.7197,E,00.00,129.5,051209,,,A*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:46.997Z","ept":0.005,"lat":55.717211667,"lon":37.411995000,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,024.1*3B $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135647.997,5543.0328,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*7B $GNRMC,135647.997,A,5543.0328,N,03724.7197,E,00.00,129.5,051209,,,A*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:47.997Z","ept":0.005,"lat":55.717213333,"lon":37.411995000,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,024.4*3E $GPGSV,4,1,14,03,50,217,,06,49,201,,09,10,068,,14,30,153,*74 $GPGSV,4,2,14,18,42,068,,19,58,270,34,21,16,107,,22,76,109,*77 $GPGSV,4,3,14,26,42,127,,27,13,055,26,28,08,344,,33,11,238,*76 $GPGSV,4,4,14,37,25,199,,39,25,194,*7F {"class":"SKY","tag":"GSV","xdop":14.63,"ydop":4.47,"vdop":0.90,"tdop":21.29,"hdop":1.80,"gdop":45.46,"pdop":2.10,"satellites":[{"PRN":3,"el":50,"az":217,"ss":0,"used":false},{"PRN":6,"el":49,"az":201,"ss":0,"used":false},{"PRN":9,"el":10,"az":68,"ss":0,"used":false},{"PRN":14,"el":30,"az":153,"ss":0,"used":false},{"PRN":18,"el":42,"az":68,"ss":0,"used":false},{"PRN":19,"el":58,"az":270,"ss":34,"used":false},{"PRN":21,"el":16,"az":107,"ss":0,"used":false},{"PRN":22,"el":76,"az":109,"ss":0,"used":false},{"PRN":26,"el":42,"az":127,"ss":0,"used":false},{"PRN":27,"el":13,"az":55,"ss":26,"used":false},{"PRN":28,"el":8,"az":344,"ss":0,"used":false},{"PRN":120,"el":11,"az":238,"ss":0,"used":false},{"PRN":124,"el":25,"az":199,"ss":0,"used":false},{"PRN":126,"el":25,"az":194,"ss":0,"used":false}]} $GLGSV,2,1,06,66,18,048,,67,72,050,31,75,16,358,38,82,47,171,*68 $GLGSV,2,2,06,83,66,291,37,84,17,325,34*6F {"class":"SKY","tag":"GSV","xdop":14.63,"ydop":4.47,"vdop":0.90,"tdop":21.29,"hdop":1.80,"gdop":45.46,"pdop":2.10,"satellites":[{"PRN":66,"el":18,"az":48,"ss":0,"used":false},{"PRN":67,"el":72,"az":50,"ss":31,"used":true},{"PRN":75,"el":16,"az":358,"ss":38,"used":true},{"PRN":82,"el":47,"az":171,"ss":0,"used":false},{"PRN":83,"el":66,"az":291,"ss":37,"used":true},{"PRN":84,"el":17,"az":325,"ss":34,"used":true}]} $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135648.997,5543.0327,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*7B $GNRMC,135648.997,A,5543.0327,N,03724.7197,E,00.00,129.5,051209,,,A*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:48.997Z","ept":0.005,"lat":55.717211667,"lon":37.411995000,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,024.3*39 $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135649.997,5543.0328,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*75 $GNRMC,135649.997,A,5543.0328,N,03724.7197,E,00.00,129.5,051209,,,A*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:49.997Z","ept":0.005,"lat":55.717213333,"lon":37.411995000,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,024.3*39 $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGBS,135649.997,17.2,17.1,1.0,,,,*66 {"class":"TPV","tag":"GBS","mode":3,"time":"2009-12-05T13:56:49.997Z","ept":0.005,"lat":55.717213333,"lon":37.411995000,"alt":165.600,"epx":17.100,"epy":17.200,"epv":1.000,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $GNGGA,135650.997,5543.0328,N,03724.7197,E,1,06,01.8,165.6,M,14.6,M,,*7D $GNRMC,135650.997,A,5543.0328,N,03724.7197,E,00.00,129.5,051209,,,A*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:50.997Z","ept":0.005,"lat":55.717213333,"lon":37.411995000,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":236.68} $PORZD,A,024.2*38 $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135651.997,5543.0328,N,03724.7198,E,1,06,01.8,165.6,M,14.6,M,,*73 $GNRMC,135651.997,A,5543.0328,N,03724.7198,E,00.00,129.5,051209,,,A*79 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:51.997Z","ept":0.005,"lat":55.717213333,"lon":37.411996667,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,024.2*38 $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135652.997,5543.0328,N,03724.7198,E,1,06,01.8,165.6,M,14.6,M,,*70 $GNRMC,135652.997,A,5543.0328,N,03724.7198,E,00.00,129.5,051209,,,A*7A {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:52.997Z","ept":0.005,"lat":55.717213333,"lon":37.411996667,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,024.5*3F $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135653.997,5543.0328,N,03724.7198,E,1,06,01.8,165.6,M,14.6,M,,*71 $GNRMC,135653.997,A,5543.0328,N,03724.7198,E,00.00,129.5,051209,,,A*7B {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:53.997Z","ept":0.005,"lat":55.717213333,"lon":37.411996667,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,024.4*3E $GPGSV,4,1,14,03,50,217,,06,49,201,,09,10,068,,14,30,153,*74 $GPGSV,4,2,14,18,42,068,,19,58,270,36,21,16,107,,22,76,109,*75 $GPGSV,4,3,14,26,42,127,,27,13,055,25,28,08,344,22,33,11,238,*75 $GPGSV,4,4,14,37,25,199,,39,25,194,*7F {"class":"SKY","tag":"GSV","xdop":14.63,"ydop":4.47,"vdop":0.90,"tdop":21.29,"hdop":1.80,"gdop":45.46,"pdop":2.10,"satellites":[{"PRN":3,"el":50,"az":217,"ss":0,"used":false},{"PRN":6,"el":49,"az":201,"ss":0,"used":false},{"PRN":9,"el":10,"az":68,"ss":0,"used":false},{"PRN":14,"el":30,"az":153,"ss":0,"used":false},{"PRN":18,"el":42,"az":68,"ss":0,"used":false},{"PRN":19,"el":58,"az":270,"ss":36,"used":false},{"PRN":21,"el":16,"az":107,"ss":0,"used":false},{"PRN":22,"el":76,"az":109,"ss":0,"used":false},{"PRN":26,"el":42,"az":127,"ss":0,"used":false},{"PRN":27,"el":13,"az":55,"ss":25,"used":false},{"PRN":28,"el":8,"az":344,"ss":22,"used":false},{"PRN":120,"el":11,"az":238,"ss":0,"used":false},{"PRN":124,"el":25,"az":199,"ss":0,"used":false},{"PRN":126,"el":25,"az":194,"ss":0,"used":false}]} $GLGSV,2,1,06,66,18,048,,67,72,050,32,75,16,358,39,82,47,171,*6A $GLGSV,2,2,06,83,66,291,37,84,17,325,34*6F {"class":"SKY","tag":"GSV","xdop":14.63,"ydop":4.47,"vdop":0.90,"tdop":21.29,"hdop":1.80,"gdop":45.46,"pdop":2.10,"satellites":[{"PRN":66,"el":18,"az":48,"ss":0,"used":false},{"PRN":67,"el":72,"az":50,"ss":32,"used":true},{"PRN":75,"el":16,"az":358,"ss":39,"used":true},{"PRN":82,"el":47,"az":171,"ss":0,"used":false},{"PRN":83,"el":66,"az":291,"ss":37,"used":true},{"PRN":84,"el":17,"az":325,"ss":34,"used":true}]} $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GLGGA,135654.997,5543.0328,N,03724.7197,E,1,04,02.3,165.6,M,14.6,M,,*71 $GLRMC,135654.997,A,5543.0328,N,03724.7197,E,00.00,129.5,051209,,,A*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:54.997Z","ept":0.005,"lat":55.717213333,"lon":37.411995000,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,027.0*39 $GLGSA,A,2,67,84,83,75,,,,,,,,,02.5,02.3,01.0*1C $GNGGA,135655.997,5543.0328,N,03724.7199,E,1,06,01.8,165.6,M,14.6,M,,*76 $GNRMC,135655.997,A,5543.0328,N,03724.7199,E,00.00,129.5,051209,,,A*7C {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:55.997Z","ept":0.005,"lat":55.717213333,"lon":37.411998333,"alt":165.600,"epx":219.478,"epy":66.992,"epv":23.000,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,024.5*3F $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135656.997,5543.0329,N,03724.7201,E,1,06,01.8,165.6,M,14.6,M,,*76 $GNRMC,135656.997,A,5543.0329,N,03724.7201,E,00.00,129.5,051209,,,A*7C {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:56.997Z","ept":0.005,"lat":55.717215000,"lon":37.412001667,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":129.5000,"speed":0.000,"climb":0.000,"eps":438.96} $PORZD,A,024.5*3F $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GNGGA,135657.997,5543.0328,N,03724.7204,E,1,06,01.8,165.6,M,14.6,M,,*73 $GNRMC,135657.997,A,5543.0328,N,03724.7204,E,00.79,159.0,051209,,,A*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T13:56:57.997Z","ept":0.005,"lat":55.717213333,"lon":37.412006667,"alt":165.600,"epx":219.478,"epy":66.992,"epv":20.700,"track":159.0000,"speed":0.406,"climb":0.000,"eps":438.96} $PORZD,A,025.7*3C $GNGSA,A,2,19,27,,,,,,,,,,,02.1,01.8,00.9*13 $GNGSA,A,2,67,84,83,75,,,,,,,,,02.1,01.8,00.9*1A $GPGGA,135658.997,5543.0326,N,03724.7205,E,0,,,165.6,M,14.6,M,,*7D $GPRMC,135658.997,V,5543.0326,N,03724.7205,E,00.79,159.0,051209,,,N*73 $PORZD,V,026.0*2F $GPGSA,A,1,,,,,,,,,,,,,00.0,00.0,00.0*00 $GPGGA,135659.997,5543.0324,N,03724.7207,E,0,,,165.6,M,14.6,M,,*7C $GPRMC,135659.997,V,5543.0324,N,03724.7207,E,00.79,159.0,051209,,,N*72 $PORZD,V,029.8*28 $GPGSV,4,1,14,03,50,217,,06,49,201,,09,10,068,,14,30,153,*74 $GPGSV,4,2,14,18,42,068,,19,58,270,,21,16,107,,22,76,109,*70 $GPGSV,4,3,14,26,42,127,,27,13,055,,28,08,344,,33,11,238,*72 $GPGSV,4,4,14,37,25,199,,39,25,194,*7F {"class":"SKY","tag":"GSV","xdop":14.63,"ydop":4.47,"vdop":0.00,"tdop":21.29,"hdop":0.00,"gdop":45.46,"pdop":0.00,"satellites":[{"PRN":3,"el":50,"az":217,"ss":0,"used":false},{"PRN":6,"el":49,"az":201,"ss":0,"used":false},{"PRN":9,"el":10,"az":68,"ss":0,"used":false},{"PRN":14,"el":30,"az":153,"ss":0,"used":false},{"PRN":18,"el":42,"az":68,"ss":0,"used":false},{"PRN":19,"el":58,"az":270,"ss":0,"used":false},{"PRN":21,"el":16,"az":107,"ss":0,"used":false},{"PRN":22,"el":76,"az":109,"ss":0,"used":false},{"PRN":26,"el":42,"az":127,"ss":0,"used":false},{"PRN":27,"el":13,"az":55,"ss":0,"used":false},{"PRN":28,"el":8,"az":344,"ss":0,"used":false},{"PRN":120,"el":11,"az":238,"ss":0,"used":false},{"PRN":124,"el":25,"az":199,"ss":0,"used":false},{"PRN":126,"el":25,"az":194,"ss":0,"used":false}]} $GLGSV,2,1,06,66,18,048,,67,72,050,,75,16,358,26,82,47,171,*65 $GLGSV,2,2,06,83,66,291,,84,17,325,22*6C {"class":"SKY","tag":"GSV","xdop":14.63,"ydop":4.47,"vdop":0.00,"tdop":21.29,"hdop":0.00,"gdop":45.46,"pdop":0.00,"satellites":[{"PRN":66,"el":18,"az":48,"ss":0,"used":false},{"PRN":67,"el":72,"az":50,"ss":0,"used":false},{"PRN":75,"el":16,"az":358,"ss":26,"used":false},{"PRN":82,"el":47,"az":171,"ss":0,"used":false},{"PRN":83,"el":66,"az":291,"ss":0,"used":false},{"PRN":84,"el":17,"az":325,"ss":22,"used":false}]} $GPGSA,A,1,,,,,,,,,,,,,00.0,00.0,00.0*00 $GPGBS,135659.997,,,,,,,*55 $GPGGA,135700.997,5543.0322,N,03724.7208,E,0,,,165.6,M,14.6,M,,*78 $GPRMC,135700.997,V,5543.0322,N,03724.7208,E,00.79,159.0,051209,,,N*76 $PORZD,V,037.1*2E $GPGSA,A,1,,,,,,,,,,,,,00.0,00.0,00.0*00 $GPGGA,135701.997,5543.0320,N,03724.7210,E,0,,,165.6,M,14.6,M,,*72 $GPRMC,135701.997,V,5543.0320,N,03724.7210,E,00.79,159.0,051209,,,N*7C $PORZD,V,048.0*27 $GPGSA,A,1,,,,,,,,,,,,,00.0,00.0,00.0*00 $GPGGA,135702.997,5543.0318,N,03724.7211,E,0,,,165.6,M,14.6,M,,*7B $GPRMC,135702.997,V,5543.0318,N,03724.7211,E,00.79,159.0,051209,,,N*75 $PORZD,V,062.4*2B $GPGSA,A,1,,,,,,,,,,,,,00.0,00.0,00.0*00 $GPGGA,135703.997,5543.0316,N,03724.7212,E,0,,,165.6,M,14.6,M,,*77 $GPRMC,135703.997,V,5543.0316,N,03724.7212,E,00.79,159.0,051209,,,N*79 $PORZD,V,080.3*20 $GPGSA,A,1,,,,,,,,,,,,,00.0,00.0,00.0*00 $GPGGA,135704.997,5543.0314,N,03724.7214,E,0,,,165.6,M,14.6,M,,*74 $GPRMC,135704.997,V,5543.0314,N,03724.7214,E,00.79,159.0,051209,,,N*7A $PORZD,V,101.8*23 $GPGSA,A,1,,,,,,,,,,,,,00.0,00.0,00.0*00 gpsd-3.9/test/daemon/com-1289.log0000664000175000017500000005706711762140436014617 0ustar esresr# Name: Eurotech Com-1289 # Chipset: Fastrax iTrax03 # Submitter: Simon Le Pape # Date: 2007-12-10 # Location: Rennes, Ile-etVilaine, France # Documentation says this chip emits ZDA and RMC in that order. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,35,05,16,114,43,06,65,063,50,07,72,061,47*79 $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,43,153,53,23,12,316,51*72 $GPGSV,3,3,11,24,51,098,55,30,33,110,50,31,60,230,47*4A $GPRMC,143748.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*0A $GPGGA,143748.77,4806.3731,N,00138.6217,W,1,10,1.1,42.2,M,48.5,M,,*4B $PFST,FOM,6*63 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,35,05,16,114,43,06,65,063,50,07,72,061,47*79 $GPGSV,3,2,11,10,09,057,39,16,35,295,48,21,43,153,53,23,12,316,51*7C $GPGSV,3,3,11,24,51,098,55,30,33,110,50,31,60,230,47*4A $GPRMC,143749.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*0B $GPGGA,143749.77,4806.3731,N,00138.6217,W,1,10,1.1,42.2,M,48.5,M,,*4A $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,34,05,16,114,42,06,65,063,50,07,72,061,47*79 $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,43,153,53,23,12,316,51*72 $GPGSV,3,3,11,24,51,098,55,30,33,110,50,31,60,230,47*4A $GPRMC,143750.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*03 $GPGGA,143750.77,4806.3731,N,00138.6217,W,1,10,1.0,42.2,M,48.5,M,,*43 $PFST,FOM,6*63 $GPGSA,A,3,01,05,06,07,16,21,23,24,30,31,,,1.5,1.0,1.2*33 $GPGSV,3,1,11,01,06,230,34,05,16,114,42,06,65,063,50,07,72,061,47*79 $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,43,153,53,23,12,316,51*72 $GPGSV,3,3,11,24,51,098,,110,50,31,60,230,46*4B $GPRMC,143751.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*02 $GPGGA,143751.77,4806.3731,N,00138.6217,W,1,10,1.3,42.2,M,48.5,M,,*41 $PFST,FOM,6*63 $GPGSA,A,3,01,05,06,07,16,21,23,24,30,31,,,1.9,1.3,1.3*3D $GPGSV,3,1,11,01,06,230,35,05,16,114,42,06,65,063,50,07,72,061,47*78 $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,43,153,53,23,12,316,51*72 $GPGSV,3,3,11,24,51,098,55,30,33,110,50,31,60,230,46*4B $GPRMC,143752.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*01 $GPGGA,143752.77,4806.3731,N,00138.6217,W,1,10,1.1,42.1,M,48.5,M,,*43 $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,35,05,16,114,42,06,65,063,50,07,72,061,47*78 $GPGSV,3,2,11,10,09,057,41,16,35,295,48,21,44,152,53,23,12,316,51*75 $GPGSV,3,3,11,24,51,098,55,30,33,110,50,31,60,230,46*4B $GPRMC,143753.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*00 $GPGGA,143753.77,4806.3731,N,00138.6217,W,1,10,1.1,42.2,M,48.5,M,,*41 $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,34,05,16,114,42,06,65,063,50,07,72,061,47*79 $GPGSV,3,2,11,10,09,057,41,16,35,295,48,21,44,152,53,23,12,316,51*75 $GPGSV,3,3,11,24,51,098,55,30,33,110,50,31,60,230,46*4B $GPRMC,143754.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*07 $GPGGA,143754.77,4806.3731,N,00138.6217,W,1,10,1.1,42.1,M,48.5,M,,*45 $PFST,FOM,2*67 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,34,05,16,114,41,06,65,063,50,07,72,061,47*7A $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,44,152,53,23,12,316,51*74 $GPGSV,3,3,11,24,51,098,55,30,33,110,50,31,60,230,47*4A $GPRMC,143755.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*06 $GPGGA,143755.77,4806.3731,N,00138.6217,W,1,10,1.1,42.1,M,48.5,M,,*44 $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,34,05,16,114,41,06,65,063,49,07,72,061,47*72 $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,44,152,53,23,12,316,51*74 $GPGSV,3,3,11,24,51,097,55,30,33,110,51,31,60,230,47*44 $GPRMC,143756.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*05 $GPGGA,143756.77,4806.3731,N,00138.6217,W,1,10,1.1,42.1,M,48.5,M,,*47 $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,33,05,16,114,42,06,65,063,49,07,72,061,47*76 $GPGSV,3,2,11,10,09,057,39,16,35,295,48,21,44,152,53,23,12,316,51*7A $GPGSV,3,3,11,24,51,097,54,30,33,110,50,31,60,230,47*44 $GPRMC,143757.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*04 $GPGGA,143757.77,4806.3731,N,00138.6217,W,1,10,1.3,42.1,M,48.5,M,,*44 $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.9,1.3,1.3*3D $GPGSV,3,1,11,01,06,230,33,05,16,114,42,06,65,063,49,07,72,061,47*76 $GPGSV,3,2,11,10,09,057,38,16,35,295,48,21,44,152,53,23,12,316,51*7B $GPGSV,3,3,11,24,51,097,54,30,33,110,50,31,60,230,47*44 $GPRMC,143758.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*0B $GPGGA,143758.77,4806.3731,N,00138.6217,W,1,09,1.3,42.1,M,48.5,M,,*43 $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,16,21,23,24,30,31,,,,1.9,1.3,1.3*3C $GPGSV,3,1,11,01,06,230,32,05,16,114,42,06,65,063,49,07,72,061,46*76 $GPGSV,3,2,11,10,09,057,37,16,35,295,48,21,44,152,53,23,12,316,51*74 $GPGSV,3,3,11,24,51,097,54,30,33,110,50,31,60,230,47*44 $GPRMC,143759.77,A,4806.3731,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*0B $GPGGA,143759.77,4806.3731,N,00138.6216,W,1,09,1.3,42.1,M,48.5,M,,*43 $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,16,21,23,24,30,31,,,,2.2,1.3,1.7*30 $GPGSV,3,1,11,01,06,230,32,05,16,114,42,06,65,063,49,07,72,061,46*76 $GPGSV,3,2,11,10,09,057,38,16,35,295,48,21,44,152,53,23,12,316,51*7B $GPGSV,3,3,11,24,51,097,54,30,33,110,50,31,60,230,47*44 $GPRMC,143800.77,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*0B $GPGGA,143800.77,4806.3732,N,00138.6216,W,1,09,1.3,42.1,M,48.5,M,,*43 $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,16,21,23,24,30,31,,,,1.9,1.3,1.3*3C $GPGSV,3,1,11,01,06,230,31,05,16,114,42,06,65,063,49,07,72,061,46*75 $GPGSV,3,2,11,10,09,057,38,16,35,295,48,21,44,152,53,23,12,316,51*7B $GPGSV,3,3,11,24,51,097,54,30,33,110,50,31,60,230,46*45 $GPRMC,143801.77,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*0A $GPGGA,143801.77,4806.3732,N,00138.6216,W,1,10,1.7,42.1,M,48.5,M,,*4E $PFST,FOM,7*62 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,2.4,1.7,1.6*32 $GPGSV,3,1,11,01,06,230,32,05,16,114,43,06,65,063,49,07,72,061,46*77 $GPGSV,3,2,11,10,09,057,38,16,35,295,48,21,44,152,53,23,12,316,51*7B $GPGSV,3,3,11,24,51,097,54,30,32,110,50,31,60,230,46*44 $GPRMC,143802.77,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*09 $GPGGA,143802.77,4806.3732,N,00138.6216,W,1,09,1.7,42.1,M,48.5,M,,*45 $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,,,,2.4,1.7,1.6*30 $GPGSV,3,1,11,01,06,230,32,05,16,114,43,06,65,063,49,07,72,061,47*76 $GPGSV,3,2,11,10,09,057,39,16,35,295,48,21,44,152,53,23,12,316,51*7A $GPGSV,3,3,11,24,51,097,54,30,32,110,50,31,60,229,46*4C $GPRMC,143803.77,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*08 $GPGGA,143803.77,4806.3732,N,00138.6216,W,1,11,1.1,42.1,M,48.5,M,,*4B $PFST,FOM,8*6D $GPGSA,A,3,01,05,06,07,10,16,21,23,24,30,31,,1.7,1.1,1.2*31 $GPGSV,3,1,11,01,06,230,32,05,16,114,44,06,65,063,49,07,72,061,47*71 $GPGSV,3,2,11,10,09,057,39,16,35,295,48,21,44,152,53,23,12,316,52*79 $GPGSV,3,3,11,24,51,097,55,30,32,110,50,31,60,229,46*4D $GPRMC,143804.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*00 $GPGGA,143804.78,4806.3732,N,00138.6216,W,1,09,1.3,42.1,M,48.5,M,,*48 $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,16,21,23,24,30,31,,,,1.9,1.3,1.3*3C $GPGSV,3,1,11,01,06,230,33,05,16,114,44,06,65,063,49,07,72,061,47*70 $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,44,152,53,23,12,316,52*77 $GPGSV,3,3,11,24,51,097,55,30,32,110,50,31,60,229,46*4D $GPRMC,143805.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*01 $GPGGA,143805.78,4806.3732,N,00138.6216,W,1,09,1.3,42.1,M,48.5,M,,*49 $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,16,21,23,24,30,31,,,,1.9,1.3,1.3*3C $GPGSV,3,1,11,01,06,230,00,05,16,114,44,06,65,063,49,07,72,061,47*70 $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,44,152,53,23,12,316,51*74 $GPGSV,3,3,11,24,51,097,55,30,32,110,50,31,60,229,46*4D $GPRMC,143806.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*02 $GPGGA,143806.78,4806.3732,N,00138.6216,W,1,10,1.1,42.1,M,48.5,M,,*40 $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,13,05,16,114,44,06,65,063,49,07,72,061,47*72 $GPGSV,3,2,11,10,09,057,41,16,35,295,48,21,44,152,53,23,12,316,52*76 $GPGSV,3,3,11,24,51,097,55,30,32,110,50,31,60,229,46*4D $GPRMC,143807.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*03 $GPGGA,143807.78,4806.3732,N,00138.6216,W,1,10,1.1,42.1,M,48.5,M,,*41 $PFST,FOM,6*63 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,30,05,16,114,44,06,65,063,49,07,72,061,47*73 $GPGSV,3,2,11,10,09,057,41,16,35,295,48,21,44,152,53,23,12,316,52*76 $GPGSV,3,3,11,24,51,097,55,30,32,110,50,31,60,229,46*4D $GPRMC,143808.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*0C $GPGGA,143808.78,4806.3732,N,00138.6216,W,1,10,1.1,42.1,M,48.5,M,,*4E $PFST,FOM,6*63 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,33,05,16,114,43,06,65,063,49,07,72,061,47*77 $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,44,152,53,23,12,316,51*74 $GPGSV,3,3,11,24,51,097,55,30,32,110,51,31,60,229,47*4D $GPRMC,143809.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*0D $GPGGA,143809.78,4806.3732,N,00138.6216,W,1,09,1.3,42.1,M,48.5,M,,*45 $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,16,21,23,24,30,31,,,,2.2,1.3,1.7*30 $GPGSV,3,1,11,01,06,230,33,05,16,114,45,06,65,063,49,07,72,061,47*71 $GPGSV,3,2,11,10,09,057,38,16,35,295,48,21,44,152,53,23,12,316,52*78 $GPGSV,3,3,11,24,51,097,54,30,32,110,51,31,60,229,46*4D $GPRMC,143810.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*05 $GPGGA,143810.78,4806.3732,N,00138.6216,W,1,10,1.0,42.1,M,48.5,M,,*46 $PFST,FOM,6*63 $GPGSA,A,3,01,05,06,07,16,21,23,24,30,31,,,1.5,1.0,1.2*33 $GPGSV,3,1,11,01,06,230,36,05,16,114,44,06,65,063,49,07,72,061,47*75 $GPGSV,3,2,11,10,09,057,37,16,35,295,49,21,44,152,53,23,12,316,52*76 $GPGSV,3,3,11,24,51,097,53,30,32,110,51,31,60,229,46*4A $GPRMC,143811.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*04 $GPGGA,143811.78,4806.3732,N,00138.6216,W,1,10,1.3,42.1,M,48.5,M,,*44 $PFST,FOM,7*62 $GPGSA,A,3,01,05,06,07,16,21,23,24,30,31,,,1.9,1.3,1.3*3D $GPGSV,3,1,11,01,06,230,38,05,16,114,42,06,65,063,49,07,72,061,47*7D $GPGSV,3,2,11,10,09,057,38,16,35,295,48,21,44,152,53,23,12,316,51*7B $GPGSV,3,3,11,24,51,097,54,30,32,110,51,31,60,229,46*4D $GPRMC,143812.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*07 $GPGGA,143812.78,4806.3732,N,00138.6216,W,1,11,1.3,42.1,M,48.5,M,,*46 $PFST,FOM,7*62 $GPGSA,A,3,01,05,06,07,10,16,21,23,24,30,31,,1.9,1.3,1.3*3C $GPGSV,3,1,11,01,06,230,39,05,16,114,43,06,65,063,48,07,72,061,47*7C $GPGSV,3,2,11,10,09,057,37,16,35,295,48,21,44,152,52,23,12,316,52*76 $GPGSV,3,3,11,24,51,097,54,30,32,110,51,31,60,229,47*4C $GPRMC,143813.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*06 $GPGGA,143813.78,4806.3732,N,00138.6216,W,1,09,1.3,42.1,M,48.5,M,,*4E $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,16,21,23,24,30,31,,,,1.9,1.3,1.3*3C $GPGSV,3,1,11,01,06,230,38,05,16,114,44,06,65,063,48,07,72,061,47*7A $GPGSV,3,2,11,10,09,057,36,16,35,295,47,21,44,152,53,23,12,316,51*7A $GPGSV,3,3,11,24,51,097,54,30,32,110,50,31,60,229,48*42 $GPRMC,143814.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*01 $GPGGA,143814.78,4806.3732,N,00138.6216,W,1,10,1.3,42.1,M,48.5,M,,*41 $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.9,1.3,1.3*3D $GPGSV,3,1,11,01,06,230,38,05,16,114,44,06,65,063,47,07,72,061,47*75 $GPGSV,3,2,11,10,09,057,37,16,35,295,48,21,44,152,52,23,12,316,52*76 $GPGSV,3,3,11,24,51,097,54,30,32,110,51,31,60,229,48*43 $GPRMC,143815.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*00 $GPGGA,143815.78,4806.3732,N,00138.6216,W,1,10,1.2,42.1,M,48.5,M,,*41 $PFST,FOM,2*67 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.2,1.3*32 $GPGSV,3,1,11,01,06,230,37,05,16,114,45,06,65,063,48,07,72,061,47*74 $GPGSV,3,2,11,10,09,057,40,16,35,295,49,21,44,152,52,23,12,316,50*75 $GPGSV,3,3,11,24,51,097,54,30,32,110,51,31,60,229,46*4D $GPRMC,143816.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*03 $GPGGA,143816.78,4806.3732,N,00138.6216,W,1,10,1.2,42.1,M,48.5,M,,*42 $PFST,FOM,4*61 $GPGSA,A,3,01,05,06,07,10,16,21,23,24,30,,,1.7,1.2,1.3*31 $GPGSV,3,1,11,01,06,230,37,05,16,114,45,06,65,063,48,07,72,061,46*75 $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,44,152,53,23,12,316,52*77 $GPGSV,3,3,11,24,51,097,54,30,32,110,51,31,60,229,45*4E $GPRMC,143817.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*02 $GPGGA,143817.78,4806.3732,N,00138.6216,W,1,11,0.8,42.1,M,48.5,M,,*49 $PFST,FOM,4*61 $GPGSA,A,3,01,05,06,07,10,16,21,23,24,30,31,,1.3,0.8,1.0*3F $GPGSV,3,1,11,01,06,230,34,05,16,114,44,06,65,063,48,07,72,061,46*77 $GPGSV,3,2,11,10,09,057,39,16,35,295,48,21,44,152,53,23,12,316,51*7A $GPGSV,3,3,11,24,51,097,54,30,32,110,50,31,60,229,44*4E $GPRMC,143818.78,A,4806.3728,N,00138.6239,W,1.56,266.1,121007,2.6,W,A*0D $GPGGA,143818.78,4806.3728,N,00138.6239,W,1,10,1.3,41.5,M,48.5,M,,*4C $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.9,1.3,1.3*3D $GPGSV,3,1,11,01,06,230,34,05,16,114,44,06,65,063,48,07,72,061,46*77 $GPGSV,3,2,11,10,09,057,42,16,35,295,47,21,44,152,52,23,12,316,51*78 $GPGSV,3,3,11,24,51,097,54,30,32,110,51,31,60,229,46*4D $GPRMC,143819.79,A,4806.3729,N,00138.6247,W,0.00,266.1,121007,2.6,W,A*07 $GPGGA,143819.79,4806.3729,N,00138.6247,W,1,10,1.1,41.4,M,48.5,M,,*47 $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,00,05,16,114,44,06,65,063,48,07,72,061,46*70 $GPGSV,3,2,11,10,09,057,39,16,35,295,49,21,44,152,52,23,12,316,51*7A $GPGSV,3,3,11,24,51,097,54,30,32,110,52,31,60,229,48*40 $GPRMC,143820.79,A,4806.3730,N,00138.6251,W,0.00,266.1,121007,2.6,W,A*02 $GPGGA,143820.79,4806.3730,N,00138.6251,W,1,10,1.2,41.4,M,48.5,M,,*41 $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.9,1.2,1.5*3A $GPGSV,3,1,11,01,06,230,20,05,16,114,44,06,65,063,48,07,72,061,45*71 $GPGSV,3,2,11,10,09,057,40,16,35,295,50,21,44,152,53,23,12,316,51*7D $GPGSV,3,3,11,24,51,097,54,30,32,110,52,31,60,229,47*4F $GPRMC,143821.79,A,4806.3732,N,00138.6265,W,2.31,266.8,121007,2.6,W,A*0F $GPGGA,143821.79,4806.3732,N,00138.6265,W,1,10,1.2,41.4,M,48.5,M,,*45 $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.9,1.2,1.5*3A $GPGSV,3,1,11,01,06,230,34,05,16,114,45,06,65,063,48,07,72,061,46*76 $GPGSV,3,2,11,10,09,057,40,16,35,295,50,21,44,152,53,23,12,316,51*7D $GPGSV,3,3,11,24,51,097,54,30,32,110,52,31,60,229,46*4E $GPRMC,143822.79,A,4806.3731,N,00138.6276,W,2.58,266.3,121007,2.6,W,A*09 $GPGGA,143822.79,4806.3731,N,00138.6276,W,1,10,1.2,41.4,M,48.5,M,,*47 $PFST,FOM,2*67 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.2,1.3*32 $GPGSV,3,1,1230,00,05,16,114,44,06,65,063,49,07,72,061,47*70 $GPGSV,3,2,11,10,09,057,39,16,35,295,50,21,44,152,53,23,12,316,51*73 $GPGSV,3,3,11,24,51,097,54,30,32,110,52,31,60,229,45*4D $GPRMC,143823.79,A,4806.3728,N,00138.6293,W,2.82,266.9,121007,2.6,W,A*06 $GPGGA,143823.79,4806.3728,N,00138.6293,W,1,10,1.1,41.4,M,48.5,M,,*46 $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,17,05,16,114,45,06,65,063,49,07,72,061,47*77 $GPGSV,3,2,11,10,09,057,42,16,35,295,49,21,44,152,52,23,12,316,51*76 $GPGSV,3,3,11,24,51,097,54,30,32,110,52,31,60,229,46*4E $GPRMC,143824.79,A,4806.3727,N,00138.6306,W,3.10,266.8,121007,2.6,W,A*08 $GPGGA,143824.79,4806.3727,N,00138.6306,W,1,10,1.1,41.4,M,48.5,M,,*43 $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,34,05,16,114,44,06,65,063,49,07,72,061,46*76 $GPGSV,3,2,11,10,09,057,42,16,35,295,50,21,44,152,52,23,12,316,50*7F $GPGSV,3,3,11,24,51,097,55,30,32,110,51,31,60,229,47*4D $GPRMC,143825.79,A,4806.3725,N,00138.6321,W,3.34,267.0,121007,2.6,W,A*01 $GPGGA,143825.79,4806.3725,N,00138.6321,W,1,10,0.9,41.4,M,48.5,M,,*4C $PFST,FOM,4*61 $GPGSA,A,3,01,06,07,10,16,21,23,24,30,31,,,1.4,0.9,1.1*3D $GPGSV,3,1,11,01,06,230,35,05,16,114,45,06,65,063,48,07,72,061,48*79 $GPGSV,3,2,11,10,09,057,43,16,35,295,48,21,44,152,52,23,12,316,51*76 $GPGSV,3,3,11,24,51,097,55,30,32,110,53,31,60,229,46*4E $GPRMC,143826.79,A,4806.3724,N,00138.6335,W,3.61,266.8,121007,2.6,W,A*0F $GPGGA,143826.79,4806.3724,N,00138.6335,W,1,10,1.1,41.4,M,48.5,M,,*42 $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,38,05,16,114,46,06,65,063,49,07,72,061,47*79 $GPGSV,3,2,11,10,09,057,42,16,35,295,49,21,44,152,53,23,12,316,50*76 $GPGSV,3,3,11,24,51,097,55,30,32,110,52,31,60,229,46*4F $GPRMC,143827.79,A,4806.3724,N,00138.6352,W,3.85,267.0,121007,2.6,W,A*0C $GPGGA,143827.79,4806.3724,N,00138.6352,W,1,10,1.1,41.4,M,48.5,M,,*42 $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,37,05,16,114,46,06,65,063,49,07,72,061,46*77 $GPGSV,3,2,11,10,09,057,43,16,35,295,49,21,44,152,52,23,12,316,49*7E $GPGSV,3,3,11,24,51,097,55,30,32,110,52,31,60,229,47*4E $GPRMC,143828.79,A,4806.3725,N,00138.6368,W,4.12,266.8,121007,2.6,W,A*0B $GPGGA,143828.79,4806.3725,N,00138.6368,W,1,11,0.8,41.4,M,48.5,M,,*4C $PFST,FOM,4*61 $GPGSA,A,3,01,05,06,07,10,16,21,23,24,30,31,,1.3,0.8,1.0*3F $GPGSV,3,1,11,01,06,230,36,05,16,114,46,06,65,063,49,07,72,061,48*78 $GPGSV,3,2,11,10,09,057,42,16,35,295,49,21,44,152,51,23,12,316,49*7C $GPGSV,3,3,11,24,51,097,55,30,32,110,53,31,60,229,47*4F $GPRMC,143829.79,A,4806.3724,N,00138.6386,W,4.39,266.7,121007,2.6,W,A*0D $GPGGA,143829.79,4806.3724,N,00138.6386,W,1,10,1.1,41.4,M,48.5,M,,*45 $PFST,FOM,2*67 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,35,05,16,114,45,06,65,063,49,07,72,061,47*77 $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,44,152,52,23,12,316,50*74 $GPGSV,3,3,11,24,51,097,54,30,32,110,51,31,60,229,47*4C $GPRMC,143830.79,A,4806.3723,N,00138.6405,W,4.66,266.3,121007,2.6,W,A*00 $GPGGA,143830.79,4806.3723,N,00138.6405,W,1,10,1.1,41.4,M,48.5,M,,*46 $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,37,05,16,114,45,06,65,063,48,07,72,061,48*7B $GPGSV,3,2,11,10,09,057,41,16,35,295,47,21,44,152,53,23,12,316,46*7C $GPGSV,3,3,11,24,51,097,55,30,32,110,51,31,60,229,47*4D $GPRMC,143831.79,A,4806.3723,N,00138.6424,W,4.91,266.5,121007,2.6,W,A*0C $GPGGA,143831.79,4806.3723,N,00138.6424,W,1,10,1.3,41.4,M,48.5,M,,*46 $PFST,FOM,7*62 $GPGSA,A,3,01,05,06,07,16,21,23,24,30,31,,,1.9,1.3,1.4*3A $GPGSV,3,1,11,01,06,230,38,05,16,114,45,06,65,063,48,07,72,061,47*7B $GPGSV,3,2,11,10,09,057,38,16,35,295,46,21,44,152,53,23,12,316,43*76 $GPGSV,3,3,11,24,51,097,55,30,32,110,51,31,60,229,47*4D $GPRMC,143832.79,A,4806.3723,N,00138.6444,W,5.05,266.3,121007,2.6,W,A*03 $GPGGA,143832.79,4806.3723,N,00138.6444,W,1,10,1.4,41.4,M,48.5,M,,*44 $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,2.0,1.4,1.4*37 $GPGSV,3,1,11,01,06,230,37,05,16,114,44,06,65,063,48,07,72,061,48*7A $GPGSV,3,2,11,10,09,057,37,16,35,295,47,21,44,152,53,23,12,316,44*7F $GPGSV,3,3,11,24,51,097,55,30,32,110,52,31,60,229,47*4E $GPRMC,143833.79,A,4806.3721,N,00138.6464,W,5.13,265.8,121007,2.6,W,A*0D $GPGGA,143833.79,4806.3721,N,00138.6464,W,1,09,1.3,41.4,M,48.5,M,,*4A $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,16,21,23,24,30,31,,,,1.9,1.3,1.3*3C $GPGSV,3,1,11,01,06,230,38,05,16,114,43,06,65,063,48,07,72,061,48*72 $GPGSV,3,2,11,10,09,057,38,16,35,295,48,21,44,152,52,23,12,316,46*7C $GPGSV,3,3,11,24,51,097,55,30,32,110,52,31,60,229,47*4E $GPRMC,143834.80,A,4806.3719,N,00138.6484,W,5.21,266.1,121007,2.6,W,A*02 $GPGGA,143834.80,4806.3719,N,00138.6484,W,1,09,1.5,41.3,M,48.5,M,,*4F $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,16,21,23,24,30,31,,,,2.3,1.5,1.8*38 $GPGSV,3,1,11,01,06,230,36,05,16,114,44,06,65,063,48,07,72,061,48*7B $GPGSV,3,2,11,10,09,057,38,16,35,295,47,21,44,152,52,23,12,316,43*76 $GPGSV,3,3,11,24,51,097,55,30,32,110,53,31,60,229,48*40 $GPRMC,143835.80,A,4806.3719,N,00138.6509,W,5.31,265.1,121007,2.6,W,A*05 $GPGGA,143835.80,4806.3719,N,00138.6509,W,1,10,1.1,41.3,M,48.5,M,,*46 $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,36,05,16,114,42,06,65,063,48,07,72,061,48*7D $GPGSV,3,2,11,10,09,057,39,16,35,295,47,21,44,152,52,23,12,316,48*7C $GPGSV,3,3,11,24,51,097,55,30,32,110,53,31,60,229,47*4F $GPRMC,143836.80,A,4806.3718,N,00138.6527,W,5.42,264.6,121007,2.6,W,A*09 $GPGGA,143836.80,4806.3718,N,00138.6527,W,1,10,1.2,41.4,M,48.5,M,,*4C $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.9,1.2,1.5*3A $GPGSV,3,1,11,01,06,230,34,05,16,114,42,06,65,063,48,07,72,061,48*7F $GPGSV,3,2,11,10,09,057,38,16,35,295,47,21,44,152,52,23,12,316,45*70 $GPGSV,3,3,11,24,51,097,55,30,32,110,53,31,60,229,47*4F $GPRMC,143837.80,A,4806.3716,N,00138.6546,W,5.53,264.3,121007,2.6,W,A*04 $GPGGA,143837.80,4806.3716,N,00138.6546,W,1,10,1.3,41.4,M,48.5,M,,*45 $PFST,FOM,7*62 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.9,1.3,1.3*3D $GPGSV,3,1,11,01,06,230,34,05,16,114,46,06,65,063,47,07,72,061,47*7B $GPGSV,3,2,11,10,09,057,37,16,35,295,48,21,44,152,52,23,12,316,44*71 $GPGSV,3,3,11,24,51,097,55,30,32,110,53,31,60,229,47*4F $GPRMC,143838.80,A,4806.3716,N,00138.6569,W,5.64,264.4,121007,2.6,W,A*05 $GPGGA,143838.80,4806.3716,N,00138.6569,W,1,10,1.1,41.4,M,48.5,M,,*45 $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,00,05,16,114,47,06,65,063,47,07,72,061,47*7D $GPGSV,3,2,11,10,09,057,38,16,35,295,48,21,44,152,52,23,12,316,47*7D $GPGSV,3,3,11,24,51,097,54,30,32,110,52,31,60,229,48*40 $GPRMC,143839.80,A,4806.3715,N,00138.6593,W,5.74,264.1,121007,2.6,W,A*06 $GPGGA,143839.80,4806.3715,N,00138.6593,W,1,09,1.3,41.5,M,48.5,M,,*49 $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,16,21,23,24,30,31,,,,1.9,1.3,1.3*3C $GPGSV,3,1,11,01,06,230,12,05,16,114,46,06,65,063,48,07,72,061,47*70 $GPGSV,3,2,11,10,09,057,35,16,35,295,47,21,44,152,52,23,12,316,48*70 $GPGSV,3,3,11,24,51,097,54,30,32,110,53,31,60,229,48*41 $GPRMC,143840.80,A,4806.3715,N,00138.6618,W,5.91,263.8,121007,2.6,W,A*0D $GPGGA,143840.80,4806.3715,N,00138.6618,W,1,10,1.4,41.4,M,48.5,M,,*49 $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,2.1,1.4,1.5*37 $GPGSV,3,1,11,01,06,230,31,05,16,114,46,06,65,063,47,07,72,061,47*7E $GPGSV,3,2,11,10,09,057,38,16,35,295,48,21,44,152,51,23,12,316,48*71 $GPGSV,3,3,11,24,51,097,54,30,32,110,53,31,60,229,48*41 $GPRMC,143841.80,A,4806.3713,N,00138.6642,W,6.07,263.1,121007,2.6,W,A*00 $GPGGA,143841.80,4806.3713,N,00138.6642,W,1,10,1.6,41.5,M,48.5,M,,*42 $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,2.5,1.6,1.9*3D $GPGSV,3,1,11,01,06,230,32,05,16,114,47,06,65,063,47,07,72,061,46*7D $GPGSV,3,2,11,10,09,057,41,16,35,295,49,21,44,152,50,23,12,316,48*7F $GPGSV,3,3,11,24,51,097,54,30,32,110,52,31,60,229,48*40 $GPRMC,143842.80,A,4806.3713,N,00138.6667,W,6.33,262.2,121007,2.6,W,A*01 $GPGGA,143842.80,4806.3713,N,00138.6667,W,1,10,1.1,41.5,M,48.5,M,,*41 $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,32,05,16,114,45,06,65,063,47,07,72,061,46*7F $GPGSV,3,2,11,10,09,057,39,16,35,295,48,21,44,152,51,23,12,316,48*70 $GPGSV,3,3,11,24,51,097,54,30,32,110,52,31,60,229,48*40 $GPRMC,143843.80,A,4806.3711,N,00138.6694,W,6.52,261.1,121007,2.6,W,A*09 $GPGGA,143843.80,4806.3711,N,00138.6694,W,1,10,1.1,41.5,M,48.5,M,,*4E $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,34,05,16,114,44,06,65,063,47,07,72,061,47*79 $GPGSV,3,2,11,10,09,057,38,16,35,295,48,21,44,152,50,23,12,316,48*70 $GPGSV,3,3,11,24,51,097,54,30,32,110,51,31,60,229,49*42 $GPRMC,143844.80,A,4806.3707,N,00138.6723,W,6.72,261.3,121007,2.6,W,A*04 $GPGGA,143844.80,4806.3707,N,00138.6723,W,1,10,1.1,41.6,M,48.5,M,,*40 $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,33,05,16,114,48,06,65,063,48,07,72,061,47*7D $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,44,152,50,23,12,316,47*70 $GPGSV,3,3,11,24,51,097,54,30,32,110,51,31,60,229,48*43 $GPRMC,143845.80,A,4806.3705,N,00138.6753,W,6.92,261.2,121007,2.6,W,A*0F $GPGGA,143845.80,4806.3705,N,00138.6753,W,1,10,1.1,41.7,M,48.5,M,,*45 $PFST,FOM,3*66 gpsd-3.9/test/daemon/com-1289.log.chk0000664000175000017500000022013412135526301015340 0ustar esresr$GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 {"class":"TPV","tag":"GSA","mode":3,"epv":27.600} $GPGSV,3,1,11,01,06,230,35,05,16,114,43,06,65,063,50,07,72,061,47*79 $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,43,153,53,23,12,316,51*72 $GPGSV,3,3,11,24,51,098,55,30,33,110,50,31,60,230,47*4A {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":35,"used":false},{"PRN":5,"el":16,"az":114,"ss":43,"used":true},{"PRN":6,"el":65,"az":63,"ss":50,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":40,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":43,"az":153,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":98,"ss":55,"used":true},{"PRN":30,"el":33,"az":110,"ss":50,"used":true},{"PRN":31,"el":60,"az":230,"ss":47,"used":true}]} $GPRMC,143748.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*0A {"class":"TPV","tag":"RMC","mode":2,"time":"2007-10-12T14:37:48.770Z","ept":0.005,"lat":48.106218333,"lon":-1.643695000,"epx":7.849,"epy":10.678,"track":266.5000,"speed":0.000} $GPGGA,143748.77,4806.3731,N,00138.6217,W,1,10,1.1,42.2,M,48.5,M,,*4B {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:37:48.770Z","ept":0.005,"lat":48.106218333,"lon":-1.643695000,"alt":42.200,"epx":7.849,"epy":10.678,"epv":27.600,"track":266.5000,"speed":0.000} $PFST,FOM,6*63 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 {"class":"TPV","tag":"GSA","mode":3,"time":"2007-10-12T14:37:48.770Z","ept":0.005,"lat":48.106218333,"lon":-1.643695000,"alt":42.200,"epx":7.849,"epy":10.678,"epv":27.600,"track":266.5000,"speed":0.000,"climb":0.000} $GPGSV,3,1,11,01,06,230,35,05,16,114,43,06,65,063,50,07,72,061,47*79 $GPGSV,3,2,11,10,09,057,39,16,35,295,48,21,43,153,53,23,12,316,51*7C $GPGSV,3,3,11,24,51,098,55,30,33,110,50,31,60,230,47*4A {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":35,"used":false},{"PRN":5,"el":16,"az":114,"ss":43,"used":true},{"PRN":6,"el":65,"az":63,"ss":50,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":39,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":43,"az":153,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":98,"ss":55,"used":true},{"PRN":30,"el":33,"az":110,"ss":50,"used":true},{"PRN":31,"el":60,"az":230,"ss":47,"used":true}]} $GPRMC,143749.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*0B $GPGGA,143749.77,4806.3731,N,00138.6217,W,1,10,1.1,42.2,M,48.5,M,,*4A {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:37:49.770Z","ept":0.005,"lat":48.106218333,"lon":-1.643695000,"alt":42.200,"epx":7.849,"epy":10.678,"epv":27.600,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,34,05,16,114,42,06,65,063,50,07,72,061,47*79 $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,43,153,53,23,12,316,51*72 $GPGSV,3,3,11,24,51,098,55,30,33,110,50,31,60,230,47*4A {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":34,"used":false},{"PRN":5,"el":16,"az":114,"ss":42,"used":true},{"PRN":6,"el":65,"az":63,"ss":50,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":40,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":43,"az":153,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":98,"ss":55,"used":true},{"PRN":30,"el":33,"az":110,"ss":50,"used":true},{"PRN":31,"el":60,"az":230,"ss":47,"used":true}]} $GPRMC,143750.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*03 $GPGGA,143750.77,4806.3731,N,00138.6217,W,1,10,1.0,42.2,M,48.5,M,,*43 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:37:50.770Z","ept":0.005,"lat":48.106218333,"lon":-1.643695000,"alt":42.200,"epx":7.849,"epy":10.678,"epv":27.600,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,6*63 $GPGSA,A,3,01,05,06,07,16,21,23,24,30,31,,,1.5,1.0,1.2*33 $GPGSV,3,1,11,01,06,230,34,05,16,114,42,06,65,063,50,07,72,061,47*79 $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,43,153,53,23,12,316,51*72 $GPRMC,143751.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*02 $GPGGA,143751.77,4806.3731,N,00138.6217,W,1,10,1.3,42.2,M,48.5,M,,*41 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:37:51.770Z","ept":0.005,"lat":48.106218333,"lon":-1.643695000,"alt":42.200,"epx":7.849,"epy":10.678,"epv":27.600,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,6*63 $GPGSA,A,3,01,05,06,07,16,21,23,24,30,31,,,1.9,1.3,1.3*3D $GPGSV,3,1,11,01,06,230,35,05,16,114,42,06,65,063,50,07,72,061,47*78 $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,43,153,53,23,12,316,51*72 $GPGSV,3,3,11,24,51,098,55,30,33,110,50,31,60,230,46*4B {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.30,"tdop":0.63,"hdop":1.30,"gdop":1.54,"pdop":1.90,"satellites":[{"PRN":1,"el":6,"az":230,"ss":35,"used":true},{"PRN":5,"el":16,"az":114,"ss":42,"used":true},{"PRN":6,"el":65,"az":63,"ss":50,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":40,"used":false},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":43,"az":153,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":98,"ss":55,"used":true},{"PRN":30,"el":33,"az":110,"ss":50,"used":true},{"PRN":31,"el":60,"az":230,"ss":46,"used":true}]} $GPRMC,143752.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*01 $GPGGA,143752.77,4806.3731,N,00138.6217,W,1,10,1.1,42.1,M,48.5,M,,*43 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:37:52.770Z","ept":0.005,"lat":48.106218333,"lon":-1.643695000,"alt":42.100,"epx":7.849,"epy":10.678,"epv":29.900,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,35,05,16,114,42,06,65,063,50,07,72,061,47*78 $GPGSV,3,2,11,10,09,057,41,16,35,295,48,21,44,152,53,23,12,316,51*75 $GPGSV,3,3,11,24,51,098,55,30,33,110,50,31,60,230,46*4B {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":35,"used":false},{"PRN":5,"el":16,"az":114,"ss":42,"used":true},{"PRN":6,"el":65,"az":63,"ss":50,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":41,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":98,"ss":55,"used":true},{"PRN":30,"el":33,"az":110,"ss":50,"used":true},{"PRN":31,"el":60,"az":230,"ss":46,"used":true}]} $GPRMC,143753.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*00 $GPGGA,143753.77,4806.3731,N,00138.6217,W,1,10,1.1,42.2,M,48.5,M,,*41 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:37:53.770Z","ept":0.005,"lat":48.106218333,"lon":-1.643695000,"alt":42.200,"epx":7.849,"epy":10.678,"epv":27.600,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,34,05,16,114,42,06,65,063,50,07,72,061,47*79 $GPGSV,3,2,11,10,09,057,41,16,35,295,48,21,44,152,53,23,12,316,51*75 $GPGSV,3,3,11,24,51,098,55,30,33,110,50,31,60,230,46*4B {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":34,"used":false},{"PRN":5,"el":16,"az":114,"ss":42,"used":true},{"PRN":6,"el":65,"az":63,"ss":50,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":41,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":98,"ss":55,"used":true},{"PRN":30,"el":33,"az":110,"ss":50,"used":true},{"PRN":31,"el":60,"az":230,"ss":46,"used":true}]} $GPRMC,143754.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*07 $GPGGA,143754.77,4806.3731,N,00138.6217,W,1,10,1.1,42.1,M,48.5,M,,*45 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:37:54.770Z","ept":0.005,"lat":48.106218333,"lon":-1.643695000,"alt":42.100,"epx":7.849,"epy":10.678,"epv":27.600,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,2*67 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,34,05,16,114,41,06,65,063,50,07,72,061,47*7A $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,44,152,53,23,12,316,51*74 $GPGSV,3,3,11,24,51,098,55,30,33,110,50,31,60,230,47*4A {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":34,"used":false},{"PRN":5,"el":16,"az":114,"ss":41,"used":true},{"PRN":6,"el":65,"az":63,"ss":50,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":40,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":98,"ss":55,"used":true},{"PRN":30,"el":33,"az":110,"ss":50,"used":true},{"PRN":31,"el":60,"az":230,"ss":47,"used":true}]} $GPRMC,143755.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*06 $GPGGA,143755.77,4806.3731,N,00138.6217,W,1,10,1.1,42.1,M,48.5,M,,*44 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:37:55.770Z","ept":0.005,"lat":48.106218333,"lon":-1.643695000,"alt":42.100,"epx":7.849,"epy":10.678,"epv":27.600,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,34,05,16,114,41,06,65,063,49,07,72,061,47*72 $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,44,152,53,23,12,316,51*74 $GPGSV,3,3,11,24,51,097,55,30,33,110,51,31,60,230,47*44 {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":34,"used":false},{"PRN":5,"el":16,"az":114,"ss":41,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":40,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":97,"ss":55,"used":true},{"PRN":30,"el":33,"az":110,"ss":51,"used":true},{"PRN":31,"el":60,"az":230,"ss":47,"used":true}]} $GPRMC,143756.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*05 $GPGGA,143756.77,4806.3731,N,00138.6217,W,1,10,1.1,42.1,M,48.5,M,,*47 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:37:56.770Z","ept":0.005,"lat":48.106218333,"lon":-1.643695000,"alt":42.100,"epx":7.849,"epy":10.678,"epv":27.600,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,33,05,16,114,42,06,65,063,49,07,72,061,47*76 $GPGSV,3,2,11,10,09,057,39,16,35,295,48,21,44,152,53,23,12,316,51*7A $GPGSV,3,3,11,24,51,097,54,30,33,110,50,31,60,230,47*44 {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":33,"used":false},{"PRN":5,"el":16,"az":114,"ss":42,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":39,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":33,"az":110,"ss":50,"used":true},{"PRN":31,"el":60,"az":230,"ss":47,"used":true}]} $GPRMC,143757.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*04 $GPGGA,143757.77,4806.3731,N,00138.6217,W,1,10,1.3,42.1,M,48.5,M,,*44 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:37:57.770Z","ept":0.005,"lat":48.106218333,"lon":-1.643695000,"alt":42.100,"epx":7.849,"epy":10.678,"epv":27.600,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.9,1.3,1.3*3D $GPGSV,3,1,11,01,06,230,33,05,16,114,42,06,65,063,49,07,72,061,47*76 $GPGSV,3,2,11,10,09,057,38,16,35,295,48,21,44,152,53,23,12,316,51*7B $GPGSV,3,3,11,24,51,097,54,30,33,110,50,31,60,230,47*44 {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.30,"tdop":0.63,"hdop":1.30,"gdop":1.54,"pdop":1.90,"satellites":[{"PRN":1,"el":6,"az":230,"ss":33,"used":false},{"PRN":5,"el":16,"az":114,"ss":42,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":38,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":33,"az":110,"ss":50,"used":true},{"PRN":31,"el":60,"az":230,"ss":47,"used":true}]} $GPRMC,143758.77,A,4806.3731,N,00138.6217,W,0.00,266.5,121007,2.6,W,A*0B $GPGGA,143758.77,4806.3731,N,00138.6217,W,1,09,1.3,42.1,M,48.5,M,,*43 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:37:58.770Z","ept":0.005,"lat":48.106218333,"lon":-1.643695000,"alt":42.100,"epx":7.849,"epy":10.678,"epv":29.900,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,16,21,23,24,30,31,,,,1.9,1.3,1.3*3C $GPGSV,3,1,11,01,06,230,32,05,16,114,42,06,65,063,49,07,72,061,46*76 $GPGSV,3,2,11,10,09,057,37,16,35,295,48,21,44,152,53,23,12,316,51*74 $GPGSV,3,3,11,24,51,097,54,30,33,110,50,31,60,230,47*44 {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.30,"tdop":0.63,"hdop":1.30,"gdop":1.54,"pdop":1.90,"satellites":[{"PRN":1,"el":6,"az":230,"ss":32,"used":false},{"PRN":5,"el":16,"az":114,"ss":42,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":46,"used":true},{"PRN":10,"el":9,"az":57,"ss":37,"used":false},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":33,"az":110,"ss":50,"used":true},{"PRN":31,"el":60,"az":230,"ss":47,"used":true}]} $GPRMC,143759.77,A,4806.3731,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*0B $GPGGA,143759.77,4806.3731,N,00138.6216,W,1,09,1.3,42.1,M,48.5,M,,*43 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:37:59.770Z","ept":0.005,"lat":48.106218333,"lon":-1.643693333,"alt":42.100,"epx":7.849,"epy":10.678,"epv":29.900,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,16,21,23,24,30,31,,,,2.2,1.3,1.7*30 $GPGSV,3,1,11,01,06,230,32,05,16,114,42,06,65,063,49,07,72,061,46*76 $GPGSV,3,2,11,10,09,057,38,16,35,295,48,21,44,152,53,23,12,316,51*7B $GPGSV,3,3,11,24,51,097,54,30,33,110,50,31,60,230,47*44 {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.70,"tdop":0.63,"hdop":1.30,"gdop":1.54,"pdop":2.20,"satellites":[{"PRN":1,"el":6,"az":230,"ss":32,"used":false},{"PRN":5,"el":16,"az":114,"ss":42,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":46,"used":true},{"PRN":10,"el":9,"az":57,"ss":38,"used":false},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":33,"az":110,"ss":50,"used":true},{"PRN":31,"el":60,"az":230,"ss":47,"used":true}]} $GPRMC,143800.77,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*0B $GPGGA,143800.77,4806.3732,N,00138.6216,W,1,09,1.3,42.1,M,48.5,M,,*43 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:00.770Z","ept":0.005,"lat":48.106220000,"lon":-1.643693333,"alt":42.100,"epx":7.849,"epy":10.678,"epv":39.100,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,16,21,23,24,30,31,,,,1.9,1.3,1.3*3C $GPGSV,3,1,11,01,06,230,31,05,16,114,42,06,65,063,49,07,72,061,46*75 $GPGSV,3,2,11,10,09,057,38,16,35,295,48,21,44,152,53,23,12,316,51*7B $GPGSV,3,3,11,24,51,097,54,30,33,110,50,31,60,230,46*45 {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.30,"tdop":0.63,"hdop":1.30,"gdop":1.54,"pdop":1.90,"satellites":[{"PRN":1,"el":6,"az":230,"ss":31,"used":false},{"PRN":5,"el":16,"az":114,"ss":42,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":46,"used":true},{"PRN":10,"el":9,"az":57,"ss":38,"used":false},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":33,"az":110,"ss":50,"used":true},{"PRN":31,"el":60,"az":230,"ss":46,"used":true}]} $GPRMC,143801.77,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*0A $GPGGA,143801.77,4806.3732,N,00138.6216,W,1,10,1.7,42.1,M,48.5,M,,*4E {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:01.770Z","ept":0.005,"lat":48.106220000,"lon":-1.643693333,"alt":42.100,"epx":7.849,"epy":10.678,"epv":29.900,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,7*62 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,2.4,1.7,1.6*32 $GPGSV,3,1,11,01,06,230,32,05,16,114,43,06,65,063,49,07,72,061,46*77 $GPGSV,3,2,11,10,09,057,38,16,35,295,48,21,44,152,53,23,12,316,51*7B $GPGSV,3,3,11,24,51,097,54,30,32,110,50,31,60,230,46*44 {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.60,"tdop":0.63,"hdop":1.70,"gdop":1.54,"pdop":2.40,"satellites":[{"PRN":1,"el":6,"az":230,"ss":32,"used":false},{"PRN":5,"el":16,"az":114,"ss":43,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":46,"used":true},{"PRN":10,"el":9,"az":57,"ss":38,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":50,"used":true},{"PRN":31,"el":60,"az":230,"ss":46,"used":true}]} $GPRMC,143802.77,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*09 $GPGGA,143802.77,4806.3732,N,00138.6216,W,1,09,1.7,42.1,M,48.5,M,,*45 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:02.770Z","ept":0.005,"lat":48.106220000,"lon":-1.643693333,"alt":42.100,"epx":7.849,"epy":10.678,"epv":36.800,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,,,,2.4,1.7,1.6*30 $GPGSV,3,1,11,01,06,230,32,05,16,114,43,06,65,063,49,07,72,061,47*76 $GPGSV,3,2,11,10,09,057,39,16,35,295,48,21,44,152,53,23,12,316,51*7A $GPGSV,3,3,11,24,51,097,54,30,32,110,50,31,60,229,46*4C {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.60,"tdop":0.63,"hdop":1.70,"gdop":1.54,"pdop":2.40,"satellites":[{"PRN":1,"el":6,"az":230,"ss":32,"used":false},{"PRN":5,"el":16,"az":114,"ss":43,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":39,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":50,"used":true},{"PRN":31,"el":60,"az":229,"ss":46,"used":false}]} $GPRMC,143803.77,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*08 $GPGGA,143803.77,4806.3732,N,00138.6216,W,1,11,1.1,42.1,M,48.5,M,,*4B {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:03.770Z","ept":0.005,"lat":48.106220000,"lon":-1.643693333,"alt":42.100,"epx":7.849,"epy":10.678,"epv":36.800,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,8*6D $GPGSA,A,3,01,05,06,07,10,16,21,23,24,30,31,,1.7,1.1,1.2*31 $GPGSV,3,1,11,01,06,230,32,05,16,114,44,06,65,063,49,07,72,061,47*71 $GPGSV,3,2,11,10,09,057,39,16,35,295,48,21,44,152,53,23,12,316,52*79 $GPGSV,3,3,11,24,51,097,55,30,32,110,50,31,60,229,46*4D {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":32,"used":true},{"PRN":5,"el":16,"az":114,"ss":44,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":39,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":52,"used":true},{"PRN":24,"el":51,"az":97,"ss":55,"used":true},{"PRN":30,"el":32,"az":110,"ss":50,"used":true},{"PRN":31,"el":60,"az":229,"ss":46,"used":true}]} $GPRMC,143804.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*00 $GPGGA,143804.78,4806.3732,N,00138.6216,W,1,09,1.3,42.1,M,48.5,M,,*48 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:04.780Z","ept":0.005,"lat":48.106220000,"lon":-1.643693333,"alt":42.100,"epx":7.849,"epy":10.678,"epv":27.600,"track":266.5000,"speed":0.000,"eps":21.14} $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,16,21,23,24,30,31,,,,1.9,1.3,1.3*3C $GPGSV,3,1,11,01,06,230,33,05,16,114,44,06,65,063,49,07,72,061,47*70 $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,44,152,53,23,12,316,52*77 $GPGSV,3,3,11,24,51,097,55,30,32,110,50,31,60,229,46*4D {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.30,"tdop":0.63,"hdop":1.30,"gdop":1.54,"pdop":1.90,"satellites":[{"PRN":1,"el":6,"az":230,"ss":33,"used":false},{"PRN":5,"el":16,"az":114,"ss":44,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":40,"used":false},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":52,"used":true},{"PRN":24,"el":51,"az":97,"ss":55,"used":true},{"PRN":30,"el":32,"az":110,"ss":50,"used":true},{"PRN":31,"el":60,"az":229,"ss":46,"used":true}]} $GPRMC,143805.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*01 $GPGGA,143805.78,4806.3732,N,00138.6216,W,1,09,1.3,42.1,M,48.5,M,,*49 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:05.780Z","ept":0.005,"lat":48.106220000,"lon":-1.643693333,"alt":42.100,"epx":7.849,"epy":10.678,"epv":29.900,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,16,21,23,24,30,31,,,,1.9,1.3,1.3*3C $GPGSV,3,1,11,01,06,230,00,05,16,114,44,06,65,063,49,07,72,061,47*70 $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,44,152,53,23,12,316,51*74 $GPGSV,3,3,11,24,51,097,55,30,32,110,50,31,60,229,46*4D {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.30,"tdop":0.63,"hdop":1.30,"gdop":1.54,"pdop":1.90,"satellites":[{"PRN":1,"el":6,"az":230,"ss":0,"used":false},{"PRN":5,"el":16,"az":114,"ss":44,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":40,"used":false},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":97,"ss":55,"used":true},{"PRN":30,"el":32,"az":110,"ss":50,"used":true},{"PRN":31,"el":60,"az":229,"ss":46,"used":true}]} $GPRMC,143806.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*02 $GPGGA,143806.78,4806.3732,N,00138.6216,W,1,10,1.1,42.1,M,48.5,M,,*40 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:06.780Z","ept":0.005,"lat":48.106220000,"lon":-1.643693333,"alt":42.100,"epx":7.849,"epy":10.678,"epv":29.900,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,13,05,16,114,44,06,65,063,49,07,72,061,47*72 $GPGSV,3,2,11,10,09,057,41,16,35,295,48,21,44,152,53,23,12,316,52*76 $GPGSV,3,3,11,24,51,097,55,30,32,110,50,31,60,229,46*4D {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":13,"used":false},{"PRN":5,"el":16,"az":114,"ss":44,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":41,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":52,"used":true},{"PRN":24,"el":51,"az":97,"ss":55,"used":true},{"PRN":30,"el":32,"az":110,"ss":50,"used":true},{"PRN":31,"el":60,"az":229,"ss":46,"used":true}]} $GPRMC,143807.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*03 $GPGGA,143807.78,4806.3732,N,00138.6216,W,1,10,1.1,42.1,M,48.5,M,,*41 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:07.780Z","ept":0.005,"lat":48.106220000,"lon":-1.643693333,"alt":42.100,"epx":7.849,"epy":10.678,"epv":27.600,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,6*63 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,30,05,16,114,44,06,65,063,49,07,72,061,47*73 $GPGSV,3,2,11,10,09,057,41,16,35,295,48,21,44,152,53,23,12,316,52*76 $GPGSV,3,3,11,24,51,097,55,30,32,110,50,31,60,229,46*4D {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":30,"used":false},{"PRN":5,"el":16,"az":114,"ss":44,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":41,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":52,"used":true},{"PRN":24,"el":51,"az":97,"ss":55,"used":true},{"PRN":30,"el":32,"az":110,"ss":50,"used":true},{"PRN":31,"el":60,"az":229,"ss":46,"used":true}]} $GPRMC,143808.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*0C $GPGGA,143808.78,4806.3732,N,00138.6216,W,1,10,1.1,42.1,M,48.5,M,,*4E {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:08.780Z","ept":0.005,"lat":48.106220000,"lon":-1.643693333,"alt":42.100,"epx":7.849,"epy":10.678,"epv":27.600,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,6*63 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,33,05,16,114,43,06,65,063,49,07,72,061,47*77 $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,44,152,53,23,12,316,51*74 $GPGSV,3,3,11,24,51,097,55,30,32,110,51,31,60,229,47*4D {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":33,"used":false},{"PRN":5,"el":16,"az":114,"ss":43,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":40,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":97,"ss":55,"used":true},{"PRN":30,"el":32,"az":110,"ss":51,"used":true},{"PRN":31,"el":60,"az":229,"ss":47,"used":true}]} $GPRMC,143809.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*0D $GPGGA,143809.78,4806.3732,N,00138.6216,W,1,09,1.3,42.1,M,48.5,M,,*45 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:09.780Z","ept":0.005,"lat":48.106220000,"lon":-1.643693333,"alt":42.100,"epx":7.849,"epy":10.678,"epv":27.600,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,16,21,23,24,30,31,,,,2.2,1.3,1.7*30 $GPGSV,3,1,11,01,06,230,33,05,16,114,45,06,65,063,49,07,72,061,47*71 $GPGSV,3,2,11,10,09,057,38,16,35,295,48,21,44,152,53,23,12,316,52*78 $GPGSV,3,3,11,24,51,097,54,30,32,110,51,31,60,229,46*4D {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.70,"tdop":0.63,"hdop":1.30,"gdop":1.54,"pdop":2.20,"satellites":[{"PRN":1,"el":6,"az":230,"ss":33,"used":false},{"PRN":5,"el":16,"az":114,"ss":45,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":38,"used":false},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":52,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":51,"used":true},{"PRN":31,"el":60,"az":229,"ss":46,"used":true}]} $GPRMC,143810.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*05 $GPGGA,143810.78,4806.3732,N,00138.6216,W,1,10,1.0,42.1,M,48.5,M,,*46 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:10.780Z","ept":0.005,"lat":48.106220000,"lon":-1.643693333,"alt":42.100,"epx":7.849,"epy":10.678,"epv":39.100,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,6*63 $GPGSA,A,3,01,05,06,07,16,21,23,24,30,31,,,1.5,1.0,1.2*33 $GPGSV,3,1,11,01,06,230,36,05,16,114,44,06,65,063,49,07,72,061,47*75 $GPGSV,3,2,11,10,09,057,37,16,35,295,49,21,44,152,53,23,12,316,52*76 $GPGSV,3,3,11,24,51,097,53,30,32,110,51,31,60,229,46*4A {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.00,"gdop":1.54,"pdop":1.50,"satellites":[{"PRN":1,"el":6,"az":230,"ss":36,"used":true},{"PRN":5,"el":16,"az":114,"ss":44,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":37,"used":false},{"PRN":16,"el":35,"az":295,"ss":49,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":52,"used":true},{"PRN":24,"el":51,"az":97,"ss":53,"used":true},{"PRN":30,"el":32,"az":110,"ss":51,"used":true},{"PRN":31,"el":60,"az":229,"ss":46,"used":true}]} $GPRMC,143811.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*04 $GPGGA,143811.78,4806.3732,N,00138.6216,W,1,10,1.3,42.1,M,48.5,M,,*44 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:11.780Z","ept":0.005,"lat":48.106220000,"lon":-1.643693333,"alt":42.100,"epx":7.849,"epy":10.678,"epv":27.600,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,7*62 $GPGSA,A,3,01,05,06,07,16,21,23,24,30,31,,,1.9,1.3,1.3*3D $GPGSV,3,1,11,01,06,230,38,05,16,114,42,06,65,063,49,07,72,061,47*7D $GPGSV,3,2,11,10,09,057,38,16,35,295,48,21,44,152,53,23,12,316,51*7B $GPGSV,3,3,11,24,51,097,54,30,32,110,51,31,60,229,46*4D {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.30,"tdop":0.63,"hdop":1.30,"gdop":1.54,"pdop":1.90,"satellites":[{"PRN":1,"el":6,"az":230,"ss":38,"used":true},{"PRN":5,"el":16,"az":114,"ss":42,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":38,"used":false},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":51,"used":true},{"PRN":31,"el":60,"az":229,"ss":46,"used":true}]} $GPRMC,143812.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*07 $GPGGA,143812.78,4806.3732,N,00138.6216,W,1,11,1.3,42.1,M,48.5,M,,*46 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:12.780Z","ept":0.005,"lat":48.106220000,"lon":-1.643693333,"alt":42.100,"epx":7.849,"epy":10.678,"epv":29.900,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,7*62 $GPGSA,A,3,01,05,06,07,10,16,21,23,24,30,31,,1.9,1.3,1.3*3C $GPGSV,3,1,11,01,06,230,39,05,16,114,43,06,65,063,48,07,72,061,47*7C $GPGSV,3,2,11,10,09,057,37,16,35,295,48,21,44,152,52,23,12,316,52*76 $GPGSV,3,3,11,24,51,097,54,30,32,110,51,31,60,229,47*4C {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.30,"tdop":0.63,"hdop":1.30,"gdop":1.54,"pdop":1.90,"satellites":[{"PRN":1,"el":6,"az":230,"ss":39,"used":true},{"PRN":5,"el":16,"az":114,"ss":43,"used":true},{"PRN":6,"el":65,"az":63,"ss":48,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":37,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":52,"used":true},{"PRN":23,"el":12,"az":316,"ss":52,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":51,"used":true},{"PRN":31,"el":60,"az":229,"ss":47,"used":true}]} $GPRMC,143813.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*06 $GPGGA,143813.78,4806.3732,N,00138.6216,W,1,09,1.3,42.1,M,48.5,M,,*4E {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:13.780Z","ept":0.005,"lat":48.106220000,"lon":-1.643693333,"alt":42.100,"epx":7.849,"epy":10.678,"epv":29.900,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,16,21,23,24,30,31,,,,1.9,1.3,1.3*3C $GPGSV,3,1,11,01,06,230,38,05,16,114,44,06,65,063,48,07,72,061,47*7A $GPGSV,3,2,11,10,09,057,36,16,35,295,47,21,44,152,53,23,12,316,51*7A $GPGSV,3,3,11,24,51,097,54,30,32,110,50,31,60,229,48*42 {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.30,"tdop":0.63,"hdop":1.30,"gdop":1.54,"pdop":1.90,"satellites":[{"PRN":1,"el":6,"az":230,"ss":38,"used":false},{"PRN":5,"el":16,"az":114,"ss":44,"used":true},{"PRN":6,"el":65,"az":63,"ss":48,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":36,"used":false},{"PRN":16,"el":35,"az":295,"ss":47,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":50,"used":true},{"PRN":31,"el":60,"az":229,"ss":48,"used":true}]} $GPRMC,143814.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*01 $GPGGA,143814.78,4806.3732,N,00138.6216,W,1,10,1.3,42.1,M,48.5,M,,*41 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:14.780Z","ept":0.005,"lat":48.106220000,"lon":-1.643693333,"alt":42.100,"epx":7.849,"epy":10.678,"epv":29.900,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.9,1.3,1.3*3D $GPGSV,3,1,11,01,06,230,38,05,16,114,44,06,65,063,47,07,72,061,47*75 $GPGSV,3,2,11,10,09,057,37,16,35,295,48,21,44,152,52,23,12,316,52*76 $GPGSV,3,3,11,24,51,097,54,30,32,110,51,31,60,229,48*43 {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.30,"tdop":0.63,"hdop":1.30,"gdop":1.54,"pdop":1.90,"satellites":[{"PRN":1,"el":6,"az":230,"ss":38,"used":false},{"PRN":5,"el":16,"az":114,"ss":44,"used":true},{"PRN":6,"el":65,"az":63,"ss":47,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":37,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":52,"used":true},{"PRN":23,"el":12,"az":316,"ss":52,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":51,"used":true},{"PRN":31,"el":60,"az":229,"ss":48,"used":true}]} $GPRMC,143815.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*00 $GPGGA,143815.78,4806.3732,N,00138.6216,W,1,10,1.2,42.1,M,48.5,M,,*41 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:15.780Z","ept":0.005,"lat":48.106220000,"lon":-1.643693333,"alt":42.100,"epx":7.849,"epy":10.678,"epv":29.900,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,2*67 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.2,1.3*32 $GPGSV,3,1,11,01,06,230,37,05,16,114,45,06,65,063,48,07,72,061,47*74 $GPGSV,3,2,11,10,09,057,40,16,35,295,49,21,44,152,52,23,12,316,50*75 $GPGSV,3,3,11,24,51,097,54,30,32,110,51,31,60,229,46*4D {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.30,"tdop":0.63,"hdop":1.20,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":37,"used":false},{"PRN":5,"el":16,"az":114,"ss":45,"used":true},{"PRN":6,"el":65,"az":63,"ss":48,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":40,"used":true},{"PRN":16,"el":35,"az":295,"ss":49,"used":true},{"PRN":21,"el":44,"az":152,"ss":52,"used":true},{"PRN":23,"el":12,"az":316,"ss":50,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":51,"used":true},{"PRN":31,"el":60,"az":229,"ss":46,"used":true}]} $GPRMC,143816.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*03 $GPGGA,143816.78,4806.3732,N,00138.6216,W,1,10,1.2,42.1,M,48.5,M,,*42 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:16.780Z","ept":0.005,"lat":48.106220000,"lon":-1.643693333,"alt":42.100,"epx":7.849,"epy":10.678,"epv":29.900,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,4*61 $GPGSA,A,3,01,05,06,07,10,16,21,23,24,30,,,1.7,1.2,1.3*31 $GPGSV,3,1,11,01,06,230,37,05,16,114,45,06,65,063,48,07,72,061,46*75 $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,44,152,53,23,12,316,52*77 $GPGSV,3,3,11,24,51,097,54,30,32,110,51,31,60,229,45*4E {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.30,"tdop":0.63,"hdop":1.20,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":37,"used":true},{"PRN":5,"el":16,"az":114,"ss":45,"used":true},{"PRN":6,"el":65,"az":63,"ss":48,"used":true},{"PRN":7,"el":72,"az":61,"ss":46,"used":true},{"PRN":10,"el":9,"az":57,"ss":40,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":52,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":51,"used":true},{"PRN":31,"el":60,"az":229,"ss":45,"used":false}]} $GPRMC,143817.78,A,4806.3732,N,00138.6216,W,0.00,266.5,121007,2.6,W,A*02 $GPGGA,143817.78,4806.3732,N,00138.6216,W,1,11,0.8,42.1,M,48.5,M,,*49 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:17.780Z","ept":0.005,"lat":48.106220000,"lon":-1.643693333,"alt":42.100,"epx":7.849,"epy":10.678,"epv":29.900,"track":266.5000,"speed":0.000,"eps":21.36} $PFST,FOM,4*61 $GPGSA,A,3,01,05,06,07,10,16,21,23,24,30,31,,1.3,0.8,1.0*3F $GPGSV,3,1,11,01,06,230,34,05,16,114,44,06,65,063,48,07,72,061,46*77 $GPGSV,3,2,11,10,09,057,39,16,35,295,48,21,44,152,53,23,12,316,51*7A $GPGSV,3,3,11,24,51,097,54,30,32,110,50,31,60,229,44*4E {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.00,"tdop":0.63,"hdop":0.80,"gdop":1.54,"pdop":1.30,"satellites":[{"PRN":1,"el":6,"az":230,"ss":34,"used":true},{"PRN":5,"el":16,"az":114,"ss":44,"used":true},{"PRN":6,"el":65,"az":63,"ss":48,"used":true},{"PRN":7,"el":72,"az":61,"ss":46,"used":true},{"PRN":10,"el":9,"az":57,"ss":39,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":50,"used":true},{"PRN":31,"el":60,"az":229,"ss":44,"used":true}]} $GPRMC,143818.78,A,4806.3728,N,00138.6239,W,1.56,266.1,121007,2.6,W,A*0D $GPGGA,143818.78,4806.3728,N,00138.6239,W,1,10,1.3,41.5,M,48.5,M,,*4C {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:18.780Z","ept":0.005,"lat":48.106213333,"lon":-1.643731667,"alt":41.500,"epx":7.849,"epy":10.678,"epv":23.000,"track":266.1000,"speed":0.803,"eps":21.36} $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.9,1.3,1.3*3D $GPGSV,3,1,11,01,06,230,34,05,16,114,44,06,65,063,48,07,72,061,46*77 $GPGSV,3,2,11,10,09,057,42,16,35,295,47,21,44,152,52,23,12,316,51*78 $GPGSV,3,3,11,24,51,097,54,30,32,110,51,31,60,229,46*4D {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.30,"tdop":0.63,"hdop":1.30,"gdop":1.54,"pdop":1.90,"satellites":[{"PRN":1,"el":6,"az":230,"ss":34,"used":false},{"PRN":5,"el":16,"az":114,"ss":44,"used":true},{"PRN":6,"el":65,"az":63,"ss":48,"used":true},{"PRN":7,"el":72,"az":61,"ss":46,"used":true},{"PRN":10,"el":9,"az":57,"ss":42,"used":true},{"PRN":16,"el":35,"az":295,"ss":47,"used":true},{"PRN":21,"el":44,"az":152,"ss":52,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":51,"used":true},{"PRN":31,"el":60,"az":229,"ss":46,"used":true}]} $GPRMC,143819.79,A,4806.3729,N,00138.6247,W,0.00,266.1,121007,2.6,W,A*07 $GPGGA,143819.79,4806.3729,N,00138.6247,W,1,10,1.1,41.4,M,48.5,M,,*47 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:19.790Z","ept":0.005,"lat":48.106215000,"lon":-1.643745000,"alt":41.400,"epx":7.849,"epy":10.678,"epv":29.900,"track":266.1000,"speed":0.000,"eps":21.14} $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,00,05,16,114,44,06,65,063,48,07,72,061,46*70 $GPGSV,3,2,11,10,09,057,39,16,35,295,49,21,44,152,52,23,12,316,51*7A $GPGSV,3,3,11,24,51,097,54,30,32,110,52,31,60,229,48*40 {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":0,"used":false},{"PRN":5,"el":16,"az":114,"ss":44,"used":true},{"PRN":6,"el":65,"az":63,"ss":48,"used":true},{"PRN":7,"el":72,"az":61,"ss":46,"used":true},{"PRN":10,"el":9,"az":57,"ss":39,"used":true},{"PRN":16,"el":35,"az":295,"ss":49,"used":true},{"PRN":21,"el":44,"az":152,"ss":52,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":52,"used":true},{"PRN":31,"el":60,"az":229,"ss":48,"used":true}]} $GPRMC,143820.79,A,4806.3730,N,00138.6251,W,0.00,266.1,121007,2.6,W,A*02 $GPGGA,143820.79,4806.3730,N,00138.6251,W,1,10,1.2,41.4,M,48.5,M,,*41 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:20.790Z","ept":0.005,"lat":48.106216667,"lon":-1.643751667,"alt":41.400,"epx":7.849,"epy":10.678,"epv":27.600,"track":266.1000,"speed":0.000,"eps":21.36} $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.9,1.2,1.5*3A $GPGSV,3,1,11,01,06,230,20,05,16,114,44,06,65,063,48,07,72,061,45*71 $GPGSV,3,2,11,10,09,057,40,16,35,295,50,21,44,152,53,23,12,316,51*7D $GPGSV,3,3,11,24,51,097,54,30,32,110,52,31,60,229,47*4F {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.50,"tdop":0.63,"hdop":1.20,"gdop":1.54,"pdop":1.90,"satellites":[{"PRN":1,"el":6,"az":230,"ss":20,"used":false},{"PRN":5,"el":16,"az":114,"ss":44,"used":true},{"PRN":6,"el":65,"az":63,"ss":48,"used":true},{"PRN":7,"el":72,"az":61,"ss":45,"used":true},{"PRN":10,"el":9,"az":57,"ss":40,"used":true},{"PRN":16,"el":35,"az":295,"ss":50,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":52,"used":true},{"PRN":31,"el":60,"az":229,"ss":47,"used":true}]} $GPRMC,143821.79,A,4806.3732,N,00138.6265,W,2.31,266.8,121007,2.6,W,A*0F $GPGGA,143821.79,4806.3732,N,00138.6265,W,1,10,1.2,41.4,M,48.5,M,,*45 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:21.790Z","ept":0.005,"lat":48.106220000,"lon":-1.643775000,"alt":41.400,"epx":7.849,"epy":10.678,"epv":34.500,"track":266.8000,"speed":1.188,"eps":21.36} $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.9,1.2,1.5*3A $GPGSV,3,1,11,01,06,230,34,05,16,114,45,06,65,063,48,07,72,061,46*76 $GPGSV,3,2,11,10,09,057,40,16,35,295,50,21,44,152,53,23,12,316,51*7D $GPGSV,3,3,11,24,51,097,54,30,32,110,52,31,60,229,46*4E {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.50,"tdop":0.63,"hdop":1.20,"gdop":1.54,"pdop":1.90,"satellites":[{"PRN":1,"el":6,"az":230,"ss":34,"used":false},{"PRN":5,"el":16,"az":114,"ss":45,"used":true},{"PRN":6,"el":65,"az":63,"ss":48,"used":true},{"PRN":7,"el":72,"az":61,"ss":46,"used":true},{"PRN":10,"el":9,"az":57,"ss":40,"used":true},{"PRN":16,"el":35,"az":295,"ss":50,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":52,"used":true},{"PRN":31,"el":60,"az":229,"ss":46,"used":true}]} $GPRMC,143822.79,A,4806.3731,N,00138.6276,W,2.58,266.3,121007,2.6,W,A*09 $GPGGA,143822.79,4806.3731,N,00138.6276,W,1,10,1.2,41.4,M,48.5,M,,*47 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:22.790Z","ept":0.005,"lat":48.106218333,"lon":-1.643793333,"alt":41.400,"epx":7.849,"epy":10.678,"epv":34.500,"track":266.3000,"speed":1.327,"eps":21.36} $PFST,FOM,2*67 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.2,1.3*32 $GPGSV,3,2,11,10,09,057,39,16,35,295,50,21,44,152,53,23,12,316,51*73 $GPGSV,3,3,11,24,51,097,54,30,32,110,52,31,60,229,45*4D {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.30,"tdop":0.63,"hdop":1.20,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":34,"used":false},{"PRN":5,"el":16,"az":114,"ss":45,"used":true},{"PRN":6,"el":65,"az":63,"ss":48,"used":true},{"PRN":7,"el":72,"az":61,"ss":46,"used":true},{"PRN":10,"el":9,"az":57,"ss":40,"used":true},{"PRN":16,"el":35,"az":295,"ss":50,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":52,"used":true},{"PRN":31,"el":60,"az":229,"ss":46,"used":true},{"PRN":10,"el":9,"az":57,"ss":39,"used":true},{"PRN":16,"el":35,"az":295,"ss":50,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":52,"used":true},{"PRN":31,"el":60,"az":229,"ss":45,"used":true}]} $GPRMC,143823.79,A,4806.3728,N,00138.6293,W,2.82,266.9,121007,2.6,W,A*06 $GPGGA,143823.79,4806.3728,N,00138.6293,W,1,10,1.1,41.4,M,48.5,M,,*46 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:23.790Z","ept":0.005,"lat":48.106213333,"lon":-1.643821667,"alt":41.400,"epx":7.849,"epy":10.678,"epv":29.900,"track":266.9000,"speed":1.451,"eps":21.36} $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,17,05,16,114,45,06,65,063,49,07,72,061,47*77 $GPGSV,3,2,11,10,09,057,42,16,35,295,49,21,44,152,52,23,12,316,51*76 $GPGSV,3,3,11,24,51,097,54,30,32,110,52,31,60,229,46*4E {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":17,"used":false},{"PRN":5,"el":16,"az":114,"ss":45,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":42,"used":true},{"PRN":16,"el":35,"az":295,"ss":49,"used":true},{"PRN":21,"el":44,"az":152,"ss":52,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":52,"used":true},{"PRN":31,"el":60,"az":229,"ss":46,"used":true}]} $GPRMC,143824.79,A,4806.3727,N,00138.6306,W,3.10,266.8,121007,2.6,W,A*08 $GPGGA,143824.79,4806.3727,N,00138.6306,W,1,10,1.1,41.4,M,48.5,M,,*43 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:24.790Z","ept":0.005,"lat":48.106211667,"lon":-1.643843333,"alt":41.400,"epx":7.849,"epy":10.678,"epv":27.600,"track":266.8000,"speed":1.595,"eps":21.36} $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,34,05,16,114,44,06,65,063,49,07,72,061,46*76 $GPGSV,3,2,11,10,09,057,42,16,35,295,50,21,44,152,52,23,12,316,50*7F $GPGSV,3,3,11,24,51,097,55,30,32,110,51,31,60,229,47*4D {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":34,"used":false},{"PRN":5,"el":16,"az":114,"ss":44,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":46,"used":true},{"PRN":10,"el":9,"az":57,"ss":42,"used":true},{"PRN":16,"el":35,"az":295,"ss":50,"used":true},{"PRN":21,"el":44,"az":152,"ss":52,"used":true},{"PRN":23,"el":12,"az":316,"ss":50,"used":true},{"PRN":24,"el":51,"az":97,"ss":55,"used":true},{"PRN":30,"el":32,"az":110,"ss":51,"used":true},{"PRN":31,"el":60,"az":229,"ss":47,"used":true}]} $GPRMC,143825.79,A,4806.3725,N,00138.6321,W,3.34,267.0,121007,2.6,W,A*01 $GPGGA,143825.79,4806.3725,N,00138.6321,W,1,10,0.9,41.4,M,48.5,M,,*4C {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:25.790Z","ept":0.005,"lat":48.106208333,"lon":-1.643868333,"alt":41.400,"epx":7.849,"epy":10.678,"epv":27.600,"track":267.0000,"speed":1.718,"eps":21.36} $PFST,FOM,4*61 $GPGSA,A,3,01,06,07,10,16,21,23,24,30,31,,,1.4,0.9,1.1*3D $GPGSV,3,1,11,01,06,230,35,05,16,114,45,06,65,063,48,07,72,061,48*79 $GPGSV,3,2,11,10,09,057,43,16,35,295,48,21,44,152,52,23,12,316,51*76 $GPGSV,3,3,11,24,51,097,55,30,32,110,53,31,60,229,46*4E {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.10,"tdop":0.63,"hdop":0.90,"gdop":1.54,"pdop":1.40,"satellites":[{"PRN":1,"el":6,"az":230,"ss":35,"used":true},{"PRN":5,"el":16,"az":114,"ss":45,"used":false},{"PRN":6,"el":65,"az":63,"ss":48,"used":true},{"PRN":7,"el":72,"az":61,"ss":48,"used":true},{"PRN":10,"el":9,"az":57,"ss":43,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":52,"used":true},{"PRN":23,"el":12,"az":316,"ss":51,"used":true},{"PRN":24,"el":51,"az":97,"ss":55,"used":true},{"PRN":30,"el":32,"az":110,"ss":53,"used":true},{"PRN":31,"el":60,"az":229,"ss":46,"used":true}]} $GPRMC,143826.79,A,4806.3724,N,00138.6335,W,3.61,266.8,121007,2.6,W,A*0F $GPGGA,143826.79,4806.3724,N,00138.6335,W,1,10,1.1,41.4,M,48.5,M,,*42 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:26.790Z","ept":0.005,"lat":48.106206667,"lon":-1.643891667,"alt":41.400,"epx":7.849,"epy":10.678,"epv":25.300,"track":266.8000,"speed":1.857,"eps":21.36} $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,38,05,16,114,46,06,65,063,49,07,72,061,47*79 $GPGSV,3,2,11,10,09,057,42,16,35,295,49,21,44,152,53,23,12,316,50*76 $GPGSV,3,3,11,24,51,097,55,30,32,110,52,31,60,229,46*4F {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":38,"used":false},{"PRN":5,"el":16,"az":114,"ss":46,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":42,"used":true},{"PRN":16,"el":35,"az":295,"ss":49,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":50,"used":true},{"PRN":24,"el":51,"az":97,"ss":55,"used":true},{"PRN":30,"el":32,"az":110,"ss":52,"used":true},{"PRN":31,"el":60,"az":229,"ss":46,"used":true}]} $GPRMC,143827.79,A,4806.3724,N,00138.6352,W,3.85,267.0,121007,2.6,W,A*0C $GPGGA,143827.79,4806.3724,N,00138.6352,W,1,10,1.1,41.4,M,48.5,M,,*42 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:27.790Z","ept":0.005,"lat":48.106206667,"lon":-1.643920000,"alt":41.400,"epx":7.849,"epy":10.678,"epv":27.600,"track":267.0000,"speed":1.981,"eps":21.36} $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,37,05,16,114,46,06,65,063,49,07,72,061,46*77 $GPGSV,3,2,11,10,09,057,43,16,35,295,49,21,44,152,52,23,12,316,49*7E $GPGSV,3,3,11,24,51,097,55,30,32,110,52,31,60,229,47*4E {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":37,"used":false},{"PRN":5,"el":16,"az":114,"ss":46,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":46,"used":true},{"PRN":10,"el":9,"az":57,"ss":43,"used":true},{"PRN":16,"el":35,"az":295,"ss":49,"used":true},{"PRN":21,"el":44,"az":152,"ss":52,"used":true},{"PRN":23,"el":12,"az":316,"ss":49,"used":true},{"PRN":24,"el":51,"az":97,"ss":55,"used":true},{"PRN":30,"el":32,"az":110,"ss":52,"used":true},{"PRN":31,"el":60,"az":229,"ss":47,"used":true}]} $GPRMC,143828.79,A,4806.3725,N,00138.6368,W,4.12,266.8,121007,2.6,W,A*0B $GPGGA,143828.79,4806.3725,N,00138.6368,W,1,11,0.8,41.4,M,48.5,M,,*4C {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:28.790Z","ept":0.005,"lat":48.106208333,"lon":-1.643946667,"alt":41.400,"epx":7.849,"epy":10.678,"epv":27.600,"track":266.8000,"speed":2.120,"eps":21.36} $PFST,FOM,4*61 $GPGSA,A,3,01,05,06,07,10,16,21,23,24,30,31,,1.3,0.8,1.0*3F $GPGSV,3,1,11,01,06,230,36,05,16,114,46,06,65,063,49,07,72,061,48*78 $GPGSV,3,2,11,10,09,057,42,16,35,295,49,21,44,152,51,23,12,316,49*7C $GPGSV,3,3,11,24,51,097,55,30,32,110,53,31,60,229,47*4F {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.00,"tdop":0.63,"hdop":0.80,"gdop":1.54,"pdop":1.30,"satellites":[{"PRN":1,"el":6,"az":230,"ss":36,"used":true},{"PRN":5,"el":16,"az":114,"ss":46,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":48,"used":true},{"PRN":10,"el":9,"az":57,"ss":42,"used":true},{"PRN":16,"el":35,"az":295,"ss":49,"used":true},{"PRN":21,"el":44,"az":152,"ss":51,"used":true},{"PRN":23,"el":12,"az":316,"ss":49,"used":true},{"PRN":24,"el":51,"az":97,"ss":55,"used":true},{"PRN":30,"el":32,"az":110,"ss":53,"used":true},{"PRN":31,"el":60,"az":229,"ss":47,"used":true}]} $GPRMC,143829.79,A,4806.3724,N,00138.6386,W,4.39,266.7,121007,2.6,W,A*0D $GPGGA,143829.79,4806.3724,N,00138.6386,W,1,10,1.1,41.4,M,48.5,M,,*45 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:29.790Z","ept":0.005,"lat":48.106206667,"lon":-1.643976667,"alt":41.400,"epx":7.849,"epy":10.678,"epv":23.000,"track":266.7000,"speed":2.258,"eps":21.36} $PFST,FOM,2*67 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,35,05,16,114,45,06,65,063,49,07,72,061,47*77 $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,44,152,52,23,12,316,50*74 $GPGSV,3,3,11,24,51,097,54,30,32,110,51,31,60,229,47*4C {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":35,"used":false},{"PRN":5,"el":16,"az":114,"ss":45,"used":true},{"PRN":6,"el":65,"az":63,"ss":49,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":40,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":52,"used":true},{"PRN":23,"el":12,"az":316,"ss":50,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":51,"used":true},{"PRN":31,"el":60,"az":229,"ss":47,"used":true}]} $GPRMC,143830.79,A,4806.3723,N,00138.6405,W,4.66,266.3,121007,2.6,W,A*00 $GPGGA,143830.79,4806.3723,N,00138.6405,W,1,10,1.1,41.4,M,48.5,M,,*46 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:30.790Z","ept":0.005,"lat":48.106205000,"lon":-1.644008333,"alt":41.400,"epx":7.849,"epy":10.678,"epv":27.600,"track":266.3000,"speed":2.397,"eps":21.36} $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,37,05,16,114,45,06,65,063,48,07,72,061,48*7B $GPGSV,3,2,11,10,09,057,41,16,35,295,47,21,44,152,53,23,12,316,46*7C $GPGSV,3,3,11,24,51,097,55,30,32,110,51,31,60,229,47*4D {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":37,"used":false},{"PRN":5,"el":16,"az":114,"ss":45,"used":true},{"PRN":6,"el":65,"az":63,"ss":48,"used":true},{"PRN":7,"el":72,"az":61,"ss":48,"used":true},{"PRN":10,"el":9,"az":57,"ss":41,"used":true},{"PRN":16,"el":35,"az":295,"ss":47,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":46,"used":true},{"PRN":24,"el":51,"az":97,"ss":55,"used":true},{"PRN":30,"el":32,"az":110,"ss":51,"used":true},{"PRN":31,"el":60,"az":229,"ss":47,"used":true}]} $GPRMC,143831.79,A,4806.3723,N,00138.6424,W,4.91,266.5,121007,2.6,W,A*0C $GPGGA,143831.79,4806.3723,N,00138.6424,W,1,10,1.3,41.4,M,48.5,M,,*46 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:31.790Z","ept":0.005,"lat":48.106205000,"lon":-1.644040000,"alt":41.400,"epx":7.849,"epy":10.678,"epv":27.600,"track":266.5000,"speed":2.526,"eps":21.36} $PFST,FOM,7*62 $GPGSA,A,3,01,05,06,07,16,21,23,24,30,31,,,1.9,1.3,1.4*3A $GPGSV,3,1,11,01,06,230,38,05,16,114,45,06,65,063,48,07,72,061,47*7B $GPGSV,3,2,11,10,09,057,38,16,35,295,46,21,44,152,53,23,12,316,43*76 $GPGSV,3,3,11,24,51,097,55,30,32,110,51,31,60,229,47*4D {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.40,"tdop":0.63,"hdop":1.30,"gdop":1.54,"pdop":1.90,"satellites":[{"PRN":1,"el":6,"az":230,"ss":38,"used":true},{"PRN":5,"el":16,"az":114,"ss":45,"used":true},{"PRN":6,"el":65,"az":63,"ss":48,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":38,"used":false},{"PRN":16,"el":35,"az":295,"ss":46,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":43,"used":true},{"PRN":24,"el":51,"az":97,"ss":55,"used":true},{"PRN":30,"el":32,"az":110,"ss":51,"used":true},{"PRN":31,"el":60,"az":229,"ss":47,"used":true}]} $GPRMC,143832.79,A,4806.3723,N,00138.6444,W,5.05,266.3,121007,2.6,W,A*03 $GPGGA,143832.79,4806.3723,N,00138.6444,W,1,10,1.4,41.4,M,48.5,M,,*44 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:32.790Z","ept":0.005,"lat":48.106205000,"lon":-1.644073333,"alt":41.400,"epx":7.849,"epy":10.678,"epv":32.200,"track":266.3000,"speed":2.598,"eps":21.36} $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,2.0,1.4,1.4*37 $GPGSV,3,1,11,01,06,230,37,05,16,114,44,06,65,063,48,07,72,061,48*7A $GPGSV,3,2,11,10,09,057,37,16,35,295,47,21,44,152,53,23,12,316,44*7F $GPGSV,3,3,11,24,51,097,55,30,32,110,52,31,60,229,47*4E {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.40,"tdop":0.63,"hdop":1.40,"gdop":1.54,"pdop":2.00,"satellites":[{"PRN":1,"el":6,"az":230,"ss":37,"used":false},{"PRN":5,"el":16,"az":114,"ss":44,"used":true},{"PRN":6,"el":65,"az":63,"ss":48,"used":true},{"PRN":7,"el":72,"az":61,"ss":48,"used":true},{"PRN":10,"el":9,"az":57,"ss":37,"used":true},{"PRN":16,"el":35,"az":295,"ss":47,"used":true},{"PRN":21,"el":44,"az":152,"ss":53,"used":true},{"PRN":23,"el":12,"az":316,"ss":44,"used":true},{"PRN":24,"el":51,"az":97,"ss":55,"used":true},{"PRN":30,"el":32,"az":110,"ss":52,"used":true},{"PRN":31,"el":60,"az":229,"ss":47,"used":true}]} $GPRMC,143833.79,A,4806.3721,N,00138.6464,W,5.13,265.8,121007,2.6,W,A*0D $GPGGA,143833.79,4806.3721,N,00138.6464,W,1,09,1.3,41.4,M,48.5,M,,*4A {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:33.790Z","ept":0.005,"lat":48.106201667,"lon":-1.644106667,"alt":41.400,"epx":7.849,"epy":10.678,"epv":32.200,"track":265.8000,"speed":2.639,"eps":21.36} $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,16,21,23,24,30,31,,,,1.9,1.3,1.3*3C $GPGSV,3,1,11,01,06,230,38,05,16,114,43,06,65,063,48,07,72,061,48*72 $GPGSV,3,2,11,10,09,057,38,16,35,295,48,21,44,152,52,23,12,316,46*7C $GPGSV,3,3,11,24,51,097,55,30,32,110,52,31,60,229,47*4E {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.30,"tdop":0.63,"hdop":1.30,"gdop":1.54,"pdop":1.90,"satellites":[{"PRN":1,"el":6,"az":230,"ss":38,"used":false},{"PRN":5,"el":16,"az":114,"ss":43,"used":true},{"PRN":6,"el":65,"az":63,"ss":48,"used":true},{"PRN":7,"el":72,"az":61,"ss":48,"used":true},{"PRN":10,"el":9,"az":57,"ss":38,"used":false},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":52,"used":true},{"PRN":23,"el":12,"az":316,"ss":46,"used":true},{"PRN":24,"el":51,"az":97,"ss":55,"used":true},{"PRN":30,"el":32,"az":110,"ss":52,"used":true},{"PRN":31,"el":60,"az":229,"ss":47,"used":true}]} $GPRMC,143834.80,A,4806.3719,N,00138.6484,W,5.21,266.1,121007,2.6,W,A*02 $GPGGA,143834.80,4806.3719,N,00138.6484,W,1,09,1.5,41.3,M,48.5,M,,*4F {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:34.800Z","ept":0.005,"lat":48.106198333,"lon":-1.644140000,"alt":41.300,"epx":7.849,"epy":10.678,"epv":29.900,"track":266.1000,"speed":2.680,"eps":21.14} $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,16,21,23,24,30,31,,,,2.3,1.5,1.8*38 $GPGSV,3,1,11,01,06,230,36,05,16,114,44,06,65,063,48,07,72,061,48*7B $GPGSV,3,2,11,10,09,057,38,16,35,295,47,21,44,152,52,23,12,316,43*76 $GPGSV,3,3,11,24,51,097,55,30,32,110,53,31,60,229,48*40 {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.80,"tdop":0.63,"hdop":1.50,"gdop":1.54,"pdop":2.30,"satellites":[{"PRN":1,"el":6,"az":230,"ss":36,"used":false},{"PRN":5,"el":16,"az":114,"ss":44,"used":true},{"PRN":6,"el":65,"az":63,"ss":48,"used":true},{"PRN":7,"el":72,"az":61,"ss":48,"used":true},{"PRN":10,"el":9,"az":57,"ss":38,"used":false},{"PRN":16,"el":35,"az":295,"ss":47,"used":true},{"PRN":21,"el":44,"az":152,"ss":52,"used":true},{"PRN":23,"el":12,"az":316,"ss":43,"used":true},{"PRN":24,"el":51,"az":97,"ss":55,"used":true},{"PRN":30,"el":32,"az":110,"ss":53,"used":true},{"PRN":31,"el":60,"az":229,"ss":48,"used":true}]} $GPRMC,143835.80,A,4806.3719,N,00138.6509,W,5.31,265.1,121007,2.6,W,A*05 $GPGGA,143835.80,4806.3719,N,00138.6509,W,1,10,1.1,41.3,M,48.5,M,,*46 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:35.800Z","ept":0.005,"lat":48.106198333,"lon":-1.644181667,"alt":41.300,"epx":7.849,"epy":10.678,"epv":41.400,"track":265.1000,"speed":2.732,"eps":21.36} $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,36,05,16,114,42,06,65,063,48,07,72,061,48*7D $GPGSV,3,2,11,10,09,057,39,16,35,295,47,21,44,152,52,23,12,316,48*7C $GPGSV,3,3,11,24,51,097,55,30,32,110,53,31,60,229,47*4F {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":36,"used":false},{"PRN":5,"el":16,"az":114,"ss":42,"used":true},{"PRN":6,"el":65,"az":63,"ss":48,"used":true},{"PRN":7,"el":72,"az":61,"ss":48,"used":true},{"PRN":10,"el":9,"az":57,"ss":39,"used":true},{"PRN":16,"el":35,"az":295,"ss":47,"used":true},{"PRN":21,"el":44,"az":152,"ss":52,"used":true},{"PRN":23,"el":12,"az":316,"ss":48,"used":true},{"PRN":24,"el":51,"az":97,"ss":55,"used":true},{"PRN":30,"el":32,"az":110,"ss":53,"used":true},{"PRN":31,"el":60,"az":229,"ss":47,"used":true}]} $GPRMC,143836.80,A,4806.3718,N,00138.6527,W,5.42,264.6,121007,2.6,W,A*09 $GPGGA,143836.80,4806.3718,N,00138.6527,W,1,10,1.2,41.4,M,48.5,M,,*4C {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:36.800Z","ept":0.005,"lat":48.106196667,"lon":-1.644211667,"alt":41.400,"epx":7.849,"epy":10.678,"epv":27.600,"track":264.6000,"speed":2.788,"eps":21.36} $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.9,1.2,1.5*3A $GPGSV,3,1,11,01,06,230,34,05,16,114,42,06,65,063,48,07,72,061,48*7F $GPGSV,3,2,11,10,09,057,38,16,35,295,47,21,44,152,52,23,12,316,45*70 $GPGSV,3,3,11,24,51,097,55,30,32,110,53,31,60,229,47*4F {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.50,"tdop":0.63,"hdop":1.20,"gdop":1.54,"pdop":1.90,"satellites":[{"PRN":1,"el":6,"az":230,"ss":34,"used":false},{"PRN":5,"el":16,"az":114,"ss":42,"used":true},{"PRN":6,"el":65,"az":63,"ss":48,"used":true},{"PRN":7,"el":72,"az":61,"ss":48,"used":true},{"PRN":10,"el":9,"az":57,"ss":38,"used":true},{"PRN":16,"el":35,"az":295,"ss":47,"used":true},{"PRN":21,"el":44,"az":152,"ss":52,"used":true},{"PRN":23,"el":12,"az":316,"ss":45,"used":true},{"PRN":24,"el":51,"az":97,"ss":55,"used":true},{"PRN":30,"el":32,"az":110,"ss":53,"used":true},{"PRN":31,"el":60,"az":229,"ss":47,"used":true}]} $GPRMC,143837.80,A,4806.3716,N,00138.6546,W,5.53,264.3,121007,2.6,W,A*04 $GPGGA,143837.80,4806.3716,N,00138.6546,W,1,10,1.3,41.4,M,48.5,M,,*45 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:37.800Z","ept":0.005,"lat":48.106193333,"lon":-1.644243333,"alt":41.400,"epx":7.849,"epy":10.678,"epv":34.500,"track":264.3000,"speed":2.845,"eps":21.36} $PFST,FOM,7*62 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.9,1.3,1.3*3D $GPGSV,3,1,11,01,06,230,34,05,16,114,46,06,65,063,47,07,72,061,47*7B $GPGSV,3,2,11,10,09,057,37,16,35,295,48,21,44,152,52,23,12,316,44*71 $GPGSV,3,3,11,24,51,097,55,30,32,110,53,31,60,229,47*4F {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.30,"tdop":0.63,"hdop":1.30,"gdop":1.54,"pdop":1.90,"satellites":[{"PRN":1,"el":6,"az":230,"ss":34,"used":false},{"PRN":5,"el":16,"az":114,"ss":46,"used":true},{"PRN":6,"el":65,"az":63,"ss":47,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":37,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":52,"used":true},{"PRN":23,"el":12,"az":316,"ss":44,"used":true},{"PRN":24,"el":51,"az":97,"ss":55,"used":true},{"PRN":30,"el":32,"az":110,"ss":53,"used":true},{"PRN":31,"el":60,"az":229,"ss":47,"used":true}]} $GPRMC,143838.80,A,4806.3716,N,00138.6569,W,5.64,264.4,121007,2.6,W,A*05 $GPGGA,143838.80,4806.3716,N,00138.6569,W,1,10,1.1,41.4,M,48.5,M,,*45 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:38.800Z","ept":0.005,"lat":48.106193333,"lon":-1.644281667,"alt":41.400,"epx":7.849,"epy":10.678,"epv":29.900,"track":264.4000,"speed":2.901,"eps":21.36} $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,00,05,16,114,47,06,65,063,47,07,72,061,47*7D $GPGSV,3,2,11,10,09,057,38,16,35,295,48,21,44,152,52,23,12,316,47*7D $GPGSV,3,3,11,24,51,097,54,30,32,110,52,31,60,229,48*40 {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":0,"used":false},{"PRN":5,"el":16,"az":114,"ss":47,"used":true},{"PRN":6,"el":65,"az":63,"ss":47,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":38,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":52,"used":true},{"PRN":23,"el":12,"az":316,"ss":47,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":52,"used":true},{"PRN":31,"el":60,"az":229,"ss":48,"used":true}]} $GPRMC,143839.80,A,4806.3715,N,00138.6593,W,5.74,264.1,121007,2.6,W,A*06 $GPGGA,143839.80,4806.3715,N,00138.6593,W,1,09,1.3,41.5,M,48.5,M,,*49 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:39.800Z","ept":0.005,"lat":48.106191667,"lon":-1.644321667,"alt":41.500,"epx":7.849,"epy":10.678,"epv":27.600,"track":264.1000,"speed":2.953,"eps":21.36} $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,16,21,23,24,30,31,,,,1.9,1.3,1.3*3C $GPGSV,3,1,11,01,06,230,12,05,16,114,46,06,65,063,48,07,72,061,47*70 $GPGSV,3,2,11,10,09,057,35,16,35,295,47,21,44,152,52,23,12,316,48*70 $GPGSV,3,3,11,24,51,097,54,30,32,110,53,31,60,229,48*41 {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.30,"tdop":0.63,"hdop":1.30,"gdop":1.54,"pdop":1.90,"satellites":[{"PRN":1,"el":6,"az":230,"ss":12,"used":false},{"PRN":5,"el":16,"az":114,"ss":46,"used":true},{"PRN":6,"el":65,"az":63,"ss":48,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":35,"used":false},{"PRN":16,"el":35,"az":295,"ss":47,"used":true},{"PRN":21,"el":44,"az":152,"ss":52,"used":true},{"PRN":23,"el":12,"az":316,"ss":48,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":53,"used":true},{"PRN":31,"el":60,"az":229,"ss":48,"used":true}]} $GPRMC,143840.80,A,4806.3715,N,00138.6618,W,5.91,263.8,121007,2.6,W,A*0D $GPGGA,143840.80,4806.3715,N,00138.6618,W,1,10,1.4,41.4,M,48.5,M,,*49 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:40.800Z","ept":0.005,"lat":48.106191667,"lon":-1.644363333,"alt":41.400,"epx":7.849,"epy":10.678,"epv":29.900,"track":263.8000,"speed":3.040,"eps":21.36} $PFST,FOM,5*60 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,2.1,1.4,1.5*37 $GPGSV,3,1,11,01,06,230,31,05,16,114,46,06,65,063,47,07,72,061,47*7E $GPGSV,3,2,11,10,09,057,38,16,35,295,48,21,44,152,51,23,12,316,48*71 $GPGSV,3,3,11,24,51,097,54,30,32,110,53,31,60,229,48*41 {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.50,"tdop":0.63,"hdop":1.40,"gdop":1.54,"pdop":2.10,"satellites":[{"PRN":1,"el":6,"az":230,"ss":31,"used":false},{"PRN":5,"el":16,"az":114,"ss":46,"used":true},{"PRN":6,"el":65,"az":63,"ss":47,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":38,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":51,"used":true},{"PRN":23,"el":12,"az":316,"ss":48,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":53,"used":true},{"PRN":31,"el":60,"az":229,"ss":48,"used":true}]} $GPRMC,143841.80,A,4806.3713,N,00138.6642,W,6.07,263.1,121007,2.6,W,A*00 $GPGGA,143841.80,4806.3713,N,00138.6642,W,1,10,1.6,41.5,M,48.5,M,,*42 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:41.800Z","ept":0.005,"lat":48.106188333,"lon":-1.644403333,"alt":41.500,"epx":7.849,"epy":10.678,"epv":34.500,"track":263.1000,"speed":3.123,"eps":21.36} $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,2.5,1.6,1.9*3D $GPGSV,3,1,11,01,06,230,32,05,16,114,47,06,65,063,47,07,72,061,46*7D $GPGSV,3,2,11,10,09,057,41,16,35,295,49,21,44,152,50,23,12,316,48*7F $GPGSV,3,3,11,24,51,097,54,30,32,110,52,31,60,229,48*40 {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.90,"tdop":0.63,"hdop":1.60,"gdop":1.54,"pdop":2.50,"satellites":[{"PRN":1,"el":6,"az":230,"ss":32,"used":false},{"PRN":5,"el":16,"az":114,"ss":47,"used":true},{"PRN":6,"el":65,"az":63,"ss":47,"used":true},{"PRN":7,"el":72,"az":61,"ss":46,"used":true},{"PRN":10,"el":9,"az":57,"ss":41,"used":true},{"PRN":16,"el":35,"az":295,"ss":49,"used":true},{"PRN":21,"el":44,"az":152,"ss":50,"used":true},{"PRN":23,"el":12,"az":316,"ss":48,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":52,"used":true},{"PRN":31,"el":60,"az":229,"ss":48,"used":true}]} $GPRMC,143842.80,A,4806.3713,N,00138.6667,W,6.33,262.2,121007,2.6,W,A*01 $GPGGA,143842.80,4806.3713,N,00138.6667,W,1,10,1.1,41.5,M,48.5,M,,*41 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:42.800Z","ept":0.005,"lat":48.106188333,"lon":-1.644445000,"alt":41.500,"epx":7.849,"epy":10.678,"epv":43.700,"track":262.2000,"speed":3.256,"eps":21.36} $PFST,FOM,3*66 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,32,05,16,114,45,06,65,063,47,07,72,061,46*7F $GPGSV,3,2,11,10,09,057,39,16,35,295,48,21,44,152,51,23,12,316,48*70 $GPGSV,3,3,11,24,51,097,54,30,32,110,52,31,60,229,48*40 {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":32,"used":false},{"PRN":5,"el":16,"az":114,"ss":45,"used":true},{"PRN":6,"el":65,"az":63,"ss":47,"used":true},{"PRN":7,"el":72,"az":61,"ss":46,"used":true},{"PRN":10,"el":9,"az":57,"ss":39,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":51,"used":true},{"PRN":23,"el":12,"az":316,"ss":48,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":52,"used":true},{"PRN":31,"el":60,"az":229,"ss":48,"used":true}]} $GPRMC,143843.80,A,4806.3711,N,00138.6694,W,6.52,261.1,121007,2.6,W,A*09 $GPGGA,143843.80,4806.3711,N,00138.6694,W,1,10,1.1,41.5,M,48.5,M,,*4E {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:43.800Z","ept":0.005,"lat":48.106185000,"lon":-1.644490000,"alt":41.500,"epx":7.849,"epy":10.678,"epv":27.600,"track":261.1000,"speed":3.354,"eps":21.36} $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,34,05,16,114,44,06,65,063,47,07,72,061,47*79 $GPGSV,3,2,11,10,09,057,38,16,35,295,48,21,44,152,50,23,12,316,48*70 $GPGSV,3,3,11,24,51,097,54,30,32,110,51,31,60,229,49*42 {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":34,"used":false},{"PRN":5,"el":16,"az":114,"ss":44,"used":true},{"PRN":6,"el":65,"az":63,"ss":47,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":38,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":50,"used":true},{"PRN":23,"el":12,"az":316,"ss":48,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":51,"used":true},{"PRN":31,"el":60,"az":229,"ss":49,"used":true}]} $GPRMC,143844.80,A,4806.3707,N,00138.6723,W,6.72,261.3,121007,2.6,W,A*04 $GPGGA,143844.80,4806.3707,N,00138.6723,W,1,10,1.1,41.6,M,48.5,M,,*40 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:44.800Z","ept":0.005,"lat":48.106178333,"lon":-1.644538333,"alt":41.600,"epx":7.849,"epy":10.678,"epv":27.600,"track":261.3000,"speed":3.457,"eps":21.36} $PFST,FOM,4*61 $GPGSA,A,3,05,06,07,10,16,21,23,24,30,31,,,1.7,1.1,1.2*30 $GPGSV,3,1,11,01,06,230,33,05,16,114,48,06,65,063,48,07,72,061,47*7D $GPGSV,3,2,11,10,09,057,40,16,35,295,48,21,44,152,50,23,12,316,47*70 $GPGSV,3,3,11,24,51,097,54,30,32,110,51,31,60,229,48*43 {"class":"SKY","tag":"GSV","xdop":0.52,"ydop":0.71,"vdop":1.20,"tdop":0.63,"hdop":1.10,"gdop":1.54,"pdop":1.70,"satellites":[{"PRN":1,"el":6,"az":230,"ss":33,"used":false},{"PRN":5,"el":16,"az":114,"ss":48,"used":true},{"PRN":6,"el":65,"az":63,"ss":48,"used":true},{"PRN":7,"el":72,"az":61,"ss":47,"used":true},{"PRN":10,"el":9,"az":57,"ss":40,"used":true},{"PRN":16,"el":35,"az":295,"ss":48,"used":true},{"PRN":21,"el":44,"az":152,"ss":50,"used":true},{"PRN":23,"el":12,"az":316,"ss":47,"used":true},{"PRN":24,"el":51,"az":97,"ss":54,"used":true},{"PRN":30,"el":32,"az":110,"ss":51,"used":true},{"PRN":31,"el":60,"az":229,"ss":48,"used":true}]} $GPRMC,143845.80,A,4806.3705,N,00138.6753,W,6.92,261.2,121007,2.6,W,A*0F $GPGGA,143845.80,4806.3705,N,00138.6753,W,1,10,1.1,41.7,M,48.5,M,,*45 {"class":"TPV","tag":"GGA","mode":3,"time":"2007-10-12T14:38:45.800Z","ept":0.005,"lat":48.106175000,"lon":-1.644588333,"alt":41.700,"epx":7.849,"epy":10.678,"epv":27.600,"track":261.2000,"speed":3.560,"eps":21.36} $PFST,FOM,3*66 gpsd-3.9/test/daemon/eXplorist210.log0000664000175000017500000000542511762140436015643 0ustar esresr# Name: Magellan eXplorist 210 # Chipset: unknown # Submitter: "Paul B van den Berg" # Date: 2006-05-20 # Location: Groningen, NL, 53.2N6.6E # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # # mode V2.1 GSA # Lines up to but not including the first GPGLL are # `cat /dev/ttyACM0` at startup # Following lines are # `cat /dev/ttyACM0` stationary $GPGSV,3,1,00,,,,,,,,,,,,,,,,*7B $GPGSV,3,2,00,,,,,,,,,,,,,,,,*78 $GPGSV,3,3,00,,,,,,,,,,,,,,,,*79 $PMGNST,01.75,3,F,816,11.1,+00000,20*5E $GPGSV,3,1,00,,,,,,,,,,,,,,,,*7B $GPGSV,3,2,00,,,,,,,,,,,,,,,,*78 $GPGSV,3,3,00,,,,,,,,,,,,,,,,*79 $PMGNST,01.75,3,F,816,11.1,+00000,20*5E $GPGSV,3,1,00,,,,,,,,,,,,,,,,*7B $GPGSV,3,2,00,,,,,,,,,,,,,,,,*78 $GPGSV,3,3,00,,,,,,,,,,,,,,,,*79 $PMGNST,01.75,3,F,822,11.2,+00000,20*5A $GPGSV,3,1,00,,,,,,,,,,,,,,,,*7B $GPGSV,3,2,00,,,,,,,,,,,,,,,,*78 $GPGSV,3,3,00,,,,,,,,,,,,,,,,*79 $PMGNST,01.75,3,F,822,11.2,+00000,20*5A $GPGSV,3,1,12,09,76,287,,17,38,073,36,26,34,163,,05,33,230,*72 $GPGSV,3,2,12,29,27,161,,18,24,256,,22,24,299,,28,11,055,*73 $GPGSV,3,3,12,14,08,319,,11,03,017,,30,02,232,,24,00,084,*71 $PMGNST,01.75,3,F,822,11.2,-00673,20*5E # This device has some strange bug that causes it to emit three-digit # fractional parts on GPGLL timestamps: you can see one in the next line. # These produce spurious start-of-cycle events. $GPGLL,5313.2228,N,00634.4228,E,200619.295,A*35 $GPGGA,200619.30,5313.2228,N,00634.4228,E,1,05,2.6,00000,M,,,,*2C $GPRMC,200619.30,A,5313.2228,N,00634.4228,E,00.0,000.0,200506,00,W*59 $GPGSA,A,3,26,05,22,09,18,,,,,,,,05.1,02.6,04.4*03 $GPGSV,3,1,10,09,78,288,39,17,38,071,,05,34,230,45,26,33,163,39*77 $GPGSV,3,2,10,29,26,162,,18,24,255,42,22,24,298,44,28,10,056,*75 $GPGSV,3,3,10,14,09,319,,11,03,016,,136,27,157,,124,28,162,*71 $GPGLL,5313.2228,N,00634.4228,E,200620.303,A*31 $GPGGA,200620.30,5313.2228,N,00634.4228,E,1,05,2.5,00000,M,,,,*25 $GPRMC,200620.30,A,5313.2228,N,00634.4228,E,00.0,000.0,200506,00,W*53 $GPGSA,A,3,26,05,22,09,18,,,,,,,,05.0,02.5,04.3*06 $PMGNST,01.75,3,T,816,11.1,-00496,00*43 $GPGLL,5313.2227,N,00634.4228,E,200621.297,A*33 $GPGGA,200621.30,5313.2227,N,00634.4228,E,1,05,2.6,00000,M,,,,*28 $GPRMC,200621.30,A,5313.2227,N,00634.4228,E,00.0,000.0,200506,00,W*5D $GPGSA,A,3,26,05,22,09,18,,,,,,,,05.2,02.6,04.5*01 $GPGSV,3,1,10,09,78,288,38,17,38,071,,05,34,230,45,26,33,163,39*76 $GPGSV,3,2,10,29,26,162,,18,24,255,42,22,24,298,44,28,10,056,*75 $GPGSV,3,3,10,14,09,319,,11,03,016,,136,27,157,,124,28,162,*71 $GPGLL,5313.2227,N,00634.4228,E,200622.305,A*3A $GPGGA,200622.31,5313.2227,N,00634.4228,E,1,05,2.5,00000,M,,,,*29 $GPRMC,200622.31,A,5313.2227,N,00634.4228,E,00.0,000.0,200506,00,W*5F $GPGSA,A,3,26,05,22,09,18,,,,,,,,05.0,02.5,04.3*06 $PMGNST,01.75,3,T,816,11.1,-00495,00*40 gpsd-3.9/test/daemon/eXplorist210.log.chk0000664000175000017500000001242512135526302016400 0ustar esresr$GPGSV,3,1,00,,,,,,,,,,,,,,,,*7B $GPGSV,3,2,00,,,,,,,,,,,,,,,,*78 $GPGSV,3,3,00,,,,,,,,,,,,,,,,*79 $PMGNST,01.75,3,F,816,11.1,+00000,20*5E $GPGSV,3,1,00,,,,,,,,,,,,,,,,*7B $GPGSV,3,2,00,,,,,,,,,,,,,,,,*78 $GPGSV,3,3,00,,,,,,,,,,,,,,,,*79 $PMGNST,01.75,3,F,816,11.1,+00000,20*5E $GPGSV,3,1,00,,,,,,,,,,,,,,,,*7B $GPGSV,3,2,00,,,,,,,,,,,,,,,,*78 $GPGSV,3,3,00,,,,,,,,,,,,,,,,*79 $PMGNST,01.75,3,F,822,11.2,+00000,20*5A $GPGSV,3,1,00,,,,,,,,,,,,,,,,*7B $GPGSV,3,2,00,,,,,,,,,,,,,,,,*78 $GPGSV,3,3,00,,,,,,,,,,,,,,,,*79 $PMGNST,01.75,3,F,822,11.2,+00000,20*5A $GPGSV,3,1,12,09,76,287,,17,38,073,36,26,34,163,,05,33,230,*72 $GPGSV,3,2,12,29,27,161,,18,24,256,,22,24,299,,28,11,055,*73 $GPGSV,3,3,12,14,08,319,,11,03,017,,30,02,232,,24,00,084,*71 {"class":"SKY","tag":"GSV","satellites":[{"PRN":9,"el":76,"az":287,"ss":0,"used":false},{"PRN":17,"el":38,"az":73,"ss":36,"used":false},{"PRN":26,"el":34,"az":163,"ss":0,"used":false},{"PRN":5,"el":33,"az":230,"ss":0,"used":false},{"PRN":29,"el":27,"az":161,"ss":0,"used":false},{"PRN":18,"el":24,"az":256,"ss":0,"used":false},{"PRN":22,"el":24,"az":299,"ss":0,"used":false},{"PRN":28,"el":11,"az":55,"ss":0,"used":false},{"PRN":14,"el":8,"az":319,"ss":0,"used":false},{"PRN":11,"el":3,"az":17,"ss":0,"used":false},{"PRN":30,"el":2,"az":232,"ss":0,"used":false},{"PRN":24,"el":0,"az":84,"ss":0,"used":false}]} $PMGNST,01.75,3,F,822,11.2,-00673,20*5E $GPGLL,5313.2228,N,00634.4228,E,200619.295,A*35 {"class":"TPV","tag":"GLL","mode":2,"lat":53.220380000,"lon":6.573713333} $GPGGA,200619.30,5313.2228,N,00634.4228,E,1,05,2.6,00000,M,,,,*2C {"class":"TPV","tag":"GGA","mode":3,"lat":53.220380000,"lon":6.573713333,"alt":0.000} $GPRMC,200619.30,A,5313.2228,N,00634.4228,E,00.0,000.0,200506,00,W*59 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-05-20T20:06:19.300Z","ept":0.005,"lat":53.220380000,"lon":6.573713333,"alt":0.000,"track":0.0000,"speed":0.000} $GPGSA,A,3,26,05,22,09,18,,,,,,,,05.1,02.6,04.4*03 {"class":"TPV","tag":"GSA","mode":3,"time":"2006-05-20T20:06:19.300Z","ept":0.005,"lat":53.220380000,"lon":6.573713333,"alt":0.000,"epv":101.200,"track":0.0000,"speed":0.000,"climb":0.000} $GPGSV,3,1,10,09,78,288,39,17,38,071,,05,34,230,45,26,33,163,39*77 $GPGSV,3,2,10,29,26,162,,18,24,255,42,22,24,298,44,28,10,056,*75 $GPGSV,3,3,10,14,09,319,,11,03,016,,136,27,157,,124,28,162,*71 {"class":"SKY","tag":"GSV","xdop":1.19,"ydop":1.62,"vdop":4.40,"tdop":3.09,"hdop":2.60,"gdop":5.43,"pdop":5.10,"satellites":[{"PRN":9,"el":78,"az":288,"ss":39,"used":true},{"PRN":17,"el":38,"az":71,"ss":0,"used":false},{"PRN":5,"el":34,"az":230,"ss":45,"used":true},{"PRN":26,"el":33,"az":163,"ss":39,"used":true},{"PRN":29,"el":26,"az":162,"ss":0,"used":false},{"PRN":18,"el":24,"az":255,"ss":42,"used":true},{"PRN":22,"el":24,"az":298,"ss":44,"used":true},{"PRN":28,"el":10,"az":56,"ss":0,"used":false},{"PRN":14,"el":9,"az":319,"ss":0,"used":false},{"PRN":11,"el":3,"az":16,"ss":0,"used":false},{"PRN":136,"el":27,"az":157,"ss":0,"used":false},{"PRN":124,"el":28,"az":162,"ss":0,"used":false}]} $GPGLL,5313.2228,N,00634.4228,E,200620.303,A*31 $GPGGA,200620.30,5313.2228,N,00634.4228,E,1,05,2.5,00000,M,,,,*25 $GPRMC,200620.30,A,5313.2228,N,00634.4228,E,00.0,000.0,200506,00,W*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-05-20T20:06:20.300Z","ept":0.005,"lat":53.220380000,"lon":6.573713333,"alt":0.000,"epx":17.848,"epy":24.244,"epv":101.200,"track":0.0000,"speed":0.000,"climb":0.000,"eps":48.34} $GPGSA,A,3,26,05,22,09,18,,,,,,,,05.0,02.5,04.3*06 $PMGNST,01.75,3,T,816,11.1,-00496,00*43 $GPGLL,5313.2227,N,00634.4228,E,200621.297,A*33 $GPGGA,200621.30,5313.2227,N,00634.4228,E,1,05,2.6,00000,M,,,,*28 $GPRMC,200621.30,A,5313.2227,N,00634.4228,E,00.0,000.0,200506,00,W*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2006-05-20T20:06:21.300Z","ept":0.005,"lat":53.220378333,"lon":6.573713333,"alt":0.000,"epx":17.848,"epy":24.244,"epv":98.900,"track":0.0000,"speed":0.000,"climb":0.000,"eps":48.63} $GPGSA,A,3,26,05,22,09,18,,,,,,,,05.2,02.6,04.5*01 $GPGSV,3,1,10,09,78,288,38,17,38,071,,05,34,230,45,26,33,163,39*76 $GPGSV,3,2,10,29,26,162,,18,24,255,42,22,24,298,44,28,10,056,*75 $GPGSV,3,3,10,14,09,319,,11,03,016,,136,27,157,,124,28,162,*71 {"class":"SKY","tag":"GSV","xdop":1.19,"ydop":1.62,"vdop":4.50,"tdop":3.09,"hdop":2.60,"gdop":5.43,"pdop":5.20,"satellites":[{"PRN":9,"el":78,"az":288,"ss":38,"used":true},{"PRN":17,"el":38,"az":71,"ss":0,"used":false},{"PRN":5,"el":34,"az":230,"ss":45,"used":true},{"PRN":26,"el":33,"az":163,"ss":39,"used":true},{"PRN":29,"el":26,"az":162,"ss":0,"used":false},{"PRN":18,"el":24,"az":255,"ss":42,"used":true},{"PRN":22,"el":24,"az":298,"ss":44,"used":true},{"PRN":28,"el":10,"az":56,"ss":0,"used":false},{"PRN":14,"el":9,"az":319,"ss":0,"used":false},{"PRN":11,"el":3,"az":16,"ss":0,"used":false},{"PRN":136,"el":27,"az":157,"ss":0,"used":false},{"PRN":124,"el":28,"az":162,"ss":0,"used":false}]} $GPGLL,5313.2227,N,00634.4228,E,200622.305,A*3A $GPGGA,200622.31,5313.2227,N,00634.4228,E,1,05,2.5,00000,M,,,,*29 $GPRMC,200622.31,A,5313.2227,N,00634.4228,E,00.0,000.0,200506,00,W*5F {"class":"TPV","tag":"RMC","mode":3,"time":"2006-05-20T20:06:22.310Z","ept":0.005,"lat":53.220378333,"lon":6.573713333,"alt":0.000,"epx":17.848,"epy":24.244,"epv":103.500,"track":0.0000,"speed":0.000,"climb":0.000,"eps":48.25} $GPGSA,A,3,26,05,22,09,18,,,,,,,,05.0,02.5,04.3*06 $PMGNST,01.75,3,T,816,11.1,-00495,00*40 gpsd-3.9/test/daemon/et-332.log0000664000175000017500000004140411762140436014341 0ustar esresr# Name: ET-322 engine board from GlobalSat # Chipset: SiRF-III # Submitter: Val Schmidt # Date: 2010-04-25 # Location: Newark, DE # Transport: UDP # # The bard lives inside a Gavia AUV , which was # placed in the parking log of a university laboratory for the capture # of this data. It was completely stationary. Also, this sample # contains strings that indicate the date. # # The contents of the Transport header tell the gpsd test framework to # ship the file to the subordinate gpsd via IP datagrams. The source # is passed in as a udp:// URL. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPZDA,153347.000,23,04,2010,,*57 $GPGGA,153347.000,3940.6986,N,07544.9356,W,1,09,1.3,75.2,M,-33.8,M,,0000*53 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153347.000,A,3940.6986,N,07544.9356,W,0.12,87.21,230410,,*29 $GPVTG,87.21,T,,M,0.12,N,0.2,K*5D $GPZDA,153348.000,23,04,2010,,*58 $GPGGA,153348.000,3940.6986,N,07544.9356,W,1,09,1.3,75.0,M,-33.8,M,,0000*5E $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153348.000,A,3940.6986,N,07544.9356,W,0.12,82.56,230410,,*23 $GPVTG,82.56,T,,M,0.12,N,0.2,K*58 $GPZDA,153349.000,23,04,2010,,*59 $GPGGA,153349.000,3940.6986,N,07544.9357,W,1,09,1.3,74.6,M,-33.8,M,,0000*59 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153349.000,A,3940.6986,N,07544.9357,W,0.09,115.18,230410,,*1C $GPVTG,115.18,T,,M,0.09,N,0.2,K*67 $GPZDA,153350.000,23,04,2010,,*51 $GPGGA,153350.000,3940.6986,N,07544.9357,W,1,09,1.3,74.4,M,-33.8,M,,0000*53 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPGSV,3,1,12,26,82,270,40,21,73,256,40,24,66,289,38,18,58,312,45*7E $GPGSV,3,2,12,27,51,116,44,15,47,048,40,09,46,136,40,22,26,291,22*76 $GPGSV,3,3,12,06,13,303,28,03,06,312,,29,06,199,20,05,05,096,25*77 + 6: 28 (.....) + 9: 40 (........) +15: 40 (........) +21: 40 (........) +24: 38 (.......) +26: 40 (........) +27: 44 (........) +29: 20 (....) $GPRMC,153350.000,A,3940.6986,N,07544.9357,W,0.09,87.19,230410,,*2F $GPVTG,87.19,T,,M,0.09,N,0.2,K*5C $GPZDA,153351.000,23,04,2010,,*50 $GPGGA,153351.000,3940.6985,N,07544.9358,W,1,09,1.3,74.1,M,-33.8,M,,0000*5B $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153351.000,A,3940.6985,N,07544.9358,W,0.09,91.11,230410,,*2D $GPVTG,91.11,T,,M,0.09,N,0.2,K*53 $GPZDA,153352.000,23,04,2010,,*53 $GPGGA,153352.000,3940.6985,N,07544.9358,W,1,09,1.3,73.9,M,-33.8,M,,0000*57 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153352.000,A,3940.6985,N,07544.9358,W,0.07,136.11,230410,,*1C $GPVTG,136.11,T,,M,0.07,N,0.1,K*62 $GPZDA,153353.000,23,04,2010,,*52 $GPGGA,153353.000,3940.6985,N,07544.9358,W,1,09,1.3,74.0,M,-33.8,M,,0000*58 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153353.000,A,3940.6985,N,07544.9358,W,0.10,73.57,230410,,*29 $GPVTG,73.57,T,,M,0.10,N,0.2,K*55 $GPZDA,153354.000,23,04,2010,,*55 $GPGGA,153354.000,3940.6985,N,07544.9358,W,1,09,1.3,73.9,M,-33.8,M,,0000*51 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153354.000,A,3940.6985,N,07544.9358,W,0.06,86.02,230410,,*23 $GPVTG,86.02,T,,M,0.06,N,0.1,K*5B $GPZDA,153355.000,23,04,2010,,*54 $GPGGA,153355.000,3940.6985,N,07544.9358,W,1,09,1.3,73.9,M,-33.8,M,,0000*50 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPGSV,3,1,12,26,82,270,40,21,73,256,40,24,66,289,38,18,58,312,45*7E $GPGSV,3,2,12,27,51,116,44,15,47,048,40,09,46,136,40,22,26,291,19*7E $GPGSV,3,3,12,06,13,303,,03,06,312,10,29,06,199,23,05,05,096,25*7F + 3: 10 (..) -( 6: 28 (.....)) 9: 40 (........) 15: 40 (........) 21: 40 (........) 24: 38 (.......) 26: 40 (........) 27: 44 (........) 29: 20 (....) $GPRMC,153355.000,A,3940.6985,N,07544.9358,W,0.11,71.30,230410,,*2D $GPVTG,71.30,T,,M,0.11,N,0.2,K*57 $GPZDA,153356.000,23,04,2010,,*57 $GPGGA,153356.000,3940.6985,N,07544.9358,W,1,09,1.3,73.9,M,-33.8,M,,0000*53 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153356.000,A,3940.6985,N,07544.9358,W,0.04,127.06,230410,,*1D $GPVTG,127.06,T,,M,0.04,N,0.1,K*67 $GPZDA,153357.000,23,04,2010,,*56 $GPGGA,153357.000,3940.6985,N,07544.9358,W,1,09,1.3,73.7,M,-33.8,M,,0000*5C $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153357.000,A,3940.6985,N,07544.9358,W,0.09,191.66,230410,,*1A $GPVTG,191.66,T,,M,0.09,N,0.2,K*62 $GPZDA,153358.000,23,04,2010,,*59 $GPGGA,153358.000,3940.6985,N,07544.9358,W,1,09,1.3,73.7,M,-33.8,M,,0000*53 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153358.000,A,3940.6985,N,07544.9358,W,0.05,118.29,230410,,*13 $GPVTG,118.29,T,,M,0.05,N,0.1,K*67 $GPZDA,153359.000,23,04,2010,,*58 $GPGGA,153359.000,3940.6985,N,07544.9359,W,1,09,1.3,73.2,M,-33.8,M,,0000*56 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153359.000,A,3940.6985,N,07544.9359,W,0.12,206.85,230410,,*1F $GPVTG,206.85,T,,M,0.12,N,0.2,K*68 $GPZDA,153400.000,23,04,2010,,*53 $GPGGA,153400.000,3940.6985,N,07544.9359,W,1,09,1.3,72.9,M,-33.8,M,,0000*57 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPGSV,3,1,12,26,82,270,39,21,73,256,39,24,66,289,39,18,58,312,45*7F $GPGSV,3,2,12,27,51,116,43,15,47,048,30,09,46,136,42,22,26,291,14*71 $GPGSV,3,3,12,06,13,303,27,03,06,312,,29,06,199,22,05,05,096,25*7A -( 3: 10 (..)) + 6: 27 (.....) 9: 40 (........) 15: 40 (........) 21: 40 (........) 24: 38 (.......) 26: 40 (........) 27: 44 (........) 29: 23 (....) $GPRMC,153400.000,A,3940.6985,N,07544.9359,W,0.19,205.81,230410,,*18 $GPVTG,205.81,T,,M,0.19,N,0.3,K*65 $GPZDA,153401.000,23,04,2010,,*52 $GPGGA,153401.000,3940.6985,N,07544.9360,W,1,09,1.3,72.6,M,-33.8,M,,0000*53 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153401.000,A,3940.6985,N,07544.9360,W,0.24,45.90,230410,,*2B $GPVTG,45.90,T,,M,0.24,N,0.4,K*5A $GPZDA,153402.000,23,04,2010,,*51 $GPGGA,153402.000,3940.6985,N,07544.9360,W,1,09,1.3,72.4,M,-33.8,M,,0000*52 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153402.000,A,3940.6985,N,07544.9360,W,0.14,217.87,230410,,*18 $GPVTG,217.87,T,,M,0.14,N,0.3,K*6D $GPZDA,153403.000,23,04,2010,,*50 $GPGGA,153403.000,3940.6985,N,07544.9360,W,1,09,1.3,72.3,M,-33.8,M,,0000*54 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153403.000,A,3940.6985,N,07544.9360,W,0.17,48.77,230410,,*2D $GPVTG,48.77,T,,M,0.17,N,0.3,K*59 $GPZDA,153404.000,23,04,2010,,*57 $GPGGA,153404.000,3940.6985,N,07544.9360,W,1,09,1.3,72.3,M,-33.8,M,,0000*53 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153404.000,A,3940.6985,N,07544.9360,W,0.12,198.25,230410,,*14 $GPVTG,198.25,T,,M,0.12,N,0.2,K*66 $GPZDA,153405.000,23,04,2010,,*56 $GPGGA,153405.000,3940.6985,N,07544.9360,W,1,09,1.3,72.4,M,-33.8,M,,0000*55 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPGSV,3,1,12,26,82,270,39,21,73,256,38,24,66,289,39,18,58,312,44*7F $GPGSV,3,2,12,27,51,116,43,15,47,048,37,09,46,136,41,22,26,291,11*70 $GPGSV,3,3,12,06,13,303,28,03,06,312,,29,06,199,23,05,05,096,25*74 6: 27 (.....) 9: 42 (........) 15: 30 (......) 21: 39 (.......) 24: 39 (.......) 26: 39 (.......) 27: 43 (........) 29: 22 (....) $GPRMC,153405.000,A,3940.6985,N,07544.9360,W,0.21,205.69,230410,,*1A $GPVTG,205.69,T,,M,0.21,N,0.4,K*6F $GPZDA,153406.000,23,04,2010,,*55 $GPGGA,153406.000,3940.6984,N,07544.9360,W,1,09,1.3,72.5,M,-33.8,M,,0000*56 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153406.000,A,3940.6984,N,07544.9360,W,0.11,198.24,230410,,*15 $GPVTG,198.24,T,,M,0.11,N,0.2,K*64 $GPZDA,153407.000,23,04,2010,,*54 $GPGGA,153407.000,3940.6984,N,07544.9361,W,1,09,1.3,72.7,M,-33.8,M,,0000*54 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153407.000,A,3940.6984,N,07544.9361,W,0.09,185.69,230410,,*19 $GPVTG,185.69,T,,M,0.09,N,0.2,K*68 $GPZDA,153408.000,23,04,2010,,*5B $GPGGA,153408.000,3940.6984,N,07544.9360,W,1,09,1.3,73.0,M,-33.8,M,,0000*5C $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153408.000,A,3940.6984,N,07544.9360,W,0.08,68.19,230410,,*23 $GPVTG,68.19,T,,M,0.08,N,0.1,K*5F $GPZDA,153409.000,23,04,2010,,*5A $GPGGA,153409.000,3940.6984,N,07544.9360,W,1,09,1.3,72.8,M,-33.8,M,,0000*54 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153409.000,A,3940.6984,N,07544.9360,W,0.03,136.94,230410,,*16 $GPVTG,136.94,T,,M,0.03,N,0.1,K*6B $GPZDA,153410.000,23,04,2010,,*52 $GPGGA,153410.000,3940.6985,N,07544.9360,W,1,09,1.3,72.6,M,-33.8,M,,0000*53 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPGSV,3,1,12,26,82,270,39,21,73,256,37,24,66,289,40,18,58,312,44*7E $GPGSV,3,2,12,27,51,116,43,15,47,048,40,09,46,136,42,22,26,291,13*71 $GPGSV,3,3,12,06,13,303,,03,06,312,,29,06,199,24,05,05,096,24*78 -( 6: 28 (.....)) 9: 41 (........) 15: 37 (.......) 21: 38 (.......) 24: 39 (.......) 26: 39 (.......) 27: 43 (........) 29: 23 (....) $GPRMC,153410.000,A,3940.6985,N,07544.9360,W,0.04,163.02,230410,,*17 $GPVTG,163.02,T,,M,0.04,N,0.1,K*63 $GPZDA,153411.000,23,04,2010,,*53 $GPGGA,153411.000,3940.6985,N,07544.9360,W,1,09,1.3,72.5,M,-33.8,M,,0000*51 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153411.000,A,3940.6985,N,07544.9360,W,0.09,55.20,230410,,*2F $GPVTG,55.20,T,,M,0.09,N,0.2,K*59 $GPZDA,153412.000,23,04,2010,,*50 $GPGGA,153412.000,3940.6985,N,07544.9359,W,1,09,1.3,72.3,M,-33.8,M,,0000*5E $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153412.000,A,3940.6985,N,07544.9359,W,0.09,58.22,230410,,*29 $GPVTG,58.22,T,,M,0.09,N,0.2,K*56 $GPZDA,153413.000,23,04,2010,,*51 $GPGGA,153413.000,3940.6986,N,07544.9359,W,1,09,1.3,72.1,M,-33.8,M,,0000*5E $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153413.000,A,3940.6986,N,07544.9359,W,0.13,65.66,230410,,*2E $GPVTG,65.66,T,,M,0.13,N,0.2,K*53 $GPZDA,153414.000,23,04,2010,,*56 $GPGGA,153414.000,3940.6986,N,07544.9359,W,1,09,1.3,71.8,M,-33.8,M,,0000*53 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153414.000,A,3940.6986,N,07544.9359,W,0.06,72.14,230410,,*2E $GPVTG,72.14,T,,M,0.06,N,0.1,K*57 $GPZDA,153415.000,23,04,2010,,*57 $GPGGA,153415.000,3940.6986,N,07544.9359,W,1,08,1.9,71.8,M,-33.8,M,,0000*59 $GPGSA,A,3,26,15,21,27,24,09,18,05,,,,,3.0,1.9,2.4*3A $GPGSV,3,1,12,26,82,270,39,21,73,256,37,24,66,289,39,18,58,312,44*70 $GPGSV,3,2,12,27,51,116,42,15,47,048,40,09,46,136,42,22,26,291,*72 $GPGSV,3,3,12,06,13,303,27,03,06,312,,29,06,199,17,05,05,096,19*73 + 6: 27 (.....) 9: 42 (........) 15: 40 (........) 21: 37 (.......) 24: 40 (........) 26: 39 (.......) 27: 43 (........) 29: 24 (....) $GPRMC,153415.000,A,3940.6986,N,07544.9359,W,0.07,71.45,230410,,*29 $GPVTG,71.45,T,,M,0.07,N,0.1,K*51 $GPZDA,153416.000,23,04,2010,,*54 $GPGGA,153416.000,3940.6986,N,07544.9359,W,1,08,1.9,71.9,M,-33.8,M,,0000*5B $GPGSA,A,3,26,15,21,27,24,09,18,05,,,,,3.0,1.9,2.4*3A $GPRMC,153416.000,A,3940.6986,N,07544.9359,W,0.04,125.99,230410,,*18 $GPVTG,125.99,T,,M,0.04,N,0.1,K*63 $GPZDA,153417.000,23,04,2010,,*55 $GPGGA,153417.000,3940.6986,N,07544.9359,W,1,09,1.3,71.6,M,-33.8,M,,0000*5E $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153417.000,A,3940.6986,N,07544.9359,W,0.16,60.22,230410,,*2A $GPVTG,60.22,T,,M,0.16,N,0.3,K*52 $GPZDA,153418.000,23,04,2010,,*5A $GPGGA,153418.000,3940.6986,N,07544.9359,W,1,09,1.3,71.5,M,-33.8,M,,0000*52 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153418.000,A,3940.6986,N,07544.9359,W,0.04,108.21,230410,,*1A $GPVTG,108.21,T,,M,0.04,N,0.1,K*6F $GPZDA,153419.000,23,04,2010,,*5B $GPGGA,153419.000,3940.6987,N,07544.9359,W,1,09,1.3,71.6,M,-33.8,M,,0000*51 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153419.000,A,3940.6987,N,07544.9359,W,0.32,53.50,230410,,*26 $GPVTG,53.50,T,,M,0.32,N,0.6,K*54 $GPZDA,153420.000,23,04,2010,,*51 $GPGGA,153420.000,3940.6987,N,07544.9358,W,1,09,1.3,71.8,M,-33.8,M,,0000*54 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPGSV,3,1,12,26,82,272,39,21,73,256,35,24,67,288,39,18,59,312,37*75 $GPGSV,3,2,12,27,51,115,43,15,47,048,40,09,46,136,43,22,26,291,11*71 $GPGSV,3,3,12,06,13,303,27,03,06,312,,29,06,199,17,14,05,232,*77 6: 27 (.....) 9: 42 (........) 15: 40 (........) 21: 37 (.......) 24: 39 (.......) 26: 39 (.......) 27: 42 (........) 29: 17 (...) $GPRMC,153420.000,A,3940.6987,N,07544.9358,W,0.31,53.43,230410,,*2C $GPVTG,53.43,T,,M,0.31,N,0.6,K*55 $GPZDA,153421.000,23,04,2010,,*50 $GPGGA,153421.000,3940.6988,N,07544.9357,W,1,09,1.3,71.6,M,-33.8,M,,0000*5B $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153421.000,A,3940.6988,N,07544.9357,W,0.31,59.72,230410,,*25 $GPVTG,59.72,T,,M,0.31,N,0.6,K*5D $GPZDA,153422.000,23,04,2010,,*53 $GPGGA,153422.000,3940.6988,N,07544.9357,W,1,09,1.3,71.5,M,-33.8,M,,0000*5B $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153422.000,A,3940.6988,N,07544.9357,W,0.06,123.72,230410,,*1E $GPVTG,123.72,T,,M,0.06,N,0.1,K*62 $GPZDA,153423.000,23,04,2010,,*52 $GPGGA,153423.000,3940.6988,N,07544.9358,W,1,09,1.3,71.2,M,-33.8,M,,0000*52 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153423.000,A,3940.6988,N,07544.9358,W,0.08,129.63,230410,,*14 $GPVTG,129.63,T,,M,0.08,N,0.1,K*66 $GPZDA,153424.000,23,04,2010,,*55 $GPGGA,153424.000,3940.6987,N,07544.9358,W,1,09,1.3,71.1,M,-33.8,M,,0000*59 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153424.000,A,3940.6987,N,07544.9358,W,0.07,100.77,230410,,*1D $GPVTG,100.77,T,,M,0.07,N,0.1,K*67 $GPZDA,153425.000,23,04,2010,,*54 $GPGGA,153425.000,3940.6987,N,07544.9359,W,1,09,1.3,70.9,M,-33.8,M,,0000*50 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPGSV,3,1,12,26,82,272,39,21,73,256,36,24,67,288,38,18,59,312,42*75 $GPGSV,3,2,12,27,51,115,42,15,47,048,40,09,46,136,43,22,26,291,07*77 $GPGSV,3,3,12,06,13,303,,03,06,312,12,29,06,199,25,14,05,232,*70 + 3: 12 (..) -( 6: 27 (.....)) 9: 43 (........) 15: 40 (........) 21: 35 (.......) 24: 39 (.......) 26: 39 (.......) 27: 43 (........) 29: 17 (...) $GPRMC,153425.000,A,3940.6987,N,07544.9359,W,0.10,89.40,230410,,*2F $GPVTG,89.40,T,,M,0.10,N,0.2,K*56 $GPZDA,153426.000,23,04,2010,,*57 $GPGGA,153426.000,3940.6987,N,07544.9359,W,1,09,1.3,70.4,M,-33.8,M,,0000*5E $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153426.000,A,3940.6987,N,07544.9359,W,0.15,63.07,230410,,*2E $GPVTG,63.07,T,,M,0.15,N,0.3,K*55 $GPZDA,153427.000,23,04,2010,,*56 $GPGGA,153427.000,3940.6987,N,07544.9359,W,1,08,1.9,70.5,M,-33.8,M,,0000*55 $GPGSA,A,3,26,15,21,27,24,09,18,05,,,,,3.0,1.9,2.4*3A $GPRMC,153427.000,A,3940.6987,N,07544.9359,W,0.14,65.26,230410,,*2B $GPVTG,65.26,T,,M,0.14,N,0.3,K*51 $GPZDA,153428.000,23,04,2010,,*59 $GPGGA,153428.000,3940.6987,N,07544.9359,W,1,08,1.9,70.7,M,-33.8,M,,0000*58 $GPGSA,A,3,26,15,21,27,24,09,18,05,,,,,3.0,1.9,2.4*3A $GPRMC,153428.000,A,3940.6987,N,07544.9359,W,0.10,75.11,230410,,*25 $GPVTG,75.11,T,,M,0.10,N,0.2,K*51 $GPZDA,153429.000,23,04,2010,,*58 $GPGGA,153429.000,3940.6987,N,07544.9359,W,1,09,1.3,70.1,M,-33.8,M,,0000*54 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153429.000,A,3940.6987,N,07544.9359,W,0.13,65.02,230410,,*24 $GPVTG,65.02,T,,M,0.13,N,0.2,K*51 $GPZDA,153430.000,23,04,2010,,*50 $GPGGA,153430.000,3940.6987,N,07544.9360,W,1,09,1.3,69.6,M,-33.8,M,,0000*59 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPGSV,3,1,12,26,82,272,39,21,73,256,36,24,67,288,37,18,59,312,42*7A $GPGSV,3,2,12,27,51,115,42,15,47,048,39,09,46,136,43,22,26,291,*7E $GPGSV,3,3,12,06,13,303,27,03,06,312,,29,06,199,13,14,05,232,*73 -( 3: 12 (..)) + 6: 27 (.....) 9: 43 (........) 15: 40 (........) 21: 36 (.......) 24: 38 (.......) 26: 39 (.......) 27: 42 (........) 29: 25 (.....) $GPRMC,153430.000,A,3940.6987,N,07544.9360,W,0.09,67.21,230410,,*2E $GPVTG,67.21,T,,M,0.09,N,0.2,K*59 $GPZDA,153431.000,23,04,2010,,*51 $GPGGA,153431.000,3940.6987,N,07544.9361,W,1,09,1.3,69.4,M,-33.8,M,,0000*5B $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153431.000,A,3940.6987,N,07544.9361,W,0.06,167.61,230410,,*14 $GPVTG,167.61,T,,M,0.06,N,0.1,K*60 $GPZDA,153432.000,23,04,2010,,*52 $GPGGA,153432.000,3940.6986,N,07544.9362,W,1,09,1.3,68.9,M,-33.8,M,,0000*56 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153432.000,A,3940.6986,N,07544.9362,W,0.15,61.34,230410,,*20 $GPVTG,61.34,T,,M,0.15,N,0.3,K*57 $GPZDA,153433.000,23,04,2010,,*53 $GPGGA,153433.000,3940.6987,N,07544.9362,W,1,08,1.9,69.0,M,-33.8,M,,0000*55 $GPGSA,A,3,26,15,21,27,24,09,18,05,,,,,3.0,1.9,2.4*3A $GPRMC,153433.000,A,3940.6987,N,07544.9362,W,0.06,83.09,230410,,*20 $GPVTG,83.09,T,,M,0.06,N,0.1,K*55 $GPZDA,153434.000,23,04,2010,,*54 $GPGGA,153434.000,3940.6987,N,07544.9361,W,1,08,1.9,69.2,M,-33.8,M,,0000*53 $GPGSA,A,3,26,15,21,27,24,09,18,05,,,,,3.0,1.9,2.4*3A $GPRMC,153434.000,A,3940.6987,N,07544.9361,W,0.09,68.77,230410,,*27 $GPVTG,68.77,T,,M,0.09,N,0.2,K*55 $GPZDA,153435.000,23,04,2010,,*55 $GPGGA,153435.000,3940.6987,N,07544.9361,W,1,08,1.9,69.5,M,-33.8,M,,0000*55 $GPGSA,A,3,26,15,21,27,24,09,18,05,,,,,3.0,1.9,2.4*3A $GPGSV,3,1,12,26,82,272,39,21,73,256,37,24,67,288,38,18,59,312,42*74 $GPGSV,3,2,12,27,51,115,42,15,47,048,39,09,46,136,43,22,26,291,*7E $GPGSV,3,3,12,06,13,303,27,03,06,312,12,29,06,199,,14,05,232,*72 gpsd-3.9/test/daemon/et-332.log.chk0000664000175000017500000010411012135526304015074 0ustar esresr$GPZDA,153347.000,23,04,2010,,*57 $GPGGA,153347.000,3940.6986,N,07544.9356,W,1,09,1.3,75.2,M,-33.8,M,,0000*53 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-04-23T15:33:47.000Z","ept":0.005,"lat":39.678310000,"lon":-75.748926667,"alt":75.200} $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 {"class":"TPV","tag":"GSA","mode":3,"time":"2010-04-23T15:33:47.000Z","ept":0.005,"lat":39.678310000,"lon":-75.748926667,"alt":75.200,"epv":32.200,"speed":0.000,"climb":0.000} $GPRMC,153347.000,A,3940.6986,N,07544.9356,W,0.12,87.21,230410,,*29 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:33:47.000Z","ept":0.005,"lat":39.678310000,"lon":-75.748926667,"alt":75.200,"epv":32.200,"track":87.2100,"speed":0.062,"climb":0.000} $GPVTG,87.21,T,,M,0.12,N,0.2,K*5D $GPZDA,153348.000,23,04,2010,,*58 $GPGGA,153348.000,3940.6986,N,07544.9356,W,1,09,1.3,75.0,M,-33.8,M,,0000*5E $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153348.000,A,3940.6986,N,07544.9356,W,0.12,82.56,230410,,*23 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:33:48.000Z","ept":0.005,"lat":39.678310000,"lon":-75.748926667,"alt":75.000,"epv":32.200,"track":82.5600,"speed":0.062,"climb":0.000} $GPVTG,82.56,T,,M,0.12,N,0.2,K*58 $GPZDA,153349.000,23,04,2010,,*59 $GPGGA,153349.000,3940.6986,N,07544.9357,W,1,09,1.3,74.6,M,-33.8,M,,0000*59 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153349.000,A,3940.6986,N,07544.9357,W,0.09,115.18,230410,,*1C {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:33:49.000Z","ept":0.005,"lat":39.678310000,"lon":-75.748928333,"alt":74.600,"epv":32.200,"track":115.1800,"speed":0.046,"climb":0.000} $GPVTG,115.18,T,,M,0.09,N,0.2,K*67 $GPZDA,153350.000,23,04,2010,,*51 $GPGGA,153350.000,3940.6986,N,07544.9357,W,1,09,1.3,74.4,M,-33.8,M,,0000*53 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPGSV,3,1,12,26,82,270,40,21,73,256,40,24,66,289,38,18,58,312,45*7E $GPGSV,3,2,12,27,51,116,44,15,47,048,40,09,46,136,40,22,26,291,22*76 $GPGSV,3,3,12,06,13,303,28,03,06,312,,29,06,199,20,05,05,096,25*77 {"class":"SKY","tag":"GSV","xdop":0.82,"ydop":1.32,"vdop":1.40,"tdop":1.30,"hdop":1.30,"gdop":2.59,"pdop":1.90,"satellites":[{"PRN":26,"el":82,"az":270,"ss":40,"used":true},{"PRN":21,"el":73,"az":256,"ss":40,"used":true},{"PRN":24,"el":66,"az":289,"ss":38,"used":true},{"PRN":18,"el":58,"az":312,"ss":45,"used":true},{"PRN":27,"el":51,"az":116,"ss":44,"used":true},{"PRN":15,"el":47,"az":48,"ss":40,"used":true},{"PRN":9,"el":46,"az":136,"ss":40,"used":true},{"PRN":22,"el":26,"az":291,"ss":22,"used":false},{"PRN":6,"el":13,"az":303,"ss":28,"used":false},{"PRN":3,"el":6,"az":312,"ss":0,"used":false},{"PRN":29,"el":6,"az":199,"ss":20,"used":true},{"PRN":5,"el":5,"az":96,"ss":25,"used":true}]} $GPRMC,153350.000,A,3940.6986,N,07544.9357,W,0.09,87.19,230410,,*2F {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:33:50.000Z","ept":0.005,"lat":39.678310000,"lon":-75.748928333,"alt":74.400,"epx":12.310,"epy":19.762,"epv":32.200,"track":87.1900,"speed":0.046,"climb":0.000} $GPVTG,87.19,T,,M,0.09,N,0.2,K*5C $GPZDA,153351.000,23,04,2010,,*50 $GPGGA,153351.000,3940.6985,N,07544.9358,W,1,09,1.3,74.1,M,-33.8,M,,0000*5B $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153351.000,A,3940.6985,N,07544.9358,W,0.09,91.11,230410,,*2D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:33:51.000Z","ept":0.005,"lat":39.678308333,"lon":-75.748930000,"alt":74.100,"epx":12.310,"epy":19.762,"epv":32.200,"track":91.1100,"speed":0.046,"climb":0.000} $GPVTG,91.11,T,,M,0.09,N,0.2,K*53 $GPZDA,153352.000,23,04,2010,,*53 $GPGGA,153352.000,3940.6985,N,07544.9358,W,1,09,1.3,73.9,M,-33.8,M,,0000*57 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153352.000,A,3940.6985,N,07544.9358,W,0.07,136.11,230410,,*1C {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:33:52.000Z","ept":0.005,"lat":39.678308333,"lon":-75.748930000,"alt":73.900,"epx":12.310,"epy":19.762,"epv":32.200,"track":136.1100,"speed":0.036,"climb":0.000} $GPVTG,136.11,T,,M,0.07,N,0.1,K*62 $GPZDA,153353.000,23,04,2010,,*52 $GPGGA,153353.000,3940.6985,N,07544.9358,W,1,09,1.3,74.0,M,-33.8,M,,0000*58 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153353.000,A,3940.6985,N,07544.9358,W,0.10,73.57,230410,,*29 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:33:53.000Z","ept":0.005,"lat":39.678308333,"lon":-75.748930000,"alt":74.000,"epx":12.310,"epy":19.762,"epv":32.200,"track":73.5700,"speed":0.051,"climb":0.000} $GPVTG,73.57,T,,M,0.10,N,0.2,K*55 $GPZDA,153354.000,23,04,2010,,*55 $GPGGA,153354.000,3940.6985,N,07544.9358,W,1,09,1.3,73.9,M,-33.8,M,,0000*51 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153354.000,A,3940.6985,N,07544.9358,W,0.06,86.02,230410,,*23 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:33:54.000Z","ept":0.005,"lat":39.678308333,"lon":-75.748930000,"alt":73.900,"epx":12.310,"epy":19.762,"epv":32.200,"track":86.0200,"speed":0.031,"climb":0.000} $GPVTG,86.02,T,,M,0.06,N,0.1,K*5B $GPZDA,153355.000,23,04,2010,,*54 $GPGGA,153355.000,3940.6985,N,07544.9358,W,1,09,1.3,73.9,M,-33.8,M,,0000*50 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPGSV,3,1,12,26,82,270,40,21,73,256,40,24,66,289,38,18,58,312,45*7E $GPGSV,3,2,12,27,51,116,44,15,47,048,40,09,46,136,40,22,26,291,19*7E $GPGSV,3,3,12,06,13,303,,03,06,312,10,29,06,199,23,05,05,096,25*7F {"class":"SKY","tag":"GSV","xdop":0.82,"ydop":1.32,"vdop":1.40,"tdop":1.30,"hdop":1.30,"gdop":2.59,"pdop":1.90,"satellites":[{"PRN":26,"el":82,"az":270,"ss":40,"used":true},{"PRN":21,"el":73,"az":256,"ss":40,"used":true},{"PRN":24,"el":66,"az":289,"ss":38,"used":true},{"PRN":18,"el":58,"az":312,"ss":45,"used":true},{"PRN":27,"el":51,"az":116,"ss":44,"used":true},{"PRN":15,"el":47,"az":48,"ss":40,"used":true},{"PRN":9,"el":46,"az":136,"ss":40,"used":true},{"PRN":22,"el":26,"az":291,"ss":19,"used":false},{"PRN":6,"el":13,"az":303,"ss":0,"used":false},{"PRN":3,"el":6,"az":312,"ss":10,"used":false},{"PRN":29,"el":6,"az":199,"ss":23,"used":true},{"PRN":5,"el":5,"az":96,"ss":25,"used":true}]} $GPRMC,153355.000,A,3940.6985,N,07544.9358,W,0.11,71.30,230410,,*2D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:33:55.000Z","ept":0.005,"lat":39.678308333,"lon":-75.748930000,"alt":73.900,"epx":12.310,"epy":19.762,"epv":32.200,"track":71.3000,"speed":0.057,"climb":0.000} $GPVTG,71.30,T,,M,0.11,N,0.2,K*57 $GPZDA,153356.000,23,04,2010,,*57 $GPGGA,153356.000,3940.6985,N,07544.9358,W,1,09,1.3,73.9,M,-33.8,M,,0000*53 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153356.000,A,3940.6985,N,07544.9358,W,0.04,127.06,230410,,*1D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:33:56.000Z","ept":0.005,"lat":39.678308333,"lon":-75.748930000,"alt":73.900,"epx":12.310,"epy":19.762,"epv":32.200,"track":127.0600,"speed":0.021,"climb":0.000} $GPVTG,127.06,T,,M,0.04,N,0.1,K*67 $GPZDA,153357.000,23,04,2010,,*56 $GPGGA,153357.000,3940.6985,N,07544.9358,W,1,09,1.3,73.7,M,-33.8,M,,0000*5C $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153357.000,A,3940.6985,N,07544.9358,W,0.09,191.66,230410,,*1A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:33:57.000Z","ept":0.005,"lat":39.678308333,"lon":-75.748930000,"alt":73.700,"epx":12.310,"epy":19.762,"epv":32.200,"track":191.6600,"speed":0.046,"climb":0.000} $GPVTG,191.66,T,,M,0.09,N,0.2,K*62 $GPZDA,153358.000,23,04,2010,,*59 $GPGGA,153358.000,3940.6985,N,07544.9358,W,1,09,1.3,73.7,M,-33.8,M,,0000*53 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153358.000,A,3940.6985,N,07544.9358,W,0.05,118.29,230410,,*13 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:33:58.000Z","ept":0.005,"lat":39.678308333,"lon":-75.748930000,"alt":73.700,"epx":12.310,"epy":19.762,"epv":32.200,"track":118.2900,"speed":0.026,"climb":0.000} $GPVTG,118.29,T,,M,0.05,N,0.1,K*67 $GPZDA,153359.000,23,04,2010,,*58 $GPGGA,153359.000,3940.6985,N,07544.9359,W,1,09,1.3,73.2,M,-33.8,M,,0000*56 $GPRMC,153359.000,A,3940.6985,N,07544.9359,W,0.12,206.85,230410,,*1F {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:33:59.000Z","ept":0.005,"lat":39.678308333,"lon":-75.748931667,"alt":73.200,"epx":12.310,"epy":19.762,"epv":32.200,"track":206.8500,"speed":0.062,"climb":0.000} $GPVTG,206.85,T,,M,0.12,N,0.2,K*68 $GPZDA,153400.000,23,04,2010,,*53 $GPGGA,153400.000,3940.6985,N,07544.9359,W,1,09,1.3,72.9,M,-33.8,M,,0000*57 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPGSV,3,1,12,26,82,270,39,21,73,256,39,24,66,289,39,18,58,312,45*7F $GPGSV,3,2,12,27,51,116,43,15,47,048,30,09,46,136,42,22,26,291,14*71 $GPGSV,3,3,12,06,13,303,27,03,06,312,,29,06,199,22,05,05,096,25*7A {"class":"SKY","tag":"GSV","xdop":0.82,"ydop":1.32,"vdop":1.40,"tdop":1.30,"hdop":1.30,"gdop":2.59,"pdop":1.90,"satellites":[{"PRN":26,"el":82,"az":270,"ss":39,"used":true},{"PRN":21,"el":73,"az":256,"ss":39,"used":true},{"PRN":24,"el":66,"az":289,"ss":39,"used":true},{"PRN":18,"el":58,"az":312,"ss":45,"used":true},{"PRN":27,"el":51,"az":116,"ss":43,"used":true},{"PRN":15,"el":47,"az":48,"ss":30,"used":true},{"PRN":9,"el":46,"az":136,"ss":42,"used":true},{"PRN":22,"el":26,"az":291,"ss":14,"used":false},{"PRN":6,"el":13,"az":303,"ss":27,"used":false},{"PRN":3,"el":6,"az":312,"ss":0,"used":false},{"PRN":29,"el":6,"az":199,"ss":22,"used":true},{"PRN":5,"el":5,"az":96,"ss":25,"used":true}]} $GPRMC,153400.000,A,3940.6985,N,07544.9359,W,0.19,205.81,230410,,*18 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:00.000Z","ept":0.005,"lat":39.678308333,"lon":-75.748931667,"alt":72.900,"epx":12.310,"epy":19.762,"epv":32.200,"track":205.8100,"speed":0.098,"climb":0.000} $GPVTG,205.81,T,,M,0.19,N,0.3,K*65 $GPZDA,153401.000,23,04,2010,,*52 $GPGGA,153401.000,3940.6985,N,07544.9360,W,1,09,1.3,72.6,M,-33.8,M,,0000*53 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153401.000,A,3940.6985,N,07544.9360,W,0.24,45.90,230410,,*2B {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:01.000Z","ept":0.005,"lat":39.678308333,"lon":-75.748933333,"alt":72.600,"epx":12.310,"epy":19.762,"epv":32.200,"track":45.9000,"speed":0.123,"climb":0.000} $GPVTG,45.90,T,,M,0.24,N,0.4,K*5A $GPZDA,153402.000,23,04,2010,,*51 $GPGGA,153402.000,3940.6985,N,07544.9360,W,1,09,1.3,72.4,M,-33.8,M,,0000*52 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153402.000,A,3940.6985,N,07544.9360,W,0.14,217.87,230410,,*18 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:02.000Z","ept":0.005,"lat":39.678308333,"lon":-75.748933333,"alt":72.400,"epx":12.310,"epy":19.762,"epv":32.200,"track":217.8700,"speed":0.072,"climb":0.000} $GPVTG,217.87,T,,M,0.14,N,0.3,K*6D $GPZDA,153403.000,23,04,2010,,*50 $GPGGA,153403.000,3940.6985,N,07544.9360,W,1,09,1.3,72.3,M,-33.8,M,,0000*54 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153403.000,A,3940.6985,N,07544.9360,W,0.17,48.77,230410,,*2D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:03.000Z","ept":0.005,"lat":39.678308333,"lon":-75.748933333,"alt":72.300,"epx":12.310,"epy":19.762,"epv":32.200,"track":48.7700,"speed":0.087,"climb":0.000} $GPVTG,48.77,T,,M,0.17,N,0.3,K*59 $GPZDA,153404.000,23,04,2010,,*57 $GPGGA,153404.000,3940.6985,N,07544.9360,W,1,09,1.3,72.3,M,-33.8,M,,0000*53 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153404.000,A,3940.6985,N,07544.9360,W,0.12,198.25,230410,,*14 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:04.000Z","ept":0.005,"lat":39.678308333,"lon":-75.748933333,"alt":72.300,"epx":12.310,"epy":19.762,"epv":32.200,"track":198.2500,"speed":0.062,"climb":0.000} $GPVTG,198.25,T,,M,0.12,N,0.2,K*66 $GPZDA,153405.000,23,04,2010,,*56 $GPGGA,153405.000,3940.6985,N,07544.9360,W,1,09,1.3,72.4,M,-33.8,M,,0000*55 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPGSV,3,1,12,26,82,270,39,21,73,256,38,24,66,289,39,18,58,312,44*7F $GPGSV,3,2,12,27,51,116,43,15,47,048,37,09,46,136,41,22,26,291,11*70 $GPGSV,3,3,12,06,13,303,28,03,06,312,,29,06,199,23,05,05,096,25*74 {"class":"SKY","tag":"GSV","xdop":0.82,"ydop":1.32,"vdop":1.40,"tdop":1.30,"hdop":1.30,"gdop":2.59,"pdop":1.90,"satellites":[{"PRN":26,"el":82,"az":270,"ss":39,"used":true},{"PRN":21,"el":73,"az":256,"ss":38,"used":true},{"PRN":24,"el":66,"az":289,"ss":39,"used":true},{"PRN":18,"el":58,"az":312,"ss":44,"used":true},{"PRN":27,"el":51,"az":116,"ss":43,"used":true},{"PRN":15,"el":47,"az":48,"ss":37,"used":true},{"PRN":9,"el":46,"az":136,"ss":41,"used":true},{"PRN":22,"el":26,"az":291,"ss":11,"used":false},{"PRN":6,"el":13,"az":303,"ss":28,"used":false},{"PRN":3,"el":6,"az":312,"ss":0,"used":false},{"PRN":29,"el":6,"az":199,"ss":23,"used":true},{"PRN":5,"el":5,"az":96,"ss":25,"used":true}]} $GPRMC,153405.000,A,3940.6985,N,07544.9360,W,0.21,205.69,230410,,*1A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:05.000Z","ept":0.005,"lat":39.678308333,"lon":-75.748933333,"alt":72.400,"epx":12.310,"epy":19.762,"epv":32.200,"track":205.6900,"speed":0.108,"climb":0.000} $GPVTG,205.69,T,,M,0.21,N,0.4,K*6F $GPZDA,153406.000,23,04,2010,,*55 $GPGGA,153406.000,3940.6984,N,07544.9360,W,1,09,1.3,72.5,M,-33.8,M,,0000*56 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153406.000,A,3940.6984,N,07544.9360,W,0.11,198.24,230410,,*15 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:06.000Z","ept":0.005,"lat":39.678306667,"lon":-75.748933333,"alt":72.500,"epx":12.310,"epy":19.762,"epv":32.200,"track":198.2400,"speed":0.057,"climb":0.000} $GPVTG,198.24,T,,M,0.11,N,0.2,K*64 $GPZDA,153407.000,23,04,2010,,*54 $GPGGA,153407.000,3940.6984,N,07544.9361,W,1,09,1.3,72.7,M,-33.8,M,,0000*54 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153407.000,A,3940.6984,N,07544.9361,W,0.09,185.69,230410,,*19 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:07.000Z","ept":0.005,"lat":39.678306667,"lon":-75.748935000,"alt":72.700,"epx":12.310,"epy":19.762,"epv":32.200,"track":185.6900,"speed":0.046,"climb":0.000} $GPVTG,185.69,T,,M,0.09,N,0.2,K*68 $GPZDA,153408.000,23,04,2010,,*5B $GPGGA,153408.000,3940.6984,N,07544.9360,W,1,09,1.3,73.0,M,-33.8,M,,0000*5C $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153408.000,A,3940.6984,N,07544.9360,W,0.08,68.19,230410,,*23 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:08.000Z","ept":0.005,"lat":39.678306667,"lon":-75.748933333,"alt":73.000,"epx":12.310,"epy":19.762,"epv":32.200,"track":68.1900,"speed":0.041,"climb":0.000} $GPVTG,68.19,T,,M,0.08,N,0.1,K*5F $GPZDA,153409.000,23,04,2010,,*5A $GPGGA,153409.000,3940.6984,N,07544.9360,W,1,09,1.3,72.8,M,-33.8,M,,0000*54 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153409.000,A,3940.6984,N,07544.9360,W,0.03,136.94,230410,,*16 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:09.000Z","ept":0.005,"lat":39.678306667,"lon":-75.748933333,"alt":72.800,"epx":12.310,"epy":19.762,"epv":32.200,"track":136.9400,"speed":0.015,"climb":0.000} $GPVTG,136.94,T,,M,0.03,N,0.1,K*6B $GPZDA,153410.000,23,04,2010,,*52 $GPGGA,153410.000,3940.6985,N,07544.9360,W,1,09,1.3,72.6,M,-33.8,M,,0000*53 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPGSV,3,1,12,26,82,270,39,21,73,256,37,24,66,289,40,18,58,312,44*7E $GPGSV,3,2,12,27,51,116,43,15,47,048,40,09,46,136,42,22,26,291,13*71 $GPGSV,3,3,12,06,13,303,,03,06,312,,29,06,199,24,05,05,096,24*78 {"class":"SKY","tag":"GSV","xdop":0.82,"ydop":1.32,"vdop":1.40,"tdop":1.30,"hdop":1.30,"gdop":2.59,"pdop":1.90,"satellites":[{"PRN":26,"el":82,"az":270,"ss":39,"used":true},{"PRN":21,"el":73,"az":256,"ss":37,"used":true},{"PRN":24,"el":66,"az":289,"ss":40,"used":true},{"PRN":18,"el":58,"az":312,"ss":44,"used":true},{"PRN":27,"el":51,"az":116,"ss":43,"used":true},{"PRN":15,"el":47,"az":48,"ss":40,"used":true},{"PRN":9,"el":46,"az":136,"ss":42,"used":true},{"PRN":22,"el":26,"az":291,"ss":13,"used":false},{"PRN":6,"el":13,"az":303,"ss":0,"used":false},{"PRN":3,"el":6,"az":312,"ss":0,"used":false},{"PRN":29,"el":6,"az":199,"ss":24,"used":true},{"PRN":5,"el":5,"az":96,"ss":24,"used":true}]} $GPRMC,153410.000,A,3940.6985,N,07544.9360,W,0.04,163.02,230410,,*17 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:10.000Z","ept":0.005,"lat":39.678308333,"lon":-75.748933333,"alt":72.600,"epx":12.310,"epy":19.762,"epv":32.200,"track":163.0200,"speed":0.021,"climb":0.000} $GPZDA,153411.000,23,04,2010,,*53 $GPGGA,153411.000,3940.6985,N,07544.9360,W,1,09,1.3,72.5,M,-33.8,M,,0000*51 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153411.000,A,3940.6985,N,07544.9360,W,0.09,55.20,230410,,*2F {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:11.000Z","ept":0.005,"lat":39.678308333,"lon":-75.748933333,"alt":72.500,"epx":12.310,"epy":19.762,"epv":32.200,"track":55.2000,"speed":0.046,"climb":0.000} $GPVTG,55.20,T,,M,0.09,N,0.2,K*59 $GPZDA,153412.000,23,04,2010,,*50 $GPGGA,153412.000,3940.6985,N,07544.9359,W,1,09,1.3,72.3,M,-33.8,M,,0000*5E $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153412.000,A,3940.6985,N,07544.9359,W,0.09,58.22,230410,,*29 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:12.000Z","ept":0.005,"lat":39.678308333,"lon":-75.748931667,"alt":72.300,"epx":12.310,"epy":19.762,"epv":32.200,"track":58.2200,"speed":0.046,"climb":0.000} $GPVTG,58.22,T,,M,0.09,N,0.2,K*56 $GPZDA,153413.000,23,04,2010,,*51 $GPGGA,153413.000,3940.6986,N,07544.9359,W,1,09,1.3,72.1,M,-33.8,M,,0000*5E $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153413.000,A,3940.6986,N,07544.9359,W,0.13,65.66,230410,,*2E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:13.000Z","ept":0.005,"lat":39.678310000,"lon":-75.748931667,"alt":72.100,"epx":12.310,"epy":19.762,"epv":32.200,"track":65.6600,"speed":0.067,"climb":0.000} $GPVTG,65.66,T,,M,0.13,N,0.2,K*53 $GPZDA,153414.000,23,04,2010,,*56 $GPGGA,153414.000,3940.6986,N,07544.9359,W,1,09,1.3,71.8,M,-33.8,M,,0000*53 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153414.000,A,3940.6986,N,07544.9359,W,0.06,72.14,230410,,*2E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:14.000Z","ept":0.005,"lat":39.678310000,"lon":-75.748931667,"alt":71.800,"epx":12.310,"epy":19.762,"epv":32.200,"track":72.1400,"speed":0.031,"climb":0.000} $GPVTG,72.14,T,,M,0.06,N,0.1,K*57 $GPZDA,153415.000,23,04,2010,,*57 $GPGGA,153415.000,3940.6986,N,07544.9359,W,1,08,1.9,71.8,M,-33.8,M,,0000*59 $GPGSA,A,3,26,15,21,27,24,09,18,05,,,,,3.0,1.9,2.4*3A $GPGSV,3,1,12,26,82,270,39,21,73,256,37,24,66,289,39,18,58,312,44*70 $GPGSV,3,2,12,27,51,116,42,15,47,048,40,09,46,136,42,22,26,291,*72 $GPGSV,3,3,12,06,13,303,27,03,06,312,,29,06,199,17,05,05,096,19*73 {"class":"SKY","tag":"GSV","xdop":0.82,"ydop":1.32,"vdop":2.40,"tdop":1.30,"hdop":1.90,"gdop":2.59,"pdop":3.00,"satellites":[{"PRN":26,"el":82,"az":270,"ss":39,"used":true},{"PRN":21,"el":73,"az":256,"ss":37,"used":true},{"PRN":24,"el":66,"az":289,"ss":39,"used":true},{"PRN":18,"el":58,"az":312,"ss":44,"used":true},{"PRN":27,"el":51,"az":116,"ss":42,"used":true},{"PRN":15,"el":47,"az":48,"ss":40,"used":true},{"PRN":9,"el":46,"az":136,"ss":42,"used":true},{"PRN":22,"el":26,"az":291,"ss":0,"used":false},{"PRN":6,"el":13,"az":303,"ss":27,"used":false},{"PRN":3,"el":6,"az":312,"ss":0,"used":false},{"PRN":29,"el":6,"az":199,"ss":17,"used":false},{"PRN":5,"el":5,"az":96,"ss":19,"used":true}]} $GPRMC,153415.000,A,3940.6986,N,07544.9359,W,0.07,71.45,230410,,*29 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:15.000Z","ept":0.005,"lat":39.678310000,"lon":-75.748931667,"alt":71.800,"epx":12.310,"epy":19.762,"epv":32.200,"track":71.4500,"speed":0.036,"climb":0.000} $GPVTG,71.45,T,,M,0.07,N,0.1,K*51 $GPZDA,153416.000,23,04,2010,,*54 $GPGGA,153416.000,3940.6986,N,07544.9359,W,1,08,1.9,71.9,M,-33.8,M,,0000*5B $GPGSA,A,3,26,15,21,27,24,09,18,05,,,,,3.0,1.9,2.4*3A $GPRMC,153416.000,A,3940.6986,N,07544.9359,W,0.04,125.99,230410,,*18 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:16.000Z","ept":0.005,"lat":39.678310000,"lon":-75.748931667,"alt":71.900,"epx":12.310,"epy":19.762,"epv":55.200,"track":125.9900,"speed":0.021,"climb":0.000} $GPVTG,125.99,T,,M,0.04,N,0.1,K*63 $GPZDA,153417.000,23,04,2010,,*55 $GPGGA,153417.000,3940.6986,N,07544.9359,W,1,09,1.3,71.6,M,-33.8,M,,0000*5E $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153417.000,A,3940.6986,N,07544.9359,W,0.16,60.22,230410,,*2A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:17.000Z","ept":0.005,"lat":39.678310000,"lon":-75.748931667,"alt":71.600,"epx":12.310,"epy":19.762,"epv":55.200,"track":60.2200,"speed":0.082,"climb":0.000} $GPVTG,60.22,T,,M,0.16,N,0.3,K*52 $GPZDA,153418.000,23,04,2010,,*5A $GPGGA,153418.000,3940.6986,N,07544.9359,W,1,09,1.3,71.5,M,-33.8,M,,0000*52 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153418.000,A,3940.6986,N,07544.9359,W,0.04,108.21,230410,,*1A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:18.000Z","ept":0.005,"lat":39.678310000,"lon":-75.748931667,"alt":71.500,"epx":12.310,"epy":19.762,"epv":32.200,"track":108.2100,"speed":0.021,"climb":0.000} $GPVTG,108.21,T,,M,0.04,N,0.1,K*6F $GPZDA,153419.000,23,04,2010,,*5B $GPGGA,153419.000,3940.6987,N,07544.9359,W,1,09,1.3,71.6,M,-33.8,M,,0000*51 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153419.000,A,3940.6987,N,07544.9359,W,0.32,53.50,230410,,*26 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:19.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748931667,"alt":71.600,"epx":12.310,"epy":19.762,"epv":32.200,"track":53.5000,"speed":0.165,"climb":0.000} $GPVTG,53.50,T,,M,0.32,N,0.6,K*54 $GPZDA,153420.000,23,04,2010,,*51 $GPGGA,153420.000,3940.6987,N,07544.9358,W,1,09,1.3,71.8,M,-33.8,M,,0000*54 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPGSV,3,1,12,26,82,272,39,21,73,256,35,24,67,288,39,18,59,312,37*75 $GPGSV,3,2,12,27,51,115,43,15,47,048,40,09,46,136,43,22,26,291,11*71 $GPGSV,3,3,12,06,13,303,27,03,06,312,,29,06,199,17,14,05,232,*77 {"class":"SKY","tag":"GSV","xdop":0.82,"ydop":1.32,"vdop":1.40,"tdop":1.30,"hdop":1.30,"gdop":2.59,"pdop":1.90,"satellites":[{"PRN":26,"el":82,"az":272,"ss":39,"used":true},{"PRN":21,"el":73,"az":256,"ss":35,"used":true},{"PRN":24,"el":67,"az":288,"ss":39,"used":true},{"PRN":18,"el":59,"az":312,"ss":37,"used":true},{"PRN":27,"el":51,"az":115,"ss":43,"used":true},{"PRN":15,"el":47,"az":48,"ss":40,"used":true},{"PRN":9,"el":46,"az":136,"ss":43,"used":true},{"PRN":22,"el":26,"az":291,"ss":11,"used":false},{"PRN":6,"el":13,"az":303,"ss":27,"used":false},{"PRN":3,"el":6,"az":312,"ss":0,"used":false},{"PRN":29,"el":6,"az":199,"ss":17,"used":true},{"PRN":14,"el":5,"az":232,"ss":0,"used":false}]} $GPRMC,153420.000,A,3940.6987,N,07544.9358,W,0.31,53.43,230410,,*2C {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:20.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748930000,"alt":71.800,"epx":12.310,"epy":19.762,"epv":32.200,"track":53.4300,"speed":0.159,"climb":0.000} $GPVTG,53.43,T,,M,0.31,N,0.6,K*55 $GPZDA,153421.000,23,04,2010,,*50 $GPGGA,153421.000,3940.6988,N,07544.9357,W,1,09,1.3,71.6,M,-33.8,M,,0000*5B $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153421.000,A,3940.6988,N,07544.9357,W,0.31,59.72,230410,,*25 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:21.000Z","ept":0.005,"lat":39.678313333,"lon":-75.748928333,"alt":71.600,"epx":12.310,"epy":19.762,"epv":32.200,"track":59.7200,"speed":0.159,"climb":0.000} $GPVTG,59.72,T,,M,0.31,N,0.6,K*5D $GPZDA,153422.000,23,04,2010,,*53 $GPGGA,153422.000,3940.6988,N,07544.9357,W,1,09,1.3,71.5,M,-33.8,M,,0000*5B $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153422.000,A,3940.6988,N,07544.9357,W,0.06,123.72,230410,,*1E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:22.000Z","ept":0.005,"lat":39.678313333,"lon":-75.748928333,"alt":71.500,"epx":12.310,"epy":19.762,"epv":32.200,"track":123.7200,"speed":0.031,"climb":0.000} $GPVTG,123.72,T,,M,0.06,N,0.1,K*62 $GPZDA,153423.000,23,04,2010,,*52 $GPGGA,153423.000,3940.6988,N,07544.9358,W,1,09,1.3,71.2,M,-33.8,M,,0000*52 $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPVTG,129.63,T,,M,0.08,N,0.1,K*66 $GPZDA,153424.000,23,04,2010,,*55 $GPGGA,153424.000,3940.6987,N,07544.9358,W,1,09,1.3,71.1,M,-33.8,M,,0000*59 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-04-23T15:34:24.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748930000,"alt":71.100,"epx":12.310,"epy":19.762,"epv":32.200,"speed":0.000,"climb":0.000} $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153424.000,A,3940.6987,N,07544.9358,W,0.07,100.77,230410,,*1D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:24.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748930000,"alt":71.100,"epx":12.310,"epy":19.762,"epv":32.200,"track":100.7700,"speed":0.036,"climb":0.000} $GPVTG,100.77,T,,M,0.07,N,0.1,K*67 $GPZDA,153425.000,23,04,2010,,*54 $GPGGA,153425.000,3940.6987,N,07544.9359,W,1,09,1.3,70.9,M,-33.8,M,,0000*50 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-04-23T15:34:25.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748931667,"alt":70.900,"epx":12.310,"epy":19.762,"epv":32.200,"speed":0.000,"climb":0.000} $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPGSV,3,1,12,26,82,272,39,21,73,256,36,24,67,288,38,18,59,312,42*75 $GPGSV,3,2,12,27,51,115,42,15,47,048,40,09,46,136,43,22,26,291,07*77 $GPGSV,3,3,12,06,13,303,,03,06,312,12,29,06,199,25,14,05,232,*70 {"class":"SKY","tag":"GSV","xdop":0.82,"ydop":1.32,"vdop":1.40,"tdop":1.30,"hdop":1.30,"gdop":2.59,"pdop":1.90,"satellites":[{"PRN":26,"el":82,"az":272,"ss":39,"used":true},{"PRN":21,"el":73,"az":256,"ss":36,"used":true},{"PRN":24,"el":67,"az":288,"ss":38,"used":true},{"PRN":18,"el":59,"az":312,"ss":42,"used":true},{"PRN":27,"el":51,"az":115,"ss":42,"used":true},{"PRN":15,"el":47,"az":48,"ss":40,"used":true},{"PRN":9,"el":46,"az":136,"ss":43,"used":true},{"PRN":22,"el":26,"az":291,"ss":7,"used":false},{"PRN":6,"el":13,"az":303,"ss":0,"used":false},{"PRN":3,"el":6,"az":312,"ss":12,"used":false},{"PRN":29,"el":6,"az":199,"ss":25,"used":true},{"PRN":14,"el":5,"az":232,"ss":0,"used":false}]} $GPRMC,153425.000,A,3940.6987,N,07544.9359,W,0.10,89.40,230410,,*2F {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:25.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748931667,"alt":70.900,"epx":12.310,"epy":19.762,"epv":32.200,"track":89.4000,"speed":0.051,"climb":0.000} $GPVTG,89.40,T,,M,0.10,N,0.2,K*56 $GPZDA,153426.000,23,04,2010,,*57 $GPGGA,153426.000,3940.6987,N,07544.9359,W,1,09,1.3,70.4,M,-33.8,M,,0000*5E {"class":"TPV","tag":"GGA","mode":3,"time":"2010-04-23T15:34:26.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748931667,"alt":70.400,"epx":12.310,"epy":19.762,"epv":32.200,"speed":0.000,"climb":0.000} $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153426.000,A,3940.6987,N,07544.9359,W,0.15,63.07,230410,,*2E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:26.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748931667,"alt":70.400,"epx":12.310,"epy":19.762,"epv":32.200,"track":63.0700,"speed":0.077,"climb":0.000} $GPVTG,63.07,T,,M,0.15,N,0.3,K*55 $GPZDA,153427.000,23,04,2010,,*56 $GPGGA,153427.000,3940.6987,N,07544.9359,W,1,08,1.9,70.5,M,-33.8,M,,0000*55 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-04-23T15:34:27.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748931667,"alt":70.500,"epx":12.310,"epy":19.762,"epv":32.200,"speed":0.000,"climb":0.000} $GPGSA,A,3,26,15,21,27,24,09,18,05,,,,,3.0,1.9,2.4*3A $GPRMC,153427.000,A,3940.6987,N,07544.9359,W,0.14,65.26,230410,,*2B {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:27.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748931667,"alt":70.500,"epx":12.310,"epy":19.762,"epv":32.200,"track":65.2600,"speed":0.072,"climb":0.000} $GPVTG,65.26,T,,M,0.14,N,0.3,K*51 $GPZDA,153428.000,23,04,2010,,*59 $GPGGA,153428.000,3940.6987,N,07544.9359,W,1,08,1.9,70.7,M,-33.8,M,,0000*58 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-04-23T15:34:28.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748931667,"alt":70.700,"epx":12.310,"epy":19.762,"epv":55.200,"speed":0.000,"climb":0.000} $GPGSA,A,3,26,15,21,27,24,09,18,05,,,,,3.0,1.9,2.4*3A $GPRMC,153428.000,A,3940.6987,N,07544.9359,W,0.10,75.11,230410,,*25 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:28.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748931667,"alt":70.700,"epx":12.310,"epy":19.762,"epv":55.200,"track":75.1100,"speed":0.051,"climb":0.000} $GPVTG,75.11,T,,M,0.10,N,0.2,K*51 $GPZDA,153429.000,23,04,2010,,*58 $GPGGA,153429.000,3940.6987,N,07544.9359,W,1,09,1.3,70.1,M,-33.8,M,,0000*54 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-04-23T15:34:29.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748931667,"alt":70.100,"epx":12.310,"epy":19.762,"epv":55.200,"speed":0.000,"climb":0.000} $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153429.000,A,3940.6987,N,07544.9359,W,0.13,65.02,230410,,*24 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:29.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748931667,"alt":70.100,"epx":12.310,"epy":19.762,"epv":55.200,"track":65.0200,"speed":0.067,"climb":0.000} $GPVTG,65.02,T,,M,0.13,N,0.2,K*51 $GPZDA,153430.000,23,04,2010,,*50 $GPGGA,153430.000,3940.6987,N,07544.9360,W,1,09,1.3,69.6,M,-33.8,M,,0000*59 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-04-23T15:34:30.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748933333,"alt":69.600,"epx":12.310,"epy":19.762,"epv":32.200,"speed":0.000,"climb":0.000} $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPGSV,3,1,12,26,82,272,39,21,73,256,36,24,67,288,37,18,59,312,42*7A $GPGSV,3,2,12,27,51,115,42,15,47,048,39,09,46,136,43,22,26,291,*7E $GPGSV,3,3,12,06,13,303,27,03,06,312,,29,06,199,13,14,05,232,*73 {"class":"SKY","tag":"GSV","xdop":0.82,"ydop":1.32,"vdop":1.40,"tdop":1.30,"hdop":1.30,"gdop":2.59,"pdop":1.90,"satellites":[{"PRN":26,"el":82,"az":272,"ss":39,"used":true},{"PRN":21,"el":73,"az":256,"ss":36,"used":true},{"PRN":24,"el":67,"az":288,"ss":37,"used":true},{"PRN":18,"el":59,"az":312,"ss":42,"used":true},{"PRN":27,"el":51,"az":115,"ss":42,"used":true},{"PRN":15,"el":47,"az":48,"ss":39,"used":true},{"PRN":9,"el":46,"az":136,"ss":43,"used":true},{"PRN":22,"el":26,"az":291,"ss":0,"used":false},{"PRN":6,"el":13,"az":303,"ss":27,"used":false},{"PRN":3,"el":6,"az":312,"ss":0,"used":false},{"PRN":29,"el":6,"az":199,"ss":13,"used":true},{"PRN":14,"el":5,"az":232,"ss":0,"used":false}]} $GPRMC,153430.000,A,3940.6987,N,07544.9360,W,0.09,67.21,230410,,*2E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:30.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748933333,"alt":69.600,"epx":12.310,"epy":19.762,"epv":32.200,"track":67.2100,"speed":0.046,"climb":0.000} $GPVTG,67.21,T,,M,0.09,N,0.2,K*59 $GPZDA,153431.000,23,04,2010,,*51 $GPGGA,153431.000,3940.6987,N,07544.9361,W,1,09,1.3,69.4,M,-33.8,M,,0000*5B {"class":"TPV","tag":"GGA","mode":3,"time":"2010-04-23T15:34:31.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748935000,"alt":69.400,"epx":12.310,"epy":19.762,"epv":32.200,"speed":0.000,"climb":0.000} $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153431.000,A,3940.6987,N,07544.9361,W,0.06,167.61,230410,,*14 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:31.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748935000,"alt":69.400,"epx":12.310,"epy":19.762,"epv":32.200,"track":167.6100,"speed":0.031,"climb":0.000} $GPVTG,167.61,T,,M,0.06,N,0.1,K*60 $GPZDA,153432.000,23,04,2010,,*52 $GPGGA,153432.000,3940.6986,N,07544.9362,W,1,09,1.3,68.9,M,-33.8,M,,0000*56 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-04-23T15:34:32.000Z","ept":0.005,"lat":39.678310000,"lon":-75.748936667,"alt":68.900,"epx":12.310,"epy":19.762,"epv":32.200,"speed":0.000,"climb":0.000} $GPGSA,A,3,26,15,21,27,24,09,18,05,29,,,,1.9,1.3,1.4*33 $GPRMC,153432.000,A,3940.6986,N,07544.9362,W,0.15,61.34,230410,,*20 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:32.000Z","ept":0.005,"lat":39.678310000,"lon":-75.748936667,"alt":68.900,"epx":12.310,"epy":19.762,"epv":32.200,"track":61.3400,"speed":0.077,"climb":0.000} $GPVTG,61.34,T,,M,0.15,N,0.3,K*57 $GPZDA,153433.000,23,04,2010,,*53 $GPGGA,153433.000,3940.6987,N,07544.9362,W,1,08,1.9,69.0,M,-33.8,M,,0000*55 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-04-23T15:34:33.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748936667,"alt":69.000,"epx":12.310,"epy":19.762,"epv":32.200,"speed":0.000,"climb":0.000} $GPGSA,A,3,26,15,21,27,24,09,18,05,,,,,3.0,1.9,2.4*3A $GPRMC,153433.000,A,3940.6987,N,07544.9362,W,0.06,83.09,230410,,*20 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:33.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748936667,"alt":69.000,"epx":12.310,"epy":19.762,"epv":32.200,"track":83.0900,"speed":0.031,"climb":0.000} $GPVTG,83.09,T,,M,0.06,N,0.1,K*55 $GPZDA,153434.000,23,04,2010,,*54 $GPGGA,153434.000,3940.6987,N,07544.9361,W,1,08,1.9,69.2,M,-33.8,M,,0000*53 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-04-23T15:34:34.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748935000,"alt":69.200,"epx":12.310,"epy":19.762,"epv":55.200,"speed":0.000,"climb":0.000} $GPGSA,A,3,26,15,21,27,24,09,18,05,,,,,3.0,1.9,2.4*3A $GPRMC,153434.000,A,3940.6987,N,07544.9361,W,0.09,68.77,230410,,*27 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-04-23T15:34:34.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748935000,"alt":69.200,"epx":12.310,"epy":19.762,"epv":55.200,"track":68.7700,"speed":0.046,"climb":0.000} $GPVTG,68.77,T,,M,0.09,N,0.2,K*55 $GPZDA,153435.000,23,04,2010,,*55 $GPGGA,153435.000,3940.6987,N,07544.9361,W,1,08,1.9,69.5,M,-33.8,M,,0000*55 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-04-23T15:34:35.000Z","ept":0.005,"lat":39.678311667,"lon":-75.748935000,"alt":69.500,"epx":12.310,"epy":19.762,"epv":55.200,"speed":0.000,"climb":0.000} $GPGSA,A,3,26,15,21,27,24,09,18,05,,,,,3.0,1.9,2.4*3A $GPGSV,3,1,12,26,82,272,39,21,73,256,37,24,67,288,38,18,59,312,42*74 $GPGSV,3,2,12,27,51,115,42,15,47,048,39,09,46,136,43,22,26,291,*7E $GPGSV,3,3,12,06,13,303,27,03,06,312,12,29,06,199,,14,05,232,*72 {"class":"SKY","tag":"GSV","xdop":0.82,"ydop":1.32,"vdop":2.40,"tdop":1.30,"hdop":1.90,"gdop":2.59,"pdop":3.00,"satellites":[{"PRN":26,"el":82,"az":272,"ss":39,"used":true},{"PRN":21,"el":73,"az":256,"ss":37,"used":true},{"PRN":24,"el":67,"az":288,"ss":38,"used":true},{"PRN":18,"el":59,"az":312,"ss":42,"used":true},{"PRN":27,"el":51,"az":115,"ss":42,"used":true},{"PRN":15,"el":47,"az":48,"ss":39,"used":true},{"PRN":9,"el":46,"az":136,"ss":43,"used":true},{"PRN":22,"el":26,"az":291,"ss":0,"used":false},{"PRN":6,"el":13,"az":303,"ss":27,"used":false},{"PRN":3,"el":6,"az":312,"ss":12,"used":false},{"PRN":29,"el":6,"az":199,"ss":0,"used":false},{"PRN":14,"el":5,"az":232,"ss":0,"used":false}]} gpsd-3.9/test/daemon/firefly-II.log0000664000175000017500000003377011762140436015372 0ustar esresr# Name: Firefly-IIa # Chipset: UBLOX NEO-5Q # Submitter: Said Jackson # Date: 2010-07-07 # Location: Los Gatos, CA, 170 Knowles Drive $GPGGA,005947.00,3715.6616,N,12157.6709,W,,11,0.8,86.0,M,-30.1,M,,*54 $GPRMC,005947.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*2F $GPZDA,005947.00,08,07,2010,+00,00*4E $GPGGA,005948.00,3715.6616,N,12157.6709,W,,11,0.8,86.0,M,-30.1,M,,*5B $GPRMC,005948.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*20 $GPZDA,005948.00,08,07,2010,+00,00*41 $GPGGA,005949.00,3715.6616,N,12157.6709,W,,11,0.8,86.0,M,-30.1,M,,*5A $GPRMC,005949.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*21 $GPZDA,005949.00,08,07,2010,+00,00*40 $GPGGA,005950.00,3715.6616,N,12157.6709,W,,11,0.8,86.0,M,-30.1,M,,*52 $GPRMC,005950.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*29 $GPZDA,005950.00,08,07,2010,+00,00*48 $GPGGA,005951.00,3715.6616,N,12157.6709,W,,11,0.8,86.0,M,-30.1,M,,*53 $GPRMC,005951.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*28 $GPZDA,005951.00,08,07,2010,+00,00*49 $GPGGA,005952.00,3715.6616,N,12157.6709,W,,11,0.8,86.0,M,-30.1,M,,*50 $GPRMC,005952.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*2B $GPZDA,005952.00,08,07,2010,+00,00*4A $GPGGA,005953.00,3715.6616,N,12157.6709,W,,11,0.8,86.0,M,-30.1,M,,*51 $GPRMC,005953.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*2A $GPZDA,005953.00,08,07,2010,+00,00*4B $GPGGA,005954.00,3715.6616,N,12157.6709,W,,11,0.8,86.0,M,-30.1,M,,*56 $GPRMC,005954.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*2D $GPZDA,005954.00,08,07,2010,+00,00*4C $GPGGA,005955.00,3715.6616,N,12157.6709,W,,11,0.8,86.0,M,-30.1,M,,*57 $GPRMC,005955.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*2C $GPZDA,005955.00,08,07,2010,+00,00*4D $GPGGA,005956.00,3715.6616,N,12157.6709,W,,11,0.8,86.0,M,-30.1,M,,*54 $GPRMC,005956.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*2F $GPZDA,005956.00,08,07,2010,+00,00*4E $GPGGA,005957.00,3715.6616,N,12157.6709,W,,11,0.8,86.0,M,-30.1,M,,*55 $GPRMC,005957.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*2E $GPZDA,005957.00,08,07,2010,+00,00*4F $GPGGA,005958.00,3715.6616,N,12157.6709,W,,11,0.8,86.0,M,-30.1,M,,*5A $GPRMC,005958.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*21 $GPZDA,005958.00,08,07,2010,+00,00*40 $GPGGA,005959.00,3715.6614,N,12157.6699,W,,11,0.8,85.9,M,-30.1,M,,*5B $GPRMC,005959.00,A,3715.6614,N,12157.6699,W,0.0,0.0,080710,,*2A $GPZDA,005959.00,08,07,2010,+00,00*41 $GPGGA,010000.00,3715.6614,N,12157.6699,W,,11,0.8,85.7,M,-30.1,M,,*54 $GPRMC,010000.00,A,3715.6614,N,12157.6699,W,0.0,0.0,080710,,*2B $GPZDA,010000.00,08,07,2010,+00,00*40 $GPGGA,010001.00,3715.6614,N,12157.6699,W,,11,0.8,85.7,M,-30.1,M,,*55 $GPRMC,010001.00,A,3715.6614,N,12157.6699,W,0.0,0.0,080710,,*2A $GPZDA,010001.00,08,07,2010,+00,00*41 $GPGGA,010002.00,3715.6614,N,12157.6699,W,,11,0.8,85.7,M,-30.1,M,,*56 $GPRMC,010002.00,A,3715.6614,N,12157.6699,W,0.0,0.0,080710,,*29 $GPZDA,010002.00,08,07,2010,+00,00*42 $GPGGA,010003.00,3715.6614,N,12157.6699,W,,11,0.8,85.7,M,-30.1,M,,*57 $GPRMC,010003.00,A,3715.6614,N,12157.6699,W,0.0,0.0,080710,,*28 $GPZDA,010003.00,08,07,2010,+00,00*43 $GPGGA,010004.00,3715.6614,N,12157.6699,W,,11,0.8,85.7,M,-30.1,M,,*50 $GPRMC,010004.00,A,3715.6614,N,12157.6699,W,0.0,0.0,080710,,*2F $GPZDA,010004.00,08,07,2010,+00,00*44 $GPGGA,010005.00,3715.6614,N,12157.6699,W,,11,0.8,85.7,M,-30.1,M,,*51 $GPRMC,010005.00,A,3715.6614,N,12157.6699,W,0.0,0.0,080710,,*2E $GPZDA,010005.00,08,07,2010,+00,00*45 $GPGGA,010006.00,3715.6614,N,12157.6699,W,,11,0.8,85.7,M,-30.1,M,,*52 $GPRMC,010006.00,A,3715.6614,N,12157.6699,W,0.0,0.0,080710,,*2D $GPZDA,010006.00,08,07,2010,+00,00*46 $GPGGA,010007.00,3715.6614,N,12157.6699,W,,11,0.8,85.7,M,-30.1,M,,*53 $GPRMC,010007.00,A,3715.6614,N,12157.6699,W,0.0,0.0,080710,,*2C $GPZDA,010007.00,08,07,2010,+00,00*47 $GPGGA,010008.00,3715.6611,N,12157.6699,W,,11,0.8,85.4,M,-30.1,M,,*5A $GPRMC,010008.00,A,3715.6611,N,12157.6699,W,0.0,0.0,080710,,*26 $GPZDA,010008.00,08,07,2010,+00,00*48 $GPGGA,010009.00,3715.6609,N,12157.6699,W,,11,0.8,85.4,M,-30.1,M,,*52 $GPRMC,010009.00,A,3715.6609,N,12157.6699,W,0.0,0.0,080710,,*2E $GPZDA,010009.00,08,07,2010,+00,00*49 $GPGGA,010010.00,3715.6609,N,12157.6699,W,,11,0.8,85.3,M,-30.1,M,,*5D $GPRMC,010010.00,A,3715.6609,N,12157.6699,W,0.0,0.0,080710,,*26 $GPZDA,010010.00,08,07,2010,+00,00*41 $GPGGA,010011.00,3715.6606,N,12157.6699,W,,11,0.8,85.2,M,-30.1,M,,*52 $GPRMC,010011.00,A,3715.6606,N,12157.6699,W,0.0,0.0,080710,,*28 $GPZDA,010011.00,08,07,2010,+00,00*40 $GPGGA,010012.00,3715.6606,N,12157.6699,W,,11,0.8,85.1,M,-30.1,M,,*52 $GPRMC,010012.00,A,3715.6606,N,12157.6699,W,0.0,0.0,080710,,*2B $GPZDA,010012.00,08,07,2010,+00,00*43 $GPGGA,010013.00,3715.6606,N,12157.6699,W,,11,0.8,85.1,M,-30.1,M,,*53 $GPRMC,010013.00,A,3715.6606,N,12157.6699,W,0.0,0.0,080710,,*2A $GPZDA,010013.00,08,07,2010,+00,00*42 $GPGGA,010014.00,3715.6606,N,12157.6699,W,,11,0.8,85.1,M,-30.1,M,,*54 $GPRMC,010014.00,A,3715.6606,N,12157.6699,W,0.0,0.0,080710,,*2D $GPZDA,010014.00,08,07,2010,+00,00*45 $GPGGA,010015.00,3715.6606,N,12157.6699,W,,11,0.8,85.0,M,-30.1,M,,*54 $GPRMC,010015.00,A,3715.6606,N,12157.6699,W,0.0,0.0,080710,,*2C $GPZDA,010015.00,08,07,2010,+00,00*44 $GPGGA,010016.00,3715.6606,N,12157.6699,W,,11,0.8,84.9,M,-30.1,M,,*5F $GPRMC,010016.00,A,3715.6606,N,12157.6699,W,0.0,0.0,080710,,*2F $GPZDA,010016.00,08,07,2010,+00,00*47 $GPGGA,010017.00,3715.6604,N,12157.6699,W,,11,0.8,84.9,M,-30.1,M,,*5C $GPRMC,010017.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2C $GPZDA,010017.00,08,07,2010,+00,00*46 $GPGGA,010018.00,3715.6604,N,12157.6699,W,,11,0.8,84.9,M,-30.1,M,,*53 $GPRMC,010018.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*23 $GPZDA,010018.00,08,07,2010,+00,00*49 $GPGGA,010019.00,3715.6604,N,12157.6699,W,,11,0.8,84.9,M,-30.1,M,,*52 $GPRMC,010019.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*22 $GPZDA,010019.00,08,07,2010,+00,00*48 $GPGGA,010020.00,3715.6604,N,12157.6699,W,,11,0.8,84.9,M,-30.1,M,,*58 $GPRMC,010020.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*28 $GPZDA,010020.00,08,07,2010,+00,00*42 $GPGGA,010021.00,3715.6604,N,12157.6699,W,,11,0.8,84.9,M,-30.1,M,,*59 $GPRMC,010021.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*29 $GPZDA,010021.00,08,07,2010,+00,00*43 $GPGGA,010022.00,3715.6604,N,12157.6699,W,,11,0.8,84.9,M,-30.1,M,,*5A $GPRMC,010022.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2A $GPZDA,010022.00,08,07,2010,+00,00*40 $GPGGA,010023.00,3715.6604,N,12157.6699,W,,11,0.8,84.9,M,-30.1,M,,*5B $GPRMC,010023.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2B $GPZDA,010023.00,08,07,2010,+00,00*41 $GPGGA,010024.00,3715.6604,N,12157.6699,W,,11,0.8,84.9,M,-30.1,M,,*5C $GPRMC,010024.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2C $GPZDA,010024.00,08,07,2010,+00,00*46 $GPGGA,010025.00,3715.6604,N,12157.6699,W,,11,0.8,84.9,M,-30.1,M,,*5D $GPRMC,010025.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2D $GPZDA,010025.00,08,07,2010,+00,00*47 $GPGGA,010026.00,3715.6604,N,12157.6699,W,,11,0.8,84.9,M,-30.1,M,,*5E $GPRMC,010026.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2E $GPZDA,010026.00,08,07,2010,+00,00*44 $GPGGA,010027.00,3715.6604,N,12157.6699,W,,11,0.8,84.9,M,-30.1,M,,*5F $GPRMC,010027.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2F $GPZDA,010027.00,08,07,2010,+00,00*45 $GPGGA,010028.00,3715.6604,N,12157.6699,W,,11,0.8,84.9,M,-30.1,M,,*50 $GPRMC,010028.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*20 $GPZDA,010028.00,08,07,2010,+00,00*4A $GPGGA,010029.00,3715.6604,N,12157.6699,W,,11,0.8,84.9,M,-30.1,M,,*51 $GPRMC,010029.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*21 $GPZDA,010029.00,08,07,2010,+00,00*4B $GPGGA,010030.00,3715.6604,N,12157.6699,W,,11,0.8,84.9,M,-30.1,M,,*59 $GPRMC,010030.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*29 $GPZDA,010030.00,08,07,2010,+00,00*43 $GPGGA,010031.00,3715.6604,N,12157.6699,W,,11,0.8,84.9,M,-30.1,M,,*58 $GPRMC,010031.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*28 $GPZDA,010031.00,08,07,2010,+00,00*42 $GPGGA,010032.00,3715.6604,N,12157.6699,W,,11,0.8,84.9,M,-30.1,M,,*5B $GPRMC,010032.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2B $GPZDA,010032.00,08,07,2010,+00,00*41 $GPGGA,010033.00,3715.6604,N,12157.6699,W,,11,0.8,85.2,M,-30.1,M,,*50 $GPRMC,010033.00,A,3715.6604,N,12157.6699,W,0.1,0.0,080710,,*2B $GPZDA,010033.00,08,07,2010,+00,00*40 $GPGGA,010034.00,3715.6604,N,12157.6699,W,,11,0.8,85.5,M,-30.1,M,,*50 $GPRMC,010034.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2D $GPZDA,010034.00,08,07,2010,+00,00*47 $GPGGA,010035.00,3715.6604,N,12157.6699,W,,11,0.8,85.6,M,-30.1,M,,*52 $GPRMC,010035.00,A,3715.6604,N,12157.6699,W,0.1,0.0,080710,,*2D $GPZDA,010035.00,08,07,2010,+00,00*46 $GPGGA,010036.00,3715.6604,N,12157.6699,W,,11,0.8,85.7,M,-30.1,M,,*50 $GPRMC,010036.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2F $GPZDA,010036.00,08,07,2010,+00,00*45 $GPGGA,010037.00,3715.6604,N,12157.6699,W,,11,0.8,85.8,M,-30.1,M,,*5E $GPRMC,010037.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2E $GPZDA,010037.00,08,07,2010,+00,00*44 $GPGGA,010038.00,3715.6604,N,12157.6699,W,,11,0.8,85.8,M,-30.1,M,,*51 $GPRMC,010038.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*21 $GPZDA,010038.00,08,07,2010,+00,00*4B $GPGGA,010039.00,3715.6604,N,12157.6699,W,,11,0.8,85.8,M,-30.1,M,,*50 $GPRMC,010039.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*20 $GPZDA,010039.00,08,07,2010,+00,00*4A $GPGGA,010040.00,3715.6604,N,12157.6699,W,,11,0.8,85.8,M,-30.1,M,,*5E $GPRMC,010040.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2E $GPZDA,010040.00,08,07,2010,+00,00*44 $GPGGA,010041.00,3715.6604,N,12157.6699,W,,11,0.8,85.8,M,-30.1,M,,*5F $GPRMC,010041.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2F $GPZDA,010041.00,08,07,2010,+00,00*45 $GPGGA,010042.00,3715.6604,N,12157.6699,W,,11,0.8,85.8,M,-30.1,M,,*5C $GPRMC,010042.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2C $GPZDA,010042.00,08,07,2010,+00,00*46 $GPGGA,010043.00,3715.6604,N,12157.6699,W,,11,0.8,85.8,M,-30.1,M,,*5D $GPRMC,010043.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2D $GPZDA,010043.00,08,07,2010,+00,00*47 $GPGGA,010044.00,3715.6604,N,12157.6699,W,,11,0.8,85.8,M,-30.1,M,,*5A $GPRMC,010044.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2A $GPZDA,010044.00,08,07,2010,+00,00*40 $GPGGA,010045.00,3715.6604,N,12157.6699,W,,11,0.8,85.8,M,-30.1,M,,*5B $GPRMC,010045.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2B $GPZDA,010045.00,08,07,2010,+00,00*41 $GPGGA,010046.00,3715.6604,N,12157.6699,W,,11,0.8,85.8,M,-30.1,M,,*58 $GPRMC,010046.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*28 $GPZDA,010046.00,08,07,2010,+00,00*42 $GPGGA,010047.00,3715.6604,N,12157.6699,W,,11,0.8,85.8,M,-30.1,M,,*59 $GPRMC,010047.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*29 $GPZDA,010047.00,08,07,2010,+00,00*43 $GPGGA,010048.00,3715.6604,N,12157.6699,W,,11,0.8,85.8,M,-30.1,M,,*56 $GPRMC,010048.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*26 $GPZDA,010048.00,08,07,2010,+00,00*4C $GPGGA,010049.00,3715.6604,N,12157.6699,W,,11,0.8,85.8,M,-30.1,M,,*57 $GPRMC,010049.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*27 $GPZDA,010049.00,08,07,2010,+00,00*4D $GPGGA,010050.00,3715.6609,N,12157.6699,W,,11,0.8,86.0,M,-30.1,M,,*59 $GPRMC,010050.00,A,3715.6609,N,12157.6699,W,0.0,0.0,080710,,*22 $GPZDA,010050.00,08,07,2010,+00,00*45 $GPGGA,010051.00,3715.6609,N,12157.6699,W,,11,0.8,86.0,M,-30.1,M,,*58 $GPRMC,010051.00,A,3715.6609,N,12157.6699,W,0.0,0.0,080710,,*23 $GPZDA,010051.00,08,07,2010,+00,00*44 $GPGGA,010052.00,3715.6611,N,12157.6699,W,,11,0.8,86.1,M,-30.1,M,,*53 $GPRMC,010052.00,A,3715.6611,N,12157.6699,W,0.0,0.0,080710,,*29 $GPZDA,010052.00,08,07,2010,+00,00*47 $GPGGA,010053.00,3715.6611,N,12157.6699,W,,11,0.8,86.1,M,-30.1,M,,*52 $GPRMC,010053.00,A,3715.6611,N,12157.6699,W,0.0,0.0,080710,,*28 $GPZDA,010053.00,08,07,2010,+00,00*46 $GPGGA,010054.00,3715.6611,N,12157.6699,W,,11,0.8,86.0,M,-30.1,M,,*54 $GPRMC,010054.00,A,3715.6611,N,12157.6699,W,0.1,0.0,080710,,*2E $GPZDA,010054.00,08,07,2010,+00,00*41 $GPGGA,010055.00,3715.6611,N,12157.6689,W,,11,0.8,86.2,M,-30.1,M,,*56 $GPRMC,010055.00,A,3715.6611,N,12157.6689,W,0.1,0.0,080710,,*2E $GPZDA,010055.00,08,07,2010,+00,00*40 $GPGGA,010056.00,3715.6611,N,12157.6689,W,,11,0.8,86.4,M,-30.1,M,,*53 $GPRMC,010056.00,A,3715.6611,N,12157.6689,W,0.1,0.0,080710,,*2D $GPZDA,010056.00,08,07,2010,+00,00*43 $GPGGA,010057.00,3715.6614,N,12157.6689,W,,11,0.8,86.6,M,-30.1,M,,*55 $GPRMC,010057.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*28 $GPZDA,010057.00,08,07,2010,+00,00*42 $GPGGA,010058.00,3715.6614,N,12157.6689,W,,11,0.8,86.7,M,-30.1,M,,*5B $GPRMC,010058.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*27 $GPZDA,010058.00,08,07,2010,+00,00*4D $GPGGA,010059.00,3715.6614,N,12157.6689,W,,11,0.8,86.7,M,-30.1,M,,*5A $GPRMC,010059.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*26 $GPZDA,010059.00,08,07,2010,+00,00*4C $GPGGA,010100.00,3715.6614,N,12157.6689,W,,11,0.8,86.7,M,-30.1,M,,*57 $GPRMC,010100.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*2B $GPZDA,010100.00,08,07,2010,+00,00*41 $GPGGA,010101.00,3715.6614,N,12157.6689,W,,11,0.8,86.7,M,-30.1,M,,*56 $GPRMC,010101.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*2A $GPZDA,010101.00,08,07,2010,+00,00*40 $GPGGA,010102.00,3715.6614,N,12157.6689,W,,11,0.8,86.7,M,-30.1,M,,*55 $GPRMC,010102.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*29 $GPZDA,010102.00,08,07,2010,+00,00*43 $GPGGA,010103.00,3715.6614,N,12157.6689,W,,11,0.8,86.7,M,-30.1,M,,*54 $GPRMC,010103.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*28 $GPZDA,010103.00,08,07,2010,+00,00*42 $GPGGA,010104.00,3715.6614,N,12157.6689,W,,11,0.8,86.7,M,-30.1,M,,*53 $GPRMC,010104.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*2F $GPZDA,010104.00,08,07,2010,+00,00*45 $GPGGA,010105.00,3715.6614,N,12157.6689,W,,11,0.8,86.7,M,-30.1,M,,*52 $GPRMC,010105.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*2E $GPZDA,010105.00,08,07,2010,+00,00*44 $GPGGA,010106.00,3715.6614,N,12157.6689,W,,11,0.8,86.7,M,-30.1,M,,*51 $GPRMC,010106.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*2D $GPZDA,010106.00,08,07,2010,+00,00*47 $GPGGA,010107.00,3715.6614,N,12157.6689,W,,11,0.8,86.7,M,-30.1,M,,*50 $GPRMC,010107.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*2C $GPZDA,010107.00,08,07,2010,+00,00*46 gpsd-3.9/test/daemon/firefly-II.log.chk0000664000175000017500000005052112135526306016126 0ustar esresr$GPRMC,005947.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*2F {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T00:59:47.000Z","ept":0.005,"lat":37.261026667,"lon":-121.961181667,"track":0.0000,"speed":0.000} $GPZDA,005947.00,08,07,2010,+00,00*4E $GPRMC,005948.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*20 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T00:59:48.000Z","ept":0.005,"lat":37.261026667,"lon":-121.961181667,"track":0.0000,"speed":0.000} $GPZDA,005948.00,08,07,2010,+00,00*41 $GPRMC,005949.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*21 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T00:59:49.000Z","ept":0.005,"lat":37.261026667,"lon":-121.961181667,"track":0.0000,"speed":0.000} $GPZDA,005949.00,08,07,2010,+00,00*40 $GPRMC,005950.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*29 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T00:59:50.000Z","ept":0.005,"lat":37.261026667,"lon":-121.961181667,"track":0.0000,"speed":0.000} $GPZDA,005950.00,08,07,2010,+00,00*48 $GPRMC,005951.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*28 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T00:59:51.000Z","ept":0.005,"lat":37.261026667,"lon":-121.961181667,"track":0.0000,"speed":0.000} $GPZDA,005951.00,08,07,2010,+00,00*49 $GPRMC,005952.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*2B {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T00:59:52.000Z","ept":0.005,"lat":37.261026667,"lon":-121.961181667,"track":0.0000,"speed":0.000} $GPZDA,005952.00,08,07,2010,+00,00*4A $GPRMC,005953.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*2A {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T00:59:53.000Z","ept":0.005,"lat":37.261026667,"lon":-121.961181667,"track":0.0000,"speed":0.000} $GPZDA,005953.00,08,07,2010,+00,00*4B $GPRMC,005954.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*2D {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T00:59:54.000Z","ept":0.005,"lat":37.261026667,"lon":-121.961181667,"track":0.0000,"speed":0.000} $GPZDA,005954.00,08,07,2010,+00,00*4C $GPRMC,005955.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*2C {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T00:59:55.000Z","ept":0.005,"lat":37.261026667,"lon":-121.961181667,"track":0.0000,"speed":0.000} $GPZDA,005955.00,08,07,2010,+00,00*4D $GPRMC,005956.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*2F {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T00:59:56.000Z","ept":0.005,"lat":37.261026667,"lon":-121.961181667,"track":0.0000,"speed":0.000} $GPZDA,005956.00,08,07,2010,+00,00*4E $GPRMC,005957.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*2E {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T00:59:57.000Z","ept":0.005,"lat":37.261026667,"lon":-121.961181667,"track":0.0000,"speed":0.000} $GPZDA,005957.00,08,07,2010,+00,00*4F $GPRMC,005958.00,A,3715.6616,N,12157.6709,W,0.0,0.0,080710,,*21 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T00:59:58.000Z","ept":0.005,"lat":37.261026667,"lon":-121.961181667,"track":0.0000,"speed":0.000} $GPZDA,005958.00,08,07,2010,+00,00*40 $GPRMC,005959.00,A,3715.6614,N,12157.6699,W,0.0,0.0,080710,,*2A {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T00:59:59.000Z","ept":0.005,"lat":37.261023333,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,005959.00,08,07,2010,+00,00*41 $GPRMC,010000.00,A,3715.6614,N,12157.6699,W,0.0,0.0,080710,,*2B {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:00.000Z","ept":0.005,"lat":37.261023333,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010000.00,08,07,2010,+00,00*40 $GPRMC,010001.00,A,3715.6614,N,12157.6699,W,0.0,0.0,080710,,*2A {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:01.000Z","ept":0.005,"lat":37.261023333,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010001.00,08,07,2010,+00,00*41 $GPRMC,010002.00,A,3715.6614,N,12157.6699,W,0.0,0.0,080710,,*29 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:02.000Z","ept":0.005,"lat":37.261023333,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010002.00,08,07,2010,+00,00*42 $GPRMC,010003.00,A,3715.6614,N,12157.6699,W,0.0,0.0,080710,,*28 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:03.000Z","ept":0.005,"lat":37.261023333,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010003.00,08,07,2010,+00,00*43 $GPRMC,010004.00,A,3715.6614,N,12157.6699,W,0.0,0.0,080710,,*2F {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:04.000Z","ept":0.005,"lat":37.261023333,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010004.00,08,07,2010,+00,00*44 $GPRMC,010005.00,A,3715.6614,N,12157.6699,W,0.0,0.0,080710,,*2E {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:05.000Z","ept":0.005,"lat":37.261023333,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010005.00,08,07,2010,+00,00*45 $GPRMC,010006.00,A,3715.6614,N,12157.6699,W,0.0,0.0,080710,,*2D {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:06.000Z","ept":0.005,"lat":37.261023333,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010006.00,08,07,2010,+00,00*46 $GPRMC,010007.00,A,3715.6614,N,12157.6699,W,0.0,0.0,080710,,*2C {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:07.000Z","ept":0.005,"lat":37.261023333,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010007.00,08,07,2010,+00,00*47 $GPRMC,010008.00,A,3715.6611,N,12157.6699,W,0.0,0.0,080710,,*26 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:08.000Z","ept":0.005,"lat":37.261018333,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010008.00,08,07,2010,+00,00*48 $GPRMC,010009.00,A,3715.6609,N,12157.6699,W,0.0,0.0,080710,,*2E {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:09.000Z","ept":0.005,"lat":37.261015000,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010009.00,08,07,2010,+00,00*49 $GPRMC,010010.00,A,3715.6609,N,12157.6699,W,0.0,0.0,080710,,*26 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:10.000Z","ept":0.005,"lat":37.261015000,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010010.00,08,07,2010,+00,00*41 $GPRMC,010011.00,A,3715.6606,N,12157.6699,W,0.0,0.0,080710,,*28 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:11.000Z","ept":0.005,"lat":37.261010000,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010011.00,08,07,2010,+00,00*40 $GPRMC,010012.00,A,3715.6606,N,12157.6699,W,0.0,0.0,080710,,*2B {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:12.000Z","ept":0.005,"lat":37.261010000,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010012.00,08,07,2010,+00,00*43 $GPRMC,010013.00,A,3715.6606,N,12157.6699,W,0.0,0.0,080710,,*2A {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:13.000Z","ept":0.005,"lat":37.261010000,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010013.00,08,07,2010,+00,00*42 $GPRMC,010014.00,A,3715.6606,N,12157.6699,W,0.0,0.0,080710,,*2D {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:14.000Z","ept":0.005,"lat":37.261010000,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010014.00,08,07,2010,+00,00*45 $GPRMC,010015.00,A,3715.6606,N,12157.6699,W,0.0,0.0,080710,,*2C {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:15.000Z","ept":0.005,"lat":37.261010000,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010015.00,08,07,2010,+00,00*44 $GPRMC,010016.00,A,3715.6606,N,12157.6699,W,0.0,0.0,080710,,*2F {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:16.000Z","ept":0.005,"lat":37.261010000,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010016.00,08,07,2010,+00,00*47 $GPRMC,010017.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2C {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:17.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010017.00,08,07,2010,+00,00*46 $GPRMC,010018.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*23 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:18.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010018.00,08,07,2010,+00,00*49 $GPRMC,010019.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*22 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:19.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010019.00,08,07,2010,+00,00*48 $GPRMC,010020.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*28 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:20.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010020.00,08,07,2010,+00,00*42 $GPRMC,010021.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*29 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:21.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010021.00,08,07,2010,+00,00*43 $GPRMC,010022.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2A {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:22.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010022.00,08,07,2010,+00,00*40 $GPRMC,010023.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2B {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:23.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010023.00,08,07,2010,+00,00*41 $GPRMC,010024.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2C {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:24.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010024.00,08,07,2010,+00,00*46 $GPRMC,010025.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2D {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:25.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010025.00,08,07,2010,+00,00*47 $GPRMC,010026.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2E {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:26.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010026.00,08,07,2010,+00,00*44 $GPRMC,010027.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2F {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:27.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010027.00,08,07,2010,+00,00*45 $GPRMC,010028.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*20 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:28.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010028.00,08,07,2010,+00,00*4A $GPRMC,010029.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*21 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:29.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010029.00,08,07,2010,+00,00*4B $GPRMC,010030.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*29 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:30.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010030.00,08,07,2010,+00,00*43 $GPRMC,010031.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*28 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:31.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010031.00,08,07,2010,+00,00*42 $GPRMC,010032.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2B {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:32.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010032.00,08,07,2010,+00,00*41 $GPRMC,010033.00,A,3715.6604,N,12157.6699,W,0.1,0.0,080710,,*2B {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:33.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.051} $GPZDA,010033.00,08,07,2010,+00,00*40 $GPRMC,010034.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2D {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:34.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010034.00,08,07,2010,+00,00*47 $GPRMC,010035.00,A,3715.6604,N,12157.6699,W,0.1,0.0,080710,,*2D {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:35.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.051} $GPZDA,010035.00,08,07,2010,+00,00*46 $GPRMC,010036.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2F {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:36.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010036.00,08,07,2010,+00,00*45 $GPRMC,010037.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2E {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:37.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010037.00,08,07,2010,+00,00*44 $GPRMC,010038.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*21 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:38.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010038.00,08,07,2010,+00,00*4B $GPRMC,010039.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*20 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:39.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010039.00,08,07,2010,+00,00*4A $GPRMC,010040.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2E {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:40.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010040.00,08,07,2010,+00,00*44 $GPRMC,010041.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2F {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:41.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010041.00,08,07,2010,+00,00*45 $GPRMC,010042.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2C {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:42.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010042.00,08,07,2010,+00,00*46 $GPRMC,010043.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2D {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:43.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010043.00,08,07,2010,+00,00*47 $GPRMC,010044.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2A {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:44.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010044.00,08,07,2010,+00,00*40 $GPRMC,010045.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*2B {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:45.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010045.00,08,07,2010,+00,00*41 $GPRMC,010046.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*28 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:46.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010046.00,08,07,2010,+00,00*42 $GPRMC,010047.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*29 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:47.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010047.00,08,07,2010,+00,00*43 $GPRMC,010048.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*26 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:48.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010048.00,08,07,2010,+00,00*4C $GPRMC,010049.00,A,3715.6604,N,12157.6699,W,0.0,0.0,080710,,*27 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:49.000Z","ept":0.005,"lat":37.261006667,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010049.00,08,07,2010,+00,00*4D $GPRMC,010050.00,A,3715.6609,N,12157.6699,W,0.0,0.0,080710,,*22 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:50.000Z","ept":0.005,"lat":37.261015000,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010050.00,08,07,2010,+00,00*45 $GPRMC,010051.00,A,3715.6609,N,12157.6699,W,0.0,0.0,080710,,*23 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:51.000Z","ept":0.005,"lat":37.261015000,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010051.00,08,07,2010,+00,00*44 $GPRMC,010052.00,A,3715.6611,N,12157.6699,W,0.0,0.0,080710,,*29 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:52.000Z","ept":0.005,"lat":37.261018333,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010052.00,08,07,2010,+00,00*47 $GPRMC,010053.00,A,3715.6611,N,12157.6699,W,0.0,0.0,080710,,*28 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:53.000Z","ept":0.005,"lat":37.261018333,"lon":-121.961165000,"track":0.0000,"speed":0.000} $GPZDA,010053.00,08,07,2010,+00,00*46 $GPRMC,010054.00,A,3715.6611,N,12157.6699,W,0.1,0.0,080710,,*2E {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:54.000Z","ept":0.005,"lat":37.261018333,"lon":-121.961165000,"track":0.0000,"speed":0.051} $GPZDA,010054.00,08,07,2010,+00,00*41 $GPRMC,010055.00,A,3715.6611,N,12157.6689,W,0.1,0.0,080710,,*2E {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:55.000Z","ept":0.005,"lat":37.261018333,"lon":-121.961148333,"track":0.0000,"speed":0.051} $GPZDA,010055.00,08,07,2010,+00,00*40 $GPRMC,010056.00,A,3715.6611,N,12157.6689,W,0.1,0.0,080710,,*2D {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:56.000Z","ept":0.005,"lat":37.261018333,"lon":-121.961148333,"track":0.0000,"speed":0.051} $GPZDA,010056.00,08,07,2010,+00,00*43 $GPRMC,010057.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*28 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:57.000Z","ept":0.005,"lat":37.261023333,"lon":-121.961148333,"track":0.0000,"speed":0.000} $GPZDA,010057.00,08,07,2010,+00,00*42 $GPRMC,010058.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*27 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:58.000Z","ept":0.005,"lat":37.261023333,"lon":-121.961148333,"track":0.0000,"speed":0.000} $GPZDA,010058.00,08,07,2010,+00,00*4D $GPRMC,010059.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*26 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:00:59.000Z","ept":0.005,"lat":37.261023333,"lon":-121.961148333,"track":0.0000,"speed":0.000} $GPZDA,010059.00,08,07,2010,+00,00*4C $GPRMC,010100.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*2B {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:01:00.000Z","ept":0.005,"lat":37.261023333,"lon":-121.961148333,"track":0.0000,"speed":0.000} $GPZDA,010100.00,08,07,2010,+00,00*41 $GPRMC,010101.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*2A {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:01:01.000Z","ept":0.005,"lat":37.261023333,"lon":-121.961148333,"track":0.0000,"speed":0.000} $GPZDA,010101.00,08,07,2010,+00,00*40 $GPRMC,010102.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*29 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:01:02.000Z","ept":0.005,"lat":37.261023333,"lon":-121.961148333,"track":0.0000,"speed":0.000} $GPZDA,010102.00,08,07,2010,+00,00*43 $GPRMC,010103.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*28 {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:01:03.000Z","ept":0.005,"lat":37.261023333,"lon":-121.961148333,"track":0.0000,"speed":0.000} $GPZDA,010103.00,08,07,2010,+00,00*42 $GPRMC,010104.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*2F {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:01:04.000Z","ept":0.005,"lat":37.261023333,"lon":-121.961148333,"track":0.0000,"speed":0.000} $GPZDA,010104.00,08,07,2010,+00,00*45 $GPRMC,010105.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*2E {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:01:05.000Z","ept":0.005,"lat":37.261023333,"lon":-121.961148333,"track":0.0000,"speed":0.000} $GPZDA,010105.00,08,07,2010,+00,00*44 $GPRMC,010106.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*2D {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:01:06.000Z","ept":0.005,"lat":37.261023333,"lon":-121.961148333,"track":0.0000,"speed":0.000} $GPZDA,010106.00,08,07,2010,+00,00*47 $GPRMC,010107.00,A,3715.6614,N,12157.6689,W,0.0,0.0,080710,,*2C {"class":"TPV","tag":"RMC","mode":2,"time":"2010-07-08T01:01:07.000Z","ept":0.005,"lat":37.261023333,"lon":-121.961148333,"track":0.0000,"speed":0.000} $GPZDA,010107.00,08,07,2010,+00,00*46 gpsd-3.9/test/daemon/foretrex-201.log0000664000175000017500000007275611762140436015600 0ustar esresr# Name: Garmin Foretrex 201 # Description: A small GPS meant to be worn like a wristwatch # Submitter: Anders Lund # Date: 2010-08-26 # Location: 55.04N 10.25E, UlbÞlle, Denmark # Notes: The device was just lying in the window, I used # gpscat to sample. The sample was done twice, to get some sentences # including a fix as well. $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,47,153,00,08,06,303,00,11,16,273,00*73 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,47,153,00,08,06,303,00,11,16,273,00*73 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,47,153,00,08,06,303,00,11,16,273,00*73 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,47,153,00,08,06,303,00,11,16,273,00*73 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,16,273,00*72 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,16,273,00*72 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,16,273,00*72 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,16,273,00*72 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,16,273,00*72 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,16,273,00*72 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,16,273,00*72 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,16,273,00*72 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,16,273,00*72 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,16,273,00*72 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,260,00,22,57,082,00*75 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,260,00,22,57,082,00*75 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,260,00,22,57,082,00*75 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,260,00,22,57,082,00*75 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,260,00,22,57,082,00*75 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,260,00,22,57,082,00*75 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,260,00,22,57,082,00*75 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,260,00,22,57,082,00*75 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,57,082,00*71 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,57,082,00*71 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,57,082,00*71 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,57,082,00*71 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,57,082,00*71 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,329,00,33,23,211,00,37,26,166,00*7A $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,329,00,33,23,211,00,37,26,166,00*7A $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,329,00,33,23,211,00,37,26,166,00*7A $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,329,00,33,23,211,00,37,26,166,00*7A $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,329,00,33,23,211,00,37,26,166,00*7A $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,329,00,33,23,211,00,37,26,166,00*7A $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,329,00,33,23,211,00,37,26,166,00*7A $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,329,00,33,23,211,00,37,26,166,00*7A $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,00,37,26,166,00*7B $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,00,37,26,166,00*7B $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,39,37,26,166,00*71 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,39,37,26,166,00*71 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,00*77 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,40,37,26,166,00*7F $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,00*77 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,39,37,26,166,00*71 $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,40*73 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,40,37,26,166,00*7F $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,41*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,40,37,26,166,00*7F $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,41*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,40,37,26,166,00*7F $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,41*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,40,37,26,166,00*7F $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,41*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,41,37,26,166,00*7E $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,41*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,40,37,26,166,00*7F $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,45,06,46,153,00,08,06,303,00,11,17,274,00*75 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,41*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,40,37,26,166,00*7F $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,56,170,45,06,46,153,00,08,06,303,00,11,17,274,00*75 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,41*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,41,37,26,166,00*7E $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,56,170,44,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,41*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,41,37,26,166,00*7E $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 4.4343,N,01025.5386,E,200002,A,D*48 $GPBOD,,T,,M,,*47 $PGRME,19.9,M,50.0,M,53.8,M*14 $PGRMZ,-30,f,2*04 $GPRTE,1,1,c,*37 $GPRMC,200004,A,5504.4343,N,01025.5386,E,0.0,0.0,260810,1.0,E,D*1E $GPRMB,A,,,,,,,,,,,,A,D*0E $GPGGA,200004,5504.4343,N,01025.5386,E,2,03,2.5,-9.1,M,43.9,M,,*62 $GPGSA,A,2,06,,,,,,19,22,,,,,2.7,2.5,1.0*3E $GPGSV,3,1,12,06,43,153,43,08,05,301,00,11,19,274,00,14,18,127,00*77 $GPGSV,3,2,12,15,01,013,00,18,25,053,00,19,75,249,43,22,55,078,32*78 $GPGSV,3,3,12,24,83,092,00,28,17,327,00,33,23,211,42,37,26,166,42*74 $GPGLL,5504.4343,N,01025.5386,E,200004,A,D*4E $GPBOD,,T,,M,,*47 $PGRME,19.9,M,50.0,M,53.8,M*14 $PGRMZ,-30,f,2*04 $GPRTE,1,1,c,*37 $GPRMC,200006,A,5504.4343,N,01025.5386,E,0.0,0.0,260810,1.0,E,D*1C $GPRMB,A,,,,,,,,,,,,A,D*0E $GPGGA,200006,5504.4343,N,01025.5386,E,2,03,2.5,-9.1,M,43.9,M,,*60 $GPGSA,A,2,06,,,,,,19,22,,,,,2.7,2.5,1.0*3E $GPGSV,3,1,12,06,43,153,43,08,05,301,00,11,19,274,00,14,18,127,00*77 $GPGSV,3,2,12,15,01,013,00,18,25,053,00,19,75,249,43,22,55,078,31*7B $GPGSV,3,3,12,24,83,092,00,28,17,327,00,33,23,211,42,37,26,166,42*74 $GPGLL,5504.4343,N,01025.5386,E,200006,A,D*4C $GPBOD,,T,,M,,*47 $PGRME,19.9,M,50.0,M,53.8,M*14 $PGRMZ,-30,f,2*04 $GPRTE,1,1,c,*37 $GPRMC,200008,A,5504.4344,N,01025.5385,E,0.0,0.0,260810,1.0,E,D*16 $GPRMB,A,,,,,,,,,,,,A,D*0E $GPGGA,200008,5504.4344,N,01025.5385,E,2,03,2.5,-9.1,M,43.9,M,,*6A $GPGSA,A,2,06,,,,,,19,22,,,,,2.7,2.5,1.0*3E $GPGSV,3,1,12,06,43,153,44,08,04,301,00,11,19,274,00,14,18,127,00*71 $GPGSV,3,2,12,15,01,013,00,18,25,053,00,19,75,249,43,22,55,078,31*7B $GPGSV,3,3,12,24,83,092,00,28,17,327,00,33,23,211,42,37,26,166,42*74 $GPGLL,5504.4344,N,01025.5385,E,200008,A,D*46 $GPBOD,,T,,M,,*47 $PGRME,19.9,M,50.0,M,53.8,M*14 $PGRMZ,-30,f,2*04 $GPRTE,1,1,c,*37 $GPRMC,200010,A,5504.4344,N,01025.5385,E,0.0,0.0,260810,1.0,E,D*1F $GPRMB,A,,,,,,,,,,,,A,D*0E $GPGGA,200010,5504.4344,N,01025.5385,E,2,00,2.5,-9.1,M,43.9,M,,*60 $GPGSA,A,2,,,,,,,,,,,,,2.7,2.5,1.0*30 $GPGSV,3,1,12,06,43,153,44,08,04,301,00,11,19,274,00,14,18,127,00*71 $GPGSV,3,2,12,15,01,013,00,18,25,053,00,19,75,249,43,22,55,078,31*7B $GPGSV,3,3,12,24,83,092,00,28,17,327,00,33,23,211,42,37,26,166,42*74 $GPGLL,5504.4344,N,01025.5385,E,200010,A,D*4F $GPBOD,,T,,M,,*47 $PGRME,19.9,M,50.0,M,53.8,M*14 $PGRMZ,-30,f,2*04 $GPRTE,1,1,c,*37 $GPRMC,200012,A,5504.4344,N,01025.5385,E,0.0,0.0,260810,1.0,E,D*1D $GPRMB,A,,,,,,,,,,,,A,D*0E $GPGGA,200012,5504.4344,N,01025.5385,E,2,00,2.5,-9.1,M,43.9,M,,*62 $GPGSA,A,2,,,,,,,,,,,,,2.7,2.5,1.0*30 $GPGSV,3,1,12,06,43,153,44,08,04,301,00,11,19,274,00,14,18,127,00*71 $GPGSV,3,2,12,15,01,013,00,18,25,053,00,19,75,249,43,22,55,078,31*7B $GPGSV,3,3,12,24,83,092,00,28,17,327,00,33,23,211,42,37,26,166,42*74 $GPGLL,5504.4344,N,01025.5385,E,200012,A,D*4D $GPBOD,,T,,M,,*47 $PGRME,19.9,M,50.0,M,53.8,M*14 $PGRMZ,-30,f,2*04 $GPRTE,1,1,c,*37 $GPRMC,200014,A,5504.4344,N,01025.5384,E,0.0,0.0,260810,1.0,E,D*1A $GPRMB,A,,,,,,,,,,,,A,D*0E $GPGGA,200014,5504.4344,N,01025.5384,E,2,00,2.5,-9.1,M,43.9,M,,*65 $GPGSA,A,2,,,,,,,,,,,,,2.7,2.5,1.0*30 $GPGSV,3,1,12,06,43,153,44,08,04,301,00,11,19,274,00,14,18,127,00*71 $GPGSV,3,2,12,15,01,013,00,18,25,053,00,19,75,249,43,22,55,078,31*7B $GPGSV,3,3,12,24,83,092,00,28,17,327,00,33,23,211,42,37,26,166,42*74 $GPGLL,5504.4344,N,01025.5384,E,200014,A,D*4A $GPBOD,,T,,M,,*47 $PGRME,19.9,M,50.0,M,53.8,M*14 $PGRMZ,-30,f,2*04 $GPRTE,1,1,c,*37 $GPRMC,200016,A,5504.4344,N,01025.5384,E,0.0,0.0,260810,1.0,E,D*18 $GPRMB,A,,,,,,,,,,,,A,D*0E $GPGGA,200016,5504.4344,N,01025.5384,E,2,00,2.5,-9.1,M,43.9,M,,*67 $GPGSA,A,2,,,,,,,,,,,,,2.7,2.5,1.0*30 $GPGSV,3,1,12,06,43,153,44,08,04,301,00,11,19,274,00,14,18,127,00*71 $GPGSV,3,2,12,15,01,013,00,18,25,053,00,19,75,249,43,22,55,078,31*7B $GPGSV,3,3,12,24,83 gpsd-3.9/test/daemon/foretrex-201.log.chk0000664000175000017500000021563212135526310016326 0ustar esresr$PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,47,153,00,08,06,303,00,11,16,273,00*73 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":47,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":16,"az":273,"ss":0,"used":false},{"PRN":15,"el":3,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,47,153,00,08,06,303,00,11,16,273,00*73 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":47,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":16,"az":273,"ss":0,"used":false},{"PRN":15,"el":3,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,47,153,00,08,06,303,00,11,16,273,00*73 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":47,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":16,"az":273,"ss":0,"used":false},{"PRN":15,"el":3,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,47,153,00,08,06,303,00,11,16,273,00*73 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":47,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":16,"az":273,"ss":0,"used":false},{"PRN":15,"el":3,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,16,273,00*72 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":16,"az":273,"ss":0,"used":false},{"PRN":15,"el":3,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,16,273,00*72 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":16,"az":273,"ss":0,"used":false},{"PRN":15,"el":3,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,16,273,00*72 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":16,"az":273,"ss":0,"used":false},{"PRN":15,"el":3,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,16,273,00*72 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":16,"az":273,"ss":0,"used":false},{"PRN":15,"el":3,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,16,273,00*72 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":16,"az":273,"ss":0,"used":false},{"PRN":15,"el":3,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,16,273,00*72 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":16,"az":273,"ss":0,"used":false},{"PRN":15,"el":3,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,16,273,00*72 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":16,"az":273,"ss":0,"used":false},{"PRN":15,"el":3,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,16,273,00*72 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":16,"az":273,"ss":0,"used":false},{"PRN":15,"el":3,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,16,273,00*72 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":16,"az":273,"ss":0,"used":false},{"PRN":15,"el":3,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,16,273,00*72 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":16,"az":273,"ss":0,"used":false},{"PRN":15,"el":3,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":3,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":3,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":3,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":3,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":3,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":3,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,03,014,00,18,27,053,00,19,74,260,00,22,57,082,00*74 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":3,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,260,00,22,57,082,00*75 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,260,00,22,57,082,00*75 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,260,00,22,57,082,00*75 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,260,00,22,57,082,00*75 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,260,00,22,57,082,00*75 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,260,00,22,57,082,00*75 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,260,00,22,57,082,00*75 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,260,00,22,57,082,00*75 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":260,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,57,082,00*71 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,57,082,00*71 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,57,082,00*71 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,57,082,00*71 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,57,082,00*71 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":0,"used":false},{"PRN":22,"el":57,"az":82,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":0,"used":false},{"PRN":22,"el":56,"az":80,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":0,"used":false},{"PRN":22,"el":56,"az":80,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":0,"used":false},{"PRN":22,"el":56,"az":80,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,099,00,28,15,329,00,33,23,211,00,37,26,166,00*75 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":0,"used":false},{"PRN":22,"el":56,"az":80,"ss":0,"used":false},{"PRN":24,"el":85,"az":99,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,329,00,33,23,211,00,37,26,166,00*7A {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":0,"used":false},{"PRN":22,"el":56,"az":80,"ss":0,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,329,00,33,23,211,00,37,26,166,00*7A {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":0,"used":false},{"PRN":22,"el":56,"az":80,"ss":0,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,329,00,33,23,211,00,37,26,166,00*7A {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":0,"used":false},{"PRN":22,"el":56,"az":80,"ss":0,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,329,00,33,23,211,00,37,26,166,00*7A {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":0,"used":false},{"PRN":22,"el":56,"az":80,"ss":0,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,329,00,33,23,211,00,37,26,166,00*7A {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":0,"used":false},{"PRN":22,"el":56,"az":80,"ss":0,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,329,00,33,23,211,00,37,26,166,00*7A {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":0,"used":false},{"PRN":22,"el":56,"az":80,"ss":0,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,329,00,33,23,211,00,37,26,166,00*7A {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":0,"used":false},{"PRN":22,"el":56,"az":80,"ss":0,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,329,00,33,23,211,00,37,26,166,00*7A {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":0,"used":false},{"PRN":22,"el":56,"az":80,"ss":0,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":329,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,00,37,26,166,00*7B {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":0,"used":false},{"PRN":22,"el":56,"az":80,"ss":0,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":328,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,00,37,26,166,00*7B {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":0,"used":false},{"PRN":22,"el":56,"az":80,"ss":0,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":328,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":0,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,39,37,26,166,00*71 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":0,"used":false},{"PRN":22,"el":56,"az":80,"ss":0,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":328,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":39,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,00,22,56,080,00*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,39,37,26,166,00*71 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":0,"used":false},{"PRN":22,"el":56,"az":80,"ss":0,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":328,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":39,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,00*77 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,40,37,26,166,00*7F {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":41,"used":false},{"PRN":22,"el":56,"az":80,"ss":0,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":328,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":40,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,00*77 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,39,37,26,166,00*71 {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":41,"used":false},{"PRN":22,"el":56,"az":80,"ss":0,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":328,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":39,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,40*73 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,40,37,26,166,00*7F {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":41,"used":false},{"PRN":22,"el":56,"az":80,"ss":40,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":328,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":40,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,41*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,40,37,26,166,00*7F {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":41,"used":false},{"PRN":22,"el":56,"az":80,"ss":41,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":328,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":40,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,41*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,40,37,26,166,00*7F {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":41,"used":false},{"PRN":22,"el":56,"az":80,"ss":41,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":328,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":40,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,41*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,40,37,26,166,00*7F {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":41,"used":false},{"PRN":22,"el":56,"az":80,"ss":41,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":328,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":40,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,41*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,41,37,26,166,00*7E {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":41,"used":false},{"PRN":22,"el":56,"az":80,"ss":41,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":328,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":41,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,00,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,41*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,40,37,26,166,00*7F {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":0,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":41,"used":false},{"PRN":22,"el":56,"az":80,"ss":41,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":328,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":40,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,57,171,45,06,46,153,00,08,06,303,00,11,17,274,00*75 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,41*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,40,37,26,166,00*7F {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":57,"az":171,"ss":45,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":41,"used":false},{"PRN":22,"el":56,"az":80,"ss":41,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":328,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":40,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,56,170,45,06,46,153,00,08,06,303,00,11,17,274,00*75 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,41*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,41,37,26,166,00*7E {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":56,"az":170,"ss":45,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":41,"used":false},{"PRN":22,"el":56,"az":80,"ss":41,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":328,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":41,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPRMC,,V,,,,,,,260810,1.0,E,N*34 $GPRMB,V,,,,,,,,,,,,A,N*13 $GPGGA,,,,,,0,00,,,M,,M,,*66 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,03,56,170,44,06,46,153,00,08,06,303,00,11,17,274,00*74 $GPGSV,3,2,12,15,02,014,00,18,27,053,00,19,74,257,41,22,56,080,41*72 $GPGSV,3,3,12,24,85,096,00,28,15,328,00,33,23,211,41,37,26,166,00*7E {"class":"SKY","tag":"GSV","satellites":[{"PRN":3,"el":56,"az":170,"ss":44,"used":false},{"PRN":6,"el":46,"az":153,"ss":0,"used":false},{"PRN":8,"el":6,"az":303,"ss":0,"used":false},{"PRN":11,"el":17,"az":274,"ss":0,"used":false},{"PRN":15,"el":2,"az":14,"ss":0,"used":false},{"PRN":18,"el":27,"az":53,"ss":0,"used":false},{"PRN":19,"el":74,"az":257,"ss":41,"used":false},{"PRN":22,"el":56,"az":80,"ss":41,"used":false},{"PRN":24,"el":85,"az":96,"ss":0,"used":false},{"PRN":28,"el":15,"az":328,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":41,"used":false},{"PRN":124,"el":26,"az":166,"ss":0,"used":false}]} $GPGLL,,,,,,V,N*64 $GPBOD,,T,,M,,*47 $PGRME,,M,,M,,M*00 $PGRMZ,,f,1*29 $GPRTE,1,1,c,*37 $GPBOD,,T,,M,,*47 $PGRME,19.9,M,50.0,M,53.8,M*14 $PGRMZ,-30,f,2*04 $GPRTE,1,1,c,*37 $GPRMC,200004,A,5504.4343,N,01025.5386,E,0.0,0.0,260810,1.0,E,D*1E {"class":"TPV","tag":"RMC","mode":2,"time":"2010-08-26T20:00:04.000Z","ept":0.005,"lat":55.073905000,"lon":10.425643333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,A,D*0E $GPGGA,200004,5504.4343,N,01025.5386,E,2,03,2.5,-9.1,M,43.9,M,,*62 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-08-26T20:00:04.000Z","ept":0.005,"lat":55.073905000,"lon":10.425643333,"alt":-9.100,"track":0.0000,"speed":0.000} $GPGSA,A,2,06,,,,,,19,22,,,,,2.7,2.5,1.0*3E $GPGSV,3,1,12,06,43,153,43,08,05,301,00,11,19,274,00,14,18,127,00*77 $GPGSV,3,2,12,15,01,013,00,18,25,053,00,19,75,249,43,22,55,078,32*78 $GPGSV,3,3,12,24,83,092,00,28,17,327,00,33,23,211,42,37,26,166,42*74 {"class":"SKY","tag":"GSV","vdop":1.00,"hdop":2.50,"pdop":2.70,"satellites":[{"PRN":6,"el":43,"az":153,"ss":43,"used":true},{"PRN":8,"el":5,"az":301,"ss":0,"used":false},{"PRN":11,"el":19,"az":274,"ss":0,"used":false},{"PRN":14,"el":18,"az":127,"ss":0,"used":false},{"PRN":15,"el":1,"az":13,"ss":0,"used":false},{"PRN":18,"el":25,"az":53,"ss":0,"used":false},{"PRN":19,"el":75,"az":249,"ss":43,"used":true},{"PRN":22,"el":55,"az":78,"ss":32,"used":true},{"PRN":24,"el":83,"az":92,"ss":0,"used":false},{"PRN":28,"el":17,"az":327,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":42,"used":false},{"PRN":124,"el":26,"az":166,"ss":42,"used":false}]} $GPGLL,5504.4343,N,01025.5386,E,200004,A,D*4E {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-26T20:00:04.000Z","ept":0.005,"lat":55.073905000,"lon":10.425643333,"alt":-9.100,"epv":5.750,"track":0.0000,"speed":0.000,"climb":0.000} $GPBOD,,T,,M,,*47 $PGRME,19.9,M,50.0,M,53.8,M*14 $PGRMZ,-30,f,2*04 $GPRTE,1,1,c,*37 $GPRMC,200006,A,5504.4343,N,01025.5386,E,0.0,0.0,260810,1.0,E,D*1C $GPRMB,A,,,,,,,,,,,,A,D*0E $GPGGA,200006,5504.4343,N,01025.5386,E,2,03,2.5,-9.1,M,43.9,M,,*60 $GPGSA,A,2,06,,,,,,19,22,,,,,2.7,2.5,1.0*3E $GPGSV,3,1,12,06,43,153,43,08,05,301,00,11,19,274,00,14,18,127,00*77 $GPGSV,3,2,12,15,01,013,00,18,25,053,00,19,75,249,43,22,55,078,31*7B $GPGSV,3,3,12,24,83,092,00,28,17,327,00,33,23,211,42,37,26,166,42*74 {"class":"SKY","tag":"GSV","vdop":1.00,"hdop":2.50,"pdop":2.70,"satellites":[{"PRN":6,"el":43,"az":153,"ss":43,"used":true},{"PRN":8,"el":5,"az":301,"ss":0,"used":false},{"PRN":11,"el":19,"az":274,"ss":0,"used":false},{"PRN":14,"el":18,"az":127,"ss":0,"used":false},{"PRN":15,"el":1,"az":13,"ss":0,"used":false},{"PRN":18,"el":25,"az":53,"ss":0,"used":false},{"PRN":19,"el":75,"az":249,"ss":43,"used":true},{"PRN":22,"el":55,"az":78,"ss":31,"used":true},{"PRN":24,"el":83,"az":92,"ss":0,"used":false},{"PRN":28,"el":17,"az":327,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":42,"used":false},{"PRN":124,"el":26,"az":166,"ss":42,"used":false}]} $GPGLL,5504.4343,N,01025.5386,E,200006,A,D*4C {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-26T20:00:06.000Z","ept":0.005,"lat":55.073905000,"lon":10.425643333,"alt":-9.100,"epv":5.750,"track":0.0000,"speed":0.000,"climb":0.000} $GPBOD,,T,,M,,*47 $PGRME,19.9,M,50.0,M,53.8,M*14 $PGRMZ,-30,f,2*04 $GPRTE,1,1,c,*37 $GPRMC,200008,A,5504.4344,N,01025.5385,E,0.0,0.0,260810,1.0,E,D*16 $GPRMB,A,,,,,,,,,,,,A,D*0E $GPGGA,200008,5504.4344,N,01025.5385,E,2,03,2.5,-9.1,M,43.9,M,,*6A $GPGSA,A,2,06,,,,,,19,22,,,,,2.7,2.5,1.0*3E $GPGSV,3,1,12,06,43,153,44,08,04,301,00,11,19,274,00,14,18,127,00*71 $GPGSV,3,2,12,15,01,013,00,18,25,053,00,19,75,249,43,22,55,078,31*7B $GPGSV,3,3,12,24,83,092,00,28,17,327,00,33,23,211,42,37,26,166,42*74 {"class":"SKY","tag":"GSV","vdop":1.00,"hdop":2.50,"pdop":2.70,"satellites":[{"PRN":6,"el":43,"az":153,"ss":44,"used":true},{"PRN":8,"el":4,"az":301,"ss":0,"used":false},{"PRN":11,"el":19,"az":274,"ss":0,"used":false},{"PRN":14,"el":18,"az":127,"ss":0,"used":false},{"PRN":15,"el":1,"az":13,"ss":0,"used":false},{"PRN":18,"el":25,"az":53,"ss":0,"used":false},{"PRN":19,"el":75,"az":249,"ss":43,"used":true},{"PRN":22,"el":55,"az":78,"ss":31,"used":true},{"PRN":24,"el":83,"az":92,"ss":0,"used":false},{"PRN":28,"el":17,"az":327,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":42,"used":false},{"PRN":124,"el":26,"az":166,"ss":42,"used":false}]} $GPGLL,5504.4344,N,01025.5385,E,200008,A,D*46 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-26T20:00:08.000Z","ept":0.005,"lat":55.073906667,"lon":10.425641667,"alt":-9.100,"epv":5.750,"track":0.0000,"speed":0.000,"climb":0.000} $GPBOD,,T,,M,,*47 $PGRME,19.9,M,50.0,M,53.8,M*14 $PGRMZ,-30,f,2*04 $GPRTE,1,1,c,*37 $GPRMC,200010,A,5504.4344,N,01025.5385,E,0.0,0.0,260810,1.0,E,D*1F $GPRMB,A,,,,,,,,,,,,A,D*0E $GPGGA,200010,5504.4344,N,01025.5385,E,2,00,2.5,-9.1,M,43.9,M,,*60 $GPGSA,A,2,,,,,,,,,,,,,2.7,2.5,1.0*30 $GPGSV,3,1,12,06,43,153,44,08,04,301,00,11,19,274,00,14,18,127,00*71 $GPGSV,3,2,12,15,01,013,00,18,25,053,00,19,75,249,43,22,55,078,31*7B $GPGSV,3,3,12,24,83,092,00,28,17,327,00,33,23,211,42,37,26,166,42*74 {"class":"SKY","tag":"GSV","vdop":1.00,"hdop":2.50,"pdop":2.70,"satellites":[{"PRN":6,"el":43,"az":153,"ss":44,"used":false},{"PRN":8,"el":4,"az":301,"ss":0,"used":false},{"PRN":11,"el":19,"az":274,"ss":0,"used":false},{"PRN":14,"el":18,"az":127,"ss":0,"used":false},{"PRN":15,"el":1,"az":13,"ss":0,"used":false},{"PRN":18,"el":25,"az":53,"ss":0,"used":false},{"PRN":19,"el":75,"az":249,"ss":43,"used":false},{"PRN":22,"el":55,"az":78,"ss":31,"used":false},{"PRN":24,"el":83,"az":92,"ss":0,"used":false},{"PRN":28,"el":17,"az":327,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":42,"used":false},{"PRN":124,"el":26,"az":166,"ss":42,"used":false}]} $GPGLL,5504.4344,N,01025.5385,E,200010,A,D*4F {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-26T20:00:10.000Z","ept":0.005,"lat":55.073906667,"lon":10.425641667,"alt":-9.100,"epv":5.750,"track":0.0000,"speed":0.000,"climb":0.000} $GPBOD,,T,,M,,*47 $PGRME,19.9,M,50.0,M,53.8,M*14 $PGRMZ,-30,f,2*04 $GPRTE,1,1,c,*37 $GPRMC,200012,A,5504.4344,N,01025.5385,E,0.0,0.0,260810,1.0,E,D*1D $GPRMB,A,,,,,,,,,,,,A,D*0E $GPGGA,200012,5504.4344,N,01025.5385,E,2,00,2.5,-9.1,M,43.9,M,,*62 $GPGSA,A,2,,,,,,,,,,,,,2.7,2.5,1.0*30 $GPGSV,3,1,12,06,43,153,44,08,04,301,00,11,19,274,00,14,18,127,00*71 $GPGSV,3,2,12,15,01,013,00,18,25,053,00,19,75,249,43,22,55,078,31*7B $GPGSV,3,3,12,24,83,092,00,28,17,327,00,33,23,211,42,37,26,166,42*74 {"class":"SKY","tag":"GSV","vdop":1.00,"hdop":2.50,"pdop":2.70,"satellites":[{"PRN":6,"el":43,"az":153,"ss":44,"used":false},{"PRN":8,"el":4,"az":301,"ss":0,"used":false},{"PRN":11,"el":19,"az":274,"ss":0,"used":false},{"PRN":14,"el":18,"az":127,"ss":0,"used":false},{"PRN":15,"el":1,"az":13,"ss":0,"used":false},{"PRN":18,"el":25,"az":53,"ss":0,"used":false},{"PRN":19,"el":75,"az":249,"ss":43,"used":false},{"PRN":22,"el":55,"az":78,"ss":31,"used":false},{"PRN":24,"el":83,"az":92,"ss":0,"used":false},{"PRN":28,"el":17,"az":327,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":42,"used":false},{"PRN":124,"el":26,"az":166,"ss":42,"used":false}]} $GPGLL,5504.4344,N,01025.5385,E,200012,A,D*4D {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-26T20:00:12.000Z","ept":0.005,"lat":55.073906667,"lon":10.425641667,"alt":-9.100,"epv":5.750,"track":0.0000,"speed":0.000,"climb":0.000} $GPBOD,,T,,M,,*47 $PGRME,19.9,M,50.0,M,53.8,M*14 $PGRMZ,-30,f,2*04 $GPRTE,1,1,c,*37 $GPRMC,200014,A,5504.4344,N,01025.5384,E,0.0,0.0,260810,1.0,E,D*1A $GPRMB,A,,,,,,,,,,,,A,D*0E $GPGGA,200014,5504.4344,N,01025.5384,E,2,00,2.5,-9.1,M,43.9,M,,*65 $GPGSA,A,2,,,,,,,,,,,,,2.7,2.5,1.0*30 $GPGSV,3,1,12,06,43,153,44,08,04,301,00,11,19,274,00,14,18,127,00*71 $GPGSV,3,2,12,15,01,013,00,18,25,053,00,19,75,249,43,22,55,078,31*7B $GPGSV,3,3,12,24,83,092,00,28,17,327,00,33,23,211,42,37,26,166,42*74 {"class":"SKY","tag":"GSV","vdop":1.00,"hdop":2.50,"pdop":2.70,"satellites":[{"PRN":6,"el":43,"az":153,"ss":44,"used":false},{"PRN":8,"el":4,"az":301,"ss":0,"used":false},{"PRN":11,"el":19,"az":274,"ss":0,"used":false},{"PRN":14,"el":18,"az":127,"ss":0,"used":false},{"PRN":15,"el":1,"az":13,"ss":0,"used":false},{"PRN":18,"el":25,"az":53,"ss":0,"used":false},{"PRN":19,"el":75,"az":249,"ss":43,"used":false},{"PRN":22,"el":55,"az":78,"ss":31,"used":false},{"PRN":24,"el":83,"az":92,"ss":0,"used":false},{"PRN":28,"el":17,"az":327,"ss":0,"used":false},{"PRN":120,"el":23,"az":211,"ss":42,"used":false},{"PRN":124,"el":26,"az":166,"ss":42,"used":false}]} $GPGLL,5504.4344,N,01025.5384,E,200014,A,D*4A {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-26T20:00:14.000Z","ept":0.005,"lat":55.073906667,"lon":10.425640000,"alt":-9.100,"epv":5.750,"track":0.0000,"speed":0.000,"climb":0.000} $GPBOD,,T,,M,,*47 $PGRME,19.9,M,50.0,M,53.8,M*14 $PGRMZ,-30,f,2*04 $GPRTE,1,1,c,*37 $GPRMC,200016,A,5504.4344,N,01025.5384,E,0.0,0.0,260810,1.0,E,D*18 $GPRMB,A,,,,,,,,,,,,A,D*0E $GPGGA,200016,5504.4344,N,01025.5384,E,2,00,2.5,-9.1,M,43.9,M,,*67 $GPGSA,A,2,,,,,,,,,,,,,2.7,2.5,1.0*30 $GPGSV,3,1,12,06,43,153,44,08,04,301,00,11,19,274,00,14,18,127,00*71 $GPGSV,3,2,12,15,01,013,00,18,25,053,00,19,75,249,43,22,55,078,31*7B $GPGSV,3,3,12,24,83 gpsd-3.9/test/daemon/garmin-10x.log0000664000175000017500000003421611762140436015312 0ustar esresr# Name: Garmin Mobile 10 # Description: Garmin Mobile 10 for laptops # Submitter: David Ludlow # Date: 2010-07-18 # Location: Toledo, OH 41.7 N 83.6 W # # Notes: Device is moved between a marginal, indoors location # with a 3D fix to a location with no view of the sky (inside a grounded # computer case). $GPGGA,165006.000,4143.6052,N,08338.0775,W,1,06,1.5,203.5,M,-33.7,M,,0000*60 $GPGSA,A,3,31,16,29,23,20,32,,,,,,,2.8,1.5,2.4*36 $GPGSV,3,1,10,16,74,173,27,23,42,310,21,31,40,066,23,32,39,218,22*7F $GPGSV,3,2,10,20,38,248,21,13,16,310,,06,15,156,,29,15,048,16*7E $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165006.000,A,4143.6052,N,08338.0775,W,1.91,34.35,180710,,,A*49 $GPGGA,165007.000,4143.6058,N,08338.0778,W,1,06,1.5,204.3,M,-33.7,M,,0000*67 $GPGSA,A,3,31,16,29,23,20,32,,,,,,,2.8,1.5,2.4*36 $GPGSV,3,1,10,16,74,173,27,23,42,310,21,31,40,066,23,32,39,218,22*7F $GPGSV,3,2,10,20,38,248,21,13,16,310,,06,15,156,,29,15,048,16*7E $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165007.000,A,4143.6058,N,08338.0778,W,0.55,36.58,180710,,,A*4F $GPGGA,165008.000,4143.6059,N,08338.0786,W,1,06,1.5,204.1,M,-33.7,M,,0000*6A $GPGSA,A,3,31,16,29,23,20,32,,,,,,,2.8,1.5,2.4*36 $GPGSV,3,1,10,16,74,173,27,23,42,310,21,31,40,066,23,32,39,218,22*7F $GPGSV,3,2,10,20,38,248,21,13,16,310,,06,15,156,,29,15,048,16*7E $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165008.000,A,4143.6059,N,08338.0786,W,0.32,172.38,180710,,,A*76 $GPGGA,165009.000,4143.6058,N,08338.0787,W,1,03,7.2,203.9,M,-33.7,M,,0000*60 $GPGSA,A,2,31,16,29,,,,,,,,,,7.3,7.2,1.0*3D $GPGSV,3,1,10,16,74,173,20,23,42,310,17,31,40,066,18,32,39,218,15*71 $GPGSV,3,2,10,20,38,248,17,13,16,310,,06,15,156,,29,15,048,15*78 $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165009.000,A,4143.6058,N,08338.0787,W,0.60,231.03,180710,,,A*7C $GPGGA,165010.000,4143.6057,N,08338.0788,W,6,00,50.0,203.8,M,-33.7,M,,0000*5D $GPGSA,A,2,,,,,,,,,,,,,50.0,50.0,50.0*06 $GPGSV,3,1,10,16,74,173,09,23,42,310,07,31,40,066,13,32,39,218,07*73 $GPGSV,3,2,10,20,38,248,09,13,16,310,,06,15,156,,29,15,048,12*70 $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165010.000,V,4143.6057,N,08338.0788,W,0.60,231.03,180710,,,E*67 $GPGGA,165011.000,4143.6056,N,08338.0790,W,6,00,50.0,203.8,M,-33.7,M,,0000*54 $GPGSA,A,2,,,,,,,,,,,,,50.0,50.0,50.0*06 $GPGSV,3,1,10,16,74,173,08,23,42,310,,31,40,066,12,32,39,218,07*74 $GPGSV,3,2,10,20,38,248,08,13,16,310,,06,15,156,,29,15,048,08*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165011.000,V,4143.6056,N,08338.0790,W,0.60,231.03,180710,,,E*6E $GPGGA,165012.000,4143.6055,N,08338.0792,W,6,00,50.0,203.8,M,-33.7,M,,0000*56 $GPGSA,A,2,,,,,,,,,,,,,50.0,50.0,50.0*06 $GPGSV,3,1,10,16,74,173,09,23,42,310,,31,40,066,11,32,39,218,*71 $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165012.000,V,4143.6055,N,08338.0792,W,0.60,231.03,180710,,,E*6C $GPGGA,165013.000,4143.6054,N,08338.0794,W,6,00,50.0,203.8,M,-33.7,M,,0000*50 $GPGSA,A,2,,,,,,,,,,,,,50.0,50.0,50.0*06 $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,11,32,39,218,*78 $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165013.000,V,4143.6054,N,08338.0794,W,0.60,231.03,180710,,,E*6A $GPGGA,165014.000,4143.6053,N,08338.0795,W,6,00,50.0,203.8,M,-33.7,M,,0000*51 $GPGSA,A,2,,,,,,,,,,,,,50.0,50.0,50.0*06 $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,11,32,39,218,*78 $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165014.000,V,4143.6053,N,08338.0795,W,0.60,231.03,180710,,,E*6B $GPGGA,165015.000,4143.6052,N,08338.0797,W,6,00,50.0,203.8,M,-33.7,M,,0000*53 $GPGSA,A,2,,,,,,,,,,,,,50.0,50.0,50.0*06 $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,11,32,39,218,*78 $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165015.000,V,4143.6052,N,08338.0797,W,0.60,231.03,180710,,,E*69 $GPGGA,165016.000,4143.6051,N,08338.0799,W,6,00,50.0,203.8,M,-33.7,M,,0000*5D $GPGSA,A,2,,,,,,,,,,,,,50.0,50.0,50.0*06 $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,11,32,39,218,*78 $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165016.000,V,4143.6051,N,08338.0799,W,0.60,231.03,180710,,,E*67 $GPGGA,165017.000,4143.6050,N,08338.0801,W,6,00,50.0,203.8,M,-33.7,M,,0000*53 $GPGSA,A,2,,,,,,,,,,,,,50.0,50.0,50.0*06 $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,12,32,39,218,*7B $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165017.000,V,4143.6050,N,08338.0801,W,0.60,231.03,180710,,,E*69 $GPGGA,165018.000,4143.6049,N,08338.0802,W,6,00,50.0,203.8,M,-33.7,M,,0000*57 $GPGSA,A,2,,,,,,,,,,,,,50.0,50.0,50.0*06 $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,12,32,39,218,*7B $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165018.000,V,4143.6049,N,08338.0802,W,0.60,231.03,180710,,,E*6D $GPGGA,165019.000,,,,,0,00,,,M,0.0,M,,0000*5C $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,12,32,39,218,*7B $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165019.000,V,,,,,,,180710,,,N*48 $GPGGA,165020.000,,,,,0,00,,,M,0.0,M,,0000*56 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,12,32,39,218,*7B $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165020.000,V,,,,,,,180710,,,N*42 $GPGGA,165021.000,,,,,0,00,,,M,0.0,M,,0000*57 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,12,32,39,218,*7B $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165021.000,V,,,,,,,180710,,,N*43 $GPGGA,165022.000,,,,,0,00,,,M,0.0,M,,0000*54 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,12,32,39,218,*7B $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165022.000,V,,,,,,,180710,,,N*40 $GPGGA,165023.000,,,,,0,00,,,M,0.0,M,,0000*55 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,12,32,39,218,*7B $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165023.000,V,,,,,,,180710,,,N*41 $GPGGA,165024.000,,,,,0,00,,,M,0.0,M,,0000*52 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,13,32,39,218,*7A $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165024.000,V,,,,,,,180710,,,N*46 $GPGGA,165025.000,,,,,0,00,,,M,0.0,M,,0000*53 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,13,32,39,218,*7A $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165025.000,V,,,,,,,180710,,,N*47 $GPGGA,165026.000,,,,,0,00,,,M,0.0,M,,0000*50 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,13,32,39,218,*7A $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165026.000,V,,,,,,,180710,,,N*44 $GPGGA,165027.000,,,,,0,00,,,M,0.0,M,,0000*51 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,13,32,39,218,*7A $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165027.000,V,,,,,,,180710,,,N*45 $GPGGA,165028.000,,,,,0,00,,,M,0.0,M,,0000*5E $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,13,32,39,218,*7A $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165028.000,V,,,,,,,180710,,,N*4A $GPGGA,165029.000,,,,,0,00,,,M,0.0,M,,0000*5F $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,14,32,39,218,*7D $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165029.000,V,,,,,,,180710,,,N*4B $GPGGA,165030.000,,,,,0,00,,,M,0.0,M,,0000*57 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,13,32,39,218,*7A $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165030.000,V,,,,,,,180710,,,N*43 $GPGGA,165031.000,,,,,0,00,,,M,0.0,M,,0000*56 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,15,32,39,218,*7C $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165031.000,V,,,,,,,180710,,,N*42 $GPGGA,165032.000,,,,,0,00,,,M,0.0,M,,0000*55 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,15,32,39,218,*7C $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165032.000,V,,,,,,,180710,,,N*41 $PGRMT,GPS 10x Software v2.20 BT v2.50,,,,,,,*7F $GPGGA,165033.000,,,,,0,00,,,M,0.0,M,,0000*54 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,14,32,39,218,*7D $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165033.000,V,,,,,,,180710,,,N*40 $GPGGA,165034.000,,,,,0,00,,,M,0.0,M,,0000*53 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,15,32,39,218,*7C $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165034.000,V,,,,,,,180710,,,N*47 $GPGGA,165035.000,,,,,0,00,,,M,0.0,M,,0000*52 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,15,32,39,218,17*7A $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165035.000,V,,,,,,,180710,,,N*46 $GPGGA,165036.000,,,,,0,00,,,M,0.0,M,,0000*51 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,15,32,39,218,17*7A $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165036.000,V,,,,,,,180710,,,N*45 $GPGGA,165037.000,,,,,0,00,,,M,0.0,M,,0000*50 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,15,32,39,218,17*7A $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165037.000,V,,,,,,,180710,,,N*44 $GPGGA,165038.000,,,,,0,00,,,M,0.0,M,,0000*5F $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,15,32,39,218,16*7B $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165038.000,V,,,,,,,180710,,,N*4B $GPGGA,165039.000,,,,,0,00,,,M,0.0,M,,0000*5E $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,15,32,39,218,16*7B $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165039.000,V,,,,,,,180710,,,N*4A $GPGGA,165040.000,,,,,0,00,,,M,0.0,M,,0000*50 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,14,32,39,218,17*7B $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165040.000,V,,,,,,,180710,,,N*44 $GPGGA,165041.000,,,,,0,00,,,M,0.0,M,,0000*51 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,14,32,39,218,12*7E $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165041.000,V,,,,,,,180710,,,N*45 $GPGGA,165042.000,,,,,0,00,,,M,0.0,M,,0000*52 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,14,32,39,218,08*75 $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165042.000,V,,,,,,,180710,,,N*46 $GPGGA,165043.000,,,,,0,00,,,M,0.0,M,,0000*53 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,27,23,42,310,,31,40,066,16,32,39,218,07*7D $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165043.000,V,,,,,,,180710,,,N*47 $GPGGA,165044.000,4143.5985,N,08338.0820,W,1,03,2.2,204.1,M,-33.7,M,,0000*6B $GPGSA,A,2,31,23,16,,,,,,,,,,2.4,2.2,1.0*30 $GPGSV,3,1,10,16,74,173,26,23,42,310,21,31,40,066,23,32,39,218,*7E $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165044.000,A,4143.5985,N,08338.0820,W,0.00,,180710,,,A*66 $GPGGA,165045.000,4143.6024,N,08338.0864,W,1,04,2.0,183.5,M,-33.7,M,,0000*66 $GPGSA,A,3,31,23,16,20,,,,,,,,,4.6,2.0,4.2*32 $GPGSV,3,1,10,16,74,173,27,23,42,310,19,31,40,066,23,32,39,218,*74 $GPGSV,3,2,10,20,38,248,19,13,16,310,,06,15,156,,29,15,048,*72 $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165045.000,A,4143.6024,N,08338.0864,W,2.19,176.03,180710,,,A*71 $GPGGA,165046.000,4143.6110,N,08338.0897,W,1,05,1.5,200.1,M,-33.7,M,,0000*64 $GPGSA,A,3,31,23,16,20,32,,,,,,,,4.0,1.5,3.6*30 $GPGSV,3,1,10,16,74,173,27,23,42,310,21,31,40,066,24,32,39,218,24*7E $GPGSV,3,2,10,20,38,248,19,13,16,310,,06,15,156,,29,15,048,*72 $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165046.000,A,4143.6110,N,08338.0897,W,0.44,323.72,180710,,,A*76 $GPGGA,165047.000,4143.6116,N,08338.0889,W,1,05,1.5,219.6,M,-33.7,M,,0000*63 $GPGSA,A,3,31,23,16,20,32,,,,,,,,4.0,1.5,3.6*30 $GPGSV,3,1,10,16,74,173,28,23,42,310,19,31,40,066,25,32,39,218,21*7E $GPGSV,3,2,10,20,38,248,19,13,16,310,,06,15,156,,29,15,048,*72 $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165047.000,A,4143.6116,N,08338.0889,W,0.76,13.73,180710,,,A*4E $GPGGA,165048.000,4143.6118,N,08338.0890,W,1,05,1.5,210.3,M,-33.7,M,,0000*66 $GPGSA,A,3,31,23,16,20,32,,,,,,,,4.0,1.5,3.6*30 $GPGSV,3,1,10,16,74,173,27,23,42,310,18,31,40,066,25,32,39,218,23*72 $GPGSV,3,2,10,20,38,248,20,13,16,310,,06,15,156,,29,15,048,*78 $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165048.000,A,4143.6118,N,08338.0890,W,0.71,20.56,180710,,,A*47 $GPGGA,165049.000,4143.6110,N,08338.0882,W,1,05,1.5,212.3,M,-33.7,M,,0000*6E $GPGSA,A,3,31,23,16,20,32,,,,,,,,4.0,1.5,3.6*30 $GPGSV,3,1,10,16,74,173,27,23,42,310,19,31,40,066,24,32,39,218,23*72 $GPGSV,3,2,10,20,38,248,20,13,16,310,,06,15,156,,29,15,048,*78 $GPGSV,3,3,10,03,08,171,,14,06,129,*7D $GPRMC,165049.000,A,4143.6110,N,08338.0882,W,0.60,126.88,180710,,,A*79 gpsd-3.9/test/daemon/garmin-10x.log.chk0000664000175000017500000013224212135526312016050 0ustar esresr$GPGGA,165006.000,4143.6052,N,08338.0775,W,1,06,1.5,203.5,M,-33.7,M,,0000*60 {"class":"TPV","tag":"GGA","mode":3,"lat":41.726753333,"lon":-83.634625000,"alt":203.500} $GPGSA,A,3,31,16,29,23,20,32,,,,,,,2.8,1.5,2.4*36 {"class":"TPV","tag":"GSA","mode":3,"lat":41.726753333,"lon":-83.634625000,"alt":203.500,"epv":55.200} $GPGSV,3,1,10,16,74,173,27,23,42,310,21,31,40,066,23,32,39,218,22*7F $GPGSV,3,2,10,20,38,248,21,13,16,310,,06,15,156,,29,15,048,16*7E $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":2.40,"tdop":2.06,"hdop":1.50,"gdop":3.83,"pdop":2.80,"satellites":[{"PRN":16,"el":74,"az":173,"ss":27,"used":true},{"PRN":23,"el":42,"az":310,"ss":21,"used":true},{"PRN":31,"el":40,"az":66,"ss":23,"used":true},{"PRN":32,"el":39,"az":218,"ss":22,"used":true},{"PRN":20,"el":38,"az":248,"ss":21,"used":true},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":16,"used":true},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165006.000,A,4143.6052,N,08338.0775,W,1.91,34.35,180710,,,A*49 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-18T16:50:06.000Z","ept":0.005,"lat":41.726753333,"lon":-83.634625000,"alt":203.500,"epx":14.229,"epy":16.954,"epv":55.200,"track":34.3500,"speed":0.983} $GPGGA,165007.000,4143.6058,N,08338.0778,W,1,06,1.5,204.3,M,-33.7,M,,0000*67 $GPGSA,A,3,31,16,29,23,20,32,,,,,,,2.8,1.5,2.4*36 $GPGSV,3,1,10,16,74,173,27,23,42,310,21,31,40,066,23,32,39,218,22*7F $GPGSV,3,2,10,20,38,248,21,13,16,310,,06,15,156,,29,15,048,16*7E $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":2.40,"tdop":2.06,"hdop":1.50,"gdop":3.83,"pdop":2.80,"satellites":[{"PRN":16,"el":74,"az":173,"ss":27,"used":true},{"PRN":23,"el":42,"az":310,"ss":21,"used":true},{"PRN":31,"el":40,"az":66,"ss":23,"used":true},{"PRN":32,"el":39,"az":218,"ss":22,"used":true},{"PRN":20,"el":38,"az":248,"ss":21,"used":true},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":16,"used":true},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165007.000,A,4143.6058,N,08338.0778,W,0.55,36.58,180710,,,A*4F {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-18T16:50:07.000Z","ept":0.005,"lat":41.726763333,"lon":-83.634630000,"alt":204.300,"epx":14.229,"epy":16.954,"epv":55.200,"track":36.5800,"speed":0.283,"climb":0.800,"eps":33.91} $GPGGA,165008.000,4143.6059,N,08338.0786,W,1,06,1.5,204.1,M,-33.7,M,,0000*6A $GPGSA,A,3,31,16,29,23,20,32,,,,,,,2.8,1.5,2.4*36 $GPGSV,3,1,10,16,74,173,27,23,42,310,21,31,40,066,23,32,39,218,22*7F $GPGSV,3,2,10,20,38,248,21,13,16,310,,06,15,156,,29,15,048,16*7E $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":2.40,"tdop":2.06,"hdop":1.50,"gdop":3.83,"pdop":2.80,"satellites":[{"PRN":16,"el":74,"az":173,"ss":27,"used":true},{"PRN":23,"el":42,"az":310,"ss":21,"used":true},{"PRN":31,"el":40,"az":66,"ss":23,"used":true},{"PRN":32,"el":39,"az":218,"ss":22,"used":true},{"PRN":20,"el":38,"az":248,"ss":21,"used":true},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":16,"used":true},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165008.000,A,4143.6059,N,08338.0786,W,0.32,172.38,180710,,,A*76 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-18T16:50:08.000Z","ept":0.005,"lat":41.726765000,"lon":-83.634643333,"alt":204.100,"epx":14.229,"epy":16.954,"epv":55.200,"track":172.3800,"speed":0.165,"climb":-0.200,"eps":33.91} $GPGGA,165009.000,4143.6058,N,08338.0787,W,1,03,7.2,203.9,M,-33.7,M,,0000*60 $GPGSA,A,2,31,16,29,,,,,,,,,,7.3,7.2,1.0*3D $GPGSV,3,1,10,16,74,173,20,23,42,310,17,31,40,066,18,32,39,218,15*71 $GPGSV,3,2,10,20,38,248,17,13,16,310,,06,15,156,,29,15,048,15*78 $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":1.00,"tdop":2.06,"hdop":7.20,"gdop":3.83,"pdop":7.30,"satellites":[{"PRN":16,"el":74,"az":173,"ss":20,"used":true},{"PRN":23,"el":42,"az":310,"ss":17,"used":false},{"PRN":31,"el":40,"az":66,"ss":18,"used":true},{"PRN":32,"el":39,"az":218,"ss":15,"used":false},{"PRN":20,"el":38,"az":248,"ss":17,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":15,"used":true},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165009.000,A,4143.6058,N,08338.0787,W,0.60,231.03,180710,,,A*7C {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-18T16:50:09.000Z","ept":0.005,"lat":41.726763333,"lon":-83.634645000,"alt":203.900,"epx":14.229,"epy":16.954,"epv":55.200,"track":231.0300,"speed":0.309,"climb":-0.200,"eps":33.91} $GPGGA,165010.000,4143.6057,N,08338.0788,W,6,00,50.0,203.8,M,-33.7,M,,0000*5D $GPGSA,A,2,,,,,,,,,,,,,50.0,50.0,50.0*06 $GPGSV,3,1,10,16,74,173,09,23,42,310,07,31,40,066,13,32,39,218,07*73 $GPGSV,3,2,10,20,38,248,09,13,16,310,,06,15,156,,29,15,048,12*70 $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":50.00,"tdop":2.06,"hdop":50.00,"gdop":3.83,"pdop":50.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":9,"used":false},{"PRN":23,"el":42,"az":310,"ss":7,"used":false},{"PRN":31,"el":40,"az":66,"ss":13,"used":false},{"PRN":32,"el":39,"az":218,"ss":7,"used":false},{"PRN":20,"el":38,"az":248,"ss":9,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":12,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165010.000,V,4143.6057,N,08338.0788,W,0.60,231.03,180710,,,E*67 $GPGGA,165011.000,4143.6056,N,08338.0790,W,6,00,50.0,203.8,M,-33.7,M,,0000*54 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-07-18T16:50:11.000Z","ept":0.005,"lat":41.726760000,"lon":-83.634650000,"alt":203.800,"epx":14.229,"epy":16.954,"epv":1150.000,"speed":0.333,"climb":0.000,"eps":33.91} $GPGSA,A,2,,,,,,,,,,,,,50.0,50.0,50.0*06 $GPGSV,3,1,10,16,74,173,08,23,42,310,,31,40,066,12,32,39,218,07*74 $GPGSV,3,2,10,20,38,248,08,13,16,310,,06,15,156,,29,15,048,08*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":50.00,"tdop":2.06,"hdop":50.00,"gdop":3.83,"pdop":50.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":8,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":12,"used":false},{"PRN":32,"el":39,"az":218,"ss":7,"used":false},{"PRN":20,"el":38,"az":248,"ss":8,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":8,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165011.000,V,4143.6056,N,08338.0790,W,0.60,231.03,180710,,,E*6E $GPGGA,165012.000,4143.6055,N,08338.0792,W,6,00,50.0,203.8,M,-33.7,M,,0000*56 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-07-18T16:50:12.000Z","ept":0.005,"lat":41.726758333,"lon":-83.634653333,"alt":203.800,"epx":14.229,"epy":16.954,"epv":1150.000,"speed":0.333,"climb":0.000,"eps":33.91} $GPGSA,A,2,,,,,,,,,,,,,50.0,50.0,50.0*06 $GPGSV,3,1,10,16,74,173,09,23,42,310,,31,40,066,11,32,39,218,*71 $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":50.00,"tdop":2.06,"hdop":50.00,"gdop":3.83,"pdop":50.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":9,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":11,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165012.000,V,4143.6055,N,08338.0792,W,0.60,231.03,180710,,,E*6C $GPGGA,165013.000,4143.6054,N,08338.0794,W,6,00,50.0,203.8,M,-33.7,M,,0000*50 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-07-18T16:50:13.000Z","ept":0.005,"lat":41.726756667,"lon":-83.634656667,"alt":203.800,"epx":14.229,"epy":16.954,"epv":1150.000,"speed":0.333,"climb":0.000,"eps":33.91} $GPGSA,A,2,,,,,,,,,,,,,50.0,50.0,50.0*06 $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,11,32,39,218,*78 $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":50.00,"tdop":2.06,"hdop":50.00,"gdop":3.83,"pdop":50.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":11,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165013.000,V,4143.6054,N,08338.0794,W,0.60,231.03,180710,,,E*6A $GPGGA,165014.000,4143.6053,N,08338.0795,W,6,00,50.0,203.8,M,-33.7,M,,0000*51 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-07-18T16:50:14.000Z","ept":0.005,"lat":41.726755000,"lon":-83.634658333,"alt":203.800,"epx":14.229,"epy":16.954,"epv":1150.000,"speed":0.231,"climb":0.000,"eps":33.91} $GPGSA,A,2,,,,,,,,,,,,,50.0,50.0,50.0*06 $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,11,32,39,218,*78 $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":50.00,"tdop":2.06,"hdop":50.00,"gdop":3.83,"pdop":50.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":11,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165014.000,V,4143.6053,N,08338.0795,W,0.60,231.03,180710,,,E*6B $GPGGA,165015.000,4143.6052,N,08338.0797,W,6,00,50.0,203.8,M,-33.7,M,,0000*53 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-07-18T16:50:15.000Z","ept":0.005,"lat":41.726753333,"lon":-83.634661667,"alt":203.800,"epx":14.229,"epy":16.954,"epv":1150.000,"speed":0.333,"climb":0.000,"eps":33.91} $GPGSA,A,2,,,,,,,,,,,,,50.0,50.0,50.0*06 $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,11,32,39,218,*78 $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":50.00,"tdop":2.06,"hdop":50.00,"gdop":3.83,"pdop":50.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":11,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165015.000,V,4143.6052,N,08338.0797,W,0.60,231.03,180710,,,E*69 $GPGGA,165016.000,4143.6051,N,08338.0799,W,6,00,50.0,203.8,M,-33.7,M,,0000*5D {"class":"TPV","tag":"GGA","mode":3,"time":"2010-07-18T16:50:16.000Z","ept":0.005,"lat":41.726751667,"lon":-83.634665000,"alt":203.800,"epx":14.229,"epy":16.954,"epv":1150.000,"speed":0.333,"climb":0.000,"eps":33.91} $GPGSA,A,2,,,,,,,,,,,,,50.0,50.0,50.0*06 $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,11,32,39,218,*78 $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":50.00,"tdop":2.06,"hdop":50.00,"gdop":3.83,"pdop":50.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":11,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165016.000,V,4143.6051,N,08338.0799,W,0.60,231.03,180710,,,E*67 $GPGGA,165017.000,4143.6050,N,08338.0801,W,6,00,50.0,203.8,M,-33.7,M,,0000*53 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-07-18T16:50:17.000Z","ept":0.005,"lat":41.726750000,"lon":-83.634668333,"alt":203.800,"epx":14.229,"epy":16.954,"epv":1150.000,"speed":0.333,"climb":0.000,"eps":33.91} $GPGSA,A,2,,,,,,,,,,,,,50.0,50.0,50.0*06 $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,12,32,39,218,*7B $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":50.00,"tdop":2.06,"hdop":50.00,"gdop":3.83,"pdop":50.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":12,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165017.000,V,4143.6050,N,08338.0801,W,0.60,231.03,180710,,,E*69 $GPGGA,165018.000,4143.6049,N,08338.0802,W,6,00,50.0,203.8,M,-33.7,M,,0000*57 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-07-18T16:50:18.000Z","ept":0.005,"lat":41.726748333,"lon":-83.634670000,"alt":203.800,"epx":14.229,"epy":16.954,"epv":1150.000,"speed":0.231,"climb":0.000,"eps":33.91} $GPGSA,A,2,,,,,,,,,,,,,50.0,50.0,50.0*06 $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,12,32,39,218,*7B $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":50.00,"tdop":2.06,"hdop":50.00,"gdop":3.83,"pdop":50.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":12,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165018.000,V,4143.6049,N,08338.0802,W,0.60,231.03,180710,,,E*6D $GPGGA,165019.000,,,,,0,00,,,M,0.0,M,,0000*5C $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,12,32,39,218,*7B $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":12,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165019.000,V,,,,,,,180710,,,N*48 $GPGGA,165020.000,,,,,0,00,,,M,0.0,M,,0000*56 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,12,32,39,218,*7B $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":12,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165020.000,V,,,,,,,180710,,,N*42 $GPGGA,165021.000,,,,,0,00,,,M,0.0,M,,0000*57 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,12,32,39,218,*7B $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":12,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165021.000,V,,,,,,,180710,,,N*43 $GPGGA,165022.000,,,,,0,00,,,M,0.0,M,,0000*54 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,12,32,39,218,*7B $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":12,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165022.000,V,,,,,,,180710,,,N*40 $GPGGA,165023.000,,,,,0,00,,,M,0.0,M,,0000*55 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,12,32,39,218,*7B $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":12,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165023.000,V,,,,,,,180710,,,N*41 $GPGGA,165024.000,,,,,0,00,,,M,0.0,M,,0000*52 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,13,32,39,218,*7A $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":13,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165024.000,V,,,,,,,180710,,,N*46 $GPGGA,165025.000,,,,,0,00,,,M,0.0,M,,0000*53 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,13,32,39,218,*7A $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":13,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165025.000,V,,,,,,,180710,,,N*47 $GPGGA,165026.000,,,,,0,00,,,M,0.0,M,,0000*50 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,13,32,39,218,*7A $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":13,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165026.000,V,,,,,,,180710,,,N*44 $GPGGA,165027.000,,,,,0,00,,,M,0.0,M,,0000*51 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,13,32,39,218,*7A $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":13,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165027.000,V,,,,,,,180710,,,N*45 $GPGGA,165028.000,,,,,0,00,,,M,0.0,M,,0000*5E $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,13,32,39,218,*7A $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":13,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165028.000,V,,,,,,,180710,,,N*4A $GPGGA,165029.000,,,,,0,00,,,M,0.0,M,,0000*5F $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,14,32,39,218,*7D $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":14,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165029.000,V,,,,,,,180710,,,N*4B $GPGGA,165030.000,,,,,0,00,,,M,0.0,M,,0000*57 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,13,32,39,218,*7A $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":13,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165030.000,V,,,,,,,180710,,,N*43 $GPGGA,165031.000,,,,,0,00,,,M,0.0,M,,0000*56 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,15,32,39,218,*7C $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":15,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165031.000,V,,,,,,,180710,,,N*42 $GPGGA,165032.000,,,,,0,00,,,M,0.0,M,,0000*55 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,15,32,39,218,*7C $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":15,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165032.000,V,,,,,,,180710,,,N*41 $PGRMT,GPS 10x Software v2.20 BT v2.50,,,,,,,*7F $GPGGA,165033.000,,,,,0,00,,,M,0.0,M,,0000*54 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,14,32,39,218,*7D $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":14,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165033.000,V,,,,,,,180710,,,N*40 $GPGGA,165034.000,,,,,0,00,,,M,0.0,M,,0000*53 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,15,32,39,218,*7C $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":15,"used":false},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165034.000,V,,,,,,,180710,,,N*47 $GPGGA,165035.000,,,,,0,00,,,M,0.0,M,,0000*52 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,15,32,39,218,17*7A $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":15,"used":false},{"PRN":32,"el":39,"az":218,"ss":17,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165035.000,V,,,,,,,180710,,,N*46 $GPGGA,165036.000,,,,,0,00,,,M,0.0,M,,0000*51 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,15,32,39,218,17*7A $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":15,"used":false},{"PRN":32,"el":39,"az":218,"ss":17,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165036.000,V,,,,,,,180710,,,N*45 $GPGGA,165037.000,,,,,0,00,,,M,0.0,M,,0000*50 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,15,32,39,218,17*7A $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":15,"used":false},{"PRN":32,"el":39,"az":218,"ss":17,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165037.000,V,,,,,,,180710,,,N*44 $GPGGA,165038.000,,,,,0,00,,,M,0.0,M,,0000*5F $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,15,32,39,218,16*7B $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":15,"used":false},{"PRN":32,"el":39,"az":218,"ss":16,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165038.000,V,,,,,,,180710,,,N*4B $GPGGA,165039.000,,,,,0,00,,,M,0.0,M,,0000*5E $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,15,32,39,218,16*7B $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":15,"used":false},{"PRN":32,"el":39,"az":218,"ss":16,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165039.000,V,,,,,,,180710,,,N*4A $GPGGA,165040.000,,,,,0,00,,,M,0.0,M,,0000*50 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,14,32,39,218,17*7B $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":14,"used":false},{"PRN":32,"el":39,"az":218,"ss":17,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165040.000,V,,,,,,,180710,,,N*44 $GPGGA,165041.000,,,,,0,00,,,M,0.0,M,,0000*51 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,14,32,39,218,12*7E $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":14,"used":false},{"PRN":32,"el":39,"az":218,"ss":12,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165041.000,V,,,,,,,180710,,,N*45 $GPGGA,165042.000,,,,,0,00,,,M,0.0,M,,0000*52 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,,23,42,310,,31,40,066,14,32,39,218,08*75 $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":0,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":14,"used":false},{"PRN":32,"el":39,"az":218,"ss":8,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165042.000,V,,,,,,,180710,,,N*46 $GPGGA,165043.000,,,,,0,00,,,M,0.0,M,,0000*53 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,10,16,74,173,27,23,42,310,,31,40,066,16,32,39,218,07*7D $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":0.00,"tdop":2.06,"hdop":0.00,"gdop":3.83,"pdop":0.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":27,"used":false},{"PRN":23,"el":42,"az":310,"ss":0,"used":false},{"PRN":31,"el":40,"az":66,"ss":16,"used":false},{"PRN":32,"el":39,"az":218,"ss":7,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165043.000,V,,,,,,,180710,,,N*47 $GPGGA,165044.000,4143.5985,N,08338.0820,W,1,03,2.2,204.1,M,-33.7,M,,0000*6B {"class":"TPV","tag":"GGA","mode":3,"time":"2010-07-18T16:50:44.000Z","ept":0.005,"lat":41.726641667,"lon":-83.634700000,"alt":204.100,"epx":14.229,"epy":16.954,"epv":0.000,"speed":0.466,"climb":0.012,"eps":1.30} $GPGSA,A,2,31,23,16,,,,,,,,,,2.4,2.2,1.0*30 $GPGSV,3,1,10,16,74,173,26,23,42,310,21,31,40,066,23,32,39,218,*7E $GPGSV,3,2,10,20,38,248,,13,16,310,,06,15,156,,29,15,048,*7A $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":1.00,"tdop":2.06,"hdop":2.20,"gdop":3.83,"pdop":2.40,"satellites":[{"PRN":16,"el":74,"az":173,"ss":26,"used":true},{"PRN":23,"el":42,"az":310,"ss":21,"used":true},{"PRN":31,"el":40,"az":66,"ss":23,"used":true},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":0,"used":false},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165044.000,A,4143.5985,N,08338.0820,W,0.00,,180710,,,A*66 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-18T16:50:44.000Z","ept":0.005,"lat":41.726641667,"lon":-83.634700000,"alt":204.100,"epx":14.229,"epy":16.954,"epv":0.000,"track":0.0000,"speed":0.000,"climb":0.012,"eps":1.30} $GPGGA,165045.000,4143.6024,N,08338.0864,W,1,04,2.0,183.5,M,-33.7,M,,0000*66 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-07-18T16:50:45.000Z","ept":0.005,"lat":41.726706667,"lon":-83.634773333,"alt":183.500,"epx":14.229,"epy":16.954,"epv":23.000,"speed":9.453,"climb":-20.600,"eps":33.91} $GPGSA,A,3,31,23,16,20,,,,,,,,,4.6,2.0,4.2*32 $GPGSV,3,1,10,16,74,173,27,23,42,310,19,31,40,066,23,32,39,218,*74 $GPGSV,3,2,10,20,38,248,19,13,16,310,,06,15,156,,29,15,048,*72 $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":4.20,"tdop":2.06,"hdop":2.00,"gdop":3.83,"pdop":4.60,"satellites":[{"PRN":16,"el":74,"az":173,"ss":27,"used":true},{"PRN":23,"el":42,"az":310,"ss":19,"used":true},{"PRN":31,"el":40,"az":66,"ss":23,"used":true},{"PRN":32,"el":39,"az":218,"ss":0,"used":false},{"PRN":20,"el":38,"az":248,"ss":19,"used":true},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165045.000,A,4143.6024,N,08338.0864,W,2.19,176.03,180710,,,A*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-18T16:50:45.000Z","ept":0.005,"lat":41.726706667,"lon":-83.634773333,"alt":183.500,"epx":14.229,"epy":16.954,"epv":23.000,"track":176.0300,"speed":1.127,"climb":-20.600,"eps":33.91} $GPGGA,165046.000,4143.6110,N,08338.0897,W,1,05,1.5,200.1,M,-33.7,M,,0000*64 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-07-18T16:50:46.000Z","ept":0.005,"lat":41.726850000,"lon":-83.634828333,"alt":200.100,"epx":14.229,"epy":16.954,"epv":96.600,"speed":16.564,"climb":16.600,"eps":33.91} $GPGSA,A,3,31,23,16,20,32,,,,,,,,4.0,1.5,3.6*30 $GPGSV,3,1,10,16,74,173,27,23,42,310,21,31,40,066,24,32,39,218,24*7E $GPGSV,3,2,10,20,38,248,19,13,16,310,,06,15,156,,29,15,048,*72 $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":3.60,"tdop":2.06,"hdop":1.50,"gdop":3.83,"pdop":4.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":27,"used":true},{"PRN":23,"el":42,"az":310,"ss":21,"used":true},{"PRN":31,"el":40,"az":66,"ss":24,"used":true},{"PRN":32,"el":39,"az":218,"ss":24,"used":true},{"PRN":20,"el":38,"az":248,"ss":19,"used":true},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165046.000,A,4143.6110,N,08338.0897,W,0.44,323.72,180710,,,A*76 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-18T16:50:46.000Z","ept":0.005,"lat":41.726850000,"lon":-83.634828333,"alt":200.100,"epx":14.229,"epy":16.954,"epv":96.600,"track":323.7200,"speed":0.226,"climb":16.600,"eps":33.91} $GPGGA,165047.000,4143.6116,N,08338.0889,W,1,05,1.5,219.6,M,-33.7,M,,0000*63 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-07-18T16:50:47.000Z","ept":0.005,"lat":41.726860000,"lon":-83.634815000,"alt":219.600,"epx":14.229,"epy":16.954,"epv":82.800,"speed":1.570,"climb":19.500,"eps":33.91} $GPGSA,A,3,31,23,16,20,32,,,,,,,,4.0,1.5,3.6*30 $GPGSV,3,1,10,16,74,173,28,23,42,310,19,31,40,066,25,32,39,218,21*7E $GPGSV,3,2,10,20,38,248,19,13,16,310,,06,15,156,,29,15,048,*72 $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":3.60,"tdop":2.06,"hdop":1.50,"gdop":3.83,"pdop":4.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":28,"used":true},{"PRN":23,"el":42,"az":310,"ss":19,"used":true},{"PRN":31,"el":40,"az":66,"ss":25,"used":true},{"PRN":32,"el":39,"az":218,"ss":21,"used":true},{"PRN":20,"el":38,"az":248,"ss":19,"used":true},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165047.000,A,4143.6116,N,08338.0889,W,0.76,13.73,180710,,,A*4E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-18T16:50:47.000Z","ept":0.005,"lat":41.726860000,"lon":-83.634815000,"alt":219.600,"epx":14.229,"epy":16.954,"epv":82.800,"track":13.7300,"speed":0.391,"climb":19.500,"eps":33.91} $GPGGA,165048.000,4143.6118,N,08338.0890,W,1,05,1.5,210.3,M,-33.7,M,,0000*66 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-07-18T16:50:48.000Z","ept":0.005,"lat":41.726863333,"lon":-83.634816667,"alt":210.300,"epx":14.229,"epy":16.954,"epv":82.800,"speed":0.395,"climb":-9.300,"eps":33.91} $GPGSA,A,3,31,23,16,20,32,,,,,,,,4.0,1.5,3.6*30 $GPGSV,3,1,10,16,74,173,27,23,42,310,18,31,40,066,25,32,39,218,23*72 $GPGSV,3,2,10,20,38,248,20,13,16,310,,06,15,156,,29,15,048,*78 $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":3.60,"tdop":2.06,"hdop":1.50,"gdop":3.83,"pdop":4.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":27,"used":true},{"PRN":23,"el":42,"az":310,"ss":18,"used":true},{"PRN":31,"el":40,"az":66,"ss":25,"used":true},{"PRN":32,"el":39,"az":218,"ss":23,"used":true},{"PRN":20,"el":38,"az":248,"ss":20,"used":true},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165048.000,A,4143.6118,N,08338.0890,W,0.71,20.56,180710,,,A*47 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-18T16:50:48.000Z","ept":0.005,"lat":41.726863333,"lon":-83.634816667,"alt":210.300,"epx":14.229,"epy":16.954,"epv":82.800,"track":20.5600,"speed":0.365,"climb":-9.300,"eps":33.91} $GPGGA,165049.000,4143.6110,N,08338.0882,W,1,05,1.5,212.3,M,-33.7,M,,0000*6E {"class":"TPV","tag":"GGA","mode":3,"time":"2010-07-18T16:50:49.000Z","ept":0.005,"lat":41.726850000,"lon":-83.634803333,"alt":212.300,"epx":14.229,"epy":16.954,"epv":82.800,"speed":1.850,"climb":2.000,"eps":33.91} $GPGSA,A,3,31,23,16,20,32,,,,,,,,4.0,1.5,3.6*30 $GPGSV,3,1,10,16,74,173,27,23,42,310,19,31,40,066,24,32,39,218,23*72 $GPGSV,3,2,10,20,38,248,20,13,16,310,,06,15,156,,29,15,048,*78 $GPGSV,3,3,10,03,08,171,,14,06,129,*7D {"class":"SKY","tag":"GSV","xdop":0.95,"ydop":1.13,"vdop":3.60,"tdop":2.06,"hdop":1.50,"gdop":3.83,"pdop":4.00,"satellites":[{"PRN":16,"el":74,"az":173,"ss":27,"used":true},{"PRN":23,"el":42,"az":310,"ss":19,"used":true},{"PRN":31,"el":40,"az":66,"ss":24,"used":true},{"PRN":32,"el":39,"az":218,"ss":23,"used":true},{"PRN":20,"el":38,"az":248,"ss":20,"used":true},{"PRN":13,"el":16,"az":310,"ss":0,"used":false},{"PRN":6,"el":15,"az":156,"ss":0,"used":false},{"PRN":29,"el":15,"az":48,"ss":0,"used":false},{"PRN":3,"el":8,"az":171,"ss":0,"used":false},{"PRN":14,"el":6,"az":129,"ss":0,"used":false}]} $GPRMC,165049.000,A,4143.6110,N,08338.0882,W,0.60,126.88,180710,,,A*79 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-18T16:50:49.000Z","ept":0.005,"lat":41.726850000,"lon":-83.634803333,"alt":212.300,"epx":14.229,"epy":16.954,"epv":82.800,"track":126.8800,"speed":0.309,"climb":2.000,"eps":33.91} gpsd-3.9/test/daemon/garmin-geko201.log0000664000175000017500000002264411762140436016054 0ustar esresr# Name: Garmin Geko 201 # Chipset: Garmin proprietary # Submitter: "Jose Luis Domingo Lopez" # Date: 2005-06-14 # Location: Madrid, Madrid, Spain (ES), 40.39N 03.64E # Comments: This is demo-mode data, with no actual fixes. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPRMC,214350,V,4023.8600,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*21 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214350,4023.8600,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*5A $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,49*77 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,36*71 $GPGSV,3,3,09,30,67,294,50*48 $GPGLL,4023.8600,N,00339.1630,W,214350,V,S*57 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214352,V,4023.8660,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*25 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214352,4023.8660,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*5E $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,49*77 $GPGSV,3,2,09,06,39,195,45,09,40,115,46,14,48,286,47,25,09,307,37*73 $GPGSV,3,3,09,30,67,294,49*40 $GPGLL,4023.8660,N,00339.1630,W,214352,V,S*53 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214354,V,4023.8720,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*26 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214354,4023.8720,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*5D $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,49*77 $GPGSV,3,2,09,06,39,195,45,09,40,115,46,14,48,286,47,25,09,307,37*73 $GPGSV,3,3,09,30,67,294,50*48 $GPGLL,4023.8720,N,00339.1630,W,214354,V,S*50 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214356,V,4023.8780,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*2E $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214356,4023.8780,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*55 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,49*77 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,294,50*48 $GPGLL,4023.8780,N,00339.1630,W,214356,V,S*58 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214358,V,4023.8840,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*23 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214358,4023.8840,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*58 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,48*76 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,294,50*48 $GPGLL,4023.8840,N,00339.1630,W,214358,V,S*55 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214400,V,4023.8900,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*2C $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214400,4023.8900,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*57 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,40,02,17,093,40,04,09,049,37,05,60,046,48*77 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,294,50*48 $GPGLL,4023.8900,N,00339.1630,W,214400,V,S*5A $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214402,V,4023.8960,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*28 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214402,4023.8960,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*53 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,49*77 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,294,50*48 $GPGLL,4023.8960,N,00339.1630,W,214402,V,S*5E $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214404,V,4023.9021,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*23 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214404,4023.9021,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*58 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,40,02,17,093,40,04,09,049,37,05,60,046,49*76 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,294,50*48 $GPGLL,4023.9021,N,00339.1630,W,214404,V,S*55 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214406,V,4023.9081,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*2B $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214406,4023.9081,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*50 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,48*76 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,295,50*49 $GPGLL,4023.9081,N,00339.1630,W,214406,V,S*5D $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214408,V,4023.9141,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*28 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214408,4023.9141,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*53 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,49*77 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,295,50*49 $GPGLL,4023.9141,N,00339.1630,W,214408,V,S*5E $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214410,V,4023.9201,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*26 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214410,4023.9201,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*5D $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,49*77 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,295,49*41 $GPGLL,4023.9201,N,00339.1630,W,214410,V,S*50 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214412,V,4023.9261,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*22 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214412,4023.9261,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*59 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,48*76 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,36*71 $GPGSV,3,3,09,30,67,295,50*49 $GPGLL,4023.9261,N,00339.1630,W,214412,V,S*54 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214414,V,4023.9321,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*21 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214414,4023.9321,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*5A $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,49*77 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,36*71 $GPGSV,3,3,09,30,67,295,50*49 $GPGLL,4023.9321,N,00339.1630,W,214414,V,S*57 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214416,V,4023.9381,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*29 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214416,4023.9381,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*52 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,20,319,41,02,17,093,40,04,09,049,36,05,60,046,48*7D $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,295,50*49 $GPGLL,4023.9381,N,00339.1630,W,214416,V,S*5F $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214418,V,4023.9441,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*2C $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214418,4023.9441,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*57 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,20,319,41,02,17,093,40,04,09,049,36,05,60,046,49*7C $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,295,50*49 $GPGLL,4023.9441,N,00339.1630,W,214418,V,S*5A $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214420,V,4023.9501,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*22 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214420,4023.9501,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*59 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,20,319,41,02,18,092,40,04,09,049,35,05,60,046,48*70 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,295,50*49 $GPGLL,4023.9501,N,00339.1630,W,214420,V,S*54 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214422,V,4023.9561,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*26 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214422,4023.9561,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*5D $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,20,319,41,02,18,092,40,04,09,049,36,05,60,046,49*72 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,295,50*49 $GPGLL,4023.9561,N,00339.1630,W,214422,V,S*50 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214424,V,4023.9621,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*27 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214424,4023.9621,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*5C $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,20,319,41,02,18,092,40,04,09,049,36,05,60,046,48*73 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,36*71 $GPGSV,3,3,09,30,67,295,50*49 $GPGLL,4023.9621,N,00339.1630,W,214424,V,S*51 $GPBOD,,T,,M,,* gpsd-3.9/test/daemon/garmin-geko201.log.chk0000664000175000017500000004556212135526314016622 0ustar esresr$GPRMC,214350,V,4023.8600,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*21 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214350,4023.8600,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*5A {"class":"TPV","tag":"GGA","mode":3,"lat":40.397666667,"lon":-3.652716667,"alt":695.700} $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A {"class":"TPV","tag":"GSA","mode":3,"lat":40.397666667,"lon":-3.652716667,"alt":695.700,"epv":69.000} $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,49*77 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,36*71 $GPGSV,3,3,09,30,67,294,50*48 {"class":"SKY","tag":"GSV","xdop":0.55,"ydop":0.85,"vdop":3.00,"tdop":0.85,"hdop":2.00,"gdop":1.89,"pdop":3.60,"satellites":[{"PRN":1,"el":19,"az":319,"ss":41,"used":true},{"PRN":2,"el":17,"az":93,"ss":40,"used":true},{"PRN":4,"el":9,"az":49,"ss":37,"used":true},{"PRN":5,"el":60,"az":46,"ss":49,"used":true},{"PRN":6,"el":39,"az":195,"ss":46,"used":true},{"PRN":9,"el":40,"az":115,"ss":46,"used":true},{"PRN":14,"el":48,"az":286,"ss":47,"used":true},{"PRN":25,"el":9,"az":307,"ss":36,"used":true},{"PRN":30,"el":67,"az":294,"ss":50,"used":true}]} $GPGLL,4023.8600,N,00339.1630,W,214350,V,S*57 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214352,V,4023.8660,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*25 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214352,4023.8660,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*5E $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,49*77 $GPGSV,3,2,09,06,39,195,45,09,40,115,46,14,48,286,47,25,09,307,37*73 $GPGSV,3,3,09,30,67,294,49*40 {"class":"SKY","tag":"GSV","xdop":0.55,"ydop":0.85,"vdop":3.00,"tdop":0.85,"hdop":2.00,"gdop":1.89,"pdop":3.60,"satellites":[{"PRN":1,"el":19,"az":319,"ss":41,"used":true},{"PRN":2,"el":17,"az":93,"ss":40,"used":true},{"PRN":4,"el":9,"az":49,"ss":37,"used":true},{"PRN":5,"el":60,"az":46,"ss":49,"used":true},{"PRN":6,"el":39,"az":195,"ss":45,"used":true},{"PRN":9,"el":40,"az":115,"ss":46,"used":true},{"PRN":14,"el":48,"az":286,"ss":47,"used":true},{"PRN":25,"el":9,"az":307,"ss":37,"used":true},{"PRN":30,"el":67,"az":294,"ss":49,"used":true}]} $GPGLL,4023.8660,N,00339.1630,W,214352,V,S*53 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214354,V,4023.8720,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*26 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214354,4023.8720,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*5D $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,49*77 $GPGSV,3,2,09,06,39,195,45,09,40,115,46,14,48,286,47,25,09,307,37*73 $GPGSV,3,3,09,30,67,294,50*48 {"class":"SKY","tag":"GSV","xdop":0.55,"ydop":0.85,"vdop":3.00,"tdop":0.85,"hdop":2.00,"gdop":1.89,"pdop":3.60,"satellites":[{"PRN":1,"el":19,"az":319,"ss":41,"used":true},{"PRN":2,"el":17,"az":93,"ss":40,"used":true},{"PRN":4,"el":9,"az":49,"ss":37,"used":true},{"PRN":5,"el":60,"az":46,"ss":49,"used":true},{"PRN":6,"el":39,"az":195,"ss":45,"used":true},{"PRN":9,"el":40,"az":115,"ss":46,"used":true},{"PRN":14,"el":48,"az":286,"ss":47,"used":true},{"PRN":25,"el":9,"az":307,"ss":37,"used":true},{"PRN":30,"el":67,"az":294,"ss":50,"used":true}]} $GPGLL,4023.8720,N,00339.1630,W,214354,V,S*50 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214356,V,4023.8780,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*2E $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214356,4023.8780,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*55 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,49*77 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,294,50*48 {"class":"SKY","tag":"GSV","xdop":0.55,"ydop":0.85,"vdop":3.00,"tdop":0.85,"hdop":2.00,"gdop":1.89,"pdop":3.60,"satellites":[{"PRN":1,"el":19,"az":319,"ss":41,"used":true},{"PRN":2,"el":17,"az":93,"ss":40,"used":true},{"PRN":4,"el":9,"az":49,"ss":37,"used":true},{"PRN":5,"el":60,"az":46,"ss":49,"used":true},{"PRN":6,"el":39,"az":195,"ss":46,"used":true},{"PRN":9,"el":40,"az":115,"ss":46,"used":true},{"PRN":14,"el":48,"az":286,"ss":47,"used":true},{"PRN":25,"el":9,"az":307,"ss":37,"used":true},{"PRN":30,"el":67,"az":294,"ss":50,"used":true}]} $GPGLL,4023.8780,N,00339.1630,W,214356,V,S*58 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214358,V,4023.8840,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*23 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214358,4023.8840,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*58 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,48*76 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,294,50*48 {"class":"SKY","tag":"GSV","xdop":0.55,"ydop":0.85,"vdop":3.00,"tdop":0.85,"hdop":2.00,"gdop":1.89,"pdop":3.60,"satellites":[{"PRN":1,"el":19,"az":319,"ss":41,"used":true},{"PRN":2,"el":17,"az":93,"ss":40,"used":true},{"PRN":4,"el":9,"az":49,"ss":37,"used":true},{"PRN":5,"el":60,"az":46,"ss":48,"used":true},{"PRN":6,"el":39,"az":195,"ss":46,"used":true},{"PRN":9,"el":40,"az":115,"ss":46,"used":true},{"PRN":14,"el":48,"az":286,"ss":47,"used":true},{"PRN":25,"el":9,"az":307,"ss":37,"used":true},{"PRN":30,"el":67,"az":294,"ss":50,"used":true}]} $GPGLL,4023.8840,N,00339.1630,W,214358,V,S*55 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214400,V,4023.8900,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*2C $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214400,4023.8900,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*57 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,40,02,17,093,40,04,09,049,37,05,60,046,48*77 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,294,50*48 {"class":"SKY","tag":"GSV","xdop":0.55,"ydop":0.85,"vdop":3.00,"tdop":0.85,"hdop":2.00,"gdop":1.89,"pdop":3.60,"satellites":[{"PRN":1,"el":19,"az":319,"ss":40,"used":true},{"PRN":2,"el":17,"az":93,"ss":40,"used":true},{"PRN":4,"el":9,"az":49,"ss":37,"used":true},{"PRN":5,"el":60,"az":46,"ss":48,"used":true},{"PRN":6,"el":39,"az":195,"ss":46,"used":true},{"PRN":9,"el":40,"az":115,"ss":46,"used":true},{"PRN":14,"el":48,"az":286,"ss":47,"used":true},{"PRN":25,"el":9,"az":307,"ss":37,"used":true},{"PRN":30,"el":67,"az":294,"ss":50,"used":true}]} $GPGLL,4023.8900,N,00339.1630,W,214400,V,S*5A $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214402,V,4023.8960,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*28 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214402,4023.8960,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*53 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,49*77 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,294,50*48 {"class":"SKY","tag":"GSV","xdop":0.55,"ydop":0.85,"vdop":3.00,"tdop":0.85,"hdop":2.00,"gdop":1.89,"pdop":3.60,"satellites":[{"PRN":1,"el":19,"az":319,"ss":41,"used":true},{"PRN":2,"el":17,"az":93,"ss":40,"used":true},{"PRN":4,"el":9,"az":49,"ss":37,"used":true},{"PRN":5,"el":60,"az":46,"ss":49,"used":true},{"PRN":6,"el":39,"az":195,"ss":46,"used":true},{"PRN":9,"el":40,"az":115,"ss":46,"used":true},{"PRN":14,"el":48,"az":286,"ss":47,"used":true},{"PRN":25,"el":9,"az":307,"ss":37,"used":true},{"PRN":30,"el":67,"az":294,"ss":50,"used":true}]} $GPGLL,4023.8960,N,00339.1630,W,214402,V,S*5E $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214404,V,4023.9021,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*23 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214404,4023.9021,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*58 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,40,02,17,093,40,04,09,049,37,05,60,046,49*76 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,294,50*48 {"class":"SKY","tag":"GSV","xdop":0.55,"ydop":0.85,"vdop":3.00,"tdop":0.85,"hdop":2.00,"gdop":1.89,"pdop":3.60,"satellites":[{"PRN":1,"el":19,"az":319,"ss":40,"used":true},{"PRN":2,"el":17,"az":93,"ss":40,"used":true},{"PRN":4,"el":9,"az":49,"ss":37,"used":true},{"PRN":5,"el":60,"az":46,"ss":49,"used":true},{"PRN":6,"el":39,"az":195,"ss":46,"used":true},{"PRN":9,"el":40,"az":115,"ss":46,"used":true},{"PRN":14,"el":48,"az":286,"ss":47,"used":true},{"PRN":25,"el":9,"az":307,"ss":37,"used":true},{"PRN":30,"el":67,"az":294,"ss":50,"used":true}]} $GPGLL,4023.9021,N,00339.1630,W,214404,V,S*55 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214406,V,4023.9081,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*2B $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214406,4023.9081,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*50 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,48*76 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,295,50*49 {"class":"SKY","tag":"GSV","xdop":0.55,"ydop":0.85,"vdop":3.00,"tdop":0.85,"hdop":2.00,"gdop":1.89,"pdop":3.60,"satellites":[{"PRN":1,"el":19,"az":319,"ss":41,"used":true},{"PRN":2,"el":17,"az":93,"ss":40,"used":true},{"PRN":4,"el":9,"az":49,"ss":37,"used":true},{"PRN":5,"el":60,"az":46,"ss":48,"used":true},{"PRN":6,"el":39,"az":195,"ss":46,"used":true},{"PRN":9,"el":40,"az":115,"ss":46,"used":true},{"PRN":14,"el":48,"az":286,"ss":47,"used":true},{"PRN":25,"el":9,"az":307,"ss":37,"used":true},{"PRN":30,"el":67,"az":295,"ss":50,"used":true}]} $GPGLL,4023.9081,N,00339.1630,W,214406,V,S*5D $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214408,V,4023.9141,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*28 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214408,4023.9141,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*53 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,49*77 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,295,50*49 {"class":"SKY","tag":"GSV","xdop":0.55,"ydop":0.85,"vdop":3.00,"tdop":0.85,"hdop":2.00,"gdop":1.89,"pdop":3.60,"satellites":[{"PRN":1,"el":19,"az":319,"ss":41,"used":true},{"PRN":2,"el":17,"az":93,"ss":40,"used":true},{"PRN":4,"el":9,"az":49,"ss":37,"used":true},{"PRN":5,"el":60,"az":46,"ss":49,"used":true},{"PRN":6,"el":39,"az":195,"ss":46,"used":true},{"PRN":9,"el":40,"az":115,"ss":46,"used":true},{"PRN":14,"el":48,"az":286,"ss":47,"used":true},{"PRN":25,"el":9,"az":307,"ss":37,"used":true},{"PRN":30,"el":67,"az":295,"ss":50,"used":true}]} $GPGLL,4023.9141,N,00339.1630,W,214408,V,S*5E $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214410,V,4023.9201,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*26 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214410,4023.9201,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*5D $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,49*77 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,295,49*41 {"class":"SKY","tag":"GSV","xdop":0.55,"ydop":0.85,"vdop":3.00,"tdop":0.85,"hdop":2.00,"gdop":1.89,"pdop":3.60,"satellites":[{"PRN":1,"el":19,"az":319,"ss":41,"used":true},{"PRN":2,"el":17,"az":93,"ss":40,"used":true},{"PRN":4,"el":9,"az":49,"ss":37,"used":true},{"PRN":5,"el":60,"az":46,"ss":49,"used":true},{"PRN":6,"el":39,"az":195,"ss":46,"used":true},{"PRN":9,"el":40,"az":115,"ss":46,"used":true},{"PRN":14,"el":48,"az":286,"ss":47,"used":true},{"PRN":25,"el":9,"az":307,"ss":37,"used":true},{"PRN":30,"el":67,"az":295,"ss":49,"used":true}]} $GPGLL,4023.9201,N,00339.1630,W,214410,V,S*50 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214412,V,4023.9261,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*22 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214412,4023.9261,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*59 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,48*76 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,36*71 $GPGSV,3,3,09,30,67,295,50*49 {"class":"SKY","tag":"GSV","xdop":0.55,"ydop":0.85,"vdop":3.00,"tdop":0.85,"hdop":2.00,"gdop":1.89,"pdop":3.60,"satellites":[{"PRN":1,"el":19,"az":319,"ss":41,"used":true},{"PRN":2,"el":17,"az":93,"ss":40,"used":true},{"PRN":4,"el":9,"az":49,"ss":37,"used":true},{"PRN":5,"el":60,"az":46,"ss":48,"used":true},{"PRN":6,"el":39,"az":195,"ss":46,"used":true},{"PRN":9,"el":40,"az":115,"ss":46,"used":true},{"PRN":14,"el":48,"az":286,"ss":47,"used":true},{"PRN":25,"el":9,"az":307,"ss":36,"used":true},{"PRN":30,"el":67,"az":295,"ss":50,"used":true}]} $GPGLL,4023.9261,N,00339.1630,W,214412,V,S*54 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214414,V,4023.9321,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*21 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214414,4023.9321,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*5A $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,19,319,41,02,17,093,40,04,09,049,37,05,60,046,49*77 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,36*71 $GPGSV,3,3,09,30,67,295,50*49 {"class":"SKY","tag":"GSV","xdop":0.55,"ydop":0.85,"vdop":3.00,"tdop":0.85,"hdop":2.00,"gdop":1.89,"pdop":3.60,"satellites":[{"PRN":1,"el":19,"az":319,"ss":41,"used":true},{"PRN":2,"el":17,"az":93,"ss":40,"used":true},{"PRN":4,"el":9,"az":49,"ss":37,"used":true},{"PRN":5,"el":60,"az":46,"ss":49,"used":true},{"PRN":6,"el":39,"az":195,"ss":46,"used":true},{"PRN":9,"el":40,"az":115,"ss":46,"used":true},{"PRN":14,"el":48,"az":286,"ss":47,"used":true},{"PRN":25,"el":9,"az":307,"ss":36,"used":true},{"PRN":30,"el":67,"az":295,"ss":50,"used":true}]} $GPGLL,4023.9321,N,00339.1630,W,214414,V,S*57 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214416,V,4023.9381,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*29 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214416,4023.9381,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*52 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,20,319,41,02,17,093,40,04,09,049,36,05,60,046,48*7D $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,295,50*49 {"class":"SKY","tag":"GSV","xdop":0.55,"ydop":0.85,"vdop":3.00,"tdop":0.85,"hdop":2.00,"gdop":1.89,"pdop":3.60,"satellites":[{"PRN":1,"el":20,"az":319,"ss":41,"used":true},{"PRN":2,"el":17,"az":93,"ss":40,"used":true},{"PRN":4,"el":9,"az":49,"ss":36,"used":true},{"PRN":5,"el":60,"az":46,"ss":48,"used":true},{"PRN":6,"el":39,"az":195,"ss":46,"used":true},{"PRN":9,"el":40,"az":115,"ss":46,"used":true},{"PRN":14,"el":48,"az":286,"ss":47,"used":true},{"PRN":25,"el":9,"az":307,"ss":37,"used":true},{"PRN":30,"el":67,"az":295,"ss":50,"used":true}]} $GPGLL,4023.9381,N,00339.1630,W,214416,V,S*5F $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214418,V,4023.9441,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*2C $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214418,4023.9441,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*57 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,20,319,41,02,17,093,40,04,09,049,36,05,60,046,49*7C $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,295,50*49 {"class":"SKY","tag":"GSV","xdop":0.55,"ydop":0.85,"vdop":3.00,"tdop":0.85,"hdop":2.00,"gdop":1.89,"pdop":3.60,"satellites":[{"PRN":1,"el":20,"az":319,"ss":41,"used":true},{"PRN":2,"el":17,"az":93,"ss":40,"used":true},{"PRN":4,"el":9,"az":49,"ss":36,"used":true},{"PRN":5,"el":60,"az":46,"ss":49,"used":true},{"PRN":6,"el":39,"az":195,"ss":46,"used":true},{"PRN":9,"el":40,"az":115,"ss":46,"used":true},{"PRN":14,"el":48,"az":286,"ss":47,"used":true},{"PRN":25,"el":9,"az":307,"ss":37,"used":true},{"PRN":30,"el":67,"az":295,"ss":50,"used":true}]} $GPGLL,4023.9441,N,00339.1630,W,214418,V,S*5A $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214420,V,4023.9501,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*22 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214420,4023.9501,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*59 $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,20,319,41,02,18,092,40,04,09,049,35,05,60,046,48*70 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,295,50*49 {"class":"SKY","tag":"GSV","xdop":0.55,"ydop":0.85,"vdop":3.00,"tdop":0.85,"hdop":2.00,"gdop":1.89,"pdop":3.60,"satellites":[{"PRN":1,"el":20,"az":319,"ss":41,"used":true},{"PRN":2,"el":18,"az":92,"ss":40,"used":true},{"PRN":4,"el":9,"az":49,"ss":35,"used":true},{"PRN":5,"el":60,"az":46,"ss":48,"used":true},{"PRN":6,"el":39,"az":195,"ss":46,"used":true},{"PRN":9,"el":40,"az":115,"ss":46,"used":true},{"PRN":14,"el":48,"az":286,"ss":47,"used":true},{"PRN":25,"el":9,"az":307,"ss":37,"used":true},{"PRN":30,"el":67,"az":295,"ss":50,"used":true}]} $GPGLL,4023.9501,N,00339.1630,W,214420,V,S*54 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214422,V,4023.9561,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*26 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214422,4023.9561,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*5D $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,20,319,41,02,18,092,40,04,09,049,36,05,60,046,49*72 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,37*70 $GPGSV,3,3,09,30,67,295,50*49 {"class":"SKY","tag":"GSV","xdop":0.55,"ydop":0.85,"vdop":3.00,"tdop":0.85,"hdop":2.00,"gdop":1.89,"pdop":3.60,"satellites":[{"PRN":1,"el":20,"az":319,"ss":41,"used":true},{"PRN":2,"el":18,"az":92,"ss":40,"used":true},{"PRN":4,"el":9,"az":49,"ss":36,"used":true},{"PRN":5,"el":60,"az":46,"ss":49,"used":true},{"PRN":6,"el":39,"az":195,"ss":46,"used":true},{"PRN":9,"el":40,"az":115,"ss":46,"used":true},{"PRN":14,"el":48,"az":286,"ss":47,"used":true},{"PRN":25,"el":9,"az":307,"ss":37,"used":true},{"PRN":30,"el":67,"az":295,"ss":50,"used":true}]} $GPGLL,4023.9561,N,00339.1630,W,214422,V,S*50 $GPBOD,,T,,M,,*47 $PGRME,15.0,M,22.5,M,27.0,M*1A $PGRMZ,2282,f,3*21 $GPRTE,1,1,c,*37 $GPRMC,214424,V,4023.9621,N,00339.1630,W,10.8,0.0,140605,2.5,W,S*27 $GPRMB,V,,,,,,,,,,,,A,S*0E $GPGGA,214424,4023.9621,N,00339.1630,W,8,09,2.0,695.7,M,51.6,M,,*5C $GPGSA,A,3,01,02,04,05,06,09,14,25,30,,,,3.6,2.0,3.0*3A $GPGSV,3,1,09,01,20,319,41,02,18,092,40,04,09,049,36,05,60,046,48*73 $GPGSV,3,2,09,06,39,195,46,09,40,115,46,14,48,286,47,25,09,307,36*71 $GPGSV,3,3,09,30,67,295,50*49 {"class":"SKY","tag":"GSV","xdop":0.55,"ydop":0.85,"vdop":3.00,"tdop":0.85,"hdop":2.00,"gdop":1.89,"pdop":3.60,"satellites":[{"PRN":1,"el":20,"az":319,"ss":41,"used":true},{"PRN":2,"el":18,"az":92,"ss":40,"used":true},{"PRN":4,"el":9,"az":49,"ss":36,"used":true},{"PRN":5,"el":60,"az":46,"ss":48,"used":true},{"PRN":6,"el":39,"az":195,"ss":46,"used":true},{"PRN":9,"el":40,"az":115,"ss":46,"used":true},{"PRN":14,"el":48,"az":286,"ss":47,"used":true},{"PRN":25,"el":9,"az":307,"ss":36,"used":true},{"PRN":30,"el":67,"az":295,"ss":50,"used":true}]} $GPGLL,4023.9621,N,00339.1630,W,214424,V,S*51 gpsd-3.9/test/daemon/garmin17n.log0000664000175000017500000000247111762140436015230 0ustar esresr# Name: Garmin 17N # Chipset: # Submitter: Wojciech Kazubski # Comment: Only emits GPRMC when it has a fix. # Date: 2005-03-12 # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPRMC,093802,A,5213.1439,N,02100.6511,E,000.0,226.0,160305,004.2,E,D*15 $GPGGA,093802,5213.1439,N,02100.6511,E,2,10,0.9,137.2,M,36.2,M,,*43 $GPGSA,A,3,03,06,15,16,18,19,21,22,,27,29,,1.6,0.9,1.3*34 $GPGSV,3,2,12,18,50,135,50,19,15,291,46,21,59,069,51,22,30,169,49*75 $PGRME,1.7,M,2.4,M,3.0,M*2D $GPGLL,5213.1439,N,02100.6511,E,093802,A,D*48 $GPVTG,226,T,222,M,000.0,N,0000.0,K,D*12 $PGRMV,0.0,0.0,0.0*5C $PGRMF,290,293895,160305,093802,13,5213.1439,N,02100.6511,E,A,2,0,226,2,1*11 $PGRMB,0.0,200,,,,K,,W,W*31 $PGRMM,WGS 84*06 $GPRMC,093803,A,5213.1439,N,02100.6511,E,000.0,226.0,160305,004.2,E,D*14 $GPGGA,093803,5213.1439,N,02100.6511,E,2,10,0.9,137.2,M,36.2,M,,*42 $GPGSA,A,3,03,06,15,16,18,19,21,22,,27,29,,1.6,0.9,1.3*34 $GPGSV,3,3,12,26,14,065,48,27,08,336,38,29,14,048,44,44,18,130,41*78 $PGRME,1.7,M,2.4,M,3.0,M*2D $GPGLL,5213.1439,N,02100.6511,E,093803,A,D*49 $GPVTG,226,T,222,M,000.0,N,0000.0,K,D*12 $PGRMV,0.0,0.0,0.0*5C $PGRMF,290,293896,160305,093803,13,5213.1439,N,02100.6511,E,A,2,0,226,2,1*13 $PGRMB,0.0,200,,,,K,,W,W*31 $PGRMM,WGS 84*06 gpsd-3.9/test/daemon/garmin17n.log.chk0000664000175000017500000000472012135526315015772 0ustar esresr$GPRMC,093802,A,5213.1439,N,02100.6511,E,000.0,226.0,160305,004.2,E,D*15 {"class":"TPV","tag":"RMC","mode":2,"time":"2005-03-16T09:38:02.000Z","ept":0.005,"lat":52.219065000,"lon":21.010851667,"track":226.0000,"speed":0.000} $GPGGA,093802,5213.1439,N,02100.6511,E,2,10,0.9,137.2,M,36.2,M,,*43 {"class":"TPV","tag":"GGA","mode":3,"time":"2005-03-16T09:38:02.000Z","ept":0.005,"lat":52.219065000,"lon":21.010851667,"alt":137.200,"track":226.0000,"speed":0.000} $GPGSA,A,3,03,06,15,16,18,19,21,22,,27,29,,1.6,0.9,1.3*34 {"class":"TPV","tag":"GSA","mode":3,"time":"2005-03-16T09:38:02.000Z","ept":0.005,"lat":52.219065000,"lon":21.010851667,"alt":137.200,"epv":7.475,"track":226.0000,"speed":0.000,"climb":0.000} $GPGSV,3,2,12,18,50,135,50,19,15,291,46,21,59,069,51,22,30,169,49*75 $PGRME,1.7,M,2.4,M,3.0,M*2D $GPGLL,5213.1439,N,02100.6511,E,093802,A,D*48 {"class":"TPV","tag":"GLL","mode":3,"time":"2005-03-16T09:38:02.000Z","ept":0.005,"lat":52.219065000,"lon":21.010851667,"alt":137.200,"epx":2.496,"epy":2.496,"epv":4.983,"track":226.0000,"speed":0.000,"climb":0.000} $GPVTG,226,T,222,M,000.0,N,0000.0,K,D*12 $PGRMV,0.0,0.0,0.0*5C $PGRMF,290,293895,160305,093802,13,5213.1439,N,02100.6511,E,A,2,0,226,2,1*11 $PGRMB,0.0,200,,,,K,,W,W*31 $PGRMM,WGS 84*06 $GPRMC,093803,A,5213.1439,N,02100.6511,E,000.0,226.0,160305,004.2,E,D*14 $GPGGA,093803,5213.1439,N,02100.6511,E,2,10,0.9,137.2,M,36.2,M,,*42 $GPGSA,A,3,03,06,15,16,18,19,21,22,,27,29,,1.6,0.9,1.3*34 $GPGSV,3,3,12,26,14,065,48,27,08,336,38,29,14,048,44,44,18,130,41*78 {"class":"SKY","tag":"GSV","xdop":0.64,"ydop":0.66,"vdop":1.30,"tdop":0.71,"hdop":0.90,"gdop":1.92,"pdop":1.60,"satellites":[{"PRN":18,"el":50,"az":135,"ss":50,"used":true},{"PRN":19,"el":15,"az":291,"ss":46,"used":true},{"PRN":21,"el":59,"az":69,"ss":51,"used":true},{"PRN":22,"el":30,"az":169,"ss":49,"used":true},{"PRN":26,"el":14,"az":65,"ss":48,"used":false},{"PRN":27,"el":8,"az":336,"ss":38,"used":true},{"PRN":29,"el":14,"az":48,"ss":44,"used":true},{"PRN":131,"el":18,"az":130,"ss":41,"used":false}]} $PGRME,1.7,M,2.4,M,3.0,M*2D $GPGLL,5213.1439,N,02100.6511,E,093803,A,D*49 {"class":"TPV","tag":"GLL","mode":3,"time":"2005-03-16T09:38:03.000Z","ept":0.005,"lat":52.219065000,"lon":21.010851667,"alt":137.200,"epx":2.496,"epy":2.496,"epv":4.983,"track":226.0000,"speed":0.000,"climb":0.000} $GPVTG,226,T,222,M,000.0,N,0000.0,K,D*12 $PGRMV,0.0,0.0,0.0*5C $PGRMF,290,293896,160305,093803,13,5213.1439,N,02100.6511,E,A,2,0,226,2,1*13 $PGRMB,0.0,200,,,,K,,W,W*31 $PGRMM,WGS 84*06 gpsd-3.9/test/daemon/garmin25lp.log0000664000175000017500000001451611762140436015410 0ustar esresr# Name: Garmin 25LP # Chipset: Garmin proprietary, emits NMEA 2.0 # Submitter: Daniele Giangrazi # Date: 2005-03-22 # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPRMC,120316,V,4221.4394,N,01321.9948,E,000.0,000.0,150305,001.4,E*63 $GPGSV,2,1,08,01,10,158,45,03,72,164,41,11,24,279,,14,30,119,48*76 $GPGSV,2,2,08,15,33,070,40,16,05,184,,18,20,046,,19,73,304,*7B $GPRMC,120317,V,4221.4394,N,01321.9948,E,000.0,000.0,150305,001.4,E*62 $GPGGA,120317,4221.4394,N,01321.9948,E,0,00,,,M,,M,,*59 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,2,1,08,01,10,158,45,03,72,164,41,11,24,279,,14,30,119,48*76 $GPGSV,2,2,08,15,33,070,40,16,05,184,,18,20,046,,19,73,304,*7B $GPRMC,120318,V,4221.4394,N,01321.9948,E,000.0,000.0,150305,001.4,E*6D $GPGGA,120318,4221.4394,N,01321.9948,E,0,00,,,M,,M,,*56 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,2,1,08,01,10,158,45,03,72,164,41,11,24,279,,14,30,119,48*76 $GPGSV,2,2,08,15,33,070,40,16,05,184,,18,20,046,,19,73,304,*7B $GPRMC,120319,V,4221.4394,N,01321.9948,E,000.0,000.0,150305,001.4,E*6C $GPGGA,120319,4221.4394,N,01321.9948,E,0,00,,,M,,M,,*57 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,2,1,08,01,10,158,45,03,72,164,41,11,24,279,,14,30,119,48*76 $GPGSV,2,2,08,15,33,070,40,16,05,184,,18,20,046,,19,73,304,*7B $GPRMC,120320,V,4221.4394,N,01321.9948,E,000.0,000.0,150305,001.4,E*66 $GPGGA,120320,4221.4394,N,01321.9948,E,0,00,,,M,,M,,*5D $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,2,1,08,01,10,158,45,03,72,164,41,11,24,279,,14,30,119,48*76 $GPGSV,2,2,08,15,33,070,40,16,05,184,,18,20,046,,19,73,304,*7B $GPRMC,120321,V,4221.4394,N,01321.9948,E,000.0,000.0,150305,001.4,E*67 $GPGGA,120321,4221.4394,N,01321.9948,E,0,00,,,M,,M,,*5C $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,2,1,08,01,10,158,45,03,72,164,41,11,24,279,,14,30,119,48*76 $GPGSV,2,2,08,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPRMC,120322,V,4221.4394,N,01321.9948,E,000.0,000.0,150305,001.4,E*64 $GPGGA,120322,4221.4394,N,01321.9948,E,0,00,,,M,,M,,*5F $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,2,1,08,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,48*75 $GPGSV,2,2,08,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPRMC,120323,V,4221.4394,N,01321.9948,E,000.0,000.0,150305,001.4,E*65 $GPGGA,120323,4221.4394,N,01321.9948,E,0,00,,,M,,M,,*5E $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,2,1,08,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,48*75 $GPGSV,2,2,08,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPRMC,120324,V,4221.4394,N,01321.9948,E,000.0,000.0,150305,001.4,E*62 $GPGGA,120324,4221.4394,N,01321.9948,E,0,00,,,M,,M,,*59 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,2,1,08,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,48*75 $GPGSV,2,2,08,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPRMC,120325,V,4221.4394,N,01321.9948,E,000.0,000.0,150305,001.4,E*63 $GPGGA,120325,4221.4394,N,01321.9948,E,0,00,,,M,,M,,*58 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,2,1,08,01,10,158,44,03,72,164,42,11,24,279,,14,30,119,48*74 $GPGSV,2,2,08,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPRMC,120326,A,4221.3871,N,01322.0800,E,000.0,000.0,150305,001.4,E*77 $GPGGA,120326,4221.3871,N,01322.0800,E,1,00,3.1,746.1,M,44.2,M,,*40 $GPGSA,A,2,01,03,,14,,,,,,,,,3.1,3.1,*1A $GPGSV,2,1,08,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,48*75 $GPGSV,2,2,08,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPRMC,120327,A,4221.3872,N,01322.0800,E,000.0,000.0,150305,001.4,E*75 $GPGGA,120327,4221.3872,N,01322.0800,E,1,03,3.1,746.1,M,44.2,M,,*41 $GPGSA,A,2,01,03,,14,,,,,,,,,3.1,3.1,*1A $GPGSV,2,1,08,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,48*75 $GPGSV,2,2,08,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPRMC,120328,A,4221.3873,N,01322.0800,E,000.0,000.0,150305,001.4,E*7B $GPGGA,120328,4221.3873,N,01322.0800,E,1,03,3.1,746.1,M,44.2,M,,*4F $GPGSA,A,2,01,03,,14,,,,,,,,,3.1,3.1,*1A $GPGSV,3,1,09,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,48*75 $GPGSV,3,2,09,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPGSV,3,3,09,22,50,054,,,,,,,,,,,,,*44 $GPRMC,120329,A,4221.3874,N,01322.0805,E,000.0,000.0,150305,001.4,E*78 $GPGGA,120329,4221.3874,N,01322.0805,E,1,03,3.1,746.1,M,44.2,M,,*4C $GPGSA,A,2,01,03,,14,,,,,,,,,3.1,3.1,*1A $GPGSV,3,1,09,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,48*75 $GPGSV,3,2,09,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPGSV,3,3,09,22,50,054,,,,,,,,,,,,,*44 $GPRMC,120330,A,4221.3875,N,01322.0807,E,000.0,000.0,150305,001.4,E*73 $GPGGA,120330,4221.3875,N,01322.0807,E,1,03,3.1,746.1,M,44.2,M,,*47 $GPGSA,A,2,01,03,,14,,,,,,,,,3.1,3.1,*1A $GPGSV,3,1,09,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,47*7A $GPGSV,3,2,09,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPGSV,3,3,09,22,50,054,,,,,,,,,,,,,*44 $GPRMC,120331,A,4221.3880,N,01322.0808,E,000.0,000.0,150305,001.4,E*77 $GPGGA,120331,4221.3880,N,01322.0808,E,1,03,3.1,746.1,M,44.2,M,,*43 $GPGSA,A,2,01,03,,14,,,,,,,,,3.1,3.1,*1A $GPGSV,3,1,09,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,47*7A $GPGSV,3,2,09,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPGSV,3,3,09,22,50,054,,,,,,,,,,,,,*44 $GPRMC,120332,A,4221.3884,N,01322.0802,E,000.0,000.0,150305,001.4,E*7A $GPGGA,120332,4221.3884,N,01322.0802,E,1,03,3.1,746.1,M,44.2,M,,*4E $GPGSA,A,2,01,03,,14,,,,,,,,,3.1,3.1,*1A $GPGSV,3,1,09,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,47*7A $GPGSV,3,2,09,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPGSV,3,3,09,22,50,054,,,,,,,,,,,,,*44 $GPRMC,120333,A,4221.3889,N,01322.0794,E,000.0,000.0,150305,001.4,E*76 $GPGGA,120333,4221.3889,N,01322.0794,E,1,03,3.1,746.1,M,44.2,M,,*42 $GPGSA,A,2,01,03,,14,,,,,,,,,3.1,3.1,*1A $GPGSV,3,1,09,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,47*7A $GPGSV,3,2,09,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPGSV,3,3,09,22,50,054,,,,,,,,,,,,,*44 $GPRMC,120334,A,4221.3893,N,01322.0786,E,000.0,000.0,150305,001.4,E*79 $GPGGA,120334,4221.3893,N,01322.0786,E,1,03,3.1,746.1,M,44.2,M,,*4D $GPGSA,A,2,01,03,,14,,,,,,,,,3.1,3.1,*1A $GPGSV,3,1,09,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,47*7A $GPGSV,3,2,09,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPGSV,3,3,09,22,50,054,,,,,,,,,,,,,*44 $GPRMC,120335,A,4221.3898,N,01322.0780,E,000.0,000.0,150305,001.4,E*75 $GPGGA,120335,4221.3898,N,01322.0780,E,1,03,3.1,746.1,M,44.2,M,,*41 $GPGSA,A,2,01,03,,14,,,,,,,,,3.1,3.1,*1A $GPGSV,3,1,09,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,47*7A $GPGSV,3,2,09,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPGSV,3,3,09,22,50,054,,,,,,,,,,,,,*44 gpsd-3.9/test/daemon/garmin25lp.log.chk0000664000175000017500000004315412135526317016155 0ustar esresr$GPRMC,120316,V,4221.4394,N,01321.9948,E,000.0,000.0,150305,001.4,E*63 $GPGSV,2,1,08,01,10,158,45,03,72,164,41,11,24,279,,14,30,119,48*76 $GPGSV,2,2,08,15,33,070,40,16,05,184,,18,20,046,,19,73,304,*7B {"class":"SKY","tag":"GSV","satellites":[{"PRN":1,"el":10,"az":158,"ss":45,"used":false},{"PRN":3,"el":72,"az":164,"ss":41,"used":false},{"PRN":11,"el":24,"az":279,"ss":0,"used":false},{"PRN":14,"el":30,"az":119,"ss":48,"used":false},{"PRN":15,"el":33,"az":70,"ss":40,"used":false},{"PRN":16,"el":5,"az":184,"ss":0,"used":false},{"PRN":18,"el":20,"az":46,"ss":0,"used":false},{"PRN":19,"el":73,"az":304,"ss":0,"used":false}]} $GPRMC,120317,V,4221.4394,N,01321.9948,E,000.0,000.0,150305,001.4,E*62 $GPGGA,120317,4221.4394,N,01321.9948,E,0,00,,,M,,M,,*59 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,2,1,08,01,10,158,45,03,72,164,41,11,24,279,,14,30,119,48*76 $GPGSV,2,2,08,15,33,070,40,16,05,184,,18,20,046,,19,73,304,*7B {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":1,"el":10,"az":158,"ss":45,"used":false},{"PRN":3,"el":72,"az":164,"ss":41,"used":false},{"PRN":11,"el":24,"az":279,"ss":0,"used":false},{"PRN":14,"el":30,"az":119,"ss":48,"used":false},{"PRN":15,"el":33,"az":70,"ss":40,"used":false},{"PRN":16,"el":5,"az":184,"ss":0,"used":false},{"PRN":18,"el":20,"az":46,"ss":0,"used":false},{"PRN":19,"el":73,"az":304,"ss":0,"used":false}]} $GPRMC,120318,V,4221.4394,N,01321.9948,E,000.0,000.0,150305,001.4,E*6D $GPGGA,120318,4221.4394,N,01321.9948,E,0,00,,,M,,M,,*56 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,2,1,08,01,10,158,45,03,72,164,41,11,24,279,,14,30,119,48*76 $GPGSV,2,2,08,15,33,070,40,16,05,184,,18,20,046,,19,73,304,*7B {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":1,"el":10,"az":158,"ss":45,"used":false},{"PRN":3,"el":72,"az":164,"ss":41,"used":false},{"PRN":11,"el":24,"az":279,"ss":0,"used":false},{"PRN":14,"el":30,"az":119,"ss":48,"used":false},{"PRN":15,"el":33,"az":70,"ss":40,"used":false},{"PRN":16,"el":5,"az":184,"ss":0,"used":false},{"PRN":18,"el":20,"az":46,"ss":0,"used":false},{"PRN":19,"el":73,"az":304,"ss":0,"used":false}]} $GPRMC,120319,V,4221.4394,N,01321.9948,E,000.0,000.0,150305,001.4,E*6C $GPGGA,120319,4221.4394,N,01321.9948,E,0,00,,,M,,M,,*57 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,2,1,08,01,10,158,45,03,72,164,41,11,24,279,,14,30,119,48*76 $GPGSV,2,2,08,15,33,070,40,16,05,184,,18,20,046,,19,73,304,*7B {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":1,"el":10,"az":158,"ss":45,"used":false},{"PRN":3,"el":72,"az":164,"ss":41,"used":false},{"PRN":11,"el":24,"az":279,"ss":0,"used":false},{"PRN":14,"el":30,"az":119,"ss":48,"used":false},{"PRN":15,"el":33,"az":70,"ss":40,"used":false},{"PRN":16,"el":5,"az":184,"ss":0,"used":false},{"PRN":18,"el":20,"az":46,"ss":0,"used":false},{"PRN":19,"el":73,"az":304,"ss":0,"used":false}]} $GPRMC,120320,V,4221.4394,N,01321.9948,E,000.0,000.0,150305,001.4,E*66 $GPGGA,120320,4221.4394,N,01321.9948,E,0,00,,,M,,M,,*5D $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,2,1,08,01,10,158,45,03,72,164,41,11,24,279,,14,30,119,48*76 $GPGSV,2,2,08,15,33,070,40,16,05,184,,18,20,046,,19,73,304,*7B {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":1,"el":10,"az":158,"ss":45,"used":false},{"PRN":3,"el":72,"az":164,"ss":41,"used":false},{"PRN":11,"el":24,"az":279,"ss":0,"used":false},{"PRN":14,"el":30,"az":119,"ss":48,"used":false},{"PRN":15,"el":33,"az":70,"ss":40,"used":false},{"PRN":16,"el":5,"az":184,"ss":0,"used":false},{"PRN":18,"el":20,"az":46,"ss":0,"used":false},{"PRN":19,"el":73,"az":304,"ss":0,"used":false}]} $GPRMC,120321,V,4221.4394,N,01321.9948,E,000.0,000.0,150305,001.4,E*67 $GPGGA,120321,4221.4394,N,01321.9948,E,0,00,,,M,,M,,*5C $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,2,1,08,01,10,158,45,03,72,164,41,11,24,279,,14,30,119,48*76 $GPGSV,2,2,08,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":1,"el":10,"az":158,"ss":45,"used":false},{"PRN":3,"el":72,"az":164,"ss":41,"used":false},{"PRN":11,"el":24,"az":279,"ss":0,"used":false},{"PRN":14,"el":30,"az":119,"ss":48,"used":false},{"PRN":15,"el":33,"az":70,"ss":39,"used":false},{"PRN":16,"el":5,"az":184,"ss":0,"used":false},{"PRN":18,"el":20,"az":46,"ss":0,"used":false},{"PRN":19,"el":73,"az":304,"ss":0,"used":false}]} $GPRMC,120322,V,4221.4394,N,01321.9948,E,000.0,000.0,150305,001.4,E*64 $GPGGA,120322,4221.4394,N,01321.9948,E,0,00,,,M,,M,,*5F $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,2,1,08,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,48*75 $GPGSV,2,2,08,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":1,"el":10,"az":158,"ss":45,"used":false},{"PRN":3,"el":72,"az":164,"ss":42,"used":false},{"PRN":11,"el":24,"az":279,"ss":0,"used":false},{"PRN":14,"el":30,"az":119,"ss":48,"used":false},{"PRN":15,"el":33,"az":70,"ss":39,"used":false},{"PRN":16,"el":5,"az":184,"ss":0,"used":false},{"PRN":18,"el":20,"az":46,"ss":0,"used":false},{"PRN":19,"el":73,"az":304,"ss":0,"used":false}]} $GPRMC,120323,V,4221.4394,N,01321.9948,E,000.0,000.0,150305,001.4,E*65 $GPGGA,120323,4221.4394,N,01321.9948,E,0,00,,,M,,M,,*5E $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,2,1,08,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,48*75 $GPGSV,2,2,08,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":1,"el":10,"az":158,"ss":45,"used":false},{"PRN":3,"el":72,"az":164,"ss":42,"used":false},{"PRN":11,"el":24,"az":279,"ss":0,"used":false},{"PRN":14,"el":30,"az":119,"ss":48,"used":false},{"PRN":15,"el":33,"az":70,"ss":39,"used":false},{"PRN":16,"el":5,"az":184,"ss":0,"used":false},{"PRN":18,"el":20,"az":46,"ss":0,"used":false},{"PRN":19,"el":73,"az":304,"ss":0,"used":false}]} $GPRMC,120324,V,4221.4394,N,01321.9948,E,000.0,000.0,150305,001.4,E*62 $GPGGA,120324,4221.4394,N,01321.9948,E,0,00,,,M,,M,,*59 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,2,1,08,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,48*75 $GPGSV,2,2,08,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":1,"el":10,"az":158,"ss":45,"used":false},{"PRN":3,"el":72,"az":164,"ss":42,"used":false},{"PRN":11,"el":24,"az":279,"ss":0,"used":false},{"PRN":14,"el":30,"az":119,"ss":48,"used":false},{"PRN":15,"el":33,"az":70,"ss":39,"used":false},{"PRN":16,"el":5,"az":184,"ss":0,"used":false},{"PRN":18,"el":20,"az":46,"ss":0,"used":false},{"PRN":19,"el":73,"az":304,"ss":0,"used":false}]} $GPRMC,120325,V,4221.4394,N,01321.9948,E,000.0,000.0,150305,001.4,E*63 $GPGGA,120325,4221.4394,N,01321.9948,E,0,00,,,M,,M,,*58 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,2,1,08,01,10,158,44,03,72,164,42,11,24,279,,14,30,119,48*74 $GPGSV,2,2,08,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":1,"el":10,"az":158,"ss":44,"used":false},{"PRN":3,"el":72,"az":164,"ss":42,"used":false},{"PRN":11,"el":24,"az":279,"ss":0,"used":false},{"PRN":14,"el":30,"az":119,"ss":48,"used":false},{"PRN":15,"el":33,"az":70,"ss":39,"used":false},{"PRN":16,"el":5,"az":184,"ss":0,"used":false},{"PRN":18,"el":20,"az":46,"ss":0,"used":false},{"PRN":19,"el":73,"az":304,"ss":0,"used":false}]} $GPRMC,120326,A,4221.3871,N,01322.0800,E,000.0,000.0,150305,001.4,E*77 {"class":"TPV","tag":"RMC","mode":2,"time":"2005-03-15T12:03:26.000Z","ept":0.005,"lat":42.356451667,"lon":13.368000000,"track":0.0000,"speed":0.000} $GPGGA,120326,4221.3871,N,01322.0800,E,1,00,3.1,746.1,M,44.2,M,,*40 {"class":"TPV","tag":"GGA","mode":3,"time":"2005-03-15T12:03:26.000Z","ept":0.005,"lat":42.356451667,"lon":13.368000000,"alt":746.100,"epv":0.000,"track":0.0000,"speed":0.000} $GPGSA,A,2,01,03,,14,,,,,,,,,3.1,3.1,*1A $GPGSV,2,1,08,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,48*75 $GPGSV,2,2,08,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":3.10,"pdop":3.10,"satellites":[{"PRN":1,"el":10,"az":158,"ss":45,"used":true},{"PRN":3,"el":72,"az":164,"ss":42,"used":true},{"PRN":11,"el":24,"az":279,"ss":0,"used":false},{"PRN":14,"el":30,"az":119,"ss":48,"used":true},{"PRN":15,"el":33,"az":70,"ss":39,"used":false},{"PRN":16,"el":5,"az":184,"ss":0,"used":false},{"PRN":18,"el":20,"az":46,"ss":0,"used":false},{"PRN":19,"el":73,"az":304,"ss":0,"used":false}]} $GPRMC,120327,A,4221.3872,N,01322.0800,E,000.0,000.0,150305,001.4,E*75 $GPGGA,120327,4221.3872,N,01322.0800,E,1,03,3.1,746.1,M,44.2,M,,*41 {"class":"TPV","tag":"GGA","mode":3,"time":"2005-03-15T12:03:27.000Z","ept":0.005,"lat":42.356453333,"lon":13.368000000,"alt":746.100,"epv":0.000,"track":0.0000,"speed":0.000} $GPGSA,A,2,01,03,,14,,,,,,,,,3.1,3.1,*1A $GPGSV,2,1,08,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,48*75 $GPGSV,2,2,08,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":3.10,"pdop":3.10,"satellites":[{"PRN":1,"el":10,"az":158,"ss":45,"used":true},{"PRN":3,"el":72,"az":164,"ss":42,"used":true},{"PRN":11,"el":24,"az":279,"ss":0,"used":false},{"PRN":14,"el":30,"az":119,"ss":48,"used":true},{"PRN":15,"el":33,"az":70,"ss":39,"used":false},{"PRN":16,"el":5,"az":184,"ss":0,"used":false},{"PRN":18,"el":20,"az":46,"ss":0,"used":false},{"PRN":19,"el":73,"az":304,"ss":0,"used":false}]} $GPRMC,120328,A,4221.3873,N,01322.0800,E,000.0,000.0,150305,001.4,E*7B $GPGGA,120328,4221.3873,N,01322.0800,E,1,03,3.1,746.1,M,44.2,M,,*4F {"class":"TPV","tag":"GGA","mode":3,"time":"2005-03-15T12:03:28.000Z","ept":0.005,"lat":42.356455000,"lon":13.368000000,"alt":746.100,"epv":0.000,"track":0.0000,"speed":0.000} $GPGSA,A,2,01,03,,14,,,,,,,,,3.1,3.1,*1A $GPGSV,3,1,09,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,48*75 $GPGSV,3,2,09,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPGSV,3,3,09,22,50,054,,,,,,,,,,,,,*44 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":3.10,"pdop":3.10,"satellites":[{"PRN":1,"el":10,"az":158,"ss":45,"used":true},{"PRN":3,"el":72,"az":164,"ss":42,"used":true},{"PRN":11,"el":24,"az":279,"ss":0,"used":false},{"PRN":14,"el":30,"az":119,"ss":48,"used":true},{"PRN":15,"el":33,"az":70,"ss":39,"used":false},{"PRN":16,"el":5,"az":184,"ss":0,"used":false},{"PRN":18,"el":20,"az":46,"ss":0,"used":false},{"PRN":19,"el":73,"az":304,"ss":0,"used":false},{"PRN":22,"el":50,"az":54,"ss":0,"used":false}]} $GPRMC,120329,A,4221.3874,N,01322.0805,E,000.0,000.0,150305,001.4,E*78 $GPGGA,120329,4221.3874,N,01322.0805,E,1,03,3.1,746.1,M,44.2,M,,*4C {"class":"TPV","tag":"GGA","mode":3,"time":"2005-03-15T12:03:29.000Z","ept":0.005,"lat":42.356456667,"lon":13.368008333,"alt":746.100,"epv":0.000,"track":0.0000,"speed":0.000} $GPGSA,A,2,01,03,,14,,,,,,,,,3.1,3.1,*1A $GPGSV,3,1,09,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,48*75 $GPGSV,3,2,09,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPGSV,3,3,09,22,50,054,,,,,,,,,,,,,*44 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":3.10,"pdop":3.10,"satellites":[{"PRN":1,"el":10,"az":158,"ss":45,"used":true},{"PRN":3,"el":72,"az":164,"ss":42,"used":true},{"PRN":11,"el":24,"az":279,"ss":0,"used":false},{"PRN":14,"el":30,"az":119,"ss":48,"used":true},{"PRN":15,"el":33,"az":70,"ss":39,"used":false},{"PRN":16,"el":5,"az":184,"ss":0,"used":false},{"PRN":18,"el":20,"az":46,"ss":0,"used":false},{"PRN":19,"el":73,"az":304,"ss":0,"used":false},{"PRN":22,"el":50,"az":54,"ss":0,"used":false}]} $GPRMC,120330,A,4221.3875,N,01322.0807,E,000.0,000.0,150305,001.4,E*73 $GPGGA,120330,4221.3875,N,01322.0807,E,1,03,3.1,746.1,M,44.2,M,,*47 {"class":"TPV","tag":"GGA","mode":3,"time":"2005-03-15T12:03:30.000Z","ept":0.005,"lat":42.356458333,"lon":13.368011667,"alt":746.100,"epv":0.000,"track":0.0000,"speed":0.000} $GPGSA,A,2,01,03,,14,,,,,,,,,3.1,3.1,*1A $GPGSV,3,1,09,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,47*7A $GPGSV,3,2,09,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPGSV,3,3,09,22,50,054,,,,,,,,,,,,,*44 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":3.10,"pdop":3.10,"satellites":[{"PRN":1,"el":10,"az":158,"ss":45,"used":true},{"PRN":3,"el":72,"az":164,"ss":42,"used":true},{"PRN":11,"el":24,"az":279,"ss":0,"used":false},{"PRN":14,"el":30,"az":119,"ss":47,"used":true},{"PRN":15,"el":33,"az":70,"ss":39,"used":false},{"PRN":16,"el":5,"az":184,"ss":0,"used":false},{"PRN":18,"el":20,"az":46,"ss":0,"used":false},{"PRN":19,"el":73,"az":304,"ss":0,"used":false},{"PRN":22,"el":50,"az":54,"ss":0,"used":false}]} $GPRMC,120331,A,4221.3880,N,01322.0808,E,000.0,000.0,150305,001.4,E*77 $GPGGA,120331,4221.3880,N,01322.0808,E,1,03,3.1,746.1,M,44.2,M,,*43 {"class":"TPV","tag":"GGA","mode":3,"time":"2005-03-15T12:03:31.000Z","ept":0.005,"lat":42.356466667,"lon":13.368013333,"alt":746.100,"epv":0.000,"track":0.0000,"speed":0.000} $GPGSA,A,2,01,03,,14,,,,,,,,,3.1,3.1,*1A $GPGSV,3,1,09,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,47*7A $GPGSV,3,2,09,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPGSV,3,3,09,22,50,054,,,,,,,,,,,,,*44 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":3.10,"pdop":3.10,"satellites":[{"PRN":1,"el":10,"az":158,"ss":45,"used":true},{"PRN":3,"el":72,"az":164,"ss":42,"used":true},{"PRN":11,"el":24,"az":279,"ss":0,"used":false},{"PRN":14,"el":30,"az":119,"ss":47,"used":true},{"PRN":15,"el":33,"az":70,"ss":39,"used":false},{"PRN":16,"el":5,"az":184,"ss":0,"used":false},{"PRN":18,"el":20,"az":46,"ss":0,"used":false},{"PRN":19,"el":73,"az":304,"ss":0,"used":false},{"PRN":22,"el":50,"az":54,"ss":0,"used":false}]} $GPRMC,120332,A,4221.3884,N,01322.0802,E,000.0,000.0,150305,001.4,E*7A $GPGGA,120332,4221.3884,N,01322.0802,E,1,03,3.1,746.1,M,44.2,M,,*4E {"class":"TPV","tag":"GGA","mode":3,"time":"2005-03-15T12:03:32.000Z","ept":0.005,"lat":42.356473333,"lon":13.368003333,"alt":746.100,"epv":0.000,"track":0.0000,"speed":0.000} $GPGSA,A,2,01,03,,14,,,,,,,,,3.1,3.1,*1A $GPGSV,3,1,09,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,47*7A $GPGSV,3,2,09,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPGSV,3,3,09,22,50,054,,,,,,,,,,,,,*44 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":3.10,"pdop":3.10,"satellites":[{"PRN":1,"el":10,"az":158,"ss":45,"used":true},{"PRN":3,"el":72,"az":164,"ss":42,"used":true},{"PRN":11,"el":24,"az":279,"ss":0,"used":false},{"PRN":14,"el":30,"az":119,"ss":47,"used":true},{"PRN":15,"el":33,"az":70,"ss":39,"used":false},{"PRN":16,"el":5,"az":184,"ss":0,"used":false},{"PRN":18,"el":20,"az":46,"ss":0,"used":false},{"PRN":19,"el":73,"az":304,"ss":0,"used":false},{"PRN":22,"el":50,"az":54,"ss":0,"used":false}]} $GPRMC,120333,A,4221.3889,N,01322.0794,E,000.0,000.0,150305,001.4,E*76 $GPGGA,120333,4221.3889,N,01322.0794,E,1,03,3.1,746.1,M,44.2,M,,*42 {"class":"TPV","tag":"GGA","mode":3,"time":"2005-03-15T12:03:33.000Z","ept":0.005,"lat":42.356481667,"lon":13.367990000,"alt":746.100,"epv":0.000,"track":0.0000,"speed":0.000} $GPGSA,A,2,01,03,,14,,,,,,,,,3.1,3.1,*1A $GPGSV,3,1,09,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,47*7A $GPGSV,3,2,09,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPGSV,3,3,09,22,50,054,,,,,,,,,,,,,*44 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":3.10,"pdop":3.10,"satellites":[{"PRN":1,"el":10,"az":158,"ss":45,"used":true},{"PRN":3,"el":72,"az":164,"ss":42,"used":true},{"PRN":11,"el":24,"az":279,"ss":0,"used":false},{"PRN":14,"el":30,"az":119,"ss":47,"used":true},{"PRN":15,"el":33,"az":70,"ss":39,"used":false},{"PRN":16,"el":5,"az":184,"ss":0,"used":false},{"PRN":18,"el":20,"az":46,"ss":0,"used":false},{"PRN":19,"el":73,"az":304,"ss":0,"used":false},{"PRN":22,"el":50,"az":54,"ss":0,"used":false}]} $GPRMC,120334,A,4221.3893,N,01322.0786,E,000.0,000.0,150305,001.4,E*79 $GPGGA,120334,4221.3893,N,01322.0786,E,1,03,3.1,746.1,M,44.2,M,,*4D {"class":"TPV","tag":"GGA","mode":3,"time":"2005-03-15T12:03:34.000Z","ept":0.005,"lat":42.356488333,"lon":13.367976667,"alt":746.100,"epv":0.000,"track":0.0000,"speed":0.000} $GPGSA,A,2,01,03,,14,,,,,,,,,3.1,3.1,*1A $GPGSV,3,1,09,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,47*7A $GPGSV,3,2,09,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPGSV,3,3,09,22,50,054,,,,,,,,,,,,,*44 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":3.10,"pdop":3.10,"satellites":[{"PRN":1,"el":10,"az":158,"ss":45,"used":true},{"PRN":3,"el":72,"az":164,"ss":42,"used":true},{"PRN":11,"el":24,"az":279,"ss":0,"used":false},{"PRN":14,"el":30,"az":119,"ss":47,"used":true},{"PRN":15,"el":33,"az":70,"ss":39,"used":false},{"PRN":16,"el":5,"az":184,"ss":0,"used":false},{"PRN":18,"el":20,"az":46,"ss":0,"used":false},{"PRN":19,"el":73,"az":304,"ss":0,"used":false},{"PRN":22,"el":50,"az":54,"ss":0,"used":false}]} $GPRMC,120335,A,4221.3898,N,01322.0780,E,000.0,000.0,150305,001.4,E*75 $GPGGA,120335,4221.3898,N,01322.0780,E,1,03,3.1,746.1,M,44.2,M,,*41 {"class":"TPV","tag":"GGA","mode":3,"time":"2005-03-15T12:03:35.000Z","ept":0.005,"lat":42.356496667,"lon":13.367966667,"alt":746.100,"epv":0.000,"track":0.0000,"speed":0.000} $GPGSA,A,2,01,03,,14,,,,,,,,,3.1,3.1,*1A $GPGSV,3,1,09,01,10,158,45,03,72,164,42,11,24,279,,14,30,119,47*7A $GPGSV,3,2,09,15,33,070,39,16,05,184,,18,20,046,,19,73,304,*75 $GPGSV,3,3,09,22,50,054,,,,,,,,,,,,,*44 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":3.10,"pdop":3.10,"satellites":[{"PRN":1,"el":10,"az":158,"ss":45,"used":true},{"PRN":3,"el":72,"az":164,"ss":42,"used":true},{"PRN":11,"el":24,"az":279,"ss":0,"used":false},{"PRN":14,"el":30,"az":119,"ss":47,"used":true},{"PRN":15,"el":33,"az":70,"ss":39,"used":false},{"PRN":16,"el":5,"az":184,"ss":0,"used":false},{"PRN":18,"el":20,"az":46,"ss":0,"used":false},{"PRN":19,"el":73,"az":304,"ss":0,"used":false},{"PRN":22,"el":50,"az":54,"ss":0,"used":false}]} gpsd-3.9/test/daemon/garmin38.log0000664000175000017500000000531511762140437015056 0ustar esresr# Name: Garmin 38 # Submitter: "Pascal F. Martin" # Date: 2005-03-18 # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $PGRME,19.2,M,28.7,M,34.6,M*18 $GPGLL,3348.452,N,11821.142,W,142214,A*3B $PGRMZ,125,f,3*1D $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,142216,A,3348.452,N,11821.143,W,000.0,353.6,081002,013.8,E*66 $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,142216,3348.452,N,11821.143,W,1,05,1.8,38.4,M,-32.4,M,,*4B $GPGSA,A,3,03,,11,14,,,25,31,,,,,3.3,1.8,2.8*32 $GPGSV,2,1,08,03,23,224,38,09,06,037,00,11,17,314,41,14,75,015,44*72 $GPGSV,2,2,08,15,18,138,00,18,20,079,00,25,27,172,46,31,27,263,38*7C $PGRME,19.2,M,28.7,M,34.6,M*18 $GPGLL,3348.452,N,11821.143,W,142216,A*38 $PGRMZ,126,f,3*1E $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,142218,A,3348.451,N,11821.144,W,000.0,353.6,081002,013.8,E*6C $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,142218,3348.451,N,11821.144,W,1,05,1.8,38.4,M,-32.4,M,,*41 $GPGSA,A,3,03,,11,14,,,25,31,,,,,3.3,1.8,2.8*32 $GPGSV,2,1,08,03,23,224,43,09,06,037,00,11,17,314,38,14,75,015,44*70 $GPGSV,2,2,08,15,18,138,00,18,20,079,00,25,27,172,39,31,27,263,42*79 $PGRME,19.2,M,28.7,M,34.6,M*18 $GPGLL,3348.451,N,11821.144,W,142218,A*32 $PGRMZ,126,f,3*1E $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,142220,A,3348.451,N,11821.142,W,000.0,353.6,081002,013.8,E*61 $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,142220,3348.451,N,11821.142,W,1,05,1.8,37.6,M,-32.4,M,,*41 $GPGSA,A,3,03,,11,14,,,25,31,,,,,3.3,1.8,2.8*32 $GPGSV,2,1,08,03,23,224,43,09,06,037,00,11,17,314,38,14,75,015,43*77 $GPGSV,2,2,08,15,18,138,00,18,20,079,00,25,27,172,39,31,27,263,41*7A $PGRME,19.2,M,28.7,M,34.6,M*18 $GPGLL,3348.451,N,11821.142,W,142220,A*3F $PGRMZ,123,f,3*1B $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,142222,A,3348.451,N,11821.143,W,000.0,353.6,081002,013.8,E*62 $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,142222,3348.451,N,11821.143,W,1,05,1.8,38.0,M,-32.4,M,,*4B $GPGSA,A,3,03,,11,14,,,25,31,,,,,3.3,1.8,2.8*32 $GPGSV,2,1,08,03,23,224,42,09,06,037,00,11,17,314,38,14,75,015,43*76 $GPGSV,2,2,08,15,18,138,00,18,20,079,00,25,27,172,40,31,27,263,41*74 $PGRME,19.2,M,28.9,M,34.7,M*17 $GPGLL,3348.451,N,11821.143,W,142222,A*3C $PGRMZ,125,f,3*1D $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,142224,A,3348.451,N,11821.143,W,000.0,353.6,081002,013.8,E*64 $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,142224,3348.451,N,11821.143,W,1,05,1.8,38.0,M,-32.4,M,,*4D $GPGSA,A,3,03,,11,14,,,25,31,,,,,3.3,1.8,2.8*32 $GPGSV,2,1,08,03,23,224,43,09,06,037,00,11,17,314,39,14,75,015,44*71 $GPGSV,2,2,08,15,18,138,00,18,20,079,00,25,27,172,39,31,27,263,40*7B $PGRME,19.2,M,28.9,M,34.7,M*17 $GPGLL,3348.451,N,11821.143,W,142224,A*3A $PGRMZ,125,f,3*1D gpsd-3.9/test/daemon/garmin38.log.chk0000664000175000017500000001423112135526320015611 0ustar esresr$PGRME,19.2,M,28.7,M,34.6,M*18 $GPGLL,3348.452,N,11821.142,W,142214,A*3B {"class":"TPV","tag":"GLL","mode":2,"lat":33.807533333,"lon":-118.352366667} $PGRMZ,125,f,3*1D $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,142216,A,3348.452,N,11821.143,W,000.0,353.6,081002,013.8,E*66 $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,142216,3348.452,N,11821.143,W,1,05,1.8,38.4,M,-32.4,M,,*4B $GPGSA,A,3,03,,11,14,,,25,31,,,,,3.3,1.8,2.8*32 $GPGSV,2,1,08,03,23,224,38,09,06,037,00,11,17,314,41,14,75,015,44*72 $GPGSV,2,2,08,15,18,138,00,18,20,079,00,25,27,172,46,31,27,263,38*7C {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.70,"vdop":2.80,"tdop":0.79,"hdop":1.80,"gdop":2.04,"pdop":3.30,"satellites":[{"PRN":3,"el":23,"az":224,"ss":38,"used":true},{"PRN":9,"el":6,"az":37,"ss":0,"used":false},{"PRN":11,"el":17,"az":314,"ss":41,"used":true},{"PRN":14,"el":75,"az":15,"ss":44,"used":true},{"PRN":15,"el":18,"az":138,"ss":0,"used":false},{"PRN":18,"el":20,"az":79,"ss":0,"used":false},{"PRN":25,"el":27,"az":172,"ss":46,"used":true},{"PRN":31,"el":27,"az":263,"ss":38,"used":true}]} $PGRME,19.2,M,28.7,M,34.6,M*18 $GPGLL,3348.452,N,11821.143,W,142216,A*38 {"class":"TPV","tag":"GLL","mode":3,"time":"2002-10-08T14:22:16.000Z","ept":0.005,"lat":33.807533333,"lon":-118.352383333,"alt":38.400,"epx":28.188,"epy":28.188,"epv":59.589,"track":353.6000,"speed":0.000,"climb":0.000} $PGRMZ,126,f,3*1E $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,142218,A,3348.451,N,11821.144,W,000.0,353.6,081002,013.8,E*6C $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,142218,3348.451,N,11821.144,W,1,05,1.8,38.4,M,-32.4,M,,*41 $GPGSA,A,3,03,,11,14,,,25,31,,,,,3.3,1.8,2.8*32 $GPGSV,2,1,08,03,23,224,43,09,06,037,00,11,17,314,38,14,75,015,44*70 $GPGSV,2,2,08,15,18,138,00,18,20,079,00,25,27,172,39,31,27,263,42*79 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.70,"vdop":2.80,"tdop":0.79,"hdop":1.80,"gdop":2.04,"pdop":3.30,"satellites":[{"PRN":3,"el":23,"az":224,"ss":43,"used":true},{"PRN":9,"el":6,"az":37,"ss":0,"used":false},{"PRN":11,"el":17,"az":314,"ss":38,"used":true},{"PRN":14,"el":75,"az":15,"ss":44,"used":true},{"PRN":15,"el":18,"az":138,"ss":0,"used":false},{"PRN":18,"el":20,"az":79,"ss":0,"used":false},{"PRN":25,"el":27,"az":172,"ss":39,"used":true},{"PRN":31,"el":27,"az":263,"ss":42,"used":true}]} $PGRME,19.2,M,28.7,M,34.6,M*18 $GPGLL,3348.451,N,11821.144,W,142218,A*32 {"class":"TPV","tag":"GLL","mode":3,"time":"2002-10-08T14:22:18.000Z","ept":0.005,"lat":33.807516667,"lon":-118.352400000,"alt":38.400,"epx":28.188,"epy":28.188,"epv":59.589,"track":353.6000,"speed":0.000,"climb":0.000,"eps":19.99} $PGRMZ,126,f,3*1E $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,142220,A,3348.451,N,11821.142,W,000.0,353.6,081002,013.8,E*61 $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,142220,3348.451,N,11821.142,W,1,05,1.8,37.6,M,-32.4,M,,*41 $GPGSA,A,3,03,,11,14,,,25,31,,,,,3.3,1.8,2.8*32 $GPGSV,2,1,08,03,23,224,43,09,06,037,00,11,17,314,38,14,75,015,43*77 $GPGSV,2,2,08,15,18,138,00,18,20,079,00,25,27,172,39,31,27,263,41*7A {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.70,"vdop":2.80,"tdop":0.79,"hdop":1.80,"gdop":2.04,"pdop":3.30,"satellites":[{"PRN":3,"el":23,"az":224,"ss":43,"used":true},{"PRN":9,"el":6,"az":37,"ss":0,"used":false},{"PRN":11,"el":17,"az":314,"ss":38,"used":true},{"PRN":14,"el":75,"az":15,"ss":43,"used":true},{"PRN":15,"el":18,"az":138,"ss":0,"used":false},{"PRN":18,"el":20,"az":79,"ss":0,"used":false},{"PRN":25,"el":27,"az":172,"ss":39,"used":true},{"PRN":31,"el":27,"az":263,"ss":41,"used":true}]} $PGRME,19.2,M,28.7,M,34.6,M*18 $GPGLL,3348.451,N,11821.142,W,142220,A*3F {"class":"TPV","tag":"GLL","mode":3,"time":"2002-10-08T14:22:20.000Z","ept":0.005,"lat":33.807516667,"lon":-118.352366667,"alt":37.600,"epx":28.188,"epy":28.188,"epv":59.589,"track":353.6000,"speed":0.000,"climb":0.000,"eps":19.99} $PGRMZ,123,f,3*1B $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,142222,A,3348.451,N,11821.143,W,000.0,353.6,081002,013.8,E*62 $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,142222,3348.451,N,11821.143,W,1,05,1.8,38.0,M,-32.4,M,,*4B $GPGSA,A,3,03,,11,14,,,25,31,,,,,3.3,1.8,2.8*32 $GPGSV,2,1,08,03,23,224,42,09,06,037,00,11,17,314,38,14,75,015,43*76 $GPGSV,2,2,08,15,18,138,00,18,20,079,00,25,27,172,40,31,27,263,41*74 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.70,"vdop":2.80,"tdop":0.79,"hdop":1.80,"gdop":2.04,"pdop":3.30,"satellites":[{"PRN":3,"el":23,"az":224,"ss":42,"used":true},{"PRN":9,"el":6,"az":37,"ss":0,"used":false},{"PRN":11,"el":17,"az":314,"ss":38,"used":true},{"PRN":14,"el":75,"az":15,"ss":43,"used":true},{"PRN":15,"el":18,"az":138,"ss":0,"used":false},{"PRN":18,"el":20,"az":79,"ss":0,"used":false},{"PRN":25,"el":27,"az":172,"ss":40,"used":true},{"PRN":31,"el":27,"az":263,"ss":41,"used":true}]} $PGRME,19.2,M,28.9,M,34.7,M*17 $GPGLL,3348.451,N,11821.143,W,142222,A*3C {"class":"TPV","tag":"GLL","mode":3,"time":"2002-10-08T14:22:22.000Z","ept":0.005,"lat":33.807516667,"lon":-118.352383333,"alt":38.000,"epx":28.188,"epy":28.188,"epv":60.004,"track":353.6000,"speed":0.000,"climb":0.000,"eps":19.99} $PGRMZ,125,f,3*1D $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,142224,A,3348.451,N,11821.143,W,000.0,353.6,081002,013.8,E*64 $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,142224,3348.451,N,11821.143,W,1,05,1.8,38.0,M,-32.4,M,,*4D $GPGSA,A,3,03,,11,14,,,25,31,,,,,3.3,1.8,2.8*32 $GPGSV,2,1,08,03,23,224,43,09,06,037,00,11,17,314,39,14,75,015,44*71 $GPGSV,2,2,08,15,18,138,00,18,20,079,00,25,27,172,39,31,27,263,40*7B {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":0.70,"vdop":2.80,"tdop":0.79,"hdop":1.80,"gdop":2.04,"pdop":3.30,"satellites":[{"PRN":3,"el":23,"az":224,"ss":43,"used":true},{"PRN":9,"el":6,"az":37,"ss":0,"used":false},{"PRN":11,"el":17,"az":314,"ss":39,"used":true},{"PRN":14,"el":75,"az":15,"ss":44,"used":true},{"PRN":15,"el":18,"az":138,"ss":0,"used":false},{"PRN":18,"el":20,"az":79,"ss":0,"used":false},{"PRN":25,"el":27,"az":172,"ss":39,"used":true},{"PRN":31,"el":27,"az":263,"ss":40,"used":true}]} $PGRME,19.2,M,28.9,M,34.7,M*17 $GPGLL,3348.451,N,11821.143,W,142224,A*3A {"class":"TPV","tag":"GLL","mode":3,"time":"2002-10-08T14:22:24.000Z","ept":0.005,"lat":33.807516667,"lon":-118.352383333,"alt":38.000,"epx":28.188,"epy":28.188,"epv":60.004,"track":353.6000,"speed":0.000,"climb":0.000,"eps":19.99} $PGRMZ,125,f,3*1D gpsd-3.9/test/daemon/garmin48.log0000664000175000017500000001053011762140437015052 0ustar esresr# Name: Garmin 48 # Chipset: Garmin proprietary # Description: a handheld from about 2000. # # Note that the GPGLL timestamp has a 1-second offset # from the GPRMC and GPGGA timestamps. Appears to take 2 fixes # per cycle, GLL can include a fix update! # # Submitter: Hamish # Date: 2005-03-11 # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPRMC,225308,A,4527.458,S,16709.165,E,000.0,094.5,060601,024.1,E*6D $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,225308,4527.458,S,16709.165,E,1,05,2.1,14.7,M,1.1,M,,*53 $GPGSA,A,3,01,,,,13,20,22,,,,28,,3.1,2.1,2.0*3A $GPGSV,3,1,11,01,78,221,47,03,09,042,00,04,05,242,00,06,04,149,00*70 $GPGSV,3,2,11,13,37,235,48,20,41,333,46,22,65,081,46,24,02,205,00*7B $GPGSV,3,3,11,25,20,108,00,27,08,281,00,28,17,339,39,,,,*4C $PGRME,9.1,M,15.0,M,12.0,M*21 $GPGLL,4527.458,S,16709.165,E,225309,A*3E $PGRMZ,48,f,3*27 $PGRMM,WGS 84*06 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,225310,A,4527.458,S,16709.165,E,000.0,094.5,060601,024.1,E*64 $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,225310,4527.458,S,16709.165,E,1,05,2.1,14.6,M,1.1,M,,*5B $GPGSA,A,3,01,,,,13,20,22,,,,28,,3.1,2.1,2.0*3A $GPGSV,3,1,11,01,78,221,47,03,09,042,00,04,05,242,00,06,04,149,00*70 $GPGSV,3,2,11,13,37,235,48,20,41,333,46,22,65,081,46,24,02,205,00*7B $GPGSV,3,3,11,25,20,108,00,27,08,281,00,28,17,339,39,,,,*4C $PGRME,9.1,M,15.0,M,12.0,M*21 $GPGLL,4527.458,S,16709.165,E,225311,A*37 $PGRMZ,48,f,3*27 $PGRMM,WGS 84*06 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,225312,A,4527.458,S,16709.165,E,000.0,094.5,060601,024.1,E*66 $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,225312,4527.458,S,16709.165,E,1,05,2.2,14.7,M,1.1,M,,*5B $GPGSA,A,3,01,,,,13,20,22,,,,28,,3.2,2.2,2.1*3B $GPGSV,3,1,11,01,78,221,47,03,09,042,00,04,05,242,00,06,04,149,00*70 $GPGSV,3,2,11,13,37,235,49,20,41,333,46,22,65,081,46,24,02,205,00*7A $GPGSV,3,3,11,25,20,108,00,27,08,281,00,28,17,339,39,,,,*4C $PGRME,9.2,M,15.0,M,12.6,M*24 $GPGLL,4527.458,S,16709.165,E,225313,A*35 $PGRMZ,48,f,3*27 $PGRMM,WGS 84*06 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,225314,A,4527.458,S,16709.165,E,000.0,094.5,060601,024.1,E*60 $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,225314,4527.458,S,16709.165,E,1,05,2.2,14.6,M,1.1,M,,*5C $GPGSA,A,3,01,,,,13,20,22,,,,28,,3.2,2.2,2.1*3B $GPGSV,3,1,11,01,78,221,47,03,09,042,00,04,05,242,00,06,04,149,00*70 $GPGSV,3,2,11,13,37,235,49,20,41,333,46,22,65,081,46,24,02,205,00*7A $GPGSV,3,3,11,25,20,108,00,27,08,281,00,28,17,339,39,,,,*4C $PGRME,9.2,M,15.0,M,12.6,M*24 $GPGLL,4527.458,S,16709.165,E,225315,A*33 $PGRMZ,48,f,3*27 $PGRMM,WGS 84*06 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,225316,A,4527.458,S,16709.165,E,000.0,094.5,060601,024.1,E*62 $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,225316,4527.458,S,16709.165,E,1,05,2.2,14.4,M,1.1,M,,*5C $GPGSA,A,3,01,,,,13,20,22,,,,28,,3.2,2.2,2.1*3B $GPGSV,3,1,11,01,78,221,47,03,09,042,00,04,05,242,00,06,04,149,00*70 $GPGSV,3,2,11,13,37,235,49,20,40,333,46,22,65,081,46,24,02,205,00*7B $GPGSV,3,3,11,25,20,108,00,27,08,281,00,28,17,339,39,,,,*4C $PGRME,9.2,M,15.0,M,12.6,M*24 $GPGLL,4527.458,S,16709.165,E,225317,A*31 $PGRMZ,46,f,3*29 $PGRMM,WGS 84*06 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,225318,A,4527.458,S,16709.165,E,000.0,094.5,060601,024.1,E*6C $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,225318,4527.458,S,16709.165,E,1,05,2.2,14.0,M,1.1,M,,*56 $GPGSA,A,3,01,,,,13,20,22,,,,28,,3.2,2.2,2.1*3B $GPGSV,3,1,11,01,78,221,47,03,09,042,00,04,05,242,00,06,04,149,00*7 $GPGSV,3,1,11,01,78,221,47,03,09,042,00,04,05,242,00,06,04,149,00*70 $GPGSV,3,2,11,13,37,235,49,20,40,333,46,22,65,083,46,24,02,205,00*79 $GPGSV,3,3,11,25,20,108,00,27,08,281,00,28,17,339,40,,,,*42 $PGRME,10.3,M,15.2,M,16.7,M*1A $GPGLL,4527.458,S,16709.165,E,225333,A*37 $PGRMZ,41,f,3*2E $PGRMM,WGS 84*06 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,225334,A,4527.458,S,16709.165,E,000.0,094.5,060601,024.1,E*62 $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,225334,4527.458,S,16709.165,E,1,05,2.4,12.5,M,1.1,M,,*5D $GPGSA,A,3,01,,,,13,20,22,,,,28,,4.1,2.4,3.0*39 $GPGSV,3,1,11,01,78,221,47,03,09,042,00,04,05,242,00,06,04,149,00*70 $GPGSV,3,2,11,13,37,235,49,20,40,333,46,22,65,083,46,24,02,205,00*79 $GPGSV,3,3,11,25,20,108,00,27,08,281,00,28,17,339,41,,,,*43 $PGRME,10.3,M,15.2,M,16.7,M*1A $GPGLL,4527.458,S,16709.165,E,225335,A*31 $PGRMZ,41,f,3*2E $PGRMM,WGS 84*06 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 gpsd-3.9/test/daemon/garmin48.log.chk0000664000175000017500000002605412135526322015622 0ustar esresr$GPRMC,225308,A,4527.458,S,16709.165,E,000.0,094.5,060601,024.1,E*6D {"class":"TPV","tag":"RMC","mode":2,"time":"2001-06-06T22:53:08.000Z","ept":0.005,"lat":-45.457633333,"lon":167.152750000,"track":94.5000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,225308,4527.458,S,16709.165,E,1,05,2.1,14.7,M,1.1,M,,*53 {"class":"TPV","tag":"GGA","mode":3,"time":"2001-06-06T22:53:08.000Z","ept":0.005,"lat":-45.457633333,"lon":167.152750000,"alt":14.700,"track":94.5000,"speed":0.000} $GPGSA,A,3,01,,,,13,20,22,,,,28,,3.1,2.1,2.0*3A {"class":"TPV","tag":"GSA","mode":3,"time":"2001-06-06T22:53:08.000Z","ept":0.005,"lat":-45.457633333,"lon":167.152750000,"alt":14.700,"epv":46.000,"track":94.5000,"speed":0.000,"climb":0.000} $GPGSV,3,1,11,01,78,221,47,03,09,042,00,04,05,242,00,06,04,149,00*70 $GPGSV,3,2,11,13,37,235,48,20,41,333,46,22,65,081,46,24,02,205,00*7B $GPGSV,3,3,11,25,20,108,00,27,08,281,00,28,17,339,39,,,,*4C {"class":"SKY","tag":"GSV","xdop":0.84,"ydop":0.92,"vdop":2.00,"tdop":0.71,"hdop":2.10,"gdop":1.94,"pdop":3.10,"satellites":[{"PRN":1,"el":78,"az":221,"ss":47,"used":true},{"PRN":3,"el":9,"az":42,"ss":0,"used":false},{"PRN":4,"el":5,"az":242,"ss":0,"used":false},{"PRN":6,"el":4,"az":149,"ss":0,"used":false},{"PRN":13,"el":37,"az":235,"ss":48,"used":true},{"PRN":20,"el":41,"az":333,"ss":46,"used":true},{"PRN":22,"el":65,"az":81,"ss":46,"used":true},{"PRN":24,"el":2,"az":205,"ss":0,"used":false},{"PRN":25,"el":20,"az":108,"ss":0,"used":false},{"PRN":27,"el":8,"az":281,"ss":0,"used":false},{"PRN":28,"el":17,"az":339,"ss":39,"used":true}]} $PGRME,9.1,M,15.0,M,12.0,M*21 $GPGLL,4527.458,S,16709.165,E,225309,A*3E $PGRMZ,48,f,3*27 $PGRMM,WGS 84*06 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,225310,A,4527.458,S,16709.165,E,000.0,094.5,060601,024.1,E*64 $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,225310,4527.458,S,16709.165,E,1,05,2.1,14.6,M,1.1,M,,*5B {"class":"TPV","tag":"GGA","mode":3,"time":"2001-06-06T22:53:10.000Z","ept":0.005,"lat":-45.457633333,"lon":167.152750000,"alt":14.600,"epx":12.536,"epy":13.872,"epv":46.000,"track":94.5000,"speed":0.000,"eps":27.74} $GPGSA,A,3,01,,,,13,20,22,,,,28,,3.1,2.1,2.0*3A $GPGSV,3,1,11,01,78,221,47,03,09,042,00,04,05,242,00,06,04,149,00*70 $GPGSV,3,2,11,13,37,235,48,20,41,333,46,22,65,081,46,24,02,205,00*7B $GPGSV,3,3,11,25,20,108,00,27,08,281,00,28,17,339,39,,,,*4C {"class":"SKY","tag":"GSV","xdop":0.84,"ydop":0.92,"vdop":2.00,"tdop":0.71,"hdop":2.10,"gdop":1.94,"pdop":3.10,"satellites":[{"PRN":1,"el":78,"az":221,"ss":47,"used":true},{"PRN":3,"el":9,"az":42,"ss":0,"used":false},{"PRN":4,"el":5,"az":242,"ss":0,"used":false},{"PRN":6,"el":4,"az":149,"ss":0,"used":false},{"PRN":13,"el":37,"az":235,"ss":48,"used":true},{"PRN":20,"el":41,"az":333,"ss":46,"used":true},{"PRN":22,"el":65,"az":81,"ss":46,"used":true},{"PRN":24,"el":2,"az":205,"ss":0,"used":false},{"PRN":25,"el":20,"az":108,"ss":0,"used":false},{"PRN":27,"el":8,"az":281,"ss":0,"used":false},{"PRN":28,"el":17,"az":339,"ss":39,"used":true}]} $PGRME,9.1,M,15.0,M,12.0,M*21 $GPGLL,4527.458,S,16709.165,E,225311,A*37 {"class":"TPV","tag":"GLL","mode":2,"time":"2001-06-06T22:53:11.000Z","ept":0.005,"lat":-45.457633333,"lon":167.152750000,"epx":12.536,"epy":13.872,"speed":0.000,"eps":27.23} $PGRMZ,48,f,3*27 $PGRMM,WGS 84*06 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,225312,A,4527.458,S,16709.165,E,000.0,094.5,060601,024.1,E*66 $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,225312,4527.458,S,16709.165,E,1,05,2.2,14.7,M,1.1,M,,*5B {"class":"TPV","tag":"GGA","mode":3,"time":"2001-06-06T22:53:12.000Z","ept":0.005,"lat":-45.457633333,"lon":167.152750000,"alt":14.700,"epx":12.536,"epy":13.872,"epv":46.000,"track":94.5000,"speed":0.000,"eps":27.74} $GPGSA,A,3,01,,,,13,20,22,,,,28,,3.2,2.2,2.1*3B $GPGSV,3,1,11,01,78,221,47,03,09,042,00,04,05,242,00,06,04,149,00*70 $GPGSV,3,2,11,13,37,235,49,20,41,333,46,22,65,081,46,24,02,205,00*7A $GPGSV,3,3,11,25,20,108,00,27,08,281,00,28,17,339,39,,,,*4C {"class":"SKY","tag":"GSV","xdop":0.84,"ydop":0.92,"vdop":2.10,"tdop":0.71,"hdop":2.20,"gdop":1.94,"pdop":3.20,"satellites":[{"PRN":1,"el":78,"az":221,"ss":47,"used":true},{"PRN":3,"el":9,"az":42,"ss":0,"used":false},{"PRN":4,"el":5,"az":242,"ss":0,"used":false},{"PRN":6,"el":4,"az":149,"ss":0,"used":false},{"PRN":13,"el":37,"az":235,"ss":49,"used":true},{"PRN":20,"el":41,"az":333,"ss":46,"used":true},{"PRN":22,"el":65,"az":81,"ss":46,"used":true},{"PRN":24,"el":2,"az":205,"ss":0,"used":false},{"PRN":25,"el":20,"az":108,"ss":0,"used":false},{"PRN":27,"el":8,"az":281,"ss":0,"used":false},{"PRN":28,"el":17,"az":339,"ss":39,"used":true}]} $PGRME,9.2,M,15.0,M,12.6,M*24 $GPGLL,4527.458,S,16709.165,E,225313,A*35 {"class":"TPV","tag":"GLL","mode":2,"time":"2001-06-06T22:53:13.000Z","ept":0.005,"lat":-45.457633333,"lon":167.152750000,"epx":12.536,"epy":13.872,"speed":0.000,"eps":27.38} $PGRMZ,48,f,3*27 $PGRMM,WGS 84*06 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,225314,A,4527.458,S,16709.165,E,000.0,094.5,060601,024.1,E*60 $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,225314,4527.458,S,16709.165,E,1,05,2.2,14.6,M,1.1,M,,*5C {"class":"TPV","tag":"GGA","mode":3,"time":"2001-06-06T22:53:14.000Z","ept":0.005,"lat":-45.457633333,"lon":167.152750000,"alt":14.600,"epx":12.536,"epy":13.872,"epv":48.300,"track":94.5000,"speed":0.000,"eps":27.74} $GPGSA,A,3,01,,,,13,20,22,,,,28,,3.2,2.2,2.1*3B $GPGSV,3,1,11,01,78,221,47,03,09,042,00,04,05,242,00,06,04,149,00*70 $GPGSV,3,2,11,13,37,235,49,20,41,333,46,22,65,081,46,24,02,205,00*7A $GPGSV,3,3,11,25,20,108,00,27,08,281,00,28,17,339,39,,,,*4C {"class":"SKY","tag":"GSV","xdop":0.84,"ydop":0.92,"vdop":2.10,"tdop":0.71,"hdop":2.20,"gdop":1.94,"pdop":3.20,"satellites":[{"PRN":1,"el":78,"az":221,"ss":47,"used":true},{"PRN":3,"el":9,"az":42,"ss":0,"used":false},{"PRN":4,"el":5,"az":242,"ss":0,"used":false},{"PRN":6,"el":4,"az":149,"ss":0,"used":false},{"PRN":13,"el":37,"az":235,"ss":49,"used":true},{"PRN":20,"el":41,"az":333,"ss":46,"used":true},{"PRN":22,"el":65,"az":81,"ss":46,"used":true},{"PRN":24,"el":2,"az":205,"ss":0,"used":false},{"PRN":25,"el":20,"az":108,"ss":0,"used":false},{"PRN":27,"el":8,"az":281,"ss":0,"used":false},{"PRN":28,"el":17,"az":339,"ss":39,"used":true}]} $PGRME,9.2,M,15.0,M,12.6,M*24 $GPGLL,4527.458,S,16709.165,E,225315,A*33 {"class":"TPV","tag":"GLL","mode":2,"time":"2001-06-06T22:53:15.000Z","ept":0.005,"lat":-45.457633333,"lon":167.152750000,"epx":12.536,"epy":13.872,"speed":0.000,"eps":27.38} $PGRMZ,48,f,3*27 $PGRMM,WGS 84*06 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,225316,A,4527.458,S,16709.165,E,000.0,094.5,060601,024.1,E*62 $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,225316,4527.458,S,16709.165,E,1,05,2.2,14.4,M,1.1,M,,*5C {"class":"TPV","tag":"GGA","mode":3,"time":"2001-06-06T22:53:16.000Z","ept":0.005,"lat":-45.457633333,"lon":167.152750000,"alt":14.400,"epx":12.536,"epy":13.872,"epv":48.300,"track":94.5000,"speed":0.000,"eps":27.74} $GPGSA,A,3,01,,,,13,20,22,,,,28,,3.2,2.2,2.1*3B $GPGSV,3,1,11,01,78,221,47,03,09,042,00,04,05,242,00,06,04,149,00*70 $GPGSV,3,2,11,13,37,235,49,20,40,333,46,22,65,081,46,24,02,205,00*7B $GPGSV,3,3,11,25,20,108,00,27,08,281,00,28,17,339,39,,,,*4C {"class":"SKY","tag":"GSV","xdop":0.84,"ydop":0.92,"vdop":2.10,"tdop":0.71,"hdop":2.20,"gdop":1.94,"pdop":3.20,"satellites":[{"PRN":1,"el":78,"az":221,"ss":47,"used":true},{"PRN":3,"el":9,"az":42,"ss":0,"used":false},{"PRN":4,"el":5,"az":242,"ss":0,"used":false},{"PRN":6,"el":4,"az":149,"ss":0,"used":false},{"PRN":13,"el":37,"az":235,"ss":49,"used":true},{"PRN":20,"el":40,"az":333,"ss":46,"used":true},{"PRN":22,"el":65,"az":81,"ss":46,"used":true},{"PRN":24,"el":2,"az":205,"ss":0,"used":false},{"PRN":25,"el":20,"az":108,"ss":0,"used":false},{"PRN":27,"el":8,"az":281,"ss":0,"used":false},{"PRN":28,"el":17,"az":339,"ss":39,"used":true}]} $PGRME,9.2,M,15.0,M,12.6,M*24 $GPGLL,4527.458,S,16709.165,E,225317,A*31 {"class":"TPV","tag":"GLL","mode":2,"time":"2001-06-06T22:53:17.000Z","ept":0.005,"lat":-45.457633333,"lon":167.152750000,"epx":12.536,"epy":13.872,"speed":0.000,"eps":27.38} $PGRMZ,46,f,3*29 $PGRMM,WGS 84*06 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,225318,A,4527.458,S,16709.165,E,000.0,094.5,060601,024.1,E*6C $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,225318,4527.458,S,16709.165,E,1,05,2.2,14.0,M,1.1,M,,*56 {"class":"TPV","tag":"GGA","mode":3,"time":"2001-06-06T22:53:18.000Z","ept":0.005,"lat":-45.457633333,"lon":167.152750000,"alt":14.000,"epx":12.536,"epy":13.872,"epv":48.300,"track":94.5000,"speed":0.000,"eps":27.74} $GPGSA,A,3,01,,,,13,20,22,,,,28,,3.2,2.2,2.1*3B $GPGSV,3,1,11,01,78,221,47,03,09,042,00,04,05,242,00,06,04,149,00*70 $GPGSV,3,2,11,13,37,235,49,20,40,333,46,22,65,083,46,24,02,205,00*79 $GPGSV,3,3,11,25,20,108,00,27,08,281,00,28,17,339,40,,,,*42 {"class":"SKY","tag":"GSV","xdop":0.84,"ydop":0.92,"vdop":2.10,"tdop":0.71,"hdop":2.20,"gdop":1.94,"pdop":3.20,"satellites":[{"PRN":1,"el":78,"az":221,"ss":47,"used":true},{"PRN":3,"el":9,"az":42,"ss":0,"used":false},{"PRN":4,"el":5,"az":242,"ss":0,"used":false},{"PRN":6,"el":4,"az":149,"ss":0,"used":false},{"PRN":13,"el":37,"az":235,"ss":49,"used":true},{"PRN":20,"el":40,"az":333,"ss":46,"used":true},{"PRN":22,"el":65,"az":83,"ss":46,"used":true},{"PRN":24,"el":2,"az":205,"ss":0,"used":false},{"PRN":25,"el":20,"az":108,"ss":0,"used":false},{"PRN":27,"el":8,"az":281,"ss":0,"used":false},{"PRN":28,"el":17,"az":339,"ss":40,"used":true}]} $PGRME,10.3,M,15.2,M,16.7,M*1A $GPGLL,4527.458,S,16709.165,E,225333,A*37 {"class":"TPV","tag":"GLL","mode":2,"time":"2001-06-06T22:53:33.000Z","ept":0.005,"lat":-45.457633333,"lon":167.152750000,"epx":12.536,"epy":13.872,"speed":0.000,"eps":1.93} $PGRMZ,41,f,3*2E $PGRMM,WGS 84*06 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,225334,A,4527.458,S,16709.165,E,000.0,094.5,060601,024.1,E*62 $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,225334,4527.458,S,16709.165,E,1,05,2.4,12.5,M,1.1,M,,*5D {"class":"TPV","tag":"GGA","mode":3,"time":"2001-06-06T22:53:34.000Z","ept":0.005,"lat":-45.457633333,"lon":167.152750000,"alt":12.500,"epx":12.536,"epy":13.872,"epv":48.300,"track":94.5000,"speed":0.000,"eps":27.74} $GPGSA,A,3,01,,,,13,20,22,,,,28,,4.1,2.4,3.0*39 $GPGSV,3,1,11,01,78,221,47,03,09,042,00,04,05,242,00,06,04,149,00*70 $GPGSV,3,2,11,13,37,235,49,20,40,333,46,22,65,083,46,24,02,205,00*79 $GPGSV,3,3,11,25,20,108,00,27,08,281,00,28,17,339,41,,,,*43 {"class":"SKY","tag":"GSV","xdop":0.84,"ydop":0.92,"vdop":3.00,"tdop":0.71,"hdop":2.40,"gdop":1.94,"pdop":4.10,"satellites":[{"PRN":1,"el":78,"az":221,"ss":47,"used":true},{"PRN":3,"el":9,"az":42,"ss":0,"used":false},{"PRN":4,"el":5,"az":242,"ss":0,"used":false},{"PRN":6,"el":4,"az":149,"ss":0,"used":false},{"PRN":13,"el":37,"az":235,"ss":49,"used":true},{"PRN":20,"el":40,"az":333,"ss":46,"used":true},{"PRN":22,"el":65,"az":83,"ss":46,"used":true},{"PRN":24,"el":2,"az":205,"ss":0,"used":false},{"PRN":25,"el":20,"az":108,"ss":0,"used":false},{"PRN":27,"el":8,"az":281,"ss":0,"used":false},{"PRN":28,"el":17,"az":339,"ss":41,"used":true}]} $PGRME,10.3,M,15.2,M,16.7,M*1A $GPGLL,4527.458,S,16709.165,E,225335,A*31 {"class":"TPV","tag":"GLL","mode":2,"time":"2001-06-06T22:53:35.000Z","ept":0.005,"lat":-45.457633333,"lon":167.152750000,"epx":12.536,"epy":13.872,"speed":0.000,"eps":28.99} $PGRMZ,41,f,3*2E $PGRMM,WGS 84*06 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 gpsd-3.9/test/daemon/geos-1m.log0000664000175000017500000036152311762140437014704 0ustar esresr# Name: GeoS 1M # Description: A combined GPS/GLONASS OEM receiver board, 24 channels # Submitter: Viktar Palstsiuk # Date: 2010-07-09 # Location: Minsk, Belarus, 53N 27E # Notes: NMEA output for a few minutes after power-up # $GPGGA,000002.00,,,,,0,,,,,,,,*4A $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000002.00,V,,,,,,,010108,,,N*77 $GPGGA,000003.00,,,,,0,,,,,,,,*4B $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000003.00,V,,,,,,,010108,,,N*76 $GPGGA,000004.00,,,,,0,,,,,,,,*4C $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000004.00,V,,,,,,,010108,,,N*71 $GPGGA,000005.00,,,,,0,,,,,,,,*4D $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000005.00,V,,,,,,,010108,,,N*70 $GPGGA,000006.00,,,,,0,,,,,,,,*4E $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000006.00,V,,,,,,,010108,,,N*73 $GPGGA,000007.00,,,,,0,,,,,,,,*4F $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000007.00,V,,,,,,,010108,,,N*72 $GPGGA,000008.00,,,,,0,,,,,,,,*40 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000008.00,V,,,,,,,010108,,,N*7D $GPGGA,000009.00,,,,,0,,,,,,,,*41 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000009.00,V,,,,,,,010108,,,N*7C $GPGGA,000010.00,,,,,0,,,,,,,,*49 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000010.00,V,,,,,,,010108,,,N*74 $GPGGA,000011.00,,,,,0,,,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000011.00,V,,,,,,,010108,,,N*75 $GPGGA,000012.00,,,,,0,,,,,,,,*4B $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000012.00,V,,,,,,,010108,,,N*76 $GPGGA,000013.00,,,,,0,,,,,,,,*4A $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000013.00,V,,,,,,,010108,,,N*77 $GPGGA,000014.00,,,,,0,,,,,,,,*4D $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000014.00,V,,,,,,,010108,,,N*70 $GPGGA,000015.00,,,,,0,,,,,,,,*4C $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000015.00,V,,,,,,,010108,,,N*71 $GPGGA,000016.00,,,,,0,,,,,,,,*4F $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000016.00,V,,,,,,,010108,,,N*72 $GPGGA,000017.00,,,,,0,,,,,,,,*4E $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000017.00,V,,,,,,,010108,,,N*73 $GPGGA,000018.00,,,,,0,,,,,,,,*41 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000018.00,V,,,,,,,010108,,,N*7C $GPGGA,000019.00,,,,,0,,,,,,,,*40 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000019.00,V,,,,,,,010108,,,N*7D $GPGGA,000020.00,,,,,0,,,,,,,,*4A $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000020.00,V,,,,,,,010108,,,N*77 $GPGGA,000021.00,,,,,0,,,,,,,,*4B $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000021.00,V,,,,,,,010108,,,N*76 $GPGGA,000022.00,,,,,0,,,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000022.00,V,,,,,,,010108,,,N*75 $GPGGA,000023.00,,,,,0,,,,,,,,*49 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000023.00,V,,,,,,,010108,,,N*74 $GPGGA,000024.00,,,,,0,,,,,,,,*4E $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000024.00,V,,,,,,,010108,,,N*73 $GPGGA,000025.00,,,,,0,,,,,,,,*4F $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000025.00,V,,,,,,,010108,,,N*72 $GPGGA,000026.00,,,,,0,,,,,,,,*4C $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000026.00,V,,,,,,,010108,,,N*71 $GPGGA,000027.00,,,,,0,,,,,,,,*4D $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000027.00,V,,,,,,,010108,,,N*70 $GPGGA,000028.00,,,,,0,,,,,,,,*42 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000028.00,V,,,,,,,010108,,,N*7F $GPGGA,000029.00,,,,,0,,,,,,,,*43 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000029.00,V,,,,,,,010108,,,N*7E $GPGGA,000030.00,,,,,0,,,,,,,,*4B $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000030.00,V,,,,,,,010108,,,N*76 $GPGGA,000031.00,,,,,0,,,,,,,,*4A $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000031.00,V,,,,,,,010108,,,N*77 $GPGGA,000032.00,,,,,0,,,,,,,,*49 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000032.00,V,,,,,,,010108,,,N*74 $GPGGA,000033.00,,,,,0,,,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000033.00,V,,,,,,,010108,,,N*75 $GPGGA,000034.00,,,,,0,,,,,,,,*4F $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000034.00,V,,,,,,,010108,,,N*72 $GPGGA,000035.00,,,,,0,,,,,,,,*4E $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000035.00,V,,,,,,,010108,,,N*73 $GPGGA,000036.00,,,,,0,,,,,,,,*4D $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000036.00,V,,,,,,,010108,,,N*70 $GPGGA,000037.00,,,,,0,,,,,,,,*4C $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000037.00,V,,,,,,,010108,,,N*71 $GPGGA,000038.00,,,,,0,,,,,,,,*43 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000038.00,V,,,,,,,010108,,,N*7E $GPGGA,000039.00,,,,,0,,,,,,,,*42 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000039.00,V,,,,,,,010108,,,N*7F $GPGGA,000040.00,,,,,0,,,,,,,,*4C $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000040.00,V,,,,,,,010108,,,N*71 $GPGGA,000041.00,,,,,0,,,,,,,,*4D $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,000041.00,V,,,,,,,010108,,,N*70 $GPGGA,073658.00,,,,,0,,,,,,,,*47 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,00*79 $GPRMC,073658.00,V,,,,,,,090710,,,N*7D $GPGGA,073659.00,,,,,0,,,,,,,,*46 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 $GPGSV,1,1,01,75,16,224,*49 $GPRMC,073659.00,V,,,,,,,090710,,,N*7C $GPGGA,073700.00,,,,,0,,,,,,,,*4B $GPGSA,A,1,13,16,06,23,73,,,,,,,,9.9,9.9,9.9*36 $GPGSV,1,1,01,75,16,224,*49 $GPRMC,073700.00,V,,,,,,,090710,,,N*71 $GPGGA,073701.00,5355.1495,N,02729.9417,E,1,05,1.7,00242.2,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,23,73,,,,,,,,2.3,1.7,1.6*34 $GPGSV,1,1,01,75,16,224,*49 $GPRMC,073701.00,A,5355.1495,N,02729.9417,E,000.06702,356.9,090710,,,A*53 $GPGGA,073702.00,5355.1508,N,02729.9466,E,1,05,8.3,00244.1,M,0023.3,M,,*6B $GPGSA,A,3,13,16,06,23,73,,,,,,,,9.9,8.3,8.4*33 $GPGSV,1,1,01,75,16,224,*49 $GPRMC,073702.00,A,5355.1508,N,02729.9466,E,000.07498,266.1,090710,,,A*58 $GPGGA,073703.00,5355.1508,N,02729.9466,E,1,05,8.3,00244.1,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,23,73,,,,,,,,9.9,8.3,8.4*33 $GPGSV,1,1,01,75,16,224,*49 $GPRMC,073703.00,A,5355.1508,N,02729.9466,E,000.07498,266.1,090710,,,A*59 $GPGGA,073705.00,5355.1534,N,02729.9549,E,1,05,1.7,00250.9,M,0023.2,M,,*6E $GPGSA,A,3,13,16,06,23,73,,,,,,,,2.3,1.7,1.6*34 $GPGSV,1,1,02,75,16,224,,81,12,346,*71 $GPRMC,073705.00,A,5355.1534,N,02729.9549,E,000.10468,235.7,090710,,,A*55 $GPGGA,073706.00,5355.1542,N,02729.9565,E,1,05,8.3,00253.6,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,23,73,,,,,,,,9.9,8.3,8.3*34 $GPGSV,1,1,03,75,16,224,,81,12,346,,82,13,037,*4C $GPRMC,073706.00,A,5355.1542,N,02729.9565,E,000.11095,243.8,090710,,,A*50 $GPGGA,073707.00,5355.1552,N,02729.9598,E,1,05,1.7,00256.1,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,23,73,,,,,,,,2.3,1.7,1.6*34 $GPGSV,1,1,03,75,16,224,,81,12,346,,82,13,037,*4C $GPRMC,073707.00,A,5355.1552,N,02729.9598,E,000.08909,042.3,090710,,,A*5E $GPGGA,073708.00,5355.1559,N,02729.9626,E,1,05,8.3,00258.9,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,23,73,,,,,,,,9.9,8.3,8.3*34 $GPGSV,1,1,03,75,16,224,,81,12,346,,82,13,037,*4C $GPRMC,073708.00,A,5355.1559,N,02729.9626,E,000.27917,064.3,090710,,,A*5A $GPGGA,073709.00,5355.1569,N,02729.9658,E,1,05,1.7,00261.4,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,23,73,,,,,,,,2.3,1.7,1.6*34 $GPGSV,1,1,03,75,16,224,,81,12,346,,82,13,037,*4C $GPRMC,073709.00,A,5355.1569,N,02729.9658,E,000.44616,064.7,090710,,,A*5E $GPGGA,073710.00,5355.1572,N,02729.9665,E,1,05,8.3,00261.7,M,0023.4,M,,*62 $GPGSA,A,3,13,16,06,23,73,,,,,,,,9.9,8.3,8.3*34 $GPGSV,1,1,03,75,16,224,,81,12,346,38,82,13,037,*47 $GPRMC,073710.00,A,5355.1572,N,02729.9665,E,000.29454,061.5,090710,,,A*5A $GPGGA,073711.00,5355.1573,N,02729.9667,E,1,06,1.9,00261.8,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,1,1,03,75,16,224,,81,12,346,38,82,13,037,*47 $GPRMC,073711.00,A,5355.1573,N,02729.9667,E,000.16099,245.7,090710,,,A*57 $GPGGA,073712.00,5355.1573,N,02729.9669,E,1,06,1.9,00261.9,M,0023.4,M,,*63 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,1,1,03,75,16,224,,81,12,346,37,82,13,037,*48 $GPRMC,073712.00,A,5355.1573,N,02729.9669,E,000.38390,242.3,090710,,,A*5F $GPGGA,073713.00,5355.1573,N,02729.9670,E,1,06,1.9,00262.0,M,0023.4,M,,*60 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,1,1,04,01,01,023,48,75,16,224,,81,12,346,37,82,13,037,*72 $GPRMC,073713.00,A,5355.1573,N,02729.9670,E,000.43483,240.7,090710,,,A*59 $GPGGA,073714.00,5355.1573,N,02729.9670,E,1,06,1.9,00262.1,M,0023.4,M,,*66 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,2,1,05,01,01,023,48,02,17,256,,75,16,224,,81,12,346,37*79 $GPGSV,2,2,05,82,13,037,*40 $GPRMC,073714.00,A,5355.1573,N,02729.9670,E,000.39287,239.5,090710,,,A*5D $GPGGA,073715.00,5355.1573,N,02729.9671,E,1,06,1.9,00262.3,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,2,1,06,01,01,023,49,02,17,256,,03,07,075,40,75,16,224,*76 $GPGSV,2,2,06,81,12,346,37,82,13,037,*7C $GPRMC,073715.00,A,5355.1573,N,02729.9671,E,000.30442,238.1,090710,,,A*5E $GPGGA,073716.00,5355.1574,N,02729.9672,E,1,06,1.9,00262.4,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,2,1,07,01,01,023,49,02,17,256,,03,07,075,40,04,04,219,*7C $GPGSV,2,2,07,75,16,224,,81,12,346,37,82,13,037,*4C $GPRMC,073716.00,A,5355.1574,N,02729.9672,E,000.21078,236.2,090710,,,A*59 $GPGGA,073717.00,5355.1574,N,02729.9673,E,1,06,1.9,00262.4,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,2,1,08,01,01,023,49,02,17,256,,03,07,075,40,04,04,219,*73 $GPGSV,2,2,08,05,35,304,,75,16,224,,81,12,346,37,82,13,037,*77 $GPRMC,073717.00,A,5355.1574,N,02729.9673,E,000.14125,234.1,090710,,,A*57 $GPGGA,073718.00,5355.1575,N,02729.9674,E,1,06,1.9,00262.5,M,0023.3,M,,*6B $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,3,1,09,01,01,023,49,02,17,256,,03,07,075,41,04,04,219,*72 $GPGSV,3,2,09,05,35,304,,06,07,060,47,75,16,224,,81,12,346,37*7F $GPGSV,3,3,09,82,13,037,*4C $GPRMC,073718.00,A,5355.1575,N,02729.9674,E,000.08593,230.7,090710,,,A*58 $GPGGA,073719.00,5355.1575,N,02729.9676,E,1,06,1.9,00262.5,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,3,1,10,01,01,023,49,02,17,256,,03,07,075,41,04,04,219,*7A $GPGSV,3,2,10,05,35,304,,06,07,060,47,07,81,169,,75,16,224,*78 $GPGSV,3,3,10,81,12,346,37,82,13,037,*7B $GPRMC,073719.00,A,5355.1575,N,02729.9676,E,000.05053,222.9,090710,,,A*52 $GPGGA,073720.00,5355.1576,N,02729.9678,E,1,06,1.9,00262.5,M,0023.4,M,,*68 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,3,1,11,01,01,023,49,02,17,256,,03,07,075,40,04,04,219,*7A $GPGSV,3,2,11,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*70 $GPGSV,3,3,11,75,16,224,,81,12,346,36,82,13,037,*4A $GPRMC,073720.00,A,5355.1576,N,02729.9678,E,000.02505,209.1,090710,,,A*55 $GPGGA,073721.00,5355.1576,N,02729.9680,E,1,06,1.9,00262.6,M,0023.4,M,,*6D $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,3,1,11,01,01,023,49,02,17,256,,03,07,075,39,04,04,219,*74 $GPGSV,3,2,11,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*70 $GPGSV,3,3,11,75,16,224,,81,12,346,36,82,13,037,*4A $GPRMC,073721.00,A,5355.1576,N,02729.9680,E,000.01167,160.3,090710,,,A*5E $GPGGA,073722.00,5355.1577,N,02729.9682,E,1,06,1.9,00262.7,M,0023.3,M,,*6B $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,3,1,12,01,01,023,50,02,17,256,,03,07,075,40,04,04,219,*71 $GPGSV,3,2,12,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*73 $GPGSV,3,3,12,10,61,260,,75,16,224,,81,12,346,36,82,13,037,*7B $GPRMC,073722.00,A,5355.1577,N,02729.9682,E,000.01489,137.0,090710,,,A*5A $GPGGA,073723.00,5355.1577,N,02729.9684,E,1,06,1.9,00262.6,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,3,1,12,01,01,023,50,02,17,256,,03,07,075,39,04,04,219,*7F $GPGSV,3,2,12,05,35,304,,06,07,060,48,07,81,169,,08,46,222,*7C $GPGSV,3,3,12,10,61,260,,75,16,224,,81,12,346,36,82,13,037,*7B $GPRMC,073723.00,A,5355.1577,N,02729.9684,E,000.01629,129.7,090710,,,A*5D $GPGGA,073724.00,5355.1578,N,02729.9686,E,1,06,1.9,00262.7,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,3,1,12,01,01,023,50,02,17,256,,03,07,075,39,04,04,219,*7F $GPGSV,3,2,12,05,35,304,,06,07,060,48,07,81,169,,08,46,222,*7C $GPGSV,3,3,12,10,61,260,,75,16,224,,81,12,346,36,82,13,037,*7B $GPRMC,073724.00,A,5355.1578,N,02729.9686,E,000.01699,137.7,090710,,,A*53 $GPGGA,073725.00,5355.1578,N,02729.9687,E,1,06,1.9,00262.7,M,0023.4,M,,*61 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,4,1,13,01,01,023,50,02,17,256,,03,07,075,39,04,04,219,*79 $GPGSV,4,2,13,05,35,304,,06,07,060,48,07,81,169,,08,46,222,*7A $GPGSV,4,3,13,10,61,260,,13,42,097,55,75,16,224,,81,12,346,36*7B $GPGSV,4,4,13,82,13,037,*47 $GPRMC,073725.00,A,5355.1578,N,02729.9687,E,000.01574,156.2,090710,,,A*51 $GPGGA,073726.00,5355.1579,N,02729.9690,E,1,06,1.9,00262.8,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,4,1,13,01,01,023,49,02,17,256,,03,07,075,39,04,04,219,*71 $GPGSV,4,2,13,05,35,304,,06,07,060,48,07,81,169,,08,46,222,*7A $GPGSV,4,3,13,10,61,260,,13,42,097,55,75,16,224,,81,12,346,36*7B $GPGSV,4,4,13,82,13,037,*47 $GPRMC,073726.00,A,5355.1579,N,02729.9690,E,000.01712,170.9,090710,,,A*58 $GPGGA,073727.00,5355.1579,N,02729.9692,E,1,06,1.9,00262.9,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,4,1,13,01,01,023,49,02,17,256,,03,07,075,38,04,04,219,*70 $GPGSV,4,2,13,05,35,304,,06,07,060,48,07,81,169,,08,46,222,*7A $GPGSV,4,3,13,10,61,260,,13,42,097,55,75,16,224,,81,12,346,36*7B $GPGSV,4,4,13,82,13,037,*47 $GPRMC,073727.00,A,5355.1579,N,02729.9692,E,000.01620,176.7,090710,,,A*53 $GPGGA,073728.00,5355.1580,N,02729.9694,E,1,06,1.9,00262.8,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,4,1,14,01,01,023,48,02,17,256,,03,07,075,38,04,04,219,*76 $GPGSV,4,2,14,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*72 $GPGSV,4,3,14,10,61,260,,13,42,097,55,16,12,031,49,75,16,224,*79 $GPGSV,4,4,14,81,12,346,36,82,13,037,*7E $GPRMC,073728.00,A,5355.1580,N,02729.9694,E,000.01974,189.4,090710,,,A*51 $GPGGA,073729.00,5355.1580,N,02729.9696,E,1,06,1.9,00262.9,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,4,1,14,01,01,023,47,02,17,256,,03,07,075,38,04,04,219,*79 $GPGSV,4,2,14,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*72 $GPGSV,4,3,14,10,61,260,,13,42,097,55,16,12,031,48,75,16,224,*78 $GPGSV,4,4,14,81,12,346,36,82,13,037,*7E $GPRMC,073729.00,A,5355.1580,N,02729.9696,E,000.02415,192.6,090710,,,A*53 $GPGGA,073730.00,5355.1581,N,02729.9699,E,1,06,1.9,00262.9,M,0023.3,M,,*65 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,4,1,14,01,01,023,47,02,17,256,,03,07,075,39,04,04,219,*78 $GPGSV,4,2,14,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*72 $GPGSV,4,3,14,10,61,260,,13,42,097,54,16,12,031,48,75,16,224,*79 $GPGSV,4,4,14,81,12,346,37,82,13,037,*7F $GPRMC,073730.00,A,5355.1581,N,02729.9699,E,000.02905,194.8,090710,,,A*51 $GPGGA,073731.00,5355.1582,N,02729.9702,E,1,06,1.9,00263.1,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,4,1,14,01,01,023,47,02,17,256,,03,07,075,38,04,04,219,*79 $GPGSV,4,2,14,05,35,304,,06,07,060,48,07,81,169,,08,46,222,*7D $GPGSV,4,3,14,10,61,260,,13,42,097,54,16,12,031,48,75,16,224,*79 $GPGSV,4,4,14,81,12,346,37,82,13,037,*7F $GPRMC,073731.00,A,5355.1582,N,02729.9702,E,000.02642,189.6,090710,,,A*5E $GPGGA,073732.00,5355.1584,N,02729.9708,E,1,06,1.9,00263.3,M,0023.3,M,,*60 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,4,1,14,01,01,023,47,02,17,256,,03,07,075,39,04,04,219,*78 $GPGSV,4,2,14,05,35,304,,06,07,060,48,07,81,169,,08,46,222,*7D $GPGSV,4,3,14,10,61,260,,13,42,097,54,16,12,031,48,75,16,224,*79 $GPGSV,4,4,14,81,12,346,37,82,13,037,*7F $GPRMC,073732.00,A,5355.1584,N,02729.9708,E,000.02146,177.0,090710,,,A*55 $GPGGA,073733.00,5355.1588,N,02729.9716,E,1,06,1.9,00263.7,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,4,1,14,01,01,023,47,02,17,256,,03,07,075,40,04,04,219,*76 $GPGSV,4,2,14,05,35,304,,06,07,060,48,07,81,169,,08,46,222,*7D $GPGSV,4,3,14,10,61,260,,13,42,097,54,16,12,031,48,75,16,224,*79 $GPGSV,4,4,14,81,12,346,38,82,13,037,*70 $GPRMC,073733.00,A,5355.1588,N,02729.9716,E,000.01828,115.8,090710,,,A*59 $GPGGA,073734.00,5355.1592,N,02729.9727,E,1,07,1.8,00264.2,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,4,1,14,01,01,023,46,02,17,256,,03,07,075,40,04,04,219,*77 $GPGSV,4,2,14,05,35,304,,06,07,060,48,07,81,169,,08,46,222,*7D $GPGSV,4,3,14,10,61,260,,13,42,097,53,16,12,031,48,75,16,224,*7E $GPGSV,4,4,14,81,12,346,38,82,13,037,*70 $GPRMC,073734.00,A,5355.1592,N,02729.9727,E,000.03048,079.2,090710,,,A*5A $GPGGA,073735.00,5355.1597,N,02729.9738,E,1,07,1.8,00264.8,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,4,1,15,01,01,023,46,02,17,256,,03,07,075,40,04,04,219,*76 $GPGSV,4,2,15,05,35,304,,06,07,060,48,07,81,169,,08,46,222,*7C $GPGSV,4,3,15,10,61,260,,13,42,097,53,16,12,031,47,23,22,102,53*75 $GPGSV,4,4,15,75,16,224,,81,12,346,37,82,13,037,*4F $GPRMC,073735.00,A,5355.1597,N,02729.9738,E,000.04256,068.8,090710,,,A*50 $GPGGA,073736.00,5355.1600,N,02729.9748,E,1,07,1.8,00265.2,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,4,1,15,01,01,023,45,02,17,256,,03,07,075,40,04,04,219,*75 $GPGSV,4,2,15,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*73 $GPGSV,4,3,15,10,61,260,,13,42,097,52,16,12,031,46,23,22,102,52*74 $GPGSV,4,4,15,75,16,224,,81,12,346,37,82,13,037,*4F $GPRMC,073736.00,A,5355.1600,N,02729.9748,E,000.04548,070.2,090710,,,A*52 $GPGGA,073737.00,5355.1604,N,02729.9756,E,1,07,1.8,00265.5,M,0023.3,M,,*65 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,4,1,16,01,01,023,46,02,17,256,,03,07,075,40,04,04,219,*75 $GPGSV,4,2,16,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*70 $GPGSV,4,3,16,10,61,260,,13,42,097,52,16,12,031,46,23,22,102,53*76 $GPGSV,4,4,16,25,68,073,,75,16,224,,81,12,346,37,82,13,037,*71 $GPRMC,073737.00,A,5355.1604,N,02729.9756,E,000.04316,074.3,090710,,,A*50 $GPGGA,073738.00,5355.1606,N,02729.9763,E,1,07,1.8,00265.6,M,0023.4,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,4,1,16,01,01,023,46,02,17,256,,03,07,075,39,04,04,219,*7B $GPGSV,4,2,16,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*70 $GPGSV,4,3,16,10,61,260,,13,42,097,52,16,12,031,46,23,22,102,53*76 $GPGSV,4,4,16,25,68,073,,75,16,224,,81,12,346,37,82,13,037,*71 $GPRMC,073738.00,A,5355.1606,N,02729.9763,E,000.03571,081.8,090710,,,A*5A $GPGGA,073739.00,5355.1608,N,02729.9768,E,1,07,1.8,00265.8,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,4,1,16,01,01,023,46,02,17,256,,03,07,075,38,04,04,219,*7A $GPGSV,4,2,16,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*70 $GPGSV,4,3,16,10,61,260,,13,42,097,52,16,12,031,46,23,22,102,52*77 $GPGSV,4,4,16,25,68,073,,75,16,224,,81,12,346,37,82,13,037,*71 $GPRMC,073739.00,A,5355.1608,N,02729.9768,E,000.02156,121.9,090710,,,A*54 $GPGGA,073740.00,5355.1609,N,02729.9773,E,1,07,1.8,00266.0,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,17,01,01,023,47,02,17,256,,03,07,075,37,04,04,219,*74 $GPGSV,5,2,17,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*70 $GPGSV,5,3,17,10,61,260,,13,42,097,52,16,12,031,47,23,22,102,53*77 $GPGSV,5,4,17,25,68,073,,28,02,178,,75,16,224,,81,12,346,37*7B $GPGSV,5,5,17,82,13,037,*43 $GPRMC,073740.00,A,5355.1609,N,02729.9773,E,000.02405,175.8,090710,,,A*52 $GPGGA,073741.00,5355.1610,N,02729.9777,E,1,07,1.8,00265.9,M,0023.3,M,,*6E $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,17,01,01,023,47,02,17,256,,03,07,075,36,04,04,219,*75 $GPGSV,5,2,17,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*70 $GPGSV,5,3,17,10,61,260,,13,42,097,52,16,12,031,47,23,22,102,52*76 $GPGSV,5,4,17,25,68,073,,28,02,178,,75,16,224,,81,12,346,37*7B $GPGSV,5,5,17,82,13,037,*43 $GPRMC,073741.00,A,5355.1610,N,02729.9777,E,000.03367,195.7,090710,,,A*5C $GPGGA,073742.00,5355.1610,N,02729.9782,E,1,07,1.8,00265.6,M,0023.4,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,17,01,01,023,47,02,17,256,,03,07,075,35,04,04,219,*76 $GPGSV,5,2,17,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*70 $GPGSV,5,3,17,10,61,260,,13,42,097,52,16,12,031,47,23,22,102,52*76 $GPGSV,5,4,17,25,68,073,,28,02,178,,75,16,224,,81,12,346,37*7B $GPGSV,5,5,17,82,13,037,*43 $GPRMC,073742.00,A,5355.1610,N,02729.9782,E,000.03697,191.9,090710,,,A*55 $GPGGA,073743.00,5355.1609,N,02729.9789,E,1,07,1.8,00265.0,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,17,01,01,023,47,02,17,256,,03,07,075,35,04,04,219,*76 $GPGSV,5,2,17,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*70 $GPGSV,5,3,17,10,61,260,,13,42,097,52,16,12,031,47,23,22,102,52*76 $GPGSV,5,4,17,25,68,073,,28,02,178,,75,16,224,,81,12,346,37*7B $GPGSV,5,5,17,82,13,037,*43 $GPRMC,073743.00,A,5355.1609,N,02729.9789,E,000.04599,150.1,090710,,,A*58 $GPGGA,073744.00,5355.1609,N,02729.9796,E,1,07,1.8,00264.6,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,17,01,01,023,47,02,17,256,,03,07,075,36,04,04,219,*75 $GPGSV,5,2,17,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*70 $GPGSV,5,3,17,10,61,260,,13,42,097,53,16,12,031,47,23,22,102,52*77 $GPGSV,5,4,17,25,68,073,,28,02,178,,75,16,224,,81,12,346,37*7B $GPGSV,5,5,17,82,13,037,*43 $GPRMC,073744.00,A,5355.1609,N,02729.9796,E,000.05690,138.6,090710,,,A*53 $GPGGA,073745.00,5355.1608,N,02729.9800,E,1,07,1.8,00264.2,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,18,01,01,023,47,02,17,256,,03,07,075,39,04,04,219,*75 $GPGSV,5,2,18,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*7F $GPGSV,5,3,18,10,61,260,,13,42,097,53,16,12,031,47,23,22,102,52*78 $GPGSV,5,4,18,25,68,073,,28,02,178,,65,28,320,,75,16,224,*73 $GPGSV,5,5,18,81,12,346,37,82,13,037,*73 $GPRMC,073745.00,A,5355.1608,N,02729.9800,E,000.05292,135.8,090710,,,A*56 $GPGGA,073746.00,5355.1609,N,02729.9803,E,1,07,1.8,00264.1,M,0023.4,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,18,01,01,023,47,02,17,256,,03,07,075,41,04,04,219,*7A $GPGSV,5,2,18,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*7F $GPGSV,5,3,18,10,61,260,,13,42,097,53,16,12,031,47,23,22,102,52*78 $GPGSV,5,4,18,25,68,073,,28,02,178,,65,28,320,,75,16,224,*73 $GPGSV,5,5,18,81,12,346,37,82,13,037,*73 $GPRMC,073746.00,A,5355.1609,N,02729.9803,E,000.03599,145.8,090710,,,A*5A $GPGGA,073747.00,5355.1609,N,02729.9805,E,1,07,1.8,00264.1,M,0023.4,M,,*64 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,18,01,01,023,47,02,17,256,,03,07,075,41,04,04,219,*7A $GPGSV,5,2,18,05,35,304,,06,07,060,46,07,81,169,,08,46,222,*7E $GPGSV,5,3,18,10,61,260,,13,42,097,53,16,12,031,47,23,22,102,52*78 $GPGSV,5,4,18,25,68,073,,28,02,178,,65,28,320,,75,16,224,*73 $GPGSV,5,5,18,81,12,346,38,82,13,037,*7C $GPRMC,073747.00,A,5355.1609,N,02729.9805,E,000.02088,152.2,090710,,,A*55 $GPGGA,073748.00,5355.1610,N,02729.9808,E,1,07,1.8,00264.2,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,18,01,01,023,47,02,17,256,,03,07,075,41,04,04,219,*7A $GPGSV,5,2,18,05,35,304,,06,07,060,46,07,81,169,,08,46,222,*7E $GPGSV,5,3,18,10,61,260,,13,42,097,53,16,12,031,47,23,22,102,51*7B $GPGSV,5,4,18,25,68,073,,28,02,178,,65,28,320,,75,16,224,*73 $GPGSV,5,5,18,81,12,346,38,82,13,037,*7C $GPRMC,073748.00,A,5355.1610,N,02729.9808,E,000.01216,182.7,090710,,,A*51 $GPGGA,073749.00,5355.1610,N,02729.9811,E,1,07,1.8,00264.1,M,0023.4,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,18,01,01,023,47,02,17,256,,03,07,075,42,04,04,219,*79 $GPGSV,5,2,18,05,35,304,,06,07,060,46,07,81,169,,08,46,222,*7E $GPGSV,5,3,18,10,61,260,,13,42,097,54,16,12,031,47,23,22,102,51*7C $GPGSV,5,4,18,25,68,073,,28,02,178,,65,28,320,,75,16,224,*73 $GPGSV,5,5,18,81,12,346,37,82,13,037,*73 $GPRMC,073749.00,A,5355.1610,N,02729.9811,E,000.00496,180.7,090710,,,A*55 $GPGGA,073750.00,5355.1611,N,02729.9813,E,1,07,1.8,00264.3,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,18,01,01,023,47,02,17,256,,03,07,075,42,04,04,219,*79 $GPGSV,5,2,18,05,35,304,,06,07,060,46,07,81,169,,08,46,222,*7E $GPGSV,5,3,18,10,61,260,,13,42,097,54,16,12,031,46,23,22,102,51*7D $GPGSV,5,4,18,25,68,073,,28,02,178,,65,28,320,,75,16,224,*73 $GPGSV,5,5,18,81,12,346,38,82,13,037,*7C $GPRMC,073750.00,A,5355.1611,N,02729.9813,E,000.00322,124.1,090710,,,A*5E $GPGGA,073751.00,5355.1612,N,02729.9816,E,1,07,1.8,00264.3,M,0023.4,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,19,01,01,023,48,02,17,256,,03,07,075,42,04,04,219,*77 $GPGSV,5,2,19,05,35,304,,06,07,060,46,07,81,169,,08,46,222,*7F $GPGSV,5,3,19,10,61,260,,13,42,097,54,16,12,031,46,23,22,102,50*7D $GPGSV,5,4,19,25,68,073,,28,02,178,,65,28,320,,71,36,162,*75 $GPGSV,5,5,19,75,16,224,,81,12,346,38,82,13,037,*4C $GPRMC,073751.00,A,5355.1612,N,02729.9816,E,000.00564,176.0,090710,,,A*5B $GPGGA,073752.00,5355.1613,N,02729.9819,E,1,07,1.8,00264.5,M,0023.3,M,,*65 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,20,01,01,023,48,02,17,256,,03,07,075,42,04,04,219,*7D $GPGSV,5,2,20,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*74 $GPGSV,5,3,20,10,61,260,,13,42,097,54,16,12,031,46,23,22,102,50*77 $GPGSV,5,4,20,25,68,073,,28,02,178,,65,28,320,,71,36,162,*7F $GPGSV,5,5,20,72,77,258,,75,16,224,,81,12,346,38,82,13,037,*7C $GPRMC,073752.00,A,5355.1613,N,02729.9819,E,000.00732,166.1,090710,,,A*57 $GPGGA,073753.00,5355.1613,N,02729.9822,E,1,07,1.8,00264.6,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,21,01,01,023,48,02,17,256,,03,07,075,42,04,04,219,*7F $GPGSV,6,2,21,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*76 $GPGSV,6,3,21,10,61,260,,13,42,097,54,16,12,031,47,23,22,102,50*74 $GPGSV,6,4,21,25,68,073,,28,02,178,,65,28,320,,71,36,162,*7D $GPGSV,6,5,21,72,77,258,,73,50,045,39,75,16,224,,81,12,346,38*78 $GPGSV,6,6,21,82,13,037,*46 $GPRMC,073753.00,A,5355.1613,N,02729.9822,E,000.01141,125.6,090710,,,A*5D $GPGGA,073754.00,5355.1615,N,02729.9824,E,1,07,1.8,00264.7,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,48,02,17,256,,03,07,075,42,04,04,219,*7C $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,48,23,22,102,51*79 $GPGSV,6,4,22,25,68,073,,28,02,178,,65,28,320,,71,36,162,*7E $GPGSV,6,5,22,72,77,258,,73,50,045,39,74,71,226,,75,16,224,*78 $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 $GPRMC,073754.00,A,5355.1615,N,02729.9824,E,000.01681,104.5,090710,,,A*51 $GPGGA,073755.00,5355.1616,N,02729.9827,E,1,07,1.8,00264.8,M,0023.4,M,,*60 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,48,02,17,256,,03,07,075,42,04,04,219,*7C $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,48,23,22,102,51*79 $GPGSV,6,4,22,25,68,073,,28,02,178,,65,28,320,,71,36,162,*7E $GPGSV,6,5,22,72,77,258,,73,50,045,39,74,71,226,,75,16,224,*78 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 $GPRMC,073755.00,A,5355.1616,N,02729.9827,E,000.01720,111.1,090710,,,A*5A $GPGGA,073756.00,5355.1617,N,02729.9830,E,1,07,1.8,00265.0,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,48,02,17,256,,03,07,075,41,04,04,219,*7F $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,48,23,22,102,51*79 $GPGSV,6,4,22,25,68,073,,28,02,178,,65,28,320,,71,36,162,*7E $GPGSV,6,5,22,72,77,258,,73,50,045,39,74,71,226,,75,16,224,*78 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 $GPRMC,073756.00,A,5355.1617,N,02729.9830,E,000.01485,139.9,090710,,,A*50 $GPGGA,073757.00,5355.1618,N,02729.9833,E,1,07,1.8,00265.2,M,0023.3,M,,*65 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,48,02,17,256,,03,07,075,41,04,04,219,*7F $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,48,23,22,102,51*79 $GPGSV,6,4,22,25,68,073,,28,02,178,,65,28,320,,71,36,162,*7E $GPGSV,6,5,22,72,77,258,,73,50,045,39,74,71,226,,75,16,224,*78 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 $GPRMC,073757.00,A,5355.1618,N,02729.9833,E,000.01753,184.8,090710,,,A*52 $GPGGA,073758.00,5355.1620,N,02729.9839,E,1,07,1.8,00265.5,M,0023.2,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,47,02,17,256,,03,07,075,41,04,04,219,*70 $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,47,23,22,102,52*75 $GPGSV,6,4,22,25,68,073,,28,02,178,31,65,28,320,,71,36,162,*7C $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 $GPRMC,073758.00,A,5355.1620,N,02729.9839,E,000.02205,199.0,090710,,,A*5D $GPGGA,073759.00,5355.1623,N,02729.9846,E,1,07,1.8,00265.7,M,0023.4,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,47,02,17,256,,03,07,075,40,04,04,219,*71 $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,47,23,22,102,53*74 $GPGSV,6,4,22,25,68,073,,28,02,178,30,65,28,320,,71,36,162,*7D $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 $GPRMC,073759.00,A,5355.1623,N,02729.9846,E,000.02422,200.3,090710,,,A*54 $GPGGA,073800.00,5355.1625,N,02729.9852,E,1,07,1.8,00265.8,M,0023.4,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,47,02,17,256,,03,07,075,40,04,04,219,*71 $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,47,23,22,102,53*74 $GPGSV,6,4,22,25,68,073,,28,02,178,30,65,28,320,,71,36,162,*7D $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 $GPRMC,073800.00,A,5355.1625,N,02729.9852,E,000.01801,175.6,090710,,,A*5E $GPGGA,073801.00,5355.1626,N,02729.9856,E,1,07,1.8,00265.9,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,47,02,17,256,,03,07,075,40,04,04,219,*71 $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,46,23,22,102,53*75 $GPGSV,6,4,22,25,68,073,,28,02,178,31,65,28,320,,71,36,162,*7C $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 $GPRMC,073801.00,A,5355.1626,N,02729.9856,E,000.01908,166.8,090710,,,A*5C $GPGGA,073802.00,5355.1627,N,02729.9859,E,1,07,1.8,00266.1,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,46,02,17,256,,03,07,075,40,04,04,219,*70 $GPGSV,6,2,22,05,35,304,,06,07,060,46,07,81,169,,08,46,222,*74 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,46,23,22,102,53*75 $GPGSV,6,4,22,25,68,073,,28,02,178,30,65,28,320,,71,36,162,*7D $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 $GPRMC,073802.00,A,5355.1627,N,02729.9859,E,000.02314,175.9,090710,,,A*56 $GPGGA,073803.00,5355.1628,N,02729.9862,E,1,07,1.8,00266.1,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,46,02,17,256,,03,07,075,39,04,04,219,*7E $GPGSV,6,2,22,05,35,304,,06,07,060,46,07,81,169,,08,46,222,*74 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,45,23,22,102,54*71 $GPGSV,6,4,22,25,68,073,,28,02,178,30,65,28,320,,71,36,162,*7D $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 $GPRMC,073803.00,A,5355.1628,N,02729.9862,E,000.02562,185.7,090710,,,A*56 $GPGGA,073804.00,5355.1629,N,02729.9865,E,1,07,1.8,00266.2,M,0023.4,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,45,02,17,256,,03,07,075,39,04,04,219,*7D $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,45,23,22,102,54*71 $GPGSV,6,4,22,25,68,073,,28,02,178,30,65,28,320,,71,36,162,*7D $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 $GPRMC,073804.00,A,5355.1629,N,02729.9865,E,000.02512,191.5,090710,,,A*57 $GPGGA,073805.00,5355.1630,N,02729.9869,E,1,07,1.8,00266.3,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,45,02,17,256,,03,07,075,39,04,04,219,*7D $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,45,23,22,102,54*76 $GPGSV,6,4,22,25,68,073,,28,02,178,30,65,28,320,,71,36,162,*7D $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 $GPRMC,073805.00,A,5355.1630,N,02729.9869,E,000.02296,192.7,090710,,,A*58 $GPGGA,073806.00,5355.1631,N,02729.9872,E,1,07,1.8,00266.5,M,0023.3,M,,*64 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,44,02,17,256,,03,07,075,39,04,04,219,*7C $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,45,23,22,102,54*76 $GPGSV,6,4,22,25,68,073,,28,02,178,30,65,28,320,,71,36,162,*7D $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 $GPRMC,073806.00,A,5355.1631,N,02729.9872,E,000.02406,188.0,090710,,,A*53 $GPGGA,073807.00,5355.1632,N,02729.9875,E,1,07,1.8,00266.6,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,44,02,17,256,,03,07,075,39,04,04,219,*7C $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,45,23,22,102,53*71 $GPGSV,6,4,22,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 $GPRMC,073807.00,A,5355.1632,N,02729.9875,E,000.02665,192.5,090710,,,A*5F $GPGGA,073808.00,5355.1633,N,02729.9878,E,1,07,1.8,00266.6,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,45,02,17,256,,03,07,075,40,04,04,219,*73 $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,45,23,22,102,53*71 $GPGSV,6,4,22,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 $GPRMC,073808.00,A,5355.1633,N,02729.9878,E,000.02739,192.8,090710,,,A*59 $GPGGA,073809.00,5355.1634,N,02729.9882,E,1,07,1.8,00266.5,M,0023.4,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,45,02,17,256,,03,07,075,40,04,04,219,*72 $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,45,23,22,102,53*71 $GPGSV,6,4,22,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,258,,73,50,045,39,74,71,226,,75,16,224,*78 $GPGSV,6,6,22,81,12,346,37,82,13,037,*7A $GPRMC,073809.00,A,5355.1634,N,02729.9882,E,000.03125,195.2,090710,,,A*5D $GPGGA,073810.00,5355.1634,N,02729.9885,E,1,07,1.8,00266.7,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,29,03,07,075,39,04,04,219,*75 $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,45,23,22,102,53*71 $GPGSV,6,4,22,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,258,,73,50,045,39,74,71,226,,75,16,224,*78 $GPGSV,6,6,22,81,12,346,37,82,13,037,*7A $GPRMC,073810.00,A,5355.1634,N,02729.9885,E,000.03539,198.7,090710,,,A*53 $GPGGA,073811.00,5355.1635,N,02729.9888,E,1,07,1.8,00266.6,M,0023.3,M,,*60 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,29,03,08,075,39,04,04,219,*7A $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,45,23,22,102,52*70 $GPGSV,6,4,22,25,68,073,,28,02,178,30,65,28,320,,71,36,162,*7D $GPGSV,6,5,22,72,77,258,,73,50,045,38,74,71,226,,75,16,224,*79 $GPGSV,6,6,22,81,12,346,37,82,13,037,*7A $GPRMC,073811.00,A,5355.1635,N,02729.9888,E,000.03561,197.6,090710,,,A*5D $GPGGA,073812.00,5355.1636,N,02729.9891,E,1,07,1.8,00266.8,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,29,03,08,075,39,04,03,219,*7D $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,46,23,22,102,52*73 $GPGSV,6,4,22,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,258,,73,50,045,37,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 $GPRMC,073812.00,A,5355.1636,N,02729.9891,E,000.03782,200.9,090710,,,A*58 $GPGGA,073813.00,5355.1637,N,02729.9894,E,1,07,1.8,00267.0,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,29,03,08,075,38,04,03,219,*7D $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,46,23,22,102,52*73 $GPGSV,6,4,22,25,68,073,,28,02,178,30,65,28,320,,71,36,162,*7D $GPGSV,6,5,22,72,77,258,,73,50,045,37,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 $GPRMC,073813.00,A,5355.1637,N,02729.9894,E,000.03875,202.2,090710,,,A*53 $GPGGA,073814.00,5355.1638,N,02729.9897,E,1,07,1.8,00267.2,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,29,03,08,075,38,04,03,219,*7E $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,47,23,22,102,52*72 $GPGSV,6,4,22,25,68,073,,28,02,178,30,65,28,320,,71,36,162,*7D $GPGSV,6,5,22,72,77,258,,73,50,045,37,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 $GPRMC,073814.00,A,5355.1638,N,02729.9897,E,000.03717,198.9,090710,,,A*58 $GPGGA,073815.00,5355.1639,N,02729.9900,E,1,07,1.8,00267.4,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,29,03,08,075,38,04,03,219,*7E $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,48,23,22,102,52*7D $GPGSV,6,4,22,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,258,,73,50,045,38,74,71,226,,75,16,224,*79 $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 $GPRMC,073815.00,A,5355.1639,N,02729.9900,E,000.03478,194.7,090710,,,A*5F $GPGGA,073816.00,5355.1639,N,02729.9902,E,1,07,1.8,00267.7,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,28,03,08,075,39,04,03,219,28*75 $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,48,23,22,102,52*7D $GPGSV,6,4,22,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,258,,73,50,045,38,74,71,226,,75,16,224,*79 $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 $GPRMC,073816.00,A,5355.1639,N,02729.9902,E,000.02979,187.6,090710,,,A*50 $GPGGA,073817.00,5355.1639,N,02729.9904,E,1,07,1.8,00268.0,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,29,03,08,075,39,04,03,219,28*74 $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,48,23,22,102,52*7D $GPGSV,6,4,22,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,258,,73,50,045,38,74,71,226,,75,16,224,*79 $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 $GPRMC,073817.00,A,5355.1639,N,02729.9904,E,000.02675,175.5,090710,,,A*5A $GPGGA,073818.00,5355.1638,N,02729.9905,E,1,07,1.8,00268.4,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,29,03,08,075,40,04,03,219,28*7A $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,49,23,22,102,52*77 $GPGSV,6,4,22,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,258,,73,50,045,38,74,71,226,,75,16,224,*79 $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 $GPRMC,073818.00,A,5355.1638,N,02729.9905,E,000.02694,171.8,090710,,,A*53 $GPGGA,073819.00,5355.1637,N,02729.9905,E,1,07,1.8,00268.7,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,28,03,08,075,40,04,03,219,28*7B $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,49,23,22,102,52*77 $GPGSV,6,4,22,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,258,,73,50,045,38,74,71,226,,75,16,224,*79 $GPGSV,6,6,22,81,12,346,37,82,13,037,*7A $GPRMC,073819.00,A,5355.1637,N,02729.9905,E,000.02660,168.3,090710,,,A*55 $GPGGA,073820.00,5355.1636,N,02729.9904,E,1,07,1.8,00268.9,M,0023.3,M,,*65 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,48,02,17,255,28,03,08,075,41,04,03,219,28*75 $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,48,23,22,102,52*76 $GPGSV,6,4,22,25,68,073,,28,02,178,28,65,28,320,,71,36,162,*74 $GPGSV,6,5,22,72,77,258,,73,50,045,39,74,71,226,,75,16,224,*78 $GPGSV,6,6,22,81,12,346,37,82,13,037,*7A $GPRMC,073820.00,A,5355.1636,N,02729.9904,E,000.02513,175.3,090710,,,A*54 $GPGGA,073821.00,5355.1635,N,02729.9905,E,1,07,1.8,00269.3,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,48,02,17,255,28,03,08,075,41,04,03,219,27*7A $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,48,23,22,102,52*76 $GPGSV,6,4,22,25,68,073,,28,02,178,28,65,28,320,,71,36,162,*74 $GPGSV,6,5,22,72,77,258,,73,50,045,38,74,71,226,,75,16,224,*79 $GPGSV,6,6,22,81,12,346,37,82,13,037,*7A $GPRMC,073821.00,A,5355.1635,N,02729.9905,E,000.02674,187.8,090710,,,A*53 $GPGGA,073822.00,5355.1635,N,02729.9906,E,1,07,1.8,00269.7,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,21,01,00,023,48,02,17,255,27,03,08,075,41,04,03,219,28*79 $GPGSV,6,2,21,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*78 $GPGSV,6,3,21,10,61,259,,13,42,097,52,16,12,031,48,23,22,102,52*75 $GPGSV,6,4,21,25,68,073,,28,02,178,28,65,28,320,,71,36,162,*77 $GPGSV,6,5,21,73,50,045,38,74,71,226,,75,16,224,,81,12,346,38*70 $GPGSV,6,6,21,82,13,037,*46 $GPRMC,073822.00,A,5355.1635,N,02729.9906,E,000.02642,194.9,090710,,,A*55 $GPGGA,073823.00,5355.1635,N,02729.9908,E,1,07,1.8,00270.0,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,21,01,00,023,48,02,17,255,28,03,08,075,41,04,03,219,28*76 $GPGSV,6,2,21,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*78 $GPGSV,6,3,21,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,52*7A $GPGSV,6,4,21,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*76 $GPGSV,6,5,21,73,50,045,38,74,71,226,,75,16,224,,81,12,346,37*7F $GPGSV,6,6,21,82,13,037,*46 $GPRMC,073823.00,A,5355.1635,N,02729.9908,E,000.02743,196.6,090710,,,A*57 $GPGGA,073824.00,5355.1635,N,02729.9910,E,1,07,1.8,00270.4,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,21,01,00,023,48,02,17,255,28,03,08,075,40,04,03,219,28*77 $GPGSV,6,2,21,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*78 $GPGSV,6,3,21,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,52*7A $GPGSV,6,4,21,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*76 $GPGSV,6,5,21,73,50,045,37,74,71,226,,75,16,224,,81,12,346,37*70 $GPGSV,6,6,21,82,13,037,*46 $GPRMC,073824.00,A,5355.1635,N,02729.9910,E,000.02731,195.7,090710,,,A*5E $GPGGA,073825.00,5355.1635,N,02729.9913,E,1,07,1.8,00270.6,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,21,01,00,023,48,02,17,255,28,03,08,075,40,04,03,219,28*77 $GPGSV,6,2,21,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*78 $GPGSV,6,3,21,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*79 $GPGSV,6,4,21,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*76 $GPGSV,6,5,21,73,50,045,37,74,71,226,,75,16,224,,81,12,346,37*70 $GPGSV,6,6,21,82,13,037,*46 $GPRMC,073825.00,A,5355.1635,N,02729.9913,E,000.02228,188.7,090710,,,A*5D $GPGGA,073826.00,5355.1635,N,02729.9914,E,1,07,1.8,00270.6,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,21,01,00,023,48,02,17,255,28,03,08,075,40,04,03,219,28*77 $GPGSV,6,2,21,05,35,304,,06,07,060,46,07,81,167,,08,46,222,*79 $GPGSV,6,3,21,10,61,259,,13,42,097,52,16,12,031,46,23,22,102,51*78 $GPGSV,6,4,21,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*76 $GPGSV,6,5,21,73,50,045,38,74,71,226,,75,16,224,,81,12,346,37*7F $GPGSV,6,6,21,82,13,037,*46 $GPRMC,073826.00,A,5355.1635,N,02729.9914,E,000.01869,175.8,090710,,,A*58 $GPGGA,073827.00,5355.1634,N,02729.9915,E,1,07,1.8,00270.4,M,0023.3,M,,*64 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.4*33 $GPGSV,6,1,21,01,00,023,48,02,17,255,28,03,08,075,40,04,03,219,28*77 $GPGSV,6,2,21,05,35,304,,06,07,060,46,07,81,167,,08,46,222,*79 $GPGSV,6,3,21,10,61,259,,13,42,097,52,16,12,031,46,23,22,102,51*78 $GPGSV,6,4,21,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*76 $GPGSV,6,5,21,73,50,045,39,74,71,226,,75,16,224,,81,12,346,37*7E $GPGSV,6,6,21,82,13,037,*46 $GPRMC,073827.00,A,5355.1634,N,02729.9915,E,000.01917,177.6,090710,,,A*5D $GPGGA,073828.00,5355.1634,N,02729.9915,E,1,07,1.8,00270.3,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.4*33 $GPGSV,6,1,21,01,00,023,48,02,17,255,28,03,08,075,41,04,03,219,27*79 $GPGSV,6,2,21,05,35,304,,06,07,060,46,07,81,167,,08,46,222,*79 $GPGSV,6,3,21,10,61,259,,13,42,097,52,16,12,031,46,23,22,102,52*7B $GPGSV,6,4,21,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*76 $GPGSV,6,5,21,73,50,045,39,74,71,226,,75,16,224,,81,12,346,37*7E $GPGSV,6,6,21,82,13,037,*46 $GPRMC,073828.00,A,5355.1634,N,02729.9915,E,000.01991,176.7,090710,,,A*5C $GPGGA,073829.00,5355.1634,N,02729.9917,E,1,07,1.8,00270.3,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.4*33 $GPGSV,6,1,21,01,00,023,48,02,17,255,28,03,08,075,41,04,03,219,28*76 $GPGSV,6,2,21,05,35,304,,06,07,060,46,07,81,167,,08,46,222,*79 $GPGSV,6,3,21,10,61,259,,13,42,097,52,16,12,031,46,23,22,102,52*7B $GPGSV,6,4,21,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*76 $GPGSV,6,5,21,73,50,045,39,74,71,226,,75,16,224,,81,12,346,37*7E $GPGSV,6,6,21,82,13,037,*46 $GPRMC,073829.00,A,5355.1634,N,02729.9917,E,000.01785,161.7,090710,,,A*52 $GPGGA,073830.00,5355.1635,N,02729.9920,E,1,07,1.8,00270.6,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.4*33 $GPGSV,5,1,20,01,00,023,49,02,17,255,28,03,08,075,42,04,03,219,28*76 $GPGSV,5,2,20,05,35,304,,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,46,23,22,102,52*78 $GPGSV,5,4,20,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*74 $GPGSV,5,5,20,73,50,045,39,75,16,224,,81,12,346,37,82,13,037,*73 $GPRMC,073830.00,A,5355.1635,N,02729.9920,E,000.01855,133.1,090710,,,A*5C $GPGGA,073831.00,5355.1635,N,02729.9922,E,1,07,1.8,00270.7,M,0023.3,M,,*65 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.4*33 $GPGSV,5,1,20,01,00,023,48,02,17,255,28,03,08,075,41,04,03,219,27*7B $GPGSV,5,2,20,05,35,304,,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,5,3,20,10,61,259,,13,42,097,52,16,12,031,46,23,22,102,52*79 $GPGSV,5,4,20,25,68,073,,28,02,178,28,65,28,320,,71,36,162,*75 $GPGSV,5,5,20,73,50,045,39,75,16,224,,81,12,346,37,82,13,037,*73 $GPRMC,073831.00,A,5355.1635,N,02729.9922,E,000.01963,130.3,090710,,,A*5A $GPGGA,073832.00,5355.1636,N,02729.9925,E,1,07,1.8,00270.9,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.4*33 $GPGSV,5,1,20,01,00,023,48,02,17,255,29,03,08,075,41,04,03,219,28*75 $GPGSV,5,2,20,05,35,304,,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,46,23,22,102,52*78 $GPGSV,5,4,20,25,68,073,,28,02,178,28,65,28,320,,71,36,162,*75 $GPGSV,5,5,20,73,50,045,40,75,16,224,,81,12,346,37,82,13,037,*7D $GPRMC,073832.00,A,5355.1636,N,02729.9925,E,000.02265,116.2,090710,,,A*56 $GPGGA,073833.00,5355.1636,N,02729.9925,E,1,07,1.8,00270.9,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.4*33 $GPGSV,5,1,20,01,00,023,48,02,17,255,29,03,08,075,40,04,03,219,28*74 $GPGSV,5,2,20,05,35,304,,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,46,23,22,102,52*78 $GPGSV,5,4,20,25,67,072,,28,02,178,29,65,28,320,,71,36,162,*7A $GPGSV,5,5,20,73,50,045,40,75,16,224,,81,12,346,37,82,13,037,*7D $GPRMC,073833.00,A,5355.1636,N,02729.9925,E,000.01899,130.4,090710,,,A*5F $GPGGA,073834.00,5355.1635,N,02729.9926,E,1,07,1.8,00270.8,M,0023.3,M,,*6B $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.4*33 $GPGSV,5,1,20,01,00,023,47,02,17,255,29,03,08,075,41,04,03,219,28*7A $GPGSV,5,2,20,05,35,304,29,06,07,060,46,07,81,167,,08,46,222,*70 $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,46,23,22,102,52*78 $GPGSV,5,4,20,25,67,072,,28,02,178,30,65,28,320,,71,36,162,*72 $GPGSV,5,5,20,73,50,045,41,75,16,224,,81,12,346,37,82,13,037,*7C $GPRMC,073834.00,A,5355.1635,N,02729.9926,E,000.01924,141.2,090710,,,A*5F $GPGGA,073835.00,5355.1636,N,02729.9928,E,1,07,1.8,00270.7,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,47,02,17,255,30,03,08,075,41,04,03,219,28*72 $GPGSV,5,2,20,05,35,304,27,06,07,060,46,07,81,167,,08,46,222,*7E $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,47,23,22,102,52*79 $GPGSV,5,4,20,25,67,072,,28,02,178,29,65,28,320,,71,36,162,*7A $GPGSV,5,5,20,73,50,045,40,75,16,224,,81,12,346,37,82,13,037,*7D $GPRMC,073835.00,A,5355.1636,N,02729.9928,E,000.01902,162.0,090710,,,A*54 $GPGGA,073836.00,5355.1636,N,02729.9930,E,1,07,1.8,00270.4,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,47,02,17,255,30,03,08,075,41,04,03,219,27*7D $GPGSV,5,2,20,05,35,304,26,06,07,060,46,07,81,167,,08,46,222,*7F $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,46,23,22,102,52*78 $GPGSV,5,4,20,25,67,072,,28,03,178,30,65,28,320,,71,36,162,*73 $GPGSV,5,5,20,73,50,045,41,75,16,224,,81,12,346,38,82,13,037,*73 $GPRMC,073836.00,A,5355.1636,N,02729.9930,E,000.01738,158.2,090710,,,A*52 $GPGGA,073837.00,5355.1637,N,02729.9933,E,1,07,1.8,00270.4,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,47,02,17,255,29,03,08,075,41,04,03,219,28*7A $GPGSV,5,2,20,05,35,304,24,06,07,060,46,07,81,167,,08,46,222,*7D $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,46,23,22,102,52*78 $GPGSV,5,4,20,25,67,072,,28,03,178,29,65,28,320,,71,36,162,*7B $GPGSV,5,5,20,73,50,045,40,75,16,224,,81,12,346,38,82,13,037,*72 $GPRMC,073837.00,A,5355.1637,N,02729.9933,E,000.01726,156.3,090710,,,A*51 $GPGGA,073838.00,5355.1638,N,02729.9937,E,1,07,1.8,00270.6,M,0023.3,M,,*64 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,47,02,17,255,29,03,08,075,41,04,03,219,28*7A $GPGSV,5,2,20,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7A $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,46,23,22,102,51*7B $GPGSV,5,4,20,25,67,072,,28,03,178,29,65,28,320,,71,36,162,*7B $GPGSV,5,5,20,73,50,045,40,75,16,224,,81,12,346,39,82,13,037,*73 $GPRMC,073838.00,A,5355.1638,N,02729.9937,E,000.01707,141.9,090710,,,A*5A $GPGGA,073839.00,5355.1639,N,02729.9941,E,1,07,1.8,00270.6,M,0023.3,M,,*65 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,29,03,08,075,40,04,03,219,28*7A $GPGSV,5,2,20,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7A $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,46,23,22,102,52*78 $GPGSV,5,4,20,25,67,072,,28,03,178,29,65,28,320,,71,36,162,*7B $GPGSV,5,5,20,73,50,045,40,75,16,224,,81,12,346,39,82,13,037,*73 $GPRMC,073839.00,A,5355.1639,N,02729.9941,E,000.01943,121.2,090710,,,A*58 $GPGGA,073840.00,5355.1639,N,02729.9944,E,1,07,1.8,00270.5,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,29,03,08,075,39,04,03,219,28*74 $GPGSV,5,2,20,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7A $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,46,23,22,102,52*78 $GPGSV,5,4,20,25,67,072,,28,03,178,29,65,28,320,,71,36,162,*7B $GPGSV,5,5,20,73,50,045,40,75,16,224,,81,12,346,38,82,13,037,*72 $GPRMC,073840.00,A,5355.1639,N,02729.9944,E,000.02156,128.8,090710,,,A*5F $GPGGA,073841.00,5355.1638,N,02729.9946,E,1,06,1.9,00270.3,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.1,1.9,2.5*30 $GPGSV,5,1,20,01,00,023,45,02,17,255,29,03,08,075,38,04,03,219,28*76 $GPGSV,5,2,20,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7A $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,47,23,22,102,52*79 $GPGSV,5,4,20,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*7A $GPGSV,5,5,20,73,50,045,40,75,16,224,,81,12,346,38,82,13,037,*72 $GPRMC,073841.00,A,5355.1638,N,02729.9946,E,000.02280,128.0,090710,,,A*5D $GPGGA,073842.00,5355.1638,N,02729.9948,E,1,07,1.8,00270.0,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,44,02,17,255,29,03,08,075,37,04,03,219,28*78 $GPGSV,5,2,20,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7A $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,47,23,22,102,52*79 $GPGSV,5,4,20,25,67,072,,28,03,178,30,65,29,320,,71,36,162,*72 $GPGSV,5,5,20,73,50,045,39,75,16,224,,81,12,346,38,82,13,037,*7C $GPRMC,073842.00,A,5355.1638,N,02729.9948,E,000.02060,134.2,090710,,,A*53 $GPGGA,073843.00,5355.1638,N,02729.9951,E,1,07,1.8,00269.7,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,44,02,17,255,28,03,08,075,35,04,03,219,28*7B $GPGSV,5,2,20,05,35,304,22,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,5,3,20,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7B $GPGSV,5,4,20,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*7A $GPGSV,5,5,20,73,50,045,39,75,16,224,,81,12,346,38,82,13,037,*7C $GPRMC,073843.00,A,5355.1638,N,02729.9951,E,000.02106,127.8,090710,,,A*53 $GPGGA,073844.00,5355.1638,N,02729.9954,E,1,07,1.8,00269.5,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,44,02,17,255,28,03,08,075,34,04,03,219,27*75 $GPGSV,5,2,20,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7A $GPGSV,5,3,20,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7B $GPGSV,5,4,20,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*7A $GPGSV,5,5,20,73,50,045,37,75,16,224,,81,12,346,38,82,13,037,*72 $GPRMC,073844.00,A,5355.1638,N,02729.9954,E,000.03153,125.7,090710,,,A*5D $GPGGA,073845.00,5355.1638,N,02729.9958,E,1,07,1.8,00269.5,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,45,02,17,255,28,03,08,075,35,04,03,219,27*75 $GPGSV,5,2,20,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7A $GPGSV,5,3,20,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7B $GPGSV,5,4,20,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7B $GPGSV,5,5,20,73,50,045,37,75,16,224,,81,12,346,38,82,13,037,*72 $GPRMC,073845.00,A,5355.1638,N,02729.9958,E,000.02843,135.2,090710,,,A*5D $GPGGA,073846.00,5355.1639,N,02729.9961,E,1,07,1.8,00269.8,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,28,03,08,075,36,04,03,219,26*74 $GPGSV,5,2,20,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7A $GPGSV,5,3,20,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7B $GPGSV,5,4,20,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*7A $GPGSV,5,5,20,73,50,045,37,75,16,224,,81,12,346,38,82,13,037,*72 $GPRMC,073846.00,A,5355.1639,N,02729.9961,E,000.02377,155.2,090710,,,A*5F $GPGGA,073847.00,5355.1639,N,02729.9963,E,1,07,1.8,00270.1,M,0023.3,M,,*6B $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,28,03,08,075,37,04,03,219,27*74 $GPGSV,5,2,20,05,35,304,24,06,07,060,46,07,81,167,,08,46,222,*7D $GPGSV,5,3,20,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7B $GPGSV,5,4,20,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*7A $GPGSV,5,5,20,73,50,045,37,75,16,224,,81,12,346,39,82,13,037,*73 $GPRMC,073847.00,A,5355.1639,N,02729.9963,E,000.02198,170.7,090710,,,A*5D $GPGGA,073848.00,5355.1640,N,02729.9966,E,1,07,1.8,00270.4,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,21,01,00,023,46,02,17,255,28,03,08,075,38,04,03,219,26*78 $GPGSV,6,2,21,05,35,304,25,06,07,060,46,07,81,167,,08,46,222,*7E $GPGSV,6,3,21,10,61,259,,13,42,097,52,16,12,031,46,23,22,102,50*79 $GPGSV,6,4,21,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*79 $GPGSV,6,5,21,72,77,256,,73,50,045,36,75,16,224,,81,12,346,38*79 $GPGSV,6,6,21,82,13,037,*46 $GPRMC,073848.00,A,5355.1640,N,02729.9966,E,000.01859,169.6,090710,,,A*57 $GPGGA,073849.00,5355.1640,N,02729.9968,E,1,07,1.8,00270.8,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,21,01,00,023,45,02,17,255,27,03,08,075,39,04,03,219,26*75 $GPGSV,6,2,21,05,35,304,25,06,07,060,46,07,81,167,,08,46,222,*7E $GPGSV,6,3,21,10,61,259,,13,42,097,52,16,12,031,45,23,22,102,50*7A $GPGSV,6,4,21,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*79 $GPGSV,6,5,21,72,77,256,,73,50,045,36,75,16,224,,81,12,346,38*79 $GPGSV,6,6,21,82,13,037,*46 $GPRMC,073849.00,A,5355.1640,N,02729.9968,E,000.01916,179.3,090710,,,A*56 $GPGGA,073850.00,5355.1639,N,02729.9968,E,1,07,1.8,00271.2,M,0023.3,M,,*64 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,28,03,08,075,39,04,03,219,26*79 $GPGSV,6,2,22,05,35,304,24,06,07,060,47,07,81,167,,08,46,222,*7D $GPGSV,6,3,22,10,61,259,,13,42,097,51,16,12,031,44,23,22,102,50*7B $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,37,74,72,227,,75,16,224,*7A $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 $GPRMC,073850.00,A,5355.1639,N,02729.9968,E,000.01824,178.4,090710,,,A*56 $GPGGA,073851.00,5355.1640,N,02729.9968,E,1,07,1.8,00271.6,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,27,03,08,075,38,04,03,219,27*76 $GPGSV,6,2,22,05,35,304,24,06,07,060,47,07,81,167,,08,46,222,*7D $GPGSV,6,3,22,10,61,259,,13,42,097,51,16,12,031,44,23,22,102,50*7B $GPGSV,6,4,22,25,67,072,,28,03,178,27,65,29,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,256,,73,50,045,37,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 $GPRMC,073851.00,A,5355.1640,N,02729.9968,E,000.01860,185.4,090710,,,A*5B $GPGGA,073852.00,5355.1640,N,02729.9968,E,1,07,1.8,00271.9,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,27,03,08,075,38,04,03,219,27*76 $GPGSV,6,2,22,05,35,304,24,06,07,060,47,07,81,167,,08,46,222,*7D $GPGSV,6,3,22,10,61,259,,13,42,097,51,16,12,031,44,23,22,102,50*7B $GPGSV,6,4,22,25,67,072,,28,03,178,27,65,29,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,256,,73,50,045,37,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 $GPRMC,073852.00,A,5355.1640,N,02729.9968,E,000.02093,194.7,090710,,,A*5C $GPGGA,073853.00,5355.1641,N,02729.9971,E,1,07,1.8,00272.1,M,0023.3,M,,*60 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,27,03,08,075,38,04,03,219,27*75 $GPGSV,6,2,22,05,35,304,24,06,07,060,47,07,81,167,,08,46,222,*7D $GPGSV,6,3,22,10,61,259,,13,42,097,51,16,12,031,44,23,22,102,51*7A $GPGSV,6,4,22,25,67,072,,28,03,178,27,65,29,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,256,,73,50,045,38,74,72,227,,75,17,225,*75 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 $GPRMC,073853.00,A,5355.1641,N,02729.9971,E,000.01597,185.9,090710,,,A*58 $GPGGA,073854.00,5355.1643,N,02729.9975,E,1,07,1.8,00272.4,M,0023.3,M,,*64 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,28,03,08,075,37,04,03,219,27*75 $GPGSV,6,2,22,05,35,304,24,06,07,060,47,07,81,167,,08,46,222,*7D $GPGSV,6,3,22,10,61,259,,13,42,097,51,16,12,031,44,23,22,102,51*7A $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,38,74,72,227,,75,17,225,*75 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 $GPRMC,073854.00,A,5355.1643,N,02729.9975,E,000.01520,177.5,090710,,,A*54 $GPGGA,073855.00,5355.1644,N,02729.9979,E,1,07,1.8,00272.5,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,28,03,08,075,37,04,03,219,27*74 $GPGSV,6,2,22,05,35,304,25,06,07,060,47,07,81,167,,08,46,222,*7C $GPGSV,6,3,22,10,61,259,,13,42,097,51,16,12,031,44,23,22,102,51*7A $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,12,346,40,82,13,037,*7A $GPRMC,073855.00,A,5355.1644,N,02729.9979,E,000.01551,158.7,090710,,,A*57 $GPGGA,073856.00,5355.1645,N,02729.9983,E,1,07,1.8,00272.6,M,0023.3,M,,*6B $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,28,03,08,075,37,04,03,219,27*75 $GPGSV,6,2,22,05,35,304,25,06,07,060,48,07,81,167,,08,46,222,*73 $GPGSV,6,3,22,10,61,259,,13,42,097,51,16,12,031,43,23,22,102,51*7D $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,12,346,40,82,13,037,*7A $GPRMC,073856.00,A,5355.1645,N,02729.9983,E,000.01420,135.6,090710,,,A*5D $GPGGA,073857.00,5355.1646,N,02729.9986,E,1,07,1.8,00272.7,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,28,03,08,075,37,04,03,219,27*76 $GPGSV,6,2,22,05,35,304,25,06,07,060,48,07,81,167,,08,46,222,*73 $GPGSV,6,3,22,10,61,259,,13,42,097,51,16,12,031,44,23,22,102,50*7B $GPGSV,6,4,22,25,67,072,,28,03,178,27,65,29,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,11,346,40,82,13,037,*79 $GPRMC,073857.00,A,5355.1646,N,02729.9986,E,000.01569,140.2,090710,,,A*50 $GPGGA,073858.00,5355.1647,N,02729.9989,E,1,07,1.8,00272.8,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,28,03,08,075,37,04,03,219,27*76 $GPGSV,6,2,22,05,35,304,24,06,07,060,47,07,81,167,,08,46,222,*7D $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,44,23,22,102,51*79 $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,11,346,39,82,13,036,*76 $GPRMC,073858.00,A,5355.1647,N,02729.9989,E,000.01790,156.7,090710,,,A*57 $GPGGA,073859.00,5355.1648,N,02729.9990,E,1,07,1.8,00272.7,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,28,03,08,075,37,04,03,219,28*78 $GPGSV,6,2,22,05,35,304,24,06,07,060,47,07,81,167,,08,46,222,*7D $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,43,23,22,102,51*7E $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,11,346,38,82,13,036,*77 $GPRMC,073859.00,A,5355.1648,N,02729.9990,E,000.01918,172.8,090710,,,A*56 $GPGGA,073900.00,5355.1650,N,02729.9990,E,1,07,1.8,00272.5,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,28,03,08,075,38,04,03,219,27*79 $GPGSV,6,2,22,05,35,304,24,06,07,060,47,07,81,167,,08,46,222,*7D $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,44,23,22,102,51*79 $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,11,346,38,82,13,036,*77 $GPRMC,073900.00,A,5355.1650,N,02729.9990,E,000.02292,203.0,090710,,,A*55 $GPGGA,073901.00,5355.1651,N,02729.9989,E,1,07,1.8,00272.3,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,28,03,08,075,38,04,03,219,27*79 $GPGSV,6,2,22,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,44,23,22,102,51*79 $GPGSV,6,4,22,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*7B $GPGSV,6,5,22,72,77,256,,73,50,045,38,74,72,227,,75,17,225,*75 $GPGSV,6,6,22,81,11,346,38,82,13,036,*77 $GPRMC,073901.00,A,5355.1651,N,02729.9989,E,000.02987,216.9,090710,,,A*5F $GPGGA,073902.00,5355.1651,N,02729.9987,E,1,07,1.8,00272.3,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,28,03,08,075,39,04,03,219,27*78 $GPGSV,6,2,22,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,44,23,22,102,52*7A $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,11,346,38,82,13,036,*77 $GPRMC,073902.00,A,5355.1651,N,02729.9987,E,000.03954,221.3,090710,,,A*53 $GPGGA,073903.00,5355.1652,N,02729.9987,E,1,07,1.8,00272.7,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,28,03,08,075,40,04,03,219,28*79 $GPGSV,6,2,22,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,45,23,22,102,52*7B $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,11,346,38,82,13,036,*77 $GPRMC,073903.00,A,5355.1652,N,02729.9987,E,000.03533,217.2,090710,,,A*58 $GPGGA,073904.00,5355.1652,N,02729.9987,E,1,07,1.8,00272.9,M,0023.3,M,,*60 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,28,03,08,075,39,04,03,219,27*79 $GPGSV,6,2,22,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,45,23,22,102,52*7B $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,11,346,38,82,13,036,*77 $GPRMC,073904.00,A,5355.1652,N,02729.9987,E,000.02849,206.1,090710,,,A*5D $GPGGA,073905.00,5355.1651,N,02729.9986,E,1,07,1.8,00272.9,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,43,02,17,255,28,03,08,075,39,04,03,219,27*7E $GPGSV,6,2,22,05,35,304,24,06,07,060,46,07,81,167,,08,46,222,*7C $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,46,23,22,102,51*7B $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,40,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,11,346,39,82,13,036,*76 $GPRMC,073905.00,A,5355.1651,N,02729.9986,E,000.02542,192.3,090710,,,A*54 $GPGGA,073906.00,5355.1650,N,02729.9985,E,1,07,1.8,00272.8,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,43,02,17,255,28,03,08,075,39,04,03,219,27*7E $GPGSV,6,2,22,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7A $GPGSV,6,4,22,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*7B $GPGSV,6,5,22,72,77,256,,73,50,045,40,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,11,346,39,82,13,036,*76 $GPRMC,073906.00,A,5355.1650,N,02729.9985,E,000.02586,182.3,090710,,,A*5C $GPGGA,073907.00,5355.1649,N,02729.9981,E,1,07,1.8,00272.7,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,43,02,17,255,28,03,08,075,39,04,03,219,27*7E $GPGSV,6,2,22,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7A $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,40,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,11,346,38,82,13,036,*77 $GPRMC,073907.00,A,5355.1649,N,02729.9981,E,000.02934,185.1,090710,,,A*51 $GPGGA,073908.00,5355.1647,N,02729.9977,E,1,07,1.8,00272.5,M,0023.3,M,,*6B $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,43,02,17,255,28,03,08,075,39,04,03,219,27*7E $GPGSV,6,2,22,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7A $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,40,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,11,346,38,82,13,036,*77 $GPRMC,073908.00,A,5355.1647,N,02729.9977,E,000.02983,188.8,090710,,,A*51 $GPGGA,073909.00,5355.1646,N,02729.9974,E,1,07,1.8,00272.3,M,0023.3,M,,*6E $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,43,02,17,255,28,03,08,075,38,04,03,219,27*7F $GPGSV,6,2,22,05,36,304,23,06,07,060,46,07,81,167,,08,46,222,*78 $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7A $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,40,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,11,346,37,82,13,036,*78 $GPRMC,073909.00,A,5355.1646,N,02729.9974,E,000.02692,185.8,090710,,,A*50 $GPGGA,073910.00,5355.1645,N,02729.9971,E,1,07,1.8,00272.1,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,43,02,17,255,28,03,08,075,36,04,03,219,27*71 $GPGSV,6,2,22,05,36,304,23,06,07,060,45,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,51,16,12,031,47,23,22,102,50*78 $GPGSV,6,4,22,25,67,072,,28,03,178,27,65,29,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,256,,73,50,045,40,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,11,346,38,82,13,036,*77 $GPRMC,073910.00,A,5355.1645,N,02729.9971,E,000.02180,180.2,090710,,,A*55 $GPGGA,073911.00,5355.1644,N,02729.9971,E,1,07,1.8,00271.8,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,43,02,17,255,27,03,08,075,35,04,03,219,26*7C $GPGSV,6,2,22,05,36,304,23,06,07,060,46,07,81,164,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,51,16,12,031,47,23,22,102,50*78 $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,40,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,11,346,38,82,13,036,*77 $GPRMC,073911.00,A,5355.1644,N,02729.9971,E,000.01555,145.6,090710,,,A*57 $GPGGA,073912.00,5355.1644,N,02729.9973,E,1,07,1.8,00271.6,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,27,03,08,075,35,04,03,219,26*7B $GPGSV,6,2,22,05,36,304,23,06,07,060,46,07,81,164,,08,47,222,*7A $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7A $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,40,74,72,227,26,75,17,225,*7E $GPGSV,6,6,22,81,11,346,39,82,13,036,*76 $GPRMC,073912.00,A,5355.1644,N,02729.9973,E,000.01842,121.6,090710,,,A*5F $GPGGA,073913.00,5355.1644,N,02729.9977,E,1,07,1.8,00271.4,M,0023.3,M,,*60 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,27,03,08,075,34,04,03,219,26*7A $GPGSV,6,2,22,05,36,304,24,06,07,060,46,07,81,164,,08,47,222,*7D $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7A $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,40,74,72,227,24,75,17,225,*7C $GPGSV,6,6,22,81,11,346,39,82,13,036,*76 $GPRMC,073913.00,A,5355.1644,N,02729.9977,E,000.02686,101.3,090710,,,A*58 $GPGGA,073914.00,5355.1644,N,02729.9980,E,1,07,1.8,00271.3,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,28,03,08,075,34,04,03,219,27*74 $GPGSV,6,2,22,05,36,304,24,06,07,060,46,07,81,164,,08,47,222,*7D $GPGSV,6,3,22,10,61,258,,13,42,097,52,16,12,031,47,23,22,102,51*7B $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,23,75,17,225,*75 $GPGSV,6,6,22,81,11,346,39,82,13,036,*76 $GPRMC,073914.00,A,5355.1644,N,02729.9980,E,000.03487,096.3,090710,,,A*5A $GPGGA,073915.00,5355.1644,N,02729.9983,E,1,07,1.8,00270.9,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,28,03,08,075,34,04,03,219,27*74 $GPGSV,6,2,22,05,36,304,24,06,07,060,46,07,81,164,,08,47,222,*7D $GPGSV,6,3,22,10,61,258,,13,42,097,52,16,12,031,47,23,22,102,51*7B $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,11,346,39,82,13,036,*76 $GPRMC,073915.00,A,5355.1644,N,02729.9983,E,000.03841,098.4,090710,,,A*57 $GPGGA,073916.00,5355.1644,N,02729.9984,E,1,07,1.8,00270.6,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,28,03,08,075,35,04,03,219,26*74 $GPGSV,6,2,22,05,36,304,25,06,07,060,46,07,81,164,,08,47,222,*7C $GPGSV,6,3,22,10,61,258,,13,42,097,52,16,12,031,47,23,22,102,51*7B $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,11,346,39,82,13,036,*76 $GPRMC,073916.00,A,5355.1644,N,02729.9984,E,000.03450,102.7,090710,,,A*5E $GPGGA,073917.00,5355.1644,N,02729.9984,E,1,07,1.8,00270.2,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,29,03,08,075,35,04,03,219,27*74 $GPGSV,6,2,22,05,36,304,25,06,07,060,45,07,81,164,,08,47,222,*7F $GPGSV,6,3,22,10,61,258,,13,42,097,52,16,12,031,47,23,22,102,51*7B $GPGSV,6,4,22,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*7B $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,11,346,39,82,13,036,*76 $GPRMC,073917.00,A,5355.1644,N,02729.9984,E,000.02497,116.5,090710,,,A*52 $GPGGA,073918.00,5355.1645,N,02729.9986,E,1,07,1.8,00270.1,M,0023.3,M,,*60 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,21,01,00,023,45,02,17,255,29,03,08,075,35,04,03,219,27*76 $GPGSV,6,2,21,05,36,304,25,06,07,060,45,07,81,164,,08,47,222,*7C $GPGSV,6,3,21,10,61,258,,13,42,097,52,16,12,031,47,23,22,102,51*78 $GPGSV,6,4,21,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*78 $GPGSV,6,5,21,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*77 $GPGSV,6,6,21,82,13,036,*47 $GPRMC,073918.00,A,5355.1645,N,02729.9986,E,000.01943,128.4,090710,,,A*55 $GPGGA,073919.00,5355.1645,N,02729.9990,E,1,07,1.8,00270.1,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,21,01,00,023,45,02,17,255,28,03,08,075,36,04,03,219,27*74 $GPGSV,6,2,21,05,36,304,26,06,07,060,45,07,81,164,,08,47,222,*7F $GPGSV,6,3,21,10,61,258,,13,42,097,53,16,12,031,47,23,22,102,50*78 $GPGSV,6,4,21,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*78 $GPGSV,6,5,21,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*77 $GPGSV,6,6,21,82,13,036,*47 $GPRMC,073919.00,A,5355.1645,N,02729.9990,E,000.01731,123.8,090710,,,A*5F $GPGGA,073920.00,5355.1647,N,02729.9994,E,1,07,1.8,00270.3,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,21,01,00,023,46,02,17,255,29,03,08,075,37,04,03,219,26*76 $GPGSV,6,2,21,05,36,304,26,06,07,060,45,07,81,164,,08,47,222,*7F $GPGSV,6,3,21,10,61,258,,13,42,097,53,16,12,031,46,23,22,102,50*79 $GPGSV,6,4,21,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*78 $GPGSV,6,5,21,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*77 $GPGSV,6,6,21,82,13,036,*47 $GPRMC,073920.00,A,5355.1647,N,02729.9994,E,000.01414,108.5,090710,,,A*53 $GPGGA,073921.00,5355.1648,N,02729.9998,E,1,07,1.8,00270.4,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,21,01,00,023,46,02,17,255,29,03,08,075,38,04,03,219,27*78 $GPGSV,6,2,21,05,36,304,25,06,07,060,45,07,81,164,,08,47,222,*7C $GPGSV,6,3,21,10,61,258,,13,42,097,53,16,12,031,46,23,22,102,50*79 $GPGSV,6,4,21,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*78 $GPGSV,6,5,21,72,77,256,,73,50,045,38,74,72,227,,75,17,225,*76 $GPGSV,6,6,21,82,13,036,*47 $GPRMC,073921.00,A,5355.1648,N,02729.9998,E,000.01399,110.1,090710,,,A*5E $GPGGA,073922.00,5355.1650,N,02730.0002,E,1,07,1.8,00270.6,M,0023.3,M,,*6E $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,29,03,08,075,38,04,03,219,26*7B $GPGSV,5,2,20,05,36,304,25,06,07,060,46,07,81,164,,08,47,222,*7D $GPGSV,5,3,20,10,61,258,,13,42,097,53,16,12,031,46,23,22,102,50*7B $GPGSV,5,4,20,25,67,072,29,28,03,178,29,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 $GPRMC,073922.00,A,5355.1650,N,02730.0002,E,000.01358,118.4,090710,,,A*5F $GPGGA,073923.00,5355.1653,N,02730.0011,E,1,07,1.8,00271.0,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,29,03,08,075,37,04,03,219,26*74 $GPGSV,5,2,20,05,36,304,25,06,07,060,46,07,81,164,,08,47,222,*7D $GPGSV,5,3,20,10,61,258,,13,42,097,53,16,12,031,45,23,22,102,50*78 $GPGSV,5,4,20,25,67,072,29,28,03,178,30,65,29,320,,71,36,162,*79 $GPGSV,5,5,20,72,77,256,,73,50,045,38,74,72,227,,75,17,225,*74 $GPRMC,073923.00,A,5355.1653,N,02730.0011,E,000.01410,118.1,090710,,,A*51 $GPGGA,073924.00,5355.1657,N,02730.0020,E,1,07,1.8,00271.4,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,29,03,08,075,37,04,03,219,26*74 $GPGSV,5,2,20,05,36,304,25,06,07,060,46,07,81,164,,08,47,222,*7D $GPGSV,5,3,20,10,61,258,,13,42,097,53,16,12,031,45,23,22,102,50*78 $GPGSV,5,4,20,25,67,072,30,28,03,178,30,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 $GPRMC,073924.00,A,5355.1657,N,02730.0020,E,000.01623,126.1,090710,,,A*5F $GPGGA,073925.00,5355.1657,N,02730.0023,E,1,07,1.8,00271.3,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,29,03,08,075,37,04,03,219,26*74 $GPGSV,5,2,20,05,36,304,25,06,07,060,46,07,81,164,,08,47,222,*7D $GPGSV,5,3,20,10,61,258,,13,42,097,53,16,12,031,44,23,22,102,50*79 $GPGSV,5,4,20,25,67,072,30,28,03,178,30,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 $GPRMC,073925.00,A,5355.1657,N,02730.0023,E,000.01766,144.1,090710,,,A*59 $GPGGA,073926.00,5355.1658,N,02730.0026,E,1,07,1.8,00271.2,M,0023.4,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,29,03,08,075,38,04,03,219,27*7A $GPGSV,5,2,20,05,36,304,26,06,07,060,46,07,81,164,,08,47,222,*7E $GPGSV,5,3,20,10,61,258,,13,42,097,53,16,12,031,44,23,22,102,51*78 $GPGSV,5,4,20,25,67,072,29,28,03,178,30,65,29,320,,71,36,162,*79 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 $GPRMC,073926.00,A,5355.1658,N,02730.0026,E,000.01831,167.7,090710,,,A*5A $GPGGA,073927.00,5355.1660,N,02730.0030,E,1,07,1.8,00271.4,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,45,02,17,255,29,03,08,075,38,04,03,219,27*79 $GPGSV,5,2,20,05,36,304,26,06,07,060,46,07,81,164,,08,47,222,*7E $GPGSV,5,3,20,10,61,258,,13,42,097,53,16,12,031,44,23,21,103,51*7A $GPGSV,5,4,20,25,67,072,29,28,03,178,29,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 $GPRMC,073927.00,A,5355.1660,N,02730.0030,E,000.02202,191.9,090710,,,A*59 $GPGGA,073928.00,5355.1661,N,02730.0033,E,1,07,1.8,00271.6,M,0023.3,M,,*65 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,44,02,17,255,29,03,08,075,38,04,03,219,27*78 $GPGSV,5,2,20,05,36,304,25,06,07,060,46,07,81,164,32,08,47,222,*7C $GPGSV,5,3,20,10,61,258,31,13,42,097,53,16,12,031,43,23,21,103,51*7F $GPGSV,5,4,20,25,67,072,29,28,03,178,29,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 $GPRMC,073928.00,A,5355.1661,N,02730.0033,E,000.02819,204.3,090710,,,A*51 $GPGGA,073929.00,5355.1662,N,02730.0037,E,1,07,1.8,00271.7,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,29,03,08,075,38,04,03,219,27*7F $GPGSV,5,2,20,05,36,304,24,06,07,060,46,07,81,164,31,08,47,222,*7E $GPGSV,5,3,20,10,61,258,30,13,42,097,53,16,12,031,44,23,21,103,51*79 $GPGSV,5,4,20,25,67,072,29,28,03,178,29,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 $GPRMC,073929.00,A,5355.1662,N,02730.0037,E,000.03077,206.6,090710,,,A*51 $GPGGA,073930.00,5355.1664,N,02730.0041,E,1,07,1.8,00271.9,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,29,03,08,075,38,04,03,219,27*7F $GPGSV,5,2,20,05,36,304,23,06,07,060,46,07,81,164,31,08,47,222,*79 $GPGSV,5,3,20,10,61,258,30,13,42,097,53,16,12,031,44,23,21,103,51*79 $GPGSV,5,4,20,25,67,072,29,28,03,178,29,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 $GPRMC,073930.00,A,5355.1664,N,02730.0041,E,000.03297,208.4,090710,,,A*5E $GPGGA,073931.00,5355.1667,N,02730.0047,E,1,07,1.8,00272.1,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,29,03,08,075,38,04,03,219,27*7F $GPGSV,5,2,20,05,36,304,22,06,07,060,47,07,81,164,31,08,47,222,*79 $GPGSV,5,3,20,10,61,258,30,13,42,097,52,16,12,031,45,23,21,103,51*79 $GPGSV,5,4,20,25,67,072,28,28,03,178,28,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 $GPRMC,073931.00,A,5355.1667,N,02730.0047,E,000.02818,205.6,090710,,,A*59 $GPGGA,073932.00,5355.1669,N,02730.0053,E,1,07,1.8,00272.4,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,42,02,17,255,29,03,08,075,38,04,03,219,27*7E $GPGSV,5,2,20,05,36,304,23,06,07,060,46,07,81,164,31,08,47,222,*79 $GPGSV,5,3,20,10,61,258,29,13,42,097,52,16,12,031,45,23,21,103,51*71 $GPGSV,5,4,20,25,67,072,28,28,03,178,28,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 $GPRMC,073932.00,A,5355.1669,N,02730.0053,E,000.02133,195.9,090710,,,A*54 $GPGGA,073933.00,5355.1670,N,02730.0056,E,1,07,1.8,00272.7,M,0023.3,M,,*6E $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,28,03,08,075,39,04,03,219,27*7F $GPGSV,5,2,20,05,36,304,24,06,07,060,47,07,81,164,31,08,47,222,*7F $GPGSV,5,3,20,10,61,258,30,13,42,097,52,16,12,031,45,23,21,103,51*79 $GPGSV,5,4,20,25,67,072,28,28,03,178,28,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 $GPRMC,073933.00,A,5355.1670,N,02730.0056,E,000.02298,199.5,090710,,,A*5A $GPGGA,073934.00,5355.1670,N,02730.0058,E,1,07,1.8,00273.0,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,27,03,08,075,38,04,03,219,27*71 $GPGSV,5,2,20,05,36,304,25,06,07,060,46,07,81,164,30,08,47,222,*7E $GPGSV,5,3,20,10,61,258,28,13,42,097,52,16,12,031,45,23,21,103,50*71 $GPGSV,5,4,20,25,67,072,28,28,03,178,28,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,38,74,72,227,,75,17,225,*74 $GPRMC,073934.00,A,5355.1670,N,02730.0058,E,000.02725,207.3,090710,,,A*52 $GPGGA,073935.00,5355.1670,N,02730.0060,E,1,07,1.8,00273.3,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,28,03,08,075,38,04,03,219,26*7F $GPGSV,5,2,20,05,36,304,26,06,07,060,46,07,81,164,30,08,47,222,*7D $GPGSV,5,3,20,10,61,258,28,13,42,097,52,16,12,031,46,23,21,103,50*72 $GPGSV,5,4,20,25,67,072,27,28,03,178,28,65,29,320,,71,36,162,*7E $GPGSV,5,5,20,72,77,256,,73,50,045,38,74,72,227,,75,17,225,*74 $GPRMC,073935.00,A,5355.1670,N,02730.0060,E,000.03184,210.5,090710,,,A*54 $GPGGA,073936.00,5355.1671,N,02730.0062,E,1,07,1.8,00273.6,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,27,03,08,075,38,04,03,219,26*70 $GPGSV,5,2,20,05,36,304,26,06,07,060,46,07,81,164,30,08,47,222,*7D $GPGSV,5,3,20,10,61,258,27,13,42,097,51,16,12,031,46,23,21,103,50*7E $GPGSV,5,4,20,25,67,072,27,28,03,178,27,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,30,73,50,045,38,74,72,227,,75,17,225,*77 $GPRMC,073936.00,A,5355.1671,N,02730.0062,E,000.03273,209.6,090710,,,A*54 $GPGGA,073937.00,5355.1672,N,02730.0066,E,1,07,1.8,00273.7,M,0023.4,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,42,02,17,255,28,03,08,075,37,04,03,219,26*71 $GPGSV,5,2,20,05,36,304,26,06,07,060,46,07,81,164,30,08,47,222,*7D $GPGSV,5,3,20,10,61,258,26,13,42,097,52,16,12,031,46,23,21,103,50*7C $GPGSV,5,4,20,25,67,072,27,28,03,178,27,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,31,73,50,045,38,74,72,227,,75,17,225,*76 $GPRMC,073937.00,A,5355.1672,N,02730.0066,E,000.02966,206.0,090710,,,A*55 $GPGGA,073938.00,5355.1673,N,02730.0069,E,1,07,1.8,00273.9,M,0023.4,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,28,03,08,075,38,04,03,219,27*7E $GPGSV,5,2,20,05,36,304,26,06,07,060,46,07,81,164,30,08,47,222,*7D $GPGSV,5,3,20,10,61,258,25,13,42,097,52,16,12,031,45,23,21,103,51*7D $GPGSV,5,4,20,25,67,072,27,28,03,178,28,65,29,320,,71,36,162,*7E $GPGSV,5,5,20,72,77,256,30,73,50,045,38,74,72,227,,75,17,225,*77 $GPRMC,073938.00,A,5355.1673,N,02730.0069,E,000.02320,201.3,090710,,,A*58 $GPGGA,073939.00,5355.1675,N,02730.0073,E,1,07,1.8,00274.1,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,27,03,08,075,38,04,03,219,27*71 $GPGSV,5,2,20,05,36,304,25,06,07,060,45,07,81,164,30,08,47,222,*7D $GPGSV,5,3,20,10,61,258,23,13,42,097,51,16,12,031,45,23,21,103,51*78 $GPGSV,5,4,20,25,67,072,27,28,03,178,28,65,29,320,,71,36,162,*7E $GPGSV,5,5,20,72,77,256,30,73,50,045,38,74,72,227,,75,17,225,*77 $GPRMC,073939.00,A,5355.1675,N,02730.0073,E,000.02136,200.0,090710,,,A*53 $GPGGA,073940.00,5355.1676,N,02730.0076,E,1,07,1.8,00274.3,M,0023.4,M,,*6B $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,26,03,08,075,39,04,03,219,27*71 $GPGSV,5,2,20,05,36,304,24,06,07,060,45,07,81,164,30,08,47,222,*7C $GPGSV,5,3,20,10,61,258,23,13,42,097,51,16,12,031,45,23,21,103,51*78 $GPGSV,5,4,20,25,67,072,27,28,03,178,27,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,29,73,50,045,39,74,72,227,,75,17,225,*7E $GPRMC,073940.00,A,5355.1676,N,02730.0076,E,000.02464,205.5,090710,,,A*59 $GPGGA,073941.00,5355.1676,N,02730.0079,E,1,07,1.8,00274.6,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,26,03,08,075,39,04,03,219,26*70 $GPGSV,5,2,20,05,36,304,23,06,07,060,45,07,81,164,29,08,47,222,*73 $GPGSV,5,3,20,10,61,258,23,13,42,097,50,16,12,031,45,23,21,103,51*79 $GPGSV,5,4,20,25,67,072,26,28,03,178,27,65,29,320,,71,36,162,*70 $GPGSV,5,5,20,72,77,256,29,73,50,045,40,74,72,227,,75,17,225,*70 $GPRMC,073941.00,A,5355.1676,N,02730.0079,E,000.02612,200.3,090710,,,A*57 $GPGGA,073942.00,5355.1676,N,02730.0078,E,1,07,1.8,00274.6,M,0023.4,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,42,02,17,255,26,03,08,075,38,04,03,219,27*71 $GPGSV,5,2,20,05,36,304,23,06,07,060,45,07,81,164,29,08,47,222,*73 $GPGSV,5,3,20,10,61,258,23,13,42,097,50,16,12,031,45,23,21,103,51*79 $GPGSV,5,4,20,25,67,072,26,28,03,178,27,65,29,320,,71,36,162,*70 $GPGSV,5,5,20,72,77,256,29,73,50,045,40,74,72,227,,75,17,225,*70 $GPRMC,073942.00,A,5355.1676,N,02730.0078,E,000.03193,203.7,090710,,,A*5D $GPGGA,073943.00,5355.1675,N,02730.0078,E,1,07,1.8,00274.6,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,42,02,17,255,25,03,08,075,38,04,03,219,27*72 $GPGSV,5,2,20,05,36,304,24,06,07,060,45,07,81,164,27,08,47,222,*7A $GPGSV,5,3,20,10,61,258,23,13,42,097,49,16,12,031,45,23,21,103,52*72 $GPGSV,5,4,20,25,67,072,26,28,03,178,26,65,29,320,,71,35,162,*72 $GPGSV,5,5,20,72,77,256,29,73,50,045,41,74,72,227,,75,17,225,*71 $GPRMC,073943.00,A,5355.1675,N,02730.0078,E,000.03343,205.4,090710,,,A*55 $GPGGA,073944.00,5355.1674,N,02730.0080,E,1,07,1.8,00274.5,M,0023.4,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,25,03,08,075,37,04,03,219,27*7C $GPGSV,5,2,20,05,36,304,23,06,07,060,44,07,81,164,26,08,47,222,*7D $GPGSV,5,3,20,10,61,258,23,13,42,097,49,16,12,031,45,23,21,103,52*72 $GPGSV,5,4,20,25,67,072,25,28,03,178,25,65,29,320,,71,35,162,*72 $GPGSV,5,5,20,72,77,254,29,73,50,045,40,74,72,227,,75,17,225,*72 $GPRMC,073944.00,A,5355.1674,N,02730.0080,E,000.03749,203.8,090710,,,A*50 $GPGGA,073945.00,5355.1674,N,02730.0083,E,1,07,1.8,00274.8,M,0023.4,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,44,02,17,255,25,03,08,075,37,04,03,219,26*7A $GPGSV,5,2,20,05,36,304,23,06,07,060,45,07,81,164,25,08,47,222,*7F $GPGSV,5,3,20,10,61,258,23,13,42,097,49,16,12,031,45,23,21,103,51*71 $GPGSV,5,4,20,25,67,072,24,28,03,178,26,65,29,320,,71,35,162,*70 $GPGSV,5,5,20,72,77,254,29,73,49,045,40,74,72,227,,75,17,225,*7A $GPRMC,073945.00,A,5355.1674,N,02730.0083,E,000.03414,199.0,090710,,,A*51 $GPGGA,073946.00,5355.1674,N,02730.0085,E,1,07,1.8,00275.1,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,45,02,17,255,25,03,08,075,37,04,03,219,27*7A $GPGSV,5,2,20,05,36,304,23,06,07,060,45,07,81,164,22,08,47,222,*78 $GPGSV,5,3,20,10,61,258,24,13,42,097,49,16,12,031,45,23,21,103,51*76 $GPGSV,5,4,20,25,67,072,24,28,03,178,25,65,29,320,,71,35,162,*73 $GPGSV,5,5,20,72,77,254,29,73,49,045,40,74,72,227,,75,17,225,*7A $GPRMC,073946.00,A,5355.1674,N,02730.0085,E,000.02694,191.1,090710,,,A*56 $GPGGA,073947.00,5355.1674,N,02730.0088,E,1,07,1.8,00275.4,M,0023.3,M,,*6E $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,26,03,08,075,37,04,03,219,26*7B $GPGSV,5,2,20,05,36,304,23,06,07,060,45,07,81,164,23,08,47,222,*79 $GPGSV,5,3,20,10,61,258,23,13,42,097,49,16,12,031,46,23,21,103,51*72 $GPGSV,5,4,20,25,67,072,24,28,03,178,26,65,29,320,,71,35,162,*70 $GPGSV,5,5,20,72,77,254,29,73,49,045,40,74,72,227,,75,17,225,*7A $GPRMC,073947.00,A,5355.1674,N,02730.0088,E,000.02066,176.1,090710,,,A*58 $GPGGA,073948.00,5355.1675,N,02730.0091,E,1,07,1.8,00275.6,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,26,03,08,075,37,04,03,219,27*7A $GPGSV,5,2,20,05,36,304,22,06,07,060,45,07,81,164,23,08,47,222,*78 $GPGSV,5,3,20,10,61,258,23,13,42,097,50,16,12,031,45,23,21,103,51*79 $GPGSV,5,4,20,25,67,072,22,28,03,178,27,65,29,320,,71,35,162,*77 $GPGSV,5,5,20,72,77,254,27,73,49,045,40,74,72,227,,75,17,225,*74 $GPRMC,073948.00,A,5355.1675,N,02730.0091,E,000.01512,145.1,090710,,,A*5B $GPGGA,073949.00,5355.1676,N,02730.0093,E,1,07,1.8,00275.8,M,0023.3,M,,*64 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,27,03,08,075,37,04,03,219,27*7B $GPGSV,5,2,20,05,36,304,22,06,07,060,45,07,81,164,23,08,47,222,*78 $GPGSV,5,3,20,10,61,258,23,13,42,097,50,16,12,031,45,23,21,103,51*79 $GPGSV,5,4,20,25,67,072,23,28,03,178,27,65,29,320,,71,35,162,*76 $GPGSV,5,5,20,72,77,254,27,73,49,045,39,74,72,227,,75,17,225,*7A $GPRMC,073949.00,A,5355.1676,N,02730.0093,E,000.01239,139.6,090710,,,A*59 $GPGGA,073950.00,5355.1677,N,02730.0094,E,1,07,1.8,00275.9,M,0023.3,M,,*6B $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,27,03,08,075,38,04,03,219,27*74 $GPGSV,5,2,20,05,36,304,22,06,07,060,45,07,81,164,23,08,47,222,*78 $GPGSV,5,3,20,10,61,258,23,13,42,097,51,16,12,031,45,23,21,103,51*78 $GPGSV,5,4,20,25,67,072,24,28,03,178,27,65,29,320,,71,35,162,*71 $GPGSV,5,5,20,72,77,254,26,73,49,045,39,74,72,227,,75,17,225,*7B $GPRMC,073950.00,A,5355.1677,N,02730.0094,E,000.01076,153.2,090710,,,A*56 $GPGGA,073951.00,5355.1678,N,02730.0095,E,1,07,1.8,00276.1,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,45,02,17,255,27,03,08,075,39,04,03,219,27*76 $GPGSV,5,2,20,05,36,304,22,06,07,060,45,07,81,164,24,08,47,222,*7F $GPGSV,5,3,20,10,61,258,24,13,42,097,52,16,12,031,45,23,21,103,51*7C $GPGSV,5,4,20,25,67,072,23,28,03,178,28,65,29,320,,71,35,162,*79 $GPGSV,5,5,20,72,77,254,25,73,49,045,39,74,72,227,,75,17,225,*78 $GPRMC,073951.00,A,5355.1678,N,02730.0095,E,000.01729,195.1,090710,,,A*5D $GPGGA,073952.00,5355.1679,N,02730.0096,E,1,07,1.8,00276.2,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,28,03,08,075,40,04,03,219,27*74 $GPGSV,5,2,20,05,36,304,23,06,07,060,44,07,81,164,24,08,47,222,*7F $GPGSV,5,3,20,10,61,258,23,13,42,097,52,16,12,031,45,23,21,103,51*7B $GPGSV,5,4,20,25,67,072,23,28,03,178,29,65,29,320,,71,35,162,*78 $GPGSV,5,5,20,72,77,254,25,73,49,045,39,74,72,227,,75,17,225,*78 $GPRMC,073952.00,A,5355.1679,N,02730.0096,E,000.02130,202.1,090710,,,A*5C $GPGGA,073953.00,5355.1681,N,02730.0097,E,1,07,1.8,00276.2,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,21,01,00,023,47,02,17,255,28,03,08,075,40,04,03,219,27*77 $GPGSV,6,2,21,05,36,304,22,06,07,060,44,07,81,164,24,08,47,222,*7C $GPGSV,6,3,21,10,61,258,23,13,42,097,52,16,12,031,45,23,21,103,51*79 $GPGSV,6,4,21,25,67,072,23,28,03,178,29,65,29,320,,71,35,162,*7A $GPGSV,6,5,21,72,77,254,24,73,49,045,39,74,72,227,,75,17,225,*7B $GPGSV,6,6,21,81,11,345,39*4B $GPRMC,073953.00,A,5355.1681,N,02730.0097,E,000.02414,197.6,090710,,,A*50 $GPGGA,073954.00,5355.1682,N,02730.0097,E,1,07,1.8,00276.2,M,0023.3,M,,*6E $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,48,02,17,255,29,03,08,075,40,04,03,219,27*7A $GPGSV,6,2,22,05,36,304,22,06,07,060,44,07,81,164,25,08,47,222,*7E $GPGSV,6,3,22,10,61,258,23,13,42,097,53,16,12,031,45,23,21,103,51*7B $GPGSV,6,4,22,25,67,072,23,28,03,178,30,65,29,320,,71,35,162,*71 $GPGSV,6,5,22,72,77,254,23,73,49,045,38,74,72,227,,75,17,225,*7E $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 $GPRMC,073954.00,A,5355.1682,N,02730.0097,E,000.02689,203.9,090710,,,A*53 $GPGGA,073955.00,5355.1683,N,02730.0099,E,1,07,1.8,00276.0,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,48,02,17,255,30,03,08,075,39,04,03,219,26*7D $GPGSV,6,2,22,05,36,304,22,06,07,060,44,07,81,164,26,08,47,222,*7D $GPGSV,6,3,22,10,61,258,24,13,42,097,53,16,12,031,45,23,21,103,50*7D $GPGSV,6,4,22,25,67,072,24,28,03,178,29,65,29,320,,71,35,162,*7E $GPGSV,6,5,22,72,77,254,23,73,49,045,38,74,72,227,,75,17,225,*7E $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 $GPRMC,073955.00,A,5355.1683,N,02730.0099,E,000.03142,204.8,090710,,,A*5A $GPGGA,073956.00,5355.1684,N,02730.0099,E,1,07,1.8,00275.7,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,48,02,17,255,30,03,08,075,38,04,03,219,26*7C $GPGSV,6,2,22,05,36,304,22,06,07,060,44,07,81,164,26,08,47,222,*7D $GPGSV,6,3,22,10,61,258,25,13,42,097,54,16,12,031,45,23,21,103,50*7B $GPGSV,6,4,22,25,67,072,26,28,03,178,30,65,29,320,,71,35,162,*74 $GPGSV,6,5,22,72,77,254,24,73,49,045,38,74,72,227,,75,17,225,*79 $GPGSV,6,6,22,81,11,345,38,82,14,036,*73 $GPRMC,073956.00,A,5355.1684,N,02730.0099,E,000.03654,202.2,090710,,,A*52 $GPGGA,073957.00,5355.1685,N,02730.0098,E,1,07,1.8,00275.2,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,48,02,17,255,29,03,08,075,38,04,03,219,26*74 $GPGSV,6,2,22,05,36,304,23,06,07,060,43,07,81,164,26,08,47,222,*7B $GPGSV,6,3,22,10,61,258,24,13,42,097,54,16,12,031,45,23,21,103,50*7A $GPGSV,6,4,22,25,67,072,25,28,03,178,30,65,29,320,,71,35,162,*77 $GPGSV,6,5,22,72,77,254,23,73,49,045,39,74,72,227,,75,17,225,*7F $GPGSV,6,6,22,81,11,345,38,82,14,036,*73 $GPRMC,073957.00,A,5355.1685,N,02730.0098,E,000.03539,200.5,090710,,,A*5E $GPGGA,073958.00,5355.1685,N,02730.0097,E,1,07,1.8,00274.8,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,29,03,08,075,37,04,03,219,26*74 $GPGSV,6,2,22,05,36,304,22,06,07,060,43,07,81,164,24,08,47,222,*78 $GPGSV,6,3,22,10,61,258,23,13,42,097,54,16,12,031,45,23,21,103,50*7D $GPGSV,6,4,22,25,67,072,25,28,03,178,30,65,29,320,,71,35,162,*77 $GPGSV,6,5,22,72,77,254,23,73,49,045,39,74,72,227,,75,17,225,*7F $GPGSV,6,6,22,81,11,345,38,82,14,036,*73 $GPRMC,073958.00,A,5355.1685,N,02730.0097,E,000.03846,203.1,090710,,,A*5C $GPGGA,073959.00,5355.1685,N,02730.0094,E,1,07,1.8,00274.5,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,30,03,08,075,38,04,03,219,25*70 $GPGSV,6,2,22,05,36,304,21,06,07,060,43,07,81,164,23,08,47,222,*7C $GPGSV,6,3,22,10,61,258,24,13,42,097,54,16,12,031,45,23,21,103,49*72 $GPGSV,6,4,22,25,67,072,24,28,03,178,30,65,29,320,,71,35,162,*76 $GPGSV,6,5,22,72,77,254,23,73,49,045,39,74,72,227,,75,17,225,*7F $GPGSV,6,6,22,81,11,345,37,82,14,036,*7C $GPRMC,073959.00,A,5355.1685,N,02730.0094,E,000.03833,202.7,090710,,,A*5B $GPGGA,074000.00,5355.1685,N,02730.0092,E,1,07,1.8,00274.1,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,,02,17,255,30,03,08,075,39,04,03,219,26*71 $GPGSV,6,2,22,05,36,304,23,06,07,060,43,07,81,164,23,08,47,222,*7E $GPGSV,6,3,22,10,61,258,24,13,42,097,54,16,12,031,44,23,21,103,49*73 $GPGSV,6,4,22,25,67,072,25,28,03,178,30,65,29,320,,71,35,162,*77 $GPGSV,6,5,22,72,77,254,23,73,49,045,39,74,72,227,,75,17,225,*7F $GPGSV,6,6,22,81,11,345,37,82,14,036,*7C $GPRMC,074000.00,A,5355.1685,N,02730.0092,E,000.03955,203.0,090710,,,A*58 $GPGGA,074001.00,5355.1685,N,02730.0091,E,1,07,1.8,00273.7,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,,02,17,255,30,03,08,075,39,04,03,219,26*71 $GPGSV,6,2,22,05,36,304,23,06,07,060,44,07,81,164,27,08,47,222,*7D $GPGSV,6,3,22,10,61,258,23,13,42,097,54,16,12,031,44,23,21,103,50*7C $GPGSV,6,4,22,25,67,072,26,28,03,178,30,65,29,320,,71,35,162,*74 $GPGSV,6,5,22,72,77,254,23,73,49,045,39,74,72,227,,75,17,225,*7F $GPGSV,6,6,22,81,11,345,38,82,14,036,*73 $GPRMC,074001.00,A,5355.1685,N,02730.0091,E,000.03814,202.4,090710,,,A*5B $GPGGA,074002.00,5355.1685,N,02730.0089,E,1,07,1.8,00273.4,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,,02,17,255,30,03,08,075,40,04,03,219,26*7F $GPGSV,6,2,22,05,36,304,22,06,07,060,44,07,81,164,31,08,47,222,*7B $GPGSV,6,3,22,10,61,258,23,13,42,097,54,16,12,031,45,23,21,103,50*7D $GPGSV,6,4,22,25,67,072,26,28,03,178,30,65,29,320,,71,35,162,*74 $GPGSV,6,5,22,72,77,254,23,73,49,045,39,74,72,227,,75,17,225,*7F $GPGSV,6,6,22,81,11,345,38,82,14,036,*73 $GPRMC,074002.00,A,5355.1685,N,02730.0089,E,000.03399,199.7,090710,,,A*5D $GPGGA,074003.00,5355.1686,N,02730.0091,E,1,07,1.8,00273.3,M,0023.3,M,,*64 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,,02,17,255,30,03,08,074,40,04,03,219,26*7E $GPGSV,6,2,22,05,36,304,22,06,07,060,45,07,81,164,31,08,47,222,*7A $GPGSV,6,3,22,10,61,258,23,13,42,097,54,16,12,031,45,23,21,103,51*7C $GPGSV,6,4,22,25,67,072,26,28,03,178,30,65,29,320,,71,35,162,*74 $GPGSV,6,5,22,72,77,254,21,73,49,045,39,74,72,227,,75,17,225,*7D $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 $GPRMC,074003.00,A,5355.1686,N,02730.0091,E,000.03081,195.4,090710,,,A*53 $GPGGA,074004.00,5355.1688,N,02730.0094,E,1,07,1.8,00273.4,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,29,03,08,074,40,04,03,219,27*76 $GPGSV,6,2,22,05,36,304,22,06,07,060,45,07,81,164,31,08,47,222,*7A $GPGSV,6,3,22,10,61,258,23,13,42,097,54,16,12,031,45,23,21,103,51*7C $GPGSV,6,4,22,25,67,072,26,28,03,178,30,65,29,320,,71,35,162,*74 $GPGSV,6,5,22,72,77,254,,73,49,045,39,74,72,227,,75,17,225,*7E $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 $GPRMC,074004.00,A,5355.1688,N,02730.0094,E,000.02530,180.9,090710,,,A*58 $GPGGA,074005.00,5355.1688,N,02730.0095,E,1,07,1.8,00273.2,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,29,03,08,074,40,04,03,219,27*77 $GPGSV,6,2,22,05,36,304,22,06,07,060,45,07,81,164,31,08,47,222,*7A $GPGSV,6,3,22,10,61,258,23,13,42,097,53,16,12,031,45,23,21,103,51*7B $GPGSV,6,4,22,25,67,072,25,28,03,178,30,65,29,320,,71,35,162,*77 $GPGSV,6,5,22,72,77,254,,73,49,045,39,74,72,227,,75,17,225,*7E $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 $GPRMC,074005.00,A,5355.1688,N,02730.0095,E,000.02422,170.4,090710,,,A*58 $GPGGA,074006.00,5355.1688,N,02730.0095,E,1,07,1.8,00273.1,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,30,03,08,074,40,04,03,219,27*7F $GPGSV,6,2,22,05,36,304,22,06,08,059,46,07,81,164,32,08,47,222,*7F $GPGSV,6,3,22,10,61,258,23,13,42,097,54,16,12,031,46,23,21,103,51*7F $GPGSV,6,4,22,25,67,072,25,28,03,178,30,65,29,320,,71,35,162,*77 $GPGSV,6,5,22,72,77,254,,73,49,045,39,74,72,227,,75,17,225,*7E $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 $GPRMC,074006.00,A,5355.1688,N,02730.0095,E,000.02480,170.8,090710,,,A*5F $GPGGA,074007.00,5355.1688,N,02730.0094,E,1,07,1.8,00272.9,M,0023.3,M,,*60 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,29,03,08,074,39,04,03,219,27*79 $GPGSV,6,2,22,05,36,304,22,06,08,059,46,07,82,161,31,08,47,222,*7A $GPGSV,6,3,22,10,61,258,23,13,42,097,53,16,12,031,46,23,21,103,51*78 $GPGSV,6,4,22,25,67,072,25,28,03,178,29,65,29,320,,71,35,162,*7F $GPGSV,6,5,22,72,77,254,,73,49,045,40,74,72,227,,75,17,225,*70 $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 $GPRMC,074007.00,A,5355.1688,N,02730.0094,E,000.02411,176.5,090710,,,A*5C $GPGGA,074008.00,5355.1687,N,02730.0091,E,1,07,1.8,00272.6,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,30,03,08,074,38,04,03,219,27*71 $GPGSV,6,2,22,05,36,304,21,06,08,059,46,07,82,161,31,08,47,222,*79 $GPGSV,6,3,22,10,61,258,23,13,42,097,53,16,12,031,46,23,21,103,51*78 $GPGSV,6,4,22,25,67,072,24,28,03,178,29,65,29,320,,71,35,162,*7E $GPGSV,6,5,22,72,77,254,,73,49,045,40,74,72,227,,75,17,225,*70 $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 $GPRMC,074008.00,A,5355.1687,N,02730.0091,E,000.02828,195.7,090710,,,A*50 $GPGGA,074009.00,5355.1686,N,02730.0090,E,1,07,1.8,00272.4,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,30,03,08,074,37,04,03,219,27*7F $GPGSV,6,2,22,05,36,304,23,06,08,059,46,07,82,161,30,08,47,222,*7A $GPGSV,6,3,22,10,61,258,24,13,42,097,52,16,12,031,46,23,21,103,51*7E $GPGSV,6,4,22,25,67,072,25,28,03,178,29,65,29,320,,71,35,162,*7F $GPGSV,6,5,22,72,77,254,,73,49,045,39,74,72,227,,75,17,225,*7E $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 $GPRMC,074009.00,A,5355.1686,N,02730.0090,E,000.02603,200.4,090710,,,A*5A $GPGGA,074010.00,5355.1685,N,02730.0087,E,1,07,1.8,00272.2,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,42,02,17,255,29,03,08,074,36,04,03,219,27*70 $GPGSV,6,2,22,05,36,304,22,06,08,059,46,07,82,161,30,08,47,222,*7B $GPGSV,6,3,22,10,61,258,23,13,42,097,52,16,12,031,46,23,21,103,51*79 $GPGSV,6,4,22,25,67,072,25,28,03,178,29,65,29,320,,71,35,162,*7F $GPGSV,6,5,22,72,77,254,,73,49,045,40,74,72,227,,75,17,225,*70 $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 $GPRMC,074010.00,A,5355.1685,N,02730.0087,E,000.02827,200.2,090710,,,A*59 $GPGGA,074011.00,5355.1684,N,02730.0085,E,1,07,1.8,00271.9,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,41,02,17,255,29,03,08,074,35,04,03,219,27*70 $GPGSV,6,2,22,05,36,304,24,06,08,059,45,07,82,161,30,08,47,222,*7E $GPGSV,6,3,22,10,61,258,27,13,42,097,52,16,12,031,46,23,21,103,51*7D $GPGSV,6,4,22,25,67,072,25,28,03,178,28,65,29,320,,71,35,162,*7E $GPGSV,6,5,22,72,77,254,,73,49,045,40,74,72,227,,75,17,225,*70 $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 $GPRMC,074011.00,A,5355.1684,N,02730.0085,E,000.02860,194.8,090710,,,A*5C $GPGGA,074012.00,5355.1682,N,02730.0083,E,1,07,1.8,00271.7,M,0023.3,M,,*65 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,40,02,17,255,28,03,08,074,35,04,03,219,28*7F $GPGSV,6,2,22,05,36,304,23,06,08,059,45,07,82,161,28,08,47,222,*70 $GPGSV,6,3,22,10,61,258,28,13,42,097,51,16,12,031,46,23,21,103,51*71 $GPGSV,6,4,22,25,67,072,26,28,03,178,28,65,29,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,,73,49,045,39,74,72,227,,75,17,225,*7E $GPGSV,6,6,22,81,11,345,38,82,14,036,*73 $GPRMC,074012.00,A,5355.1682,N,02730.0083,E,000.02617,185.6,090710,,,A*5F $GPGGA,074013.00,5355.1681,N,02730.0083,E,1,07,1.8,00271.5,M,0023.4,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,39,02,17,255,27,03,08,074,35,04,03,219,27*71 $GPGSV,6,2,22,05,36,304,24,06,08,059,45,07,82,161,29,08,47,222,*76 $GPGSV,6,3,22,10,61,258,28,13,41,098,51,16,12,031,46,23,21,103,50*7C $GPGSV,6,4,22,25,67,072,25,28,03,178,27,65,29,320,,71,35,162,*71 $GPGSV,6,5,22,72,77,254,,73,49,045,39,74,72,227,,75,17,225,*7E $GPGSV,6,6,22,81,11,345,38,82,14,036,*73 $GPRMC,074013.00,A,5355.1681,N,02730.0083,E,000.02719,180.7,090710,,,A*56 $GPGGA,074014.00,5355.1681,N,02730.0082,E,1,07,1.8,00271.6,M,0023.4,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,39,02,17,255,27,03,08,074,37,04,03,219,27*73 $GPGSV,6,2,22,05,36,304,23,06,08,059,45,07,82,161,29,08,47,222,*71 $GPGSV,6,3,22,10,61,258,28,13,41,098,51,16,12,031,47,23,21,103,51*7C $GPGSV,6,4,22,25,67,072,26,28,03,178,28,65,29,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,,73,49,045,39,74,72,227,,75,17,225,*7E $GPGSV,6,6,22,81,11,345,38,82,14,036,*73 $GPRMC,074014.00,A,5355.1681,N,02730.0082,E,000.02299,161.1,090710,,,A*54 $GPGGA,074015.00,5355.1680,N,02730.0081,E,1,07,1.8,00271.8,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,39,02,17,255,28,03,08,074,39,04,03,219,27*72 $GPGSV,6,2,22,05,36,304,23,06,08,059,45,07,82,161,28,08,47,222,*70 $GPGSV,6,3,22,10,61,258,29,13,41,098,51,16,12,031,47,23,21,103,51*7D $GPGSV,6,4,22,25,67,072,25,28,03,178,28,65,29,320,,71,35,162,*7E $GPGSV,6,5,22,72,77,254,24,73,49,045,39,74,72,227,,75,17,225,*78 $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 $GPRMC,074015.00,A,5355.1680,N,02730.0081,E,000.02390,170.5,090710,,,A*5B $GPGGA,074016.00,5355.1679,N,02730.0078,E,1,07,1.8,00271.7,M,0023.4,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,38,02,17,255,27,03,08,074,39,04,03,219,27*7C $GPGSV,6,2,22,05,36,304,22,06,08,059,46,07,82,161,29,08,47,222,*73 $GPGSV,6,3,22,10,61,258,29,13,41,098,51,16,11,031,48,23,21,103,51*71 $GPGSV,6,4,22,25,67,072,24,28,03,178,28,65,29,320,,71,35,162,*7F $GPGSV,6,5,22,72,77,254,26,73,49,045,39,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 $GPRMC,074016.00,A,5355.1679,N,02730.0078,E,000.02084,161.5,090710,,,A*5E $GPGGA,074017.00,5355.1678,N,02730.0075,E,1,07,1.8,00271.7,M,0023.4,M,,*6B $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,37,02,17,255,27,03,08,074,39,04,03,219,27*73 $GPGSV,6,2,22,05,36,304,23,06,08,059,46,07,82,161,29,08,47,222,*72 $GPGSV,6,3,22,10,61,258,28,13,41,098,51,16,11,031,48,23,21,103,51*70 $GPGSV,6,4,22,25,67,072,25,28,03,178,28,65,29,320,,71,35,162,*7E $GPGSV,6,5,22,72,77,254,25,73,49,045,39,74,72,227,,75,17,225,*79 $GPGSV,6,6,22,81,11,345,38,82,14,036,*73 $GPRMC,074017.00,A,5355.1678,N,02730.0075,E,000.01613,160.0,090710,,,A*5C $GPGGA,074018.00,5355.1676,N,02730.0071,E,1,07,1.8,00271.5,M,0023.4,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,38,02,17,255,28,03,08,074,40,04,03,219,28*72 $GPGSV,6,2,22,05,36,304,22,06,08,059,47,07,82,161,29,08,47,222,*72 $GPGSV,6,3,22,10,61,258,28,13,41,098,51,16,11,031,48,23,21,103,52*73 $GPGSV,6,4,22,25,67,072,25,28,03,178,28,65,29,320,,71,35,162,*7E $GPGSV,6,5,22,72,77,254,26,73,49,045,41,74,72,227,,75,17,225,*75 $GPGSV,6,6,22,81,11,345,40,82,14,036,*7C $GPRMC,074018.00,A,5355.1676,N,02730.0071,E,000.01560,174.2,090710,,,A*59 $GPGGA,074019.00,5355.1675,N,02730.0068,E,1,07,1.8,00271.4,M,0023.3,M,,*60 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,40,02,17,255,29,03,08,074,39,04,03,219,28*72 $GPGSV,6,2,22,05,36,304,22,06,08,059,47,07,82,161,30,08,47,222,*7A $GPGSV,6,3,22,10,61,258,29,13,41,098,52,16,11,031,49,23,21,103,52*70 $GPGSV,6,4,22,25,67,072,26,28,03,178,28,65,29,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,25,73,49,045,44,74,72,227,,75,17,225,*73 $GPGSV,6,6,22,81,11,345,42,82,14,036,*7E $GPRMC,074019.00,A,5355.1675,N,02730.0068,E,000.01445,161.1,090710,,,A*52 $GPGGA,074020.00,5355.1673,N,02730.0067,E,1,07,1.8,00271.2,M,0023.3,M,,*65 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,42,02,17,255,29,03,08,074,39,04,03,219,27*7F $GPGSV,6,2,22,05,36,304,22,06,08,059,48,07,82,161,31,08,47,222,*74 $GPGSV,6,3,22,10,61,258,30,13,41,098,53,16,11,031,49,23,21,103,52*79 $GPGSV,6,4,22,25,67,072,27,28,03,178,29,65,29,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,23,73,49,045,46,74,72,227,,75,17,225,*77 $GPGSV,6,6,22,81,11,345,43,82,14,036,*7F $GPRMC,074020.00,A,5355.1673,N,02730.0067,E,000.01489,164.9,090710,,,A*5C $GPGGA,074021.00,5355.1672,N,02730.0066,E,1,07,1.8,00271.0,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,29,03,08,074,39,04,03,219,27*79 $GPGSV,6,2,22,05,36,304,23,06,08,059,48,07,82,161,31,08,47,222,*75 $GPGSV,6,3,22,10,61,258,31,13,41,098,53,16,11,031,48,23,21,103,51*7A $GPGSV,6,4,22,25,67,072,27,28,03,178,29,65,29,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,23,73,49,045,46,74,72,227,,75,17,225,*77 $GPGSV,6,6,22,81,11,345,44,82,14,036,*78 $GPRMC,074021.00,A,5355.1672,N,02730.0066,E,000.01772,145.4,090710,,,A*54 $GPGGA,074022.00,5355.1670,N,02730.0067,E,1,07,1.8,00270.8,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,28,03,08,074,39,04,03,219,26*78 $GPGSV,6,2,22,05,36,304,22,06,08,059,48,07,82,161,30,08,47,222,*75 $GPGSV,6,3,22,10,61,258,30,13,41,098,53,16,11,031,47,23,21,103,50*75 $GPGSV,6,4,22,25,67,072,27,28,03,178,29,65,29,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,25,73,49,045,46,74,72,227,,75,17,225,*71 $GPGSV,6,6,22,81,11,345,44,82,14,036,*78 $GPRMC,074022.00,A,5355.1670,N,02730.0067,E,000.02164,138.3,090710,,,A*5B $GPGGA,074023.00,5355.1668,N,02730.0065,E,1,07,1.8,00270.7,M,0023.4,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,27,03,08,074,39,04,03,219,26*74 $GPGSV,6,2,22,05,36,304,22,06,08,059,49,07,82,161,29,08,47,222,*7C $GPGSV,6,3,22,10,61,258,29,13,41,098,51,16,11,031,47,23,21,103,50*7F $GPGSV,6,4,22,25,67,072,26,28,03,178,28,65,29,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,28,73,49,045,45,74,72,227,,75,17,225,*7F $GPGSV,6,6,22,81,11,345,43,82,14,036,*7F $GPRMC,074023.00,A,5355.1668,N,02730.0065,E,000.02400,146.1,090710,,,A*5D $GPGGA,074024.00,5355.1666,N,02730.0063,E,1,07,1.8,00270.7,M,0023.2,M,,*64 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,26,03,08,074,38,04,03,219,26*74 $GPGSV,6,2,22,05,36,304,22,06,08,059,48,07,82,161,28,08,47,222,*7C $GPGSV,6,3,22,10,61,258,28,13,41,098,51,16,11,031,47,23,21,103,50*7E $GPGSV,6,4,22,25,67,072,25,28,03,178,27,65,29,320,,71,35,162,*71 $GPGSV,6,5,22,72,77,254,29,73,49,045,43,74,72,227,,75,17,225,*78 $GPGSV,6,6,22,81,11,345,42,82,14,036,*7E $GPRMC,074024.00,A,5355.1666,N,02730.0063,E,000.02243,143.1,090710,,,A*56 $GPGGA,074025.00,5355.1665,N,02730.0060,E,1,07,1.8,00270.5,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,27,03,08,074,39,04,03,219,26*75 $GPGSV,6,2,22,05,36,304,22,06,08,059,48,07,82,161,28,08,47,222,*7C $GPGSV,6,3,22,10,61,258,28,13,41,098,51,16,11,031,47,23,21,103,50*7E $GPGSV,6,4,22,25,66,072,23,28,03,178,27,65,29,320,,71,35,162,*76 $GPGSV,6,5,22,72,77,254,30,73,49,045,43,74,72,227,,75,17,225,*70 $GPGSV,6,6,22,81,11,345,42,82,14,036,*7E $GPRMC,074025.00,A,5355.1665,N,02730.0060,E,000.02111,137.9,090710,,,A*58 $GPGGA,074026.00,5355.1663,N,02730.0056,E,1,07,1.8,00270.3,M,0023.3,M,,*60 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,27,03,08,074,39,04,03,219,26*75 $GPGSV,6,2,22,05,36,304,22,06,08,059,47,07,82,161,28,08,47,222,*73 $GPGSV,6,3,22,10,61,258,28,13,41,098,51,16,11,031,48,23,21,103,50*71 $GPGSV,6,4,22,25,66,072,24,28,03,178,27,65,29,320,,71,35,162,*71 $GPGSV,6,5,22,72,77,254,30,73,49,045,42,74,72,227,,75,17,225,*71 $GPGSV,6,6,22,81,11,345,41,82,14,036,*7D $GPRMC,074026.00,A,5355.1663,N,02730.0056,E,000.01540,158.0,090710,,,A*5B $GPGGA,074027.00,5355.1662,N,02730.0053,E,1,07,1.8,00270.1,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,27,03,08,074,38,04,03,219,26*74 $GPGSV,6,2,22,05,36,304,23,06,08,059,46,07,82,161,29,08,47,222,*72 $GPGSV,6,3,22,10,61,258,27,13,41,098,51,16,11,031,47,23,21,103,50*71 $GPGSV,6,4,22,25,66,072,24,28,03,178,27,65,29,320,,71,35,162,*71 $GPGSV,6,5,22,72,77,254,28,73,49,045,42,74,72,227,,75,17,225,*78 $GPGSV,6,6,22,81,11,345,41,82,14,036,*7D $GPRMC,074027.00,A,5355.1662,N,02730.0053,E,000.00939,160.6,090710,,,A*50 $GPGGA,074028.00,5355.1662,N,02730.0053,E,1,07,1.8,00269.6,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,27,03,08,074,37,04,03,219,26*7B $GPGSV,6,2,22,05,36,304,23,06,08,059,45,07,82,161,30,08,47,222,*79 $GPGSV,6,3,22,10,61,258,25,13,41,098,52,16,11,031,47,23,21,103,50*70 $GPGSV,6,4,22,25,66,072,23,28,03,178,28,65,29,320,,71,35,162,*79 $GPGSV,6,5,22,72,77,254,27,73,49,045,42,74,72,227,,75,17,225,*77 $GPGSV,6,6,22,81,11,345,41,82,14,036,*7D $GPRMC,074028.00,A,5355.1662,N,02730.0053,E,000.00551,151.4,090710,,,A*5D $GPGGA,074029.00,5355.1663,N,02730.0055,E,1,07,1.8,00269.4,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,28,03,08,074,37,04,03,219,26*75 $GPGSV,6,2,22,05,36,304,22,06,08,059,44,07,82,161,30,08,47,222,*79 $GPGSV,6,3,22,10,61,258,28,13,41,098,52,16,11,031,46,23,21,103,51*7D $GPGSV,6,4,22,25,66,072,23,28,03,178,29,65,29,320,,71,35,162,*78 $GPGSV,6,5,22,72,77,254,26,73,49,045,41,74,72,227,,75,17,225,*75 $GPGSV,6,6,22,81,11,345,42,82,14,036,*7E $GPRMC,074029.00,A,5355.1663,N,02730.0055,E,000.00862,101.3,090710,,,A*54 $GPGGA,074030.00,5355.1664,N,02730.0057,E,1,07,1.8,00269.5,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,29,03,08,074,37,04,03,219,26*76 $GPGSV,6,2,22,05,36,304,23,06,08,059,44,07,82,161,30,08,47,222,*78 $GPGSV,6,3,22,10,61,258,29,13,41,098,52,16,11,031,46,23,21,103,51*7C $GPGSV,6,4,22,25,66,072,22,28,03,178,29,65,29,320,,71,35,162,*79 $GPGSV,6,5,22,72,77,254,28,73,49,045,40,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,11,345,42,82,14,036,*7E $GPRMC,074030.00,A,5355.1664,N,02730.0057,E,000.01143,088.9,090710,,,A*58 $GPGGA,074031.00,5355.1666,N,02730.0059,E,1,07,1.8,00269.7,M,0023.3,M,,*60 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,29,03,08,074,37,04,03,219,27*76 $GPGSV,6,2,22,05,36,304,22,06,08,059,45,07,82,161,30,08,47,222,*78 $GPGSV,6,3,22,10,61,258,30,13,41,098,53,16,11,031,44,23,21,103,51*77 $GPGSV,6,4,22,25,66,072,24,28,03,178,29,65,29,320,,71,35,162,*7F $GPGSV,6,5,22,72,77,254,28,73,49,045,42,74,72,227,,75,17,225,*78 $GPGSV,6,6,22,81,11,345,43,82,14,036,*7F $GPRMC,074031.00,A,5355.1666,N,02730.0059,E,000.01630,085.9,090710,,,A*5B $GPGGA,074032.00,5355.1668,N,02730.0062,E,1,07,1.8,00269.8,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,30,03,08,074,35,04,03,219,27*7C $GPGSV,6,2,22,05,36,304,22,06,08,059,44,07,82,161,32,08,47,222,*7B $GPGSV,6,3,22,10,61,258,31,13,41,098,54,16,11,031,44,23,21,103,51*71 $GPGSV,6,4,22,25,66,072,25,28,03,178,30,65,29,320,,71,35,162,*76 $GPGSV,6,5,22,72,77,254,29,73,49,045,42,74,72,227,,75,17,225,*79 $GPGSV,6,6,22,81,11,345,44,82,14,036,*78 $GPRMC,074032.00,A,5355.1668,N,02730.0062,E,000.01860,097.0,090710,,,A*5F $GPGGA,074033.00,5355.1669,N,02730.0065,E,1,07,1.8,00269.9,M,0023.4,M,,*6B $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,30,03,08,074,34,04,03,219,28*72 $GPGSV,6,2,22,05,36,304,23,06,08,059,45,07,82,161,32,08,47,222,*7B $GPGSV,6,3,22,10,61,258,31,13,41,098,54,16,11,031,45,23,21,103,52*73 $GPGSV,6,4,22,25,66,072,26,28,03,178,30,65,30,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,28,73,49,045,42,74,72,227,,75,17,225,*78 $GPGSV,6,6,22,81,11,345,44,82,14,036,*78 $GPRMC,074033.00,A,5355.1669,N,02730.0065,E,000.01567,117.7,090710,,,A*5C $GPGGA,074034.00,5355.1671,N,02730.0066,E,1,07,1.8,00269.9,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,29,03,08,074,35,04,03,219,27*77 $GPGSV,6,2,22,05,36,304,23,06,08,059,46,07,82,161,31,08,47,222,*7B $GPGSV,6,3,22,10,61,258,31,13,41,098,54,16,11,031,45,23,21,103,52*73 $GPGSV,6,4,22,25,66,072,26,28,03,178,30,65,30,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,27,73,49,045,42,74,72,227,,75,17,225,*77 $GPGSV,6,6,22,81,11,345,44,82,14,036,*78 $GPRMC,074034.00,A,5355.1671,N,02730.0066,E,000.01491,193.4,090710,,,A*56 $GPGGA,074035.00,5355.1672,N,02730.0068,E,1,07,1.8,00269.9,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,29,03,08,074,36,04,03,219,27*74 $GPGSV,6,2,22,05,36,304,22,06,08,059,47,07,82,161,31,08,47,222,*7B $GPGSV,6,3,22,10,61,258,31,13,41,098,54,16,11,031,45,23,21,103,52*73 $GPGSV,6,4,22,25,66,072,26,28,03,178,30,65,30,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,26,73,49,045,42,74,72,227,,75,17,225,*76 $GPGSV,6,6,22,81,11,345,44,82,14,036,*78 $GPRMC,074035.00,A,5355.1672,N,02730.0068,E,000.02156,204.5,090710,,,A*5B $GPGGA,074036.00,5355.1673,N,02730.0069,E,1,07,1.8,00269.7,M,0023.4,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,30,03,08,074,36,04,03,219,28*72 $GPGSV,6,2,22,05,36,304,22,06,08,059,45,07,82,161,32,08,47,222,*7A $GPGSV,6,3,22,10,61,258,32,13,41,098,54,16,11,031,46,23,21,103,52*73 $GPGSV,6,4,22,25,66,072,26,28,03,178,30,65,30,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,27,73,49,045,42,74,72,227,,75,17,225,*77 $GPGSV,6,6,22,81,11,345,44,82,14,036,*78 $GPRMC,074036.00,A,5355.1673,N,02730.0069,E,000.02352,199.6,090710,,,A*5A $GPGGA,074037.00,5355.1674,N,02730.0072,E,1,07,1.8,00269.6,M,0023.4,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,30,03,08,074,37,04,03,219,28*73 $GPGSV,6,2,22,05,36,304,23,06,08,059,45,07,82,161,32,08,47,222,*7B $GPGSV,6,3,22,10,61,258,32,13,41,098,54,16,11,031,46,23,21,103,52*73 $GPGSV,6,4,22,25,66,072,26,28,03,178,31,65,30,320,,71,35,162,*7C $GPGSV,6,5,22,72,77,254,29,73,49,045,42,74,72,227,,75,17,225,*79 $GPGSV,6,6,22,81,11,345,44,82,14,036,*78 $GPRMC,074037.00,A,5355.1674,N,02730.0072,E,000.02449,188.9,090710,,,A*54 $GPGGA,074038.00,5355.1676,N,02730.0075,E,1,07,1.8,00269.7,M,0023.4,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,30,03,08,074,38,04,03,219,28*7C $GPGSV,6,2,22,05,36,304,22,06,08,059,45,07,82,161,32,08,47,222,*7A $GPGSV,6,3,22,10,61,258,32,13,41,098,54,16,11,031,46,23,21,103,53*72 $GPGSV,6,4,22,25,66,072,26,28,03,178,30,65,30,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,30,73,49,045,43,74,72,227,,75,17,225,*70 $GPGSV,6,6,22,81,11,345,45,82,14,036,*79 $GPRMC,074038.00,A,5355.1676,N,02730.0075,E,000.02469,180.0,090710,,,A*5D $GPGGA,074039.00,5355.1677,N,02730.0078,E,1,07,1.8,00269.6,M,0023.4,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,30,03,08,074,38,04,03,219,28*7D $GPGSV,6,2,22,05,36,304,22,06,08,059,45,07,82,161,32,08,47,222,*7A $GPGSV,6,3,22,10,61,258,31,13,41,098,54,16,11,031,46,23,21,103,53*71 $GPGSV,6,4,22,25,66,072,26,28,03,178,30,65,30,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,31,73,49,045,43,74,72,227,,75,17,225,*71 $GPGSV,6,6,22,81,11,345,45,82,14,036,*79 $GPRMC,074039.00,A,5355.1677,N,02730.0078,E,000.02794,181.5,090710,,,A*55 $GPGGA,074040.00,5355.1677,N,02730.0081,E,1,07,1.8,00269.6,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,29,03,08,074,38,04,03,219,27*78 $GPGSV,6,2,22,05,36,304,22,06,08,059,46,07,82,161,31,08,47,222,*7A $GPGSV,6,3,22,10,61,258,31,13,41,098,54,16,11,031,46,23,21,103,52*70 $GPGSV,6,4,22,25,66,072,25,28,03,178,30,65,30,320,,71,35,162,*7E $GPGSV,6,5,22,72,77,251,30,73,49,045,43,74,72,227,,75,17,225,*75 $GPGSV,6,6,22,81,11,345,45,82,14,036,*79 $GPRMC,074040.00,A,5355.1677,N,02730.0081,E,000.03156,182.8,090710,,,A*5A $GPGGA,074041.00,5355.1677,N,02730.0084,E,1,07,1.8,00269.3,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,43,02,17,255,30,03,08,074,37,04,03,219,27*78 $GPGSV,6,2,22,05,36,304,22,06,08,059,46,07,82,161,32,08,47,222,*79 $GPGSV,6,3,22,10,61,258,31,13,41,098,54,16,11,031,46,23,21,103,52*70 $GPGSV,6,4,22,25,66,072,25,28,03,178,30,65,30,320,,71,35,162,*7E $GPGSV,6,5,22,72,77,251,28,73,49,045,44,74,72,227,,75,17,225,*7B $GPGSV,6,6,22,81,11,345,45,82,14,036,*79 $GPRMC,074041.00,A,5355.1677,N,02730.0084,E,000.03523,186.8,090710,,,A*5C $GPGGA,074042.00,5355.1677,N,02730.0085,E,1,07,1.8,00268.9,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,29,03,08,074,39,04,03,219,27*79 $GPGSV,6,2,22,05,36,304,22,06,08,059,47,07,82,161,31,08,47,222,*7B $GPGSV,6,3,22,10,61,258,31,13,41,098,53,16,11,031,44,23,21,103,52*75 $GPGSV,6,4,22,25,66,072,25,28,03,178,30,65,30,320,,71,35,162,*7E $GPGSV,6,5,22,72,77,251,23,73,49,045,44,74,73,228,,75,17,225,*7E $GPGSV,6,6,22,81,11,345,45,82,14,036,*79 $GPRMC,074042.00,A,5355.1677,N,02730.0085,E,000.03627,191.8,090710,,,A*5F $GPGGA,074043.00,5355.1677,N,02730.0085,E,1,07,1.8,00268.6,M,0023.3,M,,*64 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,43,02,17,255,29,03,08,074,39,04,03,219,27*7E $GPGSV,6,2,22,05,36,304,22,06,08,059,46,07,82,161,31,08,47,222,*7A $GPGSV,6,3,22,10,61,258,30,13,41,098,53,16,11,031,45,23,21,103,52*75 $GPGSV,6,4,22,25,66,072,25,28,03,178,,65,30,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,251,23,73,49,045,44,74,73,228,,75,18,225,*71 $GPGSV,6,6,22,81,11,345,44,82,14,036,*78 $GPRMC,074043.00,A,5355.1677,N,02730.0085,E,000.03456,201.3,090710,,,A*5B $GPGGA,074044.00,5355.1677,N,02730.0084,E,1,07,1.8,00268.2,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,42,02,17,255,29,03,08,074,41,04,03,219,27*70 $GPGSV,6,2,22,05,36,304,23,06,08,059,46,07,82,161,30,08,47,222,*7A $GPGSV,6,3,22,10,61,258,29,13,41,098,53,16,11,031,45,23,21,103,52*7D $GPGSV,6,4,22,25,66,072,25,28,03,178,,65,30,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,251,23,73,49,045,43,74,73,228,,75,18,225,*76 $GPGSV,6,6,22,81,11,345,43,82,14,036,*7F $GPRMC,074044.00,A,5355.1677,N,02730.0084,E,000.03060,206.9,090710,,,A*51 gpsd-3.9/test/daemon/geos-1m.log.chk0000664000175000017500000143161412135526326015450 0ustar esresr$GPGGA,000002.00,,,,,0,,,,,,,,*4A $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000002.00,V,,,,,,,010108,,,N*77 $GPGGA,000003.00,,,,,0,,,,,,,,*4B $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000003.00,V,,,,,,,010108,,,N*76 $GPGGA,000004.00,,,,,0,,,,,,,,*4C $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000004.00,V,,,,,,,010108,,,N*71 $GPGGA,000005.00,,,,,0,,,,,,,,*4D $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000005.00,V,,,,,,,010108,,,N*70 $GPGGA,000006.00,,,,,0,,,,,,,,*4E $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000006.00,V,,,,,,,010108,,,N*73 $GPGGA,000007.00,,,,,0,,,,,,,,*4F $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000007.00,V,,,,,,,010108,,,N*72 $GPGGA,000008.00,,,,,0,,,,,,,,*40 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000008.00,V,,,,,,,010108,,,N*7D $GPGGA,000009.00,,,,,0,,,,,,,,*41 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000009.00,V,,,,,,,010108,,,N*7C $GPGGA,000010.00,,,,,0,,,,,,,,*49 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000010.00,V,,,,,,,010108,,,N*74 $GPGGA,000011.00,,,,,0,,,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000011.00,V,,,,,,,010108,,,N*75 $GPGGA,000012.00,,,,,0,,,,,,,,*4B $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000012.00,V,,,,,,,010108,,,N*76 $GPGGA,000013.00,,,,,0,,,,,,,,*4A $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000013.00,V,,,,,,,010108,,,N*77 $GPGGA,000014.00,,,,,0,,,,,,,,*4D $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000014.00,V,,,,,,,010108,,,N*70 $GPGGA,000015.00,,,,,0,,,,,,,,*4C $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000015.00,V,,,,,,,010108,,,N*71 $GPGGA,000016.00,,,,,0,,,,,,,,*4F $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000016.00,V,,,,,,,010108,,,N*72 $GPGGA,000017.00,,,,,0,,,,,,,,*4E $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000017.00,V,,,,,,,010108,,,N*73 $GPGGA,000018.00,,,,,0,,,,,,,,*41 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000018.00,V,,,,,,,010108,,,N*7C $GPGGA,000019.00,,,,,0,,,,,,,,*40 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000019.00,V,,,,,,,010108,,,N*7D $GPGGA,000020.00,,,,,0,,,,,,,,*4A $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000020.00,V,,,,,,,010108,,,N*77 $GPGGA,000021.00,,,,,0,,,,,,,,*4B $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000021.00,V,,,,,,,010108,,,N*76 $GPGGA,000022.00,,,,,0,,,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000022.00,V,,,,,,,010108,,,N*75 $GPGGA,000023.00,,,,,0,,,,,,,,*49 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000023.00,V,,,,,,,010108,,,N*74 $GPGGA,000024.00,,,,,0,,,,,,,,*4E $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000024.00,V,,,,,,,010108,,,N*73 $GPGGA,000025.00,,,,,0,,,,,,,,*4F $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000025.00,V,,,,,,,010108,,,N*72 $GPGGA,000026.00,,,,,0,,,,,,,,*4C $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000026.00,V,,,,,,,010108,,,N*71 $GPGGA,000027.00,,,,,0,,,,,,,,*4D $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000027.00,V,,,,,,,010108,,,N*70 $GPGGA,000028.00,,,,,0,,,,,,,,*42 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000028.00,V,,,,,,,010108,,,N*7F $GPGGA,000029.00,,,,,0,,,,,,,,*43 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000029.00,V,,,,,,,010108,,,N*7E $GPGGA,000030.00,,,,,0,,,,,,,,*4B $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000030.00,V,,,,,,,010108,,,N*76 $GPGGA,000031.00,,,,,0,,,,,,,,*4A $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000031.00,V,,,,,,,010108,,,N*77 $GPGGA,000032.00,,,,,0,,,,,,,,*49 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000032.00,V,,,,,,,010108,,,N*74 $GPGGA,000033.00,,,,,0,,,,,,,,*48 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000033.00,V,,,,,,,010108,,,N*75 $GPGGA,000034.00,,,,,0,,,,,,,,*4F $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000034.00,V,,,,,,,010108,,,N*72 $GPGGA,000035.00,,,,,0,,,,,,,,*4E $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000035.00,V,,,,,,,010108,,,N*73 $GPGGA,000036.00,,,,,0,,,,,,,,*4D $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000036.00,V,,,,,,,010108,,,N*70 $GPGGA,000037.00,,,,,0,,,,,,,,*4C $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000037.00,V,,,,,,,010108,,,N*71 $GPGGA,000038.00,,,,,0,,,,,,,,*43 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000038.00,V,,,,,,,010108,,,N*7E $GPGGA,000039.00,,,,,0,,,,,,,,*42 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000039.00,V,,,,,,,010108,,,N*7F $GPGGA,000040.00,,,,,0,,,,,,,,*4C $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000040.00,V,,,,,,,010108,,,N*71 $GPGGA,000041.00,,,,,0,,,,,,,,*4D $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,000041.00,V,,,,,,,010108,,,N*70 $GPGGA,073658.00,,,,,0,,,,,,,,*47 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,073658.00,V,,,,,,,090710,,,N*7D $GPGGA,073659.00,,,,,0,,,,,,,,*46 $GPGSA,A,1,,,,,,,,,,,,,9.9,9.9,9.9*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,01,75,16,224,*49 {"class":"SKY","tag":"GSV","vdop":9.90,"hdop":9.90,"pdop":9.90,"satellites":[{"PRN":75,"el":16,"az":224,"ss":0,"used":false}]} $GPRMC,073659.00,V,,,,,,,090710,,,N*7C $GPGGA,073700.00,,,,,0,,,,,,,,*4B $GPGSA,A,1,13,16,06,23,73,,,,,,,,9.9,9.9,9.9*36 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,01,75,16,224,*49 {"class":"SKY","tag":"GSV","vdop":9.90,"hdop":9.90,"pdop":9.90,"satellites":[{"PRN":75,"el":16,"az":224,"ss":0,"used":false}]} $GPRMC,073700.00,V,,,,,,,090710,,,N*71 $GPGGA,073701.00,5355.1495,N,02729.9417,E,1,05,1.7,00242.2,M,0023.3,M,,*63 {"class":"TPV","tag":"GGA","mode":3,"lat":53.919158333,"lon":27.499028333,"alt":242.200,"epv":227.700} $GPGSA,A,3,13,16,06,23,73,,,,,,,,2.3,1.7,1.6*34 {"class":"TPV","tag":"GSA","mode":3,"lat":53.919158333,"lon":27.499028333,"alt":242.200,"epv":227.700} $GPGSV,1,1,01,75,16,224,*49 {"class":"SKY","tag":"GSV","vdop":1.60,"hdop":1.70,"pdop":2.30,"satellites":[{"PRN":75,"el":16,"az":224,"ss":0,"used":false}]} $GPRMC,073701.00,A,5355.1495,N,02729.9417,E,000.06702,356.9,090710,,,A*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:01.000Z","ept":0.005,"lat":53.919158333,"lon":27.499028333,"alt":242.200,"epv":227.700,"track":356.9000,"speed":0.034} $GPGGA,073702.00,5355.1508,N,02729.9466,E,1,05,8.3,00244.1,M,0023.3,M,,*6B $GPGSA,A,3,13,16,06,23,73,,,,,,,,9.9,8.3,8.4*33 $GPGSV,1,1,01,75,16,224,*49 {"class":"SKY","tag":"GSV","vdop":8.40,"hdop":8.30,"pdop":9.90,"satellites":[{"PRN":75,"el":16,"az":224,"ss":0,"used":false}]} $GPRMC,073702.00,A,5355.1508,N,02729.9466,E,000.07498,266.1,090710,,,A*58 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:02.000Z","ept":0.005,"lat":53.919180000,"lon":27.499110000,"alt":244.100,"epv":36.800,"track":266.1000,"speed":0.039,"climb":1.900} $GPGGA,073703.00,5355.1508,N,02729.9466,E,1,05,8.3,00244.1,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,23,73,,,,,,,,9.9,8.3,8.4*33 $GPGSV,1,1,01,75,16,224,*49 {"class":"SKY","tag":"GSV","vdop":8.40,"hdop":8.30,"pdop":9.90,"satellites":[{"PRN":75,"el":16,"az":224,"ss":0,"used":false}]} $GPRMC,073703.00,A,5355.1508,N,02729.9466,E,000.07498,266.1,090710,,,A*59 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:03.000Z","ept":0.005,"lat":53.919180000,"lon":27.499110000,"alt":244.100,"epv":193.200,"track":266.1000,"speed":0.039,"climb":0.000} $GPGGA,073705.00,5355.1534,N,02729.9549,E,1,05,1.7,00250.9,M,0023.2,M,,*6E $GPGSA,A,3,13,16,06,23,73,,,,,,,,2.3,1.7,1.6*34 $GPGSV,1,1,02,75,16,224,,81,12,346,*71 {"class":"SKY","tag":"GSV","vdop":1.60,"hdop":1.70,"pdop":2.30,"satellites":[{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":0,"used":false}]} $GPRMC,073705.00,A,5355.1534,N,02729.9549,E,000.10468,235.7,090710,,,A*55 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:05.000Z","ept":0.005,"lat":53.919223333,"lon":27.499248333,"alt":250.900,"epv":193.200,"track":235.7000,"speed":0.054,"climb":3.400} $GPGGA,073706.00,5355.1542,N,02729.9565,E,1,05,8.3,00253.6,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,23,73,,,,,,,,9.9,8.3,8.3*34 $GPGSV,1,1,03,75,16,224,,81,12,346,,82,13,037,*4C {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":8.30,"tdop":1.50,"hdop":8.30,"gdop":5.84,"pdop":9.90,"satellites":[{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":0,"used":false},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073706.00,A,5355.1542,N,02729.9565,E,000.11095,243.8,090710,,,A*50 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:06.000Z","ept":0.005,"lat":53.919236667,"lon":27.499275000,"alt":253.600,"epx":23.567,"epy":18.597,"epv":36.800,"track":243.8000,"speed":0.057,"climb":2.700} $GPGGA,073707.00,5355.1552,N,02729.9598,E,1,05,1.7,00256.1,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,23,73,,,,,,,,2.3,1.7,1.6*34 $GPGSV,1,1,03,75,16,224,,81,12,346,,82,13,037,*4C {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":1.60,"tdop":1.50,"hdop":1.70,"gdop":5.84,"pdop":2.30,"satellites":[{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":0,"used":false},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073707.00,A,5355.1552,N,02729.9598,E,000.08909,042.3,090710,,,A*5E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:07.000Z","ept":0.005,"lat":53.919253333,"lon":27.499330000,"alt":256.100,"epx":23.567,"epy":18.597,"epv":190.900,"track":42.3000,"speed":0.046,"climb":2.500,"eps":47.13} $GPGGA,073708.00,5355.1559,N,02729.9626,E,1,05,8.3,00258.9,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,23,73,,,,,,,,9.9,8.3,8.3*34 $GPGSV,1,1,03,75,16,224,,81,12,346,,82,13,037,*4C {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":8.30,"tdop":1.50,"hdop":8.30,"gdop":5.84,"pdop":9.90,"satellites":[{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":0,"used":false},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073708.00,A,5355.1559,N,02729.9626,E,000.27917,064.3,090710,,,A*5A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:08.000Z","ept":0.005,"lat":53.919265000,"lon":27.499376667,"alt":258.900,"epx":23.567,"epy":18.597,"epv":36.800,"track":64.3000,"speed":0.144,"climb":2.800,"eps":47.13} $GPGGA,073709.00,5355.1569,N,02729.9658,E,1,05,1.7,00261.4,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,23,73,,,,,,,,2.3,1.7,1.6*34 $GPGSV,1,1,03,75,16,224,,81,12,346,,82,13,037,*4C {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":1.60,"tdop":1.50,"hdop":1.70,"gdop":5.84,"pdop":2.30,"satellites":[{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":0,"used":false},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073709.00,A,5355.1569,N,02729.9658,E,000.44616,064.7,090710,,,A*5E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:09.000Z","ept":0.005,"lat":53.919281667,"lon":27.499430000,"alt":261.400,"epx":23.567,"epy":18.597,"epv":190.900,"track":64.7000,"speed":0.230,"climb":2.500,"eps":47.13} $GPGGA,073710.00,5355.1572,N,02729.9665,E,1,05,8.3,00261.7,M,0023.4,M,,*62 $GPGSA,A,3,13,16,06,23,73,,,,,,,,9.9,8.3,8.3*34 $GPGSV,1,1,03,75,16,224,,81,12,346,38,82,13,037,*47 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":8.30,"tdop":1.50,"hdop":8.30,"gdop":5.84,"pdop":9.90,"satellites":[{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":false},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073710.00,A,5355.1572,N,02729.9665,E,000.29454,061.5,090710,,,A*5A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:10.000Z","ept":0.005,"lat":53.919286667,"lon":27.499441667,"alt":261.700,"epx":23.567,"epy":18.597,"epv":36.800,"track":61.5000,"speed":0.152,"climb":0.300,"eps":47.13} $GPGGA,073711.00,5355.1573,N,02729.9667,E,1,06,1.9,00261.8,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,1,1,03,75,16,224,,81,12,346,38,82,13,037,*47 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073711.00,A,5355.1573,N,02729.9667,E,000.16099,245.7,090710,,,A*57 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:11.000Z","ept":0.005,"lat":53.919288333,"lon":27.499445000,"alt":261.800,"epx":23.567,"epy":18.597,"epv":190.900,"track":245.7000,"speed":0.083,"climb":0.100,"eps":47.13} $GPGGA,073712.00,5355.1573,N,02729.9669,E,1,06,1.9,00261.9,M,0023.4,M,,*63 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,1,1,03,75,16,224,,81,12,346,37,82,13,037,*48 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073712.00,A,5355.1573,N,02729.9669,E,000.38390,242.3,090710,,,A*5F {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:12.000Z","ept":0.005,"lat":53.919288333,"lon":27.499448333,"alt":261.900,"epx":23.567,"epy":18.597,"epv":59.800,"track":242.3000,"speed":0.197,"climb":0.100,"eps":47.13} $GPGGA,073713.00,5355.1573,N,02729.9670,E,1,06,1.9,00262.0,M,0023.4,M,,*60 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,1,1,04,01,01,023,48,75,16,224,,81,12,346,37,82,13,037,*72 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":1,"el":1,"az":23,"ss":48,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073713.00,A,5355.1573,N,02729.9670,E,000.43483,240.7,090710,,,A*59 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:13.000Z","ept":0.005,"lat":53.919288333,"lon":27.499450000,"alt":262.000,"epx":23.567,"epy":18.597,"epv":59.800,"track":240.7000,"speed":0.224,"climb":0.100,"eps":47.13} $GPGGA,073714.00,5355.1573,N,02729.9670,E,1,06,1.9,00262.1,M,0023.4,M,,*66 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,2,1,05,01,01,023,48,02,17,256,,75,16,224,,81,12,346,37*79 $GPGSV,2,2,05,82,13,037,*40 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":1,"el":1,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073714.00,A,5355.1573,N,02729.9670,E,000.39287,239.5,090710,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:14.000Z","ept":0.005,"lat":53.919288333,"lon":27.499450000,"alt":262.100,"epx":23.567,"epy":18.597,"epv":59.800,"track":239.5000,"speed":0.202,"climb":0.100,"eps":47.13} $GPGGA,073715.00,5355.1573,N,02729.9671,E,1,06,1.9,00262.3,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,2,1,06,01,01,023,49,02,17,256,,03,07,075,40,75,16,224,*76 $GPGSV,2,2,06,81,12,346,37,82,13,037,*7C {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":1,"el":1,"az":23,"ss":49,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":40,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073715.00,A,5355.1573,N,02729.9671,E,000.30442,238.1,090710,,,A*5E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:15.000Z","ept":0.005,"lat":53.919288333,"lon":27.499451667,"alt":262.300,"epx":23.567,"epy":18.597,"epv":59.800,"track":238.1000,"speed":0.157,"climb":0.200,"eps":47.13} $GPGGA,073716.00,5355.1574,N,02729.9672,E,1,06,1.9,00262.4,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,2,1,07,01,01,023,49,02,17,256,,03,07,075,40,04,04,219,*7C $GPGSV,2,2,07,75,16,224,,81,12,346,37,82,13,037,*4C {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":1,"el":1,"az":23,"ss":49,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":40,"used":false},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073716.00,A,5355.1574,N,02729.9672,E,000.21078,236.2,090710,,,A*59 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:16.000Z","ept":0.005,"lat":53.919290000,"lon":27.499453333,"alt":262.400,"epx":23.567,"epy":18.597,"epv":59.800,"track":236.2000,"speed":0.108,"climb":0.100,"eps":47.13} $GPGGA,073717.00,5355.1574,N,02729.9673,E,1,06,1.9,00262.4,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,2,1,08,01,01,023,49,02,17,256,,03,07,075,40,04,04,219,*73 $GPGSV,2,2,08,05,35,304,,75,16,224,,81,12,346,37,82,13,037,*77 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":1,"el":1,"az":23,"ss":49,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":40,"used":false},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073717.00,A,5355.1574,N,02729.9673,E,000.14125,234.1,090710,,,A*57 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:17.000Z","ept":0.005,"lat":53.919290000,"lon":27.499455000,"alt":262.400,"epx":23.567,"epy":18.597,"epv":59.800,"track":234.1000,"speed":0.073,"climb":0.000,"eps":47.13} $GPGGA,073718.00,5355.1575,N,02729.9674,E,1,06,1.9,00262.5,M,0023.3,M,,*6B $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,3,1,09,01,01,023,49,02,17,256,,03,07,075,41,04,04,219,*72 $GPGSV,3,2,09,05,35,304,,06,07,060,47,75,16,224,,81,12,346,37*7F $GPGSV,3,3,09,82,13,037,*4C {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":1,"el":1,"az":23,"ss":49,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":41,"used":false},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073718.00,A,5355.1575,N,02729.9674,E,000.08593,230.7,090710,,,A*58 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:18.000Z","ept":0.005,"lat":53.919291667,"lon":27.499456667,"alt":262.500,"epx":23.567,"epy":18.597,"epv":59.800,"track":230.7000,"speed":0.044,"climb":0.100,"eps":47.13} $GPGGA,073719.00,5355.1575,N,02729.9676,E,1,06,1.9,00262.5,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,3,1,10,01,01,023,49,02,17,256,,03,07,075,41,04,04,219,*7A $GPGSV,3,2,10,05,35,304,,06,07,060,47,07,81,169,,75,16,224,*78 $GPGSV,3,3,10,81,12,346,37,82,13,037,*7B {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":1,"el":1,"az":23,"ss":49,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":41,"used":false},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073719.00,A,5355.1575,N,02729.9676,E,000.05053,222.9,090710,,,A*52 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:19.000Z","ept":0.005,"lat":53.919291667,"lon":27.499460000,"alt":262.500,"epx":23.567,"epy":18.597,"epv":59.800,"track":222.9000,"speed":0.026,"climb":0.000,"eps":47.13} $GPGGA,073720.00,5355.1576,N,02729.9678,E,1,06,1.9,00262.5,M,0023.4,M,,*68 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,3,1,11,01,01,023,49,02,17,256,,03,07,075,40,04,04,219,*7A $GPGSV,3,2,11,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*70 $GPGSV,3,3,11,75,16,224,,81,12,346,36,82,13,037,*4A {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":1,"el":1,"az":23,"ss":49,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":40,"used":false},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":36,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073720.00,A,5355.1576,N,02729.9678,E,000.02505,209.1,090710,,,A*55 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:20.000Z","ept":0.005,"lat":53.919293333,"lon":27.499463333,"alt":262.500,"epx":23.567,"epy":18.597,"epv":59.800,"track":209.1000,"speed":0.013,"climb":0.000,"eps":47.13} $GPGGA,073721.00,5355.1576,N,02729.9680,E,1,06,1.9,00262.6,M,0023.4,M,,*6D $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,3,1,11,01,01,023,49,02,17,256,,03,07,075,39,04,04,219,*74 $GPGSV,3,2,11,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*70 $GPGSV,3,3,11,75,16,224,,81,12,346,36,82,13,037,*4A {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":1,"el":1,"az":23,"ss":49,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":39,"used":false},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":36,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073721.00,A,5355.1576,N,02729.9680,E,000.01167,160.3,090710,,,A*5E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:21.000Z","ept":0.005,"lat":53.919293333,"lon":27.499466667,"alt":262.600,"epx":23.567,"epy":18.597,"epv":59.800,"track":160.3000,"speed":0.006,"climb":0.100,"eps":47.13} $GPGGA,073722.00,5355.1577,N,02729.9682,E,1,06,1.9,00262.7,M,0023.3,M,,*6B $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,3,1,12,01,01,023,50,02,17,256,,03,07,075,40,04,04,219,*71 $GPGSV,3,2,12,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*73 $GPGSV,3,3,12,10,61,260,,75,16,224,,81,12,346,36,82,13,037,*7B {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":1,"el":1,"az":23,"ss":50,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":40,"used":false},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":36,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073722.00,A,5355.1577,N,02729.9682,E,000.01489,137.0,090710,,,A*5A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:22.000Z","ept":0.005,"lat":53.919295000,"lon":27.499470000,"alt":262.700,"epx":23.567,"epy":18.597,"epv":59.800,"track":137.0000,"speed":0.008,"climb":0.100,"eps":47.13} $GPGGA,073723.00,5355.1577,N,02729.9684,E,1,06,1.9,00262.6,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,3,1,12,01,01,023,50,02,17,256,,03,07,075,39,04,04,219,*7F $GPGSV,3,2,12,05,35,304,,06,07,060,48,07,81,169,,08,46,222,*7C $GPGSV,3,3,12,10,61,260,,75,16,224,,81,12,346,36,82,13,037,*7B {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":1,"el":1,"az":23,"ss":50,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":39,"used":false},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":48,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":36,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073723.00,A,5355.1577,N,02729.9684,E,000.01629,129.7,090710,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:23.000Z","ept":0.005,"lat":53.919295000,"lon":27.499473333,"alt":262.600,"epx":23.567,"epy":18.597,"epv":59.800,"track":129.7000,"speed":0.008,"climb":-0.100,"eps":47.13} $GPGGA,073724.00,5355.1578,N,02729.9686,E,1,06,1.9,00262.7,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,3,1,12,01,01,023,50,02,17,256,,03,07,075,39,04,04,219,*7F $GPGSV,3,2,12,05,35,304,,06,07,060,48,07,81,169,,08,46,222,*7C $GPGSV,3,3,12,10,61,260,,75,16,224,,81,12,346,36,82,13,037,*7B {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":1,"el":1,"az":23,"ss":50,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":39,"used":false},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":48,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":36,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073724.00,A,5355.1578,N,02729.9686,E,000.01699,137.7,090710,,,A*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:24.000Z","ept":0.005,"lat":53.919296667,"lon":27.499476667,"alt":262.700,"epx":23.567,"epy":18.597,"epv":59.800,"track":137.7000,"speed":0.009,"climb":0.100,"eps":47.13} $GPGGA,073725.00,5355.1578,N,02729.9687,E,1,06,1.9,00262.7,M,0023.4,M,,*61 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,4,1,13,01,01,023,50,02,17,256,,03,07,075,39,04,04,219,*79 $GPGSV,4,2,13,05,35,304,,06,07,060,48,07,81,169,,08,46,222,*7A $GPGSV,4,3,13,10,61,260,,13,42,097,55,75,16,224,,81,12,346,36*7B $GPGSV,4,4,13,82,13,037,*47 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":1,"el":1,"az":23,"ss":50,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":39,"used":false},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":48,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":55,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":36,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073725.00,A,5355.1578,N,02729.9687,E,000.01574,156.2,090710,,,A*51 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:25.000Z","ept":0.005,"lat":53.919296667,"lon":27.499478333,"alt":262.700,"epx":23.567,"epy":18.597,"epv":59.800,"track":156.2000,"speed":0.008,"climb":0.000,"eps":47.13} $GPGGA,073726.00,5355.1579,N,02729.9690,E,1,06,1.9,00262.8,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,4,1,13,01,01,023,49,02,17,256,,03,07,075,39,04,04,219,*71 $GPGSV,4,2,13,05,35,304,,06,07,060,48,07,81,169,,08,46,222,*7A $GPGSV,4,3,13,10,61,260,,13,42,097,55,75,16,224,,81,12,346,36*7B $GPGSV,4,4,13,82,13,037,*47 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":1,"el":1,"az":23,"ss":49,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":39,"used":false},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":48,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":55,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":36,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073726.00,A,5355.1579,N,02729.9690,E,000.01712,170.9,090710,,,A*58 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:26.000Z","ept":0.005,"lat":53.919298333,"lon":27.499483333,"alt":262.800,"epx":23.567,"epy":18.597,"epv":59.800,"track":170.9000,"speed":0.009,"climb":0.100,"eps":47.13} $GPGGA,073727.00,5355.1579,N,02729.9692,E,1,06,1.9,00262.9,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,4,1,13,01,01,023,49,02,17,256,,03,07,075,38,04,04,219,*70 $GPGSV,4,2,13,05,35,304,,06,07,060,48,07,81,169,,08,46,222,*7A $GPGSV,4,3,13,10,61,260,,13,42,097,55,75,16,224,,81,12,346,36*7B $GPGSV,4,4,13,82,13,037,*47 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":1,"el":1,"az":23,"ss":49,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":38,"used":false},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":48,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":55,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":36,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073727.00,A,5355.1579,N,02729.9692,E,000.01620,176.7,090710,,,A*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:27.000Z","ept":0.005,"lat":53.919298333,"lon":27.499486667,"alt":262.900,"epx":23.567,"epy":18.597,"epv":59.800,"track":176.7000,"speed":0.008,"climb":0.100,"eps":47.13} $GPGGA,073728.00,5355.1580,N,02729.9694,E,1,06,1.9,00262.8,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,4,1,14,01,01,023,48,02,17,256,,03,07,075,38,04,04,219,*76 $GPGSV,4,2,14,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*72 $GPGSV,4,3,14,10,61,260,,13,42,097,55,16,12,031,49,75,16,224,*79 $GPGSV,4,4,14,81,12,346,36,82,13,037,*7E {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":1,"el":1,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":38,"used":false},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":55,"used":true},{"PRN":16,"el":12,"az":31,"ss":49,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":36,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073728.00,A,5355.1580,N,02729.9694,E,000.01974,189.4,090710,,,A*51 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:28.000Z","ept":0.005,"lat":53.919300000,"lon":27.499490000,"alt":262.800,"epx":23.567,"epy":18.597,"epv":59.800,"track":189.4000,"speed":0.010,"climb":-0.100,"eps":47.13} $GPGGA,073729.00,5355.1580,N,02729.9696,E,1,06,1.9,00262.9,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,4,1,14,01,01,023,47,02,17,256,,03,07,075,38,04,04,219,*79 $GPGSV,4,2,14,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*72 $GPGSV,4,3,14,10,61,260,,13,42,097,55,16,12,031,48,75,16,224,*78 $GPGSV,4,4,14,81,12,346,36,82,13,037,*7E {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":1,"el":1,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":38,"used":false},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":55,"used":true},{"PRN":16,"el":12,"az":31,"ss":48,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":36,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073729.00,A,5355.1580,N,02729.9696,E,000.02415,192.6,090710,,,A*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:29.000Z","ept":0.005,"lat":53.919300000,"lon":27.499493333,"alt":262.900,"epx":23.567,"epy":18.597,"epv":59.800,"track":192.6000,"speed":0.012,"climb":0.100,"eps":47.13} $GPGGA,073730.00,5355.1581,N,02729.9699,E,1,06,1.9,00262.9,M,0023.3,M,,*65 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,4,1,14,01,01,023,47,02,17,256,,03,07,075,39,04,04,219,*78 $GPGSV,4,2,14,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*72 $GPGSV,4,3,14,10,61,260,,13,42,097,54,16,12,031,48,75,16,224,*79 $GPGSV,4,4,14,81,12,346,37,82,13,037,*7F {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":1,"el":1,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":39,"used":false},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":48,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073730.00,A,5355.1581,N,02729.9699,E,000.02905,194.8,090710,,,A*51 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:30.000Z","ept":0.005,"lat":53.919301667,"lon":27.499498333,"alt":262.900,"epx":23.567,"epy":18.597,"epv":59.800,"track":194.8000,"speed":0.015,"climb":0.000,"eps":47.13} $GPGGA,073731.00,5355.1582,N,02729.9702,E,1,06,1.9,00263.1,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,4,1,14,01,01,023,47,02,17,256,,03,07,075,38,04,04,219,*79 $GPGSV,4,2,14,05,35,304,,06,07,060,48,07,81,169,,08,46,222,*7D $GPGSV,4,3,14,10,61,260,,13,42,097,54,16,12,031,48,75,16,224,*79 $GPGSV,4,4,14,81,12,346,37,82,13,037,*7F {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":1,"el":1,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":38,"used":false},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":48,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":48,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073731.00,A,5355.1582,N,02729.9702,E,000.02642,189.6,090710,,,A*5E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:31.000Z","ept":0.005,"lat":53.919303333,"lon":27.499503333,"alt":263.100,"epx":23.567,"epy":18.597,"epv":59.800,"track":189.6000,"speed":0.014,"climb":0.200,"eps":47.13} $GPGGA,073732.00,5355.1584,N,02729.9708,E,1,06,1.9,00263.3,M,0023.3,M,,*60 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,4,1,14,01,01,023,47,02,17,256,,03,07,075,39,04,04,219,*78 $GPGSV,4,2,14,05,35,304,,06,07,060,48,07,81,169,,08,46,222,*7D $GPGSV,4,3,14,10,61,260,,13,42,097,54,16,12,031,48,75,16,224,*79 $GPGSV,4,4,14,81,12,346,37,82,13,037,*7F {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":1,"el":1,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":39,"used":false},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":48,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":48,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073732.00,A,5355.1584,N,02729.9708,E,000.02146,177.0,090710,,,A*55 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:32.000Z","ept":0.005,"lat":53.919306667,"lon":27.499513333,"alt":263.300,"epx":23.567,"epy":18.597,"epv":59.800,"track":177.0000,"speed":0.011,"climb":0.200,"eps":47.13} $GPGGA,073733.00,5355.1588,N,02729.9716,E,1,06,1.9,00263.7,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.2,1.9,2.6*30 $GPGSV,4,1,14,01,01,023,47,02,17,256,,03,07,075,40,04,04,219,*76 $GPGSV,4,2,14,05,35,304,,06,07,060,48,07,81,169,,08,46,222,*7D $GPGSV,4,3,14,10,61,260,,13,42,097,54,16,12,031,48,75,16,224,*79 $GPGSV,4,4,14,81,12,346,38,82,13,037,*70 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.60,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.20,"satellites":[{"PRN":1,"el":1,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":40,"used":false},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":48,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":48,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073733.00,A,5355.1588,N,02729.9716,E,000.01828,115.8,090710,,,A*59 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:33.000Z","ept":0.005,"lat":53.919313333,"lon":27.499526667,"alt":263.700,"epx":23.567,"epy":18.597,"epv":59.800,"track":115.8000,"speed":0.009,"climb":0.400,"eps":47.13} $GPGGA,073734.00,5355.1592,N,02729.9727,E,1,07,1.8,00264.2,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,4,1,14,01,01,023,46,02,17,256,,03,07,075,40,04,04,219,*77 $GPGSV,4,2,14,05,35,304,,06,07,060,48,07,81,169,,08,46,222,*7D $GPGSV,4,3,14,10,61,260,,13,42,097,53,16,12,031,48,75,16,224,*7E $GPGSV,4,4,14,81,12,346,38,82,13,037,*70 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":40,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":48,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":48,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073734.00,A,5355.1592,N,02729.9727,E,000.03048,079.2,090710,,,A*5A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:34.000Z","ept":0.005,"lat":53.919320000,"lon":27.499545000,"alt":264.200,"epx":23.567,"epy":18.597,"epv":59.800,"track":79.2000,"speed":0.016,"climb":0.500,"eps":47.13} $GPGGA,073735.00,5355.1597,N,02729.9738,E,1,07,1.8,00264.8,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,4,1,15,01,01,023,46,02,17,256,,03,07,075,40,04,04,219,*76 $GPGSV,4,2,15,05,35,304,,06,07,060,48,07,81,169,,08,46,222,*7C $GPGSV,4,3,15,10,61,260,,13,42,097,53,16,12,031,47,23,22,102,53*75 $GPGSV,4,4,15,75,16,224,,81,12,346,37,82,13,037,*4F {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":40,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":48,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":53,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073735.00,A,5355.1597,N,02729.9738,E,000.04256,068.8,090710,,,A*50 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:35.000Z","ept":0.005,"lat":53.919328333,"lon":27.499563333,"alt":264.800,"epx":23.567,"epy":18.597,"epv":57.500,"track":68.8000,"speed":0.022,"climb":0.600,"eps":47.13} $GPGGA,073736.00,5355.1600,N,02729.9748,E,1,07,1.8,00265.2,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,4,1,15,01,01,023,45,02,17,256,,03,07,075,40,04,04,219,*75 $GPGSV,4,2,15,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*73 $GPGSV,4,3,15,10,61,260,,13,42,097,52,16,12,031,46,23,22,102,52*74 $GPGSV,4,4,15,75,16,224,,81,12,346,37,82,13,037,*4F {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":40,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073736.00,A,5355.1600,N,02729.9748,E,000.04548,070.2,090710,,,A*52 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:36.000Z","ept":0.005,"lat":53.919333333,"lon":27.499580000,"alt":265.200,"epx":23.567,"epy":18.597,"epv":57.500,"track":70.2000,"speed":0.023,"climb":0.400,"eps":47.13} $GPGGA,073737.00,5355.1604,N,02729.9756,E,1,07,1.8,00265.5,M,0023.3,M,,*65 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,4,1,16,01,01,023,46,02,17,256,,03,07,075,40,04,04,219,*75 $GPGSV,4,2,16,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*70 $GPGSV,4,3,16,10,61,260,,13,42,097,52,16,12,031,46,23,22,102,53*76 $GPGSV,4,4,16,25,68,073,,75,16,224,,81,12,346,37,82,13,037,*71 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":40,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":53,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073737.00,A,5355.1604,N,02729.9756,E,000.04316,074.3,090710,,,A*50 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:37.000Z","ept":0.005,"lat":53.919340000,"lon":27.499593333,"alt":265.500,"epx":23.567,"epy":18.597,"epv":57.500,"track":74.3000,"speed":0.022,"climb":0.300,"eps":47.13} $GPGGA,073738.00,5355.1606,N,02729.9763,E,1,07,1.8,00265.6,M,0023.4,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,4,1,16,01,01,023,46,02,17,256,,03,07,075,39,04,04,219,*7B $GPGSV,4,2,16,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*70 $GPGSV,4,3,16,10,61,260,,13,42,097,52,16,12,031,46,23,22,102,53*76 $GPGSV,4,4,16,25,68,073,,75,16,224,,81,12,346,37,82,13,037,*71 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":39,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":53,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073738.00,A,5355.1606,N,02729.9763,E,000.03571,081.8,090710,,,A*5A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:38.000Z","ept":0.005,"lat":53.919343333,"lon":27.499605000,"alt":265.600,"epx":23.567,"epy":18.597,"epv":57.500,"track":81.8000,"speed":0.018,"climb":0.100,"eps":47.13} $GPGGA,073739.00,5355.1608,N,02729.9768,E,1,07,1.8,00265.8,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,4,1,16,01,01,023,46,02,17,256,,03,07,075,38,04,04,219,*7A $GPGSV,4,2,16,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*70 $GPGSV,4,3,16,10,61,260,,13,42,097,52,16,12,031,46,23,22,102,52*77 $GPGSV,4,4,16,25,68,073,,75,16,224,,81,12,346,37,82,13,037,*71 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":38,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073739.00,A,5355.1608,N,02729.9768,E,000.02156,121.9,090710,,,A*54 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:39.000Z","ept":0.005,"lat":53.919346667,"lon":27.499613333,"alt":265.800,"epx":23.567,"epy":18.597,"epv":57.500,"track":121.9000,"speed":0.011,"climb":0.200,"eps":47.13} $GPGGA,073740.00,5355.1609,N,02729.9773,E,1,07,1.8,00266.0,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,17,01,01,023,47,02,17,256,,03,07,075,37,04,04,219,*74 $GPGSV,5,2,17,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*70 $GPGSV,5,3,17,10,61,260,,13,42,097,52,16,12,031,47,23,22,102,53*77 $GPGSV,5,4,17,25,68,073,,28,02,178,,75,16,224,,81,12,346,37*7B $GPGSV,5,5,17,82,13,037,*43 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":37,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":53,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073740.00,A,5355.1609,N,02729.9773,E,000.02405,175.8,090710,,,A*52 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:40.000Z","ept":0.005,"lat":53.919348333,"lon":27.499621667,"alt":266.000,"epx":23.567,"epy":18.597,"epv":57.500,"track":175.8000,"speed":0.012,"climb":0.200,"eps":47.13} $GPGGA,073741.00,5355.1610,N,02729.9777,E,1,07,1.8,00265.9,M,0023.3,M,,*6E $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,17,01,01,023,47,02,17,256,,03,07,075,36,04,04,219,*75 $GPGSV,5,2,17,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*70 $GPGSV,5,3,17,10,61,260,,13,42,097,52,16,12,031,47,23,22,102,52*76 $GPGSV,5,4,17,25,68,073,,28,02,178,,75,16,224,,81,12,346,37*7B $GPGSV,5,5,17,82,13,037,*43 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":36,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073741.00,A,5355.1610,N,02729.9777,E,000.03367,195.7,090710,,,A*5C {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:41.000Z","ept":0.005,"lat":53.919350000,"lon":27.499628333,"alt":265.900,"epx":23.567,"epy":18.597,"epv":57.500,"track":195.7000,"speed":0.017,"climb":-0.100,"eps":47.13} $GPGGA,073742.00,5355.1610,N,02729.9782,E,1,07,1.8,00265.6,M,0023.4,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,17,01,01,023,47,02,17,256,,03,07,075,35,04,04,219,*76 $GPGSV,5,2,17,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*70 $GPGSV,5,3,17,10,61,260,,13,42,097,52,16,12,031,47,23,22,102,52*76 $GPGSV,5,4,17,25,68,073,,28,02,178,,75,16,224,,81,12,346,37*7B $GPGSV,5,5,17,82,13,037,*43 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":35,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073742.00,A,5355.1610,N,02729.9782,E,000.03697,191.9,090710,,,A*55 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:42.000Z","ept":0.005,"lat":53.919350000,"lon":27.499636667,"alt":265.600,"epx":23.567,"epy":18.597,"epv":57.500,"track":191.9000,"speed":0.019,"climb":-0.300,"eps":47.13} $GPGGA,073743.00,5355.1609,N,02729.9789,E,1,07,1.8,00265.0,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,17,01,01,023,47,02,17,256,,03,07,075,35,04,04,219,*76 $GPGSV,5,2,17,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*70 $GPGSV,5,3,17,10,61,260,,13,42,097,52,16,12,031,47,23,22,102,52*76 $GPGSV,5,4,17,25,68,073,,28,02,178,,75,16,224,,81,12,346,37*7B $GPGSV,5,5,17,82,13,037,*43 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":35,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073743.00,A,5355.1609,N,02729.9789,E,000.04599,150.1,090710,,,A*58 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:43.000Z","ept":0.005,"lat":53.919348333,"lon":27.499648333,"alt":265.000,"epx":23.567,"epy":18.597,"epv":57.500,"track":150.1000,"speed":0.024,"climb":-0.600,"eps":47.13} $GPGGA,073744.00,5355.1609,N,02729.9796,E,1,07,1.8,00264.6,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,17,01,01,023,47,02,17,256,,03,07,075,36,04,04,219,*75 $GPGSV,5,2,17,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*70 $GPGSV,5,3,17,10,61,260,,13,42,097,53,16,12,031,47,23,22,102,52*77 $GPGSV,5,4,17,25,68,073,,28,02,178,,75,16,224,,81,12,346,37*7B $GPGSV,5,5,17,82,13,037,*43 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":36,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073744.00,A,5355.1609,N,02729.9796,E,000.05690,138.6,090710,,,A*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:44.000Z","ept":0.005,"lat":53.919348333,"lon":27.499660000,"alt":264.600,"epx":23.567,"epy":18.597,"epv":57.500,"track":138.6000,"speed":0.029,"climb":-0.400,"eps":47.13} $GPGGA,073745.00,5355.1608,N,02729.9800,E,1,07,1.8,00264.2,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,18,01,01,023,47,02,17,256,,03,07,075,39,04,04,219,*75 $GPGSV,5,2,18,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*7F $GPGSV,5,3,18,10,61,260,,13,42,097,53,16,12,031,47,23,22,102,52*78 $GPGSV,5,4,18,25,68,073,,28,02,178,,65,28,320,,75,16,224,*73 $GPGSV,5,5,18,81,12,346,37,82,13,037,*73 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":39,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":0,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073745.00,A,5355.1608,N,02729.9800,E,000.05292,135.8,090710,,,A*56 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:45.000Z","ept":0.005,"lat":53.919346667,"lon":27.499666667,"alt":264.200,"epx":23.567,"epy":18.597,"epv":57.500,"track":135.8000,"speed":0.027,"climb":-0.400,"eps":47.13} $GPGGA,073746.00,5355.1609,N,02729.9803,E,1,07,1.8,00264.1,M,0023.4,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,18,01,01,023,47,02,17,256,,03,07,075,41,04,04,219,*7A $GPGSV,5,2,18,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*7F $GPGSV,5,3,18,10,61,260,,13,42,097,53,16,12,031,47,23,22,102,52*78 $GPGSV,5,4,18,25,68,073,,28,02,178,,65,28,320,,75,16,224,*73 $GPGSV,5,5,18,81,12,346,37,82,13,037,*73 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":41,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":0,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073746.00,A,5355.1609,N,02729.9803,E,000.03599,145.8,090710,,,A*5A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:46.000Z","ept":0.005,"lat":53.919348333,"lon":27.499671667,"alt":264.100,"epx":23.567,"epy":18.597,"epv":57.500,"track":145.8000,"speed":0.019,"climb":-0.100,"eps":47.13} $GPGGA,073747.00,5355.1609,N,02729.9805,E,1,07,1.8,00264.1,M,0023.4,M,,*64 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,18,01,01,023,47,02,17,256,,03,07,075,41,04,04,219,*7A $GPGSV,5,2,18,05,35,304,,06,07,060,46,07,81,169,,08,46,222,*7E $GPGSV,5,3,18,10,61,260,,13,42,097,53,16,12,031,47,23,22,102,52*78 $GPGSV,5,4,18,25,68,073,,28,02,178,,65,28,320,,75,16,224,*73 $GPGSV,5,5,18,81,12,346,38,82,13,037,*7C {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":41,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":0,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073747.00,A,5355.1609,N,02729.9805,E,000.02088,152.2,090710,,,A*55 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:47.000Z","ept":0.005,"lat":53.919348333,"lon":27.499675000,"alt":264.100,"epx":23.567,"epy":18.597,"epv":57.500,"track":152.2000,"speed":0.011,"climb":0.000,"eps":47.13} $GPGGA,073748.00,5355.1610,N,02729.9808,E,1,07,1.8,00264.2,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,18,01,01,023,47,02,17,256,,03,07,075,41,04,04,219,*7A $GPGSV,5,2,18,05,35,304,,06,07,060,46,07,81,169,,08,46,222,*7E $GPGSV,5,3,18,10,61,260,,13,42,097,53,16,12,031,47,23,22,102,51*7B $GPGSV,5,4,18,25,68,073,,28,02,178,,65,28,320,,75,16,224,*73 $GPGSV,5,5,18,81,12,346,38,82,13,037,*7C {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":41,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":0,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073748.00,A,5355.1610,N,02729.9808,E,000.01216,182.7,090710,,,A*51 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:48.000Z","ept":0.005,"lat":53.919350000,"lon":27.499680000,"alt":264.200,"epx":23.567,"epy":18.597,"epv":57.500,"track":182.7000,"speed":0.006,"climb":0.100,"eps":47.13} $GPGGA,073749.00,5355.1610,N,02729.9811,E,1,07,1.8,00264.1,M,0023.4,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,18,01,01,023,47,02,17,256,,03,07,075,42,04,04,219,*79 $GPGSV,5,2,18,05,35,304,,06,07,060,46,07,81,169,,08,46,222,*7E $GPGSV,5,3,18,10,61,260,,13,42,097,54,16,12,031,47,23,22,102,51*7C $GPGSV,5,4,18,25,68,073,,28,02,178,,65,28,320,,75,16,224,*73 $GPGSV,5,5,18,81,12,346,37,82,13,037,*73 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":42,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":0,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073749.00,A,5355.1610,N,02729.9811,E,000.00496,180.7,090710,,,A*55 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:49.000Z","ept":0.005,"lat":53.919350000,"lon":27.499685000,"alt":264.100,"epx":23.567,"epy":18.597,"epv":57.500,"track":180.7000,"speed":0.003,"climb":-0.100,"eps":47.13} $GPGGA,073750.00,5355.1611,N,02729.9813,E,1,07,1.8,00264.3,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,18,01,01,023,47,02,17,256,,03,07,075,42,04,04,219,*79 $GPGSV,5,2,18,05,35,304,,06,07,060,46,07,81,169,,08,46,222,*7E $GPGSV,5,3,18,10,61,260,,13,42,097,54,16,12,031,46,23,22,102,51*7D $GPGSV,5,4,18,25,68,073,,28,02,178,,65,28,320,,75,16,224,*73 $GPGSV,5,5,18,81,12,346,38,82,13,037,*7C {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":42,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":0,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073750.00,A,5355.1611,N,02729.9813,E,000.00322,124.1,090710,,,A*5E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:50.000Z","ept":0.005,"lat":53.919351667,"lon":27.499688333,"alt":264.300,"epx":23.567,"epy":18.597,"epv":57.500,"track":124.1000,"speed":0.002,"climb":0.200,"eps":47.13} $GPGGA,073751.00,5355.1612,N,02729.9816,E,1,07,1.8,00264.3,M,0023.4,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,19,01,01,023,48,02,17,256,,03,07,075,42,04,04,219,*77 $GPGSV,5,2,19,05,35,304,,06,07,060,46,07,81,169,,08,46,222,*7F $GPGSV,5,3,19,10,61,260,,13,42,097,54,16,12,031,46,23,22,102,50*7D $GPGSV,5,4,19,25,68,073,,28,02,178,,65,28,320,,71,36,162,*75 $GPGSV,5,5,19,75,16,224,,81,12,346,38,82,13,037,*4C {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":42,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":50,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":0,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073751.00,A,5355.1612,N,02729.9816,E,000.00564,176.0,090710,,,A*5B {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:51.000Z","ept":0.005,"lat":53.919353333,"lon":27.499693333,"alt":264.300,"epx":23.567,"epy":18.597,"epv":57.500,"track":176.0000,"speed":0.003,"climb":0.000,"eps":47.13} $GPGGA,073752.00,5355.1613,N,02729.9819,E,1,07,1.8,00264.5,M,0023.3,M,,*65 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,5,1,20,01,01,023,48,02,17,256,,03,07,075,42,04,04,219,*7D $GPGSV,5,2,20,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*74 $GPGSV,5,3,20,10,61,260,,13,42,097,54,16,12,031,46,23,22,102,50*77 $GPGSV,5,4,20,25,68,073,,28,02,178,,65,28,320,,71,36,162,*7F $GPGSV,5,5,20,72,77,258,,75,16,224,,81,12,346,38,82,13,037,*7C {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":42,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":50,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":0,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073752.00,A,5355.1613,N,02729.9819,E,000.00732,166.1,090710,,,A*57 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:52.000Z","ept":0.005,"lat":53.919355000,"lon":27.499698333,"alt":264.500,"epx":23.567,"epy":18.597,"epv":57.500,"track":166.1000,"speed":0.004,"climb":0.200,"eps":47.13} $GPGGA,073753.00,5355.1613,N,02729.9822,E,1,07,1.8,00264.6,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,21,01,01,023,48,02,17,256,,03,07,075,42,04,04,219,*7F $GPGSV,6,2,21,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*76 $GPGSV,6,3,21,10,61,260,,13,42,097,54,16,12,031,47,23,22,102,50*74 $GPGSV,6,4,21,25,68,073,,28,02,178,,65,28,320,,71,36,162,*7D $GPGSV,6,5,21,72,77,258,,73,50,045,39,75,16,224,,81,12,346,38*78 $GPGSV,6,6,21,82,13,037,*46 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":42,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":50,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":0,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073753.00,A,5355.1613,N,02729.9822,E,000.01141,125.6,090710,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:53.000Z","ept":0.005,"lat":53.919355000,"lon":27.499703333,"alt":264.600,"epx":23.567,"epy":18.597,"epv":57.500,"track":125.6000,"speed":0.006,"climb":0.100,"eps":47.13} $GPGGA,073754.00,5355.1615,N,02729.9824,E,1,07,1.8,00264.7,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,48,02,17,256,,03,07,075,42,04,04,219,*7C $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,48,23,22,102,51*79 $GPGSV,6,4,22,25,68,073,,28,02,178,,65,28,320,,71,36,162,*7E $GPGSV,6,5,22,72,77,258,,73,50,045,39,74,71,226,,75,16,224,*78 $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":42,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":48,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":0,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073754.00,A,5355.1615,N,02729.9824,E,000.01681,104.5,090710,,,A*51 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:54.000Z","ept":0.005,"lat":53.919358333,"lon":27.499706667,"alt":264.700,"epx":23.567,"epy":18.597,"epv":57.500,"track":104.5000,"speed":0.009,"climb":0.100,"eps":47.13} $GPGGA,073755.00,5355.1616,N,02729.9827,E,1,07,1.8,00264.8,M,0023.4,M,,*60 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,48,02,17,256,,03,07,075,42,04,04,219,*7C $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,48,23,22,102,51*79 $GPGSV,6,4,22,25,68,073,,28,02,178,,65,28,320,,71,36,162,*7E $GPGSV,6,5,22,72,77,258,,73,50,045,39,74,71,226,,75,16,224,*78 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":42,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":48,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":0,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073755.00,A,5355.1616,N,02729.9827,E,000.01720,111.1,090710,,,A*5A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:55.000Z","ept":0.005,"lat":53.919360000,"lon":27.499711667,"alt":264.800,"epx":23.567,"epy":18.597,"epv":57.500,"track":111.1000,"speed":0.009,"climb":0.100,"eps":47.13} $GPGGA,073756.00,5355.1617,N,02729.9830,E,1,07,1.8,00265.0,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,48,02,17,256,,03,07,075,41,04,04,219,*7F $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,48,23,22,102,51*79 $GPGSV,6,4,22,25,68,073,,28,02,178,,65,28,320,,71,36,162,*7E $GPGSV,6,5,22,72,77,258,,73,50,045,39,74,71,226,,75,16,224,*78 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":41,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":48,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":0,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073756.00,A,5355.1617,N,02729.9830,E,000.01485,139.9,090710,,,A*50 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:56.000Z","ept":0.005,"lat":53.919361667,"lon":27.499716667,"alt":265.000,"epx":23.567,"epy":18.597,"epv":57.500,"track":139.9000,"speed":0.008,"climb":0.200,"eps":47.13} $GPGGA,073757.00,5355.1618,N,02729.9833,E,1,07,1.8,00265.2,M,0023.3,M,,*65 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,48,02,17,256,,03,07,075,41,04,04,219,*7F $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,48,23,22,102,51*79 $GPGSV,6,4,22,25,68,073,,28,02,178,,65,28,320,,71,36,162,*7E $GPGSV,6,5,22,72,77,258,,73,50,045,39,74,71,226,,75,16,224,*78 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":41,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":48,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":0,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073757.00,A,5355.1618,N,02729.9833,E,000.01753,184.8,090710,,,A*52 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:57.000Z","ept":0.005,"lat":53.919363333,"lon":27.499721667,"alt":265.200,"epx":23.567,"epy":18.597,"epv":57.500,"track":184.8000,"speed":0.009,"climb":0.200,"eps":47.13} $GPGGA,073758.00,5355.1620,N,02729.9839,E,1,07,1.8,00265.5,M,0023.2,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,47,02,17,256,,03,07,075,41,04,04,219,*70 $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,47,23,22,102,52*75 $GPGSV,6,4,22,25,68,073,,28,02,178,31,65,28,320,,71,36,162,*7C $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":41,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":31,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073758.00,A,5355.1620,N,02729.9839,E,000.02205,199.0,090710,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:58.000Z","ept":0.005,"lat":53.919366667,"lon":27.499731667,"alt":265.500,"epx":23.567,"epy":18.597,"epv":57.500,"track":199.0000,"speed":0.011,"climb":0.300,"eps":47.13} $GPGGA,073759.00,5355.1623,N,02729.9846,E,1,07,1.8,00265.7,M,0023.4,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,47,02,17,256,,03,07,075,40,04,04,219,*71 $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,47,23,22,102,53*74 $GPGSV,6,4,22,25,68,073,,28,02,178,30,65,28,320,,71,36,162,*7D $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":40,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":53,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":30,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073759.00,A,5355.1623,N,02729.9846,E,000.02422,200.3,090710,,,A*54 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:37:59.000Z","ept":0.005,"lat":53.919371667,"lon":27.499743333,"alt":265.700,"epx":23.567,"epy":18.597,"epv":57.500,"track":200.3000,"speed":0.012,"climb":0.200,"eps":47.13} $GPGGA,073800.00,5355.1625,N,02729.9852,E,1,07,1.8,00265.8,M,0023.4,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,47,02,17,256,,03,07,075,40,04,04,219,*71 $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,47,23,22,102,53*74 $GPGSV,6,4,22,25,68,073,,28,02,178,30,65,28,320,,71,36,162,*7D $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":40,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":53,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":30,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073800.00,A,5355.1625,N,02729.9852,E,000.01801,175.6,090710,,,A*5E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:00.000Z","ept":0.005,"lat":53.919375000,"lon":27.499753333,"alt":265.800,"epx":23.567,"epy":18.597,"epv":57.500,"track":175.6000,"speed":0.009,"climb":0.100,"eps":47.13} $GPGGA,073801.00,5355.1626,N,02729.9856,E,1,07,1.8,00265.9,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,47,02,17,256,,03,07,075,40,04,04,219,*71 $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,46,23,22,102,53*75 $GPGSV,6,4,22,25,68,073,,28,02,178,31,65,28,320,,71,36,162,*7C $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":40,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":53,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":31,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073801.00,A,5355.1626,N,02729.9856,E,000.01908,166.8,090710,,,A*5C {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:01.000Z","ept":0.005,"lat":53.919376667,"lon":27.499760000,"alt":265.900,"epx":23.567,"epy":18.597,"epv":57.500,"track":166.8000,"speed":0.010,"climb":0.100,"eps":47.13} $GPGGA,073802.00,5355.1627,N,02729.9859,E,1,07,1.8,00266.1,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,46,02,17,256,,03,07,075,40,04,04,219,*70 $GPGSV,6,2,22,05,35,304,,06,07,060,46,07,81,169,,08,46,222,*74 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,46,23,22,102,53*75 $GPGSV,6,4,22,25,68,073,,28,02,178,30,65,28,320,,71,36,162,*7D $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":40,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":53,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":30,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073802.00,A,5355.1627,N,02729.9859,E,000.02314,175.9,090710,,,A*56 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:02.000Z","ept":0.005,"lat":53.919378333,"lon":27.499765000,"alt":266.100,"epx":23.567,"epy":18.597,"epv":57.500,"track":175.9000,"speed":0.012,"climb":0.200,"eps":47.13} $GPGGA,073803.00,5355.1628,N,02729.9862,E,1,07,1.8,00266.1,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,46,02,17,256,,03,07,075,39,04,04,219,*7E $GPGSV,6,2,22,05,35,304,,06,07,060,46,07,81,169,,08,46,222,*74 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,45,23,22,102,54*71 $GPGSV,6,4,22,25,68,073,,28,02,178,30,65,28,320,,71,36,162,*7D $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":39,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":22,"az":102,"ss":54,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":30,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073803.00,A,5355.1628,N,02729.9862,E,000.02562,185.7,090710,,,A*56 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:03.000Z","ept":0.005,"lat":53.919380000,"lon":27.499770000,"alt":266.100,"epx":23.567,"epy":18.597,"epv":57.500,"track":185.7000,"speed":0.013,"climb":0.000,"eps":47.13} $GPGGA,073804.00,5355.1629,N,02729.9865,E,1,07,1.8,00266.2,M,0023.4,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,45,02,17,256,,03,07,075,39,04,04,219,*7D $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,54,16,12,031,45,23,22,102,54*71 $GPGSV,6,4,22,25,68,073,,28,02,178,30,65,28,320,,71,36,162,*7D $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":39,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":22,"az":102,"ss":54,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":30,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073804.00,A,5355.1629,N,02729.9865,E,000.02512,191.5,090710,,,A*57 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:04.000Z","ept":0.005,"lat":53.919381667,"lon":27.499775000,"alt":266.200,"epx":23.567,"epy":18.597,"epv":57.500,"track":191.5000,"speed":0.013,"climb":0.100,"eps":47.13} $GPGGA,073805.00,5355.1630,N,02729.9869,E,1,07,1.8,00266.3,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,45,02,17,256,,03,07,075,39,04,04,219,*7D $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,45,23,22,102,54*76 $GPGSV,6,4,22,25,68,073,,28,02,178,30,65,28,320,,71,36,162,*7D $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":39,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":22,"az":102,"ss":54,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":30,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073805.00,A,5355.1630,N,02729.9869,E,000.02296,192.7,090710,,,A*58 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:05.000Z","ept":0.005,"lat":53.919383333,"lon":27.499781667,"alt":266.300,"epx":23.567,"epy":18.597,"epv":57.500,"track":192.7000,"speed":0.012,"climb":0.100,"eps":47.13} $GPGGA,073806.00,5355.1631,N,02729.9872,E,1,07,1.8,00266.5,M,0023.3,M,,*64 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,44,02,17,256,,03,07,075,39,04,04,219,*7C $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,45,23,22,102,54*76 $GPGSV,6,4,22,25,68,073,,28,02,178,30,65,28,320,,71,36,162,*7D $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":39,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":22,"az":102,"ss":54,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":30,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073806.00,A,5355.1631,N,02729.9872,E,000.02406,188.0,090710,,,A*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:06.000Z","ept":0.005,"lat":53.919385000,"lon":27.499786667,"alt":266.500,"epx":23.567,"epy":18.597,"epv":57.500,"track":188.0000,"speed":0.012,"climb":0.200,"eps":47.13} $GPGGA,073807.00,5355.1632,N,02729.9875,E,1,07,1.8,00266.6,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,44,02,17,256,,03,07,075,39,04,04,219,*7C $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,45,23,22,102,53*71 $GPGSV,6,4,22,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":39,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":22,"az":102,"ss":53,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073807.00,A,5355.1632,N,02729.9875,E,000.02665,192.5,090710,,,A*5F {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:07.000Z","ept":0.005,"lat":53.919386667,"lon":27.499791667,"alt":266.600,"epx":23.567,"epy":18.597,"epv":57.500,"track":192.5000,"speed":0.014,"climb":0.100,"eps":47.13} $GPGGA,073808.00,5355.1633,N,02729.9878,E,1,07,1.8,00266.6,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,01,023,45,02,17,256,,03,07,075,40,04,04,219,*73 $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,45,23,22,102,53*71 $GPGSV,6,4,22,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,258,,73,50,045,40,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":1,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":40,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":22,"az":102,"ss":53,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073808.00,A,5355.1633,N,02729.9878,E,000.02739,192.8,090710,,,A*59 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:08.000Z","ept":0.005,"lat":53.919388333,"lon":27.499796667,"alt":266.600,"epx":23.567,"epy":18.597,"epv":57.500,"track":192.8000,"speed":0.014,"climb":0.000,"eps":47.13} $GPGGA,073809.00,5355.1634,N,02729.9882,E,1,07,1.8,00266.5,M,0023.4,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,45,02,17,256,,03,07,075,40,04,04,219,*72 $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,45,23,22,102,53*71 $GPGSV,6,4,22,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,258,,73,50,045,39,74,71,226,,75,16,224,*78 $GPGSV,6,6,22,81,12,346,37,82,13,037,*7A {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":256,"ss":0,"used":false},{"PRN":3,"el":7,"az":75,"ss":40,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":22,"az":102,"ss":53,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073809.00,A,5355.1634,N,02729.9882,E,000.03125,195.2,090710,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:09.000Z","ept":0.005,"lat":53.919390000,"lon":27.499803333,"alt":266.500,"epx":23.567,"epy":18.597,"epv":57.500,"track":195.2000,"speed":0.016,"climb":-0.100,"eps":47.13} $GPGGA,073810.00,5355.1634,N,02729.9885,E,1,07,1.8,00266.7,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,29,03,07,075,39,04,04,219,*75 $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,45,23,22,102,53*71 $GPGSV,6,4,22,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,258,,73,50,045,39,74,71,226,,75,16,224,*78 $GPGSV,6,6,22,81,12,346,37,82,13,037,*7A {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":7,"az":75,"ss":39,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":22,"az":102,"ss":53,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073810.00,A,5355.1634,N,02729.9885,E,000.03539,198.7,090710,,,A*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:10.000Z","ept":0.005,"lat":53.919390000,"lon":27.499808333,"alt":266.700,"epx":23.567,"epy":18.597,"epv":57.500,"track":198.7000,"speed":0.018,"climb":0.200,"eps":47.13} $GPGGA,073811.00,5355.1635,N,02729.9888,E,1,07,1.8,00266.6,M,0023.3,M,,*60 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,29,03,08,075,39,04,04,219,*7A $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,45,23,22,102,52*70 $GPGSV,6,4,22,25,68,073,,28,02,178,30,65,28,320,,71,36,162,*7D $GPGSV,6,5,22,72,77,258,,73,50,045,38,74,71,226,,75,16,224,*79 $GPGSV,6,6,22,81,12,346,37,82,13,037,*7A {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":39,"used":true},{"PRN":4,"el":4,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":30,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":38,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073811.00,A,5355.1635,N,02729.9888,E,000.03561,197.6,090710,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:11.000Z","ept":0.005,"lat":53.919391667,"lon":27.499813333,"alt":266.600,"epx":23.567,"epy":18.597,"epv":57.500,"track":197.6000,"speed":0.018,"climb":-0.100,"eps":47.13} $GPGGA,073812.00,5355.1636,N,02729.9891,E,1,07,1.8,00266.8,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,29,03,08,075,39,04,03,219,*7D $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,46,23,22,102,52*73 $GPGSV,6,4,22,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,258,,73,50,045,37,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":37,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073812.00,A,5355.1636,N,02729.9891,E,000.03782,200.9,090710,,,A*58 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:12.000Z","ept":0.005,"lat":53.919393333,"lon":27.499818333,"alt":266.800,"epx":23.567,"epy":18.597,"epv":57.500,"track":200.9000,"speed":0.019,"climb":0.200,"eps":47.13} $GPGGA,073813.00,5355.1637,N,02729.9894,E,1,07,1.8,00267.0,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,29,03,08,075,38,04,03,219,*7D $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,46,23,22,102,52*73 $GPGSV,6,4,22,25,68,073,,28,02,178,30,65,28,320,,71,36,162,*7D $GPGSV,6,5,22,72,77,258,,73,50,045,37,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":30,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":37,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073813.00,A,5355.1637,N,02729.9894,E,000.03875,202.2,090710,,,A*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:13.000Z","ept":0.005,"lat":53.919395000,"lon":27.499823333,"alt":267.000,"epx":23.567,"epy":18.597,"epv":57.500,"track":202.2000,"speed":0.020,"climb":0.200,"eps":47.13} $GPGGA,073814.00,5355.1638,N,02729.9897,E,1,07,1.8,00267.2,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,29,03,08,075,38,04,03,219,*7E $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,169,,08,46,222,*75 $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,47,23,22,102,52*72 $GPGSV,6,4,22,25,68,073,,28,02,178,30,65,28,320,,71,36,162,*7D $GPGSV,6,5,22,72,77,258,,73,50,045,37,74,71,226,,75,16,224,*76 $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":169,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":30,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":37,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073814.00,A,5355.1638,N,02729.9897,E,000.03717,198.9,090710,,,A*58 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:14.000Z","ept":0.005,"lat":53.919396667,"lon":27.499828333,"alt":267.200,"epx":23.567,"epy":18.597,"epv":57.500,"track":198.9000,"speed":0.019,"climb":0.200,"eps":47.13} $GPGGA,073815.00,5355.1639,N,02729.9900,E,1,07,1.8,00267.4,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,29,03,08,075,38,04,03,219,*7E $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,48,23,22,102,52*7D $GPGSV,6,4,22,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,258,,73,50,045,38,74,71,226,,75,16,224,*79 $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":0,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":48,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":38,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073815.00,A,5355.1639,N,02729.9900,E,000.03478,194.7,090710,,,A*5F {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:15.000Z","ept":0.005,"lat":53.919398333,"lon":27.499833333,"alt":267.400,"epx":23.567,"epy":18.597,"epv":57.500,"track":194.7000,"speed":0.018,"climb":0.200,"eps":47.13} $GPGGA,073816.00,5355.1639,N,02729.9902,E,1,07,1.8,00267.7,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,28,03,08,075,39,04,03,219,28*75 $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,48,23,22,102,52*7D $GPGSV,6,4,22,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,258,,73,50,045,38,74,71,226,,75,16,224,*79 $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":48,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":38,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073816.00,A,5355.1639,N,02729.9902,E,000.02979,187.6,090710,,,A*50 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:16.000Z","ept":0.005,"lat":53.919398333,"lon":27.499836667,"alt":267.700,"epx":23.567,"epy":18.597,"epv":57.500,"track":187.6000,"speed":0.015,"climb":0.300,"eps":47.13} $GPGGA,073817.00,5355.1639,N,02729.9904,E,1,07,1.8,00268.0,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,29,03,08,075,39,04,03,219,28*74 $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,260,,13,42,097,53,16,12,031,48,23,22,102,52*7D $GPGSV,6,4,22,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,258,,73,50,045,38,74,71,226,,75,16,224,*79 $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":260,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":48,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":38,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073817.00,A,5355.1639,N,02729.9904,E,000.02675,175.5,090710,,,A*5A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:17.000Z","ept":0.005,"lat":53.919398333,"lon":27.499840000,"alt":268.000,"epx":23.567,"epy":18.597,"epv":57.500,"track":175.5000,"speed":0.014,"climb":0.300,"eps":47.13} $GPGGA,073818.00,5355.1638,N,02729.9905,E,1,07,1.8,00268.4,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,29,03,08,075,40,04,03,219,28*7A $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,49,23,22,102,52*77 $GPGSV,6,4,22,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,258,,73,50,045,38,74,71,226,,75,16,224,*79 $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":40,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":49,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":38,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073818.00,A,5355.1638,N,02729.9905,E,000.02694,171.8,090710,,,A*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:18.000Z","ept":0.005,"lat":53.919396667,"lon":27.499841667,"alt":268.400,"epx":23.567,"epy":18.597,"epv":57.500,"track":171.8000,"speed":0.014,"climb":0.400,"eps":47.13} $GPGGA,073819.00,5355.1637,N,02729.9905,E,1,07,1.8,00268.7,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,28,03,08,075,40,04,03,219,28*7B $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,49,23,22,102,52*77 $GPGSV,6,4,22,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,258,,73,50,045,38,74,71,226,,75,16,224,*79 $GPGSV,6,6,22,81,12,346,37,82,13,037,*7A {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":40,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":49,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":38,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073819.00,A,5355.1637,N,02729.9905,E,000.02660,168.3,090710,,,A*55 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:19.000Z","ept":0.005,"lat":53.919395000,"lon":27.499841667,"alt":268.700,"epx":23.567,"epy":18.597,"epv":57.500,"track":168.3000,"speed":0.014,"climb":0.300,"eps":47.13} $GPGGA,073820.00,5355.1636,N,02729.9904,E,1,07,1.8,00268.9,M,0023.3,M,,*65 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,48,02,17,255,28,03,08,075,41,04,03,219,28*75 $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,48,23,22,102,52*76 $GPGSV,6,4,22,25,68,073,,28,02,178,28,65,28,320,,71,36,162,*74 $GPGSV,6,5,22,72,77,258,,73,50,045,39,74,71,226,,75,16,224,*78 $GPGSV,6,6,22,81,12,346,37,82,13,037,*7A {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":41,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":48,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":28,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073820.00,A,5355.1636,N,02729.9904,E,000.02513,175.3,090710,,,A*54 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:20.000Z","ept":0.005,"lat":53.919393333,"lon":27.499840000,"alt":268.900,"epx":23.567,"epy":18.597,"epv":57.500,"track":175.3000,"speed":0.013,"climb":0.200,"eps":47.13} $GPGGA,073821.00,5355.1635,N,02729.9905,E,1,07,1.8,00269.3,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,22,01,00,023,48,02,17,255,28,03,08,075,41,04,03,219,27*7A $GPGSV,6,2,22,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,48,23,22,102,52*76 $GPGSV,6,4,22,25,68,073,,28,02,178,28,65,28,320,,71,36,162,*74 $GPGSV,6,5,22,72,77,258,,73,50,045,38,74,71,226,,75,16,224,*79 $GPGSV,6,6,22,81,12,346,37,82,13,037,*7A {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":41,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":48,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":28,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":258,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":38,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073821.00,A,5355.1635,N,02729.9905,E,000.02674,187.8,090710,,,A*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:21.000Z","ept":0.005,"lat":53.919391667,"lon":27.499841667,"alt":269.300,"epx":23.567,"epy":18.597,"epv":57.500,"track":187.8000,"speed":0.014,"climb":0.400,"eps":47.13} $GPGGA,073822.00,5355.1635,N,02729.9906,E,1,07,1.8,00269.7,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,21,01,00,023,48,02,17,255,27,03,08,075,41,04,03,219,28*79 $GPGSV,6,2,21,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*78 $GPGSV,6,3,21,10,61,259,,13,42,097,52,16,12,031,48,23,22,102,52*75 $GPGSV,6,4,21,25,68,073,,28,02,178,28,65,28,320,,71,36,162,*77 $GPGSV,6,5,21,73,50,045,38,74,71,226,,75,16,224,,81,12,346,38*70 $GPGSV,6,6,21,82,13,037,*46 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":75,"ss":41,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":48,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":28,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":38,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073822.00,A,5355.1635,N,02729.9906,E,000.02642,194.9,090710,,,A*55 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:22.000Z","ept":0.005,"lat":53.919391667,"lon":27.499843333,"alt":269.700,"epx":23.567,"epy":18.597,"epv":57.500,"track":194.9000,"speed":0.014,"climb":0.400,"eps":47.13} $GPGGA,073823.00,5355.1635,N,02729.9908,E,1,07,1.8,00270.0,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,21,01,00,023,48,02,17,255,28,03,08,075,41,04,03,219,28*76 $GPGSV,6,2,21,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*78 $GPGSV,6,3,21,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,52*7A $GPGSV,6,4,21,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*76 $GPGSV,6,5,21,73,50,045,38,74,71,226,,75,16,224,,81,12,346,37*7F $GPGSV,6,6,21,82,13,037,*46 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":41,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":38,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073823.00,A,5355.1635,N,02729.9908,E,000.02743,196.6,090710,,,A*57 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:23.000Z","ept":0.005,"lat":53.919391667,"lon":27.499846667,"alt":270.000,"epx":23.567,"epy":18.597,"epv":57.500,"track":196.6000,"speed":0.014,"climb":0.300,"eps":47.13} $GPGGA,073824.00,5355.1635,N,02729.9910,E,1,07,1.8,00270.4,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,21,01,00,023,48,02,17,255,28,03,08,075,40,04,03,219,28*77 $GPGSV,6,2,21,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*78 $GPGSV,6,3,21,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,52*7A $GPGSV,6,4,21,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*76 $GPGSV,6,5,21,73,50,045,37,74,71,226,,75,16,224,,81,12,346,37*70 $GPGSV,6,6,21,82,13,037,*46 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":40,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":37,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073824.00,A,5355.1635,N,02729.9910,E,000.02731,195.7,090710,,,A*5E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:24.000Z","ept":0.005,"lat":53.919391667,"lon":27.499850000,"alt":270.400,"epx":23.567,"epy":18.597,"epv":57.500,"track":195.7000,"speed":0.014,"climb":0.400,"eps":47.13} $GPGGA,073825.00,5355.1635,N,02729.9913,E,1,07,1.8,00270.6,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,21,01,00,023,48,02,17,255,28,03,08,075,40,04,03,219,28*77 $GPGSV,6,2,21,05,35,304,,06,07,060,47,07,81,167,,08,46,222,*78 $GPGSV,6,3,21,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*79 $GPGSV,6,4,21,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*76 $GPGSV,6,5,21,73,50,045,37,74,71,226,,75,16,224,,81,12,346,37*70 $GPGSV,6,6,21,82,13,037,*46 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":40,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":37,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073825.00,A,5355.1635,N,02729.9913,E,000.02228,188.7,090710,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:25.000Z","ept":0.005,"lat":53.919391667,"lon":27.499855000,"alt":270.600,"epx":23.567,"epy":18.597,"epv":57.500,"track":188.7000,"speed":0.011,"climb":0.200,"eps":47.13} $GPGGA,073826.00,5355.1635,N,02729.9914,E,1,07,1.8,00270.6,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.5*32 $GPGSV,6,1,21,01,00,023,48,02,17,255,28,03,08,075,40,04,03,219,28*77 $GPGSV,6,2,21,05,35,304,,06,07,060,46,07,81,167,,08,46,222,*79 $GPGSV,6,3,21,10,61,259,,13,42,097,52,16,12,031,46,23,22,102,51*78 $GPGSV,6,4,21,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*76 $GPGSV,6,5,21,73,50,045,38,74,71,226,,75,16,224,,81,12,346,37*7F $GPGSV,6,6,21,82,13,037,*46 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":40,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":38,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073826.00,A,5355.1635,N,02729.9914,E,000.01869,175.8,090710,,,A*58 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:26.000Z","ept":0.005,"lat":53.919391667,"lon":27.499856667,"alt":270.600,"epx":23.567,"epy":18.597,"epv":57.500,"track":175.8000,"speed":0.010,"climb":0.000,"eps":47.13} $GPGGA,073827.00,5355.1634,N,02729.9915,E,1,07,1.8,00270.4,M,0023.3,M,,*64 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.4*33 $GPGSV,6,1,21,01,00,023,48,02,17,255,28,03,08,075,40,04,03,219,28*77 $GPGSV,6,2,21,05,35,304,,06,07,060,46,07,81,167,,08,46,222,*79 $GPGSV,6,3,21,10,61,259,,13,42,097,52,16,12,031,46,23,22,102,51*78 $GPGSV,6,4,21,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*76 $GPGSV,6,5,21,73,50,045,39,74,71,226,,75,16,224,,81,12,346,37*7E $GPGSV,6,6,21,82,13,037,*46 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":40,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073827.00,A,5355.1634,N,02729.9915,E,000.01917,177.6,090710,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:27.000Z","ept":0.005,"lat":53.919390000,"lon":27.499858333,"alt":270.400,"epx":23.567,"epy":18.597,"epv":57.500,"track":177.6000,"speed":0.010,"climb":-0.200,"eps":47.13} $GPGGA,073828.00,5355.1634,N,02729.9915,E,1,07,1.8,00270.3,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.4*33 $GPGSV,6,1,21,01,00,023,48,02,17,255,28,03,08,075,41,04,03,219,27*79 $GPGSV,6,2,21,05,35,304,,06,07,060,46,07,81,167,,08,46,222,*79 $GPGSV,6,3,21,10,61,259,,13,42,097,52,16,12,031,46,23,22,102,52*7B $GPGSV,6,4,21,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*76 $GPGSV,6,5,21,73,50,045,39,74,71,226,,75,16,224,,81,12,346,37*7E $GPGSV,6,6,21,82,13,037,*46 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":41,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073828.00,A,5355.1634,N,02729.9915,E,000.01991,176.7,090710,,,A*5C {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:28.000Z","ept":0.005,"lat":53.919390000,"lon":27.499858333,"alt":270.300,"epx":23.567,"epy":18.597,"epv":55.200,"track":176.7000,"speed":0.010,"climb":-0.100,"eps":47.13} $GPGGA,073829.00,5355.1634,N,02729.9917,E,1,07,1.8,00270.3,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.4*33 $GPGSV,6,1,21,01,00,023,48,02,17,255,28,03,08,075,41,04,03,219,28*76 $GPGSV,6,2,21,05,35,304,,06,07,060,46,07,81,167,,08,46,222,*79 $GPGSV,6,3,21,10,61,259,,13,42,097,52,16,12,031,46,23,22,102,52*7B $GPGSV,6,4,21,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*76 $GPGSV,6,5,21,73,50,045,39,74,71,226,,75,16,224,,81,12,346,37*7E $GPGSV,6,6,21,82,13,037,*46 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":41,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":71,"az":226,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073829.00,A,5355.1634,N,02729.9917,E,000.01785,161.7,090710,,,A*52 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:29.000Z","ept":0.005,"lat":53.919390000,"lon":27.499861667,"alt":270.300,"epx":23.567,"epy":18.597,"epv":55.200,"track":161.7000,"speed":0.009,"climb":0.000,"eps":47.13} $GPGGA,073830.00,5355.1635,N,02729.9920,E,1,07,1.8,00270.6,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.4*33 $GPGSV,5,1,20,01,00,023,49,02,17,255,28,03,08,075,42,04,03,219,28*76 $GPGSV,5,2,20,05,35,304,,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,46,23,22,102,52*78 $GPGSV,5,4,20,25,68,073,,28,02,178,29,65,28,320,,71,36,162,*74 $GPGSV,5,5,20,73,50,045,39,75,16,224,,81,12,346,37,82,13,037,*73 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":49,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":42,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073830.00,A,5355.1635,N,02729.9920,E,000.01855,133.1,090710,,,A*5C {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:30.000Z","ept":0.005,"lat":53.919391667,"lon":27.499866667,"alt":270.600,"epx":23.567,"epy":18.597,"epv":55.200,"track":133.1000,"speed":0.010,"climb":0.300,"eps":47.13} $GPGGA,073831.00,5355.1635,N,02729.9922,E,1,07,1.8,00270.7,M,0023.3,M,,*65 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.4*33 $GPGSV,5,1,20,01,00,023,48,02,17,255,28,03,08,075,41,04,03,219,27*7B $GPGSV,5,2,20,05,35,304,,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,5,3,20,10,61,259,,13,42,097,52,16,12,031,46,23,22,102,52*79 $GPGSV,5,4,20,25,68,073,,28,02,178,28,65,28,320,,71,36,162,*75 $GPGSV,5,5,20,73,50,045,39,75,16,224,,81,12,346,37,82,13,037,*73 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":41,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":28,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073831.00,A,5355.1635,N,02729.9922,E,000.01963,130.3,090710,,,A*5A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:31.000Z","ept":0.005,"lat":53.919391667,"lon":27.499870000,"alt":270.700,"epx":23.567,"epy":18.597,"epv":55.200,"track":130.3000,"speed":0.010,"climb":0.100,"eps":47.13} $GPGGA,073832.00,5355.1636,N,02729.9925,E,1,07,1.8,00270.9,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.4*33 $GPGSV,5,1,20,01,00,023,48,02,17,255,29,03,08,075,41,04,03,219,28*75 $GPGSV,5,2,20,05,35,304,,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,46,23,22,102,52*78 $GPGSV,5,4,20,25,68,073,,28,02,178,28,65,28,320,,71,36,162,*75 $GPGSV,5,5,20,73,50,045,40,75,16,224,,81,12,346,37,82,13,037,*7D {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":41,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":68,"az":73,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":28,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073832.00,A,5355.1636,N,02729.9925,E,000.02265,116.2,090710,,,A*56 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:32.000Z","ept":0.005,"lat":53.919393333,"lon":27.499875000,"alt":270.900,"epx":23.567,"epy":18.597,"epv":55.200,"track":116.2000,"speed":0.012,"climb":0.200,"eps":47.13} $GPGGA,073833.00,5355.1636,N,02729.9925,E,1,07,1.8,00270.9,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.4*33 $GPGSV,5,1,20,01,00,023,48,02,17,255,29,03,08,075,40,04,03,219,28*74 $GPGSV,5,2,20,05,35,304,,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,46,23,22,102,52*78 $GPGSV,5,4,20,25,67,072,,28,02,178,29,65,28,320,,71,36,162,*7A $GPGSV,5,5,20,73,50,045,40,75,16,224,,81,12,346,37,82,13,037,*7D {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":40,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":0,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073833.00,A,5355.1636,N,02729.9925,E,000.01899,130.4,090710,,,A*5F {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:33.000Z","ept":0.005,"lat":53.919393333,"lon":27.499875000,"alt":270.900,"epx":23.567,"epy":18.597,"epv":55.200,"track":130.4000,"speed":0.010,"climb":0.000,"eps":47.13} $GPGGA,073834.00,5355.1635,N,02729.9926,E,1,07,1.8,00270.8,M,0023.3,M,,*6B $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.1,1.8,2.4*33 $GPGSV,5,1,20,01,00,023,47,02,17,255,29,03,08,075,41,04,03,219,28*7A $GPGSV,5,2,20,05,35,304,29,06,07,060,46,07,81,167,,08,46,222,*70 $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,46,23,22,102,52*78 $GPGSV,5,4,20,25,67,072,,28,02,178,30,65,28,320,,71,36,162,*72 $GPGSV,5,5,20,73,50,045,41,75,16,224,,81,12,346,37,82,13,037,*7C {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":41,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":29,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":30,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":41,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073834.00,A,5355.1635,N,02729.9926,E,000.01924,141.2,090710,,,A*5F {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:34.000Z","ept":0.005,"lat":53.919391667,"lon":27.499876667,"alt":270.800,"epx":23.567,"epy":18.597,"epv":55.200,"track":141.2000,"speed":0.010,"climb":-0.100,"eps":47.13} $GPGGA,073835.00,5355.1636,N,02729.9928,E,1,07,1.8,00270.7,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,47,02,17,255,30,03,08,075,41,04,03,219,28*72 $GPGSV,5,2,20,05,35,304,27,06,07,060,46,07,81,167,,08,46,222,*7E $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,47,23,22,102,52*79 $GPGSV,5,4,20,25,67,072,,28,02,178,29,65,28,320,,71,36,162,*7A $GPGSV,5,5,20,73,50,045,40,75,16,224,,81,12,346,37,82,13,037,*7D {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":255,"ss":30,"used":false},{"PRN":3,"el":8,"az":75,"ss":41,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":27,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":2,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073835.00,A,5355.1636,N,02729.9928,E,000.01902,162.0,090710,,,A*54 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:35.000Z","ept":0.005,"lat":53.919393333,"lon":27.499880000,"alt":270.700,"epx":23.567,"epy":18.597,"epv":55.200,"track":162.0000,"speed":0.010,"climb":-0.100,"eps":47.13} $GPGGA,073836.00,5355.1636,N,02729.9930,E,1,07,1.8,00270.4,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,47,02,17,255,30,03,08,075,41,04,03,219,27*7D $GPGSV,5,2,20,05,35,304,26,06,07,060,46,07,81,167,,08,46,222,*7F $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,46,23,22,102,52*78 $GPGSV,5,4,20,25,67,072,,28,03,178,30,65,28,320,,71,36,162,*73 $GPGSV,5,5,20,73,50,045,41,75,16,224,,81,12,346,38,82,13,037,*73 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":255,"ss":30,"used":false},{"PRN":3,"el":8,"az":75,"ss":41,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":26,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":41,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073836.00,A,5355.1636,N,02729.9930,E,000.01738,158.2,090710,,,A*52 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:36.000Z","ept":0.005,"lat":53.919393333,"lon":27.499883333,"alt":270.400,"epx":23.567,"epy":18.597,"epv":55.200,"track":158.2000,"speed":0.009,"climb":-0.300,"eps":47.13} $GPGGA,073837.00,5355.1637,N,02729.9933,E,1,07,1.8,00270.4,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,47,02,17,255,29,03,08,075,41,04,03,219,28*7A $GPGSV,5,2,20,05,35,304,24,06,07,060,46,07,81,167,,08,46,222,*7D $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,46,23,22,102,52*78 $GPGSV,5,4,20,25,67,072,,28,03,178,29,65,28,320,,71,36,162,*7B $GPGSV,5,5,20,73,50,045,40,75,16,224,,81,12,346,38,82,13,037,*72 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":41,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":24,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073837.00,A,5355.1637,N,02729.9933,E,000.01726,156.3,090710,,,A*51 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:37.000Z","ept":0.005,"lat":53.919395000,"lon":27.499888333,"alt":270.400,"epx":23.567,"epy":18.597,"epv":55.200,"track":156.3000,"speed":0.009,"climb":0.000,"eps":47.13} $GPGGA,073838.00,5355.1638,N,02729.9937,E,1,07,1.8,00270.6,M,0023.3,M,,*64 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,47,02,17,255,29,03,08,075,41,04,03,219,28*7A $GPGSV,5,2,20,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7A $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,46,23,22,102,51*7B $GPGSV,5,4,20,25,67,072,,28,03,178,29,65,28,320,,71,36,162,*7B $GPGSV,5,5,20,73,50,045,40,75,16,224,,81,12,346,39,82,13,037,*73 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":41,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073838.00,A,5355.1638,N,02729.9937,E,000.01707,141.9,090710,,,A*5A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:38.000Z","ept":0.005,"lat":53.919396667,"lon":27.499895000,"alt":270.600,"epx":23.567,"epy":18.597,"epv":55.200,"track":141.9000,"speed":0.009,"climb":0.200,"eps":47.13} $GPGGA,073839.00,5355.1639,N,02729.9941,E,1,07,1.8,00270.6,M,0023.3,M,,*65 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,29,03,08,075,40,04,03,219,28*7A $GPGSV,5,2,20,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7A $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,46,23,22,102,52*78 $GPGSV,5,4,20,25,67,072,,28,03,178,29,65,28,320,,71,36,162,*7B $GPGSV,5,5,20,73,50,045,40,75,16,224,,81,12,346,39,82,13,037,*73 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":40,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073839.00,A,5355.1639,N,02729.9941,E,000.01943,121.2,090710,,,A*58 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:39.000Z","ept":0.005,"lat":53.919398333,"lon":27.499901667,"alt":270.600,"epx":23.567,"epy":18.597,"epv":55.200,"track":121.2000,"speed":0.010,"climb":0.000,"eps":47.13} $GPGGA,073840.00,5355.1639,N,02729.9944,E,1,07,1.8,00270.5,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,29,03,08,075,39,04,03,219,28*74 $GPGSV,5,2,20,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7A $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,46,23,22,102,52*78 $GPGSV,5,4,20,25,67,072,,28,03,178,29,65,28,320,,71,36,162,*7B $GPGSV,5,5,20,73,50,045,40,75,16,224,,81,12,346,38,82,13,037,*72 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":28,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073840.00,A,5355.1639,N,02729.9944,E,000.02156,128.8,090710,,,A*5F {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:40.000Z","ept":0.005,"lat":53.919398333,"lon":27.499906667,"alt":270.500,"epx":23.567,"epy":18.597,"epv":55.200,"track":128.8000,"speed":0.011,"climb":-0.100,"eps":47.13} $GPGGA,073841.00,5355.1638,N,02729.9946,E,1,06,1.9,00270.3,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,23,81,73,,,,,,,3.1,1.9,2.5*30 $GPGSV,5,1,20,01,00,023,45,02,17,255,29,03,08,075,38,04,03,219,28*76 $GPGSV,5,2,20,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7A $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,47,23,22,102,52*79 $GPGSV,5,4,20,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*7A $GPGSV,5,5,20,73,50,045,40,75,16,224,,81,12,346,38,82,13,037,*72 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.50,"tdop":1.50,"hdop":1.90,"gdop":5.84,"pdop":3.10,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":false},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073841.00,A,5355.1638,N,02729.9946,E,000.02280,128.0,090710,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:41.000Z","ept":0.005,"lat":53.919396667,"lon":27.499910000,"alt":270.300,"epx":23.567,"epy":18.597,"epv":55.200,"track":128.0000,"speed":0.012,"climb":-0.200,"eps":47.13} $GPGGA,073842.00,5355.1638,N,02729.9948,E,1,07,1.8,00270.0,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,44,02,17,255,29,03,08,075,37,04,03,219,28*78 $GPGSV,5,2,20,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7A $GPGSV,5,3,20,10,61,259,,13,42,097,53,16,12,031,47,23,22,102,52*79 $GPGSV,5,4,20,25,67,072,,28,03,178,30,65,29,320,,71,36,162,*72 $GPGSV,5,5,20,73,50,045,39,75,16,224,,81,12,346,38,82,13,037,*7C {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073842.00,A,5355.1638,N,02729.9948,E,000.02060,134.2,090710,,,A*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:42.000Z","ept":0.005,"lat":53.919396667,"lon":27.499913333,"alt":270.000,"epx":23.567,"epy":18.597,"epv":57.500,"track":134.2000,"speed":0.011,"climb":-0.300,"eps":47.13} $GPGGA,073843.00,5355.1638,N,02729.9951,E,1,07,1.8,00269.7,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,44,02,17,255,28,03,08,075,35,04,03,219,28*7B $GPGSV,5,2,20,05,35,304,22,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,5,3,20,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7B $GPGSV,5,4,20,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*7A $GPGSV,5,5,20,73,50,045,39,75,16,224,,81,12,346,38,82,13,037,*7C {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":35,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":22,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073843.00,A,5355.1638,N,02729.9951,E,000.02106,127.8,090710,,,A*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:43.000Z","ept":0.005,"lat":53.919396667,"lon":27.499918333,"alt":269.700,"epx":23.567,"epy":18.597,"epv":55.200,"track":127.8000,"speed":0.011,"climb":-0.300,"eps":47.13} $GPGGA,073844.00,5355.1638,N,02729.9954,E,1,07,1.8,00269.5,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,44,02,17,255,28,03,08,075,34,04,03,219,27*75 $GPGSV,5,2,20,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7A $GPGSV,5,3,20,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7B $GPGSV,5,4,20,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*7A $GPGSV,5,5,20,73,50,045,37,75,16,224,,81,12,346,38,82,13,037,*72 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":34,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":37,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073844.00,A,5355.1638,N,02729.9954,E,000.03153,125.7,090710,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:44.000Z","ept":0.005,"lat":53.919396667,"lon":27.499923333,"alt":269.500,"epx":23.567,"epy":18.597,"epv":55.200,"track":125.7000,"speed":0.016,"climb":-0.200,"eps":47.13} $GPGGA,073845.00,5355.1638,N,02729.9958,E,1,07,1.8,00269.5,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,45,02,17,255,28,03,08,075,35,04,03,219,27*75 $GPGSV,5,2,20,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7A $GPGSV,5,3,20,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7B $GPGSV,5,4,20,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7B $GPGSV,5,5,20,73,50,045,37,75,16,224,,81,12,346,38,82,13,037,*72 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":35,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":37,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073845.00,A,5355.1638,N,02729.9958,E,000.02843,135.2,090710,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:45.000Z","ept":0.005,"lat":53.919396667,"lon":27.499930000,"alt":269.500,"epx":23.567,"epy":18.597,"epv":55.200,"track":135.2000,"speed":0.015,"climb":0.000,"eps":47.13} $GPGGA,073846.00,5355.1639,N,02729.9961,E,1,07,1.8,00269.8,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,28,03,08,075,36,04,03,219,26*74 $GPGSV,5,2,20,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7A $GPGSV,5,3,20,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7B $GPGSV,5,4,20,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*7A $GPGSV,5,5,20,73,50,045,37,75,16,224,,81,12,346,38,82,13,037,*72 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":36,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":35,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":37,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073846.00,A,5355.1639,N,02729.9961,E,000.02377,155.2,090710,,,A*5F {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:46.000Z","ept":0.005,"lat":53.919398333,"lon":27.499935000,"alt":269.800,"epx":23.567,"epy":18.597,"epv":55.200,"track":155.2000,"speed":0.012,"climb":0.300,"eps":47.13} $GPGGA,073847.00,5355.1639,N,02729.9963,E,1,07,1.8,00270.1,M,0023.3,M,,*6B $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,28,03,08,075,37,04,03,219,27*74 $GPGSV,5,2,20,05,35,304,24,06,07,060,46,07,81,167,,08,46,222,*7D $GPGSV,5,3,20,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7B $GPGSV,5,4,20,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*7A $GPGSV,5,5,20,73,50,045,37,75,16,224,,81,12,346,39,82,13,037,*73 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":24,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":37,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073847.00,A,5355.1639,N,02729.9963,E,000.02198,170.7,090710,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:47.000Z","ept":0.005,"lat":53.919398333,"lon":27.499938333,"alt":270.100,"epx":23.567,"epy":18.597,"epv":55.200,"track":170.7000,"speed":0.011,"climb":0.300,"eps":47.13} $GPGGA,073848.00,5355.1640,N,02729.9966,E,1,07,1.8,00270.4,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,21,01,00,023,46,02,17,255,28,03,08,075,38,04,03,219,26*78 $GPGSV,6,2,21,05,35,304,25,06,07,060,46,07,81,167,,08,46,222,*7E $GPGSV,6,3,21,10,61,259,,13,42,097,52,16,12,031,46,23,22,102,50*79 $GPGSV,6,4,21,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*79 $GPGSV,6,5,21,72,77,256,,73,50,045,36,75,16,224,,81,12,346,38*79 $GPGSV,6,6,21,82,13,037,*46 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":35,"az":304,"ss":25,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":36,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073848.00,A,5355.1640,N,02729.9966,E,000.01859,169.6,090710,,,A*57 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:48.000Z","ept":0.005,"lat":53.919400000,"lon":27.499943333,"alt":270.400,"epx":23.567,"epy":18.597,"epv":55.200,"track":169.6000,"speed":0.010,"climb":0.300,"eps":47.13} $GPGGA,073849.00,5355.1640,N,02729.9968,E,1,07,1.8,00270.8,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,21,01,00,023,45,02,17,255,27,03,08,075,39,04,03,219,26*75 $GPGSV,6,2,21,05,35,304,25,06,07,060,46,07,81,167,,08,46,222,*7E $GPGSV,6,3,21,10,61,259,,13,42,097,52,16,12,031,45,23,22,102,50*7A $GPGSV,6,4,21,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*79 $GPGSV,6,5,21,72,77,256,,73,50,045,36,75,16,224,,81,12,346,38*79 $GPGSV,6,6,21,82,13,037,*46 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":75,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":35,"az":304,"ss":25,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":22,"az":102,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":36,"used":true},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073849.00,A,5355.1640,N,02729.9968,E,000.01916,179.3,090710,,,A*56 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:49.000Z","ept":0.005,"lat":53.919400000,"lon":27.499946667,"alt":270.800,"epx":23.567,"epy":18.597,"epv":55.200,"track":179.3000,"speed":0.010,"climb":0.400,"eps":47.13} $GPGGA,073850.00,5355.1639,N,02729.9968,E,1,07,1.8,00271.2,M,0023.3,M,,*64 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,28,03,08,075,39,04,03,219,26*79 $GPGSV,6,2,22,05,35,304,24,06,07,060,47,07,81,167,,08,46,222,*7D $GPGSV,6,3,22,10,61,259,,13,42,097,51,16,12,031,44,23,22,102,50*7B $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,37,74,72,227,,75,16,224,*7A $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":35,"az":304,"ss":24,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":51,"used":true},{"PRN":16,"el":12,"az":31,"ss":44,"used":true},{"PRN":23,"el":22,"az":102,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":37,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":16,"az":224,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073850.00,A,5355.1639,N,02729.9968,E,000.01824,178.4,090710,,,A*56 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:50.000Z","ept":0.005,"lat":53.919398333,"lon":27.499946667,"alt":271.200,"epx":23.567,"epy":18.597,"epv":55.200,"track":178.4000,"speed":0.009,"climb":0.400,"eps":47.13} $GPGGA,073851.00,5355.1640,N,02729.9968,E,1,07,1.8,00271.6,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,27,03,08,075,38,04,03,219,27*76 $GPGSV,6,2,22,05,35,304,24,06,07,060,47,07,81,167,,08,46,222,*7D $GPGSV,6,3,22,10,61,259,,13,42,097,51,16,12,031,44,23,22,102,50*7B $GPGSV,6,4,22,25,67,072,,28,03,178,27,65,29,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,256,,73,50,045,37,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":24,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":51,"used":true},{"PRN":16,"el":12,"az":31,"ss":44,"used":true},{"PRN":23,"el":22,"az":102,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":27,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":37,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073851.00,A,5355.1640,N,02729.9968,E,000.01860,185.4,090710,,,A*5B {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:51.000Z","ept":0.005,"lat":53.919400000,"lon":27.499946667,"alt":271.600,"epx":23.567,"epy":18.597,"epv":55.200,"track":185.4000,"speed":0.010,"climb":0.400,"eps":47.13} $GPGGA,073852.00,5355.1640,N,02729.9968,E,1,07,1.8,00271.9,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,27,03,08,075,38,04,03,219,27*76 $GPGSV,6,2,22,05,35,304,24,06,07,060,47,07,81,167,,08,46,222,*7D $GPGSV,6,3,22,10,61,259,,13,42,097,51,16,12,031,44,23,22,102,50*7B $GPGSV,6,4,22,25,67,072,,28,03,178,27,65,29,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,256,,73,50,045,37,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,12,346,38,82,13,037,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":24,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":51,"used":true},{"PRN":16,"el":12,"az":31,"ss":44,"used":true},{"PRN":23,"el":22,"az":102,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":27,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":37,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073852.00,A,5355.1640,N,02729.9968,E,000.02093,194.7,090710,,,A*5C {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:52.000Z","ept":0.005,"lat":53.919400000,"lon":27.499946667,"alt":271.900,"epx":23.567,"epy":18.597,"epv":55.200,"track":194.7000,"speed":0.011,"climb":0.300,"eps":47.13} $GPGGA,073853.00,5355.1641,N,02729.9971,E,1,07,1.8,00272.1,M,0023.3,M,,*60 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,27,03,08,075,38,04,03,219,27*75 $GPGSV,6,2,22,05,35,304,24,06,07,060,47,07,81,167,,08,46,222,*7D $GPGSV,6,3,22,10,61,259,,13,42,097,51,16,12,031,44,23,22,102,51*7A $GPGSV,6,4,22,25,67,072,,28,03,178,27,65,29,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,256,,73,50,045,38,74,72,227,,75,17,225,*75 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":24,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":51,"used":true},{"PRN":16,"el":12,"az":31,"ss":44,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":27,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":38,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073853.00,A,5355.1641,N,02729.9971,E,000.01597,185.9,090710,,,A*58 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:53.000Z","ept":0.005,"lat":53.919401667,"lon":27.499951667,"alt":272.100,"epx":23.567,"epy":18.597,"epv":55.200,"track":185.9000,"speed":0.008,"climb":0.200,"eps":47.13} $GPGGA,073854.00,5355.1643,N,02729.9975,E,1,07,1.8,00272.4,M,0023.3,M,,*64 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,28,03,08,075,37,04,03,219,27*75 $GPGSV,6,2,22,05,35,304,24,06,07,060,47,07,81,167,,08,46,222,*7D $GPGSV,6,3,22,10,61,259,,13,42,097,51,16,12,031,44,23,22,102,51*7A $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,38,74,72,227,,75,17,225,*75 $GPGSV,6,6,22,81,12,346,39,82,13,037,*74 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":24,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":51,"used":true},{"PRN":16,"el":12,"az":31,"ss":44,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":38,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073854.00,A,5355.1643,N,02729.9975,E,000.01520,177.5,090710,,,A*54 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:54.000Z","ept":0.005,"lat":53.919405000,"lon":27.499958333,"alt":272.400,"epx":23.567,"epy":18.597,"epv":55.200,"track":177.5000,"speed":0.008,"climb":0.300,"eps":47.13} $GPGGA,073855.00,5355.1644,N,02729.9979,E,1,07,1.8,00272.5,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,28,03,08,075,37,04,03,219,27*74 $GPGSV,6,2,22,05,35,304,25,06,07,060,47,07,81,167,,08,46,222,*7C $GPGSV,6,3,22,10,61,259,,13,42,097,51,16,12,031,44,23,22,102,51*7A $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,12,346,40,82,13,037,*7A {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":25,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":51,"used":true},{"PRN":16,"el":12,"az":31,"ss":44,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":40,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073855.00,A,5355.1644,N,02729.9979,E,000.01551,158.7,090710,,,A*57 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:55.000Z","ept":0.005,"lat":53.919406667,"lon":27.499965000,"alt":272.500,"epx":23.567,"epy":18.597,"epv":55.200,"track":158.7000,"speed":0.008,"climb":0.100,"eps":47.13} $GPGGA,073856.00,5355.1645,N,02729.9983,E,1,07,1.8,00272.6,M,0023.3,M,,*6B $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,28,03,08,075,37,04,03,219,27*75 $GPGSV,6,2,22,05,35,304,25,06,07,060,48,07,81,167,,08,46,222,*73 $GPGSV,6,3,22,10,61,259,,13,42,097,51,16,12,031,43,23,22,102,51*7D $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,12,346,40,82,13,037,*7A {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":25,"used":false},{"PRN":6,"el":7,"az":60,"ss":48,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":51,"used":true},{"PRN":16,"el":12,"az":31,"ss":43,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":12,"az":346,"ss":40,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073856.00,A,5355.1645,N,02729.9983,E,000.01420,135.6,090710,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:56.000Z","ept":0.005,"lat":53.919408333,"lon":27.499971667,"alt":272.600,"epx":23.567,"epy":18.597,"epv":55.200,"track":135.6000,"speed":0.007,"climb":0.100,"eps":47.13} $GPGGA,073857.00,5355.1646,N,02729.9986,E,1,07,1.8,00272.7,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,28,03,08,075,37,04,03,219,27*76 $GPGSV,6,2,22,05,35,304,25,06,07,060,48,07,81,167,,08,46,222,*73 $GPGSV,6,3,22,10,61,259,,13,42,097,51,16,12,031,44,23,22,102,50*7B $GPGSV,6,4,22,25,67,072,,28,03,178,27,65,29,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,11,346,40,82,13,037,*79 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":25,"used":false},{"PRN":6,"el":7,"az":60,"ss":48,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":51,"used":true},{"PRN":16,"el":12,"az":31,"ss":44,"used":true},{"PRN":23,"el":22,"az":102,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":27,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":346,"ss":40,"used":true},{"PRN":82,"el":13,"az":37,"ss":0,"used":false}]} $GPRMC,073857.00,A,5355.1646,N,02729.9986,E,000.01569,140.2,090710,,,A*50 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:57.000Z","ept":0.005,"lat":53.919410000,"lon":27.499976667,"alt":272.700,"epx":23.567,"epy":18.597,"epv":55.200,"track":140.2000,"speed":0.008,"climb":0.100,"eps":47.13} $GPGGA,073858.00,5355.1647,N,02729.9989,E,1,07,1.8,00272.8,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,28,03,08,075,37,04,03,219,27*76 $GPGSV,6,2,22,05,35,304,24,06,07,060,47,07,81,167,,08,46,222,*7D $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,44,23,22,102,51*79 $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,11,346,39,82,13,036,*76 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":24,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":44,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073858.00,A,5355.1647,N,02729.9989,E,000.01790,156.7,090710,,,A*57 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:58.000Z","ept":0.005,"lat":53.919411667,"lon":27.499981667,"alt":272.800,"epx":23.567,"epy":18.597,"epv":55.200,"track":156.7000,"speed":0.009,"climb":0.100,"eps":47.13} $GPGGA,073859.00,5355.1648,N,02729.9990,E,1,07,1.8,00272.7,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,28,03,08,075,37,04,03,219,28*78 $GPGSV,6,2,22,05,35,304,24,06,07,060,47,07,81,167,,08,46,222,*7D $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,43,23,22,102,51*7E $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,11,346,38,82,13,036,*77 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":24,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":43,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073859.00,A,5355.1648,N,02729.9990,E,000.01918,172.8,090710,,,A*56 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:38:59.000Z","ept":0.005,"lat":53.919413333,"lon":27.499983333,"alt":272.700,"epx":23.567,"epy":18.597,"epv":55.200,"track":172.8000,"speed":0.010,"climb":-0.100,"eps":47.13} $GPGGA,073900.00,5355.1650,N,02729.9990,E,1,07,1.8,00272.5,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,28,03,08,075,38,04,03,219,27*79 $GPGSV,6,2,22,05,35,304,24,06,07,060,47,07,81,167,,08,46,222,*7D $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,44,23,22,102,51*79 $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,11,346,38,82,13,036,*77 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":24,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":44,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073900.00,A,5355.1650,N,02729.9990,E,000.02292,203.0,090710,,,A*55 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:00.000Z","ept":0.005,"lat":53.919416667,"lon":27.499983333,"alt":272.500,"epx":23.567,"epy":18.597,"epv":55.200,"track":203.0000,"speed":0.012,"climb":-0.200,"eps":47.13} $GPGGA,073901.00,5355.1651,N,02729.9989,E,1,07,1.8,00272.3,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,28,03,08,075,38,04,03,219,27*79 $GPGSV,6,2,22,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,44,23,22,102,51*79 $GPGSV,6,4,22,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*7B $GPGSV,6,5,22,72,77,256,,73,50,045,38,74,72,227,,75,17,225,*75 $GPGSV,6,6,22,81,11,346,38,82,13,036,*77 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":44,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":38,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073901.00,A,5355.1651,N,02729.9989,E,000.02987,216.9,090710,,,A*5F {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:01.000Z","ept":0.005,"lat":53.919418333,"lon":27.499981667,"alt":272.300,"epx":23.567,"epy":18.597,"epv":55.200,"track":216.9000,"speed":0.015,"climb":-0.200,"eps":47.13} $GPGGA,073902.00,5355.1651,N,02729.9987,E,1,07,1.8,00272.3,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,28,03,08,075,39,04,03,219,27*78 $GPGSV,6,2,22,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,44,23,22,102,52*7A $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,11,346,38,82,13,036,*77 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":44,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073902.00,A,5355.1651,N,02729.9987,E,000.03954,221.3,090710,,,A*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:02.000Z","ept":0.005,"lat":53.919418333,"lon":27.499978333,"alt":272.300,"epx":23.567,"epy":18.597,"epv":55.200,"track":221.3000,"speed":0.020,"climb":0.000,"eps":47.13} $GPGGA,073903.00,5355.1652,N,02729.9987,E,1,07,1.8,00272.7,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,28,03,08,075,40,04,03,219,28*79 $GPGSV,6,2,22,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,45,23,22,102,52*7B $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,11,346,38,82,13,036,*77 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":40,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":35,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073903.00,A,5355.1652,N,02729.9987,E,000.03533,217.2,090710,,,A*58 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:03.000Z","ept":0.005,"lat":53.919420000,"lon":27.499978333,"alt":272.700,"epx":23.567,"epy":18.597,"epv":55.200,"track":217.2000,"speed":0.018,"climb":0.400,"eps":47.13} $GPGGA,073904.00,5355.1652,N,02729.9987,E,1,07,1.8,00272.9,M,0023.3,M,,*60 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,28,03,08,075,39,04,03,219,27*79 $GPGSV,6,2,22,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,45,23,22,102,52*7B $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,11,346,38,82,13,036,*77 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":22,"az":102,"ss":52,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073904.00,A,5355.1652,N,02729.9987,E,000.02849,206.1,090710,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:04.000Z","ept":0.005,"lat":53.919420000,"lon":27.499978333,"alt":272.900,"epx":23.567,"epy":18.597,"epv":55.200,"track":206.1000,"speed":0.015,"climb":0.200,"eps":47.13} $GPGGA,073905.00,5355.1651,N,02729.9986,E,1,07,1.8,00272.9,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,43,02,17,255,28,03,08,075,39,04,03,219,27*7E $GPGSV,6,2,22,05,35,304,24,06,07,060,46,07,81,167,,08,46,222,*7C $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,46,23,22,102,51*7B $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,40,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,11,346,39,82,13,036,*76 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":43,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":24,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073905.00,A,5355.1651,N,02729.9986,E,000.02542,192.3,090710,,,A*54 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:05.000Z","ept":0.005,"lat":53.919418333,"lon":27.499976667,"alt":272.900,"epx":23.567,"epy":18.597,"epv":55.200,"track":192.3000,"speed":0.013,"climb":0.000,"eps":47.13} $GPGGA,073906.00,5355.1650,N,02729.9985,E,1,07,1.8,00272.8,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,43,02,17,255,28,03,08,075,39,04,03,219,27*7E $GPGSV,6,2,22,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7A $GPGSV,6,4,22,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*7B $GPGSV,6,5,22,72,77,256,,73,50,045,40,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,11,346,39,82,13,036,*76 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":43,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073906.00,A,5355.1650,N,02729.9985,E,000.02586,182.3,090710,,,A*5C {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:06.000Z","ept":0.005,"lat":53.919416667,"lon":27.499975000,"alt":272.800,"epx":23.567,"epy":18.597,"epv":55.200,"track":182.3000,"speed":0.013,"climb":-0.100,"eps":47.13} $GPGGA,073907.00,5355.1649,N,02729.9981,E,1,07,1.8,00272.7,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,43,02,17,255,28,03,08,075,39,04,03,219,27*7E $GPGSV,6,2,22,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7A $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,40,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,11,346,38,82,13,036,*77 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":43,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073907.00,A,5355.1649,N,02729.9981,E,000.02934,185.1,090710,,,A*51 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:07.000Z","ept":0.005,"lat":53.919415000,"lon":27.499968333,"alt":272.700,"epx":23.567,"epy":18.597,"epv":55.200,"track":185.1000,"speed":0.015,"climb":-0.100,"eps":47.13} $GPGGA,073908.00,5355.1647,N,02729.9977,E,1,07,1.8,00272.5,M,0023.3,M,,*6B $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,43,02,17,255,28,03,08,075,39,04,03,219,27*7E $GPGSV,6,2,22,05,35,304,23,06,07,060,46,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7A $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,40,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,11,346,38,82,13,036,*77 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":43,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":35,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073908.00,A,5355.1647,N,02729.9977,E,000.02983,188.8,090710,,,A*51 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:08.000Z","ept":0.005,"lat":53.919411667,"lon":27.499961667,"alt":272.500,"epx":23.567,"epy":18.597,"epv":55.200,"track":188.8000,"speed":0.015,"climb":-0.200,"eps":47.13} $GPGGA,073909.00,5355.1646,N,02729.9974,E,1,07,1.8,00272.3,M,0023.3,M,,*6E $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,43,02,17,255,28,03,08,075,38,04,03,219,27*7F $GPGSV,6,2,22,05,36,304,23,06,07,060,46,07,81,167,,08,46,222,*78 $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7A $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,40,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,11,346,37,82,13,036,*78 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":43,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":346,"ss":37,"used":true},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073909.00,A,5355.1646,N,02729.9974,E,000.02692,185.8,090710,,,A*50 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:09.000Z","ept":0.005,"lat":53.919410000,"lon":27.499956667,"alt":272.300,"epx":23.567,"epy":18.597,"epv":55.200,"track":185.8000,"speed":0.014,"climb":-0.200,"eps":47.13} $GPGGA,073910.00,5355.1645,N,02729.9971,E,1,07,1.8,00272.1,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,43,02,17,255,28,03,08,075,36,04,03,219,27*71 $GPGSV,6,2,22,05,36,304,23,06,07,060,45,07,81,167,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,51,16,12,031,47,23,22,102,50*78 $GPGSV,6,4,22,25,67,072,,28,03,178,27,65,29,320,,71,36,162,*75 $GPGSV,6,5,22,72,77,256,,73,50,045,40,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,11,346,38,82,13,036,*77 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":43,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":36,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":45,"used":true},{"PRN":7,"el":81,"az":167,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":51,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":27,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073910.00,A,5355.1645,N,02729.9971,E,000.02180,180.2,090710,,,A*55 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:10.000Z","ept":0.005,"lat":53.919408333,"lon":27.499951667,"alt":272.100,"epx":23.567,"epy":18.597,"epv":55.200,"track":180.2000,"speed":0.011,"climb":-0.200,"eps":47.13} $GPGGA,073911.00,5355.1644,N,02729.9971,E,1,07,1.8,00271.8,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,43,02,17,255,27,03,08,075,35,04,03,219,26*7C $GPGSV,6,2,22,05,36,304,23,06,07,060,46,07,81,164,,08,46,222,*7B $GPGSV,6,3,22,10,61,259,,13,42,097,51,16,12,031,47,23,22,102,50*78 $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,40,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,11,346,38,82,13,036,*77 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":43,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":75,"ss":35,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":0,"used":false},{"PRN":8,"el":46,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":51,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":346,"ss":38,"used":true},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073911.00,A,5355.1644,N,02729.9971,E,000.01555,145.6,090710,,,A*57 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:11.000Z","ept":0.005,"lat":53.919406667,"lon":27.499951667,"alt":271.800,"epx":23.567,"epy":18.597,"epv":55.200,"track":145.6000,"speed":0.008,"climb":-0.300,"eps":47.13} $GPGGA,073912.00,5355.1644,N,02729.9973,E,1,07,1.8,00271.6,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,27,03,08,075,35,04,03,219,26*7B $GPGSV,6,2,22,05,36,304,23,06,07,060,46,07,81,164,,08,47,222,*7A $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7A $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,40,74,72,227,26,75,17,225,*7E $GPGSV,6,6,22,81,11,346,39,82,13,036,*76 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":75,"ss":35,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":0,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":72,"az":227,"ss":26,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073912.00,A,5355.1644,N,02729.9973,E,000.01842,121.6,090710,,,A*5F {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:12.000Z","ept":0.005,"lat":53.919406667,"lon":27.499955000,"alt":271.600,"epx":23.567,"epy":18.597,"epv":55.200,"track":121.6000,"speed":0.009,"climb":-0.200,"eps":47.13} $GPGGA,073913.00,5355.1644,N,02729.9977,E,1,07,1.8,00271.4,M,0023.3,M,,*60 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,27,03,08,075,34,04,03,219,26*7A $GPGSV,6,2,22,05,36,304,24,06,07,060,46,07,81,164,,08,47,222,*7D $GPGSV,6,3,22,10,61,259,,13,42,097,52,16,12,031,47,23,22,102,51*7A $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,40,74,72,227,24,75,17,225,*7C $GPGSV,6,6,22,81,11,346,39,82,13,036,*76 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":75,"ss":34,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":24,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":0,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":259,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":72,"az":227,"ss":24,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073913.00,A,5355.1644,N,02729.9977,E,000.02686,101.3,090710,,,A*58 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:13.000Z","ept":0.005,"lat":53.919406667,"lon":27.499961667,"alt":271.400,"epx":23.567,"epy":18.597,"epv":55.200,"track":101.3000,"speed":0.014,"climb":-0.200,"eps":47.13} $GPGGA,073914.00,5355.1644,N,02729.9980,E,1,07,1.8,00271.3,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,28,03,08,075,34,04,03,219,27*74 $GPGSV,6,2,22,05,36,304,24,06,07,060,46,07,81,164,,08,47,222,*7D $GPGSV,6,3,22,10,61,258,,13,42,097,52,16,12,031,47,23,22,102,51*7B $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,23,75,17,225,*75 $GPGSV,6,6,22,81,11,346,39,82,13,036,*76 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":34,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":24,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":0,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":23,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073914.00,A,5355.1644,N,02729.9980,E,000.03487,096.3,090710,,,A*5A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:14.000Z","ept":0.005,"lat":53.919406667,"lon":27.499966667,"alt":271.300,"epx":23.567,"epy":18.597,"epv":55.200,"track":96.3000,"speed":0.018,"climb":-0.100,"eps":47.13} $GPGGA,073915.00,5355.1644,N,02729.9983,E,1,07,1.8,00270.9,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,28,03,08,075,34,04,03,219,27*74 $GPGSV,6,2,22,05,36,304,24,06,07,060,46,07,81,164,,08,47,222,*7D $GPGSV,6,3,22,10,61,258,,13,42,097,52,16,12,031,47,23,22,102,51*7B $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,11,346,39,82,13,036,*76 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":34,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":24,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":0,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073915.00,A,5355.1644,N,02729.9983,E,000.03841,098.4,090710,,,A*57 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:15.000Z","ept":0.005,"lat":53.919406667,"lon":27.499971667,"alt":270.900,"epx":23.567,"epy":18.597,"epv":55.200,"track":98.4000,"speed":0.020,"climb":-0.400,"eps":47.13} $GPGGA,073916.00,5355.1644,N,02729.9984,E,1,07,1.8,00270.6,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,28,03,08,075,35,04,03,219,26*74 $GPGSV,6,2,22,05,36,304,25,06,07,060,46,07,81,164,,08,47,222,*7C $GPGSV,6,3,22,10,61,258,,13,42,097,52,16,12,031,47,23,22,102,51*7B $GPGSV,6,4,22,25,67,072,,28,03,178,28,65,29,320,,71,36,162,*7A $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,11,346,39,82,13,036,*76 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":35,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":25,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":0,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073916.00,A,5355.1644,N,02729.9984,E,000.03450,102.7,090710,,,A*5E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:16.000Z","ept":0.005,"lat":53.919406667,"lon":27.499973333,"alt":270.600,"epx":23.567,"epy":18.597,"epv":55.200,"track":102.7000,"speed":0.018,"climb":-0.300,"eps":47.13} $GPGGA,073917.00,5355.1644,N,02729.9984,E,1,07,1.8,00270.2,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,29,03,08,075,35,04,03,219,27*74 $GPGSV,6,2,22,05,36,304,25,06,07,060,45,07,81,164,,08,47,222,*7F $GPGSV,6,3,22,10,61,258,,13,42,097,52,16,12,031,47,23,22,102,51*7B $GPGSV,6,4,22,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*7B $GPGSV,6,5,22,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*74 $GPGSV,6,6,22,81,11,346,39,82,13,036,*76 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":35,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":25,"used":false},{"PRN":6,"el":7,"az":60,"ss":45,"used":true},{"PRN":7,"el":81,"az":164,"ss":0,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":346,"ss":39,"used":true},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073917.00,A,5355.1644,N,02729.9984,E,000.02497,116.5,090710,,,A*52 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:17.000Z","ept":0.005,"lat":53.919406667,"lon":27.499973333,"alt":270.200,"epx":23.567,"epy":18.597,"epv":55.200,"track":116.5000,"speed":0.013,"climb":-0.400,"eps":47.13} $GPGGA,073918.00,5355.1645,N,02729.9986,E,1,07,1.8,00270.1,M,0023.3,M,,*60 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,21,01,00,023,45,02,17,255,29,03,08,075,35,04,03,219,27*76 $GPGSV,6,2,21,05,36,304,25,06,07,060,45,07,81,164,,08,47,222,*7C $GPGSV,6,3,21,10,61,258,,13,42,097,52,16,12,031,47,23,22,102,51*78 $GPGSV,6,4,21,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*78 $GPGSV,6,5,21,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*77 $GPGSV,6,6,21,82,13,036,*47 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":35,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":25,"used":false},{"PRN":6,"el":7,"az":60,"ss":45,"used":true},{"PRN":7,"el":81,"az":164,"ss":0,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073918.00,A,5355.1645,N,02729.9986,E,000.01943,128.4,090710,,,A*55 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:18.000Z","ept":0.005,"lat":53.919408333,"lon":27.499976667,"alt":270.100,"epx":23.567,"epy":18.597,"epv":55.200,"track":128.4000,"speed":0.010,"climb":-0.100,"eps":47.13} $GPGGA,073919.00,5355.1645,N,02729.9990,E,1,07,1.8,00270.1,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,21,01,00,023,45,02,17,255,28,03,08,075,36,04,03,219,27*74 $GPGSV,6,2,21,05,36,304,26,06,07,060,45,07,81,164,,08,47,222,*7F $GPGSV,6,3,21,10,61,258,,13,42,097,53,16,12,031,47,23,22,102,50*78 $GPGSV,6,4,21,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*78 $GPGSV,6,5,21,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*77 $GPGSV,6,6,21,82,13,036,*47 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":36,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":26,"used":false},{"PRN":6,"el":7,"az":60,"ss":45,"used":true},{"PRN":7,"el":81,"az":164,"ss":0,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":22,"az":102,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073919.00,A,5355.1645,N,02729.9990,E,000.01731,123.8,090710,,,A*5F {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:19.000Z","ept":0.005,"lat":53.919408333,"lon":27.499983333,"alt":270.100,"epx":23.567,"epy":18.597,"epv":55.200,"track":123.8000,"speed":0.009,"climb":0.000,"eps":47.13} $GPGGA,073920.00,5355.1647,N,02729.9994,E,1,07,1.8,00270.3,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,21,01,00,023,46,02,17,255,29,03,08,075,37,04,03,219,26*76 $GPGSV,6,2,21,05,36,304,26,06,07,060,45,07,81,164,,08,47,222,*7F $GPGSV,6,3,21,10,61,258,,13,42,097,53,16,12,031,46,23,22,102,50*79 $GPGSV,6,4,21,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*78 $GPGSV,6,5,21,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*77 $GPGSV,6,6,21,82,13,036,*47 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":26,"used":false},{"PRN":6,"el":7,"az":60,"ss":45,"used":true},{"PRN":7,"el":81,"az":164,"ss":0,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073920.00,A,5355.1647,N,02729.9994,E,000.01414,108.5,090710,,,A*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:20.000Z","ept":0.005,"lat":53.919411667,"lon":27.499990000,"alt":270.300,"epx":23.567,"epy":18.597,"epv":55.200,"track":108.5000,"speed":0.007,"climb":0.200,"eps":47.13} $GPGGA,073921.00,5355.1648,N,02729.9998,E,1,07,1.8,00270.4,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,21,01,00,023,46,02,17,255,29,03,08,075,38,04,03,219,27*78 $GPGSV,6,2,21,05,36,304,25,06,07,060,45,07,81,164,,08,47,222,*7C $GPGSV,6,3,21,10,61,258,,13,42,097,53,16,12,031,46,23,22,102,50*79 $GPGSV,6,4,21,25,67,072,,28,03,178,29,65,29,320,,71,36,162,*78 $GPGSV,6,5,21,72,77,256,,73,50,045,38,74,72,227,,75,17,225,*76 $GPGSV,6,6,21,82,13,036,*47 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":25,"used":false},{"PRN":6,"el":7,"az":60,"ss":45,"used":true},{"PRN":7,"el":81,"az":164,"ss":0,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":0,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":38,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":82,"el":13,"az":36,"ss":0,"used":false}]} $GPRMC,073921.00,A,5355.1648,N,02729.9998,E,000.01399,110.1,090710,,,A*5E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:21.000Z","ept":0.005,"lat":53.919413333,"lon":27.499996667,"alt":270.400,"epx":23.567,"epy":18.597,"epv":55.200,"track":110.1000,"speed":0.007,"climb":0.100,"eps":47.13} $GPGGA,073922.00,5355.1650,N,02730.0002,E,1,07,1.8,00270.6,M,0023.3,M,,*6E $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,29,03,08,075,38,04,03,219,26*7B $GPGSV,5,2,20,05,36,304,25,06,07,060,46,07,81,164,,08,47,222,*7D $GPGSV,5,3,20,10,61,258,,13,42,097,53,16,12,031,46,23,22,102,50*7B $GPGSV,5,4,20,25,67,072,29,28,03,178,29,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":25,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":0,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":22,"az":102,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":29,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073922.00,A,5355.1650,N,02730.0002,E,000.01358,118.4,090710,,,A*5F {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:22.000Z","ept":0.005,"lat":53.919416667,"lon":27.500003333,"alt":270.600,"epx":23.567,"epy":18.597,"epv":55.200,"track":118.4000,"speed":0.007,"climb":0.200,"eps":47.13} $GPGGA,073923.00,5355.1653,N,02730.0011,E,1,07,1.8,00271.0,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,29,03,08,075,37,04,03,219,26*74 $GPGSV,5,2,20,05,36,304,25,06,07,060,46,07,81,164,,08,47,222,*7D $GPGSV,5,3,20,10,61,258,,13,42,097,53,16,12,031,45,23,22,102,50*78 $GPGSV,5,4,20,25,67,072,29,28,03,178,30,65,29,320,,71,36,162,*79 $GPGSV,5,5,20,72,77,256,,73,50,045,38,74,72,227,,75,17,225,*74 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":25,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":0,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":22,"az":102,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":29,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":38,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073923.00,A,5355.1653,N,02730.0011,E,000.01410,118.1,090710,,,A*51 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:23.000Z","ept":0.005,"lat":53.919421667,"lon":27.500018333,"alt":271.000,"epx":23.567,"epy":18.597,"epv":55.200,"track":118.1000,"speed":0.007,"climb":0.400,"eps":47.13} $GPGGA,073924.00,5355.1657,N,02730.0020,E,1,07,1.8,00271.4,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,29,03,08,075,37,04,03,219,26*74 $GPGSV,5,2,20,05,36,304,25,06,07,060,46,07,81,164,,08,47,222,*7D $GPGSV,5,3,20,10,61,258,,13,42,097,53,16,12,031,45,23,22,102,50*78 $GPGSV,5,4,20,25,67,072,30,28,03,178,30,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":25,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":0,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":22,"az":102,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":30,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073924.00,A,5355.1657,N,02730.0020,E,000.01623,126.1,090710,,,A*5F {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:24.000Z","ept":0.005,"lat":53.919428333,"lon":27.500033333,"alt":271.400,"epx":23.567,"epy":18.597,"epv":55.200,"track":126.1000,"speed":0.008,"climb":0.400,"eps":47.13} $GPGGA,073925.00,5355.1657,N,02730.0023,E,1,07,1.8,00271.3,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,29,03,08,075,37,04,03,219,26*74 $GPGSV,5,2,20,05,36,304,25,06,07,060,46,07,81,164,,08,47,222,*7D $GPGSV,5,3,20,10,61,258,,13,42,097,53,16,12,031,44,23,22,102,50*79 $GPGSV,5,4,20,25,67,072,30,28,03,178,30,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":25,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":0,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":44,"used":true},{"PRN":23,"el":22,"az":102,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":30,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073925.00,A,5355.1657,N,02730.0023,E,000.01766,144.1,090710,,,A*59 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:25.000Z","ept":0.005,"lat":53.919428333,"lon":27.500038333,"alt":271.300,"epx":23.567,"epy":18.597,"epv":55.200,"track":144.1000,"speed":0.009,"climb":-0.100,"eps":47.13} $GPGGA,073926.00,5355.1658,N,02730.0026,E,1,07,1.8,00271.2,M,0023.4,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,29,03,08,075,38,04,03,219,27*7A $GPGSV,5,2,20,05,36,304,26,06,07,060,46,07,81,164,,08,47,222,*7E $GPGSV,5,3,20,10,61,258,,13,42,097,53,16,12,031,44,23,22,102,51*78 $GPGSV,5,4,20,25,67,072,29,28,03,178,30,65,29,320,,71,36,162,*79 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":26,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":0,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":44,"used":true},{"PRN":23,"el":22,"az":102,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":29,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073926.00,A,5355.1658,N,02730.0026,E,000.01831,167.7,090710,,,A*5A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:26.000Z","ept":0.005,"lat":53.919430000,"lon":27.500043333,"alt":271.200,"epx":23.567,"epy":18.597,"epv":55.200,"track":167.7000,"speed":0.009,"climb":-0.100,"eps":47.13} $GPGGA,073927.00,5355.1660,N,02730.0030,E,1,07,1.8,00271.4,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,45,02,17,255,29,03,08,075,38,04,03,219,27*79 $GPGSV,5,2,20,05,36,304,26,06,07,060,46,07,81,164,,08,47,222,*7E $GPGSV,5,3,20,10,61,258,,13,42,097,53,16,12,031,44,23,21,103,51*7A $GPGSV,5,4,20,25,67,072,29,28,03,178,29,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":26,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":0,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":0,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":44,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":29,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073927.00,A,5355.1660,N,02730.0030,E,000.02202,191.9,090710,,,A*59 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:27.000Z","ept":0.005,"lat":53.919433333,"lon":27.500050000,"alt":271.400,"epx":23.567,"epy":18.597,"epv":55.200,"track":191.9000,"speed":0.011,"climb":0.200,"eps":47.13} $GPGGA,073928.00,5355.1661,N,02730.0033,E,1,07,1.8,00271.6,M,0023.3,M,,*65 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,44,02,17,255,29,03,08,075,38,04,03,219,27*78 $GPGSV,5,2,20,05,36,304,25,06,07,060,46,07,81,164,32,08,47,222,*7C $GPGSV,5,3,20,10,61,258,31,13,42,097,53,16,12,031,43,23,21,103,51*7F $GPGSV,5,4,20,25,67,072,29,28,03,178,29,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":25,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":32,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":31,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":43,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":29,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073928.00,A,5355.1661,N,02730.0033,E,000.02819,204.3,090710,,,A*51 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:28.000Z","ept":0.005,"lat":53.919435000,"lon":27.500055000,"alt":271.600,"epx":23.567,"epy":18.597,"epv":55.200,"track":204.3000,"speed":0.015,"climb":0.200,"eps":47.13} $GPGGA,073929.00,5355.1662,N,02730.0037,E,1,07,1.8,00271.7,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,29,03,08,075,38,04,03,219,27*7F $GPGSV,5,2,20,05,36,304,24,06,07,060,46,07,81,164,31,08,47,222,*7E $GPGSV,5,3,20,10,61,258,30,13,42,097,53,16,12,031,44,23,21,103,51*79 $GPGSV,5,4,20,25,67,072,29,28,03,178,29,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":43,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":24,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":31,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":30,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":44,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":29,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073929.00,A,5355.1662,N,02730.0037,E,000.03077,206.6,090710,,,A*51 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:29.000Z","ept":0.005,"lat":53.919436667,"lon":27.500061667,"alt":271.700,"epx":23.567,"epy":18.597,"epv":55.200,"track":206.6000,"speed":0.016,"climb":0.100,"eps":47.13} $GPGGA,073930.00,5355.1664,N,02730.0041,E,1,07,1.8,00271.9,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,29,03,08,075,38,04,03,219,27*7F $GPGSV,5,2,20,05,36,304,23,06,07,060,46,07,81,164,31,08,47,222,*79 $GPGSV,5,3,20,10,61,258,30,13,42,097,53,16,12,031,44,23,21,103,51*79 $GPGSV,5,4,20,25,67,072,29,28,03,178,29,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":43,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":31,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":30,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":44,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":29,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073930.00,A,5355.1664,N,02730.0041,E,000.03297,208.4,090710,,,A*5E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:30.000Z","ept":0.005,"lat":53.919440000,"lon":27.500068333,"alt":271.900,"epx":23.567,"epy":18.597,"epv":55.200,"track":208.4000,"speed":0.017,"climb":0.200,"eps":47.13} $GPGGA,073931.00,5355.1667,N,02730.0047,E,1,07,1.8,00272.1,M,0023.3,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,29,03,08,075,38,04,03,219,27*7F $GPGSV,5,2,20,05,36,304,22,06,07,060,47,07,81,164,31,08,47,222,*79 $GPGSV,5,3,20,10,61,258,30,13,42,097,52,16,12,031,45,23,21,103,51*79 $GPGSV,5,4,20,25,67,072,28,28,03,178,28,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":43,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":164,"ss":31,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":30,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":28,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073931.00,A,5355.1667,N,02730.0047,E,000.02818,205.6,090710,,,A*59 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:31.000Z","ept":0.005,"lat":53.919445000,"lon":27.500078333,"alt":272.100,"epx":23.567,"epy":18.597,"epv":55.200,"track":205.6000,"speed":0.014,"climb":0.200,"eps":47.13} $GPGGA,073932.00,5355.1669,N,02730.0053,E,1,07,1.8,00272.4,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,42,02,17,255,29,03,08,075,38,04,03,219,27*7E $GPGSV,5,2,20,05,36,304,23,06,07,060,46,07,81,164,31,08,47,222,*79 $GPGSV,5,3,20,10,61,258,29,13,42,097,52,16,12,031,45,23,21,103,51*71 $GPGSV,5,4,20,25,67,072,28,28,03,178,28,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":42,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":31,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":29,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":28,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073932.00,A,5355.1669,N,02730.0053,E,000.02133,195.9,090710,,,A*54 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:32.000Z","ept":0.005,"lat":53.919448333,"lon":27.500088333,"alt":272.400,"epx":23.567,"epy":18.597,"epv":55.200,"track":195.9000,"speed":0.011,"climb":0.300,"eps":47.13} $GPGGA,073933.00,5355.1670,N,02730.0056,E,1,07,1.8,00272.7,M,0023.3,M,,*6E $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,28,03,08,075,39,04,03,219,27*7F $GPGSV,5,2,20,05,36,304,24,06,07,060,47,07,81,164,31,08,47,222,*7F $GPGSV,5,3,20,10,61,258,30,13,42,097,52,16,12,031,45,23,21,103,51*79 $GPGSV,5,4,20,25,67,072,28,28,03,178,28,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,39,74,72,227,,75,17,225,*75 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":43,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":24,"used":false},{"PRN":6,"el":7,"az":60,"ss":47,"used":true},{"PRN":7,"el":81,"az":164,"ss":31,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":30,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":28,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073933.00,A,5355.1670,N,02730.0056,E,000.02298,199.5,090710,,,A*5A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:33.000Z","ept":0.005,"lat":53.919450000,"lon":27.500093333,"alt":272.700,"epx":23.567,"epy":18.597,"epv":55.200,"track":199.5000,"speed":0.012,"climb":0.300,"eps":47.13} $GPGGA,073934.00,5355.1670,N,02730.0058,E,1,07,1.8,00273.0,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,27,03,08,075,38,04,03,219,27*71 $GPGSV,5,2,20,05,36,304,25,06,07,060,46,07,81,164,30,08,47,222,*7E $GPGSV,5,3,20,10,61,258,28,13,42,097,52,16,12,031,45,23,21,103,50*71 $GPGSV,5,4,20,25,67,072,28,28,03,178,28,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,,73,50,045,38,74,72,227,,75,17,225,*74 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":43,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":25,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":30,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":28,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":28,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":38,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073934.00,A,5355.1670,N,02730.0058,E,000.02725,207.3,090710,,,A*52 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:34.000Z","ept":0.005,"lat":53.919450000,"lon":27.500096667,"alt":273.000,"epx":23.567,"epy":18.597,"epv":55.200,"track":207.3000,"speed":0.014,"climb":0.300,"eps":47.13} $GPGGA,073935.00,5355.1670,N,02730.0060,E,1,07,1.8,00273.3,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,28,03,08,075,38,04,03,219,26*7F $GPGSV,5,2,20,05,36,304,26,06,07,060,46,07,81,164,30,08,47,222,*7D $GPGSV,5,3,20,10,61,258,28,13,42,097,52,16,12,031,46,23,21,103,50*72 $GPGSV,5,4,20,25,67,072,27,28,03,178,28,65,29,320,,71,36,162,*7E $GPGSV,5,5,20,72,77,256,,73,50,045,38,74,72,227,,75,17,225,*74 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":43,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":26,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":30,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":28,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":21,"az":103,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":27,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":0,"used":false},{"PRN":73,"el":50,"az":45,"ss":38,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073935.00,A,5355.1670,N,02730.0060,E,000.03184,210.5,090710,,,A*54 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:35.000Z","ept":0.005,"lat":53.919450000,"lon":27.500100000,"alt":273.300,"epx":23.567,"epy":18.597,"epv":55.200,"track":210.5000,"speed":0.016,"climb":0.300,"eps":47.13} $GPGGA,073936.00,5355.1671,N,02730.0062,E,1,07,1.8,00273.6,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,27,03,08,075,38,04,03,219,26*70 $GPGSV,5,2,20,05,36,304,26,06,07,060,46,07,81,164,30,08,47,222,*7D $GPGSV,5,3,20,10,61,258,27,13,42,097,51,16,12,031,46,23,21,103,50*7E $GPGSV,5,4,20,25,67,072,27,28,03,178,27,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,30,73,50,045,38,74,72,227,,75,17,225,*77 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":43,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":26,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":30,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":27,"used":false},{"PRN":13,"el":42,"az":97,"ss":51,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":21,"az":103,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":27,"used":false},{"PRN":28,"el":3,"az":178,"ss":27,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":30,"used":false},{"PRN":73,"el":50,"az":45,"ss":38,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073936.00,A,5355.1671,N,02730.0062,E,000.03273,209.6,090710,,,A*54 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:36.000Z","ept":0.005,"lat":53.919451667,"lon":27.500103333,"alt":273.600,"epx":23.567,"epy":18.597,"epv":55.200,"track":209.6000,"speed":0.017,"climb":0.300,"eps":47.13} $GPGGA,073937.00,5355.1672,N,02730.0066,E,1,07,1.8,00273.7,M,0023.4,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,42,02,17,255,28,03,08,075,37,04,03,219,26*71 $GPGSV,5,2,20,05,36,304,26,06,07,060,46,07,81,164,30,08,47,222,*7D $GPGSV,5,3,20,10,61,258,26,13,42,097,52,16,12,031,46,23,21,103,50*7C $GPGSV,5,4,20,25,67,072,27,28,03,178,27,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,31,73,50,045,38,74,72,227,,75,17,225,*76 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":42,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":26,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":30,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":26,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":21,"az":103,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":27,"used":false},{"PRN":28,"el":3,"az":178,"ss":27,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":31,"used":false},{"PRN":73,"el":50,"az":45,"ss":38,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073937.00,A,5355.1672,N,02730.0066,E,000.02966,206.0,090710,,,A*55 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:37.000Z","ept":0.005,"lat":53.919453333,"lon":27.500110000,"alt":273.700,"epx":23.567,"epy":18.597,"epv":55.200,"track":206.0000,"speed":0.015,"climb":0.100,"eps":47.13} $GPGGA,073938.00,5355.1673,N,02730.0069,E,1,07,1.8,00273.9,M,0023.4,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,28,03,08,075,38,04,03,219,27*7E $GPGSV,5,2,20,05,36,304,26,06,07,060,46,07,81,164,30,08,47,222,*7D $GPGSV,5,3,20,10,61,258,25,13,42,097,52,16,12,031,45,23,21,103,51*7D $GPGSV,5,4,20,25,67,072,27,28,03,178,28,65,29,320,,71,36,162,*7E $GPGSV,5,5,20,72,77,256,30,73,50,045,38,74,72,227,,75,17,225,*77 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":43,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":26,"used":false},{"PRN":6,"el":7,"az":60,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":30,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":25,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":27,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":30,"used":false},{"PRN":73,"el":50,"az":45,"ss":38,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073938.00,A,5355.1673,N,02730.0069,E,000.02320,201.3,090710,,,A*58 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:38.000Z","ept":0.005,"lat":53.919455000,"lon":27.500115000,"alt":273.900,"epx":23.567,"epy":18.597,"epv":55.200,"track":201.3000,"speed":0.012,"climb":0.200,"eps":47.13} $GPGGA,073939.00,5355.1675,N,02730.0073,E,1,07,1.8,00274.1,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,27,03,08,075,38,04,03,219,27*71 $GPGSV,5,2,20,05,36,304,25,06,07,060,45,07,81,164,30,08,47,222,*7D $GPGSV,5,3,20,10,61,258,23,13,42,097,51,16,12,031,45,23,21,103,51*78 $GPGSV,5,4,20,25,67,072,27,28,03,178,28,65,29,320,,71,36,162,*7E $GPGSV,5,5,20,72,77,256,30,73,50,045,38,74,72,227,,75,17,225,*77 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":43,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":25,"used":false},{"PRN":6,"el":7,"az":60,"ss":45,"used":true},{"PRN":7,"el":81,"az":164,"ss":30,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":51,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":27,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":30,"used":false},{"PRN":73,"el":50,"az":45,"ss":38,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073939.00,A,5355.1675,N,02730.0073,E,000.02136,200.0,090710,,,A*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:39.000Z","ept":0.005,"lat":53.919458333,"lon":27.500121667,"alt":274.100,"epx":23.567,"epy":18.597,"epv":55.200,"track":200.0000,"speed":0.011,"climb":0.200,"eps":47.13} $GPGGA,073940.00,5355.1676,N,02730.0076,E,1,07,1.8,00274.3,M,0023.4,M,,*6B $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,26,03,08,075,39,04,03,219,27*71 $GPGSV,5,2,20,05,36,304,24,06,07,060,45,07,81,164,30,08,47,222,*7C $GPGSV,5,3,20,10,61,258,23,13,42,097,51,16,12,031,45,23,21,103,51*78 $GPGSV,5,4,20,25,67,072,27,28,03,178,27,65,29,320,,71,36,162,*71 $GPGSV,5,5,20,72,77,256,29,73,50,045,39,74,72,227,,75,17,225,*7E {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":43,"used":false},{"PRN":2,"el":17,"az":255,"ss":26,"used":false},{"PRN":3,"el":8,"az":75,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":24,"used":false},{"PRN":6,"el":7,"az":60,"ss":45,"used":true},{"PRN":7,"el":81,"az":164,"ss":30,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":51,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":27,"used":false},{"PRN":28,"el":3,"az":178,"ss":27,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":29,"used":false},{"PRN":73,"el":50,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073940.00,A,5355.1676,N,02730.0076,E,000.02464,205.5,090710,,,A*59 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:40.000Z","ept":0.005,"lat":53.919460000,"lon":27.500126667,"alt":274.300,"epx":23.567,"epy":18.597,"epv":55.200,"track":205.5000,"speed":0.013,"climb":0.200,"eps":47.13} $GPGGA,073941.00,5355.1676,N,02730.0079,E,1,07,1.8,00274.6,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,26,03,08,075,39,04,03,219,26*70 $GPGSV,5,2,20,05,36,304,23,06,07,060,45,07,81,164,29,08,47,222,*73 $GPGSV,5,3,20,10,61,258,23,13,42,097,50,16,12,031,45,23,21,103,51*79 $GPGSV,5,4,20,25,67,072,26,28,03,178,27,65,29,320,,71,36,162,*70 $GPGSV,5,5,20,72,77,256,29,73,50,045,40,74,72,227,,75,17,225,*70 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":43,"used":false},{"PRN":2,"el":17,"az":255,"ss":26,"used":false},{"PRN":3,"el":8,"az":75,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":45,"used":true},{"PRN":7,"el":81,"az":164,"ss":29,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":50,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":26,"used":false},{"PRN":28,"el":3,"az":178,"ss":27,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":29,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073941.00,A,5355.1676,N,02730.0079,E,000.02612,200.3,090710,,,A*57 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:41.000Z","ept":0.005,"lat":53.919460000,"lon":27.500131667,"alt":274.600,"epx":23.567,"epy":18.597,"epv":55.200,"track":200.3000,"speed":0.013,"climb":0.300,"eps":47.13} $GPGGA,073942.00,5355.1676,N,02730.0078,E,1,07,1.8,00274.6,M,0023.4,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,42,02,17,255,26,03,08,075,38,04,03,219,27*71 $GPGSV,5,2,20,05,36,304,23,06,07,060,45,07,81,164,29,08,47,222,*73 $GPGSV,5,3,20,10,61,258,23,13,42,097,50,16,12,031,45,23,21,103,51*79 $GPGSV,5,4,20,25,67,072,26,28,03,178,27,65,29,320,,71,36,162,*70 $GPGSV,5,5,20,72,77,256,29,73,50,045,40,74,72,227,,75,17,225,*70 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":42,"used":false},{"PRN":2,"el":17,"az":255,"ss":26,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":45,"used":true},{"PRN":7,"el":81,"az":164,"ss":29,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":50,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":26,"used":false},{"PRN":28,"el":3,"az":178,"ss":27,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":36,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":29,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073942.00,A,5355.1676,N,02730.0078,E,000.03193,203.7,090710,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:42.000Z","ept":0.005,"lat":53.919460000,"lon":27.500130000,"alt":274.600,"epx":23.567,"epy":18.597,"epv":55.200,"track":203.7000,"speed":0.016,"climb":0.000,"eps":47.13} $GPGGA,073943.00,5355.1675,N,02730.0078,E,1,07,1.8,00274.6,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,42,02,17,255,25,03,08,075,38,04,03,219,27*72 $GPGSV,5,2,20,05,36,304,24,06,07,060,45,07,81,164,27,08,47,222,*7A $GPGSV,5,3,20,10,61,258,23,13,42,097,49,16,12,031,45,23,21,103,52*72 $GPGSV,5,4,20,25,67,072,26,28,03,178,26,65,29,320,,71,35,162,*72 $GPGSV,5,5,20,72,77,256,29,73,50,045,41,74,72,227,,75,17,225,*71 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":42,"used":false},{"PRN":2,"el":17,"az":255,"ss":25,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":24,"used":false},{"PRN":6,"el":7,"az":60,"ss":45,"used":true},{"PRN":7,"el":81,"az":164,"ss":27,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":49,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":52,"used":true},{"PRN":25,"el":67,"az":72,"ss":26,"used":false},{"PRN":28,"el":3,"az":178,"ss":26,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":256,"ss":29,"used":false},{"PRN":73,"el":50,"az":45,"ss":41,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073943.00,A,5355.1675,N,02730.0078,E,000.03343,205.4,090710,,,A*55 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:43.000Z","ept":0.005,"lat":53.919458333,"lon":27.500130000,"alt":274.600,"epx":23.567,"epy":18.597,"epv":55.200,"track":205.4000,"speed":0.017,"climb":0.000,"eps":47.13} $GPGGA,073944.00,5355.1674,N,02730.0080,E,1,07,1.8,00274.5,M,0023.4,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,43,02,17,255,25,03,08,075,37,04,03,219,27*7C $GPGSV,5,2,20,05,36,304,23,06,07,060,44,07,81,164,26,08,47,222,*7D $GPGSV,5,3,20,10,61,258,23,13,42,097,49,16,12,031,45,23,21,103,52*72 $GPGSV,5,4,20,25,67,072,25,28,03,178,25,65,29,320,,71,35,162,*72 $GPGSV,5,5,20,72,77,254,29,73,50,045,40,74,72,227,,75,17,225,*72 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":43,"used":false},{"PRN":2,"el":17,"az":255,"ss":25,"used":false},{"PRN":3,"el":8,"az":75,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":44,"used":true},{"PRN":7,"el":81,"az":164,"ss":26,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":49,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":52,"used":true},{"PRN":25,"el":67,"az":72,"ss":25,"used":false},{"PRN":28,"el":3,"az":178,"ss":25,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":29,"used":false},{"PRN":73,"el":50,"az":45,"ss":40,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073944.00,A,5355.1674,N,02730.0080,E,000.03749,203.8,090710,,,A*50 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:44.000Z","ept":0.005,"lat":53.919456667,"lon":27.500133333,"alt":274.500,"epx":23.567,"epy":18.597,"epv":55.200,"track":203.8000,"speed":0.019,"climb":-0.100,"eps":47.13} $GPGGA,073945.00,5355.1674,N,02730.0083,E,1,07,1.8,00274.8,M,0023.4,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,44,02,17,255,25,03,08,075,37,04,03,219,26*7A $GPGSV,5,2,20,05,36,304,23,06,07,060,45,07,81,164,25,08,47,222,*7F $GPGSV,5,3,20,10,61,258,23,13,42,097,49,16,12,031,45,23,21,103,51*71 $GPGSV,5,4,20,25,67,072,24,28,03,178,26,65,29,320,,71,35,162,*70 $GPGSV,5,5,20,72,77,254,29,73,49,045,40,74,72,227,,75,17,225,*7A {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":25,"used":false},{"PRN":3,"el":8,"az":75,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":45,"used":true},{"PRN":7,"el":81,"az":164,"ss":25,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":49,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":24,"used":false},{"PRN":28,"el":3,"az":178,"ss":26,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":29,"used":false},{"PRN":73,"el":49,"az":45,"ss":40,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073945.00,A,5355.1674,N,02730.0083,E,000.03414,199.0,090710,,,A*51 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:45.000Z","ept":0.005,"lat":53.919456667,"lon":27.500138333,"alt":274.800,"epx":23.567,"epy":18.597,"epv":55.200,"track":199.0000,"speed":0.018,"climb":0.300,"eps":47.13} $GPGGA,073946.00,5355.1674,N,02730.0085,E,1,07,1.8,00275.1,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,45,02,17,255,25,03,08,075,37,04,03,219,27*7A $GPGSV,5,2,20,05,36,304,23,06,07,060,45,07,81,164,22,08,47,222,*78 $GPGSV,5,3,20,10,61,258,24,13,42,097,49,16,12,031,45,23,21,103,51*76 $GPGSV,5,4,20,25,67,072,24,28,03,178,25,65,29,320,,71,35,162,*73 $GPGSV,5,5,20,72,77,254,29,73,49,045,40,74,72,227,,75,17,225,*7A {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":25,"used":false},{"PRN":3,"el":8,"az":75,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":45,"used":true},{"PRN":7,"el":81,"az":164,"ss":22,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":24,"used":false},{"PRN":13,"el":42,"az":97,"ss":49,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":24,"used":false},{"PRN":28,"el":3,"az":178,"ss":25,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":29,"used":false},{"PRN":73,"el":49,"az":45,"ss":40,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073946.00,A,5355.1674,N,02730.0085,E,000.02694,191.1,090710,,,A*56 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:46.000Z","ept":0.005,"lat":53.919456667,"lon":27.500141667,"alt":275.100,"epx":23.567,"epy":18.597,"epv":55.200,"track":191.1000,"speed":0.014,"climb":0.300,"eps":47.13} $GPGGA,073947.00,5355.1674,N,02730.0088,E,1,07,1.8,00275.4,M,0023.3,M,,*6E $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,26,03,08,075,37,04,03,219,26*7B $GPGSV,5,2,20,05,36,304,23,06,07,060,45,07,81,164,23,08,47,222,*79 $GPGSV,5,3,20,10,61,258,23,13,42,097,49,16,12,031,46,23,21,103,51*72 $GPGSV,5,4,20,25,67,072,24,28,03,178,26,65,29,320,,71,35,162,*70 $GPGSV,5,5,20,72,77,254,29,73,49,045,40,74,72,227,,75,17,225,*7A {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":26,"used":false},{"PRN":3,"el":8,"az":75,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":45,"used":true},{"PRN":7,"el":81,"az":164,"ss":23,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":49,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":24,"used":false},{"PRN":28,"el":3,"az":178,"ss":26,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":29,"used":false},{"PRN":73,"el":49,"az":45,"ss":40,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073947.00,A,5355.1674,N,02730.0088,E,000.02066,176.1,090710,,,A*58 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:47.000Z","ept":0.005,"lat":53.919456667,"lon":27.500146667,"alt":275.400,"epx":23.567,"epy":18.597,"epv":55.200,"track":176.1000,"speed":0.011,"climb":0.300,"eps":47.13} $GPGGA,073948.00,5355.1675,N,02730.0091,E,1,07,1.8,00275.6,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,26,03,08,075,37,04,03,219,27*7A $GPGSV,5,2,20,05,36,304,22,06,07,060,45,07,81,164,23,08,47,222,*78 $GPGSV,5,3,20,10,61,258,23,13,42,097,50,16,12,031,45,23,21,103,51*79 $GPGSV,5,4,20,25,67,072,22,28,03,178,27,65,29,320,,71,35,162,*77 $GPGSV,5,5,20,72,77,254,27,73,49,045,40,74,72,227,,75,17,225,*74 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":26,"used":false},{"PRN":3,"el":8,"az":75,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":7,"az":60,"ss":45,"used":true},{"PRN":7,"el":81,"az":164,"ss":23,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":50,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":22,"used":false},{"PRN":28,"el":3,"az":178,"ss":27,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":27,"used":false},{"PRN":73,"el":49,"az":45,"ss":40,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073948.00,A,5355.1675,N,02730.0091,E,000.01512,145.1,090710,,,A*5B {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:48.000Z","ept":0.005,"lat":53.919458333,"lon":27.500151667,"alt":275.600,"epx":23.567,"epy":18.597,"epv":55.200,"track":145.1000,"speed":0.008,"climb":0.200,"eps":47.13} $GPGGA,073949.00,5355.1676,N,02730.0093,E,1,07,1.8,00275.8,M,0023.3,M,,*64 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,27,03,08,075,37,04,03,219,27*7B $GPGSV,5,2,20,05,36,304,22,06,07,060,45,07,81,164,23,08,47,222,*78 $GPGSV,5,3,20,10,61,258,23,13,42,097,50,16,12,031,45,23,21,103,51*79 $GPGSV,5,4,20,25,67,072,23,28,03,178,27,65,29,320,,71,35,162,*76 $GPGSV,5,5,20,72,77,254,27,73,49,045,39,74,72,227,,75,17,225,*7A {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":75,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":7,"az":60,"ss":45,"used":true},{"PRN":7,"el":81,"az":164,"ss":23,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":50,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":23,"used":false},{"PRN":28,"el":3,"az":178,"ss":27,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":27,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073949.00,A,5355.1676,N,02730.0093,E,000.01239,139.6,090710,,,A*59 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:49.000Z","ept":0.005,"lat":53.919460000,"lon":27.500155000,"alt":275.800,"epx":23.567,"epy":18.597,"epv":55.200,"track":139.6000,"speed":0.006,"climb":0.200,"eps":47.13} $GPGGA,073950.00,5355.1677,N,02730.0094,E,1,07,1.8,00275.9,M,0023.3,M,,*6B $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,27,03,08,075,38,04,03,219,27*74 $GPGSV,5,2,20,05,36,304,22,06,07,060,45,07,81,164,23,08,47,222,*78 $GPGSV,5,3,20,10,61,258,23,13,42,097,51,16,12,031,45,23,21,103,51*78 $GPGSV,5,4,20,25,67,072,24,28,03,178,27,65,29,320,,71,35,162,*71 $GPGSV,5,5,20,72,77,254,26,73,49,045,39,74,72,227,,75,17,225,*7B {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":7,"az":60,"ss":45,"used":true},{"PRN":7,"el":81,"az":164,"ss":23,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":51,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":24,"used":false},{"PRN":28,"el":3,"az":178,"ss":27,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":26,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073950.00,A,5355.1677,N,02730.0094,E,000.01076,153.2,090710,,,A*56 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:50.000Z","ept":0.005,"lat":53.919461667,"lon":27.500156667,"alt":275.900,"epx":23.567,"epy":18.597,"epv":55.200,"track":153.2000,"speed":0.006,"climb":0.100,"eps":47.13} $GPGGA,073951.00,5355.1678,N,02730.0095,E,1,07,1.8,00276.1,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,45,02,17,255,27,03,08,075,39,04,03,219,27*76 $GPGSV,5,2,20,05,36,304,22,06,07,060,45,07,81,164,24,08,47,222,*7F $GPGSV,5,3,20,10,61,258,24,13,42,097,52,16,12,031,45,23,21,103,51*7C $GPGSV,5,4,20,25,67,072,23,28,03,178,28,65,29,320,,71,35,162,*79 $GPGSV,5,5,20,72,77,254,25,73,49,045,39,74,72,227,,75,17,225,*78 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":75,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":7,"az":60,"ss":45,"used":true},{"PRN":7,"el":81,"az":164,"ss":24,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":24,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":23,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":25,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073951.00,A,5355.1678,N,02730.0095,E,000.01729,195.1,090710,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:51.000Z","ept":0.005,"lat":53.919463333,"lon":27.500158333,"alt":276.100,"epx":23.567,"epy":18.597,"epv":55.200,"track":195.1000,"speed":0.009,"climb":0.200,"eps":47.13} $GPGGA,073952.00,5355.1679,N,02730.0096,E,1,07,1.8,00276.2,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,5,1,20,01,00,023,46,02,17,255,28,03,08,075,40,04,03,219,27*74 $GPGSV,5,2,20,05,36,304,23,06,07,060,44,07,81,164,24,08,47,222,*7F $GPGSV,5,3,20,10,61,258,23,13,42,097,52,16,12,031,45,23,21,103,51*7B $GPGSV,5,4,20,25,67,072,23,28,03,178,29,65,29,320,,71,35,162,*78 $GPGSV,5,5,20,72,77,254,25,73,49,045,39,74,72,227,,75,17,225,*78 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":40,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":44,"used":true},{"PRN":7,"el":81,"az":164,"ss":24,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":23,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":25,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false}]} $GPRMC,073952.00,A,5355.1679,N,02730.0096,E,000.02130,202.1,090710,,,A*5C {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:52.000Z","ept":0.005,"lat":53.919465000,"lon":27.500160000,"alt":276.200,"epx":23.567,"epy":18.597,"epv":55.200,"track":202.1000,"speed":0.011,"climb":0.100,"eps":47.13} $GPGGA,073953.00,5355.1681,N,02730.0097,E,1,07,1.8,00276.2,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,21,01,00,023,47,02,17,255,28,03,08,075,40,04,03,219,27*77 $GPGSV,6,2,21,05,36,304,22,06,07,060,44,07,81,164,24,08,47,222,*7C $GPGSV,6,3,21,10,61,258,23,13,42,097,52,16,12,031,45,23,21,103,51*79 $GPGSV,6,4,21,25,67,072,23,28,03,178,29,65,29,320,,71,35,162,*7A $GPGSV,6,5,21,72,77,254,24,73,49,045,39,74,72,227,,75,17,225,*7B $GPGSV,6,6,21,81,11,345,39*4B {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":75,"ss":40,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":7,"az":60,"ss":44,"used":true},{"PRN":7,"el":81,"az":164,"ss":24,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":23,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":24,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":39,"used":true}]} $GPRMC,073953.00,A,5355.1681,N,02730.0097,E,000.02414,197.6,090710,,,A*50 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:53.000Z","ept":0.005,"lat":53.919468333,"lon":27.500161667,"alt":276.200,"epx":23.567,"epy":18.597,"epv":55.200,"track":197.6000,"speed":0.012,"climb":0.000,"eps":47.13} $GPGGA,073954.00,5355.1682,N,02730.0097,E,1,07,1.8,00276.2,M,0023.3,M,,*6E $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,48,02,17,255,29,03,08,075,40,04,03,219,27*7A $GPGSV,6,2,22,05,36,304,22,06,07,060,44,07,81,164,25,08,47,222,*7E $GPGSV,6,3,22,10,61,258,23,13,42,097,53,16,12,031,45,23,21,103,51*7B $GPGSV,6,4,22,25,67,072,23,28,03,178,30,65,29,320,,71,35,162,*71 $GPGSV,6,5,22,72,77,254,23,73,49,045,38,74,72,227,,75,17,225,*7E $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":40,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":7,"az":60,"ss":44,"used":true},{"PRN":7,"el":81,"az":164,"ss":25,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":23,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":23,"used":false},{"PRN":73,"el":49,"az":45,"ss":38,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":39,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,073954.00,A,5355.1682,N,02730.0097,E,000.02689,203.9,090710,,,A*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:54.000Z","ept":0.005,"lat":53.919470000,"lon":27.500161667,"alt":276.200,"epx":23.567,"epy":18.597,"epv":55.200,"track":203.9000,"speed":0.014,"climb":0.000,"eps":47.13} $GPGGA,073955.00,5355.1683,N,02730.0099,E,1,07,1.8,00276.0,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,48,02,17,255,30,03,08,075,39,04,03,219,26*7D $GPGSV,6,2,22,05,36,304,22,06,07,060,44,07,81,164,26,08,47,222,*7D $GPGSV,6,3,22,10,61,258,24,13,42,097,53,16,12,031,45,23,21,103,50*7D $GPGSV,6,4,22,25,67,072,24,28,03,178,29,65,29,320,,71,35,162,*7E $GPGSV,6,5,22,72,77,254,23,73,49,045,38,74,72,227,,75,17,225,*7E $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":255,"ss":30,"used":false},{"PRN":3,"el":8,"az":75,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":7,"az":60,"ss":44,"used":true},{"PRN":7,"el":81,"az":164,"ss":26,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":24,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":24,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":23,"used":false},{"PRN":73,"el":49,"az":45,"ss":38,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":39,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,073955.00,A,5355.1683,N,02730.0099,E,000.03142,204.8,090710,,,A*5A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:55.000Z","ept":0.005,"lat":53.919471667,"lon":27.500165000,"alt":276.000,"epx":23.567,"epy":18.597,"epv":55.200,"track":204.8000,"speed":0.016,"climb":-0.200,"eps":47.13} $GPGGA,073956.00,5355.1684,N,02730.0099,E,1,07,1.8,00275.7,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,48,02,17,255,30,03,08,075,38,04,03,219,26*7C $GPGSV,6,2,22,05,36,304,22,06,07,060,44,07,81,164,26,08,47,222,*7D $GPGSV,6,3,22,10,61,258,25,13,42,097,54,16,12,031,45,23,21,103,50*7B $GPGSV,6,4,22,25,67,072,26,28,03,178,30,65,29,320,,71,35,162,*74 $GPGSV,6,5,22,72,77,254,24,73,49,045,38,74,72,227,,75,17,225,*79 $GPGSV,6,6,22,81,11,345,38,82,14,036,*73 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":255,"ss":30,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":7,"az":60,"ss":44,"used":true},{"PRN":7,"el":81,"az":164,"ss":26,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":25,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":26,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":24,"used":false},{"PRN":73,"el":49,"az":45,"ss":38,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":38,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,073956.00,A,5355.1684,N,02730.0099,E,000.03654,202.2,090710,,,A*52 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:56.000Z","ept":0.005,"lat":53.919473333,"lon":27.500165000,"alt":275.700,"epx":23.567,"epy":18.597,"epv":55.200,"track":202.2000,"speed":0.019,"climb":-0.300,"eps":47.13} $GPGGA,073957.00,5355.1685,N,02730.0098,E,1,07,1.8,00275.2,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,48,02,17,255,29,03,08,075,38,04,03,219,26*74 $GPGSV,6,2,22,05,36,304,23,06,07,060,43,07,81,164,26,08,47,222,*7B $GPGSV,6,3,22,10,61,258,24,13,42,097,54,16,12,031,45,23,21,103,50*7A $GPGSV,6,4,22,25,67,072,25,28,03,178,30,65,29,320,,71,35,162,*77 $GPGSV,6,5,22,72,77,254,23,73,49,045,39,74,72,227,,75,17,225,*7F $GPGSV,6,6,22,81,11,345,38,82,14,036,*73 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":48,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":43,"used":true},{"PRN":7,"el":81,"az":164,"ss":26,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":24,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":25,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":23,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":38,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,073957.00,A,5355.1685,N,02730.0098,E,000.03539,200.5,090710,,,A*5E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:57.000Z","ept":0.005,"lat":53.919475000,"lon":27.500163333,"alt":275.200,"epx":23.567,"epy":18.597,"epv":55.200,"track":200.5000,"speed":0.018,"climb":-0.500,"eps":47.13} $GPGGA,073958.00,5355.1685,N,02730.0097,E,1,07,1.8,00274.8,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,29,03,08,075,37,04,03,219,26*74 $GPGSV,6,2,22,05,36,304,22,06,07,060,43,07,81,164,24,08,47,222,*78 $GPGSV,6,3,22,10,61,258,23,13,42,097,54,16,12,031,45,23,21,103,50*7D $GPGSV,6,4,22,25,67,072,25,28,03,178,30,65,29,320,,71,35,162,*77 $GPGSV,6,5,22,72,77,254,23,73,49,045,39,74,72,227,,75,17,225,*7F $GPGSV,6,6,22,81,11,345,38,82,14,036,*73 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":75,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":7,"az":60,"ss":43,"used":true},{"PRN":7,"el":81,"az":164,"ss":24,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":25,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":23,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":38,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,073958.00,A,5355.1685,N,02730.0097,E,000.03846,203.1,090710,,,A*5C {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:58.000Z","ept":0.005,"lat":53.919475000,"lon":27.500161667,"alt":274.800,"epx":23.567,"epy":18.597,"epv":55.200,"track":203.1000,"speed":0.020,"climb":-0.400,"eps":47.13} $GPGGA,073959.00,5355.1685,N,02730.0094,E,1,07,1.8,00274.5,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,30,03,08,075,38,04,03,219,25*70 $GPGSV,6,2,22,05,36,304,21,06,07,060,43,07,81,164,23,08,47,222,*7C $GPGSV,6,3,22,10,61,258,24,13,42,097,54,16,12,031,45,23,21,103,49*72 $GPGSV,6,4,22,25,67,072,24,28,03,178,30,65,29,320,,71,35,162,*76 $GPGSV,6,5,22,72,77,254,23,73,49,045,39,74,72,227,,75,17,225,*7F $GPGSV,6,6,22,81,11,345,37,82,14,036,*7C {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":255,"ss":30,"used":false},{"PRN":3,"el":8,"az":75,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":25,"used":false},{"PRN":5,"el":36,"az":304,"ss":21,"used":false},{"PRN":6,"el":7,"az":60,"ss":43,"used":true},{"PRN":7,"el":81,"az":164,"ss":23,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":24,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":49,"used":true},{"PRN":25,"el":67,"az":72,"ss":24,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":23,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":37,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,073959.00,A,5355.1685,N,02730.0094,E,000.03833,202.7,090710,,,A*5B {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:39:59.000Z","ept":0.005,"lat":53.919475000,"lon":27.500156667,"alt":274.500,"epx":23.567,"epy":18.597,"epv":55.200,"track":202.7000,"speed":0.020,"climb":-0.300,"eps":47.13} $GPGGA,074000.00,5355.1685,N,02730.0092,E,1,07,1.8,00274.1,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,,02,17,255,30,03,08,075,39,04,03,219,26*71 $GPGSV,6,2,22,05,36,304,23,06,07,060,43,07,81,164,23,08,47,222,*7E $GPGSV,6,3,22,10,61,258,24,13,42,097,54,16,12,031,44,23,21,103,49*73 $GPGSV,6,4,22,25,67,072,25,28,03,178,30,65,29,320,,71,35,162,*77 $GPGSV,6,5,22,72,77,254,23,73,49,045,39,74,72,227,,75,17,225,*7F $GPGSV,6,6,22,81,11,345,37,82,14,036,*7C {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":0,"used":false},{"PRN":2,"el":17,"az":255,"ss":30,"used":false},{"PRN":3,"el":8,"az":75,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":43,"used":true},{"PRN":7,"el":81,"az":164,"ss":23,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":24,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":44,"used":true},{"PRN":23,"el":21,"az":103,"ss":49,"used":true},{"PRN":25,"el":67,"az":72,"ss":25,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":23,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":37,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074000.00,A,5355.1685,N,02730.0092,E,000.03955,203.0,090710,,,A*58 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:00.000Z","ept":0.005,"lat":53.919475000,"lon":27.500153333,"alt":274.100,"epx":23.567,"epy":18.597,"epv":55.200,"track":203.0000,"speed":0.020,"climb":-0.400,"eps":47.13} $GPGGA,074001.00,5355.1685,N,02730.0091,E,1,07,1.8,00273.7,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,,02,17,255,30,03,08,075,39,04,03,219,26*71 $GPGSV,6,2,22,05,36,304,23,06,07,060,44,07,81,164,27,08,47,222,*7D $GPGSV,6,3,22,10,61,258,23,13,42,097,54,16,12,031,44,23,21,103,50*7C $GPGSV,6,4,22,25,67,072,26,28,03,178,30,65,29,320,,71,35,162,*74 $GPGSV,6,5,22,72,77,254,23,73,49,045,39,74,72,227,,75,17,225,*7F $GPGSV,6,6,22,81,11,345,38,82,14,036,*73 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":0,"used":false},{"PRN":2,"el":17,"az":255,"ss":30,"used":false},{"PRN":3,"el":8,"az":75,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":7,"az":60,"ss":44,"used":true},{"PRN":7,"el":81,"az":164,"ss":27,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":44,"used":true},{"PRN":23,"el":21,"az":103,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":26,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":23,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":38,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074001.00,A,5355.1685,N,02730.0091,E,000.03814,202.4,090710,,,A*5B {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:01.000Z","ept":0.005,"lat":53.919475000,"lon":27.500151667,"alt":273.700,"epx":23.567,"epy":18.597,"epv":55.200,"track":202.4000,"speed":0.020,"climb":-0.400,"eps":47.13} $GPGGA,074002.00,5355.1685,N,02730.0089,E,1,07,1.8,00273.4,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,,02,17,255,30,03,08,075,40,04,03,219,26*7F $GPGSV,6,2,22,05,36,304,22,06,07,060,44,07,81,164,31,08,47,222,*7B $GPGSV,6,3,22,10,61,258,23,13,42,097,54,16,12,031,45,23,21,103,50*7D $GPGSV,6,4,22,25,67,072,26,28,03,178,30,65,29,320,,71,35,162,*74 $GPGSV,6,5,22,72,77,254,23,73,49,045,39,74,72,227,,75,17,225,*7F $GPGSV,6,6,22,81,11,345,38,82,14,036,*73 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":0,"used":false},{"PRN":2,"el":17,"az":255,"ss":30,"used":false},{"PRN":3,"el":8,"az":75,"ss":40,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":7,"az":60,"ss":44,"used":true},{"PRN":7,"el":81,"az":164,"ss":31,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":26,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":23,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":38,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074002.00,A,5355.1685,N,02730.0089,E,000.03399,199.7,090710,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:02.000Z","ept":0.005,"lat":53.919475000,"lon":27.500148333,"alt":273.400,"epx":23.567,"epy":18.597,"epv":55.200,"track":199.7000,"speed":0.017,"climb":-0.300,"eps":47.13} $GPGGA,074003.00,5355.1686,N,02730.0091,E,1,07,1.8,00273.3,M,0023.3,M,,*64 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,,02,17,255,30,03,08,074,40,04,03,219,26*7E $GPGSV,6,2,22,05,36,304,22,06,07,060,45,07,81,164,31,08,47,222,*7A $GPGSV,6,3,22,10,61,258,23,13,42,097,54,16,12,031,45,23,21,103,51*7C $GPGSV,6,4,22,25,67,072,26,28,03,178,30,65,29,320,,71,35,162,*74 $GPGSV,6,5,22,72,77,254,21,73,49,045,39,74,72,227,,75,17,225,*7D $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":0,"used":false},{"PRN":2,"el":17,"az":255,"ss":30,"used":false},{"PRN":3,"el":8,"az":74,"ss":40,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":7,"az":60,"ss":45,"used":true},{"PRN":7,"el":81,"az":164,"ss":31,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":26,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":21,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":39,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074003.00,A,5355.1686,N,02730.0091,E,000.03081,195.4,090710,,,A*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:03.000Z","ept":0.005,"lat":53.919476667,"lon":27.500151667,"alt":273.300,"epx":23.567,"epy":18.597,"epv":55.200,"track":195.4000,"speed":0.016,"climb":-0.100,"eps":47.13} $GPGGA,074004.00,5355.1688,N,02730.0094,E,1,07,1.8,00273.4,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,29,03,08,074,40,04,03,219,27*76 $GPGSV,6,2,22,05,36,304,22,06,07,060,45,07,81,164,31,08,47,222,*7A $GPGSV,6,3,22,10,61,258,23,13,42,097,54,16,12,031,45,23,21,103,51*7C $GPGSV,6,4,22,25,67,072,26,28,03,178,30,65,29,320,,71,35,162,*74 $GPGSV,6,5,22,72,77,254,,73,49,045,39,74,72,227,,75,17,225,*7E $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":74,"ss":40,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":7,"az":60,"ss":45,"used":true},{"PRN":7,"el":81,"az":164,"ss":31,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":26,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":0,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":39,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074004.00,A,5355.1688,N,02730.0094,E,000.02530,180.9,090710,,,A*58 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:04.000Z","ept":0.005,"lat":53.919480000,"lon":27.500156667,"alt":273.400,"epx":23.567,"epy":18.597,"epv":55.200,"track":180.9000,"speed":0.013,"climb":0.100,"eps":47.13} $GPGGA,074005.00,5355.1688,N,02730.0095,E,1,07,1.8,00273.2,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,29,03,08,074,40,04,03,219,27*77 $GPGSV,6,2,22,05,36,304,22,06,07,060,45,07,81,164,31,08,47,222,*7A $GPGSV,6,3,22,10,61,258,23,13,42,097,53,16,12,031,45,23,21,103,51*7B $GPGSV,6,4,22,25,67,072,25,28,03,178,30,65,29,320,,71,35,162,*77 $GPGSV,6,5,22,72,77,254,,73,49,045,39,74,72,227,,75,17,225,*7E $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":74,"ss":40,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":7,"az":60,"ss":45,"used":true},{"PRN":7,"el":81,"az":164,"ss":31,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":25,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":0,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":39,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074005.00,A,5355.1688,N,02730.0095,E,000.02422,170.4,090710,,,A*58 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:05.000Z","ept":0.005,"lat":53.919480000,"lon":27.500158333,"alt":273.200,"epx":23.567,"epy":18.597,"epv":55.200,"track":170.4000,"speed":0.012,"climb":-0.200,"eps":47.13} $GPGGA,074006.00,5355.1688,N,02730.0095,E,1,07,1.8,00273.1,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,30,03,08,074,40,04,03,219,27*7F $GPGSV,6,2,22,05,36,304,22,06,08,059,46,07,81,164,32,08,47,222,*7F $GPGSV,6,3,22,10,61,258,23,13,42,097,54,16,12,031,46,23,21,103,51*7F $GPGSV,6,4,22,25,67,072,25,28,03,178,30,65,29,320,,71,35,162,*77 $GPGSV,6,5,22,72,77,254,,73,49,045,39,74,72,227,,75,17,225,*7E $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":30,"used":false},{"PRN":3,"el":8,"az":74,"ss":40,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":46,"used":true},{"PRN":7,"el":81,"az":164,"ss":32,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":54,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":25,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":0,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":39,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074006.00,A,5355.1688,N,02730.0095,E,000.02480,170.8,090710,,,A*5F {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:06.000Z","ept":0.005,"lat":53.919480000,"lon":27.500158333,"alt":273.100,"epx":23.567,"epy":18.597,"epv":55.200,"track":170.8000,"speed":0.013,"climb":-0.100,"eps":47.13} $GPGGA,074007.00,5355.1688,N,02730.0094,E,1,07,1.8,00272.9,M,0023.3,M,,*60 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,29,03,08,074,39,04,03,219,27*79 $GPGSV,6,2,22,05,36,304,22,06,08,059,46,07,82,161,31,08,47,222,*7A $GPGSV,6,3,22,10,61,258,23,13,42,097,53,16,12,031,46,23,21,103,51*78 $GPGSV,6,4,22,25,67,072,25,28,03,178,29,65,29,320,,71,35,162,*7F $GPGSV,6,5,22,72,77,254,,73,49,045,40,74,72,227,,75,17,225,*70 $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":74,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":46,"used":true},{"PRN":7,"el":82,"az":161,"ss":31,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":25,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":0,"used":false},{"PRN":73,"el":49,"az":45,"ss":40,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":39,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074007.00,A,5355.1688,N,02730.0094,E,000.02411,176.5,090710,,,A*5C {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:07.000Z","ept":0.005,"lat":53.919480000,"lon":27.500156667,"alt":272.900,"epx":23.567,"epy":18.597,"epv":55.200,"track":176.5000,"speed":0.012,"climb":-0.200,"eps":47.13} $GPGGA,074008.00,5355.1687,N,02730.0091,E,1,07,1.8,00272.6,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,30,03,08,074,38,04,03,219,27*71 $GPGSV,6,2,22,05,36,304,21,06,08,059,46,07,82,161,31,08,47,222,*79 $GPGSV,6,3,22,10,61,258,23,13,42,097,53,16,12,031,46,23,21,103,51*78 $GPGSV,6,4,22,25,67,072,24,28,03,178,29,65,29,320,,71,35,162,*7E $GPGSV,6,5,22,72,77,254,,73,49,045,40,74,72,227,,75,17,225,*70 $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":30,"used":false},{"PRN":3,"el":8,"az":74,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":21,"used":false},{"PRN":6,"el":8,"az":59,"ss":46,"used":true},{"PRN":7,"el":82,"az":161,"ss":31,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":53,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":24,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":0,"used":false},{"PRN":73,"el":49,"az":45,"ss":40,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":39,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074008.00,A,5355.1687,N,02730.0091,E,000.02828,195.7,090710,,,A*50 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:08.000Z","ept":0.005,"lat":53.919478333,"lon":27.500151667,"alt":272.600,"epx":23.567,"epy":18.597,"epv":55.200,"track":195.7000,"speed":0.015,"climb":-0.300,"eps":47.13} $GPGGA,074009.00,5355.1686,N,02730.0090,E,1,07,1.8,00272.4,M,0023.3,M,,*69 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,30,03,08,074,37,04,03,219,27*7F $GPGSV,6,2,22,05,36,304,23,06,08,059,46,07,82,161,30,08,47,222,*7A $GPGSV,6,3,22,10,61,258,24,13,42,097,52,16,12,031,46,23,21,103,51*7E $GPGSV,6,4,22,25,67,072,25,28,03,178,29,65,29,320,,71,35,162,*7F $GPGSV,6,5,22,72,77,254,,73,49,045,39,74,72,227,,75,17,225,*7E $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":30,"used":false},{"PRN":3,"el":8,"az":74,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":8,"az":59,"ss":46,"used":true},{"PRN":7,"el":82,"az":161,"ss":30,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":24,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":25,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":0,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":39,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074009.00,A,5355.1686,N,02730.0090,E,000.02603,200.4,090710,,,A*5A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:09.000Z","ept":0.005,"lat":53.919476667,"lon":27.500150000,"alt":272.400,"epx":23.567,"epy":18.597,"epv":55.200,"track":200.4000,"speed":0.013,"climb":-0.200,"eps":47.13} $GPGGA,074010.00,5355.1685,N,02730.0087,E,1,07,1.8,00272.2,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,42,02,17,255,29,03,08,074,36,04,03,219,27*70 $GPGSV,6,2,22,05,36,304,22,06,08,059,46,07,82,161,30,08,47,222,*7B $GPGSV,6,3,22,10,61,258,23,13,42,097,52,16,12,031,46,23,21,103,51*79 $GPGSV,6,4,22,25,67,072,25,28,03,178,29,65,29,320,,71,35,162,*7F $GPGSV,6,5,22,72,77,254,,73,49,045,40,74,72,227,,75,17,225,*70 $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":42,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":74,"ss":36,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":46,"used":true},{"PRN":7,"el":82,"az":161,"ss":30,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":23,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":25,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":0,"used":false},{"PRN":73,"el":49,"az":45,"ss":40,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":39,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074010.00,A,5355.1685,N,02730.0087,E,000.02827,200.2,090710,,,A*59 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:10.000Z","ept":0.005,"lat":53.919475000,"lon":27.500145000,"alt":272.200,"epx":23.567,"epy":18.597,"epv":55.200,"track":200.2000,"speed":0.015,"climb":-0.200,"eps":47.13} $GPGGA,074011.00,5355.1684,N,02730.0085,E,1,07,1.8,00271.9,M,0023.3,M,,*68 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,41,02,17,255,29,03,08,074,35,04,03,219,27*70 $GPGSV,6,2,22,05,36,304,24,06,08,059,45,07,82,161,30,08,47,222,*7E $GPGSV,6,3,22,10,61,258,27,13,42,097,52,16,12,031,46,23,21,103,51*7D $GPGSV,6,4,22,25,67,072,25,28,03,178,28,65,29,320,,71,35,162,*7E $GPGSV,6,5,22,72,77,254,,73,49,045,40,74,72,227,,75,17,225,*70 $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":41,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":74,"ss":35,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":24,"used":false},{"PRN":6,"el":8,"az":59,"ss":45,"used":true},{"PRN":7,"el":82,"az":161,"ss":30,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":27,"used":false},{"PRN":13,"el":42,"az":97,"ss":52,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":25,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":0,"used":false},{"PRN":73,"el":49,"az":45,"ss":40,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":39,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074011.00,A,5355.1684,N,02730.0085,E,000.02860,194.8,090710,,,A*5C {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:11.000Z","ept":0.005,"lat":53.919473333,"lon":27.500141667,"alt":271.900,"epx":23.567,"epy":18.597,"epv":55.200,"track":194.8000,"speed":0.015,"climb":-0.300,"eps":47.13} $GPGGA,074012.00,5355.1682,N,02730.0083,E,1,07,1.8,00271.7,M,0023.3,M,,*65 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,40,02,17,255,28,03,08,074,35,04,03,219,28*7F $GPGSV,6,2,22,05,36,304,23,06,08,059,45,07,82,161,28,08,47,222,*70 $GPGSV,6,3,22,10,61,258,28,13,42,097,51,16,12,031,46,23,21,103,51*71 $GPGSV,6,4,22,25,67,072,26,28,03,178,28,65,29,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,,73,49,045,39,74,72,227,,75,17,225,*7E $GPGSV,6,6,22,81,11,345,38,82,14,036,*73 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":40,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":74,"ss":35,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":8,"az":59,"ss":45,"used":true},{"PRN":7,"el":82,"az":161,"ss":28,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":28,"used":false},{"PRN":13,"el":42,"az":97,"ss":51,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":26,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":0,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":38,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074012.00,A,5355.1682,N,02730.0083,E,000.02617,185.6,090710,,,A*5F {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:12.000Z","ept":0.005,"lat":53.919470000,"lon":27.500138333,"alt":271.700,"epx":23.567,"epy":18.597,"epv":55.200,"track":185.6000,"speed":0.013,"climb":-0.200,"eps":47.13} $GPGGA,074013.00,5355.1681,N,02730.0083,E,1,07,1.8,00271.5,M,0023.4,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,39,02,17,255,27,03,08,074,35,04,03,219,27*71 $GPGSV,6,2,22,05,36,304,24,06,08,059,45,07,82,161,29,08,47,222,*76 $GPGSV,6,3,22,10,61,258,28,13,41,098,51,16,12,031,46,23,21,103,50*7C $GPGSV,6,4,22,25,67,072,25,28,03,178,27,65,29,320,,71,35,162,*71 $GPGSV,6,5,22,72,77,254,,73,49,045,39,74,72,227,,75,17,225,*7E $GPGSV,6,6,22,81,11,345,38,82,14,036,*73 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":39,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":74,"ss":35,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":24,"used":false},{"PRN":6,"el":8,"az":59,"ss":45,"used":true},{"PRN":7,"el":82,"az":161,"ss":29,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":28,"used":false},{"PRN":13,"el":41,"az":98,"ss":51,"used":true},{"PRN":16,"el":12,"az":31,"ss":46,"used":true},{"PRN":23,"el":21,"az":103,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":25,"used":false},{"PRN":28,"el":3,"az":178,"ss":27,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":0,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":38,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074013.00,A,5355.1681,N,02730.0083,E,000.02719,180.7,090710,,,A*56 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:13.000Z","ept":0.005,"lat":53.919468333,"lon":27.500138333,"alt":271.500,"epx":23.567,"epy":18.597,"epv":55.200,"track":180.7000,"speed":0.014,"climb":-0.200,"eps":47.13} $GPGGA,074014.00,5355.1681,N,02730.0082,E,1,07,1.8,00271.6,M,0023.4,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,39,02,17,255,27,03,08,074,37,04,03,219,27*73 $GPGSV,6,2,22,05,36,304,23,06,08,059,45,07,82,161,29,08,47,222,*71 $GPGSV,6,3,22,10,61,258,28,13,41,098,51,16,12,031,47,23,21,103,51*7C $GPGSV,6,4,22,25,67,072,26,28,03,178,28,65,29,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,,73,49,045,39,74,72,227,,75,17,225,*7E $GPGSV,6,6,22,81,11,345,38,82,14,036,*73 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":39,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":74,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":8,"az":59,"ss":45,"used":true},{"PRN":7,"el":82,"az":161,"ss":29,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":28,"used":false},{"PRN":13,"el":41,"az":98,"ss":51,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":26,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":0,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":38,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074014.00,A,5355.1681,N,02730.0082,E,000.02299,161.1,090710,,,A*54 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:14.000Z","ept":0.005,"lat":53.919468333,"lon":27.500136667,"alt":271.600,"epx":23.567,"epy":18.597,"epv":55.200,"track":161.1000,"speed":0.012,"climb":0.100,"eps":47.13} $GPGGA,074015.00,5355.1680,N,02730.0081,E,1,07,1.8,00271.8,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,39,02,17,255,28,03,08,074,39,04,03,219,27*72 $GPGSV,6,2,22,05,36,304,23,06,08,059,45,07,82,161,28,08,47,222,*70 $GPGSV,6,3,22,10,61,258,29,13,41,098,51,16,12,031,47,23,21,103,51*7D $GPGSV,6,4,22,25,67,072,25,28,03,178,28,65,29,320,,71,35,162,*7E $GPGSV,6,5,22,72,77,254,24,73,49,045,39,74,72,227,,75,17,225,*78 $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":39,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":74,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":8,"az":59,"ss":45,"used":true},{"PRN":7,"el":82,"az":161,"ss":28,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":29,"used":false},{"PRN":13,"el":41,"az":98,"ss":51,"used":true},{"PRN":16,"el":12,"az":31,"ss":47,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":25,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":24,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":39,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074015.00,A,5355.1680,N,02730.0081,E,000.02390,170.5,090710,,,A*5B {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:15.000Z","ept":0.005,"lat":53.919466667,"lon":27.500135000,"alt":271.800,"epx":23.567,"epy":18.597,"epv":55.200,"track":170.5000,"speed":0.012,"climb":0.200,"eps":47.13} $GPGGA,074016.00,5355.1679,N,02730.0078,E,1,07,1.8,00271.7,M,0023.4,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,38,02,17,255,27,03,08,074,39,04,03,219,27*7C $GPGSV,6,2,22,05,36,304,22,06,08,059,46,07,82,161,29,08,47,222,*73 $GPGSV,6,3,22,10,61,258,29,13,41,098,51,16,11,031,48,23,21,103,51*71 $GPGSV,6,4,22,25,67,072,24,28,03,178,28,65,29,320,,71,35,162,*7F $GPGSV,6,5,22,72,77,254,26,73,49,045,39,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,11,345,39,82,14,036,*72 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":38,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":74,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":46,"used":true},{"PRN":7,"el":82,"az":161,"ss":29,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":29,"used":false},{"PRN":13,"el":41,"az":98,"ss":51,"used":true},{"PRN":16,"el":11,"az":31,"ss":48,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":24,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":26,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":39,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074016.00,A,5355.1679,N,02730.0078,E,000.02084,161.5,090710,,,A*5E {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:16.000Z","ept":0.005,"lat":53.919465000,"lon":27.500130000,"alt":271.700,"epx":23.567,"epy":18.597,"epv":55.200,"track":161.5000,"speed":0.011,"climb":-0.100,"eps":47.13} $GPGGA,074017.00,5355.1678,N,02730.0075,E,1,07,1.8,00271.7,M,0023.4,M,,*6B $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,37,02,17,255,27,03,08,074,39,04,03,219,27*73 $GPGSV,6,2,22,05,36,304,23,06,08,059,46,07,82,161,29,08,47,222,*72 $GPGSV,6,3,22,10,61,258,28,13,41,098,51,16,11,031,48,23,21,103,51*70 $GPGSV,6,4,22,25,67,072,25,28,03,178,28,65,29,320,,71,35,162,*7E $GPGSV,6,5,22,72,77,254,25,73,49,045,39,74,72,227,,75,17,225,*79 $GPGSV,6,6,22,81,11,345,38,82,14,036,*73 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":37,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":74,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":8,"az":59,"ss":46,"used":true},{"PRN":7,"el":82,"az":161,"ss":29,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":28,"used":false},{"PRN":13,"el":41,"az":98,"ss":51,"used":true},{"PRN":16,"el":11,"az":31,"ss":48,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":25,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":25,"used":false},{"PRN":73,"el":49,"az":45,"ss":39,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":38,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074017.00,A,5355.1678,N,02730.0075,E,000.01613,160.0,090710,,,A*5C {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:17.000Z","ept":0.005,"lat":53.919463333,"lon":27.500125000,"alt":271.700,"epx":23.567,"epy":18.597,"epv":55.200,"track":160.0000,"speed":0.008,"climb":0.000,"eps":47.13} $GPGGA,074018.00,5355.1676,N,02730.0071,E,1,07,1.8,00271.5,M,0023.4,M,,*6C $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,38,02,17,255,28,03,08,074,40,04,03,219,28*72 $GPGSV,6,2,22,05,36,304,22,06,08,059,47,07,82,161,29,08,47,222,*72 $GPGSV,6,3,22,10,61,258,28,13,41,098,51,16,11,031,48,23,21,103,52*73 $GPGSV,6,4,22,25,67,072,25,28,03,178,28,65,29,320,,71,35,162,*7E $GPGSV,6,5,22,72,77,254,26,73,49,045,41,74,72,227,,75,17,225,*75 $GPGSV,6,6,22,81,11,345,40,82,14,036,*7C {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":38,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":74,"ss":40,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":47,"used":true},{"PRN":7,"el":82,"az":161,"ss":29,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":28,"used":false},{"PRN":13,"el":41,"az":98,"ss":51,"used":true},{"PRN":16,"el":11,"az":31,"ss":48,"used":true},{"PRN":23,"el":21,"az":103,"ss":52,"used":true},{"PRN":25,"el":67,"az":72,"ss":25,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":26,"used":false},{"PRN":73,"el":49,"az":45,"ss":41,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":40,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074018.00,A,5355.1676,N,02730.0071,E,000.01560,174.2,090710,,,A*59 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:18.000Z","ept":0.005,"lat":53.919460000,"lon":27.500118333,"alt":271.500,"epx":23.567,"epy":18.597,"epv":55.200,"track":174.2000,"speed":0.008,"climb":-0.200,"eps":47.13} $GPGGA,074019.00,5355.1675,N,02730.0068,E,1,07,1.8,00271.4,M,0023.3,M,,*60 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,40,02,17,255,29,03,08,074,39,04,03,219,28*72 $GPGSV,6,2,22,05,36,304,22,06,08,059,47,07,82,161,30,08,47,222,*7A $GPGSV,6,3,22,10,61,258,29,13,41,098,52,16,11,031,49,23,21,103,52*70 $GPGSV,6,4,22,25,67,072,26,28,03,178,28,65,29,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,25,73,49,045,44,74,72,227,,75,17,225,*73 $GPGSV,6,6,22,81,11,345,42,82,14,036,*7E {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":40,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":74,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":47,"used":true},{"PRN":7,"el":82,"az":161,"ss":30,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":29,"used":false},{"PRN":13,"el":41,"az":98,"ss":52,"used":true},{"PRN":16,"el":11,"az":31,"ss":49,"used":true},{"PRN":23,"el":21,"az":103,"ss":52,"used":true},{"PRN":25,"el":67,"az":72,"ss":26,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":25,"used":false},{"PRN":73,"el":49,"az":45,"ss":44,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":42,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074019.00,A,5355.1675,N,02730.0068,E,000.01445,161.1,090710,,,A*52 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:19.000Z","ept":0.005,"lat":53.919458333,"lon":27.500113333,"alt":271.400,"epx":23.567,"epy":18.597,"epv":55.200,"track":161.1000,"speed":0.007,"climb":-0.100,"eps":47.13} $GPGGA,074020.00,5355.1673,N,02730.0067,E,1,07,1.8,00271.2,M,0023.3,M,,*65 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,42,02,17,255,29,03,08,074,39,04,03,219,27*7F $GPGSV,6,2,22,05,36,304,22,06,08,059,48,07,82,161,31,08,47,222,*74 $GPGSV,6,3,22,10,61,258,30,13,41,098,53,16,11,031,49,23,21,103,52*79 $GPGSV,6,4,22,25,67,072,27,28,03,178,29,65,29,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,23,73,49,045,46,74,72,227,,75,17,225,*77 $GPGSV,6,6,22,81,11,345,43,82,14,036,*7F {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":42,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":74,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":48,"used":true},{"PRN":7,"el":82,"az":161,"ss":31,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":30,"used":false},{"PRN":13,"el":41,"az":98,"ss":53,"used":true},{"PRN":16,"el":11,"az":31,"ss":49,"used":true},{"PRN":23,"el":21,"az":103,"ss":52,"used":true},{"PRN":25,"el":67,"az":72,"ss":27,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":23,"used":false},{"PRN":73,"el":49,"az":45,"ss":46,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":43,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074020.00,A,5355.1673,N,02730.0067,E,000.01489,164.9,090710,,,A*5C {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:20.000Z","ept":0.005,"lat":53.919455000,"lon":27.500111667,"alt":271.200,"epx":23.567,"epy":18.597,"epv":55.200,"track":164.9000,"speed":0.008,"climb":-0.200,"eps":47.13} $GPGGA,074021.00,5355.1672,N,02730.0066,E,1,07,1.8,00271.0,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,29,03,08,074,39,04,03,219,27*79 $GPGSV,6,2,22,05,36,304,23,06,08,059,48,07,82,161,31,08,47,222,*75 $GPGSV,6,3,22,10,61,258,31,13,41,098,53,16,11,031,48,23,21,103,51*7A $GPGSV,6,4,22,25,67,072,27,28,03,178,29,65,29,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,23,73,49,045,46,74,72,227,,75,17,225,*77 $GPGSV,6,6,22,81,11,345,44,82,14,036,*78 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":74,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":8,"az":59,"ss":48,"used":true},{"PRN":7,"el":82,"az":161,"ss":31,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":31,"used":false},{"PRN":13,"el":41,"az":98,"ss":53,"used":true},{"PRN":16,"el":11,"az":31,"ss":48,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":67,"az":72,"ss":27,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":23,"used":false},{"PRN":73,"el":49,"az":45,"ss":46,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":44,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074021.00,A,5355.1672,N,02730.0066,E,000.01772,145.4,090710,,,A*54 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:21.000Z","ept":0.005,"lat":53.919453333,"lon":27.500110000,"alt":271.000,"epx":23.567,"epy":18.597,"epv":55.200,"track":145.4000,"speed":0.009,"climb":-0.200,"eps":47.13} $GPGGA,074022.00,5355.1670,N,02730.0067,E,1,07,1.8,00270.8,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,28,03,08,074,39,04,03,219,26*78 $GPGSV,6,2,22,05,36,304,22,06,08,059,48,07,82,161,30,08,47,222,*75 $GPGSV,6,3,22,10,61,258,30,13,41,098,53,16,11,031,47,23,21,103,50*75 $GPGSV,6,4,22,25,67,072,27,28,03,178,29,65,29,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,25,73,49,045,46,74,72,227,,75,17,225,*71 $GPGSV,6,6,22,81,11,345,44,82,14,036,*78 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":74,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":48,"used":true},{"PRN":7,"el":82,"az":161,"ss":30,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":30,"used":false},{"PRN":13,"el":41,"az":98,"ss":53,"used":true},{"PRN":16,"el":11,"az":31,"ss":47,"used":true},{"PRN":23,"el":21,"az":103,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":27,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":25,"used":false},{"PRN":73,"el":49,"az":45,"ss":46,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":44,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074022.00,A,5355.1670,N,02730.0067,E,000.02164,138.3,090710,,,A*5B {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:22.000Z","ept":0.005,"lat":53.919450000,"lon":27.500111667,"alt":270.800,"epx":23.567,"epy":18.597,"epv":55.200,"track":138.3000,"speed":0.011,"climb":-0.200,"eps":47.13} $GPGGA,074023.00,5355.1668,N,02730.0065,E,1,07,1.8,00270.7,M,0023.4,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,27,03,08,074,39,04,03,219,26*74 $GPGSV,6,2,22,05,36,304,22,06,08,059,49,07,82,161,29,08,47,222,*7C $GPGSV,6,3,22,10,61,258,29,13,41,098,51,16,11,031,47,23,21,103,50*7F $GPGSV,6,4,22,25,67,072,26,28,03,178,28,65,29,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,28,73,49,045,45,74,72,227,,75,17,225,*7F $GPGSV,6,6,22,81,11,345,43,82,14,036,*7F {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":74,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":49,"used":true},{"PRN":7,"el":82,"az":161,"ss":29,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":29,"used":false},{"PRN":13,"el":41,"az":98,"ss":51,"used":true},{"PRN":16,"el":11,"az":31,"ss":47,"used":true},{"PRN":23,"el":21,"az":103,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":26,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":28,"used":false},{"PRN":73,"el":49,"az":45,"ss":45,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":43,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074023.00,A,5355.1668,N,02730.0065,E,000.02400,146.1,090710,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:23.000Z","ept":0.005,"lat":53.919446667,"lon":27.500108333,"alt":270.700,"epx":23.567,"epy":18.597,"epv":55.200,"track":146.1000,"speed":0.012,"climb":-0.100,"eps":47.13} $GPGGA,074024.00,5355.1666,N,02730.0063,E,1,07,1.8,00270.7,M,0023.2,M,,*64 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,26,03,08,074,38,04,03,219,26*74 $GPGSV,6,2,22,05,36,304,22,06,08,059,48,07,82,161,28,08,47,222,*7C $GPGSV,6,3,22,10,61,258,28,13,41,098,51,16,11,031,47,23,21,103,50*7E $GPGSV,6,4,22,25,67,072,25,28,03,178,27,65,29,320,,71,35,162,*71 $GPGSV,6,5,22,72,77,254,29,73,49,045,43,74,72,227,,75,17,225,*78 $GPGSV,6,6,22,81,11,345,42,82,14,036,*7E {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":26,"used":false},{"PRN":3,"el":8,"az":74,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":48,"used":true},{"PRN":7,"el":82,"az":161,"ss":28,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":28,"used":false},{"PRN":13,"el":41,"az":98,"ss":51,"used":true},{"PRN":16,"el":11,"az":31,"ss":47,"used":true},{"PRN":23,"el":21,"az":103,"ss":50,"used":true},{"PRN":25,"el":67,"az":72,"ss":25,"used":false},{"PRN":28,"el":3,"az":178,"ss":27,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":29,"used":false},{"PRN":73,"el":49,"az":45,"ss":43,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":42,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074024.00,A,5355.1666,N,02730.0063,E,000.02243,143.1,090710,,,A*56 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:24.000Z","ept":0.005,"lat":53.919443333,"lon":27.500105000,"alt":270.700,"epx":23.567,"epy":18.597,"epv":55.200,"track":143.1000,"speed":0.012,"climb":0.000,"eps":47.13} $GPGGA,074025.00,5355.1665,N,02730.0060,E,1,07,1.8,00270.5,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,27,03,08,074,39,04,03,219,26*75 $GPGSV,6,2,22,05,36,304,22,06,08,059,48,07,82,161,28,08,47,222,*7C $GPGSV,6,3,22,10,61,258,28,13,41,098,51,16,11,031,47,23,21,103,50*7E $GPGSV,6,4,22,25,66,072,23,28,03,178,27,65,29,320,,71,35,162,*76 $GPGSV,6,5,22,72,77,254,30,73,49,045,43,74,72,227,,75,17,225,*70 $GPGSV,6,6,22,81,11,345,42,82,14,036,*7E {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":74,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":48,"used":true},{"PRN":7,"el":82,"az":161,"ss":28,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":28,"used":false},{"PRN":13,"el":41,"az":98,"ss":51,"used":true},{"PRN":16,"el":11,"az":31,"ss":47,"used":true},{"PRN":23,"el":21,"az":103,"ss":50,"used":true},{"PRN":25,"el":66,"az":72,"ss":23,"used":false},{"PRN":28,"el":3,"az":178,"ss":27,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":30,"used":false},{"PRN":73,"el":49,"az":45,"ss":43,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":42,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074025.00,A,5355.1665,N,02730.0060,E,000.02111,137.9,090710,,,A*58 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:25.000Z","ept":0.005,"lat":53.919441667,"lon":27.500100000,"alt":270.500,"epx":23.567,"epy":18.597,"epv":55.200,"track":137.9000,"speed":0.011,"climb":-0.200,"eps":47.13} $GPGGA,074026.00,5355.1663,N,02730.0056,E,1,07,1.8,00270.3,M,0023.3,M,,*60 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,27,03,08,074,39,04,03,219,26*75 $GPGSV,6,2,22,05,36,304,22,06,08,059,47,07,82,161,28,08,47,222,*73 $GPGSV,6,3,22,10,61,258,28,13,41,098,51,16,11,031,48,23,21,103,50*71 $GPGSV,6,4,22,25,66,072,24,28,03,178,27,65,29,320,,71,35,162,*71 $GPGSV,6,5,22,72,77,254,30,73,49,045,42,74,72,227,,75,17,225,*71 $GPGSV,6,6,22,81,11,345,41,82,14,036,*7D {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":74,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":47,"used":true},{"PRN":7,"el":82,"az":161,"ss":28,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":28,"used":false},{"PRN":13,"el":41,"az":98,"ss":51,"used":true},{"PRN":16,"el":11,"az":31,"ss":48,"used":true},{"PRN":23,"el":21,"az":103,"ss":50,"used":true},{"PRN":25,"el":66,"az":72,"ss":24,"used":false},{"PRN":28,"el":3,"az":178,"ss":27,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":30,"used":false},{"PRN":73,"el":49,"az":45,"ss":42,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":41,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074026.00,A,5355.1663,N,02730.0056,E,000.01540,158.0,090710,,,A*5B {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:26.000Z","ept":0.005,"lat":53.919438333,"lon":27.500093333,"alt":270.300,"epx":23.567,"epy":18.597,"epv":55.200,"track":158.0000,"speed":0.008,"climb":-0.200,"eps":47.13} $GPGGA,074027.00,5355.1662,N,02730.0053,E,1,07,1.8,00270.1,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,27,03,08,074,38,04,03,219,26*74 $GPGSV,6,2,22,05,36,304,23,06,08,059,46,07,82,161,29,08,47,222,*72 $GPGSV,6,3,22,10,61,258,27,13,41,098,51,16,11,031,47,23,21,103,50*71 $GPGSV,6,4,22,25,66,072,24,28,03,178,27,65,29,320,,71,35,162,*71 $GPGSV,6,5,22,72,77,254,28,73,49,045,42,74,72,227,,75,17,225,*78 $GPGSV,6,6,22,81,11,345,41,82,14,036,*7D {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":74,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":8,"az":59,"ss":46,"used":true},{"PRN":7,"el":82,"az":161,"ss":29,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":27,"used":false},{"PRN":13,"el":41,"az":98,"ss":51,"used":true},{"PRN":16,"el":11,"az":31,"ss":47,"used":true},{"PRN":23,"el":21,"az":103,"ss":50,"used":true},{"PRN":25,"el":66,"az":72,"ss":24,"used":false},{"PRN":28,"el":3,"az":178,"ss":27,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":28,"used":false},{"PRN":73,"el":49,"az":45,"ss":42,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":41,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074027.00,A,5355.1662,N,02730.0053,E,000.00939,160.6,090710,,,A*50 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:27.000Z","ept":0.005,"lat":53.919436667,"lon":27.500088333,"alt":270.100,"epx":23.567,"epy":18.597,"epv":55.200,"track":160.6000,"speed":0.005,"climb":-0.200,"eps":47.13} $GPGGA,074028.00,5355.1662,N,02730.0053,E,1,07,1.8,00269.6,M,0023.3,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,27,03,08,074,37,04,03,219,26*7B $GPGSV,6,2,22,05,36,304,23,06,08,059,45,07,82,161,30,08,47,222,*79 $GPGSV,6,3,22,10,61,258,25,13,41,098,52,16,11,031,47,23,21,103,50*70 $GPGSV,6,4,22,25,66,072,23,28,03,178,28,65,29,320,,71,35,162,*79 $GPGSV,6,5,22,72,77,254,27,73,49,045,42,74,72,227,,75,17,225,*77 $GPGSV,6,6,22,81,11,345,41,82,14,036,*7D {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":255,"ss":27,"used":false},{"PRN":3,"el":8,"az":74,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":8,"az":59,"ss":45,"used":true},{"PRN":7,"el":82,"az":161,"ss":30,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":25,"used":false},{"PRN":13,"el":41,"az":98,"ss":52,"used":true},{"PRN":16,"el":11,"az":31,"ss":47,"used":true},{"PRN":23,"el":21,"az":103,"ss":50,"used":true},{"PRN":25,"el":66,"az":72,"ss":23,"used":false},{"PRN":28,"el":3,"az":178,"ss":28,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":27,"used":false},{"PRN":73,"el":49,"az":45,"ss":42,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":41,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074028.00,A,5355.1662,N,02730.0053,E,000.00551,151.4,090710,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:28.000Z","ept":0.005,"lat":53.919436667,"lon":27.500088333,"alt":269.600,"epx":23.567,"epy":18.597,"epv":55.200,"track":151.4000,"speed":0.003,"climb":-0.500,"eps":47.13} $GPGGA,074029.00,5355.1663,N,02730.0055,E,1,07,1.8,00269.4,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,28,03,08,074,37,04,03,219,26*75 $GPGSV,6,2,22,05,36,304,22,06,08,059,44,07,82,161,30,08,47,222,*79 $GPGSV,6,3,22,10,61,258,28,13,41,098,52,16,11,031,46,23,21,103,51*7D $GPGSV,6,4,22,25,66,072,23,28,03,178,29,65,29,320,,71,35,162,*78 $GPGSV,6,5,22,72,77,254,26,73,49,045,41,74,72,227,,75,17,225,*75 $GPGSV,6,6,22,81,11,345,42,82,14,036,*7E {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":28,"used":false},{"PRN":3,"el":8,"az":74,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":44,"used":true},{"PRN":7,"el":82,"az":161,"ss":30,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":28,"used":false},{"PRN":13,"el":41,"az":98,"ss":52,"used":true},{"PRN":16,"el":11,"az":31,"ss":46,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":66,"az":72,"ss":23,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":26,"used":false},{"PRN":73,"el":49,"az":45,"ss":41,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":42,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074029.00,A,5355.1663,N,02730.0055,E,000.00862,101.3,090710,,,A*54 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:29.000Z","ept":0.005,"lat":53.919438333,"lon":27.500091667,"alt":269.400,"epx":23.567,"epy":18.597,"epv":55.200,"track":101.3000,"speed":0.004,"climb":-0.200,"eps":47.13} $GPGGA,074030.00,5355.1664,N,02730.0057,E,1,07,1.8,00269.5,M,0023.3,M,,*6F $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,29,03,08,074,37,04,03,219,26*76 $GPGSV,6,2,22,05,36,304,23,06,08,059,44,07,82,161,30,08,47,222,*78 $GPGSV,6,3,22,10,61,258,29,13,41,098,52,16,11,031,46,23,21,103,51*7C $GPGSV,6,4,22,25,66,072,22,28,03,178,29,65,29,320,,71,35,162,*79 $GPGSV,6,5,22,72,77,254,28,73,49,045,40,74,72,227,,75,17,225,*7A $GPGSV,6,6,22,81,11,345,42,82,14,036,*7E {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":74,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":26,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":8,"az":59,"ss":44,"used":true},{"PRN":7,"el":82,"az":161,"ss":30,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":29,"used":false},{"PRN":13,"el":41,"az":98,"ss":52,"used":true},{"PRN":16,"el":11,"az":31,"ss":46,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":66,"az":72,"ss":22,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":28,"used":false},{"PRN":73,"el":49,"az":45,"ss":40,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":42,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074030.00,A,5355.1664,N,02730.0057,E,000.01143,088.9,090710,,,A*58 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:30.000Z","ept":0.005,"lat":53.919440000,"lon":27.500095000,"alt":269.500,"epx":23.567,"epy":18.597,"epv":55.200,"track":88.9000,"speed":0.006,"climb":0.100,"eps":47.13} $GPGGA,074031.00,5355.1666,N,02730.0059,E,1,07,1.8,00269.7,M,0023.3,M,,*60 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,29,03,08,074,37,04,03,219,27*76 $GPGSV,6,2,22,05,36,304,22,06,08,059,45,07,82,161,30,08,47,222,*78 $GPGSV,6,3,22,10,61,258,30,13,41,098,53,16,11,031,44,23,21,103,51*77 $GPGSV,6,4,22,25,66,072,24,28,03,178,29,65,29,320,,71,35,162,*7F $GPGSV,6,5,22,72,77,254,28,73,49,045,42,74,72,227,,75,17,225,*78 $GPGSV,6,6,22,81,11,345,43,82,14,036,*7F {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":74,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":45,"used":true},{"PRN":7,"el":82,"az":161,"ss":30,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":30,"used":false},{"PRN":13,"el":41,"az":98,"ss":53,"used":true},{"PRN":16,"el":11,"az":31,"ss":44,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":66,"az":72,"ss":24,"used":false},{"PRN":28,"el":3,"az":178,"ss":29,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":28,"used":false},{"PRN":73,"el":49,"az":45,"ss":42,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":43,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074031.00,A,5355.1666,N,02730.0059,E,000.01630,085.9,090710,,,A*5B {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:31.000Z","ept":0.005,"lat":53.919443333,"lon":27.500098333,"alt":269.700,"epx":23.567,"epy":18.597,"epv":55.200,"track":85.9000,"speed":0.008,"climb":0.200,"eps":47.13} $GPGGA,074032.00,5355.1668,N,02730.0062,E,1,07,1.8,00269.8,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,30,03,08,074,35,04,03,219,27*7C $GPGSV,6,2,22,05,36,304,22,06,08,059,44,07,82,161,32,08,47,222,*7B $GPGSV,6,3,22,10,61,258,31,13,41,098,54,16,11,031,44,23,21,103,51*71 $GPGSV,6,4,22,25,66,072,25,28,03,178,30,65,29,320,,71,35,162,*76 $GPGSV,6,5,22,72,77,254,29,73,49,045,42,74,72,227,,75,17,225,*79 $GPGSV,6,6,22,81,11,345,44,82,14,036,*78 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":30,"used":false},{"PRN":3,"el":8,"az":74,"ss":35,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":44,"used":true},{"PRN":7,"el":82,"az":161,"ss":32,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":31,"used":false},{"PRN":13,"el":41,"az":98,"ss":54,"used":true},{"PRN":16,"el":11,"az":31,"ss":44,"used":true},{"PRN":23,"el":21,"az":103,"ss":51,"used":true},{"PRN":25,"el":66,"az":72,"ss":25,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":29,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":29,"used":false},{"PRN":73,"el":49,"az":45,"ss":42,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":44,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074032.00,A,5355.1668,N,02730.0062,E,000.01860,097.0,090710,,,A*5F {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:32.000Z","ept":0.005,"lat":53.919446667,"lon":27.500103333,"alt":269.800,"epx":23.567,"epy":18.597,"epv":55.200,"track":97.0000,"speed":0.010,"climb":0.100,"eps":47.13} $GPGGA,074033.00,5355.1669,N,02730.0065,E,1,07,1.8,00269.9,M,0023.4,M,,*6B $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,45,02,17,255,30,03,08,074,34,04,03,219,28*72 $GPGSV,6,2,22,05,36,304,23,06,08,059,45,07,82,161,32,08,47,222,*7B $GPGSV,6,3,22,10,61,258,31,13,41,098,54,16,11,031,45,23,21,103,52*73 $GPGSV,6,4,22,25,66,072,26,28,03,178,30,65,30,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,28,73,49,045,42,74,72,227,,75,17,225,*78 $GPGSV,6,6,22,81,11,345,44,82,14,036,*78 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":45,"used":false},{"PRN":2,"el":17,"az":255,"ss":30,"used":false},{"PRN":3,"el":8,"az":74,"ss":34,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":8,"az":59,"ss":45,"used":true},{"PRN":7,"el":82,"az":161,"ss":32,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":31,"used":false},{"PRN":13,"el":41,"az":98,"ss":54,"used":true},{"PRN":16,"el":11,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":52,"used":true},{"PRN":25,"el":66,"az":72,"ss":26,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":30,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":28,"used":false},{"PRN":73,"el":49,"az":45,"ss":42,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":44,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074033.00,A,5355.1669,N,02730.0065,E,000.01567,117.7,090710,,,A*5C {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:33.000Z","ept":0.005,"lat":53.919448333,"lon":27.500108333,"alt":269.900,"epx":23.567,"epy":18.597,"epv":55.200,"track":117.7000,"speed":0.008,"climb":0.100,"eps":47.13} $GPGGA,074034.00,5355.1671,N,02730.0066,E,1,07,1.8,00269.9,M,0023.3,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,29,03,08,074,35,04,03,219,27*77 $GPGSV,6,2,22,05,36,304,23,06,08,059,46,07,82,161,31,08,47,222,*7B $GPGSV,6,3,22,10,61,258,31,13,41,098,54,16,11,031,45,23,21,103,52*73 $GPGSV,6,4,22,25,66,072,26,28,03,178,30,65,30,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,27,73,49,045,42,74,72,227,,75,17,225,*77 $GPGSV,6,6,22,81,11,345,44,82,14,036,*78 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":74,"ss":35,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":8,"az":59,"ss":46,"used":true},{"PRN":7,"el":82,"az":161,"ss":31,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":31,"used":false},{"PRN":13,"el":41,"az":98,"ss":54,"used":true},{"PRN":16,"el":11,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":52,"used":true},{"PRN":25,"el":66,"az":72,"ss":26,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":30,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":27,"used":false},{"PRN":73,"el":49,"az":45,"ss":42,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":44,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074034.00,A,5355.1671,N,02730.0066,E,000.01491,193.4,090710,,,A*56 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:34.000Z","ept":0.005,"lat":53.919451667,"lon":27.500110000,"alt":269.900,"epx":23.567,"epy":18.597,"epv":55.200,"track":193.4000,"speed":0.008,"climb":0.000,"eps":47.13} $GPGGA,074035.00,5355.1672,N,02730.0068,E,1,07,1.8,00269.9,M,0023.3,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,29,03,08,074,36,04,03,219,27*74 $GPGSV,6,2,22,05,36,304,22,06,08,059,47,07,82,161,31,08,47,222,*7B $GPGSV,6,3,22,10,61,258,31,13,41,098,54,16,11,031,45,23,21,103,52*73 $GPGSV,6,4,22,25,66,072,26,28,03,178,30,65,30,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,26,73,49,045,42,74,72,227,,75,17,225,*76 $GPGSV,6,6,22,81,11,345,44,82,14,036,*78 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":74,"ss":36,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":47,"used":true},{"PRN":7,"el":82,"az":161,"ss":31,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":31,"used":false},{"PRN":13,"el":41,"az":98,"ss":54,"used":true},{"PRN":16,"el":11,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":52,"used":true},{"PRN":25,"el":66,"az":72,"ss":26,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":30,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":26,"used":false},{"PRN":73,"el":49,"az":45,"ss":42,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":44,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074035.00,A,5355.1672,N,02730.0068,E,000.02156,204.5,090710,,,A*5B {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:35.000Z","ept":0.005,"lat":53.919453333,"lon":27.500113333,"alt":269.900,"epx":23.567,"epy":18.597,"epv":55.200,"track":204.5000,"speed":0.011,"climb":0.000,"eps":47.13} $GPGGA,074036.00,5355.1673,N,02730.0069,E,1,07,1.8,00269.7,M,0023.4,M,,*67 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,30,03,08,074,36,04,03,219,28*72 $GPGSV,6,2,22,05,36,304,22,06,08,059,45,07,82,161,32,08,47,222,*7A $GPGSV,6,3,22,10,61,258,32,13,41,098,54,16,11,031,46,23,21,103,52*73 $GPGSV,6,4,22,25,66,072,26,28,03,178,30,65,30,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,27,73,49,045,42,74,72,227,,75,17,225,*77 $GPGSV,6,6,22,81,11,345,44,82,14,036,*78 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":255,"ss":30,"used":false},{"PRN":3,"el":8,"az":74,"ss":36,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":45,"used":true},{"PRN":7,"el":82,"az":161,"ss":32,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":32,"used":false},{"PRN":13,"el":41,"az":98,"ss":54,"used":true},{"PRN":16,"el":11,"az":31,"ss":46,"used":true},{"PRN":23,"el":21,"az":103,"ss":52,"used":true},{"PRN":25,"el":66,"az":72,"ss":26,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":30,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":27,"used":false},{"PRN":73,"el":49,"az":45,"ss":42,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":44,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074036.00,A,5355.1673,N,02730.0069,E,000.02352,199.6,090710,,,A*5A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:36.000Z","ept":0.005,"lat":53.919455000,"lon":27.500115000,"alt":269.700,"epx":23.567,"epy":18.597,"epv":55.200,"track":199.6000,"speed":0.012,"climb":-0.200,"eps":47.13} $GPGGA,074037.00,5355.1674,N,02730.0072,E,1,07,1.8,00269.6,M,0023.4,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,30,03,08,074,37,04,03,219,28*73 $GPGSV,6,2,22,05,36,304,23,06,08,059,45,07,82,161,32,08,47,222,*7B $GPGSV,6,3,22,10,61,258,32,13,41,098,54,16,11,031,46,23,21,103,52*73 $GPGSV,6,4,22,25,66,072,26,28,03,178,31,65,30,320,,71,35,162,*7C $GPGSV,6,5,22,72,77,254,29,73,49,045,42,74,72,227,,75,17,225,*79 $GPGSV,6,6,22,81,11,345,44,82,14,036,*78 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":255,"ss":30,"used":false},{"PRN":3,"el":8,"az":74,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":8,"az":59,"ss":45,"used":true},{"PRN":7,"el":82,"az":161,"ss":32,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":32,"used":false},{"PRN":13,"el":41,"az":98,"ss":54,"used":true},{"PRN":16,"el":11,"az":31,"ss":46,"used":true},{"PRN":23,"el":21,"az":103,"ss":52,"used":true},{"PRN":25,"el":66,"az":72,"ss":26,"used":false},{"PRN":28,"el":3,"az":178,"ss":31,"used":false},{"PRN":65,"el":30,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":29,"used":false},{"PRN":73,"el":49,"az":45,"ss":42,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":44,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074037.00,A,5355.1674,N,02730.0072,E,000.02449,188.9,090710,,,A*54 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:37.000Z","ept":0.005,"lat":53.919456667,"lon":27.500120000,"alt":269.600,"epx":23.567,"epy":18.597,"epv":55.200,"track":188.9000,"speed":0.013,"climb":-0.100,"eps":47.13} $GPGGA,074038.00,5355.1676,N,02730.0075,E,1,07,1.8,00269.7,M,0023.4,M,,*61 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,47,02,17,255,30,03,08,074,38,04,03,219,28*7C $GPGSV,6,2,22,05,36,304,22,06,08,059,45,07,82,161,32,08,47,222,*7A $GPGSV,6,3,22,10,61,258,32,13,41,098,54,16,11,031,46,23,21,103,53*72 $GPGSV,6,4,22,25,66,072,26,28,03,178,30,65,30,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,30,73,49,045,43,74,72,227,,75,17,225,*70 $GPGSV,6,6,22,81,11,345,45,82,14,036,*79 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":47,"used":false},{"PRN":2,"el":17,"az":255,"ss":30,"used":false},{"PRN":3,"el":8,"az":74,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":45,"used":true},{"PRN":7,"el":82,"az":161,"ss":32,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":32,"used":false},{"PRN":13,"el":41,"az":98,"ss":54,"used":true},{"PRN":16,"el":11,"az":31,"ss":46,"used":true},{"PRN":23,"el":21,"az":103,"ss":53,"used":true},{"PRN":25,"el":66,"az":72,"ss":26,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":30,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":30,"used":false},{"PRN":73,"el":49,"az":45,"ss":43,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":45,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074038.00,A,5355.1676,N,02730.0075,E,000.02469,180.0,090710,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:38.000Z","ept":0.005,"lat":53.919460000,"lon":27.500125000,"alt":269.700,"epx":23.567,"epy":18.597,"epv":55.200,"track":180.0000,"speed":0.013,"climb":0.100,"eps":47.13} $GPGGA,074039.00,5355.1677,N,02730.0078,E,1,07,1.8,00269.6,M,0023.4,M,,*6D $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,46,02,17,255,30,03,08,074,38,04,03,219,28*7D $GPGSV,6,2,22,05,36,304,22,06,08,059,45,07,82,161,32,08,47,222,*7A $GPGSV,6,3,22,10,61,258,31,13,41,098,54,16,11,031,46,23,21,103,53*71 $GPGSV,6,4,22,25,66,072,26,28,03,178,30,65,30,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,254,31,73,49,045,43,74,72,227,,75,17,225,*71 $GPGSV,6,6,22,81,11,345,45,82,14,036,*79 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":46,"used":false},{"PRN":2,"el":17,"az":255,"ss":30,"used":false},{"PRN":3,"el":8,"az":74,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":28,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":45,"used":true},{"PRN":7,"el":82,"az":161,"ss":32,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":31,"used":false},{"PRN":13,"el":41,"az":98,"ss":54,"used":true},{"PRN":16,"el":11,"az":31,"ss":46,"used":true},{"PRN":23,"el":21,"az":103,"ss":53,"used":true},{"PRN":25,"el":66,"az":72,"ss":26,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":30,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":254,"ss":31,"used":false},{"PRN":73,"el":49,"az":45,"ss":43,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":45,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074039.00,A,5355.1677,N,02730.0078,E,000.02794,181.5,090710,,,A*55 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:39.000Z","ept":0.005,"lat":53.919461667,"lon":27.500130000,"alt":269.600,"epx":23.567,"epy":18.597,"epv":55.200,"track":181.5000,"speed":0.014,"climb":-0.100,"eps":47.13} $GPGGA,074040.00,5355.1677,N,02730.0081,E,1,07,1.8,00269.6,M,0023.3,M,,*62 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,29,03,08,074,38,04,03,219,27*78 $GPGSV,6,2,22,05,36,304,22,06,08,059,46,07,82,161,31,08,47,222,*7A $GPGSV,6,3,22,10,61,258,31,13,41,098,54,16,11,031,46,23,21,103,52*70 $GPGSV,6,4,22,25,66,072,25,28,03,178,30,65,30,320,,71,35,162,*7E $GPGSV,6,5,22,72,77,251,30,73,49,045,43,74,72,227,,75,17,225,*75 $GPGSV,6,6,22,81,11,345,45,82,14,036,*79 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":74,"ss":38,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":46,"used":true},{"PRN":7,"el":82,"az":161,"ss":31,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":31,"used":false},{"PRN":13,"el":41,"az":98,"ss":54,"used":true},{"PRN":16,"el":11,"az":31,"ss":46,"used":true},{"PRN":23,"el":21,"az":103,"ss":52,"used":true},{"PRN":25,"el":66,"az":72,"ss":25,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":30,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":251,"ss":30,"used":false},{"PRN":73,"el":49,"az":45,"ss":43,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":45,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074040.00,A,5355.1677,N,02730.0081,E,000.03156,182.8,090710,,,A*5A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:40.000Z","ept":0.005,"lat":53.919461667,"lon":27.500135000,"alt":269.600,"epx":23.567,"epy":18.597,"epv":55.200,"track":182.8000,"speed":0.016,"climb":0.000,"eps":47.13} $GPGGA,074041.00,5355.1677,N,02730.0084,E,1,07,1.8,00269.3,M,0023.3,M,,*63 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,43,02,17,255,30,03,08,074,37,04,03,219,27*78 $GPGSV,6,2,22,05,36,304,22,06,08,059,46,07,82,161,32,08,47,222,*79 $GPGSV,6,3,22,10,61,258,31,13,41,098,54,16,11,031,46,23,21,103,52*70 $GPGSV,6,4,22,25,66,072,25,28,03,178,30,65,30,320,,71,35,162,*7E $GPGSV,6,5,22,72,77,251,28,73,49,045,44,74,72,227,,75,17,225,*7B $GPGSV,6,6,22,81,11,345,45,82,14,036,*79 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":43,"used":false},{"PRN":2,"el":17,"az":255,"ss":30,"used":false},{"PRN":3,"el":8,"az":74,"ss":37,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":46,"used":true},{"PRN":7,"el":82,"az":161,"ss":32,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":31,"used":false},{"PRN":13,"el":41,"az":98,"ss":54,"used":true},{"PRN":16,"el":11,"az":31,"ss":46,"used":true},{"PRN":23,"el":21,"az":103,"ss":52,"used":true},{"PRN":25,"el":66,"az":72,"ss":25,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":30,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":251,"ss":28,"used":false},{"PRN":73,"el":49,"az":45,"ss":44,"used":true},{"PRN":74,"el":72,"az":227,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":45,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074041.00,A,5355.1677,N,02730.0084,E,000.03523,186.8,090710,,,A*5C {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:41.000Z","ept":0.005,"lat":53.919461667,"lon":27.500140000,"alt":269.300,"epx":23.567,"epy":18.597,"epv":55.200,"track":186.8000,"speed":0.018,"climb":-0.300,"eps":47.13} $GPGGA,074042.00,5355.1677,N,02730.0085,E,1,07,1.8,00268.9,M,0023.3,M,,*6A $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,44,02,17,255,29,03,08,074,39,04,03,219,27*79 $GPGSV,6,2,22,05,36,304,22,06,08,059,47,07,82,161,31,08,47,222,*7B $GPGSV,6,3,22,10,61,258,31,13,41,098,53,16,11,031,44,23,21,103,52*75 $GPGSV,6,4,22,25,66,072,25,28,03,178,30,65,30,320,,71,35,162,*7E $GPGSV,6,5,22,72,77,251,23,73,49,045,44,74,73,228,,75,17,225,*7E $GPGSV,6,6,22,81,11,345,45,82,14,036,*79 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":44,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":74,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":47,"used":true},{"PRN":7,"el":82,"az":161,"ss":31,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":31,"used":false},{"PRN":13,"el":41,"az":98,"ss":53,"used":true},{"PRN":16,"el":11,"az":31,"ss":44,"used":true},{"PRN":23,"el":21,"az":103,"ss":52,"used":true},{"PRN":25,"el":66,"az":72,"ss":25,"used":false},{"PRN":28,"el":3,"az":178,"ss":30,"used":false},{"PRN":65,"el":30,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":251,"ss":23,"used":false},{"PRN":73,"el":49,"az":45,"ss":44,"used":true},{"PRN":74,"el":73,"az":228,"ss":0,"used":false},{"PRN":75,"el":17,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":45,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074042.00,A,5355.1677,N,02730.0085,E,000.03627,191.8,090710,,,A*5F {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:42.000Z","ept":0.005,"lat":53.919461667,"lon":27.500141667,"alt":268.900,"epx":23.567,"epy":18.597,"epv":55.200,"track":191.8000,"speed":0.019,"climb":-0.400,"eps":47.13} $GPGGA,074043.00,5355.1677,N,02730.0085,E,1,07,1.8,00268.6,M,0023.3,M,,*64 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,43,02,17,255,29,03,08,074,39,04,03,219,27*7E $GPGSV,6,2,22,05,36,304,22,06,08,059,46,07,82,161,31,08,47,222,*7A $GPGSV,6,3,22,10,61,258,30,13,41,098,53,16,11,031,45,23,21,103,52*75 $GPGSV,6,4,22,25,66,072,25,28,03,178,,65,30,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,251,23,73,49,045,44,74,73,228,,75,18,225,*71 $GPGSV,6,6,22,81,11,345,44,82,14,036,*78 {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":43,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":74,"ss":39,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":22,"used":false},{"PRN":6,"el":8,"az":59,"ss":46,"used":true},{"PRN":7,"el":82,"az":161,"ss":31,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":30,"used":false},{"PRN":13,"el":41,"az":98,"ss":53,"used":true},{"PRN":16,"el":11,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":52,"used":true},{"PRN":25,"el":66,"az":72,"ss":25,"used":false},{"PRN":28,"el":3,"az":178,"ss":0,"used":false},{"PRN":65,"el":30,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":251,"ss":23,"used":false},{"PRN":73,"el":49,"az":45,"ss":44,"used":true},{"PRN":74,"el":73,"az":228,"ss":0,"used":false},{"PRN":75,"el":18,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":44,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074043.00,A,5355.1677,N,02730.0085,E,000.03456,201.3,090710,,,A*5B {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:43.000Z","ept":0.005,"lat":53.919461667,"lon":27.500141667,"alt":268.600,"epx":23.567,"epy":18.597,"epv":55.200,"track":201.3000,"speed":0.018,"climb":-0.300,"eps":47.13} $GPGGA,074044.00,5355.1677,N,02730.0084,E,1,07,1.8,00268.2,M,0023.3,M,,*66 $GPGSA,A,3,13,16,06,03,23,81,73,,,,,,3.0,1.8,2.4*32 $GPGSV,6,1,22,01,00,023,42,02,17,255,29,03,08,074,41,04,03,219,27*70 $GPGSV,6,2,22,05,36,304,23,06,08,059,46,07,82,161,30,08,47,222,*7A $GPGSV,6,3,22,10,61,258,29,13,41,098,53,16,11,031,45,23,21,103,52*7D $GPGSV,6,4,22,25,66,072,25,28,03,178,,65,30,320,,71,35,162,*7D $GPGSV,6,5,22,72,77,251,23,73,49,045,43,74,73,228,,75,18,225,*76 $GPGSV,6,6,22,81,11,345,43,82,14,036,*7F {"class":"SKY","tag":"GSV","xdop":1.57,"ydop":1.24,"vdop":2.40,"tdop":1.50,"hdop":1.80,"gdop":5.84,"pdop":3.00,"satellites":[{"PRN":1,"el":0,"az":23,"ss":42,"used":false},{"PRN":2,"el":17,"az":255,"ss":29,"used":false},{"PRN":3,"el":8,"az":74,"ss":41,"used":true},{"PRN":4,"el":3,"az":219,"ss":27,"used":false},{"PRN":5,"el":36,"az":304,"ss":23,"used":false},{"PRN":6,"el":8,"az":59,"ss":46,"used":true},{"PRN":7,"el":82,"az":161,"ss":30,"used":false},{"PRN":8,"el":47,"az":222,"ss":0,"used":false},{"PRN":10,"el":61,"az":258,"ss":29,"used":false},{"PRN":13,"el":41,"az":98,"ss":53,"used":true},{"PRN":16,"el":11,"az":31,"ss":45,"used":true},{"PRN":23,"el":21,"az":103,"ss":52,"used":true},{"PRN":25,"el":66,"az":72,"ss":25,"used":false},{"PRN":28,"el":3,"az":178,"ss":0,"used":false},{"PRN":65,"el":30,"az":320,"ss":0,"used":false},{"PRN":71,"el":35,"az":162,"ss":0,"used":false},{"PRN":72,"el":77,"az":251,"ss":23,"used":false},{"PRN":73,"el":49,"az":45,"ss":43,"used":true},{"PRN":74,"el":73,"az":228,"ss":0,"used":false},{"PRN":75,"el":18,"az":225,"ss":0,"used":false},{"PRN":81,"el":11,"az":345,"ss":43,"used":true},{"PRN":82,"el":14,"az":36,"ss":0,"used":false}]} $GPRMC,074044.00,A,5355.1677,N,02730.0084,E,000.03060,206.9,090710,,,A*51 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-07-09T07:40:44.000Z","ept":0.005,"lat":53.919461667,"lon":27.500140000,"alt":268.200,"epx":23.567,"epy":18.597,"epv":55.200,"track":206.9000,"speed":0.016,"climb":-0.400,"eps":47.13} gpsd-3.9/test/daemon/geostar-geos1m-binary.log0000664000175000017500000041423111762140437017546 0ustar esresr# Name: GeoS 1M in binary mode # Description: A combined GPS/GLONASS OEM receiver board, 24 channels # Submitter: Viktar Palstsiuk # Date: 2010-07-09 # Location: Minsk, Belarus, 53N 27E # PSGGT333GÊ2”A %ü †ôš1êGÌvAªVJ†Ú°‚@"ÿLèsŒÄ'ÔGîtA7ÿgêx†yÀ…üMžÜßP€äßwAT›“°ÿ}@düLÀº;ÉH;Ô}wAVÂLÿˆÀT ü ¬€®CT®Ú¥rA¬q𥡊yÀs0ü èCWäÏ vA-(aàŠÀ*AüM&(Ó¢u©¶±vA™‘“ÝCGg@£Xþ ÓäŠ.XÎfvA¡9rɪ€ÀĈü z–ÖH0Èú{uA|Ù¬à `@l±üM-ucЗer·tA^dÛFð‚À“…@PSGGT ü ®à™ik)ÀtÈb. XBÝø‹Š¿öPSGG"@£Xþ Ó ŒĈü –z%ü ô† À ÿÿ úIÿÿs0ü èšT ü €¬œ/xÿÿ’ ÿÿ"ÿLsèôdüLºÀÅ…üMÜž†*AüM(&§l±üMu-®‘ŽC(ë@Ÿ ÿÿ×*üU!)ÀKŽCŠ t ø@Æýÿÿ@ ’ÿÿ@l¥ÿÿ¢šªQPSGG!$MÕ ž çœKPSGGĈü ®à™ik)ÀtÈb. XBÝø¿÷PSGGs0ü ®à™ik)ÀtÈb. XBÝø¬¶¿öPSGG£Xþ ®à™ik)ÀtÈb. XBÝø|ÞœöPSGG%ü ®à™ik)ÀtÈb. XBÝøú†¿öPSGGTHÊ2”A %ü †ô\ϳôùËvA­ýcç¡°‚@"ÿLès~ŸMîtAԖჄ†yÀ…üMžÜÉø”"ŸŸwA•¬vÉ}@düLÀº™á8Þ}wA0ŒºÖþˆÀT ü ¬€o•8ûߥrAq)̛°ŠyÀs0ü èå,a:Ú vAº ¯> ŠÀ*AüM&(\ÓnޱvAãZMEg@£Xþ ÓrŠÍ)ÕfvAÄ e €ÀĈü z–pëÚ(ù{uA÷Æ¿±I`@l±üM-u =XÐy·tAýNP–Sð‚Ào¥#WPSGG ŽLúûyIA…<é`†:AJÝ®i“SAŒ—Üڇê@ê:á/›v?ªŸqÌYðv¿öš+–¿"Ìq£l¿_@.‡Jiüµð?ÿœ º@ípî+©@€—͇¬@C‰^[wê@òù Yß"@@®ã„AòÀeA¿N\œPSGG "HÊ2”AeºÛå@î?1oUß·Þ?jííìÉq@E7@ §MÕ bEfä[Ç@§ðŽ@‘„‘þù?qïgq#ù?q'|×¶µû?oðP°7Â_@O¡u_„ê@L“l¢sê@=‹f>`Ԑ?JœéPžî @„†&ìPSGGTÍÌÌHÊ2”A %ü †ôäÍFòËvAgñÌb°‚@"ÿLès”ª 4RîtAYlvf†yÀ…üMžÜ|e.žŸwA›gÌå}@düLÀºéå[è}wA4з÷¯þˆÀT ü ¬€ß·OÑä¥rAÈÆpv‰yÀs0ü èX*×ä vAM¡ƒ³ŠÀ*AüM&(AU;á±±vAd5DŠHg@£Xþ Óý²ÛfvAIâŠÞ# €ÀĈü z–‘Àh¢÷{uAƒ˜ŒÍª`@l±üM-uíLë:·tA]Þ©¡ï‚À8óìšPSGGTš™™IÊ2”A %ü †ô¶Yâ•êËvAT6^Z%±‚@"ÿLès-Ì:GWîtACèÆ ‡yÀ…üMžÜ–b²ŸwAõ$/“Ö}@düLÀºa?ò}wAÉ9&¡×þˆÀT ü ¬€G5Íøé¥rAö᧑¿ŠyÀs0ü èÖ; fï vAPüV7pŠÀ*AüM&([BØÌ¯±vA:ØJPFg@£Xþ ÓDüUÓáfvA3@h^ €ÀĈü z–ß}•ö{uAù»T£`@l±üM-ugŸdш·tAÙ¡` ð‚À=8SPSGGTfffJÊ2”A %ü †ô«^ðãËvAÁNª…°‚@"ÿLèsgƒQ\îtAø'ðЇyÀ…üNžÜ°ýŒ¬ŸwA.5#>á}@düLÀº%÷ÃXü}wAžì0¿þˆÀT ü ¬€$$oJï¥rAœÍŽiŠyÀs0ü èÚ>ú vAM¡ƒ³ŠÀ*AüM&(‹ök­±vA1Š©×1Fg@£Xþ Ó†ÝÙzèfvAÎuW+ €ÀĈü z–-Ùcô{uA«×þ`@l±üM-u{:º–·tA0_Nð‚ÀÏeùPSGGT333KÊ2”A %ü †ôÌ@bÈÛËvA8L,°‚@"ÿLès°?smaîtAÕlˆyÀ…üNžÜ;+§ŸwAEŸ ž}@düLÀºxœ[~wAäR+ŠfÿˆÀT ü ¬€TÉ;ô¥rAU†öÐۋyÀs0ü èöJ‡Ë!vA-(aàŠÀ*AüM&(~kô#«±vAšW‘GQGg@£Xþ Ó”\ö¿îfvA]˜ú  €ÀĈü z–§íÛÍò{uAÙ?Å­î`@l±üM-uÁUA嗷tA˜ûì€"ð‚À)Tj±PSGG "ÿLàqœ@Ââ€jӑƒẦô›Í€Ò–1€z€Œ@èœDÀàCƒŸŸÉVPSGG l±üMàqœ@Ââ€jӑ@(>Ô£-ÍÀ0"é@@]~V¡-@([Áæ8€ŸŸ ME PSGG"@£Xþ Ó ’Ĉü –z%ü ô†‘ À ÿÿ úIÿÿs0ü èžT ü €¬Ÿ/xÿÿ’ ÿÿ"ÿLsèôdüLºÀÈ…üNÜž*AüM(&¡l±üMu-œ®‘ŽC(ë@Ÿ ÿÿ×*üU!)¿KŽCŠ t @Æýÿÿ@ ’ÿÿ@l¥ÿÿ¢š!SPSGG!$MÕ ¹ æœKPSGG *AüMàqœ@Ââ€jӑÀÌþՀ†(NÀÃ0=Á÷>€£º0@hBÀ™ߟ‹ÌßPSGG düLàqœ@Ââ€jӑ@VB̀Ӿ€4IAÂÁ;ï@hç„À&@ŸŸMÅËɔPSGG …üNàqœ@Â"€jÓQ@ÒŸ€…±Í@κ‘@ÀæÀ>@èꁌŒÃ@ŸŸäÜŽ±PSGG ×*üUàqœ@Ââ€jӑ€ÿÎÀ³9‹¯ÜÀÀÿ@›%@è(G@úMC@ŸŸMviCÊPSGGTLÊ2”A %ü †ô«efLÔËvAj{á|°‚@"ÿLès3r]}fîtA`t¬æ‰yÀ…üNžÜuÍ8Ä ŸwA†Š?ß0}@düLÀºwÊÿ/~wA#8ÈQ”ÿˆÀT ü ¬€eR Lù¥rA$².ˌyÀs0ü èÎêül!vA®;‹ŠÀ*AüM&(}}š£š±vA}‚†,ö@g@£Xþ Ó4 !EõfvAڈšµT €ÀĈü z–+¢_9ñ{uAà [Þ `@l±üM-u¯mŸ·tA€ë$çcñ‚À•_ôSPSGG Ü5‘ëûyIAâT«Ë`†:A{’!ªi“SAÆ7 —ê@øDãÌòx?pNady¿ÿ™mç¯õ–¿0UŽ{pŸ_@™pB…¶ð?­NôOÚž@Æ=ÓIJ©@žj,P@ÇSœ†ê@ܵ2(~± @€Žã„A ÁeA¥¿÷PSGG "LÊ2”AñÄì@î?,ž^Gß·Þ?ÉÇžH^q@E7@ §MÕ Mop0Ç@~ÎÜ}ÚŽ@øûH6þù?]adÁ #ù?k&ØtÚµû?»B= Á_@›çoda”ê@ÆcüE«ƒê@BÃø‚Wkʑ?jóƒx @'žïôPSGGTÍÌÌLÊ2”A %ü †ô UÍËvAdŽc?y°‚@"ÿLès“˝žkîtA€Ñçàñ‡yÀ…üNžÜÿ›ŸwAÀžþSµ}@düLÀº—‚Åb~wApŒ“þˆÀT ü ¬€Å^˜Nþ¥rA@ŸÑ_‹yÀs0ü èA4!vA·&yŠÀ*AüM&(^ °ÿ¥±vAÂÕÊòôEg@£Xþ Ó/’ûfvA†”KÑ? €ÀĈü z–ˆd_ ï{uAõÇÌÐ`@l±üM-u‰O §·tARì·Gð‚À!6œàPSGGTš™™MÊ2”A %ü †ôG’jÅËvAf>Žï&°‚@"ÿLèsRËÂpîtA. î=_‰yÀ…üNžÜ£ :•ŸwA2ëÒ}@düLÀº[º7$~wARª—ÿÇÿˆÀT ü ¬€Û`ŠrA× .GyÀs0ü èÙ)”$!vA¬æå ŠÀ*AüM&(KÈÈ£±vA¿GG*Ag@£Xþ Ó¿s6gvAìNý®â €ÀĈü z–'æƒî{uA®™ + `@l±üM-u€Ò­•®·tA/øË ñ‚ÀçáG&PSGGTfffNÊ2”A %ü †ôðȹœËvAMÂãÐ$°‚@"ÿLèsñ¯ÞÏuîtA›¢Rh»ˆyÀ…üNžÜ²Ã°+ŸwA’׊!}@düLÀºŠŒP.~wAkz,ÎIÿˆÀT ü ¬€‚ŒghŠrAd®‰²ŒyÀs0ü è߯@/!vAò'` ¬ŠÀ*AüM&(JèT|¡±vA¬ï}‹Cg@£Xþ Ó>øŽ»gvAÇ//õ  €ÀĈü z–+f€fì{uAà [Þ `@l±üM-ulæw ¶·tAxÏË&þï‚ÀƒrPSGGT333OÊ2”A %ü †ôxˆÒV¶ËvA³ZõP[°‚@"ÿLès Ñ÷ÚzîtAŽâ‰yÀ…üNžÜû0W®‰ŸwA!‡Ø>}@düLÀºþÓ/k8~wAVÂLÿˆÀT ü ¬€ŒQ{ ŠrA­cH跌yÀs0ü è‚eÝ9!vA€ŠÀ*AüM&(…=Ÿ±vAŒ_’¶Bg@£Xþ Ó#ägvAUMTËÄ €ÀĈü z–œÄÊê{uAèŽø0Œ `@l±üM-uaU³Óœ·tA¹ä€âð‚ÀՄPSGGT ü ®¥Q(u,•€( XBÝøZÚgTPSGG"@£Xþ Ó ˜Ĉü –z%ü ô† À ÿÿ úIÿÿs0ü èžT ü €¬º/xÿÿ’ ÿÿ"ÿLsèódüLºÀË…üNÜž{*AüM(&œl±üMu-®‘ŽC(ß@Ÿ ÿÿ×*üU!)¿KŽCŠ t þ@Æýÿÿ@ ’ÿÿ@l¥ÿÿ¢š$RPSGG!$MÕ º åœKPSGGĈü ®¥Q(u,•€( XBÝøÊrgUPSGGs0ü ®¥Q(u,•€( XBÝø}ÊgTPSGG£Xþ ®¥Q(u,•€( XBÝø­¢eTPSGG%ü ®¥Q(u,•€( XBÝø+úgTPSGGTPÊ2”A %ü †ôŸsÀ®ËvAg@µ°‚@"ÿLèsmš«ìîtA„Õ‚Ë@‰yÀ…üNžÜf¬†ÖƒŸwAÏ!¹È9}@düLÀºùMž{B~wA!Œ†Ž ÿˆÀT ü ¬€t±ŸÎŠrAwø‰DŒyÀs0ü èìë[D!vASŒ“ÈYŠÀ*AüM&(ކŒªœ±vAPRóVðDg@£Xþ Ó,žŒgvAž3Þ-e €ÀĈü z–JEõé{uA÷Sï `@l±üM-u‡ „WÅ·tA£Êƒ«ð‚ÀŠ^mPSGG òmàûyIAµB×`†:A °q¬i“SA"þ‹û¡šê@6’Ç* 2u?@ì”ëLg¿lCýòS9•¿êAó4ž_@Ë2È ·ð?pFØ;§·@H^ëç6ª@@¡g†@õ4}Šå—ê@†\ªˆŠ @Àºã„A$ÁeAtQ¬šPSGG "PÊ2”AAðbò@î?®-I^ß·Þ?ÿV(Nq@€B7@ §MÕ ÔÔ[Ç@^jwÃŽ@ 2×;Øýù?ñ¯ Ÿ"ù?åæ ýµû?ï™ðòQÀ_@ޑÒ#/€ê@R•¿³“ê@GRåsh?'Güß ° @Xd)ÎPSGGTÍÌÌPÊ2”A %ü †ô šMþŠËvAåE °‚@"ÿLès94…îtA©6Y°}‰yÀ…üNžÜ“€-~ŸwAõ$/“Ö}@düLÀºåÀ•©L~wAŸsŽú8ÿˆÀT ü ¬€?FæŠrA³AÛ;¶yÀs0ü è­)O!vA€ŠÀ*AüM&(lQrš±vAŽ}ê}?@g@£Xþ Óªu.'gvAÇgöš˯‚@"ÿLès2ÕîC”îtA×íÇU“ŠyÀ…üNžÜfnYïlŸwAM{Чd}@düLÀºwMYj~wAL[bî›ÿˆÀT ü ¬€ņ°'ŠrAæYÚªyÀs0ü ÿì‚ýìçn!vAìçæØŠÀ*AüM&(ñ$æM“±vA.«Úñ?g@£Xþ ÓÓӄL/gvAIžœ„% €ÀĈü z–;êÄâ{uAðÈBJ&`@l±üM-u¹Ždã·tAŠ èñ‚ÀBØ?8PSGG"@£Xþ Ó Ĉü –z%ü ô† À ÿÿ úIÿÿs0ü ìÿœT ü €¬·/xÿÿ’ ÿÿ"ÿLsèðdüLºÀÍ…üNÜžw*AüM(&šl±üMu-®‘ŽC(ä@Ÿ ÿÿ×*üT!)ÀKŽCŠ t û@Æýÿÿ@ ’ÿÿ@l¥ÿÿК‚RPSGG!$MÕ » äœKPSGGTTÊ2”A %ü †ôTVíµ‰ËvAoB_º§¯‚@"ÿLèsÌUœ™îtAëQwIƒ‹yÀ…üNžÜ÷ÄÙ.fŸwA€%íÙA}@düLÀº7 äut~wAſ̗ÃÿˆÀT ü ¬€ÞaEt,ŠrAnàÕǎyÀs0ü ÿìlhĝy!vA!’[ ŽŠÀ*AüM&(˜ï¯?‘±vAõ¡7Þ=g@£Xþ ÓîÉÔ5gvA^Z—“ €ÀĈü z–Îq"á{uAëh]å`@l±üM-u€+Pë·tAÆu‚,ñ‚ÀªBÏPSGG ‡ŠÔûyIAשßa†:Aùö·i“SAJô·ê@ؘªKÈæl?¥:‹ùPb?W3ç_‹í‘¿W‡óDŸ_@7%U!•·ð?œ+j w¶@ü×@[Ÿª@ƒ#©Pì@l€9ÌÙŠê@ãV2Z§)!@Áã„A=ÁeAvv5ëPSGG "TÊ2”Aì1ú@î?±ö¢ß·Þ?Zõ¹|Éq@€@7@ §MÕ Bk ׯ@¬ƒ1®Ž@ýñ{œ}ýù?eæ\8"ù?nÛúÅ ¶û?ØX%@¿_@X2÷͵ê@bþ¥ê@LUŒ<?Â1ªƒí@Ä͍PPSGGTÍÌÌTÊ2”A %ü †ô75GäËvA¬Ã> ¯‚@"ÿLès°:œžîtAНYL ŒyÀ…üNžÜ—| `ŸwAH •}@düLÀºÅs6j~~wA×þ8ñ$‰ÀT ü ¬€õk<1ŠrAfÄ%Š yÀs0ü ÿìÞªj?„!vAj>€h}ŠÀ*AüM&(L ±vA¿ÄÛ±z=g@£Xþ ӏ÷ŸwA¿ô§ÿâ}@düLÀº&!Ѝº~wAòÍàØê‰ÀT ü £­+²KPŠrA§QA–’“yÀs0ü ÿì1;dôÃ!vAž˜\¿ŠÀ*AüM&(e‚0±vA8(d+4g@£Xþ Ó> H^bgvA“üàøÔ€ÀĈü z–ص¡ÓÕ{uAúƒ ¹ø_@l±üM-u»ÁJÖžtAM«ë(ó‚À AûPSGGTfffZÊ2”A %ü †ô›íö¡MËvAÐâÆ®‚@"ÿLès‚2LÂîtAµfçŽyÀ…üNžÜFÿžü7ŸwABt K}@düLÀºÂÀ7…Ä~wAdæ 凉ÀT ü £­ÄÂUŠrAe¥ð ’yÀs0ü ÿìÛþf”Î!vA;ԄQ›ŠÀ*AüM&(ñݟ±vAº±6Xˆ7g@£Xþ ÓijÇhgvAÄ€ÀĈü z–EñUÔ{uA8£àKjú_@l±üM-u‚Lî€'žtAÝeæò‚Àˆt(LPSGGT333[Ê2”A %ü †ôý(ÊFËvA2€#>Ç®‚@"ÿLèsL°ºÇîtAHËyÀ…üNžÜ¶³EJ2ŸwA³h‡b1}@düLÀºÔ[ù‹Î~wA‡RÛΉÀT ü £­p†Ÿ@ZŠrA•ÓŒ’yÀs0ü ÿìóXÙ!vAˆw–AŠÀ*AüM&(ÚSi |±vAs@Ö~6g@£Xþ Ó æ4ogvAt?d#š€ÀĈü z–`÷#žÒ{uAX{†I}ø_@l±üM-uôœ®/žtA1ŸXkñò‚Àä•qËPSGG"@£Xþ Ó Ĉü –z%ü ô† À ÿÿ úIÿÿs0ü ìÿšT ü ­£¶8ÿÿ’ ÿÿ"ÿLsèïdüLºÀÏ…üNÜžs*AüM(&¢l±üMu-®‘ŽC(è@Ÿ ÿÿ×*üT!)ÁKŽCŠ t ý@Æýÿÿ@ ’ÿÿ@l¥ÿÿžš»RPSGG!$MÕ œ âœKPSGGT\Ê2”A %ü †ô¡õ²>ËvA4.tît®‚@"ÿLès-òΚÌîtA<ò•~yÀ…üNžÜ˒öZ,ŸwA#‘b }@düLÀº£òØ~wAU’0F‰ÀT ü £­µÀ_ŠrAÀ’cç“yÀs0ü ÿìŠ øØã!vAJ搊À*AüM&(Éáó=z±vAGË|Ø3g@£Xþ Ó's€_ugvAË={Ȇ€ÀĈü z–”V× Ñ{uAÄùÂãò_@l±üM-u$m Â6žtA»óFZó‚À—ˆSPSGG àé÷ÝûyIAæ¿ þ`†:AË °µi“SAŠYEýÍÕê@Ÿì;az}c?¬tG<š£€?o†È>€?Š¿2yÌÉ_@Ojá1Šžð?$[ߎ@W8(Ë«@ô, –Â@n?µq Åê@RÚÕk"ë@€Íã„AoÁeAäÎÈPSGG "\Ê2”A¬–òõ@î?Pƒ$‡ß·Þ?ìpã«q@R7@ §MÕ öšÆ@z›}±‚Ž@‹gPÆüù?ÄBi!ù?!E%g¶û?$1›¿_@ƎˆÎ™Óê@›6N‹ Âê@V§ŽÆåLŒ?îZÏ@q@3ðÄ?PSGGTÍÌÌ\Ê2”A %ü †ô±{Å÷6ËvAäC=áT®‚@"ÿLès‡ òÑîtA}ÒÇÉHyÀ…üNžÜáR€Á&ŸwA^¶$if}@düLÀºÀ„³â~wAµŽÌM‰ÀT ü £­XBW‰dŠrAâ™e ƒ“yÀs0ü ÿìÓkiî!vAR‰]ŒŠÀ*AüM&(éq7 x±vAáýüW<4g@£Xþ ÓÅ;ˆ|gvA®ŒF€ÀĈü z–o°Þ~Ï{uAþÙQ òò_@l±üM-uÚ¿^>žtA·ÕéXIó‚À! ¢PSGGTš™™]Ê2”A %ü †ôšÃW…/ËvAZæh®‚@"ÿLès˜Œ’ØÖîtA­Cx yÀ…üNžÜà# !ŸwAsþÑÆ }@düLÀº†šXYì~wAÐMAdƉÀT ü £­j›-¬iŠrA0Áø°“yÀs0ü ÿìΐ;ù!vALi‰:¹ŠÀ*AüM&(6>HÊu±vA×û6g@£Xþ ÓÓfµn‚gvAjyj–4€ÀĈü z– |ÿèÍ{uAÍÍôñ_@l±üM-u£ VêEžtAÇrS÷ò‚ÀÝïnŒPSGGTfff^Ê2”A %ü †ôàçc(ËvA[̈Ì­‚@"ÿLèsŽ“ÿìÛîtA•‘f¢u‘yÀ…üNžÜcž‚ÈŸwAŸ—0z}@düLÀºjxœlö~wA|q·Ûs‰ÀT ü £­ n޵nŠrAÝ7²&7”yÀs0ü ÿì”í²À"vA0$ϝސŠÀ*AüM&(+.õ>s±vA­é˜/g@£Xþ ÓrDýˆgvA|?͏€ÀĈü z–Ç @Ì{uAuúmÀí_@l±üM-u7·úWMžtAtþÆ+—ó‚ÀU [PSGGT333_Ê2”A %ü †ôI-&!ËvAŸŒoi£­‚@"ÿLèsµÁáîtAãH¥þ‘yÀ…üNžÜEÑ ŸwAq×t? }@düLÀºŽSžZwA ˆÀ°‰ÀT ü £­ŽÃPàsŠrAî·qfהyÀs0ü ÿì5ªÝU"vAêV{ ‘ŠÀ*AüM&(åGK/q±vAörqŽ1g@£Xþ ÓNégvAÔϋdø€ÀĈü z–ÿ‰‡¥Ê{uA×zæ8$é_@l±üM-uë&TDUžtAæ×g/ô‚À/bÜPSGGT ü ° ®a-?WG`pžXBÝøÈÁ'KPSGG"@£Xþ Ó šĈü –z%ü ô†“ À ÿÿ úIÿÿs0ü ìÿœT ü ­£¶8ÿÿ—ÿÿ"ÿLsèïdüLºÀÍ…üNÜžl*AüM(&¥l±üMu-›®‘ŽC(î@Ÿ ÿÿ×*üT!)ÀKŽCŠ t @Æýÿÿ@ ’ÿÿ@l¥ÿÿœšNSPSGG!$MÕ Ÿ áœKPSGGĈü ° ®(?æèDfÐpiXBÝøšƒËŽPSGGs0ü ° ®-? *å‹À±XBÝøÛì€PSGG£Xþ ° ®(?“* žpغXBÝøž1)žPSGG%ü ° ®(?$"2àè¬XBÝøœñš$PSGGT`Ê2”A %ü †ô€Ç*zËvAד-šì®‚@"ÿLès4•O$æîtAqÕguvyÀ…üNžÜ<çŸwAýÍJ~}@düLÀºÔÕA[ wA?x«å ‰ÀT ü £­Û³ûxŠrAÆöÕ®”yÀs0ü ÿìYêúð"vAéwªUÀ*AüM&(§I¿ön±vAWyÃ[3g@£Xþ Óó›ô}•gvAÅBÈ:€ÀĈü z–õ:Z(É{uAù8áð_@l±üM-u^HvÉ\žtA–ˆ$qCó‚Àü±4PSGG msWéûyIAr%Í`†:Af±§i“SAôèrŠ%åê@v<.?j›m?Œ_X6y{?irãC±¿ŒA+ÙÒÃ_@Wôƒ.¹ð?þÛl3æ²@ØvÕQ¬@.â-@úa™ ‹Ôê@SÀѳ¶) @ÀÓã„AˆÁeA]ÀPSGG "`Ê2”AŸë@î?ÌCKß·Þ?Ïò>TÁq@E7@ §MÕ 0ƒüºRÆ@‰3³ÀlŽ@[Zô6jüù?dԘg!ù?øÜéжû?[/ xÛ¿_@ÀÕ·âê@k}‹ÂýÑê@[уA¶A•Ž?§Î@|ÐmPSGGTÍÌÌ`Ê2”A %ü †ôkç±ËvAjél­‚@"ÿLèsöÁµSëîtAù À5i’yÀ…üNžÜh‚Á ŸwAÒø&Œ }@düLÀº(p̈́wAÞñóAõ‰ÀT ü £­5b’-~ŠrAüÜfS•yÀs0ü ÿ쀪þ#"vAC›Òœ‘ŠÀ*AüM&(вl±vA“œøOß0g@£Xþ Ó]èù›gvA™ŠYa€ÀĈü z–i£3¢Ç{uAj]9|êç_@l±üM-uÐÐÑdžtA·‰wó‚À Öw[PSGGTš™™aÊ2”A %ü †ô4ÁŒ ËvA雃=@"ÿLèsˆ›‹]ðîtAZ~~Þ ’yÀ…üNžÜþa@ŽŸwAƝÃê# }@düLÀºÇçߋwAµŽÌM‰ÀT ü £­19mƒŠrAÙÕþ¬ê”yÀs0ü ÿì\b÷5."vAÿ|чɐŠÀ*AüM&(<]_j±vAsf|Œ0g@£Xþ Ó²ðr¢gvAžGÖ֍€ÀĈü z–Øx¹üÅ{uAëä ¥Îæ_@l±üM-uŒ4°kžtAg(€ió‚Àyô¿®PSGGTfffbÊ2”A %ü †ôÙÞÜåËvAíØ°Ê×­‚@"ÿLèsÜòªhõîtAíÝ¿»“yÀ…üNžÜÈ%SþžwAÄIB }@düLÀºLBdŒ(wAãyî#©‰ÀT ü £­ºSˆŠrAï¿»^\–yÀs0ü ÿì5LÍÊ8"vAªjÈÊՐŠÀ*AüM&(øšÊg±vAÒ_·°Ç-g@£Xþ Ó wŸ÷šgvAR0{u€ÀĈü z–-ÞAÄ{uAûWn’ã_@l±üM-ugŸesžtAÑΰô‚ÀrõÜ©PSGGT333cÊ2”A %ü †ô† jûÊvAÌÌ)ˆ8­‚@"ÿLèsëÒ%úîtAFÐê1”yÀ…üNžÜV‹„à÷žwAyblá }@düLÀº—÷|a2wA¿üng‰ÀT ü £­ŽêN~ŠrAˆQ^ؖyÀs0ü ÿì®úŠC"vA¯Zhƒ‘ŠÀ*AüM&(ؘ[¹e±vAãjYl-g@£Xþ ÓdLç¯gvA|Ð& >€ÀĈü z–¬|¿Â{uA˜3{eVß_@l±üM-uüÃzžtA&Œ0õ‚ÀÉ}ˆ?PSGG"@£Xþ Ó œĈü –z%ü ô†– À ÿÿ úIÿÿs0ü ìÿT ü ­£ž8ÿÿ—ÿÿ"ÿLsèîdüLºÀÌ…üNÜžk*AüM(&§l±üMu-™®‘ŽC(é@Ÿ ÿÿ×*üT!)ÂKŒCŠ t @Æýÿÿ@ ’ÿÿ@l¥ÿÿœšFSPSGG!$MÕ ¿ àœKPSGG "ÿLvœ@Â​ӑ@&ýÿ€ÄO@€‰ÜÀ—«’À_2ƀá˜ÜÀAé€öÆÍóy€PSGG l±üMvœ@Â​ӑñÿ€¯³ÀI@Ÿå€ŒmJÀXH%ò迀D<”ýÄ–PSGG *AüMvœ@Â​ӑ@1÷ÿ@5*€I €ë‡ñÀÆf @^À$è¿@ŽüUûPSGG düLvœ@Â​ӑ@Šãÿ€é‰n€ ýÀY@†ü;é?€ÇEu˜]‹PSGG …üNvœ@Â"€‹ÓQñÿ?À!yŽ€‰ÿ?€ì>€‹ ÀTuoÀšè¿@„œ[ԀeJPSGG ×*üTvœ@Â​ӑÀ{þÿÎ'YÀ‰ì?€ž?Ú@Ÿ©ƒ€…Hz¥êÀsýNªÆéPSGGTdÊ2”A %ü †ô!͗·óÊvA*&œññ¬‚@"ÿLèsÝhç§ÿîtAÁúr\P”yÀ…üNžÜ­æÚòñžwA¬HšY– }@düLÀº"Ïé<wA'l0šv‰ÀT ü £­7èy’ŠrAï¶æøm—yÀs0ü ÿì/fþM"vAÏ¿›Þ0‘ŠÀ*AüM&(¬Ðr?c±vAÐYÂ"š*g@£Xþ ÓάÎ~µgvApÚ¬P¢€ÀĈü z–­ªÁ{uA‰ÛŽZzÜ_@l±üM-uA„m‚žtAJÌHø™ô‚ÀuW§PSGG QfÿûyIA» ‘`†:A«JPši“SAêAÜçÊôê@—gù¶ßv?í“lÅ*|?šÄvY„ȏ¿µL÷6¡Â_@öšì™¶¹ð?Š?®µ±@t¥ü©Ö¬@4º–@.h!YÝãê@ÙàT0#@Úã„A¡ÁeAB'íÀPSGG "dÊ2”A›vÞ@î? •WùÞ·Þ?ʓ”sq@€F7@ §MÕ OÉb(&Æ@õOAžVŽ@‡<£¯ üù?Iæ õ˜ ù?…W­¶û?ÝàZµÀ_@zºÅ#'òê@‰Èkáê@`‹R(|?“\7\^@E«Ô&PSGGTÍÌÌdÊ2”A %ü †ôØ€2oìÊvA»Ÿ{8欂@"ÿLès©%SèïtAµ!ê캔yÀ…üNžÜ}Þ7HìžwAñŸ!Í }@düLÀºËΊ–FwAÝ"Á3‰ÀT ü £­;"£Ž—ŠrA–UЩ—yÀs0ü ÿìÔŠˆX"vAÅc6e‘ŠÀ*AüM&(ñ8Iæ`±vAȬÍCo+g@£Xþ ÓÔÓ+ŒgvA"Ò í€ÀĈü z–ž—Ø€¿{uA‰ÛŽZzÜ_@l±üM-uõہꉞtAzÇDésô‚À~JûûPSGGTš™™eÊ2”A %ü †ô);«<åÊvAžŽÎme­‚@"ÿLès»UEí ïtAقÀÑ÷”yÀ…üNžÜæàŸëåžwAHsÏሠ}@düLÀºç8sPwA+°-™P‰ÀT ü £­Ç#ŠžœŠrA¬î—¥—yÀs0ü ÿìˆzQc"vAþ)—õ‘ŠÀ*AüM&(CNF“^±vA‚qŸŽŽ,g@£Xþ Óþ[?³ÂgvA™)&Ï€ÀĈü z–ÊVPìœ{uAˆÌ÷÷Ù_@l±üM-u#õ¹‘žtASՐŽVõ‚ÀO„^PSGGTffffÊ2”A %ü †ôTàžˆÝÊvAÿà`Ù¬‚@"ÿLès'CÔþïtAô}ÈV•yÀ…üNžÜ@=>ÄàžwAŽˆ¹tY }@düLÀº”0§xZwA5BŒBx‰ÀT ü £­ñœxù¡ŠrA4¢V]˜yÀs0ü ÿì 5ém"vA¯Zhƒ‘ŠÀ*AüM&(ô· w\±vAš­n…Í)g@£Xþ Ó©iÄèÈgvAÇ@…ï€ÀĈü z–ö]‰gŒ{uA¬Øîì×_@l±üM-u|Òc™žtAäñ¯$õ‚Àù8êÿPSGGT333gÊ2”A %ü †ôà‘JrÖÊvAXg¬E­‚@"ÿLèsï€Ø'ïtAm5y¹œ•yÀ…üNžÜaù”ÚžwA&…ø }@düLÀºÔÖ?sdwAì‰Ô u‰ÀT ü £­g4"ΊŠrA úŸ=™yÀs0ü ÿìÁ5/mx"vAµzáAV‘ŠÀ*AüM&($/Z±vAŸ Ÿ)g@£Xþ Ózm,ÏgvAèџŠU€ÀĈü z–M%Þº{uAùÿ ÕNÔ_@l±üM-utŸ Å žtA%f®[’ô‚À§×íºPSGGT ü @ ®Á¿ð‡t(ìæXBÝø>²çlPSGG"@£Xþ Ó œĈü –z%ü ô†• À ÿÿ úIÿÿs0ü ìÿ˜T ü ­£·8ÿÿ—ÿÿ"ÿLsèðdüLºÀÊ…üNÜžl*AüM(&©l±üMu-–®‘ŽC(å@Ÿ ÿÿ×*üT!)ÄKŒCŠ t ü@Æýÿÿ@ ’ÿÿ@l¥ÿÿœš§RPSGG!$MÕ À ŸœKPSGGĈü @ ®G¿r4rP•PXBÝøªÎށPSGGs0ü @ ®£¿ÕàÖP2XBÝø^sƒFPSGG£Xþ @ ®Ž¿Ìc(µhÅ9XBÝøºK.PSGG%ü @ ®A¿XÌXÑ-XBÝø²b‡PSGGThÊ2”A %ü †ôöHÏÊvAX.L+Ƭ‚@"ÿLèsQ:ZïtA2"‘õU–yÀ…üNžÜ‰*ÅԞwAg"I; }@düLÀºTà¹mnwA]Š­‰ÀT ü £­”õ«ŠrAìT3!˜yÀs0ü ÿì3Pƒ"vAÊãáWk‘ŠÀ*AüM&(ÌΡþW±vA®€]‰”(g@£Xþ Ó9ŸÕgvA£M™Q¯€ÀĈü z–Ž;¹{uA÷(DæÓ_@l±üM-uRIP`šžtA:0(•õ‚Àì»ÆPSGG zO¶üyIAݳúI`†:AQt|†i“SAþH ë@zýÆYÛ|?õÄU6§w?Zàe*àñ¿sÕ °Â_@ãJò>ºð?~Rsw„°@›= \­@ ̰@„^b4óê@4êÿ§f(@@àã„AºÁeA$Âè0PSGG "hÊ2”AÑ+PË@î?j¯¹—Þ·Þ?‹˜1©ùq@E7@ §MÕ ŒÊDµùÅ@Á·n•@Ž@’_ˆL±ûù?«çR1 ù?ɎÏ¶û?4s¯ÞjÁ_@ÀÅ£oë@Ò»Àðê@eғõuv‘?~¬ø§A@ œPSGGTÍÌÌhÊ2”A %ü †ô”EcÇÊvA²ÞyÎ-­‚@"ÿLèsŒ>`ŒïtAŶG쎖yÀ…üNžÜ)”+‰ÏžwA *3Ò }@düLÀº#1«xwAOKÍS€‰ÀT ü £­ÔqE±ŠrAh!™±™yÀs0ü ÿìò﷍"vAš5'¥{‘ŠÀ*AüM&(°÷ÞæU±vAŽx£ä¶'g@£Xþ Ó_@L;ÜgvAˆ^ ’é€ÀĈü z–…䇷{uAU»#5Ò_@l±üM-uЧ°žtAëÍi‚¹õ‚ÀŠFLCPSGGTš™™iÊ2”A %ü †ô*Ö‹¿ÊvAÂBËãø«‚@"ÿLèsÓäÀ~#ïtA•šêˆI—yÀ…üNžÜL<£lɞwAA°Â0l }@düLÀº›b‚wA ™.‰ÀT ü £­ -A¶ŠrABàòNâ™yÀs0ü ÿììÊ_˜"vAƒ€©™Š‘ŠÀ*AüM&(‡BÏ[S±vAÑYàùg&g@£Xþ Óäé—âgvA£…`™q€ÀĈü z–e’)¶{uAþCJ!Í_@l±üM-uaØ6…·žtAY*( Iõ‚À›™$=PSGGTfffjÊ2”A %ü †ôRjÄžÊvA]{MŠa¬‚@"ÿLès=øœ€(ïtAáŠöŠ•—yÀ…üNžÜšÊnKÞwAâðö4 }@düLÀº"ø„fŒwAƒdr,D‰ÀT ü £­§`CT»ŠrA6Ë€šyÀs0ü ÿì@³‰ë¢"vA}`0w·‘ŠÀ*AüM&(å;£ Q±vAØÄ”žE'g@£Xþ ÓŠ[égvA\iv€ÀĈü z– Ê{sŽ{uA€Úq…øÊ_@l±üM-u~ßF9¿žtAEipÊõ‚À{äήPSGGT333kÊ2”A %ü †ôJ™Ñª°ÊvA«8ê!ü«‚@"ÿLèsªŒÑÅ-ïtA²&Óè?™yÀ…üNžÜÇq2ŽŸžwAeÓÞÿ }@düLÀºBÅhx–wA=³Ý­ˆ‰ÀT ü £­ˆóµ­ÀŠrA®¬Ôo+›yÀs0ü ÿìá§!›­"vAü&ŠE’ŠÀ*AüM&(kœvN±vAÎ'0è1#g@£Xþ Ó œæïgvAÞÀ’ÿ€ÀĈü z–œeÚ²{uAÞ¿«šÅ_@l±üM-u~‰ÆžtAgùl÷‚ÀsŒPSGG"@£Xþ Ó žĈü –z%ü ô†– À ÿÿ úIÿÿs0ü ìÿ•T ü ­£¹8ÿÿ—ÿÿ"ÿLsèídüLºÀÄ…üNÜžj*AüM(&©l±üMu-“®‘ŽC(á@Ÿ ÿÿ×*üT!)ÄKŽCŠ t ÷@Æýÿÿ@ ’ÿÿ@l¥ÿÿœš²RPSGG!$MÕ Á žœKPSGGTlÊ2”A %ü †ôCJN©ÊvA}wXp «‚@"ÿLès7×`ð2ïtA"xµëșyÀ…üNžÜuT֛·žwA‰'<”Ý}@düLÀº&O¥^ wA2£èé ‰ÀT ü £­ÕïÆŠrA‡I›_yÀs0ü ÿìù˜8ž"vAÄ U¿Š’ŠÀ*AüM&(O±­HL±vAªç'Eg@£Xþ Ó¬£B$ögvA 4rSÉ€ÀĈü z–ÐEÝ4±{uA#×J!ÂÀ_@l±üM-uE„aΞtAJÚæ-§ö‚À'kìåPSGG úM,üyIA,O-`†:AUϜwi“SA o@Äë@ÿÜI?ô&©ÿï*l?ùÌ¡ÜO’¿4êõìåÍ_@Ë¿›Åºð?jHíQ¯@'¬Âà­@¯ÅŸ)h@¢ ):3ë@])è Ë(@€æã„AÓÁeA†-©ªPSGG "lÊ2”AH¿@î?’CÞ·Þ?Bw®Âq@O7@ §MÕ ¿É3ÌÅ@ü,Ì)Ž@“–G_Sûù?ä]Çù?Á‰Rò¶û?V¯ÑvÂ_@É®«ðBë@ Ë Bë@j*®‘?s8‹:X @ù«- PSGGTÍÌÌlÊ2”A %ü †ôë€ s¢ÊvA¹> x¬‚@"ÿLèsՉ98ïtAN®yUL˜yÀ…üNžÜ ‹ÿ±žwAc “« }@düLÀº£ygªwAT””~‰ÀT ü £­á²SãÊŠrA`…AŽþšyÀs0ü ÿì§áCïÂ"vAƒ€©™Š‘ŠÀ*AüM&(֗N/J±vA€OQ %g@£Xþ Ó,—TÂügvA î }€ÀĈü z–"ª›¯{uA!ŸáÄÆ_@l±üM-uÖ ÖžtAw衞ÿõ‚À\m†BPSGGTš™™mÊ2”A %ü †ô.÷ÖmšÊvA^.*ƒ¬‚@"ÿLäl4» =ïtA}]Rgn˜yÀ…üNžÜ9Œ© ¬žwA?ÛR»Ä }@düLÀº>®??ŽwAŸâI ‰ÀT ü £­íޛЊrAQ]®¬ÑšyÀs0ü ÿìÇd‰Í"vAáT ÇN‘ŠÀ*AüM&(ŽîC}G±vAŽõ7 $g@£Xþ ӐîÐMhvAá7!Œ€ÀĈü z–@5èý­{uA–>©ÙÕÅ_@l±üM-uý‡ÝžtA2QÝ$ö‚Àôëè›PSGGTfffnÊ2”A %ü †ôG>c-“ÊvAVš@þ«‚@"ÿLälr1ûIBïtAìs”m™yÀ…üNžÜ[˵’ŠžwA»|Š- }@düLÀº÷qé1ŸwAd’zY¶‰ÀT ü £­7ènÕŠrA Ûi Á›yÀs0ü ÿì«cèIØ"vA¬Ê+Ž™‘ŠÀ*AüM&(òº E±vA$œqó "g@£Xþ ÓrX}¢ hvA&¯›u€ÀĈü z– Ïd¬{uA}.1 Â_@l±üM-utÍ'ØäžtA„Y@d-ö‚À›¹PSGGT333oÊ2”A %ü †ô<Úúˆ‹ÊvAé\õÚ«‚@"ÿLälÛ>¬BGïtAìs”m™yÀ…üNžÜîÛ¥Ž žwA:œë† }@düLÀº¹’Ú€ÈwAŸ°0*>‰ÀT ü £­ù?MÚŠrAÌ¿|œyÀs0ü ÿì\Våâ"vAMö4`ՑŠÀ*AüM&(FcŸB±vAƒvì†ý"g@£Xþ ÓYÑèhvA 4rSÉ€ÀĈü z–Ñp¬ºª{uA¹;ãkwÀ_@l±üM-u-¯t]ìžtAۖIjö‚Àñ5:PSGGT ü Ð ®00pÖÜ `}ÖXBÝøÜºapPSGG"@£Xþ Ó ¡Ĉü –z%ü ô†“ À ÿÿ úIÿÿs0ü ìÿ˜T ü ­£º8ÿÿ—ÿÿ"ÿLläïdüLºÀÄ…üNÜžo*AüM(&©l±üMu-“®‘ŽC(â@Ÿ ÿÿ×*üT!)ÇKŒCŠ t ü@Æýÿÿ@ ’ÿÿ@l¥ÿÿ¢š‹RPSGG!$MÕ Â œKPSGGĈü Ð ® 1?Ҕ-ÐA-XBÝø8§­PSGGs0ü Ð ®%µOÑäÖ°j#XBÝøÑøNYPSGG£Xþ Ð ®B4=Ö¬ 8jXBÝøžrÍPSGG%ü Ð ®Ã1€C 'P¬RXBÝøŠ>`ÙPSGGTpÊ2”A %ü †ôbÐ'E„ÊvA»ÈpÉ%¬‚@"ÿLäl¿`gkLïtA©{©Í|™yÀ…üNžÜŸx„òšžwA¯°t }@düLÀº±¥¯cÒwAFՀ‰ÀT ü £­%d.`ߊrA¿)ÍœyÀs0ü ÿ씏uŽí"vA²ê€°l‘ŠÀ*AüM&(s7‚’@±vA.MþŠÄ!g@£Xþ Ó?"vhvAöÿi0€ÀĈü z–oÖ-©{uA‰¢à-³À_@l±üM-uaû9ôžtA_ó¥Ç%ö‚ÀÅûbPSGG ôŽx7üyIA6ó'ñ_†:AÅûÃqi“SAžõÞ³%ë@„ˆ†Æ‘ñ{?¯ š:m?8 ú­}#‘¿‚<ÿÛjÉ_@0ŒÉ:L»ð?Ÿ760®@ÉÀ›c®@* ã2Î@žWQQë@n? Ì=$@Àìã„AìÁeAÌ4 üPSGG "pÊ2”A¿!ž@î?üŠS!Þ·Þ?©ÞÊå8q@J7@ §MÕ ¿NžÅ@N‰Y–Ž@wÌUŽôúù?'ª]ù?àúdÀ·û?F{|mÃ_@n6¹z"ë@Õª9ŽAë@oúÌ-Hóz?é1ﮑ @aMCPSGGTÍÌÌpÊ2”A %ü †ôêýE”|ÊvAn¬/hñ«‚@"ÿLäl9RªQïtA¬«gtšyÀ…üNžÜáÐZj•žwAJ&6[ }@düLÀºmÙ^“ÜwAøÔ𫂉ÀT ü £­~'{äŠrAl Ir¡œyÀs0ü ÿì!ŒAø"vA^Z-€®‘ŠÀ*AüM&(nplk>±vAªe¢ñŸg@£Xþ ÓNFÞîhvAèÒLW€ÀĈü z–í E¬§{uAšÜŠm°º_@l±üM-uŽjÀËûžtAûtšz÷‚À8ÂâPSGGTš™™qÊ2”A %ü †ôŒÛŸuÊvA‡šŒŽ«‚@"ÿLälI+ЪVïtA‘É—îQšyÀ…üNžÜžBº#žwATMÄ-ã }@düLÀº¡ž~hæwA§ÿç—‰ÀT ü £­3Àž—éŠrAT_'!yÀs0ü ÿì×|œ#vA²ê€°l‘ŠÀ*AüM&(ä £¿;±vAŒrÌ-W g@£Xþ ÓE\ #hvAi·gžd€ÀĈü z–:]Š{uAõ þ»_@l±üM-u Y3T¹tAJÚæ-§ö‚À€=eáPSGGTfffrÊ2”A %ü †ô cèåmÊvAŸžV¬‚@"ÿLäl[P6±[ïtAU¶¯*êšyÀ…üNžÜ7ЉžwA¡Uå‰ }@düLÀº-@]}ðwALF §‰ÀT ü £­[ŒÆîŠrA# u›yÀs0ü ÿìy,¹tAÍ)—ñö‚Àëš$ÒPSGG  AüyIAnjšÑ_†:AëÖ³ki“SAvØ¿ ±5ë@°7‹^ó…u?ïEpƒãl?Ž}Æ=Bš¿å鬣À_@#ƒOÓ»ð?NŸCví¬@@6£Aè®@†ÍNI6@-œã?X%ë@o—gÿÜ @óã„AÂeAL³.PSGG "tÊ2”As!…²@î?Ml²÷Ý·Þ?Tk Œq@H7@ §MÕ !"œãpÅ@\‡ ü³@çyÿ–úù?8{õóù?LÐ)6·û?Rì‘Ã_@w3 <2ë@¥së!ë@tëŠß4^Ž?¬çM…À@Cÿv(PSGGTÍÌÌtÊ2”A %ü †ô›¥TWÊvAÎÐÆ^'«‚@"ÿLälÁ€™QkïtAçöÜíKœyÀ…üNžÜ:" ¿xžwA[” b}@düLÀºίD«€wAÂιÎ]‰ÀT ü £­±à þŠrAƍŒ»®yÀs0ü ÿìõnyu-#vA}`0w·‘ŠÀ*AüM&(©8ºW2±vA§„­©g@£Xþ Ó²»ºÙŠ€wA`C?“H‰ÀT ü £­‰¢j§rADxwŸšžyÀs0ü ÿì] cë7#vADF¬’ŠÀ*AüM&(‹i80±vA«ôé®Èg@£Xþ ÓËg™UChvAJ“9ñT€ÀĈü z–žÐR>ž{uAš„“` °_@l±üM-uDðÔ¯)¹tA•û-ŸÑ÷‚À}ˁûPSGGTfffvÊ2”A %ü †ô:TüuHÊvAÄÌ”Š«‚@"ÿLälµÏŠuïtA=‚œyÀ…üNžÜÌ«ÌelžwAJ&6[ }@düLº¹AÒÇ"€wA;oàŒ®‰ÀT ü £­M¹“§rAÌñè©BŸyÀs0ü ÿì†D‚B#vAƒ€©™Š‘ŠÀ*AüM&( E‘þ-±vAȶ"3g@£Xþ ÓnŽ|ÆIhvA[‚n@j€ÀĈü z– ¬Ž«œ{uA«?ØŠ°_@l±üM-u Ûù0¹tAõI—1ö‚ÀšÚp0PSGGT333wÊ2”A %ü †ô±µAÊvAÀ$ñ††«‚@"ÿLäl€‹ß¹zïtAÊH’՝yÀ…üNžÜ䓿RgžwA&‰I®Z}@düLº¹:÷ɜ,€wA¡wä‰ÀT ü £­é*nk §rA{/ŒžyÀs0ü ÿì[š#M#vA»AH&’ŠÀ*AüM&([^–¶+±vA ·Iï'g@£Xþ Óà<_SPhvAœ€ÀĈü z–æ®Ý›{uA³dÃú°«_@l±üM-uYœÆÜ8¹tA}d҇Kø‚ÀIu°PSGGT ü `®' /˜VXBÝøµjÄPSGG"@£Xþ Ó €Ĉü –z%ü ô†˜ À ÿÿ úIÿÿs0ü ìÿ˜T ü ­£º8ÿÿ—ÿÿ"ÿLläòdüL¹ºÊ…üNÜžr*AüM(&šl±üMu-–®‘ŽC(ë@Ÿ ÿÿ×*üT!)ÌKŽCŠ t @Æýÿÿ@ ’ÿÿ@l¥ÿÿ¡šSPSGG!$MÕ Ä ›œKPSGGĈü `®ô$* /ðŠTXBÝøfA`ÇPSGGs0ü `®d€I /ÀhVXBÝøAIáÄPSGG£Xþ `®À5 /PjTXBÝø50¡ÆPSGG%ü `®‡ÙQ /À®TXBÝøô?ÆPSGGTxÊ2”A %ü †ô÷šw99ÊvAŽ…ýòª‚@"ÿLäl¶ò¯ïtAeiKyÀ…üNžÜ_l$DažwA»|Š- }@düLº¹­Nìl6€wA{%P¢‰ÀT ü £­M«;”§rAÜn€2 yÀs0ü ÿìI#jªW#vA¬Ê+Ž™‘ŠÀ*AüM&(Šä:)±vAG-/õ9g@£Xþ ÓˆZÚœVhvA¯PWç€ÀĈü z– l‚™{uA Ú(—©_@l±üM-u¢”M@¹tA_ð?î ø‚À¯ -PSGG ¯åQ?üyIA”IB¿_†:A:œ}hi“SAy>ŒÃFë@5ô`$Qf?FlÆq?ÇȲz¢˜‹¿`bgÂêÇ_@£¥ÿZŒð?¿šv\»«@Äê¿:l¯@=c{@„§ÌÎa5ë@Î@J6õ\@@ùã„AÂeAÜPSGG "xÊ2”AõØ^³@î?ƒŸðçÝ·Þ?ÿMžGq@€K7@ §MÕ ÿÛPCÅ@’m;å³@õWqâ8úù?µ‰{Šù?Kh;3X·û?Ÿl7Ä_@n)•­ãBë@ñÍ&2ë@yÛ?Дx(ˆ?À§sm\@AQ]ûPSGGTÍÌÌxÊ2”A %ü †ôõ nÐ1ÊvAc·®«‚@"ÿLälÛ­à„ïtAõPrŠyÀ…üNžÜDü”Ë[žwA…¢ ë}@düLº¹Mks¡@€wAž3 ‰ÀT ü £­{ˆ Û§rA”ÁD\ŸyÀs0ü ÿì¯Ð[b#vA_‹9Ió‘ŠÀ*AüM&(gÒX'±vAGÜs+Àg@£Xþ Óçº K]hvAӓ•Çx€ÀĈü z–ŒúÕú—{uAÇd··š_@l±üM-uóãÂèG¹tA[÷ ÷‚ÀÅ-ÂPSGGTš™™yÊ2”A %ü †ô¢6‚j*ÊvA9_ÂÙUª‚@"ÿLäl®wî‰ïtA™§ ZlžyÀ…üN£×MA•UžwAOr”x÷}@düLº¹ޙ€yJ€wA)×ð“‰ÀT ü £­ð‘ë§rAp€;[0¡yÀs0ü ÿìåñvçl#vA3±zÃú‘ŠÀ*AüM&(8™$±vA_ô° Ÿg@£Xþ ÓOÍ¢žchvAáØÁý€ÀĈü z–²¹ S–{uAq ì€_@l±üM-uzÊ|O¹tA[ã,«ø‚À.9PSGGTfffzÊ2”A %ü †ô2SÈÛ"ÊvA~0c骂@"ÿLälàяïtAdAR8‘ŸyÀ…üN£×öµ!ìOžwAk XBq}@düLº¹ÉT€wAʱãz‰ÀT ü £­gæ"§rAâÒÐõÅ¡yÀs0ü ÿ싳:„w#vA­W׳µ’ŠÀ*AüM&(¬§H"±vA;6v«g@£Xþ Ó~­B jhvAFVº”€ÀĈü z–NKñƔ{uAdA _@l±üM-uw·ÍW¹tA:Š¥Qø‚ÀOU>PSGGT333{Ê2”A %ü †ôVåtlÊvA5"•Llª‚@"ÿLäl)7©F”ïtAä—xžžyÀ…üN£×E«vJžwA¡:ßÕd }@düLº¹Z.’•^€wAæiY‰±‰ÀT ü £­4jX;'§rAýØT|ý¡yÀs0ü ÿìÉ¢ˆ‚#vA0!>2’ŠÀ*AüM&(ì  ±vA€ M†–g@£Xþ ÓãÞúphvA]”þzH€ÀĈü z–dæ8“{uA­zÝ-¢_@l±üM-uWçXœ^¹tAæ(Ä#ø‚Àö˜ 3PSGG"@£Xþ Ó §Ĉü –z%ü ô†• À ÿÿ úIÿÿs0ü ìÿ”T ü ­£»8ÿÿ—ÿÿ"ÿLläñdüL¹ºÆ…üN×£t*AüM(&Šl±üMu-•®‘ŽC(ë@Ÿ ÿÿ×*üT!)ÉKŽCŠ t @Æýÿÿ@ ’ÿÿ@l¥ÿÿªš>SPSGG!$MÕ Å šœKPSGG "ÿL@{œ@ÂâÀ¬Ó‘€…AÖê˜ÀI?ÀmCš@Ãé@dýS@ãU€€Ÿc»Ç‹PSGG l±üM@{œ@ÂâÀ¬Ó‘€…AÖê˜ÀI?ÀmCš@Ãé@dýS@ãU€€Ÿ-ĊPSGG *AüM@{œ@ÂâÀ¬Ó‘€…AÖê˜J?ÀmC(@ÃéÐ@dýÓ@ã€>ë2Ç PSGG düL@{œ@ÂâÀ¬Ó‘€…AÖê˜J?ÀmC(@ÃéÐ@dýÓ@ã€>¥kÇ PSGG …üN@{œ@Â"À¬ÓQ@…AÀé‚ÓHÿ@nCšÀ­ë@ð“€ã&V@€>ďOPSGG ×*üT@{œ@ÂâÀ¬Ó‘@…AÖÀé‚H?@nChÀ­ëP@ðS€ã&–@€þ–µO›PSGGT|Ê2”A %ü †ôMR*ÎÊvA‚>Ö­ ª‚@"ÿLälÇaåm™ïtA‘ÒÕ% yÀ…üN£×ßêT`DžwA'ïÉ@}@düLº¹Î¡h€wAâ%\˜×‰ÀT ü £­Và¬p,§rA'4„o¡yÀs0ü ÿìAnj#vAGÖ»=’ŠÀ*AüM&(­¡±vA‡-wÂ.g@£Xþ ÓüãwhvAøÞŠ¥1€ÀĈü z–MŸùš‘{uA4Dq±•›_@l±üM-uП»rf¹tAÛ€±~wø‚À šŸIPSGG ®//4üyIALlÏ_†:ACŒzki“SAÝ2„Vë@^ü1ÓMË<ø@@€ÿã„A7ÂeA‚ŒU€PSGG "|Ê2”AÇŠóž@î?ª?_Þ·Þ?”’*q@H7@ §MÕ ~[ÌÅ@‡_ zγ@ÍêÒÚùù?Űî ù?ð/pz·û?/4ŠyÄ_@(„‡Së@}ædÁBë@~ŠkIóFy‡?àÇUp@œÖ]xPSGGTÍÌÌ|Ê2”A %ü †ôðÀ“± ÊvAńKˆª‚@"ÿLäl„ä¯žïtA™ÇÈûŸyÀ…üN£×”¹Š²>žwA>Rë}@düLº¹0ñ^Œr€wALrÑæ‰ÀT ü £­ŸÌOw1§rAiàÔg—¢yÀs0ü ÿìЃ_u—#vA*Å>’ŠÀ*AüM&(’‹±vA„=Dìg@£Xþ Ó|¶iE}hvA(å躀ÀĈü z–Í<–{uA]zgà›_@l±üM-uøŒ,0n¹tAgƒüçÁø‚À»©ãŽPSGGTš™™}Ê2”A %ü †ôB3ùÊvAçRwü©‚@"ÿLälöÅ­¶£ïtAU¿3Ÿ yÀ…üN£×Ú9žwAúUœrå}@düLº¹=„“Ÿ|€wA9ÜMüR‰ÀT ü £­µ Y«6§rAòOŒSµ¢yÀs0ü ÿì«„á¢#vAŸìۜӒŠÀ*AüM&(ºþ·Z±vAN°Áâg@£Xþ ÓRâƒhvA› mQ‚€ÀĈü z–$ŠûOŽ{uAiƒ™È˜_@l±üM-u^h:au¹tA|êðUù‚ÀuÖݓPSGGTfff~Ê2”A %ü †ôÖ[”ýÉvAì8H=ª‚@"ÿLälhÚ¶šïtA=7æ› yÀ…üN£×l5§.3žwAéUÒž}@düLº¹[­©¬†€wAv•*nî‰ÀT ü £­ùÜŠ;§rAòOŒSµ¢yÀs0ü ÿìëšjª¬#vA}ÓF1D’ŠÀ*AüM&(„›çô±vA#F¿#g@£Xþ ÓXÎDŠhvAŸÜÛlm€ÀĈü z–€ÕҌ{uAC—S˜_@l±üM-uäÆw÷|¹tAÃêSHø‚À›?:šPSGGT333Ê2”A %ü †ô.=öÉvAèTë7ª‚@"ÿLäl®`1æ­ïtA= "2“¡yÀ…üN£×x­"D-žwA»®UŒ}@düLº¹œËIu€wAÛYdÅI‰ÀT ü £­âI"È@§rAd€ž»£yÀs0ü ÿì2Š_`·#vAŒ sc’ŠÀ*AüM&(᷎ʱvA¥L&álg@£Xþ Ó±Éú»hvAÒ&ž€ÀĈü z–ۑ9C‹{uA-uËù–_@l±üM-uçÓꄹtA+:ducù‚À&•jÑPSGGT ü ð®€Ô+F("XBÝøº›pPSGG"@£Xþ Ó «Ĉü –z%ü ô†– À ÿÿ úIÿÿs0ü ìÿ’T ü ­£Œ8ÿÿ—ÿÿ"ÿLläðdüL¹ºÆ…üN×£t*AüM(&§l±üMu-–®‘ŽC(è@Ÿ ÿÿ×*üT!)ÇKŽCŠ t þ@Æýÿÿ@ ’ÿÿ@l¥ÿÿªšÇRPSGG!$MÕ Æ ™œKPSGGĈü ð®€Ô+F("XBÝø*3p€PSGGs0ü ð®€Ô+F("XBÝø‹pPSGG£Xþ ð®€Ô+F("XBÝøMãrPSGG%ü ð®€Ô+F("XBÝøË»pPSGGT€Ê2”A %ü †ô;ÒOaîÉvAÔJ!yúª‚@"ÿLäl7޳ïtA^:’ìY¡yÀ…üN£×Žˆæ¢'žwAMï¹ y}@düLº¹³ÆÊ™š€wAŒ©¥÷‰ÀT ü £­{(ÛE§rAîíØÙh£yÀs0ü ÿìqƬþÁ#vAü&ŠE’ŠÀ*AüM&("‚áo±vA³|4g@£Xþ ÓR×Qü–hvA}ã}ƒÔ€ÀĈü z–ITª‰{uA Iº·Ð”_@l±üM-u5î²FŒ¹tA :(…ø‚À 0~ŽPSGG aˆE+üyIAþåÌ_†:A¹‘ri“SAzyî„4fë@O›ñªC‚Z¿cÐVÇO§?JÒ©j„¿ŠCA…Å_@aHµDiœð?ŸKÍX©@iàŠt°@J‡Ôl@,/ŽáUë@t‘žaÕ@Àä„APÂeAØ€PSGG "€Ê2”A5>•Â@î?+* Þ·Þ?ƒ99äßq@H7@ §MÕ G„=¢èÄ@, Oü·³@Àð;}ùù?Ûꁊžù?ÕÚTœ·û?p sG—Å_@Ri’ïrcë@š ŸGŒRë@ƒNþ£†?`ߎzØ@}ßPSGGTÍÌ̀Ê2”A %ü †ôl”žAçÉvAãJª‚@"ÿLälµžö4žïtAž7€±¡yÀ…üN£×±œè!žwAZêÈŽ}@düLº¹N™€€wA”šÏFމÀT ü £­"ËžK§rAôQÈü€yÀs0ü ÿìöýŞÌ#vAögr’ŠÀ*AüM&(LŠB±vA!~íg@£Xþ Ó!¿ŠÏhvA!£Ž/€ÀĈü z– cˆ{uA$àYP‘_@l±üM-u!T¬7”¹tAW=ÖÏ@ù‚ÀŽLg×PSGGT𙙁Ê2”A %ü †ôx,=’ßÉvA® ª‚@"ÿLäl†Ö=œïtAޘc‰î¡yÀ…üN£×aížwA˜¶1}@düLº¹KÖšœ®€wA ùC‰ÀT ü £­x®ïì $vAǜ‘P’ŠÀ*AüM&(Šç1±vAÁŒÉ$g@£Xþ Óø/ßÇÊhvA2v9Ì£€ÀĈü z–®•¢*}{uAÓ©j¬y„_@l±üM-u’N‡;ɹtAéé3€ù‚À£Š…PSGGT333‡Ê2”A %ü †ô %!«ÉvAÊêÀj(©‚@"ÿLälp­ä)áïtAœŽ(+¥yÀ…üN£×\™A°ówA€â6…}@düMº¹;Ä4ô€wA}ˆåŸŸ‰ÀT ü £­Â)Sæs§rA€öWáN§yÀs0ü ÿìA9Ρ!$vA‚à…ñ’ŠÀ*AüM&(|K„Êý°vAÓj‹†. g@£Xþ Ó_¡@ÑhvA5·öŒ€ÀĈü z–?ýޟ{{uA¯#Få‡}_@l±üM-uY?äÃйtAìOŽ„ú‚ÀnàPSGGT ü €®00XBÝøË#ð‚PSGG"@£Xþ Ó ®Ĉü –z%ü ô†“ À ÿÿ úIÿÿs0ü ìÿ‘T ü ­£Œ8ÿÿ—ÿÿ"ÿLläîdüM¹ºœ…üN×£p*AüM(&¥l±üMu-’®‘ŽC(à@Ÿ ÿÿ×*üU!)ŸKŽCŠ t ÷@Æýÿÿ@ ’ÿÿ@l¥ÿÿªšÜRPSGG!$MÕ È —œKPSGGĈü €®00XBÝø[‹ðƒPSGGs0ü €®00XBÝøì3ð‚PSGG£Xþ €®00XBÝø<[ò‚PSGG%ü €®00XBÝøºð‚PSGGTˆÊ2”A %ü †ôòR%€ÉvAAç åڂ@"ÿLälUqn;æïtA=@j‚ê¥yÀ…üN£×;líwAÎKR3}@düMº¹ešxþ€wAð Ë[‰ÀT ü £­“‡OOy§rA 3퀧yÀs0ü ÿì©tV,$vAWh/»R“ŠÀ*AüM&(`1$’û°vA;ruŒ@ g@£Xþ Ó•×â¯×hvA5·öŒ€ÀĈü z–Kü‰øy{uALëÌ_{_@l±üM-uО›.عtA5Ì_ðû‚À³ %ìPSGG ðp:üyIA‡`†:AÆæ'…i“SAõŸ16†ë@ GÂvÿ|Y¿xŒŒ°è:x?ìÉû˜G…¿Z e˜_Ê_@Xô§UwŸð?IRžîóŠ@ý ëò{±@GRa:@€ò&t‹uë@ŒJ&w[Ò@@ä„A‚ÂeA³Œ(?PSGG "ˆÊ2”AsóíÛ@î?j£gÞ·Þ?‹ ,Cq@J7@ §MÕ ‚í?Ä@':Eг@ StÀøù? ÞÎåù?ð»”äß·û?îV5wÒÆ_@Opv⑃ë@=â›Ó¹rë@ûSxZã*ƒ?@3N”š@>€ædPSGGTÍÌ̈Ê2”A %ü †ôtЀœÉvAúÕ÷a7©‚@"ÿLälènʼnëïtAuÐüuÀ¥yÀ…üN£×ü7lýçwA3ÚЮ}}@düMº¹«ï?¹wAð Ë[‰ÀT ü £­øÚ<~§rAF{q§yÀs0ü ÿìè{ÛÙ6$vA ,Îáy’ŠÀ*AüM&(îëxù°vA]ÕØ– g@£Xþ ÓbT›kÞhvAZÀkbš€ÀĈü z–¡#önx{uA¬®6,~_@l±üM-u‹ˆÓÚß¹tAÞ÷!`òù‚À*€ÒçPSGGT𙙉Ê2”A %ü †ô÷xl*•ÉvA÷Ð|óO©‚@"ÿLälîî9ðïtAcµEÂ¥yÀ…üN£×ÊÖŽáwA`Œå5*}@düMº¹Œm˳wA"£:ñ‰ÀT ü £­°úÎ׃§rAF{q§yÀs0ü ÿìŽ/þ•A$vAªÇš"̒ŠÀ*AüM&(Hyz$÷°vAʒۑS g@£Xþ ÓˆßòóähvA —o€ÀĈü z–*ÛÇv{uA¯#Få‡}_@l±üM-ueŠb)ç¹tA$„í“ú‚ÀSœÙ^PSGGTfffŠÊ2”A %ü †ô¢ v’ÉvA`Ex$ ©‚@"ÿLäl£ª›õïtAuÐüuÀ¥yÀ…üN£×äþŒMܝwAÒñöÃ.}@düMº¹¶œˆwAõ( ­‰ÀT ü £­S󌯈§rAšXyêŠyÀs0ü ÿìŒ9L$vAâáKíj’ŠÀ*AüM&(H†Å—ô°vACª[€g@£Xþ Ó…TÐ@ëhvAZÀkbš€ÀĈü z–+ìç&u{uAsgÅd|_@l±üM-uˆ«£®î¹tAÓːá6ú‚ÀœB ÔPSGGT333‹Ê2”A %ü †ô]hdB†ÉvAœÿ‰s©‚@"ÿLäl}`•³úïtA’ÛŸ»ù¥yÀ…üN£×|öž–֝wAï3âz}@düMº¹}JJg&wAZíEk‰ÀT ü £­ú Jݍ§rA„¡gšyÀs0ü ÿì»óÒV$vAŒ sc’ŠÀ*AüM&(6€ÿDò°vA?Ë ÿg@£Xþ ÓSñÜ¿ñhvAyф“õ€ÀĈü z–•Áœs{uAó±w_@l±üM-uBŒgçõ¹tAý+©ê ú‚À9â}õPSGG"@£Xþ Ó ²Ĉü –z%ü ô†’ À ÿÿ úIÿÿs0ü ìÿ‘T ü ­£¿8ÿÿ—ÿÿ"ÿLläïdüM¹ºŸ…üN×£o*AüM(&šl±üMu-®‘ŽC(Ý@Ÿ ÿÿ×*üU!)ŸKŽCŠ t ó@Æýÿÿ@ ’ÿÿ@l¥ÿÿªšôSPSGG!$MÕ É –œKPSGGTŒÊ2”A %ü †ôëô¹~ÉvA™4Üù§‚@"ÿLälnÏ7ÖÿïtARòOšyÀ…üN£×*·ÐwA"I|•}@düMº¹~;k0wA ¹–ËÞ‰ÀT ü £­šlgþ’§rAÿ ÓŠš©yÀs0ü ÿìžóka$vA ¹y–“ŠÀ*AüM&(œŠ$ð°vAˆjRág@£Xþ ÓÖÓÙ(øhvAžä²)ì€ÀĈü z–Ù?Pr{uAaL>Þp_@l±üM-uþŸitý¹tAŽös;Ûû‚À2ÖW…PSGG „ŒûüyIAt„Ü.`†:A抓i“SA&ÁŽÆp–ë@ÔïKßÒkI??Åwx!lt?˜ŸØñ”‡¿N%é€÷Ð_@#QäLþŸð?ñŒ’iÁ¥@#ØÇÒþ±@ Û+ @û¥§sޅë@¯—wñ‘ @€ä„A›ÂeAÚṴPSGG "ŒÊ2”AHž#â@î?æ9‘Þ·Þ?6³âq@€C7@ §MÕ ²_&_Ä@«"s³@µOÐraøù?nÍö{ù?\cYžû?‘×4EåÆ_@ X\“ë@‰ ®ŠÈ‚ë@’Âж˿—„?dܟÈÍ@Ž”PSGGTÍÌ̌Ê2”A %ü †ô9e‡UwÉvAõ–$jOš‚@"ÿLäldÍÜðtAàá®ãšyÀ…üN£×4ÓîØÊwAÕoC‡s}@düLº¹‰ѹ:wAÈ"%@‰ÀT ü £­ˆ@ ˜§rA¬ƒŒK!ªyÀs0ü ÿì2Êü#l$vAœL`ŸÙ’ŠÀ*AüM&(êŽ Ñí°vAÙj"dg@£Xþ ÓX„š€þhvAßOÕã-€ÀĈü z–”f¯›p{uAà _+Õm_@l±üM-u4³þºtA"X)ìû‚ÀрzìPSGGTš™™Ê2”A %ü †ôõoÉvAT–{žš‚@"ÿLälj:3A ðtArT WˆšyÀ…üN£×Q ÌÓĝwAy-^I}@düLº¹:1DwAâšé*‰ÀT ü £­O¥áC§rAš@Çÿ©yÀs0ü ÿì`k3Çv$vA%n÷‡“ŠÀ*AüM)!rg{ë°vA|£ÌëÝg@£Xþ ÓOÍyùivA;£/ÿ€ÀĈü z–ö¹wAi\¥¿}@düLº¹ù=Ž™XwA2OV^O‰ÀT ü £­ÐJp§§rA5óC7?ªyÀs0ü ÿìtó܋$vA{]Ÿ ꒊÀ*AüM)!¶zÇæ°vAýúî¡g@£Xþ ÓvV€ËivA†}牀ÀĈü z–ŽÌŒäk{uAn›Ol_@l±üM-u×îºtA?څ/~û‚ÀRXÌoPSGGT ü ®8°¢XBÝøX•b‹PSGG"@£Xþ Ó ŽĈü –z%ü ô†Œ À ÿÿ úIÿÿs0ü ìÿT ü ­£Ÿ8ÿÿ—ÿÿ"ÿLläódüL¹ºÄ…üN×£v*AüM!)ªl±üMu-‹®‘ŽC(ç@Ÿ ÿÿ×*üT!)ÂKŽCŠ t ü@Æýÿÿ@ ’ÿÿ@l¥ÿÿ£šÖRPSGG!$MÕ Ê •œKPSGGĈü ®8°¢XBÝøÈ=bŠPSGGs0ü ®8°¢XBÝø…b‹PSGG£Xþ ®8°¢XBÝø¯í`‹PSGG%ü ®8°¢XBÝø)µb‹PSGGTÊ2”AýB %ü †ô‡cƒ$YÉvA Ù҈Qš‚@"ÿLälï̓ðtA²k#?©yÀ…üN£×±’†9³wAüÕE‚§}@düLº¹=ÉeŒbwA޶£û‰ÀT ü £­06C§¬§rA;Wp%Ó«yÀs0ü ÿìÝo°–$vA]ˆšÝ%“ŠÀ*AüM)!(rvqä°vAm>â&*g@£Xþ ÓåœvivAéö1‡€ÀĈü z–&û“Vj{uAÊ¹ãme_@l±üM-ű`V#ºtAO®œGxû‚À_ Ä²PSGG »¶y üyIA}‘bD`†:A=U!•i“SAF;«Ã¥ë@Ÿ|l_ó X?l ŽÏ¡p?$ØB#‘ˆ¿ ÀpË_@B†¿ð?¹E<€@HõLjƒ²@®ÝýB@â(9ç•ë@Q4È"@Àä„AŽÂeA‰ÒâPSGG "Ê2”A»‹•Ý@î?NõП޷Þ?ÛÑ+ùq@€C7@ §MÕ Ÿ;€2Ä@HMœ\³@Ÿq€Ûøù?ZÚFLù?·i&º#žû?èdc2È_@UµrU¹¢ë@@æ(>¬‘ë@—7¬Z„?ޜ1MÆ@x2­‚PSGGTÍÌ̐Ê2”A %ü †ôÈPÞàQÉvAh&ö«š‚@"ÿLäl |ÌðtA ô)ªyÀ…üN£×SKã²­wAÿ·]&}@düLº¹BmˆlwAœò,a؉ÀT ü £­ tpȱ§rAI飡¬yÀs0ü ÿì«hB¡$vAós¿j»“ŠÀ*AüM)!AŸ|)â°vAØç¥FŽg@£Xþ ÓU—ivA¹YÆä:€ÀĈü z–%Š7Ðh{uA£ÏÃÛ~d_@l±üM-u‚qBë*ºtATwUü‚À¥ŒYPSGGTš™™‘Ê2”A %ü †ôŠÍ(JÉvAÉáµö_§‚@"ÿLälÞ€%Ô#ðtAj²ÒAªyÀ…üN£×>Ó»§wA³Œ7҇}@düLº¹ JªŒvwAŸ"¡‰ÀT ü £­ÍO1 ·§rA²çž9µ«yÀs0ü ÿì žÈ¹«$vAÚŸA_ʓŠÀ*AüM)!­òß°vA7ø g@£Xþ Ó>¯‘%ivA SA¹p€ÀĈü z–AÆFHg{uA £Ù‚ëb_@l±üN-ušC@2ºtAÍ>K/>ü‚Àk“'êPSGGTfff’Ê2”A %ü †ô(“È”BÉvAÌ:— q§‚@"ÿLäl§ä(ðtAÎeg\”«yÀ…üN£×Êóæü¡wAÌC2ìM}@düLº¹rëV¯€wAœò,a؉ÀT ü £­·–&IŒ§rALÔ+ƒÂ¬yÀs0ü ÿì^•‡¶$vA?³±¯a“ŠÀ*AüM)!¿ToݰvA•2BŒÙýf@£Xþ ÓÕÝo©+ivAyc* €ÀĈü z–c‹›­e{uAÅÌým __@l±üN-uOà… :ºtAd+hA-ü‚À4æŽPSGGT333“Ê2”A %ü †ôãc;ÉvAmís鬧‚@"ÿLäl—Ë?).ðtAx\Ö,&«yÀ…üN£×Ñ$sœwAŒüÌím}@düLº¹ZÌ/¥ŠwA‹•Óö‰ÀT ü £­×FÉAÁ§rA\M6ƒF¬yÀs0ü ÿìéÀBÁ$vAWh/»R“ŠÀ*AüM)!MúEÛ°vAT[*¥ýf@£Xþ Óù1~ë1ivAú‹·9÷€ÀĈü z–ã˜!d{uAk €õ]_@l±üN-u«Î‚AºtA3šž“ü‚ÀÏxøPSGG"@£Xþ Ó ŽĈü –z%ü ô†† À ÿÿ úIÿÿs0ü ìÿT ü ­£Á8ÿÿ—ÿÿ"ÿLläðdüL¹ºÂ…üN×£w*AüM!)¥l±üNu-®‘ŽC(à@Ÿ ÿÿ×*üU!)¿KŽCŠ t ÷@Æýÿÿ@ ’ÿÿ@l¥ÿÿ£š.QPSGG!$MÕ Ë ”œKPSGG "ÿLðœ@Ââ€ÍӑΓДÿ؀Q?@,Cš€e<ŠÀàßp @ 9«–PSGG l±üNðœ@Ââ€ÍӑΓДÿ؀Q?@,Cš€e<ŠÀàßp @ ]€š”PSGG *AüMðœ@Ââ€ÍӑΓДÿ؀Q?,Cš€ef€ÉÞÀS¥CÀ @‰Ž­ŸPSGG ×*üUðœ@Ââ€Íӑ͓Ð@“¿“ÀO¿€*Cš@?>Š€ÉÞßÀS¥ƒÀ @Iæ—„PSGGT”Ê2”A %ü †ôŠÆ.Ò3ÉvAÅÀ<ò§‚@"ÿLälñï°E3ðtAmƒMœ«yÀ…üN£×²ZMŽ–wAºZô“¬}@düLº¹Ü𳔁wAüÇý߉ÀT ü £­ æbƧrA0oMF˜­yÀs0ü ÿìêd«œË$vA?³±¯a“ŠÀ*AüM)!Õ ŸØ°vAw'’ëþf@£Xþ ÓÕŒ(r8ivA«$Íl@ €ÀĈü z–i"€b{uAžbN7[_@l±üN-u²€°óHºtAdeíZü‚ÀQXDpPSGG @=‰üyIAÛeiF`†:A”•i“SAˆè EQµë@ÞQ’K{Fk?wQÉ=dp?ì5bj>݈¿î1&×îÏ_@>¿2N Àð?¯â«J^£@ßBϳ@Ä"Ÿn@j,€þ¿€ë@ì3ëŒý@%ä„AÍÂeAX¢T³PSGG "”Ê2”A-¯Ô@î?85ŽÞ·Þ?G”zPWq@€C7@ §MÕ 3ÝMÄ@iÆ;ÞE³@ÐìÆD¥÷ù?lq\Dªù?iÙ¬%Ežû?i3%ÖÉ_@åÒc°Ò±ë@†çÛ_]¡ë@œ>+#ä†?Éa’Bº@Œ”PSGGTÍÌ̔Ê2”A %ü†ô ‰7,ÉvA HB§‚@"ÿLäl¥ù-‰8ðtAJø²nЬyÀ…üN£×„B²wAí7c}@düLº¹$VמwA'‘Eþb‰ÀT ü £­sĩ˧rAÀB7gé­yÀs0ü ÿìýæJÖ$vAàøQ^ý“ŠÀ*AüM)!9Ž*‘Ö°vAS}ÞÑþúf@£Xþ Ó׍ÇÜ>ivAûVæ €ÀĈü z–òÜ a{uAÌjI²X_@l±üN-uڏÊ\PºtA~Ä÷+|ý‚À )Ì PSGGTš™™•Ê2”A %ü†ôRÔü$ÉvA Ñ2ˆx§‚@"ÿLäl‡_ª=ðtAoeç K¬yÀ…üN£×OÏ«¹ŠwAüw£[ã}@düLº¹±mʁwA`ÄÀT ü £­IéĊЧrAôè1®ü­yÀs0ü ÿì%­úà$vA )=v¬“ŠÀ*AüM)!¯(*Ô°vA•2BŒÙýf@£Xþ Ó WóaEivA†SsÈ €ÀĈü z–œ6:T_{uA‘íåòW_@l±üN&x57XºtA ‡"#¡ü‚Àÿ÷Ž[PSGGTfff–Ê2”AP•ÿÿ %ü†ôœbÉvAšö~ÿP§‚@"ÿLälþSÖÉBðtA6¥V¬yÀ…üN£×ö*“鄝wAHÖ{–}@düLº¹x];DzwAÐlÛ|‰ÀT ü £­Y_ÉÕ§rA‘â/õ“­yÀs0ü ÿìñ aŒë$vAîã‚ÙѓŠÀ*AüM)!-+û–ѰvAÁã³Züf@£Xþ Ó í±KivAô'Èš €ÀĈü z–ü˜»]{uA6ñUèôV_@l±üN&xtN%„_ºtA?^[kÖü‚ÀéYªAPSGGT333—Ê2”AP•ÿÿ %ü†ôûì'ÉvAˇº/5§‚@"ÿLälƒ©ÛGðtAõ\}5Á¬yÀ…üN£×ÄeÛ_wA7ۑHu}@düLº¹ˆµdÃŒwA€Áߓ‰ÀT ü £­å„nòÚ§rAc/îR®yÀs0ü ÿìoµKö$vAWh/»R“ŠÀ*AüM)!d9€‚ϰvAw Œ¶;ûf@£Xþ ӏuê0RivAšß¹Áü €ÀĈü z–ëðf+\{uAÑe\ŽU_@l±üN&xí(” gºtAƖ*Aíü‚À©VpSPSGGT ü  ®ç™8E$4`càUXBÝø*íPSGG"@£Xþ Ó ²Ĉü –z%üô†‚ À ÿÿ úIÿÿs0ü ìÿŽT ü ­£Â8ÿÿ—ÿÿ"ÿLläòdüL¹ºÅ…üN×£y*AüM!)£l±üNx&x®‘ŽC(ä@Ÿ ÿÿ×*üU!)ÀKŽCŠ t ÿ@Æýÿÿ@ ’ÿÿ@l¥ÿÿ®šARPSGG!$MÕ Ì “œKPSGGĈü  ®ç™8E$4`càUXBÝøºÁ́PSGGs0ü  ®ç™8E$4`càUXBÝø ỳPSGG£Xþ  ®ç™8E$4`càUXBÝøÝπPSGG%ü ®ç™8E$4`càUXBÝø[I̓PSGGT˜Ê2”AP•ÿÿ %ü†ô>Š;eÉvA;õÒŠ‚@"ÿLäl3ÌÆôLðtA¹I•qY­yÀ…üN£×ñÙ&õxwAwâoN}@düLº¹ÛÜöƁwAmu ‰ÀT ü £­ž°K&à§rAbµÏE¯yÀs0ü ÿì^Ý%vA%n÷‡“ŠÀ*AüM)!|nͰvA ¿-ŠPúf@£Xþ ÓÍD]±XivAœpú­!€ÀĈü z–( Œ…Z{uA'“ßo¥Q_@l±üN&xÀoì»nºtAƖ*Aíü‚À.ò=™PSGG ŠŒ>>üyIAÏþE3`†:A\öZi“SAHÙÖ9Äë@¬°äm<¢u? €žFl?6¯RÀPŒ¿Cl>9’Ô_@HãE|•Àð?”‹Øo-¢@¥Ëˋ³@zU×@PNÙb³ë@±I¯Ý@@+ä„AæÂeA1®ŽPSGG "˜Ê2”A X2Â@î?w²[Þ·Þ?ÈØŽÛ\q@O7@ §MÕ «îNw×Ã@<ün«/³@"Æ,ùG÷ù?ß|PBù?Ãèõ”gžû?”þIPÊ_@Ï˘/bÁë@t€1÷ð°ë@¡¥?ŠÆ ìŠ?Ñ ÇEõÀ@`œÛnPSGGTÍÌ̘Ê2”A %ü†ô4(W4ÉvAÈJ¢K§‚@"ÿLäla€>RðtAý³|õ™­yÀ…üN£×ïì!~swA÷Øžñ<}@düLº¹é1ÜЁwA&?ašç‰ÀT ü £­:Pº)å§rA€|{G®yÀs0ü ÿìJîm %vAI¶˜“ŠÀ*AüM)!¿îœ2˰vA©o_àúf@£Xþ ÓX à^ivAÕüô@!€ÀĈü z–&Å^ÿX{uA¢o’žZQ_@l±üN&xŠï”&vºtA۟¹]ý‚À¶÷Ò²PSGGTš™™™Ê2”A %ü†ôBe ÓÿÈvAÞBí¡rŠ‚@"ÿLäl˛à-WðtAÂîM®yÀ…üN£×7S3•mwAPY}@düLº¹™JšÅځwA€µ¯§‰ÀT ü £­¡ß’ê§rAsÁ\U}¯yÀs0ü ÿìëŒ_"%vA ÄSٓŠÀ*AüM)!ê³ÿȰvA2úΏTùf@£Xþ Ó=Zž”eivAV3ŒI"€ÀĈü z–ÜtW{uAGp4@ L_@l±üN&xéß³}ºtAëüÄÝôü‚À5ØúPSGGTfffšÊ2”A %ü†ôÑo3š÷ÈvAÝ}SÒ§‚@"ÿLälø\Ht\ðtA‚:H˜@¯yÀ…üN£×ÄöÞ³gwAèÂ!k}@düLº¹ïèOâäwAÒ9Úfê‰ÀT ü £­ê*ž{ï§rAYñ¬Û¬°yÀs0ü ÿì,ŽÀª %vAŒéJ1”ŠÀ*AüM)!$-ͳưvAj• CÑ÷f@£Xþ Ó’" livAsŒ~ Ã"€ÀĈü z–úªØU{uAðŽà:J_@l±üN&xb”2…ºtAÁ>Œ«ý‚À¥n.rPSGGT333›Ê2”A %ü†ô8í@ŠðÈvAVÄáyŠ¥‚@"ÿLäl¹Ù›aðtAñ‹*›É¯yÀ…üN£×&=DíawAf_¥ÄC}@düLº¹ÆK3ñîwAd©š< ‰ÀT ü £­љô§rAYñ¬Û¬°yÀs0ü ÿìtœSp+%vAœ„rX”ŠÀ*AüM)!Ysj8İvAojÝÞóf@£Xþ ÓZ„³qrivA¹¬Œ—"€ÀĈü z–ç¡ JT{uAZ  „D_@l±üN&x\9ÿŒºtAžZþ‚À‚jËæPSGG"@£Xþ Ó ²Ĉü –z%üô†| À ÿÿ úIÿÿs0ü ìÿŒT ü ­£Â8ÿÿ—ÿÿ"ÿLläôdüL¹ºË…üN×£z*AüM!)¢l±üNx&r®‘ŽC(Ý@Ÿ ÿÿ×*üU!)ŸKŽCŠ t @Æýÿÿ@ ’ÿÿ@l¥ÿÿ®šSPSGG!$MÕ Í ’œKPSGGTœÊ2”A %ü†ôpzÁÌèÈvAÞAú)Á¥‚@"ÿLäl @ÓÇfðtAÈM‡ÍÀ°yÀ…üN£×}cŸÿ[wA0uúŠ}@düLº¹Hj‹öøwAÚúOI! ‰ÀT ü £­ÀNq±ù§rAx–ûɱyÀs0ü ÿìfÏÿ5%vAOŸ§||”ŠÀ*AüM)!ªÕÀÁ°vAžp…Žöf@£Xþ Óš³ŒåxivAgµ%#€ÀĈü z–.·®žR{uAРÅ.yB_@l±üN&xSc*”ºtAU2š,õú‚Àؗ"PSGG +›}lüyIA7&œ`†:Aú¥|i“SARm%FÓë@°Ïd2óʅ?ŠR­TØb?“׋ÖåòŽ¿ŽËvË_@£DšÁð?,EâÒû @^—hŽ@ŸZ2->@ò<#ç”Âë@Ç|¹Oʱ$@€1ä„AÿÂeA/q5PSGG "œÊ2”AºîH¥@î?¿|#ýÝ·Þ?$Ïí2q@€G7@ §MÕ y6Õä©Ã@àéÀó³@“©ñ˜éöù?ƒ|&AÙù?Š£N@‰žû?` BË_@œ00GÐë@I§€d¬¿ë@г—Žˆ ’?›²y`q @¡«í_PSGGTÍÌ̜Ê2”A %ü†ôÑX€ŠáÈvA@&œ±Š‚@"ÿLälY ÞkðtAƒ„.œ°yÀ…üN£×hM_aVwAuŽ4Ç©}@düLº¹ÞW÷;‚wAôÔy!> ‰ÀT ü £­ä>–Ýþ§rAz§9¡²yÀs0ü ÿìו%¢@%vALµè›È”ŠÀ*AüM)!˜Ô;Œ¿°vAñpD0Pòf@£Xþ ÓÕ.ÍivA"D;§4#€ÀĈü z–$W ,Q{uAüÒG)Œ@_@l±üN&xº”tAõrŒOÚþ‚À±œyœPSGGTš™™Ê2”A %ü†ôËe_ÓÚÈvAâ/\Š‚@"ÿLälê–GqðtAÙÙŒž°yÀ…üN£×®ó²ŒPwAA¶Žw}@düLº¹Îé ‚wA§qôˉÀT ü £­†wø6šrAPØlQ±yÀs0ü ÿìuŠ7K%vA ¹y–“ŠÀ*AüM)!&«Bœ°vAPj9x õf@£Xþ ÓŠçeÿ…ivAé_Ú}#€ÀĈü z–Ò«O{uAŽâá›@_@l±üN&x‹üF墺tA”X€Ný‚ÀþM:ÑPSGGLfffžÊ2”A %ü†ô¢Š©èÒÈvAáÌ=R Š‚@"ÿLälšú¬vðtA퀰yÀ…üN£×| t«JwAFuÜÜ}@düLº¹Ší%‚wAd©š< ‰ÀT ü £­ñ ¬C šrA‡ŸŽüõ±yÀs0ü ÿì—`ÝU%vAœ„rX”ŠÀ*AüM)!<—6»°vAÒåÿÛóf@£Xþ Ó¢(_ŒivASÁ"š:#€ÀĈü z–[õ£N{uA"O@o?A_@$ë–ÝPSGGT333ŸÊ2”A %ü†ôn$F6ËÈvA]3b<Š‚@"ÿLäl>? \{ðtAKŸŒc=²yÀ…üN£×r÷øÙDwAªÏKðÿ|@düLº¹®y|!‚wA܆‘V ‰ÀT ü £­޳þdšrA¯|l«m²yÀs0ü ÿìZ{P…`%vA¶ÉÑ3”ŠÀ*AüM)!üЋž°vAo»˜š€óf@£Xþ ÓŪëþ’ivA±ÚÀY $€ÀĈü z–҂5jL{uAfQ„ùñ:_@l±üN&xÊr³Ù±ºtAÉi¿C6þ‚À8ª?PSGGT ü 0®À3ŽK¿Ž|Q0XBÝø€¢«ŽPSGG"@£Xþ Ó ŽĈü –z%üô†x À ÿÿ úIÿÿs0ü ìÿŠT ü ­£Â8ÿÿ—ÿÿ"ÿLläõdüL¹ºÎ…üN×£{*AüM!)Ÿl±üNx&d®‘ŽC#í@Ÿ ÿÿ×*üU!)»KŽCŠ t @Æýÿÿ@ ’ÿÿ@l¥ÿÿ©šSPSGG!$MÕ Î ‘œKPSGGĈü 0®À3ŽK¿Ž|Q0XBÝø4 «ŽPSGGs0ü 0®À3ŽK¿Ž|Q0XBÝøƒ²«µPSGG£Xþ 0®À3ŽK¿Ž|Q0XBÝøSÚ©µPSGG%ü0®À3ŽK¿Ž|Q0XBÝøÕ‚«¶PSGGT Ê2”A %ü†ôÐboÃÈvAâ/\Š‚@"ÿLäl8ò“€ðtARÖ$Úê°yÀ…üN£×jsÛ>wAXr©]}@düLº¹ºe +‚wAôÔy!> ‰ÀT ü £­ÆgcššrAƒ[Px²yÀs0ü ÿ쌌ok%vAŠï‰:”ŠÀ*AüM)!ގwˆ¶°vA°@!fÕðf@£Xþ Óo§ut™ivAèþD#€ÀĈü z–|IðJ{uAñ}ÿÞ<_@l±üN&xmAººtAhŠtÚ2þ‚ÀEj³PSGG ßÞʒüyIAã+ü_†:AÙÕÑoi“SAرâDxãë@ î#Ôy…–?Ùnö<äB¿7žvõ/˓¿ÞÁV#ÕË_@Ò`Rž£Áð?Íaûfɟ@1te}’Ž@Ž$诣@4ĝ«Òë@’b0õ'@À7ä„AÃeA* ŒPSGG " Ê2”Afè7Š@î?š`?ÎÝ·Þ?1tбúq@€C7@ §MÕ Œ¡>Ä{Ã@&oس@ܗödŠöù?6aYoù?ÏöϪžû?šÊË\eÌ_@_ègÈàë@Øã.¡PÐë@«á#ôHlª? J†—;& @kӈôPSGGTÍÌÌ Ê2”A %ü†ô{„Ž~ŒÈvA–:M¡™¥‚@"ÿLälT|0˜…ðtA™îQñ²yÀ…üN£×Ò©ÄÄ8wA ˜<Á—}@düLº¹‘5‚wAÅ)墂 ‰ÀT ü £­hšŽ”šrAD²ÿk³yÀs0ü ÿìƒxÇêu%vAl[v”ŠÀ*AüM)!2q‘ç³°vA‘Æ{‡ðf@£Xþ ÓlÇÈãŸivA+ §÷l$€ÀĈü z–ÿÿöBI{uAå¥é7_@l±üN&xÒÈT$ÁºtAºUyéXþ‚ÀP[)PSGGTš™™¡Ê2”A %ü†ôP”7ùŽÈvAB€±%’¥‚@"ÿLälôع¬ŠðtAß³ïä„A1ÃeAÂl£PSGG "€Ê2”AÈ0ïd@î?]EwÝ·Þ?KG^²q@€Q7@ §MÕ N·wbMÃ@ã‡ê²@¿™eÌ*öù?ŽË!¢ù?HÂy¹Ëžû?žàý†ÜÌ_@+*ñŠMïë@÷SùÜÚÞë@°;:†¡ñ€?MQ¡ 6Ÿ @Vö’PSGGTÍÌÌ€Ê2”A %ü†ôÈj%$—ÈvAý‹Þ€‚@"ÿLälӕnŸðtA,š–EµyÀ…üN£×ŽnÛòwA‘sÿ|@düLº¹>]"g‚wAÞŽ™n ‰ÀT ü £­N142šrA®2ŠhµyÀs0ü ÿìWì+îª%vA+tb•ŠÀ*AüM)!NÄKš°vA„óå¿`êf@£Xþ ÓA Æ>ÀivA×%¶7Æ%€ÀĈü z–TsŸ{A{uASF ø(_@l±üN&xtC€‰çºtAÊjàZŸƒÀ`ÌŽPSGGT𙙥Ê2”A %ü†ô^#rZÈvA›!V ¥‚@"ÿLäldbލ€ðtAÖÞž#µyÀ…üN£×x³1wA …ÿÿ|@düLº¹Þ¿n,q‚wAրö? ‰ÀT ü £­%Ò€7šrA lXiµyÀs0ü ÿìGªýµ%vA3è •ŠÀ*AüM)!X¢PаvA ^C=Xêf@£Xþ Ó!q›ÆivAHž¹\&€ÀĈü z–<Þû?{uAÇ<ܺ)_@l±üN&xD¶Y÷îºtA⊱JAû‚ÀpÕÿìPSGGTfffŠÊ2”A %ü†ô®ŸËˆÈvAŽ§»l¥‚@"ÿLälqV¯Ÿ©ðtA#6'6µyÀ…üN£×Ì rTwAµá„î‚þ|@düLº¹•/{‚wAKEÁÃW ‰ÀT ü £­0¥±<šrAŸ©©ùêµyÀs0ü ÿìcÀ^(À%vA: 䲪”ŠÀ*AüM)!^Œ«£°vAÈcìëf@£Xþ ÓçÍivA,?B?E&€ÀĈü z–ͰÐx>{uA\ÔHÞŒ(_@l±üN&xmÿÁöºtAcZ€Ëý‚ÀûK+\PSGGT333§Ê2”A %ü†ôÓô¢~€ÈvAÉHÈ€‚@"ÿLälgÏNä®ðtAvjCµyÀ…üN£×¿Ä p wAnöuE»þ|@düLº¹txÕ>…‚wA‹õüf ‰ÀT ü £­ÌW»AšrAnrZ"+¶yÀs0ü ÿì–iþŒÊ%vA7§!Á”ŠÀ*AüM)!ÒË“¡°vAž<¹ƒÈéf@£Xþ Óq3z{ÓivA®Þ£Õ%&€ÀĈü z–CÖ@ê<{uA"lBx%_@l±ôN&xŠŽ ÈþºtAŒ~¥žù‚ÀãŠÓëPSGGT ü À®ÿ@UŒ€Ðîèy XBÝøÄ_)PSGG"@£Xþ Ó ±Ĉü –z%üô†z À ÿÿ úIÿÿs0ü ìÿŒT ü ­£Á8ÿÿ—ÿÿ"ÿLlä÷düL¹ºÎ…üN×£y*AüM!)›l±ôNx&_®‘ŽC#é@Ÿ ÿÿ×*üU!)ŸKŽCŠ t û@Æýÿÿ@ ’ÿÿ@l¥ÿÿ©šÙRPSGG!$MÕ Ð œKPSGGĈü À®ÿ@UŒ€Ðîèy XBÝøT÷)PSGGs0ü À®ÿ@UŒ€Ðîèy XBÝøãO)PSGG£Xþ À®ÿ@UŒ€Ðîèy XBÝø3'+PSGG%üÀ®ÿ@UŒ€Ðîèy XBÝøµ)PSGGTšÊ2”A %ü†ôõî°nyÈvAv×2¥‚€‚@"ÿLälŸ+«ŽðtAj‘ºŸéµyÀ…üN£×“<3îwAa:Fÿ|@düLº¹õ/L>‚wAÕè—Æà ‰ÀT ü £­JáFšrA¯«°·yÀs0ü ÿì=r­tÕ%vA–oyõ”ŠÀ*AüM)!¥²§xŸ°vA+^7Féf@£Xþ Ó6Œ;ØÙivA ™¢8Ó&€ÀĈü z–2kÎA;{uAríŠ º"_@l±ôN&xÚdÁ$»tA/3èœù‚À[jïPSGG «ÄQýyIAA–ž_†:A¹f’Ei“SAü\ˆì@°œôÅÖ³?MªÉÓ¿ò†áìˆóš¿ž}î¶îÃ_@B~ŽH±Âð?2¥çd@;ùaP—µ@”€äm@º‡L¢òë@jž/@@Dä„AJÃeAAŒ°oPSGG "šÊ2”Až¬6@î?£ü¿ Ý·Þ?óTšM{q@U7@ §MÕ ?%î6Ã@YÈrÓ²@t™4xËõù?–0çVœù?ú Œ±ìžû?Ù0×žÌ_@CŒÙÿë@.¯˜úUïë@µw|ÿÇý•Ž??ãEA²› @"º»PSGGTÍÌÌšÊ2”A %ü†ô’^ÁrÈvAÐïÇüY€‚@"ÿLäl5ÆVR¹ðtA‘ö+ou·yÀ…üN£×Éã:ÿœwA…ǜÿ|@düLº¹ŽŽø9™‚wAŸÏÊB– ‰ÀT ü £­ù6N&LšrA®;ü`·yÀs0ü ÿì:ÅØGà%vAÌ{Ÿ®V•ŠÀ*AüM)!=Va°vA©ÇFÔÆæf@£Xþ Ó3XµàivA3•óÿ'€ÀĈü z–ŽÙaÁ9{uA(Ž·†w_@l±ôN&x²%#Ô »tA~S*)ü‚ÀŒ þiPSGGTš™™©Ê2”A %ü†ô ,_jÈvA©û!ÛÚ¥‚@"ÿLäl] ZbŸðtAi<ç8ÛŽyÀ…üN£×\»«ùœwAZÆÇQ}@düLº¹CXµú¢‚wAïL?Š ‰ÀT ü £­Èù:QšrA KÇ@þµyÀs0ü ÿìhÎöÃê%vAÎ~O$”ŠÀ*AüM)!!¶«Uš°vAGÐÅrëf@£Xþ ÓÔ$×£æivA÷ក&€ÀĈü z–â)8{uAh¹c†)'_@l±ôN&x¢¡‘»tAhŠtÚ2þ‚ÀÐû%±PSGGTfffªÊ2”A %ü†ô+0JëbÈvAU_ä—Ï€‚@"ÿLäl™0æhÃðtA:W[K¶yÀ…üN£×]Óœ,óœwA±þ;Cxþ|@düLº¹ÿÛ­‚wA‹õüf ‰ÀT ü £­š]VšrA=ð€·yÀs0ü ÿì®_³võ%vAoªXì_”ŠÀ*AüM)!å‡Ëi˜°vAM]ÀŽ=éf@£Xþ Ó¿ð%íivA)V'€ÀĈü z–Ê5š6{uADŠÔ _@l±ôN&xŸ`»tAŠÑÕý‚À‹Ôi†PSGGT333«Ê2”A %ü†ôY&<[ÈvAñ„‚Ÿ€‚@"ÿLäl8 Ó€ÈðtASßšÀŸ¶yÀ…üN£×ÑsæœíœwAbYÛ2p}@düLº¹e­×·‚wAyÁül ‰ÀT ü £­Îýžb[šrA[ܪ–ö·yÀs0ü ÿìŸñ<&vAUežO…”ŠÀ*AüM)!ùç•°vAƒIÉíæf@£Xþ ÓšX6óivA™÷`£é&€ÀĈü z–»-"5{uAÒIñ6Ó_@l±ôN&x•hs$»tA!Ð9õŒÿ‚À ›ýPSGG"@£Xþ Ó °Ĉü –z%üô†x À ÿÿ úIÿÿs0ü ìÿŒT ü ­£Á8ÿÿ—ÿÿ"ÿLläødüL¹ºÉ…üN×£x*AüM!)™l±ôNx&^®‘ŽC#ç@Ÿ ÿÿ×*üU!)¿KŽCŠ t @Æýÿÿ@ ’ÿÿ@l¥ÿÿ©š'SPSGG!$MÕ Ñ ŽœKPSGG "ÿL „œ@Ââ@éӑ䀢†[ÀZ€ èýÀv˜_€ŸÍÍ@À€1e‰C\ãêPSGG *AüM „œ@Ââ@éӑ䀢†[ÀZ€ èý€~˜_€ŸÍUÀý?@bN~ µôPSGG düL „œ@Ââ@éӑ䀢†[ÀZ€ èýÀ|˜_€ŸM €€ßaÅEœd&PSGG …üN „œ@Â"@éÓQ$€¢†›ÀZ€É è=@{˜Ÿ€ŸÛõ?@³æŸ€8‰PSGG ×*üU „œ@Ââ@éӑ䀢†[ÀZ€ èý@u˜_€ŸÍÎü?À€o¡KvÙ2PSGGT¬Ê2”A %ü†ô%§FTÈvAÑì。@"ÿLäl9!‰ÒÍðtASßšÀŸ¶yÀ…üN£×a¡%áçœwAŸK iþ|@düLº¹üº£Á‚wA›Gø  ‰ÀT ü £­—«`šrAÈ_Ík8·yÀs0ü ÿìr/¡ &vAgAaW”ŠÀ*AüM)!†a듓°vAŽŽŒ03çf@£Xþ ÓXÆúivAií8eª'€ÀĈü z–¶±3{uA—±² ï_@l±ôN&xž†.,»tAãbB%±ÿ‚Àñ¯‹PSGG /éDýyIAN«¹y_†:AúžÒ/i“SAæL&ˆì@÷âbkËÀ?Þœ>5Qô‘¿jœù''á¡¿eӕäÕ_@•ÔyÜ7Ãð?†®2œ@\zøü¶@ÝTƒÓ@&ræ–ì@üòoŽ0@€Jä„AcÃeA1ëPSGG "¬Ê2”A‚Œ¬@î?IÞ–Ü·Þ?¶ñ¿gvq@N7@ §MÕ +ÔÜøðÂ@Ž’JŒ²@4ãlõù?7Ì¿2ù?>âÔÏ ¹û?p"(ÇÏË_@+T€cì@ƉLPÿë@ºSGAŸ&ìÀ?Xc²èÚ @QæPSGGTÍÌ̬Ê2”A %ü†ô[…“ŠLÈvA¯ŒýPn€‚@"ÿLäl‘ÅœùÒðtA­¬Ø8ï·yÀ…üN£×+™-"âœwAßï€ñ ÿ|@düLº¹øt–&˂wAüÇ4r ‰ÀT ü £­ÆݖešrA†SBn®žyÀs0ü ÿ잟ÀE&vA1p.ÿ픊À*AüM)!Ad+‘°vAþ¯0éåf@£Xþ ÓëÚépjvAQŠ7þ'€ÀĈü z–…fà2{uAáY?_@l±ôN&xÔºÇ3»tAãxT@{ƒÀ¢%^ùPSGGTš™™­Ê2”A %ü†ôJ¶j©DÈvA=£TÄ£‚@"ÿLälì)Ï*ØðtAºÛ±¹yÀ…üN£×ƺiܜwA}]P²êý|@düLº¹ÚHñ0ՂwAšñ ‰ÀT ü £­‘€ÌjšrA-hH™è¹yÀs0ü ÿì€KÐí&vA·V}4O•ŠÀ*AüM)!$B§lްvA +^{ãf@£Xþ ÓÚEGjvAë'Êy#(€ÀĈü z–lI0{uA‹ ”[_@l±üN&x«ù|;»tA×çåñ¬ÿ‚À·^öîPSGGTfff®Ê2”A %ü†ôÞqû`=ÈvAÉHÈ€‚@"ÿLält…œ:ÝðtA¡ÓOÉYžyÀ…üN£×@’֜wA–Kœ'’þ|@düLº¹•~g.߂wA9Ïç2 ‰ÀT ü £­/­ŽíošrA¬Œ÷ cžyÀs0ü ÿì“ä$š*&vAKí„æ”ŠÀ*AüM)!3²émŒ°vA†•ò[–åf@£Xþ Óüú…Ú jvAF4pPG(€ÀĈü z–7~˜÷.{uA¢õù\_@l±üN&x@l’gC»tAົmƒÀ1ޘ§PSGGT333¯Ê2”A %ü†ô”f;6ÈvA‹î'˜b€‚@"ÿLäl9n§tâðtAÓÕq¿žžyÀ…üN£×­g ќwAl=Á$ þ|@düLº¹Ä?õè‚wA®øÎ`⠉ÀT ü £­B[žušrAã¢h1¹yÀs0ü ÿìáÎðD5&vAiŠßɌ”ŠÀ*AüM)!“ܳ аvA&>t§Íãf@£Xþ Ó%WjvA 1ÈW(€ÀĈü z–_ÞŽY-{uA“—™Ú_@l±üN&xŠädÊJ»tA{ÒNJ¹ƒÀ ëyMPSGGT ü P®Z ^EÀtšp`. XBÝø —ôXPSGG"@£Xþ Ó °Ĉü –z%üô†z À ÿÿ úIÿÿs0ü ìÿŽT ü ­£¿8ÿÿ—ÿÿ"ÿLläûdüL¹ºÆ…üN×£v*AüM!)–l±üNx&b®‘ŽC#ù@Ÿ ÿÿ×*üU!)¿KŽCŠ t @Æýÿÿ@ ’ÿÿ@l¥ÿÿ©šzRPSGG!$MÕ Ò œKPSGGĈü P®Z ^EÀtšp`. XBÝø›?ôYPSGGs0ü P®Z ^EÀtšp`. XBÝø,‡ôXPSGG£Xþ P®Z ^EÀtšp`. XBÝøüïöXPSGG%üP®Z ^EÀtšp`. XBÝøz·ô[PSGGT°Ê2”A %ü†ô}Š$/ÈvAb—){€‚@"ÿLälÔa™çðtA?12ÌâžyÀ…üN£×ÉMÔʜwA%ý\'oþ|@düLº¹¿#ŒMó‚wA+sÉðÉ ‰ÀT ü £­ÿKzšrAů>ΗºyÀs0ü ÿìÞä²Û?&vA7§!Á”ŠÀ*AüM)!ę㚇°vA99ÒÜRâf@£Xþ ÓÌôõŽjvArú{-ó(€ÀĈü z–ÊhWé+{uAi7=]_@l±ôN&xÚèQ»tAƒ£Ïú‚ÀÐAº?PSGG Þ pýyIAÿÂb_†:A¡}ji“SADŸ>Û¢"ì@y/¹°,Á?£Æª’†’¿±‹¢¿JûšÎžÂ_@$àê3ŸÃð?ë£g¿ÿš@Òʰ›¶@†ƒÎÓ6@˹ãì@;×É(l[-@ÀPä„A|ÃeA/A„æPSGG "°Ê2”AmÖô?î?ÏüRÜ·Þ?ö¶Ô÷q@€U7@ §MÕ €xÙ.ÂÂ@É`Ÿ€²@ùsœ õù?‹ åkÈù?ÑãŒ.¹û?óŽ{Í_@wbÝþêì@ϋb¥«ì@¿ۂO-kGÁ?{o¶@ 3Š PSGGTÍḬ̀Ê2”A %ü†ôŸŸˆ'ÈvAœ°²…€‚@"ÿLäljRÌÆìðtA•úÆYÄžyÀ…üN£×ÈüÕ$ŜwAě=@ïý|@düLº¹â³Mý‚wAžZä, ‰ÀT ü £­Ä֊šrAUÑý˝¹yÀs0ü ÿìŒ DlJ&vALµè›È”ŠÀ*AüM)!î*|x…°vA^ž£Íiãf@£Xþ Ó@Á&ê jvA)÷€‚™(€ÀĈü z–&élP*{uAÝÚS‹þ_@l±ôN&xGÌ#4Z»tAa8ºÜ;ƒÀeè3 PSGGTš™™±Ê2”A %ü†ôI®ÈvA=£TÄ£‚@"ÿLälÈۏäñðtA}"ºyÀ…üN£×DÛGV¿œwAµá„î‚þ|@düLº¹Ù ƒwAžZä, ‰ÀT ü £­`g¶Œ„šrAÚÞ>oºyÀs0ü ÿìúd}ìT&vAÚ¡uœÎ”ŠÀ*AüM)!‰ž¶ƒ°vA†‡€æáf@£Xþ Ó¥ Ÿ'jvA —)€ÀĈü z–µÒè«({uA‘ÁúaQ _@l±ôN&x§³:åa»tA®¬f¬ƒÀÂwÃPSGGTfff²Ê2”A %ü†ô(Ь5ÈvA€v`2l€‚@"ÿLälŠÉ÷ðtA˜y܎DºyÀ…üN£×Já)j¹œwA›°ºxžý|@düMº¹<W8ƒwAuG£ck ‰ÀT ü £­Ã؉šrAÀÕÐö[ºyÀs0ü ÿìØ¡º_&vAîàñm•ŠÀ*AüM)!‰ÝԀ°vAh< àf@£Xþ ÓÜYÈÀ-jvAJžñºs)€ÀĈü z–C2`2'{uA·V‹ßÛ _@l±ôN&x.:Ööh»tA6Ñl£3ƒÀ€v›ÊPSGGT333³Ê2”A %ü†ô7‘Ñ ÈvAÆŽ]P•£‚@"ÿLälãÒ^0üðtAœ_8)PºyÀ…üN£×à @„³œwA±þ;Cxþ|@düMº¹Ù~U ƒwA"§Ñ< ‰ÀT ü £­»rZñŽšrAL —Ø»yÀs0ü ÿìðJrcj&vA4k×”ŠÀ*AüM)!98„Š~°vAææ™Yÿßf@£Xþ ÓY°:A4jvAºývØL)€ÀĈü z–'êyž%{uAõ›! À _@l±ôN&x!áÑp»tAÑ Ž{ƒÀûq;»PSGG"@£Xþ Ó ­Ĉü –z%üô†~ À ÿÿ úIÿÿs0ü ìÿT ü ­£¿8ÿÿ—ÿÿ"ÿLläýdüM¹ºÀ…üN×£z*AüM!)•l±ôNx&d®‘ŽC#ë@Ÿ ÿÿ×*üT!)ÀKŽCŠ t @Æýÿÿ@ ’ÿÿ@l¥ÿÿ©šRPSGG!$MÕ Ó ŒœKPSGGTŽÊ2”A %ü†ô”1ý} ÈvAhù1 ±£‚@"ÿLäl$ÐKdñtAýv»×»yÀ…üN£×ß.L­œwAËsÉü|@düMº¹Ӝ'%ƒwA±Ž¥Ÿ ‰ÀT ü £­¹ñ§”šrAÓ›JÖ»yÀs0ü ÿìÁ$zêt&vA Û)ДŠÀ*AüM)!¶|f|°vA¶Üµc×Þf@£Xþ ÓÏ~è :jvAGÏΉ.*€ÀĈü z–é ${uAa9Àõô_@l±ôN&xì8¥x»tAqŽ^‡ƒÀa%PSGG 3L†ýyIA‘,1_†:AŠD²i“SA,ӌ k2ì@ñ!NR=Ÿ?î×§µ!¿jYð€Ÿ¿·R’ú Ø_@œ3gtDÄð? š ŠÍ™@-°œ™·@ÍPÿ؛ @âBáE"ì@í›V$Z,-@Wä„A•ÃeAŸ’k¥PSGG "ŽÊ2”AIYŒà?î?°S Ü·Þ?7ª(1”q@P7@ §MÕ å¶‡ï“Â@w`iš²@aQ@5¬ôù?)ð‹µ^ù?Ö$QÐO¹û?ŽòºA¥Í_@2@å /ì@ezþì@Ä”XPbŸ?ÜÊWN@â5[ÌPSGGTÍÌÌŽÊ2”A %ü†ôŸì6EÈvAE;ŠÖ£‚@"ÿLäl.¡áªñtAÈÇñ'JŒyÀ…üN£×œ`šœwAÝoÔü|@düMº¹k<^i/ƒwAgsHš ‰ÀT ü £­±œœ ™šrA|ғgŒyÀs0ü ÿì[΂&vA®ŠÇ€’•ŠÀ*AüM)!Ÿ™S4z°vA#Ú„aÝf@£Xþ Ó—AjvAîÌQj*€ÀĈü z–ù.8‘"{uA õ _@l±ôN&xŠöCـ»tAɇr?ƒÀ5&í$PSGGTš™™µÊ2”A %ü †ôì×| ûÇvAÒBYËâ‚@"ÿLälùÀèÞ ñtAæÄ©øÛ»yÀ…üN£×Ò°’¢œwAEƒrÊ$ý|@düMº¹Nr9ƒwAËä†F ‰ÀT ü £­ŸlÆQžšrA@ç|kœyÀs0ü ÿì¢,Š&vA#kf§¹”ŠÀ*AüM)!ÂÎ]éw°vA#‰XºçÜf@£Xþ Ó×=„GjvA@àYà*€ÀĈü z–~õM!{uAµT¶8òÿ^@l±üN&x©ûÞKˆ»tAKèÏšƒÀžšPPSGGTfff¶Ê2”AÆ% %ü †ôtÆ3óÇvAl?Œ€‚@"ÿLäl;ÝãñtAÿM®»yÀ…üN£×Ž0œwAÁs %,þ|@düMº¹vf¶$CƒwATwŸ’` ‰ÀT ü £­¡øž}£šrAºÙxùMŒyÀs0ü ÿìŠxüȔ&vAӛ7Ñ)•ŠÀ*AüM)!É@sÖu°vA‰ŽSíÞf@£Xþ Ó1;çMjvAGÏΉ.*€ÀĈü z–ups{uAÚòÍI_@l±üN&xÀ͍»tA€7gƒÀsÛI1PSGGT333·Ê2”AÆ% %ü †ôÙa*ÛëÇvAqkå÷Q£‚@"ÿLäl©ÓéþñtA &€ÝŒyÀ…üN£×âÃœ–œwA'—Xý|@düMº¹[Ž­6MƒwAÎJלz ‰ÀT ü £­Wú”ššrA0jÁ 0ŒyÀs0ü ÿì»”ÏbŸ&vAã0<ºG•ŠÀ*AüM)!Ø!Yos°vAÄô|Ÿ­Úf@£Xþ Ó12­ƒTjvA‹Ž’€*€ÀĈü z–Ãë}è{uA9ÿ_@l±üN&x÷¯|'—»tA·q#šƒÀ°‚ñNPSGGT ü à®hOHeÌÌ`ž† XBÝø9n\PSGG"@£Xþ Ó ¯Ĉü –z%ü ô†‚ À ÿÿ úIÿÿs0ü ìÿŒT ü ­£Á8ÿÿ—ÿÿ"ÿLläÿdüM¹ºº…üN×£}*AüM!)–l±üNx&j®‘°C#Ö@Ÿ ÿÿ×*üT!)ÀKŽCŠ t @Æýÿÿ@ ’ÿÿ@l¥ÿÿ©šÊPPSGG!$MÕ Ô ‹œKPSGGĈü à®hOHeÌÌ`ž† XBÝø‘‘n\PSGGs0ü à®hOHeÌÌ`ž† XBÝø&)n]PSGG£Xþ à®hOHeÌÌ`ž† XBÝøöAl]PSGG%ü à®hOHeÌÌ`ž† XBÝøpn]PSGGTžÊ2”AÆ% %ü †ô²Í•ÒãÇvA[ïaw£‚@"ÿLälÉe†2ñtAñgžŽŒyÀ…üN£×QœöœwA}ðٓ{ý|@düMº¹ÚPOWƒwAÑåGÛ ‰ÀT ü £­ˆtÌ­šrAædçeœyÀs0ü ÿìH!eæ©&vA‡ºzŠì”ŠÀ*AüM)!q°vAIx=Ûf@£Xþ ÓàZjvA%)/ƒŒ*€ÀĈü z–íºE{uAøýGû^@l±üN&x¿1OŸ»tAuZƒÀ;7­BPSGG ∟ˆýyIA` û^†:Aô Ôôh“SAŽŽâ‚àBì@Šg õLî²? þڛ—‚¿O,T Ê™¿š„TšÏ_@®Ÿ»<ÊÄð?÷±U„š˜@ì[c ·@T‚ÛNÿ @€?b12ì@#¿mo¹+@@]ä„A®ÃeA¥ŒhèPSGG "žÊ2”A8œŠÖ?î?’šÓÛ·Þ?cW¡Ñ q@€T7@ §MÕ û,üeÂ@f3ÿu²@Q€µKôù?Š‹%ôù?i–p¹û?Ž'VfÏ_@ëËf& ?ì@€V˜ X/ì@ÉuÒµ£ ž³?XU6`Å @c'PSGGTÍÌÌžÊ2”AÁ( %ü †ô¬ÏL±ÜÇvA SGÌ/£‚@"ÿLäl÷xŒf ñtAžØ8ÅÞŒyÀ…üN£×<€ÌB‹œwA<Pý|@düMº¹ÂmiaƒwA­Jš Å ‰ÀT ü £­„‚Û²šrA†õ€ÝðœyÀs0ü ÿìßæÖšŽ&vAÏ?ê)+•ŠÀ*AüM)!ÄŠ¯ën°vA4Œø™]Þf@£Xþ ÓõIÖ?ajvAœ "Ùo+€ÀĈü z–µqMÇ{uAY;CŽÑù^@l±üN&xYù3mŠ»tAOöœ6'ƒÀ¥l’TPSGGTš™™¹Ê2”AÁ( %ü †ô%Î~ÕÇvAüëÙŒ£‚@"ÿLäl²{%ñtAI=ŒÏŒyÀ…üN£×èæEô„œwARÖ³0þ|@düMº¹ÞE°-kƒwAƒOq9‚ ‰ÀT ü £­T1î·šrA‡Œ­BߌyÀs0ü ÿìq€E¿&vAòC/Z©”ŠÀ*AüM)!?0)—l°vA°zƒÛf@£Xþ ÓòT¹ÌgjvA€^/ +€ÀĈü z–ž=J{uAˆö”Ÿû^@l±üN&x€“ò3®»tA\%ÐeƒÀJ?oŒPSGGTfffºÊ2”AF %ü †ôsû œÍÇvA4Í©{q¢‚@"ÿLäl¿H†‘*ñtA–K@˜ŸyÀ…üN£×ÈöÛIœwAPj|Âû|@düMº¹É9ÙuƒwA\‰Þ¡ ‰ÀT ü £­é9"œšrAÊ~9n¿yÀs0ü ÿì•Ñ áÉ&vAÉëm•ŠÀ*AüM)!lsDj°vA³|vñ×f@£Xþ Óo:•ïmjvA/#,€ÀĈü z–ãßïÀ{uAšZ‘•ò^@l±üN&x>E]¶»tA〛ŽbƒÀRü,PSGGT333»Ê2”AF %ü †ôâôyÆÇvAä§âG7£‚@"ÿLälw軪/ñtA÷ÁOŸyÀ…üN£×ªjYWyœwA㚘ßÕû|@düMº¹…8EƒwAÏ¡Jê> ‰ÀT ü £­nZ«kšrAî‡÷ûœyÀs0ü ÿì°ÁʈÔ&vA»°óü”ŠÀ*AüM)!ÞaXãg°vAñö‘pßÖf@£Xþ Óh;tjvAÝ»ýÐ+€ÀĈü z–ˆ8Ä5{uA¯c‚ô^@l±üN&x;dÊŸ»tAcpÄ-ƒÀÈ ØPSGG"@£Xþ Ó ¯Ĉü –z %ü ô†† À ÿÿ úIÿÿs0ü ìÿ‰T ü ­£Á8ÿÿ—ÿÿ"ÿLläþdüM¹º²…üN×£x*AüM!)–l±üNx&n@#ÿÿ@  %ÿÿ×*üU!)ŸKŒCŠ t @Æýÿÿ@ ’ÿÿ@l¥ÿÿÛôçRPSGG!$MÕ Õ ŠKPSGGTŒÊ2”AF %ü †ô‚%þ¿ÇvAÉ>®C£‚@"ÿLälÒßXÕ4ñtA‹*ÂпyÀ…üN£×‘1ŸsœwAòÑåû|@düMº¹*41A‰ƒwA8Ú±Ìu ‰ÀT ü £­ž“‹jÇšrA?\)ÀyÀs0ü ÿìÛ [5ß&vAMB”Á䕊À*AüM)!QãJÊe°vA|vKDØf@£Xþ Ó l„ {jvAGܶ~N,€ÀĈü z–km˜{uAŸ¹ðØî^@l±üN&xÿ/Å»tAŽ äóÃÀNW~PSGG >sW‡ýyIAxù,­^†:A÷Agßh“SAºñ· ãQì@!qÐwâ¡?DÓҜšp¿‰ÆëBÌr–¿Í›OÖ×Ô_@ÿŸ/•QÅð?y5Þh—@ÌM©"ž@•ÝY†d @(b)† Aì@¯ZéyÑ.@€cä„AÇÃeA&ȧPSGG "ŒÊ2”A.$)Ð?î?Ø¿’‡Û·Þ?Ê]#Aq@€_7@ §MÕ ñVÚå6Â@õÌoô^²@'ڌIìóù?"àj‹ù?ÝPJ8‘¹û?‚†`’LÐ_@œ­Æ¹Nì@5àôS>ì@ΑMšù6¥?_” @I=íPSGGTÍÌÌŒÊ2”A~õÿÿ %ü †ô+dqk·ÇvA6Wú+¢‚@"ÿLälšh– :ñtAŸhŒ$ÀyÀ…üN£×puœnœwAR=Dß²û|@düMº¹ê7bƒ“ƒwAœ [D# ‰ÀT ü £­e¢ðxÌšrA&F ’ÀyÀs0ü ÿìqŽéÙé&vA—ñIu¡•ŠÀ*AüM)!§—=©c°vAý”²>Öf@£Xþ ÓC„"jvA•NÜvå,€ÀĈü z–øT{uAÐýæL¥ê^@l±üN&xی̻tA•÷f{SƒÀwªoŽPSGGTš™™œÊ2”A~õÿÿ %ü †ôâ³ù¯ÇvAm_§nQ¢‚@"ÿLälbî?ñtA+iٝÀyÀ…üN£×”#y_hœwA2MºNú|@düMº¹P'º…ƒwA·`bo ‰ÀT ü £­!j±ÑšrAüT2ÁyÀs0ü ÿì8"cxô&vAžˆ/–ŠÀ*AüM)!³Š!Pa°vA?D§µ¹Ñf@£Xþ ÓcŠŽˆjvA¶)俞-€ÀĈü z–$M:}{uAZâ",çç^@l±üN&xY(ŽÔ»tA Ž·“”ƒÀ2ŽÐxPSGGTfffŸÊ2”AC& %ü †ô‘XH§šÇvA9ßm ±¡‚@"ÿLälNæIDñtA¶ÑAÁyÀ…üN£×$šêBbœwA«Àº÷û|@düMº¹:•k†§ƒwA{:ˆÞ$ ‰ÀT ü £­ŒXÏÊÖšrAq }rÁyÀs0ü ÿì²­èÿ&vA¢|>–ŠÀ*AüM)!,B _°vA3¡ÿR…Ñf@£Xþ ÓS&9{ŽjvAeH~]-€ÀĈü z–%É{uA{àcŸå^@l±üN&xÃ0ŠÜ»tA!¶QuƒÀ€ÅÖPSGGT333¿Ê2”AÚ% %ü †ôír¹ ÇvAÄÆ”š¢‚@"ÿLälp•b3Òf@£Xþ Ó‹I$•jvAƒ=Â"L.€ÀĈü z–A56\{uA°pæà^@l±üN&x®eNä»tAšî KƒÀŠÿPSGGT ü p®ºt6jÿ¿Žëæƒ XBÝøwÿ€°PSGG"@£Xþ Ó °Ĉü –z %ü ô†Š À ÿÿ úIÿÿs0ü ìÿ†T ü ­£¿8ÿÿ—ÿÿ"ÿLläþdüM¹º±…üN×£{*AüM!)—l±üNx&v@#ÿÿ@  %ÿÿ×*üT!)ÁKŒCŠ t @Æýÿÿ@ ’ÿÿ@l¥ÿÿÛôíRPSGG!$MÕ Ö ‰KPSGGĈü p®ºt6jÿ¿Žëæƒ XBÝøçW€±PSGGs0ü p®ºt6jÿ¿Žëæƒ XBÝøPPSGG£Xþ p®ºt6jÿ¿Žëæƒ XBÝø€‡Š°PSGG%ü p®ºt6jÿ¿Žëæƒ XBÝø߀°PSGGTÀÊ2”AÚ% %ü †ôÇ¿QřÇvA¡åõŠM¡‚@"ÿLäliÚž[NñtAÚô€oÂyÀ…üN£×Ö._™VœwA;rdI|ú|@düMº¹RŒôÊ»ƒwAlN;æ¹ ‰ÀT ü £­£šÃQášrA³ ÕjŠÂyÀs0ü ÿì,c'vA^טª–ŠÀ*AüM)!%EZ°vAÕ焿‘Ðf@£Xþ Ó¬!•›jvAb_[Ô.€ÀĈü z– Ž"ß {uAå^X3$à^@l±üN&x=‡ì»tA0èeƒÀó[ÌPSGG ¡9-‡ýyIA¡°“{^†:AÍ0Êh“SA¢Sº¬9cì@:¢)<„?­L[Áv]¿Ï;+‡ß•¿èÚk{CÚ_@ÿ:³¬ÖÅð?Ü9 5–@=×|£ž@¯Üj\Æ @Šez}Rì@^ô ÓC-@Àiä„AàÃeA'V„ÓPSGG "ÀÊ2”APÂÅ?î?J)ºVÛ·Þ? {xæÿp@€a7@ §MÕ qä¯SÂ@ t-ãF²@>âšÆŠóù?Ó;<ßù?Y—~ ±¹û?îüã6BÒ_@F?IÈ_ì@ILéŸåNì@Ó>ËÖ+)r”?]cSx»¡ @.ÿ·›PSGGTÍÌÌÀÊ2”Aø÷ÿÿ %ü †ô…r’ÇvA³žæJŽ¡‚@"ÿLälᣯÌSñtAÚVœeyÂyÀ…üN£×ÚpTQœwA–׉ièú|@düMº¹¥6+®ÅƒwA‹cŒüp ‰ÀT ü £­íŸýdæšrAÙù°ÂyÀs0ü ÿì^îý'vAjÔr–ŠÀ*AüM)! e¶GX°vAîߏ-ŸÐf@£Xþ Óe­Ìÿ¡jvAyñ˜€h.€ÀĈü z–"úOb {uAÿ9¢äß^@l±üM&xD›Ùäó»tAš€ÿ<ƒÀ£îÖ"PSGGTš™™ÁÊ2”AŒ %ü †ô P7(‹ÇvAI-ž\¡‚@"ÿLälÿ" éXñtA¶i !ZÃyÀ…üN£×jÑ KœwAé™]vDø|@düMº¹ãԏσwAÿ·Ÿ×‰ÀT ü £­ã&ŒŠëšrAž~hŸˆÃyÀs0ü ÿìÊÓå§)'vAB?p€–ŠÀ*AüM)!yT8(V°vA» R:Ïf@£Xþ Ó.žtŸšjvAû4µxÿ.€ÀĈü z–ü€ºØ {uAÀڏ‡Û^@l±üM&xÕº×û»tAǙÛ_WƒÀÝ$ £PSGG KŒCP‰œåpcƋ9ƒØDï•0Ÿ›…ÔÞÉ®cÉÃÞ!Äüh <ϔÛ¿º €PSGGTfffÂÊ2”AŒ %ü †ô‚©Tú‚ÇvA¡åõŠM¡‚@"ÿLäl #^ñtAžáŒ«²ÂyÀ…üN£× UEœwA-P- äù|@düMº¹ŒämكwAÝ`ý  ‰ÀT ü £­—ÌÝðšrAßãV$ÃyÀs0ü ÿì5ŸáU4'vA˜Še\–ŠÀ*AüM)!û²ŠÅS°vAl4¹³Îf@£Xþ ÓGRÒø®jvAÂô“+Â.€ÀĈü z–åÊ=]{uA/÷ŽåÙ^@l±üM&xœ|oõŒtAÍT»ç&ƒÀ±Y\.PSGGT333ÃÊ2”Aš§ÿÿ %ü †ôÇ ý{ÇvAƒÍ¯S¥¡‚@"ÿLälñ[cñtA (ÑÂyÀ…üN£×ÌHLä?œwAX€Âñýù|@düMº¹Iz}ŒãƒwAM5,)` ‰ÀT ü £­òšE÷õšrAŒT±ÃyÀs0ü ÿìë¥Ïï>'vA«‹ïš•ŠÀ*AüM)!³6mfQ°vAîߏ-ŸÐf@£Xþ ÓŸ(PvµjvA?¹»Í¥.€ÀĈü z–Ïj¢Ø{uAm<ƒQ,Ü^@l±üM&xû€6 ŒtA¥¬‡÷ƒÀ0”ôYPSGG"@£Xþ Ó ¯Ĉü –z %ü ô†‹ À ÿÿ úIÿÿs0ü ìÿ„T ü ­£À8ÿÿ—ÿÿ"ÿLläÿdüM¹º±…üN×£{*AüM!)™l±üMx&‡@#ÿÿ@  %ÿÿ×*üT+ÄKŒCŠ t @Æýÿÿ@ ’ÿÿ@l¥ÿÿæôtPPSGG!$MÕ × ˆKPSGG "ÿLP‰œ@ÂâÀ ԑƒẦô›Í€Ò–1€z€Œ@èœDÀàCƒŸŸóQVPSGG ®‘ŽCP‰œ¯&Ùbaù-Ùþÿÿ˜œ {–Ü„šê×a=xÿ7ó=²:ûC>)o`œÜ,…^PSGG l±üMP‰œ ‹»~Å äl]™[Ï݀@@]~V¡-@([Áæ8€ŸŸ 0À§-PSGG *AüMP‰œ@ÂâÀ ԑÀÌþՀ†(NÀÃ0=Á÷>€£º0@hBÀ™ߟ{T ßPSGG düMP‰œ@ÂâÀ ԑ@VB̀Ӿ€4IAÂÁ;ï@hç„À&@ŸŸM5SΕPSGG …üNP‰œ@Â"À ÔQ@ÒŸ€…±Í@κ‘@ÀæÀ>@èꁌŒÃ@ŸŸD³±PSGG ×*üTP‰œ@ÂâÀ ԑ€ÿÎÀ³9‹¯ÜÀÀÿ@›%@è(G@úMC@ŸŸM†ñDËPSGGTÄÊ2”Aš§ÿÿ %ü †ô“ttÇvAá£Bá‚@"ÿLälŠ•O;hñtAýú††NÃyÀ…üN£×…U€9œwACš-sú|@düMº¹L™ŽíƒwABh&™x ‰ÀT ü £­/»ûšrA®UûªÃyÀs0ü ÿìÜ=O”I'vA)M$qM–ŠÀ*AüM)!ÇhÂCO°vAªÀ°³mÎf@£Xþ Ó}Æ ç»jvA³]\/€ÀĈü z–üŒ.G{uAñ¢¿!’Ö^@l±üM&xÕîXŒtA,HMðÁƒÀwÙuÅPSGG i‰OfýyIAž(êU^†:Aù<“¹h“SA% UœÕrì@Ž÷…µQì{¿jØJfX?‚w1ØD“¿ÊæLÚºÙ_@äZ?ú\Æð?+0B‘•@Y%¹@\=* @"ê€00bì@2(“‰t-@pä„AùÃeA~&2ÐPSGG "ÄÊ2”AjŽ#Í?î?HçRSÛ·Þ?øÄoÍÊùp@€a7@ §MÕ ”‘H§ØÁ@=Œ z/²@G›’„*óù?=奶ù?«Ây;Ò¹û?oŽæA3Ô_@Õ>o©pì@Œí)Ó_ì@Ø€2òãÆ“€?Ü,±R/t@'FPSGGTÍÌÌÄÊ2”A %ü †ô ǎmÇvAñ‹‡ž/¡‚@"ÿLäl³mšFmñtAAq™í\ÄyÀ…üN£×<ŽÈú3œwA0xJ(§ù|@düMº¹˜Æó©÷ƒwA¬qkž‰ÀT ü £­.ž1©rAˆìçÈõÃyÀs0ü ÿìϛüCT'vAã-«Nz–ŠÀ*AüM)!5ﺟL°vAøþ }œÌf@£Xþ Ó+1ïpÂjvA¢ù7º9/€ÀĈü z–‡£Åœ{uAˆj3ÓíÕ^@l±üM&x¿œŒtA‚ˆ†®ƒÀÓ­Ï`PSGGTš™™ÅÊ2”A %ü †ôêáR”eÇvAþ<íÕ ‚@"ÿLäl J‚arñtA)¿‡2ÅyÀ…üN£×ÜŒæ-œwAmäæ9‰÷|@düMº¹²„wAÃü•ó‰ÀT ü £­üŒG_©rA¢/ƒŽÅÅyÀs0ü ÿì\áhâ^'vAô¯7˜–ŠÀ*AüM)!‚p ¡J°vAXÓVµÊf@£Xþ Óè0ÉjvA©ˆ·0€ÀĈü z–EF.{uAÛáïÍ^@l±üM&x떙P!ŒtA€©ã}£ƒÀ¬ŒPSGGTfffÆÊ2”A %ü †ô©5^ÇvADÚåÅ⠂@"ÿLäleœ4ywñtAÖ#RÕ"ÅyÀ…üN£×ü%ŠÁ(œwAs<†»wú|@düMº¹hm£ „wA¬qkž‰ÀT ü £­ˆ#Ãb ©rA~a ŽIÅyÀs0ü ÿì&9‚i'vAÁÈwÌ–ŠÀ*AüM)! ‘æ|H°vA2ÛÅeŸÊf@£Xþ ÓUˆŽ’ÏjvAMeO90€ÀĈü z–øÁç—{uAM¡€“uÎ^@l±üM&xØÕ.)ŒtA­·žüƒÀÕ~÷ŸPSGGT333ÇÊ2”A %ü †ô,"SWÇvA 2Ê¡‚@"ÿLäl>1ª|ñtADð&ìVÆyÀ…üN£×GµYv"œwAûQ¯0ø|@düMº¹à×ÎÉ„wAõòf,l‰ÀT ü £­™ؙ©rAgç^„ÔÅyÀs0ü ÿì¬?œAt'vAúâ(Zk–ŠÀ*AüM)!a®í F°vAXÓVµÊf@£Xþ ÓòX8ïÕjvAEƐ {0€ÀĈü z–÷UiýþzuAÛáïÍ^@l±üM&x(Y 1ŒtAõqí8ƒÀ-»§ŸPSGGT ü ®j:Pu˜ð@”XÛC XBÝø±Œ PSGG"@£Xþ Ó ²Ĉü –z %ü ô† À ÿÿ úIÿÿs0ü ìÿ‰T ü ­£Â8ÿÿ—ÿÿ"ÿLläûdüM¹º°…üN×£w*AüM!)—l±üMx&Œ®‘°C#Ñ@  %ÿÿ×*üT+ÁKŒCŠ t @Æýÿÿ@ ’ÿÿ@l¥ÿÿ«šSPSGG!$MÕ Ø ‡œKPSGGĈü ®j:Pu˜ð@”XÛC XBÝø! PSGGs0ü ®j:Pu˜ð@”XÛC XBÝø–¬ PSGG£Xþ ®j:Pu˜ð@”XÛC XBÝøFÄ PSGG%ü ®j:Pu˜ð@”XÛC XBÝøÀœ PSGGTÈÊ2”A %ü †ôÏèB‰OÇvAúAÓñ— ‚@"ÿLäl˜'ìҁñtA~ZœGAÅyÀ…üN£×\4àœwAˆÊëëø|@düMº¹4c±„wAö막‰ÀT ü £­BnŒØ©rA޹Éé>ÅyÀs0ü ÿìTÎqá~'vAÝ 2,§–ŠÀ*AüM)!ẌÕC°vAemlínÉf@£Xþ Ó[[W7ÜjvAy‚Y|0€ÀĈü z–­ ØhýzuAÑŒBºnÊ^@l±üM&xéè!Á8ŒtAñÈó¹;ƒÀƒ¯ïPSGG u¡ƒGýyIAg’O@^†:A\<—­h“SA†.'³âƒì@"ˆ ú‹¿J¡¡"q€V?V4)Øõ듿,Ÿ‡ßÄÝ_@·wóáÆð?@'“Γ@Ì1ø€¹@"Æ ÷Š @”ÊîüSsì@©ýçâì*@@vä„AÄeA—’òQPSGG "ÈÊ2”AħÕ?î?!+©]Û·Þ?þߊþôp@€a7@ §MÕ ˜ÆÜ£šÁ@¬{²@q›±OÈòù?96«¡Jù?œ#Fžñ¹û?"ŒUŠˆÕ_@•º†€ì@% –pì@Ý¢zGÖ· €?p©„öæ¢ý?Ç~~NPSGGTÍÌÌÈÊ2”A %ü †ô QQãGÇvAªé qΠ‚@"ÿLälÊ ò†ñtAiÖ œèÅyÀ…üN£×²|]dœwA[¯Ú²ÿø|@düMº¹OŽÙÚ)„wA<<ƒD‰ÀT ü £­ª©rA!Rüõ)ÆyÀs0ü ÿì ‚s‰'vA)M$qM–ŠÀ*AüM)!OŒŸA°vAšVÐþYÊf@£Xþ Ó׍•âjvA(‰¡;Í0€ÀĈü z–wžŒåûzuA™“Ë=äË^@l±üM&xË£n†@ŒtAy6ë87ƒÀÕ革PSGGTš™™ÉÊ2”A %ü †ôQB8/@ÇvASØhÝ ‚@"ÿLäl&òÀŒñtAS$ùÝœÆyÀ…üN£×› TbœwA2!@Ÿø|@düMº¹ÎÁ3„wA`8Ü=˜‰ÀT ü £­TñÉb©rAZl›,ÇyÀs0ü ÿìT3c”'vAš"ù [–ŠÀ*AüM)!áœ)?°vA:F˜áJÇf@£Xþ ÓÛ5YéjvAÑŒÏ1€ÀĈü z–1 dúzuA…rTÿÅ^@l±üM&xšñGŒtAåWUƒÀ…ÜFpPSGGTfffÊÊ2”A %ü †ôØ 89ÇvA©rA8g“V ÉyÀs0ü ÿìE”ªÙÓ'vAÅXŽ ¶–ŠÀ*AüM)!LpØî1°vA BèÁf@£Xþ Ó÷¯*kvA”Žz{&2€ÀĈü z–×Ë+DñzuA‘ÒÆpQ»^@l±üM&x¯.«uŒtA‰£é€ÊƒÀY§ ˜PSGGT333ÏÊ2”A %ü †ôqE5h ÇvAh[[‹ÈŸ‚@"ÿLälÊŽe°ñtA˜â&Š1ÉyÀ…üN£×¶3#é›wA0d%p÷|@düMº¹ºÃ<>z„wA MŽŠ‰ÀT ü £­šø}DC©rAf‡$ÏÈyÀs0ü ÿì{gÿ…Þ'vAÎ?痊À*AüM)!\9 ‰/°vA5oÌNÆf@£Xþ ӝý’kvA¥#.ÿ2€ÀĈü z–O(¯€ïzuAŸÃY†·^@l±üM&xvIÞ&}ŒtAƒ… ÕþƒÀ#⥅PSGGT ü  ®b@†{ÀŽ6 • XBÝø±1góPSGG"@£Xþ Ó ŽĈü –z%ü ô†— À ÿÿ úIÿÿs0ü ìÿŒT ü ­£Æ8ÿÿ—ÿÿ"ÿLläødüM¹ºµ…üN×£r*AüM!)—l±üMx&™®‘ŽC#á@  %ÿÿ×*üT+ÂKŒC– l @Æýÿÿ@ ’ÿÿ@l¥ÿÿ›š9SPSGG!$MÕ Ú …œKPSGGĈü  ®b@†{ÀŽ6 • XBÝø!™góPSGGs0ü  ®b@†{ÀŽ6 • XBÝø–!gòPSGG£Xþ  ®b@†{ÀŽ6 • XBÝøFIeòPSGG%ü  ®b@†{ÀŽ6 • XBÝøÀgòPSGGTÐÊ2”A %ü †ô—ÆÜÇvA±¯ÛÖ럂@"ÿLälÖħ/µñtAyR‰5-ÊyÀ…üN£×B^ùâ›wAnÌR,÷|@düMº¹ÅY¡'„„wA3òµÈ‰ÀT ü £­žÜ7NH©rA œ*ª ÊyÀs0ü ÿì7DN,é'vABM¢Z—ŠÀ*AüM)!ë[#è,°vAu`tîR¿f@£Xþ Óõ] GkvA âhaH3€ÀĈü z–‹%ôîzuA—ˆ-wŒŽ^@l±üM&xi>ÒŸ„ŒtAáÍUƒÀù¥ŠPSGG œá-ûüyIAœ‹E&^†:AµnŠ h“SAlÑ=÷V€ì@ß©“IàF¿{AòÒX?žFëŒ”¿PÖ0®Ü_@üi²íÇð?˜?lçg‘@™p@CŠº@€­€-O @Á‚öµ“ì@zæ ƒo)@À‚ä„ADÄeA֓›ÖPSGG "ÐÊ2”AËŒ/ò?î?•òù?ªÍ uù?l޹û1ºû?ÉÐgØ_@Û'Ÿw.¡ì@÷^ZDì@çS&(žÌ?@ەÞú?ë)DŒPSGGTÍÌÌÐÊ2”A %ü †ôj6¡IýÆvAã2…Ÿ‚@"ÿLälÚ*†ºñtAU=Œ€ÊyÀ…üN£×ö5ݛwA_£‡ˆlö|@düMº¹‹iQŽ„wAŸA;/õ‰ÀT ü £­‘ô†M©rA :w0œÊyÀs0ü ÿ옓Ãó'vAwÂÛ—ŠÀ*AüM)!ÆRR+°vA’³ñ&%Âf@£Xþ ÓdOš#kvAÛ`Q3€ÀĈü z–(–ìzuA’'F­c²^@l±üM&xAŸFkŒŒtA˜œ©¹ƒÀþÇÛÉPSGGTš™™ÑÊ2”A %ü †ôØ(öÆvAh[[‹ÈŸ‚@"ÿLälöšý˜¿ñtAâ_+ŒÊyÀ…üN£×{®W€×›wA—'ŒÄ÷|@düMº¹û\˜„wAíÝ}щÀT ü £­™ÅB£R©rA< ŸœÉyÀs0ü ÿìu€ tþ'vAÁÈwÌ–ŠÀ*AüM)!¶²ôÑ(°vA²³•Àf@£Xþ Óîڏ%*kvA¥#.ÿ2€ÀĈü z–áA9úêzuAÃÚPã6²^@l±üM&xBÏ¢v”ŒtAS›(óJƒÀXÊaPSGGTfffÒÊ2”A %ü †ôø„E›îÆvALpߟ‚@"ÿLälæ6ÅÄñtA]†‘uœÊyÀ…üN£×{-ƒAћwA þŽýðö|@düMº¹8©-”¢„wAxÆ4„‰ÀT ü £­(yÄW©rAõZYÊyÀs0ü ÿìÍD  (vA±IBŒ–ŠÀ*AüM)!ÓèLt&°vA1ðÌÇœf@£Xþ Ó ²ïž0kvAƒŠ"wž3€ÀĈü z–ˆ›ŽézuAqËk®^@l±üM&xÔÂLº›ŒtA\fSƒÀƒ€°PSGGT333ÓÊ2”A %ü †ô^€”(çÆvAÉ2Ï^:Ÿ‚@"ÿLälŸnìÉñtAtŠžŸËyÀ…üN£×kœé²Ë›wA'É© Šõ|@düMº¹Ëq¢ ¬„wAÃ=Ú‰ÀT ü £­Àïî\©rAžo„»ËyÀs0ü ÿìËýU€(vA?ÿq—ŠÀ*AüM)!B6!!$°vAóålJ¿f@£Xþ Ó{Cë$7kvA1Ñb¯’4€ÀĈü z–,ìðçzuAPD³ž«^@l±üM&x—#ÿò¢ŒtA‡mhòƒÀÚb²ûPSGG"@£Xþ Ó µĈü –z %ü ô†” À ÿÿ úIÿÿs0ü ìÿ‹T ü ­£Á8ÿÿ—ÿÿ"ÿLlä÷düM¹ºº…üN×£m*AüM!)šl±üMx&®‘ŽC#á@  %ÿÿ×*üT+ÂKŒC– l @Æýÿÿ@ ’ÿÿ@l¥ÿÿ›š0RPSGG!$MÕ Û „œKPSGGTÔÊ2”A %ü †ô‚ßÆvAœ~¶.VŸ‚@"ÿLäl›ÔÏñtA‚gÜdÌyÀ…üN£×Ça¿êśwAŸ÷•žœô|@düMº¹ž}üµ„wA3òµÈ‰ÀT ü £­ Ñ-b©rA •‘ƒ?ËyÀs0ü ÿìs ,I(vA$ºVt–—ŠÀ*AüM)!Êì$¯!°vAäSӏ¿f@£Xþ Ó͆Ѡ=kvAà-íŸz4€ÀĈü z–j€ß]æzuAô£ì‹ñ§^@l±üM&xœxo‰ªŒtAõ±ÞòƒÀ“ÐyPSGG ¿ÞüyIAîfÇ$^†:A sg™h“SAÔnú™³ì@¯ÊG[%¥‹¿•lZ‡že?‹B«1Ð⑿Úw’‰ä_@ôË,$tÈð?:ó5@M Î'»@ìk•Ÿ²@ FoO £ì@Fم€6&@‰ä„A]ÄeA `ù9PSGG "ÔÊ2”Aڃú?î?ó_¯Û·Þ?ÓxŽép@€J7@ §MÕ t}Ø Á@øÕϱ@ò7 ¥ñù?œLÞF ù?{SfRºû?‚Qj¡Ù_@ÛpâÚµ°ì@^êìڟì@ìòÙü«fâ?GŽôhü?'òäPSGGTÍÌÌÔÊ2”A %ü †ô‡YEØÆvA(€òþž‚@"ÿLäl05ÔñtA©‚ñ&ýËyÀ…üN£× ·xÀ›wAÀ‹as»÷|@düMº¹µ–˜À„wAÃ=Ú‰ÀT ü £­ã,wMg©rAeèËyÀs0ü ÿì1 Ð)(vABM¢Z—ŠÀ*AüM)!£ŒVœ°vA2ˆLÍ2Œf@£Xþ ÓÊYˆNDkvA”=öG4€ÀĈü z–×ÍääzuA<«] ©^@l±üM&x…q?4²ŒtAh±³°ƒÀQá<ŒPSGGTš™™ÕÊ2”A %ü †ôk‡ŸÐÆvAÜ:%ô;ž‚@"ÿLälj6SÙñtA‹kõÎyÀ…üN£×,<—º›wAÕØ®ašô|@düMº¹pÚÞ,ʄwAÕ~Z0‰ÀT ü £­7‘Ëfl©rAŽç@‰ÎyÀs0ü ÿìTÕ^Ì3(vAØzd/ð—ŠÀ*AüM)!–¥'°vAMIrdžf@£Xþ ÓíNzŠJkvAéc9)§5€ÀĈü z–ë.nIãzuAIÊVÐð ^@l±üM&xŠà⹌tAûõÙyaƒÀb³'rPSGGTfffÖÊ2”A %ü †ô~1†‚ÉÆvAO µ©„ž‚@"ÿLälõ!²uÞñtA&Ü€?ÎyÀ…üN£×J±'JŽ›wAºjQ[Pó|@düMº¹£/ԄwAR„³K‰ÀT ü £­ë9¶q©rAi‹h^ÍyÀs0ü ÿìï&1a>(vA uœ×»—ŠÀ*AüM)!Žþ°vAŒnœ»üžf@£Xþ Ó+ž!ðPkvAëøœ*ž5€ÀĈü z–m€àázuAšä‚Pž^@l±üM&xÏvƒ>ÁŒtAk²ÅçƒÀœ 5žPSGGT333×Ê2”A %ü †ô/±HáÁÆvAßwR%ž‚@"ÿLäl!ÞT ãñtA&÷žZÎyÀ…üN£×…8/쮛wA ‡‚Zõ|@düMº¹;xÎ=ބwAvÓ³E‰ÀT ü £­4ZËv©rA¶“Ù³ÍyÀs0ü ÿìªSXI(vAøß—ŠÀ*AüM)!™§5è°vAo{Æ÷”¹f@£Xþ ÓáÔn‘WkvA7'p\5€ÀĈü z–&±XàzuA·›o‚NŸ^@l±üM&xQðU·ÈŒtAFaã8ƒÀPEŸ€PSGGT ü "®a5?WG`p`»XBÝøX$JPSGG"@£Xþ Ó µĈü –z %ü ô†• À ÿÿ úIÿÿs0ü ìÿT ü ­£Á8ÿÿ—ÿÿ"ÿLläódüM¹º·…üN×£c*AüM!)—l±üMx&›®‘ŽC#Ý@  %ÿÿ×*üU+¿KŒC– l ý@Æýÿÿ@ ’ÿÿ@l¥ÿÿ›šƒSPSGG!$MÕ Ü ƒœKPSGGĈü "®0?æèDf siXBÝø CÈŽPSGGs0ü "®5? *å‹0±XBÝøK,€PSGG£Xþ "®0?“* ž€ÛºXBÝøñ*žPSGG%ü "®0?$"2ë¬XBÝø-1™$PSGGTØÊ2”A %ü †ôL–OºÆvAÜ:%ô;ž‚@"ÿLälc"÷±èñtA>еÎyÀ…üN£×܀ib©›wAa÷41ö|@düMº¹uð}mè„wATŒ3‰ÀT ü £­ŠˆÞ{©rAÔ~¶ÎyÀs0ü ÿì’r€S(vAši˜ŠÀ*AüM)!$|X°vAúE’¶f@£Xþ Óé‰ì]kvAéc9)§5€ÀĈü z–S¯ØÞzuA4.öéœ^@l±üM&xœH‡ ÐŒtA$mòуÀµuè,PSGG ŽMVËüyIAÆÜ©^†:AšY~•h“SA¢GÃÉúÃì@‚ÖG÷ʃ¿Pv^y:?k?XgX ¿ZâaVÜ_@B†úÈð?QZ>@>ê·§»@t²¶@œÑ$ÌJ³ì@GPt#@@ä„AvÄeAxþi—PSGG "ØÊ2”AuËB@î?Ø7K²Û·Þ?µ„º Fçp@K7@ §MÕ FMnëÀ@¥¯É·±@’‡GCñù?]ÉŸ ù?Îëqºû??Ô+5§Û_@U€ûÓÿ¿ì@n÷&¯ì@ñ£eèy€?úê;¢”!@!ïÌPSGGTÍÌÌØÊ2”A %ü †ô=Ð䲯vAl}>QAž‚@"ÿLälSMÛèíñtA¹Ï†Ë&ÐyÀ…üN£×yAA£›wAÏÛ!Ñ=ô|@düMº¹8Jxwò„wAúöuª1‰ÀT ü £­anß,©rAlZ#ÁÎyÀs0ü ÿìµÛP^(vAr†ôÞX˜ŠÀ*AüM)!˛/°vA?fv^Dµf@£Xþ Ó‹rUdkvAÅõyß6€ÀĈü z–^à{&ÝzuApégˆ‹—^@l±üM&xãÞ>'ØŒtAì ®XS ƒÀí¥ŒBPSGGTš™™ÙÊ2”A %ü †ôKÌŒe«ÆvAJNüS‚@"ÿLälŒxóñtAáã`ÐyÀ…üN£×¬©M›wA0¯¬™ò|@düMº¹X Fü„wA09µ3 ‰ÀT ü £­U‰Û&†©rAärmJÐyÀs0ü ÿìh^fÜh(vAŠ;rêI˜ŠÀ*AüM)!òbmò°vAüŽO³žŽf@£Xþ ӝ7øjkvA‰DŽX7€ÀĈü z–ƀw¬ÛzuAÒøJ‡Õ^@l±üM&x¯Ù¬gߌtAÏ13 ƒÀœ§PSGGTfffÚÊ2”A %ü †ô±2¬€ÆvACø|šÒœ‚@"ÿLälq¯ŽøñtADYÝPÑyÀ…üN£×heR§—›wAò|@düMº¹üÔC…wA;Iª÷r‰ÀT ü £­ºÚqC‹©rA·RoD†ÐyÀs0ü ÿì¶ß’£s(vA÷ð'™å˜ŠÀ*AüM)!wÿ0“°vAʍï@5²f@£Xþ Óxn›qkvA"-×ê}7€ÀĈü z–›Í<ÚzuA3¬Ì85Ž^@l±üM&xŠÃ“çŒtA^*Ÿ”ë ƒÀpMæPSGGT333ÛÊ2”A %ü †ô¥ì€œÆvAš¬ß 6‚@"ÿLäl¶ÔŠkýñtA\ ÑÑyÀ…üN£×ØÐ㑛wA ž>:{ò|@düMº¹ÝÊWp…wAíËŠ)‰ÀT ü £­lw%£©rAYqýîÐyÀs0ü ÿì‚@~(vA HýטŠÀ*AüM)!ôŽ.ˆ °vAxs>žW±f@£Xþ ÓYÒzxkvA"-×ê}7€ÀĈü z–?[ª€ØzuAûx­Ì^@l±üM&xùӖxîŒtAñÓ+0 ƒÀKê3PSGG"@£Xþ Ó ŸĈü –z%ü ô†ž À ÿÿ úIÿÿs0ü ìÿT ü ­£Ê8ÿÿ—ÿÿ"ÿLläñdüM¹ºž…üN×£^*AüM!)–l±üMx&–®‘ŽC#ô@  %ÿÿ×*üU+œKŽC– l û@Ëÿÿ@ ’ÿÿ@l¥ÿÿ–šbUPSGG!$MÕ Ý ‚œKPSGG "ÿLŽœ@Ââ@+ԑ@&ýÿ€ÄO@€‰ÜÀ—«’À_2ƀá˜ÜÀAé€öÆÍ£K~€PSGG l±üMŽœ@Ââ@+ԑñÿ€¯³ÀI@Ÿå€ŒmJÀXH%ò迀D<”­œ–PSGG *AüMŽœ@Ââ@+ԑ@1÷ÿ@5*€I €ë‡ñÀÆf @^À$è¿@ŽüU«YPSGG düMŽœ@Ââ@+ԑ@Šãÿ€é‰n€ ýÀY@†ü;é?€ÇE%ÀZŠPSGG …üNŽœ@Â"@+ÔQñÿ?À!yŽ€‰ÿ?€ì>€‹ ÀTuoÀšè¿@„œ[„ØbJPSGG ×*üUŽœ@Ââ@+ԑÀ{þÿÎ'YÀ‰ì?€ž?Ú@Ÿ©ƒ€…Hz¥êÀsýNVòÁèPSGGTÜÊ2”A %ü †ôGÉ{8•ÆvAo­ë‚@"ÿLäl JRœòtAN2fÀÑyÀ…üN£×brúŒ›wAI ‰Uaò|@düMº¹Ãq…wAåȔv±‰ÀT ü £­Ÿ ›•©rAî8àÔ*ÑyÀs0ü ÿìž>Ééˆ(vA›ÐvÓg˜ŠÀ*AüM)!d˜×R °vACè'PjŽf@£Xþ ÓøU‰~kvAÎÑóó7€ÀĈü z–×Ü×zuAbEÏvù^@l±üM&xrè@öŒtAáüS7> ƒÀx¯íòPSGG Ý|RËüyIAVâ^†:Abãhh“SAà–‹Óì@»ËlUÍg¿Ø+v¬Oap?X”m” ߋ¿m’+Åì_@쎁Éð?Ò4Ѝ@êý(Œ@ ¢„w@žŠ#ŽÂì@@<ûæš@€•ä„AÄeA·%n˜PSGG "ÜÊ2”A4çåÿ?î?>®¥Û·Þ?IK—<æp@K7@ §MÕ ú¶ÑªŒÀ@—(W^ ±@Fð—žâðù?+©ŸJ7ù?*¹$’ºû?J žKÞ_@åƒÑçÏì@(ÎäÁq¿ì@öž@é]’4‚?ýq'by@ùZ€fPSGGTÍÌÌÜÊ2”A %ü †ô>󧱍ÆvA—o²€L‚@"ÿLälF.TáòtAƒp`ÿ7ÒyÀ…üN£×o‚x@†›wA³ÄÁÍnó|@düMº¹ó:n„$…wAš…él‰ÀT ü £­¯óۚ©rAßÝKÑyÀs0ü ÿ왆“(vA†«5Y`˜ŠÀ*AüM)!6~°®°vA©¹$5°f@£Xþ Óõ ބkvAŒÊiG£7€ÀĈü z–eb€†ÕzuAû̑_*Œ^@l±üM&x²9ÐÿýŒtAíR| Ó ƒÀê‹|PSGGTš™™ÝÊ2”A %ü †ôõÒ¥“†ÆvA€cgµòœ‚@"ÿLälʖà! òtAöüžþÑyÀ…üN£×oæ·Ì€›wAmžpvó|@düMº¹²|©Ž.…wAc(G£ ‰ÀT ü £­ÊVï( ©rAÆÏ*¢uÑyÀs0ü ÿì7 ;ž(vAN‘„ŽÁ˜ŠÀ*AüM)!ܰvAjåµÂò¯f@£Xþ Ó5äÖr‹kvAžÍ”³°7€ÀĈü z–G=^ ÔzuA (‰^@l±üM&xÉrp‹œtA…}™—t ƒÀ/^AÂPSGGTfffÞÊ2”A %ü †ôˬÚ~ÆvAó2…ób‚@"ÿLälÊ÷SòtA%KƒÓyÀ…üN£×SÝZ z›wA»4‰€ñ|@düMº¹æl•8…wA<Óú~‰ÀT ü £­ š\¥©rA%QeÏÑyÀs0ü ÿìùôá¶š(vA7܃ИŠÀ*AüM)!ɋB °vAik—¯f@£Xþ Ó$¹_đkvA`ߗݙ8€ÀĈü z–jþ7ƒÒzuAdl,mV…^@l±üM&xΚ! œtAk›\@ ƒÀß7äµPSGGT333ßÊ2”A %ü †ô¥‡jnwÆvAþž=Ìo‚@"ÿLälÇ)øcòtA³ÈÆïÑyÀ…üN£×é‰eìt›wAÕ_C9ô|@düMº¹ôluB…wA©ÙÛ!\‰ÀT ü £­Œß²zª©rA)‘'<ÑyÀs0ü ÿìÖÆöd³(vAï/â:ᗊÀ*AüM)!ú~it°vA £éÙ±f@£Xþ Óç5­%˜kvAfz×8€ÀĈü z–CÕÑzuA•ðÍ}2ˆ^@l±üM&x–uµ|œtAœ£wû¬ ƒÀ³›°]PSGGT ü °#®Á¿ð‡t(ìæXBÝøÎçmPSGG"@£Xþ Ó ÁĈü –z%ü ô†£ À ÿÿ úIÿÿs0ü ìÿ¢T ü ­£Ï8ÿÿ—ÿÿ"ÿLläñdüM¹ºŽ…üN×£^*AüM!)˜l±üMx&–®‘ŽC#õ@  %ÿÿ×*üU+ŒKŽC– l û@Ëÿÿ@é ‹ÿÿ@l¥ÿÿr UPSGG!$MÕ Þ œKPSGGĈü °#®G¿r4rP•PXBÝøZáށPSGGs0ü °#®£¿ÕàÖP2XBÝø®\ƒFPSGG£Xþ °#®Ž¿Ìc(µhÅ9XBÝøJd/PSGG%ü °#®A¿XÌXÑ-XBÝøB6b‡PSGGTàÊ2”A %ü †ô•¯pÆvAîB{‰=‚@"ÿLäl×k€òtAw—׏¢ÒyÀ…üN£×~Iso›wAÜýù~ó|@düMº¹ÂæˆL…wA6Á¯¿‰ÀT ü £­gȘ¯©rAoä0ͯÒyÀs0ü ÿì‚vË Ÿ(vAN‘„ŽÁ˜ŠÀ*AüM)!áÆV°vAH­,c¯f@£Xþ Ólk‚ÖžkvAŒüÒÝ8€ÀĈü z–ƒÏzuAŒ;áïƒ^@l±üM&xòJÌTœtAcÖÃÇš ƒÀZ² mPSGG îš ÏüyIA’n•Í]†:A è~h“SA”~õ2Žâì@ҝÒîð-s?Œ`#ˆ‰]?̑I)lю¿ K-å_@6_Ë$Êð?ÁKhoŒ@Ó`%ªŒ@{bAÚ@%|Òì@LP9 Z8!@À›ä„AšÄeAn)ӏPSGG "àÊ2”AJ Ÿù?î?®ä:hÛ·Þ?\tÍuDâp@€a7@ §MÕ `e‚šÀ@š‚æŸˆ±@âqܱðù?öqOHÍù?$ŸßP²ºû?ø&r"à_@^ú¶Û6ßì@±×áY¯Îì@û¯FAºOmŠ?ÅØu d{ @šŒTÅPSGGTÍÌÌàÊ2”A %ü †ô¶YՄhÆvAˆQŒ„5œ‚@"ÿLälŠÄÌË!òtAf»F‹ÔyÀ…üN£×õ™„hi›wA¡Š ëï|@düMº¹µÓšV…wA'mœ`}‰ÀT ü £­¡Æt»Ž©rAõMMã‹ÓyÀs0ü ÿ썿žÈ(vA'‰wߘŠÀ*AüM)!\…Øßý¯vAÄ˱Œ¬f@£Xþ Ó²3 e¥kvA0Ù9l9€ÀĈü z–顯 ÎzuA7 _l ~^@l±üM&xAù‘Â#œtAp-Ò¬ì ƒÀ{xy¬PSGGTš™™áÊ2”A %ü †ôaÕÈ÷`ÆvA«ÝÁÏŜ‚@"ÿLäl9î å&òtAoÂé \ÔyÀ…üN£×ÈjW®c›wAè$–ŽMò|@düMº¹Wӕ`…wANLZ «‰ÀT ü £­öW﹩rAªNˆ¹IÓyÀs0ü ÿìI!=Ó(vA"·ÅɘŠÀ*AüM)!>O û¯vAÍQϐ¬f@£Xþ ÓG4ΫkvA¡ß{ q9€ÀĈü z–¶fÌzuAªnp÷^@l±üM&x”çŠÌ+œtAIn™» ƒÀ!¹ÙPSGGTfffâÊ2”A %ü †ôE6òbYÆvA€cgµòœ‚@"ÿLälدd,òtAëìT}zÔyÀ…üN£×Œ&±œ]›wAºjQ[Pó|@düMº¹:!BYj…wAÄšƒ "‰ÀT ü £­ÚbñŸ©rA–6ßRçÒyÀs0ü ÿìîbzüÝ(vA€‹Œ6˜ŠÀ*AüM)!A5ÚÚø¯vA«p/ެf@£Xþ Ócšèm²kvAëT3k9€ÀĈü z–i5ðÊzuA€Úwþ|^@l±üM&xÀϔ3œtAþ= ·ÿ‚ÀÄý ‘PSGGT333ãÊ2”A %ü †ô1!õQÆvA;‰üåiœ‚@"ÿLäl’ô31òtA»Æ9ÊÔyÀ…üN£×PuêDX›wA†TÉñ|@düMº¹ |ÇKt…wAñV CމÀT ü £­:¬ÕérAž§aÔyÀs0ü ÿìk0Õšè(vA"{ÜL¢˜ŠÀ*AüM)!†Öùö¯vA`cÕW«f@£Xþ Ó^«éòžkvAcL&m:€ÀĈü z–íßoÉzuA;i¥ "z^@l±üM&xÄñCö:œtA¢;F+ ƒÀýžOPSGG"@£Xþ Ó ÁĈü –z%ü ô†œ À ÿÿ úIÿÿs0ü ìÿŸT ü ­£Ê8ÿÿ—ÿÿ"ÿLläódüM¹º²…üN×£_*AüM!)›l±üMx&–®‘ŽC#ø@  %ÿÿ×*üU+ŒKŽC– l @Ëÿÿ@é ‹ÿÿ@ešÿÿ{úUPSGG!$MÕ ß €œKPSGGTäÊ2”A %ü †ôÅ8–rJÆvA£°ŠØ¶œ‚@"ÿLälQKHd6òtA(Öx×^ÕyÀ…üN£×ª{4ÏR›wAcÇ¡(‹ï|@düMº¹$ †–~…wANLZ «‰ÀT ü £­éP;É©rAž§aÔyÀs0ü ÿì20Yó(vA¯­p3™ŠÀ*AüM)!&Ÿ£ô¯vAF±8Œ«f@£Xþ ÓÑTj^¿kvA«ñ;Ì9€ÀĈü z–Gà‡âÇzuAqšÃõTw^@l±üM&xÍbõBœtAKþ?aî ƒÀºw‹GPSGG V/ØüyIAåcœ±]†:AšVö{h“SAÊYž,ôì@ =9ZU± ?&1¿ã"a¿Ì€:Ñh"’¿ˆ^fÔxë_@™Z‹Êð?÷Í[–h‹@ݧBt(œ@Ç»èž8@Ÿê*H5ãì@s˜Å@¢ä„AÁÄeA§+pÿPSGG "äÊ2”AeҐô?î?eIPCÛ·Þ?3VƒÏEáp@€J7@ §MÕ F¶Ø»\À@˜r­Ôo±@¯Yðù?[MÒ`ù?ߋc7Ѻû?Hðàœà_@eèÚñ³ïì@I]“œ8ßì@ ýBÁ þ¢?9þ`ÓBë @Ê0΍PSGGTÍÌÌäÊ2”A %ü †ôÎò;CÆvA±€? ]œ‚@"ÿLäl'ƒ±±;òtA—'[ÚçÕyÀ…üN£×{”M›wA,Kçåšò|@düMº¹U›" ˆ…wAñV CމÀT ü £­³btΩrADۖi?ÔyÀs0ü ÿìÜ* þ(vAüªæޘŠÀ*AüM)!Ç£`ò¯vA…#p™tšf@£Xþ Ó|-úÅkvAþfFR3:€ÀĈü z–Q_RÆzuAäWÐ,(w^@l±üM&xa™oJœtAöœ©Ó ƒÀ¡dPSGGTš™™åÊ2”A %ü †ô"ƒxŒ;ÆvA~²Ž÷Kœ‚@"ÿLälèýÄöñ|@düMº¹9³ŸÁ’…wAßw+ñç‰ÀT ü £­’i+®Ó©rAÕì«ú_ÕyÀs0ü ÿ왣š)vAr lÀ*AüM)!MD þï¯vAÇ7°äöšf@£Xþ Ó¿ÏdÌkvA Jw4Z:€ÀĈü z–ÚŸ*±ÄzuAnî]s^@l±üM&xf1åQœtAÜ;Çú3 ƒÀºU&APSGGTfffæÊ2”A %ü †ô|p44ÆvA xNœ‚@"ÿLälÛ~øEòtA(þš^ÖyÀ…üN£×•gïñ@›wA°z.zð|@düMº¹8 &›œ…wAe×ˉÀT ü £­»^àØ©rAGA•õÕyÀs0ü ÿì3Ã6)vA4LÊñ昊À*AüM)!ž ”“í¯vAÐ<œ©f@£Xþ Óìø,ÓkvAU$/JÊ:€ÀĈü z–…t2ÃzuA|<r^@l±üM&x€|}YœtAÒ67 ƒÀ•PSGGT333çÊ2”ALßÿÿ %ü †ôë1a,ÆvA YÆû›‚@"ÿLälUï`KòtA6 ÜÒÏÖyÀ…üN£×ö³—æ:›wAóíâò|@düMº¹àŸ*­Š…wAE€b9‰ÀT ü £­èUEûÝ©rA‚ceŸæÕyÀs0ü ÿìèhÙÖ)vAí,QÏ™ŠÀ*AüM)!~@?Më¯vAÀYŠf@£Xþ ÓízÎhÙkvA'oå‹;€ÀĈü z–ì.¬ÁzuA|ì*äÂm^@l±üM&xD˜`œtA „”² ƒÀq]46PSGGT ü @%®00pÖÜ `}ÖXBÝøL’aqPSGG"@£Xþ Ó ÀĈü –z%ü ô†› À ÿÿ úIÿÿs0ü ìÿžT ü ­£Æ8ÿÿ—ÿÿ"ÿLläôdüM¹º³…üN×£d*AüM!)œl±üMx&˜®‘ŽC#æ@  %ÿÿ×*üU+ŒKŽC– l @Ëÿÿ@é ‹ÿÿ@ešÿÿ{ÜTPSGG!$MÕ à ¿œKPSGGĈü @%® 1?Ҕ-ÐA-XBÝøš­PSGGs0ü @%®%µOÑäÖ°j#XBÝøAÐNYPSGG£Xþ @%®B4=Ö¬ 8jXBÝø„¶rÌPSGG%ü @%®Ã1€C 'P¬RXBÝø`ÙPSGGTèÊ2”ALßÿÿ %ü †ô4 AT%ÆvAãF욂@"ÿLäl;ÏPPòtAGfü!€ØyÀ…üN£×—ßRŽ5›wAÛÂ[eî|@düMº¹™tb¬°…wAôŸØöù‰ÀT ü £­[$Oäâ©rAÂâþÏ×yÀs0ü ÿìDz()vAšÍågš™ŠÀ*AüM)!Óîs!é¯vA"ëüœï£f@£Xþ Ó*Ž"¿ßkvAÄ.õ;€ÀĈü z–­=ó3ÀzuAÅí¹)Àg^@l±üM&x>¢ÄqhœtA€(T¬¬ ƒÀà©`PSGG ówžÑüyIAW©‹°]†:AŒ_xh“SAK“ kJí@ý#:Ω?u)̬æt¿·«\ä5•¿HڌÍñ_@Jú3ÓËð?>Ý`ï5Š@žÄÄÞšœ@êé6àš@~n׊òì@2ŽuƅÇ@@šä„AÚÄeAQ 8!PSGG "èÊ2”A,®¿ô?î?ΝãHÛ·Þ?¬ôf˜àp@€J7@ §MÕ +``w-À@N•X±@­@û®Œïù?0± éöù?ŠÏððºû?é'[RZâ_@ƒu‚gí@I?òCïì@ Í>È«?: $zj @Wò‚¹PSGGTÍÌÌèÊ2”A %ü †ô ªëÆvArS'Ž@›‚@"ÿLäl'G—UòtA7KñkÕØyÀ…üN£×ÿ—v0›wAnÁ»I`ð|@düMº¹z-i뺅wA÷ÖçÓ‰ÀT ü £­ë Ÿ2è©rAµç"¶>×yÀs0ü ÿì/Vi3)vAÉ7á~|™ŠÀ*AüM)!nµÀ׿¯vA¶vŠÇ¢f@£Xþ Ótš–tækvANRéç?<€ÀĈü z–Yo\žŸzuA‚Šv(Âf^@l±üM&x‹ úoœtAÜÈ ²Ÿ ƒÀ4ÌYmPSGGTš™™éÊ2”Ae %ü †ôIñ(ÆvAhœŸ „›‚@"ÿLälÿUüèZòtA2âI—KÙyÀ…üN£×ªP® *›wAnÀ—·î|@düMº¹¢Ḙ̀ąwAÙï04‰ÀT ü £­úû?í©rA¿­ØyÀs0ü ÿìÈØó¹=)vALŽó"ô™ŠÀ*AüM)!+Õ“ä¯vAX 4 G¥f@£Xþ ÓɒÙàìkvAy֌<€ÀĈü z– Á!2œzuAðïË?d^@l±üM&x8˜žÅwœtAkµ‡ ƒÀ՟ΞPSGGTfffêÊ2”Ae %ü †ôôÔÆvAà ÎÓ®›‚@"ÿLäl­l ã_òtA/‘¯…ØyÀ…üN£×äš$›wA‚±jìòî|@düMº¹š%KÏ΅wA[Ç?/‰ÀT ü £­ŽSœnò©rAՕÿKØyÀs0ü ÿìLùûNH)vA‡­Ž_0™ŠÀ*AüM)!%rIâ¯vAèéÐ0˜¢f@£Xþ Ó þfdókvACö0<€ÀĈü z–+R錻zuAª…œ[e^@l±üM&xQÖà&œtA©ñÑi‰ ƒÀf:ß\PSGGT333ëÊ2”AÉÐÿÿ %ü †ôöù,£ÆvAáèV{k›‚@"ÿLälÊËeòtA  FÿÈÙyÀ…üN£×Z–Z¡›wAöíOOñ|@düMº¹:4öó؅wA"‚-‰ÀT ü £­÷/õÄ÷©rAo·t™eØyÀs0ü ÿìŒu^ßR)vA†š€í’™ŠÀ*AüM)!#0\à¯vAà5™â¡f@£Xþ Ó3ñ¹ÓùkvA]¡ÔÓ<€ÀĈü z–ï_Ó#ºzuAnjº²t`^@l±üM&x!©O ‡œtAâ|ô¡ ƒÀqžxåPSGG"@£Xþ Ó ÁĈü –z%ü ô†š À ÿÿ úIÿÿs0ü ìÿ™T ü ­£Ã8ÿÿ—ÿÿ"ÿLläôdüM¹º³…üN×£b*AüM!)žl±üMx&˜@#ÿÿ@  %ÿÿ×*üU+ŒKŽC– l ú@Ëÿÿ@é ‹ÿÿ@ešÿÿ6ósVPSGG!$MÕ á ŸKPSGGTìÊ2”AÉÐÿÿ %ü †ô§MrÆvA(Á6ºš‚@"ÿLäl‹ŸDjòtA& Á'¶ÙyÀ…üN£×&U¯›wA‘&OΊî|@düMº¹Ñ<ã…wA#jmuµ‰ÀT ü £­|ôZÞü©rA1ܗžŽØyÀs0ü ÿì—Š3‡])vA¯ò&⡙ŠÀ*AüM)!+ã4Þ¯vAWœ—Ô¡f@£Xþ Ó}Ø*-lvAõO:¯{<€ÀĈü z–×]gžzuA©Ä.( `^@l±üM&x¡OŽœtA»· ƒÀڊ*qPSGG 2!—ÑüyIA|Y’ª]†:ANÖoyh“SA Fßœûí@†—ZtÀ\§?únRÀÊ'h¿Üƒ¥ëē¿šÏŽIUï_@ŸëϘËð?Œwg*‰@>7k$)Ÿ@JÆ`²ü@/zŒí@ŽVÛŒ@€®ä„AóÄeAQ–TPSGG "ìÊ2”AÛ#™ö?î?ÉÔCÛ·Þ?Tü?Ã5àp@€J7@ §MÕ ;êÔþ¿@ À?@±@èÕñ[ïù?î8w֌ù?x[—»û?ï_Y£å_@ .Û|í@žzå ’ÿì@ -Ô²[4 ©?ðZ/þ~) @)_Œ5PSGGTÍÌÌìÊ2”A %ü †ô}W²¿øÅvAÅ6æR ›‚@"ÿLäl8'goòtAcò䁚ÚyÀ…üN£×=óU›wAtöæï|@düMº¹†Û/í…wAôŸØöù‰ÀT ü £­X%êªrAËÈ ÂÙyÀs0ü ÿìY!Ð.h)vAž¢Ü•^™ŠÀ*AüM)!©âÁÛ¯vA€Þ.LŸf@£Xþ ÓZ#5ÀlvAÝènš=€ÀĈü z–Ôí ·zuAgRåÐ|\^@l±üM&x>ý§9–œtAAw|B) ƒÀ›¿òPSGGTš™™íÊ2”A %ü †ôÖc®‹ñÅvAŽ û[š‚@"ÿLäl(n¢™tòtAîÛéÛyÀ…üN£×~/§œ ›wAÜøÙŽí|@düMº¹ ד&÷…wAyòÛ¹‰ÀT ü £­ìoAªrAÈø™ÎÙyÀs0ü ÿìÕ÷£Ór)vA/¹üô/šŠÀ*AüM)!V]Ù¯vAMðBH f@£Xþ ÓŒåÄ$ lvA»‡k–=€ÀĈü z–1cž‚µzuAXR޲ŸY^@l±üM&x_V&ޝœtA3ޖû ƒÀ÷sN˜PSGGTfffîÊ2”A %ü †ôøÈìêÅvA—!á˚‚@"ÿLäl÷UØËyòtAìËúÊÛyÀ…üN£× t ·›wAiÜ^ï|@düMº¹ŽCÂ(†wA}²©‰ÀT ü £­n¶³h ªrA_þ¡UÀÚyÀs0ü ÿì`e‰})vAtBXUšŠÀ*AüM)!å°ׯvAŸ/z^Àf@£Xþ Ó)vÇlvAä> [â=€ÀĈü z–$oÃï³zuA¿Ž=KQT^@l±üM&x8£÷™¥œtAeÝß0 ƒÀØ•…PSGGT333ïÊ2”A %ü †ô–†ÇâÅvAš† +@š‚@"ÿLäl5Óÿô~òtA»‘µ¥øÛyÀ…üN£×6§—O›wAB“³Àî|@düMº¹šcÕH †wAüŽWì‰ÀT ü £­ sޑªrA_þ¡UÀÚyÀs0ü ÿì÷3Xÿ‡)vAjcêPž™ŠÀ*AüM)!q › Õ¯vAœÑ”X®œf@£Xþ ÓùH™IlvA5L%2>€ÀĈü z–ö„k²zuAóuÊÐÆU^@l±üM&xÄö2­œtAíý| ƒÀ}†ŸÊPSGGT ü Ð&®' /˜VXBÝø·œjÅPSGG"@£Xþ Ó ŸĈü –z%ü ô†™ À ÿÿ úIÿÿs0ü ìÿ”T ü ­£Â8ÿÿ—ÿÿ"ÿLläôdüM¹º¹…üN×£c*AüM!) l±üMx&™®‘ŽC#â@  %ÿÿ×*üU+œKŽC– l þ@Ëÿÿ@é ‹ÿÿ@ešÿÿ{gTPSGG!$MÕ â œœKPSGGĈü Ð&®ô$* /ðŠTXBÝøÖh`ÇPSGGs0ü Ð&®d€I /ÀhVXBÝøñ`áÄPSGG£Xþ Ð&®À5 /PjTXBÝø…¡ÆPSGG%ü Ð&®‡ÙQ /À®TXBÝøD-?ÆPSGGTðÊ2”A %ü †ôâ^áÔÚÅvAP Ÿ·–š‚@"ÿLälŸP[ûƒòtA~ÍáÜyÀ…üN£×^×Þ¯ûšwAŒŽCÂ_ì|@düMº¹pÌœ †wAuTÒ"‰ÀT ü £­ÕàªrAَ-MÉÛyÀs0ü ÿì3‡ìŠ’)vAú.ˆ»zšŠÀ*AüM)!R[ŒÆÒ¯vA~¬jœf@£Xþ ÓŠýå° lvA º<>€ÀĈü z–/Äê°zuAY®L¿êR^@l±üM&x|›µŽœtAöÔVå‚ ƒÀµCºƒPSGG &ŽÒüyIAËÀ•]†:Af2ùuh“SAŽï٘C#í@Æix»Ã÷¡?Ä㣫à `¿VžñÓ#H’¿…Š ;Sò_@x÷ÈëÌð?pŽ!:χ@3¶hÄšŸ@³zز\@bL}Gí@È7y8¯|@ÀŽä„A ÅeA!IŽ6PSGG "ðÊ2”Aîdö?î?Â\È,Û·Þ?éÒ05ßp@€J7@ §MÕ [êÍ¿@K…Óß'±@› (døîù?qœ7!ù?ðR-0»û?œãHRç_@7“ë í@"©T~Eí@ ށ @€?ôŒŠc‡í @[dµPSGGTÍÌÌðÊ2”A %ü †ô8€R_ÓÅvAÒq¯8š‚@"ÿLälwқ5‰òtA››Š vÜyÀ…üN£×΋äõšwAµQÑéî|@düMº¹ûVGX†wA}²©‰ÀT ü £­'áüªrA.|]³¯ÛyÀs0ü ÿìÿíÍ@)vAWù‘[ܙŠÀ*AüM)!қø«Ð¯vA#e·œf@£Xþ ÓE~1'lvA=y–Ûh>€ÀĈü z–®Ô™r¯zuAiqrajO^@l±üM&xa¬BŒœtAHŒ"lÒ ƒÀ3“À€PSGGTš™™ñÊ2”A %ü †ôk›øÌÅvAèŒAÍa™‚@"ÿLälð&bfŽòtA;–÷˜âÞyÀ…üN£×Ñ»ðšwAb€G¿Öë|@düMº¹$é®D)†wAþõ8€‰ÀT ü £­_è65!ªrAŃpÝyÀs0ü ÿ쪉kš)vA•÷7¡›ŠÀ*AüM)!2 YίvA™mÎG˜f@£Xþ ÏEÀ5¢-lvA·_µlä?€ÀĈü z–±ïªê­zuA÷)”ŸxH^@l±üM&x9zpÄœtA@ëY`<ƒÀIɖPSGGTfffòÊ2”A %ü †ô•dxäÄÅvAË¡ðìϙ‚@"ÿLälLƒ•“òtA_!’ç¢ÝyÀ…üN£×ž»ì÷éšwA–Nléiî|@düMº¹Æ­@3†wA-¡%·_‰ÀT ü £­Î(¡&ªrAC[̊ëÛyÀs0ü ÿìp/ý­²)vA,oݧšŠÀ*AüM)!ods̯vA{ËuÔY™f@£Xþ ÏÎìhC4lvAàUý)>€ÀĈü z–:Šl¬zuA\Õ©µGJ^@l±üM&xðމVÌœtA-“œ)¯ƒÀ€ÙPSGGT333óÊ2”A %ü †ôJ 8\œÅvAßßK£™‚@"ÿLäl۔ŒÉ˜òtA9Q4]ÞyÀ…üN£×í,I#äšwA€«ÈL•ë|@düLº¹’Ž‘=†wAåÇÆÞB‰ÀT ü £­¯L0U+ªrA”œ nÝyÀs0ü ÿì4Ðgœ)vAËČ€˜šŠÀ*AüM)!QöʯvA}zº à˜f@£Xþ ÏÁŒêµ:lvATdÍN @€ÀĈü z–y`hçªzuAõê¥ÕMG^@l±üM&xfq$°ÓœtAŸ=Ž6“ƒÀޛú—PSGG"@£Xþ Ï »Ĉü –z %ü ô†š À ÿÿ úIÿÿs0ü ìÿ’T ü ­£Á8ÿÿ—ÿÿ"ÿLläödüL¹ºŸ…üN×£g*AüM!)Šl±üMx&ž@#ÿÿ@  %ÿÿ×*üU+¿KŽC– l @Ëÿÿ@é ‹ÿÿ@ešÿÿ?óÌWPSGG!$MÕ ã ŒKPSGG ®‘ŽC°’œÎRñâøKÅÿÿÿÿÿÿÿÿÿÿÿÿO"À#ëÿÿÿÿÿÿÿÿKÀ«š¥ÑPSGG l±üM°’œ@ÂâÀLԑ”˜šÖÀŒÇ؀X?€3Ch@Ep|ÀfO @Ø?Dðÿ 'QPSGG "ÿL°’œ@ÂâÀLԑ@šÖÀŒÇ€Xÿ€3Cš@EpŒÀfOË@Øÿ@ðÿ¿“‰RÔPSGG *AüM°’œ@ÂâÀLԑ@šÖÀŒÇ€Xÿ@3Cš@Ep<ÀfO‹@ØøÿÿÈQÕPSGG düL°’œ@ÂâÀLԑ@šÖÀŒÇ€Xÿ@3Cš@Ep<ÀfO‹@ØøÿÿU‘QÔPSGG …üN°’œ@Â"ÀLÔQÀŒš@Ÿ‡ÓÀZÀ4C(Àr|@&O‹@° €€ðÿ?Ž|Å¢PSGG ×*üU°’œ@ÂâÀLԑÀŒšÖ@Ÿ‡ÀZ¿À4CèÀrŒ@&OK@° @€ðÿÿæFŹPSGGTôÊ2”Aà* %ü †ôsƒÏýµÅvAæ2ñŽ™‚@"ÿLäl·SáòtA5!Ž¥ÞyÀ…üN£×~yQòޚwAâþèpí|@düLº¹Áq [G†wASÑúR‰ÀT ü £­OoïÈ0ªrAç <ÙÝyÀs0ü ÿìµç8È)vAé>šŠÀ*AüM)!²)fØÇ¯vAxꀌ–f@£Xþ ÏYµðú@lvA§W¿1?€ÀĈü z–äab©zuA-4×F^@l±üM&xNsÞRÛœtAIA5.ƒÀA±SbPSGG +8kÜüyIATlh]†:AJzªmh“SAˆfÒ:3í@qøK4CA?‘ýíÄj\¿:JöÛ7‘¿[lŠŽ;Õ_@𕙢Ìð?_ð@œ†@†’än(¿@xCۙœ@HÈ> :"í@•°9cÒ@»ä„A%ÅeAsôEsPSGG "ôÊ2”A;”‡ð?î?› 3öÚ·Þ?¬¬ËhÝp@]7@ §MÕ ãڃ*ž¿@ùYuα@•<%;–îù?Μ4ñ¶ù?™]O»û?ªÞvzVê_@ñMÙæ/í@_j»í@ 8â҈ý ?^µR@òÏ @î>+PSGGTÍÌÌôÊ2”A %ü †ôXNvˆ®ÅvAœSÝHi™‚@"ÿLälPéÐ!£òtA«çٛkßyÀ…üN£×8úsÔØšwAÁ:€6ì|@düLº¹HœQ†wAkÊÀæ×‰ÀT ü £­ôÿÔö5ªrA<„.1lÝyÀs0ü ÿì.bä¹Ò)vAOÞMšŠÀ*AüM)!š¡æÅ¯vA ÷$€Ä–f@£Xþ Ï/íEÀGlvA@æ$kí?€ÀĈü z–P Dç§zuAC»IçE^@l±üM&xl¬ãœtA”„asÖ ƒÀ&~ÀbPSGGTš™™õÊ2”A %ü †ô@þ§ÅvA˂þ±™‚@"ÿLäl^ªVšòtAêÙX»ßyÀ…üN£×–âÉoӚwA;a™X–í|@düLº¹„­[†wA,¢öù‰ÀT ü £­z+w;ªrA±'®«4ÝyÀs0ü ÿìfÜnÝ)vA³™§šŠÀ*AüM)!{ªÿ‡Ã¯vAόP,j—f@£Xþ ϧU?*NlvA5 HÉ @€ÀĈü } ƒ›TŠzuAóuúuÏB^@l±ôM&xPã­êœtAõöÞ: ƒÀÉÚR‚PSGGTffföÊ2”A %ü †ôÉ}⎟ÅvAæ2ñŽ™‚@"ÿLäl*îos­òtAÜ!9ð=ßyÀ…üN£×¶„Y·ÍšwAº³ÿm°ì|@düLº¹%oB£e†wA*](ƅ‰ÀT ü £­g"ÒY@ªrA=™Þ šßyÀs0ü ÿìGþç)vA虃Ò\šŠÀ*AüM)!ôù×%Á¯vA‰Šg¶J–f@£Xþ Ï¡ˆ…TlvA­žCϑ@€ÀĈü }&±ÀÑ€zuA*2^?^@l±ôM&xò œFòœtAù*ÃÀäjšPSGGT333÷Ê2”A %ü †ô_˜ÅvAï6œç4™‚@"ÿLälÁdöy²òtAêþ\J"àyÀ…üN£×›*·¥ÇšwAr ÖLžë|@düLº¹?g¢o†wAMøÇ€Ù‰ÀT ü £­}RY`EªrA’ÜR1ßyÀs0ü ÿìRü0–ò)vAây °‰šŠÀ*AüM)!Ž¡ÌŸ¯vAnz÷ûo“f@£Xþ ÏÚÝÛéZlvA£_o݂@€ÀĈü }€ûrN£zuAÍñ1ʬ=^@l±ôM&xUA¹,úœtA{­’¿ ƒÀî—¢PSGGT ü `(®€Ô+F("XBÝø*£p€PSGG"@£Xþ Ï ºĈü }%ü ô†› À ÿÿ úIÿÿs0ü ìÿ”T ü ­£Ã8ÿÿ—ÿÿ"ÿLläüdüL¹ºÉ…üN×£p*AüM!)®l±ôMx&Š®‘ŽC#Ý@  %ÿÿ×*üT+ÅKŽC– l @Ëÿÿ@é ‹ÿÿ@ešÿÿi‡UPSGG!$MÕ ä »œKPSGGĈü `(®€Ô+F("XBÝøº p€PSGGs0ü `(®€Ô+F("XBÝø ³pPSGG£Xþ `(®€Ô+F("XBÝøÝÛrPSGG%ü `(®€Ô+F("XBÝø[ƒpPSGGTøÊ2”A %ü †ôÀqz˜ÅvAAC粎™‚@"ÿLälÐ7Ñ¥·òtA9ŒžôßyÀ…üN£×†¹€ŒÁšwA8²¯.Ië|@düLº¹røŒy†wAvŸ’¥3‰ÀT ü £­è(øfJªrAr}Ö'÷ÝyÀs0ü ÿìœ*&ý)vAtBXUšŠÀ*AüM)!£GuJŒ¯vA€_ï•f@£Xþ ÏàÚ@šalvA֚”–Í@€ÀĈü }g_uÝ¡zuAv$EŒÌ<^@l±ôM&xÈà©eŸtACVs ƒÀÆxüLPSGG ·ìŠýyIA[Ї2]†:A¢Dmfh“SAþ$ëCí@<Ž›‰DXº?E›ä‚ q¿ÙR»ì+ò›¿®Ó¹PÖí_@/üÒ'Íð?8i(3h…@o„Ç^§¿@ìw @ªÊ¬T2í@HpÚFm@@Áä„A>ÅeAi@Û®PSGG "øÊ2”A|.–Ý?î?UÐɕڷÞ?øÅº+ËÝp@L7@ §MÕ `²1Ím¿@>jdM÷°@æÿß+3îù?*ƒVKù?а’n»û?çëžþ/ç_@I¶Dc@í@O4p/í@ &Ãj©º?h‹O6@Ž+˜ÚPSGGTÍÌÌøÊ2”A %ü †ôü·?‰ÅvAüŒÔ®_™‚@"ÿLälíMËÈŒòtA3Á œàyÀ…üN£×B­ kŒšwAAéŸ^îî|@düLº¹Áûh僆wAQ<Åq³‰ÀT ü £­^ Q²OªrAG@TØhßyÀs0ü ÿì†A‰ß*vA°ÒŸšŠÀ*AüM)!‰i;º¯vAùŸ7̰’f@£Xþ ÏÙ×hlvA^šçÛ@€ÀĈü } V zuAB•Hø’;^@l±ôM&x)4 ŸtA™¿!¬s ƒÀ¥¢Ó‹PSGGTš™™ùÊ2”A %ü ïŠ°æÆÅvA”&ŠQZ™‚@"ÿLäljì™ÂòtA¢€&ÓtáyÀ…üN£×+}€o¶šwAX)€ì|@düLº¹3iύ†wAŽÿȉÀT ü £­ãwéTªrAîqK*mßyÀs0ü ÿìÝ<Ñ*vAÎTÉ5‚šŠÀ*AüM)!†ÇE°·¯vAgÍE”f@£Xþ Ï YnlvAî9'óò@€ÀĈü }“°‡ÑžzuA×k\N8^@l±ôM&xóªšwAƒë|@düLº¹–!ü¡†wAM6kƉÀT ü £­2*ä?_ªrA¿D/áyÀs0ü ÿì^òô¬'*vA‡œˆä›ŠÀ*AüM)!¬I›P³¯vA39ê9f@£Xþ ÏfŠÊƒ{lvA…ò™ÑA€ÀĈü }°ò—š›zuA}r²$Å1^@l±üM&xóé,[ ŸtAŸjKăÀÿá‰%PSGG"@£Xþ Ï žĈü } %ü  À ÿÿ úIÿÿs0ü ìÿ‘T ü ­£À8ÿÿ—ÿÿ"ÿLläûdüL¹ºË…üN×£q*AüM!)­l±üMx&š®‘ŽC#ë@  %ÿÿ×*üT+ÅKŽC– l @Ëÿÿ@é ‹ÿÿ@ešÿÿržTPSGG!$MÕ å ºœKPSGGTüÊ2”A %ü ïÒك kÅvA«Q˜‚@"ÿLäl·ŒÑòtAü±Œ:ƒâyÀ…üN£× =]€šwAØË+ë|@düLº¹Þñ>Ñ«†wAÖW¡’ˆ‰ÀT ü £­SdªrA„ü ú-áyÀs0ü ÿìðÕìb2*vA°ÒŸšŠÀ*AüM)!P~+±¯vA˜dvZGf@£Xþ ÏÄŠ&‚lvA° Ò^B€ÀĈü }殈3šzuA™xÉB/^@l±üM&x?Þ#—'ŸtA‹kPƒÀ6ÝêùPSGG ʟ„ýyIA“çB]†:A‰èÍfh“SAà(šëRí@«YNd"Ä? Ÿ?›¿£T;[¬W£¿6œNSi÷_@Ñ^¢­Íð?'Ü475„@JY–Ÿ'À@Ó²D~@T"掊Aí@MûnB@€Çä„AWÅeA_ôÀúPSGG "üÊ2”Auʬà?î? ^ëÚ·Þ?;2 ‘{Ýp@L7@ §MÕ šÑD7>¿@Üeô^ß°@ž 1Ñíù?úÖÖàù?ƔNPŽ»û?`cGšè_@^#ñIýPí@†ã_Ⱥ?í@ t©>Í5Ä?žÿŸd@—lDÿPSGGTÍÌÌüÊ2”A %ü ïÿ^-øcÅvADFÁUC˜‚@"ÿLälwlÁÖòtA>ÍÚӈäyÀ…üN£×•Óî3ŸšwA(e|Ëé|@düLº¹:{ÈÙµ†wA7ØÝø ‰ÀT ü £­Iª iªrAOÞÐâyÀs0ü ÿìy ‹ =*vAq±ì‡›ŠÀ*AüM)!G㮯vA:àô#;‹f@£Xþ Ïovl”ˆlvA­"¯-ÑB€ÀĈü }Ñ힘zuA÷³—ª(^@l±üM&x)im/ŸtAàœÀˏƒÀ€¹PSGGTš™™ýÊ2”A %ü ï)h\ÅvAæɉV˜‚@"ÿLälßéÜòtAœyf‡=ãyÀ…üN£×)u±v™šwA|؆€ë|@düLº¹8WI꿆wAÅ8 j‰ÀT ü £­ŬкnªrAbŠÃâyÀs0ü ÿì卅–G*vA’ªÛÙùšŠÀ*AüM)!=ð9›¬¯vA<Ñ®Žf@£Xþ Ï|HI)lvAùï„B€ÀĈü }YÎÁU—zuA4œNçJ+^@l±üM&xùš!7ŸtAŠQO±EƒÀZ&ÉyPSGGTfffþÊ2”A %ü ï&i„@UÅvA݄j Œ˜‚@"ÿLäl”.#áòtAèFF§äyÀ…üN£×§\ËP”šwAþ¶+Àê|@düLº¹‚TœýɆwA9r×Vs‰ÀT ü £­{ÓeèsªrAOÞÐâyÀs0ü ÿìƒjdZR*vAxe!=›ŠÀ*AüM)!€Ûnrª¯vA²yš““f@£Xþ ÏŸ‚µ›•lvAÁØY±C€ÀĈü }^@íЕzuAb:!Í'^@l±üM&xÝ[+š>ŸtAə&¥šƒÀ‚»]PSGGT333ÿÊ2”A %ü ïžÀÌNÅvApÔ>Ɨ‚@"ÿLäl\òCUæòtA e+ääyÀ…üN£×œŠ#ŽšwAí$zÆé|@düLº¹#!öÛӆwA…–Pe‰ÀT ü £­ÕÍÒyªrAŠ`7èÁâyÀs0ü ÿìL>ôå\*vA>Kpr€›ŠÀ*AüM)!rᚯvAÄçÇ告f@£Xþ ÏJÝ7-œlvA}QŒHC€ÀĈü }®e<”zuA²±¯Á$^@l±üM&xدWCFŸtA{Õ£ƒÀB˜Ô0PSGGT ü ð)®L$X5ÜÍPfP|4XBÝø+¡ŽÔPSGG"@£Xþ Ï µĈü } %ü  À ÿÿ úIÿÿs0ü ìÿŽT ü ­£¿8ÿÿ—ÿÿ"ÿLläûdüL¹ºÎ…üN×£o*AüM!)¬l±üMx&š®‘ŽC#ì@  %ÿÿ×*üT+ÄKŽC– l @Ëÿÿ@é ‹ÿÿ@ešÿÿrÒUPSGG!$MÕ æ ¹œKPSGGĈü ð)®L$X5ÜÍPfP|4XBÝø» ŽÔPSGGs0ü ð)®L$X5ÜÍPfP|4XBÝø ±ŽÕPSGG£Xþ ð)®L$X5ÜÍPfP|4XBÝøÜÙ¶ÕPSGG%ü ð)®L$X5ÜÍPfP|4XBÝøZŽÕPSGGTË2”A %ü ïûæ’4FÅvA|KóÜž–‚@"ÿLäl»à²‡ëòtAÔUÏQËæyÀ…üN£× täLˆšwAn‰H‰eç|@düLº¹{€cކwA¹¯Œ(‰ÀT ü £­=#ÃQ~ªrA‚®  åyÀs0ü ÿìð‚g*vAÆ1¿§á›ŠÀ*AüM)!Dݐð¥¯vAŽhcNˆf@£Xþ Ïo 6¡¢lvA—  )cD€ÀĈü }aE¹’zuA瘍7v^@l±üM&x!šÇMŸtAø÷Î×óƒÀx–MPSGG œR3õüyIA¢ð]†:AZïŸlh“SAŽÒÁBõcí@c‰˜œV’Á?“Èõ%„˜¿†!¬ü׎¡¿µT-`@±€2Îð?¿±ƒ@÷žW0¥À@ÚàŽÜ@”“GRí@aEÊït@ÀÍä„ApÅeAŽü«žPSGG "Ë2”AOVôî?î?ɏ…Ú·Þ?Ë®eÈWÝp@L7@ §MÕ eµ?& ¿@rc'bư@]Š%míù?žTÝtù?æÊrЬ»û?ÐLƒyÒë_@÷®š‰ÿ`í@Uœ)Ê»Oí@# ¶ˆ™š;ŒÁ?ŸUæa…\@ÔþFPSGGTÍÌÌË2”A %ü ïÊ"^§>ÅvAßî][—‚@"ÿLälÜö±³ðòtAÄÀ»Ô çyÀ…üN£×s)xD‚šwAò\4é|@düLº¹ë'd(è†wAiùŒ‰ÀT ü £­/#’wƒªrAzØiåyÀs0ü ÿì iŸ*r*vA‡÷”ºoœŠÀ*AüM)!1Žeš£¯vAηTj†f@£Xþ ÏCâÍ=©lvAykõÒÅD€ÀĈü }Ulö‘zuA»¡'˜^@l±üM&x— Œ˜UŸtA¡Té×,ƒÀ°D¢”PSGGTš™™Ë2”A %ü ï;†K{7ÅvAÊg4>햂@"ÿLälÜénöòtA\/ÿÉûçyÀ…üN£×žéšÐ|šwAƒ²wËÉè|@düLº¹ N’:ò†wAM‹þ‰ÀT ü £­5Í}ˆªrAœßkºøåyÀs0ü ÿìCÖê|*vA¿F…œŠÀ*AüM)!kž?{¡¯vAqð4†f@£Xþ Ï$²Ä¯lvA ˆ/ëD€ÀĈü }‘¥$«zuA@Em†b^@l±üM&xí{¬;]ŸtA¡Té×,ƒÀV5Ø7PSGGTfffË2”A %ü ïÌñ à/ÅvA)µWa±–‚@"ÿLäl_m#.ûòtA€pýøæyÀ…üN£×VÒ}ÙvšwA¢A’Ýè|@düLº¹?Ø¥?ü†wAiùŒ‰ÀT ü £­³°ø±ªrACòøpëäyÀs0ü ÿì­¶§†‡*vAò ~-ڛŠÀ*AüM)!•·ŽwŸ¯vApAËý‡f@£Xþ ÏVÙª%¶lvAÑY?ÓD€ÀĈü }9šš5ŽzuA&õµº^@l±üM&xtºBeŸtAì <ƒÀBVÑAPSGGT333Ë2”A %ü ï&UpQ(ÅvA¿ù·ë˜‚@"ÿLälÆ÷W]ótAœhFD¡æyÀ…üN£×kfp qšwA(e|Ëé|@düLº¹6e;V‡wA[s}³]‰ÀT ü £­%âg“ªrAÚë ÃmåyÀs0ü ÿì/t°4’*vA×êÄu›ŠÀ*AüM)!ÿœ¯vA²ÿ¥„#ˆf@£Xþ Ïxýô”ŒlvAt}D€ÀĈü }¯ÞÉ»ŒzuA‚Q–@^@l±üM&x…W­lŸtApzJ¶ÞƒÀrÖPSGG"@£Xþ Ï ³Ĉü } %ü  À ÿÿ úIÿÿs0ü ìÿT ü ­£Â8ÿÿ—ÿÿ"ÿLläþdüL¹ºÔ…üN×£r*AüM!)­l±üMx&š®‘ŽC#Þ@  %ÿÿ×*üT+ÆKŽC– l @Ëÿÿ@é ‹ÿÿ@ešÿÿrUPSGG!$MÕ ç žœKPSGGTË2”A %ü ïŠ#,× ÅvA)µWa±–‚@"ÿLälO;HœótAC§±TTçyÀ…üN£×ÉBkšwA®ë¯Ùè|@düLº¹‹þ¡X‡wAǯÝF‰ÀT ü £­!DJ˜ªrAÿE÷žåyÀs0ü ÿìN;ºœ*vA¢@Ôä„A‰ÅeAÆ_òPSGG "Ë2”A4žWõ?î?¬_‡Ú·Þ?úªüpÛp@L7@ §MÕ ØÌ_UÝŸ@”4AN®°@XPš° íù?,ñœ< ù?X ÐþË»û?ª¥pxžï_@úÒlƒÏpí@n¶š_í@( 1úÞŠž?þ=.[&!@È/x^PSGGTÍÌÌË2”A %ü ïmdãœÅvAoø? —‚@"ÿLäl9Ç΢ ótAG«L?£èyÀ…üN£×сcešwAzIò7ùç|@düLº¹ŸYñL‡wADS“+މÀT ü £­ȉØSªrAê}ÆãæyÀs0ü ÿìÀ-œ|§*vAÚV"雊À*AüM)!-z1˜¯vAJˆžƒf@£Xþ ÏH)™ÉlvA£×O•†E€ÀĈü },0?œ‰zuAØ)»Ú?^@l±üM&xÍČì{ŸtAŒu›2QƒÀd·“²PSGGTš™™Ë2”A %ü ï• îOÅvA $И–‚@"ÿLäl+œÕÖótAx³;à/éyÀ…üN£×óùž_šwAß2Œ?æ|@düLº¹ªˆ`G$‡wAЁX}Z‰ÀT ü £­“.u¢ªrAhûsž›çyÀs0ü ÿìè:²*vAÝBœŠÀ*AüM)!’ 2“•¯vAÎ4éŽe‚f@£Xþ ÏŸm®ÐlvAhZÛ~,F€ÀĈü }zš;ˆzuA¯ù=, ^@l±üM&xEŽÕƒŸtA%®}σÀôj•ÏPSGGTfffË2”A %ü ïóŠ™ñ ÅvA)OÛ¢w–‚@"ÿLälh/ñótAmùéyÀ…üN£×hҀ¶YšwA@g§Žç|@düLº¹_†d.‡wAœ!ÂFQ‰ÀT ü £­:s€ê§ªrA–¢`yçyÀs0ü ÿìÌ匷Œ*vAsÒS@hœŠÀ*AüM)!^Í­š“¯vA¿Ŕf@£Xþ Ïúh- ÖlvA˛^©ÿE€ÀĈü }o¡ø˜†zuA.P%? ^@l±üM&xÎ;tÀŠŸtAøœ/,ƃÀJdPSGGT333Ë2”A %ü ï96âƒÅvAª²Q]‚–‚@"ÿLäl^¢˜%ótA n žêyÀ…üN£×qŠ3TšwA…Á&t‘è|@düLº¹n?R8‡wA–™Çd‰ÀT ü £­r€ ü¬ªrAOºQMèyÀs0ü ÿìYVùLÇ*vAŸ¬Æ`œŠÀ*AüM)!ñ°ò.‘¯vA­±ÙL»€f@£Xþ ÏØ'ÝlvA#ÖÔ)†F€ÀĈü }:oª…zuA>f c ^@l±üM&x1³D`’ŸtAŒ;*>®ƒÀäW†ÚPSGGT ü €+®a.8 ÀôÀ XBÝøÇ{•PSGG"@£Xþ Ï ¬Ĉü }%ü  À ÿÿ úIÿÿs0ü ìÿ‰T ü ­£À8ÿÿ—ÿÿ"ÿLläýdüL¹ºÔ…üN×£q*AüM!)ªl±üMx&£®‘ŒC#æ@  %ÿÿ×*üT+ÇKŽC– l @Ëÿÿ@é ‹ÿÿ@ešÿÿrºTPSGG!$MÕ è ·œKPSGGĈü €+®a.8 ÀôÀ XBÝøWÓ”PSGGs0ü €+®a.8 ÀôÀ XBÝøàk•PSGG£Xþ €+®a.8 ÀôÀ XBÝø0•PSGG%ü €+®a.8 ÀôÀ XBÝø¶[•PSGGTË2”A %ü ï[-§ûÄvA93]F–‚@"ÿLäl_~³;ótAÑÊ~êyÀ…üN£×S»QNšwAr±e€(ç|@düLº¹å‹+NB‡wAý¡þ¬Ò‰ÀT ü £­‘‡ÿ±ªrAéŠÄ– éyÀs0ü ÿìÚßÒ*vA¢”¿\&ššg`@¥EY<Ïð?ãD$ ™€@b ˜¢Á@9*±Tš@ùr;›rí@õ7Ñs%@@Úä„A¢ÅeA$ PSGG "Ë2”Aâ8@î?N‘Ú·Þ?Ó°Iž'Úp@L7@ §MÕ ÞõqK¬Ÿ@SI'[•°@„_ŠŠìù?è]ô7žù?ñ6Zê»û?Ñís,“ò_@ôÉ÷M€í@kLé»Woí@- ®º'‘ª?üÏ g @_¡ PSGGTÍÌÌË2”A %ü ï¬‘—)ôÄvA|˜}–‚@"ÿLäle¡Xz$ótASZEµéyÀ…üN£×©’§HšwAِ¿¥æ|@düLº¹Èö³uL‡wAÝJ\ãX‰ÀT ü £­ï@e·ªrA}Úâu×çyÀs0ü ÿìÐÐÝÜ*vA§Jn,œŠÀ*AüM)!6ðÁ“Œ¯vAí‚‘+€f@£Xþ ϱ°ê_êlvAr™¯p;F€ÀĈü }˜S(‚zuAXÜrB8^@l±üM&xž#?¡¡ŸtA`-o³UƒÀÎDL*PSGGTš™™ Ë2”A %ü ï»©äìÄvAv€F–‚@"ÿLäl'×”)ótA¢NžMPëyÀ…üN£×oÇCšwA|’ŠÂ.ç|@düLº¹Ȗ/YV‡wA¿ž*qœ‰ÀT ü £­­ˆ‘ŒªrA&ïè éyÀs0ü ÿìîœUç*vAЇÑKYœŠÀ*AüM)!t4sНvA1§ŒjD~f@£Xþ ÏgkF×ðlvAóÏvžýF€ÀĈü }x³Œ¹€zuA'š‹^@l±üM&xL©ŸtAFK2\úƒÀŠÄüPSGGTfff Ë2”A %ü ïIîH{åÄvA93]F–‚@"ÿLäl ê.ótAK…#ÀnëyÀ…üN£×5ýü8=šwA·Áø×æ|@düLº¹ÝÞKi`‡wA'ŘIÚ‰ÀT ü £­¥Ž°§ÁªrAîXéyÀs0ü ÿìäAÈñ*vAX™£œŠÀ*AüM)!/L9ˆ¯vA (c¹Çf@£Xþ ÏÝ H÷lvA&©Ls?G€ÀĈü }f5Ø/zuA|Ù¬ÔÙ^@l±üM&xÚ팰ŸtA‘^ÂBƒÀç›u~PSGGT333 Ë2”A %ü ï`‚L#ÞÄvA93]F–‚@"ÿLäl è4ótATþ0|ŸëyÀ…üN£×Szˆ87šwA_d§±ç|@düLº¹n‚bvj‡wA䯸FÔ‰ÀT ü £­šëƪrAº$€ôêyÀs0ü ÿìpºš“ü*vA§Jn,œŠÀ*AüM)!Kͅ¯vAK«blf@£Xþ Ïßo!ÛýlvA¥Ð\åG€ÀĈü }PЏ¡}zuAïíðþ]@l±üM&xýœQžŸtAŽŽA7ƒÀ}ÎnPSGG"@£Xþ Ï ®Ĉü }%ü  À ÿÿ úIÿÿs0ü ìÿˆT ü ­£¿8ÿÿ—ÿÿ"ÿLläþdüL¹ºÔ…üN×£t*AüM!)©l±üMx& @#ÿÿ@  %ÿÿ×*üT+ÈKŽC– l @Ëÿÿ@é ‹ÿÿ@ešÿÿ?óšVPSGG!$MÕ é ¶KPSGG ®‘°C`—œn bÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿãïÿÿìÀ~ÇPSGG "ÿL`—œ@Ââ@mԑ@èÛÐÀý@J¿€Cè@®|Z@<Ê@a,BÀ ÀÓÃ=äPSGG l±üM`—œÜßbÿÿÿÿÿÿÿÿÀýØ@J€C(@®|š@< @a,‚À ÀQž¬—PSGG *AüM`—œ@Ââ@mԑ@èÛÐÀý€J¿@Cš@®|Z@<Ê@a,B@ ÀӋ³¥PSGG düL`—œ@Ââ@mԑ@èÛÐÀý€J¿@Cš@®|Z@<Ê@a,B@ ÀÓÅê€PSGG …üN`—œ@Â"@mÔQ€åÛ€ŸœÓÀK¿ÀCš—~څŠ@Ua‚À À“€óíPSGG ×*üT`—œ@Ââ@mԑ€åÛЀŸœÀKÀCh—~…J@UaBÀ ÀSö-ó÷PSGGT Ë2”A %ü ï›ØÔÖÄvAŸð¬wU–‚@"ÿLäl˜Gí89ótAëeÊëyÀ…üN£×°Î¶R1šwA1¥.nç|@düLº¹©øi…t‡wA'ŘIÚ‰ÀT ü £­¶¯5I̪rAº$€ôêyÀs0ü ÿìr×<=+vAX™£œŠÀ*AüM)!¯åh¯ƒ¯vAJyfP6|f@£Xþ ύE͂mvAÒ)×±‹G€ÀĈü }ýµ/|zuAo=ä(·ý]@l±üM&xšŒØ¿ŸtA%®}σÀ%ærpPSGG z¢:œüyIAŠM]†:A' Amh“SAT[ƒˆÂ“í@vÊP‹Å±’?uŒl#¹xC?Ô€°Ø-÷¿þݝžö_@4ôÃ4ÁÏð?!ÈÑe@šû¶!Â@/ÆFùÿ@.`Šƒí@ž ×5@€àä„A»ÅeAÐÍ«kPSGG " Ë2”AŸnë @î?úŸµÚ·Þ?×ü­‡ Ùp@V7@ §MÕ ŸNW®{Ÿ@"8¹|°@XƒEøBìù?N ©­2ù?³L Œû?! ÜPõ_@À WŸ‘í@ÏAôí@2 ¬Ä Á÷˜?ퟡzûÅ @à©W{PSGGTÍÌÌ Ë2”Aَÿÿ %ü ï,Ö\ÏÄvA=GþŠ`•‚@"ÿLäl ñ=’>ótAk¥»HÁìyÀ…üN£×<À©+šwAd°ä|@düLº¹iÀš£~‡wAù vL‰ÀT ü £­©Ä±3ѪrAY/6QƒêyÀs0ü ÿìzk­Þ+vA'(ՋޜŠÀ*AüM)!œžsœ¯vAK Ã79zf@£Xþ Ïä·N¢ mvA2tüÞbH€ÀĈü }0ÆCzzuARÞõÚü]@l±üM&xT‰DÎÇŸtA3NOäƒÀBnyPSGGTš™™ Ë2”A¯9 %ü ï…JfÇÄvAH£+0•‚@"ÿLälÆ&~CótAïíyÀ…üN£×2—\ˆ%šwAi)cªè|@düLº¹ÙéìÁˆ‡wAdª5õ‰ÀT ü £­0Ås€ÖªrAg›9™–êyÀs0ü ÿì{ó6j+vA‡÷”ºoœŠÀ*AüM)! aÝU¯vAìÝã)}f@£Xþ ρï£FmvA|Ù9‘H€ÀĈü }qá yzuApBY2ð÷]@l±üM&xîáÏ8ÏŸtA02sÂ{ƒÀŽwD§PSGGTfffË2”A¯9 %ü ï£ »_ÀÄvAÉøÁ –‚@"ÿLälK0ºHótA~ÃÿìyÀ…üN£×$ƒ‚ šwA–FeÁå|@düLº¹¢ª’‡wA䯸FÔ‰ÀT ü £­yšÛªrAzzšpÒêyÀs0ü ÿì,r.'+vA¢÷_@:t¹ºŸí@"uñ蹎í@7 _–1Q„?‚AÜ3ðk@H5DÒPSGGTÍÌÌË2”A %ü ï €ø©ÄvA`?‰7–‚@"ÿLälœÿQXótA˜Kkt7íyÀ…üN£×o8Ñ¢šwAiŒ»øúæ|@düLº¹Ÿd±‡wAŽÔµ‰ÀT ü £­ŰPëªrA“»ÊÁZêyÀs0ü ÿìUÝšG+vAÔ6‡ÿœŠÀ*AüM)!ÅüÐv¯vA~Ÿi¿yf@£Xþ ÏWdu,+mvA42i‚=H€ÀĈü }°C5szuAOcg*÷]@l±üM&xxèPíŸtA±¯bÃÀ¹þj\PSGGTš™™Ë2”A/ %ü ïòW0 £ÄvA;œ­ö²•‚@"ÿLäl&nm†]ótA‚ÇžéÞíyÀ…üN£×bl¹ÝšwA6l9kÓæ|@düLº¹îÓ4Òº‡wAˆEÕ¯[‰ÀT ü £­¯«HðªrAœ$75&ìyÀs0ü ÿì0ÇëQ+vA¥Ì‹è3œŠÀ*AüM)!ÅÕáÎs¯vAŸ_Õyf@£Xþ Ï eâ1mvAóSâ=I€ÀĈü }$‘£qzuA_v5-ð]@l±üM&x•±ÆôŸtAÖ9|°“ƒÀçŽÂPSGGTfffË2”A/ %ü ï¿œ€›ÄvA4eÐH•‚@"ÿLälbi®ŸbótAGð°äOïyÀ…üN£×Û¹£ÂšwA›6$Då|@düLº¹˜bǶćwA?PC@ƉÀT ü £­“r'šõªrAËGšsíyÀs0ü ÿì€w€\+vA%“aûÁœŠÀ*AüM)!ÂCtq¯vAšÉwf@£Xþ Ï¡K8mvABO„¥ŽI€ÀĈü }ëa5pzuA¶Ž€ì]@l±üM&xbÍÀüŸtA-±òWžƒÀªŒÑ•PSGGT333Ë2”A_] %ü ï¬:žû“ÄvA-8y•‚@"ÿLälÄöÕËgótA,þ#\ýíyÀ…üN£×ö xìü™wA·Áø×æ|@düLº¹YÉ}©Î‡wAý¡þ¬Ò‰ÀT ü £­²AßúªrAìš= hëyÀs0ü ÿìEÔ±!g+vA¡‚ø›ŠÀ*AüM)!ÓÀ†o¯vAG˜qzyf@£Xþ Ï']º>mvA ~íßoI€ÀĈü }„û›|nzuAJàxsñï]@l±üM&x~8¿tAø÷Î×óƒÀ¡ÙóPSGG"@£Xþ Ï °Ĉü }%ü  ¿ †ÿÿ æJÿÿs0ü ìÿ‘T ü ­£É8ÿÿ—ÿÿ"ÿLlädüL¹ºÓ…üN×£y*AüM!)šl±üMx&š@#ÿÿ@  %ÿÿ×*üT+ÍKŽC– l @Ëÿÿ@é ‹ÿÿ@ešÿÿ\ó,UPSGG!$MÕ ë ŽKPSGGTË2”Aœy %ü ïÍoÏ4ŒÄvA?úڃœ•‚@"ÿLälíÌ mótAœO_†îyÀ…üN£×ŒE÷™wAá†:eäå|@düLº¹͹šØ‡wAµ¬l==‰ÀT ü £­ËðÿªrA NŒJ„ìyÀs0ü ÿìhœŸ¥q+vA¯»þHœŠÀ*AüM)!MÔ,m¯vAӝ …6vf@£Xþ Ϻ[å:EmvABO„¥ŽI€ÀĈü }º9YmzuA-Š%Oî]@l±üM&xš†&º ¿tAñ˜lÀ@Z3ªPSGG ‰V­üyIA^ɈÔ\†:AõŽah“SAî]*ë'²í@ß’t¿Ž|³vƒƒf?Š‚Jc}Ž¿"Ë`Ÿ»þ_@– h‚ÌÐð?¬™×Œþ|@3öÚÃ@!ᥖžþ@÷ä>n¡í@¿Ïìzü@íä„AíÅeAÆÍÖ PSGG "Ë2”Aۀ@î? 9˔ڷÞ?ª\­IÕp@L7@ §MÕ TÌóxŸ@ÓpŒ8L°@Žòà1}ëù?47‚’]ù?p%7îFŒû?ó¿Ô(ø_@›Cn ¯í@Ãâf­œží@< }%ª&~?ªÆT3Â@k:PSGGTÍÌÌË2”A %ü ï^³r…ÄvAùªŸÆÎ•‚@"ÿLäl|ÙDrótA³š[®ÉïyÀ…üN£×TG‰ñ™wABoP3ç|@düLº¹¡ž¹€â‡wA?PC@ƉÀT ü £­̉Œ=«rAÃïçíyÀs0ü ÿìd ÔK|+vAX™£œŠÀ*AüM)!N¢q”j¯vAAzq0yf@£Xþ ÏxÏbÉKmvA RBJ€ÀĈü }OÎX‡kzuA‰`FmLè]@l±üM&xýäDî¿tAŸ ŒðƒÀñõu PSGGTš™™Ë2”AŽ; %ü ïK1ÓÁ}ÄvA£jsñѓ‚@"ÿLäl¶‚åbwótA÷òqm3ñyÀ…üN£×E)àì™wAlR°°øã|@düLº¹¬ài»ì‡wAnšÛ²g‰ÀT ü £­8õM] «rAþ'rݞîyÀs0ü ÿ쎌À‡+vA\YDrBŠÀ*AüM)!O®ñŒh¯vA.ò`¹of@£Xþ ÏÁ=MRmvAy ®}åJ€ÀĈü }7ß:jzuA/ ¶<á]@l±üM&xF»ù¿tAú * íƒÀ9€À4PSGGTfffË2”AŽ; %ü ï»¹l9vÄvA¥˜Ì”¥”‚@"ÿLäl\Wí‘|ótA|ÈûñyÀ…üN£×dXQ“å™wAɝÃéMä|@düMº¹G˜Ÿ÷‡wA1üP‹„‰ÀT ü £­UÄß¿«rAΟï/!ïyÀs0ü ÿì(Ö_©‘+vA"n朊À*AüM)!ÒYOf¯vAŠ:ÔÏ\tf@£Xþ Ï脰ÖXmvA0>jQK€ÀĈü } \Á€hzuAov©5Ãá]@l±üM&xÀÔ×!¿tABHqþÚƒÀ¢šžÑPSGGT333Ë2”A‘ %ü ïkj¯nÄvAƆϐv”‚@"ÿLälfx‡ŒótA4ܕÇòyÀ…üN£×ëZ=žß™wAÊ(ã|@düMº¹æ_ˆwAڐ٣A‰ÀT ü £­/䕸«rA5ãmCïyÀs0ü ÿìWø!Cœ+vAêèsŸ9ŠÀ*AüM)!: Úd¯vA¥Žž oof@£Xþ ÏEÞ?_mvAÞY¥‘^K€ÀĈü }ï4­gzuA?c=XŒÝ]@l±üN&x¶Ðà})¿tAZo)RmƒÀÈ,•PSGGT ü  .®H€XBÝøæ@úPSGG"@£Xþ Ï ³Ĉü } %ü  ¿ †ÿÿ æJÿÿs0ü ìÿ–T ü ­£Ï8ÿÿ—ÿÿ"ÿLläõdüM¹ºÂ…üN×£l*AüM!)šl±üNx&ˆ@#ÿÿ@  %ÿÿ×*üU+ÂKŽC– l @Ëÿÿ@é ‹ÿÿ@ešÿÿ\óçUPSGG!$MÕ ì ³KPSGGĈü  .®H€XBÝøv·@úPSGGs0ü  .®H€XBÝøÁ@ûPSGG£Xþ  .®H€XBÝøgBûPSGG%ü  .®H€XBÝø—?@ûPSGGTË2”AÈÔÿÿ %ü ïãs'rgÄvAZÜ㔂@"ÿLälOÿü†ótAY{eòyÀ…üN£×+é­Ú™wA¥ÿ©³ä|@düMº¹ŸŠˆ/ ˆwA/žSšª‰ÀT ü £­}öø«rA§á¯Ã& @@óä„AÆeApy@ÊPSGG "Ë2”Aš4ð@î?u·7OÚ·Þ?ÂlO(Óp@\7@ §MÕ I÷33êœ@=zt$3°@{Yú—ëù?Ràœñ ù?æš›ÝdŒû?E“Z8âù_@ÀŸþ°óœí@:zï°­í@A ;rqCñz?Gu_D&@.šÞ®PSGGTÍÌÌË2”A %ü ïÀ^ Ì_ÄvAQ1ž”‚@"ÿLälð]KŒótAɎN¯ÝòyÀ…üN£×ëP•aԙwAœPü"]ä|@düMº¹õâMˆwAÙ¶î|‰ÀT ü £­ŸÈ«rA2¬/ôöïyÀs0ü ÿìqه±+vAæX7PŠÀ*AüM)! Q;±_¯vA xê?änf@£Xþ ÏÄ€ `lmvAóœ>L€ÀĈü }ÜË-dzuAÐ]rnÕØ]@l±üN&xRˆ÷‰9¿tAȲü6ªƒÀ~‚QPSGGTš™™Ë2”An %ü ïT?˜XÄvA^C q”‚@"ÿLäl®–w…‘ótA£-xÊ òyÀ…üN£×¹rž-ΙwAÖ»Ÿâ|@düLº¹ÅgÆFˆwA·Äw^•‰ÀT ü £­–(m$«rA€=µðyÀs0ü ÿìEÁÜ5Œ+vA%“aûÁœŠÀ*AüM)!×aµŽ]¯vAc:Òmf@£Xþ Ï!èéÞrmvAŒ³‹ìK€ÀĈü }óöŠ­bzuA¢~3ššØ]@l±üN&x/vã@¿tAÅ"Ç ôƒÀ·HâRPSGGTfffË2”AÒìÿÿ %ü ïE©(QÄvA(œ—–“‚@"ÿLälZ뺖ótAFŒ[ÅôyÀ…üN£×kž_°È™wA¥ÿ©³ä|@düLº¹DP0)ˆwAã~Ä9;‰ÀT ü £­BNɚ)«rAýÇ7ؙñyÀs0ü ÿìŸûæãÆ+vA—‰8ÀŠÀ*AüM)!°Ïvr[¯vA”?fŸnf@£Xþ ÏJݒymvA4«øàŸL€ÀĈü }ÐvW5azuA`¶ø‡Ò]@l±üN&x]ÄvH¿tAøœô^ƒÀ%ëGPSGGT333Ë2”AÒìÿÿ %ü ïupJÒIÄvAÂWªÑc“‚@"ÿLäl–Üà›ótA#\~'ôyÀ…üN£×Qº%(ÙwAݍrŒàâ|@düMº¹åÈa/3ˆwA¹[*3‰ÀT ü £­›–.«rAøe„^MòyÀs0ü ÿì•5µoÑ+vAˆ„@à‹ŠÀ*AüM)!8ð+úX¯vA¢'/vjnf@£Xþ ÏVuÝ€mvA!ç›áL€ÀĈü }ñžŸ_zuAE¡*lÑ]@l±üN&xc 1P¿tA„žA¬QƒÀÁ1:#PSGG"@£Xþ Ï µĈü }%ü  ¿ †ÿÿ æJÿÿs0ü ìÿ”T ü ­£Ð8ÿÿ—ÿÿ"ÿLläõdüM¹ºÀ…üN×£k*AüM!)–l±üNx&€@#ÿÿ@  %ÿÿ×*üT+ÄKŽC– l @Ëÿÿ@é ‹ÿÿ@ešÿÿ\óùTPSGG!$MÕ í ²KPSGGTË2”A@Êÿÿ %ü ïÙp7BÄvA£jsñѓ‚@"ÿLäl¬+ ¡ótAŸ3fã]ôyÀ…üN£×r{±Žœ™wAòÿqPâ|@düLº¹]HüY=ˆwAYäGCÒ‰ÀT ü £­ÚÙlŽ3«rAâ.ñ…•ñyÀs0ü ÿìšš§îÛ+vAY‰é/VŠÀ*AüM)!  V¯vAâªânf@£Xþ ÏØzá†mvAÛšIšÛL€ÀĈü }{A^zuA]áž6LÒ]@l±üN&xJálW¿tAZo)RmƒÀåʔfPSGG ovÎüyIAúõ e\†:Aû2`Hh“SAŸ–$ÎXÒí@×'XRYk¿bրÉKŽP¿G(8VI“¿–Ïn‹È`@=|ÖÑð? m!t–z@àhQTÄ@ËK##tý@â-é‘ÌÁí@UMÉsA#@€ùä„AÆeA#ϰEPSGG "Ë2”AL-ú?î?¢¯†Ú·Þ?\]tÐp@€R7@ §MÕ ‘•Í•¹œ@®ÞŒ°@UhPçŽêù?A=`† ù?ïÉkpƒŒû?˜žãÕöû_@IMBÎí@tŽ¡¶œí@F ø€Ÿ ”ä€?ŸB뎜ƒ@7×]˜PSGGTÍÌÌË2”A %ü ïˆ;ÄvA'Èԓ‚@"ÿLälÁ¶x^ŠótAµà׺õyÀ…üN£×hÈž~·™wA§£â|@düLº¹ÿ.zGˆwAÚ²Ìf­‰ÀT ü £­c=I9«rAH@zòyÀs0ü ÿìΜ  æ+vA—‰8ÀŠÀ*AüM)!SPN†T¯vAò2§E%hf@£Xþ Ï\Ü2mvAD-Ì«rAœ`T\òyÀs0ü ÿìÕu18ñ+vA3•˜ç(žŠÀ*AüM)!œŠ[LR¯vAàÉíÖRkf@£Xþ Ïx«ê°“mvA¡ipNºM€ÀĈü }Kž÷4[zuA¡kmÉ]@l±üN&xwã’g¿tAÄ®ˆI™ƒÀ®˜ŽPSGGTfffË2”AV& %ü ï²Çï3,ÄvAÂWªÑc“‚@"ÿLäl¯âc³°ótA-&éoõyÀ…üN£×îºèŽ«™wA“ü/â|@düLº¹íe‘[ˆwAìûIRø‰ÀT ü £­YçÔ{C«rAóĄÎóyÀs0ü ÿ짬”äû+vA..<ŠÀ*AüM)!a‘»éO¯vAeEæñhf@£Xþ Ï&AE<šmvAáþúh¥M€ÀĈü }^ÄYzuAýZóâÊ]@l±üN&x5֛Jn¿tAÆ¿`NƒÀe™HPSGGT333Ë2”AV& %ü ïŸ}äÍ$ÄvARiûœ’‚@"ÿLälº¢…âµótAdI=lAöyÀ…üN£×žÞ¥™wA¢ß?/Pá|@düLº¹œU¡–eˆwA>wŸ‰ÀT ü £­ëŸ<ÊH«rA¡zЉ‡óyÀs0ü ÿì9m„,vA3•˜ç(žŠÀ*AüM)! –^ÍM¯vAZ{QIjf@£Xþ ÏŸ²'þ mvA"šÞŒN€ÀĈü }ÿvÿ@XzuAñKCÂÄ]@l±üN&xUþïÝu¿tAÒ²ÐïƒÀ“¬HPSGGT ü 00®’hUŒÌ€]@ë XBÝøÄàPSGG"@£Xþ Ï ·Ĉü }%ü  ¿ †ÿÿ æJÿÿs0ü ìÿ’T ü ­£Ó8ÿÿ—ÿÿ"ÿLläúdüL¹ºÄ…üN×£p*AüM!)™l±üNx&@#ÿÿ@  %ÿÿ×*üT+ÉKŽC– l @Ëÿÿ@é ‹ÿÿ@ešÿÿ\óUPSGG!$MÕ î ±KPSGGĈü 00®’hUŒÌ€]@ë XBÝøT·Ã PSGGs0ü 00®’hUŒÌ€]@ë XBÝøãáPSGG£Xþ 00®’hUŒÌ€]@ë XBÝø3gÁ¡PSGG%ü 00®’hUŒÌ€]@ë XBÝøµ?áPSGGT Ë2”AúÀÿÿ %ü ïÿÄvAì[Èݪ’‚@"ÿLäljY'»ótATx›ÖG÷yÀ…üN£×7Z- ™wA¯Ë¿ºá|@düLº¹4EÙoˆwA;3 Í.‰ÀT ü £­jšãM«rAôÈ©€ôyÀs0ü ÿ쑉ŠS,vAMÚR„žŠÀ*AüM)!Â}›K¯vAþ—á+ff@£Xþ ω»;§mvA3wÖ¿N€ÀĈü }`旿VzuA®'d¯lÂ]@l±üN&xSž•}¿tAÑW·KâƒÀŏš,PSGG ªÜäüyIAåw›5\†:A°Bï5h“SAq'÷^áí@ ,,àeV?Uië|¢d[¿÷H5„”¿u—MaÑ`@yþÄr\Òð?ۑŠcy@ 7B˙Ä@³ÏUÔü@lnñèÈÐí@çø5í$@Àÿä„A8ÆeAï©X\PSGG " Ë2”A×Îýæ?î?›ŸÙ·Þ?,eø¥}Íp@M7@ §MÕ f©š¶‰œ@µ…L°@ÎÐ>Rêù?–Öü ù?Zn«˜¢Œû?ú)– þ_@¢ØÒÝÃÞí@n ;Îí@K ü­’ô =‰?lµt§ @ÙX]ÙPSGGTÍÌÌ Ë2”Aàÿÿ %ü ï;äzÄvAÜô×uʓ‚@"ÿLäl9µPÀótA{ûNKlõyÀ…üN£×ô΢fš™wAßbâˆã|@düLº¹!a°áyˆwAŒúãîÿ‰ÀT ü £­e5XS«rAWµª!§òyÀs0ü ÿì  ß,vAÒ3ö“HŠÀ*AüM)!±R1I¯vAŸèT(œjf@£Xþ Ï2¶ÞέmvAì=ÏZŽM€ÀĈü }ºÆ»!UzuAIM+QÈ]@l±üN&xÛ ×…¿tA£*ÕÍfƒÀT×ÝuPSGGTš™™!Ë2”Aàÿÿ %ü ïV•²•ÄvAîEMk“‚@"ÿLälêÅótA®32öyÀ…üN£×;_JB”™wAÖ»Ÿâ|@düLº¹TqiðƒˆwAOöc$‰ÀT ü £­€Jø X«rA¶Yù`ÃóyÀs0ü ÿìÚ߆&,vAíx°0#ŠÀ*AüM)! ºG¯vAl¬7;hf@£Xþ ÏNã^ŽmvA 3x£N€ÀĈü }— ÇSzuAt``?ÑÄ]@l±üN&xOìlõ‹¿tAyäf¥ƒÀñ›PSGGTfff"Ë2”Aæÿÿ %ü ï••_ÄvA(œ—–“‚@"ÿLälUð­¥ÊótAϖ„„{õyÀ…üN£×€%€‰Ž™wArÒ~•Xä|@düLº¹q +؍ˆwAU—ðE؉ÀT ü £­@Ÿa]«rAm†¶òyÀs0ü ÿìAL%1,vA..<ŠÀ*AüM)!4~‹ÆD¯vA,Uߢ’if@£Xþ Ï ç »mvAU)/¹ÐM€ÀĈü }34úTRzuA}_4ÜÆ]@l±üN&xT–åY”¿tAÉ®Š<ƒÀÈÅÀ gpsd-3.9/test/daemon/geostar-geos1m-binary.log.chk0000664000175000017500000031520212135526330020303 0ustar esresr$GPGSV,6,1,21,67,12,002,40,68,22,053,51,69,08,102,40,74,38,187,00*73 $GPGSV,6,2,21,75,63,278,00,83,15,057,41,84,69,039,44,85,51,252,00*79 $GPGSV,6,3,21,86,01,243,00,02,43,065,50,04,11,040,45,05,09,115,39*74 $GPGSV,6,4,21,10,17,076,42,12,47,124,41,14,02,251,24,21,02,200,00*7E $GPGSV,6,5,21,23,02,002,45,25,80,156,25,29,58,246,00,30,82,177,00*7D $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","satellites":[{"PRN":67,"el":12,"az":2,"ss":40,"used":false},{"PRN":68,"el":22,"az":53,"ss":51,"used":false},{"PRN":69,"el":8,"az":102,"ss":40,"used":false},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":57,"ss":41,"used":false},{"PRN":84,"el":69,"az":39,"ss":44,"used":false},{"PRN":85,"el":51,"az":252,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":43,"az":65,"ss":50,"used":false},{"PRN":4,"el":11,"az":40,"ss":45,"used":false},{"PRN":5,"el":9,"az":115,"ss":39,"used":false},{"PRN":10,"el":17,"az":76,"ss":42,"used":false},{"PRN":12,"el":47,"az":124,"ss":41,"used":false},{"PRN":14,"el":2,"az":251,"ss":24,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":25,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125026,5355.1637,N,02730.0245,E,1,10,1.57,273.92,M,23.270,M,,*4B $GPRMC,125026,A,5355.1637,N,02730.0245,E,0.0319,207.214,070910,,*29 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:26.000Z","ept":0.005,"lat":53.919395650,"lon":27.500408874,"alt":273.924,"epv":39.833,"track":207.2138,"speed":0.016} $GPGSV,6,1,21,67,12,002,40,68,22,053,52,69,08,102,40,74,38,187,00*70 $GPGSV,6,2,21,75,63,278,00,83,15,057,41,84,69,039,45,85,51,252,00*78 $GPGSV,6,3,21,86,01,243,00,02,43,065,50,04,11,040,46,05,09,115,38*76 $GPGSV,6,4,21,10,17,076,42,12,47,124,41,14,02,251,24,21,02,200,00*7E $GPGSV,6,5,21,23,02,002,45,25,80,156,26,29,58,246,00,30,82,177,00*7E $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":40,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":57,"ss":41,"used":true},{"PRN":84,"el":69,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":252,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":43,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":46,"used":true},{"PRN":5,"el":9,"az":115,"ss":38,"used":true},{"PRN":10,"el":17,"az":76,"ss":42,"used":true},{"PRN":12,"el":47,"az":124,"ss":41,"used":true},{"PRN":14,"el":2,"az":251,"ss":24,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":26,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125027,5355.1638,N,02730.0245,E,1,10,1.57,273.77,M,23.270,M,,*4E $GPRMC,125027,A,5355.1638,N,02730.0245,E,0.0338,208.578,070910,,*26 $GPGBS,125027,8.68,M,10.56,M,39.83,M*38 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:27.000Z","ept":0.005,"lat":53.919396388,"lon":27.500408124,"alt":273.773,"epx":8.678,"epy":10.558,"epv":39.833,"track":208.5776,"speed":0.017,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,41,68,22,053,52,69,08,102,40,74,38,187,00*71 $GPGSV,6,2,21,75,63,278,00,83,15,057,41,84,69,039,44,85,51,252,00*79 $GPGSV,6,3,21,86,01,243,00,02,43,065,50,04,11,040,46,05,09,115,38*76 $GPGSV,6,4,21,10,17,076,41,12,47,124,41,14,02,251,22,21,02,200,00*7B $GPGSV,6,5,21,23,02,002,45,25,80,156,25,29,58,246,00,30,82,177,00*7D $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":41,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":57,"ss":41,"used":true},{"PRN":84,"el":69,"az":39,"ss":44,"used":true},{"PRN":85,"el":51,"az":252,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":43,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":46,"used":true},{"PRN":5,"el":9,"az":115,"ss":38,"used":true},{"PRN":10,"el":17,"az":76,"ss":41,"used":true},{"PRN":12,"el":47,"az":124,"ss":41,"used":true},{"PRN":14,"el":2,"az":251,"ss":22,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":25,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125028,5355.1638,N,02730.0246,E,1,10,1.57,273.77,M,23.260,M,,*43 $GPRMC,125028,A,5355.1638,N,02730.0246,E,0.0304,198.298,070910,,*26 $GPGBS,125028,8.68,M,10.56,M,39.83,M*37 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:28.000Z","ept":0.005,"lat":53.919396987,"lon":27.500409347,"alt":273.769,"epx":8.678,"epy":10.558,"epv":39.833,"track":198.2983,"speed":0.016,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,41,68,22,053,52,69,08,102,40,74,38,187,00*71 $GPGSV,6,2,21,75,63,278,00,83,15,058,41,84,69,039,44,85,51,252,00*76 $GPGSV,6,3,21,86,01,243,00,02,43,065,50,04,11,040,46,05,09,115,38*76 $GPGSV,6,4,21,10,17,076,41,12,47,124,41,14,02,251,23,21,02,200,00*7A $GPGSV,6,5,21,23,02,002,45,25,80,156,25,29,58,246,00,30,82,177,00*7D $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":41,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":41,"used":true},{"PRN":84,"el":69,"az":39,"ss":44,"used":true},{"PRN":85,"el":51,"az":252,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":43,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":46,"used":true},{"PRN":5,"el":9,"az":115,"ss":38,"used":true},{"PRN":10,"el":17,"az":76,"ss":41,"used":true},{"PRN":12,"el":47,"az":124,"ss":41,"used":true},{"PRN":14,"el":2,"az":251,"ss":23,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":25,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125029,5355.1639,N,02730.0248,E,1,10,1.57,273.92,M,23.252,M,,*47 $GPRMC,125029,A,5355.1639,N,02730.0248,E,0.0266,178.518,070910,,*2C $GPGBS,125029,8.68,M,10.56,M,39.83,M*36 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:29.000Z","ept":0.005,"lat":53.919397821,"lon":27.500413011,"alt":273.924,"epx":8.678,"epy":10.558,"epv":39.833,"track":178.5179,"speed":0.014,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,41,68,22,053,51,69,08,102,40,74,38,187,00*72 $GPGSV,6,2,21,75,63,278,00,83,15,058,41,84,68,039,44,85,51,252,00*77 $GPGSV,6,3,21,86,01,243,00,02,43,065,50,04,11,040,46,05,09,115,37*79 $GPGSV,6,4,21,10,17,076,41,12,47,124,42,14,02,251,23,21,02,200,00*79 $GPGSV,6,5,21,23,02,002,45,25,80,156,26,29,58,246,00,30,82,177,00*7E $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":41,"used":true},{"PRN":68,"el":22,"az":53,"ss":51,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":41,"used":true},{"PRN":84,"el":68,"az":39,"ss":44,"used":true},{"PRN":85,"el":51,"az":252,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":43,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":46,"used":true},{"PRN":5,"el":9,"az":115,"ss":37,"used":true},{"PRN":10,"el":17,"az":76,"ss":41,"used":true},{"PRN":12,"el":47,"az":124,"ss":42,"used":true},{"PRN":14,"el":2,"az":251,"ss":23,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":26,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125030,5355.1639,N,02730.0248,E,1,10,1.57,273.96,M,23.252,M,,*4B $GPRMC,125030,A,5355.1639,N,02730.0248,E,0.0264,159.626,070910,,*2B $GPGBS,125030,8.68,M,10.56,M,39.83,M*3E {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:30.000Z","ept":0.005,"lat":53.919397886,"lon":27.500413420,"alt":273.958,"epx":8.678,"epy":10.558,"epv":39.833,"track":159.6258,"speed":0.014,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,41,68,22,053,51,69,08,102,40,74,38,187,00*72 $GPGSV,6,2,21,75,63,278,00,83,15,058,41,84,68,039,44,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,43,065,50,04,11,040,46,05,09,115,37*79 $GPGSV,6,4,21,10,17,076,42,12,47,124,41,14,02,251,23,21,02,200,00*79 $GPGSV,6,5,21,23,02,002,45,25,80,156,25,29,58,246,00,30,82,177,00*7D $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":41,"used":true},{"PRN":68,"el":22,"az":53,"ss":51,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":41,"used":true},{"PRN":84,"el":68,"az":39,"ss":44,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":43,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":46,"used":true},{"PRN":5,"el":9,"az":115,"ss":37,"used":true},{"PRN":10,"el":17,"az":76,"ss":42,"used":true},{"PRN":12,"el":47,"az":124,"ss":41,"used":true},{"PRN":14,"el":2,"az":251,"ss":23,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":25,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125031,5355.1638,N,02730.0247,E,1,10,1.57,273.92,M,23.320,M,,*44 $GPRMC,125031,A,5355.1638,N,02730.0247,E,0.0267,153.565,070910,,*29 $GPGBS,125031,8.68,M,10.56,M,39.83,M*3F {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:31.000Z","ept":0.005,"lat":53.919397367,"lon":27.500411527,"alt":273.917,"epx":8.678,"epy":10.558,"epv":39.833,"track":153.5651,"speed":0.014,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,41,68,22,053,51,69,08,102,40,74,38,187,00*72 $GPGSV,6,2,21,75,63,278,00,83,15,058,41,84,68,039,44,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,43,065,50,04,11,040,46,05,09,115,36*78 $GPGSV,6,4,21,10,17,076,42,12,47,124,41,14,02,251,24,21,02,200,00*7E $GPGSV,6,5,21,23,02,002,45,25,80,156,26,29,58,246,00,30,82,177,00*7E $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":41,"used":true},{"PRN":68,"el":22,"az":53,"ss":51,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":41,"used":true},{"PRN":84,"el":68,"az":39,"ss":44,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":43,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":46,"used":true},{"PRN":5,"el":9,"az":115,"ss":36,"used":true},{"PRN":10,"el":17,"az":76,"ss":42,"used":true},{"PRN":12,"el":47,"az":124,"ss":41,"used":true},{"PRN":14,"el":2,"az":251,"ss":24,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":26,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125032,5355.1638,N,02730.0245,E,1,10,1.57,273.73,M,23.270,M,,*4E $GPRMC,125032,A,5355.1638,N,02730.0245,E,0.0290,163.342,070910,,*20 $GPGBS,125032,8.68,M,10.56,M,39.83,M*3C {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:32.000Z","ept":0.005,"lat":53.919396279,"lon":27.500408324,"alt":273.735,"epx":8.678,"epy":10.558,"epv":39.833,"track":163.3422,"speed":0.015,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,41,68,22,053,52,69,08,102,41,74,38,187,00*70 $GPGSV,6,2,21,75,63,278,00,83,15,058,41,84,68,039,44,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,43,065,49,04,11,040,46,05,09,115,36*70 $GPGSV,6,4,21,10,17,076,42,12,47,124,41,14,02,251,23,21,02,200,00*79 $GPGSV,6,5,21,23,02,002,45,25,80,156,26,29,58,246,00,30,82,177,00*7E $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":41,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":41,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":41,"used":true},{"PRN":84,"el":68,"az":39,"ss":44,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":43,"az":65,"ss":49,"used":true},{"PRN":4,"el":11,"az":40,"ss":46,"used":true},{"PRN":5,"el":9,"az":115,"ss":36,"used":true},{"PRN":10,"el":17,"az":76,"ss":42,"used":true},{"PRN":12,"el":47,"az":124,"ss":41,"used":true},{"PRN":14,"el":2,"az":251,"ss":23,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":26,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125033,5355.1637,N,02730.0242,E,1,10,1.57,273.59,M,23.275,M,,*4A $GPRMC,125033,A,5355.1637,N,02730.0242,E,0.0313,167.365,070910,,*22 $GPGBS,125033,8.68,M,10.56,M,39.83,M*3D {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:33.000Z","ept":0.005,"lat":53.919394865,"lon":27.500403960,"alt":273.591,"epx":8.678,"epy":10.558,"epv":39.833,"track":167.3652,"speed":0.016,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,41,68,22,053,52,69,08,102,40,74,38,187,00*71 $GPGSV,6,2,21,75,63,278,00,83,15,058,41,84,68,039,44,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,43,065,50,04,11,040,46,05,09,115,36*78 $GPGSV,6,4,21,10,17,076,42,12,47,124,41,14,02,251,23,21,02,200,00*79 $GPGSV,6,5,21,23,02,002,45,25,80,156,25,29,58,246,00,30,82,177,00*7D $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":41,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":41,"used":true},{"PRN":84,"el":68,"az":39,"ss":44,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":43,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":46,"used":true},{"PRN":5,"el":9,"az":115,"ss":36,"used":true},{"PRN":10,"el":17,"az":76,"ss":42,"used":true},{"PRN":12,"el":47,"az":124,"ss":41,"used":true},{"PRN":14,"el":2,"az":251,"ss":23,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":25,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125034,5355.1636,N,02730.0239,E,1,10,1.57,273.37,M,23.270,M,,*4D $GPRMC,125034,A,5355.1636,N,02730.0239,E,0.0331,173.708,070910,,*22 $GPGBS,125034,8.68,M,10.56,M,39.83,M*3A {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:34.000Z","ept":0.005,"lat":53.919392817,"lon":27.500398751,"alt":273.373,"epx":8.678,"epy":10.558,"epv":39.833,"track":173.7081,"speed":0.017,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,41,68,22,053,52,69,08,102,41,74,38,187,00*70 $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,44,85,51,253,00*77 $GPGSV,6,3,21,86,01,243,00,02,43,065,49,04,11,040,45,05,09,115,36*73 $GPGSV,6,4,21,10,17,076,42,12,47,124,40,14,02,251,22,21,02,200,00*79 $GPGSV,6,5,21,23,02,002,45,25,80,156,25,29,58,246,00,30,82,177,00*7D $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":41,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":41,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":44,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":43,"az":65,"ss":49,"used":true},{"PRN":4,"el":11,"az":40,"ss":45,"used":true},{"PRN":5,"el":9,"az":115,"ss":36,"used":true},{"PRN":10,"el":17,"az":76,"ss":42,"used":true},{"PRN":12,"el":47,"az":124,"ss":40,"used":true},{"PRN":14,"el":2,"az":251,"ss":22,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":25,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125035,5355.1635,N,02730.0237,E,1,10,1.57,273.19,M,23.309,M,,*42 $GPRMC,125035,A,5355.1635,N,02730.0237,E,0.0336,181.518,070910,,*27 $GPGBS,125035,8.68,M,10.56,M,39.83,M*3B {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:35.000Z","ept":0.005,"lat":53.919391514,"lon":27.500394261,"alt":273.192,"epx":8.678,"epy":10.558,"epv":39.833,"track":181.5176,"speed":0.017,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,42,68,22,053,51,69,08,102,40,74,38,187,00*71 $GPGSV,6,2,21,75,63,278,00,83,15,058,41,84,68,039,44,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,45,05,09,115,37*7B $GPGSV,6,4,21,10,17,076,42,12,47,124,40,14,02,251,23,21,02,200,00*78 $GPGSV,6,5,21,23,02,002,46,25,80,156,25,29,58,246,00,30,82,177,00*7E $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":42,"used":true},{"PRN":68,"el":22,"az":53,"ss":51,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":41,"used":true},{"PRN":84,"el":68,"az":39,"ss":44,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":45,"used":true},{"PRN":5,"el":9,"az":115,"ss":37,"used":true},{"PRN":10,"el":17,"az":76,"ss":42,"used":true},{"PRN":12,"el":47,"az":124,"ss":40,"used":true},{"PRN":14,"el":2,"az":251,"ss":23,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":46,"used":false},{"PRN":25,"el":80,"az":156,"ss":25,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125036,5355.1634,N,02730.0235,E,1,10,1.57,273.14,M,23.289,M,,*46 $GPRMC,125036,A,5355.1634,N,02730.0235,E,0.0313,179.821,070910,,*20 $GPGBS,125036,8.68,M,10.56,M,39.83,M*38 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:36.000Z","ept":0.005,"lat":53.919390770,"lon":27.500392434,"alt":273.139,"epx":8.678,"epy":10.558,"epv":39.833,"track":179.8206,"speed":0.016,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,42,68,22,053,51,69,08,102,41,74,38,187,00*70 $GPGSV,6,2,21,75,63,278,00,83,15,058,41,84,68,039,44,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,49,04,11,040,45,05,09,115,36*72 $GPGSV,6,4,21,10,17,076,42,12,47,124,40,14,02,251,23,21,02,200,00*78 $GPGSV,6,5,21,23,02,002,46,25,80,156,25,29,58,246,00,30,82,177,00*7E $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":42,"used":true},{"PRN":68,"el":22,"az":53,"ss":51,"used":true},{"PRN":69,"el":8,"az":102,"ss":41,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":41,"used":true},{"PRN":84,"el":68,"az":39,"ss":44,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":49,"used":true},{"PRN":4,"el":11,"az":40,"ss":45,"used":true},{"PRN":5,"el":9,"az":115,"ss":36,"used":true},{"PRN":10,"el":17,"az":76,"ss":42,"used":true},{"PRN":12,"el":47,"az":124,"ss":40,"used":true},{"PRN":14,"el":2,"az":251,"ss":23,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":46,"used":false},{"PRN":25,"el":80,"az":156,"ss":25,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125037,5355.1634,N,02730.0234,E,1,10,1.57,273.07,M,23.281,M,,*4C $GPRMC,125037,A,5355.1634,N,02730.0234,E,0.0285,177.261,070910,,*2E $GPGBS,125037,8.68,M,10.56,M,39.83,M*39 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:37.000Z","ept":0.005,"lat":53.919390171,"lon":27.500390212,"alt":273.070,"epx":8.678,"epy":10.558,"epv":39.833,"track":177.2605,"speed":0.015,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,42,68,22,053,52,69,08,102,41,74,38,187,00*73 $GPGSV,6,2,21,75,63,278,00,83,15,058,41,84,68,039,44,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,46,05,09,115,37*78 $GPGSV,6,4,21,10,17,076,42,12,47,124,41,14,02,251,24,21,02,200,00*7E $GPGSV,6,5,21,23,02,002,46,25,80,156,26,29,58,246,00,30,82,177,00*7D $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":42,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":41,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":41,"used":true},{"PRN":84,"el":68,"az":39,"ss":44,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":46,"used":true},{"PRN":5,"el":9,"az":115,"ss":37,"used":true},{"PRN":10,"el":17,"az":76,"ss":42,"used":true},{"PRN":12,"el":47,"az":124,"ss":41,"used":true},{"PRN":14,"el":2,"az":251,"ss":24,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":46,"used":false},{"PRN":25,"el":80,"az":156,"ss":26,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125038,5355.1634,N,02730.0234,E,1,10,1.57,273.00,M,23.295,M,,*41 $GPRMC,125038,A,5355.1634,N,02730.0234,E,0.0229,167.311,070910,,*20 $GPGBS,125038,8.68,M,10.56,M,39.83,M*36 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:38.000Z","ept":0.005,"lat":53.919390262,"lon":27.500389371,"alt":273.001,"epx":8.678,"epy":10.558,"epv":39.833,"track":167.3112,"speed":0.012,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,42,68,22,053,51,69,08,102,40,74,38,187,00*71 $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,44,85,51,253,00*77 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,45,05,09,115,37*7B $GPGSV,6,4,21,10,17,076,42,12,47,124,40,14,02,251,24,21,02,200,00*7F $GPGSV,6,5,21,23,02,002,46,25,80,156,26,29,58,246,00,30,82,177,00*7D $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":42,"used":true},{"PRN":68,"el":22,"az":53,"ss":51,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":44,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":45,"used":true},{"PRN":5,"el":9,"az":115,"ss":37,"used":true},{"PRN":10,"el":17,"az":76,"ss":42,"used":true},{"PRN":12,"el":47,"az":124,"ss":40,"used":true},{"PRN":14,"el":2,"az":251,"ss":24,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":46,"used":false},{"PRN":25,"el":80,"az":156,"ss":26,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125039,5355.1635,N,02730.0235,E,1,10,1.57,273.01,M,23.281,M,,*44 $GPRMC,125039,A,5355.1635,N,02730.0235,E,0.0223,151.281,070910,,*26 $GPGBS,125039,8.68,M,10.56,M,39.83,M*37 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:39.000Z","ept":0.005,"lat":53.919390858,"lon":27.500390835,"alt":273.010,"epx":8.678,"epy":10.558,"epv":39.833,"track":151.2810,"speed":0.011,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,43,68,22,053,52,69,08,102,41,74,38,187,00*72 $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,44,85,51,253,00*77 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,45,05,09,115,37*7B $GPGSV,6,4,21,10,17,076,42,12,47,124,41,14,02,251,23,21,02,200,00*79 $GPGSV,6,5,21,23,02,002,46,25,80,156,25,29,58,246,00,30,82,177,00*7E $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":43,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":41,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":44,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":45,"used":true},{"PRN":5,"el":9,"az":115,"ss":37,"used":true},{"PRN":10,"el":17,"az":76,"ss":42,"used":true},{"PRN":12,"el":47,"az":124,"ss":41,"used":true},{"PRN":14,"el":2,"az":251,"ss":23,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":46,"used":false},{"PRN":25,"el":80,"az":156,"ss":25,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125040,5355.1635,N,02730.0235,E,1,10,1.57,273.05,M,23.281,M,,*4E $GPRMC,125040,A,5355.1635,N,02730.0235,E,0.0209,134.972,070910,,*24 $GPGBS,125040,8.68,M,10.56,M,39.83,M*39 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:40.000Z","ept":0.005,"lat":53.919391886,"lon":27.500391191,"alt":273.055,"epx":8.678,"epy":10.558,"epv":39.833,"track":134.9718,"speed":0.011,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,43,68,22,053,52,69,08,102,40,74,38,187,00*73 $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,44,85,51,253,00*77 $GPGSV,6,3,21,86,01,243,00,02,42,065,49,04,11,040,45,05,09,115,37*73 $GPGSV,6,4,21,10,17,076,42,12,47,124,40,14,02,251,23,21,02,200,00*78 $GPGSV,6,5,21,23,02,002,45,25,80,156,25,29,58,246,00,30,82,177,00*7D $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":43,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":44,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":49,"used":true},{"PRN":4,"el":11,"az":40,"ss":45,"used":true},{"PRN":5,"el":9,"az":115,"ss":37,"used":true},{"PRN":10,"el":17,"az":76,"ss":42,"used":true},{"PRN":12,"el":47,"az":124,"ss":40,"used":true},{"PRN":14,"el":2,"az":251,"ss":23,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":25,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125041,5355.1636,N,02730.0237,E,1,10,1.57,273.13,M,23.309,M,,*48 $GPRMC,125041,A,5355.1636,N,02730.0237,E,0.0210,136.137,070910,,*27 $GPGBS,125041,8.68,M,10.56,M,39.83,M*38 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:41.000Z","ept":0.005,"lat":53.919393081,"lon":27.500394345,"alt":273.131,"epx":8.678,"epy":10.558,"epv":39.833,"track":136.1373,"speed":0.011,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,43,68,22,053,52,69,08,102,40,74,38,187,00*73 $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,44,85,51,253,00*77 $GPGSV,6,3,21,86,01,243,00,02,42,065,49,04,11,040,44,05,09,115,37*72 $GPGSV,6,4,21,10,17,076,42,12,47,124,40,14,02,251,22,21,02,200,00*79 $GPGSV,6,5,21,23,02,002,45,25,80,156,25,29,58,246,00,30,82,177,00*7D $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":43,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":44,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":49,"used":true},{"PRN":4,"el":11,"az":40,"ss":44,"used":true},{"PRN":5,"el":9,"az":115,"ss":37,"used":true},{"PRN":10,"el":17,"az":76,"ss":42,"used":true},{"PRN":12,"el":47,"az":124,"ss":40,"used":true},{"PRN":14,"el":2,"az":251,"ss":22,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":25,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125042,5355.1637,N,02730.0238,E,1,10,1.57,273.20,M,23.289,M,,*4C $GPRMC,125042,A,5355.1637,N,02730.0238,E,0.0182,140.402,070910,,*20 $GPGBS,125042,8.68,M,10.56,M,39.83,M*3B {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:42.000Z","ept":0.005,"lat":53.919394591,"lon":27.500396185,"alt":273.204,"epx":8.678,"epy":10.558,"epv":39.833,"track":140.4021,"speed":0.009,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,43,68,22,053,52,69,08,102,40,74,38,187,00*73 $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,45,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,45,05,09,115,37*7B $GPGSV,6,4,21,10,17,076,42,12,47,124,40,14,02,251,22,21,02,200,00*79 $GPGSV,6,5,21,23,02,002,45,25,80,156,24,29,58,246,00,30,82,177,00*7C $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":43,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":45,"used":true},{"PRN":5,"el":9,"az":115,"ss":37,"used":true},{"PRN":10,"el":17,"az":76,"ss":42,"used":true},{"PRN":12,"el":47,"az":124,"ss":40,"used":true},{"PRN":14,"el":2,"az":251,"ss":22,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":24,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125043,5355.1637,N,02730.0239,E,1,10,1.57,273.43,M,23.264,M,,*4A $GPRMC,125043,A,5355.1637,N,02730.0239,E,0.0195,156.159,070910,,*2A $GPGBS,125043,8.68,M,10.56,M,39.83,M*3A {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:43.000Z","ept":0.005,"lat":53.919395253,"lon":27.500398405,"alt":273.430,"epx":8.678,"epy":10.558,"epv":39.833,"track":156.1585,"speed":0.010,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,44,68,22,053,52,69,08,102,40,74,38,187,00*74 $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,45,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,45,05,09,115,37*7B $GPGSV,6,4,21,10,17,075,43,12,47,124,40,14,02,251,23,21,02,200,00*7A $GPGSV,6,5,21,23,02,002,45,25,80,156,25,29,58,246,00,30,82,177,00*7D $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":44,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":45,"used":true},{"PRN":5,"el":9,"az":115,"ss":37,"used":true},{"PRN":10,"el":17,"az":75,"ss":43,"used":true},{"PRN":12,"el":47,"az":124,"ss":40,"used":true},{"PRN":14,"el":2,"az":251,"ss":23,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":25,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125044,5355.1637,N,02730.0240,E,1,10,1.57,273.50,M,23.264,M,,*41 $GPRMC,125044,A,5355.1637,N,02730.0240,E,0.0196,163.111,070910,,*2A $GPGBS,125044,8.68,M,10.56,M,39.83,M*3D {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:44.000Z","ept":0.005,"lat":53.919394767,"lon":27.500399183,"alt":273.498,"epx":8.678,"epy":10.558,"epv":39.833,"track":163.1112,"speed":0.010,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,44,68,22,053,52,69,08,102,39,74,38,187,00*7A $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,45,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,45,05,09,115,38*74 $GPGSV,6,4,21,10,17,075,42,12,47,124,38,14,02,251,22,21,02,200,00*75 $GPGSV,6,5,21,23,02,002,45,25,80,156,25,29,58,246,00,30,82,177,00*7D $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":44,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":39,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":45,"used":true},{"PRN":5,"el":9,"az":115,"ss":38,"used":true},{"PRN":10,"el":17,"az":75,"ss":42,"used":true},{"PRN":12,"el":47,"az":124,"ss":38,"used":true},{"PRN":14,"el":2,"az":251,"ss":22,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":25,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125045,5355.1636,N,02730.0239,E,1,10,1.57,273.58,M,23.264,M,,*47 $GPRMC,125045,A,5355.1636,N,02730.0239,E,0.0217,169.936,070910,,*29 $GPGBS,125045,8.68,M,10.56,M,39.83,M*3C {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:45.000Z","ept":0.005,"lat":53.919393818,"lon":27.500398244,"alt":273.584,"epx":8.678,"epy":10.558,"epv":39.833,"track":169.9363,"speed":0.011,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,43,68,22,053,52,69,08,102,39,74,38,187,00*7D $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,45,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,45,05,09,115,38*74 $GPGSV,6,4,21,10,17,075,42,12,46,124,38,14,02,251,23,21,02,200,00*75 $GPGSV,6,5,21,23,02,002,45,25,80,156,26,29,58,246,00,30,82,177,00*7E $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":43,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":39,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":45,"used":true},{"PRN":5,"el":9,"az":115,"ss":38,"used":true},{"PRN":10,"el":17,"az":75,"ss":42,"used":true},{"PRN":12,"el":46,"az":124,"ss":38,"used":true},{"PRN":14,"el":2,"az":251,"ss":23,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":26,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125046,5355.1635,N,02730.0237,E,1,10,1.57,273.59,M,23.309,M,,*42 $GPRMC,125046,A,5355.1635,N,02730.0237,E,0.0256,177.286,070910,,*2D $GPGBS,125046,8.68,M,10.56,M,39.83,M*3F {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:46.000Z","ept":0.005,"lat":53.919391845,"lon":27.500395548,"alt":273.585,"epx":8.678,"epy":10.558,"epv":39.833,"track":177.2856,"speed":0.013,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,43,68,22,053,52,69,08,102,38,74,38,187,00*7C $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,45,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,46,05,09,115,38*77 $GPGSV,6,4,21,10,17,075,42,12,46,124,37,14,02,251,22,21,02,200,00*7B $GPGSV,6,5,21,23,02,002,45,25,80,156,26,29,58,246,00,30,82,177,00*7E $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":43,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":38,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":46,"used":true},{"PRN":5,"el":9,"az":115,"ss":38,"used":true},{"PRN":10,"el":17,"az":75,"ss":42,"used":true},{"PRN":12,"el":46,"az":124,"ss":37,"used":true},{"PRN":14,"el":2,"az":251,"ss":22,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":26,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125047,5355.1633,N,02730.0234,E,1,10,1.57,273.51,M,23.279,M,,*48 $GPRMC,125047,A,5355.1633,N,02730.0234,E,0.0343,189.383,070910,,*29 $GPGBS,125047,8.68,M,10.56,M,39.83,M*3E {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:47.000Z","ept":0.005,"lat":53.919388759,"lon":27.500390503,"alt":273.512,"epx":8.678,"epy":10.558,"epv":39.833,"track":189.3832,"speed":0.018,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,44,68,22,053,52,69,08,102,38,74,38,187,00*7B $GPGSV,6,2,21,75,63,278,00,83,15,058,39,84,68,039,45,85,51,253,00*78 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,46,05,09,115,38*77 $GPGSV,6,4,21,10,17,075,42,12,46,124,36,14,02,250,24,21,02,200,00*7D $GPGSV,6,5,21,23,02,002,44,25,80,156,26,29,58,246,00,30,82,177,00*7F $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":44,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":38,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":39,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":46,"used":true},{"PRN":5,"el":9,"az":115,"ss":38,"used":true},{"PRN":10,"el":17,"az":75,"ss":42,"used":true},{"PRN":12,"el":46,"az":124,"ss":36,"used":true},{"PRN":14,"el":2,"az":250,"ss":24,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":44,"used":false},{"PRN":25,"el":80,"az":156,"ss":26,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125048,5355.1632,N,02730.0233,E,1,10,1.57,273.50,M,23.264,M,,*4C $GPRMC,125048,A,5355.1632,N,02730.0233,E,0.0563,201.605,070910,,*2C $GPGBS,125048,8.68,M,10.56,M,39.83,M*31 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:48.000Z","ept":0.005,"lat":53.919385870,"lon":27.500388000,"alt":273.499,"epx":8.678,"epy":10.558,"epv":39.833,"track":201.6048,"speed":0.029,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,44,68,22,053,51,69,08,102,38,74,38,187,00*78 $GPGSV,6,2,21,75,63,278,00,83,15,058,39,84,68,039,45,85,51,253,00*78 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,46,05,09,115,38*77 $GPGSV,6,4,21,10,17,075,41,12,46,124,35,14,02,250,24,21,02,200,00*7D $GPGSV,6,5,21,23,02,002,44,25,80,156,25,29,58,246,00,30,82,177,00*7C $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":44,"used":true},{"PRN":68,"el":22,"az":53,"ss":51,"used":true},{"PRN":69,"el":8,"az":102,"ss":38,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":39,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":46,"used":true},{"PRN":5,"el":9,"az":115,"ss":38,"used":true},{"PRN":10,"el":17,"az":75,"ss":41,"used":true},{"PRN":12,"el":46,"az":124,"ss":35,"used":true},{"PRN":14,"el":2,"az":250,"ss":24,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":44,"used":false},{"PRN":25,"el":80,"az":156,"ss":25,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125049,5355.1629,N,02730.0230,E,1,10,1.57,273.42,M,23.318,M,,*4D $GPRMC,125049,A,5355.1629,N,02730.0230,E,0.0795,205.857,070910,,*22 $GPGBS,125049,8.68,M,10.56,M,39.83,M*30 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:49.000Z","ept":0.005,"lat":53.919381891,"lon":27.500383350,"alt":273.419,"epx":8.678,"epy":10.558,"epv":39.833,"track":205.8567,"speed":0.041,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,43,68,22,053,51,69,08,102,38,74,38,187,00*7F $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,45,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,46,05,09,115,38*77 $GPGSV,6,4,21,10,17,075,41,12,46,124,35,14,02,250,23,21,02,200,00*7A $GPGSV,6,5,21,23,02,002,45,25,80,156,25,29,58,246,00,30,82,177,00*7D $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":43,"used":true},{"PRN":68,"el":22,"az":53,"ss":51,"used":true},{"PRN":69,"el":8,"az":102,"ss":38,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":46,"used":true},{"PRN":5,"el":9,"az":115,"ss":38,"used":true},{"PRN":10,"el":17,"az":75,"ss":41,"used":true},{"PRN":12,"el":46,"az":124,"ss":35,"used":true},{"PRN":14,"el":2,"az":250,"ss":23,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":25,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125050,5355.1626,N,02730.0227,E,1,10,1.57,273.41,M,23.332,M,,*47 $GPRMC,125050,A,5355.1626,N,02730.0227,E,0.1563,212.053,070910,,*23 $GPGBS,125050,8.68,M,10.56,M,39.83,M*38 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:50.000Z","ept":0.005,"lat":53.919376954,"lon":27.500377515,"alt":273.405,"epx":8.678,"epy":10.558,"epv":39.833,"track":212.0530,"speed":0.080,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,43,68,22,053,52,69,08,102,38,74,38,187,00*7C $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,45,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,46,05,09,115,38*77 $GPGSV,6,4,21,10,17,075,41,12,46,124,35,14,02,250,23,21,02,200,00*7A $GPGSV,6,5,21,23,02,002,45,25,80,156,26,29,58,246,00,30,82,177,00*7E $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":43,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":38,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":46,"used":true},{"PRN":5,"el":9,"az":115,"ss":38,"used":true},{"PRN":10,"el":17,"az":75,"ss":41,"used":true},{"PRN":12,"el":46,"az":124,"ss":35,"used":true},{"PRN":14,"el":2,"az":250,"ss":23,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":26,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125051,5355.1624,N,02730.0223,E,1,10,1.57,273.28,M,23.305,M,,*4B $GPRMC,125051,A,5355.1624,N,02730.0223,E,0.2570,215.163,070910,,*20 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:51.000Z","ept":0.005,"lat":53.919373326,"lon":27.500371342,"alt":273.279,"epx":8.678,"epy":10.558,"epv":39.833,"track":215.1629,"speed":0.132,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,43,68,22,053,52,69,08,102,38,74,38,187,00*7C $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,45,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,51,04,11,040,45,05,09,115,37*7A $GPGSV,6,4,21,10,17,075,41,12,46,124,35,14,02,250,25,21,02,200,00*7C $GPGSV,6,5,21,23,02,002,45,25,80,156,26,29,58,246,00,30,82,177,00*7E $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":43,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":38,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":51,"used":true},{"PRN":4,"el":11,"az":40,"ss":45,"used":true},{"PRN":5,"el":9,"az":115,"ss":37,"used":true},{"PRN":10,"el":17,"az":75,"ss":41,"used":true},{"PRN":12,"el":46,"az":124,"ss":35,"used":true},{"PRN":14,"el":2,"az":250,"ss":25,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":26,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125052,5355.1622,N,02730.0221,E,1,10,1.57,273.19,M,23.334,M,,*4C $GPRMC,125052,A,5355.1622,N,02730.0221,E,0.2624,215.299,070910,,*23 $GPGBS,125052,8.68,M,10.56,M,39.83,M*3A {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:52.000Z","ept":0.005,"lat":53.919369852,"lon":27.500367763,"alt":273.186,"epx":8.678,"epy":10.558,"epv":39.833,"track":215.2988,"speed":0.135,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,43,68,22,053,52,69,08,102,38,74,38,187,00*7C $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,45,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,51,04,11,040,45,05,09,115,38*75 $GPGSV,6,4,21,10,17,075,40,12,46,124,36,14,02,250,24,21,02,200,00*7F $GPGSV,6,5,21,23,02,002,45,25,80,156,27,29,58,246,00,30,82,177,00*7F $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":43,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":38,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":51,"used":true},{"PRN":4,"el":11,"az":40,"ss":45,"used":true},{"PRN":5,"el":9,"az":115,"ss":38,"used":true},{"PRN":10,"el":17,"az":75,"ss":40,"used":true},{"PRN":12,"el":46,"az":124,"ss":36,"used":true},{"PRN":14,"el":2,"az":250,"ss":24,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":27,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125053,5355.1621,N,02730.0218,E,1,10,1.57,272.97,M,23.312,M,,*47 $GPRMC,125053,A,5355.1621,N,02730.0218,E,0.2307,215.259,070910,,*23 $GPGBS,125053,8.68,M,10.56,M,39.83,M*3B {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:53.000Z","ept":0.005,"lat":53.919367763,"lon":27.500363939,"alt":272.974,"epx":8.678,"epy":10.558,"epv":39.833,"track":215.2594,"speed":0.119,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,43,68,22,053,52,69,08,102,39,74,38,187,00*7D $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,45,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,51,04,11,040,44,05,09,115,38*74 $GPGSV,6,4,21,10,17,075,41,12,46,124,36,14,02,250,21,21,02,200,00*7B $GPGSV,6,5,21,23,02,002,45,25,80,156,26,29,58,246,00,30,82,177,00*7E $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.85,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":43,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":39,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":51,"used":true},{"PRN":4,"el":11,"az":40,"ss":44,"used":true},{"PRN":5,"el":9,"az":115,"ss":38,"used":true},{"PRN":10,"el":17,"az":75,"ss":41,"used":true},{"PRN":12,"el":46,"az":124,"ss":36,"used":true},{"PRN":14,"el":2,"az":250,"ss":21,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":26,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125054,5355.1620,N,02730.0217,E,1,10,1.57,272.68,M,23.330,M,,*4E $GPRMC,125054,A,5355.1620,N,02730.0217,E,0.1497,213.219,070910,,*25 $GPGBS,125054,8.68,M,10.56,M,39.83,M*3C {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:54.000Z","ept":0.005,"lat":53.919366695,"lon":27.500360937,"alt":272.676,"epx":8.678,"epy":10.558,"epv":39.833,"track":213.2191,"speed":0.077,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,43,68,22,053,52,69,08,102,39,74,38,187,00*7D $GPGSV,6,2,21,75,63,278,00,83,15,058,39,84,68,039,45,85,51,253,00*78 $GPGSV,6,3,21,86,01,243,00,02,42,065,51,04,11,040,43,05,09,115,38*73 $GPGSV,6,4,21,10,17,075,41,12,46,124,37,14,02,250,00,21,02,200,00*79 $GPGSV,6,5,21,23,02,002,45,25,80,156,26,29,58,246,00,30,82,177,00*7E $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":43,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":39,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":39,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":51,"used":true},{"PRN":4,"el":11,"az":40,"ss":43,"used":true},{"PRN":5,"el":9,"az":115,"ss":38,"used":true},{"PRN":10,"el":17,"az":75,"ss":41,"used":true},{"PRN":12,"el":46,"az":124,"ss":37,"used":true},{"PRN":14,"el":2,"az":250,"ss":0,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":26,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125055,5355.1620,N,02730.0214,E,1,10,1.57,272.32,M,23.373,M,,*44 $GPRMC,125055,A,5355.1620,N,02730.0214,E,0.0805,208.428,070910,,*2F $GPGBS,125055,8.68,M,10.56,M,39.83,M*3D {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:55.000Z","ept":0.005,"lat":53.919366014,"lon":27.500356908,"alt":272.317,"epx":8.678,"epy":10.558,"epv":39.833,"track":208.4278,"speed":0.041,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,43,68,22,053,52,69,08,102,39,74,38,187,00*7D $GPGSV,6,2,21,75,63,278,00,83,15,058,39,84,68,039,45,85,51,253,00*78 $GPGSV,6,3,21,86,01,243,00,02,42,065,51,04,11,040,43,05,09,115,38*73 $GPGSV,6,4,21,10,17,075,41,12,46,124,37,14,02,250,00,21,02,200,00*79 $GPGSV,6,5,21,23,02,002,45,25,80,156,27,29,58,246,00,30,82,177,00*7F $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":43,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":39,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":39,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":51,"used":true},{"PRN":4,"el":11,"az":40,"ss":43,"used":true},{"PRN":5,"el":9,"az":115,"ss":38,"used":true},{"PRN":10,"el":17,"az":75,"ss":41,"used":true},{"PRN":12,"el":46,"az":124,"ss":37,"used":true},{"PRN":14,"el":2,"az":250,"ss":0,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":27,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125056,5355.1619,N,02730.0213,E,1,10,1.57,271.99,M,23.381,M,,*45 $GPRMC,125056,A,5355.1619,N,02730.0213,E,0.0388,197.898,070910,,*2D $GPGBS,125056,8.68,M,10.56,M,39.83,M*3E {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:56.000Z","ept":0.005,"lat":53.919364904,"lon":27.500354302,"alt":271.994,"epx":8.678,"epy":10.558,"epv":39.833,"track":197.8980,"speed":0.020,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,43,68,22,053,52,69,08,102,40,74,38,187,00*73 $GPGSV,6,2,21,75,63,278,00,83,15,058,39,84,68,039,45,85,51,253,00*78 $GPGSV,6,3,21,86,01,243,00,02,42,065,51,04,11,040,43,05,09,115,38*73 $GPGSV,6,4,21,10,17,075,41,12,46,124,39,14,02,250,00,21,02,200,00*77 $GPGSV,6,5,21,23,02,002,45,25,80,156,26,29,58,246,00,30,82,177,00*7E $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":43,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":39,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":51,"used":true},{"PRN":4,"el":11,"az":40,"ss":43,"used":true},{"PRN":5,"el":9,"az":115,"ss":38,"used":true},{"PRN":10,"el":17,"az":75,"ss":41,"used":true},{"PRN":12,"el":46,"az":124,"ss":39,"used":true},{"PRN":14,"el":2,"az":250,"ss":0,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":26,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125057,5355.1619,N,02730.0212,E,1,10,1.57,271.61,M,23.381,M,,*42 $GPRMC,125057,A,5355.1619,N,02730.0212,E,0.0157,146.490,070910,,*25 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:57.000Z","ept":0.005,"lat":53.919365692,"lon":27.500354120,"alt":271.612,"epx":8.678,"epy":10.558,"epv":39.833,"track":146.4899,"speed":0.008,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,43,68,22,053,52,69,08,102,40,74,38,187,00*73 $GPGSV,6,2,21,75,63,278,00,83,15,058,39,84,68,039,45,85,51,253,00*78 $GPGSV,6,3,21,86,01,243,00,02,42,065,51,04,11,040,43,05,09,115,38*73 $GPGSV,6,4,21,10,17,075,41,12,46,124,40,14,02,250,21,21,02,200,00*7A $GPGSV,6,5,21,23,02,002,45,25,80,156,26,29,58,246,00,30,82,177,00*7E $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":43,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":39,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":51,"used":true},{"PRN":4,"el":11,"az":40,"ss":43,"used":true},{"PRN":5,"el":9,"az":115,"ss":38,"used":true},{"PRN":10,"el":17,"az":75,"ss":41,"used":true},{"PRN":12,"el":46,"az":124,"ss":40,"used":true},{"PRN":14,"el":2,"az":250,"ss":21,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":156,"ss":26,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125058,5355.1620,N,02730.0213,E,1,10,1.57,271.31,M,23.381,M,,*43 $GPRMC,125058,A,5355.1620,N,02730.0213,E,0.0152,106.127,070910,,*29 $GPGBS,125058,8.68,M,10.56,M,39.83,M*30 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:58.000Z","ept":0.005,"lat":53.919366533,"lon":27.500354672,"alt":271.312,"epx":8.678,"epy":10.558,"epv":39.833,"track":106.1273,"speed":0.008,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,43,68,22,053,53,69,08,102,40,74,38,187,00*72 $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,45,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,43,05,09,115,37*7D $GPGSV,6,4,21,10,17,075,40,12,46,124,40,14,02,250,21,21,02,200,00*7B $GPGSV,6,5,21,23,02,002,45,25,80,155,26,29,58,246,00,30,82,177,00*7D $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":43,"used":true},{"PRN":68,"el":22,"az":53,"ss":53,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":43,"used":true},{"PRN":5,"el":9,"az":115,"ss":37,"used":true},{"PRN":10,"el":17,"az":75,"ss":40,"used":true},{"PRN":12,"el":46,"az":124,"ss":40,"used":true},{"PRN":14,"el":2,"az":250,"ss":21,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":155,"ss":26,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125059,5355.1621,N,02730.0213,E,1,10,1.57,270.99,M,23.381,M,,*40 $GPRMC,125059,A,5355.1621,N,02730.0213,E,0.0195,91.894,070910,,*1C $GPGBS,125059,8.68,M,10.56,M,39.83,M*31 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:50:59.000Z","ept":0.005,"lat":53.919368123,"lon":27.500355587,"alt":270.986,"epx":8.678,"epy":10.558,"epv":39.833,"track":91.8939,"speed":0.010,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,44,68,22,053,53,69,08,102,41,74,38,187,00*74 $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,45,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,44,05,09,115,37*7A $GPGSV,6,4,21,10,17,075,41,12,46,124,41,14,02,250,22,21,02,200,00*78 $GPGSV,6,5,21,23,02,002,45,25,80,155,26,29,58,246,00,30,82,177,00*7D $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":44,"used":true},{"PRN":68,"el":22,"az":53,"ss":53,"used":true},{"PRN":69,"el":8,"az":102,"ss":41,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":44,"used":true},{"PRN":5,"el":9,"az":115,"ss":37,"used":true},{"PRN":10,"el":17,"az":75,"ss":41,"used":true},{"PRN":12,"el":46,"az":124,"ss":41,"used":true},{"PRN":14,"el":2,"az":250,"ss":22,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":155,"ss":26,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125100,5355.1622,N,02730.0214,E,1,10,1.57,270.81,M,23.369,M,,*46 $GPRMC,125100,A,5355.1622,N,02730.0214,E,0.0169,96.219,070910,,*1E $GPGBS,125100,8.68,M,10.56,M,39.83,M*3C {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:51:00.000Z","ept":0.005,"lat":53.919369645,"lon":27.500357490,"alt":270.809,"epx":8.678,"epy":10.558,"epv":39.833,"track":96.2192,"speed":0.009,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,44,68,22,053,52,69,08,102,40,74,38,187,00*74 $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,45,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,44,05,09,115,36*7B $GPGSV,6,4,21,10,17,075,41,12,46,124,41,14,02,250,22,21,02,200,00*78 $GPGSV,6,5,21,23,02,002,45,25,80,155,26,29,58,246,00,30,82,177,00*7D $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":44,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":44,"used":true},{"PRN":5,"el":9,"az":115,"ss":36,"used":true},{"PRN":10,"el":17,"az":75,"ss":41,"used":true},{"PRN":12,"el":46,"az":124,"ss":41,"used":true},{"PRN":14,"el":2,"az":250,"ss":22,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":155,"ss":26,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125101,5355.1622,N,02730.0215,E,1,10,1.57,270.60,M,23.291,M,,*4F $GPRMC,125101,A,5355.1622,N,02730.0215,E,0.0170,100.553,070910,,*21 $GPGBS,125101,8.68,M,10.56,M,39.83,M*3D {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:51:01.000Z","ept":0.005,"lat":53.919370534,"lon":27.500359013,"alt":270.597,"epx":8.678,"epy":10.558,"epv":39.833,"track":100.5531,"speed":0.009,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,44,68,22,053,52,69,08,102,40,74,38,187,00*74 $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,45,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,44,05,09,115,36*7B $GPGSV,6,4,21,10,17,075,41,12,46,124,41,14,02,250,22,21,02,200,00*78 $GPGSV,6,5,21,23,02,002,45,25,80,155,25,29,58,246,00,30,82,177,00*7E $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":44,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":44,"used":true},{"PRN":5,"el":9,"az":115,"ss":36,"used":true},{"PRN":10,"el":17,"az":75,"ss":41,"used":true},{"PRN":12,"el":46,"az":124,"ss":41,"used":true},{"PRN":14,"el":2,"az":250,"ss":22,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":155,"ss":25,"used":false},{"PRN":29,"el":58,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125102,5355.1623,N,02730.0216,E,1,10,1.57,270.45,M,23.293,M,,*4B $GPRMC,125102,A,5355.1623,N,02730.0216,E,0.0156,115.531,070910,,*24 $GPGBS,125102,8.68,M,10.56,M,39.83,M*3E {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:51:02.000Z","ept":0.005,"lat":53.919371361,"lon":27.500359188,"alt":270.455,"epx":8.678,"epy":10.558,"epv":39.833,"track":115.5310,"speed":0.008,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,45,68,22,053,53,69,08,102,41,74,38,187,00*75 $GPGSV,6,2,21,75,63,278,00,83,15,058,41,84,68,039,46,85,51,253,00*74 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,44,05,09,115,35*78 $GPGSV,6,4,21,10,17,075,41,12,46,124,41,14,02,250,24,21,02,200,00*7E $GPGSV,6,5,21,23,02,002,44,25,80,155,25,29,59,246,00,30,82,177,00*7E $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":45,"used":true},{"PRN":68,"el":22,"az":53,"ss":53,"used":true},{"PRN":69,"el":8,"az":102,"ss":41,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":41,"used":true},{"PRN":84,"el":68,"az":39,"ss":46,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":44,"used":true},{"PRN":5,"el":9,"az":115,"ss":35,"used":true},{"PRN":10,"el":17,"az":75,"ss":41,"used":true},{"PRN":12,"el":46,"az":124,"ss":41,"used":true},{"PRN":14,"el":2,"az":250,"ss":24,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":44,"used":false},{"PRN":25,"el":80,"az":155,"ss":25,"used":false},{"PRN":29,"el":59,"az":246,"ss":0,"used":false},{"PRN":30,"el":82,"az":177,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125103,5355.1623,N,02730.0215,E,1,10,1.57,270.38,M,23.293,M,,*43 $GPRMC,125103,A,5355.1623,N,02730.0215,E,0.0173,146.635,070910,,*20 $GPGBS,125103,8.68,M,10.56,M,39.83,M*3F {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:51:03.000Z","ept":0.005,"lat":53.919371109,"lon":27.500358515,"alt":270.377,"epx":8.678,"epy":10.558,"epv":39.833,"track":146.6353,"speed":0.009,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,45,68,22,053,54,69,08,102,42,74,38,187,00*71 $GPGSV,6,2,21,75,63,278,00,83,15,058,42,84,68,039,46,85,51,253,00*77 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,44,05,09,115,35*78 $GPGSV,6,4,21,10,17,075,41,12,46,124,41,14,02,250,24,21,02,200,00*7E $GPGSV,6,5,21,23,02,002,44,25,80,155,25,29,59,246,00,30,81,175,00*7F $GPGSV,6,6,21,31,39,300,00*41 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":45,"used":true},{"PRN":68,"el":22,"az":53,"ss":54,"used":true},{"PRN":69,"el":8,"az":102,"ss":42,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":42,"used":true},{"PRN":84,"el":68,"az":39,"ss":46,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":44,"used":true},{"PRN":5,"el":9,"az":115,"ss":35,"used":true},{"PRN":10,"el":17,"az":75,"ss":41,"used":true},{"PRN":12,"el":46,"az":124,"ss":41,"used":true},{"PRN":14,"el":2,"az":250,"ss":24,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":44,"used":false},{"PRN":25,"el":80,"az":155,"ss":25,"used":false},{"PRN":29,"el":59,"az":246,"ss":0,"used":false},{"PRN":30,"el":81,"az":175,"ss":0,"used":false},{"PRN":31,"el":39,"az":300,"ss":0,"used":false}]} $GPGGA,125104,5355.1622,N,02730.0213,E,1,10,1.57,270.14,M,23.381,M,,*4F $GPRMC,125104,A,5355.1622,N,02730.0213,E,0.0251,182.501,070910,,*2F $GPGBS,125104,8.68,M,10.56,M,39.83,M*38 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:51:04.000Z","ept":0.005,"lat":53.919370452,"lon":27.500355236,"alt":270.142,"epx":8.678,"epy":10.558,"epv":39.833,"track":182.5013,"speed":0.013,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,45,68,22,053,53,69,08,102,41,74,38,187,00*75 $GPGSV,6,2,21,75,63,278,00,83,15,058,42,84,68,039,46,85,51,253,00*77 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,43,05,09,115,35*7F $GPGSV,6,4,21,10,17,075,41,12,46,124,41,14,02,250,25,21,02,200,00*7F $GPGSV,6,5,21,23,02,002,44,25,80,155,26,29,59,246,00,30,81,175,00*7C $GPGSV,6,6,21,31,39,299,00*40 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":45,"used":true},{"PRN":68,"el":22,"az":53,"ss":53,"used":true},{"PRN":69,"el":8,"az":102,"ss":41,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":42,"used":true},{"PRN":84,"el":68,"az":39,"ss":46,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":43,"used":true},{"PRN":5,"el":9,"az":115,"ss":35,"used":true},{"PRN":10,"el":17,"az":75,"ss":41,"used":true},{"PRN":12,"el":46,"az":124,"ss":41,"used":true},{"PRN":14,"el":2,"az":250,"ss":25,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":44,"used":false},{"PRN":25,"el":80,"az":155,"ss":26,"used":false},{"PRN":29,"el":59,"az":246,"ss":0,"used":false},{"PRN":30,"el":81,"az":175,"ss":0,"used":false},{"PRN":31,"el":39,"az":299,"ss":0,"used":false}]} $GPGGA,125105,5355.1622,N,02730.0212,E,1,10,1.57,270.08,M,23.291,M,,*42 $GPRMC,125105,A,5355.1622,N,02730.0212,E,0.0721,207.117,070910,,*20 $GPGBS,125105,8.68,M,10.56,M,39.83,M*39 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:51:05.000Z","ept":0.005,"lat":53.919369899,"lon":27.500353266,"alt":270.080,"epx":8.678,"epy":10.558,"epv":39.833,"track":207.1170,"speed":0.037,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,45,68,22,053,53,69,08,102,41,74,38,187,00*75 $GPGSV,6,2,21,75,63,278,00,83,15,058,41,84,68,039,45,85,51,253,00*77 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,44,05,09,115,36*7B $GPGSV,6,4,21,10,17,075,41,12,46,124,41,14,02,250,23,21,02,200,00*79 $GPGSV,6,5,21,23,02,002,44,25,80,155,26,29,59,246,00,30,81,175,00*7C $GPGSV,6,6,21,31,39,299,00*40 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":45,"used":true},{"PRN":68,"el":22,"az":53,"ss":53,"used":true},{"PRN":69,"el":8,"az":102,"ss":41,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":41,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":44,"used":true},{"PRN":5,"el":9,"az":115,"ss":36,"used":true},{"PRN":10,"el":17,"az":75,"ss":41,"used":true},{"PRN":12,"el":46,"az":124,"ss":41,"used":true},{"PRN":14,"el":2,"az":250,"ss":23,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":44,"used":false},{"PRN":25,"el":80,"az":155,"ss":26,"used":false},{"PRN":29,"el":59,"az":246,"ss":0,"used":false},{"PRN":30,"el":81,"az":175,"ss":0,"used":false},{"PRN":31,"el":39,"az":299,"ss":0,"used":false}]} $GPGGA,125106,5355.1622,N,02730.0212,E,1,10,1.57,270.00,M,23.291,M,,*49 $GPRMC,125106,A,5355.1622,N,02730.0212,E,0.1029,210.676,070910,,*2B $GPGBS,125106,8.68,M,10.56,M,39.83,M*3A {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:51:06.000Z","ept":0.005,"lat":53.919369919,"lon":27.500353564,"alt":270.002,"epx":8.678,"epy":10.558,"epv":39.833,"track":210.6761,"speed":0.053,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,45,68,22,053,53,69,08,102,41,74,38,187,00*75 $GPGSV,6,2,21,75,63,278,00,83,15,058,41,84,68,039,45,85,51,253,00*77 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,44,05,09,115,35*78 $GPGSV,6,4,21,10,17,075,41,12,46,124,41,14,02,250,00,21,02,200,00*78 $GPGSV,6,5,21,23,02,002,44,25,80,155,25,29,59,246,00,30,81,175,00*7F $GPGSV,6,6,21,31,39,299,00*40 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":45,"used":true},{"PRN":68,"el":22,"az":53,"ss":53,"used":true},{"PRN":69,"el":8,"az":102,"ss":41,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":41,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":44,"used":true},{"PRN":5,"el":9,"az":115,"ss":35,"used":true},{"PRN":10,"el":17,"az":75,"ss":41,"used":true},{"PRN":12,"el":46,"az":124,"ss":41,"used":true},{"PRN":14,"el":2,"az":250,"ss":0,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":44,"used":false},{"PRN":25,"el":80,"az":155,"ss":25,"used":false},{"PRN":29,"el":59,"az":246,"ss":0,"used":false},{"PRN":30,"el":81,"az":175,"ss":0,"used":false},{"PRN":31,"el":39,"az":299,"ss":0,"used":false}]} $GPGGA,125107,5355.1622,N,02730.0212,E,1,10,1.57,270.01,M,23.291,M,,*49 $GPRMC,125107,A,5355.1622,N,02730.0212,E,0.0954,208.858,070910,,*23 $GPGBS,125107,8.68,M,10.56,M,39.83,M*3B {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:51:07.000Z","ept":0.005,"lat":53.919370116,"lon":27.500353250,"alt":270.013,"epx":8.678,"epy":10.558,"epv":39.833,"track":208.8581,"speed":0.049,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,002,45,68,22,053,53,69,08,102,41,74,38,187,00*75 $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,45,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,44,05,09,115,36*7B $GPGSV,6,4,21,10,17,075,42,12,46,124,41,14,02,250,23,21,02,200,00*7A $GPGSV,6,5,21,23,02,002,44,25,80,155,25,29,59,246,00,30,81,175,00*7F $GPGSV,6,6,21,31,39,299,00*40 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":2,"ss":45,"used":true},{"PRN":68,"el":22,"az":53,"ss":53,"used":true},{"PRN":69,"el":8,"az":102,"ss":41,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":44,"used":true},{"PRN":5,"el":9,"az":115,"ss":36,"used":true},{"PRN":10,"el":17,"az":75,"ss":42,"used":true},{"PRN":12,"el":46,"az":124,"ss":41,"used":true},{"PRN":14,"el":2,"az":250,"ss":23,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":44,"used":false},{"PRN":25,"el":80,"az":155,"ss":25,"used":false},{"PRN":29,"el":59,"az":246,"ss":0,"used":false},{"PRN":30,"el":81,"az":175,"ss":0,"used":false},{"PRN":31,"el":39,"az":299,"ss":0,"used":false}]} $GPGGA,125108,5355.1622,N,02730.0211,E,1,10,1.57,269.95,M,23.291,M,,*40 $GPRMC,125108,A,5355.1622,N,02730.0211,E,0.0764,207.180,070910,,*21 $GPGBS,125108,8.68,M,10.56,M,39.83,M*34 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:51:08.000Z","ept":0.005,"lat":53.919370063,"lon":27.500352064,"alt":269.950,"epx":8.678,"epy":10.558,"epv":39.833,"track":207.1804,"speed":0.039,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,001,44,68,22,053,52,69,08,102,41,74,38,187,00*76 $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,45,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,45,05,09,115,36*7A $GPGSV,6,4,21,10,17,075,42,12,46,124,41,14,02,250,00,21,02,200,00*7B $GPGSV,6,5,21,23,02,002,45,25,80,155,26,29,59,246,00,30,81,175,00*7D $GPGSV,6,6,21,31,39,299,00*40 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":1,"ss":44,"used":true},{"PRN":68,"el":22,"az":53,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":41,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":45,"used":true},{"PRN":5,"el":9,"az":115,"ss":36,"used":true},{"PRN":10,"el":17,"az":75,"ss":42,"used":true},{"PRN":12,"el":46,"az":124,"ss":41,"used":true},{"PRN":14,"el":2,"az":250,"ss":0,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":155,"ss":26,"used":false},{"PRN":29,"el":59,"az":246,"ss":0,"used":false},{"PRN":30,"el":81,"az":175,"ss":0,"used":false},{"PRN":31,"el":39,"az":299,"ss":0,"used":false}]} $GPGGA,125109,5355.1622,N,02730.0209,E,1,10,1.57,269.84,M,23.363,M,,*44 $GPRMC,125109,A,5355.1622,N,02730.0209,E,0.0645,206.353,070910,,*26 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:51:09.000Z","ept":0.005,"lat":53.919369469,"lon":27.500349151,"alt":269.838,"epx":8.678,"epy":10.558,"epv":39.833,"track":206.3528,"speed":0.033,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,001,44,68,22,052,53,69,08,102,41,74,38,187,00*76 $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,45,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,51,04,11,040,46,05,09,115,37*79 $GPGSV,6,4,21,10,17,075,43,12,46,124,42,14,02,250,22,21,02,200,00*79 $GPGSV,6,5,21,23,02,002,45,25,80,155,26,29,59,246,00,30,81,175,00*7D $GPGSV,6,6,21,31,39,299,00*40 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":1,"ss":44,"used":true},{"PRN":68,"el":22,"az":52,"ss":53,"used":true},{"PRN":69,"el":8,"az":102,"ss":41,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":51,"used":true},{"PRN":4,"el":11,"az":40,"ss":46,"used":true},{"PRN":5,"el":9,"az":115,"ss":37,"used":true},{"PRN":10,"el":17,"az":75,"ss":43,"used":true},{"PRN":12,"el":46,"az":124,"ss":42,"used":true},{"PRN":14,"el":2,"az":250,"ss":22,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":155,"ss":26,"used":false},{"PRN":29,"el":59,"az":246,"ss":0,"used":false},{"PRN":30,"el":81,"az":175,"ss":0,"used":false},{"PRN":31,"el":39,"az":299,"ss":0,"used":false}]} $GPGGA,125110,5355.1620,N,02730.0206,E,1,10,1.57,269.86,M,23.297,M,,*49 $GPRMC,125110,A,5355.1620,N,02730.0206,E,0.2024,216.373,070910,,*23 $GPGBS,125110,8.68,M,10.56,M,39.83,M*3D {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:51:10.000Z","ept":0.005,"lat":53.919367447,"lon":27.500344007,"alt":269.862,"epx":8.678,"epy":10.558,"epv":39.833,"track":216.3730,"speed":0.104,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,001,44,68,22,052,52,69,08,102,40,74,38,187,00*76 $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,45,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,51,04,11,040,46,05,09,115,37*79 $GPGSV,6,4,21,10,17,075,43,12,46,124,42,14,02,250,24,21,02,200,00*7F $GPGSV,6,5,21,23,02,002,45,25,80,155,26,29,59,246,00,30,81,175,00*7D $GPGSV,6,6,21,31,39,299,00*40 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":1,"ss":44,"used":true},{"PRN":68,"el":22,"az":52,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":51,"used":true},{"PRN":4,"el":11,"az":40,"ss":46,"used":true},{"PRN":5,"el":9,"az":115,"ss":37,"used":true},{"PRN":10,"el":17,"az":75,"ss":43,"used":true},{"PRN":12,"el":46,"az":124,"ss":42,"used":true},{"PRN":14,"el":2,"az":250,"ss":24,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":155,"ss":26,"used":false},{"PRN":29,"el":59,"az":246,"ss":0,"used":false},{"PRN":30,"el":81,"az":175,"ss":0,"used":false},{"PRN":31,"el":39,"az":299,"ss":0,"used":false}]} $GPGGA,125111,5355.1621,N,02730.0206,E,1,10,1.57,269.84,M,23.297,M,,*4B $GPRMC,125111,A,5355.1621,N,02730.0206,E,0.3069,217.674,070910,,*28 $GPGBS,125111,8.68,M,10.56,M,39.83,M*3C {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:51:11.000Z","ept":0.005,"lat":53.919367776,"lon":27.500342840,"alt":269.843,"epx":8.678,"epy":10.558,"epv":39.833,"track":217.6742,"speed":0.158,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,001,44,68,22,052,52,69,08,102,40,74,38,187,00*76 $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,45,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,51,04,11,040,46,05,09,115,37*79 $GPGSV,6,4,21,10,17,075,43,12,46,124,42,14,02,250,24,21,02,200,00*7F $GPGSV,6,5,21,23,02,002,45,25,80,155,26,29,59,246,00,30,81,175,00*7D $GPGSV,6,6,21,31,39,299,00*40 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":1,"ss":44,"used":true},{"PRN":68,"el":22,"az":52,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":51,"used":true},{"PRN":4,"el":11,"az":40,"ss":46,"used":true},{"PRN":5,"el":9,"az":115,"ss":37,"used":true},{"PRN":10,"el":17,"az":75,"ss":43,"used":true},{"PRN":12,"el":46,"az":124,"ss":42,"used":true},{"PRN":14,"el":2,"az":250,"ss":24,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":155,"ss":26,"used":false},{"PRN":29,"el":59,"az":246,"ss":0,"used":false},{"PRN":30,"el":81,"az":175,"ss":0,"used":false},{"PRN":31,"el":39,"az":299,"ss":0,"used":false}]} $GPGGA,125112,5355.1622,N,02730.0206,E,1,10,1.57,269.83,M,23.297,M,,*4C $GPRMC,125112,A,5355.1622,N,02730.0206,E,0.2693,217.448,070910,,*27 $GPGBS,125112,8.68,M,10.56,M,39.83,M*3F {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:51:12.000Z","ept":0.005,"lat":53.919369300,"lon":27.500343141,"alt":269.834,"epx":8.678,"epy":10.558,"epv":39.833,"track":217.4476,"speed":0.139,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,001,44,68,22,052,52,69,08,102,40,74,38,187,00*76 $GPGSV,6,2,21,75,63,278,00,83,15,058,40,84,68,039,45,85,51,253,00*76 $GPGSV,6,3,21,86,01,243,00,02,42,065,51,04,11,040,47,05,09,115,37*78 $GPGSV,6,4,21,10,17,075,43,12,46,124,42,14,02,250,22,21,02,200,00*79 $GPGSV,6,5,21,23,02,002,45,25,80,155,26,29,59,246,00,30,81,175,00*7D $GPGSV,6,6,21,31,39,299,00*40 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":1,"ss":44,"used":true},{"PRN":68,"el":22,"az":52,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":51,"used":true},{"PRN":4,"el":11,"az":40,"ss":47,"used":true},{"PRN":5,"el":9,"az":115,"ss":37,"used":true},{"PRN":10,"el":17,"az":75,"ss":43,"used":true},{"PRN":12,"el":46,"az":124,"ss":42,"used":true},{"PRN":14,"el":2,"az":250,"ss":22,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":155,"ss":26,"used":false},{"PRN":29,"el":59,"az":246,"ss":0,"used":false},{"PRN":30,"el":81,"az":175,"ss":0,"used":false},{"PRN":31,"el":39,"az":299,"ss":0,"used":false}]} $GPGGA,125113,5355.1622,N,02730.0206,E,1,10,1.57,269.72,M,23.297,M,,*43 $GPRMC,125113,A,5355.1622,N,02730.0206,E,0.1830,215.787,070910,,*20 $GPGBS,125113,8.68,M,10.56,M,39.83,M*3E {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:51:13.000Z","ept":0.005,"lat":53.919369982,"lon":27.500343237,"alt":269.715,"epx":8.678,"epy":10.558,"epv":39.833,"track":215.7866,"speed":0.094,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,001,43,68,22,052,52,69,08,102,40,74,38,187,00*71 $GPGSV,6,2,21,75,63,278,00,83,15,058,39,84,68,039,45,85,51,253,00*78 $GPGSV,6,3,21,86,01,243,00,02,42,065,51,04,11,040,47,05,09,115,37*78 $GPGSV,6,4,21,10,17,075,43,12,46,124,42,14,02,250,23,21,02,200,00*78 $GPGSV,6,5,21,23,02,002,46,25,80,155,27,29,59,246,00,30,81,175,00*7F $GPGSV,6,6,21,31,39,299,00*40 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":1,"ss":43,"used":true},{"PRN":68,"el":22,"az":52,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":39,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":51,"used":true},{"PRN":4,"el":11,"az":40,"ss":47,"used":true},{"PRN":5,"el":9,"az":115,"ss":37,"used":true},{"PRN":10,"el":17,"az":75,"ss":43,"used":true},{"PRN":12,"el":46,"az":124,"ss":42,"used":true},{"PRN":14,"el":2,"az":250,"ss":23,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":46,"used":false},{"PRN":25,"el":80,"az":155,"ss":27,"used":false},{"PRN":29,"el":59,"az":246,"ss":0,"used":false},{"PRN":30,"el":81,"az":175,"ss":0,"used":false},{"PRN":31,"el":39,"az":299,"ss":0,"used":false}]} $GPGGA,125114,5355.1623,N,02730.0206,E,1,10,1.57,269.63,M,23.297,M,,*45 $GPRMC,125114,A,5355.1623,N,02730.0206,E,0.1009,210.581,070910,,*25 $GPGBS,125114,8.68,M,10.56,M,39.83,M*39 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:51:14.000Z","ept":0.005,"lat":53.919371143,"lon":27.500343767,"alt":269.635,"epx":8.678,"epy":10.558,"epv":39.833,"track":210.5809,"speed":0.052,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,001,43,68,22,052,52,69,08,102,39,74,38,187,00*7F $GPGSV,6,2,21,75,63,278,00,83,15,058,39,84,68,039,45,85,51,253,00*78 $GPGSV,6,3,21,86,01,243,00,02,42,065,51,04,11,040,47,05,09,115,37*78 $GPGSV,6,4,21,10,17,075,42,12,46,124,42,14,02,250,00,21,02,200,00*78 $GPGSV,6,5,21,23,02,002,46,25,80,155,26,29,59,246,00,30,81,175,00*7E $GPGSV,6,6,21,31,39,299,00*40 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":1,"ss":43,"used":true},{"PRN":68,"el":22,"az":52,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":39,"used":true},{"PRN":74,"el":38,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":39,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":51,"used":true},{"PRN":4,"el":11,"az":40,"ss":47,"used":true},{"PRN":5,"el":9,"az":115,"ss":37,"used":true},{"PRN":10,"el":17,"az":75,"ss":42,"used":true},{"PRN":12,"el":46,"az":124,"ss":42,"used":true},{"PRN":14,"el":2,"az":250,"ss":0,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":46,"used":false},{"PRN":25,"el":80,"az":155,"ss":26,"used":false},{"PRN":29,"el":59,"az":246,"ss":0,"used":false},{"PRN":30,"el":81,"az":175,"ss":0,"used":false},{"PRN":31,"el":39,"az":299,"ss":0,"used":false}]} $GPGGA,125115,5355.1623,N,02730.0207,E,1,10,1.57,269.60,M,23.336,M,,*4C $GPRMC,125115,A,5355.1623,N,02730.0207,E,0.0474,198.912,070910,,*2F {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:51:15.000Z","ept":0.005,"lat":53.919372285,"lon":27.500345705,"alt":269.602,"epx":8.678,"epy":10.558,"epv":39.833,"track":198.9121,"speed":0.024,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,001,43,68,22,052,52,69,08,102,39,74,37,187,00*70 $GPGSV,6,2,21,75,63,278,00,83,15,058,39,84,68,039,45,85,51,253,00*78 $GPGSV,6,3,21,86,01,243,00,02,42,065,51,04,11,040,47,05,09,115,37*78 $GPGSV,6,4,21,10,17,075,42,12,46,124,41,14,02,250,00,21,02,200,00*7B $GPGSV,6,5,21,23,02,002,46,25,80,155,27,29,59,246,00,30,81,175,00*7F $GPGSV,6,6,21,31,39,299,00*40 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":1,"ss":43,"used":true},{"PRN":68,"el":22,"az":52,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":39,"used":true},{"PRN":74,"el":37,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":278,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":39,"used":true},{"PRN":84,"el":68,"az":39,"ss":45,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":51,"used":true},{"PRN":4,"el":11,"az":40,"ss":47,"used":true},{"PRN":5,"el":9,"az":115,"ss":37,"used":true},{"PRN":10,"el":17,"az":75,"ss":42,"used":true},{"PRN":12,"el":46,"az":124,"ss":41,"used":true},{"PRN":14,"el":2,"az":250,"ss":0,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":46,"used":false},{"PRN":25,"el":80,"az":155,"ss":27,"used":false},{"PRN":29,"el":59,"az":246,"ss":0,"used":false},{"PRN":30,"el":81,"az":175,"ss":0,"used":false},{"PRN":31,"el":39,"az":299,"ss":0,"used":false}]} $GPGGA,125116,5355.1624,N,02730.0208,E,1,10,1.57,269.48,M,23.270,M,,*4E $GPRMC,125116,A,5355.1624,N,02730.0208,E,0.0193,153.421,070910,,*22 $GPGBS,125116,8.68,M,10.56,M,39.83,M*3B {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:51:16.000Z","ept":0.005,"lat":53.919372724,"lon":27.500346238,"alt":269.485,"epx":8.678,"epy":10.558,"epv":39.833,"track":153.4212,"speed":0.010,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,001,43,68,22,052,52,69,08,102,40,74,37,187,00*7E $GPGSV,6,2,21,75,63,277,00,83,15,058,40,84,68,039,46,85,51,253,00*7A $GPGSV,6,3,21,86,01,243,00,02,42,065,51,04,11,040,47,05,09,115,38*77 $GPGSV,6,4,21,10,17,075,42,12,46,124,41,14,02,250,00,21,02,200,00*7B $GPGSV,6,5,21,23,02,002,46,25,80,155,27,29,59,246,00,30,81,175,00*7F $GPGSV,6,6,21,31,39,299,00*40 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":1,"ss":43,"used":true},{"PRN":68,"el":22,"az":52,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":37,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":277,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":46,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":51,"used":true},{"PRN":4,"el":11,"az":40,"ss":47,"used":true},{"PRN":5,"el":9,"az":115,"ss":38,"used":true},{"PRN":10,"el":17,"az":75,"ss":42,"used":true},{"PRN":12,"el":46,"az":124,"ss":41,"used":true},{"PRN":14,"el":2,"az":250,"ss":0,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":46,"used":false},{"PRN":25,"el":80,"az":155,"ss":27,"used":false},{"PRN":29,"el":59,"az":246,"ss":0,"used":false},{"PRN":30,"el":81,"az":175,"ss":0,"used":false},{"PRN":31,"el":39,"az":299,"ss":0,"used":false}]} $GPGGA,125117,5355.1624,N,02730.0206,E,1,10,1.57,269.33,M,23.297,M,,*44 $GPRMC,125117,A,5355.1624,N,02730.0206,E,0.0143,120.025,070910,,*24 $GPGBS,125117,8.68,M,10.56,M,39.83,M*3A {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:51:17.000Z","ept":0.005,"lat":53.919372731,"lon":27.500343953,"alt":269.330,"epx":8.678,"epy":10.558,"epv":39.833,"track":120.0246,"speed":0.007,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,001,44,68,22,052,52,69,08,102,40,74,37,187,00*79 $GPGSV,6,2,21,75,63,277,00,83,15,058,41,84,68,039,46,85,51,253,00*7B $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,45,05,09,115,36*7A $GPGSV,6,4,21,10,17,075,41,12,46,124,39,14,02,250,00,21,02,200,00*77 $GPGSV,6,5,21,23,02,002,45,25,80,155,26,29,59,246,00,30,81,175,00*7D $GPGSV,6,6,21,31,39,299,00*40 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":1,"ss":44,"used":true},{"PRN":68,"el":22,"az":52,"ss":52,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":37,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":277,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":41,"used":true},{"PRN":84,"el":68,"az":39,"ss":46,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":45,"used":true},{"PRN":5,"el":9,"az":115,"ss":36,"used":true},{"PRN":10,"el":17,"az":75,"ss":41,"used":true},{"PRN":12,"el":46,"az":124,"ss":39,"used":true},{"PRN":14,"el":2,"az":250,"ss":0,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":155,"ss":26,"used":false},{"PRN":29,"el":59,"az":246,"ss":0,"used":false},{"PRN":30,"el":81,"az":175,"ss":0,"used":false},{"PRN":31,"el":39,"az":299,"ss":0,"used":false}]} $GPGGA,125118,5355.1623,N,02730.0204,E,1,10,1.57,269.20,M,23.359,M,,*4F $GPRMC,125118,A,5355.1623,N,02730.0204,E,0.0124,144.310,070910,,*28 $GPGBS,125118,8.68,M,10.56,M,39.83,M*35 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:51:18.000Z","ept":0.005,"lat":53.919371860,"lon":27.500340241,"alt":269.197,"epx":8.678,"epy":10.558,"epv":39.833,"track":144.3100,"speed":0.006,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,001,44,68,22,052,53,69,08,102,40,74,37,187,00*78 $GPGSV,6,2,21,75,63,277,00,83,15,058,40,84,68,039,46,85,51,253,00*7A $GPGSV,6,3,21,86,01,243,00,02,42,065,50,04,11,040,45,05,09,115,36*7A $GPGSV,6,4,21,10,17,075,41,12,46,124,38,14,02,250,00,21,02,200,00*76 $GPGSV,6,5,21,23,02,002,45,25,80,155,26,29,59,246,00,30,81,175,00*7D $GPGSV,6,6,21,31,39,299,00*40 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":1,"ss":44,"used":true},{"PRN":68,"el":22,"az":52,"ss":53,"used":true},{"PRN":69,"el":8,"az":102,"ss":40,"used":true},{"PRN":74,"el":37,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":277,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":46,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":50,"used":true},{"PRN":4,"el":11,"az":40,"ss":45,"used":true},{"PRN":5,"el":9,"az":115,"ss":36,"used":true},{"PRN":10,"el":17,"az":75,"ss":41,"used":true},{"PRN":12,"el":46,"az":124,"ss":38,"used":true},{"PRN":14,"el":2,"az":250,"ss":0,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":45,"used":false},{"PRN":25,"el":80,"az":155,"ss":26,"used":false},{"PRN":29,"el":59,"az":246,"ss":0,"used":false},{"PRN":30,"el":81,"az":175,"ss":0,"used":false},{"PRN":31,"el":39,"az":299,"ss":0,"used":false}]} $GPGGA,125119,5355.1622,N,02730.0202,E,1,10,1.57,269.04,M,23.322,M,,*43 $GPRMC,125119,A,5355.1622,N,02730.0202,E,0.0160,175.569,070910,,*24 $GPGBS,125119,8.68,M,10.56,M,39.83,M*34 {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:51:19.000Z","ept":0.005,"lat":53.919370481,"lon":27.500336255,"alt":269.035,"epx":8.678,"epy":10.558,"epv":39.833,"track":175.5694,"speed":0.008,"climb":0.000,"eps":21.12} $GPGSV,6,1,21,67,12,001,44,68,22,052,53,69,08,102,41,74,37,187,00*79 $GPGSV,6,2,21,75,63,277,00,83,15,058,40,84,68,039,47,85,51,253,00*7B $GPGSV,6,3,21,86,01,243,00,02,42,065,51,04,11,040,45,05,09,115,37*7A $GPGSV,6,4,21,10,17,075,41,12,46,124,38,14,02,250,00,21,02,200,00*76 $GPGSV,6,5,21,23,02,002,46,25,80,155,26,29,59,246,00,30,81,175,00*7E $GPGSV,6,6,21,31,39,299,00*40 {"class":"SKY","tag":"ID22","xdop":0.58,"ydop":0.70,"vdop":1.73,"tdop":1.62,"hdop":1.57,"gdop":2.84,"pdop":2.34,"satellites":[{"PRN":67,"el":12,"az":1,"ss":44,"used":true},{"PRN":68,"el":22,"az":52,"ss":53,"used":true},{"PRN":69,"el":8,"az":102,"ss":41,"used":true},{"PRN":74,"el":37,"az":187,"ss":0,"used":false},{"PRN":75,"el":63,"az":277,"ss":0,"used":false},{"PRN":83,"el":15,"az":58,"ss":40,"used":true},{"PRN":84,"el":68,"az":39,"ss":47,"used":true},{"PRN":85,"el":51,"az":253,"ss":0,"used":false},{"PRN":86,"el":1,"az":243,"ss":0,"used":false},{"PRN":2,"el":42,"az":65,"ss":51,"used":true},{"PRN":4,"el":11,"az":40,"ss":45,"used":true},{"PRN":5,"el":9,"az":115,"ss":37,"used":true},{"PRN":10,"el":17,"az":75,"ss":41,"used":true},{"PRN":12,"el":46,"az":124,"ss":38,"used":true},{"PRN":14,"el":2,"az":250,"ss":0,"used":false},{"PRN":21,"el":2,"az":200,"ss":0,"used":false},{"PRN":23,"el":2,"az":2,"ss":46,"used":false},{"PRN":25,"el":80,"az":155,"ss":26,"used":false},{"PRN":29,"el":59,"az":246,"ss":0,"used":false},{"PRN":30,"el":81,"az":175,"ss":0,"used":false},{"PRN":31,"el":39,"az":299,"ss":0,"used":false}]} $GPGGA,125120,5355.1621,N,02730.0200,E,1,10,1.57,268.84,M,23.301,M,,*40 $GPRMC,125120,A,5355.1621,N,02730.0200,E,0.0240,189.839,070910,,*25 $GPGBS,125120,8.68,M,10.56,M,39.83,M*3E {"class":"TPV","tag":"ID20","mode":3,"time":"2010-09-07T12:51:20.000Z","ept":0.005,"lat":53.919368451,"lon":27.500332524,"alt":268.843,"epx":8.678,"epy":10.558,"epv":39.833,"track":189.8385,"speed":0.012,"climb":0.000,"eps":21.12} gpsd-3.9/test/daemon/gp-320fw-2019-03-28.log0000664000175000017500000002140511762140437015731 0ustar esresr# Name: GPS-320FW # Chipset: SE4100L + PL-6313 # Description: OEM module from RF Solutions, Inc # Submitter: f4eru # Date: 2010-10-16 # Notes: This is the chip in normal operation, but with a sat simulator # spoofing it into thinking it is 2019-03-28. The chip is known to have # bugs that result in incorrect time reporting at GPS week 10-bit # rollover boundaries. No such boundary is crossed in this log. # $GPGLL,4808.9985,N,01135.0867,E,164516.99,A,A*6E $GPRMC,164517.99,A,4808.9985,N,01135.0867,E,000.0,000.0,280319,003.0,E,A*31 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164517.99,4808.9985,N,01135.0867,E,1,04,01.3,00463.0,M,0046.2,M,,*5D $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,13,21,76,138,47,09,47,236,18,04,37,056,*75 $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGLL,4808.9985,N,01135.0867,E,164517.99,A,A*6F $GPRMC,164518.99,A,4808.9985,N,01135.0867,E,000.0,000.0,280319,003.0,E,A*3E $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164518.99,4808.9985,N,01135.0867,E,1,04,01.3,00462.9,M,0046.2,M,,*5A $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,12,21,76,138,48,09,47,236,18,04,37,056,*7B $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGLL,4808.9985,N,01135.0867,E,164518.99,A,A*60 $GPRMC,164519.99,A,4808.9985,N,01135.0867,E,000.0,000.0,280319,003.0,E,A*3F $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164519.99,4808.9985,N,01135.0867,E,1,04,01.3,00462.9,M,0046.2,M,,*5B $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,13,21,76,138,48,09,47,236,18,04,37,056,*7A $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGSV,3,3,12,05,13,037,47,14,06,303,,01,00,359,,02,00,204,*73 $GPRMC,164520.99,A,4808.9985,N,01135.0868,E,000.0,000.0,280319,003.0,E,A*3A $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164520.99,4808.9985,N,01135.0868,E,1,04,01.3,00462.8,M,0046.2,M,,*5F $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,14,21,76,137,47,09,47,236,18,04,37,056,*7D $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPZDA,164520.99,28,03,2019,,*61 $GPRMC,164521.99,A,4808.9985,N,01135.0868,E,000.0,000.0,280319,003.0,E,A*3B $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164521.99,4808.9985,N,01135.0868,E,1,04,01.3,00462.8,M,0046.2,M,,*5E $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,15,21,76,137,47,09,47,236,18,04,37,056,*7C $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGSV,3,3,12,05,13,037,47,14,06,303,,01,00,359,,02,00,204,*73 $GPRMC,164522.99,A,4808.9985,N,01135.0869,E,000.0,000.0,280319,003.0,E,A*39 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164522.99,4808.9985,N,01135.0869,E,1,04,01.3,00462.8,M,0046.2,M,,*5C $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,16,21,76,137,47,09,47,236,18,04,37,056,*7F $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGLL,4808.9985,N,01135.0869,E,164522.99,A,A*67 $GPRMC,164523.99,A,4808.9985,N,01135.0869,E,000.0,000.0,280319,003.0,E,A*38 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164523.99,4808.9985,N,01135.0869,E,1,04,01.3,00462.7,M,0046.2,M,,*52 $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,16,21,76,137,47,09,47,236,17,04,37,056,*70 $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGLL,4808.9985,N,01135.0869,E,164523.99,A,A*66 $GPRMC,164524.99,A,4808.9985,N,01135.0869,E,000.0,000.0,280319,003.0,E,A*3F $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164524.99,4808.9985,N,01135.0869,E,1,04,01.3,00462.7,M,0046.2,M,,*55 $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,16,21,76,137,47,09,47,236,17,04,37,056,*70 $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGSV,3,3,12,05,13,037,47,14,06,303,,02,00,204,,01,00,359,*73 $GPRMC,164525.99,A,4808.9985,N,01135.0869,E,000.0,000.0,280319,003.0,E,A*3E $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164525.99,4808.9985,N,01135.0869,E,1,04,01.3,00462.7,M,0046.2,M,,*54 $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,15,21,76,137,48,09,47,236,17,04,37,056,*7C $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGLL,4808.9985,N,01135.0869,E,164525.99,A,A*60 $GPRMC,164526.99,A,4808.9985,N,01135.0869,E,000.0,000.0,280319,003.0,E,A*3D $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164526.99,4808.9985,N,01135.0869,E,1,04,01.3,00462.7,M,0046.2,M,,*57 $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,15,21,76,137,47,09,47,236,18,04,37,056,*7C $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGLL,4808.9985,N,01135.0869,E,164526.99,A,A*63 $GPRMC,164527.99,A,4808.9985,N,01135.0869,E,000.0,000.0,280319,003.0,E,A*3C $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164527.99,4808.9985,N,01135.0869,E,1,04,01.3,00462.7,M,0046.2,M,,*56 $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,14,21,76,137,48,09,47,236,17,04,37,056,*7D $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,48,08,15,173,*7E $GPZDA,164527.99,28,03,2019,,*66 $GPRMC,164528.99,A,4808.9985,N,01135.0870,E,000.0,000.0,280319,003.0,E,A*3B $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164528.99,4808.9985,N,01135.0870,E,1,04,01.3,00462.7,M,0046.2,M,,*51 $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,13,21,76,137,47,09,47,236,17,04,37,056,*75 $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGSV,3,3,12,05,13,037,47,14,06,303,,02,00,204,,01,00,359,*73 $GPRMC,164529.99,A,4808.9985,N,01135.0870,E,000.0,000.0,280319,003.0,E,A*3A $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164529.99,4808.9985,N,01135.0870,E,1,04,01.3,00462.6,M,0046.2,M,,*51 $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,13,21,76,137,47,09,47,236,17,04,37,056,*75 $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGLL,4808.9985,N,01135.0870,E,164529.99,A,A*64 $GPRMC,164530.99,A,4808.9985,N,01135.0870,E,000.0,000.0,280319,003.0,E,A*32 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164530.99,4808.9985,N,01135.0870,E,1,04,01.3,00462.6,M,0046.2,M,,*59 $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,13,21,76,137,47,09,47,236,17,04,37,056,*75 $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGSV,3,3,12,05,13,037,47,14,06,303,,01,00,359,,02,00,204,*73 $GPRMC,164531.99,A,4808.9986,N,01135.0871,E,000.0,000.0,280319,003.0,E,A*31 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164531.99,4808.9986,N,01135.0871,E,1,04,01.3,00462.6,M,0046.2,M,,*5A $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,12,21,76,137,47,09,47,236,17,04,37,056,*74 $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPZDA,164531.99,28,03,2019,,*61 $GPRMC,164532.99,A,4808.9986,N,01135.0871,E,000.0,000.0,280319,003.0,E,A*32 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164532.99,4808.9986,N,01135.0871,E,1,04,01.3,00462.6,M,0046.2,M,,*59 $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,12,21,76,137,47,09,47,236,17,04,37,056,*74 $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGLL,4808.9986,N,01135.0871,E,164532.99,A,A*6C $GPRMC,164533.99,A,4808.9986,N,01135.0871,E,000.0,000.0,280319,003.0,E,A*33 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164533.99,4808.9986,N,01135.0871,E,1,04,01.3,00462.5,M,0046.2,M,,*5B $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,02.0*0A $GPGSV,3,1,12,17,77,041,13,21,76,137,47,09,47,236,17,04,37,056,*75 $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGLL,4808.9986,N,01135.0871,E,164533.99,A,A*6D $GPRMC,164534.99,A,4808.9986,N,01135.0871,E,000.0,000.0,280319,003.0,E,A*34 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164534.99,4808.9986,N,01135.0871,E,1,04,01.3,00462.5,M,0046.2,M,,*5C $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,02.0*0A $GPGSV,3,1,12,17,77,041,13,21,76,137,47,09,47,236,17,04,37,056,*75 $GPGSV,3,2,12,12,32,298,,06,29,277,48,18,20,143,48,08,15,173,*71 $GPZDA,164534.99,28,03,2019,,*64 $GPRMC,164535.99,A,4808.9986,N,01135.0872,E,000.0,000.0,280319,003.0,E,A*36 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164535.99,4808.9986,N,01135.0872,E,1,04,01.3,00462.5,M,0046.2,M,,*5E $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,02.0*0A $GPGSV,3,1,12,17,77,041,12,21,76,137,47,09,47,236,17,04,37,056,*74 $GPGSV,3,2,12,12,32,298,,06,29,277,48,18,20,143,48,08,15,173,*71 $GPGSV,3,3,12,05,13,037,47,14,06,303,,01,00,359,,02,00,204,*73 $GPRMC,164536.99,A,4808.9986,N,01135.0872,E,000.0,000.0,280319,003.0,E,A*35 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164536.99,4808.9986,N,01135.0872,E,1,04,01.3,00462.5,M,0046.2,M,,*5D gpsd-3.9/test/daemon/gp-320fw-2019-03-28.log.chk0000664000175000017500000004401012135526332016467 0ustar esresr$GPGLL,4808.9985,N,01135.0867,E,164516.99,A,A*6E {"class":"TPV","tag":"GLL","mode":2,"lat":48.149975000,"lon":11.584778333} $GPRMC,164517.99,A,4808.9985,N,01135.0867,E,000.0,000.0,280319,003.0,E,A*31 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164517.99,4808.9985,N,01135.0867,E,1,04,01.3,00463.0,M,0046.2,M,,*5D $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,13,21,76,138,47,09,47,236,18,04,37,056,*75 $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGLL,4808.9985,N,01135.0867,E,164517.99,A,A*6F {"class":"TPV","tag":"GLL","mode":3,"time":"2019-03-28T16:45:17.990Z","ept":0.005,"lat":48.149975000,"lon":11.584778333,"alt":463.000,"epv":43.700,"track":0.0000,"speed":0.000,"climb":0.000} $GPRMC,164518.99,A,4808.9985,N,01135.0867,E,000.0,000.0,280319,003.0,E,A*3E $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164518.99,4808.9985,N,01135.0867,E,1,04,01.3,00462.9,M,0046.2,M,,*5A $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,12,21,76,138,48,09,47,236,18,04,37,056,*7B $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGLL,4808.9985,N,01135.0867,E,164518.99,A,A*60 {"class":"TPV","tag":"GLL","mode":3,"time":"2019-03-28T16:45:18.990Z","ept":0.005,"lat":48.149975000,"lon":11.584778333,"alt":462.900,"epv":43.700,"track":0.0000,"speed":0.000,"climb":0.000} $GPRMC,164519.99,A,4808.9985,N,01135.0867,E,000.0,000.0,280319,003.0,E,A*3F $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164519.99,4808.9985,N,01135.0867,E,1,04,01.3,00462.9,M,0046.2,M,,*5B $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,13,21,76,138,48,09,47,236,18,04,37,056,*7A $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGSV,3,3,12,05,13,037,47,14,06,303,,01,00,359,,02,00,204,*73 {"class":"SKY","tag":"GSV","xdop":2.75,"ydop":3.93,"vdop":1.90,"tdop":2.82,"hdop":1.30,"gdop":6.54,"pdop":2.30,"satellites":[{"PRN":17,"el":77,"az":41,"ss":13,"used":false},{"PRN":21,"el":76,"az":138,"ss":48,"used":true},{"PRN":9,"el":47,"az":236,"ss":18,"used":false},{"PRN":4,"el":37,"az":56,"ss":0,"used":false},{"PRN":12,"el":32,"az":298,"ss":0,"used":false},{"PRN":6,"el":29,"az":277,"ss":47,"used":true},{"PRN":18,"el":20,"az":143,"ss":47,"used":true},{"PRN":8,"el":15,"az":173,"ss":0,"used":false},{"PRN":5,"el":13,"az":37,"ss":47,"used":true},{"PRN":14,"el":6,"az":303,"ss":0,"used":false},{"PRN":1,"el":0,"az":359,"ss":0,"used":false},{"PRN":2,"el":0,"az":204,"ss":0,"used":false}]} $GPRMC,164520.99,A,4808.9985,N,01135.0868,E,000.0,000.0,280319,003.0,E,A*3A $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164520.99,4808.9985,N,01135.0868,E,1,04,01.3,00462.8,M,0046.2,M,,*5F {"class":"TPV","tag":"GGA","mode":3,"time":"2019-03-28T16:45:20.990Z","ept":0.005,"lat":48.149975000,"lon":11.584780000,"alt":462.800,"epx":41.266,"epy":58.917,"epv":43.700,"track":0.0000,"speed":0.000,"eps":117.83} $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,14,21,76,137,47,09,47,236,18,04,37,056,*7D $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPZDA,164520.99,28,03,2019,,*61 $GPRMC,164521.99,A,4808.9985,N,01135.0868,E,000.0,000.0,280319,003.0,E,A*3B $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164521.99,4808.9985,N,01135.0868,E,1,04,01.3,00462.8,M,0046.2,M,,*5E {"class":"TPV","tag":"GGA","mode":3,"time":"2019-03-28T16:45:21.990Z","ept":0.005,"lat":48.149975000,"lon":11.584780000,"alt":462.800,"epx":41.266,"epy":58.917,"epv":43.700,"track":0.0000,"speed":0.000,"eps":117.83} $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,15,21,76,137,47,09,47,236,18,04,37,056,*7C $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGSV,3,3,12,05,13,037,47,14,06,303,,01,00,359,,02,00,204,*73 {"class":"SKY","tag":"GSV","xdop":2.75,"ydop":3.93,"vdop":1.90,"tdop":2.82,"hdop":1.30,"gdop":6.54,"pdop":2.30,"satellites":[{"PRN":17,"el":77,"az":41,"ss":15,"used":false},{"PRN":21,"el":76,"az":137,"ss":47,"used":true},{"PRN":9,"el":47,"az":236,"ss":18,"used":false},{"PRN":4,"el":37,"az":56,"ss":0,"used":false},{"PRN":12,"el":32,"az":298,"ss":0,"used":false},{"PRN":6,"el":29,"az":277,"ss":47,"used":true},{"PRN":18,"el":20,"az":143,"ss":47,"used":true},{"PRN":8,"el":15,"az":173,"ss":0,"used":false},{"PRN":5,"el":13,"az":37,"ss":47,"used":true},{"PRN":14,"el":6,"az":303,"ss":0,"used":false},{"PRN":1,"el":0,"az":359,"ss":0,"used":false},{"PRN":2,"el":0,"az":204,"ss":0,"used":false}]} $GPRMC,164522.99,A,4808.9985,N,01135.0869,E,000.0,000.0,280319,003.0,E,A*39 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164522.99,4808.9985,N,01135.0869,E,1,04,01.3,00462.8,M,0046.2,M,,*5C {"class":"TPV","tag":"GGA","mode":3,"time":"2019-03-28T16:45:22.990Z","ept":0.005,"lat":48.149975000,"lon":11.584781667,"alt":462.800,"epx":41.266,"epy":58.917,"epv":43.700,"track":0.0000,"speed":0.000,"eps":117.83} $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,16,21,76,137,47,09,47,236,18,04,37,056,*7F $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGLL,4808.9985,N,01135.0869,E,164522.99,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2019-03-28T16:45:22.990Z","ept":0.005,"lat":48.149975000,"lon":11.584781667,"alt":462.800,"epx":41.266,"epy":58.917,"epv":43.700,"track":0.0000,"speed":0.000,"climb":0.000,"eps":117.83} $GPRMC,164523.99,A,4808.9985,N,01135.0869,E,000.0,000.0,280319,003.0,E,A*38 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164523.99,4808.9985,N,01135.0869,E,1,04,01.3,00462.7,M,0046.2,M,,*52 {"class":"TPV","tag":"GGA","mode":3,"time":"2019-03-28T16:45:23.990Z","ept":0.005,"lat":48.149975000,"lon":11.584781667,"alt":462.700,"epx":41.266,"epy":58.917,"epv":43.700,"track":0.0000,"speed":0.000,"eps":117.83} $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,16,21,76,137,47,09,47,236,17,04,37,056,*70 $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGLL,4808.9985,N,01135.0869,E,164523.99,A,A*66 {"class":"TPV","tag":"GLL","mode":3,"time":"2019-03-28T16:45:23.990Z","ept":0.005,"lat":48.149975000,"lon":11.584781667,"alt":462.700,"epx":41.266,"epy":58.917,"epv":43.700,"track":0.0000,"speed":0.000,"climb":0.000,"eps":117.83} $GPRMC,164524.99,A,4808.9985,N,01135.0869,E,000.0,000.0,280319,003.0,E,A*3F $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164524.99,4808.9985,N,01135.0869,E,1,04,01.3,00462.7,M,0046.2,M,,*55 {"class":"TPV","tag":"GGA","mode":3,"time":"2019-03-28T16:45:24.990Z","ept":0.005,"lat":48.149975000,"lon":11.584781667,"alt":462.700,"epx":41.266,"epy":58.917,"epv":43.700,"track":0.0000,"speed":0.000,"eps":117.83} $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,16,21,76,137,47,09,47,236,17,04,37,056,*70 $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGSV,3,3,12,05,13,037,47,14,06,303,,02,00,204,,01,00,359,*73 {"class":"SKY","tag":"GSV","xdop":2.75,"ydop":3.93,"vdop":1.90,"tdop":2.82,"hdop":1.30,"gdop":6.54,"pdop":2.30,"satellites":[{"PRN":17,"el":77,"az":41,"ss":16,"used":false},{"PRN":21,"el":76,"az":137,"ss":47,"used":true},{"PRN":9,"el":47,"az":236,"ss":17,"used":false},{"PRN":4,"el":37,"az":56,"ss":0,"used":false},{"PRN":12,"el":32,"az":298,"ss":0,"used":false},{"PRN":6,"el":29,"az":277,"ss":47,"used":true},{"PRN":18,"el":20,"az":143,"ss":47,"used":true},{"PRN":8,"el":15,"az":173,"ss":0,"used":false},{"PRN":5,"el":13,"az":37,"ss":47,"used":true},{"PRN":14,"el":6,"az":303,"ss":0,"used":false},{"PRN":2,"el":0,"az":204,"ss":0,"used":false},{"PRN":1,"el":0,"az":359,"ss":0,"used":false}]} $GPRMC,164525.99,A,4808.9985,N,01135.0869,E,000.0,000.0,280319,003.0,E,A*3E $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164525.99,4808.9985,N,01135.0869,E,1,04,01.3,00462.7,M,0046.2,M,,*54 {"class":"TPV","tag":"GGA","mode":3,"time":"2019-03-28T16:45:25.990Z","ept":0.005,"lat":48.149975000,"lon":11.584781667,"alt":462.700,"epx":41.266,"epy":58.917,"epv":43.700,"track":0.0000,"speed":0.000,"eps":117.83} $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,15,21,76,137,48,09,47,236,17,04,37,056,*7C $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGLL,4808.9985,N,01135.0869,E,164525.99,A,A*60 {"class":"TPV","tag":"GLL","mode":3,"time":"2019-03-28T16:45:25.990Z","ept":0.005,"lat":48.149975000,"lon":11.584781667,"alt":462.700,"epx":41.266,"epy":58.917,"epv":43.700,"track":0.0000,"speed":0.000,"climb":0.000,"eps":117.83} $GPRMC,164526.99,A,4808.9985,N,01135.0869,E,000.0,000.0,280319,003.0,E,A*3D $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164526.99,4808.9985,N,01135.0869,E,1,04,01.3,00462.7,M,0046.2,M,,*57 {"class":"TPV","tag":"GGA","mode":3,"time":"2019-03-28T16:45:26.990Z","ept":0.005,"lat":48.149975000,"lon":11.584781667,"alt":462.700,"epx":41.266,"epy":58.917,"epv":43.700,"track":0.0000,"speed":0.000,"eps":117.83} $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,15,21,76,137,47,09,47,236,18,04,37,056,*7C $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGLL,4808.9985,N,01135.0869,E,164526.99,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2019-03-28T16:45:26.990Z","ept":0.005,"lat":48.149975000,"lon":11.584781667,"alt":462.700,"epx":41.266,"epy":58.917,"epv":43.700,"track":0.0000,"speed":0.000,"climb":0.000,"eps":117.83} $GPRMC,164527.99,A,4808.9985,N,01135.0869,E,000.0,000.0,280319,003.0,E,A*3C $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164527.99,4808.9985,N,01135.0869,E,1,04,01.3,00462.7,M,0046.2,M,,*56 {"class":"TPV","tag":"GGA","mode":3,"time":"2019-03-28T16:45:27.990Z","ept":0.005,"lat":48.149975000,"lon":11.584781667,"alt":462.700,"epx":41.266,"epy":58.917,"epv":43.700,"track":0.0000,"speed":0.000,"eps":117.83} $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,14,21,76,137,48,09,47,236,17,04,37,056,*7D $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,48,08,15,173,*7E $GPZDA,164527.99,28,03,2019,,*66 $GPRMC,164528.99,A,4808.9985,N,01135.0870,E,000.0,000.0,280319,003.0,E,A*3B $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164528.99,4808.9985,N,01135.0870,E,1,04,01.3,00462.7,M,0046.2,M,,*51 {"class":"TPV","tag":"GGA","mode":3,"time":"2019-03-28T16:45:28.990Z","ept":0.005,"lat":48.149975000,"lon":11.584783333,"alt":462.700,"epx":41.266,"epy":58.917,"epv":43.700,"track":0.0000,"speed":0.000,"eps":117.83} $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,13,21,76,137,47,09,47,236,17,04,37,056,*75 $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGSV,3,3,12,05,13,037,47,14,06,303,,02,00,204,,01,00,359,*73 {"class":"SKY","tag":"GSV","xdop":2.75,"ydop":3.93,"vdop":1.90,"tdop":2.82,"hdop":1.30,"gdop":6.54,"pdop":2.30,"satellites":[{"PRN":17,"el":77,"az":41,"ss":13,"used":false},{"PRN":21,"el":76,"az":137,"ss":47,"used":true},{"PRN":9,"el":47,"az":236,"ss":17,"used":false},{"PRN":4,"el":37,"az":56,"ss":0,"used":false},{"PRN":12,"el":32,"az":298,"ss":0,"used":false},{"PRN":6,"el":29,"az":277,"ss":47,"used":true},{"PRN":18,"el":20,"az":143,"ss":47,"used":true},{"PRN":8,"el":15,"az":173,"ss":0,"used":false},{"PRN":5,"el":13,"az":37,"ss":47,"used":true},{"PRN":14,"el":6,"az":303,"ss":0,"used":false},{"PRN":2,"el":0,"az":204,"ss":0,"used":false},{"PRN":1,"el":0,"az":359,"ss":0,"used":false}]} $GPRMC,164529.99,A,4808.9985,N,01135.0870,E,000.0,000.0,280319,003.0,E,A*3A $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164529.99,4808.9985,N,01135.0870,E,1,04,01.3,00462.6,M,0046.2,M,,*51 {"class":"TPV","tag":"GGA","mode":3,"time":"2019-03-28T16:45:29.990Z","ept":0.005,"lat":48.149975000,"lon":11.584783333,"alt":462.600,"epx":41.266,"epy":58.917,"epv":43.700,"track":0.0000,"speed":0.000,"eps":117.83} $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,13,21,76,137,47,09,47,236,17,04,37,056,*75 $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGLL,4808.9985,N,01135.0870,E,164529.99,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2019-03-28T16:45:29.990Z","ept":0.005,"lat":48.149975000,"lon":11.584783333,"alt":462.600,"epx":41.266,"epy":58.917,"epv":43.700,"track":0.0000,"speed":0.000,"climb":0.000,"eps":117.83} $GPRMC,164530.99,A,4808.9985,N,01135.0870,E,000.0,000.0,280319,003.0,E,A*32 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164530.99,4808.9985,N,01135.0870,E,1,04,01.3,00462.6,M,0046.2,M,,*59 {"class":"TPV","tag":"GGA","mode":3,"time":"2019-03-28T16:45:30.990Z","ept":0.005,"lat":48.149975000,"lon":11.584783333,"alt":462.600,"epx":41.266,"epy":58.917,"epv":43.700,"track":0.0000,"speed":0.000,"eps":117.83} $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,13,21,76,137,47,09,47,236,17,04,37,056,*75 $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGSV,3,3,12,05,13,037,47,14,06,303,,01,00,359,,02,00,204,*73 {"class":"SKY","tag":"GSV","xdop":2.75,"ydop":3.93,"vdop":1.90,"tdop":2.82,"hdop":1.30,"gdop":6.54,"pdop":2.30,"satellites":[{"PRN":17,"el":77,"az":41,"ss":13,"used":false},{"PRN":21,"el":76,"az":137,"ss":47,"used":true},{"PRN":9,"el":47,"az":236,"ss":17,"used":false},{"PRN":4,"el":37,"az":56,"ss":0,"used":false},{"PRN":12,"el":32,"az":298,"ss":0,"used":false},{"PRN":6,"el":29,"az":277,"ss":47,"used":true},{"PRN":18,"el":20,"az":143,"ss":47,"used":true},{"PRN":8,"el":15,"az":173,"ss":0,"used":false},{"PRN":5,"el":13,"az":37,"ss":47,"used":true},{"PRN":14,"el":6,"az":303,"ss":0,"used":false},{"PRN":1,"el":0,"az":359,"ss":0,"used":false},{"PRN":2,"el":0,"az":204,"ss":0,"used":false}]} $GPRMC,164531.99,A,4808.9986,N,01135.0871,E,000.0,000.0,280319,003.0,E,A*31 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164531.99,4808.9986,N,01135.0871,E,1,04,01.3,00462.6,M,0046.2,M,,*5A {"class":"TPV","tag":"GGA","mode":3,"time":"2019-03-28T16:45:31.990Z","ept":0.005,"lat":48.149976667,"lon":11.584785000,"alt":462.600,"epx":41.266,"epy":58.917,"epv":43.700,"track":0.0000,"speed":0.000,"eps":117.83} $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,12,21,76,137,47,09,47,236,17,04,37,056,*74 $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPZDA,164531.99,28,03,2019,,*61 $GPRMC,164532.99,A,4808.9986,N,01135.0871,E,000.0,000.0,280319,003.0,E,A*32 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164532.99,4808.9986,N,01135.0871,E,1,04,01.3,00462.6,M,0046.2,M,,*59 {"class":"TPV","tag":"GGA","mode":3,"time":"2019-03-28T16:45:32.990Z","ept":0.005,"lat":48.149976667,"lon":11.584785000,"alt":462.600,"epx":41.266,"epy":58.917,"epv":43.700,"track":0.0000,"speed":0.000,"eps":117.83} $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,01.9*00 $GPGSV,3,1,12,17,77,041,12,21,76,137,47,09,47,236,17,04,37,056,*74 $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGLL,4808.9986,N,01135.0871,E,164532.99,A,A*6C {"class":"TPV","tag":"GLL","mode":3,"time":"2019-03-28T16:45:32.990Z","ept":0.005,"lat":48.149976667,"lon":11.584785000,"alt":462.600,"epx":41.266,"epy":58.917,"epv":43.700,"track":0.0000,"speed":0.000,"climb":0.000,"eps":117.83} $GPRMC,164533.99,A,4808.9986,N,01135.0871,E,000.0,000.0,280319,003.0,E,A*33 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164533.99,4808.9986,N,01135.0871,E,1,04,01.3,00462.5,M,0046.2,M,,*5B {"class":"TPV","tag":"GGA","mode":3,"time":"2019-03-28T16:45:33.990Z","ept":0.005,"lat":48.149976667,"lon":11.584785000,"alt":462.500,"epx":41.266,"epy":58.917,"epv":43.700,"track":0.0000,"speed":0.000,"eps":117.83} $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,02.0*0A $GPGSV,3,1,12,17,77,041,13,21,76,137,47,09,47,236,17,04,37,056,*75 $GPGSV,3,2,12,12,32,298,,06,29,277,47,18,20,143,47,08,15,173,*71 $GPGLL,4808.9986,N,01135.0871,E,164533.99,A,A*6D {"class":"TPV","tag":"GLL","mode":3,"time":"2019-03-28T16:45:33.990Z","ept":0.005,"lat":48.149976667,"lon":11.584785000,"alt":462.500,"epx":41.266,"epy":58.917,"epv":43.700,"track":0.0000,"speed":0.000,"climb":0.000,"eps":117.83} $GPRMC,164534.99,A,4808.9986,N,01135.0871,E,000.0,000.0,280319,003.0,E,A*34 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164534.99,4808.9986,N,01135.0871,E,1,04,01.3,00462.5,M,0046.2,M,,*5C {"class":"TPV","tag":"GGA","mode":3,"time":"2019-03-28T16:45:34.990Z","ept":0.005,"lat":48.149976667,"lon":11.584785000,"alt":462.500,"epx":41.266,"epy":58.917,"epv":46.000,"track":0.0000,"speed":0.000,"eps":117.83} $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,02.0*0A $GPGSV,3,1,12,17,77,041,13,21,76,137,47,09,47,236,17,04,37,056,*75 $GPGSV,3,2,12,12,32,298,,06,29,277,48,18,20,143,48,08,15,173,*71 $GPZDA,164534.99,28,03,2019,,*64 $GPRMC,164535.99,A,4808.9986,N,01135.0872,E,000.0,000.0,280319,003.0,E,A*36 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164535.99,4808.9986,N,01135.0872,E,1,04,01.3,00462.5,M,0046.2,M,,*5E {"class":"TPV","tag":"GGA","mode":3,"time":"2019-03-28T16:45:35.990Z","ept":0.005,"lat":48.149976667,"lon":11.584786667,"alt":462.500,"epx":41.266,"epy":58.917,"epv":46.000,"track":0.0000,"speed":0.000,"eps":117.83} $GPGSA,A,3,,21,,,,06,18,,05,,,,02.3,01.3,02.0*0A $GPGSV,3,1,12,17,77,041,12,21,76,137,47,09,47,236,17,04,37,056,*74 $GPGSV,3,2,12,12,32,298,,06,29,277,48,18,20,143,48,08,15,173,*71 $GPGSV,3,3,12,05,13,037,47,14,06,303,,01,00,359,,02,00,204,*73 {"class":"SKY","tag":"GSV","xdop":2.75,"ydop":3.93,"vdop":2.00,"tdop":2.82,"hdop":1.30,"gdop":6.54,"pdop":2.30,"satellites":[{"PRN":17,"el":77,"az":41,"ss":12,"used":false},{"PRN":21,"el":76,"az":137,"ss":47,"used":true},{"PRN":9,"el":47,"az":236,"ss":17,"used":false},{"PRN":4,"el":37,"az":56,"ss":0,"used":false},{"PRN":12,"el":32,"az":298,"ss":0,"used":false},{"PRN":6,"el":29,"az":277,"ss":48,"used":true},{"PRN":18,"el":20,"az":143,"ss":48,"used":true},{"PRN":8,"el":15,"az":173,"ss":0,"used":false},{"PRN":5,"el":13,"az":37,"ss":47,"used":true},{"PRN":14,"el":6,"az":303,"ss":0,"used":false},{"PRN":1,"el":0,"az":359,"ss":0,"used":false},{"PRN":2,"el":0,"az":204,"ss":0,"used":false}]} $GPRMC,164536.99,A,4808.9986,N,01135.0872,E,000.0,000.0,280319,003.0,E,A*35 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,164536.99,4808.9986,N,01135.0872,E,1,04,01.3,00462.5,M,0046.2,M,,*5D {"class":"TPV","tag":"GGA","mode":3,"time":"2019-03-28T16:45:36.990Z","ept":0.005,"lat":48.149976667,"lon":11.584786667,"alt":462.500,"epx":41.266,"epy":58.917,"epv":46.000,"track":0.0000,"speed":0.000,"eps":117.83} gpsd-3.9/test/daemon/gp-320fw-2019-04-06-overflow.log0000664000175000017500000002200311762140437017562 0ustar esresr# Name: GPS-320FW # Chipset: SE4100L + PL-6313 # Description: OEM module from RF Solutions, Inc # Submitter: f4eru # Date: 2010-10-16 # Notes: This is the chip in normal operation after warm boot, but # with a sat simulator spoofing it into thinking it is # 2019-06-04, just after a 10-bit GPS week wraparound. # Because the receiver has not been restarted, it displays # a correct time. # $GPGSV,3,2,12,31,27,063,40,13,26,209,40,07,25,309,,04,17,308,40*73 $GPGLL,4808.9977,N,01135.0800,E,235723.02,A,A*63 $GPRMC,235724.02,A,4808.9978,N,01135.0800,E,000.0,000.0,060419,003.0,E,A*3E $GPVTG,000.0,T,357.0,M,000.0,N,0000.1,K,A*13 $GPGGA,235724.02,4808.9978,N,01135.0800,E,1,04,01.4,00464.4,M,0046.2,M,,*5D $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.1*06 $GPGSV,3,1,12,20,78,050,41,11,72,261,,06,41,278,,14,38,185,*79 $GPGSV,3,2,12,31,27,063,41,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGLL,4808.9978,N,01135.0800,E,235724.02,A,A*6B $GPRMC,235725.02,A,4808.9977,N,01135.0800,E,000.0,000.0,060419,003.0,E,A*30 $GPVTG,000.0,T,357.0,M,000.0,N,0000.1,K,A*13 $GPGGA,235725.02,4808.9977,N,01135.0800,E,1,04,01.4,00464.5,M,0046.2,M,,*52 $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.1*06 $GPGSV,3,1,12,20,78,050,41,11,72,261,,06,41,278,,14,38,185,*79 $GPGSV,3,2,12,31,27,063,40,13,26,209,40,07,25,309,,04,17,308,40*73 $GPGLL,4808.9977,N,01135.0800,E,235725.02,A,A*65 $GPRMC,235726.02,A,4808.9978,N,01135.0800,E,000.0,000.0,060419,003.0,E,A*3C $GPVTG,000.0,T,357.0,M,000.0,N,0000.1,K,A*13 $GPGGA,235726.02,4808.9978,N,01135.0800,E,1,04,01.4,00464.5,M,0046.2,M,,*5E $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.1*06 $GPGSV,3,1,12,20,78,050,41,11,72,261,,06,41,278,,14,38,185,*79 $GPGSV,3,2,12,31,27,063,40,13,26,209,40,07,25,309,,04,17,308,40*73 $GPGSV,3,3,12,09,16,099,,03,14,190,,08,10,039,,10,02,065,*79 $GPRMC,235727.02,A,4808.9978,N,01135.0800,E,000.0,000.0,060419,003.0,E,A*3D $GPVTG,000.0,T,357.0,M,000.0,N,0000.1,K,A*13 $GPGGA,235727.02,4808.9978,N,01135.0800,E,1,04,01.4,00464.5,M,0046.2,M,,*5F $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.1*06 $GPGSV,3,1,12,20,78,050,41,11,72,261,,06,41,278,,14,38,185,*79 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPZDA,235727.02,06,04,2019,,*6A $GPRMC,235728.02,A,4808.9978,N,01135.0800,E,000.0,000.0,060419,003.0,E,A*32 $GPVTG,000.0,T,357.0,M,000.0,N,0000.1,K,A*13 $GPGGA,235728.02,4808.9978,N,01135.0800,E,1,04,01.4,00464.4,M,0046.2,M,,*51 $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,41,11,72,261,,06,41,278,,14,38,185,*79 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGLL,4808.9978,N,01135.0800,E,235728.02,A,A*67 $GPRMC,235729.02,A,4808.9978,N,01135.0800,E,000.1,000.0,060419,003.0,E,A*32 $GPVTG,000.0,T,357.0,M,000.1,N,0000.1,K,A*12 $GPGGA,235729.02,4808.9978,N,01135.0800,E,1,04,01.4,00464.5,M,0046.2,M,,*51 $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,278,,14,38,185,*78 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGLL,4808.9978,N,01135.0800,E,235729.02,A,A*66 $GPRMC,235730.02,A,4808.9978,N,01135.0800,E,000.1,000.0,060419,003.0,E,A*3A $GPVTG,000.0,T,357.0,M,000.1,N,0000.1,K,A*12 $GPGGA,235730.02,4808.9978,N,01135.0800,E,1,04,01.4,00464.4,M,0046.2,M,,*58 $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,278,,14,38,185,*78 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGLL,4808.9978,N,01135.0800,E,235730.02,A,A*6E $GPRMC,235731.02,A,4808.9978,N,01135.0801,E,000.1,000.0,060419,003.0,E,A*3A $GPVTG,000.0,T,357.0,M,000.1,N,0000.1,K,A*12 $GPGGA,235731.02,4808.9978,N,01135.0801,E,1,04,01.4,00464.5,M,0046.2,M,,*59 $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,278,,14,38,185,*78 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGSV,3,3,12,09,16,099,,03,14,190,,08,10,039,,10,02,065,*79 $GPRMC,235732.02,A,4808.9978,N,01135.0801,E,000.0,000.0,060419,003.0,E,A*38 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,235732.02,4808.9978,N,01135.0801,E,1,04,01.4,00464.5,M,0046.2,M,,*5A $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,278,,14,38,185,*78 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGLL,4808.9978,N,01135.0801,E,235732.02,A,A*6D $GPRMC,235733.02,A,4808.9978,N,01135.0801,E,000.0,000.0,060419,003.0,E,A*39 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,235733.02,4808.9978,N,01135.0801,E,1,04,01.4,00464.5,M,0046.2,M,,*5B $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,278,,14,38,185,*78 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGLL,4808.9978,N,01135.0801,E,235733.02,A,A*6C $GPRMC,235734.02,A,4808.9978,N,01135.0801,E,000.0,000.0,060419,003.0,E,A*3E $GPVTG,000.0,T,357.0,M,000.0,N,0000.1,K,A*13 $GPGGA,235734.02,4808.9978,N,01135.0801,E,1,04,01.4,00464.5,M,0046.2,M,,*5C $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,278,,14,38,185,*78 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGSV,3,3,12,09,16,099,,03,14,190,,08,10,039,,10,02,065,*79 $GPRMC,235735.02,A,4808.9978,N,01135.0801,E,000.0,000.0,060419,003.0,E,A*3F $GPVTG,000.0,T,357.0,M,000.0,N,0000.1,K,A*13 $GPGGA,235735.02,4808.9978,N,01135.0801,E,1,04,01.4,00464.4,M,0046.2,M,,*5C $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,278,,14,38,185,*78 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGSV,3,3,12,09,16,099,,03,14,190,,08,10,039,,10,02,065,*79 $GPRMC,235736.02,A,4808.9979,N,01135.0801,E,000.0,000.0,060419,003.0,E,A*3D $GPVTG,000.0,T,357.0,M,000.0,N,0000.1,K,A*13 $GPGGA,235736.02,4808.9979,N,01135.0801,E,1,04,01.4,00464.4,M,0046.2,M,,*5E $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,278,,14,38,185,*78 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGSV,3,3,12,09,16,099,,03,14,190,,08,10,039,,10,02,065,*79 $GPRMC,235737.02,A,4808.9979,N,01135.0801,E,000.0,000.0,060419,003.0,E,A*3C $GPVTG,000.0,T,357.0,M,000.0,N,0000.1,K,A*13 $GPGGA,235737.02,4808.9979,N,01135.0801,E,1,04,01.4,00464.4,M,0046.2,M,,*5F $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,278,,14,38,185,*78 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPZDA,235737.02,06,04,2019,,*6B $GPRMC,235738.02,A,4808.9979,N,01135.0801,E,000.1,000.0,060419,003.0,E,A*32 $GPVTG,000.0,T,357.0,M,000.1,N,0000.1,K,A*12 $GPGGA,235738.02,4808.9979,N,01135.0801,E,1,04,01.4,00464.5,M,0046.2,M,,*51 $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,278,,14,38,185,*78 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGSV,3,3,12,09,16,099,,03,14,190,,08,10,039,,10,02,065,*79 $GPRMC,235739.02,A,4808.9979,N,01135.0800,E,000.1,000.0,060419,003.0,E,A*32 $GPVTG,000.0,T,357.0,M,000.1,N,0000.1,K,A*12 $GPGGA,235739.02,4808.9979,N,01135.0800,E,1,04,01.4,00464.4,M,0046.2,M,,*50 $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,277,,14,38,185,*77 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGSV,3,3,12,09,16,099,,03,14,190,,08,10,039,,10,02,065,*79 $GPRMC,235740.02,A,4808.9979,N,01135.0800,E,000.1,000.0,060419,003.0,E,A*3C $GPVTG,000.0,T,357.0,M,000.1,N,0000.1,K,A*12 $GPGGA,235740.02,4808.9979,N,01135.0800,E,1,04,01.4,00464.4,M,0046.2,M,,*5E $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,277,,14,38,185,*77 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,308,,04,17,308,40*73 $GPGSV,3,3,12,09,16,099,,03,14,190,,08,10,039,,10,02,065,*79 $GPRMC,235741.02,A,4808.9979,N,01135.0800,E,000.1,000.0,060419,003.0,E,A*3D $GPVTG,000.0,T,357.0,M,000.1,N,0000.2,K,A*11 $GPGGA,235741.02,4808.9979,N,01135.0800,E,1,04,01.4,00464.4,M,0046.2,M,,*5F $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,277,,14,38,185,*77 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,308,,04,17,308,40*73 $GPGLL,4808.9979,N,01135.0800,E,235741.02,A,A*69 $GPRMC,235742.02,A,4808.9979,N,01135.0800,E,000.1,000.0,060419,003.0,E,A*3E $GPVTG,000.0,T,357.0,M,000.1,N,0000.2,K,A*11 $GPGGA,235742.02,4808.9979,N,01135.0800,E,1,04,01.4,00464.4,M,0046.2,M,,*5C $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,277,,14,38,185,*77 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,308,,04,17,308,40*73 $GPGSV,3,3,12,09,16,099,,03,14,190,,08,10,039,,10,02,065,*79 $GPRMC,235743.02,A,4808.9979,N,01135.0800,E,000.1,000.0,060419,003.0,E,A*3F $GPVTG,000.0,T,357.0,M,000.1,N,0000.2,K,A*11 $GPGGA,235743.02,4808.9979,N,01135.0800,E,1,04,01.4,00464.4,M,0046.2,M,,*5D $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,277,,14,38,185,*77 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,308,,04,17,308,40*73 gpsd-3.9/test/daemon/gp-320fw-2019-04-06-overflow.log.chk0000664000175000017500000005005412135526333020333 0ustar esresr$GPGSV,3,2,12,31,27,063,40,13,26,209,40,07,25,309,,04,17,308,40*73 $GPGLL,4808.9977,N,01135.0800,E,235723.02,A,A*63 {"class":"TPV","tag":"GLL","mode":2,"lat":48.149961667,"lon":11.584666667} $GPRMC,235724.02,A,4808.9978,N,01135.0800,E,000.0,000.0,060419,003.0,E,A*3E $GPVTG,000.0,T,357.0,M,000.0,N,0000.1,K,A*13 $GPGGA,235724.02,4808.9978,N,01135.0800,E,1,04,01.4,00464.4,M,0046.2,M,,*5D $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.1*06 $GPGSV,3,1,12,20,78,050,41,11,72,261,,06,41,278,,14,38,185,*79 $GPGSV,3,2,12,31,27,063,41,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGLL,4808.9978,N,01135.0800,E,235724.02,A,A*6B {"class":"TPV","tag":"GLL","mode":3,"time":"2019-04-06T23:57:24.020Z","ept":0.005,"lat":48.149963333,"lon":11.584666667,"alt":464.400,"epv":48.300,"track":0.0000,"speed":0.000,"climb":0.000} $GPRMC,235725.02,A,4808.9977,N,01135.0800,E,000.0,000.0,060419,003.0,E,A*30 $GPVTG,000.0,T,357.0,M,000.0,N,0000.1,K,A*13 $GPGGA,235725.02,4808.9977,N,01135.0800,E,1,04,01.4,00464.5,M,0046.2,M,,*52 $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.1*06 $GPGSV,3,1,12,20,78,050,41,11,72,261,,06,41,278,,14,38,185,*79 $GPGSV,3,2,12,31,27,063,40,13,26,209,40,07,25,309,,04,17,308,40*73 $GPGLL,4808.9977,N,01135.0800,E,235725.02,A,A*65 {"class":"TPV","tag":"GLL","mode":3,"time":"2019-04-06T23:57:25.020Z","ept":0.005,"lat":48.149961667,"lon":11.584666667,"alt":464.500,"epv":48.300,"track":0.0000,"speed":0.000,"climb":0.000} $GPRMC,235726.02,A,4808.9978,N,01135.0800,E,000.0,000.0,060419,003.0,E,A*3C $GPVTG,000.0,T,357.0,M,000.0,N,0000.1,K,A*13 $GPGGA,235726.02,4808.9978,N,01135.0800,E,1,04,01.4,00464.5,M,0046.2,M,,*5E $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.1*06 $GPGSV,3,1,12,20,78,050,41,11,72,261,,06,41,278,,14,38,185,*79 $GPGSV,3,2,12,31,27,063,40,13,26,209,40,07,25,309,,04,17,308,40*73 $GPGSV,3,3,12,09,16,099,,03,14,190,,08,10,039,,10,02,065,*79 {"class":"SKY","tag":"GSV","xdop":2.54,"ydop":2.51,"vdop":2.10,"tdop":5.78,"hdop":1.40,"gdop":9.19,"pdop":2.60,"satellites":[{"PRN":20,"el":78,"az":50,"ss":41,"used":true},{"PRN":11,"el":72,"az":261,"ss":0,"used":false},{"PRN":6,"el":41,"az":278,"ss":0,"used":false},{"PRN":14,"el":38,"az":185,"ss":0,"used":false},{"PRN":31,"el":27,"az":63,"ss":40,"used":true},{"PRN":13,"el":26,"az":209,"ss":40,"used":true},{"PRN":7,"el":25,"az":309,"ss":0,"used":false},{"PRN":4,"el":17,"az":308,"ss":40,"used":true},{"PRN":9,"el":16,"az":99,"ss":0,"used":false},{"PRN":3,"el":14,"az":190,"ss":0,"used":false},{"PRN":8,"el":10,"az":39,"ss":0,"used":false},{"PRN":10,"el":2,"az":65,"ss":0,"used":false}]} $GPRMC,235727.02,A,4808.9978,N,01135.0800,E,000.0,000.0,060419,003.0,E,A*3D $GPVTG,000.0,T,357.0,M,000.0,N,0000.1,K,A*13 $GPGGA,235727.02,4808.9978,N,01135.0800,E,1,04,01.4,00464.5,M,0046.2,M,,*5F {"class":"TPV","tag":"GGA","mode":3,"time":"2019-04-06T23:57:27.020Z","ept":0.005,"lat":48.149963333,"lon":11.584666667,"alt":464.500,"epx":38.149,"epy":37.648,"epv":48.300,"track":0.0000,"speed":0.000,"eps":76.30} $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.1*06 $GPGSV,3,1,12,20,78,050,41,11,72,261,,06,41,278,,14,38,185,*79 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPZDA,235727.02,06,04,2019,,*6A $GPRMC,235728.02,A,4808.9978,N,01135.0800,E,000.0,000.0,060419,003.0,E,A*32 $GPVTG,000.0,T,357.0,M,000.0,N,0000.1,K,A*13 $GPGGA,235728.02,4808.9978,N,01135.0800,E,1,04,01.4,00464.4,M,0046.2,M,,*51 {"class":"TPV","tag":"GGA","mode":3,"time":"2019-04-06T23:57:28.020Z","ept":0.005,"lat":48.149963333,"lon":11.584666667,"alt":464.400,"epx":38.149,"epy":37.648,"epv":48.300,"track":0.0000,"speed":0.000,"eps":76.30} $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,41,11,72,261,,06,41,278,,14,38,185,*79 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGLL,4808.9978,N,01135.0800,E,235728.02,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2019-04-06T23:57:28.020Z","ept":0.005,"lat":48.149963333,"lon":11.584666667,"alt":464.400,"epx":38.149,"epy":37.648,"epv":48.300,"track":0.0000,"speed":0.000,"climb":0.000,"eps":76.30} $GPRMC,235729.02,A,4808.9978,N,01135.0800,E,000.1,000.0,060419,003.0,E,A*32 $GPVTG,000.0,T,357.0,M,000.1,N,0000.1,K,A*12 $GPGGA,235729.02,4808.9978,N,01135.0800,E,1,04,01.4,00464.5,M,0046.2,M,,*51 {"class":"TPV","tag":"GGA","mode":3,"time":"2019-04-06T23:57:29.020Z","ept":0.005,"lat":48.149963333,"lon":11.584666667,"alt":464.500,"epx":38.149,"epy":37.648,"epv":50.600,"track":0.0000,"speed":0.051,"eps":76.30} $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,278,,14,38,185,*78 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGLL,4808.9978,N,01135.0800,E,235729.02,A,A*66 {"class":"TPV","tag":"GLL","mode":3,"time":"2019-04-06T23:57:29.020Z","ept":0.005,"lat":48.149963333,"lon":11.584666667,"alt":464.500,"epx":38.149,"epy":37.648,"epv":50.600,"track":0.0000,"speed":0.051,"climb":0.000,"eps":76.30} $GPRMC,235730.02,A,4808.9978,N,01135.0800,E,000.1,000.0,060419,003.0,E,A*3A $GPVTG,000.0,T,357.0,M,000.1,N,0000.1,K,A*12 $GPGGA,235730.02,4808.9978,N,01135.0800,E,1,04,01.4,00464.4,M,0046.2,M,,*58 {"class":"TPV","tag":"GGA","mode":3,"time":"2019-04-06T23:57:30.020Z","ept":0.005,"lat":48.149963333,"lon":11.584666667,"alt":464.400,"epx":38.149,"epy":37.648,"epv":50.600,"track":0.0000,"speed":0.051,"eps":76.30} $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,278,,14,38,185,*78 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGLL,4808.9978,N,01135.0800,E,235730.02,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2019-04-06T23:57:30.020Z","ept":0.005,"lat":48.149963333,"lon":11.584666667,"alt":464.400,"epx":38.149,"epy":37.648,"epv":50.600,"track":0.0000,"speed":0.051,"climb":0.000,"eps":76.30} $GPRMC,235731.02,A,4808.9978,N,01135.0801,E,000.1,000.0,060419,003.0,E,A*3A $GPVTG,000.0,T,357.0,M,000.1,N,0000.1,K,A*12 $GPGGA,235731.02,4808.9978,N,01135.0801,E,1,04,01.4,00464.5,M,0046.2,M,,*59 {"class":"TPV","tag":"GGA","mode":3,"time":"2019-04-06T23:57:31.020Z","ept":0.005,"lat":48.149963333,"lon":11.584668333,"alt":464.500,"epx":38.149,"epy":37.648,"epv":50.600,"track":0.0000,"speed":0.051,"eps":76.30} $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,278,,14,38,185,*78 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGSV,3,3,12,09,16,099,,03,14,190,,08,10,039,,10,02,065,*79 {"class":"SKY","tag":"GSV","xdop":2.54,"ydop":2.51,"vdop":2.20,"tdop":5.78,"hdop":1.40,"gdop":9.19,"pdop":2.60,"satellites":[{"PRN":20,"el":78,"az":50,"ss":40,"used":true},{"PRN":11,"el":72,"az":261,"ss":0,"used":false},{"PRN":6,"el":41,"az":278,"ss":0,"used":false},{"PRN":14,"el":38,"az":185,"ss":0,"used":false},{"PRN":31,"el":27,"az":62,"ss":40,"used":true},{"PRN":13,"el":26,"az":209,"ss":40,"used":true},{"PRN":7,"el":25,"az":309,"ss":0,"used":false},{"PRN":4,"el":17,"az":308,"ss":40,"used":true},{"PRN":9,"el":16,"az":99,"ss":0,"used":false},{"PRN":3,"el":14,"az":190,"ss":0,"used":false},{"PRN":8,"el":10,"az":39,"ss":0,"used":false},{"PRN":10,"el":2,"az":65,"ss":0,"used":false}]} $GPRMC,235732.02,A,4808.9978,N,01135.0801,E,000.0,000.0,060419,003.0,E,A*38 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,235732.02,4808.9978,N,01135.0801,E,1,04,01.4,00464.5,M,0046.2,M,,*5A {"class":"TPV","tag":"GGA","mode":3,"time":"2019-04-06T23:57:32.020Z","ept":0.005,"lat":48.149963333,"lon":11.584668333,"alt":464.500,"epx":38.149,"epy":37.648,"epv":50.600,"track":0.0000,"speed":0.000,"eps":76.30} $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,278,,14,38,185,*78 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGLL,4808.9978,N,01135.0801,E,235732.02,A,A*6D {"class":"TPV","tag":"GLL","mode":3,"time":"2019-04-06T23:57:32.020Z","ept":0.005,"lat":48.149963333,"lon":11.584668333,"alt":464.500,"epx":38.149,"epy":37.648,"epv":50.600,"track":0.0000,"speed":0.000,"climb":0.000,"eps":76.30} $GPRMC,235733.02,A,4808.9978,N,01135.0801,E,000.0,000.0,060419,003.0,E,A*39 $GPVTG,000.0,T,357.0,M,000.0,N,0000.0,K,A*12 $GPGGA,235733.02,4808.9978,N,01135.0801,E,1,04,01.4,00464.5,M,0046.2,M,,*5B {"class":"TPV","tag":"GGA","mode":3,"time":"2019-04-06T23:57:33.020Z","ept":0.005,"lat":48.149963333,"lon":11.584668333,"alt":464.500,"epx":38.149,"epy":37.648,"epv":50.600,"track":0.0000,"speed":0.000,"eps":76.30} $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,278,,14,38,185,*78 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGLL,4808.9978,N,01135.0801,E,235733.02,A,A*6C {"class":"TPV","tag":"GLL","mode":3,"time":"2019-04-06T23:57:33.020Z","ept":0.005,"lat":48.149963333,"lon":11.584668333,"alt":464.500,"epx":38.149,"epy":37.648,"epv":50.600,"track":0.0000,"speed":0.000,"climb":0.000,"eps":76.30} $GPRMC,235734.02,A,4808.9978,N,01135.0801,E,000.0,000.0,060419,003.0,E,A*3E $GPVTG,000.0,T,357.0,M,000.0,N,0000.1,K,A*13 $GPGGA,235734.02,4808.9978,N,01135.0801,E,1,04,01.4,00464.5,M,0046.2,M,,*5C {"class":"TPV","tag":"GGA","mode":3,"time":"2019-04-06T23:57:34.020Z","ept":0.005,"lat":48.149963333,"lon":11.584668333,"alt":464.500,"epx":38.149,"epy":37.648,"epv":50.600,"track":0.0000,"speed":0.000,"eps":76.30} $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,278,,14,38,185,*78 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGSV,3,3,12,09,16,099,,03,14,190,,08,10,039,,10,02,065,*79 {"class":"SKY","tag":"GSV","xdop":2.54,"ydop":2.51,"vdop":2.20,"tdop":5.78,"hdop":1.40,"gdop":9.19,"pdop":2.60,"satellites":[{"PRN":20,"el":78,"az":50,"ss":40,"used":true},{"PRN":11,"el":72,"az":261,"ss":0,"used":false},{"PRN":6,"el":41,"az":278,"ss":0,"used":false},{"PRN":14,"el":38,"az":185,"ss":0,"used":false},{"PRN":31,"el":27,"az":62,"ss":40,"used":true},{"PRN":13,"el":26,"az":209,"ss":40,"used":true},{"PRN":7,"el":25,"az":309,"ss":0,"used":false},{"PRN":4,"el":17,"az":308,"ss":40,"used":true},{"PRN":9,"el":16,"az":99,"ss":0,"used":false},{"PRN":3,"el":14,"az":190,"ss":0,"used":false},{"PRN":8,"el":10,"az":39,"ss":0,"used":false},{"PRN":10,"el":2,"az":65,"ss":0,"used":false}]} $GPRMC,235735.02,A,4808.9978,N,01135.0801,E,000.0,000.0,060419,003.0,E,A*3F $GPVTG,000.0,T,357.0,M,000.0,N,0000.1,K,A*13 $GPGGA,235735.02,4808.9978,N,01135.0801,E,1,04,01.4,00464.4,M,0046.2,M,,*5C {"class":"TPV","tag":"GGA","mode":3,"time":"2019-04-06T23:57:35.020Z","ept":0.005,"lat":48.149963333,"lon":11.584668333,"alt":464.400,"epx":38.149,"epy":37.648,"epv":50.600,"track":0.0000,"speed":0.000,"eps":76.30} $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,278,,14,38,185,*78 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGSV,3,3,12,09,16,099,,03,14,190,,08,10,039,,10,02,065,*79 {"class":"SKY","tag":"GSV","xdop":2.54,"ydop":2.51,"vdop":2.20,"tdop":5.78,"hdop":1.40,"gdop":9.19,"pdop":2.60,"satellites":[{"PRN":20,"el":78,"az":50,"ss":40,"used":true},{"PRN":11,"el":72,"az":261,"ss":0,"used":false},{"PRN":6,"el":41,"az":278,"ss":0,"used":false},{"PRN":14,"el":38,"az":185,"ss":0,"used":false},{"PRN":31,"el":27,"az":62,"ss":40,"used":true},{"PRN":13,"el":26,"az":209,"ss":40,"used":true},{"PRN":7,"el":25,"az":309,"ss":0,"used":false},{"PRN":4,"el":17,"az":308,"ss":40,"used":true},{"PRN":9,"el":16,"az":99,"ss":0,"used":false},{"PRN":3,"el":14,"az":190,"ss":0,"used":false},{"PRN":8,"el":10,"az":39,"ss":0,"used":false},{"PRN":10,"el":2,"az":65,"ss":0,"used":false}]} $GPRMC,235736.02,A,4808.9979,N,01135.0801,E,000.0,000.0,060419,003.0,E,A*3D $GPVTG,000.0,T,357.0,M,000.0,N,0000.1,K,A*13 $GPGGA,235736.02,4808.9979,N,01135.0801,E,1,04,01.4,00464.4,M,0046.2,M,,*5E {"class":"TPV","tag":"GGA","mode":3,"time":"2019-04-06T23:57:36.020Z","ept":0.005,"lat":48.149965000,"lon":11.584668333,"alt":464.400,"epx":38.149,"epy":37.648,"epv":50.600,"track":0.0000,"speed":0.000,"eps":76.30} $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,278,,14,38,185,*78 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGSV,3,3,12,09,16,099,,03,14,190,,08,10,039,,10,02,065,*79 {"class":"SKY","tag":"GSV","xdop":2.54,"ydop":2.51,"vdop":2.20,"tdop":5.78,"hdop":1.40,"gdop":9.19,"pdop":2.60,"satellites":[{"PRN":20,"el":78,"az":50,"ss":40,"used":true},{"PRN":11,"el":72,"az":261,"ss":0,"used":false},{"PRN":6,"el":41,"az":278,"ss":0,"used":false},{"PRN":14,"el":38,"az":185,"ss":0,"used":false},{"PRN":31,"el":27,"az":62,"ss":40,"used":true},{"PRN":13,"el":26,"az":209,"ss":40,"used":true},{"PRN":7,"el":25,"az":309,"ss":0,"used":false},{"PRN":4,"el":17,"az":308,"ss":40,"used":true},{"PRN":9,"el":16,"az":99,"ss":0,"used":false},{"PRN":3,"el":14,"az":190,"ss":0,"used":false},{"PRN":8,"el":10,"az":39,"ss":0,"used":false},{"PRN":10,"el":2,"az":65,"ss":0,"used":false}]} $GPRMC,235737.02,A,4808.9979,N,01135.0801,E,000.0,000.0,060419,003.0,E,A*3C $GPVTG,000.0,T,357.0,M,000.0,N,0000.1,K,A*13 $GPGGA,235737.02,4808.9979,N,01135.0801,E,1,04,01.4,00464.4,M,0046.2,M,,*5F {"class":"TPV","tag":"GGA","mode":3,"time":"2019-04-06T23:57:37.020Z","ept":0.005,"lat":48.149965000,"lon":11.584668333,"alt":464.400,"epx":38.149,"epy":37.648,"epv":50.600,"track":0.0000,"speed":0.000,"eps":76.30} $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,278,,14,38,185,*78 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPZDA,235737.02,06,04,2019,,*6B $GPRMC,235738.02,A,4808.9979,N,01135.0801,E,000.1,000.0,060419,003.0,E,A*32 $GPVTG,000.0,T,357.0,M,000.1,N,0000.1,K,A*12 $GPGGA,235738.02,4808.9979,N,01135.0801,E,1,04,01.4,00464.5,M,0046.2,M,,*51 {"class":"TPV","tag":"GGA","mode":3,"time":"2019-04-06T23:57:38.020Z","ept":0.005,"lat":48.149965000,"lon":11.584668333,"alt":464.500,"epx":38.149,"epy":37.648,"epv":50.600,"track":0.0000,"speed":0.051,"eps":76.30} $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,278,,14,38,185,*78 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGSV,3,3,12,09,16,099,,03,14,190,,08,10,039,,10,02,065,*79 {"class":"SKY","tag":"GSV","xdop":2.54,"ydop":2.51,"vdop":2.20,"tdop":5.78,"hdop":1.40,"gdop":9.19,"pdop":2.60,"satellites":[{"PRN":20,"el":78,"az":50,"ss":40,"used":true},{"PRN":11,"el":72,"az":261,"ss":0,"used":false},{"PRN":6,"el":41,"az":278,"ss":0,"used":false},{"PRN":14,"el":38,"az":185,"ss":0,"used":false},{"PRN":31,"el":27,"az":62,"ss":40,"used":true},{"PRN":13,"el":26,"az":209,"ss":40,"used":true},{"PRN":7,"el":25,"az":309,"ss":0,"used":false},{"PRN":4,"el":17,"az":308,"ss":40,"used":true},{"PRN":9,"el":16,"az":99,"ss":0,"used":false},{"PRN":3,"el":14,"az":190,"ss":0,"used":false},{"PRN":8,"el":10,"az":39,"ss":0,"used":false},{"PRN":10,"el":2,"az":65,"ss":0,"used":false}]} $GPRMC,235739.02,A,4808.9979,N,01135.0800,E,000.1,000.0,060419,003.0,E,A*32 $GPVTG,000.0,T,357.0,M,000.1,N,0000.1,K,A*12 $GPGGA,235739.02,4808.9979,N,01135.0800,E,1,04,01.4,00464.4,M,0046.2,M,,*50 {"class":"TPV","tag":"GGA","mode":3,"time":"2019-04-06T23:57:39.020Z","ept":0.005,"lat":48.149965000,"lon":11.584666667,"alt":464.400,"epx":38.149,"epy":37.648,"epv":50.600,"track":0.0000,"speed":0.051,"eps":76.30} $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,277,,14,38,185,*77 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,309,,04,17,308,40*72 $GPGSV,3,3,12,09,16,099,,03,14,190,,08,10,039,,10,02,065,*79 {"class":"SKY","tag":"GSV","xdop":2.54,"ydop":2.51,"vdop":2.20,"tdop":5.78,"hdop":1.40,"gdop":9.19,"pdop":2.60,"satellites":[{"PRN":20,"el":78,"az":50,"ss":40,"used":true},{"PRN":11,"el":72,"az":261,"ss":0,"used":false},{"PRN":6,"el":41,"az":277,"ss":0,"used":false},{"PRN":14,"el":38,"az":185,"ss":0,"used":false},{"PRN":31,"el":27,"az":62,"ss":40,"used":true},{"PRN":13,"el":26,"az":209,"ss":40,"used":true},{"PRN":7,"el":25,"az":309,"ss":0,"used":false},{"PRN":4,"el":17,"az":308,"ss":40,"used":true},{"PRN":9,"el":16,"az":99,"ss":0,"used":false},{"PRN":3,"el":14,"az":190,"ss":0,"used":false},{"PRN":8,"el":10,"az":39,"ss":0,"used":false},{"PRN":10,"el":2,"az":65,"ss":0,"used":false}]} $GPRMC,235740.02,A,4808.9979,N,01135.0800,E,000.1,000.0,060419,003.0,E,A*3C $GPVTG,000.0,T,357.0,M,000.1,N,0000.1,K,A*12 $GPGGA,235740.02,4808.9979,N,01135.0800,E,1,04,01.4,00464.4,M,0046.2,M,,*5E {"class":"TPV","tag":"GGA","mode":3,"time":"2019-04-06T23:57:40.020Z","ept":0.005,"lat":48.149965000,"lon":11.584666667,"alt":464.400,"epx":38.149,"epy":37.648,"epv":50.600,"track":0.0000,"speed":0.051,"eps":76.30} $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,277,,14,38,185,*77 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,308,,04,17,308,40*73 $GPGSV,3,3,12,09,16,099,,03,14,190,,08,10,039,,10,02,065,*79 {"class":"SKY","tag":"GSV","xdop":2.54,"ydop":2.51,"vdop":2.20,"tdop":5.78,"hdop":1.40,"gdop":9.19,"pdop":2.60,"satellites":[{"PRN":20,"el":78,"az":50,"ss":40,"used":true},{"PRN":11,"el":72,"az":261,"ss":0,"used":false},{"PRN":6,"el":41,"az":277,"ss":0,"used":false},{"PRN":14,"el":38,"az":185,"ss":0,"used":false},{"PRN":31,"el":27,"az":62,"ss":40,"used":true},{"PRN":13,"el":26,"az":209,"ss":40,"used":true},{"PRN":7,"el":25,"az":308,"ss":0,"used":false},{"PRN":4,"el":17,"az":308,"ss":40,"used":true},{"PRN":9,"el":16,"az":99,"ss":0,"used":false},{"PRN":3,"el":14,"az":190,"ss":0,"used":false},{"PRN":8,"el":10,"az":39,"ss":0,"used":false},{"PRN":10,"el":2,"az":65,"ss":0,"used":false}]} $GPRMC,235741.02,A,4808.9979,N,01135.0800,E,000.1,000.0,060419,003.0,E,A*3D $GPVTG,000.0,T,357.0,M,000.1,N,0000.2,K,A*11 $GPGGA,235741.02,4808.9979,N,01135.0800,E,1,04,01.4,00464.4,M,0046.2,M,,*5F {"class":"TPV","tag":"GGA","mode":3,"time":"2019-04-06T23:57:41.020Z","ept":0.005,"lat":48.149965000,"lon":11.584666667,"alt":464.400,"epx":38.149,"epy":37.648,"epv":50.600,"track":0.0000,"speed":0.051,"eps":76.30} $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,277,,14,38,185,*77 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,308,,04,17,308,40*73 $GPGLL,4808.9979,N,01135.0800,E,235741.02,A,A*69 {"class":"TPV","tag":"GLL","mode":3,"time":"2019-04-06T23:57:41.020Z","ept":0.005,"lat":48.149965000,"lon":11.584666667,"alt":464.400,"epx":38.149,"epy":37.648,"epv":50.600,"track":0.0000,"speed":0.051,"climb":0.000,"eps":76.30} $GPRMC,235742.02,A,4808.9979,N,01135.0800,E,000.1,000.0,060419,003.0,E,A*3E $GPVTG,000.0,T,357.0,M,000.1,N,0000.2,K,A*11 $GPGGA,235742.02,4808.9979,N,01135.0800,E,1,04,01.4,00464.4,M,0046.2,M,,*5C {"class":"TPV","tag":"GGA","mode":3,"time":"2019-04-06T23:57:42.020Z","ept":0.005,"lat":48.149965000,"lon":11.584666667,"alt":464.400,"epx":38.149,"epy":37.648,"epv":50.600,"track":0.0000,"speed":0.051,"eps":76.30} $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,277,,14,38,185,*77 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,308,,04,17,308,40*73 $GPGSV,3,3,12,09,16,099,,03,14,190,,08,10,039,,10,02,065,*79 {"class":"SKY","tag":"GSV","xdop":2.54,"ydop":2.51,"vdop":2.20,"tdop":5.78,"hdop":1.40,"gdop":9.19,"pdop":2.60,"satellites":[{"PRN":20,"el":78,"az":50,"ss":40,"used":true},{"PRN":11,"el":72,"az":261,"ss":0,"used":false},{"PRN":6,"el":41,"az":277,"ss":0,"used":false},{"PRN":14,"el":38,"az":185,"ss":0,"used":false},{"PRN":31,"el":27,"az":62,"ss":40,"used":true},{"PRN":13,"el":26,"az":209,"ss":40,"used":true},{"PRN":7,"el":25,"az":308,"ss":0,"used":false},{"PRN":4,"el":17,"az":308,"ss":40,"used":true},{"PRN":9,"el":16,"az":99,"ss":0,"used":false},{"PRN":3,"el":14,"az":190,"ss":0,"used":false},{"PRN":8,"el":10,"az":39,"ss":0,"used":false},{"PRN":10,"el":2,"az":65,"ss":0,"used":false}]} $GPRMC,235743.02,A,4808.9979,N,01135.0800,E,000.1,000.0,060419,003.0,E,A*3F $GPVTG,000.0,T,357.0,M,000.1,N,0000.2,K,A*11 $GPGGA,235743.02,4808.9979,N,01135.0800,E,1,04,01.4,00464.4,M,0046.2,M,,*5D {"class":"TPV","tag":"GGA","mode":3,"time":"2019-04-06T23:57:43.020Z","ept":0.005,"lat":48.149965000,"lon":11.584666667,"alt":464.400,"epx":38.149,"epy":37.648,"epv":50.600,"track":0.0000,"speed":0.051,"eps":76.30} $GPGSA,A,3,20,,,,31,13,,04,,,,,02.6,01.4,02.2*05 $GPGSV,3,1,12,20,78,050,40,11,72,261,,06,41,277,,14,38,185,*77 $GPGSV,3,2,12,31,27,062,40,13,26,209,40,07,25,308,,04,17,308,40*73 gpsd-3.9/test/daemon/gp-320fw-2019-04-07-coldboot.log0000664000175000017500000001726311762140437017541 0ustar esresr# Name: GPS-320FW # Chipset: SE4100L + PL-6313 # Description: OEM module from RF Solutions, Inc # Submitter: f4eru # Date: 2010-10-16 # Notes: The chip has been spoofed with a sat simulator into thinking it is # 2019-04-07 (just after a rollover of the 10-bit GPS week calendar) # then restarted. The restart point is indicated by the (undocumented) # $PLCS sentence. The RMC on data line 7 shows what one looks like with # no date. On data line 10 before reboot, see a date of 2019-04-07. On # line 19, just after the reboout, see an RMC with a Void indication and # a garbage date of 2006-12-16. Following this RMCs report garbage # dates for a few more cycles before acquiring lock and shipping a # consistent 220899, which is a GPS week 0 date of 1999-08-22. # $GPVTG,000.0,T,357.0,M,000.0,N,0000.1,K,A*13 $GPGGA,000343.03,4808.9993,N,01135.0798,E,1,04,01.4,00460.0,M,0046.2,M,,*56 $GPGSA,A,3,20,,,,13,31,,04,,,,,02.7,01.4,02.3*05 $GPGSV,3,1,12,20,76,058,40,11,73,252,,06,41,274,,14,41,185,*7D $GPGSV,3,2,12,13,29,210,40,31,27,059,40,07,26,306,,04,20,308,40*75 $GPGLL,4808.9993,N,01135.0798,E,000343.03,A,A*60 $GPRMC,000344.03,A,4808.9992,N,4,02.3*05 $GPGSV,3,1,12,20,76,058,40,11,73,252,,06,41,274,,14,43,12,09,18,096,,03,11,189,,08,09,037,,10,00,066,*72 $GPRMC,000345.03,A,4808.9993,N,01135.0798,E,000.1,000.0,070419,003.0,E,A*33 $GPVTG,000.0,T,357.0,M,000.1,N,0000.1,K,A*12 $GPGGA,000345.03,4808.9993,N,01135.0798,E,1,04,01.4,00459.9,M,0046.2,M,,*53 $GPGSA,A,3,20,,,,13,31,,04,,,,,02.7,01.4,02.3*05 $GPGSV,3,1,12,20,76,058,40,11,73,252,,06,41,274,,14,41,185,*7D $GPGSV,3,2,12,13,29,210,41,31,27,059,40,07,26,306,,04,20,308,40*74 $GPGLL,4808.9993,N,01135.0798,E,000345.03,A,A*66 $GPRMC,000346.03,A,4808 $PLCS,REV,PLN012054S07,070312,145743 $GPRMC,235948.00,V,0000.0000,N,00000.0000,E,,,161206,,,N*45 $GPN,00000.0000,E,0,00,0.0,,M,,M,,*5C $GPGSA,A,1,,,,,,,,,,,,,,,*1E$GPRMC,235949.00,V,0000.0000,N,00000.0000,E,,,161206,,,N*44 $GPN,00000.0000,E,0,00,0.0,,M,,M,,*5D $GPGSA,A,1,,,,,,,,,,,,,,,*1E$GPRMC,235950.00,V,0000.0000,N,00000.0000,E,,,161206,,,N*4C $GPN,00000.0000,E,0,00,0.0,,M,,M,,*55 $GPGSA,A,1,,,,,,,,,,,,,,,*1E0,*4E $GPRMC,193515.00,V,0000.0000,N,00000.0000,E,,,300910,,,N*47 $GPN,00000.0000,E,0,00,0.0,,M,,M,,*57 $GPGSA,A,1,,,,,,,,,,,,,,,*1E*43 $GPGGA,235952.00,0000.0000,N,00000.0000,E,0,00,0.0,,M,,M,,*00.0000,N,00000.0000,E,0,00,0.0,,M,,M,,*51 $GPGSA,A,1,,,,,,,,,,11,03,090,,20,10,090,,07,22,090,,14,20,090,*78 $GPGSV,3,2,12,193,33,090,,31,25,090,,09,58,270,*71 $GPRMC,235955.00,V,0000.0000,,,N*44 $GPGGA,235955.00,0000.0000,N,00000.0000,E,0,00,0.0,,M,,,,,,,,,,,*1E $GPRMC,235957.00,V,0000.0000,N,00000.0000,E,,,250910,,,N*46 $GPN,00000.0000,E,0,00,0.0,,M,,M,,*52 $GPGSA,A,1,,,,,,,,,,,,,,,*1E0,,13,68,270,,24,60,270,,04,39,270,40*73 $GPGSV,3,2,11,25,32,097 $GPRMC,235958.00,V,0000.0000,N,00000.0000,E,,,250910,,,N*49 $GP,00,0.0,,M,,M,,*5D $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPRMC,235959.00,V,0000.0000,N,00000.0000,E,,,250910,,,N*48 $GP,00,0.0,,M,,M,,*5C $GPGSA,A,1,,,,,,,,,,,,,,,*1E ,,,,,,,,,,,,,*1E $GPGSV,3,1,11,23,87,270,,13,68,270,,24,60,270,$GPRMC,000002.00,V,0000.0000,N,00000.0000,E,,,260910,,,N*48 $GP ,20,10,090,41*70 $GPGSV,3,3,12,06,08,270,,16,01,090,,02,16,270,$GPGGA,000410.00,0000.0000,N,00000.0000,E,0,00,0.0,,M,,M,,*58 $11,23,87,270,,13,70,270,,24,59,270,,04,40,270,40*7E $GPGSV,3,2,23,87,270,,13,70,270,,24,59,270,,04,40,270,40*7D $GPGSV,3,2,12,0000,N,00000.0000,E,0,00,0.0,,M,,M,,*5A $GPGSA,A,1,,,,,,,,,,,,,N*4C $GPVTG,,T,,M,,N,,K,N*2C $GPGGA,000413.00,0000.0000,N,000000.0000,E,0,00,0.0,,M,,M,,*5E $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GP,70,270,,24,59,270,,04,40,270,40*7D $GPGSV,3,2,12,25,31,090,,01,25,31,090,,01,22,090,,17,13,270,,05,12,090,*71 $GPGSV,3,3,12,2,40,16,00,090,*72 $GPGLL,0000.0000,N,00000.0000,E,000418.00,V,N19.00,0000.0000,N,00000.0000,E,0,00,0.0,,M,,M,,*51 $GPGSA,A,1,,$GPRMC,000425.00,V,0000.0000,N,00000.0000,E,,,220899,,,N*4D $GPN*2C $GPGGA,000425.00,0000.0000,N,00000.0000,E,0,00,0.0,,M,,M,,70,,13,70,270,,24,59,270,,04,41,270,40*7D $GPGSV,3,2,12,25,31,0090,*71 $GPGSV,3,3,12,20,09,090,41,06,08,270,,31,26,090,40,16,0GPRMC,000426.00,V,0000.0000,N,00000.0000,E,,,220899,,,N*4E $GPV427.00,V,0000.0000,N,00000.0000,E,,,220899,,,N*4F $GPVTG,,T,,M,2C $GPGGA,000427.00,0000.0000,N,00000.0000,E,0,00,0.0,,M,,M,,*5C $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,23,86,270,,13,70,270,40,24,59,270,,04,41,270,40*79 $GPGSV,3,2,12,25,31,090,,01,27.00,V,N*70 $GPZDA,000427.00,22,08,1999,,*67 $GPRMC,000428.00,,E,,,220899,,,N*40 $GPVTG,,T,,M,,N,,K,N*2C $GPGGA,000428.00,00,3,1,12,23,86,270,,13,70,270,40,24,59,270,,04,41,270,40*79 $GPG428.00,22,08,1999,,*68 $GPRMC,000429.00,V,0000.0000,N,00000.000VTG,,T,,M,,N,,K,N*2C $GPGGA,000429.00,0000.0000,N,00000.0000,E,,,M,,M,,*52 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,23,86,270,,13,70,270,40,24,59,270,,04,41,270,40*79 $GPGSV,3,2,12,25,31,090,,01,22,090,,17,13,270,,05,12,090,*71 $GPGSV,3,3,12,20,09,090,40,06,08,270,,16,00,090,,31,26,090,40*72 $GPGLL,0000.0000,N,00000.0000,E,000429.00,V,N*7E $GPZDA,000429.00,22,08,1999,,*69 $GPRMC,000430.00,V,0000.0000,N,00000.0000,E,,,220899,,,N*49 $GPVTG,,T,,M,,N,,K,N*2C $GPGGA,000430.00,0000.0000,N,00000.0000,E,0,00,0.0,,M,,M,,*5A $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,23,86,270,,13,70,270,40,24,59,270,,04,41,270,40*79 $GPGSV,3,2,12,25,31,090,,01,22,090,,17,13,270,,05,12,090,*71 $GPGSV,3,3,12,20,09,090,40,06,08,270,,16,00,090,,31,26,090,40*72 $GPGLL,0000.0000,N,00000.0000,E,000430.00,V,N*76 $GPZDA,000430.00,22,08,1999,,*61 $GPRMC,000431.00,V,0000.0000,N,00000.0000,E,,,220899,,,N*48 $GPVTG,,T,,M,,N,,K,N*2C $GPGGA,000431.00,0000.0000,N,00000.0000,E,0,00,0.0,,M,,M,,*5B $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,23,86,270,,13,70,270,40,24,59,270,,04,41,270,40*79 $GPGSV,3,2,12,25,31,090,,01,22,090,,17,13,270,,05,12,090,*71 $GPGSV,3,3,12,20,09,090,40,06,08,270,,31,26,090,40,16,00,090,*72 $GPGLL,0000.0000,N,00000.0000,E,000431.00,V,N*77 $GPZDA,000431.00,22,08,1999,,*60 $GPRMC,000432.00,V,0000.0000,N,00000.0000,E,,,220899,,,N*4B $GPVTG,,T,,M,,N,,K,N*2C $GPGGA,000432.00,0000.0000,N,00000.0000,E,0,00,0.0,,M,,M,,*58 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,23,86,270,,13,70,270,40,24,59,270,,04,41,270,40*79 $GPGSV,3,2,12,25,31,090,,01,22,090,,17,13,270,,05,12,090,*71 $GPGSV,3,3,12,20,09,090,40,06,08,270,,31,26,090,41,16,00,090,*73 $GPGLL,0000.0000,N,00000.0000,E,000432.00,V,N*74 $GPZDA,000432.00,22,08,1999,,*63 $GPRMC,000433.00,V,0000.0000,N,00000.0000,E,,,220899,,,N*4A $GPVTG,,T,,M,,N,,K,N*2C $GPGGA,000433.00,0000.0000,N,00000.0000,E,0,00,0.0,,M,,M,,*59 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,23,86,270,,13,70,270,40,24,59,270,,04,41,270,40*79 $GPGSV,3,2,12,25,31,090,,01,22,090,,17,13,270,,05,12,090,*71 $GPGSV,3,3,12,20,09,090,40,06,08,270,,31,26,090,41,16,00,090,*73 $GPGLL,0000.0000,N,00000.0000,E,000433.00,V,N*75 $GPZDA,000433.00,22,08,1999,,*62 $GPRMC,000434.00,V,0000.0000,N,00000.0000,E,,,220899,,,N*4D $GPVTG,,T,,M,,N,,K,N*2C $GPGGA,000434.00,0000.0000,N,00000.0000,E,0,00,0.0,,M,,M,,*5E $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,23,86,270,,13,70,270,40,24,59,270,,04,41,270,40*79 $GPGSV,3,2,12,25,31,090,,01,22,090,,17,13,270,,05,12,090,*71 $GPGSV,3,3,12,20,09,090,40,06,08,270,,31,26,090,41,16,00,090,*73 $GPGLL,0000.0000,N,00000.0000,E,000434.00,V,N*72 $GPZDA,000434.00,22,08,1999,,*65 $GPRMC,000435.00,V,0000.0000,N,00000.0000,E,,,220899,,,N*4C $GPVTG,,T,,M,,N,,K,N*2C $GPGGA,000435.00,0000.0000,N,00000.0000,E,0,00,0.0,,M,,M,,*5F $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,23,86,270,,13,70,270,40,24,59,270,,04,20,270,40*7E $GPGSV,3,2,12,25,31,090,,01,22,090,,17,13,270,,05,12,090,*71 $GPGSV,3,3,12,20,09,090,40,06,08,270,,31,26,090,41,16,00,090,*73 gpsd-3.9/test/daemon/gp-320fw-2019-04-07-coldboot.log.chk0000664000175000017500000002414212135526335020277 0ustar esresr$GPVTG,000.0,T,357.0,M,000.0,N,0000.1,K,A*13 $GPGGA,000343.03,4808.9993,N,01135.0798,E,1,04,01.4,00460.0,M,0046.2,M,,*56 {"class":"TPV","tag":"GGA","mode":3,"lat":48.149988333,"lon":11.584663333,"alt":460.000} $GPGSA,A,3,20,,,,13,31,,04,,,,,02.7,01.4,02.3*05 {"class":"TPV","tag":"GSA","mode":3,"lat":48.149988333,"lon":11.584663333,"alt":460.000,"epv":52.900} $GPGSV,3,1,12,20,76,058,40,11,73,252,,06,41,274,,14,41,185,*7D $GPGSV,3,2,12,13,29,210,40,31,27,059,40,07,26,306,,04,20,308,40*75 $GPGLL,4808.9993,N,01135.0798,E,000343.03,A,A*60 {"class":"TPV","tag":"GLL","mode":3,"lat":48.149988333,"lon":11.584663333,"alt":460.000,"epv":52.900} $GPRMC,000345.03,A,4808.9993,N,01135.0798,E,000.1,000.0,070419,003.0,E,A*33 $GPVTG,000.0,T,357.0,M,000.1,N,0000.1,K,A*12 $GPGGA,000345.03,4808.9993,N,01135.0798,E,1,04,01.4,00459.9,M,0046.2,M,,*53 $GPGSA,A,3,20,,,,13,31,,04,,,,,02.7,01.4,02.3*05 $GPGSV,3,1,12,20,76,058,40,11,73,252,,06,41,274,,14,41,185,*7D $GPGSV,3,2,12,13,29,210,41,31,27,059,40,07,26,306,,04,20,308,40*74 $GPGLL,4808.9993,N,01135.0798,E,000345.03,A,A*66 {"class":"TPV","tag":"GLL","mode":3,"time":"2019-04-07T00:03:45.030Z","ept":0.005,"lat":48.149988333,"lon":11.584663333,"alt":459.900,"epv":52.900,"track":0.0000,"speed":0.051,"climb":0.000} $PLCS,REV,PLN012054S07,070312,145743 $GPRMC,235948.00,V,0000.0000,N,00000.0000,E,,,161206,,,N*45 $GPRMC,235949.00,V,0000.0000,N,00000.0000,E,,,161206,,,N*44 $GPRMC,235950.00,V,0000.0000,N,00000.0000,E,,,161206,,,N*4C $GPRMC,193515.00,V,0000.0000,N,00000.0000,E,,,300910,,,N*47 $GPRMC,235957.00,V,0000.0000,N,00000.0000,E,,,250910,,,N*46 $GPGSV,3,2,11,25,32,097 $GPRMC,235958.00,V,0000.0000,N,00000.0000,E,,,250910,,,N*49 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPRMC,235959.00,V,0000.0000,N,00000.0000,E,,,250910,,,N*48 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPRMC,000002.00,V,0000.0000,N,00000.0000,E,,,260910,,,N*48 $GP $GPGGA,000410.00,0000.0000,N,00000.0000,E,0,00,0.0,,M,,M,,*58 $GPVTG,,T,,M,,N,,K,N*2C $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,3,12,2,40,16,00,090,*72 $GPRMC,000425.00,V,0000.0000,N,00000.0000,E,,,220899,,,N*4D $GPVTG,,T,,M,2C $GPGGA,000427.00,0000.0000,N,00000.0000,E,0,00,0.0,,M,,M,,*5C $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,23,86,270,,13,70,270,40,24,59,270,,04,41,270,40*79 $GPZDA,000427.00,22,08,1999,,*67 $GPVTG,,T,,M,,N,,K,N*2C $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,23,86,270,,13,70,270,40,24,59,270,,04,41,270,40*79 $GPGSV,3,2,12,25,31,090,,01,22,090,,17,13,270,,05,12,090,*71 $GPGSV,3,3,12,20,09,090,40,06,08,270,,16,00,090,,31,26,090,40*72 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":23,"el":86,"az":270,"ss":0,"used":false},{"PRN":13,"el":70,"az":270,"ss":40,"used":false},{"PRN":24,"el":59,"az":270,"ss":0,"used":false},{"PRN":4,"el":41,"az":270,"ss":40,"used":false},{"PRN":25,"el":31,"az":90,"ss":0,"used":false},{"PRN":1,"el":22,"az":90,"ss":0,"used":false},{"PRN":17,"el":13,"az":270,"ss":0,"used":false},{"PRN":5,"el":12,"az":90,"ss":0,"used":false},{"PRN":20,"el":9,"az":90,"ss":40,"used":false},{"PRN":6,"el":8,"az":270,"ss":0,"used":false},{"PRN":16,"el":0,"az":90,"ss":0,"used":false},{"PRN":31,"el":26,"az":90,"ss":40,"used":false}]} $GPGLL,0000.0000,N,00000.0000,E,000429.00,V,N*7E {"class":"TPV","tag":"GLL","mode":0,"time":"1999-08-22T00:04:29.000Z","ept":0.005} $GPZDA,000429.00,22,08,1999,,*69 $GPRMC,000430.00,V,0000.0000,N,00000.0000,E,,,220899,,,N*49 $GPVTG,,T,,M,,N,,K,N*2C $GPGGA,000430.00,0000.0000,N,00000.0000,E,0,00,0.0,,M,,M,,*5A $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,23,86,270,,13,70,270,40,24,59,270,,04,41,270,40*79 $GPGSV,3,2,12,25,31,090,,01,22,090,,17,13,270,,05,12,090,*71 $GPGSV,3,3,12,20,09,090,40,06,08,270,,16,00,090,,31,26,090,40*72 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":23,"el":86,"az":270,"ss":0,"used":false},{"PRN":13,"el":70,"az":270,"ss":40,"used":false},{"PRN":24,"el":59,"az":270,"ss":0,"used":false},{"PRN":4,"el":41,"az":270,"ss":40,"used":false},{"PRN":25,"el":31,"az":90,"ss":0,"used":false},{"PRN":1,"el":22,"az":90,"ss":0,"used":false},{"PRN":17,"el":13,"az":270,"ss":0,"used":false},{"PRN":5,"el":12,"az":90,"ss":0,"used":false},{"PRN":20,"el":9,"az":90,"ss":40,"used":false},{"PRN":6,"el":8,"az":270,"ss":0,"used":false},{"PRN":16,"el":0,"az":90,"ss":0,"used":false},{"PRN":31,"el":26,"az":90,"ss":40,"used":false}]} $GPGLL,0000.0000,N,00000.0000,E,000430.00,V,N*76 {"class":"TPV","tag":"GLL","mode":0,"time":"1999-08-22T00:04:30.000Z","ept":0.005} $GPZDA,000430.00,22,08,1999,,*61 $GPRMC,000431.00,V,0000.0000,N,00000.0000,E,,,220899,,,N*48 $GPVTG,,T,,M,,N,,K,N*2C $GPGGA,000431.00,0000.0000,N,00000.0000,E,0,00,0.0,,M,,M,,*5B $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,23,86,270,,13,70,270,40,24,59,270,,04,41,270,40*79 $GPGSV,3,2,12,25,31,090,,01,22,090,,17,13,270,,05,12,090,*71 $GPGSV,3,3,12,20,09,090,40,06,08,270,,31,26,090,40,16,00,090,*72 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":23,"el":86,"az":270,"ss":0,"used":false},{"PRN":13,"el":70,"az":270,"ss":40,"used":false},{"PRN":24,"el":59,"az":270,"ss":0,"used":false},{"PRN":4,"el":41,"az":270,"ss":40,"used":false},{"PRN":25,"el":31,"az":90,"ss":0,"used":false},{"PRN":1,"el":22,"az":90,"ss":0,"used":false},{"PRN":17,"el":13,"az":270,"ss":0,"used":false},{"PRN":5,"el":12,"az":90,"ss":0,"used":false},{"PRN":20,"el":9,"az":90,"ss":40,"used":false},{"PRN":6,"el":8,"az":270,"ss":0,"used":false},{"PRN":31,"el":26,"az":90,"ss":40,"used":false},{"PRN":16,"el":0,"az":90,"ss":0,"used":false}]} $GPGLL,0000.0000,N,00000.0000,E,000431.00,V,N*77 {"class":"TPV","tag":"GLL","mode":0,"time":"1999-08-22T00:04:31.000Z","ept":0.005} $GPZDA,000431.00,22,08,1999,,*60 $GPRMC,000432.00,V,0000.0000,N,00000.0000,E,,,220899,,,N*4B $GPVTG,,T,,M,,N,,K,N*2C $GPGGA,000432.00,0000.0000,N,00000.0000,E,0,00,0.0,,M,,M,,*58 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,23,86,270,,13,70,270,40,24,59,270,,04,41,270,40*79 $GPGSV,3,2,12,25,31,090,,01,22,090,,17,13,270,,05,12,090,*71 $GPGSV,3,3,12,20,09,090,40,06,08,270,,31,26,090,41,16,00,090,*73 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":23,"el":86,"az":270,"ss":0,"used":false},{"PRN":13,"el":70,"az":270,"ss":40,"used":false},{"PRN":24,"el":59,"az":270,"ss":0,"used":false},{"PRN":4,"el":41,"az":270,"ss":40,"used":false},{"PRN":25,"el":31,"az":90,"ss":0,"used":false},{"PRN":1,"el":22,"az":90,"ss":0,"used":false},{"PRN":17,"el":13,"az":270,"ss":0,"used":false},{"PRN":5,"el":12,"az":90,"ss":0,"used":false},{"PRN":20,"el":9,"az":90,"ss":40,"used":false},{"PRN":6,"el":8,"az":270,"ss":0,"used":false},{"PRN":31,"el":26,"az":90,"ss":41,"used":false},{"PRN":16,"el":0,"az":90,"ss":0,"used":false}]} $GPGLL,0000.0000,N,00000.0000,E,000432.00,V,N*74 {"class":"TPV","tag":"GLL","mode":0,"time":"1999-08-22T00:04:32.000Z","ept":0.005} $GPZDA,000432.00,22,08,1999,,*63 $GPRMC,000433.00,V,0000.0000,N,00000.0000,E,,,220899,,,N*4A $GPVTG,,T,,M,,N,,K,N*2C $GPGGA,000433.00,0000.0000,N,00000.0000,E,0,00,0.0,,M,,M,,*59 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,23,86,270,,13,70,270,40,24,59,270,,04,41,270,40*79 $GPGSV,3,2,12,25,31,090,,01,22,090,,17,13,270,,05,12,090,*71 $GPGSV,3,3,12,20,09,090,40,06,08,270,,31,26,090,41,16,00,090,*73 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":23,"el":86,"az":270,"ss":0,"used":false},{"PRN":13,"el":70,"az":270,"ss":40,"used":false},{"PRN":24,"el":59,"az":270,"ss":0,"used":false},{"PRN":4,"el":41,"az":270,"ss":40,"used":false},{"PRN":25,"el":31,"az":90,"ss":0,"used":false},{"PRN":1,"el":22,"az":90,"ss":0,"used":false},{"PRN":17,"el":13,"az":270,"ss":0,"used":false},{"PRN":5,"el":12,"az":90,"ss":0,"used":false},{"PRN":20,"el":9,"az":90,"ss":40,"used":false},{"PRN":6,"el":8,"az":270,"ss":0,"used":false},{"PRN":31,"el":26,"az":90,"ss":41,"used":false},{"PRN":16,"el":0,"az":90,"ss":0,"used":false}]} $GPGLL,0000.0000,N,00000.0000,E,000433.00,V,N*75 {"class":"TPV","tag":"GLL","mode":0,"time":"1999-08-22T00:04:33.000Z","ept":0.005} $GPZDA,000433.00,22,08,1999,,*62 $GPRMC,000434.00,V,0000.0000,N,00000.0000,E,,,220899,,,N*4D $GPVTG,,T,,M,,N,,K,N*2C $GPGGA,000434.00,0000.0000,N,00000.0000,E,0,00,0.0,,M,,M,,*5E $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,23,86,270,,13,70,270,40,24,59,270,,04,41,270,40*79 $GPGSV,3,2,12,25,31,090,,01,22,090,,17,13,270,,05,12,090,*71 $GPGSV,3,3,12,20,09,090,40,06,08,270,,31,26,090,41,16,00,090,*73 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":23,"el":86,"az":270,"ss":0,"used":false},{"PRN":13,"el":70,"az":270,"ss":40,"used":false},{"PRN":24,"el":59,"az":270,"ss":0,"used":false},{"PRN":4,"el":41,"az":270,"ss":40,"used":false},{"PRN":25,"el":31,"az":90,"ss":0,"used":false},{"PRN":1,"el":22,"az":90,"ss":0,"used":false},{"PRN":17,"el":13,"az":270,"ss":0,"used":false},{"PRN":5,"el":12,"az":90,"ss":0,"used":false},{"PRN":20,"el":9,"az":90,"ss":40,"used":false},{"PRN":6,"el":8,"az":270,"ss":0,"used":false},{"PRN":31,"el":26,"az":90,"ss":41,"used":false},{"PRN":16,"el":0,"az":90,"ss":0,"used":false}]} $GPGLL,0000.0000,N,00000.0000,E,000434.00,V,N*72 {"class":"TPV","tag":"GLL","mode":0,"time":"1999-08-22T00:04:34.000Z","ept":0.005} $GPZDA,000434.00,22,08,1999,,*65 $GPRMC,000435.00,V,0000.0000,N,00000.0000,E,,,220899,,,N*4C $GPVTG,,T,,M,,N,,K,N*2C $GPGGA,000435.00,0000.0000,N,00000.0000,E,0,00,0.0,,M,,M,,*5F $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,23,86,270,,13,70,270,40,24,59,270,,04,20,270,40*7E $GPGSV,3,2,12,25,31,090,,01,22,090,,17,13,270,,05,12,090,*71 $GPGSV,3,3,12,20,09,090,40,06,08,270,,31,26,090,41,16,00,090,*73 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":23,"el":86,"az":270,"ss":0,"used":false},{"PRN":13,"el":70,"az":270,"ss":40,"used":false},{"PRN":24,"el":59,"az":270,"ss":0,"used":false},{"PRN":4,"el":20,"az":270,"ss":40,"used":false},{"PRN":25,"el":31,"az":90,"ss":0,"used":false},{"PRN":1,"el":22,"az":90,"ss":0,"used":false},{"PRN":17,"el":13,"az":270,"ss":0,"used":false},{"PRN":5,"el":12,"az":90,"ss":0,"used":false},{"PRN":20,"el":9,"az":90,"ss":40,"used":false},{"PRN":6,"el":8,"az":270,"ss":0,"used":false},{"PRN":31,"el":26,"az":90,"ss":41,"used":false},{"PRN":16,"el":0,"az":90,"ss":0,"used":false}]} gpsd-3.9/test/daemon/gps-360.log0000664000175000017500000003620211762140437014524 0ustar esresr# Name: Pharos GPS-360 # Chipset: SiRfII # Submitter: "Jeff Fisher" # Date: 2006-07-27 # Location: Regina, Saskatchewan, Canada, 50N104W # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021612.949,A,5029.3800,N,10441.0390,W,0.039560,189.06,280706,,*18 $GPGGA,021613.949,5029.3800,N,10441.0389,W,1,04,12.5,572.4,M,-20.3,M,0.0,0000*7E $GPGLL,5029.3800,N,10441.0389,W,021613.949,A*22 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021613.949,A,5029.3800,N,10441.0389,W,0.009850,267.99,280706,,*19 $GPGGA,021614.949,5029.3800,N,10441.0388,W,1,04,12.5,572.3,M,-20.3,M,0.0,0000*7F $GPGLL,5029.3800,N,10441.0388,W,021614.949,A*24 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPGSV,3,1,9,8,49,156,27,17,49,212,0,28,82,35,36,11,38,84,37*4A $GPGSV,3,2,9,26,32,278,39,29,31,270,38,19,6,48,0,27,22,152,26*71 $GPGSV,3,3,9,123,0,0,0*40 $GPRMC,021614.949,A,5029.3800,N,10441.0388,W,0.016538,341.48,280706,,*1B $GPGGA,021615.949,5029.3799,N,10441.0387,W,1,04,12.5,572.1,M,-20.3,M,0.0,0000*7C $GPGLL,5029.3799,N,10441.0387,W,021615.949,A*25 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021615.949,A,5029.3799,N,10441.0387,W,0.024470,357.79,280706,,*13 $GPGGA,021616.949,5029.3800,N,10441.0387,W,1,04,12.5,571.9,M,-20.3,M,0.0,0000*7B $GPGLL,5029.3800,N,10441.0387,W,021616.949,A*29 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021616.949,A,5029.3800,N,10441.0387,W,0.064679,355.50,280706,,*19 $GPGGA,021617.949,5029.3800,N,10441.0387,W,1,04,12.5,571.9,M,-20.3,M,0.0,0000*7A $GPGLL,5029.3800,N,10441.0387,W,021617.949,A*28 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021617.949,A,5029.3800,N,10441.0387,W,0.081945,359.64,280706,,*18 $GPGGA,021618.949,5029.3801,N,10441.0387,W,1,04,12.5,571.8,M,-20.3,M,0.0,0000*75 $GPGLL,5029.3801,N,10441.0387,W,021618.949,A*26 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021618.949,A,5029.3801,N,10441.0387,W,0.123681,359.07,280706,,*1D $GPGGA,021619.949,5029.3802,N,10441.0387,W,1,04,12.5,571.6,M,-20.3,M,0.0,0000*79 $GPGLL,5029.3802,N,10441.0387,W,021619.949,A*24 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPGSV,3,1,9,8,48,156,25,17,50,212,0,28,82,37,36,11,38,84,36*42 $GPGSV,3,2,9,26,32,277,39,29,31,270,38,19,6,48,0,27,22,152,20*78 $GPGSV,3,3,9,123,0,0,0*40 $GPRMC,021619.949,A,5029.3802,N,10441.0387,W,0.152675,359.28,280706,,*1F $GPGGA,021620.949,5029.3803,N,10441.0387,W,1,04,12.5,571.7,M,-20.3,M,0.0,0000*73 $GPGLL,5029.3803,N,10441.0387,W,021620.949,A*2F $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021620.949,A,5029.3803,N,10441.0387,W,0.149670,359.57,280706,,*13 $GPGGA,021621.949,5029.3805,N,10441.0387,W,1,04,12.5,571.9,M,-20.3,M,0.0,0000*7A $GPGLL,5029.3805,N,10441.0387,W,021621.949,A*28 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021621.949,A,5029.3805,N,10441.0387,W,0.139805,358.04,280706,,*18 $GPGGA,021622.949,5029.3806,N,10441.0387,W,1,04,12.5,571.7,M,-20.3,M,0.0,0000*74 $GPGLL,5029.3806,N,10441.0387,W,021622.949,A*28 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021622.949,A,5029.3806,N,10441.0387,W,0.159851,358.60,280706,,*1D $GPGGA,021623.949,5029.3808,N,10441.0387,W,1,04,12.5,571.2,M,-20.3,M,0.0,0000*7E $GPGLL,5029.3808,N,10441.0387,W,021623.949,A*27 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021623.949,A,5029.3808,N,10441.0387,W,0.211601,1.82,280706,,*15 $GPGGA,021624.949,5029.3810,N,10441.0386,W,1,04,12.5,570.7,M,-20.3,M,0.0,0000*75 $GPGLL,5029.3810,N,10441.0386,W,021624.949,A*28 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPGSV,3,1,9,8,48,156,25,17,50,212,0,28,82,37,37,11,38,84,37*42 $GPGSV,3,2,9,26,32,277,39,29,31,270,38,19,6,48,0,27,22,152,21*79 $GPGSV,3,3,9,123,0,0,0*40 $GPRMC,021624.949,A,5029.3810,N,10441.0386,W,0.200234,356.84,280706,,*1F $GPGGA,021625.949,5029.3812,N,10441.0386,W,1,04,12.5,570.1,M,-20.3,M,0.0,0000*70 $GPGLL,5029.3812,N,10441.0386,W,021625.949,A*2B $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021625.949,A,5029.3812,N,10441.0386,W,0.222299,359.84,280706,,*14 $GPGGA,021626.949,5029.3814,N,10441.0385,W,1,04,12.5,569.4,M,-20.3,M,0.0,0000*7B $GPGLL,5029.3814,N,10441.0385,W,021626.949,A*2D $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021626.949,A,5029.3814,N,10441.0385,W,0.196906,0.09,280706,,*19 $GPGGA,021627.948,5029.3815,N,10441.0384,W,1,04,12.5,568.8,M,-20.3,M,0.0,0000*76 $GPGLL,5029.3815,N,10441.0384,W,021627.948,A*2D $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021627.948,A,5029.3815,N,10441.0384,W,0.200037,355.83,280706,,*1F $GPGGA,021628.948,5029.3828,N,10441.0382,W,1,05,2.0,567.6,M,-20.3,M,0.0,0000*45 $GPGLL,5029.3828,N,10441.0382,W,021628.948,A*2A $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPRMC,021628.948,A,5029.3828,N,10441.0382,W,0.144151,5.63,280706,,*12 $GPGGA,021629.948,5029.3826,N,10441.0381,W,1,05,2.0,567.0,M,-20.3,M,0.0,0000*4F $GPGLL,5029.3826,N,10441.0381,W,021629.948,A*26 $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPGSV,3,1,9,8,48,156,0,17,50,212,0,28,82,37,37,11,38,84,36*74 $GPGSV,3,2,9,26,32,277,39,29,31,270,37,19,6,48,0,27,22,152,28*7F $GPGSV,3,3,9,124,0,0,0*47 $GPRMC,021629.948,A,5029.3826,N,10441.0381,W,0.066422,8.45,280706,,*17 $GPGGA,021630.948,5029.3826,N,10441.0380,W,1,04,12.5,567.0,M,-20.3,M,0.0,0000*73 $GPGLL,5029.3826,N,10441.0380,W,021630.948,A*2F $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021630.948,A,5029.3826,N,10441.0380,W,0.067726,5.22,280706,,*14 $GPGGA,021631.948,5029.3826,N,10441.0377,W,1,04,12.5,567.2,M,-20.3,M,0.0,0000*78 $GPGLL,5029.3826,N,10441.0377,W,021631.948,A*26 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021631.948,A,5029.3826,N,10441.0377,W,0.050347,4.93,280706,,*11 $GPGGA,021632.948,5029.3826,N,10441.0370,W,1,05,2.0,567.2,M,-20.3,M,0.0,0000*49 $GPGLL,5029.3826,N,10441.0370,W,021632.948,A*22 $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPRMC,021632.948,A,5029.3826,N,10441.0370,W,0.033580,1.77,280706,,*12 $GPGGA,021633.948,5029.3826,N,10441.0370,W,1,04,12.5,566.9,M,-20.3,M,0.0,0000*77 $GPGLL,5029.3826,N,10441.0370,W,021633.948,A*23 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021633.948,A,5029.3826,N,10441.0370,W,0.019509,345.64,280706,,*1B $GPGGA,021634.948,5029.3825,N,10441.0370,W,1,04,12.5,566.7,M,-20.3,M,0.0,0000*7D $GPGLL,5029.3825,N,10441.0370,W,021634.948,A*27 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPGSV,3,1,9,8,48,156,0,17,50,212,0,28,82,37,37,11,38,84,36*74 $GPGSV,3,2,9,26,32,277,38,29,31,270,37,19,6,48,0,27,22,152,27*71 $GPGSV,3,3,9,124,0,0,0*47 $GPRMC,021634.948,A,5029.3825,N,10441.0370,W,0.003955,192.84,280706,,*17 $GPGGA,021635.948,5029.3825,N,10441.0370,W,1,04,12.5,566.4,M,-20.3,M,0.0,0000*7F $GPGLL,5029.3825,N,10441.0370,W,021635.948,A*26 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021635.948,A,5029.3825,N,10441.0370,W,0.095177,180.09,280706,,*17 $GPGGA,021636.948,5029.3825,N,10441.0371,W,1,05,2.0,565.5,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3825,N,10441.0371,W,021636.948,A*24 $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPRMC,021636.948,A,5029.3825,N,10441.0371,W,0.023886,330.86,280706,,*11 $GPGGA,021637.948,5029.3827,N,10441.0372,W,1,05,2.0,566.2,M,-20.3,M,0.0,0000*4E $GPGLL,5029.3827,N,10441.0372,W,021637.948,A*24 $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPRMC,021637.948,A,5029.3827,N,10441.0372,W,0.061487,357.24,280706,,*13 $GPGGA,021638.948,5029.3824,N,10441.0374,W,1,05,2.0,566.2,M,-20.3,M,0.0,0000*44 $GPGLL,5029.3824,N,10441.0374,W,021638.948,A*2E $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPRMC,021638.948,A,5029.3824,N,10441.0374,W,0.024092,262.30,280706,,*1A $GPGGA,021639.948,5029.3825,N,10441.0375,W,1,05,2.0,565.6,M,-20.3,M,0.0,0000*42 $GPGLL,5029.3825,N,10441.0375,W,021639.948,A*2F $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPGSV,3,1,9,8,48,156,0,17,50,212,0,28,82,37,37,11,38,84,36*74 $GPGSV,3,2,9,26,32,277,38,29,31,270,36,19,6,48,0,27,22,152,28*7F $GPGSV,3,3,9,124,0,0,0*47 $GPRMC,021639.948,A,5029.3825,N,10441.0375,W,0.024297,20.59,280706,,*27 $GPGGA,021640.948,5029.3825,N,10441.0376,W,1,04,12.5,565.3,M,-20.3,M,0.0,0000*7F $GPGLL,5029.3825,N,10441.0376,W,021640.948,A*22 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021640.948,A,5029.3825,N,10441.0376,W,0.027357,327.53,280706,,*1A $GPGGA,021641.948,5029.3825,N,10441.0376,W,1,04,12.5,565.0,M,-20.3,M,0.0,0000*7D $GPGLL,5029.3825,N,10441.0376,W,021641.948,A*23 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021641.948,A,5029.3825,N,10441.0376,W,0.039535,27.78,280706,,*2C $GPGGA,021642.948,5029.3829,N,10441.0379,W,1,05,2.0,564.7,M,-20.3,M,0.0,0000*4E $GPGLL,5029.3829,N,10441.0379,W,021642.948,A*23 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021642.948,A,5029.3829,N,10441.0379,W,0.167129,0.94,280706,,*18 $GPGGA,021643.947,5029.3837,N,10441.0381,W,1,05,2.0,563.6,M,-20.3,M,0.0,0000*4E $GPGLL,5029.3837,N,10441.0381,W,021643.947,A*25 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021643.947,A,5029.3837,N,10441.0381,W,0.234120,354.99,280706,,*1D $GPGGA,021644.947,5029.3844,N,10441.0383,W,1,05,2.0,562.5,M,-20.3,M,0.0,0000*4D $GPGLL,5029.3844,N,10441.0383,W,021644.947,A*24 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPGSV,3,1,9,8,48,156,0,17,50,212,33,28,82,37,36,11,38,84,35*46 $GPGSV,3,2,9,26,32,277,37,29,31,270,36,19,6,48,0,27,22,152,25*7D $GPGSV,3,3,9,124,0,0,0*47 $GPRMC,021644.947,A,5029.3844,N,10441.0383,W,0.225686,357.97,280706,,*1A $GPGGA,021645.947,5029.3848,N,10441.0383,W,1,06,1.4,561.4,M,-20.3,M,0.0,0000*46 $GPGLL,5029.3848,N,10441.0383,W,021645.947,A*29 $GPGSA,A,3,17,28,11,26,29,27,,,,,,,2.7,1.4,2.3*35 $GPRMC,021645.947,A,5029.3848,N,10441.0383,W,0.073479,119.81,280706,,*1B $GPGGA,021646.947,5029.3851,N,10441.0382,W,1,05,2.0,561.1,M,-20.3,M,0.0,0000*4D $GPGLL,5029.3851,N,10441.0382,W,021646.947,A*23 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021646.947,A,5029.3851,N,10441.0382,W,0.079997,2.84,280706,,*18 $GPGGA,021647.947,5029.3853,N,10441.0382,W,1,05,2.0,560.4,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3853,N,10441.0382,W,021647.947,A*20 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021647.947,A,5029.3853,N,10441.0382,W,0.134821,345.50,280706,,*16 $GPGGA,021648.947,5029.3855,N,10441.0380,W,1,05,2.0,560.0,M,-20.3,M,0.0,0000*45 $GPGLL,5029.3855,N,10441.0380,W,021648.947,A*2B $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021648.947,A,5029.3855,N,10441.0380,W,0.135447,3.49,280706,,*19 $GPGGA,021649.947,5029.3856,N,10441.0379,W,1,05,2.0,559.3,M,-20.3,M,0.0,0000*48 $GPGLL,5029.3856,N,10441.0379,W,021649.947,A*2F $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPGSV,3,1,9,8,48,156,0,17,50,212,34,28,82,39,35,11,38,84,33*4A $GPGSV,3,2,9,26,32,277,37,29,31,269,34,19,6,48,0,27,22,152,28*7A $GPGSV,3,3,9,124,0,0,0*47 $GPRMC,021649.947,A,5029.3856,N,10441.0379,W,0.118754,16.61,280706,,*2D $GPGGA,021650.947,5029.3857,N,10441.0380,W,1,05,2.0,559.1,M,-20.3,M,0.0,0000*45 $GPGLL,5029.3857,N,10441.0380,W,021650.947,A*20 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021650.947,A,5029.3857,N,10441.0380,W,0.122534,2.49,280706,,*10 $GPGGA,021651.947,5029.3856,N,10441.0382,W,1,05,2.0,559.4,M,-20.3,M,0.0,0000*42 $GPGLL,5029.3856,N,10441.0382,W,021651.947,A*22 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021651.947,A,5029.3856,N,10441.0382,W,0.117097,1.44,280706,,*16 $GPGGA,021652.947,5029.3856,N,10441.0383,W,1,05,2.0,559.6,M,-20.3,M,0.0,0000*42 $GPGLL,5029.3856,N,10441.0383,W,021652.947,A*20 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021652.947,A,5029.3856,N,10441.0383,W,0.110183,9.39,280706,,*15 $GPGGA,021653.947,5029.3855,N,10441.0382,W,1,05,2.0,559.4,M,-20.3,M,0.0,0000*43 $GPGLL,5029.3855,N,10441.0382,W,021653.947,A*23 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021653.947,A,5029.3855,N,10441.0382,W,0.104481,9.00,280706,,*1E $GPGGA,021654.947,5029.3855,N,10441.0381,W,1,05,2.0,559.5,M,-20.3,M,0.0,0000*46 $GPGLL,5029.3855,N,10441.0381,W,021654.947,A*27 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPGSV,3,1,9,8,48,156,0,17,50,212,34,28,82,39,36,11,38,84,33*49 $GPGSV,3,2,9,26,32,277,37,29,31,269,34,19,6,48,0,27,22,152,0*40 $GPGSV,3,3,9,124,0,0,0*47 $GPRMC,021654.947,A,5029.3855,N,10441.0381,W,0.142516,3.80,280706,,*15 $GPGGA,021655.947,5029.3855,N,10441.0381,W,1,05,2.0,559.8,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3855,N,10441.0381,W,021655.947,A*26 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021655.947,A,5029.3855,N,10441.0381,W,0.120701,358.47,280706,,*12 $GPGGA,021656.947,5029.3855,N,10441.0379,W,1,06,1.4,559.8,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3855,N,10441.0379,W,021656.947,A*22 $GPGSA,A,3,17,28,11,26,29,27,,,,,,,2.7,1.4,2.3*35 $GPRMC,021656.947,A,5029.3855,N,10441.0379,W,0.094143,14.12,280706,,*23 $GPGGA,021657.947,5029.3855,N,10441.0378,W,1,06,1.4,559.8,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3855,N,10441.0378,W,021657.947,A*22 $GPGSA,A,3,17,28,11,26,29,27,,,,,,,2.7,1.4,2.3*35 $GPRMC,021657.947,A,5029.3855,N,10441.0378,W,0.096695,9.89,280706,,*13 $GPGGA,021658.947,5029.3855,N,10441.0378,W,1,05,2.0,560.0,M,-20.3,M,0.0,0000*43 $GPGLL,5029.3855,N,10441.0378,W,021658.947,A*2D $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021658.947,A,5029.3855,N,10441.0378,W,0.111024,0.77,280706,,*16 $GPGGA,021659.946,5029.3855,N,10441.0376,W,1,05,2.0,559.8,M,-20.3,M,0.0,0000*4F $GPGLL,5029.3855,N,10441.0376,W,021659.946,A*23 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPGSV,3,1,9,8,48,156,0,17,50,212,33,28,82,39,36,11,38,84,32*4F $GPGSV,3,2,9,26,32,277,36,29,31,269,34,19,6,48,0,27,22,152,27*74 $GPGSV,3,3,9,124,0,0,0*47 $GPRMC,021659.946,A,5029.3855,N,10441.0376,W,0.144243,359.38,280706,,*1F $GPGGA,021700.946,5029.3856,N,10441.0373,W,1,05,2.0,559.4,M,-20.3,M,0.0,0000*48 $GPGLL,5029.3856,N,10441.0373,W,021700.946,A*28 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021700.946,A,5029.3856,N,10441.0373,W,0.127513,359.47,280706,,*1B $GPGGA,021701.946,5029.3856,N,10441.0369,W,1,05,2.0,558.6,M,-20.3,M,0.0,0000*41 $GPGLL,5029.3856,N,10441.0369,W,021701.946,A*22 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021701.946,A,5029.3856,N,10441.0369,W,0.082985,16.78,280706,,*28 $GPGGA,021702.946,5029.3856,N,10441.0365,W,1,05,2.0,557.8,M,-20.3,M,0.0,0000*4F $GPGLL,5029.3856,N,10441.0365,W,021702.946,A*2D $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021702.946,A,5029.3856,N,10441.0365,W,0.108057,8.59,280706,,*1E $GPGGA,021703.946,5029.3857,N,10441.0363,W,1,05,2.0,556.8,M,-20.3,M,0.0,0000*48 $GPGLL,5029.3857,N,10441.0363,W,021703.946,A*2B $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021703.946,A,5029.3857,N,10441.0363,W,0.193741,10.55,280706,,*2F $GPGGA,021704.946,5029.3858,N,10441.0363,W,1,07,1.3,556.0,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3858,N,10441.0363,W,021704.946,A*23 $GPGSA,A,3,08,17,28,11,26,29,27,,,,,,2.5,1.3,2.1*3A $GPGSV,3,1,9,8,48,156,31,17,50,212,32,28,82,39,39,11,38,84,33*72 $GPGSV,3,2,9,26,32,277,37,29,31,269,34,19,6,48,0,27,22,152,30*73 $GPGSV,3,3,9,124,0,0,0*47 $GPRMC,021704.946,A,5029.3858,N,10441.0363,W,0.096613,335.19,280706,,*19 $GPGGA,021705.946,5029.3859,N,10441.0363,W,1,07,1.3,555.4,M,-20.3,M,0.0,0000*4D $GPGLL,5029.3859,N,10441.0363,W,021705.946,A*23 $GPGSA,A,3,08,17,28,11,26,29,27,,,,,,2.5,1.3,2.1*3A $GPRMC,021705.946,A,5029.3859,N,10441.0363,W,0.061763,22.98,280706,,*2B $GPGGA,021706.946,5029.3860,N,10441.0364,W,1,07,1.3,554.9,M,-20.3,M,0.0,0000*4F $GPGLL,5029.3860,N,10441.0364,W,021706.946,A*2D $GPGSA,A,3,08,17,28,11,26,29,27,,,,,,2.5,1.3,2.1*3A gpsd-3.9/test/daemon/gps-360.log.chk0000664000175000017500000010206612135526336015273 0ustar esresr$GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 {"class":"TPV","tag":"GSA","mode":3,"epv":71.300} $GPRMC,021612.949,A,5029.3800,N,10441.0390,W,0.039560,189.06,280706,,*18 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-07-28T02:16:12.949Z","ept":0.005,"lat":50.489666667,"lon":-104.683983333,"track":189.0600,"speed":0.020} $GPGGA,021613.949,5029.3800,N,10441.0389,W,1,04,12.5,572.4,M,-20.3,M,0.0,0000*7E $GPGLL,5029.3800,N,10441.0389,W,021613.949,A*22 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021613.949,A,5029.3800,N,10441.0389,W,0.009850,267.99,280706,,*19 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:13.949Z","ept":0.005,"lat":50.489666667,"lon":-104.683981667,"alt":572.400,"epv":71.300,"track":267.9900,"speed":0.005,"climb":0.000} $GPGGA,021614.949,5029.3800,N,10441.0388,W,1,04,12.5,572.3,M,-20.3,M,0.0,0000*7F $GPGLL,5029.3800,N,10441.0388,W,021614.949,A*24 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPGSV,3,1,9,8,49,156,27,17,49,212,0,28,82,35,36,11,38,84,37*4A $GPGSV,3,2,9,26,32,278,39,29,31,270,38,19,6,48,0,27,22,152,26*71 $GPGSV,3,3,9,123,0,0,0*40 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":3.10,"tdop":5.16,"hdop":12.50,"gdop":8.30,"pdop":12.90,"satellites":[{"PRN":8,"el":49,"az":156,"ss":27,"used":false},{"PRN":17,"el":49,"az":212,"ss":0,"used":false},{"PRN":28,"el":82,"az":35,"ss":36,"used":true},{"PRN":11,"el":38,"az":84,"ss":37,"used":true},{"PRN":26,"el":32,"az":278,"ss":39,"used":true},{"PRN":29,"el":31,"az":270,"ss":38,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":26,"used":false},{"PRN":123,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021614.949,A,5029.3800,N,10441.0388,W,0.016538,341.48,280706,,*1B {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:14.949Z","ept":0.005,"lat":50.489666667,"lon":-104.683980000,"alt":572.300,"epx":32.645,"epy":34.721,"epv":71.300,"track":341.4800,"speed":0.009,"climb":-0.100} $GPGGA,021615.949,5029.3799,N,10441.0387,W,1,04,12.5,572.1,M,-20.3,M,0.0,0000*7C $GPGLL,5029.3799,N,10441.0387,W,021615.949,A*25 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021615.949,A,5029.3799,N,10441.0387,W,0.024470,357.79,280706,,*13 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:15.949Z","ept":0.005,"lat":50.489665000,"lon":-104.683978333,"alt":572.100,"epx":32.645,"epy":34.721,"epv":71.300,"track":357.7900,"speed":0.013,"climb":-0.200,"eps":69.44} $GPGGA,021616.949,5029.3800,N,10441.0387,W,1,04,12.5,571.9,M,-20.3,M,0.0,0000*7B $GPGLL,5029.3800,N,10441.0387,W,021616.949,A*29 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021616.949,A,5029.3800,N,10441.0387,W,0.064679,355.50,280706,,*19 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:16.949Z","ept":0.005,"lat":50.489666667,"lon":-104.683978333,"alt":571.900,"epx":32.645,"epy":34.721,"epv":71.300,"track":355.5000,"speed":0.033,"climb":-0.200,"eps":69.44} $GPGGA,021617.949,5029.3800,N,10441.0387,W,1,04,12.5,571.9,M,-20.3,M,0.0,0000*7A $GPGLL,5029.3800,N,10441.0387,W,021617.949,A*28 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021617.949,A,5029.3800,N,10441.0387,W,0.081945,359.64,280706,,*18 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:17.949Z","ept":0.005,"lat":50.489666667,"lon":-104.683978333,"alt":571.900,"epx":32.645,"epy":34.721,"epv":71.300,"track":359.6400,"speed":0.042,"climb":0.000,"eps":69.44} $GPGGA,021618.949,5029.3801,N,10441.0387,W,1,04,12.5,571.8,M,-20.3,M,0.0,0000*75 $GPGLL,5029.3801,N,10441.0387,W,021618.949,A*26 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021618.949,A,5029.3801,N,10441.0387,W,0.123681,359.07,280706,,*1D {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:18.949Z","ept":0.005,"lat":50.489668333,"lon":-104.683978333,"alt":571.800,"epx":32.645,"epy":34.721,"epv":71.300,"track":359.0700,"speed":0.064,"climb":-0.100,"eps":69.44} $GPGGA,021619.949,5029.3802,N,10441.0387,W,1,04,12.5,571.6,M,-20.3,M,0.0,0000*79 $GPGLL,5029.3802,N,10441.0387,W,021619.949,A*24 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPGSV,3,1,9,8,48,156,25,17,50,212,0,28,82,37,36,11,38,84,36*42 $GPGSV,3,2,9,26,32,277,39,29,31,270,38,19,6,48,0,27,22,152,20*78 $GPGSV,3,3,9,123,0,0,0*40 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":3.10,"tdop":5.16,"hdop":12.50,"gdop":8.30,"pdop":12.90,"satellites":[{"PRN":8,"el":48,"az":156,"ss":25,"used":false},{"PRN":17,"el":50,"az":212,"ss":0,"used":false},{"PRN":28,"el":82,"az":37,"ss":36,"used":true},{"PRN":11,"el":38,"az":84,"ss":36,"used":true},{"PRN":26,"el":32,"az":277,"ss":39,"used":true},{"PRN":29,"el":31,"az":270,"ss":38,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":20,"used":false},{"PRN":123,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021619.949,A,5029.3802,N,10441.0387,W,0.152675,359.28,280706,,*1F {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:19.949Z","ept":0.005,"lat":50.489670000,"lon":-104.683978333,"alt":571.600,"epx":32.645,"epy":34.721,"epv":71.300,"track":359.2800,"speed":0.079,"climb":-0.200,"eps":69.44} $GPGGA,021620.949,5029.3803,N,10441.0387,W,1,04,12.5,571.7,M,-20.3,M,0.0,0000*73 $GPGLL,5029.3803,N,10441.0387,W,021620.949,A*2F $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021620.949,A,5029.3803,N,10441.0387,W,0.149670,359.57,280706,,*13 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:20.949Z","ept":0.005,"lat":50.489671667,"lon":-104.683978333,"alt":571.700,"epx":32.645,"epy":34.721,"epv":71.300,"track":359.5700,"speed":0.077,"climb":0.100,"eps":69.44} $GPGGA,021621.949,5029.3805,N,10441.0387,W,1,04,12.5,571.9,M,-20.3,M,0.0,0000*7A $GPGLL,5029.3805,N,10441.0387,W,021621.949,A*28 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021621.949,A,5029.3805,N,10441.0387,W,0.139805,358.04,280706,,*18 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:21.949Z","ept":0.005,"lat":50.489675000,"lon":-104.683978333,"alt":571.900,"epx":32.645,"epy":34.721,"epv":71.300,"track":358.0400,"speed":0.072,"climb":0.200,"eps":69.44} $GPGGA,021622.949,5029.3806,N,10441.0387,W,1,04,12.5,571.7,M,-20.3,M,0.0,0000*74 $GPGLL,5029.3806,N,10441.0387,W,021622.949,A*28 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021622.949,A,5029.3806,N,10441.0387,W,0.159851,358.60,280706,,*1D {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:22.949Z","ept":0.005,"lat":50.489676667,"lon":-104.683978333,"alt":571.700,"epx":32.645,"epy":34.721,"epv":71.300,"track":358.6000,"speed":0.082,"climb":-0.200,"eps":69.44} $GPGGA,021623.949,5029.3808,N,10441.0387,W,1,04,12.5,571.2,M,-20.3,M,0.0,0000*7E $GPGLL,5029.3808,N,10441.0387,W,021623.949,A*27 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021623.949,A,5029.3808,N,10441.0387,W,0.211601,1.82,280706,,*15 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:23.949Z","ept":0.005,"lat":50.489680000,"lon":-104.683978333,"alt":571.200,"epx":32.645,"epy":34.721,"epv":71.300,"track":1.8200,"speed":0.109,"climb":-0.500,"eps":69.44} $GPGGA,021624.949,5029.3810,N,10441.0386,W,1,04,12.5,570.7,M,-20.3,M,0.0,0000*75 $GPGLL,5029.3810,N,10441.0386,W,021624.949,A*28 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPGSV,3,1,9,8,48,156,25,17,50,212,0,28,82,37,37,11,38,84,37*42 $GPGSV,3,2,9,26,32,277,39,29,31,270,38,19,6,48,0,27,22,152,21*79 $GPGSV,3,3,9,123,0,0,0*40 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":3.10,"tdop":5.16,"hdop":12.50,"gdop":8.30,"pdop":12.90,"satellites":[{"PRN":8,"el":48,"az":156,"ss":25,"used":false},{"PRN":17,"el":50,"az":212,"ss":0,"used":false},{"PRN":28,"el":82,"az":37,"ss":37,"used":true},{"PRN":11,"el":38,"az":84,"ss":37,"used":true},{"PRN":26,"el":32,"az":277,"ss":39,"used":true},{"PRN":29,"el":31,"az":270,"ss":38,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":21,"used":false},{"PRN":123,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021624.949,A,5029.3810,N,10441.0386,W,0.200234,356.84,280706,,*1F {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:24.949Z","ept":0.005,"lat":50.489683333,"lon":-104.683976667,"alt":570.700,"epx":32.645,"epy":34.721,"epv":71.300,"track":356.8400,"speed":0.103,"climb":-0.500,"eps":69.44} $GPGGA,021625.949,5029.3812,N,10441.0386,W,1,04,12.5,570.1,M,-20.3,M,0.0,0000*70 $GPGLL,5029.3812,N,10441.0386,W,021625.949,A*2B $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021625.949,A,5029.3812,N,10441.0386,W,0.222299,359.84,280706,,*14 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:25.949Z","ept":0.005,"lat":50.489686667,"lon":-104.683976667,"alt":570.100,"epx":32.645,"epy":34.721,"epv":71.300,"track":359.8400,"speed":0.114,"climb":-0.600,"eps":69.44} $GPGGA,021626.949,5029.3814,N,10441.0385,W,1,04,12.5,569.4,M,-20.3,M,0.0,0000*7B $GPGLL,5029.3814,N,10441.0385,W,021626.949,A*2D $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021626.949,A,5029.3814,N,10441.0385,W,0.196906,0.09,280706,,*19 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:26.949Z","ept":0.005,"lat":50.489690000,"lon":-104.683975000,"alt":569.400,"epx":32.645,"epy":34.721,"epv":71.300,"track":0.0900,"speed":0.101,"climb":-0.700,"eps":69.44} $GPGGA,021627.948,5029.3815,N,10441.0384,W,1,04,12.5,568.8,M,-20.3,M,0.0,0000*76 $GPGLL,5029.3815,N,10441.0384,W,021627.948,A*2D $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021627.948,A,5029.3815,N,10441.0384,W,0.200037,355.83,280706,,*1F {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:27.948Z","ept":0.005,"lat":50.489691667,"lon":-104.683973333,"alt":568.800,"epx":32.645,"epy":34.721,"epv":71.300,"track":355.8300,"speed":0.103,"climb":-0.601,"eps":69.51} $GPGGA,021628.948,5029.3828,N,10441.0382,W,1,05,2.0,567.6,M,-20.3,M,0.0,0000*45 $GPGLL,5029.3828,N,10441.0382,W,021628.948,A*2A $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPRMC,021628.948,A,5029.3828,N,10441.0382,W,0.144151,5.63,280706,,*12 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:28.948Z","ept":0.005,"lat":50.489713333,"lon":-104.683970000,"alt":567.600,"epx":32.645,"epy":34.721,"epv":71.300,"track":5.6300,"speed":0.074,"climb":-1.200,"eps":69.44} $GPGGA,021629.948,5029.3826,N,10441.0381,W,1,05,2.0,567.0,M,-20.3,M,0.0,0000*4F $GPGLL,5029.3826,N,10441.0381,W,021629.948,A*26 $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPGSV,3,1,9,8,48,156,0,17,50,212,0,28,82,37,37,11,38,84,36*74 $GPGSV,3,2,9,26,32,277,39,29,31,270,37,19,6,48,0,27,22,152,28*7F $GPGSV,3,3,9,124,0,0,0*47 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":3.00,"tdop":5.16,"hdop":2.00,"gdop":8.30,"pdop":3.60,"satellites":[{"PRN":8,"el":48,"az":156,"ss":0,"used":false},{"PRN":17,"el":50,"az":212,"ss":0,"used":false},{"PRN":28,"el":82,"az":37,"ss":37,"used":true},{"PRN":11,"el":38,"az":84,"ss":36,"used":true},{"PRN":26,"el":32,"az":277,"ss":39,"used":true},{"PRN":29,"el":31,"az":270,"ss":37,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":28,"used":true},{"PRN":124,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021629.948,A,5029.3826,N,10441.0381,W,0.066422,8.45,280706,,*17 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:29.948Z","ept":0.005,"lat":50.489710000,"lon":-104.683968333,"alt":567.000,"epx":32.645,"epy":34.721,"epv":69.000,"track":8.4500,"speed":0.034,"climb":-0.600,"eps":69.44} $GPGGA,021630.948,5029.3826,N,10441.0380,W,1,04,12.5,567.0,M,-20.3,M,0.0,0000*73 $GPGLL,5029.3826,N,10441.0380,W,021630.948,A*2F $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021630.948,A,5029.3826,N,10441.0380,W,0.067726,5.22,280706,,*14 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:30.948Z","ept":0.005,"lat":50.489710000,"lon":-104.683966667,"alt":567.000,"epx":32.645,"epy":34.721,"epv":69.000,"track":5.2200,"speed":0.035,"climb":0.000,"eps":69.44} $GPGGA,021631.948,5029.3826,N,10441.0377,W,1,04,12.5,567.2,M,-20.3,M,0.0,0000*78 $GPGLL,5029.3826,N,10441.0377,W,021631.948,A*26 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021631.948,A,5029.3826,N,10441.0377,W,0.050347,4.93,280706,,*11 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:31.948Z","ept":0.005,"lat":50.489710000,"lon":-104.683961667,"alt":567.200,"epx":32.645,"epy":34.721,"epv":71.300,"track":4.9300,"speed":0.026,"climb":0.200,"eps":69.44} $GPGGA,021632.948,5029.3826,N,10441.0370,W,1,05,2.0,567.2,M,-20.3,M,0.0,0000*49 $GPGLL,5029.3826,N,10441.0370,W,021632.948,A*22 $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPRMC,021632.948,A,5029.3826,N,10441.0370,W,0.033580,1.77,280706,,*12 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:32.948Z","ept":0.005,"lat":50.489710000,"lon":-104.683950000,"alt":567.200,"epx":32.645,"epy":34.721,"epv":71.300,"track":1.7700,"speed":0.017,"climb":0.000,"eps":69.44} $GPGGA,021633.948,5029.3826,N,10441.0370,W,1,04,12.5,566.9,M,-20.3,M,0.0,0000*77 $GPGLL,5029.3826,N,10441.0370,W,021633.948,A*23 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021633.948,A,5029.3826,N,10441.0370,W,0.019509,345.64,280706,,*1B {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:33.948Z","ept":0.005,"lat":50.489710000,"lon":-104.683950000,"alt":566.900,"epx":32.645,"epy":34.721,"epv":69.000,"track":345.6400,"speed":0.010,"climb":-0.300,"eps":69.44} $GPGGA,021634.948,5029.3825,N,10441.0370,W,1,04,12.5,566.7,M,-20.3,M,0.0,0000*7D $GPGLL,5029.3825,N,10441.0370,W,021634.948,A*27 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPGSV,3,1,9,8,48,156,0,17,50,212,0,28,82,37,37,11,38,84,36*74 $GPGSV,3,2,9,26,32,277,38,29,31,270,37,19,6,48,0,27,22,152,27*71 $GPGSV,3,3,9,124,0,0,0*47 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":3.10,"tdop":5.16,"hdop":12.50,"gdop":8.30,"pdop":12.90,"satellites":[{"PRN":8,"el":48,"az":156,"ss":0,"used":false},{"PRN":17,"el":50,"az":212,"ss":0,"used":false},{"PRN":28,"el":82,"az":37,"ss":37,"used":true},{"PRN":11,"el":38,"az":84,"ss":36,"used":true},{"PRN":26,"el":32,"az":277,"ss":38,"used":true},{"PRN":29,"el":31,"az":270,"ss":37,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":27,"used":false},{"PRN":124,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021634.948,A,5029.3825,N,10441.0370,W,0.003955,192.84,280706,,*17 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:34.948Z","ept":0.005,"lat":50.489708333,"lon":-104.683950000,"alt":566.700,"epx":32.645,"epy":34.721,"epv":71.300,"track":192.8400,"speed":0.002,"climb":-0.200,"eps":69.44} $GPGGA,021635.948,5029.3825,N,10441.0370,W,1,04,12.5,566.4,M,-20.3,M,0.0,0000*7F $GPGLL,5029.3825,N,10441.0370,W,021635.948,A*26 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021635.948,A,5029.3825,N,10441.0370,W,0.095177,180.09,280706,,*17 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:35.948Z","ept":0.005,"lat":50.489708333,"lon":-104.683950000,"alt":566.400,"epx":32.645,"epy":34.721,"epv":71.300,"track":180.0900,"speed":0.049,"climb":-0.300,"eps":69.44} $GPGGA,021636.948,5029.3825,N,10441.0371,W,1,05,2.0,565.5,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3825,N,10441.0371,W,021636.948,A*24 $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPRMC,021636.948,A,5029.3825,N,10441.0371,W,0.023886,330.86,280706,,*11 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:36.948Z","ept":0.005,"lat":50.489708333,"lon":-104.683951667,"alt":565.500,"epx":32.645,"epy":34.721,"epv":71.300,"track":330.8600,"speed":0.012,"climb":-0.900,"eps":69.44} $GPGGA,021637.948,5029.3827,N,10441.0372,W,1,05,2.0,566.2,M,-20.3,M,0.0,0000*4E $GPGLL,5029.3827,N,10441.0372,W,021637.948,A*24 $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPRMC,021637.948,A,5029.3827,N,10441.0372,W,0.061487,357.24,280706,,*13 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:37.948Z","ept":0.005,"lat":50.489711667,"lon":-104.683953333,"alt":566.200,"epx":32.645,"epy":34.721,"epv":69.000,"track":357.2400,"speed":0.032,"climb":0.700,"eps":69.44} $GPGGA,021638.948,5029.3824,N,10441.0374,W,1,05,2.0,566.2,M,-20.3,M,0.0,0000*44 $GPGLL,5029.3824,N,10441.0374,W,021638.948,A*2E $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPRMC,021638.948,A,5029.3824,N,10441.0374,W,0.024092,262.30,280706,,*1A {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:38.948Z","ept":0.005,"lat":50.489706667,"lon":-104.683956667,"alt":566.200,"epx":32.645,"epy":34.721,"epv":69.000,"track":262.3000,"speed":0.012,"climb":0.000,"eps":69.44} $GPGGA,021639.948,5029.3825,N,10441.0375,W,1,05,2.0,565.6,M,-20.3,M,0.0,0000*42 $GPGLL,5029.3825,N,10441.0375,W,021639.948,A*2F $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPGSV,3,1,9,8,48,156,0,17,50,212,0,28,82,37,37,11,38,84,36*74 $GPGSV,3,2,9,26,32,277,38,29,31,270,36,19,6,48,0,27,22,152,28*7F $GPGSV,3,3,9,124,0,0,0*47 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":3.00,"tdop":5.16,"hdop":2.00,"gdop":8.30,"pdop":3.60,"satellites":[{"PRN":8,"el":48,"az":156,"ss":0,"used":false},{"PRN":17,"el":50,"az":212,"ss":0,"used":false},{"PRN":28,"el":82,"az":37,"ss":37,"used":true},{"PRN":11,"el":38,"az":84,"ss":36,"used":true},{"PRN":26,"el":32,"az":277,"ss":38,"used":true},{"PRN":29,"el":31,"az":270,"ss":36,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":28,"used":true},{"PRN":124,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021639.948,A,5029.3825,N,10441.0375,W,0.024297,20.59,280706,,*27 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:39.948Z","ept":0.005,"lat":50.489708333,"lon":-104.683958333,"alt":565.600,"epx":32.645,"epy":34.721,"epv":69.000,"track":20.5900,"speed":0.012,"climb":-0.600,"eps":69.44} $GPGGA,021640.948,5029.3825,N,10441.0376,W,1,04,12.5,565.3,M,-20.3,M,0.0,0000*7F $GPGLL,5029.3825,N,10441.0376,W,021640.948,A*22 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021640.948,A,5029.3825,N,10441.0376,W,0.027357,327.53,280706,,*1A {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:40.948Z","ept":0.005,"lat":50.489708333,"lon":-104.683960000,"alt":565.300,"epx":32.645,"epy":34.721,"epv":69.000,"track":327.5300,"speed":0.014,"climb":-0.300,"eps":69.44} $GPGGA,021641.948,5029.3825,N,10441.0376,W,1,04,12.5,565.0,M,-20.3,M,0.0,0000*7D $GPGLL,5029.3825,N,10441.0376,W,021641.948,A*23 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021641.948,A,5029.3825,N,10441.0376,W,0.039535,27.78,280706,,*2C {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:41.948Z","ept":0.005,"lat":50.489708333,"lon":-104.683960000,"alt":565.000,"epx":32.645,"epy":34.721,"epv":71.300,"track":27.7800,"speed":0.020,"climb":-0.300,"eps":69.44} $GPGGA,021642.948,5029.3829,N,10441.0379,W,1,05,2.0,564.7,M,-20.3,M,0.0,0000*4E $GPGLL,5029.3829,N,10441.0379,W,021642.948,A*23 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021642.948,A,5029.3829,N,10441.0379,W,0.167129,0.94,280706,,*18 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:42.948Z","ept":0.005,"lat":50.489715000,"lon":-104.683965000,"alt":564.700,"epx":32.645,"epy":34.721,"epv":71.300,"track":0.9400,"speed":0.086,"climb":-0.300,"eps":69.44} $GPGGA,021643.947,5029.3837,N,10441.0381,W,1,05,2.0,563.6,M,-20.3,M,0.0,0000*4E $GPGLL,5029.3837,N,10441.0381,W,021643.947,A*25 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021643.947,A,5029.3837,N,10441.0381,W,0.234120,354.99,280706,,*1D {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:43.947Z","ept":0.005,"lat":50.489728333,"lon":-104.683968333,"alt":563.600,"epx":32.645,"epy":34.721,"epv":64.400,"track":354.9900,"speed":0.120,"climb":-1.101,"eps":69.51} $GPGGA,021644.947,5029.3844,N,10441.0383,W,1,05,2.0,562.5,M,-20.3,M,0.0,0000*4D $GPGLL,5029.3844,N,10441.0383,W,021644.947,A*24 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPGSV,3,1,9,8,48,156,0,17,50,212,33,28,82,37,36,11,38,84,35*46 $GPGSV,3,2,9,26,32,277,37,29,31,270,36,19,6,48,0,27,22,152,25*7D $GPGSV,3,3,9,124,0,0,0*47 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":2.80,"tdop":5.16,"hdop":2.00,"gdop":8.30,"pdop":3.50,"satellites":[{"PRN":8,"el":48,"az":156,"ss":0,"used":false},{"PRN":17,"el":50,"az":212,"ss":33,"used":true},{"PRN":28,"el":82,"az":37,"ss":36,"used":true},{"PRN":11,"el":38,"az":84,"ss":35,"used":true},{"PRN":26,"el":32,"az":277,"ss":37,"used":true},{"PRN":29,"el":31,"az":270,"ss":36,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":25,"used":false},{"PRN":124,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021644.947,A,5029.3844,N,10441.0383,W,0.225686,357.97,280706,,*1A {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:44.947Z","ept":0.005,"lat":50.489740000,"lon":-104.683971667,"alt":562.500,"epx":32.645,"epy":34.721,"epv":64.400,"track":357.9700,"speed":0.116,"climb":-1.100,"eps":69.44} $GPGGA,021645.947,5029.3848,N,10441.0383,W,1,06,1.4,561.4,M,-20.3,M,0.0,0000*46 $GPGLL,5029.3848,N,10441.0383,W,021645.947,A*29 $GPGSA,A,3,17,28,11,26,29,27,,,,,,,2.7,1.4,2.3*35 $GPRMC,021645.947,A,5029.3848,N,10441.0383,W,0.073479,119.81,280706,,*1B {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:45.947Z","ept":0.005,"lat":50.489746667,"lon":-104.683971667,"alt":561.400,"epx":32.645,"epy":34.721,"epv":64.400,"track":119.8100,"speed":0.038,"climb":-1.100,"eps":69.44} $GPGGA,021646.947,5029.3851,N,10441.0382,W,1,05,2.0,561.1,M,-20.3,M,0.0,0000*4D $GPGLL,5029.3851,N,10441.0382,W,021646.947,A*23 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021646.947,A,5029.3851,N,10441.0382,W,0.079997,2.84,280706,,*18 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:46.947Z","ept":0.005,"lat":50.489751667,"lon":-104.683970000,"alt":561.100,"epx":32.645,"epy":34.721,"epv":52.900,"track":2.8400,"speed":0.041,"climb":-0.300,"eps":69.44} $GPGGA,021647.947,5029.3853,N,10441.0382,W,1,05,2.0,560.4,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3853,N,10441.0382,W,021647.947,A*20 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021647.947,A,5029.3853,N,10441.0382,W,0.134821,345.50,280706,,*16 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:47.947Z","ept":0.005,"lat":50.489755000,"lon":-104.683970000,"alt":560.400,"epx":32.645,"epy":34.721,"epv":64.400,"track":345.5000,"speed":0.069,"climb":-0.700,"eps":69.44} $GPGGA,021648.947,5029.3855,N,10441.0380,W,1,05,2.0,560.0,M,-20.3,M,0.0,0000*45 $GPGLL,5029.3855,N,10441.0380,W,021648.947,A*2B $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021648.947,A,5029.3855,N,10441.0380,W,0.135447,3.49,280706,,*19 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:48.947Z","ept":0.005,"lat":50.489758333,"lon":-104.683966667,"alt":560.000,"epx":32.645,"epy":34.721,"epv":64.400,"track":3.4900,"speed":0.070,"climb":-0.400,"eps":69.44} $GPGGA,021649.947,5029.3856,N,10441.0379,W,1,05,2.0,559.3,M,-20.3,M,0.0,0000*48 $GPGLL,5029.3856,N,10441.0379,W,021649.947,A*2F $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPGSV,3,1,9,8,48,156,0,17,50,212,34,28,82,39,35,11,38,84,33*4A $GPGSV,3,2,9,26,32,277,37,29,31,269,34,19,6,48,0,27,22,152,28*7A $GPGSV,3,3,9,124,0,0,0*47 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":2.80,"tdop":5.16,"hdop":2.00,"gdop":8.30,"pdop":3.50,"satellites":[{"PRN":8,"el":48,"az":156,"ss":0,"used":false},{"PRN":17,"el":50,"az":212,"ss":34,"used":true},{"PRN":28,"el":82,"az":39,"ss":35,"used":true},{"PRN":11,"el":38,"az":84,"ss":33,"used":true},{"PRN":26,"el":32,"az":277,"ss":37,"used":true},{"PRN":29,"el":31,"az":269,"ss":34,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":28,"used":false},{"PRN":124,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021649.947,A,5029.3856,N,10441.0379,W,0.118754,16.61,280706,,*2D {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:49.947Z","ept":0.005,"lat":50.489760000,"lon":-104.683965000,"alt":559.300,"epx":32.645,"epy":34.721,"epv":64.400,"track":16.6100,"speed":0.061,"climb":-0.700,"eps":69.44} $GPGGA,021650.947,5029.3857,N,10441.0380,W,1,05,2.0,559.1,M,-20.3,M,0.0,0000*45 $GPGLL,5029.3857,N,10441.0380,W,021650.947,A*20 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021650.947,A,5029.3857,N,10441.0380,W,0.122534,2.49,280706,,*10 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:50.947Z","ept":0.005,"lat":50.489761667,"lon":-104.683966667,"alt":559.100,"epx":32.645,"epy":34.721,"epv":64.400,"track":2.4900,"speed":0.063,"climb":-0.200,"eps":69.44} $GPGGA,021651.947,5029.3856,N,10441.0382,W,1,05,2.0,559.4,M,-20.3,M,0.0,0000*42 $GPGLL,5029.3856,N,10441.0382,W,021651.947,A*22 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021651.947,A,5029.3856,N,10441.0382,W,0.117097,1.44,280706,,*16 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:51.947Z","ept":0.005,"lat":50.489760000,"lon":-104.683970000,"alt":559.400,"epx":32.645,"epy":34.721,"epv":64.400,"track":1.4400,"speed":0.060,"climb":0.300,"eps":69.44} $GPGGA,021652.947,5029.3856,N,10441.0383,W,1,05,2.0,559.6,M,-20.3,M,0.0,0000*42 $GPGLL,5029.3856,N,10441.0383,W,021652.947,A*20 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021652.947,A,5029.3856,N,10441.0383,W,0.110183,9.39,280706,,*15 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:52.947Z","ept":0.005,"lat":50.489760000,"lon":-104.683971667,"alt":559.600,"epx":32.645,"epy":34.721,"epv":64.400,"track":9.3900,"speed":0.057,"climb":0.200,"eps":69.44} $GPGGA,021653.947,5029.3855,N,10441.0382,W,1,05,2.0,559.4,M,-20.3,M,0.0,0000*43 $GPGLL,5029.3855,N,10441.0382,W,021653.947,A*23 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021653.947,A,5029.3855,N,10441.0382,W,0.104481,9.00,280706,,*1E {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:53.947Z","ept":0.005,"lat":50.489758333,"lon":-104.683970000,"alt":559.400,"epx":32.645,"epy":34.721,"epv":64.400,"track":9.0000,"speed":0.054,"climb":-0.200,"eps":69.44} $GPGGA,021654.947,5029.3855,N,10441.0381,W,1,05,2.0,559.5,M,-20.3,M,0.0,0000*46 $GPGLL,5029.3855,N,10441.0381,W,021654.947,A*27 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPGSV,3,1,9,8,48,156,0,17,50,212,34,28,82,39,36,11,38,84,33*49 $GPGSV,3,2,9,26,32,277,37,29,31,269,34,19,6,48,0,27,22,152,0*40 $GPGSV,3,3,9,124,0,0,0*47 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":2.80,"tdop":5.16,"hdop":2.00,"gdop":8.30,"pdop":3.50,"satellites":[{"PRN":8,"el":48,"az":156,"ss":0,"used":false},{"PRN":17,"el":50,"az":212,"ss":34,"used":true},{"PRN":28,"el":82,"az":39,"ss":36,"used":true},{"PRN":11,"el":38,"az":84,"ss":33,"used":true},{"PRN":26,"el":32,"az":277,"ss":37,"used":true},{"PRN":29,"el":31,"az":269,"ss":34,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":0,"used":false},{"PRN":124,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021654.947,A,5029.3855,N,10441.0381,W,0.142516,3.80,280706,,*15 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:54.947Z","ept":0.005,"lat":50.489758333,"lon":-104.683968333,"alt":559.500,"epx":32.645,"epy":34.721,"epv":64.400,"track":3.8000,"speed":0.073,"climb":0.100,"eps":69.44} $GPGGA,021655.947,5029.3855,N,10441.0381,W,1,05,2.0,559.8,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3855,N,10441.0381,W,021655.947,A*26 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021655.947,A,5029.3855,N,10441.0381,W,0.120701,358.47,280706,,*12 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:55.947Z","ept":0.005,"lat":50.489758333,"lon":-104.683968333,"alt":559.800,"epx":32.645,"epy":34.721,"epv":64.400,"track":358.4700,"speed":0.062,"climb":0.300,"eps":69.44} $GPGGA,021656.947,5029.3855,N,10441.0379,W,1,06,1.4,559.8,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3855,N,10441.0379,W,021656.947,A*22 $GPGSA,A,3,17,28,11,26,29,27,,,,,,,2.7,1.4,2.3*35 $GPRMC,021656.947,A,5029.3855,N,10441.0379,W,0.094143,14.12,280706,,*23 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:56.947Z","ept":0.005,"lat":50.489758333,"lon":-104.683965000,"alt":559.800,"epx":32.645,"epy":34.721,"epv":64.400,"track":14.1200,"speed":0.048,"climb":0.000,"eps":69.44} $GPGGA,021657.947,5029.3855,N,10441.0378,W,1,06,1.4,559.8,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3855,N,10441.0378,W,021657.947,A*22 $GPGSA,A,3,17,28,11,26,29,27,,,,,,,2.7,1.4,2.3*35 $GPRMC,021657.947,A,5029.3855,N,10441.0378,W,0.096695,9.89,280706,,*13 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:57.947Z","ept":0.005,"lat":50.489758333,"lon":-104.683963333,"alt":559.800,"epx":32.645,"epy":34.721,"epv":52.900,"track":9.8900,"speed":0.050,"climb":0.000,"eps":69.44} $GPGGA,021658.947,5029.3855,N,10441.0378,W,1,05,2.0,560.0,M,-20.3,M,0.0,0000*43 $GPGLL,5029.3855,N,10441.0378,W,021658.947,A*2D $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021658.947,A,5029.3855,N,10441.0378,W,0.111024,0.77,280706,,*16 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:58.947Z","ept":0.005,"lat":50.489758333,"lon":-104.683963333,"alt":560.000,"epx":32.645,"epy":34.721,"epv":52.900,"track":0.7700,"speed":0.057,"climb":0.200,"eps":69.44} $GPGGA,021659.946,5029.3855,N,10441.0376,W,1,05,2.0,559.8,M,-20.3,M,0.0,0000*4F $GPGLL,5029.3855,N,10441.0376,W,021659.946,A*23 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPGSV,3,1,9,8,48,156,0,17,50,212,33,28,82,39,36,11,38,84,32*4F $GPGSV,3,2,9,26,32,277,36,29,31,269,34,19,6,48,0,27,22,152,27*74 $GPGSV,3,3,9,124,0,0,0*47 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":2.80,"tdop":5.16,"hdop":2.00,"gdop":8.30,"pdop":3.50,"satellites":[{"PRN":8,"el":48,"az":156,"ss":0,"used":false},{"PRN":17,"el":50,"az":212,"ss":33,"used":true},{"PRN":28,"el":82,"az":39,"ss":36,"used":true},{"PRN":11,"el":38,"az":84,"ss":32,"used":true},{"PRN":26,"el":32,"az":277,"ss":36,"used":true},{"PRN":29,"el":31,"az":269,"ss":34,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":27,"used":false},{"PRN":124,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021659.946,A,5029.3855,N,10441.0376,W,0.144243,359.38,280706,,*1F {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:59.946Z","ept":0.005,"lat":50.489758333,"lon":-104.683960000,"alt":559.800,"epx":32.645,"epy":34.721,"epv":64.400,"track":359.3800,"speed":0.074,"climb":-0.200,"eps":69.51} $GPGGA,021700.946,5029.3856,N,10441.0373,W,1,05,2.0,559.4,M,-20.3,M,0.0,0000*48 $GPGLL,5029.3856,N,10441.0373,W,021700.946,A*28 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021700.946,A,5029.3856,N,10441.0373,W,0.127513,359.47,280706,,*1B {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:17:00.946Z","ept":0.005,"lat":50.489760000,"lon":-104.683955000,"alt":559.400,"epx":32.645,"epy":34.721,"epv":64.400,"track":359.4700,"speed":0.066,"climb":-0.400,"eps":69.44} $GPGGA,021701.946,5029.3856,N,10441.0369,W,1,05,2.0,558.6,M,-20.3,M,0.0,0000*41 $GPGLL,5029.3856,N,10441.0369,W,021701.946,A*22 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021701.946,A,5029.3856,N,10441.0369,W,0.082985,16.78,280706,,*28 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:17:01.946Z","ept":0.005,"lat":50.489760000,"lon":-104.683948333,"alt":558.600,"epx":32.645,"epy":34.721,"epv":64.400,"track":16.7800,"speed":0.043,"climb":-0.800,"eps":69.44} $GPGGA,021702.946,5029.3856,N,10441.0365,W,1,05,2.0,557.8,M,-20.3,M,0.0,0000*4F $GPGLL,5029.3856,N,10441.0365,W,021702.946,A*2D $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021702.946,A,5029.3856,N,10441.0365,W,0.108057,8.59,280706,,*1E {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:17:02.946Z","ept":0.005,"lat":50.489760000,"lon":-104.683941667,"alt":557.800,"epx":32.645,"epy":34.721,"epv":64.400,"track":8.5900,"speed":0.056,"climb":-0.800,"eps":69.44} $GPGGA,021703.946,5029.3857,N,10441.0363,W,1,05,2.0,556.8,M,-20.3,M,0.0,0000*48 $GPGLL,5029.3857,N,10441.0363,W,021703.946,A*2B $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021703.946,A,5029.3857,N,10441.0363,W,0.193741,10.55,280706,,*2F {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:17:03.946Z","ept":0.005,"lat":50.489761667,"lon":-104.683938333,"alt":556.800,"epx":32.645,"epy":34.721,"epv":64.400,"track":10.5500,"speed":0.100,"climb":-1.000,"eps":69.44} $GPGGA,021704.946,5029.3858,N,10441.0363,W,1,07,1.3,556.0,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3858,N,10441.0363,W,021704.946,A*23 $GPGSA,A,3,08,17,28,11,26,29,27,,,,,,2.5,1.3,2.1*3A $GPGSV,3,1,9,8,48,156,31,17,50,212,32,28,82,39,39,11,38,84,33*72 $GPGSV,3,2,9,26,32,277,37,29,31,269,34,19,6,48,0,27,22,152,30*73 $GPGSV,3,3,9,124,0,0,0*47 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":2.10,"tdop":5.16,"hdop":1.30,"gdop":8.30,"pdop":2.50,"satellites":[{"PRN":8,"el":48,"az":156,"ss":31,"used":true},{"PRN":17,"el":50,"az":212,"ss":32,"used":true},{"PRN":28,"el":82,"az":39,"ss":39,"used":true},{"PRN":11,"el":38,"az":84,"ss":33,"used":true},{"PRN":26,"el":32,"az":277,"ss":37,"used":true},{"PRN":29,"el":31,"az":269,"ss":34,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":30,"used":true},{"PRN":124,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021704.946,A,5029.3858,N,10441.0363,W,0.096613,335.19,280706,,*19 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:17:04.946Z","ept":0.005,"lat":50.489763333,"lon":-104.683938333,"alt":556.000,"epx":32.645,"epy":34.721,"epv":64.400,"track":335.1900,"speed":0.050,"climb":-0.800,"eps":69.44} $GPGGA,021705.946,5029.3859,N,10441.0363,W,1,07,1.3,555.4,M,-20.3,M,0.0,0000*4D $GPGLL,5029.3859,N,10441.0363,W,021705.946,A*23 $GPGSA,A,3,08,17,28,11,26,29,27,,,,,,2.5,1.3,2.1*3A $GPRMC,021705.946,A,5029.3859,N,10441.0363,W,0.061763,22.98,280706,,*2B {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:17:05.946Z","ept":0.005,"lat":50.489765000,"lon":-104.683938333,"alt":555.400,"epx":32.645,"epy":34.721,"epv":48.300,"track":22.9800,"speed":0.032,"climb":-0.600,"eps":69.44} $GPGGA,021706.946,5029.3860,N,10441.0364,W,1,07,1.3,554.9,M,-20.3,M,0.0,0000*4F $GPGLL,5029.3860,N,10441.0364,W,021706.946,A*2D $GPGSA,A,3,08,17,28,11,26,29,27,,,,,,2.5,1.3,2.1*3A gpsd-3.9/test/daemon/gpslim236.log0000664000175000017500000002436011762140437015155 0ustar esresr# Name: Holux GPSlim 236 # Chipset: SiRF-III # Submitter: "Kévin REDON" # Date: 2006-07-22 # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPGGA,185244.000,4854.2575,N,00219.9816,E,1,05,1.7,124.4,M,47.3,M,,0000*56 $GPGSA,A,3,14,01,30,06,09,,,,,,,,2.8,1.7,2.2*36 $GPGSV,3,1,11,30,79,308,20,05,54,079,16,06,43,204,29,14,39,247,41*75 $GPGSV,3,2,11,01,31,303,31,02,28,077,20,25,17,309,,09,17,138,25*7A $GPGSV,3,3,11,04,14,040,,24,02,020,,20,00,342,*4D $GPRMC,185244.000,A,4854.2575,N,00219.9816,E,0.00,296.61,210706,,,A*6C $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185245.000,4854.2575,N,00219.9815,E,1,05,1.7,124.1,M,47.3,M,,0000*51 $GPRMC,185245.000,A,4854.2575,N,00219.9815,E,0.00,296.61,210706,,,A*6E $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185246.000,4854.2575,N,00219.9814,E,1,05,1.7,124.0,M,47.3,M,,0000*52 $GPRMC,185246.000,A,4854.2575,N,00219.9814,E,0.00,296.61,210706,,,A*6C $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185247.000,4854.2575,N,00219.9814,E,1,05,1.7,124.3,M,47.3,M,,0000*50 $GPRMC,185247.000,A,4854.2575,N,00219.9814,E,0.00,296.61,210706,,,A*6D $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185248.000,4854.2574,N,00219.9812,E,1,05,1.7,123.6,M,47.3,M,,0000*5A $GPRMC,185248.000,A,4854.2574,N,00219.9812,E,0.00,296.61,210706,,,A*65 $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185249.000,4854.2572,N,00219.9810,E,1,05,1.7,123.0,M,47.3,M,,0000*59 $GPGSA,A,3,14,01,30,06,09,,,,,,,,2.8,1.7,2.2*36 $GPGSV,3,1,11,30,79,308,22,05,54,079,16,06,43,204,28,14,39,247,41*76 $GPGSV,3,2,11,01,31,303,31,02,28,077,21,25,17,309,07,09,17,138,25*7C $GPGSV,3,3,11,04,14,040,15,24,02,020,17,20,00,342,13*4D $GPRMC,185249.000,A,4854.2572,N,00219.9810,E,0.00,296.61,210706,,,A*60 $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185250.000,4854.2571,N,00219.9807,E,1,05,1.7,122.0,M,47.3,M,,0000*55 $GPRMC,185250.000,A,4854.2571,N,00219.9807,E,0.00,296.61,210706,,,A*6D $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185251.000,4854.2570,N,00219.9806,E,1,05,1.7,121.8,M,47.3,M,,0000*5F $GPRMC,185251.000,A,4854.2570,N,00219.9806,E,0.00,296.61,210706,,,A*6C $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185252.000,4854.2569,N,00219.9804,E,1,05,1.7,121.2,M,47.3,M,,0000*5C $GPRMC,185252.000,A,4854.2569,N,00219.9804,E,0.00,296.61,210706,,,A*65 $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185253.000,4854.2569,N,00219.9803,E,1,05,1.7,121.1,M,47.3,M,,0000*59 $GPRMC,185253.000,A,4854.2569,N,00219.9803,E,0.00,296.61,210706,,,A*63 $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185254.000,4854.2565,N,00219.9796,E,1,05,1.7,118.1,M,47.3,M,,0000*5B $GPGSA,A,3,14,01,30,06,09,,,,,,,,2.8,1.7,2.2*36 $GPGSV,3,1,11,30,79,308,23,05,54,079,17,06,43,204,28,14,39,247,40*77 $GPGSV,3,2,11,01,31,303,31,02,28,077,20,25,17,309,11,09,17,138,25*7A $GPGSV,3,3,11,04,14,040,08,24,02,020,11,20,00,342,*45 $GPRMC,185254.000,A,4854.2565,N,00219.9796,E,0.00,296.61,210706,,,A*6B $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185255.000,4854.2562,N,00219.9788,E,1,05,1.7,115.0,M,47.3,M,,0000*5E $GPRMC,185255.000,A,4854.2562,N,00219.9788,E,0.00,296.61,210706,,,A*62 $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185256.000,4854.2559,N,00219.9783,E,1,05,1.7,113.0,M,47.3,M,,0000*58 $GPRMC,185256.000,A,4854.2559,N,00219.9783,E,0.00,296.61,210706,,,A*62 $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185257.000,4854.2556,N,00219.9777,E,1,05,1.7,110.4,M,47.3,M,,0000*5A $GPRMC,185257.000,A,4854.2556,N,00219.9777,E,0.00,296.61,210706,,,A*67 $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185258.000,4854.2554,N,00219.9772,E,1,05,1.7,108.4,M,47.3,M,,0000*5B $GPRMC,185258.000,A,4854.2554,N,00219.9772,E,0.00,296.61,210706,,,A*6F $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185259.000,4854.2550,N,00219.9764,E,1,05,1.7,105.3,M,47.3,M,,0000*53 $GPGSA,A,3,14,01,30,06,09,,,,,,,,2.8,1.7,2.2*36 $GPGSV,3,1,11,30,79,308,24,05,54,079,17,06,43,204,29,14,39,247,40*71 $GPGSV,3,2,11,01,31,303,31,02,28,077,13,25,17,309,10,09,17,138,25*7B $GPGSV,3,3,11,04,14,040,10,24,02,020,18,20,00,342,09*4C $GPRMC,185259.000,A,4854.2550,N,00219.9764,E,0.00,296.61,210706,,,A*6D $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185300.000,4854.2547,N,00219.9759,E,1,05,1.7,103.6,M,47.3,M,,0000*55 $GPRMC,185300.000,A,4854.2547,N,00219.9759,E,0.00,296.61,210706,,,A*68 $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185301.000,4854.2545,N,00219.9754,E,1,05,1.7,101.5,M,47.3,M,,0000*5A $GPRMC,185301.000,A,4854.2545,N,00219.9754,E,0.00,296.61,210706,,,A*66 $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185302.000,4854.2543,N,00219.9751,E,1,05,1.7,100.1,M,47.3,M,,0000*5F $GPRMC,185302.000,A,4854.2543,N,00219.9751,E,0.00,296.61,210706,,,A*66 $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185303.000,4854.2543,N,00219.9750,E,1,05,1.7,99.5,M,47.3,M,,0000*6A $GPRMC,185303.000,A,4854.2543,N,00219.9750,E,0.00,296.61,210706,,,A*66 $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185304.000,4854.2543,N,00219.9749,E,1,05,1.7,99.3,M,47.3,M,,0000*63 $GPGSA,A,3,14,01,30,06,09,,,,,,,,2.8,1.7,2.2*36 $GPGSV,3,1,11,30,79,308,24,05,54,079,18,06,43,204,31,14,39,247,40*77 $GPGSV,3,2,11,01,31,303,31,02,28,077,11,25,17,309,13,09,17,138,24*7B $GPGSV,3,3,11,04,14,040,10,24,02,020,07,20,00,342,12*48 $GPRMC,185304.000,A,4854.2543,N,00219.9749,E,0.00,296.61,210706,,,A*69 $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185305.000,4854.2542,N,00219.9749,E,1,05,1.7,99.0,M,47.3,M,,0000*60 $GPRMC,185305.000,A,4854.2542,N,00219.9749,E,0.00,296.61,210706,,,A*69 $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185306.000,4854.2543,N,00219.9751,E,1,05,1.7,99.2,M,47.3,M,,0000*69 $GPRMC,185306.000,A,4854.2543,N,00219.9751,E,0.00,296.61,210706,,,A*62 $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185307.000,4854.2542,N,00219.9749,E,1,05,1.7,98.8,M,47.3,M,,0000*6B $GPRMC,185307.000,A,4854.2542,N,00219.9749,E,0.00,296.61,210706,,,A*6B $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185308.000,4854.2542,N,00219.9746,E,1,05,1.7,98.8,M,47.3,M,,0000*6B $GPRMC,185308.000,A,4854.2542,N,00219.9746,E,1.05,277.83,210706,,,A*6C $GPVTG,277.83,T,,M,1.05,N,1.9,K,A*08 $GPGGA,185309.000,4854.2542,N,00219.9744,E,1,05,1.7,98.4,M,47.3,M,,0000*64 $GPGSA,A,3,14,01,30,06,09,,,,,,,,2.8,1.7,2.2*36 $GPGSV,3,1,11,30,79,308,23,05,54,079,18,06,43,204,32,14,39,247,40*73 $GPGSV,3,2,11,01,31,303,31,02,28,077,15,25,17,309,11,09,17,138,24*7D $GPGSV,3,3,11,04,14,040,,24,02,020,,20,00,342,11*4D $GPRMC,185309.000,A,4854.2542,N,00219.9744,E,0.00,277.83,210706,,,A*6B $GPVTG,277.83,T,,M,0.00,N,0.0,K,A*04 $GPGGA,185310.000,4854.2540,N,00219.9743,E,1,05,1.7,97.3,M,47.3,M,,0000*61 $GPRMC,185310.000,A,4854.2540,N,00219.9743,E,0.00,277.83,210706,,,A*66 $GPVTG,277.83,T,,M,0.00,N,0.0,K,A*04 $GPGGA,185311.000,4854.2541,N,00219.9746,E,1,05,1.7,97.3,M,47.3,M,,0000*64 $GPRMC,185311.000,A,4854.2541,N,00219.9746,E,0.00,277.83,210706,,,A*63 $GPVTG,277.83,T,,M,0.00,N,0.0,K,A*04 $GPGGA,185312.000,4854.2542,N,00219.9750,E,1,05,1.7,97.9,M,47.3,M,,0000*69 $GPRMC,185312.000,A,4854.2542,N,00219.9750,E,0.00,277.83,210706,,,A*64 $GPVTG,277.83,T,,M,0.00,N,0.0,K,A*04 $GPGGA,185313.000,4854.2542,N,00219.9753,E,1,05,1.7,98.4,M,47.3,M,,0000*69 $GPRMC,185313.000,A,4854.2542,N,00219.9753,E,0.00,277.83,210706,,,A*66 $GPVTG,277.83,T,,M,0.00,N,0.0,K,A*04 $GPGGA,185314.000,4854.2542,N,00219.9750,E,1,05,1.7,98.5,M,47.3,M,,0000*6C $GPGSA,A,3,14,01,30,06,09,,,,,,,,2.8,1.7,2.2*36 $GPGSV,3,1,11,30,79,308,22,05,54,079,19,06,43,204,33,14,39,247,40*72 $GPGSV,3,2,11,01,31,303,30,02,28,077,,25,17,309,08,09,17,138,23*77 $GPGSV,3,3,11,04,14,040,14,24,02,020,09,20,00,342,08*49 $GPRMC,185314.000,A,4854.2542,N,00219.9750,E,1.06,270.56,210706,,,A*6A $GPVTG,270.56,T,,M,1.06,N,2.0,K,A*0E $GPGGA,185315.000,4854.2543,N,00219.9748,E,1,05,1.7,99.0,M,47.3,M,,0000*61 $GPRMC,185315.000,A,4854.2543,N,00219.9748,E,0.00,270.56,210706,,,A*64 $GPVTG,270.56,T,,M,0.00,N,0.0,K,A*0B $GPGGA,185316.000,4854.2544,N,00219.9751,E,1,05,1.7,99.1,M,47.3,M,,0000*6C $GPRMC,185316.000,A,4854.2544,N,00219.9751,E,0.00,270.56,210706,,,A*68 $GPVTG,270.56,T,,M,0.00,N,0.0,K,A*0B $GPGGA,185317.000,4854.2546,N,00219.9759,E,1,05,1.7,100.3,M,47.3,M,,0000*54 $GPRMC,185317.000,A,4854.2546,N,00219.9759,E,0.00,270.56,210706,,,A*63 $GPVTG,270.56,T,,M,0.00,N,0.0,K,A*0B $GPGGA,185318.000,4854.2547,N,00219.9762,E,1,05,1.7,101.1,M,47.3,M,,0000*51 $GPRMC,185318.000,A,4854.2547,N,00219.9762,E,0.00,270.56,210706,,,A*65 $GPVTG,270.56,T,,M,0.00,N,0.0,K,A*0B $GPGGA,185319.000,4854.2546,N,00219.9758,E,1,05,1.7,100.3,M,47.3,M,,0000*5B $GPGSA,A,3,14,01,30,06,09,,,,,,,,2.7,1.7,2.2*39 $GPGSV,3,1,11,30,79,308,21,05,54,079,19,06,43,204,34,14,39,247,40*76 $GPGSV,3,2,11,01,31,303,30,02,28,077,,25,17,309,14,09,17,138,23*7A $GPGSV,3,3,11,04,14,040,10,24,02,020,09,20,00,342,12*46 $GPRMC,185319.000,A,4854.2546,N,00219.9758,E,0.00,270.56,210706,,,A*6C $GPVTG,270.56,T,,M,0.00,N,0.0,K,A*0B $GPGGA,185320.000,4854.2545,N,00219.9757,E,1,05,1.7,99.8,M,47.3,M,,0000*67 $GPRMC,185320.000,A,4854.2545,N,00219.9757,E,0.00,270.56,210706,,,A*6A $GPVTG,270.56,T,,M,0.00,N,0.0,K,A*0B $GPGGA,185321.000,4854.2544,N,00219.9753,E,1,05,1.7,99.1,M,47.3,M,,0000*6A $GPRMC,185321.000,A,4854.2544,N,00219.9753,E,1.28,261.85,210706,,,A*6B $GPVTG,261.85,T,,M,1.28,N,2.4,K,A*08 $GPGGA,185322.000,4854.2544,N,00219.9752,E,1,05,1.7,99.4,M,47.3,M,,0000*6D $GPRMC,185322.000,A,4854.2544,N,00219.9752,E,0.00,261.85,210706,,,A*62 $GPVTG,261.85,T,,M,0.00,N,0.0,K,A*05 $GPGGA,185323.000,4854.2544,N,00219.9753,E,1,05,1.7,99.5,M,47.3,M,,0000*6C $GPRMC,185323.000,A,4854.2544,N,00219.9753,E,0.00,261.85,210706,,,A*62 $GPVTG,261.85,T,,M,0.00,N,0.0,K,A*05 $GPGGA,185324.000,4854.2545,N,00219.9754,E,1,05,1.7,99.5,M,47.3,M,,0000*6D $GPGSA,A,3,14,01,30,06,09,,,,,,,,2.7,1.7,2.2*39 $GPGSV,3,1,11,30,79,308,20,05,54,079,18,06,43,204,35,14,39,247,40*77 $GPGSV,3,2,11,01,31,303,30,02,28,077,,25,17,309,11,09,17,138,22*7E $GPGSV,3,3,11,04,14,040,,24,02,020,08,20,00,342,08*4D $GPRMC,185324.000,A,4854.2545,N,00219.9754,E,0.00,261.85,210706,,,A*63 $GPVTG,261.85,T,,M,0.00,N,0.0,K,A*05 $GPGGA,185325.000,4854.2546,N,00219.9759,E,1,05,1.7,99.9,M,47.3,M,,0000*6E $GPRMC,185325.000,A,4854.2546,N,00219.9759,E,0.00,261.85,210706,,,A*6C $GPVTG,261.85,T,,M,0.00,N,0.0,K,A*05 $GPGGA,185326.000,4854.2547,N,00219.9763,E,1,05,1.7,99.7,M,47.3,M,,0000*6B $GPRMC,185326.000,A,4854.2547,N,00219.9763,E,0.00,261.85,210706,,,A*67 $GPVTG,261.85,T,,M,0.00,N,0.0,K,A*05 $GPGGA,185327.000,4854.2546,N,00219.9764,E,1,05,1.7,98.5,M,47.3,M,,0000*6F $GPRMC,185327.000,A,4854.2546,N,00219.9764,E,0.00,261.85,210706,,,A*60 $GPVTG,261.85,T,,M,0.00,N,0.0,K,A*05 gpsd-3.9/test/daemon/gpslim236.log.chk0000664000175000017500000006343212135526340015720 0ustar esresr$GPGGA,185244.000,4854.2575,N,00219.9816,E,1,05,1.7,124.4,M,47.3,M,,0000*56 {"class":"TPV","tag":"GGA","mode":3,"lat":48.904291667,"lon":2.333026667,"alt":124.400} $GPGSA,A,3,14,01,30,06,09,,,,,,,,2.8,1.7,2.2*36 {"class":"TPV","tag":"GSA","mode":3,"lat":48.904291667,"lon":2.333026667,"alt":124.400,"epv":50.600} $GPGSV,3,1,11,30,79,308,20,05,54,079,16,06,43,204,29,14,39,247,41*75 $GPGSV,3,2,11,01,31,303,31,02,28,077,20,25,17,309,,09,17,138,25*7A $GPGSV,3,3,11,04,14,040,,24,02,020,,20,00,342,*4D {"class":"SKY","tag":"GSV","xdop":1.21,"ydop":1.14,"vdop":2.20,"tdop":2.85,"hdop":1.70,"gdop":4.89,"pdop":2.80,"satellites":[{"PRN":30,"el":79,"az":308,"ss":20,"used":true},{"PRN":5,"el":54,"az":79,"ss":16,"used":false},{"PRN":6,"el":43,"az":204,"ss":29,"used":true},{"PRN":14,"el":39,"az":247,"ss":41,"used":true},{"PRN":1,"el":31,"az":303,"ss":31,"used":true},{"PRN":2,"el":28,"az":77,"ss":20,"used":false},{"PRN":25,"el":17,"az":309,"ss":0,"used":false},{"PRN":9,"el":17,"az":138,"ss":25,"used":true},{"PRN":4,"el":14,"az":40,"ss":0,"used":false},{"PRN":24,"el":2,"az":20,"ss":0,"used":false},{"PRN":20,"el":0,"az":342,"ss":0,"used":false}]} $GPRMC,185244.000,A,4854.2575,N,00219.9816,E,0.00,296.61,210706,,,A*6C {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:52:44.000Z","ept":0.005,"lat":48.904291667,"lon":2.333026667,"alt":124.400,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185245.000,4854.2575,N,00219.9815,E,1,05,1.7,124.1,M,47.3,M,,0000*51 $GPRMC,185245.000,A,4854.2575,N,00219.9815,E,0.00,296.61,210706,,,A*6E {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:52:45.000Z","ept":0.005,"lat":48.904291667,"lon":2.333025000,"alt":124.100,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":-0.300,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185246.000,4854.2575,N,00219.9814,E,1,05,1.7,124.0,M,47.3,M,,0000*52 $GPRMC,185246.000,A,4854.2575,N,00219.9814,E,0.00,296.61,210706,,,A*6C {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:52:46.000Z","ept":0.005,"lat":48.904291667,"lon":2.333023333,"alt":124.000,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":-0.100,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185247.000,4854.2575,N,00219.9814,E,1,05,1.7,124.3,M,47.3,M,,0000*50 $GPRMC,185247.000,A,4854.2575,N,00219.9814,E,0.00,296.61,210706,,,A*6D {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:52:47.000Z","ept":0.005,"lat":48.904291667,"lon":2.333023333,"alt":124.300,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":0.300,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185248.000,4854.2574,N,00219.9812,E,1,05,1.7,123.6,M,47.3,M,,0000*5A $GPRMC,185248.000,A,4854.2574,N,00219.9812,E,0.00,296.61,210706,,,A*65 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:52:48.000Z","ept":0.005,"lat":48.904290000,"lon":2.333020000,"alt":123.600,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":-0.700,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185249.000,4854.2572,N,00219.9810,E,1,05,1.7,123.0,M,47.3,M,,0000*59 $GPGSA,A,3,14,01,30,06,09,,,,,,,,2.8,1.7,2.2*36 $GPGSV,3,1,11,30,79,308,22,05,54,079,16,06,43,204,28,14,39,247,41*76 $GPGSV,3,2,11,01,31,303,31,02,28,077,21,25,17,309,07,09,17,138,25*7C $GPGSV,3,3,11,04,14,040,15,24,02,020,17,20,00,342,13*4D {"class":"SKY","tag":"GSV","xdop":1.21,"ydop":1.14,"vdop":2.20,"tdop":2.85,"hdop":1.70,"gdop":4.89,"pdop":2.80,"satellites":[{"PRN":30,"el":79,"az":308,"ss":22,"used":true},{"PRN":5,"el":54,"az":79,"ss":16,"used":false},{"PRN":6,"el":43,"az":204,"ss":28,"used":true},{"PRN":14,"el":39,"az":247,"ss":41,"used":true},{"PRN":1,"el":31,"az":303,"ss":31,"used":true},{"PRN":2,"el":28,"az":77,"ss":21,"used":false},{"PRN":25,"el":17,"az":309,"ss":7,"used":false},{"PRN":9,"el":17,"az":138,"ss":25,"used":true},{"PRN":4,"el":14,"az":40,"ss":15,"used":false},{"PRN":24,"el":2,"az":20,"ss":17,"used":false},{"PRN":20,"el":0,"az":342,"ss":13,"used":false}]} $GPRMC,185249.000,A,4854.2572,N,00219.9810,E,0.00,296.61,210706,,,A*60 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:52:49.000Z","ept":0.005,"lat":48.904286667,"lon":2.333016667,"alt":123.000,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":-0.600,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185250.000,4854.2571,N,00219.9807,E,1,05,1.7,122.0,M,47.3,M,,0000*55 $GPRMC,185250.000,A,4854.2571,N,00219.9807,E,0.00,296.61,210706,,,A*6D {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:52:50.000Z","ept":0.005,"lat":48.904285000,"lon":2.333011667,"alt":122.000,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":-1.000,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185251.000,4854.2570,N,00219.9806,E,1,05,1.7,121.8,M,47.3,M,,0000*5F $GPRMC,185251.000,A,4854.2570,N,00219.9806,E,0.00,296.61,210706,,,A*6C {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:52:51.000Z","ept":0.005,"lat":48.904283333,"lon":2.333010000,"alt":121.800,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":-0.200,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185252.000,4854.2569,N,00219.9804,E,1,05,1.7,121.2,M,47.3,M,,0000*5C $GPRMC,185252.000,A,4854.2569,N,00219.9804,E,0.00,296.61,210706,,,A*65 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:52:52.000Z","ept":0.005,"lat":48.904281667,"lon":2.333006667,"alt":121.200,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":-0.600,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185253.000,4854.2569,N,00219.9803,E,1,05,1.7,121.1,M,47.3,M,,0000*59 $GPRMC,185253.000,A,4854.2569,N,00219.9803,E,0.00,296.61,210706,,,A*63 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:52:53.000Z","ept":0.005,"lat":48.904281667,"lon":2.333005000,"alt":121.100,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":-0.100,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185254.000,4854.2565,N,00219.9796,E,1,05,1.7,118.1,M,47.3,M,,0000*5B $GPGSA,A,3,14,01,30,06,09,,,,,,,,2.8,1.7,2.2*36 $GPGSV,3,1,11,30,79,308,23,05,54,079,17,06,43,204,28,14,39,247,40*77 $GPGSV,3,2,11,01,31,303,31,02,28,077,20,25,17,309,11,09,17,138,25*7A $GPGSV,3,3,11,04,14,040,08,24,02,020,11,20,00,342,*45 {"class":"SKY","tag":"GSV","xdop":1.21,"ydop":1.14,"vdop":2.20,"tdop":2.85,"hdop":1.70,"gdop":4.89,"pdop":2.80,"satellites":[{"PRN":30,"el":79,"az":308,"ss":23,"used":true},{"PRN":5,"el":54,"az":79,"ss":17,"used":false},{"PRN":6,"el":43,"az":204,"ss":28,"used":true},{"PRN":14,"el":39,"az":247,"ss":40,"used":true},{"PRN":1,"el":31,"az":303,"ss":31,"used":true},{"PRN":2,"el":28,"az":77,"ss":20,"used":false},{"PRN":25,"el":17,"az":309,"ss":11,"used":false},{"PRN":9,"el":17,"az":138,"ss":25,"used":true},{"PRN":4,"el":14,"az":40,"ss":8,"used":false},{"PRN":24,"el":2,"az":20,"ss":11,"used":false},{"PRN":20,"el":0,"az":342,"ss":0,"used":false}]} $GPRMC,185254.000,A,4854.2565,N,00219.9796,E,0.00,296.61,210706,,,A*6B {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:52:54.000Z","ept":0.005,"lat":48.904275000,"lon":2.332993333,"alt":118.100,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":-3.000,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185255.000,4854.2562,N,00219.9788,E,1,05,1.7,115.0,M,47.3,M,,0000*5E $GPRMC,185255.000,A,4854.2562,N,00219.9788,E,0.00,296.61,210706,,,A*62 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:52:55.000Z","ept":0.005,"lat":48.904270000,"lon":2.332980000,"alt":115.000,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":-3.100,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185256.000,4854.2559,N,00219.9783,E,1,05,1.7,113.0,M,47.3,M,,0000*58 $GPRMC,185256.000,A,4854.2559,N,00219.9783,E,0.00,296.61,210706,,,A*62 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:52:56.000Z","ept":0.005,"lat":48.904265000,"lon":2.332971667,"alt":113.000,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":-2.000,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185257.000,4854.2556,N,00219.9777,E,1,05,1.7,110.4,M,47.3,M,,0000*5A $GPRMC,185257.000,A,4854.2556,N,00219.9777,E,0.00,296.61,210706,,,A*67 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:52:57.000Z","ept":0.005,"lat":48.904260000,"lon":2.332961667,"alt":110.400,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":-2.600,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185258.000,4854.2554,N,00219.9772,E,1,05,1.7,108.4,M,47.3,M,,0000*5B $GPRMC,185258.000,A,4854.2554,N,00219.9772,E,0.00,296.61,210706,,,A*6F {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:52:58.000Z","ept":0.005,"lat":48.904256667,"lon":2.332953333,"alt":108.400,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":-2.000,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185259.000,4854.2550,N,00219.9764,E,1,05,1.7,105.3,M,47.3,M,,0000*53 $GPGSA,A,3,14,01,30,06,09,,,,,,,,2.8,1.7,2.2*36 $GPGSV,3,1,11,30,79,308,24,05,54,079,17,06,43,204,29,14,39,247,40*71 $GPGSV,3,2,11,01,31,303,31,02,28,077,13,25,17,309,10,09,17,138,25*7B $GPGSV,3,3,11,04,14,040,10,24,02,020,18,20,00,342,09*4C {"class":"SKY","tag":"GSV","xdop":1.21,"ydop":1.14,"vdop":2.20,"tdop":2.85,"hdop":1.70,"gdop":4.89,"pdop":2.80,"satellites":[{"PRN":30,"el":79,"az":308,"ss":24,"used":true},{"PRN":5,"el":54,"az":79,"ss":17,"used":false},{"PRN":6,"el":43,"az":204,"ss":29,"used":true},{"PRN":14,"el":39,"az":247,"ss":40,"used":true},{"PRN":1,"el":31,"az":303,"ss":31,"used":true},{"PRN":2,"el":28,"az":77,"ss":13,"used":false},{"PRN":25,"el":17,"az":309,"ss":10,"used":false},{"PRN":9,"el":17,"az":138,"ss":25,"used":true},{"PRN":4,"el":14,"az":40,"ss":10,"used":false},{"PRN":24,"el":2,"az":20,"ss":18,"used":false},{"PRN":20,"el":0,"az":342,"ss":9,"used":false}]} $GPRMC,185259.000,A,4854.2550,N,00219.9764,E,0.00,296.61,210706,,,A*6D {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:52:59.000Z","ept":0.005,"lat":48.904250000,"lon":2.332940000,"alt":105.300,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":-3.100,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185300.000,4854.2547,N,00219.9759,E,1,05,1.7,103.6,M,47.3,M,,0000*55 $GPRMC,185300.000,A,4854.2547,N,00219.9759,E,0.00,296.61,210706,,,A*68 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:00.000Z","ept":0.005,"lat":48.904245000,"lon":2.332931667,"alt":103.600,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":-1.700,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185301.000,4854.2545,N,00219.9754,E,1,05,1.7,101.5,M,47.3,M,,0000*5A $GPRMC,185301.000,A,4854.2545,N,00219.9754,E,0.00,296.61,210706,,,A*66 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:01.000Z","ept":0.005,"lat":48.904241667,"lon":2.332923333,"alt":101.500,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":-2.100,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185302.000,4854.2543,N,00219.9751,E,1,05,1.7,100.1,M,47.3,M,,0000*5F $GPRMC,185302.000,A,4854.2543,N,00219.9751,E,0.00,296.61,210706,,,A*66 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:02.000Z","ept":0.005,"lat":48.904238333,"lon":2.332918333,"alt":100.100,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":-1.400,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185303.000,4854.2543,N,00219.9750,E,1,05,1.7,99.5,M,47.3,M,,0000*6A $GPRMC,185303.000,A,4854.2543,N,00219.9750,E,0.00,296.61,210706,,,A*66 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:03.000Z","ept":0.005,"lat":48.904238333,"lon":2.332916667,"alt":99.500,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":-0.600,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185304.000,4854.2543,N,00219.9749,E,1,05,1.7,99.3,M,47.3,M,,0000*63 $GPGSA,A,3,14,01,30,06,09,,,,,,,,2.8,1.7,2.2*36 $GPGSV,3,1,11,30,79,308,24,05,54,079,18,06,43,204,31,14,39,247,40*77 $GPGSV,3,2,11,01,31,303,31,02,28,077,11,25,17,309,13,09,17,138,24*7B $GPGSV,3,3,11,04,14,040,10,24,02,020,07,20,00,342,12*48 {"class":"SKY","tag":"GSV","xdop":1.21,"ydop":1.14,"vdop":2.20,"tdop":2.85,"hdop":1.70,"gdop":4.89,"pdop":2.80,"satellites":[{"PRN":30,"el":79,"az":308,"ss":24,"used":true},{"PRN":5,"el":54,"az":79,"ss":18,"used":false},{"PRN":6,"el":43,"az":204,"ss":31,"used":true},{"PRN":14,"el":39,"az":247,"ss":40,"used":true},{"PRN":1,"el":31,"az":303,"ss":31,"used":true},{"PRN":2,"el":28,"az":77,"ss":11,"used":false},{"PRN":25,"el":17,"az":309,"ss":13,"used":false},{"PRN":9,"el":17,"az":138,"ss":24,"used":true},{"PRN":4,"el":14,"az":40,"ss":10,"used":false},{"PRN":24,"el":2,"az":20,"ss":7,"used":false},{"PRN":20,"el":0,"az":342,"ss":12,"used":false}]} $GPRMC,185304.000,A,4854.2543,N,00219.9749,E,0.00,296.61,210706,,,A*69 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:04.000Z","ept":0.005,"lat":48.904238333,"lon":2.332915000,"alt":99.300,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":-0.200,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185305.000,4854.2542,N,00219.9749,E,1,05,1.7,99.0,M,47.3,M,,0000*60 $GPRMC,185305.000,A,4854.2542,N,00219.9749,E,0.00,296.61,210706,,,A*69 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:05.000Z","ept":0.005,"lat":48.904236667,"lon":2.332915000,"alt":99.000,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":-0.300,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185306.000,4854.2543,N,00219.9751,E,1,05,1.7,99.2,M,47.3,M,,0000*69 $GPRMC,185306.000,A,4854.2543,N,00219.9751,E,0.00,296.61,210706,,,A*62 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:06.000Z","ept":0.005,"lat":48.904238333,"lon":2.332918333,"alt":99.200,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":0.200,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185307.000,4854.2542,N,00219.9749,E,1,05,1.7,98.8,M,47.3,M,,0000*6B $GPRMC,185307.000,A,4854.2542,N,00219.9749,E,0.00,296.61,210706,,,A*6B {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:07.000Z","ept":0.005,"lat":48.904236667,"lon":2.332915000,"alt":98.800,"epx":18.222,"epy":17.174,"epv":50.600,"track":296.6100,"speed":0.000,"climb":-0.400,"eps":36.44} $GPVTG,296.61,T,,M,0.00,N,0.0,K,A*07 $GPGGA,185308.000,4854.2542,N,00219.9746,E,1,05,1.7,98.8,M,47.3,M,,0000*6B $GPRMC,185308.000,A,4854.2542,N,00219.9746,E,1.05,277.83,210706,,,A*6C {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:08.000Z","ept":0.005,"lat":48.904236667,"lon":2.332910000,"alt":98.800,"epx":18.222,"epy":17.174,"epv":50.600,"track":277.8300,"speed":0.540,"climb":0.000,"eps":36.44} $GPVTG,277.83,T,,M,1.05,N,1.9,K,A*08 $GPGGA,185309.000,4854.2542,N,00219.9744,E,1,05,1.7,98.4,M,47.3,M,,0000*64 $GPGSA,A,3,14,01,30,06,09,,,,,,,,2.8,1.7,2.2*36 $GPGSV,3,1,11,30,79,308,23,05,54,079,18,06,43,204,32,14,39,247,40*73 $GPGSV,3,2,11,01,31,303,31,02,28,077,15,25,17,309,11,09,17,138,24*7D $GPGSV,3,3,11,04,14,040,,24,02,020,,20,00,342,11*4D {"class":"SKY","tag":"GSV","xdop":1.21,"ydop":1.14,"vdop":2.20,"tdop":2.85,"hdop":1.70,"gdop":4.89,"pdop":2.80,"satellites":[{"PRN":30,"el":79,"az":308,"ss":23,"used":true},{"PRN":5,"el":54,"az":79,"ss":18,"used":false},{"PRN":6,"el":43,"az":204,"ss":32,"used":true},{"PRN":14,"el":39,"az":247,"ss":40,"used":true},{"PRN":1,"el":31,"az":303,"ss":31,"used":true},{"PRN":2,"el":28,"az":77,"ss":15,"used":false},{"PRN":25,"el":17,"az":309,"ss":11,"used":false},{"PRN":9,"el":17,"az":138,"ss":24,"used":true},{"PRN":4,"el":14,"az":40,"ss":0,"used":false},{"PRN":24,"el":2,"az":20,"ss":0,"used":false},{"PRN":20,"el":0,"az":342,"ss":11,"used":false}]} $GPRMC,185309.000,A,4854.2542,N,00219.9744,E,0.00,277.83,210706,,,A*6B {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:09.000Z","ept":0.005,"lat":48.904236667,"lon":2.332906667,"alt":98.400,"epx":18.222,"epy":17.174,"epv":50.600,"track":277.8300,"speed":0.000,"climb":-0.400,"eps":36.44} $GPVTG,277.83,T,,M,0.00,N,0.0,K,A*04 $GPGGA,185310.000,4854.2540,N,00219.9743,E,1,05,1.7,97.3,M,47.3,M,,0000*61 $GPRMC,185310.000,A,4854.2540,N,00219.9743,E,0.00,277.83,210706,,,A*66 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:10.000Z","ept":0.005,"lat":48.904233333,"lon":2.332905000,"alt":97.300,"epx":18.222,"epy":17.174,"epv":50.600,"track":277.8300,"speed":0.000,"climb":-1.100,"eps":36.44} $GPVTG,277.83,T,,M,0.00,N,0.0,K,A*04 $GPGGA,185311.000,4854.2541,N,00219.9746,E,1,05,1.7,97.3,M,47.3,M,,0000*64 $GPRMC,185311.000,A,4854.2541,N,00219.9746,E,0.00,277.83,210706,,,A*63 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:11.000Z","ept":0.005,"lat":48.904235000,"lon":2.332910000,"alt":97.300,"epx":18.222,"epy":17.174,"epv":50.600,"track":277.8300,"speed":0.000,"climb":0.000,"eps":36.44} $GPVTG,277.83,T,,M,0.00,N,0.0,K,A*04 $GPGGA,185312.000,4854.2542,N,00219.9750,E,1,05,1.7,97.9,M,47.3,M,,0000*69 $GPRMC,185312.000,A,4854.2542,N,00219.9750,E,0.00,277.83,210706,,,A*64 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:12.000Z","ept":0.005,"lat":48.904236667,"lon":2.332916667,"alt":97.900,"epx":18.222,"epy":17.174,"epv":50.600,"track":277.8300,"speed":0.000,"climb":0.600,"eps":36.44} $GPVTG,277.83,T,,M,0.00,N,0.0,K,A*04 $GPGGA,185313.000,4854.2542,N,00219.9753,E,1,05,1.7,98.4,M,47.3,M,,0000*69 $GPRMC,185313.000,A,4854.2542,N,00219.9753,E,0.00,277.83,210706,,,A*66 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:13.000Z","ept":0.005,"lat":48.904236667,"lon":2.332921667,"alt":98.400,"epx":18.222,"epy":17.174,"epv":50.600,"track":277.8300,"speed":0.000,"climb":0.500,"eps":36.44} $GPVTG,277.83,T,,M,0.00,N,0.0,K,A*04 $GPGGA,185314.000,4854.2542,N,00219.9750,E,1,05,1.7,98.5,M,47.3,M,,0000*6C $GPGSA,A,3,14,01,30,06,09,,,,,,,,2.8,1.7,2.2*36 $GPGSV,3,1,11,30,79,308,22,05,54,079,19,06,43,204,33,14,39,247,40*72 $GPGSV,3,2,11,01,31,303,30,02,28,077,,25,17,309,08,09,17,138,23*77 $GPGSV,3,3,11,04,14,040,14,24,02,020,09,20,00,342,08*49 {"class":"SKY","tag":"GSV","xdop":1.21,"ydop":1.14,"vdop":2.20,"tdop":2.85,"hdop":1.70,"gdop":4.89,"pdop":2.80,"satellites":[{"PRN":30,"el":79,"az":308,"ss":22,"used":true},{"PRN":5,"el":54,"az":79,"ss":19,"used":false},{"PRN":6,"el":43,"az":204,"ss":33,"used":true},{"PRN":14,"el":39,"az":247,"ss":40,"used":true},{"PRN":1,"el":31,"az":303,"ss":30,"used":true},{"PRN":2,"el":28,"az":77,"ss":0,"used":false},{"PRN":25,"el":17,"az":309,"ss":8,"used":false},{"PRN":9,"el":17,"az":138,"ss":23,"used":true},{"PRN":4,"el":14,"az":40,"ss":14,"used":false},{"PRN":24,"el":2,"az":20,"ss":9,"used":false},{"PRN":20,"el":0,"az":342,"ss":8,"used":false}]} $GPRMC,185314.000,A,4854.2542,N,00219.9750,E,1.06,270.56,210706,,,A*6A {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:14.000Z","ept":0.005,"lat":48.904236667,"lon":2.332916667,"alt":98.500,"epx":18.222,"epy":17.174,"epv":50.600,"track":270.5600,"speed":0.545,"climb":0.100,"eps":36.44} $GPVTG,270.56,T,,M,1.06,N,2.0,K,A*0E $GPGGA,185315.000,4854.2543,N,00219.9748,E,1,05,1.7,99.0,M,47.3,M,,0000*61 $GPRMC,185315.000,A,4854.2543,N,00219.9748,E,0.00,270.56,210706,,,A*64 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:15.000Z","ept":0.005,"lat":48.904238333,"lon":2.332913333,"alt":99.000,"epx":18.222,"epy":17.174,"epv":50.600,"track":270.5600,"speed":0.000,"climb":0.500,"eps":36.44} $GPVTG,270.56,T,,M,0.00,N,0.0,K,A*0B $GPGGA,185316.000,4854.2544,N,00219.9751,E,1,05,1.7,99.1,M,47.3,M,,0000*6C $GPRMC,185316.000,A,4854.2544,N,00219.9751,E,0.00,270.56,210706,,,A*68 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:16.000Z","ept":0.005,"lat":48.904240000,"lon":2.332918333,"alt":99.100,"epx":18.222,"epy":17.174,"epv":50.600,"track":270.5600,"speed":0.000,"climb":0.100,"eps":36.44} $GPVTG,270.56,T,,M,0.00,N,0.0,K,A*0B $GPGGA,185317.000,4854.2546,N,00219.9759,E,1,05,1.7,100.3,M,47.3,M,,0000*54 $GPRMC,185317.000,A,4854.2546,N,00219.9759,E,0.00,270.56,210706,,,A*63 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:17.000Z","ept":0.005,"lat":48.904243333,"lon":2.332931667,"alt":100.300,"epx":18.222,"epy":17.174,"epv":50.600,"track":270.5600,"speed":0.000,"climb":1.200,"eps":36.44} $GPVTG,270.56,T,,M,0.00,N,0.0,K,A*0B $GPGGA,185318.000,4854.2547,N,00219.9762,E,1,05,1.7,101.1,M,47.3,M,,0000*51 $GPRMC,185318.000,A,4854.2547,N,00219.9762,E,0.00,270.56,210706,,,A*65 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:18.000Z","ept":0.005,"lat":48.904245000,"lon":2.332936667,"alt":101.100,"epx":18.222,"epy":17.174,"epv":50.600,"track":270.5600,"speed":0.000,"climb":0.800,"eps":36.44} $GPVTG,270.56,T,,M,0.00,N,0.0,K,A*0B $GPGGA,185319.000,4854.2546,N,00219.9758,E,1,05,1.7,100.3,M,47.3,M,,0000*5B $GPGSA,A,3,14,01,30,06,09,,,,,,,,2.7,1.7,2.2*39 $GPGSV,3,1,11,30,79,308,21,05,54,079,19,06,43,204,34,14,39,247,40*76 $GPGSV,3,2,11,01,31,303,30,02,28,077,,25,17,309,14,09,17,138,23*7A $GPGSV,3,3,11,04,14,040,10,24,02,020,09,20,00,342,12*46 {"class":"SKY","tag":"GSV","xdop":1.21,"ydop":1.14,"vdop":2.20,"tdop":2.85,"hdop":1.70,"gdop":4.89,"pdop":2.70,"satellites":[{"PRN":30,"el":79,"az":308,"ss":21,"used":true},{"PRN":5,"el":54,"az":79,"ss":19,"used":false},{"PRN":6,"el":43,"az":204,"ss":34,"used":true},{"PRN":14,"el":39,"az":247,"ss":40,"used":true},{"PRN":1,"el":31,"az":303,"ss":30,"used":true},{"PRN":2,"el":28,"az":77,"ss":0,"used":false},{"PRN":25,"el":17,"az":309,"ss":14,"used":false},{"PRN":9,"el":17,"az":138,"ss":23,"used":true},{"PRN":4,"el":14,"az":40,"ss":10,"used":false},{"PRN":24,"el":2,"az":20,"ss":9,"used":false},{"PRN":20,"el":0,"az":342,"ss":12,"used":false}]} $GPRMC,185319.000,A,4854.2546,N,00219.9758,E,0.00,270.56,210706,,,A*6C {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:19.000Z","ept":0.005,"lat":48.904243333,"lon":2.332930000,"alt":100.300,"epx":18.222,"epy":17.174,"epv":50.600,"track":270.5600,"speed":0.000,"climb":-0.800,"eps":36.44} $GPVTG,270.56,T,,M,0.00,N,0.0,K,A*0B $GPGGA,185320.000,4854.2545,N,00219.9757,E,1,05,1.7,99.8,M,47.3,M,,0000*67 $GPRMC,185320.000,A,4854.2545,N,00219.9757,E,0.00,270.56,210706,,,A*6A {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:20.000Z","ept":0.005,"lat":48.904241667,"lon":2.332928333,"alt":99.800,"epx":18.222,"epy":17.174,"epv":50.600,"track":270.5600,"speed":0.000,"climb":-0.500,"eps":36.44} $GPVTG,270.56,T,,M,0.00,N,0.0,K,A*0B $GPGGA,185321.000,4854.2544,N,00219.9753,E,1,05,1.7,99.1,M,47.3,M,,0000*6A $GPRMC,185321.000,A,4854.2544,N,00219.9753,E,1.28,261.85,210706,,,A*6B {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:21.000Z","ept":0.005,"lat":48.904240000,"lon":2.332921667,"alt":99.100,"epx":18.222,"epy":17.174,"epv":50.600,"track":261.8500,"speed":0.658,"climb":-0.700,"eps":36.44} $GPVTG,261.85,T,,M,1.28,N,2.4,K,A*08 $GPGGA,185322.000,4854.2544,N,00219.9752,E,1,05,1.7,99.4,M,47.3,M,,0000*6D $GPRMC,185322.000,A,4854.2544,N,00219.9752,E,0.00,261.85,210706,,,A*62 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:22.000Z","ept":0.005,"lat":48.904240000,"lon":2.332920000,"alt":99.400,"epx":18.222,"epy":17.174,"epv":50.600,"track":261.8500,"speed":0.000,"climb":0.300,"eps":36.44} $GPVTG,261.85,T,,M,0.00,N,0.0,K,A*05 $GPGGA,185323.000,4854.2544,N,00219.9753,E,1,05,1.7,99.5,M,47.3,M,,0000*6C $GPRMC,185323.000,A,4854.2544,N,00219.9753,E,0.00,261.85,210706,,,A*62 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:23.000Z","ept":0.005,"lat":48.904240000,"lon":2.332921667,"alt":99.500,"epx":18.222,"epy":17.174,"epv":50.600,"track":261.8500,"speed":0.000,"climb":0.100,"eps":36.44} $GPVTG,261.85,T,,M,0.00,N,0.0,K,A*05 $GPGGA,185324.000,4854.2545,N,00219.9754,E,1,05,1.7,99.5,M,47.3,M,,0000*6D $GPGSA,A,3,14,01,30,06,09,,,,,,,,2.7,1.7,2.2*39 $GPGSV,3,1,11,30,79,308,20,05,54,079,18,06,43,204,35,14,39,247,40*77 $GPGSV,3,2,11,01,31,303,30,02,28,077,,25,17,309,11,09,17,138,22*7E $GPGSV,3,3,11,04,14,040,,24,02,020,08,20,00,342,08*4D {"class":"SKY","tag":"GSV","xdop":1.21,"ydop":1.14,"vdop":2.20,"tdop":2.85,"hdop":1.70,"gdop":4.89,"pdop":2.70,"satellites":[{"PRN":30,"el":79,"az":308,"ss":20,"used":true},{"PRN":5,"el":54,"az":79,"ss":18,"used":false},{"PRN":6,"el":43,"az":204,"ss":35,"used":true},{"PRN":14,"el":39,"az":247,"ss":40,"used":true},{"PRN":1,"el":31,"az":303,"ss":30,"used":true},{"PRN":2,"el":28,"az":77,"ss":0,"used":false},{"PRN":25,"el":17,"az":309,"ss":11,"used":false},{"PRN":9,"el":17,"az":138,"ss":22,"used":true},{"PRN":4,"el":14,"az":40,"ss":0,"used":false},{"PRN":24,"el":2,"az":20,"ss":8,"used":false},{"PRN":20,"el":0,"az":342,"ss":8,"used":false}]} $GPRMC,185324.000,A,4854.2545,N,00219.9754,E,0.00,261.85,210706,,,A*63 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:24.000Z","ept":0.005,"lat":48.904241667,"lon":2.332923333,"alt":99.500,"epx":18.222,"epy":17.174,"epv":50.600,"track":261.8500,"speed":0.000,"climb":0.000,"eps":36.44} $GPVTG,261.85,T,,M,0.00,N,0.0,K,A*05 $GPGGA,185325.000,4854.2546,N,00219.9759,E,1,05,1.7,99.9,M,47.3,M,,0000*6E $GPRMC,185325.000,A,4854.2546,N,00219.9759,E,0.00,261.85,210706,,,A*6C {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:25.000Z","ept":0.005,"lat":48.904243333,"lon":2.332931667,"alt":99.900,"epx":18.222,"epy":17.174,"epv":50.600,"track":261.8500,"speed":0.000,"climb":0.400,"eps":36.44} $GPVTG,261.85,T,,M,0.00,N,0.0,K,A*05 $GPGGA,185326.000,4854.2547,N,00219.9763,E,1,05,1.7,99.7,M,47.3,M,,0000*6B $GPRMC,185326.000,A,4854.2547,N,00219.9763,E,0.00,261.85,210706,,,A*67 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:26.000Z","ept":0.005,"lat":48.904245000,"lon":2.332938333,"alt":99.700,"epx":18.222,"epy":17.174,"epv":50.600,"track":261.8500,"speed":0.000,"climb":-0.200,"eps":36.44} $GPVTG,261.85,T,,M,0.00,N,0.0,K,A*05 $GPGGA,185327.000,4854.2546,N,00219.9764,E,1,05,1.7,98.5,M,47.3,M,,0000*6F $GPRMC,185327.000,A,4854.2546,N,00219.9764,E,0.00,261.85,210706,,,A*60 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-21T18:53:27.000Z","ept":0.005,"lat":48.904243333,"lon":2.332940000,"alt":98.500,"epx":18.222,"epy":17.174,"epv":50.600,"track":261.8500,"speed":0.000,"climb":-1.200,"eps":36.44} $GPVTG,261.85,T,,M,0.00,N,0.0,K,A*05 gpsd-3.9/test/daemon/haicom-305N.log0000664000175000017500000004677111762140437015324 0ustar esresr# Name: Haicom HI-305N # Chipset: SiRF-II # Date: 2007-04-08 # Location: 153E 27S # Submitted by: "David Findlay" # Description: Starts stationary, then moving 5m due west, 10m due south, then reversing course # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPGSV,3,3,12,24,58,220,,26,17,053,,29,20,063,,30,60,311,44*7F $GPRMC,095255.810,V,2712.6404,S,15303.1201,E,0.00,0.00,080407,,,A*6E $GPVTG,0.00,T,,,0.00,N,0.00,K,A*70 $GPGGA,095257.809,2712.6404,S,15303.1201,E,0,00,00.0,4.0,M,42.2,M,,*7B $GPRMC,095257.809,V,2712.6404,S,15303.1201,E,0.00,0.00,080407,,,A*64 $GPVTG,0.00,T,,,0.00,N,0.00,K,A*70 $GPGGA,095258.809,2712.6404,S,15303.1201,E,0,00,00.0,4.0,M,42.2,M,,*74 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,12,2,15,123,,5,45,347,45,6,58,198,,7,45,212,*77 $GPGSV,3,2,12,10,44,132,,12,39,002,45,18,13,332,,21,33,266,*78 $GPGSV,3,3,12,24,58,220,,26,17,053,,29,20,063,,30,60,311,44*7F $GPRMC,095258.809,V,2712.6404,S,15303.1201,E,0.00,0.00,080407,,,A*6B $GPVTG,0.00,T,,,0.00,N,0.00,K,A*70 $GPGGA,095300.809,2712.6404,S,15303.1201,E,0,00,00.0,4.0,M,42.2,M,,*78 $GPRMC,095300.809,V,2712.6404,S,15303.1201,E,0.00,0.00,080407,,,A*67 $GPVTG,0.00,T,,,0.00,N,0.00,K,A*70 $GPGGA,095301.809,2712.6404,S,15303.1201,E,0,00,00.0,4.0,M,42.2,M,,*79 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,12,2,15,123,,5,45,347,45,6,58,198,,7,45,212,*77 $GPGSV,3,2,12,10,44,132,,12,39,002,45,18,13,332,,21,33,266,*78 $GPGSV,3,3,12,24,58,220,,26,17,053,,29,20,063,,30,60,311,44*7F $GPRMC,095301.809,V,2712.6404,S,15303.1201,E,0.00,0.00,080407,,,A*66 $GPVTG,0.00,T,,,0.00,N,0.00,K,A*70 $GPGGA,095303.808,2712.6404,S,15303.1201,E,0,00,17.0,4.0,M,42.2,M,,*7C $GPRMC,095303.808,V,2712.6404,S,15303.1201,E,0.00,0.00,080407,,,A*65 $GPVTG,0.00,T,,,0.00,N,0.00,K,A*70 $GPGGA,095304.802,2712.6520,S,15303.1397,E,1,00,17.0,3.0,M,42.2,M,,*7E $GPGSA,A,2,05,12,30,,,,,,,,,,17.0,17.0,0.0*36 $GPGSV,3,1,12,2,15,123,,5,45,347,44,6,58,198,,7,45,212,*76 $GPGSV,3,2,12,10,44,132,,12,39,002,43,18,13,332,34,21,33,266,*79 $GPGSV,3,3,12,24,58,220,,26,17,053,,29,20,063,,30,60,311,45*7E $GPRMC,095304.802,A,2712.6520,S,15303.1397,E,0.00,133.96,080407,,,A*78 $GPVTG,133.96,T,,,0.00,N,0.00,K,A*7E $GPGGA,095305.802,2712.6547,S,15303.1350,E,1,04,21.1,3.0,M,42.2,M,,*75 $GPRMC,095305.802,A,2712.6547,S,15303.1350,E,1.93,133.96,080407,,,A*78 $GPVTG,133.96,T,,,1.93,N,3.57,K,A*74 $GPGGA,095306.802,2712.6506,S,15303.1298,E,1,04,21.1,3.0,M,42.2,M,,*76 $GPRMC,095306.802,A,2712.6506,S,15303.1298,E,0.00,279.46,080407,,,A*70 $GPVTG,279.46,T,,,0.00,N,0.00,K,A*7E $GPGGA,095307.801,2712.6486,S,15303.1293,E,1,04,21.1,3.0,M,42.2,M,,*76 $GPGSA,A,2,05,07,12,30,,,,,,,,,34.7,21.1,27.6*00 $GPGSV,3,1,12,2,15,123,,5,45,347,45,6,58,198,,7,45,212,28*7D $GPGSV,3,2,12,10,44,132,28,12,39,002,42,18,13,332,34,21,33,266,*72 $GPGSV,3,3,12,24,58,220,,26,17,054,,29,20,063,,30,60,311,44*78 $GPRMC,095307.801,A,2712.6486,S,15303.1293,E,1.73,279.46,080407,,,A*75 $GPVTG,279.46,T,,,1.73,N,3.20,K,A*7A $GPGGA,095308.801,2712.6469,S,15303.1278,E,1,04,21.1,3.0,M,42.2,M,,*7D $GPRMC,095308.801,A,2712.6469,S,15303.1278,E,2.40,335.10,080407,,,A*77 $GPVTG,335.10,T,,,2.40,N,4.45,K,A*77 $GPGGA,095309.801,2712.6444,S,15303.1229,E,1,05,07.5,3.0,M,42.2,M,,*76 $GPRMC,095309.801,A,2712.6444,S,15303.1229,E,5.19,299.36,080407,,,A*75 $GPVTG,299.36,T,,,5.19,N,9.60,K,A*75 $GPGGA,095310.801,2712.6428,S,15303.1203,E,1,05,07.5,3.0,M,42.2,M,,*7C $GPGSA,A,3,05,07,12,24,30,,,,,,,,11.7,7.5,9.0*0A $GPGSV,3,1,12,2,15,123,,5,45,347,45,6,58,198,,7,45,212,30*74 $GPGSV,3,2,12,10,44,132,28,12,39,002,43,18,13,332,33,21,33,266,*74 $GPGSV,3,3,12,24,58,220,35,26,17,054,37,29,20,063,,30,60,311,45*7B $GPRMC,095310.801,A,2712.6428,S,15303.1203,E,0.00,307.41,080407,,,A*74 $GPVTG,307.41,T,,,0.00,N,0.00,K,A*71 $GPGGA,095311.801,2712.6419,S,15303.1214,E,1,05,07.5,4.1,M,42.2,M,,*7F $GPRMC,095311.801,A,2712.6419,S,15303.1214,E,2.16,307.41,080407,,,A*74 $GPVTG,307.41,T,,,2.16,N,4.00,K,A*70 $GPGGA,095312.800,2712.6400,S,15303.1170,E,1,05,07.5,4.5,M,42.2,M,,*70 $GPRMC,095312.800,A,2712.6400,S,15303.1170,E,0.00,312.27,080407,,,A*7E $GPVTG,312.27,T,,,0.00,N,0.00,K,A*75 $GPGGA,095313.800,2712.6402,S,15303.1209,E,1,05,07.5,8.6,M,42.2,M,,*71 $GPGSA,A,3,05,07,12,24,30,,,,,,,,11.7,7.5,9.0*0A $GPGSV,3,1,12,2,15,123,,5,45,347,45,6,58,198,,7,45,212,32*76 $GPGSV,3,2,12,10,44,132,26,12,39,002,44,18,13,332,31,21,33,266,*7F $GPGSV,3,3,12,24,58,220,37,26,17,054,37,29,20,063,,30,60,311,45*79 $GPRMC,095313.800,A,2712.6402,S,15303.1209,E,3.47,312.27,080407,,,A*70 $GPVTG,312.27,T,,,3.47,N,6.42,K,A*75 $GPGGA,095314.800,2712.6396,S,15303.1200,E,1,05,07.5,10.1,M,42.2,M,,*4B $GPRMC,095314.800,A,2712.6396,S,15303.1200,E,2.01,312.27,080407,,,A*77 $GPVTG,312.27,T,,,2.01,N,3.72,K,A*70 $GPGGA,095315.800,2712.6403,S,15303.1229,E,1,05,07.5,13.7,M,42.2,M,,*4F $GPRMC,095315.800,A,2712.6403,S,15303.1229,E,3.56,92.94,080407,,,A*46 $GPVTG,92.94,T,,,3.56,N,6.58,K,A*4D $GPGGA,095316.799,2712.6400,S,15303.1217,E,1,05,07.5,13.8,M,42.2,M,,*42 $GPGSA,A,3,05,07,12,24,30,,,,,,,,11.7,7.5,9.0*0A $GPGSV,3,1,12,2,15,123,,5,45,347,45,6,58,198,,7,45,212,33*77 $GPGSV,3,2,12,10,44,132,23,12,39,002,44,18,13,332,31,21,33,266,*7A $GPGSV,3,3,12,24,58,220,37,26,17,054,38,29,20,063,,30,60,311,45*76 $GPRMC,095316.799,A,2712.6400,S,15303.1217,E,1.83,92.94,080407,,,A*4E $GPVTG,92.94,T,,,1.83,N,3.39,K,A*45 $GPGGA,095317.799,2712.6397,S,15303.1210,E,1,05,07.5,13.1,M,42.2,M,,*44 $GPRMC,095317.799,A,2712.6397,S,15303.1210,E,1.78,92.94,080407,,,A*45 $GPVTG,92.94,T,,,1.78,N,3.30,K,A*48 $GPGGA,095318.799,2712.6409,S,15303.1239,E,1,05,07.5,18.1,M,42.2,M,,*4B $GPRMC,095318.799,A,2712.6409,S,15303.1239,E,2.69,129.81,080407,,,A*77 $GPVTG,129.81,T,,,2.69,N,4.97,K,A*74 $GPGGA,095319.799,2712.6420,S,15303.1303,E,1,05,07.5,22.8,M,42.2,M,,*49 $GPGSA,A,3,05,07,12,24,30,,,,,,,,11.7,7.5,9.0*0A $GPGSV,3,1,12,2,15,123,,5,45,347,45,6,58,198,,7,45,212,34*70 $GPGSV,3,2,12,10,44,132,27,12,39,002,44,18,13,332,32,21,33,266,*7D $GPGSV,3,3,12,24,58,220,37,26,17,054,39,29,20,063,,30,60,311,46*74 $GPRMC,095319.799,A,2712.6420,S,15303.1303,E,5.09,100.78,080407,,,A*79 $GPVTG,100.78,T,,,5.09,N,9.43,K,A*7C $GPGGA,095320.799,2712.6420,S,15303.1290,E,1,05,07.5,19.5,M,42.2,M,,*4D $GPRMC,095320.799,A,2712.6420,S,15303.1290,E,1.55,100.78,080407,,,A*75 $GPVTG,100.78,T,,,1.55,N,2.87,K,A*72 $GPGGA,095321.798,2712.6419,S,15303.1285,E,1,05,07.5,18.2,M,42.2,M,,*45 $GPRMC,095321.798,A,2712.6419,S,15303.1285,E,1.15,100.78,080407,,,A*7F $GPVTG,100.78,T,,,1.15,N,2.13,K,A*7B $GPGGA,095322.798,2712.6419,S,15303.1281,E,1,05,07.5,17.3,M,42.2,M,,*4C $GPGSA,A,3,05,07,12,24,30,,,,,,,,11.7,7.5,9.0*0A $GPGSV,3,1,12,2,15,123,,5,45,347,44,6,58,198,,7,45,212,32*77 $GPGSV,3,2,12,10,44,132,31,12,39,002,44,18,13,332,33,21,33,266,*7B $GPGSV,3,3,12,24,58,220,37,26,17,054,39,29,20,063,,30,60,311,45*77 $GPRMC,095322.798,A,2712.6419,S,15303.1281,E,0.99,100.78,080407,,,A*7D $GPVTG,100.78,T,,,0.99,N,1.84,K,A*73 $GPGGA,095323.798,2712.6418,S,15303.1278,E,1,05,07.5,17.7,M,42.2,M,,*4E $GPRMC,095323.798,A,2712.6418,S,15303.1278,E,0.00,100.78,080407,,,A*7B $GPVTG,100.78,T,,,0.00,N,0.00,K,A*7E $GPGGA,095324.798,2712.6417,S,15303.1275,E,1,05,07.5,18.0,M,42.2,M,,*43 $GPRMC,095324.798,A,2712.6417,S,15303.1275,E,0.00,100.78,080407,,,A*7E $GPVTG,100.78,T,,,0.00,N,0.00,K,A*7E $GPGGA,095325.797,2712.6416,S,15303.1269,E,1,05,07.5,17.7,M,42.2,M,,*49 $GPGSA,A,3,05,07,12,24,30,,,,,,,,11.7,7.5,9.0*0A $GPGSV,3,1,12,2,15,123,,5,45,347,42,6,58,198,,7,45,212,31*72 $GPGSV,3,2,12,10,44,132,34,12,39,002,43,18,13,332,30,21,33,266,*7A $GPGSV,3,3,12,24,58,220,37,26,17,054,40,29,20,063,,30,60,311,44*78 $GPRMC,095325.797,A,2712.6416,S,15303.1269,E,0.00,100.78,080407,,,A*7C $GPVTG,100.78,T,,,0.00,N,0.00,K,A*7E $GPGGA,095326.797,2712.6415,S,15303.1253,E,1,05,07.5,15.0,M,42.2,M,,*45 $GPRMC,095326.797,A,2712.6415,S,15303.1253,E,1.10,100.78,080407,,,A*75 $GPVTG,100.78,T,,,1.10,N,2.03,K,A*7F $GPGGA,095327.797,2712.6414,S,15303.1244,E,1,05,07.5,14.2,M,42.2,M,,*40 $GPRMC,095327.797,A,2712.6414,S,15303.1244,E,1.51,100.78,080407,,,A*76 $GPVTG,100.78,T,,,1.51,N,2.80,K,A*71 $GPGGA,095328.797,2712.6413,S,15303.1235,E,1,05,07.5,13.4,M,42.2,M,,*4F $GPGSA,A,3,05,07,12,24,30,,,,,,,,11.7,7.5,9.0*0A $GPGSV,3,1,12,2,15,123,,5,45,347,42,6,58,198,,7,45,212,37*74 $GPGSV,3,2,12,10,44,132,37,12,39,002,43,18,13,332,27,21,33,266,*7F $GPGSV,3,3,12,24,58,220,40,26,17,054,39,29,20,063,,30,60,311,44*76 $GPRMC,095328.797,A,2712.6413,S,15303.1235,E,1.55,276.34,080407,,,A*76 $GPVTG,276.34,T,,,1.55,N,2.86,K,A*79 $GPGGA,095329.797,2712.6413,S,15303.1226,E,1,05,07.5,12.7,M,42.2,M,,*4E $GPRMC,095329.797,A,2712.6413,S,15303.1226,E,1.67,276.34,080407,,,A*74 $GPVTG,276.34,T,,,1.67,N,3.09,K,A*7E $GPGGA,095330.796,2712.6413,S,15303.1218,E,1,05,07.5,12.4,M,42.2,M,,*49 $GPRMC,095330.796,A,2712.6413,S,15303.1218,E,1.72,276.34,080407,,,A*74 $GPVTG,276.34,T,,,1.72,N,3.19,K,A*7B $GPGGA,095331.796,2712.6414,S,15303.1212,E,1,05,07.5,12.3,M,42.2,M,,*42 $GPGSA,A,3,05,07,12,24,30,,,,,,,,11.7,7.5,9.0*0A $GPGSV,3,1,12,2,15,123,,5,45,347,43,6,58,198,,7,45,212,42*77 $GPGSV,3,2,12,10,44,132,41,12,39,002,44,18,13,332,28,21,33,265,*75 $GPGSV,3,3,12,24,58,220,42,26,17,054,35,29,20,063,38,30,59,311,44*79 $GPRMC,095331.796,A,2712.6414,S,15303.1212,E,1.79,276.34,080407,,,A*73 $GPVTG,276.34,T,,,1.79,N,3.32,K,A*79 $GPGGA,095333.796,2712.6422,S,15303.1205,E,1,05,07.5,11.9,M,42.2,M,,*4A $GPRMC,095333.796,A,2712.6422,S,15303.1205,E,1.87,276.34,080407,,,A*73 $GPVTG,276.34,T,,,1.87,N,3.46,K,A*7B $GPGGA,095334.796,2712.6427,S,15303.1202,E,1,05,07.5,11.6,M,42.2,M,,*40 $GPGSA,A,3,05,07,12,24,30,,,,,,,,11.7,7.5,9.0*0A $GPGSV,3,1,12,2,15,123,,5,45,347,41,6,58,198,,7,45,212,44*73 $GPGSV,3,2,12,10,44,132,42,12,39,002,40,18,13,332,29,21,33,265,*73 $GPGSV,3,3,12,24,58,220,43,26,17,054,38,29,20,063,39,30,59,311,44*74 $GPRMC,095334.796,A,2712.6427,S,15303.1202,E,2.01,276.34,080407,,,A*7B $GPVTG,276.34,T,,,2.01,N,3.72,K,A*71 $GPGGA,095336.795,2712.6439,S,15303.1195,E,1,04,10.4,11.6,M,42.2,M,,*45 $GPRMC,095336.795,A,2712.6439,S,15303.1195,E,2.37,209.25,080407,,,A*75 $GPVTG,209.25,T,,,2.37,N,4.38,K,A*75 $GPGGA,095337.795,2712.6444,S,15303.1189,E,1,06,02.3,11.3,M,42.2,M,,*40 $GPGSA,A,3,05,07,12,21,24,30,,,,,,,4.8,2.3,4.2*3E $GPGSV,3,1,12,2,15,123,,5,45,347,39,6,58,198,,7,45,212,44*7C $GPGSV,3,2,12,10,44,132,42,12,39,002,38,18,13,332,27,21,33,265,36*77 $GPGSV,3,3,12,24,58,220,44,26,17,054,39,29,20,063,40,30,59,311,45*7D $GPRMC,095337.795,A,2712.6444,S,15303.1189,E,2.31,209.45,080407,,,A*73 $GPVTG,209.45,T,,,2.31,N,4.28,K,A*74 $GPGGA,095338.795,2712.6450,S,15303.1192,E,1,06,02.3,12.4,M,42.2,M,,*44 $GPRMC,095338.795,A,2712.6450,S,15303.1192,E,2.24,203.09,080407,,,A*75 $GPVTG,203.09,T,,,2.24,N,4.14,K,A*7D $GPGGA,095339.794,2712.6456,S,15303.1185,E,1,06,04.1,11.6,M,42.2,M,,*41 $GPRMC,095339.794,A,2712.6456,S,15303.1185,E,2.28,200.03,080407,,,A*70 $GPVTG,200.03,T,,,2.28,N,4.22,K,A*7D $GPGGA,095340.794,2712.6461,S,15303.1180,E,1,07,01.3,10.0,M,42.2,M,,*4F $GPGSA,A,3,02,05,07,12,21,24,30,,,,,,3.0,1.3,2.7*33 $GPGSV,3,1,12,2,15,123,39,5,45,347,39,6,58,198,43,7,45,212,43*76 $GPGSV,3,2,12,10,44,132,43,12,39,002,37,18,13,332,25,21,33,265,35*78 $GPGSV,3,3,12,24,58,220,44,26,17,054,41,29,20,063,41,30,59,311,44*72 $GPRMC,095340.794,A,2712.6461,S,15303.1180,E,2.23,189.90,080407,,,A*7C $GPVTG,189.90,T,,,2.23,N,4.12,K,A*7D $GPGGA,095341.794,2712.6467,S,15303.1177,E,1,07,01.3,10.0,M,42.2,M,,*40 $GPRMC,095341.794,A,2712.6467,S,15303.1177,E,2.24,191.01,080407,,,A*75 $GPVTG,191.01,T,,,2.24,N,4.15,K,A*7C $GPGGA,095342.794,2712.6472,S,15303.1170,E,1,07,01.3,9.1,M,42.2,M,,*79 $GPRMC,095342.794,A,2712.6472,S,15303.1170,E,2.28,193.30,080407,,,A*79 $GPVTG,193.30,T,,,2.28,N,4.22,K,A*74 $GPGGA,095343.794,2712.6478,S,15303.1166,E,1,07,01.3,8.1,M,42.2,M,,*74 $GPGSA,A,3,02,05,07,12,21,24,30,,,,,,3.0,1.3,2.7*33 $GPGSV,3,1,12,2,15,123,36,5,45,347,38,6,58,198,45,7,45,212,42*7F $GPGSV,3,2,12,10,44,132,43,12,39,002,36,18,14,332,23,21,34,265,37*7D $GPGSV,3,3,12,24,58,220,43,26,17,054,41,29,20,063,41,30,59,312,44*76 $GPRMC,095343.794,A,2712.6478,S,15303.1166,E,2.18,187.10,080407,,,A*71 $GPVTG,187.10,T,,,2.18,N,4.03,K,A*73 $GPGGA,095344.793,2712.6483,S,15303.1163,E,1,07,01.3,8.4,M,42.2,M,,*70 $GPRMC,095344.793,A,2712.6483,S,15303.1163,E,2.26,192.88,080407,,,A*78 $GPVTG,192.88,T,,,2.26,N,4.18,K,A*71 $GPGGA,095345.793,2712.6489,S,15303.1158,E,1,07,01.3,7.5,M,42.2,M,,*7D $GPRMC,095345.793,A,2712.6489,S,15303.1158,E,2.26,190.81,080407,,,A*70 $GPVTG,190.81,T,,,2.26,N,4.18,K,A*7A $GPGGA,095346.793,2712.6494,S,15303.1153,E,1,07,01.3,7.5,M,42.2,M,,*79 $GPGSA,A,3,02,05,07,12,21,24,30,,,,,,3.0,1.3,2.7*33 $GPGSV,3,1,12,2,15,123,37,5,45,347,39,6,58,198,44,7,45,212,42*7E $GPGSV,3,2,12,10,44,132,44,12,39,002,37,18,14,332,23,21,34,265,39*75 $GPGSV,3,3,12,24,58,220,41,26,17,054,42,29,20,063,41,30,59,312,43*70 $GPRMC,095346.793,A,2712.6494,S,15303.1153,E,2.22,194.09,080407,,,A*74 $GPVTG,194.09,T,,,2.22,N,4.11,K,A*73 $GPGGA,095347.793,2712.6500,S,15303.1150,E,1,07,01.3,7.5,M,42.2,M,,*77 $GPRMC,095347.793,A,2712.6500,S,15303.1150,E,2.23,191.68,080407,,,A*79 $GPVTG,191.68,T,,,2.23,N,4.13,K,A*72 $GPGGA,095348.792,2712.6505,S,15303.1148,E,1,07,01.3,7.4,M,42.2,M,,*74 $GPRMC,095348.792,A,2712.6505,S,15303.1148,E,2.11,187.45,080407,,,A*72 $GPVTG,187.45,T,,,2.11,N,3.91,K,A*76 $GPGGA,095349.792,2712.6511,S,15303.1147,E,1,07,01.3,7.3,M,42.2,M,,*78 $GPGSA,A,3,02,05,07,12,21,24,30,,,,,,3.0,1.3,2.7*33 $GPGSV,3,1,12,2,15,123,35,5,45,347,38,6,58,198,44,7,45,212,41*7E $GPGSV,3,2,12,10,44,132,43,12,39,002,39,18,14,332,23,21,34,265,40*72 $GPGSV,3,3,12,24,58,220,40,26,17,054,41,29,20,063,42,30,59,312,44*76 $GPRMC,095349.792,A,2712.6511,S,15303.1147,E,2.04,188.22,080407,,,A*73 $GPVTG,188.22,T,,,2.04,N,3.78,K,A*7B $GPGGA,095350.792,2712.6515,S,15303.1143,E,1,07,01.3,7.0,M,42.2,M,,*73 $GPRMC,095350.792,A,2712.6515,S,15303.1143,E,1.77,194.81,080407,,,A*78 $GPVTG,194.81,T,,,1.77,N,3.28,K,A*7D $GPGGA,095351.792,2712.6515,S,15303.1138,E,1,07,01.3,6.2,M,42.2,M,,*7D $GPRMC,095351.792,A,2712.6515,S,15303.1138,E,0.98,194.81,080407,,,A*75 $GPVTG,194.81,T,,,0.98,N,1.81,K,A*7C $GPGGA,095352.792,2712.6511,S,15303.1137,E,1,06,02.3,5.8,M,42.2,M,,*7E $GPGSA,A,3,05,07,12,21,24,30,,,,,,,4.8,2.3,4.2*3E $GPGSV,3,1,12,2,15,123,33,5,45,347,41,6,58,198,42,7,45,212,41*70 $GPGSV,3,2,12,10,44,132,42,12,39,002,40,18,14,332,25,21,34,265,39*75 $GPGSV,3,3,12,24,58,220,41,26,17,054,39,29,20,063,40,30,59,312,43*7D $GPRMC,095352.792,A,2712.6511,S,15303.1137,E,1.39,350.04,080407,,,A*70 $GPVTG,350.04,T,,,1.39,N,2.57,K,A*79 $GPGGA,095353.791,2712.6505,S,15303.1137,E,1,06,02.3,5.9,M,42.2,M,,*78 $GPRMC,095353.791,A,2712.6505,S,15303.1137,E,1.92,359.88,080407,,,A*7B $GPVTG,359.88,T,,,1.92,N,3.56,K,A*75 $GPGGA,095354.791,2712.6500,S,15303.1137,E,1,07,01.3,5.2,M,42.2,M,,*73 $GPRMC,095354.791,A,2712.6500,S,15303.1137,E,2.00,11.44,080407,,,A*4E $GPVTG,11.44,T,,,2.00,N,3.70,K,A*46 $GPGGA,095355.791,2712.6493,S,15303.1137,E,1,07,01.3,4.7,M,42.2,M,,*7D $GPGSA,A,3,02,05,07,12,21,24,30,,,,,,3.0,1.3,2.7*33 $GPGSV,3,1,12,2,15,123,34,5,45,347,42,6,58,198,42,7,45,212,41*74 $GPGSV,3,2,12,10,44,132,42,12,39,002,41,18,14,332,26,21,34,265,41*78 $GPGSV,3,3,12,24,58,220,43,26,17,054,40,29,20,063,38,30,59,312,44*79 $GPRMC,095355.791,A,2712.6493,S,15303.1137,E,2.13,16.78,080407,,,A*4E $GPVTG,16.78,T,,,2.13,N,3.95,K,A*47 $GPGGA,095356.791,2712.6487,S,15303.1136,E,1,07,01.3,4.3,M,42.2,M,,*7E $GPRMC,095356.791,A,2712.6487,S,15303.1136,E,2.25,13.51,080407,,,A*42 $GPVTG,13.51,T,,,2.25,N,4.16,K,A*40 $GPGGA,095357.791,2712.6480,S,15303.1135,E,1,07,01.3,4.1,M,42.2,M,,*79 $GPRMC,095357.791,A,2712.6480,S,15303.1135,E,2.30,7.49,080407,,,A*7F $GPVTG,7.49,T,,,2.30,N,4.26,K,A*7B $GPGGA,095358.790,2712.6473,S,15303.1133,E,1,08,01.1,3.9,M,42.2,M,,*7F $GPGSA,A,3,02,05,07,10,12,21,24,30,,,,,2.6,1.1,2.4*34 $GPGSV,3,1,12,2,15,123,36,5,45,347,43,6,58,198,42,7,45,212,41*77 $GPGSV,3,2,12,10,43,132,41,12,39,002,41,18,14,332,26,21,34,265,42*7F $GPGSV,3,3,12,24,58,219,43,26,17,054,38,29,20,063,37,30,59,312,44*73 $GPRMC,095358.790,A,2712.6473,S,15303.1133,E,2.34,6.73,080407,,,A*77 $GPVTG,6.73,T,,,2.34,N,4.32,K,A*72 $GPGGA,095400.790,2712.6459,S,15303.1133,E,1,06,01.8,3.5,M,42.2,M,,*76 $GPRMC,095400.790,A,2712.6459,S,15303.1133,E,2.40,7.80,080407,,,A*7B $GPVTG,7.80,T,,,2.40,N,4.44,K,A*7D $GPGGA,095401.790,2712.6453,S,15303.1133,E,1,08,01.1,3.7,M,42.2,M,,*78 $GPGSA,A,3,02,05,07,10,12,21,24,30,,,,,2.6,1.1,2.4*34 $GPGSV,3,1,12,2,15,123,35,5,45,347,43,6,58,198,42,7,45,212,39*7B $GPGSV,3,2,12,10,43,132,40,12,39,002,40,18,14,332,25,21,34,265,40*7E $GPGSV,3,3,12,24,58,219,44,26,17,054,38,29,20,063,37,30,59,312,43*73 $GPRMC,095401.790,A,2712.6453,S,15303.1133,E,2.36,7.77,080407,,,A*79 $GPVTG,7.77,T,,,2.36,N,4.37,K,A*70 $GPGGA,095403.789,2712.6439,S,15303.1137,E,1,08,01.1,3.5,M,42.2,M,,*78 $GPRMC,095403.789,A,2712.6439,S,15303.1137,E,2.48,15.66,080407,,,A*41 $GPVTG,15.66,T,,,2.48,N,4.59,K,A*42 $GPGGA,095404.789,2712.6432,S,15303.1137,E,1,09,01.1,3.3,M,42.2,M,,*73 $GPGSA,A,3,02,05,06,07,10,12,21,24,30,,,,2.5,1.1,2.2*37 $GPGSV,3,1,12,2,15,123,33,5,45,347,44,6,58,197,42,7,45,212,41*7A $GPGSV,3,2,12,10,43,132,39,12,39,002,41,18,14,332,25,21,34,265,39*7F $GPGSV,3,3,12,24,58,219,45,26,17,054,38,29,20,063,38,30,59,312,43*7D $GPRMC,095404.789,A,2712.6432,S,15303.1137,E,2.45,12.39,080407,,,A*4D $GPVTG,12.39,T,,,2.45,N,4.54,K,A*4F $GPGGA,095405.789,2712.6425,S,15303.1138,E,1,09,01.1,3.1,M,42.2,M,,*79 $GPRMC,095405.789,A,2712.6425,S,15303.1138,E,2.55,16.50,080407,,,A*4F $GPVTG,16.50,T,,,2.55,N,4.73,K,A*40 $GPGGA,095406.789,2712.6420,S,15303.1142,E,1,09,01.1,2.7,M,42.2,M,,*75 $GPRMC,095406.789,A,2712.6420,S,15303.1142,E,2.35,31.12,080407,,,A*41 $GPVTG,31.12,T,,,2.35,N,4.35,K,A*47 $GPGGA,095407.788,2712.6415,S,15303.1145,E,1,08,01.7,2.5,M,42.2,M,,*71 $GPGSA,A,3,02,05,06,07,10,12,24,30,,,,,3.9,1.7,3.4*38 $GPGSV,3,1,12,2,14,123,33,5,45,347,43,6,58,197,42,7,45,212,41*7C $GPGSV,3,2,12,10,43,132,42,12,39,002,40,18,14,332,28,21,34,265,36*70 $GPGSV,3,3,12,24,58,219,43,26,17,054,38,29,20,063,39,30,59,312,43*7A $GPRMC,095407.788,A,2712.6415,S,15303.1145,E,2.28,40.30,080407,,,A*4A $GPVTG,40.30,T,,,2.28,N,4.23,K,A*4A $GPGGA,095408.788,2712.6411,S,15303.1151,E,1,09,01.1,2.6,M,42.2,M,,*7B $GPRMC,095408.788,A,2712.6411,S,15303.1151,E,2.35,51.76,080407,,,A*4A $GPVTG,51.76,T,,,2.35,N,4.35,K,A*43 $GPGGA,095409.788,2712.6409,S,15303.1158,E,1,09,01.1,2.6,M,42.2,M,,*7A $GPRMC,095409.788,A,2712.6409,S,15303.1158,E,2.41,68.20,080407,,,A*41 $GPVTG,68.20,T,,,2.41,N,4.47,K,A*4C $GPGGA,095410.788,2712.6407,S,15303.1166,E,1,09,01.1,2.9,M,42.2,M,,*7E $GPGSA,A,3,02,05,06,07,10,12,21,24,30,,,,2.5,1.1,2.2*37 $GPGSV,3,1,12,2,14,123,28,5,45,347,43,6,58,197,42,7,45,212,41*76 $GPGSV,3,2,12,10,43,132,43,12,39,002,42,18,14,332,31,21,34,265,37*7A $GPGSV,3,3,12,24,58,219,43,26,17,054,39,29,20,063,37,30,59,312,44*72 $GPRMC,095410.788,A,2712.6407,S,15303.1166,E,2.54,74.38,080407,,,A*4A $GPVTG,74.38,T,,,2.54,N,4.71,K,A*49 $GPGGA,095411.787,2712.6405,S,15303.1173,E,1,09,01.1,2.9,M,42.2,M,,*76 $GPRMC,095411.787,A,2712.6405,S,15303.1173,E,2.34,76.68,080407,,,A*43 $GPVTG,76.68,T,,,2.34,N,4.33,K,A*4E $GPGGA,095412.787,2712.6404,S,15303.1180,E,1,09,01.1,3.0,M,42.2,M,,*70 $GPRMC,095412.787,A,2712.6404,S,15303.1180,E,2.33,77.59,080407,,,A*49 $GPVTG,77.59,T,,,2.33,N,4.32,K,A*4B $GPGGA,095413.787,2712.6403,S,15303.1187,E,1,08,01.1,3.1,M,42.2,M,,*71 $GPGSA,A,3,02,05,07,10,12,21,24,30,,,,,2.6,1.1,2.4*34 $GPGSV,3,1,12,2,14,123,25,5,45,347,44,6,58,197,39,7,45,212,38*7E $GPGSV,3,2,12,10,43,132,35,12,39,002,43,18,14,332,30,21,34,265,38*74 $GPGSV,3,3,12,24,58,219,40,26,17,054,38,29,20,063,38,30,59,312,44*7F $GPRMC,095413.787,A,2712.6403,S,15303.1187,E,2.47,79.51,080407,,,A*4D $GPVTG,79.51,T,,,2.47,N,4.57,K,A*4D $GPGGA,095414.787,2712.6403,S,15303.1194,E,1,09,01.1,3.2,M,42.2,M,,*76 $GPRMC,095414.787,A,2712.6403,S,15303.1194,E,2.20,86.03,080407,,,A*4E $GPVTG,86.03,T,,,2.20,N,4.07,K,A*4E $GPGGA,095415.787,2712.6404,S,15303.1200,E,1,06,01.8,3.5,M,42.2,M,,*7F $GPRMC,095415.787,A,2712.6404,S,15303.1200,E,2.11,96.86,080407,,,A*48 gpsd-3.9/test/daemon/haicom-305N.log.chk0000664000175000017500000015100012135526342016044 0ustar esresr$GPGSV,3,3,12,24,58,220,,26,17,053,,29,20,063,,30,60,311,44*7F {"class":"SKY","tag":"GSV","satellites":[{"PRN":24,"el":58,"az":220,"ss":0,"used":false},{"PRN":26,"el":17,"az":53,"ss":0,"used":false},{"PRN":29,"el":20,"az":63,"ss":0,"used":false},{"PRN":30,"el":60,"az":311,"ss":44,"used":false}]} $GPRMC,095255.810,V,2712.6404,S,15303.1201,E,0.00,0.00,080407,,,A*6E $GPVTG,0.00,T,,,0.00,N,0.00,K,A*70 $GPGGA,095257.809,2712.6404,S,15303.1201,E,0,00,00.0,4.0,M,42.2,M,,*7B $GPRMC,095257.809,V,2712.6404,S,15303.1201,E,0.00,0.00,080407,,,A*64 $GPVTG,0.00,T,,,0.00,N,0.00,K,A*70 $GPGGA,095258.809,2712.6404,S,15303.1201,E,0,00,00.0,4.0,M,42.2,M,,*74 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,12,2,15,123,,5,45,347,45,6,58,198,,7,45,212,*77 $GPGSV,3,2,12,10,44,132,,12,39,002,45,18,13,332,,21,33,266,*78 $GPGSV,3,3,12,24,58,220,,26,17,053,,29,20,063,,30,60,311,44*7F {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":2,"el":15,"az":123,"ss":0,"used":false},{"PRN":5,"el":45,"az":347,"ss":45,"used":false},{"PRN":6,"el":58,"az":198,"ss":0,"used":false},{"PRN":7,"el":45,"az":212,"ss":0,"used":false},{"PRN":10,"el":44,"az":132,"ss":0,"used":false},{"PRN":12,"el":39,"az":2,"ss":45,"used":false},{"PRN":18,"el":13,"az":332,"ss":0,"used":false},{"PRN":21,"el":33,"az":266,"ss":0,"used":false},{"PRN":24,"el":58,"az":220,"ss":0,"used":false},{"PRN":26,"el":17,"az":53,"ss":0,"used":false},{"PRN":29,"el":20,"az":63,"ss":0,"used":false},{"PRN":30,"el":60,"az":311,"ss":44,"used":false}]} $GPRMC,095258.809,V,2712.6404,S,15303.1201,E,0.00,0.00,080407,,,A*6B $GPVTG,0.00,T,,,0.00,N,0.00,K,A*70 $GPGGA,095300.809,2712.6404,S,15303.1201,E,0,00,00.0,4.0,M,42.2,M,,*78 $GPRMC,095300.809,V,2712.6404,S,15303.1201,E,0.00,0.00,080407,,,A*67 $GPVTG,0.00,T,,,0.00,N,0.00,K,A*70 $GPGGA,095301.809,2712.6404,S,15303.1201,E,0,00,00.0,4.0,M,42.2,M,,*79 $GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,12,2,15,123,,5,45,347,45,6,58,198,,7,45,212,*77 $GPGSV,3,2,12,10,44,132,,12,39,002,45,18,13,332,,21,33,266,*78 $GPGSV,3,3,12,24,58,220,,26,17,053,,29,20,063,,30,60,311,44*7F {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":2,"el":15,"az":123,"ss":0,"used":false},{"PRN":5,"el":45,"az":347,"ss":45,"used":false},{"PRN":6,"el":58,"az":198,"ss":0,"used":false},{"PRN":7,"el":45,"az":212,"ss":0,"used":false},{"PRN":10,"el":44,"az":132,"ss":0,"used":false},{"PRN":12,"el":39,"az":2,"ss":45,"used":false},{"PRN":18,"el":13,"az":332,"ss":0,"used":false},{"PRN":21,"el":33,"az":266,"ss":0,"used":false},{"PRN":24,"el":58,"az":220,"ss":0,"used":false},{"PRN":26,"el":17,"az":53,"ss":0,"used":false},{"PRN":29,"el":20,"az":63,"ss":0,"used":false},{"PRN":30,"el":60,"az":311,"ss":44,"used":false}]} $GPRMC,095301.809,V,2712.6404,S,15303.1201,E,0.00,0.00,080407,,,A*66 $GPVTG,0.00,T,,,0.00,N,0.00,K,A*70 $GPGGA,095303.808,2712.6404,S,15303.1201,E,0,00,17.0,4.0,M,42.2,M,,*7C $GPRMC,095303.808,V,2712.6404,S,15303.1201,E,0.00,0.00,080407,,,A*65 $GPVTG,0.00,T,,,0.00,N,0.00,K,A*70 $GPGGA,095304.802,2712.6520,S,15303.1397,E,1,00,17.0,3.0,M,42.2,M,,*7E {"class":"TPV","tag":"GGA","mode":3,"lat":-27.210866667,"lon":153.052328333,"alt":3.000,"epv":0.000} $GPGSA,A,2,05,12,30,,,,,,,,,,17.0,17.0,0.0*36 $GPGSV,3,1,12,2,15,123,,5,45,347,44,6,58,198,,7,45,212,*76 $GPGSV,3,2,12,10,44,132,,12,39,002,43,18,13,332,34,21,33,266,*79 $GPGSV,3,3,12,24,58,220,,26,17,053,,29,20,063,,30,60,311,45*7E {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":17.00,"pdop":17.00,"satellites":[{"PRN":2,"el":15,"az":123,"ss":0,"used":false},{"PRN":5,"el":45,"az":347,"ss":44,"used":true},{"PRN":6,"el":58,"az":198,"ss":0,"used":false},{"PRN":7,"el":45,"az":212,"ss":0,"used":false},{"PRN":10,"el":44,"az":132,"ss":0,"used":false},{"PRN":12,"el":39,"az":2,"ss":43,"used":true},{"PRN":18,"el":13,"az":332,"ss":34,"used":false},{"PRN":21,"el":33,"az":266,"ss":0,"used":false},{"PRN":24,"el":58,"az":220,"ss":0,"used":false},{"PRN":26,"el":17,"az":53,"ss":0,"used":false},{"PRN":29,"el":20,"az":63,"ss":0,"used":false},{"PRN":30,"el":60,"az":311,"ss":45,"used":true}]} $GPRMC,095304.802,A,2712.6520,S,15303.1397,E,0.00,133.96,080407,,,A*78 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:04.802Z","ept":0.005,"lat":-27.210866667,"lon":153.052328333,"alt":3.000,"epv":0.000,"track":133.9600,"speed":0.000} $GPVTG,133.96,T,,,0.00,N,0.00,K,A*7E $GPGGA,095305.802,2712.6547,S,15303.1350,E,1,04,21.1,3.0,M,42.2,M,,*75 $GPRMC,095305.802,A,2712.6547,S,15303.1350,E,1.93,133.96,080407,,,A*78 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:05.802Z","ept":0.005,"lat":-27.210911667,"lon":153.052250000,"alt":3.000,"epv":0.000,"track":133.9600,"speed":0.993,"climb":0.000} $GPVTG,133.96,T,,,1.93,N,3.57,K,A*74 $GPGGA,095306.802,2712.6506,S,15303.1298,E,1,04,21.1,3.0,M,42.2,M,,*76 $GPRMC,095306.802,A,2712.6506,S,15303.1298,E,0.00,279.46,080407,,,A*70 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:06.802Z","ept":0.005,"lat":-27.210843333,"lon":153.052163333,"alt":3.000,"epv":0.000,"track":279.4600,"speed":0.000,"climb":0.000} $GPVTG,279.46,T,,,0.00,N,0.00,K,A*7E $GPGGA,095307.801,2712.6486,S,15303.1293,E,1,04,21.1,3.0,M,42.2,M,,*76 $GPGSA,A,2,05,07,12,30,,,,,,,,,34.7,21.1,27.6*00 $GPGSV,3,1,12,2,15,123,,5,45,347,45,6,58,198,,7,45,212,28*7D $GPGSV,3,2,12,10,44,132,28,12,39,002,42,18,13,332,34,21,33,266,*72 $GPGSV,3,3,12,24,58,220,,26,17,054,,29,20,063,,30,60,311,44*78 {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":27.60,"tdop":3.84,"hdop":21.10,"gdop":7.67,"pdop":34.70,"satellites":[{"PRN":2,"el":15,"az":123,"ss":0,"used":false},{"PRN":5,"el":45,"az":347,"ss":45,"used":true},{"PRN":6,"el":58,"az":198,"ss":0,"used":false},{"PRN":7,"el":45,"az":212,"ss":28,"used":true},{"PRN":10,"el":44,"az":132,"ss":28,"used":false},{"PRN":12,"el":39,"az":2,"ss":42,"used":true},{"PRN":18,"el":13,"az":332,"ss":34,"used":false},{"PRN":21,"el":33,"az":266,"ss":0,"used":false},{"PRN":24,"el":58,"az":220,"ss":0,"used":false},{"PRN":26,"el":17,"az":54,"ss":0,"used":false},{"PRN":29,"el":20,"az":63,"ss":0,"used":false},{"PRN":30,"el":60,"az":311,"ss":44,"used":true}]} $GPRMC,095307.801,A,2712.6486,S,15303.1293,E,1.73,279.46,080407,,,A*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:07.801Z","ept":0.005,"lat":-27.210810000,"lon":153.052155000,"alt":3.000,"epx":42.926,"epy":14.332,"epv":0.000,"track":279.4600,"speed":0.890,"climb":0.000} $GPVTG,279.46,T,,,1.73,N,3.20,K,A*7A $GPGGA,095308.801,2712.6469,S,15303.1278,E,1,04,21.1,3.0,M,42.2,M,,*7D $GPRMC,095308.801,A,2712.6469,S,15303.1278,E,2.40,335.10,080407,,,A*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:08.801Z","ept":0.005,"lat":-27.210781667,"lon":153.052130000,"alt":3.000,"epx":42.926,"epy":14.332,"epv":634.800,"track":335.1000,"speed":1.235,"climb":0.000,"eps":85.85} $GPVTG,335.10,T,,,2.40,N,4.45,K,A*77 $GPGGA,095309.801,2712.6444,S,15303.1229,E,1,05,07.5,3.0,M,42.2,M,,*76 $GPRMC,095309.801,A,2712.6444,S,15303.1229,E,5.19,299.36,080407,,,A*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:09.801Z","ept":0.005,"lat":-27.210740000,"lon":153.052048333,"alt":3.000,"epx":42.926,"epy":14.332,"epv":634.800,"track":299.3600,"speed":2.670,"climb":0.000,"eps":85.85} $GPVTG,299.36,T,,,5.19,N,9.60,K,A*75 $GPGGA,095310.801,2712.6428,S,15303.1203,E,1,05,07.5,3.0,M,42.2,M,,*7C $GPGSA,A,3,05,07,12,24,30,,,,,,,,11.7,7.5,9.0*0A $GPGSV,3,1,12,2,15,123,,5,45,347,45,6,58,198,,7,45,212,30*74 $GPGSV,3,2,12,10,44,132,28,12,39,002,43,18,13,332,33,21,33,266,*74 $GPGSV,3,3,12,24,58,220,35,26,17,054,37,29,20,063,,30,60,311,45*7B {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":9.00,"tdop":3.84,"hdop":7.50,"gdop":7.67,"pdop":11.70,"satellites":[{"PRN":2,"el":15,"az":123,"ss":0,"used":false},{"PRN":5,"el":45,"az":347,"ss":45,"used":true},{"PRN":6,"el":58,"az":198,"ss":0,"used":false},{"PRN":7,"el":45,"az":212,"ss":30,"used":true},{"PRN":10,"el":44,"az":132,"ss":28,"used":false},{"PRN":12,"el":39,"az":2,"ss":43,"used":true},{"PRN":18,"el":13,"az":332,"ss":33,"used":false},{"PRN":21,"el":33,"az":266,"ss":0,"used":false},{"PRN":24,"el":58,"az":220,"ss":35,"used":true},{"PRN":26,"el":17,"az":54,"ss":37,"used":false},{"PRN":29,"el":20,"az":63,"ss":0,"used":false},{"PRN":30,"el":60,"az":311,"ss":45,"used":true}]} $GPRMC,095310.801,A,2712.6428,S,15303.1203,E,0.00,307.41,080407,,,A*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:10.801Z","ept":0.005,"lat":-27.210713333,"lon":153.052005000,"alt":3.000,"epx":42.926,"epy":14.332,"epv":634.800,"track":307.4100,"speed":0.000,"climb":0.000,"eps":85.85} $GPVTG,307.41,T,,,0.00,N,0.00,K,A*71 $GPGGA,095311.801,2712.6419,S,15303.1214,E,1,05,07.5,4.1,M,42.2,M,,*7F $GPRMC,095311.801,A,2712.6419,S,15303.1214,E,2.16,307.41,080407,,,A*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:11.801Z","ept":0.005,"lat":-27.210698333,"lon":153.052023333,"alt":4.100,"epx":42.926,"epy":14.332,"epv":207.000,"track":307.4100,"speed":1.111,"climb":1.100,"eps":85.85} $GPVTG,307.41,T,,,2.16,N,4.00,K,A*70 $GPGGA,095312.800,2712.6400,S,15303.1170,E,1,05,07.5,4.5,M,42.2,M,,*70 $GPRMC,095312.800,A,2712.6400,S,15303.1170,E,0.00,312.27,080407,,,A*7E {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:12.800Z","ept":0.005,"lat":-27.210666667,"lon":153.051950000,"alt":4.500,"epx":42.926,"epy":14.332,"epv":207.000,"track":312.2700,"speed":0.000,"climb":0.400,"eps":85.94} $GPVTG,312.27,T,,,0.00,N,0.00,K,A*75 $GPGGA,095313.800,2712.6402,S,15303.1209,E,1,05,07.5,8.6,M,42.2,M,,*71 $GPGSA,A,3,05,07,12,24,30,,,,,,,,11.7,7.5,9.0*0A $GPGSV,3,1,12,2,15,123,,5,45,347,45,6,58,198,,7,45,212,32*76 $GPGSV,3,2,12,10,44,132,26,12,39,002,44,18,13,332,31,21,33,266,*7F $GPGSV,3,3,12,24,58,220,37,26,17,054,37,29,20,063,,30,60,311,45*79 {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":9.00,"tdop":3.84,"hdop":7.50,"gdop":7.67,"pdop":11.70,"satellites":[{"PRN":2,"el":15,"az":123,"ss":0,"used":false},{"PRN":5,"el":45,"az":347,"ss":45,"used":true},{"PRN":6,"el":58,"az":198,"ss":0,"used":false},{"PRN":7,"el":45,"az":212,"ss":32,"used":true},{"PRN":10,"el":44,"az":132,"ss":26,"used":false},{"PRN":12,"el":39,"az":2,"ss":44,"used":true},{"PRN":18,"el":13,"az":332,"ss":31,"used":false},{"PRN":21,"el":33,"az":266,"ss":0,"used":false},{"PRN":24,"el":58,"az":220,"ss":37,"used":true},{"PRN":26,"el":17,"az":54,"ss":37,"used":false},{"PRN":29,"el":20,"az":63,"ss":0,"used":false},{"PRN":30,"el":60,"az":311,"ss":45,"used":true}]} $GPRMC,095313.800,A,2712.6402,S,15303.1209,E,3.47,312.27,080407,,,A*70 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:13.800Z","ept":0.005,"lat":-27.210670000,"lon":153.052015000,"alt":8.600,"epx":42.926,"epy":14.332,"epv":207.000,"track":312.2700,"speed":1.785,"climb":4.100,"eps":85.85} $GPVTG,312.27,T,,,3.47,N,6.42,K,A*75 $GPGGA,095314.800,2712.6396,S,15303.1200,E,1,05,07.5,10.1,M,42.2,M,,*4B $GPRMC,095314.800,A,2712.6396,S,15303.1200,E,2.01,312.27,080407,,,A*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:14.800Z","ept":0.005,"lat":-27.210660000,"lon":153.052000000,"alt":10.100,"epx":42.926,"epy":14.332,"epv":207.000,"track":312.2700,"speed":1.034,"climb":1.500,"eps":85.85} $GPVTG,312.27,T,,,2.01,N,3.72,K,A*70 $GPGGA,095315.800,2712.6403,S,15303.1229,E,1,05,07.5,13.7,M,42.2,M,,*4F $GPRMC,095315.800,A,2712.6403,S,15303.1229,E,3.56,92.94,080407,,,A*46 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:15.800Z","ept":0.005,"lat":-27.210671667,"lon":153.052048333,"alt":13.700,"epx":42.926,"epy":14.332,"epv":207.000,"track":92.9400,"speed":1.831,"climb":3.600,"eps":85.85} $GPVTG,92.94,T,,,3.56,N,6.58,K,A*4D $GPGGA,095316.799,2712.6400,S,15303.1217,E,1,05,07.5,13.8,M,42.2,M,,*42 $GPGSA,A,3,05,07,12,24,30,,,,,,,,11.7,7.5,9.0*0A $GPGSV,3,1,12,2,15,123,,5,45,347,45,6,58,198,,7,45,212,33*77 $GPGSV,3,2,12,10,44,132,23,12,39,002,44,18,13,332,31,21,33,266,*7A $GPGSV,3,3,12,24,58,220,37,26,17,054,38,29,20,063,,30,60,311,45*76 {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":9.00,"tdop":3.84,"hdop":7.50,"gdop":7.67,"pdop":11.70,"satellites":[{"PRN":2,"el":15,"az":123,"ss":0,"used":false},{"PRN":5,"el":45,"az":347,"ss":45,"used":true},{"PRN":6,"el":58,"az":198,"ss":0,"used":false},{"PRN":7,"el":45,"az":212,"ss":33,"used":true},{"PRN":10,"el":44,"az":132,"ss":23,"used":false},{"PRN":12,"el":39,"az":2,"ss":44,"used":true},{"PRN":18,"el":13,"az":332,"ss":31,"used":false},{"PRN":21,"el":33,"az":266,"ss":0,"used":false},{"PRN":24,"el":58,"az":220,"ss":37,"used":true},{"PRN":26,"el":17,"az":54,"ss":38,"used":false},{"PRN":29,"el":20,"az":63,"ss":0,"used":false},{"PRN":30,"el":60,"az":311,"ss":45,"used":true}]} $GPRMC,095316.799,A,2712.6400,S,15303.1217,E,1.83,92.94,080407,,,A*4E {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:16.799Z","ept":0.005,"lat":-27.210666667,"lon":153.052028333,"alt":13.800,"epx":42.926,"epy":14.332,"epv":207.000,"track":92.9400,"speed":0.941,"climb":0.100,"eps":85.94} $GPVTG,92.94,T,,,1.83,N,3.39,K,A*45 $GPGGA,095317.799,2712.6397,S,15303.1210,E,1,05,07.5,13.1,M,42.2,M,,*44 $GPRMC,095317.799,A,2712.6397,S,15303.1210,E,1.78,92.94,080407,,,A*45 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:17.799Z","ept":0.005,"lat":-27.210661667,"lon":153.052016667,"alt":13.100,"epx":42.926,"epy":14.332,"epv":207.000,"track":92.9400,"speed":0.916,"climb":-0.700,"eps":85.85} $GPVTG,92.94,T,,,1.78,N,3.30,K,A*48 $GPGGA,095318.799,2712.6409,S,15303.1239,E,1,05,07.5,18.1,M,42.2,M,,*4B $GPRMC,095318.799,A,2712.6409,S,15303.1239,E,2.69,129.81,080407,,,A*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:18.799Z","ept":0.005,"lat":-27.210681667,"lon":153.052065000,"alt":18.100,"epx":42.926,"epy":14.332,"epv":207.000,"track":129.8100,"speed":1.384,"climb":5.000,"eps":85.85} $GPVTG,129.81,T,,,2.69,N,4.97,K,A*74 $GPGGA,095319.799,2712.6420,S,15303.1303,E,1,05,07.5,22.8,M,42.2,M,,*49 $GPGSA,A,3,05,07,12,24,30,,,,,,,,11.7,7.5,9.0*0A $GPGSV,3,1,12,2,15,123,,5,45,347,45,6,58,198,,7,45,212,34*70 $GPGSV,3,2,12,10,44,132,27,12,39,002,44,18,13,332,32,21,33,266,*7D $GPGSV,3,3,12,24,58,220,37,26,17,054,39,29,20,063,,30,60,311,46*74 {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":9.00,"tdop":3.84,"hdop":7.50,"gdop":7.67,"pdop":11.70,"satellites":[{"PRN":2,"el":15,"az":123,"ss":0,"used":false},{"PRN":5,"el":45,"az":347,"ss":45,"used":true},{"PRN":6,"el":58,"az":198,"ss":0,"used":false},{"PRN":7,"el":45,"az":212,"ss":34,"used":true},{"PRN":10,"el":44,"az":132,"ss":27,"used":false},{"PRN":12,"el":39,"az":2,"ss":44,"used":true},{"PRN":18,"el":13,"az":332,"ss":32,"used":false},{"PRN":21,"el":33,"az":266,"ss":0,"used":false},{"PRN":24,"el":58,"az":220,"ss":37,"used":true},{"PRN":26,"el":17,"az":54,"ss":39,"used":false},{"PRN":29,"el":20,"az":63,"ss":0,"used":false},{"PRN":30,"el":60,"az":311,"ss":46,"used":true}]} $GPRMC,095319.799,A,2712.6420,S,15303.1303,E,5.09,100.78,080407,,,A*79 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:19.799Z","ept":0.005,"lat":-27.210700000,"lon":153.052171667,"alt":22.800,"epx":42.926,"epy":14.332,"epv":207.000,"track":100.7800,"speed":2.619,"climb":4.700,"eps":85.85} $GPVTG,100.78,T,,,5.09,N,9.43,K,A*7C $GPGGA,095320.799,2712.6420,S,15303.1290,E,1,05,07.5,19.5,M,42.2,M,,*4D $GPRMC,095320.799,A,2712.6420,S,15303.1290,E,1.55,100.78,080407,,,A*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:20.799Z","ept":0.005,"lat":-27.210700000,"lon":153.052150000,"alt":19.500,"epx":42.926,"epy":14.332,"epv":207.000,"track":100.7800,"speed":0.797,"climb":-3.300,"eps":85.85} $GPVTG,100.78,T,,,1.55,N,2.87,K,A*72 $GPGGA,095321.798,2712.6419,S,15303.1285,E,1,05,07.5,18.2,M,42.2,M,,*45 $GPRMC,095321.798,A,2712.6419,S,15303.1285,E,1.15,100.78,080407,,,A*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:21.798Z","ept":0.005,"lat":-27.210698333,"lon":153.052141667,"alt":18.200,"epx":42.926,"epy":14.332,"epv":207.000,"track":100.7800,"speed":0.592,"climb":-1.301,"eps":85.94} $GPVTG,100.78,T,,,1.15,N,2.13,K,A*7B $GPGGA,095322.798,2712.6419,S,15303.1281,E,1,05,07.5,17.3,M,42.2,M,,*4C $GPGSA,A,3,05,07,12,24,30,,,,,,,,11.7,7.5,9.0*0A $GPGSV,3,1,12,2,15,123,,5,45,347,44,6,58,198,,7,45,212,32*77 $GPGSV,3,2,12,10,44,132,31,12,39,002,44,18,13,332,33,21,33,266,*7B $GPGSV,3,3,12,24,58,220,37,26,17,054,39,29,20,063,,30,60,311,45*77 {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":9.00,"tdop":3.84,"hdop":7.50,"gdop":7.67,"pdop":11.70,"satellites":[{"PRN":2,"el":15,"az":123,"ss":0,"used":false},{"PRN":5,"el":45,"az":347,"ss":44,"used":true},{"PRN":6,"el":58,"az":198,"ss":0,"used":false},{"PRN":7,"el":45,"az":212,"ss":32,"used":true},{"PRN":10,"el":44,"az":132,"ss":31,"used":false},{"PRN":12,"el":39,"az":2,"ss":44,"used":true},{"PRN":18,"el":13,"az":332,"ss":33,"used":false},{"PRN":21,"el":33,"az":266,"ss":0,"used":false},{"PRN":24,"el":58,"az":220,"ss":37,"used":true},{"PRN":26,"el":17,"az":54,"ss":39,"used":false},{"PRN":29,"el":20,"az":63,"ss":0,"used":false},{"PRN":30,"el":60,"az":311,"ss":45,"used":true}]} $GPRMC,095322.798,A,2712.6419,S,15303.1281,E,0.99,100.78,080407,,,A*7D {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:22.798Z","ept":0.005,"lat":-27.210698333,"lon":153.052135000,"alt":17.300,"epx":42.926,"epy":14.332,"epv":207.000,"track":100.7800,"speed":0.509,"climb":-0.900,"eps":85.85} $GPVTG,100.78,T,,,0.99,N,1.84,K,A*73 $GPGGA,095323.798,2712.6418,S,15303.1278,E,1,05,07.5,17.7,M,42.2,M,,*4E $GPRMC,095323.798,A,2712.6418,S,15303.1278,E,0.00,100.78,080407,,,A*7B {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:23.798Z","ept":0.005,"lat":-27.210696667,"lon":153.052130000,"alt":17.700,"epx":42.926,"epy":14.332,"epv":207.000,"track":100.7800,"speed":0.000,"climb":0.400,"eps":85.85} $GPVTG,100.78,T,,,0.00,N,0.00,K,A*7E $GPGGA,095324.798,2712.6417,S,15303.1275,E,1,05,07.5,18.0,M,42.2,M,,*43 $GPRMC,095324.798,A,2712.6417,S,15303.1275,E,0.00,100.78,080407,,,A*7E {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:24.798Z","ept":0.005,"lat":-27.210695000,"lon":153.052125000,"alt":18.000,"epx":42.926,"epy":14.332,"epv":207.000,"track":100.7800,"speed":0.000,"climb":0.300,"eps":85.85} $GPVTG,100.78,T,,,0.00,N,0.00,K,A*7E $GPGGA,095325.797,2712.6416,S,15303.1269,E,1,05,07.5,17.7,M,42.2,M,,*49 $GPGSA,A,3,05,07,12,24,30,,,,,,,,11.7,7.5,9.0*0A $GPGSV,3,1,12,2,15,123,,5,45,347,42,6,58,198,,7,45,212,31*72 $GPGSV,3,2,12,10,44,132,34,12,39,002,43,18,13,332,30,21,33,266,*7A $GPGSV,3,3,12,24,58,220,37,26,17,054,40,29,20,063,,30,60,311,44*78 {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":9.00,"tdop":3.84,"hdop":7.50,"gdop":7.67,"pdop":11.70,"satellites":[{"PRN":2,"el":15,"az":123,"ss":0,"used":false},{"PRN":5,"el":45,"az":347,"ss":42,"used":true},{"PRN":6,"el":58,"az":198,"ss":0,"used":false},{"PRN":7,"el":45,"az":212,"ss":31,"used":true},{"PRN":10,"el":44,"az":132,"ss":34,"used":false},{"PRN":12,"el":39,"az":2,"ss":43,"used":true},{"PRN":18,"el":13,"az":332,"ss":30,"used":false},{"PRN":21,"el":33,"az":266,"ss":0,"used":false},{"PRN":24,"el":58,"az":220,"ss":37,"used":true},{"PRN":26,"el":17,"az":54,"ss":40,"used":false},{"PRN":29,"el":20,"az":63,"ss":0,"used":false},{"PRN":30,"el":60,"az":311,"ss":44,"used":true}]} $GPRMC,095325.797,A,2712.6416,S,15303.1269,E,0.00,100.78,080407,,,A*7C {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:25.797Z","ept":0.005,"lat":-27.210693333,"lon":153.052115000,"alt":17.700,"epx":42.926,"epy":14.332,"epv":207.000,"track":100.7800,"speed":0.000,"climb":-0.300,"eps":85.94} $GPVTG,100.78,T,,,0.00,N,0.00,K,A*7E $GPGGA,095326.797,2712.6415,S,15303.1253,E,1,05,07.5,15.0,M,42.2,M,,*45 $GPRMC,095326.797,A,2712.6415,S,15303.1253,E,1.10,100.78,080407,,,A*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:26.797Z","ept":0.005,"lat":-27.210691667,"lon":153.052088333,"alt":15.000,"epx":42.926,"epy":14.332,"epv":207.000,"track":100.7800,"speed":0.566,"climb":-2.700,"eps":85.85} $GPVTG,100.78,T,,,1.10,N,2.03,K,A*7F $GPGGA,095327.797,2712.6414,S,15303.1244,E,1,05,07.5,14.2,M,42.2,M,,*40 $GPRMC,095327.797,A,2712.6414,S,15303.1244,E,1.51,100.78,080407,,,A*76 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:27.797Z","ept":0.005,"lat":-27.210690000,"lon":153.052073333,"alt":14.200,"epx":42.926,"epy":14.332,"epv":207.000,"track":100.7800,"speed":0.777,"climb":-0.800,"eps":85.85} $GPVTG,100.78,T,,,1.51,N,2.80,K,A*71 $GPGGA,095328.797,2712.6413,S,15303.1235,E,1,05,07.5,13.4,M,42.2,M,,*4F $GPGSA,A,3,05,07,12,24,30,,,,,,,,11.7,7.5,9.0*0A $GPGSV,3,1,12,2,15,123,,5,45,347,42,6,58,198,,7,45,212,37*74 $GPGSV,3,2,12,10,44,132,37,12,39,002,43,18,13,332,27,21,33,266,*7F $GPGSV,3,3,12,24,58,220,40,26,17,054,39,29,20,063,,30,60,311,44*76 {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":9.00,"tdop":3.84,"hdop":7.50,"gdop":7.67,"pdop":11.70,"satellites":[{"PRN":2,"el":15,"az":123,"ss":0,"used":false},{"PRN":5,"el":45,"az":347,"ss":42,"used":true},{"PRN":6,"el":58,"az":198,"ss":0,"used":false},{"PRN":7,"el":45,"az":212,"ss":37,"used":true},{"PRN":10,"el":44,"az":132,"ss":37,"used":false},{"PRN":12,"el":39,"az":2,"ss":43,"used":true},{"PRN":18,"el":13,"az":332,"ss":27,"used":false},{"PRN":21,"el":33,"az":266,"ss":0,"used":false},{"PRN":24,"el":58,"az":220,"ss":40,"used":true},{"PRN":26,"el":17,"az":54,"ss":39,"used":false},{"PRN":29,"el":20,"az":63,"ss":0,"used":false},{"PRN":30,"el":60,"az":311,"ss":44,"used":true}]} $GPRMC,095328.797,A,2712.6413,S,15303.1235,E,1.55,276.34,080407,,,A*76 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:28.797Z","ept":0.005,"lat":-27.210688333,"lon":153.052058333,"alt":13.400,"epx":42.926,"epy":14.332,"epv":207.000,"track":276.3400,"speed":0.797,"climb":-0.800,"eps":85.85} $GPVTG,276.34,T,,,1.55,N,2.86,K,A*79 $GPGGA,095329.797,2712.6413,S,15303.1226,E,1,05,07.5,12.7,M,42.2,M,,*4E $GPRMC,095329.797,A,2712.6413,S,15303.1226,E,1.67,276.34,080407,,,A*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:29.797Z","ept":0.005,"lat":-27.210688333,"lon":153.052043333,"alt":12.700,"epx":42.926,"epy":14.332,"epv":207.000,"track":276.3400,"speed":0.859,"climb":-0.700,"eps":85.85} $GPVTG,276.34,T,,,1.67,N,3.09,K,A*7E $GPGGA,095330.796,2712.6413,S,15303.1218,E,1,05,07.5,12.4,M,42.2,M,,*49 $GPRMC,095330.796,A,2712.6413,S,15303.1218,E,1.72,276.34,080407,,,A*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:30.796Z","ept":0.005,"lat":-27.210688333,"lon":153.052030000,"alt":12.400,"epx":42.926,"epy":14.332,"epv":207.000,"track":276.3400,"speed":0.885,"climb":-0.300,"eps":85.94} $GPVTG,276.34,T,,,1.72,N,3.19,K,A*7B $GPGGA,095331.796,2712.6414,S,15303.1212,E,1,05,07.5,12.3,M,42.2,M,,*42 $GPGSA,A,3,05,07,12,24,30,,,,,,,,11.7,7.5,9.0*0A $GPGSV,3,1,12,2,15,123,,5,45,347,43,6,58,198,,7,45,212,42*77 $GPGSV,3,2,12,10,44,132,41,12,39,002,44,18,13,332,28,21,33,265,*75 $GPGSV,3,3,12,24,58,220,42,26,17,054,35,29,20,063,38,30,59,311,44*79 {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":9.00,"tdop":3.84,"hdop":7.50,"gdop":7.67,"pdop":11.70,"satellites":[{"PRN":2,"el":15,"az":123,"ss":0,"used":false},{"PRN":5,"el":45,"az":347,"ss":43,"used":true},{"PRN":6,"el":58,"az":198,"ss":0,"used":false},{"PRN":7,"el":45,"az":212,"ss":42,"used":true},{"PRN":10,"el":44,"az":132,"ss":41,"used":false},{"PRN":12,"el":39,"az":2,"ss":44,"used":true},{"PRN":18,"el":13,"az":332,"ss":28,"used":false},{"PRN":21,"el":33,"az":265,"ss":0,"used":false},{"PRN":24,"el":58,"az":220,"ss":42,"used":true},{"PRN":26,"el":17,"az":54,"ss":35,"used":false},{"PRN":29,"el":20,"az":63,"ss":38,"used":false},{"PRN":30,"el":59,"az":311,"ss":44,"used":true}]} $GPRMC,095331.796,A,2712.6414,S,15303.1212,E,1.79,276.34,080407,,,A*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:31.796Z","ept":0.005,"lat":-27.210690000,"lon":153.052020000,"alt":12.300,"epx":42.926,"epy":14.332,"epv":207.000,"track":276.3400,"speed":0.921,"climb":-0.100,"eps":85.85} $GPVTG,276.34,T,,,1.79,N,3.32,K,A*79 $GPGGA,095333.796,2712.6422,S,15303.1205,E,1,05,07.5,11.9,M,42.2,M,,*4A $GPRMC,095333.796,A,2712.6422,S,15303.1205,E,1.87,276.34,080407,,,A*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:33.796Z","ept":0.005,"lat":-27.210703333,"lon":153.052008333,"alt":11.900,"epx":42.926,"epy":14.332,"epv":207.000,"track":276.3400,"speed":0.962,"climb":-0.200,"eps":42.93} $GPVTG,276.34,T,,,1.87,N,3.46,K,A*7B $GPGGA,095334.796,2712.6427,S,15303.1202,E,1,05,07.5,11.6,M,42.2,M,,*40 $GPGSA,A,3,05,07,12,24,30,,,,,,,,11.7,7.5,9.0*0A $GPGSV,3,1,12,2,15,123,,5,45,347,41,6,58,198,,7,45,212,44*73 $GPGSV,3,2,12,10,44,132,42,12,39,002,40,18,13,332,29,21,33,265,*73 $GPGSV,3,3,12,24,58,220,43,26,17,054,38,29,20,063,39,30,59,311,44*74 {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":9.00,"tdop":3.84,"hdop":7.50,"gdop":7.67,"pdop":11.70,"satellites":[{"PRN":2,"el":15,"az":123,"ss":0,"used":false},{"PRN":5,"el":45,"az":347,"ss":41,"used":true},{"PRN":6,"el":58,"az":198,"ss":0,"used":false},{"PRN":7,"el":45,"az":212,"ss":44,"used":true},{"PRN":10,"el":44,"az":132,"ss":42,"used":false},{"PRN":12,"el":39,"az":2,"ss":40,"used":true},{"PRN":18,"el":13,"az":332,"ss":29,"used":false},{"PRN":21,"el":33,"az":265,"ss":0,"used":false},{"PRN":24,"el":58,"az":220,"ss":43,"used":true},{"PRN":26,"el":17,"az":54,"ss":38,"used":false},{"PRN":29,"el":20,"az":63,"ss":39,"used":false},{"PRN":30,"el":59,"az":311,"ss":44,"used":true}]} $GPRMC,095334.796,A,2712.6427,S,15303.1202,E,2.01,276.34,080407,,,A*7B {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:34.796Z","ept":0.005,"lat":-27.210711667,"lon":153.052003333,"alt":11.600,"epx":42.926,"epy":14.332,"epv":207.000,"track":276.3400,"speed":1.034,"climb":-0.300,"eps":85.85} $GPVTG,276.34,T,,,2.01,N,3.72,K,A*71 $GPGGA,095336.795,2712.6439,S,15303.1195,E,1,04,10.4,11.6,M,42.2,M,,*45 $GPRMC,095336.795,A,2712.6439,S,15303.1195,E,2.37,209.25,080407,,,A*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:36.795Z","ept":0.005,"lat":-27.210731667,"lon":153.051991667,"alt":11.600,"epx":42.926,"epy":14.332,"epv":207.000,"track":209.2500,"speed":1.219,"climb":0.000,"eps":42.95} $GPVTG,209.25,T,,,2.37,N,4.38,K,A*75 $GPGGA,095337.795,2712.6444,S,15303.1189,E,1,06,02.3,11.3,M,42.2,M,,*40 $GPGSA,A,3,05,07,12,21,24,30,,,,,,,4.8,2.3,4.2*3E $GPGSV,3,1,12,2,15,123,,5,45,347,39,6,58,198,,7,45,212,44*7C $GPGSV,3,2,12,10,44,132,42,12,39,002,38,18,13,332,27,21,33,265,36*77 $GPGSV,3,3,12,24,58,220,44,26,17,054,39,29,20,063,40,30,59,311,45*7D {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":4.20,"tdop":3.84,"hdop":2.30,"gdop":7.67,"pdop":4.80,"satellites":[{"PRN":2,"el":15,"az":123,"ss":0,"used":false},{"PRN":5,"el":45,"az":347,"ss":39,"used":true},{"PRN":6,"el":58,"az":198,"ss":0,"used":false},{"PRN":7,"el":45,"az":212,"ss":44,"used":true},{"PRN":10,"el":44,"az":132,"ss":42,"used":false},{"PRN":12,"el":39,"az":2,"ss":38,"used":true},{"PRN":18,"el":13,"az":332,"ss":27,"used":false},{"PRN":21,"el":33,"az":265,"ss":36,"used":true},{"PRN":24,"el":58,"az":220,"ss":44,"used":true},{"PRN":26,"el":17,"az":54,"ss":39,"used":false},{"PRN":29,"el":20,"az":63,"ss":40,"used":false},{"PRN":30,"el":59,"az":311,"ss":45,"used":true}]} $GPRMC,095337.795,A,2712.6444,S,15303.1189,E,2.31,209.45,080407,,,A*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:37.795Z","ept":0.005,"lat":-27.210740000,"lon":153.051981667,"alt":11.300,"epx":42.926,"epy":14.332,"epv":207.000,"track":209.4500,"speed":1.188,"climb":-0.300,"eps":85.85} $GPVTG,209.45,T,,,2.31,N,4.28,K,A*74 $GPGGA,095338.795,2712.6450,S,15303.1192,E,1,06,02.3,12.4,M,42.2,M,,*44 $GPRMC,095338.795,A,2712.6450,S,15303.1192,E,2.24,203.09,080407,,,A*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:38.795Z","ept":0.005,"lat":-27.210750000,"lon":153.051986667,"alt":12.400,"epx":42.926,"epy":14.332,"epv":96.600,"track":203.0900,"speed":1.152,"climb":1.100,"eps":85.85} $GPVTG,203.09,T,,,2.24,N,4.14,K,A*7D $GPGGA,095339.794,2712.6456,S,15303.1185,E,1,06,04.1,11.6,M,42.2,M,,*41 $GPRMC,095339.794,A,2712.6456,S,15303.1185,E,2.28,200.03,080407,,,A*70 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:39.794Z","ept":0.005,"lat":-27.210760000,"lon":153.051975000,"alt":11.600,"epx":42.926,"epy":14.332,"epv":96.600,"track":200.0300,"speed":1.173,"climb":-0.801,"eps":85.94} $GPVTG,200.03,T,,,2.28,N,4.22,K,A*7D $GPGGA,095340.794,2712.6461,S,15303.1180,E,1,07,01.3,10.0,M,42.2,M,,*4F $GPGSA,A,3,02,05,07,12,21,24,30,,,,,,3.0,1.3,2.7*33 $GPGSV,3,1,12,2,15,123,39,5,45,347,39,6,58,198,43,7,45,212,43*76 $GPGSV,3,2,12,10,44,132,43,12,39,002,37,18,13,332,25,21,33,265,35*78 $GPGSV,3,3,12,24,58,220,44,26,17,054,41,29,20,063,41,30,59,311,44*72 {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":2.70,"tdop":3.84,"hdop":1.30,"gdop":7.67,"pdop":3.00,"satellites":[{"PRN":2,"el":15,"az":123,"ss":39,"used":true},{"PRN":5,"el":45,"az":347,"ss":39,"used":true},{"PRN":6,"el":58,"az":198,"ss":43,"used":false},{"PRN":7,"el":45,"az":212,"ss":43,"used":true},{"PRN":10,"el":44,"az":132,"ss":43,"used":false},{"PRN":12,"el":39,"az":2,"ss":37,"used":true},{"PRN":18,"el":13,"az":332,"ss":25,"used":false},{"PRN":21,"el":33,"az":265,"ss":35,"used":true},{"PRN":24,"el":58,"az":220,"ss":44,"used":true},{"PRN":26,"el":17,"az":54,"ss":41,"used":false},{"PRN":29,"el":20,"az":63,"ss":41,"used":false},{"PRN":30,"el":59,"az":311,"ss":44,"used":true}]} $GPRMC,095340.794,A,2712.6461,S,15303.1180,E,2.23,189.90,080407,,,A*7C {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:40.794Z","ept":0.005,"lat":-27.210768333,"lon":153.051966667,"alt":10.000,"epx":42.926,"epy":14.332,"epv":96.600,"track":189.9000,"speed":1.147,"climb":-1.600,"eps":85.85} $GPVTG,189.90,T,,,2.23,N,4.12,K,A*7D $GPGGA,095341.794,2712.6467,S,15303.1177,E,1,07,01.3,10.0,M,42.2,M,,*40 $GPRMC,095341.794,A,2712.6467,S,15303.1177,E,2.24,191.01,080407,,,A*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:41.794Z","ept":0.005,"lat":-27.210778333,"lon":153.051961667,"alt":10.000,"epx":42.926,"epy":14.332,"epv":62.100,"track":191.0100,"speed":1.152,"climb":0.000,"eps":85.85} $GPVTG,191.01,T,,,2.24,N,4.15,K,A*7C $GPGGA,095342.794,2712.6472,S,15303.1170,E,1,07,01.3,9.1,M,42.2,M,,*79 $GPRMC,095342.794,A,2712.6472,S,15303.1170,E,2.28,193.30,080407,,,A*79 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:42.794Z","ept":0.005,"lat":-27.210786667,"lon":153.051950000,"alt":9.100,"epx":42.926,"epy":14.332,"epv":62.100,"track":193.3000,"speed":1.173,"climb":-0.900,"eps":85.85} $GPVTG,193.30,T,,,2.28,N,4.22,K,A*74 $GPGGA,095343.794,2712.6478,S,15303.1166,E,1,07,01.3,8.1,M,42.2,M,,*74 $GPGSA,A,3,02,05,07,12,21,24,30,,,,,,3.0,1.3,2.7*33 $GPGSV,3,1,12,2,15,123,36,5,45,347,38,6,58,198,45,7,45,212,42*7F $GPGSV,3,2,12,10,44,132,43,12,39,002,36,18,14,332,23,21,34,265,37*7D $GPGSV,3,3,12,24,58,220,43,26,17,054,41,29,20,063,41,30,59,312,44*76 {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":2.70,"tdop":3.84,"hdop":1.30,"gdop":7.67,"pdop":3.00,"satellites":[{"PRN":2,"el":15,"az":123,"ss":36,"used":true},{"PRN":5,"el":45,"az":347,"ss":38,"used":true},{"PRN":6,"el":58,"az":198,"ss":45,"used":false},{"PRN":7,"el":45,"az":212,"ss":42,"used":true},{"PRN":10,"el":44,"az":132,"ss":43,"used":false},{"PRN":12,"el":39,"az":2,"ss":36,"used":true},{"PRN":18,"el":14,"az":332,"ss":23,"used":false},{"PRN":21,"el":34,"az":265,"ss":37,"used":true},{"PRN":24,"el":58,"az":220,"ss":43,"used":true},{"PRN":26,"el":17,"az":54,"ss":41,"used":false},{"PRN":29,"el":20,"az":63,"ss":41,"used":false},{"PRN":30,"el":59,"az":312,"ss":44,"used":true}]} $GPRMC,095343.794,A,2712.6478,S,15303.1166,E,2.18,187.10,080407,,,A*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:43.794Z","ept":0.005,"lat":-27.210796667,"lon":153.051943333,"alt":8.100,"epx":42.926,"epy":14.332,"epv":62.100,"track":187.1000,"speed":1.121,"climb":-1.000,"eps":85.85} $GPVTG,187.10,T,,,2.18,N,4.03,K,A*73 $GPGGA,095344.793,2712.6483,S,15303.1163,E,1,07,01.3,8.4,M,42.2,M,,*70 $GPRMC,095344.793,A,2712.6483,S,15303.1163,E,2.26,192.88,080407,,,A*78 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:44.793Z","ept":0.005,"lat":-27.210805000,"lon":153.051938333,"alt":8.400,"epx":42.926,"epy":14.332,"epv":62.100,"track":192.8800,"speed":1.163,"climb":0.300,"eps":85.94} $GPVTG,192.88,T,,,2.26,N,4.18,K,A*71 $GPGGA,095345.793,2712.6489,S,15303.1158,E,1,07,01.3,7.5,M,42.2,M,,*7D $GPRMC,095345.793,A,2712.6489,S,15303.1158,E,2.26,190.81,080407,,,A*70 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:45.793Z","ept":0.005,"lat":-27.210815000,"lon":153.051930000,"alt":7.500,"epx":42.926,"epy":14.332,"epv":62.100,"track":190.8100,"speed":1.163,"climb":-0.900,"eps":85.85} $GPVTG,190.81,T,,,2.26,N,4.18,K,A*7A $GPGGA,095346.793,2712.6494,S,15303.1153,E,1,07,01.3,7.5,M,42.2,M,,*79 $GPGSA,A,3,02,05,07,12,21,24,30,,,,,,3.0,1.3,2.7*33 $GPGSV,3,1,12,2,15,123,37,5,45,347,39,6,58,198,44,7,45,212,42*7E $GPGSV,3,2,12,10,44,132,44,12,39,002,37,18,14,332,23,21,34,265,39*75 $GPGSV,3,3,12,24,58,220,41,26,17,054,42,29,20,063,41,30,59,312,43*70 {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":2.70,"tdop":3.84,"hdop":1.30,"gdop":7.67,"pdop":3.00,"satellites":[{"PRN":2,"el":15,"az":123,"ss":37,"used":true},{"PRN":5,"el":45,"az":347,"ss":39,"used":true},{"PRN":6,"el":58,"az":198,"ss":44,"used":false},{"PRN":7,"el":45,"az":212,"ss":42,"used":true},{"PRN":10,"el":44,"az":132,"ss":44,"used":false},{"PRN":12,"el":39,"az":2,"ss":37,"used":true},{"PRN":18,"el":14,"az":332,"ss":23,"used":false},{"PRN":21,"el":34,"az":265,"ss":39,"used":true},{"PRN":24,"el":58,"az":220,"ss":41,"used":true},{"PRN":26,"el":17,"az":54,"ss":42,"used":false},{"PRN":29,"el":20,"az":63,"ss":41,"used":false},{"PRN":30,"el":59,"az":312,"ss":43,"used":true}]} $GPRMC,095346.793,A,2712.6494,S,15303.1153,E,2.22,194.09,080407,,,A*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:46.793Z","ept":0.005,"lat":-27.210823333,"lon":153.051921667,"alt":7.500,"epx":42.926,"epy":14.332,"epv":62.100,"track":194.0900,"speed":1.142,"climb":0.000,"eps":85.85} $GPVTG,194.09,T,,,2.22,N,4.11,K,A*73 $GPGGA,095347.793,2712.6500,S,15303.1150,E,1,07,01.3,7.5,M,42.2,M,,*77 $GPRMC,095347.793,A,2712.6500,S,15303.1150,E,2.23,191.68,080407,,,A*79 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:47.793Z","ept":0.005,"lat":-27.210833333,"lon":153.051916667,"alt":7.500,"epx":42.926,"epy":14.332,"epv":62.100,"track":191.6800,"speed":1.147,"climb":0.000,"eps":85.85} $GPVTG,191.68,T,,,2.23,N,4.13,K,A*72 $GPGGA,095348.792,2712.6505,S,15303.1148,E,1,07,01.3,7.4,M,42.2,M,,*74 $GPRMC,095348.792,A,2712.6505,S,15303.1148,E,2.11,187.45,080407,,,A*72 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:48.792Z","ept":0.005,"lat":-27.210841667,"lon":153.051913333,"alt":7.400,"epx":42.926,"epy":14.332,"epv":62.100,"track":187.4500,"speed":1.085,"climb":-0.100,"eps":85.94} $GPVTG,187.45,T,,,2.11,N,3.91,K,A*76 $GPGGA,095349.792,2712.6511,S,15303.1147,E,1,07,01.3,7.3,M,42.2,M,,*78 $GPGSA,A,3,02,05,07,12,21,24,30,,,,,,3.0,1.3,2.7*33 $GPGSV,3,1,12,2,15,123,35,5,45,347,38,6,58,198,44,7,45,212,41*7E $GPGSV,3,2,12,10,44,132,43,12,39,002,39,18,14,332,23,21,34,265,40*72 $GPGSV,3,3,12,24,58,220,40,26,17,054,41,29,20,063,42,30,59,312,44*76 {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":2.70,"tdop":3.84,"hdop":1.30,"gdop":7.67,"pdop":3.00,"satellites":[{"PRN":2,"el":15,"az":123,"ss":35,"used":true},{"PRN":5,"el":45,"az":347,"ss":38,"used":true},{"PRN":6,"el":58,"az":198,"ss":44,"used":false},{"PRN":7,"el":45,"az":212,"ss":41,"used":true},{"PRN":10,"el":44,"az":132,"ss":43,"used":false},{"PRN":12,"el":39,"az":2,"ss":39,"used":true},{"PRN":18,"el":14,"az":332,"ss":23,"used":false},{"PRN":21,"el":34,"az":265,"ss":40,"used":true},{"PRN":24,"el":58,"az":220,"ss":40,"used":true},{"PRN":26,"el":17,"az":54,"ss":41,"used":false},{"PRN":29,"el":20,"az":63,"ss":42,"used":false},{"PRN":30,"el":59,"az":312,"ss":44,"used":true}]} $GPRMC,095349.792,A,2712.6511,S,15303.1147,E,2.04,188.22,080407,,,A*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:49.792Z","ept":0.005,"lat":-27.210851667,"lon":153.051911667,"alt":7.300,"epx":42.926,"epy":14.332,"epv":62.100,"track":188.2200,"speed":1.049,"climb":-0.100,"eps":85.85} $GPVTG,188.22,T,,,2.04,N,3.78,K,A*7B $GPGGA,095350.792,2712.6515,S,15303.1143,E,1,07,01.3,7.0,M,42.2,M,,*73 $GPRMC,095350.792,A,2712.6515,S,15303.1143,E,1.77,194.81,080407,,,A*78 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:50.792Z","ept":0.005,"lat":-27.210858333,"lon":153.051905000,"alt":7.000,"epx":42.926,"epy":14.332,"epv":62.100,"track":194.8100,"speed":0.911,"climb":-0.300,"eps":85.85} $GPVTG,194.81,T,,,1.77,N,3.28,K,A*7D $GPGGA,095351.792,2712.6515,S,15303.1138,E,1,07,01.3,6.2,M,42.2,M,,*7D $GPRMC,095351.792,A,2712.6515,S,15303.1138,E,0.98,194.81,080407,,,A*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:51.792Z","ept":0.005,"lat":-27.210858333,"lon":153.051896667,"alt":6.200,"epx":42.926,"epy":14.332,"epv":62.100,"track":194.8100,"speed":0.504,"climb":-0.800,"eps":85.85} $GPVTG,194.81,T,,,0.98,N,1.81,K,A*7C $GPGGA,095352.792,2712.6511,S,15303.1137,E,1,06,02.3,5.8,M,42.2,M,,*7E $GPGSA,A,3,05,07,12,21,24,30,,,,,,,4.8,2.3,4.2*3E $GPGSV,3,1,12,2,15,123,33,5,45,347,41,6,58,198,42,7,45,212,41*70 $GPGSV,3,2,12,10,44,132,42,12,39,002,40,18,14,332,25,21,34,265,39*75 $GPGSV,3,3,12,24,58,220,41,26,17,054,39,29,20,063,40,30,59,312,43*7D {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":4.20,"tdop":3.84,"hdop":2.30,"gdop":7.67,"pdop":4.80,"satellites":[{"PRN":2,"el":15,"az":123,"ss":33,"used":false},{"PRN":5,"el":45,"az":347,"ss":41,"used":true},{"PRN":6,"el":58,"az":198,"ss":42,"used":false},{"PRN":7,"el":45,"az":212,"ss":41,"used":true},{"PRN":10,"el":44,"az":132,"ss":42,"used":false},{"PRN":12,"el":39,"az":2,"ss":40,"used":true},{"PRN":18,"el":14,"az":332,"ss":25,"used":false},{"PRN":21,"el":34,"az":265,"ss":39,"used":true},{"PRN":24,"el":58,"az":220,"ss":41,"used":true},{"PRN":26,"el":17,"az":54,"ss":39,"used":false},{"PRN":29,"el":20,"az":63,"ss":40,"used":false},{"PRN":30,"el":59,"az":312,"ss":43,"used":true}]} $GPRMC,095352.792,A,2712.6511,S,15303.1137,E,1.39,350.04,080407,,,A*70 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:52.792Z","ept":0.005,"lat":-27.210851667,"lon":153.051895000,"alt":5.800,"epx":42.926,"epy":14.332,"epv":62.100,"track":350.0400,"speed":0.715,"climb":-0.400,"eps":85.85} $GPVTG,350.04,T,,,1.39,N,2.57,K,A*79 $GPGGA,095353.791,2712.6505,S,15303.1137,E,1,06,02.3,5.9,M,42.2,M,,*78 $GPRMC,095353.791,A,2712.6505,S,15303.1137,E,1.92,359.88,080407,,,A*7B {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:53.791Z","ept":0.005,"lat":-27.210841667,"lon":153.051895000,"alt":5.900,"epx":42.926,"epy":14.332,"epv":96.600,"track":359.8800,"speed":0.988,"climb":0.100,"eps":85.94} $GPVTG,359.88,T,,,1.92,N,3.56,K,A*75 $GPGGA,095354.791,2712.6500,S,15303.1137,E,1,07,01.3,5.2,M,42.2,M,,*73 $GPRMC,095354.791,A,2712.6500,S,15303.1137,E,2.00,11.44,080407,,,A*4E {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:54.791Z","ept":0.005,"lat":-27.210833333,"lon":153.051895000,"alt":5.200,"epx":42.926,"epy":14.332,"epv":96.600,"track":11.4400,"speed":1.029,"climb":-0.700,"eps":85.85} $GPVTG,11.44,T,,,2.00,N,3.70,K,A*46 $GPGGA,095355.791,2712.6493,S,15303.1137,E,1,07,01.3,4.7,M,42.2,M,,*7D $GPGSA,A,3,02,05,07,12,21,24,30,,,,,,3.0,1.3,2.7*33 $GPGSV,3,1,12,2,15,123,34,5,45,347,42,6,58,198,42,7,45,212,41*74 $GPGSV,3,2,12,10,44,132,42,12,39,002,41,18,14,332,26,21,34,265,41*78 $GPGSV,3,3,12,24,58,220,43,26,17,054,40,29,20,063,38,30,59,312,44*79 {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":2.70,"tdop":3.84,"hdop":1.30,"gdop":7.67,"pdop":3.00,"satellites":[{"PRN":2,"el":15,"az":123,"ss":34,"used":true},{"PRN":5,"el":45,"az":347,"ss":42,"used":true},{"PRN":6,"el":58,"az":198,"ss":42,"used":false},{"PRN":7,"el":45,"az":212,"ss":41,"used":true},{"PRN":10,"el":44,"az":132,"ss":42,"used":false},{"PRN":12,"el":39,"az":2,"ss":41,"used":true},{"PRN":18,"el":14,"az":332,"ss":26,"used":false},{"PRN":21,"el":34,"az":265,"ss":41,"used":true},{"PRN":24,"el":58,"az":220,"ss":43,"used":true},{"PRN":26,"el":17,"az":54,"ss":40,"used":false},{"PRN":29,"el":20,"az":63,"ss":38,"used":false},{"PRN":30,"el":59,"az":312,"ss":44,"used":true}]} $GPRMC,095355.791,A,2712.6493,S,15303.1137,E,2.13,16.78,080407,,,A*4E {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:55.791Z","ept":0.005,"lat":-27.210821667,"lon":153.051895000,"alt":4.700,"epx":42.926,"epy":14.332,"epv":96.600,"track":16.7800,"speed":1.096,"climb":-0.500,"eps":85.85} $GPVTG,16.78,T,,,2.13,N,3.95,K,A*47 $GPGGA,095356.791,2712.6487,S,15303.1136,E,1,07,01.3,4.3,M,42.2,M,,*7E $GPRMC,095356.791,A,2712.6487,S,15303.1136,E,2.25,13.51,080407,,,A*42 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:56.791Z","ept":0.005,"lat":-27.210811667,"lon":153.051893333,"alt":4.300,"epx":42.926,"epy":14.332,"epv":62.100,"track":13.5100,"speed":1.157,"climb":-0.400,"eps":85.85} $GPVTG,13.51,T,,,2.25,N,4.16,K,A*40 $GPGGA,095357.791,2712.6480,S,15303.1135,E,1,07,01.3,4.1,M,42.2,M,,*79 $GPRMC,095357.791,A,2712.6480,S,15303.1135,E,2.30,7.49,080407,,,A*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:57.791Z","ept":0.005,"lat":-27.210800000,"lon":153.051891667,"alt":4.100,"epx":42.926,"epy":14.332,"epv":62.100,"track":7.4900,"speed":1.183,"climb":-0.200,"eps":85.85} $GPVTG,7.49,T,,,2.30,N,4.26,K,A*7B $GPGGA,095358.790,2712.6473,S,15303.1133,E,1,08,01.1,3.9,M,42.2,M,,*7F $GPGSA,A,3,02,05,07,10,12,21,24,30,,,,,2.6,1.1,2.4*34 $GPGSV,3,1,12,2,15,123,36,5,45,347,43,6,58,198,42,7,45,212,41*77 $GPGSV,3,2,12,10,43,132,41,12,39,002,41,18,14,332,26,21,34,265,42*7F $GPGSV,3,3,12,24,58,219,43,26,17,054,38,29,20,063,37,30,59,312,44*73 {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":2.40,"tdop":3.84,"hdop":1.10,"gdop":7.67,"pdop":2.60,"satellites":[{"PRN":2,"el":15,"az":123,"ss":36,"used":true},{"PRN":5,"el":45,"az":347,"ss":43,"used":true},{"PRN":6,"el":58,"az":198,"ss":42,"used":false},{"PRN":7,"el":45,"az":212,"ss":41,"used":true},{"PRN":10,"el":43,"az":132,"ss":41,"used":true},{"PRN":12,"el":39,"az":2,"ss":41,"used":true},{"PRN":18,"el":14,"az":332,"ss":26,"used":false},{"PRN":21,"el":34,"az":265,"ss":42,"used":true},{"PRN":24,"el":58,"az":219,"ss":43,"used":true},{"PRN":26,"el":17,"az":54,"ss":38,"used":false},{"PRN":29,"el":20,"az":63,"ss":37,"used":false},{"PRN":30,"el":59,"az":312,"ss":44,"used":true}]} $GPRMC,095358.790,A,2712.6473,S,15303.1133,E,2.34,6.73,080407,,,A*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:53:58.790Z","ept":0.005,"lat":-27.210788333,"lon":153.051888333,"alt":3.900,"epx":42.926,"epy":14.332,"epv":62.100,"track":6.7300,"speed":1.204,"climb":-0.200,"eps":85.94} $GPVTG,6.73,T,,,2.34,N,4.32,K,A*72 $GPGGA,095400.790,2712.6459,S,15303.1133,E,1,06,01.8,3.5,M,42.2,M,,*76 $GPRMC,095400.790,A,2712.6459,S,15303.1133,E,2.40,7.80,080407,,,A*7B {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:54:00.790Z","ept":0.005,"lat":-27.210765000,"lon":153.051888333,"alt":3.500,"epx":42.926,"epy":14.332,"epv":55.200,"track":7.8000,"speed":1.235,"climb":-0.200,"eps":42.93} $GPVTG,7.80,T,,,2.40,N,4.44,K,A*7D $GPGGA,095401.790,2712.6453,S,15303.1133,E,1,08,01.1,3.7,M,42.2,M,,*78 $GPGSA,A,3,02,05,07,10,12,21,24,30,,,,,2.6,1.1,2.4*34 $GPGSV,3,1,12,2,15,123,35,5,45,347,43,6,58,198,42,7,45,212,39*7B $GPGSV,3,2,12,10,43,132,40,12,39,002,40,18,14,332,25,21,34,265,40*7E $GPGSV,3,3,12,24,58,219,44,26,17,054,38,29,20,063,37,30,59,312,43*73 {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":2.40,"tdop":3.84,"hdop":1.10,"gdop":7.67,"pdop":2.60,"satellites":[{"PRN":2,"el":15,"az":123,"ss":35,"used":true},{"PRN":5,"el":45,"az":347,"ss":43,"used":true},{"PRN":6,"el":58,"az":198,"ss":42,"used":false},{"PRN":7,"el":45,"az":212,"ss":39,"used":true},{"PRN":10,"el":43,"az":132,"ss":40,"used":true},{"PRN":12,"el":39,"az":2,"ss":40,"used":true},{"PRN":18,"el":14,"az":332,"ss":25,"used":false},{"PRN":21,"el":34,"az":265,"ss":40,"used":true},{"PRN":24,"el":58,"az":219,"ss":44,"used":true},{"PRN":26,"el":17,"az":54,"ss":38,"used":false},{"PRN":29,"el":20,"az":63,"ss":37,"used":false},{"PRN":30,"el":59,"az":312,"ss":43,"used":true}]} $GPRMC,095401.790,A,2712.6453,S,15303.1133,E,2.36,7.77,080407,,,A*79 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:54:01.790Z","ept":0.005,"lat":-27.210755000,"lon":153.051888333,"alt":3.700,"epx":42.926,"epy":14.332,"epv":55.200,"track":7.7700,"speed":1.214,"climb":0.200,"eps":85.85} $GPVTG,7.77,T,,,2.36,N,4.37,K,A*70 $GPGGA,095403.789,2712.6439,S,15303.1137,E,1,08,01.1,3.5,M,42.2,M,,*78 $GPRMC,095403.789,A,2712.6439,S,15303.1137,E,2.48,15.66,080407,,,A*41 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:54:03.789Z","ept":0.005,"lat":-27.210731667,"lon":153.051895000,"alt":3.500,"epx":42.926,"epy":14.332,"epv":55.200,"track":15.6600,"speed":1.276,"climb":-0.100,"eps":42.95} $GPVTG,15.66,T,,,2.48,N,4.59,K,A*42 $GPGGA,095404.789,2712.6432,S,15303.1137,E,1,09,01.1,3.3,M,42.2,M,,*73 $GPGSA,A,3,02,05,06,07,10,12,21,24,30,,,,2.5,1.1,2.2*37 $GPGSV,3,1,12,2,15,123,33,5,45,347,44,6,58,197,42,7,45,212,41*7A $GPGSV,3,2,12,10,43,132,39,12,39,002,41,18,14,332,25,21,34,265,39*7F $GPGSV,3,3,12,24,58,219,45,26,17,054,38,29,20,063,38,30,59,312,43*7D {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":2.20,"tdop":3.84,"hdop":1.10,"gdop":7.67,"pdop":2.50,"satellites":[{"PRN":2,"el":15,"az":123,"ss":33,"used":true},{"PRN":5,"el":45,"az":347,"ss":44,"used":true},{"PRN":6,"el":58,"az":197,"ss":42,"used":true},{"PRN":7,"el":45,"az":212,"ss":41,"used":true},{"PRN":10,"el":43,"az":132,"ss":39,"used":true},{"PRN":12,"el":39,"az":2,"ss":41,"used":true},{"PRN":18,"el":14,"az":332,"ss":25,"used":false},{"PRN":21,"el":34,"az":265,"ss":39,"used":true},{"PRN":24,"el":58,"az":219,"ss":45,"used":true},{"PRN":26,"el":17,"az":54,"ss":38,"used":false},{"PRN":29,"el":20,"az":63,"ss":38,"used":false},{"PRN":30,"el":59,"az":312,"ss":43,"used":true}]} $GPRMC,095404.789,A,2712.6432,S,15303.1137,E,2.45,12.39,080407,,,A*4D {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:54:04.789Z","ept":0.005,"lat":-27.210720000,"lon":153.051895000,"alt":3.300,"epx":42.926,"epy":14.332,"epv":55.200,"track":12.3900,"speed":1.260,"climb":-0.200,"eps":85.85} $GPVTG,12.39,T,,,2.45,N,4.54,K,A*4F $GPGGA,095405.789,2712.6425,S,15303.1138,E,1,09,01.1,3.1,M,42.2,M,,*79 $GPRMC,095405.789,A,2712.6425,S,15303.1138,E,2.55,16.50,080407,,,A*4F {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:54:05.789Z","ept":0.005,"lat":-27.210708333,"lon":153.051896667,"alt":3.100,"epx":42.926,"epy":14.332,"epv":50.600,"track":16.5000,"speed":1.312,"climb":-0.200,"eps":85.85} $GPVTG,16.50,T,,,2.55,N,4.73,K,A*40 $GPGGA,095406.789,2712.6420,S,15303.1142,E,1,09,01.1,2.7,M,42.2,M,,*75 $GPRMC,095406.789,A,2712.6420,S,15303.1142,E,2.35,31.12,080407,,,A*41 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:54:06.789Z","ept":0.005,"lat":-27.210700000,"lon":153.051903333,"alt":2.700,"epx":42.926,"epy":14.332,"epv":50.600,"track":31.1200,"speed":1.209,"climb":-0.400,"eps":85.85} $GPVTG,31.12,T,,,2.35,N,4.35,K,A*47 $GPGGA,095407.788,2712.6415,S,15303.1145,E,1,08,01.7,2.5,M,42.2,M,,*71 $GPGSA,A,3,02,05,06,07,10,12,24,30,,,,,3.9,1.7,3.4*38 $GPGSV,3,1,12,2,14,123,33,5,45,347,43,6,58,197,42,7,45,212,41*7C $GPGSV,3,2,12,10,43,132,42,12,39,002,40,18,14,332,28,21,34,265,36*70 $GPGSV,3,3,12,24,58,219,43,26,17,054,38,29,20,063,39,30,59,312,43*7A {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":3.40,"tdop":3.84,"hdop":1.70,"gdop":7.67,"pdop":3.90,"satellites":[{"PRN":2,"el":14,"az":123,"ss":33,"used":true},{"PRN":5,"el":45,"az":347,"ss":43,"used":true},{"PRN":6,"el":58,"az":197,"ss":42,"used":true},{"PRN":7,"el":45,"az":212,"ss":41,"used":true},{"PRN":10,"el":43,"az":132,"ss":42,"used":true},{"PRN":12,"el":39,"az":2,"ss":40,"used":true},{"PRN":18,"el":14,"az":332,"ss":28,"used":false},{"PRN":21,"el":34,"az":265,"ss":36,"used":false},{"PRN":24,"el":58,"az":219,"ss":43,"used":true},{"PRN":26,"el":17,"az":54,"ss":38,"used":false},{"PRN":29,"el":20,"az":63,"ss":39,"used":false},{"PRN":30,"el":59,"az":312,"ss":43,"used":true}]} $GPRMC,095407.788,A,2712.6415,S,15303.1145,E,2.28,40.30,080407,,,A*4A {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:54:07.788Z","ept":0.005,"lat":-27.210691667,"lon":153.051908333,"alt":2.500,"epx":42.926,"epy":14.332,"epv":50.600,"track":40.3000,"speed":1.173,"climb":-0.200,"eps":85.94} $GPVTG,40.30,T,,,2.28,N,4.23,K,A*4A $GPGGA,095408.788,2712.6411,S,15303.1151,E,1,09,01.1,2.6,M,42.2,M,,*7B $GPRMC,095408.788,A,2712.6411,S,15303.1151,E,2.35,51.76,080407,,,A*4A {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:54:08.788Z","ept":0.005,"lat":-27.210685000,"lon":153.051918333,"alt":2.600,"epx":42.926,"epy":14.332,"epv":78.200,"track":51.7600,"speed":1.209,"climb":0.100,"eps":85.85} $GPVTG,51.76,T,,,2.35,N,4.35,K,A*43 $GPGGA,095409.788,2712.6409,S,15303.1158,E,1,09,01.1,2.6,M,42.2,M,,*7A $GPRMC,095409.788,A,2712.6409,S,15303.1158,E,2.41,68.20,080407,,,A*41 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:54:09.788Z","ept":0.005,"lat":-27.210681667,"lon":153.051930000,"alt":2.600,"epx":42.926,"epy":14.332,"epv":78.200,"track":68.2000,"speed":1.240,"climb":0.000,"eps":85.85} $GPVTG,68.20,T,,,2.41,N,4.47,K,A*4C $GPGGA,095410.788,2712.6407,S,15303.1166,E,1,09,01.1,2.9,M,42.2,M,,*7E $GPGSA,A,3,02,05,06,07,10,12,21,24,30,,,,2.5,1.1,2.2*37 $GPGSV,3,1,12,2,14,123,28,5,45,347,43,6,58,197,42,7,45,212,41*76 $GPGSV,3,2,12,10,43,132,43,12,39,002,42,18,14,332,31,21,34,265,37*7A $GPGSV,3,3,12,24,58,219,43,26,17,054,39,29,20,063,37,30,59,312,44*72 {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":2.20,"tdop":3.84,"hdop":1.10,"gdop":7.67,"pdop":2.50,"satellites":[{"PRN":2,"el":14,"az":123,"ss":28,"used":true},{"PRN":5,"el":45,"az":347,"ss":43,"used":true},{"PRN":6,"el":58,"az":197,"ss":42,"used":true},{"PRN":7,"el":45,"az":212,"ss":41,"used":true},{"PRN":10,"el":43,"az":132,"ss":43,"used":true},{"PRN":12,"el":39,"az":2,"ss":42,"used":true},{"PRN":18,"el":14,"az":332,"ss":31,"used":false},{"PRN":21,"el":34,"az":265,"ss":37,"used":true},{"PRN":24,"el":58,"az":219,"ss":43,"used":true},{"PRN":26,"el":17,"az":54,"ss":39,"used":false},{"PRN":29,"el":20,"az":63,"ss":37,"used":false},{"PRN":30,"el":59,"az":312,"ss":44,"used":true}]} $GPRMC,095410.788,A,2712.6407,S,15303.1166,E,2.54,74.38,080407,,,A*4A {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:54:10.788Z","ept":0.005,"lat":-27.210678333,"lon":153.051943333,"alt":2.900,"epx":42.926,"epy":14.332,"epv":78.200,"track":74.3800,"speed":1.307,"climb":0.300,"eps":85.85} $GPVTG,74.38,T,,,2.54,N,4.71,K,A*49 $GPGGA,095411.787,2712.6405,S,15303.1173,E,1,09,01.1,2.9,M,42.2,M,,*76 $GPRMC,095411.787,A,2712.6405,S,15303.1173,E,2.34,76.68,080407,,,A*43 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:54:11.787Z","ept":0.005,"lat":-27.210675000,"lon":153.051955000,"alt":2.900,"epx":42.926,"epy":14.332,"epv":50.600,"track":76.6800,"speed":1.204,"climb":0.000,"eps":85.94} $GPVTG,76.68,T,,,2.34,N,4.33,K,A*4E $GPGGA,095412.787,2712.6404,S,15303.1180,E,1,09,01.1,3.0,M,42.2,M,,*70 $GPRMC,095412.787,A,2712.6404,S,15303.1180,E,2.33,77.59,080407,,,A*49 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:54:12.787Z","ept":0.005,"lat":-27.210673333,"lon":153.051966667,"alt":3.000,"epx":42.926,"epy":14.332,"epv":50.600,"track":77.5900,"speed":1.199,"climb":0.100,"eps":85.85} $GPVTG,77.59,T,,,2.33,N,4.32,K,A*4B $GPGGA,095413.787,2712.6403,S,15303.1187,E,1,08,01.1,3.1,M,42.2,M,,*71 $GPGSA,A,3,02,05,07,10,12,21,24,30,,,,,2.6,1.1,2.4*34 $GPGSV,3,1,12,2,14,123,25,5,45,347,44,6,58,197,39,7,45,212,38*7E $GPGSV,3,2,12,10,43,132,35,12,39,002,43,18,14,332,30,21,34,265,38*74 $GPGSV,3,3,12,24,58,219,40,26,17,054,38,29,20,063,38,30,59,312,44*7F {"class":"SKY","tag":"GSV","xdop":2.86,"ydop":0.96,"vdop":2.40,"tdop":3.84,"hdop":1.10,"gdop":7.67,"pdop":2.60,"satellites":[{"PRN":2,"el":14,"az":123,"ss":25,"used":true},{"PRN":5,"el":45,"az":347,"ss":44,"used":true},{"PRN":6,"el":58,"az":197,"ss":39,"used":false},{"PRN":7,"el":45,"az":212,"ss":38,"used":true},{"PRN":10,"el":43,"az":132,"ss":35,"used":true},{"PRN":12,"el":39,"az":2,"ss":43,"used":true},{"PRN":18,"el":14,"az":332,"ss":30,"used":false},{"PRN":21,"el":34,"az":265,"ss":38,"used":true},{"PRN":24,"el":58,"az":219,"ss":40,"used":true},{"PRN":26,"el":17,"az":54,"ss":38,"used":false},{"PRN":29,"el":20,"az":63,"ss":38,"used":false},{"PRN":30,"el":59,"az":312,"ss":44,"used":true}]} $GPRMC,095413.787,A,2712.6403,S,15303.1187,E,2.47,79.51,080407,,,A*4D {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:54:13.787Z","ept":0.005,"lat":-27.210671667,"lon":153.051978333,"alt":3.100,"epx":42.926,"epy":14.332,"epv":50.600,"track":79.5100,"speed":1.271,"climb":0.100,"eps":85.85} $GPVTG,79.51,T,,,2.47,N,4.57,K,A*4D $GPGGA,095414.787,2712.6403,S,15303.1194,E,1,09,01.1,3.2,M,42.2,M,,*76 $GPRMC,095414.787,A,2712.6403,S,15303.1194,E,2.20,86.03,080407,,,A*4E {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:54:14.787Z","ept":0.005,"lat":-27.210671667,"lon":153.051990000,"alt":3.200,"epx":42.926,"epy":14.332,"epv":55.200,"track":86.0300,"speed":1.132,"climb":0.100,"eps":85.85} $GPVTG,86.03,T,,,2.20,N,4.07,K,A*4E $GPGGA,095415.787,2712.6404,S,15303.1200,E,1,06,01.8,3.5,M,42.2,M,,*7F $GPRMC,095415.787,A,2712.6404,S,15303.1200,E,2.11,96.86,080407,,,A*48 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-04-08T09:54:15.787Z","ept":0.005,"lat":-27.210673333,"lon":153.052000000,"alt":3.500,"epx":42.926,"epy":14.332,"epv":55.200,"track":96.8600,"speed":1.085,"climb":0.300,"eps":85.85} gpsd-3.9/test/daemon/holux-gm-210.log0000664000175000017500000000516411762140437015470 0ustar esresr# Name: Holux GM-210 # Chipset: SiRF-II # Submitter: "Patrick L. McGillan" # Date: 2005-04-04 # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPGGA,012519.563,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*7D $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,012519.563,V,4131.7353,N,09336.8150,W,0.00,,050405,,*14 $GPGGA,012520.563,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*77 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,09,14,65,034,00,01,55,291,43,25,53,210,37,22,45,125,00*7E $GPGSV,3,2,09,30,29,096,00,11,25,294,32,05,20,056,00,18,14,127,00*73 $GPGSV,3,3,09,15,08,176,00*4C $GPRMC,012520.563,V,4131.7353,N,09336.8150,W,0.00,,050405,,*1E $GPGGA,012521.563,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*76 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,012521.563,V,4131.7353,N,09336.8150,W,0.00,,050405,,*1F $GPGGA,012522.563,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*75 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,012522.563,V,4131.7353,N,09336.8150,W,0.00,,050405,,*1C $GPGGA,012523.563,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*74 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,012523.563,V,4131.7353,N,09336.8150,W,0.00,,050405,,*1D $GPGGA,012524.563,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*73 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,012524.563,V,4131.7353,N,09336.8150,W,0.00,,050405,,*1A $GPGGA,012525.563,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*72 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,09,14,65,034,00,01,55,291,43,25,53,210,37,22,45,125,00*7E $GPGSV,3,2,09,30,29,096,00,11,25,294,32,05,20,056,00,18,14,127,00*73 $GPGSV,3,3,09,15,08,176,00*4C $GPRMC,012525.563,V,4131.7353,N,09336.8150,W,0.00,,050405,,*1B $GPGGA,012526.563,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*71 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,012526.563,V,4131.7353,N,09336.8150,W,0.00,,050405,,*18 $GPGGA,012527.562,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*71 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,012527.562,V,4131.7353,N,09336.8150,W,0.00,,050405,,*18 $GPGGA,012528.562,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*7E $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,012528.562,V,4131.7353,N,09336.8150,W,0.00,,050405,,*17 $GPGGA,012529.562,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*7F $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,012529.562,V,4131.7353,N,09336.8150,W,0.00,,050405,,*16 $GPGGA,012530.562,4131.7353,N,09336.8150,W,0,00,50. gpsd-3.9/test/daemon/holux-gm-210.log.chk0000664000175000017500000000743112135526343016232 0ustar esresr$GPGGA,012519.563,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*7D $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,012519.563,V,4131.7353,N,09336.8150,W,0.00,,050405,,*14 $GPGGA,012520.563,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*77 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,09,14,65,034,00,01,55,291,43,25,53,210,37,22,45,125,00*7E $GPGSV,3,2,09,30,29,096,00,11,25,294,32,05,20,056,00,18,14,127,00*73 $GPGSV,3,3,09,15,08,176,00*4C {"class":"SKY","tag":"GSV","vdop":50.00,"hdop":50.00,"pdop":50.00,"satellites":[{"PRN":14,"el":65,"az":34,"ss":0,"used":false},{"PRN":1,"el":55,"az":291,"ss":43,"used":false},{"PRN":25,"el":53,"az":210,"ss":37,"used":false},{"PRN":22,"el":45,"az":125,"ss":0,"used":false},{"PRN":30,"el":29,"az":96,"ss":0,"used":false},{"PRN":11,"el":25,"az":294,"ss":32,"used":false},{"PRN":5,"el":20,"az":56,"ss":0,"used":false},{"PRN":18,"el":14,"az":127,"ss":0,"used":false},{"PRN":15,"el":8,"az":176,"ss":0,"used":false}]} $GPRMC,012520.563,V,4131.7353,N,09336.8150,W,0.00,,050405,,*1E $GPGGA,012521.563,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*76 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,012521.563,V,4131.7353,N,09336.8150,W,0.00,,050405,,*1F $GPGGA,012522.563,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*75 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,012522.563,V,4131.7353,N,09336.8150,W,0.00,,050405,,*1C $GPGGA,012523.563,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*74 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,012523.563,V,4131.7353,N,09336.8150,W,0.00,,050405,,*1D $GPGGA,012524.563,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*73 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,012524.563,V,4131.7353,N,09336.8150,W,0.00,,050405,,*1A $GPGGA,012525.563,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*72 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,09,14,65,034,00,01,55,291,43,25,53,210,37,22,45,125,00*7E $GPGSV,3,2,09,30,29,096,00,11,25,294,32,05,20,056,00,18,14,127,00*73 $GPGSV,3,3,09,15,08,176,00*4C {"class":"SKY","tag":"GSV","vdop":50.00,"hdop":50.00,"pdop":50.00,"satellites":[{"PRN":14,"el":65,"az":34,"ss":0,"used":false},{"PRN":1,"el":55,"az":291,"ss":43,"used":false},{"PRN":25,"el":53,"az":210,"ss":37,"used":false},{"PRN":22,"el":45,"az":125,"ss":0,"used":false},{"PRN":30,"el":29,"az":96,"ss":0,"used":false},{"PRN":11,"el":25,"az":294,"ss":32,"used":false},{"PRN":5,"el":20,"az":56,"ss":0,"used":false},{"PRN":18,"el":14,"az":127,"ss":0,"used":false},{"PRN":15,"el":8,"az":176,"ss":0,"used":false}]} $GPRMC,012525.563,V,4131.7353,N,09336.8150,W,0.00,,050405,,*1B $GPGGA,012526.563,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*71 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,012526.563,V,4131.7353,N,09336.8150,W,0.00,,050405,,*18 $GPGGA,012527.562,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*71 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,012527.562,V,4131.7353,N,09336.8150,W,0.00,,050405,,*18 $GPGGA,012528.562,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*7E $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,012528.562,V,4131.7353,N,09336.8150,W,0.00,,050405,,*17 $GPGGA,012529.562,4131.7353,N,09336.8150,W,0,00,50.0,280.2,M,-31.6,M,0.0,0000*7F $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,012529.562,V,4131.7353,N,09336.8150,W,0.00,,050405,,*16 $GPGGA,012530.562,4131.7353,N,09336.8150,W,0,00,50. gpsd-3.9/test/daemon/hp58534a.log0000664000175000017500000000171711762140437014611 0ustar esresr# Name: HP (Symmetricom) 58534AGPS # Submitter: aquarat # Date: 2010-10-26 # Notes: shows GPZDA bug in gpsd 2.95 # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. $GPGGA,222449,3349.0337,S,01843.9282,E,1,07,02.31,000115.4,M,0033.3,M,, $GPZDA,222449,25,10,2010,+00,00 $GPGSV,3,1,09,07,38,351,00,08,60,306,31,11,73,114,35,17,36,265,46 $GPGSV,3,2,09,19,18,121,38,20,19,049,29,24,31,133,38,28,57,208,32 $GPGSV,3,3,09,32,16,070,00 $GPVTG,318.0,T,341.9,M,000.0,N,0000.1,K,A $PFEC,GPtps,101025222449,3,1,1,090101000000,00,15,101025162124,1607,167104 $GPGGA,222450,3349.0337,S,01843.9282,E,1,07,02.31,000115.4,M,0033.3,M,, $GPGSV,3,1,09,07,38,351,00,08,60,306,31,11,73,114,35,17,36,265,46 $GPGSV,3,2,09,19,18,121,38,20,19,049,29,24,31,133,38,28,57,208,32 $GPGSV,3,3,09,32,16,070,00 $GPVTG,318.0,T,341.9,M,000.0,N,0000.1,K,A $PFEC,GPtps,101025222450,3,1,1,090101000000,00,15,101025162124,1607,167104 gpsd-3.9/test/daemon/hp58534a.log.chk0000664000175000017500000000173012135526345015351 0ustar esresr$GPGGA,222449,3349.0337,S,01843.9282,E,1,07,02.31,000115.4,M,0033.3,M,, {"class":"TPV","tag":"GGA","mode":3,"lat":-33.817228333,"lon":18.732136667,"alt":115.400} $GPZDA,222449,25,10,2010,+00,00 $GPGSV,3,1,09,07,38,351,00,08,60,306,31,11,73,114,35,17,36,265,46 $GPGSV,3,2,09,19,18,121,38,20,19,049,29,24,31,133,38,28,57,208,32 $GPGSV,3,3,09,32,16,070,00 $GPVTG,318.0,T,341.9,M,000.0,N,0000.1,K,A $PFEC,GPtps,101025222449,3,1,1,090101000000,00,15,101025162124,1607,167104 $GPGGA,222450,3349.0337,S,01843.9282,E,1,07,02.31,000115.4,M,0033.3,M,, {"class":"TPV","tag":"GGA","mode":3,"time":"2010-10-25T22:24:50.000Z","ept":0.005,"lat":-33.817228333,"lon":18.732136667,"alt":115.400,"speed":0.000,"climb":0.000} $GPGSV,3,1,09,07,38,351,00,08,60,306,31,11,73,114,35,17,36,265,46 $GPGSV,3,2,09,19,18,121,38,20,19,049,29,24,31,133,38,28,57,208,32 $GPGSV,3,3,09,32,16,070,00 $GPVTG,318.0,T,341.9,M,000.0,N,0000.1,K,A $PFEC,GPtps,101025222450,3,1,1,090101000000,00,15,101025162124,1607,167104 gpsd-3.9/test/daemon/humminbird-M37.log0000664000175000017500000010723111762140437016130 0ustar esresr# Name: Humminbird Matrix 37 Fishing System, Humminbird GR16 Receiver # Submitter: "Carl Brown" # Date: 2006-09-16 # Location: Connecticut River, New Hampshire, USA, 44N71W # Comments: Powerboat track with NMEA depth (DPT) and water temperature (MTW) sentences # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $INDPT,2.2,0.0*47 $INRMC,194101,A,4426.1130,N,07140.5596,W,5.2,77.3,160906,15.8,W*60 $INDPT,2.1,0.0*44 $INGLL,4426.1130,N,07140.5579,W,194102,A*2C $INVTG,77.5,T,93.3,M,5.2,N,9.7,K*5B $INMTW,17.9,C*1B $INDPT,2.1,0.0*44 $INRMC,194103,A,4426.1134,N,07140.5558,W,5.3,77.0,160906,15.8,W*66 $INDPT,2.0,0.0*45 $INGGA,194104,4426.1138,N,07140.5536,W,2,10,0.9,267.9,M,,,,*13 $INZDA,194104,16,09,2006,-05,00*73 $INMTW,17.9,C*1B $INDPT,2.1,0.0*44 $INRMC,194105,A,4426.1142,N,07140.5515,W,5.3,76.8,160906,15.8,W*61 $INDPT,2.1,0.0*44 $INGLL,4426.1146,N,07140.5499,W,194106,A*26 $INVTG,76.3,T,92.1,M,5.3,N,9.7,K*5E $INMTW,17.9,C*1B $INDPT,2.2,0.0*47 $INRMC,194107,A,4426.1149,N,07140.5477,W,5.3,76.6,160906,15.8,W*63 $INDPT,2.1,0.0*44 $INGGA,194108,4426.1149,N,07140.5455,W,2,10,0.9,268.0,M,,,,*1B $INZDA,194108,16,09,2006,-05,00*7F $INMTW,17.9,C*1B $INDPT,2.2,0.0*47 $INRMC,194109,A,4426.1153,N,07140.5439,W,5.2,76.5,160906,15.8,W*6E $INDPT,2.3,0.0*46 $INGLL,4426.1157,N,07140.5418,W,194110,A*28 $INVTG,77.2,T,93.0,M,5.2,N,9.7,K*5F $INMTW,17.9,C*1B $INDPT,2.2,0.0*47 $INRMC,194111,A,4426.1161,N,07140.5396,W,5.3,77.6,160906,15.8,W*67 $INDPT,2.3,0.0*46 $INGGA,194112,4426.1165,N,07140.5380,W,2,10,0.9,268.0,M,,,,*11 $INZDA,194112,16,09,2006,-05,00*74 $INMTW,17.9,C*1B $INDPT,2.3,0.0*46 $INRMC,194113,A,4426.1169,N,07140.5358,W,5.2,75.6,160906,15.8,W*6C $INDPT,2.4,0.0*41 $INGLL,4426.1173,N,07140.5337,W,194114,A*20 $INVTG,76.0,T,91.8,M,5.2,N,9.6,K*57 $INMTW,17.9,C*1B $INDPT,2.5,0.0*40 $INRMC,194115,A,4426.1176,N,07140.5321,W,5.2,77.3,160906,15.8,W*6D $INDPT,2.4,0.0*41 $INGGA,194116,4426.1176,N,07140.5299,W,2,10,0.9,268.0,M,,,,*1E $INZDA,194116,16,09,2006,-05,00*70 $INMTW,18.0,C*1D $INDPT,2.4,0.0*41 $INRMC,194117,A,4426.1180,N,07140.5278,W,5.2,76.8,160906,15.8,W*61 $INDPT,2.5,0.0*40 $INGLL,4426.1184,N,07140.5261,W,194118,A*26 $INVTG,76.4,T,92.2,M,5.2,N,9.7,K*5B $INMTW,18.0,C*1D $INDPT,2.6,0.0*43 $INRMC,194119,A,4426.1188,N,07140.5240,W,5.2,77.5,160906,15.8,W*60 $INDPT,2.4,0.0*41 $INGGA,194120,4426.1192,N,07140.5218,W,2,10,0.9,268.2,M,,,,*1A $INZDA,194120,16,09,2006,-05,00*75 $INMTW,17.9,C*1B $INDPT,2.4,0.0*41 $INRMC,194121,A,4426.1192,N,07140.5202,W,5.2,79.3,160906,15.8,W*6E $INDPT,2.4,0.0*41 $INGLL,4426.1196,N,07140.5181,W,194122,A*21 $INVTG,78.6,T,94.4,M,5.3,N,9.7,K*56 $INMTW,18.0,C*1D $INDPT,2.4,0.0*41 $INRMC,194123,A,4426.1200,N,07140.5159,W,5.2,79.0,160906,15.8,W*6A $INDPT,2.4,0.0*41 $INGGA,194124,4426.1200,N,07140.5143,W,2,10,0.9,268.2,M,,,,*1B $INZDA,194124,16,09,2006,-05,00*71 $INMTW,17.9,C*1B $INDPT,2.5,0.0*40 $INRMC,194111,A,4426.1203,N,07140.5121,W,5.2,81.5,160906,15.8,W*65 $INDPT,2.4,0.0*41 $INGLL,4426.1203,N,07140.5100,W,194112,A*24 $INVTG,81.4,T,97.2,M,5.2,N,9.6,K*57 $INMTW,18.0,C*1D $INDPT,2.3,0.0*46 $INRMC,194113,A,4426.1207,N,07140.5084,W,5.2,81.9,160906,15.8,W*61 $INDPT,2.3,0.0*46 $INGGA,194114,4426.1211,N,07140.5062,W,2,10,0.9,268.4,M,,,,*1C $INZDA,194114,16,09,2006,-05,00*72 $INMTW,18.0,C*1D $INDPT,2.4,0.0*41 $INRMC,194115,A,4426.1211,N,07140.5040,W,5.2,83.9,160906,15.8,W*6A $INDPT,2.4,0.0*41 $INGLL,4426.1211,N,07140.5024,W,194116,A*24 $INVTG,83.7,T,99.5,M,5.2,N,9.6,K*5F $INMTW,18.1,C*1C $INDPT,2.4,0.0*41 $INRMC,194117,A,4426.1215,N,07140.5003,W,5.2,83.8,160906,15.8,W*6A $INDPT,2.4,0.0*41 $INGGA,194118,4426.1215,N,07140.4987,W,2,10,0.9,268.5,M,,,,*16 $INZDA,194118,16,09,2006,-05,00*7E $INMTW,18.0,C*1D $INDPT,2.3,0.0*46 $INRMC,194119,A,4426.1219,N,07140.4965,W,5.1,85.4,160906,15.8,W*69 $INDPT,2.4,0.0*41 $INGLL,4426.1219,N,07140.4943,W,194120,A*20 $INVTG,85.6,T,101.4,M,5.2,N,9.5,K*6A $INMTW,18.1,C*1C $INDPT,2.4,0.0*41 $INRMC,194121,A,4426.1219,N,07140.4927,W,5.2,85.5,160906,15.8,W*66 $INDPT,2.5,0.0*40 $INGGA,194122,4426.1223,N,07140.4906,W,2,10,0.9,268.4,M,,,,*12 $INZDA,194122,16,09,2006,-05,00*77 $INMTW,18.2,C*1F $INDPT,2.4,0.0*41 $INRMC,194123,A,4426.1223,N,07140.4884,W,5.1,86.8,160906,15.8,W*68 $INDPT,2.4,0.0*41 $INGLL,4426.1223,N,07140.4868,W,194124,A*25 $INVTG,87.0,T,102.7,M,5.1,N,9.5,K*6D $INMTW,18.2,C*1F $INDPT,2.5,0.0*40 $INRMC,194125,A,4426.1223,N,07140.4846,W,5.2,86.2,160906,15.8,W*69 $INDPT,2.4,0.0*41 $INGGA,194126,4426.1227,N,07140.4825,W,2,10,0.9,268.2,M,,,,*14 $INZDA,194126,16,09,2006,-05,00*73 $INMTW,18.1,C*1C $INDPT,2.4,0.0*41 $INRMC,194127,A,4426.1227,N,07140.4803,W,5.1,87.4,160906,15.8,W*6A $INDPT,2.4,0.0*41 $INGLL,4426.1227,N,07140.4787,W,194128,A*23 $INVTG,88.3,T,104.1,M,5.1,N,9.5,K*61 $INMTW,18.5,C*18 $INDPT,2.4,0.0*41 $INRMC,194129,A,4426.1227,N,07140.4766,W,5.2,87.6,160906,15.8,W*69 $INDPT,2.4,0.0*41 $INGGA,194130,4426.1227,N,07140.4744,W,2,10,0.9,268.0,M,,,,*19 $INZDA,194130,16,09,2006,-05,00*74 $INMTW,18.5,C*18 $INDPT,2.4,0.0*41 $INRMC,194131,A,4426.1230,N,07140.4728,W,5.1,86.6,160906,15.8,W*6E $INDPT,2.4,0.0*41 $INGLL,4426.1230,N,07140.4706,W,194132,A*27 $INVTG,87.4,T,103.2,M,5.1,N,9.5,K*6D $INMTW,18.6,C*1B $INDPT,2.4,0.0*41 $INRMC,194133,A,4426.1230,N,07140.4685,W,5.1,88.1,160906,15.8,W*63 $INDPT,2.4,0.0*41 $INGGA,194134,4426.1230,N,07140.4669,W,2,10,0.9,267.8,M,,,,*12 $INZDA,194134,16,09,2006,-05,00*70 $INMTW,18.6,C*1B $INDPT,2.4,0.0*41 $INRMC,194135,A,4426.1230,N,07140.4647,W,5.2,87.5,160906,15.8,W*63 $INDPT,2.5,0.0*40 $INGLL,4426.1230,N,07140.4625,W,194136,A*23 $INVTG,87.5,T,103.3,M,5.1,N,9.5,K*6D $INMTW,18.6,C*1B $INDPT,2.4,0.0*41 $INRMC,194137,A,4426.1230,N,07140.4609,W,5.1,87.9,160906,15.8,W*64 $INDPT,2.5,0.0*40 $INGGA,194138,4426.1230,N,07140.4588,W,2,09,0.9,267.7,M,,,,*15 $INZDA,194138,16,09,2006,-05,00*7C $INMTW,18.6,C*1B $INDPT,2.5,0.0*40 $INRMC,194139,A,4426.1230,N,07140.4566,W,5.2,87.3,160906,15.8,W*69 $INDPT,2.6,0.0*43 $INGLL,4426.1234,N,07140.4545,W,194140,A*23 $INVTG,87.4,T,103.2,M,5.2,N,9.6,K*6D $INMTW,18.7,C*1A $INDPT,2.6,0.0*43 $INRMC,194141,A,4426.1234,N,07140.4528,W,5.1,88.0,160906,15.8,W*67 $INDPT,2.6,0.0*43 $INGGA,194142,4426.1234,N,07140.4507,W,2,10,0.9,267.5,M,,,,*11 $INZDA,194142,16,09,2006,-05,00*71 $INMTW,18.6,C*1B $INDPT,2.7,0.0*42 $INRMC,194143,A,4426.1234,N,07140.4485,W,5.1,88.3,160906,15.8,W*60 $INDPT,2.7,0.0*42 $INGLL,4426.1234,N,07140.4469,W,194144,A*28 $INVTG,87.5,T,103.3,M,5.1,N,9.5,K*6D $INMTW,18.7,C*1A $INDPT,2.8,0.0*4D $INRMC,194145,A,4426.1234,N,07140.4448,W,5.1,87.9,160906,15.8,W*62 $INDPT,2.8,0.0*4D $INGGA,194146,4426.1234,N,07140.4426,W,2,09,0.9,267.2,M,,,,*18 $INZDA,194146,16,09,2006,-05,00*75 $INMTW,18.7,C*1A $INDPT,3.0,0.0*44 $INRMC,194147,A,4426.1238,N,07140.4410,W,5.1,87.6,160906,15.8,W*6E $INDPT,2.9,0.0*4C $INGLL,4426.1238,N,07140.4388,W,194148,A*20 $INVTG,87.0,T,102.7,M,5.2,N,9.5,K*6E $INMTW,18.7,C*1A $INDPT,2.9,0.0*4C $INRMC,194149,A,4426.1238,N,07140.4367,W,5.1,87.2,160906,15.8,W*63 $INDPT,3.0,0.0*44 $INGGA,194150,4426.1238,N,07140.4351,W,2,10,0.9,267.0,M,,,,*1E $INZDA,194150,16,09,2006,-05,00*72 $INMTW,18.7,C*1A $INDPT,3.0,0.0*44 $INRMC,194151,A,4426.1238,N,07140.4329,W,5.1,88.3,160906,15.8,W*6E $INDPT,2.9,0.0*4C $INGLL,4426.1238,N,07140.4307,W,194152,A*2C $INVTG,87.8,T,103.6,M,5.1,N,9.5,K*65 $INMTW,18.7,C*1A $INDPT,2.7,0.0*42 $INRMC,194153,A,4426.1238,N,07140.4291,W,5.1,88.1,160906,15.8,W*6C $INDPT,2.7,0.0*42 $INGGA,194154,4426.1242,N,07140.4270,W,2,10,0.9,266.8,M,,,,*1C $INZDA,194154,16,09,2006,-05,00*76 $INMTW,18.8,C*15 $INDPT,2.9,0.0*4C $INRMC,194155,A,4426.1242,N,07140.4248,W,5.1,88.6,160906,15.8,W*64 $INDPT,2.9,0.0*4C $INGLL,4426.1242,N,07140.4232,W,194156,A*22 $INVTG,88.8,T,104.6,M,5.1,N,9.4,K*6C $INMTW,18.7,C*1A $INDPT,3.0,0.0*44 $INRMC,194157,A,4426.1242,N,07140.4210,W,5.1,88.2,160906,15.8,W*6F $INDPT,3.0,0.0*44 $INGGA,194158,4426.1242,N,07140.4189,W,2,09,0.9,266.6,M,,,,*13 $INZDA,194158,16,09,2006,-05,00*7A $INMTW,18.8,C*15 $INDPT,3.1,0.0*45 $INRMC,194159,A,4426.1242,N,07140.4173,W,5.1,88.9,160906,15.8,W*6C $INDPT,3.3,0.0*47 $INGLL,4426.1242,N,07140.4151,W,194200,A*24 $INVTG,89.6,T,105.3,M,5.1,N,9.5,K*66 $INMTW,18.6,C*1B $INDPT,2.9,0.0*4C $INRMC,194201,A,4426.1242,N,07140.4130,W,5.1,89.2,160906,15.8,W*6F $INDPT,2.7,0.0*42 $INGGA,194202,4426.1242,N,07140.4113,W,2,09,0.9,266.6,M,,,,*1C $INZDA,194202,16,09,2006,-05,00*76 $INMTW,18.8,C*15 $INDPT,2.8,0.0*4D $INRMC,194203,A,4426.1242,N,07140.4092,W,5.1,89.0,160906,15.8,W*66 $INDPT,2.9,0.0*4C $INGLL,4426.1242,N,07140.4070,W,194204,A*22 $INVTG,89.6,T,105.4,M,5.1,N,9.5,K*61 $INMTW,18.6,C*1B $INDPT,3.0,0.0*44 $INRMC,194205,A,4426.1242,N,07140.4054,W,5.1,89.9,160906,15.8,W*63 $INDPT,3.0,0.0*44 $INGGA,194206,4426.1242,N,07140.4033,W,2,10,0.9,266.5,M,,,,*10 $INZDA,194206,16,09,2006,-05,00*72 $INMTW,18.7,C*1A $INDPT,3.1,0.0*45 $INRMC,194207,A,4426.1242,N,07140.4011,W,5.1,88.4,160906,15.8,W*6C $INDPT,3.1,0.0*45 $INGLL,4426.1242,N,07140.3995,W,194208,A*2B $INVTG,88.9,T,104.7,M,5.1,N,9.5,K*6D $INMTW,18.7,C*1A $INDPT,2.9,0.0*4C $INRMC,194209,A,4426.1242,N,07140.3973,W,5.1,89.8,160906,15.8,W*65 $INDPT,2.9,0.0*4C $INGGA,194210,4426.1242,N,07140.3952,W,2,09,0.9,266.4,M,,,,*17 $INZDA,194210,16,09,2006,-05,00*75 $INMTW,18.6,C*1B $INDPT,2.9,0.0*4C $INRMC,194211,A,4426.1242,N,07140.3930,W,5.2,88.3,160906,15.8,W*62 $INDPT,3.1,0.0*45 $INGLL,4426.1242,N,07140.3914,W,194212,A*29 $INVTG,88.6,T,104.4,M,5.2,N,9.6,K*61 $INMTW,18.6,C*1B $INDPT,3.1,0.0*45 $INRMC,194213,A,4426.1242,N,07140.3892,W,5.1,89.2,160906,15.8,W*6A $INDPT,3.1,0.0*45 $INGGA,194214,4426.1242,N,07140.3871,W,2,09,0.9,266.3,M,,,,*14 $INZDA,194214,16,09,2006,-05,00*71 $INMTW,18.6,C*1B $INDPT,3.0,0.0*44 $INRMC,194215,A,4426.1242,N,07140.3849,W,5.2,88.0,160906,15.8,W*6A $INDPT,3.2,0.0*46 $INGLL,4426.1242,N,07140.3833,W,194216,A*29 $INVTG,87.9,T,103.7,M,5.2,N,9.6,K*65 $INMTW,18.6,C*1B $INDPT,4.8,0.0*4B $INRMC,194217,A,4426.1246,N,07140.3812,W,5.2,88.8,160906,15.8,W*6A $INDPT,2.8,0.0*4D $INGGA,194218,4426.1246,N,07140.3790,W,2,09,0.9,266.2,M,,,,*1D $INZDA,194218,16,09,2006,-05,00*7D $INMTW,18.6,C*1B $INDPT,2.8,0.0*4D $INRMC,194219,A,4426.1246,N,07140.3774,W,5.2,88.0,160906,15.8,W*63 $INDPT,2.8,0.0*4D $INGLL,4426.1246,N,07140.3752,W,194220,A*20 $INVTG,87.4,T,103.1,M,5.2,N,9.6,K*6E $INMTW,18.5,C*18 $INDPT,2.7,0.0*42 $INRMC,194221,A,4426.1246,N,07140.3731,W,5.1,87.9,160906,15.8,W*6C $INDPT,2.7,0.0*42 $INGGA,194222,4426.1246,N,07140.3715,W,2,09,0.9,266.1,M,,,,*1A $INZDA,194222,16,09,2006,-05,00*74 $INMTW,18.4,C*19 $INDPT,2.6,0.0*43 $INRMC,194223,A,4426.1246,N,07140.3693,W,5.1,88.4,160906,15.8,W*65 $INDPT,2.6,0.0*43 $INGLL,4426.1246,N,07140.3671,W,194224,A*24 $INVTG,87.2,T,103.0,M,5.2,N,9.6,K*69 $INMTW,18.5,C*18 $INDPT,2.6,0.0*43 $INRMC,194225,A,4426.1250,N,07140.3650,W,5.2,86.8,160906,15.8,W*6A $INDPT,2.7,0.0*42 $INGGA,194226,4426.1250,N,07140.3634,W,2,09,0.9,266.0,M,,,,*1A $INZDA,194226,16,09,2006,-05,00*70 $INMTW,18.4,C*19 $INDPT,2.8,0.0*4D $INRMC,194227,A,4426.1250,N,07140.3612,W,5.1,87.7,160906,15.8,W*63 $INDPT,2.9,0.0*4C $INGLL,4426.1250,N,07140.3591,W,194228,A*22 $INVTG,87.4,T,103.2,M,5.1,N,9.5,K*6D $INMTW,18.6,C*1B $INDPT,3.0,0.0*44 $INRMC,194229,A,4426.1250,N,07140.3569,W,5.2,87.0,160906,15.8,W*66 $INDPT,2.7,0.0*42 $INGGA,194230,4426.1250,N,07140.3553,W,2,09,0.9,265.9,M,,,,*15 $INZDA,194230,16,09,2006,-05,00*77 $INMTW,18.6,C*1B $INDPT,2.6,0.0*43 $INRMC,194231,A,4426.1254,N,07140.3531,W,5.1,87.8,160906,15.8,W*6D $INDPT,2.6,0.0*43 $INGLL,4426.1254,N,07140.3510,W,194232,A*24 $INVTG,86.9,T,102.7,M,5.2,N,9.6,K*65 $INMTW,18.6,C*1B $INDPT,2.5,0.0*40 $INRMC,194233,A,4426.1254,N,07140.3494,W,5.2,86.7,160906,15.8,W*6C $INDPT,2.5,0.0*40 $INGGA,194234,4426.1254,N,07140.3472,W,2,09,0.9,265.8,M,,,,*16 $INZDA,194234,16,09,2006,-05,00*73 $INMTW,18.6,C*1B $INDPT,2.4,0.0*41 $INRMC,194235,A,4426.1254,N,07140.3450,W,5.2,87.4,160906,15.8,W*60 $INDPT,2.4,0.0*41 $INGLL,4426.1258,N,07140.3429,W,194236,A*27 $INVTG,87.4,T,103.2,M,5.2,N,9.6,K*6D $INMTW,18.6,C*1B $INDPT,2.4,0.0*41 $INRMC,194237,A,4426.1258,N,07140.3413,W,5.2,86.6,160906,15.8,W*6A $INDPT,2.5,0.0*40 $INGGA,194238,4426.1258,N,07140.3391,W,2,09,0.9,265.7,M,,,,*13 $INZDA,194238,16,09,2006,-05,00*7F $INMTW,18.6,C*1B $INDPT,2.4,0.0*41 $INRMC,194239,A,4426.1258,N,07140.3370,W,5.2,87.3,160906,15.8,W*62 $INDPT,2.6,0.0*43 $INGLL,4426.1258,N,07140.3353,W,194240,A*2C $INVTG,88.0,T,103.8,M,5.2,N,9.6,K*6C $INMTW,18.7,C*1A $INDPT,2.6,0.0*43 $INRMC,194241,A,4426.1261,N,07140.3332,W,5.2,87.7,160906,15.8,W*65 $INDPT,2.7,0.0*42 $INGGA,194242,4426.1261,N,07140.3310,W,2,09,0.9,265.5,M,,,,*1F $INZDA,194242,16,09,2006,-05,00*72 $INMTW,18.6,C*1B $INDPT,2.6,0.0*43 $INRMC,194243,A,4426.1261,N,07140.3289,W,5.2,88.0,160906,15.8,W*6E $INDPT,2.5,0.0*40 $INGLL,4426.1261,N,07140.3267,W,194244,A*24 $INVTG,88.5,T,104.3,M,5.2,N,9.7,K*64 $INMTW,18.6,C*1B $INDPT,2.4,0.0*41 $INRMC,194245,A,4426.1261,N,07140.3246,W,5.2,88.3,160906,15.8,W*68 $INDPT,2.4,0.0*41 $INGGA,194246,4426.1261,N,07140.3230,W,2,09,0.9,264.9,M,,,,*15 $INZDA,194246,16,09,2006,-05,00*76 $INMTW,18.6,C*1B $INDPT,2.4,0.0*41 $INRMC,194247,A,4426.1265,N,07140.3208,W,5.2,87.6,160906,15.8,W*6E $INDPT,2.4,0.0*41 $INGLL,4426.1265,N,07140.3186,W,194248,A*20 $INVTG,88.1,T,103.9,M,5.2,N,9.6,K*6C $INMTW,18.6,C*1B $INDPT,2.5,0.0*40 $INRMC,194249,A,4426.1265,N,07140.3165,W,5.2,88.7,160906,15.8,W*66 $INDPT,2.6,0.0*43 $INGGA,194250,4426.1265,N,07140.3149,W,2,09,0.9,263.8,M,,,,*1D $INZDA,194250,16,09,2006,-05,00*71 $INMTW,18.6,C*1B $INDPT,2.7,0.0*42 $INRMC,194251,A,4426.1265,N,07140.3127,W,5.2,88.4,160906,15.8,W*6A $INDPT,2.5,0.0*40 $INGLL,4426.1265,N,07140.3106,W,194252,A*23 $INVTG,87.8,T,103.5,M,5.2,N,9.7,K*67 $INMTW,18.6,C*1B $INDPT,2.4,0.0*41 $INRMC,194253,A,4426.1265,N,07140.3089,W,5.2,88.3,160906,15.8,W*6A $INDPT,2.4,0.0*41 $INGGA,194254,4426.1265,N,07140.3068,W,2,09,0.9,262.8,M,,,,*1A $INZDA,194254,16,09,2006,-05,00*75 $INMTW,18.6,C*1B $INDPT,2.3,0.0*46 $INRMC,194255,A,4426.1265,N,07140.3046,W,5.2,89.0,160906,15.8,W*6D $INDPT,2.2,0.0*47 $INGLL,4426.1265,N,07140.3025,W,194256,A*27 $INVTG,88.6,T,104.4,M,5.2,N,9.7,K*60 $INMTW,18.6,C*1B $INDPT,2.1,0.0*44 $INRMC,194257,A,4426.1265,N,07140.3009,W,5.2,88.6,160906,15.8,W*63 $INDPT,2.1,0.0*44 $INGGA,194258,4426.1265,N,07140.2987,W,2,09,0.9,262.0,M,,,,*17 $INZDA,194258,16,09,2006,-05,00*79 $INMTW,18.6,C*1B $INDPT,2.3,0.0*46 $INRMC,194259,A,4426.1265,N,07140.2965,W,5.1,89.1,160906,15.8,W*6A $INDPT,2.4,0.0*41 $INGLL,4426.1265,N,07140.2944,W,194300,A*2A $INVTG,89.3,T,105.1,M,5.2,N,9.5,K*62 $INMTW,18.6,C*1B $INDPT,2.4,0.0*41 $INRMC,194301,A,4426.1269,N,07140.2922,W,5.2,89.7,160906,15.8,W*6C $INDPT,2.4,0.0*41 $INGGA,194302,4426.1269,N,07140.2901,W,2,09,0.9,261.3,M,,,,*1B $INZDA,194302,16,09,2006,-05,00*77 $INMTW,18.6,C*1B $INDPT,2.5,0.0*40 $INRMC,194303,A,4426.1269,N,07140.2879,W,5.2,90.3,160906,15.8,W*6D $INDPT,2.5,0.0*40 $INGLL,4426.1265,N,07140.2863,W,194304,A*2A $INVTG,91.4,T,107.2,M,5.2,N,9.7,K*6F $INMTW,18.5,C*18 $INDPT,2.4,0.0*41 $INRMC,194304,A,4426.1265,N,07140.2863,W,5.2,91.4,160906,15.8,W*6B $INDPT,2.4,0.0*41 $INGGA,194306,4426.1265,N,07140.2820,W,2,09,0.9,261.0,M,,,,*12 $INZDA,194306,16,09,2006,-05,00*73 $INMTW,18.2,C*1F $INDPT,2.5,0.0*40 $INRMC,194306,A,4426.1265,N,07140.2820,W,5.2,88.5,160906,15.8,W*67 $INDPT,1.9,0.0*4F $INGLL,4426.1269,N,07140.2782,W,194308,A*2A $INVTG,87.0,T,102.7,M,5.2,N,9.6,K*6D $INMTW,18.5,C*18 $INDPT,1.7,0.0*41 $INRMC,194308,A,4426.1269,N,07140.2782,W,5.2,87.0,160906,15.8,W*68 $INDPT,1.6,0.0*40 $INGGA,194310,4426.1269,N,07140.2739,W,2,10,0.9,260.8,M,,,,*1F $INZDA,194310,16,09,2006,-05,00*74 $INMTW,18.6,C*1B $INDPT,1.7,0.0*41 $INRMC,194310,A,4426.1269,N,07140.2739,W,5.2,85.4,160906,15.8,W*67 $INDPT,1.8,0.0*4E $INGLL,4426.1273,N,07140.2701,W,194312,A*21 $INVTG,83.4,T,99.2,M,5.2,N,9.6,K*5B $INMTW,18.5,C*18 $INDPT,2.0,0.0*45 $INRMC,194312,A,4426.1273,N,07140.2701,W,5.1,83.4,160906,15.8,W*60 $INDPT,1.9,0.0*4F $INGGA,194314,4426.1277,N,07140.2664,W,2,09,0.9,260.7,M,,,,*1A $INZDA,194314,16,09,2006,-05,00*70 $INMTW,18.5,C*18 $INDPT,1.7,0.0*41 $INRMC,194314,A,4426.1277,N,07140.2664,W,5.2,84.5,160906,15.8,W*65 $INDPT,1.6,0.0*40 $INGLL,4426.1277,N,07140.2620,W,194316,A*23 $INVTG,83.3,T,99.1,M,5.2,N,9.6,K*5F $INMTW,18.6,C*1B $INDPT,1.6,0.0*40 $INRMC,194316,A,4426.1277,N,07140.2620,W,5.1,83.3,160906,15.8,W*65 $INDPT,1.5,0.0*43 $INGGA,194318,4426.1281,N,07140.2583,W,2,09,0.9,260.7,M,,,,*15 $INZDA,194318,16,09,2006,-05,00*7C $INMTW,18.5,C*18 $INDPT,1.6,0.0*40 $INRMC,194318,A,4426.1281,N,07140.2583,W,5.1,84.5,160906,15.8,W*69 $INDPT,1.7,0.0*41 $INGLL,4426.1285,N,07140.2545,W,194320,A*2B $INVTG,84.3,T,100.1,M,5.2,N,9.5,K*6A $INMTW,18.5,C*18 $INDPT,1.7,0.0*41 $INRMC,194320,A,4426.1285,N,07140.2545,W,5.1,84.3,160906,15.8,W*6A $INDPT,1.7,0.0*41 $INGGA,194322,4426.1288,N,07140.2502,W,2,10,0.9,260.6,M,,,,*15 $INZDA,194322,16,09,2006,-05,00*75 $INMTW,18.5,C*18 $INDPT,1.8,0.0*4E $INRMC,194322,A,4426.1288,N,07140.2502,W,5.1,84.7,160906,15.8,W*62 $INDPT,2.0,0.0*45 $INGLL,4426.1288,N,07140.2464,W,194324,A*20 $INVTG,84.5,T,100.3,M,5.1,N,9.5,K*6D $INMTW,18.5,C*18 $INDPT,2.0,0.0*45 $INRMC,194324,A,4426.1288,N,07140.2464,W,5.2,84.5,160906,15.8,W*64 $INDPT,2.2,0.0*47 $INGGA,194326,4426.1292,N,07140.2421,W,2,09,0.9,260.7,M,,,,*13 $INZDA,194326,16,09,2006,-05,00*71 $INMTW,18.4,C*19 $INDPT,2.2,0.0*47 $INRMC,194326,A,4426.1292,N,07140.2421,W,5.2,84.7,160906,15.8,W*6E $INDPT,2.3,0.0*46 $INGLL,4426.1296,N,07140.2383,W,194328,A*2D $INVTG,84.7,T,100.5,M,5.2,N,9.7,K*68 $INMTW,18.4,C*19 $INDPT,2.3,0.0*46 $INRMC,194328,A,4426.1296,N,07140.2383,W,5.2,84.7,160906,15.8,W*6B $INDPT,2.5,0.0*40 $INGGA,194330,4426.1300,N,07140.2346,W,2,09,0.9,260.7,M,,,,*18 $INZDA,194330,16,09,2006,-05,00*76 $INMTW,18.5,C*18 $INDPT,2.6,0.0*43 $INRMC,194330,A,4426.1300,N,07140.2346,W,5.2,84.3,160906,15.8,W*61 $INDPT,2.7,0.0*42 $INGLL,4426.1300,N,07140.2302,W,194332,A*21 $INVTG,85.4,T,101.2,M,5.2,N,9.7,K*6C $INMTW,18.5,C*18 $INDPT,2.8,0.0*4D $INRMC,194332,A,4426.1300,N,07140.2302,W,5.2,85.4,160906,15.8,W*65 $INDPT,2.9,0.0*4C $INGGA,194334,4426.1304,N,07140.2265,W,2,09,0.9,260.7,M,,,,*18 $INZDA,194334,16,09,2006,-05,00*72 $INMTW,18.3,C*1E $INDPT,3.1,0.0*45 $INRMC,194334,A,4426.1304,N,07140.2265,W,5.2,84.2,160906,15.8,W*60 $INDPT,3.3,0.0*47 $INGLL,4426.1308,N,07140.2222,W,194336,A*2E $INVTG,84.3,T,100.1,M,5.2,N,9.7,K*68 $INMTW,18.4,C*19 $INDPT,3.3,0.0*47 $INRMC,194336,A,4426.1308,N,07140.2222,W,5.2,84.3,160906,15.8,W*6C $INDPT,3.6,0.0*42 $INGGA,194338,4426.1308,N,07140.2179,W,2,09,0.9,260.6,M,,,,*17 $INZDA,194338,16,09,2006,-05,00*7E $INMTW,18.3,C*1E $INDPT,3.7,0.0*43 $INRMC,194338,A,4426.1308,N,07140.2179,W,5.3,85.1,160906,15.8,W*6D $INDPT,3.5,0.0*41 $INGLL,4426.1312,N,07140.2141,W,194340,A*22 $INVTG,84.2,T,100.0,M,5.3,N,9.8,K*66 $INMTW,18.3,C*1E $INDPT,2.3,0.0*46 $INRMC,194340,A,4426.1312,N,07140.2141,W,5.2,84.2,160906,15.8,W*61 $INDPT,2.2,0.0*47 $INGGA,194342,4426.1315,N,07140.2103,W,2,09,0.9,260.6,M,,,,*1B $INZDA,194342,16,09,2006,-05,00*73 $INMTW,18.2,C*1F $INDPT,2.3,0.0*46 $INRMC,194342,A,4426.1315,N,07140.2103,W,5.2,84.3,160906,15.8,W*63 $INDPT,2.3,0.0*46 $INGLL,4426.1315,N,07140.2060,W,194344,A*23 $INVTG,84.4,T,100.2,M,5.2,N,9.6,K*6D $INMTW,18.2,C*1F $INDPT,2.4,0.0*41 $INRMC,194344,A,4426.1315,N,07140.2060,W,5.1,84.4,160906,15.8,W*65 $INDPT,2.6,0.0*43 $INGGA,194346,4426.1319,N,07140.2022,W,2,09,0.9,260.7,M,,,,*10 $INZDA,194346,16,09,2006,-05,00*77 $INMTW,18.3,C*1E $INDPT,2.7,0.0*42 $INRMC,194346,A,4426.1319,N,07140.2022,W,5.2,84.2,160906,15.8,W*68 $INDPT,2.1,0.0*44 $INGLL,4426.1323,N,07140.1979,W,194348,A*28 $INVTG,84.7,T,100.5,M,5.2,N,9.7,K*68 $INMTW,18.3,C*1E $INDPT,2.1,0.0*44 $INRMC,194348,A,4426.1323,N,07140.1979,W,5.3,84.7,160906,15.8,W*6F $INDPT,2.0,0.0*45 $INGGA,194350,4426.1327,N,07140.1941,W,2,09,0.9,260.7,M,,,,*15 $INZDA,194350,16,09,2006,-05,00*70 $INMTW,18.4,C*19 $INDPT,2.0,0.0*45 $INRMC,194350,A,4426.1327,N,07140.1941,W,5.2,84.7,160906,15.8,W*68 $INDPT,2.3,0.0*46 $INGLL,4426.1327,N,07140.1898,W,194352,A*29 $INVTG,85.0,T,100.8,M,5.2,N,9.6,K*62 $INMTW,18.4,C*19 $INDPT,2.2,0.0*47 $INRMC,194352,A,4426.1327,N,07140.1898,W,5.2,85.0,160906,15.8,W*69 $INDPT,2.1,0.0*44 $INGGA,194354,4426.1331,N,07140.1861,W,2,09,0.9,260.6,M,,,,*14 $INZDA,194354,16,09,2006,-05,00*74 $INMTW,18.3,C*1E $INDPT,2.1,0.0*44 $INRMC,194354,A,4426.1331,N,07140.1861,W,5.2,81.5,160906,15.8,W*6F $INDPT,2.1,0.0*44 $INGLL,4426.1335,N,07140.1817,W,194356,A*29 $INVTG,81.8,T,97.6,M,5.2,N,9.6,K*5F $INMTW,18.4,C*19 $INDPT,2.0,0.0*45 $INRMC,194356,A,4426.1335,N,07140.1817,W,5.2,81.8,160906,15.8,W*65 $INDPT,1.9,0.0*4F $INGGA,194358,4426.1339,N,07140.1780,W,2,09,0.9,260.7,M,,,,*11 $INZDA,194358,16,09,2006,-05,00*78 $INMTW,18.4,C*19 $INDPT,1.9,0.0*4F $INRMC,194358,A,4426.1339,N,07140.1780,W,5.2,78.8,160906,15.8,W*60 $INDPT,2.1,0.0*44 $INGLL,4426.1346,N,07140.1737,W,194400,A*24 $INVTG,79.6,T,95.4,M,5.2,N,9.6,K*56 $INMTW,18.4,C*19 $INDPT,2.1,0.0*44 $INRMC,194400,A,4426.1346,N,07140.1737,W,5.2,79.6,160906,15.8,W*61 $INDPT,2.1,0.0*44 $INGGA,194402,4426.1350,N,07140.1699,W,2,09,0.9,260.9,M,,,,*11 $INZDA,194402,16,09,2006,-05,00*70 $INMTW,18.4,C*19 $INDPT,2.1,0.0*44 $INRMC,194402,A,4426.1350,N,07140.1699,W,5.2,75.8,160906,15.8,W*63 $INDPT,2.3,0.0*46 $INGLL,4426.1358,N,07140.1661,W,194404,A*2D $INVTG,78.1,T,93.9,M,5.2,N,9.5,K*58 $INMTW,18.3,C*1E $INDPT,2.4,0.0*41 $INRMC,194404,A,4426.1358,N,07140.1661,W,5.2,78.1,160906,15.8,W*6E $INDPT,2.3,0.0*46 $INGGA,194406,4426.1362,N,07140.1618,W,2,09,0.9,260.9,M,,,,*1D $INZDA,194406,16,09,2006,-05,00*74 $INMTW,18.3,C*1E $INDPT,2.3,0.0*46 $INRMC,194406,A,4426.1362,N,07140.1618,W,5.3,79.1,160906,15.8,W*6B $INDPT,2.3,0.0*46 $INGLL,4426.1370,N,07140.1580,W,194408,A*27 $INVTG,78.7,T,94.5,M,5.3,N,9.8,K*59 $INMTW,18.2,C*1F $INDPT,2.1,0.0*44 $INRMC,194408,A,4426.1370,N,07140.1580,W,5.2,78.7,160906,15.8,W*62 $INDPT,2.0,0.0*45 $INGGA,194410,4426.1373,N,07140.1537,W,2,09,0.9,261.1,M,,,,*1D $INZDA,194410,16,09,2006,-05,00*73 $INMTW,18.2,C*1F $INDPT,2.0,0.0*45 $INRMC,194410,A,4426.1373,N,07140.1537,W,5.2,80.2,160906,15.8,W*66 $INDPT,2.0,0.0*45 $INGLL,4426.1377,N,07140.1499,W,194412,A*22 $INVTG,79.6,T,95.3,M,5.2,N,9.7,K*50 $INMTW,18.1,C*1C $INDPT,2.3,0.0*46 $INRMC,194412,A,4426.1377,N,07140.1499,W,5.2,79.6,160906,15.8,W*67 $INDPT,2.2,0.0*47 $INGGA,194414,4426.1381,N,07140.1462,W,2,09,0.9,261.1,M,,,,*15 $INZDA,194414,16,09,2006,-05,00*77 $INMTW,18.2,C*1F $INDPT,1.8,0.0*4E $INRMC,194414,A,4426.1381,N,07140.1462,W,5.2,79.9,160906,15.8,W*63 $INDPT,1.8,0.0*4E $INGLL,4426.1389,N,07140.1419,W,194416,A*2F $INVTG,80.2,T,96.0,M,5.2,N,9.7,K*52 $INMTW,18.1,C*1C $INDPT,1.8,0.0*4E $INRMC,194416,A,4426.1389,N,07140.1419,W,5.2,80.2,160906,15.8,W*68 $INDPT,2.0,0.0*45 $INGGA,194418,4426.1393,N,07140.1381,W,2,10,0.9,261.1,M,,,,*18 $INZDA,194418,16,09,2006,-05,00*7B $INMTW,18.0,C*1D $INDPT,2.1,0.0*44 $INRMC,194418,A,4426.1393,N,07140.1381,W,5.2,81.2,160906,15.8,W*6A $INDPT,2.3,0.0*46 $INGLL,4426.1397,N,07140.1338,W,194420,A*21 $INVTG,81.6,T,97.4,M,5.2,N,9.6,K*53 $INMTW,18.1,C*1C $INDPT,1.9,0.0*4F $INRMC,194420,A,4426.1397,N,07140.1338,W,5.2,81.6,160906,15.8,W*63 $INDPT,1.9,0.0*4F $INGGA,194422,4426.1400,N,07140.1300,W,2,10,1.1,261.4,M,,,,*19 $INZDA,194422,16,09,2006,-05,00*72 $INMTW,17.9,C*1B $INDPT,1.9,0.0*4F $INRMC,194422,A,4426.1400,N,07140.1300,W,5.2,80.4,160906,15.8,W*60 $INDPT,1.9,0.0*4F $INGLL,4426.1404,N,07140.1257,W,194424,A*20 $INVTG,80.0,T,95.8,M,5.2,N,9.6,K*5A $INMTW,18.0,C*1D $INDPT,2.0,0.0*45 $INRMC,194424,A,4426.1404,N,07140.1257,W,5.2,80.0,160906,15.8,W*65 $INDPT,2.1,0.0*44 $INGGA,194426,4426.1412,N,07140.1219,W,2,10,0.9,261.4,M,,,,*1E $INZDA,194426,16,09,2006,-05,00*76 $INMTW,17.9,C*1B $INDPT,2.1,0.0*44 $INRMC,194426,A,4426.1412,N,07140.1219,W,5.2,79.4,160906,15.8,W*68 $INDPT,1.9,0.0*4F $INGLL,4426.1416,N,07140.1181,W,194428,A*27 $INVTG,78.2,T,93.9,M,5.2,N,9.7,K*59 $INMTW,17.9,C*1B $INDPT,1.9,0.0*4F $INRMC,194428,A,4426.1416,N,07140.1181,W,5.2,78.2,160906,15.8,W*67 $INDPT,1.9,0.0*4F $INGGA,194430,4426.1424,N,07140.1138,W,2,10,0.9,261.3,M,,,,*1B $INZDA,194430,16,09,2006,-05,00*71 $INMTW,17.9,C*1B $INDPT,2.0,0.0*45 $INRMC,194430,A,4426.1424,N,07140.1138,W,5.2,78.4,160906,15.8,W*6B $INDPT,2.0,0.0*45 $INGLL,4426.1431,N,07140.1101,W,194432,A*21 $INVTG,76.1,T,91.8,M,5.2,N,9.7,K*57 $INMTW,17.9,C*1B $INDPT,2.1,0.0*44 $INRMC,194432,A,4426.1431,N,07140.1101,W,5.2,76.1,160906,15.8,W*6C $INDPT,2.1,0.0*44 $INGGA,194434,4426.1435,N,07140.1063,W,2,10,0.9,261.5,M,,,,*16 $INZDA,194434,16,09,2006,-05,00*75 $INMTW,17.9,C*1B $INDPT,2.2,0.0*47 $INRMC,194434,A,4426.1435,N,07140.1063,W,5.2,75.9,160906,15.8,W*60 $INDPT,2.1,0.0*44 $INGLL,4426.1443,N,07140.1020,W,194436,A*22 $INVTG,75.1,T,90.9,M,5.2,N,9.6,K*55 $INMTW,18.0,C*1D $INDPT,2.1,0.0*44 $INRMC,194436,A,4426.1443,N,07140.1020,W,5.2,75.1,160906,15.8,W*6C $INDPT,2.1,0.0*44 $INGGA,194438,4426.1451,N,07140.0982,W,2,10,0.9,261.7,M,,,,*1D $INZDA,194438,16,09,2006,-05,00*79 $INMTW,17.9,C*1B $INDPT,1.5,0.0*43 $INRMC,194438,A,4426.1451,N,07140.0982,W,5.1,74.2,160906,15.8,W*60 $INDPT,1.5,0.0*43 $INGLL,4426.1458,N,07140.0944,W,194440,A*23 $INVTG,73.9,T,89.7,M,5.1,N,9.5,K*5D $INMTW,17.9,C*1B $INDPT,1.5,0.0*43 $INRMC,194440,A,4426.1458,N,07140.0944,W,5.2,73.9,160906,15.8,W*63 $INDPT,1.5,0.0*43 $INGGA,194442,4426.1466,N,07140.0907,W,2,09,1.1,261.7,M,,,,*18 $INZDA,194442,16,09,2006,-05,00*74 $INMTW,17.9,C*1B $INDPT,1.5,0.0*43 $INRMC,194442,A,4426.1466,N,07140.0907,W,5.1,73.5,160906,15.8,W*64 $INDPT,1.5,0.0*43 $INGLL,4426.1474,N,07140.0869,W,194444,A*27 $INVTG,73.2,T,89.0,M,5.1,N,9.5,K*51 $INMTW,17.9,C*1B $INDPT,1.6,0.0*40 $INRMC,194444,A,4426.1474,N,07140.0869,W,5.1,73.2,160906,15.8,W*6F $INDPT,1.7,0.0*41 $INGGA,194446,4426.1482,N,07140.0831,W,2,10,1.1,261.8,M,,,,*15 $INZDA,194446,16,09,2006,-05,00*70 $INMTW,17.8,C*1A $INDPT,1.6,0.0*40 $INRMC,194446,A,4426.1482,N,07140.0831,W,5.1,71.7,160906,15.8,W*6E $INDPT,1.7,0.0*41 $INGLL,4426.1493,N,07140.0793,W,194448,A*28 $INVTG,72.0,T,87.8,M,5.1,N,9.5,K*54 $INMTW,17.9,C*1B $INDPT,1.8,0.0*4E $INRMC,194448,A,4426.1493,N,07140.0793,W,5.2,72.0,160906,15.8,W*60 $INDPT,1.8,0.0*4E $INGGA,194450,4426.1501,N,07140.0756,W,2,10,1.1,261.9,M,,,,*17 $INZDA,194450,16,09,2006,-05,00*77 $INMTW,17.9,C*1B $INDPT,1.9,0.0*4F $INRMC,194450,A,4426.1501,N,07140.0756,W,5.2,70.4,160906,15.8,W*6C $INDPT,1.8,0.0*4E $INGLL,4426.1512,N,07140.0718,W,194452,A*28 $INVTG,70.7,T,86.5,M,5.2,N,9.6,K*5D $INMTW,17.9,C*1B $INDPT,1.9,0.0*4F $INRMC,194452,A,4426.1512,N,07140.0718,W,5.2,70.7,160906,15.8,W*65 $INDPT,1.8,0.0*4E $INGGA,194454,4426.1520,N,07140.0680,W,2,11,0.9,261.9,M,,,,*12 $INZDA,194454,16,09,2006,-05,00*73 $INMTW,17.9,C*1B $INDPT,1.9,0.0*4F $INRMC,194454,A,4426.1520,N,07140.0680,W,5.3,69.4,160906,15.8,W*68 $INDPT,2.0,0.0*45 $INGLL,4426.1532,N,07140.0642,W,194456,A*20 $INVTG,68.7,T,84.5,M,5.3,N,9.7,K*56 $INMTW,17.9,C*1B $INDPT,1.9,0.0*4F $INRMC,194456,A,4426.1532,N,07140.0642,W,5.2,68.7,160906,15.8,W*64 $INDPT,1.8,0.0*4E $INGGA,194458,4426.1543,N,07140.0605,W,2,10,1.1,262.0,M,,,,*14 $INZDA,194458,16,09,2006,-05,00*7F $INMTW,17.9,C*1B $INDPT,1.8,0.0*4E $INRMC,194458,A,4426.1543,N,07140.0605,W,5.3,68.4,160906,15.8,W*6D $INDPT,1.9,0.0*4F $INGLL,4426.1555,N,07140.0567,W,194500,A*27 $INVTG,67.8,T,83.6,M,5.3,N,9.8,K*5D $INMTW,17.9,C*1B $INDPT,1.9,0.0*4F $INRMC,194500,A,4426.1555,N,07140.0567,W,5.2,67.8,160906,15.8,W*63 $INDPT,1.9,0.0*4F $INGGA,194502,4426.1563,N,07140.0529,W,2,10,1.1,262.0,M,,,,*15 $INZDA,194502,16,09,2006,-05,00*71 $INMTW,17.8,C*1A $INDPT,1.9,0.0*4F $INRMC,194502,A,4426.1563,N,07140.0529,W,5.2,68.6,160906,15.8,W*6F $INDPT,1.9,0.0*4F $INGLL,4426.1574,N,07140.0492,W,194504,A*2B $INVTG,67.6,T,83.4,M,5.2,N,9.7,K*5F $INMTW,17.8,C*1A $INDPT,1.9,0.0*4F $INRMC,194504,A,4426.1574,N,07140.0492,W,5.2,67.6,160906,15.8,W*61 $INDPT,1.8,0.0*4E $INGGA,194506,4426.1586,N,07140.0454,W,2,10,1.1,261.9,M,,,,*1B $INZDA,194506,16,09,2006,-05,00*75 $INMTW,17.7,C*15 $INDPT,1.8,0.0*4E $INRMC,194506,A,4426.1586,N,07140.0454,W,5.3,68.6,160906,15.8,W*6A $INDPT,1.8,0.0*4E $INGLL,4426.1597,N,07140.0416,W,194508,A*26 $INVTG,68.2,T,84.0,M,5.3,N,9.7,K*56 $INMTW,17.8,C*1A $INDPT,1.9,0.0*4F $INRMC,194508,A,4426.1597,N,07140.0416,W,5.2,68.2,160906,15.8,W*67 $INDPT,1.9,0.0*4F $INGGA,194510,4426.1609,N,07140.0378,W,2,10,1.1,262.0,M,,,,*1B $INZDA,194510,16,09,2006,-05,00*72 $INMTW,17.9,C*1B $INDPT,1.6,0.0*40 $INRMC,194510,A,4426.1609,N,07140.0378,W,5.2,68.1,160906,15.8,W*66 $INDPT,1.6,0.0*40 $INGLL,4426.1617,N,07140.0341,W,194512,A*23 $INVTG,68.0,T,83.8,M,5.2,N,9.7,K*5A $INMTW,17.8,C*1A $INDPT,1.7,0.0*41 $INRMC,194512,A,4426.1617,N,07140.0341,W,5.2,68.0,160906,15.8,W*60 $INDPT,1.7,0.0*41 $INGGA,194514,4426.1628,N,07140.0303,W,2,10,1.1,262.0,M,,,,*10 $INZDA,194514,16,09,2006,-05,00*76 $INMTW,17.8,C*1A $INDPT,1.8,0.0*4E $INRMC,194514,A,4426.1628,N,07140.0303,W,5.2,67.6,160906,15.8,W*65 $INDPT,1.9,0.0*4F $INGLL,4426.1636,N,07140.0281,W,194515,A*2A $INVTG,67.5,T,83.3,M,5.2,N,9.6,K*5A $INMTW,17.9,C*1B $INDPT,1.6,0.0*40 $INRMC,194516,A,4426.1640,N,07140.0265,W,5.2,68.1,160906,15.8,W*60 $INDPT,1.6,0.0*40 $INGGA,194517,4426.1644,N,07140.0244,W,2,10,1.1,262.0,M,,,,*1B $INZDA,194517,16,09,2006,-05,00*75 $INMTW,17.7,C*15 $INDPT,1.6,0.0*40 $INRMC,194518,A,4426.1651,N,07140.0227,W,5.2,69.2,160906,15.8,W*6A $INDPT,1.6,0.0*40 $INGLL,4426.1655,N,07140.0206,W,194519,A*2C $INVTG,69.0,T,84.8,M,5.2,N,9.7,K*5C $INMTW,17.9,C*1B $INDPT,1.7,0.0*41 $INRMC,194520,A,4426.1663,N,07140.0190,W,5.2,68.6,160906,15.8,W*6A $INDPT,1.7,0.0*41 $INGGA,194521,4426.1667,N,07140.0168,W,2,10,1.1,261.9,M,,,,*18 $INZDA,194521,16,09,2006,-05,00*70 $INMTW,17.9,C*1B $INDPT,1.8,0.0*4E $INRMC,194522,A,4426.1671,N,07140.0152,W,5.2,69.5,160906,15.8,W*67 $INDPT,1.6,0.0*40 $INGLL,4426.1678,N,07140.0136,W,194523,A*2A $INVTG,69.4,T,85.2,M,5.2,N,9.6,K*52 $INMTW,17.9,C*1B $INDPT,1.5,0.0*43 $INRMC,194524,A,4426.1682,N,07140.0114,W,5.2,68.7,160906,15.8,W*6C $INDPT,1.6,0.0*40 $INGGA,194525,4426.1686,N,07140.0098,W,2,10,1.1,261.8,M,,,,*1C $INZDA,194525,16,09,2006,-05,00*74 $INMTW,17.9,C*1B $INDPT,1.7,0.0*41 $INRMC,194526,A,4426.1694,N,07140.0077,W,5.1,69.4,160906,15.8,W*6C $INDPT,1.9,0.0*4F $INGLL,4426.1698,N,07140.0060,W,194527,A*22 $INVTG,70.2,T,86.0,M,5.1,N,9.5,K*5D $INMTW,17.8,C*1A $INDPT,1.9,0.0*4F $INRMC,194528,A,4426.1702,N,07140.0039,W,5.2,70.5,160906,15.8,W*6C $INDPT,1.4,0.0*42 $INGGA,194529,4426.1705,N,07140.0023,W,2,11,0.9,261.8,M,,,,*12 $INZDA,194529,16,09,2006,-05,00*78 $INMTW,17.8,C*1A $INDPT,1.3,0.0*45 $INRMC,194530,A,4426.1713,N,07140.0001,W,5.2,69.8,160906,15.8,W*6B $INDPT,1.3,0.0*45 $INGLL,4426.1717,N,07139.9985,W,194531,A*26 $INVTG,70.1,T,85.8,M,5.2,N,9.6,K*55 $INMTW,17.6,C*14 $INDPT,1.4,0.0*42 $INRMC,194532,A,4426.1721,N,07139.9963,W,5.1,71.0,160906,15.8,W*60 $INDPT,1.4,0.0*42 $INGGA,194533,4426.1725,N,07139.9947,W,2,11,0.9,261.6,M,,,,*19 $INZDA,194533,16,09,2006,-05,00*73 $INMTW,17.6,C*14 $INDPT,1.4,0.0*42 $INRMC,194534,A,4426.1729,N,07139.9926,W,5.1,71.6,160906,15.8,W*69 $INDPT,1.5,0.0*43 $INGLL,4426.1736,N,07139.9909,W,194535,A*25 $INVTG,71.0,T,86.8,M,5.1,N,9.5,K*56 $INMTW,17.6,C*14 $INDPT,1.5,0.0*43 $INRMC,194536,A,4426.1740,N,07139.9888,W,5.1,70.9,160906,15.8,W*6F $INDPT,1.5,0.0*43 $INGGA,194537,4426.1744,N,07139.9872,W,2,11,0.9,261.6,M,,,,*1D $INZDA,194537,16,09,2006,-05,00*77 $INMTW,17.6,C*14 $INDPT,1.6,0.0*40 $INRMC,194538,A,4426.1748,N,07139.9850,W,5.2,73.3,160906,15.8,W*66 $INDPT,1.8,0.0*4E $INGLL,4426.1752,N,07139.9834,W,194539,A*24 $INVTG,71.8,T,87.6,M,5.2,N,9.7,K*50 $INMTW,17.5,C*17 $INDPT,1.9,0.0*4F $INRMC,194540,A,4426.1756,N,07139.9812,W,5.3,69.1,160906,15.8,W*68 $INDPT,1.9,0.0*4F $INGGA,194541,4426.1763,N,07139.9796,W,2,11,0.9,261.5,M,,,,*1F $INZDA,194541,16,09,2006,-05,00*76 $INMTW,17.6,C*14 $INDPT,1.4,0.0*42 $INRMC,194542,A,4426.1767,N,07139.9775,W,5.2,67.7,160906,15.8,W*6F $INDPT,1.5,0.0*43 $INGLL,4426.1775,N,07139.9759,W,194543,A*28 $INVTG,67.9,T,83.7,M,5.2,N,9.6,K*52 $INMTW,17.5,C*17 $INDPT,1.6,0.0*40 $INRMC,194544,A,4426.1779,N,07139.9737,W,5.2,67.3,160906,15.8,W*64 $INDPT,1.7,0.0*41 $INGGA,194545,4426.1787,N,07139.9721,W,2,11,0.9,261.3,M,,,,*1B $INZDA,194545,16,09,2006,-05,00*72 $INMTW,17.5,C*17 $INDPT,1.7,0.0*41 $INRMC,194546,A,4426.1790,N,07139.9705,W,5.1,65.9,160906,15.8,W*6B $INDPT,1.7,0.0*41 $INGLL,4426.1798,N,07139.9683,W,194547,A*29 $INVTG,65.6,T,81.4,M,5.1,N,9.5,K*5E $INMTW,17.5,C*17 $INDPT,1.8,0.0*4E $INRMC,194548,A,4426.1802,N,07139.9667,W,5.2,64.8,160906,15.8,W*67 $INDPT,1.9,0.0*4F $INGGA,194549,4426.1810,N,07139.9651,W,2,11,0.9,261.3,M,,,,*10 $INZDA,194549,16,09,2006,-05,00*7E $INMTW,17.5,C*17 $INDPT,1.7,0.0*41 $INRMC,194550,A,4426.1817,N,07139.9629,W,5.2,63.6,160906,15.8,W*69 $INDPT,1.7,0.0*41 $INGLL,4426.1825,N,07139.9613,W,194551,A*2E $INVTG,63.3,T,79.1,M,5.2,N,9.7,K*5E $INMTW,17.5,C*17 $INDPT,1.6,0.0*40 $INRMC,194552,A,4426.1829,N,07139.9597,W,5.2,62.8,160906,15.8,W*6F $INDPT,1.6,0.0*40 $INGGA,194553,4426.1837,N,07139.9575,W,2,11,0.9,261.2,M,,,,*1A $INZDA,194553,16,09,2006,-05,00*75 $INMTW,17.5,C*17 $INDPT,1.7,0.0*41 $INRMC,194554,A,4426.1844,N,07139.9559,W,5.2,61.3,160906,15.8,W*68 $INDPT,1.8,0.0*4E $INGLL,4426.1852,N,07139.9543,W,194555,A*2C $INVTG,61.6,T,77.4,M,5.1,N,9.5,K*53 $INMTW,17.4,C*16 $INDPT,1.8,0.0*4E $INRMC,194556,A,4426.1860,N,07139.9527,W,5.1,62.3,160906,15.8,W*65 $INDPT,1.9,0.0*4F $INGGA,194557,4426.1864,N,07139.9505,W,2,11,0.9,261.1,M,,,,*1C $INZDA,194557,16,09,2006,-05,00*71 $INMTW,17.5,C*17 $INDPT,2.0,0.0*45 $INRMC,194558,A,4426.1872,N,07139.9489,W,5.2,62.5,160906,15.8,W*68 $INDPT,2.0,0.0*45 $INGLL,4426.1879,N,07139.9473,W,194559,A*2B $INVTG,61.9,T,77.7,M,5.2,N,9.7,K*5E $INMTW,17.6,C*14 $INDPT,1.6,0.0*40 $INRMC,194600,A,4426.1887,N,07139.9451,W,5.2,61.4,160906,15.8,W*6B $INDPT,1.6,0.0*40 $INGGA,194601,4426.1895,N,07139.9435,W,2,11,0.9,261.1,M,,,,*10 $INZDA,194601,16,09,2006,-05,00*71 $INMTW,17.5,C*17 $INDPT,1.7,0.0*41 $INRMC,194602,A,4426.1899,N,07139.9419,W,5.2,62.4,160906,15.8,W*69 $INDPT,1.6,0.0*40 $INGLL,4426.1906,N,07139.9403,W,194603,A*29 $INVTG,62.3,T,78.1,M,5.1,N,9.5,K*5F $INMTW,17.5,C*17 $INDPT,1.6,0.0*40 $INRMC,194604,A,4426.1914,N,07139.9387,W,5.1,61.9,160906,15.8,W*66 $INDPT,1.6,0.0*40 $INGGA,194605,4426.1922,N,07139.9365,W,2,11,0.9,261.0,M,,,,*1A $INZDA,194605,16,09,2006,-05,00*75 $INMTW,17.6,C*14 $INDPT,1.7,0.0*41 $INRMC,194606,A,4426.1926,N,07139.9349,W,5.1,62.0,160906,15.8,W*6D $INDPT,1.7,0.0*41 $INGLL,4426.1933,N,07139.9333,W,194607,A*2F $INVTG,62.6,T,78.4,M,5.1,N,9.5,K*5F $INMTW,17.6,C*14 $INDPT,1.7,0.0*41 $INRMC,194608,A,4426.1941,N,07139.9311,W,5.2,62.6,160906,15.8,W*6A $INDPT,1.7,0.0*41 $INGGA,194609,4426.1949,N,07139.9295,W,2,11,0.9,260.9,M,,,,*1D $INZDA,194609,16,09,2006,-05,00*79 $INMTW,17.5,C*17 $INDPT,1.8,0.0*4E $INRMC,194610,A,4426.1953,N,07139.9279,W,5.1,62.0,160906,15.8,W*6A $INDPT,1.8,0.0*4E $INGLL,4426.1960,N,07139.9263,W,194611,A*2A $INVTG,62.3,T,78.1,M,5.1,N,9.5,K*5F $INMTW,17.4,C*16 $INDPT,1.9,0.0*4F $INRMC,194612,A,4426.1968,N,07139.9241,W,5.1,62.3,160906,15.8,W*68 $INDPT,1.8,0.0*4E $INGGA,194613,4426.1976,N,07139.9225,W,2,11,0.9,260.9,M,,,,*11 $INZDA,194613,16,09,2006,-05,00*72 $INMTW,17.4,C*16 $INDPT,1.9,0.0*4F $INRMC,194614,A,4426.1980,N,07139.9209,W,5.2,63.0,160906,15.8,W*65 $INDPT,2.0,0.0*45 $INGLL,4426.1987,N,07139.9187,W,194615,A*2E $INVTG,63.2,T,79.0,M,5.2,N,9.6,K*5F $INMTW,17.4,C*16 $INDPT,1.6,0.0*40 $INRMC,194616,A,4426.1995,N,07139.9171,W,5.1,63.3,160906,15.8,W*6F $INDPT,1.7,0.0*41 $INGGA,194617,4426.1999,N,07139.9155,W,2,11,0.9,260.8,M,,,,*11 $INZDA,194617,16,09,2006,-05,00*76 $INMTW,17.4,C*16 $INDPT,1.8,0.0*4E $INRMC,194618,A,4426.2007,N,07139.9139,W,5.2,62.6,160906,15.8,W*6B $INDPT,1.9,0.0*4F $INGLL,4426.2014,N,07139.9117,W,194619,A*2B $INVTG,63.1,T,78.9,M,5.1,N,9.5,K*54 $INMTW,17.2,C*10 $INDPT,1.6,0.0*40 $INRMC,194620,A,4426.2018,N,07139.9101,W,5.1,62.8,160906,15.8,W*68 $INDPT,1.7,0.0*41 $INGGA,194621,4426.2026,N,07139.9085,W,2,11,0.9,260.8,M,,,,*16 $INZDA,194621,16,09,2006,-05,00*73 $INMTW,17.4,C*16 $INDPT,1.8,0.0*4E $INRMC,194622,A,4426.2034,N,07139.9063,W,5.2,62.6,160906,15.8,W*6C $INDPT,1.9,0.0*4F $INGLL,4426.2038,N,07139.9047,W,194623,A*28 $INVTG,62.5,T,78.2,M,5.2,N,9.6,K*5A $INMTW,17.4,C*16 $INDPT,1.7,0.0*41 $INRMC,194624,A,4426.2045,N,07139.9031,W,5.2,62.5,160906,15.8,W*68 $INDPT,1.6,0.0*40 $INGGA,194625,4426.2053,N,07139.9009,W,2,11,0.9,260.8,M,,,,*14 $INZDA,194625,16,09,2006,-05,00*77 $INMTW,17.4,C*16 $INDPT,1.7,0.0*41 $INRMC,194626,A,4426.2061,N,07139.8993,W,5.1,61.5,160906,15.8,W*6C $INDPT,1.7,0.0*41 $INGLL,4426.2068,N,07139.8977,W,194627,A*22 $INVTG,61.6,T,77.4,M,5.2,N,9.6,K*53 $INMTW,17.4,C*16 $INDPT,1.7,0.0*41 $INRMC,194628,A,4426.2072,N,07139.8961,W,5.1,62.2,160906,15.8,W*69 $INDPT,1.7,0.0*41 $INGGA,194629,4426.2080,N,07139.8945,W,2,11,0.9,260.5,M,,,,*1B $INZDA,194629,16,09,2006,-05,00*7B $INMTW,17.3,C*11 $INDPT,1.9,0.0*4F $INRMC,194630,A,4426.2088,N,07139.8923,W,5.2,62.2,160906,15.8,W*60 $INDPT,1.9,0.0*4F gpsd-3.9/test/daemon/humminbird-M37.log.chk0000664000175000017500000025363112135526347016705 0ustar esresr$INDPT,2.2,0.0*47 $INRMC,194101,A,4426.1130,N,07140.5596,W,5.2,77.3,160906,15.8,W*60 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:01.000Z","ept":0.005,"lat":44.435216667,"lon":-71.675993333,"track":77.3000,"speed":2.675} $INDPT,2.1,0.0*44 $INGLL,4426.1130,N,07140.5579,W,194102,A*2C $INVTG,77.5,T,93.3,M,5.2,N,9.7,K*5B $INMTW,17.9,C*1B $INDPT,2.1,0.0*44 $INRMC,194103,A,4426.1134,N,07140.5558,W,5.3,77.0,160906,15.8,W*66 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:03.000Z","ept":0.005,"lat":44.435223333,"lon":-71.675930000,"track":77.0000,"speed":2.727} $INDPT,2.0,0.0*45 $INGGA,194104,4426.1138,N,07140.5536,W,2,10,0.9,267.9,M,,,,*13 $INZDA,194104,16,09,2006,-05,00*73 $INMTW,17.9,C*1B $INDPT,2.1,0.0*44 $INRMC,194105,A,4426.1142,N,07140.5515,W,5.3,76.8,160906,15.8,W*61 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:05.000Z","ept":0.005,"lat":44.435236667,"lon":-71.675858333,"track":76.8000,"speed":2.727} $INDPT,2.1,0.0*44 $INGLL,4426.1146,N,07140.5499,W,194106,A*26 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:41:06.000Z","ept":0.005,"lat":44.435243333,"lon":-71.675831667,"speed":2.249} $INVTG,76.3,T,92.1,M,5.3,N,9.7,K*5E $INMTW,17.9,C*1B $INDPT,2.2,0.0*47 $INRMC,194107,A,4426.1149,N,07140.5477,W,5.3,76.6,160906,15.8,W*63 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:07.000Z","ept":0.005,"lat":44.435248333,"lon":-71.675795000,"track":76.6000,"speed":2.727} $INDPT,2.1,0.0*44 $INGGA,194108,4426.1149,N,07140.5455,W,2,10,0.9,268.0,M,,,,*1B {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:41:08.000Z","ept":0.005,"lat":44.435248333,"lon":-71.675758333,"alt":268.000,"speed":2.919} $INZDA,194108,16,09,2006,-05,00*7F $INMTW,17.9,C*1B $INDPT,2.2,0.0*47 $INRMC,194109,A,4426.1153,N,07140.5439,W,5.2,76.5,160906,15.8,W*6E {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:09.000Z","ept":0.005,"lat":44.435255000,"lon":-71.675731667,"track":76.5000,"speed":2.675} $INDPT,2.3,0.0*46 $INGLL,4426.1157,N,07140.5418,W,194110,A*28 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:41:10.000Z","ept":0.005,"lat":44.435261667,"lon":-71.675696667,"speed":2.883} $INVTG,77.2,T,93.0,M,5.2,N,9.7,K*5F $INMTW,17.9,C*1B $INDPT,2.2,0.0*47 $INRMC,194111,A,4426.1161,N,07140.5396,W,5.3,77.6,160906,15.8,W*67 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:11.000Z","ept":0.005,"lat":44.435268333,"lon":-71.675660000,"track":77.6000,"speed":2.727} $INDPT,2.3,0.0*46 $INGGA,194112,4426.1165,N,07140.5380,W,2,10,0.9,268.0,M,,,,*11 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:41:12.000Z","ept":0.005,"lat":44.435275000,"lon":-71.675633333,"alt":268.000,"speed":2.249} $INZDA,194112,16,09,2006,-05,00*74 $INMTW,17.9,C*1B $INDPT,2.3,0.0*46 $INRMC,194113,A,4426.1169,N,07140.5358,W,5.2,75.6,160906,15.8,W*6C {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:13.000Z","ept":0.005,"lat":44.435281667,"lon":-71.675596667,"track":75.6000,"speed":2.675} $INDPT,2.4,0.0*41 $INGLL,4426.1173,N,07140.5337,W,194114,A*20 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:41:14.000Z","ept":0.005,"lat":44.435288333,"lon":-71.675561667,"speed":2.883} $INVTG,76.0,T,91.8,M,5.2,N,9.6,K*57 $INMTW,17.9,C*1B $INDPT,2.5,0.0*40 $INRMC,194115,A,4426.1176,N,07140.5321,W,5.2,77.3,160906,15.8,W*6D {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:15.000Z","ept":0.005,"lat":44.435293333,"lon":-71.675535000,"track":77.3000,"speed":2.675} $INDPT,2.4,0.0*41 $INGGA,194116,4426.1176,N,07140.5299,W,2,10,0.9,268.0,M,,,,*1E {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:41:16.000Z","ept":0.005,"lat":44.435293333,"lon":-71.675498333,"alt":268.000,"speed":2.919} $INZDA,194116,16,09,2006,-05,00*70 $INMTW,18.0,C*1D $INDPT,2.4,0.0*41 $INRMC,194117,A,4426.1180,N,07140.5278,W,5.2,76.8,160906,15.8,W*61 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:17.000Z","ept":0.005,"lat":44.435300000,"lon":-71.675463333,"track":76.8000,"speed":2.675} $INDPT,2.5,0.0*40 $INGLL,4426.1184,N,07140.5261,W,194118,A*26 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:41:18.000Z","ept":0.005,"lat":44.435306667,"lon":-71.675435000,"speed":2.374} $INVTG,76.4,T,92.2,M,5.2,N,9.7,K*5B $INMTW,18.0,C*1D $INDPT,2.6,0.0*43 $INRMC,194119,A,4426.1188,N,07140.5240,W,5.2,77.5,160906,15.8,W*60 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:19.000Z","ept":0.005,"lat":44.435313333,"lon":-71.675400000,"track":77.5000,"speed":2.675} $INDPT,2.4,0.0*41 $INGGA,194120,4426.1192,N,07140.5218,W,2,10,0.9,268.2,M,,,,*1A {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:41:20.000Z","ept":0.005,"lat":44.435320000,"lon":-71.675363333,"alt":268.200,"speed":3.012} $INZDA,194120,16,09,2006,-05,00*75 $INMTW,17.9,C*1B $INDPT,2.4,0.0*41 $INRMC,194121,A,4426.1192,N,07140.5202,W,5.2,79.3,160906,15.8,W*6E {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:21.000Z","ept":0.005,"lat":44.435320000,"lon":-71.675336667,"track":79.3000,"speed":2.675} $INDPT,2.4,0.0*41 $INGLL,4426.1196,N,07140.5181,W,194122,A*21 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:41:22.000Z","ept":0.005,"lat":44.435326667,"lon":-71.675301667,"speed":2.883} $INVTG,78.6,T,94.4,M,5.3,N,9.7,K*56 $INMTW,18.0,C*1D $INDPT,2.4,0.0*41 $INRMC,194123,A,4426.1200,N,07140.5159,W,5.2,79.0,160906,15.8,W*6A {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:23.000Z","ept":0.005,"lat":44.435333333,"lon":-71.675265000,"track":79.0000,"speed":2.675} $INDPT,2.4,0.0*41 $INGGA,194124,4426.1200,N,07140.5143,W,2,10,0.9,268.2,M,,,,*1B {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:41:24.000Z","ept":0.005,"lat":44.435333333,"lon":-71.675238333,"alt":268.200,"speed":2.123} $INZDA,194124,16,09,2006,-05,00*71 $INMTW,17.9,C*1B $INDPT,2.5,0.0*40 $INRMC,194111,A,4426.1203,N,07140.5121,W,5.2,81.5,160906,15.8,W*65 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:11.000Z","ept":0.005,"lat":44.435338333,"lon":-71.675201667,"track":81.5000,"speed":2.675} $INDPT,2.4,0.0*41 $INGLL,4426.1203,N,07140.5100,W,194112,A*24 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:41:12.000Z","ept":0.005,"lat":44.435338333,"lon":-71.675166667,"speed":2.787} $INVTG,81.4,T,97.2,M,5.2,N,9.6,K*57 $INMTW,18.0,C*1D $INDPT,2.3,0.0*46 $INRMC,194113,A,4426.1207,N,07140.5084,W,5.2,81.9,160906,15.8,W*61 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:13.000Z","ept":0.005,"lat":44.435345000,"lon":-71.675140000,"track":81.9000,"speed":2.675} $INDPT,2.3,0.0*46 $INGGA,194114,4426.1211,N,07140.5062,W,2,10,0.9,268.4,M,,,,*1C {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:41:14.000Z","ept":0.005,"lat":44.435351667,"lon":-71.675103333,"alt":268.400,"speed":3.012} $INZDA,194114,16,09,2006,-05,00*72 $INMTW,18.0,C*1D $INDPT,2.4,0.0*41 $INRMC,194115,A,4426.1211,N,07140.5040,W,5.2,83.9,160906,15.8,W*6A {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:15.000Z","ept":0.005,"lat":44.435351667,"lon":-71.675066667,"track":83.9000,"speed":2.675} $INDPT,2.4,0.0*41 $INGLL,4426.1211,N,07140.5024,W,194116,A*24 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:41:16.000Z","ept":0.005,"lat":44.435351667,"lon":-71.675040000,"speed":2.123} $INVTG,83.7,T,99.5,M,5.2,N,9.6,K*5F $INMTW,18.1,C*1C $INDPT,2.4,0.0*41 $INRMC,194117,A,4426.1215,N,07140.5003,W,5.2,83.8,160906,15.8,W*6A {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:17.000Z","ept":0.005,"lat":44.435358333,"lon":-71.675005000,"track":83.8000,"speed":2.675} $INDPT,2.4,0.0*41 $INGGA,194118,4426.1215,N,07140.4987,W,2,10,0.9,268.5,M,,,,*16 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:41:18.000Z","ept":0.005,"lat":44.435358333,"lon":-71.674978333,"alt":268.500,"speed":2.123} $INZDA,194118,16,09,2006,-05,00*7E $INMTW,18.0,C*1D $INDPT,2.3,0.0*46 $INRMC,194119,A,4426.1219,N,07140.4965,W,5.1,85.4,160906,15.8,W*69 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:19.000Z","ept":0.005,"lat":44.435365000,"lon":-71.674941667,"track":85.4000,"speed":2.624} $INDPT,2.4,0.0*41 $INGLL,4426.1219,N,07140.4943,W,194120,A*20 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:41:20.000Z","ept":0.005,"lat":44.435365000,"lon":-71.674905000,"speed":2.919} $INVTG,85.6,T,101.4,M,5.2,N,9.5,K*6A $INMTW,18.1,C*1C $INDPT,2.4,0.0*41 $INRMC,194121,A,4426.1219,N,07140.4927,W,5.2,85.5,160906,15.8,W*66 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:21.000Z","ept":0.005,"lat":44.435365000,"lon":-71.674878333,"track":85.5000,"speed":2.675} $INDPT,2.5,0.0*40 $INGGA,194122,4426.1223,N,07140.4906,W,2,10,0.9,268.4,M,,,,*12 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:41:22.000Z","ept":0.005,"lat":44.435371667,"lon":-71.674843333,"alt":268.400,"speed":2.883} $INZDA,194122,16,09,2006,-05,00*77 $INMTW,18.2,C*1F $INDPT,2.4,0.0*41 $INRMC,194123,A,4426.1223,N,07140.4884,W,5.1,86.8,160906,15.8,W*68 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:23.000Z","ept":0.005,"lat":44.435371667,"lon":-71.674806667,"track":86.8000,"speed":2.624} $INDPT,2.4,0.0*41 $INGLL,4426.1223,N,07140.4868,W,194124,A*25 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:41:24.000Z","ept":0.005,"lat":44.435371667,"lon":-71.674780000,"speed":2.123} $INVTG,87.0,T,102.7,M,5.1,N,9.5,K*6D $INMTW,18.2,C*1F $INDPT,2.5,0.0*40 $INRMC,194125,A,4426.1223,N,07140.4846,W,5.2,86.2,160906,15.8,W*69 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:25.000Z","ept":0.005,"lat":44.435371667,"lon":-71.674743333,"track":86.2000,"speed":2.675} $INDPT,2.4,0.0*41 $INGGA,194126,4426.1227,N,07140.4825,W,2,10,0.9,268.2,M,,,,*14 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:41:26.000Z","ept":0.005,"lat":44.435378333,"lon":-71.674708333,"alt":268.200,"speed":2.883} $INZDA,194126,16,09,2006,-05,00*73 $INMTW,18.1,C*1C $INDPT,2.4,0.0*41 $INRMC,194127,A,4426.1227,N,07140.4803,W,5.1,87.4,160906,15.8,W*6A {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:27.000Z","ept":0.005,"lat":44.435378333,"lon":-71.674671667,"track":87.4000,"speed":2.624} $INDPT,2.4,0.0*41 $INGLL,4426.1227,N,07140.4787,W,194128,A*23 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:41:28.000Z","ept":0.005,"lat":44.435378333,"lon":-71.674645000,"speed":2.123} $INVTG,88.3,T,104.1,M,5.1,N,9.5,K*61 $INMTW,18.5,C*18 $INDPT,2.4,0.0*41 $INRMC,194129,A,4426.1227,N,07140.4766,W,5.2,87.6,160906,15.8,W*69 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:29.000Z","ept":0.005,"lat":44.435378333,"lon":-71.674610000,"track":87.6000,"speed":2.675} $INDPT,2.4,0.0*41 $INGGA,194130,4426.1227,N,07140.4744,W,2,10,0.9,268.0,M,,,,*19 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:41:30.000Z","ept":0.005,"lat":44.435378333,"lon":-71.674573333,"alt":268.000,"speed":2.919} $INZDA,194130,16,09,2006,-05,00*74 $INMTW,18.5,C*18 $INDPT,2.4,0.0*41 $INRMC,194131,A,4426.1230,N,07140.4728,W,5.1,86.6,160906,15.8,W*6E {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:31.000Z","ept":0.005,"lat":44.435383333,"lon":-71.674546667,"track":86.6000,"speed":2.624} $INDPT,2.4,0.0*41 $INGLL,4426.1230,N,07140.4706,W,194132,A*27 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:41:32.000Z","ept":0.005,"lat":44.435383333,"lon":-71.674510000,"speed":2.919} $INVTG,87.4,T,103.2,M,5.1,N,9.5,K*6D $INMTW,18.6,C*1B $INDPT,2.4,0.0*41 $INRMC,194133,A,4426.1230,N,07140.4685,W,5.1,88.1,160906,15.8,W*63 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:33.000Z","ept":0.005,"lat":44.435383333,"lon":-71.674475000,"track":88.1000,"speed":2.624} $INDPT,2.4,0.0*41 $INGGA,194134,4426.1230,N,07140.4669,W,2,10,0.9,267.8,M,,,,*12 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:41:34.000Z","ept":0.005,"lat":44.435383333,"lon":-71.674448333,"alt":267.800,"speed":2.123} $INZDA,194134,16,09,2006,-05,00*70 $INMTW,18.6,C*1B $INDPT,2.4,0.0*41 $INRMC,194135,A,4426.1230,N,07140.4647,W,5.2,87.5,160906,15.8,W*63 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:35.000Z","ept":0.005,"lat":44.435383333,"lon":-71.674411667,"track":87.5000,"speed":2.675} $INDPT,2.5,0.0*40 $INGLL,4426.1230,N,07140.4625,W,194136,A*23 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:41:36.000Z","ept":0.005,"lat":44.435383333,"lon":-71.674375000,"speed":2.919} $INVTG,87.5,T,103.3,M,5.1,N,9.5,K*6D $INMTW,18.6,C*1B $INDPT,2.4,0.0*41 $INRMC,194137,A,4426.1230,N,07140.4609,W,5.1,87.9,160906,15.8,W*64 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:37.000Z","ept":0.005,"lat":44.435383333,"lon":-71.674348333,"track":87.9000,"speed":2.624} $INDPT,2.5,0.0*40 $INGGA,194138,4426.1230,N,07140.4588,W,2,09,0.9,267.7,M,,,,*15 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:41:38.000Z","ept":0.005,"lat":44.435383333,"lon":-71.674313333,"alt":267.700,"speed":2.787} $INZDA,194138,16,09,2006,-05,00*7C $INMTW,18.6,C*1B $INDPT,2.5,0.0*40 $INRMC,194139,A,4426.1230,N,07140.4566,W,5.2,87.3,160906,15.8,W*69 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:39.000Z","ept":0.005,"lat":44.435383333,"lon":-71.674276667,"track":87.3000,"speed":2.675} $INDPT,2.6,0.0*43 $INGLL,4426.1234,N,07140.4545,W,194140,A*23 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:41:40.000Z","ept":0.005,"lat":44.435390000,"lon":-71.674241667,"speed":2.883} $INVTG,87.4,T,103.2,M,5.2,N,9.6,K*6D $INMTW,18.7,C*1A $INDPT,2.6,0.0*43 $INRMC,194141,A,4426.1234,N,07140.4528,W,5.1,88.0,160906,15.8,W*67 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:41.000Z","ept":0.005,"lat":44.435390000,"lon":-71.674213333,"track":88.0000,"speed":2.624} $INDPT,2.6,0.0*43 $INGGA,194142,4426.1234,N,07140.4507,W,2,10,0.9,267.5,M,,,,*11 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:41:42.000Z","ept":0.005,"lat":44.435390000,"lon":-71.674178333,"alt":267.500,"speed":2.787} $INZDA,194142,16,09,2006,-05,00*71 $INMTW,18.6,C*1B $INDPT,2.7,0.0*42 $INRMC,194143,A,4426.1234,N,07140.4485,W,5.1,88.3,160906,15.8,W*60 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:43.000Z","ept":0.005,"lat":44.435390000,"lon":-71.674141667,"track":88.3000,"speed":2.624} $INDPT,2.7,0.0*42 $INGLL,4426.1234,N,07140.4469,W,194144,A*28 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:41:44.000Z","ept":0.005,"lat":44.435390000,"lon":-71.674115000,"speed":2.123} $INVTG,87.5,T,103.3,M,5.1,N,9.5,K*6D $INMTW,18.7,C*1A $INDPT,2.8,0.0*4D $INRMC,194145,A,4426.1234,N,07140.4448,W,5.1,87.9,160906,15.8,W*62 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:45.000Z","ept":0.005,"lat":44.435390000,"lon":-71.674080000,"track":87.9000,"speed":2.624} $INDPT,2.8,0.0*4D $INGGA,194146,4426.1234,N,07140.4426,W,2,09,0.9,267.2,M,,,,*18 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:41:46.000Z","ept":0.005,"lat":44.435390000,"lon":-71.674043333,"alt":267.200,"speed":2.919} $INZDA,194146,16,09,2006,-05,00*75 $INMTW,18.7,C*1A $INDPT,3.0,0.0*44 $INRMC,194147,A,4426.1238,N,07140.4410,W,5.1,87.6,160906,15.8,W*6E {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:47.000Z","ept":0.005,"lat":44.435396667,"lon":-71.674016667,"track":87.6000,"speed":2.624} $INDPT,2.9,0.0*4C $INGLL,4426.1238,N,07140.4388,W,194148,A*20 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:41:48.000Z","ept":0.005,"lat":44.435396667,"lon":-71.673980000,"speed":2.919} $INVTG,87.0,T,102.7,M,5.2,N,9.5,K*6E $INMTW,18.7,C*1A $INDPT,2.9,0.0*4C $INRMC,194149,A,4426.1238,N,07140.4367,W,5.1,87.2,160906,15.8,W*63 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:49.000Z","ept":0.005,"lat":44.435396667,"lon":-71.673945000,"track":87.2000,"speed":2.624} $INDPT,3.0,0.0*44 $INGGA,194150,4426.1238,N,07140.4351,W,2,10,0.9,267.0,M,,,,*1E {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:41:50.000Z","ept":0.005,"lat":44.435396667,"lon":-71.673918333,"alt":267.000,"speed":2.123} $INZDA,194150,16,09,2006,-05,00*72 $INMTW,18.7,C*1A $INDPT,3.0,0.0*44 $INRMC,194151,A,4426.1238,N,07140.4329,W,5.1,88.3,160906,15.8,W*6E {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:51.000Z","ept":0.005,"lat":44.435396667,"lon":-71.673881667,"track":88.3000,"speed":2.624} $INDPT,2.9,0.0*4C $INGLL,4426.1238,N,07140.4307,W,194152,A*2C {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:41:52.000Z","ept":0.005,"lat":44.435396667,"lon":-71.673845000,"speed":2.919} $INVTG,87.8,T,103.6,M,5.1,N,9.5,K*65 $INMTW,18.7,C*1A $INDPT,2.7,0.0*42 $INRMC,194153,A,4426.1238,N,07140.4291,W,5.1,88.1,160906,15.8,W*6C {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:53.000Z","ept":0.005,"lat":44.435396667,"lon":-71.673818333,"track":88.1000,"speed":2.624} $INDPT,2.7,0.0*42 $INGGA,194154,4426.1242,N,07140.4270,W,2,10,0.9,266.8,M,,,,*1C {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:41:54.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673783333,"alt":266.800,"speed":2.883} $INZDA,194154,16,09,2006,-05,00*76 $INMTW,18.8,C*15 $INDPT,2.9,0.0*4C $INRMC,194155,A,4426.1242,N,07140.4248,W,5.1,88.6,160906,15.8,W*64 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:55.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673746667,"track":88.6000,"speed":2.624} $INDPT,2.9,0.0*4C $INGLL,4426.1242,N,07140.4232,W,194156,A*22 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:41:56.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673720000,"speed":2.123} $INVTG,88.8,T,104.6,M,5.1,N,9.4,K*6C $INMTW,18.7,C*1A $INDPT,3.0,0.0*44 $INRMC,194157,A,4426.1242,N,07140.4210,W,5.1,88.2,160906,15.8,W*6F {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:57.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673683333,"track":88.2000,"speed":2.624} $INDPT,3.0,0.0*44 $INGGA,194158,4426.1242,N,07140.4189,W,2,09,0.9,266.6,M,,,,*13 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:41:58.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673648333,"alt":266.600,"speed":2.787} $INZDA,194158,16,09,2006,-05,00*7A $INMTW,18.8,C*15 $INDPT,3.1,0.0*45 $INRMC,194159,A,4426.1242,N,07140.4173,W,5.1,88.9,160906,15.8,W*6C {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:41:59.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673621667,"track":88.9000,"speed":2.624} $INDPT,3.3,0.0*47 $INGLL,4426.1242,N,07140.4151,W,194200,A*24 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:42:00.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673585000,"speed":2.919} $INVTG,89.6,T,105.3,M,5.1,N,9.5,K*66 $INMTW,18.6,C*1B $INDPT,2.9,0.0*4C $INRMC,194201,A,4426.1242,N,07140.4130,W,5.1,89.2,160906,15.8,W*6F {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:01.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673550000,"track":89.2000,"speed":2.624} $INDPT,2.7,0.0*42 $INGGA,194202,4426.1242,N,07140.4113,W,2,09,0.9,266.6,M,,,,*1C {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:42:02.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673521667,"alt":266.600,"speed":2.256} $INZDA,194202,16,09,2006,-05,00*76 $INMTW,18.8,C*15 $INDPT,2.8,0.0*4D $INRMC,194203,A,4426.1242,N,07140.4092,W,5.1,89.0,160906,15.8,W*66 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:03.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673486667,"track":89.0000,"speed":2.624} $INDPT,2.9,0.0*4C $INGLL,4426.1242,N,07140.4070,W,194204,A*22 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:42:04.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673450000,"speed":2.919} $INVTG,89.6,T,105.4,M,5.1,N,9.5,K*61 $INMTW,18.6,C*1B $INDPT,3.0,0.0*44 $INRMC,194205,A,4426.1242,N,07140.4054,W,5.1,89.9,160906,15.8,W*63 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:05.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673423333,"track":89.9000,"speed":2.624} $INDPT,3.0,0.0*44 $INGGA,194206,4426.1242,N,07140.4033,W,2,10,0.9,266.5,M,,,,*10 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:42:06.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673388333,"alt":266.500,"speed":2.787} $INZDA,194206,16,09,2006,-05,00*72 $INMTW,18.7,C*1A $INDPT,3.1,0.0*45 $INRMC,194207,A,4426.1242,N,07140.4011,W,5.1,88.4,160906,15.8,W*6C {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:07.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673351667,"track":88.4000,"speed":2.624} $INDPT,3.1,0.0*45 $INGLL,4426.1242,N,07140.3995,W,194208,A*2B {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:42:08.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673325000,"speed":2.123} $INVTG,88.9,T,104.7,M,5.1,N,9.5,K*6D $INMTW,18.7,C*1A $INDPT,2.9,0.0*4C $INRMC,194209,A,4426.1242,N,07140.3973,W,5.1,89.8,160906,15.8,W*65 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:09.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673288333,"track":89.8000,"speed":2.624} $INDPT,2.9,0.0*4C $INGGA,194210,4426.1242,N,07140.3952,W,2,09,0.9,266.4,M,,,,*17 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:42:10.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673253333,"alt":266.400,"speed":2.787} $INZDA,194210,16,09,2006,-05,00*75 $INMTW,18.6,C*1B $INDPT,2.9,0.0*4C $INRMC,194211,A,4426.1242,N,07140.3930,W,5.2,88.3,160906,15.8,W*62 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:11.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673216667,"track":88.3000,"speed":2.675} $INDPT,3.1,0.0*45 $INGLL,4426.1242,N,07140.3914,W,194212,A*29 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:42:12.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673190000,"speed":2.123} $INVTG,88.6,T,104.4,M,5.2,N,9.6,K*61 $INMTW,18.6,C*1B $INDPT,3.1,0.0*45 $INRMC,194213,A,4426.1242,N,07140.3892,W,5.1,89.2,160906,15.8,W*6A {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:13.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673153333,"track":89.2000,"speed":2.624} $INDPT,3.1,0.0*45 $INGGA,194214,4426.1242,N,07140.3871,W,2,09,0.9,266.3,M,,,,*14 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:42:14.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673118333,"alt":266.300,"speed":2.787} $INZDA,194214,16,09,2006,-05,00*71 $INMTW,18.6,C*1B $INDPT,3.0,0.0*44 $INRMC,194215,A,4426.1242,N,07140.3849,W,5.2,88.0,160906,15.8,W*6A {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:15.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673081667,"track":88.0000,"speed":2.675} $INDPT,3.2,0.0*46 $INGLL,4426.1242,N,07140.3833,W,194216,A*29 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:42:16.000Z","ept":0.005,"lat":44.435403333,"lon":-71.673055000,"speed":2.123} $INVTG,87.9,T,103.7,M,5.2,N,9.6,K*65 $INMTW,18.6,C*1B $INDPT,4.8,0.0*4B $INRMC,194217,A,4426.1246,N,07140.3812,W,5.2,88.8,160906,15.8,W*6A {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:17.000Z","ept":0.005,"lat":44.435410000,"lon":-71.673020000,"track":88.8000,"speed":2.675} $INDPT,2.8,0.0*4D $INGGA,194218,4426.1246,N,07140.3790,W,2,09,0.9,266.2,M,,,,*1D {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:42:18.000Z","ept":0.005,"lat":44.435410000,"lon":-71.672983333,"alt":266.200,"speed":2.919} $INZDA,194218,16,09,2006,-05,00*7D $INMTW,18.6,C*1B $INDPT,2.8,0.0*4D $INRMC,194219,A,4426.1246,N,07140.3774,W,5.2,88.0,160906,15.8,W*63 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:19.000Z","ept":0.005,"lat":44.435410000,"lon":-71.672956667,"track":88.0000,"speed":2.675} $INDPT,2.8,0.0*4D $INGLL,4426.1246,N,07140.3752,W,194220,A*20 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:42:20.000Z","ept":0.005,"lat":44.435410000,"lon":-71.672920000,"speed":2.919} $INVTG,87.4,T,103.1,M,5.2,N,9.6,K*6E $INMTW,18.5,C*18 $INDPT,2.7,0.0*42 $INRMC,194221,A,4426.1246,N,07140.3731,W,5.1,87.9,160906,15.8,W*6C {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:21.000Z","ept":0.005,"lat":44.435410000,"lon":-71.672885000,"track":87.9000,"speed":2.624} $INDPT,2.7,0.0*42 $INGGA,194222,4426.1246,N,07140.3715,W,2,09,0.9,266.1,M,,,,*1A {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:42:22.000Z","ept":0.005,"lat":44.435410000,"lon":-71.672858333,"alt":266.100,"speed":2.123} $INZDA,194222,16,09,2006,-05,00*74 $INMTW,18.4,C*19 $INDPT,2.6,0.0*43 $INRMC,194223,A,4426.1246,N,07140.3693,W,5.1,88.4,160906,15.8,W*65 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:23.000Z","ept":0.005,"lat":44.435410000,"lon":-71.672821667,"track":88.4000,"speed":2.624} $INDPT,2.6,0.0*43 $INGLL,4426.1246,N,07140.3671,W,194224,A*24 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:42:24.000Z","ept":0.005,"lat":44.435410000,"lon":-71.672785000,"speed":2.919} $INVTG,87.2,T,103.0,M,5.2,N,9.6,K*69 $INMTW,18.5,C*18 $INDPT,2.6,0.0*43 $INRMC,194225,A,4426.1250,N,07140.3650,W,5.2,86.8,160906,15.8,W*6A {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:25.000Z","ept":0.005,"lat":44.435416667,"lon":-71.672750000,"track":86.8000,"speed":2.675} $INDPT,2.7,0.0*42 $INGGA,194226,4426.1250,N,07140.3634,W,2,09,0.9,266.0,M,,,,*1A {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:42:26.000Z","ept":0.005,"lat":44.435416667,"lon":-71.672723333,"alt":266.000,"speed":2.123} $INZDA,194226,16,09,2006,-05,00*70 $INMTW,18.4,C*19 $INDPT,2.8,0.0*4D $INRMC,194227,A,4426.1250,N,07140.3612,W,5.1,87.7,160906,15.8,W*63 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:27.000Z","ept":0.005,"lat":44.435416667,"lon":-71.672686667,"track":87.7000,"speed":2.624} $INDPT,2.9,0.0*4C $INGLL,4426.1250,N,07140.3591,W,194228,A*22 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:42:28.000Z","ept":0.005,"lat":44.435416667,"lon":-71.672651667,"speed":2.787} $INVTG,87.4,T,103.2,M,5.1,N,9.5,K*6D $INMTW,18.6,C*1B $INDPT,3.0,0.0*44 $INRMC,194229,A,4426.1250,N,07140.3569,W,5.2,87.0,160906,15.8,W*66 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:29.000Z","ept":0.005,"lat":44.435416667,"lon":-71.672615000,"track":87.0000,"speed":2.675} $INDPT,2.7,0.0*42 $INGGA,194230,4426.1250,N,07140.3553,W,2,09,0.9,265.9,M,,,,*15 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:42:30.000Z","ept":0.005,"lat":44.435416667,"lon":-71.672588333,"alt":265.900,"speed":2.123} $INZDA,194230,16,09,2006,-05,00*77 $INMTW,18.6,C*1B $INDPT,2.6,0.0*43 $INRMC,194231,A,4426.1254,N,07140.3531,W,5.1,87.8,160906,15.8,W*6D {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:31.000Z","ept":0.005,"lat":44.435423333,"lon":-71.672551667,"track":87.8000,"speed":2.624} $INDPT,2.6,0.0*43 $INGLL,4426.1254,N,07140.3510,W,194232,A*24 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:42:32.000Z","ept":0.005,"lat":44.435423333,"lon":-71.672516667,"speed":2.787} $INVTG,86.9,T,102.7,M,5.2,N,9.6,K*65 $INMTW,18.6,C*1B $INDPT,2.5,0.0*40 $INRMC,194233,A,4426.1254,N,07140.3494,W,5.2,86.7,160906,15.8,W*6C {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:33.000Z","ept":0.005,"lat":44.435423333,"lon":-71.672490000,"track":86.7000,"speed":2.675} $INDPT,2.5,0.0*40 $INGGA,194234,4426.1254,N,07140.3472,W,2,09,0.9,265.8,M,,,,*16 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:42:34.000Z","ept":0.005,"lat":44.435423333,"lon":-71.672453333,"alt":265.800,"speed":2.919} $INZDA,194234,16,09,2006,-05,00*73 $INMTW,18.6,C*1B $INDPT,2.4,0.0*41 $INRMC,194235,A,4426.1254,N,07140.3450,W,5.2,87.4,160906,15.8,W*60 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:35.000Z","ept":0.005,"lat":44.435423333,"lon":-71.672416667,"track":87.4000,"speed":2.675} $INDPT,2.4,0.0*41 $INGLL,4426.1258,N,07140.3429,W,194236,A*27 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:42:36.000Z","ept":0.005,"lat":44.435430000,"lon":-71.672381667,"speed":2.883} $INVTG,87.4,T,103.2,M,5.2,N,9.6,K*6D $INMTW,18.6,C*1B $INDPT,2.4,0.0*41 $INRMC,194237,A,4426.1258,N,07140.3413,W,5.2,86.6,160906,15.8,W*6A {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:37.000Z","ept":0.005,"lat":44.435430000,"lon":-71.672355000,"track":86.6000,"speed":2.675} $INDPT,2.5,0.0*40 $INGGA,194238,4426.1258,N,07140.3391,W,2,09,0.9,265.7,M,,,,*13 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:42:38.000Z","ept":0.005,"lat":44.435430000,"lon":-71.672318333,"alt":265.700,"speed":2.919} $INZDA,194238,16,09,2006,-05,00*7F $INMTW,18.6,C*1B $INDPT,2.4,0.0*41 $INRMC,194239,A,4426.1258,N,07140.3370,W,5.2,87.3,160906,15.8,W*62 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:39.000Z","ept":0.005,"lat":44.435430000,"lon":-71.672283333,"track":87.3000,"speed":2.675} $INDPT,2.6,0.0*43 $INGLL,4426.1258,N,07140.3353,W,194240,A*2C {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:42:40.000Z","ept":0.005,"lat":44.435430000,"lon":-71.672255000,"speed":2.256} $INVTG,88.0,T,103.8,M,5.2,N,9.6,K*6C $INMTW,18.7,C*1A $INDPT,2.6,0.0*43 $INRMC,194241,A,4426.1261,N,07140.3332,W,5.2,87.7,160906,15.8,W*65 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:41.000Z","ept":0.005,"lat":44.435435000,"lon":-71.672220000,"track":87.7000,"speed":2.675} $INDPT,2.7,0.0*42 $INGGA,194242,4426.1261,N,07140.3310,W,2,09,0.9,265.5,M,,,,*1F {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:42:42.000Z","ept":0.005,"lat":44.435435000,"lon":-71.672183333,"alt":265.500,"speed":2.919} $INZDA,194242,16,09,2006,-05,00*72 $INMTW,18.6,C*1B $INDPT,2.6,0.0*43 $INRMC,194243,A,4426.1261,N,07140.3289,W,5.2,88.0,160906,15.8,W*6E {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:43.000Z","ept":0.005,"lat":44.435435000,"lon":-71.672148333,"track":88.0000,"speed":2.675} $INDPT,2.5,0.0*40 $INGLL,4426.1261,N,07140.3267,W,194244,A*24 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:42:44.000Z","ept":0.005,"lat":44.435435000,"lon":-71.672111667,"speed":2.919} $INVTG,88.5,T,104.3,M,5.2,N,9.7,K*64 $INMTW,18.6,C*1B $INDPT,2.4,0.0*41 $INRMC,194245,A,4426.1261,N,07140.3246,W,5.2,88.3,160906,15.8,W*68 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:45.000Z","ept":0.005,"lat":44.435435000,"lon":-71.672076667,"track":88.3000,"speed":2.675} $INDPT,2.4,0.0*41 $INGGA,194246,4426.1261,N,07140.3230,W,2,09,0.9,264.9,M,,,,*15 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:42:46.000Z","ept":0.005,"lat":44.435435000,"lon":-71.672050000,"alt":264.900,"speed":2.123} $INZDA,194246,16,09,2006,-05,00*76 $INMTW,18.6,C*1B $INDPT,2.4,0.0*41 $INRMC,194247,A,4426.1265,N,07140.3208,W,5.2,87.6,160906,15.8,W*6E {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:47.000Z","ept":0.005,"lat":44.435441667,"lon":-71.672013333,"track":87.6000,"speed":2.675} $INDPT,2.4,0.0*41 $INGLL,4426.1265,N,07140.3186,W,194248,A*20 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:42:48.000Z","ept":0.005,"lat":44.435441667,"lon":-71.671976667,"speed":2.919} $INVTG,88.1,T,103.9,M,5.2,N,9.6,K*6C $INMTW,18.6,C*1B $INDPT,2.5,0.0*40 $INRMC,194249,A,4426.1265,N,07140.3165,W,5.2,88.7,160906,15.8,W*66 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:49.000Z","ept":0.005,"lat":44.435441667,"lon":-71.671941667,"track":88.7000,"speed":2.675} $INDPT,2.6,0.0*43 $INGGA,194250,4426.1265,N,07140.3149,W,2,09,0.9,263.8,M,,,,*1D {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:42:50.000Z","ept":0.005,"lat":44.435441667,"lon":-71.671915000,"alt":263.800,"speed":2.123} $INZDA,194250,16,09,2006,-05,00*71 $INMTW,18.6,C*1B $INDPT,2.7,0.0*42 $INRMC,194251,A,4426.1265,N,07140.3127,W,5.2,88.4,160906,15.8,W*6A {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:51.000Z","ept":0.005,"lat":44.435441667,"lon":-71.671878333,"track":88.4000,"speed":2.675} $INDPT,2.5,0.0*40 $INGLL,4426.1265,N,07140.3106,W,194252,A*23 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:42:52.000Z","ept":0.005,"lat":44.435441667,"lon":-71.671843333,"speed":2.787} $INVTG,87.8,T,103.5,M,5.2,N,9.7,K*67 $INMTW,18.6,C*1B $INDPT,2.4,0.0*41 $INRMC,194253,A,4426.1265,N,07140.3089,W,5.2,88.3,160906,15.8,W*6A {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:53.000Z","ept":0.005,"lat":44.435441667,"lon":-71.671815000,"track":88.3000,"speed":2.675} $INDPT,2.4,0.0*41 $INGGA,194254,4426.1265,N,07140.3068,W,2,09,0.9,262.8,M,,,,*1A {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:42:54.000Z","ept":0.005,"lat":44.435441667,"lon":-71.671780000,"alt":262.800,"speed":2.787} $INZDA,194254,16,09,2006,-05,00*75 $INMTW,18.6,C*1B $INDPT,2.3,0.0*46 $INRMC,194255,A,4426.1265,N,07140.3046,W,5.2,89.0,160906,15.8,W*6D {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:55.000Z","ept":0.005,"lat":44.435441667,"lon":-71.671743333,"track":89.0000,"speed":2.675} $INDPT,2.2,0.0*47 $INGLL,4426.1265,N,07140.3025,W,194256,A*27 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:42:56.000Z","ept":0.005,"lat":44.435441667,"lon":-71.671708333,"speed":2.787} $INVTG,88.6,T,104.4,M,5.2,N,9.7,K*60 $INMTW,18.6,C*1B $INDPT,2.1,0.0*44 $INRMC,194257,A,4426.1265,N,07140.3009,W,5.2,88.6,160906,15.8,W*63 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:57.000Z","ept":0.005,"lat":44.435441667,"lon":-71.671681667,"track":88.6000,"speed":2.675} $INDPT,2.1,0.0*44 $INGGA,194258,4426.1265,N,07140.2987,W,2,09,0.9,262.0,M,,,,*17 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:42:58.000Z","ept":0.005,"lat":44.435441667,"lon":-71.671645000,"alt":262.000,"speed":2.919} $INZDA,194258,16,09,2006,-05,00*79 $INMTW,18.6,C*1B $INDPT,2.3,0.0*46 $INRMC,194259,A,4426.1265,N,07140.2965,W,5.1,89.1,160906,15.8,W*6A {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:42:59.000Z","ept":0.005,"lat":44.435441667,"lon":-71.671608333,"track":89.1000,"speed":2.624} $INDPT,2.4,0.0*41 $INGLL,4426.1265,N,07140.2944,W,194300,A*2A {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:43:00.000Z","ept":0.005,"lat":44.435441667,"lon":-71.671573333,"speed":2.787} $INVTG,89.3,T,105.1,M,5.2,N,9.5,K*62 $INMTW,18.6,C*1B $INDPT,2.4,0.0*41 $INRMC,194301,A,4426.1269,N,07140.2922,W,5.2,89.7,160906,15.8,W*6C {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:43:01.000Z","ept":0.005,"lat":44.435448333,"lon":-71.671536667,"track":89.7000,"speed":2.675} $INDPT,2.4,0.0*41 $INGGA,194302,4426.1269,N,07140.2901,W,2,09,0.9,261.3,M,,,,*1B {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:43:02.000Z","ept":0.005,"lat":44.435448333,"lon":-71.671501667,"alt":261.300,"speed":2.787} $INZDA,194302,16,09,2006,-05,00*77 $INMTW,18.6,C*1B $INDPT,2.5,0.0*40 $INRMC,194303,A,4426.1269,N,07140.2879,W,5.2,90.3,160906,15.8,W*6D {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:43:03.000Z","ept":0.005,"lat":44.435448333,"lon":-71.671465000,"track":90.3000,"speed":2.675} $INDPT,2.5,0.0*40 $INGLL,4426.1265,N,07140.2863,W,194304,A*2A {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:43:04.000Z","ept":0.005,"lat":44.435441667,"lon":-71.671438333,"speed":2.249} $INVTG,91.4,T,107.2,M,5.2,N,9.7,K*6F $INMTW,18.5,C*18 $INDPT,2.4,0.0*41 $INRMC,194304,A,4426.1265,N,07140.2863,W,5.2,91.4,160906,15.8,W*6B {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:43:04.000Z","ept":0.005,"lat":44.435441667,"lon":-71.671438333,"track":91.4000,"speed":2.675} $INDPT,2.4,0.0*41 $INGGA,194306,4426.1265,N,07140.2820,W,2,09,0.9,261.0,M,,,,*12 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:43:06.000Z","ept":0.005,"lat":44.435441667,"lon":-71.671366667,"alt":261.000,"speed":2.853} $INZDA,194306,16,09,2006,-05,00*73 $INMTW,18.2,C*1F $INDPT,2.5,0.0*40 $INRMC,194306,A,4426.1265,N,07140.2820,W,5.2,88.5,160906,15.8,W*67 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:43:06.000Z","ept":0.005,"lat":44.435441667,"lon":-71.671366667,"alt":261.000,"track":88.5000,"speed":2.675,"climb":0.000} $INDPT,1.9,0.0*4F $INGLL,4426.1269,N,07140.2782,W,194308,A*2A {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:43:08.000Z","ept":0.005,"lat":44.435448333,"lon":-71.671303333,"speed":2.548} $INVTG,87.0,T,102.7,M,5.2,N,9.6,K*6D $INMTW,18.5,C*18 $INDPT,1.7,0.0*41 $INRMC,194308,A,4426.1269,N,07140.2782,W,5.2,87.0,160906,15.8,W*68 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:43:08.000Z","ept":0.005,"lat":44.435448333,"lon":-71.671303333,"track":87.0000,"speed":2.675} $INDPT,1.6,0.0*40 $INGGA,194310,4426.1269,N,07140.2739,W,2,10,0.9,260.8,M,,,,*1F {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:43:10.000Z","ept":0.005,"lat":44.435448333,"lon":-71.671231667,"alt":260.800,"speed":2.853} $INZDA,194310,16,09,2006,-05,00*74 $INMTW,18.6,C*1B $INDPT,1.7,0.0*41 $INRMC,194310,A,4426.1269,N,07140.2739,W,5.2,85.4,160906,15.8,W*67 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:43:10.000Z","ept":0.005,"lat":44.435448333,"lon":-71.671231667,"alt":260.800,"track":85.4000,"speed":2.675,"climb":0.000} $INDPT,1.8,0.0*4E $INGLL,4426.1273,N,07140.2701,W,194312,A*21 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:43:12.000Z","ept":0.005,"lat":44.435455000,"lon":-71.671168333,"speed":2.548} $INVTG,83.4,T,99.2,M,5.2,N,9.6,K*5B $INMTW,18.5,C*18 $INDPT,2.0,0.0*45 $INRMC,194312,A,4426.1273,N,07140.2701,W,5.1,83.4,160906,15.8,W*60 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:43:12.000Z","ept":0.005,"lat":44.435455000,"lon":-71.671168333,"track":83.4000,"speed":2.624} $INDPT,1.9,0.0*4F $INGGA,194314,4426.1277,N,07140.2664,W,2,09,0.9,260.7,M,,,,*1A {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:43:14.000Z","ept":0.005,"lat":44.435461667,"lon":-71.671106667,"alt":260.700,"speed":2.483} $INZDA,194314,16,09,2006,-05,00*70 $INMTW,18.5,C*18 $INDPT,1.7,0.0*41 $INRMC,194314,A,4426.1277,N,07140.2664,W,5.2,84.5,160906,15.8,W*65 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:43:14.000Z","ept":0.005,"lat":44.435461667,"lon":-71.671106667,"alt":260.700,"track":84.5000,"speed":2.675,"climb":0.000} $INDPT,1.6,0.0*40 $INGLL,4426.1277,N,07140.2620,W,194316,A*23 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:43:16.000Z","ept":0.005,"lat":44.435461667,"lon":-71.671033333,"speed":2.919} $INVTG,83.3,T,99.1,M,5.2,N,9.6,K*5F $INMTW,18.6,C*1B $INDPT,1.6,0.0*40 $INRMC,194316,A,4426.1277,N,07140.2620,W,5.1,83.3,160906,15.8,W*65 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:43:16.000Z","ept":0.005,"lat":44.435461667,"lon":-71.671033333,"track":83.3000,"speed":2.624} $INDPT,1.5,0.0*43 $INGGA,194318,4426.1281,N,07140.2583,W,2,09,0.9,260.7,M,,,,*15 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:43:18.000Z","ept":0.005,"lat":44.435468333,"lon":-71.670971667,"alt":260.700,"speed":2.483} $INZDA,194318,16,09,2006,-05,00*7C $INMTW,18.5,C*18 $INDPT,1.6,0.0*40 $INRMC,194318,A,4426.1281,N,07140.2583,W,5.1,84.5,160906,15.8,W*69 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:43:18.000Z","ept":0.005,"lat":44.435468333,"lon":-71.670971667,"alt":260.700,"track":84.5000,"speed":2.624,"climb":0.000} $INDPT,1.7,0.0*41 $INGLL,4426.1285,N,07140.2545,W,194320,A*2B {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:43:20.000Z","ept":0.005,"lat":44.435475000,"lon":-71.670908333,"speed":2.548} $INVTG,84.3,T,100.1,M,5.2,N,9.5,K*6A $INMTW,18.5,C*18 $INDPT,1.7,0.0*41 $INRMC,194320,A,4426.1285,N,07140.2545,W,5.1,84.3,160906,15.8,W*6A {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:43:20.000Z","ept":0.005,"lat":44.435475000,"lon":-71.670908333,"track":84.3000,"speed":2.624} $INDPT,1.7,0.0*41 $INGGA,194322,4426.1288,N,07140.2502,W,2,10,0.9,260.6,M,,,,*15 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:43:22.000Z","ept":0.005,"lat":44.435480000,"lon":-71.670836667,"alt":260.600,"speed":2.866} $INZDA,194322,16,09,2006,-05,00*75 $INMTW,18.5,C*18 $INDPT,1.8,0.0*4E $INRMC,194322,A,4426.1288,N,07140.2502,W,5.1,84.7,160906,15.8,W*62 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:43:22.000Z","ept":0.005,"lat":44.435480000,"lon":-71.670836667,"alt":260.600,"track":84.7000,"speed":2.624,"climb":0.000} $INDPT,2.0,0.0*45 $INGLL,4426.1288,N,07140.2464,W,194324,A*20 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:43:24.000Z","ept":0.005,"lat":44.435480000,"lon":-71.670773333,"speed":2.521} $INVTG,84.5,T,100.3,M,5.1,N,9.5,K*6D $INMTW,18.5,C*18 $INDPT,2.0,0.0*45 $INRMC,194324,A,4426.1288,N,07140.2464,W,5.2,84.5,160906,15.8,W*64 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:43:24.000Z","ept":0.005,"lat":44.435480000,"lon":-71.670773333,"track":84.5000,"speed":2.675} $INDPT,2.2,0.0*47 $INGGA,194326,4426.1292,N,07140.2421,W,2,09,0.9,260.7,M,,,,*13 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:43:26.000Z","ept":0.005,"lat":44.435486667,"lon":-71.670701667,"alt":260.700,"speed":2.877} $INZDA,194326,16,09,2006,-05,00*71 $INMTW,18.4,C*19 $INDPT,2.2,0.0*47 $INRMC,194326,A,4426.1292,N,07140.2421,W,5.2,84.7,160906,15.8,W*6E {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:43:26.000Z","ept":0.005,"lat":44.435486667,"lon":-71.670701667,"alt":260.700,"track":84.7000,"speed":2.675,"climb":0.000} $INDPT,2.3,0.0*46 $INGLL,4426.1296,N,07140.2383,W,194328,A*2D {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:43:28.000Z","ept":0.005,"lat":44.435493333,"lon":-71.670638333,"speed":2.548} $INVTG,84.7,T,100.5,M,5.2,N,9.7,K*68 $INMTW,18.4,C*19 $INDPT,2.3,0.0*46 $INRMC,194328,A,4426.1296,N,07140.2383,W,5.2,84.7,160906,15.8,W*6B {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:43:28.000Z","ept":0.005,"lat":44.435493333,"lon":-71.670638333,"track":84.7000,"speed":2.675} $INDPT,2.5,0.0*40 $INGGA,194330,4426.1300,N,07140.2346,W,2,09,0.9,260.7,M,,,,*18 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:43:30.000Z","ept":0.005,"lat":44.435500000,"lon":-71.670576667,"alt":260.700,"speed":2.483} $INZDA,194330,16,09,2006,-05,00*76 $INMTW,18.5,C*18 $INDPT,2.6,0.0*43 $INRMC,194330,A,4426.1300,N,07140.2346,W,5.2,84.3,160906,15.8,W*61 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:43:30.000Z","ept":0.005,"lat":44.435500000,"lon":-71.670576667,"alt":260.700,"track":84.3000,"speed":2.675,"climb":0.000} $INDPT,2.7,0.0*42 $INGLL,4426.1300,N,07140.2302,W,194332,A*21 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:43:32.000Z","ept":0.005,"lat":44.435500000,"lon":-71.670503333,"speed":2.919} $INVTG,85.4,T,101.2,M,5.2,N,9.7,K*6C $INMTW,18.5,C*18 $INDPT,2.8,0.0*4D $INRMC,194332,A,4426.1300,N,07140.2302,W,5.2,85.4,160906,15.8,W*65 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:43:32.000Z","ept":0.005,"lat":44.435500000,"lon":-71.670503333,"track":85.4000,"speed":2.675} $INDPT,2.9,0.0*4C $INGGA,194334,4426.1304,N,07140.2265,W,2,09,0.9,260.7,M,,,,*18 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:43:34.000Z","ept":0.005,"lat":44.435506667,"lon":-71.670441667,"alt":260.700,"speed":2.483} $INZDA,194334,16,09,2006,-05,00*72 $INMTW,18.3,C*1E $INDPT,3.1,0.0*45 $INRMC,194334,A,4426.1304,N,07140.2265,W,5.2,84.2,160906,15.8,W*60 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:43:34.000Z","ept":0.005,"lat":44.435506667,"lon":-71.670441667,"alt":260.700,"track":84.2000,"speed":2.675,"climb":0.000} $INDPT,3.3,0.0*47 $INGLL,4426.1308,N,07140.2222,W,194336,A*2E {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:43:36.000Z","ept":0.005,"lat":44.435513333,"lon":-71.670370000,"speed":2.877} $INVTG,84.3,T,100.1,M,5.2,N,9.7,K*68 $INMTW,18.4,C*19 $INDPT,3.3,0.0*47 $INRMC,194336,A,4426.1308,N,07140.2222,W,5.2,84.3,160906,15.8,W*6C {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:43:36.000Z","ept":0.005,"lat":44.435513333,"lon":-71.670370000,"track":84.3000,"speed":2.675} $INDPT,3.6,0.0*42 $INGGA,194338,4426.1308,N,07140.2179,W,2,09,0.9,260.6,M,,,,*17 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:43:38.000Z","ept":0.005,"lat":44.435513333,"lon":-71.670298333,"alt":260.600,"speed":2.853} $INZDA,194338,16,09,2006,-05,00*7E $INMTW,18.3,C*1E $INDPT,3.7,0.0*43 $INRMC,194338,A,4426.1308,N,07140.2179,W,5.3,85.1,160906,15.8,W*6D {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:43:38.000Z","ept":0.005,"lat":44.435513333,"lon":-71.670298333,"alt":260.600,"track":85.1000,"speed":2.727,"climb":0.000} $INDPT,3.5,0.0*41 $INGLL,4426.1312,N,07140.2141,W,194340,A*22 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:43:40.000Z","ept":0.005,"lat":44.435520000,"lon":-71.670235000,"speed":2.548} $INVTG,84.2,T,100.0,M,5.3,N,9.8,K*66 $INMTW,18.3,C*1E $INDPT,2.3,0.0*46 $INRMC,194340,A,4426.1312,N,07140.2141,W,5.2,84.2,160906,15.8,W*61 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:43:40.000Z","ept":0.005,"lat":44.435520000,"lon":-71.670235000,"track":84.2000,"speed":2.675} $INDPT,2.2,0.0*47 $INGGA,194342,4426.1315,N,07140.2103,W,2,09,0.9,260.6,M,,,,*1B {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:43:42.000Z","ept":0.005,"lat":44.435525000,"lon":-71.670171667,"alt":260.600,"speed":2.536} $INZDA,194342,16,09,2006,-05,00*73 $INMTW,18.2,C*1F $INDPT,2.3,0.0*46 $INRMC,194342,A,4426.1315,N,07140.2103,W,5.2,84.3,160906,15.8,W*63 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:43:42.000Z","ept":0.005,"lat":44.435525000,"lon":-71.670171667,"alt":260.600,"track":84.3000,"speed":2.675,"climb":0.000} $INDPT,2.3,0.0*46 $INGLL,4426.1315,N,07140.2060,W,194344,A*23 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:43:44.000Z","ept":0.005,"lat":44.435525000,"lon":-71.670100000,"speed":2.853} $INVTG,84.4,T,100.2,M,5.2,N,9.6,K*6D $INMTW,18.2,C*1F $INDPT,2.4,0.0*41 $INRMC,194344,A,4426.1315,N,07140.2060,W,5.1,84.4,160906,15.8,W*65 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:43:44.000Z","ept":0.005,"lat":44.435525000,"lon":-71.670100000,"track":84.4000,"speed":2.624} $INDPT,2.6,0.0*43 $INGGA,194346,4426.1319,N,07140.2022,W,2,09,0.9,260.7,M,,,,*10 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:43:46.000Z","ept":0.005,"lat":44.435531667,"lon":-71.670036667,"alt":260.700,"speed":2.548} $INZDA,194346,16,09,2006,-05,00*77 $INMTW,18.3,C*1E $INDPT,2.7,0.0*42 $INRMC,194346,A,4426.1319,N,07140.2022,W,5.2,84.2,160906,15.8,W*68 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:43:46.000Z","ept":0.005,"lat":44.435531667,"lon":-71.670036667,"alt":260.700,"track":84.2000,"speed":2.675,"climb":0.000} $INDPT,2.1,0.0*44 $INGLL,4426.1323,N,07140.1979,W,194348,A*28 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:43:48.000Z","ept":0.005,"lat":44.435538333,"lon":-71.669965000,"speed":2.877} $INVTG,84.7,T,100.5,M,5.2,N,9.7,K*68 $INMTW,18.3,C*1E $INDPT,2.1,0.0*44 $INRMC,194348,A,4426.1323,N,07140.1979,W,5.3,84.7,160906,15.8,W*6F {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:43:48.000Z","ept":0.005,"lat":44.435538333,"lon":-71.669965000,"track":84.7000,"speed":2.727} $INDPT,2.0,0.0*45 $INGGA,194350,4426.1327,N,07140.1941,W,2,09,0.9,260.7,M,,,,*15 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:43:50.000Z","ept":0.005,"lat":44.435545000,"lon":-71.669901667,"alt":260.700,"speed":2.548} $INZDA,194350,16,09,2006,-05,00*70 $INMTW,18.4,C*19 $INDPT,2.0,0.0*45 $INRMC,194350,A,4426.1327,N,07140.1941,W,5.2,84.7,160906,15.8,W*68 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:43:50.000Z","ept":0.005,"lat":44.435545000,"lon":-71.669901667,"alt":260.700,"track":84.7000,"speed":2.675,"climb":0.000} $INDPT,2.3,0.0*46 $INGLL,4426.1327,N,07140.1898,W,194352,A*29 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:43:52.000Z","ept":0.005,"lat":44.435545000,"lon":-71.669830000,"speed":2.853} $INVTG,85.0,T,100.8,M,5.2,N,9.6,K*62 $INMTW,18.4,C*19 $INDPT,2.2,0.0*47 $INRMC,194352,A,4426.1327,N,07140.1898,W,5.2,85.0,160906,15.8,W*69 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:43:52.000Z","ept":0.005,"lat":44.435545000,"lon":-71.669830000,"track":85.0000,"speed":2.675} $INDPT,2.1,0.0*44 $INGGA,194354,4426.1331,N,07140.1861,W,2,09,0.9,260.6,M,,,,*14 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:43:54.000Z","ept":0.005,"lat":44.435551667,"lon":-71.669768333,"alt":260.600,"speed":2.483} $INZDA,194354,16,09,2006,-05,00*74 $INMTW,18.3,C*1E $INDPT,2.1,0.0*44 $INRMC,194354,A,4426.1331,N,07140.1861,W,5.2,81.5,160906,15.8,W*6F {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:43:54.000Z","ept":0.005,"lat":44.435551667,"lon":-71.669768333,"alt":260.600,"track":81.5000,"speed":2.675,"climb":0.000} $INDPT,2.1,0.0*44 $INGLL,4426.1335,N,07140.1817,W,194356,A*29 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:43:56.000Z","ept":0.005,"lat":44.435558333,"lon":-71.669695000,"speed":2.943} $INVTG,81.8,T,97.6,M,5.2,N,9.6,K*5F $INMTW,18.4,C*19 $INDPT,2.0,0.0*45 $INRMC,194356,A,4426.1335,N,07140.1817,W,5.2,81.8,160906,15.8,W*65 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:43:56.000Z","ept":0.005,"lat":44.435558333,"lon":-71.669695000,"track":81.8000,"speed":2.675} $INDPT,1.9,0.0*4F $INGGA,194358,4426.1339,N,07140.1780,W,2,09,0.9,260.7,M,,,,*11 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:43:58.000Z","ept":0.005,"lat":44.435565000,"lon":-71.669633333,"alt":260.700,"speed":2.483} $INZDA,194358,16,09,2006,-05,00*78 $INMTW,18.4,C*19 $INDPT,1.9,0.0*4F $INRMC,194358,A,4426.1339,N,07140.1780,W,5.2,78.8,160906,15.8,W*60 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:43:58.000Z","ept":0.005,"lat":44.435565000,"lon":-71.669633333,"alt":260.700,"track":78.8000,"speed":2.675,"climb":0.000} $INDPT,2.1,0.0*44 $INGLL,4426.1346,N,07140.1737,W,194400,A*24 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:44:00.000Z","ept":0.005,"lat":44.435576667,"lon":-71.669561667,"speed":2.926} $INVTG,79.6,T,95.4,M,5.2,N,9.6,K*56 $INMTW,18.4,C*19 $INDPT,2.1,0.0*44 $INRMC,194400,A,4426.1346,N,07140.1737,W,5.2,79.6,160906,15.8,W*61 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:44:00.000Z","ept":0.005,"lat":44.435576667,"lon":-71.669561667,"track":79.6000,"speed":2.675} $INDPT,2.1,0.0*44 $INGGA,194402,4426.1350,N,07140.1699,W,2,09,0.9,260.9,M,,,,*11 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:44:02.000Z","ept":0.005,"lat":44.435583333,"lon":-71.669498333,"alt":260.900,"speed":2.548} $INZDA,194402,16,09,2006,-05,00*70 $INMTW,18.4,C*19 $INDPT,2.1,0.0*44 $INRMC,194402,A,4426.1350,N,07140.1699,W,5.2,75.8,160906,15.8,W*63 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:44:02.000Z","ept":0.005,"lat":44.435583333,"lon":-71.669498333,"alt":260.900,"track":75.8000,"speed":2.675,"climb":0.000} $INDPT,2.3,0.0*46 $INGLL,4426.1358,N,07140.1661,W,194404,A*2D {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:44:04.000Z","ept":0.005,"lat":44.435596667,"lon":-71.669435000,"speed":2.628} $INVTG,78.1,T,93.9,M,5.2,N,9.5,K*58 $INMTW,18.3,C*1E $INDPT,2.4,0.0*41 $INRMC,194404,A,4426.1358,N,07140.1661,W,5.2,78.1,160906,15.8,W*6E {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:44:04.000Z","ept":0.005,"lat":44.435596667,"lon":-71.669435000,"track":78.1000,"speed":2.675} $INDPT,2.3,0.0*46 $INGGA,194406,4426.1362,N,07140.1618,W,2,09,0.9,260.9,M,,,,*1D {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:44:06.000Z","ept":0.005,"lat":44.435603333,"lon":-71.669363333,"alt":260.900,"speed":2.877} $INZDA,194406,16,09,2006,-05,00*74 $INMTW,18.3,C*1E $INDPT,2.3,0.0*46 $INRMC,194406,A,4426.1362,N,07140.1618,W,5.3,79.1,160906,15.8,W*6B {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:44:06.000Z","ept":0.005,"lat":44.435603333,"lon":-71.669363333,"alt":260.900,"track":79.1000,"speed":2.727,"climb":0.000} $INDPT,2.3,0.0*46 $INGLL,4426.1370,N,07140.1580,W,194408,A*27 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:44:08.000Z","ept":0.005,"lat":44.435616667,"lon":-71.669300000,"speed":2.628} $INVTG,78.7,T,94.5,M,5.3,N,9.8,K*59 $INMTW,18.2,C*1F $INDPT,2.1,0.0*44 $INRMC,194408,A,4426.1370,N,07140.1580,W,5.2,78.7,160906,15.8,W*62 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:44:08.000Z","ept":0.005,"lat":44.435616667,"lon":-71.669300000,"track":78.7000,"speed":2.675} $INDPT,2.0,0.0*45 $INGGA,194410,4426.1373,N,07140.1537,W,2,09,0.9,261.1,M,,,,*1D {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:44:10.000Z","ept":0.005,"lat":44.435621667,"lon":-71.669228333,"alt":261.100,"speed":2.866} $INZDA,194410,16,09,2006,-05,00*73 $INMTW,18.2,C*1F $INDPT,2.0,0.0*45 $INRMC,194410,A,4426.1373,N,07140.1537,W,5.2,80.2,160906,15.8,W*66 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:44:10.000Z","ept":0.005,"lat":44.435621667,"lon":-71.669228333,"alt":261.100,"track":80.2000,"speed":2.675,"climb":0.000} $INDPT,2.0,0.0*45 $INGLL,4426.1377,N,07140.1499,W,194412,A*22 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:44:12.000Z","ept":0.005,"lat":44.435628333,"lon":-71.669165000,"speed":2.548} $INVTG,79.6,T,95.3,M,5.2,N,9.7,K*50 $INMTW,18.1,C*1C $INDPT,2.3,0.0*46 $INRMC,194412,A,4426.1377,N,07140.1499,W,5.2,79.6,160906,15.8,W*67 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:44:12.000Z","ept":0.005,"lat":44.435628333,"lon":-71.669165000,"track":79.6000,"speed":2.675} $INDPT,2.2,0.0*47 $INGGA,194414,4426.1381,N,07140.1462,W,2,09,0.9,261.1,M,,,,*15 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:44:14.000Z","ept":0.005,"lat":44.435635000,"lon":-71.669103333,"alt":261.100,"speed":2.483} $INZDA,194414,16,09,2006,-05,00*77 $INMTW,18.2,C*1F $INDPT,1.8,0.0*4E $INRMC,194414,A,4426.1381,N,07140.1462,W,5.2,79.9,160906,15.8,W*63 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:44:14.000Z","ept":0.005,"lat":44.435635000,"lon":-71.669103333,"alt":261.100,"track":79.9000,"speed":2.675,"climb":0.000} $INDPT,1.8,0.0*4E $INGLL,4426.1389,N,07140.1419,W,194416,A*2F {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:44:16.000Z","ept":0.005,"lat":44.435648333,"lon":-71.669031667,"speed":2.948} $INVTG,80.2,T,96.0,M,5.2,N,9.7,K*52 $INMTW,18.1,C*1C $INDPT,1.8,0.0*4E $INRMC,194416,A,4426.1389,N,07140.1419,W,5.2,80.2,160906,15.8,W*68 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:44:16.000Z","ept":0.005,"lat":44.435648333,"lon":-71.669031667,"track":80.2000,"speed":2.675} $INDPT,2.0,0.0*45 $INGGA,194418,4426.1393,N,07140.1381,W,2,10,0.9,261.1,M,,,,*18 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:44:18.000Z","ept":0.005,"lat":44.435655000,"lon":-71.668968333,"alt":261.100,"speed":2.548} $INZDA,194418,16,09,2006,-05,00*7B $INMTW,18.0,C*1D $INDPT,2.1,0.0*44 $INRMC,194418,A,4426.1393,N,07140.1381,W,5.2,81.2,160906,15.8,W*6A {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:44:18.000Z","ept":0.005,"lat":44.435655000,"lon":-71.668968333,"alt":261.100,"track":81.2000,"speed":2.675,"climb":0.000} $INDPT,2.3,0.0*46 $INGLL,4426.1397,N,07140.1338,W,194420,A*21 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:44:20.000Z","ept":0.005,"lat":44.435661667,"lon":-71.668896667,"speed":2.877} $INVTG,81.6,T,97.4,M,5.2,N,9.6,K*53 $INMTW,18.1,C*1C $INDPT,1.9,0.0*4F $INRMC,194420,A,4426.1397,N,07140.1338,W,5.2,81.6,160906,15.8,W*63 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:44:20.000Z","ept":0.005,"lat":44.435661667,"lon":-71.668896667,"track":81.6000,"speed":2.675} $INDPT,1.9,0.0*4F $INGGA,194422,4426.1400,N,07140.1300,W,2,10,1.1,261.4,M,,,,*19 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:44:22.000Z","ept":0.005,"lat":44.435666667,"lon":-71.668833333,"alt":261.400,"speed":2.536} $INZDA,194422,16,09,2006,-05,00*72 $INMTW,17.9,C*1B $INDPT,1.9,0.0*4F $INRMC,194422,A,4426.1400,N,07140.1300,W,5.2,80.4,160906,15.8,W*60 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:44:22.000Z","ept":0.005,"lat":44.435666667,"lon":-71.668833333,"alt":261.400,"track":80.4000,"speed":2.675,"climb":0.000} $INDPT,1.9,0.0*4F $INGLL,4426.1404,N,07140.1257,W,194424,A*20 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:44:24.000Z","ept":0.005,"lat":44.435673333,"lon":-71.668761667,"speed":2.877} $INVTG,80.0,T,95.8,M,5.2,N,9.6,K*5A $INMTW,18.0,C*1D $INDPT,2.0,0.0*45 $INRMC,194424,A,4426.1404,N,07140.1257,W,5.2,80.0,160906,15.8,W*65 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:44:24.000Z","ept":0.005,"lat":44.435673333,"lon":-71.668761667,"track":80.0000,"speed":2.675} $INDPT,2.1,0.0*44 $INGGA,194426,4426.1412,N,07140.1219,W,2,10,0.9,261.4,M,,,,*1E {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:44:26.000Z","ept":0.005,"lat":44.435686667,"lon":-71.668698333,"alt":261.400,"speed":2.628} $INZDA,194426,16,09,2006,-05,00*76 $INMTW,17.9,C*1B $INDPT,2.1,0.0*44 $INRMC,194426,A,4426.1412,N,07140.1219,W,5.2,79.4,160906,15.8,W*68 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:44:26.000Z","ept":0.005,"lat":44.435686667,"lon":-71.668698333,"alt":261.400,"track":79.4000,"speed":2.675,"climb":0.000} $INDPT,1.9,0.0*4F $INGLL,4426.1416,N,07140.1181,W,194428,A*27 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:44:28.000Z","ept":0.005,"lat":44.435693333,"lon":-71.668635000,"speed":2.548} $INVTG,78.2,T,93.9,M,5.2,N,9.7,K*59 $INMTW,17.9,C*1B $INDPT,1.9,0.0*4F $INRMC,194428,A,4426.1416,N,07140.1181,W,5.2,78.2,160906,15.8,W*67 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:44:28.000Z","ept":0.005,"lat":44.435693333,"lon":-71.668635000,"track":78.2000,"speed":2.675} $INDPT,1.9,0.0*4F $INGGA,194430,4426.1424,N,07140.1138,W,2,10,0.9,261.3,M,,,,*1B {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:44:30.000Z","ept":0.005,"lat":44.435706667,"lon":-71.668563333,"alt":261.300,"speed":2.948} $INZDA,194430,16,09,2006,-05,00*71 $INMTW,17.9,C*1B $INDPT,2.0,0.0*45 $INRMC,194430,A,4426.1424,N,07140.1138,W,5.2,78.4,160906,15.8,W*6B {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:44:30.000Z","ept":0.005,"lat":44.435706667,"lon":-71.668563333,"alt":261.300,"track":78.4000,"speed":2.675,"climb":0.000} $INDPT,2.0,0.0*45 $INGLL,4426.1431,N,07140.1101,W,194432,A*21 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:44:32.000Z","ept":0.005,"lat":44.435718333,"lon":-71.668501667,"speed":2.539} $INVTG,76.1,T,91.8,M,5.2,N,9.7,K*57 $INMTW,17.9,C*1B $INDPT,2.1,0.0*44 $INRMC,194432,A,4426.1431,N,07140.1101,W,5.2,76.1,160906,15.8,W*6C {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:44:32.000Z","ept":0.005,"lat":44.435718333,"lon":-71.668501667,"track":76.1000,"speed":2.675} $INDPT,2.1,0.0*44 $INGGA,194434,4426.1435,N,07140.1063,W,2,10,0.9,261.5,M,,,,*16 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:44:34.000Z","ept":0.005,"lat":44.435725000,"lon":-71.668438333,"alt":261.500,"speed":2.548} $INZDA,194434,16,09,2006,-05,00*75 $INMTW,17.9,C*1B $INDPT,2.2,0.0*47 $INRMC,194434,A,4426.1435,N,07140.1063,W,5.2,75.9,160906,15.8,W*60 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:44:34.000Z","ept":0.005,"lat":44.435725000,"lon":-71.668438333,"alt":261.500,"track":75.9000,"speed":2.675,"climb":0.000} $INDPT,2.1,0.0*44 $INGLL,4426.1443,N,07140.1020,W,194436,A*22 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:44:36.000Z","ept":0.005,"lat":44.435738333,"lon":-71.668366667,"speed":2.948} $INVTG,75.1,T,90.9,M,5.2,N,9.6,K*55 $INMTW,18.0,C*1D $INDPT,2.1,0.0*44 $INRMC,194436,A,4426.1443,N,07140.1020,W,5.2,75.1,160906,15.8,W*6C {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:44:36.000Z","ept":0.005,"lat":44.435738333,"lon":-71.668366667,"track":75.1000,"speed":2.675} $INDPT,2.1,0.0*44 $INGGA,194438,4426.1451,N,07140.0982,W,2,10,0.9,261.7,M,,,,*1D {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:44:38.000Z","ept":0.005,"lat":44.435751667,"lon":-71.668303333,"alt":261.700,"speed":2.628} $INZDA,194438,16,09,2006,-05,00*79 $INMTW,17.9,C*1B $INDPT,1.5,0.0*43 $INRMC,194438,A,4426.1451,N,07140.0982,W,5.1,74.2,160906,15.8,W*60 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:44:38.000Z","ept":0.005,"lat":44.435751667,"lon":-71.668303333,"alt":261.700,"track":74.2000,"speed":2.624,"climb":0.000} $INDPT,1.5,0.0*43 $INGLL,4426.1458,N,07140.0944,W,194440,A*23 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:44:40.000Z","ept":0.005,"lat":44.435763333,"lon":-71.668240000,"speed":2.603} $INVTG,73.9,T,89.7,M,5.1,N,9.5,K*5D $INMTW,17.9,C*1B $INDPT,1.5,0.0*43 $INRMC,194440,A,4426.1458,N,07140.0944,W,5.2,73.9,160906,15.8,W*63 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:44:40.000Z","ept":0.005,"lat":44.435763333,"lon":-71.668240000,"track":73.9000,"speed":2.675} $INDPT,1.5,0.0*43 $INGGA,194442,4426.1466,N,07140.0907,W,2,09,1.1,261.7,M,,,,*18 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:44:42.000Z","ept":0.005,"lat":44.435776667,"lon":-71.668178333,"alt":261.700,"speed":2.564} $INZDA,194442,16,09,2006,-05,00*74 $INMTW,17.9,C*1B $INDPT,1.5,0.0*43 $INRMC,194442,A,4426.1466,N,07140.0907,W,5.1,73.5,160906,15.8,W*64 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:44:42.000Z","ept":0.005,"lat":44.435776667,"lon":-71.668178333,"alt":261.700,"track":73.5000,"speed":2.624,"climb":0.000} $INDPT,1.5,0.0*43 $INGLL,4426.1474,N,07140.0869,W,194444,A*27 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:44:44.000Z","ept":0.005,"lat":44.435790000,"lon":-71.668115000,"speed":2.628} $INVTG,73.2,T,89.0,M,5.1,N,9.5,K*51 $INMTW,17.9,C*1B $INDPT,1.6,0.0*40 $INRMC,194444,A,4426.1474,N,07140.0869,W,5.1,73.2,160906,15.8,W*6F {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:44:44.000Z","ept":0.005,"lat":44.435790000,"lon":-71.668115000,"track":73.2000,"speed":2.624} $INDPT,1.7,0.0*41 $INGGA,194446,4426.1482,N,07140.0831,W,2,10,1.1,261.8,M,,,,*15 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:44:46.000Z","ept":0.005,"lat":44.435803333,"lon":-71.668051667,"alt":261.800,"speed":2.628} $INZDA,194446,16,09,2006,-05,00*70 $INMTW,17.8,C*1A $INDPT,1.6,0.0*40 $INRMC,194446,A,4426.1482,N,07140.0831,W,5.1,71.7,160906,15.8,W*6E {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:44:46.000Z","ept":0.005,"lat":44.435803333,"lon":-71.668051667,"alt":261.800,"track":71.7000,"speed":2.624,"climb":0.000} $INDPT,1.7,0.0*41 $INGLL,4426.1493,N,07140.0793,W,194448,A*28 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:44:48.000Z","ept":0.005,"lat":44.435821667,"lon":-71.667988333,"speed":2.719} $INVTG,72.0,T,87.8,M,5.1,N,9.5,K*54 $INMTW,17.9,C*1B $INDPT,1.8,0.0*4E $INRMC,194448,A,4426.1493,N,07140.0793,W,5.2,72.0,160906,15.8,W*60 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:44:48.000Z","ept":0.005,"lat":44.435821667,"lon":-71.667988333,"track":72.0000,"speed":2.675} $INDPT,1.8,0.0*4E $INGGA,194450,4426.1501,N,07140.0756,W,2,10,1.1,261.9,M,,,,*17 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:44:50.000Z","ept":0.005,"lat":44.435835000,"lon":-71.667926667,"alt":261.900,"speed":2.564} $INZDA,194450,16,09,2006,-05,00*77 $INMTW,17.9,C*1B $INDPT,1.9,0.0*4F $INRMC,194450,A,4426.1501,N,07140.0756,W,5.2,70.4,160906,15.8,W*6C {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:44:50.000Z","ept":0.005,"lat":44.435835000,"lon":-71.667926667,"alt":261.900,"track":70.4000,"speed":2.675,"climb":0.000} $INDPT,1.8,0.0*4E $INGLL,4426.1512,N,07140.0718,W,194452,A*28 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:44:52.000Z","ept":0.005,"lat":44.435853333,"lon":-71.667863333,"speed":2.719} $INVTG,70.7,T,86.5,M,5.2,N,9.6,K*5D $INMTW,17.9,C*1B $INDPT,1.9,0.0*4F $INRMC,194452,A,4426.1512,N,07140.0718,W,5.2,70.7,160906,15.8,W*65 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:44:52.000Z","ept":0.005,"lat":44.435853333,"lon":-71.667863333,"track":70.7000,"speed":2.675} $INDPT,1.8,0.0*4E $INGGA,194454,4426.1520,N,07140.0680,W,2,11,0.9,261.9,M,,,,*12 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:44:54.000Z","ept":0.005,"lat":44.435866667,"lon":-71.667800000,"alt":261.900,"speed":2.628} $INZDA,194454,16,09,2006,-05,00*73 $INMTW,17.9,C*1B $INDPT,1.9,0.0*4F $INRMC,194454,A,4426.1520,N,07140.0680,W,5.3,69.4,160906,15.8,W*68 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:44:54.000Z","ept":0.005,"lat":44.435866667,"lon":-71.667800000,"alt":261.900,"track":69.4000,"speed":2.727,"climb":0.000} $INDPT,2.0,0.0*45 $INGLL,4426.1532,N,07140.0642,W,194456,A*20 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:44:56.000Z","ept":0.005,"lat":44.435886667,"lon":-71.667736667,"speed":2.755} $INVTG,68.7,T,84.5,M,5.3,N,9.7,K*56 $INMTW,17.9,C*1B $INDPT,1.9,0.0*4F $INRMC,194456,A,4426.1532,N,07140.0642,W,5.2,68.7,160906,15.8,W*64 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:44:56.000Z","ept":0.005,"lat":44.435886667,"lon":-71.667736667,"track":68.7000,"speed":2.675} $INDPT,1.8,0.0*4E $INGGA,194458,4426.1543,N,07140.0605,W,2,10,1.1,262.0,M,,,,*14 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:44:58.000Z","ept":0.005,"lat":44.435905000,"lon":-71.667675000,"alt":262.000,"speed":2.658} $INZDA,194458,16,09,2006,-05,00*7F $INMTW,17.9,C*1B $INDPT,1.8,0.0*4E $INRMC,194458,A,4426.1543,N,07140.0605,W,5.3,68.4,160906,15.8,W*6D {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:44:58.000Z","ept":0.005,"lat":44.435905000,"lon":-71.667675000,"alt":262.000,"track":68.4000,"speed":2.727,"climb":0.000} $INDPT,1.9,0.0*4F $INGLL,4426.1555,N,07140.0567,W,194500,A*27 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:45:00.000Z","ept":0.005,"lat":44.435925000,"lon":-71.667611667,"speed":2.755} $INVTG,67.8,T,83.6,M,5.3,N,9.8,K*5D $INMTW,17.9,C*1B $INDPT,1.9,0.0*4F $INRMC,194500,A,4426.1555,N,07140.0567,W,5.2,67.8,160906,15.8,W*63 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:00.000Z","ept":0.005,"lat":44.435925000,"lon":-71.667611667,"track":67.8000,"speed":2.675} $INDPT,1.9,0.0*4F $INGGA,194502,4426.1563,N,07140.0529,W,2,10,1.1,262.0,M,,,,*15 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:45:02.000Z","ept":0.005,"lat":44.435938333,"lon":-71.667548333,"alt":262.000,"speed":2.628} $INZDA,194502,16,09,2006,-05,00*71 $INMTW,17.8,C*1A $INDPT,1.9,0.0*4F $INRMC,194502,A,4426.1563,N,07140.0529,W,5.2,68.6,160906,15.8,W*6F {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:45:02.000Z","ept":0.005,"lat":44.435938333,"lon":-71.667548333,"alt":262.000,"track":68.6000,"speed":2.675,"climb":0.000} $INDPT,1.9,0.0*4F $INGLL,4426.1574,N,07140.0492,W,194504,A*2B {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:45:04.000Z","ept":0.005,"lat":44.435956667,"lon":-71.667486667,"speed":2.658} $INVTG,67.6,T,83.4,M,5.2,N,9.7,K*5F $INMTW,17.8,C*1A $INDPT,1.9,0.0*4F $INRMC,194504,A,4426.1574,N,07140.0492,W,5.2,67.6,160906,15.8,W*61 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:04.000Z","ept":0.005,"lat":44.435956667,"lon":-71.667486667,"track":67.6000,"speed":2.675} $INDPT,1.8,0.0*4E $INGGA,194506,4426.1586,N,07140.0454,W,2,10,1.1,261.9,M,,,,*1B {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:45:06.000Z","ept":0.005,"lat":44.435976667,"lon":-71.667423333,"alt":261.900,"speed":2.755} $INZDA,194506,16,09,2006,-05,00*75 $INMTW,17.7,C*15 $INDPT,1.8,0.0*4E $INRMC,194506,A,4426.1586,N,07140.0454,W,5.3,68.6,160906,15.8,W*6A {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:45:06.000Z","ept":0.005,"lat":44.435976667,"lon":-71.667423333,"alt":261.900,"track":68.6000,"speed":2.727,"climb":0.000} $INDPT,1.8,0.0*4E $INGLL,4426.1597,N,07140.0416,W,194508,A*26 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:45:08.000Z","ept":0.005,"lat":44.435995000,"lon":-71.667360000,"speed":2.719} $INVTG,68.2,T,84.0,M,5.3,N,9.7,K*56 $INMTW,17.8,C*1A $INDPT,1.9,0.0*4F $INRMC,194508,A,4426.1597,N,07140.0416,W,5.2,68.2,160906,15.8,W*67 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:08.000Z","ept":0.005,"lat":44.435995000,"lon":-71.667360000,"track":68.2000,"speed":2.675} $INDPT,1.9,0.0*4F $INGGA,194510,4426.1609,N,07140.0378,W,2,10,1.1,262.0,M,,,,*1B {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:45:10.000Z","ept":0.005,"lat":44.436015000,"lon":-71.667296667,"alt":262.000,"speed":2.755} $INZDA,194510,16,09,2006,-05,00*72 $INMTW,17.9,C*1B $INDPT,1.6,0.0*40 $INRMC,194510,A,4426.1609,N,07140.0378,W,5.2,68.1,160906,15.8,W*66 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:45:10.000Z","ept":0.005,"lat":44.436015000,"lon":-71.667296667,"alt":262.000,"track":68.1000,"speed":2.675,"climb":0.000} $INDPT,1.6,0.0*40 $INGLL,4426.1617,N,07140.0341,W,194512,A*23 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:45:12.000Z","ept":0.005,"lat":44.436028333,"lon":-71.667235000,"speed":2.564} $INVTG,68.0,T,83.8,M,5.2,N,9.7,K*5A $INMTW,17.8,C*1A $INDPT,1.7,0.0*41 $INRMC,194512,A,4426.1617,N,07140.0341,W,5.2,68.0,160906,15.8,W*60 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:12.000Z","ept":0.005,"lat":44.436028333,"lon":-71.667235000,"track":68.0000,"speed":2.675} $INDPT,1.7,0.0*41 $INGGA,194514,4426.1628,N,07140.0303,W,2,10,1.1,262.0,M,,,,*10 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:45:14.000Z","ept":0.005,"lat":44.436046667,"lon":-71.667171667,"alt":262.000,"speed":2.719} $INZDA,194514,16,09,2006,-05,00*76 $INMTW,17.8,C*1A $INDPT,1.8,0.0*4E $INRMC,194514,A,4426.1628,N,07140.0303,W,5.2,67.6,160906,15.8,W*65 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-09-16T19:45:14.000Z","ept":0.005,"lat":44.436046667,"lon":-71.667171667,"alt":262.000,"track":67.6000,"speed":2.675,"climb":0.000} $INDPT,1.9,0.0*4F $INGLL,4426.1636,N,07140.0281,W,194515,A*2A {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:45:15.000Z","ept":0.005,"lat":44.436060000,"lon":-71.667135000,"speed":3.274} $INVTG,67.5,T,83.3,M,5.2,N,9.6,K*5A $INMTW,17.9,C*1B $INDPT,1.6,0.0*40 $INRMC,194516,A,4426.1640,N,07140.0265,W,5.2,68.1,160906,15.8,W*60 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:16.000Z","ept":0.005,"lat":44.436066667,"lon":-71.667108333,"track":68.1000,"speed":2.675} $INDPT,1.6,0.0*40 $INGGA,194517,4426.1644,N,07140.0244,W,2,10,1.1,262.0,M,,,,*1B {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:45:17.000Z","ept":0.005,"lat":44.436073333,"lon":-71.667073333,"alt":262.000,"speed":2.883} $INZDA,194517,16,09,2006,-05,00*75 $INMTW,17.7,C*15 $INDPT,1.6,0.0*40 $INRMC,194518,A,4426.1651,N,07140.0227,W,5.2,69.2,160906,15.8,W*6A {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:18.000Z","ept":0.005,"lat":44.436085000,"lon":-71.667045000,"track":69.2000,"speed":2.675} $INDPT,1.6,0.0*40 $INGLL,4426.1655,N,07140.0206,W,194519,A*2C {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:45:19.000Z","ept":0.005,"lat":44.436091667,"lon":-71.667010000,"speed":2.883} $INVTG,69.0,T,84.8,M,5.2,N,9.7,K*5C $INMTW,17.9,C*1B $INDPT,1.7,0.0*41 $INRMC,194520,A,4426.1663,N,07140.0190,W,5.2,68.6,160906,15.8,W*6A {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:20.000Z","ept":0.005,"lat":44.436105000,"lon":-71.666983333,"track":68.6000,"speed":2.675} $INDPT,1.7,0.0*41 $INGGA,194521,4426.1667,N,07140.0168,W,2,10,1.1,261.9,M,,,,*18 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:45:21.000Z","ept":0.005,"lat":44.436111667,"lon":-71.666946667,"alt":261.900,"speed":3.012} $INZDA,194521,16,09,2006,-05,00*70 $INMTW,17.9,C*1B $INDPT,1.8,0.0*4E $INRMC,194522,A,4426.1671,N,07140.0152,W,5.2,69.5,160906,15.8,W*67 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:22.000Z","ept":0.005,"lat":44.436118333,"lon":-71.666920000,"track":69.5000,"speed":2.675} $INDPT,1.6,0.0*40 $INGLL,4426.1678,N,07140.0136,W,194523,A*2A {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:45:23.000Z","ept":0.005,"lat":44.436130000,"lon":-71.666893333,"speed":2.488} $INVTG,69.4,T,85.2,M,5.2,N,9.6,K*52 $INMTW,17.9,C*1B $INDPT,1.5,0.0*43 $INRMC,194524,A,4426.1682,N,07140.0114,W,5.2,68.7,160906,15.8,W*6C {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:24.000Z","ept":0.005,"lat":44.436136667,"lon":-71.666856667,"track":68.7000,"speed":2.675} $INDPT,1.6,0.0*40 $INGGA,194525,4426.1686,N,07140.0098,W,2,10,1.1,261.8,M,,,,*1C {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:45:25.000Z","ept":0.005,"lat":44.436143333,"lon":-71.666830000,"alt":261.800,"speed":2.249} $INZDA,194525,16,09,2006,-05,00*74 $INMTW,17.9,C*1B $INDPT,1.7,0.0*41 $INRMC,194526,A,4426.1694,N,07140.0077,W,5.1,69.4,160906,15.8,W*6C {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:26.000Z","ept":0.005,"lat":44.436156667,"lon":-71.666795000,"track":69.4000,"speed":2.624} $INDPT,1.9,0.0*4F $INGLL,4426.1698,N,07140.0060,W,194527,A*22 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:45:27.000Z","ept":0.005,"lat":44.436163333,"lon":-71.666766667,"speed":2.374} $INVTG,70.2,T,86.0,M,5.1,N,9.5,K*5D $INMTW,17.8,C*1A $INDPT,1.9,0.0*4F $INRMC,194528,A,4426.1702,N,07140.0039,W,5.2,70.5,160906,15.8,W*6C {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:28.000Z","ept":0.005,"lat":44.436170000,"lon":-71.666731667,"track":70.5000,"speed":2.675} $INDPT,1.4,0.0*42 $INGGA,194529,4426.1705,N,07140.0023,W,2,11,0.9,261.8,M,,,,*12 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:45:29.000Z","ept":0.005,"lat":44.436175000,"lon":-71.666705000,"alt":261.800,"speed":2.195} $INZDA,194529,16,09,2006,-05,00*78 $INMTW,17.8,C*1A $INDPT,1.3,0.0*45 $INRMC,194530,A,4426.1713,N,07140.0001,W,5.2,69.8,160906,15.8,W*6B {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:30.000Z","ept":0.005,"lat":44.436188333,"lon":-71.666668333,"track":69.8000,"speed":2.675} $INDPT,1.3,0.0*45 $INGLL,4426.1717,N,07139.9985,W,194531,A*26 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:45:31.000Z","ept":0.005,"lat":44.436195000,"lon":-71.666641667,"speed":2.249} $INVTG,70.1,T,85.8,M,5.2,N,9.6,K*55 $INMTW,17.6,C*14 $INDPT,1.4,0.0*42 $INRMC,194532,A,4426.1721,N,07139.9963,W,5.1,71.0,160906,15.8,W*60 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:32.000Z","ept":0.005,"lat":44.436201667,"lon":-71.666605000,"track":71.0000,"speed":2.624} $INDPT,1.4,0.0*42 $INGGA,194533,4426.1725,N,07139.9947,W,2,11,0.9,261.6,M,,,,*19 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:45:33.000Z","ept":0.005,"lat":44.436208333,"lon":-71.666578333,"alt":261.600,"speed":2.249} $INZDA,194533,16,09,2006,-05,00*73 $INMTW,17.6,C*14 $INDPT,1.4,0.0*42 $INRMC,194534,A,4426.1729,N,07139.9926,W,5.1,71.6,160906,15.8,W*69 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:34.000Z","ept":0.005,"lat":44.436215000,"lon":-71.666543333,"track":71.6000,"speed":2.624} $INDPT,1.5,0.0*43 $INGLL,4426.1736,N,07139.9909,W,194535,A*25 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:45:35.000Z","ept":0.005,"lat":44.436226667,"lon":-71.666515000,"speed":2.602} $INVTG,71.0,T,86.8,M,5.1,N,9.5,K*56 $INMTW,17.6,C*14 $INDPT,1.5,0.0*43 $INRMC,194536,A,4426.1740,N,07139.9888,W,5.1,70.9,160906,15.8,W*6F {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:36.000Z","ept":0.005,"lat":44.436233333,"lon":-71.666480000,"track":70.9000,"speed":2.624} $INDPT,1.5,0.0*43 $INGGA,194537,4426.1744,N,07139.9872,W,2,11,0.9,261.6,M,,,,*1D {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:45:37.000Z","ept":0.005,"lat":44.436240000,"lon":-71.666453333,"alt":261.600,"speed":2.249} $INZDA,194537,16,09,2006,-05,00*77 $INMTW,17.6,C*14 $INDPT,1.6,0.0*40 $INRMC,194538,A,4426.1748,N,07139.9850,W,5.2,73.3,160906,15.8,W*66 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:38.000Z","ept":0.005,"lat":44.436246667,"lon":-71.666416667,"track":73.3000,"speed":2.675} $INDPT,1.8,0.0*4E $INGLL,4426.1752,N,07139.9834,W,194539,A*24 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:45:39.000Z","ept":0.005,"lat":44.436253333,"lon":-71.666390000,"speed":2.249} $INVTG,71.8,T,87.6,M,5.2,N,9.7,K*50 $INMTW,17.5,C*17 $INDPT,1.9,0.0*4F $INRMC,194540,A,4426.1756,N,07139.9812,W,5.3,69.1,160906,15.8,W*68 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:40.000Z","ept":0.005,"lat":44.436260000,"lon":-71.666353333,"track":69.1000,"speed":2.727} $INDPT,1.9,0.0*4F $INGGA,194541,4426.1763,N,07139.9796,W,2,11,0.9,261.5,M,,,,*1F {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:45:41.000Z","ept":0.005,"lat":44.436271667,"lon":-71.666326667,"alt":261.500,"speed":2.488} $INZDA,194541,16,09,2006,-05,00*76 $INMTW,17.6,C*14 $INDPT,1.4,0.0*42 $INRMC,194542,A,4426.1767,N,07139.9775,W,5.2,67.7,160906,15.8,W*6F {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:42.000Z","ept":0.005,"lat":44.436278333,"lon":-71.666291667,"track":67.7000,"speed":2.675} $INDPT,1.5,0.0*43 $INGLL,4426.1775,N,07139.9759,W,194543,A*28 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:45:43.000Z","ept":0.005,"lat":44.436291667,"lon":-71.666265000,"speed":2.589} $INVTG,67.9,T,83.7,M,5.2,N,9.6,K*52 $INMTW,17.5,C*17 $INDPT,1.6,0.0*40 $INRMC,194544,A,4426.1779,N,07139.9737,W,5.2,67.3,160906,15.8,W*64 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:44.000Z","ept":0.005,"lat":44.436298333,"lon":-71.666228333,"track":67.3000,"speed":2.675} $INDPT,1.7,0.0*41 $INGGA,194545,4426.1787,N,07139.9721,W,2,11,0.9,261.3,M,,,,*1B {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:45:45.000Z","ept":0.005,"lat":44.436311667,"lon":-71.666201667,"alt":261.300,"speed":2.589} $INZDA,194545,16,09,2006,-05,00*72 $INMTW,17.5,C*17 $INDPT,1.7,0.0*41 $INRMC,194546,A,4426.1790,N,07139.9705,W,5.1,65.9,160906,15.8,W*6B {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:46.000Z","ept":0.005,"lat":44.436316667,"lon":-71.666175000,"track":65.9000,"speed":2.624} $INDPT,1.7,0.0*41 $INGLL,4426.1798,N,07139.9683,W,194547,A*29 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:45:47.000Z","ept":0.005,"lat":44.436330000,"lon":-71.666138333,"speed":3.274} $INVTG,65.6,T,81.4,M,5.1,N,9.5,K*5E $INMTW,17.5,C*17 $INDPT,1.8,0.0*4E $INRMC,194548,A,4426.1802,N,07139.9667,W,5.2,64.8,160906,15.8,W*67 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:48.000Z","ept":0.005,"lat":44.436336667,"lon":-71.666111667,"track":64.8000,"speed":2.675} $INDPT,1.9,0.0*4F $INGGA,194549,4426.1810,N,07139.9651,W,2,11,0.9,261.3,M,,,,*10 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:45:49.000Z","ept":0.005,"lat":44.436350000,"lon":-71.666085000,"alt":261.300,"speed":2.589} $INZDA,194549,16,09,2006,-05,00*7E $INMTW,17.5,C*17 $INDPT,1.7,0.0*41 $INRMC,194550,A,4426.1817,N,07139.9629,W,5.2,63.6,160906,15.8,W*69 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:50.000Z","ept":0.005,"lat":44.436361667,"lon":-71.666048333,"track":63.6000,"speed":2.675} $INDPT,1.7,0.0*41 $INGLL,4426.1825,N,07139.9613,W,194551,A*2E {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:45:51.000Z","ept":0.005,"lat":44.436375000,"lon":-71.666021667,"speed":2.589} $INVTG,63.3,T,79.1,M,5.2,N,9.7,K*5E $INMTW,17.5,C*17 $INDPT,1.6,0.0*40 $INRMC,194552,A,4426.1829,N,07139.9597,W,5.2,62.8,160906,15.8,W*6F {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:52.000Z","ept":0.005,"lat":44.436381667,"lon":-71.665995000,"track":62.8000,"speed":2.675} $INDPT,1.6,0.0*40 $INGGA,194553,4426.1837,N,07139.9575,W,2,11,0.9,261.2,M,,,,*1A {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:45:53.000Z","ept":0.005,"lat":44.436395000,"lon":-71.665958333,"alt":261.200,"speed":3.274} $INZDA,194553,16,09,2006,-05,00*75 $INMTW,17.5,C*17 $INDPT,1.7,0.0*41 $INRMC,194554,A,4426.1844,N,07139.9559,W,5.2,61.3,160906,15.8,W*68 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:54.000Z","ept":0.005,"lat":44.436406667,"lon":-71.665931667,"track":61.3000,"speed":2.675} $INDPT,1.8,0.0*4E $INGLL,4426.1852,N,07139.9543,W,194555,A*2C {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:45:55.000Z","ept":0.005,"lat":44.436420000,"lon":-71.665905000,"speed":2.589} $INVTG,61.6,T,77.4,M,5.1,N,9.5,K*53 $INMTW,17.4,C*16 $INDPT,1.8,0.0*4E $INRMC,194556,A,4426.1860,N,07139.9527,W,5.1,62.3,160906,15.8,W*65 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:56.000Z","ept":0.005,"lat":44.436433333,"lon":-71.665878333,"track":62.3000,"speed":2.624} $INDPT,1.9,0.0*4F $INGGA,194557,4426.1864,N,07139.9505,W,2,11,0.9,261.1,M,,,,*1C {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:45:57.000Z","ept":0.005,"lat":44.436440000,"lon":-71.665841667,"alt":261.100,"speed":3.012} $INZDA,194557,16,09,2006,-05,00*71 $INMTW,17.5,C*17 $INDPT,2.0,0.0*45 $INRMC,194558,A,4426.1872,N,07139.9489,W,5.2,62.5,160906,15.8,W*68 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:45:58.000Z","ept":0.005,"lat":44.436453333,"lon":-71.665815000,"track":62.5000,"speed":2.675} $INDPT,2.0,0.0*45 $INGLL,4426.1879,N,07139.9473,W,194559,A*2B {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:45:59.000Z","ept":0.005,"lat":44.436465000,"lon":-71.665788333,"speed":2.488} $INVTG,61.9,T,77.7,M,5.2,N,9.7,K*5E $INMTW,17.6,C*14 $INDPT,1.6,0.0*40 $INRMC,194600,A,4426.1887,N,07139.9451,W,5.2,61.4,160906,15.8,W*6B {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:46:00.000Z","ept":0.005,"lat":44.436478333,"lon":-71.665751667,"track":61.4000,"speed":2.675} $INDPT,1.6,0.0*40 $INGGA,194601,4426.1895,N,07139.9435,W,2,11,0.9,261.1,M,,,,*10 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:46:01.000Z","ept":0.005,"lat":44.436491667,"lon":-71.665725000,"alt":261.100,"speed":2.589} $INZDA,194601,16,09,2006,-05,00*71 $INMTW,17.5,C*17 $INDPT,1.7,0.0*41 $INRMC,194602,A,4426.1899,N,07139.9419,W,5.2,62.4,160906,15.8,W*69 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:46:02.000Z","ept":0.005,"lat":44.436498333,"lon":-71.665698333,"track":62.4000,"speed":2.675} $INDPT,1.6,0.0*40 $INGLL,4426.1906,N,07139.9403,W,194603,A*29 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:46:03.000Z","ept":0.005,"lat":44.436510000,"lon":-71.665671667,"speed":2.488} $INVTG,62.3,T,78.1,M,5.1,N,9.5,K*5F $INMTW,17.5,C*17 $INDPT,1.6,0.0*40 $INRMC,194604,A,4426.1914,N,07139.9387,W,5.1,61.9,160906,15.8,W*66 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:46:04.000Z","ept":0.005,"lat":44.436523333,"lon":-71.665645000,"track":61.9000,"speed":2.624} $INDPT,1.6,0.0*40 $INGGA,194605,4426.1922,N,07139.9365,W,2,11,0.9,261.0,M,,,,*1A {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:46:05.000Z","ept":0.005,"lat":44.436536667,"lon":-71.665608333,"alt":261.000,"speed":3.274} $INZDA,194605,16,09,2006,-05,00*75 $INMTW,17.6,C*14 $INDPT,1.7,0.0*41 $INRMC,194606,A,4426.1926,N,07139.9349,W,5.1,62.0,160906,15.8,W*6D {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:46:06.000Z","ept":0.005,"lat":44.436543333,"lon":-71.665581667,"track":62.0000,"speed":2.624} $INDPT,1.7,0.0*41 $INGLL,4426.1933,N,07139.9333,W,194607,A*2F {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:46:07.000Z","ept":0.005,"lat":44.436555000,"lon":-71.665555000,"speed":2.488} $INVTG,62.6,T,78.4,M,5.1,N,9.5,K*5F $INMTW,17.6,C*14 $INDPT,1.7,0.0*41 $INRMC,194608,A,4426.1941,N,07139.9311,W,5.2,62.6,160906,15.8,W*6A {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:46:08.000Z","ept":0.005,"lat":44.436568333,"lon":-71.665518333,"track":62.6000,"speed":2.675} $INDPT,1.7,0.0*41 $INGGA,194609,4426.1949,N,07139.9295,W,2,11,0.9,260.9,M,,,,*1D {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:46:09.000Z","ept":0.005,"lat":44.436581667,"lon":-71.665491667,"alt":260.900,"speed":2.589} $INZDA,194609,16,09,2006,-05,00*79 $INMTW,17.5,C*17 $INDPT,1.8,0.0*4E $INRMC,194610,A,4426.1953,N,07139.9279,W,5.1,62.0,160906,15.8,W*6A {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:46:10.000Z","ept":0.005,"lat":44.436588333,"lon":-71.665465000,"track":62.0000,"speed":2.624} $INDPT,1.8,0.0*4E $INGLL,4426.1960,N,07139.9263,W,194611,A*2A {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:46:11.000Z","ept":0.005,"lat":44.436600000,"lon":-71.665438333,"speed":2.488} $INVTG,62.3,T,78.1,M,5.1,N,9.5,K*5F $INMTW,17.4,C*16 $INDPT,1.9,0.0*4F $INRMC,194612,A,4426.1968,N,07139.9241,W,5.1,62.3,160906,15.8,W*68 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:46:12.000Z","ept":0.005,"lat":44.436613333,"lon":-71.665401667,"track":62.3000,"speed":2.624} $INDPT,1.8,0.0*4E $INGGA,194613,4426.1976,N,07139.9225,W,2,11,0.9,260.9,M,,,,*11 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:46:13.000Z","ept":0.005,"lat":44.436626667,"lon":-71.665375000,"alt":260.900,"speed":2.589} $INZDA,194613,16,09,2006,-05,00*72 $INMTW,17.4,C*16 $INDPT,1.9,0.0*4F $INRMC,194614,A,4426.1980,N,07139.9209,W,5.2,63.0,160906,15.8,W*65 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:46:14.000Z","ept":0.005,"lat":44.436633333,"lon":-71.665348333,"track":63.0000,"speed":2.675} $INDPT,2.0,0.0*45 $INGLL,4426.1987,N,07139.9187,W,194615,A*2E {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:46:15.000Z","ept":0.005,"lat":44.436645000,"lon":-71.665311667,"speed":3.194} $INVTG,63.2,T,79.0,M,5.2,N,9.6,K*5F $INMTW,17.4,C*16 $INDPT,1.6,0.0*40 $INRMC,194616,A,4426.1995,N,07139.9171,W,5.1,63.3,160906,15.8,W*6F {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:46:16.000Z","ept":0.005,"lat":44.436658333,"lon":-71.665285000,"track":63.3000,"speed":2.624} $INDPT,1.7,0.0*41 $INGGA,194617,4426.1999,N,07139.9155,W,2,11,0.9,260.8,M,,,,*11 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:46:17.000Z","ept":0.005,"lat":44.436665000,"lon":-71.665258333,"alt":260.800,"speed":2.249} $INZDA,194617,16,09,2006,-05,00*76 $INMTW,17.4,C*16 $INDPT,1.8,0.0*4E $INRMC,194618,A,4426.2007,N,07139.9139,W,5.2,62.6,160906,15.8,W*6B {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:46:18.000Z","ept":0.005,"lat":44.436678333,"lon":-71.665231667,"track":62.6000,"speed":2.675} $INDPT,1.9,0.0*4F $INGLL,4426.2014,N,07139.9117,W,194619,A*2B {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:46:19.000Z","ept":0.005,"lat":44.436690000,"lon":-71.665195000,"speed":3.194} $INVTG,63.1,T,78.9,M,5.1,N,9.5,K*54 $INMTW,17.2,C*10 $INDPT,1.6,0.0*40 $INRMC,194620,A,4426.2018,N,07139.9101,W,5.1,62.8,160906,15.8,W*68 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:46:20.000Z","ept":0.005,"lat":44.436696667,"lon":-71.665168333,"track":62.8000,"speed":2.624} $INDPT,1.7,0.0*41 $INGGA,194621,4426.2026,N,07139.9085,W,2,11,0.9,260.8,M,,,,*16 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:46:21.000Z","ept":0.005,"lat":44.436710000,"lon":-71.665141667,"alt":260.800,"speed":2.589} $INZDA,194621,16,09,2006,-05,00*73 $INMTW,17.4,C*16 $INDPT,1.8,0.0*4E $INRMC,194622,A,4426.2034,N,07139.9063,W,5.2,62.6,160906,15.8,W*6C {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:46:22.000Z","ept":0.005,"lat":44.436723333,"lon":-71.665105000,"track":62.6000,"speed":2.675} $INDPT,1.9,0.0*4F $INGLL,4426.2038,N,07139.9047,W,194623,A*28 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:46:23.000Z","ept":0.005,"lat":44.436730000,"lon":-71.665078333,"speed":2.249} $INVTG,62.5,T,78.2,M,5.2,N,9.6,K*5A $INMTW,17.4,C*16 $INDPT,1.7,0.0*41 $INRMC,194624,A,4426.2045,N,07139.9031,W,5.2,62.5,160906,15.8,W*68 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:46:24.000Z","ept":0.005,"lat":44.436741667,"lon":-71.665051667,"track":62.5000,"speed":2.675} $INDPT,1.6,0.0*40 $INGGA,194625,4426.2053,N,07139.9009,W,2,11,0.9,260.8,M,,,,*14 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:46:25.000Z","ept":0.005,"lat":44.436755000,"lon":-71.665015000,"alt":260.800,"speed":3.274} $INZDA,194625,16,09,2006,-05,00*77 $INMTW,17.4,C*16 $INDPT,1.7,0.0*41 $INRMC,194626,A,4426.2061,N,07139.8993,W,5.1,61.5,160906,15.8,W*6C {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:46:26.000Z","ept":0.005,"lat":44.436768333,"lon":-71.664988333,"track":61.5000,"speed":2.624} $INDPT,1.7,0.0*41 $INGLL,4426.2068,N,07139.8977,W,194627,A*22 {"class":"TPV","tag":"GLL","mode":2,"time":"2006-09-16T19:46:27.000Z","ept":0.005,"lat":44.436780000,"lon":-71.664961667,"speed":2.488} $INVTG,61.6,T,77.4,M,5.2,N,9.6,K*53 $INMTW,17.4,C*16 $INDPT,1.7,0.0*41 $INRMC,194628,A,4426.2072,N,07139.8961,W,5.1,62.2,160906,15.8,W*69 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:46:28.000Z","ept":0.005,"lat":44.436786667,"lon":-71.664935000,"track":62.2000,"speed":2.624} $INDPT,1.7,0.0*41 $INGGA,194629,4426.2080,N,07139.8945,W,2,11,0.9,260.5,M,,,,*1B {"class":"TPV","tag":"GGA","mode":3,"time":"2006-09-16T19:46:29.000Z","ept":0.005,"lat":44.436800000,"lon":-71.664908333,"alt":260.500,"speed":2.589} $INZDA,194629,16,09,2006,-05,00*7B $INMTW,17.3,C*11 $INDPT,1.9,0.0*4F $INRMC,194630,A,4426.2088,N,07139.8923,W,5.2,62.2,160906,15.8,W*60 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-09-16T19:46:30.000Z","ept":0.005,"lat":44.436813333,"lon":-71.664871667,"track":62.2000,"speed":2.675} $INDPT,1.9,0.0*4F gpsd-3.9/test/daemon/iTrek.log0000664000175000017500000001540111762140437014501 0ustar esresr# Name: i.Trek M3 # Submitter: "Lance Fetters" # Date: 2005-07-27 # Location: Anpachi, Gifu, JP, 35N136E # Note that this log file is a combination of two separate logs, # one captured without a fix (first three lines) and one with. # This GPS emuits a badly malformed GSA when it has no fix, as # you can see on the first two lines. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPRMC,151605.053,V,,,,,,,260705,,*29 $GPRMC,151606.055,V,,,,,,,260705,,*2C $GPGSA,A,1,,,,*32 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045849.000,A,3519.9048,N,13640.2631,E,0.10,92.17,270705,,*31 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045850.000,A,3519.9047,N,13640.2631,E,0.11,99.12,270705,,*39 $GPGGA,045851.000,3519.9046,N,13640.2631,E,1,04,2.2,80.4,M,,,,0000*39 $GPRMC,045851.000,A,3519.9046,N,13640.2631,E,0.12,114.35,270705,,*0B $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPGSV,2,2,08,22,62,272,24,18,55,192,16,30,50,179,18,15,09,229,*74 $GPRMC,045852.000,A,3519.9046,N,13640.2632,E,0.10,104.21,270705,,*0D $GPGGA,045853.000,3519.9045,N,13640.2632,E,1,04,2.2,80.4,M,,,,0000*3B $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045853.000,A,3519.9045,N,13640.2632,E,0.11,97.51,270705,,*32 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045854.000,A,3519.9044,N,13640.2632,E,0.12,108.39,270705,,*0E $GPGGA,045855.000,3519.9043,N,13640.2632,E,1,04,2.2,80.4,M,,,,0000*3B $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045855.000,A,3519.9043,N,13640.2632,E,0.11,99.16,270705,,*3F $GPGGA,045856.000,3519.9042,N,13640.2632,E,1,04,2.2,80.4,M,,,,0000*39 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045856.000,A,3519.9042,N,13640.2632,E,0.11,115.12,270705,,*0C $GPGGA,045857.000,3519.9040,N,13640.2632,E,1,04,2.2,80.5,M,,,,0000*3B $GPGSV,2,1,08,05,67,099,26,09,41,047,46,14,32,311,43,26,08,109,30*78 $GPGSV,2,2,08,22,62,272,25,18,55,192,24,30,50,179,19,15,09,229,*75 $GPRMC,045857.000,A,3519.9040,N,13640.2632,E,0.11,116.49,270705,,*02 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045858.000,A,3519.9039,N,13640.2632,E,0.11,115.53,270705,,*0B $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045859.000,A,3519.9038,N,13640.2632,E,0.10,107.70,270705,,*08 $GPGGA,045900.000,3519.9036,N,13640.2632,E,1,04,2.2,80.8,M,,,,0000*34 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045900.000,A,3519.9036,N,13640.2632,E,0.12,130.75,270705,,*08 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045901.000,A,3519.9035,N,13640.2632,E,0.11,121.44,270705,,*0B $GPGGA,045902.000,3519.9034,N,13640.2633,E,1,04,2.2,81.0,M,,,,0000*3C $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPGSV,2,1,08,05,67,099,26,09,41,047,46,14,32,311,42,26,08,109,29*71 $GPGSV,2,2,08,22,62,272,24,18,55,192,24,30,50,179,25,15,09,229,23*7A $GPRMC,045902.000,A,3519.9034,N,13640.2633,E,0.13,137.85,270705,,*00 $GPGGA,045903.000,3519.9032,N,13640.2633,E,1,04,2.2,81.1,M,,,,0000*3A $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045903.000,A,3519.9032,N,13640.2633,E,0.15,142.32,270705,,*0F $GPGGA,045904.000,3519.9030,N,13640.2633,E,1,04,2.2,80.8,M,,,,0000*37 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045904.000,A,3519.9030,N,13640.2633,E,0.55,168.73,270705,,*03 $GPGGA,045905.000,3519.9028,N,13640.2633,E,1,04,2.2,80.7,M,,,,0000*30 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045905.000,A,3519.9028,N,13640.2633,E,0.11,51.58,270705,,*39 $GPGGA,045906.000,3519.9027,N,13640.2633,E,1,04,2.2,80.6,M,,,,0000*3D $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045906.000,A,3519.9027,N,13640.2633,E,0.17,42.56,270705,,*3F $GPGGA,045907.000,3519.9026,N,13640.2633,E,1,04,2.2,80.6,M,,,,0000*3D $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPGSV,2,1,08,05,67,099,32,09,41,047,46,14,32,311,42,26,08,109,24*79 $GPGSV,2,2,08,22,62,272,25,18,55,192,25,30,50,179,26,15,09,229,*78 $GPRMC,045907.000,A,3519.9026,N,13640.2633,E,0.12,56.07,270705,,*3B $GPGGA,045908.000,3519.9026,N,13640.2633,E,1,04,2.2,80.8,M,,,,0000*3C $GPRMC,045908.000,A,3519.9026,N,13640.2633,E,0.38,14.44,270705,,*3D $GPGGA,045909.000,3519.9026,N,13640.2634,E,1,04,2.2,81.0,M,,,,0000*33 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045909.000,A,3519.9026,N,13640.2634,E,0.35,16.55,270705,,*34 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045910.000,A,3519.9026,N,13640.2634,E,0.18,28.96,270705,,*31 $GPGGA,045911.000,3519.9026,N,13640.2634,E,1,04,2.2,81.3,M,,,,0000*39 $GPRMC,045911.000,A,3519.9026,N,13640.2634,E,0.42,13.19,270705,,*30 $GPGGA,045912.000,3519.9026,N,13640.2634,E,1,04,2.2,81.3,M,,,,0000*3A $GPGSV,2,1,08,05,67,099,33,09,41,047,46,14,32,311,42,26,08,109,23*7F $GPGSV,2,2,08,22,62,272,25,18,55,192,18,30,50,179,21,15,09,229,*71 $GPRMC,045912.000,A,3519.9026,N,13640.2634,E,0.36,13.64,270705,,*3A $GPGGA,045913.000,3519.9025,N,13640.2634,E,1,04,2.2,81.2,M,,,,0000*39 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045913.000,A,3519.9025,N,13640.2634,E,0.30,15.65,270705,,*39 $GPGGA,045914.000,3519.9024,N,13640.2635,E,1,04,2.2,80.8,M,,,,0000*35 $GPRMC,045914.000,A,3519.9024,N,13640.2635,E,0.30,160.36,270705,,*0B $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045915.000,A,3519.9021,N,13640.2635,E,0.34,165.82,270705,,*01 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045916.000,A,3519.9019,N,13640.2636,E,0.31,160.03,270705,,*03 $GPGGA,045917.000,3519.9017,N,13640.2636,E,1,04,2.2,79.0,M,,,,0000*3B $GPGSV,2,1,08,05,67,099,34,09,41,047,46,14,32,311,42,26,08,109,19*71 $GPGSV,2,2,08,22,62,272,20,18,55,192,19,30,50,179,13,15,09,229,24*72 $GPRMC,045917.000,A,3519.9017,N,13640.2636,E,0.32,160.37,270705,,*08 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045918.000,A,3519.9017,N,13640.2636,E,0.21,29.38,270705,,*36 $GPGGA,045919.000,3519.9017,N,13640.2637,E,1,04,2.2,78.9,M,,,,0000*3C $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045919.000,A,3519.9017,N,13640.2637,E,0.37,18.86,270705,,*36 $GPGGA,045920.000,3519.9017,N,13640.2637,E,1,04,2.2,78.8,M,,,,0000*37 $GPRMC,045920.000,A,3519.9017,N,13640.2637,E,0.29,165.15,270705,,*02 $GPGGA,045921.000,3519.9015,N,13640.2637,E,1,04,2.2,78.5,M,,,,0000*39 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045921.000,A,3519.9015,N,13640.2637,E,1.17,164.92,270705,,*03 $GPGGA,045922.000,3519.9007,N,13640.2636,E,1,04,2.2,78.6,M,,,,0000*3B $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPGSV,2,1,08,05,67,099,21,09,41,047,36,14,32,311,26,26,08,109,21*7B $GPGSV,2,2,08,22,62,272,20,18,55,192,18,30,50,179,,15,09,229,*77 $GPRMC,045922.000,A,3519.9007,N,13640.2636,E,3.35,194.25,270705,,*03 $GPGSA,A,2,,,,,,,,,,,,,50.0,50.0,50.0*06 $GPRMC,045923.000,A,3519.8998,N,13640.2633,E,3.35,194.25,270705,,*09 gpsd-3.9/test/daemon/iTrek.log.chk0000664000175000017500000004267212135526351015255 0ustar esresr$GPRMC,151605.053,V,,,,,,,260705,,*29 $GPRMC,151606.055,V,,,,,,,260705,,*2C $GPGSA,A,1,,,,*32 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C {"class":"TPV","tag":"GSA","mode":3,"epv":43.700} $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C {"class":"TPV","tag":"GSA","mode":3,"epv":43.700} $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C {"class":"TPV","tag":"GSA","mode":3,"epv":43.700} $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C {"class":"TPV","tag":"GSA","mode":3,"epv":43.700} $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C {"class":"TPV","tag":"GSA","mode":3,"epv":43.700} $GPRMC,045849.000,A,3519.9048,N,13640.2631,E,0.10,92.17,270705,,*31 {"class":"TPV","tag":"RMC","mode":2,"time":"2005-07-27T04:58:49.000Z","ept":0.005,"lat":35.331746667,"lon":136.671051667,"track":92.1700,"speed":0.051} $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C {"class":"TPV","tag":"GSA","mode":3,"time":"2005-07-27T04:58:49.000Z","ept":0.005,"lat":35.331746667,"lon":136.671051667,"epv":43.700,"track":92.1700,"speed":0.051} $GPRMC,045850.000,A,3519.9047,N,13640.2631,E,0.11,99.12,270705,,*39 {"class":"TPV","tag":"RMC","mode":2,"time":"2005-07-27T04:58:50.000Z","ept":0.005,"lat":35.331745000,"lon":136.671051667,"track":99.1200,"speed":0.057} $GPGGA,045851.000,3519.9046,N,13640.2631,E,1,04,2.2,80.4,M,,,,0000*39 $GPRMC,045851.000,A,3519.9046,N,13640.2631,E,0.12,114.35,270705,,*0B {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:58:51.000Z","ept":0.005,"lat":35.331743333,"lon":136.671051667,"alt":80.400,"epv":43.700,"track":114.3500,"speed":0.062,"climb":0.000} $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPGSV,2,2,08,22,62,272,24,18,55,192,16,30,50,179,18,15,09,229,*74 {"class":"SKY","tag":"GSV","xdop":11.57,"ydop":10.11,"vdop":1.90,"tdop":17.18,"hdop":2.20,"gdop":26.66,"pdop":2.90,"satellites":[{"PRN":22,"el":62,"az":272,"ss":24,"used":false},{"PRN":18,"el":55,"az":192,"ss":16,"used":false},{"PRN":30,"el":50,"az":179,"ss":18,"used":false},{"PRN":15,"el":9,"az":229,"ss":0,"used":false}]} $GPRMC,045852.000,A,3519.9046,N,13640.2632,E,0.10,104.21,270705,,*0D {"class":"TPV","tag":"RMC","mode":2,"time":"2005-07-27T04:58:52.000Z","ept":0.005,"lat":35.331743333,"lon":136.671053333,"epx":173.568,"epy":151.635,"track":104.2100,"speed":0.051,"eps":347.14} $GPGGA,045853.000,3519.9045,N,13640.2632,E,1,04,2.2,80.4,M,,,,0000*3B $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045853.000,A,3519.9045,N,13640.2632,E,0.11,97.51,270705,,*32 {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:58:53.000Z","ept":0.005,"lat":35.331741667,"lon":136.671053333,"alt":80.400,"epx":173.568,"epy":151.635,"epv":43.700,"track":97.5100,"speed":0.057,"climb":0.000,"eps":347.14} $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045854.000,A,3519.9044,N,13640.2632,E,0.12,108.39,270705,,*0E {"class":"TPV","tag":"RMC","mode":2,"time":"2005-07-27T04:58:54.000Z","ept":0.005,"lat":35.331740000,"lon":136.671053333,"epx":173.568,"epy":151.635,"track":108.3900,"speed":0.062,"eps":347.14} $GPGGA,045855.000,3519.9043,N,13640.2632,E,1,04,2.2,80.4,M,,,,0000*3B $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045855.000,A,3519.9043,N,13640.2632,E,0.11,99.16,270705,,*3F {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:58:55.000Z","ept":0.005,"lat":35.331738333,"lon":136.671053333,"alt":80.400,"epx":173.568,"epy":151.635,"epv":43.700,"track":99.1600,"speed":0.057,"climb":0.000,"eps":347.14} $GPGGA,045856.000,3519.9042,N,13640.2632,E,1,04,2.2,80.4,M,,,,0000*39 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045856.000,A,3519.9042,N,13640.2632,E,0.11,115.12,270705,,*0C {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:58:56.000Z","ept":0.005,"lat":35.331736667,"lon":136.671053333,"alt":80.400,"epx":173.568,"epy":151.635,"epv":43.700,"track":115.1200,"speed":0.057,"climb":0.000,"eps":347.14} $GPGGA,045857.000,3519.9040,N,13640.2632,E,1,04,2.2,80.5,M,,,,0000*3B $GPGSV,2,1,08,05,67,099,26,09,41,047,46,14,32,311,43,26,08,109,30*78 $GPGSV,2,2,08,22,62,272,25,18,55,192,24,30,50,179,19,15,09,229,*75 {"class":"SKY","tag":"GSV","xdop":11.57,"ydop":10.11,"vdop":1.90,"tdop":17.18,"hdop":2.20,"gdop":26.66,"pdop":2.90,"satellites":[{"PRN":5,"el":67,"az":99,"ss":26,"used":true},{"PRN":9,"el":41,"az":47,"ss":46,"used":true},{"PRN":14,"el":32,"az":311,"ss":43,"used":true},{"PRN":26,"el":8,"az":109,"ss":30,"used":true},{"PRN":22,"el":62,"az":272,"ss":25,"used":false},{"PRN":18,"el":55,"az":192,"ss":24,"used":false},{"PRN":30,"el":50,"az":179,"ss":19,"used":false},{"PRN":15,"el":9,"az":229,"ss":0,"used":false}]} $GPRMC,045857.000,A,3519.9040,N,13640.2632,E,0.11,116.49,270705,,*02 {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:58:57.000Z","ept":0.005,"lat":35.331733333,"lon":136.671053333,"alt":80.500,"epx":173.568,"epy":151.635,"epv":43.700,"track":116.4900,"speed":0.057,"climb":0.100,"eps":347.14} $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045858.000,A,3519.9039,N,13640.2632,E,0.11,115.53,270705,,*0B {"class":"TPV","tag":"RMC","mode":2,"time":"2005-07-27T04:58:58.000Z","ept":0.005,"lat":35.331731667,"lon":136.671053333,"epx":173.568,"epy":151.635,"track":115.5300,"speed":0.057,"eps":347.14} $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045859.000,A,3519.9038,N,13640.2632,E,0.10,107.70,270705,,*08 {"class":"TPV","tag":"RMC","mode":2,"time":"2005-07-27T04:58:59.000Z","ept":0.005,"lat":35.331730000,"lon":136.671053333,"epx":173.568,"epy":151.635,"track":107.7000,"speed":0.051,"eps":347.14} $GPGGA,045900.000,3519.9036,N,13640.2632,E,1,04,2.2,80.8,M,,,,0000*34 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045900.000,A,3519.9036,N,13640.2632,E,0.12,130.75,270705,,*08 {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:59:00.000Z","ept":0.005,"lat":35.331726667,"lon":136.671053333,"alt":80.800,"epx":173.568,"epy":151.635,"epv":43.700,"track":130.7500,"speed":0.062,"climb":0.000,"eps":347.14} $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045901.000,A,3519.9035,N,13640.2632,E,0.11,121.44,270705,,*0B {"class":"TPV","tag":"RMC","mode":2,"time":"2005-07-27T04:59:01.000Z","ept":0.005,"lat":35.331725000,"lon":136.671053333,"epx":173.568,"epy":151.635,"track":121.4400,"speed":0.057,"eps":347.14} $GPGGA,045902.000,3519.9034,N,13640.2633,E,1,04,2.2,81.0,M,,,,0000*3C $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPGSV,2,1,08,05,67,099,26,09,41,047,46,14,32,311,42,26,08,109,29*71 $GPGSV,2,2,08,22,62,272,24,18,55,192,24,30,50,179,25,15,09,229,23*7A {"class":"SKY","tag":"GSV","xdop":11.57,"ydop":10.11,"vdop":1.90,"tdop":17.18,"hdop":2.20,"gdop":26.66,"pdop":2.90,"satellites":[{"PRN":5,"el":67,"az":99,"ss":26,"used":true},{"PRN":9,"el":41,"az":47,"ss":46,"used":true},{"PRN":14,"el":32,"az":311,"ss":42,"used":true},{"PRN":26,"el":8,"az":109,"ss":29,"used":true},{"PRN":22,"el":62,"az":272,"ss":24,"used":false},{"PRN":18,"el":55,"az":192,"ss":24,"used":false},{"PRN":30,"el":50,"az":179,"ss":25,"used":false},{"PRN":15,"el":9,"az":229,"ss":23,"used":false}]} $GPRMC,045902.000,A,3519.9034,N,13640.2633,E,0.13,137.85,270705,,*00 {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:59:02.000Z","ept":0.005,"lat":35.331723333,"lon":136.671055000,"alt":81.000,"epx":173.568,"epy":151.635,"epv":43.700,"track":137.8500,"speed":0.067,"climb":0.000,"eps":347.14} $GPGGA,045903.000,3519.9032,N,13640.2633,E,1,04,2.2,81.1,M,,,,0000*3A $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045903.000,A,3519.9032,N,13640.2633,E,0.15,142.32,270705,,*0F {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:59:03.000Z","ept":0.005,"lat":35.331720000,"lon":136.671055000,"alt":81.100,"epx":173.568,"epy":151.635,"epv":43.700,"track":142.3200,"speed":0.077,"climb":0.100,"eps":347.14} $GPGGA,045904.000,3519.9030,N,13640.2633,E,1,04,2.2,80.8,M,,,,0000*37 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045904.000,A,3519.9030,N,13640.2633,E,0.55,168.73,270705,,*03 {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:59:04.000Z","ept":0.005,"lat":35.331716667,"lon":136.671055000,"alt":80.800,"epx":173.568,"epy":151.635,"epv":43.700,"track":168.7300,"speed":0.283,"climb":-0.300,"eps":347.14} $GPGGA,045905.000,3519.9028,N,13640.2633,E,1,04,2.2,80.7,M,,,,0000*30 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045905.000,A,3519.9028,N,13640.2633,E,0.11,51.58,270705,,*39 {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:59:05.000Z","ept":0.005,"lat":35.331713333,"lon":136.671055000,"alt":80.700,"epx":173.568,"epy":151.635,"epv":43.700,"track":51.5800,"speed":0.057,"climb":-0.100,"eps":347.14} $GPGGA,045906.000,3519.9027,N,13640.2633,E,1,04,2.2,80.6,M,,,,0000*3D $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045906.000,A,3519.9027,N,13640.2633,E,0.17,42.56,270705,,*3F {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:59:06.000Z","ept":0.005,"lat":35.331711667,"lon":136.671055000,"alt":80.600,"epx":173.568,"epy":151.635,"epv":43.700,"track":42.5600,"speed":0.087,"climb":-0.100,"eps":347.14} $GPGGA,045907.000,3519.9026,N,13640.2633,E,1,04,2.2,80.6,M,,,,0000*3D $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPGSV,2,1,08,05,67,099,32,09,41,047,46,14,32,311,42,26,08,109,24*79 $GPGSV,2,2,08,22,62,272,25,18,55,192,25,30,50,179,26,15,09,229,*78 {"class":"SKY","tag":"GSV","xdop":11.57,"ydop":10.11,"vdop":1.90,"tdop":17.18,"hdop":2.20,"gdop":26.66,"pdop":2.90,"satellites":[{"PRN":5,"el":67,"az":99,"ss":32,"used":true},{"PRN":9,"el":41,"az":47,"ss":46,"used":true},{"PRN":14,"el":32,"az":311,"ss":42,"used":true},{"PRN":26,"el":8,"az":109,"ss":24,"used":true},{"PRN":22,"el":62,"az":272,"ss":25,"used":false},{"PRN":18,"el":55,"az":192,"ss":25,"used":false},{"PRN":30,"el":50,"az":179,"ss":26,"used":false},{"PRN":15,"el":9,"az":229,"ss":0,"used":false}]} $GPRMC,045907.000,A,3519.9026,N,13640.2633,E,0.12,56.07,270705,,*3B {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:59:07.000Z","ept":0.005,"lat":35.331710000,"lon":136.671055000,"alt":80.600,"epx":173.568,"epy":151.635,"epv":43.700,"track":56.0700,"speed":0.062,"climb":0.000,"eps":347.14} $GPGGA,045908.000,3519.9026,N,13640.2633,E,1,04,2.2,80.8,M,,,,0000*3C $GPRMC,045908.000,A,3519.9026,N,13640.2633,E,0.38,14.44,270705,,*3D {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:59:08.000Z","ept":0.005,"lat":35.331710000,"lon":136.671055000,"alt":80.800,"epx":173.568,"epy":151.635,"epv":43.700,"track":14.4400,"speed":0.195,"climb":0.200,"eps":347.14} $GPGGA,045909.000,3519.9026,N,13640.2634,E,1,04,2.2,81.0,M,,,,0000*33 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045909.000,A,3519.9026,N,13640.2634,E,0.35,16.55,270705,,*34 {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:59:09.000Z","ept":0.005,"lat":35.331710000,"lon":136.671056667,"alt":81.000,"epx":173.568,"epy":151.635,"epv":43.700,"track":16.5500,"speed":0.180,"climb":0.200,"eps":347.14} $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045910.000,A,3519.9026,N,13640.2634,E,0.18,28.96,270705,,*31 {"class":"TPV","tag":"RMC","mode":2,"time":"2005-07-27T04:59:10.000Z","ept":0.005,"lat":35.331710000,"lon":136.671056667,"epx":173.568,"epy":151.635,"track":28.9600,"speed":0.093,"eps":347.14} $GPGGA,045911.000,3519.9026,N,13640.2634,E,1,04,2.2,81.3,M,,,,0000*39 $GPRMC,045911.000,A,3519.9026,N,13640.2634,E,0.42,13.19,270705,,*30 {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:59:11.000Z","ept":0.005,"lat":35.331710000,"lon":136.671056667,"alt":81.300,"epx":173.568,"epy":151.635,"epv":43.700,"track":13.1900,"speed":0.216,"climb":0.000,"eps":347.14} $GPGGA,045912.000,3519.9026,N,13640.2634,E,1,04,2.2,81.3,M,,,,0000*3A $GPGSV,2,1,08,05,67,099,33,09,41,047,46,14,32,311,42,26,08,109,23*7F $GPGSV,2,2,08,22,62,272,25,18,55,192,18,30,50,179,21,15,09,229,*71 {"class":"SKY","tag":"GSV","xdop":11.57,"ydop":10.11,"vdop":1.90,"tdop":17.18,"hdop":2.20,"gdop":26.66,"pdop":2.90,"satellites":[{"PRN":5,"el":67,"az":99,"ss":33,"used":true},{"PRN":9,"el":41,"az":47,"ss":46,"used":true},{"PRN":14,"el":32,"az":311,"ss":42,"used":true},{"PRN":26,"el":8,"az":109,"ss":23,"used":true},{"PRN":22,"el":62,"az":272,"ss":25,"used":false},{"PRN":18,"el":55,"az":192,"ss":18,"used":false},{"PRN":30,"el":50,"az":179,"ss":21,"used":false},{"PRN":15,"el":9,"az":229,"ss":0,"used":false}]} $GPRMC,045912.000,A,3519.9026,N,13640.2634,E,0.36,13.64,270705,,*3A {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:59:12.000Z","ept":0.005,"lat":35.331710000,"lon":136.671056667,"alt":81.300,"epx":173.568,"epy":151.635,"epv":43.700,"track":13.6400,"speed":0.185,"climb":0.000,"eps":347.14} $GPGGA,045913.000,3519.9025,N,13640.2634,E,1,04,2.2,81.2,M,,,,0000*39 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045913.000,A,3519.9025,N,13640.2634,E,0.30,15.65,270705,,*39 {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:59:13.000Z","ept":0.005,"lat":35.331708333,"lon":136.671056667,"alt":81.200,"epx":173.568,"epy":151.635,"epv":43.700,"track":15.6500,"speed":0.154,"climb":-0.100,"eps":347.14} $GPGGA,045914.000,3519.9024,N,13640.2635,E,1,04,2.2,80.8,M,,,,0000*35 $GPRMC,045914.000,A,3519.9024,N,13640.2635,E,0.30,160.36,270705,,*0B {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:59:14.000Z","ept":0.005,"lat":35.331706667,"lon":136.671058333,"alt":80.800,"epx":173.568,"epy":151.635,"epv":43.700,"track":160.3600,"speed":0.154,"climb":-0.400,"eps":347.14} $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045915.000,A,3519.9021,N,13640.2635,E,0.34,165.82,270705,,*01 {"class":"TPV","tag":"RMC","mode":2,"time":"2005-07-27T04:59:15.000Z","ept":0.005,"lat":35.331701667,"lon":136.671058333,"epx":173.568,"epy":151.635,"track":165.8200,"speed":0.175,"eps":347.14} $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045916.000,A,3519.9019,N,13640.2636,E,0.31,160.03,270705,,*03 {"class":"TPV","tag":"RMC","mode":2,"time":"2005-07-27T04:59:16.000Z","ept":0.005,"lat":35.331698333,"lon":136.671060000,"epx":173.568,"epy":151.635,"track":160.0300,"speed":0.159,"eps":347.14} $GPGGA,045917.000,3519.9017,N,13640.2636,E,1,04,2.2,79.0,M,,,,0000*3B $GPGSV,2,1,08,05,67,099,34,09,41,047,46,14,32,311,42,26,08,109,19*71 $GPGSV,2,2,08,22,62,272,20,18,55,192,19,30,50,179,13,15,09,229,24*72 {"class":"SKY","tag":"GSV","xdop":11.57,"ydop":10.11,"vdop":1.90,"tdop":17.18,"hdop":2.20,"gdop":26.66,"pdop":2.90,"satellites":[{"PRN":5,"el":67,"az":99,"ss":34,"used":true},{"PRN":9,"el":41,"az":47,"ss":46,"used":true},{"PRN":14,"el":32,"az":311,"ss":42,"used":true},{"PRN":26,"el":8,"az":109,"ss":19,"used":true},{"PRN":22,"el":62,"az":272,"ss":20,"used":false},{"PRN":18,"el":55,"az":192,"ss":19,"used":false},{"PRN":30,"el":50,"az":179,"ss":13,"used":false},{"PRN":15,"el":9,"az":229,"ss":24,"used":false}]} $GPRMC,045917.000,A,3519.9017,N,13640.2636,E,0.32,160.37,270705,,*08 {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:59:17.000Z","ept":0.005,"lat":35.331695000,"lon":136.671060000,"alt":79.000,"epx":173.568,"epy":151.635,"epv":43.700,"track":160.3700,"speed":0.165,"climb":0.000,"eps":347.14} $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045918.000,A,3519.9017,N,13640.2636,E,0.21,29.38,270705,,*36 {"class":"TPV","tag":"RMC","mode":2,"time":"2005-07-27T04:59:18.000Z","ept":0.005,"lat":35.331695000,"lon":136.671060000,"epx":173.568,"epy":151.635,"track":29.3800,"speed":0.108,"eps":347.14} $GPGGA,045919.000,3519.9017,N,13640.2637,E,1,04,2.2,78.9,M,,,,0000*3C $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045919.000,A,3519.9017,N,13640.2637,E,0.37,18.86,270705,,*36 {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:59:19.000Z","ept":0.005,"lat":35.331695000,"lon":136.671061667,"alt":78.900,"epx":173.568,"epy":151.635,"epv":43.700,"track":18.8600,"speed":0.190,"climb":0.000,"eps":347.14} $GPGGA,045920.000,3519.9017,N,13640.2637,E,1,04,2.2,78.8,M,,,,0000*37 $GPRMC,045920.000,A,3519.9017,N,13640.2637,E,0.29,165.15,270705,,*02 {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:59:20.000Z","ept":0.005,"lat":35.331695000,"lon":136.671061667,"alt":78.800,"epx":173.568,"epy":151.635,"epv":43.700,"track":165.1500,"speed":0.149,"climb":-0.100,"eps":347.14} $GPGGA,045921.000,3519.9015,N,13640.2637,E,1,04,2.2,78.5,M,,,,0000*39 $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPRMC,045921.000,A,3519.9015,N,13640.2637,E,1.17,164.92,270705,,*03 {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:59:21.000Z","ept":0.005,"lat":35.331691667,"lon":136.671061667,"alt":78.500,"epx":173.568,"epy":151.635,"epv":43.700,"track":164.9200,"speed":0.602,"climb":-0.300,"eps":347.14} $GPGGA,045922.000,3519.9007,N,13640.2636,E,1,04,2.2,78.6,M,,,,0000*3B $GPGSA,A,3,09,05,14,26,,,,,,,,,2.9,2.2,1.9*3C $GPGSV,2,1,08,05,67,099,21,09,41,047,36,14,32,311,26,26,08,109,21*7B $GPGSV,2,2,08,22,62,272,20,18,55,192,18,30,50,179,,15,09,229,*77 {"class":"SKY","tag":"GSV","xdop":11.57,"ydop":10.11,"vdop":1.90,"tdop":17.18,"hdop":2.20,"gdop":26.66,"pdop":2.90,"satellites":[{"PRN":5,"el":67,"az":99,"ss":21,"used":true},{"PRN":9,"el":41,"az":47,"ss":36,"used":true},{"PRN":14,"el":32,"az":311,"ss":26,"used":true},{"PRN":26,"el":8,"az":109,"ss":21,"used":true},{"PRN":22,"el":62,"az":272,"ss":20,"used":false},{"PRN":18,"el":55,"az":192,"ss":18,"used":false},{"PRN":30,"el":50,"az":179,"ss":0,"used":false},{"PRN":15,"el":9,"az":229,"ss":0,"used":false}]} $GPRMC,045922.000,A,3519.9007,N,13640.2636,E,3.35,194.25,270705,,*03 {"class":"TPV","tag":"RMC","mode":3,"time":"2005-07-27T04:59:22.000Z","ept":0.005,"lat":35.331678333,"lon":136.671060000,"alt":78.600,"epx":173.568,"epy":151.635,"epv":43.700,"track":194.2500,"speed":1.723,"climb":0.100,"eps":347.14} $GPGSA,A,2,,,,,,,,,,,,,50.0,50.0,50.0*06 $GPRMC,045923.000,A,3519.8998,N,13640.2633,E,3.35,194.25,270705,,*09 {"class":"TPV","tag":"RMC","mode":2,"time":"2005-07-27T04:59:23.000Z","ept":0.005,"lat":35.331663333,"lon":136.671055000,"epx":173.568,"epy":151.635,"track":194.2500,"speed":1.723,"eps":347.14} gpsd-3.9/test/daemon/italk-binary.log0000664000175000017500000007611211762140437016017 0ustar esresr# Name: Fastrax iTalk chipset (protocol, version 3) in binary mode # Chipset: chipset name and (if possible) firmware revision level. # Submitter: Chris Kuethe # Date: 2009-08-09 # Location: unknown # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # „A%¿¢uÀEwû¬×$Àðê  '¥ðû ¬×$ Ð/À›(:bj#Ô€&£ £ :bj#Þ>b }ÑŠJ@UU Ê>FØ$Àðê MÉŒôãFØ$ L.&Èw†#uwŒŒŒw†#Ë0>ˆˆô x ‘·¯ŒIlJ Œèû>GNS~ªøL þÿˆˆÛ¥&ÿ÷€ O RNÐO” ñÿˆˆ<àûw€|áV+bÈB è4 "ÿ÷€UððZ Ÿ V úÿˆˆvø×þ>µJðÿ£J›0Ë÷î-ì£ù­Óÿ¬ÿùÔ>%¿¡šùx_ü-FÖ$0ë Gš¬ˆþ -FÖ$ ’=МYP\Œ#† 𣠣 P\Œ#‹±>%¿¡à» 'h×$0ë \CŒç=?Ö$ OŠ¥'D? š#›>ŒŒ? š#Ã>%@œ¬Äq‘»Q‰A@% ók;( üÇ"Ò$0ë [ÚoғžâBØ$S©>ŠA%>‰Œ+¹A•0Ÿn¿ø@Ÿª*)0ªª*jÉ>‰Œ+¹A•0Ÿn¿\Úú‚A•"¹îUU;,ê>7& ý$ÀÀQ>7&ßáf‚Ó{'?%@œÈÊy¿9#ø@%Qiž Ãa<Ù$ ë ¥•»—1:&Ø$  3‡µŒqv#àŸýÒÒŒqv#>ŠIŸ>íÁ|bŒyÈ >íÁ|bŒyÈ ÿÿ_øÿx  ÆW4ÿŒ T-#9Šõ#c@TT•m>íÁ|bŒ|È >íÁ|bŒ|È ÿÿ_øðx 'ÑW1ˆð(ž [-##y âµc@UU@>íÁ|bŒ|È >íÁ|bŒ|È ÿÿ_ørx .ÛW1Œr€ž a-#$| ’ã¶c@UU[õ>íÁ|bŒ€È >íÁ|bŒ€È ÿÿ_øLx 4åW3L!ž g-#$~ “åžc@UUWš>íÁ|bŒqÈ >íÁ|bŒqÈ ÿÿ_øÐx 8ðW3ŒÐ ä o-ªõ؅sc@DD7 >>íÁ|bŒqÈ >íÁ|bŒqÈ ÿÿ_øÐx <úW3‹Ð.w-ªõ؅sc@DDl;>Ê>&>3 ULWœ©ïÿˆˆ"Í-ÿ÷€ˆRSß] Ù“;ë ÐLNdøp¹tÿöϙ<ëNsèÿ *îùÿâLC  eüÿd¯÷ÿ¡F >íÃ|bŒyÈ >íÃ|bŒyÈ ÿÿ_øíx ?W2‹í}-ªõ؅sc@DD²ß>íÃ|bŒyÈ >íÃ|bŒyÈ ÿÿ_ø’x B X:Ž’†-9^L¬óc@CC˜>éù„n'7ë /ª$óÔ „n'¿­d' >‚ßù­â%7ë ßšpeä ­â%¿Š,#hx›éš)ê(7ë ‚ƞ š)ê(Yªø±®xÓ9%UÕŒ« « xÓ9%ÔÐlŒ5 •(& ²ßš š •(& z6ÎVCÑ$7ë ¿€¹· éÖ$ “␛žpq#"š©¡ ¡ pq#!N>‚R ÙdCë ®ù¥÷p¹tÿöϙ<ëNsèÿ *îùÿâLC  eüÿd¯÷ÿ¡F >íÃ|bŒ|È >íÃ|bŒ|È ÿÿ_ø?x EX4?‹- ªõ؅sc@DD>$>bèè'7ë ê-œÜØôèè'¿-è »àÆN%7ë |„NèöN%¿æeïÍyöê(7ë ¹rŸ¯¢÷öê(ÜV+4Céáš<%_ôS””áš<%ÈAQ'MÔ&kw‘‘MÔ& ‹wÁÅF[åÔ$7ë cGPéºïÀÔ$ R§û%hΊ{#F©?ŠŠΊ{#ÔL>X>Åø%7ë ÷c6ìÞÅø%¿&Øä|§y;ïéê(7ë §Ô7—Šßéê( +oƒUíUØ$7ë þ æÑŸ×ÀÔ$Ê­>‘ _·)1[¡ž ž |/ _·)¿/íæ±@Õ÷7='€Në £º…–ä>7='¿­0@ DÄá0ûÖ'%€Në #Êô?Ö'%¿&,žØæz}æ[Më(€Në õšji®A[Më(‡jk ;8%ÚÜÜ ;8%Bž’µd­4&þ{<ØØd­4&Ÿºgøt5¶¯Ô$€Në £Æ9q[Ö$ lF‡QòÍ{#ó¿þÑÑòÍ{#J>‘G{>k"=%—E­ ­ k"=%Ö? œ×äL&Ùñj© © äL&à~pu”Uë×$€Në 2 @tÎ ÆÖ$ SPþ›XßVz#¿†*£ £ ßVz#ð>ƒ>­V QÿtÎ xp •€?ŒK £ ܜ>]Ò x y7:–n„ßL ‹p¯> òc@CC}Å>Ø$€Në ÑF.ÚÄ[‘Õ$Bä>cnD2H({z L4Œ #ã> gpsd-3.9/test/daemon/italk-binary.log.chk0000664000175000017500000007512512135526353016566 0ustar esresr$GPZDA,221259.14,06,07,2009,00,00*66 $GPGGA,221259,5333.7947,N,11326.3773,W,1,05,,661.09,M,-19.872,M,,*68 $GPRMC,221259,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*34 $GPGSA,A,3,,,,,,,,,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:12:59.144Z","ept":0.005,"lat":53.563244879,"lon":-113.439622385,"alt":661.089,"track":0.0000,"speed":0.000,"climb":0.000} $GPGSV,3,1,09,03,35,061,32,06,26,049,34,07,76,101,23,08,60,183,38*71 $GPGSV,3,2,09,10,23,180,00,13,33,166,16,19,43,094,47,25,54,109,44*73 $GPGSV,3,3,09,28,30,125,00*4F {"class":"SKY","tag":"ITK-02","time":"2009-07-06T22:12:59.322Z","xdop":6.81,"ydop":3.69,"vdop":3.27,"tdop":4.44,"hdop":7.74,"gdop":9.50,"pdop":8.40,"satellites":[{"PRN":3,"el":35,"az":61,"ss":32,"used":true},{"PRN":6,"el":26,"az":49,"ss":34,"used":true},{"PRN":7,"el":76,"az":101,"ss":23,"used":false},{"PRN":8,"el":60,"az":183,"ss":38,"used":true},{"PRN":10,"el":23,"az":180,"ss":0,"used":false},{"PRN":13,"el":33,"az":166,"ss":16,"used":false},{"PRN":19,"el":43,"az":94,"ss":47,"used":true},{"PRN":25,"el":54,"az":109,"ss":44,"used":true},{"PRN":28,"el":30,"az":125,"ss":0,"used":false}]} $GPZDA,221300.14,06,07,2009,00,00*6B $GPGGA,221300,5333.7947,N,11326.3773,W,1,05,7.74,661.09,M,-19.872,M,,*7F $GPRMC,221300,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*39 $GPGSA,A,3,03,06,08,19,25,,,,,,,,8.4,7.7,3.3*3C $GPGBS,221300,102.11,M,55.39,M,75.10,M*36 {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:00.145Z","ept":0.005,"lat":53.563244879,"lon":-113.439622385,"alt":661.089,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.01} $GPGSV,3,1,09,03,35,061,31,06,26,049,34,07,76,101,00,08,60,183,38*73 $GPGSV,3,2,09,10,23,180,05,13,33,166,12,19,43,094,47,25,54,109,44*72 $GPGSV,3,3,09,28,30,125,00*4F {"class":"SKY","tag":"ITK-02","time":"2009-07-06T22:13:00.326Z","xdop":6.81,"ydop":3.69,"vdop":3.27,"tdop":4.44,"hdop":7.74,"gdop":9.50,"pdop":8.40,"satellites":[{"PRN":3,"el":35,"az":61,"ss":31,"used":true},{"PRN":6,"el":26,"az":49,"ss":34,"used":true},{"PRN":7,"el":76,"az":101,"ss":0,"used":false},{"PRN":8,"el":60,"az":183,"ss":38,"used":true},{"PRN":10,"el":23,"az":180,"ss":5,"used":false},{"PRN":13,"el":33,"az":166,"ss":12,"used":false},{"PRN":19,"el":43,"az":94,"ss":47,"used":true},{"PRN":25,"el":54,"az":109,"ss":44,"used":true},{"PRN":28,"el":30,"az":125,"ss":0,"used":false}]} $GPZDA,221301.15,06,07,2009,00,00*6B $GPGGA,221301,5333.7947,N,11326.3773,W,1,05,7.74,661.09,M,-19.872,M,,*7E $GPRMC,221301,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*38 $GPGSA,A,3,03,06,08,19,25,,,,,,,,8.4,7.7,3.3*3C $GPGBS,221301,102.11,M,55.39,M,75.10,M*37 {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:01.146Z","ept":0.005,"lat":53.563244812,"lon":-113.439622325,"alt":661.095,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.01} $GPGSV,3,1,09,03,35,061,31,06,26,049,34,07,76,101,00,08,60,183,38*73 $GPGSV,3,2,09,10,23,180,22,13,33,166,00,19,43,094,47,25,54,109,44*74 $GPGSV,3,3,09,28,30,125,09*46 {"class":"SKY","tag":"ITK-02","time":"2009-07-06T22:13:01.334Z","xdop":6.81,"ydop":3.69,"vdop":3.27,"tdop":4.44,"hdop":7.74,"gdop":9.50,"pdop":8.40,"satellites":[{"PRN":3,"el":35,"az":61,"ss":31,"used":true},{"PRN":6,"el":26,"az":49,"ss":34,"used":true},{"PRN":7,"el":76,"az":101,"ss":0,"used":false},{"PRN":8,"el":60,"az":183,"ss":38,"used":true},{"PRN":10,"el":23,"az":180,"ss":22,"used":false},{"PRN":13,"el":33,"az":166,"ss":0,"used":false},{"PRN":19,"el":43,"az":94,"ss":47,"used":true},{"PRN":25,"el":54,"az":109,"ss":44,"used":true},{"PRN":28,"el":30,"az":125,"ss":9,"used":false}]} {"class":"SUBFRAME","tSV":19,"TOW17":27733,"frame":3,"scaled":false,"EPHEM3":{"IODE":13,"IDOT":1008,"Cic":76,"Omega0":-1449930432,"Cis":86,"i0":654321499,"Crc":7839,"omega":-227142829,"Omegad":-22582}} {"class":"SUBFRAME","tSV":25,"TOW17":27733,"frame":3,"scaled":false,"EPHEM3":{"IODE":74,"IDOT":4294967212,"Cic":4294967251,"Omega0":1299049474,"Cis":173,"i0":663010360,"Crc":11758,"omega":-826864610,"Omegad":-23088}} {"class":"SUBFRAME","tSV":8,"TOW17":27733,"frame":3,"scaled":false,"EPHEM3":{"IODE":57,"IDOT":4294967279,"Cic":74,"Omega0":1405464692,"Cis":-96,"i0":676047805,"Crc":11184,"omega":2048412779,"Omegad":-22556}} {"class":"SUBFRAME","tSV":6,"TOW17":27733,"frame":3,"scaled":false,"EPHEM3":{"IODE":69,"IDOT":1547,"Cic":14,"Omega0":-1532195407,"Cis":70,"i0":638250306,"Crc":7195,"omega":-903609118,"Omegad":-22817}} $GPZDA,221302.15,06,07,2009,00,00*68 $GPGGA,221302,5333.7947,N,11326.3773,W,1,05,7.74,661.09,M,-19.872,M,,*7D $GPRMC,221302,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*3B $GPGSA,A,3,03,06,08,19,25,,,,,,,,8.4,7.7,3.3*3C $GPGBS,221302,102.11,M,55.39,M,75.10,M*34 {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:02.146Z","ept":0.005,"lat":53.563244812,"lon":-113.439622325,"alt":661.095,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.22} $GPGSV,3,1,09,03,35,061,31,06,26,049,35,07,76,101,05,08,60,183,38*77 $GPGSV,3,2,09,10,23,180,25,13,33,166,00,19,43,094,47,25,54,109,44*73 $GPGSV,3,3,09,28,30,125,18*46 {"class":"SKY","tag":"ITK-02","time":"2009-07-06T22:13:02.482Z","xdop":6.81,"ydop":3.69,"vdop":3.27,"tdop":4.44,"hdop":7.74,"gdop":9.50,"pdop":8.40,"satellites":[{"PRN":3,"el":35,"az":61,"ss":31,"used":true},{"PRN":6,"el":26,"az":49,"ss":35,"used":true},{"PRN":7,"el":76,"az":101,"ss":5,"used":false},{"PRN":8,"el":60,"az":183,"ss":38,"used":true},{"PRN":10,"el":23,"az":180,"ss":25,"used":false},{"PRN":13,"el":33,"az":166,"ss":0,"used":false},{"PRN":19,"el":43,"az":94,"ss":47,"used":true},{"PRN":25,"el":54,"az":109,"ss":44,"used":true},{"PRN":28,"el":30,"az":125,"ss":18,"used":false}]} $GPZDA,221303.15,06,07,2009,00,00*69 $GPGGA,221303,5333.7947,N,11326.3773,W,1,05,7.74,661.09,M,-19.872,M,,*7C $GPRMC,221303,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*3A $GPGSA,A,3,03,06,08,19,25,,,,,,,,8.4,7.7,3.3*3C {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:03.147Z","ept":0.005,"lat":53.563244812,"lon":-113.439622325,"alt":661.095,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.01} $GPZDA,221304.15,06,07,2009,00,00*6E $GPGGA,221304,5333.7947,N,11326.3773,W,1,05,7.74,661.09,M,-19.872,M,,*7B $GPRMC,221304,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*3D $GPGSA,A,3,03,06,08,19,25,,,,,,,,8.4,7.7,3.3*3C {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:04.147Z","ept":0.005,"lat":53.563244812,"lon":-113.439622325,"alt":661.095,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.22} $GPGSV,3,1,09,03,35,061,31,06,26,049,34,07,76,101,26,08,60,183,38*77 $GPGSV,3,2,09,10,23,180,00,13,33,166,15,19,43,094,48,25,54,109,44*7F $GPGSV,3,3,09,28,30,125,27*4A {"class":"SKY","tag":"ITK-02","time":"2009-07-06T22:13:04.362Z","xdop":6.81,"ydop":3.69,"vdop":3.27,"tdop":4.44,"hdop":7.74,"gdop":9.50,"pdop":8.40,"satellites":[{"PRN":3,"el":35,"az":61,"ss":31,"used":true},{"PRN":6,"el":26,"az":49,"ss":34,"used":true},{"PRN":7,"el":76,"az":101,"ss":26,"used":false},{"PRN":8,"el":60,"az":183,"ss":38,"used":true},{"PRN":10,"el":23,"az":180,"ss":0,"used":false},{"PRN":13,"el":33,"az":166,"ss":15,"used":false},{"PRN":19,"el":43,"az":94,"ss":48,"used":true},{"PRN":25,"el":54,"az":109,"ss":44,"used":true},{"PRN":28,"el":30,"az":125,"ss":27,"used":false}]} $GPZDA,221305.15,06,07,2009,00,00*6F $GPGGA,221305,5333.7947,N,11326.3773,W,1,05,7.74,661.09,M,-19.872,M,,*7A $GPRMC,221305,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*3C $GPGSA,A,3,03,06,08,19,25,,,,,,,,8.4,7.7,3.3*3C {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:05.148Z","ept":0.005,"lat":53.563244812,"lon":-113.439622325,"alt":661.095,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.01} $GPGSV,3,1,09,03,35,061,31,06,26,049,33,07,76,101,27,08,60,183,38*71 $GPGSV,3,2,09,10,23,180,00,13,33,166,18,19,43,094,47,25,54,109,44*7D $GPGSV,3,3,09,28,30,125,00*4F {"class":"SKY","tag":"ITK-02","time":"2009-07-06T22:13:05.328Z","xdop":6.81,"ydop":3.69,"vdop":3.27,"tdop":4.44,"hdop":7.74,"gdop":9.50,"pdop":8.40,"satellites":[{"PRN":3,"el":35,"az":61,"ss":31,"used":true},{"PRN":6,"el":26,"az":49,"ss":33,"used":true},{"PRN":7,"el":76,"az":101,"ss":27,"used":false},{"PRN":8,"el":60,"az":183,"ss":38,"used":true},{"PRN":10,"el":23,"az":180,"ss":0,"used":false},{"PRN":13,"el":33,"az":166,"ss":18,"used":false},{"PRN":19,"el":43,"az":94,"ss":47,"used":true},{"PRN":25,"el":54,"az":109,"ss":44,"used":true},{"PRN":28,"el":30,"az":125,"ss":0,"used":false}]} $GPZDA,221306.15,06,07,2009,00,00*6C $GPGGA,221306,5333.7947,N,11326.3773,W,1,05,7.74,661.09,M,-19.872,M,,*79 $GPRMC,221306,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*3F $GPGSA,A,3,03,06,08,19,25,,,,,,,,8.4,7.7,3.3*3C $GPGBS,221306,102.11,M,55.39,M,75.10,M*30 {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:06.149Z","ept":0.005,"lat":53.563244812,"lon":-113.439622325,"alt":661.095,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.01} $GPGSV,3,1,09,03,35,061,31,06,26,049,33,07,76,101,00,08,60,183,38*74 $GPGSV,3,2,09,10,23,180,06,13,33,166,15,19,43,094,48,25,54,109,45*78 $GPGSV,3,3,09,28,30,125,00*4F {"class":"SKY","tag":"ITK-02","time":"2009-07-06T22:13:06.331Z","xdop":6.81,"ydop":3.69,"vdop":3.27,"tdop":4.44,"hdop":7.74,"gdop":9.50,"pdop":8.40,"satellites":[{"PRN":3,"el":35,"az":61,"ss":31,"used":true},{"PRN":6,"el":26,"az":49,"ss":33,"used":true},{"PRN":7,"el":76,"az":101,"ss":0,"used":false},{"PRN":8,"el":60,"az":183,"ss":38,"used":true},{"PRN":10,"el":23,"az":180,"ss":6,"used":false},{"PRN":13,"el":33,"az":166,"ss":15,"used":false},{"PRN":19,"el":43,"az":94,"ss":48,"used":true},{"PRN":25,"el":54,"az":109,"ss":45,"used":true},{"PRN":28,"el":30,"az":125,"ss":0,"used":false}]} $GPZDA,221307.15,06,07,2009,00,00*6D $GPGGA,221307,5333.7947,N,11326.3773,W,1,05,7.74,661.10,M,-19.872,M,,*70 $GPRMC,221307,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*3E $GPGSA,A,3,03,06,08,19,25,,,,,,,,8.4,7.7,3.3*3C $GPGBS,221307,102.11,M,55.39,M,75.10,M*31 {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:07.149Z","ept":0.005,"lat":53.563244746,"lon":-113.439622265,"alt":661.100,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.22} $GPGSV,3,1,09,03,35,061,31,06,26,049,33,07,76,101,00,08,60,183,38*74 $GPGSV,3,2,09,10,23,180,14,13,33,166,00,19,43,094,47,25,54,109,45*70 $GPGSV,3,3,09,28,30,125,02*4D {"class":"SKY","tag":"ITK-02","time":"2009-07-06T22:13:07.336Z","xdop":6.81,"ydop":3.69,"vdop":3.27,"tdop":4.44,"hdop":7.74,"gdop":9.50,"pdop":8.40,"satellites":[{"PRN":3,"el":35,"az":61,"ss":31,"used":true},{"PRN":6,"el":26,"az":49,"ss":33,"used":true},{"PRN":7,"el":76,"az":101,"ss":0,"used":false},{"PRN":8,"el":60,"az":183,"ss":38,"used":true},{"PRN":10,"el":23,"az":180,"ss":14,"used":false},{"PRN":13,"el":33,"az":166,"ss":0,"used":false},{"PRN":19,"el":43,"az":94,"ss":47,"used":true},{"PRN":25,"el":54,"az":109,"ss":45,"used":true},{"PRN":28,"el":30,"az":125,"ss":2,"used":false}]} $GPZDA,221308.15,06,07,2009,00,00*62 $GPGGA,221308,5333.7947,N,11326.3773,W,1,05,7.74,661.10,M,-19.872,M,,*7F $GPRMC,221308,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*31 $GPGSA,A,3,03,06,08,19,25,,,,,,,,8.4,7.7,3.3*3C $GPGBS,221308,102.11,M,55.39,M,75.10,M*3E {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:08.150Z","ept":0.005,"lat":53.563244746,"lon":-113.439622265,"alt":661.100,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.01} $GPGSV,3,1,09,03,35,061,31,06,26,049,32,07,76,101,08,08,60,183,38*7D $GPGSV,3,2,09,10,23,180,10,13,33,166,00,19,43,094,48,25,54,109,45*7B $GPGSV,3,3,09,28,30,125,16*48 {"class":"SKY","tag":"ITK-02","time":"2009-07-06T22:13:08.358Z","xdop":6.81,"ydop":3.69,"vdop":3.27,"tdop":4.44,"hdop":7.74,"gdop":9.50,"pdop":8.40,"satellites":[{"PRN":3,"el":35,"az":61,"ss":31,"used":true},{"PRN":6,"el":26,"az":49,"ss":32,"used":true},{"PRN":7,"el":76,"az":101,"ss":8,"used":false},{"PRN":8,"el":60,"az":183,"ss":38,"used":true},{"PRN":10,"el":23,"az":180,"ss":10,"used":false},{"PRN":13,"el":33,"az":166,"ss":0,"used":false},{"PRN":19,"el":43,"az":94,"ss":48,"used":true},{"PRN":25,"el":54,"az":109,"ss":45,"used":true},{"PRN":28,"el":30,"az":125,"ss":16,"used":false}]} $GPZDA,221309.15,06,07,2009,00,00*63 $GPGGA,221309,5333.7947,N,11326.3773,W,1,05,7.74,661.10,M,-19.872,M,,*7E $GPRMC,221309,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*30 $GPGSA,A,3,03,06,08,19,25,,,,,,,,8.4,7.7,3.3*3C {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:09.151Z","ept":0.005,"lat":53.563244775,"lon":-113.439622126,"alt":661.098,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.01} $GPZDA,221310.15,06,07,2009,00,00*6B $GPGGA,221310,5333.7947,N,11326.3773,W,1,05,7.74,661.10,M,-19.872,M,,*76 $GPRMC,221310,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*38 $GPGSA,A,3,03,06,08,19,25,,,,,,,,8.4,7.7,3.3*3C {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:10.151Z","ept":0.005,"lat":53.563244775,"lon":-113.439622126,"alt":661.098,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.22} $GPGSV,3,1,09,03,35,061,31,06,26,049,32,07,76,101,26,08,60,183,37*7E $GPGSV,3,2,09,10,23,180,00,13,33,166,14,19,43,094,47,25,54,109,45*70 $GPGSV,3,3,09,28,30,125,16*48 {"class":"SKY","tag":"ITK-02","time":"2009-07-06T22:13:10.371Z","xdop":6.81,"ydop":3.69,"vdop":3.27,"tdop":4.44,"hdop":7.74,"gdop":9.50,"pdop":8.40,"satellites":[{"PRN":3,"el":35,"az":61,"ss":31,"used":true},{"PRN":6,"el":26,"az":49,"ss":32,"used":true},{"PRN":7,"el":76,"az":101,"ss":26,"used":false},{"PRN":8,"el":60,"az":183,"ss":37,"used":true},{"PRN":10,"el":23,"az":180,"ss":0,"used":false},{"PRN":13,"el":33,"az":166,"ss":14,"used":false},{"PRN":19,"el":43,"az":94,"ss":47,"used":true},{"PRN":25,"el":54,"az":109,"ss":45,"used":true},{"PRN":28,"el":30,"az":125,"ss":16,"used":false}]} $GPZDA,221311.15,06,07,2009,00,00*6A $GPGGA,221311,5333.7947,N,11326.3773,W,1,05,7.74,661.10,M,-19.872,M,,*77 $GPRMC,221311,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*39 $GPGSA,A,3,03,06,08,19,25,,,,,,,,8.4,7.7,3.3*3C {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:11.152Z","ept":0.005,"lat":53.563244709,"lon":-113.439622066,"alt":661.103,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.01} $GPGSV,3,1,09,03,35,061,31,06,26,049,32,07,76,101,26,08,60,183,37*7E $GPGSV,3,2,09,10,23,180,00,13,33,166,20,19,43,094,47,25,54,109,45*77 $GPGSV,3,3,09,28,30,125,00*4F {"class":"SKY","tag":"ITK-02","time":"2009-07-06T22:13:11.326Z","xdop":6.81,"ydop":3.69,"vdop":3.27,"tdop":4.44,"hdop":7.74,"gdop":9.50,"pdop":8.40,"satellites":[{"PRN":3,"el":35,"az":61,"ss":31,"used":true},{"PRN":6,"el":26,"az":49,"ss":32,"used":true},{"PRN":7,"el":76,"az":101,"ss":26,"used":false},{"PRN":8,"el":60,"az":183,"ss":37,"used":true},{"PRN":10,"el":23,"az":180,"ss":0,"used":false},{"PRN":13,"el":33,"az":166,"ss":20,"used":false},{"PRN":19,"el":43,"az":94,"ss":47,"used":true},{"PRN":25,"el":54,"az":109,"ss":45,"used":true},{"PRN":28,"el":30,"az":125,"ss":0,"used":false}]} $GPZDA,221312.15,06,07,2009,00,00*69 $GPGGA,221312,5333.7947,N,11326.3773,W,1,05,7.74,661.10,M,-19.872,M,,*74 $GPRMC,221312,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*3A $GPGSA,A,3,03,06,08,19,25,,,,,,,,8.4,7.7,3.3*3C $GPGBS,221312,102.11,M,55.39,M,75.10,M*35 {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:12.153Z","ept":0.005,"lat":53.563244709,"lon":-113.439622066,"alt":661.103,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.01} $GPZDA,221313.15,06,07,2009,00,00*68 $GPGGA,221313,5333.7947,N,11326.3773,W,1,04,7.74,661.10,M,-19.872,M,,*74 $GPRMC,221313,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*3B $GPGSA,A,3,03,06,08,19,25,,,,,,,,8.4,7.7,3.3*3C $GPGBS,221313,102.11,M,55.39,M,75.10,M*34 {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:13.153Z","ept":0.005,"lat":53.563244709,"lon":-113.439622066,"alt":661.103,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.22} $GPGSV,3,1,09,03,35,061,00,06,26,049,32,07,76,101,00,08,60,183,38*77 $GPGSV,3,2,09,10,23,180,16,13,33,166,00,19,43,094,48,25,54,109,45*7D $GPGSV,3,3,09,28,30,125,04*4B {"class":"SKY","tag":"ITK-02","time":"2009-07-06T22:13:13.337Z","xdop":6.81,"ydop":3.69,"vdop":3.27,"tdop":4.44,"hdop":7.74,"gdop":9.50,"pdop":8.40,"satellites":[{"PRN":3,"el":35,"az":61,"ss":0,"used":true},{"PRN":6,"el":26,"az":49,"ss":32,"used":true},{"PRN":7,"el":76,"az":101,"ss":0,"used":false},{"PRN":8,"el":60,"az":183,"ss":38,"used":true},{"PRN":10,"el":23,"az":180,"ss":16,"used":false},{"PRN":13,"el":33,"az":166,"ss":0,"used":false},{"PRN":19,"el":43,"az":94,"ss":48,"used":true},{"PRN":25,"el":54,"az":109,"ss":45,"used":true},{"PRN":28,"el":30,"az":125,"ss":4,"used":false}]} $GPALM,1,1,22,0515,00,2a39,4e,fffffe3a,fffffd51,a10cd9,ffb2cb60,fffd43f1,ffe211d3,0cd,000*79 {"class":"SUBFRAME","tSV":19,"TOW17":27735,"frame":5,"scaled":false,"ALMANAC":{"ID":22,"Health":0,"e":10809,"toa":78,"deltai":-454,"Omegad":-687,"sqrtA":10554585,"Omega0":-179215,"omega":-5059744,"M0":-1961517,"af0":205,"af1":0}} $GPALM,1,1,22,0515,00,2a39,4e,fffffe3a,fffffd51,a10cd9,ffb2cb60,fffd43f1,ffe211d3,0cd,000*79 {"class":"SUBFRAME","tSV":25,"TOW17":27735,"frame":5,"scaled":false,"ALMANAC":{"ID":22,"Health":0,"e":10809,"toa":78,"deltai":-454,"Omegad":-687,"sqrtA":10554585,"Omega0":-179215,"omega":-5059744,"M0":-1961517,"af0":205,"af1":0}} $GPALM,1,1,22,0515,00,2a39,4e,fffffe3a,fffffd51,a10cd9,ffb2cb60,fffd43f1,ffe211d3,0cd,000*79 {"class":"SUBFRAME","tSV":8,"TOW17":27735,"frame":5,"scaled":false,"ALMANAC":{"ID":22,"Health":0,"e":10809,"toa":78,"deltai":-454,"Omegad":-687,"sqrtA":10554585,"Omega0":-179215,"omega":-5059744,"M0":-1961517,"af0":205,"af1":0}} $GPZDA,221314.15,06,07,2009,00,00*6F $GPGGA,221314,5333.7947,N,11326.3773,W,1,04,7.74,661.10,M,-19.872,M,,*73 $GPRMC,221314,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*3C $GPGSA,A,3,03,06,08,19,25,,,,,,,,8.4,7.7,3.3*3C $GPGBS,221314,102.11,M,55.39,M,75.10,M*33 {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:14.154Z","ept":0.005,"lat":53.563244709,"lon":-113.439622066,"alt":661.103,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.01} $GPGSV,3,1,09,03,35,061,00,06,26,049,33,07,76,101,05,08,60,183,38*73 $GPGSV,3,2,09,10,23,180,17,13,33,166,00,19,43,094,48,25,54,109,45*7C $GPGSV,3,3,09,28,30,125,19*47 {"class":"SKY","tag":"ITK-02","time":"2009-07-06T22:13:14.386Z","xdop":6.81,"ydop":3.69,"vdop":3.27,"tdop":4.44,"hdop":7.74,"gdop":9.50,"pdop":8.40,"satellites":[{"PRN":3,"el":35,"az":61,"ss":0,"used":true},{"PRN":6,"el":26,"az":49,"ss":33,"used":true},{"PRN":7,"el":76,"az":101,"ss":5,"used":false},{"PRN":8,"el":60,"az":183,"ss":38,"used":true},{"PRN":10,"el":23,"az":180,"ss":17,"used":false},{"PRN":13,"el":33,"az":166,"ss":0,"used":false},{"PRN":19,"el":43,"az":94,"ss":48,"used":true},{"PRN":25,"el":54,"az":109,"ss":45,"used":true},{"PRN":28,"el":30,"az":125,"ss":19,"used":false}]} $GPZDA,221315.15,06,07,2009,00,00*6E $GPGGA,221315,5333.7947,N,11326.3773,W,1,04,7.74,661.10,M,-19.872,M,,*72 $GPRMC,221315,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*3D $GPGSA,A,3,03,06,08,19,25,,,,,,,,8.4,7.7,3.3*3C $GPGBS,221315,102.11,M,55.39,M,75.10,M*32 {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:15.155Z","ept":0.005,"lat":53.563244589,"lon":-113.439622006,"alt":661.101,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.01} $GPZDA,221316.15,06,07,2009,00,00*6D $GPGGA,221316,5333.7947,N,11326.3773,W,1,04,7.74,661.10,M,-19.872,M,,*71 $GPRMC,221316,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*3E $GPGSA,A,3,03,06,08,19,25,,,,,,,,8.4,7.7,3.3*3C $GPGBS,221316,102.11,M,55.39,M,75.10,M*31 {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:16.155Z","ept":0.005,"lat":53.563244589,"lon":-113.439622006,"alt":661.101,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.22} $GPGSV,3,1,09,03,35,061,24,06,26,049,32,07,76,101,19,08,60,183,38*79 $GPGSV,3,2,09,10,23,180,00,13,33,166,15,19,43,094,47,25,54,109,45*71 $GPGSV,3,3,09,28,30,125,21*4C {"class":"SKY","tag":"ITK-02","time":"2009-07-06T22:13:16.328Z","xdop":6.81,"ydop":3.69,"vdop":3.27,"tdop":4.44,"hdop":7.74,"gdop":9.50,"pdop":8.40,"satellites":[{"PRN":3,"el":35,"az":61,"ss":24,"used":false},{"PRN":6,"el":26,"az":49,"ss":32,"used":true},{"PRN":7,"el":76,"az":101,"ss":19,"used":false},{"PRN":8,"el":60,"az":183,"ss":38,"used":true},{"PRN":10,"el":23,"az":180,"ss":0,"used":false},{"PRN":13,"el":33,"az":166,"ss":15,"used":false},{"PRN":19,"el":43,"az":94,"ss":47,"used":true},{"PRN":25,"el":54,"az":109,"ss":45,"used":true},{"PRN":28,"el":30,"az":125,"ss":21,"used":false}]} $GPZDA,221317.16,06,07,2009,00,00*6F $GPGGA,221317,5333.7947,N,11326.3773,W,1,04,7.74,661.10,M,-19.872,M,,*70 $GPRMC,221317,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*3F $GPGSA,A,3,06,08,19,25,25,,,,,,,,8.4,7.7,3.3*38 {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:17.156Z","ept":0.005,"lat":53.563244589,"lon":-113.439622006,"alt":661.101,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.01} $GPGSV,3,1,09,03,35,061,25,06,26,049,32,07,76,101,20,08,60,183,38*72 $GPGSV,3,2,09,10,23,180,00,13,33,166,19,19,43,094,47,25,54,109,45*7D $GPGSV,3,3,09,28,30,125,00*4F {"class":"SKY","tag":"ITK-02","time":"2009-07-06T22:13:17.391Z","xdop":6.81,"ydop":3.69,"vdop":3.27,"tdop":4.44,"hdop":7.74,"gdop":9.50,"pdop":8.40,"satellites":[{"PRN":3,"el":35,"az":61,"ss":25,"used":false},{"PRN":6,"el":26,"az":49,"ss":32,"used":true},{"PRN":7,"el":76,"az":101,"ss":20,"used":false},{"PRN":8,"el":60,"az":183,"ss":38,"used":true},{"PRN":10,"el":23,"az":180,"ss":0,"used":false},{"PRN":13,"el":33,"az":166,"ss":19,"used":false},{"PRN":19,"el":43,"az":94,"ss":47,"used":true},{"PRN":25,"el":54,"az":109,"ss":45,"used":true},{"PRN":28,"el":30,"az":125,"ss":0,"used":false}]} $GPZDA,221318.16,06,07,2009,00,00*60 $GPGGA,221318,5333.7947,N,11326.3773,W,1,04,7.74,661.10,M,-19.872,M,,*7F $GPRMC,221318,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*30 $GPGSA,A,3,06,08,19,25,25,,,,,,,,8.4,7.7,3.3*38 $GPGBS,221318,102.11,M,55.39,M,75.10,M*3F {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:18.157Z","ept":0.005,"lat":53.563244589,"lon":-113.439622006,"alt":661.101,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.01} $GPZDA,221319.16,06,07,2009,00,00*61 $GPGGA,221319,5333.7947,N,11326.3773,W,1,04,7.74,661.11,M,-19.872,M,,*7F $GPRMC,221319,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*31 $GPGSA,A,3,06,08,19,25,25,,,,,,,,8.4,7.7,3.3*38 {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:19.157Z","ept":0.005,"lat":53.563244523,"lon":-113.439621946,"alt":661.106,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.22} $GPGSV,3,1,09,03,35,061,00,06,26,049,32,07,76,101,00,08,60,183,38*77 $GPGSV,3,2,09,10,23,180,24,13,33,166,00,19,43,094,48,25,54,109,45*7C $GPGSV,3,3,09,28,30,125,06*49 {"class":"SKY","tag":"ITK-02","time":"2009-07-06T22:13:19.329Z","xdop":6.81,"ydop":3.69,"vdop":3.27,"tdop":4.44,"hdop":7.74,"gdop":9.50,"pdop":8.40,"satellites":[{"PRN":3,"el":35,"az":61,"ss":0,"used":false},{"PRN":6,"el":26,"az":49,"ss":32,"used":true},{"PRN":7,"el":76,"az":101,"ss":0,"used":false},{"PRN":8,"el":60,"az":183,"ss":38,"used":true},{"PRN":10,"el":23,"az":180,"ss":24,"used":false},{"PRN":13,"el":33,"az":166,"ss":0,"used":false},{"PRN":19,"el":43,"az":94,"ss":48,"used":true},{"PRN":25,"el":54,"az":109,"ss":45,"used":true},{"PRN":28,"el":30,"az":125,"ss":6,"used":false}]} {"class":"SUBFRAME","tSV":19,"TOW17":27736,"frame":1,"scaled":false,"EPHEM1":{"WN":515,"IODC":13,"L2":1,"ura":0,"hlth":0,"L2P":0,"Tgd":-31,"toc":10800,"af2":0,"af1":-12,"af0":42900}} {"class":"SUBFRAME","tSV":25,"TOW17":27736,"frame":1,"scaled":false,"EPHEM1":{"WN":515,"IODC":74,"L2":1,"ura":1,"hlth":0,"L2P":0,"Tgd":-16,"toc":10800,"af2":0,"af1":156,"af0":1066179}} {"class":"SUBFRAME","tSV":8,"TOW17":27736,"frame":1,"scaled":false,"EPHEM1":{"WN":515,"IODC":57,"L2":1,"ura":2,"hlth":0,"L2P":0,"Tgd":-8,"toc":10800,"af2":0,"af1":-15,"af0":-452502}} $GPZDA,221320.16,06,07,2009,00,00*6B $GPGGA,221320,5333.7947,N,11326.3773,W,1,04,7.74,661.11,M,-19.872,M,,*75 $GPRMC,221320,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*3B $GPGSA,A,3,06,08,19,25,25,,,,,,,,8.4,7.7,3.3*38 {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:20.158Z","ept":0.005,"lat":53.563244523,"lon":-113.439621946,"alt":661.106,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.01} $GPGSV,3,1,09,03,35,061,00,06,26,049,31,07,76,101,00,08,60,183,38*74 $GPGSV,3,2,09,10,23,180,25,13,33,166,00,19,43,094,47,25,54,109,45*72 $GPGSV,3,3,09,28,30,125,07*48 {"class":"SKY","tag":"ITK-02","time":"2009-07-06T22:13:20.431Z","xdop":6.81,"ydop":3.69,"vdop":3.27,"tdop":4.44,"hdop":7.74,"gdop":9.50,"pdop":8.40,"satellites":[{"PRN":3,"el":35,"az":61,"ss":0,"used":false},{"PRN":6,"el":26,"az":49,"ss":31,"used":true},{"PRN":7,"el":76,"az":101,"ss":0,"used":false},{"PRN":8,"el":60,"az":183,"ss":38,"used":true},{"PRN":10,"el":23,"az":180,"ss":25,"used":false},{"PRN":13,"el":33,"az":166,"ss":0,"used":false},{"PRN":19,"el":43,"az":94,"ss":47,"used":true},{"PRN":25,"el":54,"az":109,"ss":45,"used":true},{"PRN":28,"el":30,"az":125,"ss":7,"used":false}]} $GPZDA,221321.16,06,07,2009,00,00*6A $GPGGA,221321,5333.7947,N,11326.3773,W,1,04,7.74,661.11,M,-19.872,M,,*74 $GPRMC,221321,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*3A $GPGSA,A,3,06,08,19,25,25,,,,,,,,8.4,7.7,3.3*38 {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:21.158Z","ept":0.005,"lat":53.563244523,"lon":-113.439621946,"alt":661.106,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.22} $GPZDA,221322.16,06,07,2009,00,00*69 $GPGGA,221322,5333.7947,N,11326.3773,W,1,04,7.74,661.11,M,-19.872,M,,*77 $GPRMC,221322,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*39 $GPGSA,A,3,06,08,19,25,25,,,,,,,,8.4,7.7,3.3*38 {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:22.159Z","ept":0.005,"lat":53.563244523,"lon":-113.439621946,"alt":661.106,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.01} $GPGSV,3,1,09,03,35,061,24,06,26,049,32,07,76,101,21,08,60,183,38*72 $GPGSV,3,2,09,10,23,180,00,13,33,166,21,19,43,094,47,25,54,109,45*76 $GPGSV,3,3,09,28,30,125,17*49 {"class":"SKY","tag":"ITK-02","time":"2009-07-06T22:13:22.350Z","xdop":6.81,"ydop":3.69,"vdop":3.27,"tdop":4.44,"hdop":7.74,"gdop":9.50,"pdop":8.40,"satellites":[{"PRN":3,"el":35,"az":61,"ss":24,"used":false},{"PRN":6,"el":26,"az":49,"ss":32,"used":true},{"PRN":7,"el":76,"az":101,"ss":21,"used":false},{"PRN":8,"el":60,"az":183,"ss":38,"used":true},{"PRN":10,"el":23,"az":180,"ss":0,"used":false},{"PRN":13,"el":33,"az":166,"ss":21,"used":false},{"PRN":19,"el":43,"az":94,"ss":47,"used":true},{"PRN":25,"el":54,"az":109,"ss":45,"used":true},{"PRN":28,"el":30,"az":125,"ss":17,"used":false}]} $GPZDA,221323.16,06,07,2009,00,00*68 $GPGGA,221323,5333.7947,N,11326.3773,W,1,04,7.74,661.11,M,-19.872,M,,*76 $GPRMC,221323,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*38 $GPGSA,A,3,06,08,19,25,25,,,,,,,,8.4,7.7,3.3*38 {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:23.160Z","ept":0.005,"lat":53.563244428,"lon":-113.439622025,"alt":661.114,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.01} $GPGSV,3,1,09,03,35,061,26,06,26,049,32,07,76,101,22,08,60,183,38*73 $GPGSV,3,2,09,10,23,180,00,13,33,166,19,19,43,094,47,25,54,109,45*7D $GPGSV,3,3,09,28,30,125,00*4F {"class":"SKY","tag":"ITK-02","time":"2009-07-06T22:13:23.356Z","xdop":6.81,"ydop":3.69,"vdop":3.27,"tdop":4.44,"hdop":7.74,"gdop":9.50,"pdop":8.40,"satellites":[{"PRN":3,"el":35,"az":61,"ss":26,"used":false},{"PRN":6,"el":26,"az":49,"ss":32,"used":true},{"PRN":7,"el":76,"az":101,"ss":22,"used":false},{"PRN":8,"el":60,"az":183,"ss":38,"used":true},{"PRN":10,"el":23,"az":180,"ss":0,"used":false},{"PRN":13,"el":33,"az":166,"ss":19,"used":false},{"PRN":19,"el":43,"az":94,"ss":47,"used":true},{"PRN":25,"el":54,"az":109,"ss":45,"used":true},{"PRN":28,"el":30,"az":125,"ss":0,"used":false}]} $GPZDA,221324.16,06,07,2009,00,00*6F $GPGGA,221324,5333.7947,N,11326.3773,W,1,04,7.74,661.11,M,-19.872,M,,*71 $GPRMC,221324,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*3F $GPGSA,A,3,06,08,19,25,25,,,,,,,,8.4,7.7,3.3*38 $GPGBS,221324,102.11,M,55.39,M,75.10,M*30 {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:24.160Z","ept":0.005,"lat":53.563244428,"lon":-113.439622025,"alt":661.114,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.22} $GPZDA,221325.16,06,07,2009,00,00*6E $GPGGA,221325,5333.7947,N,11326.3773,W,1,04,7.74,661.11,M,-19.872,M,,*70 $GPRMC,221325,A,5333.7947,N,11326.3773,W,0.0000,0.000,060709,,*3E $GPGSA,A,3,06,08,19,25,25,,,,,,,,8.4,7.7,3.3*38 {"class":"TPV","tag":"ITK-07","mode":3,"time":"2009-07-06T22:13:25.161Z","ept":0.005,"lat":53.563244428,"lon":-113.439622025,"alt":661.114,"epx":102.108,"epy":55.386,"epv":75.102,"track":0.0000,"speed":0.000,"climb":0.000,"eps":204.01} $GPGSV,3,1,09,03,35,061,00,06,26,049,32,07,76,101,00,08,60,183,38*77 $GPGSV,3,2,09,10,23,180,16,13,33,166,00,19,43,094,47,25,54,109,45*72 $GPGSV,3,3,09,28,30,125,02*4D {"class":"SKY","tag":"ITK-02","time":"2009-07-06T22:13:25.375Z","xdop":6.81,"ydop":3.69,"vdop":3.27,"tdop":4.44,"hdop":7.74,"gdop":9.50,"pdop":8.40,"satellites":[{"PRN":3,"el":35,"az":61,"ss":0,"used":false},{"PRN":6,"el":26,"az":49,"ss":32,"used":true},{"PRN":7,"el":76,"az":101,"ss":0,"used":false},{"PRN":8,"el":60,"az":183,"ss":38,"used":true},{"PRN":10,"el":23,"az":180,"ss":16,"used":false},{"PRN":13,"el":33,"az":166,"ss":0,"used":false},{"PRN":19,"el":43,"az":94,"ss":47,"used":true},{"PRN":25,"el":54,"az":109,"ss":45,"used":true},{"PRN":28,"el":30,"az":125,"ss":2,"used":false}]} {"class":"SUBFRAME","tSV":19,"TOW17":27737,"frame":2,"scaled":false,"EPHEM2":{"IODE":13,"Crs":449,"deltan":13975,"M0":1438107323,"Cuc":547,"e":49177068,"Cus":3659,"sqrtA":2701981045,"toe":10800,"FIT":0,"AODO":20}} {"class":"SUBFRAME","tSV":25,"TOW17":27737,"frame":2,"scaled":false,"EPHEM2":{"IODE":74,"Crs":-2101,"deltan":12443,"M0":-1254222668,"Cuc":-1629,"e":97063353,"Cus":492,"sqrtA":2701996081,"toe":10800,"FIT":0,"AODO":31}} {"class":"SUBFRAME","tSV":8,"TOW17":27737,"frame":2,"scaled":false,"EPHEM2":{"IODE":57,"Crs":-2701,"deltan":11231,"M0":-499655482,"Cuc":-2441,"e":91921042,"Cus":1110,"sqrtA":2701990480,"toe":10800,"FIT":0,"AODO":31}} gpsd-3.9/test/daemon/magellan-ec10.log0000664000175000017500000000652411762140437015737 0ustar esresr# Name: Magellan EC-10X # Submitter: "Gary E. Miller" # Date: 2005-06-09 # Time: 20:52 UTC # Location: Bend, OR 44N121W # # Roof-mounted stationary GPS. This is about as dumb as NMEA gets. # This log records a transition from no fix to 2D fix and then no fix. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205150.00,V,,,,,,,,,,,V*4a $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205152.00,V,,,,,,,,,,,V*48 $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205154.00,V,,,,,,,,,,,V*4e $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205156.00,V,,,,,,,,,,,V*4c $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205158.00,V,,,,,,,,,,,V*42 $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205200.00,V,,,,,,,,,,,V*4c $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205202.00,V,,,,,,,,,,,V*4e $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205204.00,V,,,,,,,,,,,V*48 $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205206.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*49 $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205208.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*47 $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205210.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4e $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205212.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4c $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205214.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4a $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205216.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*48 $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205218.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*46 $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205220.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4d $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205222.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4f $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205224.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*49 $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205226.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4b $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205228.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*45 $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205230.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4c $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205232.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4e $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205234.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*48 $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205236.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4a $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205238.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*44 $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205240.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4b $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205242.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*49 $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205244.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4f $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205246.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4d $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205248.00,V,,,,,,,,,,,V*40 $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205250.00,V,,,,,,,,,,,V*49 $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205252.00,V,,,,,,,,,,,V*4b $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205254.00,V,,,,,,,,,,,V*4d $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205256.00,V,,,,,,,,,,,V*4f $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205258.00,V,,,,,,,,,,,V*41 $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205300.00,V,,,,,,,,,,,V*4d $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205302.00,V,,,,,,,,,,,V*4f $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205304.00,V,,,,,,,,,,,V*49 gpsd-3.9/test/daemon/magellan-ec10.log.chk0000664000175000017500000001410312135526354016474 0ustar esresr$GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205150.00,V,,,,,,,,,,,V*4a $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205152.00,V,,,,,,,,,,,V*48 $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205154.00,V,,,,,,,,,,,V*4e $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205156.00,V,,,,,,,,,,,V*4c $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205158.00,V,,,,,,,,,,,V*42 $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205200.00,V,,,,,,,,,,,V*4c $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205202.00,V,,,,,,,,,,,V*4e $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205204.00,V,,,,,,,,,,,V*48 $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205206.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*49 {"class":"TPV","tag":"RMC","mode":2,"time":"2005-06-09T20:52:06.000Z","ept":0.005,"lat":44.092600000,"lon":-121.306633333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205208.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*47 {"class":"TPV","tag":"RMC","mode":2,"time":"2005-06-09T20:52:08.000Z","ept":0.005,"lat":44.092600000,"lon":-121.306633333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205210.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4e {"class":"TPV","tag":"RMC","mode":2,"time":"2005-06-09T20:52:10.000Z","ept":0.005,"lat":44.092600000,"lon":-121.306633333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205212.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4c {"class":"TPV","tag":"RMC","mode":2,"time":"2005-06-09T20:52:12.000Z","ept":0.005,"lat":44.092600000,"lon":-121.306633333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205214.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4a {"class":"TPV","tag":"RMC","mode":2,"time":"2005-06-09T20:52:14.000Z","ept":0.005,"lat":44.092600000,"lon":-121.306633333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205216.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*48 {"class":"TPV","tag":"RMC","mode":2,"time":"2005-06-09T20:52:16.000Z","ept":0.005,"lat":44.092600000,"lon":-121.306633333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205218.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*46 {"class":"TPV","tag":"RMC","mode":2,"time":"2005-06-09T20:52:18.000Z","ept":0.005,"lat":44.092600000,"lon":-121.306633333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205220.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4d {"class":"TPV","tag":"RMC","mode":2,"time":"2005-06-09T20:52:20.000Z","ept":0.005,"lat":44.092600000,"lon":-121.306633333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205222.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4f {"class":"TPV","tag":"RMC","mode":2,"time":"2005-06-09T20:52:22.000Z","ept":0.005,"lat":44.092600000,"lon":-121.306633333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205224.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*49 {"class":"TPV","tag":"RMC","mode":2,"time":"2005-06-09T20:52:24.000Z","ept":0.005,"lat":44.092600000,"lon":-121.306633333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205226.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4b {"class":"TPV","tag":"RMC","mode":2,"time":"2005-06-09T20:52:26.000Z","ept":0.005,"lat":44.092600000,"lon":-121.306633333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205228.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*45 {"class":"TPV","tag":"RMC","mode":2,"time":"2005-06-09T20:52:28.000Z","ept":0.005,"lat":44.092600000,"lon":-121.306633333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205230.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4c {"class":"TPV","tag":"RMC","mode":2,"time":"2005-06-09T20:52:30.000Z","ept":0.005,"lat":44.092600000,"lon":-121.306633333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205232.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4e {"class":"TPV","tag":"RMC","mode":2,"time":"2005-06-09T20:52:32.000Z","ept":0.005,"lat":44.092600000,"lon":-121.306633333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205234.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*48 {"class":"TPV","tag":"RMC","mode":2,"time":"2005-06-09T20:52:34.000Z","ept":0.005,"lat":44.092600000,"lon":-121.306633333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205236.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4a {"class":"TPV","tag":"RMC","mode":2,"time":"2005-06-09T20:52:36.000Z","ept":0.005,"lat":44.092600000,"lon":-121.306633333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205238.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*44 {"class":"TPV","tag":"RMC","mode":2,"time":"2005-06-09T20:52:38.000Z","ept":0.005,"lat":44.092600000,"lon":-121.306633333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205240.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4b {"class":"TPV","tag":"RMC","mode":2,"time":"2005-06-09T20:52:40.000Z","ept":0.005,"lat":44.092600000,"lon":-121.306633333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205242.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*49 {"class":"TPV","tag":"RMC","mode":2,"time":"2005-06-09T20:52:42.000Z","ept":0.005,"lat":44.092600000,"lon":-121.306633333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205244.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4f {"class":"TPV","tag":"RMC","mode":2,"time":"2005-06-09T20:52:44.000Z","ept":0.005,"lat":44.092600000,"lon":-121.306633333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205246.00,A,4405.556,N,12118.398,W,000.0,000.0,090605,0.0,E*4d {"class":"TPV","tag":"RMC","mode":2,"time":"2005-06-09T20:52:46.000Z","ept":0.005,"lat":44.092600000,"lon":-121.306633333,"track":0.0000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPRMC,205248.00,V,,,,,,,,,,,V*40 $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205250.00,V,,,,,,,,,,,V*49 $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205252.00,V,,,,,,,,,,,V*4b $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205254.00,V,,,,,,,,,,,V*4d $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205256.00,V,,,,,,,,,,,V*4f $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205258.00,V,,,,,,,,,,,V*41 $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205300.00,V,,,,,,,,,,,V*4d $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205302.00,V,,,,,,,,,,,V*4f $GPRMB,V,,,,,,,,,,,,V*66 $GPRMC,205304.00,V,,,,,,,,,,,V*49 gpsd-3.9/test/daemon/magellan315.log0000664000175000017500000000276311762140437015443 0ustar esresr# Name: Magellan 315 # Submitter: Ángel Marqués Mateu # Date: 2005-03-12 # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPGLL,3908.8199,N,00023.0832,W,120824.758,A*22 $GPGGA,120824.76,3908.8199,N,00023.0832,W,1,06,2.1,00176,M,,,,*39 $GPRMC,120824.76,A,3908.8199,N,00023.0832,W,00.0,000.0,130305,01.,W*62 $GPGSA,A,3,19,15,03,18,22,11,,,,,,,3.5,2.1,2.7*34 $GPGSV,3,1,12,19,77,349,45,03,68,117,41,22,39,052,52,11,35,274,56*7E $GPGSV,3,2,12,15,22,062,52,14,21,106,,16,10,171,,18,10,040,47*73 $GPGSV,3,3,12,01,08,146,,20,04,211,,08,02,294,,28,02,328,*70 $GPGLL,3908.8200,N,00023.0832,W,120827.523,A*2C $GPGGA,120827.52,3908.8200,N,00023.0832,W,1,06,2.1,00176,M,,,,*3F $GPRMC,120827.52,A,3908.8200,N,00023.0832,W,00.0,000.0,130305,01.,W*64 $GPGSA,A,3,19,15,03,18,22,11,,,,,,,3.5,2.1,2.7*34 $GPGSV,3,1,12,19,77,349,46,03,68,117,42,22,39,052,50,11,35,274,55*7F $GPGSV,3,2,12,15,22,062,52,14,21,106,,16,10,171,,18,10,040,49*7D $GPGSV,3,3,12,01,08,146,,20,04,211,,08,02,294,,28,02,328,*70 $GPGLL,3908.8201,N,00023.0832,W,120829.500,A*22 $GPGGA,120829.50,3908.8201,N,00023.0832,W,1,06,2.1,00176,M,,,,*32 $GPRMC,120829.50,A,3908.8201,N,00023.0832,W,00.0,000.0,130305,01.,W*69 $GPGSA,A,3,19,15,03,18,22,11,,,,,,,3.5,2.1,2.7*34 $GPGSV,3,1,12,19,77,349,44,03,68,117,42,22,39,052,52,11,35,274,56*7C $GPGSV,3,2,12,15,22,062,52,14,21,106,,16,10,171,,18,10,040,47*73 $GPGSV,3,3,12,01,08,146,,20,04,211,,08,02,294,,28,02,328,*70 gpsd-3.9/test/daemon/magellan315.log.chk0000664000175000017500000001040312135526356016200 0ustar esresr$GPGLL,3908.8199,N,00023.0832,W,120824.758,A*22 {"class":"TPV","tag":"GLL","mode":2,"lat":39.146998333,"lon":-0.384720000} $GPGGA,120824.76,3908.8199,N,00023.0832,W,1,06,2.1,00176,M,,,,*39 {"class":"TPV","tag":"GGA","mode":3,"lat":39.146998333,"lon":-0.384720000,"alt":176.000} $GPRMC,120824.76,A,3908.8199,N,00023.0832,W,00.0,000.0,130305,01.,W*62 {"class":"TPV","tag":"RMC","mode":3,"time":"2005-03-13T12:08:24.760Z","ept":0.005,"lat":39.146998333,"lon":-0.384720000,"alt":176.000,"track":0.0000,"speed":0.000} $GPGSA,A,3,19,15,03,18,22,11,,,,,,,3.5,2.1,2.7*34 {"class":"TPV","tag":"GSA","mode":3,"time":"2005-03-13T12:08:24.760Z","ept":0.005,"lat":39.146998333,"lon":-0.384720000,"alt":176.000,"epv":62.100,"track":0.0000,"speed":0.000,"climb":0.000} $GPGSV,3,1,12,19,77,349,45,03,68,117,41,22,39,052,52,11,35,274,56*7E $GPGSV,3,2,12,15,22,062,52,14,21,106,,16,10,171,,18,10,040,47*73 $GPGSV,3,3,12,01,08,146,,20,04,211,,08,02,294,,28,02,328,*70 {"class":"SKY","tag":"GSV","xdop":0.76,"ydop":1.47,"vdop":2.70,"tdop":1.37,"hdop":2.10,"gdop":2.83,"pdop":3.50,"satellites":[{"PRN":19,"el":77,"az":349,"ss":45,"used":true},{"PRN":3,"el":68,"az":117,"ss":41,"used":true},{"PRN":22,"el":39,"az":52,"ss":52,"used":true},{"PRN":11,"el":35,"az":274,"ss":56,"used":true},{"PRN":15,"el":22,"az":62,"ss":52,"used":true},{"PRN":14,"el":21,"az":106,"ss":0,"used":false},{"PRN":16,"el":10,"az":171,"ss":0,"used":false},{"PRN":18,"el":10,"az":40,"ss":47,"used":true},{"PRN":1,"el":8,"az":146,"ss":0,"used":false},{"PRN":20,"el":4,"az":211,"ss":0,"used":false},{"PRN":8,"el":2,"az":294,"ss":0,"used":false},{"PRN":28,"el":2,"az":328,"ss":0,"used":false}]} $GPGLL,3908.8200,N,00023.0832,W,120827.523,A*2C $GPGGA,120827.52,3908.8200,N,00023.0832,W,1,06,2.1,00176,M,,,,*3F $GPRMC,120827.52,A,3908.8200,N,00023.0832,W,00.0,000.0,130305,01.,W*64 {"class":"TPV","tag":"RMC","mode":3,"time":"2005-03-13T12:08:27.520Z","ept":0.005,"lat":39.147000000,"lon":-0.384720000,"alt":176.000,"epx":11.328,"epy":22.003,"epv":62.100,"track":0.0000,"speed":0.000,"climb":0.000,"eps":15.93} $GPGSA,A,3,19,15,03,18,22,11,,,,,,,3.5,2.1,2.7*34 $GPGSV,3,1,12,19,77,349,46,03,68,117,42,22,39,052,50,11,35,274,55*7F $GPGSV,3,2,12,15,22,062,52,14,21,106,,16,10,171,,18,10,040,49*7D $GPGSV,3,3,12,01,08,146,,20,04,211,,08,02,294,,28,02,328,*70 {"class":"SKY","tag":"GSV","xdop":0.76,"ydop":1.47,"vdop":2.70,"tdop":1.37,"hdop":2.10,"gdop":2.83,"pdop":3.50,"satellites":[{"PRN":19,"el":77,"az":349,"ss":46,"used":true},{"PRN":3,"el":68,"az":117,"ss":42,"used":true},{"PRN":22,"el":39,"az":52,"ss":50,"used":true},{"PRN":11,"el":35,"az":274,"ss":55,"used":true},{"PRN":15,"el":22,"az":62,"ss":52,"used":true},{"PRN":14,"el":21,"az":106,"ss":0,"used":false},{"PRN":16,"el":10,"az":171,"ss":0,"used":false},{"PRN":18,"el":10,"az":40,"ss":49,"used":true},{"PRN":1,"el":8,"az":146,"ss":0,"used":false},{"PRN":20,"el":4,"az":211,"ss":0,"used":false},{"PRN":8,"el":2,"az":294,"ss":0,"used":false},{"PRN":28,"el":2,"az":328,"ss":0,"used":false}]} $GPGLL,3908.8201,N,00023.0832,W,120829.500,A*22 $GPGGA,120829.50,3908.8201,N,00023.0832,W,1,06,2.1,00176,M,,,,*32 $GPRMC,120829.50,A,3908.8201,N,00023.0832,W,00.0,000.0,130305,01.,W*69 {"class":"TPV","tag":"RMC","mode":3,"time":"2005-03-13T12:08:29.500Z","ept":0.005,"lat":39.147001667,"lon":-0.384720000,"alt":176.000,"epx":11.328,"epy":22.003,"epv":62.100,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.23} $GPGSA,A,3,19,15,03,18,22,11,,,,,,,3.5,2.1,2.7*34 $GPGSV,3,1,12,19,77,349,44,03,68,117,42,22,39,052,52,11,35,274,56*7C $GPGSV,3,2,12,15,22,062,52,14,21,106,,16,10,171,,18,10,040,47*73 $GPGSV,3,3,12,01,08,146,,20,04,211,,08,02,294,,28,02,328,*70 {"class":"SKY","tag":"GSV","xdop":0.76,"ydop":1.47,"vdop":2.70,"tdop":1.37,"hdop":2.10,"gdop":2.83,"pdop":3.50,"satellites":[{"PRN":19,"el":77,"az":349,"ss":44,"used":true},{"PRN":3,"el":68,"az":117,"ss":42,"used":true},{"PRN":22,"el":39,"az":52,"ss":52,"used":true},{"PRN":11,"el":35,"az":274,"ss":56,"used":true},{"PRN":15,"el":22,"az":62,"ss":52,"used":true},{"PRN":14,"el":21,"az":106,"ss":0,"used":false},{"PRN":16,"el":10,"az":171,"ss":0,"used":false},{"PRN":18,"el":10,"az":40,"ss":47,"used":true},{"PRN":1,"el":8,"az":146,"ss":0,"used":false},{"PRN":20,"el":4,"az":211,"ss":0,"used":false},{"PRN":8,"el":2,"az":294,"ss":0,"used":false},{"PRN":28,"el":2,"az":328,"ss":0,"used":false}]} gpsd-3.9/test/daemon/motorola-t805.log0000664000175000017500000000665411762140437015767 0ustar esresr# Name: Motorola T805 # Chipset: SiRF III f # Pause-noted: Y # Well-behaved: Y # Submitter: "Olivier Lahaye"=20 # Date: 2007-12-18 # Location: Nozay, 48.66564N2.24812E # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # # Lines up to but not including the first GPGLL are # `cat /dev/ttyACM0` at startup=20 # Following lines are # `cat /dev/ttyACM0` stationary $GPGGA,212607.891,,,,,0,00,,,M,0.0,M,,0000*56 $GPRMC,212607.891,V,,,,,,,181207,0,N*5C $GPGGA,212608.879,,,,,0,00,,,M,0.0,M,,0000*5F $GPRMC,212608.879,V,,,,,,,181207,0,N*55 $GPGGA,212609.879,,,,,0,00,,,M,0.0,M,,0000*5E $GPRMC,212609.879,V,,,,,,,181207,0,N*54 $GPGGA,212610.879,,,,,0,00,,,M,0.0,M,,0000*56 $GPRMC,212610.879,V,,,,,,,181207,0,N*5C $GPGGA,212611.879,,,,,0,00,,,M,0.0,M,,0000*57 $GPRMC,212611.879,V,,,,,,,181207,0,N*5D $GPGGA,212612.879,,,,,0,00,,,M,0.0,M,,0000*54 $GPRMC,212612.879,V,,,,,,,181207,0,N*5E $GPGGA,212613.879,,,,,0,00,,,M,0.0,M,,0000*55 $GPRMC,212613.879,V,,,,,,,181207,0,N*5F $GPGGA,212614.879,4839.9488,N,00214.8863,E,1,04,2.2,133.1,M,47.3,M,,0000*55 $GPRMC,212614.879,A,4839.9488,N,00214.8863,E,0.56,344.41,181207,0,A*77 $GPGGA,212615.879,4839.9396,N,00214.8909,E,1,04,2.2,140.3,M,47.3,M,,0000*57 $GPRMC,212615.879,A,4839.9396,N,00214.8909,E,0.78,237.93,181207,0,A*75 $GPGGA,212617.000,4839.9404,N,00214.9022,E,1,04,2.2,158.4,M,47.3,M,,0000*50 $GPRMC,212617.000,A,4839.9404,N,00214.9022,E,1.25,21.04,181207,0,A*4E $GPGGA,212618.000,4839.9411,N,00214.9065,E,1,04,2.2,168.0,M,47.3,M,,0000*5F $GPRMC,212618.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*69 $GPGGA,212619.000,,,,,0,00,50.0,,M,0.0,M,,0000*42 $GPRMC,212619.000,V,,,,,,,181207,0,N*53 $GPGGA,212620.000,,,,,0,00,50.0,,M,0.0,M,,0000*48 $GPRMC,212620.000,V,,,,,,,181207,0,N*59 $GPGGA,212621.000,4839.9411,N,00214.9065,E,1,04,2.2,168.0,M,47.3,M,,0000*55 $GPRMC,212621.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*63 $GPGGA,212622.000,4839.9411,N,00214.9065,E,1,04,2.2,168.0,M,47.3,M,,0000*56 $GPRMC,212622.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*60 $GPGGA,212623.000,4839.9411,N,00214.9065,E,1,04,2.2,168.0,M,47.3,M,,0000*57 $GPRMC,212623.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*61 $GPGGA,212624.000,4839.9411,N,00214.9065,E,1,04,2.2,168.0,M,47.3,M,,0000*50 $GPRMC,212624.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*66 $GPGGA,212625.000,4839.9411,N,00214.9065,E,1,03,3.1,168.0,M,47.3,M,,0000*54 $GPRMC,212625.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*67 $GPGGA,212626.000,4839.9411,N,00214.9065,E,1,04,2.2,168.0,M,47.3,M,,0000*52 $GPRMC,212626.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*64 $GPGGA,212627.000,4839.9411,N,00214.9065,E,1,04,2.2,168.0,M,47.3,M,,0000*53 $GPRMC,212627.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*65 $GPGGA,212628.000,4839.9411,N,00214.9065,E,1,04,2.2,168.0,M,47.3,M,,0000*5C $GPRMC,212628.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*6A $GPGGA,212629.000,4839.9411,N,00214.9065,E,1,03,3.1,168.0,M,47.3,M,,0000*58 $GPRMC,212629.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*6B $GPGGA,212630.000,4839.9411,N,00214.9065,E,1,03,3.1,168.0,M,47.3,M,,0000*50 $GPRMC,212630.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*63 $GPGGA,212631.000,4839.9411,N,00214.9065,E,1,03,3.1,168.0,M,47.3,M,,0000*51 $GPRMC,212631.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*62 $GPGGA,212632.000,4839.9411,N,00214.9065,E,1,04,2.2,168.0,M,47.3,M,,0000*57 $GPRMC,212632.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*61 gpsd-3.9/test/daemon/motorola-t805.log.chk0000664000175000017500000001354012135526357016527 0ustar esresr$GPGGA,212607.891,,,,,0,00,,,M,0.0,M,,0000*56 $GPRMC,212607.891,V,,,,,,,181207,0,N*5C $GPGGA,212608.879,,,,,0,00,,,M,0.0,M,,0000*5F $GPRMC,212608.879,V,,,,,,,181207,0,N*55 $GPGGA,212609.879,,,,,0,00,,,M,0.0,M,,0000*5E $GPRMC,212609.879,V,,,,,,,181207,0,N*54 $GPGGA,212610.879,,,,,0,00,,,M,0.0,M,,0000*56 $GPRMC,212610.879,V,,,,,,,181207,0,N*5C $GPGGA,212611.879,,,,,0,00,,,M,0.0,M,,0000*57 $GPRMC,212611.879,V,,,,,,,181207,0,N*5D $GPGGA,212612.879,,,,,0,00,,,M,0.0,M,,0000*54 $GPRMC,212612.879,V,,,,,,,181207,0,N*5E $GPGGA,212613.879,,,,,0,00,,,M,0.0,M,,0000*55 $GPRMC,212613.879,V,,,,,,,181207,0,N*5F $GPGGA,212614.879,4839.9488,N,00214.8863,E,1,04,2.2,133.1,M,47.3,M,,0000*55 {"class":"TPV","tag":"GGA","mode":3,"lat":48.665813333,"lon":2.248105000,"alt":133.100} $GPRMC,212614.879,A,4839.9488,N,00214.8863,E,0.56,344.41,181207,0,A*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-18T21:26:14.879Z","ept":0.005,"lat":48.665813333,"lon":2.248105000,"alt":133.100,"track":344.4100,"speed":0.288} $GPGGA,212615.879,4839.9396,N,00214.8909,E,1,04,2.2,140.3,M,47.3,M,,0000*57 $GPRMC,212615.879,A,4839.9396,N,00214.8909,E,0.78,237.93,181207,0,A*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-18T21:26:15.879Z","ept":0.005,"lat":48.665660000,"lon":2.248181667,"alt":140.300,"track":237.9300,"speed":0.401,"climb":7.200} $GPGGA,212617.000,4839.9404,N,00214.9022,E,1,04,2.2,158.4,M,47.3,M,,0000*50 $GPRMC,212617.000,A,4839.9404,N,00214.9022,E,1.25,21.04,181207,0,A*4E {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-18T21:26:17.000Z","ept":0.005,"lat":48.665673333,"lon":2.248370000,"alt":158.400,"track":21.0400,"speed":0.643,"climb":16.146} $GPGGA,212618.000,4839.9411,N,00214.9065,E,1,04,2.2,168.0,M,47.3,M,,0000*5F $GPRMC,212618.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*69 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-18T21:26:18.000Z","ept":0.005,"lat":48.665685000,"lon":2.248441667,"alt":168.000,"track":0.0000,"speed":0.000,"climb":9.600} $GPGGA,212619.000,,,,,0,00,50.0,,M,0.0,M,,0000*42 $GPRMC,212619.000,V,,,,,,,181207,0,N*53 $GPGGA,212620.000,,,,,0,00,50.0,,M,0.0,M,,0000*48 $GPRMC,212620.000,V,,,,,,,181207,0,N*59 $GPGGA,212621.000,4839.9411,N,00214.9065,E,1,04,2.2,168.0,M,47.3,M,,0000*55 $GPRMC,212621.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*63 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-18T21:26:21.000Z","ept":0.005,"lat":48.665685000,"lon":2.248441667,"alt":168.000,"track":0.0000,"speed":0.000,"climb":0.000} $GPGGA,212622.000,4839.9411,N,00214.9065,E,1,04,2.2,168.0,M,47.3,M,,0000*56 $GPRMC,212622.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*60 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-18T21:26:22.000Z","ept":0.005,"lat":48.665685000,"lon":2.248441667,"alt":168.000,"track":0.0000,"speed":0.000,"climb":0.000} $GPGGA,212623.000,4839.9411,N,00214.9065,E,1,04,2.2,168.0,M,47.3,M,,0000*57 $GPRMC,212623.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*61 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-18T21:26:23.000Z","ept":0.005,"lat":48.665685000,"lon":2.248441667,"alt":168.000,"track":0.0000,"speed":0.000,"climb":0.000} $GPGGA,212624.000,4839.9411,N,00214.9065,E,1,04,2.2,168.0,M,47.3,M,,0000*50 $GPRMC,212624.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*66 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-18T21:26:24.000Z","ept":0.005,"lat":48.665685000,"lon":2.248441667,"alt":168.000,"track":0.0000,"speed":0.000,"climb":0.000} $GPGGA,212625.000,4839.9411,N,00214.9065,E,1,03,3.1,168.0,M,47.3,M,,0000*54 $GPRMC,212625.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*67 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-18T21:26:25.000Z","ept":0.005,"lat":48.665685000,"lon":2.248441667,"alt":168.000,"track":0.0000,"speed":0.000,"climb":0.000} $GPGGA,212626.000,4839.9411,N,00214.9065,E,1,04,2.2,168.0,M,47.3,M,,0000*52 $GPRMC,212626.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*64 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-18T21:26:26.000Z","ept":0.005,"lat":48.665685000,"lon":2.248441667,"alt":168.000,"track":0.0000,"speed":0.000,"climb":0.000} $GPGGA,212627.000,4839.9411,N,00214.9065,E,1,04,2.2,168.0,M,47.3,M,,0000*53 $GPRMC,212627.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*65 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-18T21:26:27.000Z","ept":0.005,"lat":48.665685000,"lon":2.248441667,"alt":168.000,"track":0.0000,"speed":0.000,"climb":0.000} $GPGGA,212628.000,4839.9411,N,00214.9065,E,1,04,2.2,168.0,M,47.3,M,,0000*5C $GPRMC,212628.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*6A {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-18T21:26:28.000Z","ept":0.005,"lat":48.665685000,"lon":2.248441667,"alt":168.000,"track":0.0000,"speed":0.000,"climb":0.000} $GPGGA,212629.000,4839.9411,N,00214.9065,E,1,03,3.1,168.0,M,47.3,M,,0000*58 $GPRMC,212629.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*6B {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-18T21:26:29.000Z","ept":0.005,"lat":48.665685000,"lon":2.248441667,"alt":168.000,"track":0.0000,"speed":0.000,"climb":0.000} $GPGGA,212630.000,4839.9411,N,00214.9065,E,1,03,3.1,168.0,M,47.3,M,,0000*50 $GPRMC,212630.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*63 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-18T21:26:30.000Z","ept":0.005,"lat":48.665685000,"lon":2.248441667,"alt":168.000,"track":0.0000,"speed":0.000,"climb":0.000} $GPGGA,212631.000,4839.9411,N,00214.9065,E,1,03,3.1,168.0,M,47.3,M,,0000*51 $GPRMC,212631.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*62 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-18T21:26:31.000Z","ept":0.005,"lat":48.665685000,"lon":2.248441667,"alt":168.000,"track":0.0000,"speed":0.000,"climb":0.000} $GPGGA,212632.000,4839.9411,N,00214.9065,E,1,04,2.2,168.0,M,47.3,M,,0000*57 $GPRMC,212632.000,A,4839.9411,N,00214.9065,E,0.00,,181207,0,A*61 {"class":"TPV","tag":"RMC","mode":3,"time":"2007-12-18T21:26:32.000Z","ept":0.005,"lat":48.665685000,"lon":2.248441667,"alt":168.000,"track":0.0000,"speed":0.000,"climb":0.000} gpsd-3.9/test/daemon/mr-350p.log0000664000175000017500000003462212022350503014517 0ustar esresr# Name: GlobalSat MR-350p # Chipset = SiRF-3 # Firmware = unknown # Date = 2012-07-04 # Submitter = Tony Hain # Location = 4744.6977N,12206.7277W # Notes: Mast mounted for stable NTP reference. $GPGGA,051133.000,4744.6977,N,12206.7277,W,1,05,1.9,136.4,M,-17.1,M,18.8,0000*7D $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051134.000,04,07,2012,,*56 $GPGGA,051134.000,4744.6980,N,12206.7275,W,1,05,1.9,135.4,M,-17.1,M,18.8,0000*73 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051135.000,04,07,2012,,*57 $GPGGA,051135.000,4744.6981,N,12206.7273,W,1,05,1.9,134.7,M,-17.1,M,18.8,0000*77 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051136.000,04,07,2012,,*54 $GPGGA,051136.000,4744.6980,N,12206.7271,W,1,05,1.9,134.2,M,-17.1,M,18.8,0000*72 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051137.000,04,07,2012,,*55 $GPGGA,051137.000,4744.6980,N,12206.7274,W,1,05,1.9,134.7,M,-17.1,M,18.8,0000*73 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051138.000,04,07,2012,,*5A $GPGGA,051138.000,4744.6981,N,12206.7278,W,1,05,1.9,135.6,M,-17.1,M,18.8,0000*71 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051139.000,04,07,2012,,*5B $GPGGA,051139.000,4744.6981,N,12206.7281,W,1,05,1.9,136.3,M,-17.1,M,18.8,0000*70 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051140.000,04,07,2012,,*55 $GPGGA,051140.000,4744.6982,N,12206.7285,W,1,05,1.9,137.1,M,-17.1,M,18.8,0000*7A $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051141.000,04,07,2012,,*54 $GPGGA,051141.000,4744.6982,N,12206.7287,W,1,05,1.9,137.7,M,-17.1,M,18.8,0000*7F $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051142.000,04,07,2012,,*57 $GPGGA,051142.000,4744.6982,N,12206.7289,W,1,05,1.9,138.0,M,-17.1,M,18.8,0000*7A $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051143.000,04,07,2012,,*56 $GPGGA,051143.000,4744.6982,N,12206.7290,W,1,05,1.9,138.2,M,-17.1,M,18.8,0000*71 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051144.000,04,07,2012,,*51 $GPGGA,051144.000,4744.6982,N,12206.7292,W,1,05,1.9,138.8,M,-17.1,M,18.8,0000*7E $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051145.000,04,07,2012,,*50 $GPGGA,051145.000,4744.6983,N,12206.7293,W,1,05,1.9,138.8,M,-17.1,M,18.8,0000*7F $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051146.000,04,07,2012,,*53 $GPGGA,051146.000,4744.6984,N,12206.7294,W,1,05,1.9,138.8,M,-17.1,M,18.8,0000*7C $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051147.000,04,07,2012,,*52 $GPGGA,051147.000,4744.6984,N,12206.7294,W,1,05,1.9,138.7,M,-17.1,M,18.8,0000*72 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051148.000,04,07,2012,,*5D $GPGGA,051148.000,4744.6984,N,12206.7294,W,1,05,1.9,138.7,M,-17.1,M,18.8,0000*7D $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051149.000,04,07,2012,,*5C $GPGGA,051149.000,4744.6984,N,12206.7295,W,1,05,1.9,138.9,M,-17.1,M,18.8,0000*73 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051150.000,04,07,2012,,*54 $GPGGA,051150.000,4744.6984,N,12206.7296,W,1,05,1.9,139.2,M,-17.1,M,18.8,0000*72 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051151.000,04,07,2012,,*55 $GPGGA,051151.000,4744.6983,N,12206.7297,W,1,05,1.9,139.5,M,-17.1,M,18.8,0000*72 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051152.000,04,07,2012,,*56 $GPGGA,051152.000,4744.6982,N,12206.7298,W,1,05,1.9,139.8,M,-17.1,M,18.8,0000*72 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051153.000,04,07,2012,,*57 $GPGGA,051153.000,4744.6981,N,12206.7299,W,1,05,1.9,140.2,M,-17.1,M,18.8,0000*75 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051154.000,04,07,2012,,*50 $GPGGA,051154.000,4744.6980,N,12206.7300,W,1,05,1.9,140.5,M,-17.1,M,18.8,0000*75 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051155.000,04,07,2012,,*51 $GPGGA,051155.000,4744.6979,N,12206.7301,W,1,05,1.9,140.9,M,-17.1,M,18.8,0000*7F $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051156.000,04,07,2012,,*52 $GPGGA,051156.000,4744.6979,N,12206.7302,W,1,05,1.9,141.3,M,-17.1,M,18.8,0000*74 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051157.000,04,07,2012,,*53 $GPGGA,051157.000,4744.6978,N,12206.7303,W,1,05,1.9,141.6,M,-17.1,M,18.8,0000*70 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051158.000,04,07,2012,,*5C $GPGGA,051158.000,4744.6976,N,12206.7304,W,1,05,1.9,142.0,M,-17.1,M,18.8,0000*73 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051159.000,04,07,2012,,*5D $GPGGA,051159.000,4744.6975,N,12206.7305,W,1,05,1.9,142.4,M,-17.1,M,18.8,0000*74 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051200.000,04,07,2012,,*52 $GPGGA,051200.000,4744.6974,N,12206.7306,W,1,05,1.9,142.7,M,-17.1,M,18.8,0000*7A $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051201.000,04,07,2012,,*53 $GPGGA,051201.000,4744.6973,N,12206.7306,W,1,05,1.9,143.1,M,-17.1,M,18.8,0000*7B $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051202.000,04,07,2012,,*50 $GPGGA,051202.000,4744.6972,N,12206.7307,W,1,05,1.9,143.4,M,-17.1,M,18.8,0000*7D $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051203.000,04,07,2012,,*51 $GPGGA,051203.000,4744.6971,N,12206.7308,W,1,05,1.9,143.8,M,-17.1,M,18.8,0000*7C $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051204.000,04,07,2012,,*56 $GPGGA,051204.000,4744.6969,N,12206.7309,W,1,05,1.9,144.1,M,-17.1,M,18.8,0000*7D $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051205.000,04,07,2012,,*57 $GPGGA,051205.000,4744.6968,N,12206.7309,W,1,05,1.9,144.5,M,-17.1,M,18.8,0000*79 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051206.000,04,07,2012,,*54 $GPGGA,051206.000,4744.6967,N,12206.7310,W,1,05,1.9,144.8,M,-17.1,M,18.8,0000*70 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051207.000,04,07,2012,,*55 $GPGGA,051207.000,4744.6966,N,12206.7311,W,1,05,1.9,145.2,M,-17.1,M,18.8,0000*7A $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051208.000,04,07,2012,,*5A $GPGGA,051208.000,4744.6964,N,12206.7312,W,1,05,1.9,145.6,M,-17.1,M,18.8,0000*70 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051209.000,04,07,2012,,*5B $GPGGA,051209.000,4744.6963,N,12206.7312,W,1,05,1.9,145.9,M,-17.1,M,18.8,0000*79 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051210.000,04,07,2012,,*53 $GPGGA,051210.000,4744.6962,N,12206.7313,W,1,05,1.9,146.2,M,-17.1,M,18.8,0000*79 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051211.000,04,07,2012,,*52 $GPGGA,051211.000,4744.6960,N,12206.7314,W,1,05,1.9,146.9,M,-17.1,M,18.8,0000*76 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051212.000,04,07,2012,,*51 $GPGGA,051212.000,4744.6961,N,12206.7314,W,1,05,1.9,146.6,M,-17.1,M,18.8,0000*7B $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051213.000,04,07,2012,,*50 $GPGGA,051213.000,4744.6963,N,12206.7313,W,1,05,1.9,146.0,M,-17.1,M,18.8,0000*79 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051214.000,04,07,2012,,*57 $GPGGA,051214.000,4744.6967,N,12206.7312,W,1,05,1.9,145.1,M,-17.1,M,18.8,0000*79 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051215.000,04,07,2012,,*56 $GPGGA,051215.000,4744.6969,N,12206.7311,W,1,05,1.9,144.4,M,-17.1,M,18.8,0000*71 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051216.000,04,07,2012,,*55 $GPGGA,051216.000,4744.6971,N,12206.7310,W,1,05,1.9,143.9,M,-17.1,M,18.8,0000*70 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051217.000,04,07,2012,,*54 $GPGGA,051217.000,4744.6974,N,12206.7309,W,1,05,1.9,143.1,M,-17.1,M,18.8,0000*74 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051218.000,04,07,2012,,*5B $GPGGA,051218.000,4744.6975,N,12206.7309,W,1,05,1.9,142.9,M,-17.1,M,18.8,0000*73 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051219.000,04,07,2012,,*5A $GPGGA,051219.000,4744.6978,N,12206.7307,W,1,05,1.9,141.9,M,-17.1,M,18.8,0000*72 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051220.000,04,07,2012,,*50 $GPGGA,051220.000,4744.6976,N,12206.7308,W,1,05,1.9,142.4,M,-17.1,M,18.8,0000*77 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051221.000,04,07,2012,,*51 $GPGGA,051221.000,4744.6980,N,12206.7306,W,1,05,1.9,141.4,M,-17.1,M,18.8,0000*72 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051222.000,04,07,2012,,*52 $GPGGA,051222.000,4744.6982,N,12206.7305,W,1,05,1.9,140.8,M,-17.1,M,18.8,0000*7D $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051223.000,04,07,2012,,*53 $GPGGA,051223.000,4744.6979,N,12206.7306,W,1,05,1.9,141.5,M,-17.1,M,18.8,0000*77 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051224.000,04,07,2012,,*54 $GPGGA,051224.000,4744.6978,N,12206.7307,W,1,05,1.9,141.6,M,-17.1,M,18.8,0000*73 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051225.000,04,07,2012,,*55 $GPGGA,051225.000,4744.6976,N,12206.7307,W,1,05,1.9,141.9,M,-17.1,M,18.8,0000*73 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051226.000,04,07,2012,,*56 $GPGGA,051226.000,4744.6974,N,12206.7308,W,1,05,1.9,142.5,M,-17.1,M,18.8,0000*72 $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051227.000,04,07,2012,,*57 $GPGGA,051227.000,4744.6973,N,12206.7308,W,1,06,1.7,142.8,M,-17.1,M,128.8,0000*46 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051228.000,04,07,2012,,*58 $GPGGA,051228.000,4744.6971,N,12206.7309,W,1,06,1.7,143.3,M,-17.1,M,128.8,0000*40 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051229.000,04,07,2012,,*59 $GPGGA,051229.000,4744.6970,N,12206.7309,W,1,06,1.7,143.8,M,-17.1,M,128.8,0000*4B $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051230.000,04,07,2012,,*51 $GPGGA,051230.000,4744.6969,N,12206.7309,W,1,06,1.7,143.7,M,-17.1,M,128.8,0000*44 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051231.000,04,07,2012,,*50 $GPGGA,051231.000,4744.6969,N,12206.7309,W,1,06,1.7,143.7,M,-17.1,M,128.8,0000*45 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051232.000,04,07,2012,,*53 $GPGGA,051232.000,4744.6969,N,12206.7310,W,1,06,1.7,143.8,M,-17.1,M,128.8,0000*41 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051233.000,04,07,2012,,*52 $GPGGA,051233.000,4744.6968,N,12206.7310,W,1,06,1.7,143.9,M,-17.1,M,128.8,0000*40 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051234.000,04,07,2012,,*55 $GPGGA,051234.000,4744.6967,N,12206.7310,W,1,06,1.7,144.1,M,-17.1,M,128.8,0000*47 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051235.000,04,07,2012,,*54 $GPGGA,051235.000,4744.6967,N,12206.7310,W,1,06,1.7,144.1,M,-17.1,M,128.8,0000*46 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051236.000,04,07,2012,,*57 $GPGGA,051236.000,4744.6965,N,12206.7311,W,1,06,1.7,144.4,M,-17.1,M,128.8,0000*43 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051237.000,04,07,2012,,*56 $GPGGA,051237.000,4744.6964,N,12206.7312,W,1,06,1.7,144.8,M,-17.1,M,128.8,0000*4C $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051238.000,04,07,2012,,*59 $GPGGA,051238.000,4744.6959,N,12206.7314,W,1,06,1.7,145.9,M,-17.1,M,128.8,0000*4B $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051239.000,04,07,2012,,*58 $GPGGA,051239.000,4744.6959,N,12206.7314,W,1,06,1.7,146.0,M,-17.1,M,128.8,0000*40 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051240.000,04,07,2012,,*56 $GPGGA,051240.000,4744.6959,N,12206.7314,W,1,06,1.7,145.9,M,-17.1,M,128.8,0000*44 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051241.000,04,07,2012,,*57 $GPGGA,051241.000,4744.6958,N,12206.7314,W,1,06,1.7,146.1,M,-17.1,M,128.8,0000*4F $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051242.000,04,07,2012,,*54 $GPGGA,051242.000,4744.6958,N,12206.7315,W,1,06,1.7,146.1,M,-17.1,M,128.8,0000*4D $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051243.000,04,07,2012,,*55 $GPGGA,051243.000,4744.6957,N,12206.7315,W,1,06,1.7,146.3,M,-17.1,M,128.8,0000*41 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051244.000,04,07,2012,,*52 $GPGGA,051244.000,4744.6957,N,12206.7315,W,1,06,1.7,146.4,M,-17.1,M,128.8,0000*41 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051245.000,04,07,2012,,*53 $GPGGA,051245.000,4744.6957,N,12206.7316,W,1,06,1.7,146.3,M,-17.1,M,128.8,0000*44 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051246.000,04,07,2012,,*50 $GPGGA,051246.000,4744.6954,N,12206.7317,W,1,06,1.7,147.0,M,-17.1,M,128.8,0000*47 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051247.000,04,07,2012,,*51 $GPGGA,051247.000,4744.6952,N,12206.7318,W,1,06,1.7,147.6,M,-17.1,M,128.8,0000*49 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051248.000,04,07,2012,,*5E $GPGGA,051248.000,4744.6949,N,12206.7319,W,1,06,1.7,148.2,M,-17.1,M,128.8,0000*46 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051249.000,04,07,2012,,*5F $GPGGA,051249.000,4744.6947,N,12206.7320,W,1,06,1.7,148.8,M,-17.1,M,128.8,0000*49 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051250.000,04,07,2012,,*57 $GPGGA,051250.000,4744.6944,N,12206.7322,W,1,06,1.7,149.4,M,-17.1,M,128.8,0000*4D $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051251.000,04,07,2012,,*56 $GPGGA,051251.000,4744.6942,N,12206.7323,W,1,06,1.7,150.0,M,-17.1,M,128.8,0000*47 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051252.000,04,07,2012,,*55 $GPGGA,051252.000,4744.6940,N,12206.7324,W,1,06,1.7,150.6,M,-17.1,M,128.8,0000*47 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051253.000,04,07,2012,,*54 $GPGGA,051253.000,4744.6937,N,12206.7325,W,1,06,1.7,151.2,M,-17.1,M,128.8,0000*42 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051254.000,04,07,2012,,*53 $GPGGA,051254.000,4744.6934,N,12206.7326,W,1,06,1.7,151.8,M,-17.1,M,128.8,0000*4F $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051255.000,04,07,2012,,*52 $GPGGA,051255.000,4744.6932,N,12206.7328,W,1,06,1.7,152.5,M,-17.1,M,128.8,0000*48 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051256.000,04,07,2012,,*51 $GPGGA,051256.000,4744.6930,N,12206.7329,W,1,06,1.7,153.1,M,-17.1,M,128.8,0000*4D $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051257.000,04,07,2012,,*50 $GPGGA,051257.000,4744.6927,N,12206.7330,W,1,06,1.7,153.7,M,-17.1,M,128.8,0000*44 $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051258.000,04,07,2012,,*5F $GPGGA,051258.000,4744.6924,N,12206.7331,W,1,06,1.7,154.5,M,-17.1,M,128.8,0000*4C $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051259.000,04,07,2012,,*5E $GPGGA,051259.000,4744.6922,N,12206.7332,W,1,06,1.7,155.1,M,-17.1,M,128.8,0000*4D $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051300.000,04,07,2012,,*53 $GPGGA,051300.000,4744.6919,N,12206.7333,W,1,06,1.7,155.7,M,-17.1,M,128.8,0000*4F $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051301.000,04,07,2012,,*52 $GPGGA,051301.000,4744.6917,N,12206.7334,W,1,06,1.7,156.3,M,-17.1,M,128.8,0000*40 gpsd-3.9/test/daemon/mr-350p.log.chk0000664000175000017500000007341512135526361015302 0ustar esresr$GPGGA,051133.000,4744.6977,N,12206.7277,W,1,05,1.9,136.4,M,-17.1,M,18.8,0000*7D {"class":"TPV","tag":"GGA","mode":3,"lat":47.744961667,"lon":-122.112128333,"alt":136.400} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 {"class":"TPV","tag":"GSA","mode":3,"lat":47.744961667,"lon":-122.112128333,"alt":136.400,"epv":41.400} $GPZDA,051134.000,04,07,2012,,*56 $GPGGA,051134.000,4744.6980,N,12206.7275,W,1,05,1.9,135.4,M,-17.1,M,18.8,0000*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:34.000Z","ept":0.005,"lat":47.744966667,"lon":-122.112125000,"alt":135.400,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051135.000,04,07,2012,,*57 $GPGGA,051135.000,4744.6981,N,12206.7273,W,1,05,1.9,134.7,M,-17.1,M,18.8,0000*77 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:35.000Z","ept":0.005,"lat":47.744968333,"lon":-122.112121667,"alt":134.700,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051136.000,04,07,2012,,*54 $GPGGA,051136.000,4744.6980,N,12206.7271,W,1,05,1.9,134.2,M,-17.1,M,18.8,0000*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:36.000Z","ept":0.005,"lat":47.744966667,"lon":-122.112118333,"alt":134.200,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051137.000,04,07,2012,,*55 $GPGGA,051137.000,4744.6980,N,12206.7274,W,1,05,1.9,134.7,M,-17.1,M,18.8,0000*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:37.000Z","ept":0.005,"lat":47.744966667,"lon":-122.112123333,"alt":134.700,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051138.000,04,07,2012,,*5A $GPGGA,051138.000,4744.6981,N,12206.7278,W,1,05,1.9,135.6,M,-17.1,M,18.8,0000*71 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:38.000Z","ept":0.005,"lat":47.744968333,"lon":-122.112130000,"alt":135.600,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051139.000,04,07,2012,,*5B $GPGGA,051139.000,4744.6981,N,12206.7281,W,1,05,1.9,136.3,M,-17.1,M,18.8,0000*70 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:39.000Z","ept":0.005,"lat":47.744968333,"lon":-122.112135000,"alt":136.300,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051140.000,04,07,2012,,*55 $GPGGA,051140.000,4744.6982,N,12206.7285,W,1,05,1.9,137.1,M,-17.1,M,18.8,0000*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:40.000Z","ept":0.005,"lat":47.744970000,"lon":-122.112141667,"alt":137.100,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051141.000,04,07,2012,,*54 $GPGGA,051141.000,4744.6982,N,12206.7287,W,1,05,1.9,137.7,M,-17.1,M,18.8,0000*7F {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:41.000Z","ept":0.005,"lat":47.744970000,"lon":-122.112145000,"alt":137.700,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051142.000,04,07,2012,,*57 $GPGGA,051142.000,4744.6982,N,12206.7289,W,1,05,1.9,138.0,M,-17.1,M,18.8,0000*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:42.000Z","ept":0.005,"lat":47.744970000,"lon":-122.112148333,"alt":138.000,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051143.000,04,07,2012,,*56 $GPGGA,051143.000,4744.6982,N,12206.7290,W,1,05,1.9,138.2,M,-17.1,M,18.8,0000*71 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:43.000Z","ept":0.005,"lat":47.744970000,"lon":-122.112150000,"alt":138.200,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051144.000,04,07,2012,,*51 $GPGGA,051144.000,4744.6982,N,12206.7292,W,1,05,1.9,138.8,M,-17.1,M,18.8,0000*7E {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:44.000Z","ept":0.005,"lat":47.744970000,"lon":-122.112153333,"alt":138.800,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051145.000,04,07,2012,,*50 $GPGGA,051145.000,4744.6983,N,12206.7293,W,1,05,1.9,138.8,M,-17.1,M,18.8,0000*7F {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:45.000Z","ept":0.005,"lat":47.744971667,"lon":-122.112155000,"alt":138.800,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051146.000,04,07,2012,,*53 $GPGGA,051146.000,4744.6984,N,12206.7294,W,1,05,1.9,138.8,M,-17.1,M,18.8,0000*7C {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:46.000Z","ept":0.005,"lat":47.744973333,"lon":-122.112156667,"alt":138.800,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051147.000,04,07,2012,,*52 $GPGGA,051147.000,4744.6984,N,12206.7294,W,1,05,1.9,138.7,M,-17.1,M,18.8,0000*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:47.000Z","ept":0.005,"lat":47.744973333,"lon":-122.112156667,"alt":138.700,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051148.000,04,07,2012,,*5D $GPGGA,051148.000,4744.6984,N,12206.7294,W,1,05,1.9,138.7,M,-17.1,M,18.8,0000*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:48.000Z","ept":0.005,"lat":47.744973333,"lon":-122.112156667,"alt":138.700,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051149.000,04,07,2012,,*5C $GPGGA,051149.000,4744.6984,N,12206.7295,W,1,05,1.9,138.9,M,-17.1,M,18.8,0000*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:49.000Z","ept":0.005,"lat":47.744973333,"lon":-122.112158333,"alt":138.900,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051150.000,04,07,2012,,*54 $GPGGA,051150.000,4744.6984,N,12206.7296,W,1,05,1.9,139.2,M,-17.1,M,18.8,0000*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:50.000Z","ept":0.005,"lat":47.744973333,"lon":-122.112160000,"alt":139.200,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051151.000,04,07,2012,,*55 $GPGGA,051151.000,4744.6983,N,12206.7297,W,1,05,1.9,139.5,M,-17.1,M,18.8,0000*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:51.000Z","ept":0.005,"lat":47.744971667,"lon":-122.112161667,"alt":139.500,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051152.000,04,07,2012,,*56 $GPGGA,051152.000,4744.6982,N,12206.7298,W,1,05,1.9,139.8,M,-17.1,M,18.8,0000*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:52.000Z","ept":0.005,"lat":47.744970000,"lon":-122.112163333,"alt":139.800,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051153.000,04,07,2012,,*57 $GPGGA,051153.000,4744.6981,N,12206.7299,W,1,05,1.9,140.2,M,-17.1,M,18.8,0000*75 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:53.000Z","ept":0.005,"lat":47.744968333,"lon":-122.112165000,"alt":140.200,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051154.000,04,07,2012,,*50 $GPGGA,051154.000,4744.6980,N,12206.7300,W,1,05,1.9,140.5,M,-17.1,M,18.8,0000*75 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:54.000Z","ept":0.005,"lat":47.744966667,"lon":-122.112166667,"alt":140.500,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051155.000,04,07,2012,,*51 $GPGGA,051155.000,4744.6979,N,12206.7301,W,1,05,1.9,140.9,M,-17.1,M,18.8,0000*7F {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:55.000Z","ept":0.005,"lat":47.744965000,"lon":-122.112168333,"alt":140.900,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051156.000,04,07,2012,,*52 $GPGGA,051156.000,4744.6979,N,12206.7302,W,1,05,1.9,141.3,M,-17.1,M,18.8,0000*74 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:56.000Z","ept":0.005,"lat":47.744965000,"lon":-122.112170000,"alt":141.300,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051157.000,04,07,2012,,*53 $GPGGA,051157.000,4744.6978,N,12206.7303,W,1,05,1.9,141.6,M,-17.1,M,18.8,0000*70 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:57.000Z","ept":0.005,"lat":47.744963333,"lon":-122.112171667,"alt":141.600,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051158.000,04,07,2012,,*5C $GPGGA,051158.000,4744.6976,N,12206.7304,W,1,05,1.9,142.0,M,-17.1,M,18.8,0000*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:58.000Z","ept":0.005,"lat":47.744960000,"lon":-122.112173333,"alt":142.000,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051159.000,04,07,2012,,*5D $GPGGA,051159.000,4744.6975,N,12206.7305,W,1,05,1.9,142.4,M,-17.1,M,18.8,0000*74 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:11:59.000Z","ept":0.005,"lat":47.744958333,"lon":-122.112175000,"alt":142.400,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051200.000,04,07,2012,,*52 $GPGGA,051200.000,4744.6974,N,12206.7306,W,1,05,1.9,142.7,M,-17.1,M,18.8,0000*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:00.000Z","ept":0.005,"lat":47.744956667,"lon":-122.112176667,"alt":142.700,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051201.000,04,07,2012,,*53 $GPGGA,051201.000,4744.6973,N,12206.7306,W,1,05,1.9,143.1,M,-17.1,M,18.8,0000*7B {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:01.000Z","ept":0.005,"lat":47.744955000,"lon":-122.112176667,"alt":143.100,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051202.000,04,07,2012,,*50 $GPGGA,051202.000,4744.6972,N,12206.7307,W,1,05,1.9,143.4,M,-17.1,M,18.8,0000*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:02.000Z","ept":0.005,"lat":47.744953333,"lon":-122.112178333,"alt":143.400,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051203.000,04,07,2012,,*51 $GPGGA,051203.000,4744.6971,N,12206.7308,W,1,05,1.9,143.8,M,-17.1,M,18.8,0000*7C {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:03.000Z","ept":0.005,"lat":47.744951667,"lon":-122.112180000,"alt":143.800,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051204.000,04,07,2012,,*56 $GPGGA,051204.000,4744.6969,N,12206.7309,W,1,05,1.9,144.1,M,-17.1,M,18.8,0000*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:04.000Z","ept":0.005,"lat":47.744948333,"lon":-122.112181667,"alt":144.100,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051205.000,04,07,2012,,*57 $GPGGA,051205.000,4744.6968,N,12206.7309,W,1,05,1.9,144.5,M,-17.1,M,18.8,0000*79 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:05.000Z","ept":0.005,"lat":47.744946667,"lon":-122.112181667,"alt":144.500,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051206.000,04,07,2012,,*54 $GPGGA,051206.000,4744.6967,N,12206.7310,W,1,05,1.9,144.8,M,-17.1,M,18.8,0000*70 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:06.000Z","ept":0.005,"lat":47.744945000,"lon":-122.112183333,"alt":144.800,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051207.000,04,07,2012,,*55 $GPGGA,051207.000,4744.6966,N,12206.7311,W,1,05,1.9,145.2,M,-17.1,M,18.8,0000*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:07.000Z","ept":0.005,"lat":47.744943333,"lon":-122.112185000,"alt":145.200,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051208.000,04,07,2012,,*5A $GPGGA,051208.000,4744.6964,N,12206.7312,W,1,05,1.9,145.6,M,-17.1,M,18.8,0000*70 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:08.000Z","ept":0.005,"lat":47.744940000,"lon":-122.112186667,"alt":145.600,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051209.000,04,07,2012,,*5B $GPGGA,051209.000,4744.6963,N,12206.7312,W,1,05,1.9,145.9,M,-17.1,M,18.8,0000*79 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:09.000Z","ept":0.005,"lat":47.744938333,"lon":-122.112186667,"alt":145.900,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051210.000,04,07,2012,,*53 $GPGGA,051210.000,4744.6962,N,12206.7313,W,1,05,1.9,146.2,M,-17.1,M,18.8,0000*79 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:10.000Z","ept":0.005,"lat":47.744936667,"lon":-122.112188333,"alt":146.200,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051211.000,04,07,2012,,*52 $GPGGA,051211.000,4744.6960,N,12206.7314,W,1,05,1.9,146.9,M,-17.1,M,18.8,0000*76 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:11.000Z","ept":0.005,"lat":47.744933333,"lon":-122.112190000,"alt":146.900,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051212.000,04,07,2012,,*51 $GPGGA,051212.000,4744.6961,N,12206.7314,W,1,05,1.9,146.6,M,-17.1,M,18.8,0000*7B {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:12.000Z","ept":0.005,"lat":47.744935000,"lon":-122.112190000,"alt":146.600,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051213.000,04,07,2012,,*50 $GPGGA,051213.000,4744.6963,N,12206.7313,W,1,05,1.9,146.0,M,-17.1,M,18.8,0000*79 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:13.000Z","ept":0.005,"lat":47.744938333,"lon":-122.112188333,"alt":146.000,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051214.000,04,07,2012,,*57 $GPGGA,051214.000,4744.6967,N,12206.7312,W,1,05,1.9,145.1,M,-17.1,M,18.8,0000*79 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:14.000Z","ept":0.005,"lat":47.744945000,"lon":-122.112186667,"alt":145.100,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051215.000,04,07,2012,,*56 $GPGGA,051215.000,4744.6969,N,12206.7311,W,1,05,1.9,144.4,M,-17.1,M,18.8,0000*71 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:15.000Z","ept":0.005,"lat":47.744948333,"lon":-122.112185000,"alt":144.400,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051216.000,04,07,2012,,*55 $GPGGA,051216.000,4744.6971,N,12206.7310,W,1,05,1.9,143.9,M,-17.1,M,18.8,0000*70 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:16.000Z","ept":0.005,"lat":47.744951667,"lon":-122.112183333,"alt":143.900,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051217.000,04,07,2012,,*54 $GPGGA,051217.000,4744.6974,N,12206.7309,W,1,05,1.9,143.1,M,-17.1,M,18.8,0000*74 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:17.000Z","ept":0.005,"lat":47.744956667,"lon":-122.112181667,"alt":143.100,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051218.000,04,07,2012,,*5B $GPGGA,051218.000,4744.6975,N,12206.7309,W,1,05,1.9,142.9,M,-17.1,M,18.8,0000*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:18.000Z","ept":0.005,"lat":47.744958333,"lon":-122.112181667,"alt":142.900,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051219.000,04,07,2012,,*5A $GPGGA,051219.000,4744.6978,N,12206.7307,W,1,05,1.9,141.9,M,-17.1,M,18.8,0000*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:19.000Z","ept":0.005,"lat":47.744963333,"lon":-122.112178333,"alt":141.900,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051220.000,04,07,2012,,*50 $GPGGA,051220.000,4744.6976,N,12206.7308,W,1,05,1.9,142.4,M,-17.1,M,18.8,0000*77 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:20.000Z","ept":0.005,"lat":47.744960000,"lon":-122.112180000,"alt":142.400,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051221.000,04,07,2012,,*51 $GPGGA,051221.000,4744.6980,N,12206.7306,W,1,05,1.9,141.4,M,-17.1,M,18.8,0000*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:21.000Z","ept":0.005,"lat":47.744966667,"lon":-122.112176667,"alt":141.400,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051222.000,04,07,2012,,*52 $GPGGA,051222.000,4744.6982,N,12206.7305,W,1,05,1.9,140.8,M,-17.1,M,18.8,0000*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:22.000Z","ept":0.005,"lat":47.744970000,"lon":-122.112175000,"alt":140.800,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051223.000,04,07,2012,,*53 $GPGGA,051223.000,4744.6979,N,12206.7306,W,1,05,1.9,141.5,M,-17.1,M,18.8,0000*77 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:23.000Z","ept":0.005,"lat":47.744965000,"lon":-122.112176667,"alt":141.500,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051224.000,04,07,2012,,*54 $GPGGA,051224.000,4744.6978,N,12206.7307,W,1,05,1.9,141.6,M,-17.1,M,18.8,0000*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:24.000Z","ept":0.005,"lat":47.744963333,"lon":-122.112178333,"alt":141.600,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051225.000,04,07,2012,,*55 $GPGGA,051225.000,4744.6976,N,12206.7307,W,1,05,1.9,141.9,M,-17.1,M,18.8,0000*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:25.000Z","ept":0.005,"lat":47.744960000,"lon":-122.112178333,"alt":141.900,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051226.000,04,07,2012,,*56 $GPGGA,051226.000,4744.6974,N,12206.7308,W,1,05,1.9,142.5,M,-17.1,M,18.8,0000*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:26.000Z","ept":0.005,"lat":47.744956667,"lon":-122.112180000,"alt":142.500,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,29,30,,,,,,,,2.6,1.9,1.8*38 $GPZDA,051227.000,04,07,2012,,*57 $GPGGA,051227.000,4744.6973,N,12206.7308,W,1,06,1.7,142.8,M,-17.1,M,128.8,0000*46 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:27.000Z","ept":0.005,"lat":47.744955000,"lon":-122.112180000,"alt":142.800,"epv":41.400,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051228.000,04,07,2012,,*58 $GPGGA,051228.000,4744.6971,N,12206.7309,W,1,06,1.7,143.3,M,-17.1,M,128.8,0000*40 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:28.000Z","ept":0.005,"lat":47.744951667,"lon":-122.112181667,"alt":143.300,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051229.000,04,07,2012,,*59 $GPGGA,051229.000,4744.6970,N,12206.7309,W,1,06,1.7,143.8,M,-17.1,M,128.8,0000*4B {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:29.000Z","ept":0.005,"lat":47.744950000,"lon":-122.112181667,"alt":143.800,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051230.000,04,07,2012,,*51 $GPGGA,051230.000,4744.6969,N,12206.7309,W,1,06,1.7,143.7,M,-17.1,M,128.8,0000*44 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:30.000Z","ept":0.005,"lat":47.744948333,"lon":-122.112181667,"alt":143.700,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051231.000,04,07,2012,,*50 $GPGGA,051231.000,4744.6969,N,12206.7309,W,1,06,1.7,143.7,M,-17.1,M,128.8,0000*45 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:31.000Z","ept":0.005,"lat":47.744948333,"lon":-122.112181667,"alt":143.700,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051232.000,04,07,2012,,*53 $GPGGA,051232.000,4744.6969,N,12206.7310,W,1,06,1.7,143.8,M,-17.1,M,128.8,0000*41 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:32.000Z","ept":0.005,"lat":47.744948333,"lon":-122.112183333,"alt":143.800,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051233.000,04,07,2012,,*52 $GPGGA,051233.000,4744.6968,N,12206.7310,W,1,06,1.7,143.9,M,-17.1,M,128.8,0000*40 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:33.000Z","ept":0.005,"lat":47.744946667,"lon":-122.112183333,"alt":143.900,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051234.000,04,07,2012,,*55 $GPGGA,051234.000,4744.6967,N,12206.7310,W,1,06,1.7,144.1,M,-17.1,M,128.8,0000*47 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:34.000Z","ept":0.005,"lat":47.744945000,"lon":-122.112183333,"alt":144.100,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051235.000,04,07,2012,,*54 $GPGGA,051235.000,4744.6967,N,12206.7310,W,1,06,1.7,144.1,M,-17.1,M,128.8,0000*46 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:35.000Z","ept":0.005,"lat":47.744945000,"lon":-122.112183333,"alt":144.100,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051236.000,04,07,2012,,*57 $GPGGA,051236.000,4744.6965,N,12206.7311,W,1,06,1.7,144.4,M,-17.1,M,128.8,0000*43 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:36.000Z","ept":0.005,"lat":47.744941667,"lon":-122.112185000,"alt":144.400,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051237.000,04,07,2012,,*56 $GPGGA,051237.000,4744.6964,N,12206.7312,W,1,06,1.7,144.8,M,-17.1,M,128.8,0000*4C {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:37.000Z","ept":0.005,"lat":47.744940000,"lon":-122.112186667,"alt":144.800,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051238.000,04,07,2012,,*59 $GPGGA,051238.000,4744.6959,N,12206.7314,W,1,06,1.7,145.9,M,-17.1,M,128.8,0000*4B {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:38.000Z","ept":0.005,"lat":47.744931667,"lon":-122.112190000,"alt":145.900,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051239.000,04,07,2012,,*58 $GPGGA,051239.000,4744.6959,N,12206.7314,W,1,06,1.7,146.0,M,-17.1,M,128.8,0000*40 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:39.000Z","ept":0.005,"lat":47.744931667,"lon":-122.112190000,"alt":146.000,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051240.000,04,07,2012,,*56 $GPGGA,051240.000,4744.6959,N,12206.7314,W,1,06,1.7,145.9,M,-17.1,M,128.8,0000*44 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:40.000Z","ept":0.005,"lat":47.744931667,"lon":-122.112190000,"alt":145.900,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051241.000,04,07,2012,,*57 $GPGGA,051241.000,4744.6958,N,12206.7314,W,1,06,1.7,146.1,M,-17.1,M,128.8,0000*4F {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:41.000Z","ept":0.005,"lat":47.744930000,"lon":-122.112190000,"alt":146.100,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051242.000,04,07,2012,,*54 $GPGGA,051242.000,4744.6958,N,12206.7315,W,1,06,1.7,146.1,M,-17.1,M,128.8,0000*4D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:42.000Z","ept":0.005,"lat":47.744930000,"lon":-122.112191667,"alt":146.100,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051243.000,04,07,2012,,*55 $GPGGA,051243.000,4744.6957,N,12206.7315,W,1,06,1.7,146.3,M,-17.1,M,128.8,0000*41 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:43.000Z","ept":0.005,"lat":47.744928333,"lon":-122.112191667,"alt":146.300,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051244.000,04,07,2012,,*52 $GPGGA,051244.000,4744.6957,N,12206.7315,W,1,06,1.7,146.4,M,-17.1,M,128.8,0000*41 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:44.000Z","ept":0.005,"lat":47.744928333,"lon":-122.112191667,"alt":146.400,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051245.000,04,07,2012,,*53 $GPGGA,051245.000,4744.6957,N,12206.7316,W,1,06,1.7,146.3,M,-17.1,M,128.8,0000*44 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:45.000Z","ept":0.005,"lat":47.744928333,"lon":-122.112193333,"alt":146.300,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051246.000,04,07,2012,,*50 $GPGGA,051246.000,4744.6954,N,12206.7317,W,1,06,1.7,147.0,M,-17.1,M,128.8,0000*47 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:46.000Z","ept":0.005,"lat":47.744923333,"lon":-122.112195000,"alt":147.000,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051247.000,04,07,2012,,*51 $GPGGA,051247.000,4744.6952,N,12206.7318,W,1,06,1.7,147.6,M,-17.1,M,128.8,0000*49 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:47.000Z","ept":0.005,"lat":47.744920000,"lon":-122.112196667,"alt":147.600,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051248.000,04,07,2012,,*5E $GPGGA,051248.000,4744.6949,N,12206.7319,W,1,06,1.7,148.2,M,-17.1,M,128.8,0000*46 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:48.000Z","ept":0.005,"lat":47.744915000,"lon":-122.112198333,"alt":148.200,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051249.000,04,07,2012,,*5F $GPGGA,051249.000,4744.6947,N,12206.7320,W,1,06,1.7,148.8,M,-17.1,M,128.8,0000*49 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:49.000Z","ept":0.005,"lat":47.744911667,"lon":-122.112200000,"alt":148.800,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051250.000,04,07,2012,,*57 $GPGGA,051250.000,4744.6944,N,12206.7322,W,1,06,1.7,149.4,M,-17.1,M,128.8,0000*4D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:50.000Z","ept":0.005,"lat":47.744906667,"lon":-122.112203333,"alt":149.400,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051251.000,04,07,2012,,*56 $GPGGA,051251.000,4744.6942,N,12206.7323,W,1,06,1.7,150.0,M,-17.1,M,128.8,0000*47 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:51.000Z","ept":0.005,"lat":47.744903333,"lon":-122.112205000,"alt":150.000,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051252.000,04,07,2012,,*55 $GPGGA,051252.000,4744.6940,N,12206.7324,W,1,06,1.7,150.6,M,-17.1,M,128.8,0000*47 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:52.000Z","ept":0.005,"lat":47.744900000,"lon":-122.112206667,"alt":150.600,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051253.000,04,07,2012,,*54 $GPGGA,051253.000,4744.6937,N,12206.7325,W,1,06,1.7,151.2,M,-17.1,M,128.8,0000*42 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:53.000Z","ept":0.005,"lat":47.744895000,"lon":-122.112208333,"alt":151.200,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051254.000,04,07,2012,,*53 $GPGGA,051254.000,4744.6934,N,12206.7326,W,1,06,1.7,151.8,M,-17.1,M,128.8,0000*4F {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:54.000Z","ept":0.005,"lat":47.744890000,"lon":-122.112210000,"alt":151.800,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051255.000,04,07,2012,,*52 $GPGGA,051255.000,4744.6932,N,12206.7328,W,1,06,1.7,152.5,M,-17.1,M,128.8,0000*48 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:55.000Z","ept":0.005,"lat":47.744886667,"lon":-122.112213333,"alt":152.500,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051256.000,04,07,2012,,*51 $GPGGA,051256.000,4744.6930,N,12206.7329,W,1,06,1.7,153.1,M,-17.1,M,128.8,0000*4D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:56.000Z","ept":0.005,"lat":47.744883333,"lon":-122.112215000,"alt":153.100,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051257.000,04,07,2012,,*50 $GPGGA,051257.000,4744.6927,N,12206.7330,W,1,06,1.7,153.7,M,-17.1,M,128.8,0000*44 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:57.000Z","ept":0.005,"lat":47.744878333,"lon":-122.112216667,"alt":153.700,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051258.000,04,07,2012,,*5F $GPGGA,051258.000,4744.6924,N,12206.7331,W,1,06,1.7,154.5,M,-17.1,M,128.8,0000*4C {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:58.000Z","ept":0.005,"lat":47.744873333,"lon":-122.112218333,"alt":154.500,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051259.000,04,07,2012,,*5E $GPGGA,051259.000,4744.6922,N,12206.7332,W,1,06,1.7,155.1,M,-17.1,M,128.8,0000*4D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:12:59.000Z","ept":0.005,"lat":47.744870000,"lon":-122.112220000,"alt":155.100,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051300.000,04,07,2012,,*53 $GPGGA,051300.000,4744.6919,N,12206.7333,W,1,06,1.7,155.7,M,-17.1,M,128.8,0000*4F {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:13:00.000Z","ept":0.005,"lat":47.744865000,"lon":-122.112221667,"alt":155.700,"epv":36.800,"speed":0.000,"climb":0.000} $GPGSA,A,3,12,25,21,31,29,30,,,,,,,2.4,1.7,1.6*38 $GPZDA,051301.000,04,07,2012,,*52 $GPGGA,051301.000,4744.6917,N,12206.7334,W,1,06,1.7,156.3,M,-17.1,M,128.8,0000*40 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-07-04T05:13:01.000Z","ept":0.005,"lat":47.744861667,"lon":-122.112223333,"alt":156.300,"epv":36.800,"speed":0.000,"climb":0.000} gpsd-3.9/test/daemon/mtk-3301.log0000664000175000017500000001244111762140437014603 0ustar esresr# Name: San Jose Navigation FV-M11 # Chipset: MKT-3301 # Submitter: "Henk Fijnvandraat" # Date: 2008-08-23 # Location: Enschede, NL, 52.21N 6.88E # # NMEA version V3.01 # # Dump made with FTDI TTL-232R-3V3 connected to module serial port # Log created with Kermit logging from /dev/ttyUSB0 at 4800 baud # Log shows entire power up to first fix sequence # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # # power up # $PMTK010,001*2E $POLYN,TIME,RESTART_OCCURRED $POLYN,EPH,0,00000000 $POLYN,ALM,0,00000000 $GPGGA,235946.005,8960.000000,N,00000.000000,E,0,0,,137.000,M,13.000,M,,*49 $GPRMC,235946.005,V,8960.000000,N,00000.000000,E,0.000,0.00,050180,,,N*47 $PMTKCHN,14001,29001,23001,02001,21001,11001,16001,28001,05001,20001,22001,18001,06001,19001,07001,09001,25001,08001,13001,30001,10001,03001,04001,27001,26001,01001,24001,15001,31001,17001,12001,32001*46 $GPVTG,0.00,T,,M,0.000,N,0.000,K,N*32 $GPGGA,235947.004,8960.000000,N,00000.000000,E,0,0,,137.000,M,13.000,M,,*49 $GPRMC,235947.004,V,8960.000000,N,00000.000000,E,0.000,0.00,050180,,,N*47 $PMTKCHN,21312,02001,14001,29001,23001,16001,05001,20001,22001,18001,06001,19001,28031,11282,07001,09001,25001,08001,13001,30001,10001,03001,04001,27001,26001,01001,24001,15001,31001,17001,12001,32001*4D $GPVTG,0.00,T,,M,0.000,N,0.000,K,N*32 $GPGGA,235948.004,8960.000000,N,00000.000000,E,0,0,,137.000,M,13.000,M,,*46 $GPRMC,235948.004,V,8960.000000,N,00000.000000,E,0.000,0.00,050180,,,N*48 $PMTKCHN,21412,28492,22001,14001,29001,23001,02001,11001,16001,05001,20001,06031,19001,18031,07001,09001,25001,08001,13001,30001,10001,03001,04001,27001,26001,01001,24001,15001,31001,17001,12001,32001*4E $GPVTG,0.00,T,,M,0.000,N,0.000,K,N*32 $GPGGA,235949.004,8960.000000,N,00000.000000,E,0,0,,137.000,M,13.000,M,,*47 $GPRMC,235949.004,V,8960.000000,N,00000.000000,E,0.000,0.00,050180,,,N*49 $PMTKCHN,21422,28502,22242,09282,07432,14001,29001,23001,02001,11001,16001,13031,25031,08031,05001,20001,18001,06001,19001,30001,10001,03001,04001,27001,26001,01001,24001,15001,31001,17001,12001,32001*4E $GPVTG,0.00,T,,M,0.000,N,0.000,K,N*32 $GPGGA,235950.004,8960.000000,N,00000.000000,E,0,0,,137.000,M,13.000,M,,*4F $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,2,1,06,21,,,40,28,,,47,25,,,43,07,,,40*71 $GPGSV,2,2,06,08,,,49,10,,,41*7E $GPRMC,235950.004,V,8960.000000,N,00000.000000,E,0.000,0.00,050180,,,N*41 $PMTKCHN,21402,28472,14001,25432,07402,08492,29001,10412,23001,02001,11001,03031,04031,27031,16001,05001,20001,22001,18001,06001,19001,09001,13001,30001,26001,01001,24001,15001,31001,17001,12001,32001*49 $GPVTG,0.00,T,,M,0.000,N,0.000,K,N*32 $GPGGA,081433.591,8960.000000,N,00000.000000,E,0,0,,137.000,M,13.000,M,,*43 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,21,,,42,28,,,52,26,,,48,25,,,45*7E $GPGSV,3,2,12,07,,,44,08,,,50,27,,,48,10,,,44*79 $GPGSV,3,3,12,15,,,45,03,,,38,19,,,39,05,,,25*77 $GPRMC,081433.591,V,8960.000000,N,00000.000000,E,0.000,0.00,120180,,,N*4B $PMTKCHN,21422,28522,26482,25452,07442,08502,27482,10442,15452,03382,19392,05252,16342,22031,14001,29001,23001,02001,11001,20001,18001,06001,09001,13001,30001,04001,01001,24001,31001,17001,12001,32001*43 $GPVTG,0.00,T,,M,0.000,N,0.000,K,N*32 $GPGGA,081434.590,5212.978993,N,00653.097906,E,0,3,,102.907,M,47.093,M,,*42 $GPRMC,081434.590,V,5212.978993,N,00653.097906,E,0.052,0.00,230808,,,N*46 $PMTKCHN,21422,28522,26482,25452,07442,08502,27482,10442,15452,03392,19392,18031,06031,22252,14001,29001,23001,02001,11001,16001,05001,20001,09001,13001,30001,04001,01001,24001,31001,17001,12001,32001*45 $GPVTG,0.00,T,,M,0.052,N,0.097,K,N*3B $GPGGA,081436.000,5212.982135,N,00653.101394,E,1,3,2.88,102.907,M,47.093,M,,*5F $GPRMC,081436.000,A,5212.982135,N,00653.101394,E,0.039,0.00,230808,,,A*53 $PMTKCHN,21422,28522,26482,25452,07442,08502,27482,10442,15452,03392,19392,13031,06031,09272,14001,29001,23001,02001,11001,16001,05001,20001,22001,18001,30001,04001,01001,24001,31001,17001,12001,32001*47 $GPVTG,0.00,T,,M,0.039,N,0.072,K,A*32 $GPGGA,081437.000,5212.981473,N,00653.102458,E,1,3,2.88,102.907,M,47.093,M,,*5E $GPRMC,081437.000,A,5212.981473,N,00653.102458,E,0.039,0.00,230808,,,A*52 $PMTKCHN,21422,28522,26482,25452,07442,08502,27482,10442,15452,03392,19392,13031,29031,14031,23001,02001,11001,16001,05001,20001,22001,18001,06001,09001,30001,04001,01001,24001,31001,17001,12001,32001*42 $GPVTG,0.00,T,,M,0.039,N,0.073,K,A*33 $GPGGA,081438.000,5212.982641,N,00653.105897,E,1,3,2.88,102.912,M,47.093,M,,*5D $GPRMC,081438.000,A,5212.982641,N,00653.105897,E,0.042,0.00,230808,,,A*59 $PMTKCHN,21422,28522,26482,25452,07442,08502,27482,10442,15452,03392,19392,13342,29031,14342,23001,02001,11001,16001,05001,20001,22001,18001,06001,09001,30001,04001,01001,24001,31001,17001,12001,32001*42 $GPVTG,0.00,T,,M,0.042,N,0.079,K,A*35 $GPGGA,081439.000,5212.981832,N,00653.104686,E,1,3,2.88,102.930,M,47.093,M,,*5A $GPGSA,A,2,21,28,08,,,,,,,,,,3.05,2.88,1.00*07 $GPGSV,3,1,11,08,63,065,50,28,42,144,52,21,13,320,42,26,,,48*44 $GPGSV,3,2,11,25,,,45,07,,,44,27,,,48,10,,,44*71 $GPGSV,3,3,11,15,,,45,03,,,39,19,,,39*77 $GPRMC,081439.000,A,5212.981832,N,00653.104686,E,0.205,0.00,230808,,,A*5F $PMTKCHN,21422,28522,26482,25452,07442,08502,27482,10442,15452,03392,19392,02031,29342,23031,14001,11001,16001,05001,20001,22001,18001,06001,09001,13001,30001,04001,01001,24001,31001,17001,12001,32001*45 $GPVTG,0.00,T,,M,0.205,N,0.379,K,A*37 gpsd-3.9/test/daemon/mtk-3301.log.chk0000664000175000017500000001442012135526362015346 0ustar esresr$PMTK010,001*2E $POLYN,TIME,RESTART_OCCURRED $POLYN,EPH,0,00000000 $POLYN,ALM,0,00000000 $GPGGA,235946.005,8960.000000,N,00000.000000,E,0,0,,137.000,M,13.000,M,,*49 $GPRMC,235946.005,V,8960.000000,N,00000.000000,E,0.000,0.00,050180,,,N*47 $PMTKCHN,14001,29001,23001,02001,21001,11001,16001,28001,05001,20001,22001,18001,06001,19001,07001,09001,25001,08001,13001,30001,10001,03001,04001,27001,26001,01001,24001,15001,31001,17001,12001,32001*46 $GPVTG,0.00,T,,M,0.000,N,0.000,K,N*32 $GPGGA,235947.004,8960.000000,N,00000.000000,E,0,0,,137.000,M,13.000,M,,*49 $GPRMC,235947.004,V,8960.000000,N,00000.000000,E,0.000,0.00,050180,,,N*47 $PMTKCHN,21312,02001,14001,29001,23001,16001,05001,20001,22001,18001,06001,19001,28031,11282,07001,09001,25001,08001,13001,30001,10001,03001,04001,27001,26001,01001,24001,15001,31001,17001,12001,32001*4D $GPVTG,0.00,T,,M,0.000,N,0.000,K,N*32 $GPGGA,235948.004,8960.000000,N,00000.000000,E,0,0,,137.000,M,13.000,M,,*46 $GPRMC,235948.004,V,8960.000000,N,00000.000000,E,0.000,0.00,050180,,,N*48 $PMTKCHN,21412,28492,22001,14001,29001,23001,02001,11001,16001,05001,20001,06031,19001,18031,07001,09001,25001,08001,13001,30001,10001,03001,04001,27001,26001,01001,24001,15001,31001,17001,12001,32001*4E $GPVTG,0.00,T,,M,0.000,N,0.000,K,N*32 $GPGGA,235949.004,8960.000000,N,00000.000000,E,0,0,,137.000,M,13.000,M,,*47 $GPRMC,235949.004,V,8960.000000,N,00000.000000,E,0.000,0.00,050180,,,N*49 $PMTKCHN,21422,28502,22242,09282,07432,14001,29001,23001,02001,11001,16001,13031,25031,08031,05001,20001,18001,06001,19001,30001,10001,03001,04001,27001,26001,01001,24001,15001,31001,17001,12001,32001*4E $GPVTG,0.00,T,,M,0.000,N,0.000,K,N*32 $GPGGA,235950.004,8960.000000,N,00000.000000,E,0,0,,137.000,M,13.000,M,,*4F $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,2,1,06,21,,,40,28,,,47,25,,,43,07,,,40*71 $GPGSV,2,2,06,08,,,49,10,,,41*7E $GPRMC,235950.004,V,8960.000000,N,00000.000000,E,0.000,0.00,050180,,,N*41 $PMTKCHN,21402,28472,14001,25432,07402,08492,29001,10412,23001,02001,11001,03031,04031,27031,16001,05001,20001,22001,18001,06001,19001,09001,13001,30001,26001,01001,24001,15001,31001,17001,12001,32001*49 $GPVTG,0.00,T,,M,0.000,N,0.000,K,N*32 $GPGGA,081433.591,8960.000000,N,00000.000000,E,0,0,,137.000,M,13.000,M,,*43 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,12,21,,,42,28,,,52,26,,,48,25,,,45*7E $GPGSV,3,2,12,07,,,44,08,,,50,27,,,48,10,,,44*79 $GPGSV,3,3,12,15,,,45,03,,,38,19,,,39,05,,,25*77 $GPRMC,081433.591,V,8960.000000,N,00000.000000,E,0.000,0.00,120180,,,N*4B $PMTKCHN,21422,28522,26482,25452,07442,08502,27482,10442,15452,03382,19392,05252,16342,22031,14001,29001,23001,02001,11001,20001,18001,06001,09001,13001,30001,04001,01001,24001,31001,17001,12001,32001*43 $GPVTG,0.00,T,,M,0.000,N,0.000,K,N*32 $GPGGA,081434.590,5212.978993,N,00653.097906,E,0,3,,102.907,M,47.093,M,,*42 $GPRMC,081434.590,V,5212.978993,N,00653.097906,E,0.052,0.00,230808,,,N*46 $PMTKCHN,21422,28522,26482,25452,07442,08502,27482,10442,15452,03392,19392,18031,06031,22252,14001,29001,23001,02001,11001,16001,05001,20001,09001,13001,30001,04001,01001,24001,31001,17001,12001,32001*45 $GPVTG,0.00,T,,M,0.052,N,0.097,K,N*3B $GPGGA,081436.000,5212.982135,N,00653.101394,E,1,3,2.88,102.907,M,47.093,M,,*5F {"class":"TPV","tag":"GGA","mode":3,"lat":52.216368917,"lon":6.885023233,"alt":102.907,"epv":0.000} $GPRMC,081436.000,A,5212.982135,N,00653.101394,E,0.039,0.00,230808,,,A*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2008-08-23T08:14:36.000Z","ept":0.005,"lat":52.216368917,"lon":6.885023233,"alt":102.907,"epv":0.000,"track":0.0000,"speed":0.020} $PMTKCHN,21422,28522,26482,25452,07442,08502,27482,10442,15452,03392,19392,13031,06031,09272,14001,29001,23001,02001,11001,16001,05001,20001,22001,18001,30001,04001,01001,24001,31001,17001,12001,32001*47 $GPVTG,0.00,T,,M,0.039,N,0.072,K,A*32 $GPGGA,081437.000,5212.981473,N,00653.102458,E,1,3,2.88,102.907,M,47.093,M,,*5E $GPRMC,081437.000,A,5212.981473,N,00653.102458,E,0.039,0.00,230808,,,A*52 {"class":"TPV","tag":"RMC","mode":3,"time":"2008-08-23T08:14:37.000Z","ept":0.005,"lat":52.216357883,"lon":6.885040967,"alt":102.907,"epv":0.000,"track":0.0000,"speed":0.020,"climb":0.000} $PMTKCHN,21422,28522,26482,25452,07442,08502,27482,10442,15452,03392,19392,13031,29031,14031,23001,02001,11001,16001,05001,20001,22001,18001,06001,09001,30001,04001,01001,24001,31001,17001,12001,32001*42 $GPVTG,0.00,T,,M,0.039,N,0.073,K,A*33 $GPGGA,081438.000,5212.982641,N,00653.105897,E,1,3,2.88,102.912,M,47.093,M,,*5D $GPRMC,081438.000,A,5212.982641,N,00653.105897,E,0.042,0.00,230808,,,A*59 {"class":"TPV","tag":"RMC","mode":3,"time":"2008-08-23T08:14:38.000Z","ept":0.005,"lat":52.216377350,"lon":6.885098283,"alt":102.912,"epv":0.000,"track":0.0000,"speed":0.022,"climb":0.005} $PMTKCHN,21422,28522,26482,25452,07442,08502,27482,10442,15452,03392,19392,13342,29031,14342,23001,02001,11001,16001,05001,20001,22001,18001,06001,09001,30001,04001,01001,24001,31001,17001,12001,32001*42 $GPVTG,0.00,T,,M,0.042,N,0.079,K,A*35 $GPGGA,081439.000,5212.981832,N,00653.104686,E,1,3,2.88,102.930,M,47.093,M,,*5A $GPGSA,A,2,21,28,08,,,,,,,,,,3.05,2.88,1.00*07 $GPGSV,3,1,11,08,63,065,50,28,42,144,52,21,13,320,42,26,,,48*44 $GPGSV,3,2,11,25,,,45,07,,,44,27,,,48,10,,,44*71 $GPGSV,3,3,11,15,,,45,03,,,39,19,,,39*77 {"class":"SKY","tag":"GSV","vdop":1.00,"hdop":2.88,"pdop":3.05,"satellites":[{"PRN":8,"el":63,"az":65,"ss":50,"used":true},{"PRN":28,"el":42,"az":144,"ss":52,"used":true},{"PRN":21,"el":13,"az":320,"ss":42,"used":true},{"PRN":26,"el":0,"az":0,"ss":48,"used":false},{"PRN":25,"el":0,"az":0,"ss":45,"used":false},{"PRN":7,"el":0,"az":0,"ss":44,"used":false},{"PRN":27,"el":0,"az":0,"ss":48,"used":false},{"PRN":10,"el":0,"az":0,"ss":44,"used":false},{"PRN":15,"el":0,"az":0,"ss":45,"used":false},{"PRN":3,"el":0,"az":0,"ss":39,"used":false},{"PRN":19,"el":0,"az":0,"ss":39,"used":false}]} $GPRMC,081439.000,A,5212.981832,N,00653.104686,E,0.205,0.00,230808,,,A*5F {"class":"TPV","tag":"RMC","mode":3,"time":"2008-08-23T08:14:39.000Z","ept":0.005,"lat":52.216363867,"lon":6.885078100,"alt":102.930,"epv":0.000,"track":0.0000,"speed":0.105,"climb":0.018} $PMTKCHN,21422,28522,26482,25452,07442,08502,27482,10442,15452,03392,19392,02031,29342,23031,14001,11001,16001,05001,20001,22001,18001,06001,09001,13001,30001,04001,01001,24001,31001,17001,12001,32001*45 $GPVTG,0.00,T,,M,0.205,N,0.379,K,A*37 gpsd-3.9/test/daemon/mtk-3329.log0000664000175000017500000000344211762140437014616 0ustar esresr# Name: Fastrax IT520U # Chipset: MTK # Description: OEM module # Submitter: Kai Scharwies # Date: 2011-02-21 # Location: Kamp Lintfort, DE, 51deg 29min N, 6deg 32min E # $GPGSV,3,3,10,28,13,265,15,31,08,100,*7E $GPRMC,102127.000,A,5129.0623,N,00632.2911,E,0.33,30.68,210211,,,A*51 $GPGGA,102128.000,5129.0623,N,00632.2910,E,1,4,1.31,29.7,M,47.4,M,,*6D $GPGSA,A,2,20,17,23,14,,,,,,,,,1.62,1.31,0.95*09 $GPGSV,3,1,10,32,86,204,,24,84,113,,11,73,162,,20,54,245,16*7C $GPGSV,3,2,10,17,32,308,33,14,27,045,31,19,15,167,,23,14,188,25*78 $GPGSV,3,3,10,28,13,265,,31,08,100,*7A $PMTK001,604,1*30 $GPRMC,102128.000,A,5129.0623,N,00632.2910,E,0.23,30.68,210211,,,A*5E $GPGGA,102129.000,5129.0620,N,00632.2906,E,1,4,1.31,29.7,M,47.4,M,,*68 $GPGSA,A,2,20,17,23,14,,,,,,,,,1.62,1.31,0.95*09 $GPGSV,3,1,10,32,86,204,,24,84,113,,11,73,162,,20,54,245,15*7F $GPGSV,3,2,10,17,32,308,33,14,27,045,32,19,15,167,,23,14,188,25*7B $GPGSV,3,3,10,28,13,265,,31,08,100,*7A $GPRMC,102129.000,A,5129.0620,N,00632.2906,E,0.20,30.68,210211,,,A*58 $GPGGA,102130.000,5129.0620,N,00632.2905,E,1,4,1.31,29.7,M,47.4,M,,*63 $GPGSA,A,2,20,17,23,14,,,,,,,,,1.62,1.31,0.95*09 $GPGSV,3,1,10,32,86,204,,24,84,113,,11,73,162,,20,54,245,15*7F $GPGSV,3,2,10,17,32,308,33,14,27,045,32,19,15,167,,23,14,188,25*7B $GPGSV,3,3,10,28,13,265,,31,08,100,*7A $PMTK705,AXN_1.30,0145,Fastrax IT500,*67 $GPRMC,102130.000,A,5129.0620,N,00632.2905,E,0.16,30.68,210211,,,A*56 $GPGGA,102131.000,5129.0620,N,00632.2904,E,1,4,1.31,29.7,M,47.4,M,,*63 $GPGSA,A,2,20,17,23,14,,,,,,,,,1.62,1.31,0.95*09 $GPGSV,3,1,10,32,86,204,,24,84,113,,11,73,162,,20,54,245,15*7F $GPGSV,3,2,10,17,32,308,32,14,27,045,32,19,15,167,,23,14,188,25*7A $GPGSV,3,3,10,28,13,265,,31,08,100,*7A $GPRMC,102131.000,A,5129.0620,N,00632.2904,E,0.22,30.68,210211,,,A*51 gpsd-3.9/test/daemon/mtk-3329.log.chk0000664000175000017500000001147112135526364015365 0ustar esresr$GPGSV,3,3,10,28,13,265,15,31,08,100,*7E {"class":"SKY","tag":"GSV","satellites":[{"PRN":28,"el":13,"az":265,"ss":15,"used":false},{"PRN":31,"el":8,"az":100,"ss":0,"used":false}]} $GPRMC,102127.000,A,5129.0623,N,00632.2911,E,0.33,30.68,210211,,,A*51 {"class":"TPV","tag":"RMC","mode":2,"time":"2011-02-21T10:21:27.000Z","ept":0.005,"lat":51.484371667,"lon":6.538185000,"track":30.6800,"speed":0.170} $GPGGA,102128.000,5129.0623,N,00632.2910,E,1,4,1.31,29.7,M,47.4,M,,*6D $GPGSA,A,2,20,17,23,14,,,,,,,,,1.62,1.31,0.95*09 $GPGSV,3,1,10,32,86,204,,24,84,113,,11,73,162,,20,54,245,16*7C $GPGSV,3,2,10,17,32,308,33,14,27,045,31,19,15,167,,23,14,188,25*78 $GPGSV,3,3,10,28,13,265,,31,08,100,*7A {"class":"SKY","tag":"GSV","vdop":0.95,"hdop":1.31,"pdop":1.62,"satellites":[{"PRN":32,"el":86,"az":204,"ss":0,"used":false},{"PRN":24,"el":84,"az":113,"ss":0,"used":false},{"PRN":11,"el":73,"az":162,"ss":0,"used":false},{"PRN":20,"el":54,"az":245,"ss":16,"used":true},{"PRN":17,"el":32,"az":308,"ss":33,"used":true},{"PRN":14,"el":27,"az":45,"ss":31,"used":true},{"PRN":19,"el":15,"az":167,"ss":0,"used":false},{"PRN":23,"el":14,"az":188,"ss":25,"used":true},{"PRN":28,"el":13,"az":265,"ss":0,"used":false},{"PRN":31,"el":8,"az":100,"ss":0,"used":false}]} $PMTK001,604,1*30 $GPRMC,102128.000,A,5129.0623,N,00632.2910,E,0.23,30.68,210211,,,A*5E {"class":"TPV","tag":"RMC","mode":3,"time":"2011-02-21T10:21:28.000Z","ept":0.005,"lat":51.484371667,"lon":6.538183333,"alt":29.700,"epv":21.850,"track":30.6800,"speed":0.118,"climb":0.000} $GPGGA,102129.000,5129.0620,N,00632.2906,E,1,4,1.31,29.7,M,47.4,M,,*68 $GPGSA,A,2,20,17,23,14,,,,,,,,,1.62,1.31,0.95*09 $GPGSV,3,1,10,32,86,204,,24,84,113,,11,73,162,,20,54,245,15*7F $GPGSV,3,2,10,17,32,308,33,14,27,045,32,19,15,167,,23,14,188,25*7B $GPGSV,3,3,10,28,13,265,,31,08,100,*7A {"class":"SKY","tag":"GSV","vdop":0.95,"hdop":1.31,"pdop":1.62,"satellites":[{"PRN":32,"el":86,"az":204,"ss":0,"used":false},{"PRN":24,"el":84,"az":113,"ss":0,"used":false},{"PRN":11,"el":73,"az":162,"ss":0,"used":false},{"PRN":20,"el":54,"az":245,"ss":15,"used":true},{"PRN":17,"el":32,"az":308,"ss":33,"used":true},{"PRN":14,"el":27,"az":45,"ss":32,"used":true},{"PRN":19,"el":15,"az":167,"ss":0,"used":false},{"PRN":23,"el":14,"az":188,"ss":25,"used":true},{"PRN":28,"el":13,"az":265,"ss":0,"used":false},{"PRN":31,"el":8,"az":100,"ss":0,"used":false}]} $GPRMC,102129.000,A,5129.0620,N,00632.2906,E,0.20,30.68,210211,,,A*58 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-02-21T10:21:29.000Z","ept":0.005,"lat":51.484366667,"lon":6.538176667,"alt":29.700,"epv":21.850,"track":30.6800,"speed":0.103,"climb":0.000} $GPGGA,102130.000,5129.0620,N,00632.2905,E,1,4,1.31,29.7,M,47.4,M,,*63 $GPGSA,A,2,20,17,23,14,,,,,,,,,1.62,1.31,0.95*09 $GPGSV,3,1,10,32,86,204,,24,84,113,,11,73,162,,20,54,245,15*7F $GPGSV,3,2,10,17,32,308,33,14,27,045,32,19,15,167,,23,14,188,25*7B $GPGSV,3,3,10,28,13,265,,31,08,100,*7A {"class":"SKY","tag":"GSV","vdop":0.95,"hdop":1.31,"pdop":1.62,"satellites":[{"PRN":32,"el":86,"az":204,"ss":0,"used":false},{"PRN":24,"el":84,"az":113,"ss":0,"used":false},{"PRN":11,"el":73,"az":162,"ss":0,"used":false},{"PRN":20,"el":54,"az":245,"ss":15,"used":true},{"PRN":17,"el":32,"az":308,"ss":33,"used":true},{"PRN":14,"el":27,"az":45,"ss":32,"used":true},{"PRN":19,"el":15,"az":167,"ss":0,"used":false},{"PRN":23,"el":14,"az":188,"ss":25,"used":true},{"PRN":28,"el":13,"az":265,"ss":0,"used":false},{"PRN":31,"el":8,"az":100,"ss":0,"used":false}]} $PMTK705,AXN_1.30,0145,Fastrax IT500,*67 $GPRMC,102130.000,A,5129.0620,N,00632.2905,E,0.16,30.68,210211,,,A*56 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-02-21T10:21:30.000Z","ept":0.005,"lat":51.484366667,"lon":6.538175000,"alt":29.700,"epv":21.850,"track":30.6800,"speed":0.082,"climb":0.000} $GPGGA,102131.000,5129.0620,N,00632.2904,E,1,4,1.31,29.7,M,47.4,M,,*63 $GPGSA,A,2,20,17,23,14,,,,,,,,,1.62,1.31,0.95*09 $GPGSV,3,1,10,32,86,204,,24,84,113,,11,73,162,,20,54,245,15*7F $GPGSV,3,2,10,17,32,308,32,14,27,045,32,19,15,167,,23,14,188,25*7A $GPGSV,3,3,10,28,13,265,,31,08,100,*7A {"class":"SKY","tag":"GSV","vdop":0.95,"hdop":1.31,"pdop":1.62,"satellites":[{"PRN":32,"el":86,"az":204,"ss":0,"used":false},{"PRN":24,"el":84,"az":113,"ss":0,"used":false},{"PRN":11,"el":73,"az":162,"ss":0,"used":false},{"PRN":20,"el":54,"az":245,"ss":15,"used":true},{"PRN":17,"el":32,"az":308,"ss":32,"used":true},{"PRN":14,"el":27,"az":45,"ss":32,"used":true},{"PRN":19,"el":15,"az":167,"ss":0,"used":false},{"PRN":23,"el":14,"az":188,"ss":25,"used":true},{"PRN":28,"el":13,"az":265,"ss":0,"used":false},{"PRN":31,"el":8,"az":100,"ss":0,"used":false}]} $GPRMC,102131.000,A,5129.0620,N,00632.2904,E,0.22,30.68,210211,,,A*51 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-02-21T10:21:31.000Z","ept":0.005,"lat":51.484366667,"lon":6.538173333,"alt":29.700,"epv":21.850,"track":30.6800,"speed":0.113,"climb":0.000} gpsd-3.9/test/daemon/myguide-3100.log0000664000175000017500000006672411762140437015465 0ustar esresr# Name: Myguide 3100 # Vendor: Typhoon # Chipset: Unknown # Description: Car-dash GPS # Submitter: Gleb Smirnoff # Date: 2011-03-23 # Notes: Contains initial segement of no fix followed by stationary fix. # The 3100 has been end-of-lifed but is still found in the wild. # No database entry for this yet, we haven'y been able to find # out enough about it. $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,25,2,28,74,29,3,5,,,4,19,40,29*73 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,28,10,5,,,11,5,,,12,45,85,*4C $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,188,35,30,81,99,29,31,37,300,*7A $GPGGA,104958.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*54 $GPRMC,104958.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*07 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,25,2,28,74,28,3,5,,,4,19,40,29*72 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,28,10,5,,,11,5,,,12,45,85,*4C $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,188,35,30,81,99,29,31,37,300,*7A $GPGGA,104959.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*55 $GPRMC,104959.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*06 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,25,2,28,74,28,3,5,,,4,19,40,29*72 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,29,10,5,,,11,5,,,12,44,85,*4C $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,188,35,30,81,99,29,31,37,300,*7A $GPGGA,105000.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*51 $GPRMC,105000.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*02 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,25,2,28,74,28,3,5,,,4,19,40,29*72 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,29,10,5,,,11,5,,,12,44,85,*4C $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,188,35,30,81,99,28,31,37,300,*7B $GPGGA,105001.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*50 $GPRMC,105001.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*03 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,25,2,28,74,28,3,5,,,4,19,40,29*72 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,28,10,5,,,11,5,,,12,44,85,*4D $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,188,35,30,81,99,28,31,37,300,*7B $GPGGA,105002.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*53 $GPRMC,105002.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*00 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,25,2,28,74,28,3,5,,,4,19,40,29*72 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,28,10,5,,,11,5,,,12,44,85,*4D $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,188,35,30,81,99,28,31,37,300,*7B $GPGGA,105003.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*52 $GPRMC,105003.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*01 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,25,2,28,74,29,3,5,,,4,19,40,29*73 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,29,10,5,,,11,5,,,12,44,85,*4C $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,188,36,30,81,99,29,31,37,300,*79 $GPGGA,105004.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*55 $GPRMC,105004.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*06 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,26,2,28,74,29,3,5,,,4,19,40,29*70 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,29,10,5,,,11,5,,,12,44,85,*4C $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,188,35,30,81,99,29,31,37,300,*7A $GPGGA,105005.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*54 $GPRMC,105005.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*07 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,25,2,28,74,29,3,5,,,4,19,40,29*73 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,29,10,5,,,11,5,,,12,44,85,*4C $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,188,36,30,81,99,29,31,37,300,*79 $GPGGA,105006.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*57 $GPRMC,105006.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*04 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,25,2,28,74,28,3,5,,,4,19,40,29*72 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,28,10,5,,,11,5,,,12,44,85,*4D $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,187,35,30,81,99,29,31,37,300,*75 $GPGGA,105007.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*56 $GPRMC,105007.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*05 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,25,2,28,74,28,3,5,,,4,19,40,30*7A $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,29,10,5,,,11,5,,,12,44,85,*4C $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,187,35,30,81,99,29,31,37,300,*75 $GPGGA,105008.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*59 $GPRMC,105008.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*0A $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,25,2,28,74,28,3,5,,,4,19,40,30*7A $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,29,10,5,,,11,5,,,12,44,85,*4C $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,187,35,30,81,98,29,31,37,300,*74 $GPGGA,105009.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*58 $GPRMC,105009.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*0B $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,25,2,28,74,27,3,5,,,4,19,40,30*75 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,29,10,5,,,11,5,,,12,44,85,*4C $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,187,35,30,81,98,28,31,37,300,*75 $GPGGA,105010.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*50 $GPRMC,105010.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*03 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,25,2,28,74,27,3,5,,,4,19,40,30*75 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,30,10,5,,,11,5,,,12,44,85,*44 $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,187,35,30,80,98,28,31,37,300,*74 $GPGGA,105011.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*51 $GPRMC,105011.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*02 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,24,2,28,74,26,4,19,40,30,9,3,137,30*4F $GPGSV,5,2,19,12,44,85,,13,5,,,14,33,226,,15,5,,*4D $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,18,202,*7D $GPGSV,5,5,19,29,47,187,35,30,80,98,28,31,37,300,*74 $GPGGA,105012.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*52 $GPRMC,105012.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*01 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,24,2,28,74,26,4,19,40,30,9,3,137,29*47 $GPGSV,5,2,19,12,44,85,,13,5,,,14,33,226,,15,5,,*4D $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,18,202,*7D $GPGSV,5,5,19,29,47,187,35,30,80,98,28,31,37,300,*74 $GPGGA,105013.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*53 $GPRMC,105013.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*00 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,24,2,28,74,26,4,19,40,29,9,3,137,29*4F $GPGSV,5,2,19,12,44,85,,13,5,,,14,33,226,,15,5,,*4D $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,18,202,*7D $GPGSV,5,5,19,29,47,187,35,30,80,98,28,31,37,300,*74 $GPGGA,105014.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*54 $GPRMC,105014.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*07 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,24,2,28,74,25,4,19,40,29,9,3,137,30*44 $GPGSV,5,2,19,12,44,85,,13,5,,,14,33,226,,15,5,,*4D $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,18,202,*7D $GPGSV,5,5,19,29,47,187,36,30,80,98,29,31,37,300,*76 $GPGGA,105015.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*55 $GPRMC,105015.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*06 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,24,2,28,74,25,4,19,40,28,9,3,137,29*4D $GPGSV,5,2,19,12,44,85,,13,5,,,14,33,226,,15,5,,*4D $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,18,202,*7D $GPGSV,5,5,19,29,47,187,35,30,80,98,29,31,37,300,*75 $GPGGA,105016.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*56 $GPRMC,105016.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*05 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,23,2,28,74,25,4,19,40,28,9,3,137,30*42 $GPGSV,5,2,19,12,44,85,,13,5,,,14,33,226,,15,5,,*4D $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,18,202,*7D $GPGSV,5,5,19,29,47,187,35,30,80,98,29,31,37,300,*75 $GPGGA,105017.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*57 $GPRMC,105017.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*04 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,24,2,28,74,24,4,19,40,27,9,3,137,29*43 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,35,30,80,98,30,31,38,300,*72 $GPGGA,105018.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*58 $GPRMC,105018.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*0B $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,25,2,28,74,23,4,19,40,27,9,3,137,29*45 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,36,30,80,98,31,31,38,300,*70 $GPGGA,105019.80,5612.9999,N,00306.7096,W,,1,60.000,160.002,M,,M,,*5A $GPRMC,105019.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*0A $GPGSA,A,1,29,,,,,,,,,,,,60.000,60.000,60.000*0D $GPGSV,5,1,19,1,5,,24,2,28,74,24,4,19,40,26,9,3,137,29*42 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,36,30,80,98,31,31,38,300,*70 $GPGGA,105020.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*53 $GPRMC,105020.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*00 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F $GPGSV,5,1,19,1,5,,24,2,28,74,24,4,19,40,25,9,3,137,29*41 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,37,30,80,98,32,31,38,300,*72 $GPGGA,105021.80,5612.9738,N,00306.6652,W,,3,3.722,160.002,M,,M,,*6B $GPRMC,105021.80,V,5612.9738,N,00306.6652,W,,,081009,,W,N*0B $GPGSA,A,1,29,2,30,,,,,,,,,,3.814,3.722,0.832*09 $GPGSV,5,1,19,1,5,,24,2,28,74,24,4,19,40,25,9,3,137,29*41 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,36,30,80,98,32,31,38,300,*73 $GPGGA,105022.80,5612.9811,N,00306.6703,W,,3,3.724,160.002,M,,M,,*6F $GPRMC,105022.80,V,5612.9811,N,00306.6703,W,,,081009,,W,N*09 $GPGSA,A,1,29,2,30,,,,,,,,,,3.816,3.724,0.832*0D $GPGSV,5,1,19,1,5,,23,2,28,74,23,4,19,40,25,9,3,137,29*41 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,36,30,80,98,33,31,38,300,*72 $GPGGA,105023.80,5612.9836,N,00306.6875,W,,3,3.726,160.002,M,,M,,*67 $GPRMC,105023.80,V,5612.9836,N,00306.6875,W,,,081009,,W,N*03 $GPGSA,A,1,29,2,30,,,,,,,,,,3.817,3.726,0.832*0E $GPGSV,5,1,19,1,5,,23,2,28,73,24,4,19,40,25,9,3,137,28*40 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,36,30,80,98,32,31,38,300,*73 $GPGGA,105024.80,5612.9942,N,00306.7008,W,,3,3.727,160.002,M,,M,,*60 $GPRMC,105024.80,V,5612.9942,N,00306.7008,W,,,081009,,W,N*05 $GPGSA,A,1,29,2,30,,,,,,,,,,3.819,3.727,0.832*01 $GPGSV,5,1,19,1,5,,23,2,28,73,24,4,19,40,24,9,3,137,29*40 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,35,30,80,98,33,31,38,300,*71 $GPGGA,105025.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*56 $GPRMC,105025.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*05 $GPGSA,A,1,29,30,,,,,,,,,,,60.000,60.000,60.000*0E $GPGSV,5,1,19,1,5,,23,2,28,73,23,4,19,40,24,9,3,137,28*46 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,35,30,80,98,33,31,38,300,*71 $GPGGA,105026.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*55 $GPRMC,105026.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*06 $GPGSA,A,1,29,30,,,,,,,,,,,60.000,60.000,60.000*0E $GPGSV,5,1,19,1,5,,23,2,28,73,23,4,19,40,24,9,3,137,28*46 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,36,30,80,98,33,31,38,300,*72 $GPGGA,105027.80,5612.9956,N,00306.6983,W,,3,2.506,160.002,M,,M,,*6D $GPRMC,105027.80,V,5612.9956,N,00306.6983,W,,,081009,,W,N*08 $GPGSA,A,1,29,30,9,,,,,,,,,,2.597,2.506,0.681*06 $GPGSV,5,1,19,1,5,,23,2,28,73,22,4,19,40,24,9,3,137,28*47 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,36,30,80,98,33,31,38,300,*72 $GPGGA,105028.80,5612.9948,N,00306.7136,W,,3,2.506,160.002,M,,M,,*6A $GPRMC,105028.80,V,5612.9948,N,00306.7136,W,,,081009,,W,N*0F $GPGSA,A,1,29,30,9,,,,,,,,,,2.597,2.506,0.681*06 $GPGSV,5,1,19,1,5,,22,2,28,73,24,4,19,40,25,9,3,137,28*41 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,36,30,80,98,33,31,38,300,*72 $GPGGA,105029.80,5612.9978,N,00306.7359,W,1,4,17.516,159.072,M,,M,,*6D $GPRMC,105029.80,A,5612.9978,N,00306.7359,W,0.174,318.057,081009,,W,A*14 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.570,17.516,15.771*03 $GPGSV,5,1,19,1,5,,23,2,28,73,25,3,5,,,4,19,40,24*73 $GPGSV,5,2,19,5,5,,,9,3,137,27,12,44,85,,14,32,226,*70 $GPGSV,5,3,19,20,6,332,,22,5,,,23,5,,,24,4,147,*70 $GPGSV,5,4,19,25,5,,,26,17,202,,27,5,,,28,5,,*7F $GPGSV,5,5,19,29,47,187,35,30,80,98,33,31,38,300,*71 $GPGGA,105030.80,5612.9978,N,00306.7310,W,1,4,17.510,159.050,M,,M,,*6E $GPRMC,105030.80,A,5612.9978,N,00306.7310,W,0.265,127.668,081009,,W,A*16 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.559,17.510,15.762*0C $GPGSV,5,1,19,1,5,,23,2,28,73,25,3,5,,,4,19,40,24*73 $GPGSV,5,2,19,5,5,,,9,3,137,27,12,44,85,,14,32,226,*70 $GPGSV,5,3,19,20,6,332,,22,5,,,23,5,,,24,4,147,*70 $GPGSV,5,4,19,25,5,,,26,17,202,,27,5,,,28,5,,*7F $GPGSV,5,5,19,29,47,187,35,30,80,98,34,31,38,300,*76 $GPGGA,105031.80,5612.9969,N,00306.7273,W,1,4,17.504,159.024,M,,M,,*6D $GPRMC,105031.80,A,5612.9969,N,00306.7273,W,0.374,132.018,081009,,W,A*17 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.548,17.504,15.752*0A $GPGSV,5,1,19,1,5,,25,2,28,73,24,3,5,,,4,19,40,23*73 $GPGSV,5,2,19,5,5,,,9,3,137,27,12,44,85,,14,32,226,*70 $GPGSV,5,3,19,20,6,332,,22,5,,,23,5,,,24,4,147,*70 $GPGSV,5,4,19,25,5,,,26,17,202,,27,5,,,28,5,,*7F $GPGSV,5,5,19,29,47,187,35,30,80,98,34,31,38,300,*76 $GPGGA,105032.80,5612.9977,N,00306.7212,W,1,4,17.498,158.985,M,,M,,*61 $GPRMC,105032.80,A,5612.9977,N,00306.7212,W,0.501,133.315,081009,,W,A*17 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.537,17.498,15.743*06 $GPGSV,5,1,19,1,5,,25,2,28,73,24,3,5,,,4,19,40,23*73 $GPGSV,5,2,19,5,5,,,9,3,137,26,12,44,85,,14,32,226,*71 $GPGSV,5,3,19,20,6,332,,22,5,,,23,5,,,24,4,147,*70 $GPGSV,5,4,19,25,5,,,26,17,202,,27,5,,,28,5,,*7F $GPGSV,5,5,19,29,47,187,35,30,80,98,33,31,38,300,*71 $GPGGA,105033.80,5612.9975,N,00306.7206,W,1,4,17.491,158.982,M,,M,,*69 $GPRMC,105033.80,A,5612.9975,N,00306.7206,W,0.695,131.210,081009,,W,A*19 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.527,17.491,15.734*0E $GPGSV,5,1,19,1,5,,25,2,28,73,24,3,5,,,4,19,40,24*74 $GPGSV,5,2,19,5,5,,,9,3,137,26,12,44,85,,14,32,226,*71 $GPGSV,5,3,19,20,6,332,,22,5,,,23,5,,,24,4,147,*70 $GPGSV,5,4,19,25,5,,,26,17,202,,27,5,,,28,5,,*7F $GPGSV,5,5,19,29,47,187,35,30,80,98,33,31,38,300,*71 $GPGGA,105034.80,5612.9972,N,00306.7198,W,1,4,17.485,159.022,M,,M,,*6A $GPRMC,105034.80,A,5612.9972,N,00306.7198,W,1.157,241.127,081009,,W,A*16 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.516,17.485,15.725*09 $GPGSV,5,1,19,1,5,,26,2,28,73,23,3,5,,,4,19,40,24*70 $GPGSV,5,2,19,5,5,,,9,3,137,25,12,44,85,,14,32,226,*72 $GPGSV,5,3,19,20,6,332,,22,5,,,23,5,,,24,4,147,*70 $GPGSV,5,4,19,25,5,,,26,17,202,,27,5,,,28,5,,*7F $GPGSV,5,5,19,29,47,187,35,30,80,98,33,31,38,300,*71 $GPGGA,105035.80,5612.9962,N,00306.7171,W,1,4,17.479,159.038,M,,M,,*65 $GPRMC,105035.80,A,5612.9962,N,00306.7171,W,0.278,266.820,081009,,W,A*15 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.505,17.479,15.715*0B $GPGSV,3,1,11,2,28,73,25,4,19,40,24,9,3,137,25,12,44,85,*48 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,35,30,80,98,33,31,38,300,*79 $GPGGA,105036.80,5612.9956,N,00306.7155,W,1,4,17.473,159.027,M,,M,,*63 $GPRMC,105036.80,A,5612.9956,N,00306.7155,W,0.198,246.533,081009,,W,A*17 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.494,17.473,15.706*0A $GPGSV,3,1,11,2,28,73,27,4,19,40,24,9,3,137,25,12,44,85,*4A $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,33,31,38,300,*7A $GPGGA,105037.80,5612.9964,N,00306.7154,W,1,4,17.466,159.026,M,,M,,*67 $GPRMC,105037.80,A,5612.9964,N,00306.7154,W,0.195,197.090,081009,,W,A*18 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.483,17.466,15.697*01 $GPGSV,3,1,11,2,28,73,28,4,19,40,24,9,3,137,26,12,44,85,*46 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,33,31,38,300,*7A $GPGGA,105038.80,5612.9968,N,00306.7154,W,1,4,17.460,159.025,M,,M,,*61 $GPRMC,105038.80,A,5612.9968,N,00306.7154,W,0.341,157.412,081009,,W,A*12 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.472,17.460,15.687*08 $GPGSV,3,1,11,2,28,73,29,4,19,40,25,9,3,137,26,12,44,85,*46 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,33,31,38,300,*7A $GPGGA,105039.80,5612.9970,N,00306.7151,W,1,4,17.454,159.014,M,,M,,*69 $GPRMC,105039.80,A,5612.9970,N,00306.7151,W,0.347,146.770,081009,,W,A*1E $GPGSA,A,3,29,2,30,9,,,,,,,,,23.461,17.454,15.678*0D $GPGSV,3,1,11,2,28,73,30,4,19,40,25,9,3,137,25,12,44,85,*4D $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,32,31,38,300,*7B $GPGGA,105040.80,5612.9971,N,00306.7142,W,1,4,17.447,158.994,M,,M,,*66 $GPRMC,105040.80,A,5612.9971,N,00306.7142,W,1.093,166.635,081009,,W,A*1A $GPGSA,A,3,29,2,30,9,,,,,,,,,23.450,17.447,15.669*0D $GPGSV,3,1,11,2,28,73,30,4,19,40,27,9,3,137,25,12,44,85,20*4D $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,31,31,38,300,*78 $GPGGA,105041.80,5612.9975,N,00306.7156,W,1,4,17.441,159.008,M,,M,,*6D $GPRMC,105041.80,A,5612.9975,N,00306.7156,W,1.073,180.241,081009,,W,A*1B $GPGSA,A,3,29,2,30,9,,,,,,,,,23.439,17.441,15.659*07 $GPGSV,3,1,11,2,28,73,29,4,19,40,26,9,3,137,24,12,44,85,22*47 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,35,30,80,98,31,31,38,300,*7B $GPGGA,105042.80,5612.9975,N,00306.7156,W,1,4,17.435,159.008,M,,M,,*6D $GPRMC,105042.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*13 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.428,17.435,15.650*0D $GPGSV,3,1,11,2,28,73,28,4,19,40,27,9,3,137,23,12,44,85,23*41 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,35,30,80,98,30,31,38,300,*7A $GPGGA,105043.80,5612.9975,N,00306.7156,W,1,4,17.428,159.008,M,,M,,*60 $GPRMC,105043.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*12 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.417,17.428,15.641*0D $GPGSV,3,1,11,2,28,73,28,4,19,40,28,9,3,137,24,12,44,85,25*4F $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,35,30,80,98,30,31,38,300,*7A $GPGGA,105044.80,5612.9975,N,00306.7156,W,1,4,17.422,159.008,M,,M,,*6D $GPRMC,105044.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*15 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.406,17.422,15.631*00 $GPGSV,3,1,11,2,28,73,27,4,19,40,28,9,3,137,24,12,44,85,26*43 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,30,31,38,300,*79 $GPGGA,105045.80,5612.9975,N,00306.7156,W,1,4,17.416,159.008,M,,M,,*6B $GPRMC,105045.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*14 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.396,17.416,15.622*0B $GPGSV,3,1,11,2,28,73,27,4,19,40,27,9,3,137,26,12,44,85,28*40 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,31,31,38,300,*78 $GPGGA,105046.80,5612.9975,N,00306.7156,W,1,4,17.409,159.008,M,,M,,*66 $GPRMC,105046.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*17 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.384,17.409,15.613*04 $GPGSV,3,1,11,2,28,73,26,4,19,40,27,9,3,137,27,12,44,85,29*41 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,31,31,38,300,*78 $GPGGA,105047.80,5612.9975,N,00306.7156,W,1,4,17.403,159.008,M,,M,,*6D $GPRMC,105047.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*16 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.373,17.403,15.603*07 $GPGSV,3,1,11,2,28,73,26,4,19,40,27,9,3,137,27,12,44,85,29*41 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,31,31,38,300,*78 $GPGGA,105048.80,5612.9975,N,00306.7156,W,1,4,17.397,159.008,M,,M,,*68 $GPRMC,105048.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*19 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.362,17.397,15.594*00 $GPGSV,3,1,11,2,28,73,26,4,19,40,27,9,3,137,27,12,44,85,29*41 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,31,31,38,300,*78 $GPGGA,105049.80,5612.9975,N,00306.7156,W,1,4,17.390,159.008,M,,M,,*6E $GPRMC,105049.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*18 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.351,17.390,15.584*06 $GPGSV,3,1,11,2,28,73,25,4,19,40,26,9,3,137,27,12,44,85,29*43 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,31,31,38,300,*78 $GPGGA,105050.80,5612.9975,N,00306.7156,W,1,4,17.384,159.008,M,,M,,*63 $GPRMC,105050.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*10 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.340,17.384,15.575*0D $GPGSV,3,1,11,2,28,73,25,4,19,40,26,9,3,137,27,12,44,85,29*43 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,35,30,80,98,31,31,38,300,*7B $GPGGA,105051.80,5612.9975,N,00306.7156,W,1,4,17.377,159.008,M,,M,,*6E $GPRMC,105051.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*11 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.329,17.377,15.566*0C $GPGSV,3,1,11,2,28,73,25,4,19,40,26,9,3,137,27,12,44,85,30*4B $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,35,30,80,98,32,31,38,300,*78 $GPGGA,105052.80,5612.9975,N,00306.7156,W,1,4,17.371,159.008,M,,M,,*6B $GPRMC,105052.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*12 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.318,17.371,15.556*0B $GPGSV,3,1,11,2,28,73,25,4,19,40,26,9,3,137,27,12,44,85,30*4B $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,35,30,80,98,32,31,38,300,*78 $GPGGA,105053.80,5612.9975,N,00306.7156,W,1,4,17.364,159.008,M,,M,,*6E $GPRMC,105053.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*13 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.307,17.364,15.547*01 $GPGSV,3,1,11,2,28,73,24,4,19,40,26,9,3,137,27,12,44,85,30*4A $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,35,30,80,98,32,31,38,300,*78 $GPGGA,105054.80,5612.9975,N,00306.7156,W,1,4,17.358,159.008,M,,M,,*66 $GPRMC,105054.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*14 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.296,17.358,15.537*00 $GPGSV,3,1,11,2,28,73,24,4,19,40,26,9,3,137,27,12,44,85,30*4A $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,35,30,80,98,31,31,38,300,*7B $GPGGA,105055.80,5612.9975,N,00306.7156,W,1,4,17.351,159.008,M,,M,,*6E $GPRMC,105055.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*15 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.285,17.351,15.528*05 $GPGSV,3,1,11,2,28,73,23,4,19,40,25,9,3,137,27,12,44,85,30*4E $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,34,30,80,98,32,31,38,300,*79 $GPGGA,105056.80,5612.9975,N,00306.7156,W,1,4,17.345,159.008,M,,M,,*68 $GPRMC,105056.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*16 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.274,17.345,15.518*0D $GPGSV,3,1,11,2,28,73,23,4,19,40,25,9,3,137,27,12,44,85,31*4F $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,48,187,34,30,80,98,32,31,38,300,*76 $GPGGA,105057.80,5612.9975,N,00306.7156,W,1,4,17.338,159.008,M,,M,,*63 $GPRMC,105057.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*17 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.263,17.338,15.509*01 $GPGSV,3,1,11,2,28,73,23,4,19,40,26,9,3,137,27,12,44,85,31*4C $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,48,187,35,30,80,98,32,31,38,300,*77 $GPGGA,105058.80,5612.9975,N,00306.7156,W,1,4,17.332,159.008,M,,M,,*66 $GPRMC,105058.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*18 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.251,17.332,15.500*03 $GPGSV,3,1,11,2,28,73,23,4,19,40,26,9,3,137,27,12,44,85,31*4C $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,48,187,35,30,80,98,32,31,38,300,*77 $GPGGA,105059.80,5612.9975,N,00306.7156,W,1,4,17.325,159.008,M,,M,,*61 $GPRMC,105059.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*19 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.240,17.325,15.490*0D $GPGSV,3,1,11,2,28,73,24,4,19,40,26,9,3,137,27,12,44,85,31*4B $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,48,187,34,30,80,98,33,31,38,300,32*76 $GPGGA,105100.80,5612.9975,N,00306.7156,W,1,4,17.319,159.008,M,,M,,*63 $GPRMC,105100.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*14 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.229,17.319,15.481*0D $GPGSV,3,1,11,2,28,73,24,4,19,40,26,9,3,137,27,12,44,85,31*4B $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,48,187,34,30,80,98,34,31,38,300,33*70 $GPGGA,105101.80,5612.9975,N,00306.7156,W,1,4,17.312,159.008,M,,M,,*69 $GPRMC,105101.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*15 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.218,17.312,15.471*0B $GPGSV,3,1,11,2,28,73,24,4,19,40,27,9,3,137,27,12,44,85,31*4A $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,48,187,35,30,80,98,34,31,38,300,33*71 $GPGGA,105102.80,5612.9975,N,00306.7156,W,1,4,17.306,159.008,M,,M,,*6F $GPRMC,105102.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*16 $GPGSA,A,3,29,2,30,9,,,,,,,,,23.207,17.306,15.462*02 $GPGSV,3,1,11,2,28,73,25,4,19,40,26,9,3,137,27,12,44,85,31*4A $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,48,187,34,30,80,98,34,31,38,300,32*71 $GPGGA,105103.80,5612.9975,N,00306.7156,W,1,5,6.586,159.008,M,,M,,*51 $GPRMC,105103.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*17 $GPGSA,A,3,29,2,30,9,12,,,,,,,,8.747,6.586,5.756*32 $GPGSV,3,1,11,2,28,73,25,4,19,40,26,9,3,137,26,12,44,85,31*4B $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,48,187,34,30,80,98,33,31,38,300,32*76 gpsd-3.9/test/daemon/myguide-3100.log.chk0000664000175000017500000026453712135526366016237 0ustar esresr$GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,25,2,28,74,29,3,5,,,4,19,40,29*73 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,28,10,5,,,11,5,,,12,45,85,*4C $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,188,35,30,81,99,29,31,37,300,*7A {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":25,"used":false},{"PRN":2,"el":28,"az":74,"ss":29,"used":true},{"PRN":3,"el":5,"az":0,"ss":0,"used":false},{"PRN":4,"el":19,"az":40,"ss":29,"used":false},{"PRN":5,"el":5,"az":0,"ss":0,"used":false},{"PRN":6,"el":5,"az":0,"ss":0,"used":false},{"PRN":7,"el":5,"az":0,"ss":0,"used":false},{"PRN":8,"el":5,"az":0,"ss":0,"used":false},{"PRN":9,"el":3,"az":137,"ss":28,"used":false},{"PRN":10,"el":5,"az":0,"ss":0,"used":false},{"PRN":11,"el":5,"az":0,"ss":0,"used":false},{"PRN":12,"el":45,"az":85,"ss":0,"used":false},{"PRN":14,"el":33,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":18,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":188,"ss":35,"used":true},{"PRN":30,"el":81,"az":99,"ss":29,"used":false},{"PRN":31,"el":37,"az":300,"ss":0,"used":false}]} $GPGGA,104958.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*54 $GPRMC,104958.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*07 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,25,2,28,74,28,3,5,,,4,19,40,29*72 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,28,10,5,,,11,5,,,12,45,85,*4C $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,188,35,30,81,99,29,31,37,300,*7A {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":25,"used":false},{"PRN":2,"el":28,"az":74,"ss":28,"used":true},{"PRN":3,"el":5,"az":0,"ss":0,"used":false},{"PRN":4,"el":19,"az":40,"ss":29,"used":false},{"PRN":5,"el":5,"az":0,"ss":0,"used":false},{"PRN":6,"el":5,"az":0,"ss":0,"used":false},{"PRN":7,"el":5,"az":0,"ss":0,"used":false},{"PRN":8,"el":5,"az":0,"ss":0,"used":false},{"PRN":9,"el":3,"az":137,"ss":28,"used":false},{"PRN":10,"el":5,"az":0,"ss":0,"used":false},{"PRN":11,"el":5,"az":0,"ss":0,"used":false},{"PRN":12,"el":45,"az":85,"ss":0,"used":false},{"PRN":14,"el":33,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":18,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":188,"ss":35,"used":true},{"PRN":30,"el":81,"az":99,"ss":29,"used":false},{"PRN":31,"el":37,"az":300,"ss":0,"used":false}]} $GPGGA,104959.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*55 $GPRMC,104959.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*06 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,25,2,28,74,28,3,5,,,4,19,40,29*72 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,29,10,5,,,11,5,,,12,44,85,*4C $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,188,35,30,81,99,29,31,37,300,*7A {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":25,"used":false},{"PRN":2,"el":28,"az":74,"ss":28,"used":true},{"PRN":3,"el":5,"az":0,"ss":0,"used":false},{"PRN":4,"el":19,"az":40,"ss":29,"used":false},{"PRN":5,"el":5,"az":0,"ss":0,"used":false},{"PRN":6,"el":5,"az":0,"ss":0,"used":false},{"PRN":7,"el":5,"az":0,"ss":0,"used":false},{"PRN":8,"el":5,"az":0,"ss":0,"used":false},{"PRN":9,"el":3,"az":137,"ss":29,"used":false},{"PRN":10,"el":5,"az":0,"ss":0,"used":false},{"PRN":11,"el":5,"az":0,"ss":0,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":33,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":18,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":188,"ss":35,"used":true},{"PRN":30,"el":81,"az":99,"ss":29,"used":false},{"PRN":31,"el":37,"az":300,"ss":0,"used":false}]} $GPGGA,105000.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*51 $GPRMC,105000.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*02 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,25,2,28,74,28,3,5,,,4,19,40,29*72 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,29,10,5,,,11,5,,,12,44,85,*4C $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,188,35,30,81,99,28,31,37,300,*7B {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":25,"used":false},{"PRN":2,"el":28,"az":74,"ss":28,"used":true},{"PRN":3,"el":5,"az":0,"ss":0,"used":false},{"PRN":4,"el":19,"az":40,"ss":29,"used":false},{"PRN":5,"el":5,"az":0,"ss":0,"used":false},{"PRN":6,"el":5,"az":0,"ss":0,"used":false},{"PRN":7,"el":5,"az":0,"ss":0,"used":false},{"PRN":8,"el":5,"az":0,"ss":0,"used":false},{"PRN":9,"el":3,"az":137,"ss":29,"used":false},{"PRN":10,"el":5,"az":0,"ss":0,"used":false},{"PRN":11,"el":5,"az":0,"ss":0,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":33,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":18,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":188,"ss":35,"used":true},{"PRN":30,"el":81,"az":99,"ss":28,"used":false},{"PRN":31,"el":37,"az":300,"ss":0,"used":false}]} $GPGGA,105001.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*50 $GPRMC,105001.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*03 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,25,2,28,74,28,3,5,,,4,19,40,29*72 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,28,10,5,,,11,5,,,12,44,85,*4D $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,188,35,30,81,99,28,31,37,300,*7B {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":25,"used":false},{"PRN":2,"el":28,"az":74,"ss":28,"used":true},{"PRN":3,"el":5,"az":0,"ss":0,"used":false},{"PRN":4,"el":19,"az":40,"ss":29,"used":false},{"PRN":5,"el":5,"az":0,"ss":0,"used":false},{"PRN":6,"el":5,"az":0,"ss":0,"used":false},{"PRN":7,"el":5,"az":0,"ss":0,"used":false},{"PRN":8,"el":5,"az":0,"ss":0,"used":false},{"PRN":9,"el":3,"az":137,"ss":28,"used":false},{"PRN":10,"el":5,"az":0,"ss":0,"used":false},{"PRN":11,"el":5,"az":0,"ss":0,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":33,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":18,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":188,"ss":35,"used":true},{"PRN":30,"el":81,"az":99,"ss":28,"used":false},{"PRN":31,"el":37,"az":300,"ss":0,"used":false}]} $GPGGA,105002.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*53 $GPRMC,105002.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*00 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,25,2,28,74,28,3,5,,,4,19,40,29*72 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,28,10,5,,,11,5,,,12,44,85,*4D $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,188,35,30,81,99,28,31,37,300,*7B {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":25,"used":false},{"PRN":2,"el":28,"az":74,"ss":28,"used":true},{"PRN":3,"el":5,"az":0,"ss":0,"used":false},{"PRN":4,"el":19,"az":40,"ss":29,"used":false},{"PRN":5,"el":5,"az":0,"ss":0,"used":false},{"PRN":6,"el":5,"az":0,"ss":0,"used":false},{"PRN":7,"el":5,"az":0,"ss":0,"used":false},{"PRN":8,"el":5,"az":0,"ss":0,"used":false},{"PRN":9,"el":3,"az":137,"ss":28,"used":false},{"PRN":10,"el":5,"az":0,"ss":0,"used":false},{"PRN":11,"el":5,"az":0,"ss":0,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":33,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":18,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":188,"ss":35,"used":true},{"PRN":30,"el":81,"az":99,"ss":28,"used":false},{"PRN":31,"el":37,"az":300,"ss":0,"used":false}]} $GPGGA,105003.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*52 $GPRMC,105003.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*01 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,25,2,28,74,29,3,5,,,4,19,40,29*73 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,29,10,5,,,11,5,,,12,44,85,*4C $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,188,36,30,81,99,29,31,37,300,*79 {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":25,"used":false},{"PRN":2,"el":28,"az":74,"ss":29,"used":true},{"PRN":3,"el":5,"az":0,"ss":0,"used":false},{"PRN":4,"el":19,"az":40,"ss":29,"used":false},{"PRN":5,"el":5,"az":0,"ss":0,"used":false},{"PRN":6,"el":5,"az":0,"ss":0,"used":false},{"PRN":7,"el":5,"az":0,"ss":0,"used":false},{"PRN":8,"el":5,"az":0,"ss":0,"used":false},{"PRN":9,"el":3,"az":137,"ss":29,"used":false},{"PRN":10,"el":5,"az":0,"ss":0,"used":false},{"PRN":11,"el":5,"az":0,"ss":0,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":33,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":18,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":188,"ss":36,"used":true},{"PRN":30,"el":81,"az":99,"ss":29,"used":false},{"PRN":31,"el":37,"az":300,"ss":0,"used":false}]} $GPGGA,105004.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*55 $GPRMC,105004.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*06 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,26,2,28,74,29,3,5,,,4,19,40,29*70 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,29,10,5,,,11,5,,,12,44,85,*4C $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,188,35,30,81,99,29,31,37,300,*7A {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":26,"used":false},{"PRN":2,"el":28,"az":74,"ss":29,"used":true},{"PRN":3,"el":5,"az":0,"ss":0,"used":false},{"PRN":4,"el":19,"az":40,"ss":29,"used":false},{"PRN":5,"el":5,"az":0,"ss":0,"used":false},{"PRN":6,"el":5,"az":0,"ss":0,"used":false},{"PRN":7,"el":5,"az":0,"ss":0,"used":false},{"PRN":8,"el":5,"az":0,"ss":0,"used":false},{"PRN":9,"el":3,"az":137,"ss":29,"used":false},{"PRN":10,"el":5,"az":0,"ss":0,"used":false},{"PRN":11,"el":5,"az":0,"ss":0,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":33,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":18,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":188,"ss":35,"used":true},{"PRN":30,"el":81,"az":99,"ss":29,"used":false},{"PRN":31,"el":37,"az":300,"ss":0,"used":false}]} $GPGGA,105005.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*54 $GPRMC,105005.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*07 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,25,2,28,74,29,3,5,,,4,19,40,29*73 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,29,10,5,,,11,5,,,12,44,85,*4C $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,188,36,30,81,99,29,31,37,300,*79 {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":25,"used":false},{"PRN":2,"el":28,"az":74,"ss":29,"used":true},{"PRN":3,"el":5,"az":0,"ss":0,"used":false},{"PRN":4,"el":19,"az":40,"ss":29,"used":false},{"PRN":5,"el":5,"az":0,"ss":0,"used":false},{"PRN":6,"el":5,"az":0,"ss":0,"used":false},{"PRN":7,"el":5,"az":0,"ss":0,"used":false},{"PRN":8,"el":5,"az":0,"ss":0,"used":false},{"PRN":9,"el":3,"az":137,"ss":29,"used":false},{"PRN":10,"el":5,"az":0,"ss":0,"used":false},{"PRN":11,"el":5,"az":0,"ss":0,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":33,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":18,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":188,"ss":36,"used":true},{"PRN":30,"el":81,"az":99,"ss":29,"used":false},{"PRN":31,"el":37,"az":300,"ss":0,"used":false}]} $GPGGA,105006.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*57 $GPRMC,105006.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*04 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,25,2,28,74,28,3,5,,,4,19,40,29*72 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,28,10,5,,,11,5,,,12,44,85,*4D $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,187,35,30,81,99,29,31,37,300,*75 {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":25,"used":false},{"PRN":2,"el":28,"az":74,"ss":28,"used":true},{"PRN":3,"el":5,"az":0,"ss":0,"used":false},{"PRN":4,"el":19,"az":40,"ss":29,"used":false},{"PRN":5,"el":5,"az":0,"ss":0,"used":false},{"PRN":6,"el":5,"az":0,"ss":0,"used":false},{"PRN":7,"el":5,"az":0,"ss":0,"used":false},{"PRN":8,"el":5,"az":0,"ss":0,"used":false},{"PRN":9,"el":3,"az":137,"ss":28,"used":false},{"PRN":10,"el":5,"az":0,"ss":0,"used":false},{"PRN":11,"el":5,"az":0,"ss":0,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":33,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":18,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":81,"az":99,"ss":29,"used":false},{"PRN":31,"el":37,"az":300,"ss":0,"used":false}]} $GPGGA,105007.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*56 $GPRMC,105007.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*05 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,25,2,28,74,28,3,5,,,4,19,40,30*7A $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,29,10,5,,,11,5,,,12,44,85,*4C $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,187,35,30,81,99,29,31,37,300,*75 {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":25,"used":false},{"PRN":2,"el":28,"az":74,"ss":28,"used":true},{"PRN":3,"el":5,"az":0,"ss":0,"used":false},{"PRN":4,"el":19,"az":40,"ss":30,"used":false},{"PRN":5,"el":5,"az":0,"ss":0,"used":false},{"PRN":6,"el":5,"az":0,"ss":0,"used":false},{"PRN":7,"el":5,"az":0,"ss":0,"used":false},{"PRN":8,"el":5,"az":0,"ss":0,"used":false},{"PRN":9,"el":3,"az":137,"ss":29,"used":false},{"PRN":10,"el":5,"az":0,"ss":0,"used":false},{"PRN":11,"el":5,"az":0,"ss":0,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":33,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":18,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":81,"az":99,"ss":29,"used":false},{"PRN":31,"el":37,"az":300,"ss":0,"used":false}]} $GPGGA,105008.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*59 $GPRMC,105008.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*0A $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,25,2,28,74,28,3,5,,,4,19,40,30*7A $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,29,10,5,,,11,5,,,12,44,85,*4C $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,187,35,30,81,98,29,31,37,300,*74 {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":25,"used":false},{"PRN":2,"el":28,"az":74,"ss":28,"used":true},{"PRN":3,"el":5,"az":0,"ss":0,"used":false},{"PRN":4,"el":19,"az":40,"ss":30,"used":false},{"PRN":5,"el":5,"az":0,"ss":0,"used":false},{"PRN":6,"el":5,"az":0,"ss":0,"used":false},{"PRN":7,"el":5,"az":0,"ss":0,"used":false},{"PRN":8,"el":5,"az":0,"ss":0,"used":false},{"PRN":9,"el":3,"az":137,"ss":29,"used":false},{"PRN":10,"el":5,"az":0,"ss":0,"used":false},{"PRN":11,"el":5,"az":0,"ss":0,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":33,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":18,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":81,"az":98,"ss":29,"used":false},{"PRN":31,"el":37,"az":300,"ss":0,"used":false}]} $GPGGA,105009.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*58 $GPRMC,105009.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*0B $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,25,2,28,74,27,3,5,,,4,19,40,30*75 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,29,10,5,,,11,5,,,12,44,85,*4C $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,187,35,30,81,98,28,31,37,300,*75 {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":25,"used":false},{"PRN":2,"el":28,"az":74,"ss":27,"used":true},{"PRN":3,"el":5,"az":0,"ss":0,"used":false},{"PRN":4,"el":19,"az":40,"ss":30,"used":false},{"PRN":5,"el":5,"az":0,"ss":0,"used":false},{"PRN":6,"el":5,"az":0,"ss":0,"used":false},{"PRN":7,"el":5,"az":0,"ss":0,"used":false},{"PRN":8,"el":5,"az":0,"ss":0,"used":false},{"PRN":9,"el":3,"az":137,"ss":29,"used":false},{"PRN":10,"el":5,"az":0,"ss":0,"used":false},{"PRN":11,"el":5,"az":0,"ss":0,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":33,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":18,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":81,"az":98,"ss":28,"used":false},{"PRN":31,"el":37,"az":300,"ss":0,"used":false}]} $GPGGA,105010.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*50 $GPRMC,105010.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*03 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,25,2,28,74,27,3,5,,,4,19,40,30*75 $GPGSV,5,2,19,5,5,,,6,5,,,7,5,,,8,5,,*7A $GPGSV,5,3,19,9,3,137,30,10,5,,,11,5,,,12,44,85,*44 $GPGSV,5,4,19,14,33,226,,20,6,332,,24,4,147,,26,18,202,*78 $GPGSV,5,5,19,29,47,187,35,30,80,98,28,31,37,300,*74 {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":25,"used":false},{"PRN":2,"el":28,"az":74,"ss":27,"used":true},{"PRN":3,"el":5,"az":0,"ss":0,"used":false},{"PRN":4,"el":19,"az":40,"ss":30,"used":false},{"PRN":5,"el":5,"az":0,"ss":0,"used":false},{"PRN":6,"el":5,"az":0,"ss":0,"used":false},{"PRN":7,"el":5,"az":0,"ss":0,"used":false},{"PRN":8,"el":5,"az":0,"ss":0,"used":false},{"PRN":9,"el":3,"az":137,"ss":30,"used":false},{"PRN":10,"el":5,"az":0,"ss":0,"used":false},{"PRN":11,"el":5,"az":0,"ss":0,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":33,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":18,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":28,"used":false},{"PRN":31,"el":37,"az":300,"ss":0,"used":false}]} $GPGGA,105011.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*51 $GPRMC,105011.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*02 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,24,2,28,74,26,4,19,40,30,9,3,137,30*4F $GPGSV,5,2,19,12,44,85,,13,5,,,14,33,226,,15,5,,*4D $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,18,202,*7D $GPGSV,5,5,19,29,47,187,35,30,80,98,28,31,37,300,*74 {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":24,"used":false},{"PRN":2,"el":28,"az":74,"ss":26,"used":true},{"PRN":4,"el":19,"az":40,"ss":30,"used":false},{"PRN":9,"el":3,"az":137,"ss":30,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":13,"el":5,"az":0,"ss":0,"used":false},{"PRN":14,"el":33,"az":226,"ss":0,"used":false},{"PRN":15,"el":5,"az":0,"ss":0,"used":false},{"PRN":16,"el":5,"az":0,"ss":0,"used":false},{"PRN":17,"el":5,"az":0,"ss":0,"used":false},{"PRN":18,"el":5,"az":0,"ss":0,"used":false},{"PRN":19,"el":5,"az":0,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":21,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":18,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":28,"used":false},{"PRN":31,"el":37,"az":300,"ss":0,"used":false}]} $GPGGA,105012.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*52 $GPRMC,105012.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*01 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,24,2,28,74,26,4,19,40,30,9,3,137,29*47 $GPGSV,5,2,19,12,44,85,,13,5,,,14,33,226,,15,5,,*4D $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,18,202,*7D $GPGSV,5,5,19,29,47,187,35,30,80,98,28,31,37,300,*74 {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":24,"used":false},{"PRN":2,"el":28,"az":74,"ss":26,"used":true},{"PRN":4,"el":19,"az":40,"ss":30,"used":false},{"PRN":9,"el":3,"az":137,"ss":29,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":13,"el":5,"az":0,"ss":0,"used":false},{"PRN":14,"el":33,"az":226,"ss":0,"used":false},{"PRN":15,"el":5,"az":0,"ss":0,"used":false},{"PRN":16,"el":5,"az":0,"ss":0,"used":false},{"PRN":17,"el":5,"az":0,"ss":0,"used":false},{"PRN":18,"el":5,"az":0,"ss":0,"used":false},{"PRN":19,"el":5,"az":0,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":21,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":18,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":28,"used":false},{"PRN":31,"el":37,"az":300,"ss":0,"used":false}]} $GPGGA,105013.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*53 $GPRMC,105013.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*00 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,24,2,28,74,26,4,19,40,29,9,3,137,29*4F $GPGSV,5,2,19,12,44,85,,13,5,,,14,33,226,,15,5,,*4D $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,18,202,*7D $GPGSV,5,5,19,29,47,187,35,30,80,98,28,31,37,300,*74 {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":24,"used":false},{"PRN":2,"el":28,"az":74,"ss":26,"used":true},{"PRN":4,"el":19,"az":40,"ss":29,"used":false},{"PRN":9,"el":3,"az":137,"ss":29,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":13,"el":5,"az":0,"ss":0,"used":false},{"PRN":14,"el":33,"az":226,"ss":0,"used":false},{"PRN":15,"el":5,"az":0,"ss":0,"used":false},{"PRN":16,"el":5,"az":0,"ss":0,"used":false},{"PRN":17,"el":5,"az":0,"ss":0,"used":false},{"PRN":18,"el":5,"az":0,"ss":0,"used":false},{"PRN":19,"el":5,"az":0,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":21,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":18,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":28,"used":false},{"PRN":31,"el":37,"az":300,"ss":0,"used":false}]} $GPGGA,105014.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*54 $GPRMC,105014.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*07 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,24,2,28,74,25,4,19,40,29,9,3,137,30*44 $GPGSV,5,2,19,12,44,85,,13,5,,,14,33,226,,15,5,,*4D $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,18,202,*7D $GPGSV,5,5,19,29,47,187,36,30,80,98,29,31,37,300,*76 {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":24,"used":false},{"PRN":2,"el":28,"az":74,"ss":25,"used":true},{"PRN":4,"el":19,"az":40,"ss":29,"used":false},{"PRN":9,"el":3,"az":137,"ss":30,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":13,"el":5,"az":0,"ss":0,"used":false},{"PRN":14,"el":33,"az":226,"ss":0,"used":false},{"PRN":15,"el":5,"az":0,"ss":0,"used":false},{"PRN":16,"el":5,"az":0,"ss":0,"used":false},{"PRN":17,"el":5,"az":0,"ss":0,"used":false},{"PRN":18,"el":5,"az":0,"ss":0,"used":false},{"PRN":19,"el":5,"az":0,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":21,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":18,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":36,"used":true},{"PRN":30,"el":80,"az":98,"ss":29,"used":false},{"PRN":31,"el":37,"az":300,"ss":0,"used":false}]} $GPGGA,105015.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*55 $GPRMC,105015.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*06 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,24,2,28,74,25,4,19,40,28,9,3,137,29*4D $GPGSV,5,2,19,12,44,85,,13,5,,,14,33,226,,15,5,,*4D $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,18,202,*7D $GPGSV,5,5,19,29,47,187,35,30,80,98,29,31,37,300,*75 {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":24,"used":false},{"PRN":2,"el":28,"az":74,"ss":25,"used":true},{"PRN":4,"el":19,"az":40,"ss":28,"used":false},{"PRN":9,"el":3,"az":137,"ss":29,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":13,"el":5,"az":0,"ss":0,"used":false},{"PRN":14,"el":33,"az":226,"ss":0,"used":false},{"PRN":15,"el":5,"az":0,"ss":0,"used":false},{"PRN":16,"el":5,"az":0,"ss":0,"used":false},{"PRN":17,"el":5,"az":0,"ss":0,"used":false},{"PRN":18,"el":5,"az":0,"ss":0,"used":false},{"PRN":19,"el":5,"az":0,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":21,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":18,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":29,"used":false},{"PRN":31,"el":37,"az":300,"ss":0,"used":false}]} $GPGGA,105016.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*56 $GPRMC,105016.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*05 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,23,2,28,74,25,4,19,40,28,9,3,137,30*42 $GPGSV,5,2,19,12,44,85,,13,5,,,14,33,226,,15,5,,*4D $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,18,202,*7D $GPGSV,5,5,19,29,47,187,35,30,80,98,29,31,37,300,*75 {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":23,"used":false},{"PRN":2,"el":28,"az":74,"ss":25,"used":true},{"PRN":4,"el":19,"az":40,"ss":28,"used":false},{"PRN":9,"el":3,"az":137,"ss":30,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":13,"el":5,"az":0,"ss":0,"used":false},{"PRN":14,"el":33,"az":226,"ss":0,"used":false},{"PRN":15,"el":5,"az":0,"ss":0,"used":false},{"PRN":16,"el":5,"az":0,"ss":0,"used":false},{"PRN":17,"el":5,"az":0,"ss":0,"used":false},{"PRN":18,"el":5,"az":0,"ss":0,"used":false},{"PRN":19,"el":5,"az":0,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":21,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":18,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":29,"used":false},{"PRN":31,"el":37,"az":300,"ss":0,"used":false}]} $GPGGA,105017.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*57 $GPRMC,105017.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*04 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,24,2,28,74,24,4,19,40,27,9,3,137,29*43 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,35,30,80,98,30,31,38,300,*72 {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":24,"used":false},{"PRN":2,"el":28,"az":74,"ss":24,"used":true},{"PRN":4,"el":19,"az":40,"ss":27,"used":false},{"PRN":9,"el":3,"az":137,"ss":29,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":13,"el":5,"az":0,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":15,"el":5,"az":0,"ss":0,"used":false},{"PRN":16,"el":5,"az":0,"ss":0,"used":false},{"PRN":17,"el":5,"az":0,"ss":0,"used":false},{"PRN":18,"el":5,"az":0,"ss":0,"used":false},{"PRN":19,"el":5,"az":0,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":21,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":30,"used":false},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105018.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*58 $GPRMC,105018.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*0B $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,25,2,28,74,23,4,19,40,27,9,3,137,29*45 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,36,30,80,98,31,31,38,300,*70 {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":25,"used":false},{"PRN":2,"el":28,"az":74,"ss":23,"used":true},{"PRN":4,"el":19,"az":40,"ss":27,"used":false},{"PRN":9,"el":3,"az":137,"ss":29,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":13,"el":5,"az":0,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":15,"el":5,"az":0,"ss":0,"used":false},{"PRN":16,"el":5,"az":0,"ss":0,"used":false},{"PRN":17,"el":5,"az":0,"ss":0,"used":false},{"PRN":18,"el":5,"az":0,"ss":0,"used":false},{"PRN":19,"el":5,"az":0,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":21,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":36,"used":true},{"PRN":30,"el":80,"az":98,"ss":31,"used":false},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105019.80,5612.9999,N,00306.7096,W,,1,60.000,160.002,M,,M,,*5A $GPRMC,105019.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*0A $GPGSA,A,1,29,,,,,,,,,,,,60.000,60.000,60.000*0D {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,24,2,28,74,24,4,19,40,26,9,3,137,29*42 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,36,30,80,98,31,31,38,300,*70 {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":24,"used":false},{"PRN":2,"el":28,"az":74,"ss":24,"used":false},{"PRN":4,"el":19,"az":40,"ss":26,"used":false},{"PRN":9,"el":3,"az":137,"ss":29,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":13,"el":5,"az":0,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":15,"el":5,"az":0,"ss":0,"used":false},{"PRN":16,"el":5,"az":0,"ss":0,"used":false},{"PRN":17,"el":5,"az":0,"ss":0,"used":false},{"PRN":18,"el":5,"az":0,"ss":0,"used":false},{"PRN":19,"el":5,"az":0,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":21,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":36,"used":true},{"PRN":30,"el":80,"az":98,"ss":31,"used":false},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105020.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*53 $GPRMC,105020.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*00 $GPGSA,A,1,29,2,,,,,,,,,,,60.000,60.000,60.000*3F {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,24,2,28,74,24,4,19,40,25,9,3,137,29*41 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,37,30,80,98,32,31,38,300,*72 {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":24,"used":false},{"PRN":2,"el":28,"az":74,"ss":24,"used":true},{"PRN":4,"el":19,"az":40,"ss":25,"used":false},{"PRN":9,"el":3,"az":137,"ss":29,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":13,"el":5,"az":0,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":15,"el":5,"az":0,"ss":0,"used":false},{"PRN":16,"el":5,"az":0,"ss":0,"used":false},{"PRN":17,"el":5,"az":0,"ss":0,"used":false},{"PRN":18,"el":5,"az":0,"ss":0,"used":false},{"PRN":19,"el":5,"az":0,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":21,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":37,"used":true},{"PRN":30,"el":80,"az":98,"ss":32,"used":false},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105021.80,5612.9738,N,00306.6652,W,,3,3.722,160.002,M,,M,,*6B $GPRMC,105021.80,V,5612.9738,N,00306.6652,W,,,081009,,W,N*0B $GPGSA,A,1,29,2,30,,,,,,,,,,3.814,3.722,0.832*09 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,24,2,28,74,24,4,19,40,25,9,3,137,29*41 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,36,30,80,98,32,31,38,300,*73 {"class":"SKY","tag":"GSV","vdop":0.83,"hdop":3.72,"pdop":3.81,"satellites":[{"PRN":1,"el":5,"az":0,"ss":24,"used":false},{"PRN":2,"el":28,"az":74,"ss":24,"used":true},{"PRN":4,"el":19,"az":40,"ss":25,"used":false},{"PRN":9,"el":3,"az":137,"ss":29,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":13,"el":5,"az":0,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":15,"el":5,"az":0,"ss":0,"used":false},{"PRN":16,"el":5,"az":0,"ss":0,"used":false},{"PRN":17,"el":5,"az":0,"ss":0,"used":false},{"PRN":18,"el":5,"az":0,"ss":0,"used":false},{"PRN":19,"el":5,"az":0,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":21,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":36,"used":true},{"PRN":30,"el":80,"az":98,"ss":32,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105022.80,5612.9811,N,00306.6703,W,,3,3.724,160.002,M,,M,,*6F $GPRMC,105022.80,V,5612.9811,N,00306.6703,W,,,081009,,W,N*09 $GPGSA,A,1,29,2,30,,,,,,,,,,3.816,3.724,0.832*0D {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,23,2,28,74,23,4,19,40,25,9,3,137,29*41 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,36,30,80,98,33,31,38,300,*72 {"class":"SKY","tag":"GSV","vdop":0.83,"hdop":3.72,"pdop":3.82,"satellites":[{"PRN":1,"el":5,"az":0,"ss":23,"used":false},{"PRN":2,"el":28,"az":74,"ss":23,"used":true},{"PRN":4,"el":19,"az":40,"ss":25,"used":false},{"PRN":9,"el":3,"az":137,"ss":29,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":13,"el":5,"az":0,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":15,"el":5,"az":0,"ss":0,"used":false},{"PRN":16,"el":5,"az":0,"ss":0,"used":false},{"PRN":17,"el":5,"az":0,"ss":0,"used":false},{"PRN":18,"el":5,"az":0,"ss":0,"used":false},{"PRN":19,"el":5,"az":0,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":21,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":36,"used":true},{"PRN":30,"el":80,"az":98,"ss":33,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105023.80,5612.9836,N,00306.6875,W,,3,3.726,160.002,M,,M,,*67 $GPRMC,105023.80,V,5612.9836,N,00306.6875,W,,,081009,,W,N*03 $GPGSA,A,1,29,2,30,,,,,,,,,,3.817,3.726,0.832*0E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,23,2,28,73,24,4,19,40,25,9,3,137,28*40 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,36,30,80,98,32,31,38,300,*73 {"class":"SKY","tag":"GSV","vdop":0.83,"hdop":3.73,"pdop":3.82,"satellites":[{"PRN":1,"el":5,"az":0,"ss":23,"used":false},{"PRN":2,"el":28,"az":73,"ss":24,"used":true},{"PRN":4,"el":19,"az":40,"ss":25,"used":false},{"PRN":9,"el":3,"az":137,"ss":28,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":13,"el":5,"az":0,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":15,"el":5,"az":0,"ss":0,"used":false},{"PRN":16,"el":5,"az":0,"ss":0,"used":false},{"PRN":17,"el":5,"az":0,"ss":0,"used":false},{"PRN":18,"el":5,"az":0,"ss":0,"used":false},{"PRN":19,"el":5,"az":0,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":21,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":36,"used":true},{"PRN":30,"el":80,"az":98,"ss":32,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105024.80,5612.9942,N,00306.7008,W,,3,3.727,160.002,M,,M,,*60 $GPRMC,105024.80,V,5612.9942,N,00306.7008,W,,,081009,,W,N*05 $GPGSA,A,1,29,2,30,,,,,,,,,,3.819,3.727,0.832*01 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,23,2,28,73,24,4,19,40,24,9,3,137,29*40 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,35,30,80,98,33,31,38,300,*71 {"class":"SKY","tag":"GSV","vdop":0.83,"hdop":3.73,"pdop":3.82,"satellites":[{"PRN":1,"el":5,"az":0,"ss":23,"used":false},{"PRN":2,"el":28,"az":73,"ss":24,"used":true},{"PRN":4,"el":19,"az":40,"ss":24,"used":false},{"PRN":9,"el":3,"az":137,"ss":29,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":13,"el":5,"az":0,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":15,"el":5,"az":0,"ss":0,"used":false},{"PRN":16,"el":5,"az":0,"ss":0,"used":false},{"PRN":17,"el":5,"az":0,"ss":0,"used":false},{"PRN":18,"el":5,"az":0,"ss":0,"used":false},{"PRN":19,"el":5,"az":0,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":21,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":33,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105025.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*56 $GPRMC,105025.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*05 $GPGSA,A,1,29,30,,,,,,,,,,,60.000,60.000,60.000*0E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,23,2,28,73,23,4,19,40,24,9,3,137,28*46 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,35,30,80,98,33,31,38,300,*71 {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":23,"used":false},{"PRN":2,"el":28,"az":73,"ss":23,"used":false},{"PRN":4,"el":19,"az":40,"ss":24,"used":false},{"PRN":9,"el":3,"az":137,"ss":28,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":13,"el":5,"az":0,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":15,"el":5,"az":0,"ss":0,"used":false},{"PRN":16,"el":5,"az":0,"ss":0,"used":false},{"PRN":17,"el":5,"az":0,"ss":0,"used":false},{"PRN":18,"el":5,"az":0,"ss":0,"used":false},{"PRN":19,"el":5,"az":0,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":21,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":33,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105026.80,5612.9999,N,00306.7096,W,,2,60.000,160.002,M,,M,,*55 $GPRMC,105026.80,V,5612.9999,N,00306.7096,W,,,081009,,W,N*06 $GPGSA,A,1,29,30,,,,,,,,,,,60.000,60.000,60.000*0E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,23,2,28,73,23,4,19,40,24,9,3,137,28*46 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,36,30,80,98,33,31,38,300,*72 {"class":"SKY","tag":"GSV","vdop":60.00,"hdop":60.00,"pdop":60.00,"satellites":[{"PRN":1,"el":5,"az":0,"ss":23,"used":false},{"PRN":2,"el":28,"az":73,"ss":23,"used":false},{"PRN":4,"el":19,"az":40,"ss":24,"used":false},{"PRN":9,"el":3,"az":137,"ss":28,"used":false},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":13,"el":5,"az":0,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":15,"el":5,"az":0,"ss":0,"used":false},{"PRN":16,"el":5,"az":0,"ss":0,"used":false},{"PRN":17,"el":5,"az":0,"ss":0,"used":false},{"PRN":18,"el":5,"az":0,"ss":0,"used":false},{"PRN":19,"el":5,"az":0,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":21,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":36,"used":true},{"PRN":30,"el":80,"az":98,"ss":33,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105027.80,5612.9956,N,00306.6983,W,,3,2.506,160.002,M,,M,,*6D $GPRMC,105027.80,V,5612.9956,N,00306.6983,W,,,081009,,W,N*08 $GPGSA,A,1,29,30,9,,,,,,,,,,2.597,2.506,0.681*06 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,23,2,28,73,22,4,19,40,24,9,3,137,28*47 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,36,30,80,98,33,31,38,300,*72 {"class":"SKY","tag":"GSV","vdop":0.68,"hdop":2.51,"pdop":2.60,"satellites":[{"PRN":1,"el":5,"az":0,"ss":23,"used":false},{"PRN":2,"el":28,"az":73,"ss":22,"used":false},{"PRN":4,"el":19,"az":40,"ss":24,"used":false},{"PRN":9,"el":3,"az":137,"ss":28,"used":true},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":13,"el":5,"az":0,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":15,"el":5,"az":0,"ss":0,"used":false},{"PRN":16,"el":5,"az":0,"ss":0,"used":false},{"PRN":17,"el":5,"az":0,"ss":0,"used":false},{"PRN":18,"el":5,"az":0,"ss":0,"used":false},{"PRN":19,"el":5,"az":0,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":21,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":36,"used":true},{"PRN":30,"el":80,"az":98,"ss":33,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105028.80,5612.9948,N,00306.7136,W,,3,2.506,160.002,M,,M,,*6A $GPRMC,105028.80,V,5612.9948,N,00306.7136,W,,,081009,,W,N*0F $GPGSA,A,1,29,30,9,,,,,,,,,,2.597,2.506,0.681*06 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,5,1,19,1,5,,22,2,28,73,24,4,19,40,25,9,3,137,28*41 $GPGSV,5,2,19,12,44,85,,13,5,,,14,32,226,,15,5,,*4C $GPGSV,5,3,19,16,5,,,17,5,,,18,5,,,19,5,,*77 $GPGSV,5,4,19,20,6,332,,21,5,,,24,4,147,,26,17,202,*72 $GPGSV,5,5,19,29,47,187,36,30,80,98,33,31,38,300,*72 {"class":"SKY","tag":"GSV","vdop":0.68,"hdop":2.51,"pdop":2.60,"satellites":[{"PRN":1,"el":5,"az":0,"ss":22,"used":false},{"PRN":2,"el":28,"az":73,"ss":24,"used":false},{"PRN":4,"el":19,"az":40,"ss":25,"used":false},{"PRN":9,"el":3,"az":137,"ss":28,"used":true},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":13,"el":5,"az":0,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":15,"el":5,"az":0,"ss":0,"used":false},{"PRN":16,"el":5,"az":0,"ss":0,"used":false},{"PRN":17,"el":5,"az":0,"ss":0,"used":false},{"PRN":18,"el":5,"az":0,"ss":0,"used":false},{"PRN":19,"el":5,"az":0,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":21,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":36,"used":true},{"PRN":30,"el":80,"az":98,"ss":33,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105029.80,5612.9978,N,00306.7359,W,1,4,17.516,159.072,M,,M,,*6D {"class":"TPV","tag":"GGA","mode":3,"lat":56.216630000,"lon":-3.112265000,"alt":159.072,"epv":15.663} $GPRMC,105029.80,A,5612.9978,N,00306.7359,W,0.174,318.057,081009,,W,A*14 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:29.800Z","ept":0.005,"lat":56.216630000,"lon":-3.112265000,"alt":159.072,"epv":15.663,"track":318.0570,"speed":0.090} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.570,17.516,15.771*03 {"class":"TPV","tag":"GSA","mode":3,"time":"2009-10-08T10:50:29.800Z","ept":0.005,"lat":56.216630000,"lon":-3.112265000,"alt":159.072,"epv":15.663,"track":318.0570,"speed":0.090,"climb":0.000} $GPGSV,5,1,19,1,5,,23,2,28,73,25,3,5,,,4,19,40,24*73 $GPGSV,5,2,19,5,5,,,9,3,137,27,12,44,85,,14,32,226,*70 $GPGSV,5,3,19,20,6,332,,22,5,,,23,5,,,24,4,147,*70 $GPGSV,5,4,19,25,5,,,26,17,202,,27,5,,,28,5,,*7F $GPGSV,5,5,19,29,47,187,35,30,80,98,33,31,38,300,*71 {"class":"SKY","tag":"GSV","vdop":15.77,"hdop":17.52,"pdop":23.57,"satellites":[{"PRN":1,"el":5,"az":0,"ss":23,"used":false},{"PRN":2,"el":28,"az":73,"ss":25,"used":true},{"PRN":3,"el":5,"az":0,"ss":0,"used":false},{"PRN":4,"el":19,"az":40,"ss":24,"used":false},{"PRN":5,"el":5,"az":0,"ss":0,"used":false},{"PRN":9,"el":3,"az":137,"ss":27,"used":true},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":22,"el":5,"az":0,"ss":0,"used":false},{"PRN":23,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":25,"el":5,"az":0,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":27,"el":5,"az":0,"ss":0,"used":false},{"PRN":28,"el":5,"az":0,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":33,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105030.80,5612.9978,N,00306.7310,W,1,4,17.510,159.050,M,,M,,*6E $GPRMC,105030.80,A,5612.9978,N,00306.7310,W,0.265,127.668,081009,,W,A*16 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:30.800Z","ept":0.005,"lat":56.216630000,"lon":-3.112183333,"alt":159.050,"epv":362.733,"track":127.6680,"speed":0.136,"climb":-0.022} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.559,17.510,15.762*0C $GPGSV,5,1,19,1,5,,23,2,28,73,25,3,5,,,4,19,40,24*73 $GPGSV,5,2,19,5,5,,,9,3,137,27,12,44,85,,14,32,226,*70 $GPGSV,5,3,19,20,6,332,,22,5,,,23,5,,,24,4,147,*70 $GPGSV,5,4,19,25,5,,,26,17,202,,27,5,,,28,5,,*7F $GPGSV,5,5,19,29,47,187,35,30,80,98,34,31,38,300,*76 {"class":"SKY","tag":"GSV","vdop":15.76,"hdop":17.51,"pdop":23.56,"satellites":[{"PRN":1,"el":5,"az":0,"ss":23,"used":false},{"PRN":2,"el":28,"az":73,"ss":25,"used":true},{"PRN":3,"el":5,"az":0,"ss":0,"used":false},{"PRN":4,"el":19,"az":40,"ss":24,"used":false},{"PRN":5,"el":5,"az":0,"ss":0,"used":false},{"PRN":9,"el":3,"az":137,"ss":27,"used":true},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":22,"el":5,"az":0,"ss":0,"used":false},{"PRN":23,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":25,"el":5,"az":0,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":27,"el":5,"az":0,"ss":0,"used":false},{"PRN":28,"el":5,"az":0,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":34,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105031.80,5612.9969,N,00306.7273,W,1,4,17.504,159.024,M,,M,,*6D $GPRMC,105031.80,A,5612.9969,N,00306.7273,W,0.374,132.018,081009,,W,A*17 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:31.800Z","ept":0.005,"lat":56.216615000,"lon":-3.112121667,"alt":159.024,"epv":362.526,"track":132.0180,"speed":0.192,"climb":-0.026} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.548,17.504,15.752*0A $GPGSV,5,1,19,1,5,,25,2,28,73,24,3,5,,,4,19,40,23*73 $GPGSV,5,2,19,5,5,,,9,3,137,27,12,44,85,,14,32,226,*70 $GPGSV,5,3,19,20,6,332,,22,5,,,23,5,,,24,4,147,*70 $GPGSV,5,4,19,25,5,,,26,17,202,,27,5,,,28,5,,*7F $GPGSV,5,5,19,29,47,187,35,30,80,98,34,31,38,300,*76 {"class":"SKY","tag":"GSV","vdop":15.75,"hdop":17.50,"pdop":23.55,"satellites":[{"PRN":1,"el":5,"az":0,"ss":25,"used":false},{"PRN":2,"el":28,"az":73,"ss":24,"used":true},{"PRN":3,"el":5,"az":0,"ss":0,"used":false},{"PRN":4,"el":19,"az":40,"ss":23,"used":false},{"PRN":5,"el":5,"az":0,"ss":0,"used":false},{"PRN":9,"el":3,"az":137,"ss":27,"used":true},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":22,"el":5,"az":0,"ss":0,"used":false},{"PRN":23,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":25,"el":5,"az":0,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":27,"el":5,"az":0,"ss":0,"used":false},{"PRN":28,"el":5,"az":0,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":34,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105032.80,5612.9977,N,00306.7212,W,1,4,17.498,158.985,M,,M,,*61 $GPRMC,105032.80,A,5612.9977,N,00306.7212,W,0.501,133.315,081009,,W,A*17 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:32.800Z","ept":0.005,"lat":56.216628333,"lon":-3.112020000,"alt":158.985,"epv":362.296,"track":133.3150,"speed":0.258,"climb":-0.039} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.537,17.498,15.743*06 $GPGSV,5,1,19,1,5,,25,2,28,73,24,3,5,,,4,19,40,23*73 $GPGSV,5,2,19,5,5,,,9,3,137,26,12,44,85,,14,32,226,*71 $GPGSV,5,3,19,20,6,332,,22,5,,,23,5,,,24,4,147,*70 $GPGSV,5,4,19,25,5,,,26,17,202,,27,5,,,28,5,,*7F $GPGSV,5,5,19,29,47,187,35,30,80,98,33,31,38,300,*71 {"class":"SKY","tag":"GSV","vdop":15.74,"hdop":17.50,"pdop":23.54,"satellites":[{"PRN":1,"el":5,"az":0,"ss":25,"used":false},{"PRN":2,"el":28,"az":73,"ss":24,"used":true},{"PRN":3,"el":5,"az":0,"ss":0,"used":false},{"PRN":4,"el":19,"az":40,"ss":23,"used":false},{"PRN":5,"el":5,"az":0,"ss":0,"used":false},{"PRN":9,"el":3,"az":137,"ss":26,"used":true},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":22,"el":5,"az":0,"ss":0,"used":false},{"PRN":23,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":25,"el":5,"az":0,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":27,"el":5,"az":0,"ss":0,"used":false},{"PRN":28,"el":5,"az":0,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":33,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105033.80,5612.9975,N,00306.7206,W,1,4,17.491,158.982,M,,M,,*69 $GPRMC,105033.80,A,5612.9975,N,00306.7206,W,0.695,131.210,081009,,W,A*19 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:33.800Z","ept":0.005,"lat":56.216625000,"lon":-3.112010000,"alt":158.982,"epv":362.089,"track":131.2100,"speed":0.358,"climb":-0.003} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.527,17.491,15.734*0E $GPGSV,5,1,19,1,5,,25,2,28,73,24,3,5,,,4,19,40,24*74 $GPGSV,5,2,19,5,5,,,9,3,137,26,12,44,85,,14,32,226,*71 $GPGSV,5,3,19,20,6,332,,22,5,,,23,5,,,24,4,147,*70 $GPGSV,5,4,19,25,5,,,26,17,202,,27,5,,,28,5,,*7F $GPGSV,5,5,19,29,47,187,35,30,80,98,33,31,38,300,*71 {"class":"SKY","tag":"GSV","vdop":15.73,"hdop":17.49,"pdop":23.53,"satellites":[{"PRN":1,"el":5,"az":0,"ss":25,"used":false},{"PRN":2,"el":28,"az":73,"ss":24,"used":true},{"PRN":3,"el":5,"az":0,"ss":0,"used":false},{"PRN":4,"el":19,"az":40,"ss":24,"used":false},{"PRN":5,"el":5,"az":0,"ss":0,"used":false},{"PRN":9,"el":3,"az":137,"ss":26,"used":true},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":22,"el":5,"az":0,"ss":0,"used":false},{"PRN":23,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":25,"el":5,"az":0,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":27,"el":5,"az":0,"ss":0,"used":false},{"PRN":28,"el":5,"az":0,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":33,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105034.80,5612.9972,N,00306.7198,W,1,4,17.485,159.022,M,,M,,*6A $GPRMC,105034.80,A,5612.9972,N,00306.7198,W,1.157,241.127,081009,,W,A*16 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:34.800Z","ept":0.005,"lat":56.216620000,"lon":-3.111996667,"alt":159.022,"epv":361.882,"track":241.1270,"speed":0.595,"climb":0.040} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.516,17.485,15.725*09 $GPGSV,5,1,19,1,5,,26,2,28,73,23,3,5,,,4,19,40,24*70 $GPGSV,5,2,19,5,5,,,9,3,137,25,12,44,85,,14,32,226,*72 $GPGSV,5,3,19,20,6,332,,22,5,,,23,5,,,24,4,147,*70 $GPGSV,5,4,19,25,5,,,26,17,202,,27,5,,,28,5,,*7F $GPGSV,5,5,19,29,47,187,35,30,80,98,33,31,38,300,*71 {"class":"SKY","tag":"GSV","vdop":15.72,"hdop":17.48,"pdop":23.52,"satellites":[{"PRN":1,"el":5,"az":0,"ss":26,"used":false},{"PRN":2,"el":28,"az":73,"ss":23,"used":true},{"PRN":3,"el":5,"az":0,"ss":0,"used":false},{"PRN":4,"el":19,"az":40,"ss":24,"used":false},{"PRN":5,"el":5,"az":0,"ss":0,"used":false},{"PRN":9,"el":3,"az":137,"ss":25,"used":true},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":22,"el":5,"az":0,"ss":0,"used":false},{"PRN":23,"el":5,"az":0,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":25,"el":5,"az":0,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":27,"el":5,"az":0,"ss":0,"used":false},{"PRN":28,"el":5,"az":0,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":33,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105035.80,5612.9962,N,00306.7171,W,1,4,17.479,159.038,M,,M,,*65 $GPRMC,105035.80,A,5612.9962,N,00306.7171,W,0.278,266.820,081009,,W,A*15 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:35.800Z","ept":0.005,"lat":56.216603333,"lon":-3.111951667,"alt":159.038,"epv":361.675,"track":266.8200,"speed":0.143,"climb":0.016} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.505,17.479,15.715*0B $GPGSV,3,1,11,2,28,73,25,4,19,40,24,9,3,137,25,12,44,85,*48 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,35,30,80,98,33,31,38,300,*79 {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.71,"tdop":4.40,"hdop":17.48,"gdop":8.56,"pdop":23.50,"satellites":[{"PRN":2,"el":28,"az":73,"ss":25,"used":true},{"PRN":4,"el":19,"az":40,"ss":24,"used":false},{"PRN":9,"el":3,"az":137,"ss":25,"used":true},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":33,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105036.80,5612.9956,N,00306.7155,W,1,4,17.473,159.027,M,,M,,*63 $GPRMC,105036.80,A,5612.9956,N,00306.7155,W,0.198,246.533,081009,,W,A*17 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:36.800Z","ept":0.005,"lat":56.216593333,"lon":-3.111925000,"alt":159.027,"epx":100.280,"epy":17.497,"epv":361.445,"track":246.5330,"speed":0.102,"climb":-0.011,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.494,17.473,15.706*0A $GPGSV,3,1,11,2,28,73,27,4,19,40,24,9,3,137,25,12,44,85,*4A $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,33,31,38,300,*7A {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.71,"tdop":4.40,"hdop":17.47,"gdop":8.56,"pdop":23.49,"satellites":[{"PRN":2,"el":28,"az":73,"ss":27,"used":true},{"PRN":4,"el":19,"az":40,"ss":24,"used":false},{"PRN":9,"el":3,"az":137,"ss":25,"used":true},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":36,"used":true},{"PRN":30,"el":80,"az":98,"ss":33,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105037.80,5612.9964,N,00306.7154,W,1,4,17.466,159.026,M,,M,,*67 $GPRMC,105037.80,A,5612.9964,N,00306.7154,W,0.195,197.090,081009,,W,A*18 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:37.800Z","ept":0.005,"lat":56.216606667,"lon":-3.111923333,"alt":159.026,"epx":100.280,"epy":17.497,"epv":361.238,"track":197.0900,"speed":0.100,"climb":-0.001,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.483,17.466,15.697*01 $GPGSV,3,1,11,2,28,73,28,4,19,40,24,9,3,137,26,12,44,85,*46 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,33,31,38,300,*7A {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.70,"tdop":4.40,"hdop":17.47,"gdop":8.56,"pdop":23.48,"satellites":[{"PRN":2,"el":28,"az":73,"ss":28,"used":true},{"PRN":4,"el":19,"az":40,"ss":24,"used":false},{"PRN":9,"el":3,"az":137,"ss":26,"used":true},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":36,"used":true},{"PRN":30,"el":80,"az":98,"ss":33,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105038.80,5612.9968,N,00306.7154,W,1,4,17.460,159.025,M,,M,,*61 $GPRMC,105038.80,A,5612.9968,N,00306.7154,W,0.341,157.412,081009,,W,A*12 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:38.800Z","ept":0.005,"lat":56.216613333,"lon":-3.111923333,"alt":159.025,"epx":100.280,"epy":17.497,"epv":361.031,"track":157.4120,"speed":0.175,"climb":-0.001,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.472,17.460,15.687*08 $GPGSV,3,1,11,2,28,73,29,4,19,40,25,9,3,137,26,12,44,85,*46 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,33,31,38,300,*7A {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.69,"tdop":4.40,"hdop":17.46,"gdop":8.56,"pdop":23.47,"satellites":[{"PRN":2,"el":28,"az":73,"ss":29,"used":true},{"PRN":4,"el":19,"az":40,"ss":25,"used":false},{"PRN":9,"el":3,"az":137,"ss":26,"used":true},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":36,"used":true},{"PRN":30,"el":80,"az":98,"ss":33,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105039.80,5612.9970,N,00306.7151,W,1,4,17.454,159.014,M,,M,,*69 $GPRMC,105039.80,A,5612.9970,N,00306.7151,W,0.347,146.770,081009,,W,A*1E {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:39.800Z","ept":0.005,"lat":56.216616667,"lon":-3.111918333,"alt":159.014,"epx":100.280,"epy":17.497,"epv":360.801,"track":146.7700,"speed":0.179,"climb":-0.011,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.461,17.454,15.678*0D $GPGSV,3,1,11,2,28,73,30,4,19,40,25,9,3,137,25,12,44,85,*4D $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,32,31,38,300,*7B {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.68,"tdop":4.40,"hdop":17.45,"gdop":8.56,"pdop":23.46,"satellites":[{"PRN":2,"el":28,"az":73,"ss":30,"used":true},{"PRN":4,"el":19,"az":40,"ss":25,"used":false},{"PRN":9,"el":3,"az":137,"ss":25,"used":true},{"PRN":12,"el":44,"az":85,"ss":0,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":36,"used":true},{"PRN":30,"el":80,"az":98,"ss":32,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105040.80,5612.9971,N,00306.7142,W,1,4,17.447,158.994,M,,M,,*66 $GPRMC,105040.80,A,5612.9971,N,00306.7142,W,1.093,166.635,081009,,W,A*1A {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:40.800Z","ept":0.005,"lat":56.216618333,"lon":-3.111903333,"alt":158.994,"epx":100.280,"epy":17.497,"epv":360.594,"track":166.6350,"speed":0.562,"climb":-0.020,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.450,17.447,15.669*0D $GPGSV,3,1,11,2,28,73,30,4,19,40,27,9,3,137,25,12,44,85,20*4D $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,31,31,38,300,*78 {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.67,"tdop":4.40,"hdop":17.45,"gdop":8.56,"pdop":23.45,"satellites":[{"PRN":2,"el":28,"az":73,"ss":30,"used":true},{"PRN":4,"el":19,"az":40,"ss":27,"used":false},{"PRN":9,"el":3,"az":137,"ss":25,"used":true},{"PRN":12,"el":44,"az":85,"ss":20,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":36,"used":true},{"PRN":30,"el":80,"az":98,"ss":31,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105041.80,5612.9975,N,00306.7156,W,1,4,17.441,159.008,M,,M,,*6D $GPRMC,105041.80,A,5612.9975,N,00306.7156,W,1.073,180.241,081009,,W,A*1B {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:41.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":360.387,"track":180.2410,"speed":0.552,"climb":0.014,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.439,17.441,15.659*07 $GPGSV,3,1,11,2,28,73,29,4,19,40,26,9,3,137,24,12,44,85,22*47 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,35,30,80,98,31,31,38,300,*7B {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.66,"tdop":4.40,"hdop":17.44,"gdop":8.56,"pdop":23.44,"satellites":[{"PRN":2,"el":28,"az":73,"ss":29,"used":true},{"PRN":4,"el":19,"az":40,"ss":26,"used":false},{"PRN":9,"el":3,"az":137,"ss":24,"used":true},{"PRN":12,"el":44,"az":85,"ss":22,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":31,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105042.80,5612.9975,N,00306.7156,W,1,4,17.435,159.008,M,,M,,*6D $GPRMC,105042.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*13 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:42.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":360.157,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.428,17.435,15.650*0D $GPGSV,3,1,11,2,28,73,28,4,19,40,27,9,3,137,23,12,44,85,23*41 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,35,30,80,98,30,31,38,300,*7A {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.65,"tdop":4.40,"hdop":17.43,"gdop":8.56,"pdop":23.43,"satellites":[{"PRN":2,"el":28,"az":73,"ss":28,"used":true},{"PRN":4,"el":19,"az":40,"ss":27,"used":false},{"PRN":9,"el":3,"az":137,"ss":23,"used":true},{"PRN":12,"el":44,"az":85,"ss":23,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":30,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105043.80,5612.9975,N,00306.7156,W,1,4,17.428,159.008,M,,M,,*60 $GPRMC,105043.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*12 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:43.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":359.950,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.417,17.428,15.641*0D $GPGSV,3,1,11,2,28,73,28,4,19,40,28,9,3,137,24,12,44,85,25*4F $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,35,30,80,98,30,31,38,300,*7A {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.64,"tdop":4.40,"hdop":17.43,"gdop":8.56,"pdop":23.42,"satellites":[{"PRN":2,"el":28,"az":73,"ss":28,"used":true},{"PRN":4,"el":19,"az":40,"ss":28,"used":false},{"PRN":9,"el":3,"az":137,"ss":24,"used":true},{"PRN":12,"el":44,"az":85,"ss":25,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":30,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105044.80,5612.9975,N,00306.7156,W,1,4,17.422,159.008,M,,M,,*6D $GPRMC,105044.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*15 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:44.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":359.743,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.406,17.422,15.631*00 $GPGSV,3,1,11,2,28,73,27,4,19,40,28,9,3,137,24,12,44,85,26*43 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,30,31,38,300,*79 {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.63,"tdop":4.40,"hdop":17.42,"gdop":8.56,"pdop":23.41,"satellites":[{"PRN":2,"el":28,"az":73,"ss":27,"used":true},{"PRN":4,"el":19,"az":40,"ss":28,"used":false},{"PRN":9,"el":3,"az":137,"ss":24,"used":true},{"PRN":12,"el":44,"az":85,"ss":26,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":36,"used":true},{"PRN":30,"el":80,"az":98,"ss":30,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105045.80,5612.9975,N,00306.7156,W,1,4,17.416,159.008,M,,M,,*6B $GPRMC,105045.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*14 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:45.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":359.513,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.396,17.416,15.622*0B $GPGSV,3,1,11,2,28,73,27,4,19,40,27,9,3,137,26,12,44,85,28*40 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,31,31,38,300,*78 {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.62,"tdop":4.40,"hdop":17.42,"gdop":8.56,"pdop":23.40,"satellites":[{"PRN":2,"el":28,"az":73,"ss":27,"used":true},{"PRN":4,"el":19,"az":40,"ss":27,"used":false},{"PRN":9,"el":3,"az":137,"ss":26,"used":true},{"PRN":12,"el":44,"az":85,"ss":28,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":36,"used":true},{"PRN":30,"el":80,"az":98,"ss":31,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105046.80,5612.9975,N,00306.7156,W,1,4,17.409,159.008,M,,M,,*66 $GPRMC,105046.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*17 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:46.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":359.306,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.384,17.409,15.613*04 $GPGSV,3,1,11,2,28,73,26,4,19,40,27,9,3,137,27,12,44,85,29*41 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,31,31,38,300,*78 {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.61,"tdop":4.40,"hdop":17.41,"gdop":8.56,"pdop":23.38,"satellites":[{"PRN":2,"el":28,"az":73,"ss":26,"used":true},{"PRN":4,"el":19,"az":40,"ss":27,"used":false},{"PRN":9,"el":3,"az":137,"ss":27,"used":true},{"PRN":12,"el":44,"az":85,"ss":29,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":36,"used":true},{"PRN":30,"el":80,"az":98,"ss":31,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105047.80,5612.9975,N,00306.7156,W,1,4,17.403,159.008,M,,M,,*6D $GPRMC,105047.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*16 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:47.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":359.099,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.373,17.403,15.603*07 $GPGSV,3,1,11,2,28,73,26,4,19,40,27,9,3,137,27,12,44,85,29*41 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,31,31,38,300,*78 {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.60,"tdop":4.40,"hdop":17.40,"gdop":8.56,"pdop":23.37,"satellites":[{"PRN":2,"el":28,"az":73,"ss":26,"used":true},{"PRN":4,"el":19,"az":40,"ss":27,"used":false},{"PRN":9,"el":3,"az":137,"ss":27,"used":true},{"PRN":12,"el":44,"az":85,"ss":29,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":36,"used":true},{"PRN":30,"el":80,"az":98,"ss":31,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105048.80,5612.9975,N,00306.7156,W,1,4,17.397,159.008,M,,M,,*68 $GPRMC,105048.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*19 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:48.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":358.869,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.362,17.397,15.594*00 $GPGSV,3,1,11,2,28,73,26,4,19,40,27,9,3,137,27,12,44,85,29*41 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,31,31,38,300,*78 {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.59,"tdop":4.40,"hdop":17.40,"gdop":8.56,"pdop":23.36,"satellites":[{"PRN":2,"el":28,"az":73,"ss":26,"used":true},{"PRN":4,"el":19,"az":40,"ss":27,"used":false},{"PRN":9,"el":3,"az":137,"ss":27,"used":true},{"PRN":12,"el":44,"az":85,"ss":29,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":36,"used":true},{"PRN":30,"el":80,"az":98,"ss":31,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105049.80,5612.9975,N,00306.7156,W,1,4,17.390,159.008,M,,M,,*6E $GPRMC,105049.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*18 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:49.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":358.662,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.351,17.390,15.584*06 $GPGSV,3,1,11,2,28,73,25,4,19,40,26,9,3,137,27,12,44,85,29*43 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,36,30,80,98,31,31,38,300,*78 {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.58,"tdop":4.40,"hdop":17.39,"gdop":8.56,"pdop":23.35,"satellites":[{"PRN":2,"el":28,"az":73,"ss":25,"used":true},{"PRN":4,"el":19,"az":40,"ss":26,"used":false},{"PRN":9,"el":3,"az":137,"ss":27,"used":true},{"PRN":12,"el":44,"az":85,"ss":29,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":36,"used":true},{"PRN":30,"el":80,"az":98,"ss":31,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105050.80,5612.9975,N,00306.7156,W,1,4,17.384,159.008,M,,M,,*63 $GPRMC,105050.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*10 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:50.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":358.432,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.340,17.384,15.575*0D $GPGSV,3,1,11,2,28,73,25,4,19,40,26,9,3,137,27,12,44,85,29*43 $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,35,30,80,98,31,31,38,300,*7B {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.57,"tdop":4.40,"hdop":17.38,"gdop":8.56,"pdop":23.34,"satellites":[{"PRN":2,"el":28,"az":73,"ss":25,"used":true},{"PRN":4,"el":19,"az":40,"ss":26,"used":false},{"PRN":9,"el":3,"az":137,"ss":27,"used":true},{"PRN":12,"el":44,"az":85,"ss":29,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":31,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105051.80,5612.9975,N,00306.7156,W,1,4,17.377,159.008,M,,M,,*6E $GPRMC,105051.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*11 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:51.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":358.225,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.329,17.377,15.566*0C $GPGSV,3,1,11,2,28,73,25,4,19,40,26,9,3,137,27,12,44,85,30*4B $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,35,30,80,98,32,31,38,300,*78 {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.57,"tdop":4.40,"hdop":17.38,"gdop":8.56,"pdop":23.33,"satellites":[{"PRN":2,"el":28,"az":73,"ss":25,"used":true},{"PRN":4,"el":19,"az":40,"ss":26,"used":false},{"PRN":9,"el":3,"az":137,"ss":27,"used":true},{"PRN":12,"el":44,"az":85,"ss":30,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":32,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105052.80,5612.9975,N,00306.7156,W,1,4,17.371,159.008,M,,M,,*6B $GPRMC,105052.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*12 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:52.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":358.018,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.318,17.371,15.556*0B $GPGSV,3,1,11,2,28,73,25,4,19,40,26,9,3,137,27,12,44,85,30*4B $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,35,30,80,98,32,31,38,300,*78 {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.56,"tdop":4.40,"hdop":17.37,"gdop":8.56,"pdop":23.32,"satellites":[{"PRN":2,"el":28,"az":73,"ss":25,"used":true},{"PRN":4,"el":19,"az":40,"ss":26,"used":false},{"PRN":9,"el":3,"az":137,"ss":27,"used":true},{"PRN":12,"el":44,"az":85,"ss":30,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":32,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105053.80,5612.9975,N,00306.7156,W,1,4,17.364,159.008,M,,M,,*6E $GPRMC,105053.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*13 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:53.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":357.788,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.307,17.364,15.547*01 $GPGSV,3,1,11,2,28,73,24,4,19,40,26,9,3,137,27,12,44,85,30*4A $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,35,30,80,98,32,31,38,300,*78 {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.55,"tdop":4.40,"hdop":17.36,"gdop":8.56,"pdop":23.31,"satellites":[{"PRN":2,"el":28,"az":73,"ss":24,"used":true},{"PRN":4,"el":19,"az":40,"ss":26,"used":false},{"PRN":9,"el":3,"az":137,"ss":27,"used":true},{"PRN":12,"el":44,"az":85,"ss":30,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":32,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105054.80,5612.9975,N,00306.7156,W,1,4,17.358,159.008,M,,M,,*66 $GPRMC,105054.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*14 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:54.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":357.581,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.296,17.358,15.537*00 $GPGSV,3,1,11,2,28,73,24,4,19,40,26,9,3,137,27,12,44,85,30*4A $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,35,30,80,98,31,31,38,300,*7B {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.54,"tdop":4.40,"hdop":17.36,"gdop":8.56,"pdop":23.30,"satellites":[{"PRN":2,"el":28,"az":73,"ss":24,"used":true},{"PRN":4,"el":19,"az":40,"ss":26,"used":false},{"PRN":9,"el":3,"az":137,"ss":27,"used":true},{"PRN":12,"el":44,"az":85,"ss":30,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":31,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105055.80,5612.9975,N,00306.7156,W,1,4,17.351,159.008,M,,M,,*6E $GPRMC,105055.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*15 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:55.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":357.351,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.285,17.351,15.528*05 $GPGSV,3,1,11,2,28,73,23,4,19,40,25,9,3,137,27,12,44,85,30*4E $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,47,187,34,30,80,98,32,31,38,300,*79 {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.53,"tdop":4.40,"hdop":17.35,"gdop":8.56,"pdop":23.29,"satellites":[{"PRN":2,"el":28,"az":73,"ss":23,"used":true},{"PRN":4,"el":19,"az":40,"ss":25,"used":false},{"PRN":9,"el":3,"az":137,"ss":27,"used":true},{"PRN":12,"el":44,"az":85,"ss":30,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":47,"az":187,"ss":34,"used":true},{"PRN":30,"el":80,"az":98,"ss":32,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105056.80,5612.9975,N,00306.7156,W,1,4,17.345,159.008,M,,M,,*68 $GPRMC,105056.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*16 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:56.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":357.144,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.274,17.345,15.518*0D $GPGSV,3,1,11,2,28,73,23,4,19,40,25,9,3,137,27,12,44,85,31*4F $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,48,187,34,30,80,98,32,31,38,300,*76 {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.52,"tdop":4.40,"hdop":17.34,"gdop":8.56,"pdop":23.27,"satellites":[{"PRN":2,"el":28,"az":73,"ss":23,"used":true},{"PRN":4,"el":19,"az":40,"ss":25,"used":false},{"PRN":9,"el":3,"az":137,"ss":27,"used":true},{"PRN":12,"el":44,"az":85,"ss":31,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":48,"az":187,"ss":34,"used":true},{"PRN":30,"el":80,"az":98,"ss":32,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105057.80,5612.9975,N,00306.7156,W,1,4,17.338,159.008,M,,M,,*63 $GPRMC,105057.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*17 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:57.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":356.914,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.263,17.338,15.509*01 $GPGSV,3,1,11,2,28,73,23,4,19,40,26,9,3,137,27,12,44,85,31*4C $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,48,187,35,30,80,98,32,31,38,300,*77 {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.51,"tdop":4.40,"hdop":17.34,"gdop":8.56,"pdop":23.26,"satellites":[{"PRN":2,"el":28,"az":73,"ss":23,"used":true},{"PRN":4,"el":19,"az":40,"ss":26,"used":false},{"PRN":9,"el":3,"az":137,"ss":27,"used":true},{"PRN":12,"el":44,"az":85,"ss":31,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":48,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":32,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105058.80,5612.9975,N,00306.7156,W,1,4,17.332,159.008,M,,M,,*66 $GPRMC,105058.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*18 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:58.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":356.707,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.251,17.332,15.500*03 $GPGSV,3,1,11,2,28,73,23,4,19,40,26,9,3,137,27,12,44,85,31*4C $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,48,187,35,30,80,98,32,31,38,300,*77 {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.50,"tdop":4.40,"hdop":17.33,"gdop":8.56,"pdop":23.25,"satellites":[{"PRN":2,"el":28,"az":73,"ss":23,"used":true},{"PRN":4,"el":19,"az":40,"ss":26,"used":false},{"PRN":9,"el":3,"az":137,"ss":27,"used":true},{"PRN":12,"el":44,"az":85,"ss":31,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":48,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":32,"used":true},{"PRN":31,"el":38,"az":300,"ss":0,"used":false}]} $GPGGA,105059.80,5612.9975,N,00306.7156,W,1,4,17.325,159.008,M,,M,,*61 $GPRMC,105059.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*19 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:50:59.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":356.500,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.240,17.325,15.490*0D $GPGSV,3,1,11,2,28,73,24,4,19,40,26,9,3,137,27,12,44,85,31*4B $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,48,187,34,30,80,98,33,31,38,300,32*76 {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.49,"tdop":4.40,"hdop":17.32,"gdop":8.56,"pdop":23.24,"satellites":[{"PRN":2,"el":28,"az":73,"ss":24,"used":true},{"PRN":4,"el":19,"az":40,"ss":26,"used":false},{"PRN":9,"el":3,"az":137,"ss":27,"used":true},{"PRN":12,"el":44,"az":85,"ss":31,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":48,"az":187,"ss":34,"used":true},{"PRN":30,"el":80,"az":98,"ss":33,"used":true},{"PRN":31,"el":38,"az":300,"ss":32,"used":false}]} $GPGGA,105100.80,5612.9975,N,00306.7156,W,1,4,17.319,159.008,M,,M,,*63 $GPRMC,105100.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*14 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:51:00.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":356.270,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.229,17.319,15.481*0D $GPGSV,3,1,11,2,28,73,24,4,19,40,26,9,3,137,27,12,44,85,31*4B $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,48,187,34,30,80,98,34,31,38,300,33*70 {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.48,"tdop":4.40,"hdop":17.32,"gdop":8.56,"pdop":23.23,"satellites":[{"PRN":2,"el":28,"az":73,"ss":24,"used":true},{"PRN":4,"el":19,"az":40,"ss":26,"used":false},{"PRN":9,"el":3,"az":137,"ss":27,"used":true},{"PRN":12,"el":44,"az":85,"ss":31,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":48,"az":187,"ss":34,"used":true},{"PRN":30,"el":80,"az":98,"ss":34,"used":true},{"PRN":31,"el":38,"az":300,"ss":33,"used":false}]} $GPGGA,105101.80,5612.9975,N,00306.7156,W,1,4,17.312,159.008,M,,M,,*69 $GPRMC,105101.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*15 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:51:01.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":356.063,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.218,17.312,15.471*0B $GPGSV,3,1,11,2,28,73,24,4,19,40,27,9,3,137,27,12,44,85,31*4A $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,48,187,35,30,80,98,34,31,38,300,33*71 {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.47,"tdop":4.40,"hdop":17.31,"gdop":8.56,"pdop":23.22,"satellites":[{"PRN":2,"el":28,"az":73,"ss":24,"used":true},{"PRN":4,"el":19,"az":40,"ss":27,"used":false},{"PRN":9,"el":3,"az":137,"ss":27,"used":true},{"PRN":12,"el":44,"az":85,"ss":31,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":48,"az":187,"ss":35,"used":true},{"PRN":30,"el":80,"az":98,"ss":34,"used":true},{"PRN":31,"el":38,"az":300,"ss":33,"used":false}]} $GPGGA,105102.80,5612.9975,N,00306.7156,W,1,4,17.306,159.008,M,,M,,*6F $GPRMC,105102.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*16 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:51:02.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":355.833,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,,,,,,,,,23.207,17.306,15.462*02 $GPGSV,3,1,11,2,28,73,25,4,19,40,26,9,3,137,27,12,44,85,31*4A $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,48,187,34,30,80,98,34,31,38,300,32*71 {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":15.46,"tdop":4.40,"hdop":17.31,"gdop":8.56,"pdop":23.21,"satellites":[{"PRN":2,"el":28,"az":73,"ss":25,"used":true},{"PRN":4,"el":19,"az":40,"ss":26,"used":false},{"PRN":9,"el":3,"az":137,"ss":27,"used":true},{"PRN":12,"el":44,"az":85,"ss":31,"used":false},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":48,"az":187,"ss":34,"used":true},{"PRN":30,"el":80,"az":98,"ss":34,"used":true},{"PRN":31,"el":38,"az":300,"ss":32,"used":false}]} $GPGGA,105103.80,5612.9975,N,00306.7156,W,1,5,6.586,159.008,M,,M,,*51 $GPRMC,105103.80,A,5612.9975,N,00306.7156,W,,,081009,,W,A*17 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-10-08T10:51:03.800Z","ept":0.005,"lat":56.216625000,"lon":-3.111926667,"alt":159.008,"epx":100.280,"epy":17.497,"epv":355.626,"track":0.0000,"speed":0.000,"climb":0.000,"eps":200.56} $GPGSA,A,3,29,2,30,9,12,,,,,,,,8.747,6.586,5.756*32 $GPGSV,3,1,11,2,28,73,25,4,19,40,26,9,3,137,26,12,44,85,31*4B $GPGSV,3,2,11,14,32,226,,20,6,332,,24,4,147,,26,17,202,*7E $GPGSV,3,3,11,29,48,187,34,30,80,98,33,31,38,300,32*76 {"class":"SKY","tag":"GSV","xdop":6.69,"ydop":1.17,"vdop":5.76,"tdop":4.40,"hdop":6.59,"gdop":8.56,"pdop":8.75,"satellites":[{"PRN":2,"el":28,"az":73,"ss":25,"used":true},{"PRN":4,"el":19,"az":40,"ss":26,"used":false},{"PRN":9,"el":3,"az":137,"ss":26,"used":true},{"PRN":12,"el":44,"az":85,"ss":31,"used":true},{"PRN":14,"el":32,"az":226,"ss":0,"used":false},{"PRN":20,"el":6,"az":332,"ss":0,"used":false},{"PRN":24,"el":4,"az":147,"ss":0,"used":false},{"PRN":26,"el":17,"az":202,"ss":0,"used":false},{"PRN":29,"el":48,"az":187,"ss":34,"used":true},{"PRN":30,"el":80,"az":98,"ss":33,"used":true},{"PRN":31,"el":38,"az":300,"ss":32,"used":false}]} gpsd-3.9/test/daemon/naujoks-ntrip.log0000664000175000017500000000265511762140437016236 0ustar esresr# Name: Ntrip caster # Description: RTCM2 data returened by an Ntrip caster # Submitter: Andre Naujoks # Date: 2011-02-22 # GET /EPS_NI HTTP/1.1 User-Agent: NTRIP gpsd/2.96~dev Accept: rtk/rtcm, dgps/rtcm Authorization: Basic xxxxxxxxxxxxx Connection: close ICY 200 OK YFh|bk\_dHpa}pK@@@hFXCB`dpivZ}JhbIXpScg^ziyEYc@B@_haQF`~uuWIBxL@@ETbY~i|XToY^{oB`{hoxSk@ls@zA~_NAHZ{BhpV@PDHLIJ`wK|N`}q}Ws@`~gqZ@ZLz[YK@lu]OPImB`XuGB\Ss@}}Q|`lO@hY}zkSfAWCHToEYTh]v^Mg@|Kedn}QLpiEYfqUCskPrcKiA|[fyWC]TSb[Lpa}pK@@@hFXCB`dpivZ~pW]vgO@@@l\XaE@V@@Fzf\}`W^nYm~uuWIJxP@@ETGfAVCBT_[^eoB`{M@PGlq@lseE~A`TAHZ^@}WOL@PDHi@vu_tCq_gq}Wse_AXN@@ZLz~@ftvu]OPlR}_goGB\sd@}}QY_SprY}zkvYFh|GTsf[Ppa}pnW\XCB`A@@OVlZ~wIhbIXpScg^vK@@FzCc@B@zW^nYH@A@JoWIFxW@@ETGfAVCBT_^\P}_DroxSNSL@ZzA~_k@~weaBhpso{wVIJ@`K|N`XNBhLZ`~gqesEAYC@UJbpovR}_gJx}cL~@}}Q|`lO@hY}zkSfyWC]Tsa[{O^BOtWyg|}_[@@OVIeAH@ShbIXU@@@lyg^vnyEYc@B@_haQfR@A@JJhvqGQ@@ETGfAVCBt@X^~oB`{hoxSk@l{\zA~_k@~weaBhpso{{x@Fw_sMM`KbB@}O`~gqZ@ZLz[YC@pu]OPlR}_goGB\SVBBnf`lO@MfBETIfyWCxktZdJpa}pK@@@hFXCB`dpivZ~wlW]vWqScg^vK@@FzCcBB@VhaQfR@A@JJhvvG_@@ETGfAVCBt`\^GP}_DW@PGlTSD@cE~A`TAHZ^@}WOL@PDDGyH`Lr@r_t]B\`~gIP@ZLz[YC@pu]OPlR}_goGB\sd@}}QY_SprY}zkvYFh|GTkc[Spa}HA@B@hjg|}_~piSeAH@vW]vWT@@@lyg^vnyEYcAB@IhaQfw~uPhvrGD@@ETbY~i|XtPZ^goB`{M@PGlq@l{yE~A`q@~weD@}WOio{{]yH`iMM`n]}wBI`~gIuesEAYC@UJbpovR_gfGB\KKBBnC_caY}zkS gpsd-3.9/test/daemon/naujoks-ntrip.log.chk0000664000175000017500000001607312135526367017006 0ustar esresr{"class":"RTCM2","type":14,"station_id":688,"zcount":841.8,"seqnum":3,"length":1,"station_health":6,"week":600,"hour":63,"leapsecs":15} {"class":"RTCM2","type":31,"station_id":688,"zcount":828.0,"seqnum":4,"length":14,"station_health":6,"satellites":[{"ident":14,"udre":0,"change":false,"tod":0,"prc":142.140,"rrc":0.000},{"ident":5,"udre":0,"change":false,"tod":0,"prc":138.320,"rrc":0.002},{"ident":15,"udre":0,"change":false,"tod":0,"prc":136.440,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.120,"rrc":0.000},{"ident":13,"udre":0,"change":false,"tod":0,"prc":133.640,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":121.680,"rrc":0.008},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.940,"rrc":0.004},{"ident":20,"udre":0,"change":false,"tod":0,"prc":111.240,"rrc":-0.016}]} {"class":"RTCM2","type":1,"station_id":688,"zcount":843.0,"seqnum":5,"length":19,"station_health":6,"satellites":[{"ident":10,"udre":0,"iod":46,"prc":-2.400,"rrc":0.000},{"ident":13,"udre":0,"iod":94,"prc":-4.420,"rrc":0.000},{"ident":7,"udre":0,"iod":22,"prc":-5.160,"rrc":0.002},{"ident":2,"udre":0,"iod":34,"prc":-6.480,"rrc":0.000},{"ident":4,"udre":0,"iod":47,"prc":-8.860,"rrc":0.000},{"ident":8,"udre":0,"iod":76,"prc":-7.980,"rrc":0.002},{"ident":5,"udre":0,"iod":99,"prc":-8.260,"rrc":0.002},{"ident":23,"udre":0,"iod":81,"prc":-8.060,"rrc":0.000},{"ident":16,"udre":0,"iod":70,"prc":-11.740,"rrc":0.000},{"ident":30,"udre":0,"iod":4,"prc":-18.960,"rrc":-0.006},{"ident":29,"udre":0,"iod":101,"prc":-24.960,"rrc":-0.002}]} {"class":"RTCM2","type":31,"station_id":688,"zcount":829.2,"seqnum":6,"length":14,"station_health":6,"satellites":[{"ident":14,"udre":0,"change":false,"tod":0,"prc":142.140,"rrc":0.000},{"ident":5,"udre":0,"change":false,"tod":0,"prc":138.320,"rrc":0.002},{"ident":15,"udre":0,"change":false,"tod":0,"prc":136.440,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.120,"rrc":0.000},{"ident":13,"udre":0,"change":false,"tod":0,"prc":133.620,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":121.680,"rrc":0.008},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.940,"rrc":0.004},{"ident":20,"udre":0,"change":false,"tod":0,"prc":111.220,"rrc":-0.016}]} {"class":"RTCM2","type":1,"station_id":688,"zcount":844.2,"seqnum":7,"length":19,"station_health":6,"satellites":[{"ident":10,"udre":0,"iod":46,"prc":-2.400,"rrc":0.000},{"ident":13,"udre":0,"iod":94,"prc":-4.420,"rrc":0.000},{"ident":7,"udre":0,"iod":22,"prc":-5.160,"rrc":0.002},{"ident":2,"udre":0,"iod":34,"prc":-6.480,"rrc":0.000},{"ident":4,"udre":0,"iod":47,"prc":-8.860,"rrc":0.000},{"ident":8,"udre":0,"iod":76,"prc":-7.980,"rrc":0.002},{"ident":5,"udre":0,"iod":99,"prc":-8.260,"rrc":0.002},{"ident":23,"udre":0,"iod":81,"prc":-8.080,"rrc":0.000},{"ident":16,"udre":0,"iod":70,"prc":-11.740,"rrc":0.000},{"ident":30,"udre":0,"iod":4,"prc":-18.960,"rrc":-0.006},{"ident":29,"udre":0,"iod":101,"prc":-24.960,"rrc":-0.002}]} {"class":"RTCM2","type":31,"station_id":688,"zcount":829.8,"seqnum":0,"length":14,"station_health":6,"satellites":[{"ident":14,"udre":0,"change":false,"tod":0,"prc":142.140,"rrc":0.000},{"ident":5,"udre":0,"change":false,"tod":0,"prc":138.320,"rrc":0.002},{"ident":15,"udre":0,"change":false,"tod":0,"prc":136.440,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.120,"rrc":0.000},{"ident":13,"udre":0,"change":false,"tod":0,"prc":133.620,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":121.680,"rrc":0.008},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.940,"rrc":0.004},{"ident":20,"udre":0,"change":false,"tod":0,"prc":111.200,"rrc":-0.016}]} {"class":"RTCM2","type":1,"station_id":688,"zcount":844.8,"seqnum":1,"length":19,"station_health":6,"satellites":[{"ident":10,"udre":0,"iod":46,"prc":-2.400,"rrc":0.000},{"ident":13,"udre":0,"iod":94,"prc":-4.440,"rrc":0.000},{"ident":7,"udre":0,"iod":22,"prc":-5.160,"rrc":0.002},{"ident":2,"udre":0,"iod":34,"prc":-6.480,"rrc":0.000},{"ident":8,"udre":0,"iod":76,"prc":-7.980,"rrc":0.002},{"ident":4,"udre":0,"iod":47,"prc":-8.860,"rrc":0.000},{"ident":5,"udre":0,"iod":99,"prc":-8.260,"rrc":0.002},{"ident":23,"udre":0,"iod":81,"prc":-8.080,"rrc":0.000},{"ident":16,"udre":0,"iod":70,"prc":-11.740,"rrc":0.000},{"ident":30,"udre":0,"iod":4,"prc":-18.940,"rrc":-0.006},{"ident":29,"udre":0,"iod":101,"prc":-24.960,"rrc":-0.002}]} {"class":"RTCM2","type":31,"station_id":688,"zcount":831.0,"seqnum":2,"length":14,"station_health":6,"satellites":[{"ident":14,"udre":0,"change":false,"tod":0,"prc":142.140,"rrc":0.000},{"ident":5,"udre":0,"change":false,"tod":0,"prc":138.320,"rrc":0.002},{"ident":15,"udre":0,"change":false,"tod":0,"prc":136.440,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.100,"rrc":0.000},{"ident":13,"udre":0,"change":false,"tod":0,"prc":133.620,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":121.700,"rrc":0.008},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.940,"rrc":0.004},{"ident":20,"udre":0,"change":false,"tod":0,"prc":111.160,"rrc":-0.016}]} {"class":"RTCM2","type":1,"station_id":688,"zcount":846.0,"seqnum":3,"length":19,"station_health":6,"satellites":[{"ident":10,"udre":0,"iod":46,"prc":-2.400,"rrc":0.000},{"ident":13,"udre":0,"iod":94,"prc":-4.440,"rrc":0.000},{"ident":7,"udre":0,"iod":22,"prc":-5.160,"rrc":0.002},{"ident":2,"udre":0,"iod":34,"prc":-6.480,"rrc":0.000},{"ident":8,"udre":0,"iod":76,"prc":-7.980,"rrc":0.002},{"ident":4,"udre":0,"iod":47,"prc":-8.880,"rrc":0.000},{"ident":5,"udre":0,"iod":99,"prc":-8.240,"rrc":0.002},{"ident":23,"udre":0,"iod":81,"prc":-8.080,"rrc":0.000},{"ident":16,"udre":0,"iod":70,"prc":-11.740,"rrc":0.000},{"ident":30,"udre":0,"iod":4,"prc":-18.960,"rrc":-0.006},{"ident":29,"udre":0,"iod":101,"prc":-24.960,"rrc":-0.002}]} {"class":"RTCM2","type":31,"station_id":688,"zcount":832.2,"seqnum":4,"length":14,"station_health":6,"satellites":[{"ident":14,"udre":0,"change":false,"tod":0,"prc":142.160,"rrc":0.002},{"ident":5,"udre":0,"change":false,"tod":0,"prc":138.320,"rrc":0.002},{"ident":15,"udre":0,"change":false,"tod":0,"prc":136.440,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.100,"rrc":0.000},{"ident":13,"udre":0,"change":false,"tod":0,"prc":133.620,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":121.720,"rrc":0.008},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.940,"rrc":0.004},{"ident":20,"udre":0,"change":false,"tod":0,"prc":111.120,"rrc":-0.016}]} {"class":"RTCM2","type":1,"station_id":688,"zcount":847.2,"seqnum":5,"length":19,"station_health":6,"satellites":[{"ident":10,"udre":0,"iod":46,"prc":-2.400,"rrc":0.000},{"ident":13,"udre":0,"iod":94,"prc":-4.440,"rrc":0.000},{"ident":7,"udre":0,"iod":22,"prc":-5.160,"rrc":0.002},{"ident":2,"udre":0,"iod":34,"prc":-6.480,"rrc":0.000},{"ident":8,"udre":0,"iod":76,"prc":-7.980,"rrc":0.002},{"ident":4,"udre":0,"iod":47,"prc":-8.860,"rrc":0.002},{"ident":5,"udre":0,"iod":99,"prc":-8.240,"rrc":0.002},{"ident":23,"udre":0,"iod":81,"prc":-8.080,"rrc":0.000},{"ident":16,"udre":0,"iod":70,"prc":-11.760,"rrc":0.000},{"ident":30,"udre":0,"iod":4,"prc":-18.980,"rrc":-0.006},{"ident":29,"udre":0,"iod":101,"prc":-24.980,"rrc":-0.002}]} gpsd-3.9/test/daemon/naujoks-rtcm2.log0000664000175000017500000003147611762140437016134 0ustar esresr# Name: RTCM2 test data # Description: Bare RTCM2 data # Submitter: Andre Naujoks # Date: 2011-04-05 # Note: There's an ASCII dump of the first 22 packets in this data in the # test directory as naujoks-rtcm2.dcd # fyWC]jtn_E`bybV@@@|PXIB`\@@Gvgj|_^NWv}UXXbG@s_yyN~BH@Dh`vaMA@BzWQxKgw}teD|~B@aY~i|Xjza_rOAP]F@hCzd@\tjwM`mp~_geoBpmjG~oIEK@cO\M`XHA`Dt_@XC{]qac@eEYapoJDB@RY~h|RjzIYjWbIarXCtZ[QBns@OVzfYNj|LjzE\Qiim|NfyWCxUsS`U`bybsCJXIB`yxI}j~v_^NWv}UXXbG@s_yyN~BH@Dh`vA@~}EhnOtDHBKZ^||B@hY~i|XjFc_@p~obyW|E[cK@UH@r_ROA`XZP}ORU@xAPv@zt\pcr_gw~_{K`g|D@bN^\Z@@zf^OPu{~wmfYFh|bUsT`~_]F]iCogv}_cxIXUA@@l_^NWS@B@jBXbG@V@`FFT~BH@aW_I~e@~}`WQpklw}teD\B@LfAVCBjff_sOAP]F@hCzd@\|vwM`HOA`XoBp]T@xAPv@zt\pcr_gw}_{q_@XC{]qac@eEYapoJDA@REfyWCxUSP`b_]F]L@@@|ugvu_Z@@Gvgj}i_^NgH@B@jgg]xL@`FFqA}w{W_IA^A@B_h^@Tew}teD\~B@ZfAVCgUi_`lOAP]cW|E~@\|SH@r_ROC`XvoBp]T@xAPv@zt\pcr_gw}_{q_@XC{]qac@eEYapoJDAHRYfyWC]j\i_}_]F]iCogvu_xI}j}L`aqXR@B@jBXbG@V@`FFT~BH@aW_IA{@~}Eh^HT\HBKZ{cC}IfAVCBjvd_Op~obyW|E[cC@IH@r_wp|_gloBp]qG~ol@ztyO\M`}w}_{T`gBY@bN^y@e`f^OPPDAHR|YFh|Gj|l_N`bybV@@@|PXIF`bxIXUB@@V`aqXw}UXXbG@s_yyN~AH@~W_IA^A@B_h^DT[HBKZ{S@}uY~i|}UI\`~OAP]F@hCzd@\|vwM`HOC`XSP}ObN@xAPSEK@FpC~_gM|wESh|GbL@HA^TZ@@zf^OPu{~wmfYFh|bU}U`t_]F]iCogvy_]@@Gvgj}i_^NgH@B@jgg]xL@`FFqA~wAh`v~a@~}`Waskxw}teaSA}FfAVCBjNg_jOAP]cW|E~@\|SH@r_ROC`XvoBp]T@xAPv@z|@pC~_gM|wESh|GbL@HA^TZ@@zf^OPu{~mzYFh|Gjbn_W`byRh}CCXIF`G@@GvBU@@@_`aqXw}UXXbG@s_yyN~AH@~W_Ial@~}`WaukYHBKZ{SC}OfAVCBjna_Lp~obyW|E[cC@IH@r_wp|_gloBp]qG~ol@z|eO|A`}uwEDh|Gbiw~aNZ@@_Yapoo{~m_fyWC]jbi_|_]Fmr}CfgvyoF@@GvBU@@@_`aqXw}UXXbG@s_yyN~AH@~W_Ial@~}`WaukYHBKZ{s@}NfAVCBj^d_yOAP]F@hCzd@\|vwM`HOA`XoBp]T@xAPv@zt\pC~_BJ@Hz{WCx]V@HA^q@e`f^OPPDAHR|YFh|GjRm_C`byRM@B@|YXINPexIXU@@@z_^NG_@B@jBXbG@V@`FFT~AH@[h`vnm@~}`Wayk{w}teasAs@fAVCBj~b__p~ob\@hCzAcC@lwM`mp~_geoBp]qG~ol@z|eO|A`}uwEDh|Gbiw~aNZ@@_Yapoo{~wmCfAWCmUAuf]h]v^Mg@|Kedn}QLpiEYfyWC]jrg_b_]FmW@B@||gvqoxI}Z|\`aqxE@B@jgg]xL@`FFqA~wAh`vNz@~}Eh^NT}w}teaK@s^fAVCgU~Q`pOAP]F@hCzd@\|vwM`HOA`XoBp]T@xAPv@z|@pC~_guwEaWCx]sw~ak@eEYapoJDAHRYfyWC]jJ`_y_]Fmr}CfgvqoZ@@GvgZ|y_^NG_@B@jBXbG@V@`FFT~AH@[h`vN_A@B_h^ATJHBKZ^t}L@MfAVCBjAi_dOAP]cW|E~@\|SH@r_ROA`XZP}ObN@xAPSEC@ZpC~_BJ@Hz{WCx}dw~aNZ@@_Yapoo{~wmCfyWCxUU[`Z`byRhCogvqoZ@@GvgZ|y_^NG_@B@jBXbG@V@`FFT~CH@wW_IIj@~}`Wavkiw}teDt|L@~Y~i|}U^R`bOAP]cW|E~@\|SH@r_ROA`XZP}ObN@xAPSEC@ZpC~_BJ@Hz{WCx}dw~aNZ@@_Yapoo{~wmCfyWCxUe]`_`byRhCogv~oH@@GvBeA@@O`aqx`}U}g]tK@`FFqA|wmW_IIOA@BzWarkrw}teakBsIfAVCBjQk_Xp~ob\@hCzAcC@lwM`mp~_geoBp]qG~ol@z|eO|A`}uwEDh|GB[@HA^q@e`f^OPPDAHR|YFh|GjZg_q_]F]iCogv~oH@@GvBeA@@O`aqx`}U}g]tK@`FFqA|wmW_Ii}@~}Eh^CtBHBKZ^T~L@LfAVCBjqn_Np~oBK@hCzd@\|vwM`HOA`XoBp]T@xAPv@z|@pC~_gu}wEMh|GB[@HA^q@e`f^OPPDAHR|YFhsBjFa[`_]FiM@@@|ugVy_xI}Zf_^NcR@@@jngmq[@`FFTnCH@Jh`vEe@~}`Wnv[AHBET@fAVLGjih_}OAPMoW|E~@lGH@r_wP}_gAP}OZD@xAPSEG@dO|A`}m}wE[h|GJJ@HA^TjA@qf^OPuG~wmYfAWLMjiDY[hcg\wMC`v\k|Q`t[ICkYNjsIjiL\{VVRCTfyWLXjfb[r_]FihCogVq_F@@GvBe@@@Y`aq\mUQXR~p_yyNnCH@oW_Iz@~}EhQEdyw}zkY~isxUVT`rOAPMoW|E~@lGH@r_wP}_gAP}OZD@xAPSEG@dO|A`}m}wE[h|GJJ@HA^TjN@cf^OPPxAHRCfyWL}UiYdr_]FihCogVy_Z@@GvgZC`aq\H@@@jKXR~U@`FFT^@D@Th`vyu@~}EhQMdew}zkZfAVLbUfP`Mp~orP@hCzAS@@xwM`Ho~oXAP}OZD@xAPSEG@dO|A`}m}wE[h|GJJ@HA^TjA@qf^OPuG|wmuYFhsBjv`[k_]FiM@@@|ugVy_xI}Zf_^NcR@@@jngmA@O@`FFqawlW_IFJA@BzWnt[{w}zkY~isxUFV`Np~orP@hCzAcO@NH@r_wP}_gAP}OZD@xAPSEG@dO|A`}m}wE[h|GJJ@HA^TjA@qf^OPuG|wmuY~hsWjyEYrW\XcmMC`ScTCnzt[ICNfyWL}UIRdY`byVrCJXiF`@@@GvBEO@g_^NcR@@@jngmq[@`FFT^@H@vW_If]A@B_hQKdaw}zkZfAVLbUz]`jOAPMJ@hCzd@\pTH@r_RoB`X[P}OZaG~oIEG@ApC~_gm}wE~WCxuP@HA^q@U~kf^OPPxCHRoYvkssUzuafutW}Vrkl~m]U_MuYFhsBjNg[p_]FihCogVyhxIXEO@B`aq\H@@@jKXRF@]@`FFT^@D@Th`vYGA@BzWnp[EHBET@fAVLGjen_Up~oruW|E[cO@kwM`mP_gHP}OZD@xAPSEG@dO|A`}m}wE[h|GJJ@HA^TjA@qf^OPuG|wmuYFhsBjna[V`byVrCJXiJ@P@@Gvgz@p}_^Ncw}UXXRF@x_yyN^@D@qW_IVFA@BzWN[PHBETeY~is]jUh_uOAPMoW|E~@\pqwM`HoB`X~oBpe{G~ol@zx[pC~_BRBHzdWCxMZ@HA^q@U~kf^OPPxCHRoYFhsgUa[dy_]FihCogVuJ@@GvBE}O@K`aq\H@B@jggmI@S@`FFT^@H@vW_IVFA@BzWNw[LHBET@fAVLGjUm_Ap~orP@hCzAcO@NH@r_wP}_gAP}OZD@xAPSEG@dO|A`}mwEwWCxMw~ak@U~NYapoJxCHRJfyWL}UA]dz_]FihCogVuJ@@GvBEC@@X`aq\m}U}gmE@T@`FFT^@H@vW_Ivt@~}EhqDdQHBETeY~is]juk_Bp~orP@hCzAcO@NH@r_wP}_gAP}OZD@xAPSEG@dO|A`}m}wE[h|Grew~aNjA@TYapooG|wmPfyWLXjAf[I`byVW@@@|PXiJ@uxI}z|g_^NcR@B@jBXRzk_yyka}weW_IvQA@B_hqLdhw}zkZfAVLbUrP`Vp~oruW|E[cO@kwM`mP}_gdoBpe^@xAPv@zx~O|A`XR@HzmWCxMZ@HA^q@Uqyf^OPuG|wmuYFhsBjAa[b_]FiM@@@|ugVuoxIXEC@@}_^Ncw}UXXRzN@`FFqa}w@h`vIKA@BzWN}[OHBET@fAVLGjmh_Ep~orP@hCzAcO@NH@r_wP}_gAP}OZD@xAPSEG@dO|A`}m}wE[h|Grew~aNjN@FYapoJxCHRJfyWL}U^Zdd_]FiM@@@|ugVu_]@@Gvgz|B`aq\H@B@jggmE@q_yyN^BH@W_Ivt@~}EhqFdNHBET@fAVLGj]l__p~oruW|E[cO@kwM`mP}_gdoBpe^@xAPv@zx~O|A`XRBHzAh|Gr@@HA^TjN@cf^OPPxCHRoYFhsgUn\dD`byVW@@@|PXiF`exIXEC@@}_^Ncw}UXXRzN@`FFqa}w@h`vIKA@BzWNq[mw}zkZfAVLbUBU`cOAPMJ@hCzd@\pTH@r_RoB`X[P}OZaG~oIEG@ApC~_gm}wE~WCxMw~ak@Uq\YapooG|wmPfyWLXjqf[m_]FiM@@@|ugVy_xI}z@pX`aq\m}U}gmE@T@`FFT^AH@`W_IvQC@BsWN~[w}zkY~isxUBP`Wp~oruW|E[cO@kwM`mP}_gdoBpUE@xAPSEG@dO|A`}m}wE[h|Grew~aNjN@FYapoJxCHRJfAWLhUB~fKhcg\Rr@|_l\k|QEKdv|qYFhsBjIh[`_]FYV@@@|PXiN`yxI}zBpt_^NcwUtgmE@T@`FFT^AH@`W_IvQC@BsWNv[cw}zkZfAVLbU|Z`pOAPMoW|E~@\pqwM`Ho@`XRP}OjzG~ol@zx[pC~_BRBHzdWCxMZ@HA^q@Uqyf^OPuG|wmuYFhsBjil[Y`byfiCogVq_F@@GvBE}O@K`aq\H@@@jKXRzk_yyka}weW_IvQC@BsWNr[]HBETeY~is]jcc_iOAPMJ@hCzd@\pTH@r_Ro@`XwoBpU`G~oIEG@ApC~_gm}wE~WCxMw~ak@Uq\YapooG|wmPfyWLXjik[r_]FYsCJXiN`\@@GvgzBpQ`aq\mUQXRzN@`FFqa}w@h`vIKC@BVhqMdGHBET@fAVLGjSf_yOAPMoW|E~@\pqwM`Ho@`XRP}OjzG~ol@zx[pC~_BRBHzdWCxmhw~aNjN@FYapoJxCHRJfyWL}UfPdr_]FYsCJXiN`\@@GvgzBpQ`aq\mUQXRzN@`FFqa}w@h`vqd@|}LhqCDmw}zkZfAVLbUL_`Ep~oRbW|E~@\pqwM`Ho@`XRP}OjzG~ol@zx[pC~_BRBHzdWCxmhw~aNjN@FYapoJxCHRJfyWL}UFVdT`byfiCogVq_F@@GvBE}O@K`aq\H@@@jKXRrw_yyN^BH@W_IN[C@BsWNx[^HBETeY~is]jKd_Qp~oRG@hCzd@\pTH@r_Ro@`XwoBpU`G~oIEG@ApC~_gm}wE~WCxmM@HA^TjN@cf^OPPxCHRoYFhsgUzSdM`byfL@@@|ugVq_cxIXE~O@T`aq\mUQXRrR@`FFT^BH@Zh`vQs@|}iWNp[gw}zkZfAVLbUt\``OAPmxW|E[cO@kwM`mP_gHP}Oj_@xAPv@zx~O|A`XRBHzAh|GRrw~ak@Uq\Yapoo{wmUfyWLXjej[T`byfiCogVq_F@@GvBE~O@q_^NcwUtgm}\@`FFT^BH@Zh`vah@~}`Wv[`w}zkZfAVLbUTX`Yp~oRG@hCzd@\pTH@r_ROC`XvoBpU`G~oIEG@ApC~_gm}wE~WCxmM@HA^TjN@cf^OPPD@HRjYFhsgUjQdq_]FYsCJXiN`\@@GvgzApk_^NcR@@@jngm}y_yyN^@H@Sh`vAZA@B_hIHdCHBET@fAVLGj[a_Fp~oRbW|E~@\xmwM`mp|_gIP}Oj_@xAPv@zx~O|A`XRBHzAh|GRrw~ak@Uq\Yapoo{}wmyYFhsBjUi[e_]FYV@@@|PXiF`exIXE~O@T`aq\mUQXRB@F@`FFqawlW_I~e@~}`Wv{[^HBETeY~is]j{d_uOAPm]@hCzAcG@RH@r_ROC`XvoBpU`G~oIEO@]pC~_BR@HzHh|GRrw~ak@Uq\Yapoo{}wmyYFhsBjum[\`byfiCogVy_Z@@Gvgzx_^Ncw}UXXRB@F@`FFqawlW_IA{@~}EhIBdew}zkZfAVLbUx]`Fp~oRbW|E~@\xmwM`mp|_gIP}Oj_@xAPv@zpbO|A`}mwEwWCxmM@HA^TjN@cf^OPPDBHRFfAWLhUxuf^hcg\wMC`v\k|Q`t[ICkYNjsIjGF\Ziim|NfyWL}UrPdi_]FYV@@@|PXiF`exIXE@@@G`aq\H@B@jggmsD@`FFqawlW_IaIA@BzWvu{tw}zkY~isxUX_`{OAPm]@hCzAcG@RH@r_ROC`XvoBpU`G~oIEO@]pC~_BR@HzHh|GRrw~ak@Uy@YapoJDAHRYfyWLXjmh[z_]FYsCJXiF`@@@GvBE@@@b_^NcR@B@jBXRL@^@`FFT^@H@vW_Ial@~}`Wvu{QHBETeY~is]jge_pOAPm]@hCzAcG@RH@r_ROC`XvoBpU`G~oIEO@]pC~_BR@HzHh|GRrw~ak@Uy@YapoJDBHRcYFhsgUbSd_`byfiCogVy_Z@@Gvgzx_^NcwUtgmsa_yykawIh`v^SA@B_hINDPHBETeY~is]jWc_uOAPm]@hCzAcG@RH@r_ROC`XvoBpU`G~oIEO@]pC~_BRBHzdWCxmhw~aNjF@ZYapoo{~wmCfyWL}UBUd\`byfiCogVy_Z@@Gvgzx_^NcwUtgmsa_yykawIh`vnHA@BzWv~{XHBETeY~is]jwg_Lp~oRbW|E~@\xmwM`mp|_gIP}Oj_@xAPv@zpbO|A`}m}wE[h|GRW@HA^q@Uyef^OPPDAHR|YFhsBj}o[r_]FYsCJXiF`@@@GvBE@@@b_^NcR@B@jBXRL@^@`FFT^@H@vW_IQw@~}EhIADgw}zkZfAVLbUp_`hOAP]cW|E~@\xmwM`mp|_gIP}Oj_@xAPv@zpbO|A`}m}wE[h|GRW@HA^q@Uyef^OPPDAHR|YFhsBjCi[R`byfiCogVy_Z@@GvgF|}_^Ncw}UXXRL@{_yyN^@H@Sh`vN_A@B_hIIxkw}zkZfAVLbUP[`Qp~ob\@hCzAcG@RH@r_ROC`XvoBpU`G~oIEO@]pC~_BRBHzdWCxmhw~aNjF@ZYapoo{~wmCfyWL}U\RdT`byF[@@@|PXiF`exIXyO@}_^Ncw}UXXRL@{_yyN^@H@Sh`vvp@~}EhIEDYHBETeY~is]j_b_kOAP]cW|E~@\xmwM`mp~_geoBpUE@xAPSEG@dO|A`}m}wE[h|GbL@HA^TjF@f^OPu{~wmfYFhsgUlUd[`byF[@@@|PXiF@W@@GvgFBpn_^NcR@B@jBXRL@^@`FFT^@H@vW_IIj@~}`Wvr{_HBETeY~is]j_g_zOAP]F@hCzd@\xHH@r_wp~_g@P}Oj_@xAPv@zx~O|A`XRBHzAh|Gbiw~aNjN@FYapoJDAHRYfyWLXjsn[]`byznCogVyhxIXy}O@Q`aq|_@B@jBXRL@^@`FFT^@H@vW_IiXA@B_hICD]HBETeY~is]ja_\p~ob\@hCzAcG@RH@r_ROA`XZP}OjzG~ol@zx[pC~_BRBHzdWCx]sw~ak@Uq\Yapoo{~wmCfyWL}UtWds_]FEtCJXiJ@P@@GvgF~Q`aq|_@B@jBXRL@^@`FFT^BH@Zh`vVBA@BzWvtGnw}zkZfAVLbeZ`Lp~obyW|E[cG@wwM`HOA`XoBpU`G~oIEG@ApC~_gm}wE~WCx]V@HA^q@Uqyf^OPu{~wmfY~hsrerfqW\XcmMC`ScTCnzt[ICNfyWL}Ut\d_`byznCogVuJ@@GvByA@@K`aq|z}UXXRD@g_yyka}weW_Ii}@~}EhIKxQHBETeY~is]Z`j_fOAP]cW|E~@\xmwM`mp~_geoBpUE@xAPSEG@dO|A`}m}wE[h|GB~w~ak@Uy@YapoJDAHRYfyWLXjkg[|_]FEtCJXiJ@P@@GvgF~Q`aq|_@B@jBXRD@B@`FFqa~wzW_IYCA@BzWvxGLHBET@fAVLGZPn_Yp~ob\@hCzAcG@RH@r_ROA`XZP}OjzG~ol@zx[pC~_BRBHzdWCx}A@HA^TjF@f^OPu{~wmfYFhsgUd^dF`byF~CJXiJ@P@@GvgF~Q`aqBg}U}gm{}_yyN^AH@Eh`vf|@~}EhIOxow}zkZfAVLbeOW`eOAP]cW|E~@\xmwM`mp|_gIP}Oj_@xAPv@zx~O|A`XRBHzAh|GB[@HA^q@Uyef^OPPDAHR|YFhsBj{d[J`byF~CJXiJ@P@@GvgFBpn_^N}X@B@jBXRD@B@`FFqa|wVh`vFk@|}Lhi@xzw}zkY~isxeOR`Qp~ob\@hCzAcG@RH@r_ROC`XvoBpU`G~oIEG@ApC~_gm}wE~WCx}dw~aNjF@ZYapoo{~wmCfyWL}Ux]dy_]FyA@@@|ugVuoxIXy}O@Q`aqBg}U}gm{}_yyN^CH@iW_IyTC@BsWVwGYHBETeY~is]ZHk_OAP]F@hCzd@\xHH@r_wp|_gloBpUE@xAPSEG@dO|A`}m}wE[h|G|F@HA^TjF@f^OPu{|wmJfyWL}UXYd@`byF~CJXiF@rxI}FApq_^N}}}UXXRxQ@`FFT~@H@Mh`vz{@|}iWVsGBHBET@fAVLGZho_cOAP]cW|E~@\xmwM`mp|_gIP}Oj_@xAPv@zx~O|A`XRBHzAh|G|cw~aNjF@ZYapoo{|wmoYFhsgUX^dk_]FydCogVyhxIXy~O@k_^N]j}U}gmG@K@`FFqAwWh`vz^A@B_hiBx@HBET@fAVLGZXh_Ip~obyW|E[cK@UH@r_ROC`XvoBpU`G~oIEG@ApC~_gm}wE~WCxC\@HA^q@Uyef^OPPDCHRPfyWLXjWe[N`byfL@@@|ugVyM@@GvBy~O@N`aqbp}UXXRts_yyN~@H@hW_IEa@|}LhiJxyw}zkY~isxeGS`Op~obyW|E[cG@wwM`HOC`XSP}OjzG~ol@zx[pC~_BRBHzdWCxcK@HA^TjF@f^OPu{|wmJfyWL}UH\dr_]FYsCJXiF@rxI}FApq_^N]O@B@jggmG@n_yykAwrW_IEDC@BVhiFx~w}zkY~isxe{U`Cp~obyW|E[cG@wwM`HOC`XSP}OJH@xAPSEG@dO|A`}m~wEaWCxcK@HA^TjF@f^OPu{|wmJfyWL}UpYdv_]FYsCJXiN@nxIXyB@@T`aqbU@B@jBXRtV@`FFT~@H@Mh`vZIC@BVhiNxbw}zkZfAVLbe{P`wOAP]F@hCzd@\xHH@r_wp|_gloBpuwG~ol@zx[pC~_BRAHz^h|G\tw~ak@Uy@YapoJDCHRuY~hsWZDAYqW\XcmMC`ScTCnzt[ICNfyWL}UPWdL`byfL@@@|ugVqQ@@GvgFApT`aqbU@B@jBXRtV@`FFT~@H@Mh`vZIC@BVhiAxpw}zkY~isxe[Z`Vp~ob\@hCzAcG@RH@r_ROA`XZP}OJH@xAPSEO@xO|A`XRAHz{WCxSuw~ak@Uy@YapoJd@HRtYFhsBj_l[i_]FYV@@@|PXiN@K@@GvBy~O@N`aqBB@B@jggm{X@`FFT~@@@Qh`vz^C@BsWVvGvw}zkY~isxek\`Sp~ob\@hCzAcG@RH@r_ROC`XvoBpuR@xAPv@zpbO|A`}m~wEaWCxsbw~aNjF@ZYapoo[wmnYFhsgU`Td}_]FYsCJXivfxIXy~O@k_^N}X@B@jBXRD@B@`FFqAwWh`vZl@|}LhiED^HBETeY~is]Ztf__p~ob\@hCzAcG@RH@r_ROA`XZP}OJH@xAPSEO@xO|A`XRAHz{WCxsG@HA^TjF@f^OPu[wmKfyWL}U@Pda_]FYV@@@|PXivC@@GvByB@@q_^N]O@B@jggm{X@`FFT~@H@Mh`vZIC@BVhiMxRHBETeY~is]ZL`_kOAP]cW|E~@\xmwM`mp|_gIP}OJmG~oIEO@]pC~_BRAHz^h|Gtrw~ak@Uy@YapoJd@HRtYFhsBZ@i[n_]FYV@@@|PXivC@@GvByB@@q_^N]O@B@jggmG@n_yykAwrW_Iev@|}iWVtGLHBET@fAVLGZld_wOAP]F@hCzd@\xHH@r_wp|_gloBpuwG~ol@zpGpC~_gm~wEDh|GtW@HA^q@Uyef^OPPdBHR}YFhsBZ`l[x_]FYsCJXiF@rxI}F~t_^N}}}UXXRxQ@`FFT~@@@Qh`vjw@|}iWVtGLHBET@fAVLGZlc_yOAP]F@hCzd@\xHH@r_wp~_g@P}OJmG~oIEO@]pC~_BRAHz^h|Gtrw~ak@Uy@YapoJdBHRXfyWLXZPj[X`byfiCogVyhxIXyA@@n_^N}X@B@jBXRxt_yyN~@@@tW_IUm@|}LhiOxhw}zkZfAVLbecX`yOAP]F@hCzd@\tjwM`mp~_geoBpuwG~ol@zpGpC~_gm~wEDh|GTe@t~aUjF@f^OPu[}wmgYFhsgeOQd^`byfiCogVqtxI}F~t_^N}}}UXXRxQ@`FFT~@@@Qh`vJEC@BVhY@x{w}zkY~isxeC^`zOAP]F@hCzd@\tjwM`mp~_geoBpuwG~ol@zpGpC~_gm~wEDh|GTew~aNjN@FYapoJdBHRXfyWLXZpi[o_]FYV@@@|PXiN`yxI}F~t_^N}}UtgmO@W@`FFT~@@@Qh`vJEC@BVhYHxgw}zkZfAVLbe}[`Op~obyW|E[cK@UH@r_ROA`XZP}OJH@xAPSEO@xO|A`XRAHz{WCxkZ@HA^q@Uqyf^OPu[}wmgYFhsgewRd{_]FYsCJXiA`N@@GvByB@@q_^N}}UtgmG@K@`FFqAKh`vJ`@|}LhYDx`w}zkZfAVLbe]]`iOAP]cW|E~@\tOH@r_wp~_g@P}OJmG~oIEO@]pC~_BRAHz^h|GT@@HA^TjN@cf^OPPdBHR}Y~hsWZbJYNhcg\Rr@|_l\k|QEKdv|qYFhsBZhg[e_]FYV@@@|PXiA`kxIXyB@@T`aqBgUQXRxQ@`FFT~@@@Qh`vJEC@BVhYLxYHBETeY~is]ZRn_Pp~ob\@hCzAcK@pwM`HOA`XoBpuR@xAPv@zpbO|A`}m~wEaWCxkw~ak@Uq\Yapoo[}wmBfyWL}eg_dp_]FYsCJXiN@nxIXy|O@G`aqBB@@@jKXRxt_yyN~@H@hW_IMUC@BsWf}G~w}zkY~isxemV`Dp~obyW|E[cK@UH@r_ROA`XZP}OrgG~oIEO@]pC~_BRAHz^h|GT@@HA^TjF@f^OPu[}wmgYFhsgeG[dl_]FYV@@@|PXiN@K@@GvBy@@@]`aqBgUQXRxQ@`FFT~@H@Mh`vrOC@BVhYJxxw}zkY~isxeMR`}OAP]F@hCzd@\tjwM`mp~_geoBpMX{APm@zpGpC~_gm~wEDh|GTew~aNjF@ZYapoo[}wmBfyWL}e{]dE`byfL@@@|ugVqQ@@GvgFG`aqBB@@@jKXRph_yykAwrW_ImBC@BVhYFxZHBETeY~is]ZJk_Sp~ob\@hCzAcK@pwM`HOA`XoBpM}G~ol@zpGpC~_gm~wEDh|GtW@HA^q@Uyef^OPPdBHR}YFhsBZDg[k_]FYV@@@|PXiF@W@@GvgFG`aqBB@@@jKXRph_yykA}w^h`vRXC@BsWfqG\HBETeY~is]Zjn_Ep~obyW|E[cK@UH@r_ROA`XZP}OrgG~oIEG@ApC~_gm~wEDh|GTew~aNjF@ZYapoo[}wmBfyWL}e[^dr_]FYsCJXiF@rxI}Fb_^N}X@@@jng]@@D@`FFqA}w{W_ImBC@BVhYAxTHBETeY~is]ZZh_@p~obyW|E[cK@UH@r_ROA`XZP}OrgG~oIEG@ApC~_gm~wEDh|GTew~aNjF@ZYapoo[~wmxYFhsBZTe[W`byfiCogVyhxIXyB@@T`aq|_@@@jng]@@D@`FFqA~wAh`vbf@|}LhYIxmw}zkZ gpsd-3.9/test/daemon/naujoks-rtcm2.log.chk0000664000175000017500000027754412135526371016710 0ustar esresr{"class":"RTCM2","type":1,"station_id":688,"zcount":1642.8,"seqnum":6,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.560,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.780,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.420,"rrc":0.000},{"ident":20,"udre":0,"iod":72,"prc":-9.900,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.660,"rrc":0.002},{"ident":30,"udre":0,"iod":154,"prc":-13.440,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.000}]} {"class":"RTCM2","type":31,"station_id":688,"zcount":1629.0,"seqnum":7,"length":15,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.180,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.500,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.620,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":126.840,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.600,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.380,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.100,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":112.000,"rrc":0.020},{"ident":13,"udre":0,"change":false,"tod":0,"prc":113.780,"rrc":-0.024}]} {"class":"RTCM2","type":1,"station_id":688,"zcount":1644.0,"seqnum":0,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.560,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.780,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.420,"rrc":0.000},{"ident":20,"udre":0,"iod":72,"prc":-9.900,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.660,"rrc":0.002},{"ident":30,"udre":0,"iod":154,"prc":-13.440,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":688,"zcount":1630.2,"seqnum":1,"length":15,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.180,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.500,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.620,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":126.840,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.600,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.380,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.100,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":112.020,"rrc":0.020},{"ident":13,"udre":0,"change":false,"tod":0,"prc":113.760,"rrc":-0.024}]} {"class":"RTCM2","type":1,"station_id":688,"zcount":1645.2,"seqnum":2,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.560,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.780,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.420,"rrc":0.000},{"ident":20,"udre":0,"iod":72,"prc":-9.900,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.640,"rrc":0.002},{"ident":30,"udre":0,"iod":154,"prc":-13.440,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":688,"zcount":1630.8,"seqnum":3,"length":15,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.180,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.520,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.620,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":126.840,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.600,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.400,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.100,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":112.040,"rrc":0.020},{"ident":13,"udre":0,"change":false,"tod":0,"prc":113.740,"rrc":-0.024}]} {"class":"RTCM2","type":1,"station_id":688,"zcount":1645.8,"seqnum":4,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.560,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.780,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.420,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.660,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.900,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.440,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":688,"zcount":1632.0,"seqnum":5,"length":15,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.180,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.520,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.620,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":126.840,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.600,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.400,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.100,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":112.060,"rrc":0.020},{"ident":13,"udre":0,"change":false,"tod":0,"prc":113.700,"rrc":-0.024}]} {"class":"RTCM2","type":1,"station_id":688,"zcount":1647.0,"seqnum":6,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.560,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.780,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.440,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.660,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.900,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.440,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.000}]} {"class":"RTCM2","type":31,"station_id":688,"zcount":1633.2,"seqnum":7,"length":15,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.200,"rrc":0.002},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.520,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.600,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":126.840,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.600,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.400,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.080,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":112.100,"rrc":0.020},{"ident":13,"udre":0,"change":false,"tod":0,"prc":113.680,"rrc":-0.024}]} {"class":"RTCM2","type":1,"station_id":688,"zcount":1648.2,"seqnum":0,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.560,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.780,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.440,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.640,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.900,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.440,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.000}]} {"class":"RTCM2","type":31,"station_id":688,"zcount":1633.8,"seqnum":1,"length":15,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.200,"rrc":0.002},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.520,"rrc":0.004},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.600,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":126.840,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.600,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.400,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.080,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":112.100,"rrc":0.020},{"ident":13,"udre":0,"change":false,"tod":0,"prc":113.660,"rrc":-0.024}]} {"class":"RTCM2","type":1,"station_id":688,"zcount":1648.8,"seqnum":2,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.560,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.780,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.420,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.640,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.900,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.440,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":688,"zcount":1635.0,"seqnum":3,"length":15,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.200,"rrc":0.002},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.540,"rrc":0.004},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.600,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":126.860,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.600,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.400,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.060,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":112.120,"rrc":0.020},{"ident":13,"udre":0,"change":false,"tod":0,"prc":113.620,"rrc":-0.026}]} {"class":"RTCM2","type":1,"station_id":688,"zcount":1650.0,"seqnum":4,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.560,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.780,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.440,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.640,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.900,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.440,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":3,"station_id":688,"zcount":1650.0,"seqnum":5,"length":4,"station_health":6,"x":3842290.92,"y":663782.76,"z":5030690.32} {"class":"RTCM2","type":31,"station_id":688,"zcount":1636.2,"seqnum":6,"length":15,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.200,"rrc":0.002},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.540,"rrc":0.004},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.580,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":126.860,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.600,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.400,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.040,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":112.140,"rrc":0.020},{"ident":13,"udre":0,"change":false,"tod":0,"prc":113.580,"rrc":-0.026}]} {"class":"RTCM2","type":1,"station_id":688,"zcount":1651.2,"seqnum":7,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.560,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.780,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.440,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.640,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.900,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.440,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":688,"zcount":1636.8,"seqnum":0,"length":15,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.200,"rrc":0.002},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.540,"rrc":0.004},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.580,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":126.860,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.600,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.400,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.040,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":112.160,"rrc":0.020},{"ident":13,"udre":0,"change":false,"tod":0,"prc":113.560,"rrc":-0.026}]} {"class":"RTCM2","type":1,"station_id":688,"zcount":1651.8,"seqnum":1,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.560,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.780,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.440,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.640,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.920,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.440,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":688,"zcount":1638.0,"seqnum":2,"length":15,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.200,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.540,"rrc":0.004},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.580,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":126.860,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.600,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.420,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.020,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":112.180,"rrc":0.020},{"ident":13,"udre":0,"change":false,"tod":0,"prc":113.520,"rrc":-0.026}]} {"class":"RTCM2","type":1,"station_id":688,"zcount":1653.0,"seqnum":3,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.560,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.780,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.440,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.640,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.920,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.440,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":688,"zcount":1639.2,"seqnum":4,"length":15,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.200,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.560,"rrc":0.004},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.560,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":126.860,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.580,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.420,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.020,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":112.220,"rrc":0.020},{"ident":13,"udre":0,"change":false,"tod":0,"prc":113.480,"rrc":-0.026}]} {"class":"RTCM2","type":1,"station_id":688,"zcount":1654.2,"seqnum":5,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.560,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.780,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.440,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.640,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.920,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.440,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":688,"zcount":1639.8,"seqnum":6,"length":15,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.180,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.560,"rrc":0.004},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.560,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":126.860,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.580,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.420,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.000,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":112.240,"rrc":0.022},{"ident":13,"udre":0,"change":false,"tod":0,"prc":113.460,"rrc":-0.026}]} {"class":"RTCM2","type":1,"station_id":688,"zcount":1654.8,"seqnum":7,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.520,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.560,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.780,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.440,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.620,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.920,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.440,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1642.2,"seqnum":0,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.360,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.520,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.780,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.260,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.280,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.460,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1657.2,"seqnum":1,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.460,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.480,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.340,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.680,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.840,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.600,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.760,"rrc":0.002}]} {"class":"RTCM2","type":3,"station_id":652,"zcount":1657.2,"seqnum":2,"length":4,"station_health":6,"x":3878620.92,"y":670281.40,"z":5002093.59} {"class":"RTCM2","type":14,"station_id":652,"zcount":1657.2,"seqnum":3,"length":1,"station_health":6,"week":601,"hour":109,"leapsecs":15} {"class":"RTCM2","type":31,"station_id":652,"zcount":1642.8,"seqnum":4,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.360,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.860,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.520,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.780,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.260,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.280,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.480,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1657.8,"seqnum":5,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.460,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.480,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.340,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.680,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.840,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.760,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1644.0,"seqnum":6,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.360,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.520,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.780,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.280,"rrc":0.004},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.260,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.500,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1659.0,"seqnum":7,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.460,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.480,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.340,"rrc":-0.002},{"ident":10,"udre":0,"iod":120,"prc":-4.680,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.840,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.600,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.740,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1645.2,"seqnum":0,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.360,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.520,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.780,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.280,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.260,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.540,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1660.2,"seqnum":1,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.460,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.500,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.340,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.680,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.840,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.600,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.740,"rrc":0.002}]} {"class":"RTCM2","type":3,"station_id":652,"zcount":1660.2,"seqnum":2,"length":4,"station_health":6,"x":3878620.92,"y":670281.40,"z":5002093.59} {"class":"RTCM2","type":31,"station_id":652,"zcount":1645.8,"seqnum":3,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.360,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.500,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.780,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.280,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.240,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.540,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1660.8,"seqnum":4,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.460,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.500,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.340,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.680,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.840,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.600,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.740,"rrc":0.002}]} {"class":"RTCM2","type":16,"station_id":652,"zcount":1660.8,"seqnum":5,"length":3,"station_health":6,"message":"SAPOS_EPS"} {"class":"RTCM2","type":31,"station_id":652,"zcount":1647.0,"seqnum":6,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.360,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.500,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.760,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.280,"rrc":0.004},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.240,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.580,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1662.0,"seqnum":7,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.460,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.500,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.360,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.680,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.840,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.600,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.740,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1648.2,"seqnum":0,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.360,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.820,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.500,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.760,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.280,"rrc":0.004},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.220,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.600,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1663.2,"seqnum":1,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.460,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.500,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.340,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.680,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.860,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.600,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.740,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1648.8,"seqnum":2,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.360,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.820,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.480,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.760,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.280,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.220,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.620,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1663.8,"seqnum":3,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.460,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.500,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.340,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.680,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.800,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.860,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.600,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.740,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1650.0,"seqnum":4,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.360,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.820,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.500,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.740,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.280,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.200,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.640,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1665.0,"seqnum":5,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.460,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.500,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.340,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.680,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.860,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.600,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.740,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1651.2,"seqnum":6,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.360,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.820,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.500,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.740,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.300,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.200,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.660,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1666.2,"seqnum":7,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.460,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.500,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.340,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.680,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.800,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.860,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.740,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1651.8,"seqnum":0,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.360,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.820,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.500,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.740,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.300,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.200,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.680,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1666.8,"seqnum":1,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.460,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.500,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.340,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.680,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.860,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.740,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1653.0,"seqnum":2,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.360,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.820,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.500,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.740,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.300,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.200,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.720,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1668.0,"seqnum":3,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.460,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.500,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.340,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.680,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.860,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.740,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1654.2,"seqnum":4,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.360,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.500,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.740,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.300,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.200,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.740,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1669.2,"seqnum":5,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.460,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.500,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.340,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.680,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.860,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.740,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1654.8,"seqnum":6,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.360,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.500,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.740,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.320,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.200,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.760,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1669.8,"seqnum":7,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.460,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.500,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.340,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.860,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.740,"rrc":0.002}]} {"class":"RTCM2","type":3,"station_id":652,"zcount":1669.8,"seqnum":0,"length":4,"station_health":6,"x":3878620.92,"y":670281.40,"z":5002093.59} {"class":"RTCM2","type":31,"station_id":652,"zcount":1656.0,"seqnum":1,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.860,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.480,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.740,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.320,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.200,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.780,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1671.0,"seqnum":2,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.460,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.500,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.360,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.860,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.740,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1657.2,"seqnum":3,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.860,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.480,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.740,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.300,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.200,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.820,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1672.2,"seqnum":4,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.460,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.500,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.360,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.860,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.740,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1657.8,"seqnum":5,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.860,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.480,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.740,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.300,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.200,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.820,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1672.8,"seqnum":6,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.460,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.500,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.360,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.880,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.740,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1659.0,"seqnum":7,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.860,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.480,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.740,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.300,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.180,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.840,"rrc":0.016}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1674.0,"seqnum":0,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.480,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.500,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.360,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.880,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.740,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1660.2,"seqnum":1,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.860,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.480,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.720,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.300,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.180,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.880,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1675.2,"seqnum":2,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.480,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.500,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.360,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.880,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.740,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1660.8,"seqnum":3,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.860,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.460,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.720,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.300,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.160,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.900,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1675.8,"seqnum":4,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.480,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.500,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.360,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.880,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.720,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1662.0,"seqnum":5,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.860,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.460,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.720,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.300,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.140,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.920,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1677.0,"seqnum":6,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.480,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.500,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.880,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.720,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1663.2,"seqnum":7,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.860,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.460,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.720,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.280,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.120,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.940,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1678.2,"seqnum":0,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.480,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.880,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.700,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1663.8,"seqnum":1,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.460,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.720,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.280,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.120,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":113.960,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1678.8,"seqnum":2,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.480,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.800,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.880,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.700,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1665.0,"seqnum":3,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.440,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.720,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.280,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.100,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.000,"rrc":0.018}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1680.0,"seqnum":4,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.480,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.800,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.880,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.700,"rrc":0.002}]} {"class":"RTCM2","type":3,"station_id":652,"zcount":1680.0,"seqnum":5,"length":4,"station_health":6,"x":3878620.92,"y":670281.40,"z":5002093.59} {"class":"RTCM2","type":14,"station_id":652,"zcount":1680.0,"seqnum":6,"length":1,"station_health":6,"week":601,"hour":109,"leapsecs":15} {"class":"RTCM2","type":31,"station_id":652,"zcount":1666.2,"seqnum":7,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.440,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.700,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.280,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.080,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.020,"rrc":0.016}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1681.2,"seqnum":0,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.480,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.800,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.880,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1666.8,"seqnum":1,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.440,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.700,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.280,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.080,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.020,"rrc":0.016}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1681.8,"seqnum":2,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.480,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.800,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.880,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.700,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1668.0,"seqnum":3,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.440,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.700,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.280,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.080,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.060,"rrc":0.016}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1683.0,"seqnum":4,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.480,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.880,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1669.2,"seqnum":5,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.440,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.700,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.280,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.060,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.080,"rrc":0.016}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1684.2,"seqnum":6,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.480,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.880,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1669.8,"seqnum":7,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.440,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.700,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.280,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.060,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.080,"rrc":0.016}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1684.8,"seqnum":0,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.880,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1671.0,"seqnum":1,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.420,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.700,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.280,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.040,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.100,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1686.0,"seqnum":2,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.880,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1672.2,"seqnum":3,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.320,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.420,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.700,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.280,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.020,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.120,"rrc":0.016}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1687.2,"seqnum":4,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.900,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1672.8,"seqnum":5,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.320,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.400,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.000,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.700,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.280,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.020,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.140,"rrc":0.016}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1687.8,"seqnum":6,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.900,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1674.0,"seqnum":7,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.300,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.400,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.020,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.700,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.280,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.000,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.160,"rrc":0.016}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1689.0,"seqnum":0,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.900,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1675.2,"seqnum":1,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.300,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.820,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.400,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.020,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.700,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.300,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.000,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.180,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1690.2,"seqnum":2,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.900,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":3,"station_id":652,"zcount":1690.2,"seqnum":3,"length":4,"station_health":6,"x":3878620.92,"y":670281.40,"z":5002093.59} {"class":"RTCM2","type":31,"station_id":652,"zcount":1675.8,"seqnum":4,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.300,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.820,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.400,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.020,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.680,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.300,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":117.000,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.180,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1690.8,"seqnum":5,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.920,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1677.0,"seqnum":6,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.300,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.820,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.400,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.020,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.680,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.320,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.980,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.200,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1692.0,"seqnum":7,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.920,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1678.2,"seqnum":0,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.320,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.820,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.400,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.040,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.680,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.320,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.980,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.220,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1693.2,"seqnum":1,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.920,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1678.8,"seqnum":2,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.320,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.820,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.400,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.040,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.680,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.340,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.960,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.240,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1693.8,"seqnum":3,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.920,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.680,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1680.0,"seqnum":4,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.320,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.820,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.400,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.040,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.680,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.340,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.960,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.260,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1695.0,"seqnum":5,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.940,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.660,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1681.2,"seqnum":6,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.320,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.380,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.040,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.660,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.360,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.940,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.300,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1696.2,"seqnum":7,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.940,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.660,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1681.8,"seqnum":0,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.320,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.380,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.060,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.660,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.360,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.940,"rrc":-0.004},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.320,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1696.8,"seqnum":1,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.540,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.940,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.660,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1683.0,"seqnum":2,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.380,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.060,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.680,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.360,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.940,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.340,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1698.0,"seqnum":3,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.700,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.780,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.960,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.660,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1684.2,"seqnum":4,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.380,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.060,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.660,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.360,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.940,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.360,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1699.2,"seqnum":5,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.720,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.760,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.960,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.660,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1684.8,"seqnum":6,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.860,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.380,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.060,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.680,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.360,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.920,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.380,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1699.8,"seqnum":7,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.720,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.760,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.960,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.660,"rrc":0.002}]} {"class":"RTCM2","type":3,"station_id":652,"zcount":1699.8,"seqnum":0,"length":4,"station_health":6,"x":3878620.92,"y":670281.40,"z":5002093.59} {"class":"RTCM2","type":31,"station_id":652,"zcount":1686.0,"seqnum":1,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.860,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.380,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.060,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.680,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.360,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.920,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.400,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1701.0,"seqnum":2,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.720,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.760,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-9.980,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.640,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1687.2,"seqnum":3,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.860,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.380,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.040,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.680,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.360,"rrc":0.000},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.940,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.420,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1702.2,"seqnum":4,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.720,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.760,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-10.000,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.640,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1687.8,"seqnum":5,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":-0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.380,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.040,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.680,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.360,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.920,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.440,"rrc":0.016}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1702.8,"seqnum":6,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.720,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.760,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-10.000,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.640,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1689.0,"seqnum":7,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":-0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.380,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.060,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.680,"rrc":0.000},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.360,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.920,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.460,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1704.0,"seqnum":0,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.720,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.760,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-10.020,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.640,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1690.2,"seqnum":1,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":-0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.380,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.060,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.660,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.360,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.920,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.500,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1705.2,"seqnum":2,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.380,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.720,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.760,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-10.020,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.620,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1690.8,"seqnum":3,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.400,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.040,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.660,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.360,"rrc":0.000},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.900,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.500,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1705.8,"seqnum":4,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.520,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.720,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.760,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-10.020,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.620,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1692.0,"seqnum":5,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.400,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.040,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.660,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.360,"rrc":0.000},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.900,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.540,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1707.0,"seqnum":6,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.540,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.720,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.760,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-10.040,"rrc":-0.002},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.620,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1693.2,"seqnum":7,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.860,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.400,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.040,"rrc":0.002},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.660,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.360,"rrc":0.000},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.880,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.560,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1708.2,"seqnum":0,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.540,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.720,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.760,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-10.040,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.620,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1693.8,"seqnum":1,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.860,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.400,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.040,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.640,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.360,"rrc":0.000},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.880,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.580,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1708.8,"seqnum":2,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.540,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.720,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.760,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-10.040,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.620,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1695.0,"seqnum":3,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.880,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.380,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.040,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.660,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.360,"rrc":0.000},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.880,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.600,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1710.0,"seqnum":4,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.540,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.720,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.760,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-10.040,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.620,"rrc":0.002}]} {"class":"RTCM2","type":3,"station_id":652,"zcount":1710.0,"seqnum":5,"length":4,"station_health":6,"x":3878620.92,"y":670281.40,"z":5002093.59} {"class":"RTCM2","type":31,"station_id":652,"zcount":1696.2,"seqnum":6,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.880,"rrc":0.002},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.380,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.040,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.660,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.360,"rrc":0.000},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.880,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.620,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1711.2,"seqnum":7,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.540,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.720,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.760,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-10.040,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.620,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.620,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1696.8,"seqnum":0,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.860,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.360,"rrc":-0.002},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.040,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.660,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.360,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.860,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.640,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1711.8,"seqnum":1,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.540,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.740,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.760,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-10.040,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.620,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1698.0,"seqnum":2,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.860,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.360,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.040,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.660,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.360,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.860,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.660,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1713.0,"seqnum":3,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.540,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.740,"rrc":-0.002},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.760,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-10.040,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.620,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1699.2,"seqnum":4,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.860,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.360,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.040,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.640,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.360,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.840,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.680,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1714.2,"seqnum":5,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.540,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.740,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.380,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.760,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-10.020,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.620,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1699.8,"seqnum":6,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.360,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.040,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.640,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.380,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.840,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.700,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1714.8,"seqnum":7,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.540,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.740,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.760,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-10.040,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.620,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1701.0,"seqnum":0,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.360,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.040,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.620,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.380,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.840,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.720,"rrc":0.014}]} {"class":"RTCM2","type":1,"station_id":652,"zcount":1716.0,"seqnum":1,"length":15,"station_health":6,"satellites":[{"ident":13,"udre":0,"iod":92,"prc":-3.500,"rrc":0.000},{"ident":23,"udre":0,"iod":16,"prc":-4.540,"rrc":0.000},{"ident":4,"udre":0,"iod":70,"prc":-5.400,"rrc":0.000},{"ident":10,"udre":0,"iod":120,"prc":-4.740,"rrc":0.000},{"ident":2,"udre":0,"iod":15,"prc":-7.400,"rrc":0.000},{"ident":7,"udre":0,"iod":23,"prc":-8.760,"rrc":0.002},{"ident":20,"udre":0,"iod":72,"prc":-10.040,"rrc":0.000},{"ident":30,"udre":0,"iod":154,"prc":-13.640,"rrc":0.000},{"ident":16,"udre":0,"iod":18,"prc":-14.600,"rrc":0.002}]} {"class":"RTCM2","type":31,"station_id":652,"zcount":1702.2,"seqnum":2,"length":14,"station_health":6,"satellites":[{"ident":5,"udre":0,"change":false,"tod":0,"prc":132.340,"rrc":0.000},{"ident":15,"udre":0,"change":false,"tod":0,"prc":134.840,"rrc":0.000},{"ident":14,"udre":0,"change":false,"tod":0,"prc":141.380,"rrc":0.000},{"ident":6,"udre":0,"change":false,"tod":0,"prc":127.020,"rrc":0.000},{"ident":21,"udre":0,"change":false,"tod":0,"prc":128.620,"rrc":-0.002},{"ident":22,"udre":0,"change":false,"tod":0,"prc":125.400,"rrc":0.002},{"ident":20,"udre":0,"change":false,"tod":0,"prc":116.820,"rrc":-0.002},{"ident":16,"udre":0,"change":false,"tod":17,"prc":114.740,"rrc":0.014}]} gpsd-3.9/test/daemon/navcom.log0000664000175000017500000003544511762140437014720 0ustar esresr# Name: Navcom GPS engine # Submitter: Chris Kuethe # Date: 2007-01-15 # Location: unknown # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # ™f®K”²ŰDAT 060302.1151BootBlockV 0.040@þ.pâç xxx041102.0953-p™f ™fD,‚xà‚à6ÝN‚ýB¡ p»˜ž5olþ# ,“™fD,‚xà‚à‚H›NWýT¡ ²cÂ^YiIžvØ :{™fD,‚xà‚àƒJqNôøý,¡ +5WEЛƒNÿ\§™fD,‚xà‚à„?øNýV¡ qdŒé žÜÎp.2Ž™fD,‚xà‚à…>œNþýU¡~ á.î?øœ– ™fD,‚xà‚à†.ÇNùÞý4¡ )7ͱž31.­Ú:ÿ]}™fD,‚xà‚à‡TãNúåý6¡ º6ÀžðP)g :ÿŠs™fD,‚xà‚àˆPQN-ý^¡ ¥åŸ©oíÍ2’Yóð™fD,‚xà‚à‰ —ÿN!ýP¡ mâ`5I#¬ ™fD,‚xà‚àŠ =#Nºýa¡ ŽŠÚ4ŽÁ+ @™fD,‚xà‚à‹ 5vNààý#¡ ]aåž±CàÄA™fD,‚xà‚àŒ ‰N Sýh¡ Xu€Éà]¯ã÷Z¥™fD,‚xà‚à nN!:ýF¡ õº‹£2õ®Lö3®™fD,‚xà‚àŽ NXýA¡ q¹ôŸ«ìЖ;3Ÿ™fD,‚xà‚àªªªªªªªªªªªªªªªªªªªªªªª%™fD,‚xà‚àËN ¢ýl¡ K9á&Zð²‡>ˆ™fD,‚xà‚à‘N ýM¡ Ÿ9mœ}JÒÄÉw  ™fD,‚xà‚à’?ÈNXýR¡ ›Iœ–YCî(gÞ™fD,‚xà‚à“¯N ¥ýJ¡ ;ÑœØó³ÕÕ7)™fD,‚xà‚à”ˆNýT¡ ŠŽÀ3Šeïj—ýš™fD,‚xà‚à•awNþÏýS¡ ÚePyŠ*$Ïì Ù™fD,‚xà‚à–(NÃýP¡ ˜ÅŒþi±1œ(ì™fD,‚xà‚à—&LNÆý2¡ '¹=Ei~†Œáíò™fD,‚xà‚à˜FäN ¬ýb¡ fNáXýdD $™fD,‚xà‚àjN ÈýF¡ àBˏ;œ1ÿºë™fD,‚xà‚à‘ NûýC¡ Žº !¿ªm*ëóÿf}™fD,‚xà‚àšN ÈýO¡ æáoDŽhŠ f 6 ™fD,‚xà‚àcdN cým¡ w ¥n|ÐzA >™fD,‚xà‚àR7NžýB¡ ¹eßõ^·e—)—D™fD,‚xà‚àN;NBýZ¡ Ì  6ßܬÃþ™fD,‚xà‚à 3#N ëýM¡ ±ãÂׯ±SD­Ÿÿ4k™fD,‚xà‚à ªªªªªªªªªªªªªªªªªªªªªªª ™fD,‚xà‚à8þÿ+ýýÿÿöÿÿÿüN‚Kª©y™fD,‚xà‚à?™™™™™š™ ©™™™™™™ €éÚ™fD,‚xà‚à™3N‚ÀUV¿™f ™fV‚çâe`Ä¢@‘Ì d+Œ÷e€5ÿÂpeZ>Uá°QЧ‚ Ê¡ °Œ€}ÿç5h(#>%µœŽ,ÈÔìÿ¢™eîšä–™fV‚çâm`Ä¢@‘Ì d+Œöm£ÿ6;y‰m':’Æ 5Cì€Y >¡ µ5£27ÞcÓn&8Gž4Ueÿ¥Emî³ä-™fV‚çâV`Ä¢@‘Ì d+ŒûV€ÿ¡:pšVp:Á7‰‡N,û ¡D*€|<6аI &PXžëÞ[ÿŠVïøä™fV ‚çâj`Ä¢@‘Ì d+Œûj€ “ j u-ŸL\6Ý ÚÑ\-”¡ €ÿΏšì2'‘Ñs&k0Ëÿ§©j”䆙fV ‚çâP`Ä¢@‘Ì d+ŒæPá8÷¡Pÿ§3TÊfèÏÿ ¶¿¥+¡ ®ÕáÿŒ…€Ç'*io§É×Úÿ©PI䇙fV‚çâË`Ä¢@‘Ì d+ŒëË€"ÀMËÿ;3mˆ'²ÿ…ÚÑw]¡ š€}ÿô%š''?b2æá5ÖWÿªÚËÜäó™fV‚çâ•`Ä¢@‘Ì d+Œé•€Þžù• £0W…»Œ 'ûyÏ¡ ÷£€u YºXÿ×&ë¹K',–[޹ÿ§î• –äS™fV‚çâµ`Ä¢@‘Ì d+Œçµ€ ùƒµ f2cŒY;ðÂ4Û¢¡ PK€~ÿêe`_‚ÿ–&T³ïŠŠÿªYµö‰äs™fV‚çâ%`‘ Ä¢@‘Ì d+ŒÙ%€>J% ¿2kHµ U‚A”w¡ |G€|'šÑKÿœ&Ò_ 'jœ6Óÿ¥·%  äÙ™fV‚çâJ`‘ Ä¢@‘Ì d+ŒýJ€ zJî-÷–‹ãµo¯}ø¡‚ó€}fÄCP'Pàý3åÿ¬3JíŠäÄ™fV‚çâo`“Ä¢@‘Ì d+Œño€ÿŸ2Òoò–1¿ÓW„Áô^Šô…ƒ¡ ä€ÿjà(Dß ''øtËDjÿ§%o 3ä™fV‚çâ_`‘ Ä¢@‘Ì d+Œï_€ ö`_ÿ­6Ùt+j×ÿšä€ú¡ )¬€~- &Ê{ÿ©&‰fæs6Ñÿ©)_Bä’™fV‚çâ `‘ Ä¢@‘Ì d+Œå €0ÿ{ ó„0£Ü;ÒÁôþ1FÛ¡ ô€}ÿ¹ãÒšx'%9áÆ¥G:ÿšä ð䀙f ™f°¬‚@Z^EÊõñ»žæfóÏÿÜÿC&ÿÿò“ŠŸnbtÿ¹ÿ6ƒµþæó1€obÿ«ÿ‘sãþùôÿ6îo’Yÿ³ÿx³ ÿþåÇštñþÚÿÏóþðöHþOn³ëÿÁÿÓÎÿò×þCær2V¥ÿr fãšÅ zÚÿ,ÿüŸÉÿçúêɍm]ƒÿ¬ÿjKpÿ–œzxy!û1[™f±V‚@Z^d€aypU —»_’þ¯L Î   d#‘r 5d€2aáÿÿÿôÿÿÿÌÿÿÿÚZ™fÓFx >N@àêÎ0@³·Ûg‹RÀíë.Š„Œ@ ¹™f†º‚èâž? ÿµN(Ⱥn·ÿ‚ 'æÒ²nÿƒm$>ʬdÿ„o$õɬn0ÿ…_„ØnVÿ†Ë(AÔ©n,ÿ‡•ŒÁœn4ÿˆe ²ˆd0ÿŠV+8׬d,ˌ% ­¯†n,ƒ ü1xü8™f°¬‚(^^@Êõñçfs¿ÿÃÿ#ÿÿò©i¿n‚ÿØÿ!cÐþæóåÁ€oBÿžÿºóÄþùôôÖîo2kÿÇÿks"ÿþåâΛtÓ%ÿüÿs|þðö® On3áÿÊÿôÿSßÿòׯíårò#ƒÿ.=tãšY¶~zš/ÿMÿôéÿçúœYŽmmÿªÿd›qÿ–œ?öwy1è1i™f±V‚(^^d€aypU —»_÷þ€L „Î ÿÿÿ  d#ºK3d€2aáÿÿÿôÿÿÿÌÿÿÿü™fÓFx >ö@`BÏ0@”ךŒ‹RÀ.Šœ¢œ@ V™f†º‚éâž? ÿµN(Ⱥd×ÿ‚ 'æÒ²dÿƒm$>ʬnÿ„o$õÉ«d0ÿ…_„ØdVÿ†Ë(AÔ©d,ÿ‡•ŒÁœd4ÿˆe ²ˆn0ÿŠV+8׬n,ˌ% ­¯‚d,ƒ ü1xü8a™f°¬‚b^<ÊõñçfÑÿ¹ÿ)ÿÿòjÌ¿nr‰ÿÏÿ6ÓÅþæó( ¥o‚0ÿ¯ÿÀsÎþùôŠïoeÿ¹ÿ‚£ ÿþå'vœt ÿðÿòsˆþðö¢âNnCêÿÅÿ÷ÿCäÿò×Â6årâ1ªÿ%†ãš†~zŠUÿ‰ÿúçú-‰ŽmÍ}ÿ£ÿm[iÿ–œwyç1ý™f±V‚b^d€aypU ˜»_ þ‘L qÎ üÿÿ  d#À…Àã3d€2aáÿÿÿôÿÿÿÌÿÿÿð×™fÓF%x ?@Ž@`zÐ0@šó“/ۋRÀ .ŠïŒ@ D™f†º‚êâž? @ÿµN(Ⱥnóÿ‚ 'æÒ²nÿƒm$>ʬdÿ„o$õɬn0ÿ…_„×nVÿ†Ë(AÔ©n,ÿ‡•ŒÁœn4ÿˆe ²ˆd0ÿŠV+8׬d,Ì% ­¯n,ƒ ü1xü8…™f°¬‚øe^8ÊõñôçfcŸÿ§ÿñÿó1ÿÿò+/Àn²vÿŸÿ ó×þæóGP¥o‚GÿÛÿ׃Îþùô/VïoâmÿÇÿ™³ÿþåGt³öþãÿ݃‰þðöz$Nn“òÿÑÿƒãÿòײär¢FÊÿLmwãšÇJ}z Hÿ‚ÿƟ çúŽžŽmýkÿœÿe»aÿ–œ˜-vyAö1™f±V‚øe^d€aypU —»_þŠL jÎ   d#×ÜÀð3d€2aáÿÿÿôÿÿÿÌÿÿÿã+™f†º‚ëâž? CÿµN(ɺd0ÿ‚ 'æÒ²d2ÿƒm$>ˬn*ÿ„o$õɬd0ÿ…_„ØdVÿ†Ë(AÔ©d,ÿ‡•ŒÁ›d4ÿˆe ²ˆn0ÿŠV+8׬n,Ì% ­°d,ƒ ü1xü8K™fÓF%x ?@Ž@À¢Ñ0@ Ïù‹RÀ2/.Š+lº@ Ÿ™f°¬‚ài^3Êõñçfó¯ÿŠÿðÿÃ'ÿÿòëñÀnrŠÿ×ÿ,cÎþæó¿÷¥oò%ÿÃÿ¯cÓþùô÷õïor]ÿ³ÿp“ÿþå–$žtS×þÍÿ£ãþðöŒÆMnsãÿºÿâÿïÿò×Å(ärBZÊÿ_=xãš.õ|zŠ3ÿtÿ˜O4çúãGm­†ÿŽÿ†Ë\ÿ–œ2©uy1"™f±V‚ài^d€azpU —»_ þŒL kÎ   d#¯ìÀ 2d€2aáÿÿÿôÿÿÿÌÿÿÿ͎™fÓFx ?À­#@ÀåÐ0@—a¯÷bŒRÀWT.Š"›Œ@ G™f†º‚ìâž? ÀÿµN(ɺZaÿ‚ 'æÒ²Zÿƒm$>ˬdÿ„o$õɬZ0ÿ…_„ØZVÿ†Ë(AÔ©Z,ÿ‡•ŒÁšZ4ÿˆe ²ˆd0ÿŠV+8׬d,Ì% ­°Z,ƒ ü1xü8²™f°¬‚Èm^/Êõñ•†çf3Ìÿ ÿ$SÿÿòaTÁnòŒÿÞÿ53Éþæó«>Šo20ÿÔÿµsÖþùôA5ðoÒoÿÎÿ®³ñþþå8˞tóÿ̃£þðöDMnÃÏÿšÿÝÿcãÿò׆qãrRbÕÿU†ãš?|zzLÿ ÿŸ/*çúwmÝwÿŠÿ]Kqÿ–œšÄtyq1p™f±V‚Èm^d€aypU —»_üþ|L \Î   Z#µH¿‘2d€2aáÿÿÿôÿÿÿÌÿÿÿ™fÓFx ?À­#@@2Ð0@޳Ñ̌RÀ||.ŠÈÀŸ@ S™f†º‚íâž? ÀÿµN(ɺd³ÿ‚ 'æÑ²dÿƒm$>ˬnÿ„o$õɬd0ÿ…_„˜dVÿ†Ë(AÔ©d,ÿ‡•ŒÁšd4ÿˆe ²ˆn0ÿŠV+8׬n,ˌ% ­°‹d,ƒ ü1xü8Ô™f°¬‚°q^+Êõñ,ŽçfƒÅÿ™ÿCÿÿò»¶ÁnbÿÝÿRCµþæó……Šo²+ÿØÿ Sãþùô†tðo"lÿÅÿ¡óøþþåñqŸtãÿ Èc¢þðöÂILn3Øÿ¬ÿúÿ“Óÿò×Jºâr¢Hµÿ]mlãšÃˆ{zê_ÿÉÿÎÏ,çúñ¥m]wÿžÿC …ÿ–œÓßsy1™f±V‚°q^d€aypU ˜»_rþ‰L iÎ üÿÿ  d# 5¿32d€2aáÿÿÿôÿÿÿÌÿÿÿ ³™fÓFx @ e/@€(Ï0@nŒIRÀ¢¡.ŠžäÁ@ Þ™f†º‚îâž?  ÿµN(ɺnÿ‚ 'æÑ²nÿƒm$>Ë­dÿ„o$õÉ­n0ÿ…_„˜nVÿ†Ë(AÔ©n,ÿ‡•ŒÁšn4ÿˆe ²‰d0ÿŠV+8׬d,ˌ% ­°‹n,ƒ ü1xü8™f°¬‚˜u^'Êõñ¥•çf3ÂÿÿC#ÿÿòÂnҊÿÕÿ&CÓþæó%ÌŠo2@ÿîÿÂ#Ùþùô¶³ðo‚bÿŽÿjÿþ占tãûþ÷ÿ×S’þðö4‹KnÎÿ”ÿìÿcÖÿò×ÕârbJ»ÿ|MUãšhÒzzjiÿÓÿÙ_+çúÆÔmœpÿŠÿ9«‡ÿ–œÉúry51ž™f±V‚˜u^d€aypU —»_{þˆL hÎ   d#ÂÀŸö1d€2aáÿÿÿôÿÿÿÌÿÿÿ÷Ì™fÓFx A e/@,Î0@Ÿ£:¿ŒRÀÇÁ.йrÄ@ m™f†º‚ïâž?  ÿµN(ɺd£ÿ‚ 'æÑ²dÿƒm$>Ë­nÿ„o$õɬd0ÿ…_„˜dVÿ†Ë(AÓ©d,ÿ‡•ŒÁ›d4ÿˆe ²ˆn0ÿŠV+8׬n,ˌ% ­±d,ƒ ü1xü8,™f°¬‚€y^"Êõñ<ýçfSÆÿ¥ÿÿÿS-ÿÿònÛÂn„ÿäÿ;cŸþæós§or5ÿãÿ烳þùôÿRñodÿÊÿ\3(ÿþå`¡tÃàþäÿÒÀþðöž,Kn£íÿÀÿ ×ÿòי«ár²4§ÿpœMãš6|zzšgÿÕÿ÷¯çúªcmÝzÿžÿ`;qÿ–œ vryQ1ø™f±V‚€y^d€aypU —»_Þþ”L tÎ   d#çsŸl1d€2aáÿÿÿôÿÿÿÌÿÿÿäf™fÓF5x A F@`›Í0@s Þ9åRÀíâ.Šå5Ã@ \™f†º‚ðâž?  ÿµN(ɺn ÿ‚ 'æÒ²nÿƒm$>Ë­dÿ„o$õÉ­n0ÿ…_„™nVÿ†Ë(AÓ©n,ÿ‡•ŒÁ›n4ÿˆe ²‰d0ÿŠV+8׬d,ˌ% ­±„n,ƒ ü1xü8˜™f°¬‚h}^ÊõñŠèfÓžÿ”ÿã ÿÿòo=ÃnŽÿóÿ"³Ùþæó\¹§oQÿö£œþùôّñobzÿÝÿj³.ÿþåžÅ¡t3ãþíÿäãtþðöÛmJn3Üÿ§ÿÜÿîÿò×ëóàrR3³ÿ7=yãšµÅyzZTÿÇÿOéÿçú6’mý|ÿ¢ÿp[fÿ–œ ‘qy!ù1€™f±V‚h}^d€aypU —»_Èþ“L sÎ   d#öÈœ51d€2aáÿÿÿôÿÿÿÌÿÿÿíb™fÓFx AÀéœ@àŠË0@ÀÓî睍RÀ.Šn^Œ@ Í™f†º‚ñâž? ÀÿµN(ɺdÓÿ‚ 'æÒ²dÿƒm$>Ë­nÿ„o$õÉ­d0ÿ…_„™dVÿ†Ë(AÓªd,ÿ‡•ŒÁ›d4ÿˆe ²ˆn0ÿŠV+8׬n,ˌ% ­±‹d,ƒ ü1xü8¬™f°¬‚P^Êõñ€ èfÓÆÿ€ÿøÿS3ÿÿòQŸÃnҝÿùÿ8ÓÓþæóžÿ§o2cÿ#ÿƒÄþùô¡ÐñoˆÿìÿsÓ2ÿþåòk¢tçþîÿÝ}þðöî®In³×ÿ€ÿÊÿsøÿò×%<àrÒ,ŽÿF=hãšéyzŠkÿÛÿMÏÒÿçú©Àmœxÿ›ÿ|«Yÿ–œ·«pyû1<™f±V‚P^d€aypU ˜»_Fþ—L wÎ ýÿÿ  d#ÿ‚œy1d€2aáÿÿÿôÿÿÿÌÿÿÿîÓ™fÓFx AÀéœ@À”É0@ œÿ•VRÀ .Š(€µ@ t™f†º‚òâž? ÀÿµN(ɺnœÿ‚ 'æÒ²nÿƒm$>ˬdÿ„o$õɬn0ÿ…_„šnVÿ†Ë(AÓªn,ÿ‡•ŒÁšn4ÿˆe ²ˆd0ÿŠV+8׬d,ˌ% ­±‹n,ƒ ü1xü8â™f°¬‚8…^Êõñürèf“œÿ”ÿèÿc8ÿÿòsaÄn¢’ÿëÿSßþæó"ŠšoRTÿÛÕþùôžoòo’‡ÿìÿŠ ÿþåJr£tðþçs|þðöPInóÞÿŒÿÙÿ£òÿò׆äßr²"¢ÿ3]oãš`žxzº_ÿÊÿHÍÿçú5O‘mm|ÿœÿmhÿ–œr&py‘ 1Ý™f±V‚8…^d€aypU ˜»_µþ’L rÎ   d#Ûל41d€2aáÿÿÿôÿÿÿÌÿÿÿf™fÓFx A –@àïÊ0@ƛc€rRÀ1..ЁŽ@ ç™f†º‚óâž?  ÿµN(ɺd›ÿ‚ 'æÒ³dÿƒm$>Ë­nÿ„o$õɬd0ÿ…_„™dVÿ†Ë(AÓ©d,ÿ‡•ŒÀ›d4ÿˆe ³ˆn0ÿŠV+8׬n,ˌ% ­±‹d,ƒ ü1xü8™f°¬‚ ‰^Êõñøyèf3µÿŠÿ “ÿÿò\ÃÄndÿœÿ 3ÈþæóCìšo²GÿòÿÂSÞþùôR®òoÂsÿÔÿ|“ÿþåV€tÓæþôÿÝÃ|þðöîHncÛÿµÿÜÿƒíÿò×G,ßr‚YØÿxdãšnxzZZÿ®ÿXœÿçúX}‘mý‡ÿŸÿj›sÿ–œö@oyÑò1º™f±V‚ ‰^d€aypU —»_Ïþ‚L aÎ þÿÿ  d#œ[0d€2aáÿÿÿôÿÿÿÌÿÿÿô*™fÓFx A –@À9Ì0@›Ç²ŽRÀWV.Š¿o²@ ¯™f†º‚ôâž?  ÿµN(ɺn›ÿ‚ 'æÒ²nÿƒm$>ˬdÿ„o$õɬn0ÿ…_„˜nVÿ†Ë(AÓªn,ÿ‡•ŒÀœn4ÿˆe ³‡d0ÿŠV+8׬d,Ì% ­±‹n,ƒ ü1xü8™f°¬‚^ Êõñ̀èf3»ÿŽÿ³!ÿÿòÛ$Ån…ÿÞÿFõþæó[2©o"$ÿÜÿŒ£ìþùôüìòoòOÿ¯ÿC3,ÿþå;Ÿ€t#çþúÿÙ#€þðö±ÑGn“Íÿ¢ÿ·ÿ“ÿÿò×tÞr2dÜÿœ}PãšmJwzzCÿšÿ¯Øÿçú «‘mOÿrÿ5Ëpÿ–œ0[nyáÿ1 ™f±V‚^d€azpU —»_]þeL EÎ ÿÿÿÿÿÿ  d#ŒqŒÐ/d€2aáÿÿÿôÿÿÿÌÿÿÿúŒ™fÓFx A F@ÀÏ0@4k-·RÀ|w.ŠÄ±@ ä™f†º‚õâž?  ÿµN(Ⱥdÿ‚ 'æÒ²dÿƒm$>ˬnÿ„o$õɬd0ÿ…_„™dVÿ†Ë(AÓ©d,ÿ‡•ŒÀ›d4ÿˆe ³†n0ÿŠV+8׬n,Ì% ­±‹d,ƒ ü1xü8˜™f°¬‚ð^ÊõñºçèfóÏÿ°ÿC/ÿÿò”æÅnr“ÿøÿ7³Ìþæó˜Ø©oRýþ¶ÿ‚ƒÖþùô ‹óo"Zÿ¯ÿ`Cÿþå3Ä¥t3úþîC~þðö\rGn3üÿÏÿ×ÿ ò×%Þr’UÇÿ…W㚃óvzº7ÿŒÿ?Ðÿçú±9’mýoÿ›ÿfûcÿ–œ¡Õmyö1º™f±V‚ð^d€aypU —»_éþ€L `Î   d#‚Ä»Ç/d€2aáÿÿÿôÿÿÿÌÿÿÿI™fÓFx AÀ­#@€²Î0@bëí! ŽRÀ¢—.ŠŒÃ²@ I™f†º‚öâž? ÀÿµN(ɺnëÿ‚ 'æÒ²nÿƒm$>ˬdÿ„o$õɬn0ÿ…_„˜nVÿ†Ë(AÓ©n,ÿ‡•ŒÀ›n4ÿˆe ³d0ÿŠV+8׬d,Ì% ­±‹n,ƒ ü1xü8–™f°¬‚ؔ^ÊõñLîèfcåÿÓÿÓ7ÿÿòÿGÆnR”ÿùÿ1Òþæó*ªor!ÿÝÿ®3ÐþùôÏÉóo²}ÿéÿ‘³ÿþåÙiŠtsÿöÿ#oþðöë²Fn³èÿŸÿÙÿ3úÿò×·cÝrâdÛÿb=~Úˬnÿ„o$õɬd0ÿ…_„˜dVÿ†Ë(AÓ©d,ÿ‡•ŒÀœd4ÿˆe ³‹n0ÿŠV+8׬n,Ì% ­±‹d,ƒ ü1xü8 ™f°¬‚À˜^ÊõñàôèfƒßÿÃÿ0³ÿÿòU©ÆnâŽÿñÿSÜþæóÀcªo2 ÿÖÿº3Æþùôôo"fÿÓÿ|³ÿþåW§tóÿ ƒpþðö]óEnƒÓÿ£ÿÚÿéÿò×M«Ür²QÇÿpMd㚯„uz::ÿ—ÿägýÿçú#•’m €ÿ’ÿz«`ÿ–œž lyÝ1„™f±V‚À˜^`€aypU ˜»_òþ‡L gÎ  d#ºˆ¹ì9d€2aáÿÿÿôÿÿÿÌÿÿÿ !™fÓFx B@æ @à/Ï0@æ„dŽRÀíë.ŠC±@ ™fµB‚À˜^968Í?CÆ?žŽçFÅ?‚ ÈÊœ?rÿ–°îì6@8kžÅÓÄ?¶›"Qâ¿? ]¬.›…Ø?™f†º‚øâž? ?ÿµN(ɺnÊÿ‚ 'æÒ²nžÿƒm$>ˬd]ÿ„o$õɬn0ÿ…_„–nVÿ†Ë(AÓ©n,ÿ‡•ŒÀšn4ÿˆe ³ƒd0ÿŠV+8׬d,ˌ% ­±Šn,ƒ ü1xü8‚™f°¬‚šœ^ûÊõñÌ[éfó§ÿ™ÿÓÿÿòËjÇnRÿôÿ5ÓÊþæó| «obÿËÿµsÅþùôtŠôoâmÿÕÿ‘ƒÿþå>štSÜþØÿúÃ]þðöÓEnÃíÿ¿ÿþÿcáÿò×SÜr"7©ÿQ=hãš>-uzºQÿ¯ÿ¶·3çúÞ"“mœ–ÿŽÿ€›mÿ–œžƒky1Â1#™f±V‚šœ^`€azpU ˜»_Uþ}L ]Î  d#µgÈ”Ed€2aáÿÿÿôÿÿÿÌÿÿÿØj™fÓFx B@æ @`Ð0@<6Ä'iŽRÀ.Šž®@ b™f†º‚ùâž? @ÿµN(ɺd6ÿ‚ 'æÒ²dÿƒm$>ˬnÿ„o$õɬd0ÿ…_„–dVÿ†Ë(AÓ©d,ÿ‡•ŒÀšd4ÿˆe ށn0ÿŠV+8׬n,ˌ% ­±Šd,ƒ ü1xü8Ç™f°¬‚ ^÷Êõñ/béfsžÿ‘ÿåÿ“"ÿÿò÷ËÇnÂ}ÿÛÿóãþæóæN«o’ÿ¬ÿ€£Âþùô™äôoKÿŠÿis ÿþ嚺štÔþÀÿäÓhþðöØÓDn#úÿŒÿùÿÓîÿò×5šÛrâWÐÿŒ}Sãššutzª9ÿ«ÿ„øÿçúcP“m­‚ÿ«ÿmËlÿ–œ&jyaï1™f±V‚ ^`€azpU ˜»_cþuL UÎ ÿÿÿþÿÿ d#€ùÖQd€2aáÿÿÿôÿÿÿÌÿÿÿÀQ™fÓFx B –@ÀÑ0@XœzŽRÀ .Š€‡¬@ T™f†º‚úâž?  ÿµN(ɺnÿ‚ 'æÒ³nÿƒm$>ˬdÿ„o$õɬn0ÿ…_„•nVÿ†Ë(AÓ©n,ÿ‡•ŒÀšn4ÿˆe ށd0ÿŠV+8׬d,ˌ% ­±Šn,ƒ ü1xü8™f°¬‚x€^óÊõñWhéf3¶ÿ¡ÿãÿÿò-Èn’pÿÄÿ9Ó¯þæó$”«o’üþ”ÿyãÜþùôZ"õoBqÿÂÿz³ÿþåÂ_©tÓâþÇÿ(ó>þðöîDn£çÿ§ÿ ÓÓÿò×^áÚrÒXŸÿ|­`㚺œszÊ<ÿ°ÿØñÿçúÍ}“miÿŒÿcë`ÿ–œ}¶iyÁ1P™f±V‚x€^`€azpU ˜»_3þL _Î ÿÿÿ d#yBå7\d€2aáÿÿÿôÿÿÿÌÿÿÿÇy™fÓFx B > @@ÀÒ0@æÍڅŽRÀ1,.ŠT8ª@ ¶™f†º‚ûâž?  ÿµN(ɺdÿ‚ 'æÒ²dÿƒm$>ˬnÿ„o$õɬd0ÿ…_„–dVÿ†Ë(AÒªd,ÿ‡•ŒÀšd4ÿˆe ރn0ÿŠV+8׬n,ˌ% ­±Šd,ƒ ü1xü8„™f°¬‚`š^ïÊõñZnéfÙÿÑÿ“*ÿÿòύÈn2‰ÿÏÿDCºþæóÙ«o‚$ÿœÿµcÍþùô@`õobWÿ°ÿZ“ÿþåŪtcøþÕÿ0CIþðöÖSCn3åÿšÿþÿƒÚÿò×h(ÚròZÏÿX=~㚌szJ=ÿ°ÿ Xåÿçúüª“mýjÿ–ÿ~KMÿ–œ×Ïhy± 1)™f±V‚`š^`€azpU ˜»_þŽL nÎ þÿÿ d#µEó9gd€2aáÿÿÿôÿÿÿÌÿÿÿÕd™fÓFx B > @@WÔ0@Œ®A‘ŽRÀWM,Šßò§@ ×™f†º‚üâž?  ÿµN(ɺn®ÿ‚ 'æÒ²nÿƒm$>ˬdÿ„o$õɬn0ÿ…_„–nVÿ†Ë(AÒªn,ÿ‡•ŒÀ™n4ÿˆe µˆd0ÿŠV+8׬d,ˌ% ­±Šn,ƒ ü1xü83™f°¬‚H¬^êÊõñ¥ÔéfsÙÿÈÿ £"ÿÿòçNÉnòzÿÒÿ7C¹þæóe~¬oâÿ¬ÿ‹Öþùô þõo‚}ÿÕÿp3,ÿþå «tãäþÊÿ'#AþðöíóBnsÖÿ€ÿÂÿ³ýÿò׃ÏÙr2oêÿb]†ãš®rzúÿzÿœÉÿçú58”mmƒÿµÿ˜ëKÿ–œ5Ihyñ!1_™f±V‚H¬^`€azpU —»_.þ{L [Î ÿÿÿ d#‹ rd€2aáÿÿÿôÿÿÿÌÿÿÿÊ™fÓFx BàU!@€WÕ0@…ü)>ԎRÀ|i,Їš@ Y™f†º‚ýâž? àÿµN(ɺdüÿ‚ 'æÒ²dÿƒm$>ˬnÿ„o$õɬd0ÿ…_„–dVÿ†Ë(AÒªd,ÿ‡•Œ¿šd4ÿˆe µ†n0ÿŠV+8׬n,ˌ% ­±Šd,ƒ ü1xü8Ò™f°¬‚0°^æÊõñÌÚéf£ÿœÿ÷ÿÿÿò†¯Én҈ÿëÿ<Àþæó"ìoòÿÑÿ–ÃÞþùô°;öooÿÔÿgó'ÿþåí®«tSèþÂÿùÓgþðö3BnÜÿÿÔÿôÿò×OÙrbrýÿk݁㚹õqzº ÿtÿ­èÃÿçú6e”mÍqÿžÿsK[ÿ–œKbgy1T™f±V‚0°^`€aypU —»_ÝþŒL gpsd-3.9/test/daemon/navcom.log.chk0000664000175000017500000007104112135526372015455 0ustar esresr$GPZDA,102008.00,15,01,2007,00,00*6D $GPGGA,102008,3020.5010,N,01213.7241,E,2,09,1.00,627.59,M,31.479,M,,*41 $GPRMC,102008,A,3020.5010,N,01213.7241,E,0.0019,90.000,150107,,*11 $GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31 $GPGBS,102008,0.22,M,0.22,M,10.35,M*02 {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:08.000Z","ept":3.920,"lat":30.341683155,"lon":12.228735775,"alt":627.588,"epx":0.222,"epy":0.222,"epv":10.350,"track":90.0000,"speed":0.001,"climb":0.006} $GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F $GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,34*7F $GPGSV,3,3,10,07,43,056,43,22,13,173,34*7C {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.624Z","xdop":0.55,"ydop":0.74,"vdop":1.80,"tdop":1.30,"hdop":1.00,"gdop":2.40,"pdop":2.00,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":44,"used":true},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":38,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":39,"used":true},{"PRN":3,"el":10,"az":284,"ss":34,"used":true},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":34,"used":false}]} $GPZDA,102009.00,15,01,2007,00,00*6C $GPGGA,102009,3020.5010,N,01213.7241,E,2,09,1.00,627.58,M,31.479,M,,*41 $GPRMC,102009,A,3020.5010,N,01213.7241,E,31847.9464,0.000,150107,,*27 $GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31 $GPGBS,102009,0.22,M,0.22,M,10.35,M*03 {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:09.000Z","ept":3.920,"lat":30.341683205,"lon":12.228735818,"alt":627.577,"epx":0.222,"epy":0.222,"epv":10.350,"track":0.0000,"speed":16383.999,"climb":0.008,"eps":0.44} $GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F $GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,34*7F $GPGSV,3,3,10,07,43,056,43,22,13,173,32*7A {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.625Z","xdop":0.55,"ydop":0.74,"vdop":1.80,"tdop":1.30,"hdop":1.00,"gdop":2.40,"pdop":2.00,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":44,"used":true},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":38,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":39,"used":true},{"PRN":3,"el":10,"az":284,"ss":34,"used":true},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":32,"used":false}]} $GPZDA,102010.00,15,01,2007,00,00*64 $GPGGA,102010,3020.5010,N,01213.7242,E,2,09,1.00,627.56,M,31.479,M,,*44 $GPRMC,102010,A,3020.5010,N,01213.7242,E,0.0019,90.000,150107,,*1B $GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31 $GPGBS,102010,0.22,M,0.22,M,10.35,M*0B {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:10.000Z","ept":3.920,"lat":30.341683095,"lon":12.228735894,"alt":627.558,"epx":0.222,"epy":0.222,"epv":10.350,"track":90.0000,"speed":0.001,"climb":16383.996,"eps":0.44} $GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F $GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,34*7F $GPGSV,3,3,10,07,43,056,43,22,13,173,44*7B {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.626Z","xdop":0.55,"ydop":0.74,"vdop":1.80,"tdop":1.30,"hdop":1.00,"gdop":2.40,"pdop":2.00,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":44,"used":true},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":38,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":39,"used":true},{"PRN":3,"el":10,"az":284,"ss":34,"used":true},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":44,"used":false}]} $GPZDA,102011.00,15,01,2007,00,00*65 $GPGGA,102011,3020.5010,N,01213.7242,E,2,09,1.00,627.55,M,31.479,M,,*46 $GPRMC,102011,A,3020.5010,N,01213.7242,E,0.0019,90.000,150107,,*1A $GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31 $GPGBS,102011,0.22,M,0.22,M,10.35,M*0A {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:11.000Z","ept":3.920,"lat":30.341683146,"lon":12.228735886,"alt":627.552,"epx":0.222,"epy":0.222,"epv":10.350,"track":90.0000,"speed":0.001,"climb":0.001,"eps":0.44} $GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F $GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,34*7F $GPGSV,3,3,10,07,43,056,43,22,13,173,44*7B {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.627Z","xdop":0.55,"ydop":0.74,"vdop":1.80,"tdop":1.30,"hdop":1.00,"gdop":2.40,"pdop":2.00,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":44,"used":true},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":38,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":39,"used":true},{"PRN":3,"el":10,"az":284,"ss":34,"used":true},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":44,"used":false}]} $GPZDA,102012.00,15,01,2007,00,00*66 $GPGGA,102012,3020.5010,N,01213.7242,E,2,09,1.00,627.55,M,31.480,M,,*43 $GPRMC,102012,A,3020.5010,N,01213.7242,E,0.0019,0.000,150107,,*20 $GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31 {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:12.000Z","ept":3.920,"lat":30.341683214,"lon":12.228735860,"alt":627.552,"epx":0.222,"epy":0.222,"epv":10.350,"track":0.0000,"speed":0.001,"climb":0.000,"eps":0.44} $GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F $GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,38,03,10,284,34*7E $GPGSV,3,3,10,07,43,056,43,22,13,173,44*7B {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.628Z","xdop":0.55,"ydop":0.74,"vdop":1.80,"tdop":1.30,"hdop":1.00,"gdop":2.40,"pdop":2.00,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":44,"used":true},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":38,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":38,"used":true},{"PRN":3,"el":10,"az":284,"ss":34,"used":true},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":44,"used":false}]} $GPZDA,102013.00,15,01,2007,00,00*67 $GPGGA,102013,3020.5010,N,01213.7242,E,2,09,1.00,627.54,M,31.479,M,,*45 $GPRMC,102013,A,3020.5010,N,01213.7242,E,0.0019,0.000,150107,,*21 $GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31 $GPGBS,102013,0.22,M,0.22,M,10.35,M*08 {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:13.000Z","ept":3.920,"lat":30.341683205,"lon":12.228735860,"alt":627.538,"epx":0.222,"epy":0.222,"epv":10.350,"track":0.0000,"speed":0.001,"climb":0.001,"eps":0.44} $GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F $GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,38,03,10,284,34*7E $GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.629Z","xdop":0.55,"ydop":0.74,"vdop":1.80,"tdop":1.30,"hdop":1.00,"gdop":2.40,"pdop":2.00,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":44,"used":true},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":38,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":38,"used":true},{"PRN":3,"el":10,"az":284,"ss":34,"used":true},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":35,"used":false}]} $GPZDA,102014.00,15,01,2007,00,00*60 $GPGGA,102014,3020.5010,N,01213.7242,E,2,09,1.00,627.55,M,31.479,M,,*43 $GPRMC,102014,A,3020.5010,N,01213.7242,E,31847.9407,0.000,150107,,*2D $GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31 $GPGBS,102014,0.22,M,0.22,M,10.35,M*0F {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:14.000Z","ept":3.920,"lat":30.341683138,"lon":12.228735911,"alt":627.551,"epx":0.222,"epy":0.222,"epv":10.350,"track":0.0000,"speed":16383.996,"climb":0.002,"eps":0.44} $GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F $GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,38,03,10,284,34*7E $GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.630Z","xdop":0.55,"ydop":0.74,"vdop":1.80,"tdop":1.30,"hdop":1.00,"gdop":2.40,"pdop":2.00,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":44,"used":true},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":38,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":38,"used":true},{"PRN":3,"el":10,"az":284,"ss":34,"used":true},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":35,"used":false}]} $GPZDA,102015.00,15,01,2007,00,00*61 $GPGGA,102015,3020.5010,N,01213.7242,E,2,09,1.00,627.55,M,31.479,M,,*42 $GPRMC,102015,A,3020.5010,N,01213.7242,E,0.0019,0.000,150107,,*27 $GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31 $GPGBS,102015,0.22,M,0.22,M,10.35,M*0E {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:15.000Z","ept":3.920,"lat":30.341683138,"lon":12.228735852,"alt":627.550,"epx":0.222,"epy":0.222,"epv":10.350,"track":0.0000,"speed":0.001,"climb":0.005,"eps":0.44} $GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F $GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,34*7F $GPGSV,3,3,10,07,43,056,43,22,13,173,01*7A {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.631Z","xdop":0.55,"ydop":0.74,"vdop":1.80,"tdop":1.30,"hdop":1.00,"gdop":2.40,"pdop":2.00,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":44,"used":true},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":38,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":39,"used":true},{"PRN":3,"el":10,"az":284,"ss":34,"used":true},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":1,"used":false}]} $GPZDA,102016.00,15,01,2007,00,00*62 $GPGGA,102016,3020.5010,N,01213.7242,E,2,09,1.00,627.56,M,31.479,M,,*42 $GPRMC,102016,A,3020.5010,N,01213.7242,E,0.0000,0.000,150107,,*2C $GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31 $GPGBS,102016,0.22,M,0.22,M,10.35,M*0D {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:16.000Z","ept":3.920,"lat":30.341683189,"lon":12.228735877,"alt":627.561,"epx":0.222,"epy":0.222,"epv":10.350,"track":0.0000,"speed":0.000,"climb":0.000,"eps":0.44} $GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F $GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,34*7F $GPGSV,3,3,10,07,43,056,43,22,13,173,33*7B {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.632Z","xdop":0.55,"ydop":0.74,"vdop":1.80,"tdop":1.30,"hdop":1.00,"gdop":2.40,"pdop":2.00,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":44,"used":true},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":38,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":39,"used":true},{"PRN":3,"el":10,"az":284,"ss":34,"used":true},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":33,"used":false}]} $GPZDA,102017.00,15,01,2007,00,00*63 $GPGGA,102017,3020.5010,N,01213.7241,E,2,09,1.00,627.56,M,31.479,M,,*40 $GPRMC,102017,A,3020.5010,N,01213.7241,E,0.0019,90.000,150107,,*1F $GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31 $GPGBS,102017,0.22,M,0.22,M,10.35,M*0C {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:17.000Z","ept":3.920,"lat":30.341683180,"lon":12.228735826,"alt":627.560,"epx":0.222,"epy":0.222,"epv":10.350,"track":90.0000,"speed":0.001,"climb":0.006,"eps":0.44} $GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F $GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,34*7F $GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.633Z","xdop":0.55,"ydop":0.74,"vdop":1.80,"tdop":1.30,"hdop":1.00,"gdop":2.40,"pdop":2.00,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":44,"used":true},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":38,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":39,"used":true},{"PRN":3,"el":10,"az":284,"ss":34,"used":true},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":35,"used":false}]} $GPZDA,102018.00,15,01,2007,00,00*6C $GPGGA,102018,3020.5010,N,01213.7242,E,2,09,1.00,627.56,M,31.479,M,,*4C $GPRMC,102018,A,3020.5010,N,01213.7242,E,0.0060,71.565,150107,,*14 $GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31 $GPGBS,102018,0.22,M,0.22,M,10.35,M*03 {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:18.000Z","ept":3.920,"lat":30.341683112,"lon":12.228735945,"alt":627.564,"epx":0.222,"epy":0.222,"epv":10.350,"track":71.5651,"speed":0.003,"climb":16383.997,"eps":0.44} $GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F $GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,38,03,10,284,34*7E $GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.634Z","xdop":0.55,"ydop":0.74,"vdop":1.80,"tdop":1.30,"hdop":1.00,"gdop":2.40,"pdop":2.00,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":44,"used":true},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":38,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":38,"used":true},{"PRN":3,"el":10,"az":284,"ss":34,"used":true},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":35,"used":false}]} $GPZDA,102019.00,15,01,2007,00,00*6D $GPGGA,102019,3020.5010,N,01213.7242,E,2,09,1.00,627.56,M,31.479,M,,*4D $GPRMC,102019,A,3020.5010,N,01213.7242,E,0.0019,0.000,150107,,*2B $GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31 $GPGBS,102019,0.22,M,0.22,M,10.35,M*02 {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:19.000Z","ept":3.920,"lat":30.341683172,"lon":12.228735936,"alt":627.559,"epx":0.222,"epy":0.222,"epv":10.350,"track":0.0000,"speed":0.001,"climb":0.005,"eps":0.44} $GPGSV,3,1,10,21,78,040,46,31,39,230,45,06,36,062,43,25,36,245,43*7E $GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,34*7F $GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.635Z","xdop":0.55,"ydop":0.74,"vdop":1.80,"tdop":1.30,"hdop":1.00,"gdop":2.40,"pdop":2.00,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":45,"used":true},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":38,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":39,"used":true},{"PRN":3,"el":10,"az":284,"ss":34,"used":true},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":35,"used":false}]} $GPZDA,102020.00,15,01,2007,00,00*67 $GPGGA,102020,3020.5010,N,01213.7242,E,2,09,1.00,627.54,M,31.480,M,,*43 $GPRMC,102020,A,3020.5010,N,01213.7242,E,31847.9445,0.000,150107,,*2C $GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31 $GPGBS,102020,0.22,M,0.22,M,10.35,M*08 {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:20.000Z","ept":3.920,"lat":30.341683180,"lon":12.228735886,"alt":627.543,"epx":0.222,"epy":0.222,"epv":10.350,"track":0.0000,"speed":16383.998,"climb":0.002,"eps":0.44} $GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F $GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,34*7F $GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.636Z","xdop":0.55,"ydop":0.74,"vdop":1.80,"tdop":1.30,"hdop":1.00,"gdop":2.40,"pdop":2.00,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":44,"used":true},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":38,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":39,"used":true},{"PRN":3,"el":10,"az":284,"ss":34,"used":true},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":35,"used":false}]} $GPZDA,102021.00,15,01,2007,00,00*66 $GPGGA,102021,3020.5010,N,01213.7242,E,2,09,1.00,627.52,M,31.479,M,,*42 $GPRMC,102021,A,3020.5010,N,01213.7242,E,31847.9464,0.000,150107,,*2E $GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31 $GPGBS,102021,0.22,M,0.22,M,10.35,M*09 {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:21.000Z","ept":3.920,"lat":30.341683256,"lon":12.228735869,"alt":627.515,"epx":0.222,"epy":0.222,"epv":10.350,"track":0.0000,"speed":16383.999,"climb":16383.999,"eps":0.44} $GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F $GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,34*7F $GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.637Z","xdop":0.55,"ydop":0.74,"vdop":1.80,"tdop":1.30,"hdop":1.00,"gdop":2.40,"pdop":2.00,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":44,"used":true},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":38,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":39,"used":true},{"PRN":3,"el":10,"az":284,"ss":34,"used":true},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":35,"used":false}]} $GPZDA,102022.00,15,01,2007,00,00*65 $GPGGA,102022,3020.5010,N,01213.7242,E,2,09,1.00,627.54,M,31.479,M,,*47 $GPRMC,102022,A,3020.5010,N,01213.7242,E,0.0027,45.000,150107,,*1F $GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31 $GPGBS,102022,0.22,M,0.22,M,10.35,M*0A {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:22.000Z","ept":3.920,"lat":30.341683197,"lon":12.228735835,"alt":627.542,"epx":0.222,"epy":0.222,"epv":10.350,"track":45.0000,"speed":0.001,"climb":0.001,"eps":0.44} $GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F $GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,32*79 $GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.638Z","xdop":0.55,"ydop":0.74,"vdop":1.80,"tdop":1.30,"hdop":1.00,"gdop":2.40,"pdop":2.00,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":44,"used":true},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":38,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":39,"used":true},{"PRN":3,"el":10,"az":284,"ss":32,"used":true},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":35,"used":false}]} $GPZDA,102023.00,15,01,2007,00,00*64 $GPGGA,102023,3020.5010,N,01213.7242,E,2,09,1.00,627.52,M,31.479,M,,*40 $GPRMC,102023,A,3020.5010,N,01213.7242,E,45039.7977,45.000,150107,,*1E $GPGSA,A,3,03,06,07,16,18,21,25,30,31,,,,2.0,1.0,1.8*31 $GPGBS,102023,0.22,M,0.22,M,10.35,M*0B {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:23.000Z","ept":3.920,"lat":30.341683248,"lon":12.228735852,"alt":627.520,"epx":0.222,"epy":0.222,"epv":10.350,"track":45.0000,"speed":23170.474,"climb":0.000,"eps":0.44} $GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F $GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,39,03,10,284,35*7E $GPGSV,3,3,10,07,43,056,43,22,13,173,35*7D {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.639Z","xdop":0.55,"ydop":0.74,"vdop":1.80,"tdop":1.30,"hdop":1.00,"gdop":2.40,"pdop":2.00,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":44,"used":false},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":38,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":39,"used":true},{"PRN":3,"el":10,"az":284,"ss":35,"used":true},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":35,"used":false}]} $GPZDA,102024.00,15,01,2007,00,00*63 $GPGGA,102024,3020.5010,N,01213.7242,E,2,08,1.10,627.55,M,31.479,M,,*40 $GPRMC,102024,A,3020.5010,N,01213.7242,E,0.0057,90.000,150107,,*16 $GPGSA,A,3,06,07,16,18,21,25,30,31,31,,,,2.3,1.1,2.1*38 $GPGBS,102024,0.22,M,0.22,M,12.08,M*00 {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:24.000Z","ept":5.880,"lat":30.341683205,"lon":12.228735911,"alt":627.549,"epx":0.222,"epy":0.222,"epv":12.075,"track":90.0000,"speed":0.003,"climb":0.001,"eps":0.44} $GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F $GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,38,03,10,284,33*79 $GPGSV,3,3,10,07,43,056,43,22,13,173,34*7C {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.640Z","xdop":0.55,"ydop":0.74,"vdop":2.10,"tdop":1.50,"hdop":1.10,"gdop":2.80,"pdop":2.30,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":44,"used":true},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":38,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":38,"used":true},{"PRN":3,"el":10,"az":284,"ss":33,"used":false},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":34,"used":false}]} $GPZDA,102025.00,15,01,2007,00,00*62 $GPGGA,102025,3020.5010,N,01213.7242,E,2,08,1.10,627.54,M,31.479,M,,*40 $GPRMC,102025,A,3020.5010,N,01213.7242,E,0.0042,26.565,150107,,*18 $GPGSA,A,3,06,07,16,18,21,25,30,31,31,,,,2.3,1.1,2.1*38 $GPGBS,102025,0.22,M,0.22,M,12.08,M*01 {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:25.000Z","ept":5.880,"lat":30.341683256,"lon":12.228735936,"alt":627.539,"epx":0.222,"epy":0.222,"epv":12.075,"track":26.5651,"speed":0.002,"climb":0.003,"eps":0.44} $GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F $GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,38,03,10,284,32*78 $GPGSV,3,3,10,07,43,056,43,22,13,173,34*7C {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.641Z","xdop":0.55,"ydop":0.74,"vdop":2.10,"tdop":1.50,"hdop":1.10,"gdop":2.80,"pdop":2.30,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":44,"used":true},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":38,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":38,"used":true},{"PRN":3,"el":10,"az":284,"ss":32,"used":false},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":34,"used":false}]} $GPZDA,102026.00,15,01,2007,00,00*61 $GPGGA,102026,3020.5010,N,01213.7242,E,2,08,1.10,627.53,M,31.479,M,,*44 $GPRMC,102026,A,3020.5010,N,01213.7242,E,31847.9464,90.000,150107,,*10 $GPGSA,A,3,06,07,16,18,21,25,30,31,31,,,,2.3,1.1,2.1*38 $GPGBS,102026,0.24,M,0.24,M,12.08,M*02 {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:26.000Z","ept":5.880,"lat":30.341683265,"lon":12.228735920,"alt":627.531,"epx":0.236,"epy":0.236,"epv":12.075,"track":90.0000,"speed":16383.999,"climb":16383.998,"eps":0.46} $GPGSV,3,1,10,21,78,040,46,31,39,230,45,06,36,062,43,25,36,245,43*7E $GPGSV,3,2,10,30,26,132,37,16,40,321,42,18,31,140,38,03,10,284,32*77 $GPGSV,3,3,10,07,43,056,43,22,13,173,34*7C {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.642Z","xdop":0.55,"ydop":0.74,"vdop":2.10,"tdop":1.50,"hdop":1.10,"gdop":2.80,"pdop":2.30,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":45,"used":true},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":37,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":38,"used":true},{"PRN":3,"el":10,"az":284,"ss":32,"used":false},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":34,"used":false}]} $GPZDA,102027.00,15,01,2007,00,00*60 $GPGGA,102027,3020.5010,N,01213.7242,E,2,08,1.10,627.54,M,31.479,M,,*42 $GPRMC,102027,A,3020.5010,N,01213.7242,E,31847.9464,90.000,150107,,*11 $GPGSA,A,3,06,07,16,18,21,25,30,31,31,,,,2.3,1.1,2.1*38 $GPGBS,102027,0.24,M,0.24,M,12.08,M*03 {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:27.000Z","ept":5.880,"lat":30.341683239,"lon":12.228735920,"alt":627.541,"epx":0.236,"epy":0.236,"epv":12.075,"track":90.0000,"speed":16383.999,"climb":0.002,"eps":0.47} $GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F $GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,38,03,10,284,33*79 $GPGSV,3,3,10,07,43,056,43,22,13,173,34*7C {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.643Z","xdop":0.55,"ydop":0.74,"vdop":2.10,"tdop":1.50,"hdop":1.10,"gdop":2.80,"pdop":2.30,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":44,"used":true},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":38,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":38,"used":true},{"PRN":3,"el":10,"az":284,"ss":33,"used":false},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":34,"used":false}]} $GPZDA,102028.00,15,01,2007,00,00*6F $GPGGA,102028,3020.5010,N,01213.7242,E,2,08,1.10,627.56,M,31.479,M,,*4F $GPRMC,102028,A,3020.5010,N,01213.7242,E,31847.9445,0.000,150107,,*24 $GPGSA,A,3,06,07,16,18,21,25,30,31,31,,,,2.3,1.1,2.1*38 $GPGBS,102028,0.24,M,0.24,M,12.08,M*0C {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:28.000Z","ept":5.880,"lat":30.341683214,"lon":12.228735936,"alt":627.555,"epx":0.236,"epy":0.236,"epv":12.075,"track":0.0000,"speed":16383.998,"climb":0.007,"eps":0.47} $GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F $GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,38,03,10,284,34*7E $GPGSV,3,3,10,07,43,056,43,22,13,173,34*7C {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.644Z","xdop":0.55,"ydop":0.74,"vdop":2.10,"tdop":1.50,"hdop":1.10,"gdop":2.80,"pdop":2.30,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":44,"used":true},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":38,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":38,"used":true},{"PRN":3,"el":10,"az":284,"ss":34,"used":false},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":34,"used":false}]} $GPZDA,102029.00,15,01,2007,00,00*6E $GPGGA,102029,3020.5010,N,01213.7242,E,2,08,1.10,627.54,M,31.479,M,,*4C $GPRMC,102029,A,3020.5010,N,01213.7242,E,31847.9464,90.000,150107,,*1F $GPGSA,A,3,06,07,16,18,21,25,30,31,31,,,,2.3,1.1,2.1*38 $GPGBS,102029,0.25,M,0.25,M,12.08,M*0D {"class":"TPV","tag":"0xb1","mode":3,"time":"2007-01-15T10:20:29.000Z","ept":5.880,"lat":30.341683231,"lon":12.228735877,"alt":627.537,"epx":0.249,"epy":0.249,"epv":12.075,"track":90.0000,"speed":16383.999,"climb":0.000,"eps":0.49} $GPGSV,3,1,10,21,78,040,46,31,39,230,44,06,36,062,43,25,36,245,43*7F $GPGSV,3,2,10,30,26,132,38,16,40,321,42,18,31,140,38,03,10,284,34*7E $GPGSV,3,3,10,07,43,056,43,22,13,173,34*7C {"class":"SKY","tag":"0x86","time":"2007-01-14T00:01:47.645Z","xdop":0.55,"ydop":0.74,"vdop":2.10,"tdop":1.50,"hdop":1.10,"gdop":2.80,"pdop":2.30,"satellites":[{"PRN":21,"el":78,"az":40,"ss":46,"used":true},{"PRN":31,"el":39,"az":230,"ss":44,"used":true},{"PRN":6,"el":36,"az":62,"ss":43,"used":true},{"PRN":25,"el":36,"az":245,"ss":43,"used":true},{"PRN":30,"el":26,"az":132,"ss":38,"used":true},{"PRN":16,"el":40,"az":321,"ss":42,"used":true},{"PRN":18,"el":31,"az":140,"ss":38,"used":true},{"PRN":3,"el":10,"az":284,"ss":34,"used":false},{"PRN":7,"el":43,"az":56,"ss":43,"used":true},{"PRN":22,"el":13,"az":173,"ss":34,"used":false}]} gpsd-3.9/test/daemon/nd-1005.log0000664000175000017500000005506211762140437014416 0ustar esresr# Name: Globalsat ND-1005 # Chipset: SiRF-3 # Description: GPS mouse # Submitter: George E Farmer # Date: 2011-03-14 # Location: Aberdeen, SCOTLAND, 57.16N 2.12W # Notes: Unit stationary. $GPGGA,110518.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*77 $GPGLL,5709.8067,N,00207.2822,W,110518.000,A,A*4A $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110518.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*65 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110519.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*76 $GPGLL,5709.8067,N,00207.2822,W,110519.000,A,A*4B $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110519.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*64 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110520.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7C $GPGLL,5709.8067,N,00207.2822,W,110520.000,A,A*41 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPGSV,3,1,12,23,65,147,33,20,59,095,27,04,46,290,20,13,37,191,24*79 $GPGSV,3,2,12,32,32,083,33,17,30,227,20,31,23,042,22,24,16,136,21*73 $GPGSV,3,3,12,10,14,262,,02,11,306,,25,08,,,12,07,321,15*40 $GPRMC,110520.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6E $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110521.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7D $GPGLL,5709.8067,N,00207.2822,W,110521.000,A,A*40 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110521.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6F $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110522.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7E $GPGLL,5709.8067,N,00207.2822,W,110522.000,A,A*43 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110522.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6C $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110523.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7F $GPGLL,5709.8067,N,00207.2822,W,110523.000,A,A*42 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110523.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6D $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110524.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*78 $GPGLL,5709.8067,N,00207.2822,W,110524.000,A,A*45 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110524.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6A $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110525.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*79 $GPGLL,5709.8067,N,00207.2822,W,110525.000,A,A*44 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPGSV,3,1,12,23,65,147,32,20,59,095,27,04,46,290,20,13,37,191,24*78 $GPGSV,3,2,12,32,32,083,32,17,30,227,19,31,23,042,22,24,16,136,20*79 $GPGSV,3,3,12,10,14,262,,02,11,306,,25,08,,,12,07,321,15*40 $GPRMC,110525.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6B $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110526.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7A $GPGLL,5709.8067,N,00207.2822,W,110526.000,A,A*47 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110526.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*68 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110527.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7B $GPGLL,5709.8067,N,00207.2822,W,110527.000,A,A*46 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110527.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*69 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110528.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*74 $GPGLL,5709.8067,N,00207.2822,W,110528.000,A,A*49 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110528.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*66 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110529.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*75 $GPGLL,5709.8067,N,00207.2822,W,110529.000,A,A*48 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110529.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*67 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110530.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7D $GPGLL,5709.8067,N,00207.2822,W,110530.000,A,A*40 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPGSV,3,1,12,23,65,147,32,20,59,095,26,04,46,290,19,13,37,191,24*73 $GPGSV,3,2,12,32,32,083,32,17,30,227,18,31,23,042,21,24,16,136,19*71 $GPGSV,3,3,12,10,14,262,,02,11,306,,25,08,,,12,07,321,15*40 $GPRMC,110530.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6F $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110531.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7C $GPGLL,5709.8067,N,00207.2822,W,110531.000,A,A*41 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110531.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6E $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110532.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7F $GPGLL,5709.8067,N,00207.2822,W,110532.000,A,A*42 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110532.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6D $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110533.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7E $GPGLL,5709.8067,N,00207.2822,W,110533.000,A,A*43 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110533.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6C $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110534.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*74 $GPGLL,5709.8067,N,00207.2822,W,110534.000,A,A*44 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.3*34 $GPRMC,110534.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6B $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110535.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*75 $GPGLL,5709.8067,N,00207.2822,W,110535.000,A,A*45 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.3*34 $GPGSV,3,1,12,23,65,147,31,20,59,095,27,04,46,290,14,13,38,191,24*73 $GPGSV,3,2,12,32,32,083,32,17,30,227,18,31,23,042,21,24,16,137,08*70 $GPGSV,3,3,12,10,14,262,,02,11,306,,25,08,,,12,07,321,15*40 $GPRMC,110535.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6A $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110536.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*76 $GPGLL,5709.8067,N,00207.2822,W,110536.000,A,A*46 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.3*34 $GPRMC,110536.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*69 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110537.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*77 $GPGLL,5709.8067,N,00207.2822,W,110537.000,A,A*47 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.3*34 $GPRMC,110537.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*68 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110538.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*78 $GPGLL,5709.8067,N,00207.2822,W,110538.000,A,A*48 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.3*34 $GPRMC,110538.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*67 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110539.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*79 $GPGLL,5709.8067,N,00207.2822,W,110539.000,A,A*49 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.3*34 $GPRMC,110539.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*66 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110540.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*77 $GPGLL,5709.8067,N,00207.2822,W,110540.000,A,A*47 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.3*34 $GPGSV,3,1,12,23,65,147,31,20,59,095,27,04,46,290,14,13,38,191,24*73 $GPGSV,3,2,12,32,32,083,32,17,30,227,18,31,23,042,21,24,16,137,*78 $GPGSV,3,3,12,10,14,262,,02,11,306,,25,08,,,12,07,321,15*40 $GPRMC,110540.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*68 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110541.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*76 $GPGLL,5709.8067,N,00207.2822,W,110541.000,A,A*46 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.3*34 $GPRMC,110541.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*69 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110542.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*75 $GPGLL,5709.8067,N,00207.2822,W,110542.000,A,A*45 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.3*34 $GPRMC,110542.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6A $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110543.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*74 $GPGLL,5709.8067,N,00207.2822,W,110543.000,A,A*44 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.3*34 $GPRMC,110543.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6B $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110544.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7E $GPGLL,5709.8067,N,00207.2822,W,110544.000,A,A*43 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110544.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6C $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110545.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7F $GPGLL,5709.8067,N,00207.2822,W,110545.000,A,A*42 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPGSV,3,1,12,23,65,147,30,20,59,095,27,04,46,290,14,13,38,191,24*72 $GPGSV,3,2,12,32,32,083,32,17,30,227,18,31,23,042,14,24,16,137,15*7A $GPGSV,3,3,12,10,14,262,,02,11,306,,25,08,,,12,07,321,15*40 $GPRMC,110545.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6D $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110546.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7C $GPGLL,5709.8067,N,00207.2822,W,110546.000,A,A*41 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110546.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6E $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110547.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7D $GPGLL,5709.8067,N,00207.2822,W,110547.000,A,A*40 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110547.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6F $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110548.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*72 $GPGLL,5709.8067,N,00207.2822,W,110548.000,A,A*4F $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110548.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*60 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110549.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*73 $GPGLL,5709.8067,N,00207.2822,W,110549.000,A,A*4E $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110549.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*61 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110550.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7B $GPGLL,5709.8067,N,00207.2822,W,110550.000,A,A*46 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPGSV,3,1,12,23,65,147,30,20,58,095,27,04,46,290,14,13,38,191,24*73 $GPGSV,3,2,12,32,32,083,32,17,30,227,18,31,23,042,19,24,15,137,16*77 $GPGSV,3,3,12,10,15,262,,02,11,306,,25,08,,,12,07,321,14*40 $GPRMC,110550.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*69 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110551.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7A $GPGLL,5709.8067,N,00207.2822,W,110551.000,A,A*47 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110551.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*68 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110552.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*79 $GPGLL,5709.8067,N,00207.2822,W,110552.000,A,A*44 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110552.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6B $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110553.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*78 $GPGLL,5709.8067,N,00207.2822,W,110553.000,A,A*45 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110553.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6A $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110554.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7F $GPGLL,5709.8067,N,00207.2822,W,110554.000,A,A*42 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110554.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6D $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110555.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7E $GPGLL,5709.8067,N,00207.2822,W,110555.000,A,A*43 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPGSV,3,1,12,23,65,147,30,20,58,095,26,04,46,290,15,13,38,191,25*72 $GPGSV,3,2,12,32,32,083,32,17,30,227,18,31,23,042,19,24,15,137,16*77 $GPGSV,3,3,12,10,15,262,,02,11,306,,25,08,,,12,07,321,14*40 $GPRMC,110555.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6C $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110556.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7D $GPGLL,5709.8067,N,00207.2822,W,110556.000,A,A*40 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110556.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6F $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110557.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7C $GPGLL,5709.8067,N,00207.2822,W,110557.000,A,A*41 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110557.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6E $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110558.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*73 $GPGLL,5709.8067,N,00207.2822,W,110558.000,A,A*4E $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110558.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*61 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110559.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*72 $GPGLL,5709.8067,N,00207.2822,W,110559.000,A,A*4F $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110559.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*60 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110600.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7D $GPGLL,5709.8067,N,00207.2822,W,110600.000,A,A*40 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPGSV,3,1,12,23,65,147,30,20,58,095,27,04,46,290,14,13,38,191,25*72 $GPGSV,3,2,12,32,32,083,32,17,30,227,18,31,23,042,19,24,15,137,15*74 $GPGSV,3,3,12,10,15,262,,02,11,306,,25,08,,,12,07,321,13*47 $GPRMC,110600.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6F $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110601.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7C $GPGLL,5709.8067,N,00207.2822,W,110601.000,A,A*41 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110601.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6E $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110602.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7F $GPGLL,5709.8067,N,00207.2822,W,110602.000,A,A*42 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110602.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6D $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110603.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7E $GPGLL,5709.8067,N,00207.2822,W,110603.000,A,A*43 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110603.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6C $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110604.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*79 $GPGLL,5709.8067,N,00207.2822,W,110604.000,A,A*44 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110604.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6B $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110605.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*78 $GPGLL,5709.8067,N,00207.2822,W,110605.000,A,A*45 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPGSV,3,1,12,23,65,147,30,20,58,095,26,04,46,290,13,13,38,191,26*77 $GPGSV,3,2,12,32,32,083,31,17,30,227,16,31,23,042,19,24,15,137,14*78 $GPGSV,3,3,12,10,15,262,,02,11,306,,25,08,,,12,07,321,14*40 $GPRMC,110605.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6A $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110606.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*76 $GPGLL,5709.8067,N,00207.2822,W,110606.000,A,A*46 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110606.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*69 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110607.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*77 $GPGLL,5709.8067,N,00207.2822,W,110607.000,A,A*47 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110607.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*68 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110608.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*78 $GPGLL,5709.8067,N,00207.2822,W,110608.000,A,A*48 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110608.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*67 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110609.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*79 $GPGLL,5709.8067,N,00207.2822,W,110609.000,A,A*49 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110609.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*66 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110610.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*71 $GPGLL,5709.8067,N,00207.2822,W,110610.000,A,A*41 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPGSV,3,1,12,23,65,147,30,20,58,095,26,04,46,290,13,13,38,191,26*77 $GPGSV,3,2,12,32,32,083,31,17,30,227,16,31,23,042,19,24,15,137,*7D $GPGSV,3,3,12,10,15,262,,02,11,306,,25,08,,,12,07,321,14*40 $GPRMC,110610.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6E $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110611.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*70 $GPGLL,5709.8067,N,00207.2822,W,110611.000,A,A*40 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110611.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6F $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110612.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*73 $GPGLL,5709.8067,N,00207.2822,W,110612.000,A,A*43 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110612.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6C $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110613.000,5709.8067,N,00207.2822,W,1,06,2.3,59.3,M,48.2,M,,0000*71 $GPGLL,5709.8067,N,00207.2822,W,110613.000,A,A*42 $GPGSA,A,3,23,20,31,32,17,13,,,,,,,3.6,2.3,2.8*38 $GPRMC,110613.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6D $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110614.000,5709.8067,N,00207.2822,W,1,06,2.3,59.3,M,48.2,M,,0000*76 $GPGLL,5709.8067,N,00207.2822,W,110614.000,A,A*45 $GPGSA,A,3,23,20,31,32,17,13,,,,,,,3.6,2.3,2.8*38 $GPRMC,110614.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6A $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110615.000,5709.8067,N,00207.2822,W,1,06,2.3,59.3,M,48.2,M,,0000*77 $GPGLL,5709.8067,N,00207.2822,W,110615.000,A,A*44 $GPGSA,A,3,23,20,31,32,17,13,,,,,,,3.6,2.3,2.8*38 $GPGSV,3,1,12,23,65,147,29,20,58,095,26,04,46,290,,13,38,191,26*7D $GPGSV,3,2,12,32,32,083,30,17,30,227,16,31,23,042,18,24,15,137,*7D $GPGSV,3,3,12,10,15,262,,02,11,306,,25,08,,,12,07,321,14*40 $GPRMC,110615.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6B $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110616.000,5709.8067,N,00207.2822,W,1,06,2.3,59.3,M,48.2,M,,0000*74 $GPGLL,5709.8067,N,00207.2822,W,110616.000,A,A*47 $GPGSA,A,3,23,20,31,32,17,13,,,,,,,3.6,2.3,2.8*38 $GPRMC,110616.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*68 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110617.000,5709.8067,N,00207.2822,W,1,06,2.3,59.3,M,48.2,M,,0000*75 $GPGLL,5709.8067,N,00207.2822,W,110617.000,A,A*46 $GPGSA,A,3,23,20,31,32,17,13,,,,,,,3.6,2.3,2.8*38 $GPRMC,110617.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*69 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110618.000,5709.8067,N,00207.2822,W,1,06,2.3,59.3,M,48.2,M,,0000*7A $GPGLL,5709.8067,N,00207.2822,W,110618.000,A,A*49 $GPGSA,A,3,23,20,31,32,17,13,,,,,,,3.6,2.3,2.8*38 $GPRMC,110618.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*66 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110619.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*78 $GPGLL,5709.8067,N,00207.2822,W,110619.000,A,A*48 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110619.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*67 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110620.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*72 $GPGLL,5709.8067,N,00207.2822,W,110620.000,A,A*42 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPGSV,3,1,12,23,65,146,29,20,58,095,26,04,46,290,18,13,38,191,27*74 $GPGSV,3,2,12,32,31,083,31,17,30,227,16,31,23,042,19,24,15,137,*7E $GPGSV,3,3,12,10,15,262,,02,12,306,,25,08,,,12,07,321,13*44 $GPRMC,110620.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6D $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110621.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*73 $GPGLL,5709.8067,N,00207.2822,W,110621.000,A,A*43 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110621.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6C $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110622.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*70 $GPGLL,5709.8067,N,00207.2822,W,110622.000,A,A*40 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110622.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6F $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110623.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*71 $GPGLL,5709.8067,N,00207.2822,W,110623.000,A,A*41 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110623.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6E $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110624.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*76 $GPGLL,5709.8067,N,00207.2822,W,110624.000,A,A*46 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110624.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*69 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110625.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*77 $GPGLL,5709.8067,N,00207.2822,W,110625.000,A,A*47 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPGSV,3,1,12,23,65,146,30,20,58,095,27,04,46,290,19,13,38,191,28*73 $GPGSV,3,2,12,32,31,083,31,17,30,227,17,31,23,042,19,24,15,137,*7F $GPGSV,3,3,12,10,15,262,,02,12,306,,25,08,,,12,07,321,*46 $GPRMC,110625.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*68 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110626.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*74 $GPGLL,5709.8067,N,00207.2822,W,110626.000,A,A*44 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110626.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6B $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110627.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*75 $GPGLL,5709.8067,N,00207.2822,W,110627.000,A,A*45 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110627.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6A $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110628.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*7A $GPGLL,5709.8067,N,00207.2822,W,110628.000,A,A*4A $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.5,1.2,2.2*36 $GPRMC,110628.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*65 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110629.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*7B $GPGLL,5709.8067,N,00207.2822,W,110629.000,A,A*4B $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.5,1.2,2.2*36 $GPRMC,110629.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*64 $GPVTG,,T,,M,0.00,N,0.0,K,A*13 gpsd-3.9/test/daemon/nd-1005.log.chk0000664000175000017500000014021112135526374015154 0ustar esresr$GPGGA,110518.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*77 {"class":"TPV","tag":"GGA","mode":3,"lat":57.163445000,"lon":-2.121370000,"alt":59.300} $GPGLL,5709.8067,N,00207.2822,W,110518.000,A,A*4A {"class":"TPV","tag":"GLL","mode":3,"lat":57.163445000,"lon":-2.121370000,"alt":59.300} $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F {"class":"TPV","tag":"GSA","mode":3,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epv":41.400} $GPRMC,110518.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*65 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:18.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epv":41.400,"track":0.0000,"speed":0.000} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110519.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*76 $GPGLL,5709.8067,N,00207.2822,W,110519.000,A,A*4B $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110519.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*64 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:19.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110520.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7C $GPGLL,5709.8067,N,00207.2822,W,110520.000,A,A*41 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPGSV,3,1,12,23,65,147,33,20,59,095,27,04,46,290,20,13,37,191,24*79 $GPGSV,3,2,12,32,32,083,33,17,30,227,20,31,23,042,22,24,16,136,21*73 $GPGSV,3,3,12,10,14,262,,02,11,306,,25,08,,,12,07,321,15*40 {"class":"SKY","tag":"GSV","xdop":0.68,"ydop":0.77,"vdop":1.80,"tdop":1.18,"hdop":1.00,"gdop":2.37,"pdop":2.10,"satellites":[{"PRN":23,"el":65,"az":147,"ss":33,"used":true},{"PRN":20,"el":59,"az":95,"ss":27,"used":true},{"PRN":4,"el":46,"az":290,"ss":20,"used":true},{"PRN":13,"el":37,"az":191,"ss":24,"used":true},{"PRN":32,"el":32,"az":83,"ss":33,"used":true},{"PRN":17,"el":30,"az":227,"ss":20,"used":true},{"PRN":31,"el":23,"az":42,"ss":22,"used":true},{"PRN":24,"el":16,"az":136,"ss":21,"used":true},{"PRN":10,"el":14,"az":262,"ss":0,"used":false},{"PRN":2,"el":11,"az":306,"ss":0,"used":false},{"PRN":25,"el":8,"az":0,"ss":0,"used":false},{"PRN":12,"el":7,"az":321,"ss":15,"used":false}]} $GPRMC,110520.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6E {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:20.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110521.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7D $GPGLL,5709.8067,N,00207.2822,W,110521.000,A,A*40 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110521.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:21.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110522.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7E $GPGLL,5709.8067,N,00207.2822,W,110522.000,A,A*43 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110522.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6C {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:22.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110523.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7F $GPGLL,5709.8067,N,00207.2822,W,110523.000,A,A*42 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110523.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:23.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110524.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*78 $GPGLL,5709.8067,N,00207.2822,W,110524.000,A,A*45 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110524.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:24.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110525.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*79 $GPGLL,5709.8067,N,00207.2822,W,110525.000,A,A*44 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPGSV,3,1,12,23,65,147,32,20,59,095,27,04,46,290,20,13,37,191,24*78 $GPGSV,3,2,12,32,32,083,32,17,30,227,19,31,23,042,22,24,16,136,20*79 $GPGSV,3,3,12,10,14,262,,02,11,306,,25,08,,,12,07,321,15*40 {"class":"SKY","tag":"GSV","xdop":0.68,"ydop":0.77,"vdop":1.80,"tdop":1.18,"hdop":1.00,"gdop":2.37,"pdop":2.10,"satellites":[{"PRN":23,"el":65,"az":147,"ss":32,"used":true},{"PRN":20,"el":59,"az":95,"ss":27,"used":true},{"PRN":4,"el":46,"az":290,"ss":20,"used":true},{"PRN":13,"el":37,"az":191,"ss":24,"used":true},{"PRN":32,"el":32,"az":83,"ss":32,"used":true},{"PRN":17,"el":30,"az":227,"ss":19,"used":true},{"PRN":31,"el":23,"az":42,"ss":22,"used":true},{"PRN":24,"el":16,"az":136,"ss":20,"used":true},{"PRN":10,"el":14,"az":262,"ss":0,"used":false},{"PRN":2,"el":11,"az":306,"ss":0,"used":false},{"PRN":25,"el":8,"az":0,"ss":0,"used":false},{"PRN":12,"el":7,"az":321,"ss":15,"used":false}]} $GPRMC,110525.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6B {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:25.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110526.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7A $GPGLL,5709.8067,N,00207.2822,W,110526.000,A,A*47 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110526.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*68 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:26.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110527.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7B $GPGLL,5709.8067,N,00207.2822,W,110527.000,A,A*46 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110527.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*69 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:27.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110528.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*74 $GPGLL,5709.8067,N,00207.2822,W,110528.000,A,A*49 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110528.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*66 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:28.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110529.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*75 $GPGLL,5709.8067,N,00207.2822,W,110529.000,A,A*48 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110529.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*67 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:29.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110530.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7D $GPGLL,5709.8067,N,00207.2822,W,110530.000,A,A*40 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPGSV,3,1,12,23,65,147,32,20,59,095,26,04,46,290,19,13,37,191,24*73 $GPGSV,3,2,12,32,32,083,32,17,30,227,18,31,23,042,21,24,16,136,19*71 $GPGSV,3,3,12,10,14,262,,02,11,306,,25,08,,,12,07,321,15*40 {"class":"SKY","tag":"GSV","xdop":0.68,"ydop":0.77,"vdop":1.80,"tdop":1.18,"hdop":1.00,"gdop":2.37,"pdop":2.10,"satellites":[{"PRN":23,"el":65,"az":147,"ss":32,"used":true},{"PRN":20,"el":59,"az":95,"ss":26,"used":true},{"PRN":4,"el":46,"az":290,"ss":19,"used":true},{"PRN":13,"el":37,"az":191,"ss":24,"used":true},{"PRN":32,"el":32,"az":83,"ss":32,"used":true},{"PRN":17,"el":30,"az":227,"ss":18,"used":true},{"PRN":31,"el":23,"az":42,"ss":21,"used":true},{"PRN":24,"el":16,"az":136,"ss":19,"used":true},{"PRN":10,"el":14,"az":262,"ss":0,"used":false},{"PRN":2,"el":11,"az":306,"ss":0,"used":false},{"PRN":25,"el":8,"az":0,"ss":0,"used":false},{"PRN":12,"el":7,"az":321,"ss":15,"used":false}]} $GPRMC,110530.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:30.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110531.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7C $GPGLL,5709.8067,N,00207.2822,W,110531.000,A,A*41 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110531.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6E {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:31.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110532.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7F $GPGLL,5709.8067,N,00207.2822,W,110532.000,A,A*42 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110532.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:32.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110533.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7E $GPGLL,5709.8067,N,00207.2822,W,110533.000,A,A*43 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110533.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6C {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:33.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110534.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*74 $GPGLL,5709.8067,N,00207.2822,W,110534.000,A,A*44 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.3*34 $GPRMC,110534.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6B {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:34.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110535.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*75 $GPGLL,5709.8067,N,00207.2822,W,110535.000,A,A*45 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.3*34 $GPGSV,3,1,12,23,65,147,31,20,59,095,27,04,46,290,14,13,38,191,24*73 $GPGSV,3,2,12,32,32,083,32,17,30,227,18,31,23,042,21,24,16,137,08*70 $GPGSV,3,3,12,10,14,262,,02,11,306,,25,08,,,12,07,321,15*40 {"class":"SKY","tag":"GSV","xdop":0.68,"ydop":0.77,"vdop":2.30,"tdop":1.18,"hdop":1.20,"gdop":2.37,"pdop":2.60,"satellites":[{"PRN":23,"el":65,"az":147,"ss":31,"used":true},{"PRN":20,"el":59,"az":95,"ss":27,"used":true},{"PRN":4,"el":46,"az":290,"ss":14,"used":true},{"PRN":13,"el":38,"az":191,"ss":24,"used":true},{"PRN":32,"el":32,"az":83,"ss":32,"used":true},{"PRN":17,"el":30,"az":227,"ss":18,"used":true},{"PRN":31,"el":23,"az":42,"ss":21,"used":true},{"PRN":24,"el":16,"az":137,"ss":8,"used":false},{"PRN":10,"el":14,"az":262,"ss":0,"used":false},{"PRN":2,"el":11,"az":306,"ss":0,"used":false},{"PRN":25,"el":8,"az":0,"ss":0,"used":false},{"PRN":12,"el":7,"az":321,"ss":15,"used":false}]} $GPRMC,110535.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:35.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":52.900,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110536.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*76 $GPGLL,5709.8067,N,00207.2822,W,110536.000,A,A*46 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.3*34 $GPRMC,110536.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*69 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:36.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":52.900,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110537.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*77 $GPGLL,5709.8067,N,00207.2822,W,110537.000,A,A*47 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.3*34 $GPRMC,110537.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*68 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:37.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":52.900,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110538.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*78 $GPGLL,5709.8067,N,00207.2822,W,110538.000,A,A*48 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.3*34 $GPRMC,110538.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*67 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:38.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":52.900,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110539.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*79 $GPGLL,5709.8067,N,00207.2822,W,110539.000,A,A*49 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.3*34 $GPRMC,110539.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*66 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:39.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":52.900,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110540.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*77 $GPGLL,5709.8067,N,00207.2822,W,110540.000,A,A*47 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.3*34 $GPGSV,3,1,12,23,65,147,31,20,59,095,27,04,46,290,14,13,38,191,24*73 $GPGSV,3,2,12,32,32,083,32,17,30,227,18,31,23,042,21,24,16,137,*78 $GPGSV,3,3,12,10,14,262,,02,11,306,,25,08,,,12,07,321,15*40 {"class":"SKY","tag":"GSV","xdop":0.68,"ydop":0.77,"vdop":2.30,"tdop":1.18,"hdop":1.20,"gdop":2.37,"pdop":2.60,"satellites":[{"PRN":23,"el":65,"az":147,"ss":31,"used":true},{"PRN":20,"el":59,"az":95,"ss":27,"used":true},{"PRN":4,"el":46,"az":290,"ss":14,"used":true},{"PRN":13,"el":38,"az":191,"ss":24,"used":true},{"PRN":32,"el":32,"az":83,"ss":32,"used":true},{"PRN":17,"el":30,"az":227,"ss":18,"used":true},{"PRN":31,"el":23,"az":42,"ss":21,"used":true},{"PRN":24,"el":16,"az":137,"ss":0,"used":false},{"PRN":10,"el":14,"az":262,"ss":0,"used":false},{"PRN":2,"el":11,"az":306,"ss":0,"used":false},{"PRN":25,"el":8,"az":0,"ss":0,"used":false},{"PRN":12,"el":7,"az":321,"ss":15,"used":false}]} $GPRMC,110540.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*68 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:40.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":52.900,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110541.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*76 $GPGLL,5709.8067,N,00207.2822,W,110541.000,A,A*46 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.3*34 $GPRMC,110541.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*69 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:41.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":52.900,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110542.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*75 $GPGLL,5709.8067,N,00207.2822,W,110542.000,A,A*45 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.3*34 $GPRMC,110542.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:42.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":52.900,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110543.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*74 $GPGLL,5709.8067,N,00207.2822,W,110543.000,A,A*44 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.3*34 $GPRMC,110543.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6B {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:43.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":52.900,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110544.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7E $GPGLL,5709.8067,N,00207.2822,W,110544.000,A,A*43 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110544.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6C {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:44.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":52.900,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110545.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7F $GPGLL,5709.8067,N,00207.2822,W,110545.000,A,A*42 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPGSV,3,1,12,23,65,147,30,20,59,095,27,04,46,290,14,13,38,191,24*72 $GPGSV,3,2,12,32,32,083,32,17,30,227,18,31,23,042,14,24,16,137,15*7A $GPGSV,3,3,12,10,14,262,,02,11,306,,25,08,,,12,07,321,15*40 {"class":"SKY","tag":"GSV","xdop":0.68,"ydop":0.77,"vdop":1.80,"tdop":1.18,"hdop":1.00,"gdop":2.37,"pdop":2.10,"satellites":[{"PRN":23,"el":65,"az":147,"ss":30,"used":true},{"PRN":20,"el":59,"az":95,"ss":27,"used":true},{"PRN":4,"el":46,"az":290,"ss":14,"used":true},{"PRN":13,"el":38,"az":191,"ss":24,"used":true},{"PRN":32,"el":32,"az":83,"ss":32,"used":true},{"PRN":17,"el":30,"az":227,"ss":18,"used":true},{"PRN":31,"el":23,"az":42,"ss":14,"used":true},{"PRN":24,"el":16,"az":137,"ss":15,"used":true},{"PRN":10,"el":14,"az":262,"ss":0,"used":false},{"PRN":2,"el":11,"az":306,"ss":0,"used":false},{"PRN":25,"el":8,"az":0,"ss":0,"used":false},{"PRN":12,"el":7,"az":321,"ss":15,"used":false}]} $GPRMC,110545.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:45.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110546.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7C $GPGLL,5709.8067,N,00207.2822,W,110546.000,A,A*41 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110546.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6E {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:46.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110547.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7D $GPGLL,5709.8067,N,00207.2822,W,110547.000,A,A*40 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110547.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:47.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110548.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*72 $GPGLL,5709.8067,N,00207.2822,W,110548.000,A,A*4F $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110548.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*60 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:48.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110549.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*73 $GPGLL,5709.8067,N,00207.2822,W,110549.000,A,A*4E $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110549.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*61 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:49.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110550.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7B $GPGLL,5709.8067,N,00207.2822,W,110550.000,A,A*46 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPGSV,3,1,12,23,65,147,30,20,58,095,27,04,46,290,14,13,38,191,24*73 $GPGSV,3,2,12,32,32,083,32,17,30,227,18,31,23,042,19,24,15,137,16*77 $GPGSV,3,3,12,10,15,262,,02,11,306,,25,08,,,12,07,321,14*40 {"class":"SKY","tag":"GSV","xdop":0.68,"ydop":0.77,"vdop":1.80,"tdop":1.18,"hdop":1.00,"gdop":2.37,"pdop":2.10,"satellites":[{"PRN":23,"el":65,"az":147,"ss":30,"used":true},{"PRN":20,"el":58,"az":95,"ss":27,"used":true},{"PRN":4,"el":46,"az":290,"ss":14,"used":true},{"PRN":13,"el":38,"az":191,"ss":24,"used":true},{"PRN":32,"el":32,"az":83,"ss":32,"used":true},{"PRN":17,"el":30,"az":227,"ss":18,"used":true},{"PRN":31,"el":23,"az":42,"ss":19,"used":true},{"PRN":24,"el":15,"az":137,"ss":16,"used":true},{"PRN":10,"el":15,"az":262,"ss":0,"used":false},{"PRN":2,"el":11,"az":306,"ss":0,"used":false},{"PRN":25,"el":8,"az":0,"ss":0,"used":false},{"PRN":12,"el":7,"az":321,"ss":14,"used":false}]} $GPRMC,110550.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*69 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:50.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110551.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7A $GPGLL,5709.8067,N,00207.2822,W,110551.000,A,A*47 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110551.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*68 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:51.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110552.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*79 $GPGLL,5709.8067,N,00207.2822,W,110552.000,A,A*44 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110552.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6B {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:52.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110553.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*78 $GPGLL,5709.8067,N,00207.2822,W,110553.000,A,A*45 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110553.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:53.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110554.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7F $GPGLL,5709.8067,N,00207.2822,W,110554.000,A,A*42 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110554.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:54.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110555.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7E $GPGLL,5709.8067,N,00207.2822,W,110555.000,A,A*43 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPGSV,3,1,12,23,65,147,30,20,58,095,26,04,46,290,15,13,38,191,25*72 $GPGSV,3,2,12,32,32,083,32,17,30,227,18,31,23,042,19,24,15,137,16*77 $GPGSV,3,3,12,10,15,262,,02,11,306,,25,08,,,12,07,321,14*40 {"class":"SKY","tag":"GSV","xdop":0.68,"ydop":0.77,"vdop":1.80,"tdop":1.18,"hdop":1.00,"gdop":2.37,"pdop":2.10,"satellites":[{"PRN":23,"el":65,"az":147,"ss":30,"used":true},{"PRN":20,"el":58,"az":95,"ss":26,"used":true},{"PRN":4,"el":46,"az":290,"ss":15,"used":true},{"PRN":13,"el":38,"az":191,"ss":25,"used":true},{"PRN":32,"el":32,"az":83,"ss":32,"used":true},{"PRN":17,"el":30,"az":227,"ss":18,"used":true},{"PRN":31,"el":23,"az":42,"ss":19,"used":true},{"PRN":24,"el":15,"az":137,"ss":16,"used":true},{"PRN":10,"el":15,"az":262,"ss":0,"used":false},{"PRN":2,"el":11,"az":306,"ss":0,"used":false},{"PRN":25,"el":8,"az":0,"ss":0,"used":false},{"PRN":12,"el":7,"az":321,"ss":14,"used":false}]} $GPRMC,110555.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6C {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:55.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110556.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7D $GPGLL,5709.8067,N,00207.2822,W,110556.000,A,A*40 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110556.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:56.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110557.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7C $GPGLL,5709.8067,N,00207.2822,W,110557.000,A,A*41 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110557.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6E {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:57.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110558.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*73 $GPGLL,5709.8067,N,00207.2822,W,110558.000,A,A*4E $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110558.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*61 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:58.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110559.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*72 $GPGLL,5709.8067,N,00207.2822,W,110559.000,A,A*4F $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110559.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*60 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:05:59.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110600.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7D $GPGLL,5709.8067,N,00207.2822,W,110600.000,A,A*40 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPGSV,3,1,12,23,65,147,30,20,58,095,27,04,46,290,14,13,38,191,25*72 $GPGSV,3,2,12,32,32,083,32,17,30,227,18,31,23,042,19,24,15,137,15*74 $GPGSV,3,3,12,10,15,262,,02,11,306,,25,08,,,12,07,321,13*47 {"class":"SKY","tag":"GSV","xdop":0.68,"ydop":0.77,"vdop":1.80,"tdop":1.18,"hdop":1.00,"gdop":2.37,"pdop":2.10,"satellites":[{"PRN":23,"el":65,"az":147,"ss":30,"used":true},{"PRN":20,"el":58,"az":95,"ss":27,"used":true},{"PRN":4,"el":46,"az":290,"ss":14,"used":true},{"PRN":13,"el":38,"az":191,"ss":25,"used":true},{"PRN":32,"el":32,"az":83,"ss":32,"used":true},{"PRN":17,"el":30,"az":227,"ss":18,"used":true},{"PRN":31,"el":23,"az":42,"ss":19,"used":true},{"PRN":24,"el":15,"az":137,"ss":15,"used":true},{"PRN":10,"el":15,"az":262,"ss":0,"used":false},{"PRN":2,"el":11,"az":306,"ss":0,"used":false},{"PRN":25,"el":8,"az":0,"ss":0,"used":false},{"PRN":12,"el":7,"az":321,"ss":13,"used":false}]} $GPRMC,110600.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:00.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110601.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7C $GPGLL,5709.8067,N,00207.2822,W,110601.000,A,A*41 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110601.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6E {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:01.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110602.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7F $GPGLL,5709.8067,N,00207.2822,W,110602.000,A,A*42 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110602.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:02.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110603.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*7E $GPGLL,5709.8067,N,00207.2822,W,110603.000,A,A*43 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110603.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6C {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:03.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110604.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*79 $GPGLL,5709.8067,N,00207.2822,W,110604.000,A,A*44 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPRMC,110604.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6B {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:04.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110605.000,5709.8067,N,00207.2822,W,1,08,1.0,59.3,M,48.2,M,,0000*78 $GPGLL,5709.8067,N,00207.2822,W,110605.000,A,A*45 $GPGSA,A,3,23,04,20,31,32,17,13,24,,,,,2.1,1.0,1.8*3F $GPGSV,3,1,12,23,65,147,30,20,58,095,26,04,46,290,13,13,38,191,26*77 $GPGSV,3,2,12,32,32,083,31,17,30,227,16,31,23,042,19,24,15,137,14*78 $GPGSV,3,3,12,10,15,262,,02,11,306,,25,08,,,12,07,321,14*40 {"class":"SKY","tag":"GSV","xdop":0.68,"ydop":0.77,"vdop":1.80,"tdop":1.18,"hdop":1.00,"gdop":2.37,"pdop":2.10,"satellites":[{"PRN":23,"el":65,"az":147,"ss":30,"used":true},{"PRN":20,"el":58,"az":95,"ss":26,"used":true},{"PRN":4,"el":46,"az":290,"ss":13,"used":true},{"PRN":13,"el":38,"az":191,"ss":26,"used":true},{"PRN":32,"el":32,"az":83,"ss":31,"used":true},{"PRN":17,"el":30,"az":227,"ss":16,"used":true},{"PRN":31,"el":23,"az":42,"ss":19,"used":true},{"PRN":24,"el":15,"az":137,"ss":14,"used":true},{"PRN":10,"el":15,"az":262,"ss":0,"used":false},{"PRN":2,"el":11,"az":306,"ss":0,"used":false},{"PRN":25,"el":8,"az":0,"ss":0,"used":false},{"PRN":12,"el":7,"az":321,"ss":14,"used":false}]} $GPRMC,110605.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:05.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110606.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*76 $GPGLL,5709.8067,N,00207.2822,W,110606.000,A,A*46 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110606.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*69 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:06.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":41.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110607.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*77 $GPGLL,5709.8067,N,00207.2822,W,110607.000,A,A*47 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110607.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*68 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:07.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":50.600,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110608.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*78 $GPGLL,5709.8067,N,00207.2822,W,110608.000,A,A*48 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110608.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*67 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:08.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":50.600,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110609.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*79 $GPGLL,5709.8067,N,00207.2822,W,110609.000,A,A*49 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110609.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*66 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:09.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":50.600,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110610.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*71 $GPGLL,5709.8067,N,00207.2822,W,110610.000,A,A*41 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPGSV,3,1,12,23,65,147,30,20,58,095,26,04,46,290,13,13,38,191,26*77 $GPGSV,3,2,12,32,32,083,31,17,30,227,16,31,23,042,19,24,15,137,*7D $GPGSV,3,3,12,10,15,262,,02,11,306,,25,08,,,12,07,321,14*40 {"class":"SKY","tag":"GSV","xdop":0.68,"ydop":0.77,"vdop":2.20,"tdop":1.18,"hdop":1.20,"gdop":2.37,"pdop":2.60,"satellites":[{"PRN":23,"el":65,"az":147,"ss":30,"used":true},{"PRN":20,"el":58,"az":95,"ss":26,"used":true},{"PRN":4,"el":46,"az":290,"ss":13,"used":true},{"PRN":13,"el":38,"az":191,"ss":26,"used":true},{"PRN":32,"el":32,"az":83,"ss":31,"used":true},{"PRN":17,"el":30,"az":227,"ss":16,"used":true},{"PRN":31,"el":23,"az":42,"ss":19,"used":true},{"PRN":24,"el":15,"az":137,"ss":0,"used":false},{"PRN":10,"el":15,"az":262,"ss":0,"used":false},{"PRN":2,"el":11,"az":306,"ss":0,"used":false},{"PRN":25,"el":8,"az":0,"ss":0,"used":false},{"PRN":12,"el":7,"az":321,"ss":14,"used":false}]} $GPRMC,110610.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6E {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:10.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":50.600,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110611.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*70 $GPGLL,5709.8067,N,00207.2822,W,110611.000,A,A*40 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110611.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:11.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":50.600,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110612.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*73 $GPGLL,5709.8067,N,00207.2822,W,110612.000,A,A*43 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110612.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6C {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:12.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":50.600,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110613.000,5709.8067,N,00207.2822,W,1,06,2.3,59.3,M,48.2,M,,0000*71 $GPGLL,5709.8067,N,00207.2822,W,110613.000,A,A*42 $GPGSA,A,3,23,20,31,32,17,13,,,,,,,3.6,2.3,2.8*38 $GPRMC,110613.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:13.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":50.600,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110614.000,5709.8067,N,00207.2822,W,1,06,2.3,59.3,M,48.2,M,,0000*76 $GPGLL,5709.8067,N,00207.2822,W,110614.000,A,A*45 $GPGSA,A,3,23,20,31,32,17,13,,,,,,,3.6,2.3,2.8*38 $GPRMC,110614.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:14.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":64.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110615.000,5709.8067,N,00207.2822,W,1,06,2.3,59.3,M,48.2,M,,0000*77 $GPGLL,5709.8067,N,00207.2822,W,110615.000,A,A*44 $GPGSA,A,3,23,20,31,32,17,13,,,,,,,3.6,2.3,2.8*38 $GPGSV,3,1,12,23,65,147,29,20,58,095,26,04,46,290,,13,38,191,26*7D $GPGSV,3,2,12,32,32,083,30,17,30,227,16,31,23,042,18,24,15,137,*7D $GPGSV,3,3,12,10,15,262,,02,11,306,,25,08,,,12,07,321,14*40 {"class":"SKY","tag":"GSV","xdop":0.68,"ydop":0.77,"vdop":2.80,"tdop":1.18,"hdop":2.30,"gdop":2.37,"pdop":3.60,"satellites":[{"PRN":23,"el":65,"az":147,"ss":29,"used":true},{"PRN":20,"el":58,"az":95,"ss":26,"used":true},{"PRN":4,"el":46,"az":290,"ss":0,"used":false},{"PRN":13,"el":38,"az":191,"ss":26,"used":true},{"PRN":32,"el":32,"az":83,"ss":30,"used":true},{"PRN":17,"el":30,"az":227,"ss":16,"used":true},{"PRN":31,"el":23,"az":42,"ss":18,"used":true},{"PRN":24,"el":15,"az":137,"ss":0,"used":false},{"PRN":10,"el":15,"az":262,"ss":0,"used":false},{"PRN":2,"el":11,"az":306,"ss":0,"used":false},{"PRN":25,"el":8,"az":0,"ss":0,"used":false},{"PRN":12,"el":7,"az":321,"ss":14,"used":false}]} $GPRMC,110615.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6B {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:15.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":64.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110616.000,5709.8067,N,00207.2822,W,1,06,2.3,59.3,M,48.2,M,,0000*74 $GPGLL,5709.8067,N,00207.2822,W,110616.000,A,A*47 $GPGSA,A,3,23,20,31,32,17,13,,,,,,,3.6,2.3,2.8*38 $GPRMC,110616.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*68 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:16.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":64.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110617.000,5709.8067,N,00207.2822,W,1,06,2.3,59.3,M,48.2,M,,0000*75 $GPGLL,5709.8067,N,00207.2822,W,110617.000,A,A*46 $GPGSA,A,3,23,20,31,32,17,13,,,,,,,3.6,2.3,2.8*38 $GPRMC,110617.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*69 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:17.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":64.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110618.000,5709.8067,N,00207.2822,W,1,06,2.3,59.3,M,48.2,M,,0000*7A $GPGLL,5709.8067,N,00207.2822,W,110618.000,A,A*49 $GPGSA,A,3,23,20,31,32,17,13,,,,,,,3.6,2.3,2.8*38 $GPRMC,110618.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*66 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:18.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":64.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110619.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*78 $GPGLL,5709.8067,N,00207.2822,W,110619.000,A,A*48 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110619.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*67 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:19.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":64.400,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110620.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*72 $GPGLL,5709.8067,N,00207.2822,W,110620.000,A,A*42 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPGSV,3,1,12,23,65,146,29,20,58,095,26,04,46,290,18,13,38,191,27*74 $GPGSV,3,2,12,32,31,083,31,17,30,227,16,31,23,042,19,24,15,137,*7E $GPGSV,3,3,12,10,15,262,,02,12,306,,25,08,,,12,07,321,13*44 {"class":"SKY","tag":"GSV","xdop":0.68,"ydop":0.77,"vdop":2.20,"tdop":1.18,"hdop":1.20,"gdop":2.37,"pdop":2.60,"satellites":[{"PRN":23,"el":65,"az":146,"ss":29,"used":true},{"PRN":20,"el":58,"az":95,"ss":26,"used":true},{"PRN":4,"el":46,"az":290,"ss":18,"used":true},{"PRN":13,"el":38,"az":191,"ss":27,"used":true},{"PRN":32,"el":31,"az":83,"ss":31,"used":true},{"PRN":17,"el":30,"az":227,"ss":16,"used":true},{"PRN":31,"el":23,"az":42,"ss":19,"used":true},{"PRN":24,"el":15,"az":137,"ss":0,"used":false},{"PRN":10,"el":15,"az":262,"ss":0,"used":false},{"PRN":2,"el":12,"az":306,"ss":0,"used":false},{"PRN":25,"el":8,"az":0,"ss":0,"used":false},{"PRN":12,"el":7,"az":321,"ss":13,"used":false}]} $GPRMC,110620.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:20.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":50.600,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110621.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*73 $GPGLL,5709.8067,N,00207.2822,W,110621.000,A,A*43 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110621.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6C {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:21.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":50.600,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110622.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*70 $GPGLL,5709.8067,N,00207.2822,W,110622.000,A,A*40 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110622.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:22.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":50.600,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110623.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*71 $GPGLL,5709.8067,N,00207.2822,W,110623.000,A,A*41 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110623.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6E {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:23.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":50.600,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110624.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*76 $GPGLL,5709.8067,N,00207.2822,W,110624.000,A,A*46 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110624.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*69 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:24.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":50.600,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110625.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*77 $GPGLL,5709.8067,N,00207.2822,W,110625.000,A,A*47 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPGSV,3,1,12,23,65,146,30,20,58,095,27,04,46,290,19,13,38,191,28*73 $GPGSV,3,2,12,32,31,083,31,17,30,227,17,31,23,042,19,24,15,137,*7F $GPGSV,3,3,12,10,15,262,,02,12,306,,25,08,,,12,07,321,*46 {"class":"SKY","tag":"GSV","xdop":0.68,"ydop":0.77,"vdop":2.20,"tdop":1.18,"hdop":1.20,"gdop":2.37,"pdop":2.60,"satellites":[{"PRN":23,"el":65,"az":146,"ss":30,"used":true},{"PRN":20,"el":58,"az":95,"ss":27,"used":true},{"PRN":4,"el":46,"az":290,"ss":19,"used":true},{"PRN":13,"el":38,"az":191,"ss":28,"used":true},{"PRN":32,"el":31,"az":83,"ss":31,"used":true},{"PRN":17,"el":30,"az":227,"ss":17,"used":true},{"PRN":31,"el":23,"az":42,"ss":19,"used":true},{"PRN":24,"el":15,"az":137,"ss":0,"used":false},{"PRN":10,"el":15,"az":262,"ss":0,"used":false},{"PRN":2,"el":12,"az":306,"ss":0,"used":false},{"PRN":25,"el":8,"az":0,"ss":0,"used":false},{"PRN":12,"el":7,"az":321,"ss":0,"used":false}]} $GPRMC,110625.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*68 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:25.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":50.600,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110626.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*74 $GPGLL,5709.8067,N,00207.2822,W,110626.000,A,A*44 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110626.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6B {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:26.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":50.600,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110627.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*75 $GPGLL,5709.8067,N,00207.2822,W,110627.000,A,A*45 $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.6,1.2,2.2*35 $GPRMC,110627.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*6A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:27.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":50.600,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110628.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*7A $GPGLL,5709.8067,N,00207.2822,W,110628.000,A,A*4A $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.5,1.2,2.2*36 $GPRMC,110628.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*65 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:28.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":50.600,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 $GPGGA,110629.000,5709.8067,N,00207.2822,W,1,07,1.2,59.3,M,48.2,M,,0000*7B $GPGLL,5709.8067,N,00207.2822,W,110629.000,A,A*4B $GPGSA,A,3,23,04,20,31,32,17,13,,,,,,2.5,1.2,2.2*36 $GPRMC,110629.000,A,5709.8067,N,00207.2822,W,0.00,,140311,,,A*64 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-03-14T11:06:29.000Z","ept":0.005,"lat":57.163445000,"lon":-2.121370000,"alt":59.300,"epx":10.256,"epy":11.488,"epv":50.600,"track":0.0000,"speed":0.000,"climb":0.000,"eps":22.98} $GPVTG,,T,,M,0.00,N,0.0,K,A*13 gpsd-3.9/test/daemon/nl402u.log0000664000175000017500000003644011762140437014455 0ustar esresr# Name: NL-402U USB EmpfÀnger # Chipset: u-blox5 GPS & GALILEO SuperSense® # Submitter: Klaus Plöger k.ploeger@gastradata.de # Date: 2009-07-24 # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPTXT,01,01,02,u-blox ag - www.u-blox.com*50 $GPTXT,01,01,02,HW UBX-G5xxx 00040005 *1B $GPTXT,01,01,02,EXT CORE 5.00 (28483) Jun 6 2008 14:42:32*5F $GPTXT,01,01,02,ROM BASE 4.00*12 $GPTXT,01,01,02,MOD LEA-5H-0*2E $GPTXT,01,01,02,ANTSUPERV=AC SD PDoS SR*20 $GPTXT,01,01,02,ANTSTATUS=OK*3B $GPRMC,104706.000,A,5405.6081,N,01049.4791,E,0.24,18.02,240709,,,A*53 $GPVTG,18.02,T,,M,0.24,N,0.4,K,A*34 $GPGGA,104706.000,5405.6081,N,01049.4791,E,1,08,1.1,40.8,M,43.6,M,,0000*61 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.7,1.1,1.3*3C $GPGSV,3,1,12,08,30,075,25,09,20,262,32,10,16,194,27,15,74,263,46*77 $GPGSV,3,2,12,17,14,127,19,18,22,315,27,19,05,014,27,21,00,284,*7F $GPGSV,3,3,12,22,00,337,19,26,03,304,,27,41,264,26,28,58,081,30*7C $GPGLL,5405.6081,N,01049.4791,E,104706.000,A,A*51 $GPRMC,104707.000,A,5405.6083,N,01049.4822,E,0.50,19.27,240709,,,A*52 $GPVTG,19.27,T,,M,0.50,N,0.9,K,A*3C $GPGGA,104707.000,5405.6083,N,01049.4822,E,1,08,1.0,40.6,M,43.6,M,,0000*6A $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,1.0,1.3*3C $GPGSV,3,1,12,08,30,075,22,09,20,262,31,10,16,194,27,15,74,263,46*73 $GPGSV,3,2,12,17,14,127,17,18,22,315,27,19,05,014,26,21,00,284,*70 $GPGSV,3,3,12,22,00,337,17,26,03,304,,27,41,264,27,28,58,081,30*73 $GPGLL,5405.6083,N,01049.4822,E,104707.000,A,A*55 $GPRMC,104708.000,A,5405.6082,N,01049.4856,E,0.32,19.19,240709,,,A*56 $GPVTG,19.19,T,,M,0.32,N,0.6,K,A*3A $GPGGA,104708.000,5405.6082,N,01049.4856,E,1,08,0.9,40.0,M,43.6,M,,0000*69 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,23,09,20,262,32,10,16,194,26,15,74,263,45*73 $GPGSV,3,2,12,17,14,127,15,18,22,315,26,19,05,014,26,21,00,284,*73 $GPGSV,3,3,12,22,00,337,15,26,03,304,,27,41,264,28,28,58,081,30*7E $GPGLL,5405.6082,N,01049.4856,E,104708.000,A,A*58 $GPRMC,104709.000,A,5405.6083,N,01049.4868,E,0.37,21.29,240709,,,A*56 $GPVTG,21.29,T,,M,0.37,N,0.7,K,A*36 $GPGGA,104709.000,5405.6083,N,01049.4868,E,1,08,0.9,40.6,M,43.6,M,,0000*62 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,24,09,20,262,31,10,16,194,25,15,74,263,44*75 $GPGSV,3,2,12,17,14,127,14,18,22,315,25,19,05,014,26,21,00,284,*71 $GPGSV,3,3,12,22,00,337,16,26,03,304,,27,41,264,26,28,58,081,29*7B $GPGLL,5405.6083,N,01049.4868,E,104709.000,A,A*55 $GPRMC,104710.000,A,5405.6081,N,01049.4876,E,0.94,27.15,240709,,,A*53 $GPVTG,27.15,T,,M,0.94,N,1.8,K,A*38 $GPGGA,104710.000,5405.6081,N,01049.4876,E,1,08,0.9,40.4,M,43.6,M,,0000*65 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,24,09,20,262,30,10,16,194,25,15,74,263,44*74 $GPGSV,3,2,12,17,14,127,14,18,22,315,24,19,05,014,26,21,00,284,*70 $GPGSV,3,3,12,22,00,337,16,26,03,304,,27,41,264,25,28,58,081,30*70 $GPGLL,5405.6081,N,01049.4876,E,104710.000,A,A*50 $GPRMC,104711.000,A,5405.6083,N,01049.4879,E,0.63,28.37,240709,,,A*58 $GPVTG,28.37,T,,M,0.63,N,1.2,K,A*35 $GPGGA,104711.000,5405.6083,N,01049.4879,E,1,08,1.0,39.8,M,43.6,M,,0000*63 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,1.0,1.3*3C $GPGSV,3,1,12,08,30,075,24,09,20,262,30,10,16,194,24,15,74,263,44*75 $GPGSV,3,2,12,17,14,127,,18,22,315,22,19,05,014,26,21,00,284,*73 $GPGSV,3,3,12,22,00,337,,26,03,304,,27,41,264,28,28,58,081,30*7A $GPGLL,5405.6083,N,01049.4879,E,104711.000,A,A*5C $GPRMC,104712.000,A,5405.6086,N,01049.4879,E,1.23,24.74,240709,,,A*50 $GPVTG,24.74,T,,M,1.23,N,2.3,K,A*39 $GPGGA,104712.000,5405.6086,N,01049.4879,E,1,08,1.0,39.2,M,43.6,M,,0000*6F $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,1.0,1.3*3C $GPGSV,3,1,12,08,30,075,23,09,20,262,29,10,16,194,22,15,74,263,42*7A $GPGSV,3,2,12,17,14,127,,18,22,315,18,19,05,014,26,21,00,284,*7A $GPGSV,3,3,12,22,00,337,,26,03,304,,27,41,264,29,28,58,081,29*73 $GPGLL,5405.6086,N,01049.4879,E,104712.000,A,A*5A $GPRMC,104713.000,A,5405.6087,N,01049.4885,E,0.19,24.74,240709,,,A*5B $GPVTG,24.74,T,,M,0.19,N,0.4,K,A*34 $GPGGA,104713.000,5405.6087,N,01049.4885,E,1,08,1.0,39.0,M,43.6,M,,0000*6E $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,1.0,1.3*3C $GPGSV,3,1,12,08,30,075,25,09,20,262,29,10,16,194,23,15,74,263,43*7C $GPGSV,3,2,12,17,14,127,,18,22,315,19,19,05,014,27,21,00,284,*7A $GPGSV,3,3,12,22,00,337,,26,03,304,,27,41,264,31,28,58,081,29*7A $GPGLL,5405.6087,N,01049.4885,E,104713.000,A,A*59 $GPRMC,104714.000,A,5405.6087,N,01049.4885,E,0.25,14.12,240709,,,A*50 $GPVTG,14.12,T,,M,0.25,N,0.5,K,A*39 $GPGGA,104714.000,5405.6087,N,01049.4885,E,1,08,1.0,38.8,M,43.6,M,,0000*60 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,1.0,1.3*3C $GPGSV,3,1,12,08,30,075,25,09,20,262,31,10,16,194,23,15,74,263,44*72 $GPGSV,3,2,12,17,14,127,,18,22,315,20,19,05,014,27,21,00,284,*70 $GPGSV,3,3,12,22,00,337,,26,03,304,19,27,41,264,31,28,58,081,29*72 $GPGLL,5405.6087,N,01049.4885,E,104714.000,A,A*5E $GPRMC,104715.000,A,5405.6087,N,01049.4890,E,1.07,20.69,240709,,,A*5F $GPVTG,20.69,T,,M,1.07,N,2.0,K,A*34 $GPGGA,104715.000,5405.6087,N,01049.4890,E,1,08,1.0,38.3,M,43.6,M,,0000*6E $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,1.0,1.3*3C $GPGSV,3,1,12,08,30,075,23,09,20,262,31,10,16,194,24,15,74,263,44*73 $GPGSV,3,2,12,17,14,127,,18,22,315,21,19,05,014,28,21,00,284,*7E $GPGSV,3,3,12,22,00,337,,26,03,304,19,27,41,264,30,28,58,081,29*73 $GPGLL,5405.6087,N,01049.4890,E,104715.000,A,A*5B $GPRMC,104716.000,A,5405.6088,N,01049.4891,E,0.41,23.09,240709,,,A*54 $GPVTG,23.09,T,,M,0.41,N,0.8,K,A*38 $GPGGA,104716.000,5405.6088,N,01049.4891,E,1,08,1.0,38.0,M,43.6,M,,0000*60 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,1.0,1.3*3C $GPGSV,3,1,12,08,30,075,22,09,20,262,30,10,16,194,23,15,74,263,44*74 $GPGSV,3,2,12,17,14,127,,18,22,315,21,19,05,014,27,21,00,284,*71 $GPGSV,3,3,12,22,00,337,,26,03,304,18,27,41,264,30,28,58,081,29*72 $GPGLL,5405.6088,N,01049.4891,E,104716.000,A,A*56 $GPRMC,104717.000,A,5405.6087,N,01049.4896,E,0.53,27.07,240709,,,A*54 $GPVTG,27.07,T,,M,0.53,N,1.0,K,A*38 $GPGGA,104717.000,5405.6087,N,01049.4896,E,1,08,1.0,37.6,M,43.6,M,,0000*60 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,1.0,1.3*3C $GPGSV,3,1,12,08,30,075,22,09,20,262,31,10,16,194,24,15,74,263,44*72 $GPGSV,3,2,12,17,14,127,,18,22,315,20,19,05,014,27,21,00,284,*70 $GPGSV,3,3,12,22,00,337,,26,03,304,18,27,41,264,30,28,58,081,28*73 $GPGLL,5405.6087,N,01049.4896,E,104717.000,A,A*5F $GPRMC,104718.000,A,5405.6084,N,01049.4902,E,0.55,32.66,240709,,,A*51 $GPVTG,32.66,T,,M,0.55,N,1.0,K,A*3D $GPGGA,104718.000,5405.6084,N,01049.4902,E,1,08,0.9,37.1,M,43.6,M,,0000*6F $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,21,09,20,262,31,10,16,194,25,15,74,263,44*70 $GPGSV,3,2,12,17,14,127,,18,22,315,20,19,05,014,27,21,00,284,*70 $GPGSV,3,3,12,22,00,337,,26,03,304,16,27,41,264,29,28,58,081,27*7A $GPGLL,5405.6084,N,01049.4902,E,104718.000,A,A*5F $GPRMC,104719.000,A,5405.6085,N,01049.4903,E,1.08,28.79,240709,,,A*5C $GPVTG,28.79,T,,M,1.08,N,2.0,K,A*32 $GPGGA,104719.000,5405.6085,N,01049.4903,E,1,08,0.9,36.8,M,43.6,M,,0000*66 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,22,09,20,262,31,10,16,194,25,15,74,263,44*73 $GPGSV,3,2,12,17,14,127,,18,22,315,19,19,05,014,26,21,00,284,*7B $GPGSV,3,3,12,22,00,337,,26,03,304,14,27,41,264,29,28,58,081,26*79 $GPGLL,5405.6085,N,01049.4903,E,104719.000,A,A*5E $GPRMC,104720.000,A,5405.6083,N,01049.4905,E,0.31,19.40,240709,,,A*55 $GPVTG,19.40,T,,M,0.31,N,0.6,K,A*35 $GPGGA,104720.000,5405.6083,N,01049.4905,E,1,08,0.9,36.5,M,43.6,M,,0000*61 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,22,09,20,262,31,10,16,194,25,15,74,263,44*73 $GPGSV,3,2,12,17,14,127,,18,22,315,21,19,05,014,26,21,00,284,*70 $GPGSV,3,3,12,22,00,337,,26,03,304,12,27,41,264,28,28,58,081,27*7F $GPGLL,5405.6083,N,01049.4905,E,104720.000,A,A*54 $GPRMC,104721.000,A,5405.6081,N,01049.4905,E,0.82,9.27,240709,,,A*6E $GPVTG,9.27,T,,M,0.82,N,1.5,K,A*0F $GPGGA,104721.000,5405.6081,N,01049.4905,E,1,08,0.9,36.4,M,43.6,M,,0000*63 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,23,09,20,262,33,10,16,194,25,15,74,263,46*72 $GPGSV,3,2,12,17,14,127,,18,22,315,21,19,05,014,26,21,00,284,*70 $GPGSV,3,3,12,22,00,337,,26,03,304,12,27,41,264,28,28,58,081,27*7F $GPGLL,5405.6081,N,01049.4905,E,104721.000,A,A*57 $GPRMC,104722.000,A,5405.6080,N,01049.4910,E,1.06,14.12,240709,,,A*5F $GPVTG,14.12,T,,M,1.06,N,2.0,K,A*3E $GPGGA,104722.000,5405.6080,N,01049.4910,E,1,08,0.9,36.4,M,43.6,M,,0000*65 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,21,09,20,262,33,10,16,194,24,15,74,263,45*72 $GPGSV,3,2,12,17,14,127,,18,22,315,22,19,05,014,26,21,00,284,*73 $GPGSV,3,3,12,22,00,337,,26,03,304,11,27,41,264,28,28,58,081,26*7D $GPGLL,5405.6080,N,01049.4910,E,104722.000,A,A*51 $GPRMC,104723.000,A,5405.6079,N,01049.4913,E,0.23,18.77,240709,,,A*52 $GPVTG,18.77,T,,M,0.23,N,0.4,K,A*31 $GPGGA,104723.000,5405.6079,N,01049.4913,E,1,08,0.9,36.2,M,43.6,M,,0000*67 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,22,09,20,262,32,10,16,194,25,15,74,263,43*77 $GPGSV,3,2,12,17,14,127,,18,22,315,23,19,05,014,26,21,00,284,*72 $GPGSV,3,3,12,22,00,337,,26,03,304,09,27,41,264,28,28,58,081,26*74 $GPGLL,5405.6079,N,01049.4913,E,104723.000,A,A*55 $GPRMC,104724.000,A,5405.6076,N,01049.4916,E,0.43,25.48,240709,,,A*5B $GPVTG,25.48,T,,M,0.43,N,0.8,K,A*39 $GPGGA,104724.000,5405.6076,N,01049.4916,E,1,08,0.9,35.9,M,43.6,M,,0000*62 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,23,09,20,262,32,10,16,194,26,15,74,263,44*72 $GPGSV,3,2,12,17,14,127,,18,22,315,24,19,05,014,26,21,00,284,*75 $GPGSV,3,3,12,22,00,337,,26,03,304,11,27,41,264,27,28,58,081,26*72 $GPGLL,5405.6076,N,01049.4916,E,104724.000,A,A*58 $GPRMC,104725.000,A,5405.6076,N,01049.4917,E,0.31,24.01,240709,,,A*52 $GPVTG,24.01,T,,M,0.31,N,0.6,K,A*3E $GPGGA,104725.000,5405.6076,N,01049.4917,E,1,08,0.9,35.6,M,43.6,M,,0000*6D $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,24,09,20,262,31,10,16,194,25,15,74,263,44*75 $GPGSV,3,2,12,17,14,127,,18,22,315,22,19,05,014,27,21,00,284,*72 $GPGSV,3,3,12,22,00,337,,26,03,304,09,27,41,264,25,28,58,081,25*7A $GPGLL,5405.6076,N,01049.4917,E,104725.000,A,A*58 $GPRMC,104726.000,A,5405.6076,N,01049.4918,E,0.42,31.83,240709,,,A*54 $GPVTG,31.83,T,,M,0.42,N,0.8,K,A*3A $GPGGA,104726.000,5405.6076,N,01049.4918,E,1,08,0.9,35.3,M,43.6,M,,0000*64 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,22,09,20,262,32,10,16,194,24,15,74,263,44*71 $GPGSV,3,2,12,17,14,127,,18,22,315,21,19,05,014,27,21,00,284,*71 $GPGSV,3,3,12,22,00,337,,26,03,304,08,27,41,264,23,28,58,081,24*7C $GPGLL,5405.6076,N,01049.4918,E,104726.000,A,A*54 $GPRMC,104727.000,A,5405.6077,N,01049.4916,E,0.80,28.30,240709,,,A*54 $GPVTG,28.30,T,,M,0.80,N,1.5,K,A*38 $GPGGA,104727.000,5405.6077,N,01049.4916,E,1,08,0.9,35.1,M,43.6,M,,0000*68 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,21,09,20,262,32,10,16,194,24,15,74,263,44*72 $GPGSV,3,2,12,17,14,127,,18,22,315,21,19,05,014,26,21,00,284,*70 $GPGSV,3,3,12,22,00,337,,26,03,304,08,27,41,264,24,28,58,081,24*7B $GPGLL,5405.6077,N,01049.4916,E,104727.000,A,A*5A $GPRMC,104728.000,A,5405.6078,N,01049.4918,E,0.56,28.66,240709,,,A*52 $GPVTG,28.66,T,,M,0.56,N,1.0,K,A*35 $GPGGA,104728.000,5405.6078,N,01049.4918,E,1,08,0.9,34.9,M,43.6,M,,0000*6F $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,22,09,20,262,32,10,16,194,25,15,74,263,44*70 $GPGSV,3,2,12,17,14,127,,18,22,315,21,19,05,014,27,21,00,284,*71 $GPGSV,3,3,12,22,00,337,,26,03,304,09,27,41,265,24,28,58,081,22*7D $GPGLL,5405.6078,N,01049.4918,E,104728.000,A,A*54 $GPRMC,104729.000,A,5405.6076,N,01049.4921,E,0.51,34.94,240709,,,A*50 $GPVTG,34.94,T,,M,0.51,N,0.9,K,A*3A $GPGGA,104729.000,5405.6076,N,01049.4921,E,1,08,0.9,34.7,M,43.6,M,,0000*64 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,22,09,20,262,32,10,16,194,24,15,74,263,44*71 $GPGSV,3,2,12,17,14,127,,18,22,315,22,19,05,014,27,21,00,284,*72 $GPGSV,3,3,12,22,00,337,,26,03,304,08,27,41,265,25,28,58,081,22*7D $GPGLL,5405.6076,N,01049.4921,E,104729.000,A,A*51 $GPRMC,104730.000,A,5405.6073,N,01049.4922,E,1.07,44.97,240709,,,A*58 $GPVTG,44.97,T,,M,1.07,N,2.0,K,A*37 $GPGGA,104730.000,5405.6073,N,01049.4922,E,1,08,0.9,34.5,M,43.6,M,,0000*68 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,23,09,20,262,33,10,16,194,23,15,74,263,44*76 $GPGSV,3,2,12,17,14,127,18,18,22,315,22,19,05,014,27,21,00,284,*7B $GPGSV,3,3,12,22,00,337,,26,03,304,08,27,41,265,25,28,58,081,21*7E $GPGLL,5405.6073,N,01049.4922,E,104730.000,A,A*5F $GPRMC,104731.000,A,5405.6070,N,01049.4926,E,0.67,50.17,240709,,,A*54 $GPVTG,50.17,T,,M,0.67,N,1.3,K,A*3D $GPGGA,104731.000,5405.6070,N,01049.4926,E,1,08,0.9,34.4,M,43.6,M,,0000*6F $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,21,09,20,262,33,10,16,194,23,15,74,263,44*74 $GPGSV,3,2,12,17,14,127,17,18,22,315,22,19,05,014,27,21,00,284,*74 $GPGSV,3,3,12,22,00,337,,26,03,304,08,27,41,265,26,28,58,081,22*7E $GPGLL,5405.6070,N,01049.4926,E,104731.000,A,A*59 $GPRMC,104732.000,A,5405.6071,N,01049.4925,E,0.71,43.34,240709,,,A*51 $GPVTG,43.34,T,,M,0.71,N,1.3,K,A*39 $GPGGA,104732.000,5405.6071,N,01049.4925,E,1,08,0.9,34.3,M,43.6,M,,0000*69 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,21,09,20,262,34,10,16,194,23,15,74,263,44*73 $GPGSV,3,2,12,17,14,127,15,18,22,315,21,19,05,014,27,21,00,284,*75 $GPGSV,3,3,12,22,00,337,,26,03,304,,27,41,265,25,28,58,081,23*74 $GPGLL,5405.6071,N,01049.4925,E,104732.000,A,A*58 $GPRMC,104733.000,A,5405.6069,N,01049.4928,E,1.13,49.89,240709,,,A*5D $GPVTG,49.89,T,,M,1.13,N,2.1,K,A*31 $GPGGA,104733.000,5405.6069,N,01049.4928,E,1,08,0.9,34.1,M,43.6,M,,0000*6E $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,22,09,20,262,33,10,16,194,22,15,74,263,44*76 $GPGSV,3,2,12,17,14,127,16,18,22,315,22,19,05,014,27,21,00,284,*75 $GPGSV,3,3,12,22,00,337,,26,03,304,,27,41,265,24,28,58,081,24*72 $GPGLL,5405.6069,N,01049.4928,E,104733.000,A,A*5D $GPRMC,104734.000,A,5405.6070,N,01049.4930,E,1.06,48.90,240709,,,A*56 $GPVTG,48.90,T,,M,1.06,N,2.0,K,A*3D $GPGGA,104734.000,5405.6070,N,01049.4930,E,1,08,0.9,34.0,M,43.6,M,,0000*69 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,23,09,20,262,34,10,16,194,23,15,74,263,44*71 $GPGSV,3,2,12,17,14,127,17,18,22,315,22,19,05,014,27,21,00,284,*74 $GPGSV,3,3,12,22,00,337,,26,03,304,,27,41,265,24,28,58,081,24*72 $GPGLL,5405.6070,N,01049.4930,E,104734.000,A,A*5B $GPRMC,104735.000,A,5405.6071,N,01049.4935,E,0.96,50.63,240709,,,A*5E $GPVTG,50.63,T,,M,0.96,N,1.8,K,A*3B $GPGGA,104735.000,5405.6071,N,01049.4935,E,1,08,0.9,33.8,M,43.6,M,,0000*63 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,23,09,20,262,33,10,16,194,23,15,74,263,44*76 $GPGSV,3,2,12,17,14,127,16,18,22,315,22,19,05,014,27,21,00,284,*75 $GPGSV,3,3,12,22,00,337,,26,03,304,,27,41,265,24,28,58,081,24*72 $GPGLL,5405.6071,N,01049.4935,E,104735.000,A,A*5E $GPRMC,104736.000,A,5405.6072,N,01049.4936,E,0.52,50.27,240709,,,A*55 $GPVTG,50.27,T,,M,0.52,N,1.0,K,A*3B $GPGGA,104736.000,5405.6072,N,01049.4936,E,1,08,0.9,33.7,M,43.6,M,,0000*6F $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,23,09,20,262,33,10,16,194,24,15,74,263,44*71 $GPGSV,3,2,12,17,14,127,16,18,22,315,21,19,05,014,27,21,00,284,*76 $GPGSV,3,3,12,22,00,337,,26,03,304,,27,41,265,24,28,58,081,24*72 $GPGLL,5405.6072,N,01049.4936,E,104736.000,A,A*5D gpsd-3.9/test/daemon/nl402u.log.chk0000664000175000017500000012672412135526376015233 0ustar esresr$GPTXT,01,01,02,u-blox ag - www.u-blox.com*50 $GPTXT,01,01,02,HW UBX-G5xxx 00040005 *1B $GPTXT,01,01,02,EXT CORE 5.00 (28483) Jun 6 2008 14:42:32*5F $GPTXT,01,01,02,ROM BASE 4.00*12 $GPTXT,01,01,02,MOD LEA-5H-0*2E $GPTXT,01,01,02,ANTSUPERV=AC SD PDoS SR*20 $GPTXT,01,01,02,ANTSTATUS=OK*3B $GPRMC,104706.000,A,5405.6081,N,01049.4791,E,0.24,18.02,240709,,,A*53 {"class":"TPV","tag":"RMC","mode":2,"time":"2009-07-24T10:47:06.000Z","ept":0.005,"lat":54.093468333,"lon":10.824651667,"track":18.0200,"speed":0.123} $GPVTG,18.02,T,,M,0.24,N,0.4,K,A*34 $GPGGA,104706.000,5405.6081,N,01049.4791,E,1,08,1.1,40.8,M,43.6,M,,0000*61 {"class":"TPV","tag":"GGA","mode":3,"time":"2009-07-24T10:47:06.000Z","ept":0.005,"lat":54.093468333,"lon":10.824651667,"alt":40.800,"track":18.0200,"speed":0.123} $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.7,1.1,1.3*3C {"class":"TPV","tag":"GSA","mode":3,"time":"2009-07-24T10:47:06.000Z","ept":0.005,"lat":54.093468333,"lon":10.824651667,"alt":40.800,"epv":29.900,"track":18.0200,"speed":0.123,"climb":0.000} $GPGSV,3,1,12,08,30,075,25,09,20,262,32,10,16,194,27,15,74,263,46*77 $GPGSV,3,2,12,17,14,127,19,18,22,315,27,19,05,014,27,21,00,284,*7F $GPGSV,3,3,12,22,00,337,19,26,03,304,,27,41,264,26,28,58,081,30*7C {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":1.10,"gdop":1.65,"pdop":1.70,"satellites":[{"PRN":8,"el":30,"az":75,"ss":25,"used":true},{"PRN":9,"el":20,"az":262,"ss":32,"used":true},{"PRN":10,"el":16,"az":194,"ss":27,"used":true},{"PRN":15,"el":74,"az":263,"ss":46,"used":true},{"PRN":17,"el":14,"az":127,"ss":19,"used":false},{"PRN":18,"el":22,"az":315,"ss":27,"used":true},{"PRN":19,"el":5,"az":14,"ss":27,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":19,"used":false},{"PRN":26,"el":3,"az":304,"ss":0,"used":false},{"PRN":27,"el":41,"az":264,"ss":26,"used":true},{"PRN":28,"el":58,"az":81,"ss":30,"used":true}]} $GPGLL,5405.6081,N,01049.4791,E,104706.000,A,A*51 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:06.000Z","ept":0.005,"lat":54.093468333,"lon":10.824651667,"alt":40.800,"epx":8.042,"epy":9.278,"epv":29.900,"track":18.0200,"speed":0.123,"climb":0.000} $GPRMC,104707.000,A,5405.6083,N,01049.4822,E,0.50,19.27,240709,,,A*52 $GPVTG,19.27,T,,M,0.50,N,0.9,K,A*3C $GPGGA,104707.000,5405.6083,N,01049.4822,E,1,08,1.0,40.6,M,43.6,M,,0000*6A $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,1.0,1.3*3C $GPGSV,3,1,12,08,30,075,22,09,20,262,31,10,16,194,27,15,74,263,46*73 $GPGSV,3,2,12,17,14,127,17,18,22,315,27,19,05,014,26,21,00,284,*70 $GPGSV,3,3,12,22,00,337,17,26,03,304,,27,41,264,27,28,58,081,30*73 {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":1.00,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":22,"used":true},{"PRN":9,"el":20,"az":262,"ss":31,"used":true},{"PRN":10,"el":16,"az":194,"ss":27,"used":true},{"PRN":15,"el":74,"az":263,"ss":46,"used":true},{"PRN":17,"el":14,"az":127,"ss":17,"used":false},{"PRN":18,"el":22,"az":315,"ss":27,"used":true},{"PRN":19,"el":5,"az":14,"ss":26,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":17,"used":false},{"PRN":26,"el":3,"az":304,"ss":0,"used":false},{"PRN":27,"el":41,"az":264,"ss":27,"used":true},{"PRN":28,"el":58,"az":81,"ss":30,"used":true}]} $GPGLL,5405.6083,N,01049.4822,E,104707.000,A,A*55 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:07.000Z","ept":0.005,"lat":54.093471667,"lon":10.824703333,"alt":40.600,"epx":8.042,"epy":9.278,"epv":29.900,"track":19.2700,"speed":0.257,"climb":0.000,"eps":18.56} $GPRMC,104708.000,A,5405.6082,N,01049.4856,E,0.32,19.19,240709,,,A*56 $GPVTG,19.19,T,,M,0.32,N,0.6,K,A*3A $GPGGA,104708.000,5405.6082,N,01049.4856,E,1,08,0.9,40.0,M,43.6,M,,0000*69 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,23,09,20,262,32,10,16,194,26,15,74,263,45*73 $GPGSV,3,2,12,17,14,127,15,18,22,315,26,19,05,014,26,21,00,284,*73 $GPGSV,3,3,12,22,00,337,15,26,03,304,,27,41,264,28,28,58,081,30*7E {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":23,"used":true},{"PRN":9,"el":20,"az":262,"ss":32,"used":true},{"PRN":10,"el":16,"az":194,"ss":26,"used":true},{"PRN":15,"el":74,"az":263,"ss":45,"used":true},{"PRN":17,"el":14,"az":127,"ss":15,"used":false},{"PRN":18,"el":22,"az":315,"ss":26,"used":true},{"PRN":19,"el":5,"az":14,"ss":26,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":15,"used":false},{"PRN":26,"el":3,"az":304,"ss":0,"used":false},{"PRN":27,"el":41,"az":264,"ss":28,"used":true},{"PRN":28,"el":58,"az":81,"ss":30,"used":true}]} $GPGLL,5405.6082,N,01049.4856,E,104708.000,A,A*58 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:08.000Z","ept":0.005,"lat":54.093470000,"lon":10.824760000,"alt":40.000,"epx":8.042,"epy":9.278,"epv":29.900,"track":19.1900,"speed":0.165,"climb":0.000,"eps":18.56} $GPRMC,104709.000,A,5405.6083,N,01049.4868,E,0.37,21.29,240709,,,A*56 $GPVTG,21.29,T,,M,0.37,N,0.7,K,A*36 $GPGGA,104709.000,5405.6083,N,01049.4868,E,1,08,0.9,40.6,M,43.6,M,,0000*62 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,24,09,20,262,31,10,16,194,25,15,74,263,44*75 $GPGSV,3,2,12,17,14,127,14,18,22,315,25,19,05,014,26,21,00,284,*71 $GPGSV,3,3,12,22,00,337,16,26,03,304,,27,41,264,26,28,58,081,29*7B {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":24,"used":true},{"PRN":9,"el":20,"az":262,"ss":31,"used":true},{"PRN":10,"el":16,"az":194,"ss":25,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":14,"used":false},{"PRN":18,"el":22,"az":315,"ss":25,"used":true},{"PRN":19,"el":5,"az":14,"ss":26,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":16,"used":false},{"PRN":26,"el":3,"az":304,"ss":0,"used":false},{"PRN":27,"el":41,"az":264,"ss":26,"used":true},{"PRN":28,"el":58,"az":81,"ss":29,"used":true}]} $GPGLL,5405.6083,N,01049.4868,E,104709.000,A,A*55 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:09.000Z","ept":0.005,"lat":54.093471667,"lon":10.824780000,"alt":40.600,"epx":8.042,"epy":9.278,"epv":29.900,"track":21.2900,"speed":0.190,"climb":0.000,"eps":18.56} $GPRMC,104710.000,A,5405.6081,N,01049.4876,E,0.94,27.15,240709,,,A*53 $GPVTG,27.15,T,,M,0.94,N,1.8,K,A*38 $GPGGA,104710.000,5405.6081,N,01049.4876,E,1,08,0.9,40.4,M,43.6,M,,0000*65 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,24,09,20,262,30,10,16,194,25,15,74,263,44*74 $GPGSV,3,2,12,17,14,127,14,18,22,315,24,19,05,014,26,21,00,284,*70 $GPGSV,3,3,12,22,00,337,16,26,03,304,,27,41,264,25,28,58,081,30*70 {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":24,"used":true},{"PRN":9,"el":20,"az":262,"ss":30,"used":true},{"PRN":10,"el":16,"az":194,"ss":25,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":14,"used":false},{"PRN":18,"el":22,"az":315,"ss":24,"used":true},{"PRN":19,"el":5,"az":14,"ss":26,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":16,"used":false},{"PRN":26,"el":3,"az":304,"ss":0,"used":false},{"PRN":27,"el":41,"az":264,"ss":25,"used":true},{"PRN":28,"el":58,"az":81,"ss":30,"used":true}]} $GPGLL,5405.6081,N,01049.4876,E,104710.000,A,A*50 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:10.000Z","ept":0.005,"lat":54.093468333,"lon":10.824793333,"alt":40.400,"epx":8.042,"epy":9.278,"epv":29.900,"track":27.1500,"speed":0.484,"climb":0.000,"eps":18.56} $GPRMC,104711.000,A,5405.6083,N,01049.4879,E,0.63,28.37,240709,,,A*58 $GPVTG,28.37,T,,M,0.63,N,1.2,K,A*35 $GPGGA,104711.000,5405.6083,N,01049.4879,E,1,08,1.0,39.8,M,43.6,M,,0000*63 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,1.0,1.3*3C $GPGSV,3,1,12,08,30,075,24,09,20,262,30,10,16,194,24,15,74,263,44*75 $GPGSV,3,2,12,17,14,127,,18,22,315,22,19,05,014,26,21,00,284,*73 $GPGSV,3,3,12,22,00,337,,26,03,304,,27,41,264,28,28,58,081,30*7A {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":1.00,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":24,"used":true},{"PRN":9,"el":20,"az":262,"ss":30,"used":true},{"PRN":10,"el":16,"az":194,"ss":24,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":0,"used":false},{"PRN":18,"el":22,"az":315,"ss":22,"used":true},{"PRN":19,"el":5,"az":14,"ss":26,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":0,"used":false},{"PRN":27,"el":41,"az":264,"ss":28,"used":true},{"PRN":28,"el":58,"az":81,"ss":30,"used":true}]} $GPGLL,5405.6083,N,01049.4879,E,104711.000,A,A*5C {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:11.000Z","ept":0.005,"lat":54.093471667,"lon":10.824798333,"alt":39.800,"epx":8.042,"epy":9.278,"epv":29.900,"track":28.3700,"speed":0.324,"climb":0.000,"eps":18.56} $GPRMC,104712.000,A,5405.6086,N,01049.4879,E,1.23,24.74,240709,,,A*50 $GPVTG,24.74,T,,M,1.23,N,2.3,K,A*39 $GPGGA,104712.000,5405.6086,N,01049.4879,E,1,08,1.0,39.2,M,43.6,M,,0000*6F $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,1.0,1.3*3C $GPGSV,3,1,12,08,30,075,23,09,20,262,29,10,16,194,22,15,74,263,42*7A $GPGSV,3,2,12,17,14,127,,18,22,315,18,19,05,014,26,21,00,284,*7A $GPGSV,3,3,12,22,00,337,,26,03,304,,27,41,264,29,28,58,081,29*73 {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":1.00,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":23,"used":true},{"PRN":9,"el":20,"az":262,"ss":29,"used":true},{"PRN":10,"el":16,"az":194,"ss":22,"used":true},{"PRN":15,"el":74,"az":263,"ss":42,"used":true},{"PRN":17,"el":14,"az":127,"ss":0,"used":false},{"PRN":18,"el":22,"az":315,"ss":18,"used":true},{"PRN":19,"el":5,"az":14,"ss":26,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":0,"used":false},{"PRN":27,"el":41,"az":264,"ss":29,"used":true},{"PRN":28,"el":58,"az":81,"ss":29,"used":true}]} $GPGLL,5405.6086,N,01049.4879,E,104712.000,A,A*5A {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:12.000Z","ept":0.005,"lat":54.093476667,"lon":10.824798333,"alt":39.200,"epx":8.042,"epy":9.278,"epv":29.900,"track":24.7400,"speed":0.633,"climb":0.000,"eps":18.56} $GPRMC,104713.000,A,5405.6087,N,01049.4885,E,0.19,24.74,240709,,,A*5B $GPVTG,24.74,T,,M,0.19,N,0.4,K,A*34 $GPGGA,104713.000,5405.6087,N,01049.4885,E,1,08,1.0,39.0,M,43.6,M,,0000*6E $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,1.0,1.3*3C $GPGSV,3,1,12,08,30,075,25,09,20,262,29,10,16,194,23,15,74,263,43*7C $GPGSV,3,2,12,17,14,127,,18,22,315,19,19,05,014,27,21,00,284,*7A $GPGSV,3,3,12,22,00,337,,26,03,304,,27,41,264,31,28,58,081,29*7A {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":1.00,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":25,"used":true},{"PRN":9,"el":20,"az":262,"ss":29,"used":true},{"PRN":10,"el":16,"az":194,"ss":23,"used":true},{"PRN":15,"el":74,"az":263,"ss":43,"used":true},{"PRN":17,"el":14,"az":127,"ss":0,"used":false},{"PRN":18,"el":22,"az":315,"ss":19,"used":true},{"PRN":19,"el":5,"az":14,"ss":27,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":0,"used":false},{"PRN":27,"el":41,"az":264,"ss":31,"used":true},{"PRN":28,"el":58,"az":81,"ss":29,"used":true}]} $GPGLL,5405.6087,N,01049.4885,E,104713.000,A,A*59 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:13.000Z","ept":0.005,"lat":54.093478333,"lon":10.824808333,"alt":39.000,"epx":8.042,"epy":9.278,"epv":29.900,"track":24.7400,"speed":0.098,"climb":0.000,"eps":18.56} $GPRMC,104714.000,A,5405.6087,N,01049.4885,E,0.25,14.12,240709,,,A*50 $GPVTG,14.12,T,,M,0.25,N,0.5,K,A*39 $GPGGA,104714.000,5405.6087,N,01049.4885,E,1,08,1.0,38.8,M,43.6,M,,0000*60 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,1.0,1.3*3C $GPGSV,3,1,12,08,30,075,25,09,20,262,31,10,16,194,23,15,74,263,44*72 $GPGSV,3,2,12,17,14,127,,18,22,315,20,19,05,014,27,21,00,284,*70 $GPGSV,3,3,12,22,00,337,,26,03,304,19,27,41,264,31,28,58,081,29*72 {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":1.00,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":25,"used":true},{"PRN":9,"el":20,"az":262,"ss":31,"used":true},{"PRN":10,"el":16,"az":194,"ss":23,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":0,"used":false},{"PRN":18,"el":22,"az":315,"ss":20,"used":true},{"PRN":19,"el":5,"az":14,"ss":27,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":19,"used":false},{"PRN":27,"el":41,"az":264,"ss":31,"used":true},{"PRN":28,"el":58,"az":81,"ss":29,"used":true}]} $GPGLL,5405.6087,N,01049.4885,E,104714.000,A,A*5E {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:14.000Z","ept":0.005,"lat":54.093478333,"lon":10.824808333,"alt":38.800,"epx":8.042,"epy":9.278,"epv":29.900,"track":14.1200,"speed":0.129,"climb":0.000,"eps":18.56} $GPRMC,104715.000,A,5405.6087,N,01049.4890,E,1.07,20.69,240709,,,A*5F $GPVTG,20.69,T,,M,1.07,N,2.0,K,A*34 $GPGGA,104715.000,5405.6087,N,01049.4890,E,1,08,1.0,38.3,M,43.6,M,,0000*6E $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,1.0,1.3*3C $GPGSV,3,1,12,08,30,075,23,09,20,262,31,10,16,194,24,15,74,263,44*73 $GPGSV,3,2,12,17,14,127,,18,22,315,21,19,05,014,28,21,00,284,*7E $GPGSV,3,3,12,22,00,337,,26,03,304,19,27,41,264,30,28,58,081,29*73 {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":1.00,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":23,"used":true},{"PRN":9,"el":20,"az":262,"ss":31,"used":true},{"PRN":10,"el":16,"az":194,"ss":24,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":0,"used":false},{"PRN":18,"el":22,"az":315,"ss":21,"used":true},{"PRN":19,"el":5,"az":14,"ss":28,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":19,"used":false},{"PRN":27,"el":41,"az":264,"ss":30,"used":true},{"PRN":28,"el":58,"az":81,"ss":29,"used":true}]} $GPGLL,5405.6087,N,01049.4890,E,104715.000,A,A*5B {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:15.000Z","ept":0.005,"lat":54.093478333,"lon":10.824816667,"alt":38.300,"epx":8.042,"epy":9.278,"epv":29.900,"track":20.6900,"speed":0.550,"climb":0.000,"eps":18.56} $GPRMC,104716.000,A,5405.6088,N,01049.4891,E,0.41,23.09,240709,,,A*54 $GPVTG,23.09,T,,M,0.41,N,0.8,K,A*38 $GPGGA,104716.000,5405.6088,N,01049.4891,E,1,08,1.0,38.0,M,43.6,M,,0000*60 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,1.0,1.3*3C $GPGSV,3,1,12,08,30,075,22,09,20,262,30,10,16,194,23,15,74,263,44*74 $GPGSV,3,2,12,17,14,127,,18,22,315,21,19,05,014,27,21,00,284,*71 $GPGSV,3,3,12,22,00,337,,26,03,304,18,27,41,264,30,28,58,081,29*72 {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":1.00,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":22,"used":true},{"PRN":9,"el":20,"az":262,"ss":30,"used":true},{"PRN":10,"el":16,"az":194,"ss":23,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":0,"used":false},{"PRN":18,"el":22,"az":315,"ss":21,"used":true},{"PRN":19,"el":5,"az":14,"ss":27,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":18,"used":false},{"PRN":27,"el":41,"az":264,"ss":30,"used":true},{"PRN":28,"el":58,"az":81,"ss":29,"used":true}]} $GPGLL,5405.6088,N,01049.4891,E,104716.000,A,A*56 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:16.000Z","ept":0.005,"lat":54.093480000,"lon":10.824818333,"alt":38.000,"epx":8.042,"epy":9.278,"epv":29.900,"track":23.0900,"speed":0.211,"climb":0.000,"eps":18.56} $GPRMC,104717.000,A,5405.6087,N,01049.4896,E,0.53,27.07,240709,,,A*54 $GPVTG,27.07,T,,M,0.53,N,1.0,K,A*38 $GPGGA,104717.000,5405.6087,N,01049.4896,E,1,08,1.0,37.6,M,43.6,M,,0000*60 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,1.0,1.3*3C $GPGSV,3,1,12,08,30,075,22,09,20,262,31,10,16,194,24,15,74,263,44*72 $GPGSV,3,2,12,17,14,127,,18,22,315,20,19,05,014,27,21,00,284,*70 $GPGSV,3,3,12,22,00,337,,26,03,304,18,27,41,264,30,28,58,081,28*73 {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":1.00,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":22,"used":true},{"PRN":9,"el":20,"az":262,"ss":31,"used":true},{"PRN":10,"el":16,"az":194,"ss":24,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":0,"used":false},{"PRN":18,"el":22,"az":315,"ss":20,"used":true},{"PRN":19,"el":5,"az":14,"ss":27,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":18,"used":false},{"PRN":27,"el":41,"az":264,"ss":30,"used":true},{"PRN":28,"el":58,"az":81,"ss":28,"used":true}]} $GPGLL,5405.6087,N,01049.4896,E,104717.000,A,A*5F {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:17.000Z","ept":0.005,"lat":54.093478333,"lon":10.824826667,"alt":37.600,"epx":8.042,"epy":9.278,"epv":29.900,"track":27.0700,"speed":0.273,"climb":0.000,"eps":18.56} $GPRMC,104718.000,A,5405.6084,N,01049.4902,E,0.55,32.66,240709,,,A*51 $GPVTG,32.66,T,,M,0.55,N,1.0,K,A*3D $GPGGA,104718.000,5405.6084,N,01049.4902,E,1,08,0.9,37.1,M,43.6,M,,0000*6F $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,21,09,20,262,31,10,16,194,25,15,74,263,44*70 $GPGSV,3,2,12,17,14,127,,18,22,315,20,19,05,014,27,21,00,284,*70 $GPGSV,3,3,12,22,00,337,,26,03,304,16,27,41,264,29,28,58,081,27*7A {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":21,"used":true},{"PRN":9,"el":20,"az":262,"ss":31,"used":true},{"PRN":10,"el":16,"az":194,"ss":25,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":0,"used":false},{"PRN":18,"el":22,"az":315,"ss":20,"used":true},{"PRN":19,"el":5,"az":14,"ss":27,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":16,"used":false},{"PRN":27,"el":41,"az":264,"ss":29,"used":true},{"PRN":28,"el":58,"az":81,"ss":27,"used":true}]} $GPGLL,5405.6084,N,01049.4902,E,104718.000,A,A*5F {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:18.000Z","ept":0.005,"lat":54.093473333,"lon":10.824836667,"alt":37.100,"epx":8.042,"epy":9.278,"epv":29.900,"track":32.6600,"speed":0.283,"climb":0.000,"eps":18.56} $GPRMC,104719.000,A,5405.6085,N,01049.4903,E,1.08,28.79,240709,,,A*5C $GPVTG,28.79,T,,M,1.08,N,2.0,K,A*32 $GPGGA,104719.000,5405.6085,N,01049.4903,E,1,08,0.9,36.8,M,43.6,M,,0000*66 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,22,09,20,262,31,10,16,194,25,15,74,263,44*73 $GPGSV,3,2,12,17,14,127,,18,22,315,19,19,05,014,26,21,00,284,*7B $GPGSV,3,3,12,22,00,337,,26,03,304,14,27,41,264,29,28,58,081,26*79 {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":22,"used":true},{"PRN":9,"el":20,"az":262,"ss":31,"used":true},{"PRN":10,"el":16,"az":194,"ss":25,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":0,"used":false},{"PRN":18,"el":22,"az":315,"ss":19,"used":true},{"PRN":19,"el":5,"az":14,"ss":26,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":14,"used":false},{"PRN":27,"el":41,"az":264,"ss":29,"used":true},{"PRN":28,"el":58,"az":81,"ss":26,"used":true}]} $GPGLL,5405.6085,N,01049.4903,E,104719.000,A,A*5E {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:19.000Z","ept":0.005,"lat":54.093475000,"lon":10.824838333,"alt":36.800,"epx":8.042,"epy":9.278,"epv":29.900,"track":28.7900,"speed":0.556,"climb":0.000,"eps":18.56} $GPRMC,104720.000,A,5405.6083,N,01049.4905,E,0.31,19.40,240709,,,A*55 $GPVTG,19.40,T,,M,0.31,N,0.6,K,A*35 $GPGGA,104720.000,5405.6083,N,01049.4905,E,1,08,0.9,36.5,M,43.6,M,,0000*61 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,22,09,20,262,31,10,16,194,25,15,74,263,44*73 $GPGSV,3,2,12,17,14,127,,18,22,315,21,19,05,014,26,21,00,284,*70 $GPGSV,3,3,12,22,00,337,,26,03,304,12,27,41,264,28,28,58,081,27*7F {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":22,"used":true},{"PRN":9,"el":20,"az":262,"ss":31,"used":true},{"PRN":10,"el":16,"az":194,"ss":25,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":0,"used":false},{"PRN":18,"el":22,"az":315,"ss":21,"used":true},{"PRN":19,"el":5,"az":14,"ss":26,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":12,"used":false},{"PRN":27,"el":41,"az":264,"ss":28,"used":true},{"PRN":28,"el":58,"az":81,"ss":27,"used":true}]} $GPGLL,5405.6083,N,01049.4905,E,104720.000,A,A*54 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:20.000Z","ept":0.005,"lat":54.093471667,"lon":10.824841667,"alt":36.500,"epx":8.042,"epy":9.278,"epv":29.900,"track":19.4000,"speed":0.159,"climb":0.000,"eps":18.56} $GPRMC,104721.000,A,5405.6081,N,01049.4905,E,0.82,9.27,240709,,,A*6E $GPVTG,9.27,T,,M,0.82,N,1.5,K,A*0F $GPGGA,104721.000,5405.6081,N,01049.4905,E,1,08,0.9,36.4,M,43.6,M,,0000*63 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,23,09,20,262,33,10,16,194,25,15,74,263,46*72 $GPGSV,3,2,12,17,14,127,,18,22,315,21,19,05,014,26,21,00,284,*70 $GPGSV,3,3,12,22,00,337,,26,03,304,12,27,41,264,28,28,58,081,27*7F {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":23,"used":true},{"PRN":9,"el":20,"az":262,"ss":33,"used":true},{"PRN":10,"el":16,"az":194,"ss":25,"used":true},{"PRN":15,"el":74,"az":263,"ss":46,"used":true},{"PRN":17,"el":14,"az":127,"ss":0,"used":false},{"PRN":18,"el":22,"az":315,"ss":21,"used":true},{"PRN":19,"el":5,"az":14,"ss":26,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":12,"used":false},{"PRN":27,"el":41,"az":264,"ss":28,"used":true},{"PRN":28,"el":58,"az":81,"ss":27,"used":true}]} $GPGLL,5405.6081,N,01049.4905,E,104721.000,A,A*57 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:21.000Z","ept":0.005,"lat":54.093468333,"lon":10.824841667,"alt":36.400,"epx":8.042,"epy":9.278,"epv":29.900,"track":9.2700,"speed":0.422,"climb":0.000,"eps":18.56} $GPRMC,104722.000,A,5405.6080,N,01049.4910,E,1.06,14.12,240709,,,A*5F $GPVTG,14.12,T,,M,1.06,N,2.0,K,A*3E $GPGGA,104722.000,5405.6080,N,01049.4910,E,1,08,0.9,36.4,M,43.6,M,,0000*65 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,21,09,20,262,33,10,16,194,24,15,74,263,45*72 $GPGSV,3,2,12,17,14,127,,18,22,315,22,19,05,014,26,21,00,284,*73 $GPGSV,3,3,12,22,00,337,,26,03,304,11,27,41,264,28,28,58,081,26*7D {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":21,"used":true},{"PRN":9,"el":20,"az":262,"ss":33,"used":true},{"PRN":10,"el":16,"az":194,"ss":24,"used":true},{"PRN":15,"el":74,"az":263,"ss":45,"used":true},{"PRN":17,"el":14,"az":127,"ss":0,"used":false},{"PRN":18,"el":22,"az":315,"ss":22,"used":true},{"PRN":19,"el":5,"az":14,"ss":26,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":11,"used":false},{"PRN":27,"el":41,"az":264,"ss":28,"used":true},{"PRN":28,"el":58,"az":81,"ss":26,"used":true}]} $GPGLL,5405.6080,N,01049.4910,E,104722.000,A,A*51 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:22.000Z","ept":0.005,"lat":54.093466667,"lon":10.824850000,"alt":36.400,"epx":8.042,"epy":9.278,"epv":29.900,"track":14.1200,"speed":0.545,"climb":0.000,"eps":18.56} $GPRMC,104723.000,A,5405.6079,N,01049.4913,E,0.23,18.77,240709,,,A*52 $GPVTG,18.77,T,,M,0.23,N,0.4,K,A*31 $GPGGA,104723.000,5405.6079,N,01049.4913,E,1,08,0.9,36.2,M,43.6,M,,0000*67 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,22,09,20,262,32,10,16,194,25,15,74,263,43*77 $GPGSV,3,2,12,17,14,127,,18,22,315,23,19,05,014,26,21,00,284,*72 $GPGSV,3,3,12,22,00,337,,26,03,304,09,27,41,264,28,28,58,081,26*74 {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":22,"used":true},{"PRN":9,"el":20,"az":262,"ss":32,"used":true},{"PRN":10,"el":16,"az":194,"ss":25,"used":true},{"PRN":15,"el":74,"az":263,"ss":43,"used":true},{"PRN":17,"el":14,"az":127,"ss":0,"used":false},{"PRN":18,"el":22,"az":315,"ss":23,"used":true},{"PRN":19,"el":5,"az":14,"ss":26,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":9,"used":false},{"PRN":27,"el":41,"az":264,"ss":28,"used":true},{"PRN":28,"el":58,"az":81,"ss":26,"used":true}]} $GPGLL,5405.6079,N,01049.4913,E,104723.000,A,A*55 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:23.000Z","ept":0.005,"lat":54.093465000,"lon":10.824855000,"alt":36.200,"epx":8.042,"epy":9.278,"epv":29.900,"track":18.7700,"speed":0.118,"climb":0.000,"eps":18.56} $GPRMC,104724.000,A,5405.6076,N,01049.4916,E,0.43,25.48,240709,,,A*5B $GPVTG,25.48,T,,M,0.43,N,0.8,K,A*39 $GPGGA,104724.000,5405.6076,N,01049.4916,E,1,08,0.9,35.9,M,43.6,M,,0000*62 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,23,09,20,262,32,10,16,194,26,15,74,263,44*72 $GPGSV,3,2,12,17,14,127,,18,22,315,24,19,05,014,26,21,00,284,*75 $GPGSV,3,3,12,22,00,337,,26,03,304,11,27,41,264,27,28,58,081,26*72 {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":23,"used":true},{"PRN":9,"el":20,"az":262,"ss":32,"used":true},{"PRN":10,"el":16,"az":194,"ss":26,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":0,"used":false},{"PRN":18,"el":22,"az":315,"ss":24,"used":true},{"PRN":19,"el":5,"az":14,"ss":26,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":11,"used":false},{"PRN":27,"el":41,"az":264,"ss":27,"used":true},{"PRN":28,"el":58,"az":81,"ss":26,"used":true}]} $GPGLL,5405.6076,N,01049.4916,E,104724.000,A,A*58 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:24.000Z","ept":0.005,"lat":54.093460000,"lon":10.824860000,"alt":35.900,"epx":8.042,"epy":9.278,"epv":29.900,"track":25.4800,"speed":0.221,"climb":0.000,"eps":18.56} $GPRMC,104725.000,A,5405.6076,N,01049.4917,E,0.31,24.01,240709,,,A*52 $GPVTG,24.01,T,,M,0.31,N,0.6,K,A*3E $GPGGA,104725.000,5405.6076,N,01049.4917,E,1,08,0.9,35.6,M,43.6,M,,0000*6D $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,24,09,20,262,31,10,16,194,25,15,74,263,44*75 $GPGSV,3,2,12,17,14,127,,18,22,315,22,19,05,014,27,21,00,284,*72 $GPGSV,3,3,12,22,00,337,,26,03,304,09,27,41,264,25,28,58,081,25*7A {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":24,"used":true},{"PRN":9,"el":20,"az":262,"ss":31,"used":true},{"PRN":10,"el":16,"az":194,"ss":25,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":0,"used":false},{"PRN":18,"el":22,"az":315,"ss":22,"used":true},{"PRN":19,"el":5,"az":14,"ss":27,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":9,"used":false},{"PRN":27,"el":41,"az":264,"ss":25,"used":true},{"PRN":28,"el":58,"az":81,"ss":25,"used":true}]} $GPGLL,5405.6076,N,01049.4917,E,104725.000,A,A*58 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:25.000Z","ept":0.005,"lat":54.093460000,"lon":10.824861667,"alt":35.600,"epx":8.042,"epy":9.278,"epv":29.900,"track":24.0100,"speed":0.159,"climb":0.000,"eps":18.56} $GPRMC,104726.000,A,5405.6076,N,01049.4918,E,0.42,31.83,240709,,,A*54 $GPVTG,31.83,T,,M,0.42,N,0.8,K,A*3A $GPGGA,104726.000,5405.6076,N,01049.4918,E,1,08,0.9,35.3,M,43.6,M,,0000*64 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,22,09,20,262,32,10,16,194,24,15,74,263,44*71 $GPGSV,3,2,12,17,14,127,,18,22,315,21,19,05,014,27,21,00,284,*71 $GPGSV,3,3,12,22,00,337,,26,03,304,08,27,41,264,23,28,58,081,24*7C {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":22,"used":true},{"PRN":9,"el":20,"az":262,"ss":32,"used":true},{"PRN":10,"el":16,"az":194,"ss":24,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":0,"used":false},{"PRN":18,"el":22,"az":315,"ss":21,"used":true},{"PRN":19,"el":5,"az":14,"ss":27,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":8,"used":false},{"PRN":27,"el":41,"az":264,"ss":23,"used":true},{"PRN":28,"el":58,"az":81,"ss":24,"used":true}]} $GPGLL,5405.6076,N,01049.4918,E,104726.000,A,A*54 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:26.000Z","ept":0.005,"lat":54.093460000,"lon":10.824863333,"alt":35.300,"epx":8.042,"epy":9.278,"epv":29.900,"track":31.8300,"speed":0.216,"climb":0.000,"eps":18.56} $GPRMC,104727.000,A,5405.6077,N,01049.4916,E,0.80,28.30,240709,,,A*54 $GPVTG,28.30,T,,M,0.80,N,1.5,K,A*38 $GPGGA,104727.000,5405.6077,N,01049.4916,E,1,08,0.9,35.1,M,43.6,M,,0000*68 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,21,09,20,262,32,10,16,194,24,15,74,263,44*72 $GPGSV,3,2,12,17,14,127,,18,22,315,21,19,05,014,26,21,00,284,*70 $GPGSV,3,3,12,22,00,337,,26,03,304,08,27,41,264,24,28,58,081,24*7B {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":21,"used":true},{"PRN":9,"el":20,"az":262,"ss":32,"used":true},{"PRN":10,"el":16,"az":194,"ss":24,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":0,"used":false},{"PRN":18,"el":22,"az":315,"ss":21,"used":true},{"PRN":19,"el":5,"az":14,"ss":26,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":8,"used":false},{"PRN":27,"el":41,"az":264,"ss":24,"used":true},{"PRN":28,"el":58,"az":81,"ss":24,"used":true}]} $GPGLL,5405.6077,N,01049.4916,E,104727.000,A,A*5A {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:27.000Z","ept":0.005,"lat":54.093461667,"lon":10.824860000,"alt":35.100,"epx":8.042,"epy":9.278,"epv":29.900,"track":28.3000,"speed":0.412,"climb":0.000,"eps":18.56} $GPRMC,104728.000,A,5405.6078,N,01049.4918,E,0.56,28.66,240709,,,A*52 $GPVTG,28.66,T,,M,0.56,N,1.0,K,A*35 $GPGGA,104728.000,5405.6078,N,01049.4918,E,1,08,0.9,34.9,M,43.6,M,,0000*6F $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,22,09,20,262,32,10,16,194,25,15,74,263,44*70 $GPGSV,3,2,12,17,14,127,,18,22,315,21,19,05,014,27,21,00,284,*71 $GPGSV,3,3,12,22,00,337,,26,03,304,09,27,41,265,24,28,58,081,22*7D {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":22,"used":true},{"PRN":9,"el":20,"az":262,"ss":32,"used":true},{"PRN":10,"el":16,"az":194,"ss":25,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":0,"used":false},{"PRN":18,"el":22,"az":315,"ss":21,"used":true},{"PRN":19,"el":5,"az":14,"ss":27,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":9,"used":false},{"PRN":27,"el":41,"az":265,"ss":24,"used":true},{"PRN":28,"el":58,"az":81,"ss":22,"used":true}]} $GPGLL,5405.6078,N,01049.4918,E,104728.000,A,A*54 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:28.000Z","ept":0.005,"lat":54.093463333,"lon":10.824863333,"alt":34.900,"epx":8.042,"epy":9.278,"epv":29.900,"track":28.6600,"speed":0.288,"climb":0.000,"eps":18.56} $GPRMC,104729.000,A,5405.6076,N,01049.4921,E,0.51,34.94,240709,,,A*50 $GPVTG,34.94,T,,M,0.51,N,0.9,K,A*3A $GPGGA,104729.000,5405.6076,N,01049.4921,E,1,08,0.9,34.7,M,43.6,M,,0000*64 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,22,09,20,262,32,10,16,194,24,15,74,263,44*71 $GPGSV,3,2,12,17,14,127,,18,22,315,22,19,05,014,27,21,00,284,*72 $GPGSV,3,3,12,22,00,337,,26,03,304,08,27,41,265,25,28,58,081,22*7D {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":22,"used":true},{"PRN":9,"el":20,"az":262,"ss":32,"used":true},{"PRN":10,"el":16,"az":194,"ss":24,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":0,"used":false},{"PRN":18,"el":22,"az":315,"ss":22,"used":true},{"PRN":19,"el":5,"az":14,"ss":27,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":8,"used":false},{"PRN":27,"el":41,"az":265,"ss":25,"used":true},{"PRN":28,"el":58,"az":81,"ss":22,"used":true}]} $GPGLL,5405.6076,N,01049.4921,E,104729.000,A,A*51 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:29.000Z","ept":0.005,"lat":54.093460000,"lon":10.824868333,"alt":34.700,"epx":8.042,"epy":9.278,"epv":29.900,"track":34.9400,"speed":0.262,"climb":0.000,"eps":18.56} $GPRMC,104730.000,A,5405.6073,N,01049.4922,E,1.07,44.97,240709,,,A*58 $GPVTG,44.97,T,,M,1.07,N,2.0,K,A*37 $GPGGA,104730.000,5405.6073,N,01049.4922,E,1,08,0.9,34.5,M,43.6,M,,0000*68 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,23,09,20,262,33,10,16,194,23,15,74,263,44*76 $GPGSV,3,2,12,17,14,127,18,18,22,315,22,19,05,014,27,21,00,284,*7B $GPGSV,3,3,12,22,00,337,,26,03,304,08,27,41,265,25,28,58,081,21*7E {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":23,"used":true},{"PRN":9,"el":20,"az":262,"ss":33,"used":true},{"PRN":10,"el":16,"az":194,"ss":23,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":18,"used":false},{"PRN":18,"el":22,"az":315,"ss":22,"used":true},{"PRN":19,"el":5,"az":14,"ss":27,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":8,"used":false},{"PRN":27,"el":41,"az":265,"ss":25,"used":true},{"PRN":28,"el":58,"az":81,"ss":21,"used":true}]} $GPGLL,5405.6073,N,01049.4922,E,104730.000,A,A*5F {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:30.000Z","ept":0.005,"lat":54.093455000,"lon":10.824870000,"alt":34.500,"epx":8.042,"epy":9.278,"epv":29.900,"track":44.9700,"speed":0.550,"climb":0.000,"eps":18.56} $GPRMC,104731.000,A,5405.6070,N,01049.4926,E,0.67,50.17,240709,,,A*54 $GPVTG,50.17,T,,M,0.67,N,1.3,K,A*3D $GPGGA,104731.000,5405.6070,N,01049.4926,E,1,08,0.9,34.4,M,43.6,M,,0000*6F $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,21,09,20,262,33,10,16,194,23,15,74,263,44*74 $GPGSV,3,2,12,17,14,127,17,18,22,315,22,19,05,014,27,21,00,284,*74 $GPGSV,3,3,12,22,00,337,,26,03,304,08,27,41,265,26,28,58,081,22*7E {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":21,"used":true},{"PRN":9,"el":20,"az":262,"ss":33,"used":true},{"PRN":10,"el":16,"az":194,"ss":23,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":17,"used":false},{"PRN":18,"el":22,"az":315,"ss":22,"used":true},{"PRN":19,"el":5,"az":14,"ss":27,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":8,"used":false},{"PRN":27,"el":41,"az":265,"ss":26,"used":true},{"PRN":28,"el":58,"az":81,"ss":22,"used":true}]} $GPGLL,5405.6070,N,01049.4926,E,104731.000,A,A*59 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:31.000Z","ept":0.005,"lat":54.093450000,"lon":10.824876667,"alt":34.400,"epx":8.042,"epy":9.278,"epv":29.900,"track":50.1700,"speed":0.345,"climb":0.000,"eps":18.56} $GPRMC,104732.000,A,5405.6071,N,01049.4925,E,0.71,43.34,240709,,,A*51 $GPVTG,43.34,T,,M,0.71,N,1.3,K,A*39 $GPGGA,104732.000,5405.6071,N,01049.4925,E,1,08,0.9,34.3,M,43.6,M,,0000*69 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,21,09,20,262,34,10,16,194,23,15,74,263,44*73 $GPGSV,3,2,12,17,14,127,15,18,22,315,21,19,05,014,27,21,00,284,*75 $GPGSV,3,3,12,22,00,337,,26,03,304,,27,41,265,25,28,58,081,23*74 {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":21,"used":true},{"PRN":9,"el":20,"az":262,"ss":34,"used":true},{"PRN":10,"el":16,"az":194,"ss":23,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":15,"used":false},{"PRN":18,"el":22,"az":315,"ss":21,"used":true},{"PRN":19,"el":5,"az":14,"ss":27,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":0,"used":false},{"PRN":27,"el":41,"az":265,"ss":25,"used":true},{"PRN":28,"el":58,"az":81,"ss":23,"used":true}]} $GPGLL,5405.6071,N,01049.4925,E,104732.000,A,A*58 {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:32.000Z","ept":0.005,"lat":54.093451667,"lon":10.824875000,"alt":34.300,"epx":8.042,"epy":9.278,"epv":29.900,"track":43.3400,"speed":0.365,"climb":0.000,"eps":18.56} $GPRMC,104733.000,A,5405.6069,N,01049.4928,E,1.13,49.89,240709,,,A*5D $GPVTG,49.89,T,,M,1.13,N,2.1,K,A*31 $GPGGA,104733.000,5405.6069,N,01049.4928,E,1,08,0.9,34.1,M,43.6,M,,0000*6E $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,22,09,20,262,33,10,16,194,22,15,74,263,44*76 $GPGSV,3,2,12,17,14,127,16,18,22,315,22,19,05,014,27,21,00,284,*75 $GPGSV,3,3,12,22,00,337,,26,03,304,,27,41,265,24,28,58,081,24*72 {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":22,"used":true},{"PRN":9,"el":20,"az":262,"ss":33,"used":true},{"PRN":10,"el":16,"az":194,"ss":22,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":16,"used":false},{"PRN":18,"el":22,"az":315,"ss":22,"used":true},{"PRN":19,"el":5,"az":14,"ss":27,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":0,"used":false},{"PRN":27,"el":41,"az":265,"ss":24,"used":true},{"PRN":28,"el":58,"az":81,"ss":24,"used":true}]} $GPGLL,5405.6069,N,01049.4928,E,104733.000,A,A*5D {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:33.000Z","ept":0.005,"lat":54.093448333,"lon":10.824880000,"alt":34.100,"epx":8.042,"epy":9.278,"epv":29.900,"track":49.8900,"speed":0.581,"climb":0.000,"eps":18.56} $GPRMC,104734.000,A,5405.6070,N,01049.4930,E,1.06,48.90,240709,,,A*56 $GPVTG,48.90,T,,M,1.06,N,2.0,K,A*3D $GPGGA,104734.000,5405.6070,N,01049.4930,E,1,08,0.9,34.0,M,43.6,M,,0000*69 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,23,09,20,262,34,10,16,194,23,15,74,263,44*71 $GPGSV,3,2,12,17,14,127,17,18,22,315,22,19,05,014,27,21,00,284,*74 $GPGSV,3,3,12,22,00,337,,26,03,304,,27,41,265,24,28,58,081,24*72 {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":23,"used":true},{"PRN":9,"el":20,"az":262,"ss":34,"used":true},{"PRN":10,"el":16,"az":194,"ss":23,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":17,"used":false},{"PRN":18,"el":22,"az":315,"ss":22,"used":true},{"PRN":19,"el":5,"az":14,"ss":27,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":0,"used":false},{"PRN":27,"el":41,"az":265,"ss":24,"used":true},{"PRN":28,"el":58,"az":81,"ss":24,"used":true}]} $GPGLL,5405.6070,N,01049.4930,E,104734.000,A,A*5B {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:34.000Z","ept":0.005,"lat":54.093450000,"lon":10.824883333,"alt":34.000,"epx":8.042,"epy":9.278,"epv":29.900,"track":48.9000,"speed":0.545,"climb":0.000,"eps":18.56} $GPRMC,104735.000,A,5405.6071,N,01049.4935,E,0.96,50.63,240709,,,A*5E $GPVTG,50.63,T,,M,0.96,N,1.8,K,A*3B $GPGGA,104735.000,5405.6071,N,01049.4935,E,1,08,0.9,33.8,M,43.6,M,,0000*63 $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,23,09,20,262,33,10,16,194,23,15,74,263,44*76 $GPGSV,3,2,12,17,14,127,16,18,22,315,22,19,05,014,27,21,00,284,*75 $GPGSV,3,3,12,22,00,337,,26,03,304,,27,41,265,24,28,58,081,24*72 {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":23,"used":true},{"PRN":9,"el":20,"az":262,"ss":33,"used":true},{"PRN":10,"el":16,"az":194,"ss":23,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":16,"used":false},{"PRN":18,"el":22,"az":315,"ss":22,"used":true},{"PRN":19,"el":5,"az":14,"ss":27,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":0,"used":false},{"PRN":27,"el":41,"az":265,"ss":24,"used":true},{"PRN":28,"el":58,"az":81,"ss":24,"used":true}]} $GPGLL,5405.6071,N,01049.4935,E,104735.000,A,A*5E {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:35.000Z","ept":0.005,"lat":54.093451667,"lon":10.824891667,"alt":33.800,"epx":8.042,"epy":9.278,"epv":29.900,"track":50.6300,"speed":0.494,"climb":0.000,"eps":18.56} $GPRMC,104736.000,A,5405.6072,N,01049.4936,E,0.52,50.27,240709,,,A*55 $GPVTG,50.27,T,,M,0.52,N,1.0,K,A*3B $GPGGA,104736.000,5405.6072,N,01049.4936,E,1,08,0.9,33.7,M,43.6,M,,0000*6F $GPGSA,A,3,28,18,27,19,08,09,10,15,,,,,1.6,0.9,1.3*34 $GPGSV,3,1,12,08,30,075,23,09,20,262,33,10,16,194,24,15,74,263,44*71 $GPGSV,3,2,12,17,14,127,16,18,22,315,21,19,05,014,27,21,00,284,*76 $GPGSV,3,3,12,22,00,337,,26,03,304,,27,41,265,24,28,58,081,24*72 {"class":"SKY","tag":"GSV","xdop":0.54,"ydop":0.62,"vdop":1.30,"tdop":0.59,"hdop":0.90,"gdop":1.65,"pdop":1.60,"satellites":[{"PRN":8,"el":30,"az":75,"ss":23,"used":true},{"PRN":9,"el":20,"az":262,"ss":33,"used":true},{"PRN":10,"el":16,"az":194,"ss":24,"used":true},{"PRN":15,"el":74,"az":263,"ss":44,"used":true},{"PRN":17,"el":14,"az":127,"ss":16,"used":false},{"PRN":18,"el":22,"az":315,"ss":21,"used":true},{"PRN":19,"el":5,"az":14,"ss":27,"used":true},{"PRN":21,"el":0,"az":284,"ss":0,"used":false},{"PRN":22,"el":0,"az":337,"ss":0,"used":false},{"PRN":26,"el":3,"az":304,"ss":0,"used":false},{"PRN":27,"el":41,"az":265,"ss":24,"used":true},{"PRN":28,"el":58,"az":81,"ss":24,"used":true}]} $GPGLL,5405.6072,N,01049.4936,E,104736.000,A,A*5D {"class":"TPV","tag":"GLL","mode":3,"time":"2009-07-24T10:47:36.000Z","ept":0.005,"lat":54.093453333,"lon":10.824893333,"alt":33.700,"epx":8.042,"epy":9.278,"epv":29.900,"track":50.2700,"speed":0.268,"climb":0.000,"eps":18.56} gpsd-3.9/test/daemon/nl551e.log0000600000175000017500000004550412022366343014425 0ustar esresr# Name: Navilock NL-551EUSB ublox5 # Chipset = u-blox5 GPS & GALILEO SuperSense # Firmware = 6.02 # Date = 2012-07-03 # Submitter = Bas van Duijnhoven # Location = Rheden, NL, 52.002N 6.036E $GPRMC,191418.00,V,,,,,,,040712,,,N*79 $GPVTG,,,,,,,,,N*30 $GPGGA,191418.00,,,,,0,00,99.99,,,,,,*62 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,38,07,,,36,16,,,37,18,,,41*78 $GPGSV,2,2,07,19,,,39,22,,,39,30,,,43*72 $GPGLL,,,,,191418.00,V,N*4E $GPTXT,01,01,02,u-blox ag - www.u-blox.com*50 $GPTXT,01,01,02,HW UBX-G50xx 00040005 *53 $GPTXT,01,01,02,EXT CORE 6.02 (36023) Oct 15 2009 16:52:22*47 $GPTXT,01,01,02,ROM BASE 5.00 (28483) Jun 6 2008 14:45:11*4E $GPTXT,01,01,02,MOD LEA-5H-0*2E $GPTXT,01,01,02,ANTSUPERV=AC SD PDoS SR*20 $GPTXT,01,01,02,ANTSTATUS=OK*3B $GPRMC,191419.00,V,,,,,,,040712,,,N*78 $GPVTG,,,,,,,,,N*30 $GPGGA,191419.00,,,,,0,00,99.99,,,,,,*63 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,37,07,,,35,16,,,36,18,,,41*75 $GPGSV,2,2,07,19,,,39,22,,,38,30,,,42*72 $GPGLL,,,,,191419.00,V,N*4F $GPRMC,191420.00,V,,,,,,,040712,,,N*72 $GPVTG,,,,,,,,,N*30 $GPGGA,191420.00,,,,,0,00,99.99,,,,,,*69 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,35,07,,,32,16,,,33,18,,,39*7A $GPGSV,2,2,07,19,,,36,22,,,35,30,,,40*72 $GPGLL,,,,,191420.00,V,N*45 $GPRMC,191421.00,V,,,,,,,040712,,,N*73 $GPVTG,,,,,,,,,N*30 $GPGGA,191421.00,,,,,0,00,99.99,,,,,,*68 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,36,07,,,34,16,,,35,18,,,40*77 $GPGSV,2,2,07,19,,,37,22,,,37,30,,,41*70 $GPGLL,,,,,191421.00,V,N*44 $GPRMC,191422.00,V,,,,,,,040712,,,N*70 $GPVTG,,,,,,,,,N*30 $GPGGA,191422.00,,,,,0,00,99.99,,,,,,*6B $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,36,07,,,34,16,,,35,18,,,40*77 $GPGSV,2,2,07,19,,,38,22,,,37,30,,,41*7F $GPGLL,,,,,191422.00,V,N*47 $GPRMC,191423.00,V,,,,,,,040712,,,N*71 $GPVTG,,,,,,,,,N*30 $GPGGA,191423.00,,,,,0,00,99.99,,,,,,*6A $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,37,07,,,35,16,,,36,18,,,41*75 $GPGSV,2,2,07,19,,,38,22,,,37,30,,,42*7C $GPGLL,,,,,191423.00,V,N*46 $GPRMC,191424.00,V,,,,,,,040712,,,N*76 $GPVTG,,,,,,,,,N*30 $GPGGA,191424.00,,,,,0,00,99.99,,,,,,*6D $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,37,07,,,35,16,,,35,18,,,41*76 $GPGSV,2,2,07,19,,,38,22,,,37,30,,,42*7C $GPGLL,,,,,191424.00,V,N*41 $GPRMC,191425.00,V,,,,,,,040712,,,N*77 $GPVTG,,,,,,,,,N*30 $GPGGA,191425.00,,,,,0,00,99.99,,,,,,*6C $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,37,07,,,35,16,,,35,18,,,41*76 $GPGSV,2,2,07,19,,,38,22,,,37,30,,,42*7C $GPGLL,,,,,191425.00,V,N*40 $GPRMC,191426.00,V,,,,,,,040712,,,N*74 $GPVTG,,,,,,,,,N*30 $GPGGA,191426.00,,,,,0,00,99.99,,,,,,*6F $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,37,07,,,35,16,,,36,18,,,41*75 $GPGSV,2,2,07,19,,,38,22,,,37,30,,,42*7C $GPGLL,,,,,191426.00,V,N*43 $GPRMC,191427.00,V,,,,,,,040712,,,N*75 $GPVTG,,,,,,,,,N*30 $GPGGA,191427.00,,,,,0,00,99.99,,,,,,*6E $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,37,07,,,35,16,,,36,18,,,41*75 $GPGSV,2,2,07,19,,,39,22,,,37,30,,,42*7D $GPGLL,,,,,191427.00,V,N*42 $GPRMC,191428.00,V,,,,,,,040712,,,N*7A $GPVTG,,,,,,,,,N*30 $GPGGA,191428.00,,,,,0,00,99.99,,,,,,*61 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,37,07,,,35,16,,,36,18,,,41*75 $GPGSV,2,2,07,19,,,39,22,,,37,30,,,42*7D $GPGLL,,,,,191428.00,V,N*4D $GPRMC,191429.00,V,,,,,,,040712,,,N*7B $GPVTG,,,,,,,,,N*30 $GPGGA,191429.00,,,,,0,00,99.99,,,,,,*60 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,37,07,,,35,16,,,36,18,,,40*74 $GPGSV,2,2,07,19,,,39,22,,,37,30,,,42*7D $GPGLL,,,,,191429.00,V,N*4C $GPRMC,191430.00,V,,,,,,,040712,,,N*73 $GPVTG,,,,,,,,,N*30 $GPGGA,191430.00,,,,,0,00,99.99,,,,,,*68 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,37,07,,,35,16,,,36,18,,,41*75 $GPGSV,2,2,07,19,,,39,22,,,37,30,,,42*7D $GPGLL,,,,,191430.00,V,N*44 $GPRMC,191431.00,V,,,,,,,040712,,,N*72 $GPVTG,,,,,,,,,N*30 $GPGGA,191431.00,,,,,0,00,99.99,,,,,,*69 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,37,07,,,35,16,,,36,18,,,40*74 $GPGSV,2,2,07,19,,,39,22,,,37,30,,,42*7D $GPGLL,,,,,191431.00,V,N*45 $GPRMC,191432.00,V,,,,,,,040712,,,N*71 $GPVTG,,,,,,,,,N*30 $GPGGA,191432.00,,,,,0,00,99.99,,,,,,*6A $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,37,07,,,35,16,,,36,18,,,40*74 $GPGSV,2,2,07,19,,,39,22,,,37,30,,,42*7D $GPGLL,,,,,191432.00,V,N*46 $GPRMC,191433.01,A,5200.17080,N,00602.17433,E,0.203,,040712,,,A*72 $GPVTG,,T,,M,0.203,N,0.375,K,A*23 $GPGGA,191433.01,5200.17080,N,00602.17433,E,1,07,1.45,20.7,M,46.1,M,,*6E $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.31,1.45,1.80*0A $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,40*7D $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 $GPGLL,5200.17080,N,00602.17433,E,191433.01,A,A*6A $GPRMC,191434.00,A,5200.17079,N,00602.17433,E,0.044,,040712,,,A*73 $GPVTG,,T,,M,0.044,N,0.082,K,A*29 $GPGGA,191434.00,5200.17079,N,00602.17433,E,1,07,1.45,20.8,M,46.1,M,,*61 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.31,1.45,1.80*0A $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,40*7D $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 $GPGLL,5200.17079,N,00602.17433,E,191434.00,A,A*6A $GPRMC,191435.00,A,5200.17069,N,00602.17412,E,0.064,,040712,,,A*72 $GPVTG,,T,,M,0.064,N,0.118,K,A*29 $GPGGA,191435.00,5200.17069,N,00602.17412,E,1,07,1.45,20.9,M,46.1,M,,*63 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.31,1.45,1.80*0A $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,40*7D $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 $GPGLL,5200.17069,N,00602.17412,E,191435.00,A,A*69 $GPRMC,191436.00,A,5200.17065,N,00602.17411,E,0.066,,040712,,,A*7C $GPVTG,,T,,M,0.066,N,0.122,K,A*22 $GPGGA,191436.00,5200.17065,N,00602.17411,E,1,07,1.45,21.1,M,46.1,M,,*66 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.31,1.45,1.80*0A $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,40*7D $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 $GPGLL,5200.17065,N,00602.17411,E,191436.00,A,A*65 $GPRMC,191437.00,A,5200.17063,N,00602.17412,E,0.084,,040712,,,A*74 $GPVTG,,T,,M,0.084,N,0.155,K,A*2E $GPGGA,191437.00,5200.17063,N,00602.17412,E,1,07,1.45,21.3,M,46.1,M,,*60 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.31,1.45,1.80*0A $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,35,18,43,111,40*7E $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 $GPGLL,5200.17063,N,00602.17412,E,191437.00,A,A*61 $GPRMC,191438.00,A,5200.17065,N,00602.17414,E,0.066,,040712,,,A*77 $GPVTG,,T,,M,0.066,N,0.121,K,A*21 $GPGGA,191438.00,5200.17065,N,00602.17414,E,1,07,1.45,21.5,M,46.1,M,,*69 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.31,1.45,1.80*0A $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,35,18,43,111,40*7E $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 $GPGLL,5200.17065,N,00602.17414,E,191438.00,A,A*6E $GPRMC,191439.00,A,5200.17074,N,00602.17422,E,0.013,,040712,,,A*71 $GPVTG,,T,,M,0.013,N,0.024,K,A*27 $GPGGA,191439.00,5200.17074,N,00602.17422,E,1,07,1.45,21.5,M,46.1,M,,*6D $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,35,18,43,111,40*7E $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 $GPGLL,5200.17074,N,00602.17422,E,191439.00,A,A*6A $GPRMC,191440.00,A,5200.17080,N,00602.17430,E,0.011,,040712,,,A*75 $GPVTG,,T,,M,0.011,N,0.020,K,A*21 $GPGGA,191440.00,5200.17080,N,00602.17430,E,1,07,1.45,21.4,M,46.1,M,,*6A $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,40*7D $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 $GPGLL,5200.17080,N,00602.17430,E,191440.00,A,A*6C $GPRMC,191441.00,A,5200.17084,N,00602.17436,E,0.011,,040712,,,A*76 $GPVTG,,T,,M,0.011,N,0.021,K,A*20 $GPGGA,191441.00,5200.17084,N,00602.17436,E,1,07,1.45,21.2,M,46.1,M,,*6F $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,40*7D $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 $GPGLL,5200.17084,N,00602.17436,E,191441.00,A,A*6F $GPRMC,191442.00,A,5200.17092,N,00602.17444,E,0.011,,040712,,,A*77 $GPVTG,,T,,M,0.011,N,0.021,K,A*20 $GPGGA,191442.00,5200.17092,N,00602.17444,E,1,07,1.45,21.2,M,46.1,M,,*6E $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,40*7D $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 $GPGLL,5200.17092,N,00602.17444,E,191442.00,A,A*6E $GPRMC,191443.00,A,5200.17100,N,00602.17451,E,0.009,,040712,,,A*71 $GPVTG,,T,,M,0.009,N,0.017,K,A*2C $GPGGA,191443.00,5200.17100,N,00602.17451,E,1,07,1.45,21.2,M,46.1,M,,*61 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,36,16,68,221,36,18,43,111,40*7E $GPGSV,2,2,07,19,22,279,39,22,24,159,38,30,43,182,42*49 $GPGLL,5200.17100,N,00602.17451,E,191443.00,A,A*61 $GPRMC,191444.00,A,5200.17105,N,00602.17454,E,0.011,,040712,,,A*7F $GPVTG,,T,,M,0.011,N,0.020,K,A*21 $GPGGA,191444.00,5200.17105,N,00602.17454,E,1,07,1.45,21.2,M,46.1,M,,*66 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,36,16,68,221,36,18,43,111,39*70 $GPGSV,2,2,07,19,22,279,39,22,24,159,38,30,43,182,42*49 $GPGLL,5200.17105,N,00602.17454,E,191444.00,A,A*66 $GPRMC,191445.00,A,5200.17109,N,00602.17462,E,0.010,,040712,,,A*76 $GPVTG,,T,,M,0.010,N,0.019,K,A*2A $GPGGA,191445.00,5200.17109,N,00602.17462,E,1,07,1.45,21.2,M,46.1,M,,*6E $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,39*73 $GPGSV,2,2,07,19,22,279,39,22,24,159,38,30,43,182,42*49 $GPGLL,5200.17109,N,00602.17462,E,191445.00,A,A*6E $GPRMC,191446.00,A,5200.17115,N,00602.17470,E,0.009,,040712,,,A*73 $GPVTG,,T,,M,0.009,N,0.016,K,A*2D $GPGGA,191446.00,5200.17115,N,00602.17470,E,1,07,1.45,21.2,M,46.1,M,,*63 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,39*73 $GPGSV,2,2,07,19,22,279,39,22,24,159,38,30,43,182,42*49 $GPGLL,5200.17115,N,00602.17470,E,191446.00,A,A*63 $GPRMC,191447.00,A,5200.17120,N,00602.17480,E,0.010,,040712,,,A*73 $GPVTG,,T,,M,0.010,N,0.019,K,A*2A $GPGGA,191447.00,5200.17120,N,00602.17480,E,1,07,1.45,21.1,M,46.1,M,,*68 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,39*73 $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 $GPGLL,5200.17120,N,00602.17480,E,191447.00,A,A*6B $GPRMC,191448.00,A,5200.17125,N,00602.17490,E,0.008,,040712,,,A*71 $GPVTG,,T,,M,0.008,N,0.015,K,A*2F $GPGGA,191448.00,5200.17125,N,00602.17490,E,1,07,1.45,21.1,M,46.1,M,,*63 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,39*73 $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 $GPGLL,5200.17125,N,00602.17490,E,191448.00,A,A*60 $GPRMC,191449.00,A,5200.17131,N,00602.17499,E,0.007,,040712,,,A*73 $GPVTG,,T,,M,0.007,N,0.013,K,A*26 $GPGGA,191449.00,5200.17131,N,00602.17499,E,1,07,1.45,21.1,M,46.1,M,,*6E $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,39*73 $GPGSV,2,2,07,19,22,279,39,22,24,159,38,30,43,182,43*48 $GPGLL,5200.17131,N,00602.17499,E,191449.00,A,A*6D $GPRMC,191450.00,A,5200.17136,N,00602.17509,E,0.008,,040712,,,A*7B $GPVTG,,T,,M,0.008,N,0.015,K,A*2F $GPGGA,191450.00,5200.17136,N,00602.17509,E,1,07,1.45,21.1,M,46.1,M,,*69 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,39*73 $GPGSV,2,2,07,19,22,279,40,22,24,159,38,30,43,182,43*46 $GPGLL,5200.17136,N,00602.17509,E,191450.00,A,A*6A $GPRMC,191451.00,A,5200.17139,N,00602.17519,E,0.007,,040712,,,A*7B $GPVTG,,T,,M,0.007,N,0.013,K,A*26 $GPGGA,191451.00,5200.17139,N,00602.17519,E,1,07,1.45,21.0,M,46.1,M,,*67 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,39*73 $GPGSV,2,2,07,19,22,279,40,22,24,159,37,30,43,182,43*49 $GPGLL,5200.17139,N,00602.17519,E,191451.00,A,A*65 $GPRMC,191452.00,A,5200.17141,N,00602.17526,E,0.006,,040712,,,A*7A $GPVTG,,T,,M,0.006,N,0.012,K,A*26 $GPGGA,191452.00,5200.17141,N,00602.17526,E,1,07,1.45,21.0,M,46.1,M,,*67 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,39*7C $GPGSV,2,2,08,19,22,279,39,22,24,159,37,30,43,182,43,33,27,206,35*7F $GPGLL,5200.17141,N,00602.17526,E,191452.00,A,A*65 $GPRMC,191453.00,A,5200.17144,N,00602.17534,E,0.004,,040712,,,A*7F $GPVTG,,T,,M,0.004,N,0.008,K,A*2F $GPGGA,191453.00,5200.17144,N,00602.17534,E,1,07,1.45,21.0,M,46.1,M,,*60 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,36,16,68,221,36,18,43,111,39*7F $GPGSV,2,2,08,19,22,279,39,22,24,159,37,30,43,182,43,33,27,206,35*7F $GPGLL,5200.17144,N,00602.17534,E,191453.00,A,A*62 $GPRMC,191454.00,A,5200.17146,N,00602.17540,E,0.006,,040712,,,A*7B $GPVTG,,T,,M,0.006,N,0.011,K,A*25 $GPGGA,191454.00,5200.17146,N,00602.17540,E,1,07,1.45,21.0,M,46.1,M,,*66 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,35,16,68,221,35,18,43,111,39*7F $GPGSV,2,2,08,19,22,279,40,22,24,159,37,30,43,182,43,33,27,206,35*71 $GPGLL,5200.17146,N,00602.17540,E,191454.00,A,A*64 $GPRMC,191455.00,A,5200.17148,N,00602.17544,E,0.005,,040712,,,A*73 $GPVTG,,T,,M,0.005,N,0.009,K,A*2F $GPGGA,191455.00,5200.17148,N,00602.17544,E,1,07,1.45,21.1,M,46.1,M,,*6C $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,35,16,68,221,35,18,43,111,38*7E $GPGSV,2,2,08,19,22,279,40,22,24,159,37,30,43,182,43,33,27,206,35*71 $GPGLL,5200.17148,N,00602.17544,E,191455.00,A,A*6F $GPRMC,191456.00,A,5200.17151,N,00602.17548,E,0.003,,040712,,,A*72 $GPVTG,,T,,M,0.003,N,0.005,K,A*25 $GPGGA,191456.00,5200.17151,N,00602.17548,E,1,07,1.45,21.1,M,46.1,M,,*6B $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,35,16,68,221,35,18,43,111,39*7F $GPGSV,2,2,08,19,22,279,40,22,24,159,37,30,43,182,43,33,27,206,35*71 $GPGLL,5200.17151,N,00602.17548,E,191456.00,A,A*68 $GPRMC,191457.00,A,5200.17153,N,00602.17553,E,0.005,,040712,,,A*7D $GPVTG,,T,,M,0.005,N,0.009,K,A*2F $GPGGA,191457.00,5200.17153,N,00602.17553,E,1,07,1.45,21.2,M,46.1,M,,*61 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,35,16,68,221,35,18,43,111,39*7F $GPGSV,2,2,08,19,22,279,40,22,24,159,37,30,43,182,43,33,27,206,35*71 $GPGLL,5200.17153,N,00602.17553,E,191457.00,A,A*61 $GPRMC,191458.00,A,5200.17156,N,00602.17557,E,0.005,,040712,,,A*73 $GPVTG,,T,,M,0.005,N,0.010,K,A*27 $GPGGA,191458.00,5200.17156,N,00602.17557,E,1,07,1.45,21.3,M,46.1,M,,*6E $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,36,16,68,221,35,18,43,111,39*7C $GPGSV,2,2,08,19,22,279,40,22,24,159,38,30,43,182,43,33,27,206,35*7E $GPGLL,5200.17156,N,00602.17557,E,191458.00,A,A*6F $GPRMC,191459.00,A,5200.17157,N,00602.17560,E,0.005,,040712,,,A*77 $GPVTG,,T,,M,0.005,N,0.009,K,A*2F $GPGGA,191459.00,5200.17157,N,00602.17560,E,1,07,1.45,21.3,M,46.1,M,,*6A $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,36,16,68,221,35,18,43,111,39*7C $GPGSV,2,2,08,19,22,279,40,22,24,159,38,30,43,182,43,33,27,206,35*7E $GPGLL,5200.17157,N,00602.17560,E,191459.00,A,A*6B $GPRMC,191500.00,A,5200.17158,N,00602.17562,E,0.006,,040712,,,A*74 $GPVTG,,T,,M,0.006,N,0.012,K,A*26 $GPGGA,191500.00,5200.17158,N,00602.17562,E,1,07,1.45,21.4,M,46.1,M,,*6D $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,36,16,68,221,35,18,43,111,39*7C $GPGSV,2,2,08,19,22,279,40,22,24,159,38,30,43,182,43,33,27,206,35*7E $GPGLL,5200.17158,N,00602.17562,E,191500.00,A,A*6B $GPRMC,191501.00,A,5200.17158,N,00602.17562,E,0.006,,040712,,,A*75 $GPVTG,,T,,M,0.006,N,0.011,K,A*25 $GPGGA,191501.00,5200.17158,N,00602.17562,E,1,07,1.45,21.5,M,46.1,M,,*6D $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,35,16,68,221,35,18,43,111,39*7F $GPGSV,2,2,08,19,22,279,40,22,24,159,38,30,43,182,43,33,27,206,35*7E $GPGLL,5200.17158,N,00602.17562,E,191501.00,A,A*6A $GPRMC,191502.00,A,5200.17160,N,00602.17564,E,0.005,,040712,,,A*78 $GPVTG,,T,,M,0.005,N,0.009,K,A*2F $GPGGA,191502.00,5200.17160,N,00602.17564,E,1,07,1.45,21.5,M,46.1,M,,*63 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,36,16,68,221,35,18,43,111,39*7C $GPGSV,2,2,08,19,22,279,40,22,24,159,38,30,43,182,43,33,27,206,35*7E $GPGLL,5200.17160,N,00602.17564,E,191502.00,A,A*64 $GPRMC,191503.00,A,5200.17163,N,00602.17565,E,0.004,,040712,,,A*7A $GPVTG,,T,,M,0.004,N,0.008,K,A*2F $GPGGA,191503.00,5200.17163,N,00602.17565,E,1,07,1.45,21.6,M,46.1,M,,*63 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,36,16,68,221,35,18,43,111,39*7C $GPGSV,2,2,08,19,22,279,40,22,24,159,37,30,43,182,44,33,27,206,35*76 $GPGLL,5200.17163,N,00602.17565,E,191503.00,A,A*67 $GPRMC,191504.00,A,5200.17166,N,00602.17567,E,0.005,,040712,,,A*7B $GPVTG,,T,,M,0.005,N,0.009,K,A*2F $GPGGA,191504.00,5200.17166,N,00602.17567,E,1,07,1.45,21.6,M,46.1,M,,*63 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,36,16,68,221,35,18,43,111,39*7C $GPGSV,2,2,08,19,22,279,40,22,24,159,37,30,43,182,44,33,27,206,35*76 $GPGLL,5200.17166,N,00602.17567,E,191504.00,A,A*67 $GPRMC,191505.00,A,5200.17168,N,00602.17570,E,0.007,,040712,,,A*70 $GPVTG,,T,,M,0.007,N,0.013,K,A*26 $GPGGA,191505.00,5200.17168,N,00602.17570,E,1,07,1.45,21.7,M,46.1,M,,*6B $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,36,07,18,316,36,16,68,221,35,18,43,111,39*7D $GPGSV,2,2,08,19,22,279,40,22,24,159,37,30,43,182,44,33,27,206,35*76 $GPGLL,5200.17168,N,00602.17570,E,191505.00,A,A*6E $GPRMC,191506.00,A,5200.17169,N,00602.17570,E,0.005,,040712,,,A*70 $GPVTG,,T,,M,0.005,N,0.010,K,A*27 $GPGGA,191506.00,5200.17169,N,00602.17570,E,1,07,1.45,21.8,M,46.1,M,,*66 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,36,07,18,316,36,16,68,221,35,18,43,111,39*7D $GPGSV,2,2,08,19,22,279,40,22,24,159,37,30,43,182,44,33,27,206,35*76 $GPGLL,5200.17169,N,00602.17570,E,191506.00,A,A*6C $GPRMC,191507.00,A,5200.17170,N,00602.17568,E,0.008,,040712,,,A*7D $GPVTG,,T,,M,0.008,N,0.015,K,A*2F $GPGGA,191507.00,5200.17170,N,00602.17568,E,1,07,1.45,21.9,M,46.1,M,,*67 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,36,07,18,316,36,16,68,221,34,18,43,111,39*7C $GPGSV,2,2,08,19,22,279,40,22,24,159,37,30,43,182,44,33,27,206,35*76 $GPGLL,5200.17170,N,00602.17568,E,191507.00,A,A*6C $GPRMC,191508.00,A,5200.17170,N,00602.17565,E,0.009,,040712,,,A*7E $GPVTG,,T,,M,0.009,N,0.016,K,A*2D $GPGGA,191508.00,5200.17170,N,00602.17565,E,1,07,1.45,22.0,M,46.1,M,,*6F $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,36,07,18,316,36,16,68,221,34,18,43,111,39*7C $GPGSV,2,2,08,19,22,279,40,22,24,159,37,30,43,182,44,33,27,206,35*76 $GPGLL,5200.17170,N,00602.17565,E,191508.00,A,A*6E gpsd-3.9/test/daemon/nl551e.log.chk0000664000175000017500000012741012135526400015175 0ustar esresr$GPRMC,191418.00,V,,,,,,,040712,,,N*79 $GPVTG,,,,,,,,,N*30 $GPGGA,191418.00,,,,,0,00,99.99,,,,,,*62 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,2,1,07,03,,,38,07,,,36,16,,,37,18,,,41*78 $GPGSV,2,2,07,19,,,39,22,,,39,30,,,43*72 $GPGLL,,,,,191418.00,V,N*4E $GPTXT,01,01,02,u-blox ag - www.u-blox.com*50 $GPTXT,01,01,02,HW UBX-G50xx 00040005 *53 $GPTXT,01,01,02,EXT CORE 6.02 (36023) Oct 15 2009 16:52:22*47 $GPTXT,01,01,02,ROM BASE 5.00 (28483) Jun 6 2008 14:45:11*4E $GPTXT,01,01,02,MOD LEA-5H-0*2E $GPTXT,01,01,02,ANTSUPERV=AC SD PDoS SR*20 $GPTXT,01,01,02,ANTSTATUS=OK*3B $GPRMC,191419.00,V,,,,,,,040712,,,N*78 $GPVTG,,,,,,,,,N*30 $GPGGA,191419.00,,,,,0,00,99.99,,,,,,*63 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,2,1,07,03,,,37,07,,,35,16,,,36,18,,,41*75 $GPGSV,2,2,07,19,,,39,22,,,38,30,,,42*72 $GPGLL,,,,,191419.00,V,N*4F $GPRMC,191420.00,V,,,,,,,040712,,,N*72 $GPVTG,,,,,,,,,N*30 $GPGGA,191420.00,,,,,0,00,99.99,,,,,,*69 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,35,07,,,32,16,,,33,18,,,39*7A $GPGSV,2,2,07,19,,,36,22,,,35,30,,,40*72 $GPGLL,,,,,191420.00,V,N*45 $GPRMC,191421.00,V,,,,,,,040712,,,N*73 $GPVTG,,,,,,,,,N*30 $GPGGA,191421.00,,,,,0,00,99.99,,,,,,*68 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,36,07,,,34,16,,,35,18,,,40*77 $GPGSV,2,2,07,19,,,37,22,,,37,30,,,41*70 $GPGLL,,,,,191421.00,V,N*44 $GPRMC,191422.00,V,,,,,,,040712,,,N*70 $GPVTG,,,,,,,,,N*30 $GPGGA,191422.00,,,,,0,00,99.99,,,,,,*6B $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,36,07,,,34,16,,,35,18,,,40*77 $GPGSV,2,2,07,19,,,38,22,,,37,30,,,41*7F $GPGLL,,,,,191422.00,V,N*47 $GPRMC,191423.00,V,,,,,,,040712,,,N*71 $GPVTG,,,,,,,,,N*30 $GPGGA,191423.00,,,,,0,00,99.99,,,,,,*6A $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,37,07,,,35,16,,,36,18,,,41*75 $GPGSV,2,2,07,19,,,38,22,,,37,30,,,42*7C $GPGLL,,,,,191423.00,V,N*46 $GPRMC,191424.00,V,,,,,,,040712,,,N*76 $GPVTG,,,,,,,,,N*30 $GPGGA,191424.00,,,,,0,00,99.99,,,,,,*6D $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,37,07,,,35,16,,,35,18,,,41*76 $GPGSV,2,2,07,19,,,38,22,,,37,30,,,42*7C $GPGLL,,,,,191424.00,V,N*41 $GPRMC,191425.00,V,,,,,,,040712,,,N*77 $GPVTG,,,,,,,,,N*30 $GPGGA,191425.00,,,,,0,00,99.99,,,,,,*6C $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,37,07,,,35,16,,,35,18,,,41*76 $GPGSV,2,2,07,19,,,38,22,,,37,30,,,42*7C $GPGLL,,,,,191425.00,V,N*40 $GPRMC,191426.00,V,,,,,,,040712,,,N*74 $GPVTG,,,,,,,,,N*30 $GPGGA,191426.00,,,,,0,00,99.99,,,,,,*6F $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,37,07,,,35,16,,,36,18,,,41*75 $GPGSV,2,2,07,19,,,38,22,,,37,30,,,42*7C $GPGLL,,,,,191426.00,V,N*43 $GPRMC,191427.00,V,,,,,,,040712,,,N*75 $GPVTG,,,,,,,,,N*30 $GPGGA,191427.00,,,,,0,00,99.99,,,,,,*6E $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,37,07,,,35,16,,,36,18,,,41*75 $GPGSV,2,2,07,19,,,39,22,,,37,30,,,42*7D $GPGLL,,,,,191427.00,V,N*42 $GPRMC,191428.00,V,,,,,,,040712,,,N*7A $GPVTG,,,,,,,,,N*30 $GPGGA,191428.00,,,,,0,00,99.99,,,,,,*61 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,37,07,,,35,16,,,36,18,,,41*75 $GPGSV,2,2,07,19,,,39,22,,,37,30,,,42*7D $GPGLL,,,,,191428.00,V,N*4D $GPRMC,191429.00,V,,,,,,,040712,,,N*7B $GPVTG,,,,,,,,,N*30 $GPGGA,191429.00,,,,,0,00,99.99,,,,,,*60 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,37,07,,,35,16,,,36,18,,,40*74 $GPGSV,2,2,07,19,,,39,22,,,37,30,,,42*7D $GPGLL,,,,,191429.00,V,N*4C $GPRMC,191430.00,V,,,,,,,040712,,,N*73 $GPVTG,,,,,,,,,N*30 $GPGGA,191430.00,,,,,0,00,99.99,,,,,,*68 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,37,07,,,35,16,,,36,18,,,41*75 $GPGSV,2,2,07,19,,,39,22,,,37,30,,,42*7D $GPGLL,,,,,191430.00,V,N*44 $GPRMC,191431.00,V,,,,,,,040712,,,N*72 $GPVTG,,,,,,,,,N*30 $GPGGA,191431.00,,,,,0,00,99.99,,,,,,*69 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,37,07,,,35,16,,,36,18,,,40*74 $GPGSV,2,2,07,19,,,39,22,,,37,30,,,42*7D $GPGLL,,,,,191431.00,V,N*45 $GPRMC,191432.00,V,,,,,,,040712,,,N*71 $GPVTG,,,,,,,,,N*30 $GPGGA,191432.00,,,,,0,00,99.99,,,,,,*6A $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,2,1,07,03,,,37,07,,,35,16,,,36,18,,,40*74 $GPGSV,2,2,07,19,,,39,22,,,37,30,,,42*7D $GPGLL,,,,,191432.00,V,N*46 $GPRMC,191433.01,A,5200.17080,N,00602.17433,E,0.203,,040712,,,A*72 $GPVTG,,T,,M,0.203,N,0.375,K,A*23 $GPGGA,191433.01,5200.17080,N,00602.17433,E,1,07,1.45,20.7,M,46.1,M,,*6E $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.31,1.45,1.80*0A $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,40*7D $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.80,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.31,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":36,"used":true},{"PRN":18,"el":43,"az":111,"ss":40,"used":true},{"PRN":19,"el":22,"az":279,"ss":39,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":42,"used":true}]} $GPGLL,5200.17080,N,00602.17433,E,191433.01,A,A*6A {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:33.010Z","ept":0.005,"lat":52.002846667,"lon":6.036238833,"alt":20.700,"epx":14.920,"epy":15.950,"epv":2299.770,"track":0.0000,"speed":0.104,"climb":0.000} $GPRMC,191434.00,A,5200.17079,N,00602.17433,E,0.044,,040712,,,A*73 $GPVTG,,T,,M,0.044,N,0.082,K,A*29 $GPGGA,191434.00,5200.17079,N,00602.17433,E,1,07,1.45,20.8,M,46.1,M,,*61 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.31,1.45,1.80*0A $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,40*7D $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.80,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.31,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":36,"used":true},{"PRN":18,"el":43,"az":111,"ss":40,"used":true},{"PRN":19,"el":22,"az":279,"ss":39,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":42,"used":true}]} $GPGLL,5200.17079,N,00602.17433,E,191434.00,A,A*6A {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:34.000Z","ept":0.005,"lat":52.002846500,"lon":6.036238833,"alt":20.800,"epx":14.920,"epy":15.950,"epv":41.400,"track":0.0000,"speed":0.023,"climb":0.000,"eps":32.22} $GPRMC,191435.00,A,5200.17069,N,00602.17412,E,0.064,,040712,,,A*72 $GPVTG,,T,,M,0.064,N,0.118,K,A*29 $GPGGA,191435.00,5200.17069,N,00602.17412,E,1,07,1.45,20.9,M,46.1,M,,*63 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.31,1.45,1.80*0A $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,40*7D $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.80,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.31,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":36,"used":true},{"PRN":18,"el":43,"az":111,"ss":40,"used":true},{"PRN":19,"el":22,"az":279,"ss":39,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":42,"used":true}]} $GPGLL,5200.17069,N,00602.17412,E,191435.00,A,A*69 {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:35.000Z","ept":0.005,"lat":52.002844833,"lon":6.036235333,"alt":20.900,"epx":14.920,"epy":15.950,"epv":41.400,"track":0.0000,"speed":0.033,"climb":0.000,"eps":31.90} $GPRMC,191436.00,A,5200.17065,N,00602.17411,E,0.066,,040712,,,A*7C $GPVTG,,T,,M,0.066,N,0.122,K,A*22 $GPGGA,191436.00,5200.17065,N,00602.17411,E,1,07,1.45,21.1,M,46.1,M,,*66 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.31,1.45,1.80*0A $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,40*7D $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.80,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.31,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":36,"used":true},{"PRN":18,"el":43,"az":111,"ss":40,"used":true},{"PRN":19,"el":22,"az":279,"ss":39,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":42,"used":true}]} $GPGLL,5200.17065,N,00602.17411,E,191436.00,A,A*65 {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:36.000Z","ept":0.005,"lat":52.002844167,"lon":6.036235167,"alt":21.100,"epx":14.920,"epy":15.950,"epv":41.400,"track":0.0000,"speed":0.034,"climb":0.000,"eps":31.90} $GPRMC,191437.00,A,5200.17063,N,00602.17412,E,0.084,,040712,,,A*74 $GPVTG,,T,,M,0.084,N,0.155,K,A*2E $GPGGA,191437.00,5200.17063,N,00602.17412,E,1,07,1.45,21.3,M,46.1,M,,*60 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.31,1.45,1.80*0A $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,35,18,43,111,40*7E $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.80,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.31,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":35,"used":true},{"PRN":18,"el":43,"az":111,"ss":40,"used":true},{"PRN":19,"el":22,"az":279,"ss":39,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":42,"used":true}]} $GPGLL,5200.17063,N,00602.17412,E,191437.00,A,A*61 {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:37.000Z","ept":0.005,"lat":52.002843833,"lon":6.036235333,"alt":21.300,"epx":14.920,"epy":15.950,"epv":41.400,"track":0.0000,"speed":0.043,"climb":0.000,"eps":31.90} $GPRMC,191438.00,A,5200.17065,N,00602.17414,E,0.066,,040712,,,A*77 $GPVTG,,T,,M,0.066,N,0.121,K,A*21 $GPGGA,191438.00,5200.17065,N,00602.17414,E,1,07,1.45,21.5,M,46.1,M,,*69 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.31,1.45,1.80*0A $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,35,18,43,111,40*7E $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.80,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.31,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":35,"used":true},{"PRN":18,"el":43,"az":111,"ss":40,"used":true},{"PRN":19,"el":22,"az":279,"ss":39,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":42,"used":true}]} $GPGLL,5200.17065,N,00602.17414,E,191438.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:38.000Z","ept":0.005,"lat":52.002844167,"lon":6.036235667,"alt":21.500,"epx":14.920,"epy":15.950,"epv":41.400,"track":0.0000,"speed":0.034,"climb":0.000,"eps":31.90} $GPRMC,191439.00,A,5200.17074,N,00602.17422,E,0.013,,040712,,,A*71 $GPVTG,,T,,M,0.013,N,0.024,K,A*27 $GPGGA,191439.00,5200.17074,N,00602.17422,E,1,07,1.45,21.5,M,46.1,M,,*6D $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,35,18,43,111,40*7E $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.80,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":35,"used":true},{"PRN":18,"el":43,"az":111,"ss":40,"used":true},{"PRN":19,"el":22,"az":279,"ss":39,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":42,"used":true}]} $GPGLL,5200.17074,N,00602.17422,E,191439.00,A,A*6A {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:39.000Z","ept":0.005,"lat":52.002845667,"lon":6.036237000,"alt":21.500,"epx":14.920,"epy":15.950,"epv":41.400,"track":0.0000,"speed":0.007,"climb":0.000,"eps":31.90} $GPRMC,191440.00,A,5200.17080,N,00602.17430,E,0.011,,040712,,,A*75 $GPVTG,,T,,M,0.011,N,0.020,K,A*21 $GPGGA,191440.00,5200.17080,N,00602.17430,E,1,07,1.45,21.4,M,46.1,M,,*6A $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,40*7D $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.80,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":36,"used":true},{"PRN":18,"el":43,"az":111,"ss":40,"used":true},{"PRN":19,"el":22,"az":279,"ss":39,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":42,"used":true}]} $GPGLL,5200.17080,N,00602.17430,E,191440.00,A,A*6C {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:40.000Z","ept":0.005,"lat":52.002846667,"lon":6.036238333,"alt":21.400,"epx":14.920,"epy":15.950,"epv":41.400,"track":0.0000,"speed":0.006,"climb":0.000,"eps":31.90} $GPRMC,191441.00,A,5200.17084,N,00602.17436,E,0.011,,040712,,,A*76 $GPVTG,,T,,M,0.011,N,0.021,K,A*20 $GPGGA,191441.00,5200.17084,N,00602.17436,E,1,07,1.45,21.2,M,46.1,M,,*6F $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,40*7D $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.80,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":36,"used":true},{"PRN":18,"el":43,"az":111,"ss":40,"used":true},{"PRN":19,"el":22,"az":279,"ss":39,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":42,"used":true}]} $GPGLL,5200.17084,N,00602.17436,E,191441.00,A,A*6F {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:41.000Z","ept":0.005,"lat":52.002847333,"lon":6.036239333,"alt":21.200,"epx":14.920,"epy":15.950,"epv":41.400,"track":0.0000,"speed":0.006,"climb":0.000,"eps":31.90} $GPRMC,191442.00,A,5200.17092,N,00602.17444,E,0.011,,040712,,,A*77 $GPVTG,,T,,M,0.011,N,0.021,K,A*20 $GPGGA,191442.00,5200.17092,N,00602.17444,E,1,07,1.45,21.2,M,46.1,M,,*6E $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,40*7D $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.80,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":36,"used":true},{"PRN":18,"el":43,"az":111,"ss":40,"used":true},{"PRN":19,"el":22,"az":279,"ss":39,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":42,"used":true}]} $GPGLL,5200.17092,N,00602.17444,E,191442.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:42.000Z","ept":0.005,"lat":52.002848667,"lon":6.036240667,"alt":21.200,"epx":14.920,"epy":15.950,"epv":41.400,"track":0.0000,"speed":0.006,"climb":0.000,"eps":31.90} $GPRMC,191443.00,A,5200.17100,N,00602.17451,E,0.009,,040712,,,A*71 $GPVTG,,T,,M,0.009,N,0.017,K,A*2C $GPGGA,191443.00,5200.17100,N,00602.17451,E,1,07,1.45,21.2,M,46.1,M,,*61 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,36,16,68,221,36,18,43,111,40*7E $GPGSV,2,2,07,19,22,279,39,22,24,159,38,30,43,182,42*49 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.80,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":36,"used":true},{"PRN":16,"el":68,"az":221,"ss":36,"used":true},{"PRN":18,"el":43,"az":111,"ss":40,"used":true},{"PRN":19,"el":22,"az":279,"ss":39,"used":true},{"PRN":22,"el":24,"az":159,"ss":38,"used":true},{"PRN":30,"el":43,"az":182,"ss":42,"used":true}]} $GPGLL,5200.17100,N,00602.17451,E,191443.00,A,A*61 {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:43.000Z","ept":0.005,"lat":52.002850000,"lon":6.036241833,"alt":21.200,"epx":14.920,"epy":15.950,"epv":41.400,"track":0.0000,"speed":0.005,"climb":0.000,"eps":31.90} $GPRMC,191444.00,A,5200.17105,N,00602.17454,E,0.011,,040712,,,A*7F $GPVTG,,T,,M,0.011,N,0.020,K,A*21 $GPGGA,191444.00,5200.17105,N,00602.17454,E,1,07,1.45,21.2,M,46.1,M,,*66 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,36,16,68,221,36,18,43,111,39*70 $GPGSV,2,2,07,19,22,279,39,22,24,159,38,30,43,182,42*49 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.80,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":36,"used":true},{"PRN":16,"el":68,"az":221,"ss":36,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":39,"used":true},{"PRN":22,"el":24,"az":159,"ss":38,"used":true},{"PRN":30,"el":43,"az":182,"ss":42,"used":true}]} $GPGLL,5200.17105,N,00602.17454,E,191444.00,A,A*66 {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:44.000Z","ept":0.005,"lat":52.002850833,"lon":6.036242333,"alt":21.200,"epx":14.920,"epy":15.950,"epv":41.400,"track":0.0000,"speed":0.006,"climb":0.000,"eps":31.90} $GPRMC,191445.00,A,5200.17109,N,00602.17462,E,0.010,,040712,,,A*76 $GPVTG,,T,,M,0.010,N,0.019,K,A*2A $GPGGA,191445.00,5200.17109,N,00602.17462,E,1,07,1.45,21.2,M,46.1,M,,*6E $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,39*73 $GPGSV,2,2,07,19,22,279,39,22,24,159,38,30,43,182,42*49 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.80,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":36,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":39,"used":true},{"PRN":22,"el":24,"az":159,"ss":38,"used":true},{"PRN":30,"el":43,"az":182,"ss":42,"used":true}]} $GPGLL,5200.17109,N,00602.17462,E,191445.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:45.000Z","ept":0.005,"lat":52.002851500,"lon":6.036243667,"alt":21.200,"epx":14.920,"epy":15.950,"epv":41.400,"track":0.0000,"speed":0.005,"climb":0.000,"eps":31.90} $GPRMC,191446.00,A,5200.17115,N,00602.17470,E,0.009,,040712,,,A*73 $GPVTG,,T,,M,0.009,N,0.016,K,A*2D $GPGGA,191446.00,5200.17115,N,00602.17470,E,1,07,1.45,21.2,M,46.1,M,,*63 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,39*73 $GPGSV,2,2,07,19,22,279,39,22,24,159,38,30,43,182,42*49 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.80,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":36,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":39,"used":true},{"PRN":22,"el":24,"az":159,"ss":38,"used":true},{"PRN":30,"el":43,"az":182,"ss":42,"used":true}]} $GPGLL,5200.17115,N,00602.17470,E,191446.00,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:46.000Z","ept":0.005,"lat":52.002852500,"lon":6.036245000,"alt":21.200,"epx":14.920,"epy":15.950,"epv":41.400,"track":0.0000,"speed":0.005,"climb":0.000,"eps":31.90} $GPRMC,191447.00,A,5200.17120,N,00602.17480,E,0.010,,040712,,,A*73 $GPVTG,,T,,M,0.010,N,0.019,K,A*2A $GPGGA,191447.00,5200.17120,N,00602.17480,E,1,07,1.45,21.1,M,46.1,M,,*68 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,39*73 $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.80,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":36,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":39,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":42,"used":true}]} $GPGLL,5200.17120,N,00602.17480,E,191447.00,A,A*6B {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:47.000Z","ept":0.005,"lat":52.002853333,"lon":6.036246667,"alt":21.100,"epx":14.920,"epy":15.950,"epv":41.400,"track":0.0000,"speed":0.005,"climb":0.000,"eps":31.90} $GPRMC,191448.00,A,5200.17125,N,00602.17490,E,0.008,,040712,,,A*71 $GPVTG,,T,,M,0.008,N,0.015,K,A*2F $GPGGA,191448.00,5200.17125,N,00602.17490,E,1,07,1.45,21.1,M,46.1,M,,*63 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,39*73 $GPGSV,2,2,07,19,22,279,39,22,24,159,37,30,43,182,42*46 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.80,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":36,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":39,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":42,"used":true}]} $GPGLL,5200.17125,N,00602.17490,E,191448.00,A,A*60 {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:48.000Z","ept":0.005,"lat":52.002854167,"lon":6.036248333,"alt":21.100,"epx":14.920,"epy":15.950,"epv":41.400,"track":0.0000,"speed":0.004,"climb":0.000,"eps":31.90} $GPRMC,191449.00,A,5200.17131,N,00602.17499,E,0.007,,040712,,,A*73 $GPVTG,,T,,M,0.007,N,0.013,K,A*26 $GPGGA,191449.00,5200.17131,N,00602.17499,E,1,07,1.45,21.1,M,46.1,M,,*6E $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,39*73 $GPGSV,2,2,07,19,22,279,39,22,24,159,38,30,43,182,43*48 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.80,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":36,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":39,"used":true},{"PRN":22,"el":24,"az":159,"ss":38,"used":true},{"PRN":30,"el":43,"az":182,"ss":43,"used":true}]} $GPGLL,5200.17131,N,00602.17499,E,191449.00,A,A*6D {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:49.000Z","ept":0.005,"lat":52.002855167,"lon":6.036249833,"alt":21.100,"epx":14.920,"epy":15.950,"epv":41.400,"track":0.0000,"speed":0.004,"climb":0.000,"eps":31.90} $GPRMC,191450.00,A,5200.17136,N,00602.17509,E,0.008,,040712,,,A*7B $GPVTG,,T,,M,0.008,N,0.015,K,A*2F $GPGGA,191450.00,5200.17136,N,00602.17509,E,1,07,1.45,21.1,M,46.1,M,,*69 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,39*73 $GPGSV,2,2,07,19,22,279,40,22,24,159,38,30,43,182,43*46 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.80,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":36,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":40,"used":true},{"PRN":22,"el":24,"az":159,"ss":38,"used":true},{"PRN":30,"el":43,"az":182,"ss":43,"used":true}]} $GPGLL,5200.17136,N,00602.17509,E,191450.00,A,A*6A {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:50.000Z","ept":0.005,"lat":52.002856000,"lon":6.036251500,"alt":21.100,"epx":14.920,"epy":15.950,"epv":41.400,"track":0.0000,"speed":0.004,"climb":0.000,"eps":31.90} $GPRMC,191451.00,A,5200.17139,N,00602.17519,E,0.007,,040712,,,A*7B $GPVTG,,T,,M,0.007,N,0.013,K,A*26 $GPGGA,191451.00,5200.17139,N,00602.17519,E,1,07,1.45,21.0,M,46.1,M,,*67 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.80*09 $GPGSV,2,1,07,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,39*73 $GPGSV,2,2,07,19,22,279,40,22,24,159,37,30,43,182,43*49 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.80,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":36,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":40,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":43,"used":true}]} $GPGLL,5200.17139,N,00602.17519,E,191451.00,A,A*65 {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:51.000Z","ept":0.005,"lat":52.002856500,"lon":6.036253167,"alt":21.000,"epx":14.920,"epy":15.950,"epv":41.400,"track":0.0000,"speed":0.004,"climb":0.000,"eps":31.90} $GPRMC,191452.00,A,5200.17141,N,00602.17526,E,0.006,,040712,,,A*7A $GPVTG,,T,,M,0.006,N,0.012,K,A*26 $GPGGA,191452.00,5200.17141,N,00602.17526,E,1,07,1.45,21.0,M,46.1,M,,*67 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,35,16,68,221,36,18,43,111,39*7C $GPGSV,2,2,08,19,22,279,39,22,24,159,37,30,43,182,43,33,27,206,35*7F {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.81,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":36,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":39,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":43,"used":true},{"PRN":120,"el":27,"az":206,"ss":35,"used":false}]} $GPGLL,5200.17141,N,00602.17526,E,191452.00,A,A*65 {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:52.000Z","ept":0.005,"lat":52.002856833,"lon":6.036254333,"alt":21.000,"epx":14.920,"epy":15.950,"epv":41.400,"track":0.0000,"speed":0.003,"climb":0.000,"eps":31.90} $GPRMC,191453.00,A,5200.17144,N,00602.17534,E,0.004,,040712,,,A*7F $GPVTG,,T,,M,0.004,N,0.008,K,A*2F $GPGGA,191453.00,5200.17144,N,00602.17534,E,1,07,1.45,21.0,M,46.1,M,,*60 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,36,16,68,221,36,18,43,111,39*7F $GPGSV,2,2,08,19,22,279,39,22,24,159,37,30,43,182,43,33,27,206,35*7F {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.81,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":36,"used":true},{"PRN":16,"el":68,"az":221,"ss":36,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":39,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":43,"used":true},{"PRN":120,"el":27,"az":206,"ss":35,"used":false}]} $GPGLL,5200.17144,N,00602.17534,E,191453.00,A,A*62 {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:53.000Z","ept":0.005,"lat":52.002857333,"lon":6.036255667,"alt":21.000,"epx":14.920,"epy":15.950,"epv":41.630,"track":0.0000,"speed":0.002,"climb":0.000,"eps":31.90} $GPRMC,191454.00,A,5200.17146,N,00602.17540,E,0.006,,040712,,,A*7B $GPVTG,,T,,M,0.006,N,0.011,K,A*25 $GPGGA,191454.00,5200.17146,N,00602.17540,E,1,07,1.45,21.0,M,46.1,M,,*66 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,35,16,68,221,35,18,43,111,39*7F $GPGSV,2,2,08,19,22,279,40,22,24,159,37,30,43,182,43,33,27,206,35*71 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.81,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":35,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":40,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":43,"used":true},{"PRN":120,"el":27,"az":206,"ss":35,"used":false}]} $GPGLL,5200.17146,N,00602.17540,E,191454.00,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:54.000Z","ept":0.005,"lat":52.002857667,"lon":6.036256667,"alt":21.000,"epx":14.920,"epy":15.950,"epv":41.630,"track":0.0000,"speed":0.003,"climb":0.000,"eps":31.90} $GPRMC,191455.00,A,5200.17148,N,00602.17544,E,0.005,,040712,,,A*73 $GPVTG,,T,,M,0.005,N,0.009,K,A*2F $GPGGA,191455.00,5200.17148,N,00602.17544,E,1,07,1.45,21.1,M,46.1,M,,*6C $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,35,16,68,221,35,18,43,111,38*7E $GPGSV,2,2,08,19,22,279,40,22,24,159,37,30,43,182,43,33,27,206,35*71 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.81,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":35,"used":true},{"PRN":18,"el":43,"az":111,"ss":38,"used":true},{"PRN":19,"el":22,"az":279,"ss":40,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":43,"used":true},{"PRN":120,"el":27,"az":206,"ss":35,"used":false}]} $GPGLL,5200.17148,N,00602.17544,E,191455.00,A,A*6F {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:55.000Z","ept":0.005,"lat":52.002858000,"lon":6.036257333,"alt":21.100,"epx":14.920,"epy":15.950,"epv":41.630,"track":0.0000,"speed":0.003,"climb":0.000,"eps":31.90} $GPRMC,191456.00,A,5200.17151,N,00602.17548,E,0.003,,040712,,,A*72 $GPVTG,,T,,M,0.003,N,0.005,K,A*25 $GPGGA,191456.00,5200.17151,N,00602.17548,E,1,07,1.45,21.1,M,46.1,M,,*6B $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,35,16,68,221,35,18,43,111,39*7F $GPGSV,2,2,08,19,22,279,40,22,24,159,37,30,43,182,43,33,27,206,35*71 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.81,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":35,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":40,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":43,"used":true},{"PRN":120,"el":27,"az":206,"ss":35,"used":false}]} $GPGLL,5200.17151,N,00602.17548,E,191456.00,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:56.000Z","ept":0.005,"lat":52.002858500,"lon":6.036258000,"alt":21.100,"epx":14.920,"epy":15.950,"epv":41.630,"track":0.0000,"speed":0.002,"climb":0.000,"eps":31.90} $GPRMC,191457.00,A,5200.17153,N,00602.17553,E,0.005,,040712,,,A*7D $GPVTG,,T,,M,0.005,N,0.009,K,A*2F $GPGGA,191457.00,5200.17153,N,00602.17553,E,1,07,1.45,21.2,M,46.1,M,,*61 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,35,16,68,221,35,18,43,111,39*7F $GPGSV,2,2,08,19,22,279,40,22,24,159,37,30,43,182,43,33,27,206,35*71 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.81,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":35,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":40,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":43,"used":true},{"PRN":120,"el":27,"az":206,"ss":35,"used":false}]} $GPGLL,5200.17153,N,00602.17553,E,191457.00,A,A*61 {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:57.000Z","ept":0.005,"lat":52.002858833,"lon":6.036258833,"alt":21.200,"epx":14.920,"epy":15.950,"epv":41.630,"track":0.0000,"speed":0.003,"climb":0.000,"eps":31.90} $GPRMC,191458.00,A,5200.17156,N,00602.17557,E,0.005,,040712,,,A*73 $GPVTG,,T,,M,0.005,N,0.010,K,A*27 $GPGGA,191458.00,5200.17156,N,00602.17557,E,1,07,1.45,21.3,M,46.1,M,,*6E $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,36,16,68,221,35,18,43,111,39*7C $GPGSV,2,2,08,19,22,279,40,22,24,159,38,30,43,182,43,33,27,206,35*7E {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.81,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":36,"used":true},{"PRN":16,"el":68,"az":221,"ss":35,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":40,"used":true},{"PRN":22,"el":24,"az":159,"ss":38,"used":true},{"PRN":30,"el":43,"az":182,"ss":43,"used":true},{"PRN":120,"el":27,"az":206,"ss":35,"used":false}]} $GPGLL,5200.17156,N,00602.17557,E,191458.00,A,A*6F {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:58.000Z","ept":0.005,"lat":52.002859333,"lon":6.036259500,"alt":21.300,"epx":14.920,"epy":15.950,"epv":41.630,"track":0.0000,"speed":0.003,"climb":0.000,"eps":31.90} $GPRMC,191459.00,A,5200.17157,N,00602.17560,E,0.005,,040712,,,A*77 $GPVTG,,T,,M,0.005,N,0.009,K,A*2F $GPGGA,191459.00,5200.17157,N,00602.17560,E,1,07,1.45,21.3,M,46.1,M,,*6A $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,36,16,68,221,35,18,43,111,39*7C $GPGSV,2,2,08,19,22,279,40,22,24,159,38,30,43,182,43,33,27,206,35*7E {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.81,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":36,"used":true},{"PRN":16,"el":68,"az":221,"ss":35,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":40,"used":true},{"PRN":22,"el":24,"az":159,"ss":38,"used":true},{"PRN":30,"el":43,"az":182,"ss":43,"used":true},{"PRN":120,"el":27,"az":206,"ss":35,"used":false}]} $GPGLL,5200.17157,N,00602.17560,E,191459.00,A,A*6B {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:14:59.000Z","ept":0.005,"lat":52.002859500,"lon":6.036260000,"alt":21.300,"epx":14.920,"epy":15.950,"epv":41.630,"track":0.0000,"speed":0.003,"climb":0.000,"eps":31.90} $GPRMC,191500.00,A,5200.17158,N,00602.17562,E,0.006,,040712,,,A*74 $GPVTG,,T,,M,0.006,N,0.012,K,A*26 $GPGGA,191500.00,5200.17158,N,00602.17562,E,1,07,1.45,21.4,M,46.1,M,,*6D $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,36,16,68,221,35,18,43,111,39*7C $GPGSV,2,2,08,19,22,279,40,22,24,159,38,30,43,182,43,33,27,206,35*7E {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.81,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":36,"used":true},{"PRN":16,"el":68,"az":221,"ss":35,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":40,"used":true},{"PRN":22,"el":24,"az":159,"ss":38,"used":true},{"PRN":30,"el":43,"az":182,"ss":43,"used":true},{"PRN":120,"el":27,"az":206,"ss":35,"used":false}]} $GPGLL,5200.17158,N,00602.17562,E,191500.00,A,A*6B {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:15:00.000Z","ept":0.005,"lat":52.002859667,"lon":6.036260333,"alt":21.400,"epx":14.920,"epy":15.950,"epv":41.630,"track":0.0000,"speed":0.003,"climb":0.000,"eps":31.90} $GPRMC,191501.00,A,5200.17158,N,00602.17562,E,0.006,,040712,,,A*75 $GPVTG,,T,,M,0.006,N,0.011,K,A*25 $GPGGA,191501.00,5200.17158,N,00602.17562,E,1,07,1.45,21.5,M,46.1,M,,*6D $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,35,16,68,221,35,18,43,111,39*7F $GPGSV,2,2,08,19,22,279,40,22,24,159,38,30,43,182,43,33,27,206,35*7E {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.81,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":35,"used":true},{"PRN":16,"el":68,"az":221,"ss":35,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":40,"used":true},{"PRN":22,"el":24,"az":159,"ss":38,"used":true},{"PRN":30,"el":43,"az":182,"ss":43,"used":true},{"PRN":120,"el":27,"az":206,"ss":35,"used":false}]} $GPGLL,5200.17158,N,00602.17562,E,191501.00,A,A*6A {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:15:01.000Z","ept":0.005,"lat":52.002859667,"lon":6.036260333,"alt":21.500,"epx":14.920,"epy":15.950,"epv":41.630,"track":0.0000,"speed":0.003,"climb":0.000,"eps":31.90} $GPRMC,191502.00,A,5200.17160,N,00602.17564,E,0.005,,040712,,,A*78 $GPVTG,,T,,M,0.005,N,0.009,K,A*2F $GPGGA,191502.00,5200.17160,N,00602.17564,E,1,07,1.45,21.5,M,46.1,M,,*63 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,36,16,68,221,35,18,43,111,39*7C $GPGSV,2,2,08,19,22,279,40,22,24,159,38,30,43,182,43,33,27,206,35*7E {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.81,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":36,"used":true},{"PRN":16,"el":68,"az":221,"ss":35,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":40,"used":true},{"PRN":22,"el":24,"az":159,"ss":38,"used":true},{"PRN":30,"el":43,"az":182,"ss":43,"used":true},{"PRN":120,"el":27,"az":206,"ss":35,"used":false}]} $GPGLL,5200.17160,N,00602.17564,E,191502.00,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:15:02.000Z","ept":0.005,"lat":52.002860000,"lon":6.036260667,"alt":21.500,"epx":14.920,"epy":15.950,"epv":41.630,"track":0.0000,"speed":0.003,"climb":0.000,"eps":31.90} $GPRMC,191503.00,A,5200.17163,N,00602.17565,E,0.004,,040712,,,A*7A $GPVTG,,T,,M,0.004,N,0.008,K,A*2F $GPGGA,191503.00,5200.17163,N,00602.17565,E,1,07,1.45,21.6,M,46.1,M,,*63 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,36,16,68,221,35,18,43,111,39*7C $GPGSV,2,2,08,19,22,279,40,22,24,159,37,30,43,182,44,33,27,206,35*76 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.81,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":36,"used":true},{"PRN":16,"el":68,"az":221,"ss":35,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":40,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":44,"used":true},{"PRN":120,"el":27,"az":206,"ss":35,"used":false}]} $GPGLL,5200.17163,N,00602.17565,E,191503.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:15:03.000Z","ept":0.005,"lat":52.002860500,"lon":6.036260833,"alt":21.600,"epx":14.920,"epy":15.950,"epv":41.630,"track":0.0000,"speed":0.002,"climb":0.000,"eps":31.90} $GPRMC,191504.00,A,5200.17166,N,00602.17567,E,0.005,,040712,,,A*7B $GPVTG,,T,,M,0.005,N,0.009,K,A*2F $GPGGA,191504.00,5200.17166,N,00602.17567,E,1,07,1.45,21.6,M,46.1,M,,*63 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,37,07,18,316,36,16,68,221,35,18,43,111,39*7C $GPGSV,2,2,08,19,22,279,40,22,24,159,37,30,43,182,44,33,27,206,35*76 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.81,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":37,"used":true},{"PRN":7,"el":18,"az":316,"ss":36,"used":true},{"PRN":16,"el":68,"az":221,"ss":35,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":40,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":44,"used":true},{"PRN":120,"el":27,"az":206,"ss":35,"used":false}]} $GPGLL,5200.17166,N,00602.17567,E,191504.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:15:04.000Z","ept":0.005,"lat":52.002861000,"lon":6.036261167,"alt":21.600,"epx":14.920,"epy":15.950,"epv":41.630,"track":0.0000,"speed":0.003,"climb":0.000,"eps":31.90} $GPRMC,191505.00,A,5200.17168,N,00602.17570,E,0.007,,040712,,,A*70 $GPVTG,,T,,M,0.007,N,0.013,K,A*26 $GPGGA,191505.00,5200.17168,N,00602.17570,E,1,07,1.45,21.7,M,46.1,M,,*6B $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,36,07,18,316,36,16,68,221,35,18,43,111,39*7D $GPGSV,2,2,08,19,22,279,40,22,24,159,37,30,43,182,44,33,27,206,35*76 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.81,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":36,"used":true},{"PRN":7,"el":18,"az":316,"ss":36,"used":true},{"PRN":16,"el":68,"az":221,"ss":35,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":40,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":44,"used":true},{"PRN":120,"el":27,"az":206,"ss":35,"used":false}]} $GPGLL,5200.17168,N,00602.17570,E,191505.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:15:05.000Z","ept":0.005,"lat":52.002861333,"lon":6.036261667,"alt":21.700,"epx":14.920,"epy":15.950,"epv":41.630,"track":0.0000,"speed":0.004,"climb":0.000,"eps":31.90} $GPRMC,191506.00,A,5200.17169,N,00602.17570,E,0.005,,040712,,,A*70 $GPVTG,,T,,M,0.005,N,0.010,K,A*27 $GPGGA,191506.00,5200.17169,N,00602.17570,E,1,07,1.45,21.8,M,46.1,M,,*66 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,36,07,18,316,36,16,68,221,35,18,43,111,39*7D $GPGSV,2,2,08,19,22,279,40,22,24,159,37,30,43,182,44,33,27,206,35*76 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.81,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":36,"used":true},{"PRN":7,"el":18,"az":316,"ss":36,"used":true},{"PRN":16,"el":68,"az":221,"ss":35,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":40,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":44,"used":true},{"PRN":120,"el":27,"az":206,"ss":35,"used":false}]} $GPGLL,5200.17169,N,00602.17570,E,191506.00,A,A*6C {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:15:06.000Z","ept":0.005,"lat":52.002861500,"lon":6.036261667,"alt":21.800,"epx":14.920,"epy":15.950,"epv":41.630,"track":0.0000,"speed":0.003,"climb":0.000,"eps":31.90} $GPRMC,191507.00,A,5200.17170,N,00602.17568,E,0.008,,040712,,,A*7D $GPVTG,,T,,M,0.008,N,0.015,K,A*2F $GPGGA,191507.00,5200.17170,N,00602.17568,E,1,07,1.45,21.9,M,46.1,M,,*67 $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,36,07,18,316,36,16,68,221,34,18,43,111,39*7C $GPGSV,2,2,08,19,22,279,40,22,24,159,37,30,43,182,44,33,27,206,35*76 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.81,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":36,"used":true},{"PRN":7,"el":18,"az":316,"ss":36,"used":true},{"PRN":16,"el":68,"az":221,"ss":34,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":40,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":44,"used":true},{"PRN":120,"el":27,"az":206,"ss":35,"used":false}]} $GPGLL,5200.17170,N,00602.17568,E,191507.00,A,A*6C {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:15:07.000Z","ept":0.005,"lat":52.002861667,"lon":6.036261333,"alt":21.900,"epx":14.920,"epy":15.950,"epv":41.630,"track":0.0000,"speed":0.004,"climb":0.000,"eps":31.90} $GPRMC,191508.00,A,5200.17170,N,00602.17565,E,0.009,,040712,,,A*7E $GPVTG,,T,,M,0.009,N,0.016,K,A*2D $GPGGA,191508.00,5200.17170,N,00602.17565,E,1,07,1.45,22.0,M,46.1,M,,*6F $GPGSA,A,3,19,16,30,18,22,03,07,,,,,,2.32,1.45,1.81*08 $GPGSV,2,1,08,03,54,286,36,07,18,316,36,16,68,221,34,18,43,111,39*7C $GPGSV,2,2,08,19,22,279,40,22,24,159,37,30,43,182,44,33,27,206,35*76 {"class":"SKY","tag":"GSV","xdop":0.99,"ydop":1.06,"vdop":1.81,"tdop":1.18,"hdop":1.45,"gdop":2.59,"pdop":2.32,"satellites":[{"PRN":3,"el":54,"az":286,"ss":36,"used":true},{"PRN":7,"el":18,"az":316,"ss":36,"used":true},{"PRN":16,"el":68,"az":221,"ss":34,"used":true},{"PRN":18,"el":43,"az":111,"ss":39,"used":true},{"PRN":19,"el":22,"az":279,"ss":40,"used":true},{"PRN":22,"el":24,"az":159,"ss":37,"used":true},{"PRN":30,"el":43,"az":182,"ss":44,"used":true},{"PRN":120,"el":27,"az":206,"ss":35,"used":false}]} $GPGLL,5200.17170,N,00602.17565,E,191508.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2012-07-04T19:15:08.000Z","ept":0.005,"lat":52.002861667,"lon":6.036260833,"alt":22.000,"epx":14.920,"epy":15.950,"epv":41.630,"track":0.0000,"speed":0.005,"climb":0.000,"eps":31.90} gpsd-3.9/test/daemon/nokia-ld-4w.log0000664000175000017500000002751011762140437015455 0ustar esresr# Name: Nokia LD-4W # Chipset: SiRF-3 # Description: Bletooth add-on for Nokia mobile phone # Submitter: jussi.kivilinna@mbnet.fi # Date: 2009-12-05 # Location: Oulu, FI, 65N 25E # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPGGA,080315.000,6503.0241,N,02528.3627,E,1,07,1.2,9.9,M,21.6,M,,0000*58 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPGSV,3,1,11,29,65,214,25,30,52,154,23,31,45,272,32,02,41,068,*7A $GPGSV,3,2,11,12,23,132,25,23,18,348,13,10,16,098,15,04,12,040,24*7E $GPGSV,3,3,11,05,11,110,23,16,07,296,33,13,07,020,26*43 $GPRMC,080315.000,A,6503.0241,N,02528.3627,E,0.95,25.69,051209,,,A*50 $GPGGA,080316.000,6503.0241,N,02528.3625,E,1,07,1.2,10.4,M,21.6,M,,0000*6C $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080316.000,A,6503.0241,N,02528.3625,E,0.56,33.07,051209,,,A*51 $GPGGA,080317.000,6503.0239,N,02528.3621,E,1,07,1.2,10.3,M,21.6,M,,0000*61 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080317.000,A,6503.0239,N,02528.3621,E,0.74,18.23,051209,,,A*54 $GPGGA,080318.000,6503.0236,N,02528.3617,E,1,07,1.2,10.2,M,21.6,M,,0000*65 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080318.000,A,6503.0236,N,02528.3617,E,0.36,37.53,051209,,,A*5D $GPGGA,080319.000,6503.0235,N,02528.3611,E,1,07,1.2,10.3,M,21.6,M,,0000*60 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080319.000,A,6503.0235,N,02528.3611,E,0.34,8.27,051209,,,A*64 $GPGGA,080320.000,6503.0233,N,02528.3606,E,1,07,1.2,10.9,M,21.6,M,,0000*60 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPGSV,3,1,11,29,66,214,24,30,52,154,24,31,45,272,32,02,41,068,*7F $GPGSV,3,2,11,12,23,132,26,23,18,348,16,10,16,098,,04,12,040,25*7D $GPGSV,3,3,11,05,12,110,23,16,07,296,33,13,07,020,25*43 $GPRMC,080320.000,A,6503.0233,N,02528.3606,E,0.11,349.73,051209,,,A*6E $GPGGA,080321.000,6503.0229,N,02528.3601,E,1,07,1.2,10.2,M,21.6,M,,0000*66 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080321.000,A,6503.0229,N,02528.3601,E,0.17,185.36,051209,,,A*66 $GPGGA,080322.000,6503.0225,N,02528.3596,E,1,07,1.2,9.1,M,21.6,M,,0000*5F $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080322.000,A,6503.0225,N,02528.3596,E,0.15,191.14,051209,,,A*63 $GPGGA,080323.000,6503.0221,N,02528.3588,E,1,07,1.2,8.0,M,21.6,M,,0000*55 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080323.000,A,6503.0221,N,02528.3588,E,0.23,195.46,051209,,,A*6F $GPGGA,080324.000,6503.0219,N,02528.3584,E,1,07,1.2,8.1,M,21.6,M,,0000*54 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080324.000,A,6503.0219,N,02528.3584,E,0.07,83.00,051209,,,A*5D $GPGGA,080325.000,6503.0216,N,02528.3580,E,1,08,1.0,8.0,M,21.6,M,,0000*52 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPGSV,3,1,11,29,66,214,24,30,52,154,25,31,45,272,32,02,41,068,17*78 $GPGSV,3,2,11,12,23,132,26,23,18,348,18,10,16,098,,04,12,040,25*73 $GPGSV,3,3,11,05,12,110,23,16,07,296,32,13,07,020,25*42 $GPRMC,080325.000,A,6503.0216,N,02528.3580,E,0.12,86.47,051209,,,A*55 $GPGGA,080326.000,6503.0215,N,02528.3576,E,1,06,1.4,8.6,M,21.6,M,,0000*57 $GPGSA,A,3,29,12,30,04,31,16,,,,,,,2.4,1.4,1.9*33 $GPRMC,080326.000,A,6503.0215,N,02528.3576,E,0.06,1.14,051209,,,A*60 $GPGGA,080327.000,6503.0214,N,02528.3571,E,1,08,1.0,8.9,M,21.6,M,,0000*55 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080327.000,A,6503.0214,N,02528.3571,E,0.32,1.13,051209,,,A*67 $GPGGA,080328.000,6503.0211,N,02528.3568,E,1,08,1.0,7.5,M,21.6,M,,0000*54 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080328.000,A,6503.0211,N,02528.3568,E,0.19,97.48,051209,,,A*5D $GPGGA,080329.000,6503.0208,N,02528.3565,E,1,08,1.0,6.8,M,21.6,M,,0000*5C $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080329.000,A,6503.0208,N,02528.3565,E,0.25,72.57,051209,,,A*53 $GPGGA,080330.000,6503.0205,N,02528.3561,E,1,08,1.0,5.7,M,21.6,M,,0000*51 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPGSV,3,1,11,29,66,214,23,30,52,154,26,31,45,272,32,02,41,068,17*7C $GPGSV,3,2,11,12,23,132,25,23,18,348,20,10,16,098,,04,12,040,25*7B $GPGSV,3,3,11,05,12,110,24,16,07,296,32,13,07,020,23*43 $GPRMC,080330.000,A,6503.0205,N,02528.3561,E,0.14,181.62,051209,,,A*6B $GPGGA,080331.000,6503.0202,N,02528.3556,E,1,08,1.0,5.3,M,21.6,M,,0000*57 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080331.000,A,6503.0202,N,02528.3556,E,0.20,209.92,051209,,,A*62 $GPGGA,080332.000,6503.0200,N,02528.3552,E,1,08,1.0,4.6,M,21.6,M,,0000*56 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080332.000,A,6503.0200,N,02528.3552,E,0.36,228.63,051209,,,A*6D $GPGGA,080333.000,6503.0196,N,02528.3548,E,1,07,1.2,3.5,M,21.6,M,,0000*59 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080333.000,A,6503.0196,N,02528.3548,E,0.21,93.12,051209,,,A*59 $GPGGA,080334.000,6503.0194,N,02528.3545,E,1,07,1.2,3.0,M,21.6,M,,0000*54 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080334.000,A,6503.0194,N,02528.3545,E,0.27,131.95,051209,,,A*61 $GPGGA,080335.000,6503.0195,N,02528.3544,E,1,07,1.2,3.3,M,21.6,M,,0000*56 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPGSV,3,1,11,29,66,214,22,30,52,154,27,31,45,272,32,02,41,068,*7A $GPGSV,3,2,11,12,23,132,18,23,18,348,21,10,16,098,,04,12,040,25*74 $GPGSV,3,3,11,05,12,110,24,16,07,296,32,13,07,020,22*42 $GPRMC,080335.000,A,6503.0195,N,02528.3544,E,0.28,93.31,051209,,,A*58 $GPGGA,080336.000,6503.0192,N,02528.3542,E,1,07,1.2,2.1,M,21.6,M,,0000*57 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080336.000,A,6503.0192,N,02528.3542,E,0.31,109.65,051209,,,A*61 $GPGGA,080337.000,6503.0193,N,02528.3539,E,1,06,1.7,2.0,M,21.6,M,,0000*5E $GPGSA,A,3,29,30,23,04,31,16,,,,,,,3.3,1.7,2.8*36 $GPRMC,080337.000,A,6503.0193,N,02528.3539,E,0.26,357.90,051209,,,A*68 $GPGGA,080338.000,6503.0192,N,02528.3535,E,1,07,1.2,1.3,M,21.6,M,,0000*58 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080338.000,A,6503.0192,N,02528.3535,E,0.23,329.09,051209,,,A*66 $GPGGA,080339.000,6503.0194,N,02528.3531,E,1,06,1.7,1.4,M,21.6,M,,0000*58 $GPGSA,A,3,29,30,23,04,31,16,,,,,,,3.3,1.7,2.8*36 $GPRMC,080339.000,A,6503.0194,N,02528.3531,E,0.29,324.54,051209,,,A*6A $GPGGA,080340.000,6503.0196,N,02528.3527,E,1,06,1.7,1.7,M,21.6,M,,0000*50 $GPGSA,A,3,29,30,23,04,31,16,,,,,,,3.3,1.7,2.8*36 $GPGSV,3,1,11,29,66,214,21,30,52,154,28,31,45,272,31,02,41,068,*75 $GPGSV,3,2,11,12,23,132,17,23,18,348,21,10,16,098,,04,12,040,25*7B $GPGSV,3,3,11,05,12,110,23,16,07,296,31,13,07,020,22*46 $GPRMC,080340.000,A,6503.0196,N,02528.3527,E,0.17,253.19,051209,,,A*64 $GPGGA,080341.000,6503.0192,N,02528.3525,E,1,07,1.2,0.1,M,21.6,M,,0000*54 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080341.000,A,6503.0192,N,02528.3525,E,0.16,233.14,051209,,,A*69 $GPGGA,080342.000,6503.0194,N,02528.3526,E,1,08,1.0,-0.9,M,21.6,M,,0000*7A $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080342.000,A,6503.0194,N,02528.3526,E,0.10,352.68,051209,,,A*64 $GPGGA,080343.000,6503.0192,N,02528.3526,E,1,08,1.0,-2.0,M,21.6,M,,0000*76 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080343.000,A,6503.0192,N,02528.3526,E,0.17,125.18,051209,,,A*61 $GPGGA,080344.000,6503.0194,N,02528.3524,E,1,08,1.0,-1.7,M,21.6,M,,0000*71 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080344.000,A,6503.0194,N,02528.3524,E,0.26,17.55,051209,,,A*59 $GPGGA,080345.000,6503.0200,N,02528.3521,E,1,08,1.0,0.2,M,21.6,M,,0000*52 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPGSV,3,1,11,29,66,214,21,30,52,154,29,31,45,272,31,02,41,068,17*72 $GPGSV,3,2,11,12,23,132,19,23,18,348,12,10,16,098,,04,12,040,25*75 $GPGSV,3,3,11,05,12,110,22,16,07,296,31,13,07,020,21*44 $GPRMC,080345.000,A,6503.0200,N,02528.3521,E,0.02,174.00,051209,,,A*61 $GPGGA,080346.000,6503.0204,N,02528.3519,E,1,08,1.0,1.5,M,21.6,M,,0000*58 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080346.000,A,6503.0204,N,02528.3519,E,0.74,16.87,051209,,,A*56 $GPGGA,080347.000,6503.0207,N,02528.3518,E,1,08,1.0,2.5,M,21.6,M,,0000*58 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080347.000,A,6503.0207,N,02528.3518,E,0.43,19.41,051209,,,A*54 $GPGGA,080348.000,6503.0210,N,02528.3517,E,1,06,1.4,3.2,M,21.6,M,,0000*52 $GPGSA,A,3,29,12,30,04,31,16,,,,,,,2.4,1.4,1.9*33 $GPRMC,080348.000,A,6503.0210,N,02528.3517,E,0.37,36.42,051209,,,A*5F $GPGGA,080349.000,6503.0212,N,02528.3517,E,1,06,1.4,3.6,M,21.6,M,,0000*55 $GPGSA,A,3,29,12,30,04,31,16,,,,,,,2.4,1.4,1.9*33 $GPRMC,080349.000,A,6503.0212,N,02528.3517,E,0.50,28.72,051209,,,A*51 $GPGGA,080350.000,6503.0211,N,02528.3517,E,1,06,1.4,3.4,M,21.6,M,,0000*5C $GPGSA,A,3,29,12,30,04,31,16,,,,,,,2.4,1.4,1.9*33 $GPGSV,3,1,12,29,66,213,20,30,52,154,29,31,45,271,30,02,41,068,16*74 $GPGSV,3,2,12,12,23,132,21,23,18,348,,10,16,097,,04,12,040,25*71 $GPGSV,3,3,12,05,12,110,22,16,07,296,31,13,07,020,20,21,00,196,*7B $GPRMC,080350.000,A,6503.0211,N,02528.3517,E,0.15,309.98,051209,,,A*6F $GPGGA,080351.000,6503.0211,N,02528.3515,E,1,07,1.2,3.8,M,21.6,M,,0000*54 $GPGSA,A,3,29,12,30,04,31,02,16,,,,,,2.1,1.2,1.7*3C $GPRMC,080351.000,A,6503.0211,N,02528.3515,E,0.03,195.01,051209,,,A*6C $GPGGA,080352.000,6503.0210,N,02528.3519,E,1,07,1.2,3.1,M,21.6,M,,0000*53 $GPGSA,A,3,29,12,30,04,31,02,16,,,,,,2.1,1.2,1.7*3C $GPRMC,080352.000,A,6503.0210,N,02528.3519,E,0.17,300.87,051209,,,A*67 $GPGGA,080353.000,6503.0211,N,02528.3521,E,1,07,1.2,3.8,M,21.6,M,,0000*51 $GPGSA,A,3,29,12,30,04,31,02,16,,,,,,2.1,1.2,1.7*3C $GPRMC,080353.000,A,6503.0211,N,02528.3521,E,0.05,235.43,051209,,,A*60 $GPGGA,080354.000,6503.0205,N,02528.3519,E,1,08,1.0,2.1,M,21.6,M,,0000*5D $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080354.000,A,6503.0205,N,02528.3519,E,0.18,82.11,051209,,,A*5C $GPGGA,080355.000,6503.0204,N,02528.3517,E,1,08,1.0,2.5,M,21.6,M,,0000*57 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPGSV,3,1,12,29,66,213,20,30,52,154,29,31,45,271,30,02,41,068,15*77 $GPGSV,3,2,12,12,23,132,22,23,18,348,18,10,16,097,,04,12,040,25*7B $GPGSV,3,3,12,05,12,110,12,16,07,296,30,13,07,020,19,21,00,196,*73 $GPRMC,080355.000,A,6503.0204,N,02528.3517,E,0.14,17.41,051209,,,A*57 $GPGGA,080356.000,6503.0205,N,02528.3514,E,1,08,1.0,3.5,M,21.6,M,,0000*57 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080356.000,A,6503.0205,N,02528.3514,E,0.26,318.83,051209,,,A*65 $GPGGA,080357.000,6503.0206,N,02528.3510,E,1,08,1.0,4.3,M,21.6,M,,0000*50 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080357.000,A,6503.0206,N,02528.3510,E,0.22,274.62,051209,,,A*63 $GPGGA,080358.000,6503.0202,N,02528.3508,E,1,08,1.0,2.6,M,21.6,M,,0000*51 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080358.000,A,6503.0202,N,02528.3508,E,0.29,327.42,051209,,,A*6F $GPGGA,080359.000,6503.0200,N,02528.3505,E,1,08,1.0,2.3,M,21.6,M,,0000*5A $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080359.000,A,6503.0200,N,02528.3505,E,0.15,188.94,051209,,,A*62 $GPGGA,080400.000,6503.0198,N,02528.3504,E,1,08,1.0,1.5,M,21.6,M,,0000*57 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPGSV,3,1,12,29,66,213,20,30,52,154,29,31,45,271,30,02,41,068,15*77 $GPGSV,3,2,12,12,23,132,23,23,18,348,18,10,16,097,,04,12,040,25*7A $GPGSV,3,3,12,05,12,110,15,16,07,296,30,13,07,020,18,21,00,196,*75 $GPRMC,080400.000,A,6503.0198,N,02528.3504,E,0.40,159.57,051209,,,A*69 $GPGGA,080401.000,6503.0194,N,02528.3504,E,1,08,1.0,-0.2,M,21.6,M,,0000*71 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080401.000,A,6503.0194,N,02528.3504,E,0.41,126.31,051209,,,A*6D $GPGGA,080402.000,6503.0192,N,02528.3504,E,1,06,1.4,-1.4,M,21.6,M,,0000*79 $GPGSA,A,3,29,12,30,04,31,16,,,,,,,2.4,1.4,1.9*33 $GPRMC,080402.000,A,6503.0192,N,02528.3504,E,0.14,155.29,051209,,,A*65 $GPGGA,080403.000,6503.0185,N,02528.3502,E,1,06,1.4,-3.6,M,21.6,M,,0000*78 $GPGSA,A,3,29,12,30,04,31,16,,,,,,,2.4,1.4,1.9*33 $GPRMC,080403.000,A,6503.0185,N,02528.3502,E,0.10,233.34,051209,,,A*6F gpsd-3.9/test/daemon/nokia-ld-4w.log.chk0000664000175000017500000007226012135526402016216 0ustar esresr$GPGGA,080315.000,6503.0241,N,02528.3627,E,1,07,1.2,9.9,M,21.6,M,,0000*58 {"class":"TPV","tag":"GGA","mode":3,"lat":65.050401667,"lon":25.472711667,"alt":9.900} $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 {"class":"TPV","tag":"GSA","mode":3,"lat":65.050401667,"lon":25.472711667,"alt":9.900,"epv":43.700} $GPGSV,3,1,11,29,65,214,25,30,52,154,23,31,45,272,32,02,41,068,*7A $GPGSV,3,2,11,12,23,132,25,23,18,348,13,10,16,098,15,04,12,040,24*7E $GPGSV,3,3,11,05,11,110,23,16,07,296,33,13,07,020,26*43 {"class":"SKY","tag":"GSV","xdop":0.89,"ydop":0.96,"vdop":1.90,"tdop":1.44,"hdop":1.20,"gdop":2.99,"pdop":2.20,"satellites":[{"PRN":29,"el":65,"az":214,"ss":25,"used":true},{"PRN":30,"el":52,"az":154,"ss":23,"used":true},{"PRN":31,"el":45,"az":272,"ss":32,"used":true},{"PRN":2,"el":41,"az":68,"ss":0,"used":false},{"PRN":12,"el":23,"az":132,"ss":25,"used":true},{"PRN":23,"el":18,"az":348,"ss":13,"used":true},{"PRN":10,"el":16,"az":98,"ss":15,"used":false},{"PRN":4,"el":12,"az":40,"ss":24,"used":true},{"PRN":5,"el":11,"az":110,"ss":23,"used":false},{"PRN":16,"el":7,"az":296,"ss":33,"used":true},{"PRN":13,"el":7,"az":20,"ss":26,"used":false}]} $GPRMC,080315.000,A,6503.0241,N,02528.3627,E,0.95,25.69,051209,,,A*50 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:15.000Z","ept":0.005,"lat":65.050401667,"lon":25.472711667,"alt":9.900,"epx":13.383,"epy":14.464,"epv":43.700,"track":25.6900,"speed":0.489} $GPGGA,080316.000,6503.0241,N,02528.3625,E,1,07,1.2,10.4,M,21.6,M,,0000*6C $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080316.000,A,6503.0241,N,02528.3625,E,0.56,33.07,051209,,,A*51 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:16.000Z","ept":0.005,"lat":65.050401667,"lon":25.472708333,"alt":10.400,"epx":13.383,"epy":14.464,"epv":43.700,"track":33.0700,"speed":0.288,"climb":0.500,"eps":28.93} $GPGGA,080317.000,6503.0239,N,02528.3621,E,1,07,1.2,10.3,M,21.6,M,,0000*61 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080317.000,A,6503.0239,N,02528.3621,E,0.74,18.23,051209,,,A*54 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:17.000Z","ept":0.005,"lat":65.050398333,"lon":25.472701667,"alt":10.300,"epx":13.383,"epy":14.464,"epv":43.700,"track":18.2300,"speed":0.381,"climb":-0.100,"eps":28.93} $GPGGA,080318.000,6503.0236,N,02528.3617,E,1,07,1.2,10.2,M,21.6,M,,0000*65 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080318.000,A,6503.0236,N,02528.3617,E,0.36,37.53,051209,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:18.000Z","ept":0.005,"lat":65.050393333,"lon":25.472695000,"alt":10.200,"epx":13.383,"epy":14.464,"epv":43.700,"track":37.5300,"speed":0.185,"climb":-0.100,"eps":28.93} $GPGGA,080319.000,6503.0235,N,02528.3611,E,1,07,1.2,10.3,M,21.6,M,,0000*60 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080319.000,A,6503.0235,N,02528.3611,E,0.34,8.27,051209,,,A*64 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:19.000Z","ept":0.005,"lat":65.050391667,"lon":25.472685000,"alt":10.300,"epx":13.383,"epy":14.464,"epv":43.700,"track":8.2700,"speed":0.175,"climb":0.100,"eps":28.93} $GPGGA,080320.000,6503.0233,N,02528.3606,E,1,07,1.2,10.9,M,21.6,M,,0000*60 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPGSV,3,1,11,29,66,214,24,30,52,154,24,31,45,272,32,02,41,068,*7F $GPGSV,3,2,11,12,23,132,26,23,18,348,16,10,16,098,,04,12,040,25*7D $GPGSV,3,3,11,05,12,110,23,16,07,296,33,13,07,020,25*43 {"class":"SKY","tag":"GSV","xdop":0.89,"ydop":0.96,"vdop":1.90,"tdop":1.44,"hdop":1.20,"gdop":2.99,"pdop":2.20,"satellites":[{"PRN":29,"el":66,"az":214,"ss":24,"used":true},{"PRN":30,"el":52,"az":154,"ss":24,"used":true},{"PRN":31,"el":45,"az":272,"ss":32,"used":true},{"PRN":2,"el":41,"az":68,"ss":0,"used":false},{"PRN":12,"el":23,"az":132,"ss":26,"used":true},{"PRN":23,"el":18,"az":348,"ss":16,"used":true},{"PRN":10,"el":16,"az":98,"ss":0,"used":false},{"PRN":4,"el":12,"az":40,"ss":25,"used":true},{"PRN":5,"el":12,"az":110,"ss":23,"used":false},{"PRN":16,"el":7,"az":296,"ss":33,"used":true},{"PRN":13,"el":7,"az":20,"ss":25,"used":false}]} $GPRMC,080320.000,A,6503.0233,N,02528.3606,E,0.11,349.73,051209,,,A*6E {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:20.000Z","ept":0.005,"lat":65.050388333,"lon":25.472676667,"alt":10.900,"epx":13.383,"epy":14.464,"epv":43.700,"track":349.7300,"speed":0.057,"climb":0.600,"eps":28.93} $GPGGA,080321.000,6503.0229,N,02528.3601,E,1,07,1.2,10.2,M,21.6,M,,0000*66 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080321.000,A,6503.0229,N,02528.3601,E,0.17,185.36,051209,,,A*66 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:21.000Z","ept":0.005,"lat":65.050381667,"lon":25.472668333,"alt":10.200,"epx":13.383,"epy":14.464,"epv":43.700,"track":185.3600,"speed":0.087,"climb":-0.700,"eps":28.93} $GPGGA,080322.000,6503.0225,N,02528.3596,E,1,07,1.2,9.1,M,21.6,M,,0000*5F $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080322.000,A,6503.0225,N,02528.3596,E,0.15,191.14,051209,,,A*63 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:22.000Z","ept":0.005,"lat":65.050375000,"lon":25.472660000,"alt":9.100,"epx":13.383,"epy":14.464,"epv":43.700,"track":191.1400,"speed":0.077,"climb":-1.100,"eps":28.93} $GPGGA,080323.000,6503.0221,N,02528.3588,E,1,07,1.2,8.0,M,21.6,M,,0000*55 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080323.000,A,6503.0221,N,02528.3588,E,0.23,195.46,051209,,,A*6F {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:23.000Z","ept":0.005,"lat":65.050368333,"lon":25.472646667,"alt":8.000,"epx":13.383,"epy":14.464,"epv":43.700,"track":195.4600,"speed":0.118,"climb":-1.100,"eps":28.93} $GPGGA,080324.000,6503.0219,N,02528.3584,E,1,07,1.2,8.1,M,21.6,M,,0000*54 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080324.000,A,6503.0219,N,02528.3584,E,0.07,83.00,051209,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:24.000Z","ept":0.005,"lat":65.050365000,"lon":25.472640000,"alt":8.100,"epx":13.383,"epy":14.464,"epv":43.700,"track":83.0000,"speed":0.036,"climb":0.100,"eps":28.93} $GPGGA,080325.000,6503.0216,N,02528.3580,E,1,08,1.0,8.0,M,21.6,M,,0000*52 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPGSV,3,1,11,29,66,214,24,30,52,154,25,31,45,272,32,02,41,068,17*78 $GPGSV,3,2,11,12,23,132,26,23,18,348,18,10,16,098,,04,12,040,25*73 $GPGSV,3,3,11,05,12,110,23,16,07,296,32,13,07,020,25*42 {"class":"SKY","tag":"GSV","xdop":0.89,"ydop":0.96,"vdop":1.70,"tdop":1.44,"hdop":1.00,"gdop":2.99,"pdop":2.00,"satellites":[{"PRN":29,"el":66,"az":214,"ss":24,"used":true},{"PRN":30,"el":52,"az":154,"ss":25,"used":true},{"PRN":31,"el":45,"az":272,"ss":32,"used":true},{"PRN":2,"el":41,"az":68,"ss":17,"used":true},{"PRN":12,"el":23,"az":132,"ss":26,"used":true},{"PRN":23,"el":18,"az":348,"ss":18,"used":true},{"PRN":10,"el":16,"az":98,"ss":0,"used":false},{"PRN":4,"el":12,"az":40,"ss":25,"used":true},{"PRN":5,"el":12,"az":110,"ss":23,"used":false},{"PRN":16,"el":7,"az":296,"ss":32,"used":true},{"PRN":13,"el":7,"az":20,"ss":25,"used":false}]} $GPRMC,080325.000,A,6503.0216,N,02528.3580,E,0.12,86.47,051209,,,A*55 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:25.000Z","ept":0.005,"lat":65.050360000,"lon":25.472633333,"alt":8.000,"epx":13.383,"epy":14.464,"epv":43.700,"track":86.4700,"speed":0.062,"climb":-0.100,"eps":28.93} $GPGGA,080326.000,6503.0215,N,02528.3576,E,1,06,1.4,8.6,M,21.6,M,,0000*57 $GPGSA,A,3,29,12,30,04,31,16,,,,,,,2.4,1.4,1.9*33 $GPRMC,080326.000,A,6503.0215,N,02528.3576,E,0.06,1.14,051209,,,A*60 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:26.000Z","ept":0.005,"lat":65.050358333,"lon":25.472626667,"alt":8.600,"epx":13.383,"epy":14.464,"epv":39.100,"track":1.1400,"speed":0.031,"climb":0.600,"eps":28.93} $GPGGA,080327.000,6503.0214,N,02528.3571,E,1,08,1.0,8.9,M,21.6,M,,0000*55 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080327.000,A,6503.0214,N,02528.3571,E,0.32,1.13,051209,,,A*67 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:27.000Z","ept":0.005,"lat":65.050356667,"lon":25.472618333,"alt":8.900,"epx":13.383,"epy":14.464,"epv":43.700,"track":1.1300,"speed":0.165,"climb":0.300,"eps":28.93} $GPGGA,080328.000,6503.0211,N,02528.3568,E,1,08,1.0,7.5,M,21.6,M,,0000*54 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080328.000,A,6503.0211,N,02528.3568,E,0.19,97.48,051209,,,A*5D {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:28.000Z","ept":0.005,"lat":65.050351667,"lon":25.472613333,"alt":7.500,"epx":13.383,"epy":14.464,"epv":39.100,"track":97.4800,"speed":0.098,"climb":-1.400,"eps":28.93} $GPGGA,080329.000,6503.0208,N,02528.3565,E,1,08,1.0,6.8,M,21.6,M,,0000*5C $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080329.000,A,6503.0208,N,02528.3565,E,0.25,72.57,051209,,,A*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:29.000Z","ept":0.005,"lat":65.050346667,"lon":25.472608333,"alt":6.800,"epx":13.383,"epy":14.464,"epv":39.100,"track":72.5700,"speed":0.129,"climb":-0.700,"eps":28.93} $GPGGA,080330.000,6503.0205,N,02528.3561,E,1,08,1.0,5.7,M,21.6,M,,0000*51 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPGSV,3,1,11,29,66,214,23,30,52,154,26,31,45,272,32,02,41,068,17*7C $GPGSV,3,2,11,12,23,132,25,23,18,348,20,10,16,098,,04,12,040,25*7B $GPGSV,3,3,11,05,12,110,24,16,07,296,32,13,07,020,23*43 {"class":"SKY","tag":"GSV","xdop":0.89,"ydop":0.96,"vdop":1.70,"tdop":1.44,"hdop":1.00,"gdop":2.99,"pdop":2.00,"satellites":[{"PRN":29,"el":66,"az":214,"ss":23,"used":true},{"PRN":30,"el":52,"az":154,"ss":26,"used":true},{"PRN":31,"el":45,"az":272,"ss":32,"used":true},{"PRN":2,"el":41,"az":68,"ss":17,"used":true},{"PRN":12,"el":23,"az":132,"ss":25,"used":true},{"PRN":23,"el":18,"az":348,"ss":20,"used":true},{"PRN":10,"el":16,"az":98,"ss":0,"used":false},{"PRN":4,"el":12,"az":40,"ss":25,"used":true},{"PRN":5,"el":12,"az":110,"ss":24,"used":false},{"PRN":16,"el":7,"az":296,"ss":32,"used":true},{"PRN":13,"el":7,"az":20,"ss":23,"used":false}]} $GPRMC,080330.000,A,6503.0205,N,02528.3561,E,0.14,181.62,051209,,,A*6B {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:30.000Z","ept":0.005,"lat":65.050341667,"lon":25.472601667,"alt":5.700,"epx":13.383,"epy":14.464,"epv":39.100,"track":181.6200,"speed":0.072,"climb":-1.100,"eps":28.93} $GPGGA,080331.000,6503.0202,N,02528.3556,E,1,08,1.0,5.3,M,21.6,M,,0000*57 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080331.000,A,6503.0202,N,02528.3556,E,0.20,209.92,051209,,,A*62 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:31.000Z","ept":0.005,"lat":65.050336667,"lon":25.472593333,"alt":5.300,"epx":13.383,"epy":14.464,"epv":39.100,"track":209.9200,"speed":0.103,"climb":-0.400,"eps":28.93} $GPGGA,080332.000,6503.0200,N,02528.3552,E,1,08,1.0,4.6,M,21.6,M,,0000*56 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080332.000,A,6503.0200,N,02528.3552,E,0.36,228.63,051209,,,A*6D {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:32.000Z","ept":0.005,"lat":65.050333333,"lon":25.472586667,"alt":4.600,"epx":13.383,"epy":14.464,"epv":39.100,"track":228.6300,"speed":0.185,"climb":-0.700,"eps":28.93} $GPGGA,080333.000,6503.0196,N,02528.3548,E,1,07,1.2,3.5,M,21.6,M,,0000*59 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080333.000,A,6503.0196,N,02528.3548,E,0.21,93.12,051209,,,A*59 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:33.000Z","ept":0.005,"lat":65.050326667,"lon":25.472580000,"alt":3.500,"epx":13.383,"epy":14.464,"epv":39.100,"track":93.1200,"speed":0.108,"climb":-1.100,"eps":28.93} $GPGGA,080334.000,6503.0194,N,02528.3545,E,1,07,1.2,3.0,M,21.6,M,,0000*54 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080334.000,A,6503.0194,N,02528.3545,E,0.27,131.95,051209,,,A*61 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:34.000Z","ept":0.005,"lat":65.050323333,"lon":25.472575000,"alt":3.000,"epx":13.383,"epy":14.464,"epv":43.700,"track":131.9500,"speed":0.139,"climb":-0.500,"eps":28.93} $GPGGA,080335.000,6503.0195,N,02528.3544,E,1,07,1.2,3.3,M,21.6,M,,0000*56 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPGSV,3,1,11,29,66,214,22,30,52,154,27,31,45,272,32,02,41,068,*7A $GPGSV,3,2,11,12,23,132,18,23,18,348,21,10,16,098,,04,12,040,25*74 $GPGSV,3,3,11,05,12,110,24,16,07,296,32,13,07,020,22*42 {"class":"SKY","tag":"GSV","xdop":0.89,"ydop":0.96,"vdop":1.90,"tdop":1.44,"hdop":1.20,"gdop":2.99,"pdop":2.20,"satellites":[{"PRN":29,"el":66,"az":214,"ss":22,"used":true},{"PRN":30,"el":52,"az":154,"ss":27,"used":true},{"PRN":31,"el":45,"az":272,"ss":32,"used":true},{"PRN":2,"el":41,"az":68,"ss":0,"used":false},{"PRN":12,"el":23,"az":132,"ss":18,"used":true},{"PRN":23,"el":18,"az":348,"ss":21,"used":true},{"PRN":10,"el":16,"az":98,"ss":0,"used":false},{"PRN":4,"el":12,"az":40,"ss":25,"used":true},{"PRN":5,"el":12,"az":110,"ss":24,"used":false},{"PRN":16,"el":7,"az":296,"ss":32,"used":true},{"PRN":13,"el":7,"az":20,"ss":22,"used":false}]} $GPRMC,080335.000,A,6503.0195,N,02528.3544,E,0.28,93.31,051209,,,A*58 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:35.000Z","ept":0.005,"lat":65.050325000,"lon":25.472573333,"alt":3.300,"epx":13.383,"epy":14.464,"epv":43.700,"track":93.3100,"speed":0.144,"climb":0.300,"eps":28.93} $GPGGA,080336.000,6503.0192,N,02528.3542,E,1,07,1.2,2.1,M,21.6,M,,0000*57 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080336.000,A,6503.0192,N,02528.3542,E,0.31,109.65,051209,,,A*61 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:36.000Z","ept":0.005,"lat":65.050320000,"lon":25.472570000,"alt":2.100,"epx":13.383,"epy":14.464,"epv":43.700,"track":109.6500,"speed":0.159,"climb":-1.200,"eps":28.93} $GPGGA,080337.000,6503.0193,N,02528.3539,E,1,06,1.7,2.0,M,21.6,M,,0000*5E $GPGSA,A,3,29,30,23,04,31,16,,,,,,,3.3,1.7,2.8*36 $GPRMC,080337.000,A,6503.0193,N,02528.3539,E,0.26,357.90,051209,,,A*68 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:37.000Z","ept":0.005,"lat":65.050321667,"lon":25.472565000,"alt":2.000,"epx":13.383,"epy":14.464,"epv":43.700,"track":357.9000,"speed":0.134,"climb":-0.100,"eps":28.93} $GPGGA,080338.000,6503.0192,N,02528.3535,E,1,07,1.2,1.3,M,21.6,M,,0000*58 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080338.000,A,6503.0192,N,02528.3535,E,0.23,329.09,051209,,,A*66 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:38.000Z","ept":0.005,"lat":65.050320000,"lon":25.472558333,"alt":1.300,"epx":13.383,"epy":14.464,"epv":64.400,"track":329.0900,"speed":0.118,"climb":-0.700,"eps":28.93} $GPGGA,080339.000,6503.0194,N,02528.3531,E,1,06,1.7,1.4,M,21.6,M,,0000*58 $GPGSA,A,3,29,30,23,04,31,16,,,,,,,3.3,1.7,2.8*36 $GPRMC,080339.000,A,6503.0194,N,02528.3531,E,0.29,324.54,051209,,,A*6A {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:39.000Z","ept":0.005,"lat":65.050323333,"lon":25.472551667,"alt":1.400,"epx":13.383,"epy":14.464,"epv":43.700,"track":324.5400,"speed":0.149,"climb":0.100,"eps":28.93} $GPGGA,080340.000,6503.0196,N,02528.3527,E,1,06,1.7,1.7,M,21.6,M,,0000*50 $GPGSA,A,3,29,30,23,04,31,16,,,,,,,3.3,1.7,2.8*36 $GPGSV,3,1,11,29,66,214,21,30,52,154,28,31,45,272,31,02,41,068,*75 $GPGSV,3,2,11,12,23,132,17,23,18,348,21,10,16,098,,04,12,040,25*7B $GPGSV,3,3,11,05,12,110,23,16,07,296,31,13,07,020,22*46 {"class":"SKY","tag":"GSV","xdop":0.89,"ydop":0.96,"vdop":2.80,"tdop":1.44,"hdop":1.70,"gdop":2.99,"pdop":3.30,"satellites":[{"PRN":29,"el":66,"az":214,"ss":21,"used":true},{"PRN":30,"el":52,"az":154,"ss":28,"used":true},{"PRN":31,"el":45,"az":272,"ss":31,"used":true},{"PRN":2,"el":41,"az":68,"ss":0,"used":false},{"PRN":12,"el":23,"az":132,"ss":17,"used":false},{"PRN":23,"el":18,"az":348,"ss":21,"used":true},{"PRN":10,"el":16,"az":98,"ss":0,"used":false},{"PRN":4,"el":12,"az":40,"ss":25,"used":true},{"PRN":5,"el":12,"az":110,"ss":23,"used":false},{"PRN":16,"el":7,"az":296,"ss":31,"used":true},{"PRN":13,"el":7,"az":20,"ss":22,"used":false}]} $GPRMC,080340.000,A,6503.0196,N,02528.3527,E,0.17,253.19,051209,,,A*64 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:40.000Z","ept":0.005,"lat":65.050326667,"lon":25.472545000,"alt":1.700,"epx":13.383,"epy":14.464,"epv":64.400,"track":253.1900,"speed":0.087,"climb":0.300,"eps":28.93} $GPGGA,080341.000,6503.0192,N,02528.3525,E,1,07,1.2,0.1,M,21.6,M,,0000*54 $GPGSA,A,3,29,12,30,23,04,31,16,,,,,,2.2,1.2,1.9*32 $GPRMC,080341.000,A,6503.0192,N,02528.3525,E,0.16,233.14,051209,,,A*69 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:41.000Z","ept":0.005,"lat":65.050320000,"lon":25.472541667,"alt":0.100,"epx":13.383,"epy":14.464,"epv":64.400,"track":233.1400,"speed":0.082,"climb":-1.600,"eps":28.93} $GPGGA,080342.000,6503.0194,N,02528.3526,E,1,08,1.0,-0.9,M,21.6,M,,0000*7A $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080342.000,A,6503.0194,N,02528.3526,E,0.10,352.68,051209,,,A*64 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:42.000Z","ept":0.005,"lat":65.050323333,"lon":25.472543333,"alt":-0.900,"epx":13.383,"epy":14.464,"epv":43.700,"track":352.6800,"speed":0.051,"climb":-1.000,"eps":28.93} $GPGGA,080343.000,6503.0192,N,02528.3526,E,1,08,1.0,-2.0,M,21.6,M,,0000*76 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080343.000,A,6503.0192,N,02528.3526,E,0.17,125.18,051209,,,A*61 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:43.000Z","ept":0.005,"lat":65.050320000,"lon":25.472543333,"alt":-2.000,"epx":13.383,"epy":14.464,"epv":39.100,"track":125.1800,"speed":0.087,"climb":-1.100,"eps":28.93} $GPGGA,080344.000,6503.0194,N,02528.3524,E,1,08,1.0,-1.7,M,21.6,M,,0000*71 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080344.000,A,6503.0194,N,02528.3524,E,0.26,17.55,051209,,,A*59 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:44.000Z","ept":0.005,"lat":65.050323333,"lon":25.472540000,"alt":-1.700,"epx":13.383,"epy":14.464,"epv":39.100,"track":17.5500,"speed":0.134,"climb":0.300,"eps":28.93} $GPGGA,080345.000,6503.0200,N,02528.3521,E,1,08,1.0,0.2,M,21.6,M,,0000*52 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPGSV,3,1,11,29,66,214,21,30,52,154,29,31,45,272,31,02,41,068,17*72 $GPGSV,3,2,11,12,23,132,19,23,18,348,12,10,16,098,,04,12,040,25*75 $GPGSV,3,3,11,05,12,110,22,16,07,296,31,13,07,020,21*44 {"class":"SKY","tag":"GSV","xdop":0.89,"ydop":0.96,"vdop":1.70,"tdop":1.44,"hdop":1.00,"gdop":2.99,"pdop":2.00,"satellites":[{"PRN":29,"el":66,"az":214,"ss":21,"used":true},{"PRN":30,"el":52,"az":154,"ss":29,"used":true},{"PRN":31,"el":45,"az":272,"ss":31,"used":true},{"PRN":2,"el":41,"az":68,"ss":17,"used":true},{"PRN":12,"el":23,"az":132,"ss":19,"used":true},{"PRN":23,"el":18,"az":348,"ss":12,"used":true},{"PRN":10,"el":16,"az":98,"ss":0,"used":false},{"PRN":4,"el":12,"az":40,"ss":25,"used":true},{"PRN":5,"el":12,"az":110,"ss":22,"used":false},{"PRN":16,"el":7,"az":296,"ss":31,"used":true},{"PRN":13,"el":7,"az":20,"ss":21,"used":false}]} $GPRMC,080345.000,A,6503.0200,N,02528.3521,E,0.02,174.00,051209,,,A*61 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:45.000Z","ept":0.005,"lat":65.050333333,"lon":25.472535000,"alt":0.200,"epx":13.383,"epy":14.464,"epv":39.100,"track":174.0000,"speed":0.010,"climb":1.900,"eps":28.93} $GPGGA,080346.000,6503.0204,N,02528.3519,E,1,08,1.0,1.5,M,21.6,M,,0000*58 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080346.000,A,6503.0204,N,02528.3519,E,0.74,16.87,051209,,,A*56 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:46.000Z","ept":0.005,"lat":65.050340000,"lon":25.472531667,"alt":1.500,"epx":13.383,"epy":14.464,"epv":39.100,"track":16.8700,"speed":0.381,"climb":1.300,"eps":28.93} $GPGGA,080347.000,6503.0207,N,02528.3518,E,1,08,1.0,2.5,M,21.6,M,,0000*58 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080347.000,A,6503.0207,N,02528.3518,E,0.43,19.41,051209,,,A*54 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:47.000Z","ept":0.005,"lat":65.050345000,"lon":25.472530000,"alt":2.500,"epx":13.383,"epy":14.464,"epv":39.100,"track":19.4100,"speed":0.221,"climb":1.000,"eps":28.93} $GPGGA,080348.000,6503.0210,N,02528.3517,E,1,06,1.4,3.2,M,21.6,M,,0000*52 $GPGSA,A,3,29,12,30,04,31,16,,,,,,,2.4,1.4,1.9*33 $GPRMC,080348.000,A,6503.0210,N,02528.3517,E,0.37,36.42,051209,,,A*5F {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:48.000Z","ept":0.005,"lat":65.050350000,"lon":25.472528333,"alt":3.200,"epx":13.383,"epy":14.464,"epv":39.100,"track":36.4200,"speed":0.190,"climb":0.700,"eps":28.93} $GPGGA,080349.000,6503.0212,N,02528.3517,E,1,06,1.4,3.6,M,21.6,M,,0000*55 $GPGSA,A,3,29,12,30,04,31,16,,,,,,,2.4,1.4,1.9*33 $GPRMC,080349.000,A,6503.0212,N,02528.3517,E,0.50,28.72,051209,,,A*51 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:49.000Z","ept":0.005,"lat":65.050353333,"lon":25.472528333,"alt":3.600,"epx":13.383,"epy":14.464,"epv":43.700,"track":28.7200,"speed":0.257,"climb":0.400,"eps":28.93} $GPGGA,080350.000,6503.0211,N,02528.3517,E,1,06,1.4,3.4,M,21.6,M,,0000*5C $GPGSA,A,3,29,12,30,04,31,16,,,,,,,2.4,1.4,1.9*33 $GPGSV,3,1,12,29,66,213,20,30,52,154,29,31,45,271,30,02,41,068,16*74 $GPGSV,3,2,12,12,23,132,21,23,18,348,,10,16,097,,04,12,040,25*71 $GPGSV,3,3,12,05,12,110,22,16,07,296,31,13,07,020,20,21,00,196,*7B {"class":"SKY","tag":"GSV","xdop":0.89,"ydop":0.96,"vdop":1.90,"tdop":1.44,"hdop":1.40,"gdop":2.99,"pdop":2.40,"satellites":[{"PRN":29,"el":66,"az":213,"ss":20,"used":true},{"PRN":30,"el":52,"az":154,"ss":29,"used":true},{"PRN":31,"el":45,"az":271,"ss":30,"used":true},{"PRN":2,"el":41,"az":68,"ss":16,"used":false},{"PRN":12,"el":23,"az":132,"ss":21,"used":true},{"PRN":23,"el":18,"az":348,"ss":0,"used":false},{"PRN":10,"el":16,"az":97,"ss":0,"used":false},{"PRN":4,"el":12,"az":40,"ss":25,"used":true},{"PRN":5,"el":12,"az":110,"ss":22,"used":false},{"PRN":16,"el":7,"az":296,"ss":31,"used":true},{"PRN":13,"el":7,"az":20,"ss":20,"used":false},{"PRN":21,"el":0,"az":196,"ss":0,"used":false}]} $GPRMC,080350.000,A,6503.0211,N,02528.3517,E,0.15,309.98,051209,,,A*6F {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:50.000Z","ept":0.005,"lat":65.050351667,"lon":25.472528333,"alt":3.400,"epx":13.383,"epy":14.464,"epv":43.700,"track":309.9800,"speed":0.077,"climb":-0.200,"eps":28.93} $GPGGA,080351.000,6503.0211,N,02528.3515,E,1,07,1.2,3.8,M,21.6,M,,0000*54 $GPGSA,A,3,29,12,30,04,31,02,16,,,,,,2.1,1.2,1.7*3C $GPRMC,080351.000,A,6503.0211,N,02528.3515,E,0.03,195.01,051209,,,A*6C {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:51.000Z","ept":0.005,"lat":65.050351667,"lon":25.472525000,"alt":3.800,"epx":13.383,"epy":14.464,"epv":43.700,"track":195.0100,"speed":0.015,"climb":0.400,"eps":28.93} $GPGGA,080352.000,6503.0210,N,02528.3519,E,1,07,1.2,3.1,M,21.6,M,,0000*53 $GPGSA,A,3,29,12,30,04,31,02,16,,,,,,2.1,1.2,1.7*3C $GPRMC,080352.000,A,6503.0210,N,02528.3519,E,0.17,300.87,051209,,,A*67 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:52.000Z","ept":0.005,"lat":65.050350000,"lon":25.472531667,"alt":3.100,"epx":13.383,"epy":14.464,"epv":39.100,"track":300.8700,"speed":0.087,"climb":-0.700,"eps":28.93} $GPGGA,080353.000,6503.0211,N,02528.3521,E,1,07,1.2,3.8,M,21.6,M,,0000*51 $GPGSA,A,3,29,12,30,04,31,02,16,,,,,,2.1,1.2,1.7*3C $GPRMC,080353.000,A,6503.0211,N,02528.3521,E,0.05,235.43,051209,,,A*60 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:53.000Z","ept":0.005,"lat":65.050351667,"lon":25.472535000,"alt":3.800,"epx":13.383,"epy":14.464,"epv":39.100,"track":235.4300,"speed":0.026,"climb":0.700,"eps":28.93} $GPGGA,080354.000,6503.0205,N,02528.3519,E,1,08,1.0,2.1,M,21.6,M,,0000*5D $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080354.000,A,6503.0205,N,02528.3519,E,0.18,82.11,051209,,,A*5C {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:54.000Z","ept":0.005,"lat":65.050341667,"lon":25.472531667,"alt":2.100,"epx":13.383,"epy":14.464,"epv":39.100,"track":82.1100,"speed":0.093,"climb":-1.700,"eps":28.93} $GPGGA,080355.000,6503.0204,N,02528.3517,E,1,08,1.0,2.5,M,21.6,M,,0000*57 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPGSV,3,1,12,29,66,213,20,30,52,154,29,31,45,271,30,02,41,068,15*77 $GPGSV,3,2,12,12,23,132,22,23,18,348,18,10,16,097,,04,12,040,25*7B $GPGSV,3,3,12,05,12,110,12,16,07,296,30,13,07,020,19,21,00,196,*73 {"class":"SKY","tag":"GSV","xdop":0.89,"ydop":0.96,"vdop":1.70,"tdop":1.44,"hdop":1.00,"gdop":2.99,"pdop":2.00,"satellites":[{"PRN":29,"el":66,"az":213,"ss":20,"used":true},{"PRN":30,"el":52,"az":154,"ss":29,"used":true},{"PRN":31,"el":45,"az":271,"ss":30,"used":true},{"PRN":2,"el":41,"az":68,"ss":15,"used":true},{"PRN":12,"el":23,"az":132,"ss":22,"used":true},{"PRN":23,"el":18,"az":348,"ss":18,"used":true},{"PRN":10,"el":16,"az":97,"ss":0,"used":false},{"PRN":4,"el":12,"az":40,"ss":25,"used":true},{"PRN":5,"el":12,"az":110,"ss":12,"used":false},{"PRN":16,"el":7,"az":296,"ss":30,"used":true},{"PRN":13,"el":7,"az":20,"ss":19,"used":false},{"PRN":21,"el":0,"az":196,"ss":0,"used":false}]} $GPRMC,080355.000,A,6503.0204,N,02528.3517,E,0.14,17.41,051209,,,A*57 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:55.000Z","ept":0.005,"lat":65.050340000,"lon":25.472528333,"alt":2.500,"epx":13.383,"epy":14.464,"epv":39.100,"track":17.4100,"speed":0.072,"climb":0.400,"eps":28.93} $GPGGA,080356.000,6503.0205,N,02528.3514,E,1,08,1.0,3.5,M,21.6,M,,0000*57 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080356.000,A,6503.0205,N,02528.3514,E,0.26,318.83,051209,,,A*65 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:56.000Z","ept":0.005,"lat":65.050341667,"lon":25.472523333,"alt":3.500,"epx":13.383,"epy":14.464,"epv":39.100,"track":318.8300,"speed":0.134,"climb":1.000,"eps":28.93} $GPGGA,080357.000,6503.0206,N,02528.3510,E,1,08,1.0,4.3,M,21.6,M,,0000*50 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080357.000,A,6503.0206,N,02528.3510,E,0.22,274.62,051209,,,A*63 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:57.000Z","ept":0.005,"lat":65.050343333,"lon":25.472516667,"alt":4.300,"epx":13.383,"epy":14.464,"epv":39.100,"track":274.6200,"speed":0.113,"climb":0.800,"eps":28.93} $GPGGA,080358.000,6503.0202,N,02528.3508,E,1,08,1.0,2.6,M,21.6,M,,0000*51 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080358.000,A,6503.0202,N,02528.3508,E,0.29,327.42,051209,,,A*6F {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:58.000Z","ept":0.005,"lat":65.050336667,"lon":25.472513333,"alt":2.600,"epx":13.383,"epy":14.464,"epv":39.100,"track":327.4200,"speed":0.149,"climb":-1.700,"eps":28.93} $GPGGA,080359.000,6503.0200,N,02528.3505,E,1,08,1.0,2.3,M,21.6,M,,0000*5A $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080359.000,A,6503.0200,N,02528.3505,E,0.15,188.94,051209,,,A*62 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:03:59.000Z","ept":0.005,"lat":65.050333333,"lon":25.472508333,"alt":2.300,"epx":13.383,"epy":14.464,"epv":39.100,"track":188.9400,"speed":0.077,"climb":-0.300,"eps":28.93} $GPGGA,080400.000,6503.0198,N,02528.3504,E,1,08,1.0,1.5,M,21.6,M,,0000*57 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPGSV,3,1,12,29,66,213,20,30,52,154,29,31,45,271,30,02,41,068,15*77 $GPGSV,3,2,12,12,23,132,23,23,18,348,18,10,16,097,,04,12,040,25*7A $GPGSV,3,3,12,05,12,110,15,16,07,296,30,13,07,020,18,21,00,196,*75 {"class":"SKY","tag":"GSV","xdop":0.89,"ydop":0.96,"vdop":1.70,"tdop":1.44,"hdop":1.00,"gdop":2.99,"pdop":2.00,"satellites":[{"PRN":29,"el":66,"az":213,"ss":20,"used":true},{"PRN":30,"el":52,"az":154,"ss":29,"used":true},{"PRN":31,"el":45,"az":271,"ss":30,"used":true},{"PRN":2,"el":41,"az":68,"ss":15,"used":true},{"PRN":12,"el":23,"az":132,"ss":23,"used":true},{"PRN":23,"el":18,"az":348,"ss":18,"used":true},{"PRN":10,"el":16,"az":97,"ss":0,"used":false},{"PRN":4,"el":12,"az":40,"ss":25,"used":true},{"PRN":5,"el":12,"az":110,"ss":15,"used":false},{"PRN":16,"el":7,"az":296,"ss":30,"used":true},{"PRN":13,"el":7,"az":20,"ss":18,"used":false},{"PRN":21,"el":0,"az":196,"ss":0,"used":false}]} $GPRMC,080400.000,A,6503.0198,N,02528.3504,E,0.40,159.57,051209,,,A*69 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:04:00.000Z","ept":0.005,"lat":65.050330000,"lon":25.472506667,"alt":1.500,"epx":13.383,"epy":14.464,"epv":39.100,"track":159.5700,"speed":0.206,"climb":-0.800,"eps":28.93} $GPGGA,080401.000,6503.0194,N,02528.3504,E,1,08,1.0,-0.2,M,21.6,M,,0000*71 $GPGSA,A,3,29,12,30,23,04,31,02,16,,,,,2.0,1.0,1.7*3E $GPRMC,080401.000,A,6503.0194,N,02528.3504,E,0.41,126.31,051209,,,A*6D {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:04:01.000Z","ept":0.005,"lat":65.050323333,"lon":25.472506667,"alt":-0.200,"epx":13.383,"epy":14.464,"epv":39.100,"track":126.3100,"speed":0.211,"climb":-1.700,"eps":28.93} $GPGGA,080402.000,6503.0192,N,02528.3504,E,1,06,1.4,-1.4,M,21.6,M,,0000*79 $GPGSA,A,3,29,12,30,04,31,16,,,,,,,2.4,1.4,1.9*33 $GPRMC,080402.000,A,6503.0192,N,02528.3504,E,0.14,155.29,051209,,,A*65 {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:04:02.000Z","ept":0.005,"lat":65.050320000,"lon":25.472506667,"alt":-1.400,"epx":13.383,"epy":14.464,"epv":39.100,"track":155.2900,"speed":0.072,"climb":-1.200,"eps":28.93} $GPGGA,080403.000,6503.0185,N,02528.3502,E,1,06,1.4,-3.6,M,21.6,M,,0000*78 $GPGSA,A,3,29,12,30,04,31,16,,,,,,,2.4,1.4,1.9*33 $GPRMC,080403.000,A,6503.0185,N,02528.3502,E,0.10,233.34,051209,,,A*6F {"class":"TPV","tag":"RMC","mode":3,"time":"2009-12-05T08:04:03.000Z","ept":0.005,"lat":65.050308333,"lon":25.472503333,"alt":-3.600,"epx":13.383,"epy":14.464,"epv":43.700,"track":233.3400,"speed":0.051,"climb":-2.200,"eps":28.93} gpsd-3.9/test/daemon/oncore.log0000664000175000017500000000537511762140437014721 0ustar esresr# Name: Oncore GT+ # Submitter: Wojciech Kazubski # Date: 2005-04-12 # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPGSV,3,1,09,02,33,299,27,04,43,242,26,08,12,202,,13,85,356,*70 $GPGSV,3,2,09,16,22,059,,20,21,131,,23,54,074,,24,23,195,*71 $GPGSV,3,3,09,27,39,195,15,,,,,,,,,,,,*46 $GPRMC,171244.00,A,5209.7838,N,02048.4818,E,0.6,71.0,080405,3.5,E*63 $GPGGA,171245.00,5209.7838,N,02048.4819,E,1,03,5.3,76.6,M,36.5,M,,*5A $GPGLL,5209.7838,N,02048.4819,E,171245.00,A*00 $GPGSA,A,2,02,04,27,,,,,,,,,,,5.3,*36 $GPGSV,3,1,09,02,33,299,27,04,43,242,26,08,12,202,,13,85,356,*70 $GPGSV,3,2,09,16,22,059,,20,21,131,,23,54,074,,24,23,195,*71 $GPGSV,3,3,09,27,39,195,13,,,,,,,,,,,,*40 $GPRMC,171245.00,A,5209.7838,N,02048.4819,E,0.3,41.9,080405,3.5,E*6C $GPGGA,171246.00,5209.7839,N,02048.4824,E,1,03,5.3,76.6,M,36.5,M,,*56 $GPGLL,5209.7839,N,02048.4824,E,171246.00,A*0C $GPGSA,A,2,02,04,27,,,,,,,,,,,5.3,*36 $GPGSV,3,1,09,02,33,299,27,04,43,242,26,08,12,202,,13,85,356,*70 $GPGSV,3,2,09,16,22,059,,20,21,131,,23,54,074,,24,23,195,*71 $GPGSV,3,3,09,27,39,195,16,,,,,,,,,,,,*45 $GPRMC,171246.00,A,5209.7839,N,02048.4824,E,0.5,75.4,080405,3.5,E*6C $GPGGA,171247.00,5209.7838,N,02048.4821,E,1,03,5.3,76.6,M,36.5,M,,*53 $GPGLL,5209.7838,N,02048.4821,E,171247.00,A*09 $GPGSA,A,2,02,04,27,,,,,,,,,,,5.3,*36 $GPGSV,3,1,09,02,33,299,28,04,43,242,26,08,12,202,,13,85,357,*7E $GPGSV,3,2,09,16,22,059,,20,21,131,,23,54,074,,24,23,195,*71 $GPGSV,3,3,09,27,40,195,15,,,,,,,,,,,,*48 $GPRMC,171247.00,A,5209.7838,N,02048.4821,E,0.5,269.3,080405,3.5,E*51 $GPGGA,171248.00,5209.7839,N,02048.4824,E,1,03,5.3,76.6,M,36.5,M,,*58 $GPGLL,5209.7839,N,02048.4824,E,171248.00,A*02 $GPGSA,A,2,02,04,27,,,,,,,,,,,5.3,*36 $GPGSV,3,1,09,02,33,299,28,04,43,242,25,08,12,202,,13,85,357,*7D $GPGSV,3,2,09,16,22,059,,20,21,131,,23,54,074,,24,23,195,*71 $GPGSV,3,3,09,27,40,195,15,,,,,,,,,,,,*48 $GPRMC,171248.00,A,5209.7839,N,02048.4824,E,0.2,0.0,080405,3.5,E*53 $GPGGA,171249.00,5209.7839,N,02048.4827,E,1,03,5.3,76.6,M,36.5,M,,*5A $GPGLL,5209.7839,N,02048.4827,E,171249.00,A*00 $GPGSA,A,2,02,04,27,,,,,,,,,,,5.3,*36 $GPGSV,3,1,09,02,33,299,27,04,43,242,26,08,12,202,,13,85,357,*71 $GPGSV,3,2,09,16,22,059,,20,21,131,,23,54,074,,24,23,195,*71 $GPGSV,3,3,09,27,40,195,15,,,,,,,,,,,,*48 $GPRMC,171249.00,A,5209.7839,N,02048.4827,E,0.3,80.9,080405,3.5,E*61 $GPGGA,171250.00,5209.7839,N,02048.4829,E,1,03,5.3,76.6,M,36.5,M,,*5C $GPGLL,5209.7839,N,02048.4829,E,171250.00,A*06 $GPGSA,A,2,02,04,27,,,,,,,,,,,5.3,*36 $GPGSV,3,1,09,02,33,299,28,04,43,242,26,08,12,202,,13,85,357,*7E $GPGSV,3,2,09,16,22,059,,20,21,131,,23,54,074,,24,23,195,*71 $GPGSV,3,3,09,27,40,195,15,,,,,,,,,,,,*48 $GPRMC,171250.00,A,5209.7839,N,02048.4829,E,0.3,77.8,080405,3.5,E*6E gpsd-3.9/test/daemon/oncore.log.chk0000664000175000017500000001635312135526403015457 0ustar esresr$GPGSV,3,1,09,02,33,299,27,04,43,242,26,08,12,202,,13,85,356,*70 $GPGSV,3,2,09,16,22,059,,20,21,131,,23,54,074,,24,23,195,*71 $GPGSV,3,3,09,27,39,195,15,,,,,,,,,,,,*46 {"class":"SKY","tag":"GSV","satellites":[{"PRN":2,"el":33,"az":299,"ss":27,"used":false},{"PRN":4,"el":43,"az":242,"ss":26,"used":false},{"PRN":8,"el":12,"az":202,"ss":0,"used":false},{"PRN":13,"el":85,"az":356,"ss":0,"used":false},{"PRN":16,"el":22,"az":59,"ss":0,"used":false},{"PRN":20,"el":21,"az":131,"ss":0,"used":false},{"PRN":23,"el":54,"az":74,"ss":0,"used":false},{"PRN":24,"el":23,"az":195,"ss":0,"used":false},{"PRN":27,"el":39,"az":195,"ss":15,"used":false}]} $GPRMC,171244.00,A,5209.7838,N,02048.4818,E,0.6,71.0,080405,3.5,E*63 {"class":"TPV","tag":"RMC","mode":2,"time":"2005-04-08T17:12:44.000Z","ept":0.005,"lat":52.163063333,"lon":20.808030000,"track":71.0000,"speed":0.309} $GPGGA,171245.00,5209.7838,N,02048.4819,E,1,03,5.3,76.6,M,36.5,M,,*5A $GPGLL,5209.7838,N,02048.4819,E,171245.00,A*00 $GPGSA,A,2,02,04,27,,,,,,,,,,,5.3,*36 $GPGSV,3,1,09,02,33,299,27,04,43,242,26,08,12,202,,13,85,356,*70 $GPGSV,3,2,09,16,22,059,,20,21,131,,23,54,074,,24,23,195,*71 $GPGSV,3,3,09,27,39,195,13,,,,,,,,,,,,*40 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":5.30,"pdop":0.00,"satellites":[{"PRN":2,"el":33,"az":299,"ss":27,"used":true},{"PRN":4,"el":43,"az":242,"ss":26,"used":true},{"PRN":8,"el":12,"az":202,"ss":0,"used":false},{"PRN":13,"el":85,"az":356,"ss":0,"used":false},{"PRN":16,"el":22,"az":59,"ss":0,"used":false},{"PRN":20,"el":21,"az":131,"ss":0,"used":false},{"PRN":23,"el":54,"az":74,"ss":0,"used":false},{"PRN":24,"el":23,"az":195,"ss":0,"used":false},{"PRN":27,"el":39,"az":195,"ss":13,"used":true}]} $GPRMC,171245.00,A,5209.7838,N,02048.4819,E,0.3,41.9,080405,3.5,E*6C {"class":"TPV","tag":"RMC","mode":3,"time":"2005-04-08T17:12:45.000Z","ept":0.005,"lat":52.163063333,"lon":20.808031667,"alt":76.600,"epv":0.000,"track":41.9000,"speed":0.154,"climb":0.000} $GPGGA,171246.00,5209.7839,N,02048.4824,E,1,03,5.3,76.6,M,36.5,M,,*56 $GPGLL,5209.7839,N,02048.4824,E,171246.00,A*0C $GPGSA,A,2,02,04,27,,,,,,,,,,,5.3,*36 $GPGSV,3,1,09,02,33,299,27,04,43,242,26,08,12,202,,13,85,356,*70 $GPGSV,3,2,09,16,22,059,,20,21,131,,23,54,074,,24,23,195,*71 $GPGSV,3,3,09,27,39,195,16,,,,,,,,,,,,*45 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":5.30,"pdop":0.00,"satellites":[{"PRN":2,"el":33,"az":299,"ss":27,"used":true},{"PRN":4,"el":43,"az":242,"ss":26,"used":true},{"PRN":8,"el":12,"az":202,"ss":0,"used":false},{"PRN":13,"el":85,"az":356,"ss":0,"used":false},{"PRN":16,"el":22,"az":59,"ss":0,"used":false},{"PRN":20,"el":21,"az":131,"ss":0,"used":false},{"PRN":23,"el":54,"az":74,"ss":0,"used":false},{"PRN":24,"el":23,"az":195,"ss":0,"used":false},{"PRN":27,"el":39,"az":195,"ss":16,"used":true}]} $GPRMC,171246.00,A,5209.7839,N,02048.4824,E,0.5,75.4,080405,3.5,E*6C {"class":"TPV","tag":"RMC","mode":3,"time":"2005-04-08T17:12:46.000Z","ept":0.005,"lat":52.163065000,"lon":20.808040000,"alt":76.600,"epv":0.000,"track":75.4000,"speed":0.257,"climb":0.000} $GPGGA,171247.00,5209.7838,N,02048.4821,E,1,03,5.3,76.6,M,36.5,M,,*53 $GPGLL,5209.7838,N,02048.4821,E,171247.00,A*09 $GPGSA,A,2,02,04,27,,,,,,,,,,,5.3,*36 $GPGSV,3,1,09,02,33,299,28,04,43,242,26,08,12,202,,13,85,357,*7E $GPGSV,3,2,09,16,22,059,,20,21,131,,23,54,074,,24,23,195,*71 $GPGSV,3,3,09,27,40,195,15,,,,,,,,,,,,*48 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":5.30,"pdop":0.00,"satellites":[{"PRN":2,"el":33,"az":299,"ss":28,"used":true},{"PRN":4,"el":43,"az":242,"ss":26,"used":true},{"PRN":8,"el":12,"az":202,"ss":0,"used":false},{"PRN":13,"el":85,"az":357,"ss":0,"used":false},{"PRN":16,"el":22,"az":59,"ss":0,"used":false},{"PRN":20,"el":21,"az":131,"ss":0,"used":false},{"PRN":23,"el":54,"az":74,"ss":0,"used":false},{"PRN":24,"el":23,"az":195,"ss":0,"used":false},{"PRN":27,"el":40,"az":195,"ss":15,"used":true}]} $GPRMC,171247.00,A,5209.7838,N,02048.4821,E,0.5,269.3,080405,3.5,E*51 {"class":"TPV","tag":"RMC","mode":3,"time":"2005-04-08T17:12:47.000Z","ept":0.005,"lat":52.163063333,"lon":20.808035000,"alt":76.600,"epv":0.000,"track":269.3000,"speed":0.257,"climb":0.000} $GPGGA,171248.00,5209.7839,N,02048.4824,E,1,03,5.3,76.6,M,36.5,M,,*58 $GPGLL,5209.7839,N,02048.4824,E,171248.00,A*02 $GPGSA,A,2,02,04,27,,,,,,,,,,,5.3,*36 $GPGSV,3,1,09,02,33,299,28,04,43,242,25,08,12,202,,13,85,357,*7D $GPGSV,3,2,09,16,22,059,,20,21,131,,23,54,074,,24,23,195,*71 $GPGSV,3,3,09,27,40,195,15,,,,,,,,,,,,*48 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":5.30,"pdop":0.00,"satellites":[{"PRN":2,"el":33,"az":299,"ss":28,"used":true},{"PRN":4,"el":43,"az":242,"ss":25,"used":true},{"PRN":8,"el":12,"az":202,"ss":0,"used":false},{"PRN":13,"el":85,"az":357,"ss":0,"used":false},{"PRN":16,"el":22,"az":59,"ss":0,"used":false},{"PRN":20,"el":21,"az":131,"ss":0,"used":false},{"PRN":23,"el":54,"az":74,"ss":0,"used":false},{"PRN":24,"el":23,"az":195,"ss":0,"used":false},{"PRN":27,"el":40,"az":195,"ss":15,"used":true}]} $GPRMC,171248.00,A,5209.7839,N,02048.4824,E,0.2,0.0,080405,3.5,E*53 {"class":"TPV","tag":"RMC","mode":3,"time":"2005-04-08T17:12:48.000Z","ept":0.005,"lat":52.163065000,"lon":20.808040000,"alt":76.600,"epv":0.000,"track":0.0000,"speed":0.103,"climb":0.000} $GPGGA,171249.00,5209.7839,N,02048.4827,E,1,03,5.3,76.6,M,36.5,M,,*5A $GPGLL,5209.7839,N,02048.4827,E,171249.00,A*00 $GPGSA,A,2,02,04,27,,,,,,,,,,,5.3,*36 $GPGSV,3,1,09,02,33,299,27,04,43,242,26,08,12,202,,13,85,357,*71 $GPGSV,3,2,09,16,22,059,,20,21,131,,23,54,074,,24,23,195,*71 $GPGSV,3,3,09,27,40,195,15,,,,,,,,,,,,*48 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":5.30,"pdop":0.00,"satellites":[{"PRN":2,"el":33,"az":299,"ss":27,"used":true},{"PRN":4,"el":43,"az":242,"ss":26,"used":true},{"PRN":8,"el":12,"az":202,"ss":0,"used":false},{"PRN":13,"el":85,"az":357,"ss":0,"used":false},{"PRN":16,"el":22,"az":59,"ss":0,"used":false},{"PRN":20,"el":21,"az":131,"ss":0,"used":false},{"PRN":23,"el":54,"az":74,"ss":0,"used":false},{"PRN":24,"el":23,"az":195,"ss":0,"used":false},{"PRN":27,"el":40,"az":195,"ss":15,"used":true}]} $GPRMC,171249.00,A,5209.7839,N,02048.4827,E,0.3,80.9,080405,3.5,E*61 {"class":"TPV","tag":"RMC","mode":3,"time":"2005-04-08T17:12:49.000Z","ept":0.005,"lat":52.163065000,"lon":20.808045000,"alt":76.600,"epv":0.000,"track":80.9000,"speed":0.154,"climb":0.000} $GPGGA,171250.00,5209.7839,N,02048.4829,E,1,03,5.3,76.6,M,36.5,M,,*5C $GPGLL,5209.7839,N,02048.4829,E,171250.00,A*06 $GPGSA,A,2,02,04,27,,,,,,,,,,,5.3,*36 $GPGSV,3,1,09,02,33,299,28,04,43,242,26,08,12,202,,13,85,357,*7E $GPGSV,3,2,09,16,22,059,,20,21,131,,23,54,074,,24,23,195,*71 $GPGSV,3,3,09,27,40,195,15,,,,,,,,,,,,*48 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":5.30,"pdop":0.00,"satellites":[{"PRN":2,"el":33,"az":299,"ss":28,"used":true},{"PRN":4,"el":43,"az":242,"ss":26,"used":true},{"PRN":8,"el":12,"az":202,"ss":0,"used":false},{"PRN":13,"el":85,"az":357,"ss":0,"used":false},{"PRN":16,"el":22,"az":59,"ss":0,"used":false},{"PRN":20,"el":21,"az":131,"ss":0,"used":false},{"PRN":23,"el":54,"az":74,"ss":0,"used":false},{"PRN":24,"el":23,"az":195,"ss":0,"used":false},{"PRN":27,"el":40,"az":195,"ss":15,"used":true}]} $GPRMC,171250.00,A,5209.7839,N,02048.4829,E,0.3,77.8,080405,3.5,E*6E {"class":"TPV","tag":"RMC","mode":3,"time":"2005-04-08T17:12:50.000Z","ept":0.005,"lat":52.163065000,"lon":20.808048333,"alt":76.600,"epv":0.000,"track":77.8000,"speed":0.154,"climb":0.000} gpsd-3.9/test/daemon/pharos-360.log0000664000175000017500000003620311762140437015230 0ustar esresr# Name: Pharos GPS-360 # Chipset: Sirf-II # Submitter: "Jeff Fisher" # Date: 2006-07-27 # Location: Regina, Saskatchewan, Canada, 50N104W # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021612.949,A,5029.3800,N,10441.0390,W,0.039560,189.06,280706,,*18 $GPGGA,021613.949,5029.3800,N,10441.0389,W,1,04,12.5,572.4,M,-20.3,M,0.0,0000*7E $GPGLL,5029.3800,N,10441.0389,W,021613.949,A*22 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021613.949,A,5029.3800,N,10441.0389,W,0.009850,267.99,280706,,*19 $GPGGA,021614.949,5029.3800,N,10441.0388,W,1,04,12.5,572.3,M,-20.3,M,0.0,0000*7F $GPGLL,5029.3800,N,10441.0388,W,021614.949,A*24 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPGSV,3,1,9,8,49,156,27,17,49,212,0,28,82,35,36,11,38,84,37*4A $GPGSV,3,2,9,26,32,278,39,29,31,270,38,19,6,48,0,27,22,152,26*71 $GPGSV,3,3,9,123,0,0,0*40 $GPRMC,021614.949,A,5029.3800,N,10441.0388,W,0.016538,341.48,280706,,*1B $GPGGA,021615.949,5029.3799,N,10441.0387,W,1,04,12.5,572.1,M,-20.3,M,0.0,0000*7C $GPGLL,5029.3799,N,10441.0387,W,021615.949,A*25 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021615.949,A,5029.3799,N,10441.0387,W,0.024470,357.79,280706,,*13 $GPGGA,021616.949,5029.3800,N,10441.0387,W,1,04,12.5,571.9,M,-20.3,M,0.0,0000*7B $GPGLL,5029.3800,N,10441.0387,W,021616.949,A*29 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021616.949,A,5029.3800,N,10441.0387,W,0.064679,355.50,280706,,*19 $GPGGA,021617.949,5029.3800,N,10441.0387,W,1,04,12.5,571.9,M,-20.3,M,0.0,0000*7A $GPGLL,5029.3800,N,10441.0387,W,021617.949,A*28 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021617.949,A,5029.3800,N,10441.0387,W,0.081945,359.64,280706,,*18 $GPGGA,021618.949,5029.3801,N,10441.0387,W,1,04,12.5,571.8,M,-20.3,M,0.0,0000*75 $GPGLL,5029.3801,N,10441.0387,W,021618.949,A*26 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021618.949,A,5029.3801,N,10441.0387,W,0.123681,359.07,280706,,*1D $GPGGA,021619.949,5029.3802,N,10441.0387,W,1,04,12.5,571.6,M,-20.3,M,0.0,0000*79 $GPGLL,5029.3802,N,10441.0387,W,021619.949,A*24 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPGSV,3,1,9,8,48,156,25,17,50,212,0,28,82,37,36,11,38,84,36*42 $GPGSV,3,2,9,26,32,277,39,29,31,270,38,19,6,48,0,27,22,152,20*78 $GPGSV,3,3,9,123,0,0,0*40 $GPRMC,021619.949,A,5029.3802,N,10441.0387,W,0.152675,359.28,280706,,*1F $GPGGA,021620.949,5029.3803,N,10441.0387,W,1,04,12.5,571.7,M,-20.3,M,0.0,0000*73 $GPGLL,5029.3803,N,10441.0387,W,021620.949,A*2F $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021620.949,A,5029.3803,N,10441.0387,W,0.149670,359.57,280706,,*13 $GPGGA,021621.949,5029.3805,N,10441.0387,W,1,04,12.5,571.9,M,-20.3,M,0.0,0000*7A $GPGLL,5029.3805,N,10441.0387,W,021621.949,A*28 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021621.949,A,5029.3805,N,10441.0387,W,0.139805,358.04,280706,,*18 $GPGGA,021622.949,5029.3806,N,10441.0387,W,1,04,12.5,571.7,M,-20.3,M,0.0,0000*74 $GPGLL,5029.3806,N,10441.0387,W,021622.949,A*28 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021622.949,A,5029.3806,N,10441.0387,W,0.159851,358.60,280706,,*1D $GPGGA,021623.949,5029.3808,N,10441.0387,W,1,04,12.5,571.2,M,-20.3,M,0.0,0000*7E $GPGLL,5029.3808,N,10441.0387,W,021623.949,A*27 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021623.949,A,5029.3808,N,10441.0387,W,0.211601,1.82,280706,,*15 $GPGGA,021624.949,5029.3810,N,10441.0386,W,1,04,12.5,570.7,M,-20.3,M,0.0,0000*75 $GPGLL,5029.3810,N,10441.0386,W,021624.949,A*28 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPGSV,3,1,9,8,48,156,25,17,50,212,0,28,82,37,37,11,38,84,37*42 $GPGSV,3,2,9,26,32,277,39,29,31,270,38,19,6,48,0,27,22,152,21*79 $GPGSV,3,3,9,123,0,0,0*40 $GPRMC,021624.949,A,5029.3810,N,10441.0386,W,0.200234,356.84,280706,,*1F $GPGGA,021625.949,5029.3812,N,10441.0386,W,1,04,12.5,570.1,M,-20.3,M,0.0,0000*70 $GPGLL,5029.3812,N,10441.0386,W,021625.949,A*2B $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021625.949,A,5029.3812,N,10441.0386,W,0.222299,359.84,280706,,*14 $GPGGA,021626.949,5029.3814,N,10441.0385,W,1,04,12.5,569.4,M,-20.3,M,0.0,0000*7B $GPGLL,5029.3814,N,10441.0385,W,021626.949,A*2D $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021626.949,A,5029.3814,N,10441.0385,W,0.196906,0.09,280706,,*19 $GPGGA,021627.948,5029.3815,N,10441.0384,W,1,04,12.5,568.8,M,-20.3,M,0.0,0000*76 $GPGLL,5029.3815,N,10441.0384,W,021627.948,A*2D $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021627.948,A,5029.3815,N,10441.0384,W,0.200037,355.83,280706,,*1F $GPGGA,021628.948,5029.3828,N,10441.0382,W,1,05,2.0,567.6,M,-20.3,M,0.0,0000*45 $GPGLL,5029.3828,N,10441.0382,W,021628.948,A*2A $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPRMC,021628.948,A,5029.3828,N,10441.0382,W,0.144151,5.63,280706,,*12 $GPGGA,021629.948,5029.3826,N,10441.0381,W,1,05,2.0,567.0,M,-20.3,M,0.0,0000*4F $GPGLL,5029.3826,N,10441.0381,W,021629.948,A*26 $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPGSV,3,1,9,8,48,156,0,17,50,212,0,28,82,37,37,11,38,84,36*74 $GPGSV,3,2,9,26,32,277,39,29,31,270,37,19,6,48,0,27,22,152,28*7F $GPGSV,3,3,9,124,0,0,0*47 $GPRMC,021629.948,A,5029.3826,N,10441.0381,W,0.066422,8.45,280706,,*17 $GPGGA,021630.948,5029.3826,N,10441.0380,W,1,04,12.5,567.0,M,-20.3,M,0.0,0000*73 $GPGLL,5029.3826,N,10441.0380,W,021630.948,A*2F $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021630.948,A,5029.3826,N,10441.0380,W,0.067726,5.22,280706,,*14 $GPGGA,021631.948,5029.3826,N,10441.0377,W,1,04,12.5,567.2,M,-20.3,M,0.0,0000*78 $GPGLL,5029.3826,N,10441.0377,W,021631.948,A*26 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021631.948,A,5029.3826,N,10441.0377,W,0.050347,4.93,280706,,*11 $GPGGA,021632.948,5029.3826,N,10441.0370,W,1,05,2.0,567.2,M,-20.3,M,0.0,0000*49 $GPGLL,5029.3826,N,10441.0370,W,021632.948,A*22 $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPRMC,021632.948,A,5029.3826,N,10441.0370,W,0.033580,1.77,280706,,*12 $GPGGA,021633.948,5029.3826,N,10441.0370,W,1,04,12.5,566.9,M,-20.3,M,0.0,0000*77 $GPGLL,5029.3826,N,10441.0370,W,021633.948,A*23 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021633.948,A,5029.3826,N,10441.0370,W,0.019509,345.64,280706,,*1B $GPGGA,021634.948,5029.3825,N,10441.0370,W,1,04,12.5,566.7,M,-20.3,M,0.0,0000*7D $GPGLL,5029.3825,N,10441.0370,W,021634.948,A*27 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPGSV,3,1,9,8,48,156,0,17,50,212,0,28,82,37,37,11,38,84,36*74 $GPGSV,3,2,9,26,32,277,38,29,31,270,37,19,6,48,0,27,22,152,27*71 $GPGSV,3,3,9,124,0,0,0*47 $GPRMC,021634.948,A,5029.3825,N,10441.0370,W,0.003955,192.84,280706,,*17 $GPGGA,021635.948,5029.3825,N,10441.0370,W,1,04,12.5,566.4,M,-20.3,M,0.0,0000*7F $GPGLL,5029.3825,N,10441.0370,W,021635.948,A*26 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021635.948,A,5029.3825,N,10441.0370,W,0.095177,180.09,280706,,*17 $GPGGA,021636.948,5029.3825,N,10441.0371,W,1,05,2.0,565.5,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3825,N,10441.0371,W,021636.948,A*24 $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPRMC,021636.948,A,5029.3825,N,10441.0371,W,0.023886,330.86,280706,,*11 $GPGGA,021637.948,5029.3827,N,10441.0372,W,1,05,2.0,566.2,M,-20.3,M,0.0,0000*4E $GPGLL,5029.3827,N,10441.0372,W,021637.948,A*24 $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPRMC,021637.948,A,5029.3827,N,10441.0372,W,0.061487,357.24,280706,,*13 $GPGGA,021638.948,5029.3824,N,10441.0374,W,1,05,2.0,566.2,M,-20.3,M,0.0,0000*44 $GPGLL,5029.3824,N,10441.0374,W,021638.948,A*2E $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPRMC,021638.948,A,5029.3824,N,10441.0374,W,0.024092,262.30,280706,,*1A $GPGGA,021639.948,5029.3825,N,10441.0375,W,1,05,2.0,565.6,M,-20.3,M,0.0,0000*42 $GPGLL,5029.3825,N,10441.0375,W,021639.948,A*2F $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPGSV,3,1,9,8,48,156,0,17,50,212,0,28,82,37,37,11,38,84,36*74 $GPGSV,3,2,9,26,32,277,38,29,31,270,36,19,6,48,0,27,22,152,28*7F $GPGSV,3,3,9,124,0,0,0*47 $GPRMC,021639.948,A,5029.3825,N,10441.0375,W,0.024297,20.59,280706,,*27 $GPGGA,021640.948,5029.3825,N,10441.0376,W,1,04,12.5,565.3,M,-20.3,M,0.0,0000*7F $GPGLL,5029.3825,N,10441.0376,W,021640.948,A*22 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021640.948,A,5029.3825,N,10441.0376,W,0.027357,327.53,280706,,*1A $GPGGA,021641.948,5029.3825,N,10441.0376,W,1,04,12.5,565.0,M,-20.3,M,0.0,0000*7D $GPGLL,5029.3825,N,10441.0376,W,021641.948,A*23 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021641.948,A,5029.3825,N,10441.0376,W,0.039535,27.78,280706,,*2C $GPGGA,021642.948,5029.3829,N,10441.0379,W,1,05,2.0,564.7,M,-20.3,M,0.0,0000*4E $GPGLL,5029.3829,N,10441.0379,W,021642.948,A*23 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021642.948,A,5029.3829,N,10441.0379,W,0.167129,0.94,280706,,*18 $GPGGA,021643.947,5029.3837,N,10441.0381,W,1,05,2.0,563.6,M,-20.3,M,0.0,0000*4E $GPGLL,5029.3837,N,10441.0381,W,021643.947,A*25 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021643.947,A,5029.3837,N,10441.0381,W,0.234120,354.99,280706,,*1D $GPGGA,021644.947,5029.3844,N,10441.0383,W,1,05,2.0,562.5,M,-20.3,M,0.0,0000*4D $GPGLL,5029.3844,N,10441.0383,W,021644.947,A*24 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPGSV,3,1,9,8,48,156,0,17,50,212,33,28,82,37,36,11,38,84,35*46 $GPGSV,3,2,9,26,32,277,37,29,31,270,36,19,6,48,0,27,22,152,25*7D $GPGSV,3,3,9,124,0,0,0*47 $GPRMC,021644.947,A,5029.3844,N,10441.0383,W,0.225686,357.97,280706,,*1A $GPGGA,021645.947,5029.3848,N,10441.0383,W,1,06,1.4,561.4,M,-20.3,M,0.0,0000*46 $GPGLL,5029.3848,N,10441.0383,W,021645.947,A*29 $GPGSA,A,3,17,28,11,26,29,27,,,,,,,2.7,1.4,2.3*35 $GPRMC,021645.947,A,5029.3848,N,10441.0383,W,0.073479,119.81,280706,,*1B $GPGGA,021646.947,5029.3851,N,10441.0382,W,1,05,2.0,561.1,M,-20.3,M,0.0,0000*4D $GPGLL,5029.3851,N,10441.0382,W,021646.947,A*23 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021646.947,A,5029.3851,N,10441.0382,W,0.079997,2.84,280706,,*18 $GPGGA,021647.947,5029.3853,N,10441.0382,W,1,05,2.0,560.4,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3853,N,10441.0382,W,021647.947,A*20 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021647.947,A,5029.3853,N,10441.0382,W,0.134821,345.50,280706,,*16 $GPGGA,021648.947,5029.3855,N,10441.0380,W,1,05,2.0,560.0,M,-20.3,M,0.0,0000*45 $GPGLL,5029.3855,N,10441.0380,W,021648.947,A*2B $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021648.947,A,5029.3855,N,10441.0380,W,0.135447,3.49,280706,,*19 $GPGGA,021649.947,5029.3856,N,10441.0379,W,1,05,2.0,559.3,M,-20.3,M,0.0,0000*48 $GPGLL,5029.3856,N,10441.0379,W,021649.947,A*2F $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPGSV,3,1,9,8,48,156,0,17,50,212,34,28,82,39,35,11,38,84,33*4A $GPGSV,3,2,9,26,32,277,37,29,31,269,34,19,6,48,0,27,22,152,28*7A $GPGSV,3,3,9,124,0,0,0*47 $GPRMC,021649.947,A,5029.3856,N,10441.0379,W,0.118754,16.61,280706,,*2D $GPGGA,021650.947,5029.3857,N,10441.0380,W,1,05,2.0,559.1,M,-20.3,M,0.0,0000*45 $GPGLL,5029.3857,N,10441.0380,W,021650.947,A*20 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021650.947,A,5029.3857,N,10441.0380,W,0.122534,2.49,280706,,*10 $GPGGA,021651.947,5029.3856,N,10441.0382,W,1,05,2.0,559.4,M,-20.3,M,0.0,0000*42 $GPGLL,5029.3856,N,10441.0382,W,021651.947,A*22 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021651.947,A,5029.3856,N,10441.0382,W,0.117097,1.44,280706,,*16 $GPGGA,021652.947,5029.3856,N,10441.0383,W,1,05,2.0,559.6,M,-20.3,M,0.0,0000*42 $GPGLL,5029.3856,N,10441.0383,W,021652.947,A*20 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021652.947,A,5029.3856,N,10441.0383,W,0.110183,9.39,280706,,*15 $GPGGA,021653.947,5029.3855,N,10441.0382,W,1,05,2.0,559.4,M,-20.3,M,0.0,0000*43 $GPGLL,5029.3855,N,10441.0382,W,021653.947,A*23 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021653.947,A,5029.3855,N,10441.0382,W,0.104481,9.00,280706,,*1E $GPGGA,021654.947,5029.3855,N,10441.0381,W,1,05,2.0,559.5,M,-20.3,M,0.0,0000*46 $GPGLL,5029.3855,N,10441.0381,W,021654.947,A*27 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPGSV,3,1,9,8,48,156,0,17,50,212,34,28,82,39,36,11,38,84,33*49 $GPGSV,3,2,9,26,32,277,37,29,31,269,34,19,6,48,0,27,22,152,0*40 $GPGSV,3,3,9,124,0,0,0*47 $GPRMC,021654.947,A,5029.3855,N,10441.0381,W,0.142516,3.80,280706,,*15 $GPGGA,021655.947,5029.3855,N,10441.0381,W,1,05,2.0,559.8,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3855,N,10441.0381,W,021655.947,A*26 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021655.947,A,5029.3855,N,10441.0381,W,0.120701,358.47,280706,,*12 $GPGGA,021656.947,5029.3855,N,10441.0379,W,1,06,1.4,559.8,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3855,N,10441.0379,W,021656.947,A*22 $GPGSA,A,3,17,28,11,26,29,27,,,,,,,2.7,1.4,2.3*35 $GPRMC,021656.947,A,5029.3855,N,10441.0379,W,0.094143,14.12,280706,,*23 $GPGGA,021657.947,5029.3855,N,10441.0378,W,1,06,1.4,559.8,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3855,N,10441.0378,W,021657.947,A*22 $GPGSA,A,3,17,28,11,26,29,27,,,,,,,2.7,1.4,2.3*35 $GPRMC,021657.947,A,5029.3855,N,10441.0378,W,0.096695,9.89,280706,,*13 $GPGGA,021658.947,5029.3855,N,10441.0378,W,1,05,2.0,560.0,M,-20.3,M,0.0,0000*43 $GPGLL,5029.3855,N,10441.0378,W,021658.947,A*2D $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021658.947,A,5029.3855,N,10441.0378,W,0.111024,0.77,280706,,*16 $GPGGA,021659.946,5029.3855,N,10441.0376,W,1,05,2.0,559.8,M,-20.3,M,0.0,0000*4F $GPGLL,5029.3855,N,10441.0376,W,021659.946,A*23 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPGSV,3,1,9,8,48,156,0,17,50,212,33,28,82,39,36,11,38,84,32*4F $GPGSV,3,2,9,26,32,277,36,29,31,269,34,19,6,48,0,27,22,152,27*74 $GPGSV,3,3,9,124,0,0,0*47 $GPRMC,021659.946,A,5029.3855,N,10441.0376,W,0.144243,359.38,280706,,*1F $GPGGA,021700.946,5029.3856,N,10441.0373,W,1,05,2.0,559.4,M,-20.3,M,0.0,0000*48 $GPGLL,5029.3856,N,10441.0373,W,021700.946,A*28 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021700.946,A,5029.3856,N,10441.0373,W,0.127513,359.47,280706,,*1B $GPGGA,021701.946,5029.3856,N,10441.0369,W,1,05,2.0,558.6,M,-20.3,M,0.0,0000*41 $GPGLL,5029.3856,N,10441.0369,W,021701.946,A*22 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021701.946,A,5029.3856,N,10441.0369,W,0.082985,16.78,280706,,*28 $GPGGA,021702.946,5029.3856,N,10441.0365,W,1,05,2.0,557.8,M,-20.3,M,0.0,0000*4F $GPGLL,5029.3856,N,10441.0365,W,021702.946,A*2D $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021702.946,A,5029.3856,N,10441.0365,W,0.108057,8.59,280706,,*1E $GPGGA,021703.946,5029.3857,N,10441.0363,W,1,05,2.0,556.8,M,-20.3,M,0.0,0000*48 $GPGLL,5029.3857,N,10441.0363,W,021703.946,A*2B $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021703.946,A,5029.3857,N,10441.0363,W,0.193741,10.55,280706,,*2F $GPGGA,021704.946,5029.3858,N,10441.0363,W,1,07,1.3,556.0,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3858,N,10441.0363,W,021704.946,A*23 $GPGSA,A,3,08,17,28,11,26,29,27,,,,,,2.5,1.3,2.1*3A $GPGSV,3,1,9,8,48,156,31,17,50,212,32,28,82,39,39,11,38,84,33*72 $GPGSV,3,2,9,26,32,277,37,29,31,269,34,19,6,48,0,27,22,152,30*73 $GPGSV,3,3,9,124,0,0,0*47 $GPRMC,021704.946,A,5029.3858,N,10441.0363,W,0.096613,335.19,280706,,*19 $GPGGA,021705.946,5029.3859,N,10441.0363,W,1,07,1.3,555.4,M,-20.3,M,0.0,0000*4D $GPGLL,5029.3859,N,10441.0363,W,021705.946,A*23 $GPGSA,A,3,08,17,28,11,26,29,27,,,,,,2.5,1.3,2.1*3A $GPRMC,021705.946,A,5029.3859,N,10441.0363,W,0.061763,22.98,280706,,*2B $GPGGA,021706.946,5029.3860,N,10441.0364,W,1,07,1.3,554.9,M,-20.3,M,0.0,0000*4F $GPGLL,5029.3860,N,10441.0364,W,021706.946,A*2D $GPGSA,A,3,08,17,28,11,26,29,27,,,,,,2.5,1.3,2.1*3A gpsd-3.9/test/daemon/pharos-360.log.chk0000664000175000017500000010206612135526405015773 0ustar esresr$GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 {"class":"TPV","tag":"GSA","mode":3,"epv":71.300} $GPRMC,021612.949,A,5029.3800,N,10441.0390,W,0.039560,189.06,280706,,*18 {"class":"TPV","tag":"RMC","mode":2,"time":"2006-07-28T02:16:12.949Z","ept":0.005,"lat":50.489666667,"lon":-104.683983333,"track":189.0600,"speed":0.020} $GPGGA,021613.949,5029.3800,N,10441.0389,W,1,04,12.5,572.4,M,-20.3,M,0.0,0000*7E $GPGLL,5029.3800,N,10441.0389,W,021613.949,A*22 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021613.949,A,5029.3800,N,10441.0389,W,0.009850,267.99,280706,,*19 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:13.949Z","ept":0.005,"lat":50.489666667,"lon":-104.683981667,"alt":572.400,"epv":71.300,"track":267.9900,"speed":0.005,"climb":0.000} $GPGGA,021614.949,5029.3800,N,10441.0388,W,1,04,12.5,572.3,M,-20.3,M,0.0,0000*7F $GPGLL,5029.3800,N,10441.0388,W,021614.949,A*24 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPGSV,3,1,9,8,49,156,27,17,49,212,0,28,82,35,36,11,38,84,37*4A $GPGSV,3,2,9,26,32,278,39,29,31,270,38,19,6,48,0,27,22,152,26*71 $GPGSV,3,3,9,123,0,0,0*40 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":3.10,"tdop":5.16,"hdop":12.50,"gdop":8.30,"pdop":12.90,"satellites":[{"PRN":8,"el":49,"az":156,"ss":27,"used":false},{"PRN":17,"el":49,"az":212,"ss":0,"used":false},{"PRN":28,"el":82,"az":35,"ss":36,"used":true},{"PRN":11,"el":38,"az":84,"ss":37,"used":true},{"PRN":26,"el":32,"az":278,"ss":39,"used":true},{"PRN":29,"el":31,"az":270,"ss":38,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":26,"used":false},{"PRN":123,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021614.949,A,5029.3800,N,10441.0388,W,0.016538,341.48,280706,,*1B {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:14.949Z","ept":0.005,"lat":50.489666667,"lon":-104.683980000,"alt":572.300,"epx":32.645,"epy":34.721,"epv":71.300,"track":341.4800,"speed":0.009,"climb":-0.100} $GPGGA,021615.949,5029.3799,N,10441.0387,W,1,04,12.5,572.1,M,-20.3,M,0.0,0000*7C $GPGLL,5029.3799,N,10441.0387,W,021615.949,A*25 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021615.949,A,5029.3799,N,10441.0387,W,0.024470,357.79,280706,,*13 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:15.949Z","ept":0.005,"lat":50.489665000,"lon":-104.683978333,"alt":572.100,"epx":32.645,"epy":34.721,"epv":71.300,"track":357.7900,"speed":0.013,"climb":-0.200,"eps":69.44} $GPGGA,021616.949,5029.3800,N,10441.0387,W,1,04,12.5,571.9,M,-20.3,M,0.0,0000*7B $GPGLL,5029.3800,N,10441.0387,W,021616.949,A*29 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021616.949,A,5029.3800,N,10441.0387,W,0.064679,355.50,280706,,*19 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:16.949Z","ept":0.005,"lat":50.489666667,"lon":-104.683978333,"alt":571.900,"epx":32.645,"epy":34.721,"epv":71.300,"track":355.5000,"speed":0.033,"climb":-0.200,"eps":69.44} $GPGGA,021617.949,5029.3800,N,10441.0387,W,1,04,12.5,571.9,M,-20.3,M,0.0,0000*7A $GPGLL,5029.3800,N,10441.0387,W,021617.949,A*28 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021617.949,A,5029.3800,N,10441.0387,W,0.081945,359.64,280706,,*18 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:17.949Z","ept":0.005,"lat":50.489666667,"lon":-104.683978333,"alt":571.900,"epx":32.645,"epy":34.721,"epv":71.300,"track":359.6400,"speed":0.042,"climb":0.000,"eps":69.44} $GPGGA,021618.949,5029.3801,N,10441.0387,W,1,04,12.5,571.8,M,-20.3,M,0.0,0000*75 $GPGLL,5029.3801,N,10441.0387,W,021618.949,A*26 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021618.949,A,5029.3801,N,10441.0387,W,0.123681,359.07,280706,,*1D {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:18.949Z","ept":0.005,"lat":50.489668333,"lon":-104.683978333,"alt":571.800,"epx":32.645,"epy":34.721,"epv":71.300,"track":359.0700,"speed":0.064,"climb":-0.100,"eps":69.44} $GPGGA,021619.949,5029.3802,N,10441.0387,W,1,04,12.5,571.6,M,-20.3,M,0.0,0000*79 $GPGLL,5029.3802,N,10441.0387,W,021619.949,A*24 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPGSV,3,1,9,8,48,156,25,17,50,212,0,28,82,37,36,11,38,84,36*42 $GPGSV,3,2,9,26,32,277,39,29,31,270,38,19,6,48,0,27,22,152,20*78 $GPGSV,3,3,9,123,0,0,0*40 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":3.10,"tdop":5.16,"hdop":12.50,"gdop":8.30,"pdop":12.90,"satellites":[{"PRN":8,"el":48,"az":156,"ss":25,"used":false},{"PRN":17,"el":50,"az":212,"ss":0,"used":false},{"PRN":28,"el":82,"az":37,"ss":36,"used":true},{"PRN":11,"el":38,"az":84,"ss":36,"used":true},{"PRN":26,"el":32,"az":277,"ss":39,"used":true},{"PRN":29,"el":31,"az":270,"ss":38,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":20,"used":false},{"PRN":123,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021619.949,A,5029.3802,N,10441.0387,W,0.152675,359.28,280706,,*1F {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:19.949Z","ept":0.005,"lat":50.489670000,"lon":-104.683978333,"alt":571.600,"epx":32.645,"epy":34.721,"epv":71.300,"track":359.2800,"speed":0.079,"climb":-0.200,"eps":69.44} $GPGGA,021620.949,5029.3803,N,10441.0387,W,1,04,12.5,571.7,M,-20.3,M,0.0,0000*73 $GPGLL,5029.3803,N,10441.0387,W,021620.949,A*2F $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021620.949,A,5029.3803,N,10441.0387,W,0.149670,359.57,280706,,*13 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:20.949Z","ept":0.005,"lat":50.489671667,"lon":-104.683978333,"alt":571.700,"epx":32.645,"epy":34.721,"epv":71.300,"track":359.5700,"speed":0.077,"climb":0.100,"eps":69.44} $GPGGA,021621.949,5029.3805,N,10441.0387,W,1,04,12.5,571.9,M,-20.3,M,0.0,0000*7A $GPGLL,5029.3805,N,10441.0387,W,021621.949,A*28 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021621.949,A,5029.3805,N,10441.0387,W,0.139805,358.04,280706,,*18 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:21.949Z","ept":0.005,"lat":50.489675000,"lon":-104.683978333,"alt":571.900,"epx":32.645,"epy":34.721,"epv":71.300,"track":358.0400,"speed":0.072,"climb":0.200,"eps":69.44} $GPGGA,021622.949,5029.3806,N,10441.0387,W,1,04,12.5,571.7,M,-20.3,M,0.0,0000*74 $GPGLL,5029.3806,N,10441.0387,W,021622.949,A*28 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021622.949,A,5029.3806,N,10441.0387,W,0.159851,358.60,280706,,*1D {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:22.949Z","ept":0.005,"lat":50.489676667,"lon":-104.683978333,"alt":571.700,"epx":32.645,"epy":34.721,"epv":71.300,"track":358.6000,"speed":0.082,"climb":-0.200,"eps":69.44} $GPGGA,021623.949,5029.3808,N,10441.0387,W,1,04,12.5,571.2,M,-20.3,M,0.0,0000*7E $GPGLL,5029.3808,N,10441.0387,W,021623.949,A*27 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021623.949,A,5029.3808,N,10441.0387,W,0.211601,1.82,280706,,*15 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:23.949Z","ept":0.005,"lat":50.489680000,"lon":-104.683978333,"alt":571.200,"epx":32.645,"epy":34.721,"epv":71.300,"track":1.8200,"speed":0.109,"climb":-0.500,"eps":69.44} $GPGGA,021624.949,5029.3810,N,10441.0386,W,1,04,12.5,570.7,M,-20.3,M,0.0,0000*75 $GPGLL,5029.3810,N,10441.0386,W,021624.949,A*28 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPGSV,3,1,9,8,48,156,25,17,50,212,0,28,82,37,37,11,38,84,37*42 $GPGSV,3,2,9,26,32,277,39,29,31,270,38,19,6,48,0,27,22,152,21*79 $GPGSV,3,3,9,123,0,0,0*40 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":3.10,"tdop":5.16,"hdop":12.50,"gdop":8.30,"pdop":12.90,"satellites":[{"PRN":8,"el":48,"az":156,"ss":25,"used":false},{"PRN":17,"el":50,"az":212,"ss":0,"used":false},{"PRN":28,"el":82,"az":37,"ss":37,"used":true},{"PRN":11,"el":38,"az":84,"ss":37,"used":true},{"PRN":26,"el":32,"az":277,"ss":39,"used":true},{"PRN":29,"el":31,"az":270,"ss":38,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":21,"used":false},{"PRN":123,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021624.949,A,5029.3810,N,10441.0386,W,0.200234,356.84,280706,,*1F {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:24.949Z","ept":0.005,"lat":50.489683333,"lon":-104.683976667,"alt":570.700,"epx":32.645,"epy":34.721,"epv":71.300,"track":356.8400,"speed":0.103,"climb":-0.500,"eps":69.44} $GPGGA,021625.949,5029.3812,N,10441.0386,W,1,04,12.5,570.1,M,-20.3,M,0.0,0000*70 $GPGLL,5029.3812,N,10441.0386,W,021625.949,A*2B $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021625.949,A,5029.3812,N,10441.0386,W,0.222299,359.84,280706,,*14 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:25.949Z","ept":0.005,"lat":50.489686667,"lon":-104.683976667,"alt":570.100,"epx":32.645,"epy":34.721,"epv":71.300,"track":359.8400,"speed":0.114,"climb":-0.600,"eps":69.44} $GPGGA,021626.949,5029.3814,N,10441.0385,W,1,04,12.5,569.4,M,-20.3,M,0.0,0000*7B $GPGLL,5029.3814,N,10441.0385,W,021626.949,A*2D $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021626.949,A,5029.3814,N,10441.0385,W,0.196906,0.09,280706,,*19 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:26.949Z","ept":0.005,"lat":50.489690000,"lon":-104.683975000,"alt":569.400,"epx":32.645,"epy":34.721,"epv":71.300,"track":0.0900,"speed":0.101,"climb":-0.700,"eps":69.44} $GPGGA,021627.948,5029.3815,N,10441.0384,W,1,04,12.5,568.8,M,-20.3,M,0.0,0000*76 $GPGLL,5029.3815,N,10441.0384,W,021627.948,A*2D $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021627.948,A,5029.3815,N,10441.0384,W,0.200037,355.83,280706,,*1F {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:27.948Z","ept":0.005,"lat":50.489691667,"lon":-104.683973333,"alt":568.800,"epx":32.645,"epy":34.721,"epv":71.300,"track":355.8300,"speed":0.103,"climb":-0.601,"eps":69.51} $GPGGA,021628.948,5029.3828,N,10441.0382,W,1,05,2.0,567.6,M,-20.3,M,0.0,0000*45 $GPGLL,5029.3828,N,10441.0382,W,021628.948,A*2A $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPRMC,021628.948,A,5029.3828,N,10441.0382,W,0.144151,5.63,280706,,*12 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:28.948Z","ept":0.005,"lat":50.489713333,"lon":-104.683970000,"alt":567.600,"epx":32.645,"epy":34.721,"epv":71.300,"track":5.6300,"speed":0.074,"climb":-1.200,"eps":69.44} $GPGGA,021629.948,5029.3826,N,10441.0381,W,1,05,2.0,567.0,M,-20.3,M,0.0,0000*4F $GPGLL,5029.3826,N,10441.0381,W,021629.948,A*26 $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPGSV,3,1,9,8,48,156,0,17,50,212,0,28,82,37,37,11,38,84,36*74 $GPGSV,3,2,9,26,32,277,39,29,31,270,37,19,6,48,0,27,22,152,28*7F $GPGSV,3,3,9,124,0,0,0*47 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":3.00,"tdop":5.16,"hdop":2.00,"gdop":8.30,"pdop":3.60,"satellites":[{"PRN":8,"el":48,"az":156,"ss":0,"used":false},{"PRN":17,"el":50,"az":212,"ss":0,"used":false},{"PRN":28,"el":82,"az":37,"ss":37,"used":true},{"PRN":11,"el":38,"az":84,"ss":36,"used":true},{"PRN":26,"el":32,"az":277,"ss":39,"used":true},{"PRN":29,"el":31,"az":270,"ss":37,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":28,"used":true},{"PRN":124,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021629.948,A,5029.3826,N,10441.0381,W,0.066422,8.45,280706,,*17 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:29.948Z","ept":0.005,"lat":50.489710000,"lon":-104.683968333,"alt":567.000,"epx":32.645,"epy":34.721,"epv":69.000,"track":8.4500,"speed":0.034,"climb":-0.600,"eps":69.44} $GPGGA,021630.948,5029.3826,N,10441.0380,W,1,04,12.5,567.0,M,-20.3,M,0.0,0000*73 $GPGLL,5029.3826,N,10441.0380,W,021630.948,A*2F $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021630.948,A,5029.3826,N,10441.0380,W,0.067726,5.22,280706,,*14 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:30.948Z","ept":0.005,"lat":50.489710000,"lon":-104.683966667,"alt":567.000,"epx":32.645,"epy":34.721,"epv":69.000,"track":5.2200,"speed":0.035,"climb":0.000,"eps":69.44} $GPGGA,021631.948,5029.3826,N,10441.0377,W,1,04,12.5,567.2,M,-20.3,M,0.0,0000*78 $GPGLL,5029.3826,N,10441.0377,W,021631.948,A*26 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021631.948,A,5029.3826,N,10441.0377,W,0.050347,4.93,280706,,*11 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:31.948Z","ept":0.005,"lat":50.489710000,"lon":-104.683961667,"alt":567.200,"epx":32.645,"epy":34.721,"epv":71.300,"track":4.9300,"speed":0.026,"climb":0.200,"eps":69.44} $GPGGA,021632.948,5029.3826,N,10441.0370,W,1,05,2.0,567.2,M,-20.3,M,0.0,0000*49 $GPGLL,5029.3826,N,10441.0370,W,021632.948,A*22 $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPRMC,021632.948,A,5029.3826,N,10441.0370,W,0.033580,1.77,280706,,*12 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:32.948Z","ept":0.005,"lat":50.489710000,"lon":-104.683950000,"alt":567.200,"epx":32.645,"epy":34.721,"epv":71.300,"track":1.7700,"speed":0.017,"climb":0.000,"eps":69.44} $GPGGA,021633.948,5029.3826,N,10441.0370,W,1,04,12.5,566.9,M,-20.3,M,0.0,0000*77 $GPGLL,5029.3826,N,10441.0370,W,021633.948,A*23 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021633.948,A,5029.3826,N,10441.0370,W,0.019509,345.64,280706,,*1B {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:33.948Z","ept":0.005,"lat":50.489710000,"lon":-104.683950000,"alt":566.900,"epx":32.645,"epy":34.721,"epv":69.000,"track":345.6400,"speed":0.010,"climb":-0.300,"eps":69.44} $GPGGA,021634.948,5029.3825,N,10441.0370,W,1,04,12.5,566.7,M,-20.3,M,0.0,0000*7D $GPGLL,5029.3825,N,10441.0370,W,021634.948,A*27 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPGSV,3,1,9,8,48,156,0,17,50,212,0,28,82,37,37,11,38,84,36*74 $GPGSV,3,2,9,26,32,277,38,29,31,270,37,19,6,48,0,27,22,152,27*71 $GPGSV,3,3,9,124,0,0,0*47 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":3.10,"tdop":5.16,"hdop":12.50,"gdop":8.30,"pdop":12.90,"satellites":[{"PRN":8,"el":48,"az":156,"ss":0,"used":false},{"PRN":17,"el":50,"az":212,"ss":0,"used":false},{"PRN":28,"el":82,"az":37,"ss":37,"used":true},{"PRN":11,"el":38,"az":84,"ss":36,"used":true},{"PRN":26,"el":32,"az":277,"ss":38,"used":true},{"PRN":29,"el":31,"az":270,"ss":37,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":27,"used":false},{"PRN":124,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021634.948,A,5029.3825,N,10441.0370,W,0.003955,192.84,280706,,*17 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:34.948Z","ept":0.005,"lat":50.489708333,"lon":-104.683950000,"alt":566.700,"epx":32.645,"epy":34.721,"epv":71.300,"track":192.8400,"speed":0.002,"climb":-0.200,"eps":69.44} $GPGGA,021635.948,5029.3825,N,10441.0370,W,1,04,12.5,566.4,M,-20.3,M,0.0,0000*7F $GPGLL,5029.3825,N,10441.0370,W,021635.948,A*26 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021635.948,A,5029.3825,N,10441.0370,W,0.095177,180.09,280706,,*17 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:35.948Z","ept":0.005,"lat":50.489708333,"lon":-104.683950000,"alt":566.400,"epx":32.645,"epy":34.721,"epv":71.300,"track":180.0900,"speed":0.049,"climb":-0.300,"eps":69.44} $GPGGA,021636.948,5029.3825,N,10441.0371,W,1,05,2.0,565.5,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3825,N,10441.0371,W,021636.948,A*24 $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPRMC,021636.948,A,5029.3825,N,10441.0371,W,0.023886,330.86,280706,,*11 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:36.948Z","ept":0.005,"lat":50.489708333,"lon":-104.683951667,"alt":565.500,"epx":32.645,"epy":34.721,"epv":71.300,"track":330.8600,"speed":0.012,"climb":-0.900,"eps":69.44} $GPGGA,021637.948,5029.3827,N,10441.0372,W,1,05,2.0,566.2,M,-20.3,M,0.0,0000*4E $GPGLL,5029.3827,N,10441.0372,W,021637.948,A*24 $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPRMC,021637.948,A,5029.3827,N,10441.0372,W,0.061487,357.24,280706,,*13 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:37.948Z","ept":0.005,"lat":50.489711667,"lon":-104.683953333,"alt":566.200,"epx":32.645,"epy":34.721,"epv":69.000,"track":357.2400,"speed":0.032,"climb":0.700,"eps":69.44} $GPGGA,021638.948,5029.3824,N,10441.0374,W,1,05,2.0,566.2,M,-20.3,M,0.0,0000*44 $GPGLL,5029.3824,N,10441.0374,W,021638.948,A*2E $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPRMC,021638.948,A,5029.3824,N,10441.0374,W,0.024092,262.30,280706,,*1A {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:38.948Z","ept":0.005,"lat":50.489706667,"lon":-104.683956667,"alt":566.200,"epx":32.645,"epy":34.721,"epv":69.000,"track":262.3000,"speed":0.012,"climb":0.000,"eps":69.44} $GPGGA,021639.948,5029.3825,N,10441.0375,W,1,05,2.0,565.6,M,-20.3,M,0.0,0000*42 $GPGLL,5029.3825,N,10441.0375,W,021639.948,A*2F $GPGSA,A,3,28,11,26,29,27,,,,,,,,3.6,2.0,3.0*36 $GPGSV,3,1,9,8,48,156,0,17,50,212,0,28,82,37,37,11,38,84,36*74 $GPGSV,3,2,9,26,32,277,38,29,31,270,36,19,6,48,0,27,22,152,28*7F $GPGSV,3,3,9,124,0,0,0*47 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":3.00,"tdop":5.16,"hdop":2.00,"gdop":8.30,"pdop":3.60,"satellites":[{"PRN":8,"el":48,"az":156,"ss":0,"used":false},{"PRN":17,"el":50,"az":212,"ss":0,"used":false},{"PRN":28,"el":82,"az":37,"ss":37,"used":true},{"PRN":11,"el":38,"az":84,"ss":36,"used":true},{"PRN":26,"el":32,"az":277,"ss":38,"used":true},{"PRN":29,"el":31,"az":270,"ss":36,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":28,"used":true},{"PRN":124,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021639.948,A,5029.3825,N,10441.0375,W,0.024297,20.59,280706,,*27 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:39.948Z","ept":0.005,"lat":50.489708333,"lon":-104.683958333,"alt":565.600,"epx":32.645,"epy":34.721,"epv":69.000,"track":20.5900,"speed":0.012,"climb":-0.600,"eps":69.44} $GPGGA,021640.948,5029.3825,N,10441.0376,W,1,04,12.5,565.3,M,-20.3,M,0.0,0000*7F $GPGLL,5029.3825,N,10441.0376,W,021640.948,A*22 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021640.948,A,5029.3825,N,10441.0376,W,0.027357,327.53,280706,,*1A {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:40.948Z","ept":0.005,"lat":50.489708333,"lon":-104.683960000,"alt":565.300,"epx":32.645,"epy":34.721,"epv":69.000,"track":327.5300,"speed":0.014,"climb":-0.300,"eps":69.44} $GPGGA,021641.948,5029.3825,N,10441.0376,W,1,04,12.5,565.0,M,-20.3,M,0.0,0000*7D $GPGLL,5029.3825,N,10441.0376,W,021641.948,A*23 $GPGSA,A,3,28,11,26,29,,,,,,,,,12.9,12.5,3.1*39 $GPRMC,021641.948,A,5029.3825,N,10441.0376,W,0.039535,27.78,280706,,*2C {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:41.948Z","ept":0.005,"lat":50.489708333,"lon":-104.683960000,"alt":565.000,"epx":32.645,"epy":34.721,"epv":71.300,"track":27.7800,"speed":0.020,"climb":-0.300,"eps":69.44} $GPGGA,021642.948,5029.3829,N,10441.0379,W,1,05,2.0,564.7,M,-20.3,M,0.0,0000*4E $GPGLL,5029.3829,N,10441.0379,W,021642.948,A*23 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021642.948,A,5029.3829,N,10441.0379,W,0.167129,0.94,280706,,*18 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:42.948Z","ept":0.005,"lat":50.489715000,"lon":-104.683965000,"alt":564.700,"epx":32.645,"epy":34.721,"epv":71.300,"track":0.9400,"speed":0.086,"climb":-0.300,"eps":69.44} $GPGGA,021643.947,5029.3837,N,10441.0381,W,1,05,2.0,563.6,M,-20.3,M,0.0,0000*4E $GPGLL,5029.3837,N,10441.0381,W,021643.947,A*25 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021643.947,A,5029.3837,N,10441.0381,W,0.234120,354.99,280706,,*1D {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:43.947Z","ept":0.005,"lat":50.489728333,"lon":-104.683968333,"alt":563.600,"epx":32.645,"epy":34.721,"epv":64.400,"track":354.9900,"speed":0.120,"climb":-1.101,"eps":69.51} $GPGGA,021644.947,5029.3844,N,10441.0383,W,1,05,2.0,562.5,M,-20.3,M,0.0,0000*4D $GPGLL,5029.3844,N,10441.0383,W,021644.947,A*24 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPGSV,3,1,9,8,48,156,0,17,50,212,33,28,82,37,36,11,38,84,35*46 $GPGSV,3,2,9,26,32,277,37,29,31,270,36,19,6,48,0,27,22,152,25*7D $GPGSV,3,3,9,124,0,0,0*47 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":2.80,"tdop":5.16,"hdop":2.00,"gdop":8.30,"pdop":3.50,"satellites":[{"PRN":8,"el":48,"az":156,"ss":0,"used":false},{"PRN":17,"el":50,"az":212,"ss":33,"used":true},{"PRN":28,"el":82,"az":37,"ss":36,"used":true},{"PRN":11,"el":38,"az":84,"ss":35,"used":true},{"PRN":26,"el":32,"az":277,"ss":37,"used":true},{"PRN":29,"el":31,"az":270,"ss":36,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":25,"used":false},{"PRN":124,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021644.947,A,5029.3844,N,10441.0383,W,0.225686,357.97,280706,,*1A {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:44.947Z","ept":0.005,"lat":50.489740000,"lon":-104.683971667,"alt":562.500,"epx":32.645,"epy":34.721,"epv":64.400,"track":357.9700,"speed":0.116,"climb":-1.100,"eps":69.44} $GPGGA,021645.947,5029.3848,N,10441.0383,W,1,06,1.4,561.4,M,-20.3,M,0.0,0000*46 $GPGLL,5029.3848,N,10441.0383,W,021645.947,A*29 $GPGSA,A,3,17,28,11,26,29,27,,,,,,,2.7,1.4,2.3*35 $GPRMC,021645.947,A,5029.3848,N,10441.0383,W,0.073479,119.81,280706,,*1B {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:45.947Z","ept":0.005,"lat":50.489746667,"lon":-104.683971667,"alt":561.400,"epx":32.645,"epy":34.721,"epv":64.400,"track":119.8100,"speed":0.038,"climb":-1.100,"eps":69.44} $GPGGA,021646.947,5029.3851,N,10441.0382,W,1,05,2.0,561.1,M,-20.3,M,0.0,0000*4D $GPGLL,5029.3851,N,10441.0382,W,021646.947,A*23 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021646.947,A,5029.3851,N,10441.0382,W,0.079997,2.84,280706,,*18 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:46.947Z","ept":0.005,"lat":50.489751667,"lon":-104.683970000,"alt":561.100,"epx":32.645,"epy":34.721,"epv":52.900,"track":2.8400,"speed":0.041,"climb":-0.300,"eps":69.44} $GPGGA,021647.947,5029.3853,N,10441.0382,W,1,05,2.0,560.4,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3853,N,10441.0382,W,021647.947,A*20 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021647.947,A,5029.3853,N,10441.0382,W,0.134821,345.50,280706,,*16 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:47.947Z","ept":0.005,"lat":50.489755000,"lon":-104.683970000,"alt":560.400,"epx":32.645,"epy":34.721,"epv":64.400,"track":345.5000,"speed":0.069,"climb":-0.700,"eps":69.44} $GPGGA,021648.947,5029.3855,N,10441.0380,W,1,05,2.0,560.0,M,-20.3,M,0.0,0000*45 $GPGLL,5029.3855,N,10441.0380,W,021648.947,A*2B $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021648.947,A,5029.3855,N,10441.0380,W,0.135447,3.49,280706,,*19 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:48.947Z","ept":0.005,"lat":50.489758333,"lon":-104.683966667,"alt":560.000,"epx":32.645,"epy":34.721,"epv":64.400,"track":3.4900,"speed":0.070,"climb":-0.400,"eps":69.44} $GPGGA,021649.947,5029.3856,N,10441.0379,W,1,05,2.0,559.3,M,-20.3,M,0.0,0000*48 $GPGLL,5029.3856,N,10441.0379,W,021649.947,A*2F $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPGSV,3,1,9,8,48,156,0,17,50,212,34,28,82,39,35,11,38,84,33*4A $GPGSV,3,2,9,26,32,277,37,29,31,269,34,19,6,48,0,27,22,152,28*7A $GPGSV,3,3,9,124,0,0,0*47 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":2.80,"tdop":5.16,"hdop":2.00,"gdop":8.30,"pdop":3.50,"satellites":[{"PRN":8,"el":48,"az":156,"ss":0,"used":false},{"PRN":17,"el":50,"az":212,"ss":34,"used":true},{"PRN":28,"el":82,"az":39,"ss":35,"used":true},{"PRN":11,"el":38,"az":84,"ss":33,"used":true},{"PRN":26,"el":32,"az":277,"ss":37,"used":true},{"PRN":29,"el":31,"az":269,"ss":34,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":28,"used":false},{"PRN":124,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021649.947,A,5029.3856,N,10441.0379,W,0.118754,16.61,280706,,*2D {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:49.947Z","ept":0.005,"lat":50.489760000,"lon":-104.683965000,"alt":559.300,"epx":32.645,"epy":34.721,"epv":64.400,"track":16.6100,"speed":0.061,"climb":-0.700,"eps":69.44} $GPGGA,021650.947,5029.3857,N,10441.0380,W,1,05,2.0,559.1,M,-20.3,M,0.0,0000*45 $GPGLL,5029.3857,N,10441.0380,W,021650.947,A*20 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021650.947,A,5029.3857,N,10441.0380,W,0.122534,2.49,280706,,*10 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:50.947Z","ept":0.005,"lat":50.489761667,"lon":-104.683966667,"alt":559.100,"epx":32.645,"epy":34.721,"epv":64.400,"track":2.4900,"speed":0.063,"climb":-0.200,"eps":69.44} $GPGGA,021651.947,5029.3856,N,10441.0382,W,1,05,2.0,559.4,M,-20.3,M,0.0,0000*42 $GPGLL,5029.3856,N,10441.0382,W,021651.947,A*22 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021651.947,A,5029.3856,N,10441.0382,W,0.117097,1.44,280706,,*16 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:51.947Z","ept":0.005,"lat":50.489760000,"lon":-104.683970000,"alt":559.400,"epx":32.645,"epy":34.721,"epv":64.400,"track":1.4400,"speed":0.060,"climb":0.300,"eps":69.44} $GPGGA,021652.947,5029.3856,N,10441.0383,W,1,05,2.0,559.6,M,-20.3,M,0.0,0000*42 $GPGLL,5029.3856,N,10441.0383,W,021652.947,A*20 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021652.947,A,5029.3856,N,10441.0383,W,0.110183,9.39,280706,,*15 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:52.947Z","ept":0.005,"lat":50.489760000,"lon":-104.683971667,"alt":559.600,"epx":32.645,"epy":34.721,"epv":64.400,"track":9.3900,"speed":0.057,"climb":0.200,"eps":69.44} $GPGGA,021653.947,5029.3855,N,10441.0382,W,1,05,2.0,559.4,M,-20.3,M,0.0,0000*43 $GPGLL,5029.3855,N,10441.0382,W,021653.947,A*23 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021653.947,A,5029.3855,N,10441.0382,W,0.104481,9.00,280706,,*1E {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:53.947Z","ept":0.005,"lat":50.489758333,"lon":-104.683970000,"alt":559.400,"epx":32.645,"epy":34.721,"epv":64.400,"track":9.0000,"speed":0.054,"climb":-0.200,"eps":69.44} $GPGGA,021654.947,5029.3855,N,10441.0381,W,1,05,2.0,559.5,M,-20.3,M,0.0,0000*46 $GPGLL,5029.3855,N,10441.0381,W,021654.947,A*27 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPGSV,3,1,9,8,48,156,0,17,50,212,34,28,82,39,36,11,38,84,33*49 $GPGSV,3,2,9,26,32,277,37,29,31,269,34,19,6,48,0,27,22,152,0*40 $GPGSV,3,3,9,124,0,0,0*47 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":2.80,"tdop":5.16,"hdop":2.00,"gdop":8.30,"pdop":3.50,"satellites":[{"PRN":8,"el":48,"az":156,"ss":0,"used":false},{"PRN":17,"el":50,"az":212,"ss":34,"used":true},{"PRN":28,"el":82,"az":39,"ss":36,"used":true},{"PRN":11,"el":38,"az":84,"ss":33,"used":true},{"PRN":26,"el":32,"az":277,"ss":37,"used":true},{"PRN":29,"el":31,"az":269,"ss":34,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":0,"used":false},{"PRN":124,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021654.947,A,5029.3855,N,10441.0381,W,0.142516,3.80,280706,,*15 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:54.947Z","ept":0.005,"lat":50.489758333,"lon":-104.683968333,"alt":559.500,"epx":32.645,"epy":34.721,"epv":64.400,"track":3.8000,"speed":0.073,"climb":0.100,"eps":69.44} $GPGGA,021655.947,5029.3855,N,10441.0381,W,1,05,2.0,559.8,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3855,N,10441.0381,W,021655.947,A*26 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021655.947,A,5029.3855,N,10441.0381,W,0.120701,358.47,280706,,*12 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:55.947Z","ept":0.005,"lat":50.489758333,"lon":-104.683968333,"alt":559.800,"epx":32.645,"epy":34.721,"epv":64.400,"track":358.4700,"speed":0.062,"climb":0.300,"eps":69.44} $GPGGA,021656.947,5029.3855,N,10441.0379,W,1,06,1.4,559.8,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3855,N,10441.0379,W,021656.947,A*22 $GPGSA,A,3,17,28,11,26,29,27,,,,,,,2.7,1.4,2.3*35 $GPRMC,021656.947,A,5029.3855,N,10441.0379,W,0.094143,14.12,280706,,*23 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:56.947Z","ept":0.005,"lat":50.489758333,"lon":-104.683965000,"alt":559.800,"epx":32.645,"epy":34.721,"epv":64.400,"track":14.1200,"speed":0.048,"climb":0.000,"eps":69.44} $GPGGA,021657.947,5029.3855,N,10441.0378,W,1,06,1.4,559.8,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3855,N,10441.0378,W,021657.947,A*22 $GPGSA,A,3,17,28,11,26,29,27,,,,,,,2.7,1.4,2.3*35 $GPRMC,021657.947,A,5029.3855,N,10441.0378,W,0.096695,9.89,280706,,*13 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:57.947Z","ept":0.005,"lat":50.489758333,"lon":-104.683963333,"alt":559.800,"epx":32.645,"epy":34.721,"epv":52.900,"track":9.8900,"speed":0.050,"climb":0.000,"eps":69.44} $GPGGA,021658.947,5029.3855,N,10441.0378,W,1,05,2.0,560.0,M,-20.3,M,0.0,0000*43 $GPGLL,5029.3855,N,10441.0378,W,021658.947,A*2D $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021658.947,A,5029.3855,N,10441.0378,W,0.111024,0.77,280706,,*16 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:58.947Z","ept":0.005,"lat":50.489758333,"lon":-104.683963333,"alt":560.000,"epx":32.645,"epy":34.721,"epv":52.900,"track":0.7700,"speed":0.057,"climb":0.200,"eps":69.44} $GPGGA,021659.946,5029.3855,N,10441.0376,W,1,05,2.0,559.8,M,-20.3,M,0.0,0000*4F $GPGLL,5029.3855,N,10441.0376,W,021659.946,A*23 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPGSV,3,1,9,8,48,156,0,17,50,212,33,28,82,39,36,11,38,84,32*4F $GPGSV,3,2,9,26,32,277,36,29,31,269,34,19,6,48,0,27,22,152,27*74 $GPGSV,3,3,9,124,0,0,0*47 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":2.80,"tdop":5.16,"hdop":2.00,"gdop":8.30,"pdop":3.50,"satellites":[{"PRN":8,"el":48,"az":156,"ss":0,"used":false},{"PRN":17,"el":50,"az":212,"ss":33,"used":true},{"PRN":28,"el":82,"az":39,"ss":36,"used":true},{"PRN":11,"el":38,"az":84,"ss":32,"used":true},{"PRN":26,"el":32,"az":277,"ss":36,"used":true},{"PRN":29,"el":31,"az":269,"ss":34,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":27,"used":false},{"PRN":124,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021659.946,A,5029.3855,N,10441.0376,W,0.144243,359.38,280706,,*1F {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:16:59.946Z","ept":0.005,"lat":50.489758333,"lon":-104.683960000,"alt":559.800,"epx":32.645,"epy":34.721,"epv":64.400,"track":359.3800,"speed":0.074,"climb":-0.200,"eps":69.51} $GPGGA,021700.946,5029.3856,N,10441.0373,W,1,05,2.0,559.4,M,-20.3,M,0.0,0000*48 $GPGLL,5029.3856,N,10441.0373,W,021700.946,A*28 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021700.946,A,5029.3856,N,10441.0373,W,0.127513,359.47,280706,,*1B {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:17:00.946Z","ept":0.005,"lat":50.489760000,"lon":-104.683955000,"alt":559.400,"epx":32.645,"epy":34.721,"epv":64.400,"track":359.4700,"speed":0.066,"climb":-0.400,"eps":69.44} $GPGGA,021701.946,5029.3856,N,10441.0369,W,1,05,2.0,558.6,M,-20.3,M,0.0,0000*41 $GPGLL,5029.3856,N,10441.0369,W,021701.946,A*22 $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021701.946,A,5029.3856,N,10441.0369,W,0.082985,16.78,280706,,*28 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:17:01.946Z","ept":0.005,"lat":50.489760000,"lon":-104.683948333,"alt":558.600,"epx":32.645,"epy":34.721,"epv":64.400,"track":16.7800,"speed":0.043,"climb":-0.800,"eps":69.44} $GPGGA,021702.946,5029.3856,N,10441.0365,W,1,05,2.0,557.8,M,-20.3,M,0.0,0000*4F $GPGLL,5029.3856,N,10441.0365,W,021702.946,A*2D $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021702.946,A,5029.3856,N,10441.0365,W,0.108057,8.59,280706,,*1E {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:17:02.946Z","ept":0.005,"lat":50.489760000,"lon":-104.683941667,"alt":557.800,"epx":32.645,"epy":34.721,"epv":64.400,"track":8.5900,"speed":0.056,"climb":-0.800,"eps":69.44} $GPGGA,021703.946,5029.3857,N,10441.0363,W,1,05,2.0,556.8,M,-20.3,M,0.0,0000*48 $GPGLL,5029.3857,N,10441.0363,W,021703.946,A*2B $GPGSA,A,3,17,28,11,26,29,,,,,,,,3.5,2.0,2.8*3F $GPRMC,021703.946,A,5029.3857,N,10441.0363,W,0.193741,10.55,280706,,*2F {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:17:03.946Z","ept":0.005,"lat":50.489761667,"lon":-104.683938333,"alt":556.800,"epx":32.645,"epy":34.721,"epv":64.400,"track":10.5500,"speed":0.100,"climb":-1.000,"eps":69.44} $GPGGA,021704.946,5029.3858,N,10441.0363,W,1,07,1.3,556.0,M,-20.3,M,0.0,0000*4A $GPGLL,5029.3858,N,10441.0363,W,021704.946,A*23 $GPGSA,A,3,08,17,28,11,26,29,27,,,,,,2.5,1.3,2.1*3A $GPGSV,3,1,9,8,48,156,31,17,50,212,32,28,82,39,39,11,38,84,33*72 $GPGSV,3,2,9,26,32,277,37,29,31,269,34,19,6,48,0,27,22,152,30*73 $GPGSV,3,3,9,124,0,0,0*47 {"class":"SKY","tag":"GSV","xdop":2.18,"ydop":2.31,"vdop":2.10,"tdop":5.16,"hdop":1.30,"gdop":8.30,"pdop":2.50,"satellites":[{"PRN":8,"el":48,"az":156,"ss":31,"used":true},{"PRN":17,"el":50,"az":212,"ss":32,"used":true},{"PRN":28,"el":82,"az":39,"ss":39,"used":true},{"PRN":11,"el":38,"az":84,"ss":33,"used":true},{"PRN":26,"el":32,"az":277,"ss":37,"used":true},{"PRN":29,"el":31,"az":269,"ss":34,"used":true},{"PRN":19,"el":6,"az":48,"ss":0,"used":false},{"PRN":27,"el":22,"az":152,"ss":30,"used":true},{"PRN":124,"el":0,"az":0,"ss":0,"used":false}]} $GPRMC,021704.946,A,5029.3858,N,10441.0363,W,0.096613,335.19,280706,,*19 {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:17:04.946Z","ept":0.005,"lat":50.489763333,"lon":-104.683938333,"alt":556.000,"epx":32.645,"epy":34.721,"epv":64.400,"track":335.1900,"speed":0.050,"climb":-0.800,"eps":69.44} $GPGGA,021705.946,5029.3859,N,10441.0363,W,1,07,1.3,555.4,M,-20.3,M,0.0,0000*4D $GPGLL,5029.3859,N,10441.0363,W,021705.946,A*23 $GPGSA,A,3,08,17,28,11,26,29,27,,,,,,2.5,1.3,2.1*3A $GPRMC,021705.946,A,5029.3859,N,10441.0363,W,0.061763,22.98,280706,,*2B {"class":"TPV","tag":"RMC","mode":3,"time":"2006-07-28T02:17:05.946Z","ept":0.005,"lat":50.489765000,"lon":-104.683938333,"alt":555.400,"epx":32.645,"epy":34.721,"epv":48.300,"track":22.9800,"speed":0.032,"climb":-0.600,"eps":69.44} $GPGGA,021706.946,5029.3860,N,10441.0364,W,1,07,1.3,554.9,M,-20.3,M,0.0,0000*4F $GPGLL,5029.3860,N,10441.0364,W,021706.946,A*2D $GPGSA,A,3,08,17,28,11,26,29,27,,,,,,2.5,1.3,2.1*3A gpsd-3.9/test/daemon/polarx2.log0000664000175000017500000001062011762140437015010 0ustar esresr# Name: Septentrio PolarRx2 # Chipset: PolarRx2 # Description: OEM module # Submitter: José Miguel Gonçalves # Date: 2012-03-22 # Notes: Submitter writes: # While working with a Septentrio PolarRx2 receiver, I've noticed that # I never got 2D fixes with xgps, while the Septentrio proprietary # software told me that it had a fix. I've tracked down the bug to the # GGA processing in the NMEA driver. $GPGST,112257.00,0.387,317.719,3.872,1.791,317.563,10.659,180.746*61 $GPGBS,112257.00,123.204,0.490,75.521,23,0.000,0.000,0.000*53 $GPGGA,112257.00,3844.24011,N,00908.43828,W,1,03,10.5,,,,,,*72 $GPGLL,3844.24011,N,00908.43828,W,112257.00,A,A*70 $GPGNS,112257.00,3844.24011,N,00908.43828,W,AN,03,10.5,,,,*57 $GPRMC,112257.00,A,3844.24011,N,00908.43828,W,0.1,339.1,220312,5.6,E,A*26 $GPVTG,339.1,T,333.5,M,0.1,N,0.1,K,A*2D $GPZDA,112257.00,22,03,2012,,*66 $GPGRS,112257.00,1,-0.1,-0.3,-0.1,,,,,,,,,*4C $GPGSA,A,2,10,13,23,,,,,,,,,,10.5,10.5,*1F $GPGSV,5,1,17,02,46,305,,04,74,240,,05,14,290,,07,46,134,*74 $GPGSV,5,2,17,08,22,167,,10,65,329,44,13,62,040,44,17,06,199,*79 $GPGSV,5,3,17,20,11,098,,23,31,049,45,33,45,190,,35,26,238,*77 $GPGSV,5,4,17,37,16,112,,39,33,133,,44,04,101,,49,33,133,*7C $GPGSV,5,5,17,50,45,190,*43 $GPGST,112258.00,0.223,320.494,3.861,1.782,320.339,10.685,182.631*6C $GPGBS,112258.00,155.875,14.949,71.523,13,0.000,0.000,0.000*68 $GPGGA,112258.00,3844.23988,N,00908.43825,W,1,03,10.5,,,,,,*7E $GPGLL,3844.23988,N,00908.43825,W,112258.00,A,A*7C $GPGNS,112258.00,3844.23988,N,00908.43825,W,AN,03,10.5,,,,*5B $GPRMC,112258.00,A,3844.23988,N,00908.43825,W,0.0,,220312,5.6,E,A*0D $GPVTG,,T,,M,0.0,N,0.0,K,A*23 $GPZDA,112258.00,22,03,2012,,*69 $GPGRS,112258.00,1,0.0,-0.1,0.0,,,,,,,,,*41 $GPGSA,A,2,10,13,23,,,,,,,,,,10.5,10.5,*1F $GPGSV,5,1,17,02,46,305,,04,74,240,,05,14,290,,07,46,134,*74 $GPGSV,5,2,17,08,22,167,,10,65,329,44,13,62,040,44,17,06,199,*79 $GPGSV,5,3,17,20,11,098,,23,31,049,44,33,45,190,,35,26,238,*76 $GPGSV,5,4,17,37,16,112,,39,33,133,,44,04,101,,49,33,133,*7C $GPGSV,5,5,17,50,45,190,*43 $GPGST,112259.00,0.374,324.240,3.859,1.775,324.084,10.757,184.716*6B $GPGBS,112259.00,98.761,11.743,50.103,13,0.000,0.000,0.000*57 $GPGGA,112259.00,3844.23965,N,00908.43820,W,1,03,10.5,,,,,,*79 $GPGLL,3844.23965,N,00908.43820,W,112259.00,A,A*7B $GPGNS,112259.00,3844.23965,N,00908.43820,W,AN,03,10.5,,,,*5C $GPRMC,112259.00,A,3844.23965,N,00908.43820,W,0.0,,220312,5.6,E,A*0A $GPVTG,,T,,M,0.0,N,0.1,K,A*22 $GPZDA,112259.00,22,03,2012,,*68 $GPGRS,112259.00,1,0.1,-0.3,0.0,,,,,,,,,*43 $GPGSA,A,2,10,13,23,,,,,,,,,,10.5,10.5,*1F $GPGSV,5,1,17,02,46,305,,04,74,240,,05,14,290,,07,46,134,*74 $GPGSV,5,2,17,08,22,167,,10,65,329,44,13,62,040,43,17,06,199,*7E $GPGSV,5,3,17,20,11,098,,23,31,049,44,33,45,190,,35,26,238,*76 $GPGSV,5,4,17,37,16,112,,39,33,133,,44,04,101,,49,33,133,*7C $GPGSV,5,5,17,50,45,190,*43 $GPGST,112300.00,0.593,328.088,3.859,1.768,327.932,10.833,186.824*69 $GPGBS,112300.00,76.953,10.529,42.020,13,0.000,0.000,0.000*59 $GPGGA,112300.00,3844.23935,N,00908.43815,W,1,03,10.5,,,,,,*77 $GPGLL,3844.23935,N,00908.43815,W,112300.00,A,A*75 $GPGNS,112300.00,3844.23935,N,00908.43815,W,AN,03,10.5,,,,*52 $GPRMC,112300.00,A,3844.23935,N,00908.43815,W,0.1,339.2,220312,5.6,E,A*20 $GPVTG,339.2,T,333.6,M,0.1,N,0.2,K,A*2E $GPZDA,112300.00,22,03,2012,,*65 $GPGRS,112300.00,1,0.0,-0.5,0.0,,,,,,,,,*49 $GPGSA,A,2,10,13,23,,,,,,,,,,10.5,10.5,*1F $GPGSV,5,1,17,02,46,305,,04,74,240,,05,14,290,,07,46,134,*74 $GPGSV,5,2,17,08,22,167,,10,65,329,44,13,62,040,43,17,06,199,*7E $GPGSV,5,3,17,20,11,098,,23,31,049,44,33,45,190,,35,26,238,*76 $GPGSV,5,4,17,37,16,112,,39,33,133,,44,04,101,,49,33,133,*7C $GPGSV,5,5,17,50,45,190,*43 $GPGST,112301.00,0.737,331.967,3.860,1.762,331.810,10.910,188.939*61 $GPGBS,112301.00,64.299,9.828,45.570,13,0.000,0.000,0.000*65 $GPGGA,112301.00,3844.23907,N,00908.43804,W,1,03,10.5,,,,,,*77 $GPGLL,3844.23907,N,00908.43804,W,112301.00,A,A*75 $GPGNS,112301.00,3844.23907,N,00908.43804,W,AN,03,10.5,,,,*52 $GPRMC,112301.00,A,3844.23907,N,00908.43804,W,0.0,,220312,5.6,E,A*04 $GPVTG,,T,,M,0.0,N,0.1,K,A*22 $GPZDA,112301.00,22,03,2012,,*64 $GPGRS,112301.00,1,0.2,-0.6,0.1,,,,,,,,,*48 $GPGSA,A,2,10,13,23,,,,,,,,,,10.5,10.5,*1F $GPGSV,5,1,17,02,46,305,,04,74,240,,05,14,290,,07,46,134,*74 $GPGSV,5,2,17,08,22,167,,10,65,329,43,13,62,040,43,17,06,199,*79 $GPGSV,5,3,17,20,11,098,,23,31,049,44,33,45,190,,35,26,238,*76 $GPGSV,5,4,17,37,16,112,,39,33,133,,44,04,101,,49,33,133,*7C $GPGSV,5,5,17,50,45,190,*43 gpsd-3.9/test/daemon/polarx2.log.chk0000664000175000017500000002416612135526406015565 0ustar esresr$GPGST,112257.00,0.387,317.719,3.872,1.791,317.563,10.659,180.746*61 {"class":"GST","tag":"GST","time":"1970-01-02T07:10:57.000Z","rms":0.387,"major":317.719,"minor":3.872,"orient":1.791,"lat":317.563,"lon":10.659,"alt":180.746} $GPGBS,112257.00,123.204,0.490,75.521,23,0.000,0.000,0.000*53 $GPGGA,112257.00,3844.24011,N,00908.43828,W,1,03,10.5,,,,,,*72 {"class":"TPV","tag":"GGA","mode":0} $GPGLL,3844.24011,N,00908.43828,W,112257.00,A,A*70 {"class":"TPV","tag":"GLL","mode":2,"lat":38.737335167,"lon":-9.140638000} $GPGNS,112257.00,3844.24011,N,00908.43828,W,AN,03,10.5,,,,*57 $GPRMC,112257.00,A,3844.24011,N,00908.43828,W,0.1,339.1,220312,5.6,E,A*26 {"class":"TPV","tag":"RMC","mode":2,"time":"2012-03-22T11:22:57.000Z","ept":0.005,"lat":38.737335167,"lon":-9.140638000,"track":339.1000,"speed":0.051} $GPVTG,339.1,T,333.5,M,0.1,N,0.1,K,A*2D $GPZDA,112257.00,22,03,2012,,*66 $GPGRS,112257.00,1,-0.1,-0.3,-0.1,,,,,,,,,*4C $GPGSA,A,2,10,13,23,,,,,,,,,,10.5,10.5,*1F {"class":"TPV","tag":"GSA","mode":2,"time":"2012-03-22T11:22:57.000Z","ept":0.005,"lat":38.737335167,"lon":-9.140638000,"track":339.1000,"speed":0.051} $GPGSV,5,1,17,02,46,305,,04,74,240,,05,14,290,,07,46,134,*74 $GPGSV,5,2,17,08,22,167,,10,65,329,44,13,62,040,44,17,06,199,*79 $GPGSV,5,3,17,20,11,098,,23,31,049,45,33,45,190,,35,26,238,*77 $GPGSV,5,4,17,37,16,112,,39,33,133,,44,04,101,,49,33,133,*7C $GPGSV,5,5,17,50,45,190,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":10.50,"pdop":10.50,"satellites":[{"PRN":2,"el":46,"az":305,"ss":0,"used":false},{"PRN":4,"el":74,"az":240,"ss":0,"used":false},{"PRN":5,"el":14,"az":290,"ss":0,"used":false},{"PRN":7,"el":46,"az":134,"ss":0,"used":false},{"PRN":8,"el":22,"az":167,"ss":0,"used":false},{"PRN":10,"el":65,"az":329,"ss":44,"used":true},{"PRN":13,"el":62,"az":40,"ss":44,"used":true},{"PRN":17,"el":6,"az":199,"ss":0,"used":false},{"PRN":20,"el":11,"az":98,"ss":0,"used":false},{"PRN":23,"el":31,"az":49,"ss":45,"used":true},{"PRN":120,"el":45,"az":190,"ss":0,"used":false},{"PRN":122,"el":26,"az":238,"ss":0,"used":false},{"PRN":124,"el":16,"az":112,"ss":0,"used":false},{"PRN":126,"el":33,"az":133,"ss":0,"used":false},{"PRN":131,"el":4,"az":101,"ss":0,"used":false},{"PRN":136,"el":33,"az":133,"ss":0,"used":false},{"PRN":137,"el":45,"az":190,"ss":0,"used":false}]} $GPGST,112258.00,0.223,320.494,3.861,1.782,320.339,10.685,182.631*6C {"class":"GST","tag":"GST","time":"1970-01-02T07:10:58.000Z","rms":0.223,"major":320.494,"minor":3.861,"orient":1.782,"lat":320.339,"lon":10.685,"alt":182.631} $GPGBS,112258.00,155.875,14.949,71.523,13,0.000,0.000,0.000*68 $GPGGA,112258.00,3844.23988,N,00908.43825,W,1,03,10.5,,,,,,*7E $GPGLL,3844.23988,N,00908.43825,W,112258.00,A,A*7C $GPGNS,112258.00,3844.23988,N,00908.43825,W,AN,03,10.5,,,,*5B $GPRMC,112258.00,A,3844.23988,N,00908.43825,W,0.0,,220312,5.6,E,A*0D {"class":"TPV","tag":"RMC","mode":2,"time":"2012-03-22T11:22:58.000Z","ept":0.005,"lat":38.737331333,"lon":-9.140637500,"track":0.0000,"speed":0.000} $GPVTG,,T,,M,0.0,N,0.0,K,A*23 $GPZDA,112258.00,22,03,2012,,*69 $GPGRS,112258.00,1,0.0,-0.1,0.0,,,,,,,,,*41 $GPGSA,A,2,10,13,23,,,,,,,,,,10.5,10.5,*1F $GPGSV,5,1,17,02,46,305,,04,74,240,,05,14,290,,07,46,134,*74 $GPGSV,5,2,17,08,22,167,,10,65,329,44,13,62,040,44,17,06,199,*79 $GPGSV,5,3,17,20,11,098,,23,31,049,44,33,45,190,,35,26,238,*76 $GPGSV,5,4,17,37,16,112,,39,33,133,,44,04,101,,49,33,133,*7C $GPGSV,5,5,17,50,45,190,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":10.50,"pdop":10.50,"satellites":[{"PRN":2,"el":46,"az":305,"ss":0,"used":false},{"PRN":4,"el":74,"az":240,"ss":0,"used":false},{"PRN":5,"el":14,"az":290,"ss":0,"used":false},{"PRN":7,"el":46,"az":134,"ss":0,"used":false},{"PRN":8,"el":22,"az":167,"ss":0,"used":false},{"PRN":10,"el":65,"az":329,"ss":44,"used":true},{"PRN":13,"el":62,"az":40,"ss":44,"used":true},{"PRN":17,"el":6,"az":199,"ss":0,"used":false},{"PRN":20,"el":11,"az":98,"ss":0,"used":false},{"PRN":23,"el":31,"az":49,"ss":44,"used":true},{"PRN":120,"el":45,"az":190,"ss":0,"used":false},{"PRN":122,"el":26,"az":238,"ss":0,"used":false},{"PRN":124,"el":16,"az":112,"ss":0,"used":false},{"PRN":126,"el":33,"az":133,"ss":0,"used":false},{"PRN":131,"el":4,"az":101,"ss":0,"used":false},{"PRN":136,"el":33,"az":133,"ss":0,"used":false},{"PRN":137,"el":45,"az":190,"ss":0,"used":false}]} $GPGST,112259.00,0.374,324.240,3.859,1.775,324.084,10.757,184.716*6B {"class":"GST","tag":"GST","time":"1970-01-02T07:10:59.000Z","rms":0.374,"major":324.240,"minor":3.859,"orient":1.775,"lat":324.084,"lon":10.757,"alt":184.716} $GPGBS,112259.00,98.761,11.743,50.103,13,0.000,0.000,0.000*57 $GPGGA,112259.00,3844.23965,N,00908.43820,W,1,03,10.5,,,,,,*79 $GPGLL,3844.23965,N,00908.43820,W,112259.00,A,A*7B $GPGNS,112259.00,3844.23965,N,00908.43820,W,AN,03,10.5,,,,*5C $GPRMC,112259.00,A,3844.23965,N,00908.43820,W,0.0,,220312,5.6,E,A*0A {"class":"TPV","tag":"RMC","mode":2,"time":"2012-03-22T11:22:59.000Z","ept":0.005,"lat":38.737327500,"lon":-9.140636667,"track":0.0000,"speed":0.000} $GPVTG,,T,,M,0.0,N,0.1,K,A*22 $GPZDA,112259.00,22,03,2012,,*68 $GPGRS,112259.00,1,0.1,-0.3,0.0,,,,,,,,,*43 $GPGSA,A,2,10,13,23,,,,,,,,,,10.5,10.5,*1F $GPGSV,5,1,17,02,46,305,,04,74,240,,05,14,290,,07,46,134,*74 $GPGSV,5,2,17,08,22,167,,10,65,329,44,13,62,040,43,17,06,199,*7E $GPGSV,5,3,17,20,11,098,,23,31,049,44,33,45,190,,35,26,238,*76 $GPGSV,5,4,17,37,16,112,,39,33,133,,44,04,101,,49,33,133,*7C $GPGSV,5,5,17,50,45,190,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":10.50,"pdop":10.50,"satellites":[{"PRN":2,"el":46,"az":305,"ss":0,"used":false},{"PRN":4,"el":74,"az":240,"ss":0,"used":false},{"PRN":5,"el":14,"az":290,"ss":0,"used":false},{"PRN":7,"el":46,"az":134,"ss":0,"used":false},{"PRN":8,"el":22,"az":167,"ss":0,"used":false},{"PRN":10,"el":65,"az":329,"ss":44,"used":true},{"PRN":13,"el":62,"az":40,"ss":43,"used":true},{"PRN":17,"el":6,"az":199,"ss":0,"used":false},{"PRN":20,"el":11,"az":98,"ss":0,"used":false},{"PRN":23,"el":31,"az":49,"ss":44,"used":true},{"PRN":120,"el":45,"az":190,"ss":0,"used":false},{"PRN":122,"el":26,"az":238,"ss":0,"used":false},{"PRN":124,"el":16,"az":112,"ss":0,"used":false},{"PRN":126,"el":33,"az":133,"ss":0,"used":false},{"PRN":131,"el":4,"az":101,"ss":0,"used":false},{"PRN":136,"el":33,"az":133,"ss":0,"used":false},{"PRN":137,"el":45,"az":190,"ss":0,"used":false}]} $GPGST,112300.00,0.593,328.088,3.859,1.768,327.932,10.833,186.824*69 {"class":"GST","tag":"GST","time":"1970-01-02T07:11:40.000Z","rms":0.593,"major":328.088,"minor":3.859,"orient":1.768,"lat":327.932,"lon":10.833,"alt":186.824} $GPGBS,112300.00,76.953,10.529,42.020,13,0.000,0.000,0.000*59 $GPGGA,112300.00,3844.23935,N,00908.43815,W,1,03,10.5,,,,,,*77 $GPGLL,3844.23935,N,00908.43815,W,112300.00,A,A*75 $GPGNS,112300.00,3844.23935,N,00908.43815,W,AN,03,10.5,,,,*52 $GPRMC,112300.00,A,3844.23935,N,00908.43815,W,0.1,339.2,220312,5.6,E,A*20 {"class":"TPV","tag":"RMC","mode":2,"time":"2012-03-22T11:23:00.000Z","ept":0.005,"lat":38.737322500,"lon":-9.140635833,"track":339.2000,"speed":0.051} $GPVTG,339.2,T,333.6,M,0.1,N,0.2,K,A*2E $GPZDA,112300.00,22,03,2012,,*65 $GPGRS,112300.00,1,0.0,-0.5,0.0,,,,,,,,,*49 $GPGSA,A,2,10,13,23,,,,,,,,,,10.5,10.5,*1F $GPGSV,5,1,17,02,46,305,,04,74,240,,05,14,290,,07,46,134,*74 $GPGSV,5,2,17,08,22,167,,10,65,329,44,13,62,040,43,17,06,199,*7E $GPGSV,5,3,17,20,11,098,,23,31,049,44,33,45,190,,35,26,238,*76 $GPGSV,5,4,17,37,16,112,,39,33,133,,44,04,101,,49,33,133,*7C $GPGSV,5,5,17,50,45,190,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":10.50,"pdop":10.50,"satellites":[{"PRN":2,"el":46,"az":305,"ss":0,"used":false},{"PRN":4,"el":74,"az":240,"ss":0,"used":false},{"PRN":5,"el":14,"az":290,"ss":0,"used":false},{"PRN":7,"el":46,"az":134,"ss":0,"used":false},{"PRN":8,"el":22,"az":167,"ss":0,"used":false},{"PRN":10,"el":65,"az":329,"ss":44,"used":true},{"PRN":13,"el":62,"az":40,"ss":43,"used":true},{"PRN":17,"el":6,"az":199,"ss":0,"used":false},{"PRN":20,"el":11,"az":98,"ss":0,"used":false},{"PRN":23,"el":31,"az":49,"ss":44,"used":true},{"PRN":120,"el":45,"az":190,"ss":0,"used":false},{"PRN":122,"el":26,"az":238,"ss":0,"used":false},{"PRN":124,"el":16,"az":112,"ss":0,"used":false},{"PRN":126,"el":33,"az":133,"ss":0,"used":false},{"PRN":131,"el":4,"az":101,"ss":0,"used":false},{"PRN":136,"el":33,"az":133,"ss":0,"used":false},{"PRN":137,"el":45,"az":190,"ss":0,"used":false}]} $GPGST,112301.00,0.737,331.967,3.860,1.762,331.810,10.910,188.939*61 {"class":"GST","tag":"GST","time":"1970-01-02T07:11:41.000Z","rms":0.737,"major":331.967,"minor":3.860,"orient":1.762,"lat":331.810,"lon":10.910,"alt":188.939} $GPGBS,112301.00,64.299,9.828,45.570,13,0.000,0.000,0.000*65 $GPGGA,112301.00,3844.23907,N,00908.43804,W,1,03,10.5,,,,,,*77 $GPGLL,3844.23907,N,00908.43804,W,112301.00,A,A*75 $GPGNS,112301.00,3844.23907,N,00908.43804,W,AN,03,10.5,,,,*52 $GPRMC,112301.00,A,3844.23907,N,00908.43804,W,0.0,,220312,5.6,E,A*04 {"class":"TPV","tag":"RMC","mode":2,"time":"2012-03-22T11:23:01.000Z","ept":0.005,"lat":38.737317833,"lon":-9.140634000,"track":0.0000,"speed":0.000} $GPVTG,,T,,M,0.0,N,0.1,K,A*22 $GPZDA,112301.00,22,03,2012,,*64 $GPGRS,112301.00,1,0.2,-0.6,0.1,,,,,,,,,*48 $GPGSA,A,2,10,13,23,,,,,,,,,,10.5,10.5,*1F $GPGSV,5,1,17,02,46,305,,04,74,240,,05,14,290,,07,46,134,*74 $GPGSV,5,2,17,08,22,167,,10,65,329,43,13,62,040,43,17,06,199,*79 $GPGSV,5,3,17,20,11,098,,23,31,049,44,33,45,190,,35,26,238,*76 $GPGSV,5,4,17,37,16,112,,39,33,133,,44,04,101,,49,33,133,*7C $GPGSV,5,5,17,50,45,190,*43 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":10.50,"pdop":10.50,"satellites":[{"PRN":2,"el":46,"az":305,"ss":0,"used":false},{"PRN":4,"el":74,"az":240,"ss":0,"used":false},{"PRN":5,"el":14,"az":290,"ss":0,"used":false},{"PRN":7,"el":46,"az":134,"ss":0,"used":false},{"PRN":8,"el":22,"az":167,"ss":0,"used":false},{"PRN":10,"el":65,"az":329,"ss":43,"used":true},{"PRN":13,"el":62,"az":40,"ss":43,"used":true},{"PRN":17,"el":6,"az":199,"ss":0,"used":false},{"PRN":20,"el":11,"az":98,"ss":0,"used":false},{"PRN":23,"el":31,"az":49,"ss":44,"used":true},{"PRN":120,"el":45,"az":190,"ss":0,"used":false},{"PRN":122,"el":26,"az":238,"ss":0,"used":false},{"PRN":124,"el":16,"az":112,"ss":0,"used":false},{"PRN":126,"el":33,"az":133,"ss":0,"used":false},{"PRN":131,"el":4,"az":101,"ss":0,"used":false},{"PRN":136,"el":33,"az":133,"ss":0,"used":false},{"PRN":137,"el":45,"az":190,"ss":0,"used":false}]} gpsd-3.9/test/daemon/rgm3800.log0000664000175000017500000000425611762140437014531 0ustar esresr# Name: Royaltek RGM-3800 # Chipset: Sirf GSC3f/LP ? # Submitter: "Philipp Klenze" # Date: 2008-08-21 # Location: TU Munich, Garching, DE, 48.3N, 11.7E # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # # this log has been generated with the format set to 4: # ./rgm3800.py -d /dev/ttyUSB0 format 4 # (the existence of $LOG-lines seem to be correlated with this format) # # Generated by running: # ./rgm3800.py -d /dev/ttyUSB0 gmouse on # cat /dev/ttyUSB0 # # First 15 lines is startup output; remainder is stationary $LOG108,1,100,100,0,0,5,0,4,462*61 $GPGGA,235951.952,0000.0000,N,00000.0000,E,0,00,,0.0,M,0.0,M,,0000*44 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,20,00,000,,10,00,000,,31,00,000,,27,00,000,*7C $GPGSV,3,2,12,19,00,000,,07,00,000,,04,00,000,,24,00,000,*76 $GPGSV,3,3,12,16,00,000,,28,00,000,,26,00,000,,29,00,000,*78 $GPRMC,235951.952,V,0000.0000,N,00000.0000,E,,0.00,050180,,,N*63 $LOG108,1,100,100,0,0,5,0,4,462*61 $GPGGA,235952.953,0000.0000,N,00000.0000,E,0,00,,0.0,M,0.0,M,,0000*46 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,3,1,12,20,00,000,,10,00,000,,31,00,000,,27,00,000,*7C $GPGSV,3,2,12,19,00,000,,07,00,000,,04,00,000,,24,00,000,*76 $GPGSV,3,3,12,16,00,000,,28,00,000,,26,00,000,,29,00,000,*78 $GPRMC,235952.953,V,0000.0000,N,00000.0000,E,,0.00,050180,,,N*61 $GPGGA,102523.342,4815.6883,N,01140.3675,E,1,03,4.1,-47.5,M,47.5,M,,0000*4B $GPGSA,A,2,09,18,15,,,,,,,,,,4.2,4.1,1.0*35 $GPGSV,3,1,11,15,78,236,41,09,30,277,44,18,26,303,36,22,04,332,34*73 $GPGSV,3,2,11,26,64,298,,29,53,146,,28,45,057,25,17,28,119,22*78 $GPGSV,3,3,11,08,13,081,27,12,06,219,22,10,05,190,21*4F $GPRMC,102523.342,A,4815.6883,N,01140.3675,E,0.00,0.00,210808,,,A*61 $LOG108,1,100,100,0,0,5,192,4,474*6C $GPGGA,102524.342,4815.6880,N,01140.3673,E,1,03,4.1,-47.5,M,47.5,M,,0000*49 $GPGSA,A,2,09,18,15,,,,,,,,,,4.2,4.1,1.0*35 $GPGSV,3,1,11,15,78,236,41,09,30,277,44,18,26,303,36,22,04,332,34*73 $GPGSV,3,2,11,26,64,298,,29,53,146,,28,45,057,25,17,28,119,22*78 $GPGSV,3,3,11,08,13,081,28,12,06,219,22,10,05,190,21*40 $GPRMC,102524.342,A,4815.6880,N,01140.3673,E,0.00,0.00,210808,,,A*63 $LOG108,1,100,100,0,0,5,192,4,474*6C gpsd-3.9/test/daemon/rgm3800.log.chk0000664000175000017500000000621512135526410015264 0ustar esresr$GPGGA,235951.952,0000.0000,N,00000.0000,E,0,00,,0.0,M,0.0,M,,0000*44 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,12,20,00,000,,10,00,000,,31,00,000,,27,00,000,*7C $GPGSV,3,2,12,19,00,000,,07,00,000,,04,00,000,,24,00,000,*76 $GPGSV,3,3,12,16,00,000,,28,00,000,,26,00,000,,29,00,000,*78 $GPRMC,235951.952,V,0000.0000,N,00000.0000,E,,0.00,050180,,,N*63 $GPGGA,235952.953,0000.0000,N,00000.0000,E,0,00,,0.0,M,0.0,M,,0000*46 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,12,20,00,000,,10,00,000,,31,00,000,,27,00,000,*7C $GPGSV,3,2,12,19,00,000,,07,00,000,,04,00,000,,24,00,000,*76 $GPGSV,3,3,12,16,00,000,,28,00,000,,26,00,000,,29,00,000,*78 $GPRMC,235952.953,V,0000.0000,N,00000.0000,E,,0.00,050180,,,N*61 $GPGGA,102523.342,4815.6883,N,01140.3675,E,1,03,4.1,-47.5,M,47.5,M,,0000*4B {"class":"TPV","tag":"GGA","mode":3,"lat":48.261471667,"lon":11.672791667,"alt":-47.500,"epv":0.000} $GPGSA,A,2,09,18,15,,,,,,,,,,4.2,4.1,1.0*35 $GPGSV,3,1,11,15,78,236,41,09,30,277,44,18,26,303,36,22,04,332,34*73 $GPGSV,3,2,11,26,64,298,,29,53,146,,28,45,057,25,17,28,119,22*78 $GPGSV,3,3,11,08,13,081,27,12,06,219,22,10,05,190,21*4F {"class":"SKY","tag":"GSV","vdop":1.00,"hdop":4.10,"pdop":4.20,"satellites":[{"PRN":15,"el":78,"az":236,"ss":41,"used":true},{"PRN":9,"el":30,"az":277,"ss":44,"used":true},{"PRN":18,"el":26,"az":303,"ss":36,"used":true},{"PRN":22,"el":4,"az":332,"ss":34,"used":false},{"PRN":26,"el":64,"az":298,"ss":0,"used":false},{"PRN":29,"el":53,"az":146,"ss":0,"used":false},{"PRN":28,"el":45,"az":57,"ss":25,"used":false},{"PRN":17,"el":28,"az":119,"ss":22,"used":false},{"PRN":8,"el":13,"az":81,"ss":27,"used":false},{"PRN":12,"el":6,"az":219,"ss":22,"used":false},{"PRN":10,"el":5,"az":190,"ss":21,"used":false}]} $GPRMC,102523.342,A,4815.6883,N,01140.3675,E,0.00,0.00,210808,,,A*61 {"class":"TPV","tag":"RMC","mode":3,"time":"2008-08-21T10:25:23.342Z","ept":0.005,"lat":48.261471667,"lon":11.672791667,"alt":-47.500,"epv":0.000,"track":0.0000,"speed":0.000} $GPGGA,102524.342,4815.6880,N,01140.3673,E,1,03,4.1,-47.5,M,47.5,M,,0000*49 $GPGSA,A,2,09,18,15,,,,,,,,,,4.2,4.1,1.0*35 $GPGSV,3,1,11,15,78,236,41,09,30,277,44,18,26,303,36,22,04,332,34*73 $GPGSV,3,2,11,26,64,298,,29,53,146,,28,45,057,25,17,28,119,22*78 $GPGSV,3,3,11,08,13,081,28,12,06,219,22,10,05,190,21*40 {"class":"SKY","tag":"GSV","vdop":1.00,"hdop":4.10,"pdop":4.20,"satellites":[{"PRN":15,"el":78,"az":236,"ss":41,"used":true},{"PRN":9,"el":30,"az":277,"ss":44,"used":true},{"PRN":18,"el":26,"az":303,"ss":36,"used":true},{"PRN":22,"el":4,"az":332,"ss":34,"used":false},{"PRN":26,"el":64,"az":298,"ss":0,"used":false},{"PRN":29,"el":53,"az":146,"ss":0,"used":false},{"PRN":28,"el":45,"az":57,"ss":25,"used":false},{"PRN":17,"el":28,"az":119,"ss":22,"used":false},{"PRN":8,"el":13,"az":81,"ss":28,"used":false},{"PRN":12,"el":6,"az":219,"ss":22,"used":false},{"PRN":10,"el":5,"az":190,"ss":21,"used":false}]} $GPRMC,102524.342,A,4815.6880,N,01140.3673,E,0.00,0.00,210808,,,A*63 {"class":"TPV","tag":"RMC","mode":3,"time":"2008-08-21T10:25:24.342Z","ept":0.005,"lat":48.261466667,"lon":11.672788333,"alt":-47.500,"epv":23.000,"track":0.0000,"speed":0.000,"climb":0.000} gpsd-3.9/test/daemon/rtcm2.log0000664000175000017500000000124611762140437014454 0ustar esresr# Name: RTCM-104 source from a DGPSIP server # Type: RTCM # Submitter: Wolfgang Rupprecht # Notes: Has leading garbage, to test parity locking. # This is a truncated version of the sample.rtcm file used to test # gpsdecode. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # YpgA_]qS@oglgyC|~oAxCJxqBHsDzu_FsHEfOXAdbwg@Es~]ywJ@x]Cxv^[_m_xRrLwzyBXQb`Z[@hMmOzbzjOXU}t_UUUEsHEfOXIfByS@oSpG|cBPAFvtGN}wl`xN@KsHEF}gV^]}g@EAx}~ywwWd\uv^{mrAÁðÜ×ðôÈGmÅÁäÞuLwzyBXye@bdWLhO{bz\pkJCE`jjJHsHEF}gZ\]Kl`_XHF|CNPAGvIxqBHSK{w_BsHEfOXUgB|__WSZ[{Iao~aJB`a@dPUrA gpsd-3.9/test/daemon/rtcm2.log.chk0000664000175000017500000000252712135526411015216 0ustar esresr{"class":"RTCM2","type":9,"station_id":268,"zcount":252.0,"seqnum":3,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-39.680,"rrc":-0.016},{"ident":7,"udre":0,"iod":15,"prc":25.660,"rrc":0.026},{"ident":26,"udre":0,"iod":128,"prc":12.840,"rrc":0.118}]} {"class":"RTCM2","type":9,"station_id":268,"zcount":252.6,"seqnum":4,"length":5,"station_health":0,"satellites":[{"ident":13,"udre":0,"iod":3,"prc":-25.940,"rrc":0.066},{"ident":2,"udre":0,"iod":73,"prc":0.920,"rrc":-0.080},{"ident":8,"udre":0,"iod":22,"prc":23.820,"rrc":0.014}]} {"class":"RTCM2","type":9,"station_id":268,"zcount":253.8,"seqnum":5,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-59.520,"rrc":-0.224},{"ident":11,"udre":1,"iod":2,"prc":-39.260,"rrc":0.206}]} {"class":"RTCM2","type":9,"station_id":268,"zcount":255.0,"seqnum":6,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-39.700,"rrc":-0.018},{"ident":7,"udre":0,"iod":15,"prc":25.740,"rrc":0.026},{"ident":26,"udre":0,"iod":128,"prc":13.240,"rrc":0.128}]} {"class":"RTCM2","type":9,"station_id":268,"zcount":255.6,"seqnum":7,"length":5,"station_health":0,"satellites":[{"ident":2,"udre":0,"iod":73,"prc":0.680,"rrc":-0.092},{"ident":13,"udre":0,"iod":3,"prc":-25.680,"rrc":0.084},{"ident":8,"udre":0,"iod":22,"prc":23.880,"rrc":0.000}]} gpsd-3.9/test/daemon/rtcm3.log0000664000175000017500000000061011762140437014447 0ustar esresr# Name: RTCM3 # Description: Sample sentence from the RTCM 3.0 standard # Submitter: Eric S. Raymond # Date: 2011-04-11 # Location: Malvern, PA, USA 40deg 2m N 75deg 30m W # Note: This is the type 1029 example from page 3.71 of the RTCM 3.0 standard, # followed by the type 1005 example from page 4-3 Ó'@P„snUTF-8 прПверка wörterí£; Ó>×Ó˜Þï4Žœb¬ A˜o36 ˜ gpsd-3.9/test/daemon/rtcm3.log.chk0000664000175000017500000000060712135526413015216 0ustar esresr{"class":"RTCM3","type":1029,"length":39,"station_id":23,"mjd":132,"sec":59100,"len":21,"units":30,"msg":"UTF-8 \u00d0\u00bf\u00d1\u0080\u00d0\u00be\u00d0\u00b2\u00d0\u00b5\u00d1\u0080\u00d0\u00ba\u00d0\u00b0 w\u00c3\u00b6rter"} {"class":"RTCM3","type":1005,"length":19,"station_id":2003,"system":["GPS"],"refstation":false,"sro":false,"x":1114104.5999,"y":-4850729.7108,"z":3975521.4643} gpsd-3.9/test/daemon/saab-r4.log0000664000175000017500000003655211762140437014666 0ustar esresr# Name: Saab AIS-GPS R4 Positioning System # Description: product description (optional) # Submitter: vwf@julkor.net # Date: 2011-06-01 !AIVDM,1,1,,B,13aGhtw0R05P8b05`L,0*0B $GPZDA,130721,01,06,2011,01,00*4A $GPGLL,5012.792600,N,00806.879600,W,130721,A,D*54 $GPGGA,130721,5012.792600,N,00806.879600,W,2,,,,,,,*65 $GPVTG,2.2,T,,,0.50,N,,,D*15 $GPRMC,130721.00,A,5012.792600,N,00806.879600,W,0.5,2.2,010611,,A*66 $GPDTM,W84,C*52 $HEHDT,4.1,T*2A $HEROT,0.0,A*2B $PFEC,AIcmd,0,35,A,01062011,130722*05 !AIVDO,1,1,,B,13`kvwO005wJnb2Lfo>@6@8d05`L,0*6E $GPZDA,130722,01,06,2011,01,00*49 $GPGLL,5012.792600,N,00806.879600,W,130722,A,D*57 $GPGGA,130722,5012.792600,N,00806.879600,W,2,,,,,,,*66 $GPVTG,2.5,T,,,0.50,N,,,D*12 $GPRMC,130722.00,A,5012.792600,N,00806.879600,W,0.5,2.5,010611,,A*62 $GPDTM,W84,C*52 $HEHDT,4.1,T*2A $HEROT,0.0,A*2B !AIVDM,1,1,,B,13aGhtw02h7P8f05`L,0*55 $GPZDA,130723,01,06,2011,01,00*48 $GPGLL,5012.792600,N,00806.879600,W,130723,A,D*56 $GPGGA,130723,5012.792600,N,00806.879600,W,2,,,,,,,*67 $GPVTG,3.0,T,,,0.50,N,,,D*16 $GPRMC,130723.00,A,5012.792600,N,00806.879600,W,0.5,3.0,010611,,A*67 $GPDTM,W84,C*52 $HEHDT,4.2,T*29 $HEROT,0.0,A*2B $PFEC,AIcmd,0,35,A,01062011,130724*03 !AIVDO,1,1,,B,13`kvwO005wJnb2Lfo?06P8h05`L,0*03 $GPZDA,130724,01,06,2011,01,00*4F $GPGLL,5012.793200,N,00806.879600,W,130724,A,D*54 $GPGGA,130724,5012.793200,N,00806.879600,W,2,,,,,,,*65 $GPVTG,2.6,T,,,0.50,N,,,D*11 $GPRMC,130724.00,A,5012.793200,N,00806.879600,W,0.5,2.6,010611,,A*62 $GPDTM,W84,C*52 $HEHDT,4.2,T*29 $HEROT,0.0,A*2B $PFEC,AIcmd,0,35,A,01062011,130725*02 !AIVDO,1,1,,B,13`kvwO005wJnb2Lfo?P708j05`L,0*00 $GPZDA,130725,01,06,2011,01,00*4E $GPGLL,5012.793200,N,00806.879600,W,130725,A,D*55 $GPGGA,130725,5012.793200,N,00806.879600,W,2,,,,,,,*64 $GPVTG,2.8,T,,,0.50,N,,,D*1F $GPRMC,130725.00,A,5012.793200,N,00806.879600,W,0.5,2.8,010611,,A*6D $GPDTM,W84,C*52 $HEHDT,4.2,T*29 $HEROT,0.0,A*2B $PFEC,AIcmd,0,35,A,01062011,130726*01 !AIVDO,1,1,,B,13`kvwO005wJnb4Lfo?h6@8l05`L,0*49 $GPZDA,130726,01,06,2011,01,00*4D $GPGLL,5012.793200,N,00806.879600,W,130726,A,D*56 $GPGGA,130726,5012.793200,N,00806.879600,W,2,,,,,,,*67 $GPVTG,2.5,T,,,0.50,N,,,D*12 $GPRMC,130726.00,A,5012.793200,N,00806.879600,W,0.5,2.5,010611,,A*63 $GPDTM,W84,C*52 $HEHDT,4.2,T*29 $HEROT,0.0,A*2B $PFEC,AIcmd,0,35,A,01062011,130727*00 !AIVDO,1,1,,B,13`kvwO005wJnb4Lfo@@6P8n05`L,0*0C $GPZDA,130727,01,06,2011,01,00*4C $GPGLL,5012.793200,N,00806.879600,W,130727,A,D*57 $GPGGA,130727,5012.793200,N,00806.879600,W,2,,,,,,,*66 $GPVTG,2.6,T,,,0.50,N,,,D*11 $GPRMC,130727.00,A,5012.793200,N,00806.879600,W,0.5,2.6,010611,,A*61 $GPDTM,W84,C*52 $HEHDT,4.2,T*29 $HEROT,0.0,A*2B $PFEC,AIcmd,0,35,A,01062011,130728*0F !AIVDO,1,1,,B,13`kvwO005wJnb4Lfo@P6P8p05`L,0*02 $GPZDA,130728,01,06,2011,01,00*43 $GPGLL,5012.793800,N,00806.879600,W,130728,A,D*52 $GPGGA,130728,5012.793800,N,00806.879600,W,2,,,,,,,*63 $GPVTG,2.6,T,,,0.50,N,,,D*11 $GPRMC,130728.00,A,5012.793800,N,00806.879600,W,0.5,2.6,010611,,A*64 $GPDTM,W84,C*52 $HEHDT,4.2,T*29 $HEROT,0.0,A*2B !AIVDM,1,1,,B,13aGhtwwj1d1Fr05`L,0*09 $PFEC,AIcmd,0,35,A,01062011,130729*0E !AIVDO,1,1,,B,13`kvwO005wJnb4LfoA06P8r05`L,0*61 $GPZDA,130729,01,06,2011,01,00*42 $GPGLL,5012.793800,N,00806.879600,W,130729,A,D*53 $GPGGA,130729,5012.793800,N,00806.879600,W,2,,,,,,,*62 $GPVTG,2.6,T,,,0.50,N,,,D*11 $GPRMC,130729.00,A,5012.793800,N,00806.879600,W,0.5,2.6,010611,,A*65 $GPDTM,W84,C*52 $HEHDT,4.3,T*28 $HEROT,0.0,A*2B $PFEC,AIcmd,0,35,A,01062011,130730*06 !AIVDO,1,1,,B,13`kvwO005wJnb4LfoA@6@8t05`L,0*07 $GPZDA,130730,01,06,2011,01,00*4A $GPGLL,5012.793800,N,00806.879600,W,130730,A,D*5B $GPGGA,130730,5012.793800,N,00806.879600,W,2,,,,,,,*6A $GPVTG,2.5,T,,,0.50,N,,,D*12 $GPRMC,130730.00,A,5012.793800,N,00806.879600,W,0.5,2.5,010611,,A*6E $GPDTM,W84,C*52 $HEHDT,4.3,T*28 $HEROT,0.0,A*2B $PFEC,AIcmd,0,35,A,01062011,130731*07 !AIVDO,1,1,,B,13`kvwO005wJnb4LfoAh6P8v05`L,0*3D $GPZDA,130731,01,06,2011,01,00*4B $GPGLL,5012.793800,N,00806.879600,W,130731,A,D*5A $GPGGA,130731,5012.793800,N,00806.879600,W,2,,,,,,,*6B $GPVTG,2.6,T,,,0.50,N,,,D*11 $GPRMC,130731.00,A,5012.793800,N,00806.879600,W,0.5,2.6,010611,,A*6C $GPDTM,W84,C*52 $HEHDT,4.3,T*28 $HEROT,0.0,A*2B $PFEC,AIcmd,0,35,A,01062011,130732*04 !AIVDO,1,1,,B,13`kvwO005wJnb4LfoB06P9005`L,0*21 $GPZDA,130732,01,06,2011,01,00*48 $GPGLL,5012.793800,N,00806.879600,W,130732,A,D*59 $GPGGA,130732,5012.793800,N,00806.879600,W,2,,,,,,,*68 $GPVTG,2.6,T,,,0.50,N,,,D*11 $GPRMC,130732.00,A,5012.793800,N,00806.879600,W,0.5,2.6,010611,,A*6F $GPDTM,W84,C*52 $HEHDT,4.3,T*28 $HEROT,0.0,A*2B $PFEC,AIcmd,0,35,A,01062011,130733*05 !AIVDO,1,1,,B,13`kvwO005wJnb4LfoB@6P9205`L,0*53 $GPZDA,130733,01,06,2011,01,00*49 $GPGLL,5012.794400,N,00806.879600,W,130733,A,D*53 $GPGGA,130733,5012.794400,N,00806.879600,W,2,,,,,,,*62 $GPVTG,2.6,T,,,0.50,N,,,D*11 $GPRMC,130733.00,A,5012.794400,N,00806.879600,W,0.5,2.6,010611,,A*65 $GPDTM,W84,C*52 $HEHDT,4.3,T*28 $HEROT,0.0,A*2B $PFEC,AIcmd,0,35,A,01062011,130734*02 !AIVDO,1,1,,B,13`kvwO005wJnb4LfoBh6P9405`L,0*7D $GPZDA,130734,01,06,2011,01,00*4E $GPGLL,5012.794400,N,00806.879600,W,130734,A,D*54 $GPGGA,130734,5012.794400,N,00806.879600,W,2,,,,,,,*65 $GPVTG,2.6,T,,,0.50,N,,,D*11 $GPRMC,130734.00,A,5012.794400,N,00806.879600,W,0.5,2.6,010611,,A*62 $GPDTM,W84,C*52 $HEHDT,4.3,T*28 $HEROT,0.0,A*2B !AIVDM,1,1,,B,13aGhtwwj05`L,0*4A $GPZDA,130739,01,06,2011,01,00*43 $GPGLL,5012.795000,N,00806.879600,W,130739,A,D*5C $GPGGA,130739,5012.795000,N,00806.879600,W,2,,,,,,,*6D $GPVTG,3.0,T,,,0.50,N,,,D*16 $GPRMC,130739.00,A,5012.795000,N,00806.879600,W,0.5,3.0,010611,,A*6D $GPDTM,W84,C*52 $HEHDT,4.4,T*2F $HEROT,0.0,A*2B $PFEC,AIcmd,0,35,A,01062011,130740*01 !AIVDO,1,1,,B,13`kvwO005wJnb6LfoDh6h9@05`L,0*35 $GPZDA,130740,01,06,2011,01,00*4D $GPGLL,5012.795000,N,00806.879600,W,130740,A,D*52 $GPGGA,130740,5012.795000,N,00806.879600,W,2,,,,,,,*63 $GPVTG,2.7,T,,,0.50,N,,,D*10 $GPRMC,130740.00,A,5012.795000,N,00806.879600,W,0.5,2.7,010611,,A*65 $GPDTM,W84,C*52 $HEHDT,4.4,T*2F $HEROT,0.0,A*2B !AIVDM,1,1,,B,13aGhtwwR05P8b05`L,0*0B {"class":"AIS","type":1,"repeat":0,"mmsi":244121341,"scaled":false,"status":15,"turn":0,"speed":5,"accuracy":true,"lon":-4868799,"lat":30127928,"course":22,"heading":4,"second":21,"maneuver":0,"raim":false,"radio":46136} $GPZDA,130721,01,06,2011,01,00*4A $GPGLL,5012.792600,N,00806.879600,W,130721,A,D*54 $GPGGA,130721,5012.792600,N,00806.879600,W,2,,,,,,,*65 $GPVTG,2.2,T,,,0.50,N,,,D*15 $GPRMC,130721.00,A,5012.792600,N,00806.879600,W,0.5,2.2,010611,,A*66 {"class":"TPV","tag":"RMC","mode":2,"time":"2011-06-01T13:07:21.000Z","ept":0.005,"lat":50.213210000,"lon":-8.114660000,"track":2.2000,"speed":0.257} $GPDTM,W84,C*52 $PFEC,AIcmd,0,35,A,01062011,130722*05 !AIVDO,1,1,,B,13`kvwO005wJnb2Lfo>@6@8d05`L,0*6E {"class":"AIS","type":1,"repeat":0,"mmsi":244121341,"scaled":false,"status":15,"turn":0,"speed":5,"accuracy":true,"lon":-4868799,"lat":30127929,"course":25,"heading":4,"second":22,"maneuver":0,"raim":false,"radio":46136} $GPZDA,130722,01,06,2011,01,00*49 $GPGLL,5012.792600,N,00806.879600,W,130722,A,D*57 $GPGGA,130722,5012.792600,N,00806.879600,W,2,,,,,,,*66 $GPVTG,2.5,T,,,0.50,N,,,D*12 $GPRMC,130722.00,A,5012.792600,N,00806.879600,W,0.5,2.5,010611,,A*62 {"class":"TPV","tag":"RMC","mode":2,"time":"2011-06-01T13:07:22.000Z","ept":0.005,"lat":50.213210000,"lon":-8.114660000,"track":2.5000,"speed":0.257} $GPDTM,W84,C*52 !AIVDM,1,1,,B,13aGhtw02h7P8f05`L,0*55 {"class":"AIS","type":1,"repeat":0,"mmsi":244121341,"scaled":false,"status":15,"turn":0,"speed":5,"accuracy":true,"lon":-4868799,"lat":30127931,"course":30,"heading":4,"second":23,"maneuver":0,"raim":false,"radio":46136} $GPZDA,130723,01,06,2011,01,00*48 $GPGLL,5012.792600,N,00806.879600,W,130723,A,D*56 $GPGGA,130723,5012.792600,N,00806.879600,W,2,,,,,,,*67 $GPVTG,3.0,T,,,0.50,N,,,D*16 $GPRMC,130723.00,A,5012.792600,N,00806.879600,W,0.5,3.0,010611,,A*67 {"class":"TPV","tag":"RMC","mode":2,"time":"2011-06-01T13:07:23.000Z","ept":0.005,"lat":50.213210000,"lon":-8.114660000,"track":3.0000,"speed":0.257} $GPDTM,W84,C*52 $PFEC,AIcmd,0,35,A,01062011,130724*03 !AIVDO,1,1,,B,13`kvwO005wJnb2Lfo?06P8h05`L,0*03 {"class":"AIS","type":1,"repeat":0,"mmsi":244121341,"scaled":false,"status":15,"turn":0,"speed":5,"accuracy":true,"lon":-4868799,"lat":30127932,"course":26,"heading":4,"second":24,"maneuver":0,"raim":false,"radio":46136} $GPZDA,130724,01,06,2011,01,00*4F $GPGLL,5012.793200,N,00806.879600,W,130724,A,D*54 $GPGGA,130724,5012.793200,N,00806.879600,W,2,,,,,,,*65 $GPVTG,2.6,T,,,0.50,N,,,D*11 $GPRMC,130724.00,A,5012.793200,N,00806.879600,W,0.5,2.6,010611,,A*62 {"class":"TPV","tag":"RMC","mode":2,"time":"2011-06-01T13:07:24.000Z","ept":0.005,"lat":50.213220000,"lon":-8.114660000,"track":2.6000,"speed":0.257} $GPDTM,W84,C*52 $PFEC,AIcmd,0,35,A,01062011,130725*02 !AIVDO,1,1,,B,13`kvwO005wJnb2Lfo?P708j05`L,0*00 {"class":"AIS","type":1,"repeat":0,"mmsi":244121341,"scaled":false,"status":15,"turn":0,"speed":5,"accuracy":true,"lon":-4868799,"lat":30127934,"course":28,"heading":4,"second":25,"maneuver":0,"raim":false,"radio":46136} $GPZDA,130725,01,06,2011,01,00*4E $GPGLL,5012.793200,N,00806.879600,W,130725,A,D*55 $GPGGA,130725,5012.793200,N,00806.879600,W,2,,,,,,,*64 $GPVTG,2.8,T,,,0.50,N,,,D*1F $GPRMC,130725.00,A,5012.793200,N,00806.879600,W,0.5,2.8,010611,,A*6D {"class":"TPV","tag":"RMC","mode":2,"time":"2011-06-01T13:07:25.000Z","ept":0.005,"lat":50.213220000,"lon":-8.114660000,"track":2.8000,"speed":0.257} $GPDTM,W84,C*52 $PFEC,AIcmd,0,35,A,01062011,130726*01 !AIVDO,1,1,,B,13`kvwO005wJnb4Lfo?h6@8l05`L,0*49 {"class":"AIS","type":1,"repeat":0,"mmsi":244121341,"scaled":false,"status":15,"turn":0,"speed":5,"accuracy":true,"lon":-4868798,"lat":30127935,"course":25,"heading":4,"second":26,"maneuver":0,"raim":false,"radio":46136} $GPZDA,130726,01,06,2011,01,00*4D $GPGLL,5012.793200,N,00806.879600,W,130726,A,D*56 $GPGGA,130726,5012.793200,N,00806.879600,W,2,,,,,,,*67 $GPVTG,2.5,T,,,0.50,N,,,D*12 $GPRMC,130726.00,A,5012.793200,N,00806.879600,W,0.5,2.5,010611,,A*63 {"class":"TPV","tag":"RMC","mode":2,"time":"2011-06-01T13:07:26.000Z","ept":0.005,"lat":50.213220000,"lon":-8.114660000,"track":2.5000,"speed":0.257} $GPDTM,W84,C*52 $PFEC,AIcmd,0,35,A,01062011,130727*00 !AIVDO,1,1,,B,13`kvwO005wJnb4Lfo@@6P8n05`L,0*0C {"class":"AIS","type":1,"repeat":0,"mmsi":244121341,"scaled":false,"status":15,"turn":0,"speed":5,"accuracy":true,"lon":-4868798,"lat":30127937,"course":26,"heading":4,"second":27,"maneuver":0,"raim":false,"radio":46136} $GPZDA,130727,01,06,2011,01,00*4C $GPGLL,5012.793200,N,00806.879600,W,130727,A,D*57 $GPGGA,130727,5012.793200,N,00806.879600,W,2,,,,,,,*66 $GPVTG,2.6,T,,,0.50,N,,,D*11 $GPRMC,130727.00,A,5012.793200,N,00806.879600,W,0.5,2.6,010611,,A*61 {"class":"TPV","tag":"RMC","mode":2,"time":"2011-06-01T13:07:27.000Z","ept":0.005,"lat":50.213220000,"lon":-8.114660000,"track":2.6000,"speed":0.257} $GPDTM,W84,C*52 $PFEC,AIcmd,0,35,A,01062011,130728*0F !AIVDO,1,1,,B,13`kvwO005wJnb4Lfo@P6P8p05`L,0*02 {"class":"AIS","type":1,"repeat":0,"mmsi":244121341,"scaled":false,"status":15,"turn":0,"speed":5,"accuracy":true,"lon":-4868798,"lat":30127938,"course":26,"heading":4,"second":28,"maneuver":0,"raim":false,"radio":46136} $GPZDA,130728,01,06,2011,01,00*43 $GPGLL,5012.793800,N,00806.879600,W,130728,A,D*52 $GPGGA,130728,5012.793800,N,00806.879600,W,2,,,,,,,*63 $GPVTG,2.6,T,,,0.50,N,,,D*11 $GPRMC,130728.00,A,5012.793800,N,00806.879600,W,0.5,2.6,010611,,A*64 {"class":"TPV","tag":"RMC","mode":2,"time":"2011-06-01T13:07:28.000Z","ept":0.005,"lat":50.213230000,"lon":-8.114660000,"track":2.6000,"speed":0.257} $GPDTM,W84,C*52 !AIVDM,1,1,,B,13aGhtwwj1d1Fr05`L,0*09 {"class":"AIS","type":1,"repeat":0,"mmsi":244707571,"scaled":false,"status":15,"turn":-1,"speed":140,"accuracy":false,"lon":-4885363,"lat":30139192,"course":432,"heading":43,"second":29,"maneuver":0,"raim":false,"radio":46136} $PFEC,AIcmd,0,35,A,01062011,130729*0E !AIVDO,1,1,,B,13`kvwO005wJnb4LfoA06P8r05`L,0*61 {"class":"AIS","type":1,"repeat":0,"mmsi":244121341,"scaled":false,"status":15,"turn":0,"speed":5,"accuracy":true,"lon":-4868798,"lat":30127940,"course":26,"heading":4,"second":29,"maneuver":0,"raim":false,"radio":46136} $GPZDA,130729,01,06,2011,01,00*42 $GPGLL,5012.793800,N,00806.879600,W,130729,A,D*53 $GPGGA,130729,5012.793800,N,00806.879600,W,2,,,,,,,*62 $GPVTG,2.6,T,,,0.50,N,,,D*11 $GPRMC,130729.00,A,5012.793800,N,00806.879600,W,0.5,2.6,010611,,A*65 {"class":"TPV","tag":"RMC","mode":2,"time":"2011-06-01T13:07:29.000Z","ept":0.005,"lat":50.213230000,"lon":-8.114660000,"track":2.6000,"speed":0.257} $GPDTM,W84,C*52 $PFEC,AIcmd,0,35,A,01062011,130730*06 !AIVDO,1,1,,B,13`kvwO005wJnb4LfoA@6@8t05`L,0*07 {"class":"AIS","type":1,"repeat":0,"mmsi":244121341,"scaled":false,"status":15,"turn":0,"speed":5,"accuracy":true,"lon":-4868798,"lat":30127941,"course":25,"heading":4,"second":30,"maneuver":0,"raim":false,"radio":46136} $GPZDA,130730,01,06,2011,01,00*4A $GPGLL,5012.793800,N,00806.879600,W,130730,A,D*5B $GPGGA,130730,5012.793800,N,00806.879600,W,2,,,,,,,*6A $GPVTG,2.5,T,,,0.50,N,,,D*12 $GPRMC,130730.00,A,5012.793800,N,00806.879600,W,0.5,2.5,010611,,A*6E {"class":"TPV","tag":"RMC","mode":2,"time":"2011-06-01T13:07:30.000Z","ept":0.005,"lat":50.213230000,"lon":-8.114660000,"track":2.5000,"speed":0.257} $GPDTM,W84,C*52 $PFEC,AIcmd,0,35,A,01062011,130731*07 !AIVDO,1,1,,B,13`kvwO005wJnb4LfoAh6P8v05`L,0*3D {"class":"AIS","type":1,"repeat":0,"mmsi":244121341,"scaled":false,"status":15,"turn":0,"speed":5,"accuracy":true,"lon":-4868798,"lat":30127943,"course":26,"heading":4,"second":31,"maneuver":0,"raim":false,"radio":46136} $GPZDA,130731,01,06,2011,01,00*4B $GPGLL,5012.793800,N,00806.879600,W,130731,A,D*5A $GPGGA,130731,5012.793800,N,00806.879600,W,2,,,,,,,*6B $GPVTG,2.6,T,,,0.50,N,,,D*11 $GPRMC,130731.00,A,5012.793800,N,00806.879600,W,0.5,2.6,010611,,A*6C {"class":"TPV","tag":"RMC","mode":2,"time":"2011-06-01T13:07:31.000Z","ept":0.005,"lat":50.213230000,"lon":-8.114660000,"track":2.6000,"speed":0.257} $GPDTM,W84,C*52 $PFEC,AIcmd,0,35,A,01062011,130732*04 !AIVDO,1,1,,B,13`kvwO005wJnb4LfoB06P9005`L,0*21 {"class":"AIS","type":1,"repeat":0,"mmsi":244121341,"scaled":false,"status":15,"turn":0,"speed":5,"accuracy":true,"lon":-4868798,"lat":30127944,"course":26,"heading":4,"second":32,"maneuver":0,"raim":false,"radio":46136} $GPZDA,130732,01,06,2011,01,00*48 $GPGLL,5012.793800,N,00806.879600,W,130732,A,D*59 $GPGGA,130732,5012.793800,N,00806.879600,W,2,,,,,,,*68 $GPVTG,2.6,T,,,0.50,N,,,D*11 $GPRMC,130732.00,A,5012.793800,N,00806.879600,W,0.5,2.6,010611,,A*6F {"class":"TPV","tag":"RMC","mode":2,"time":"2011-06-01T13:07:32.000Z","ept":0.005,"lat":50.213230000,"lon":-8.114660000,"track":2.6000,"speed":0.257} $GPDTM,W84,C*52 $PFEC,AIcmd,0,35,A,01062011,130733*05 !AIVDO,1,1,,B,13`kvwO005wJnb4LfoB@6P9205`L,0*53 {"class":"AIS","type":1,"repeat":0,"mmsi":244121341,"scaled":false,"status":15,"turn":0,"speed":5,"accuracy":true,"lon":-4868798,"lat":30127945,"course":26,"heading":4,"second":33,"maneuver":0,"raim":false,"radio":46136} $GPZDA,130733,01,06,2011,01,00*49 $GPGLL,5012.794400,N,00806.879600,W,130733,A,D*53 $GPGGA,130733,5012.794400,N,00806.879600,W,2,,,,,,,*62 $GPVTG,2.6,T,,,0.50,N,,,D*11 $GPRMC,130733.00,A,5012.794400,N,00806.879600,W,0.5,2.6,010611,,A*65 {"class":"TPV","tag":"RMC","mode":2,"time":"2011-06-01T13:07:33.000Z","ept":0.005,"lat":50.213240000,"lon":-8.114660000,"track":2.6000,"speed":0.257} $GPDTM,W84,C*52 $PFEC,AIcmd,0,35,A,01062011,130734*02 !AIVDO,1,1,,B,13`kvwO005wJnb4LfoBh6P9405`L,0*7D {"class":"AIS","type":1,"repeat":0,"mmsi":244121341,"scaled":false,"status":15,"turn":0,"speed":5,"accuracy":true,"lon":-4868798,"lat":30127947,"course":26,"heading":4,"second":34,"maneuver":0,"raim":false,"radio":46136} $GPZDA,130734,01,06,2011,01,00*4E $GPGLL,5012.794400,N,00806.879600,W,130734,A,D*54 $GPGGA,130734,5012.794400,N,00806.879600,W,2,,,,,,,*65 $GPVTG,2.6,T,,,0.50,N,,,D*11 $GPRMC,130734.00,A,5012.794400,N,00806.879600,W,0.5,2.6,010611,,A*62 {"class":"TPV","tag":"RMC","mode":2,"time":"2011-06-01T13:07:34.000Z","ept":0.005,"lat":50.213240000,"lon":-8.114660000,"track":2.6000,"speed":0.257} $GPDTM,W84,C*52 !AIVDM,1,1,,B,13aGhtwwj05`L,0*4A {"class":"AIS","type":1,"repeat":0,"mmsi":244121341,"scaled":false,"status":15,"turn":0,"speed":5,"accuracy":true,"lon":-4868797,"lat":30127954,"course":30,"heading":4,"second":39,"maneuver":0,"raim":false,"radio":46136} $GPZDA,130739,01,06,2011,01,00*43 $GPGLL,5012.795000,N,00806.879600,W,130739,A,D*5C $GPGGA,130739,5012.795000,N,00806.879600,W,2,,,,,,,*6D $GPVTG,3.0,T,,,0.50,N,,,D*16 $GPRMC,130739.00,A,5012.795000,N,00806.879600,W,0.5,3.0,010611,,A*6D {"class":"TPV","tag":"RMC","mode":2,"time":"2011-06-01T13:07:39.000Z","ept":0.005,"lat":50.213250000,"lon":-8.114660000,"track":3.0000,"speed":0.257} $GPDTM,W84,C*52 $PFEC,AIcmd,0,35,A,01062011,130740*01 !AIVDO,1,1,,B,13`kvwO005wJnb6LfoDh6h9@05`L,0*35 {"class":"AIS","type":1,"repeat":0,"mmsi":244121341,"scaled":false,"status":15,"turn":0,"speed":5,"accuracy":true,"lon":-4868797,"lat":30127955,"course":27,"heading":4,"second":40,"maneuver":0,"raim":false,"radio":46136} $GPZDA,130740,01,06,2011,01,00*4D $GPGLL,5012.795000,N,00806.879600,W,130740,A,D*52 $GPGGA,130740,5012.795000,N,00806.879600,W,2,,,,,,,*63 $GPVTG,2.7,T,,,0.50,N,,,D*10 $GPRMC,130740.00,A,5012.795000,N,00806.879600,W,0.5,2.7,010611,,A*65 {"class":"TPV","tag":"RMC","mode":2,"time":"2011-06-01T13:07:40.000Z","ept":0.005,"lat":50.213250000,"lon":-8.114660000,"track":2.7000,"speed":0.257} $GPDTM,W84,C*52 !AIVDM,1,1,,B,13aGhtwwR # Location = Sydney, NSW, AU, -33.68 151.29 type = device $GPTXT,TELIT SW Version: SL869 v3.1.2.1 -STD -N96 $GPRMC,101736.410,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,101736.410,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101737.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,101737.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101738.010,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*73 $GPGGA,101738.010,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101739.010,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*72 $GPGGA,101739.010,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101740.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,101740.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101741.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,101741.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101742.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,101742.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101743.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,101743.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101744.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,101744.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101745.010,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,101745.010,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101746.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,101746.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*41 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101747.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,101747.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*40 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101748.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101748.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101749.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101749.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101750.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,101750.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101751.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,101751.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101752.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,101752.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101753.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,101753.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101754.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78 $GPGGA,101754.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*42 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101755.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,101755.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101756.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,101756.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*40 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101757.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,101757.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*41 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101758.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101758.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101759.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101759.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101800.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,101800.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101801.060,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,101801.060,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4B $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101802.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101802.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101803.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101803.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101804.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*72 $GPGGA,101804.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101805.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*73 $GPGGA,101805.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101806.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,101806.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4A $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101807.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,101807.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4B $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101808.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,101808.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101809.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,101809.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101810.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,101810.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,40,320,*75 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101811.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,101811.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,40,320,*75 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101812.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101812.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101813.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101813.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101814.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*73 $GPGGA,101814.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101815.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*72 $GPGGA,101815.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101816.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,101816.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4B $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101817.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,101817.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4A $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101847.680,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,101847.680,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*40 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101848.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,101848.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*41 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101849.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,101849.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*40 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101850.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*73 $GPGGA,101850.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101851.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*72 $GPGGA,101851.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101852.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,101852.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4A $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,42,155,,71,11,141,*67 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101853.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,101853.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4B $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,42,155,,71,11,141,*67 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101854.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,101854.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,11,268,,,,,,,,,*7A $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101855.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,101855.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,11,268,,,,,,,,,*7A $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101856.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101856.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,11,268,,,,,,,,,*7A $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101857.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101857.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,11,268,,,,,,,,,*7A $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101858.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,101858.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*40 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,11,268,,,,,,,,,*7A $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101859.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,101859.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*41 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,11,268,,,,,,,,,*7A $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101900.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,101900.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,11,268,,,,,,,,,*7A $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101901.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,101901.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,34,12,59,213,,17,08,106,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,11,268,,,,,,,,,*7A $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101902.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101902.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,34,12,59,213,,17,08,106,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101903.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101903.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,34,12,59,213,,17,08,106,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101904.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*73 $GPGGA,101904.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101905.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*72 $GPGGA,101905.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101906.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,101906.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4A $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101907.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,101907.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4B $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101908.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,101908.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101909.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,101909.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101910.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,101910.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101911.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,101911.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101912.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101912.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,41,133,,05,19,022,,09,38,325,*72 $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101913.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101913.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,41,133,,05,19,022,,09,38,325,*72 $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101914.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*72 $GPGGA,101914.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,41,133,,05,19,022,,09,38,325,*72 $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,08,279,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101915.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*73 $GPGGA,101915.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,41,133,,05,19,022,,09,38,325,*72 $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,08,279,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101916.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,101916.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4B $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,38,325,*73 $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,08,279,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101917.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,101917.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4A $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,38,325,*73 $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,08,279,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101918.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,101918.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,38,325,*73 $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,08,279,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101919.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,101919.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,38,325,*73 $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,08,279,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101920.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101920.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,38,325,*73 $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,08,279,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101921.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101921.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,38,325,*73 $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,08,279,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101922.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,101922.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,38,325,*73 $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,08,279,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101923.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,101923.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,38,325,*73 $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,08,279,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101924.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,101924.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4A $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,38,325,*73 $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101925.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,101925.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4B $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,38,325,*73 $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101926.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*73 $GPGGA,101926.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101927.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*72 $GPGGA,101927.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101928.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,101928.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101929.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,101929.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101930.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101930.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101931.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101931.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101932.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,101932.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,08,106,,24,39,320,*71 $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101933.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,101933.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,08,106,,24,39,320,*70 $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101934.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,101934.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4B $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,08,106,,24,39,320,*70 $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101935.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,101935.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4A $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,08,106,,24,39,320,*70 $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101936.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*72 $GPGGA,101936.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,08,106,,24,39,320,*70 $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101937.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*73 $GPGGA,101937.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,08,106,,24,39,320,*70 $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101938.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,101938.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,08,106,,24,39,320,*71 $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101939.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,101939.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,08,106,,24,39,320,*71 $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101940.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*73 $GPGGA,101940.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,08,106,,24,39,320,*71 $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,47,235,,87,41,154,,71,11,141,*67 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101941.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*72 $GPGGA,101941.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,08,106,,24,39,320,*71 $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,47,235,,87,41,154,,71,11,141,*67 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101942.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,101942.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4A $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,47,235,,87,41,154,,71,11,141,*67 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101943.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,101943.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4B $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,47,235,,87,41,154,,71,11,141,*67 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101944.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,101944.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,47,235,,87,41,154,,71,11,141,*67 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101945.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,101945.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,47,235,,87,41,154,,71,11,141,*67 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101946.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101946.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,47,235,,87,41,154,,71,11,141,*67 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101947.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101947.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,47,235,,87,41,154,,71,11,141,*67 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101948.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,101948.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*40 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,141,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101949.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,101949.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*41 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,141,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101950.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*72 $GPGGA,101950.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,141,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101951.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*73 $GPGGA,101951.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,141,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101952.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,101952.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4B $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,141,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101953.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,101953.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4A $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,141,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101954.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,101954.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101955.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,101955.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,07,105,,24,39,320,*7C $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101956.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101956.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,07,105,,24,39,321,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101957.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101957.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,07,105,,24,39,321,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101958.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,101958.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*41 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,07,105,,24,39,321,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,101959.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,101959.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*40 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,07,105,,24,39,321,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102000.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,102000.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,07,105,,24,39,321,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102001.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,102001.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102002.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,102002.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102003.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,102003.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102004.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,102004.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*42 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102005.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78 $GPGGA,102005.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102006.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,102006.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*40 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,30,12,60,213,,17,07,105,,24,39,321,*7F $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102007.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102007.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*41 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,30,12,60,213,,17,07,105,,24,39,321,*7F $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102008.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,102008.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,30,12,60,213,,17,07,105,,24,39,321,*7F $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102009.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,102009.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102010.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,102010.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102011.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,102011.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102012.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,102012.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102013.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,102013.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102014.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78 $GPGGA,102014.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102015.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,102015.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*42 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102016.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102016.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*41 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102017.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,102017.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*40 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102018.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,102018.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102019.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,102019.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102020.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,102020.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,30,12,60,213,,17,07,105,,24,39,321,*7F $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102021.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,102021.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,30,12,60,213,,17,07,105,,24,39,321,*7F $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102022.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,102022.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,37,326,*75 $GPGSV,3,2,10,10,31,082,30,12,60,213,,17,07,105,,24,39,321,*7F $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102023.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,102023.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,37,326,*75 $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102024.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,102024.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*40 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,37,326,*75 $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102025.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102025.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*41 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,37,326,*75 $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102026.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,102026.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*42 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,37,326,*75 $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,51,238,*66 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102027.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78 $GPGGA,102027.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,37,326,*75 $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,51,238,*66 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102028.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,102028.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,37,326,*75 $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,51,238,*66 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102029.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,102029.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,37,326,*75 $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,51,238,*66 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102030.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,102030.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,23,78,51,238,*67 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102031.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,102031.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,51,238,*66 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102032.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,102032.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,31,12,60,213,,17,07,105,,24,39,321,*7F $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,23,78,51,238,*67 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102033.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,102033.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,30,12,60,213,,17,07,105,26,24,39,321,*7A $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,23,78,51,238,*67 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102034.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102034.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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,30,12,60,213,,17,07,105,27,24,39,321,*7B $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,23,78,51,238,*67 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102035.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,102035.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,30,12,60,213,,17,07,105,27,24,39,321,*7B $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,23,78,51,238,*67 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102036.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78 $GPGGA,102036.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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,30,12,61,213,,17,07,105,27,24,39,321,*7A $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,23,78,51,238,*67 $GLGSV,2,2,08,77,51,332,,88,48,234,,87,41,154,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102037.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,102037.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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,30,12,61,213,,17,07,105,27,24,39,321,*7A $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,23,78,51,238,*67 $GLGSV,2,2,08,77,51,332,,88,48,234,,87,41,154,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102038.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,102038.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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,30,12,61,213,,17,07,105,27,24,39,321,*7A $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,22,78,51,238,*66 $GLGSV,2,2,08,77,51,332,,88,48,234,,87,41,154,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102039.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,102039.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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,29,12,61,213,,17,07,105,27,24,39,321,*72 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,22,78,51,238,*66 $GLGSV,2,2,08,77,51,332,,88,48,234,,87,41,154,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102040.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,102040.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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,29,12,61,213,,17,07,105,27,24,39,321,*72 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,22,78,51,238,*66 $GLGSV,2,2,08,77,51,332,,88,48,234,,87,41,154,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102041.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78 $GPGGA,102041.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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,29,12,61,213,,17,07,105,27,24,39,321,*72 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,22,78,51,238,*66 $GLGSV,2,2,08,77,51,332,,88,48,234,,87,41,154,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102042.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,102042.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,30,12,61,213,,17,07,105,27,24,39,321,*7A $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,22,78,51,238,*66 $GLGSV,2,2,08,77,51,332,,88,48,234,,87,41,154,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102043.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102043.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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,30,12,61,213,,17,07,105,26,24,39,321,*7B $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,22,78,51,238,*66 $GLGSV,2,2,08,77,51,332,,88,48,234,,87,41,154,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102044.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,102044.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,30,12,61,213,,17,07,105,26,24,39,321,*7B $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,22,78,51,238,*66 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,154,,71,11,142,*6E $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102045.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,102045.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,30,12,61,213,,17,07,105,26,24,39,321,*7B $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,21,78,51,238,*65 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,154,,71,11,142,*6E $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102046.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,102046.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,31,12,61,213,,17,07,105,26,24,39,321,*7A $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,21,78,51,238,*65 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102047.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,102047.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,31,12,61,213,,17,07,105,26,24,39,321,*7A $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,21,78,51,238,*65 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102048.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,102048.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,32,12,61,213,,17,07,105,26,24,39,321,*79 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,21,78,51,238,*65 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102049.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,102049.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,32,12,61,213,,17,07,105,26,24,39,321,*79 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,21,78,51,238,*65 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102050.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78 $GPGGA,102050.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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,32,12,61,213,,17,07,105,26,24,39,321,*79 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,21,78,51,238,*65 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102051.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,102051.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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,32,12,61,213,,17,07,105,26,24,39,321,*79 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,20,78,51,238,*64 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102052.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102052.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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,32,12,61,213,,17,07,105,26,24,39,321,*79 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,20,78,51,238,*64 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102053.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,102053.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,33,12,61,213,,17,07,105,27,24,39,321,*79 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,19,78,51,238,*6E $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102054.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,102054.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,33,12,61,213,,17,07,105,27,24,39,321,*79 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,19,78,51,238,*6E $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102055.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,102055.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,33,12,61,213,,17,07,105,27,24,39,321,*79 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,18,78,51,238,*6F $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102056.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,102056.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,27,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,18,78,51,238,*6F $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102057.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,102057.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,27,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,18,78,51,238,*6F $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102058.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,102058.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,28,24,39,321,*71 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,18,78,51,238,*6F $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102059.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,102059.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,28,24,39,321,*71 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,51,238,*66 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102100.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,102100.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,28,24,38,321,*70 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102101.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,102101.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,28,24,38,321,*70 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102102.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,102102.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,28,24,38,321,*70 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102103.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,102103.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,28,24,38,321,*70 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102104.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78 $GPGGA,102104.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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,28,24,38,321,*70 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102105.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,102105.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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,28,24,38,321,*70 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102106.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102106.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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,27,24,38,321,*7F $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,039,,81,09,278,,78,51,238,*67 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102107.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,102107.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,26,24,38,321,*7E $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,039,,81,09,278,17,78,51,238,*61 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102108.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,102108.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,33,12,61,213,,17,07,105,26,24,38,321,*79 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,039,,81,09,278,17,78,51,238,*61 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102109.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,102109.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,33,12,61,213,,17,07,105,26,24,38,321,*79 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,039,,81,09,278,17,78,51,238,*61 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102110.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,102110.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,33,12,61,213,,17,07,105,26,24,38,321,*79 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,278,17,78,51,238,*6F $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102111.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,102111.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,33,12,61,213,,17,07,105,26,24,38,321,*79 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,278,17,78,51,238,*6F $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102112.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,102112.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,33,12,61,213,,17,07,105,26,24,38,321,*79 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,278,17,78,51,238,*6F $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102113.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,102113.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,33,12,61,213,,17,07,105,26,24,38,321,*79 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,278,17,78,51,238,*6F $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102114.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,102114.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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,33,12,61,213,,17,07,105,26,24,38,321,*79 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,278,16,78,51,238,*6E $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102115.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78 $GPGGA,102115.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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,32,12,61,213,,17,07,105,26,24,38,321,*78 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,278,17,78,51,238,*6F $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102116.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,102116.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,32,12,61,213,,17,07,105,26,24,38,321,*78 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102117.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102117.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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,32,12,61,213,,17,07,105,27,24,38,321,*79 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102118.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,102118.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,32,12,61,213,,17,07,105,27,24,38,321,*79 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102119.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,102119.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,31,12,61,213,,17,07,105,26,24,38,321,*7B $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102120.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,102120.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,022,,09,36,326,*75 $GPGSV,3,2,10,10,31,083,31,12,61,213,,17,07,105,26,24,38,321,*7B $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102121.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,102121.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,022,,09,36,326,*75 $GPGSV,3,2,10,10,31,083,31,12,61,213,,17,07,105,26,24,38,321,*7B $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102122.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,102122.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,022,,09,36,326,*75 $GPGSV,3,2,10,10,31,083,31,12,61,213,,17,07,105,26,24,38,321,*7B $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,239,*61 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102123.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,102123.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,022,,09,36,326,*75 $GPGSV,3,2,10,10,31,083,31,12,61,213,,17,07,105,26,24,38,321,*7B $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,239,*61 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102124.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102124.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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,022,,09,36,326,*75 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,25,24,38,321,*7D $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,239,*61 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102125.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,102125.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,022,,09,36,326,*75 $GPGSV,3,2,10,10,31,083,37,12,61,213,,17,07,105,24,24,38,321,*7F $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,239,*61 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,333,,,,,,,,,,,,,*6B $GPRMC,102126.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78 $GPGGA,102126.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,37,12,61,213,,17,07,105,,24,38,321,*79 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,239,*61 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $GPRMC,102127.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,102127.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*42 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,,24,38,321,*76 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,16,78,51,239,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $GPRMC,102128.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,102128.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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,21,24,38,321,*75 $GPGSV,3,3,10,25,25,224,30,29,12,267,,,,,,,,,*74 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,16,78,51,239,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $GPRMC,102129.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,102129.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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,21,24,38,321,*75 $GPGSV,3,3,10,25,25,224,30,29,12,267,,,,,,,,,*74 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,16,78,51,239,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $GPRMC,102130.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,102130.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,326,*7E $GPGSV,3,2,10,10,31,083,39,12,61,213,,17,07,105,21,24,38,321,*74 $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,16,78,51,239,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $GPRMC,102131.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,102131.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,326,*7E $GPGSV,3,2,10,10,31,083,39,12,61,213,,17,07,105,21,24,38,321,*74 $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,16,78,51,239,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $GPRMC,102132.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,102132.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,326,*7E $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,20,24,38,321,*74 $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,,78,51,239,*67 $GLGSV,2,2,08,77,51,333,,88,48,233,,87,41,153,,71,11,142,*68 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $GPRMC,102133.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,102133.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,326,*7E $GPGSV,3,2,10,10,31,083,39,12,61,213,,17,07,105,20,24,38,321,*75 $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,16,78,51,239,*60 $GLGSV,2,2,08,77,51,333,,88,48,233,,87,41,153,,71,11,142,*68 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $GPRMC,102134.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,102134.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,327,*7F $GPGSV,3,2,10,10,31,083,39,12,61,213,,17,07,105,20,24,38,321,*75 $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,16,78,51,239,*60 $GLGSV,2,2,08,77,51,333,,88,48,233,,87,41,153,,71,11,142,*68 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $GPRMC,102135.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102135.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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,327,*7F $GPGSV,3,2,10,10,31,083,39,12,61,213,,17,07,105,20,24,38,321,*75 $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 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $GPRMC,102135.990,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102135.990,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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,327,*7F $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,20,24,38,321,*74 $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 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $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 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,327,*7F $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,20,24,38,321,*74 $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 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,327,*7F $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,20,24,38,321,*74 $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 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,327,*7F $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,20,24,38,321,*74 $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 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,327,*7F $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,20,24,38,321,*74 $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 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,327,*7F $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,20,24,38,321,*74 $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 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,43,04,40,133,,05,20,023,39,09,36,327,*78 $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,21,24,38,321,*75 $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 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $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 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E $GPGSV,3,1,10,02,86,086,42,04,40,133,,05,20,023,38,09,36,327,*78 $GPGSV,3,2,10,10,31,083,37,12,61,213,,17,07,105,20,24,38,321,*7B $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 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $GPRMC,102143.000,A,3340.7732,S,15117.4478,E,6.7,155.1,251112,0.0,W*6E $GPGGA,102143.000,3340.7732,S,15117.4478,E,1,03,4.1,063.76,M,22.4,M,,*7B $GNGSA,A,2,10,17,12,,,,,,,,,,4.2,4.1,1.0*2B $GNGSA,A,2,,,,,,,,,,,,,4.2,4.1,1.0*2F $GNGSA,A,2,,,,,,,,,,,,,4.2,4.1,1.0*2F $GPGSV,3,1,10,02,86,086,42,04,40,133,,05,20,023,38,09,36,327,*78 $GPGSV,3,2,10,10,31,083,37,12,61,213,39,17,07,105,21,24,38,321,*70 $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 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $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 $GNGSA,A,2,10,17,12,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,2,,,,,,,,,,,,,99.0,99.0,99.0*1D $GNGSA,A,2,,,,,,,,,,,,,99.0,99.0,99.0*1D $GPGSV,3,1,10,02,86,086,42,04,40,133,,05,20,023,38,09,36,327,*78 $GPGSV,3,2,10,10,31,083,37,12,61,213,40,17,07,105,20,24,38,321,*7F $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 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $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 $GNGSA,A,2,10,17,12,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,2,,,,,,,,,,,,,99.0,99.0,99.0*1D $GNGSA,A,2,,,,,,,,,,,,,99.0,99.0,99.0*1D $GPGSV,3,1,10,02,86,086,42,04,40,133,,05,20,023,38,09,36,327,*78 $GPGSV,3,2,10,10,31,083,37,12,61,213,40,17,07,105,20,24,38,321,*7F $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 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $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 $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.7,2.0,3.1*23 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GPGSV,3,1,10,02,86,086,41,04,40,133,38,05,20,023,38,09,36,327,37*74 $GPGSV,3,2,10,10,31,083,36,12,61,213,40,17,07,105,20,24,38,321,37*7A $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 $QZGSV,1,1,01,193,34,332,,,,,,,,,,,,,*6A $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 $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.7,2.0,3.1*23 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GPGSV,3,1,10,02,86,086,41,04,40,133,38,05,20,023,38,09,36,327,38*7B $GPGSV,3,2,10,10,31,083,36,12,61,213,40,17,07,105,20,24,38,321,37*7A $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 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $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 $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.7,2.0,3.1*23 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GPGSV,3,1,10,02,86,086,41,04,40,133,38,05,20,023,38,09,36,327,38*7B $GPGSV,3,2,10,10,31,083,35,12,61,213,40,17,07,105,19,24,38,321,37*73 $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 $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $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 $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.7,2.0,3.1*23 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GPGSV,3,1,10,02,86,086,41,04,40,133,38,05,20,023,37,09,36,327,37*7B $GPGSV,3,2,10,10,31,083,35,12,61,213,40,17,07,105,18,24,38,321,37*72 $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 $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $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 $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.7,2.0,3.1*23 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GPGSV,3,1,10,02,86,086,41,04,40,133,38,05,20,023,37,09,36,327,37*7B $GPGSV,3,2,10,10,31,083,34,12,61,213,40,17,07,105,17,24,38,321,37*7C $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 $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102150.000,A,3340.8133,S,15117.4713,E,0.1,0.0,251112,0.0,W*6A $GPGGA,102150.000,3340.8133,S,15117.4713,E,1,05,2.0,083.64,M,22.4,M,,*73 $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.7,2.0,3.1*23 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GPGSV,3,1,10,02,86,086,41,04,40,133,38,05,20,023,37,09,36,327,37*7B $GPGSV,3,2,10,10,31,083,34,12,61,213,41,17,07,105,17,24,38,321,37*7D $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 $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102151.000,A,3340.8130,S,15117.4713,E,0.7,74.5,251112,0.0,W*58 $GPGGA,102151.000,3340.8130,S,15117.4713,E,1,05,2.0,084.19,M,22.4,M,,*7C $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.7,2.0,3.1*23 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GPGSV,3,1,10,02,86,086,41,04,40,133,38,05,20,023,37,09,36,327,38*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,41,17,07,105,17,24,38,321,38*72 $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 $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102152.000,A,3340.8129,S,15117.4709,E,0.5,70.4,251112,0.0,W*5F $GPGGA,102152.000,3340.8129,S,15117.4709,E,1,05,2.0,084.53,M,22.4,M,,*72 $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.7,2.0,3.1*23 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GPGSV,3,1,10,02,86,086,42,04,40,133,38,05,20,023,38,09,36,327,38*78 $GPGSV,3,2,10,10,31,083,34,12,61,213,41,17,07,105,17,24,38,321,38*72 $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,16,78,51,239,*60 $GLGSV,2,2,08,77,51,333,,88,48,233,,87,41,152,,71,10,143,*69 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102153.000,A,3340.8129,S,15117.4706,E,0.2,0.0,251112,0.0,W*65 $GPGGA,102153.000,3340.8129,S,15117.4706,E,1,06,1.5,084.92,M,22.4,M,,*74 $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.3,1.5,2.9*28 $GNGSA,A,3,88,,,,,,,,,,,,3.3,1.5,2.9*23 $GNGSA,A,3,,,,,,,,,,,,,3.3,1.5,2.9*23 $GPGSV,3,1,10,02,86,086,42,04,40,133,38,05,20,023,38,09,36,327,38*78 $GPGSV,3,2,10,10,31,083,33,12,61,213,41,17,07,105,17,24,38,321,38*75 $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,16,78,51,239,*60 $GLGSV,2,2,08,77,51,333,,88,48,233,19,87,41,152,,71,10,143,*61 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102154.000,A,3340.8128,S,15117.4702,E,0.8,266.0,251112,0.0,W*6F $GPGGA,102154.000,3340.8128,S,15117.4702,E,1,06,1.5,085.39,M,22.4,M,,*76 $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.3,1.5,2.9*28 $GNGSA,A,3,88,,,,,,,,,,,,3.3,1.5,2.9*23 $GNGSA,A,3,,,,,,,,,,,,,3.3,1.5,2.9*23 $GPGSV,3,1,10,02,86,086,41,04,40,133,38,05,20,023,38,09,36,327,38*7B $GPGSV,3,2,10,10,31,083,33,12,61,213,41,17,07,105,17,24,38,321,38*75 $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,16,78,51,239,*60 $GLGSV,2,2,08,77,51,333,,88,48,233,19,87,41,152,,71,10,143,*61 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102155.000,A,3340.8130,S,15117.4697,E,0.2,264.4,251112,0.0,W*66 $GPGGA,102155.000,3340.8130,S,15117.4697,E,1,05,2.0,085.85,M,22.4,M,,*71 $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.7,2.0,3.1*23 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GPGSV,3,1,10,02,86,086,42,04,40,133,39,05,20,023,38,09,36,327,39*78 $GPGSV,3,2,10,10,31,083,32,12,61,213,42,17,07,105,17,24,38,321,38*77 $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,16,78,51,239,*60 $GLGSV,2,2,08,77,51,333,,88,48,233,,87,41,152,,71,10,143,*69 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102156.000,A,3340.8131,S,15117.4691,E,0.0,0.0,251112,0.0,W*64 $GPGGA,102156.000,3340.8131,S,15117.4691,E,1,06,1.5,086.40,M,22.4,M,,*7A $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.3,1.5,2.9*28 $GNGSA,A,3,88,,,,,,,,,,,,3.3,1.5,2.9*23 $GNGSA,A,3,,,,,,,,,,,,,3.3,1.5,2.9*23 $GPGSV,3,1,10,02,86,086,42,04,40,133,39,05,20,023,38,09,36,327,39*78 $GPGSV,3,2,10,10,31,083,32,12,61,213,42,17,07,105,18,24,38,321,38*78 $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,16,78,51,239,*60 $GLGSV,2,2,08,77,51,333,,88,48,233,19,87,41,152,,71,10,143,*61 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102157.000,A,3340.8133,S,15117.4684,E,0.1,0.0,251112,0.0,W*62 $GPGGA,102157.000,3340.8133,S,15117.4684,E,1,05,2.0,086.89,M,22.4,M,,*7D $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.7,2.0,3.1*23 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GPGSV,3,1,10,02,86,086,42,04,40,133,39,05,20,023,38,09,36,327,39*78 $GPGSV,3,2,10,10,31,083,32,12,61,213,42,17,07,105,18,24,38,321,38*78 $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,16,78,51,239,*60 $GLGSV,2,2,08,77,51,333,,88,48,233,,87,41,152,,71,10,143,*69 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102158.000,A,3340.8135,S,15117.4679,E,0.4,70.1,251112,0.0,W*5A $GPGGA,102158.000,3340.8135,S,15117.4679,E,1,06,1.5,087.36,M,22.4,M,,*76 $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.3,1.5,2.9*28 $GNGSA,A,3,88,,,,,,,,,,,,3.3,1.5,2.9*23 $GNGSA,A,3,,,,,,,,,,,,,3.3,1.5,2.9*23 $GPGSV,3,1,10,02,86,086,42,04,40,133,39,05,20,023,38,09,36,327,39*78 $GPGSV,3,2,10,10,31,083,31,12,61,213,42,17,07,105,18,24,38,321,38*7B $GPGSV,3,3,10,25,25,224,30,29,12,267,32,,,,,,,,*75 $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,19,87,41,152,,71,10,143,*61 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102159.000,A,3340.8137,S,15117.4676,E,0.1,0.0,251112,0.0,W*65 $GPGGA,102159.000,3340.8137,S,15117.4676,E,1,06,1.5,087.34,M,22.4,M,,*78 $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.3,1.5,2.9*28 $GNGSA,A,3,88,,,,,,,,,,,,3.3,1.5,2.9*23 $GNGSA,A,3,,,,,,,,,,,,,3.3,1.5,2.9*23 $GPGSV,3,1,10,02,86,086,42,04,40,133,39,05,20,023,38,09,36,327,39*78 $GPGSV,3,2,10,10,31,083,30,12,61,213,42,17,07,105,19,24,38,321,38*7B $GPGSV,3,3,10,25,25,224,30,29,12,267,32,,,,,,,,*75 $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,19,87,41,152,,71,10,143,*61 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102200.000,A,3340.8137,S,15117.4677,E,1.6,78.6,251112,0.0,W*54 $GPGGA,102200.000,3340.8137,S,15117.4677,E,1,06,1.5,087.50,M,22.4,M,,*74 $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.3,1.5,2.9*28 $GNGSA,A,3,88,,,,,,,,,,,,3.3,1.5,2.9*23 $GNGSA,A,3,,,,,,,,,,,,,3.3,1.5,2.9*23 $GPGSV,3,1,10,02,86,086,42,04,40,133,39,05,20,023,38,09,36,327,39*78 $GPGSV,3,2,10,10,31,083,30,12,61,213,42,17,07,105,19,24,38,321,38*7B $GPGSV,3,3,10,25,25,224,30,29,12,267,32,,,,,,,,*75 $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,18,87,41,152,,71,10,143,*60 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102201.000,A,3340.8136,S,15117.4684,E,2.8,78.1,251112,0.0,W*52 $GPGGA,102201.000,3340.8136,S,15117.4684,E,1,06,1.5,087.78,M,22.4,M,,*72 $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.3,1.5,2.9*28 $GNGSA,A,3,88,,,,,,,,,,,,3.3,1.5,2.9*23 $GNGSA,A,3,,,,,,,,,,,,,3.3,1.5,2.9*23 $GPGSV,3,1,10,02,86,086,42,04,40,133,39,05,20,023,38,09,36,327,39*78 $GPGSV,3,2,10,10,31,083,28,12,61,213,42,17,07,105,20,24,38,321,38*78 $GPGSV,3,3,10,25,25,224,30,29,12,267,32,,,,,,,,*75 $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,19,87,41,152,,71,10,143,*61 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102202.000,A,3340.8137,S,15117.4681,E,0.4,68.4,251112,0.0,W*5F $GPGGA,102202.000,3340.8137,S,15117.4681,E,1,06,1.5,087.80,M,22.4,M,,*72 $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.3,1.5,2.9*28 $GNGSA,A,3,88,,,,,,,,,,,,3.3,1.5,2.9*23 $GNGSA,A,3,,,,,,,,,,,,,3.3,1.5,2.9*23 $GPGSV,3,1,10,02,86,086,42,04,40,133,39,05,20,023,38,09,36,327,39*78 $GPGSV,3,2,10,10,31,083,28,12,61,213,42,17,07,105,20,24,38,321,38*78 $GPGSV,3,3,10,25,25,224,30,29,12,267,32,,,,,,,,*75 $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,18,87,41,152,,71,10,143,*60 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102203.000,A,3340.8186,S,15117.4626,E,0.0,0.0,251112,0.0,W*67 $GPGGA,102203.000,3340.8186,S,15117.4626,E,1,12,0.7,060.45,M,22.4,M,,*72 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,38,09,36,327,39*77 $GPGSV,3,2,10,10,31,083,27,12,61,213,42,17,07,105,21,24,38,322,38*75 $GPGSV,3,3,10,25,25,224,30,29,12,267,32,,,,,,,,*75 $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,19,87,41,152,,71,10,143,*61 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102204.000,A,3340.8218,S,15117.4591,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102204.000,3340.8218,S,15117.4591,E,1,11,0.8,043.89,M,22.4,M,,*73 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,38,09,36,327,39*77 $GPGSV,3,2,10,10,31,083,27,12,61,213,42,17,07,105,21,24,38,322,38*75 $GPGSV,3,3,10,25,25,224,30,29,12,267,32,,,,,,,,*75 $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,152,,71,10,143,*69 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102205.000,A,3340.8238,S,15117.4569,E,0.1,0.0,251112,0.0,W*6E $GPGGA,102205.000,3340.8238,S,15117.4569,E,1,12,0.7,034.25,M,22.4,M,,*7D $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,38,09,36,327,39*77 $GPGSV,3,2,10,10,31,083,26,12,61,213,42,17,07,105,22,24,38,322,38*77 $GPGSV,3,3,10,25,25,224,30,29,12,267,32,,,,,,,,*75 $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,19,87,41,152,,71,10,143,*61 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102206.000,A,3340.8250,S,15117.4555,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102206.000,3340.8250,S,15117.4555,E,1,12,0.7,028.66,M,22.4,M,,*75 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,38,09,36,327,39*77 $GPGSV,3,2,10,10,31,083,25,12,61,213,42,17,07,105,22,24,38,322,38*74 $GPGSV,3,3,10,25,25,224,30,29,12,267,32,,,,,,,,*75 $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,19,87,41,152,,71,10,143,*61 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102207.000,A,3340.8257,S,15117.4546,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102207.000,3340.8257,S,15117.4546,E,1,12,0.7,025.67,M,22.4,M,,*7D $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,37,09,36,327,39*78 $GPGSV,3,2,10,10,31,083,24,12,61,213,42,17,07,105,22,24,38,322,38*75 $GPGSV,3,3,10,25,25,224,30,29,12,267,32,,,,,,,,*75 $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,18,87,41,152,,71,10,143,*60 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102208.000,A,3340.8261,S,15117.4540,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102208.000,3340.8261,S,15117.4540,E,1,11,0.8,023.91,M,22.4,M,,*72 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,37,09,36,327,38*79 $GPGSV,3,2,10,10,31,083,23,12,61,213,42,17,07,105,23,24,38,322,38*73 $GPGSV,3,3,10,25,25,224,30,29,12,267,31,,,,,,,,*76 $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,152,,71,10,143,*69 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102209.000,A,3340.8264,S,15117.4536,E,0.1,0.0,251112,0.0,W*61 $GPGGA,102209.000,3340.8264,S,15117.4536,E,1,11,0.8,022.54,M,22.4,M,,*7F $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,37,09,36,327,38*79 $GPGSV,3,2,10,10,31,083,22,12,61,213,42,17,07,105,23,24,38,322,38*72 $GPGSV,3,3,10,25,25,224,30,29,12,267,31,,,,,,,,*76 $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,152,,71,10,143,*69 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102210.000,A,3340.8268,S,15117.4533,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102210.000,3340.8268,S,15117.4533,E,1,12,0.7,021.50,M,22.4,M,,*75 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,38,05,20,023,37,09,36,327,38*78 $GPGSV,3,2,10,10,31,083,20,12,61,213,41,17,07,105,23,24,38,322,38*73 $GPGSV,3,3,10,25,25,224,30,29,12,267,31,,,,,,,,*76 $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,18,87,41,152,,71,10,143,*60 $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102211.000,A,3340.8270,S,15117.4531,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102211.000,3340.8270,S,15117.4531,E,1,11,0.8,020.66,M,22.4,M,,*77 $GNGSA,A,3,05,17,25,29,02,12,04,24,09,,,,1.4,0.8,1.2*27 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,092,41,04,39,134,38,05,20,023,37,09,36,327,38*78 $GPGSV,3,2,10,10,31,083,,12,61,213,42,17,07,105,24,24,38,322,38*75 $GPGSV,3,3,10,25,25,224,30,29,12,267,31,,,,,,,,*76 $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,18,87,41,152,,71,10,143,*60 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102212.000,A,3340.8272,S,15117.4528,E,0.0,0.0,251112,0.0,W*62 $GPGGA,102212.000,3340.8272,S,15117.4528,E,1,12,0.7,020.52,M,22.4,M,,*75 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,38,05,20,023,37,09,36,327,38*78 $GPGSV,3,2,10,10,31,083,20,12,61,213,42,17,07,105,24,24,38,322,38*77 $GPGSV,3,3,10,25,25,224,30,29,12,267,30,,,,,,,,*77 $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,18,87,41,152,,71,10,143,*60 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102213.000,A,3340.8273,S,15117.4527,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102213.000,3340.8273,S,15117.4527,E,1,12,0.7,020.31,M,22.4,M,,*7F $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,38,05,20,023,37,09,36,327,38*78 $GPGSV,3,2,10,10,31,083,19,12,61,213,42,17,07,105,25,24,38,322,38*7C $GPGSV,3,3,10,25,25,224,30,29,12,267,30,,,,,,,,*77 $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,18,87,41,152,,71,10,143,*60 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102214.000,A,3340.8274,S,15117.4526,E,0.0,0.0,251112,0.0,W*6C $GPGGA,102214.000,3340.8274,S,15117.4526,E,1,12,0.7,020.32,M,22.4,M,,*7D $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,37,09,36,327,38*79 $GPGSV,3,2,10,10,31,083,19,12,61,213,42,17,07,105,25,24,38,322,38*7C $GPGSV,3,3,10,25,25,224,30,29,12,267,30,,,,,,,,*77 $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,19,87,41,152,,71,10,143,*61 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102215.000,A,3340.8274,S,15117.4524,E,0.1,0.0,251112,0.0,W*6E $GPGGA,102215.000,3340.8274,S,15117.4524,E,1,12,0.7,020.12,M,22.4,M,,*7C $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,37,09,36,327,38*79 $GPGSV,3,2,10,10,31,083,19,12,61,213,42,17,07,105,26,24,38,322,38*7F $GPGSV,3,3,10,25,25,224,30,29,12,267,30,,,,,,,,*77 $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,19,87,41,152,,71,10,143,*61 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102216.000,A,3340.8275,S,15117.4523,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102216.000,3340.8275,S,15117.4523,E,1,12,0.7,020.19,M,22.4,M,,*72 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,37,09,36,327,38*79 $GPGSV,3,2,10,10,31,083,19,12,61,213,42,17,07,105,27,24,38,322,38*7E $GPGSV,3,3,10,25,25,224,30,29,12,267,29,,,,,,,,*7F $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,19,87,41,152,,71,10,143,*61 $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102217.000,A,3340.8275,S,15117.4521,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102217.000,3340.8275,S,15117.4521,E,1,12,0.7,020.47,M,22.4,M,,*7A $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,37,09,36,327,38*79 $GPGSV,3,2,10,10,31,083,19,12,61,213,42,17,07,105,27,24,38,322,38*7E $GPGSV,3,3,10,25,25,224,30,29,12,267,29,,,,,,,,*7F $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,19,87,41,152,,71,10,143,*61 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102218.000,A,3340.8275,S,15117.4519,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102218.000,3340.8275,S,15117.4519,E,1,12,0.7,020.61,M,22.4,M,,*7A $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,37,09,36,327,38*79 $GPGSV,3,2,10,10,31,083,19,12,61,213,42,17,07,105,28,24,38,322,38*71 $GPGSV,3,3,10,25,25,224,30,29,12,267,29,,,,,,,,*7F $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,240,*6D $GLGSV,2,2,08,77,51,333,,88,48,233,18,87,41,152,,71,10,143,*60 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102219.000,A,3340.8276,S,15117.4517,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102219.000,3340.8276,S,15117.4517,E,1,12,0.7,020.64,M,22.4,M,,*73 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,37,09,36,327,38*79 $GPGSV,3,2,10,10,31,083,18,12,61,213,42,17,07,105,28,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,30,29,12,267,29,,,,,,,,*7F $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,240,*6D $GLGSV,2,2,08,77,51,333,,88,48,233,18,87,41,152,,71,10,143,*60 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102220.000,A,3340.8276,S,15117.4516,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102220.000,3340.8276,S,15117.4516,E,1,12,0.7,020.70,M,22.4,M,,*7D $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,38,05,20,023,37,09,36,327,38*78 $GPGSV,3,2,10,10,31,083,18,12,61,213,42,17,07,105,28,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,30,29,12,267,29,,,,,,,,*7F $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,14,78,51,240,*6C $GLGSV,2,2,08,77,51,333,,88,48,233,18,87,41,152,,71,10,143,*60 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102221.000,A,3340.8276,S,15117.4516,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102221.000,3340.8276,S,15117.4516,E,1,12,0.7,020.87,M,22.4,M,,*74 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,38,05,20,023,37,09,36,327,38*78 $GPGSV,3,2,10,10,31,083,18,12,61,213,42,17,07,105,28,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,30,29,12,267,28,,,,,,,,*7E $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,14,78,51,240,*6C $GLGSV,2,2,08,77,51,333,21,88,48,233,18,87,41,152,,71,10,143,*63 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102222.000,A,3340.8276,S,15117.4516,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102222.000,3340.8276,S,15117.4516,E,1,11,0.8,021.07,M,22.4,M,,*72 $GNGSA,A,3,05,17,25,29,02,12,04,24,09,,,,1.4,0.8,1.2*27 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,092,41,04,39,134,38,05,20,023,37,09,36,327,38*78 $GPGSV,3,2,10,10,31,083,,12,61,213,42,17,07,105,29,24,38,322,38*78 $GPGSV,3,3,10,25,25,224,30,29,12,267,28,,,,,,,,*7E $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,14,78,51,240,*6C $GLGSV,2,2,08,77,51,333,21,88,48,233,18,87,41,152,,71,10,143,*63 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102223.000,A,3340.8276,S,15117.4516,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102223.000,3340.8276,S,15117.4516,E,1,11,0.8,021.08,M,22.4,M,,*7C $GNGSA,A,3,05,17,25,29,02,12,04,24,09,,,,1.4,0.8,1.2*27 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,092,41,04,39,134,38,05,20,023,37,09,36,327,38*78 $GPGSV,3,2,10,10,31,083,,12,61,213,42,17,07,105,29,24,38,322,38*78 $GPGSV,3,3,10,25,25,224,30,29,12,267,28,,,,,,,,*7E $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,14,78,51,240,*6C $GLGSV,2,2,08,77,51,333,21,88,48,233,17,87,41,152,,71,10,143,*6C $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102224.000,A,3340.8276,S,15117.4516,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102224.000,3340.8276,S,15117.4516,E,1,12,0.7,021.22,M,22.4,M,,*7F $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,20,023,37,09,36,327,38*7E $GPGSV,3,2,10,10,31,083,19,12,61,213,42,17,07,105,29,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,29,29,12,267,27,,,,,,,,*79 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,14,78,51,240,*6C $GLGSV,2,2,08,77,51,333,21,88,48,233,17,87,41,152,,71,10,143,*6C $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102225.000,A,3340.8275,S,15117.4516,E,0.0,0.0,251112,0.0,W*6C $GPGGA,102225.000,3340.8275,S,15117.4516,E,1,12,0.7,021.35,M,22.4,M,,*7B $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,20,023,37,09,36,327,38*7E $GPGSV,3,2,10,10,31,083,19,12,61,213,42,17,07,105,29,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,29,29,12,267,27,,,,,,,,*79 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,14,78,51,240,*6C $GLGSV,2,2,08,77,51,333,21,88,48,233,17,87,41,152,,71,10,143,*6C $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102226.000,A,3340.8274,S,15117.4516,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102226.000,3340.8274,S,15117.4516,E,1,12,0.7,021.53,M,22.4,M,,*79 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,20,023,37,09,36,327,38*7E $GPGSV,3,2,10,10,31,083,19,12,61,213,42,17,07,105,30,24,38,322,38*78 $GPGSV,3,3,10,25,25,224,29,29,12,267,27,,,,,,,,*79 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,14,78,51,240,*6C $GLGSV,2,2,08,77,51,333,21,88,48,233,17,87,41,152,,71,10,143,*6C $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102227.000,A,3340.8273,S,15117.4515,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102227.000,3340.8273,S,15117.4515,E,1,12,0.7,021.77,M,22.4,M,,*7A $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,20,023,37,09,36,327,38*7E $GPGSV,3,2,10,10,31,083,20,12,61,213,42,17,07,105,30,24,38,322,38*72 $GPGSV,3,3,10,25,25,224,29,29,12,267,27,,,,,,,,*79 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,240,*6D $GLGSV,2,2,08,77,51,333,21,88,48,233,16,87,41,152,,71,10,143,*6D $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102228.000,A,3340.8273,S,15117.4515,E,0.0,0.0,251112,0.0,W*64 $GPGGA,102228.000,3340.8273,S,15117.4515,E,1,12,0.7,021.89,M,22.4,M,,*74 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,20,023,37,09,36,327,38*7E $GPGSV,3,2,10,10,31,083,21,12,61,213,42,17,07,105,30,24,38,322,38*73 $GPGSV,3,3,10,25,25,224,29,29,12,267,27,,,,,,,,*79 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,240,*6D $GLGSV,2,2,08,77,50,333,21,88,48,233,16,87,41,152,,71,10,143,*6C $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102229.000,A,3340.8272,S,15117.4514,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102229.000,3340.8272,S,15117.4514,E,1,12,0.7,021.96,M,22.4,M,,*7B $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,20,023,37,09,36,327,38*7E $GPGSV,3,2,10,10,31,083,23,12,61,213,42,17,07,105,30,24,38,322,39*70 $GPGSV,3,3,10,25,25,224,29,29,12,267,26,,,,,,,,*78 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,240,*6D $GLGSV,2,2,08,77,50,333,21,88,48,233,16,87,41,152,,71,10,143,*6C $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102230.000,A,3340.8271,S,15117.4514,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102230.000,3340.8271,S,15117.4514,E,1,12,0.7,021.86,M,22.4,M,,*71 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,20,023,37,09,36,327,38*7E $GPGSV,3,2,10,10,31,083,23,12,61,213,42,17,07,105,30,24,38,322,39*70 $GPGSV,3,3,10,25,25,224,29,29,12,267,27,,,,,,,,*79 $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,240,*6D $GLGSV,2,2,08,77,50,333,21,88,48,233,16,87,41,152,,71,10,143,*6C $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102231.000,A,3340.8270,S,15117.4513,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102231.000,3340.8270,S,15117.4513,E,1,12,0.7,021.85,M,22.4,M,,*75 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,38*7F $GPGSV,3,2,10,10,31,083,24,12,61,213,42,17,07,105,31,24,38,322,38*77 $GPGSV,3,3,10,25,25,224,28,29,12,267,27,,,,,,,,*78 $GLGSV,2,1,08,76,08,007,,65,10,040,21,81,09,277,15,78,51,240,*6E $GLGSV,2,2,08,77,50,333,22,88,48,233,16,87,41,152,,71,10,143,*6F $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102232.000,A,3340.8268,S,15117.4511,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102232.000,3340.8268,S,15117.4511,E,1,11,0.8,021.80,M,22.4,M,,*74 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,38*7F $GPGSV,3,2,10,10,31,083,24,12,61,213,42,17,07,105,31,24,38,322,39*76 $GPGSV,3,3,10,25,25,224,28,29,12,267,27,,,,,,,,*78 $GLGSV,2,1,08,76,08,007,,65,10,040,21,81,09,277,14,78,51,240,*6F $GLGSV,2,2,08,77,50,333,22,88,48,233,,87,41,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102233.000,A,3340.8267,S,15117.4511,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102233.000,3340.8267,S,15117.4511,E,1,12,0.7,021.85,M,22.4,M,,*73 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,38*7F $GPGSV,3,2,10,10,31,083,26,12,61,213,42,17,07,105,31,24,38,322,38*75 $GPGSV,3,3,10,25,25,224,28,29,12,267,27,,,,,,,,*78 $GLGSV,2,1,08,76,08,007,,65,10,040,21,81,09,277,14,78,51,240,*6F $GLGSV,2,2,08,77,50,333,22,88,48,233,15,87,41,152,,71,10,143,*6C $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102234.000,A,3340.8266,S,15117.4511,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102234.000,3340.8266,S,15117.4511,E,1,12,0.7,021.83,M,22.4,M,,*73 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,083,27,12,61,213,42,17,07,105,31,24,38,322,38*74 $GPGSV,3,3,10,25,25,224,28,29,12,267,27,,,,,,,,*78 $GLGSV,2,1,08,76,08,007,,65,10,040,21,81,09,277,,78,51,240,*6A $GLGSV,2,2,08,77,50,333,22,88,48,233,15,87,41,152,,71,10,143,*6C $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102235.000,A,3340.8264,S,15117.4510,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102235.000,3340.8264,S,15117.4510,E,1,12,0.7,021.77,M,22.4,M,,*7A $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,40,04,39,134,38,05,21,023,37,09,36,327,37*71 $GPGSV,3,2,10,10,31,083,28,12,61,213,42,17,07,105,31,24,38,322,38*7B $GPGSV,3,3,10,25,25,224,27,29,12,267,27,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,21,81,09,277,,78,51,240,*6A $GLGSV,2,2,08,77,50,333,22,88,48,233,15,87,41,152,,71,10,143,*6C $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102236.000,A,3340.8264,S,15117.4509,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102236.000,3340.8264,S,15117.4509,E,1,11,0.8,021.70,M,22.4,M,,*7A $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,37,05,21,023,37,09,36,327,37*7E $GPGSV,3,2,10,10,31,083,29,12,61,213,41,17,07,105,31,24,38,322,38*79 $GPGSV,3,3,10,25,25,224,27,29,12,267,27,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,21,81,09,277,,78,51,240,*6A $GLGSV,2,2,08,77,50,333,22,88,48,233,14,87,41,152,,71,10,143,*6D $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102237.000,A,3340.8263,S,15117.4509,E,0.1,0.0,251112,0.0,W*67 $GPGGA,102237.000,3340.8263,S,15117.4509,E,1,11,0.8,021.58,M,22.4,M,,*76 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,37,05,21,023,37,09,36,327,37*7E $GPGSV,3,2,10,10,31,083,30,12,61,213,41,17,07,105,31,24,38,322,38*71 $GPGSV,3,3,10,25,25,224,27,29,12,267,27,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,20,81,09,277,,78,51,240,*6B $GLGSV,2,2,08,77,50,333,22,88,48,232,14,87,41,152,,71,10,143,*6C $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102238.000,A,3340.8263,S,15117.4509,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102238.000,3340.8263,S,15117.4509,E,1,11,0.8,021.53,M,22.4,M,,*72 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,37,05,21,023,37,09,36,327,37*7E $GPGSV,3,2,10,10,31,083,31,12,61,213,41,17,07,105,31,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,27,29,12,267,27,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,20,81,09,277,,78,51,240,*6B $GLGSV,2,2,08,77,50,333,22,88,48,232,14,87,41,152,,71,10,143,*6C $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102239.000,A,3340.8262,S,15117.4508,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102239.000,3340.8262,S,15117.4508,E,1,11,0.8,021.49,M,22.4,M,,*78 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,37,05,21,023,37,09,36,327,37*7E $GPGSV,3,2,10,10,31,083,32,12,61,213,41,17,07,105,31,24,38,322,38*73 $GPGSV,3,3,10,25,25,224,27,29,12,267,27,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,20,81,09,277,,78,51,240,*6B $GLGSV,2,2,08,77,50,333,22,88,48,232,14,87,40,152,,71,10,143,*6D $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102240.000,A,3340.8261,S,15117.4508,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102240.000,3340.8261,S,15117.4508,E,1,11,0.8,021.53,M,22.4,M,,*7E $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,37,05,21,023,37,09,36,327,37*7E $GPGSV,3,2,10,10,31,083,32,12,61,213,41,17,07,105,31,24,38,322,38*73 $GPGSV,3,3,10,25,25,224,27,29,12,267,27,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,20,81,09,277,,78,51,240,*6B $GLGSV,2,2,08,77,50,333,22,88,48,232,14,87,40,152,,71,10,143,*6D $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102241.000,A,3340.8260,S,15117.4509,E,0.0,0.0,251112,0.0,W*64 $GPGGA,102241.000,3340.8260,S,15117.4509,E,1,11,0.8,021.60,M,22.4,M,,*7F $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,37,05,21,023,37,09,36,327,37*7E $GPGSV,3,2,10,10,31,084,33,12,61,213,41,17,07,105,31,24,38,322,38*75 $GPGSV,3,3,10,25,25,224,27,29,12,267,27,,,,,,,,*77 $GLGSV,2,1,08,76,08,007,,65,10,040,20,81,09,277,,78,51,240,*6B $GLGSV,2,2,08,77,50,333,22,88,48,232,14,87,40,152,,71,10,143,*6D $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102242.000,A,3340.8259,S,15117.4510,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102242.000,3340.8259,S,15117.4510,E,1,11,0.8,021.67,M,22.4,M,,*79 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,34,12,61,213,41,17,07,105,32,24,38,322,38*71 $GPGSV,3,3,10,25,25,224,26,29,12,267,27,,,,,,,,*76 $GLGSV,2,1,08,76,08,007,,65,10,040,19,81,09,277,,78,51,240,*61 $GLGSV,2,2,08,77,50,333,22,88,48,232,13,87,40,152,,71,10,143,*6A $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102243.000,A,3340.8258,S,15117.4510,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102243.000,3340.8258,S,15117.4510,E,1,11,0.8,021.92,M,22.4,M,,*73 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,34,12,61,213,41,17,07,105,32,24,38,322,38*71 $GPGSV,3,3,10,25,25,224,26,29,12,267,27,,,,,,,,*76 $GLGSV,2,1,08,76,08,007,,65,10,040,19,81,09,277,,78,51,240,*61 $GLGSV,2,2,08,77,50,333,22,88,48,232,13,87,40,152,,71,10,143,*6A $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102244.000,A,3340.8257,S,15117.4510,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102244.000,3340.8257,S,15117.4510,E,1,11,0.8,021.99,M,22.4,M,,*70 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,34,12,61,213,41,17,07,105,32,24,38,322,38*71 $GPGSV,3,3,10,25,25,224,26,29,12,267,27,,,,,,,,*76 $GLGSV,2,1,08,76,08,007,,65,10,040,19,81,09,277,,78,51,240,*61 $GLGSV,2,2,08,77,50,333,22,88,48,232,13,87,40,152,,71,10,143,*6A $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102245.000,A,3340.8256,S,15117.4510,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102245.000,3340.8256,S,15117.4510,E,1,11,0.8,022.02,M,22.4,M,,*71 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,35,12,62,212,41,17,07,105,32,24,38,322,38*72 $GPGSV,3,3,10,25,25,224,26,29,12,267,27,,,,,,,,*76 $GLGSV,2,1,08,76,08,007,,65,10,040,19,81,09,277,,78,51,240,*61 $GLGSV,2,2,08,77,50,333,22,88,48,232,13,87,40,152,,71,10,143,*6A $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102246.000,A,3340.8256,S,15117.4510,E,0.1,0.0,251112,0.0,W*6F $GPGGA,102246.000,3340.8256,S,15117.4510,E,1,11,0.8,022.00,M,22.4,M,,*70 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,35,12,62,212,40,17,07,105,32,24,38,322,38*73 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 $GLGSV,2,1,08,76,08,007,,65,10,040,19,81,09,277,,78,51,240,*61 $GLGSV,2,2,08,77,50,333,22,88,48,232,12,87,40,152,,71,10,143,*6B $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102247.000,A,3340.8254,S,15117.4510,E,0.1,0.0,251112,0.0,W*6C $GPGGA,102247.000,3340.8254,S,15117.4510,E,1,11,0.8,021.92,M,22.4,M,,*7B $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,36,12,62,212,40,17,07,105,32,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 $GLGSV,2,1,08,76,08,007,,65,10,040,19,81,09,277,,78,51,240,*61 $GLGSV,2,2,08,77,50,333,21,88,48,232,12,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102248.000,A,3340.8254,S,15117.4509,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102248.000,3340.8254,S,15117.4509,E,1,11,0.8,021.72,M,22.4,M,,*72 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,36,12,62,212,40,17,07,105,32,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 $GLGSV,2,1,08,76,08,007,,65,10,040,19,81,09,277,,78,51,240,*61 $GLGSV,2,2,08,77,50,333,21,88,48,232,10,87,40,152,,71,10,143,*6A $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102249.000,A,3340.8254,S,15117.4510,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102249.000,3340.8254,S,15117.4510,E,1,11,0.8,021.67,M,22.4,M,,*7F $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,37,05,21,023,37,09,36,327,37*7E $GPGSV,3,2,10,10,31,084,36,12,62,212,40,17,07,105,32,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 $GLGSV,2,1,08,76,08,007,,65,10,040,18,81,09,277,,78,51,240,*60 $GLGSV,2,2,08,77,50,333,21,88,48,232,10,87,40,152,,71,10,143,*6A $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102250.000,A,3340.8253,S,15117.4510,E,0.1,0.0,251112,0.0,W*6D $GPGGA,102250.000,3340.8253,S,15117.4510,E,1,11,0.8,021.48,M,22.4,M,,*7D $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,37,05,21,023,37,09,36,327,37*7E $GPGSV,3,2,10,10,31,084,36,12,62,212,40,17,07,105,32,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 $GLGSV,2,1,08,76,08,007,,65,10,040,18,81,09,277,,78,51,240,*60 $GLGSV,2,2,08,77,50,333,21,88,48,232,07,87,40,152,,71,10,143,*6C $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102251.000,A,3340.8253,S,15117.4510,E,0.1,0.0,251112,0.0,W*6C $GPGGA,102251.000,3340.8253,S,15117.4510,E,1,11,0.8,021.18,M,22.4,M,,*79 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,36,12,62,212,40,17,07,105,32,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 $GLGSV,2,1,08,76,08,007,,65,10,040,18,81,09,277,,78,51,240,*60 $GLGSV,2,2,08,77,50,333,20,88,48,232,07,87,40,152,,71,10,143,*6D $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102252.000,A,3340.8253,S,15117.4510,E,0.1,0.0,251112,0.0,W*6F $GPGGA,102252.000,3340.8253,S,15117.4510,E,1,11,0.8,020.71,M,22.4,M,,*74 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,37,05,21,023,37,09,36,327,37*7E $GPGSV,3,2,10,10,31,084,36,12,62,212,40,17,07,105,32,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 $GLGSV,2,1,08,76,08,007,,65,10,040,18,81,09,277,,78,51,240,*60 $GLGSV,2,2,08,77,50,333,20,88,48,232,08,87,40,152,,71,10,143,*62 $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102253.000,A,3340.8254,S,15117.4511,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102253.000,3340.8254,S,15117.4511,E,1,11,0.8,020.43,M,22.4,M,,*72 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,37,12,62,212,40,17,07,105,32,24,38,322,38*71 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 $GLGSV,2,1,08,76,08,007,,65,10,040,17,81,09,277,,78,51,240,*6F $GLGSV,2,2,08,77,50,333,19,88,48,232,07,87,40,152,,71,10,143,*67 $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102254.000,A,3340.8254,S,15117.4512,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102254.000,3340.8254,S,15117.4512,E,1,11,0.8,020.18,M,22.4,M,,*78 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,37,12,62,212,40,17,07,105,32,24,38,322,38*71 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 $GLGSV,2,1,08,76,08,007,,65,10,040,17,81,09,277,,78,51,240,*6F $GLGSV,2,2,08,77,50,333,19,88,48,232,05,87,40,152,,71,10,143,*65 $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102255.000,A,3340.8254,S,15117.4513,E,0.1,0.0,251112,0.0,W*6C $GPGGA,102255.000,3340.8254,S,15117.4513,E,1,11,0.8,019.91,M,22.4,M,,*73 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,37,12,62,212,40,17,06,104,32,24,38,322,39*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 $GLGSV,2,1,08,76,08,007,,65,10,040,16,81,09,277,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,19,88,48,232,,87,40,152,,71,10,143,*60 $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102256.000,A,3340.8254,S,15117.4514,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102256.000,3340.8254,S,15117.4514,E,1,11,0.8,019.63,M,22.4,M,,*7A $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,37,12,62,212,40,17,06,104,32,24,38,322,39*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 $GLGSV,2,1,08,76,08,007,,65,10,040,16,81,09,277,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,19,88,48,232,,87,40,152,,71,10,143,*60 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102257.000,A,3340.8254,S,15117.4514,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102257.000,3340.8254,S,15117.4514,E,1,11,0.8,019.42,M,22.4,M,,*78 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,37,12,62,212,41,17,06,104,33,24,38,322,39*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 $GLGSV,2,1,08,76,08,007,,65,10,040,15,81,09,277,,78,51,240,*6D $GLGSV,2,2,08,77,50,333,18,88,48,232,,87,40,152,,71,10,143,*61 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102258.000,A,3340.8254,S,15117.4515,E,0.0,0.0,251112,0.0,W*66 $GPGGA,102258.000,3340.8254,S,15117.4515,E,1,11,0.8,019.20,M,22.4,M,,*72 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,37,12,62,212,41,17,06,104,33,24,38,322,39*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 $GLGSV,2,1,08,76,08,007,,65,10,040,15,81,09,277,,78,51,240,*6D $GLGSV,2,2,08,77,50,333,18,88,48,232,,87,40,152,,71,10,143,*61 $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102259.000,A,3340.8254,S,15117.4515,E,0.0,0.0,251112,0.0,W*67 $GPGGA,102259.000,3340.8254,S,15117.4515,E,1,11,0.8,019.00,M,22.4,M,,*71 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,37,12,62,212,41,17,06,104,33,24,38,322,39*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 $GLGSV,2,1,08,76,07,007,,65,10,040,15,81,09,277,,78,51,240,*62 $GLGSV,2,2,08,77,50,333,18,88,48,232,,87,40,152,,71,10,143,*61 $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102300.000,A,3340.8254,S,15117.4515,E,0.1,0.0,251112,0.0,W*6B $GPGGA,102300.000,3340.8254,S,15117.4515,E,1,11,0.8,019.04,M,22.4,M,,*78 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,37,12,62,212,41,17,06,104,33,24,38,322,39*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,27,,,,,,,,*76 $GLGSV,2,1,08,76,07,007,,65,10,040,14,81,09,277,,78,51,240,*63 $GLGSV,2,2,08,77,50,333,17,88,48,232,,87,40,152,,71,10,143,*6E $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102301.000,A,3340.8253,S,15117.4516,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102301.000,3340.8253,S,15117.4516,E,1,11,0.8,019.39,M,22.4,M,,*73 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,37,12,62,212,41,17,06,104,33,24,38,322,39*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,27,,,,,,,,*76 $GLGSV,2,1,08,76,07,007,,65,10,040,14,81,09,277,,78,51,240,*63 $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102302.000,A,3340.8253,S,15117.4516,E,0.1,0.0,251112,0.0,W*6D $GPGGA,102302.000,3340.8253,S,15117.4516,E,1,11,0.8,019.69,M,22.4,M,,*75 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,37,12,62,212,41,17,06,104,33,24,38,322,38*71 $GPGSV,3,3,10,25,25,224,26,29,12,267,27,,,,,,,,*76 $GLGSV,2,1,08,76,07,007,,65,10,040,14,81,09,277,,78,51,240,*63 $GLGSV,2,2,08,77,50,333,14,88,48,232,,87,40,152,,71,10,143,*6D $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102303.000,A,3340.8253,S,15117.4516,E,0.1,0.0,251112,0.0,W*6C $GPGGA,102303.000,3340.8253,S,15117.4516,E,1,11,0.8,019.77,M,22.4,M,,*7B $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,37,12,62,212,40,17,06,104,32,24,38,322,38*71 $GPGSV,3,3,10,25,25,224,25,29,12,267,27,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,14,81,09,277,,78,51,240,*62 $GLGSV,2,2,08,77,50,333,14,88,48,232,,87,40,152,,71,10,143,*6D $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102304.000,A,3340.8253,S,15117.4516,E,0.1,0.0,251112,0.0,W*6B $GPGGA,102304.000,3340.8253,S,15117.4516,E,1,11,0.8,019.82,M,22.4,M,,*76 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,36,12,62,212,40,17,06,104,32,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,25,29,12,267,27,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,13,81,09,277,,78,51,240,*65 $GLGSV,2,2,08,77,50,333,14,88,48,232,,87,40,152,,71,10,143,*6D $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102305.000,A,3340.8253,S,15117.4519,E,0.0,0.0,251112,0.0,W*64 $GPGGA,102305.000,3340.8253,S,15117.4519,E,1,11,0.8,019.88,M,22.4,M,,*72 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,36,12,62,212,40,17,06,104,32,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,25,29,12,267,27,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,12,81,09,277,,78,51,240,*64 $GLGSV,2,2,08,77,50,333,14,88,48,232,,87,40,152,,71,10,143,*6D $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102306.000,A,3340.8253,S,15117.4521,E,0.0,0.0,251112,0.0,W*6C $GPGGA,102306.000,3340.8253,S,15117.4521,E,1,11,0.8,019.77,M,22.4,M,,*7A $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,36,12,62,212,40,17,06,104,32,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,25,29,12,267,27,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,11,81,09,277,,78,51,240,*67 $GLGSV,2,2,08,77,50,333,14,88,48,232,,87,40,152,,71,10,143,*6D $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102307.000,A,3340.8252,S,15117.4524,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102307.000,3340.8252,S,15117.4524,E,1,11,0.8,019.82,M,22.4,M,,*75 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,36,05,21,023,36,09,36,327,36*7F $GPGSV,3,2,10,10,31,084,36,12,62,212,40,17,06,104,32,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,25,29,12,267,27,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,08,81,09,277,,78,51,240,*6F $GLGSV,2,2,08,77,50,333,14,88,48,232,,87,40,152,,71,10,143,*6D $QZGSV,1,1,01,193,34,332,34,,,,,,,,,,,,*6D $GPRMC,102308.000,A,3340.8252,S,15117.4526,E,0.1,0.0,251112,0.0,W*65 $GPGGA,102308.000,3340.8252,S,15117.4526,E,1,11,0.8,019.91,M,22.4,M,,*7A $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,36,05,21,023,36,09,36,327,36*7F $GPGSV,3,2,10,10,31,084,35,12,62,212,40,17,06,104,31,24,38,322,37*7F $GPGSV,3,3,10,25,25,224,24,29,12,267,26,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,05,81,09,277,,78,51,240,*62 $GLGSV,2,2,08,77,50,333,14,88,48,232,,87,40,152,,71,10,143,*6D $QZGSV,1,1,01,193,34,332,34,,,,,,,,,,,,*6D $GPRMC,102309.000,A,3340.8252,S,15117.4528,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102309.000,3340.8252,S,15117.4528,E,1,11,0.8,020.06,M,22.4,M,,*71 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,39,04,39,134,36,05,21,023,36,09,36,327,36*71 $GPGSV,3,2,10,10,31,084,35,12,62,212,39,17,06,104,31,24,37,322,37*7E $GPGSV,3,3,10,25,25,224,24,29,12,267,26,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,14,88,48,232,,87,40,152,,71,10,143,*6D $QZGSV,1,1,01,193,34,332,34,,,,,,,,,,,,*6D $GPRMC,102310.000,A,3340.8251,S,15117.4529,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102310.000,3340.8251,S,15117.4529,E,1,11,0.8,020.26,M,22.4,M,,*79 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,36,05,21,023,36,09,36,327,36*7F $GPGSV,3,2,10,10,31,084,35,12,62,212,39,17,06,104,31,24,37,322,37*7E $GPGSV,3,3,10,25,25,224,24,29,12,267,26,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,07,81,10,276,,78,51,240,*69 $GLGSV,2,2,08,77,50,333,12,88,48,232,,87,40,152,,71,10,143,*6B $QZGSV,1,1,01,193,34,332,34,,,,,,,,,,,,*6D $GPRMC,102311.000,A,3340.8252,S,15117.4529,E,0.2,247.6,251112,0.0,W*66 $GPGGA,102311.000,3340.8252,S,15117.4529,E,1,11,0.8,020.30,M,22.4,M,,*7C $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,36,05,21,023,35,09,36,327,36*7C $GPGSV,3,2,10,10,31,084,35,12,62,212,39,17,06,104,31,24,37,322,37*7E $GPGSV,3,3,10,25,26,224,24,29,12,267,26,,,,,,,,*76 $GLGSV,2,1,08,76,07,007,,65,11,040,07,81,10,276,,78,51,240,*69 $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,34,,,,,,,,,,,,*6D $GPRMC,102312.000,A,3340.8252,S,15117.4529,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102312.000,3340.8252,S,15117.4529,E,1,11,0.8,020.31,M,22.4,M,,*7E $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,36,05,21,023,36,09,36,327,36*7F $GPGSV,3,2,10,10,31,084,35,12,62,212,40,17,06,104,31,24,37,322,37*70 $GPGSV,3,3,10,25,26,224,24,29,12,267,26,,,,,,,,*76 $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,34,,,,,,,,,,,,*6D $GPRMC,102313.000,A,3340.8253,S,15117.4529,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102313.000,3340.8253,S,15117.4529,E,1,11,0.8,020.36,M,22.4,M,,*79 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,37,05,21,023,36,09,36,327,36*7E $GPGSV,3,2,10,10,31,084,35,12,62,212,40,17,06,104,31,24,37,322,37*70 $GPGSV,3,3,10,25,26,224,25,29,12,267,27,,,,,,,,*76 $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102314.000,A,3340.8253,S,15117.4529,E,0.0,0.0,251112,0.0,W*67 $GPGGA,102314.000,3340.8253,S,15117.4529,E,1,11,0.8,020.60,M,22.4,M,,*7D $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,35,12,62,212,41,17,06,104,31,24,37,322,38*7E $GPGSV,3,3,10,25,26,224,25,29,12,267,28,,,,,,,,*79 $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102315.000,A,3340.8252,S,15117.4528,E,0.0,0.0,251112,0.0,W*66 $GPGGA,102315.000,3340.8252,S,15117.4528,E,1,11,0.8,021.35,M,22.4,M,,*7D $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,42,04,39,134,38,05,21,023,37,09,36,327,37*73 $GPGSV,3,2,10,10,31,084,36,12,62,212,42,17,06,104,31,24,37,322,39*7F $GPGSV,3,3,10,25,26,224,26,29,12,267,28,,,,,,,,*7A $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102316.000,A,3340.8252,S,15117.4528,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102316.000,3340.8252,S,15117.4528,E,1,11,0.8,022.10,M,22.4,M,,*7A $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,42,04,39,134,38,05,21,023,38,09,36,327,38*73 $GPGSV,3,2,10,10,31,084,36,12,62,212,42,17,06,104,31,24,37,322,39*7F $GPGSV,3,3,10,25,26,224,27,29,12,267,29,,,,,,,,*7A $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102317.000,A,3340.8252,S,15117.4526,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102317.000,3340.8252,S,15117.4526,E,1,11,0.8,022.55,M,22.4,M,,*74 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,42,04,39,134,38,05,21,023,37,09,36,327,37*73 $GPGSV,3,2,10,10,31,084,36,12,62,212,42,17,06,104,31,24,37,322,38*7E $GPGSV,3,3,10,25,26,224,27,29,12,267,29,,,,,,,,*7A $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102318.000,A,3340.8252,S,15117.4526,E,0.1,0.0,251112,0.0,W*64 $GPGGA,102318.000,3340.8252,S,15117.4526,E,1,11,0.8,022.79,M,22.4,M,,*75 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,30,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,26,29,12,267,28,,,,,,,,*7A $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102319.000,A,3340.8251,S,15117.4525,E,0.0,0.0,251112,0.0,W*64 $GPGGA,102319.000,3340.8251,S,15117.4525,E,1,11,0.8,023.16,M,22.4,M,,*7C $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,30,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,27,29,13,266,28,,,,,,,,*7B $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102320.000,A,3340.8250,S,15117.4525,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102320.000,3340.8250,S,15117.4525,E,1,11,0.8,023.45,M,22.4,M,,*71 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,30,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,27,29,13,266,29,,,,,,,,*7A $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102321.000,A,3340.8250,S,15117.4524,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102321.000,3340.8250,S,15117.4524,E,1,11,0.8,023.82,M,22.4,M,,*7A $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,42,17,06,104,30,24,37,322,38*7F $GPGSV,3,3,10,25,26,224,27,29,13,266,28,,,,,,,,*7B $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102322.000,A,3340.8251,S,15117.4524,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102322.000,3340.8251,S,15117.4524,E,1,11,0.8,024.02,M,22.4,M,,*77 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,30,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,27,29,13,266,28,,,,,,,,*7B $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102323.000,A,3340.8251,S,15117.4525,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102323.000,3340.8251,S,15117.4525,E,1,11,0.8,024.08,M,22.4,M,,*7D $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,30,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,27,29,13,266,28,,,,,,,,*7B $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102324.000,A,3340.8252,S,15117.4524,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102324.000,3340.8252,S,15117.4524,E,1,11,0.8,024.06,M,22.4,M,,*76 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,30,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102325.000,A,3340.8252,S,15117.4524,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102325.000,3340.8252,S,15117.4524,E,1,11,0.8,024.15,M,22.4,M,,*75 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,30,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102326.000,A,3340.8252,S,15117.4525,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102326.000,3340.8252,S,15117.4525,E,1,11,0.8,024.04,M,22.4,M,,*77 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,30,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,28,29,13,266,28,,,,,,,,*74 $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102327.000,A,3340.8252,S,15117.4525,E,0.1,0.0,251112,0.0,W*6B $GPGGA,102327.000,3340.8252,S,15117.4525,E,1,11,0.8,023.96,M,22.4,M,,*7A $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,30,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102328.000,A,3340.8252,S,15117.4526,E,0.1,0.0,251112,0.0,W*67 $GPGGA,102328.000,3340.8252,S,15117.4526,E,1,11,0.8,023.92,M,22.4,M,,*72 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,29,24,37,322,38*74 $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102329.000,A,3340.8252,S,15117.4526,E,0.0,0.0,251112,0.0,W*67 $GPGGA,102329.000,3340.8252,S,15117.4526,E,1,11,0.8,023.86,M,22.4,M,,*76 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,37,09,36,327,37*7D $GPGSV,3,2,10,10,31,084,36,12,62,212,42,17,06,104,29,24,37,322,38*77 $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102330.000,A,3340.8252,S,15117.4526,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102330.000,3340.8252,S,15117.4526,E,1,11,0.8,023.73,M,22.4,M,,*74 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,37,09,36,327,37*7D $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,29,24,37,322,38*74 $GPGSV,3,3,10,25,26,224,28,29,13,266,28,,,,,,,,*74 $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102331.000,A,3340.8252,S,15117.4526,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102331.000,3340.8252,S,15117.4526,E,1,11,0.8,023.58,M,22.4,M,,*7C $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,37,09,36,327,37*7D $GPGSV,3,2,10,10,31,084,35,12,62,212,41,17,06,104,29,24,37,322,38*77 $GPGSV,3,3,10,25,26,224,28,29,13,266,28,,,,,,,,*74 $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102332.000,A,3340.8252,S,15117.4526,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102332.000,3340.8252,S,15117.4526,E,1,11,0.8,023.39,M,22.4,M,,*78 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,37,09,36,327,37*7D $GPGSV,3,2,10,10,31,084,35,12,62,212,41,17,06,104,29,24,37,322,38*77 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102333.000,A,3340.8253,S,15117.4525,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102333.000,3340.8253,S,15117.4525,E,1,11,0.8,023.08,M,22.4,M,,*79 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,37,09,36,327,37*7D $GPGSV,3,2,10,10,31,084,35,12,62,212,41,17,06,104,29,24,37,322,38*77 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,152,,71,10,143,*6B $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102334.000,A,3340.8254,S,15117.4524,E,0.1,0.0,251112,0.0,W*6E $GPGGA,102334.000,3340.8254,S,15117.4524,E,1,11,0.8,022.97,M,22.4,M,,*7F $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,36,09,36,327,37*7C $GPGSV,3,2,10,10,31,084,35,12,62,212,41,17,06,104,28,24,37,322,37*79 $GPGSV,3,3,10,25,26,224,28,29,13,266,28,,,,,,,,*74 $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,18*67 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,152,,71,10,143,*6B $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102335.000,A,3340.8254,S,15117.4524,E,0.1,0.0,251112,0.0,W*6F $GPGGA,102335.000,3340.8254,S,15117.4524,E,1,11,0.8,022.94,M,22.4,M,,*7D $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,40,04,39,134,38,05,21,023,36,09,36,327,36*7C $GPGSV,3,2,10,10,31,084,35,12,62,212,41,17,06,104,28,24,37,322,37*79 $GPGSV,3,3,10,25,26,224,28,29,13,266,27,,,,,,,,*7B $GLGSV,2,1,08,76,07,007,,65,11,040,18,81,10,276,,78,51,240,19*6F $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102336.000,A,3340.8255,S,15117.4523,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102336.000,3340.8255,S,15117.4523,E,1,11,0.8,022.90,M,22.4,M,,*7C $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,36,09,36,327,37*7C $GPGSV,3,2,10,10,31,084,35,12,62,212,41,17,06,104,28,24,37,322,37*79 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,18,81,10,276,,78,51,240,19*6F $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,35,,,,,,,,,,,,*6C $GPRMC,102337.000,A,3340.8255,S,15117.4523,E,0.1,0.0,251112,0.0,W*6B $GPGGA,102337.000,3340.8255,S,15117.4523,E,1,11,0.8,022.74,M,22.4,M,,*77 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,36,09,36,327,37*7C $GPGSV,3,2,10,10,31,084,35,12,62,212,41,17,06,104,28,24,37,322,38*76 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,18,81,10,276,18,78,51,240,19*66 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102338.000,A,3340.8256,S,15117.4522,E,0.0,0.0,251112,0.0,W*67 $GPGGA,102338.000,3340.8256,S,15117.4522,E,1,11,0.8,022.50,M,22.4,M,,*7C $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,36,09,36,327,37*7C $GPGSV,3,2,10,10,31,084,35,12,62,212,41,17,06,104,28,24,37,322,38*76 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,17,78,51,240,19*60 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,143,*68 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102339.000,A,3340.8256,S,15117.4520,E,0.0,0.0,251112,0.0,W*64 $GPGGA,102339.000,3340.8256,S,15117.4520,E,1,11,0.8,022.34,M,22.4,M,,*7D $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,36,09,36,327,37*7C $GPGSV,3,2,10,10,31,084,34,12,62,212,41,17,06,104,28,24,37,322,38*77 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,18,81,10,276,16,78,51,240,19*68 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102340.000,A,3340.8255,S,15117.4519,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102340.000,3340.8255,S,15117.4519,E,1,11,0.8,022.14,M,22.4,M,,*78 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,36,09,36,327,37*7C $GPGSV,3,2,10,10,31,084,34,12,62,212,41,17,06,104,27,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,19,81,10,276,15,78,51,240,19*6A $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102341.000,A,3340.8255,S,15117.4518,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102341.000,3340.8255,S,15117.4518,E,1,11,0.8,021.95,M,22.4,M,,*72 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,36,09,36,327,37*7C $GPGSV,3,2,10,10,31,084,34,12,62,212,41,17,06,104,27,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,19,81,10,276,15,78,51,240,19*6A $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102342.000,A,3340.8255,S,15117.4517,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102342.000,3340.8255,S,15117.4517,E,1,11,0.8,021.85,M,22.4,M,,*7F $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,36,09,36,327,37*7C $GPGSV,3,2,10,10,31,084,34,12,62,212,41,17,06,104,27,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,040,19,81,10,276,15,78,51,240,20*60 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102343.000,A,3340.8255,S,15117.4516,E,0.1,0.0,251112,0.0,W*6E $GPGGA,102343.000,3340.8255,S,15117.4516,E,1,11,0.8,021.64,M,22.4,M,,*70 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,36,09,35,327,37*7F $GPGSV,3,2,10,10,31,084,34,12,62,212,41,17,06,104,27,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,30,29,13,266,29,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,040,19,81,10,276,15,78,51,240,20*60 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102344.000,A,3340.8255,S,15117.4514,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102344.000,3340.8255,S,15117.4514,E,1,11,0.8,021.48,M,22.4,M,,*7B $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,36,09,35,327,37*7F $GPGSV,3,2,10,10,31,084,33,12,62,212,41,17,06,104,26,24,37,322,38*7E $GPGSV,3,3,10,25,26,224,30,29,13,266,28,,,,,,,,*7D $GLGSV,2,1,08,76,07,007,,65,11,040,19,81,10,276,15,78,51,240,20*60 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102345.000,A,3340.8254,S,15117.4513,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102345.000,3340.8254,S,15117.4513,E,1,11,0.8,021.36,M,22.4,M,,*75 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,37,09,35,327,37*7E $GPGSV,3,2,10,10,31,085,33,12,62,212,42,17,06,104,27,24,37,322,38*7D $GPGSV,3,3,10,25,26,224,30,29,13,266,29,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,040,19,81,10,276,15,78,51,240,20*60 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102346.000,A,3340.8256,S,15117.4511,E,0.1,0.0,251112,0.0,W*6F $GPGGA,102346.000,3340.8256,S,15117.4511,E,1,11,0.8,021.36,M,22.4,M,,*76 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,39,05,21,023,37,09,35,327,38*70 $GPGSV,3,2,10,10,31,085,33,12,62,212,42,17,06,104,27,24,37,322,38*7D $GPGSV,3,3,10,25,26,224,30,29,13,266,29,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,040,19,81,10,276,14,78,51,240,20*61 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102347.000,A,3340.8255,S,15117.4510,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102347.000,3340.8255,S,15117.4510,E,1,11,0.8,021.36,M,22.4,M,,*75 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,33,12,62,212,42,17,06,104,26,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D $GLGSV,2,1,08,76,07,007,,65,11,040,19,81,10,276,14,78,51,240,20*61 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102348.000,A,3340.8255,S,15117.4509,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102348.000,3340.8255,S,15117.4509,E,1,11,0.8,021.19,M,22.4,M,,*7F $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,33,12,62,212,42,17,06,104,26,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D $GLGSV,2,1,08,76,07,007,,65,11,040,19,81,10,276,14,78,51,240,20*61 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102349.000,A,3340.8254,S,15117.4507,E,0.0,0.0,251112,0.0,W*64 $GPGGA,102349.000,3340.8254,S,15117.4507,E,1,11,0.8,021.01,M,22.4,M,,*78 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,33,12,62,212,42,17,06,104,26,24,37,322,39*7D $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D $GLGSV,2,1,08,76,07,007,,65,11,040,20,81,10,276,14,78,51,240,20*6B $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102350.000,A,3340.8254,S,15117.4505,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102350.000,3340.8254,S,15117.4505,E,1,11,0.8,020.75,M,22.4,M,,*70 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,33,12,62,212,42,17,06,104,26,24,37,322,39*7D $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,040,20,81,10,276,14,78,51,240,20*6B $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102351.000,A,3340.8254,S,15117.4504,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102351.000,3340.8254,S,15117.4504,E,1,11,0.8,020.54,M,22.4,M,,*73 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,32,12,62,212,42,17,06,104,26,24,37,322,39*7C $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D $GLGSV,2,1,08,76,07,007,,65,11,040,20,81,10,276,13,78,51,240,20*6C $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102352.000,A,3340.8254,S,15117.4501,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102352.000,3340.8254,S,15117.4501,E,1,11,0.8,020.44,M,22.4,M,,*74 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,32,12,62,212,42,17,06,104,25,24,37,322,39*7F $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D $GLGSV,2,1,08,76,07,007,,65,11,040,20,81,10,276,12,78,51,240,20*6D $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102353.000,A,3340.8255,S,15117.4500,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102353.000,3340.8255,S,15117.4500,E,1,11,0.8,020.22,M,22.4,M,,*75 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,32,12,62,212,42,17,06,104,25,24,37,322,39*7F $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D $GLGSV,2,1,08,76,07,007,,65,11,040,21,81,10,276,10,78,51,240,21*6F $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102354.000,A,3340.8255,S,15117.4499,E,0.1,0.0,251112,0.0,W*6E $GPGGA,102354.000,3340.8255,S,15117.4499,E,1,11,0.8,020.00,M,22.4,M,,*73 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,31,12,62,212,42,17,06,104,25,24,37,322,39*7C $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D $GLGSV,2,1,08,76,07,007,,65,11,040,21,81,10,276,10,78,51,240,21*6F $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102355.000,A,3340.8255,S,15117.4497,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102355.000,3340.8255,S,15117.4497,E,1,11,0.8,019.98,M,22.4,M,,*77 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,31,12,62,212,42,17,06,104,25,24,37,322,39*7C $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,040,21,81,10,276,10,78,51,240,21*6F $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102356.000,A,3340.8255,S,15117.4494,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102356.000,3340.8255,S,15117.4494,E,1,11,0.8,019.91,M,22.4,M,,*7E $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,30,12,62,212,42,17,06,104,25,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,040,21,81,10,276,11,78,51,240,21*6E $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102357.000,A,3340.8254,S,15117.4493,E,0.1,0.0,251112,0.0,W*66 $GPGGA,102357.000,3340.8254,S,15117.4493,E,1,11,0.8,019.62,M,22.4,M,,*75 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,29,12,62,212,42,17,06,104,24,24,37,322,38*75 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,040,21,81,10,276,11,78,51,240,21*6E $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102358.000,A,3340.8254,S,15117.4492,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102358.000,3340.8254,S,15117.4492,E,1,11,0.8,019.44,M,22.4,M,,*7F $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,29,12,62,212,42,17,06,104,24,24,37,322,38*75 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,040,21,81,10,276,11,78,51,240,21*6E $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102359.000,A,3340.8254,S,15117.4491,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102359.000,3340.8254,S,15117.4491,E,1,11,0.8,019.40,M,22.4,M,,*79 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,29,12,62,212,42,17,06,104,24,24,37,322,38*75 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,041,21,81,10,276,11,78,51,240,21*6F $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102400.000,A,3340.8254,S,15117.4491,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102400.000,3340.8254,S,15117.4491,E,1,11,0.8,019.33,M,22.4,M,,*76 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,29,12,62,212,42,17,06,104,24,24,37,322,39*74 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,041,21,81,10,276,11,78,51,240,21*6F $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102401.000,A,3340.8254,S,15117.4490,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102401.000,3340.8254,S,15117.4490,E,1,11,0.8,019.18,M,22.4,M,,*7F $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,28,12,62,212,42,17,06,104,24,24,37,322,39*75 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,041,21,81,10,276,11,78,51,240,21*6F $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102402.000,A,3340.8254,S,15117.4490,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102402.000,3340.8254,S,15117.4490,E,1,11,0.8,019.08,M,22.4,M,,*7D $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,28,12,62,212,42,17,06,104,24,24,37,322,39*75 $GPGSV,3,3,10,25,26,224,31,29,13,266,27,,,,,,,,*73 $GLGSV,2,1,08,76,07,007,,65,11,041,21,81,10,276,11,78,51,240,20*6E $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102403.000,A,3340.8254,S,15117.4490,E,0.0,0.0,251112,0.0,W*62 $GPGGA,102403.000,3340.8254,S,15117.4490,E,1,11,0.8,019.02,M,22.4,M,,*76 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,39*72 $GPGSV,3,2,10,10,31,085,28,12,62,212,42,17,06,104,24,24,37,322,39*75 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,10,78,51,240,21*6D $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102404.000,A,3340.8255,S,15117.4488,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102404.000,3340.8255,S,15117.4488,E,1,11,0.8,018.85,M,22.4,M,,*77 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,28,12,62,212,42,17,06,104,24,24,37,322,39*75 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,10,78,51,240,20*6C $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102405.000,A,3340.8255,S,15117.4487,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102405.000,3340.8255,S,15117.4487,E,1,11,0.8,018.92,M,22.4,M,,*7F $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,27,12,62,212,42,17,06,104,24,24,37,322,38*7B $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,10,78,51,240,20*6C $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102406.000,A,3340.8256,S,15117.4486,E,0.0,0.0,251112,0.0,W*62 $GPGGA,102406.000,3340.8256,S,15117.4486,E,1,11,0.8,019.10,M,22.4,M,,*75 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,27,12,62,212,42,17,06,104,24,24,37,322,38*7B $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,11,78,51,240,20*6D $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102407.000,A,3340.8256,S,15117.4485,E,0.1,0.0,251112,0.0,W*61 $GPGGA,102407.000,3340.8256,S,15117.4485,E,1,11,0.8,019.21,M,22.4,M,,*75 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,27,12,62,212,41,17,06,104,24,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,31,29,13,266,27,,,,,,,,*73 $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,,78,51,240,20*6D $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102408.000,A,3340.8256,S,15117.4485,E,0.1,0.0,251112,0.0,W*6E $GPGGA,102408.000,3340.8256,S,15117.4485,E,1,11,0.8,019.13,M,22.4,M,,*7B $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,37,09,35,327,38*71 $GPGSV,3,2,10,10,31,085,27,12,62,212,41,17,06,104,23,24,37,322,38*7F $GPGSV,3,3,10,25,26,224,31,29,13,266,27,,,,,,,,*73 $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,11,78,51,240,20*6D $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102409.000,A,3340.8256,S,15117.4484,E,0.1,0.0,251112,0.0,W*6E $GPGGA,102409.000,3340.8256,S,15117.4484,E,1,11,0.8,019.21,M,22.4,M,,*7A $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,41,04,39,134,39,05,21,023,37,09,35,327,38*70 $GPGSV,3,2,10,10,31,085,27,12,62,212,41,17,06,104,23,24,37,322,38*7F $GPGSV,3,3,10,25,26,224,31,29,13,266,27,,,,,,,,*73 $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,11,78,51,240,20*6D $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102410.000,A,3340.8256,S,15117.4482,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102410.000,3340.8256,S,15117.4482,E,1,11,0.8,019.18,M,22.4,M,,*7E $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,41,04,39,134,39,05,21,023,37,09,35,327,38*70 $GPGSV,3,2,10,10,31,085,27,12,62,212,41,17,06,104,23,24,37,322,38*7F $GPGSV,3,3,10,25,26,224,31,29,13,266,27,,,,,,,,*73 $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,11,78,51,240,20*6D $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102411.000,A,3340.8257,S,15117.4480,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102411.000,3340.8257,S,15117.4480,E,1,11,0.8,019.22,M,22.4,M,,*75 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,28,12,62,212,41,17,06,104,23,24,37,322,38*70 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,11,78,51,241,20*6C $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102412.000,A,3340.8258,S,15117.4478,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102412.000,3340.8258,S,15117.4478,E,1,11,0.8,019.24,M,22.4,M,,*78 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,28,12,62,212,41,17,06,104,23,24,37,322,38*70 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,11,78,51,241,20*6C $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102413.000,A,3340.8259,S,15117.4476,E,0.1,0.0,251112,0.0,W*67 $GPGGA,102413.000,3340.8259,S,15117.4476,E,1,11,0.8,019.24,M,22.4,M,,*76 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,28,12,62,212,41,17,06,104,23,24,37,322,38*70 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,,78,51,241,20*6D $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102414.000,A,3340.8258,S,15117.4475,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102414.000,3340.8258,S,15117.4475,E,1,11,0.8,019.38,M,22.4,M,,*7E $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,29,12,62,212,41,17,06,104,23,24,37,322,38*71 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,19*65 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102415.000,A,3340.8258,S,15117.4475,E,0.0,0.0,251112,0.0,W*62 $GPGGA,102415.000,3340.8258,S,15117.4475,E,1,11,0.8,019.34,M,22.4,M,,*73 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,29,12,62,212,41,17,06,104,23,24,37,322,38*71 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,19*65 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102416.000,A,3340.8258,S,15117.4474,E,0.1,0.0,251112,0.0,W*61 $GPGGA,102416.000,3340.8258,S,15117.4474,E,1,11,0.8,019.25,M,22.4,M,,*71 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,29,12,62,212,41,17,06,104,23,24,37,322,38*71 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,19*65 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102417.000,A,3340.8259,S,15117.4473,E,0.1,0.0,251112,0.0,W*66 $GPGGA,102417.000,3340.8259,S,15117.4473,E,1,11,0.8,019.07,M,22.4,M,,*76 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,30,12,62,212,41,17,06,104,23,24,37,322,38*79 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,19*65 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102418.000,A,3340.8260,S,15117.4471,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102418.000,3340.8260,S,15117.4471,E,1,11,0.8,018.96,M,22.4,M,,*78 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,30,12,62,212,41,17,06,104,23,24,37,322,38*79 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,13,78,51,241,19*64 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102419.000,A,3340.8261,S,15117.4470,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102419.000,3340.8261,S,15117.4470,E,1,11,0.8,018.84,M,22.4,M,,*7A $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,31,12,62,212,41,17,06,104,23,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,13,78,51,241,19*64 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102420.000,A,3340.8262,S,15117.4470,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102420.000,3340.8262,S,15117.4470,E,1,11,0.8,018.69,M,22.4,M,,*70 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,31,12,62,212,41,17,06,104,22,24,37,322,38*79 $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,13,78,51,241,19*64 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102421.000,A,3340.8262,S,15117.4470,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102421.000,3340.8262,S,15117.4470,E,1,11,0.8,018.65,M,22.4,M,,*7D $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,31,12,62,212,41,17,06,104,22,24,37,322,38*79 $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,13,78,51,241,19*64 $GLGSV,2,2,08,77,49,333,23,88,48,231,,87,40,151,,71,10,144,*66 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102422.000,A,3340.8263,S,15117.4470,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102422.000,3340.8263,S,15117.4470,E,1,11,0.8,018.58,M,22.4,M,,*71 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,32,12,62,212,42,17,06,104,22,24,37,322,38*79 $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,18*64 $GLGSV,2,2,08,77,49,333,23,88,48,231,,87,40,151,,71,10,144,*66 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102423.000,A,3340.8263,S,15117.4470,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102423.000,3340.8263,S,15117.4470,E,1,11,0.8,018.66,M,22.4,M,,*7D $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,39*72 $GPGSV,3,2,10,10,31,085,32,12,62,212,42,17,06,104,22,24,37,322,38*79 $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,18*64 $GLGSV,2,2,08,77,49,333,23,88,48,231,,87,40,151,,71,10,144,*66 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102424.000,A,3340.8263,S,15117.4472,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102424.000,3340.8263,S,15117.4472,E,1,11,0.8,018.77,M,22.4,M,,*78 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,39*72 $GPGSV,3,2,10,10,31,085,33,12,62,212,42,17,06,104,22,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,18*64 $GLGSV,2,2,08,77,49,333,23,88,48,231,,87,40,151,,71,10,144,*66 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102425.000,A,3340.8263,S,15117.4471,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102425.000,3340.8263,S,15117.4471,E,1,11,0.8,018.92,M,22.4,M,,*71 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,39*72 $GPGSV,3,2,10,10,31,085,33,12,62,212,42,17,06,104,22,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,18*64 $GLGSV,2,2,08,77,49,333,23,88,48,231,,87,40,151,,71,10,144,*66 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102426.000,A,3340.8263,S,15117.4470,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102426.000,3340.8263,S,15117.4470,E,1,11,0.8,018.79,M,22.4,M,,*76 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,33,12,62,212,42,17,06,104,22,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,30,29,13,266,29,,,,,,,,*7C $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,18*64 $GLGSV,2,2,08,77,49,333,23,88,48,231,,87,40,151,,71,10,144,*66 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102427.000,A,3340.8264,S,15117.4470,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102427.000,3340.8264,S,15117.4470,E,1,11,0.8,018.81,M,22.4,M,,*77 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,38,05,21,023,37,09,35,327,38*72 $GPGSV,3,2,10,10,31,085,33,12,62,212,41,17,06,104,21,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,18*65 $GLGSV,2,2,08,77,49,333,23,88,48,231,,87,40,151,,71,10,144,*66 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102428.000,A,3340.8264,S,15117.4469,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102428.000,3340.8264,S,15117.4469,E,1,11,0.8,018.83,M,22.4,M,,*72 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,37,09,35,327,38*71 $GPGSV,3,2,10,10,31,085,33,12,62,212,41,17,06,104,21,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,,78,51,241,18*67 $GLGSV,2,2,08,77,49,333,23,88,48,231,,87,40,151,,71,10,144,*66 $QZGSV,1,1,01,193,34,332,36,,,,,,,,,,,,*6F $GPRMC,102429.000,A,3340.8264,S,15117.4469,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102429.000,3340.8264,S,15117.4469,E,1,10,0.8,018.99,M,22.4,M,,*79 $GNGSA,A,3,05,10,25,29,02,12,04,24,09,,,,1.7,0.8,1.5*24 $GNGSA,A,3,,,,,,,,,,,,,1.7,0.8,1.5*26 $GNGSA,A,3,193,,,,,,,,,,,,1.7,0.8,1.5*1D $GPGSV,3,1,10,02,86,101,42,04,39,134,38,05,21,023,37,09,35,327,38*72 $GPGSV,3,2,10,10,31,085,34,12,62,212,41,17,06,104,,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,18*65 $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102430.000,A,3340.8264,S,15117.4468,E,0.0,0.0,251112,0.0,W*66 $GPGGA,102430.000,3340.8264,S,15117.4468,E,1,11,0.8,019.22,M,22.4,M,,*70 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,38,05,21,023,37,09,35,327,38*72 $GPGSV,3,2,10,10,31,085,35,12,62,212,42,17,06,104,21,24,37,322,38*7D $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,19*64 $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102431.000,A,3340.8265,S,15117.4468,E,0.1,0.0,251112,0.0,W*67 $GPGGA,102431.000,3340.8265,S,15117.4468,E,1,10,0.8,019.44,M,22.4,M,,*71 $GNGSA,A,3,05,10,25,29,02,12,04,24,09,,,,1.7,0.8,1.5*24 $GNGSA,A,3,,,,,,,,,,,,,1.7,0.8,1.5*26 $GNGSA,A,3,193,,,,,,,,,,,,1.7,0.8,1.5*1D $GPGSV,3,1,10,02,86,101,42,04,39,134,38,05,21,023,37,09,35,327,38*72 $GPGSV,3,2,10,10,31,085,35,12,62,212,42,17,06,104,,24,37,322,38*7E $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,19*64 $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102432.000,A,3340.8266,S,15117.4468,E,0.2,0.0,251112,0.0,W*64 $GPGGA,102432.000,3340.8266,S,15117.4468,E,1,11,0.8,019.69,M,22.4,M,,*7F $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,38,05,21,023,37,09,35,327,38*72 $GPGSV,3,2,10,10,31,085,35,12,62,212,42,17,06,104,21,24,37,322,38*7D $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,,78,51,241,19*67 $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102433.000,A,3340.8267,S,15117.4468,E,0.1,0.0,251112,0.0,W*67 $GPGGA,102433.000,3340.8267,S,15117.4468,E,1,11,0.8,019.86,M,22.4,M,,*7E $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,39,134,38,05,21,023,37,09,35,327,38*77 $GPGSV,3,2,10,10,31,085,36,12,62,212,42,17,06,104,21,24,37,322,38*7E $GPGSV,3,3,10,25,26,224,28,29,13,266,28,,,,,,,,*74 $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,19*64 $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102434.000,A,3340.8268,S,15117.4468,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102434.000,3340.8268,S,15117.4468,E,1,11,0.8,019.92,M,22.4,M,,*73 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,39,134,38,05,21,023,37,09,35,327,38*77 $GPGSV,3,2,10,10,31,085,36,12,62,212,42,17,06,104,21,24,37,322,38*7E $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,19*64 $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102435.000,A,3340.8268,S,15117.4468,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102435.000,3340.8268,S,15117.4468,E,1,11,0.8,019.87,M,22.4,M,,*76 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,39,134,38,05,21,023,37,09,35,327,38*77 $GPGSV,3,2,10,10,31,085,36,12,62,212,41,17,06,104,21,24,37,322,38*7D $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,19*65 $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102436.000,A,3340.8268,S,15117.4467,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102436.000,3340.8268,S,15117.4467,E,1,11,0.8,019.88,M,22.4,M,,*75 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,39,134,38,05,21,023,37,09,35,327,38*77 $GPGSV,3,2,10,10,31,085,36,12,62,212,42,17,06,104,21,24,37,322,38*7E $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,19*65 $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102437.000,A,3340.8269,S,15117.4466,E,0.0,0.0,251112,0.0,W*62 $GPGGA,102437.000,3340.8269,S,15117.4466,E,1,11,0.8,019.82,M,22.4,M,,*7E $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,023,37,09,35,327,38*76 $GPGSV,3,2,10,10,31,085,37,12,62,212,42,17,06,104,21,24,37,322,38*7F $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,20*6F $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102438.000,A,3340.8270,S,15117.4465,E,0.0,0.0,251112,0.0,W*66 $GPGGA,102438.000,3340.8270,S,15117.4465,E,1,11,0.8,019.83,M,22.4,M,,*7B $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,023,37,09,35,327,38*76 $GPGSV,3,2,10,10,31,085,37,12,62,212,42,17,06,104,21,24,37,322,38*7F $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,20*6F $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102439.000,A,3340.8270,S,15117.4464,E,0.0,0.0,251112,0.0,W*66 $GPGGA,102439.000,3340.8270,S,15117.4464,E,1,11,0.8,019.74,M,22.4,M,,*73 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,327,38*71 $GPGSV,3,2,10,10,31,085,37,12,62,212,42,17,06,104,21,24,37,322,38*7F $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,21*6F $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102440.000,A,3340.8271,S,15117.4463,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102440.000,3340.8271,S,15117.4463,E,1,11,0.8,019.72,M,22.4,M,,*7D $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,327,39*70 $GPGSV,3,2,10,10,31,085,38,12,62,212,42,17,06,104,21,24,37,322,39*71 $GPGSV,3,3,10,25,26,224,28,29,13,266,30,,,,,,,,*7D $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,11,78,51,241,22*6F $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102441.000,A,3340.8272,S,15117.4462,E,0.1,0.0,251112,0.0,W*6C $GPGGA,102441.000,3340.8272,S,15117.4462,E,1,11,0.8,019.78,M,22.4,M,,*74 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,327,39*70 $GPGSV,3,2,10,10,31,085,38,12,62,212,42,17,06,104,22,24,37,322,39*72 $GPGSV,3,3,10,25,26,224,28,29,13,266,30,,,,,,,,*7D $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,11,78,51,241,22*6F $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102442.000,A,3340.8273,S,15117.4462,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102442.000,3340.8273,S,15117.4462,E,1,11,0.8,019.72,M,22.4,M,,*7C $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,37,09,35,327,39*71 $GPGSV,3,2,10,10,31,085,38,12,62,212,42,17,06,104,22,24,37,322,39*72 $GPGSV,3,3,10,25,26,224,28,29,13,266,30,,,,,,,,*7D $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,11,78,51,241,23*6E $GLGSV,2,2,08,77,49,333,22,88,48,230,,87,40,151,,71,10,144,*66 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102443.000,A,3340.8273,S,15117.4461,E,0.1,0.0,251112,0.0,W*6C $GPGGA,102443.000,3340.8273,S,15117.4461,E,1,11,0.8,019.65,M,22.4,M,,*78 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,327,39*70 $GPGSV,3,2,10,10,31,085,38,12,62,212,42,17,06,104,22,24,37,322,39*72 $GPGSV,3,3,10,25,26,224,28,29,13,266,30,,,,,,,,*7D $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,11,78,51,241,23*6E $GLGSV,2,2,08,77,49,333,22,88,48,230,,87,40,151,,71,10,144,*66 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102444.000,A,3340.8274,S,15117.4460,E,0.1,0.0,251112,0.0,W*6D $GPGGA,102444.000,3340.8274,S,15117.4460,E,1,11,0.8,019.75,M,22.4,M,,*78 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,327,39*70 $GPGSV,3,2,10,10,31,085,38,12,62,212,42,17,06,104,22,24,37,322,38*73 $GPGSV,3,3,10,25,26,224,28,29,13,266,30,,,,,,,,*7D $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,23*6D $GLGSV,2,2,08,77,49,333,22,88,48,230,,87,40,151,,71,10,144,*66 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102445.000,A,3340.8274,S,15117.4460,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102445.000,3340.8274,S,15117.4460,E,1,11,0.8,019.86,M,22.4,M,,*75 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,327,39*70 $GPGSV,3,2,10,10,31,085,38,12,62,212,42,17,06,104,22,24,37,322,39*72 $GPGSV,3,3,10,25,26,224,27,29,13,266,31,,,,,,,,*73 $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,23*6D $GLGSV,2,2,08,77,49,333,22,88,48,230,,87,40,151,,71,10,144,*66 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102446.000,A,3340.8276,S,15117.4460,E,0.1,0.0,251112,0.0,W*6D $GPGGA,102446.000,3340.8276,S,15117.4460,E,1,11,0.8,019.85,M,22.4,M,,*77 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,327,39*70 $GPGSV,3,2,10,10,31,085,38,12,62,212,42,17,06,104,22,24,37,322,38*73 $GPGSV,3,3,10,25,26,224,27,29,13,266,31,,,,,,,,*73 $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,24*6A $GLGSV,2,2,08,77,49,333,22,88,48,230,,87,40,151,,71,10,144,*66 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102447.000,A,3340.8276,S,15117.4461,E,0.0,0.0,251112,0.0,W*6C $GPGGA,102447.000,3340.8276,S,15117.4461,E,1,11,0.8,019.68,M,22.4,M,,*74 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,328,39*7F $GPGSV,3,2,10,10,31,085,38,12,62,212,42,17,06,104,22,24,37,322,38*73 $GPGSV,3,3,10,25,26,224,27,29,13,266,31,,,,,,,,*73 $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,24*6A $GLGSV,2,2,08,77,49,333,21,88,48,230,,87,40,151,,71,10,144,*65 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102448.000,A,3340.8277,S,15117.4461,E,0.0,0.0,251112,0.0,W*62 $GPGGA,102448.000,3340.8277,S,15117.4461,E,1,11,0.8,019.75,M,22.4,M,,*76 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,328,39*7F $GPGSV,3,2,10,10,31,085,38,12,62,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,27,29,13,266,31,,,,,,,,*73 $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,11,78,51,241,24*69 $GLGSV,2,2,08,77,49,333,21,88,48,230,,87,40,151,,71,10,144,*65 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102449.000,A,3340.8277,S,15117.4461,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102449.000,3340.8277,S,15117.4461,E,1,12,0.7,019.79,M,22.4,M,,*77 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,328,39*7F $GPGSV,3,2,10,10,31,085,38,12,62,212,42,17,06,104,23,24,37,322,39*73 $GPGSV,3,3,10,25,26,224,27,29,13,266,31,,,,,,,,*73 $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,11,78,51,241,24*68 $GLGSV,2,2,08,77,49,333,21,88,48,230,21,87,40,151,,71,10,144,*66 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102450.000,A,3340.8277,S,15117.4461,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102450.000,3340.8277,S,15117.4461,E,1,12,0.7,019.67,M,22.4,M,,*70 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,328,39*7F $GPGSV,3,2,10,10,31,085,39,12,62,212,42,17,06,104,23,24,37,322,39*72 $GPGSV,3,3,10,25,26,224,27,29,13,266,31,,,,,,,,*73 $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,11,78,51,241,25*68 $GLGSV,2,2,08,77,49,333,21,88,48,230,21,87,40,151,,71,10,144,*66 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102451.000,A,3340.8277,S,15117.4461,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102451.000,3340.8277,S,15117.4461,E,1,12,0.7,019.61,M,22.4,M,,*77 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,328,39*7F $GPGSV,3,2,10,10,31,085,39,12,62,212,42,17,06,104,23,24,37,322,38*73 $GPGSV,3,3,10,25,26,224,27,29,13,266,31,,,,,,,,*73 $GLGSV,2,1,08,76,06,007,,65,11,041,22,81,10,276,11,78,51,241,25*68 $GLGSV,2,2,08,77,49,333,21,88,48,230,22,87,40,151,,71,10,144,*65 $QZGSV,1,1,01,193,34,332,37,,,,,,,,,,,,*6E $GPRMC,102452.000,A,3340.8277,S,15117.4463,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102452.000,3340.8277,S,15117.4463,E,1,12,0.7,019.35,M,22.4,M,,*77 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,328,39*7F $GPGSV,3,2,10,10,31,085,39,12,62,212,42,17,06,104,23,24,37,322,38*73 $GPGSV,3,3,10,25,26,224,27,29,13,266,31,,,,,,,,*73 $GLGSV,2,1,08,76,06,007,,65,11,041,23,81,10,276,11,78,51,241,25*69 $GLGSV,2,2,08,77,49,333,20,88,48,230,22,87,40,151,,71,10,144,*64 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102453.000,A,3340.8277,S,15117.4463,E,0.1,0.0,251112,0.0,W*6B $GPGGA,102453.000,3340.8277,S,15117.4463,E,1,12,0.7,019.07,M,22.4,M,,*77 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,328,40*71 $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,24,24,37,322,39*74 $GPGSV,3,3,10,25,26,224,27,29,13,266,31,,,,,,,,*73 $GLGSV,2,1,08,76,06,007,,65,11,041,23,81,10,276,11,78,51,241,26*6A $GLGSV,2,2,08,77,49,333,19,88,48,230,22,87,40,151,,71,10,144,*6E $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102454.000,A,3340.8277,S,15117.4465,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102454.000,3340.8277,S,15117.4465,E,1,12,0.7,018.40,M,22.4,M,,*74 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,43,17,06,104,23,24,37,322,39*72 $GPGSV,3,3,10,25,26,224,28,29,13,266,31,,,,,,,,*7C $GLGSV,2,1,08,76,06,007,,65,11,041,23,81,10,276,11,78,51,241,26*6A $GLGSV,2,2,08,77,49,333,19,88,48,230,22,87,40,151,,71,10,144,*6E $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102455.000,A,3340.8278,S,15117.4468,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102455.000,3340.8278,S,15117.4468,E,1,12,0.7,017.67,M,22.4,M,,*7D $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,23,24,37,322,39*7D $GPGSV,3,3,10,25,26,224,28,29,13,266,31,,,,,,,,*7C $GLGSV,2,1,08,76,06,007,,65,12,041,23,81,10,276,11,78,51,241,27*68 $GLGSV,2,2,08,77,49,333,19,88,48,230,23,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102456.000,A,3340.8277,S,15117.4469,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102456.000,3340.8277,S,15117.4469,E,1,12,0.7,017.13,M,22.4,M,,*73 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,328,40*71 $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,23,24,37,322,39*7D $GPGSV,3,3,10,25,26,224,28,29,13,266,31,,,,,,,,*7C $GLGSV,2,1,08,76,06,007,,65,12,041,23,81,10,276,12,78,51,241,27*6B $GLGSV,2,2,08,77,49,333,19,88,48,230,23,87,40,151,,71,10,144,*6F $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102457.000,A,3340.8276,S,15117.4471,E,0.0,0.0,251112,0.0,W*6C $GPGGA,102457.000,3340.8276,S,15117.4471,E,1,12,0.7,016.97,M,22.4,M,,*77 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,43,17,06,104,23,24,37,322,39*72 $GPGSV,3,3,10,25,26,224,28,29,13,266,32,,,,,,,,*7F $GLGSV,2,1,08,76,06,007,,65,12,041,23,81,10,276,13,78,51,241,27*6A $GLGSV,2,2,08,77,49,333,19,88,48,230,24,87,40,151,,71,10,144,*68 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102458.000,A,3340.8276,S,15117.4472,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102458.000,3340.8276,S,15117.4472,E,1,12,0.7,016.21,M,22.4,M,,*76 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,43,17,06,104,23,24,37,322,39*72 $GPGSV,3,3,10,25,26,224,28,29,13,266,32,,,,,,,,*7F $GLGSV,2,1,08,76,06,007,,65,12,041,23,81,10,276,13,78,51,241,27*6A $GLGSV,2,2,08,77,49,333,19,88,48,230,24,87,40,151,,71,10,144,*68 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102459.000,A,3340.8276,S,15117.4474,E,0.0,0.0,251112,0.0,W*67 $GPGGA,102459.000,3340.8276,S,15117.4474,E,1,12,0.7,015.28,M,22.4,M,,*7B $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,40,12,63,212,43,17,06,104,23,24,37,322,39*7C $GPGSV,3,3,10,25,26,224,28,29,13,266,32,,,,,,,,*7F $GLGSV,2,1,08,76,06,007,,65,12,041,23,81,10,276,13,78,51,241,27*6A $GLGSV,2,2,08,77,49,333,19,88,48,230,24,87,40,151,,71,10,144,*68 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102500.000,A,3340.8277,S,15117.4475,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102500.000,3340.8277,S,15117.4475,E,1,12,0.7,014.49,M,22.4,M,,*70 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,40,12,63,212,43,17,06,104,23,24,37,322,39*7C $GPGSV,3,3,10,25,26,224,28,29,13,266,32,,,,,,,,*7F $GLGSV,2,1,08,76,06,007,,65,12,041,23,81,10,276,13,78,51,241,27*6A $GLGSV,2,2,08,77,49,333,18,88,48,230,24,87,40,151,,71,10,144,*69 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102501.000,A,3340.8277,S,15117.4476,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102501.000,3340.8277,S,15117.4476,E,1,12,0.7,014.12,M,22.4,M,,*7C $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,43,04,38,134,38,05,21,024,38,09,35,328,40*7F $GPGSV,3,2,10,10,31,085,40,12,63,212,43,17,06,104,23,24,37,322,39*7C $GPGSV,3,3,10,25,26,224,28,29,13,266,32,,,,,,,,*7F $GLGSV,2,1,08,76,06,007,,65,12,041,23,81,10,276,13,78,51,241,28*65 $GLGSV,2,2,08,77,49,333,18,88,48,230,24,87,40,151,,71,10,144,*69 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102502.000,A,3340.8278,S,15117.4475,E,0.1,0.0,251112,0.0,W*66 $GPGGA,102502.000,3340.8278,S,15117.4475,E,1,12,0.7,013.85,M,22.4,M,,*7A $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,23,24,37,322,39*7D $GPGSV,3,3,10,25,26,224,28,29,13,266,32,,,,,,,,*7F $GLGSV,2,1,08,76,06,007,,65,12,041,23,81,10,276,13,78,51,241,28*65 $GLGSV,2,2,08,77,49,333,18,88,48,230,24,87,40,151,,71,10,144,*69 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102503.000,A,3340.8278,S,15117.4476,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102503.000,3340.8278,S,15117.4476,E,1,12,0.7,014.38,M,22.4,M,,*79 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,29,29,13,266,32,,,,,,,,*7E $GLGSV,2,1,08,76,06,007,,65,12,041,23,81,10,276,13,78,51,241,28*65 $GLGSV,2,2,08,77,49,333,17,88,48,230,24,87,40,151,,71,10,144,*66 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102504.000,A,3340.8276,S,15117.4476,E,0.1,0.0,251112,0.0,W*6D $GPGGA,102504.000,3340.8276,S,15117.4476,E,1,12,0.7,015.19,M,22.4,M,,*72 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,29,29,13,266,32,,,,,,,,*7E $GLGSV,2,1,08,76,06,007,,65,12,041,23,81,10,276,13,78,51,241,27*6A $GLGSV,2,2,08,77,49,333,17,88,48,230,25,87,40,151,,71,10,144,*67 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102505.000,A,3340.8275,S,15117.4477,E,0.1,0.0,251112,0.0,W*6E $GPGGA,102505.000,3340.8275,S,15117.4477,E,1,12,0.7,015.99,M,22.4,M,,*79 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,29,29,13,266,32,,,,,,,,*7E $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,51,241,27*6B $GLGSV,2,2,08,77,49,333,14,88,48,230,25,87,40,151,,71,10,144,*64 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102506.000,A,3340.8274,S,15117.4478,E,0.0,0.0,251112,0.0,W*62 $GPGGA,102506.000,3340.8274,S,15117.4478,E,1,12,0.7,016.86,M,22.4,M,,*79 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,39*73 $GPGSV,3,3,10,25,26,224,30,29,13,266,32,,,,,,,,*76 $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,51,241,27*6B $GLGSV,2,2,08,77,49,333,,88,48,230,25,87,40,151,,71,10,144,*61 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102507.000,A,3340.8273,S,15117.4479,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102507.000,3340.8273,S,15117.4479,E,1,12,0.7,017.48,M,22.4,M,,*7D $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,39*73 $GPGSV,3,3,10,25,26,224,30,29,13,266,32,,,,,,,,*76 $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,52,242,27*6B $GLGSV,2,2,08,77,49,333,,88,48,230,25,87,40,151,,71,10,144,*61 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102508.000,A,3340.8272,S,15117.4479,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102508.000,3340.8272,S,15117.4479,E,1,13,0.7,018.09,M,22.4,M,,*78 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,39*73 $GPGSV,3,3,10,25,26,224,30,29,13,266,32,,,,,,,,*76 $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,52,242,27*6B $GLGSV,2,2,08,77,49,333,,88,48,230,25,87,40,151,,71,10,144,*61 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102509.000,A,3340.8271,S,15117.4480,E,0.1,0.0,251112,0.0,W*6E $GPGGA,102509.000,3340.8271,S,15117.4480,E,1,13,0.7,018.76,M,22.4,M,,*74 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,30,29,13,266,32,,,,,,,,*76 $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,52,242,27*6B $GLGSV,2,2,08,77,49,333,,88,48,230,25,87,40,151,,71,10,144,*61 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102510.000,A,3340.8270,S,15117.4480,E,0.0,0.0,251112,0.0,W*66 $GPGGA,102510.000,3340.8270,S,15117.4480,E,1,13,0.7,019.36,M,22.4,M,,*78 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,30,29,13,266,32,,,,,,,,*76 $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,52,242,27*6B $GLGSV,2,2,08,77,49,333,,88,48,230,25,87,40,151,,71,10,144,*61 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102511.000,A,3340.8269,S,15117.4481,E,0.1,0.0,251112,0.0,W*6F $GPGGA,102511.000,3340.8269,S,15117.4481,E,1,13,0.7,019.68,M,22.4,M,,*7B $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,31,29,13,266,32,,,,,,,,*77 $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,52,242,27*6B $GLGSV,2,2,08,77,49,333,,88,48,230,25,87,40,151,,71,10,144,*61 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102512.000,A,3340.8268,S,15117.4482,E,0.1,0.0,251112,0.0,W*6E $GPGGA,102512.000,3340.8268,S,15117.4482,E,1,13,0.7,019.95,M,22.4,M,,*78 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,39*70 $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,31,29,13,266,32,,,,,,,,*77 $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,52,242,26*6A $GLGSV,2,2,08,77,49,333,,88,48,230,25,87,40,151,,71,10,144,*61 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102513.000,A,3340.8268,S,15117.4482,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102513.000,3340.8268,S,15117.4482,E,1,13,0.7,020.23,M,22.4,M,,*7E $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,31,29,13,266,32,,,,,,,,*77 $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,52,242,26*6A $GLGSV,2,2,08,77,49,333,,88,48,230,25,87,40,151,,71,10,144,*61 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102514.000,A,3340.8268,S,15117.4483,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102514.000,3340.8268,S,15117.4483,E,1,13,0.7,020.44,M,22.4,M,,*79 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,31,29,13,266,32,,,,,,,,*77 $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,52,242,26*6A $GLGSV,2,2,08,77,49,333,,88,48,230,26,87,40,151,,71,10,144,*62 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102515.000,A,3340.8268,S,15117.4483,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102515.000,3340.8268,S,15117.4483,E,1,13,0.7,020.64,M,22.4,M,,*7A $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,43,04,38,134,38,05,21,024,38,09,35,328,40*7F $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,32,29,13,266,31,,,,,,,,*77 $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,52,242,26*6A $GLGSV,2,2,08,77,49,333,,88,48,230,26,87,40,151,,71,10,144,*62 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102516.000,A,3340.8267,S,15117.4483,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102516.000,3340.8267,S,15117.4483,E,1,13,0.7,020.85,M,22.4,M,,*79 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,43,04,38,134,38,05,21,024,38,09,35,328,40*7F $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,32,29,13,266,31,,,,,,,,*77 $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,13,78,52,242,25*6A $GLGSV,2,2,08,77,49,333,,88,48,230,25,87,40,151,,71,10,144,*61 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102517.000,A,3340.8267,S,15117.4484,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102517.000,3340.8267,S,15117.4484,E,1,13,0.7,021.02,M,22.4,M,,*71 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,43,04,38,134,38,05,21,024,38,09,35,328,40*7F $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,323,38*73 $GPGSV,3,3,10,25,26,224,32,29,13,266,31,,,,,,,,*77 $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,13,78,52,242,25*6A $GLGSV,2,2,08,77,49,334,,88,48,230,25,87,40,151,,71,10,144,*66 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102518.000,A,3340.8268,S,15117.4484,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102518.000,3340.8268,S,15117.4484,E,1,13,0.7,020.99,M,22.4,M,,*72 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,43,04,38,134,39,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,23,24,37,323,38*7D $GPGSV,3,3,10,25,26,224,32,29,13,266,31,,,,,,,,*77 $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,13,78,52,242,25*6A $GLGSV,2,2,08,77,49,334,,88,48,230,25,87,40,151,,71,10,144,*66 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102519.000,A,3340.8268,S,15117.4485,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102519.000,3340.8268,S,15117.4485,E,1,13,0.7,020.79,M,22.4,M,,*7C $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,43,04,38,134,39,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,23,24,37,323,39*7C $GPGSV,3,3,10,25,26,224,32,29,13,266,31,,,,,,,,*77 $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,13,78,52,242,25*6A $GLGSV,2,2,08,77,49,334,,88,48,230,25,87,40,151,,71,10,144,*66 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102520.000,A,3340.8269,S,15117.4485,E,0.1,0.0,251112,0.0,W*69 $GPGGA,102520.000,3340.8269,S,15117.4485,E,1,13,0.7,020.87,M,22.4,M,,*76 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,38,09,35,328,40*7F $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,23,24,37,323,38*7D $GPGSV,3,3,10,25,26,224,32,29,13,266,31,,,,,,,,*77 $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,13,78,52,242,25*6A $GLGSV,2,2,08,77,49,334,,88,48,230,25,87,40,151,,71,10,144,*66 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102521.000,A,3340.8270,S,15117.4485,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102521.000,3340.8270,S,15117.4485,E,1,13,0.7,021.10,M,22.4,M,,*70 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,23,24,37,323,39*7C $GPGSV,3,3,10,25,26,224,32,29,13,266,31,,,,,,,,*77 $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,13,78,52,242,24*6B $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,40,151,,71,10,144,*67 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102522.000,A,3340.8270,S,15117.4486,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102522.000,3340.8270,S,15117.4486,E,1,13,0.7,021.14,M,22.4,M,,*74 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,24,24,37,323,39*7B $GPGSV,3,3,10,25,26,224,33,29,13,266,31,,,,,,,,*76 $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,13,78,52,242,24*6B $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,40,151,,71,10,144,*67 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102523.000,A,3340.8272,S,15117.4487,E,0.1,0.0,251112,0.0,W*62 $GPGGA,102523.000,3340.8272,S,15117.4487,E,1,13,0.7,021.05,M,22.4,M,,*76 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,24,24,37,323,39*7B $GPGSV,3,3,10,25,26,224,33,29,13,266,31,,,,,,,,*76 $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,13,78,52,242,24*6B $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,40,151,,71,10,144,*67 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102524.000,A,3340.8273,S,15117.4488,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102524.000,3340.8273,S,15117.4488,E,1,13,0.7,020.98,M,22.4,M,,*7A $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,43,04,38,134,39,05,21,024,39,09,35,328,40*7F $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,24,24,37,323,39*7B $GPGSV,3,3,10,25,26,224,33,29,13,266,31,,,,,,,,*76 $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,12,78,52,242,23*6D $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,40,151,,71,10,144,*67 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102525.000,A,3340.8274,S,15117.4488,E,0.0,0.0,251112,0.0,W*6C $GPGGA,102525.000,3340.8274,S,15117.4488,E,1,13,0.7,020.93,M,22.4,M,,*77 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,43,04,38,134,39,05,21,024,39,09,35,328,40*7F $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,24,24,37,323,39*7B $GPGSV,3,3,10,25,26,224,33,29,13,266,31,,,,,,,,*76 $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,10,78,52,242,22*6E $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,40,151,,71,10,144,*67 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102526.000,A,3340.8275,S,15117.4489,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102526.000,3340.8275,S,15117.4489,E,1,12,0.8,020.22,M,22.4,M,,*70 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,78,,,,,,,,,,,,1.4,0.8,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,85,107,43,04,38,134,39,05,21,024,39,09,35,328,40*7F $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,24,24,37,323,39*7B $GPGSV,3,3,10,25,26,224,33,29,13,266,31,,,,,,,,*76 $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,,78,52,242,22*6F $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,40,151,,71,10,144,*67 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102527.000,A,3340.8276,S,15117.4495,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102527.000,3340.8276,S,15117.4495,E,1,12,0.8,019.14,M,22.4,M,,*70 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,78,,,,,,,,,,,,1.4,0.8,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,85,107,43,04,38,134,39,05,21,024,39,09,35,328,40*7F $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,24,24,37,323,39*7B $GPGSV,3,3,10,25,26,224,33,29,13,266,30,,,,,,,,*77 $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,,78,52,242,21*6C $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,40,151,,71,10,144,*67 $QZGSV,1,1,01,193,34,332,38,,,,,,,,,,,,*61 $GPRMC,102528.000,A,3340.8276,S,15117.4501,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102528.000,3340.8276,S,15117.4501,E,1,12,0.8,018.33,M,22.4,M,,*77 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,78,,,,,,,,,,,,1.4,0.8,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,24,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,33,29,13,265,30,,,,,,,,*74 $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,,78,52,242,19*67 $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102529.000,A,3340.8277,S,15117.4505,E,0.0,0.0,251112,0.0,W*67 $GPGGA,102529.000,3340.8277,S,15117.4505,E,1,12,0.8,017.55,M,22.4,M,,*7C $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,78,,,,,,,,,,,,1.4,0.8,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,24,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,33,29,13,265,30,,,,,,,,*74 $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,18*67 $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102530.000,A,3340.8278,S,15117.4508,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102530.000,3340.8278,S,15117.4508,E,1,12,0.8,016.90,M,22.4,M,,*7E $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,78,,,,,,,,,,,,1.4,0.8,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,24,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,33,29,13,265,30,,,,,,,,*74 $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,18*67 $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102531.000,A,3340.8278,S,15117.4511,E,0.0,0.0,251112,0.0,W*64 $GPGGA,102531.000,3340.8278,S,15117.4511,E,1,12,0.8,016.49,M,22.4,M,,*73 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,78,,,,,,,,,,,,1.4,0.8,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,24,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,33,29,13,265,30,,,,,,,,*74 $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,16*69 $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102532.000,A,3340.8278,S,15117.4514,E,0.0,0.0,251112,0.0,W*62 $GPGGA,102532.000,3340.8278,S,15117.4514,E,1,11,0.8,016.08,M,22.4,M,,*73 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,24,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,*6E $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102533.000,A,3340.8279,S,15117.4516,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102533.000,3340.8279,S,15117.4516,E,1,11,0.8,016.21,M,22.4,M,,*7A $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,24,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,*6E $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102534.000,A,3340.8278,S,15117.4517,E,0.0,0.0,251112,0.0,W*67 $GPGGA,102534.000,3340.8278,S,15117.4517,E,1,11,0.8,016.73,M,22.4,M,,*7A $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,24,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,*6E $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102535.000,A,3340.8279,S,15117.4518,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102535.000,3340.8279,S,15117.4518,E,1,11,0.8,017.16,M,22.4,M,,*77 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,43,17,06,104,25,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,33,29,13,265,30,,,,,,,,*74 $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,*6E $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102536.000,A,3340.8279,S,15117.4518,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102536.000,3340.8279,S,15117.4518,E,1,11,0.8,017.39,M,22.4,M,,*79 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,43,17,06,104,25,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,33,29,13,265,30,,,,,,,,*74 $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,*6E $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102537.000,A,3340.8279,S,15117.4518,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102537.000,3340.8279,S,15117.4518,E,1,11,0.8,017.64,M,22.4,M,,*70 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,43,04,38,134,39,05,21,024,39,09,35,328,40*7F $GPGSV,3,2,10,10,31,085,38,12,63,212,43,17,06,104,25,24,37,323,39*74 $GPGSV,3,3,10,25,26,224,33,29,13,265,30,,,,,,,,*74 $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,*6E $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102538.000,A,3340.8280,S,15117.4519,E,0.0,0.0,251112,0.0,W*62 $GPGGA,102538.000,3340.8280,S,15117.4519,E,1,11,0.8,018.20,M,22.4,M,,*77 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,112,43,04,38,134,39,05,21,024,39,09,35,328,40*7B $GPGSV,3,2,10,10,31,085,38,12,63,212,43,17,06,104,25,24,37,323,39*74 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,*6E $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102539.000,A,3340.8281,S,15117.4520,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102539.000,3340.8281,S,15117.4520,E,1,11,0.8,018.69,M,22.4,M,,*70 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,112,43,04,38,134,39,05,21,024,39,09,35,328,40*7B $GPGSV,3,2,10,10,31,085,38,12,63,212,43,17,06,104,25,24,37,323,39*74 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,*6E $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102540.000,A,3340.8282,S,15117.4520,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102540.000,3340.8282,S,15117.4520,E,1,12,0.7,019.14,M,22.4,M,,*7A $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,39,05,21,024,39,09,35,328,40*7B $GPGSV,3,2,10,10,31,085,38,12,63,212,43,17,06,104,26,24,37,323,39*77 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,*6E $GLGSV,2,2,08,77,49,334,,88,48,229,24,87,39,150,,71,10,144,*60 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102541.000,A,3340.8282,S,15117.4520,E,0.0,0.0,251112,0.0,W*64 $GPGGA,102541.000,3340.8282,S,15117.4520,E,1,12,0.7,019.28,M,22.4,M,,*74 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,39,05,21,024,39,09,35,328,40*7B $GPGSV,3,2,10,10,31,085,38,12,63,212,43,17,06,104,26,24,37,323,39*77 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,*6E $GLGSV,2,2,08,77,49,334,,88,48,229,24,87,39,150,,71,10,144,*60 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102542.000,A,3340.8283,S,15117.4521,E,0.0,0.0,251112,0.0,W*67 $GPGGA,102542.000,3340.8283,S,15117.4521,E,1,12,0.7,019.37,M,22.4,M,,*79 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,39,05,21,024,39,09,35,328,40*7B $GPGSV,3,2,10,10,31,085,38,12,63,212,43,17,06,104,26,24,37,323,39*77 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C $GLGSV,2,1,08,76,06,007,,65,12,041,19,81,10,276,,78,52,242,*64 $GLGSV,2,2,08,77,49,334,,88,48,229,24,87,39,150,,71,10,144,*60 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102543.000,A,3340.8284,S,15117.4522,E,0.0,0.0,251112,0.0,W*62 $GPGGA,102543.000,3340.8284,S,15117.4522,E,1,12,0.7,018.83,M,22.4,M,,*72 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,42,04,38,134,39,05,21,024,39,09,35,328,40*7A $GPGSV,3,2,10,10,31,085,37,12,63,212,43,17,06,104,26,24,37,323,39*78 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C $GLGSV,2,1,08,76,06,007,,65,12,041,19,81,10,276,,78,52,242,*64 $GLGSV,2,2,08,77,49,334,,88,48,229,24,87,39,150,,71,10,144,*60 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102544.000,A,3340.8286,S,15117.4525,E,0.1,0.0,251112,0.0,W*61 $GPGGA,102544.000,3340.8286,S,15117.4525,E,1,12,0.7,018.33,M,22.4,M,,*7B $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,42,04,38,134,39,05,22,024,39,09,35,328,40*79 $GPGSV,3,2,10,10,31,085,37,12,63,212,43,17,06,104,26,24,37,323,39*78 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C $GLGSV,2,1,08,76,06,007,,65,12,041,18,81,10,276,,78,52,242,*65 $GLGSV,2,2,08,77,49,334,,88,48,229,24,87,39,150,,71,10,144,*60 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102545.000,A,3340.8286,S,15117.4525,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102545.000,3340.8286,S,15117.4525,E,1,12,0.7,017.87,M,22.4,M,,*7A $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,42,04,38,134,39,05,22,024,39,09,35,328,40*79 $GPGSV,3,2,10,10,31,085,37,12,63,212,43,17,06,104,26,24,37,323,39*78 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C $GLGSV,2,1,08,76,06,007,,65,12,041,18,81,10,276,,78,52,242,*65 $GLGSV,2,2,08,77,49,334,,88,48,229,24,87,39,150,,71,10,144,*60 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102546.000,A,3340.8288,S,15117.4526,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102546.000,3340.8288,S,15117.4526,E,1,12,0.7,017.07,M,22.4,M,,*7C $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,42,04,38,134,38,05,22,024,39,09,35,328,40*78 $GPGSV,3,2,10,10,31,085,36,12,63,212,43,17,06,104,26,24,37,323,39*79 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C $GLGSV,2,1,08,76,06,007,,65,12,041,18,81,10,276,,78,52,242,*65 $GLGSV,2,2,08,77,49,334,,88,48,229,23,87,39,150,,71,10,144,*67 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102547.000,A,3340.8290,S,15117.4526,E,0.0,0.0,251112,0.0,W*67 $GPGGA,102547.000,3340.8290,S,15117.4526,E,1,12,0.7,016.02,M,22.4,M,,*70 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,42,04,38,134,38,05,22,024,39,09,35,328,40*78 $GPGSV,3,2,10,10,31,085,36,12,63,212,43,17,06,104,26,24,37,323,39*79 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C $GLGSV,2,1,08,76,06,007,,65,12,041,17,81,10,276,,78,52,242,*6A $GLGSV,2,2,08,77,49,334,,88,48,229,23,87,39,150,,71,10,144,*67 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102548.000,A,3340.8290,S,15117.4526,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102548.000,3340.8290,S,15117.4526,E,1,12,0.7,015.24,M,22.4,M,,*78 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,38,05,22,024,39,09,35,328,40*79 $GPGSV,3,2,10,10,31,085,36,12,63,212,43,17,06,104,26,24,37,323,39*79 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C $GLGSV,2,1,08,76,06,007,,65,12,041,15,81,10,276,,78,52,242,*68 $GLGSV,2,2,08,77,49,334,,88,48,229,23,87,39,150,,71,10,144,*67 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102549.000,A,3340.8290,S,15117.4525,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102549.000,3340.8290,S,15117.4525,E,1,12,0.7,015.01,M,22.4,M,,*7D $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,38,05,22,024,39,09,35,328,40*79 $GPGSV,3,2,10,10,31,085,35,12,63,212,43,17,06,104,26,24,37,323,39*7A $GPGSV,3,3,10,25,26,224,34,29,13,265,29,,,,,,,,*7B $GLGSV,2,1,08,76,06,007,,65,12,041,14,81,10,276,,78,52,242,*69 $GLGSV,2,2,08,77,49,334,,88,48,229,23,87,39,150,,71,10,144,*67 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102550.000,A,3340.8290,S,15117.4523,E,0.0,0.0,251112,0.0,W*64 $GPGGA,102550.000,3340.8290,S,15117.4523,E,1,12,0.7,015.10,M,22.4,M,,*73 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,38,05,22,024,39,09,35,328,40*79 $GPGSV,3,2,10,10,31,085,35,12,63,212,43,17,06,104,26,24,37,323,39*7A $GPGSV,3,3,10,25,26,224,34,29,13,265,29,,,,,,,,*7B $GLGSV,2,1,08,76,06,007,,65,12,041,14,81,10,276,,78,52,242,*69 $GLGSV,2,2,08,77,49,334,,88,48,229,22,87,39,150,,71,10,144,*66 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102551.000,A,3340.8291,S,15117.4521,E,0.0,0.0,251112,0.0,W*66 $GPGGA,102551.000,3340.8291,S,15117.4521,E,1,12,0.7,015.30,M,22.4,M,,*73 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,38,05,22,024,39,09,35,328,40*79 $GPGSV,3,2,10,10,31,085,35,12,63,212,43,17,06,104,27,24,37,323,39*7B $GPGSV,3,3,10,25,26,224,34,29,13,265,29,,,,,,,,*7B $GLGSV,2,1,08,76,06,007,,65,12,041,,81,10,276,,78,52,242,*6C $GLGSV,2,2,08,77,49,334,,88,48,229,22,87,39,150,,71,10,144,*66 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102552.000,A,3340.8290,S,15117.4520,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102552.000,3340.8290,S,15117.4520,E,1,12,0.7,015.49,M,22.4,M,,*7E $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,38,05,22,024,39,09,35,328,40*79 $GPGSV,3,2,10,10,31,085,34,12,63,212,43,17,06,104,27,24,37,323,39*7A $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C $GLGSV,2,1,08,76,06,007,,65,12,041,14,81,10,276,,78,52,242,*69 $GLGSV,2,2,08,77,49,334,,88,48,229,22,87,39,150,,71,10,144,*66 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102553.000,A,3340.8289,S,15117.4519,E,0.0,0.0,251112,0.0,W*66 $GPGGA,102553.000,3340.8289,S,15117.4519,E,1,12,0.7,015.74,M,22.4,M,,*73 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,38,05,22,024,39,09,34,328,40*78 $GPGSV,3,2,10,10,31,085,34,12,63,212,43,17,06,104,27,24,37,323,39*7A $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C $GLGSV,2,1,08,76,06,007,,65,12,041,14,81,10,276,,78,52,242,*69 $GLGSV,2,2,08,77,49,334,,88,48,229,22,87,39,150,,71,10,144,*66 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102554.000,A,3340.8288,S,15117.4518,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102554.000,3340.8288,S,15117.4518,E,1,13,0.7,016.08,M,22.4,M,,*7D $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,38,05,22,024,39,09,34,328,40*78 $GPGSV,3,2,10,10,31,085,34,12,63,212,43,17,06,104,28,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,34,29,13,265,29,,,,,,,,*7B $GLGSV,2,1,08,76,06,007,,65,12,041,14,81,10,276,,78,52,242,20*6B $GLGSV,2,2,08,77,49,334,,88,48,229,21,87,39,150,,71,10,144,*65 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102555.000,A,3340.8287,S,15117.4517,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102555.000,3340.8287,S,15117.4517,E,1,13,0.7,015.91,M,22.4,M,,*7F $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,38,05,22,024,39,09,34,328,40*78 $GPGSV,3,2,10,10,32,086,34,12,63,212,43,17,06,104,28,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,34,29,13,265,29,,,,,,,,*7B $GLGSV,2,1,08,76,06,007,,65,12,041,13,81,10,276,,78,52,242,20*6C $GLGSV,2,2,08,77,49,334,,88,48,229,21,87,39,150,,71,10,144,*65 $QZGSV,1,1,01,193,35,332,38,,,,,,,,,,,,*60 $GPRMC,102556.000,A,3340.8286,S,15117.4514,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102556.000,3340.8286,S,15117.4514,E,1,13,0.7,016.30,M,22.4,M,,*76 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,39,05,22,024,40,09,34,328,40*77 $GPGSV,3,2,10,10,32,086,34,12,63,212,43,17,06,104,29,24,37,323,40*7A $GPGSV,3,3,10,25,26,224,34,29,13,265,29,,,,,,,,*7B $GLGSV,2,1,08,76,06,007,,65,12,041,,81,10,276,,78,52,242,20*6E $GLGSV,2,2,08,77,49,334,,88,48,229,21,87,39,150,,71,10,144,*65 $QZGSV,1,1,01,193,35,332,39,,,,,,,,,,,,*61 $GPRMC,102557.000,A,3340.8285,S,15117.4511,E,0.0,0.0,251112,0.0,W*66 $GPGGA,102557.000,3340.8285,S,15117.4511,E,1,13,0.7,016.78,M,22.4,M,,*7D $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,39,05,22,024,40,09,34,328,41*76 $GPGSV,3,2,10,10,32,086,34,12,63,212,44,17,06,104,29,24,37,323,40*7D $GPGSV,3,3,10,25,26,224,34,29,13,265,29,,,,,,,,*7B $GLGSV,2,1,08,76,06,007,,65,12,041,,81,10,276,,78,52,242,20*6E $GLGSV,2,2,08,77,49,334,,88,48,229,21,87,39,150,,71,10,144,*65 $QZGSV,1,1,01,193,35,332,39,,,,,,,,,,,,*61 $GPRMC,102558.000,A,3340.8284,S,15117.4509,E,0.1,0.0,251112,0.0,W*60 $GPGGA,102558.000,3340.8284,S,15117.4509,E,1,13,0.7,017.08,M,22.4,M,,*7C $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,44,04,38,134,39,05,22,024,40,09,34,328,41*71 $GPGSV,3,2,10,10,32,086,35,12,63,212,44,17,06,104,29,24,37,323,40*7C $GPGSV,3,3,10,25,26,224,34,29,13,265,29,,,,,,,,*7B $GLGSV,2,1,08,76,06,007,,65,12,041,,81,10,276,,78,52,242,21*6F $GLGSV,2,2,08,77,49,334,,88,48,229,21,87,39,150,,71,10,144,*65 $QZGSV,1,1,01,193,35,332,39,,,,,,,,,,,,*61 $GPRMC,102559.000,A,3340.8282,S,15117.4507,E,0.1,0.0,251112,0.0,W*69 $GPGGA,102559.000,3340.8282,S,15117.4507,E,1,13,0.7,017.39,M,22.4,M,,*77 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,44,04,38,134,39,05,22,024,40,09,34,328,41*71 $GPGSV,3,2,10,10,32,086,35,12,63,212,44,17,06,104,29,24,37,323,40*7C $GPGSV,3,3,10,25,26,224,34,29,13,265,29,,,,,,,,*7B $GLGSV,2,1,08,76,06,007,,65,12,041,,81,10,275,,78,52,242,21*6C $GLGSV,2,2,08,77,49,334,,88,48,229,21,87,39,150,,71,10,144,*65 $QZGSV,1,1,01,193,35,332,39,,,,,,,,,,,,*61 $GPRMC,102600.000,A,3340.8281,S,15117.4506,E,0.1,0.0,251112,0.0,W*64 $GPGGA,102600.000,3340.8281,S,15117.4506,E,1,13,0.7,017.57,M,22.4,M,,*72 $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,44,04,38,134,39,05,22,024,40,09,34,328,41*71 $GPGSV,3,2,10,10,32,086,35,12,63,212,44,17,06,104,29,24,37,323,40*7C $GPGSV,3,3,10,25,26,224,34,29,13,265,29,,,,,,,,*7B $GLGSV,2,1,08,76,06,007,,65,12,041,,81,10,275,,78,52,242,22*6F $GLGSV,2,2,08,77,49,334,,88,48,229,21,87,39,150,,71,10,144,*65 $QZGSV,1,1,01,193,35,332,39,,,,,,,,,,,,*61 gpsd-3.9/test/daemon/sl869.log.chk0000664000175000017500000314342012135526424015061 0ustar esresr$GPTXT,TELIT SW Version: SL869 v3.1.2.1 -STD -N96 $GPRMC,101736.410,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,101736.410,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":81,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101737.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,101737.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":81,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101738.010,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*73 $GPGGA,101738.010,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":81,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101739.010,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*72 $GPGGA,101739.010,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":81,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101740.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,101740.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":81,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101741.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,101741.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":81,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101742.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,101742.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":81,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101743.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,101743.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":81,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101744.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,101744.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":81,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101745.010,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,101745.010,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":81,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101746.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,101746.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*41 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":81,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101747.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,101747.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*40 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":81,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101748.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101748.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":81,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101749.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101749.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":81,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101750.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,101750.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":81,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101751.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,101751.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":81,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101752.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,101752.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":81,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101753.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,101753.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,081,,12,59,213,,17,08,106,,24,40,320,*77 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":81,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101754.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78 $GPGGA,101754.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*42 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101755.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,101755.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101756.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,101756.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*40 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101757.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,101757.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*41 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101758.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101758.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101759.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101759.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101800.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,101800.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101801.060,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,101801.060,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4B $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101802.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101802.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101803.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101803.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101804.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*72 $GPGGA,101804.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101805.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*73 $GPGGA,101805.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101806.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,101806.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4A $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101807.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,101807.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4B $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101808.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,101808.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101809.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,101809.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":0,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101810.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,101810.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,40,320,*75 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":32,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101811.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,101811.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,40,320,*75 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":32,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101812.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101812.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101813.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101813.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101814.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*73 $GPGGA,101814.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101815.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*72 $GPGGA,101815.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101816.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,101816.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4B $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101817.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,101817.000,3340.8472,S,15117.3205,E,0,00,99.0,064.19,M,22.4,M,,*4A $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101847.680,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,101847.680,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*40 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101848.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,101848.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*41 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101849.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,101849.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*40 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101850.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*73 $GPGGA,101850.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101851.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*72 $GPGGA,101851.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,40,320,*74 $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":40,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,236,,87,42,155,,71,11,141,*64 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":236,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101852.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,101852.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4A $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,42,155,,71,11,141,*67 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101853.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,101853.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4B $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,23,224,,29,11,268,,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":23,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,42,155,,71,11,141,*67 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":42,"az":155,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101854.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,101854.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,11,268,,,,,,,,,*7A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101855.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,101855.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,11,268,,,,,,,,,*7A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101856.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101856.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,11,268,,,,,,,,,*7A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101857.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101857.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,11,268,,,,,,,,,*7A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101858.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,101858.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*40 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,11,268,,,,,,,,,*7A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101859.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,101859.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*41 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,11,268,,,,,,,,,*7A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101900.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,101900.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,11,268,,,,,,,,,*7A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101901.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,101901.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,34,12,59,213,,17,08,106,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,11,268,,,,,,,,,*7A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":34,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":11,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101902.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101902.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,34,12,59,213,,17,08,106,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":34,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101903.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101903.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,34,12,59,213,,17,08,106,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":34,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101904.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*73 $GPGGA,101904.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101905.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*72 $GPGGA,101905.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101906.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,101906.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4A $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101907.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,101907.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4B $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101908.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,101908.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101909.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,101909.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101910.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,101910.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101911.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,101911.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,056,,04,41,133,,05,19,022,,09,38,325,*7E $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":56,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101912.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101912.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,41,133,,05,19,022,,09,38,325,*72 $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101913.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101913.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,41,133,,05,19,022,,09,38,325,*72 $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,10,007,,65,09,039,,81,08,279,,78,50,236,*69 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":10,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101914.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*72 $GPGGA,101914.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,41,133,,05,19,022,,09,38,325,*72 $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,08,279,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101915.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*73 $GPGGA,101915.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,41,133,,05,19,022,,09,38,325,*72 $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":41,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":32,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,08,279,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101916.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,101916.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4B $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,38,325,*73 $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":32,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,08,279,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101917.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,101917.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4A $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,38,325,*73 $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":32,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,08,279,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101918.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,101918.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,38,325,*73 $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":32,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,08,279,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101919.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,101919.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,38,325,*73 $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":32,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,08,279,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101920.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101920.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,38,325,*73 $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":32,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,08,279,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101921.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101921.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,38,325,*73 $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":32,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,08,279,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101922.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,101922.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,38,325,*73 $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":32,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,08,279,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101923.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,101923.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,38,325,*73 $GPGSV,3,2,10,10,30,082,32,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":32,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,08,279,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":8,"az":279,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101924.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,101924.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4A $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,38,325,*73 $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101925.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,101925.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4B $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,38,325,*73 $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":38,"az":325,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101926.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*73 $GPGGA,101926.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101927.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*72 $GPGGA,101927.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,30,082,33,12,59,213,,17,08,106,,24,39,320,*7A $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":30,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101928.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,101928.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101929.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,101929.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,236,*61 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":236,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101930.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101930.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101931.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101931.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,59,213,,17,08,106,,24,39,320,*7B $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":59,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101932.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,101932.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,08,106,,24,39,320,*71 $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101933.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,101933.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,08,106,,24,39,320,*70 $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":32,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101934.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,101934.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4B $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,08,106,,24,39,320,*70 $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":32,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101935.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,101935.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4A $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,08,106,,24,39,320,*70 $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":32,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101936.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*72 $GPGGA,101936.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,08,106,,24,39,320,*70 $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":32,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101937.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*73 $GPGGA,101937.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,08,106,,24,39,320,*70 $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":32,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101938.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,101938.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,08,106,,24,39,320,*71 $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101939.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,101939.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,08,106,,24,39,320,*71 $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,53,331,,88,47,235,,87,41,154,,71,11,141,*65 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":53,"az":331,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101940.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*73 $GPGGA,101940.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,08,106,,24,39,320,*71 $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,47,235,,87,41,154,,71,11,141,*67 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101941.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*72 $GPGGA,101941.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,08,106,,24,39,320,*71 $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":8,"az":106,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,47,235,,87,41,154,,71,11,141,*67 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101942.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,101942.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4A $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,47,235,,87,41,154,,71,11,141,*67 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101943.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,101943.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4B $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,47,235,,87,41,154,,71,11,141,*67 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101944.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,101944.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,47,235,,87,41,154,,71,11,141,*67 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101945.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,101945.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,47,235,,87,41,154,,71,11,141,*67 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101946.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101946.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,47,235,,87,41,154,,71,11,141,*67 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101947.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101947.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,47,235,,87,41,154,,71,11,141,*67 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":47,"az":235,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101948.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,101948.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*40 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,141,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101949.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,101949.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*41 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,141,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101950.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*72 $GPGGA,101950.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,141,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101951.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*73 $GPGGA,101951.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,141,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101952.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,101952.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4B $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,141,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101953.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,101953.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4A $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,141,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":141,"ss":0,"used":false}]} $GPRMC,101954.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,101954.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,33,12,60,213,,17,07,105,,24,39,320,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":33,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,101955.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,101955.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,07,105,,24,39,320,*7C $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":32,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":320,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,101956.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,101956.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,07,105,,24,39,321,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":32,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,101957.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,101957.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,07,105,,24,39,321,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":32,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,101958.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,101958.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*41 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,07,105,,24,39,321,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":32,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,101959.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,101959.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*40 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,07,105,,24,39,321,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":32,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102000.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,102000.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,32,12,60,213,,17,07,105,,24,39,321,*7D $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":32,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102001.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,102001.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":31,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102002.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,102002.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":31,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102003.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,102003.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":31,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102004.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,102004.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*42 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":31,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102005.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78 $GPGGA,102005.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,268,,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":31,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":268,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102006.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,102006.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*40 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,30,12,60,213,,17,07,105,,24,39,321,*7F $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":30,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102007.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102007.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*41 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,30,12,60,213,,17,07,105,,24,39,321,*7F $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":30,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102008.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,102008.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,30,12,60,213,,17,07,105,,24,39,321,*7F $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":30,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102009.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,102009.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":29,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102010.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,102010.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":29,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102011.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,102011.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":29,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102012.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,102012.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":29,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102013.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,102013.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":29,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,09,039,,81,09,278,,78,50,237,*60 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":9,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102014.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78 $GPGGA,102014.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":29,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102015.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,102015.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*42 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,069,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":69,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":29,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102016.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102016.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*41 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":29,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102017.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,102017.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*40 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":29,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102018.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,102018.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4F $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":29,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102019.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,102019.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4E $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,29,12,60,213,,17,07,105,,24,39,321,*77 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":29,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102020.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,102020.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,30,12,60,213,,17,07,105,,24,39,321,*7F $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":30,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102021.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,102021.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,19,022,,09,37,326,*7F $GPGSV,3,2,10,10,31,082,30,12,60,213,,17,07,105,,24,39,321,*7F $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":19,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":30,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102022.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,102022.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,37,326,*75 $GPGSV,3,2,10,10,31,082,30,12,60,213,,17,07,105,,24,39,321,*7F $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":30,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102023.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,102023.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,37,326,*75 $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":31,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102024.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,102024.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*40 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,37,326,*75 $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":31,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102025.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102025.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*41 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,37,326,*75 $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":31,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,50,237,*68 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":50,"az":237,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102026.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,102026.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*42 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,37,326,*75 $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":31,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,51,238,*66 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102027.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78 $GPGGA,102027.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,37,326,*75 $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":31,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,51,238,*66 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102028.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,102028.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,37,326,*75 $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":31,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,51,238,*66 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102029.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,102029.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,37,326,*75 $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":37,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":31,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,51,238,*66 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102030.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,102030.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":31,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,23,78,51,238,*67 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":23,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102031.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,102031.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,082,31,12,60,213,,17,07,105,,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":82,"ss":31,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,51,238,*66 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102032.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,102032.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,31,12,60,213,,17,07,105,,24,39,321,*7F $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":31,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":0,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,23,78,51,238,*67 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":23,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102033.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,102033.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,30,12,60,213,,17,07,105,26,24,39,321,*7A $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":30,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,23,78,51,238,*67 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":23,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102034.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102034.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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,30,12,60,213,,17,07,105,27,24,39,321,*7B $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":30,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":27,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,23,78,51,238,*67 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":23,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102035.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,102035.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,30,12,60,213,,17,07,105,27,24,39,321,*7B $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":30,"used":false},{"PRN":12,"el":60,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":27,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,23,78,51,238,*67 $GLGSV,2,2,08,77,52,332,,88,48,234,,87,41,154,,71,11,142,*6A {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":23,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":52,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102036.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78 $GPGGA,102036.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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,30,12,61,213,,17,07,105,27,24,39,321,*7A $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":30,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":27,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,23,78,51,238,*67 $GLGSV,2,2,08,77,51,332,,88,48,234,,87,41,154,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":23,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102037.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,102037.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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,30,12,61,213,,17,07,105,27,24,39,321,*7A $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":30,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":27,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,23,78,51,238,*67 $GLGSV,2,2,08,77,51,332,,88,48,234,,87,41,154,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":23,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102038.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,102038.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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,30,12,61,213,,17,07,105,27,24,39,321,*7A $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":30,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":27,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,22,78,51,238,*66 $GLGSV,2,2,08,77,51,332,,88,48,234,,87,41,154,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":22,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102039.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,102039.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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,29,12,61,213,,17,07,105,27,24,39,321,*72 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":29,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":27,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,22,78,51,238,*66 $GLGSV,2,2,08,77,51,332,,88,48,234,,87,41,154,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":22,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102040.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,102040.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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,29,12,61,213,,17,07,105,27,24,39,321,*72 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":29,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":27,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,22,78,51,238,*66 $GLGSV,2,2,08,77,51,332,,88,48,234,,87,41,154,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":22,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102041.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78 $GPGGA,102041.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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,29,12,61,213,,17,07,105,27,24,39,321,*72 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":29,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":27,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,22,78,51,238,*66 $GLGSV,2,2,08,77,51,332,,88,48,234,,87,41,154,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":22,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102042.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,102042.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,30,12,61,213,,17,07,105,27,24,39,321,*7A $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":30,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":27,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,22,78,51,238,*66 $GLGSV,2,2,08,77,51,332,,88,48,234,,87,41,154,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":22,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102043.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102043.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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,30,12,61,213,,17,07,105,26,24,39,321,*7B $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":30,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,22,78,51,238,*66 $GLGSV,2,2,08,77,51,332,,88,48,234,,87,41,154,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":22,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":234,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102044.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,102044.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,30,12,61,213,,17,07,105,26,24,39,321,*7B $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":30,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,22,78,51,238,*66 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,154,,71,11,142,*6E {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":22,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102045.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,102045.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,30,12,61,213,,17,07,105,26,24,39,321,*7B $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":30,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,21,78,51,238,*65 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,154,,71,11,142,*6E {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":21,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":0,"used":false},{"PRN":87,"el":41,"az":154,"ss":0,"used":false},{"PRN":71,"el":11,"az":142,"ss":0,"used":false}]} $GPRMC,102046.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,102046.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,31,12,61,213,,17,07,105,26,24,39,321,*7A $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":31,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,21,78,51,238,*65 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":21,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102047.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,102047.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,31,12,61,213,,17,07,105,26,24,39,321,*7A $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":31,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,21,78,51,238,*65 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":21,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102048.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,102048.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,32,12,61,213,,17,07,105,26,24,39,321,*79 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":32,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,21,78,51,238,*65 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":21,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102049.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,102049.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,32,12,61,213,,17,07,105,26,24,39,321,*79 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":32,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,21,78,51,238,*65 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":21,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102050.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78 $GPGGA,102050.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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,32,12,61,213,,17,07,105,26,24,39,321,*79 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":32,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,21,78,51,238,*65 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":21,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102051.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,102051.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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,32,12,61,213,,17,07,105,26,24,39,321,*79 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":32,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,20,78,51,238,*64 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":20,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102052.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102052.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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,32,12,61,213,,17,07,105,26,24,39,321,*79 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":32,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,20,78,51,238,*64 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":20,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102053.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,102053.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,33,12,61,213,,17,07,105,27,24,39,321,*79 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":33,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":27,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,19,78,51,238,*6E $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":19,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102054.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,102054.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,33,12,61,213,,17,07,105,27,24,39,321,*79 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":33,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":27,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,19,78,51,238,*6E $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":19,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102055.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,102055.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,33,12,61,213,,17,07,105,27,24,39,321,*79 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":33,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":27,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,18,78,51,238,*6F $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":18,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102056.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,102056.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,27,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":34,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":27,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,18,78,51,238,*6F $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":18,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102057.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,102057.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,27,24,39,321,*7E $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":34,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":27,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,18,78,51,238,*6F $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":18,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102058.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*70 $GPGGA,102058.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*48 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,28,24,39,321,*71 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":34,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":28,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,18,78,51,238,*6F $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":18,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102059.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*71 $GPGGA,102059.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*49 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,28,24,39,321,*71 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":34,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":28,"used":false},{"PRN":24,"el":39,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,,78,51,238,*66 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102100.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,102100.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,28,24,38,321,*70 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":34,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":28,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":17,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102101.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,102101.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,28,24,38,321,*70 $GPGSV,3,3,10,25,24,224,,29,12,267,,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":34,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":28,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":24,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":17,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102102.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,102102.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,28,24,38,321,*70 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":34,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":28,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":17,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102103.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,102103.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,28,24,38,321,*70 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":34,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":28,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":17,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102104.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78 $GPGGA,102104.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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,28,24,38,321,*70 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":34,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":28,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":17,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102105.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,102105.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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,28,24,38,321,*70 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":34,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":28,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,09,007,,65,10,039,,81,09,278,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":9,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":17,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102106.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102106.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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,27,24,38,321,*7F $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":34,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":27,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,039,,81,09,278,,78,51,238,*67 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":0,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102107.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,102107.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,26,24,38,321,*7E $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":34,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,039,,81,09,278,17,78,51,238,*61 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":17,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102108.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,102108.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,33,12,61,213,,17,07,105,26,24,38,321,*79 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":33,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,039,,81,09,278,17,78,51,238,*61 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":17,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102109.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,102109.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,33,12,61,213,,17,07,105,26,24,38,321,*79 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":33,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,039,,81,09,278,17,78,51,238,*61 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":39,"ss":0,"used":false},{"PRN":81,"el":9,"az":278,"ss":17,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102110.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,102110.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,33,12,61,213,,17,07,105,26,24,38,321,*79 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":33,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,278,17,78,51,238,*6F $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":278,"ss":17,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102111.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,102111.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,33,12,61,213,,17,07,105,26,24,38,321,*79 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":33,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,278,17,78,51,238,*6F $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":278,"ss":17,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102112.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,102112.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,33,12,61,213,,17,07,105,26,24,38,321,*79 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":33,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,278,17,78,51,238,*6F $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":278,"ss":17,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102113.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,102113.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,33,12,61,213,,17,07,105,26,24,38,321,*79 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":33,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,278,17,78,51,238,*6F $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":278,"ss":17,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102114.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,102114.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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,33,12,61,213,,17,07,105,26,24,38,321,*79 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":33,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,278,16,78,51,238,*6E $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":278,"ss":16,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102115.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78 $GPGGA,102115.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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,32,12,61,213,,17,07,105,26,24,38,321,*78 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":32,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,278,17,78,51,238,*6F $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":278,"ss":17,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102116.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,102116.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,32,12,61,213,,17,07,105,26,24,38,321,*78 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":32,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":17,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102117.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102117.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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,32,12,61,213,,17,07,105,27,24,38,321,*79 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":32,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":27,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":17,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102118.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*75 $GPGGA,102118.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*4D $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,32,12,61,213,,17,07,105,27,24,38,321,*79 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":32,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":27,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":17,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102119.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*74 $GPGGA,102119.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*4C $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,078,,04,40,133,,05,20,022,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,31,12,61,213,,17,07,105,26,24,38,321,*7B $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"PRN":2,"el":86,"az":78,"ss":0,"used":false},{"PRN":4,"el":40,"az":133,"ss":0,"used":false},{"PRN":5,"el":20,"az":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":31,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":17,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102120.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,102120.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,022,,09,36,326,*75 $GPGSV,3,2,10,10,31,083,31,12,61,213,,17,07,105,26,24,38,321,*7B $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","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":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":31,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":17,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102121.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,102121.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,022,,09,36,326,*75 $GPGSV,3,2,10,10,31,083,31,12,61,213,,17,07,105,26,24,38,321,*7B $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","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":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":31,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,238,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":17,"used":false},{"PRN":78,"el":51,"az":238,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102122.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,102122.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,022,,09,36,326,*75 $GPGSV,3,2,10,10,31,083,31,12,61,213,,17,07,105,26,24,38,321,*7B $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","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":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":31,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,239,*61 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":17,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102123.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,102123.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,022,,09,36,326,*75 $GPGSV,3,2,10,10,31,083,31,12,61,213,,17,07,105,26,24,38,321,*7B $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","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":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":31,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,239,*61 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":17,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102124.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102124.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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,022,,09,36,326,*75 $GPGSV,3,2,10,10,31,083,34,12,61,213,,17,07,105,25,24,38,321,*7D $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","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":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":34,"used":false},{"PRN":12,"el":61,"az":213,"ss":0,"used":false},{"PRN":17,"el":7,"az":105,"ss":25,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,239,*61 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":17,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102125.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,102125.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,022,,09,36,326,*75 $GPGSV,3,2,10,10,31,083,37,12,61,213,,17,07,105,24,24,38,321,*7F $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","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":22,"ss":0,"used":false},{"PRN":9,"el":36,"az":326,"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":24,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,239,*61 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":17,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102126.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*78 $GPGGA,102126.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,37,12,61,213,,17,07,105,,24,38,321,*79 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","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":0,"used":false},{"PRN":9,"el":36,"az":326,"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":0,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,17,78,51,239,*61 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":17,"used":false},{"PRN":78,"el":51,"az":239,"ss":0,"used":false},{"PRN":77,"el":51,"az":332,"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}]} $GPRMC,102127.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*79 $GPGGA,102127.000,3340.8472,S,15117.3205,E,0,01,99.0,064.19,M,22.4,M,,*42 $GNGSA,A,1,10,,,,,,,,,,,,99.0,99.0,99.0*1F {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,,24,38,321,*76 $GPGSV,3,3,10,25,25,224,,29,12,267,,,,,,,,,*77 {"class":"SKY","tag":"GSV","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":0,"used":false},{"PRN":9,"el":36,"az":326,"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":0,"used":false},{"PRN":24,"el":38,"az":321,"ss":0,"used":false},{"PRN":25,"el":25,"az":224,"ss":0,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,16,78,51,239,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":332,"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}]} $GPRMC,102128.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*76 $GPGGA,102128.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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,21,24,38,321,*75 $GPGSV,3,3,10,25,25,224,30,29,12,267,,,,,,,,,*74 {"class":"SKY","tag":"GSV","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":0,"used":false},{"PRN":9,"el":36,"az":326,"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":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,16,78,51,239,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":332,"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}]} $GPRMC,102129.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*77 $GPGGA,102129.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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,,09,36,326,*74 $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,21,24,38,321,*75 $GPGSV,3,3,10,25,25,224,30,29,12,267,,,,,,,,,*74 {"class":"SKY","tag":"GSV","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":0,"used":false},{"PRN":9,"el":36,"az":326,"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":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":0,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,16,78,51,239,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":332,"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}]} $GPRMC,102130.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7F $GPGGA,102130.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*47 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,326,*7E $GPGSV,3,2,10,10,31,083,39,12,61,213,,17,07,105,21,24,38,321,*74 $GPGSV,3,3,10,25,25,224,30,29,12,267,34,,,,,,,,*73 {"class":"SKY","tag":"GSV","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":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":39,"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":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,16,78,51,239,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":332,"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}]} $GPRMC,102131.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7E $GPGGA,102131.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*46 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,326,*7E $GPGSV,3,2,10,10,31,083,39,12,61,213,,17,07,105,21,24,38,321,*74 $GPGSV,3,3,10,25,25,224,30,29,12,267,34,,,,,,,,*73 {"class":"SKY","tag":"GSV","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":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":39,"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":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,16,78,51,239,*60 $GLGSV,2,2,08,77,51,332,,88,48,233,,87,41,153,,71,11,142,*69 {"class":"SKY","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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":332,"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}]} $GPRMC,102132.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7D $GPGGA,102132.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*45 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,326,*7E $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,20,24,38,321,*74 $GPGSV,3,3,10,25,25,224,30,29,12,267,34,,,,,,,,*73 {"class":"SKY","tag":"GSV","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":326,"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":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":34,"used":false}]} $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","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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}]} $GPRMC,102133.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7C $GPGGA,102133.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*44 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,326,*7E $GPGSV,3,2,10,10,31,083,39,12,61,213,,17,07,105,20,24,38,321,*75 $GPGSV,3,3,10,25,25,224,30,29,12,267,34,,,,,,,,*73 {"class":"SKY","tag":"GSV","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":326,"ss":0,"used":false},{"PRN":10,"el":31,"az":83,"ss":39,"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}]} $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","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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}]} $GPRMC,102134.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7B $GPGGA,102134.000,3340.8472,S,15117.3205,E,0,02,99.0,064.19,M,22.4,M,,*43 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,327,*7F $GPGSV,3,2,10,10,31,083,39,12,61,213,,17,07,105,20,24,38,321,*75 $GPGSV,3,3,10,25,25,224,30,29,12,267,34,,,,,,,,*73 {"class":"SKY","tag":"GSV","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":39,"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}]} $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","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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}]} $GPRMC,102135.000,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102135.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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,327,*7F $GPGSV,3,2,10,10,31,083,39,12,61,213,,17,07,105,20,24,38,321,*75 $GPGSV,3,3,10,25,25,224,31,29,12,267,34,,,,,,,,*72 {"class":"SKY","tag":"GSV","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":39,"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}]} $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","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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}]} $GPRMC,102135.990,V,3340.8472,S,15117.3205,E,0.0,0.0,251112,0.0,W*7A $GPGGA,102135.990,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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,327,*7F $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,20,24,38,321,*74 $GPGSV,3,3,10,25,25,224,31,29,12,267,34,,,,,,,,*72 {"class":"SKY","tag":"GSV","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}]} $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","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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}]} $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 $GNGSA,A,1,10,17,,,,,,,,,,,99.0,99.0,99.0*19 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,327,*7F $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,20,24,38,321,*74 $GPGSV,3,3,10,25,25,224,31,29,12,267,34,,,,,,,,*72 {"class":"SKY","tag":"GSV","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}]} $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","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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}]} $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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,327,*7F $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,20,24,38,321,*74 $GPGSV,3,3,10,25,25,224,31,29,12,267,34,,,,,,,,*72 {"class":"SKY","tag":"GSV","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}]} $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","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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}]} $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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,327,*7F $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,20,24,38,321,*74 $GPGSV,3,3,10,25,25,224,31,29,12,267,34,,,,,,,,*72 {"class":"SKY","tag":"GSV","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}]} $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","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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}]} $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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,327,*7F $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,20,24,38,321,*74 $GPGSV,3,3,10,25,25,224,31,29,12,267,34,,,,,,,,*72 {"class":"SKY","tag":"GSV","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}]} $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","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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}]} $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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,,04,40,133,,05,20,023,39,09,36,327,*7F $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,20,24,38,321,*74 $GPGSV,3,3,10,25,25,224,31,29,12,267,34,,,,,,,,*72 {"class":"SKY","tag":"GSV","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}]} $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","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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}]} $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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,43,04,40,133,,05,20,023,39,09,36,327,*78 $GPGSV,3,2,10,10,31,083,38,12,61,213,,17,07,105,21,24,38,321,*75 $GPGSV,3,3,10,25,25,224,31,29,12,267,34,,,,,,,,*72 {"class":"SKY","tag":"GSV","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}]} $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","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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}]} $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 {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GNGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,10,02,86,086,42,04,40,133,,05,20,023,38,09,36,327,*78 $GPGSV,3,2,10,10,31,083,37,12,61,213,,17,07,105,20,24,38,321,*7B $GPGSV,3,3,10,25,25,224,30,29,12,267,34,,,,,,,,*73 {"class":"SKY","tag":"GSV","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}]} $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","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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}]} $GPRMC,102143.000,A,3340.7732,S,15117.4478,E,6.7,155.1,251112,0.0,W*6E {"class":"TPV","tag":"RMC","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 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:21:43.000Z","ept":0.005,"lat":-33.679553333,"lon":151.290796667,"alt":63.760,"epv":2277.000,"track":155.1000,"speed":3.447} $GNGSA,A,2,10,17,12,,,,,,,,,,4.2,4.1,1.0*2B $GNGSA,A,2,,,,,,,,,,,,,4.2,4.1,1.0*2F $GNGSA,A,2,,,,,,,,,,,,,4.2,4.1,1.0*2F $GPGSV,3,1,10,02,86,086,42,04,40,133,,05,20,023,38,09,36,327,*78 $GPGSV,3,2,10,10,31,083,37,12,61,213,39,17,07,105,21,24,38,321,*70 $GPGSV,3,3,10,25,25,224,30,29,12,267,34,,,,,,,,*73 {"class":"SKY","tag":"GSV","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}]} $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","tag":"GSV","vdop":1.00,"hdop":4.10,"pdop":4.20,"satellites":[{"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}]} $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","tag":"GGA","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} $GNGSA,A,2,10,17,12,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,2,,,,,,,,,,,,,99.0,99.0,99.0*1D $GNGSA,A,2,,,,,,,,,,,,,99.0,99.0,99.0*1D $GPGSV,3,1,10,02,86,086,42,04,40,133,,05,20,023,38,09,36,327,*78 $GPGSV,3,2,10,10,31,083,37,12,61,213,40,17,07,105,20,24,38,321,*7F $GPGSV,3,3,10,25,25,224,30,29,12,267,34,,,,,,,,*73 {"class":"SKY","tag":"GSV","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}]} $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","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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}]} $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","tag":"GGA","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} $GNGSA,A,2,10,17,12,,,,,,,,,,99.0,99.0,99.0*19 $GNGSA,A,2,,,,,,,,,,,,,99.0,99.0,99.0*1D $GNGSA,A,2,,,,,,,,,,,,,99.0,99.0,99.0*1D $GPGSV,3,1,10,02,86,086,42,04,40,133,,05,20,023,38,09,36,327,*78 $GPGSV,3,2,10,10,31,083,37,12,61,213,40,17,07,105,20,24,38,321,*7F $GPGSV,3,3,10,25,25,224,30,29,12,267,34,,,,,,,,*73 {"class":"SKY","tag":"GSV","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}]} $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","tag":"GSV","vdop":99.00,"hdop":99.00,"pdop":99.00,"satellites":[{"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}]} $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","tag":"GGA","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} $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.7,2.0,3.1*23 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GPGSV,3,1,10,02,86,086,41,04,40,133,38,05,20,023,38,09,36,327,37*74 $GPGSV,3,2,10,10,31,083,36,12,61,213,40,17,07,105,20,24,38,321,37*7A $GPGSV,3,3,10,25,25,224,30,29,12,267,33,,,,,,,,*74 {"class":"SKY","tag":"GSV","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}]} $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","tag":"GSV","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"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}]} $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","tag":"GGA","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} $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.7,2.0,3.1*23 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GPGSV,3,1,10,02,86,086,41,04,40,133,38,05,20,023,38,09,36,327,38*7B $GPGSV,3,2,10,10,31,083,36,12,61,213,40,17,07,105,20,24,38,321,37*7A $GPGSV,3,3,10,25,25,224,30,29,12,267,33,,,,,,,,*74 {"class":"SKY","tag":"GSV","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}]} $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","tag":"GSV","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"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}]} $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","tag":"GGA","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} $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.7,2.0,3.1*23 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GPGSV,3,1,10,02,86,086,41,04,40,133,38,05,20,023,38,09,36,327,38*7B $GPGSV,3,2,10,10,31,083,35,12,61,213,40,17,07,105,19,24,38,321,37*73 $GPGSV,3,3,10,25,25,224,29,29,12,267,33,,,,,,,,*7C {"class":"SKY","tag":"GSV","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}]} $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","tag":"GSV","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"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}]} $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","tag":"GGA","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} $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.7,2.0,3.1*23 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GPGSV,3,1,10,02,86,086,41,04,40,133,38,05,20,023,37,09,36,327,37*7B $GPGSV,3,2,10,10,31,083,35,12,61,213,40,17,07,105,18,24,38,321,37*72 $GPGSV,3,3,10,25,25,224,29,29,12,267,33,,,,,,,,*7C {"class":"SKY","tag":"GSV","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}]} $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","tag":"GSV","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"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}]} $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","tag":"GGA","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} $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.7,2.0,3.1*23 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GPGSV,3,1,10,02,86,086,41,04,40,133,38,05,20,023,37,09,36,327,37*7B $GPGSV,3,2,10,10,31,083,34,12,61,213,40,17,07,105,17,24,38,321,37*7C $GPGSV,3,3,10,25,25,224,29,29,12,267,33,,,,,,,,*7C {"class":"SKY","tag":"GSV","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}]} $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","tag":"GSV","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"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}]} $GPRMC,102150.000,A,3340.8133,S,15117.4713,E,0.1,0.0,251112,0.0,W*6A $GPGGA,102150.000,3340.8133,S,15117.4713,E,1,05,2.0,083.64,M,22.4,M,,*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:21:50.000Z","ept":0.005,"lat":-33.680221667,"lon":151.291188333,"alt":83.640,"epv":71.300,"track":0.0000,"speed":0.051} $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.7,2.0,3.1*23 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GPGSV,3,1,10,02,86,086,41,04,40,133,38,05,20,023,37,09,36,327,37*7B $GPGSV,3,2,10,10,31,083,34,12,61,213,41,17,07,105,17,24,38,321,37*7D $GPGSV,3,3,10,25,25,224,29,29,12,267,33,,,,,,,,*7C {"class":"SKY","tag":"GSV","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":41,"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}]} $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","tag":"GSV","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"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}]} $GPRMC,102151.000,A,3340.8130,S,15117.4713,E,0.7,74.5,251112,0.0,W*58 $GPGGA,102151.000,3340.8130,S,15117.4713,E,1,05,2.0,084.19,M,22.4,M,,*7C {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:21:51.000Z","ept":0.005,"lat":-33.680216667,"lon":151.291188333,"alt":84.190,"epv":71.300,"track":74.5000,"speed":0.360} $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.7,2.0,3.1*23 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GPGSV,3,1,10,02,86,086,41,04,40,133,38,05,20,023,37,09,36,327,38*74 $GPGSV,3,2,10,10,31,083,34,12,61,213,41,17,07,105,17,24,38,321,38*72 $GPGSV,3,3,10,25,25,224,29,29,12,267,33,,,,,,,,*7C {"class":"SKY","tag":"GSV","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":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":34,"used":false},{"PRN":12,"el":61,"az":213,"ss":41,"used":false},{"PRN":17,"el":7,"az":105,"ss":17,"used":false},{"PRN":24,"el":38,"az":321,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":29,"used":false},{"PRN":29,"el":12,"az":267,"ss":33,"used":false}]} $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","tag":"GSV","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"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}]} $GPRMC,102152.000,A,3340.8129,S,15117.4709,E,0.5,70.4,251112,0.0,W*5F $GPGGA,102152.000,3340.8129,S,15117.4709,E,1,05,2.0,084.53,M,22.4,M,,*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:21:52.000Z","ept":0.005,"lat":-33.680215000,"lon":151.291181667,"alt":84.530,"epv":71.300,"track":70.4000,"speed":0.257} $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.7,2.0,3.1*23 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GPGSV,3,1,10,02,86,086,42,04,40,133,38,05,20,023,38,09,36,327,38*78 $GPGSV,3,2,10,10,31,083,34,12,61,213,41,17,07,105,17,24,38,321,38*72 $GPGSV,3,3,10,25,25,224,30,29,12,267,33,,,,,,,,*74 {"class":"SKY","tag":"GSV","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"PRN":2,"el":86,"az":86,"ss":42,"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":34,"used":false},{"PRN":12,"el":61,"az":213,"ss":41,"used":false},{"PRN":17,"el":7,"az":105,"ss":17,"used":false},{"PRN":24,"el":38,"az":321,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":33,"used":false}]} $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,152,,71,10,143,*69 {"class":"SKY","tag":"GSV","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"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":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102153.000,A,3340.8129,S,15117.4706,E,0.2,0.0,251112,0.0,W*65 $GPGGA,102153.000,3340.8129,S,15117.4706,E,1,06,1.5,084.92,M,22.4,M,,*74 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:21:53.000Z","ept":0.005,"lat":-33.680215000,"lon":151.291176667,"alt":84.920,"epv":71.300,"track":0.0000,"speed":0.103} $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.3,1.5,2.9*28 $GNGSA,A,3,88,,,,,,,,,,,,3.3,1.5,2.9*23 $GNGSA,A,3,,,,,,,,,,,,,3.3,1.5,2.9*23 $GPGSV,3,1,10,02,86,086,42,04,40,133,38,05,20,023,38,09,36,327,38*78 $GPGSV,3,2,10,10,31,083,33,12,61,213,41,17,07,105,17,24,38,321,38*75 $GPGSV,3,3,10,25,25,224,30,29,12,267,33,,,,,,,,*74 {"class":"SKY","tag":"GSV","vdop":2.90,"hdop":1.50,"pdop":3.30,"satellites":[{"PRN":2,"el":86,"az":86,"ss":42,"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":33,"used":false},{"PRN":12,"el":61,"az":213,"ss":41,"used":false},{"PRN":17,"el":7,"az":105,"ss":17,"used":false},{"PRN":24,"el":38,"az":321,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":33,"used":false}]} $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,19,87,41,152,,71,10,143,*61 {"class":"SKY","tag":"GSV","vdop":2.90,"hdop":1.50,"pdop":3.30,"satellites":[{"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":19,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102154.000,A,3340.8128,S,15117.4702,E,0.8,266.0,251112,0.0,W*6F $GPGGA,102154.000,3340.8128,S,15117.4702,E,1,06,1.5,085.39,M,22.4,M,,*76 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:21:54.000Z","ept":0.005,"lat":-33.680213333,"lon":151.291170000,"alt":85.390,"epv":66.700,"track":266.0000,"speed":0.412} $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.3,1.5,2.9*28 $GNGSA,A,3,88,,,,,,,,,,,,3.3,1.5,2.9*23 $GNGSA,A,3,,,,,,,,,,,,,3.3,1.5,2.9*23 $GPGSV,3,1,10,02,86,086,41,04,40,133,38,05,20,023,38,09,36,327,38*7B $GPGSV,3,2,10,10,31,083,33,12,61,213,41,17,07,105,17,24,38,321,38*75 $GPGSV,3,3,10,25,25,224,30,29,12,267,33,,,,,,,,*74 {"class":"SKY","tag":"GSV","vdop":2.90,"hdop":1.50,"pdop":3.30,"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":33,"used":false},{"PRN":12,"el":61,"az":213,"ss":41,"used":false},{"PRN":17,"el":7,"az":105,"ss":17,"used":false},{"PRN":24,"el":38,"az":321,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":33,"used":false}]} $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,19,87,41,152,,71,10,143,*61 {"class":"SKY","tag":"GSV","vdop":2.90,"hdop":1.50,"pdop":3.30,"satellites":[{"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":19,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102155.000,A,3340.8130,S,15117.4697,E,0.2,264.4,251112,0.0,W*66 $GPGGA,102155.000,3340.8130,S,15117.4697,E,1,05,2.0,085.85,M,22.4,M,,*71 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:21:55.000Z","ept":0.005,"lat":-33.680216667,"lon":151.291161667,"alt":85.850,"epv":66.700,"track":264.4000,"speed":0.103} $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.7,2.0,3.1*23 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GPGSV,3,1,10,02,86,086,42,04,40,133,39,05,20,023,38,09,36,327,39*78 $GPGSV,3,2,10,10,31,083,32,12,61,213,42,17,07,105,17,24,38,321,38*77 $GPGSV,3,3,10,25,25,224,30,29,12,267,33,,,,,,,,*74 {"class":"SKY","tag":"GSV","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"PRN":2,"el":86,"az":86,"ss":42,"used":false},{"PRN":4,"el":40,"az":133,"ss":39,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":83,"ss":32,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":17,"used":false},{"PRN":24,"el":38,"az":321,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":33,"used":false}]} $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,152,,71,10,143,*69 {"class":"SKY","tag":"GSV","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"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":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102156.000,A,3340.8131,S,15117.4691,E,0.0,0.0,251112,0.0,W*64 $GPGGA,102156.000,3340.8131,S,15117.4691,E,1,06,1.5,086.40,M,22.4,M,,*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:21:56.000Z","ept":0.005,"lat":-33.680218333,"lon":151.291151667,"alt":86.400,"epv":71.300,"track":0.0000,"speed":0.000} $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.3,1.5,2.9*28 $GNGSA,A,3,88,,,,,,,,,,,,3.3,1.5,2.9*23 $GNGSA,A,3,,,,,,,,,,,,,3.3,1.5,2.9*23 $GPGSV,3,1,10,02,86,086,42,04,40,133,39,05,20,023,38,09,36,327,39*78 $GPGSV,3,2,10,10,31,083,32,12,61,213,42,17,07,105,18,24,38,321,38*78 $GPGSV,3,3,10,25,25,224,30,29,12,267,33,,,,,,,,*74 {"class":"SKY","tag":"GSV","vdop":2.90,"hdop":1.50,"pdop":3.30,"satellites":[{"PRN":2,"el":86,"az":86,"ss":42,"used":false},{"PRN":4,"el":40,"az":133,"ss":39,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":83,"ss":32,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":18,"used":false},{"PRN":24,"el":38,"az":321,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":33,"used":false}]} $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,19,87,41,152,,71,10,143,*61 {"class":"SKY","tag":"GSV","vdop":2.90,"hdop":1.50,"pdop":3.30,"satellites":[{"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":19,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102157.000,A,3340.8133,S,15117.4684,E,0.1,0.0,251112,0.0,W*62 $GPGGA,102157.000,3340.8133,S,15117.4684,E,1,05,2.0,086.89,M,22.4,M,,*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:21:57.000Z","ept":0.005,"lat":-33.680221667,"lon":151.291140000,"alt":86.890,"epv":66.700,"track":0.0000,"speed":0.051} $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.7,2.0,3.1*23 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GNGSA,A,3,,,,,,,,,,,,,3.7,2.0,3.1*28 $GPGSV,3,1,10,02,86,086,42,04,40,133,39,05,20,023,38,09,36,327,39*78 $GPGSV,3,2,10,10,31,083,32,12,61,213,42,17,07,105,18,24,38,321,38*78 $GPGSV,3,3,10,25,25,224,30,29,12,267,33,,,,,,,,*74 {"class":"SKY","tag":"GSV","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"PRN":2,"el":86,"az":86,"ss":42,"used":false},{"PRN":4,"el":40,"az":133,"ss":39,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":83,"ss":32,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":18,"used":false},{"PRN":24,"el":38,"az":321,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":33,"used":false}]} $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,152,,71,10,143,*69 {"class":"SKY","tag":"GSV","vdop":3.10,"hdop":2.00,"pdop":3.70,"satellites":[{"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":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102158.000,A,3340.8135,S,15117.4679,E,0.4,70.1,251112,0.0,W*5A $GPGGA,102158.000,3340.8135,S,15117.4679,E,1,06,1.5,087.36,M,22.4,M,,*76 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:21:58.000Z","ept":0.005,"lat":-33.680225000,"lon":151.291131667,"alt":87.360,"epv":71.300,"track":70.1000,"speed":0.206} $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.3,1.5,2.9*28 $GNGSA,A,3,88,,,,,,,,,,,,3.3,1.5,2.9*23 $GNGSA,A,3,,,,,,,,,,,,,3.3,1.5,2.9*23 $GPGSV,3,1,10,02,86,086,42,04,40,133,39,05,20,023,38,09,36,327,39*78 $GPGSV,3,2,10,10,31,083,31,12,61,213,42,17,07,105,18,24,38,321,38*7B $GPGSV,3,3,10,25,25,224,30,29,12,267,32,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":2.90,"hdop":1.50,"pdop":3.30,"satellites":[{"PRN":2,"el":86,"az":86,"ss":42,"used":false},{"PRN":4,"el":40,"az":133,"ss":39,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":83,"ss":31,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":18,"used":false},{"PRN":24,"el":38,"az":321,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":32,"used":false}]} $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,19,87,41,152,,71,10,143,*61 {"class":"SKY","tag":"GSV","vdop":2.90,"hdop":1.50,"pdop":3.30,"satellites":[{"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":19,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102159.000,A,3340.8137,S,15117.4676,E,0.1,0.0,251112,0.0,W*65 $GPGGA,102159.000,3340.8137,S,15117.4676,E,1,06,1.5,087.34,M,22.4,M,,*78 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:21:59.000Z","ept":0.005,"lat":-33.680228333,"lon":151.291126667,"alt":87.340,"epv":66.700,"track":0.0000,"speed":0.051} $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.3,1.5,2.9*28 $GNGSA,A,3,88,,,,,,,,,,,,3.3,1.5,2.9*23 $GNGSA,A,3,,,,,,,,,,,,,3.3,1.5,2.9*23 $GPGSV,3,1,10,02,86,086,42,04,40,133,39,05,20,023,38,09,36,327,39*78 $GPGSV,3,2,10,10,31,083,30,12,61,213,42,17,07,105,19,24,38,321,38*7B $GPGSV,3,3,10,25,25,224,30,29,12,267,32,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":2.90,"hdop":1.50,"pdop":3.30,"satellites":[{"PRN":2,"el":86,"az":86,"ss":42,"used":false},{"PRN":4,"el":40,"az":133,"ss":39,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":83,"ss":30,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":19,"used":false},{"PRN":24,"el":38,"az":321,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":32,"used":false}]} $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,19,87,41,152,,71,10,143,*61 {"class":"SKY","tag":"GSV","vdop":2.90,"hdop":1.50,"pdop":3.30,"satellites":[{"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":19,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102200.000,A,3340.8137,S,15117.4677,E,1.6,78.6,251112,0.0,W*54 $GPGGA,102200.000,3340.8137,S,15117.4677,E,1,06,1.5,087.50,M,22.4,M,,*74 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:00.000Z","ept":0.005,"lat":-33.680228333,"lon":151.291128333,"alt":87.500,"epv":66.700,"track":78.6000,"speed":0.823} $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.3,1.5,2.9*28 $GNGSA,A,3,88,,,,,,,,,,,,3.3,1.5,2.9*23 $GNGSA,A,3,,,,,,,,,,,,,3.3,1.5,2.9*23 $GPGSV,3,1,10,02,86,086,42,04,40,133,39,05,20,023,38,09,36,327,39*78 $GPGSV,3,2,10,10,31,083,30,12,61,213,42,17,07,105,19,24,38,321,38*7B $GPGSV,3,3,10,25,25,224,30,29,12,267,32,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":2.90,"hdop":1.50,"pdop":3.30,"satellites":[{"PRN":2,"el":86,"az":86,"ss":42,"used":false},{"PRN":4,"el":40,"az":133,"ss":39,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":83,"ss":30,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":19,"used":false},{"PRN":24,"el":38,"az":321,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":32,"used":false}]} $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,18,87,41,152,,71,10,143,*60 {"class":"SKY","tag":"GSV","vdop":2.90,"hdop":1.50,"pdop":3.30,"satellites":[{"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":18,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102201.000,A,3340.8136,S,15117.4684,E,2.8,78.1,251112,0.0,W*52 $GPGGA,102201.000,3340.8136,S,15117.4684,E,1,06,1.5,087.78,M,22.4,M,,*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:01.000Z","ept":0.005,"lat":-33.680226667,"lon":151.291140000,"alt":87.780,"epv":66.700,"track":78.1000,"speed":1.440} $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.3,1.5,2.9*28 $GNGSA,A,3,88,,,,,,,,,,,,3.3,1.5,2.9*23 $GNGSA,A,3,,,,,,,,,,,,,3.3,1.5,2.9*23 $GPGSV,3,1,10,02,86,086,42,04,40,133,39,05,20,023,38,09,36,327,39*78 $GPGSV,3,2,10,10,31,083,28,12,61,213,42,17,07,105,20,24,38,321,38*78 $GPGSV,3,3,10,25,25,224,30,29,12,267,32,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":2.90,"hdop":1.50,"pdop":3.30,"satellites":[{"PRN":2,"el":86,"az":86,"ss":42,"used":false},{"PRN":4,"el":40,"az":133,"ss":39,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":83,"ss":28,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":32,"used":false}]} $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,19,87,41,152,,71,10,143,*61 {"class":"SKY","tag":"GSV","vdop":2.90,"hdop":1.50,"pdop":3.30,"satellites":[{"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":19,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102202.000,A,3340.8137,S,15117.4681,E,0.4,68.4,251112,0.0,W*5F $GPGGA,102202.000,3340.8137,S,15117.4681,E,1,06,1.5,087.80,M,22.4,M,,*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:02.000Z","ept":0.005,"lat":-33.680228333,"lon":151.291135000,"alt":87.800,"epv":66.700,"track":68.4000,"speed":0.206} $GNGSA,A,3,10,17,12,24,09,,,,,,,,3.3,1.5,2.9*28 $GNGSA,A,3,88,,,,,,,,,,,,3.3,1.5,2.9*23 $GNGSA,A,3,,,,,,,,,,,,,3.3,1.5,2.9*23 $GPGSV,3,1,10,02,86,086,42,04,40,133,39,05,20,023,38,09,36,327,39*78 $GPGSV,3,2,10,10,31,083,28,12,61,213,42,17,07,105,20,24,38,321,38*78 $GPGSV,3,3,10,25,25,224,30,29,12,267,32,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":2.90,"hdop":1.50,"pdop":3.30,"satellites":[{"PRN":2,"el":86,"az":86,"ss":42,"used":false},{"PRN":4,"el":40,"az":133,"ss":39,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":83,"ss":28,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":20,"used":false},{"PRN":24,"el":38,"az":321,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":32,"used":false}]} $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,18,87,41,152,,71,10,143,*60 {"class":"SKY","tag":"GSV","vdop":2.90,"hdop":1.50,"pdop":3.30,"satellites":[{"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":18,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102203.000,A,3340.8186,S,15117.4626,E,0.0,0.0,251112,0.0,W*67 $GPGGA,102203.000,3340.8186,S,15117.4626,E,1,12,0.7,060.45,M,22.4,M,,*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:03.000Z","ept":0.005,"lat":-33.680310000,"lon":151.291043333,"alt":60.450,"epv":66.700,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,38,09,36,327,39*77 $GPGSV,3,2,10,10,31,083,27,12,61,213,42,17,07,105,21,24,38,322,38*75 $GPGSV,3,3,10,25,25,224,30,29,12,267,32,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":92,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":83,"ss":27,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":21,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":32,"used":false}]} $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,19,87,41,152,,71,10,143,*61 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":19,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102204.000,A,3340.8218,S,15117.4591,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102204.000,3340.8218,S,15117.4591,E,1,11,0.8,043.89,M,22.4,M,,*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:04.000Z","ept":0.005,"lat":-33.680363333,"lon":151.290985000,"alt":43.890,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,38,09,36,327,39*77 $GPGSV,3,2,10,10,31,083,27,12,61,213,42,17,07,105,21,24,38,322,38*75 $GPGSV,3,3,10,25,25,224,30,29,12,267,32,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":92,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":83,"ss":27,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":21,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":32,"used":false}]} $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,152,,71,10,143,*69 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"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":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102205.000,A,3340.8238,S,15117.4569,E,0.1,0.0,251112,0.0,W*6E $GPGGA,102205.000,3340.8238,S,15117.4569,E,1,12,0.7,034.25,M,22.4,M,,*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:05.000Z","ept":0.005,"lat":-33.680396667,"lon":151.290948333,"alt":34.250,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,38,09,36,327,39*77 $GPGSV,3,2,10,10,31,083,26,12,61,213,42,17,07,105,22,24,38,322,38*77 $GPGSV,3,3,10,25,25,224,30,29,12,267,32,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":92,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":83,"ss":26,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":22,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":32,"used":false}]} $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,19,87,41,152,,71,10,143,*61 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":19,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102206.000,A,3340.8250,S,15117.4555,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102206.000,3340.8250,S,15117.4555,E,1,12,0.7,028.66,M,22.4,M,,*75 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:06.000Z","ept":0.005,"lat":-33.680416667,"lon":151.290925000,"alt":28.660,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,38,09,36,327,39*77 $GPGSV,3,2,10,10,31,083,25,12,61,213,42,17,07,105,22,24,38,322,38*74 $GPGSV,3,3,10,25,25,224,30,29,12,267,32,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":92,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":20,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":83,"ss":25,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":22,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":32,"used":false}]} $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,19,87,41,152,,71,10,143,*61 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":19,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102207.000,A,3340.8257,S,15117.4546,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102207.000,3340.8257,S,15117.4546,E,1,12,0.7,025.67,M,22.4,M,,*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:07.000Z","ept":0.005,"lat":-33.680428333,"lon":151.290910000,"alt":25.670,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,37,09,36,327,39*78 $GPGSV,3,2,10,10,31,083,24,12,61,213,42,17,07,105,22,24,38,322,38*75 $GPGSV,3,3,10,25,25,224,30,29,12,267,32,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":92,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":83,"ss":24,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":22,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":32,"used":false}]} $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,18,87,41,152,,71,10,143,*60 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":18,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102208.000,A,3340.8261,S,15117.4540,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102208.000,3340.8261,S,15117.4540,E,1,11,0.8,023.91,M,22.4,M,,*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:08.000Z","ept":0.005,"lat":-33.680435000,"lon":151.290900000,"alt":23.910,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,37,09,36,327,38*79 $GPGSV,3,2,10,10,31,083,23,12,61,213,42,17,07,105,23,24,38,322,38*73 $GPGSV,3,3,10,25,25,224,30,29,12,267,31,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":92,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":23,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":23,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":31,"used":false}]} $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,152,,71,10,143,*69 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"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":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102209.000,A,3340.8264,S,15117.4536,E,0.1,0.0,251112,0.0,W*61 $GPGGA,102209.000,3340.8264,S,15117.4536,E,1,11,0.8,022.54,M,22.4,M,,*7F {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:09.000Z","ept":0.005,"lat":-33.680440000,"lon":151.290893333,"alt":22.540,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,37,09,36,327,38*79 $GPGSV,3,2,10,10,31,083,22,12,61,213,42,17,07,105,23,24,38,322,38*72 $GPGSV,3,3,10,25,25,224,30,29,12,267,31,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":92,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":22,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":23,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":31,"used":false}]} $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,152,,71,10,143,*69 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"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":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102210.000,A,3340.8268,S,15117.4533,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102210.000,3340.8268,S,15117.4533,E,1,12,0.7,021.50,M,22.4,M,,*75 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:10.000Z","ept":0.005,"lat":-33.680446667,"lon":151.290888333,"alt":21.500,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,38,05,20,023,37,09,36,327,38*78 $GPGSV,3,2,10,10,31,083,20,12,61,213,41,17,07,105,23,24,38,322,38*73 $GPGSV,3,3,10,25,25,224,30,29,12,267,31,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":92,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":20,"used":false},{"PRN":12,"el":61,"az":213,"ss":41,"used":false},{"PRN":17,"el":7,"az":105,"ss":23,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":31,"used":false}]} $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,18,87,41,152,,71,10,143,*60 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":18,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102211.000,A,3340.8270,S,15117.4531,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102211.000,3340.8270,S,15117.4531,E,1,11,0.8,020.66,M,22.4,M,,*77 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:11.000Z","ept":0.005,"lat":-33.680450000,"lon":151.290885000,"alt":20.660,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,17,25,29,02,12,04,24,09,,,,1.4,0.8,1.2*27 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,092,41,04,39,134,38,05,20,023,37,09,36,327,38*78 $GPGSV,3,2,10,10,31,083,,12,61,213,42,17,07,105,24,24,38,322,38*75 $GPGSV,3,3,10,25,25,224,30,29,12,267,31,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":92,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":0,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":24,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":31,"used":false}]} $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,18,87,41,152,,71,10,143,*60 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"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":18,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102212.000,A,3340.8272,S,15117.4528,E,0.0,0.0,251112,0.0,W*62 $GPGGA,102212.000,3340.8272,S,15117.4528,E,1,12,0.7,020.52,M,22.4,M,,*75 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:12.000Z","ept":0.005,"lat":-33.680453333,"lon":151.290880000,"alt":20.520,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,38,05,20,023,37,09,36,327,38*78 $GPGSV,3,2,10,10,31,083,20,12,61,213,42,17,07,105,24,24,38,322,38*77 $GPGSV,3,3,10,25,25,224,30,29,12,267,30,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":92,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":20,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":24,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":30,"used":false}]} $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,18,87,41,152,,71,10,143,*60 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":18,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102213.000,A,3340.8273,S,15117.4527,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102213.000,3340.8273,S,15117.4527,E,1,12,0.7,020.31,M,22.4,M,,*7F {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:13.000Z","ept":0.005,"lat":-33.680455000,"lon":151.290878333,"alt":20.310,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,38,05,20,023,37,09,36,327,38*78 $GPGSV,3,2,10,10,31,083,19,12,61,213,42,17,07,105,25,24,38,322,38*7C $GPGSV,3,3,10,25,25,224,30,29,12,267,30,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":92,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":19,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":25,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":30,"used":false}]} $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,18,87,41,152,,71,10,143,*60 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":18,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102214.000,A,3340.8274,S,15117.4526,E,0.0,0.0,251112,0.0,W*6C $GPGGA,102214.000,3340.8274,S,15117.4526,E,1,12,0.7,020.32,M,22.4,M,,*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:14.000Z","ept":0.005,"lat":-33.680456667,"lon":151.290876667,"alt":20.320,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,37,09,36,327,38*79 $GPGSV,3,2,10,10,31,083,19,12,61,213,42,17,07,105,25,24,38,322,38*7C $GPGSV,3,3,10,25,25,224,30,29,12,267,30,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":92,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":19,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":25,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":30,"used":false}]} $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,19,87,41,152,,71,10,143,*61 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":19,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102215.000,A,3340.8274,S,15117.4524,E,0.1,0.0,251112,0.0,W*6E $GPGGA,102215.000,3340.8274,S,15117.4524,E,1,12,0.7,020.12,M,22.4,M,,*7C {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:15.000Z","ept":0.005,"lat":-33.680456667,"lon":151.290873333,"alt":20.120,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,37,09,36,327,38*79 $GPGSV,3,2,10,10,31,083,19,12,61,213,42,17,07,105,26,24,38,322,38*7F $GPGSV,3,3,10,25,25,224,30,29,12,267,30,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":92,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":19,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":26,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":30,"used":false}]} $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,19,87,41,152,,71,10,143,*61 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":19,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102216.000,A,3340.8275,S,15117.4523,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102216.000,3340.8275,S,15117.4523,E,1,12,0.7,020.19,M,22.4,M,,*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:16.000Z","ept":0.005,"lat":-33.680458333,"lon":151.290871667,"alt":20.190,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,37,09,36,327,38*79 $GPGSV,3,2,10,10,31,083,19,12,61,213,42,17,07,105,27,24,38,322,38*7E $GPGSV,3,3,10,25,25,224,30,29,12,267,29,,,,,,,,*7F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":92,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":19,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":27,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":29,"used":false}]} $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,19,87,41,152,,71,10,143,*61 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":19,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102217.000,A,3340.8275,S,15117.4521,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102217.000,3340.8275,S,15117.4521,E,1,12,0.7,020.47,M,22.4,M,,*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:17.000Z","ept":0.005,"lat":-33.680458333,"lon":151.290868333,"alt":20.470,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,37,09,36,327,38*79 $GPGSV,3,2,10,10,31,083,19,12,61,213,42,17,07,105,27,24,38,322,38*7E $GPGSV,3,3,10,25,25,224,30,29,12,267,29,,,,,,,,*7F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":92,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":19,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":27,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":29,"used":false}]} $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,19,87,41,152,,71,10,143,*61 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":19,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102218.000,A,3340.8275,S,15117.4519,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102218.000,3340.8275,S,15117.4519,E,1,12,0.7,020.61,M,22.4,M,,*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:18.000Z","ept":0.005,"lat":-33.680458333,"lon":151.290865000,"alt":20.610,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,37,09,36,327,38*79 $GPGSV,3,2,10,10,31,083,19,12,61,213,42,17,07,105,28,24,38,322,38*71 $GPGSV,3,3,10,25,25,224,30,29,12,267,29,,,,,,,,*7F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":92,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":19,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":28,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":29,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,240,*6D $GLGSV,2,2,08,77,51,333,,88,48,233,18,87,41,152,,71,10,143,*60 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":240,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":18,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102219.000,A,3340.8276,S,15117.4517,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102219.000,3340.8276,S,15117.4517,E,1,12,0.7,020.64,M,22.4,M,,*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:19.000Z","ept":0.005,"lat":-33.680460000,"lon":151.290861667,"alt":20.640,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,39,05,20,023,37,09,36,327,38*79 $GPGSV,3,2,10,10,31,083,18,12,61,213,42,17,07,105,28,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,30,29,12,267,29,,,,,,,,*7F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":92,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":18,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":28,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":29,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,240,*6D $GLGSV,2,2,08,77,51,333,,88,48,233,18,87,41,152,,71,10,143,*60 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":240,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":18,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102220.000,A,3340.8276,S,15117.4516,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102220.000,3340.8276,S,15117.4516,E,1,12,0.7,020.70,M,22.4,M,,*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:20.000Z","ept":0.005,"lat":-33.680460000,"lon":151.290860000,"alt":20.700,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,38,05,20,023,37,09,36,327,38*78 $GPGSV,3,2,10,10,31,083,18,12,61,213,42,17,07,105,28,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,30,29,12,267,29,,,,,,,,*7F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":92,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":18,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":28,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":29,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,14,78,51,240,*6C $GLGSV,2,2,08,77,51,333,,88,48,233,18,87,41,152,,71,10,143,*60 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":240,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":233,"ss":18,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102221.000,A,3340.8276,S,15117.4516,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102221.000,3340.8276,S,15117.4516,E,1,12,0.7,020.87,M,22.4,M,,*74 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:21.000Z","ept":0.005,"lat":-33.680460000,"lon":151.290860000,"alt":20.870,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,092,41,04,39,134,38,05,20,023,37,09,36,327,38*78 $GPGSV,3,2,10,10,31,083,18,12,61,213,42,17,07,105,28,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,30,29,12,267,28,,,,,,,,*7E {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":92,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":18,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":28,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":28,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,14,78,51,240,*6C $GLGSV,2,2,08,77,51,333,21,88,48,233,18,87,41,152,,71,10,143,*63 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":240,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":21,"used":false},{"PRN":88,"el":48,"az":233,"ss":18,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102222.000,A,3340.8276,S,15117.4516,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102222.000,3340.8276,S,15117.4516,E,1,11,0.8,021.07,M,22.4,M,,*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:22.000Z","ept":0.005,"lat":-33.680460000,"lon":151.290860000,"alt":21.070,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,17,25,29,02,12,04,24,09,,,,1.4,0.8,1.2*27 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,092,41,04,39,134,38,05,20,023,37,09,36,327,38*78 $GPGSV,3,2,10,10,31,083,,12,61,213,42,17,07,105,29,24,38,322,38*78 $GPGSV,3,3,10,25,25,224,30,29,12,267,28,,,,,,,,*7E {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":92,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":0,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":29,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":28,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,14,78,51,240,*6C $GLGSV,2,2,08,77,51,333,21,88,48,233,18,87,41,152,,71,10,143,*63 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"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":240,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":21,"used":false},{"PRN":88,"el":48,"az":233,"ss":18,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102223.000,A,3340.8276,S,15117.4516,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102223.000,3340.8276,S,15117.4516,E,1,11,0.8,021.08,M,22.4,M,,*7C {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:23.000Z","ept":0.005,"lat":-33.680460000,"lon":151.290860000,"alt":21.080,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,17,25,29,02,12,04,24,09,,,,1.4,0.8,1.2*27 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,092,41,04,39,134,38,05,20,023,37,09,36,327,38*78 $GPGSV,3,2,10,10,31,083,,12,61,213,42,17,07,105,29,24,38,322,38*78 $GPGSV,3,3,10,25,25,224,30,29,12,267,28,,,,,,,,*7E {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":92,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":0,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":29,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":30,"used":false},{"PRN":29,"el":12,"az":267,"ss":28,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,14,78,51,240,*6C $GLGSV,2,2,08,77,51,333,21,88,48,233,17,87,41,152,,71,10,143,*6C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"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":240,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":21,"used":false},{"PRN":88,"el":48,"az":233,"ss":17,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102224.000,A,3340.8276,S,15117.4516,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102224.000,3340.8276,S,15117.4516,E,1,12,0.7,021.22,M,22.4,M,,*7F {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:24.000Z","ept":0.005,"lat":-33.680460000,"lon":151.290860000,"alt":21.220,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,20,023,37,09,36,327,38*7E $GPGSV,3,2,10,10,31,083,19,12,61,213,42,17,07,105,29,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,29,29,12,267,27,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":19,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":29,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":29,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,14,78,51,240,*6C $GLGSV,2,2,08,77,51,333,21,88,48,233,17,87,41,152,,71,10,143,*6C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":240,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":21,"used":false},{"PRN":88,"el":48,"az":233,"ss":17,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102225.000,A,3340.8275,S,15117.4516,E,0.0,0.0,251112,0.0,W*6C $GPGGA,102225.000,3340.8275,S,15117.4516,E,1,12,0.7,021.35,M,22.4,M,,*7B {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:25.000Z","ept":0.005,"lat":-33.680458333,"lon":151.290860000,"alt":21.350,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,20,023,37,09,36,327,38*7E $GPGSV,3,2,10,10,31,083,19,12,61,213,42,17,07,105,29,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,29,29,12,267,27,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":19,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":29,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":29,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,14,78,51,240,*6C $GLGSV,2,2,08,77,51,333,21,88,48,233,17,87,41,152,,71,10,143,*6C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":240,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":21,"used":false},{"PRN":88,"el":48,"az":233,"ss":17,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102226.000,A,3340.8274,S,15117.4516,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102226.000,3340.8274,S,15117.4516,E,1,12,0.7,021.53,M,22.4,M,,*79 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:26.000Z","ept":0.005,"lat":-33.680456667,"lon":151.290860000,"alt":21.530,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,20,023,37,09,36,327,38*7E $GPGSV,3,2,10,10,31,083,19,12,61,213,42,17,07,105,30,24,38,322,38*78 $GPGSV,3,3,10,25,25,224,29,29,12,267,27,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":19,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":30,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":29,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,14,78,51,240,*6C $GLGSV,2,2,08,77,51,333,21,88,48,233,17,87,41,152,,71,10,143,*6C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":240,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":21,"used":false},{"PRN":88,"el":48,"az":233,"ss":17,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102227.000,A,3340.8273,S,15117.4515,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102227.000,3340.8273,S,15117.4515,E,1,12,0.7,021.77,M,22.4,M,,*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:27.000Z","ept":0.005,"lat":-33.680455000,"lon":151.290858333,"alt":21.770,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,20,023,37,09,36,327,38*7E $GPGSV,3,2,10,10,31,083,20,12,61,213,42,17,07,105,30,24,38,322,38*72 $GPGSV,3,3,10,25,25,224,29,29,12,267,27,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":20,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":30,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":29,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,240,*6D $GLGSV,2,2,08,77,51,333,21,88,48,233,16,87,41,152,,71,10,143,*6D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":240,"ss":0,"used":false},{"PRN":77,"el":51,"az":333,"ss":21,"used":false},{"PRN":88,"el":48,"az":233,"ss":16,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102228.000,A,3340.8273,S,15117.4515,E,0.0,0.0,251112,0.0,W*64 $GPGGA,102228.000,3340.8273,S,15117.4515,E,1,12,0.7,021.89,M,22.4,M,,*74 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:28.000Z","ept":0.005,"lat":-33.680455000,"lon":151.290858333,"alt":21.890,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,20,023,37,09,36,327,38*7E $GPGSV,3,2,10,10,31,083,21,12,61,213,42,17,07,105,30,24,38,322,38*73 $GPGSV,3,3,10,25,25,224,29,29,12,267,27,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":21,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":30,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":29,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,240,*6D $GLGSV,2,2,08,77,50,333,21,88,48,233,16,87,41,152,,71,10,143,*6C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":21,"used":false},{"PRN":88,"el":48,"az":233,"ss":16,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102229.000,A,3340.8272,S,15117.4514,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102229.000,3340.8272,S,15117.4514,E,1,12,0.7,021.96,M,22.4,M,,*7B {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:29.000Z","ept":0.005,"lat":-33.680453333,"lon":151.290856667,"alt":21.960,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,20,023,37,09,36,327,38*7E $GPGSV,3,2,10,10,31,083,23,12,61,213,42,17,07,105,30,24,38,322,39*70 $GPGSV,3,3,10,25,25,224,29,29,12,267,26,,,,,,,,*78 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":23,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":30,"used":false},{"PRN":24,"el":38,"az":322,"ss":39,"used":false},{"PRN":25,"el":25,"az":224,"ss":29,"used":false},{"PRN":29,"el":12,"az":267,"ss":26,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,240,*6D $GLGSV,2,2,08,77,50,333,21,88,48,233,16,87,41,152,,71,10,143,*6C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":21,"used":false},{"PRN":88,"el":48,"az":233,"ss":16,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102230.000,A,3340.8271,S,15117.4514,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102230.000,3340.8271,S,15117.4514,E,1,12,0.7,021.86,M,22.4,M,,*71 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:30.000Z","ept":0.005,"lat":-33.680451667,"lon":151.290856667,"alt":21.860,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,20,023,37,09,36,327,38*7E $GPGSV,3,2,10,10,31,083,23,12,61,213,42,17,07,105,30,24,38,322,39*70 $GPGSV,3,3,10,25,25,224,29,29,12,267,27,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":20,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":23,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":30,"used":false},{"PRN":24,"el":38,"az":322,"ss":39,"used":false},{"PRN":25,"el":25,"az":224,"ss":29,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,,81,09,277,15,78,51,240,*6D $GLGSV,2,2,08,77,50,333,21,88,48,233,16,87,41,152,,71,10,143,*6C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"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":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":21,"used":false},{"PRN":88,"el":48,"az":233,"ss":16,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102231.000,A,3340.8270,S,15117.4513,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102231.000,3340.8270,S,15117.4513,E,1,12,0.7,021.85,M,22.4,M,,*75 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:31.000Z","ept":0.005,"lat":-33.680450000,"lon":151.290855000,"alt":21.850,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,38*7F $GPGSV,3,2,10,10,31,083,24,12,61,213,42,17,07,105,31,24,38,322,38*77 $GPGSV,3,3,10,25,25,224,28,29,12,267,27,,,,,,,,*78 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":24,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":31,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":28,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,21,81,09,277,15,78,51,240,*6E $GLGSV,2,2,08,77,50,333,22,88,48,233,16,87,41,152,,71,10,143,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":21,"used":false},{"PRN":81,"el":9,"az":277,"ss":15,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":22,"used":false},{"PRN":88,"el":48,"az":233,"ss":16,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102232.000,A,3340.8268,S,15117.4511,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102232.000,3340.8268,S,15117.4511,E,1,11,0.8,021.80,M,22.4,M,,*74 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:32.000Z","ept":0.005,"lat":-33.680446667,"lon":151.290851667,"alt":21.800,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,38*7F $GPGSV,3,2,10,10,31,083,24,12,61,213,42,17,07,105,31,24,38,322,39*76 $GPGSV,3,3,10,25,25,224,28,29,12,267,27,,,,,,,,*78 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":24,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":31,"used":false},{"PRN":24,"el":38,"az":322,"ss":39,"used":false},{"PRN":25,"el":25,"az":224,"ss":28,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,21,81,09,277,14,78,51,240,*6F $GLGSV,2,2,08,77,50,333,22,88,48,233,,87,41,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":21,"used":false},{"PRN":81,"el":9,"az":277,"ss":14,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":22,"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}]} $GPRMC,102233.000,A,3340.8267,S,15117.4511,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102233.000,3340.8267,S,15117.4511,E,1,12,0.7,021.85,M,22.4,M,,*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:33.000Z","ept":0.005,"lat":-33.680445000,"lon":151.290851667,"alt":21.850,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,38*7F $GPGSV,3,2,10,10,31,083,26,12,61,213,42,17,07,105,31,24,38,322,38*75 $GPGSV,3,3,10,25,25,224,28,29,12,267,27,,,,,,,,*78 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":83,"ss":26,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":31,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":28,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,21,81,09,277,14,78,51,240,*6F $GLGSV,2,2,08,77,50,333,22,88,48,233,15,87,41,152,,71,10,143,*6C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":21,"used":false},{"PRN":81,"el":9,"az":277,"ss":14,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":22,"used":false},{"PRN":88,"el":48,"az":233,"ss":15,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102234.000,A,3340.8266,S,15117.4511,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102234.000,3340.8266,S,15117.4511,E,1,12,0.7,021.83,M,22.4,M,,*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:34.000Z","ept":0.005,"lat":-33.680443333,"lon":151.290851667,"alt":21.830,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,083,27,12,61,213,42,17,07,105,31,24,38,322,38*74 $GPGSV,3,3,10,25,25,224,28,29,12,267,27,,,,,,,,*78 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":83,"ss":27,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":31,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":28,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,21,81,09,277,,78,51,240,*6A $GLGSV,2,2,08,77,50,333,22,88,48,233,15,87,41,152,,71,10,143,*6C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":21,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":22,"used":false},{"PRN":88,"el":48,"az":233,"ss":15,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102235.000,A,3340.8264,S,15117.4510,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102235.000,3340.8264,S,15117.4510,E,1,12,0.7,021.77,M,22.4,M,,*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:35.000Z","ept":0.005,"lat":-33.680440000,"lon":151.290850000,"alt":21.770,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,86,094,40,04,39,134,38,05,21,023,37,09,36,327,37*71 $GPGSV,3,2,10,10,31,083,28,12,61,213,42,17,07,105,31,24,38,322,38*7B $GPGSV,3,3,10,25,25,224,27,29,12,267,27,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":40,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":83,"ss":28,"used":false},{"PRN":12,"el":61,"az":213,"ss":42,"used":false},{"PRN":17,"el":7,"az":105,"ss":31,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":27,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,21,81,09,277,,78,51,240,*6A $GLGSV,2,2,08,77,50,333,22,88,48,233,15,87,41,152,,71,10,143,*6C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":21,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":22,"used":false},{"PRN":88,"el":48,"az":233,"ss":15,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102236.000,A,3340.8264,S,15117.4509,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102236.000,3340.8264,S,15117.4509,E,1,11,0.8,021.70,M,22.4,M,,*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:36.000Z","ept":0.005,"lat":-33.680440000,"lon":151.290848333,"alt":21.700,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,37,05,21,023,37,09,36,327,37*7E $GPGSV,3,2,10,10,31,083,29,12,61,213,41,17,07,105,31,24,38,322,38*79 $GPGSV,3,3,10,25,25,224,27,29,12,267,27,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":40,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":83,"ss":29,"used":false},{"PRN":12,"el":61,"az":213,"ss":41,"used":false},{"PRN":17,"el":7,"az":105,"ss":31,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":27,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,21,81,09,277,,78,51,240,*6A $GLGSV,2,2,08,77,50,333,22,88,48,233,14,87,41,152,,71,10,143,*6D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":21,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":22,"used":false},{"PRN":88,"el":48,"az":233,"ss":14,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102237.000,A,3340.8263,S,15117.4509,E,0.1,0.0,251112,0.0,W*67 $GPGGA,102237.000,3340.8263,S,15117.4509,E,1,11,0.8,021.58,M,22.4,M,,*76 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:37.000Z","ept":0.005,"lat":-33.680438333,"lon":151.290848333,"alt":21.580,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,37,05,21,023,37,09,36,327,37*7E $GPGSV,3,2,10,10,31,083,30,12,61,213,41,17,07,105,31,24,38,322,38*71 $GPGSV,3,3,10,25,25,224,27,29,12,267,27,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":40,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":83,"ss":30,"used":false},{"PRN":12,"el":61,"az":213,"ss":41,"used":false},{"PRN":17,"el":7,"az":105,"ss":31,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":27,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,20,81,09,277,,78,51,240,*6B $GLGSV,2,2,08,77,50,333,22,88,48,232,14,87,41,152,,71,10,143,*6C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":20,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":22,"used":false},{"PRN":88,"el":48,"az":232,"ss":14,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102238.000,A,3340.8263,S,15117.4509,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102238.000,3340.8263,S,15117.4509,E,1,11,0.8,021.53,M,22.4,M,,*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:38.000Z","ept":0.005,"lat":-33.680438333,"lon":151.290848333,"alt":21.530,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,37,05,21,023,37,09,36,327,37*7E $GPGSV,3,2,10,10,31,083,31,12,61,213,41,17,07,105,31,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,27,29,12,267,27,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":40,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":83,"ss":31,"used":false},{"PRN":12,"el":61,"az":213,"ss":41,"used":false},{"PRN":17,"el":7,"az":105,"ss":31,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":27,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,20,81,09,277,,78,51,240,*6B $GLGSV,2,2,08,77,50,333,22,88,48,232,14,87,41,152,,71,10,143,*6C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":20,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":22,"used":false},{"PRN":88,"el":48,"az":232,"ss":14,"used":false},{"PRN":87,"el":41,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102239.000,A,3340.8262,S,15117.4508,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102239.000,3340.8262,S,15117.4508,E,1,11,0.8,021.49,M,22.4,M,,*78 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:39.000Z","ept":0.005,"lat":-33.680436667,"lon":151.290846667,"alt":21.490,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,37,05,21,023,37,09,36,327,37*7E $GPGSV,3,2,10,10,31,083,32,12,61,213,41,17,07,105,31,24,38,322,38*73 $GPGSV,3,3,10,25,25,224,27,29,12,267,27,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":40,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":83,"ss":32,"used":false},{"PRN":12,"el":61,"az":213,"ss":41,"used":false},{"PRN":17,"el":7,"az":105,"ss":31,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":27,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,20,81,09,277,,78,51,240,*6B $GLGSV,2,2,08,77,50,333,22,88,48,232,14,87,40,152,,71,10,143,*6D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":20,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":22,"used":false},{"PRN":88,"el":48,"az":232,"ss":14,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102240.000,A,3340.8261,S,15117.4508,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102240.000,3340.8261,S,15117.4508,E,1,11,0.8,021.53,M,22.4,M,,*7E {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:40.000Z","ept":0.005,"lat":-33.680435000,"lon":151.290846667,"alt":21.530,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,37,05,21,023,37,09,36,327,37*7E $GPGSV,3,2,10,10,31,083,32,12,61,213,41,17,07,105,31,24,38,322,38*73 $GPGSV,3,3,10,25,25,224,27,29,12,267,27,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":40,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":83,"ss":32,"used":false},{"PRN":12,"el":61,"az":213,"ss":41,"used":false},{"PRN":17,"el":7,"az":105,"ss":31,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":27,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,20,81,09,277,,78,51,240,*6B $GLGSV,2,2,08,77,50,333,22,88,48,232,14,87,40,152,,71,10,143,*6D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":20,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":22,"used":false},{"PRN":88,"el":48,"az":232,"ss":14,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102241.000,A,3340.8260,S,15117.4509,E,0.0,0.0,251112,0.0,W*64 $GPGGA,102241.000,3340.8260,S,15117.4509,E,1,11,0.8,021.60,M,22.4,M,,*7F {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:41.000Z","ept":0.005,"lat":-33.680433333,"lon":151.290848333,"alt":21.600,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,37,05,21,023,37,09,36,327,37*7E $GPGSV,3,2,10,10,31,084,33,12,61,213,41,17,07,105,31,24,38,322,38*75 $GPGSV,3,3,10,25,25,224,27,29,12,267,27,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":40,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":33,"used":false},{"PRN":12,"el":61,"az":213,"ss":41,"used":false},{"PRN":17,"el":7,"az":105,"ss":31,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":27,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,20,81,09,277,,78,51,240,*6B $GLGSV,2,2,08,77,50,333,22,88,48,232,14,87,40,152,,71,10,143,*6D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":20,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":22,"used":false},{"PRN":88,"el":48,"az":232,"ss":14,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102242.000,A,3340.8259,S,15117.4510,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102242.000,3340.8259,S,15117.4510,E,1,11,0.8,021.67,M,22.4,M,,*79 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:42.000Z","ept":0.005,"lat":-33.680431667,"lon":151.290850000,"alt":21.670,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,34,12,61,213,41,17,07,105,32,24,38,322,38*71 $GPGSV,3,3,10,25,25,224,26,29,12,267,27,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":34,"used":false},{"PRN":12,"el":61,"az":213,"ss":41,"used":false},{"PRN":17,"el":7,"az":105,"ss":32,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,19,81,09,277,,78,51,240,*61 $GLGSV,2,2,08,77,50,333,22,88,48,232,13,87,40,152,,71,10,143,*6A {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":19,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":22,"used":false},{"PRN":88,"el":48,"az":232,"ss":13,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102243.000,A,3340.8258,S,15117.4510,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102243.000,3340.8258,S,15117.4510,E,1,11,0.8,021.92,M,22.4,M,,*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:43.000Z","ept":0.005,"lat":-33.680430000,"lon":151.290850000,"alt":21.920,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,34,12,61,213,41,17,07,105,32,24,38,322,38*71 $GPGSV,3,3,10,25,25,224,26,29,12,267,27,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":34,"used":false},{"PRN":12,"el":61,"az":213,"ss":41,"used":false},{"PRN":17,"el":7,"az":105,"ss":32,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,19,81,09,277,,78,51,240,*61 $GLGSV,2,2,08,77,50,333,22,88,48,232,13,87,40,152,,71,10,143,*6A {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":19,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":22,"used":false},{"PRN":88,"el":48,"az":232,"ss":13,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102244.000,A,3340.8257,S,15117.4510,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102244.000,3340.8257,S,15117.4510,E,1,11,0.8,021.99,M,22.4,M,,*70 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:44.000Z","ept":0.005,"lat":-33.680428333,"lon":151.290850000,"alt":21.990,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,34,12,61,213,41,17,07,105,32,24,38,322,38*71 $GPGSV,3,3,10,25,25,224,26,29,12,267,27,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":34,"used":false},{"PRN":12,"el":61,"az":213,"ss":41,"used":false},{"PRN":17,"el":7,"az":105,"ss":32,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,19,81,09,277,,78,51,240,*61 $GLGSV,2,2,08,77,50,333,22,88,48,232,13,87,40,152,,71,10,143,*6A {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":19,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":22,"used":false},{"PRN":88,"el":48,"az":232,"ss":13,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102245.000,A,3340.8256,S,15117.4510,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102245.000,3340.8256,S,15117.4510,E,1,11,0.8,022.02,M,22.4,M,,*71 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:45.000Z","ept":0.005,"lat":-33.680426667,"lon":151.290850000,"alt":22.020,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,35,12,62,212,41,17,07,105,32,24,38,322,38*72 $GPGSV,3,3,10,25,25,224,26,29,12,267,27,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":35,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":7,"az":105,"ss":32,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,19,81,09,277,,78,51,240,*61 $GLGSV,2,2,08,77,50,333,22,88,48,232,13,87,40,152,,71,10,143,*6A {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":19,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":22,"used":false},{"PRN":88,"el":48,"az":232,"ss":13,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102246.000,A,3340.8256,S,15117.4510,E,0.1,0.0,251112,0.0,W*6F $GPGGA,102246.000,3340.8256,S,15117.4510,E,1,11,0.8,022.00,M,22.4,M,,*70 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:46.000Z","ept":0.005,"lat":-33.680426667,"lon":151.290850000,"alt":22.000,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,35,12,62,212,40,17,07,105,32,24,38,322,38*73 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":35,"used":false},{"PRN":12,"el":62,"az":212,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":32,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":28,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,19,81,09,277,,78,51,240,*61 $GLGSV,2,2,08,77,50,333,22,88,48,232,12,87,40,152,,71,10,143,*6B {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":19,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":22,"used":false},{"PRN":88,"el":48,"az":232,"ss":12,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102247.000,A,3340.8254,S,15117.4510,E,0.1,0.0,251112,0.0,W*6C $GPGGA,102247.000,3340.8254,S,15117.4510,E,1,11,0.8,021.92,M,22.4,M,,*7B {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:47.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290850000,"alt":21.920,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,36,12,62,212,40,17,07,105,32,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":32,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":28,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,19,81,09,277,,78,51,240,*61 $GLGSV,2,2,08,77,50,333,21,88,48,232,12,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":19,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":21,"used":false},{"PRN":88,"el":48,"az":232,"ss":12,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102248.000,A,3340.8254,S,15117.4509,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102248.000,3340.8254,S,15117.4509,E,1,11,0.8,021.72,M,22.4,M,,*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:48.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290848333,"alt":21.720,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,36,12,62,212,40,17,07,105,32,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":32,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":28,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,19,81,09,277,,78,51,240,*61 $GLGSV,2,2,08,77,50,333,21,88,48,232,10,87,40,152,,71,10,143,*6A {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":19,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":21,"used":false},{"PRN":88,"el":48,"az":232,"ss":10,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102249.000,A,3340.8254,S,15117.4510,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102249.000,3340.8254,S,15117.4510,E,1,11,0.8,021.67,M,22.4,M,,*7F {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:49.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290850000,"alt":21.670,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,37,05,21,023,37,09,36,327,37*7E $GPGSV,3,2,10,10,31,084,36,12,62,212,40,17,07,105,32,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":40,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":32,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":28,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,18,81,09,277,,78,51,240,*60 $GLGSV,2,2,08,77,50,333,21,88,48,232,10,87,40,152,,71,10,143,*6A {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":18,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":21,"used":false},{"PRN":88,"el":48,"az":232,"ss":10,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102250.000,A,3340.8253,S,15117.4510,E,0.1,0.0,251112,0.0,W*6D $GPGGA,102250.000,3340.8253,S,15117.4510,E,1,11,0.8,021.48,M,22.4,M,,*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:50.000Z","ept":0.005,"lat":-33.680421667,"lon":151.290850000,"alt":21.480,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,37,05,21,023,37,09,36,327,37*7E $GPGSV,3,2,10,10,31,084,36,12,62,212,40,17,07,105,32,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":40,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":32,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":28,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,18,81,09,277,,78,51,240,*60 $GLGSV,2,2,08,77,50,333,21,88,48,232,07,87,40,152,,71,10,143,*6C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":18,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":21,"used":false},{"PRN":88,"el":48,"az":232,"ss":7,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102251.000,A,3340.8253,S,15117.4510,E,0.1,0.0,251112,0.0,W*6C $GPGGA,102251.000,3340.8253,S,15117.4510,E,1,11,0.8,021.18,M,22.4,M,,*79 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:51.000Z","ept":0.005,"lat":-33.680421667,"lon":151.290850000,"alt":21.180,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,36,12,62,212,40,17,07,105,32,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":32,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":28,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,18,81,09,277,,78,51,240,*60 $GLGSV,2,2,08,77,50,333,20,88,48,232,07,87,40,152,,71,10,143,*6D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":18,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":20,"used":false},{"PRN":88,"el":48,"az":232,"ss":7,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102252.000,A,3340.8253,S,15117.4510,E,0.1,0.0,251112,0.0,W*6F $GPGGA,102252.000,3340.8253,S,15117.4510,E,1,11,0.8,020.71,M,22.4,M,,*74 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:52.000Z","ept":0.005,"lat":-33.680421667,"lon":151.290850000,"alt":20.710,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,37,05,21,023,37,09,36,327,37*7E $GPGSV,3,2,10,10,31,084,36,12,62,212,40,17,07,105,32,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":40,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":32,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":28,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,18,81,09,277,,78,51,240,*60 $GLGSV,2,2,08,77,50,333,20,88,48,232,08,87,40,152,,71,10,143,*62 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":18,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":20,"used":false},{"PRN":88,"el":48,"az":232,"ss":8,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102253.000,A,3340.8254,S,15117.4511,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102253.000,3340.8254,S,15117.4511,E,1,11,0.8,020.43,M,22.4,M,,*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:53.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290851667,"alt":20.430,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,37,12,62,212,40,17,07,105,32,24,38,322,38*71 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":37,"used":false},{"PRN":12,"el":62,"az":212,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":32,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":28,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,17,81,09,277,,78,51,240,*6F $GLGSV,2,2,08,77,50,333,19,88,48,232,07,87,40,152,,71,10,143,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":17,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":19,"used":false},{"PRN":88,"el":48,"az":232,"ss":7,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102254.000,A,3340.8254,S,15117.4512,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102254.000,3340.8254,S,15117.4512,E,1,11,0.8,020.18,M,22.4,M,,*78 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:54.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290853333,"alt":20.180,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,37,12,62,212,40,17,07,105,32,24,38,322,38*71 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":37,"used":false},{"PRN":12,"el":62,"az":212,"ss":40,"used":false},{"PRN":17,"el":7,"az":105,"ss":32,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":28,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,17,81,09,277,,78,51,240,*6F $GLGSV,2,2,08,77,50,333,19,88,48,232,05,87,40,152,,71,10,143,*65 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":17,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":19,"used":false},{"PRN":88,"el":48,"az":232,"ss":5,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102255.000,A,3340.8254,S,15117.4513,E,0.1,0.0,251112,0.0,W*6C $GPGGA,102255.000,3340.8254,S,15117.4513,E,1,11,0.8,019.91,M,22.4,M,,*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:55.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290855000,"alt":19.910,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,37,12,62,212,40,17,06,104,32,24,38,322,39*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":37,"used":false},{"PRN":12,"el":62,"az":212,"ss":40,"used":false},{"PRN":17,"el":6,"az":104,"ss":32,"used":false},{"PRN":24,"el":38,"az":322,"ss":39,"used":false},{"PRN":25,"el":25,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":28,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,16,81,09,277,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,19,88,48,232,,87,40,152,,71,10,143,*60 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":16,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":19,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102256.000,A,3340.8254,S,15117.4514,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102256.000,3340.8254,S,15117.4514,E,1,11,0.8,019.63,M,22.4,M,,*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:56.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290856667,"alt":19.630,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,37,12,62,212,40,17,06,104,32,24,38,322,39*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":37,"used":false},{"PRN":12,"el":62,"az":212,"ss":40,"used":false},{"PRN":17,"el":6,"az":104,"ss":32,"used":false},{"PRN":24,"el":38,"az":322,"ss":39,"used":false},{"PRN":25,"el":25,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":28,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,16,81,09,277,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,19,88,48,232,,87,40,152,,71,10,143,*60 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":16,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":19,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102257.000,A,3340.8254,S,15117.4514,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102257.000,3340.8254,S,15117.4514,E,1,11,0.8,019.42,M,22.4,M,,*78 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:57.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290856667,"alt":19.420,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,37,12,62,212,41,17,06,104,33,24,38,322,39*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":37,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":33,"used":false},{"PRN":24,"el":38,"az":322,"ss":39,"used":false},{"PRN":25,"el":25,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":28,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,15,81,09,277,,78,51,240,*6D $GLGSV,2,2,08,77,50,333,18,88,48,232,,87,40,152,,71,10,143,*61 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":15,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":18,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102258.000,A,3340.8254,S,15117.4515,E,0.0,0.0,251112,0.0,W*66 $GPGGA,102258.000,3340.8254,S,15117.4515,E,1,11,0.8,019.20,M,22.4,M,,*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:58.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290858333,"alt":19.200,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,37,12,62,212,41,17,06,104,33,24,38,322,39*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":37,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":33,"used":false},{"PRN":24,"el":38,"az":322,"ss":39,"used":false},{"PRN":25,"el":25,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":28,"used":false}]} $GLGSV,2,1,08,76,08,007,,65,10,040,15,81,09,277,,78,51,240,*6D $GLGSV,2,2,08,77,50,333,18,88,48,232,,87,40,152,,71,10,143,*61 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":8,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":15,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":18,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102259.000,A,3340.8254,S,15117.4515,E,0.0,0.0,251112,0.0,W*67 $GPGGA,102259.000,3340.8254,S,15117.4515,E,1,11,0.8,019.00,M,22.4,M,,*71 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:22:59.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290858333,"alt":19.000,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,37,12,62,212,41,17,06,104,33,24,38,322,39*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,28,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":37,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":33,"used":false},{"PRN":24,"el":38,"az":322,"ss":39,"used":false},{"PRN":25,"el":25,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,10,040,15,81,09,277,,78,51,240,*62 $GLGSV,2,2,08,77,50,333,18,88,48,232,,87,40,152,,71,10,143,*61 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":15,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":18,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102300.000,A,3340.8254,S,15117.4515,E,0.1,0.0,251112,0.0,W*6B $GPGGA,102300.000,3340.8254,S,15117.4515,E,1,11,0.8,019.04,M,22.4,M,,*78 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:00.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290858333,"alt":19.040,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,37,12,62,212,41,17,06,104,33,24,38,322,39*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,27,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":37,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":33,"used":false},{"PRN":24,"el":38,"az":322,"ss":39,"used":false},{"PRN":25,"el":25,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,10,040,14,81,09,277,,78,51,240,*63 $GLGSV,2,2,08,77,50,333,17,88,48,232,,87,40,152,,71,10,143,*6E {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":14,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":17,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102301.000,A,3340.8253,S,15117.4516,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102301.000,3340.8253,S,15117.4516,E,1,11,0.8,019.39,M,22.4,M,,*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:01.000Z","ept":0.005,"lat":-33.680421667,"lon":151.290860000,"alt":19.390,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,37,12,62,212,41,17,06,104,33,24,38,322,39*70 $GPGSV,3,3,10,25,25,224,26,29,12,267,27,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":37,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":33,"used":false},{"PRN":24,"el":38,"az":322,"ss":39,"used":false},{"PRN":25,"el":25,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,10,040,14,81,09,277,,78,51,240,*63 $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":14,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102302.000,A,3340.8253,S,15117.4516,E,0.1,0.0,251112,0.0,W*6D $GPGGA,102302.000,3340.8253,S,15117.4516,E,1,11,0.8,019.69,M,22.4,M,,*75 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:02.000Z","ept":0.005,"lat":-33.680421667,"lon":151.290860000,"alt":19.690,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,37,12,62,212,41,17,06,104,33,24,38,322,38*71 $GPGSV,3,3,10,25,25,224,26,29,12,267,27,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":37,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":33,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,10,040,14,81,09,277,,78,51,240,*63 $GLGSV,2,2,08,77,50,333,14,88,48,232,,87,40,152,,71,10,143,*6D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":10,"az":40,"ss":14,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":14,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102303.000,A,3340.8253,S,15117.4516,E,0.1,0.0,251112,0.0,W*6C $GPGGA,102303.000,3340.8253,S,15117.4516,E,1,11,0.8,019.77,M,22.4,M,,*7B {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:03.000Z","ept":0.005,"lat":-33.680421667,"lon":151.290860000,"alt":19.770,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,37,12,62,212,40,17,06,104,32,24,38,322,38*71 $GPGSV,3,3,10,25,25,224,25,29,12,267,27,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":37,"used":false},{"PRN":12,"el":62,"az":212,"ss":40,"used":false},{"PRN":17,"el":6,"az":104,"ss":32,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":25,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,14,81,09,277,,78,51,240,*62 $GLGSV,2,2,08,77,50,333,14,88,48,232,,87,40,152,,71,10,143,*6D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":14,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":14,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102304.000,A,3340.8253,S,15117.4516,E,0.1,0.0,251112,0.0,W*6B $GPGGA,102304.000,3340.8253,S,15117.4516,E,1,11,0.8,019.82,M,22.4,M,,*76 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:04.000Z","ept":0.005,"lat":-33.680421667,"lon":151.290860000,"alt":19.820,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,36,12,62,212,40,17,06,104,32,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,25,29,12,267,27,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":40,"used":false},{"PRN":17,"el":6,"az":104,"ss":32,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":25,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,13,81,09,277,,78,51,240,*65 $GLGSV,2,2,08,77,50,333,14,88,48,232,,87,40,152,,71,10,143,*6D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":13,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":14,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102305.000,A,3340.8253,S,15117.4519,E,0.0,0.0,251112,0.0,W*64 $GPGGA,102305.000,3340.8253,S,15117.4519,E,1,11,0.8,019.88,M,22.4,M,,*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:05.000Z","ept":0.005,"lat":-33.680421667,"lon":151.290865000,"alt":19.880,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,36,12,62,212,40,17,06,104,32,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,25,29,12,267,27,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":40,"used":false},{"PRN":17,"el":6,"az":104,"ss":32,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":25,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,12,81,09,277,,78,51,240,*64 $GLGSV,2,2,08,77,50,333,14,88,48,232,,87,40,152,,71,10,143,*6D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":12,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":14,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102306.000,A,3340.8253,S,15117.4521,E,0.0,0.0,251112,0.0,W*6C $GPGGA,102306.000,3340.8253,S,15117.4521,E,1,11,0.8,019.77,M,22.4,M,,*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:06.000Z","ept":0.005,"lat":-33.680421667,"lon":151.290868333,"alt":19.770,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,36,12,62,212,40,17,06,104,32,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,25,29,12,267,27,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":40,"used":false},{"PRN":17,"el":6,"az":104,"ss":32,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":25,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,11,81,09,277,,78,51,240,*67 $GLGSV,2,2,08,77,50,333,14,88,48,232,,87,40,152,,71,10,143,*6D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":11,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":14,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102307.000,A,3340.8252,S,15117.4524,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102307.000,3340.8252,S,15117.4524,E,1,11,0.8,019.82,M,22.4,M,,*75 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:07.000Z","ept":0.005,"lat":-33.680420000,"lon":151.290873333,"alt":19.820,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,36,05,21,023,36,09,36,327,36*7F $GPGSV,3,2,10,10,31,084,36,12,62,212,40,17,06,104,32,24,38,322,38*70 $GPGSV,3,3,10,25,25,224,25,29,12,267,27,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":40,"used":false},{"PRN":4,"el":39,"az":134,"ss":36,"used":false},{"PRN":5,"el":21,"az":23,"ss":36,"used":false},{"PRN":9,"el":36,"az":327,"ss":36,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":40,"used":false},{"PRN":17,"el":6,"az":104,"ss":32,"used":false},{"PRN":24,"el":38,"az":322,"ss":38,"used":false},{"PRN":25,"el":25,"az":224,"ss":25,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,08,81,09,277,,78,51,240,*6F $GLGSV,2,2,08,77,50,333,14,88,48,232,,87,40,152,,71,10,143,*6D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":8,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":14,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102308.000,A,3340.8252,S,15117.4526,E,0.1,0.0,251112,0.0,W*65 $GPGGA,102308.000,3340.8252,S,15117.4526,E,1,11,0.8,019.91,M,22.4,M,,*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:08.000Z","ept":0.005,"lat":-33.680420000,"lon":151.290876667,"alt":19.910,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,36,05,21,023,36,09,36,327,36*7F $GPGSV,3,2,10,10,31,084,35,12,62,212,40,17,06,104,31,24,38,322,37*7F $GPGSV,3,3,10,25,25,224,24,29,12,267,26,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":40,"used":false},{"PRN":4,"el":39,"az":134,"ss":36,"used":false},{"PRN":5,"el":21,"az":23,"ss":36,"used":false},{"PRN":9,"el":36,"az":327,"ss":36,"used":false},{"PRN":10,"el":31,"az":84,"ss":35,"used":false},{"PRN":12,"el":62,"az":212,"ss":40,"used":false},{"PRN":17,"el":6,"az":104,"ss":31,"used":false},{"PRN":24,"el":38,"az":322,"ss":37,"used":false},{"PRN":25,"el":25,"az":224,"ss":24,"used":false},{"PRN":29,"el":12,"az":267,"ss":26,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,05,81,09,277,,78,51,240,*62 $GLGSV,2,2,08,77,50,333,14,88,48,232,,87,40,152,,71,10,143,*6D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":5,"used":false},{"PRN":81,"el":9,"az":277,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":14,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102309.000,A,3340.8252,S,15117.4528,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102309.000,3340.8252,S,15117.4528,E,1,11,0.8,020.06,M,22.4,M,,*71 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:09.000Z","ept":0.005,"lat":-33.680420000,"lon":151.290880000,"alt":20.060,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,39,04,39,134,36,05,21,023,36,09,36,327,36*71 $GPGSV,3,2,10,10,31,084,35,12,62,212,39,17,06,104,31,24,37,322,37*7E $GPGSV,3,3,10,25,25,224,24,29,12,267,26,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":39,"used":false},{"PRN":4,"el":39,"az":134,"ss":36,"used":false},{"PRN":5,"el":21,"az":23,"ss":36,"used":false},{"PRN":9,"el":36,"az":327,"ss":36,"used":false},{"PRN":10,"el":31,"az":84,"ss":35,"used":false},{"PRN":12,"el":62,"az":212,"ss":39,"used":false},{"PRN":17,"el":6,"az":104,"ss":31,"used":false},{"PRN":24,"el":37,"az":322,"ss":37,"used":false},{"PRN":25,"el":25,"az":224,"ss":24,"used":false},{"PRN":29,"el":12,"az":267,"ss":26,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,14,88,48,232,,87,40,152,,71,10,143,*6D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":14,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102310.000,A,3340.8251,S,15117.4529,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102310.000,3340.8251,S,15117.4529,E,1,11,0.8,020.26,M,22.4,M,,*79 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:10.000Z","ept":0.005,"lat":-33.680418333,"lon":151.290881667,"alt":20.260,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,36,05,21,023,36,09,36,327,36*7F $GPGSV,3,2,10,10,31,084,35,12,62,212,39,17,06,104,31,24,37,322,37*7E $GPGSV,3,3,10,25,25,224,24,29,12,267,26,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":40,"used":false},{"PRN":4,"el":39,"az":134,"ss":36,"used":false},{"PRN":5,"el":21,"az":23,"ss":36,"used":false},{"PRN":9,"el":36,"az":327,"ss":36,"used":false},{"PRN":10,"el":31,"az":84,"ss":35,"used":false},{"PRN":12,"el":62,"az":212,"ss":39,"used":false},{"PRN":17,"el":6,"az":104,"ss":31,"used":false},{"PRN":24,"el":37,"az":322,"ss":37,"used":false},{"PRN":25,"el":25,"az":224,"ss":24,"used":false},{"PRN":29,"el":12,"az":267,"ss":26,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,07,81,10,276,,78,51,240,*69 $GLGSV,2,2,08,77,50,333,12,88,48,232,,87,40,152,,71,10,143,*6B {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":7,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":12,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102311.000,A,3340.8252,S,15117.4529,E,0.2,247.6,251112,0.0,W*66 $GPGGA,102311.000,3340.8252,S,15117.4529,E,1,11,0.8,020.30,M,22.4,M,,*7C {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:11.000Z","ept":0.005,"lat":-33.680420000,"lon":151.290881667,"alt":20.300,"epv":27.600,"track":247.6000,"speed":0.103} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,36,05,21,023,35,09,36,327,36*7C $GPGSV,3,2,10,10,31,084,35,12,62,212,39,17,06,104,31,24,37,322,37*7E $GPGSV,3,3,10,25,26,224,24,29,12,267,26,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":40,"used":false},{"PRN":4,"el":39,"az":134,"ss":36,"used":false},{"PRN":5,"el":21,"az":23,"ss":35,"used":false},{"PRN":9,"el":36,"az":327,"ss":36,"used":false},{"PRN":10,"el":31,"az":84,"ss":35,"used":false},{"PRN":12,"el":62,"az":212,"ss":39,"used":false},{"PRN":17,"el":6,"az":104,"ss":31,"used":false},{"PRN":24,"el":37,"az":322,"ss":37,"used":false},{"PRN":25,"el":26,"az":224,"ss":24,"used":false},{"PRN":29,"el":12,"az":267,"ss":26,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,07,81,10,276,,78,51,240,*69 $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":7,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102312.000,A,3340.8252,S,15117.4529,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102312.000,3340.8252,S,15117.4529,E,1,11,0.8,020.31,M,22.4,M,,*7E {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:12.000Z","ept":0.005,"lat":-33.680420000,"lon":151.290881667,"alt":20.310,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,36,05,21,023,36,09,36,327,36*7F $GPGSV,3,2,10,10,31,084,35,12,62,212,40,17,06,104,31,24,37,322,37*70 $GPGSV,3,3,10,25,26,224,24,29,12,267,26,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":40,"used":false},{"PRN":4,"el":39,"az":134,"ss":36,"used":false},{"PRN":5,"el":21,"az":23,"ss":36,"used":false},{"PRN":9,"el":36,"az":327,"ss":36,"used":false},{"PRN":10,"el":31,"az":84,"ss":35,"used":false},{"PRN":12,"el":62,"az":212,"ss":40,"used":false},{"PRN":17,"el":6,"az":104,"ss":31,"used":false},{"PRN":24,"el":37,"az":322,"ss":37,"used":false},{"PRN":25,"el":26,"az":224,"ss":24,"used":false},{"PRN":29,"el":12,"az":267,"ss":26,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102313.000,A,3340.8253,S,15117.4529,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102313.000,3340.8253,S,15117.4529,E,1,11,0.8,020.36,M,22.4,M,,*79 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:13.000Z","ept":0.005,"lat":-33.680421667,"lon":151.290881667,"alt":20.360,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,40,04,39,134,37,05,21,023,36,09,36,327,36*7E $GPGSV,3,2,10,10,31,084,35,12,62,212,40,17,06,104,31,24,37,322,37*70 $GPGSV,3,3,10,25,26,224,25,29,12,267,27,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":40,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":36,"used":false},{"PRN":9,"el":36,"az":327,"ss":36,"used":false},{"PRN":10,"el":31,"az":84,"ss":35,"used":false},{"PRN":12,"el":62,"az":212,"ss":40,"used":false},{"PRN":17,"el":6,"az":104,"ss":31,"used":false},{"PRN":24,"el":37,"az":322,"ss":37,"used":false},{"PRN":25,"el":26,"az":224,"ss":25,"used":false},{"PRN":29,"el":12,"az":267,"ss":27,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102314.000,A,3340.8253,S,15117.4529,E,0.0,0.0,251112,0.0,W*67 $GPGGA,102314.000,3340.8253,S,15117.4529,E,1,11,0.8,020.60,M,22.4,M,,*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:14.000Z","ept":0.005,"lat":-33.680421667,"lon":151.290881667,"alt":20.600,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,37,05,21,023,37,09,36,327,37*7F $GPGSV,3,2,10,10,31,084,35,12,62,212,41,17,06,104,31,24,37,322,38*7E $GPGSV,3,3,10,25,26,224,25,29,12,267,28,,,,,,,,*79 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":37,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":35,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":31,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":25,"used":false},{"PRN":29,"el":12,"az":267,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102315.000,A,3340.8252,S,15117.4528,E,0.0,0.0,251112,0.0,W*66 $GPGGA,102315.000,3340.8252,S,15117.4528,E,1,11,0.8,021.35,M,22.4,M,,*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:15.000Z","ept":0.005,"lat":-33.680420000,"lon":151.290880000,"alt":21.350,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,42,04,39,134,38,05,21,023,37,09,36,327,37*73 $GPGSV,3,2,10,10,31,084,36,12,62,212,42,17,06,104,31,24,37,322,39*7F $GPGSV,3,3,10,25,26,224,26,29,12,267,28,,,,,,,,*7A {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":31,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102316.000,A,3340.8252,S,15117.4528,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102316.000,3340.8252,S,15117.4528,E,1,11,0.8,022.10,M,22.4,M,,*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:16.000Z","ept":0.005,"lat":-33.680420000,"lon":151.290880000,"alt":22.100,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,42,04,39,134,38,05,21,023,38,09,36,327,38*73 $GPGSV,3,2,10,10,31,084,36,12,62,212,42,17,06,104,31,24,37,322,39*7F $GPGSV,3,3,10,25,26,224,27,29,12,267,29,,,,,,,,*7A {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":38,"used":false},{"PRN":9,"el":36,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":31,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":27,"used":false},{"PRN":29,"el":12,"az":267,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102317.000,A,3340.8252,S,15117.4526,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102317.000,3340.8252,S,15117.4526,E,1,11,0.8,022.55,M,22.4,M,,*74 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:17.000Z","ept":0.005,"lat":-33.680420000,"lon":151.290876667,"alt":22.550,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,42,04,39,134,38,05,21,023,37,09,36,327,37*73 $GPGSV,3,2,10,10,31,084,36,12,62,212,42,17,06,104,31,24,37,322,38*7E $GPGSV,3,3,10,25,26,224,27,29,12,267,29,,,,,,,,*7A {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":31,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":27,"used":false},{"PRN":29,"el":12,"az":267,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102318.000,A,3340.8252,S,15117.4526,E,0.1,0.0,251112,0.0,W*64 $GPGGA,102318.000,3340.8252,S,15117.4526,E,1,11,0.8,022.79,M,22.4,M,,*75 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:18.000Z","ept":0.005,"lat":-33.680420000,"lon":151.290876667,"alt":22.790,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,30,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,26,29,12,267,28,,,,,,,,*7A {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":30,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":26,"used":false},{"PRN":29,"el":12,"az":267,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102319.000,A,3340.8251,S,15117.4525,E,0.0,0.0,251112,0.0,W*64 $GPGGA,102319.000,3340.8251,S,15117.4525,E,1,11,0.8,023.16,M,22.4,M,,*7C {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:19.000Z","ept":0.005,"lat":-33.680418333,"lon":151.290875000,"alt":23.160,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,30,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,27,29,13,266,28,,,,,,,,*7B {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":30,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":27,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102320.000,A,3340.8250,S,15117.4525,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102320.000,3340.8250,S,15117.4525,E,1,11,0.8,023.45,M,22.4,M,,*71 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:20.000Z","ept":0.005,"lat":-33.680416667,"lon":151.290875000,"alt":23.450,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,30,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,27,29,13,266,29,,,,,,,,*7A {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":30,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":27,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102321.000,A,3340.8250,S,15117.4524,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102321.000,3340.8250,S,15117.4524,E,1,11,0.8,023.82,M,22.4,M,,*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:21.000Z","ept":0.005,"lat":-33.680416667,"lon":151.290873333,"alt":23.820,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,42,17,06,104,30,24,37,322,38*7F $GPGSV,3,3,10,25,26,224,27,29,13,266,28,,,,,,,,*7B {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":30,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":27,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102322.000,A,3340.8251,S,15117.4524,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102322.000,3340.8251,S,15117.4524,E,1,11,0.8,024.02,M,22.4,M,,*77 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:22.000Z","ept":0.005,"lat":-33.680418333,"lon":151.290873333,"alt":24.020,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,30,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,27,29,13,266,28,,,,,,,,*7B {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":30,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":27,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102323.000,A,3340.8251,S,15117.4525,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102323.000,3340.8251,S,15117.4525,E,1,11,0.8,024.08,M,22.4,M,,*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:23.000Z","ept":0.005,"lat":-33.680418333,"lon":151.290875000,"alt":24.080,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,30,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,27,29,13,266,28,,,,,,,,*7B {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":30,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":27,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102324.000,A,3340.8252,S,15117.4524,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102324.000,3340.8252,S,15117.4524,E,1,11,0.8,024.06,M,22.4,M,,*76 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:24.000Z","ept":0.005,"lat":-33.680420000,"lon":151.290873333,"alt":24.060,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,30,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":30,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102325.000,A,3340.8252,S,15117.4524,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102325.000,3340.8252,S,15117.4524,E,1,11,0.8,024.15,M,22.4,M,,*75 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:25.000Z","ept":0.005,"lat":-33.680420000,"lon":151.290873333,"alt":24.150,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,30,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":30,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102326.000,A,3340.8252,S,15117.4525,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102326.000,3340.8252,S,15117.4525,E,1,11,0.8,024.04,M,22.4,M,,*77 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:26.000Z","ept":0.005,"lat":-33.680420000,"lon":151.290875000,"alt":24.040,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,30,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,28,29,13,266,28,,,,,,,,*74 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":30,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102327.000,A,3340.8252,S,15117.4525,E,0.1,0.0,251112,0.0,W*6B $GPGGA,102327.000,3340.8252,S,15117.4525,E,1,11,0.8,023.96,M,22.4,M,,*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:27.000Z","ept":0.005,"lat":-33.680420000,"lon":151.290875000,"alt":23.960,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,30,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":30,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102328.000,A,3340.8252,S,15117.4526,E,0.1,0.0,251112,0.0,W*67 $GPGGA,102328.000,3340.8252,S,15117.4526,E,1,11,0.8,023.92,M,22.4,M,,*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:28.000Z","ept":0.005,"lat":-33.680420000,"lon":151.290876667,"alt":23.920,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,094,41,04,39,134,38,05,21,023,37,09,36,327,37*70 $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,29,24,37,322,38*74 $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":94,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":29,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102329.000,A,3340.8252,S,15117.4526,E,0.0,0.0,251112,0.0,W*67 $GPGGA,102329.000,3340.8252,S,15117.4526,E,1,11,0.8,023.86,M,22.4,M,,*76 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:29.000Z","ept":0.005,"lat":-33.680420000,"lon":151.290876667,"alt":23.860,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,37,09,36,327,37*7D $GPGSV,3,2,10,10,31,084,36,12,62,212,42,17,06,104,29,24,37,322,38*77 $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":101,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":29,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102330.000,A,3340.8252,S,15117.4526,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102330.000,3340.8252,S,15117.4526,E,1,11,0.8,023.73,M,22.4,M,,*74 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:30.000Z","ept":0.005,"lat":-33.680420000,"lon":151.290876667,"alt":23.730,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,37,09,36,327,37*7D $GPGSV,3,2,10,10,31,084,36,12,62,212,41,17,06,104,29,24,37,322,38*74 $GPGSV,3,3,10,25,26,224,28,29,13,266,28,,,,,,,,*74 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":101,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":29,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102331.000,A,3340.8252,S,15117.4526,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102331.000,3340.8252,S,15117.4526,E,1,11,0.8,023.58,M,22.4,M,,*7C {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:31.000Z","ept":0.005,"lat":-33.680420000,"lon":151.290876667,"alt":23.580,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,37,09,36,327,37*7D $GPGSV,3,2,10,10,31,084,35,12,62,212,41,17,06,104,29,24,37,322,38*77 $GPGSV,3,3,10,25,26,224,28,29,13,266,28,,,,,,,,*74 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":101,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":35,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":29,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102332.000,A,3340.8252,S,15117.4526,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102332.000,3340.8252,S,15117.4526,E,1,11,0.8,023.39,M,22.4,M,,*78 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:32.000Z","ept":0.005,"lat":-33.680420000,"lon":151.290876667,"alt":23.390,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,37,09,36,327,37*7D $GPGSV,3,2,10,10,31,084,35,12,62,212,41,17,06,104,29,24,37,322,38*77 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":101,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":35,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":29,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":29,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,232,,87,40,152,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":232,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102333.000,A,3340.8253,S,15117.4525,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102333.000,3340.8253,S,15117.4525,E,1,11,0.8,023.08,M,22.4,M,,*79 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:33.000Z","ept":0.005,"lat":-33.680421667,"lon":151.290875000,"alt":23.080,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,37,09,36,327,37*7D $GPGSV,3,2,10,10,31,084,35,12,62,212,41,17,06,104,29,24,37,322,38*77 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":101,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":35,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":29,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":29,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,*6E $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,152,,71,10,143,*6B {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":0,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102334.000,A,3340.8254,S,15117.4524,E,0.1,0.0,251112,0.0,W*6E $GPGGA,102334.000,3340.8254,S,15117.4524,E,1,11,0.8,022.97,M,22.4,M,,*7F {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:34.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290873333,"alt":22.970,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,36,09,36,327,37*7C $GPGSV,3,2,10,10,31,084,35,12,62,212,41,17,06,104,28,24,37,322,37*79 $GPGSV,3,3,10,25,26,224,28,29,13,266,28,,,,,,,,*74 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":101,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":36,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":35,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":28,"used":false},{"PRN":24,"el":37,"az":322,"ss":37,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,,78,51,240,18*67 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,152,,71,10,143,*6B {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":18,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":152,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102335.000,A,3340.8254,S,15117.4524,E,0.1,0.0,251112,0.0,W*6F $GPGGA,102335.000,3340.8254,S,15117.4524,E,1,11,0.8,022.94,M,22.4,M,,*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:35.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290873333,"alt":22.940,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,40,04,39,134,38,05,21,023,36,09,36,327,36*7C $GPGSV,3,2,10,10,31,084,35,12,62,212,41,17,06,104,28,24,37,322,37*79 $GPGSV,3,3,10,25,26,224,28,29,13,266,27,,,,,,,,*7B {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":101,"ss":40,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":36,"used":false},{"PRN":9,"el":36,"az":327,"ss":36,"used":false},{"PRN":10,"el":31,"az":84,"ss":35,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":28,"used":false},{"PRN":24,"el":37,"az":322,"ss":37,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":27,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,18,81,10,276,,78,51,240,19*6F $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":18,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":19,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102336.000,A,3340.8255,S,15117.4523,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102336.000,3340.8255,S,15117.4523,E,1,11,0.8,022.90,M,22.4,M,,*7C {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:36.000Z","ept":0.005,"lat":-33.680425000,"lon":151.290871667,"alt":22.900,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,36,09,36,327,37*7C $GPGSV,3,2,10,10,31,084,35,12,62,212,41,17,06,104,28,24,37,322,37*79 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":101,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":36,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":35,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":28,"used":false},{"PRN":24,"el":37,"az":322,"ss":37,"used":false},{"PRN":25,"el":26,"az":224,"ss":29,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,18,81,10,276,,78,51,240,19*6F $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":18,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":19,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102337.000,A,3340.8255,S,15117.4523,E,0.1,0.0,251112,0.0,W*6B $GPGGA,102337.000,3340.8255,S,15117.4523,E,1,11,0.8,022.74,M,22.4,M,,*77 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:37.000Z","ept":0.005,"lat":-33.680425000,"lon":151.290871667,"alt":22.740,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,36,09,36,327,37*7C $GPGSV,3,2,10,10,31,084,35,12,62,212,41,17,06,104,28,24,37,322,38*76 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":101,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":36,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":35,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":28,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":29,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,18,81,10,276,18,78,51,240,19*66 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":18,"used":false},{"PRN":81,"el":10,"az":276,"ss":18,"used":false},{"PRN":78,"el":51,"az":240,"ss":19,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102338.000,A,3340.8256,S,15117.4522,E,0.0,0.0,251112,0.0,W*67 $GPGGA,102338.000,3340.8256,S,15117.4522,E,1,11,0.8,022.50,M,22.4,M,,*7C {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:38.000Z","ept":0.005,"lat":-33.680426667,"lon":151.290870000,"alt":22.500,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,36,09,36,327,37*7C $GPGSV,3,2,10,10,31,084,35,12,62,212,41,17,06,104,28,24,37,322,38*76 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":101,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":36,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":35,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":28,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":29,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,,81,10,276,17,78,51,240,19*60 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,143,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":17,"used":false},{"PRN":78,"el":51,"az":240,"ss":19,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":143,"ss":0,"used":false}]} $GPRMC,102339.000,A,3340.8256,S,15117.4520,E,0.0,0.0,251112,0.0,W*64 $GPGGA,102339.000,3340.8256,S,15117.4520,E,1,11,0.8,022.34,M,22.4,M,,*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:39.000Z","ept":0.005,"lat":-33.680426667,"lon":151.290866667,"alt":22.340,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,36,09,36,327,37*7C $GPGSV,3,2,10,10,31,084,34,12,62,212,41,17,06,104,28,24,37,322,38*77 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":101,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":36,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":34,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":28,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":29,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,18,81,10,276,16,78,51,240,19*68 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":18,"used":false},{"PRN":81,"el":10,"az":276,"ss":16,"used":false},{"PRN":78,"el":51,"az":240,"ss":19,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102340.000,A,3340.8255,S,15117.4519,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102340.000,3340.8255,S,15117.4519,E,1,11,0.8,022.14,M,22.4,M,,*78 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:40.000Z","ept":0.005,"lat":-33.680425000,"lon":151.290865000,"alt":22.140,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,36,09,36,327,37*7C $GPGSV,3,2,10,10,31,084,34,12,62,212,41,17,06,104,27,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":101,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":36,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":34,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":27,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":29,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,19,81,10,276,15,78,51,240,19*6A $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":19,"used":false},{"PRN":81,"el":10,"az":276,"ss":15,"used":false},{"PRN":78,"el":51,"az":240,"ss":19,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102341.000,A,3340.8255,S,15117.4518,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102341.000,3340.8255,S,15117.4518,E,1,11,0.8,021.95,M,22.4,M,,*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:41.000Z","ept":0.005,"lat":-33.680425000,"lon":151.290863333,"alt":21.950,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,36,09,36,327,37*7C $GPGSV,3,2,10,10,31,084,34,12,62,212,41,17,06,104,27,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":101,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":36,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":34,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":27,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":29,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,19,81,10,276,15,78,51,240,19*6A $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":19,"used":false},{"PRN":81,"el":10,"az":276,"ss":15,"used":false},{"PRN":78,"el":51,"az":240,"ss":19,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102342.000,A,3340.8255,S,15117.4517,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102342.000,3340.8255,S,15117.4517,E,1,11,0.8,021.85,M,22.4,M,,*7F {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:42.000Z","ept":0.005,"lat":-33.680425000,"lon":151.290861667,"alt":21.850,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,36,09,36,327,37*7C $GPGSV,3,2,10,10,31,084,34,12,62,212,41,17,06,104,27,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":101,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":36,"used":false},{"PRN":9,"el":36,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":34,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":27,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":29,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,19,81,10,276,15,78,51,240,20*60 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":19,"used":false},{"PRN":81,"el":10,"az":276,"ss":15,"used":false},{"PRN":78,"el":51,"az":240,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102343.000,A,3340.8255,S,15117.4516,E,0.1,0.0,251112,0.0,W*6E $GPGGA,102343.000,3340.8255,S,15117.4516,E,1,11,0.8,021.64,M,22.4,M,,*70 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:43.000Z","ept":0.005,"lat":-33.680425000,"lon":151.290860000,"alt":21.640,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,36,09,35,327,37*7F $GPGSV,3,2,10,10,31,084,34,12,62,212,41,17,06,104,27,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,30,29,13,266,29,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":101,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":36,"used":false},{"PRN":9,"el":35,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":34,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":27,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":30,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,19,81,10,276,15,78,51,240,20*60 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":19,"used":false},{"PRN":81,"el":10,"az":276,"ss":15,"used":false},{"PRN":78,"el":51,"az":240,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102344.000,A,3340.8255,S,15117.4514,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102344.000,3340.8255,S,15117.4514,E,1,11,0.8,021.48,M,22.4,M,,*7B {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:44.000Z","ept":0.005,"lat":-33.680425000,"lon":151.290856667,"alt":21.480,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,36,09,35,327,37*7F $GPGSV,3,2,10,10,31,084,33,12,62,212,41,17,06,104,26,24,37,322,38*7E $GPGSV,3,3,10,25,26,224,30,29,13,266,28,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":101,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":36,"used":false},{"PRN":9,"el":35,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":84,"ss":33,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":26,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":30,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,19,81,10,276,15,78,51,240,20*60 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":19,"used":false},{"PRN":81,"el":10,"az":276,"ss":15,"used":false},{"PRN":78,"el":51,"az":240,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102345.000,A,3340.8254,S,15117.4513,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102345.000,3340.8254,S,15117.4513,E,1,11,0.8,021.36,M,22.4,M,,*75 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:45.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290855000,"alt":21.360,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,37,09,35,327,37*7E $GPGSV,3,2,10,10,31,085,33,12,62,212,42,17,06,104,27,24,37,322,38*7D $GPGSV,3,3,10,25,26,224,30,29,13,266,29,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":101,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":37,"used":false},{"PRN":10,"el":31,"az":85,"ss":33,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":27,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":30,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,19,81,10,276,15,78,51,240,20*60 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":19,"used":false},{"PRN":81,"el":10,"az":276,"ss":15,"used":false},{"PRN":78,"el":51,"az":240,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102346.000,A,3340.8256,S,15117.4511,E,0.1,0.0,251112,0.0,W*6F $GPGGA,102346.000,3340.8256,S,15117.4511,E,1,11,0.8,021.36,M,22.4,M,,*76 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:46.000Z","ept":0.005,"lat":-33.680426667,"lon":151.290851667,"alt":21.360,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,,,,,,,,,,,,,1.4,0.8,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,86,101,41,04,39,134,39,05,21,023,37,09,35,327,38*70 $GPGSV,3,2,10,10,31,085,33,12,62,212,42,17,06,104,27,24,37,322,38*7D $GPGSV,3,3,10,25,26,224,30,29,13,266,29,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":86,"az":101,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":33,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":27,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":30,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,19,81,10,276,14,78,51,240,20*61 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":19,"used":false},{"PRN":81,"el":10,"az":276,"ss":14,"used":false},{"PRN":78,"el":51,"az":240,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102347.000,A,3340.8255,S,15117.4510,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102347.000,3340.8255,S,15117.4510,E,1,11,0.8,021.36,M,22.4,M,,*75 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:47.000Z","ept":0.005,"lat":-33.680425000,"lon":151.290850000,"alt":21.360,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,33,12,62,212,42,17,06,104,26,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":33,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":26,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,19,81,10,276,14,78,51,240,20*61 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":19,"used":false},{"PRN":81,"el":10,"az":276,"ss":14,"used":false},{"PRN":78,"el":51,"az":240,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102348.000,A,3340.8255,S,15117.4509,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102348.000,3340.8255,S,15117.4509,E,1,11,0.8,021.19,M,22.4,M,,*7F {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:48.000Z","ept":0.005,"lat":-33.680425000,"lon":151.290848333,"alt":21.190,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,33,12,62,212,42,17,06,104,26,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":33,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":26,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,19,81,10,276,14,78,51,240,20*61 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":19,"used":false},{"PRN":81,"el":10,"az":276,"ss":14,"used":false},{"PRN":78,"el":51,"az":240,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102349.000,A,3340.8254,S,15117.4507,E,0.0,0.0,251112,0.0,W*64 $GPGGA,102349.000,3340.8254,S,15117.4507,E,1,11,0.8,021.01,M,22.4,M,,*78 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:49.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290845000,"alt":21.010,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,33,12,62,212,42,17,06,104,26,24,37,322,39*7D $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":33,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":26,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,20,81,10,276,14,78,51,240,20*6B $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":20,"used":false},{"PRN":81,"el":10,"az":276,"ss":14,"used":false},{"PRN":78,"el":51,"az":240,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102350.000,A,3340.8254,S,15117.4505,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102350.000,3340.8254,S,15117.4505,E,1,11,0.8,020.75,M,22.4,M,,*70 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:50.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290841667,"alt":20.750,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,33,12,62,212,42,17,06,104,26,24,37,322,39*7D $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":33,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":26,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,20,81,10,276,14,78,51,240,20*6B $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":20,"used":false},{"PRN":81,"el":10,"az":276,"ss":14,"used":false},{"PRN":78,"el":51,"az":240,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102351.000,A,3340.8254,S,15117.4504,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102351.000,3340.8254,S,15117.4504,E,1,11,0.8,020.54,M,22.4,M,,*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:51.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290840000,"alt":20.540,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,32,12,62,212,42,17,06,104,26,24,37,322,39*7C $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":32,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":26,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,20,81,10,276,13,78,51,240,20*6C $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":20,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":51,"az":240,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102352.000,A,3340.8254,S,15117.4501,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102352.000,3340.8254,S,15117.4501,E,1,11,0.8,020.44,M,22.4,M,,*74 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:52.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290835000,"alt":20.440,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,32,12,62,212,42,17,06,104,25,24,37,322,39*7F $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":32,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":25,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,20,81,10,276,12,78,51,240,20*6D $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":20,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":240,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102353.000,A,3340.8255,S,15117.4500,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102353.000,3340.8255,S,15117.4500,E,1,11,0.8,020.22,M,22.4,M,,*75 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:53.000Z","ept":0.005,"lat":-33.680425000,"lon":151.290833333,"alt":20.220,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,32,12,62,212,42,17,06,104,25,24,37,322,39*7F $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":32,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":25,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,21,81,10,276,10,78,51,240,21*6F $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":10,"used":false},{"PRN":78,"el":51,"az":240,"ss":21,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102354.000,A,3340.8255,S,15117.4499,E,0.1,0.0,251112,0.0,W*6E $GPGGA,102354.000,3340.8255,S,15117.4499,E,1,11,0.8,020.00,M,22.4,M,,*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:54.000Z","ept":0.005,"lat":-33.680425000,"lon":151.290831667,"alt":20.000,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,31,12,62,212,42,17,06,104,25,24,37,322,39*7C $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":31,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":25,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,21,81,10,276,10,78,51,240,21*6F $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":10,"used":false},{"PRN":78,"el":51,"az":240,"ss":21,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102355.000,A,3340.8255,S,15117.4497,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102355.000,3340.8255,S,15117.4497,E,1,11,0.8,019.98,M,22.4,M,,*77 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:55.000Z","ept":0.005,"lat":-33.680425000,"lon":151.290828333,"alt":19.980,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,31,12,62,212,42,17,06,104,25,24,37,322,39*7C $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":31,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":25,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,21,81,10,276,10,78,51,240,21*6F $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":10,"used":false},{"PRN":78,"el":51,"az":240,"ss":21,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102356.000,A,3340.8255,S,15117.4494,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102356.000,3340.8255,S,15117.4494,E,1,11,0.8,019.91,M,22.4,M,,*7E {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:56.000Z","ept":0.005,"lat":-33.680425000,"lon":151.290823333,"alt":19.910,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,30,12,62,212,42,17,06,104,25,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":30,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":25,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,21,81,10,276,11,78,51,240,21*6E $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":240,"ss":21,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102357.000,A,3340.8254,S,15117.4493,E,0.1,0.0,251112,0.0,W*66 $GPGGA,102357.000,3340.8254,S,15117.4493,E,1,11,0.8,019.62,M,22.4,M,,*75 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:57.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290821667,"alt":19.620,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,29,12,62,212,42,17,06,104,24,24,37,322,38*75 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":29,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,21,81,10,276,11,78,51,240,21*6E $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":240,"ss":21,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102358.000,A,3340.8254,S,15117.4492,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102358.000,3340.8254,S,15117.4492,E,1,11,0.8,019.44,M,22.4,M,,*7F {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:58.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290820000,"alt":19.440,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,29,12,62,212,42,17,06,104,24,24,37,322,38*75 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":29,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,040,21,81,10,276,11,78,51,240,21*6E $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":40,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":240,"ss":21,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102359.000,A,3340.8254,S,15117.4491,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102359.000,3340.8254,S,15117.4491,E,1,11,0.8,019.40,M,22.4,M,,*79 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:23:59.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290818333,"alt":19.400,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,29,12,62,212,42,17,06,104,24,24,37,322,38*75 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":29,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,21,81,10,276,11,78,51,240,21*6F $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":240,"ss":21,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102400.000,A,3340.8254,S,15117.4491,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102400.000,3340.8254,S,15117.4491,E,1,11,0.8,019.33,M,22.4,M,,*76 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:00.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290818333,"alt":19.330,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,29,12,62,212,42,17,06,104,24,24,37,322,39*74 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":29,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,21,81,10,276,11,78,51,240,21*6F $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":240,"ss":21,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102401.000,A,3340.8254,S,15117.4490,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102401.000,3340.8254,S,15117.4490,E,1,11,0.8,019.18,M,22.4,M,,*7F {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:01.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290816667,"alt":19.180,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,28,12,62,212,42,17,06,104,24,24,37,322,39*75 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":28,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,21,81,10,276,11,78,51,240,21*6F $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":240,"ss":21,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102402.000,A,3340.8254,S,15117.4490,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102402.000,3340.8254,S,15117.4490,E,1,11,0.8,019.08,M,22.4,M,,*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:02.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290816667,"alt":19.080,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,28,12,62,212,42,17,06,104,24,24,37,322,39*75 $GPGSV,3,3,10,25,26,224,31,29,13,266,27,,,,,,,,*73 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":28,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":27,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,21,81,10,276,11,78,51,240,20*6E $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":240,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102403.000,A,3340.8254,S,15117.4490,E,0.0,0.0,251112,0.0,W*62 $GPGGA,102403.000,3340.8254,S,15117.4490,E,1,11,0.8,019.02,M,22.4,M,,*76 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:03.000Z","ept":0.005,"lat":-33.680423333,"lon":151.290816667,"alt":19.020,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,39*72 $GPGSV,3,2,10,10,31,085,28,12,62,212,42,17,06,104,24,24,37,322,39*75 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":85,"ss":28,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,10,78,51,240,21*6D $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":10,"used":false},{"PRN":78,"el":51,"az":240,"ss":21,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102404.000,A,3340.8255,S,15117.4488,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102404.000,3340.8255,S,15117.4488,E,1,11,0.8,018.85,M,22.4,M,,*77 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:04.000Z","ept":0.005,"lat":-33.680425000,"lon":151.290813333,"alt":18.850,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,28,12,62,212,42,17,06,104,24,24,37,322,39*75 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":28,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,10,78,51,240,20*6C $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":10,"used":false},{"PRN":78,"el":51,"az":240,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102405.000,A,3340.8255,S,15117.4487,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102405.000,3340.8255,S,15117.4487,E,1,11,0.8,018.92,M,22.4,M,,*7F {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:05.000Z","ept":0.005,"lat":-33.680425000,"lon":151.290811667,"alt":18.920,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,27,12,62,212,42,17,06,104,24,24,37,322,38*7B $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":27,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,10,78,51,240,20*6C $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":10,"used":false},{"PRN":78,"el":51,"az":240,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102406.000,A,3340.8256,S,15117.4486,E,0.0,0.0,251112,0.0,W*62 $GPGGA,102406.000,3340.8256,S,15117.4486,E,1,11,0.8,019.10,M,22.4,M,,*75 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:06.000Z","ept":0.005,"lat":-33.680426667,"lon":151.290810000,"alt":19.100,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,27,12,62,212,42,17,06,104,24,24,37,322,38*7B $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":27,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,11,78,51,240,20*6D $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":240,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102407.000,A,3340.8256,S,15117.4485,E,0.1,0.0,251112,0.0,W*61 $GPGGA,102407.000,3340.8256,S,15117.4485,E,1,11,0.8,019.21,M,22.4,M,,*75 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:07.000Z","ept":0.005,"lat":-33.680426667,"lon":151.290808333,"alt":19.210,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,27,12,62,212,41,17,06,104,24,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,31,29,13,266,27,,,,,,,,*73 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":27,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":27,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,,78,51,240,20*6D $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":240,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102408.000,A,3340.8256,S,15117.4485,E,0.1,0.0,251112,0.0,W*6E $GPGGA,102408.000,3340.8256,S,15117.4485,E,1,11,0.8,019.13,M,22.4,M,,*7B {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:08.000Z","ept":0.005,"lat":-33.680426667,"lon":151.290808333,"alt":19.130,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,37,09,35,327,38*71 $GPGSV,3,2,10,10,31,085,27,12,62,212,41,17,06,104,23,24,37,322,38*7F $GPGSV,3,3,10,25,26,224,31,29,13,266,27,,,,,,,,*73 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":27,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":27,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,11,78,51,240,20*6D $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":240,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102409.000,A,3340.8256,S,15117.4484,E,0.1,0.0,251112,0.0,W*6E $GPGGA,102409.000,3340.8256,S,15117.4484,E,1,11,0.8,019.21,M,22.4,M,,*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:09.000Z","ept":0.005,"lat":-33.680426667,"lon":151.290806667,"alt":19.210,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,41,04,39,134,39,05,21,023,37,09,35,327,38*70 $GPGSV,3,2,10,10,31,085,27,12,62,212,41,17,06,104,23,24,37,322,38*7F $GPGSV,3,3,10,25,26,224,31,29,13,266,27,,,,,,,,*73 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":27,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":27,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,11,78,51,240,20*6D $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":240,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102410.000,A,3340.8256,S,15117.4482,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102410.000,3340.8256,S,15117.4482,E,1,11,0.8,019.18,M,22.4,M,,*7E {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:10.000Z","ept":0.005,"lat":-33.680426667,"lon":151.290803333,"alt":19.180,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,41,04,39,134,39,05,21,023,37,09,35,327,38*70 $GPGSV,3,2,10,10,31,085,27,12,62,212,41,17,06,104,23,24,37,322,38*7F $GPGSV,3,3,10,25,26,224,31,29,13,266,27,,,,,,,,*73 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":27,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":27,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,11,78,51,240,20*6D $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":240,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102411.000,A,3340.8257,S,15117.4480,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102411.000,3340.8257,S,15117.4480,E,1,11,0.8,019.22,M,22.4,M,,*75 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:11.000Z","ept":0.005,"lat":-33.680428333,"lon":151.290800000,"alt":19.220,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,28,12,62,212,41,17,06,104,23,24,37,322,38*70 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":28,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,11,78,51,241,20*6C $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":241,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102412.000,A,3340.8258,S,15117.4478,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102412.000,3340.8258,S,15117.4478,E,1,11,0.8,019.24,M,22.4,M,,*78 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:12.000Z","ept":0.005,"lat":-33.680430000,"lon":151.290796667,"alt":19.240,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,28,12,62,212,41,17,06,104,23,24,37,322,38*70 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":28,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,11,78,51,241,20*6C $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":241,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102413.000,A,3340.8259,S,15117.4476,E,0.1,0.0,251112,0.0,W*67 $GPGGA,102413.000,3340.8259,S,15117.4476,E,1,11,0.8,019.24,M,22.4,M,,*76 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:13.000Z","ept":0.005,"lat":-33.680431667,"lon":151.290793333,"alt":19.240,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,28,12,62,212,41,17,06,104,23,24,37,322,38*70 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":28,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,,78,51,241,20*6D $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":241,"ss":20,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102414.000,A,3340.8258,S,15117.4475,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102414.000,3340.8258,S,15117.4475,E,1,11,0.8,019.38,M,22.4,M,,*7E {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:14.000Z","ept":0.005,"lat":-33.680430000,"lon":151.290791667,"alt":19.380,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,29,12,62,212,41,17,06,104,23,24,37,322,38*71 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":29,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,19*65 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":19,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102415.000,A,3340.8258,S,15117.4475,E,0.0,0.0,251112,0.0,W*62 $GPGGA,102415.000,3340.8258,S,15117.4475,E,1,11,0.8,019.34,M,22.4,M,,*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:15.000Z","ept":0.005,"lat":-33.680430000,"lon":151.290791667,"alt":19.340,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,29,12,62,212,41,17,06,104,23,24,37,322,38*71 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":29,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,19*65 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":19,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102416.000,A,3340.8258,S,15117.4474,E,0.1,0.0,251112,0.0,W*61 $GPGGA,102416.000,3340.8258,S,15117.4474,E,1,11,0.8,019.25,M,22.4,M,,*71 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:16.000Z","ept":0.005,"lat":-33.680430000,"lon":151.290790000,"alt":19.250,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,29,12,62,212,41,17,06,104,23,24,37,322,38*71 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":29,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,19*65 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":19,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102417.000,A,3340.8259,S,15117.4473,E,0.1,0.0,251112,0.0,W*66 $GPGGA,102417.000,3340.8259,S,15117.4473,E,1,11,0.8,019.07,M,22.4,M,,*76 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:17.000Z","ept":0.005,"lat":-33.680431667,"lon":151.290788333,"alt":19.070,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,30,12,62,212,41,17,06,104,23,24,37,322,38*79 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":30,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,19*65 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":19,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102418.000,A,3340.8260,S,15117.4471,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102418.000,3340.8260,S,15117.4471,E,1,11,0.8,018.96,M,22.4,M,,*78 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:18.000Z","ept":0.005,"lat":-33.680433333,"lon":151.290785000,"alt":18.960,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,30,12,62,212,41,17,06,104,23,24,37,322,38*79 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":30,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,13,78,51,241,19*64 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":51,"az":241,"ss":19,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102419.000,A,3340.8261,S,15117.4470,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102419.000,3340.8261,S,15117.4470,E,1,11,0.8,018.84,M,22.4,M,,*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:19.000Z","ept":0.005,"lat":-33.680435000,"lon":151.290783333,"alt":18.840,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,31,12,62,212,41,17,06,104,23,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,31,29,13,266,28,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":31,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,13,78,51,241,19*64 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":51,"az":241,"ss":19,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102420.000,A,3340.8262,S,15117.4470,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102420.000,3340.8262,S,15117.4470,E,1,11,0.8,018.69,M,22.4,M,,*70 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:20.000Z","ept":0.005,"lat":-33.680436667,"lon":151.290783333,"alt":18.690,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,31,12,62,212,41,17,06,104,22,24,37,322,38*79 $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":31,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":22,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,13,78,51,241,19*64 $GLGSV,2,2,08,77,50,333,,88,48,231,,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":51,"az":241,"ss":19,"used":false},{"PRN":77,"el":50,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102421.000,A,3340.8262,S,15117.4470,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102421.000,3340.8262,S,15117.4470,E,1,11,0.8,018.65,M,22.4,M,,*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:21.000Z","ept":0.005,"lat":-33.680436667,"lon":151.290783333,"alt":18.650,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,31,12,62,212,41,17,06,104,22,24,37,322,38*79 $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":31,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":22,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,13,78,51,241,19*64 $GLGSV,2,2,08,77,49,333,23,88,48,231,,87,40,151,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":51,"az":241,"ss":19,"used":false},{"PRN":77,"el":49,"az":333,"ss":23,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102422.000,A,3340.8263,S,15117.4470,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102422.000,3340.8263,S,15117.4470,E,1,11,0.8,018.58,M,22.4,M,,*71 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:22.000Z","ept":0.005,"lat":-33.680438333,"lon":151.290783333,"alt":18.580,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,32,12,62,212,42,17,06,104,22,24,37,322,38*79 $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":32,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":22,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,18*64 $GLGSV,2,2,08,77,49,333,23,88,48,231,,87,40,151,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":18,"used":false},{"PRN":77,"el":49,"az":333,"ss":23,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102423.000,A,3340.8263,S,15117.4470,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102423.000,3340.8263,S,15117.4470,E,1,11,0.8,018.66,M,22.4,M,,*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:23.000Z","ept":0.005,"lat":-33.680438333,"lon":151.290783333,"alt":18.660,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,39*72 $GPGSV,3,2,10,10,31,085,32,12,62,212,42,17,06,104,22,24,37,322,38*79 $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":85,"ss":32,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":22,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,18*64 $GLGSV,2,2,08,77,49,333,23,88,48,231,,87,40,151,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":18,"used":false},{"PRN":77,"el":49,"az":333,"ss":23,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102424.000,A,3340.8263,S,15117.4472,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102424.000,3340.8263,S,15117.4472,E,1,11,0.8,018.77,M,22.4,M,,*78 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:24.000Z","ept":0.005,"lat":-33.680438333,"lon":151.290786667,"alt":18.770,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,39*72 $GPGSV,3,2,10,10,31,085,33,12,62,212,42,17,06,104,22,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":85,"ss":33,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":22,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,18*64 $GLGSV,2,2,08,77,49,333,23,88,48,231,,87,40,151,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":18,"used":false},{"PRN":77,"el":49,"az":333,"ss":23,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102425.000,A,3340.8263,S,15117.4471,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102425.000,3340.8263,S,15117.4471,E,1,11,0.8,018.92,M,22.4,M,,*71 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:25.000Z","ept":0.005,"lat":-33.680438333,"lon":151.290785000,"alt":18.920,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,39*72 $GPGSV,3,2,10,10,31,085,33,12,62,212,42,17,06,104,22,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,31,29,13,266,29,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":85,"ss":33,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":22,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,18*64 $GLGSV,2,2,08,77,49,333,23,88,48,231,,87,40,151,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":18,"used":false},{"PRN":77,"el":49,"az":333,"ss":23,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102426.000,A,3340.8263,S,15117.4470,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102426.000,3340.8263,S,15117.4470,E,1,11,0.8,018.79,M,22.4,M,,*76 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:26.000Z","ept":0.005,"lat":-33.680438333,"lon":151.290783333,"alt":18.790,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,39,05,21,023,37,09,35,327,38*73 $GPGSV,3,2,10,10,31,085,33,12,62,212,42,17,06,104,22,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,30,29,13,266,29,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":33,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":22,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":30,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,18*64 $GLGSV,2,2,08,77,49,333,23,88,48,231,,87,40,151,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":18,"used":false},{"PRN":77,"el":49,"az":333,"ss":23,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102427.000,A,3340.8264,S,15117.4470,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102427.000,3340.8264,S,15117.4470,E,1,11,0.8,018.81,M,22.4,M,,*77 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:27.000Z","ept":0.005,"lat":-33.680440000,"lon":151.290783333,"alt":18.810,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,38,05,21,023,37,09,35,327,38*72 $GPGSV,3,2,10,10,31,085,33,12,62,212,41,17,06,104,21,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":33,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":21,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":29,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,18*65 $GLGSV,2,2,08,77,49,333,23,88,48,231,,87,40,151,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":18,"used":false},{"PRN":77,"el":49,"az":333,"ss":23,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102428.000,A,3340.8264,S,15117.4469,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102428.000,3340.8264,S,15117.4469,E,1,11,0.8,018.83,M,22.4,M,,*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:28.000Z","ept":0.005,"lat":-33.680440000,"lon":151.290781667,"alt":18.830,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,41,04,39,134,38,05,21,023,37,09,35,327,38*71 $GPGSV,3,2,10,10,31,085,33,12,62,212,41,17,06,104,21,24,37,322,38*78 $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":41,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":33,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":21,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":29,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,,78,51,241,18*67 $GLGSV,2,2,08,77,49,333,23,88,48,231,,87,40,151,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":241,"ss":18,"used":false},{"PRN":77,"el":49,"az":333,"ss":23,"used":false},{"PRN":88,"el":48,"az":231,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102429.000,A,3340.8264,S,15117.4469,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102429.000,3340.8264,S,15117.4469,E,1,10,0.8,018.99,M,22.4,M,,*79 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:29.000Z","ept":0.005,"lat":-33.680440000,"lon":151.290781667,"alt":18.990,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,25,29,02,12,04,24,09,,,,1.7,0.8,1.5*24 $GNGSA,A,3,,,,,,,,,,,,,1.7,0.8,1.5*26 $GNGSA,A,3,193,,,,,,,,,,,,1.7,0.8,1.5*1D $GPGSV,3,1,10,02,86,101,42,04,39,134,38,05,21,023,37,09,35,327,38*72 $GPGSV,3,2,10,10,31,085,34,12,62,212,41,17,06,104,,24,37,322,38*7C $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.50,"hdop":0.80,"pdop":1.70,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":34,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":0,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":29,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,18*65 $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.50,"hdop":0.80,"pdop":1.70,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":18,"used":false},{"PRN":77,"el":49,"az":333,"ss":23,"used":false},{"PRN":88,"el":48,"az":230,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102430.000,A,3340.8264,S,15117.4468,E,0.0,0.0,251112,0.0,W*66 $GPGGA,102430.000,3340.8264,S,15117.4468,E,1,11,0.8,019.22,M,22.4,M,,*70 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:30.000Z","ept":0.005,"lat":-33.680440000,"lon":151.290780000,"alt":19.220,"epv":34.500,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,38,05,21,023,37,09,35,327,38*72 $GPGSV,3,2,10,10,31,085,35,12,62,212,42,17,06,104,21,24,37,322,38*7D $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":35,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":21,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":29,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,19*64 $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":19,"used":false},{"PRN":77,"el":49,"az":333,"ss":23,"used":false},{"PRN":88,"el":48,"az":230,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102431.000,A,3340.8265,S,15117.4468,E,0.1,0.0,251112,0.0,W*67 $GPGGA,102431.000,3340.8265,S,15117.4468,E,1,10,0.8,019.44,M,22.4,M,,*71 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:31.000Z","ept":0.005,"lat":-33.680441667,"lon":151.290780000,"alt":19.440,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,25,29,02,12,04,24,09,,,,1.7,0.8,1.5*24 $GNGSA,A,3,,,,,,,,,,,,,1.7,0.8,1.5*26 $GNGSA,A,3,193,,,,,,,,,,,,1.7,0.8,1.5*1D $GPGSV,3,1,10,02,86,101,42,04,39,134,38,05,21,023,37,09,35,327,38*72 $GPGSV,3,2,10,10,31,085,35,12,62,212,42,17,06,104,,24,37,322,38*7E $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.50,"hdop":0.80,"pdop":1.70,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":35,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":0,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":29,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,19*64 $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.50,"hdop":0.80,"pdop":1.70,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":19,"used":false},{"PRN":77,"el":49,"az":333,"ss":23,"used":false},{"PRN":88,"el":48,"az":230,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102432.000,A,3340.8266,S,15117.4468,E,0.2,0.0,251112,0.0,W*64 $GPGGA,102432.000,3340.8266,S,15117.4468,E,1,11,0.8,019.69,M,22.4,M,,*7F {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:32.000Z","ept":0.005,"lat":-33.680443333,"lon":151.290780000,"alt":19.690,"epv":34.500,"track":0.0000,"speed":0.103} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,86,101,42,04,39,134,38,05,21,023,37,09,35,327,38*72 $GPGSV,3,2,10,10,31,085,35,12,62,212,42,17,06,104,21,24,37,322,38*7D $GPGSV,3,3,10,25,26,224,29,29,13,266,28,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":86,"az":101,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":35,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":21,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":29,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,,78,51,241,19*67 $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":51,"az":241,"ss":19,"used":false},{"PRN":77,"el":49,"az":333,"ss":23,"used":false},{"PRN":88,"el":48,"az":230,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102433.000,A,3340.8267,S,15117.4468,E,0.1,0.0,251112,0.0,W*67 $GPGGA,102433.000,3340.8267,S,15117.4468,E,1,11,0.8,019.86,M,22.4,M,,*7E {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:33.000Z","ept":0.005,"lat":-33.680445000,"lon":151.290780000,"alt":19.860,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,39,134,38,05,21,023,37,09,35,327,38*77 $GPGSV,3,2,10,10,31,085,36,12,62,212,42,17,06,104,21,24,37,322,38*7E $GPGSV,3,3,10,25,26,224,28,29,13,266,28,,,,,,,,*74 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":21,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":28,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,19*64 $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":19,"used":false},{"PRN":77,"el":49,"az":333,"ss":23,"used":false},{"PRN":88,"el":48,"az":230,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102434.000,A,3340.8268,S,15117.4468,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102434.000,3340.8268,S,15117.4468,E,1,11,0.8,019.92,M,22.4,M,,*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:34.000Z","ept":0.005,"lat":-33.680446667,"lon":151.290780000,"alt":19.920,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,39,134,38,05,21,023,37,09,35,327,38*77 $GPGSV,3,2,10,10,31,085,36,12,62,212,42,17,06,104,21,24,37,322,38*7E $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":21,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,19*64 $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":19,"used":false},{"PRN":77,"el":49,"az":333,"ss":23,"used":false},{"PRN":88,"el":48,"az":230,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102435.000,A,3340.8268,S,15117.4468,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102435.000,3340.8268,S,15117.4468,E,1,11,0.8,019.87,M,22.4,M,,*76 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:35.000Z","ept":0.005,"lat":-33.680446667,"lon":151.290780000,"alt":19.870,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,39,134,38,05,21,023,37,09,35,327,38*77 $GPGSV,3,2,10,10,31,085,36,12,62,212,41,17,06,104,21,24,37,322,38*7D $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":41,"used":false},{"PRN":17,"el":6,"az":104,"ss":21,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,19*65 $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":19,"used":false},{"PRN":77,"el":49,"az":333,"ss":23,"used":false},{"PRN":88,"el":48,"az":230,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102436.000,A,3340.8268,S,15117.4467,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102436.000,3340.8268,S,15117.4467,E,1,11,0.8,019.88,M,22.4,M,,*75 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:36.000Z","ept":0.005,"lat":-33.680446667,"lon":151.290778333,"alt":19.880,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,39,134,38,05,21,023,37,09,35,327,38*77 $GPGSV,3,2,10,10,31,085,36,12,62,212,42,17,06,104,21,24,37,322,38*7E $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":39,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":36,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":21,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,19*65 $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":19,"used":false},{"PRN":77,"el":49,"az":333,"ss":23,"used":false},{"PRN":88,"el":48,"az":230,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102437.000,A,3340.8269,S,15117.4466,E,0.0,0.0,251112,0.0,W*62 $GPGGA,102437.000,3340.8269,S,15117.4466,E,1,11,0.8,019.82,M,22.4,M,,*7E {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:37.000Z","ept":0.005,"lat":-33.680448333,"lon":151.290776667,"alt":19.820,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,023,37,09,35,327,38*76 $GPGSV,3,2,10,10,31,085,37,12,62,212,42,17,06,104,21,24,37,322,38*7F $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":37,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":21,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,20*6F $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":20,"used":false},{"PRN":77,"el":49,"az":333,"ss":23,"used":false},{"PRN":88,"el":48,"az":230,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102438.000,A,3340.8270,S,15117.4465,E,0.0,0.0,251112,0.0,W*66 $GPGGA,102438.000,3340.8270,S,15117.4465,E,1,11,0.8,019.83,M,22.4,M,,*7B {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:38.000Z","ept":0.005,"lat":-33.680450000,"lon":151.290775000,"alt":19.830,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,023,37,09,35,327,38*76 $GPGSV,3,2,10,10,31,085,37,12,62,212,42,17,06,104,21,24,37,322,38*7F $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":23,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":37,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":21,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,12,78,51,241,20*6F $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":20,"used":false},{"PRN":77,"el":49,"az":333,"ss":23,"used":false},{"PRN":88,"el":48,"az":230,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102439.000,A,3340.8270,S,15117.4464,E,0.0,0.0,251112,0.0,W*66 $GPGGA,102439.000,3340.8270,S,15117.4464,E,1,11,0.8,019.74,M,22.4,M,,*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:39.000Z","ept":0.005,"lat":-33.680450000,"lon":151.290773333,"alt":19.740,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,327,38*71 $GPGSV,3,2,10,10,31,085,37,12,62,212,42,17,06,104,21,24,37,322,38*7F $GPGSV,3,3,10,25,26,224,28,29,13,266,29,,,,,,,,*75 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":38,"used":false},{"PRN":10,"el":31,"az":85,"ss":37,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":21,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":29,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,21*6F $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":21,"used":false},{"PRN":77,"el":49,"az":333,"ss":23,"used":false},{"PRN":88,"el":48,"az":230,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102440.000,A,3340.8271,S,15117.4463,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102440.000,3340.8271,S,15117.4463,E,1,11,0.8,019.72,M,22.4,M,,*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:40.000Z","ept":0.005,"lat":-33.680451667,"lon":151.290771667,"alt":19.720,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,327,39*70 $GPGSV,3,2,10,10,31,085,38,12,62,212,42,17,06,104,21,24,37,322,39*71 $GPGSV,3,3,10,25,26,224,28,29,13,266,30,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":85,"ss":38,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":21,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":30,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,11,78,51,241,22*6F $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":241,"ss":22,"used":false},{"PRN":77,"el":49,"az":333,"ss":23,"used":false},{"PRN":88,"el":48,"az":230,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102441.000,A,3340.8272,S,15117.4462,E,0.1,0.0,251112,0.0,W*6C $GPGGA,102441.000,3340.8272,S,15117.4462,E,1,11,0.8,019.78,M,22.4,M,,*74 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:41.000Z","ept":0.005,"lat":-33.680453333,"lon":151.290770000,"alt":19.780,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,327,39*70 $GPGSV,3,2,10,10,31,085,38,12,62,212,42,17,06,104,22,24,37,322,39*72 $GPGSV,3,3,10,25,26,224,28,29,13,266,30,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":85,"ss":38,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":22,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":30,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,11,78,51,241,22*6F $GLGSV,2,2,08,77,49,333,23,88,48,230,,87,40,151,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":241,"ss":22,"used":false},{"PRN":77,"el":49,"az":333,"ss":23,"used":false},{"PRN":88,"el":48,"az":230,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102442.000,A,3340.8273,S,15117.4462,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102442.000,3340.8273,S,15117.4462,E,1,11,0.8,019.72,M,22.4,M,,*7C {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:42.000Z","ept":0.005,"lat":-33.680455000,"lon":151.290770000,"alt":19.720,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,37,09,35,327,39*71 $GPGSV,3,2,10,10,31,085,38,12,62,212,42,17,06,104,22,24,37,322,39*72 $GPGSV,3,3,10,25,26,224,28,29,13,266,30,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":85,"ss":38,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":22,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":30,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,11,78,51,241,23*6E $GLGSV,2,2,08,77,49,333,22,88,48,230,,87,40,151,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":241,"ss":23,"used":false},{"PRN":77,"el":49,"az":333,"ss":22,"used":false},{"PRN":88,"el":48,"az":230,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102443.000,A,3340.8273,S,15117.4461,E,0.1,0.0,251112,0.0,W*6C $GPGGA,102443.000,3340.8273,S,15117.4461,E,1,11,0.8,019.65,M,22.4,M,,*78 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:43.000Z","ept":0.005,"lat":-33.680455000,"lon":151.290768333,"alt":19.650,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,327,39*70 $GPGSV,3,2,10,10,31,085,38,12,62,212,42,17,06,104,22,24,37,322,39*72 $GPGSV,3,3,10,25,26,224,28,29,13,266,30,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":85,"ss":38,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":22,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":30,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,11,78,51,241,23*6E $GLGSV,2,2,08,77,49,333,22,88,48,230,,87,40,151,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":241,"ss":23,"used":false},{"PRN":77,"el":49,"az":333,"ss":22,"used":false},{"PRN":88,"el":48,"az":230,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102444.000,A,3340.8274,S,15117.4460,E,0.1,0.0,251112,0.0,W*6D $GPGGA,102444.000,3340.8274,S,15117.4460,E,1,11,0.8,019.75,M,22.4,M,,*78 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:44.000Z","ept":0.005,"lat":-33.680456667,"lon":151.290766667,"alt":19.750,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,327,39*70 $GPGSV,3,2,10,10,31,085,38,12,62,212,42,17,06,104,22,24,37,322,38*73 $GPGSV,3,3,10,25,26,224,28,29,13,266,30,,,,,,,,*7D {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":85,"ss":38,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":22,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":30,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,23*6D $GLGSV,2,2,08,77,49,333,22,88,48,230,,87,40,151,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":23,"used":false},{"PRN":77,"el":49,"az":333,"ss":22,"used":false},{"PRN":88,"el":48,"az":230,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102445.000,A,3340.8274,S,15117.4460,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102445.000,3340.8274,S,15117.4460,E,1,11,0.8,019.86,M,22.4,M,,*75 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:45.000Z","ept":0.005,"lat":-33.680456667,"lon":151.290766667,"alt":19.860,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,327,39*70 $GPGSV,3,2,10,10,31,085,38,12,62,212,42,17,06,104,22,24,37,322,39*72 $GPGSV,3,3,10,25,26,224,27,29,13,266,31,,,,,,,,*73 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":85,"ss":38,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":22,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":27,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,23*6D $GLGSV,2,2,08,77,49,333,22,88,48,230,,87,40,151,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":23,"used":false},{"PRN":77,"el":49,"az":333,"ss":22,"used":false},{"PRN":88,"el":48,"az":230,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102446.000,A,3340.8276,S,15117.4460,E,0.1,0.0,251112,0.0,W*6D $GPGGA,102446.000,3340.8276,S,15117.4460,E,1,11,0.8,019.85,M,22.4,M,,*77 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:46.000Z","ept":0.005,"lat":-33.680460000,"lon":151.290766667,"alt":19.850,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,327,39*70 $GPGSV,3,2,10,10,31,085,38,12,62,212,42,17,06,104,22,24,37,322,38*73 $GPGSV,3,3,10,25,26,224,27,29,13,266,31,,,,,,,,*73 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":37,"used":false},{"PRN":9,"el":35,"az":327,"ss":39,"used":false},{"PRN":10,"el":31,"az":85,"ss":38,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":22,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":27,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,24*6A $GLGSV,2,2,08,77,49,333,22,88,48,230,,87,40,151,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":24,"used":false},{"PRN":77,"el":49,"az":333,"ss":22,"used":false},{"PRN":88,"el":48,"az":230,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102447.000,A,3340.8276,S,15117.4461,E,0.0,0.0,251112,0.0,W*6C $GPGGA,102447.000,3340.8276,S,15117.4461,E,1,11,0.8,019.68,M,22.4,M,,*74 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:47.000Z","ept":0.005,"lat":-33.680460000,"lon":151.290768333,"alt":19.680,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,328,39*7F $GPGSV,3,2,10,10,31,085,38,12,62,212,42,17,06,104,22,24,37,322,38*73 $GPGSV,3,3,10,25,26,224,27,29,13,266,31,,,,,,,,*73 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":37,"used":false},{"PRN":9,"el":35,"az":328,"ss":39,"used":false},{"PRN":10,"el":31,"az":85,"ss":38,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":22,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":27,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,12,78,51,241,24*6A $GLGSV,2,2,08,77,49,333,21,88,48,230,,87,40,151,,71,10,144,*65 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":24,"used":false},{"PRN":77,"el":49,"az":333,"ss":21,"used":false},{"PRN":88,"el":48,"az":230,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102448.000,A,3340.8277,S,15117.4461,E,0.0,0.0,251112,0.0,W*62 $GPGGA,102448.000,3340.8277,S,15117.4461,E,1,11,0.8,019.75,M,22.4,M,,*76 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:48.000Z","ept":0.005,"lat":-33.680461667,"lon":151.290768333,"alt":19.750,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,328,39*7F $GPGSV,3,2,10,10,31,085,38,12,62,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,27,29,13,266,31,,,,,,,,*73 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":37,"used":false},{"PRN":9,"el":35,"az":328,"ss":39,"used":false},{"PRN":10,"el":31,"az":85,"ss":38,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":27,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,11,78,51,241,24*69 $GLGSV,2,2,08,77,49,333,21,88,48,230,,87,40,151,,71,10,144,*65 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":241,"ss":24,"used":false},{"PRN":77,"el":49,"az":333,"ss":21,"used":false},{"PRN":88,"el":48,"az":230,"ss":0,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102449.000,A,3340.8277,S,15117.4461,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102449.000,3340.8277,S,15117.4461,E,1,12,0.7,019.79,M,22.4,M,,*77 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:49.000Z","ept":0.005,"lat":-33.680461667,"lon":151.290768333,"alt":19.790,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,328,39*7F $GPGSV,3,2,10,10,31,085,38,12,62,212,42,17,06,104,23,24,37,322,39*73 $GPGSV,3,3,10,25,26,224,27,29,13,266,31,,,,,,,,*73 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":37,"used":false},{"PRN":9,"el":35,"az":328,"ss":39,"used":false},{"PRN":10,"el":31,"az":85,"ss":38,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":27,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,22,81,10,276,11,78,51,241,24*68 $GLGSV,2,2,08,77,49,333,21,88,48,230,21,87,40,151,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":241,"ss":24,"used":false},{"PRN":77,"el":49,"az":333,"ss":21,"used":false},{"PRN":88,"el":48,"az":230,"ss":21,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102450.000,A,3340.8277,S,15117.4461,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102450.000,3340.8277,S,15117.4461,E,1,12,0.7,019.67,M,22.4,M,,*70 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:50.000Z","ept":0.005,"lat":-33.680461667,"lon":151.290768333,"alt":19.670,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,328,39*7F $GPGSV,3,2,10,10,31,085,39,12,62,212,42,17,06,104,23,24,37,322,39*72 $GPGSV,3,3,10,25,26,224,27,29,13,266,31,,,,,,,,*73 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":37,"used":false},{"PRN":9,"el":35,"az":328,"ss":39,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":27,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,07,007,,65,11,041,23,81,10,276,11,78,51,241,25*68 $GLGSV,2,2,08,77,49,333,21,88,48,230,21,87,40,151,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":7,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":241,"ss":25,"used":false},{"PRN":77,"el":49,"az":333,"ss":21,"used":false},{"PRN":88,"el":48,"az":230,"ss":21,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102451.000,A,3340.8277,S,15117.4461,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102451.000,3340.8277,S,15117.4461,E,1,12,0.7,019.61,M,22.4,M,,*77 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:51.000Z","ept":0.005,"lat":-33.680461667,"lon":151.290768333,"alt":19.610,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,328,39*7F $GPGSV,3,2,10,10,31,085,39,12,62,212,42,17,06,104,23,24,37,322,38*73 $GPGSV,3,3,10,25,26,224,27,29,13,266,31,,,,,,,,*73 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":37,"used":false},{"PRN":9,"el":35,"az":328,"ss":39,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":27,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,11,041,22,81,10,276,11,78,51,241,25*68 $GLGSV,2,2,08,77,49,333,21,88,48,230,22,87,40,151,,71,10,144,*65 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":241,"ss":25,"used":false},{"PRN":77,"el":49,"az":333,"ss":21,"used":false},{"PRN":88,"el":48,"az":230,"ss":22,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102452.000,A,3340.8277,S,15117.4463,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102452.000,3340.8277,S,15117.4463,E,1,12,0.7,019.35,M,22.4,M,,*77 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:52.000Z","ept":0.005,"lat":-33.680461667,"lon":151.290771667,"alt":19.350,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,328,39*7F $GPGSV,3,2,10,10,31,085,39,12,62,212,42,17,06,104,23,24,37,322,38*73 $GPGSV,3,3,10,25,26,224,27,29,13,266,31,,,,,,,,*73 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":37,"used":false},{"PRN":9,"el":35,"az":328,"ss":39,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":62,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":27,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,11,041,23,81,10,276,11,78,51,241,25*69 $GLGSV,2,2,08,77,49,333,20,88,48,230,22,87,40,151,,71,10,144,*64 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":241,"ss":25,"used":false},{"PRN":77,"el":49,"az":333,"ss":20,"used":false},{"PRN":88,"el":48,"az":230,"ss":22,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102453.000,A,3340.8277,S,15117.4463,E,0.1,0.0,251112,0.0,W*6B $GPGGA,102453.000,3340.8277,S,15117.4463,E,1,12,0.7,019.07,M,22.4,M,,*77 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:53.000Z","ept":0.005,"lat":-33.680461667,"lon":151.290771667,"alt":19.070,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,328,40*71 $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,24,24,37,322,39*74 $GPGSV,3,3,10,25,26,224,27,29,13,266,31,,,,,,,,*73 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":37,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":27,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,11,041,23,81,10,276,11,78,51,241,26*6A $GLGSV,2,2,08,77,49,333,19,88,48,230,22,87,40,151,,71,10,144,*6E {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":241,"ss":26,"used":false},{"PRN":77,"el":49,"az":333,"ss":19,"used":false},{"PRN":88,"el":48,"az":230,"ss":22,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102454.000,A,3340.8277,S,15117.4465,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102454.000,3340.8277,S,15117.4465,E,1,12,0.7,018.40,M,22.4,M,,*74 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:54.000Z","ept":0.005,"lat":-33.680461667,"lon":151.290775000,"alt":18.400,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,43,17,06,104,23,24,37,322,39*72 $GPGSV,3,3,10,25,26,224,28,29,13,266,31,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,11,041,23,81,10,276,11,78,51,241,26*6A $GLGSV,2,2,08,77,49,333,19,88,48,230,22,87,40,151,,71,10,144,*6E {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":11,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":241,"ss":26,"used":false},{"PRN":77,"el":49,"az":333,"ss":19,"used":false},{"PRN":88,"el":48,"az":230,"ss":22,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102455.000,A,3340.8278,S,15117.4468,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102455.000,3340.8278,S,15117.4468,E,1,12,0.7,017.67,M,22.4,M,,*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:55.000Z","ept":0.005,"lat":-33.680463333,"lon":151.290780000,"alt":17.670,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,23,24,37,322,39*7D $GPGSV,3,3,10,25,26,224,28,29,13,266,31,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":40,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,23,81,10,276,11,78,51,241,27*68 $GLGSV,2,2,08,77,49,333,19,88,48,230,23,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":11,"used":false},{"PRN":78,"el":51,"az":241,"ss":27,"used":false},{"PRN":77,"el":49,"az":333,"ss":19,"used":false},{"PRN":88,"el":48,"az":230,"ss":23,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102456.000,A,3340.8277,S,15117.4469,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102456.000,3340.8277,S,15117.4469,E,1,12,0.7,017.13,M,22.4,M,,*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:56.000Z","ept":0.005,"lat":-33.680461667,"lon":151.290781667,"alt":17.130,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,37,09,35,328,40*71 $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,23,24,37,322,39*7D $GPGSV,3,3,10,25,26,224,28,29,13,266,31,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":37,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":40,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,23,81,10,276,12,78,51,241,27*6B $GLGSV,2,2,08,77,49,333,19,88,48,230,23,87,40,151,,71,10,144,*6F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":51,"az":241,"ss":27,"used":false},{"PRN":77,"el":49,"az":333,"ss":19,"used":false},{"PRN":88,"el":48,"az":230,"ss":23,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102457.000,A,3340.8276,S,15117.4471,E,0.0,0.0,251112,0.0,W*6C $GPGGA,102457.000,3340.8276,S,15117.4471,E,1,12,0.7,016.97,M,22.4,M,,*77 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:57.000Z","ept":0.005,"lat":-33.680460000,"lon":151.290785000,"alt":16.970,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,43,17,06,104,23,24,37,322,39*72 $GPGSV,3,3,10,25,26,224,28,29,13,266,32,,,,,,,,*7F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":32,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,23,81,10,276,13,78,51,241,27*6A $GLGSV,2,2,08,77,49,333,19,88,48,230,24,87,40,151,,71,10,144,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":51,"az":241,"ss":27,"used":false},{"PRN":77,"el":49,"az":333,"ss":19,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102458.000,A,3340.8276,S,15117.4472,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102458.000,3340.8276,S,15117.4472,E,1,12,0.7,016.21,M,22.4,M,,*76 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:58.000Z","ept":0.005,"lat":-33.680460000,"lon":151.290786667,"alt":16.210,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,43,17,06,104,23,24,37,322,39*72 $GPGSV,3,3,10,25,26,224,28,29,13,266,32,,,,,,,,*7F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":32,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,23,81,10,276,13,78,51,241,27*6A $GLGSV,2,2,08,77,49,333,19,88,48,230,24,87,40,151,,71,10,144,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":51,"az":241,"ss":27,"used":false},{"PRN":77,"el":49,"az":333,"ss":19,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102459.000,A,3340.8276,S,15117.4474,E,0.0,0.0,251112,0.0,W*67 $GPGGA,102459.000,3340.8276,S,15117.4474,E,1,12,0.7,015.28,M,22.4,M,,*7B {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:24:59.000Z","ept":0.005,"lat":-33.680460000,"lon":151.290790000,"alt":15.280,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,40,12,63,212,43,17,06,104,23,24,37,322,39*7C $GPGSV,3,3,10,25,26,224,28,29,13,266,32,,,,,,,,*7F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":40,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":32,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,23,81,10,276,13,78,51,241,27*6A $GLGSV,2,2,08,77,49,333,19,88,48,230,24,87,40,151,,71,10,144,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":51,"az":241,"ss":27,"used":false},{"PRN":77,"el":49,"az":333,"ss":19,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102500.000,A,3340.8277,S,15117.4475,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102500.000,3340.8277,S,15117.4475,E,1,12,0.7,014.49,M,22.4,M,,*70 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:00.000Z","ept":0.005,"lat":-33.680461667,"lon":151.290791667,"alt":14.490,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,40,12,63,212,43,17,06,104,23,24,37,322,39*7C $GPGSV,3,3,10,25,26,224,28,29,13,266,32,,,,,,,,*7F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":40,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":32,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,23,81,10,276,13,78,51,241,27*6A $GLGSV,2,2,08,77,49,333,18,88,48,230,24,87,40,151,,71,10,144,*69 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":51,"az":241,"ss":27,"used":false},{"PRN":77,"el":49,"az":333,"ss":18,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102501.000,A,3340.8277,S,15117.4476,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102501.000,3340.8277,S,15117.4476,E,1,12,0.7,014.12,M,22.4,M,,*7C {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:01.000Z","ept":0.005,"lat":-33.680461667,"lon":151.290793333,"alt":14.120,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,43,04,38,134,38,05,21,024,38,09,35,328,40*7F $GPGSV,3,2,10,10,31,085,40,12,63,212,43,17,06,104,23,24,37,322,39*7C $GPGSV,3,3,10,25,26,224,28,29,13,266,32,,,,,,,,*7F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":40,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":32,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,23,81,10,276,13,78,51,241,28*65 $GLGSV,2,2,08,77,49,333,18,88,48,230,24,87,40,151,,71,10,144,*69 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":51,"az":241,"ss":28,"used":false},{"PRN":77,"el":49,"az":333,"ss":18,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102502.000,A,3340.8278,S,15117.4475,E,0.1,0.0,251112,0.0,W*66 $GPGGA,102502.000,3340.8278,S,15117.4475,E,1,12,0.7,013.85,M,22.4,M,,*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:02.000Z","ept":0.005,"lat":-33.680463333,"lon":151.290791667,"alt":13.850,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,23,24,37,322,39*7D $GPGSV,3,3,10,25,26,224,28,29,13,266,32,,,,,,,,*7F {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":40,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":28,"used":false},{"PRN":29,"el":13,"az":266,"ss":32,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,23,81,10,276,13,78,51,241,28*65 $GLGSV,2,2,08,77,49,333,18,88,48,230,24,87,40,151,,71,10,144,*69 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":51,"az":241,"ss":28,"used":false},{"PRN":77,"el":49,"az":333,"ss":18,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102503.000,A,3340.8278,S,15117.4476,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102503.000,3340.8278,S,15117.4476,E,1,12,0.7,014.38,M,22.4,M,,*79 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:03.000Z","ept":0.005,"lat":-33.680463333,"lon":151.290793333,"alt":14.380,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,29,29,13,266,32,,,,,,,,*7E {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":29,"used":false},{"PRN":29,"el":13,"az":266,"ss":32,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,23,81,10,276,13,78,51,241,28*65 $GLGSV,2,2,08,77,49,333,17,88,48,230,24,87,40,151,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":51,"az":241,"ss":28,"used":false},{"PRN":77,"el":49,"az":333,"ss":17,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102504.000,A,3340.8276,S,15117.4476,E,0.1,0.0,251112,0.0,W*6D $GPGGA,102504.000,3340.8276,S,15117.4476,E,1,12,0.7,015.19,M,22.4,M,,*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:04.000Z","ept":0.005,"lat":-33.680460000,"lon":151.290793333,"alt":15.190,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,29,29,13,266,32,,,,,,,,*7E {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":29,"used":false},{"PRN":29,"el":13,"az":266,"ss":32,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,23,81,10,276,13,78,51,241,27*6A $GLGSV,2,2,08,77,49,333,17,88,48,230,25,87,40,151,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":23,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":51,"az":241,"ss":27,"used":false},{"PRN":77,"el":49,"az":333,"ss":17,"used":false},{"PRN":88,"el":48,"az":230,"ss":25,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102505.000,A,3340.8275,S,15117.4477,E,0.1,0.0,251112,0.0,W*6E $GPGGA,102505.000,3340.8275,S,15117.4477,E,1,12,0.7,015.99,M,22.4,M,,*79 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:05.000Z","ept":0.005,"lat":-33.680458333,"lon":151.290795000,"alt":15.990,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,29,29,13,266,32,,,,,,,,*7E {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":29,"used":false},{"PRN":29,"el":13,"az":266,"ss":32,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,51,241,27*6B $GLGSV,2,2,08,77,49,333,14,88,48,230,25,87,40,151,,71,10,144,*64 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":51,"az":241,"ss":27,"used":false},{"PRN":77,"el":49,"az":333,"ss":14,"used":false},{"PRN":88,"el":48,"az":230,"ss":25,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102506.000,A,3340.8274,S,15117.4478,E,0.0,0.0,251112,0.0,W*62 $GPGGA,102506.000,3340.8274,S,15117.4478,E,1,12,0.7,016.86,M,22.4,M,,*79 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:06.000Z","ept":0.005,"lat":-33.680456667,"lon":151.290796667,"alt":16.860,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,39*73 $GPGSV,3,3,10,25,26,224,30,29,13,266,32,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":30,"used":false},{"PRN":29,"el":13,"az":266,"ss":32,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,51,241,27*6B $GLGSV,2,2,08,77,49,333,,88,48,230,25,87,40,151,,71,10,144,*61 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":51,"az":241,"ss":27,"used":false},{"PRN":77,"el":49,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":25,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102507.000,A,3340.8273,S,15117.4479,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102507.000,3340.8273,S,15117.4479,E,1,12,0.7,017.48,M,22.4,M,,*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:07.000Z","ept":0.005,"lat":-33.680455000,"lon":151.290798333,"alt":17.480,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,39*73 $GPGSV,3,3,10,25,26,224,30,29,13,266,32,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":30,"used":false},{"PRN":29,"el":13,"az":266,"ss":32,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,52,242,27*6B $GLGSV,2,2,08,77,49,333,,88,48,230,25,87,40,151,,71,10,144,*61 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":52,"az":242,"ss":27,"used":false},{"PRN":77,"el":49,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":25,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102508.000,A,3340.8272,S,15117.4479,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102508.000,3340.8272,S,15117.4479,E,1,13,0.7,018.09,M,22.4,M,,*78 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:08.000Z","ept":0.005,"lat":-33.680453333,"lon":151.290798333,"alt":18.090,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,39*73 $GPGSV,3,3,10,25,26,224,30,29,13,266,32,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":30,"used":false},{"PRN":29,"el":13,"az":266,"ss":32,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,52,242,27*6B $GLGSV,2,2,08,77,49,333,,88,48,230,25,87,40,151,,71,10,144,*61 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":52,"az":242,"ss":27,"used":false},{"PRN":77,"el":49,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":25,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102509.000,A,3340.8271,S,15117.4480,E,0.1,0.0,251112,0.0,W*6E $GPGGA,102509.000,3340.8271,S,15117.4480,E,1,13,0.7,018.76,M,22.4,M,,*74 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:09.000Z","ept":0.005,"lat":-33.680451667,"lon":151.290800000,"alt":18.760,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,30,29,13,266,32,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":30,"used":false},{"PRN":29,"el":13,"az":266,"ss":32,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,52,242,27*6B $GLGSV,2,2,08,77,49,333,,88,48,230,25,87,40,151,,71,10,144,*61 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":52,"az":242,"ss":27,"used":false},{"PRN":77,"el":49,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":25,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102510.000,A,3340.8270,S,15117.4480,E,0.0,0.0,251112,0.0,W*66 $GPGGA,102510.000,3340.8270,S,15117.4480,E,1,13,0.7,019.36,M,22.4,M,,*78 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:10.000Z","ept":0.005,"lat":-33.680450000,"lon":151.290800000,"alt":19.360,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,30,29,13,266,32,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":30,"used":false},{"PRN":29,"el":13,"az":266,"ss":32,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,52,242,27*6B $GLGSV,2,2,08,77,49,333,,88,48,230,25,87,40,151,,71,10,144,*61 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":52,"az":242,"ss":27,"used":false},{"PRN":77,"el":49,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":25,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102511.000,A,3340.8269,S,15117.4481,E,0.1,0.0,251112,0.0,W*6F $GPGGA,102511.000,3340.8269,S,15117.4481,E,1,13,0.7,019.68,M,22.4,M,,*7B {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:11.000Z","ept":0.005,"lat":-33.680448333,"lon":151.290801667,"alt":19.680,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,31,29,13,266,32,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":32,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,52,242,27*6B $GLGSV,2,2,08,77,49,333,,88,48,230,25,87,40,151,,71,10,144,*61 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":52,"az":242,"ss":27,"used":false},{"PRN":77,"el":49,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":25,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102512.000,A,3340.8268,S,15117.4482,E,0.1,0.0,251112,0.0,W*6E $GPGGA,102512.000,3340.8268,S,15117.4482,E,1,13,0.7,019.95,M,22.4,M,,*78 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:12.000Z","ept":0.005,"lat":-33.680446667,"lon":151.290803333,"alt":19.950,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,39*70 $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,31,29,13,266,32,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":39,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":32,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,52,242,26*6A $GLGSV,2,2,08,77,49,333,,88,48,230,25,87,40,151,,71,10,144,*61 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":52,"az":242,"ss":26,"used":false},{"PRN":77,"el":49,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":25,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102513.000,A,3340.8268,S,15117.4482,E,0.0,0.0,251112,0.0,W*6E $GPGGA,102513.000,3340.8268,S,15117.4482,E,1,13,0.7,020.23,M,22.4,M,,*7E {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:13.000Z","ept":0.005,"lat":-33.680446667,"lon":151.290803333,"alt":20.230,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,31,29,13,266,32,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":32,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,52,242,26*6A $GLGSV,2,2,08,77,49,333,,88,48,230,25,87,40,151,,71,10,144,*61 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":52,"az":242,"ss":26,"used":false},{"PRN":77,"el":49,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":25,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102514.000,A,3340.8268,S,15117.4483,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102514.000,3340.8268,S,15117.4483,E,1,13,0.7,020.44,M,22.4,M,,*79 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:14.000Z","ept":0.005,"lat":-33.680446667,"lon":151.290805000,"alt":20.440,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,38,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,31,29,13,266,32,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":31,"used":false},{"PRN":29,"el":13,"az":266,"ss":32,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,52,242,26*6A $GLGSV,2,2,08,77,49,333,,88,48,230,26,87,40,151,,71,10,144,*62 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":52,"az":242,"ss":26,"used":false},{"PRN":77,"el":49,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":26,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102515.000,A,3340.8268,S,15117.4483,E,0.0,0.0,251112,0.0,W*69 $GPGGA,102515.000,3340.8268,S,15117.4483,E,1,13,0.7,020.64,M,22.4,M,,*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:15.000Z","ept":0.005,"lat":-33.680446667,"lon":151.290805000,"alt":20.640,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,43,04,38,134,38,05,21,024,38,09,35,328,40*7F $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,32,29,13,266,31,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":32,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,22,81,10,276,13,78,52,242,26*6A $GLGSV,2,2,08,77,49,333,,88,48,230,26,87,40,151,,71,10,144,*62 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":22,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":52,"az":242,"ss":26,"used":false},{"PRN":77,"el":49,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":26,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102516.000,A,3340.8267,S,15117.4483,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102516.000,3340.8267,S,15117.4483,E,1,13,0.7,020.85,M,22.4,M,,*79 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:16.000Z","ept":0.005,"lat":-33.680445000,"lon":151.290805000,"alt":20.850,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,43,04,38,134,38,05,21,024,38,09,35,328,40*7F $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,322,38*72 $GPGSV,3,3,10,25,26,224,32,29,13,266,31,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":322,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":32,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,13,78,52,242,25*6A $GLGSV,2,2,08,77,49,333,,88,48,230,25,87,40,151,,71,10,144,*61 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":52,"az":242,"ss":25,"used":false},{"PRN":77,"el":49,"az":333,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":25,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102517.000,A,3340.8267,S,15117.4484,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102517.000,3340.8267,S,15117.4484,E,1,13,0.7,021.02,M,22.4,M,,*71 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:17.000Z","ept":0.005,"lat":-33.680445000,"lon":151.290806667,"alt":21.020,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,43,04,38,134,38,05,21,024,38,09,35,328,40*7F $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,23,24,37,323,38*73 $GPGSV,3,3,10,25,26,224,32,29,13,266,31,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":323,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":32,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,13,78,52,242,25*6A $GLGSV,2,2,08,77,49,334,,88,48,230,25,87,40,151,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":52,"az":242,"ss":25,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":25,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102518.000,A,3340.8268,S,15117.4484,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102518.000,3340.8268,S,15117.4484,E,1,13,0.7,020.99,M,22.4,M,,*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:18.000Z","ept":0.005,"lat":-33.680446667,"lon":151.290806667,"alt":20.990,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,43,04,38,134,39,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,23,24,37,323,38*7D $GPGSV,3,3,10,25,26,224,32,29,13,266,31,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":40,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":323,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":32,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,13,78,52,242,25*6A $GLGSV,2,2,08,77,49,334,,88,48,230,25,87,40,151,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":52,"az":242,"ss":25,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":25,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102519.000,A,3340.8268,S,15117.4485,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102519.000,3340.8268,S,15117.4485,E,1,13,0.7,020.79,M,22.4,M,,*7C {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:19.000Z","ept":0.005,"lat":-33.680446667,"lon":151.290808333,"alt":20.790,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,43,04,38,134,39,05,21,024,38,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,23,24,37,323,39*7C $GPGSV,3,3,10,25,26,224,32,29,13,266,31,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":40,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":32,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,13,78,52,242,25*6A $GLGSV,2,2,08,77,49,334,,88,48,230,25,87,40,151,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":52,"az":242,"ss":25,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":25,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102520.000,A,3340.8269,S,15117.4485,E,0.1,0.0,251112,0.0,W*69 $GPGGA,102520.000,3340.8269,S,15117.4485,E,1,13,0.7,020.87,M,22.4,M,,*76 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:20.000Z","ept":0.005,"lat":-33.680448333,"lon":151.290808333,"alt":20.870,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,38,09,35,328,40*7F $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,23,24,37,323,38*7D $GPGSV,3,3,10,25,26,224,32,29,13,266,31,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":38,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":40,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":323,"ss":38,"used":false},{"PRN":25,"el":26,"az":224,"ss":32,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,13,78,52,242,25*6A $GLGSV,2,2,08,77,49,334,,88,48,230,25,87,40,151,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":52,"az":242,"ss":25,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":25,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102521.000,A,3340.8270,S,15117.4485,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102521.000,3340.8270,S,15117.4485,E,1,13,0.7,021.10,M,22.4,M,,*70 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:21.000Z","ept":0.005,"lat":-33.680450000,"lon":151.290808333,"alt":21.100,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,23,24,37,323,39*7C $GPGSV,3,3,10,25,26,224,32,29,13,266,31,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":40,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":23,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":32,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,13,78,52,242,24*6B $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,40,151,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":52,"az":242,"ss":24,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102522.000,A,3340.8270,S,15117.4486,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102522.000,3340.8270,S,15117.4486,E,1,13,0.7,021.14,M,22.4,M,,*74 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:22.000Z","ept":0.005,"lat":-33.680450000,"lon":151.290810000,"alt":21.140,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,24,24,37,323,39*7B $GPGSV,3,3,10,25,26,224,33,29,13,266,31,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":40,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,13,78,52,242,24*6B $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,40,151,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":52,"az":242,"ss":24,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102523.000,A,3340.8272,S,15117.4487,E,0.1,0.0,251112,0.0,W*62 $GPGGA,102523.000,3340.8272,S,15117.4487,E,1,13,0.7,021.05,M,22.4,M,,*76 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:23.000Z","ept":0.005,"lat":-33.680453333,"lon":151.290811667,"alt":21.050,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,24,24,37,323,39*7B $GPGSV,3,3,10,25,26,224,33,29,13,266,31,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":40,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,13,78,52,242,24*6B $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,40,151,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":13,"used":false},{"PRN":78,"el":52,"az":242,"ss":24,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102524.000,A,3340.8273,S,15117.4488,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102524.000,3340.8273,S,15117.4488,E,1,13,0.7,020.98,M,22.4,M,,*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:24.000Z","ept":0.005,"lat":-33.680455000,"lon":151.290813333,"alt":20.980,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,43,04,38,134,39,05,21,024,39,09,35,328,40*7F $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,24,24,37,323,39*7B $GPGSV,3,3,10,25,26,224,33,29,13,266,31,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":40,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,12,78,52,242,23*6D $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,40,151,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":12,"used":false},{"PRN":78,"el":52,"az":242,"ss":23,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102525.000,A,3340.8274,S,15117.4488,E,0.0,0.0,251112,0.0,W*6C $GPGGA,102525.000,3340.8274,S,15117.4488,E,1,13,0.7,020.93,M,22.4,M,,*77 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:25.000Z","ept":0.005,"lat":-33.680456667,"lon":151.290813333,"alt":20.930,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,107,43,04,38,134,39,05,21,024,39,09,35,328,40*7F $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,24,24,37,323,39*7B $GPGSV,3,3,10,25,26,224,33,29,13,266,31,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":40,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,10,78,52,242,22*6E $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,40,151,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":10,"used":false},{"PRN":78,"el":52,"az":242,"ss":22,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102526.000,A,3340.8275,S,15117.4489,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102526.000,3340.8275,S,15117.4489,E,1,12,0.8,020.22,M,22.4,M,,*70 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:26.000Z","ept":0.005,"lat":-33.680458333,"lon":151.290815000,"alt":20.220,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,78,,,,,,,,,,,,1.4,0.8,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,85,107,43,04,38,134,39,05,21,024,39,09,35,328,40*7F $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,24,24,37,323,39*7B $GPGSV,3,3,10,25,26,224,33,29,13,266,31,,,,,,,,*76 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":40,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":266,"ss":31,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,,78,52,242,22*6F $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,40,151,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":22,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102527.000,A,3340.8276,S,15117.4495,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102527.000,3340.8276,S,15117.4495,E,1,12,0.8,019.14,M,22.4,M,,*70 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:27.000Z","ept":0.005,"lat":-33.680460000,"lon":151.290825000,"alt":19.140,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,78,,,,,,,,,,,,1.4,0.8,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,85,107,43,04,38,134,39,05,21,024,39,09,35,328,40*7F $GPGSV,3,2,10,10,31,085,40,12,63,212,42,17,06,104,24,24,37,323,39*7B $GPGSV,3,3,10,25,26,224,33,29,13,266,30,,,,,,,,*77 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":40,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":266,"ss":30,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,,78,52,242,21*6C $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,40,151,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":21,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":40,"az":151,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102528.000,A,3340.8276,S,15117.4501,E,0.0,0.0,251112,0.0,W*63 $GPGGA,102528.000,3340.8276,S,15117.4501,E,1,12,0.8,018.33,M,22.4,M,,*77 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:28.000Z","ept":0.005,"lat":-33.680460000,"lon":151.290835000,"alt":18.330,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,78,,,,,,,,,,,,1.4,0.8,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,24,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,33,29,13,265,30,,,,,,,,*74 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":30,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,21,81,10,276,,78,52,242,19*67 $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":21,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":19,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102529.000,A,3340.8277,S,15117.4505,E,0.0,0.0,251112,0.0,W*67 $GPGGA,102529.000,3340.8277,S,15117.4505,E,1,12,0.8,017.55,M,22.4,M,,*7C {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:29.000Z","ept":0.005,"lat":-33.680461667,"lon":151.290841667,"alt":17.550,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,78,,,,,,,,,,,,1.4,0.8,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,24,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,33,29,13,265,30,,,,,,,,*74 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":30,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,18*67 $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":20,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":18,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102530.000,A,3340.8278,S,15117.4508,E,0.0,0.0,251112,0.0,W*6D $GPGGA,102530.000,3340.8278,S,15117.4508,E,1,12,0.8,016.90,M,22.4,M,,*7E {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:30.000Z","ept":0.005,"lat":-33.680463333,"lon":151.290846667,"alt":16.900,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,78,,,,,,,,,,,,1.4,0.8,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,24,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,33,29,13,265,30,,,,,,,,*74 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":30,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,18*67 $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":20,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":18,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102531.000,A,3340.8278,S,15117.4511,E,0.0,0.0,251112,0.0,W*64 $GPGGA,102531.000,3340.8278,S,15117.4511,E,1,12,0.8,016.49,M,22.4,M,,*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:31.000Z","ept":0.005,"lat":-33.680463333,"lon":151.290851667,"alt":16.490,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.8,1.2*26 $GNGSA,A,3,78,,,,,,,,,,,,1.4,0.8,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.8,1.2*19 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,24,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,33,29,13,265,30,,,,,,,,*74 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":30,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,16*69 $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":20,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":16,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102532.000,A,3340.8278,S,15117.4514,E,0.0,0.0,251112,0.0,W*62 $GPGGA,102532.000,3340.8278,S,15117.4514,E,1,11,0.8,016.08,M,22.4,M,,*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:32.000Z","ept":0.005,"lat":-33.680463333,"lon":151.290856667,"alt":16.080,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,24,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,*6E $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":20,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102533.000,A,3340.8279,S,15117.4516,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102533.000,3340.8279,S,15117.4516,E,1,11,0.8,016.21,M,22.4,M,,*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:33.000Z","ept":0.005,"lat":-33.680465000,"lon":151.290860000,"alt":16.210,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,24,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,*6E $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":20,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102534.000,A,3340.8278,S,15117.4517,E,0.0,0.0,251112,0.0,W*67 $GPGGA,102534.000,3340.8278,S,15117.4517,E,1,11,0.8,016.73,M,22.4,M,,*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:34.000Z","ept":0.005,"lat":-33.680463333,"lon":151.290861667,"alt":16.730,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,42,17,06,104,24,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":42,"used":false},{"PRN":17,"el":6,"az":104,"ss":24,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,*6E $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":20,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102535.000,A,3340.8279,S,15117.4518,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102535.000,3340.8279,S,15117.4518,E,1,11,0.8,017.16,M,22.4,M,,*77 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:35.000Z","ept":0.005,"lat":-33.680465000,"lon":151.290863333,"alt":17.160,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,43,17,06,104,25,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,33,29,13,265,30,,,,,,,,*74 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":25,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":30,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,*6E $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":20,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102536.000,A,3340.8279,S,15117.4518,E,0.0,0.0,251112,0.0,W*6B $GPGGA,102536.000,3340.8279,S,15117.4518,E,1,11,0.8,017.39,M,22.4,M,,*79 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:36.000Z","ept":0.005,"lat":-33.680465000,"lon":151.290863333,"alt":17.390,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,42,04,38,134,39,05,21,024,39,09,35,328,40*7E $GPGSV,3,2,10,10,31,085,39,12,63,212,43,17,06,104,25,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,33,29,13,265,30,,,,,,,,*74 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":39,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":25,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":30,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,*6E $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":20,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102537.000,A,3340.8279,S,15117.4518,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102537.000,3340.8279,S,15117.4518,E,1,11,0.8,017.64,M,22.4,M,,*70 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:37.000Z","ept":0.005,"lat":-33.680465000,"lon":151.290863333,"alt":17.640,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,107,43,04,38,134,39,05,21,024,39,09,35,328,40*7F $GPGSV,3,2,10,10,31,085,38,12,63,212,43,17,06,104,25,24,37,323,39*74 $GPGSV,3,3,10,25,26,224,33,29,13,265,30,,,,,,,,*74 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":107,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":38,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":25,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":30,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,*6E $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":20,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102538.000,A,3340.8280,S,15117.4519,E,0.0,0.0,251112,0.0,W*62 $GPGGA,102538.000,3340.8280,S,15117.4519,E,1,11,0.8,018.20,M,22.4,M,,*77 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:38.000Z","ept":0.005,"lat":-33.680466667,"lon":151.290865000,"alt":18.200,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,112,43,04,38,134,39,05,21,024,39,09,35,328,40*7B $GPGSV,3,2,10,10,31,085,38,12,63,212,43,17,06,104,25,24,37,323,39*74 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":112,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":38,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":25,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,*6E $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":20,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102539.000,A,3340.8281,S,15117.4520,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102539.000,3340.8281,S,15117.4520,E,1,11,0.8,018.69,M,22.4,M,,*70 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:39.000Z","ept":0.005,"lat":-33.680468333,"lon":151.290866667,"alt":18.690,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.5,0.8,1.2*27 $GNGSA,A,3,,,,,,,,,,,,,1.5,0.8,1.2*23 $GNGSA,A,3,193,,,,,,,,,,,,1.5,0.8,1.2*18 $GPGSV,3,1,10,02,85,112,43,04,38,134,39,05,21,024,39,09,35,328,40*7B $GPGSV,3,2,10,10,31,085,38,12,63,212,43,17,06,104,25,24,37,323,39*74 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":2,"el":85,"az":112,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":38,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":25,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,*6E $GLGSV,2,2,08,77,49,334,,88,48,230,24,87,39,150,,71,10,144,*68 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.80,"pdop":1.50,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":20,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":230,"ss":24,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102540.000,A,3340.8282,S,15117.4520,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102540.000,3340.8282,S,15117.4520,E,1,12,0.7,019.14,M,22.4,M,,*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:40.000Z","ept":0.005,"lat":-33.680470000,"lon":151.290866667,"alt":19.140,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,39,05,21,024,39,09,35,328,40*7B $GPGSV,3,2,10,10,31,085,38,12,63,212,43,17,06,104,26,24,37,323,39*77 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":112,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":38,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":26,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,*6E $GLGSV,2,2,08,77,49,334,,88,48,229,24,87,39,150,,71,10,144,*60 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":20,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":229,"ss":24,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102541.000,A,3340.8282,S,15117.4520,E,0.0,0.0,251112,0.0,W*64 $GPGGA,102541.000,3340.8282,S,15117.4520,E,1,12,0.7,019.28,M,22.4,M,,*74 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:41.000Z","ept":0.005,"lat":-33.680470000,"lon":151.290866667,"alt":19.280,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,39,05,21,024,39,09,35,328,40*7B $GPGSV,3,2,10,10,31,085,38,12,63,212,43,17,06,104,26,24,37,323,39*77 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":112,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":38,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":26,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,20,81,10,276,,78,52,242,*6E $GLGSV,2,2,08,77,49,334,,88,48,229,24,87,39,150,,71,10,144,*60 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":20,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":229,"ss":24,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102542.000,A,3340.8283,S,15117.4521,E,0.0,0.0,251112,0.0,W*67 $GPGGA,102542.000,3340.8283,S,15117.4521,E,1,12,0.7,019.37,M,22.4,M,,*79 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:42.000Z","ept":0.005,"lat":-33.680471667,"lon":151.290868333,"alt":19.370,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,39,05,21,024,39,09,35,328,40*7B $GPGSV,3,2,10,10,31,085,38,12,63,212,43,17,06,104,26,24,37,323,39*77 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":112,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":38,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":26,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,19,81,10,276,,78,52,242,*64 $GLGSV,2,2,08,77,49,334,,88,48,229,24,87,39,150,,71,10,144,*60 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":19,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":229,"ss":24,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102543.000,A,3340.8284,S,15117.4522,E,0.0,0.0,251112,0.0,W*62 $GPGGA,102543.000,3340.8284,S,15117.4522,E,1,12,0.7,018.83,M,22.4,M,,*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:43.000Z","ept":0.005,"lat":-33.680473333,"lon":151.290870000,"alt":18.830,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,42,04,38,134,39,05,21,024,39,09,35,328,40*7A $GPGSV,3,2,10,10,31,085,37,12,63,212,43,17,06,104,26,24,37,323,39*78 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":112,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":21,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":37,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":26,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,19,81,10,276,,78,52,242,*64 $GLGSV,2,2,08,77,49,334,,88,48,229,24,87,39,150,,71,10,144,*60 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":19,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":229,"ss":24,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102544.000,A,3340.8286,S,15117.4525,E,0.1,0.0,251112,0.0,W*61 $GPGGA,102544.000,3340.8286,S,15117.4525,E,1,12,0.7,018.33,M,22.4,M,,*7B {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:44.000Z","ept":0.005,"lat":-33.680476667,"lon":151.290875000,"alt":18.330,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,42,04,38,134,39,05,22,024,39,09,35,328,40*79 $GPGSV,3,2,10,10,31,085,37,12,63,212,43,17,06,104,26,24,37,323,39*78 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":112,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":22,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":37,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":26,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,18,81,10,276,,78,52,242,*65 $GLGSV,2,2,08,77,49,334,,88,48,229,24,87,39,150,,71,10,144,*60 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":18,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":229,"ss":24,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102545.000,A,3340.8286,S,15117.4525,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102545.000,3340.8286,S,15117.4525,E,1,12,0.7,017.87,M,22.4,M,,*7A {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:45.000Z","ept":0.005,"lat":-33.680476667,"lon":151.290875000,"alt":17.870,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,42,04,38,134,39,05,22,024,39,09,35,328,40*79 $GPGSV,3,2,10,10,31,085,37,12,63,212,43,17,06,104,26,24,37,323,39*78 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":112,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":22,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":37,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":26,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,18,81,10,276,,78,52,242,*65 $GLGSV,2,2,08,77,49,334,,88,48,229,24,87,39,150,,71,10,144,*60 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":18,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":229,"ss":24,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102546.000,A,3340.8288,S,15117.4526,E,0.0,0.0,251112,0.0,W*6F $GPGGA,102546.000,3340.8288,S,15117.4526,E,1,12,0.7,017.07,M,22.4,M,,*7C {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:46.000Z","ept":0.005,"lat":-33.680480000,"lon":151.290876667,"alt":17.070,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,42,04,38,134,38,05,22,024,39,09,35,328,40*78 $GPGSV,3,2,10,10,31,085,36,12,63,212,43,17,06,104,26,24,37,323,39*79 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":112,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":22,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":36,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":26,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,18,81,10,276,,78,52,242,*65 $GLGSV,2,2,08,77,49,334,,88,48,229,23,87,39,150,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":18,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":229,"ss":23,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102547.000,A,3340.8290,S,15117.4526,E,0.0,0.0,251112,0.0,W*67 $GPGGA,102547.000,3340.8290,S,15117.4526,E,1,12,0.7,016.02,M,22.4,M,,*70 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:47.000Z","ept":0.005,"lat":-33.680483333,"lon":151.290876667,"alt":16.020,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,42,04,38,134,38,05,22,024,39,09,35,328,40*78 $GPGSV,3,2,10,10,31,085,36,12,63,212,43,17,06,104,26,24,37,323,39*79 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":112,"ss":42,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":22,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":36,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":26,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,17,81,10,276,,78,52,242,*6A $GLGSV,2,2,08,77,49,334,,88,48,229,23,87,39,150,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":17,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":229,"ss":23,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102548.000,A,3340.8290,S,15117.4526,E,0.0,0.0,251112,0.0,W*68 $GPGGA,102548.000,3340.8290,S,15117.4526,E,1,12,0.7,015.24,M,22.4,M,,*78 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:48.000Z","ept":0.005,"lat":-33.680483333,"lon":151.290876667,"alt":15.240,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,38,05,22,024,39,09,35,328,40*79 $GPGSV,3,2,10,10,31,085,36,12,63,212,43,17,06,104,26,24,37,323,39*79 $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":112,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":22,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":36,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":26,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,15,81,10,276,,78,52,242,*68 $GLGSV,2,2,08,77,49,334,,88,48,229,23,87,39,150,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":15,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":229,"ss":23,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102549.000,A,3340.8290,S,15117.4525,E,0.0,0.0,251112,0.0,W*6A $GPGGA,102549.000,3340.8290,S,15117.4525,E,1,12,0.7,015.01,M,22.4,M,,*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:49.000Z","ept":0.005,"lat":-33.680483333,"lon":151.290875000,"alt":15.010,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,38,05,22,024,39,09,35,328,40*79 $GPGSV,3,2,10,10,31,085,35,12,63,212,43,17,06,104,26,24,37,323,39*7A $GPGSV,3,3,10,25,26,224,34,29,13,265,29,,,,,,,,*7B {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":112,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":22,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":35,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":26,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":34,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,14,81,10,276,,78,52,242,*69 $GLGSV,2,2,08,77,49,334,,88,48,229,23,87,39,150,,71,10,144,*67 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":14,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":229,"ss":23,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102550.000,A,3340.8290,S,15117.4523,E,0.0,0.0,251112,0.0,W*64 $GPGGA,102550.000,3340.8290,S,15117.4523,E,1,12,0.7,015.10,M,22.4,M,,*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:50.000Z","ept":0.005,"lat":-33.680483333,"lon":151.290871667,"alt":15.100,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,38,05,22,024,39,09,35,328,40*79 $GPGSV,3,2,10,10,31,085,35,12,63,212,43,17,06,104,26,24,37,323,39*7A $GPGSV,3,3,10,25,26,224,34,29,13,265,29,,,,,,,,*7B {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":112,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":22,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":35,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":26,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":34,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,14,81,10,276,,78,52,242,*69 $GLGSV,2,2,08,77,49,334,,88,48,229,22,87,39,150,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":14,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":229,"ss":22,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102551.000,A,3340.8291,S,15117.4521,E,0.0,0.0,251112,0.0,W*66 $GPGGA,102551.000,3340.8291,S,15117.4521,E,1,12,0.7,015.30,M,22.4,M,,*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:51.000Z","ept":0.005,"lat":-33.680485000,"lon":151.290868333,"alt":15.300,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,38,05,22,024,39,09,35,328,40*79 $GPGSV,3,2,10,10,31,085,35,12,63,212,43,17,06,104,27,24,37,323,39*7B $GPGSV,3,3,10,25,26,224,34,29,13,265,29,,,,,,,,*7B {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":112,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":22,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":35,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":27,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":34,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,,81,10,276,,78,52,242,*6C $GLGSV,2,2,08,77,49,334,,88,48,229,22,87,39,150,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":229,"ss":22,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102552.000,A,3340.8290,S,15117.4520,E,0.0,0.0,251112,0.0,W*65 $GPGGA,102552.000,3340.8290,S,15117.4520,E,1,12,0.7,015.49,M,22.4,M,,*7E {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:52.000Z","ept":0.005,"lat":-33.680483333,"lon":151.290866667,"alt":15.490,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,38,05,22,024,39,09,35,328,40*79 $GPGSV,3,2,10,10,31,085,34,12,63,212,43,17,06,104,27,24,37,323,39*7A $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":112,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":22,"az":24,"ss":39,"used":false},{"PRN":9,"el":35,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":34,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":27,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,14,81,10,276,,78,52,242,*69 $GLGSV,2,2,08,77,49,334,,88,48,229,22,87,39,150,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":14,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":229,"ss":22,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102553.000,A,3340.8289,S,15117.4519,E,0.0,0.0,251112,0.0,W*66 $GPGGA,102553.000,3340.8289,S,15117.4519,E,1,12,0.7,015.74,M,22.4,M,,*73 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:53.000Z","ept":0.005,"lat":-33.680481667,"lon":151.290865000,"alt":15.740,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,88,,,,,,,,,,,,1.4,0.7,1.2*2D $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,38,05,22,024,39,09,34,328,40*78 $GPGSV,3,2,10,10,31,085,34,12,63,212,43,17,06,104,27,24,37,323,39*7A $GPGSV,3,3,10,25,26,224,33,29,13,265,29,,,,,,,,*7C {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":112,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":22,"az":24,"ss":39,"used":false},{"PRN":9,"el":34,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":34,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":27,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":33,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,14,81,10,276,,78,52,242,*69 $GLGSV,2,2,08,77,49,334,,88,48,229,22,87,39,150,,71,10,144,*66 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":14,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":0,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":229,"ss":22,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102554.000,A,3340.8288,S,15117.4518,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102554.000,3340.8288,S,15117.4518,E,1,13,0.7,016.08,M,22.4,M,,*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:54.000Z","ept":0.005,"lat":-33.680480000,"lon":151.290863333,"alt":16.080,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,38,05,22,024,39,09,34,328,40*78 $GPGSV,3,2,10,10,31,085,34,12,63,212,43,17,06,104,28,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,34,29,13,265,29,,,,,,,,*7B {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":112,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":22,"az":24,"ss":39,"used":false},{"PRN":9,"el":34,"az":328,"ss":40,"used":false},{"PRN":10,"el":31,"az":85,"ss":34,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":28,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":34,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,14,81,10,276,,78,52,242,20*6B $GLGSV,2,2,08,77,49,334,,88,48,229,21,87,39,150,,71,10,144,*65 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":14,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":20,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":229,"ss":21,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102555.000,A,3340.8287,S,15117.4517,E,0.0,0.0,251112,0.0,W*60 $GPGGA,102555.000,3340.8287,S,15117.4517,E,1,13,0.7,015.91,M,22.4,M,,*7F {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:55.000Z","ept":0.005,"lat":-33.680478333,"lon":151.290861667,"alt":15.910,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,38,05,22,024,39,09,34,328,40*78 $GPGSV,3,2,10,10,32,086,34,12,63,212,43,17,06,104,28,24,37,323,39*75 $GPGSV,3,3,10,25,26,224,34,29,13,265,29,,,,,,,,*7B {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":112,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":38,"used":false},{"PRN":5,"el":22,"az":24,"ss":39,"used":false},{"PRN":9,"el":34,"az":328,"ss":40,"used":false},{"PRN":10,"el":32,"az":86,"ss":34,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":28,"used":false},{"PRN":24,"el":37,"az":323,"ss":39,"used":false},{"PRN":25,"el":26,"az":224,"ss":34,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,13,81,10,276,,78,52,242,20*6C $GLGSV,2,2,08,77,49,334,,88,48,229,21,87,39,150,,71,10,144,*65 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":13,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":20,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":229,"ss":21,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102556.000,A,3340.8286,S,15117.4514,E,0.0,0.0,251112,0.0,W*61 $GPGGA,102556.000,3340.8286,S,15117.4514,E,1,13,0.7,016.30,M,22.4,M,,*76 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:56.000Z","ept":0.005,"lat":-33.680476667,"lon":151.290856667,"alt":16.300,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,39,05,22,024,40,09,34,328,40*77 $GPGSV,3,2,10,10,32,086,34,12,63,212,43,17,06,104,29,24,37,323,40*7A $GPGSV,3,3,10,25,26,224,34,29,13,265,29,,,,,,,,*7B {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":112,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":22,"az":24,"ss":40,"used":false},{"PRN":9,"el":34,"az":328,"ss":40,"used":false},{"PRN":10,"el":32,"az":86,"ss":34,"used":false},{"PRN":12,"el":63,"az":212,"ss":43,"used":false},{"PRN":17,"el":6,"az":104,"ss":29,"used":false},{"PRN":24,"el":37,"az":323,"ss":40,"used":false},{"PRN":25,"el":26,"az":224,"ss":34,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,,81,10,276,,78,52,242,20*6E $GLGSV,2,2,08,77,49,334,,88,48,229,21,87,39,150,,71,10,144,*65 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":20,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":229,"ss":21,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102557.000,A,3340.8285,S,15117.4511,E,0.0,0.0,251112,0.0,W*66 $GPGGA,102557.000,3340.8285,S,15117.4511,E,1,13,0.7,016.78,M,22.4,M,,*7D {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:57.000Z","ept":0.005,"lat":-33.680475000,"lon":151.290851667,"alt":16.780,"epv":27.600,"track":0.0000,"speed":0.000} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,43,04,38,134,39,05,22,024,40,09,34,328,41*76 $GPGSV,3,2,10,10,32,086,34,12,63,212,44,17,06,104,29,24,37,323,40*7D $GPGSV,3,3,10,25,26,224,34,29,13,265,29,,,,,,,,*7B {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":112,"ss":43,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":22,"az":24,"ss":40,"used":false},{"PRN":9,"el":34,"az":328,"ss":41,"used":false},{"PRN":10,"el":32,"az":86,"ss":34,"used":false},{"PRN":12,"el":63,"az":212,"ss":44,"used":false},{"PRN":17,"el":6,"az":104,"ss":29,"used":false},{"PRN":24,"el":37,"az":323,"ss":40,"used":false},{"PRN":25,"el":26,"az":224,"ss":34,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,,81,10,276,,78,52,242,20*6E $GLGSV,2,2,08,77,49,334,,88,48,229,21,87,39,150,,71,10,144,*65 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":20,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":229,"ss":21,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102558.000,A,3340.8284,S,15117.4509,E,0.1,0.0,251112,0.0,W*60 $GPGGA,102558.000,3340.8284,S,15117.4509,E,1,13,0.7,017.08,M,22.4,M,,*7C {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:58.000Z","ept":0.005,"lat":-33.680473333,"lon":151.290848333,"alt":17.080,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,44,04,38,134,39,05,22,024,40,09,34,328,41*71 $GPGSV,3,2,10,10,32,086,35,12,63,212,44,17,06,104,29,24,37,323,40*7C $GPGSV,3,3,10,25,26,224,34,29,13,265,29,,,,,,,,*7B {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":112,"ss":44,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":22,"az":24,"ss":40,"used":false},{"PRN":9,"el":34,"az":328,"ss":41,"used":false},{"PRN":10,"el":32,"az":86,"ss":35,"used":false},{"PRN":12,"el":63,"az":212,"ss":44,"used":false},{"PRN":17,"el":6,"az":104,"ss":29,"used":false},{"PRN":24,"el":37,"az":323,"ss":40,"used":false},{"PRN":25,"el":26,"az":224,"ss":34,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,,81,10,276,,78,52,242,21*6F $GLGSV,2,2,08,77,49,334,,88,48,229,21,87,39,150,,71,10,144,*65 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":0,"used":false},{"PRN":81,"el":10,"az":276,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":21,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":229,"ss":21,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102559.000,A,3340.8282,S,15117.4507,E,0.1,0.0,251112,0.0,W*69 $GPGGA,102559.000,3340.8282,S,15117.4507,E,1,13,0.7,017.39,M,22.4,M,,*77 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:25:59.000Z","ept":0.005,"lat":-33.680470000,"lon":151.290845000,"alt":17.390,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,44,04,38,134,39,05,22,024,40,09,34,328,41*71 $GPGSV,3,2,10,10,32,086,35,12,63,212,44,17,06,104,29,24,37,323,40*7C $GPGSV,3,3,10,25,26,224,34,29,13,265,29,,,,,,,,*7B {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":112,"ss":44,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":22,"az":24,"ss":40,"used":false},{"PRN":9,"el":34,"az":328,"ss":41,"used":false},{"PRN":10,"el":32,"az":86,"ss":35,"used":false},{"PRN":12,"el":63,"az":212,"ss":44,"used":false},{"PRN":17,"el":6,"az":104,"ss":29,"used":false},{"PRN":24,"el":37,"az":323,"ss":40,"used":false},{"PRN":25,"el":26,"az":224,"ss":34,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,,81,10,275,,78,52,242,21*6C $GLGSV,2,2,08,77,49,334,,88,48,229,21,87,39,150,,71,10,144,*65 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":0,"used":false},{"PRN":81,"el":10,"az":275,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":21,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":229,"ss":21,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} $GPRMC,102600.000,A,3340.8281,S,15117.4506,E,0.1,0.0,251112,0.0,W*64 $GPGGA,102600.000,3340.8281,S,15117.4506,E,1,13,0.7,017.57,M,22.4,M,,*72 {"class":"TPV","tag":"GGA","mode":3,"time":"2012-11-25T10:26:00.000Z","ept":0.005,"lat":-33.680468333,"lon":151.290843333,"alt":17.570,"epv":27.600,"track":0.0000,"speed":0.051} $GNGSA,A,3,05,10,17,25,29,02,12,04,24,09,,,1.4,0.7,1.2*29 $GNGSA,A,3,78,88,,,,,,,,,,,1.4,0.7,1.2*22 $GNGSA,A,3,193,,,,,,,,,,,,1.4,0.7,1.2*16 $GPGSV,3,1,10,02,85,112,44,04,38,134,39,05,22,024,40,09,34,328,41*71 $GPGSV,3,2,10,10,32,086,35,12,63,212,44,17,06,104,29,24,37,323,40*7C $GPGSV,3,3,10,25,26,224,34,29,13,265,29,,,,,,,,*7B {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":2,"el":85,"az":112,"ss":44,"used":false},{"PRN":4,"el":38,"az":134,"ss":39,"used":false},{"PRN":5,"el":22,"az":24,"ss":40,"used":false},{"PRN":9,"el":34,"az":328,"ss":41,"used":false},{"PRN":10,"el":32,"az":86,"ss":35,"used":false},{"PRN":12,"el":63,"az":212,"ss":44,"used":false},{"PRN":17,"el":6,"az":104,"ss":29,"used":false},{"PRN":24,"el":37,"az":323,"ss":40,"used":false},{"PRN":25,"el":26,"az":224,"ss":34,"used":false},{"PRN":29,"el":13,"az":265,"ss":29,"used":false}]} $GLGSV,2,1,08,76,06,007,,65,12,041,,81,10,275,,78,52,242,22*6F $GLGSV,2,2,08,77,49,334,,88,48,229,21,87,39,150,,71,10,144,*65 {"class":"SKY","tag":"GSV","vdop":1.20,"hdop":0.70,"pdop":1.40,"satellites":[{"PRN":76,"el":6,"az":7,"ss":0,"used":false},{"PRN":65,"el":12,"az":41,"ss":0,"used":false},{"PRN":81,"el":10,"az":275,"ss":0,"used":false},{"PRN":78,"el":52,"az":242,"ss":22,"used":false},{"PRN":77,"el":49,"az":334,"ss":0,"used":false},{"PRN":88,"el":48,"az":229,"ss":21,"used":false},{"PRN":87,"el":39,"az":150,"ss":0,"used":false},{"PRN":71,"el":10,"az":144,"ss":0,"used":false}]} gpsd-3.9/test/daemon/sounder.log0000664000175000017500000002136511762140437015110 0ustar esresr# Name: Generic depth sounder # Description: Generic depth sounder returning NMEA SDDBT # Submitter: John Hawley # Date: 2012-01-19 $SDDBT,7.7,f,2.3,M,1.3,F*05 $ECGLL,5119.881,N,00125.169,E,164326,A,D*52 $SDDBT,7.9,f,2.4,M,1.3,F*0C $ECGLL,5119.881,N,00125.169,E,164328,A,D*5C $SDDBT,7.9,f,2.4,M,1.3,F*0C $ECGLL,5119.881,N,00125.169,E,164330,A,D*55 $SDDBT,7.9,f,2.4,M,1.3,F*0C $ECGLL,5119.881,N,00125.169,E,164332,A,D*57 $SDDBT,7.9,f,2.4,M,1.3,F*0C $ECGLL,5119.881,N,00125.169,E,164334,A,D*51 $SDDBT,7.7,f,2.3,M,1.3,F*05 $ECGLL,5119.881,N,00125.169,E,164336,A,D*53 $SDDBT,7.8,f,2.4,M,1.3,F*0D $ECGLL,5119.881,N,00125.169,E,164338,A,D*5D $SDDBT,7.8,f,2.4,M,1.3,F*0D $ECGLL,5119.881,N,00125.169,E,164340,A,D*52 $SDDBT,7.7,f,2.3,M,1.3,F*05 $ECGLL,5119.881,N,00125.169,E,164342,A,D*50 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164344,A,D*56 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164346,A,D*54 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164348,A,D*5A $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164350,A,D*53 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164352,A,D*51 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164354,A,D*57 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164356,A,D*55 $SDDBT,7.7,f,2.3,M,1.3,F*05 $ECGLL,5119.881,N,00125.169,E,164358,A,D*5B $SDDBT,7.9,f,2.4,M,1.3,F*0C $ECGLL,5119.881,N,00125.169,E,164400,A,D*51 $SDDBT,7.7,f,2.3,M,1.3,F*05 $ECGLL,5119.881,N,00125.169,E,164402,A,D*53 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164404,A,D*55 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164406,A,D*57 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.881,N,00125.169,E,164408,A,D*59 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164410,A,D*50 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164412,A,D*52 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.881,N,00125.169,E,164414,A,D*54 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164416,A,D*56 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.881,N,00125.169,E,164418,A,D*58 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.881,N,00125.169,E,164420,A,D*53 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164422,A,D*51 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164424,A,D*57 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164426,A,D*55 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.881,N,00125.169,E,164428,A,D*5B $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.881,N,00125.169,E,164430,A,D*52 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164432,A,D*50 $SDDBT,7.7,f,2.3,M,1.3,F*05 $ECGLL,5119.881,N,00125.169,E,164434,A,D*56 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.881,N,00125.169,E,164436,A,D*54 $SDDBT,7.8,f,2.4,M,1.3,F*0D $ECGLL,5119.881,N,00125.169,E,164438,A,D*5A $SDDBT,7.8,f,2.4,M,1.3,F*0D $ECGLL,5119.881,N,00125.169,E,164440,A,D*55 $SDDBT,7.7,f,2.3,M,1.3,F*05 $ECGLL,5119.881,N,00125.169,E,164442,A,D*57 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.881,N,00125.169,E,164444,A,D*51 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.881,N,00125.169,E,164446,A,D*53 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164448,A,D*5D $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164450,A,D*54 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164452,A,D*56 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164454,A,D*50 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164456,A,D*52 $SDDBT,7.9,f,2.4,M,1.3,F*0C $ECGLL,5119.881,N,00125.169,E,164458,A,D*5C $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164500,A,D*50 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164502,A,D*52 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164504,A,D*54 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164506,A,D*56 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.881,N,00125.169,E,164508,A,D*58 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164510,A,D*51 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164512,A,D*53 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164514,A,D*55 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164516,A,D*57 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164518,A,D*59 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164520,A,D*52 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164522,A,D*50 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164524,A,D*56 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164526,A,D*54 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164528,A,D*5A $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164530,A,D*53 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164532,A,D*51 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164534,A,D*57 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164536,A,D*55 $SDDBT,7.7,f,2.3,M,1.3,F*05 $ECGLL,5119.881,N,00125.169,E,164538,A,D*5B $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.881,N,00125.169,E,164540,A,D*54 $SDDBT,8.1,f,2.5,M,1.4,F*0D $ECGLL,5119.881,N,00125.169,E,164542,A,D*56 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.881,N,00125.169,E,164544,A,D*50 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164546,A,D*52 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164548,A,D*5C $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164550,A,D*55 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164552,A,D*57 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164554,A,D*51 $SDDBT,7.9,f,2.4,M,1.3,F*0C $ECGLL,5119.881,N,00125.169,E,164556,A,D*53 $SDDBT,7.8,f,2.4,M,1.3,F*0D $ECGLL,5119.881,N,00125.169,E,164558,A,D*5D $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164600,A,D*53 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.881,N,00125.169,E,164602,A,D*51 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164604,A,D*57 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164606,A,D*55 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164608,A,D*5B $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164610,A,D*52 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164612,A,D*50 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164614,A,D*56 $SDDBT,8.1,f,2.5,M,1.4,F*0D $ECGLL,5119.881,N,00125.169,E,164616,A,D*54 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.881,N,00125.169,E,164618,A,D*5A $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164620,A,D*51 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.169,E,164622,A,D*53 $SDDBT,7.8,f,2.4,M,1.3,F*0D $ECGLL,5119.881,N,00125.169,E,164624,A,D*55 $SDDBT,7.8,f,2.4,M,1.3,F*0D $ECGLL,5119.881,N,00125.169,E,164626,A,D*57 $SDDBT,7.7,f,2.3,M,1.3,F*05 $ECGLL,5119.881,N,00125.169,E,164628,A,D*59 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.881,N,00125.168,E,164630,A,D*51 $SDDBT,7.7,f,2.3,M,1.3,F*05 $ECGLL,5119.881,N,00125.168,E,164632,A,D*53 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.881,N,00125.168,E,164634,A,D*55 $SDDBT,7.9,f,2.4,M,1.3,F*0C $ECGLL,5119.881,N,00125.168,E,164636,A,D*57 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.881,N,00125.168,E,164638,A,D*59 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.881,N,00125.168,E,164640,A,D*56 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.168,E,164642,A,D*54 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.881,N,00125.168,E,164644,A,D*52 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.881,N,00125.168,E,164646,A,D*50 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.881,N,00125.168,E,164648,A,D*5E $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.168,E,164650,A,D*57 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.168,E,164652,A,D*55 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.168,E,164654,A,D*53 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.168,E,164656,A,D*51 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.168,E,164658,A,D*5F $SDDBT,7.7,f,2.3,M,1.3,F*05 $ECGLL,5119.881,N,00125.168,E,164700,A,D*53 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.881,N,00125.168,E,164702,A,D*51 $SDDBT,7.8,f,2.4,M,1.3,F*0D $ECGLL,5119.881,N,00125.168,E,164704,A,D*57 $SDDBT,7.7,f,2.3,M,1.3,F*05 $ECGLL,5119.882,N,00125.168,E,164706,A,D*56 $SDDBT,7.7,f,2.3,M,1.3,F*05 $ECGLL,5119.882,N,00125.168,E,164708,A,D*58 $SDDBT,7.7,f,2.3,M,1.3,F*05 $ECGLL,5119.882,N,00125.168,E,164710,A,D*51 $SDDBT,7.8,f,2.4,M,1.3,F*0D $ECGLL,5119.882,N,00125.168,E,164712,A,D*53 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.882,N,00125.168,E,164714,A,D*55 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.882,N,00125.168,E,164716,A,D*57 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.882,N,00125.168,E,164718,A,D*59 $SDDBT,7.5,f,2.3,M,1.3,F*07 $ECGLL,5119.882,N,00125.168,E,164720,A,D*52 $SDDBT,8.0,f,2.4,M,1.3,F*0A $ECGLL,5119.882,N,00125.168,E,164722,A,D*50 $SDDBT,7.7,f,2.3,M,1.3,F*05 $ECGLL,5119.882,N,00125.168,E,164724,A,D*56 $SDDBT,7.7,f,2.3,M,1.3,F*05 $ECGLL,5119.882,N,00125.168,E,164726,A,D*54 $SDDBT,7.6,f,2.3,M,1.3,F*04 $ECGLL,5119.882,N,00125.168,E,164728,A,D*5A gpsd-3.9/test/daemon/sounder.log.chk0000664000175000017500000004603312135526426015654 0ustar esresr$SDDBT,7.7,f,2.3,M,1.3,F*05 {"class":"TPV","tag":"DBT","mode":3,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164326,A,D*52 $SDDBT,7.9,f,2.4,M,1.3,F*0C {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.400} $ECGLL,5119.881,N,00125.169,E,164328,A,D*5C $SDDBT,7.9,f,2.4,M,1.3,F*0C {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.400} $ECGLL,5119.881,N,00125.169,E,164330,A,D*55 $SDDBT,7.9,f,2.4,M,1.3,F*0C {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.400} $ECGLL,5119.881,N,00125.169,E,164332,A,D*57 $SDDBT,7.9,f,2.4,M,1.3,F*0C {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.400} $ECGLL,5119.881,N,00125.169,E,164334,A,D*51 $SDDBT,7.7,f,2.3,M,1.3,F*05 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164336,A,D*53 $SDDBT,7.8,f,2.4,M,1.3,F*0D {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.400} $ECGLL,5119.881,N,00125.169,E,164338,A,D*5D $SDDBT,7.8,f,2.4,M,1.3,F*0D {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.400} $ECGLL,5119.881,N,00125.169,E,164340,A,D*52 $SDDBT,7.7,f,2.3,M,1.3,F*05 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164342,A,D*50 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164344,A,D*56 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164346,A,D*54 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164348,A,D*5A $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164350,A,D*53 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164352,A,D*51 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164354,A,D*57 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164356,A,D*55 $SDDBT,7.7,f,2.3,M,1.3,F*05 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164358,A,D*5B $SDDBT,7.9,f,2.4,M,1.3,F*0C {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.400} $ECGLL,5119.881,N,00125.169,E,164400,A,D*51 $SDDBT,7.7,f,2.3,M,1.3,F*05 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164402,A,D*53 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164404,A,D*55 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164406,A,D*57 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164408,A,D*59 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164410,A,D*50 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164412,A,D*52 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164414,A,D*54 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164416,A,D*56 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164418,A,D*58 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164420,A,D*53 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164422,A,D*51 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164424,A,D*57 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164426,A,D*55 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164428,A,D*5B $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164430,A,D*52 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164432,A,D*50 $SDDBT,7.7,f,2.3,M,1.3,F*05 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164434,A,D*56 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164436,A,D*54 $SDDBT,7.8,f,2.4,M,1.3,F*0D {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.400} $ECGLL,5119.881,N,00125.169,E,164438,A,D*5A $SDDBT,7.8,f,2.4,M,1.3,F*0D {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.400} $ECGLL,5119.881,N,00125.169,E,164440,A,D*55 $SDDBT,7.7,f,2.3,M,1.3,F*05 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164442,A,D*57 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164444,A,D*51 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164446,A,D*53 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164448,A,D*5D $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164450,A,D*54 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164452,A,D*56 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164454,A,D*50 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164456,A,D*52 $SDDBT,7.9,f,2.4,M,1.3,F*0C {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.400} $ECGLL,5119.881,N,00125.169,E,164458,A,D*5C $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164500,A,D*50 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164502,A,D*52 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164504,A,D*54 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164506,A,D*56 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164508,A,D*58 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164510,A,D*51 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164512,A,D*53 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164514,A,D*55 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164516,A,D*57 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164518,A,D*59 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164520,A,D*52 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164522,A,D*50 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164524,A,D*56 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164526,A,D*54 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164528,A,D*5A $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164530,A,D*53 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164532,A,D*51 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164534,A,D*57 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164536,A,D*55 $SDDBT,7.7,f,2.3,M,1.3,F*05 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164538,A,D*5B $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164540,A,D*54 $SDDBT,8.1,f,2.5,M,1.4,F*0D {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.500} $ECGLL,5119.881,N,00125.169,E,164542,A,D*56 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164544,A,D*50 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164546,A,D*52 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164548,A,D*5C $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164550,A,D*55 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164552,A,D*57 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164554,A,D*51 $SDDBT,7.9,f,2.4,M,1.3,F*0C {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.400} $ECGLL,5119.881,N,00125.169,E,164556,A,D*53 $SDDBT,7.8,f,2.4,M,1.3,F*0D {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.400} $ECGLL,5119.881,N,00125.169,E,164558,A,D*5D $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164600,A,D*53 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164602,A,D*51 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164604,A,D*57 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164606,A,D*55 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164608,A,D*5B $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164610,A,D*52 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164612,A,D*50 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164614,A,D*56 $SDDBT,8.1,f,2.5,M,1.4,F*0D {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.500} $ECGLL,5119.881,N,00125.169,E,164616,A,D*54 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164618,A,D*5A $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164620,A,D*51 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164622,A,D*53 $SDDBT,7.8,f,2.4,M,1.3,F*0D {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.400} $ECGLL,5119.881,N,00125.169,E,164624,A,D*55 $SDDBT,7.8,f,2.4,M,1.3,F*0D {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.400} $ECGLL,5119.881,N,00125.169,E,164626,A,D*57 $SDDBT,7.7,f,2.3,M,1.3,F*05 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.169,E,164628,A,D*59 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419483333,"alt":-2.300} $ECGLL,5119.881,N,00125.168,E,164630,A,D*51 $SDDBT,7.7,f,2.3,M,1.3,F*05 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.881,N,00125.168,E,164632,A,D*53 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.881,N,00125.168,E,164634,A,D*55 $SDDBT,7.9,f,2.4,M,1.3,F*0C {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419466667,"alt":-2.400} $ECGLL,5119.881,N,00125.168,E,164636,A,D*57 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.881,N,00125.168,E,164638,A,D*59 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.881,N,00125.168,E,164640,A,D*56 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.881,N,00125.168,E,164642,A,D*54 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.881,N,00125.168,E,164644,A,D*52 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.881,N,00125.168,E,164646,A,D*50 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.881,N,00125.168,E,164648,A,D*5E $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.881,N,00125.168,E,164650,A,D*57 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.881,N,00125.168,E,164652,A,D*55 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.881,N,00125.168,E,164654,A,D*53 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.881,N,00125.168,E,164656,A,D*51 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.881,N,00125.168,E,164658,A,D*5F $SDDBT,7.7,f,2.3,M,1.3,F*05 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.881,N,00125.168,E,164700,A,D*53 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.881,N,00125.168,E,164702,A,D*51 $SDDBT,7.8,f,2.4,M,1.3,F*0D {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419466667,"alt":-2.400} $ECGLL,5119.881,N,00125.168,E,164704,A,D*57 $SDDBT,7.7,f,2.3,M,1.3,F*05 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331350000,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.882,N,00125.168,E,164706,A,D*56 $SDDBT,7.7,f,2.3,M,1.3,F*05 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331366667,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.882,N,00125.168,E,164708,A,D*58 $SDDBT,7.7,f,2.3,M,1.3,F*05 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331366667,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.882,N,00125.168,E,164710,A,D*51 $SDDBT,7.8,f,2.4,M,1.3,F*0D {"class":"TPV","tag":"DBT","mode":3,"lat":51.331366667,"lon":1.419466667,"alt":-2.400} $ECGLL,5119.882,N,00125.168,E,164712,A,D*53 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331366667,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.882,N,00125.168,E,164714,A,D*55 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331366667,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.882,N,00125.168,E,164716,A,D*57 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331366667,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.882,N,00125.168,E,164718,A,D*59 $SDDBT,7.5,f,2.3,M,1.3,F*07 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331366667,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.882,N,00125.168,E,164720,A,D*52 $SDDBT,8.0,f,2.4,M,1.3,F*0A {"class":"TPV","tag":"DBT","mode":3,"lat":51.331366667,"lon":1.419466667,"alt":-2.400} $ECGLL,5119.882,N,00125.168,E,164722,A,D*50 $SDDBT,7.7,f,2.3,M,1.3,F*05 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331366667,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.882,N,00125.168,E,164724,A,D*56 $SDDBT,7.7,f,2.3,M,1.3,F*05 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331366667,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.882,N,00125.168,E,164726,A,D*54 $SDDBT,7.6,f,2.3,M,1.3,F*04 {"class":"TPV","tag":"DBT","mode":3,"lat":51.331366667,"lon":1.419466667,"alt":-2.300} $ECGLL,5119.882,N,00125.168,E,164728,A,D*5A gpsd-3.9/test/daemon/superstar2.log0000664000175000017500000005672211762140440015542 0ustar esresr# Name: Novatel Superstar 2 GPS egine # Submitter: Chris Kuethe # Date: 2009-08-09 # Location: unknown # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # qŽ;'ó.z¿}À@–Z9Rćñ¿Ù2€ èÿÿJ@Øôÿÿ, dló!Þ= aLn2kCÔ2}7'c)?$|% œGßЬdË^± èBÿךÿÿ›v Aœœw;tXº«¹0 Æàü=t¬(‚è Çt¢itlՐ°Ð¿sà>0’DYsŽS0‘HëG2ÀµæÿK@Ù@^{"Pêí?Ÿ!Ò[¥­ÿ¿BóDÊœJAÓeA!¢—qŽ;'óÛ³p> @np iuŠñ¿Ù2ÀVçÿK@…ôÿÿ, dlÔ!Þ= aLn2kCÔ2}7'c)?$|% œGßЬdË^± èBöÿÿv AȬ¢itØÍ¹Ô ȯø=tDîQè z~;tØÐ÷ž00ÿsœè[0“/jsǐHŠ ëG2€}çÿÿK@Ùy† Pêí?àRY^¥­ÿ¿€÷DïvIAÑ-dA!¢)qŽ;'óQÃ%M?ý@†Ú¶ªb…ñ¿Ù2€èÿÿK@âôÿÿ, dl!Þ= aLn2kCÔ2}7'c)?$|% œGßЬdË^± èBÿ›ÿÿŸv AÉs¡it€TÔ É ó=tøŒ!è œÄƒ;tlñCž06Ž¿sˆ–›0’³ysè;ӎH ëG2€ÇæÿL@Ù—÷èPêí?¢o`¥­ÿ¿büD>6HAö‘bA!¢ðqŽ;'ó²QÅfN¡@òx쪱…ñ¿Ù2€hçÿL@ôÿÿ, dlj!Þ= aLn2kCÔ2}7(c)?$|% œGßЬdË^² èB+žÿÿ¡v Aƪ¡it4IïÓ ÇØî=tì‡ñç ž†Š;t°·0¯Š¿s<>Û0’£Šsp¥€HÓëG2ÀŠçÿÿL@ÙùúÏPêí?îKÓb¥­ÿ¿!DˆûFAÿ`A!¢qŽ;'óˆW¬Úãì @Ó¯-GЇñ¿Ù2À+èÿÿL@èôÿÿ, dl*!Þ= aLn2kCÔ2}7(c)?$|$ œGßЬdË^± èBÿe›ÿÿ£v AÇn it ŠÓ Ç4é=t[Áç žÖ;t5ܶ0º—¿sé0‘$šs,vŒHëG2@ÙæÿM@ÙÍ­Pêí?zŠ+f¥­ÿ¿ïD™ÆEAÜt_A!¢6qŽ;'ó¹Ÿí@âÌ.hˆñ¿Ù2@zçÿM@•ôÿÿ, dlå!Þ= aLn2kCÔ2}7'c)?$|% œGßЬdË^± èBwžÿÿ¥v AÈ£ itÔÝ$Ó Èÿä=tÌ=‘ç –;tèk(¶0AŠ¿sÀŸZ0’«s€€G‹H<ëG2ÀçÿÿM@Ù ¯dPêí?ÀÃj¥­ÿ¿ DG—DAúò]A!¢1qŽ;'óÚâ:JuC@`띞-‡ñ¿Ù2À>èÿÿM@ñôÿÿ, dl7!Þ= aLn2kCÔ2}7(c)?$|$ œGßЬdË^± èBÿ¹›ÿÿ§v AÇgŸitHž¿Ò ÇVß=tÔ)aç ŸÕ›;tЬtµ0U{¿sŒ[š0‘ºsŽóŠHß ëG3»ùÿï?Ùû|ö Pêí?txm¥­ÿ¿DemCA#y\A!¢"qŽ;'ó¯vHh @ MB‡ñ¿Ù3Ðãùÿï?Ÿôÿÿ, dlp!Þ= aLn2kCÔ2}7(c)?$|$ œGßЬdË^± èBÿñ˜ÿÿ©v AÇ+žitü—ZÒ ȲÙ=t1ç Ÿ"¡;tžôÀŽ0‘cl¿s@Ú0‘'Ês8eêˆHëG3ˆÇüÿÿ?ÙXš_Pêí?äo¥­ÿ¿JDÈHBA[A"¢!qŽ;'ó(Kß°¯Cÿ?ÿ(®Ï‡ñ¿Ù3šÛüÿÿ?Lôÿÿ, dlV!Þ= aLn1kCÔ2}7)c)?%|% œGßЬdË^³ èBœÿÿ«v A’Ûs@Ê»‡H Ç|Õ=t ç ¢Ø§;t88 Ž0“ç^¿s4Ï0Å]žitôqõÑÕëG3Xpþÿ@ÙہËPêí?!l=q¥­ÿ¿™DK)AA|œYA"¢íqŽ;'ó"(Á](~ÿ?õæ¥Õ3Šñ¿Ù3hzþÿ@ªôÿÿ, dl!Þ= aLn2kCÔ2}7)c)?%|$ œGßЬdË^³ èBÿ`™ÿÿ­v AÆ!itˆMÑ ÇÔÏ=t\øÐæ ¢­;tè~Y³0“ûO¿s„‚Y0‘§ês€)†HB ëG3€eþÿ@ÙI5²øOêí?՞•r¥­ÿ¿0DÅ@A%9XA"¢ˆqŽ;'ó*¥“‘xq@r4q†‹ñ¿Ù3oþÿ@Yôÿÿ,dlY!Þ= aLn2kCÔ2}7)c)?%|$ œGßЬdË^³ èB‹œÿÿ¯v AÆSitH3+Ñ țË=t\ò æ ¢Ö³;tàÐ¥²0“€B¿sš<™0‘£ûs܋^…HÓëG39ÿÿ@Ù\PïOêí?M0^s¥­ÿ¿VDù>AÎÜVA"¢÷qŽ;'ó–Jäê³Çù?`Y‹ñ¿Ù3 >ÿÿ@·ôÿÿ,dl!Þ= aLn1kCÔ2}7)c)?%|% œGßЬdË^³ èBÿۙÿÿ±v AÅœitØÆÐ ÇôÅ=tÔépæ ¢¹;tH!ò±0•”3¿sððØ0’' sØã/„HÍ ëG3¶3ÿÿ@ÙT˜æäOêí?O¡£s¥­ÿ¿ZýDè=A<‡UA"¢LqŽ;'ó¿œҙèÿ?†žºRñ¿Ù3À8ÿÿ@gôÿÿ,dl !Þ= aLn2kCÔ2}7)c)?%|% œGßЬdË^Ž èB ÿÿ³v AÆGœit0aÐ ǺÁ=tôì@æ £Ù¿;t ~>±0•&¿st¬0’sÌ?ƒHëG3:ÿÿ@ÙÚOêí?0Z_s¥­ÿ¿+òDžÛG"ßЬdË^ö èBÿ̚ÿÿ¹v AÇü™it<ÿ1Ï È-²=t(.±å ¡$Ñ;tœÑ#¯0–žúŸsØ0’Ls]uHíëG3̚ÿÿ#@Ù@j>ÄOêí?•Špq¥­ÿ¿ÒØDWÐ9A]pPA"¢GqŽ;'ó&9ò¢Ót@~3ýŠ-ñ¿Ù3Pÿÿ#@ƒôÿÿ,dlŠ!Þ= aLn1kCÔ2}7)c)?&|% œ>G"ßЬdË^ö èBóÿÿ»v AÅ,šitø ÍÎ Çó­=txRå £Ü×;tžRp®0˜6íŸsÍ0’÷\s8»F~HëG3óÿÿ%@Ùº¿Oêí?æÿÆp¥­ÿ¿`ÓDåÔ8A†9OA"¢qŽ;'óA{z˜‚ÿ?rÿ7Žñ¿Ù3w ÿÿ%@áôÿÿ,dl£!Þ= aLn1kCÔ2}7)c)?&|% œ>G"ßЬdË^ö èBÿE›ÿÿœv A“}ls¬}H ÇJš=tØzQå £"Ý;t ÙŒ­0™AÞŸsܙW0Åì˜it@hÎOëG3E›ÿÿ'@Ù!œ?ºOêí?5Pp¥­ÿ¿8ÎDiÝ7ACNA"¢ÎqŽ;'ó8ù õe@BüLó%ñ¿Ù3ɝÿÿ'@’ôÿÿ,dlK!Þ= aLn2kCÔ2}7(c)?&|% œ>G"ßЬdË^ö èBsžÿÿ¿v AÇ™itŽHÎ É €=t8Ã!å ¡Ìã;tø ­0—œÐŸsø‚—0“e}s€ˆé{HuëG3sžÿÿ)@Ù×QTŽOêí?ñ‡ño¥­ÿ¿nÈDÊé6AlÜLA"¢àqŽ;'óŸY"J~@%üDj‹ñ¿Ù3÷ ÿÿ)@ðôÿÿ,dl!Þ= aLn2kCÔ2}7(c)?&|% œ>G"ßЬdË^ö èBÿŠ›ÿÿÁv AÇԗit †žÍ É]ž=tüòä ¡é;tP8V¬0™ÌÁŸsÄx×0”ÛŒs0»zH‰ ëG3Š›ÿÿ+@Ùe¯>­Oêí?€M—n¥­ÿ¿jÂDîù5AÖµKA"¢jqŽ;'óT:ž|Y @ Ô°}SŠñ¿Ù3*žÿÿ+@ôÿÿ,dl!Þ= aLn2kCÔ2}7(c)?&|% œ>G"ßЬdË^ö èBÿã˜ÿÿÃv AǍ–itÔ9Í É®˜=tÀ„Âä  Rî;t£«0™Ô²Ÿs„z0”Tœs¬‡ŒyHëG3ã˜ÿÿ-@ÙO7šOêí?bNõl¥­ÿ¿ðŸDŸ 5A[”JA"¢ÇqŽ;'óÆŸæ]ƒÙ@§¯9æ[‰ñ¿Ù3g›ÿÿ-@Jôÿÿ,dlä!Þ= aLn2kCÔ2}7)c)?'|% œ>G!ßЬdË^÷ èBø›ÿÿÅv AÆ»–itÈ ÕÌ Ès”=thڒä ¢õ;tXžïª0›O¥ŸspeW0•?­sŒð]xH•ëG3ø›ÿÿ/@Ùrûl£Oêí?€Œgk¥­ÿ¿õŒD %4AÕwIA"¢qŽ;'óulÖýiø?LÌ,&Žñ¿Ù3|žÿÿ/@Šôÿÿ,dl!Þ= aKm1kCÓ2}7(c)?'|% œ>G!ßЬdË^ó èBÿM™ÿÿÇv AÅt•itxEpÌ ÇÆŽ=t¬.cä ¡Qú;tˆn<ª0›a–Ÿs4K—0”ÀŒsŒP/wH5ëG3€ŠÌÿÿ0@ÙÕ/ПOêí?­oj¥­ÿ¿fœDý?3A`HA"¢`qŽ;'óÔ;œpû?ZŽX<€ñ¿Ù3€èÍÿÿ0@Wôÿÿ,dlÃ!Þ= aKm1kCÓ2}7)c)?'|% œ>G!ßЬdË^ô èM„œÿÿÉv AÅ •it { Ì ƈŠ=tÀ3ä ¢“itÝÊ Èèz=tÜò€ã ¡=s»mH Œr4YóN·"ëG3€‡Íÿÿ8@Ù”@ãzOêí?#Š.\¥­ÿ¿ÎÚDäª(A£@A!¢±qŽ;'ó± ¥÷æaí?“ÉM¡Þ‘ñ¿Ù3€ÉÎÿÿ8@‹ôÿÿ,dl!Þ= aKm1kCÓ2}7(c)?'|% œ~G ßЬdË^2 èMQžÿÿÙv AÄ‘it¬@çÈ Æ­b=t Kžâ ¡ž0£0œìŸsLÞ0”_sÌÛ]kH~tŒrމÉñN&ëG3ÖÍÿÿ:@Ù«pOêí?c› Y¥­ÿ¿•áDsð%Aõ'>A!¢ÇqŽ;'óS¹µÓ @Ëÿþ… “ñ¿Ù3Ïÿÿ:@ôÿÿ,dlF!Þ= aKm1kCÓ2}7(c)?'|% œ~G ßЬdË^2 èMÿý˜ÿÿÝv AҎitddÈ É>W=tœ¶Yâ  ';@Ù‰ÇGOêí?_XO¥­ÿ¿9äD‚Ÿ ADv:A!¢(qŽ;'óNô#ïKÐ@×èWÅDŒñ¿Ù3€†Ïÿÿ>@·ôÿÿ,dlÈ!Þ= aKm1kCÓ2}7(c)?'|% œ~GßЬdË^0 èBÿϙÿÿåv AÃ(Œitü¿€Uë¶ùñ¿Ù3*Îÿÿ?@fôÿÿ,dlÓ!Þ= aKm1kCÓ2}7'c)?'|% œ>GßЬdË^î èB!ÿÿçv AÄDŒitp])Æ Èß>=tdpná „YGßЬdË^í èBÿZšÿÿév AÅïŠit^ÅÅ È!9=td™?á ²^qŽ;'óêÝ¡˜Ý @ -6‚ˆñ¿Ù3€7çÿÿ@@vôÿÿ,dl«!Þ= aKm1kCÓ2}7(c)?'|% œ>GßЬdË^î èBqÿÿëv AÄ‹itPeaÅ ÇÍ4=t Êá žPeGßЬdË^í èBÿ³šÿÿív Aï‰it€nýÄ Æ /=tPýáà Ÿ{jGßЬd Ë^ èB̝ÿÿïv AÄÉitރ™Ä Ǻ*=t$=³à qGßЬd Ë^!. èBÿ ›ÿÿñv AÃmˆitH˜5Ä Çù$=tô|„à žGßЬd Ë^!- èB)žÿÿóv ALjitø£Ñà NJ =tŒŽUà ŸÔ|šq'*Žñ¿Ù3€+èÿC@èôÿÿ,dlr!Þ= aKm1kCÓ2}7(c)?'|% œ>GßЬd Ë^ - èBÿz›ÿÿõv AÂ3‡itœŒmà Çä=tôù&à ž‚GßЬd Ë^ , èB¡žÿÿ÷v AÃL‡it€ø à Ɏ=tpcøß ŸˆGßЬd Ë^ + èBÿޛÿÿùv AÁó…itÄ*ŠÂ ÇÈ=tàÃÉß ŸÆGßЬd Ë^ + èBÿ(™ÿÿûv AÁ¡„itÐWBÂ Ç =tÐ›ß žï’GßЬd Ë^!, èBYœÿÿýv AÁ¹„itt†ÞÁ Ç­=t ~lß žˆ™GßЬd Ë^!* èBÿª™ÿÿÿv AÁdƒitXÀzÁ Èê=t è=ß ¶žGßЬd Ë^!+ èB֜ÿÿw AÂyƒitLÁ ɎüGßЬd Ë^!+ èBÿšÿÿw A‚itŒ‰³À ÉÇöGßЬd Ë^!* èB#ÿÿw AÁ+‚itðPÀ ÉkòGßЬd Ë^!* èBÿešÿÿw AÁʀitp˜ì¿ È¡ìGßЬd Ë^!* èB’ÿÿ w AÀۀitÀ‰¿ ÇIèGßЬd Ë^!* èBÿéšÿÿ w A¿{it8‡%¿ Ç}âGßЬd Ë^!) èB&žÿÿ w AÀŠitŸ Ç!ÞGßЬd Ë^ ) èBÿ|›ÿÿw AÀ)~it€š^Ÿ ÈUØGßЬd Ë^!, èB–žÿÿw AÁ3~it”bûœ ÉóÓF)A"¢]qŽ;'óì²qF;@÷ …ñ¿Ù3€FèÿÿJ@ôôÿÿ,dlâ!Þ= aKm0kCÓ2}7&c)?&|& œ>GßЬd Ë^ * èBÿśÿÿw AÀÍ|it@*˜œ È ÎGßЬd Ë^ * èBÿ™ÿÿw AÀg{ità5œ ÈIÈGßЬd Ë^ + èBœÿÿw AÀm{itHùÑŒ ÉâÃGßЬd Ë^!, èBÿO™ÿÿw A¿ zitÈÔnŒ ÇŸSsÀÁÂFHHëG3ÀSæÿÿL@Ù,äVZOêí?ށ·T¥­ÿ¿ÄËDAˆÃ&A"¢kqŽ;'óc^Ô<ÉÕ?ë0"܌ˆñ¿Ù3ÀôæÿÿL@Wôÿÿ,dlÔ!Þ= aKm0kCÓ2}7&c)?&|' œ>GßЬd Ë^!, èB‚œÿÿw A¿zità° Œ È«¹GßЬd Ë^!, èBÿ̙ÿÿw A¿šxit€˜š» ÈÔ³GßЬd Ë^ * èBäœÿÿw AÀ­xitš’E» Éj¯XkOêí?oˆV¥­ÿ¿£ÏDD¯Aô$A"¢‘qŽ;'ó¶ þXš@AÓb’ˆñ¿Ù4€öùÿï?Âôÿÿ,dlo!Þ= aKm0kCÓ2}7&c)?&|' œ>GßЬd Ë^!, èBÿšÿÿ!w A¿Cwit̐⺠Ȕ©GßЬd Ë^!+ èB3ÿÿ#w A¿Iwit̝º È,¥GßЬd Ë^ + èBÿnšÿÿ%w A¿Ýuit`µº ÈUŸGßЬd Ë^ + èB†ÿÿ'w AŸßuitÐÛ¹¹ ÈèšHæëG4 ;ÿÿ@Ù“Ñ6–Oêí?c,«W¥­ÿ¿=êD˜ß Aü¢"A"¢rqŽ;'ó@,"„|Ž@ӏÇiæ†ñ¿Ù4@ÿÿ@Õôÿÿ,dlh!Þ= aKm0kCÓ2}7&c)?&|( œ>GßЬd Ë^ , èBÿºšÿÿ)w A¿otitDW¹ È•GßЬd Ë^!- èB¿ÿÿ+w AŸptitðUôž ȧGßЬd Ë^ , èBÿìšÿÿ-w AŸsitD¥‘ž ÈʊGßЬd Ë^!, èB÷ÿÿ/w AœsitÔ /ž ÈY†GßЬd Ë^ , èBÿ›ÿÿ1w AŸqittÌ· È|€GßЬd Ë^!, èB"žÿÿ3w AœŠqit˜ÿi· È |GßЬd Ë^!- èBÿQ›ÿÿ5w A¹pitÜs· Æ,vGßЬd Ë^!. èBjžÿÿ7w AºpitÞ€¶ ÇŒqGßЬd Ë^!. èBÿ­›ÿÿ9w A»§nit(EB¶ ÇÜkGßЬd Ë^!. èBÿî˜ÿÿ;w A»7mitü·ßµ ÈùeGßЬd Ë^!. èB œÿÿ=w AŒ4mit|=}µ ɄaGß ?¬d Ë^!  èBÿD™ÿÿ?w AŒœkit ϵ ȟ[Gß ?¬d Ë^   èBYœÿÿAw AŒ·kitÈvžŽ È)W # Date: 2005-06-08 # Location: Edmonton, Alberta, CA 53N113W # Comments - Nearby airports include YEG and YXD. This capture was done # at 57600 baud with all SiRF-supported NMEA messages set to 1Hz. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPGGA,000452.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*75 $GPGLL,36000.0000,N,72000.0000,E,000452.981,V*10 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000452.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*32 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000453.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*74 $GPGLL,36000.0000,N,72000.0000,E,000453.981,V*11 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000453.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*33 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000454.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*73 $GPGLL,36000.0000,N,72000.0000,E,000454.981,V*16 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000454.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*34 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000455.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*72 $GPGLL,36000.0000,N,72000.0000,E,000455.981,V*17 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000455.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*35 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000456.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*71 $GPGLL,36000.0000,N,72000.0000,E,000456.981,V*14 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000456.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*36 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000457.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*70 $GPGLL,36000.0000,N,72000.0000,E,000457.981,V*15 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,00,13,77,000,00,08,71,000,,22,65,000,00*7F $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,00*7B $GPRMC,000457.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*37 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000458.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7F $GPGLL,36000.0000,N,72000.0000,E,000458.981,V*1A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,48,13,77,000,00,08,71,000,,22,65,000,00*73 $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,31*79 $GPRMC,000458.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*38 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000459.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7E $GPGLL,36000.0000,N,72000.0000,E,000459.981,V*1B $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,31*79 $GPRMC,000459.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*39 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000500.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*73 $GPGLL,36000.0000,N,72000.0000,E,000500.981,V*16 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,48,13,77,000,00,08,71,000,,22,65,000,00*73 $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,31*79 $GPRMC,000500.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*34 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000501.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*72 $GPGLL,36000.0000,N,72000.0000,E,000501.981,V*17 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,48,13,77,000,00,08,71,000,,22,65,000,00*73 $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,31*79 $GPRMC,000501.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*35 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000502.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*71 $GPGLL,36000.0000,N,72000.0000,E,000502.981,V*14 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,48,13,77,000,00,08,71,000,,22,65,000,00*73 $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,31*79 $GPRMC,000502.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*36 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000503.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*70 $GPGLL,36000.0000,N,72000.0000,E,000503.981,V*15 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,000503.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*37 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000504.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*77 $GPGLL,36000.0000,N,72000.0000,E,000504.981,V*12 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,000504.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*30 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204300.329,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7B $GPGLL,36000.0000,N,72000.0000,E,204300.329,V*1E $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204300.329,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*34 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204301.329,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7A $GPGLL,36000.0000,N,72000.0000,E,204301.329,V*1F $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204301.329,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*35 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204302.329,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*79 $GPGLL,36000.0000,N,72000.0000,E,204302.329,V*1C $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204302.329,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*36 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204303.329,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*78 $GPGLL,36000.0000,N,72000.0000,E,204303.329,V*1D $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204303.329,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*37 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204304.329,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7F $GPGLL,36000.0000,N,72000.0000,E,204304.329,V*1A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204304.329,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*30 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204305.329,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7E $GPGLL,36000.0000,N,72000.0000,E,204305.329,V*1B $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204305.329,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*31 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204306.329,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7D $GPGLL,36000.0000,N,72000.0000,E,204306.329,V*18 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204306.329,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*32 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204307.329,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7C $GPGLL,36000.0000,N,72000.0000,E,204307.329,V*19 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204307.329,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*33 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204308.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*72 $GPGLL,36000.0000,N,72000.0000,E,204308.328,V*17 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,48,13,77,000,00,08,71,000,,22,65,000,00*73 $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204308.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*3D $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204309.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*73 $GPGLL,36000.0000,N,72000.0000,E,204309.328,V*16 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,48,13,77,000,00,08,71,000,,22,65,000,00*73 $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204309.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*3C $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204310.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7B $GPGLL,36000.0000,N,72000.0000,E,204310.328,V*1E $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204310.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*34 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204311.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7A $GPGLL,36000.0000,N,72000.0000,E,204311.328,V*1F $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204311.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*35 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204312.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*79 $GPGLL,36000.0000,N,72000.0000,E,204312.328,V*1C $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204312.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*36 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204313.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*78 $GPGLL,36000.0000,N,72000.0000,E,204313.328,V*1D $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204313.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*37 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204314.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7F $GPGLL,36000.0000,N,72000.0000,E,204314.328,V*1A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,48,13,77,000,00,08,71,000,,22,65,000,00*73 $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204314.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*30 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204315.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7E $GPGLL,36000.0000,N,72000.0000,E,204315.328,V*1B $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,48,13,77,000,00,08,71,000,,22,65,000,00*73 $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204315.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*31 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204316.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7D $GPGLL,36000.0000,N,72000.0000,E,204316.328,V*18 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,48,13,77,000,00,08,71,000,,22,65,000,00*73 $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204316.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*32 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204317.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7C $GPGLL,36000.0000,N,72000.0000,E,204317.328,V*19 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,48,13,77,000,00,08,71,000,,22,65,000,00*73 $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204317.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*33 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204318.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*73 $GPGLL,36000.0000,N,72000.0000,E,204318.328,V*16 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204318.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*3C $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204319.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*72 $GPGLL,36000.0000,N,72000.0000,E,204319.328,V*17 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204319.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*3D $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204320.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*78 $GPGLL,36000.0000,N,72000.0000,E,204320.328,V*1D $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204320.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*37 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204321.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*79 $GPGLL,36000.0000,N,72000.0000,E,204321.328,V*1C $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204321.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*36 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204322.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7A $GPGLL,36000.0000,N,72000.0000,E,204322.328,V*1F $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204322.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*35 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204323.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7B $GPGLL,36000.0000,N,72000.0000,E,204323.328,V*1E $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204323.328,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3C $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204324.327,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*73 $GPGLL,36000.0000,N,72000.0000,E,204324.327,V*16 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,89,000,47,11,56,000,,14,47,000,,25,41,000,*7C $GPGSV,3,2,12,19,21,000,00,20,21,000,,22,18,000,00,03,05,000,*7E $GPGSV,3,3,12,23,02,000,,15,00,000,00,07,00,000,00,24,-01,000,00*50 $GPRMC,204324.327,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*34 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204325.327,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*72 $GPGLL,36000.0000,N,72000.0000,E,204325.327,V*17 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,89,000,48,11,56,000,,14,47,000,00,25,41,000,*73 $GPGSV,3,2,12,19,21,000,00,20,21,000,,22,18,000,00,03,05,000,*7E $GPGSV,3,3,12,23,02,000,00,15,00,000,00,07,00,000,00,24,-01,000,00*50 $GPRMC,204325.327,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*35 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204326.327,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*71 $GPGLL,36000.0000,N,72000.0000,E,204326.327,V*14 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,89,000,47,11,56,000,,14,47,000,00,25,41,000,*7C $GPGSV,3,2,12,19,21,000,00,20,21,000,,22,18,000,00,03,05,000,*7E $GPGSV,3,3,12,23,02,000,00,15,00,000,00,07,00,000,00,24,-01,000,00*50 $GPRMC,204326.327,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*36 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204327.327,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*70 $GPGLL,36000.0000,N,72000.0000,E,204327.327,V*15 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,89,000,47,11,56,000,,14,47,000,00,25,41,000,*7C $GPGSV,3,2,12,19,21,000,00,20,21,000,,22,18,000,00,03,05,000,*7E $GPGSV,3,3,12,23,02,000,00,15,00,000,00,07,00,000,00,24,-01,000,00*50 $GPRMC,204327.327,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*37 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204328.327,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7F $GPGLL,36000.0000,N,72000.0000,E,204328.327,V*1A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,89,000,47,11,56,000,,14,47,000,00,25,41,000,*7C $GPGSV,3,2,12,19,21,000,00,20,21,000,,22,18,000,00,03,05,000,*7E $GPGSV,3,3,12,23,02,000,00,15,00,000,00,07,00,000,00,24,-01,000,00*50 $GPRMC,204328.327,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*38 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204329.327,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7E $GPGLL,36000.0000,N,72000.0000,E,204329.327,V*1B $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,89,000,47,11,56,000,,14,47,000,00,25,41,000,*7C $GPGSV,3,2,12,19,21,000,00,20,21,000,,22,18,000,00,03,05,000,*7E $GPGSV,3,3,12,23,02,000,00,15,00,000,00,07,00,000,00,24,-01,000,00*50 $GPRMC,204329.327,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*39 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204330.327,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*76 $GPGLL,36000.0000,N,72000.0000,E,204330.327,V*13 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,89,000,47,11,56,000,,14,47,000,00,25,41,000,*7C $GPGSV,3,2,12,19,21,000,00,20,21,000,,22,18,000,00,03,05,000,*7E $GPGSV,3,3,12,23,02,000,00,15,00,000,00,07,00,000,00,24,-01,000,00*50 $GPRMC,204330.327,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*31 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204331.327,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*77 $GPGLL,36000.0000,N,72000.0000,E,204331.327,V*12 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,89,000,47,11,56,000,,14,47,000,40,25,41,000,*78 $GPGSV,3,2,12,19,21,000,00,20,21,000,,22,18,000,00,03,05,000,*7E $GPGSV,3,3,12,23,02,000,00,15,00,000,00,07,00,000,00,24,-01,000,00*50 $GPRMC,204331.327,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*30 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204332.327,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*74 $GPGLL,36000.0000,N,72000.0000,E,204332.327,V*11 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,89,000,47,11,56,000,,14,47,000,41,25,41,000,*79 $GPGSV,3,2,12,19,21,000,00,20,21,000,,22,18,000,00,03,05,000,*7E $GPGSV,3,3,12,23,02,000,00,15,00,000,00,07,00,000,00,24,-01,000,00*50 $GPRMC,204332.327,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*33 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204333.327,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*75 $GPGLL,36000.0000,N,72000.0000,E,204333.327,V*10 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,89,000,47,11,56,000,,14,47,000,40,25,41,000,*78 $GPGSV,3,2,12,19,21,000,00,20,21,000,,22,18,000,00,03,05,000,*7E $GPGSV,3,3,12,23,02,000,00,15,00,000,00,07,00,000,00,24,-01,000,00*50 $GPRMC,204333.327,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*32 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A gpsd-3.9/test/daemon/tn200-all.log.chk0000664000175000017500000005414112135526432015602 0ustar esresr$GPGGA,000452.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*75 $GPGLL,36000.0000,N,72000.0000,E,000452.981,V*10 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,000452.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*32 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000453.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*74 $GPGLL,36000.0000,N,72000.0000,E,000453.981,V*11 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000453.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*33 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000454.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*73 $GPGLL,36000.0000,N,72000.0000,E,000454.981,V*16 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000454.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*34 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000455.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*72 $GPGLL,36000.0000,N,72000.0000,E,000455.981,V*17 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000455.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*35 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000456.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*71 $GPGLL,36000.0000,N,72000.0000,E,000456.981,V*14 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000456.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*36 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000457.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*70 $GPGLL,36000.0000,N,72000.0000,E,000457.981,V*15 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,00,13,77,000,00,08,71,000,,22,65,000,00*7F $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,00*7B $GPRMC,000457.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*37 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000458.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7F $GPGLL,36000.0000,N,72000.0000,E,000458.981,V*1A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,48,13,77,000,00,08,71,000,,22,65,000,00*73 $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,31*79 $GPRMC,000458.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*38 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000459.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7E $GPGLL,36000.0000,N,72000.0000,E,000459.981,V*1B $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,31*79 $GPRMC,000459.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*39 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000500.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*73 $GPGLL,36000.0000,N,72000.0000,E,000500.981,V*16 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,48,13,77,000,00,08,71,000,,22,65,000,00*73 $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,31*79 $GPRMC,000500.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*34 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000501.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*72 $GPGLL,36000.0000,N,72000.0000,E,000501.981,V*17 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,48,13,77,000,00,08,71,000,,22,65,000,00*73 $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,31*79 $GPRMC,000501.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*35 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000502.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*71 $GPGLL,36000.0000,N,72000.0000,E,000502.981,V*14 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,48,13,77,000,00,08,71,000,,22,65,000,00*73 $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,31*79 $GPRMC,000502.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*36 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000503.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*70 $GPGLL,36000.0000,N,72000.0000,E,000503.981,V*15 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,000503.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*37 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,000504.981,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*77 $GPGLL,36000.0000,N,72000.0000,E,000504.981,V*12 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,000504.981,V,36000.0000,N,72000.0000,E,0.000000,,190120,,*30 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204300.329,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7B $GPGLL,36000.0000,N,72000.0000,E,204300.329,V*1E $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204300.329,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*34 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204301.329,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7A $GPGLL,36000.0000,N,72000.0000,E,204301.329,V*1F $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204301.329,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*35 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204302.329,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*79 $GPGLL,36000.0000,N,72000.0000,E,204302.329,V*1C $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204302.329,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*36 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204303.329,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*78 $GPGLL,36000.0000,N,72000.0000,E,204303.329,V*1D $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204303.329,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*37 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204304.329,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7F $GPGLL,36000.0000,N,72000.0000,E,204304.329,V*1A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204304.329,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*30 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204305.329,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7E $GPGLL,36000.0000,N,72000.0000,E,204305.329,V*1B $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204305.329,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*31 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204306.329,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7D $GPGLL,36000.0000,N,72000.0000,E,204306.329,V*18 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204306.329,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*32 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204307.329,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7C $GPGLL,36000.0000,N,72000.0000,E,204307.329,V*19 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204307.329,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*33 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204308.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*72 $GPGLL,36000.0000,N,72000.0000,E,204308.328,V*17 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,48,13,77,000,00,08,71,000,,22,65,000,00*73 $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204308.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*3D $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204309.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*73 $GPGLL,36000.0000,N,72000.0000,E,204309.328,V*16 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,48,13,77,000,00,08,71,000,,22,65,000,00*73 $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204309.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*3C $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204310.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7B $GPGLL,36000.0000,N,72000.0000,E,204310.328,V*1E $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204310.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*34 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204311.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7A $GPGLL,36000.0000,N,72000.0000,E,204311.328,V*1F $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204311.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*35 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204312.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*79 $GPGLL,36000.0000,N,72000.0000,E,204312.328,V*1C $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204312.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*36 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204313.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*78 $GPGLL,36000.0000,N,72000.0000,E,204313.328,V*1D $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204313.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*37 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204314.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7F $GPGLL,36000.0000,N,72000.0000,E,204314.328,V*1A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,48,13,77,000,00,08,71,000,,22,65,000,00*73 $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204314.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*30 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204315.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7E $GPGLL,36000.0000,N,72000.0000,E,204315.328,V*1B $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,48,13,77,000,00,08,71,000,,22,65,000,00*73 $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204315.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*31 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204316.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7D $GPGLL,36000.0000,N,72000.0000,E,204316.328,V*18 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,48,13,77,000,00,08,71,000,,22,65,000,00*73 $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204316.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*32 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204317.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7C $GPGLL,36000.0000,N,72000.0000,E,204317.328,V*19 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,48,13,77,000,00,08,71,000,,22,65,000,00*73 $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204317.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*33 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204318.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*73 $GPGLL,36000.0000,N,72000.0000,E,204318.328,V*16 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204318.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*3C $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204319.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*72 $GPGLL,36000.0000,N,72000.0000,E,204319.328,V*17 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204319.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*3D $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204320.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*78 $GPGLL,36000.0000,N,72000.0000,E,204320.328,V*1D $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204320.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*37 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204321.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*79 $GPGLL,36000.0000,N,72000.0000,E,204321.328,V*1C $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204321.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*36 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204322.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7A $GPGLL,36000.0000,N,72000.0000,E,204322.328,V*1F $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204322.328,V,36000.0000,N,72000.0000,E,0.000000,,220120,,*35 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204323.328,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7B $GPGLL,36000.0000,N,72000.0000,E,204323.328,V*1E $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,90,000,47,13,77,000,00,08,71,000,,22,65,000,00*7C $GPGSV,3,2,12,09,65,000,00,26,40,000,,24,33,000,00,04,28,000,00*79 $GPGSV,3,3,12,27,25,000,00,16,23,000,00,15,21,000,00,11,13,000,*7B $GPRMC,204323.328,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3C $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204324.327,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*73 $GPGLL,36000.0000,N,72000.0000,E,204324.327,V*16 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,89,000,47,11,56,000,,14,47,000,,25,41,000,*7C $GPGSV,3,2,12,19,21,000,00,20,21,000,,22,18,000,00,03,05,000,*7E $GPGSV,3,3,12,23,02,000,,15,00,000,00,07,00,000,00,24,-01,000,00*50 $GPRMC,204324.327,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*34 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204325.327,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*72 $GPGLL,36000.0000,N,72000.0000,E,204325.327,V*17 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,89,000,48,11,56,000,,14,47,000,00,25,41,000,*73 $GPGSV,3,2,12,19,21,000,00,20,21,000,,22,18,000,00,03,05,000,*7E $GPGSV,3,3,12,23,02,000,00,15,00,000,00,07,00,000,00,24,-01,000,00*50 $GPRMC,204325.327,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*35 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204326.327,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*71 $GPGLL,36000.0000,N,72000.0000,E,204326.327,V*14 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,89,000,47,11,56,000,,14,47,000,00,25,41,000,*7C $GPGSV,3,2,12,19,21,000,00,20,21,000,,22,18,000,00,03,05,000,*7E $GPGSV,3,3,12,23,02,000,00,15,00,000,00,07,00,000,00,24,-01,000,00*50 $GPRMC,204326.327,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*36 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204327.327,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*70 $GPGLL,36000.0000,N,72000.0000,E,204327.327,V*15 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,89,000,47,11,56,000,,14,47,000,00,25,41,000,*7C $GPGSV,3,2,12,19,21,000,00,20,21,000,,22,18,000,00,03,05,000,*7E $GPGSV,3,3,12,23,02,000,00,15,00,000,00,07,00,000,00,24,-01,000,00*50 $GPRMC,204327.327,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*37 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204328.327,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7F $GPGLL,36000.0000,N,72000.0000,E,204328.327,V*1A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,89,000,47,11,56,000,,14,47,000,00,25,41,000,*7C $GPGSV,3,2,12,19,21,000,00,20,21,000,,22,18,000,00,03,05,000,*7E $GPGSV,3,3,12,23,02,000,00,15,00,000,00,07,00,000,00,24,-01,000,00*50 $GPRMC,204328.327,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*38 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204329.327,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7E $GPGLL,36000.0000,N,72000.0000,E,204329.327,V*1B $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,89,000,47,11,56,000,,14,47,000,00,25,41,000,*7C $GPGSV,3,2,12,19,21,000,00,20,21,000,,22,18,000,00,03,05,000,*7E $GPGSV,3,3,12,23,02,000,00,15,00,000,00,07,00,000,00,24,-01,000,00*50 $GPRMC,204329.327,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*39 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204330.327,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*76 $GPGLL,36000.0000,N,72000.0000,E,204330.327,V*13 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,89,000,47,11,56,000,,14,47,000,00,25,41,000,*7C $GPGSV,3,2,12,19,21,000,00,20,21,000,,22,18,000,00,03,05,000,*7E $GPGSV,3,3,12,23,02,000,00,15,00,000,00,07,00,000,00,24,-01,000,00*50 $GPRMC,204330.327,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*31 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204331.327,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*77 $GPGLL,36000.0000,N,72000.0000,E,204331.327,V*12 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,89,000,47,11,56,000,,14,47,000,40,25,41,000,*78 $GPGSV,3,2,12,19,21,000,00,20,21,000,,22,18,000,00,03,05,000,*7E $GPGSV,3,3,12,23,02,000,00,15,00,000,00,07,00,000,00,24,-01,000,00*50 $GPRMC,204331.327,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*30 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204332.327,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*74 $GPGLL,36000.0000,N,72000.0000,E,204332.327,V*11 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,89,000,47,11,56,000,,14,47,000,41,25,41,000,*79 $GPGSV,3,2,12,19,21,000,00,20,21,000,,22,18,000,00,03,05,000,*7E $GPGSV,3,3,12,23,02,000,00,15,00,000,00,07,00,000,00,24,-01,000,00*50 $GPRMC,204332.327,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*33 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A $GPGGA,204333.327,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*75 $GPGLL,36000.0000,N,72000.0000,E,204333.327,V*10 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,01,89,000,47,11,56,000,,14,47,000,40,25,41,000,*78 $GPGSV,3,2,12,19,21,000,00,20,21,000,,22,18,000,00,03,05,000,*7E $GPGSV,3,3,12,23,02,000,00,15,00,000,00,07,00,000,00,24,-01,000,00*50 $GPRMC,204333.327,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*32 $GPVTG,,T,,M,0.000000,N,0.000000,K*4E $GPMSS,0,0,0.000000,200,*5A gpsd-3.9/test/daemon/tn200.log0000664000175000017500000003327411762140440014270 0ustar esresr# Name: Rayming Tripnav TN-200 # Chipset: SiRF-II # Submitter: "Chris Kuethe" # Date: 2005-06-08 # Location: Edmonton, Alberta, CA 53N113W # Comments - Nearby airports include YEG and YXD. This capture was done # at 4800 baud with the SiRF default NMEA message set. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPGGA,000416.984,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*70 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000416.984,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*3B $GPGGA,000417.984,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*71 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000417.984,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*3A $GPGGA,000418.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*79 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000418.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*32 $GPGGA,000419.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*78 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000419.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*33 $GPGGA,000420.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*72 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000420.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*39 $GPGGA,000421.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*73 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000421.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*38 $GPGGA,000422.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*70 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000422.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*3B $GPGGA,000423.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*71 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000423.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*3A $GPGGA,000424.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*76 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000424.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*3D $GPGGA,000425.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*77 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000425.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*3C $GPGGA,000426.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*74 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,25,89,000,36,27,89,000,00,08,79,000,,26,79,000,00*73 $GPGSV,3,2,12,01,62,000,46,05,57,000,00,22,42,000,00,13,32,000,00*7E $GPGSV,3,3,12,09,20,000,00,24,20,000,00,04,17,000,00,15,12,000,00*70 $GPRMC,000426.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*3F $GPGGA,000427.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*75 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000427.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*3E $GPGGA,000428.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000428.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*31 $GPGGA,000429.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7B $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000429.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*30 $GPGGA,000430.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*73 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,000430.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*38 $GPGGA,000431.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*72 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,25,89,000,36,27,89,000,00,08,79,000,,26,79,000,00*73 $GPGSV,3,2,12,01,62,000,45,05,57,000,00,22,42,000,00,13,32,000,00*7D $GPGSV,3,3,12,09,20,000,00,24,20,000,00,04,17,000,00,15,12,000,00*70 $GPRMC,000431.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*39 $GPGGA,204137.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7B $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204137.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*3F $GPGGA,204138.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*74 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204138.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*30 $GPGGA,204139.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*75 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204139.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*31 $GPGGA,204140.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7B $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204140.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*3F $GPGGA,204141.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,25,89,000,36,27,89,000,00,08,79,000,,26,79,000,00*73 $GPGSV,3,2,12,01,62,000,46,05,57,000,00,22,42,000,00,13,32,000,00*7E $GPGSV,3,3,12,09,20,000,00,24,20,000,00,04,17,000,00,15,12,000,00*70 $GPRMC,204141.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*3E $GPGGA,204142.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*79 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204142.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*3D $GPGGA,204143.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*78 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204143.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*3C $GPGGA,204144.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7F $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204144.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*3B $GPGGA,204145.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7E $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204145.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*3A $GPGGA,204146.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7D $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,25,89,000,34,27,89,000,00,08,79,000,,26,79,000,00*71 $GPGSV,3,2,12,01,62,000,45,05,57,000,00,22,42,000,40,13,32,000,00*79 $GPGSV,3,3,12,09,20,000,00,24,20,000,00,04,17,000,00,15,12,000,00*70 $GPRMC,204146.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*39 $GPGGA,204147.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7C $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204147.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*38 $GPGGA,204148.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*73 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204148.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*37 $GPGGA,204149.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*72 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204149.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*36 $GPGGA,204150.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204150.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*3E $GPGGA,204151.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,25,89,000,34,27,89,000,00,08,79,000,,26,79,000,00*71 $GPGSV,3,2,12,01,62,000,45,05,57,000,00,22,42,000,41,13,32,000,00*78 $GPGSV,3,3,12,09,20,000,00,24,20,000,00,04,17,000,00,15,12,000,00*70 $GPRMC,204151.078,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*3E $GPGGA,204152.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*79 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204152.078,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*3D $GPGGA,204153.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*78 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204153.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3F $GPGGA,204154.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7F $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204154.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*38 $GPGGA,204155.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7E $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204155.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*39 $GPGGA,204156.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7D $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,25,65,000,34,01,51,000,45,14,51,000,00,22,48,000,42*74 $GPGSV,3,2,12,15,26,000,00,11,20,000,00,30,20,000,00,18,19,000,*79 $GPGSV,3,3,12,19,07,000,00,05,05,000,00,03,02,000,,16,-03,000,00*5D $GPRMC,204156.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3A $GPGGA,204157.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7C $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204157.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3B $GPGGA,204158.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*73 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204158.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*34 $GPGGA,204159.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*72 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204159.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*35 $GPGGA,204200.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7D $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204200.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3A $GPGGA,204201.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7C $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,25,65,000,,01,51,000,45,14,51,000,00,22,48,000,44*75 $GPGSV,3,2,12,15,26,000,00,11,20,000,00,30,20,000,00,18,19,000,*79 $GPGSV,3,3,12,19,07,000,00,05,05,000,00,03,02,000,,16,-03,000,00*5D $GPRMC,204201.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3B $GPGGA,204202.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7F $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204202.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*38 $GPGGA,204203.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7E $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204203.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*39 $GPGGA,204204.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*79 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204204.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3E $GPGGA,204205.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*78 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204205.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3F $GPGGA,204206.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7B $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,25,65,000,,01,51,000,45,14,51,000,45,22,48,000,44*74 $GPGSV,3,2,12,15,26,000,00,11,20,000,43,30,20,000,00,18,19,000,*7E $GPGSV,3,3,12,19,07,000,00,05,05,000,00,03,02,000,,16,-03,000,00*5D $GPRMC,204206.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3C $GPGGA,204207.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204207.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3D $GPGGA,204208.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204208.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3D $GPGGA,204209.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7B $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204209.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3C $GPGGA,204210.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*73 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204210.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*34 $GPGGA,204211.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*72 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,25,65,000,,01,51,000,45,14,51,000,46,22,48,000,44*77 $GPGSV,3,2,12,15,26,000,00,11,20,000,42,30,20,000,00,18,19,000,*7F $GPGSV,3,3,12,19,07,000,00,05,05,000,00,03,02,000,,16,-03,000,00*5D $GPRMC,204211.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*35 $GPGGA,204212.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*71 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204212.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*36 $GPGGA,204213.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*70 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204213.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*37 $GPGGA,204214.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*77 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204214.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*30 $GPGGA,204215.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*76 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204215.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*31 $GPGGA,204216.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*75 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,25,65,000,,01,51,000,44,14,51,000,46,22,48,000,44*76 $GPGSV,3,2,12,15,26,000,00,11,20,000,42,30,20,000,00,18,19,000,*7F $GPGSV,3,3,12,19,07,000,00,05,05,000,00,03,02,000,,16,-03,000,00*5D $GPRMC,204216.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*32 $GPGGA,204217.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*74 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204217.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*33 $GPGGA,204218.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7B $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204218.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3C $GPGGA,204219.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204219.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3D $GPGGA,204220.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*70 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPRMC,204220.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*37 $GPGGA,204221.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*71 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 $GPGSV,3,1,12,25,65,000,,01,51,000,44,14,51,000,46,22,48,000,43*71 $GPGSV,3,2,12,15,26,000,00,11,20,000,42,30,20,000,00,18,19,000,*7F $GPGSV,3,3,12,19,07,000,00,05,05,000,00,03,02,000,,16,-03,000,00*5D $GPRMC,204221.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*36 gpsd-3.9/test/daemon/tn200.log.chk0000664000175000017500000003703712135526433015042 0ustar esresr$GPGGA,000416.984,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*70 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,000416.984,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*3B $GPGGA,000417.984,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*71 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,000417.984,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*3A $GPGGA,000418.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*79 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,000418.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*32 $GPGGA,000419.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*78 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,000419.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*33 $GPGGA,000420.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*72 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,000420.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*39 $GPGGA,000421.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*73 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,000421.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*38 $GPGGA,000422.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*70 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,000422.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*3B $GPGGA,000423.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*71 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,000423.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*3A $GPGGA,000424.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*76 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,000424.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*3D $GPGGA,000425.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*77 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,000425.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*3C $GPGGA,000426.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*74 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,12,25,89,000,36,27,89,000,00,08,79,000,,26,79,000,00*73 $GPGSV,3,2,12,01,62,000,46,05,57,000,00,22,42,000,00,13,32,000,00*7E $GPGSV,3,3,12,09,20,000,00,24,20,000,00,04,17,000,00,15,12,000,00*70 $GPRMC,000426.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*3F $GPGGA,000427.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*75 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,000427.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*3E $GPGGA,000428.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,000428.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*31 $GPGGA,000429.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7B $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,000429.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*30 $GPGGA,000430.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*73 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,000430.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*38 $GPGGA,000431.983,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*72 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,12,25,89,000,36,27,89,000,00,08,79,000,,26,79,000,00*73 $GPGSV,3,2,12,01,62,000,45,05,57,000,00,22,42,000,00,13,32,000,00*7D $GPGSV,3,3,12,09,20,000,00,24,20,000,00,04,17,000,00,15,12,000,00*70 $GPRMC,000431.983,V,36000.0000,N,72000.0000,E,0.000000,,260120,,*39 $GPGGA,204137.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7B $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204137.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*3F $GPGGA,204138.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*74 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204138.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*30 $GPGGA,204139.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*75 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204139.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*31 $GPGGA,204140.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7B $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204140.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*3F $GPGGA,204141.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,12,25,89,000,36,27,89,000,00,08,79,000,,26,79,000,00*73 $GPGSV,3,2,12,01,62,000,46,05,57,000,00,22,42,000,00,13,32,000,00*7E $GPGSV,3,3,12,09,20,000,00,24,20,000,00,04,17,000,00,15,12,000,00*70 $GPRMC,204141.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*3E $GPGGA,204142.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*79 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204142.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*3D $GPGGA,204143.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*78 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204143.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*3C $GPGGA,204144.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7F $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204144.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*3B $GPGGA,204145.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7E $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204145.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*3A $GPGGA,204146.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7D $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,12,25,89,000,34,27,89,000,00,08,79,000,,26,79,000,00*71 $GPGSV,3,2,12,01,62,000,45,05,57,000,00,22,42,000,40,13,32,000,00*79 $GPGSV,3,3,12,09,20,000,00,24,20,000,00,04,17,000,00,15,12,000,00*70 $GPRMC,204146.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*39 $GPGGA,204147.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7C $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204147.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*38 $GPGGA,204148.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*73 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204148.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*37 $GPGGA,204149.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*72 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204149.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*36 $GPGGA,204150.079,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204150.079,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*3E $GPGGA,204151.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,12,25,89,000,34,27,89,000,00,08,79,000,,26,79,000,00*71 $GPGSV,3,2,12,01,62,000,45,05,57,000,00,22,42,000,41,13,32,000,00*78 $GPGSV,3,3,12,09,20,000,00,24,20,000,00,04,17,000,00,15,12,000,00*70 $GPRMC,204151.078,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*3E $GPGGA,204152.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*79 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204152.078,V,36000.0000,N,72000.0000,E,0.000000,,290120,,*3D $GPGGA,204153.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*78 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204153.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3F $GPGGA,204154.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7F $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204154.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*38 $GPGGA,204155.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7E $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204155.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*39 $GPGGA,204156.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7D $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,12,25,65,000,34,01,51,000,45,14,51,000,00,22,48,000,42*74 $GPGSV,3,2,12,15,26,000,00,11,20,000,00,30,20,000,00,18,19,000,*79 $GPGSV,3,3,12,19,07,000,00,05,05,000,00,03,02,000,,16,-03,000,00*5D $GPRMC,204156.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3A $GPGGA,204157.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7C $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204157.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3B $GPGGA,204158.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*73 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204158.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*34 $GPGGA,204159.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*72 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204159.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*35 $GPGGA,204200.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7D $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204200.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3A $GPGGA,204201.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7C $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,12,25,65,000,,01,51,000,45,14,51,000,00,22,48,000,44*75 $GPGSV,3,2,12,15,26,000,00,11,20,000,00,30,20,000,00,18,19,000,*79 $GPGSV,3,3,12,19,07,000,00,05,05,000,00,03,02,000,,16,-03,000,00*5D $GPRMC,204201.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3B $GPGGA,204202.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7F $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204202.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*38 $GPGGA,204203.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7E $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204203.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*39 $GPGGA,204204.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*79 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204204.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3E $GPGGA,204205.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*78 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204205.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3F $GPGGA,204206.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7B $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,12,25,65,000,,01,51,000,45,14,51,000,45,22,48,000,44*74 $GPGSV,3,2,12,15,26,000,00,11,20,000,43,30,20,000,00,18,19,000,*7E $GPGSV,3,3,12,19,07,000,00,05,05,000,00,03,02,000,,16,-03,000,00*5D $GPRMC,204206.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3C $GPGGA,204207.078,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204207.078,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3D $GPGGA,204208.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204208.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3D $GPGGA,204209.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7B $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204209.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3C $GPGGA,204210.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*73 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204210.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*34 $GPGGA,204211.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*72 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,12,25,65,000,,01,51,000,45,14,51,000,46,22,48,000,44*77 $GPGSV,3,2,12,15,26,000,00,11,20,000,42,30,20,000,00,18,19,000,*7F $GPGSV,3,3,12,19,07,000,00,05,05,000,00,03,02,000,,16,-03,000,00*5D $GPRMC,204211.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*35 $GPGGA,204212.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*71 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204212.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*36 $GPGGA,204213.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*70 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204213.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*37 $GPGGA,204214.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*77 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204214.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*30 $GPGGA,204215.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*76 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204215.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*31 $GPGGA,204216.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*75 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,12,25,65,000,,01,51,000,44,14,51,000,46,22,48,000,44*76 $GPGSV,3,2,12,15,26,000,00,11,20,000,42,30,20,000,00,18,19,000,*7F $GPGSV,3,3,12,19,07,000,00,05,05,000,00,03,02,000,,16,-03,000,00*5D $GPRMC,204216.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*32 $GPGGA,204217.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*74 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204217.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*33 $GPGGA,204218.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7B $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204218.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3C $GPGGA,204219.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*7A $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204219.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*3D $GPGGA,204220.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*70 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPRMC,204220.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*37 $GPGGA,204221.077,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,0.0,M,0.0,0000*71 $GPGSA,A,1,,,,,,,,,,,,,50.0,50.0,50.0*05 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,3,1,12,25,65,000,,01,51,000,44,14,51,000,46,22,48,000,43*71 $GPGSV,3,2,12,15,26,000,00,11,20,000,42,30,20,000,00,18,19,000,*7F $GPGSV,3,3,12,19,07,000,00,05,05,000,00,03,02,000,,16,-03,000,00*5D $GPRMC,204221.077,V,36000.0000,N,72000.0000,E,0.000000,,080605,,*36 gpsd-3.9/test/daemon/tn204.log0000664000175000017500000000430111762140440014261 0ustar esresr# Name: Rayming TripNav 204 # Chipset: SiRF-II? # Submitter: "Pascal F. Martin" # Date: 2005-03-18 # # The NMEA looks like Garmin. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPRMC,230148,A,3348.605,N,11821.126,W,000.0,209.4,261002,013.8,E*6B $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,230149,3348.605,N,11821.126,W,1,05,1.7,49.4,M,-32.4,M,,*4E $GPGSA,A,3,07,08,,,27,28,29,,,,,,4.2,1.7,3.8*32 $GPGSV,2,1,08,07,43,197,44,08,68,062,43,11,18,089,00,26,24,314,43*73 $GPGSV,2,2,08,27,48,103,46,28,66,323,42,29,33,306,43,31,10,040,00*78 $PGRME,17.4,M,40.3,M,43.9,M*15 $GPGLL,3348.605,N,11821.126,W,230149,A*34 $PGRMZ,162,f,3*1E $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,230150,A,3348.606,N,11821.125,W,000.0,209.4,261002,013.8,E*62 $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,230151,3348.607,N,11821.124,W,1,05,1.7,49.2,M,-32.4,M,,*41 $GPGSA,A,3,07,08,,,27,28,29,,,,,,4.2,1.7,3.8*32 $GPGSV,2,1,08,07,43,197,45,08,68,062,42,11,18,089,00,26,24,314,43*73 $GPGSV,2,2,08,27,48,103,46,28,66,323,42,29,33,306,44,31,10,040,00*7F $PGRME,17.4,M,40.3,M,43.9,M*15 $GPGLL,3348.607,N,11821.124,W,230151,A*3D $PGRMZ,161,f,3*1D $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,230152,A,3348.607,N,11821.124,W,000.0,209.4,261002,013.8,E*60 $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,230153,3348.607,N,11821.124,W,1,05,1.7,49.1,M,-32.4,M,,*40 $GPGSA,A,3,,08,,,,,29,,,,,,4.2,1.7,3.8*3A $GPGSV,2,1,08,07,43,197,45,08,68,062,42,11,18,089,00,26,24,314,41*71 $GPGSV,2,2,08,27,48,103,46,28,66,323,42,29,33,306,44,31,10,040,00*7F $PGRME,17.4,M,40.3,M,43.9,M*15 $GPGLL,3348.607,N,11821.124,W,230153,A*3F $PGRMZ,161,f,3*1D $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,230154,A,3348.607,N,11821.124,W,000.0,209.4,261002,013.8,E*66 $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,230155,3348.608,N,11821.124,W,1,02,1.9,49.0,M,-32.4,M,,*41 $GPGSA,A,3,07,08,,,27,28,,,,,,,1.9,1.9,1.0*33 $GPGSV,2,1,08,07,43,197,45,08,68,062,43,11,18,089,00,26,24,314,41*70 $GPGSV,2,2,08,27,48,103,46,28,66,323,43,29,33,306,44,31,10,040,00*7E $PGRME,19.2,M,150.0,M,151.2,M*17 $GPGLL,3348.608,N,11821.124,W,230155,A*36 $PGRMZ,161,f,3*1D $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 gpsd-3.9/test/daemon/tn204.log.chk0000664000175000017500000001237112135526435015042 0ustar esresr$GPRMC,230148,A,3348.605,N,11821.126,W,000.0,209.4,261002,013.8,E*6B {"class":"TPV","tag":"RMC","mode":2,"time":"2002-10-26T23:01:48.000Z","ept":0.005,"lat":33.810083333,"lon":-118.352100000,"track":209.4000,"speed":0.000} $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,230149,3348.605,N,11821.126,W,1,05,1.7,49.4,M,-32.4,M,,*4E $GPGSA,A,3,07,08,,,27,28,29,,,,,,4.2,1.7,3.8*32 $GPGSV,2,1,08,07,43,197,44,08,68,062,43,11,18,089,00,26,24,314,43*73 $GPGSV,2,2,08,27,48,103,46,28,66,323,42,29,33,306,43,31,10,040,00*78 {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":1.11,"vdop":3.80,"tdop":1.37,"hdop":1.70,"gdop":2.83,"pdop":4.20,"satellites":[{"PRN":7,"el":43,"az":197,"ss":44,"used":true},{"PRN":8,"el":68,"az":62,"ss":43,"used":true},{"PRN":11,"el":18,"az":89,"ss":0,"used":false},{"PRN":26,"el":24,"az":314,"ss":43,"used":false},{"PRN":27,"el":48,"az":103,"ss":46,"used":true},{"PRN":28,"el":66,"az":323,"ss":42,"used":true},{"PRN":29,"el":33,"az":306,"ss":43,"used":true},{"PRN":31,"el":10,"az":40,"ss":0,"used":false}]} $PGRME,17.4,M,40.3,M,43.9,M*15 $GPGLL,3348.605,N,11821.126,W,230149,A*34 $PGRMZ,162,f,3*1E $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,230150,A,3348.606,N,11821.125,W,000.0,209.4,261002,013.8,E*62 {"class":"TPV","tag":"RMC","mode":2,"time":"2002-10-26T23:01:50.000Z","ept":0.005,"lat":33.810100000,"lon":-118.352083333,"epx":11.856,"epy":16.622,"track":209.4000,"speed":0.000,"eps":42.17} $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,230151,3348.607,N,11821.124,W,1,05,1.7,49.2,M,-32.4,M,,*41 $GPGSA,A,3,07,08,,,27,28,29,,,,,,4.2,1.7,3.8*32 $GPGSV,2,1,08,07,43,197,45,08,68,062,42,11,18,089,00,26,24,314,43*73 $GPGSV,2,2,08,27,48,103,46,28,66,323,42,29,33,306,44,31,10,040,00*7F {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":1.11,"vdop":3.80,"tdop":1.37,"hdop":1.70,"gdop":2.83,"pdop":4.20,"satellites":[{"PRN":7,"el":43,"az":197,"ss":45,"used":true},{"PRN":8,"el":68,"az":62,"ss":42,"used":true},{"PRN":11,"el":18,"az":89,"ss":0,"used":false},{"PRN":26,"el":24,"az":314,"ss":43,"used":false},{"PRN":27,"el":48,"az":103,"ss":46,"used":true},{"PRN":28,"el":66,"az":323,"ss":42,"used":true},{"PRN":29,"el":33,"az":306,"ss":44,"used":true},{"PRN":31,"el":10,"az":40,"ss":0,"used":false}]} $PGRME,17.4,M,40.3,M,43.9,M*15 $GPGLL,3348.607,N,11821.124,W,230151,A*3D {"class":"TPV","tag":"GLL","mode":3,"time":"2002-10-26T23:01:51.000Z","ept":0.005,"lat":33.810116667,"lon":-118.352066667,"alt":49.200,"epx":25.546,"epy":25.546,"epv":83.674,"speed":2.408,"climb":0.000,"eps":33.24} $PGRMZ,161,f,3*1D $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,230152,A,3348.607,N,11821.124,W,000.0,209.4,261002,013.8,E*60 {"class":"TPV","tag":"RMC","mode":2,"time":"2002-10-26T23:01:52.000Z","ept":0.005,"lat":33.810116667,"lon":-118.352066667,"epx":11.856,"epy":16.622,"track":209.4000,"speed":0.000,"eps":42.17} $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,230153,3348.607,N,11821.124,W,1,05,1.7,49.1,M,-32.4,M,,*40 $GPGSA,A,3,,08,,,,,29,,,,,,4.2,1.7,3.8*3A $GPGSV,2,1,08,07,43,197,45,08,68,062,42,11,18,089,00,26,24,314,41*71 $GPGSV,2,2,08,27,48,103,46,28,66,323,42,29,33,306,44,31,10,040,00*7F {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":1.11,"vdop":3.80,"tdop":1.37,"hdop":1.70,"gdop":2.83,"pdop":4.20,"satellites":[{"PRN":7,"el":43,"az":197,"ss":45,"used":false},{"PRN":8,"el":68,"az":62,"ss":42,"used":true},{"PRN":11,"el":18,"az":89,"ss":0,"used":false},{"PRN":26,"el":24,"az":314,"ss":41,"used":false},{"PRN":27,"el":48,"az":103,"ss":46,"used":false},{"PRN":28,"el":66,"az":323,"ss":42,"used":false},{"PRN":29,"el":33,"az":306,"ss":44,"used":true},{"PRN":31,"el":10,"az":40,"ss":0,"used":false}]} $PGRME,17.4,M,40.3,M,43.9,M*15 $GPGLL,3348.607,N,11821.124,W,230153,A*3F {"class":"TPV","tag":"GLL","mode":3,"time":"2002-10-26T23:01:53.000Z","ept":0.005,"lat":33.810116667,"lon":-118.352066667,"alt":49.100,"epx":25.546,"epy":25.546,"epv":83.674,"speed":0.000,"climb":0.000,"eps":33.24} $PGRMZ,161,f,3*1D $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 $GPRMC,230154,A,3348.607,N,11821.124,W,000.0,209.4,261002,013.8,E*66 {"class":"TPV","tag":"RMC","mode":2,"time":"2002-10-26T23:01:54.000Z","ept":0.005,"lat":33.810116667,"lon":-118.352066667,"epx":11.856,"epy":16.622,"track":209.4000,"speed":0.000,"eps":42.17} $GPRMB,A,,,,,,,,,,,,V*71 $GPGGA,230155,3348.608,N,11821.124,W,1,02,1.9,49.0,M,-32.4,M,,*41 $GPGSA,A,3,07,08,,,27,28,,,,,,,1.9,1.9,1.0*33 $GPGSV,2,1,08,07,43,197,45,08,68,062,43,11,18,089,00,26,24,314,41*70 $GPGSV,2,2,08,27,48,103,46,28,66,323,43,29,33,306,44,31,10,040,00*7E {"class":"SKY","tag":"GSV","xdop":0.79,"ydop":1.11,"vdop":1.00,"tdop":1.37,"hdop":1.90,"gdop":2.83,"pdop":1.90,"satellites":[{"PRN":7,"el":43,"az":197,"ss":45,"used":true},{"PRN":8,"el":68,"az":62,"ss":43,"used":true},{"PRN":11,"el":18,"az":89,"ss":0,"used":false},{"PRN":26,"el":24,"az":314,"ss":41,"used":false},{"PRN":27,"el":48,"az":103,"ss":46,"used":true},{"PRN":28,"el":66,"az":323,"ss":43,"used":true},{"PRN":29,"el":33,"az":306,"ss":44,"used":false},{"PRN":31,"el":10,"az":40,"ss":0,"used":false}]} $PGRME,19.2,M,150.0,M,151.2,M*17 $GPGLL,3348.608,N,11821.124,W,230155,A*36 {"class":"TPV","tag":"GLL","mode":3,"time":"2002-10-26T23:01:55.000Z","ept":0.005,"lat":33.810133333,"lon":-118.352066667,"alt":49.000,"epx":28.188,"epy":28.188,"epv":311.441,"speed":1.849,"climb":0.000,"eps":33.24} $PGRMZ,161,f,3*1D $PGRMM,NAD83*29 $GPBOD,,T,,M,,*47 $GPRTE,1,1,c,0*07 gpsd-3.9/test/daemon/tnt-revolution.log0000664000175000017500000000636211762140440016434 0ustar esresr# Name: TNT Revolution # Chipset: TNT # Submitter: Eric S. Raymond # Date: 2010-04-10 # Location: Unknown # Notes: Collected remotely from jon Schleuter's nog.yazug.com # Can't be transmitting angles in degrees, heading figures are too large. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $PTNTHTM,14223,N,169,N,-43,N,13641,2454*15 $PTNTHTM,14091,N,171,N,-43,N,13599,2454*11 $PTNTHTM,14287,N,172,N,-39,N,13652,2452*18 $PTNTHTM,14150,N,171,N,-40,N,13605,2452*1E $PTNTHTM,14199,N,171,N,-40,N,13614,2452*1B $HCXDR,A,171,D,PITCH,A,-37,D,ROLL,G,367,,MAGX,G,2420,,MAGY,G,-8984,,MAGZ*41 $PTNTHTM,14168,N,171,N,-37,N,13615,2451*17 $PTNTHTM,14359,N,172,N,-33,N,13647,2450*16 $PTNTHTM,14243,N,172,N,-33,N,13608,2450*17 $PTNTHTM,14340,N,176,N,-37,N,13616,2451*1B $PTNTHTM,14230,N,175,N,-37,N,13597,2451*14 $HCXDR,A,180,D,PITCH,A,-39,D,ROLL,G,389,,MAGX,G,2473,,MAGY,G,-9007,,MAGZ*44 $PTNTHTM,14224,N,178,N,-42,N,13599,2452*13 $PTNTHTM,14156,N,179,N,-42,N,13600,2452*17 $PTNTHTM,14157,N,175,N,-42,N,13585,2454*12 $PTNTHTM,14159,N,175,N,-42,N,13598,2454*10 $PTNTHTM,14159,N,170,N,-40,N,13569,2455*18 $HCXDR,A,170,D,PITCH,A,-40,D,ROLL,G,360,,MAGX,G,2419,,MAGY,G,-8947,,MAGZ*42 $PTNTHTM,14199,N,170,N,-40,N,13610,2454*18 $PTNTHTM,14094,N,167,N,-40,N,13571,2455*17 $PTNTHTM,14185,N,167,N,-43,N,13626,2454*15 $PTNTHTM,14043,N,169,N,-42,N,13592,2454*1D $PTNTHTM,14236,N,169,N,-45,N,13644,2453*15 $HCXDR,A,169,D,PITCH,A,-45,D,ROLL,G,352,,MAGX,G,2382,,MAGY,G,-8909,,MAGZ*41 $PTNTHTM,14061,N,172,N,-45,N,13599,2452*1D $PTNTHTM,14299,N,171,N,-42,N,13652,2450*1A $PTNTHTM,14149,N,170,N,-43,N,13605,2450*16 $PTNTHTM,14243,N,170,N,-39,N,13622,2450*17 $PTNTHTM,14155,N,172,N,-35,N,13611,2449*15 $HCXDR,A,172,D,PITCH,A,-37,D,ROLL,G,359,,MAGX,G,2433,,MAGY,G,-9009,,MAGZ*40 $PTNTHTM,14330,N,172,N,-32,N,13647,2448*11 $PTNTHTM,14239,N,171,N,-33,N,13612,2448*1B $PTNTHTM,14182,N,174,N,-34,N,13581,2449*12 $PTNTHTM,14256,N,174,N,-37,N,13602,2449*13 $PTNTHTM,14139,N,178,N,-38,N,13568,2450*1D $HCXDR,A,177,D,PITCH,A,-40,D,ROLL,G,358,,MAGX,G,2432,,MAGY,G,-8974,,MAGZ*47 $PTNTHTM,14193,N,177,N,-40,N,13604,2450*14 $PTNTHTM,14186,N,174,N,-42,N,13590,2451*1E $PTNTHTM,14174,N,174,N,-40,N,13602,2451*19 $PTNTHTM,14094,N,172,N,-40,N,13570,2452*15 $PTNTHTM,14232,N,169,N,-42,N,13609,2452*1E $HCXDR,A,169,D,PITCH,A,-42,D,ROLL,G,371,,MAGX,G,2430,,MAGY,G,-8925,,MAGZ*47 $PTNTHTM,14134,N,165,N,-42,N,13570,2452*1A $PTNTHTM,14225,N,165,N,-43,N,13632,2452*1D $PTNTHTM,14042,N,169,N,-43,N,13588,2451*13 $PTNTHTM,14222,N,170,N,-45,N,13646,2451*18 $PTNTHTM,14174,N,170,N,-45,N,13640,2450*1F $HCXDR,A,170,D,PITCH,A,-42,D,ROLL,G,341,,MAGX,G,2404,,MAGY,G,-8961,,MAGZ*4B $PTNTHTM,14264,N,170,N,-42,N,13636,2449*13 $PTNTHTM,14132,N,171,N,-42,N,13604,2448*12 $PTNTHTM,14265,N,171,N,-38,N,13629,2448*11 $PTNTHTM,14145,N,171,N,-38,N,13612,2447*17 $PTNTHTM,14198,N,172,N,-38,N,13614,2447*12 $HCXDR,A,172,D,PITCH,A,-34,D,ROLL,G,327,,MAGX,G,2389,,MAGY,G,-8997,,MAGZ*43 $PTNTHTM,14184,N,172,N,-35,N,13612,2446*15 $PTNTHTM,14187,N,174,N,-35,N,13589,2447*10 $PTNTHTM,14257,N,174,N,-35,N,13603,2447*1F $PTNTHTM,14161,N,178,N,-37,N,13575,2448*1A $PTNTHTM,14302,N,177,N,-40,N,13608,2448*1B $HCXDR,A,176,D,PITCH,A,-40,D,ROLL,G,388,,MAGX,G,2468,,MAGY,G,-9006,,MAGZ*49 gpsd-3.9/test/daemon/tnt-revolution.log.chk0000664000175000017500000002472612135526436017214 0ustar esresr$PTNTHTM,14223,N,169,N,-43,N,13641,2454*15 {"class":"ATT","tag":"PTNTHTM","heading":14223.00,"mag_st":"N","pitch":169.00,"pitch_st":"N","roll":-43.00,"roll_st":"N","dip":13641.000,"mag_x":2454.000} $PTNTHTM,14091,N,171,N,-43,N,13599,2454*11 {"class":"ATT","tag":"PTNTHTM","heading":14091.00,"mag_st":"N","pitch":171.00,"pitch_st":"N","roll":-43.00,"roll_st":"N","dip":13599.000,"mag_x":2454.000} $PTNTHTM,14287,N,172,N,-39,N,13652,2452*18 {"class":"ATT","tag":"PTNTHTM","heading":14287.00,"mag_st":"N","pitch":172.00,"pitch_st":"N","roll":-39.00,"roll_st":"N","dip":13652.000,"mag_x":2452.000} $PTNTHTM,14150,N,171,N,-40,N,13605,2452*1E {"class":"ATT","tag":"PTNTHTM","heading":14150.00,"mag_st":"N","pitch":171.00,"pitch_st":"N","roll":-40.00,"roll_st":"N","dip":13605.000,"mag_x":2452.000} $PTNTHTM,14199,N,171,N,-40,N,13614,2452*1B {"class":"ATT","tag":"PTNTHTM","heading":14199.00,"mag_st":"N","pitch":171.00,"pitch_st":"N","roll":-40.00,"roll_st":"N","dip":13614.000,"mag_x":2452.000} $HCXDR,A,171,D,PITCH,A,-37,D,ROLL,G,367,,MAGX,G,2420,,MAGY,G,-8984,,MAGZ*41 $PTNTHTM,14168,N,171,N,-37,N,13615,2451*17 {"class":"ATT","tag":"PTNTHTM","heading":14168.00,"mag_st":"N","pitch":171.00,"pitch_st":"N","roll":-37.00,"roll_st":"N","dip":13615.000,"mag_x":2451.000} $PTNTHTM,14359,N,172,N,-33,N,13647,2450*16 {"class":"ATT","tag":"PTNTHTM","heading":14359.00,"mag_st":"N","pitch":172.00,"pitch_st":"N","roll":-33.00,"roll_st":"N","dip":13647.000,"mag_x":2450.000} $PTNTHTM,14243,N,172,N,-33,N,13608,2450*17 {"class":"ATT","tag":"PTNTHTM","heading":14243.00,"mag_st":"N","pitch":172.00,"pitch_st":"N","roll":-33.00,"roll_st":"N","dip":13608.000,"mag_x":2450.000} $PTNTHTM,14340,N,176,N,-37,N,13616,2451*1B {"class":"ATT","tag":"PTNTHTM","heading":14340.00,"mag_st":"N","pitch":176.00,"pitch_st":"N","roll":-37.00,"roll_st":"N","dip":13616.000,"mag_x":2451.000} $PTNTHTM,14230,N,175,N,-37,N,13597,2451*14 {"class":"ATT","tag":"PTNTHTM","heading":14230.00,"mag_st":"N","pitch":175.00,"pitch_st":"N","roll":-37.00,"roll_st":"N","dip":13597.000,"mag_x":2451.000} $HCXDR,A,180,D,PITCH,A,-39,D,ROLL,G,389,,MAGX,G,2473,,MAGY,G,-9007,,MAGZ*44 $PTNTHTM,14224,N,178,N,-42,N,13599,2452*13 {"class":"ATT","tag":"PTNTHTM","heading":14224.00,"mag_st":"N","pitch":178.00,"pitch_st":"N","roll":-42.00,"roll_st":"N","dip":13599.000,"mag_x":2452.000} $PTNTHTM,14156,N,179,N,-42,N,13600,2452*17 {"class":"ATT","tag":"PTNTHTM","heading":14156.00,"mag_st":"N","pitch":179.00,"pitch_st":"N","roll":-42.00,"roll_st":"N","dip":13600.000,"mag_x":2452.000} $PTNTHTM,14157,N,175,N,-42,N,13585,2454*12 {"class":"ATT","tag":"PTNTHTM","heading":14157.00,"mag_st":"N","pitch":175.00,"pitch_st":"N","roll":-42.00,"roll_st":"N","dip":13585.000,"mag_x":2454.000} $PTNTHTM,14159,N,175,N,-42,N,13598,2454*10 {"class":"ATT","tag":"PTNTHTM","heading":14159.00,"mag_st":"N","pitch":175.00,"pitch_st":"N","roll":-42.00,"roll_st":"N","dip":13598.000,"mag_x":2454.000} $PTNTHTM,14159,N,170,N,-40,N,13569,2455*18 {"class":"ATT","tag":"PTNTHTM","heading":14159.00,"mag_st":"N","pitch":170.00,"pitch_st":"N","roll":-40.00,"roll_st":"N","dip":13569.000,"mag_x":2455.000} $HCXDR,A,170,D,PITCH,A,-40,D,ROLL,G,360,,MAGX,G,2419,,MAGY,G,-8947,,MAGZ*42 $PTNTHTM,14199,N,170,N,-40,N,13610,2454*18 {"class":"ATT","tag":"PTNTHTM","heading":14199.00,"mag_st":"N","pitch":170.00,"pitch_st":"N","roll":-40.00,"roll_st":"N","dip":13610.000,"mag_x":2454.000} $PTNTHTM,14094,N,167,N,-40,N,13571,2455*17 {"class":"ATT","tag":"PTNTHTM","heading":14094.00,"mag_st":"N","pitch":167.00,"pitch_st":"N","roll":-40.00,"roll_st":"N","dip":13571.000,"mag_x":2455.000} $PTNTHTM,14185,N,167,N,-43,N,13626,2454*15 {"class":"ATT","tag":"PTNTHTM","heading":14185.00,"mag_st":"N","pitch":167.00,"pitch_st":"N","roll":-43.00,"roll_st":"N","dip":13626.000,"mag_x":2454.000} $PTNTHTM,14043,N,169,N,-42,N,13592,2454*1D {"class":"ATT","tag":"PTNTHTM","heading":14043.00,"mag_st":"N","pitch":169.00,"pitch_st":"N","roll":-42.00,"roll_st":"N","dip":13592.000,"mag_x":2454.000} $PTNTHTM,14236,N,169,N,-45,N,13644,2453*15 {"class":"ATT","tag":"PTNTHTM","heading":14236.00,"mag_st":"N","pitch":169.00,"pitch_st":"N","roll":-45.00,"roll_st":"N","dip":13644.000,"mag_x":2453.000} $HCXDR,A,169,D,PITCH,A,-45,D,ROLL,G,352,,MAGX,G,2382,,MAGY,G,-8909,,MAGZ*41 $PTNTHTM,14061,N,172,N,-45,N,13599,2452*1D {"class":"ATT","tag":"PTNTHTM","heading":14061.00,"mag_st":"N","pitch":172.00,"pitch_st":"N","roll":-45.00,"roll_st":"N","dip":13599.000,"mag_x":2452.000} $PTNTHTM,14299,N,171,N,-42,N,13652,2450*1A {"class":"ATT","tag":"PTNTHTM","heading":14299.00,"mag_st":"N","pitch":171.00,"pitch_st":"N","roll":-42.00,"roll_st":"N","dip":13652.000,"mag_x":2450.000} $PTNTHTM,14149,N,170,N,-43,N,13605,2450*16 {"class":"ATT","tag":"PTNTHTM","heading":14149.00,"mag_st":"N","pitch":170.00,"pitch_st":"N","roll":-43.00,"roll_st":"N","dip":13605.000,"mag_x":2450.000} $PTNTHTM,14243,N,170,N,-39,N,13622,2450*17 {"class":"ATT","tag":"PTNTHTM","heading":14243.00,"mag_st":"N","pitch":170.00,"pitch_st":"N","roll":-39.00,"roll_st":"N","dip":13622.000,"mag_x":2450.000} $PTNTHTM,14155,N,172,N,-35,N,13611,2449*15 {"class":"ATT","tag":"PTNTHTM","heading":14155.00,"mag_st":"N","pitch":172.00,"pitch_st":"N","roll":-35.00,"roll_st":"N","dip":13611.000,"mag_x":2449.000} $HCXDR,A,172,D,PITCH,A,-37,D,ROLL,G,359,,MAGX,G,2433,,MAGY,G,-9009,,MAGZ*40 $PTNTHTM,14330,N,172,N,-32,N,13647,2448*11 {"class":"ATT","tag":"PTNTHTM","heading":14330.00,"mag_st":"N","pitch":172.00,"pitch_st":"N","roll":-32.00,"roll_st":"N","dip":13647.000,"mag_x":2448.000} $PTNTHTM,14239,N,171,N,-33,N,13612,2448*1B {"class":"ATT","tag":"PTNTHTM","heading":14239.00,"mag_st":"N","pitch":171.00,"pitch_st":"N","roll":-33.00,"roll_st":"N","dip":13612.000,"mag_x":2448.000} $PTNTHTM,14182,N,174,N,-34,N,13581,2449*12 {"class":"ATT","tag":"PTNTHTM","heading":14182.00,"mag_st":"N","pitch":174.00,"pitch_st":"N","roll":-34.00,"roll_st":"N","dip":13581.000,"mag_x":2449.000} $PTNTHTM,14256,N,174,N,-37,N,13602,2449*13 {"class":"ATT","tag":"PTNTHTM","heading":14256.00,"mag_st":"N","pitch":174.00,"pitch_st":"N","roll":-37.00,"roll_st":"N","dip":13602.000,"mag_x":2449.000} $PTNTHTM,14139,N,178,N,-38,N,13568,2450*1D {"class":"ATT","tag":"PTNTHTM","heading":14139.00,"mag_st":"N","pitch":178.00,"pitch_st":"N","roll":-38.00,"roll_st":"N","dip":13568.000,"mag_x":2450.000} $HCXDR,A,177,D,PITCH,A,-40,D,ROLL,G,358,,MAGX,G,2432,,MAGY,G,-8974,,MAGZ*47 $PTNTHTM,14193,N,177,N,-40,N,13604,2450*14 {"class":"ATT","tag":"PTNTHTM","heading":14193.00,"mag_st":"N","pitch":177.00,"pitch_st":"N","roll":-40.00,"roll_st":"N","dip":13604.000,"mag_x":2450.000} $PTNTHTM,14186,N,174,N,-42,N,13590,2451*1E {"class":"ATT","tag":"PTNTHTM","heading":14186.00,"mag_st":"N","pitch":174.00,"pitch_st":"N","roll":-42.00,"roll_st":"N","dip":13590.000,"mag_x":2451.000} $PTNTHTM,14174,N,174,N,-40,N,13602,2451*19 {"class":"ATT","tag":"PTNTHTM","heading":14174.00,"mag_st":"N","pitch":174.00,"pitch_st":"N","roll":-40.00,"roll_st":"N","dip":13602.000,"mag_x":2451.000} $PTNTHTM,14094,N,172,N,-40,N,13570,2452*15 {"class":"ATT","tag":"PTNTHTM","heading":14094.00,"mag_st":"N","pitch":172.00,"pitch_st":"N","roll":-40.00,"roll_st":"N","dip":13570.000,"mag_x":2452.000} $PTNTHTM,14232,N,169,N,-42,N,13609,2452*1E {"class":"ATT","tag":"PTNTHTM","heading":14232.00,"mag_st":"N","pitch":169.00,"pitch_st":"N","roll":-42.00,"roll_st":"N","dip":13609.000,"mag_x":2452.000} $HCXDR,A,169,D,PITCH,A,-42,D,ROLL,G,371,,MAGX,G,2430,,MAGY,G,-8925,,MAGZ*47 $PTNTHTM,14134,N,165,N,-42,N,13570,2452*1A {"class":"ATT","tag":"PTNTHTM","heading":14134.00,"mag_st":"N","pitch":165.00,"pitch_st":"N","roll":-42.00,"roll_st":"N","dip":13570.000,"mag_x":2452.000} $PTNTHTM,14225,N,165,N,-43,N,13632,2452*1D {"class":"ATT","tag":"PTNTHTM","heading":14225.00,"mag_st":"N","pitch":165.00,"pitch_st":"N","roll":-43.00,"roll_st":"N","dip":13632.000,"mag_x":2452.000} $PTNTHTM,14042,N,169,N,-43,N,13588,2451*13 {"class":"ATT","tag":"PTNTHTM","heading":14042.00,"mag_st":"N","pitch":169.00,"pitch_st":"N","roll":-43.00,"roll_st":"N","dip":13588.000,"mag_x":2451.000} $PTNTHTM,14222,N,170,N,-45,N,13646,2451*18 {"class":"ATT","tag":"PTNTHTM","heading":14222.00,"mag_st":"N","pitch":170.00,"pitch_st":"N","roll":-45.00,"roll_st":"N","dip":13646.000,"mag_x":2451.000} $PTNTHTM,14174,N,170,N,-45,N,13640,2450*1F {"class":"ATT","tag":"PTNTHTM","heading":14174.00,"mag_st":"N","pitch":170.00,"pitch_st":"N","roll":-45.00,"roll_st":"N","dip":13640.000,"mag_x":2450.000} $HCXDR,A,170,D,PITCH,A,-42,D,ROLL,G,341,,MAGX,G,2404,,MAGY,G,-8961,,MAGZ*4B $PTNTHTM,14264,N,170,N,-42,N,13636,2449*13 {"class":"ATT","tag":"PTNTHTM","heading":14264.00,"mag_st":"N","pitch":170.00,"pitch_st":"N","roll":-42.00,"roll_st":"N","dip":13636.000,"mag_x":2449.000} $PTNTHTM,14132,N,171,N,-42,N,13604,2448*12 {"class":"ATT","tag":"PTNTHTM","heading":14132.00,"mag_st":"N","pitch":171.00,"pitch_st":"N","roll":-42.00,"roll_st":"N","dip":13604.000,"mag_x":2448.000} $PTNTHTM,14265,N,171,N,-38,N,13629,2448*11 {"class":"ATT","tag":"PTNTHTM","heading":14265.00,"mag_st":"N","pitch":171.00,"pitch_st":"N","roll":-38.00,"roll_st":"N","dip":13629.000,"mag_x":2448.000} $PTNTHTM,14145,N,171,N,-38,N,13612,2447*17 {"class":"ATT","tag":"PTNTHTM","heading":14145.00,"mag_st":"N","pitch":171.00,"pitch_st":"N","roll":-38.00,"roll_st":"N","dip":13612.000,"mag_x":2447.000} $PTNTHTM,14198,N,172,N,-38,N,13614,2447*12 {"class":"ATT","tag":"PTNTHTM","heading":14198.00,"mag_st":"N","pitch":172.00,"pitch_st":"N","roll":-38.00,"roll_st":"N","dip":13614.000,"mag_x":2447.000} $HCXDR,A,172,D,PITCH,A,-34,D,ROLL,G,327,,MAGX,G,2389,,MAGY,G,-8997,,MAGZ*43 $PTNTHTM,14184,N,172,N,-35,N,13612,2446*15 {"class":"ATT","tag":"PTNTHTM","heading":14184.00,"mag_st":"N","pitch":172.00,"pitch_st":"N","roll":-35.00,"roll_st":"N","dip":13612.000,"mag_x":2446.000} $PTNTHTM,14187,N,174,N,-35,N,13589,2447*10 {"class":"ATT","tag":"PTNTHTM","heading":14187.00,"mag_st":"N","pitch":174.00,"pitch_st":"N","roll":-35.00,"roll_st":"N","dip":13589.000,"mag_x":2447.000} $PTNTHTM,14257,N,174,N,-35,N,13603,2447*1F {"class":"ATT","tag":"PTNTHTM","heading":14257.00,"mag_st":"N","pitch":174.00,"pitch_st":"N","roll":-35.00,"roll_st":"N","dip":13603.000,"mag_x":2447.000} $PTNTHTM,14161,N,178,N,-37,N,13575,2448*1A {"class":"ATT","tag":"PTNTHTM","heading":14161.00,"mag_st":"N","pitch":178.00,"pitch_st":"N","roll":-37.00,"roll_st":"N","dip":13575.000,"mag_x":2448.000} $PTNTHTM,14302,N,177,N,-40,N,13608,2448*1B {"class":"ATT","tag":"PTNTHTM","heading":14302.00,"mag_st":"N","pitch":177.00,"pitch_st":"N","roll":-40.00,"roll_st":"N","dip":13608.000,"mag_x":2448.000} $HCXDR,A,176,D,PITCH,A,-40,D,ROLL,G,388,,MAGX,G,2468,,MAGY,G,-9006,,MAGZ*49 gpsd-3.9/test/daemon/tomtom-mkII.log0000664000175000017500000000660411762140440015570 0ustar esresr# Name: TomTom Mark II # Chipset: SiRF-3 # Submitter: Jose Baars peut@peut.org # Date: 2010-06-20 # Location: Veldhoven, NL $GPGGA,175736,5125.8714,N,00524.2350,E,1,04,3.40,60.28,M,46.999,M,,*79 $GPRMC,175736,A,5125.8714,N,00524.2350,E,3.1865,276.241,200610,,*2A $GPGSA,A,3,14,30,29,31,,,,,,,,,7.6,3.4,6.8*35 $PGRME,0.00,M,0.00,M,29.40,M*21 $GPGGA,175737,5125.8706,N,00524.2332,E,1,04,3.40,61.40,M,46.999,M,,*70 $GPRMC,175737,A,5125.8706,N,00524.2332,E,2.5761,257.043,200610,,*21 $GPGSA,A,3,14,30,29,31,,,,,,,,,7.6,3.4,6.8*35 $PGRME,0.00,M,0.00,M,29.40,M*21 $GPGGA,175738,5125.8703,N,00524.2323,E,1,03,2.20,60.56,M,46.999,M,,*7C $GPRMC,175738,A,5125.8703,N,00524.2323,E,1.5881,253.161,200610,,*2C $GPGSA,A,2,14,30,31,,,,,,,,,,7.6,2.2,6.8*38 $PGRME,0.00,M,0.00,M,29.40,M*21 $GPGGA,175739,5125.8701,N,00524.2297,E,1,03,2.20,59.61,M,46.999,M,,*7F $GPRMC,175739,A,5125.8701,N,00524.2297,E,2.5365,244.610,200610,,*24 $GPGSA,A,2,14,30,31,,,,,,,,,,7.6,2.2,6.8*38 $PGRME,0.00,M,0.00,M,29.40,M*21 $GPRMC,175740,V,5125.8697,N,00524.2288,E,2.5365,244.610,200610,,*3D $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175742,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*3D $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175743,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*3C $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175744,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*3B $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175745,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*3A $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175746,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*39 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175747,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*38 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175748,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*37 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175749,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*36 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPGSV,2,1,05,14,20,232,23,30,75,085,00,31,48,297,34,12,40,093,00*7E $GPGSV,2,2,05,29,66,205,17*46 $GPRMC,175750,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*3E $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175751,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*3F $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175752,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*3C $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175753,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*3D $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175754,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*3A $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175755,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*3B $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175756,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*38 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175757,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*39 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175758,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*36 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175759,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*37 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175800,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*34 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175801,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*35 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175802,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*36 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175803,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*37 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 r$GPRMC,175804,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*30 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 gpsd-3.9/test/daemon/tomtom-mkII.log.chk0000664000175000017500000001111312135526440016326 0ustar esresr$GPGGA,175736,5125.8714,N,00524.2350,E,1,04,3.40,60.28,M,46.999,M,,*79 {"class":"TPV","tag":"GGA","mode":3,"lat":51.431190000,"lon":5.403916667,"alt":60.280} $GPRMC,175736,A,5125.8714,N,00524.2350,E,3.1865,276.241,200610,,*2A {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-20T17:57:36.000Z","ept":0.005,"lat":51.431190000,"lon":5.403916667,"alt":60.280,"track":276.2410,"speed":1.639} $GPGSA,A,3,14,30,29,31,,,,,,,,,7.6,3.4,6.8*35 {"class":"TPV","tag":"GSA","mode":3,"time":"2010-06-20T17:57:36.000Z","ept":0.005,"lat":51.431190000,"lon":5.403916667,"alt":60.280,"epv":156.400,"track":276.2410,"speed":1.639,"climb":0.000} $PGRME,0.00,M,0.00,M,29.40,M*21 $GPGGA,175737,5125.8706,N,00524.2332,E,1,04,3.40,61.40,M,46.999,M,,*70 $GPRMC,175737,A,5125.8706,N,00524.2332,E,2.5761,257.043,200610,,*21 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-20T17:57:37.000Z","ept":0.005,"lat":51.431176667,"lon":5.403886667,"alt":61.400,"epv":156.400,"track":257.0430,"speed":1.325,"climb":1.120} $GPGSA,A,3,14,30,29,31,,,,,,,,,7.6,3.4,6.8*35 $PGRME,0.00,M,0.00,M,29.40,M*21 $GPGGA,175738,5125.8703,N,00524.2323,E,1,03,2.20,60.56,M,46.999,M,,*7C $GPRMC,175738,A,5125.8703,N,00524.2323,E,1.5881,253.161,200610,,*2C {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-20T17:57:38.000Z","ept":0.005,"lat":51.431171667,"lon":5.403871667,"alt":60.560,"epv":156.400,"track":253.1610,"speed":0.817,"climb":-0.840} $GPGSA,A,2,14,30,31,,,,,,,,,,7.6,2.2,6.8*38 $PGRME,0.00,M,0.00,M,29.40,M*21 $GPGGA,175739,5125.8701,N,00524.2297,E,1,03,2.20,59.61,M,46.999,M,,*7F $GPRMC,175739,A,5125.8701,N,00524.2297,E,2.5365,244.610,200610,,*24 {"class":"TPV","tag":"RMC","mode":3,"time":"2010-06-20T17:57:39.000Z","ept":0.005,"lat":51.431168333,"lon":5.403828333,"alt":59.610,"epv":156.400,"track":244.6100,"speed":1.305,"climb":-0.950} $GPGSA,A,2,14,30,31,,,,,,,,,,7.6,2.2,6.8*38 $PGRME,0.00,M,0.00,M,29.40,M*21 $GPRMC,175740,V,5125.8697,N,00524.2288,E,2.5365,244.610,200610,,*3D $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175742,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*3D $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175743,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*3C $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175744,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*3B $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175745,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*3A $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175746,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*39 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175747,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*38 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175748,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*37 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175749,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*36 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPGSV,2,1,05,14,20,232,23,30,75,085,00,31,48,297,34,12,40,093,00*7E $GPGSV,2,2,05,29,66,205,17*46 {"class":"SKY","tag":"GSV","vdop":0.00,"hdop":0.00,"pdop":0.00,"satellites":[{"PRN":14,"el":20,"az":232,"ss":23,"used":false},{"PRN":30,"el":75,"az":85,"ss":0,"used":false},{"PRN":31,"el":48,"az":297,"ss":34,"used":false},{"PRN":12,"el":40,"az":93,"ss":0,"used":false},{"PRN":29,"el":66,"az":205,"ss":17,"used":false}]} $GPRMC,175750,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*3E $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175751,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*3F $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175752,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*3C $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175753,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*3D $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175754,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*3A $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175755,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*3B $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175756,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*38 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175757,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*39 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175758,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*36 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175759,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*37 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175800,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*34 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175801,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*35 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175802,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*36 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175803,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*37 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 $GPRMC,175804,V,5125.8697,N,00524.2288,E,0.0000,0.000,200610,,*30 $GPGSA,A,1,,,,,,,,,,,,,,,,*32 gpsd-3.9/test/daemon/tr737A+.log0000664000175000017500000024124211762140440014463 0ustar esresr# Name: 737A+ # Chipset: MTK MT3329 # Description: Transystem 737A+ Bluetooth mouse # Submitter: Gary E. Miller # Date: 2011-11-10 # Location: Bend, Oregon 44N, 121W $PMTK010,001*2E $GPGGA,235946.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4C $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,00*79 $GPRMC,235946.033,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*72 $GPGGA,235947.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4C $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,00*79 $GPRMC,235947.032,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*72 $GPGGA,235948.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*43 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,00*79 $GPRMC,235948.032,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*7D $GPGGA,235949.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*42 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,00*79 $GPRMC,235949.032,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*7C $GPGGA,235950.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4B $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,00*79 $GPRMC,235950.033,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*75 $GPGGA,235951.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4A $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,01,23,,,25*7E $GPRMC,235951.033,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*74 $PMTK001,10,1*03 $GPGGA,235952.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*49 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,01,23,,,28*73 $GPRMC,235952.033,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*77 $GPGGA,235953.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*48 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,01,23,,,27*7C $GPRMC,235953.033,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*76 $GPGGA,235954.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4E $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,01,23,,,30*7A $GPRMC,235954.032,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*70 $GPGGA,235955.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4F $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,01,23,,,30*7A $GPRMC,235955.032,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*71 $GPGGA,235956.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4C $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,01,23,,,29*72 $GPRMC,235956.032,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*72 $GPGGA,235957.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4D $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,01,23,,,27*7C $GPRMC,235957.032,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*73 $GPGGA,235958.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*42 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,01,23,,,26*7D $GPRMC,235958.032,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*7C $GPGGA,235959.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*43 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,01,23,,,34*7E $GPRMC,235959.032,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*7D $GPGGA,000000.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*42 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,02,23,,,46,13,,,28*70 $GPRMC,000000.032,V,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*7F $GPGGA,000001.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*43 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,02,23,,,35,13,,,35*78 $GPRMC,000001.032,V,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*7E $GPGGA,000002.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*41 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,02,23,,,27,13,,,32*7C $GPRMC,000002.033,V,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*7C $GPGGA,000003.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*40 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,02,23,,,34,13,,,34*78 $GPRMC,000003.033,V,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*7D $GPGGA,000004.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*47 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,02,23,,,32,13,,,33*79 $GPRMC,000004.033,V,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*7A $GPGGA,000005.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*46 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,02,23,,,32,13,,,31*7B $GPRMC,000005.033,V,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*7B $GPGGA,000006.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*45 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,02,23,,,30,13,,,32*7A $GPRMC,000006.033,V,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*78 $GPGGA,000007.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*44 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,02,23,,,30,13,,,32*7A $GPRMC,000007.033,V,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*79 $GPGGA,000008.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4B $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,03,23,,,30,13,,,32,32,,,44*7A $GPRMC,000008.033,V,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*76 $GPGGA,000009.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4A $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,03,23,,,30,13,,,32,32,,,46*78 $GPRMC,000009.033,V,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*77 $GPGGA,071659.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4D $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,03,23,,,29,13,,,32,32,,,46*70 $GPRMC,071659.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*76 $GPGGA,071700.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*40 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,03,23,,,29,13,,,32,32,,,45*73 $GPRMC,071700.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7B $GPGGA,071701.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*41 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,03,23,,,29,13,,,32,32,,,46*70 $GPRMC,071701.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7A $GPGGA,071702.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*42 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,03,23,,,30,13,,,32,32,,,46*78 $GPRMC,071702.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*79 $GPGGA,071703.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*43 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,31,13,,,33,32,,,46,20,,,44*7D $GPRMC,071703.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*78 $GPGGA,071704.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*44 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,33,13,,,33,32,,,45,20,,,41*79 $GPRMC,071704.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7F $GPGGA,071705.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*45 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,33,13,,,33,32,,,44,20,,,42*7B $GPRMC,071705.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7E $GPGGA,071706.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*46 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,34,13,,,33,32,,,44,20,,,43*7D $GPRMC,071706.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7D $GPGGA,071707.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*47 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,35,13,,,32,32,,,44,20,,,42*7C $GPRMC,071707.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7C $GPGGA,071708.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*48 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,36,13,,,32,32,,,44,20,,,42*7F $GPRMC,071708.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*73 $GPGGA,071709.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*49 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,36,13,,,32,32,,,44,20,,,42*7F $GPRMC,071709.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*72 $GPGGA,071710.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*41 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,36,13,,,32,32,,,44,20,,,42*7F $GPRMC,071710.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7A $GPGGA,071711.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*40 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,36,13,,,32,32,,,44,20,,,42*7F $GPRMC,071711.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7B $GPGGA,071712.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*43 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,37,13,,,32,32,,,44,20,,,42*7E $GPRMC,071712.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*78 $GPGGA,071713.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*42 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,37,13,,,33,32,,,44,20,,,42*7F $GPRMC,071713.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*79 $GPGGA,071714.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*45 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,37,13,,,33,32,,,44,20,,,42*7F $GPRMC,071714.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7E $GPGGA,071715.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*44 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,37,13,,,33,32,,,44,20,,,42*7F $GPRMC,071715.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7F $GPGGA,071716.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*47 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,37,13,,,33,32,,,44,20,,,42*7F $GPRMC,071716.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7C $GPGGA,071717.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*46 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,37,13,,,33,32,,,44,20,,,42*7F $GPRMC,071717.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7D $GPGGA,071718.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*49 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,37,13,,,33,32,,,44,20,,,42*7F $GPRMC,071718.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*72 $GPGGA,071719.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*48 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,37,13,,,33,32,,,44,20,,,42*7F $GPRMC,071719.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*73 $GPGGA,071720.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*42 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,37,13,,,33,32,,,44,20,,,42*7F $GPRMC,071720.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*79 $GPGGA,071721.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*43 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,37,13,,,33,32,,,44,20,,,42*7F $GPRMC,071721.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*78 $GPGGA,071722.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*40 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,37,13,,,34,32,,,44,20,,,42*78 $GPRMC,071722.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*72 $GPGGA,071723.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*41 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,37,13,,,34,32,,,44,20,,,42*78 $GPRMC,071723.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*73 $GPGGA,071724.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*46 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,37,13,,,34,32,,,43,20,,,41*7C $GPRMC,071724.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*74 $GPGGA,071725.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*47 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,04,23,,,37,13,,,34,32,,,43,20,,,41*7C $GPRMC,071725.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*75 $GPGGA,071726.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*44 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,2,1,05,23,,,37,13,,,34,32,,,43,31,,,30*78 $GPGSV,2,2,05,20,,,41*7B $GPRMC,071726.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*76 $GPGGA,071727.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*45 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,2,1,05,23,,,37,13,,,34,32,,,43,31,,,30*78 $GPGSV,2,2,05,20,,,41*7B $GPRMC,071727.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*77 $GPGGA,071728.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4A $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,2,1,05,23,,,36,13,,,34,32,,,43,31,,,27*7F $GPGSV,2,2,05,20,,,41*7B $GPRMC,071728.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*78 $GPGGA,071729.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4B $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,2,1,05,23,,,36,13,,,34,32,,,43,31,,,31*78 $GPGSV,2,2,05,20,,,41*7B $GPRMC,071729.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*79 $GPGGA,071730.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*43 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,2,1,05,23,,,36,13,,,34,32,,,43,31,,,31*78 $GPGSV,2,2,05,20,,,41*7B $GPRMC,071730.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*71 $GPGGA,071731.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*42 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,2,1,05,23,,,36,13,,,34,32,,,43,31,,,31*78 $GPGSV,2,2,05,20,,,41*7B $GPRMC,071731.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*70 $GPGGA,071732.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*41 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,2,1,05,23,,,36,13,,,34,32,,,43,31,,,31*78 $GPGSV,2,2,05,20,,,41*7B $GPRMC,071732.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*73 $GPGGA,071733.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*40 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,2,1,05,23,,,36,13,,,34,32,,,43,31,,,31*78 $GPGSV,2,2,05,20,,,41*7B $GPRMC,071733.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*72 $GPGGA,071734.929,4404.1178,N,12118.8608,W,0,4,,1127.8,M,-19.6,M,,*49 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,2,1,05,23,,,37,13,,,34,32,,,43,31,,,31*79 $GPGSV,2,2,05,20,,,41*7B $GPRMC,071734.929,V,4404.1178,N,12118.8608,W,0.10,0.00,111111,,,N*67 $GPGGA,071736.000,4404.1316,N,12118.8445,W,1,4,5.21,1134.4,M,-19.6,M,,*5F $GPGSA,A,3,23,13,32,20,,,,,,,,,5.30,5.21,0.98*03 $GPGSV,2,1,06,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,*70 $GPGSV,2,2,06,13,30,282,34,31,,,31*41 $GPRMC,071736.000,A,4404.1316,N,12118.8445,W,0.20,0.00,111111,,,A*7D $GPGGA,071737.000,4404.1258,N,12118.8537,W,1,4,5.20,1131.0,M,-19.6,M,,*51 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.29,5.20,0.98*0A $GPGSV,2,1,06,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,44*70 $GPGSV,2,2,06,13,30,282,34,31,,,31*41 $GPRMC,071737.000,A,4404.1258,N,12118.8537,W,0.12,0.00,111111,,,A*72 $GPGGA,071738.000,4404.1279,N,12118.8515,W,1,4,5.20,1137.3,M,-19.6,M,,*58 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.29,5.20,0.98*0A $GPGSV,2,1,06,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,45*71 $GPGSV,2,2,06,13,30,282,34,31,,,31*41 $GPRMC,071738.000,A,4404.1279,N,12118.8515,W,0.05,0.00,111111,,,A*78 $GPGGA,071739.000,4404.1284,N,12118.8506,W,1,4,5.20,1135.9,M,-19.6,M,,*51 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.29,5.20,0.98*0A $GPGSV,2,1,06,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,44*70 $GPGSV,2,2,06,13,30,282,34,31,,,31*41 $GPRMC,071739.000,A,4404.1284,N,12118.8506,W,0.05,0.00,111111,,,A*79 $GPGGA,071740.000,4404.1303,N,12118.8486,W,1,4,5.20,1134.7,M,-19.6,M,,*57 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.29,5.20,0.98*0A $GPGSV,2,1,06,20,73,204,41,23,56,298,36,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,06,13,30,282,34,31,,,31*41 $GPRMC,071740.000,A,4404.1303,N,12118.8486,W,0.11,0.00,111111,,,A*75 $GPGGA,071741.000,4404.1316,N,12118.8473,W,1,4,5.20,1135.3,M,-19.6,M,,*5D $GPGSA,A,3,23,13,32,20,,,,,,,,,5.29,5.20,0.98*0A $GPGSV,2,1,06,20,73,204,41,23,56,298,36,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,06,13,30,282,34,31,,,31*41 $GPRMC,071741.000,A,4404.1316,N,12118.8473,W,0.08,0.00,111111,,,A*72 $GPGGA,071742.000,4404.1314,N,12118.8476,W,1,4,5.20,1134.4,M,-19.6,M,,*5F $GPGSA,A,3,23,13,32,20,,,,,,,,,5.29,5.20,0.98*0A $GPGSV,2,1,06,20,73,204,41,23,56,298,36,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,06,13,30,282,34,31,,,30*40 $GPRMC,071742.000,A,4404.1314,N,12118.8476,W,0.03,0.00,111111,,,A*7D $GPGGA,071743.000,4404.1312,N,12118.8480,W,1,4,5.20,1134.6,M,-19.6,M,,*53 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.29,5.20,0.98*0A $GPGSV,2,1,06,20,73,204,41,23,56,298,36,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,06,13,30,282,34,31,,,31*41 $GPRMC,071743.000,A,4404.1312,N,12118.8480,W,0.04,0.00,111111,,,A*74 $GPGGA,071744.000,4404.1305,N,12118.8487,W,1,4,5.20,1136.4,M,-19.6,M,,*55 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.29,5.20,0.98*0A $GPGSV,2,1,06,20,73,204,41,23,56,298,36,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,06,13,30,282,34,31,,,31*41 $GPRMC,071744.000,A,4404.1305,N,12118.8487,W,0.07,0.00,111111,,,A*71 $GPGGA,071745.000,4404.1306,N,12118.8488,W,1,4,5.19,1138.1,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.19,0.98*01 $GPGSV,2,1,06,20,73,204,41,23,56,298,36,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,06,13,30,282,34,31,,,31*41 $GPRMC,071745.000,A,4404.1306,N,12118.8488,W,0.11,0.00,111111,,,A*7B $GPGGA,071746.000,4404.1306,N,12118.8487,W,1,4,5.20,1137.0,M,-19.6,M,,*51 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.29,5.20,0.98*0A $GPGSV,2,1,06,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,45*71 $GPGSV,2,2,06,13,30,282,34,31,,,31*41 $GPRMC,071746.000,A,4404.1306,N,12118.8487,W,0.04,0.00,111111,,,A*73 $GPGGA,071747.000,4404.1314,N,12118.8479,W,1,4,5.20,1138.0,M,-19.6,M,,*5D $GPGSA,A,3,23,13,32,20,,,,,,,,,5.29,5.20,0.98*0A $GPGSV,2,1,07,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,07,13,30,282,34,01,14,210,,31,,,31*77 $GPRMC,071747.000,A,4404.1314,N,12118.8479,W,0.05,0.00,111111,,,A*71 $GPGGA,071748.000,4404.1318,N,12118.8476,W,1,4,5.19,1137.9,M,-19.6,M,,*5D $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.19,0.98*01 $GPGSV,2,1,07,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,07,13,30,282,35,01,14,210,,31,,,31*76 $GPRMC,071748.000,A,4404.1318,N,12118.8476,W,0.03,0.00,111111,,,A*7B $GPGGA,071749.000,4404.1318,N,12118.8475,W,1,4,5.19,1137.6,M,-19.6,M,,*50 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.19,0.98*01 $GPGSV,2,1,07,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,07,13,30,282,35,01,14,210,,31,,,30*77 $GPRMC,071749.000,A,4404.1318,N,12118.8475,W,0.04,0.00,111111,,,A*7E $GPGGA,071750.000,4404.1314,N,12118.8480,W,1,4,5.19,1138.4,M,-19.6,M,,*53 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.19,0.98*01 $GPGSV,2,1,07,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,07,13,30,282,35,01,14,210,,31,,,30*77 $GPRMC,071750.000,A,4404.1314,N,12118.8480,W,0.03,0.00,111111,,,A*77 $GPGGA,071751.000,4404.1316,N,12118.8480,W,1,4,5.19,1138.0,M,-19.6,M,,*54 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.19,0.98*01 $GPGSV,2,1,07,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,07,13,30,282,35,01,14,210,,31,,,31*76 $GPRMC,071751.000,A,4404.1316,N,12118.8480,W,0.03,0.00,111111,,,A*74 $GPGGA,071752.000,4404.1316,N,12118.8480,W,1,4,5.19,1138.2,M,-19.6,M,,*55 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.19,0.98*01 $GPGSV,2,1,07,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,07,13,30,282,35,01,14,210,,31,,,32*75 $GPRMC,071752.000,A,4404.1316,N,12118.8480,W,0.03,0.00,111111,,,A*77 $GPGGA,071753.000,4404.1316,N,12118.8480,W,1,4,5.19,1137.8,M,-19.6,M,,*51 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.19,0.98*01 $GPGSV,2,1,07,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,07,13,30,282,35,01,14,210,,31,,,32*75 $GPRMC,071753.000,A,4404.1316,N,12118.8480,W,0.04,0.00,111111,,,A*71 $GPGGA,071754.000,4404.1314,N,12118.8481,W,1,4,5.19,1137.2,M,-19.6,M,,*5F $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.19,0.98*01 $GPGSV,2,1,07,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,07,13,30,282,35,01,14,210,,31,,,32*75 $GPRMC,071754.000,A,4404.1314,N,12118.8481,W,0.03,0.00,111111,,,A*72 $GPGGA,071755.000,4404.1320,N,12118.8477,W,1,4,5.18,1136.7,M,-19.6,M,,*55 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.18,0.98*00 $GPGSV,2,1,07,20,73,204,42,23,56,298,37,32,54,148,43,48,37,196,45*73 $GPGSV,2,2,07,13,30,282,35,01,14,210,,31,,,32*75 $GPRMC,071755.000,A,4404.1320,N,12118.8477,W,0.05,0.00,111111,,,A*7B $GPGGA,071756.000,4404.1315,N,12118.8480,W,1,4,5.18,1135.5,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.18,0.98*00 $GPGSV,2,1,07,20,73,204,42,23,56,298,37,32,54,148,43,48,37,196,45*73 $GPGSV,2,2,07,13,30,282,34,01,14,210,,31,,,32*74 $GPRMC,071756.000,A,4404.1315,N,12118.8480,W,0.11,0.00,111111,,,A*73 $GPGGA,071757.000,4404.1319,N,12118.8475,W,1,4,5.19,1135.0,M,-19.6,M,,*5A $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.19,0.98*01 $GPGSV,2,1,07,20,73,203,42,23,56,298,37,32,54,148,43,48,37,196,45*74 $GPGSV,2,2,07,13,30,282,34,01,14,210,,31,,,32*74 $GPRMC,071757.000,A,4404.1319,N,12118.8475,W,0.07,0.00,111111,,,A*73 $GPGGA,071758.000,4404.1314,N,12118.8481,W,1,4,5.18,1134.1,M,-19.6,M,,*52 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.18,0.98*00 $GPGSV,2,1,07,20,73,203,42,23,56,298,37,32,54,148,43,48,37,196,45*74 $GPGSV,2,2,07,13,30,282,34,01,14,210,,31,,,32*74 $GPRMC,071758.000,A,4404.1314,N,12118.8481,W,0.03,0.00,111111,,,A*7E $GPGGA,071759.000,4404.1314,N,12118.8481,W,1,4,5.18,1134.1,M,-19.6,M,,*53 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.27,5.18,0.98*0F $GPGSV,2,1,07,20,73,203,42,23,56,298,37,32,54,148,43,48,37,196,45*74 $GPGSV,2,2,07,13,30,282,34,01,14,210,,31,,,32*74 $GPRMC,071759.000,A,4404.1314,N,12118.8481,W,0.02,0.00,111111,,,A*7E $GPGGA,071800.000,4404.1313,N,12118.8481,W,1,4,5.18,1133.8,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.27,5.18,0.98*0F $GPGSV,2,1,07,20,73,203,42,23,57,298,37,32,54,148,43,48,37,196,45*75 $GPGSV,2,2,07,13,30,282,34,01,14,210,,31,,,32*74 $GPRMC,071800.000,A,4404.1313,N,12118.8481,W,0.03,0.00,111111,,,A*7B $GPGGA,071801.000,4404.1312,N,12118.8482,W,1,4,5.18,1134.1,M,-19.6,M,,*54 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.27,5.18,0.98*0F $GPGSV,2,1,07,20,73,203,42,23,57,298,38,32,54,148,43,48,37,196,45*7A $GPGSV,2,2,07,13,30,282,34,01,14,210,,31,,,32*74 $GPRMC,071801.000,A,4404.1312,N,12118.8482,W,0.03,0.00,111111,,,A*78 $GPGGA,071802.000,4404.1309,N,12118.8484,W,1,4,5.18,1134.3,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.27,5.18,0.98*0F $GPGSV,2,1,07,20,73,203,42,23,57,298,38,32,54,148,43,48,37,196,45*7A $GPGSV,2,2,07,13,30,282,34,01,14,210,,31,,,32*74 $GPRMC,071802.000,A,4404.1309,N,12118.8484,W,0.06,0.00,111111,,,A*72 $GPGGA,071803.000,4404.1312,N,12118.8481,W,1,4,5.18,1134.0,M,-19.6,M,,*54 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.27,5.18,0.98*0F $GPGSV,2,1,07,20,73,203,42,23,57,298,38,32,54,148,43,48,37,196,45*7A $GPGSV,2,2,07,13,30,282,34,01,14,210,,31,,,32*74 $GPRMC,071803.000,A,4404.1312,N,12118.8481,W,0.09,0.00,111111,,,A*73 $GPGGA,071804.000,4404.1315,N,12118.8479,W,1,4,5.18,1133.2,M,-19.6,M,,*56 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.27,5.18,0.98*0F $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,13,30,282,34,01,14,210,,31,,,32*74 $GPRMC,071804.000,A,4404.1315,N,12118.8479,W,0.12,0.00,111111,,,A*7E $GPGGA,071805.000,4404.1320,N,12118.8475,W,1,5,1.49,1133.5,M,-19.6,M,,*5B $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.78,1.49,0.96*0D $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,32,13,30,282,34,01,14,210,*46 $GPRMC,071805.000,A,4404.1320,N,12118.8475,W,0.12,0.00,111111,,,A*75 $GPGGA,071806.000,4404.1319,N,12118.8476,W,1,5,1.49,1133.7,M,-19.6,M,,*53 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,32,13,30,282,34,01,14,210,*46 $GPRMC,071806.000,A,4404.1319,N,12118.8476,W,0.16,0.00,111111,,,A*7B $GPGGA,071807.000,4404.1315,N,12118.8480,W,1,5,1.49,1133.7,M,-19.6,M,,*57 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,32,13,30,282,34,01,14,210,*46 $GPRMC,071807.000,A,4404.1315,N,12118.8480,W,0.12,0.00,111111,,,A*7B $GPGGA,071808.000,4404.1313,N,12118.8481,W,1,5,1.49,1133.9,M,-19.6,M,,*51 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,32,13,30,282,34,01,14,210,*46 $GPRMC,071808.000,A,4404.1313,N,12118.8481,W,0.09,0.00,111111,,,A*79 $GPGGA,071809.000,4404.1315,N,12118.8480,W,1,5,1.49,1134.1,M,-19.6,M,,*58 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,32,13,30,282,34,01,14,210,*46 $GPRMC,071809.000,A,4404.1315,N,12118.8480,W,0.07,0.00,111111,,,A*71 $GPGGA,071810.000,4404.1315,N,12118.8479,W,1,5,1.49,1134.2,M,-19.6,M,,*55 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 $GPRMC,071810.000,A,4404.1315,N,12118.8479,W,0.07,0.00,111111,,,A*7F $GPGGA,071811.000,4404.1312,N,12118.8482,W,1,5,1.49,1134.3,M,-19.6,M,,*56 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 $GPRMC,071811.000,A,4404.1312,N,12118.8482,W,0.07,0.00,111111,,,A*7D $GPGGA,071812.000,4404.1310,N,12118.8484,W,1,5,1.49,1134.7,M,-19.6,M,,*55 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 $GPRMC,071812.000,A,4404.1310,N,12118.8484,W,0.06,0.00,111111,,,A*7B $GPGGA,071813.000,4404.1309,N,12118.8486,W,1,5,1.49,1134.6,M,-19.6,M,,*5F $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 $GPRMC,071813.000,A,4404.1309,N,12118.8486,W,0.07,0.00,111111,,,A*71 $GPGGA,071814.000,4404.1309,N,12118.8485,W,1,5,1.49,1134.8,M,-19.6,M,,*55 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 $GPRMC,071814.000,A,4404.1309,N,12118.8485,W,0.08,0.00,111111,,,A*7A $GPGGA,071815.000,4404.1305,N,12118.8489,W,1,5,1.49,1135.4,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 $GPRMC,071815.000,A,4404.1305,N,12118.8489,W,0.10,0.00,111111,,,A*72 $GPGGA,071816.000,4404.1305,N,12118.8490,W,1,5,1.49,1135.0,M,-19.6,M,,*56 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 $GPRMC,071816.000,A,4404.1305,N,12118.8490,W,0.11,0.00,111111,,,A*78 $GPGGA,071817.000,4404.1305,N,12118.8489,W,1,5,1.49,1134.5,M,-19.6,M,,*5B $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 $GPRMC,071817.000,A,4404.1305,N,12118.8489,W,0.11,0.00,111111,,,A*71 $GPGGA,071818.000,4404.1305,N,12118.8489,W,1,5,1.49,1134.3,M,-19.6,M,,*52 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 $GPRMC,071818.000,A,4404.1305,N,12118.8489,W,0.09,0.00,111111,,,A*77 $GPGGA,071819.000,4404.1303,N,12118.8492,W,1,5,1.49,1134.4,M,-19.6,M,,*58 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 $GPRMC,071819.000,A,4404.1303,N,12118.8492,W,0.07,0.00,111111,,,A*74 $GPGGA,071820.000,4404.1304,N,12118.8490,W,1,5,1.76,1134.7,M,-19.6,M,,*58 $GPGSA,A,3,23,13,32,31,20,,,,,,,,3.80,1.76,3.37*0C $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 $GPRMC,071820.000,A,4404.1304,N,12118.8490,W,0.05,0.00,111111,,,A*79 $GPGGA,071821.000,4404.1302,N,12118.8492,W,1,5,1.76,1135.0,M,-19.6,M,,*5B $GPGSA,A,3,23,13,32,31,20,,,,,,,,3.80,1.76,3.36*0D $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 $GPRMC,071821.000,A,4404.1302,N,12118.8492,W,0.05,0.00,111111,,,A*7C $GPGGA,071822.000,4404.1302,N,12118.8492,W,1,5,1.76,1135.0,M,-19.6,M,,*58 $GPGSA,A,3,23,13,32,31,20,,,,,,,,3.80,1.76,3.37*0C $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 $GPRMC,071822.000,A,4404.1302,N,12118.8492,W,0.04,0.00,111111,,,A*7E $GPGGA,071823.000,4404.1302,N,12118.8492,W,1,5,1.76,1135.0,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,31,20,,,,,,,,3.80,1.76,3.36*0D $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 $GPRMC,071823.000,A,4404.1302,N,12118.8492,W,0.04,0.00,111111,,,A*7F $GPGGA,071824.000,4404.1302,N,12118.8492,W,1,5,1.76,1135.0,M,-19.6,M,,*5E $GPGSA,A,3,23,13,32,31,20,,,,,,,,3.80,1.76,3.36*0D $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,30,13,30,282,34,01,14,210,*44 $GPRMC,071824.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*7F $GPGGA,071825.000,4404.1302,N,12118.8492,W,1,5,1.76,1135.0,M,-19.6,M,,*5F $GPGSA,A,3,23,13,32,31,20,,,,,,,,3.80,1.76,3.37*0C $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,30,13,30,282,34,01,14,210,*44 $GPRMC,071825.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*7E $GPGGA,071826.000,4404.1302,N,12118.8492,W,1,5,1.76,1135.0,M,-19.6,M,,*5C $GPGSA,A,3,23,13,32,31,20,,,,,,,,3.80,1.76,3.37*0C $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,30,13,30,282,34,01,14,210,*44 $GPRMC,071826.000,A,4404.1302,N,12118.8492,W,0.04,0.00,111111,,,A*7A $GPGGA,071827.000,4404.1302,N,12118.8492,W,1,5,1.76,1135.0,M,-19.6,M,,*5D $GPGSA,A,3,23,13,32,31,20,,,,,,,,3.80,1.76,3.37*0C $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,30,13,30,282,34,01,14,210,*44 $GPRMC,071827.000,A,4404.1302,N,12118.8492,W,0.05,0.00,111111,,,A*7A $GPGGA,071828.000,4404.1302,N,12118.8492,W,1,5,1.76,1135.0,M,-19.6,M,,*52 $GPGSA,A,3,23,13,32,31,20,,,,,,,,3.80,1.76,3.36*0D $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,29,13,30,282,34,01,14,210,*4C $GPRMC,071828.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*73 $GPGGA,071829.000,4404.1302,N,12118.8492,W,1,6,1.76,1135.0,M,-19.6,M,,*50 $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.76,3.37*0D $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,29,13,30,282,34,01,14,210,28*46 $GPRMC,071829.000,A,4404.1302,N,12118.8492,W,0.04,0.00,111111,,,A*75 $GPGGA,071830.000,4404.1302,N,12118.8492,W,1,6,1.76,1135.0,M,-19.6,M,,*58 $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.76,3.37*0D $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,44,48,37,196,45*7C $GPGSV,2,2,07,31,34,050,29,13,30,282,35,01,14,210,28*47 $GPRMC,071830.000,A,4404.1302,N,12118.8492,W,0.06,0.00,111111,,,A*7F $GPGGA,071831.000,4404.1302,N,12118.8492,W,1,6,1.76,1135.0,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.76,3.37*0D $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,44,48,37,196,45*7C $GPGSV,2,2,07,31,34,050,30,13,30,282,35,01,14,210,29*4E $GPRMC,071831.000,A,4404.1302,N,12118.8492,W,0.05,0.00,111111,,,A*7D $GPGGA,071832.000,4404.1302,N,12118.8492,W,1,6,1.76,1135.0,M,-19.6,M,,*5A $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.76,3.37*0D $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,45*7D $GPGSV,2,2,07,31,34,050,30,13,30,282,35,01,14,210,28*4F $GPRMC,071832.000,A,4404.1302,N,12118.8492,W,0.04,0.00,111111,,,A*7F $GPGGA,071833.000,4404.1302,N,12118.8492,W,1,6,1.76,1135.0,M,-19.6,M,,*5B $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.76,3.37*0D $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,45*7D $GPGSV,2,2,07,31,34,050,30,13,30,282,35,01,14,210,28*4F $GPRMC,071833.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*79 $GPGGA,071834.000,4404.1302,N,12118.8492,W,1,6,1.76,1135.0,M,-19.6,M,,*5C $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.76,3.37*0D $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,45*7D $GPGSV,2,2,07,31,34,050,29,13,30,282,35,01,14,210,28*47 $GPRMC,071834.000,A,4404.1302,N,12118.8492,W,0.02,0.00,111111,,,A*7F $GPGGA,071835.000,4404.1302,N,12118.8492,W,1,6,1.76,1135.0,M,-19.6,M,,*5D $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.76,3.37*0D $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,45*7D $GPGSV,2,2,07,31,34,050,29,13,30,282,36,01,14,210,28*44 $GPRMC,071835.000,A,4404.1302,N,12118.8492,W,0.05,0.00,111111,,,A*79 $GPGGA,071836.000,4404.1302,N,12118.8492,W,1,5,6.23,1135.0,M,-19.6,M,,*5A $GPGSA,A,3,23,13,32,20,01,,,,,,,,7.75,6.23,4.60*03 $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,45*7D $GPGSV,2,2,07,31,34,050,27,13,30,282,36,01,14,210,27*45 $GPRMC,071836.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*7C $GPGGA,071837.000,4404.1302,N,12118.8492,W,1,6,1.76,1135.0,M,-19.6,M,,*5F $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.76,3.37*0D $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,45*7D $GPGSV,2,2,07,31,34,050,27,13,30,282,36,01,14,210,26*44 $GPRMC,071837.000,A,4404.1302,N,12118.8492,W,0.02,0.00,111111,,,A*7C $GPGGA,071838.000,4404.1302,N,12118.8492,W,1,6,1.76,1135.0,M,-19.6,M,,*50 $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.76,3.37*0D $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,45*7D $GPGSV,2,2,07,31,34,050,27,13,30,282,36,01,14,210,26*44 $GPRMC,071838.000,A,4404.1302,N,12118.8492,W,0.02,0.00,111111,,,A*73 $GPGGA,071839.000,4404.1302,N,12118.8492,W,1,6,1.76,1135.0,M,-19.6,M,,*51 $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.76,3.37*0D $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,44*7C $GPGSV,2,2,07,31,34,050,27,13,30,282,36,01,14,210,26*44 $GPRMC,071839.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*73 $GPGGA,071840.000,4404.1302,N,12118.8492,W,1,6,1.75,1135.0,M,-19.6,M,,*5C $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.75,3.37*0E $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,44*7C $GPGSV,2,2,07,31,34,050,27,13,30,282,36,01,14,210,26*44 $GPRMC,071840.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*7D $GPGGA,071841.000,4404.1302,N,12118.8492,W,1,5,6.22,1135.0,M,-19.6,M,,*5B $GPGSA,A,3,23,13,32,20,01,,,,,,,,7.74,6.22,4.60*03 $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,44*7C $GPGSV,2,2,07,31,34,050,26,13,30,282,36,01,14,210,26*45 $GPRMC,071841.000,A,4404.1302,N,12118.8492,W,0.02,0.00,111111,,,A*7D $GPGGA,071842.000,4404.1302,N,12118.8492,W,1,6,1.75,1135.0,M,-19.6,M,,*5E $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.75,3.37*0E $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,44*7C $GPGSV,2,2,07,31,34,050,26,13,30,282,36,01,14,210,26*45 $GPRMC,071842.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*7F $GPGGA,071843.000,4404.1302,N,12118.8492,W,1,5,6.22,1135.0,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,20,01,,,,,,,,7.73,6.22,4.59*0E $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,44*7C $GPGSV,2,2,07,31,34,050,25,13,30,282,35,01,14,210,25*46 $GPRMC,071843.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*7E $GPGGA,071844.000,4404.1302,N,12118.8492,W,1,6,1.75,1135.0,M,-19.6,M,,*58 $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.75,3.37*0E $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,44*7C $GPGSV,2,2,07,31,34,050,25,13,30,282,35,01,14,210,25*46 $GPRMC,071844.000,A,4404.1302,N,12118.8492,W,0.02,0.00,111111,,,A*78 $GPGGA,071845.000,4404.1302,N,12118.8492,W,1,5,6.22,1135.0,M,-19.6,M,,*5F $GPGSA,A,3,23,13,32,20,01,,,,,,,,7.73,6.22,4.59*0E $GPGSV,2,1,07,20,73,202,43,23,57,298,39,32,54,149,44,48,37,196,45*7D $GPGSV,2,2,07,31,34,050,24,13,30,282,35,01,14,210,25*47 $GPRMC,071845.000,A,4404.1302,N,12118.8492,W,0.04,0.00,111111,,,A*7F $GPGGA,071846.000,4404.1302,N,12118.8492,W,1,5,6.21,1135.0,M,-19.6,M,,*5F $GPGSA,A,3,23,13,32,20,01,,,,,,,,7.73,6.21,4.59*0D $GPGSV,2,1,07,20,73,202,43,23,57,298,40,32,54,149,44,48,37,196,45*73 $GPGSV,2,2,07,31,34,050,23,13,30,282,35,01,14,209,25*48 $GPRMC,071846.000,A,4404.1302,N,12118.8492,W,0.04,0.00,111111,,,A*7C $GPGGA,071847.000,4404.1302,N,12118.8492,W,1,5,6.21,1135.0,M,-19.6,M,,*5E $GPGSA,A,3,23,13,32,20,01,,,,,,,,7.72,6.21,4.59*0C $GPGSV,2,1,07,20,73,202,43,23,57,298,40,32,54,149,44,48,37,196,45*73 $GPGSV,2,2,07,31,34,050,23,13,30,282,35,01,14,209,26*4B $GPRMC,071847.000,A,4404.1302,N,12118.8492,W,0.02,0.00,111111,,,A*7B $GPGGA,071848.000,4404.1302,N,12118.8492,W,1,5,6.21,1135.0,M,-19.6,M,,*51 $GPGSA,A,3,23,13,32,20,01,,,,,,,,7.72,6.21,4.59*0C $GPGSV,2,1,07,20,73,202,41,23,57,298,39,32,54,149,43,48,37,196,45*78 $GPGSV,2,2,07,31,34,050,23,13,30,282,34,01,14,209,26*4A $GPRMC,071848.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*75 $GPGGA,071849.000,4404.1302,N,12118.8492,W,1,5,6.21,1135.0,M,-19.6,M,,*50 $GPGSA,A,3,23,13,32,20,01,,,,,,,,7.72,6.21,4.59*0C $GPGSV,2,1,07,20,73,202,41,23,57,298,39,32,54,149,43,48,37,196,45*78 $GPGSV,2,2,07,31,34,050,23,13,30,282,34,01,14,209,26*4A $GPRMC,071849.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*74 $GPGGA,071850.000,4404.1302,N,12118.8492,W,1,5,4.17,1135.0,M,-19.6,M,,*5F $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.20,4.17,4.59*0D $GPGSV,2,1,07,20,73,202,41,23,57,298,39,32,54,149,43,48,37,196,45*78 $GPGSV,2,2,07,31,34,050,22,13,30,282,34,01,14,209,27*4A $GPRMC,071850.000,A,4404.1302,N,12118.8492,W,0.05,0.00,111111,,,A*7A $GPGGA,071851.000,4404.1301,N,12118.8492,W,1,5,4.17,1135.0,M,-19.6,M,,*5D $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.20,4.17,4.59*0D $GPGSV,2,1,07,20,73,202,41,23,57,298,39,32,54,149,43,48,37,196,45*78 $GPGSV,2,2,07,31,34,050,20,13,30,282,34,01,14,209,27*48 $GPRMC,071851.000,A,4404.1301,N,12118.8492,W,0.06,0.00,111111,,,A*7B $GPGGA,071852.000,4404.1301,N,12118.8492,W,1,5,4.17,1135.0,M,-19.6,M,,*5E $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.20,4.17,4.59*0D $GPGSV,2,1,07,20,73,202,40,23,57,298,39,32,54,149,43,48,37,196,44*78 $GPGSV,2,2,07,31,34,050,19,13,30,282,34,01,14,209,27*42 $GPRMC,071852.000,A,4404.1301,N,12118.8492,W,0.07,0.00,111111,,,A*79 $GPGGA,071853.000,4404.1301,N,12118.8492,W,1,5,4.17,1135.0,M,-19.6,M,,*5F $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.20,4.17,4.59*0D $GPGSV,2,1,07,20,73,202,40,23,57,298,39,32,54,149,43,48,37,196,44*78 $GPGSV,2,2,07,31,34,050,19,13,30,282,34,01,14,209,27*42 $GPRMC,071853.000,A,4404.1301,N,12118.8492,W,0.08,0.00,111111,,,A*77 $GPGGA,071854.000,4404.1301,N,12118.8493,W,1,5,4.17,1135.0,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,40,23,57,298,39,32,54,149,43,48,37,196,44*78 $GPGSV,2,2,07,31,34,050,18,13,30,282,34,01,14,209,27*43 $GPRMC,071854.000,A,4404.1301,N,12118.8493,W,0.08,0.00,111111,,,A*71 $GPGGA,071855.000,4404.1301,N,12118.8493,W,1,5,4.17,1135.0,M,-19.6,M,,*58 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.20,4.17,4.59*0D $GPGSV,2,1,07,20,73,202,40,23,57,298,39,32,54,149,43,48,37,196,44*78 $GPGSV,2,2,07,31,34,050,18,13,30,282,34,01,14,209,27*43 $GPRMC,071855.000,A,4404.1301,N,12118.8493,W,0.11,0.00,111111,,,A*78 $GPGGA,071856.000,4404.1300,N,12118.8493,W,1,5,4.17,1135.0,M,-19.6,M,,*5A $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.20,4.17,4.58*0C $GPGSV,2,1,07,20,73,202,39,23,57,298,38,32,54,149,42,48,37,196,43*71 $GPGSV,2,2,07,31,34,050,18,13,30,282,33,01,14,209,26*45 $GPRMC,071856.000,A,4404.1300,N,12118.8493,W,0.11,0.00,111111,,,A*7A $GPGGA,071857.000,4404.1300,N,12118.8493,W,1,5,4.17,1135.1,M,-19.6,M,,*5A $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,39,23,57,298,38,32,54,149,43,48,37,196,44*77 $GPGSV,2,2,07,31,34,050,17,13,30,282,34,01,14,209,26*4D $GPRMC,071857.000,A,4404.1300,N,12118.8493,W,0.12,0.00,111111,,,A*78 $GPGGA,071858.000,4404.1300,N,12118.8493,W,1,5,4.17,1135.1,M,-19.6,M,,*55 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*79 $GPGSV,2,2,07,31,34,050,17,13,30,282,34,01,14,209,26*4D $GPRMC,071858.000,A,4404.1300,N,12118.8493,W,0.14,0.00,111111,,,A*71 $GPGGA,071859.000,4404.1299,N,12118.8493,W,1,5,4.17,1135.1,M,-19.6,M,,*55 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.20,4.17,4.58*0C $GPGSV,2,1,07,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*79 $GPGSV,2,2,07,31,34,050,16,13,30,283,34,01,14,209,26*4D $GPRMC,071859.000,A,4404.1299,N,12118.8493,W,0.15,0.00,111111,,,A*70 $GPGGA,071900.000,4404.1299,N,12118.8494,W,1,5,4.17,1135.1,M,-19.6,M,,*5F $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,39,23,57,298,37,32,54,149,42,48,37,196,43*7E $GPGSV,2,2,07,31,34,050,16,13,30,283,33,01,14,209,25*49 $GPRMC,071900.000,A,4404.1299,N,12118.8494,W,0.14,0.00,111111,,,A*7B $GPGGA,071901.000,4404.1299,N,12118.8494,W,1,5,4.17,1135.1,M,-19.6,M,,*5E $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.20,4.17,4.58*0C $GPGSV,2,1,07,20,73,202,39,23,57,298,37,32,54,149,42,48,37,196,44*79 $GPGSV,2,2,07,31,34,050,15,13,30,283,34,01,14,209,26*4E $GPRMC,071901.000,A,4404.1299,N,12118.8494,W,0.14,0.00,111111,,,A*7A $GPGGA,071902.000,4404.1298,N,12118.8494,W,1,5,4.17,1135.1,M,-19.6,M,,*5C $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,40,23,57,298,37,32,54,149,43,48,37,196,44*76 $GPGSV,2,2,07,31,34,050,23,13,30,283,34,01,14,209,26*4B $GPRMC,071902.000,A,4404.1298,N,12118.8494,W,0.15,0.00,111111,,,A*79 $GPGGA,071903.000,4404.1298,N,12118.8495,W,1,5,4.17,1135.1,M,-19.6,M,,*5C $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*79 $GPGSV,2,2,07,31,34,050,23,13,30,283,35,01,14,209,26*4A $GPRMC,071903.000,A,4404.1298,N,12118.8495,W,0.16,0.00,111111,,,A*7A $GPGGA,071904.000,4404.1298,N,12118.8495,W,1,5,4.17,1135.1,M,-19.6,M,,*5B $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*79 $GPGSV,2,2,07,31,34,050,22,13,30,283,35,01,14,209,26*4B $GPRMC,071904.000,A,4404.1298,N,12118.8495,W,0.16,0.00,111111,,,A*7D $GPGGA,071905.000,4404.1297,N,12118.8495,W,1,5,4.17,1135.2,M,-19.6,M,,*56 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*79 $GPGSV,2,2,07,31,34,050,20,13,30,283,35,01,14,209,26*49 $GPRMC,071905.000,A,4404.1297,N,12118.8495,W,0.15,0.00,111111,,,A*70 $GPGGA,071906.000,4404.1297,N,12118.8496,W,1,5,4.17,1135.2,M,-19.6,M,,*56 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*79 $GPGSV,2,2,07,31,34,050,19,13,30,283,35,01,14,209,25*40 $GPRMC,071906.000,A,4404.1297,N,12118.8496,W,0.14,0.00,111111,,,A*71 $GPGGA,071907.000,4404.1297,N,12118.8496,W,1,5,4.17,1135.2,M,-19.6,M,,*57 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*79 $GPGSV,2,2,07,31,34,050,18,13,30,283,35,01,14,209,25*41 $GPRMC,071907.000,A,4404.1297,N,12118.8496,W,0.17,0.00,111111,,,A*73 $GPGGA,071908.000,4404.1296,N,12118.8496,W,1,5,4.17,1135.2,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*79 $GPGSV,2,2,07,31,34,050,18,13,30,283,35,01,14,209,25*41 $GPRMC,071908.000,A,4404.1296,N,12118.8496,W,0.12,0.00,111111,,,A*78 $GPGGA,071909.000,4404.1296,N,12118.8496,W,1,5,4.16,1135.2,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.16,4.58*07 $GPGSV,2,1,08,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*76 $GPGSV,2,2,08,31,34,050,19,13,30,283,35,01,14,209,25,16,,,28*42 $GPRMC,071909.000,A,4404.1296,N,12118.8496,W,0.12,0.00,111111,,,A*79 $GPGGA,071910.000,4404.1296,N,12118.8497,W,1,5,4.17,1135.2,M,-19.6,M,,*51 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,08,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*76 $GPGSV,2,2,08,31,34,050,20,13,30,283,35,01,14,209,24,16,,,31*41 $GPRMC,071910.000,A,4404.1296,N,12118.8497,W,0.10,0.00,111111,,,A*72 $GPGGA,071911.000,4404.1295,N,12118.8497,W,1,5,4.17,1135.3,M,-19.6,M,,*52 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,08,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*76 $GPGSV,2,2,08,31,34,050,20,13,30,283,35,01,14,209,24,16,,,32*42 $GPRMC,071911.000,A,4404.1295,N,12118.8497,W,0.11,0.00,111111,,,A*71 $GPGGA,071912.000,4404.1295,N,12118.8497,W,1,5,4.17,1135.3,M,-19.6,M,,*51 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.57*09 $GPGSV,2,1,08,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*76 $GPGSV,2,2,08,31,34,050,19,13,30,283,35,01,14,209,24,16,,,32*48 $GPRMC,071912.000,A,4404.1295,N,12118.8497,W,0.08,0.00,111111,,,A*7A $GPGGA,071913.000,4404.1295,N,12118.8497,W,1,5,4.17,1135.3,M,-19.6,M,,*50 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,08,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*76 $GPGSV,2,2,08,31,34,050,18,13,30,283,35,01,14,209,24,16,,,32*49 $GPRMC,071913.000,A,4404.1295,N,12118.8497,W,0.07,0.00,111111,,,A*74 $GPGGA,071914.000,4404.1295,N,12118.8497,W,1,5,4.17,1135.3,M,-19.6,M,,*57 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.57*09 $GPGSV,2,1,08,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*76 $GPGSV,2,2,08,31,34,050,18,13,30,283,35,01,14,209,24,16,,,32*49 $GPRMC,071914.000,A,4404.1295,N,12118.8497,W,0.09,0.00,111111,,,A*7D $GPGGA,071915.000,4404.1295,N,12118.8497,W,1,5,4.17,1135.4,M,-19.6,M,,*51 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.57*09 $GPGSV,2,1,08,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*76 $GPGSV,2,2,08,31,34,050,18,13,30,283,35,01,14,209,24,16,,,32*49 $GPRMC,071915.000,A,4404.1295,N,12118.8497,W,0.09,0.00,111111,,,A*7C $GPGGA,071916.000,4404.1295,N,12118.8498,W,2,5,4.16,1135.3,M,-19.6,M,0000,0000*58 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,2,1,08,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*76 $GPGSV,2,2,08,31,34,050,18,13,30,283,35,01,14,209,24,16,,,32*49 $GPRMC,071916.000,A,4404.1295,N,12118.8498,W,0.08,0.00,111111,,,D*74 $GPGGA,071917.000,4404.1295,N,12118.8498,W,2,5,4.16,1135.4,M,-19.6,M,0000,0000*5E $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*76 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,23*79 $GPGSV,3,3,09,16,,,32*76 $GPRMC,071917.000,A,4404.1295,N,12118.8498,W,0.08,0.00,111111,,,D*75 $GPGGA,071918.000,4404.1294,N,12118.8498,W,2,5,4.16,1135.4,M,-19.6,M,0000,0000*50 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*76 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,23*79 $GPGSV,3,3,09,16,,,32*76 $GPRMC,071918.000,A,4404.1294,N,12118.8498,W,0.09,0.00,111111,,,D*7A $GPGGA,071919.000,4404.1293,N,12118.8498,W,2,5,4.16,1135.3,M,-19.6,M,0000,0000*51 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,53,149,43,48,37,196,44*71 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,23*79 $GPGSV,3,3,09,16,,,32*76 $GPRMC,071919.000,A,4404.1293,N,12118.8498,W,0.09,0.00,111111,,,D*7C $GPGGA,071920.000,4404.1293,N,12118.8499,W,2,5,4.16,1135.4,M,-19.6,M,0000,0000*5D $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,53,149,43,48,37,196,44*71 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,23*79 $GPGSV,3,3,09,16,,,32*76 $GPRMC,071920.000,A,4404.1293,N,12118.8499,W,0.09,0.00,111111,,,D*77 $GPGGA,071921.000,4404.1294,N,12118.8499,W,2,5,4.16,1135.6,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,53,149,43,48,37,196,44*71 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,23*79 $GPGSV,3,3,09,16,,,32*76 $GPRMC,071921.000,A,4404.1294,N,12118.8499,W,0.09,0.00,111111,,,D*71 $GPGGA,071922.000,4404.1294,N,12118.8498,W,2,5,4.17,1135.8,M,-19.6,M,0000,0000*54 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,53,149,43,48,37,196,44*71 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,23*79 $GPGSV,3,3,09,16,,,32*76 $GPRMC,071922.000,A,4404.1294,N,12118.8498,W,0.09,0.00,111111,,,D*73 $GPGGA,071923.000,4404.1294,N,12118.8498,W,2,5,4.17,1135.8,M,-19.6,M,0000,0000*55 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.17,4.57*08 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,53,149,43,48,37,196,44*71 $GPGSV,3,2,09,31,34,050,19,13,30,283,35,04,15,313,,01,14,209,23*78 $GPGSV,3,3,09,16,,,32*76 $GPRMC,071923.000,A,4404.1294,N,12118.8498,W,0.09,0.00,111111,,,D*72 $GPGGA,071924.000,4404.1294,N,12118.8499,W,2,5,4.16,1136.0,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,53,149,43,48,37,196,44*71 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,23*79 $GPGSV,3,3,09,16,,,32*76 $GPRMC,071924.000,A,4404.1294,N,12118.8499,W,0.09,0.00,111111,,,D*74 $GPGGA,071925.000,4404.1295,N,12118.8499,W,2,5,4.16,1136.1,M,-19.6,M,0000,0000*58 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,53,149,43,48,37,196,44*71 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,23*79 $GPGSV,3,3,09,16,,,32*76 $GPRMC,071925.000,A,4404.1295,N,12118.8499,W,0.09,0.00,111111,,,D*74 $GPGGA,071926.000,4404.1295,N,12118.8500,W,2,5,4.16,1136.2,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,53,149,43,48,37,196,44*71 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,22*78 $GPGSV,3,3,09,16,,,32*76 $GPRMC,071926.000,A,4404.1295,N,12118.8500,W,0.09,0.00,111111,,,D*76 $GPGGA,071927.000,4404.1295,N,12118.8499,W,2,5,4.17,1136.3,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.17,4.57*08 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,53,149,43,48,37,196,44*71 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,22*78 $GPGSV,3,3,09,16,,,32*76 $GPRMC,071927.000,A,4404.1295,N,12118.8499,W,0.07,0.00,111111,,,D*78 $GPGGA,071928.000,4404.1296,N,12118.8498,W,2,5,4.17,1136.3,M,-19.6,M,0000,0000*54 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.17,4.57*08 $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,22*78 $GPGSV,3,3,09,16,,,32*76 $GPRMC,071928.000,A,4404.1296,N,12118.8498,W,0.05,0.00,111111,,,D*77 $GPGGA,071929.000,4404.1296,N,12118.8497,W,2,5,4.16,1136.3,M,-19.6,M,0000,0000*5B $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,19,13,30,283,35,04,15,313,,01,14,209,22*79 $GPGSV,3,3,09,16,,,32*76 $GPRMC,071929.000,A,4404.1296,N,12118.8497,W,0.03,0.00,111111,,,D*7F $GPGGA,071930.000,4404.1296,N,12118.8498,W,2,5,4.16,1136.2,M,-19.6,M,0000,0000*5D $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,19,13,30,283,35,04,15,313,,01,14,209,23*78 $GPGSV,3,3,09,16,,,32*76 $GPRMC,071930.000,A,4404.1296,N,12118.8498,W,0.02,0.00,111111,,,D*79 $GPGGA,071931.000,4404.1295,N,12118.8498,W,2,5,4.16,1136.2,M,-19.6,M,0000,0000*5F $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.17,4.16,4.56*07 $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,20,13,30,283,35,04,15,313,,01,14,209,23*72 $GPGSV,3,3,09,16,,,32*76 $GPRMC,071931.000,A,4404.1295,N,12118.8498,W,0.01,0.00,111111,,,D*78 $GPGGA,071932.000,4404.1295,N,12118.8497,W,2,5,4.16,1136.2,M,-19.6,M,0000,0000*53 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.17,4.16,4.56*07 $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,20,13,31,283,35,04,15,313,,01,14,209,23*73 $GPGSV,3,3,09,16,,,32*76 $GPRMC,071932.000,A,4404.1295,N,12118.8497,W,0.01,0.00,111111,,,D*74 $GPGGA,071933.000,4404.1292,N,12118.8498,W,2,5,4.16,1135.9,M,-19.6,M,0000,0000*52 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.56*08 $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,20,13,31,283,35,04,15,313,,01,14,209,23*73 $GPGSV,3,3,09,16,,,32*76 $GPRMC,071933.000,A,4404.1292,N,12118.8498,W,0.01,0.00,111111,,,D*7D $GPGGA,071934.000,4404.1293,N,12118.8498,W,2,5,4.16,1135.6,M,-19.6,M,0000,0000*5B $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.56*08 $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,20,13,31,283,35,04,15,313,,01,14,209,22*72 $GPGSV,3,3,09,16,,,32*76 $GPRMC,071934.000,A,4404.1293,N,12118.8498,W,0.01,0.00,111111,,,D*7B $GPGGA,071935.000,4404.1294,N,12118.8500,W,2,6,2.29,1135.7,M,-19.6,M,0000,0000*55 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,35,04,15,313,*73 $GPGSV,3,3,09,01,14,209,22*4F $GPRMC,071935.000,A,4404.1294,N,12118.8500,W,0.01,0.00,111111,,,D*7D $GPGGA,071936.000,4404.1294,N,12118.8499,W,2,6,2.29,1135.9,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,35,04,15,313,*73 $GPGSV,3,3,09,01,14,209,22*4F $GPRMC,071936.000,A,4404.1294,N,12118.8499,W,0.01,0.00,111111,,,D*7F $GPGGA,071937.000,4404.1294,N,12118.8499,W,2,6,2.29,1136.3,M,-19.6,M,0000,0000*51 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,35,04,15,313,*73 $GPGSV,3,3,09,01,14,209,22*4F $GPRMC,071937.000,A,4404.1294,N,12118.8499,W,0.00,0.00,111111,,,D*7F $GPGGA,071938.000,4404.1294,N,12118.8500,W,2,6,2.29,1136.6,M,-19.6,M,0000,0000*5A $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,35,04,15,313,*70 $GPGSV,3,3,09,01,14,209,22*4F $GPRMC,071938.000,A,4404.1294,N,12118.8500,W,0.00,0.00,111111,,,D*71 $GPGGA,071939.000,4404.1297,N,12118.8499,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5D $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,45*71 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,35,04,15,313,*70 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,071939.000,A,4404.1297,N,12118.8499,W,0.01,0.00,111111,,,D*73 $GPGGA,071940.000,4404.1295,N,12118.8501,W,2,6,2.29,1137.2,M,-19.6,M,0000,0000*50 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,298,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,35,04,15,313,*70 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,071940.000,A,4404.1295,N,12118.8501,W,0.01,0.00,111111,,,D*7F $GPGGA,071941.000,4404.1295,N,12118.8503,W,2,6,2.29,1137.2,M,-19.6,M,0000,0000*53 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,298,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,35,04,15,313,*70 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,071941.000,A,4404.1295,N,12118.8503,W,0.02,0.00,111111,,,D*7F $GPGGA,071942.000,4404.1295,N,12118.8502,W,2,6,2.29,1137.2,M,-19.6,M,0000,0000*51 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,298,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,35,04,15,313,*70 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,071942.000,A,4404.1295,N,12118.8502,W,0.02,0.00,111111,,,D*7D $GPGGA,071943.000,4404.1294,N,12118.8502,W,2,6,2.29,1137.1,M,-19.6,M,0000,0000*52 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,298,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,35,04,15,313,*70 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,071943.000,A,4404.1294,N,12118.8502,W,0.02,0.00,111111,,,D*7D $GPGGA,071944.000,4404.1294,N,12118.8500,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*55 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,35,04,15,313,*70 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,071944.000,A,4404.1294,N,12118.8500,W,0.03,0.00,111111,,,D*79 $GPGGA,071945.000,4404.1294,N,12118.8497,W,2,6,2.29,1137.0,M,-19.6,M,0000,0000*58 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,35,04,15,313,*70 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,071945.000,A,4404.1294,N,12118.8497,W,0.03,0.00,111111,,,D*77 $GPGGA,071946.000,4404.1293,N,12118.8499,W,2,6,2.29,1137.0,M,-19.6,M,0000,0000*52 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,34,04,15,313,*71 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,071946.000,A,4404.1293,N,12118.8499,W,0.03,0.00,111111,,,D*7D $GPGGA,071947.000,4404.1294,N,12118.8501,W,2,6,2.29,1137.0,M,-19.6,M,0000,0000*54 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,34,04,15,313,*71 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,071947.000,A,4404.1294,N,12118.8501,W,0.02,0.00,111111,,,D*7A $GPGGA,071948.000,4404.1295,N,12118.8497,W,2,6,2.29,1136.6,M,-19.6,M,0000,0000*53 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,23,16,31,139,32,13,31,283,34,04,15,313,*70 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,071948.000,A,4404.1295,N,12118.8497,W,0.02,0.00,111111,,,D*7A $GPGGA,071949.000,4404.1296,N,12118.8499,W,2,6,2.29,1136.7,M,-19.6,M,0000,0000*5E $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,34,04,15,313,*71 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,071949.000,A,4404.1296,N,12118.8499,W,0.01,0.00,111111,,,D*75 $GPGGA,071950.000,4404.1295,N,12118.8502,W,2,6,2.29,1137.2,M,-19.6,M,0000,0000*52 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,34,04,15,313,*71 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,071950.000,A,4404.1295,N,12118.8502,W,0.02,0.00,111111,,,D*7E $GPGGA,071951.000,4404.1294,N,12118.8506,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*57 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,34,04,15,313,*72 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,071951.000,A,4404.1294,N,12118.8506,W,0.02,0.00,111111,,,D*7A $GPGGA,071952.000,4404.1294,N,12118.8509,W,2,6,2.29,1137.2,M,-19.6,M,0000,0000*5A $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,34,04,15,313,*71 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,071952.000,A,4404.1294,N,12118.8509,W,0.03,0.00,111111,,,D*77 $GPGGA,071953.000,4404.1294,N,12118.8508,W,2,6,2.29,1137.4,M,-19.6,M,0000,0000*5C $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,33,04,15,313,*76 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,071953.000,A,4404.1294,N,12118.8508,W,0.02,0.00,111111,,,D*76 $GPGGA,071954.000,4404.1293,N,12118.8510,W,2,6,2.29,1137.5,M,-19.6,M,0000,0000*54 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,071954.000,A,4404.1293,N,12118.8510,W,0.03,0.00,111111,,,D*7E $GPGGA,071955.000,4404.1293,N,12118.8511,W,2,6,2.29,1137.8,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,071955.000,A,4404.1293,N,12118.8511,W,0.02,0.00,111111,,,D*7F $GPGGA,071956.000,4404.1294,N,12118.8513,W,2,6,2.29,1137.8,M,-19.6,M,0000,0000*5F $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,22*4F $GPRMC,071956.000,A,4404.1294,N,12118.8513,W,0.01,0.00,111111,,,D*7A $GPGGA,071957.000,4404.1295,N,12118.8513,W,2,6,2.29,1137.6,M,-19.6,M,0000,0000*51 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,22*4F $GPRMC,071957.000,A,4404.1295,N,12118.8513,W,0.01,0.00,111111,,,D*7A $GPGGA,071958.000,4404.1294,N,12118.8515,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5C $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,20,16,31,139,32,13,31,283,33,04,15,313,*74 $GPGSV,3,3,09,01,14,209,22*4F $GPRMC,071958.000,A,4404.1294,N,12118.8515,W,0.01,0.00,111111,,,D*72 $GPGGA,071959.000,4404.1294,N,12118.8515,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5D $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,19,16,31,139,32,13,31,283,33,04,15,313,*7E $GPGSV,3,3,09,01,14,209,22*4F $GPRMC,071959.000,A,4404.1294,N,12118.8515,W,0.01,0.00,111111,,,D*73 $GPGGA,072000.000,4404.1294,N,12118.8515,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5B $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,20,16,31,139,32,13,31,283,33,04,15,313,*74 $GPGSV,3,3,09,01,14,209,22*4F $GPRMC,072000.000,A,4404.1294,N,12118.8515,W,0.03,0.00,111111,,,D*77 $GPGGA,072001.000,4404.1294,N,12118.8515,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5A $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,20,16,31,139,32,13,31,283,33,04,15,313,*74 $GPGSV,3,3,09,01,14,209,22*4F $GPRMC,072001.000,A,4404.1294,N,12118.8515,W,0.02,0.00,111111,,,D*77 $GPGGA,072002.000,4404.1294,N,12118.8515,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,22*4F $GPRMC,072002.000,A,4404.1294,N,12118.8515,W,0.02,0.00,111111,,,D*74 $GPGGA,072003.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,072003.000,A,4404.1294,N,12118.8514,W,0.02,0.00,111111,,,D*74 $GPGGA,072004.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5E $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,24*49 $GPRMC,072004.000,A,4404.1294,N,12118.8514,W,0.01,0.00,111111,,,D*70 $GPGGA,072005.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5F $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,41,23,57,299,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,072005.000,A,4404.1294,N,12118.8514,W,0.07,0.00,111111,,,D*77 $GPGGA,072006.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5C $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,41,23,57,299,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,072006.000,A,4404.1294,N,12118.8514,W,0.04,0.00,111111,,,D*77 $GPGGA,072007.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5D $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,41,23,57,299,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,072007.000,A,4404.1294,N,12118.8514,W,0.02,0.00,111111,,,D*70 $GPGGA,072008.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*52 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,41,23,57,299,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,33,04,15,313,*76 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,072008.000,A,4404.1294,N,12118.8514,W,0.01,0.00,111111,,,D*7C $GPGGA,072009.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*53 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,09,20,73,201,41,23,57,299,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,072009.000,A,4404.1294,N,12118.8514,W,0.01,0.00,111111,,,D*7D $GPGGA,072010.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5B $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,41,23,57,299,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,33,04,15,313,*76 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,072010.000,A,4404.1294,N,12118.8514,W,0.01,0.00,111111,,,D*75 $GPGGA,072011.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5A $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,09,20,73,201,41,23,57,299,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,23,16,31,139,32,13,31,283,33,04,15,313,*77 $GPGSV,3,3,09,01,14,209,23*4E $GPRMC,072011.000,A,4404.1294,N,12118.8514,W,0.01,0.00,111111,,,D*74 $GPGGA,072012.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,73,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7A $GPGSV,3,2,10,31,34,050,23,16,31,139,32,13,31,283,33,04,15,313,*7F $GPGSV,3,3,10,01,14,209,23,30,,,27*40 $GPRMC,072012.000,A,4404.1294,N,12118.8514,W,0.01,0.00,111111,,,D*77 $GPGGA,072013.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*58 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,73,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7A $GPGSV,3,2,10,31,34,050,23,16,31,139,32,13,31,283,33,04,15,313,*7F $GPGSV,3,3,10,01,14,209,22,30,,,30*47 $GPRMC,072013.000,A,4404.1294,N,12118.8514,W,0.05,0.00,111111,,,D*72 $GPGGA,072014.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5F $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7B $GPGSV,3,2,10,31,34,050,23,16,31,139,32,13,31,283,33,04,15,313,*7F $GPGSV,3,3,10,01,14,209,22,30,,,29*4F $GPRMC,072014.000,A,4404.1294,N,12118.8514,W,0.00,0.00,111111,,,D*70 $GPGGA,072015.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5E $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7B $GPGSV,3,2,10,31,34,050,23,16,31,139,32,13,31,283,33,04,15,313,*7F $GPGSV,3,3,10,01,14,209,22,30,,,31*46 $GPRMC,072015.000,A,4404.1294,N,12118.8514,W,0.01,0.00,111111,,,D*70 $GPGGA,072016.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5D $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7B $GPGSV,3,2,10,31,34,050,23,16,31,139,32,13,31,283,33,04,15,313,*7F $GPGSV,3,3,10,01,14,209,22,30,,,32*45 $GPRMC,072016.000,A,4404.1294,N,12118.8514,W,0.02,0.00,111111,,,D*70 $GPGGA,072017.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5C $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7B $GPGSV,3,2,10,31,34,050,23,16,31,139,32,13,31,283,33,04,15,313,*7F $GPGSV,3,3,10,01,14,209,22,30,,,31*46 $GPRMC,072017.000,A,4404.1294,N,12118.8514,W,0.02,0.00,111111,,,D*71 $GPGGA,072018.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*53 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7B $GPGSV,3,2,10,31,34,050,24,16,31,139,32,13,31,283,33,04,15,313,*78 $GPGSV,3,3,10,01,14,209,23,30,,,31*47 $GPRMC,072018.000,A,4404.1294,N,12118.8514,W,0.05,0.00,111111,,,D*79 $GPGGA,072019.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*52 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7B $GPGSV,3,2,10,31,34,050,24,16,31,139,32,13,31,283,33,04,15,313,*78 $GPGSV,3,3,10,01,14,209,23,30,,,31*47 $GPRMC,072019.000,A,4404.1294,N,12118.8514,W,0.02,0.00,111111,,,D*7F $GPGGA,072020.000,4404.1294,N,12118.8514,W,2,7,1.09,1137.3,M,-19.6,M,0000,0000*58 $GPGSA,A,3,23,13,32,31,20,01,16,,,,,,2.05,1.09,1.73*0C $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7B $GPGSV,3,2,10,31,34,050,25,16,31,139,32,13,31,283,33,04,15,313,*79 $GPGSV,3,3,10,01,14,209,23,30,,,31*47 $GPRMC,072020.000,A,4404.1294,N,12118.8514,W,0.01,0.00,111111,,,D*76 $GPGGA,072021.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.2,M,-19.6,M,0000,0000*58 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7B $GPGSV,3,2,10,31,34,050,25,16,31,139,32,13,31,283,32,04,15,313,*78 $GPGSV,3,3,10,01,14,209,23,30,,,31*47 $GPRMC,072021.000,A,4404.1294,N,12118.8514,W,0.01,0.00,111111,,,D*77 $GPGGA,072022.000,4404.1295,N,12118.8514,W,2,6,2.29,1137.2,M,-19.6,M,0000,0000*5A $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7B $GPGSV,3,2,10,31,34,050,25,16,31,139,33,13,31,283,32,04,15,313,*79 $GPGSV,3,3,10,01,14,209,22,30,,,30*47 $GPRMC,072022.000,A,4404.1295,N,12118.8514,W,0.03,0.00,111111,,,D*77 $GPGGA,072023.000,4404.1295,N,12118.8514,W,2,7,1.09,1137.2,M,-19.6,M,0000,0000*5B $GPGSA,A,3,23,13,32,31,20,01,16,,,,,,2.05,1.09,1.73*0C $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,42,48,37,196,44*7B $GPGSV,3,2,10,31,34,050,25,16,31,139,33,13,31,283,32,04,15,313,*79 $GPGSV,3,3,10,01,14,209,22,30,,,30*47 $GPRMC,072023.000,A,4404.1295,N,12118.8514,W,0.02,0.00,111111,,,D*77 $GPGGA,072024.000,4404.1295,N,12118.8514,W,2,7,1.09,1137.2,M,-19.6,M,0000,0000*5C $GPGSA,A,3,23,13,32,31,20,01,16,,,,,,2.05,1.09,1.73*0C $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,42,48,37,196,44*7B $GPGSV,3,2,10,31,34,050,25,16,31,139,33,13,31,283,32,04,15,313,*79 $GPGSV,3,3,10,01,14,209,22,30,,,30*47 $GPRMC,072024.000,A,4404.1295,N,12118.8514,W,0.01,0.00,111111,,,D*73 $GPGGA,072025.000,4404.1295,N,12118.8514,W,2,7,1.09,1137.2,M,-19.6,M,0000,0000*5D $GPGSA,A,3,23,13,32,31,20,01,16,,,,,,2.05,1.09,1.73*0C $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,42,48,37,196,44*7B $GPGSV,3,2,10,31,34,050,25,16,31,139,33,13,31,283,32,04,15,313,*79 $GPGSV,3,3,10,01,14,209,22,30,,,30*47 $GPRMC,072025.000,A,4404.1295,N,12118.8514,W,0.02,0.00,111111,,,D*71 $GPGGA,072026.000,4404.1295,N,12118.8514,W,2,6,2.29,1137.2,M,-19.6,M,0000,0000*5E $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,72,201,40,23,57,299,39,32,53,149,42,48,37,196,44*7A $GPGSV,3,2,10,31,33,050,24,16,31,139,32,13,31,283,31,04,15,313,*7D $GPGSV,3,3,10,01,14,209,21,30,,,28*4D $GPRMC,072026.000,A,4404.1295,N,12118.8514,W,0.01,0.00,111111,,,D*71 $GPGGA,072027.000,4404.1295,N,12118.8514,W,2,7,1.09,1137.2,M,-19.6,M,0000,0000*5F $GPGSA,A,3,23,13,32,31,20,01,16,,,,,,2.05,1.09,1.73*0C $GPGSV,3,1,10,20,72,201,39,23,57,299,38,32,53,149,40,48,37,196,43*70 $GPGSV,3,2,10,31,33,050,23,16,31,139,31,13,31,283,30,04,15,313,*78 $GPGSV,3,3,10,01,14,209,21,30,,,27*42 $GPRMC,072027.000,A,4404.1295,N,12118.8514,W,0.01,0.00,111111,,,D*70 $GPGGA,072028.000,4404.1295,N,12118.8514,W,2,7,1.09,1137.2,M,-19.6,M,0000,0000*50 $GPGSA,A,3,23,13,32,31,20,01,16,,,,,,2.05,1.09,1.73*0C $GPGSV,3,1,10,20,72,201,40,23,57,299,39,32,53,149,41,48,37,196,43*7E $GPGSV,3,2,10,31,33,050,24,16,31,139,32,13,31,283,31,04,15,313,*7D $GPGSV,3,3,10,01,13,209,21,30,,,28*4A $GPRMC,072028.000,A,4404.1295,N,12118.8514,W,0.01,0.00,111111,,,D*7F $GPGGA,072029.000,4404.1295,N,12118.8513,W,2,7,1.09,1137.2,M,-19.6,M,0000,0000*56 $GPGSA,A,3,23,13,32,31,20,01,16,,,,,,2.05,1.09,1.73*0C $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,42,48,37,196,43*7C $GPGSV,3,2,10,31,33,050,25,16,31,139,32,13,31,283,31,04,15,313,*7C $GPGSV,3,3,10,01,13,209,21,30,,,29*4B $GPRMC,072029.000,A,4404.1295,N,12118.8513,W,0.02,0.00,111111,,,D*7A $GPGGA,072030.000,4404.1295,N,12118.8514,W,2,7,1.09,1137.2,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,31,20,01,16,,,,,,2.05,1.09,1.73*0C $GPGSV,3,1,10,20,72,201,41,23,57,299,40,32,53,149,42,48,37,196,43*72 $GPGSV,3,2,10,31,33,050,25,16,31,139,32,13,31,283,31,04,15,313,*7C $GPGSV,3,3,10,01,13,209,21,30,,,30*43 $GPRMC,072030.000,A,4404.1295,N,12118.8514,W,0.02,0.00,111111,,,D*75 $GPGGA,072031.000,4404.1295,N,12118.8514,W,2,5,5.02,1137.2,M,-19.6,M,0000,0000*55 $GPGSA,A,3,23,13,32,20,16,,,,,,,,5.64,5.02,2.57*05 $GPGSV,3,1,10,20,72,201,40,23,57,299,39,32,53,149,41,48,37,196,43*7E $GPGSV,3,2,10,31,33,050,24,16,31,139,31,13,31,283,30,04,16,312,*7D $GPGSV,3,3,10,01,13,209,20,30,,,29*4A $GPRMC,072031.000,A,4404.1295,N,12118.8514,W,0.02,0.00,111111,,,D*74 $GPGGA,072032.000,4404.1295,N,12118.8513,W,2,6,1.31,1137.2,M,-19.6,M,0000,0000*56 $GPGSA,A,3,23,13,32,31,20,16,,,,,,,2.78,1.31,2.45*0A $GPGSV,3,1,10,20,72,201,40,23,57,299,40,32,53,149,42,48,37,196,43*73 $GPGSV,3,2,10,31,33,050,25,16,31,139,32,13,31,283,31,04,16,312,*7E $GPGSV,3,3,10,01,13,209,19,30,,,29*40 $GPRMC,072032.000,A,4404.1295,N,12118.8513,W,0.04,0.00,111111,,,D*76 $GPGGA,072033.000,4404.1295,N,12118.8513,W,2,6,1.31,1137.2,M,-19.6,M,0000,0000*57 $GPGSA,A,3,23,13,32,31,20,16,,,,,,,2.78,1.31,2.45*0A $GPGSV,3,1,10,20,72,201,40,23,57,299,40,32,53,149,42,48,37,196,43*73 $GPGSV,3,2,10,31,33,050,25,16,31,139,32,13,31,283,31,04,16,312,*7E $GPGSV,3,3,10,01,13,209,20,30,,,29*4A $GPRMC,072033.000,A,4404.1295,N,12118.8513,W,0.04,0.00,111111,,,D*77 $GPGGA,072034.000,4404.1295,N,12118.8513,W,2,7,1.09,1137.2,M,-19.6,M,0000,0000*5A $GPGSA,A,3,23,13,32,31,20,01,16,,,,,,2.05,1.09,1.73*0C $GPGSV,3,1,10,20,72,201,40,23,57,299,40,32,53,149,42,48,37,196,43*73 $GPGSV,3,2,10,31,33,050,25,16,31,139,32,13,31,283,31,04,16,312,*7E $GPGSV,3,3,10,01,13,209,21,30,,,30*43 $GPRMC,072034.000,A,4404.1295,N,12118.8513,W,0.08,0.00,111111,,,D*7C $GPGGA,072035.000,4404.1295,N,12118.8513,W,2,8,1.01,1137.2,M,-19.6,M,0000,0000*5C $GPGSA,A,3,23,13,32,31,20,01,16,30,,,,,1.99,1.01,1.72*00 $GPGSV,3,1,10,20,72,201,41,23,57,299,40,32,53,149,42,30,39,075,30*7B $GPGSV,3,2,10,48,37,196,43,31,33,050,25,16,31,139,32,13,31,283,31*7C $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 $GPRMC,072035.000,A,4404.1295,N,12118.8513,W,0.02,0.00,111111,,,D*77 $GPGGA,072036.000,4404.1295,N,12118.8513,W,2,7,1.19,1137.2,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,31,20,16,30,,,,,,2.72,1.19,2.45*09 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,44,31,33,050,26,16,31,139,32,13,31,283,31*78 $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 $GPRMC,072036.000,A,4404.1295,N,12118.8513,W,0.03,0.00,111111,,,D*75 $GPGGA,072037.000,4404.1295,N,12118.8513,W,2,7,1.19,1137.2,M,-19.6,M,0000,0000*58 $GPGSA,A,3,23,13,32,31,20,16,30,,,,,,2.72,1.19,2.45*09 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,44,31,33,050,26,16,31,139,32,13,31,283,30*79 $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 $GPRMC,072037.000,A,4404.1295,N,12118.8513,W,0.03,0.00,111111,,,D*74 $GPGGA,072038.000,4404.1295,N,12118.8513,W,2,8,1.01,1137.2,M,-19.6,M,0000,0000*51 $GPGSA,A,3,23,13,32,31,20,01,16,30,,,,,1.99,1.01,1.72*00 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,44,31,33,050,26,16,31,139,33,13,31,283,30*78 $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 $GPRMC,072038.000,A,4404.1295,N,12118.8513,W,0.02,0.00,111111,,,D*7A $GPGGA,072039.000,4404.1295,N,12118.8513,W,2,7,1.26,1137.2,M,-19.6,M,0000,0000*5A $GPGSA,A,3,23,13,32,20,01,16,30,,,,,,2.28,1.26,1.90*02 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,44,31,33,050,26,16,31,139,33,13,31,283,30*78 $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 $GPRMC,072039.000,A,4404.1295,N,12118.8513,W,0.04,0.00,111111,,,D*7D $GPGGA,072040.000,4404.1295,N,12118.8513,W,2,8,1.01,1137.2,M,-19.6,M,0000,0000*5E $GPGSA,A,3,23,13,32,31,20,01,16,30,,,,,1.99,1.01,1.72*00 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,44,31,33,050,26,16,31,139,34,13,31,283,30*7F $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 $GPRMC,072040.000,A,4404.1295,N,12118.8513,W,0.04,0.00,111111,,,D*73 $GPGGA,072041.000,4404.1295,N,12118.8513,W,2,8,1.01,1137.2,M,-19.6,M,0000,0000*5F $GPGSA,A,3,23,13,32,31,20,01,16,30,,,,,1.99,1.01,1.72*00 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,44,31,33,050,26,16,31,139,34,13,31,283,30*7F $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 $GPRMC,072041.000,A,4404.1295,N,12118.8513,W,0.02,0.00,111111,,,D*74 $GPGGA,072042.000,4404.1295,N,12118.8513,W,2,8,1.01,1137.2,M,-19.6,M,0000,0000*5C $GPGSA,A,3,23,13,32,31,20,01,16,30,,,,,1.99,1.01,1.72*00 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,44,31,33,050,26,16,31,139,34,13,31,283,30*7F $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 $GPRMC,072042.000,A,4404.1295,N,12118.8513,W,0.02,0.00,111111,,,D*77 $GPGGA,072043.000,4404.1295,N,12118.8513,W,2,7,1.26,1137.2,M,-19.6,M,0000,0000*57 $GPGSA,A,3,23,13,32,20,01,16,30,,,,,,2.28,1.26,1.91*03 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,44,31,33,050,25,16,31,139,34,13,31,283,30*7C $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 $GPRMC,072043.000,A,4404.1295,N,12118.8513,W,0.01,0.00,111111,,,D*75 $GPGGA,072044.000,4404.1295,N,12118.8513,W,2,7,1.26,1137.2,M,-19.6,M,0000,0000*50 $GPGSA,A,3,23,13,32,20,01,16,30,,,,,,2.28,1.26,1.90*02 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,44,31,33,050,25,16,31,139,34,13,31,283,30*7C $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 $GPRMC,072044.000,A,4404.1295,N,12118.8513,W,0.01,0.00,111111,,,D*72 $GPGGA,072045.000,4404.1295,N,12118.8513,W,2,7,1.26,1137.2,M,-19.6,M,0000,0000*51 $GPGSA,A,3,23,13,32,20,01,16,30,,,,,,2.28,1.26,1.90*02 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,45,31,33,050,25,16,31,139,34,13,31,283,30*7D $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 $GPRMC,072045.000,A,4404.1295,N,12118.8513,W,0.02,0.00,111111,,,D*70 $GPGGA,072046.000,4404.1295,N,12118.8513,W,2,7,1.26,1137.2,M,-19.6,M,0000,0000*52 $GPGSA,A,3,23,13,32,20,01,16,30,,,,,,2.28,1.26,1.90*02 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,45,31,33,050,25,16,31,139,34,13,31,283,30*7D $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 $GPRMC,072046.000,A,4404.1295,N,12118.8513,W,0.01,0.00,111111,,,D*70 $GPGGA,072047.000,4404.1295,N,12118.8513,W,2,7,1.26,1137.2,M,-19.6,M,0000,0000*53 $GPGSA,A,3,23,13,32,20,01,16,30,,,,,,2.28,1.26,1.90*02 $GPGSV,3,1,11,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7B $GPGSV,3,2,11,48,37,196,45,31,33,050,25,16,31,139,34,13,31,283,30*7C $GPGSV,3,3,11,04,16,312,,01,13,209,22,07,02,227,*40 $GPRMC,072047.000,A,4404.1295,N,12118.8513,W,0.03,0.00,111111,,,D*73 $GPGGA,072048.000,4404.1295,N,12118.8512,W,2,7,1.19,1137.2,M,-19.6,M,0000,0000*51 $GPGSA,A,3,23,13,32,31,20,16,30,,,,,,2.73,1.19,2.46*0B $GPGSV,3,1,11,20,72,201,42,23,57,299,41,32,53,149,42,30,39,075,31*79 $GPGSV,3,2,11,48,37,196,45,31,33,050,27,16,31,139,35,13,31,283,30*7F $GPGSV,3,3,11,04,16,312,,01,13,209,22,07,02,227,*40 $GPRMC,072048.000,A,4404.1295,N,12118.8512,W,0.08,0.00,111111,,,D*76 $GPGGA,072049.000,4404.1295,N,12118.8512,W,2,7,1.19,1137.3,M,-19.6,M,0000,0000*51 $GPGSA,A,3,23,13,32,31,20,16,30,,,,,,2.73,1.19,2.46*0B $GPGSV,3,1,11,20,72,201,42,23,57,299,41,32,53,149,42,30,39,075,31*79 $GPGSV,3,2,11,48,37,196,45,31,33,050,28,16,31,139,35,13,31,283,29*78 $GPGSV,3,3,11,04,16,312,,01,13,209,20,07,02,227,*42 $GPRMC,072049.000,A,4404.1295,N,12118.8512,W,0.05,0.00,111111,,,D*7A $GPGGA,072050.000,4404.1296,N,12118.8512,W,2,7,1.19,1137.2,M,-19.6,M,0000,0000*5B $GPGSA,A,3,23,13,32,31,20,16,30,,,,,,2.73,1.19,2.46*0B $GPGSV,3,1,11,20,72,200,42,23,57,299,41,32,53,149,42,30,39,075,32*7B $GPGSV,3,2,11,48,37,196,45,31,33,050,28,16,31,139,35,13,31,283,30*70 $GPGSV,3,3,11,04,16,312,,01,13,209,19,07,02,227,*48 $GPRMC,072050.000,A,4404.1296,N,12118.8512,W,0.06,0.00,111111,,,D*72 $GPGGA,072051.000,4404.1296,N,12118.8512,W,2,6,1.52,1137.2,M,-19.6,M,0000,0000*54 $GPGSA,A,3,23,13,32,20,16,30,,,,,,,2.92,1.52,2.49*06 $GPGSV,3,1,11,20,72,200,42,23,57,299,41,32,53,149,42,30,39,075,33*7A $GPGSV,3,2,11,48,37,196,45,31,33,050,26,16,31,139,35,13,31,283,30*7E $GPGSV,3,3,11,04,16,312,,01,13,209,19,07,02,227,*48 $GPRMC,072051.000,A,4404.1296,N,12118.8512,W,0.06,0.00,111111,,,D*73 $GPGGA,072052.000,4404.1296,N,12118.8512,W,2,7,1.26,1137.2,M,-19.6,M,0000,0000*55 $GPGSA,A,3,23,13,32,20,01,16,30,,,,,,2.28,1.26,1.90*02 $GPGSV,3,1,11,20,72,200,42,23,57,299,41,32,53,149,42,30,39,075,34*7D $GPGSV,3,2,11,48,37,196,45,31,33,050,25,16,31,139,35,13,31,283,30*7D $GPGSV,3,3,11,04,16,312,,01,13,209,20,07,02,227,*42 $GPRMC,072052.000,A,4404.1296,N,12118.8512,W,0.11,0.00,111111,,,D*76 $GPGGA,072053.000,4404.1296,N,12118.8512,W,2,7,1.19,1137.2,M,-19.6,M,0000,0000*58 $GPGSA,A,3,23,13,32,31,20,16,30,,,,,,2.73,1.19,2.46*0B $GPGSV,3,1,11,20,72,200,42,23,58,299,41,32,53,149,42,30,39,075,34*72 $GPGSV,3,2,11,48,37,196,45,31,33,050,26,16,31,139,35,13,31,283,31*7F $GPGSV,3,3,11,04,16,312,,01,13,209,21,07,02,227,*43 $GPRMC,072053.000,A,4404.1296,N,12118.8512,W,0.06,0.00,111111,,,D*71 $GPGGA,072054.000,4404.1296,N,12118.8512,W,2,7,1.19,1137.3,M,-19.6,M,0000,0000*5E $GPGSA,A,3,23,13,32,31,20,16,30,,,,,,2.73,1.19,2.46*0B $GPGSV,3,1,11,20,72,200,43,23,58,299,41,32,53,149,42,30,39,075,34*73 $GPGSV,3,2,11,48,37,196,45,31,33,050,26,16,31,139,35,13,31,283,31*7F $GPGSV,3,3,11,04,16,312,,01,13,209,21,07,02,227,*43 $GPRMC,072054.000,A,4404.1296,N,12118.8512,W,0.03,0.00,111111,,,D*73 $GPGGA,072055.000,4404.1296,N,12118.8512,W,2,7,1.19,1137.3,M,-19.6,M,0000,0000*5F $GPGSA,A,3,23,13,32,31,20,16,30,,,,,,2.73,1.19,2.46*0B $GPGSV,3,1,11,20,72,200,43,23,58,299,41,32,53,149,42,30,39,075,34*73 $GPGSV,3,2,11,48,37,196,45,31,33,050,26,16,31,139,35,13,31,283,31*7F $GPGSV,3,3,11,04,16,312,,01,13,209,21,07,02,227,*43 $GPRMC,072055.000,A,4404.1296,N,12118.8512,W,0.04,0.00,111111,,,D*75 $GPGGA,072056.000,4404.1296,N,12118.8511,W,2,7,1.25,1137.3,M,-19.6,M,0000,0000*50 $GPGSA,A,3,23,13,32,20,01,16,30,,,,,,2.28,1.25,1.90*01 $GPGSV,3,1,11,20,72,200,43,23,58,299,41,32,53,149,42,30,39,075,34*73 $GPGSV,3,2,11,48,37,196,45,31,33,050,26,16,31,139,35,13,31,283,31*7F $GPGSV,3,3,11,04,16,312,,01,13,209,22,07,02,227,*40 $GPRMC,072056.000,A,4404.1296,N,12118.8511,W,0.06,0.00,111111,,,D*77 $GPGGA,072057.000,4404.1296,N,12118.8511,W,2,7,1.26,1137.3,M,-19.6,M,0000,0000*52 $GPGSA,A,3,23,13,32,20,01,16,30,,,,,,2.28,1.26,1.90*02 $GPGSV,3,1,11,20,72,200,43,23,58,299,41,32,53,149,42,30,39,075,35*72 $GPGSV,3,2,11,48,37,196,45,31,33,050,26,16,31,139,34,13,31,283,31*7E $GPGSV,3,3,11,04,16,312,,01,13,209,22,07,02,227,*40 $GPRMC,072057.000,A,4404.1296,N,12118.8511,W,0.06,0.00,111111,,,D*76 gpsd-3.9/test/daemon/tr737A+.log.chk0000664000175000017500000072031112135526443015234 0ustar esresr$PMTK010,001*2E $GPGGA,235946.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4C $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,235946.033,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*72 $GPGGA,235947.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4C $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,235947.032,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*72 $GPGGA,235948.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*43 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,235948.032,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*7D $GPGGA,235949.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*42 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,235949.032,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*7C $GPGGA,235950.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4B $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPRMC,235950.033,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*75 $GPGGA,235951.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4A $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,01,23,,,25*7E $GPRMC,235951.033,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*74 $PMTK001,10,1*03 $GPGGA,235952.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*49 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,01,23,,,28*73 $GPRMC,235952.033,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*77 $GPGGA,235953.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*48 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,01,23,,,27*7C $GPRMC,235953.033,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*76 $GPGGA,235954.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4E $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,01,23,,,30*7A $GPRMC,235954.032,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*70 $GPGGA,235955.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4F $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,01,23,,,30*7A $GPRMC,235955.032,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*71 $GPGGA,235956.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4C $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,01,23,,,29*72 $GPRMC,235956.032,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*72 $GPGGA,235957.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4D $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,01,23,,,27*7C $GPRMC,235957.032,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*73 $GPGGA,235958.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*42 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,01,23,,,26*7D $GPRMC,235958.032,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*7C $GPGGA,235959.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*43 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,01,23,,,34*7E $GPRMC,235959.032,V,8960.0000,N,00000.0000,E,0.00,0.00,050180,,,N*7D $GPGGA,000000.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*42 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,02,23,,,46,13,,,28*70 $GPRMC,000000.032,V,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*7F $GPGGA,000001.032,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*43 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,02,23,,,35,13,,,35*78 $GPRMC,000001.032,V,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*7E $GPGGA,000002.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*41 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,02,23,,,27,13,,,32*7C $GPRMC,000002.033,V,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*7C $GPGGA,000003.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*40 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,02,23,,,34,13,,,34*78 $GPRMC,000003.033,V,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*7D $GPGGA,000004.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*47 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,02,23,,,32,13,,,33*79 $GPRMC,000004.033,V,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*7A $GPGGA,000005.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*46 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,02,23,,,32,13,,,31*7B $GPRMC,000005.033,V,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*7B $GPGGA,000006.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*45 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,02,23,,,30,13,,,32*7A $GPRMC,000006.033,V,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*78 $GPGGA,000007.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*44 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,02,23,,,30,13,,,32*7A $GPRMC,000007.033,V,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*79 $GPGGA,000008.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4B $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,03,23,,,30,13,,,32,32,,,44*7A $GPRMC,000008.033,V,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*76 $GPGGA,000009.033,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4A $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,03,23,,,30,13,,,32,32,,,46*78 $GPRMC,000009.033,V,8960.0000,N,00000.0000,E,0.00,0.00,060180,,,N*77 $GPGGA,071659.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4D $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,03,23,,,29,13,,,32,32,,,46*70 $GPRMC,071659.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*76 $GPGGA,071700.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*40 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,03,23,,,29,13,,,32,32,,,45*73 $GPRMC,071700.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7B $GPGGA,071701.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*41 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,03,23,,,29,13,,,32,32,,,46*70 $GPRMC,071701.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7A $GPGGA,071702.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*42 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,03,23,,,30,13,,,32,32,,,46*78 $GPRMC,071702.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*79 $GPGGA,071703.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*43 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,31,13,,,33,32,,,46,20,,,44*7D $GPRMC,071703.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*78 $GPGGA,071704.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*44 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,33,13,,,33,32,,,45,20,,,41*79 $GPRMC,071704.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7F $GPGGA,071705.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*45 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,33,13,,,33,32,,,44,20,,,42*7B $GPRMC,071705.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7E $GPGGA,071706.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*46 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,34,13,,,33,32,,,44,20,,,43*7D $GPRMC,071706.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7D $GPGGA,071707.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*47 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,35,13,,,32,32,,,44,20,,,42*7C $GPRMC,071707.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7C $GPGGA,071708.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*48 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,36,13,,,32,32,,,44,20,,,42*7F $GPRMC,071708.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*73 $GPGGA,071709.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*49 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,36,13,,,32,32,,,44,20,,,42*7F $GPRMC,071709.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*72 $GPGGA,071710.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*41 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,36,13,,,32,32,,,44,20,,,42*7F $GPRMC,071710.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7A $GPGGA,071711.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*40 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,36,13,,,32,32,,,44,20,,,42*7F $GPRMC,071711.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7B $GPGGA,071712.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*43 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,37,13,,,32,32,,,44,20,,,42*7E $GPRMC,071712.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*78 $GPGGA,071713.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*42 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,37,13,,,33,32,,,44,20,,,42*7F $GPRMC,071713.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*79 $GPGGA,071714.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*45 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,37,13,,,33,32,,,44,20,,,42*7F $GPRMC,071714.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7E $GPGGA,071715.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*44 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,37,13,,,33,32,,,44,20,,,42*7F $GPRMC,071715.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7F $GPGGA,071716.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*47 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,37,13,,,33,32,,,44,20,,,42*7F $GPRMC,071716.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7C $GPGGA,071717.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*46 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,37,13,,,33,32,,,44,20,,,42*7F $GPRMC,071717.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*7D $GPGGA,071718.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*49 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,37,13,,,33,32,,,44,20,,,42*7F $GPRMC,071718.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*72 $GPGGA,071719.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*48 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,37,13,,,33,32,,,44,20,,,42*7F $GPRMC,071719.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*73 $GPGGA,071720.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*42 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,37,13,,,33,32,,,44,20,,,42*7F $GPRMC,071720.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*79 $GPGGA,071721.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*43 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,37,13,,,33,32,,,44,20,,,42*7F $GPRMC,071721.929,V,8960.0000,N,00000.0000,E,0.00,0.00,110180,,,N*78 $GPGGA,071722.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*40 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,37,13,,,34,32,,,44,20,,,42*78 $GPRMC,071722.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*72 $GPGGA,071723.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*41 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,37,13,,,34,32,,,44,20,,,42*78 $GPRMC,071723.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*73 $GPGGA,071724.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*46 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,37,13,,,34,32,,,43,20,,,41*7C $GPRMC,071724.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*74 $GPGGA,071725.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*47 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,04,23,,,37,13,,,34,32,,,43,20,,,41*7C $GPRMC,071725.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*75 $GPGGA,071726.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*44 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,2,1,05,23,,,37,13,,,34,32,,,43,31,,,30*78 $GPGSV,2,2,05,20,,,41*7B $GPRMC,071726.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*76 $GPGGA,071727.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*45 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,2,1,05,23,,,37,13,,,34,32,,,43,31,,,30*78 $GPGSV,2,2,05,20,,,41*7B $GPRMC,071727.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*77 $GPGGA,071728.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4A $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,2,1,05,23,,,36,13,,,34,32,,,43,31,,,27*7F $GPGSV,2,2,05,20,,,41*7B $GPRMC,071728.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*78 $GPGGA,071729.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4B $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,2,1,05,23,,,36,13,,,34,32,,,43,31,,,31*78 $GPGSV,2,2,05,20,,,41*7B $GPRMC,071729.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*79 $GPGGA,071730.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*43 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,2,1,05,23,,,36,13,,,34,32,,,43,31,,,31*78 $GPGSV,2,2,05,20,,,41*7B $GPRMC,071730.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*71 $GPGGA,071731.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*42 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,2,1,05,23,,,36,13,,,34,32,,,43,31,,,31*78 $GPGSV,2,2,05,20,,,41*7B $GPRMC,071731.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*70 $GPGGA,071732.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*41 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,2,1,05,23,,,36,13,,,34,32,,,43,31,,,31*78 $GPGSV,2,2,05,20,,,41*7B $GPRMC,071732.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*73 $GPGGA,071733.929,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*40 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,2,1,05,23,,,36,13,,,34,32,,,43,31,,,31*78 $GPGSV,2,2,05,20,,,41*7B $GPRMC,071733.929,V,8960.0000,N,00000.0000,E,0.00,0.00,111111,,,N*72 $GPGGA,071734.929,4404.1178,N,12118.8608,W,0,4,,1127.8,M,-19.6,M,,*49 $GPGSA,A,1,,,,,,,,,,,,,,,*1E {"class":"TPV","tag":"GSA","mode":1} $GPGSV,2,1,05,23,,,37,13,,,34,32,,,43,31,,,31*79 $GPGSV,2,2,05,20,,,41*7B $GPRMC,071734.929,V,4404.1178,N,12118.8608,W,0.10,0.00,111111,,,N*67 $GPGGA,071736.000,4404.1316,N,12118.8445,W,1,4,5.21,1134.4,M,-19.6,M,,*5F {"class":"TPV","tag":"GGA","mode":3,"lat":44.068860000,"lon":-121.314075000,"alt":1134.400,"epv":0.000} $GPGSA,A,3,23,13,32,20,,,,,,,,,5.30,5.21,0.98*03 {"class":"TPV","tag":"GSA","mode":3,"lat":44.068860000,"lon":-121.314075000,"alt":1134.400,"epv":0.000} $GPGSV,2,1,06,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,*70 $GPGSV,2,2,06,13,30,282,34,31,,,31*41 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.21,"gdop":9.33,"pdop":5.30,"satellites":[{"PRN":20,"el":73,"az":204,"ss":41,"used":true},{"PRN":23,"el":56,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":0,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":31,"el":0,"az":0,"ss":31,"used":false}]} $GPRMC,071736.000,A,4404.1316,N,12118.8445,W,0.20,0.00,111111,,,A*7D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:36.000Z","ept":0.005,"lat":44.068860000,"lon":-121.314075000,"alt":1134.400,"epx":40.490,"epy":37.932,"epv":0.000,"track":0.0000,"speed":0.103} $GPGGA,071737.000,4404.1258,N,12118.8537,W,1,4,5.20,1131.0,M,-19.6,M,,*51 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.29,5.20,0.98*0A $GPGSV,2,1,06,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,44*70 $GPGSV,2,2,06,13,30,282,34,31,,,31*41 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.20,"gdop":9.33,"pdop":5.29,"satellites":[{"PRN":20,"el":73,"az":204,"ss":41,"used":true},{"PRN":23,"el":56,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":31,"el":0,"az":0,"ss":31,"used":false}]} $GPRMC,071737.000,A,4404.1258,N,12118.8537,W,0.12,0.00,111111,,,A*72 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:37.000Z","ept":0.005,"lat":44.068763333,"lon":-121.314228333,"alt":1131.000,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.062,"climb":-3.400,"eps":80.98} $GPGGA,071738.000,4404.1279,N,12118.8515,W,1,4,5.20,1137.3,M,-19.6,M,,*58 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.29,5.20,0.98*0A $GPGSV,2,1,06,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,45*71 $GPGSV,2,2,06,13,30,282,34,31,,,31*41 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.20,"gdop":9.33,"pdop":5.29,"satellites":[{"PRN":20,"el":73,"az":204,"ss":41,"used":true},{"PRN":23,"el":56,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":31,"el":0,"az":0,"ss":31,"used":false}]} $GPRMC,071738.000,A,4404.1279,N,12118.8515,W,0.05,0.00,111111,,,A*78 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:38.000Z","ept":0.005,"lat":44.068798333,"lon":-121.314191667,"alt":1137.300,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.026,"climb":6.300,"eps":80.98} $GPGGA,071739.000,4404.1284,N,12118.8506,W,1,4,5.20,1135.9,M,-19.6,M,,*51 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.29,5.20,0.98*0A $GPGSV,2,1,06,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,44*70 $GPGSV,2,2,06,13,30,282,34,31,,,31*41 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.20,"gdop":9.33,"pdop":5.29,"satellites":[{"PRN":20,"el":73,"az":204,"ss":41,"used":true},{"PRN":23,"el":56,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":31,"el":0,"az":0,"ss":31,"used":false}]} $GPRMC,071739.000,A,4404.1284,N,12118.8506,W,0.05,0.00,111111,,,A*79 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:39.000Z","ept":0.005,"lat":44.068806667,"lon":-121.314176667,"alt":1135.900,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.026,"climb":-1.400,"eps":80.98} $GPGGA,071740.000,4404.1303,N,12118.8486,W,1,4,5.20,1134.7,M,-19.6,M,,*57 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.29,5.20,0.98*0A $GPGSV,2,1,06,20,73,204,41,23,56,298,36,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,06,13,30,282,34,31,,,31*41 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.20,"gdop":9.33,"pdop":5.29,"satellites":[{"PRN":20,"el":73,"az":204,"ss":41,"used":true},{"PRN":23,"el":56,"az":298,"ss":36,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":31,"el":0,"az":0,"ss":31,"used":false}]} $GPRMC,071740.000,A,4404.1303,N,12118.8486,W,0.11,0.00,111111,,,A*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:40.000Z","ept":0.005,"lat":44.068838333,"lon":-121.314143333,"alt":1134.700,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.057,"climb":-1.200,"eps":80.98} $GPGGA,071741.000,4404.1316,N,12118.8473,W,1,4,5.20,1135.3,M,-19.6,M,,*5D $GPGSA,A,3,23,13,32,20,,,,,,,,,5.29,5.20,0.98*0A $GPGSV,2,1,06,20,73,204,41,23,56,298,36,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,06,13,30,282,34,31,,,31*41 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.20,"gdop":9.33,"pdop":5.29,"satellites":[{"PRN":20,"el":73,"az":204,"ss":41,"used":true},{"PRN":23,"el":56,"az":298,"ss":36,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":31,"el":0,"az":0,"ss":31,"used":false}]} $GPRMC,071741.000,A,4404.1316,N,12118.8473,W,0.08,0.00,111111,,,A*72 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:41.000Z","ept":0.005,"lat":44.068860000,"lon":-121.314121667,"alt":1135.300,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.041,"climb":0.600,"eps":80.98} $GPGGA,071742.000,4404.1314,N,12118.8476,W,1,4,5.20,1134.4,M,-19.6,M,,*5F $GPGSA,A,3,23,13,32,20,,,,,,,,,5.29,5.20,0.98*0A $GPGSV,2,1,06,20,73,204,41,23,56,298,36,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,06,13,30,282,34,31,,,30*40 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.20,"gdop":9.33,"pdop":5.29,"satellites":[{"PRN":20,"el":73,"az":204,"ss":41,"used":true},{"PRN":23,"el":56,"az":298,"ss":36,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":31,"el":0,"az":0,"ss":30,"used":false}]} $GPRMC,071742.000,A,4404.1314,N,12118.8476,W,0.03,0.00,111111,,,A*7D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:42.000Z","ept":0.005,"lat":44.068856667,"lon":-121.314126667,"alt":1134.400,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.015,"climb":-0.900,"eps":80.98} $GPGGA,071743.000,4404.1312,N,12118.8480,W,1,4,5.20,1134.6,M,-19.6,M,,*53 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.29,5.20,0.98*0A $GPGSV,2,1,06,20,73,204,41,23,56,298,36,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,06,13,30,282,34,31,,,31*41 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.20,"gdop":9.33,"pdop":5.29,"satellites":[{"PRN":20,"el":73,"az":204,"ss":41,"used":true},{"PRN":23,"el":56,"az":298,"ss":36,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":31,"el":0,"az":0,"ss":31,"used":false}]} $GPRMC,071743.000,A,4404.1312,N,12118.8480,W,0.04,0.00,111111,,,A*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:43.000Z","ept":0.005,"lat":44.068853333,"lon":-121.314133333,"alt":1134.600,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.021,"climb":0.200,"eps":80.98} $GPGGA,071744.000,4404.1305,N,12118.8487,W,1,4,5.20,1136.4,M,-19.6,M,,*55 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.29,5.20,0.98*0A $GPGSV,2,1,06,20,73,204,41,23,56,298,36,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,06,13,30,282,34,31,,,31*41 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.20,"gdop":9.33,"pdop":5.29,"satellites":[{"PRN":20,"el":73,"az":204,"ss":41,"used":true},{"PRN":23,"el":56,"az":298,"ss":36,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":31,"el":0,"az":0,"ss":31,"used":false}]} $GPRMC,071744.000,A,4404.1305,N,12118.8487,W,0.07,0.00,111111,,,A*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:44.000Z","ept":0.005,"lat":44.068841667,"lon":-121.314145000,"alt":1136.400,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.036,"climb":1.800,"eps":80.98} $GPGGA,071745.000,4404.1306,N,12118.8488,W,1,4,5.19,1138.1,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.19,0.98*01 $GPGSV,2,1,06,20,73,204,41,23,56,298,36,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,06,13,30,282,34,31,,,31*41 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.19,"gdop":9.33,"pdop":5.28,"satellites":[{"PRN":20,"el":73,"az":204,"ss":41,"used":true},{"PRN":23,"el":56,"az":298,"ss":36,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":31,"el":0,"az":0,"ss":31,"used":false}]} $GPRMC,071745.000,A,4404.1306,N,12118.8488,W,0.11,0.00,111111,,,A*7B {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:45.000Z","ept":0.005,"lat":44.068843333,"lon":-121.314146667,"alt":1138.100,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.057,"climb":1.700,"eps":80.98} $GPGGA,071746.000,4404.1306,N,12118.8487,W,1,4,5.20,1137.0,M,-19.6,M,,*51 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.29,5.20,0.98*0A $GPGSV,2,1,06,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,45*71 $GPGSV,2,2,06,13,30,282,34,31,,,31*41 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.20,"gdop":9.33,"pdop":5.29,"satellites":[{"PRN":20,"el":73,"az":204,"ss":41,"used":true},{"PRN":23,"el":56,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":31,"el":0,"az":0,"ss":31,"used":false}]} $GPRMC,071746.000,A,4404.1306,N,12118.8487,W,0.04,0.00,111111,,,A*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:46.000Z","ept":0.005,"lat":44.068843333,"lon":-121.314145000,"alt":1137.000,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.021,"climb":-1.100,"eps":80.98} $GPGGA,071747.000,4404.1314,N,12118.8479,W,1,4,5.20,1138.0,M,-19.6,M,,*5D $GPGSA,A,3,23,13,32,20,,,,,,,,,5.29,5.20,0.98*0A $GPGSV,2,1,07,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,07,13,30,282,34,01,14,210,,31,,,31*77 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.20,"gdop":9.33,"pdop":5.29,"satellites":[{"PRN":20,"el":73,"az":204,"ss":41,"used":true},{"PRN":23,"el":56,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false},{"PRN":31,"el":0,"az":0,"ss":31,"used":false}]} $GPRMC,071747.000,A,4404.1314,N,12118.8479,W,0.05,0.00,111111,,,A*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:47.000Z","ept":0.005,"lat":44.068856667,"lon":-121.314131667,"alt":1138.000,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.026,"climb":1.000,"eps":80.98} $GPGGA,071748.000,4404.1318,N,12118.8476,W,1,4,5.19,1137.9,M,-19.6,M,,*5D $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.19,0.98*01 $GPGSV,2,1,07,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,07,13,30,282,35,01,14,210,,31,,,31*76 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.19,"gdop":9.33,"pdop":5.28,"satellites":[{"PRN":20,"el":73,"az":204,"ss":41,"used":true},{"PRN":23,"el":56,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":35,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false},{"PRN":31,"el":0,"az":0,"ss":31,"used":false}]} $GPRMC,071748.000,A,4404.1318,N,12118.8476,W,0.03,0.00,111111,,,A*7B {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:48.000Z","ept":0.005,"lat":44.068863333,"lon":-121.314126667,"alt":1137.900,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.015,"climb":-0.100,"eps":80.98} $GPGGA,071749.000,4404.1318,N,12118.8475,W,1,4,5.19,1137.6,M,-19.6,M,,*50 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.19,0.98*01 $GPGSV,2,1,07,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,07,13,30,282,35,01,14,210,,31,,,30*77 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.19,"gdop":9.33,"pdop":5.28,"satellites":[{"PRN":20,"el":73,"az":204,"ss":41,"used":true},{"PRN":23,"el":56,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":35,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false},{"PRN":31,"el":0,"az":0,"ss":30,"used":false}]} $GPRMC,071749.000,A,4404.1318,N,12118.8475,W,0.04,0.00,111111,,,A*7E {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:49.000Z","ept":0.005,"lat":44.068863333,"lon":-121.314125000,"alt":1137.600,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.021,"climb":-0.300,"eps":80.98} $GPGGA,071750.000,4404.1314,N,12118.8480,W,1,4,5.19,1138.4,M,-19.6,M,,*53 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.19,0.98*01 $GPGSV,2,1,07,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,07,13,30,282,35,01,14,210,,31,,,30*77 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.19,"gdop":9.33,"pdop":5.28,"satellites":[{"PRN":20,"el":73,"az":204,"ss":41,"used":true},{"PRN":23,"el":56,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":35,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false},{"PRN":31,"el":0,"az":0,"ss":30,"used":false}]} $GPRMC,071750.000,A,4404.1314,N,12118.8480,W,0.03,0.00,111111,,,A*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:50.000Z","ept":0.005,"lat":44.068856667,"lon":-121.314133333,"alt":1138.400,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.015,"climb":0.800,"eps":80.98} $GPGGA,071751.000,4404.1316,N,12118.8480,W,1,4,5.19,1138.0,M,-19.6,M,,*54 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.19,0.98*01 $GPGSV,2,1,07,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,07,13,30,282,35,01,14,210,,31,,,31*76 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.19,"gdop":9.33,"pdop":5.28,"satellites":[{"PRN":20,"el":73,"az":204,"ss":41,"used":true},{"PRN":23,"el":56,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":35,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false},{"PRN":31,"el":0,"az":0,"ss":31,"used":false}]} $GPRMC,071751.000,A,4404.1316,N,12118.8480,W,0.03,0.00,111111,,,A*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:51.000Z","ept":0.005,"lat":44.068860000,"lon":-121.314133333,"alt":1138.000,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.015,"climb":-0.400,"eps":80.98} $GPGGA,071752.000,4404.1316,N,12118.8480,W,1,4,5.19,1138.2,M,-19.6,M,,*55 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.19,0.98*01 $GPGSV,2,1,07,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,07,13,30,282,35,01,14,210,,31,,,32*75 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.19,"gdop":9.33,"pdop":5.28,"satellites":[{"PRN":20,"el":73,"az":204,"ss":41,"used":true},{"PRN":23,"el":56,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":35,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false},{"PRN":31,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071752.000,A,4404.1316,N,12118.8480,W,0.03,0.00,111111,,,A*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:52.000Z","ept":0.005,"lat":44.068860000,"lon":-121.314133333,"alt":1138.200,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.015,"climb":0.200,"eps":80.98} $GPGGA,071753.000,4404.1316,N,12118.8480,W,1,4,5.19,1137.8,M,-19.6,M,,*51 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.19,0.98*01 $GPGSV,2,1,07,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,07,13,30,282,35,01,14,210,,31,,,32*75 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.19,"gdop":9.33,"pdop":5.28,"satellites":[{"PRN":20,"el":73,"az":204,"ss":41,"used":true},{"PRN":23,"el":56,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":35,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false},{"PRN":31,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071753.000,A,4404.1316,N,12118.8480,W,0.04,0.00,111111,,,A*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:53.000Z","ept":0.005,"lat":44.068860000,"lon":-121.314133333,"alt":1137.800,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.021,"climb":-0.400,"eps":80.98} $GPGGA,071754.000,4404.1314,N,12118.8481,W,1,4,5.19,1137.2,M,-19.6,M,,*5F $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.19,0.98*01 $GPGSV,2,1,07,20,73,204,41,23,56,298,37,32,54,148,43,48,37,196,45*70 $GPGSV,2,2,07,13,30,282,35,01,14,210,,31,,,32*75 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.19,"gdop":9.33,"pdop":5.28,"satellites":[{"PRN":20,"el":73,"az":204,"ss":41,"used":true},{"PRN":23,"el":56,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":35,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false},{"PRN":31,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071754.000,A,4404.1314,N,12118.8481,W,0.03,0.00,111111,,,A*72 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:54.000Z","ept":0.005,"lat":44.068856667,"lon":-121.314135000,"alt":1137.200,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.015,"climb":-0.600,"eps":80.98} $GPGGA,071755.000,4404.1320,N,12118.8477,W,1,4,5.18,1136.7,M,-19.6,M,,*55 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.18,0.98*00 $GPGSV,2,1,07,20,73,204,42,23,56,298,37,32,54,148,43,48,37,196,45*73 $GPGSV,2,2,07,13,30,282,35,01,14,210,,31,,,32*75 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.18,"gdop":9.33,"pdop":5.28,"satellites":[{"PRN":20,"el":73,"az":204,"ss":42,"used":true},{"PRN":23,"el":56,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":35,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false},{"PRN":31,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071755.000,A,4404.1320,N,12118.8477,W,0.05,0.00,111111,,,A*7B {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:55.000Z","ept":0.005,"lat":44.068866667,"lon":-121.314128333,"alt":1136.700,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.026,"climb":-0.500,"eps":80.98} $GPGGA,071756.000,4404.1315,N,12118.8480,W,1,4,5.18,1135.5,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.18,0.98*00 $GPGSV,2,1,07,20,73,204,42,23,56,298,37,32,54,148,43,48,37,196,45*73 $GPGSV,2,2,07,13,30,282,34,01,14,210,,31,,,32*74 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.18,"gdop":9.33,"pdop":5.28,"satellites":[{"PRN":20,"el":73,"az":204,"ss":42,"used":true},{"PRN":23,"el":56,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false},{"PRN":31,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071756.000,A,4404.1315,N,12118.8480,W,0.11,0.00,111111,,,A*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:56.000Z","ept":0.005,"lat":44.068858333,"lon":-121.314133333,"alt":1135.500,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.057,"climb":-1.200,"eps":80.98} $GPGGA,071757.000,4404.1319,N,12118.8475,W,1,4,5.19,1135.0,M,-19.6,M,,*5A $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.19,0.98*01 $GPGSV,2,1,07,20,73,203,42,23,56,298,37,32,54,148,43,48,37,196,45*74 $GPGSV,2,2,07,13,30,282,34,01,14,210,,31,,,32*74 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.19,"gdop":9.33,"pdop":5.28,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":56,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false},{"PRN":31,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071757.000,A,4404.1319,N,12118.8475,W,0.07,0.00,111111,,,A*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:57.000Z","ept":0.005,"lat":44.068865000,"lon":-121.314125000,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.036,"climb":-0.500,"eps":80.98} $GPGGA,071758.000,4404.1314,N,12118.8481,W,1,4,5.18,1134.1,M,-19.6,M,,*52 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.28,5.18,0.98*00 $GPGSV,2,1,07,20,73,203,42,23,56,298,37,32,54,148,43,48,37,196,45*74 $GPGSV,2,2,07,13,30,282,34,01,14,210,,31,,,32*74 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.18,"gdop":9.33,"pdop":5.28,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":56,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false},{"PRN":31,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071758.000,A,4404.1314,N,12118.8481,W,0.03,0.00,111111,,,A*7E {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:58.000Z","ept":0.005,"lat":44.068856667,"lon":-121.314135000,"alt":1134.100,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.015,"climb":-0.900,"eps":80.98} $GPGGA,071759.000,4404.1314,N,12118.8481,W,1,4,5.18,1134.1,M,-19.6,M,,*53 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.27,5.18,0.98*0F $GPGSV,2,1,07,20,73,203,42,23,56,298,37,32,54,148,43,48,37,196,45*74 $GPGSV,2,2,07,13,30,282,34,01,14,210,,31,,,32*74 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.18,"gdop":9.33,"pdop":5.27,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":56,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false},{"PRN":31,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071759.000,A,4404.1314,N,12118.8481,W,0.02,0.00,111111,,,A*7E {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:17:59.000Z","ept":0.005,"lat":44.068856667,"lon":-121.314135000,"alt":1134.100,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.010,"climb":0.000,"eps":80.98} $GPGGA,071800.000,4404.1313,N,12118.8481,W,1,4,5.18,1133.8,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.27,5.18,0.98*0F $GPGSV,2,1,07,20,73,203,42,23,57,298,37,32,54,148,43,48,37,196,45*75 $GPGSV,2,2,07,13,30,282,34,01,14,210,,31,,,32*74 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.18,"gdop":9.33,"pdop":5.27,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false},{"PRN":31,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071800.000,A,4404.1313,N,12118.8481,W,0.03,0.00,111111,,,A*7B {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:00.000Z","ept":0.005,"lat":44.068855000,"lon":-121.314135000,"alt":1133.800,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.015,"climb":-0.300,"eps":80.98} $GPGGA,071801.000,4404.1312,N,12118.8482,W,1,4,5.18,1134.1,M,-19.6,M,,*54 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.27,5.18,0.98*0F $GPGSV,2,1,07,20,73,203,42,23,57,298,38,32,54,148,43,48,37,196,45*7A $GPGSV,2,2,07,13,30,282,34,01,14,210,,31,,,32*74 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.18,"gdop":9.33,"pdop":5.27,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false},{"PRN":31,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071801.000,A,4404.1312,N,12118.8482,W,0.03,0.00,111111,,,A*78 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:01.000Z","ept":0.005,"lat":44.068853333,"lon":-121.314136667,"alt":1134.100,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.015,"climb":0.300,"eps":80.98} $GPGGA,071802.000,4404.1309,N,12118.8484,W,1,4,5.18,1134.3,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.27,5.18,0.98*0F $GPGSV,2,1,07,20,73,203,42,23,57,298,38,32,54,148,43,48,37,196,45*7A $GPGSV,2,2,07,13,30,282,34,01,14,210,,31,,,32*74 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.18,"gdop":9.33,"pdop":5.27,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false},{"PRN":31,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071802.000,A,4404.1309,N,12118.8484,W,0.06,0.00,111111,,,A*72 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:02.000Z","ept":0.005,"lat":44.068848333,"lon":-121.314140000,"alt":1134.300,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.031,"climb":0.200,"eps":80.98} $GPGGA,071803.000,4404.1312,N,12118.8481,W,1,4,5.18,1134.0,M,-19.6,M,,*54 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.27,5.18,0.98*0F $GPGSV,2,1,07,20,73,203,42,23,57,298,38,32,54,148,43,48,37,196,45*7A $GPGSV,2,2,07,13,30,282,34,01,14,210,,31,,,32*74 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.18,"gdop":9.33,"pdop":5.27,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false},{"PRN":31,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071803.000,A,4404.1312,N,12118.8481,W,0.09,0.00,111111,,,A*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:03.000Z","ept":0.005,"lat":44.068853333,"lon":-121.314135000,"alt":1134.000,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.046,"climb":-0.300,"eps":80.98} $GPGGA,071804.000,4404.1315,N,12118.8479,W,1,4,5.18,1133.2,M,-19.6,M,,*56 $GPGSA,A,3,23,13,32,20,,,,,,,,,5.27,5.18,0.98*0F $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,13,30,282,34,01,14,210,,31,,,32*74 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.98,"tdop":5.88,"hdop":5.18,"gdop":9.33,"pdop":5.27,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false},{"PRN":31,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071804.000,A,4404.1315,N,12118.8479,W,0.12,0.00,111111,,,A*7E {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:04.000Z","ept":0.005,"lat":44.068858333,"lon":-121.314131667,"alt":1133.200,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.062,"climb":-0.800,"eps":80.98} $GPGGA,071805.000,4404.1320,N,12118.8475,W,1,5,1.49,1133.5,M,-19.6,M,,*5B $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.78,1.49,0.96*0D $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,32,13,30,282,34,01,14,210,*46 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.96,"tdop":5.88,"hdop":1.49,"gdop":9.33,"pdop":1.78,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":32,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071805.000,A,4404.1320,N,12118.8475,W,0.12,0.00,111111,,,A*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:05.000Z","ept":0.005,"lat":44.068866667,"lon":-121.314125000,"alt":1133.500,"epx":40.490,"epy":37.932,"epv":22.540,"track":0.0000,"speed":0.062,"climb":0.300,"eps":80.98} $GPGGA,071806.000,4404.1319,N,12118.8476,W,1,5,1.49,1133.7,M,-19.6,M,,*53 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,32,13,30,282,34,01,14,210,*46 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.96,"tdop":5.88,"hdop":1.49,"gdop":9.33,"pdop":1.77,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":32,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071806.000,A,4404.1319,N,12118.8476,W,0.16,0.00,111111,,,A*7B {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:06.000Z","ept":0.005,"lat":44.068865000,"lon":-121.314126667,"alt":1133.700,"epx":40.490,"epy":37.932,"epv":22.080,"track":0.0000,"speed":0.082,"climb":0.200,"eps":80.98} $GPGGA,071807.000,4404.1315,N,12118.8480,W,1,5,1.49,1133.7,M,-19.6,M,,*57 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,32,13,30,282,34,01,14,210,*46 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.96,"tdop":5.88,"hdop":1.49,"gdop":9.33,"pdop":1.77,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":32,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071807.000,A,4404.1315,N,12118.8480,W,0.12,0.00,111111,,,A*7B {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:07.000Z","ept":0.005,"lat":44.068858333,"lon":-121.314133333,"alt":1133.700,"epx":40.490,"epy":37.932,"epv":22.080,"track":0.0000,"speed":0.062,"climb":0.000,"eps":80.98} $GPGGA,071808.000,4404.1313,N,12118.8481,W,1,5,1.49,1133.9,M,-19.6,M,,*51 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,32,13,30,282,34,01,14,210,*46 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.96,"tdop":5.88,"hdop":1.49,"gdop":9.33,"pdop":1.77,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":32,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071808.000,A,4404.1313,N,12118.8481,W,0.09,0.00,111111,,,A*79 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:08.000Z","ept":0.005,"lat":44.068855000,"lon":-121.314135000,"alt":1133.900,"epx":40.490,"epy":37.932,"epv":22.080,"track":0.0000,"speed":0.046,"climb":0.200,"eps":80.98} $GPGGA,071809.000,4404.1315,N,12118.8480,W,1,5,1.49,1134.1,M,-19.6,M,,*58 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,32,13,30,282,34,01,14,210,*46 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.96,"tdop":5.88,"hdop":1.49,"gdop":9.33,"pdop":1.77,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":32,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071809.000,A,4404.1315,N,12118.8480,W,0.07,0.00,111111,,,A*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:09.000Z","ept":0.005,"lat":44.068858333,"lon":-121.314133333,"alt":1134.100,"epx":40.490,"epy":37.932,"epv":22.080,"track":0.0000,"speed":0.036,"climb":0.200,"eps":80.98} $GPGGA,071810.000,4404.1315,N,12118.8479,W,1,5,1.49,1134.2,M,-19.6,M,,*55 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.96,"tdop":5.88,"hdop":1.49,"gdop":9.33,"pdop":1.77,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":31,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071810.000,A,4404.1315,N,12118.8479,W,0.07,0.00,111111,,,A*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:10.000Z","ept":0.005,"lat":44.068858333,"lon":-121.314131667,"alt":1134.200,"epx":40.490,"epy":37.932,"epv":22.080,"track":0.0000,"speed":0.036,"climb":0.100,"eps":80.98} $GPGGA,071811.000,4404.1312,N,12118.8482,W,1,5,1.49,1134.3,M,-19.6,M,,*56 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.96,"tdop":5.88,"hdop":1.49,"gdop":9.33,"pdop":1.77,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":31,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071811.000,A,4404.1312,N,12118.8482,W,0.07,0.00,111111,,,A*7D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:11.000Z","ept":0.005,"lat":44.068853333,"lon":-121.314136667,"alt":1134.300,"epx":40.490,"epy":37.932,"epv":22.080,"track":0.0000,"speed":0.036,"climb":0.100,"eps":80.98} $GPGGA,071812.000,4404.1310,N,12118.8484,W,1,5,1.49,1134.7,M,-19.6,M,,*55 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.96,"tdop":5.88,"hdop":1.49,"gdop":9.33,"pdop":1.77,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":31,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071812.000,A,4404.1310,N,12118.8484,W,0.06,0.00,111111,,,A*7B {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:12.000Z","ept":0.005,"lat":44.068850000,"lon":-121.314140000,"alt":1134.700,"epx":40.490,"epy":37.932,"epv":22.080,"track":0.0000,"speed":0.031,"climb":0.400,"eps":80.98} $GPGGA,071813.000,4404.1309,N,12118.8486,W,1,5,1.49,1134.6,M,-19.6,M,,*5F $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.96,"tdop":5.88,"hdop":1.49,"gdop":9.33,"pdop":1.77,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":31,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071813.000,A,4404.1309,N,12118.8486,W,0.07,0.00,111111,,,A*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:13.000Z","ept":0.005,"lat":44.068848333,"lon":-121.314143333,"alt":1134.600,"epx":40.490,"epy":37.932,"epv":22.080,"track":0.0000,"speed":0.036,"climb":-0.100,"eps":80.98} $GPGGA,071814.000,4404.1309,N,12118.8485,W,1,5,1.49,1134.8,M,-19.6,M,,*55 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.96,"tdop":5.88,"hdop":1.49,"gdop":9.33,"pdop":1.77,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":31,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071814.000,A,4404.1309,N,12118.8485,W,0.08,0.00,111111,,,A*7A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:14.000Z","ept":0.005,"lat":44.068848333,"lon":-121.314141667,"alt":1134.800,"epx":40.490,"epy":37.932,"epv":22.080,"track":0.0000,"speed":0.041,"climb":0.200,"eps":80.98} $GPGGA,071815.000,4404.1305,N,12118.8489,W,1,5,1.49,1135.4,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.96,"tdop":5.88,"hdop":1.49,"gdop":9.33,"pdop":1.77,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":31,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071815.000,A,4404.1305,N,12118.8489,W,0.10,0.00,111111,,,A*72 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:15.000Z","ept":0.005,"lat":44.068841667,"lon":-121.314148333,"alt":1135.400,"epx":40.490,"epy":37.932,"epv":22.080,"track":0.0000,"speed":0.051,"climb":0.600,"eps":80.98} $GPGGA,071816.000,4404.1305,N,12118.8490,W,1,5,1.49,1135.0,M,-19.6,M,,*56 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.96,"tdop":5.88,"hdop":1.49,"gdop":9.33,"pdop":1.77,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":31,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071816.000,A,4404.1305,N,12118.8490,W,0.11,0.00,111111,,,A*78 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:16.000Z","ept":0.005,"lat":44.068841667,"lon":-121.314150000,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":22.080,"track":0.0000,"speed":0.057,"climb":-0.400,"eps":80.98} $GPGGA,071817.000,4404.1305,N,12118.8489,W,1,5,1.49,1134.5,M,-19.6,M,,*5B $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.96,"tdop":5.88,"hdop":1.49,"gdop":9.33,"pdop":1.77,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":31,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071817.000,A,4404.1305,N,12118.8489,W,0.11,0.00,111111,,,A*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:17.000Z","ept":0.005,"lat":44.068841667,"lon":-121.314148333,"alt":1134.500,"epx":40.490,"epy":37.932,"epv":22.080,"track":0.0000,"speed":0.057,"climb":-0.500,"eps":80.98} $GPGGA,071818.000,4404.1305,N,12118.8489,W,1,5,1.49,1134.3,M,-19.6,M,,*52 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.96,"tdop":5.88,"hdop":1.49,"gdop":9.33,"pdop":1.77,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":31,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071818.000,A,4404.1305,N,12118.8489,W,0.09,0.00,111111,,,A*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:18.000Z","ept":0.005,"lat":44.068841667,"lon":-121.314148333,"alt":1134.300,"epx":40.490,"epy":37.932,"epv":22.080,"track":0.0000,"speed":0.046,"climb":-0.200,"eps":80.98} $GPGGA,071819.000,4404.1303,N,12118.8492,W,1,5,1.49,1134.4,M,-19.6,M,,*58 $GPGSA,A,3,23,13,32,31,20,,,,,,,,1.77,1.49,0.96*02 $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":0.96,"tdop":5.88,"hdop":1.49,"gdop":9.33,"pdop":1.77,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":31,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071819.000,A,4404.1303,N,12118.8492,W,0.07,0.00,111111,,,A*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:19.000Z","ept":0.005,"lat":44.068838333,"lon":-121.314153333,"alt":1134.400,"epx":40.490,"epy":37.932,"epv":22.080,"track":0.0000,"speed":0.036,"climb":0.100,"eps":80.98} $GPGGA,071820.000,4404.1304,N,12118.8490,W,1,5,1.76,1134.7,M,-19.6,M,,*58 $GPGSA,A,3,23,13,32,31,20,,,,,,,,3.80,1.76,3.37*0C $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.37,"tdop":5.88,"hdop":1.76,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":31,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071820.000,A,4404.1304,N,12118.8490,W,0.05,0.00,111111,,,A*79 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:20.000Z","ept":0.005,"lat":44.068840000,"lon":-121.314150000,"alt":1134.700,"epx":40.490,"epy":37.932,"epv":22.080,"track":0.0000,"speed":0.026,"climb":0.300,"eps":80.98} $GPGGA,071821.000,4404.1302,N,12118.8492,W,1,5,1.76,1135.0,M,-19.6,M,,*5B $GPGSA,A,3,23,13,32,31,20,,,,,,,,3.80,1.76,3.36*0D $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.36,"tdop":5.88,"hdop":1.76,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":31,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071821.000,A,4404.1302,N,12118.8492,W,0.05,0.00,111111,,,A*7C {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:21.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.510,"track":0.0000,"speed":0.026,"climb":0.300,"eps":80.98} $GPGGA,071822.000,4404.1302,N,12118.8492,W,1,5,1.76,1135.0,M,-19.6,M,,*58 $GPGSA,A,3,23,13,32,31,20,,,,,,,,3.80,1.76,3.37*0C $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.37,"tdop":5.88,"hdop":1.76,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":31,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071822.000,A,4404.1302,N,12118.8492,W,0.04,0.00,111111,,,A*7E {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:22.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.280,"track":0.0000,"speed":0.021,"climb":0.000,"eps":80.98} $GPGGA,071823.000,4404.1302,N,12118.8492,W,1,5,1.76,1135.0,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,31,20,,,,,,,,3.80,1.76,3.36*0D $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,31,13,30,282,34,01,14,210,*45 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.36,"tdop":5.88,"hdop":1.76,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":31,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071823.000,A,4404.1302,N,12118.8492,W,0.04,0.00,111111,,,A*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:23.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.510,"track":0.0000,"speed":0.021,"climb":0.000,"eps":80.98} $GPGGA,071824.000,4404.1302,N,12118.8492,W,1,5,1.76,1135.0,M,-19.6,M,,*5E $GPGSA,A,3,23,13,32,31,20,,,,,,,,3.80,1.76,3.36*0D $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,30,13,30,282,34,01,14,210,*44 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.36,"tdop":5.88,"hdop":1.76,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":30,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071824.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:24.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.280,"track":0.0000,"speed":0.015,"climb":0.000,"eps":80.98} $GPGGA,071825.000,4404.1302,N,12118.8492,W,1,5,1.76,1135.0,M,-19.6,M,,*5F $GPGSA,A,3,23,13,32,31,20,,,,,,,,3.80,1.76,3.37*0C $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,30,13,30,282,34,01,14,210,*44 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.37,"tdop":5.88,"hdop":1.76,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":30,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071825.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*7E {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:25.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.280,"track":0.0000,"speed":0.015,"climb":0.000,"eps":80.98} $GPGGA,071826.000,4404.1302,N,12118.8492,W,1,5,1.76,1135.0,M,-19.6,M,,*5C $GPGSA,A,3,23,13,32,31,20,,,,,,,,3.80,1.76,3.37*0C $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,30,13,30,282,34,01,14,210,*44 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.37,"tdop":5.88,"hdop":1.76,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":30,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071826.000,A,4404.1302,N,12118.8492,W,0.04,0.00,111111,,,A*7A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:26.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.510,"track":0.0000,"speed":0.021,"climb":0.000,"eps":80.98} $GPGGA,071827.000,4404.1302,N,12118.8492,W,1,5,1.76,1135.0,M,-19.6,M,,*5D $GPGSA,A,3,23,13,32,31,20,,,,,,,,3.80,1.76,3.37*0C $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,30,13,30,282,34,01,14,210,*44 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.37,"tdop":5.88,"hdop":1.76,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":30,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071827.000,A,4404.1302,N,12118.8492,W,0.05,0.00,111111,,,A*7A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:27.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.510,"track":0.0000,"speed":0.026,"climb":0.000,"eps":80.98} $GPGGA,071828.000,4404.1302,N,12118.8492,W,1,5,1.76,1135.0,M,-19.6,M,,*52 $GPGSA,A,3,23,13,32,31,20,,,,,,,,3.80,1.76,3.36*0D $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,29,13,30,282,34,01,14,210,*4C {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.36,"tdop":5.88,"hdop":1.76,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":29,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":0,"used":false}]} $GPRMC,071828.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:28.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.510,"track":0.0000,"speed":0.015,"climb":0.000,"eps":80.98} $GPGGA,071829.000,4404.1302,N,12118.8492,W,1,6,1.76,1135.0,M,-19.6,M,,*50 $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.76,3.37*0D $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,43,48,37,196,45*7B $GPGSV,2,2,07,31,34,050,29,13,30,282,34,01,14,210,28*46 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.37,"tdop":5.88,"hdop":1.76,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":29,"used":true},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":210,"ss":28,"used":true}]} $GPRMC,071829.000,A,4404.1302,N,12118.8492,W,0.04,0.00,111111,,,A*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:29.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.280,"track":0.0000,"speed":0.021,"climb":0.000,"eps":80.98} $GPGGA,071830.000,4404.1302,N,12118.8492,W,1,6,1.76,1135.0,M,-19.6,M,,*58 $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.76,3.37*0D $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,44,48,37,196,45*7C $GPGSV,2,2,07,31,34,050,29,13,30,282,35,01,14,210,28*47 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.37,"tdop":5.88,"hdop":1.76,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":44,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":29,"used":true},{"PRN":13,"el":30,"az":282,"ss":35,"used":true},{"PRN":1,"el":14,"az":210,"ss":28,"used":true}]} $GPRMC,071830.000,A,4404.1302,N,12118.8492,W,0.06,0.00,111111,,,A*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:30.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.510,"track":0.0000,"speed":0.031,"climb":0.000,"eps":80.98} $GPGGA,071831.000,4404.1302,N,12118.8492,W,1,6,1.76,1135.0,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.76,3.37*0D $GPGSV,2,1,07,20,73,203,42,23,57,298,39,32,54,148,44,48,37,196,45*7C $GPGSV,2,2,07,31,34,050,30,13,30,282,35,01,14,210,29*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.37,"tdop":5.88,"hdop":1.76,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":203,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":44,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":30,"used":true},{"PRN":13,"el":30,"az":282,"ss":35,"used":true},{"PRN":1,"el":14,"az":210,"ss":29,"used":true}]} $GPRMC,071831.000,A,4404.1302,N,12118.8492,W,0.05,0.00,111111,,,A*7D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:31.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.510,"track":0.0000,"speed":0.026,"climb":0.000,"eps":80.98} $GPGGA,071832.000,4404.1302,N,12118.8492,W,1,6,1.76,1135.0,M,-19.6,M,,*5A $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.76,3.37*0D $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,45*7D $GPGSV,2,2,07,31,34,050,30,13,30,282,35,01,14,210,28*4F {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.37,"tdop":5.88,"hdop":1.76,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":202,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":44,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":30,"used":true},{"PRN":13,"el":30,"az":282,"ss":35,"used":true},{"PRN":1,"el":14,"az":210,"ss":28,"used":true}]} $GPRMC,071832.000,A,4404.1302,N,12118.8492,W,0.04,0.00,111111,,,A*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:32.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.510,"track":0.0000,"speed":0.021,"climb":0.000,"eps":80.98} $GPGGA,071833.000,4404.1302,N,12118.8492,W,1,6,1.76,1135.0,M,-19.6,M,,*5B $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.76,3.37*0D $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,45*7D $GPGSV,2,2,07,31,34,050,30,13,30,282,35,01,14,210,28*4F {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.37,"tdop":5.88,"hdop":1.76,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":202,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":44,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":30,"used":true},{"PRN":13,"el":30,"az":282,"ss":35,"used":true},{"PRN":1,"el":14,"az":210,"ss":28,"used":true}]} $GPRMC,071833.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*79 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:33.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.510,"track":0.0000,"speed":0.015,"climb":0.000,"eps":80.98} $GPGGA,071834.000,4404.1302,N,12118.8492,W,1,6,1.76,1135.0,M,-19.6,M,,*5C $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.76,3.37*0D $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,45*7D $GPGSV,2,2,07,31,34,050,29,13,30,282,35,01,14,210,28*47 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.37,"tdop":5.88,"hdop":1.76,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":202,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":44,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":29,"used":true},{"PRN":13,"el":30,"az":282,"ss":35,"used":true},{"PRN":1,"el":14,"az":210,"ss":28,"used":true}]} $GPRMC,071834.000,A,4404.1302,N,12118.8492,W,0.02,0.00,111111,,,A*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:34.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.510,"track":0.0000,"speed":0.010,"climb":0.000,"eps":80.98} $GPGGA,071835.000,4404.1302,N,12118.8492,W,1,6,1.76,1135.0,M,-19.6,M,,*5D $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.76,3.37*0D $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,45*7D $GPGSV,2,2,07,31,34,050,29,13,30,282,36,01,14,210,28*44 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.37,"tdop":5.88,"hdop":1.76,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":202,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":44,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":29,"used":true},{"PRN":13,"el":30,"az":282,"ss":36,"used":true},{"PRN":1,"el":14,"az":210,"ss":28,"used":true}]} $GPRMC,071835.000,A,4404.1302,N,12118.8492,W,0.05,0.00,111111,,,A*79 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:35.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.510,"track":0.0000,"speed":0.026,"climb":0.000,"eps":80.98} $GPGGA,071836.000,4404.1302,N,12118.8492,W,1,5,6.23,1135.0,M,-19.6,M,,*5A $GPGSA,A,3,23,13,32,20,01,,,,,,,,7.75,6.23,4.60*03 $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,45*7D $GPGSV,2,2,07,31,34,050,27,13,30,282,36,01,14,210,27*45 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.60,"tdop":5.88,"hdop":6.23,"gdop":9.33,"pdop":7.75,"satellites":[{"PRN":20,"el":73,"az":202,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":44,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":27,"used":false},{"PRN":13,"el":30,"az":282,"ss":36,"used":true},{"PRN":1,"el":14,"az":210,"ss":27,"used":true}]} $GPRMC,071836.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*7C {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:36.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.510,"track":0.0000,"speed":0.015,"climb":0.000,"eps":80.98} $GPGGA,071837.000,4404.1302,N,12118.8492,W,1,6,1.76,1135.0,M,-19.6,M,,*5F $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.76,3.37*0D $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,45*7D $GPGSV,2,2,07,31,34,050,27,13,30,282,36,01,14,210,26*44 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.37,"tdop":5.88,"hdop":1.76,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":202,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":44,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":27,"used":true},{"PRN":13,"el":30,"az":282,"ss":36,"used":true},{"PRN":1,"el":14,"az":210,"ss":26,"used":true}]} $GPRMC,071837.000,A,4404.1302,N,12118.8492,W,0.02,0.00,111111,,,A*7C {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:37.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":105.800,"track":0.0000,"speed":0.010,"climb":0.000,"eps":80.98} $GPGGA,071838.000,4404.1302,N,12118.8492,W,1,6,1.76,1135.0,M,-19.6,M,,*50 $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.76,3.37*0D $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,45*7D $GPGSV,2,2,07,31,34,050,27,13,30,282,36,01,14,210,26*44 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.37,"tdop":5.88,"hdop":1.76,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":202,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":44,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":27,"used":true},{"PRN":13,"el":30,"az":282,"ss":36,"used":true},{"PRN":1,"el":14,"az":210,"ss":26,"used":true}]} $GPRMC,071838.000,A,4404.1302,N,12118.8492,W,0.02,0.00,111111,,,A*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:38.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.510,"track":0.0000,"speed":0.010,"climb":0.000,"eps":80.98} $GPGGA,071839.000,4404.1302,N,12118.8492,W,1,6,1.76,1135.0,M,-19.6,M,,*51 $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.76,3.37*0D $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,44*7C $GPGSV,2,2,07,31,34,050,27,13,30,282,36,01,14,210,26*44 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.37,"tdop":5.88,"hdop":1.76,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":202,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":44,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":27,"used":true},{"PRN":13,"el":30,"az":282,"ss":36,"used":true},{"PRN":1,"el":14,"az":210,"ss":26,"used":true}]} $GPRMC,071839.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:39.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.510,"track":0.0000,"speed":0.015,"climb":0.000,"eps":80.98} $GPGGA,071840.000,4404.1302,N,12118.8492,W,1,6,1.75,1135.0,M,-19.6,M,,*5C $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.75,3.37*0E $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,44*7C $GPGSV,2,2,07,31,34,050,27,13,30,282,36,01,14,210,26*44 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.37,"tdop":5.88,"hdop":1.75,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":202,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":44,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":27,"used":true},{"PRN":13,"el":30,"az":282,"ss":36,"used":true},{"PRN":1,"el":14,"az":210,"ss":26,"used":true}]} $GPRMC,071840.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*7D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:40.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.510,"track":0.0000,"speed":0.015,"climb":0.000,"eps":80.98} $GPGGA,071841.000,4404.1302,N,12118.8492,W,1,5,6.22,1135.0,M,-19.6,M,,*5B $GPGSA,A,3,23,13,32,20,01,,,,,,,,7.74,6.22,4.60*03 $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,44*7C $GPGSV,2,2,07,31,34,050,26,13,30,282,36,01,14,210,26*45 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.60,"tdop":5.88,"hdop":6.22,"gdop":9.33,"pdop":7.74,"satellites":[{"PRN":20,"el":73,"az":202,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":44,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":26,"used":false},{"PRN":13,"el":30,"az":282,"ss":36,"used":true},{"PRN":1,"el":14,"az":210,"ss":26,"used":true}]} $GPRMC,071841.000,A,4404.1302,N,12118.8492,W,0.02,0.00,111111,,,A*7D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:41.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.510,"track":0.0000,"speed":0.010,"climb":0.000,"eps":80.98} $GPGGA,071842.000,4404.1302,N,12118.8492,W,1,6,1.75,1135.0,M,-19.6,M,,*5E $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.75,3.37*0E $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,44*7C $GPGSV,2,2,07,31,34,050,26,13,30,282,36,01,14,210,26*45 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.37,"tdop":5.88,"hdop":1.75,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":202,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":44,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":26,"used":true},{"PRN":13,"el":30,"az":282,"ss":36,"used":true},{"PRN":1,"el":14,"az":210,"ss":26,"used":true}]} $GPRMC,071842.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:42.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":105.800,"track":0.0000,"speed":0.015,"climb":0.000,"eps":80.98} $GPGGA,071843.000,4404.1302,N,12118.8492,W,1,5,6.22,1135.0,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,20,01,,,,,,,,7.73,6.22,4.59*0E $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,44*7C $GPGSV,2,2,07,31,34,050,25,13,30,282,35,01,14,210,25*46 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.59,"tdop":5.88,"hdop":6.22,"gdop":9.33,"pdop":7.73,"satellites":[{"PRN":20,"el":73,"az":202,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":44,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":25,"used":false},{"PRN":13,"el":30,"az":282,"ss":35,"used":true},{"PRN":1,"el":14,"az":210,"ss":25,"used":true}]} $GPRMC,071843.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*7E {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:43.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.510,"track":0.0000,"speed":0.015,"climb":0.000,"eps":80.98} $GPGGA,071844.000,4404.1302,N,12118.8492,W,1,6,1.75,1135.0,M,-19.6,M,,*58 $GPGSA,A,3,23,13,32,31,20,01,,,,,,,3.80,1.75,3.37*0E $GPGSV,2,1,07,20,73,202,42,23,57,298,39,32,54,148,44,48,37,196,44*7C $GPGSV,2,2,07,31,34,050,25,13,30,282,35,01,14,210,25*46 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":3.37,"tdop":5.88,"hdop":1.75,"gdop":9.33,"pdop":3.80,"satellites":[{"PRN":20,"el":73,"az":202,"ss":42,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":148,"ss":44,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":25,"used":true},{"PRN":13,"el":30,"az":282,"ss":35,"used":true},{"PRN":1,"el":14,"az":210,"ss":25,"used":true}]} $GPRMC,071844.000,A,4404.1302,N,12118.8492,W,0.02,0.00,111111,,,A*78 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:44.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":105.570,"track":0.0000,"speed":0.010,"climb":0.000,"eps":80.98} $GPGGA,071845.000,4404.1302,N,12118.8492,W,1,5,6.22,1135.0,M,-19.6,M,,*5F $GPGSA,A,3,23,13,32,20,01,,,,,,,,7.73,6.22,4.59*0E $GPGSV,2,1,07,20,73,202,43,23,57,298,39,32,54,149,44,48,37,196,45*7D $GPGSV,2,2,07,31,34,050,24,13,30,282,35,01,14,210,25*47 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.59,"tdop":5.88,"hdop":6.22,"gdop":9.33,"pdop":7.73,"satellites":[{"PRN":20,"el":73,"az":202,"ss":43,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":149,"ss":44,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":24,"used":false},{"PRN":13,"el":30,"az":282,"ss":35,"used":true},{"PRN":1,"el":14,"az":210,"ss":25,"used":true}]} $GPRMC,071845.000,A,4404.1302,N,12118.8492,W,0.04,0.00,111111,,,A*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:45.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":77.510,"track":0.0000,"speed":0.021,"climb":0.000,"eps":80.98} $GPGGA,071846.000,4404.1302,N,12118.8492,W,1,5,6.21,1135.0,M,-19.6,M,,*5F $GPGSA,A,3,23,13,32,20,01,,,,,,,,7.73,6.21,4.59*0D $GPGSV,2,1,07,20,73,202,43,23,57,298,40,32,54,149,44,48,37,196,45*73 $GPGSV,2,2,07,31,34,050,23,13,30,282,35,01,14,209,25*48 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.59,"tdop":5.88,"hdop":6.21,"gdop":9.33,"pdop":7.73,"satellites":[{"PRN":20,"el":73,"az":202,"ss":43,"used":true},{"PRN":23,"el":57,"az":298,"ss":40,"used":true},{"PRN":32,"el":54,"az":149,"ss":44,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":23,"used":false},{"PRN":13,"el":30,"az":282,"ss":35,"used":true},{"PRN":1,"el":14,"az":209,"ss":25,"used":true}]} $GPRMC,071846.000,A,4404.1302,N,12118.8492,W,0.04,0.00,111111,,,A*7C {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:46.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":105.570,"track":0.0000,"speed":0.021,"climb":0.000,"eps":80.98} $GPGGA,071847.000,4404.1302,N,12118.8492,W,1,5,6.21,1135.0,M,-19.6,M,,*5E $GPGSA,A,3,23,13,32,20,01,,,,,,,,7.72,6.21,4.59*0C $GPGSV,2,1,07,20,73,202,43,23,57,298,40,32,54,149,44,48,37,196,45*73 $GPGSV,2,2,07,31,34,050,23,13,30,282,35,01,14,209,26*4B {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.59,"tdop":5.88,"hdop":6.21,"gdop":9.33,"pdop":7.72,"satellites":[{"PRN":20,"el":73,"az":202,"ss":43,"used":true},{"PRN":23,"el":57,"az":298,"ss":40,"used":true},{"PRN":32,"el":54,"az":149,"ss":44,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":23,"used":false},{"PRN":13,"el":30,"az":282,"ss":35,"used":true},{"PRN":1,"el":14,"az":209,"ss":26,"used":true}]} $GPRMC,071847.000,A,4404.1302,N,12118.8492,W,0.02,0.00,111111,,,A*7B {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:47.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":105.570,"track":0.0000,"speed":0.010,"climb":0.000,"eps":80.98} $GPGGA,071848.000,4404.1302,N,12118.8492,W,1,5,6.21,1135.0,M,-19.6,M,,*51 $GPGSA,A,3,23,13,32,20,01,,,,,,,,7.72,6.21,4.59*0C $GPGSV,2,1,07,20,73,202,41,23,57,298,39,32,54,149,43,48,37,196,45*78 $GPGSV,2,2,07,31,34,050,23,13,30,282,34,01,14,209,26*4A {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.59,"tdop":5.88,"hdop":6.21,"gdop":9.33,"pdop":7.72,"satellites":[{"PRN":20,"el":73,"az":202,"ss":41,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":23,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":209,"ss":26,"used":true}]} $GPRMC,071848.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:48.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":105.570,"track":0.0000,"speed":0.015,"climb":0.000,"eps":80.98} $GPGGA,071849.000,4404.1302,N,12118.8492,W,1,5,6.21,1135.0,M,-19.6,M,,*50 $GPGSA,A,3,23,13,32,20,01,,,,,,,,7.72,6.21,4.59*0C $GPGSV,2,1,07,20,73,202,41,23,57,298,39,32,54,149,43,48,37,196,45*78 $GPGSV,2,2,07,31,34,050,23,13,30,282,34,01,14,209,26*4A {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.59,"tdop":5.88,"hdop":6.21,"gdop":9.33,"pdop":7.72,"satellites":[{"PRN":20,"el":73,"az":202,"ss":41,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":23,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":209,"ss":26,"used":true}]} $GPRMC,071849.000,A,4404.1302,N,12118.8492,W,0.03,0.00,111111,,,A*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:49.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":105.570,"track":0.0000,"speed":0.015,"climb":0.000,"eps":80.98} $GPGGA,071850.000,4404.1302,N,12118.8492,W,1,5,4.17,1135.0,M,-19.6,M,,*5F $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.20,4.17,4.59*0D $GPGSV,2,1,07,20,73,202,41,23,57,298,39,32,54,149,43,48,37,196,45*78 $GPGSV,2,2,07,31,34,050,22,13,30,282,34,01,14,209,27*4A {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.59,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.20,"satellites":[{"PRN":20,"el":73,"az":202,"ss":41,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":22,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":209,"ss":27,"used":true}]} $GPRMC,071850.000,A,4404.1302,N,12118.8492,W,0.05,0.00,111111,,,A*7A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:50.000Z","ept":0.005,"lat":44.068836667,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":105.570,"track":0.0000,"speed":0.026,"climb":0.000,"eps":80.98} $GPGGA,071851.000,4404.1301,N,12118.8492,W,1,5,4.17,1135.0,M,-19.6,M,,*5D $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.20,4.17,4.59*0D $GPGSV,2,1,07,20,73,202,41,23,57,298,39,32,54,149,43,48,37,196,45*78 $GPGSV,2,2,07,31,34,050,20,13,30,282,34,01,14,209,27*48 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.59,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.20,"satellites":[{"PRN":20,"el":73,"az":202,"ss":41,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":20,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":209,"ss":27,"used":true}]} $GPRMC,071851.000,A,4404.1301,N,12118.8492,W,0.06,0.00,111111,,,A*7B {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:51.000Z","ept":0.005,"lat":44.068835000,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":105.570,"track":0.0000,"speed":0.031,"climb":0.000,"eps":80.98} $GPGGA,071852.000,4404.1301,N,12118.8492,W,1,5,4.17,1135.0,M,-19.6,M,,*5E $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.20,4.17,4.59*0D $GPGSV,2,1,07,20,73,202,40,23,57,298,39,32,54,149,43,48,37,196,44*78 $GPGSV,2,2,07,31,34,050,19,13,30,282,34,01,14,209,27*42 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.59,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.20,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":19,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":209,"ss":27,"used":true}]} $GPRMC,071852.000,A,4404.1301,N,12118.8492,W,0.07,0.00,111111,,,A*79 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:52.000Z","ept":0.005,"lat":44.068835000,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":105.570,"track":0.0000,"speed":0.036,"climb":0.000,"eps":80.98} $GPGGA,071853.000,4404.1301,N,12118.8492,W,1,5,4.17,1135.0,M,-19.6,M,,*5F $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.20,4.17,4.59*0D $GPGSV,2,1,07,20,73,202,40,23,57,298,39,32,54,149,43,48,37,196,44*78 $GPGSV,2,2,07,31,34,050,19,13,30,282,34,01,14,209,27*42 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.59,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.20,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":19,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":209,"ss":27,"used":true}]} $GPRMC,071853.000,A,4404.1301,N,12118.8492,W,0.08,0.00,111111,,,A*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:53.000Z","ept":0.005,"lat":44.068835000,"lon":-121.314153333,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":105.570,"track":0.0000,"speed":0.041,"climb":0.000,"eps":80.98} $GPGGA,071854.000,4404.1301,N,12118.8493,W,1,5,4.17,1135.0,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,40,23,57,298,39,32,54,149,43,48,37,196,44*78 $GPGSV,2,2,07,31,34,050,18,13,30,282,34,01,14,209,27*43 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.58,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.19,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":18,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":209,"ss":27,"used":true}]} $GPRMC,071854.000,A,4404.1301,N,12118.8493,W,0.08,0.00,111111,,,A*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:54.000Z","ept":0.005,"lat":44.068835000,"lon":-121.314155000,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":105.570,"track":0.0000,"speed":0.041,"climb":0.000,"eps":80.98} $GPGGA,071855.000,4404.1301,N,12118.8493,W,1,5,4.17,1135.0,M,-19.6,M,,*58 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.20,4.17,4.59*0D $GPGSV,2,1,07,20,73,202,40,23,57,298,39,32,54,149,43,48,37,196,44*78 $GPGSV,2,2,07,31,34,050,18,13,30,282,34,01,14,209,27*43 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.59,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.20,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":18,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":209,"ss":27,"used":true}]} $GPRMC,071855.000,A,4404.1301,N,12118.8493,W,0.11,0.00,111111,,,A*78 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:55.000Z","ept":0.005,"lat":44.068835000,"lon":-121.314155000,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":105.340,"track":0.0000,"speed":0.057,"climb":0.000,"eps":80.98} $GPGGA,071856.000,4404.1300,N,12118.8493,W,1,5,4.17,1135.0,M,-19.6,M,,*5A $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.20,4.17,4.58*0C $GPGSV,2,1,07,20,73,202,39,23,57,298,38,32,54,149,42,48,37,196,43*71 $GPGSV,2,2,07,31,34,050,18,13,30,282,33,01,14,209,26*45 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.58,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.20,"satellites":[{"PRN":20,"el":73,"az":202,"ss":39,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":149,"ss":42,"used":true},{"PRN":135,"el":37,"az":196,"ss":43,"used":false},{"PRN":31,"el":34,"az":50,"ss":18,"used":false},{"PRN":13,"el":30,"az":282,"ss":33,"used":true},{"PRN":1,"el":14,"az":209,"ss":26,"used":true}]} $GPRMC,071856.000,A,4404.1300,N,12118.8493,W,0.11,0.00,111111,,,A*7A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:56.000Z","ept":0.005,"lat":44.068833333,"lon":-121.314155000,"alt":1135.000,"epx":40.490,"epy":37.932,"epv":105.570,"track":0.0000,"speed":0.057,"climb":0.000,"eps":80.98} $GPGGA,071857.000,4404.1300,N,12118.8493,W,1,5,4.17,1135.1,M,-19.6,M,,*5A $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,39,23,57,298,38,32,54,149,43,48,37,196,44*77 $GPGSV,2,2,07,31,34,050,17,13,30,282,34,01,14,209,26*4D {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.58,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.19,"satellites":[{"PRN":20,"el":73,"az":202,"ss":39,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":17,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":209,"ss":26,"used":true}]} $GPRMC,071857.000,A,4404.1300,N,12118.8493,W,0.12,0.00,111111,,,A*78 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:57.000Z","ept":0.005,"lat":44.068833333,"lon":-121.314155000,"alt":1135.100,"epx":40.490,"epy":37.932,"epv":105.340,"track":0.0000,"speed":0.062,"climb":0.100,"eps":80.98} $GPGGA,071858.000,4404.1300,N,12118.8493,W,1,5,4.17,1135.1,M,-19.6,M,,*55 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*79 $GPGSV,2,2,07,31,34,050,17,13,30,282,34,01,14,209,26*4D {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.58,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.19,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":17,"used":false},{"PRN":13,"el":30,"az":282,"ss":34,"used":true},{"PRN":1,"el":14,"az":209,"ss":26,"used":true}]} $GPRMC,071858.000,A,4404.1300,N,12118.8493,W,0.14,0.00,111111,,,A*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:58.000Z","ept":0.005,"lat":44.068833333,"lon":-121.314155000,"alt":1135.100,"epx":40.490,"epy":37.932,"epv":105.340,"track":0.0000,"speed":0.072,"climb":0.000,"eps":80.98} $GPGGA,071859.000,4404.1299,N,12118.8493,W,1,5,4.17,1135.1,M,-19.6,M,,*55 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.20,4.17,4.58*0C $GPGSV,2,1,07,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*79 $GPGSV,2,2,07,31,34,050,16,13,30,283,34,01,14,209,26*4D {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.58,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.20,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":16,"used":false},{"PRN":13,"el":30,"az":283,"ss":34,"used":true},{"PRN":1,"el":14,"az":209,"ss":26,"used":true}]} $GPRMC,071859.000,A,4404.1299,N,12118.8493,W,0.15,0.00,111111,,,A*70 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:18:59.000Z","ept":0.005,"lat":44.068831667,"lon":-121.314155000,"alt":1135.100,"epx":40.490,"epy":37.932,"epv":105.340,"track":0.0000,"speed":0.077,"climb":0.000,"eps":80.98} $GPGGA,071900.000,4404.1299,N,12118.8494,W,1,5,4.17,1135.1,M,-19.6,M,,*5F $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,39,23,57,298,37,32,54,149,42,48,37,196,43*7E $GPGSV,2,2,07,31,34,050,16,13,30,283,33,01,14,209,25*49 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.58,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.19,"satellites":[{"PRN":20,"el":73,"az":202,"ss":39,"used":true},{"PRN":23,"el":57,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":149,"ss":42,"used":true},{"PRN":135,"el":37,"az":196,"ss":43,"used":false},{"PRN":31,"el":34,"az":50,"ss":16,"used":false},{"PRN":13,"el":30,"az":283,"ss":33,"used":true},{"PRN":1,"el":14,"az":209,"ss":25,"used":true}]} $GPRMC,071900.000,A,4404.1299,N,12118.8494,W,0.14,0.00,111111,,,A*7B {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:00.000Z","ept":0.005,"lat":44.068831667,"lon":-121.314156667,"alt":1135.100,"epx":40.490,"epy":37.932,"epv":105.340,"track":0.0000,"speed":0.072,"climb":0.000,"eps":80.98} $GPGGA,071901.000,4404.1299,N,12118.8494,W,1,5,4.17,1135.1,M,-19.6,M,,*5E $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.20,4.17,4.58*0C $GPGSV,2,1,07,20,73,202,39,23,57,298,37,32,54,149,42,48,37,196,44*79 $GPGSV,2,2,07,31,34,050,15,13,30,283,34,01,14,209,26*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.58,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.20,"satellites":[{"PRN":20,"el":73,"az":202,"ss":39,"used":true},{"PRN":23,"el":57,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":149,"ss":42,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":15,"used":false},{"PRN":13,"el":30,"az":283,"ss":34,"used":true},{"PRN":1,"el":14,"az":209,"ss":26,"used":true}]} $GPRMC,071901.000,A,4404.1299,N,12118.8494,W,0.14,0.00,111111,,,A*7A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:01.000Z","ept":0.005,"lat":44.068831667,"lon":-121.314156667,"alt":1135.100,"epx":40.490,"epy":37.932,"epv":105.340,"track":0.0000,"speed":0.072,"climb":0.000,"eps":80.98} $GPGGA,071902.000,4404.1298,N,12118.8494,W,1,5,4.17,1135.1,M,-19.6,M,,*5C $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,40,23,57,298,37,32,54,149,43,48,37,196,44*76 $GPGSV,2,2,07,31,34,050,23,13,30,283,34,01,14,209,26*4B {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.58,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.19,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":37,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":23,"used":false},{"PRN":13,"el":30,"az":283,"ss":34,"used":true},{"PRN":1,"el":14,"az":209,"ss":26,"used":true}]} $GPRMC,071902.000,A,4404.1298,N,12118.8494,W,0.15,0.00,111111,,,A*79 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:02.000Z","ept":0.005,"lat":44.068830000,"lon":-121.314156667,"alt":1135.100,"epx":40.490,"epy":37.932,"epv":105.340,"track":0.0000,"speed":0.077,"climb":0.000,"eps":80.98} $GPGGA,071903.000,4404.1298,N,12118.8495,W,1,5,4.17,1135.1,M,-19.6,M,,*5C $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*79 $GPGSV,2,2,07,31,34,050,23,13,30,283,35,01,14,209,26*4A {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.58,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.19,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":23,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":1,"el":14,"az":209,"ss":26,"used":true}]} $GPRMC,071903.000,A,4404.1298,N,12118.8495,W,0.16,0.00,111111,,,A*7A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:03.000Z","ept":0.005,"lat":44.068830000,"lon":-121.314158333,"alt":1135.100,"epx":40.490,"epy":37.932,"epv":105.340,"track":0.0000,"speed":0.082,"climb":0.000,"eps":80.98} $GPGGA,071904.000,4404.1298,N,12118.8495,W,1,5,4.17,1135.1,M,-19.6,M,,*5B $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*79 $GPGSV,2,2,07,31,34,050,22,13,30,283,35,01,14,209,26*4B {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.58,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.19,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":22,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":1,"el":14,"az":209,"ss":26,"used":true}]} $GPRMC,071904.000,A,4404.1298,N,12118.8495,W,0.16,0.00,111111,,,A*7D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:04.000Z","ept":0.005,"lat":44.068830000,"lon":-121.314158333,"alt":1135.100,"epx":40.490,"epy":37.932,"epv":105.340,"track":0.0000,"speed":0.082,"climb":0.000,"eps":80.98} $GPGGA,071905.000,4404.1297,N,12118.8495,W,1,5,4.17,1135.2,M,-19.6,M,,*56 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*79 $GPGSV,2,2,07,31,34,050,20,13,30,283,35,01,14,209,26*49 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.58,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.19,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":20,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":1,"el":14,"az":209,"ss":26,"used":true}]} $GPRMC,071905.000,A,4404.1297,N,12118.8495,W,0.15,0.00,111111,,,A*70 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:05.000Z","ept":0.005,"lat":44.068828333,"lon":-121.314158333,"alt":1135.200,"epx":40.490,"epy":37.932,"epv":105.340,"track":0.0000,"speed":0.077,"climb":0.100,"eps":80.98} $GPGGA,071906.000,4404.1297,N,12118.8496,W,1,5,4.17,1135.2,M,-19.6,M,,*56 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*79 $GPGSV,2,2,07,31,34,050,19,13,30,283,35,01,14,209,25*40 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.58,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.19,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":19,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":1,"el":14,"az":209,"ss":25,"used":true}]} $GPRMC,071906.000,A,4404.1297,N,12118.8496,W,0.14,0.00,111111,,,A*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:06.000Z","ept":0.005,"lat":44.068828333,"lon":-121.314160000,"alt":1135.200,"epx":40.490,"epy":37.932,"epv":105.340,"track":0.0000,"speed":0.072,"climb":0.000,"eps":80.98} $GPGGA,071907.000,4404.1297,N,12118.8496,W,1,5,4.17,1135.2,M,-19.6,M,,*57 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*79 $GPGSV,2,2,07,31,34,050,18,13,30,283,35,01,14,209,25*41 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.58,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.19,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":18,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":1,"el":14,"az":209,"ss":25,"used":true}]} $GPRMC,071907.000,A,4404.1297,N,12118.8496,W,0.17,0.00,111111,,,A*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:07.000Z","ept":0.005,"lat":44.068828333,"lon":-121.314160000,"alt":1135.200,"epx":40.490,"epy":37.932,"epv":105.340,"track":0.0000,"speed":0.087,"climb":0.000,"eps":80.98} $GPGGA,071908.000,4404.1296,N,12118.8496,W,1,5,4.17,1135.2,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,07,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*79 $GPGSV,2,2,07,31,34,050,18,13,30,283,35,01,14,209,25*41 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.58,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.19,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":18,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":1,"el":14,"az":209,"ss":25,"used":true}]} $GPRMC,071908.000,A,4404.1296,N,12118.8496,W,0.12,0.00,111111,,,A*78 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:08.000Z","ept":0.005,"lat":44.068826667,"lon":-121.314160000,"alt":1135.200,"epx":40.490,"epy":37.932,"epv":105.340,"track":0.0000,"speed":0.062,"climb":0.000,"eps":80.98} $GPGGA,071909.000,4404.1296,N,12118.8496,W,1,5,4.16,1135.2,M,-19.6,M,,*59 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.16,4.58*07 $GPGSV,2,1,08,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*76 $GPGSV,2,2,08,31,34,050,19,13,30,283,35,01,14,209,25,16,,,28*42 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.58,"tdop":5.88,"hdop":4.16,"gdop":9.33,"pdop":6.19,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":19,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":1,"el":14,"az":209,"ss":25,"used":true},{"PRN":16,"el":0,"az":0,"ss":28,"used":false}]} $GPRMC,071909.000,A,4404.1296,N,12118.8496,W,0.12,0.00,111111,,,A*79 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:09.000Z","ept":0.005,"lat":44.068826667,"lon":-121.314160000,"alt":1135.200,"epx":40.490,"epy":37.932,"epv":105.340,"track":0.0000,"speed":0.062,"climb":0.000,"eps":80.98} $GPGGA,071910.000,4404.1296,N,12118.8497,W,1,5,4.17,1135.2,M,-19.6,M,,*51 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,08,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*76 $GPGSV,2,2,08,31,34,050,20,13,30,283,35,01,14,209,24,16,,,31*41 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.58,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.19,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":20,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":1,"el":14,"az":209,"ss":24,"used":true},{"PRN":16,"el":0,"az":0,"ss":31,"used":false}]} $GPRMC,071910.000,A,4404.1296,N,12118.8497,W,0.10,0.00,111111,,,A*72 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:10.000Z","ept":0.005,"lat":44.068826667,"lon":-121.314161667,"alt":1135.200,"epx":40.490,"epy":37.932,"epv":105.340,"track":0.0000,"speed":0.051,"climb":0.000,"eps":80.98} $GPGGA,071911.000,4404.1295,N,12118.8497,W,1,5,4.17,1135.3,M,-19.6,M,,*52 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,08,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*76 $GPGSV,2,2,08,31,34,050,20,13,30,283,35,01,14,209,24,16,,,32*42 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.58,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.19,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":20,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":1,"el":14,"az":209,"ss":24,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071911.000,A,4404.1295,N,12118.8497,W,0.11,0.00,111111,,,A*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:11.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314161667,"alt":1135.300,"epx":40.490,"epy":37.932,"epv":105.340,"track":0.0000,"speed":0.057,"climb":0.100,"eps":80.98} $GPGGA,071912.000,4404.1295,N,12118.8497,W,1,5,4.17,1135.3,M,-19.6,M,,*51 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.57*09 $GPGSV,2,1,08,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*76 $GPGSV,2,2,08,31,34,050,19,13,30,283,35,01,14,209,24,16,,,32*48 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.57,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.19,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":19,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":1,"el":14,"az":209,"ss":24,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071912.000,A,4404.1295,N,12118.8497,W,0.08,0.00,111111,,,A*7A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:12.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314161667,"alt":1135.300,"epx":40.490,"epy":37.932,"epv":105.340,"track":0.0000,"speed":0.041,"climb":0.000,"eps":80.98} $GPGGA,071913.000,4404.1295,N,12118.8497,W,1,5,4.17,1135.3,M,-19.6,M,,*50 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.58*06 $GPGSV,2,1,08,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*76 $GPGSV,2,2,08,31,34,050,18,13,30,283,35,01,14,209,24,16,,,32*49 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.58,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.19,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":18,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":1,"el":14,"az":209,"ss":24,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071913.000,A,4404.1295,N,12118.8497,W,0.07,0.00,111111,,,A*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:13.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314161667,"alt":1135.300,"epx":40.490,"epy":37.932,"epv":105.110,"track":0.0000,"speed":0.036,"climb":0.000,"eps":80.98} $GPGGA,071914.000,4404.1295,N,12118.8497,W,1,5,4.17,1135.3,M,-19.6,M,,*57 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.57*09 $GPGSV,2,1,08,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*76 $GPGSV,2,2,08,31,34,050,18,13,30,283,35,01,14,209,24,16,,,32*49 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.57,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.19,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":18,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":1,"el":14,"az":209,"ss":24,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071914.000,A,4404.1295,N,12118.8497,W,0.09,0.00,111111,,,A*7D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:14.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314161667,"alt":1135.300,"epx":40.490,"epy":37.932,"epv":105.340,"track":0.0000,"speed":0.046,"climb":0.000,"eps":80.98} $GPGGA,071915.000,4404.1295,N,12118.8497,W,1,5,4.17,1135.4,M,-19.6,M,,*51 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.57*09 $GPGSV,2,1,08,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*76 $GPGSV,2,2,08,31,34,050,18,13,30,283,35,01,14,209,24,16,,,32*49 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.57,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.19,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":18,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":1,"el":14,"az":209,"ss":24,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071915.000,A,4404.1295,N,12118.8497,W,0.09,0.00,111111,,,A*7C {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:15.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314161667,"alt":1135.400,"epx":40.490,"epy":37.932,"epv":105.110,"track":0.0000,"speed":0.046,"climb":0.100,"eps":80.98} $GPGGA,071916.000,4404.1295,N,12118.8498,W,2,5,4.16,1135.3,M,-19.6,M,0000,0000*58 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,2,1,08,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*76 $GPGSV,2,2,08,31,34,050,18,13,30,283,35,01,14,209,24,16,,,32*49 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.57,"tdop":5.88,"hdop":4.16,"gdop":9.33,"pdop":6.18,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":18,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":1,"el":14,"az":209,"ss":24,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071916.000,A,4404.1295,N,12118.8498,W,0.08,0.00,111111,,,D*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:16.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314163333,"alt":1135.300,"epx":10.122,"epy":9.483,"epv":26.278,"track":0.0000,"speed":0.041,"climb":-0.100,"eps":50.61} $GPGGA,071917.000,4404.1295,N,12118.8498,W,2,5,4.16,1135.4,M,-19.6,M,0000,0000*5E $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*76 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,23*79 $GPGSV,3,3,09,16,,,32*76 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.57,"tdop":5.88,"hdop":4.16,"gdop":9.33,"pdop":6.18,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":18,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071917.000,A,4404.1295,N,12118.8498,W,0.08,0.00,111111,,,D*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:17.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314163333,"alt":1135.400,"epx":10.122,"epy":9.483,"epv":26.278,"track":0.0000,"speed":0.041,"climb":0.100,"eps":20.24} $GPGGA,071918.000,4404.1294,N,12118.8498,W,2,5,4.16,1135.4,M,-19.6,M,0000,0000*50 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,54,149,43,48,37,196,44*76 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,23*79 $GPGSV,3,3,09,16,,,32*76 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.57,"tdop":5.88,"hdop":4.16,"gdop":9.33,"pdop":6.18,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":54,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":18,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071918.000,A,4404.1294,N,12118.8498,W,0.09,0.00,111111,,,D*7A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:18.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314163333,"alt":1135.400,"epx":10.122,"epy":9.483,"epv":26.278,"track":0.0000,"speed":0.046,"climb":0.000,"eps":20.24} $GPGGA,071919.000,4404.1293,N,12118.8498,W,2,5,4.16,1135.3,M,-19.6,M,0000,0000*51 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,53,149,43,48,37,196,44*71 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,23*79 $GPGSV,3,3,09,16,,,32*76 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.57,"tdop":5.88,"hdop":4.16,"gdop":9.33,"pdop":6.18,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":18,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071919.000,A,4404.1293,N,12118.8498,W,0.09,0.00,111111,,,D*7C {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:19.000Z","ept":0.005,"lat":44.068821667,"lon":-121.314163333,"alt":1135.300,"epx":10.122,"epy":9.483,"epv":26.278,"track":0.0000,"speed":0.046,"climb":-0.100,"eps":20.24} $GPGGA,071920.000,4404.1293,N,12118.8499,W,2,5,4.16,1135.4,M,-19.6,M,0000,0000*5D $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,53,149,43,48,37,196,44*71 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,23*79 $GPGSV,3,3,09,16,,,32*76 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.57,"tdop":5.88,"hdop":4.16,"gdop":9.33,"pdop":6.18,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":18,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071920.000,A,4404.1293,N,12118.8499,W,0.09,0.00,111111,,,D*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:20.000Z","ept":0.005,"lat":44.068821667,"lon":-121.314165000,"alt":1135.400,"epx":10.122,"epy":9.483,"epv":26.278,"track":0.0000,"speed":0.046,"climb":0.100,"eps":20.24} $GPGGA,071921.000,4404.1294,N,12118.8499,W,2,5,4.16,1135.6,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,53,149,43,48,37,196,44*71 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,23*79 $GPGSV,3,3,09,16,,,32*76 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.57,"tdop":5.88,"hdop":4.16,"gdop":9.33,"pdop":6.18,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":18,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071921.000,A,4404.1294,N,12118.8499,W,0.09,0.00,111111,,,D*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:21.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314165000,"alt":1135.600,"epx":10.122,"epy":9.483,"epv":26.278,"track":0.0000,"speed":0.046,"climb":0.200,"eps":20.24} $GPGGA,071922.000,4404.1294,N,12118.8498,W,2,5,4.17,1135.8,M,-19.6,M,0000,0000*54 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.19,4.17,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,53,149,43,48,37,196,44*71 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,23*79 $GPGSV,3,3,09,16,,,32*76 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.57,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.19,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":18,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071922.000,A,4404.1294,N,12118.8498,W,0.09,0.00,111111,,,D*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:22.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314163333,"alt":1135.800,"epx":10.122,"epy":9.483,"epv":26.278,"track":0.0000,"speed":0.046,"climb":0.200,"eps":20.24} $GPGGA,071923.000,4404.1294,N,12118.8498,W,2,5,4.17,1135.8,M,-19.6,M,0000,0000*55 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.17,4.57*08 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,53,149,43,48,37,196,44*71 $GPGSV,3,2,09,31,34,050,19,13,30,283,35,04,15,313,,01,14,209,23*78 $GPGSV,3,3,09,16,,,32*76 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.57,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.18,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":19,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071923.000,A,4404.1294,N,12118.8498,W,0.09,0.00,111111,,,D*72 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:23.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314163333,"alt":1135.800,"epx":10.122,"epy":9.483,"epv":26.278,"track":0.0000,"speed":0.046,"climb":0.000,"eps":20.24} $GPGGA,071924.000,4404.1294,N,12118.8499,W,2,5,4.16,1136.0,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,53,149,43,48,37,196,44*71 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,23*79 $GPGSV,3,3,09,16,,,32*76 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.57,"tdop":5.88,"hdop":4.16,"gdop":9.33,"pdop":6.18,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":18,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071924.000,A,4404.1294,N,12118.8499,W,0.09,0.00,111111,,,D*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:24.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314165000,"alt":1136.000,"epx":10.122,"epy":9.483,"epv":26.278,"track":0.0000,"speed":0.046,"climb":0.200,"eps":20.24} $GPGGA,071925.000,4404.1295,N,12118.8499,W,2,5,4.16,1136.1,M,-19.6,M,0000,0000*58 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,53,149,43,48,37,196,44*71 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,23*79 $GPGSV,3,3,09,16,,,32*76 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.57,"tdop":5.88,"hdop":4.16,"gdop":9.33,"pdop":6.18,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":18,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071925.000,A,4404.1295,N,12118.8499,W,0.09,0.00,111111,,,D*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:25.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314165000,"alt":1136.100,"epx":10.122,"epy":9.483,"epv":26.278,"track":0.0000,"speed":0.046,"climb":0.100,"eps":20.24} $GPGGA,071926.000,4404.1295,N,12118.8500,W,2,5,4.16,1136.2,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,53,149,43,48,37,196,44*71 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,22*78 $GPGSV,3,3,09,16,,,32*76 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.57,"tdop":5.88,"hdop":4.16,"gdop":9.33,"pdop":6.18,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":18,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071926.000,A,4404.1295,N,12118.8500,W,0.09,0.00,111111,,,D*76 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:26.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314166667,"alt":1136.200,"epx":10.122,"epy":9.483,"epv":26.278,"track":0.0000,"speed":0.046,"climb":0.100,"eps":20.24} $GPGGA,071927.000,4404.1295,N,12118.8499,W,2,5,4.17,1136.3,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.17,4.57*08 $GPGSV,3,1,09,20,73,202,40,23,57,298,38,32,53,149,43,48,37,196,44*71 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,22*78 $GPGSV,3,3,09,16,,,32*76 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.57,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.18,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":38,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":18,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071927.000,A,4404.1295,N,12118.8499,W,0.07,0.00,111111,,,D*78 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:27.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314165000,"alt":1136.300,"epx":10.122,"epy":9.483,"epv":26.278,"track":0.0000,"speed":0.036,"climb":0.100,"eps":20.24} $GPGGA,071928.000,4404.1296,N,12118.8498,W,2,5,4.17,1136.3,M,-19.6,M,0000,0000*54 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.17,4.57*08 $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,18,13,30,283,35,04,15,313,,01,14,209,22*78 $GPGSV,3,3,09,16,,,32*76 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.57,"tdop":5.88,"hdop":4.17,"gdop":9.33,"pdop":6.18,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":18,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071928.000,A,4404.1296,N,12118.8498,W,0.05,0.00,111111,,,D*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:28.000Z","ept":0.005,"lat":44.068826667,"lon":-121.314163333,"alt":1136.300,"epx":10.122,"epy":9.483,"epv":26.278,"track":0.0000,"speed":0.026,"climb":0.000,"eps":20.24} $GPGGA,071929.000,4404.1296,N,12118.8497,W,2,5,4.16,1136.3,M,-19.6,M,0000,0000*5B $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,19,13,30,283,35,04,15,313,,01,14,209,22*79 $GPGSV,3,3,09,16,,,32*76 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.57,"tdop":5.88,"hdop":4.16,"gdop":9.33,"pdop":6.18,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":19,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071929.000,A,4404.1296,N,12118.8497,W,0.03,0.00,111111,,,D*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:29.000Z","ept":0.005,"lat":44.068826667,"lon":-121.314161667,"alt":1136.300,"epx":10.122,"epy":9.483,"epv":26.278,"track":0.0000,"speed":0.015,"climb":0.000,"eps":20.24} $GPGGA,071930.000,4404.1296,N,12118.8498,W,2,5,4.16,1136.2,M,-19.6,M,0000,0000*5D $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.57*09 $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,19,13,30,283,35,04,15,313,,01,14,209,23*78 $GPGSV,3,3,09,16,,,32*76 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.57,"tdop":5.88,"hdop":4.16,"gdop":9.33,"pdop":6.18,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":19,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071930.000,A,4404.1296,N,12118.8498,W,0.02,0.00,111111,,,D*79 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:30.000Z","ept":0.005,"lat":44.068826667,"lon":-121.314163333,"alt":1136.200,"epx":10.122,"epy":9.483,"epv":26.278,"track":0.0000,"speed":0.010,"climb":-0.100,"eps":20.24} $GPGGA,071931.000,4404.1295,N,12118.8498,W,2,5,4.16,1136.2,M,-19.6,M,0000,0000*5F $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.17,4.16,4.56*07 $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,20,13,30,283,35,04,15,313,,01,14,209,23*72 $GPGSV,3,3,09,16,,,32*76 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.56,"tdop":5.88,"hdop":4.16,"gdop":9.33,"pdop":6.17,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":20,"used":false},{"PRN":13,"el":30,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071931.000,A,4404.1295,N,12118.8498,W,0.01,0.00,111111,,,D*78 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:31.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314163333,"alt":1136.200,"epx":10.122,"epy":9.483,"epv":26.278,"track":0.0000,"speed":0.005,"climb":0.000,"eps":20.24} $GPGGA,071932.000,4404.1295,N,12118.8497,W,2,5,4.16,1136.2,M,-19.6,M,0000,0000*53 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.17,4.16,4.56*07 $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,20,13,31,283,35,04,15,313,,01,14,209,23*73 $GPGSV,3,3,09,16,,,32*76 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.56,"tdop":5.88,"hdop":4.16,"gdop":9.33,"pdop":6.17,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":20,"used":false},{"PRN":13,"el":31,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071932.000,A,4404.1295,N,12118.8497,W,0.01,0.00,111111,,,D*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:32.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314161667,"alt":1136.200,"epx":10.122,"epy":9.483,"epv":26.220,"track":0.0000,"speed":0.005,"climb":0.000,"eps":20.24} $GPGGA,071933.000,4404.1292,N,12118.8498,W,2,5,4.16,1135.9,M,-19.6,M,0000,0000*52 $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.56*08 $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,20,13,31,283,35,04,15,313,,01,14,209,23*73 $GPGSV,3,3,09,16,,,32*76 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.56,"tdop":5.88,"hdop":4.16,"gdop":9.33,"pdop":6.18,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":20,"used":false},{"PRN":13,"el":31,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071933.000,A,4404.1292,N,12118.8498,W,0.01,0.00,111111,,,D*7D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:33.000Z","ept":0.005,"lat":44.068820000,"lon":-121.314163333,"alt":1135.900,"epx":10.122,"epy":9.483,"epv":26.220,"track":0.0000,"speed":0.005,"climb":-0.300,"eps":20.24} $GPGGA,071934.000,4404.1293,N,12118.8498,W,2,5,4.16,1135.6,M,-19.6,M,0000,0000*5B $GPGSA,A,3,23,13,32,20,01,,,,,,,,6.18,4.16,4.56*08 $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,20,13,31,283,35,04,15,313,,01,14,209,22*72 $GPGSV,3,3,09,16,,,32*76 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":4.56,"tdop":5.88,"hdop":4.16,"gdop":9.33,"pdop":6.18,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":20,"used":false},{"PRN":13,"el":31,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true},{"PRN":16,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,071934.000,A,4404.1293,N,12118.8498,W,0.01,0.00,111111,,,D*7B {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:34.000Z","ept":0.005,"lat":44.068821667,"lon":-121.314163333,"alt":1135.600,"epx":10.122,"epy":9.483,"epv":26.220,"track":0.0000,"speed":0.005,"climb":-0.300,"eps":20.24} $GPGGA,071935.000,4404.1294,N,12118.8500,W,2,6,2.29,1135.7,M,-19.6,M,0000,0000*55 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,35,04,15,313,*73 $GPGSV,3,3,09,01,14,209,22*4F {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":21,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true}]} $GPRMC,071935.000,A,4404.1294,N,12118.8500,W,0.01,0.00,111111,,,D*7D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:35.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314166667,"alt":1135.700,"epx":10.122,"epy":9.483,"epv":26.220,"track":0.0000,"speed":0.005,"climb":0.100,"eps":20.24} $GPGGA,071936.000,4404.1294,N,12118.8499,W,2,6,2.29,1135.9,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,35,04,15,313,*73 $GPGSV,3,3,09,01,14,209,22*4F {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":21,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true}]} $GPRMC,071936.000,A,4404.1294,N,12118.8499,W,0.01,0.00,111111,,,D*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:36.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314165000,"alt":1135.900,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.005,"climb":0.200,"eps":20.24} $GPGGA,071937.000,4404.1294,N,12118.8499,W,2,6,2.29,1136.3,M,-19.6,M,0000,0000*51 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,35,04,15,313,*73 $GPGSV,3,3,09,01,14,209,22*4F {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":21,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true}]} $GPRMC,071937.000,A,4404.1294,N,12118.8499,W,0.00,0.00,111111,,,D*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:37.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314165000,"alt":1136.300,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.000,"climb":0.400,"eps":20.24} $GPGGA,071938.000,4404.1294,N,12118.8500,W,2,6,2.29,1136.6,M,-19.6,M,0000,0000*5A $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,44*70 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,35,04,15,313,*70 $GPGSV,3,3,09,01,14,209,22*4F {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":22,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true}]} $GPRMC,071938.000,A,4404.1294,N,12118.8500,W,0.00,0.00,111111,,,D*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:38.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314166667,"alt":1136.600,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.000,"climb":0.300,"eps":20.24} $GPGGA,071939.000,4404.1297,N,12118.8499,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5D $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,202,40,23,57,298,39,32,53,149,43,48,37,196,45*71 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,35,04,15,313,*70 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":202,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":22,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,071939.000,A,4404.1297,N,12118.8499,W,0.01,0.00,111111,,,D*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:39.000Z","ept":0.005,"lat":44.068828333,"lon":-121.314165000,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.005,"climb":0.700,"eps":20.24} $GPGGA,071940.000,4404.1295,N,12118.8501,W,2,6,2.29,1137.2,M,-19.6,M,0000,0000*50 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,298,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,35,04,15,313,*70 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":22,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,071940.000,A,4404.1295,N,12118.8501,W,0.01,0.00,111111,,,D*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:40.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314168333,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.005,"climb":-0.100,"eps":20.24} $GPGGA,071941.000,4404.1295,N,12118.8503,W,2,6,2.29,1137.2,M,-19.6,M,0000,0000*53 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,298,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,35,04,15,313,*70 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":22,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,071941.000,A,4404.1295,N,12118.8503,W,0.02,0.00,111111,,,D*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:41.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314171667,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.010,"climb":0.000,"eps":20.24} $GPGGA,071942.000,4404.1295,N,12118.8502,W,2,6,2.29,1137.2,M,-19.6,M,0000,0000*51 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,298,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,35,04,15,313,*70 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":22,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,071942.000,A,4404.1295,N,12118.8502,W,0.02,0.00,111111,,,D*7D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:42.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314170000,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.010,"climb":0.000,"eps":20.24} $GPGGA,071943.000,4404.1294,N,12118.8502,W,2,6,2.29,1137.1,M,-19.6,M,0000,0000*52 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,298,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,35,04,15,313,*70 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":298,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":22,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,071943.000,A,4404.1294,N,12118.8502,W,0.02,0.00,111111,,,D*7D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:43.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314170000,"alt":1137.100,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.010,"climb":-0.100,"eps":20.24} $GPGGA,071944.000,4404.1294,N,12118.8500,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*55 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,35,04,15,313,*70 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":22,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,071944.000,A,4404.1294,N,12118.8500,W,0.03,0.00,111111,,,D*79 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:44.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314166667,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.015,"climb":0.200,"eps":20.24} $GPGGA,071945.000,4404.1294,N,12118.8497,W,2,6,2.29,1137.0,M,-19.6,M,0000,0000*58 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,35,04,15,313,*70 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":22,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":35,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,071945.000,A,4404.1294,N,12118.8497,W,0.03,0.00,111111,,,D*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:45.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314161667,"alt":1137.000,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.015,"climb":-0.300,"eps":20.24} $GPGGA,071946.000,4404.1293,N,12118.8499,W,2,6,2.29,1137.0,M,-19.6,M,0000,0000*52 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,34,04,15,313,*71 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":22,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":34,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,071946.000,A,4404.1293,N,12118.8499,W,0.03,0.00,111111,,,D*7D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:46.000Z","ept":0.005,"lat":44.068821667,"lon":-121.314165000,"alt":1137.000,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.015,"climb":0.000,"eps":20.24} $GPGGA,071947.000,4404.1294,N,12118.8501,W,2,6,2.29,1137.0,M,-19.6,M,0000,0000*54 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,34,04,15,313,*71 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":22,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":34,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,071947.000,A,4404.1294,N,12118.8501,W,0.02,0.00,111111,,,D*7A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:47.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314168333,"alt":1137.000,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.010,"climb":0.000,"eps":20.24} $GPGGA,071948.000,4404.1295,N,12118.8497,W,2,6,2.29,1136.6,M,-19.6,M,0000,0000*53 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,23,16,31,139,32,13,31,283,34,04,15,313,*70 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":23,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":34,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,071948.000,A,4404.1295,N,12118.8497,W,0.02,0.00,111111,,,D*7A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:48.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314161667,"alt":1136.600,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.010,"climb":-0.400,"eps":20.24} $GPGGA,071949.000,4404.1296,N,12118.8499,W,2,6,2.29,1136.7,M,-19.6,M,0000,0000*5E $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,34,04,15,313,*71 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":22,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":34,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,071949.000,A,4404.1296,N,12118.8499,W,0.01,0.00,111111,,,D*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:49.000Z","ept":0.005,"lat":44.068826667,"lon":-121.314165000,"alt":1136.700,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.005,"climb":0.100,"eps":20.24} $GPGGA,071950.000,4404.1295,N,12118.8502,W,2,6,2.29,1137.2,M,-19.6,M,0000,0000*52 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,34,04,15,313,*71 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":22,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":34,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,071950.000,A,4404.1295,N,12118.8502,W,0.02,0.00,111111,,,D*7E {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:50.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314170000,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.010,"climb":0.500,"eps":20.24} $GPGGA,071951.000,4404.1294,N,12118.8506,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*57 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,34,04,15,313,*72 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":21,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":34,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,071951.000,A,4404.1294,N,12118.8506,W,0.02,0.00,111111,,,D*7A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:51.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314176667,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.010,"climb":0.100,"eps":20.24} $GPGGA,071952.000,4404.1294,N,12118.8509,W,2,6,2.29,1137.2,M,-19.6,M,0000,0000*5A $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,34,04,15,313,*71 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":22,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":34,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,071952.000,A,4404.1294,N,12118.8509,W,0.03,0.00,111111,,,D*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:52.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314181667,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.015,"climb":-0.100,"eps":20.24} $GPGGA,071953.000,4404.1294,N,12118.8508,W,2,6,2.29,1137.4,M,-19.6,M,0000,0000*5C $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,33,04,15,313,*76 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":22,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,071953.000,A,4404.1294,N,12118.8508,W,0.02,0.00,111111,,,D*76 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:53.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314180000,"alt":1137.400,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.010,"climb":0.200,"eps":20.24} $GPGGA,071954.000,4404.1293,N,12118.8510,W,2,6,2.29,1137.5,M,-19.6,M,0000,0000*54 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":21,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,071954.000,A,4404.1293,N,12118.8510,W,0.03,0.00,111111,,,D*7E {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:54.000Z","ept":0.005,"lat":44.068821667,"lon":-121.314183333,"alt":1137.500,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.015,"climb":0.100,"eps":20.24} $GPGGA,071955.000,4404.1293,N,12118.8511,W,2,6,2.29,1137.8,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":21,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,071955.000,A,4404.1293,N,12118.8511,W,0.02,0.00,111111,,,D*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:55.000Z","ept":0.005,"lat":44.068821667,"lon":-121.314185000,"alt":1137.800,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.010,"climb":0.300,"eps":20.24} $GPGGA,071956.000,4404.1294,N,12118.8513,W,2,6,2.29,1137.8,M,-19.6,M,0000,0000*5F $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,22*4F {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":21,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true}]} $GPRMC,071956.000,A,4404.1294,N,12118.8513,W,0.01,0.00,111111,,,D*7A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:56.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314188333,"alt":1137.800,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.005,"climb":0.000,"eps":20.24} $GPGGA,071957.000,4404.1295,N,12118.8513,W,2,6,2.29,1137.6,M,-19.6,M,0000,0000*51 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,22*4F {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":21,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true}]} $GPRMC,071957.000,A,4404.1295,N,12118.8513,W,0.01,0.00,111111,,,D*7A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:57.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314188333,"alt":1137.600,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.005,"climb":-0.200,"eps":20.24} $GPGGA,071958.000,4404.1294,N,12118.8515,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5C $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,20,16,31,139,32,13,31,283,33,04,15,313,*74 $GPGSV,3,3,09,01,14,209,22*4F {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":20,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true}]} $GPRMC,071958.000,A,4404.1294,N,12118.8515,W,0.01,0.00,111111,,,D*72 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:58.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314191667,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.005,"climb":-0.300,"eps":20.24} $GPGGA,071959.000,4404.1294,N,12118.8515,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5D $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,19,16,31,139,32,13,31,283,33,04,15,313,*7E $GPGSV,3,3,09,01,14,209,22*4F {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":19,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true}]} $GPRMC,071959.000,A,4404.1294,N,12118.8515,W,0.01,0.00,111111,,,D*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:19:59.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314191667,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.005,"climb":0.000,"eps":20.24} $GPGGA,072000.000,4404.1294,N,12118.8515,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5B $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,20,16,31,139,32,13,31,283,33,04,15,313,*74 $GPGSV,3,3,09,01,14,209,22*4F {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":20,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true}]} $GPRMC,072000.000,A,4404.1294,N,12118.8515,W,0.03,0.00,111111,,,D*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:00.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314191667,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.015,"climb":0.000,"eps":20.24} $GPGGA,072001.000,4404.1294,N,12118.8515,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5A $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,20,16,31,139,32,13,31,283,33,04,15,313,*74 $GPGSV,3,3,09,01,14,209,22*4F {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":20,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true}]} $GPRMC,072001.000,A,4404.1294,N,12118.8515,W,0.02,0.00,111111,,,D*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:01.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314191667,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.010,"climb":0.000,"eps":20.24} $GPGGA,072002.000,4404.1294,N,12118.8515,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,22*4F {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":21,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true}]} $GPRMC,072002.000,A,4404.1294,N,12118.8515,W,0.02,0.00,111111,,,D*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:02.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314191667,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.010,"climb":0.000,"eps":20.24} $GPGGA,072003.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":21,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,072003.000,A,4404.1294,N,12118.8514,W,0.02,0.00,111111,,,D*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:03.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314190000,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.010,"climb":0.000,"eps":20.24} $GPGGA,072004.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5E $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,40,23,57,299,39,32,53,149,43,48,37,196,45*73 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,24*49 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":21,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":24,"used":true}]} $GPRMC,072004.000,A,4404.1294,N,12118.8514,W,0.01,0.00,111111,,,D*70 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:04.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314190000,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.005,"climb":0.000,"eps":20.24} $GPGGA,072005.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5F $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,41,23,57,299,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":21,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,072005.000,A,4404.1294,N,12118.8514,W,0.07,0.00,111111,,,D*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:05.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314190000,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.036,"climb":0.000,"eps":20.24} $GPGGA,072006.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5C $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,41,23,57,299,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":21,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,072006.000,A,4404.1294,N,12118.8514,W,0.04,0.00,111111,,,D*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:06.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314190000,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.021,"climb":0.000,"eps":20.24} $GPGGA,072007.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5D $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,41,23,57,299,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":21,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,072007.000,A,4404.1294,N,12118.8514,W,0.02,0.00,111111,,,D*70 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:07.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314190000,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.010,"climb":0.000,"eps":20.24} $GPGGA,072008.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*52 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,41,23,57,299,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,33,04,15,313,*76 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":22,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,072008.000,A,4404.1294,N,12118.8514,W,0.01,0.00,111111,,,D*7C {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:08.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314190000,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.005,"climb":0.000,"eps":20.24} $GPGGA,072009.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*53 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,09,20,73,201,41,23,57,299,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,21,16,31,139,32,13,31,283,33,04,15,313,*75 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.56,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":21,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,072009.000,A,4404.1294,N,12118.8514,W,0.01,0.00,111111,,,D*7D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:09.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314190000,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.005,"climb":0.000,"eps":20.24} $GPGGA,072010.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5B $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.55*0B $GPGSV,3,1,09,20,73,201,41,23,57,299,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,22,16,31,139,32,13,31,283,33,04,15,313,*76 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.55,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":22,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,072010.000,A,4404.1294,N,12118.8514,W,0.01,0.00,111111,,,D*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:10.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314190000,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.720,"track":0.0000,"speed":0.005,"climb":0.000,"eps":20.24} $GPGGA,072011.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5A $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,09,20,73,201,41,23,57,299,39,32,53,149,43,48,37,196,45*72 $GPGSV,3,2,09,31,34,050,23,16,31,139,32,13,31,283,33,04,15,313,*77 $GPGSV,3,3,09,01,14,209,23*4E {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.56,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":23,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true}]} $GPRMC,072011.000,A,4404.1294,N,12118.8514,W,0.01,0.00,111111,,,D*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:11.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314190000,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.662,"track":0.0000,"speed":0.005,"climb":0.000,"eps":20.24} $GPGGA,072012.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,73,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7A $GPGSV,3,2,10,31,34,050,23,16,31,139,32,13,31,283,33,04,15,313,*7F $GPGSV,3,3,10,01,14,209,23,30,,,27*40 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.56,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":23,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true},{"PRN":30,"el":0,"az":0,"ss":27,"used":false}]} $GPRMC,072012.000,A,4404.1294,N,12118.8514,W,0.01,0.00,111111,,,D*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:12.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314190000,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.720,"track":0.0000,"speed":0.005,"climb":0.000,"eps":20.24} $GPGGA,072013.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*58 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,73,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7A $GPGSV,3,2,10,31,34,050,23,16,31,139,32,13,31,283,33,04,15,313,*7F $GPGSV,3,3,10,01,14,209,22,30,,,30*47 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.56,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":73,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":23,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true},{"PRN":30,"el":0,"az":0,"ss":30,"used":false}]} $GPRMC,072013.000,A,4404.1294,N,12118.8514,W,0.05,0.00,111111,,,D*72 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:13.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314190000,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.720,"track":0.0000,"speed":0.026,"climb":0.000,"eps":20.24} $GPGGA,072014.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5F $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7B $GPGSV,3,2,10,31,34,050,23,16,31,139,32,13,31,283,33,04,15,313,*7F $GPGSV,3,3,10,01,14,209,22,30,,,29*4F {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.56,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":23,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true},{"PRN":30,"el":0,"az":0,"ss":29,"used":false}]} $GPRMC,072014.000,A,4404.1294,N,12118.8514,W,0.00,0.00,111111,,,D*70 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:14.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314190000,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.720,"track":0.0000,"speed":0.000,"climb":0.000,"eps":20.24} $GPGGA,072015.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5E $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7B $GPGSV,3,2,10,31,34,050,23,16,31,139,32,13,31,283,33,04,15,313,*7F $GPGSV,3,3,10,01,14,209,22,30,,,31*46 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.56,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":23,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true},{"PRN":30,"el":0,"az":0,"ss":31,"used":false}]} $GPRMC,072015.000,A,4404.1294,N,12118.8514,W,0.01,0.00,111111,,,D*70 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:15.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314190000,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.720,"track":0.0000,"speed":0.005,"climb":0.000,"eps":20.24} $GPGGA,072016.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5D $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7B $GPGSV,3,2,10,31,34,050,23,16,31,139,32,13,31,283,33,04,15,313,*7F $GPGSV,3,3,10,01,14,209,22,30,,,32*45 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.56,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":23,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true},{"PRN":30,"el":0,"az":0,"ss":32,"used":false}]} $GPRMC,072016.000,A,4404.1294,N,12118.8514,W,0.02,0.00,111111,,,D*70 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:16.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314190000,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.720,"track":0.0000,"speed":0.010,"climb":0.000,"eps":20.24} $GPGGA,072017.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*5C $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7B $GPGSV,3,2,10,31,34,050,23,16,31,139,32,13,31,283,33,04,15,313,*7F $GPGSV,3,3,10,01,14,209,22,30,,,31*46 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.56,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":23,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true},{"PRN":30,"el":0,"az":0,"ss":31,"used":false}]} $GPRMC,072017.000,A,4404.1294,N,12118.8514,W,0.02,0.00,111111,,,D*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:17.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314190000,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.720,"track":0.0000,"speed":0.010,"climb":0.000,"eps":20.24} $GPGGA,072018.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*53 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7B $GPGSV,3,2,10,31,34,050,24,16,31,139,32,13,31,283,33,04,15,313,*78 $GPGSV,3,3,10,01,14,209,23,30,,,31*47 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.56,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":24,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true},{"PRN":30,"el":0,"az":0,"ss":31,"used":false}]} $GPRMC,072018.000,A,4404.1294,N,12118.8514,W,0.05,0.00,111111,,,D*79 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:18.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314190000,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.720,"track":0.0000,"speed":0.026,"climb":0.000,"eps":20.24} $GPGGA,072019.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.3,M,-19.6,M,0000,0000*52 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7B $GPGSV,3,2,10,31,34,050,24,16,31,139,32,13,31,283,33,04,15,313,*78 $GPGSV,3,3,10,01,14,209,23,30,,,31*47 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.56,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":24,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true},{"PRN":30,"el":0,"az":0,"ss":31,"used":false}]} $GPRMC,072019.000,A,4404.1294,N,12118.8514,W,0.02,0.00,111111,,,D*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:19.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314190000,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.720,"track":0.0000,"speed":0.010,"climb":0.000,"eps":20.24} $GPGGA,072020.000,4404.1294,N,12118.8514,W,2,7,1.09,1137.3,M,-19.6,M,0000,0000*58 $GPGSA,A,3,23,13,32,31,20,01,16,,,,,,2.05,1.09,1.73*0C $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7B $GPGSV,3,2,10,31,34,050,25,16,31,139,32,13,31,283,33,04,15,313,*79 $GPGSV,3,3,10,01,14,209,23,30,,,31*47 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.73,"tdop":5.88,"hdop":1.09,"gdop":9.33,"pdop":2.05,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":25,"used":true},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":33,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true},{"PRN":30,"el":0,"az":0,"ss":31,"used":false}]} $GPRMC,072020.000,A,4404.1294,N,12118.8514,W,0.01,0.00,111111,,,D*76 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:20.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314190000,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.720,"track":0.0000,"speed":0.005,"climb":0.000,"eps":20.24} $GPGGA,072021.000,4404.1294,N,12118.8514,W,2,6,2.29,1137.2,M,-19.6,M,0000,0000*58 $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7B $GPGSV,3,2,10,31,34,050,25,16,31,139,32,13,31,283,32,04,15,313,*78 $GPGSV,3,3,10,01,14,209,23,30,,,31*47 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.56,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":25,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":32,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":23,"used":true},{"PRN":30,"el":0,"az":0,"ss":31,"used":false}]} $GPRMC,072021.000,A,4404.1294,N,12118.8514,W,0.01,0.00,111111,,,D*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:21.000Z","ept":0.005,"lat":44.068823333,"lon":-121.314190000,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":9.947,"track":0.0000,"speed":0.005,"climb":-0.100,"eps":20.24} $GPGGA,072022.000,4404.1295,N,12118.8514,W,2,6,2.29,1137.2,M,-19.6,M,0000,0000*5A $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,43,48,37,196,45*7B $GPGSV,3,2,10,31,34,050,25,16,31,139,33,13,31,283,32,04,15,313,*79 $GPGSV,3,3,10,01,14,209,22,30,,,30*47 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.56,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":43,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":34,"az":50,"ss":25,"used":false},{"PRN":16,"el":31,"az":139,"ss":33,"used":true},{"PRN":13,"el":31,"az":283,"ss":32,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true},{"PRN":30,"el":0,"az":0,"ss":30,"used":false}]} $GPRMC,072022.000,A,4404.1295,N,12118.8514,W,0.03,0.00,111111,,,D*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:22.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314190000,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":14.720,"track":0.0000,"speed":0.015,"climb":0.000,"eps":20.24} $GPGGA,072023.000,4404.1295,N,12118.8514,W,2,7,1.09,1137.2,M,-19.6,M,0000,0000*5B $GPGSA,A,3,23,13,32,31,20,01,16,,,,,,2.05,1.09,1.73*0C $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,42,48,37,196,44*7B $GPGSV,3,2,10,31,34,050,25,16,31,139,33,13,31,283,32,04,15,313,*79 $GPGSV,3,3,10,01,14,209,22,30,,,30*47 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.73,"tdop":5.88,"hdop":1.09,"gdop":9.33,"pdop":2.05,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":25,"used":true},{"PRN":16,"el":31,"az":139,"ss":33,"used":true},{"PRN":13,"el":31,"az":283,"ss":32,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true},{"PRN":30,"el":0,"az":0,"ss":30,"used":false}]} $GPRMC,072023.000,A,4404.1295,N,12118.8514,W,0.02,0.00,111111,,,D*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:23.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314190000,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":14.720,"track":0.0000,"speed":0.010,"climb":0.000,"eps":20.24} $GPGGA,072024.000,4404.1295,N,12118.8514,W,2,7,1.09,1137.2,M,-19.6,M,0000,0000*5C $GPGSA,A,3,23,13,32,31,20,01,16,,,,,,2.05,1.09,1.73*0C $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,42,48,37,196,44*7B $GPGSV,3,2,10,31,34,050,25,16,31,139,33,13,31,283,32,04,15,313,*79 $GPGSV,3,3,10,01,14,209,22,30,,,30*47 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.73,"tdop":5.88,"hdop":1.09,"gdop":9.33,"pdop":2.05,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":25,"used":true},{"PRN":16,"el":31,"az":139,"ss":33,"used":true},{"PRN":13,"el":31,"az":283,"ss":32,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true},{"PRN":30,"el":0,"az":0,"ss":30,"used":false}]} $GPRMC,072024.000,A,4404.1295,N,12118.8514,W,0.01,0.00,111111,,,D*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:24.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314190000,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":9.947,"track":0.0000,"speed":0.005,"climb":0.000,"eps":20.24} $GPGGA,072025.000,4404.1295,N,12118.8514,W,2,7,1.09,1137.2,M,-19.6,M,0000,0000*5D $GPGSA,A,3,23,13,32,31,20,01,16,,,,,,2.05,1.09,1.73*0C $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,42,48,37,196,44*7B $GPGSV,3,2,10,31,34,050,25,16,31,139,33,13,31,283,32,04,15,313,*79 $GPGSV,3,3,10,01,14,209,22,30,,,30*47 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.73,"tdop":5.88,"hdop":1.09,"gdop":9.33,"pdop":2.05,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":34,"az":50,"ss":25,"used":true},{"PRN":16,"el":31,"az":139,"ss":33,"used":true},{"PRN":13,"el":31,"az":283,"ss":32,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":22,"used":true},{"PRN":30,"el":0,"az":0,"ss":30,"used":false}]} $GPRMC,072025.000,A,4404.1295,N,12118.8514,W,0.02,0.00,111111,,,D*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:25.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314190000,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":9.947,"track":0.0000,"speed":0.010,"climb":0.000,"eps":20.24} $GPGGA,072026.000,4404.1295,N,12118.8514,W,2,6,2.29,1137.2,M,-19.6,M,0000,0000*5E $GPGSA,A,3,23,13,32,20,01,16,,,,,,,3.43,2.29,2.56*08 $GPGSV,3,1,10,20,72,201,40,23,57,299,39,32,53,149,42,48,37,196,44*7A $GPGSV,3,2,10,31,33,050,24,16,31,139,32,13,31,283,31,04,15,313,*7D $GPGSV,3,3,10,01,14,209,21,30,,,28*4D {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.56,"tdop":5.88,"hdop":2.29,"gdop":9.33,"pdop":3.43,"satellites":[{"PRN":20,"el":72,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":33,"az":50,"ss":24,"used":false},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":31,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":21,"used":true},{"PRN":30,"el":0,"az":0,"ss":28,"used":false}]} $GPRMC,072026.000,A,4404.1295,N,12118.8514,W,0.01,0.00,111111,,,D*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:26.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314190000,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":9.947,"track":0.0000,"speed":0.005,"climb":0.000,"eps":20.24} $GPGGA,072027.000,4404.1295,N,12118.8514,W,2,7,1.09,1137.2,M,-19.6,M,0000,0000*5F $GPGSA,A,3,23,13,32,31,20,01,16,,,,,,2.05,1.09,1.73*0C $GPGSV,3,1,10,20,72,201,39,23,57,299,38,32,53,149,40,48,37,196,43*70 $GPGSV,3,2,10,31,33,050,23,16,31,139,31,13,31,283,30,04,15,313,*78 $GPGSV,3,3,10,01,14,209,21,30,,,27*42 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.73,"tdop":5.88,"hdop":1.09,"gdop":9.33,"pdop":2.05,"satellites":[{"PRN":20,"el":72,"az":201,"ss":39,"used":true},{"PRN":23,"el":57,"az":299,"ss":38,"used":true},{"PRN":32,"el":53,"az":149,"ss":40,"used":true},{"PRN":135,"el":37,"az":196,"ss":43,"used":false},{"PRN":31,"el":33,"az":50,"ss":23,"used":true},{"PRN":16,"el":31,"az":139,"ss":31,"used":true},{"PRN":13,"el":31,"az":283,"ss":30,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":14,"az":209,"ss":21,"used":true},{"PRN":30,"el":0,"az":0,"ss":27,"used":false}]} $GPRMC,072027.000,A,4404.1295,N,12118.8514,W,0.01,0.00,111111,,,D*70 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:27.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314190000,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":14.720,"track":0.0000,"speed":0.005,"climb":0.000,"eps":20.24} $GPGGA,072028.000,4404.1295,N,12118.8514,W,2,7,1.09,1137.2,M,-19.6,M,0000,0000*50 $GPGSA,A,3,23,13,32,31,20,01,16,,,,,,2.05,1.09,1.73*0C $GPGSV,3,1,10,20,72,201,40,23,57,299,39,32,53,149,41,48,37,196,43*7E $GPGSV,3,2,10,31,33,050,24,16,31,139,32,13,31,283,31,04,15,313,*7D $GPGSV,3,3,10,01,13,209,21,30,,,28*4A {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.73,"tdop":5.88,"hdop":1.09,"gdop":9.33,"pdop":2.05,"satellites":[{"PRN":20,"el":72,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":41,"used":true},{"PRN":135,"el":37,"az":196,"ss":43,"used":false},{"PRN":31,"el":33,"az":50,"ss":24,"used":true},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":31,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":21,"used":true},{"PRN":30,"el":0,"az":0,"ss":28,"used":false}]} $GPRMC,072028.000,A,4404.1295,N,12118.8514,W,0.01,0.00,111111,,,D*7F {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:28.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314190000,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":9.947,"track":0.0000,"speed":0.005,"climb":0.000,"eps":20.24} $GPGGA,072029.000,4404.1295,N,12118.8513,W,2,7,1.09,1137.2,M,-19.6,M,0000,0000*56 $GPGSA,A,3,23,13,32,31,20,01,16,,,,,,2.05,1.09,1.73*0C $GPGSV,3,1,10,20,72,201,41,23,57,299,39,32,53,149,42,48,37,196,43*7C $GPGSV,3,2,10,31,33,050,25,16,31,139,32,13,31,283,31,04,15,313,*7C $GPGSV,3,3,10,01,13,209,21,30,,,29*4B {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.73,"tdop":5.88,"hdop":1.09,"gdop":9.33,"pdop":2.05,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":135,"el":37,"az":196,"ss":43,"used":false},{"PRN":31,"el":33,"az":50,"ss":25,"used":true},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":31,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":21,"used":true},{"PRN":30,"el":0,"az":0,"ss":29,"used":false}]} $GPRMC,072029.000,A,4404.1295,N,12118.8513,W,0.02,0.00,111111,,,D*7A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:29.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314188333,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":9.947,"track":0.0000,"speed":0.010,"climb":0.000,"eps":20.24} $GPGGA,072030.000,4404.1295,N,12118.8514,W,2,7,1.09,1137.2,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,31,20,01,16,,,,,,2.05,1.09,1.73*0C $GPGSV,3,1,10,20,72,201,41,23,57,299,40,32,53,149,42,48,37,196,43*72 $GPGSV,3,2,10,31,33,050,25,16,31,139,32,13,31,283,31,04,15,313,*7C $GPGSV,3,3,10,01,13,209,21,30,,,30*43 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.73,"tdop":5.88,"hdop":1.09,"gdop":9.33,"pdop":2.05,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":40,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":135,"el":37,"az":196,"ss":43,"used":false},{"PRN":31,"el":33,"az":50,"ss":25,"used":true},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":31,"used":true},{"PRN":4,"el":15,"az":313,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":21,"used":true},{"PRN":30,"el":0,"az":0,"ss":30,"used":false}]} $GPRMC,072030.000,A,4404.1295,N,12118.8514,W,0.02,0.00,111111,,,D*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:30.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314190000,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":9.947,"track":0.0000,"speed":0.010,"climb":0.000,"eps":20.24} $GPGGA,072031.000,4404.1295,N,12118.8514,W,2,5,5.02,1137.2,M,-19.6,M,0000,0000*55 $GPGSA,A,3,23,13,32,20,16,,,,,,,,5.64,5.02,2.57*05 $GPGSV,3,1,10,20,72,201,40,23,57,299,39,32,53,149,41,48,37,196,43*7E $GPGSV,3,2,10,31,33,050,24,16,31,139,31,13,31,283,30,04,16,312,*7D $GPGSV,3,3,10,01,13,209,20,30,,,29*4A {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.57,"tdop":5.88,"hdop":5.02,"gdop":9.33,"pdop":5.64,"satellites":[{"PRN":20,"el":72,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":39,"used":true},{"PRN":32,"el":53,"az":149,"ss":41,"used":true},{"PRN":135,"el":37,"az":196,"ss":43,"used":false},{"PRN":31,"el":33,"az":50,"ss":24,"used":false},{"PRN":16,"el":31,"az":139,"ss":31,"used":true},{"PRN":13,"el":31,"az":283,"ss":30,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":20,"used":false},{"PRN":30,"el":0,"az":0,"ss":29,"used":false}]} $GPRMC,072031.000,A,4404.1295,N,12118.8514,W,0.02,0.00,111111,,,D*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:31.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314190000,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":9.947,"track":0.0000,"speed":0.010,"climb":0.000,"eps":20.24} $GPGGA,072032.000,4404.1295,N,12118.8513,W,2,6,1.31,1137.2,M,-19.6,M,0000,0000*56 $GPGSA,A,3,23,13,32,31,20,16,,,,,,,2.78,1.31,2.45*0A $GPGSV,3,1,10,20,72,201,40,23,57,299,40,32,53,149,42,48,37,196,43*73 $GPGSV,3,2,10,31,33,050,25,16,31,139,32,13,31,283,31,04,16,312,*7E $GPGSV,3,3,10,01,13,209,19,30,,,29*40 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.45,"tdop":5.88,"hdop":1.31,"gdop":9.33,"pdop":2.78,"satellites":[{"PRN":20,"el":72,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":40,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":135,"el":37,"az":196,"ss":43,"used":false},{"PRN":31,"el":33,"az":50,"ss":25,"used":true},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":31,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":19,"used":false},{"PRN":30,"el":0,"az":0,"ss":29,"used":false}]} $GPRMC,072032.000,A,4404.1295,N,12118.8513,W,0.04,0.00,111111,,,D*76 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:32.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314188333,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":14.777,"track":0.0000,"speed":0.021,"climb":0.000,"eps":20.24} $GPGGA,072033.000,4404.1295,N,12118.8513,W,2,6,1.31,1137.2,M,-19.6,M,0000,0000*57 $GPGSA,A,3,23,13,32,31,20,16,,,,,,,2.78,1.31,2.45*0A $GPGSV,3,1,10,20,72,201,40,23,57,299,40,32,53,149,42,48,37,196,43*73 $GPGSV,3,2,10,31,33,050,25,16,31,139,32,13,31,283,31,04,16,312,*7E $GPGSV,3,3,10,01,13,209,20,30,,,29*4A {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.45,"tdop":5.88,"hdop":1.31,"gdop":9.33,"pdop":2.78,"satellites":[{"PRN":20,"el":72,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":40,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":135,"el":37,"az":196,"ss":43,"used":false},{"PRN":31,"el":33,"az":50,"ss":25,"used":true},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":31,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":20,"used":false},{"PRN":30,"el":0,"az":0,"ss":29,"used":false}]} $GPRMC,072033.000,A,4404.1295,N,12118.8513,W,0.04,0.00,111111,,,D*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:33.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314188333,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":14.088,"track":0.0000,"speed":0.021,"climb":0.000,"eps":20.24} $GPGGA,072034.000,4404.1295,N,12118.8513,W,2,7,1.09,1137.2,M,-19.6,M,0000,0000*5A $GPGSA,A,3,23,13,32,31,20,01,16,,,,,,2.05,1.09,1.73*0C $GPGSV,3,1,10,20,72,201,40,23,57,299,40,32,53,149,42,48,37,196,43*73 $GPGSV,3,2,10,31,33,050,25,16,31,139,32,13,31,283,31,04,16,312,*7E $GPGSV,3,3,10,01,13,209,21,30,,,30*43 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.73,"tdop":5.88,"hdop":1.09,"gdop":9.33,"pdop":2.05,"satellites":[{"PRN":20,"el":72,"az":201,"ss":40,"used":true},{"PRN":23,"el":57,"az":299,"ss":40,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":135,"el":37,"az":196,"ss":43,"used":false},{"PRN":31,"el":33,"az":50,"ss":25,"used":true},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":31,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":21,"used":true},{"PRN":30,"el":0,"az":0,"ss":30,"used":false}]} $GPRMC,072034.000,A,4404.1295,N,12118.8513,W,0.08,0.00,111111,,,D*7C {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:34.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314188333,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":14.088,"track":0.0000,"speed":0.041,"climb":0.000,"eps":20.24} $GPGGA,072035.000,4404.1295,N,12118.8513,W,2,8,1.01,1137.2,M,-19.6,M,0000,0000*5C $GPGSA,A,3,23,13,32,31,20,01,16,30,,,,,1.99,1.01,1.72*00 $GPGSV,3,1,10,20,72,201,41,23,57,299,40,32,53,149,42,30,39,075,30*7B $GPGSV,3,2,10,48,37,196,43,31,33,050,25,16,31,139,32,13,31,283,31*7C $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.72,"tdop":5.88,"hdop":1.01,"gdop":9.33,"pdop":1.99,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":40,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":30,"used":true},{"PRN":135,"el":37,"az":196,"ss":43,"used":false},{"PRN":31,"el":33,"az":50,"ss":25,"used":true},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":31,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":22,"used":true}]} $GPRMC,072035.000,A,4404.1295,N,12118.8513,W,0.02,0.00,111111,,,D*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:35.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314188333,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":9.947,"track":0.0000,"speed":0.010,"climb":0.000,"eps":20.24} $GPGGA,072036.000,4404.1295,N,12118.8513,W,2,7,1.19,1137.2,M,-19.6,M,0000,0000*59 $GPGSA,A,3,23,13,32,31,20,16,30,,,,,,2.72,1.19,2.45*09 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,44,31,33,050,26,16,31,139,32,13,31,283,31*78 $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.45,"tdop":5.88,"hdop":1.19,"gdop":9.33,"pdop":2.72,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":30,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":33,"az":50,"ss":26,"used":true},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":31,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":22,"used":false}]} $GPRMC,072036.000,A,4404.1295,N,12118.8513,W,0.03,0.00,111111,,,D*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:36.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314188333,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":9.890,"track":0.0000,"speed":0.015,"climb":0.000,"eps":20.24} $GPGGA,072037.000,4404.1295,N,12118.8513,W,2,7,1.19,1137.2,M,-19.6,M,0000,0000*58 $GPGSA,A,3,23,13,32,31,20,16,30,,,,,,2.72,1.19,2.45*09 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,44,31,33,050,26,16,31,139,32,13,31,283,30*79 $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.45,"tdop":5.88,"hdop":1.19,"gdop":9.33,"pdop":2.72,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":30,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":33,"az":50,"ss":26,"used":true},{"PRN":16,"el":31,"az":139,"ss":32,"used":true},{"PRN":13,"el":31,"az":283,"ss":30,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":22,"used":false}]} $GPRMC,072037.000,A,4404.1295,N,12118.8513,W,0.03,0.00,111111,,,D*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:37.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314188333,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":14.088,"track":0.0000,"speed":0.015,"climb":0.000,"eps":20.24} $GPGGA,072038.000,4404.1295,N,12118.8513,W,2,8,1.01,1137.2,M,-19.6,M,0000,0000*51 $GPGSA,A,3,23,13,32,31,20,01,16,30,,,,,1.99,1.01,1.72*00 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,44,31,33,050,26,16,31,139,33,13,31,283,30*78 $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.72,"tdop":5.88,"hdop":1.01,"gdop":9.33,"pdop":1.99,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":30,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":33,"az":50,"ss":26,"used":true},{"PRN":16,"el":31,"az":139,"ss":33,"used":true},{"PRN":13,"el":31,"az":283,"ss":30,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":22,"used":true}]} $GPRMC,072038.000,A,4404.1295,N,12118.8513,W,0.02,0.00,111111,,,D*7A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:38.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314188333,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":14.088,"track":0.0000,"speed":0.010,"climb":0.000,"eps":20.24} $GPGGA,072039.000,4404.1295,N,12118.8513,W,2,7,1.26,1137.2,M,-19.6,M,0000,0000*5A $GPGSA,A,3,23,13,32,20,01,16,30,,,,,,2.28,1.26,1.90*02 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,44,31,33,050,26,16,31,139,33,13,31,283,30*78 $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.90,"tdop":5.88,"hdop":1.26,"gdop":9.33,"pdop":2.28,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":30,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":33,"az":50,"ss":26,"used":false},{"PRN":16,"el":31,"az":139,"ss":33,"used":true},{"PRN":13,"el":31,"az":283,"ss":30,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":22,"used":true}]} $GPRMC,072039.000,A,4404.1295,N,12118.8513,W,0.04,0.00,111111,,,D*7D {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:39.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314188333,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":9.890,"track":0.0000,"speed":0.021,"climb":0.000,"eps":20.24} $GPGGA,072040.000,4404.1295,N,12118.8513,W,2,8,1.01,1137.2,M,-19.6,M,0000,0000*5E $GPGSA,A,3,23,13,32,31,20,01,16,30,,,,,1.99,1.01,1.72*00 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,44,31,33,050,26,16,31,139,34,13,31,283,30*7F $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.72,"tdop":5.88,"hdop":1.01,"gdop":9.33,"pdop":1.99,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":30,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":33,"az":50,"ss":26,"used":true},{"PRN":16,"el":31,"az":139,"ss":34,"used":true},{"PRN":13,"el":31,"az":283,"ss":30,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":22,"used":true}]} $GPRMC,072040.000,A,4404.1295,N,12118.8513,W,0.04,0.00,111111,,,D*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:40.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314188333,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":10.925,"track":0.0000,"speed":0.021,"climb":0.000,"eps":20.24} $GPGGA,072041.000,4404.1295,N,12118.8513,W,2,8,1.01,1137.2,M,-19.6,M,0000,0000*5F $GPGSA,A,3,23,13,32,31,20,01,16,30,,,,,1.99,1.01,1.72*00 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,44,31,33,050,26,16,31,139,34,13,31,283,30*7F $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.72,"tdop":5.88,"hdop":1.01,"gdop":9.33,"pdop":1.99,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":30,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":33,"az":50,"ss":26,"used":true},{"PRN":16,"el":31,"az":139,"ss":34,"used":true},{"PRN":13,"el":31,"az":283,"ss":30,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":22,"used":true}]} $GPRMC,072041.000,A,4404.1295,N,12118.8513,W,0.02,0.00,111111,,,D*74 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:41.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314188333,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":9.890,"track":0.0000,"speed":0.010,"climb":0.000,"eps":20.24} $GPGGA,072042.000,4404.1295,N,12118.8513,W,2,8,1.01,1137.2,M,-19.6,M,0000,0000*5C $GPGSA,A,3,23,13,32,31,20,01,16,30,,,,,1.99,1.01,1.72*00 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,44,31,33,050,26,16,31,139,34,13,31,283,30*7F $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.72,"tdop":5.88,"hdop":1.01,"gdop":9.33,"pdop":1.99,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":30,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":33,"az":50,"ss":26,"used":true},{"PRN":16,"el":31,"az":139,"ss":34,"used":true},{"PRN":13,"el":31,"az":283,"ss":30,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":22,"used":true}]} $GPRMC,072042.000,A,4404.1295,N,12118.8513,W,0.02,0.00,111111,,,D*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:42.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314188333,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":9.890,"track":0.0000,"speed":0.010,"climb":0.000,"eps":20.24} $GPGGA,072043.000,4404.1295,N,12118.8513,W,2,7,1.26,1137.2,M,-19.6,M,0000,0000*57 $GPGSA,A,3,23,13,32,20,01,16,30,,,,,,2.28,1.26,1.91*03 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,44,31,33,050,25,16,31,139,34,13,31,283,30*7C $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.91,"tdop":5.88,"hdop":1.26,"gdop":9.33,"pdop":2.28,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":30,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":33,"az":50,"ss":25,"used":false},{"PRN":16,"el":31,"az":139,"ss":34,"used":true},{"PRN":13,"el":31,"az":283,"ss":30,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":22,"used":true}]} $GPRMC,072043.000,A,4404.1295,N,12118.8513,W,0.01,0.00,111111,,,D*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:43.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314188333,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":9.890,"track":0.0000,"speed":0.005,"climb":0.000,"eps":20.24} $GPGGA,072044.000,4404.1295,N,12118.8513,W,2,7,1.26,1137.2,M,-19.6,M,0000,0000*50 $GPGSA,A,3,23,13,32,20,01,16,30,,,,,,2.28,1.26,1.90*02 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,44,31,33,050,25,16,31,139,34,13,31,283,30*7C $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.90,"tdop":5.88,"hdop":1.26,"gdop":9.33,"pdop":2.28,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":30,"used":true},{"PRN":135,"el":37,"az":196,"ss":44,"used":false},{"PRN":31,"el":33,"az":50,"ss":25,"used":false},{"PRN":16,"el":31,"az":139,"ss":34,"used":true},{"PRN":13,"el":31,"az":283,"ss":30,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":22,"used":true}]} $GPRMC,072044.000,A,4404.1295,N,12118.8513,W,0.01,0.00,111111,,,D*72 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:44.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314188333,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":10.982,"track":0.0000,"speed":0.005,"climb":0.000,"eps":20.24} $GPGGA,072045.000,4404.1295,N,12118.8513,W,2,7,1.26,1137.2,M,-19.6,M,0000,0000*51 $GPGSA,A,3,23,13,32,20,01,16,30,,,,,,2.28,1.26,1.90*02 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,45,31,33,050,25,16,31,139,34,13,31,283,30*7D $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.90,"tdop":5.88,"hdop":1.26,"gdop":9.33,"pdop":2.28,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":30,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":33,"az":50,"ss":25,"used":false},{"PRN":16,"el":31,"az":139,"ss":34,"used":true},{"PRN":13,"el":31,"az":283,"ss":30,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":22,"used":true}]} $GPRMC,072045.000,A,4404.1295,N,12118.8513,W,0.02,0.00,111111,,,D*70 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:45.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314188333,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":10.925,"track":0.0000,"speed":0.010,"climb":0.000,"eps":20.24} $GPGGA,072046.000,4404.1295,N,12118.8513,W,2,7,1.26,1137.2,M,-19.6,M,0000,0000*52 $GPGSA,A,3,23,13,32,20,01,16,30,,,,,,2.28,1.26,1.90*02 $GPGSV,3,1,10,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7A $GPGSV,3,2,10,48,37,196,45,31,33,050,25,16,31,139,34,13,31,283,30*7D $GPGSV,3,3,10,04,16,312,,01,13,209,22*73 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.90,"tdop":5.88,"hdop":1.26,"gdop":9.33,"pdop":2.28,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":30,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":33,"az":50,"ss":25,"used":false},{"PRN":16,"el":31,"az":139,"ss":34,"used":true},{"PRN":13,"el":31,"az":283,"ss":30,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":22,"used":true}]} $GPRMC,072046.000,A,4404.1295,N,12118.8513,W,0.01,0.00,111111,,,D*70 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:46.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314188333,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":10.925,"track":0.0000,"speed":0.005,"climb":0.000,"eps":20.24} $GPGGA,072047.000,4404.1295,N,12118.8513,W,2,7,1.26,1137.2,M,-19.6,M,0000,0000*53 $GPGSA,A,3,23,13,32,20,01,16,30,,,,,,2.28,1.26,1.90*02 $GPGSV,3,1,11,20,72,201,41,23,57,299,41,32,53,149,42,30,39,075,30*7B $GPGSV,3,2,11,48,37,196,45,31,33,050,25,16,31,139,34,13,31,283,30*7C $GPGSV,3,3,11,04,16,312,,01,13,209,22,07,02,227,*40 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.90,"tdop":5.88,"hdop":1.26,"gdop":9.33,"pdop":2.28,"satellites":[{"PRN":20,"el":72,"az":201,"ss":41,"used":true},{"PRN":23,"el":57,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":30,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":33,"az":50,"ss":25,"used":false},{"PRN":16,"el":31,"az":139,"ss":34,"used":true},{"PRN":13,"el":31,"az":283,"ss":30,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":22,"used":true},{"PRN":7,"el":2,"az":227,"ss":0,"used":false}]} $GPRMC,072047.000,A,4404.1295,N,12118.8513,W,0.03,0.00,111111,,,D*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:47.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314188333,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":10.925,"track":0.0000,"speed":0.015,"climb":0.000,"eps":20.24} $GPGGA,072048.000,4404.1295,N,12118.8512,W,2,7,1.19,1137.2,M,-19.6,M,0000,0000*51 $GPGSA,A,3,23,13,32,31,20,16,30,,,,,,2.73,1.19,2.46*0B $GPGSV,3,1,11,20,72,201,42,23,57,299,41,32,53,149,42,30,39,075,31*79 $GPGSV,3,2,11,48,37,196,45,31,33,050,27,16,31,139,35,13,31,283,30*7F $GPGSV,3,3,11,04,16,312,,01,13,209,22,07,02,227,*40 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.46,"tdop":5.88,"hdop":1.19,"gdop":9.33,"pdop":2.73,"satellites":[{"PRN":20,"el":72,"az":201,"ss":42,"used":true},{"PRN":23,"el":57,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":31,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":33,"az":50,"ss":27,"used":true},{"PRN":16,"el":31,"az":139,"ss":35,"used":true},{"PRN":13,"el":31,"az":283,"ss":30,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":22,"used":false},{"PRN":7,"el":2,"az":227,"ss":0,"used":false}]} $GPRMC,072048.000,A,4404.1295,N,12118.8512,W,0.08,0.00,111111,,,D*76 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:48.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314186667,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":10.925,"track":0.0000,"speed":0.041,"climb":0.000,"eps":20.24} $GPGGA,072049.000,4404.1295,N,12118.8512,W,2,7,1.19,1137.3,M,-19.6,M,0000,0000*51 $GPGSA,A,3,23,13,32,31,20,16,30,,,,,,2.73,1.19,2.46*0B $GPGSV,3,1,11,20,72,201,42,23,57,299,41,32,53,149,42,30,39,075,31*79 $GPGSV,3,2,11,48,37,196,45,31,33,050,28,16,31,139,35,13,31,283,29*78 $GPGSV,3,3,11,04,16,312,,01,13,209,20,07,02,227,*42 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.46,"tdop":5.88,"hdop":1.19,"gdop":9.33,"pdop":2.73,"satellites":[{"PRN":20,"el":72,"az":201,"ss":42,"used":true},{"PRN":23,"el":57,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":31,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":33,"az":50,"ss":28,"used":true},{"PRN":16,"el":31,"az":139,"ss":35,"used":true},{"PRN":13,"el":31,"az":283,"ss":29,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":20,"used":false},{"PRN":7,"el":2,"az":227,"ss":0,"used":false}]} $GPRMC,072049.000,A,4404.1295,N,12118.8512,W,0.05,0.00,111111,,,D*7A {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:49.000Z","ept":0.005,"lat":44.068825000,"lon":-121.314186667,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.145,"track":0.0000,"speed":0.026,"climb":0.100,"eps":20.24} $GPGGA,072050.000,4404.1296,N,12118.8512,W,2,7,1.19,1137.2,M,-19.6,M,0000,0000*5B $GPGSA,A,3,23,13,32,31,20,16,30,,,,,,2.73,1.19,2.46*0B $GPGSV,3,1,11,20,72,200,42,23,57,299,41,32,53,149,42,30,39,075,32*7B $GPGSV,3,2,11,48,37,196,45,31,33,050,28,16,31,139,35,13,31,283,30*70 $GPGSV,3,3,11,04,16,312,,01,13,209,19,07,02,227,*48 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.46,"tdop":5.88,"hdop":1.19,"gdop":9.33,"pdop":2.73,"satellites":[{"PRN":20,"el":72,"az":200,"ss":42,"used":true},{"PRN":23,"el":57,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":32,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":33,"az":50,"ss":28,"used":true},{"PRN":16,"el":31,"az":139,"ss":35,"used":true},{"PRN":13,"el":31,"az":283,"ss":30,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":19,"used":false},{"PRN":7,"el":2,"az":227,"ss":0,"used":false}]} $GPRMC,072050.000,A,4404.1296,N,12118.8512,W,0.06,0.00,111111,,,D*72 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:50.000Z","ept":0.005,"lat":44.068826667,"lon":-121.314186667,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":14.145,"track":0.0000,"speed":0.031,"climb":-0.100,"eps":20.24} $GPGGA,072051.000,4404.1296,N,12118.8512,W,2,6,1.52,1137.2,M,-19.6,M,0000,0000*54 $GPGSA,A,3,23,13,32,20,16,30,,,,,,,2.92,1.52,2.49*06 $GPGSV,3,1,11,20,72,200,42,23,57,299,41,32,53,149,42,30,39,075,33*7A $GPGSV,3,2,11,48,37,196,45,31,33,050,26,16,31,139,35,13,31,283,30*7E $GPGSV,3,3,11,04,16,312,,01,13,209,19,07,02,227,*48 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.49,"tdop":5.88,"hdop":1.52,"gdop":9.33,"pdop":2.92,"satellites":[{"PRN":20,"el":72,"az":200,"ss":42,"used":true},{"PRN":23,"el":57,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":33,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":33,"az":50,"ss":26,"used":false},{"PRN":16,"el":31,"az":139,"ss":35,"used":true},{"PRN":13,"el":31,"az":283,"ss":30,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":19,"used":false},{"PRN":7,"el":2,"az":227,"ss":0,"used":false}]} $GPRMC,072051.000,A,4404.1296,N,12118.8512,W,0.06,0.00,111111,,,D*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:51.000Z","ept":0.005,"lat":44.068826667,"lon":-121.314186667,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":14.145,"track":0.0000,"speed":0.031,"climb":0.000,"eps":20.24} $GPGGA,072052.000,4404.1296,N,12118.8512,W,2,7,1.26,1137.2,M,-19.6,M,0000,0000*55 $GPGSA,A,3,23,13,32,20,01,16,30,,,,,,2.28,1.26,1.90*02 $GPGSV,3,1,11,20,72,200,42,23,57,299,41,32,53,149,42,30,39,075,34*7D $GPGSV,3,2,11,48,37,196,45,31,33,050,25,16,31,139,35,13,31,283,30*7D $GPGSV,3,3,11,04,16,312,,01,13,209,20,07,02,227,*42 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.90,"tdop":5.88,"hdop":1.26,"gdop":9.33,"pdop":2.28,"satellites":[{"PRN":20,"el":72,"az":200,"ss":42,"used":true},{"PRN":23,"el":57,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":34,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":33,"az":50,"ss":25,"used":false},{"PRN":16,"el":31,"az":139,"ss":35,"used":true},{"PRN":13,"el":31,"az":283,"ss":30,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":20,"used":true},{"PRN":7,"el":2,"az":227,"ss":0,"used":false}]} $GPRMC,072052.000,A,4404.1296,N,12118.8512,W,0.11,0.00,111111,,,D*76 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:52.000Z","ept":0.005,"lat":44.068826667,"lon":-121.314186667,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":14.318,"track":0.0000,"speed":0.057,"climb":0.000,"eps":20.24} $GPGGA,072053.000,4404.1296,N,12118.8512,W,2,7,1.19,1137.2,M,-19.6,M,0000,0000*58 $GPGSA,A,3,23,13,32,31,20,16,30,,,,,,2.73,1.19,2.46*0B $GPGSV,3,1,11,20,72,200,42,23,58,299,41,32,53,149,42,30,39,075,34*72 $GPGSV,3,2,11,48,37,196,45,31,33,050,26,16,31,139,35,13,31,283,31*7F $GPGSV,3,3,11,04,16,312,,01,13,209,21,07,02,227,*43 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.46,"tdop":5.88,"hdop":1.19,"gdop":9.33,"pdop":2.73,"satellites":[{"PRN":20,"el":72,"az":200,"ss":42,"used":true},{"PRN":23,"el":58,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":34,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":33,"az":50,"ss":26,"used":true},{"PRN":16,"el":31,"az":139,"ss":35,"used":true},{"PRN":13,"el":31,"az":283,"ss":31,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":21,"used":false},{"PRN":7,"el":2,"az":227,"ss":0,"used":false}]} $GPRMC,072053.000,A,4404.1296,N,12118.8512,W,0.06,0.00,111111,,,D*71 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:53.000Z","ept":0.005,"lat":44.068826667,"lon":-121.314186667,"alt":1137.200,"epx":10.122,"epy":9.483,"epv":10.925,"track":0.0000,"speed":0.031,"climb":0.000,"eps":20.24} $GPGGA,072054.000,4404.1296,N,12118.8512,W,2,7,1.19,1137.3,M,-19.6,M,0000,0000*5E $GPGSA,A,3,23,13,32,31,20,16,30,,,,,,2.73,1.19,2.46*0B $GPGSV,3,1,11,20,72,200,43,23,58,299,41,32,53,149,42,30,39,075,34*73 $GPGSV,3,2,11,48,37,196,45,31,33,050,26,16,31,139,35,13,31,283,31*7F $GPGSV,3,3,11,04,16,312,,01,13,209,21,07,02,227,*43 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.46,"tdop":5.88,"hdop":1.19,"gdop":9.33,"pdop":2.73,"satellites":[{"PRN":20,"el":72,"az":200,"ss":43,"used":true},{"PRN":23,"el":58,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":34,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":33,"az":50,"ss":26,"used":true},{"PRN":16,"el":31,"az":139,"ss":35,"used":true},{"PRN":13,"el":31,"az":283,"ss":31,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":21,"used":false},{"PRN":7,"el":2,"az":227,"ss":0,"used":false}]} $GPRMC,072054.000,A,4404.1296,N,12118.8512,W,0.03,0.00,111111,,,D*73 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:54.000Z","ept":0.005,"lat":44.068826667,"lon":-121.314186667,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.145,"track":0.0000,"speed":0.015,"climb":0.100,"eps":20.24} $GPGGA,072055.000,4404.1296,N,12118.8512,W,2,7,1.19,1137.3,M,-19.6,M,0000,0000*5F $GPGSA,A,3,23,13,32,31,20,16,30,,,,,,2.73,1.19,2.46*0B $GPGSV,3,1,11,20,72,200,43,23,58,299,41,32,53,149,42,30,39,075,34*73 $GPGSV,3,2,11,48,37,196,45,31,33,050,26,16,31,139,35,13,31,283,31*7F $GPGSV,3,3,11,04,16,312,,01,13,209,21,07,02,227,*43 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":2.46,"tdop":5.88,"hdop":1.19,"gdop":9.33,"pdop":2.73,"satellites":[{"PRN":20,"el":72,"az":200,"ss":43,"used":true},{"PRN":23,"el":58,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":34,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":33,"az":50,"ss":26,"used":true},{"PRN":16,"el":31,"az":139,"ss":35,"used":true},{"PRN":13,"el":31,"az":283,"ss":31,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":21,"used":false},{"PRN":7,"el":2,"az":227,"ss":0,"used":false}]} $GPRMC,072055.000,A,4404.1296,N,12118.8512,W,0.04,0.00,111111,,,D*75 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:55.000Z","ept":0.005,"lat":44.068826667,"lon":-121.314186667,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.145,"track":0.0000,"speed":0.021,"climb":0.000,"eps":20.24} $GPGGA,072056.000,4404.1296,N,12118.8511,W,2,7,1.25,1137.3,M,-19.6,M,0000,0000*50 $GPGSA,A,3,23,13,32,20,01,16,30,,,,,,2.28,1.25,1.90*01 $GPGSV,3,1,11,20,72,200,43,23,58,299,41,32,53,149,42,30,39,075,34*73 $GPGSV,3,2,11,48,37,196,45,31,33,050,26,16,31,139,35,13,31,283,31*7F $GPGSV,3,3,11,04,16,312,,01,13,209,22,07,02,227,*40 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.90,"tdop":5.88,"hdop":1.25,"gdop":9.33,"pdop":2.28,"satellites":[{"PRN":20,"el":72,"az":200,"ss":43,"used":true},{"PRN":23,"el":58,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":34,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":33,"az":50,"ss":26,"used":false},{"PRN":16,"el":31,"az":139,"ss":35,"used":true},{"PRN":13,"el":31,"az":283,"ss":31,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":22,"used":true},{"PRN":7,"el":2,"az":227,"ss":0,"used":false}]} $GPRMC,072056.000,A,4404.1296,N,12118.8511,W,0.06,0.00,111111,,,D*77 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:56.000Z","ept":0.005,"lat":44.068826667,"lon":-121.314185000,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":14.145,"track":0.0000,"speed":0.031,"climb":0.000,"eps":20.24} $GPGGA,072057.000,4404.1296,N,12118.8511,W,2,7,1.26,1137.3,M,-19.6,M,0000,0000*52 $GPGSA,A,3,23,13,32,20,01,16,30,,,,,,2.28,1.26,1.90*02 $GPGSV,3,1,11,20,72,200,43,23,58,299,41,32,53,149,42,30,39,075,35*72 $GPGSV,3,2,11,48,37,196,45,31,33,050,26,16,31,139,34,13,31,283,31*7E $GPGSV,3,3,11,04,16,312,,01,13,209,22,07,02,227,*40 {"class":"SKY","tag":"GSV","xdop":2.70,"ydop":2.53,"vdop":1.90,"tdop":5.88,"hdop":1.26,"gdop":9.33,"pdop":2.28,"satellites":[{"PRN":20,"el":72,"az":200,"ss":43,"used":true},{"PRN":23,"el":58,"az":299,"ss":41,"used":true},{"PRN":32,"el":53,"az":149,"ss":42,"used":true},{"PRN":30,"el":39,"az":75,"ss":35,"used":true},{"PRN":135,"el":37,"az":196,"ss":45,"used":false},{"PRN":31,"el":33,"az":50,"ss":26,"used":false},{"PRN":16,"el":31,"az":139,"ss":34,"used":true},{"PRN":13,"el":31,"az":283,"ss":31,"used":true},{"PRN":4,"el":16,"az":312,"ss":0,"used":false},{"PRN":1,"el":13,"az":209,"ss":22,"used":true},{"PRN":7,"el":2,"az":227,"ss":0,"used":false}]} $GPRMC,072057.000,A,4404.1296,N,12118.8511,W,0.06,0.00,111111,,,D*76 {"class":"TPV","tag":"RMC","mode":3,"time":"2011-11-11T07:20:57.000Z","ept":0.005,"lat":44.068826667,"lon":-121.314185000,"alt":1137.300,"epx":10.122,"epy":9.483,"epv":10.925,"track":0.0000,"speed":0.031,"climb":0.000,"eps":20.24} gpsd-3.9/test/daemon/trimble-lassen_iq-3dfix.log0000664000175000017500000001656411762140440020055 0ustar esresr# Name: Trimble Lassen iQ # Chipset: TSIP # Description: Sparkfun Lassen iQ Evaluation Kit # Serial: 4800 8O1 # Submitter: Chris Kuethe # Date: 2006-11-24 # Location: Edmonton, Alberta, Canada. 53.5N, 113.5W # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # mD@sg«@h|@>•@ ÍK  mD@sg©@h{@>•@ ÍK mT@;‡¯?¶Î|@#¿ ?»ìé  \AèFÃÉ+>èGÝ@‹v\B FÃÉ+>êñ&?ՙb\ AÐFÃÉ+?äo@wØ\ (AèFÃÉ+>Úz<@«£Ø\0AàFÃÉ+> w‹@{Ój\@BFÃÉ+?‚2?Ñg\ HBFÃÉ+>ØÜF?JŠ mT@;|ë?¶Œ@#·ï?»Ù.  AFÃÎô{A`FKZmT@;|ë?¶Œ@#·ï?»Ù.  mT@;i?¶«Þ@#¥À?»œT  mT@;ry?¶ª)@#°ø?»Åý  \AèFÃÕ->çúr@‹p=\BFÃÕ->êŒæ?Õ§|\ AÐFÃÕ-?g@w$n\ (AèFÃÕ->ÚÑ$@« Ä\0AàFÃÕ-> ÊÓ@{ÌJ\@BFÃÕ-?fi?ѝ\ HBFÃÕ->ز[?JkÚFAFÃâé{A`KZmT@CÛe?àS)@ e?°yŽ ‚mT@CÛe?àS)@ e?°yŽ \BFÃã>ê,¯?ÕŽø\ AèFÃã?Rü@w*\ (AÐFÃã>Û$@«Ú\0AàFÃã> %”@{ņ\@BFÃã?K·?Ñ(m\ HBFÃã>Ø[í?J.mD@QS@›à@"1ý?ÅO FmD@Q{Ô@‹Ü@"7ù?ÅR\ mD@Q{Ô@‹Ü@"7ù?ÅR\ mD@Qvt@|F@"=Ä?ÅU  AFÃìí{A`KZ\BFÃí>éë•?ÕŸ\ AðFÃí?vž@w-r\ (AÐFÃí>Û\Û@«›Î\0AàFÃí> µt@{ÀÒ\@BFÃí?9²?Ñ4¯mD@Qk@[k@"Ií?ÅZ§ \BFÃ÷+>éšI?ÕÇ€\ AðFÃ÷+?œ+@w14\ (AÐFÃ÷+>ۗ2@«™ž\0AàFÃ÷+> @ú@{Œ \@BFÃ÷+?' ?ÑA\ HB$FÃ÷+>ØÝ?IðímD@Qe™@K`@"Oç?Å]r mD@Qe™@K`@"Oç?Å]r mD@Q`B@;å@"U¡?Å` KZmD@QZÛ@,@"[…?Åbä \BFÄ>éG?ÕÕn\ AðFÄ?ÒD@w6¢\ (AÐFÄ>Ûëp@«–Ž\0AàFÄ> ˜¶@{µ(\@BFÄ? ?ÑS\ HB FÄ>×ÇÞ?IÃðmD@QUŠ@¥@"a@?Åe” AFÄ"{A`FmD@QUŠ@¥@"a@?Åe” mD@QP @ ›@"g5?Åh^ KZmD@QP @ ›@"g5?Åh^ \BFÄ ">é)?ÕÞ€\ AðFÄ "?öl@w:D\ (AÐFÄ ">Ü#ž@«”¯\0AàFÄ "> (H@{°Œ\@B FÄ "?ú?Ñ^ø\ HBFÄ ">ם¹?I¥êAFÄæ{A`\BFÄ>èÃD?Õè#\ AèFÄ?®@w>\ (AÐFÄ>Ü]®@«’™\0AàFÄ> Žg@{«Î\@B$FÄ?ç–?ÑkO\ HBFÄ>×r=?I‡mD@Q?¢@ܐ@"y?ÅpÚ mD@Q?¢@ܐ@"y?ÅpÚ mD@Q:5@Ì¢@" ?Ås° AFÄÞ{A`KZ\BFÄ>èb'?Õõï\ AàFÄ?QÂ@wCx\ (AÐFÄ>ܱË@«\0AàFÄ> @{€î\@B$FÄ?Ì®?Ñ}:\ HB FÄ>×3?IZ2mD@Q5@œc@"„º?Åvl F Ê8&b7¯J&â \í{RàIí þÿ0ùý  * &b3¯J&å \ñ{RàIí þÿ0ùý AFÄ(ç{A`KZm3@vM•@mÒ?€*@#> \AØFÄ)>æå@‹LŸ\BFÄ)>è!b?Õÿ(\ AÐFÄ)?uÖ@wG\ (AÐFÄ)>Üéä@«‰\0AàFÄ)>›Æ@{ X\@B$FÄ)?ºŒ?щ0\ HB$FÄ)>×â?Iåä±@‹Hë\ AÐFÄ3?›@wJÜ\ (AÐFÄ3>Ý#É@«‹p\0AàFÄ3>'ý@{›š\@B(FÄ3?š4?ѕ\ HB$FÄ3>ÖÝ@?I‰ 45&b¯J&ô ]{RàIí þÿ0ùý m3@vwo@mý[?€*£@#W©  9x&b¯J&ö ] {RàIí þÿ0ùý m3@vwo@mý[?€*£@#W©  êAH&b¯J&ù ]{RàIí þÿ0ùý m3@v„ô@n [?€*§@#j&  ÊE0&b¯J&û ]{RàIí þÿ0ùý F‚\B FÄ<ý>ç}&?Öx\ AÐFÄ<ý?ÑZ@wPT\0AàFÄ<ý>d@{”Ž\@B(FÄ<ý?7?ѧj\ HB FÄ<ý>֝ª?HðŒ BI&b ¯J&ý ]{RàIí þÿ0ùý m3@v’Ç@n¬?€*¬@#}  ºM&b¯J&þ ]{RàIí þÿ0ùý  òPè&b¯J' ]!{IíRà þÿ0ùý m3@v F@n'¥?€*³@#e  TÐ&b¯J' ]%{IíRà þÿ0ùý m3@v®@n5û?€*·@#¢@  úXž&b¯J' ]({IíRà þÿ0ùý F\BFÄG>ç<º?Öž\ AÐFÄG?õE@wSô\ (AÐFÄG>ݯÍ@«†X\0AàFÄG>×@{$\@B$FÄG?{[?ѳB\ HBFÄG>Ös†?Hӏ *\ &aý¯J' ],{IíRà þÿ0ùý  Ú`ˆ&aú¯J' ]/{IíRà þÿ0ùý m3@v»Í@nD%?€*œ@#ŽÖ  "dp&aø¯J' ]2{IíRà þÿ0ùý m3@v»Í@nD%?€*œ@#ŽÖ  šhX&aõ¯J' ]6{IíRà þÿ0ùý m3@vÊØ@nSž?€*Â@#É7  2l@&aó¯J' ]9{IíRà þÿ0ùý KZ‚\AØFÄQ>å1•@‹;Ø\BFÄQ>æùl?Ö).\ AÐFÄQ?Í@wWŒ\ (AÐFÄQ>Ýê @«„8\0AàFÄQ>›E@{‹`\@B FÄQ?h³?Ñ¿£\ HBFÄQ>ÖGt?HŽ5 Òp(&að¯J' ]<{IíRà þÿ0ùý ‚Fm3@v؁@naÜ?€*Æ@#Û¹  Öwø&aì¯J' ]C{IíRà þÿ0ùý m3@væ­@npˆ?€*Î@#îÙ  R{à&aê¯J' ]F{IíRà þÿ0ùý  ZÈ&aè¯J' ]I{IíRà þÿ0ùý KZ‚\AðFÄZþ>æ˜Þ?Ö6ã\ AÐFÄZþ?P§@w]*\ (AÐFÄZþ>Þ=Ž@«*\0AàFÄZþ>ô@{„Š\@B FÄZþ?Mï?ÑÑ`\ HBFÄZþ>Ö"?H‡ém3@vôI@n~Ÿ?€*Ñ@$5  ®‡˜&aã¯J' ]O{IíRà þÿ0ùý m3@wo@nE?€*Ú@$8 ‚ *‹€&aà¯J' ]R{IíRà þÿ0ùý  "h&aÞ¯J' ]U{IíRà þÿ0ùý ‚ “P&aܯJ' ]X{IíRà þÿ0ùý AFÄdè{A`KZ‚ Š—8&aÙ¯J' ][{IíRà þÿ0ùý m3@wN@nª ?€*å@$9š  "› &aׯJ' ]^{IíRà þÿ0ùý m3@wN@nª ?€*å@$9š  *Ÿ&aÔ¯J' ]a{IíRà þÿ0ùý ‚F –¢ð&aÒ¯J' ]c{IíRà þÿ0ùý  >ŠØ&aϯJ' ]f{IíRà þÿ0ùý AFÄnÜ{A`Fm3@w,@nžl?€*ê@$L& \AØFÄo>ä@‹/\AàFÄo>æ ?ÖI0\ AÐFÄo?˜‡@wdn\ (AÐFÄo>Þ¬ï@«}\0AàFÄo>@{{l\@BFÄo?*9?Ñé \ HBFÄo>Õ³€?HLä ºªÀ&aͯJ' ]i{IíRà þÿ0ùý m3@w;†@nÈ^?€*ð@$`¿  ²®š&a˯J' ]l{IíRà þÿ0ùý m3@w;†@nÈ^?€*ð@$`¿  ž²&aȯJ' ]n{IíRà þÿ0ùý m3@wIh@nÖœ?€*ö@$sB  6¶x&aƯJ' ]q{IíRà þÿ0ùý m3@wIh@nÖœ?€*ö@$sB  ²º`&aïJ' ]t{IíRà þÿ0ùý KZ‚\AØFÄx÷>ä2ß@‹)X\AØFÄx÷>åŽj?ÖWV\ AÐFÄx÷?Ð@wj \ (AØFÄx÷>ß@«yè\0AàFÄx÷>h„@{t`\@BFÄx÷?™?ÑûRm# F gpsd-3.9/test/daemon/trimble-lassen_iq-3dfix.log.chk0000664000175000017500000005677612135526444020641 0ustar esresr$GPGSV,3,1,10,00,00,000,00,19,26,250,29,00,00,000,00,18,26,096,37*7C $GPGSV,3,2,10,01,29,221,26,11,24,307,29,03,08,225,28,00,00,000,00*7B $GPGSV,3,3,10,22,65,094,37,09,24,045,37*78 {"class":"SKY","tag":"ID5c","xdop":1.21,"ydop":5.27,"vdop":2.56,"tdop":1.47,"hdop":1.43,"gdop":3.28,"pdop":2.93,"satellites":[{"PRN":19,"el":26,"az":250,"ss":29,"used":true},{"PRN":18,"el":26,"az":96,"ss":37,"used":true},{"PRN":1,"el":29,"az":221,"ss":26,"used":false},{"PRN":11,"el":24,"az":307,"ss":29,"used":true},{"PRN":3,"el":8,"az":225,"ss":28,"used":false}]} $GPGSV,3,1,10,00,00,000,00,19,26,250,29,00,00,000,00,18,26,096,38*73 $GPGSV,3,2,10,01,29,221,29,11,25,307,26,03,08,225,28,00,00,000,00*7A $GPGSV,3,3,10,22,65,094,38,09,24,045,38*78 {"class":"SKY","tag":"ID5c","xdop":1.21,"ydop":5.27,"vdop":2.51,"tdop":1.38,"hdop":1.75,"gdop":3.36,"pdop":3.06,"satellites":[{"PRN":19,"el":26,"az":250,"ss":29,"used":true},{"PRN":18,"el":26,"az":96,"ss":38,"used":true},{"PRN":1,"el":29,"az":221,"ss":29,"used":true},{"PRN":11,"el":25,"az":307,"ss":26,"used":false},{"PRN":3,"el":8,"az":225,"ss":28,"used":false}]} $GPGSV,3,1,10,00,00,000,00,19,26,250,29,00,00,000,00,18,26,096,39*72 $GPGSV,3,2,10,01,29,221,30,11,25,307,26,03,08,225,28,00,00,000,00*72 $GPGSV,3,3,10,22,65,094,38,09,24,045,41*76 {"class":"SKY","tag":"ID5c","xdop":1.21,"ydop":5.27,"vdop":2.54,"tdop":1.54,"hdop":2.07,"gdop":3.62,"pdop":3.27,"satellites":[{"PRN":19,"el":26,"az":250,"ss":29,"used":false},{"PRN":18,"el":26,"az":96,"ss":39,"used":true},{"PRN":1,"el":29,"az":221,"ss":30,"used":true},{"PRN":11,"el":25,"az":307,"ss":26,"used":false},{"PRN":3,"el":8,"az":225,"ss":28,"used":false}]} $GPGSV,3,1,10,00,00,000,00,19,26,250,29,00,00,000,00,18,26,096,39*72 $GPGSV,3,2,10,01,29,221,30,11,25,307,26,03,08,225,28,00,00,000,00*72 $GPGSV,3,3,10,22,64,094,39,09,24,045,40*77 {"class":"SKY","tag":"ID5c","xdop":1.21,"ydop":5.27,"vdop":2.54,"tdop":1.54,"hdop":2.07,"gdop":3.62,"pdop":3.27,"satellites":[{"PRN":19,"el":26,"az":250,"ss":29,"used":false},{"PRN":18,"el":26,"az":96,"ss":39,"used":true},{"PRN":1,"el":29,"az":221,"ss":30,"used":true},{"PRN":11,"el":25,"az":307,"ss":26,"used":false},{"PRN":3,"el":8,"az":225,"ss":28,"used":false}]} $GPGSV,3,1,10,00,00,000,00,19,26,250,29,00,00,000,00,18,26,096,39*72 $GPGSV,3,2,10,01,29,221,30,11,25,307,26,03,08,225,28,00,00,000,00*72 $GPGSV,3,3,10,22,64,094,40,09,24,045,39*77 {"class":"SKY","tag":"ID5c","xdop":1.21,"ydop":5.27,"vdop":2.54,"tdop":1.54,"hdop":2.06,"gdop":3.62,"pdop":3.27,"satellites":[{"PRN":19,"el":26,"az":250,"ss":29,"used":false},{"PRN":18,"el":26,"az":96,"ss":39,"used":true},{"PRN":1,"el":29,"az":221,"ss":30,"used":true},{"PRN":11,"el":25,"az":307,"ss":26,"used":false},{"PRN":3,"el":8,"az":225,"ss":28,"used":false}]} $GPGSV,3,1,10,00,00,000,00,19,26,250,29,00,00,000,00,18,26,096,39*72 $GPGSV,3,2,10,01,29,221,29,11,25,307,26,03,08,225,28,00,00,000,00*7A $GPGSV,3,3,10,22,64,094,41,09,24,045,38*77 {"class":"SKY","tag":"ID5c","xdop":1.21,"ydop":5.27,"vdop":2.54,"tdop":1.54,"hdop":2.06,"gdop":3.62,"pdop":3.27,"satellites":[{"PRN":19,"el":26,"az":250,"ss":29,"used":false},{"PRN":18,"el":26,"az":96,"ss":39,"used":true},{"PRN":1,"el":29,"az":221,"ss":29,"used":true},{"PRN":11,"el":25,"az":307,"ss":26,"used":false},{"PRN":3,"el":8,"az":225,"ss":28,"used":false}]} $GPGSV,3,1,10,00,00,000,00,19,26,250,29,00,00,000,00,18,26,096,39*72 $GPGSV,3,2,10,01,29,221,28,11,25,307,26,03,08,225,28,00,00,000,00*7B $GPGSV,3,3,10,22,64,094,41,09,24,045,40*78 {"class":"SKY","tag":"ID5c","xdop":1.21,"ydop":5.27,"vdop":2.54,"tdop":1.54,"hdop":2.06,"gdop":3.61,"pdop":3.27,"satellites":[{"PRN":19,"el":26,"az":250,"ss":29,"used":false},{"PRN":18,"el":26,"az":96,"ss":39,"used":true},{"PRN":1,"el":29,"az":221,"ss":28,"used":true},{"PRN":11,"el":25,"az":307,"ss":26,"used":false},{"PRN":3,"el":8,"az":225,"ss":28,"used":false}]} $GPZDA,065813.00,26,11,2006,00,00*6F $GPGGA,065813,5332.3091,N,11329.9353,W,1,03,2.06,698.96,M,-19.813,M,,*71 $GPRMC,065813,A,5332.3091,N,11329.9353,W,0.0000,0.000,261106,,*3C $GPGSA,A,2,00,00,00,00,,,,,,,,,3.3,2.1,2.5*37 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:13.000Z","ept":0.005,"lat":53.538484440,"lon":-113.498921410,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000} $GPZDA,065814.00,26,11,2006,00,00*68 $GPGGA,065814,5332.3090,N,11329.9353,W,1,03,2.06,698.97,M,-19.813,M,,*76 $GPRMC,065814,A,5332.3090,N,11329.9353,W,0.0000,0.000,261106,,*3A $GPGSA,A,2,00,00,00,00,,,,,,,,,3.3,2.1,2.5*37 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:14.000Z","ept":0.005,"lat":53.538484105,"lon":-113.498921158,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPGSV,3,1,10,00,00,000,00,19,26,249,27,00,00,000,00,18,26,096,38*75 $GPGSV,3,2,10,01,29,221,26,11,25,307,26,03,08,225,28,00,00,000,00*75 $GPGSV,3,3,10,22,64,094,41,09,24,045,41*79 {"class":"SKY","tag":"ID5c","xdop":1.21,"ydop":5.27,"vdop":1.00,"tdop":2.55,"hdop":3.72,"gdop":4.62,"pdop":3.85,"satellites":[{"PRN":19,"el":26,"az":249,"ss":27,"used":false},{"PRN":18,"el":26,"az":96,"ss":38,"used":true},{"PRN":1,"el":29,"az":221,"ss":26,"used":false},{"PRN":11,"el":25,"az":307,"ss":26,"used":false},{"PRN":3,"el":8,"az":225,"ss":28,"used":false}]} $GPZDA,065815.00,26,11,2006,00,00*69 $GPGGA,065815,5332.3090,N,11329.9353,W,1,03,3.72,698.97,M,-19.813,M,,*75 $GPRMC,065815,A,5332.3090,N,11329.9353,W,0.0000,0.000,261106,,*3B $GPGSA,A,2,00,00,00,,,,,,,,,,3.8,3.7,1.0*3D {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:15.000Z","ept":0.005,"lat":53.538483769,"lon":-113.498920907,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":288.19} $GPZDA,065816.00,26,11,2006,00,00*6A $GPGGA,065816,5332.3090,N,11329.9352,W,1,03,3.72,698.97,M,-19.813,M,,*77 $GPRMC,065816,A,5332.3090,N,11329.9352,W,0.0000,0.000,261106,,*39 $GPGSA,A,2,00,00,00,,,,,,,,,,3.8,3.7,1.0*3D {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:16.000Z","ept":0.005,"lat":53.538483434,"lon":-113.498920739,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065817.00,26,11,2006,00,00*6B $GPGGA,065817,5332.3090,N,11329.9352,W,1,03,3.72,698.98,M,-19.813,M,,*79 $GPRMC,065817,A,5332.3090,N,11329.9352,W,0.0000,0.000,261106,,*38 $GPGSA,A,2,00,00,00,,,,,,,,,,3.8,3.7,1.0*3D {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:17.000Z","ept":0.005,"lat":53.538483099,"lon":-113.498920488,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065818.00,26,11,2006,00,00*64 $GPGGA,065818,5332.3090,N,11329.9352,W,1,03,3.72,698.98,M,-19.813,M,,*76 $GPRMC,065818,A,5332.3090,N,11329.9352,W,0.0000,0.000,261106,,*37 $GPGSA,A,2,00,00,00,,,,,,,,,,3.8,3.7,1.0*3D {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:18.000Z","ept":0.005,"lat":53.538482764,"lon":-113.498920320,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065819.00,26,11,2006,00,00*65 $GPGGA,065819,5332.3090,N,11329.9352,W,1,03,3.72,698.99,M,-19.813,M,,*76 $GPRMC,065819,A,5332.3090,N,11329.9352,W,0.0000,0.000,261106,,*36 $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:19.000Z","ept":0.005,"lat":53.538482512,"lon":-113.498920153,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPGSV,3,1,10,00,00,000,00,19,26,249,27,00,00,000,00,18,26,096,38*75 $GPGSV,3,2,10,01,29,221,26,11,25,307,26,03,08,225,28,00,00,000,00*75 $GPGSV,3,3,10,22,64,094,42,09,24,045,41*7A {"class":"SKY","tag":"ID5c","xdop":1.21,"ydop":5.27,"vdop":1.00,"tdop":2.55,"hdop":3.72,"gdop":4.62,"pdop":3.85,"satellites":[{"PRN":19,"el":26,"az":249,"ss":27,"used":false},{"PRN":18,"el":26,"az":96,"ss":38,"used":true},{"PRN":1,"el":29,"az":221,"ss":26,"used":false},{"PRN":11,"el":25,"az":307,"ss":26,"used":false},{"PRN":3,"el":8,"az":225,"ss":28,"used":false}]} $GPZDA,065820.00,26,11,2006,00,00*6F $GPGGA,065820,5332.3089,N,11329.9352,W,1,03,3.72,698.99,M,-19.813,M,,*74 $GPRMC,065820,A,5332.3089,N,11329.9352,W,0.0000,0.000,261106,,*34 $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:20.000Z","ept":0.005,"lat":53.538482177,"lon":-113.498919901,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":278.29} $GPZDA,065821.00,26,11,2006,00,00*6E $GPGGA,065821,5332.3089,N,11329.9352,W,1,03,3.72,698.99,M,-19.813,M,,*75 $GPRMC,065821,A,5332.3089,N,11329.9352,W,0.0000,0.000,261106,,*35 $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:21.000Z","ept":0.005,"lat":53.538481842,"lon":-113.498919734,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065823.00,26,11,2006,00,00*6C $GPGGA,065823,5332.3089,N,11329.9352,W,1,03,3.72,699.00,M,-19.813,M,,*76 $GPRMC,065823,A,5332.3089,N,11329.9352,W,0.0000,0.000,261106,,*37 $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:23.000Z","ept":0.005,"lat":53.538481339,"lon":-113.498919482,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":79.08} $GPZDA,065824.00,26,11,2006,00,00*6B $GPGGA,065824,5332.3089,N,11329.9352,W,1,03,3.72,699.00,M,-19.813,M,,*71 $GPRMC,065824,A,5332.3089,N,11329.9352,W,0.0000,0.000,261106,,*30 $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:24.000Z","ept":0.005,"lat":53.538481003,"lon":-113.498919314,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPGSV,3,1,10,00,00,000,00,19,26,249,27,00,00,000,00,18,26,096,35*78 $GPGSV,3,2,10,01,30,221,26,11,25,307,26,03,08,225,28,00,00,000,00*7D $GPGSV,3,3,10,22,64,094,42,09,24,045,40*7B {"class":"SKY","tag":"ID5c","xdop":1.21,"ydop":5.27,"vdop":1.00,"tdop":2.55,"hdop":3.72,"gdop":4.62,"pdop":3.85,"satellites":[{"PRN":19,"el":26,"az":249,"ss":27,"used":false},{"PRN":18,"el":26,"az":96,"ss":35,"used":true},{"PRN":1,"el":30,"az":221,"ss":26,"used":false},{"PRN":11,"el":25,"az":307,"ss":26,"used":false},{"PRN":3,"el":8,"az":225,"ss":28,"used":false}]} $GPZDA,065825.00,26,11,2006,00,00*6A $GPGGA,065825,5332.3088,N,11329.9351,W,1,03,3.72,699.01,M,-19.813,M,,*73 $GPRMC,065825,A,5332.3088,N,11329.9351,W,0.0000,0.000,261106,,*33 $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:25.000Z","ept":0.005,"lat":53.538480752,"lon":-113.498919147,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065826.00,26,11,2006,00,00*69 $GPGGA,065826,5332.3088,N,11329.9351,W,1,03,3.72,699.01,M,-19.813,M,,*70 $GPRMC,065826,A,5332.3088,N,11329.9351,W,0.0000,0.000,261106,,*30 $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:26.000Z","ept":0.005,"lat":53.538480500,"lon":-113.498919063,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065827.00,26,11,2006,00,00*68 $GPGGA,065827,5332.3088,N,11329.9351,W,1,03,3.72,699.01,M,-19.813,M,,*71 $GPRMC,065827,A,5332.3088,N,11329.9351,W,0.0000,0.000,261106,,*31 $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:27.000Z","ept":0.005,"lat":53.538480249,"lon":-113.498918895,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065828.00,26,11,2006,00,00*67 $GPGGA,065828,5332.3088,N,11329.9351,W,1,03,3.72,699.02,M,-19.813,M,,*7D $GPRMC,065828,A,5332.3088,N,11329.9351,W,0.0000,0.000,261106,,*3E $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:28.000Z","ept":0.005,"lat":53.538480081,"lon":-113.498918728,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065829.00,26,11,2006,00,00*66 $GPGGA,065829,5332.3088,N,11329.9351,W,1,03,3.72,699.02,M,-19.813,M,,*7C $GPRMC,065829,A,5332.3088,N,11329.9351,W,0.0000,0.000,261106,,*3F $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:29.000Z","ept":0.005,"lat":53.538479830,"lon":-113.498918644,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPGSV,3,1,10,00,00,000,00,19,26,249,27,00,00,000,00,18,26,096,32*7F $GPGSV,3,2,10,01,30,221,26,11,25,307,26,03,08,225,28,00,00,000,00*7D $GPGSV,3,3,10,22,64,094,41,09,24,045,39*76 {"class":"SKY","tag":"ID5c","xdop":1.21,"ydop":5.27,"vdop":1.00,"tdop":2.56,"hdop":3.72,"gdop":4.63,"pdop":3.85,"satellites":[{"PRN":19,"el":26,"az":249,"ss":27,"used":false},{"PRN":18,"el":26,"az":96,"ss":32,"used":true},{"PRN":1,"el":30,"az":221,"ss":26,"used":false},{"PRN":11,"el":25,"az":307,"ss":26,"used":false},{"PRN":3,"el":8,"az":225,"ss":28,"used":false}]} $GPZDA,065830.00,26,11,2006,00,00*6E $GPGGA,065830,5332.3088,N,11329.9351,W,1,03,3.72,699.03,M,-19.813,M,,*75 $GPRMC,065830,A,5332.3088,N,11329.9351,W,0.0000,0.000,261106,,*37 $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:30.000Z","ept":0.005,"lat":53.538479578,"lon":-113.498918476,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065831.00,26,11,2006,00,00*6F $GPGGA,065831,5332.3088,N,11329.9351,W,1,03,3.72,699.03,M,-19.813,M,,*74 $GPRMC,065831,A,5332.3088,N,11329.9351,W,0.0000,0.000,261106,,*36 $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:31.000Z","ept":0.005,"lat":53.538479327,"lon":-113.498918309,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065832.00,26,11,2006,00,00*6C $GPGGA,065832,5332.3087,N,11329.9351,W,1,03,3.72,699.03,M,-19.813,M,,*78 $GPRMC,065832,A,5332.3087,N,11329.9351,W,0.0000,0.000,261106,,*3A $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:32.000Z","ept":0.005,"lat":53.538479159,"lon":-113.498918141,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065833.00,26,11,2006,00,00*6D $GPGGA,065833,5332.3087,N,11329.9351,W,1,03,3.72,699.04,M,-19.813,M,,*7E $GPRMC,065833,A,5332.3087,N,11329.9351,W,0.0000,0.000,261106,,*3B $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:33.000Z","ept":0.005,"lat":53.538478908,"lon":-113.498918057,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065834.00,26,11,2006,00,00*6A $GPGGA,065834,5332.3087,N,11329.9351,W,1,03,3.72,699.04,M,-19.813,M,,*79 $GPRMC,065834,A,5332.3087,N,11329.9351,W,0.0000,0.000,261106,,*3C $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:34.000Z","ept":0.005,"lat":53.538478740,"lon":-113.498917890,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPGSV,3,1,10,00,00,000,00,19,26,249,27,00,00,000,00,18,26,096,32*7F $GPGSV,3,2,10,01,30,221,26,11,25,307,26,03,08,225,28,00,00,000,00*7D $GPGSV,3,3,10,22,64,094,40,09,24,045,38*76 {"class":"SKY","tag":"ID5c","xdop":1.21,"ydop":5.27,"vdop":1.00,"tdop":2.56,"hdop":3.72,"gdop":4.63,"pdop":3.86,"satellites":[{"PRN":19,"el":26,"az":249,"ss":27,"used":false},{"PRN":18,"el":26,"az":96,"ss":32,"used":true},{"PRN":1,"el":30,"az":221,"ss":26,"used":false},{"PRN":11,"el":25,"az":307,"ss":26,"used":false},{"PRN":3,"el":8,"az":225,"ss":28,"used":false}]} $GPZDA,065835.00,26,11,2006,00,00*6B $GPGGA,065835,5332.3087,N,11329.9351,W,1,03,3.72,699.04,M,-19.813,M,,*78 $GPRMC,065835,A,5332.3087,N,11329.9351,W,0.0000,0.000,261106,,*3D $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:35.000Z","ept":0.005,"lat":53.538478489,"lon":-113.498917806,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065837.00,26,11,2006,00,00*69 $GPGGA,065837,5332.3087,N,11329.9351,W,1,03,3.72,699.05,M,-19.813,M,,*7B $GPRMC,065837,A,5332.3087,N,11329.9351,W,0.0000,0.000,261106,,*3F $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:37.000Z","ept":0.005,"lat":53.538478154,"lon":-113.498917722,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":79.08} $GPZDA,065838.00,26,11,2006,00,00*66 $GPGGA,065838,5332.3087,N,11329.9351,W,1,03,3.73,699.05,M,-19.813,M,,*75 $GPRMC,065838,A,5332.3087,N,11329.9351,W,0.0000,0.000,261106,,*30 $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:38.000Z","ept":0.005,"lat":53.538477986,"lon":-113.498917722,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065839.00,26,11,2006,00,00*67 $GPGGA,065839,5332.3087,N,11329.9351,W,1,03,3.73,699.05,M,-19.813,M,,*74 $GPRMC,065839,A,5332.3087,N,11329.9351,W,0.0000,0.000,261106,,*31 $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:39.000Z","ept":0.005,"lat":53.538477818,"lon":-113.498917638,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPGSV,3,1,10,00,00,000,00,19,26,249,27,00,00,000,00,18,26,096,30*7D $GPGSV,3,2,10,01,30,221,26,11,25,307,26,03,07,225,28,00,00,000,00*72 $GPGSV,3,3,10,22,64,094,40,09,24,045,39*77 {"class":"SKY","tag":"ID5c","xdop":1.21,"ydop":5.27,"vdop":1.00,"tdop":2.56,"hdop":3.73,"gdop":4.63,"pdop":3.86,"satellites":[{"PRN":19,"el":26,"az":249,"ss":27,"used":false},{"PRN":18,"el":26,"az":96,"ss":30,"used":true},{"PRN":1,"el":30,"az":221,"ss":26,"used":false},{"PRN":11,"el":25,"az":307,"ss":26,"used":false},{"PRN":3,"el":7,"az":225,"ss":28,"used":false}]} $GPZDA,065841.00,26,11,2006,00,00*68 $GPGGA,065841,5332.3086,N,11329.9350,W,1,03,3.73,699.06,M,-19.813,M,,*78 $GPRMC,065841,A,5332.3086,N,11329.9350,W,0.0000,0.000,261106,,*3E $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:41.000Z","ept":0.005,"lat":53.538477399,"lon":-113.498917470,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":79.08} $GPZDA,065842.00,26,11,2006,00,00*6B $GPGGA,065842,5332.3086,N,11329.9350,W,1,03,3.73,699.06,M,-19.813,M,,*7B $GPRMC,065842,A,5332.3086,N,11329.9350,W,0.0000,0.000,261106,,*3D $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:42.000Z","ept":0.005,"lat":53.538477148,"lon":-113.498917387,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065843.00,26,11,2006,00,00*6A $GPGGA,065843,5332.3086,N,11329.9350,W,1,03,3.73,699.07,M,-19.813,M,,*7B $GPRMC,065843,A,5332.3086,N,11329.9350,W,0.0000,0.000,261106,,*3C $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:43.000Z","ept":0.005,"lat":53.538476980,"lon":-113.498917303,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065844.00,26,11,2006,00,00*6D $GPGGA,065844,5332.3086,N,11329.9350,W,1,03,3.73,699.07,M,-19.813,M,,*7C $GPRMC,065844,A,5332.3086,N,11329.9350,W,0.0000,0.000,261106,,*3B $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:44.000Z","ept":0.005,"lat":53.538476812,"lon":-113.498917219,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065845.00,26,11,2006,00,00*6C $GPGGA,065845,5332.3086,N,11329.9350,W,1,03,3.73,699.07,M,-19.813,M,,*7D $GPRMC,065845,A,5332.3086,N,11329.9350,W,0.0000,0.000,261106,,*3A $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:45.000Z","ept":0.005,"lat":53.538476561,"lon":-113.498917135,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":289.22} $GPZDA,065846.00,26,11,2006,00,00*6F $GPGGA,065846,5332.3086,N,11329.9350,W,1,03,3.73,699.08,M,-19.813,M,,*71 $GPRMC,065846,A,5332.3086,N,11329.9350,W,0.0000,0.000,261106,,*39 $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:46.000Z","ept":0.005,"lat":53.538476393,"lon":-113.498917135,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065847.00,26,11,2006,00,00*6E $GPGGA,065847,5332.3086,N,11329.9350,W,1,03,3.73,699.08,M,-19.813,M,,*70 $GPRMC,065847,A,5332.3086,N,11329.9350,W,0.0000,0.000,261106,,*38 $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:47.000Z","ept":0.005,"lat":53.538476142,"lon":-113.498917051,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065848.00,26,11,2006,00,00*61 $GPGGA,065848,5332.3086,N,11329.9350,W,1,03,3.73,699.08,M,-19.813,M,,*7F $GPRMC,065848,A,5332.3086,N,11329.9350,W,0.0000,0.000,261106,,*37 $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:48.000Z","ept":0.005,"lat":53.538475974,"lon":-113.498916968,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065849.00,26,11,2006,00,00*60 $GPGGA,065849,5332.3085,N,11329.9350,W,1,03,3.73,699.08,M,-19.813,M,,*7D $GPRMC,065849,A,5332.3085,N,11329.9350,W,0.0000,0.000,261106,,*35 $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:49.000Z","ept":0.005,"lat":53.538475723,"lon":-113.498916884,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPGSV,3,1,10,00,00,000,00,19,26,249,27,00,00,000,00,18,26,096,28*74 $GPGSV,3,2,10,01,30,221,26,11,25,307,26,03,07,225,28,00,00,000,00*72 $GPGSV,3,3,10,22,64,094,39,09,24,045,37*77 {"class":"SKY","tag":"ID5c","xdop":1.21,"ydop":5.27,"vdop":1.00,"tdop":2.57,"hdop":3.73,"gdop":4.64,"pdop":3.86,"satellites":[{"PRN":19,"el":26,"az":249,"ss":27,"used":false},{"PRN":18,"el":26,"az":96,"ss":28,"used":true},{"PRN":1,"el":30,"az":221,"ss":26,"used":false},{"PRN":11,"el":25,"az":307,"ss":26,"used":false},{"PRN":3,"el":7,"az":225,"ss":28,"used":false}]} $GPZDA,065850.00,26,11,2006,00,00*68 $GPGGA,065850,5332.3085,N,11329.9350,W,1,03,3.73,699.09,M,-19.813,M,,*74 $GPRMC,065850,A,5332.3085,N,11329.9350,W,0.0000,0.000,261106,,*3D $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:50.000Z","ept":0.005,"lat":53.538475555,"lon":-113.498916800,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":277.34} $GPZDA,065851.00,26,11,2006,00,00*69 $GPGGA,065851,5332.3085,N,11329.9350,W,1,03,3.73,699.09,M,-19.813,M,,*75 $GPRMC,065851,A,5332.3085,N,11329.9350,W,0.0000,0.000,261106,,*3C $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:51.000Z","ept":0.005,"lat":53.538475388,"lon":-113.498916800,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065852.00,26,11,2006,00,00*6A $GPGGA,065852,5332.3085,N,11329.9350,W,1,03,3.73,699.09,M,-19.813,M,,*76 $GPRMC,065852,A,5332.3085,N,11329.9350,W,0.0000,0.000,261106,,*3F $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:52.000Z","ept":0.005,"lat":53.538475136,"lon":-113.498916716,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065853.00,26,11,2006,00,00*6B $GPGGA,065853,5332.3085,N,11329.9350,W,1,03,3.73,699.09,M,-19.813,M,,*77 $GPRMC,065853,A,5332.3085,N,11329.9350,W,0.0000,0.000,261106,,*3E $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:53.000Z","ept":0.005,"lat":53.538474968,"lon":-113.498916632,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} $GPZDA,065854.00,26,11,2006,00,00*6C $GPGGA,065854,5332.3085,N,11329.9350,W,1,03,3.73,699.10,M,-19.813,M,,*78 $GPRMC,065854,A,5332.3085,N,11329.9350,W,0.0000,0.000,261106,,*39 $GPGSA,A,2,00,00,00,,,,,,,,,,3.9,3.7,1.0*3C {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T06:58:54.000Z","ept":0.005,"lat":53.538474717,"lon":-113.498916548,"epx":18.117,"epy":79.085,"track":0.0000,"speed":0.000,"eps":158.17} gpsd-3.9/test/daemon/trimble-lassen_iq-playacar.log0000664000175000017500000001055511762140440020626 0ustar esresr# Name: Trimble Lassen iQ # Chipset: TSIP # Description: Sparkfun Lassen iQ Evaluation Kit # Serial: 9600 8O1 # Submitter: Chris Kuethe # Date: 2006-12-22 # Location: Playa del Carmen, Q. Roo, Mexico. 20.63N 87.07W # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # VBö˜HÚA`mT@9T®@z‘?Û0?Ð"‚„?× Î)0L¿øPXhAä?@)ÈÔ ÀÒÅT^’fHÚA€VBök~HÚA€mT@9T®@z‘?Û0?Ð"‚„?× Î+¢«s¿øPXhVæ@)ÉÁ:àÀÒŠ‚Ä~2dHÚA VBö‚/HÚA mT@9d@ˆ?Û.6?Ð,x‚„?× Î.NŠÛ¿øPXhc]m@)ʲ›šÀ҇±í)ÒbHÚAÀVBöq¥HÚAÀmT@9d@ˆ?Û.6?Ð,x‚„?× Î1V¿øPXhk¯º@)Ë}uÐÀÒháÈÂòaHÚAàVBöx€HÚAàAHÚAñ~A`FKZmT@9q@“‚?Û:ÿ?Ð<‚„?× Î4œä¿øPXhl€ž@)ÌHÀÒJƒÂr_HÚBVBö޵HÚBmT@9q@“‚?Û:ÿ?Ð<‚„?× Î7ˆÏ¿øPXhoxa@)ÌîB(ÀÒ+=þgr^HÚB VBöÚHÚB mT@9~5@Ÿ?ÛGô?ÐKׂ„?× Î7bÕw¿øPXhn‡©@)ÌüQ ÀÒ i9)r]HÚB@VBöƒ9HÚB@mT@9~5@Ÿ?ÛGô?ÐKׂ„?× Î7ºŒý¿øPXhlÍa@)Í ûÐÀÑí˜ï<Ò\HÚB`VBöpàHÚB`mT@9‹H@ª™?ÛTÙ?Ð[€‚„?× Î8hÖ¿øPXhj]@)Í|ÀÑÎÅŒºr[HÚB€VBöyHÚB€AHÚB“~A`FKZmT@9‹H@ª™?ÛTÙ?Ð[€‚„?× Î;Å ¿øPXhPÏ|@)ÍÀèÀѯùi?ZHÚB VBöl±HÚB mT@9‹H@ª™?ÛTÙ?Ð[€‚„?× Î?ZÚ¿øPXh5t”@)ÎSZ`Àё(ÚØ2YHÚBÀVBöƒHÚBÀmT@9š@·?Ûcv?Ðm:‚„?× ÎC;€¿øPXh‹å@)ΜgàÀÑrY CXHÚBàVBö{SHÚBàmT@9š@·?Ûcv?Ðm:‚„?× ÎFåb¯¿øPXh¡Ø@)ÏzÐÀÑS‰×(²WHÚCVBöUHÚCmT@9§(@Ã?Ûp]?Ð|Þ‚„?× ÎJ…x¯¿øPXg婢@)Ï-/ÀÑ4žÓî²VHÚC VBöˆ HÚC AHÚC.~A`FKZmT@9§(@Ã?Ûp]?Ð|Þ‚„?× ÎN 0r¿øPXgàŬ@)Ï"U0ÀÑçáUHÚC@VBöžÁHÚC@mT@9ޚ@Îß?Û}š?Ќñ‚„?× ÎQO(ü¿øPXg݊²@)Îø­˜ÀÐ÷q2’THÚC`VBö¡MHÚC`mT@9ޚ@Îß?Û}š?Ќñ‚„?× ÎyþH„¿øPX`™Œ€@)ÎÅx@ÀÐØï@’SHÚC€V>‘Où>Â:[êB÷ ÃHÚC€mC@œüÅ@œûî=ÛH@Я‚„?× Î{ Ÿe¿øPXaÛ¯@)΃ÛÐÀк4Ž’RHÚC V;zÕ&»¿•œ·Q,Bö RHÚC mC@œüÅ@œûî=ÛH@Я‚„?× ÎSÐÙø¿øPXi~–€@)Íñû@ÀЛj «BQHÚCÀVœ.£œO‰1žèýBö~LHÚCÀAHÚCÎ~A`FKZmC@ŸQy@ŸP£=âs@ÿ‚„?× Ì>ÁFt¿øPX῔^@)Ɖ­`ÀÐ|Š'jPHÚCàVBökŒHÚCàmC@ŸQy@ŸP£=âs@ÿ‚„?× Ë‘/Œ¿øPY 7Á¯@)ÄڀÀÐ]ÉŠºOHÚDVBö’øHÚDmC@Ÿ{z@Ÿz€=é@Ó‚„?× Ë:ÄI¿øPYåw€@)ÂåxÀÐ>öÄnHÚD VBö’3HÚD mC@ŸÀ‚@Ÿ¿¬=÷ñ@Nš‚„?× Ëì"1¿øPY(B•E@)Â,™ØÀÐ §mHÚD@VBö¡HÚD@mC@ŸÀ‚@Ÿ¿¬=÷ñ@Nš‚„?× Êê”á7¿øPY/U]Ç@)Á³7àÀÐH?kHlHÚD`VBö—šHÚD`AHÚDq~A`FKZmC@¿:@¿d=é@ƒ®‚„?× ÊÖ3- ¿øPY4+Ã@)ÁZ»ÐÀÏÄåП@ÖHÚD€VBö–8HÚD€mC@¿:@¿d=é@ƒ®‚„?× ÊÈËì¿øPY7|ÀF@)ÁCÀÀχ5&î°ÕHÚD VBöžÈHÚD mC@¿v¬@¿u×=÷ñ@ÃÊ‚„?× Êœ×¿øPY:açê@)Àâ®xÀÏIAÊ€THÚDÀVBö§ÌHÚDÀmC@¿v¬@¿u×=÷ñ@ÃÊ‚„?× ÊŽKÚÍ¿øPY<žUº@)ÀžðXÀÏ ÛðÜRHÚDàVBöµ&HÚDàmC@¿Ð-@¿ÏW=C@ý[‚„?× Ê¬9Šš¿øPY>£h*@)À”ªèÀÎÎ07"þQHÚEVBö¹ÒHÚEAHÚE~A`FKZmC@¿Ð-@¿ÏW=C@ý[‚„?× ÊŠåj¿øPY@Õ<@)ÀzøÀΐ­¢OHÚE VBö¶NHÚE mC@¿÷u@¿ö =C@‚„?× Ê¢ùпøPYA=Æt@)ÀbW`ÀÎRÏÏÒNHÚE@VBöžÒHÚE@mC@À)Ø@À)=÷ñ@7‚„?× Ê ŽÏy¿øPYB¯)@)ÀOPÀÎ3ÑLHÚE`VBö -HÚE`mC@À)Ø@À)=÷ñ@7‚„?× Ê¥É'Ì¿øPYAe·n@)ÀH¬ÀÍ×VŠÇòJHÚE€VBöˆÕHÚE€mC@À@Àެ=C@xp‚„?× Ê°FŒÌ¿øPY?·ˆÿ@)ÀAÿšÀ͙‹åòIHÚE VBö§SHÚE AHÚE®~A`FKZmC@À@Àެ=C@xp‚„?× ËŸñ]Ÿ¿øPYz¥-@)¿Ç3èÀÍ[Â34òGHÚEÀV>’ˆþ>Åtº:^ïB÷HÚEÀmC@Àìí@Àì=”@ޚ‚„?× Ë»“…D¿øPYÿ¥Œ@)¿í’ ÀÍpWÒFHÚEàVŒô3ûœ:رžÒD€Bö„šHÚEàmC@Àìí@Àì=”@ޚ‚„?× ËÌS¶¿øPY§±]@)À0@ÀÌà^órEHÚFV>/”Ð>e’.:ßBöáJHÚFmC@ÁL6@ÁKb=Œ@ññ‚„?× ËàU<µ¿øPY ðÊ5@)¿¯èÀÌ¢¯[ÜÒCHÚF VBö¢iHÚF mC@ÁL6@ÁKb=Œ@ññ‚„?× Ëû²_†¿øPYUk@)¿«x˜ÀÌdóGBòAHÚF@VBöHÚF@AHÚFN~A`FKZmC@Á±@Á°3="ä@2ò‚„?× ÌÚªo¿øPY#Ž^@)¿©ËxÀÌ'3÷)ò@HÚF`VBö¢]HÚF`mC@Á±@Á°3="ä@2ò‚„?× Ì;“Þ¿øPXüM²@)¿±•€ÀËé gpsd-3.9/test/daemon/trimble-lassen_iq-playacar.log.chk0000664000175000017500000001341012135526446021374 0ustar esresr$GPRMC,000000,V,2037.7075,N,08704.0535,W,0.0000,0.000,000000,,*23 {"class":"TPV","tag":"ID84","mode":0} $GPRMC,000000,V,2037.7075,N,08704.0535,W,0.0000,0.000,000000,,*23 {"class":"TPV","tag":"ID84","mode":0} $GPRMC,000000,V,2037.7075,N,08704.0535,W,0.0000,0.000,000000,,*23 {"class":"TPV","tag":"ID84","mode":0} $GPRMC,000000,V,2037.7075,N,08704.0535,W,0.0000,0.000,000000,,*23 {"class":"TPV","tag":"ID84","mode":0} $GPRMC,040938,A,2037.7075,N,08704.0535,W,0.0000,0.000,221206,,*37 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:38.000Z","ept":0.005} $GPRMC,040939,A,2037.7075,N,08704.0535,W,0.0000,0.000,221206,,*36 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:39.000Z","ept":0.005} $GPRMC,040940,A,2037.7075,N,08704.0535,W,0.0000,0.000,221206,,*38 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:40.000Z","ept":0.005} $GPRMC,040941,A,2037.7075,N,08704.0535,W,0.0000,0.000,221206,,*39 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:41.000Z","ept":0.005} $GPRMC,040942,A,2037.7075,N,08704.0535,W,0.0000,0.000,221206,,*3A {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:42.000Z","ept":0.005} $GPRMC,040943,A,2037.7075,N,08704.0535,W,0.0000,0.000,221206,,*3B {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:43.000Z","ept":0.005} $GPRMC,040944,A,2037.7075,N,08704.0535,W,0.0000,0.000,221206,,*3C {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:44.000Z","ept":0.005} $GPRMC,040945,A,2037.7075,N,08704.0535,W,0.0000,0.000,221206,,*3D {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:45.000Z","ept":0.005} $GPRMC,040946,A,2037.7075,N,08704.0535,W,0.0000,0.000,221206,,*3E {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:46.000Z","ept":0.005} $GPRMC,040947,A,2037.7076,N,08704.0535,W,0.0000,0.000,221206,,*3C {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:47.000Z","ept":0.005} $GPRMC,040948,A,2037.7076,N,08704.0535,W,0.0000,0.000,221206,,*33 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:48.000Z","ept":0.005} $GPRMC,040949,A,2037.7076,N,08704.0535,W,0.0000,0.000,221206,,*32 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:49.000Z","ept":0.005} $GPRMC,040950,A,2037.7077,N,08704.0534,W,0.0000,0.000,221206,,*3A {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:50.000Z","ept":0.005} $GPRMC,040951,A,2037.7077,N,08704.0534,W,0.0000,0.000,221206,,*3B {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:51.000Z","ept":0.005} $GPRMC,040952,A,2037.7076,N,08704.0535,W,0.0000,0.000,221206,,*38 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:52.000Z","ept":0.005} $GPRMC,040953,A,2037.7059,N,08704.0550,W,0.0000,0.000,221206,,*37 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:53.000Z","ept":0.005} $GPRMC,040954,A,2037.7053,N,08704.0556,W,0.0000,0.000,221206,,*3C {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:54.000Z","ept":0.005} $GPRMC,040955,A,2037.7051,N,08704.0558,W,0.0000,0.000,221206,,*31 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:55.000Z","ept":0.005} $GPRMC,040956,A,2037.7049,N,08704.0559,W,0.0000,0.000,221206,,*3A {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:56.000Z","ept":0.005} $GPRMC,040957,A,2037.7048,N,08704.0560,W,0.0000,0.000,221206,,*30 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:57.000Z","ept":0.005} $GPRMC,040958,A,2037.7047,N,08704.0561,W,0.0000,0.000,221206,,*31 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:58.000Z","ept":0.005} $GPRMC,040959,A,2037.7047,N,08704.0561,W,0.0000,0.000,221206,,*30 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:09:59.000Z","ept":0.005} $GPRMC,041000,A,2037.7046,N,08704.0562,W,0.0000,0.000,221206,,*36 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:10:00.000Z","ept":0.005} $GPRMC,041001,A,2037.7046,N,08704.0562,W,0.0000,0.000,221206,,*37 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:10:01.000Z","ept":0.005} $GPRMC,041002,A,2037.7046,N,08704.0562,W,0.0000,0.000,221206,,*34 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:10:02.000Z","ept":0.005} $GPRMC,041003,A,2037.7046,N,08704.0563,W,0.0000,0.000,221206,,*34 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:10:03.000Z","ept":0.005} $GPRMC,041004,A,2037.7046,N,08704.0563,W,0.0000,0.000,221206,,*33 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:10:04.000Z","ept":0.005} $GPRMC,041005,A,2037.7046,N,08704.0563,W,0.0000,0.000,221206,,*32 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:10:05.000Z","ept":0.005} $GPRMC,041006,A,2037.7046,N,08704.0563,W,0.0000,0.000,221206,,*31 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:10:06.000Z","ept":0.005} $GPRMC,041007,A,2037.7046,N,08704.0562,W,0.0000,0.000,221206,,*31 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:10:07.000Z","ept":0.005} $GPRMC,041008,A,2037.7054,N,08704.0557,W,0.0000,0.000,221206,,*3B {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:10:08.000Z","ept":0.005} $GPRMC,041009,A,2037.7055,N,08704.0557,W,0.0000,0.000,221206,,*3B {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:10:09.000Z","ept":0.005} $GPRMC,041010,A,2037.7055,N,08704.0556,W,0.0000,0.000,221206,,*32 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:10:10.000Z","ept":0.005} $GPRMC,041011,A,2037.7056,N,08704.0556,W,0.0000,0.000,221206,,*30 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:10:11.000Z","ept":0.005} $GPRMC,041012,A,2037.7057,N,08704.0555,W,0.0000,0.000,221206,,*31 {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:10:12.000Z","ept":0.005} $GPRMC,041013,A,2037.7058,N,08704.0555,W,0.0000,0.000,221206,,*3F {"class":"TPV","tag":"ID84","mode":0,"time":"2006-12-22T04:10:13.000Z","ept":0.005} gpsd-3.9/test/daemon/trimble-lassen_iq.log0000664000175000017500000002410711762140440017032 0ustar esresr# Name: Trimble Lassen iQ # Chipset: TSIP # Description: Sparkfun Lassen iQ Evaluation Kit # Serial: 4800 8O1 # Submitter: Chris Kuethe # Date: 2006-11-24 # Location: Edmonton, Alberta, Canada. 53.5N, 113.5W # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # mT@nñT@#V@.f@ ƒ FKZ‚AEž {A`mT@nۊ@#N@.OÀ@ t! \ AÐEž?¬§6@Ë‹\(AèEž>€Îþ@ :\0BEž>‘‚Å?±NR\8AÐEž?ƒò@­Ð\HAðEž>ÅÎ @còr\ PB$Ež?puç?¢-\XAèEž?1ï @¥ÅÀmT@n×@#Eõ@.Q;@ gq mT@n×@#Eõ@.Q;@ gq AEž³Ž{A`FmT@nÊÐ@#>r@.Gi@ Z€ mT@nÊÐ@#>r@.Gi@ Z€ \EžŒ÷=Ï¥.@,4\BEžŒ÷>xŠ=?«K>\ AÐEžŒ÷?¬§z@Ž¯\0BEžŒ÷>‘?z?±Vk\8AÐEžŒ÷?Šr@°B\HBEžŒ÷>Ņq@cîÎ\ PB$EžŒ÷?p]º?¢J\XAèEžŒ÷?2³@¥ÄÓmT@nŸÑ@#7!@.=Ó@ Mæ mT@n²†@#/¡@.4@ @ô KZmT@n˜®@#ã@.X@ %Ó \BEžü“>w¯9?«Zè\ AÐEžü“?¬§Î@ˆI\(AàEžü“>á@ )“\0BEžü“>Œâ?±f\8AÐEžü“?éq@µ\HBEžü“>Äø¡@cçº\ PB(Ežü“?p.­?¡Þ`\XAèEžü“?2U@¥ÃAEŸí{A`FmT@n˜®@#ã@.X@ %Ó mT@n€m@##@. í@ [ mT@n€m@##@. í@ [ \BEŸ$¶>w7Â?«b~\ AÐEŸ$¶?¬§Þ@rÑ\(AØEŸ$¶>ÎÆ@ $Q\0BEŸ$¶>}»?±m·\8AÐEŸ$¶? Ú@·K\HAðEŸ$¶>ÄŽ†@cäP\ PB(EŸ$¶?pÞ?¡ÅP\XAèEŸ$¶?2u@¥ÂFAEŸS°{A`mT@n[Ñ@"úõ@-î‰@åù mT@n[Ñ@"úõ@-î‰@åù \ AÐEŸTz?¬§à@Rz\(AàEŸTz>‚+ø@ d\0BEŸTz>Š?±y)\8AÐEŸTz?:ª@ºÀ\HBEŸTz>ÄN@cß,\ PB(EŸTz?oõt?¡Ÿ§\XAèEŸTz?2Š@¥ÀǏ 3MÑà&?æ¯K.ÒRï{BjJ‚Ê þÿ0ùý  BMÕÈ&@¯K/IVp{BjJ‚Ê þÿ0ùý mC@šg$@šf(=ÄV@nÝ  ‚MÙ°&@R¯K/¿Yñ{BjJ‚Ê þÿ0ùý mC@šD·@šCº=ÄV@[)  JMݘ&@„¯K0-]:{BjJ‚Ê þÿ0ùý mC@šD·@šCº=ÄV@[) \AðEŸ|?>vÅ?«uÝ\ AÐEŸ|??¬§É@;³\(AØEŸ|?>‚lÂ@ Ð\0BEŸ|?>Û÷?±"\8AÐEŸ|??\é@œ \HBEŸ|?>Ä!@cۂ\ PB(EŸ|??oÝA?¡…s\XAèEŸ|??2É@¥¿Î ºMá€&@ޝK0”`O{BjJ‚Ê þÿ0ùý mC@š=@š@=¶H@0V  rMåh&@â¯K0óc2{BjJ‚Ê þÿ0ùý mC@š=@š@=¶H@0V  bMéP&A ¯K1Fe¿{BjJ‚Ê þÿ0ùý  èMí8&A7¯K1™hK{BjJ‚Ê þÿ0ùý  ¢Mñ &A]¯K1áj‹{BjJ‚Ê þÿ0ùý KZmC@§£•@§¢—=ÄV@öv \EŸ€®=֖Î@ ò\AðEŸ€®>uPn?«d\ AÐEŸ€®?¬§Œ@\(AÐEŸ€®>‚ʺ@ Î\8AÐEŸ€®?Ž(@À›\HBEŸ€®>Þœ@cÖT\ PB(EŸ€®?oºj?¡_Ÿ\XAèEŸ€®?2úw@¥Ÿo xMõ&A¯K2 l‹{BjJ‚Ê þÿ0ùý  êMøð&Aœ¯K2YnT{BjJ‚Ê þÿ0ùý  `MüØ&Aµ¯K2‹oð{BjJ‚Ê þÿ0ùý mC@§r—@§qš=š)@Ø5  žNÀ&A˯K2¹qe{BjJ‚Ê þÿ0ùý mC@§r—@§qš=š)@Ø5  àNš&AÞ¯K2ârž{BjJ‚Ê þÿ0ùý AEŸË™{A`F\EŸÌ?=םY@V\AèEŸÌ?>tÒ€?«‰c\ AÐEŸÌ??¬§O@q\(AÐEŸÌ?>ƒ ê@ @\0B EŸÌ?>9š?±”²\8AÐEŸÌ??°Q@Ã\HBEŸÌ?>ÃW @cÒŒ\ PB,EŸÌ??o¢1?¡Em\XAèEŸÌ??3À@¥œ{ ŠN&Að¯K3 sí{BjJ‚Ê þÿ0ùý  žN x&B¯K3,u {BjJ‚Ê þÿ0ùý mC@ŠöÀ@ŠõÃ=Œ@‰(  NH&B¯K3lvÿ{BjJ‚Ê þÿ0ùý  N0&B&¯K3‰wÞ{BjJ‚Ê þÿ0ùý KZmC@Š¿Ï@ŠŸÑ=š9@f« \EŸô7=ؗQ@ó\AèEŸô7>tZø?«‘\ AÐEŸô7?¬§@€îç\(AÐEŸô7>ƒIø@ ö\0B EŸô7>ŽúW?±œT\8AÐEŸô7?Ð×@ÅT\HBEŸô7>ÃÓ@cÏT\ PB,EŸô7?o‹?¡,‹\XAèEŸô7?3=_@¥Œ‘ ŠN&B0¯K3€x­{BjJ‚Ê þÿ0ùý ‚AEŸü({A`F XN &B8¯K3œyn{BjJ‚Ê þÿ0ùý mC@Š„B@ЃD=š)@@  ˜N#è&B@¯K3Õz"{BjJ‚Ê þÿ0ùý mC@ŠUY@ŠTZ=š)@#Þ  (N'Ð&BH¯K3ìzÊ{BjJ‚Ê þÿ0ùý  N+ž&BO¯K4{h{BjJ‚Ê þÿ0ùý mC@Šc[@Šb\=š)@/Ÿ \E ¡=Ú ô@ý^\AàE ¡>s§¡?«œl\ AÐE ¡?¬Šw@€Î¢\(AÐE ¡>ƒŠö@ ü\0B E ¡>Ž›Œ?±§Å\8AÐE ¡?”@ÈÇ\HAðE ¡>¬’@cÊ8\ PB0E ¡?osÙ?¡„\XAèE ¡?3^9@¥»¥ pN/ &BV¯K4{ü{BjJ‚Ê þÿ0ùý mC@Š‘@Š’=Œ@b  N3ˆ&B\¯K4-|ˆ{BjJ‚Ê þÿ0ùý mC@Š‘@Š’=Œ@b  ÈN7p&Ba¯K4A} {BjJ‚Ê þÿ0ùý mC@¥áÜ@¥àÝ=~@Û-  N;X&Be¯K4U}ˆ{BjJ‚Ê þÿ0ùý  âN?@&Bj¯K4h}ý{BjJ‚Ê þÿ0ùý KZ\E D$=Û”@ø§\AðE D$>s'"?«€\(AÐE D$>ƒé@ öW\0B E D$>ŽWŸ?±¯ú\8AÐE D$?$‚@Ë@\HAðE D$>ÂcH@cƐ\ PB4E D$?oO˜? ì±\XAèE D$?3‘K@¥º4 ³NC(&Bn¯K4z~l{BjJ‚Ê þÿ0ùý  ƒNJø&Bx¯K4:{BjJ‚Ê þÿ0ùý mC@¥xŒ@¥wŒ=~@™{ F ëNNà&B}¯K4­š{BjJ‚Ê þÿ0ùý  òNRÈ&B€¯K4Œõ{BjJ‚Ê þÿ0ùý AE k‰{A`F\E l/=Ü@ô<\AèE l/>r®É?«¬I\ AÐE l/?¬¥{@€¡Õ\(AÐE l/>„(@ ñ\8AÐE l/?E<@Í‘\HAðE l/>€@cÃ"\ PB4E l/?o8@? ÓÎ\XAèE l/?3²@¥¹E £NV°&Bƒ¯K4Ì€L{BjJ‚Ê þÿ0ùý  KNZ˜&B†¯K4Û€ž{BjJ‚Ê þÿ0ùý  ºN^€&Bˆ¯K4é€í{BjJ‚Ê þÿ0ùý mC@¥à@¥à=oñ@a‰  ûNbh&B‹¯K4ø9{BjJ‚Ê þÿ0ùý mC@€îE@€íD=aÛ@E  »NfP&B¯K5{BjJ‚Ê þÿ0ùý AE “ó{A`KZ\ AÐE ”›?¬€å@€‹^\(AÐE ”›>„hÅ@ ëz\8AÐE ”›?g-@Ïù\HAèE ”›>Á×z@c¿–\ PB0E ”›?o ? º\XAèE ”›?3Ô%@¥žL ‹Nj8&B¯K5Ç{BjJ‚Ê þÿ0ùý mC@€ŸZ@€œZ=SÄ@'‚ F ãNn &B’¯K5!‚ {BjJ‚Ê þÿ0ùý  úNr&B”¯K5.‚I{BjJ‚Ê þÿ0ùý  kNuð&B—¯K5:‚‡{BjJ‚Ê þÿ0ùý  ƒNyØ&Bš¯K5F‚Â{BjJ‚Ê þÿ0ùý mC@€>@€==aÛ@Ôå \AðE Œ(>q}N?«¿Ç\ AÐE Œ(?¬£ë@€jÖ\(AÐE Œ(>„Æ}@ ãv\8AÐE Œ(?˜T@Ós\HAèE Œ(>Ápl@cºt\ PB0E Œ(?nü×? ”È\XAèE Œ(?4n@¥¶â rN}À&B¯K5Q‚û{BjJ‚Ê þÿ0ùý mC@€>@€==aÛ@Ôå  Nš&BŸ¯K5\ƒ1{BjJ‚Ê þÿ0ùý ‚F CN…&B¢¯K5gƒf{BjJ‚Ê þÿ0ùý mT@8…€?¿Á @š:?­Gk \AðE ôç>p»??«Êv\ AÐE ôç?¬¢Û@€D®\(AÐE ôç>…r@ Ú-\8AÐE ôç?Ît@ÕÃ\HAðE ôç>ÁJ@c³\ PB0E ôç?nÖt? pû\XAðE ôç?4>œ@¥ŽwKZ‚FmDA¡„A¡ƒÒ=•<ñ@°Û: mDA¡„A¡ƒÒ=•<ñ@°Û: \E¡í=àêÈ@ܘ\AðE¡í>pCõ?«Ò\ AÐE¡í?¬¢ @€/<\(AÐE¡í>…Zw@ Ôá\0BE¡í>ŒÐŸ?±Ý€\8AÐE¡í?îì@Ø\HAÐE¡í>ÀŸC@c¯ž\ PB0E¡í?n¿#? Xs\XAðE¡í?4_>@¥³‡mDA£.óA£.­=–»F@²ŠÉ mDA£.óA£.­=–»F@²ŠÉ AE¡2°{A`FmDA¢ñA¢«=–Nm@²w mDA€,ÈA€,‚=—]ú@³¶Ñ mDA€,ÈA€,‚=—]ú@³¶Ñ \E¡Bù=áæŠ@Ø*\AøE¡Bù>oË«?«ÙÇ\ AÐE¡Bù?¬¡'@€”\(AÐE¡Bù>…˜ã@ χ\0BE¡Bù>Œ‘ ?±åX\8AÐE¡Bù?®@Úc\HAÐE¡Bù>ÀyŠ@c¬P\ PB0E¡Bù?n§—? ?Êm4AôQÒAô/Ê?€ð@ÉE8 KZm4AôOAô,ø?€ñ@Éêƒ m4AôOAô,ø?€ñ@Éêƒ m4AôIÙAô'Ð?€ð@ʓ€ \E¡k?=ãhï@Ñ_\AðE¡k?>o>?«å‘\ AÐE¡k??¬Ÿ±@ðÄ\(AÐE¡k?>…ø—@ ÇR\0BE¡k?>Œ/“?±ñ(\8AÐE¡k??Aé@Ýð\ PB,E¡k??nƒo?  \XAÐE¡k??4²a@¥±m4AôJHAô(>?€ð@Ë:ð KZm4AôJHAô(>?€ð@Ë:ð m4AôL7Aô*-?€ñ@Ëë1 m4AôL7Aô*-?€ñ@Ëë1 \E¡’Â=äcÄ@Ìö\AðE¡’Â>n›Œ?«í9\ AÐE¡’Â?¬ž©@Å®\(AÐE¡’Â>†6¶@ Áý\0BE¡’Â>‹ðP?±øÓ\8AèE¡’Â?b…@à?\HAÐE¡’Â>¿Ì0@c£²\ PB,E¡’Â?nkë? ›\XAÐE¡’Â?4Ó @¥°Fm4AôGíAô%â?€ð@ÍG m4AôGíAô%â?€ð@ÍG \E¡ºº=ådŠ@Èr\AðE¡ºº>n! ?«õ\ AÐE¡ºº?¬Œ@™–\(AÐE¡ºº>†vM@ Œ‡\0BE¡ºº>‹¯’?²®\8AèE¡ºº?ƒè@âœ\HAÐE¡ºº>¿†O@c :\ PB(E¡ºº?nSÍ?ŸèŸ\XAÐE¡ºº?4ôx@¥¯!m4AôDGAô"=?€ñ@Íì— m4AôDGAô"=?€ñ@Íì— AE¡Òp{A`KZm4AôB…Aô {?€ð@Ι1 m4AôB…Aô {?€ð@Ι1 Fm4Aô=,Aô!?€ð@Ï=k \E¡ã=æÙÁ@Áâ\AøE¡ã>mo ?¬v\ AÐE¡ã?¬›Ñ@Yˆ\(AÐE¡ã>†Òµ@ Ž–\0BE¡ã>‹Q€?² \8AèE¡ã?Žl@æ \HAÐE¡ã>¿ Å@c›2\ PB(E¡ã?n0µ?ŸÄc\XAÐE¡ã?5% @¥­®AE¡úÔ{A`Fm4Aô<‰Aô~?€ð@Ïêó m4Aô8xAôl?€ð@ВZ m4Aô8xAôl?€ð@ВZ \E¢ Ž=çÔÎ@œx\AøE¢ Ž>l÷[?¬"\ AÐE¢ Ž?¬š–@.v\0BE¢ Ž>‹=?²Ç\8AèE¢ Ž?Õ@èY\HAÐE¢ Ž>ŸÜ}@c—Ð\ PB(E¢ Ž?n?Ÿ¬\XAÐE¢ Ž?5E·@¥¬²m4Aô:ÄAôž?€ñ@ÑX m4Aô:ÄAôž?€ñ@ÑX gpsd-3.9/test/daemon/trimble-lassen_iq.log.chk0000664000175000017500000007525612135526450017615 0ustar esresr$GPGSV,3,1,12,26,06,138,00,24,14,077,34,00,00,000,00,00,00,000,00*74 $GPGSV,3,2,12,06,77,232,26,29,14,126,29,02,16,079,38,21,35,257,26*7B $GPGSV,3,3,12,00,00,000,00,30,22,204,32,10,54,073,41,07,40,297,29*7B {"class":"SKY","tag":"ID5c","xdop":1.44,"ydop":0.98,"vdop":2.72,"tdop":2.15,"hdop":2.55,"gdop":4.30,"pdop":3.73,"satellites":[{"PRN":26,"el":6,"az":138,"ss":0,"used":false},{"PRN":24,"el":14,"az":77,"ss":34,"used":true},{"PRN":6,"el":77,"az":232,"ss":26,"used":false},{"PRN":29,"el":14,"az":126,"ss":29,"used":true},{"PRN":2,"el":16,"az":79,"ss":38,"used":true},{"PRN":21,"el":35,"az":257,"ss":26,"used":false}]} $GPGSV,3,1,12,26,06,138,00,24,14,077,32,00,00,000,00,00,00,000,00*72 $GPGSV,3,2,12,06,77,232,26,29,14,126,28,02,16,079,38,21,35,257,26*7A $GPGSV,3,3,12,00,00,000,00,30,22,204,32,10,54,072,42,07,40,297,29*79 {"class":"SKY","tag":"ID5c","xdop":1.44,"ydop":0.98,"vdop":2.72,"tdop":2.14,"hdop":2.55,"gdop":4.30,"pdop":3.73,"satellites":[{"PRN":26,"el":6,"az":138,"ss":0,"used":false},{"PRN":24,"el":14,"az":77,"ss":32,"used":true},{"PRN":6,"el":77,"az":232,"ss":26,"used":false},{"PRN":29,"el":14,"az":126,"ss":28,"used":true},{"PRN":2,"el":16,"az":79,"ss":38,"used":true},{"PRN":21,"el":35,"az":257,"ss":26,"used":false}]} $GPGSV,3,1,12,26,06,138,00,24,14,077,33,00,00,000,00,00,00,000,00*73 $GPGSV,3,2,12,06,77,232,26,29,15,126,27,02,16,079,37,21,35,257,26*7B $GPGSV,3,3,12,00,00,000,00,30,22,204,30,10,54,072,42,07,40,297,29*7B {"class":"SKY","tag":"ID5c","xdop":1.44,"ydop":0.98,"vdop":2.72,"tdop":2.14,"hdop":2.55,"gdop":4.30,"pdop":3.73,"satellites":[{"PRN":26,"el":6,"az":138,"ss":0,"used":false},{"PRN":24,"el":14,"az":77,"ss":33,"used":true},{"PRN":6,"el":77,"az":232,"ss":26,"used":false},{"PRN":29,"el":15,"az":126,"ss":27,"used":true},{"PRN":2,"el":16,"az":79,"ss":37,"used":true},{"PRN":21,"el":35,"az":257,"ss":26,"used":false}]} $GPGSV,3,1,12,26,06,138,00,24,14,077,33,00,00,000,00,00,00,000,00*73 $GPGSV,3,2,12,06,77,232,26,29,15,126,28,02,16,079,37,21,35,257,26*74 $GPGSV,3,3,12,00,00,000,00,30,22,204,32,10,54,072,42,07,40,297,29*79 {"class":"SKY","tag":"ID5c","xdop":1.44,"ydop":0.98,"vdop":2.72,"tdop":2.14,"hdop":2.55,"gdop":4.29,"pdop":3.72,"satellites":[{"PRN":26,"el":6,"az":138,"ss":0,"used":false},{"PRN":24,"el":14,"az":77,"ss":33,"used":true},{"PRN":6,"el":77,"az":232,"ss":26,"used":false},{"PRN":29,"el":15,"az":126,"ss":28,"used":true},{"PRN":2,"el":16,"az":79,"ss":37,"used":true},{"PRN":21,"el":35,"az":257,"ss":26,"used":false}]} $GPZDA,012446.00,26,11,2006,00,00*63 $GPGGA,012446,5332.2649,N,11329.5955,W,1,04,2.55,958.55,M,-19.816,M,,*77 $GPRMC,012446,A,5332.2649,N,11329.5955,W,0.0000,0.000,261106,,*32 $GPGSA,A,2,00,00,00,00,00,,,,,,,,3.7,2.5,2.7*35 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:24:46.000Z","ept":0.005,"lat":53.537748090,"lon":-113.493257926,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000} $GPZDA,012447.00,26,11,2006,00,00*62 $GPGGA,012447,5332.2652,N,11329.5949,W,1,04,2.55,959.45,M,-19.816,M,,*71 $GPRMC,012447,A,5332.2652,N,11329.5949,W,0.0000,0.000,261106,,*34 $GPGSA,A,2,00,00,00,00,00,,,,,,,,3.7,2.5,2.7*35 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:24:47.000Z","ept":0.005,"lat":53.537752616,"lon":-113.493247951,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012448.00,26,11,2006,00,00*6D $GPGGA,012448,5332.2654,N,11329.5943,W,1,04,5.26,960.35,M,-19.817,M,,*7D $GPRMC,012448,A,5332.2654,N,11329.5943,W,0.0000,0.000,261106,,*37 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.3,5.3,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:24:48.000Z","ept":0.005,"lat":53.537757142,"lon":-113.493238060,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012449.00,26,11,2006,00,00*6C $GPGGA,012449,5332.2657,N,11329.5937,W,1,04,5.26,961.19,M,-19.817,M,,*73 $GPRMC,012449,A,5332.2657,N,11329.5937,W,0.0000,0.000,261106,,*36 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.3,5.3,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:24:49.000Z","ept":0.005,"lat":53.537761333,"lon":-113.493228840,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPGSV,3,1,12,26,06,138,00,24,14,077,30,00,00,000,00,00,00,000,00*70 $GPGSV,3,2,12,06,77,231,26,29,15,126,27,02,16,079,37,21,35,257,26*78 $GPGSV,3,3,12,00,00,000,00,30,22,204,33,10,54,072,42,07,40,297,29*78 {"class":"SKY","tag":"ID5c","xdop":1.44,"ydop":0.98,"vdop":0.04,"tdop":2.07,"hdop":5.26,"gdop":5.65,"pdop":5.26,"satellites":[{"PRN":26,"el":6,"az":138,"ss":0,"used":false},{"PRN":24,"el":14,"az":77,"ss":30,"used":true},{"PRN":6,"el":77,"az":231,"ss":26,"used":false},{"PRN":29,"el":15,"az":126,"ss":27,"used":false},{"PRN":2,"el":16,"az":79,"ss":37,"used":true},{"PRN":21,"el":35,"az":257,"ss":26,"used":false}]} $GPZDA,012450.00,26,11,2006,00,00*64 $GPGGA,012450,5332.2659,N,11329.5932,W,1,04,5.26,961.98,M,-19.817,M,,*79 $GPRMC,012450,A,5332.2659,N,11329.5932,W,0.0000,0.000,261106,,*35 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.3,5.3,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:24:50.000Z","ept":0.005,"lat":53.537765356,"lon":-113.493220207,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012451.00,26,11,2006,00,00*65 $GPGGA,012451,5332.2662,N,11329.5927,W,1,04,5.25,962.71,M,-19.817,M,,*73 $GPRMC,012451,A,5332.2662,N,11329.5927,W,0.0000,0.000,261106,,*38 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.3,5.3,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:24:51.000Z","ept":0.005,"lat":53.537769212,"lon":-113.493212244,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012452.00,26,11,2006,00,00*66 $GPGGA,012452,5332.2664,N,11329.5923,W,1,04,5.25,963.37,M,-19.817,M,,*71 $GPRMC,012452,A,5332.2664,N,11329.5923,W,0.0000,0.000,261106,,*39 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.3,5.3,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:24:52.000Z","ept":0.005,"lat":53.537772733,"lon":-113.493205287,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012453.00,26,11,2006,00,00*67 $GPGGA,012453,5332.2666,N,11329.5919,W,1,04,5.25,964.02,M,-19.817,M,,*7A $GPRMC,012453,A,5332.2666,N,11329.5919,W,0.0000,0.000,261106,,*33 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.3,5.3,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:24:53.000Z","ept":0.005,"lat":53.537776337,"lon":-113.493198330,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012454.00,26,11,2006,00,00*60 $GPGGA,012454,5332.2668,N,11329.5915,W,1,04,5.25,964.60,M,-19.817,M,,*7B $GPRMC,012454,A,5332.2668,N,11329.5915,W,0.0000,0.000,261106,,*36 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.3,5.3,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:24:54.000Z","ept":0.005,"lat":53.537779522,"lon":-113.493192295,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPGSV,3,1,12,26,06,138,00,24,14,077,30,00,00,000,00,00,00,000,00*70 $GPGSV,3,2,12,06,77,231,26,29,15,126,26,02,16,079,37,21,35,257,26*79 $GPGSV,3,3,12,00,00,000,00,30,22,204,33,10,54,072,42,07,40,297,29*78 {"class":"SKY","tag":"ID5c","xdop":1.44,"ydop":0.98,"vdop":0.04,"tdop":2.06,"hdop":5.24,"gdop":5.63,"pdop":5.24,"satellites":[{"PRN":26,"el":6,"az":138,"ss":0,"used":false},{"PRN":24,"el":14,"az":77,"ss":30,"used":true},{"PRN":6,"el":77,"az":231,"ss":26,"used":false},{"PRN":29,"el":15,"az":126,"ss":26,"used":false},{"PRN":2,"el":16,"az":79,"ss":37,"used":true},{"PRN":21,"el":35,"az":257,"ss":26,"used":false}]} $GPZDA,012455.00,26,11,2006,00,00*61 $GPGGA,012455,5332.2669,N,11329.5912,W,1,04,5.24,965.11,M,-19.817,M,,*7A $GPRMC,012455,A,5332.2669,N,11329.5912,W,0.0000,0.000,261106,,*31 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:24:55.000Z","ept":0.005,"lat":53.537782372,"lon":-113.493187015,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012456.00,26,11,2006,00,00*62 $GPGGA,012456,5332.2671,N,11329.5909,W,1,04,5.24,965.56,M,-19.817,M,,*79 $GPRMC,012456,A,5332.2671,N,11329.5909,W,0.0000,0.000,261106,,*31 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:24:56.000Z","ept":0.005,"lat":53.537784803,"lon":-113.493182237,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012457.00,26,11,2006,00,00*63 $GPGGA,012457,5332.2672,N,11329.5907,W,1,04,5.24,965.98,M,-19.817,M,,*77 $GPRMC,012457,A,5332.2672,N,11329.5907,W,0.0000,0.000,261106,,*3D $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:24:57.000Z","ept":0.005,"lat":53.537786898,"lon":-113.493178046,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012458.00,26,11,2006,00,00*6C $GPGGA,012458,5332.2673,N,11329.5905,W,1,04,5.23,966.35,M,-19.817,M,,*78 $GPRMC,012458,A,5332.2673,N,11329.5905,W,0.0000,0.000,261106,,*31 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:24:58.000Z","ept":0.005,"lat":53.537788742,"lon":-113.493174190,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012459.00,26,11,2006,00,00*6D $GPGGA,012459,5332.2674,N,11329.5902,W,1,04,5.23,966.69,M,-19.817,M,,*70 $GPRMC,012459,A,5332.2674,N,11329.5902,W,0.0000,0.000,261106,,*30 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:24:59.000Z","ept":0.005,"lat":53.537790335,"lon":-113.493170754,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPGSV,3,1,12,26,06,138,00,24,14,077,29,00,00,000,00,00,00,000,00*78 $GPGSV,3,2,12,06,77,231,26,29,15,126,26,02,16,079,35,21,35,257,26*7B $GPGSV,3,3,12,00,00,000,00,30,22,204,32,10,54,072,43,07,40,297,29*78 {"class":"SKY","tag":"ID5c","xdop":1.44,"ydop":0.98,"vdop":0.04,"tdop":2.06,"hdop":5.23,"gdop":5.62,"pdop":5.23,"satellites":[{"PRN":26,"el":6,"az":138,"ss":0,"used":false},{"PRN":24,"el":14,"az":77,"ss":29,"used":true},{"PRN":6,"el":77,"az":231,"ss":26,"used":false},{"PRN":29,"el":15,"az":126,"ss":26,"used":false},{"PRN":2,"el":16,"az":79,"ss":35,"used":true},{"PRN":21,"el":35,"az":257,"ss":26,"used":false}]} $GPZDA,012500.00,26,11,2006,00,00*60 $GPGGA,012500,5332.2675,N,11329.5900,W,1,04,5.23,967.00,M,-19.817,M,,*70 $GPRMC,012500,A,5332.2675,N,11329.5900,W,0.0000,0.000,261106,,*3E $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:00.000Z","ept":0.005,"lat":53.537791843,"lon":-113.493167485,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":78.48} $GPZDA,012501.00,26,11,2006,00,00*61 $GPGGA,012501,5332.2676,N,11329.5899,W,1,04,5.23,967.28,M,-19.817,M,,*79 $GPRMC,012501,A,5332.2676,N,11329.5899,W,0.0000,0.000,261106,,*3D $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:01.000Z","ept":0.005,"lat":53.537793184,"lon":-113.493164551,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012503.00,26,11,2006,00,00*63 $GPGGA,012503,5332.2677,N,11329.5896,W,1,04,5.22,967.78,M,-19.817,M,,*71 $GPRMC,012503,A,5332.2677,N,11329.5896,W,0.0000,0.000,261106,,*31 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:03.000Z","ept":0.005,"lat":53.537795448,"lon":-113.493159187,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":21.59} $GPZDA,012504.00,26,11,2006,00,00*64 $GPGGA,012504,5332.2678,N,11329.5894,W,1,04,5.22,968.01,M,-19.817,M,,*7A $GPRMC,012504,A,5332.2678,N,11329.5894,W,0.0000,0.000,261106,,*3B $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:04.000Z","ept":0.005,"lat":53.537796370,"lon":-113.493156756,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPGSV,3,1,12,26,06,138,00,24,14,077,29,00,00,000,00,00,00,000,00*78 $GPGSV,3,2,12,06,77,231,26,29,15,126,26,02,16,080,35,21,35,257,26*7D $GPGSV,3,3,12,00,00,000,00,30,22,204,33,10,54,072,43,07,40,297,29*79 {"class":"SKY","tag":"ID5c","xdop":1.44,"ydop":0.98,"vdop":0.04,"tdop":2.05,"hdop":5.21,"gdop":5.60,"pdop":5.21,"satellites":[{"PRN":26,"el":6,"az":138,"ss":0,"used":false},{"PRN":24,"el":14,"az":77,"ss":29,"used":true},{"PRN":6,"el":77,"az":231,"ss":26,"used":false},{"PRN":29,"el":15,"az":126,"ss":26,"used":false},{"PRN":2,"el":16,"az":80,"ss":35,"used":true},{"PRN":21,"el":35,"az":257,"ss":26,"used":false}]} $GPZDA,012505.00,26,11,2006,00,00*65 $GPGGA,012505,5332.2678,N,11329.5893,W,1,04,5.21,968.21,M,-19.817,M,,*7D $GPRMC,012505,A,5332.2678,N,11329.5893,W,0.0000,0.000,261106,,*3D $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:05.000Z","ept":0.005,"lat":53.537797208,"lon":-113.493154493,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012506.00,26,11,2006,00,00*66 $GPGGA,012506,5332.2679,N,11329.5891,W,1,04,5.21,968.41,M,-19.817,M,,*7B $GPRMC,012506,A,5332.2679,N,11329.5891,W,0.0000,0.000,261106,,*3D $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:06.000Z","ept":0.005,"lat":53.537797878,"lon":-113.493152397,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":89.89} $GPZDA,012507.00,26,11,2006,00,00*67 $GPGGA,012507,5332.2679,N,11329.5890,W,1,04,5.20,968.59,M,-19.817,M,,*73 $GPRMC,012507,A,5332.2679,N,11329.5890,W,0.0000,0.000,261106,,*3D $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:07.000Z","ept":0.005,"lat":53.537798549,"lon":-113.493150386,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012508.00,26,11,2006,00,00*68 $GPGGA,012508,5332.2680,N,11329.5889,W,1,04,5.20,968.75,M,-19.817,M,,*7C $GPRMC,012508,A,5332.2680,N,11329.5889,W,0.0000,0.000,261106,,*3C $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:08.000Z","ept":0.005,"lat":53.537799219,"lon":-113.493148458,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012509.00,26,11,2006,00,00*69 $GPGGA,012509,5332.2680,N,11329.5888,W,1,04,5.20,968.91,M,-19.817,M,,*76 $GPRMC,012509,A,5332.2680,N,11329.5888,W,0.0000,0.000,261106,,*3C $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:09.000Z","ept":0.005,"lat":53.537799806,"lon":-113.493146530,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPGSV,3,1,12,26,06,138,00,24,14,077,28,00,00,000,00,00,00,000,00*79 $GPGSV,3,2,12,06,77,231,26,29,15,126,26,02,16,080,35,21,35,257,26*7D $GPGSV,3,3,12,00,00,000,00,30,22,204,30,10,54,072,44,07,40,297,29*7D {"class":"SKY","tag":"ID5c","xdop":1.44,"ydop":0.98,"vdop":0.04,"tdop":2.05,"hdop":5.20,"gdop":5.59,"pdop":5.20,"satellites":[{"PRN":26,"el":6,"az":138,"ss":0,"used":false},{"PRN":24,"el":14,"az":77,"ss":28,"used":true},{"PRN":6,"el":77,"az":231,"ss":26,"used":false},{"PRN":29,"el":15,"az":126,"ss":26,"used":false},{"PRN":2,"el":16,"az":80,"ss":35,"used":true},{"PRN":21,"el":35,"az":257,"ss":26,"used":false}]} $GPZDA,012510.00,26,11,2006,00,00*61 $GPGGA,012510,5332.2680,N,11329.5887,W,1,04,5.20,969.06,M,-19.817,M,,*7E $GPRMC,012510,A,5332.2680,N,11329.5887,W,0.0000,0.000,261106,,*3B $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:10.000Z","ept":0.005,"lat":53.537800393,"lon":-113.493144770,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012511.00,26,11,2006,00,00*60 $GPGGA,012511,5332.2681,N,11329.5886,W,1,04,5.19,969.20,M,-19.817,M,,*71 $GPRMC,012511,A,5332.2681,N,11329.5886,W,0.0000,0.000,261106,,*3A $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:11.000Z","ept":0.005,"lat":53.537800896,"lon":-113.493143010,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012512.00,26,11,2006,00,00*63 $GPGGA,012512,5332.2681,N,11329.5885,W,1,04,5.19,969.33,M,-19.817,M,,*73 $GPRMC,012512,A,5332.2681,N,11329.5885,W,0.0000,0.000,261106,,*3A $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:12.000Z","ept":0.005,"lat":53.537801315,"lon":-113.493141333,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012513.00,26,11,2006,00,00*62 $GPGGA,012513,5332.2681,N,11329.5884,W,1,04,5.18,969.46,M,-19.817,M,,*70 $GPRMC,012513,A,5332.2681,N,11329.5884,W,0.0000,0.000,261106,,*3A $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:13.000Z","ept":0.005,"lat":53.537801650,"lon":-113.493139657,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012514.00,26,11,2006,00,00*65 $GPGGA,012514,5332.2681,N,11329.5883,W,1,04,5.18,969.57,M,-19.817,M,,*70 $GPRMC,012514,A,5332.2681,N,11329.5883,W,0.0000,0.000,261106,,*3A $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:14.000Z","ept":0.005,"lat":53.537802069,"lon":-113.493138064,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPGSV,3,1,12,26,06,138,00,24,14,077,30,00,00,000,00,00,00,000,00*70 $GPGSV,3,2,12,06,77,231,26,29,15,126,26,02,16,080,35,21,35,257,26*7D $GPGSV,3,3,12,00,00,000,00,30,22,204,30,10,54,072,45,07,40,297,29*7C {"class":"SKY","tag":"ID5c","xdop":1.44,"ydop":0.98,"vdop":0.04,"tdop":2.04,"hdop":5.18,"gdop":5.57,"pdop":5.18,"satellites":[{"PRN":26,"el":6,"az":138,"ss":0,"used":false},{"PRN":24,"el":14,"az":77,"ss":30,"used":true},{"PRN":6,"el":77,"az":231,"ss":26,"used":false},{"PRN":29,"el":15,"az":126,"ss":26,"used":false},{"PRN":2,"el":16,"az":80,"ss":35,"used":true},{"PRN":21,"el":35,"az":257,"ss":26,"used":false}]} $GPZDA,012515.00,26,11,2006,00,00*64 $GPGGA,012515,5332.2681,N,11329.5882,W,1,04,5.18,969.68,M,-19.817,M,,*7C $GPRMC,012515,A,5332.2681,N,11329.5882,W,0.0000,0.000,261106,,*3A $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:15.000Z","ept":0.005,"lat":53.537802405,"lon":-113.493136556,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012517.00,26,11,2006,00,00*66 $GPGGA,012517,5332.2682,N,11329.5880,W,1,04,5.18,969.89,M,-19.817,M,,*70 $GPRMC,012517,A,5332.2682,N,11329.5880,W,0.0000,0.000,261106,,*39 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:17.000Z","ept":0.005,"lat":53.537803243,"lon":-113.493133622,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":21.59} $GPZDA,012518.00,26,11,2006,00,00*69 $GPGGA,012518,5332.2682,N,11329.5879,W,1,04,5.17,969.99,M,-19.817,M,,*77 $GPRMC,012518,A,5332.2682,N,11329.5879,W,0.0000,0.000,261106,,*30 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:18.000Z","ept":0.005,"lat":53.537803662,"lon":-113.493132281,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012519.00,26,11,2006,00,00*68 $GPGGA,012519,5332.2682,N,11329.5879,W,1,04,5.17,970.08,M,-19.817,M,,*76 $GPRMC,012519,A,5332.2682,N,11329.5879,W,0.0000,0.000,261106,,*31 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:19.000Z","ept":0.005,"lat":53.537803913,"lon":-113.493131024,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPGSV,3,1,12,26,06,138,00,24,14,077,29,00,00,000,00,00,00,000,00*78 $GPGSV,3,2,12,06,77,230,26,29,15,126,26,02,16,080,35,21,35,257,26*7C $GPGSV,3,3,12,00,00,000,00,30,22,204,30,10,54,072,45,07,40,297,29*7C {"class":"SKY","tag":"ID5c","xdop":1.44,"ydop":0.98,"vdop":0.04,"tdop":2.04,"hdop":5.17,"gdop":5.56,"pdop":5.17,"satellites":[{"PRN":26,"el":6,"az":138,"ss":0,"used":false},{"PRN":24,"el":14,"az":77,"ss":29,"used":true},{"PRN":6,"el":77,"az":230,"ss":26,"used":false},{"PRN":29,"el":15,"az":126,"ss":26,"used":false},{"PRN":2,"el":16,"az":80,"ss":35,"used":true},{"PRN":21,"el":35,"az":257,"ss":26,"used":false}]} $GPZDA,012520.00,26,11,2006,00,00*62 $GPGGA,012520,5332.2682,N,11329.5878,W,1,04,5.17,970.16,M,-19.817,M,,*72 $GPRMC,012520,A,5332.2682,N,11329.5878,W,0.0000,0.000,261106,,*3A $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:20.000Z","ept":0.005,"lat":53.537804165,"lon":-113.493129682,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":77.38} $GPZDA,012521.00,26,11,2006,00,00*63 $GPGGA,012521,5332.2683,N,11329.5877,W,1,04,5.17,970.25,M,-19.817,M,,*7D $GPRMC,012521,A,5332.2683,N,11329.5877,W,0.0000,0.000,261106,,*35 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:21.000Z","ept":0.005,"lat":53.537804416,"lon":-113.493128425,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012522.00,26,11,2006,00,00*60 $GPGGA,012522,5332.2683,N,11329.5876,W,1,04,5.17,970.33,M,-19.817,M,,*78 $GPRMC,012522,A,5332.2683,N,11329.5876,W,0.0000,0.000,261106,,*37 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:22.000Z","ept":0.005,"lat":53.537804584,"lon":-113.493127252,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012523.00,26,11,2006,00,00*61 $GPGGA,012523,5332.2683,N,11329.5876,W,1,04,5.16,970.40,M,-19.817,M,,*7C $GPRMC,012523,A,5332.2683,N,11329.5876,W,0.0000,0.000,261106,,*36 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:23.000Z","ept":0.005,"lat":53.537804835,"lon":-113.493125994,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012524.00,26,11,2006,00,00*66 $GPGGA,012524,5332.2683,N,11329.5875,W,1,04,5.15,970.47,M,-19.817,M,,*7C $GPRMC,012524,A,5332.2683,N,11329.5875,W,0.0000,0.000,261106,,*32 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:24.000Z","ept":0.005,"lat":53.537805003,"lon":-113.493124821,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPGSV,3,1,12,26,06,138,00,24,14,077,29,00,00,000,00,00,00,000,00*78 $GPGSV,3,2,12,06,77,230,26,29,15,126,26,02,16,080,35,21,35,257,26*7C $GPGSV,3,3,12,00,00,000,00,30,22,204,29,10,54,072,44,07,40,297,29*75 {"class":"SKY","tag":"ID5c","xdop":1.44,"ydop":0.98,"vdop":0.04,"tdop":2.04,"hdop":5.15,"gdop":5.54,"pdop":5.15,"satellites":[{"PRN":26,"el":6,"az":138,"ss":0,"used":false},{"PRN":24,"el":14,"az":77,"ss":29,"used":true},{"PRN":6,"el":77,"az":230,"ss":26,"used":false},{"PRN":29,"el":15,"az":126,"ss":26,"used":false},{"PRN":2,"el":16,"az":80,"ss":35,"used":true},{"PRN":21,"el":35,"az":257,"ss":26,"used":false}]} $GPZDA,012525.00,26,11,2006,00,00*67 $GPGGA,012525,5332.2683,N,11329.5874,W,1,04,5.15,970.54,M,-19.817,M,,*7E $GPRMC,012525,A,5332.2683,N,11329.5874,W,0.0000,0.000,261106,,*32 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.2,5.2,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:25.000Z","ept":0.005,"lat":53.537805171,"lon":-113.493123648,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":85.29} $GPZDA,012526.00,26,11,2006,00,00*64 $GPGGA,012526,5332.2683,N,11329.5874,W,1,04,5.15,970.61,M,-19.817,M,,*7B $GPRMC,012526,A,5332.2683,N,11329.5874,W,0.0000,0.000,261106,,*31 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.1,5.1,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:26.000Z","ept":0.005,"lat":53.537805422,"lon":-113.493122558,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012527.00,26,11,2006,00,00*65 $GPGGA,012527,5332.2683,N,11329.5873,W,1,04,5.15,970.67,M,-19.817,M,,*7B $GPRMC,012527,A,5332.2683,N,11329.5873,W,0.0000,0.000,261106,,*37 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.1,5.1,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:27.000Z","ept":0.005,"lat":53.537805590,"lon":-113.493121468,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012528.00,26,11,2006,00,00*6A $GPGGA,012528,5332.2684,N,11329.5872,W,1,04,5.15,970.74,M,-19.817,M,,*70 $GPRMC,012528,A,5332.2684,N,11329.5872,W,0.0000,0.000,261106,,*3E $GPGSA,A,2,00,00,00,00,,,,,,,,,5.1,5.1,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:28.000Z","ept":0.005,"lat":53.537805841,"lon":-113.493120462,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012529.00,26,11,2006,00,00*6B $GPGGA,012529,5332.2684,N,11329.5872,W,1,04,5.15,970.79,M,-19.817,M,,*7C $GPRMC,012529,A,5332.2684,N,11329.5872,W,0.0000,0.000,261106,,*3F $GPGSA,A,2,00,00,00,00,,,,,,,,,5.1,5.1,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:29.000Z","ept":0.005,"lat":53.537806093,"lon":-113.493119457,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPGSV,3,1,12,26,06,138,00,24,14,077,30,00,00,000,00,00,00,000,00*70 $GPGSV,3,2,12,06,77,230,26,29,15,126,26,02,16,080,35,21,35,258,26*73 $GPGSV,3,3,12,00,00,000,00,30,22,204,29,10,53,072,44,07,40,297,29*72 {"class":"SKY","tag":"ID5c","xdop":1.44,"ydop":0.98,"vdop":0.04,"tdop":2.03,"hdop":5.13,"gdop":5.52,"pdop":5.13,"satellites":[{"PRN":26,"el":6,"az":138,"ss":0,"used":false},{"PRN":24,"el":14,"az":77,"ss":30,"used":true},{"PRN":6,"el":77,"az":230,"ss":26,"used":false},{"PRN":29,"el":15,"az":126,"ss":26,"used":false},{"PRN":2,"el":16,"az":80,"ss":35,"used":true},{"PRN":21,"el":35,"az":258,"ss":26,"used":false}]} $GPZDA,012530.00,26,11,2006,00,00*63 $GPGGA,012530,5332.2684,N,11329.5871,W,1,04,5.13,970.85,M,-19.817,M,,*72 $GPRMC,012530,A,5332.2684,N,11329.5871,W,0.0000,0.000,261106,,*34 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.1,5.1,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:30.000Z","ept":0.005,"lat":53.537806344,"lon":-113.493118535,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012531.00,26,11,2006,00,00*62 $GPGGA,012531,5332.2684,N,11329.5871,W,1,04,5.13,970.91,M,-19.817,M,,*76 $GPRMC,012531,A,5332.2684,N,11329.5871,W,0.0000,0.000,261106,,*35 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.1,5.1,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:31.000Z","ept":0.005,"lat":53.537806512,"lon":-113.493117613,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPZDA,012532.00,26,11,2006,00,00*61 $GPGGA,012532,5332.2684,N,11329.5870,W,1,04,5.13,970.96,M,-19.817,M,,*73 $GPRMC,012532,A,5332.2684,N,11329.5870,W,0.0000,0.000,261106,,*37 $GPGSA,A,2,00,00,00,00,,,,,,,,,5.1,5.1,0.0*33 {"class":"TPV","tag":"ID8f20","mode":2,"time":"2006-11-26T01:25:32.000Z","ept":0.005,"lat":53.537806763,"lon":-113.493116691,"epx":21.594,"epy":14.695,"track":0.0000,"speed":0.000,"eps":43.19} $GPGSV,3,1,12,26,06,138,00,24,13,077,30,00,00,000,00,00,00,000,00*77 $GPGSV,3,2,12,06,77,230,26,29,15,126,26,02,16,080,35,21,35,258,26*73 $GPGSV,3,3,12,00,00,000,00,30,22,204,30,10,53,072,44,07,40,297,30*72 {"class":"SKY","tag":"ID5c","xdop":1.44,"ydop":0.98,"vdop":2.46,"tdop":1.35,"hdop":1.50,"gdop":3.19,"pdop":2.88,"satellites":[{"PRN":26,"el":6,"az":138,"ss":0,"used":false},{"PRN":24,"el":13,"az":77,"ss":30,"used":true},{"PRN":6,"el":77,"az":230,"ss":26,"used":false},{"PRN":29,"el":15,"az":126,"ss":26,"used":false},{"PRN":2,"el":16,"az":80,"ss":35,"used":true},{"PRN":21,"el":35,"az":258,"ss":26,"used":false}]} $GPGSV,3,1,12,26,06,138,00,24,13,077,30,00,00,000,00,00,00,000,00*77 $GPGSV,3,2,12,06,77,230,26,29,15,126,26,02,16,080,37,21,35,258,26*71 $GPGSV,3,3,12,00,00,000,00,30,22,204,26,10,53,072,44,07,40,297,30*75 {"class":"SKY","tag":"ID5c","xdop":1.44,"ydop":0.98,"vdop":0.07,"tdop":5.53,"hdop":20.19,"gdop":20.93,"pdop":20.19,"satellites":[{"PRN":26,"el":6,"az":138,"ss":0,"used":false},{"PRN":24,"el":13,"az":77,"ss":30,"used":true},{"PRN":6,"el":77,"az":230,"ss":26,"used":false},{"PRN":29,"el":15,"az":126,"ss":26,"used":false},{"PRN":2,"el":16,"az":80,"ss":37,"used":true},{"PRN":21,"el":35,"az":258,"ss":26,"used":false}]} $GPGSV,3,1,12,26,06,138,00,24,13,077,30,00,00,000,00,00,00,000,00*77 $GPGSV,3,2,12,06,77,229,26,29,15,126,26,02,16,080,37,21,35,258,26*79 $GPGSV,3,3,12,00,00,000,00,30,22,204,26,10,53,072,43,07,40,297,26*75 {"class":"SKY","tag":"ID5c","xdop":1.44,"ydop":0.98,"vdop":1.01,"tdop":6.33,"hdop":30.52,"gdop":31.19,"pdop":30.54,"satellites":[{"PRN":26,"el":6,"az":138,"ss":0,"used":false},{"PRN":24,"el":13,"az":77,"ss":30,"used":true},{"PRN":6,"el":77,"az":229,"ss":26,"used":false},{"PRN":29,"el":15,"az":126,"ss":26,"used":false},{"PRN":2,"el":16,"az":80,"ss":37,"used":true},{"PRN":21,"el":35,"az":258,"ss":26,"used":false}]} $GPGSV,3,1,12,26,06,138,00,24,13,077,30,00,00,000,00,00,00,000,00*77 $GPGSV,3,2,12,06,77,229,26,29,15,126,26,02,16,080,37,21,35,258,29*76 $GPGSV,3,3,12,00,00,000,00,30,21,204,26,10,53,072,43,07,40,297,26*76 {"class":"SKY","tag":"ID5c","xdop":1.44,"ydop":0.98,"vdop":1.01,"tdop":6.37,"hdop":30.52,"gdop":31.20,"pdop":30.54,"satellites":[{"PRN":26,"el":6,"az":138,"ss":0,"used":false},{"PRN":24,"el":13,"az":77,"ss":30,"used":true},{"PRN":6,"el":77,"az":229,"ss":26,"used":false},{"PRN":29,"el":15,"az":126,"ss":26,"used":false},{"PRN":2,"el":16,"az":80,"ss":37,"used":true},{"PRN":21,"el":35,"az":258,"ss":29,"used":false}]} $GPGSV,3,1,12,26,06,138,00,24,13,077,30,00,00,000,00,00,00,000,00*77 $GPGSV,3,2,12,06,77,229,26,29,15,126,26,02,16,080,37,21,35,258,29*76 $GPGSV,3,3,12,00,00,000,00,30,21,204,26,10,53,072,42,07,40,297,26*77 {"class":"SKY","tag":"ID5c","xdop":1.44,"ydop":0.98,"vdop":1.01,"tdop":6.41,"hdop":30.52,"gdop":31.20,"pdop":30.54,"satellites":[{"PRN":26,"el":6,"az":138,"ss":0,"used":false},{"PRN":24,"el":13,"az":77,"ss":30,"used":true},{"PRN":6,"el":77,"az":229,"ss":26,"used":false},{"PRN":29,"el":15,"az":126,"ss":26,"used":false},{"PRN":2,"el":16,"az":80,"ss":37,"used":true},{"PRN":21,"el":35,"az":258,"ss":29,"used":false}]} $GPGSV,3,1,12,26,06,138,00,24,13,077,31,00,00,000,00,00,00,000,00*76 $GPGSV,3,2,12,06,77,229,26,29,15,126,26,02,16,080,37,21,36,258,29*75 $GPGSV,3,3,12,00,00,000,00,30,21,204,26,10,53,072,42,07,41,297,26*76 {"class":"SKY","tag":"ID5c","xdop":1.44,"ydop":0.98,"vdop":1.01,"tdop":6.48,"hdop":30.51,"gdop":31.21,"pdop":30.53,"satellites":[{"PRN":26,"el":6,"az":138,"ss":0,"used":false},{"PRN":24,"el":13,"az":77,"ss":31,"used":true},{"PRN":6,"el":77,"az":229,"ss":26,"used":false},{"PRN":29,"el":15,"az":126,"ss":26,"used":false},{"PRN":2,"el":16,"az":80,"ss":37,"used":true},{"PRN":21,"el":36,"az":258,"ss":29,"used":false}]} $GPGSV,3,1,12,26,06,138,00,24,13,077,31,00,00,000,00,00,00,000,00*76 $GPGSV,3,2,12,06,77,228,26,29,15,126,26,02,16,080,37,21,36,258,29*74 $GPGSV,3,3,12,00,00,000,00,30,21,204,26,10,53,071,42,07,41,297,26*75 {"class":"SKY","tag":"ID5c","xdop":1.44,"ydop":0.98,"vdop":1.01,"tdop":6.52,"hdop":30.51,"gdop":31.22,"pdop":30.53,"satellites":[{"PRN":26,"el":6,"az":138,"ss":0,"used":false},{"PRN":24,"el":13,"az":77,"ss":31,"used":true},{"PRN":6,"el":77,"az":228,"ss":26,"used":false},{"PRN":29,"el":15,"az":126,"ss":26,"used":false},{"PRN":2,"el":16,"az":80,"ss":37,"used":true},{"PRN":21,"el":36,"az":258,"ss":29,"used":false}]} gpsd-3.9/test/daemon/triton400.log0000600000175000017500000000374512135742077015167 0ustar esresr# Name: Magellan Triton 400 # Chipset: SirfStar III # Firmware: GSW3.2.4 # Date: 2013-03-31 # Submitter: = James Gerlach # Location: Wellington, FL, USA, 26d39mN 80d15mW # Note: There's a malformed unterminated GGA packet on line 12 $GPGSV,3,1,11,08,75,303,44,07,66,172,51,11,51,055,36,28,39,325,36*76 $GPGSV,3,2,11,17,31,254,51,26,13,295,51,09,12,322,36,19,12,046,51*76 $GPGSV,3,3,11,20,09,138,36,13,04,183,51,32,03,113,44,,,,*44 $GPGLL,2638.1726,N,08011.3892,W,030129.000,A,A*47 $GPGGA,030129.00,2638.1726,N,08011.3892,W,1,06,1.5,00016,M,-0028,M,,*50 $GPRMC,030129.0,A,2638.1726,N,08011.3892,W,0.00,219.6,010413,,*26 $GPGSA,A,3,08,07,11,28,17,26,,,,,,,02.6,01.5,02.1*06 $GPGSV,3,1,11,08,75,303,44,07,66,172,51,11,51,055,36,28,39,325,36*76 $GPGSV,3,2,11,17,31,254,51,26,13,295,51,09,12,322,36,19,12,046,51*76 $GPGSV,3,3,11,20,09,138,36,13,04,183,51,32,03,113,44,,,,*44 $GPGLL,2638.1727,N,08011.3892,W,030130.000,A,A*4E $GPGGA,030130$GPGLL,2638.1728,N,08011.3893,W,030131.000,A,A*41 $GPGGA,030131.00,2638.1728,N,08011.3893,W,1,06,1.5,00016,M,-0028,M,,*56 $GPRMC,030131.0,A,2638.1728,N,08011.3893,W,0.00,219.6,010413,,*20 $GPGSA,A,3,08,07,11,28,17,26,,,,,,,02.6,01.5,02.1*06 $GPGSV,3,1,11,08,75,303,44,07,66,172,51,11,51,055,36,28,39,325,36*76 $GPGSV,3,2,11,17,31,254,51,26,13,295,51,09,12,322,36,19,12,046,51*76 $GPGSV,3,3,11,20,09,138,36,13,04,183,51,32,03,113,44,,,,*44 $GPGLL,2638.1750,N,08011.3902,W,030132.000,A,A*44 $GPGGA,030132.00,2638.1750,N,08011.3902,W,1,06,1.5,00019,M,-0028,M,,*5C $GPRMC,030132.0,A,2638.1750,N,08011.3902,W,0.00,219.6,010413,,*25 $GPGSA,A,3,08,07,11,28,17,26,,,,,,,02.6,01.5,02.1*06 $GPGSV,3,1,11,08,75,303,44,07,66,172,51,11,51,055,36,28,39,325,36*76 $GPGSV,3,2,11,17,31,254,51,26,13,295,51,09,12,322,36,19,12,046,36*77 $GPGSV,3,3,11,20,09,138,36,13,04,183,51,32,03,113,44,,,,*44 $GPGLL,2638.1753,N,08011.3903,W,030133.000,A,A*47 $GPGGA,030133.00,2638.1753,N,08011.3903,W,1,06,1.5,00020,M,-0028,M,,*55 $GPRMC,030133.0,A,2638.1753,N,08011.3903,W,0.00,219.6,010413,,*26 gpsd-3.9/test/daemon/triton400.log.chk0000664000175000017500000001362412135526451015736 0ustar esresr$GPGSV,3,1,11,08,75,303,44,07,66,172,51,11,51,055,36,28,39,325,36*76 $GPGSV,3,2,11,17,31,254,51,26,13,295,51,09,12,322,36,19,12,046,51*76 $GPGSV,3,3,11,20,09,138,36,13,04,183,51,32,03,113,44,,,,*44 {"class":"SKY","tag":"GSV","satellites":[{"PRN":8,"el":75,"az":303,"ss":44,"used":false},{"PRN":7,"el":66,"az":172,"ss":51,"used":false},{"PRN":11,"el":51,"az":55,"ss":36,"used":false},{"PRN":28,"el":39,"az":325,"ss":36,"used":false},{"PRN":17,"el":31,"az":254,"ss":51,"used":false},{"PRN":26,"el":13,"az":295,"ss":51,"used":false},{"PRN":9,"el":12,"az":322,"ss":36,"used":false},{"PRN":19,"el":12,"az":46,"ss":51,"used":false},{"PRN":20,"el":9,"az":138,"ss":36,"used":false},{"PRN":13,"el":4,"az":183,"ss":51,"used":false},{"PRN":32,"el":3,"az":113,"ss":44,"used":false}]} $GPGLL,2638.1726,N,08011.3892,W,030129.000,A,A*47 {"class":"TPV","tag":"GLL","mode":2,"lat":26.636210000,"lon":-80.189820000} $GPGGA,030129.00,2638.1726,N,08011.3892,W,1,06,1.5,00016,M,-0028,M,,*50 {"class":"TPV","tag":"GGA","mode":3,"lat":26.636210000,"lon":-80.189820000,"alt":16.000} $GPRMC,030129.0,A,2638.1726,N,08011.3892,W,0.00,219.6,010413,,*26 {"class":"TPV","tag":"RMC","mode":3,"time":"2013-04-01T03:01:29.000Z","ept":0.005,"lat":26.636210000,"lon":-80.189820000,"alt":16.000,"track":219.6000,"speed":0.000} $GPGSA,A,3,08,07,11,28,17,26,,,,,,,02.6,01.5,02.1*06 {"class":"TPV","tag":"GSA","mode":3,"time":"2013-04-01T03:01:29.000Z","ept":0.005,"lat":26.636210000,"lon":-80.189820000,"alt":16.000,"epv":48.300,"track":219.6000,"speed":0.000,"climb":0.000} $GPGSV,3,1,11,08,75,303,44,07,66,172,51,11,51,055,36,28,39,325,36*76 $GPGSV,3,2,11,17,31,254,51,26,13,295,51,09,12,322,36,19,12,046,51*76 $GPGSV,3,3,11,20,09,138,36,13,04,183,51,32,03,113,44,,,,*44 {"class":"SKY","tag":"GSV","xdop":1.31,"ydop":1.26,"vdop":2.10,"tdop":2.26,"hdop":1.50,"gdop":3.96,"pdop":2.60,"satellites":[{"PRN":8,"el":75,"az":303,"ss":44,"used":true},{"PRN":7,"el":66,"az":172,"ss":51,"used":true},{"PRN":11,"el":51,"az":55,"ss":36,"used":true},{"PRN":28,"el":39,"az":325,"ss":36,"used":true},{"PRN":17,"el":31,"az":254,"ss":51,"used":true},{"PRN":26,"el":13,"az":295,"ss":51,"used":true},{"PRN":9,"el":12,"az":322,"ss":36,"used":false},{"PRN":19,"el":12,"az":46,"ss":51,"used":false},{"PRN":20,"el":9,"az":138,"ss":36,"used":false},{"PRN":13,"el":4,"az":183,"ss":51,"used":false},{"PRN":32,"el":3,"az":113,"ss":44,"used":false}]} $GPGLL,2638.1727,N,08011.3892,W,030130.000,A,A*4E $GPGLL,2638.1728,N,08011.3893,W,030131.000,A,A*41 {"class":"TPV","tag":"GLL","mode":2,"time":"2013-04-01T03:01:31.000Z","ept":0.005,"lat":26.636213333,"lon":-80.189821667,"epx":19.621,"epy":18.879,"speed":0.248,"eps":39.24} $GPGGA,030131.00,2638.1728,N,08011.3893,W,1,06,1.5,00016,M,-0028,M,,*56 $GPRMC,030131.0,A,2638.1728,N,08011.3893,W,0.00,219.6,010413,,*20 {"class":"TPV","tag":"RMC","mode":3,"time":"2013-04-01T03:01:31.000Z","ept":0.005,"lat":26.636213333,"lon":-80.189821667,"alt":16.000,"epx":19.621,"epy":18.879,"epv":48.300,"track":219.6000,"speed":0.000,"climb":0.000,"eps":39.24} $GPGSA,A,3,08,07,11,28,17,26,,,,,,,02.6,01.5,02.1*06 $GPGSV,3,1,11,08,75,303,44,07,66,172,51,11,51,055,36,28,39,325,36*76 $GPGSV,3,2,11,17,31,254,51,26,13,295,51,09,12,322,36,19,12,046,51*76 $GPGSV,3,3,11,20,09,138,36,13,04,183,51,32,03,113,44,,,,*44 {"class":"SKY","tag":"GSV","xdop":1.31,"ydop":1.26,"vdop":2.10,"tdop":2.26,"hdop":1.50,"gdop":3.96,"pdop":2.60,"satellites":[{"PRN":8,"el":75,"az":303,"ss":44,"used":true},{"PRN":7,"el":66,"az":172,"ss":51,"used":true},{"PRN":11,"el":51,"az":55,"ss":36,"used":true},{"PRN":28,"el":39,"az":325,"ss":36,"used":true},{"PRN":17,"el":31,"az":254,"ss":51,"used":true},{"PRN":26,"el":13,"az":295,"ss":51,"used":true},{"PRN":9,"el":12,"az":322,"ss":36,"used":false},{"PRN":19,"el":12,"az":46,"ss":51,"used":false},{"PRN":20,"el":9,"az":138,"ss":36,"used":false},{"PRN":13,"el":4,"az":183,"ss":51,"used":false},{"PRN":32,"el":3,"az":113,"ss":44,"used":false}]} $GPGLL,2638.1750,N,08011.3902,W,030132.000,A,A*44 {"class":"TPV","tag":"GLL","mode":2,"time":"2013-04-01T03:01:32.000Z","ept":0.005,"lat":26.636250000,"lon":-80.189836667,"epx":19.621,"epy":18.879,"speed":4.328,"eps":39.24} $GPGGA,030132.00,2638.1750,N,08011.3902,W,1,06,1.5,00019,M,-0028,M,,*5C $GPRMC,030132.0,A,2638.1750,N,08011.3902,W,0.00,219.6,010413,,*25 {"class":"TPV","tag":"RMC","mode":3,"time":"2013-04-01T03:01:32.000Z","ept":0.005,"lat":26.636250000,"lon":-80.189836667,"alt":19.000,"epx":19.621,"epy":18.879,"epv":48.300,"track":219.6000,"speed":0.000,"climb":0.000,"eps":39.24} $GPGSA,A,3,08,07,11,28,17,26,,,,,,,02.6,01.5,02.1*06 $GPGSV,3,1,11,08,75,303,44,07,66,172,51,11,51,055,36,28,39,325,36*76 $GPGSV,3,2,11,17,31,254,51,26,13,295,51,09,12,322,36,19,12,046,36*77 $GPGSV,3,3,11,20,09,138,36,13,04,183,51,32,03,113,44,,,,*44 {"class":"SKY","tag":"GSV","xdop":1.31,"ydop":1.26,"vdop":2.10,"tdop":2.26,"hdop":1.50,"gdop":3.96,"pdop":2.60,"satellites":[{"PRN":8,"el":75,"az":303,"ss":44,"used":true},{"PRN":7,"el":66,"az":172,"ss":51,"used":true},{"PRN":11,"el":51,"az":55,"ss":36,"used":true},{"PRN":28,"el":39,"az":325,"ss":36,"used":true},{"PRN":17,"el":31,"az":254,"ss":51,"used":true},{"PRN":26,"el":13,"az":295,"ss":51,"used":true},{"PRN":9,"el":12,"az":322,"ss":36,"used":false},{"PRN":19,"el":12,"az":46,"ss":36,"used":false},{"PRN":20,"el":9,"az":138,"ss":36,"used":false},{"PRN":13,"el":4,"az":183,"ss":51,"used":false},{"PRN":32,"el":3,"az":113,"ss":44,"used":false}]} $GPGLL,2638.1753,N,08011.3903,W,030133.000,A,A*47 {"class":"TPV","tag":"GLL","mode":2,"time":"2013-04-01T03:01:33.000Z","ept":0.005,"lat":26.636255000,"lon":-80.189838333,"epx":19.621,"epy":18.879,"speed":0.578,"eps":39.24} $GPGGA,030133.00,2638.1753,N,08011.3903,W,1,06,1.5,00020,M,-0028,M,,*55 $GPRMC,030133.0,A,2638.1753,N,08011.3903,W,0.00,219.6,010413,,*26 {"class":"TPV","tag":"RMC","mode":3,"time":"2013-04-01T03:01:33.000Z","ept":0.005,"lat":26.636255000,"lon":-80.189838333,"alt":20.000,"epx":19.621,"epy":18.879,"epv":48.300,"track":219.6000,"speed":0.000,"climb":0.000,"eps":39.24} gpsd-3.9/test/daemon/uBlox-aek-4t.log0000664000175000017500000003460511762140440015600 0ustar esresr# Name: Antaris 4 Timing Evaluation Kit (AEK-4T) # Chipset: Antaris 4 # Submitter: Chris Kuethe # Date: 2007-12-23 # Location: Playa del Carmen, Mexico. 20.63N/87.07W # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # µbu-blox ag - www.u-blox.com#<µbANTARIS ATR062x HW 00040001®ëµb+EXT CORE 5.00 May 11 2006 14:40:17äµb+INT EXT0 (RCV) M4T1.2 May 11 2006 14:40:17Õ{µbLIC 85E7-6E21-710B-0272-42DC'&µb BIST: passed µbANTSUPERV=AC SD PDoS ñ̵b ANTSTATUS=OK°“µbÈú³ÀjÀX‡o™A…c+¯i\sA,@E ‚3!|ۜA<µdŠ*÷uA]Ú*Ä!X”ÞVA—4hUvA«ìyÄ2šé«< žA”q;:E‹vAž*Ä(1hC›\âA™Ò[ÜB¿vA¥T®Ä )WWøXAyY?ÔOvA!é'E)©1âpŒÏ§A)æë÷Æ‚A˜;vD‡-ØÛWËãsA—8(E†”µb HáùæS³8µb :ú³3_ãÎòpY2_LÔñ_júòqÙ2p461¥ÿ_?ûò q®2 p 2 _­Œò pÉ2 _Ýò_×äòpC2_Gôò_Žàòpÿ2_IŸò_vŒò_6ò_îøò_Ãò_X,ò_íòptB1_'ôò_fÙòϛ7òqê2_áò Ïäåòx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡vû!Dˆ¥ÿ‰¥ÿŠ_â9ôZàµb4úœüÿÿ³Ÿ#ÒÓsÜÕ]O H Íʵbú$…ȧ˜E3–µbúŸ„F欄µb úœüÿÿ³»ëµb!ú[ºðÿ×  £˜µb"ú$Áðÿýÿÿ\ µb0Èú Bt C¢üÿÿ,XYüüÿÿ2êŽýÿÿ(ÙR )ÉÅ)ÿ›  6 ‡-!ûÃùÿÿ 64 ® z÷õb1žú?B0.   ‡ z •^µb2Žú‡Âÿ'ðÿ-Q òÿ[Âÿ ‡ ìÿՏ'— zÿ®œµb* ‡ÿŸ šÿÀÿ_Àìýÿü_y–@š—ã—Ê€jüᬀµbÈöú³À&›‡fo™AÁH±P\sA-E ‚?¹±†ÛœAZÂ6Ž2÷uAö’+Ä !tÜ4îVAvL#UvAÔCzÄ2šÕï➝A)Í"±R‹vA±9Ä(1È?irâAŸ„rpS¿vA¥œ®Ä )W£ %.A†ã/vA’Ñ'E)©ƒïŸ„ϧAš}øÁ‚AŒ=vD‡-èQ|ßkãsA— (Eõ/µb 0åùµ³£µb :öú³3_ãÎòpY2_LÔñ_júòqÙ2p461¥ÿ_?ûò q®2 p 2 _­Œò pÉ2 _Ýò_×äòpC2_Gôò_Žàòpÿ2_IŸò_vŒò_6ò_îøò_Ãò_X,ò_íòptB1_'ôò_fÙòϛ7òqê2_áò Ïäåòx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡vû!Dˆ¥ÿ‰¥ÿŠ_â9ôEµb4÷úÿÿÿ³Ÿ#ÒÓsÜÔ]O H .€µb÷ú$…ǧ˜Eµb÷úŸ„Föé‚Úµb ÷úÿÿÿ³µb!÷úÎŒðÿ×  mµb"÷ú±Ÿðÿýÿÿ\Œµb0È÷ú Bt CŽüÿÿ,X Yâüÿÿ2ê¹ýÿÿ(Ù )ÉÀ)ÿž  6 ‡-!ûÆùÿÿ 64 ® z÷Õðµb1ž÷ú?B   ‡ z "µb2Ž÷ú‡Àÿðÿ'îÿ-Q [Àÿ ‡ èÿՏ— zÿp€µb* ‡ÿŸÆÿùÿßÿõÿÁ?üøÿÿ¹•ÿa9—»üŠó…äå,¡µbÈÞú³ÀÞ#ºEo™Ab²7\sAòSE!‚ß]b‘ÛœA€ „æ:÷uA|Ö*Ä!!@ÕÖýVAª×)0/UvA"zÄ2šBŠ/žA,“K`‹vA4/Ä(1Lö7ˆâAÑï# d¿vAäy®Ä )W×x1Ac‘tøvAœÐ'E)©ûH }ϧAŠm¡?»‚A ÏuD‡-ЎŽLãsA—\(EZ̵b éùVŽÿÿ³ߢµb :Þú³3_ãÎòpY2_LÔñ_júòqÙ2p461¥ÿ_?ûò q®2 p 2 _­Œò pÉ2 _Ýò_×äòpC2_Gôò_Žàòpÿ2_IŸò_vŒò_6ò_îøò_Ãò_X,ò_íòptB1_'ôò_fÙòϛ7òqê2_áò Ïäåòx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡vû!Dˆ¥ÿ‰¥ÿŠ_â9ô1µb4ßú³Ÿ$ÒÓsÜÒ]O H ‘µbßú$…ǧ˜E ¥µbßúŸ„FÞíZBµb ßú³~Zµb!ßú@¿ðÿ×  fTµb"ßú?ŒðÿŽýÿÿ\Aµb0Èßú Bt!CÁüÿÿ,X!Yƒüÿÿ2êÅýÿÿ(Ù2 )ɹ)ÿd  6 ‡-!ûÕùÿÿ 64 ® z÷_Àµb1žßú?Bt   ‡ z ‚©µb2Žßú‡ßÿîÿ'ìÿ-Q [ßÿ ‡ äÿՏ— zÿ’µb* ‡7hfS Àÿý€ÿ€fQF§ÑÌé.èµbÈÆú³Àrí$o™AË º\sA€&E ‚ÀœÛœAåýûC÷uA Î*Ä !,’w WA|ñ!;UvAhzÄ2š)Ÿ/AžAŒˆì–m‹vA¶/Ä(1फ़âAF žŠt¿vA«®Ä *WF=ڝAO{Ú ðvAÞç'E*©c×ZuϧA~2Ydµ‚AèEvD‡,dK‡:,ãsA—^(E–rµb íùE ³Iµb :Æú³3_ãÎòpY2_LÔñ_júòqÙ2p461¥ÿ_?ûò q®2 p 2 _­Œò pÉ2 _Ýò_×äòpC2_Gôò_Žàòpÿ2_IŸò_vŒò_6ò_îøò_Ãò_X,ò_íòptB1_'ôò_fÙòϛ7òqê2_áò Ïäåòx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡vû!Dˆ¥ÿ‰¥ÿŠ_â9ôµb4Çúô³Ÿ$ÒÓsÜÑ]O H ïKµbÇú$…ȧ˜EöAµbÇúŸ„FÆñ2ªµb Çúô³ߐµb!Çú³Áðÿ×  È<µb"Çú̹ðÿýÿÿ\zDµb0ÈÇú Bt CÈüÿÿ,X YFüÿÿ2êÈýÿÿ(Ùñÿÿÿ *É *ÿK  6 ‡,!ûØùÿÿ 64 ® z÷€–µb1žÇú?Bt   ‡ z nEµb2ŽÇú‡áÿìÿ'êÿ-Q [áÿ ‡ àÿՏ— zÿzÀµb* ‡= ršÁî-Qþå ,ܝX!ã?ð€óoχï–Ží8+µbÈ®#ú³Àڐ!o™AËrº\sA:E‚ËôÁŠÛœAxxÊ>K÷uAÎ)+Ä !sWAםøFUvAÊ zÄ2šUkÓRžAž{‹vA2Ä'1|Ï³âAÙB<…¿vAr®Ä )WI°AÖÛŠ#ÐvA]Î'E)©ï¶§mϧAڌꈯ‚AJðuD‡-ŽÃŒ ãsA—8(Euµb èðùbºÿÿ³ȕµb :®#ú³3_ãÎòpY2_LÔñ_júòqÙ2p461¥ÿ_?ûò q®2 p 2 _­Œò pÉ2 _Ýò_×äòpC2_Gôò_Žàòpÿ2_IŸò_vŒò_6ò_îøò_Ãò_X,ò_íòptB1_'ôò_fÙòϛ7òqê2_áò Ïäåòx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡vû!Dˆ¥ÿ‰¥ÿŠ_â9ô wµb4¯#úf³Ÿ%ÒÓsÜÐ]O H QPµb¯#ú$…ǧ˜Eá͵b¯#úŸ„F®õ µb ¯#úf³@ŵb!¯#ú&Äðÿ×  +/µb"¯#úZ·ðÿýÿÿ]óvµb0ȯ#ú BtCýÿÿ,X Yüÿÿ2êÜýÿÿ'Ù )Éš)ÿ/  6 ‡-!ûÖùÿÿ 64 ® †÷Çcµb1ž¯#ú?B   ‡ † òiµb2ޝ#ú‡ãÿêÿ'èÿ-Q [ãÿ ‡ ÜÿՏ— †ÿnôµb*Ì‹ÿª.8f5°æ²fn€ÿ¡”úÿ%Ç |§µb*Ì‹ÿª.•6#é5›2eôŒŠx¡×U |¡©µb*Ì‹ÿª.†úTe¿0•˜æÿQûÿY/N¡x;‡ žºµb*Ì‹ÿª.sùhx(2{.núÿÎ\Z¡Ágj sÕµb* Ì‹ÿª.û4ޙ.ž¿GÝûÿ&ÿ¡1¬ | fµb*Ì‹ÿª.¯Pxî0žŠÿÏÆ÷‹ÿ¡§Ã? |ýµb* ‡ÿÿÆüÿ Á©—œñD µbȖ'ú³ÀÒZãn™A?ÜÐŽì[sA.,E‚7æs±ÛœA”aÕqS÷uA4Š+Ä!ŽO¹,WAú¹_ÞRUvA±zÄ2š•xdžA‘Ëðiˆ‹vA# Ä'14ž›ÉâA0L֕¿vAn`®Ä )W«cW†ATém1°vAkÅ'E(©i¢õeϧAom­©‚AŒovD‡,Ö4ÍìâsA(Eý%µb ÐôùY³ƒµb :–'ú³3_ãÎòpY2_LÔñ_júòqÙ2p461¥ÿ_?ûò q®2 p 2 _­Œò pÉ2 _Ýò_×äòpC2_Gôò_Žàòpÿ2_IŸò_vŒò_6ò_îøò_Ãò_X,ò_íòptB1_'ôò_fÙòϛ7òqê2_áò Ïäåòx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡vû!Dˆ¥ÿ‰¥ÿŠ_â9ôõëµb4—'úÙ³Ÿ%ÒÓsÜÎ]O H °êµb—'ú$…ǧ˜EÍaµb—'úŸ„F–ùâzµb —'úÙ³¡ûµb!—'ú˜Æðÿ×  Œ µb"—'úçŽðÿýÿÿ]i…µb0ȗ'ú BtCqýÿÿ,XY·ûÿÿ2êÝýÿÿ'Ù( )ɒ(ÿJ  6 ‡,!ûÔùÿÿ 64 ® †÷صb1ž—'ú?B   ‡ † Þµb2Ž—'ú‡åÿèÿ'æÿ-Q [åÿ ‡ ×ÿՏ— †ÿUnµb* ‡ñ¿SüßÿÿÿýŸðÿýßÿ—;þßÿÿ3»vÝÿ„õеbÈ~+ú³ÀŽ:’Ân™A¹qžÓ[sAÀÝE‚;Ÿ%ŒÛœA?è «[÷uAiÅ*Ä!ì€ZÄ'1àl3õâAÂïÊ ·¿vAA®Ä *W;Žx2A\JLpvA7»'E'©¯0’VϧA\þÂø‚AUÇuD‡,ïz£K­âsAÄY(Eµb  üùR³àµb :f/ú³3_ãÎòpY2_LÔñ_júòqÙ2p461¥ÿ_?ûò q®2 p 2 _­Œò pÉ2 _Ýò_×äòpC2_Gôò_Žàòpÿ2_IŸò_vŒò_6ò_îøò_Ãò_X,ò_íòptB1_'ôò_fÙòϛ7òqê2_áò Ïäåòx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡vû!Dˆ¥ÿ‰¥ÿŠ_â9ôÍÓµb4g/úŸ ³Ÿ'ÒÓsÜÌ]O H sѵbg/ú$…ȧ˜EŠ‘µbg/úŸ„F[ˆ µb g/úŸ ³cfµb!g/ú~Ëðÿ×  Qæµb"g/ú°ðÿŽýÿÿ]Yݵb0Èg/ú BtCŒÿÿÿ,XYúÿÿ2ê’ýÿÿ'Ùl *Ʌ'ÿš  6 ‡,!ûÍùÿÿ 64 ® †÷Ωµb1žg/ú?B   ‡ † ̓µb2Žg/ú‡éÿ'.Q ýÿ[éÿ ‡ œÿՏ— †ÿT;µb* ‡ÿŸ Æÿý?ÿßÿñÿÅüôÿÿ¹•û¿a9—»Ÿoû…TýbTµbÈN3ú³a;h0¡[sA¥E]Šú l÷uA¢+Ä! Ú£[WAÐ¬švUvA?zÄ2šáîh™žAŽÝa¬°‹vA@*Ä'1Šÿ ãAаAžÇ¿vAw®Ä *WcȋAî¯Ç\PvASš'E'©+áNϧAìÓ˜‚A¯èuD‡-Œî÷}âsAŽ(EÎyµb ˆú?Ìÿÿ³hùµb :N3ú³3_ãÎòpY2_LÔñ_júòqÙ2p461¥ÿ_?ûò q®2 p 2 _­Œò pÉ2 _Ýò_×äòpC2_Gôò_Žàòpÿ2_IŸò_vŒò_6ò_îøò_Ãò_X,ò_íòptB1_'ôò_fÙòϛ7òqê2_áò Ïäåòx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡vû!Dˆ¥ÿ‰¥ÿŠ_â9ô¹Gµb4O3ú1³Ÿ'ÒÓsÜË]O H ÕÖµbO3ú$…ǧ˜E‘µbO3úŸ„FNk޵b O3ú1³ŧµb!O3úðÍðÿ×  ²Âµb"O3ú­ðÿŽýÿÿ]Ïìµb0ÈO3ú BtCþ,XY—úÿÿ2êýÿÿ'Ù\ *ɟ'ÿÝ  6 ‡-!ûÐùÿÿ 64 ® †÷‡–µb1žO3ú?B   ‡ † ¢Ùµb2ŽO3ú‡Ëÿ'.Q ûÿ[Ëÿ ‡ ¶ÿՏ— †ÿ#µb* ‡·fS`ï€ü€zQ*M”<äGµbÈ67ú³)·uè‡[sAÜôE¡U>t÷uA~ +Ä!”ìIkWA¬}„‚UvA # Date: 2006-12-11 # Location: İzmir, TR, 38N27E # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # $GPZDA,175503.00,11,12,2006,00,00*64 $GPRMC,175504.00,A,3825.60966,N,02708.53787,E,0.142,113.02,111206,,,A*6F $GPVTG,113.02,T,,M,0.142,N,0.263,K,A*3C $GPGGA,175504.00,3825.60966,N,02708.53787,E,1,07,1.24,58.1,M,37.7,M,,*61 $GPGSA,A,3,19,11,25,14,01,31,22,,,,,,1.99,1.24,1.55*0C $GPGSV,3,1,10,19,62,212,26,11,40,306,25,03,35,184,,20,16,253,*7C $GPGSV,3,2,10,28,05,310,,25,06,146,43,14,54,071,44,01,53,162,44*71 $GPGSV,3,3,10,31,05,137,41,22,28,055,35*73 $GPGLL,3825.60966,N,02708.53787,E,175504.00,A,A*6B $GPZDA,175504.00,11,12,2006,00,00*63 $GPRMC,175505.00,A,3825.60968,N,02708.53789,E,0.106,112.88,111206,,,A*6D $GPVTG,112.88,T,,M,0.106,N,0.196,K,A*36 $GPGGA,175505.00,3825.60968,N,02708.53789,E,1,07,1.24,58.1,M,37.7,M,,*60 $GPGSA,A,3,19,11,25,14,01,31,22,,,,,,1.99,1.24,1.55*0C $GPGSV,3,1,10,19,62,212,26,11,40,306,24,03,35,184,,20,16,253,*7D $GPGSV,3,2,10,28,05,310,,25,06,146,43,14,54,071,44,01,53,162,44*71 $GPGSV,3,3,10,31,05,137,41,22,28,055,36*70 $GPGLL,3825.60968,N,02708.53789,E,175505.00,A,A*6A $GPZDA,175505.00,11,12,2006,00,00*62 $GPRMC,175506.00,A,3825.60969,N,02708.53794,E,0.074,112.93,111206,,,A*6D $GPVTG,112.93,T,,M,0.074,N,0.137,K,A*33 $GPGGA,175506.00,3825.60969,N,02708.53794,E,1,07,1.24,58.2,M,37.7,M,,*6D $GPGSA,A,3,19,11,25,14,01,31,22,,,,,,1.99,1.24,1.55*0C $GPGSV,3,1,10,19,62,212,27,11,40,306,22,03,35,184,,20,16,253,*7A $GPGSV,3,2,10,28,05,310,,25,06,146,43,14,54,071,44,01,53,162,44*71 $GPGSV,3,3,10,31,05,137,42,22,28,055,36*73 $GPGLL,3825.60969,N,02708.53794,E,175506.00,A,A*64 gpsd-3.9/test/daemon/uBlox-lea-4s.log.chk0000664000175000017500000001063412135526456016352 0ustar esresr$GPZDA,175503.00,11,12,2006,00,00*64 $GPRMC,175504.00,A,3825.60966,N,02708.53787,E,0.142,113.02,111206,,,A*6F {"class":"TPV","tag":"RMC","mode":2,"time":"2006-12-11T17:55:04.000Z","ept":0.005,"lat":38.426827667,"lon":27.142297833,"track":113.0200,"speed":0.073} $GPVTG,113.02,T,,M,0.142,N,0.263,K,A*3C $GPGGA,175504.00,3825.60966,N,02708.53787,E,1,07,1.24,58.1,M,37.7,M,,*61 {"class":"TPV","tag":"GGA","mode":3,"time":"2006-12-11T17:55:04.000Z","ept":0.005,"lat":38.426827667,"lon":27.142297833,"alt":58.100,"track":113.0200,"speed":0.073} $GPGSA,A,3,19,11,25,14,01,31,22,,,,,,1.99,1.24,1.55*0C {"class":"TPV","tag":"GSA","mode":3,"time":"2006-12-11T17:55:04.000Z","ept":0.005,"lat":38.426827667,"lon":27.142297833,"alt":58.100,"epv":35.650,"track":113.0200,"speed":0.073,"climb":0.000} $GPGSV,3,1,10,19,62,212,26,11,40,306,25,03,35,184,,20,16,253,*7C $GPGSV,3,2,10,28,05,310,,25,06,146,43,14,54,071,44,01,53,162,44*71 $GPGSV,3,3,10,31,05,137,41,22,28,055,35*73 {"class":"SKY","tag":"GSV","xdop":0.78,"ydop":0.78,"vdop":1.55,"tdop":0.81,"hdop":1.24,"gdop":1.88,"pdop":1.99,"satellites":[{"PRN":19,"el":62,"az":212,"ss":26,"used":true},{"PRN":11,"el":40,"az":306,"ss":25,"used":true},{"PRN":3,"el":35,"az":184,"ss":0,"used":false},{"PRN":20,"el":16,"az":253,"ss":0,"used":false},{"PRN":28,"el":5,"az":310,"ss":0,"used":false},{"PRN":25,"el":6,"az":146,"ss":43,"used":true},{"PRN":14,"el":54,"az":71,"ss":44,"used":true},{"PRN":1,"el":53,"az":162,"ss":44,"used":true},{"PRN":31,"el":5,"az":137,"ss":41,"used":true},{"PRN":22,"el":28,"az":55,"ss":35,"used":true}]} $GPGLL,3825.60966,N,02708.53787,E,175504.00,A,A*6B {"class":"TPV","tag":"GLL","mode":3,"time":"2006-12-11T17:55:04.000Z","ept":0.005,"lat":38.426827667,"lon":27.142297833,"alt":58.100,"epx":11.706,"epy":11.682,"epv":35.650,"track":113.0200,"speed":0.073,"climb":0.000} $GPZDA,175504.00,11,12,2006,00,00*63 $GPRMC,175505.00,A,3825.60968,N,02708.53789,E,0.106,112.88,111206,,,A*6D $GPVTG,112.88,T,,M,0.106,N,0.196,K,A*36 $GPGGA,175505.00,3825.60968,N,02708.53789,E,1,07,1.24,58.1,M,37.7,M,,*60 $GPGSA,A,3,19,11,25,14,01,31,22,,,,,,1.99,1.24,1.55*0C $GPGSV,3,1,10,19,62,212,26,11,40,306,24,03,35,184,,20,16,253,*7D $GPGSV,3,2,10,28,05,310,,25,06,146,43,14,54,071,44,01,53,162,44*71 $GPGSV,3,3,10,31,05,137,41,22,28,055,36*70 {"class":"SKY","tag":"GSV","xdop":0.78,"ydop":0.78,"vdop":1.55,"tdop":0.81,"hdop":1.24,"gdop":1.88,"pdop":1.99,"satellites":[{"PRN":19,"el":62,"az":212,"ss":26,"used":true},{"PRN":11,"el":40,"az":306,"ss":24,"used":true},{"PRN":3,"el":35,"az":184,"ss":0,"used":false},{"PRN":20,"el":16,"az":253,"ss":0,"used":false},{"PRN":28,"el":5,"az":310,"ss":0,"used":false},{"PRN":25,"el":6,"az":146,"ss":43,"used":true},{"PRN":14,"el":54,"az":71,"ss":44,"used":true},{"PRN":1,"el":53,"az":162,"ss":44,"used":true},{"PRN":31,"el":5,"az":137,"ss":41,"used":true},{"PRN":22,"el":28,"az":55,"ss":36,"used":true}]} $GPGLL,3825.60968,N,02708.53789,E,175505.00,A,A*6A {"class":"TPV","tag":"GLL","mode":3,"time":"2006-12-11T17:55:05.000Z","ept":0.005,"lat":38.426828000,"lon":27.142298167,"alt":58.100,"epx":11.706,"epy":11.682,"epv":35.650,"track":112.8800,"speed":0.055,"climb":0.000,"eps":23.41} $GPZDA,175505.00,11,12,2006,00,00*62 $GPRMC,175506.00,A,3825.60969,N,02708.53794,E,0.074,112.93,111206,,,A*6D $GPVTG,112.93,T,,M,0.074,N,0.137,K,A*33 $GPGGA,175506.00,3825.60969,N,02708.53794,E,1,07,1.24,58.2,M,37.7,M,,*6D $GPGSA,A,3,19,11,25,14,01,31,22,,,,,,1.99,1.24,1.55*0C $GPGSV,3,1,10,19,62,212,27,11,40,306,22,03,35,184,,20,16,253,*7A $GPGSV,3,2,10,28,05,310,,25,06,146,43,14,54,071,44,01,53,162,44*71 $GPGSV,3,3,10,31,05,137,42,22,28,055,36*73 {"class":"SKY","tag":"GSV","xdop":0.78,"ydop":0.78,"vdop":1.55,"tdop":0.81,"hdop":1.24,"gdop":1.88,"pdop":1.99,"satellites":[{"PRN":19,"el":62,"az":212,"ss":27,"used":true},{"PRN":11,"el":40,"az":306,"ss":22,"used":true},{"PRN":3,"el":35,"az":184,"ss":0,"used":false},{"PRN":20,"el":16,"az":253,"ss":0,"used":false},{"PRN":28,"el":5,"az":310,"ss":0,"used":false},{"PRN":25,"el":6,"az":146,"ss":43,"used":true},{"PRN":14,"el":54,"az":71,"ss":44,"used":true},{"PRN":1,"el":53,"az":162,"ss":44,"used":true},{"PRN":31,"el":5,"az":137,"ss":42,"used":true},{"PRN":22,"el":28,"az":55,"ss":36,"used":true}]} $GPGLL,3825.60969,N,02708.53794,E,175506.00,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2006-12-11T17:55:06.000Z","ept":0.005,"lat":38.426828167,"lon":27.142299000,"alt":58.200,"epx":11.706,"epy":11.682,"epv":35.650,"track":112.9300,"speed":0.038,"climb":0.000,"eps":23.41} gpsd-3.9/test/daemon/uBlox-lea-4t.log0000664000175000017500000007761511762140440015611 0ustar esresr# Name: LEA-4T # Chipset: ANTARIS # Date: 2009-01-28 # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # µbu-blox ag - www.u-blox.com#<µbANTARIS ATR062x HW 00040001®ëµb+EXT CORE 5.00 May 11 2006 14:40:17äµb+INT EXT0 (RCV) M4T1.2 May 11 2006 14:40:17Õ{µbLIC 85E7-6E21-710B-0272-42DC'&µb BIST: passed µbANTSUPERV=AC SD OD PDoS SRNµb ANTSTATUS=OK°“µb±£Þì îYœ3¿™AÕ2Žé™sA„˜IE!/À¶9sšAµ"tA"$ÈB.ŠßšF|•›AãÒX9ÿtAEhE2p8¿ºÐ›Ap:̗,uAá/–E+®²§làšA»+4utAk-E-lú]Ī•›AR N)ÿtA"jÄ"­Œ]ÓœA…5!ÆñuA‘TXD!ÆàÍ¡O~A†æI>svA*)»Ä &nãHÒ}“wA^°EEY×fhSxAßîcE?²©J xAhªDt=µb mÞSŸÿÿì9µb :±£Þì3¥ÿ_bðò_= ò_bÒò_®çòq72p2p$2 _Œëò r82 _%Äò _Šãò _]âò_Ëàòpq(2p2_S¶òpÙ(2_Bîò_-®òpI2qá 2_KÑòq^82_WòpW(2_7ò_,Úòp€(2_¿ôò_ôäò _ù»òx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡¥ÿˆ¥ÿ‰¥ÿŠ¥ÿÉ9µb4±£ÞŒìì@wÿöžš<ëËs(ò’ŽÔµb±£ÞòŒÕsb<ٛµb±£ÞX >€†µb ±£ÞŒìì Dµb!±£Þ Ð.Ù#+ýbµb"±£Þtýÿôúÿÿ nfµb0ȱ£Þ !IS .8^”ÿÿÿ (q ÿÿÿ +(Ùv -(WO "(€€ÿÿÿ !²üÿÿ 7 &8ûÿÿÿ  =   á  $ 7  %7µb1ž±£Þ?B      œµb2 ±£Þ„Jµb™§Þì ÂÇ)¿™A B ‚è˜sAOŸIE / &8sšAl.F×"tA–NÈB.Š“å9B•›AMW> ÛþtAË%hE2žšoЛAV Äså+uAÞ.–E+®~q·@àšA,%utAªy-E-l†íc¹•›AÿÀÑl4ÿtA%jiÄ"­ ɓsӜA”Fy ñuAuXD!Æpyg~A-\3-svAn»Ä 'ÚSÑ¿:“wAOO°E¶Åß[µb0ș§Þ  IU .8^~ÿÿÿ (qúþÿÿ +(ÙG -(W] "(€{ÿÿÿ !Žüÿÿ 7 '8êÿÿÿ  =   á  $ 7  ºQµb1ž™§Þ?B      ü8µb2 ™§ÞpVµb«Þì  ¹ÎŸ™AŒŠO˜sA€JE /ð€—6sšAÕÅ8§"tAÐ`ÈB.ŠÓ}/•›A⊁׮þtAïúgE2|}’$ЛAï¬ëG¬+uAÃ-–E+®Fé\àšARåD+òttAZh-E-lЉȕ›A. ŏ?ÿtA:DiÄ"­xfӜA°1ñuA2bXD Æ0j~~A—äÚ>svA7»Ä 'Á+±Ÿ÷’wAi°E_£FSxAߘcEwn©'¢ xAÂ?ªDtݵb ÐtÞÇîÿÿìú’µb :«Þì3¥ÿ_bðò_= ò_bÒò_®çòq72p2p$2 _Œëò r82 _%Äò _Šãò _]âò_Ëàòpq(2p2_S¶òpÙ(2_Bîò_-®òpI2qá 2_KÑòq^82_WòpW(2_7ò_,Úòp€(2_¿ôò_ôäò _ù»òx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡¥ÿˆ¥ÿ‰¥ÿŠ¥ÿ¡!µb4«Þ¥öì+wÿö†š<ë«sò’-æµb«ÞòŒÕsb<±Ãµb«ÞX ˆÉVµb «Þ¥öì ýRµb!«Þ é8Ù#-ùȵb"«Þ[ ýÿôúÿÿ z&àµb0ȁ«Þ  IC .8^ÿÿÿ (qÿÿÿ +(ÙP -(W9 "(€iÿÿÿ  Ÿüÿÿ 7 '8  =   á  $ 7  ’µb1ž«Þ?B      ýŵb2 «Þ\bµb*°‹ÿ6„lLt{Aýÿd ¡ÿ¶nñÿCŽÞÿ؊Êÿ!ÖÿPѵb*°‹ÿ6„lLt{Býÿc ¡ÿ¶nñÿCŽÞÿ؊ÊÿÖÿ5ýµb*°‹ÿ6„lLt{Aýÿd ¡ÿ¶nñÿCŽÞÿ؊Êÿ!ÖÿL/µb*°‹ÿ6„lLt{Aýÿd ¡ÿ¶nñÿCŽÞÿ؊Êÿ!ÖÿPÔµb*°‹ÿ6„lLt{Býÿc ¡ÿ¶nñÿCŽÞÿ؊ÊÿÖÿ:͵b*°‹ÿ6„lLt{Aýÿd ¡ÿ¶nñÿCŽÞÿ؊Êÿ!Öÿ]ëµb*°‹ÿ6„lLt{Aýÿd ¡ÿ¶nñÿCŽÞÿ؊Êÿ!ÖÿQµb* °‹ÿ6„løLwcCýÿk ¡ÿwñÿŃÞÿ[f‚ÿÖÿ Wµb* °‹ÿ6„lLt{Aýÿd ¡ÿ¶nñÿCŽÞÿ؊Êÿ!Öÿ[žµbi¯Þì jGJœŸ™A«ŽÖœ›˜sAšÒIE!/  5sšAëpw"tA°ûÅB.Ë¢™ ‚þtAŒhE2üÒ~ÙϛAmiþ$s+uAs–E+®®êߚA­°Š1ÑttAþM-E-lþ7©Ö•›AÞN,°JÿtA˅jÄ"­Ä XӜAÓ±£ãøðuA"XD Æ`Е~Aؚ°PsvA×V»Ä '¿pÿÍŽ’wA$L°EQpòåRxAߌcEüº'’ xAê©D«µb žxÞ"ì\àµb :i¯Þì3¥ÿ_bðò_= ò_bÒò_®çòq72p2p$2 _Œëò r82 _%Äò _Šãò _]âò_Ëàòpq(2p2_S¶òpÙ(2_Bîò_-®òpI2qá 2_KÑòq^82_WòpW(2_7ò_,Úòp€(2_¿ôò_ôäò _ù»òx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡¥ÿˆ¥ÿ‰¥ÿŠ¥ÿ•µb4i¯Þ±ûì!wÿö~š<ëšsõ‚’ÂŒµbi¯ÞõÕyfA³íµbi¯ÞX 싖“µb i¯Þ±ûì úÕµb!i¯Þ õ=Ù#.÷ýµb"i¯ÞOýÿôúÿÿ hïùµb0Èi¯Þ !I1 .8^‰ÿÿÿ (q +(Ù* -(W# "(€oÿÿÿ  œüÿÿ 7 '8éÿÿÿ  =   á  $ 7  (Yµb1ži¯Þ?B      Ôpµb2 i¯ÞHnµbQ³Þì ªLÛiŸ™Ame²Nu˜sA·IE!/ü~3sšA¯;#L"tAÚÜÆB.OCvsVþtAñhE20jŽÏ›A™y#:+uAP)–E+®Š¿°ŸßšAwI0°ttAæL-E-lÚŸL啛AÆ fÓUÿtAfŠjÄ!­|ÃKӜA9)îðuA7éXD ưÍ4­~A±yubsvAÂúºÄ '?¿»³q’wAX°EÓá(›ºRxAßpcE,:µn xAêD®µb  |Þ›ì×þµb :Q³Þì3¥ÿ_bðò_= ò_bÒò_®çòq72p2p$2 _Œëò r82 _%Äò _Šãò _]âò_Ëàòpq(2p2_S¶òpÙ(2_Bîò_-®òpI2qá 2_KÑòq^82_WòpW(2_7ò_,Úòp€(2_¿ôò_ôäò _ù»òx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡¥ÿˆ¥ÿ‰¥ÿŠ¥ÿy µb4Q³Þœìwÿövš<ëŒs õ‚’™ÁµbQ³ÞõÕyfAŸµbQ³ÞX ޏx#µb Q³Þœì øbµb!Q³Þ CÙ#/÷Iµb"Q³ÞCÿüÿôúÿÿ hÉLµb0ÈQ³Þ !Iw .8^yÿÿÿ (q +(Ù -(WG !(€hÿÿÿ  ýÿÿ 7 '8˜ÿÿÿ  =   á  $ 7  F@µb1žQ³Þ?B      À µb2 Q³Þ4zµb9·Þì ×m7Ÿ™Aˆž[éN˜sAÁêIE /pZò1sšA"°ü"tAFŸÄB.»›D*þtAhE2«WCϛAñ÷Õ+uA¢&–E+®&¢^“ßšAij0ttA†2-E-lò{ñó•›AW.,÷`ÿtAç÷jÄ!­ôó=ӜAû,nKäðuAx¯WD ÆlMšÄ~A:WíXtsvAâM»Ä 'Ïž‚.’wA}g°E’~÷'RxAßbcEŽÙ3q xA/Å©DTµb ˆ€Þy4ìžKµb :9·Þì3¥ÿ_bðò_= ò_bÒò_®çòq72p2p$2 _Œëò r82 _%Äò _Šãò _]âò_Ëàòpq(2p2_S¶òpÙ(2_Bîò_-®òpI2qá 2_KÑòq^82_WòpW(2_7ò_,Úòp€(2_¿ôò_ôäò _ù»òx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡¥ÿˆ¥ÿ‰¥ÿŠ¥ÿe}µb49·ÞÊì wÿönš<ë}sõ‚’qìµb9·ÞõÕyfA‹µb9·ÞX ƓP‹µb 9·ÞÊì öñµb!9·Þ HÙ#0õ~µb"9·Þ6úüÿôúÿÿ g¢™µb0È9·Þ  I„ .8^pÿÿÿ (q +(Ù -(Wn !(€bÿÿÿ  úüÿÿ 7 '8Žÿÿÿ  =   á  $ 7  qqµb1ž9·Þ?B      ¬šµb2 9·Þ †µb!»Þì j쟙AT§?„(˜sAwœIE /ØÉg0sšA«Çð"tAÈZÆB.ÙϊþýtAE×gE2àEøÎ›A­ªÇ*uA)–E+®ž¥hߚAcV§8nttAç4-E-lÎԗ–›A†ºDlÿtA²ujÄ!­|X0ӜA%=qÚðuAÈhXD ÆteÜ~AAÕØ*†svAl»Ä '‘UâNë‘wA(X°EŒ(‚ÌcRxAßZcEK.ŽÄ` xAÁÖ©Dwµb p„ÞKìPPµb :!»Þì3¥ÿ_bðò_= ò_bÒò_®çòq72p2p$2 _Œëò r82 _%Äò _Šãò _]âò_Ëàòpq(2p2_S¶òpÙ(2_Bîò_-®òpI2qá 2_KÑòq^82_WòpW(2_7ò_,Úòp€(2_¿ôò_ôäò _ù»òx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡¥ÿˆ¥ÿ‰¥ÿŠ¥ÿQñµb4!»Þ× ìwÿöfš<ëmsõ‚’J+µb!»ÞõÕyfAw©µb!»ÞX €—˵b !»Þ× ì ô€µb!!»Þ MÙ#1ô¿µb"!»Þ)õüÿôúÿÿ –Rµb0È!»Þ  I– .8^ÿÿÿ (q +(Ù8 -(Wp !(€Šÿÿÿ  ýÿÿ 7 '8«ÿÿÿ  =   á  $ 7  òµb1ž!»Þ?B      ­5µb2 !»Þ ’µb ¿Þì ­•Òœ™Aü %˜sAá·IE/ÄÝ.sšAÖØÉ "tAÈÅB.ތÅÑýtAWMhE2@â3­Î›Aò[?…Ž*uAÀ –E+®"PÂ<ߚAˆ™î>MttAœ)-E-l.>–›Ar";wÿtAÅjÄ!­|Àš"ӜA+C€ÀÏðuAò XDÆðŠeó~A’ÿòù—svA¿?»Ä '珜4š‘wAxY°E•ž¿r8RxAߐcE€·ršP xA‡ý©Dq¬µb XˆÞ¶ÿÿì&öµb : ¿Þì3¥ÿ_bðò_= ò_bÒò_®çòq72p2p$2 _Œëò r82 _%Äò _Šãò _]âò_Ëàòpq(2p2_S¶òpÙ(2_Bîò_-®òpI2qá 2_KÑòq^82_WòpW(2_7ò_,Úòp€(2_¿ôò_ôäò _ù»òx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡¥ÿˆ¥ÿ‰¥ÿŠ¥ÿ=eµb4 ¿Þäìúvÿöeš<ëXsþõ‚’"ˆµb ¿ÞõÕyfAc=µb ¿ÞX Œ›ö3µb  ¿Þäì òµb! ¿Þ (RÙ#2óµb" ¿Þðüÿóúÿÿ fT+µb0È ¿Þ I‡ .8^cÿÿÿ (q +(Ù- -(WŠ !(€zÿÿÿ ýÿÿ 7 '8¯ÿÿÿ  =   á  $ 7  ›~µb1ž ¿Þ?B      ™Ñµb2 ¿Þøžµb(ñÂÞì Šå+ œ™A@²ÄۗsAґIE/¬žT-sšA6˜í— "tAÞ@ÅB.ñ‚S¥ýtAêšgE2Ü$bΛAo–]U*uAÕ–E+®J;yߚA…ʳN,ttA«-E-lòŽæ–›Az1L`‚ÿtAØœjÄ!­T#ӜAÿù{ÅðuAì±VD Æ]Ì AUòÍÁ©svA-;»Ä '“Öó®7$wAüä«E¹ e‘wA¿V°EÙR RxA'1cEÆÓj|@ xATõ©D.fµb @ŒÞÍÿÿ쎫µb :ñÂÞì3¥ÿ_bðò_= ò_bÒò_®çòq72p2p$2 _Œëò r82 _%Äò _Šãò _]âò_Ëàòpq(2p2_S¶òpÙ(2_Bîò_-®òpI2qá 2_KÑòq^82_WòpW(2_7ò_,Úòp€(2_¿ôò_ôäò _ù»òx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡¥ÿˆ¥ÿ‰¥ÿŠ¥ÿ( µb4ñÂÞðìòvÿö_š<ëHsúõ‚’üäµbñÂÞõÕyfANÀµbñÂޝX ~Ÿ×޵b ñÂÞðì b!ñÂÞ 5WÙ#3ñ.µb"ñÂÞëüÿôúÿÿ w@ɵb0ÈñÂÞ I… .8^…ÿÿÿ (q +(Ù7 -(Wv !(€{ÿÿÿ  ýÿÿ 7 '8ãÿÿÿ  =   á  $ 7  ê7µb1žñÂÞ?B      „¶µb2 ñÂÞ㟵b*°‹ÿ¥„l{Õm[|h‡ŒçˆåÿžR:ðÿË'Åvµb*°‹ÿ¥„l{Õe[|h‡ŒýˆåÿžRO \èµb*°‹ÿ¥„l{Õm[|h‡ŒëˆåÿžR%Ðÿš`ßÿrÞµb*°‹ÿ¥„l{Õm[|h‡ŒéˆåÿžR6 taôÿÆ)µb*°‹ÿ¥„l{Õm[|h‡ŒóˆåÿR44D‡Çµb*°‹ÿ¥„l{Õm[|h‡ŒíˆåÿžR:Bþÿaàµb*°‹ÿ¥„l{Õm[|h‡ŒëˆåÿžR3èÿáP >µb* °‹ÿ¥„l{Õ}[|h‡ŒúˆåÿžR‚ÿûÿšþÿi~µb* °‹ÿ¥„l{Õe[|h‡ŒوåÿžR-ùÿ(þµb* °‹ÿ¥„l{Õm[|h‡ŒéˆåÿžR6þÿ`C±µb(ÙÆÞì VêÄmœ™Aýð=Wµ—sAB—IE/HeÎ+sšAŽczr "tAüæÂB-y„fyýtADÝgE2ˆwΛAµY<*uAˆ–E+®>E4æÞšAáÇc ttAË -E-lB¿‘.–›Aß3‰ƒÿtA$ûœZ–›Asùà¯ÿtA/!kÄ!­åaßҜAŸ*qœðuAŸVD!ÆpórhAd#ñsvAYG»Ä 'Œ,Dý3#wA÷«E; œXwA&c°EüüRY_QxA•dcELÈö xA›šDɟµb à›Þ~/ì+eµb :‘ÒÞì3¥ÿ_bðò_= ò_bÒò_®çòq72p2p$2 _Œëò r82 _%Äò _Šãò _]âò_Ëàòpq(2p2_S¶òpÙ(2_Bîò_-®òpI2qá 2_KÑòq^82_WòpW(2_7ò_,Úòp€(2_¿ôò_ôäò _ù»òx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡¥ÿˆ¥ÿ‰¥ÿŠ¥ÿØpµb4‘ÒÞ!)ìÏvÿö"š<ë8sæõ‚’ncµb‘ÒÞõÕyfAþµb‘ÒޝX ¯7Tµb ‘ÒÞ!)ì 㢵b!‘ÒÞ fkÙ#7éþµb"‘ÒÞßÖüÿôúÿÿ d–Úµb0ȑÒÞ  IÍ -8^Žÿÿÿ (q +(Ùã -(W@ !(€wÿÿÿ !wýÿÿ 7 '8fÿÿÿ  =   á  $ 7  ? µb1ž‘ÒÞ?B8      Weµb2 ‘ÒÞ“ϵb(yÖÞì r(7€Œ™AÁ¥äè—sA+IE/„Â%sšAvÎ"tAÛÀB-ƒ;Ì\ÈütAø hE2œfìê̛A‡Å7)uA—–E+®þ@9ޚA³ ŒŒ‡stA­Ú,E-lVMi–›AtPð6ºÿtA%„kÄ!­p,öÑҜAKÈR@’ðuAj©VD Æ$ýܝAŽøtvA›G»Ä (L$]bò"wA¬EטôrwA€\°E7ÍÏ4QxA}zcE«IöØï xAW8ªD µb ȟÞ0FìàRµb :yÖÞì3¥ÿ_bðò_= ò_bÒò_®çòq72p2p$2 _Œëò r82 _%Äò _Šãò _]âò_Ëàòpq(2p2_S¶òpÙ(2_Bîò_-®òpI2qá 2_KÑòq^82_WòpW(2_7ò_,Úòp€(2_¿ôò_ôäò _ù»òx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡¥ÿˆ¥ÿ‰¥ÿŠ¥ÿÄäµb4yÖÞ..ìÈvÿöš<ë3sâõ‚’PÒµbyÖÞõÕyfAꀵbyÖޝX ³Œµb yÖÞ..ì á1µb!yÖÞ rpÙ#8ç3µb"yÖÞÒÑüÿôúÿÿ dp+µb0ÈyÖÞ Ià -8^“ÿÿÿ (q +(ÙÝ -(W[ !(€`ÿÿÿ  ªýÿÿ 7 (8cÿÿÿ  =   á  $ 7  ‹µb1žyÖÞ?B8      Cµb2 yÖÞÛµb(aÚÞì óÕqŒ™AR1Œõ–sA›”IE/L@$sšA $©"tA†3ÀB->JK\œütA*£gE2°>ãŸÌ›A³•6¬þ(uA¹–E,®ÞE ޚAl}×fstAAÔ,E-lŠ®ýw–›Aë£SeÅÿtA‚ÄkÄ!­ ŒÄҜA™ƒ±þ‡ðuAJ¥VD!ÆHðF—A\æÁtvA(A»Ä (X `°"wA? ¬EM»×DҏwAïG°EËžgàQxA®zcEÖV[¶ß xAΚD^œµb °£Þ¿³ÿÿìÆvµb :aÚÞì3¥ÿ_bðò_= ò_bÒò_®çòq72p2p$2 _Œëò r82 _%Äò _Šãò _]âò_Ëàòpq(2p2_S¶òpÙ(2_Bîò_-®òpI2qá 2_KÑòq^82_WòpW(2_7ò_,Úòp€(2_¿ôò_ôäò _ù»òx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡¥ÿˆ¥ÿ‰¥ÿŠ¥ÿ°Xµb4aÚÞ:3ìÂvÿö š<ë/sÞõ‚’3YµbaÚÞõÕyfAÖ8µbaÚޝX î¶æ!µb aÚÞ:3ì ÞŽµb!aÚÞ uÙ#9ætµb"aÚÞÆÌüÿóúÿÿ dJ€µb0ÈaÚÞ Iò -8^ÿÿÿ (q ,(Ù¶ -(W] !(€Wÿÿÿ !óýÿÿ 7 (8Ÿÿÿÿ  =   á  $ 7  ôµb1žaÚÞ?B      ^µb2 aÚÞkçµb*°‹ÿ+…l:Å×<šg·ÿLVxx¡È[ |žRŽØµb*°‹ÿ+…l›OÎ8÷Œ—ÿ@&O“ÿ¡í õI }žRеb*°‹ÿ+…lvú6‘6ΫÔÿ4ûÿŸÀ¡wç}žRµb*°‹ÿ+…lâ 4ü'ëZ 9 üÿ¡* 7RùRµb*°‹ÿ+…lL:È/BpXž3©ÿ¡ÜÓ }žRb*°‹ÿ+…l×ò3Œù/c©ÉÿäôÿuOÿ¡Æ  |žRæÖµb* °‹ÿ+…l ú‚ÿY 3Æ.ûÿÕÆZ¡…{8|žR(«µb* °‹ÿ+…l*ú-c°7®%€ÿìúÿ}ۃÿ¡ #N ~žRJMµb@IÞÞì &t?Œ™AO 0ϖsA¬ˆIE/肟"sšAƒKƒ"tAÆ{ÀB->v „pütA·šgE2•ÙT̛A8ѐÅ(uAL–E,®–ÔâݚA¬£ïEstAHÌ,E-ln÷­†–›A–µ<‘ÐÿtA<’jÄ!­Ô"·ÒœA/3;È}ðuA~VD!­Fç†vA'»žEÆxž¯®AGžø’&tvAt*»Ä (ܚ3Ön"wAÃê«E[ܓ6wAsK°EŠÉ®¯ÝPxAx¡cEæ–Ï xA6òšD¶µb ˜§ÞÉÿÿì|µb :IÞÞì3¥ÿ_bðò_= ò_bÒò_®çòq72p2p$2 _Œëò r82 _%Äò _Šãò _]âò_Ëàòpq(2p2_S¶òpÙ(2_Bîò_-®òpI2qá 2_KÑòq^82_WòpW(2_7ò_,Úòp€(2_¿ôò_ôäò _ù»òx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡¥ÿˆ¥ÿ‰¥ÿŠ¥ÿœÌµb4IÞÞG8읜vÿöš<ë,sÙõ‚’„µbIÞÞõÕyfAÁŸµbIÞޝX ÖºŸ‰µb IÞÞG8ì ÜCµb!IÞÞ ‹zÙ#:䩵b"IÞÞ¹Çüÿóúÿÿ c#͵b0ÈIÞÞ I -8^ÿÿÿ (q ,(Ù€ -(Wy !(€^ÿÿÿ !úýÿÿ 7 (8ªÿÿÿ  =   á  $ 7  õµb1žIÞÞ?B       ðªµb2 IÞÞWóµb@1âÞì úE Œ™Aòµ»Íš–sA„PIE/d)?!sšAO¡°^"tA:ÀB-þ¢ö™DütAŒ8hE2ÐŠÒ Ì›AsÊsŒ(uAÆ–E,®Öe£·ÝšA±Ÿ¥ %stAZÀ,E,l²9a•–›AÌìSºÛÿtA$ƒjÄ"­X猩ҜAØ'“sðuA>2VDc‡Qª†vAX~žEÆà’ƝA!‰zc8tvA6»Ä (`‰ -"wAñ«E¥œ)"LwAÛE°Eٕ–“²PxA qcE»œQ¡¿ xA† ©D»Yµb €«Þ4ßÿÿì?ʵb :1âÞì3¥ÿ_bðò_= ò_bÒò_®çòq72p2p$2 _Œëò r82 _%Äò _Šãò _]âò_Ëàòpq(2p2_S¶òpÙ(2_Bîò_-®òpI2qá 2_KÑòq^82_WòpW(2_7ò_,Úòp€(2_¿ôò_ôäò _ù»òx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡¥ÿˆ¥ÿ‰¥ÿŠ¥ÿˆ@µb41âÞT=읶vÿöû™<ë&sÖõ‚’ȵb1âÞõÕyfA®`µb1âޝX ŽŸŒÉµb 1âÞT=ì ÚÒµb!1âÞ ˜Ù#;ãêµb"1âÞ¬Âüÿóúÿÿ cýµb0È1âÞ I= -8^‹ÿÿÿ (q ,(ٕ ,(W~ "(€|ÿÿÿ þýÿÿ 7 (8žÿÿÿ  =   á  $ 7  Wµb1ž1âÞ?B      Ï¥µb2 1âÞCÿµbXæÞìBº¹Ú»™A5YÅ|‚–sAvvIE /œ#ÃsšAVɏ7"tA‚5œB-Ŋd§ütAWŠgE2ØäΟ˛A_Î XS(uAÚ–E,®êþwŒÝšAÖ}§+stA÷ª,E,lÒü€–›AôNñæÿtAìGkÄ"­Ls[œÒœA ‚ÚTiðuAË@UD…/³mn†vAiœžEÆ(ˆÝA|­:JtvAär»Ä ( À 9ë!wA÷¬EÊLØýwA·N°ExVUa6xAjcEdÆ*Z‡PxA¹%cEŽRñ•¯ xA€ÃšDΖµb h¯Þ÷ÿÿìµb :æÞì3¥ÿ_bðò_= ò_bÒò_®çòq72p2p$2 _Œëò r82 _%Äò _Šãò _]âò_Ëàòpq(2p2_S¶òpÙ(2_Bîò_-®òpI2qá 2_KÑòq^82_WòpW(2_7ò_,Úòp€(2_¿ôò_ôäò _ù»òx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡¥ÿˆ¥ÿ‰¥ÿŠ¥ÿt޵b4æÞaB읯vÿö÷™<ë&sÊõ‚’éµbæÞõÕyfA™æµbæÞX °Âxµb æÞaBì ×]µb!æÞ ¥„Ù$ŠŠµb"æÞŸœüÿôúÿÿ c×sµb0ÈæÞ  I -8^¥ÿÿÿ (q ,(ُ ,(Wš "(€Uÿÿÿ Kþÿÿ 7 (8Šÿÿÿ  =   á  $ 7  dµb1žæÞ?B      Ð2µb2 æÞ/ µbXêÞì,¬M"\–sAQ|IE /PEGsšAߢÑ"tAˆòŒB-@7>ÄìûtAW†gE2PËs˛A.2D(uA–E,®Ú¯NaݚAõ#UãrtA™,E,lÖϲ–›A,ði!òÿtA•ÛkÄ"­TWûŽÒœAão#_ðuAX VD° •3†vAÌxžEÆ  õôAß \tvArd»Ä (ъÜñ©!wAç׫E¡œšÓŎwAÓQ°E×êé[ xAˆcE‰J\PxAž=cEGÅÛ©Ÿ xAçêšD/ÿµb P³ÞÑ ìãpµb :êÞì3¥ÿ_bðò_= ò_bÒò_®çòq72p2p$2 _Œëò r82 _%Äò _Šãò _]âò_Ëàòpq(2p2_S¶òpÙ(2_Bîò_-®òpI2qá 2_KÑòq^82_WòpW(2_7ò_,Úòp€(2_¿ôò_ôäò _ù»òx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡¥ÿˆ¥ÿ‰¥ÿŠ¥ÿ`(µb4êÞnG읫vÿöõ™<ësÈ€‚‚P8µbêÞ²€Ëc“J²NµbêޝX ŽÆFÁµb êÞnGì Õìµb!êÞ ²‰Ù$¥çµb"êÞ’žüÿóúÿÿ c°žµb0ÈêÞ  I -8^•ÿÿÿ (q ,(Ùf ,(W "(€aÿÿÿ Yþÿÿ 7 (8Ÿÿÿÿ  =   á  $ 7  Hµb1žêÞ?B      §Ýµb2 êÞµbXéíÞìÎP‚v»™A_ÑAÇ5–sA‡LIE/dWÍsšA+÷øÿ!tAPºœB-ÓÕìÀûtAW¢gE2TÉ(˛AiPR*á'uA⠖E,®ž0)6ݚAˆä|ÂrtA„‰,E,l¶ZˆÁ–›AídUýÿtAÄkÄ!­ÐƒžÒœA‚ƒÐíTðuA–VDé‹ä0÷…vAm}žEƈc €Aºf;ãmtvA…»Ä (vØãƒh!wAÝ«Eôy“ª‚ŽwAiB°EÕ4àxAžcEn²1PxA BcE©å}œ xAå§Dœæµb 8·Þ™#ì® µb :éíÞì3¥ÿ_cðò_= ò_bÒò_®çòq72p2p$2 _Œëò r82 _%Äò _Šãò _]âò_Ëàòpq(2p2_S¶òpÙ(2_Bîò_-®òpI2qá 2_KÑòq^82_WòpW(2_7ò_,Úòp€(2_¿ôò_ôäò _ù»òx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡¥ÿˆ¥ÿ‰¥ÿŠ¥ÿLµb4éíÞzL읥vÿöò™<ësÅõ‚’Á²µbéíÞõÕyfApýµbéíޝX vʵb éíÞzLì Ñ`µb!éíÞ ¿ŽÙ$£µb"éíÞ†³üÿôúÿÿ c‹µb0ÈéíÞ Ig -8^•ÿÿÿ (q ,(Ùb ,(W !(€[ÿÿÿ ‰þÿÿ 7 (8³ÿÿÿ  =   á  $ 7  †5µb1žéíÞ?B      ’µb2 éíÞµbXÑñÞìҁ+D»™Aãodw–sAò?IE/8UsšAô”Öþ!tAPźB-á k•ûtAW‚gE2À³ÉÝʛAó«õš'uA•ú•E,®Ú† ݚAÙMš¡rtAux,E,lΧCЖ›AކˆuAÈ:lÄ!­ø8DtҜA­ldŒJðuAÛŠVDóùÊκ…vAœ~žEƬÓ#€At–ŽtvAWl»Ä (f×'!wA‡Ø«EƒÊ€u?ŽwAÉG°E!RqµxA:cE1·FPxAï7cE#Z§v xAåšD]Kµb  »Þ_:ìwšµb :ÑñÞì3¥ÿ_cðò_= ò_bÒò_®çòq72p2p$2 _Œëò r82 _%Äò _Šãò _]âò_Ëàòpq(2p2_S¶òpÙ(2_Bîò_-®òpI2qá 2_KÑòq^82_WòpW(2_7ò_,Úòp€(2_¿ôò_ôäò _ù»òx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡¥ÿˆ¥ÿ‰¥ÿŠ¥ÿ8µb4ÑñÞ‡Q읟vÿöò™<ësÃõ‚’³QµbÑñÞõÕyfA]ŸµbÑñޝX ^Îõ‚µb ÑñÞ‡Qì Ïïµb!ÑñÞ ˓Ù$¡Jµb"ÑñÞy®üÿôúÿÿ cecµb0ÈÑñÞ IU -8^£ÿÿÿ (q ,(ÙS ,(W{ !(€eÿÿÿ «þÿÿ 7 (8Ôÿÿÿ  =   á  $ 7  ¥°µb1žÑñÞ?B      “Oµb2 ÑñÞò$µb*°‹ÿ­…lGq„š{&”ÿÿ‘!“#qÕúÿ¢ÿÿÆ:A²µb*°‹ÿ­…lHòÿÿ”¶ÿ&8v²œÿåk#äåÿñ€ÿÿS Ozúµb*°‹ÿ­…lr,ý̝ÿ& ÿÿ$ÏxœçaµÿÒŠÿÿ:è6æUµb*°‹ÿ­…lžzÿÿ2œ(Rl…x'áÚaªÿÿäü4_uµb*°‹ÿ­…lßÿÿaXïÿ''&šÉš;7Å©ÿÿ±:Ž[µb*°‹ÿ­…lòެ+'"Ö:nð; v+ˆ§ÿÿ¡ò3YÔµb* °‹ÿ­…lr—ÿÿÍCR'âÿÿ‡º›Üÿqšÿÿ<ç‚ÿŒµb* °‹ÿ­…lr.^ÐÛÿ&åÿÿúm`µjã>ëÿŠÿÿ æ-dBµbX¹õÞì¶W×»™AÈÁ`!é•sA¡ IE /„nßsšA+úÙ°ý!tAŠ žB-{©8iûtAéhgE2à̒ʛA7béo'uA!ô•E,®Î êßܚAŠjyрrtA=^,E,l~Žߖ›A#(¹uAÎlÄ ­lXífҜAŠ/q†@ðuAt·TD2)j~…vAfžEÆðED;€ASGi‘tvAV±»Ä (ë97œå wAá«E:׈5üwAsD°E1zñzŠxAJcE”™úÚOxAiþbEûÛ[o xA‘šD.{µb ¿ÞKRìg^µb :¹õÞì3¥ÿ_cðò_= ò_bÒò_®çòq72p2p$2 _Œëò r82 _%Äò _Šãò _]âò_Ëàòpq(2p2_S¶òpÙ(2_Bîò_-®òpI2qá 2_KÑòq^82_WòpW(2_7ò_,Úòp€(2_¿ôò_ôäò _ù»òx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡¥ÿˆ¥ÿ‰¥ÿŠ¥ÿ$uµb4¹õÞ”V의vÿöî™<ësÀõ‚’¥Üµb¹õÞõÕyfAH%µb¹õޝX ZÒá:µb ¹õÞ”Vì Í~µb!¹õÞ ؘÙ$ ‹µb"¹õÞm©üÿôúÿÿ dAȵb0ȹõÞ  Ip -8^Ñÿÿÿ (q ,(Ù* ,(W”  (€‡ÿÿÿ ÷þÿÿ 7 (8ºÿÿÿ  =   á  $ 7  !—µb1ž¹õÞ?B       w›µb2 ¹õÞÞ0µbX¡ùÞì …ߺ™A qÄÓ•sAJIE /ìmksšAQòˆ˜ü!tA¬G¹B-Ú(q=ûtAütgE2@3ÐGʛAu“Áð5'uAêù•E,®bFÐŽÜšAýw6û_rtAKV,E,lÊ2Á햛AÐ|côuAÔ«E7ÕóñžwAQV°Ebâ~–_xAúcEÚ1Û¯OxA†.cEš yA_ xAmšD<µb ðÂÞŽÁÿÿì!µb :¡ùÞì3¥ÿ_cðò_= ò_bÒò_®çòq72p2p$2 _Œëò r82 _%Äò _Šãò _]âò_Ëàòpq(2p2_S¶òpÙ(2_Bîò_-®òpI2qá 2_KÑòq^82_WòpW(2_7ò_,Úòp€(2_¿ôò_ôäò _ù»òx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡¥ÿˆ¥ÿ‰¥ÿŠ¥ÿéµb4¡ùÞ [읐vÿöë™<ësœõ‚’—Sµb¡ùÞõÕyfA4¹µb¡ùޝX .Ö¥Rµb ¡ùÞ [ì ʵb!¡ùÞ äÙ$žÀµb"¡ùÞ`€üÿôúÿÿ cµb0È¡ùÞ  Ia -8^¶ÿÿÿ (q ,(Ù ,(Wœ !(€tÿÿÿ øþÿÿ 7 (8rÿÿÿ  =   á  $ 7  €µb1ž¡ùÞ?B      V–µb2 ¡ùÞÊ<µbX‰ýÞìU3­º™A4ºêƒœ•sA cIE/`«÷sšA˜‘wû!tA€º»B-™v`©ûtA~gE2¬’ÔüɛA?‡“Ùü&uAd–E,®b®ž‰ÜšAþga+?rtA6b,E,luü–›AáÏ,*uAhÌkÄ!­$GLҜAÑ» ;,ðuAÉUDù.ïL…vAØužEÆ œ(j€Aö6ãGµtvAP»Ä (j[c wAié«EM“*¶uwAŒK°ENÅì3xAXcEÓŸÚ„OxA€ cE©Ó0O xAÝšD›µb ØÆÞ<Øÿÿì³îµb :‰ýÞì3¥ÿ_cðò_= ò_bÒò_®çòq62p2p$2 _Œëò r82 _%Äò _Šãò _]âò_Ëàòpq(2p2_S¶òpÙ(2_Bîò_-®òpI2qá 2_KÑòq^82_WòpW(2_7ò_,Úòp€(2_¿ôò_ôäò _ù»òx¥ÿy¥ÿz¥ÿ{¥ÿ|¥ÿ}¥ÿ~¥ÿ¥ÿ€¥ÿ¥ÿ‚¥ÿƒ¥ÿ„¥ÿ…¥ÿ†¥ÿ‡¥ÿˆ¥ÿ‰¥ÿŠ¥ÿü[µb4‰ýÞ¬`읋vÿöè™<ës»õ‚’‰Þµb‰ýÞõÕyfA Mµb‰ýޝX ڇâµb ‰ýÞ¬`ì D޵b!‰ýÞ ñ¢Ù$µb"‰ýÞTŸüÿôúÿÿ pªµb0ȉýÞ Ik -8^×ÿÿÿ (q ,(Ù  ,(WË !(€}ÿÿÿ îþÿÿ 6 (8‰ÿÿÿ  =   á  $ 7  åõµb1ž‰ýÞ?B      W#µb2 ‰ýÞ¶H gpsd-3.9/test/daemon/uBlox-lea-4t.log.chk0000664000175000017500000012615312135526460016352 0ustar esresr$GPZDA,203542.00,28,01,2009,00,00*64 $GPGGA,203542,5333.7954,N,11326.3727,W,1,08,,655.33,M,-19.872,M,,*65 $GPRMC,203542,A,5333.7954,N,11326.3727,W,0.0000,0.000,280109,,*30 $GPGSA,A,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:35:42.001Z","ept":0.005,"lat":53.563256268,"lon":-113.439544853,"alt":655.331,"track":0.0000,"speed":0.000,"climb":0.000} $GPGSV,3,1,11,21,73,276,33,24,56,094,46,15,40,113,30,18,40,217,43*7B $GPGSV,3,2,11,26,40,087,45,29,40,164,34,16,28,280,33,10,21,056,38*70 $GPGSV,3,3,11,22,09,225,29,27,06,055,24,07,05,000,25*4E {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.40,"hdop":1.15,"gdop":2.80,"pdop":2.42,"satellites":[{"PRN":21,"el":73,"az":276,"ss":33,"used":true},{"PRN":24,"el":56,"az":94,"ss":46,"used":true},{"PRN":15,"el":40,"az":113,"ss":30,"used":true},{"PRN":18,"el":40,"az":217,"ss":43,"used":true},{"PRN":26,"el":40,"az":87,"ss":45,"used":true},{"PRN":29,"el":40,"az":164,"ss":34,"used":true},{"PRN":16,"el":28,"az":280,"ss":33,"used":true},{"PRN":10,"el":21,"az":56,"ss":38,"used":true},{"PRN":22,"el":9,"az":225,"ss":29,"used":false},{"PRN":27,"el":6,"az":55,"ss":24,"used":false},{"PRN":7,"el":5,"az":0,"ss":25,"used":false}]} $GPZDA,203544.00,28,01,2009,00,00*62 $GPGGA,203544,5333.7952,N,11326.3727,W,1,08,1.15,655.35,M,-19.872,M,,*78 $GPRMC,203544,A,5333.7952,N,11326.3727,W,0.0000,0.000,280109,,*30 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.4,1.1,2.1*37 $GPGBS,203544,9.05,M,14.66,M,48.99,M*3F {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:35:44.001Z","ept":0.005,"lat":53.563254093,"lon":-113.439545157,"alt":655.348,"epx":9.054,"epy":14.659,"epv":48.990,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,3,1,11,21,73,276,32,24,56,094,46,15,40,113,30,18,40,217,43*7A $GPGSV,3,2,11,26,40,087,45,29,40,164,34,16,28,280,33,10,21,056,39*71 $GPGSV,3,3,11,22,09,225,29,27,06,055,24,07,05,000,26*4D {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.40,"hdop":1.15,"gdop":2.80,"pdop":2.42,"satellites":[{"PRN":21,"el":73,"az":276,"ss":32,"used":true},{"PRN":24,"el":56,"az":94,"ss":46,"used":true},{"PRN":15,"el":40,"az":113,"ss":30,"used":true},{"PRN":18,"el":40,"az":217,"ss":43,"used":true},{"PRN":26,"el":40,"az":87,"ss":45,"used":true},{"PRN":29,"el":40,"az":164,"ss":34,"used":true},{"PRN":16,"el":28,"az":280,"ss":33,"used":true},{"PRN":10,"el":21,"az":56,"ss":39,"used":true},{"PRN":22,"el":9,"az":225,"ss":29,"used":false},{"PRN":27,"el":6,"az":55,"ss":24,"used":false},{"PRN":7,"el":5,"az":0,"ss":26,"used":false}]} $GPZDA,203545.00,28,01,2009,00,00*63 $GPGGA,203545,5333.7951,N,11326.3728,W,1,08,1.15,655.25,M,-19.872,M,,*74 $GPRMC,203545,A,5333.7951,N,11326.3728,W,0.0000,0.000,280109,,*3D $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.4,1.1,2.1*37 $GPGBS,203545,9.05,M,14.66,M,48.99,M*3E {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:35:45.001Z","ept":0.005,"lat":53.563252365,"lon":-113.439546320,"alt":655.254,"epx":9.054,"epy":14.659,"epv":48.990,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,3,1,11,21,73,276,32,24,56,094,46,15,40,113,31,18,40,217,43*7B $GPGSV,3,2,11,26,40,087,45,29,40,164,34,16,28,280,32,10,21,056,39*70 $GPGSV,3,3,11,22,09,225,29,27,06,055,24,07,05,000,25*4E {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.40,"hdop":1.15,"gdop":2.80,"pdop":2.42,"satellites":[{"PRN":21,"el":73,"az":276,"ss":32,"used":true},{"PRN":24,"el":56,"az":94,"ss":46,"used":true},{"PRN":15,"el":40,"az":113,"ss":31,"used":true},{"PRN":18,"el":40,"az":217,"ss":43,"used":true},{"PRN":26,"el":40,"az":87,"ss":45,"used":true},{"PRN":29,"el":40,"az":164,"ss":34,"used":true},{"PRN":16,"el":28,"az":280,"ss":32,"used":true},{"PRN":10,"el":21,"az":56,"ss":39,"used":true},{"PRN":22,"el":9,"az":225,"ss":29,"used":false},{"PRN":27,"el":6,"az":55,"ss":24,"used":false},{"PRN":7,"el":5,"az":0,"ss":25,"used":false}]} $GPALM,1,1,12,0492,00,1a02,7b,0f74,fffffd41,a10d64,ffde8e43,fff16eb6,ffca8ad8,fffffeb0,001*48 {"class":"SUBFRAME","tSV":21,"TOW17":55560,"frame":5,"scaled":false,"ALMANAC":{"ID":12,"Health":0,"e":6658,"toa":123,"deltai":3956,"Omegad":-703,"sqrtA":10554724,"Omega0":-954698,"omega":-2191805,"M0":-3503400,"af0":-336,"af1":1}} $GPALM,1,1,12,0492,00,1a02,7b,0f74,fffffd42,a10d63,ffde8e43,fff16eb6,ffca8ad8,fffffeb0,000*4D {"class":"SUBFRAME","tSV":24,"TOW17":55560,"frame":5,"scaled":false,"ALMANAC":{"ID":12,"Health":0,"e":6658,"toa":123,"deltai":3956,"Omegad":-702,"sqrtA":10554723,"Omega0":-954698,"omega":-2191805,"M0":-3503400,"af0":-336,"af1":0}} $GPALM,1,1,12,0492,00,1a02,7b,0f74,fffffd41,a10d64,ffde8e43,fff16eb6,ffca8ad8,fffffeb0,001*48 {"class":"SUBFRAME","tSV":15,"TOW17":55560,"frame":5,"scaled":false,"ALMANAC":{"ID":12,"Health":0,"e":6658,"toa":123,"deltai":3956,"Omegad":-703,"sqrtA":10554724,"Omega0":-954698,"omega":-2191805,"M0":-3503400,"af0":-336,"af1":1}} $GPALM,1,1,12,0492,00,1a02,7b,0f74,fffffd41,a10d64,ffde8e43,fff16eb6,ffca8ad8,fffffeb0,001*48 {"class":"SUBFRAME","tSV":18,"TOW17":55560,"frame":5,"scaled":false,"ALMANAC":{"ID":12,"Health":0,"e":6658,"toa":123,"deltai":3956,"Omegad":-703,"sqrtA":10554724,"Omega0":-954698,"omega":-2191805,"M0":-3503400,"af0":-336,"af1":1}} $GPALM,1,1,12,0492,00,1a02,7b,0f74,fffffd42,a10d63,ffde8e43,fff16eb6,ffca8ad8,fffffeb0,000*4D {"class":"SUBFRAME","tSV":26,"TOW17":55560,"frame":5,"scaled":false,"ALMANAC":{"ID":12,"Health":0,"e":6658,"toa":123,"deltai":3956,"Omegad":-702,"sqrtA":10554723,"Omega0":-954698,"omega":-2191805,"M0":-3503400,"af0":-336,"af1":0}} $GPALM,1,1,12,0492,00,1a02,7b,0f74,fffffd41,a10d64,ffde8e43,fff16eb6,ffca8ad8,fffffeb0,001*48 {"class":"SUBFRAME","tSV":29,"TOW17":55560,"frame":5,"scaled":false,"ALMANAC":{"ID":12,"Health":0,"e":6658,"toa":123,"deltai":3956,"Omegad":-703,"sqrtA":10554724,"Omega0":-954698,"omega":-2191805,"M0":-3503400,"af0":-336,"af1":1}} $GPALM,1,1,12,0492,00,1a02,7b,0f74,fffffd41,a10d64,ffde8e43,fff16eb6,ffca8ad8,fffffeb0,001*48 {"class":"SUBFRAME","tSV":16,"TOW17":55560,"frame":5,"scaled":false,"ALMANAC":{"ID":12,"Health":0,"e":6658,"toa":123,"deltai":3956,"Omegad":-703,"sqrtA":10554724,"Omega0":-954698,"omega":-2191805,"M0":-3503400,"af0":-336,"af1":1}} $GPALM,1,1,12,0492,00,19f8,63,0f77,fffffd43,a10d6b,ffde83c5,fff17710,ff82665b,fffffeb0,000*11 {"class":"SUBFRAME","tSV":10,"TOW17":55560,"frame":5,"scaled":false,"ALMANAC":{"ID":12,"Health":0,"e":6648,"toa":99,"deltai":3959,"Omegad":-701,"sqrtA":10554731,"Omega0":-952560,"omega":-2194491,"M0":-8231333,"af0":-336,"af1":0}} $GPALM,1,1,12,0492,00,1a02,7b,0f74,fffffd41,a10d64,ffde8e43,fff16eb6,ffca8ad8,fffffeb0,001*48 {"class":"SUBFRAME","tSV":22,"TOW17":55560,"frame":5,"scaled":false,"ALMANAC":{"ID":12,"Health":0,"e":6658,"toa":123,"deltai":3956,"Omegad":-703,"sqrtA":10554724,"Omega0":-954698,"omega":-2191805,"M0":-3503400,"af0":-336,"af1":1}} $GPZDA,203546.00,28,01,2009,00,00*60 $GPGGA,203546,5333.7950,N,11326.3728,W,1,07,1.15,655.18,M,-19.872,M,,*77 $GPRMC,203546,A,5333.7950,N,11326.3728,W,0.0000,0.000,280109,,*3F $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.4,1.1,2.1*37 {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:35:46.001Z","ept":0.005,"lat":53.563250640,"lon":-113.439547224,"alt":655.184,"epx":9.054,"epy":14.659,"epv":48.990,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,3,1,11,21,73,276,33,24,56,094,46,15,40,113,30,18,40,217,43*7B $GPGSV,3,2,11,26,40,087,45,29,40,164,34,16,28,280,32,10,21,056,39*70 $GPGSV,3,3,11,22,09,225,30,27,06,055,24,07,05,000,25*46 {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.41,"hdop":1.21,"gdop":2.83,"pdop":2.45,"satellites":[{"PRN":21,"el":73,"az":276,"ss":33,"used":true},{"PRN":24,"el":56,"az":94,"ss":46,"used":true},{"PRN":15,"el":40,"az":113,"ss":30,"used":false},{"PRN":18,"el":40,"az":217,"ss":43,"used":true},{"PRN":26,"el":40,"az":87,"ss":45,"used":true},{"PRN":29,"el":40,"az":164,"ss":34,"used":true},{"PRN":16,"el":28,"az":280,"ss":32,"used":true},{"PRN":10,"el":21,"az":56,"ss":39,"used":true},{"PRN":22,"el":9,"az":225,"ss":30,"used":false},{"PRN":27,"el":6,"az":55,"ss":24,"used":false},{"PRN":7,"el":5,"az":0,"ss":25,"used":false}]} $GPZDA,203547.00,28,01,2009,00,00*61 $GPGGA,203547,5333.7949,N,11326.3729,W,1,07,1.21,655.14,M,-19.872,M,,*74 $GPRMC,203547,A,5333.7949,N,11326.3729,W,0.0000,0.000,280109,,*37 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.5,1.2,2.1*35 $GPGBS,203547,9.05,M,14.66,M,48.99,M*3C {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:35:47.001Z","ept":0.005,"lat":53.563249046,"lon":-113.439548267,"alt":655.141,"epx":9.054,"epy":14.659,"epv":48.990,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,3,1,11,21,73,276,33,24,56,094,46,15,40,113,29,18,40,217,43*73 $GPGSV,3,2,11,26,40,087,45,29,40,164,33,16,28,280,32,10,21,056,39*77 $GPGSV,3,3,11,22,09,225,30,27,06,055,25,07,05,000,25*47 {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.41,"hdop":1.21,"gdop":2.83,"pdop":2.45,"satellites":[{"PRN":21,"el":73,"az":276,"ss":33,"used":true},{"PRN":24,"el":56,"az":94,"ss":46,"used":true},{"PRN":15,"el":40,"az":113,"ss":29,"used":false},{"PRN":18,"el":40,"az":217,"ss":43,"used":true},{"PRN":26,"el":40,"az":87,"ss":45,"used":true},{"PRN":29,"el":40,"az":164,"ss":33,"used":true},{"PRN":16,"el":28,"az":280,"ss":32,"used":true},{"PRN":10,"el":21,"az":56,"ss":39,"used":true},{"PRN":22,"el":9,"az":225,"ss":30,"used":false},{"PRN":27,"el":6,"az":55,"ss":25,"used":false},{"PRN":7,"el":5,"az":0,"ss":25,"used":false}]} $GPZDA,203548.00,28,01,2009,00,00*6E $GPGGA,203548,5333.7948,N,11326.3730,W,1,07,1.21,655.09,M,-19.872,M,,*7E $GPRMC,203548,A,5333.7948,N,11326.3730,W,0.0000,0.000,280109,,*31 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.5,1.2,2.1*35 $GPGBS,203548,9.05,M,14.66,M,48.99,M*33 {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:35:48.001Z","ept":0.005,"lat":53.563247427,"lon":-113.439549171,"alt":655.088,"epx":9.054,"epy":14.659,"epv":48.990,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,3,1,11,21,73,276,32,24,56,094,46,15,40,113,29,18,40,217,43*72 $GPGSV,3,2,11,26,40,087,45,29,40,164,33,16,28,280,32,10,21,056,39*77 $GPGSV,3,3,11,22,09,225,29,27,06,055,24,07,05,000,25*4E {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.41,"hdop":1.21,"gdop":2.83,"pdop":2.45,"satellites":[{"PRN":21,"el":73,"az":276,"ss":32,"used":true},{"PRN":24,"el":56,"az":94,"ss":46,"used":true},{"PRN":15,"el":40,"az":113,"ss":29,"used":false},{"PRN":18,"el":40,"az":217,"ss":43,"used":true},{"PRN":26,"el":40,"az":87,"ss":45,"used":true},{"PRN":29,"el":40,"az":164,"ss":33,"used":true},{"PRN":16,"el":28,"az":280,"ss":32,"used":true},{"PRN":10,"el":21,"az":56,"ss":39,"used":true},{"PRN":22,"el":9,"az":225,"ss":29,"used":false},{"PRN":27,"el":6,"az":55,"ss":24,"used":false},{"PRN":7,"el":5,"az":0,"ss":25,"used":false}]} $GPZDA,203549.00,28,01,2009,00,00*6F $GPGGA,203549,5333.7947,N,11326.3730,W,1,07,1.21,655.02,M,-19.872,M,,*7B $GPRMC,203549,A,5333.7947,N,11326.3730,W,0.0000,0.000,280109,,*3F $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.5,1.2,2.1*35 $GPGBS,203549,9.05,M,14.66,M,48.99,M*32 {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:35:49.001Z","ept":0.005,"lat":53.563245784,"lon":-113.439549937,"alt":655.024,"epx":9.054,"epy":14.659,"epv":48.990,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,3,1,12,21,73,276,32,24,56,094,46,15,40,113,26,18,40,217,43*7E $GPGSV,3,2,12,26,40,087,45,29,40,164,33,16,28,280,32,10,21,056,39*74 $GPGSV,3,3,12,03,10,317,25,22,09,225,30,27,06,055,25,07,05,000,25*74 {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.41,"hdop":1.21,"gdop":2.83,"pdop":2.45,"satellites":[{"PRN":21,"el":73,"az":276,"ss":32,"used":true},{"PRN":24,"el":56,"az":94,"ss":46,"used":true},{"PRN":15,"el":40,"az":113,"ss":26,"used":false},{"PRN":18,"el":40,"az":217,"ss":43,"used":true},{"PRN":26,"el":40,"az":87,"ss":45,"used":true},{"PRN":29,"el":40,"az":164,"ss":33,"used":true},{"PRN":16,"el":28,"az":280,"ss":32,"used":true},{"PRN":10,"el":21,"az":56,"ss":39,"used":true},{"PRN":3,"el":10,"az":317,"ss":25,"used":false},{"PRN":22,"el":9,"az":225,"ss":30,"used":false},{"PRN":27,"el":6,"az":55,"ss":25,"used":false},{"PRN":7,"el":5,"az":0,"ss":25,"used":false}]} $GPZDA,203550.00,28,01,2009,00,00*67 $GPGGA,203550,5333.7947,N,11326.3731,W,1,07,1.21,654.88,M,-19.872,M,,*71 $GPRMC,203550,A,5333.7947,N,11326.3731,W,0.0000,0.000,280109,,*36 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.5,1.2,2.1*35 $GPGBS,203550,9.05,M,14.66,M,48.99,M*3A {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:35:50.001Z","ept":0.005,"lat":53.563244339,"lon":-113.439551123,"alt":654.882,"epx":9.054,"epy":14.659,"epv":48.990,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,3,1,12,21,73,276,31,24,56,094,46,15,40,113,23,18,40,217,43*78 $GPGSV,3,2,12,26,40,087,45,29,40,164,33,16,28,280,31,10,21,056,39*77 $GPGSV,3,3,12,03,10,317,24,22,09,225,30,27,06,055,25,07,05,000,26*76 {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.41,"hdop":1.21,"gdop":2.83,"pdop":2.45,"satellites":[{"PRN":21,"el":73,"az":276,"ss":31,"used":true},{"PRN":24,"el":56,"az":94,"ss":46,"used":true},{"PRN":15,"el":40,"az":113,"ss":23,"used":false},{"PRN":18,"el":40,"az":217,"ss":43,"used":true},{"PRN":26,"el":40,"az":87,"ss":45,"used":true},{"PRN":29,"el":40,"az":164,"ss":33,"used":true},{"PRN":16,"el":28,"az":280,"ss":31,"used":true},{"PRN":10,"el":21,"az":56,"ss":39,"used":true},{"PRN":3,"el":10,"az":317,"ss":24,"used":false},{"PRN":22,"el":9,"az":225,"ss":30,"used":false},{"PRN":27,"el":6,"az":55,"ss":25,"used":false},{"PRN":7,"el":5,"az":0,"ss":26,"used":false}]} $GPZDA,203551.00,28,01,2009,00,00*66 $GPGGA,203551,5333.7946,N,11326.3731,W,1,07,1.21,654.80,M,-19.872,M,,*79 $GPRMC,203551,A,5333.7946,N,11326.3731,W,0.0000,0.000,280109,,*36 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.5,1.2,2.1*35 $GPGBS,203551,9.05,M,14.66,M,48.99,M*3B {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:35:51.001Z","ept":0.005,"lat":53.563242857,"lon":-113.439551871,"alt":654.805,"epx":9.054,"epy":14.659,"epv":48.990,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,3,1,12,21,73,276,31,24,56,094,46,15,40,113,25,18,40,217,43*7E $GPGSV,3,2,12,26,40,087,45,29,40,164,33,16,28,280,32,10,21,056,39*74 $GPGSV,3,3,12,03,10,317,24,22,09,225,30,27,06,055,25,07,05,000,26*76 {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.41,"hdop":1.21,"gdop":2.83,"pdop":2.45,"satellites":[{"PRN":21,"el":73,"az":276,"ss":31,"used":true},{"PRN":24,"el":56,"az":94,"ss":46,"used":true},{"PRN":15,"el":40,"az":113,"ss":25,"used":false},{"PRN":18,"el":40,"az":217,"ss":43,"used":true},{"PRN":26,"el":40,"az":87,"ss":45,"used":true},{"PRN":29,"el":40,"az":164,"ss":33,"used":true},{"PRN":16,"el":28,"az":280,"ss":32,"used":true},{"PRN":10,"el":21,"az":56,"ss":39,"used":true},{"PRN":3,"el":10,"az":317,"ss":24,"used":false},{"PRN":22,"el":9,"az":225,"ss":30,"used":false},{"PRN":27,"el":6,"az":55,"ss":25,"used":false},{"PRN":7,"el":5,"az":0,"ss":26,"used":false}]} {"class":"SUBFRAME","tSV":21,"TOW17":55561,"frame":1,"scaled":false,"EPHEM1":{"WN":492,"IODC":58,"L2":1,"ura":0,"hlth":0,"L2P":0,"Tgd":-25,"toc":21150,"af2":0,"af1":-16,"af0":68082}} {"class":"SUBFRAME","tSV":24,"TOW17":55561,"frame":1,"scaled":false,"EPHEM1":{"WN":492,"IODC":79,"L2":1,"ura":1,"hlth":0,"L2P":0,"Tgd":-3,"toc":21150,"af2":0,"af1":26,"af0":346113}} {"class":"SUBFRAME","tSV":15,"TOW17":55561,"frame":1,"scaled":false,"EPHEM1":{"WN":492,"IODC":37,"L2":1,"ura":0,"hlth":0,"L2P":0,"Tgd":-21,"toc":21150,"af2":0,"af1":-48,"af0":-534490}} {"class":"SUBFRAME","tSV":18,"TOW17":55561,"frame":1,"scaled":false,"EPHEM1":{"WN":492,"IODC":54,"L2":1,"ura":0,"hlth":0,"L2P":0,"Tgd":-23,"toc":21150,"af2":0,"af1":32,"af0":-190371}} {"class":"SUBFRAME","tSV":26,"TOW17":55561,"frame":1,"scaled":false,"EPHEM1":{"WN":492,"IODC":52,"L2":1,"ura":0,"hlth":0,"L2P":0,"Tgd":-13,"toc":21149,"af2":0,"af1":28,"af0":86285}} {"class":"SUBFRAME","tSV":29,"TOW17":55561,"frame":1,"scaled":false,"EPHEM1":{"WN":492,"IODC":58,"L2":1,"ura":0,"hlth":0,"L2P":0,"Tgd":-19,"toc":21150,"af2":0,"af1":26,"af0":-31408}} {"class":"SUBFRAME","tSV":16,"TOW17":55561,"frame":1,"scaled":false,"EPHEM1":{"WN":492,"IODC":51,"L2":1,"ura":0,"hlth":0,"L2P":0,"Tgd":-21,"toc":21150,"af2":0,"af1":-24,"af0":169016}} {"class":"SUBFRAME","tSV":10,"TOW17":55561,"frame":1,"scaled":false,"EPHEM1":{"WN":492,"IODC":130,"L2":1,"ura":2,"hlth":0,"L2P":0,"Tgd":-6,"toc":21150,"af2":0,"af1":-5,"af0":-21984}} {"class":"SUBFRAME","tSV":22,"TOW17":55561,"frame":1,"scaled":false,"EPHEM1":{"WN":492,"IODC":45,"L2":1,"ura":1,"hlth":0,"L2P":0,"Tgd":-39,"toc":21150,"af2":0,"af1":-7,"af0":442250}} {"class":"SUBFRAME","tSV":7,"TOW17":55561,"frame":1,"scaled":false,"EPHEM1":{"WN":492,"IODC":54,"L2":1,"ura":0,"hlth":0,"L2P":0,"Tgd":-23,"toc":21150,"af2":0,"af1":-2,"af0":49560}} $GPZDA,203552.00,28,01,2009,00,00*65 $GPGGA,203552,5333.7945,N,11326.3731,W,1,07,1.21,654.84,M,-19.872,M,,*7D $GPRMC,203552,A,5333.7945,N,11326.3731,W,0.0000,0.000,280109,,*36 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.5,1.2,2.1*35 $GPGBS,203552,9.05,M,14.66,M,48.99,M*38 {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:35:52.001Z","ept":0.005,"lat":53.563241243,"lon":-113.439552276,"alt":654.838,"epx":9.054,"epy":14.659,"epv":48.990,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,3,1,12,21,73,276,31,24,56,094,45,15,40,113,25,18,40,217,43*7D $GPGSV,3,2,12,26,40,087,45,29,40,164,33,16,28,280,32,10,21,056,39*74 $GPGSV,3,3,12,03,10,317,25,22,09,225,30,27,06,055,25,07,05,000,25*74 {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.14,"tdop":1.41,"hdop":1.21,"gdop":2.83,"pdop":2.45,"satellites":[{"PRN":21,"el":73,"az":276,"ss":31,"used":true},{"PRN":24,"el":56,"az":94,"ss":45,"used":true},{"PRN":15,"el":40,"az":113,"ss":25,"used":false},{"PRN":18,"el":40,"az":217,"ss":43,"used":true},{"PRN":26,"el":40,"az":87,"ss":45,"used":true},{"PRN":29,"el":40,"az":164,"ss":33,"used":true},{"PRN":16,"el":28,"az":280,"ss":32,"used":true},{"PRN":10,"el":21,"az":56,"ss":39,"used":true},{"PRN":3,"el":10,"az":317,"ss":25,"used":false},{"PRN":22,"el":9,"az":225,"ss":30,"used":false},{"PRN":27,"el":6,"az":55,"ss":25,"used":false},{"PRN":7,"el":5,"az":0,"ss":25,"used":false}]} $GPZDA,203553.00,28,01,2009,00,00*64 $GPGGA,203553,5333.7944,N,11326.3731,W,1,07,1.21,654.89,M,-19.872,M,,*70 $GPRMC,203553,A,5333.7944,N,11326.3731,W,0.0000,0.000,280109,,*36 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.5,1.2,2.1*35 $GPGBS,203553,9.05,M,14.66,M,49.22,M*38 {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:35:53.001Z","ept":0.005,"lat":53.563239698,"lon":-113.439552484,"alt":654.890,"epx":9.054,"epy":14.659,"epv":49.220,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,3,1,12,21,73,276,31,24,56,094,45,15,40,113,25,18,40,217,43*7D $GPGSV,3,2,12,26,40,087,45,29,40,164,33,16,28,280,32,10,21,056,40*7A $GPGSV,3,3,12,03,10,317,25,22,09,225,30,27,06,055,24,07,05,000,25*75 {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.41,"hdop":1.21,"gdop":2.83,"pdop":2.45,"satellites":[{"PRN":21,"el":73,"az":276,"ss":31,"used":true},{"PRN":24,"el":56,"az":94,"ss":45,"used":true},{"PRN":15,"el":40,"az":113,"ss":25,"used":false},{"PRN":18,"el":40,"az":217,"ss":43,"used":true},{"PRN":26,"el":40,"az":87,"ss":45,"used":true},{"PRN":29,"el":40,"az":164,"ss":33,"used":true},{"PRN":16,"el":28,"az":280,"ss":32,"used":true},{"PRN":10,"el":21,"az":56,"ss":40,"used":true},{"PRN":3,"el":10,"az":317,"ss":25,"used":false},{"PRN":22,"el":9,"az":225,"ss":30,"used":false},{"PRN":27,"el":6,"az":55,"ss":24,"used":false},{"PRN":7,"el":5,"az":0,"ss":25,"used":false}]} $GPZDA,203554.00,28,01,2009,00,00*63 $GPGGA,203554,5333.7943,N,11326.3732,W,1,07,1.21,654.98,M,-19.872,M,,*73 $GPRMC,203554,A,5333.7943,N,11326.3732,W,0.0000,0.000,280109,,*35 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.5,1.2,2.1*35 $GPGBS,203554,9.05,M,14.66,M,48.99,M*3E {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:35:54.001Z","ept":0.005,"lat":53.563238309,"lon":-113.439552968,"alt":654.979,"epx":9.054,"epy":14.659,"epv":48.990,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,3,1,12,21,73,276,32,24,56,094,45,15,40,113,24,18,40,217,43*7F $GPGSV,3,2,12,26,40,087,45,29,40,164,34,16,28,280,32,10,21,056,39*73 $GPGSV,3,3,12,03,10,317,25,22,09,225,30,27,06,055,24,07,05,000,25*75 {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.41,"hdop":1.21,"gdop":2.83,"pdop":2.45,"satellites":[{"PRN":21,"el":73,"az":276,"ss":32,"used":true},{"PRN":24,"el":56,"az":94,"ss":45,"used":true},{"PRN":15,"el":40,"az":113,"ss":24,"used":false},{"PRN":18,"el":40,"az":217,"ss":43,"used":true},{"PRN":26,"el":40,"az":87,"ss":45,"used":true},{"PRN":29,"el":40,"az":164,"ss":34,"used":true},{"PRN":16,"el":28,"az":280,"ss":32,"used":true},{"PRN":10,"el":21,"az":56,"ss":39,"used":true},{"PRN":3,"el":10,"az":317,"ss":25,"used":false},{"PRN":22,"el":9,"az":225,"ss":30,"used":false},{"PRN":27,"el":6,"az":55,"ss":24,"used":false},{"PRN":7,"el":5,"az":0,"ss":25,"used":false}]} $GPZDA,203555.00,28,01,2009,00,00*62 $GPGGA,203555,5333.7942,N,11326.3732,W,1,07,1.21,655.09,M,-19.872,M,,*7A $GPRMC,203555,A,5333.7942,N,11326.3732,W,0.0000,0.000,280109,,*35 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.5,1.2,2.1*35 $GPGBS,203555,9.05,M,14.66,M,48.99,M*3F {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:35:55.001Z","ept":0.005,"lat":53.563236952,"lon":-113.439553055,"alt":655.091,"epx":9.054,"epy":14.659,"epv":48.990,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,3,1,12,21,73,276,32,24,56,094,45,15,40,113,23,18,40,217,43*78 $GPGSV,3,2,12,26,40,087,45,29,40,164,33,16,28,280,33,10,21,056,39*75 $GPGSV,3,3,12,03,10,317,25,22,09,225,30,27,06,055,27,07,05,000,25*76 {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.41,"hdop":1.21,"gdop":2.83,"pdop":2.45,"satellites":[{"PRN":21,"el":73,"az":276,"ss":32,"used":true},{"PRN":24,"el":56,"az":94,"ss":45,"used":true},{"PRN":15,"el":40,"az":113,"ss":23,"used":false},{"PRN":18,"el":40,"az":217,"ss":43,"used":true},{"PRN":26,"el":40,"az":87,"ss":45,"used":true},{"PRN":29,"el":40,"az":164,"ss":33,"used":true},{"PRN":16,"el":28,"az":280,"ss":33,"used":true},{"PRN":10,"el":21,"az":56,"ss":39,"used":true},{"PRN":3,"el":10,"az":317,"ss":25,"used":false},{"PRN":22,"el":9,"az":225,"ss":30,"used":false},{"PRN":27,"el":6,"az":55,"ss":27,"used":false},{"PRN":7,"el":5,"az":0,"ss":25,"used":false}]} $GPZDA,203556.00,28,01,2009,00,00*61 $GPGGA,203556,5333.7941,N,11326.3732,W,1,07,1.21,655.13,M,-19.872,M,,*71 $GPRMC,203556,A,5333.7941,N,11326.3732,W,0.0000,0.000,280109,,*35 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.5,1.2,2.1*35 $GPGBS,203556,9.05,M,14.66,M,48.99,M*3C {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:35:56.001Z","ept":0.005,"lat":53.563235688,"lon":-113.439553304,"alt":655.133,"epx":9.054,"epy":14.659,"epv":48.990,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,4,1,13,21,73,276,31,24,56,094,45,15,40,113,24,18,40,217,43*7A $GPGSV,4,2,13,26,40,087,45,29,40,164,33,16,28,280,32,06,21,311,21*7C $GPGSV,4,3,13,10,21,056,40,03,10,317,27,22,09,225,31,27,06,055,27*73 $GPGSV,4,4,13,07,05,000,25*4E {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.41,"hdop":1.21,"gdop":2.83,"pdop":2.45,"satellites":[{"PRN":21,"el":73,"az":276,"ss":31,"used":true},{"PRN":24,"el":56,"az":94,"ss":45,"used":true},{"PRN":15,"el":40,"az":113,"ss":24,"used":false},{"PRN":18,"el":40,"az":217,"ss":43,"used":true},{"PRN":26,"el":40,"az":87,"ss":45,"used":true},{"PRN":29,"el":40,"az":164,"ss":33,"used":true},{"PRN":16,"el":28,"az":280,"ss":32,"used":true},{"PRN":6,"el":21,"az":311,"ss":21,"used":false},{"PRN":10,"el":21,"az":56,"ss":40,"used":true},{"PRN":3,"el":10,"az":317,"ss":27,"used":false},{"PRN":22,"el":9,"az":225,"ss":31,"used":false},{"PRN":27,"el":6,"az":55,"ss":27,"used":false},{"PRN":7,"el":5,"az":0,"ss":25,"used":false}]} $GPZDA,203557.00,28,01,2009,00,00*60 $GPGGA,203557,5333.7941,N,11326.3732,W,1,07,1.21,655.18,M,-19.872,M,,*7B $GPRMC,203557,A,5333.7941,N,11326.3732,W,0.0000,0.000,280109,,*34 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.5,1.2,2.1*35 $GPGBS,203557,9.05,M,14.66,M,48.99,M*3D {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:35:57.001Z","ept":0.005,"lat":53.563234506,"lon":-113.439553414,"alt":655.180,"epx":9.054,"epy":14.659,"epv":48.990,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,4,1,14,21,73,276,31,24,56,094,45,15,40,113,24,18,40,217,44*7A $GPGSV,4,2,14,26,40,087,45,29,40,164,33,16,28,280,33,06,21,311,23*78 $GPGSV,4,3,14,10,21,056,40,03,10,317,27,22,09,225,31,08,06,036,18*70 $GPGSV,4,4,14,27,06,055,27,07,05,000,24*7E {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.41,"hdop":1.21,"gdop":2.83,"pdop":2.45,"satellites":[{"PRN":21,"el":73,"az":276,"ss":31,"used":true},{"PRN":24,"el":56,"az":94,"ss":45,"used":true},{"PRN":15,"el":40,"az":113,"ss":24,"used":false},{"PRN":18,"el":40,"az":217,"ss":44,"used":true},{"PRN":26,"el":40,"az":87,"ss":45,"used":true},{"PRN":29,"el":40,"az":164,"ss":33,"used":true},{"PRN":16,"el":28,"az":280,"ss":33,"used":true},{"PRN":6,"el":21,"az":311,"ss":23,"used":false},{"PRN":10,"el":21,"az":56,"ss":40,"used":true},{"PRN":3,"el":10,"az":317,"ss":27,"used":false},{"PRN":22,"el":9,"az":225,"ss":31,"used":false},{"PRN":8,"el":6,"az":36,"ss":18,"used":false},{"PRN":27,"el":6,"az":55,"ss":27,"used":false},{"PRN":7,"el":5,"az":0,"ss":24,"used":false}]} {"class":"SUBFRAME","tSV":21,"TOW17":55562,"frame":2,"scaled":false,"EPHEM2":{"IODE":58,"Crs":1031,"deltan":15575,"M0":-977836120,"Cuc":844,"e":125335638,"Cus":2248,"sqrtA":2701991003,"toe":21150,"FIT":0,"AODO":31}} {"class":"SUBFRAME","tSV":24,"TOW17":55562,"frame":2,"scaled":false,"EPHEM2":{"IODE":79,"Crs":923,"deltan":14542,"M0":-1919435529,"Cuc":832,"e":59985702,"Cus":2541,"sqrtA":2702002677,"toe":21150,"FIT":0,"AODO":31}} {"class":"SUBFRAME","tSV":18,"TOW17":55562,"frame":2,"scaled":false,"EPHEM2":{"IODE":54,"Crs":-1418,"deltan":13953,"M0":-1848333362,"Cuc":-1228,"e":85115039,"Cus":4471,"sqrtA":2702049767,"toe":21150,"FIT":0,"AODO":31}} {"class":"SUBFRAME","tSV":26,"TOW17":55562,"frame":2,"scaled":false,"EPHEM2":{"IODE":52,"Crs":2530,"deltan":10236,"M0":437476075,"Cuc":2361,"e":167542544,"Cus":5775,"sqrtA":2701994517,"toe":21149,"FIT":0,"AODO":13}} {"class":"SUBFRAME","tSV":29,"TOW17":55562,"frame":2,"scaled":false,"EPHEM2":{"IODE":58,"Crs":76,"deltan":12055,"M0":-938315710,"Cuc":88,"e":27866040,"Cus":6620,"sqrtA":2702052051,"toe":21150,"FIT":0,"AODO":31}} {"class":"SUBFRAME","tSV":16,"TOW17":55562,"frame":2,"scaled":false,"EPHEM2":{"IODE":51,"Crs":-3369,"deltan":12281,"M0":-1932940957,"Cuc":-2844,"e":42946421,"Cus":3526,"sqrtA":2702052493,"toe":21150,"FIT":0,"AODO":31}} {"class":"SUBFRAME","tSV":10,"TOW17":55562,"frame":2,"scaled":false,"EPHEM2":{"IODE":130,"Crs":-1376,"deltan":13065,"M0":1493270470,"Cuc":-1234,"e":73058005,"Cus":4741,"sqrtA":2702063739,"toe":21150,"FIT":0,"AODO":31}} {"class":"SUBFRAME","tSV":22,"TOW17":55562,"frame":2,"scaled":false,"EPHEM2":{"IODE":45,"Crs":-1494,"deltan":14256,"M0":1671701934,"Cuc":-1300,"e":42195837,"Cus":4384,"sqrtA":2702003747,"toe":21150,"FIT":0,"AODO":31}} $GPZDA,203558.00,28,01,2009,00,00*6F $GPGGA,203558,5333.7940,N,11326.3732,W,1,07,1.21,655.22,M,-19.872,M,,*7C $GPRMC,203558,A,5333.7940,N,11326.3732,W,0.0000,0.000,280109,,*3A $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.5,1.2,2.1*35 $GPGBS,203558,9.05,M,14.66,M,48.99,M*32 {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:35:58.001Z","ept":0.005,"lat":53.563233539,"lon":-113.439553506,"alt":655.222,"epx":9.054,"epy":14.659,"epv":48.990,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,4,1,14,21,73,276,31,24,56,094,45,15,40,113,24,18,40,217,44*7A $GPGSV,4,2,14,26,40,087,45,29,40,164,33,16,28,280,33,06,21,311,25*7E $GPGSV,4,3,14,10,21,056,40,03,10,317,26,22,09,225,31,08,06,036,18*71 $GPGSV,4,4,14,27,06,055,26,07,05,000,24*7F {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.41,"hdop":1.21,"gdop":2.82,"pdop":2.45,"satellites":[{"PRN":21,"el":73,"az":276,"ss":31,"used":true},{"PRN":24,"el":56,"az":94,"ss":45,"used":true},{"PRN":15,"el":40,"az":113,"ss":24,"used":false},{"PRN":18,"el":40,"az":217,"ss":44,"used":true},{"PRN":26,"el":40,"az":87,"ss":45,"used":true},{"PRN":29,"el":40,"az":164,"ss":33,"used":true},{"PRN":16,"el":28,"az":280,"ss":33,"used":true},{"PRN":6,"el":21,"az":311,"ss":25,"used":false},{"PRN":10,"el":21,"az":56,"ss":40,"used":true},{"PRN":3,"el":10,"az":317,"ss":26,"used":false},{"PRN":22,"el":9,"az":225,"ss":31,"used":false},{"PRN":8,"el":6,"az":36,"ss":18,"used":false},{"PRN":27,"el":6,"az":55,"ss":26,"used":false},{"PRN":7,"el":5,"az":0,"ss":24,"used":false}]} $GPZDA,203559.00,28,01,2009,00,00*6E $GPGGA,203559,5333.7940,N,11326.3733,W,1,07,1.21,655.22,M,-19.872,M,,*7C $GPRMC,203559,A,5333.7940,N,11326.3733,W,0.0000,0.000,280109,,*3A $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.5,1.2,2.1*35 $GPGBS,203559,9.05,M,14.66,M,48.99,M*33 {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:35:59.001Z","ept":0.005,"lat":53.563232686,"lon":-113.439554175,"alt":655.218,"epx":9.054,"epy":14.659,"epv":48.990,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,4,1,14,21,73,276,31,24,56,094,45,15,40,113,24,18,40,217,44*7A $GPGSV,4,2,14,26,40,087,44,29,40,164,34,16,28,280,31,06,21,311,25*7A $GPGSV,4,3,14,10,21,056,40,03,10,317,25,22,09,225,30,08,06,036,15*7E $GPGSV,4,4,14,27,06,055,27,07,05,000,24*7E {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.41,"hdop":1.21,"gdop":2.83,"pdop":2.45,"satellites":[{"PRN":21,"el":73,"az":276,"ss":31,"used":true},{"PRN":24,"el":56,"az":94,"ss":45,"used":true},{"PRN":15,"el":40,"az":113,"ss":24,"used":false},{"PRN":18,"el":40,"az":217,"ss":44,"used":true},{"PRN":26,"el":40,"az":87,"ss":44,"used":true},{"PRN":29,"el":40,"az":164,"ss":34,"used":true},{"PRN":16,"el":28,"az":280,"ss":31,"used":true},{"PRN":6,"el":21,"az":311,"ss":25,"used":false},{"PRN":10,"el":21,"az":56,"ss":40,"used":true},{"PRN":3,"el":10,"az":317,"ss":25,"used":false},{"PRN":22,"el":9,"az":225,"ss":30,"used":false},{"PRN":8,"el":6,"az":36,"ss":15,"used":false},{"PRN":27,"el":6,"az":55,"ss":27,"used":false},{"PRN":7,"el":5,"az":0,"ss":24,"used":false}]} $GPZDA,203600.00,28,01,2009,00,00*61 $GPGGA,203600,5333.7939,N,11326.3733,W,1,07,1.21,655.26,M,-19.872,M,,*79 $GPRMC,203600,A,5333.7939,N,11326.3733,W,0.0000,0.000,280109,,*3B $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.5,1.2,2.1*35 $GPGBS,203600,9.05,M,14.66,M,48.99,M*3C {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:36:00.001Z","ept":0.005,"lat":53.563232220,"lon":-113.439554904,"alt":655.256,"epx":9.054,"epy":14.659,"epv":48.990,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,4,1,14,21,73,276,32,24,56,094,45,15,40,113,23,18,40,217,44*7E $GPGSV,4,2,14,26,40,087,44,29,40,164,34,16,28,280,31,06,21,311,25*7A $GPGSV,4,3,14,10,21,056,40,03,10,317,25,22,09,225,30,08,06,036,18*73 $GPGSV,4,4,14,27,06,055,27,07,05,000,24*7E {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.41,"hdop":1.21,"gdop":2.82,"pdop":2.45,"satellites":[{"PRN":21,"el":73,"az":276,"ss":32,"used":true},{"PRN":24,"el":56,"az":94,"ss":45,"used":true},{"PRN":15,"el":40,"az":113,"ss":23,"used":false},{"PRN":18,"el":40,"az":217,"ss":44,"used":true},{"PRN":26,"el":40,"az":87,"ss":44,"used":true},{"PRN":29,"el":40,"az":164,"ss":34,"used":true},{"PRN":16,"el":28,"az":280,"ss":31,"used":true},{"PRN":6,"el":21,"az":311,"ss":25,"used":false},{"PRN":10,"el":21,"az":56,"ss":40,"used":true},{"PRN":3,"el":10,"az":317,"ss":25,"used":false},{"PRN":22,"el":9,"az":225,"ss":30,"used":false},{"PRN":8,"el":6,"az":36,"ss":18,"used":false},{"PRN":27,"el":6,"az":55,"ss":27,"used":false},{"PRN":7,"el":5,"az":0,"ss":24,"used":false}]} $GPZDA,203601.00,28,01,2009,00,00*60 $GPGGA,203601,5333.7939,N,11326.3733,W,1,06,1.21,655.20,M,-19.872,M,,*7F $GPRMC,203601,A,5333.7939,N,11326.3733,W,0.0000,0.000,280109,,*3A $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.5,1.2,2.1*35 $GPGBS,203601,9.05,M,14.66,M,48.99,M*3D {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:36:01.001Z","ept":0.005,"lat":53.563231439,"lon":-113.439555338,"alt":655.196,"epx":9.054,"epy":14.659,"epv":48.990,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,4,1,14,21,73,276,32,24,56,094,45,15,40,113,24,18,40,217,44*79 $GPGSV,4,2,14,26,40,087,44,29,40,164,34,16,28,280,31,06,21,311,28*77 $GPGSV,4,3,14,10,21,056,40,03,10,317,25,22,09,225,30,08,06,036,18*73 $GPGSV,4,4,14,27,06,055,27,07,05,000,24*7E {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":3.55,"tdop":2.03,"hdop":1.47,"gdop":4.34,"pdop":3.84,"satellites":[{"PRN":21,"el":73,"az":276,"ss":32,"used":false},{"PRN":24,"el":56,"az":94,"ss":45,"used":true},{"PRN":15,"el":40,"az":113,"ss":24,"used":false},{"PRN":18,"el":40,"az":217,"ss":44,"used":true},{"PRN":26,"el":40,"az":87,"ss":44,"used":true},{"PRN":29,"el":40,"az":164,"ss":34,"used":true},{"PRN":16,"el":28,"az":280,"ss":31,"used":true},{"PRN":6,"el":21,"az":311,"ss":28,"used":false},{"PRN":10,"el":21,"az":56,"ss":40,"used":true},{"PRN":3,"el":10,"az":317,"ss":25,"used":false},{"PRN":22,"el":9,"az":225,"ss":30,"used":false},{"PRN":8,"el":6,"az":36,"ss":18,"used":false},{"PRN":27,"el":6,"az":55,"ss":27,"used":false},{"PRN":7,"el":5,"az":0,"ss":24,"used":false}]} $GPZDA,203602.00,28,01,2009,00,00*63 $GPGGA,203602,5333.7939,N,11326.3734,W,1,07,1.47,655.19,M,-19.872,M,,*70 $GPRMC,203602,A,5333.7939,N,11326.3734,W,0.0000,0.000,280109,,*3E $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3.8,1.5,3.5*3B $GPGBS,203602,9.05,M,14.66,M,81.65,M*38 {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:36:02.001Z","ept":0.005,"lat":53.563230854,"lon":-113.439555989,"alt":655.194,"epx":9.054,"epy":14.659,"epv":81.650,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,4,1,14,21,73,276,31,24,56,094,45,15,40,113,24,18,40,217,44*7A $GPGSV,4,2,14,26,40,087,44,29,40,164,33,16,28,280,31,06,21,311,27*7F $GPGSV,4,3,14,10,21,056,40,03,10,317,25,22,09,225,30,08,06,036,18*73 $GPGSV,4,4,14,27,06,055,28,07,05,000,21*74 {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.41,"hdop":1.21,"gdop":2.82,"pdop":2.45,"satellites":[{"PRN":21,"el":73,"az":276,"ss":31,"used":true},{"PRN":24,"el":56,"az":94,"ss":45,"used":true},{"PRN":15,"el":40,"az":113,"ss":24,"used":false},{"PRN":18,"el":40,"az":217,"ss":44,"used":true},{"PRN":26,"el":40,"az":87,"ss":44,"used":true},{"PRN":29,"el":40,"az":164,"ss":33,"used":true},{"PRN":16,"el":28,"az":280,"ss":31,"used":true},{"PRN":6,"el":21,"az":311,"ss":27,"used":false},{"PRN":10,"el":21,"az":56,"ss":40,"used":true},{"PRN":3,"el":10,"az":317,"ss":25,"used":false},{"PRN":22,"el":9,"az":225,"ss":30,"used":false},{"PRN":8,"el":6,"az":36,"ss":18,"used":false},{"PRN":27,"el":6,"az":55,"ss":28,"used":false},{"PRN":7,"el":5,"az":0,"ss":21,"used":false}]} $GPZDA,203603.00,28,01,2009,00,00*62 $GPGGA,203603,5333.7938,N,11326.3734,W,1,07,1.21,655.18,M,-19.872,M,,*71 $GPRMC,203603,A,5333.7938,N,11326.3734,W,0.0000,0.000,280109,,*3E $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.5,1.2,2.1*35 $GPGBS,203603,9.05,M,14.66,M,48.99,M*3F {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:36:03.001Z","ept":0.005,"lat":53.563230468,"lon":-113.439556819,"alt":655.176,"epx":9.054,"epy":14.659,"epv":48.990,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,4,1,14,21,73,276,31,24,56,094,45,15,40,113,25,18,40,217,44*7B $GPGSV,4,2,14,26,40,087,44,29,40,164,33,16,28,280,30,06,21,311,27*7E $GPGSV,4,3,14,10,21,056,40,03,10,317,25,22,09,225,30,08,06,036,18*73 $GPGSV,4,4,14,27,06,055,28,07,05,000,21*74 {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.41,"hdop":1.21,"gdop":2.83,"pdop":2.45,"satellites":[{"PRN":21,"el":73,"az":276,"ss":31,"used":true},{"PRN":24,"el":56,"az":94,"ss":45,"used":true},{"PRN":15,"el":40,"az":113,"ss":25,"used":false},{"PRN":18,"el":40,"az":217,"ss":44,"used":true},{"PRN":26,"el":40,"az":87,"ss":44,"used":true},{"PRN":29,"el":40,"az":164,"ss":33,"used":true},{"PRN":16,"el":28,"az":280,"ss":30,"used":true},{"PRN":6,"el":21,"az":311,"ss":27,"used":false},{"PRN":10,"el":21,"az":56,"ss":40,"used":true},{"PRN":3,"el":10,"az":317,"ss":25,"used":false},{"PRN":22,"el":9,"az":225,"ss":30,"used":false},{"PRN":8,"el":6,"az":36,"ss":18,"used":false},{"PRN":27,"el":6,"az":55,"ss":28,"used":false},{"PRN":7,"el":5,"az":0,"ss":21,"used":false}]} {"class":"SUBFRAME","tSV":21,"TOW17":55563,"frame":3,"scaled":false,"EPHEM3":{"IODE":58,"IDOT":1137,"Cic":113,"Omega0":1199286404,"Cis":-108,"i0":638591377,"Crc":8964,"omega":-1812277903,"Omegad":-23923}} {"class":"SUBFRAME","tSV":24,"TOW17":55563,"frame":3,"scaled":false,"EPHEM3":{"IODE":79,"IDOT":596,"Cic":4294967282,"Omega0":1219887764,"Cis":56,"i0":649966198,"Crc":9067,"omega":-437975068,"Omegad":-23311}} {"class":"SUBFRAME","tSV":18,"TOW17":55563,"frame":3,"scaled":false,"EPHEM3":{"IODE":54,"IDOT":4294965774,"Cic":44,"Omega0":1922944253,"Cis":-96,"i0":645451556,"Crc":6659,"omega":-1665834521,"Omegad":-22830}} {"class":"SUBFRAME","tSV":26,"TOW17":55563,"frame":3,"scaled":false,"EPHEM3":{"IODE":52,"IDOT":4294967097,"Cic":4294967162,"Omega0":-1642808014,"Cis":82,"i0":678987116,"Crc":6145,"omega":660724449,"Omegad":-21999}} {"class":"SUBFRAME","tSV":29,"TOW17":55563,"frame":3,"scaled":false,"EPHEM3":{"IODE":58,"IDOT":1132,"Cic":4294967263,"Omega0":485447777,"Cis":39,"i0":656255014,"Crc":4520,"omega":-919127269,"Omegad":-22075}} {"class":"SUBFRAME","tSV":16,"TOW17":55563,"frame":3,"scaled":false,"EPHEM3":{"IODE":51,"IDOT":4294966440,"Cic":3,"Omega0":-232018764,"Cis":34,"i0":661535446,"Crc":8251,"omega":-265587199,"Omegad":-22648}} {"class":"SUBFRAME","tSV":10,"TOW17":55563,"frame":3,"scaled":false,"EPHEM3":{"IODE":130,"IDOT":4294965711,"Cic":4294967191,"Omega0":1917993933,"Cis":-30,"i0":656348815,"Crc":6791,"omega":400333754,"Omegad":-22415}} {"class":"SUBFRAME","tSV":22,"TOW17":55563,"frame":3,"scaled":false,"EPHEM3":{"IODE":45,"IDOT":4294965672,"Cic":46,"Omega0":1927008350,"Cis":-27,"i0":643853818,"Crc":6762,"omega":-1242874141,"Omegad":-23019}} $GPZDA,203604.00,28,01,2009,00,00*65 $GPGGA,203604,5333.7938,N,11326.3735,W,1,07,1.21,655.23,M,-19.872,M,,*7F $GPRMC,203604,A,5333.7938,N,11326.3735,W,0.0000,0.000,280109,,*38 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.5,1.2,2.1*35 $GPGBS,203604,9.05,M,14.66,M,48.99,M*38 {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:36:04.001Z","ept":0.005,"lat":53.563230108,"lon":-113.439557548,"alt":655.231,"epx":9.054,"epy":14.659,"epv":48.990,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,4,1,14,21,73,276,32,24,56,094,45,15,40,113,27,18,40,217,44*7A $GPGSV,4,2,14,26,40,087,44,29,40,164,32,16,28,280,31,06,21,311,27*7E $GPGSV,4,3,14,10,21,056,40,03,10,317,25,22,09,225,30,08,06,036,18*73 $GPGSV,4,4,14,27,06,055,28,07,05,000,22*77 {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.41,"hdop":1.21,"gdop":2.82,"pdop":2.45,"satellites":[{"PRN":21,"el":73,"az":276,"ss":32,"used":true},{"PRN":24,"el":56,"az":94,"ss":45,"used":true},{"PRN":15,"el":40,"az":113,"ss":27,"used":false},{"PRN":18,"el":40,"az":217,"ss":44,"used":true},{"PRN":26,"el":40,"az":87,"ss":44,"used":true},{"PRN":29,"el":40,"az":164,"ss":32,"used":true},{"PRN":16,"el":28,"az":280,"ss":31,"used":true},{"PRN":6,"el":21,"az":311,"ss":27,"used":false},{"PRN":10,"el":21,"az":56,"ss":40,"used":true},{"PRN":3,"el":10,"az":317,"ss":25,"used":false},{"PRN":22,"el":9,"az":225,"ss":30,"used":false},{"PRN":8,"el":6,"az":36,"ss":18,"used":false},{"PRN":27,"el":6,"az":55,"ss":28,"used":false},{"PRN":7,"el":5,"az":0,"ss":22,"used":false}]} $GPZDA,203605.00,28,01,2009,00,00*64 $GPGGA,203605,5333.7938,N,11326.3735,W,1,07,1.21,655.29,M,-19.872,M,,*74 $GPRMC,203605,A,5333.7938,N,11326.3735,W,0.0000,0.000,280109,,*39 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.5,1.2,2.1*35 $GPGBS,203605,9.05,M,14.66,M,48.99,M*39 {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:36:05.001Z","ept":0.005,"lat":53.563229839,"lon":-113.439558476,"alt":655.290,"epx":9.054,"epy":14.659,"epv":48.990,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,4,1,14,21,73,276,32,24,56,094,45,15,40,113,27,18,40,217,44*7A $GPGSV,4,2,14,26,40,087,44,29,40,164,33,16,28,280,30,06,21,311,28*71 $GPGSV,4,3,14,10,21,056,40,03,10,317,25,22,09,225,30,08,06,036,18*73 $GPGSV,4,4,14,27,06,055,28,07,05,000,23*76 {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.41,"hdop":1.21,"gdop":2.82,"pdop":2.45,"satellites":[{"PRN":21,"el":73,"az":276,"ss":32,"used":true},{"PRN":24,"el":56,"az":94,"ss":45,"used":true},{"PRN":15,"el":40,"az":113,"ss":27,"used":false},{"PRN":18,"el":40,"az":217,"ss":44,"used":true},{"PRN":26,"el":40,"az":87,"ss":44,"used":true},{"PRN":29,"el":40,"az":164,"ss":33,"used":true},{"PRN":16,"el":28,"az":280,"ss":30,"used":true},{"PRN":6,"el":21,"az":311,"ss":28,"used":false},{"PRN":10,"el":21,"az":56,"ss":40,"used":true},{"PRN":3,"el":10,"az":317,"ss":25,"used":false},{"PRN":22,"el":9,"az":225,"ss":30,"used":false},{"PRN":8,"el":6,"az":36,"ss":18,"used":false},{"PRN":27,"el":6,"az":55,"ss":28,"used":false},{"PRN":7,"el":5,"az":0,"ss":23,"used":false}]} $GPZDA,203606.00,28,01,2009,00,00*67 $GPGGA,203606,5333.7938,N,11326.3735,W,1,07,1.21,655.31,M,-19.872,M,,*7E $GPRMC,203606,A,5333.7938,N,11326.3735,W,0.0000,0.000,280109,,*3A $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2.5,1.2,2.1*35 $GPGBS,203606,9.05,M,14.66,M,48.99,M*3A {"class":"TPV","tag":"0x0106","mode":3,"time":"2009-01-28T20:36:06.001Z","ept":0.005,"lat":53.563229443,"lon":-113.439558988,"alt":655.310,"epx":9.054,"epy":14.659,"epv":48.990,"track":0.0000,"speed":0.000,"climb":0.000,"eps":29.32} $GPGSV,4,1,14,21,73,276,31,24,56,094,45,15,40,113,27,18,40,217,44*79 $GPGSV,4,2,14,26,40,087,44,29,40,164,33,16,28,280,31,06,22,310,27*7D $GPGSV,4,3,14,10,21,056,40,03,10,317,25,22,09,225,30,08,06,036,18*73 $GPGSV,4,4,14,27,06,055,28,07,05,000,23*76 {"class":"SKY","tag":"0x0130","xdop":0.60,"ydop":0.98,"vdop":2.13,"tdop":1.41,"hdop":1.21,"gdop":2.82,"pdop":2.45,"satellites":[{"PRN":21,"el":73,"az":276,"ss":31,"used":true},{"PRN":24,"el":56,"az":94,"ss":45,"used":true},{"PRN":15,"el":40,"az":113,"ss":27,"used":false},{"PRN":18,"el":40,"az":217,"ss":44,"used":true},{"PRN":26,"el":40,"az":87,"ss":44,"used":true},{"PRN":29,"el":40,"az":164,"ss":33,"used":true},{"PRN":16,"el":28,"az":280,"ss":31,"used":true},{"PRN":6,"el":22,"az":310,"ss":27,"used":false},{"PRN":10,"el":21,"az":56,"ss":40,"used":true},{"PRN":3,"el":10,"az":317,"ss":25,"used":false},{"PRN":22,"el":9,"az":225,"ss":30,"used":false},{"PRN":8,"el":6,"az":36,"ss":18,"used":false},{"PRN":27,"el":6,"az":55,"ss":28,"used":false},{"PRN":7,"el":5,"az":0,"ss":23,"used":false}]} gpsd-3.9/test/daemon/uBlox-lea-5h.log0000664000175000017500000007234211762140440015566 0ustar esresr# Name: U-Blox, EVK-5H-0, ID: 1546:01a5 # Chipset: LEA-5H-0 # Submitter: Stephan Dierick # Date: 2010-08-23 # Location: Rotterdam, NL, 51.9N 4.6E # Notess: Unit was stationary. Part without fix (antenna # shielded) and stationary fix. Sentences with # fix begin at timestamp 085515 # $GPTXT,01,01,02,u-blox ag - www.u-blox.com*50 $GPTXT,01,01,02,HW UBX-G50xx 00040005 *53 $GPTXT,01,01,02,EXT CORE 6.00 (33247) May 13 2009 17:35:46*49 $GPTXT,01,01,02,ROM BASE 4.00 (25682) Jan 14 2008 16:29:23*4F $GPTXT,01,01,02,MOD LEA-5H-0*2E $GPTXT,01,01,02,ANTSUPERV=AC SD PDoS SR*20 $GPTXT,01,01,02,ANTSTATUS=OK*3B $GPRMC,083723.00,A,5155.55442,N,00434.65873,E,0.211,,210810,,,A*7F $GPVTG,,T,,M,0.211,N,0.391,K,A*2A $GPGGA,083723.00,5155.55442,N,00434.65873,E,1,06,2.51,-4.0,M,46.0,M,,*70 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.51,2.20*04 $GPGSV,3,1,12,05,04,187,,08,11,078,29,09,43,270,37,12,03,212,*75 $GPGSV,3,2,12,15,78,214,34,17,25,106,18,18,32,294,39,22,13,324,20*77 $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,36,28,39,055,26*77 $GPGLL,5155.55442,N,00434.65873,E,083723.00,A,A*6E $GPRMC,083724.00,A,5155.55430,N,00434.65878,E,0.392,,210810,,,A*7C $GPVTG,,T,,M,0.392,N,0.727,K,A*29 $GPGGA,083724.00,5155.55430,N,00434.65878,E,1,06,2.51,-4.2,M,46.0,M,,*7B $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.51,2.20*04 $GPGSV,3,1,12,05,04,187,,08,11,078,29,09,43,270,37,12,03,212,*75 $GPGSV,3,2,12,15,78,214,34,17,25,106,18,18,32,294,39,22,13,324,20*77 $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,36,28,39,055,26*77 $GPGLL,5155.55430,N,00434.65878,E,083724.00,A,A*67 $GPRMC,083725.00,A,5155.55467,N,00434.65870,E,0.274,,210810,,,A*7E $GPVTG,,T,,M,0.274,N,0.508,K,A*2F $GPGGA,083725.00,5155.55467,N,00434.65870,E,1,06,2.51,-3.2,M,46.0,M,,*77 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.51,2.20*04 $GPGSV,3,1,12,05,04,187,,08,11,078,28,09,43,270,34,12,03,212,*77 $GPGSV,3,2,12,15,78,214,33,17,25,106,17,18,32,294,37,22,13,324,20*71 $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,33,28,39,055,26*72 $GPGLL,5155.55467,N,00434.65870,E,083725.00,A,A*6C $GPRMC,083726.00,A,5155.55458,N,00434.65878,E,0.034,,210810,,,A*7F $GPVTG,,T,,M,0.034,N,0.062,K,A*20 $GPGGA,083726.00,5155.55458,N,00434.65878,E,1,06,2.51,-3.3,M,46.0,M,,*71 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.51,2.20*04 $GPGSV,3,1,12,05,04,187,,08,11,078,28,09,43,270,37,12,03,212,*74 $GPGSV,3,2,12,15,78,214,33,17,25,106,17,18,32,294,39,22,13,324,20*7F $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,34,28,39,055,26*75 $GPGLL,5155.55458,N,00434.65878,E,083726.00,A,A*6B $GPRMC,083727.00,A,5155.55436,N,00434.65880,E,0.094,,210810,,,A*7B $GPVTG,,T,,M,0.094,N,0.174,K,A*2C $GPGGA,083727.00,5155.55436,N,00434.65880,E,1,06,2.51,-3.6,M,46.0,M,,*7A $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.51,2.20*04 $GPGSV,3,1,12,05,04,187,,08,11,078,29,09,43,270,38,12,03,212,*7A $GPGSV,3,2,12,15,78,214,33,17,25,106,16,18,32,294,40,22,13,324,21*71 $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,35,28,39,055,26*74 $GPGLL,5155.55436,N,00434.65880,E,083727.00,A,A*65 $GPRMC,083728.00,A,5155.55420,N,00434.65883,E,0.147,,210810,,,A*7F $GPVTG,,T,,M,0.147,N,0.273,K,A*27 $GPGGA,083728.00,5155.55420,N,00434.65883,E,1,06,2.51,-3.8,M,46.0,M,,*7F $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.51,2.20*04 $GPGSV,3,1,12,05,04,187,,08,11,078,29,09,43,270,38,12,03,212,*7A $GPGSV,3,2,12,15,78,214,34,17,25,106,17,18,32,294,40,22,13,324,22*74 $GPGSV,3,3,12,24,04,342,,26,55,139,25,27,62,276,36,28,39,055,26*76 $GPGLL,5155.55420,N,00434.65883,E,083728.00,A,A*6E $GPRMC,083729.00,A,5155.55404,N,00434.65895,E,0.192,,210810,,,A*77 $GPVTG,,T,,M,0.192,N,0.356,K,A*29 $GPGGA,083729.00,5155.55404,N,00434.65895,E,1,06,2.51,-4.0,M,46.0,M,,*70 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.51,2.20*04 $GPGSV,3,1,12,05,04,187,,08,11,078,29,09,43,270,37,12,03,212,*75 $GPGSV,3,2,12,15,78,214,33,17,25,106,17,18,32,294,40,22,13,324,22*73 $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,35,28,39,055,26*74 $GPGLL,5155.55404,N,00434.65895,E,083729.00,A,A*6E $GPRMC,083730.00,A,5155.55390,N,00434.65909,E,0.045,,210810,,,A*7A $GPVTG,,T,,M,0.045,N,0.084,K,A*2E $GPGGA,083730.00,5155.55390,N,00434.65909,E,1,06,2.51,-4.2,M,46.0,M,,*74 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.51,2.20*04 $GPGSV,3,1,12,05,04,187,,08,11,078,28,09,43,270,37,12,03,212,*74 $GPGSV,3,2,12,15,78,214,33,17,25,106,16,18,32,294,39,22,13,324,21*7F $GPGSV,3,3,12,24,04,342,,26,55,139,25,27,62,276,35,28,39,055,26*75 $GPGLL,5155.55390,N,00434.65909,E,083730.00,A,A*68 $GPRMC,083731.00,A,5155.55368,N,00434.65914,E,0.134,,210810,,,A*77 $GPVTG,,T,,M,0.134,N,0.247,K,A*24 $GPGGA,083731.00,5155.55368,N,00434.65914,E,1,06,2.51,-4.4,M,46.0,M,,*78 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.51,2.20*04 $GPGSV,3,1,12,05,04,187,,08,11,078,28,09,43,270,38,12,03,212,*7B $GPGSV,3,2,12,15,78,214,34,17,25,106,16,18,32,294,40,22,13,324,22*75 $GPGSV,3,3,12,24,04,342,,26,55,139,25,27,62,276,36,28,39,055,27*77 $GPGLL,5155.55368,N,00434.65914,E,083731.00,A,A*62 $GPRMC,083732.00,A,5155.55351,N,00434.65917,E,0.175,,210810,,,A*78 $GPVTG,,T,,M,0.175,N,0.325,K,A*24 $GPGGA,083732.00,5155.55351,N,00434.65917,E,1,06,2.50,-4.5,M,46.0,M,,*72 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,28,09,43,270,36,12,03,212,*75 $GPGSV,3,2,12,15,78,214,32,17,25,106,16,18,32,294,40,22,13,324,22*73 $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,35,28,39,055,26*74 $GPGLL,5155.55351,N,00434.65917,E,083732.00,A,A*68 $GPRMC,083733.00,A,5155.55334,N,00434.65925,E,0.162,,210810,,,A*7D $GPVTG,,T,,M,0.162,N,0.300,K,A*25 $GPGGA,083733.00,5155.55334,N,00434.65925,E,1,06,2.50,-4.7,M,46.0,M,,*73 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,28,09,43,270,37,12,03,212,*74 $GPGSV,3,2,12,15,78,214,33,17,25,106,17,18,32,294,40,22,13,324,22*73 $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,35,28,39,055,27*75 $GPGLL,5155.55334,N,00434.65925,E,083733.00,A,A*6B $GPRMC,083734.00,A,5155.55320,N,00434.65935,E,0.265,,210810,,,A*7A $GPVTG,,T,,M,0.265,N,0.490,K,A*2F $GPGGA,083734.00,5155.55320,N,00434.65935,E,1,06,2.50,-4.9,M,46.0,M,,*7E $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,28,09,43,270,37,12,03,212,*74 $GPGSV,3,2,12,15,78,214,33,17,25,106,16,18,32,294,39,22,13,324,22*7C $GPGSV,3,3,12,24,04,342,,26,55,139,23,27,62,276,36,28,39,055,27*71 $GPGLL,5155.55320,N,00434.65935,E,083734.00,A,A*68 $GPRMC,083735.00,A,5155.55307,N,00434.65949,E,0.152,,210810,,,A*72 $GPVTG,,T,,M,0.152,N,0.282,K,A*2D $GPGGA,083735.00,5155.55307,N,00434.65949,E,1,06,2.50,-5.1,M,46.0,M,,*78 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,26,09,43,270,36,12,03,212,*7B $GPGSV,3,2,12,15,78,214,33,17,25,106,17,18,32,294,39,22,13,324,21*7E $GPGSV,3,3,12,24,04,342,,26,55,139,23,27,62,276,36,28,39,055,27*71 $GPGLL,5155.55307,N,00434.65949,E,083735.00,A,A*67 $GPRMC,083736.00,A,5155.55296,N,00434.65953,E,0.178,,210810,,,A*7B $GPVTG,,T,,M,0.178,N,0.330,K,A*2D $GPGGA,083736.00,5155.55296,N,00434.65953,E,1,06,2.50,-5.2,M,46.0,M,,*7A $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,24,09,43,270,36,12,03,212,*79 $GPGSV,3,2,12,15,78,214,33,17,25,106,19,18,32,294,40,22,13,324,20*7F $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,36,28,39,055,28*79 $GPGLL,5155.55296,N,00434.65953,E,083736.00,A,A*66 $GPRMC,083737.00,A,5155.55299,N,00434.65955,E,0.175,,210810,,,A*7E $GPVTG,,T,,M,0.175,N,0.324,K,A*25 $GPGGA,083737.00,5155.55299,N,00434.65955,E,1,06,2.50,-4.8,M,46.0,M,,*79 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,20,09,43,270,34,12,03,212,*7F $GPGSV,3,2,12,15,78,214,32,17,25,106,19,18,32,294,39,22,13,324,20*70 $GPGSV,3,3,12,24,04,342,,26,55,139,25,27,62,276,34,28,39,055,28*7A $GPGLL,5155.55299,N,00434.65955,E,083737.00,A,A*6E $GPRMC,083738.00,A,5155.55301,N,00434.65955,E,0.473,,210810,,,A*72 $GPVTG,,T,,M,0.473,N,0.877,K,A*2B $GPGGA,083738.00,5155.55301,N,00434.65955,E,1,06,2.50,-4.6,M,46.0,M,,*78 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,19,09,43,270,34,12,03,212,*75 $GPGSV,3,2,12,15,78,214,32,17,25,106,19,18,32,294,39,22,13,324,20*70 $GPGSV,3,3,12,24,04,342,,26,55,139,26,27,62,276,34,28,39,055,27*76 $GPGLL,5155.55301,N,00434.65955,E,083738.00,A,A*61 $GPRMC,083739.00,A,5155.55294,N,00434.65966,E,0.147,,210810,,,A*7C $GPVTG,,T,,M,0.147,N,0.272,K,A*26 $GPGGA,083739.00,5155.55294,N,00434.65966,E,1,06,2.50,-4.7,M,46.0,M,,*75 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,18,09,43,270,35,12,03,212,*75 $GPGSV,3,2,12,15,78,214,32,17,25,106,19,18,32,294,40,22,13,324,21*7F $GPGSV,3,3,12,24,04,342,,26,55,139,26,27,62,276,35,28,39,055,27*77 $GPGLL,5155.55294,N,00434.65966,E,083739.00,A,A*6D $GPRMC,083740.00,A,5155.55278,N,00434.65971,E,0.067,,210810,,,A*75 $GPVTG,,T,,M,0.067,N,0.124,K,A*25 $GPGGA,083740.00,5155.55278,N,00434.65971,E,1,06,2.50,-4.8,M,46.0,M,,*70 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,18,09,43,270,37,12,03,212,*77 $GPGSV,3,2,12,15,78,214,34,17,25,106,19,18,32,294,41,22,13,324,22*7B $GPGSV,3,3,12,24,04,342,,26,55,139,27,27,62,276,36,28,39,055,29*7B $GPGLL,5155.55278,N,00434.65971,E,083740.00,A,A*67 $GPRMC,083741.00,A,5155.55270,N,00434.65978,E,0.150,,210810,,,A*70 $GPVTG,,T,,M,0.150,N,0.278,K,A*2A $GPGGA,083741.00,5155.55270,N,00434.65978,E,1,06,2.50,-4.9,M,46.0,M,,*71 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,17,09,43,270,35,12,03,212,*7A $GPGSV,3,2,12,15,78,214,33,17,25,106,16,18,32,294,38,22,13,324,21*7E $GPGSV,3,3,12,24,04,342,,26,55,139,26,27,62,276,34,28,39,055,28*79 $GPGLL,5155.55270,N,00434.65978,E,083741.00,A,A*67 $GPRMC,083742.00,A,5155.55258,N,00434.65987,E,0.308,,210810,,,A*76 $GPVTG,,T,,M,0.308,N,0.570,K,A*2A $GPGGA,083742.00,5155.55258,N,00434.65987,E,1,06,2.50,-5.1,M,46.0,M,,*71 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,17,09,43,270,35,12,03,212,*7A $GPGSV,3,2,12,15,78,214,33,17,25,106,17,18,32,294,39,22,13,324,21*7E $GPGSV,3,3,12,24,04,342,,26,55,139,27,27,62,276,35,28,39,055,27*76 $GPGLL,5155.55258,N,00434.65987,E,083742.00,A,A*6E $GPRMC,083743.00,A,5155.55243,N,00434.66004,E,0.307,,210810,,,A*73 $GPVTG,,T,,M,0.307,N,0.568,K,A*2C $GPGGA,083743.00,5155.55243,N,00434.66004,E,1,06,2.50,-5.3,M,46.0,M,,*79 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,10,078,21,09,43,270,35,12,03,212,*7E $GPGSV,3,2,12,15,78,214,33,17,25,106,17,18,32,294,39,22,13,324,21*7E $GPGSV,3,3,12,24,04,342,,26,55,139,26,27,62,276,35,28,39,055,26*76 $GPGLL,5155.55243,N,00434.66004,E,083743.00,A,A*64 $GPRMC,083744.00,A,5155.55229,N,00434.66021,E,0.280,,210810,,,A*71 $GPVTG,,T,,M,0.280,N,0.518,K,A*25 $GPGGA,083744.00,5155.55229,N,00434.66021,E,1,06,2.50,-5.6,M,46.0,M,,*70 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,10,078,21,09,43,271,35,12,03,212,*7F $GPGSV,3,2,12,15,78,214,33,17,25,106,18,18,32,294,38,22,13,324,22*73 $GPGSV,3,3,12,24,04,342,,26,55,139,26,27,62,276,35,28,39,055,26*76 $GPGLL,5155.55229,N,00434.66021,E,083744.00,A,A*68 $GPRMC,083745.00,A,5155.55212,N,00434.66032,E,0.270,,210810,,,A*75 $GPVTG,,T,,M,0.270,N,0.501,K,A*22 $GPGGA,083745.00,5155.55212,N,00434.66032,E,1,06,2.50,-5.9,M,46.0,M,,*74 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.19*0F $GPGSV,3,1,12,05,04,187,,08,10,078,21,09,43,271,35,12,03,212,*7F $GPGSV,3,2,12,15,78,214,33,17,25,106,17,18,32,294,39,22,13,324,21*7E $GPGSV,3,3,12,24,04,342,,26,55,139,25,27,62,276,34,28,39,055,26*74 $GPGLL,5155.55212,N,00434.66032,E,083745.00,A,A*63 $GPRMC,083746.00,A,5155.55191,N,00434.66035,E,0.290,,210810,,,A*77 $GPVTG,,T,,M,0.290,N,0.536,K,A*28 $GPGGA,083746.00,5155.55191,N,00434.66035,E,1,06,2.50,-6.1,M,46.0,M,,*73 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.19*0F $GPGSV,3,1,12,05,04,187,,08,10,078,20,09,43,271,36,12,03,212,*7D $GPGSV,3,2,12,15,78,214,33,17,25,106,17,18,32,294,41,22,13,324,21*71 $GPGSV,3,3,12,24,04,342,,26,55,139,25,27,62,276,36,28,39,055,27*77 $GPGLL,5155.55191,N,00434.66035,E,083746.00,A,A*6F $GPRMC,083747.00,A,5155.55209,N,00434.66012,E,0.358,,210810,,,A*74 $GPVTG,,T,,M,0.358,N,0.664,K,A*29 $GPGGA,083747.00,5155.55209,N,00434.66012,E,1,06,2.50,-5.2,M,46.0,M,,*75 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.19*0F $GPGSV,3,1,12,05,04,187,,08,10,078,18,09,43,271,34,12,04,213,*72 $GPGSV,3,2,12,15,78,214,32,17,25,106,17,18,32,294,39,22,13,324,21*7F $GPGSV,3,3,12,24,04,342,,26,55,139,25,27,62,276,35,28,39,055,27*74 $GPGLL,5155.55209,N,00434.66012,E,083747.00,A,A*69 $GPRMC,083748.00,A,5155.55206,N,00434.66013,E,0.282,,210810,,,A*73 $GPVTG,,T,,M,0.282,N,0.523,K,A*2F $GPGGA,083748.00,5155.55206,N,00434.66013,E,1,06,2.50,-5.1,M,46.0,M,,*77 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.19*0F $GPGSV,3,1,12,05,04,187,,08,10,078,18,09,43,271,34,12,04,213,*72 $GPGSV,3,2,12,15,78,214,32,17,25,106,17,18,32,294,39,22,13,324,21*7F $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,35,28,39,055,27*75 $GPGLL,5155.55206,N,00434.66013,E,083748.00,A,A*68 $GPRMC,083749.00,A,5155.55199,N,00434.66019,E,0.153,,210810,,,A*72 $GPVTG,,T,,M,0.153,N,0.283,K,A*2D $GPGGA,083749.00,5155.55199,N,00434.66019,E,1,06,2.50,-5.1,M,46.0,M,,*79 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.19*0F $GPGSV,3,1,12,05,04,187,,08,10,078,18,09,43,271,35,12,04,213,*73 $GPGSV,3,2,12,15,78,214,34,17,25,106,18,18,32,294,41,22,13,324,22*7A $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,37,28,39,055,28*78 $GPGLL,5155.55199,N,00434.66019,E,083749.00,A,A*66 $GPRMC,083750.00,A,5155.55192,N,00434.66021,E,0.149,,210810,,,A*71 $GPVTG,,T,,M,0.149,N,0.276,K,A*2C $GPGGA,083750.00,5155.55192,N,00434.66021,E,1,06,2.50,-5.1,M,46.0,M,,*71 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.19*0F $GPGSV,3,1,12,05,04,187,,08,10,078,18,09,43,271,34,12,04,213,*72 $GPGSV,3,2,12,15,78,213,31,17,25,106,19,18,32,294,39,22,13,324,22*76 $GPGSV,3,3,12,24,04,342,,26,55,139,23,27,62,276,35,28,39,055,28*7D $GPGLL,5155.55192,N,00434.66021,E,083750.00,A,A*6E $GPRMC,083751.00,A,5155.55183,N,00434.66025,E,0.219,,210810,,,A*72 $GPVTG,,T,,M,0.219,N,0.405,K,A*28 $GPGGA,083751.00,5155.55183,N,00434.66025,E,1,06,2.50,-5.2,M,46.0,M,,*77 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.19*0F $GPGSV,3,1,12,05,04,187,,08,10,078,18,09,43,271,34,12,04,213,*72 $GPGSV,3,2,12,15,78,213,32,17,25,106,18,18,32,294,40,22,13,324,22*7A $GPGSV,3,3,12,24,04,342,,26,55,139,21,27,62,276,36,28,39,055,28*7C $GPGLL,5155.55183,N,00434.66025,E,083751.00,A,A*6B $GPRMC,083752.00,A,5155.55171,N,00434.66029,E,0.158,,210810,,,A*76 $GPVTG,,T,,M,0.158,N,0.293,K,A*27 $GPGGA,083752.00,5155.55171,N,00434.66029,E,1,06,2.50,-5.3,M,46.0,M,,*74 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.19*0F $GPGSV,3,1,12,05,04,187,,08,10,078,17,09,43,271,34,12,04,213,*7D $GPGSV,3,2,12,15,78,213,32,17,26,106,18,18,32,294,40,22,13,324,23*78 $GPGSV,3,3,12,24,04,342,,26,55,139,20,27,62,276,35,28,39,055,28*7E $GPGLL,5155.55171,N,00434.66029,E,083752.00,A,A*69 $GPRMC,083753.00,A,5155.55162,N,00434.66031,E,0.127,,210810,,,A*74 $GPVTG,,T,,M,0.127,N,0.235,K,A*23 $GPGGA,083753.00,5155.55162,N,00434.66031,E,1,06,2.50,-5.4,M,46.0,M,,*79 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.32,2.50,2.19*0E $GPGSV,3,1,12,05,04,187,,08,10,078,16,09,43,271,34,12,04,213,*7C $GPGSV,3,2,12,15,78,213,32,17,26,106,17,18,32,294,40,22,13,324,22*76 $GPGSV,3,3,12,24,04,342,,26,55,139,19,27,62,276,36,28,39,055,28*77 $GPGLL,5155.55162,N,00434.66031,E,083753.00,A,A*63 $GPRMC,083754.00,A,5155.55154,N,00434.66033,E,0.153,,210810,,,A*77 $GPVTG,,T,,M,0.153,N,0.283,K,A*2D $GPGGA,083754.00,5155.55154,N,00434.66033,E,1,06,2.50,-5.5,M,46.0,M,,*78 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.32,2.50,2.19*0E $GPGSV,3,1,12,05,04,187,,08,10,078,16,09,43,271,34,12,04,213,*7C $GPGSV,3,2,12,15,78,213,33,17,26,106,18,18,32,294,40,22,13,324,21*7B $GPGSV,3,3,12,24,04,342,,26,55,139,19,27,62,276,36,28,39,055,28*77 $GPGLL,5155.55154,N,00434.66033,E,083754.00,A,A*63 $GPRMC,083755.00,A,5155.55149,N,00434.66043,E,0.154,,210810,,,A*7A $GPVTG,,T,,M,0.154,N,0.285,K,A*2C $GPGGA,083755.00,5155.55149,N,00434.66043,E,1,06,2.50,-5.6,M,46.0,M,,*71 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.32,2.50,2.19*0E $GPGSV,3,1,12,05,04,187,,08,10,078,16,09,43,271,34,12,04,213,*7C $GPGSV,3,2,12,15,78,213,33,17,26,106,19,18,32,294,40,22,13,324,20*7B $GPGSV,3,3,12,24,04,342,,26,55,139,19,27,62,276,36,28,39,055,28*77 $GPGLL,5155.55149,N,00434.66043,E,083755.00,A,A*69 $GPRMC,083756.00,A,5155.55155,N,00434.66038,E,0.221,,210810,,,A*79 $GPVTG,,T,,M,0.221,N,0.409,K,A*2F $GPGGA,083756.00,5155.55155,N,00434.66038,E,1,06,2.50,-5.4,M,46.0,M,,*71 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.32,2.50,2.19*0E $GPGSV,3,1,12,05,04,187,,08,10,078,16,09,43,271,34,12,04,213,*7C $GPGSV,3,2,12,15,78,213,33,17,26,106,19,18,32,294,40,22,13,324,20*7B $GPGSV,3,3,12,24,04,342,,26,55,139,19,27,62,276,36,28,39,055,27*78 $GPGLL,5155.55155,N,00434.66038,E,083756.00,A,A*6B $GPRMC,083757.00,A,5155.55151,N,00434.66042,E,0.033,,210810,,,A*70 $GPVTG,,T,,M,0.033,N,0.061,K,A*24 $GPGGA,083757.00,5155.55151,N,00434.66042,E,1,06,2.50,-5.4,M,46.0,M,,*79 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.32,2.50,2.19*0E $GPGSV,3,1,12,05,04,187,,08,10,078,16,09,43,271,34,12,04,213,*7C $GPGSV,3,2,12,15,78,213,34,17,26,106,20,18,32,294,40,22,13,324,19*7C $GPGSV,3,3,12,24,04,342,,26,55,139,20,27,62,276,37,28,39,055,28*7C $GPGLL,5155.55151,N,00434.66042,E,083757.00,A,A*63 $GPRMC,083758.00,A,5155.55149,N,00434.66043,E,0.155,,210810,,,A*76 $GPVTG,,T,,M,0.155,N,0.287,K,A*2F $GPGGA,083758.00,5155.55149,N,00434.66043,E,1,06,2.50,-5.4,M,46.0,M,,*7E $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.32,2.50,2.19*0E $GPGSV,3,1,12,05,04,187,,08,10,078,16,09,43,271,34,12,04,213,*7C $GPGSV,3,2,12,15,78,213,34,17,26,106,20,18,32,294,40,22,13,324,18*7D $GPGSV,3,3,12,24,04,342,,26,55,139,21,27,62,276,35,28,39,055,28*7F $GPGLL,5155.55149,N,00434.66043,E,083758.00,A,A*64 $GPRMC,083759.00,A,5155.55142,N,00434.66033,E,0.161,,210810,,,A*7C $GPVTG,,T,,M,0.161,N,0.298,K,A*26 $GPGGA,083759.00,5155.55142,N,00434.66033,E,1,06,2.50,-5.5,M,46.0,M,,*72 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.32,2.50,2.19*0E $GPGSV,3,1,12,05,04,187,,08,10,078,16,09,43,271,35,12,04,213,*7D $GPGSV,3,2,12,15,78,213,35,17,26,106,21,18,32,294,41,22,13,324,17*73 $GPGSV,3,3,12,24,04,341,,26,55,139,22,27,62,276,37,28,39,055,29*7C $GPGLL,5155.55142,N,00434.66033,E,083759.00,A,A*69 $GPRMC,083800.00,A,5155.55140,N,00434.66021,E,0.370,,210810,,,A*7C $GPVTG,,T,,M,0.370,N,0.685,K,A*2C $GPGGA,083800.00,5155.55140,N,00434.66021,E,1,06,2.50,-5.4,M,46.0,M,,*71 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.32,2.50,2.19*0E $GPGSV,3,1,12,05,04,187,,08,10,078,16,09,43,271,33,12,04,213,*7B $GPGSV,3,2,12,15,78,213,34,17,26,106,20,18,32,294,39,22,13,324,17*7C $GPGSV,3,3,12,24,04,341,,26,55,139,22,27,62,276,35,28,39,055,28*7F $GPGLL,5155.55140,N,00434.66021,E,083800.00,A,A*6B $GPTXT,01,01,01,SCH OVR: 1*56 $GPRMC,083801.00,A,5155.55145,N,00434.66050,E,0.715,,210810,,,A*79 $GPVTG,,T,,M,0.715,N,1.324,K,A*24 $GPGGA,083801.00,5155.55145,N,00434.66050,E,1,06,2.50,-5.5,M,46.0,M,,*72 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.32,2.50,2.19*0E $GPGSV,3,1,12,05,04,187,,08,10,078,13,09,43,271,34,12,04,213,*79 $GPGSV,3,2,12,15,78,213,33,17,26,106,19,18,32,294,40,22,13,324,18*70 $GPGSV,3,3,12,24,04,341,,26,54,139,21,27,62,276,36,28,39,055,28*7E $GPGLL,5155.55145,N,00434.66050,E,083801.00,A,A*69 $GPRMC,083802.00,A,5155.55138,N,00434.66056,E,0.046,,210810,,,A*77 $GPVTG,,T,,M,0.046,N,0.086,K,A*2F $GPGGA,083802.00,5155.55138,N,00434.66056,E,1,06,2.50,-5.5,M,46.0,M,,*7D $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.32,2.50,2.19*0E $GPGSV,3,1,12,05,04,187,,08,10,078,14,09,43,271,34,12,04,213,*7E $GPGSV,3,2,12,15,78,213,33,17,26,106,18,18,32,294,40,22,13,324,18*71 $GPGSV,3,3,12,24,04,341,,26,54,139,20,27,62,277,36,28,39,055,27*71 $GPGLL,5155.55138,N,00434.66056,E,083802.00,A,A*66 $GPRMC,085515.00,A,5155.55359,N,00434.65730,E,0.037,,210810,,,A*7D # # Sentences with fix begin here # $GPVTG,,T,,M,0.037,N,0.069,K,A*28 $GPGGA,085515.00,5155.55359,N,00434.65730,E,1,08,1.00,2.1,M,46.0,M,,*57 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,17,09,51,276,42,11,01,043,,12,11,214,29*7F $GPGSV,4,2,13,15,73,189,40,17,30,099,25,18,33,285,39,22,17,319,37*7E $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,44,28,32,052,31*77 $GPGSV,4,4,13,33,28,204,38*4C $GPGLL,5155.55359,N,00434.65730,E,085515.00,A,A*6A $GPTXT,01,01,02,u-blox ag - www.u-blox.com*50 $GPTXT,01,01,02,HW UBX-G50xx 00040005 *53 $GPTXT,01,01,02,EXT CORE 6.00 (33247) May 13 2009 17:35:46*49 $GPTXT,01,01,02,ROM BASE 4.00 (25682) Jan 14 2008 16:29:23*4F $GPTXT,01,01,02,MOD LEA-5H-0*2E $GPTXT,01,01,02,ANTSUPERV=AC SD PDoS SR*20 $GPTXT,01,01,02,ANTSTATUS=OK*3B $GPRMC,085516.00,A,5155.55350,N,00434.65733,E,0.050,,210810,,,A*75 $GPVTG,,T,,M,0.050,N,0.092,K,A*2D $GPGGA,085516.00,5155.55350,N,00434.65733,E,1,08,1.00,2.0,M,46.0,M,,*5F $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,17,09,51,276,43,11,01,043,,12,11,215,29*7F $GPGSV,4,2,13,15,73,189,40,17,30,099,25,18,33,285,39,22,17,319,38*71 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,44,28,32,052,30*76 $GPGSV,4,4,13,33,28,204,38*4C $GPGLL,5155.55350,N,00434.65733,E,085516.00,A,A*63 $GPRMC,085517.00,A,5155.55340,N,00434.65739,E,0.025,,210810,,,A*7D $GPVTG,,T,,M,0.025,N,0.046,K,A*26 $GPGGA,085517.00,5155.55340,N,00434.65739,E,1,08,1.00,1.8,M,46.0,M,,*5E $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,17,09,51,276,43,11,01,043,,12,11,215,29*7F $GPGSV,4,2,13,15,73,189,41,17,30,099,25,18,33,285,39,22,17,319,38*70 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,44,28,32,052,30*76 $GPGSV,4,4,13,33,28,204,38*4C $GPGLL,5155.55340,N,00434.65739,E,085517.00,A,A*69 $GPRMC,085518.00,A,5155.55332,N,00434.65744,E,0.017,,210810,,,A*7C $GPVTG,,T,,M,0.017,N,0.032,K,A*24 $GPGGA,085518.00,5155.55332,N,00434.65744,E,1,08,1.00,1.6,M,46.0,M,,*50 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,17,09,51,276,42,11,01,043,,12,11,215,29*7E $GPGSV,4,2,13,15,73,189,41,17,30,099,27,18,33,285,39,22,17,319,39*73 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,44,28,32,052,31*77 $GPGSV,4,4,13,33,28,204,38*4C $GPGLL,5155.55332,N,00434.65744,E,085518.00,A,A*69 $GPRMC,085519.00,A,5155.55322,N,00434.65748,E,0.056,,210810,,,A*75 $GPVTG,,T,,M,0.056,N,0.104,K,A*25 $GPGGA,085519.00,5155.55322,N,00434.65748,E,1,08,1.00,1.5,M,46.0,M,,*5F $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,16,09,51,276,42,11,01,043,,12,11,215,28*7E $GPGSV,4,2,13,15,72,188,41,17,30,099,26,18,33,285,39,22,17,319,38*73 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,44,28,32,052,30*76 $GPGSV,4,4,13,33,28,204,38*4C $GPGLL,5155.55322,N,00434.65748,E,085519.00,A,A*65 $GPRMC,085520.00,A,5155.55317,N,00434.65752,E,0.011,,210810,,,A*71 $GPVTG,,T,,M,0.011,N,0.020,K,A*21 $GPGGA,085520.00,5155.55317,N,00434.65752,E,1,08,1.00,1.5,M,46.0,M,,*58 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,18,09,51,276,42,11,01,043,,12,11,215,28*70 $GPGSV,4,2,13,15,72,188,41,17,30,099,25,18,33,285,39,22,17,319,39*71 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,44,28,32,052,31*77 $GPGSV,4,4,13,33,28,204,38*4C $GPGLL,5155.55317,N,00434.65752,E,085520.00,A,A*62 $GPRMC,085521.00,A,5155.55309,N,00434.65756,E,0.013,,210810,,,A*79 $GPVTG,,T,,M,0.013,N,0.024,K,A*27 $GPGGA,085521.00,5155.55309,N,00434.65756,E,1,08,1.00,1.3,M,46.0,M,,*54 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,18,09,51,276,44,11,01,043,,12,11,215,27*79 $GPGSV,4,2,13,15,72,188,41,17,30,098,26,18,33,285,39,22,17,319,40*7D $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,44,28,32,052,32*74 $GPGSV,4,4,13,33,28,204,38*4C $GPGLL,5155.55309,N,00434.65756,E,085521.00,A,A*68 $GPRMC,085522.00,A,5155.55300,N,00434.65760,E,0.039,,210810,,,A*7E $GPVTG,,T,,M,0.039,N,0.072,K,A*2C $GPGGA,085522.00,5155.55300,N,00434.65760,E,1,09,1.00,1.2,M,46.0,M,,*5B $GPGSA,A,3,15,27,09,28,18,26,17,22,12,,,,1.69,1.00,1.37*02 $GPGSV,4,1,13,08,04,082,17,09,51,276,43,11,01,043,,12,11,215,28*7E $GPGSV,4,2,13,15,72,188,41,17,30,098,28,18,33,285,39,22,17,319,38*7C $GPGSV,4,3,13,24,03,335,,26,46,142,25,27,69,284,44,28,32,052,30*71 $GPGSV,4,4,13,33,28,204,38*4C $GPGLL,5155.55300,N,00434.65760,E,085522.00,A,A*67 $GPRMC,085523.00,A,5155.55295,N,00434.65760,E,0.062,,210810,,,A*7C $GPVTG,,T,,M,0.062,N,0.116,K,A*21 $GPGGA,085523.00,5155.55295,N,00434.65760,E,1,09,1.00,1.2,M,46.0,M,,*57 $GPGSA,A,3,15,27,09,28,18,26,17,22,12,,,,1.69,1.00,1.37*02 $GPGSV,4,1,13,08,04,082,18,09,51,276,42,11,01,043,,12,11,215,28*70 $GPGSV,4,2,13,15,72,188,40,17,30,098,27,18,33,285,39,22,17,319,38*72 $GPGSV,4,3,13,24,03,335,,26,46,142,23,27,69,284,43,28,32,052,31*71 $GPGSV,4,4,13,33,28,204,38*4C $GPGLL,5155.55295,N,00434.65760,E,085523.00,A,A*6B $GPRMC,085524.00,A,5155.55293,N,00434.65764,E,0.033,,210810,,,A*7D $GPVTG,,T,,M,0.033,N,0.061,K,A*24 $GPGGA,085524.00,5155.55293,N,00434.65764,E,1,08,1.00,1.1,M,46.0,M,,*50 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,17,09,51,276,42,11,01,043,,12,11,215,28*7F $GPGSV,4,2,13,15,72,188,40,17,30,098,26,18,33,285,39,22,17,319,38*73 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,43,28,32,052,31*70 $GPGSV,4,4,13,33,28,204,38*4C $GPGLL,5155.55293,N,00434.65764,E,085524.00,A,A*6E $GPRMC,085525.00,A,5155.55292,N,00434.65766,E,0.014,,210810,,,A*7A $GPVTG,,T,,M,0.014,N,0.027,K,A*23 $GPGGA,085525.00,5155.55292,N,00434.65766,E,1,08,1.00,1.2,M,46.0,M,,*51 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,17,09,51,276,42,11,01,043,,12,11,215,29*7E $GPGSV,4,2,13,15,72,188,40,17,30,098,27,18,33,285,39,22,17,319,38*72 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,44,28,32,052,31*77 $GPGSV,4,4,13,33,28,204,38*4C $GPGLL,5155.55292,N,00434.65766,E,085525.00,A,A*6C $GPRMC,085526.00,A,5155.55292,N,00434.65770,E,0.037,,210810,,,A*7F $GPVTG,,T,,M,0.037,N,0.068,K,A*29 $GPGGA,085526.00,5155.55292,N,00434.65770,E,1,08,1.00,1.2,M,46.0,M,,*55 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,17,09,51,276,43,11,01,043,,12,11,215,29*7F $GPGSV,4,2,13,15,72,188,40,17,30,098,27,18,33,285,39,22,18,319,38*7D $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,45,28,32,052,31*76 $GPGSV,4,4,13,33,28,204,38*4C $GPGLL,5155.55292,N,00434.65770,E,085526.00,A,A*68 $GPRMC,085527.00,A,5155.55291,N,00434.65771,E,0.022,,210810,,,A*78 $GPVTG,,T,,M,0.022,N,0.042,K,A*25 $GPGGA,085527.00,5155.55291,N,00434.65771,E,1,08,1.00,1.2,M,46.0,M,,*56 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,17,09,51,276,43,11,01,043,,12,11,215,29*7F $GPGSV,4,2,13,15,72,188,40,17,30,098,27,18,33,285,40,22,18,319,38*73 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,45,28,32,052,32*75 $GPGSV,4,4,13,33,28,204,38*4C $GPGLL,5155.55291,N,00434.65771,E,085527.00,A,A*6B $GPRMC,085528.00,A,5155.55292,N,00434.65773,E,0.056,,210810,,,A*75 $GPVTG,,T,,M,0.056,N,0.103,K,A*22 $GPGGA,085528.00,5155.55292,N,00434.65773,E,1,08,1.00,1.3,M,46.0,M,,*59 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,18,09,51,276,43,11,01,043,,12,11,215,28*71 $GPGSV,4,2,13,15,72,188,40,17,30,098,28,18,33,285,40,22,18,319,38*7C $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,45,28,32,052,32*75 $GPGSV,4,4,13,33,28,204,39*4D $GPGLL,5155.55292,N,00434.65773,E,085528.00,A,A*65 $GPRMC,085529.00,A,5155.55292,N,00434.65782,E,0.013,,210810,,,A*7B $GPVTG,,T,,M,0.013,N,0.023,K,A*20 $GPGGA,085529.00,5155.55292,N,00434.65782,E,1,09,1.00,1.3,M,46.0,M,,*57 $GPGSA,A,3,15,27,09,28,18,26,17,22,12,,,,1.69,1.00,1.37*02 $GPGSV,4,1,13,08,04,082,18,09,51,276,43,11,01,043,,12,11,215,28*71 $GPGSV,4,2,13,15,72,188,40,17,30,098,27,18,33,285,40,22,18,319,38*73 $GPGSV,4,3,13,24,03,335,,26,46,142,26,27,69,284,45,28,32,052,32*71 $GPGSV,4,4,13,33,28,204,39*4D $GPGLL,5155.55292,N,00434.65782,E,085529.00,A,A*6A $GPRMC,085530.00,A,5155.55293,N,00434.65788,E,0.006,,210810,,,A*7C $GPVTG,,T,,M,0.006,N,0.012,K,A*26 $GPGGA,085530.00,5155.55293,N,00434.65788,E,1,08,1.00,1.3,M,46.0,M,,*55 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,17,09,51,276,43,11,01,043,,12,11,215,28*7E $GPGSV,4,2,13,15,72,188,41,17,30,098,26,18,33,285,40,22,18,319,39*72 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,45,28,32,052,32*75 $GPGSV,4,4,13,33,28,204,39*4D $GPGLL,5155.55293,N,00434.65788,E,085530.00,A,A*69 $GPRMC,085531.00,A,5155.55295,N,00434.65789,E,0.056,,210810,,,A*7F $GPVTG,,T,,M,0.056,N,0.103,K,A*22 $GPGGA,085531.00,5155.55295,N,00434.65789,E,1,08,1.00,1.3,M,46.0,M,,*53 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,17,09,51,276,43,11,01,043,,12,11,215,29*7F $GPGSV,4,2,13,15,72,188,41,17,30,098,27,18,33,285,40,22,18,319,39*73 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,285,45,28,32,052,32*74 $GPGSV,4,4,13,33,28,204,38*4C $GPGLL,5155.55295,N,00434.65789,E,085531.00,A,A*6F $GPRMC,085532.00,A,5155.55295,N,00434.65785,E,0.097,,210810,,,A*7D $GPVTG,,T,,M,0.097,N,0.181,K,A*25 $GPGGA,085532.00,5155.55295,N,00434.65785,E,1,08,1.00,1.3,M,46.0,M,,*5C $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,16,09,51,276,43,11,01,043,,12,11,215,28*7F $GPGSV,4,2,13,15,72,188,41,17,30,098,27,18,33,285,40,22,18,319,39*73 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,285,44,28,32,052,33*74 $GPGSV,4,4,13,33,28,204,38*4C $GPGLL,5155.55295,N,00434.65785,E,085532.00,A,A*60 $GPRMC,085533.00,A,5155.55298,N,00434.65778,E,0.041,,210810,,,A*78 $GPVTG,,T,,M,0.041,N,0.075,K,A*24 $GPGGA,085533.00,5155.55298,N,00434.65778,E,1,08,1.00,1.4,M,46.0,M,,*55 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,16,09,51,276,42,11,01,043,,12,11,215,28*7E $GPGSV,4,2,13,15,72,188,42,17,30,098,25,18,33,285,40,22,18,319,39*72 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,285,43,28,32,052,33*73 $GPGSV,4,4,13,33,28,204,38*4C $GPGLL,5155.55298,N,00434.65778,E,085533.00,A,A*6E gpsd-3.9/test/daemon/uBlox-lea-5h.log.chk0000664000175000017500000024717512135526462016351 0ustar esresr$GPTXT,01,01,02,u-blox ag - www.u-blox.com*50 $GPTXT,01,01,02,HW UBX-G50xx 00040005 *53 $GPTXT,01,01,02,EXT CORE 6.00 (33247) May 13 2009 17:35:46*49 $GPTXT,01,01,02,ROM BASE 4.00 (25682) Jan 14 2008 16:29:23*4F $GPTXT,01,01,02,MOD LEA-5H-0*2E $GPTXT,01,01,02,ANTSUPERV=AC SD PDoS SR*20 $GPTXT,01,01,02,ANTSTATUS=OK*3B $GPRMC,083723.00,A,5155.55442,N,00434.65873,E,0.211,,210810,,,A*7F {"class":"TPV","tag":"RMC","mode":2,"time":"2010-08-21T08:37:23.000Z","ept":0.005,"lat":51.925907000,"lon":4.577645500,"track":0.0000,"speed":0.109} $GPVTG,,T,,M,0.211,N,0.391,K,A*2A $GPGGA,083723.00,5155.55442,N,00434.65873,E,1,06,2.51,-4.0,M,46.0,M,,*70 {"class":"TPV","tag":"GGA","mode":3,"time":"2010-08-21T08:37:23.000Z","ept":0.005,"lat":51.925907000,"lon":4.577645500,"alt":-4.000,"track":0.0000,"speed":0.109} $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.51,2.20*04 {"class":"TPV","tag":"GSA","mode":3,"time":"2010-08-21T08:37:23.000Z","ept":0.005,"lat":51.925907000,"lon":4.577645500,"alt":-4.000,"epv":50.600,"track":0.0000,"speed":0.109,"climb":0.000} $GPGSV,3,1,12,05,04,187,,08,11,078,29,09,43,270,37,12,03,212,*75 $GPGSV,3,2,12,15,78,214,34,17,25,106,18,18,32,294,39,22,13,324,20*77 $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,36,28,39,055,26*77 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.51,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":11,"az":78,"ss":29,"used":true},{"PRN":9,"el":43,"az":270,"ss":37,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":34,"used":true},{"PRN":17,"el":25,"az":106,"ss":18,"used":false},{"PRN":18,"el":32,"az":294,"ss":39,"used":true},{"PRN":22,"el":13,"az":324,"ss":20,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":24,"used":false},{"PRN":27,"el":62,"az":276,"ss":36,"used":true},{"PRN":28,"el":39,"az":55,"ss":26,"used":true}]} $GPGLL,5155.55442,N,00434.65873,E,083723.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:23.000Z","ept":0.005,"lat":51.925907000,"lon":4.577645500,"alt":-4.000,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.109,"climb":0.000} $GPRMC,083724.00,A,5155.55430,N,00434.65878,E,0.392,,210810,,,A*7C $GPVTG,,T,,M,0.392,N,0.727,K,A*29 $GPGGA,083724.00,5155.55430,N,00434.65878,E,1,06,2.51,-4.2,M,46.0,M,,*7B $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.51,2.20*04 $GPGSV,3,1,12,05,04,187,,08,11,078,29,09,43,270,37,12,03,212,*75 $GPGSV,3,2,12,15,78,214,34,17,25,106,18,18,32,294,39,22,13,324,20*77 $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,36,28,39,055,26*77 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.51,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":11,"az":78,"ss":29,"used":true},{"PRN":9,"el":43,"az":270,"ss":37,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":34,"used":true},{"PRN":17,"el":25,"az":106,"ss":18,"used":false},{"PRN":18,"el":32,"az":294,"ss":39,"used":true},{"PRN":22,"el":13,"az":324,"ss":20,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":24,"used":false},{"PRN":27,"el":62,"az":276,"ss":36,"used":true},{"PRN":28,"el":39,"az":55,"ss":26,"used":true}]} $GPGLL,5155.55430,N,00434.65878,E,083724.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:24.000Z","ept":0.005,"lat":51.925905000,"lon":4.577646333,"alt":-4.200,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.202,"climb":0.000,"eps":41.85} $GPRMC,083725.00,A,5155.55467,N,00434.65870,E,0.274,,210810,,,A*7E $GPVTG,,T,,M,0.274,N,0.508,K,A*2F $GPGGA,083725.00,5155.55467,N,00434.65870,E,1,06,2.51,-3.2,M,46.0,M,,*77 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.51,2.20*04 $GPGSV,3,1,12,05,04,187,,08,11,078,28,09,43,270,34,12,03,212,*77 $GPGSV,3,2,12,15,78,214,33,17,25,106,17,18,32,294,37,22,13,324,20*71 $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,33,28,39,055,26*72 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.51,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":11,"az":78,"ss":28,"used":true},{"PRN":9,"el":43,"az":270,"ss":34,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":33,"used":true},{"PRN":17,"el":25,"az":106,"ss":17,"used":false},{"PRN":18,"el":32,"az":294,"ss":37,"used":true},{"PRN":22,"el":13,"az":324,"ss":20,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":24,"used":false},{"PRN":27,"el":62,"az":276,"ss":33,"used":true},{"PRN":28,"el":39,"az":55,"ss":26,"used":true}]} $GPGLL,5155.55467,N,00434.65870,E,083725.00,A,A*6C {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:25.000Z","ept":0.005,"lat":51.925911167,"lon":4.577645000,"alt":-3.200,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.141,"climb":0.000,"eps":41.85} $GPRMC,083726.00,A,5155.55458,N,00434.65878,E,0.034,,210810,,,A*7F $GPVTG,,T,,M,0.034,N,0.062,K,A*20 $GPGGA,083726.00,5155.55458,N,00434.65878,E,1,06,2.51,-3.3,M,46.0,M,,*71 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.51,2.20*04 $GPGSV,3,1,12,05,04,187,,08,11,078,28,09,43,270,37,12,03,212,*74 $GPGSV,3,2,12,15,78,214,33,17,25,106,17,18,32,294,39,22,13,324,20*7F $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,34,28,39,055,26*75 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.51,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":11,"az":78,"ss":28,"used":true},{"PRN":9,"el":43,"az":270,"ss":37,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":33,"used":true},{"PRN":17,"el":25,"az":106,"ss":17,"used":false},{"PRN":18,"el":32,"az":294,"ss":39,"used":true},{"PRN":22,"el":13,"az":324,"ss":20,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":24,"used":false},{"PRN":27,"el":62,"az":276,"ss":34,"used":true},{"PRN":28,"el":39,"az":55,"ss":26,"used":true}]} $GPGLL,5155.55458,N,00434.65878,E,083726.00,A,A*6B {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:26.000Z","ept":0.005,"lat":51.925909667,"lon":4.577646333,"alt":-3.300,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.017,"climb":0.000,"eps":41.85} $GPRMC,083727.00,A,5155.55436,N,00434.65880,E,0.094,,210810,,,A*7B $GPVTG,,T,,M,0.094,N,0.174,K,A*2C $GPGGA,083727.00,5155.55436,N,00434.65880,E,1,06,2.51,-3.6,M,46.0,M,,*7A $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.51,2.20*04 $GPGSV,3,1,12,05,04,187,,08,11,078,29,09,43,270,38,12,03,212,*7A $GPGSV,3,2,12,15,78,214,33,17,25,106,16,18,32,294,40,22,13,324,21*71 $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,35,28,39,055,26*74 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.51,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":11,"az":78,"ss":29,"used":true},{"PRN":9,"el":43,"az":270,"ss":38,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":33,"used":true},{"PRN":17,"el":25,"az":106,"ss":16,"used":false},{"PRN":18,"el":32,"az":294,"ss":40,"used":true},{"PRN":22,"el":13,"az":324,"ss":21,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":24,"used":false},{"PRN":27,"el":62,"az":276,"ss":35,"used":true},{"PRN":28,"el":39,"az":55,"ss":26,"used":true}]} $GPGLL,5155.55436,N,00434.65880,E,083727.00,A,A*65 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:27.000Z","ept":0.005,"lat":51.925906000,"lon":4.577646667,"alt":-3.600,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.048,"climb":0.000,"eps":41.85} $GPRMC,083728.00,A,5155.55420,N,00434.65883,E,0.147,,210810,,,A*7F $GPVTG,,T,,M,0.147,N,0.273,K,A*27 $GPGGA,083728.00,5155.55420,N,00434.65883,E,1,06,2.51,-3.8,M,46.0,M,,*7F $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.51,2.20*04 $GPGSV,3,1,12,05,04,187,,08,11,078,29,09,43,270,38,12,03,212,*7A $GPGSV,3,2,12,15,78,214,34,17,25,106,17,18,32,294,40,22,13,324,22*74 $GPGSV,3,3,12,24,04,342,,26,55,139,25,27,62,276,36,28,39,055,26*76 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.51,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":11,"az":78,"ss":29,"used":true},{"PRN":9,"el":43,"az":270,"ss":38,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":34,"used":true},{"PRN":17,"el":25,"az":106,"ss":17,"used":false},{"PRN":18,"el":32,"az":294,"ss":40,"used":true},{"PRN":22,"el":13,"az":324,"ss":22,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":25,"used":false},{"PRN":27,"el":62,"az":276,"ss":36,"used":true},{"PRN":28,"el":39,"az":55,"ss":26,"used":true}]} $GPGLL,5155.55420,N,00434.65883,E,083728.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:28.000Z","ept":0.005,"lat":51.925903333,"lon":4.577647167,"alt":-3.800,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.076,"climb":0.000,"eps":41.85} $GPRMC,083729.00,A,5155.55404,N,00434.65895,E,0.192,,210810,,,A*77 $GPVTG,,T,,M,0.192,N,0.356,K,A*29 $GPGGA,083729.00,5155.55404,N,00434.65895,E,1,06,2.51,-4.0,M,46.0,M,,*70 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.51,2.20*04 $GPGSV,3,1,12,05,04,187,,08,11,078,29,09,43,270,37,12,03,212,*75 $GPGSV,3,2,12,15,78,214,33,17,25,106,17,18,32,294,40,22,13,324,22*73 $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,35,28,39,055,26*74 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.51,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":11,"az":78,"ss":29,"used":true},{"PRN":9,"el":43,"az":270,"ss":37,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":33,"used":true},{"PRN":17,"el":25,"az":106,"ss":17,"used":false},{"PRN":18,"el":32,"az":294,"ss":40,"used":true},{"PRN":22,"el":13,"az":324,"ss":22,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":24,"used":false},{"PRN":27,"el":62,"az":276,"ss":35,"used":true},{"PRN":28,"el":39,"az":55,"ss":26,"used":true}]} $GPGLL,5155.55404,N,00434.65895,E,083729.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:29.000Z","ept":0.005,"lat":51.925900667,"lon":4.577649167,"alt":-4.000,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.099,"climb":0.000,"eps":41.85} $GPRMC,083730.00,A,5155.55390,N,00434.65909,E,0.045,,210810,,,A*7A $GPVTG,,T,,M,0.045,N,0.084,K,A*2E $GPGGA,083730.00,5155.55390,N,00434.65909,E,1,06,2.51,-4.2,M,46.0,M,,*74 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.51,2.20*04 $GPGSV,3,1,12,05,04,187,,08,11,078,28,09,43,270,37,12,03,212,*74 $GPGSV,3,2,12,15,78,214,33,17,25,106,16,18,32,294,39,22,13,324,21*7F $GPGSV,3,3,12,24,04,342,,26,55,139,25,27,62,276,35,28,39,055,26*75 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.51,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":11,"az":78,"ss":28,"used":true},{"PRN":9,"el":43,"az":270,"ss":37,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":33,"used":true},{"PRN":17,"el":25,"az":106,"ss":16,"used":false},{"PRN":18,"el":32,"az":294,"ss":39,"used":true},{"PRN":22,"el":13,"az":324,"ss":21,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":25,"used":false},{"PRN":27,"el":62,"az":276,"ss":35,"used":true},{"PRN":28,"el":39,"az":55,"ss":26,"used":true}]} $GPGLL,5155.55390,N,00434.65909,E,083730.00,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:30.000Z","ept":0.005,"lat":51.925898333,"lon":4.577651500,"alt":-4.200,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.023,"climb":0.000,"eps":41.85} $GPRMC,083731.00,A,5155.55368,N,00434.65914,E,0.134,,210810,,,A*77 $GPVTG,,T,,M,0.134,N,0.247,K,A*24 $GPGGA,083731.00,5155.55368,N,00434.65914,E,1,06,2.51,-4.4,M,46.0,M,,*78 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.51,2.20*04 $GPGSV,3,1,12,05,04,187,,08,11,078,28,09,43,270,38,12,03,212,*7B $GPGSV,3,2,12,15,78,214,34,17,25,106,16,18,32,294,40,22,13,324,22*75 $GPGSV,3,3,12,24,04,342,,26,55,139,25,27,62,276,36,28,39,055,27*77 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.51,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":11,"az":78,"ss":28,"used":true},{"PRN":9,"el":43,"az":270,"ss":38,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":34,"used":true},{"PRN":17,"el":25,"az":106,"ss":16,"used":false},{"PRN":18,"el":32,"az":294,"ss":40,"used":true},{"PRN":22,"el":13,"az":324,"ss":22,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":25,"used":false},{"PRN":27,"el":62,"az":276,"ss":36,"used":true},{"PRN":28,"el":39,"az":55,"ss":27,"used":true}]} $GPGLL,5155.55368,N,00434.65914,E,083731.00,A,A*62 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:31.000Z","ept":0.005,"lat":51.925894667,"lon":4.577652333,"alt":-4.400,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.069,"climb":0.000,"eps":41.85} $GPRMC,083732.00,A,5155.55351,N,00434.65917,E,0.175,,210810,,,A*78 $GPVTG,,T,,M,0.175,N,0.325,K,A*24 $GPGGA,083732.00,5155.55351,N,00434.65917,E,1,06,2.50,-4.5,M,46.0,M,,*72 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,28,09,43,270,36,12,03,212,*75 $GPGSV,3,2,12,15,78,214,32,17,25,106,16,18,32,294,40,22,13,324,22*73 $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,35,28,39,055,26*74 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":11,"az":78,"ss":28,"used":true},{"PRN":9,"el":43,"az":270,"ss":36,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":32,"used":true},{"PRN":17,"el":25,"az":106,"ss":16,"used":false},{"PRN":18,"el":32,"az":294,"ss":40,"used":true},{"PRN":22,"el":13,"az":324,"ss":22,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":24,"used":false},{"PRN":27,"el":62,"az":276,"ss":35,"used":true},{"PRN":28,"el":39,"az":55,"ss":26,"used":true}]} $GPGLL,5155.55351,N,00434.65917,E,083732.00,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:32.000Z","ept":0.005,"lat":51.925891833,"lon":4.577652833,"alt":-4.500,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.090,"climb":0.000,"eps":41.85} $GPRMC,083733.00,A,5155.55334,N,00434.65925,E,0.162,,210810,,,A*7D $GPVTG,,T,,M,0.162,N,0.300,K,A*25 $GPGGA,083733.00,5155.55334,N,00434.65925,E,1,06,2.50,-4.7,M,46.0,M,,*73 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,28,09,43,270,37,12,03,212,*74 $GPGSV,3,2,12,15,78,214,33,17,25,106,17,18,32,294,40,22,13,324,22*73 $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,35,28,39,055,27*75 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":11,"az":78,"ss":28,"used":true},{"PRN":9,"el":43,"az":270,"ss":37,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":33,"used":true},{"PRN":17,"el":25,"az":106,"ss":17,"used":false},{"PRN":18,"el":32,"az":294,"ss":40,"used":true},{"PRN":22,"el":13,"az":324,"ss":22,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":24,"used":false},{"PRN":27,"el":62,"az":276,"ss":35,"used":true},{"PRN":28,"el":39,"az":55,"ss":27,"used":true}]} $GPGLL,5155.55334,N,00434.65925,E,083733.00,A,A*6B {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:33.000Z","ept":0.005,"lat":51.925889000,"lon":4.577654167,"alt":-4.700,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.083,"climb":0.000,"eps":41.85} $GPRMC,083734.00,A,5155.55320,N,00434.65935,E,0.265,,210810,,,A*7A $GPVTG,,T,,M,0.265,N,0.490,K,A*2F $GPGGA,083734.00,5155.55320,N,00434.65935,E,1,06,2.50,-4.9,M,46.0,M,,*7E $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,28,09,43,270,37,12,03,212,*74 $GPGSV,3,2,12,15,78,214,33,17,25,106,16,18,32,294,39,22,13,324,22*7C $GPGSV,3,3,12,24,04,342,,26,55,139,23,27,62,276,36,28,39,055,27*71 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":11,"az":78,"ss":28,"used":true},{"PRN":9,"el":43,"az":270,"ss":37,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":33,"used":true},{"PRN":17,"el":25,"az":106,"ss":16,"used":false},{"PRN":18,"el":32,"az":294,"ss":39,"used":true},{"PRN":22,"el":13,"az":324,"ss":22,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":23,"used":false},{"PRN":27,"el":62,"az":276,"ss":36,"used":true},{"PRN":28,"el":39,"az":55,"ss":27,"used":true}]} $GPGLL,5155.55320,N,00434.65935,E,083734.00,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:34.000Z","ept":0.005,"lat":51.925886667,"lon":4.577655833,"alt":-4.900,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.136,"climb":0.000,"eps":41.85} $GPRMC,083735.00,A,5155.55307,N,00434.65949,E,0.152,,210810,,,A*72 $GPVTG,,T,,M,0.152,N,0.282,K,A*2D $GPGGA,083735.00,5155.55307,N,00434.65949,E,1,06,2.50,-5.1,M,46.0,M,,*78 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,26,09,43,270,36,12,03,212,*7B $GPGSV,3,2,12,15,78,214,33,17,25,106,17,18,32,294,39,22,13,324,21*7E $GPGSV,3,3,12,24,04,342,,26,55,139,23,27,62,276,36,28,39,055,27*71 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":11,"az":78,"ss":26,"used":true},{"PRN":9,"el":43,"az":270,"ss":36,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":33,"used":true},{"PRN":17,"el":25,"az":106,"ss":17,"used":false},{"PRN":18,"el":32,"az":294,"ss":39,"used":true},{"PRN":22,"el":13,"az":324,"ss":21,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":23,"used":false},{"PRN":27,"el":62,"az":276,"ss":36,"used":true},{"PRN":28,"el":39,"az":55,"ss":27,"used":true}]} $GPGLL,5155.55307,N,00434.65949,E,083735.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:35.000Z","ept":0.005,"lat":51.925884500,"lon":4.577658167,"alt":-5.100,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.078,"climb":0.000,"eps":41.85} $GPRMC,083736.00,A,5155.55296,N,00434.65953,E,0.178,,210810,,,A*7B $GPVTG,,T,,M,0.178,N,0.330,K,A*2D $GPGGA,083736.00,5155.55296,N,00434.65953,E,1,06,2.50,-5.2,M,46.0,M,,*7A $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,24,09,43,270,36,12,03,212,*79 $GPGSV,3,2,12,15,78,214,33,17,25,106,19,18,32,294,40,22,13,324,20*7F $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,36,28,39,055,28*79 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":11,"az":78,"ss":24,"used":true},{"PRN":9,"el":43,"az":270,"ss":36,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":33,"used":true},{"PRN":17,"el":25,"az":106,"ss":19,"used":false},{"PRN":18,"el":32,"az":294,"ss":40,"used":true},{"PRN":22,"el":13,"az":324,"ss":20,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":24,"used":false},{"PRN":27,"el":62,"az":276,"ss":36,"used":true},{"PRN":28,"el":39,"az":55,"ss":28,"used":true}]} $GPGLL,5155.55296,N,00434.65953,E,083736.00,A,A*66 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:36.000Z","ept":0.005,"lat":51.925882667,"lon":4.577658833,"alt":-5.200,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.092,"climb":0.000,"eps":41.85} $GPRMC,083737.00,A,5155.55299,N,00434.65955,E,0.175,,210810,,,A*7E $GPVTG,,T,,M,0.175,N,0.324,K,A*25 $GPGGA,083737.00,5155.55299,N,00434.65955,E,1,06,2.50,-4.8,M,46.0,M,,*79 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,20,09,43,270,34,12,03,212,*7F $GPGSV,3,2,12,15,78,214,32,17,25,106,19,18,32,294,39,22,13,324,20*70 $GPGSV,3,3,12,24,04,342,,26,55,139,25,27,62,276,34,28,39,055,28*7A {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":11,"az":78,"ss":20,"used":true},{"PRN":9,"el":43,"az":270,"ss":34,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":32,"used":true},{"PRN":17,"el":25,"az":106,"ss":19,"used":false},{"PRN":18,"el":32,"az":294,"ss":39,"used":true},{"PRN":22,"el":13,"az":324,"ss":20,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":25,"used":false},{"PRN":27,"el":62,"az":276,"ss":34,"used":true},{"PRN":28,"el":39,"az":55,"ss":28,"used":true}]} $GPGLL,5155.55299,N,00434.65955,E,083737.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:37.000Z","ept":0.005,"lat":51.925883167,"lon":4.577659167,"alt":-4.800,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.090,"climb":0.000,"eps":41.85} $GPRMC,083738.00,A,5155.55301,N,00434.65955,E,0.473,,210810,,,A*72 $GPVTG,,T,,M,0.473,N,0.877,K,A*2B $GPGGA,083738.00,5155.55301,N,00434.65955,E,1,06,2.50,-4.6,M,46.0,M,,*78 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,19,09,43,270,34,12,03,212,*75 $GPGSV,3,2,12,15,78,214,32,17,25,106,19,18,32,294,39,22,13,324,20*70 $GPGSV,3,3,12,24,04,342,,26,55,139,26,27,62,276,34,28,39,055,27*76 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":11,"az":78,"ss":19,"used":true},{"PRN":9,"el":43,"az":270,"ss":34,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":32,"used":true},{"PRN":17,"el":25,"az":106,"ss":19,"used":false},{"PRN":18,"el":32,"az":294,"ss":39,"used":true},{"PRN":22,"el":13,"az":324,"ss":20,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":26,"used":false},{"PRN":27,"el":62,"az":276,"ss":34,"used":true},{"PRN":28,"el":39,"az":55,"ss":27,"used":true}]} $GPGLL,5155.55301,N,00434.65955,E,083738.00,A,A*61 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:38.000Z","ept":0.005,"lat":51.925883500,"lon":4.577659167,"alt":-4.600,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.243,"climb":0.000,"eps":41.85} $GPRMC,083739.00,A,5155.55294,N,00434.65966,E,0.147,,210810,,,A*7C $GPVTG,,T,,M,0.147,N,0.272,K,A*26 $GPGGA,083739.00,5155.55294,N,00434.65966,E,1,06,2.50,-4.7,M,46.0,M,,*75 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,18,09,43,270,35,12,03,212,*75 $GPGSV,3,2,12,15,78,214,32,17,25,106,19,18,32,294,40,22,13,324,21*7F $GPGSV,3,3,12,24,04,342,,26,55,139,26,27,62,276,35,28,39,055,27*77 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":11,"az":78,"ss":18,"used":true},{"PRN":9,"el":43,"az":270,"ss":35,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":32,"used":true},{"PRN":17,"el":25,"az":106,"ss":19,"used":false},{"PRN":18,"el":32,"az":294,"ss":40,"used":true},{"PRN":22,"el":13,"az":324,"ss":21,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":26,"used":false},{"PRN":27,"el":62,"az":276,"ss":35,"used":true},{"PRN":28,"el":39,"az":55,"ss":27,"used":true}]} $GPGLL,5155.55294,N,00434.65966,E,083739.00,A,A*6D {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:39.000Z","ept":0.005,"lat":51.925882333,"lon":4.577661000,"alt":-4.700,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.076,"climb":0.000,"eps":41.85} $GPRMC,083740.00,A,5155.55278,N,00434.65971,E,0.067,,210810,,,A*75 $GPVTG,,T,,M,0.067,N,0.124,K,A*25 $GPGGA,083740.00,5155.55278,N,00434.65971,E,1,06,2.50,-4.8,M,46.0,M,,*70 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,18,09,43,270,37,12,03,212,*77 $GPGSV,3,2,12,15,78,214,34,17,25,106,19,18,32,294,41,22,13,324,22*7B $GPGSV,3,3,12,24,04,342,,26,55,139,27,27,62,276,36,28,39,055,29*7B {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":11,"az":78,"ss":18,"used":true},{"PRN":9,"el":43,"az":270,"ss":37,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":34,"used":true},{"PRN":17,"el":25,"az":106,"ss":19,"used":false},{"PRN":18,"el":32,"az":294,"ss":41,"used":true},{"PRN":22,"el":13,"az":324,"ss":22,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":27,"used":false},{"PRN":27,"el":62,"az":276,"ss":36,"used":true},{"PRN":28,"el":39,"az":55,"ss":29,"used":true}]} $GPGLL,5155.55278,N,00434.65971,E,083740.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:40.000Z","ept":0.005,"lat":51.925879667,"lon":4.577661833,"alt":-4.800,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.034,"climb":0.000,"eps":41.85} $GPRMC,083741.00,A,5155.55270,N,00434.65978,E,0.150,,210810,,,A*70 $GPVTG,,T,,M,0.150,N,0.278,K,A*2A $GPGGA,083741.00,5155.55270,N,00434.65978,E,1,06,2.50,-4.9,M,46.0,M,,*71 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,17,09,43,270,35,12,03,212,*7A $GPGSV,3,2,12,15,78,214,33,17,25,106,16,18,32,294,38,22,13,324,21*7E $GPGSV,3,3,12,24,04,342,,26,55,139,26,27,62,276,34,28,39,055,28*79 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":11,"az":78,"ss":17,"used":true},{"PRN":9,"el":43,"az":270,"ss":35,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":33,"used":true},{"PRN":17,"el":25,"az":106,"ss":16,"used":false},{"PRN":18,"el":32,"az":294,"ss":38,"used":true},{"PRN":22,"el":13,"az":324,"ss":21,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":26,"used":false},{"PRN":27,"el":62,"az":276,"ss":34,"used":true},{"PRN":28,"el":39,"az":55,"ss":28,"used":true}]} $GPGLL,5155.55270,N,00434.65978,E,083741.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:41.000Z","ept":0.005,"lat":51.925878333,"lon":4.577663000,"alt":-4.900,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.077,"climb":0.000,"eps":41.85} $GPRMC,083742.00,A,5155.55258,N,00434.65987,E,0.308,,210810,,,A*76 $GPVTG,,T,,M,0.308,N,0.570,K,A*2A $GPGGA,083742.00,5155.55258,N,00434.65987,E,1,06,2.50,-5.1,M,46.0,M,,*71 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,11,078,17,09,43,270,35,12,03,212,*7A $GPGSV,3,2,12,15,78,214,33,17,25,106,17,18,32,294,39,22,13,324,21*7E $GPGSV,3,3,12,24,04,342,,26,55,139,27,27,62,276,35,28,39,055,27*76 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":11,"az":78,"ss":17,"used":true},{"PRN":9,"el":43,"az":270,"ss":35,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":33,"used":true},{"PRN":17,"el":25,"az":106,"ss":17,"used":false},{"PRN":18,"el":32,"az":294,"ss":39,"used":true},{"PRN":22,"el":13,"az":324,"ss":21,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":27,"used":false},{"PRN":27,"el":62,"az":276,"ss":35,"used":true},{"PRN":28,"el":39,"az":55,"ss":27,"used":true}]} $GPGLL,5155.55258,N,00434.65987,E,083742.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:42.000Z","ept":0.005,"lat":51.925876333,"lon":4.577664500,"alt":-5.100,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.158,"climb":0.000,"eps":41.85} $GPRMC,083743.00,A,5155.55243,N,00434.66004,E,0.307,,210810,,,A*73 $GPVTG,,T,,M,0.307,N,0.568,K,A*2C $GPGGA,083743.00,5155.55243,N,00434.66004,E,1,06,2.50,-5.3,M,46.0,M,,*79 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,10,078,21,09,43,270,35,12,03,212,*7E $GPGSV,3,2,12,15,78,214,33,17,25,106,17,18,32,294,39,22,13,324,21*7E $GPGSV,3,3,12,24,04,342,,26,55,139,26,27,62,276,35,28,39,055,26*76 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":10,"az":78,"ss":21,"used":true},{"PRN":9,"el":43,"az":270,"ss":35,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":33,"used":true},{"PRN":17,"el":25,"az":106,"ss":17,"used":false},{"PRN":18,"el":32,"az":294,"ss":39,"used":true},{"PRN":22,"el":13,"az":324,"ss":21,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":26,"used":false},{"PRN":27,"el":62,"az":276,"ss":35,"used":true},{"PRN":28,"el":39,"az":55,"ss":26,"used":true}]} $GPGLL,5155.55243,N,00434.66004,E,083743.00,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:43.000Z","ept":0.005,"lat":51.925873833,"lon":4.577667333,"alt":-5.300,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.158,"climb":0.000,"eps":41.85} $GPRMC,083744.00,A,5155.55229,N,00434.66021,E,0.280,,210810,,,A*71 $GPVTG,,T,,M,0.280,N,0.518,K,A*25 $GPGGA,083744.00,5155.55229,N,00434.66021,E,1,06,2.50,-5.6,M,46.0,M,,*70 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.20*05 $GPGSV,3,1,12,05,04,187,,08,10,078,21,09,43,271,35,12,03,212,*7F $GPGSV,3,2,12,15,78,214,33,17,25,106,18,18,32,294,38,22,13,324,22*73 $GPGSV,3,3,12,24,04,342,,26,55,139,26,27,62,276,35,28,39,055,26*76 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.20,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":10,"az":78,"ss":21,"used":true},{"PRN":9,"el":43,"az":271,"ss":35,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":33,"used":true},{"PRN":17,"el":25,"az":106,"ss":18,"used":false},{"PRN":18,"el":32,"az":294,"ss":38,"used":true},{"PRN":22,"el":13,"az":324,"ss":22,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":26,"used":false},{"PRN":27,"el":62,"az":276,"ss":35,"used":true},{"PRN":28,"el":39,"az":55,"ss":26,"used":true}]} $GPGLL,5155.55229,N,00434.66021,E,083744.00,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:44.000Z","ept":0.005,"lat":51.925871500,"lon":4.577670167,"alt":-5.600,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.144,"climb":0.000,"eps":41.85} $GPRMC,083745.00,A,5155.55212,N,00434.66032,E,0.270,,210810,,,A*75 $GPVTG,,T,,M,0.270,N,0.501,K,A*22 $GPGGA,083745.00,5155.55212,N,00434.66032,E,1,06,2.50,-5.9,M,46.0,M,,*74 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.19*0F $GPGSV,3,1,12,05,04,187,,08,10,078,21,09,43,271,35,12,03,212,*7F $GPGSV,3,2,12,15,78,214,33,17,25,106,17,18,32,294,39,22,13,324,21*7E $GPGSV,3,3,12,24,04,342,,26,55,139,25,27,62,276,34,28,39,055,26*74 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.19,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":10,"az":78,"ss":21,"used":true},{"PRN":9,"el":43,"az":271,"ss":35,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":33,"used":true},{"PRN":17,"el":25,"az":106,"ss":17,"used":false},{"PRN":18,"el":32,"az":294,"ss":39,"used":true},{"PRN":22,"el":13,"az":324,"ss":21,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":25,"used":false},{"PRN":27,"el":62,"az":276,"ss":34,"used":true},{"PRN":28,"el":39,"az":55,"ss":26,"used":true}]} $GPGLL,5155.55212,N,00434.66032,E,083745.00,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:45.000Z","ept":0.005,"lat":51.925868667,"lon":4.577672000,"alt":-5.900,"epx":12.037,"epy":20.924,"epv":50.600,"track":0.0000,"speed":0.139,"climb":0.000,"eps":41.85} $GPRMC,083746.00,A,5155.55191,N,00434.66035,E,0.290,,210810,,,A*77 $GPVTG,,T,,M,0.290,N,0.536,K,A*28 $GPGGA,083746.00,5155.55191,N,00434.66035,E,1,06,2.50,-6.1,M,46.0,M,,*73 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.19*0F $GPGSV,3,1,12,05,04,187,,08,10,078,20,09,43,271,36,12,03,212,*7D $GPGSV,3,2,12,15,78,214,33,17,25,106,17,18,32,294,41,22,13,324,21*71 $GPGSV,3,3,12,24,04,342,,26,55,139,25,27,62,276,36,28,39,055,27*77 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.19,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":10,"az":78,"ss":20,"used":true},{"PRN":9,"el":43,"az":271,"ss":36,"used":true},{"PRN":12,"el":3,"az":212,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":33,"used":true},{"PRN":17,"el":25,"az":106,"ss":17,"used":false},{"PRN":18,"el":32,"az":294,"ss":41,"used":true},{"PRN":22,"el":13,"az":324,"ss":21,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":25,"used":false},{"PRN":27,"el":62,"az":276,"ss":36,"used":true},{"PRN":28,"el":39,"az":55,"ss":27,"used":true}]} $GPGLL,5155.55191,N,00434.66035,E,083746.00,A,A*6F {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:46.000Z","ept":0.005,"lat":51.925865167,"lon":4.577672500,"alt":-6.100,"epx":12.037,"epy":20.924,"epv":50.370,"track":0.0000,"speed":0.149,"climb":0.000,"eps":41.85} $GPRMC,083747.00,A,5155.55209,N,00434.66012,E,0.358,,210810,,,A*74 $GPVTG,,T,,M,0.358,N,0.664,K,A*29 $GPGGA,083747.00,5155.55209,N,00434.66012,E,1,06,2.50,-5.2,M,46.0,M,,*75 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.19*0F $GPGSV,3,1,12,05,04,187,,08,10,078,18,09,43,271,34,12,04,213,*72 $GPGSV,3,2,12,15,78,214,32,17,25,106,17,18,32,294,39,22,13,324,21*7F $GPGSV,3,3,12,24,04,342,,26,55,139,25,27,62,276,35,28,39,055,27*74 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.19,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":10,"az":78,"ss":18,"used":true},{"PRN":9,"el":43,"az":271,"ss":34,"used":true},{"PRN":12,"el":4,"az":213,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":32,"used":true},{"PRN":17,"el":25,"az":106,"ss":17,"used":false},{"PRN":18,"el":32,"az":294,"ss":39,"used":true},{"PRN":22,"el":13,"az":324,"ss":21,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":25,"used":false},{"PRN":27,"el":62,"az":276,"ss":35,"used":true},{"PRN":28,"el":39,"az":55,"ss":27,"used":true}]} $GPGLL,5155.55209,N,00434.66012,E,083747.00,A,A*69 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:47.000Z","ept":0.005,"lat":51.925868167,"lon":4.577668667,"alt":-5.200,"epx":12.037,"epy":20.924,"epv":50.370,"track":0.0000,"speed":0.184,"climb":0.000,"eps":41.85} $GPRMC,083748.00,A,5155.55206,N,00434.66013,E,0.282,,210810,,,A*73 $GPVTG,,T,,M,0.282,N,0.523,K,A*2F $GPGGA,083748.00,5155.55206,N,00434.66013,E,1,06,2.50,-5.1,M,46.0,M,,*77 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.19*0F $GPGSV,3,1,12,05,04,187,,08,10,078,18,09,43,271,34,12,04,213,*72 $GPGSV,3,2,12,15,78,214,32,17,25,106,17,18,32,294,39,22,13,324,21*7F $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,35,28,39,055,27*75 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.19,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":10,"az":78,"ss":18,"used":true},{"PRN":9,"el":43,"az":271,"ss":34,"used":true},{"PRN":12,"el":4,"az":213,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":32,"used":true},{"PRN":17,"el":25,"az":106,"ss":17,"used":false},{"PRN":18,"el":32,"az":294,"ss":39,"used":true},{"PRN":22,"el":13,"az":324,"ss":21,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":24,"used":false},{"PRN":27,"el":62,"az":276,"ss":35,"used":true},{"PRN":28,"el":39,"az":55,"ss":27,"used":true}]} $GPGLL,5155.55206,N,00434.66013,E,083748.00,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:48.000Z","ept":0.005,"lat":51.925867667,"lon":4.577668833,"alt":-5.100,"epx":12.037,"epy":20.924,"epv":50.370,"track":0.0000,"speed":0.145,"climb":0.000,"eps":41.85} $GPRMC,083749.00,A,5155.55199,N,00434.66019,E,0.153,,210810,,,A*72 $GPVTG,,T,,M,0.153,N,0.283,K,A*2D $GPGGA,083749.00,5155.55199,N,00434.66019,E,1,06,2.50,-5.1,M,46.0,M,,*79 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.19*0F $GPGSV,3,1,12,05,04,187,,08,10,078,18,09,43,271,35,12,04,213,*73 $GPGSV,3,2,12,15,78,214,34,17,25,106,18,18,32,294,41,22,13,324,22*7A $GPGSV,3,3,12,24,04,342,,26,55,139,24,27,62,276,37,28,39,055,28*78 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.19,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":10,"az":78,"ss":18,"used":true},{"PRN":9,"el":43,"az":271,"ss":35,"used":true},{"PRN":12,"el":4,"az":213,"ss":0,"used":false},{"PRN":15,"el":78,"az":214,"ss":34,"used":true},{"PRN":17,"el":25,"az":106,"ss":18,"used":false},{"PRN":18,"el":32,"az":294,"ss":41,"used":true},{"PRN":22,"el":13,"az":324,"ss":22,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":24,"used":false},{"PRN":27,"el":62,"az":276,"ss":37,"used":true},{"PRN":28,"el":39,"az":55,"ss":28,"used":true}]} $GPGLL,5155.55199,N,00434.66019,E,083749.00,A,A*66 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:49.000Z","ept":0.005,"lat":51.925866500,"lon":4.577669833,"alt":-5.100,"epx":12.037,"epy":20.924,"epv":50.370,"track":0.0000,"speed":0.079,"climb":0.000,"eps":41.85} $GPRMC,083750.00,A,5155.55192,N,00434.66021,E,0.149,,210810,,,A*71 $GPVTG,,T,,M,0.149,N,0.276,K,A*2C $GPGGA,083750.00,5155.55192,N,00434.66021,E,1,06,2.50,-5.1,M,46.0,M,,*71 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.19*0F $GPGSV,3,1,12,05,04,187,,08,10,078,18,09,43,271,34,12,04,213,*72 $GPGSV,3,2,12,15,78,213,31,17,25,106,19,18,32,294,39,22,13,324,22*76 $GPGSV,3,3,12,24,04,342,,26,55,139,23,27,62,276,35,28,39,055,28*7D {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.19,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":10,"az":78,"ss":18,"used":true},{"PRN":9,"el":43,"az":271,"ss":34,"used":true},{"PRN":12,"el":4,"az":213,"ss":0,"used":false},{"PRN":15,"el":78,"az":213,"ss":31,"used":true},{"PRN":17,"el":25,"az":106,"ss":19,"used":false},{"PRN":18,"el":32,"az":294,"ss":39,"used":true},{"PRN":22,"el":13,"az":324,"ss":22,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":23,"used":false},{"PRN":27,"el":62,"az":276,"ss":35,"used":true},{"PRN":28,"el":39,"az":55,"ss":28,"used":true}]} $GPGLL,5155.55192,N,00434.66021,E,083750.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:50.000Z","ept":0.005,"lat":51.925865333,"lon":4.577670167,"alt":-5.100,"epx":12.037,"epy":20.924,"epv":50.370,"track":0.0000,"speed":0.077,"climb":0.000,"eps":41.85} $GPRMC,083751.00,A,5155.55183,N,00434.66025,E,0.219,,210810,,,A*72 $GPVTG,,T,,M,0.219,N,0.405,K,A*28 $GPGGA,083751.00,5155.55183,N,00434.66025,E,1,06,2.50,-5.2,M,46.0,M,,*77 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.19*0F $GPGSV,3,1,12,05,04,187,,08,10,078,18,09,43,271,34,12,04,213,*72 $GPGSV,3,2,12,15,78,213,32,17,25,106,18,18,32,294,40,22,13,324,22*7A $GPGSV,3,3,12,24,04,342,,26,55,139,21,27,62,276,36,28,39,055,28*7C {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.19,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":10,"az":78,"ss":18,"used":true},{"PRN":9,"el":43,"az":271,"ss":34,"used":true},{"PRN":12,"el":4,"az":213,"ss":0,"used":false},{"PRN":15,"el":78,"az":213,"ss":32,"used":true},{"PRN":17,"el":25,"az":106,"ss":18,"used":false},{"PRN":18,"el":32,"az":294,"ss":40,"used":true},{"PRN":22,"el":13,"az":324,"ss":22,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":21,"used":false},{"PRN":27,"el":62,"az":276,"ss":36,"used":true},{"PRN":28,"el":39,"az":55,"ss":28,"used":true}]} $GPGLL,5155.55183,N,00434.66025,E,083751.00,A,A*6B {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:51.000Z","ept":0.005,"lat":51.925863833,"lon":4.577670833,"alt":-5.200,"epx":12.037,"epy":20.924,"epv":50.370,"track":0.0000,"speed":0.113,"climb":0.000,"eps":41.85} $GPRMC,083752.00,A,5155.55171,N,00434.66029,E,0.158,,210810,,,A*76 $GPVTG,,T,,M,0.158,N,0.293,K,A*27 $GPGGA,083752.00,5155.55171,N,00434.66029,E,1,06,2.50,-5.3,M,46.0,M,,*74 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.33,2.50,2.19*0F $GPGSV,3,1,12,05,04,187,,08,10,078,17,09,43,271,34,12,04,213,*7D $GPGSV,3,2,12,15,78,213,32,17,26,106,18,18,32,294,40,22,13,324,23*78 $GPGSV,3,3,12,24,04,342,,26,55,139,20,27,62,276,35,28,39,055,28*7E {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.19,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.33,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":10,"az":78,"ss":17,"used":true},{"PRN":9,"el":43,"az":271,"ss":34,"used":true},{"PRN":12,"el":4,"az":213,"ss":0,"used":false},{"PRN":15,"el":78,"az":213,"ss":32,"used":true},{"PRN":17,"el":26,"az":106,"ss":18,"used":false},{"PRN":18,"el":32,"az":294,"ss":40,"used":true},{"PRN":22,"el":13,"az":324,"ss":23,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":20,"used":false},{"PRN":27,"el":62,"az":276,"ss":35,"used":true},{"PRN":28,"el":39,"az":55,"ss":28,"used":true}]} $GPGLL,5155.55171,N,00434.66029,E,083752.00,A,A*69 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:52.000Z","ept":0.005,"lat":51.925861833,"lon":4.577671500,"alt":-5.300,"epx":12.037,"epy":20.924,"epv":50.370,"track":0.0000,"speed":0.081,"climb":0.000,"eps":41.85} $GPRMC,083753.00,A,5155.55162,N,00434.66031,E,0.127,,210810,,,A*74 $GPVTG,,T,,M,0.127,N,0.235,K,A*23 $GPGGA,083753.00,5155.55162,N,00434.66031,E,1,06,2.50,-5.4,M,46.0,M,,*79 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.32,2.50,2.19*0E $GPGSV,3,1,12,05,04,187,,08,10,078,16,09,43,271,34,12,04,213,*7C $GPGSV,3,2,12,15,78,213,32,17,26,106,17,18,32,294,40,22,13,324,22*76 $GPGSV,3,3,12,24,04,342,,26,55,139,19,27,62,276,36,28,39,055,28*77 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.19,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.32,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":10,"az":78,"ss":16,"used":true},{"PRN":9,"el":43,"az":271,"ss":34,"used":true},{"PRN":12,"el":4,"az":213,"ss":0,"used":false},{"PRN":15,"el":78,"az":213,"ss":32,"used":true},{"PRN":17,"el":26,"az":106,"ss":17,"used":false},{"PRN":18,"el":32,"az":294,"ss":40,"used":true},{"PRN":22,"el":13,"az":324,"ss":22,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":19,"used":false},{"PRN":27,"el":62,"az":276,"ss":36,"used":true},{"PRN":28,"el":39,"az":55,"ss":28,"used":true}]} $GPGLL,5155.55162,N,00434.66031,E,083753.00,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:53.000Z","ept":0.005,"lat":51.925860333,"lon":4.577671833,"alt":-5.400,"epx":12.037,"epy":20.924,"epv":50.370,"track":0.0000,"speed":0.065,"climb":0.000,"eps":41.85} $GPRMC,083754.00,A,5155.55154,N,00434.66033,E,0.153,,210810,,,A*77 $GPVTG,,T,,M,0.153,N,0.283,K,A*2D $GPGGA,083754.00,5155.55154,N,00434.66033,E,1,06,2.50,-5.5,M,46.0,M,,*78 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.32,2.50,2.19*0E $GPGSV,3,1,12,05,04,187,,08,10,078,16,09,43,271,34,12,04,213,*7C $GPGSV,3,2,12,15,78,213,33,17,26,106,18,18,32,294,40,22,13,324,21*7B $GPGSV,3,3,12,24,04,342,,26,55,139,19,27,62,276,36,28,39,055,28*77 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.19,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.32,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":10,"az":78,"ss":16,"used":true},{"PRN":9,"el":43,"az":271,"ss":34,"used":true},{"PRN":12,"el":4,"az":213,"ss":0,"used":false},{"PRN":15,"el":78,"az":213,"ss":33,"used":true},{"PRN":17,"el":26,"az":106,"ss":18,"used":false},{"PRN":18,"el":32,"az":294,"ss":40,"used":true},{"PRN":22,"el":13,"az":324,"ss":21,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":19,"used":false},{"PRN":27,"el":62,"az":276,"ss":36,"used":true},{"PRN":28,"el":39,"az":55,"ss":28,"used":true}]} $GPGLL,5155.55154,N,00434.66033,E,083754.00,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:54.000Z","ept":0.005,"lat":51.925859000,"lon":4.577672167,"alt":-5.500,"epx":12.037,"epy":20.924,"epv":50.370,"track":0.0000,"speed":0.079,"climb":0.000,"eps":41.85} $GPRMC,083755.00,A,5155.55149,N,00434.66043,E,0.154,,210810,,,A*7A $GPVTG,,T,,M,0.154,N,0.285,K,A*2C $GPGGA,083755.00,5155.55149,N,00434.66043,E,1,06,2.50,-5.6,M,46.0,M,,*71 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.32,2.50,2.19*0E $GPGSV,3,1,12,05,04,187,,08,10,078,16,09,43,271,34,12,04,213,*7C $GPGSV,3,2,12,15,78,213,33,17,26,106,19,18,32,294,40,22,13,324,20*7B $GPGSV,3,3,12,24,04,342,,26,55,139,19,27,62,276,36,28,39,055,28*77 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.19,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.32,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":10,"az":78,"ss":16,"used":true},{"PRN":9,"el":43,"az":271,"ss":34,"used":true},{"PRN":12,"el":4,"az":213,"ss":0,"used":false},{"PRN":15,"el":78,"az":213,"ss":33,"used":true},{"PRN":17,"el":26,"az":106,"ss":19,"used":false},{"PRN":18,"el":32,"az":294,"ss":40,"used":true},{"PRN":22,"el":13,"az":324,"ss":20,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":19,"used":false},{"PRN":27,"el":62,"az":276,"ss":36,"used":true},{"PRN":28,"el":39,"az":55,"ss":28,"used":true}]} $GPGLL,5155.55149,N,00434.66043,E,083755.00,A,A*69 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:55.000Z","ept":0.005,"lat":51.925858167,"lon":4.577673833,"alt":-5.600,"epx":12.037,"epy":20.924,"epv":50.370,"track":0.0000,"speed":0.079,"climb":0.000,"eps":41.85} $GPRMC,083756.00,A,5155.55155,N,00434.66038,E,0.221,,210810,,,A*79 $GPVTG,,T,,M,0.221,N,0.409,K,A*2F $GPGGA,083756.00,5155.55155,N,00434.66038,E,1,06,2.50,-5.4,M,46.0,M,,*71 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.32,2.50,2.19*0E $GPGSV,3,1,12,05,04,187,,08,10,078,16,09,43,271,34,12,04,213,*7C $GPGSV,3,2,12,15,78,213,33,17,26,106,19,18,32,294,40,22,13,324,20*7B $GPGSV,3,3,12,24,04,342,,26,55,139,19,27,62,276,36,28,39,055,27*78 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.19,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.32,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":10,"az":78,"ss":16,"used":true},{"PRN":9,"el":43,"az":271,"ss":34,"used":true},{"PRN":12,"el":4,"az":213,"ss":0,"used":false},{"PRN":15,"el":78,"az":213,"ss":33,"used":true},{"PRN":17,"el":26,"az":106,"ss":19,"used":false},{"PRN":18,"el":32,"az":294,"ss":40,"used":true},{"PRN":22,"el":13,"az":324,"ss":20,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":19,"used":false},{"PRN":27,"el":62,"az":276,"ss":36,"used":true},{"PRN":28,"el":39,"az":55,"ss":27,"used":true}]} $GPGLL,5155.55155,N,00434.66038,E,083756.00,A,A*6B {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:56.000Z","ept":0.005,"lat":51.925859167,"lon":4.577673000,"alt":-5.400,"epx":12.037,"epy":20.924,"epv":50.370,"track":0.0000,"speed":0.114,"climb":0.000,"eps":41.85} $GPRMC,083757.00,A,5155.55151,N,00434.66042,E,0.033,,210810,,,A*70 $GPVTG,,T,,M,0.033,N,0.061,K,A*24 $GPGGA,083757.00,5155.55151,N,00434.66042,E,1,06,2.50,-5.4,M,46.0,M,,*79 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.32,2.50,2.19*0E $GPGSV,3,1,12,05,04,187,,08,10,078,16,09,43,271,34,12,04,213,*7C $GPGSV,3,2,12,15,78,213,34,17,26,106,20,18,32,294,40,22,13,324,19*7C $GPGSV,3,3,12,24,04,342,,26,55,139,20,27,62,276,37,28,39,055,28*7C {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.19,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.32,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":10,"az":78,"ss":16,"used":true},{"PRN":9,"el":43,"az":271,"ss":34,"used":true},{"PRN":12,"el":4,"az":213,"ss":0,"used":false},{"PRN":15,"el":78,"az":213,"ss":34,"used":true},{"PRN":17,"el":26,"az":106,"ss":20,"used":false},{"PRN":18,"el":32,"az":294,"ss":40,"used":true},{"PRN":22,"el":13,"az":324,"ss":19,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":20,"used":false},{"PRN":27,"el":62,"az":276,"ss":37,"used":true},{"PRN":28,"el":39,"az":55,"ss":28,"used":true}]} $GPGLL,5155.55151,N,00434.66042,E,083757.00,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:57.000Z","ept":0.005,"lat":51.925858500,"lon":4.577673667,"alt":-5.400,"epx":12.037,"epy":20.924,"epv":50.370,"track":0.0000,"speed":0.017,"climb":0.000,"eps":41.85} $GPRMC,083758.00,A,5155.55149,N,00434.66043,E,0.155,,210810,,,A*76 $GPVTG,,T,,M,0.155,N,0.287,K,A*2F $GPGGA,083758.00,5155.55149,N,00434.66043,E,1,06,2.50,-5.4,M,46.0,M,,*7E $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.32,2.50,2.19*0E $GPGSV,3,1,12,05,04,187,,08,10,078,16,09,43,271,34,12,04,213,*7C $GPGSV,3,2,12,15,78,213,34,17,26,106,20,18,32,294,40,22,13,324,18*7D $GPGSV,3,3,12,24,04,342,,26,55,139,21,27,62,276,35,28,39,055,28*7F {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.19,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.32,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":10,"az":78,"ss":16,"used":true},{"PRN":9,"el":43,"az":271,"ss":34,"used":true},{"PRN":12,"el":4,"az":213,"ss":0,"used":false},{"PRN":15,"el":78,"az":213,"ss":34,"used":true},{"PRN":17,"el":26,"az":106,"ss":20,"used":false},{"PRN":18,"el":32,"az":294,"ss":40,"used":true},{"PRN":22,"el":13,"az":324,"ss":18,"used":false},{"PRN":24,"el":4,"az":342,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":21,"used":false},{"PRN":27,"el":62,"az":276,"ss":35,"used":true},{"PRN":28,"el":39,"az":55,"ss":28,"used":true}]} $GPGLL,5155.55149,N,00434.66043,E,083758.00,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:58.000Z","ept":0.005,"lat":51.925858167,"lon":4.577673833,"alt":-5.400,"epx":12.037,"epy":20.924,"epv":50.370,"track":0.0000,"speed":0.080,"climb":0.000,"eps":41.85} $GPRMC,083759.00,A,5155.55142,N,00434.66033,E,0.161,,210810,,,A*7C $GPVTG,,T,,M,0.161,N,0.298,K,A*26 $GPGGA,083759.00,5155.55142,N,00434.66033,E,1,06,2.50,-5.5,M,46.0,M,,*72 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.32,2.50,2.19*0E $GPGSV,3,1,12,05,04,187,,08,10,078,16,09,43,271,35,12,04,213,*7D $GPGSV,3,2,12,15,78,213,35,17,26,106,21,18,32,294,41,22,13,324,17*73 $GPGSV,3,3,12,24,04,341,,26,55,139,22,27,62,276,37,28,39,055,29*7C {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.19,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.32,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":10,"az":78,"ss":16,"used":true},{"PRN":9,"el":43,"az":271,"ss":35,"used":true},{"PRN":12,"el":4,"az":213,"ss":0,"used":false},{"PRN":15,"el":78,"az":213,"ss":35,"used":true},{"PRN":17,"el":26,"az":106,"ss":21,"used":false},{"PRN":18,"el":32,"az":294,"ss":41,"used":true},{"PRN":22,"el":13,"az":324,"ss":17,"used":false},{"PRN":24,"el":4,"az":341,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":22,"used":false},{"PRN":27,"el":62,"az":276,"ss":37,"used":true},{"PRN":28,"el":39,"az":55,"ss":29,"used":true}]} $GPGLL,5155.55142,N,00434.66033,E,083759.00,A,A*69 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:37:59.000Z","ept":0.005,"lat":51.925857000,"lon":4.577672167,"alt":-5.500,"epx":12.037,"epy":20.924,"epv":50.370,"track":0.0000,"speed":0.083,"climb":0.000,"eps":41.85} $GPRMC,083800.00,A,5155.55140,N,00434.66021,E,0.370,,210810,,,A*7C $GPVTG,,T,,M,0.370,N,0.685,K,A*2C $GPGGA,083800.00,5155.55140,N,00434.66021,E,1,06,2.50,-5.4,M,46.0,M,,*71 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.32,2.50,2.19*0E $GPGSV,3,1,12,05,04,187,,08,10,078,16,09,43,271,33,12,04,213,*7B $GPGSV,3,2,12,15,78,213,34,17,26,106,20,18,32,294,39,22,13,324,17*7C $GPGSV,3,3,12,24,04,341,,26,55,139,22,27,62,276,35,28,39,055,28*7F {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.19,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.32,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":10,"az":78,"ss":16,"used":true},{"PRN":9,"el":43,"az":271,"ss":33,"used":true},{"PRN":12,"el":4,"az":213,"ss":0,"used":false},{"PRN":15,"el":78,"az":213,"ss":34,"used":true},{"PRN":17,"el":26,"az":106,"ss":20,"used":false},{"PRN":18,"el":32,"az":294,"ss":39,"used":true},{"PRN":22,"el":13,"az":324,"ss":17,"used":false},{"PRN":24,"el":4,"az":341,"ss":0,"used":false},{"PRN":26,"el":55,"az":139,"ss":22,"used":false},{"PRN":27,"el":62,"az":276,"ss":35,"used":true},{"PRN":28,"el":39,"az":55,"ss":28,"used":true}]} $GPGLL,5155.55140,N,00434.66021,E,083800.00,A,A*6B {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:38:00.000Z","ept":0.005,"lat":51.925856667,"lon":4.577670167,"alt":-5.400,"epx":12.037,"epy":20.924,"epv":50.370,"track":0.0000,"speed":0.190,"climb":0.000,"eps":41.85} $GPTXT,01,01,01,SCH OVR: 1*56 $GPRMC,083801.00,A,5155.55145,N,00434.66050,E,0.715,,210810,,,A*79 $GPVTG,,T,,M,0.715,N,1.324,K,A*24 $GPGGA,083801.00,5155.55145,N,00434.66050,E,1,06,2.50,-5.5,M,46.0,M,,*72 $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.32,2.50,2.19*0E $GPGSV,3,1,12,05,04,187,,08,10,078,13,09,43,271,34,12,04,213,*79 $GPGSV,3,2,12,15,78,213,33,17,26,106,19,18,32,294,40,22,13,324,18*70 $GPGSV,3,3,12,24,04,341,,26,54,139,21,27,62,276,36,28,39,055,28*7E {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.19,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.32,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":10,"az":78,"ss":13,"used":true},{"PRN":9,"el":43,"az":271,"ss":34,"used":true},{"PRN":12,"el":4,"az":213,"ss":0,"used":false},{"PRN":15,"el":78,"az":213,"ss":33,"used":true},{"PRN":17,"el":26,"az":106,"ss":19,"used":false},{"PRN":18,"el":32,"az":294,"ss":40,"used":true},{"PRN":22,"el":13,"az":324,"ss":18,"used":false},{"PRN":24,"el":4,"az":341,"ss":0,"used":false},{"PRN":26,"el":54,"az":139,"ss":21,"used":false},{"PRN":27,"el":62,"az":276,"ss":36,"used":true},{"PRN":28,"el":39,"az":55,"ss":28,"used":true}]} $GPGLL,5155.55145,N,00434.66050,E,083801.00,A,A*69 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:38:01.000Z","ept":0.005,"lat":51.925857500,"lon":4.577675000,"alt":-5.500,"epx":12.037,"epy":20.924,"epv":50.370,"track":0.0000,"speed":0.368,"climb":0.000,"eps":41.85} $GPRMC,083802.00,A,5155.55138,N,00434.66056,E,0.046,,210810,,,A*77 $GPVTG,,T,,M,0.046,N,0.086,K,A*2F $GPGGA,083802.00,5155.55138,N,00434.66056,E,1,06,2.50,-5.5,M,46.0,M,,*7D $GPGSA,A,3,27,15,09,28,18,08,,,,,,,3.32,2.50,2.19*0E $GPGSV,3,1,12,05,04,187,,08,10,078,14,09,43,271,34,12,04,213,*7E $GPGSV,3,2,12,15,78,213,33,17,26,106,18,18,32,294,40,22,13,324,18*71 $GPGSV,3,3,12,24,04,341,,26,54,139,20,27,62,277,36,28,39,055,27*71 {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":2.19,"tdop":1.15,"hdop":2.50,"gdop":2.58,"pdop":3.32,"satellites":[{"PRN":5,"el":4,"az":187,"ss":0,"used":false},{"PRN":8,"el":10,"az":78,"ss":14,"used":true},{"PRN":9,"el":43,"az":271,"ss":34,"used":true},{"PRN":12,"el":4,"az":213,"ss":0,"used":false},{"PRN":15,"el":78,"az":213,"ss":33,"used":true},{"PRN":17,"el":26,"az":106,"ss":18,"used":false},{"PRN":18,"el":32,"az":294,"ss":40,"used":true},{"PRN":22,"el":13,"az":324,"ss":18,"used":false},{"PRN":24,"el":4,"az":341,"ss":0,"used":false},{"PRN":26,"el":54,"az":139,"ss":20,"used":false},{"PRN":27,"el":62,"az":277,"ss":36,"used":true},{"PRN":28,"el":39,"az":55,"ss":27,"used":true}]} $GPGLL,5155.55138,N,00434.66056,E,083802.00,A,A*66 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:38:02.000Z","ept":0.005,"lat":51.925856333,"lon":4.577676000,"alt":-5.500,"epx":12.037,"epy":20.924,"epv":50.370,"track":0.0000,"speed":0.024,"climb":0.000,"eps":41.85} $GPRMC,085515.00,A,5155.55359,N,00434.65730,E,0.037,,210810,,,A*7D $GPVTG,,T,,M,0.037,N,0.069,K,A*28 $GPGGA,085515.00,5155.55359,N,00434.65730,E,1,08,1.00,2.1,M,46.0,M,,*57 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,17,09,51,276,42,11,01,043,,12,11,214,29*7F $GPGSV,4,2,13,15,73,189,40,17,30,099,25,18,33,285,39,22,17,319,37*7E $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,44,28,32,052,31*77 $GPGSV,4,4,13,33,28,204,38*4C {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":1.37,"tdop":1.15,"hdop":1.00,"gdop":2.58,"pdop":1.69,"satellites":[{"PRN":8,"el":4,"az":82,"ss":17,"used":false},{"PRN":9,"el":51,"az":276,"ss":42,"used":true},{"PRN":11,"el":1,"az":43,"ss":0,"used":false},{"PRN":12,"el":11,"az":214,"ss":29,"used":true},{"PRN":15,"el":73,"az":189,"ss":40,"used":true},{"PRN":17,"el":30,"az":99,"ss":25,"used":true},{"PRN":18,"el":33,"az":285,"ss":39,"used":true},{"PRN":22,"el":17,"az":319,"ss":37,"used":true},{"PRN":24,"el":3,"az":335,"ss":0,"used":false},{"PRN":26,"el":46,"az":142,"ss":0,"used":false},{"PRN":27,"el":69,"az":284,"ss":44,"used":true},{"PRN":28,"el":32,"az":52,"ss":31,"used":true},{"PRN":120,"el":28,"az":204,"ss":38,"used":false}]} $GPGLL,5155.55359,N,00434.65730,E,085515.00,A,A*6A {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:55:15.000Z","ept":0.005,"lat":51.925893167,"lon":4.577621667,"alt":2.100,"epx":12.037,"epy":20.924,"epv":50.370,"track":0.0000,"speed":0.019,"climb":0.000,"eps":0.04} $GPTXT,01,01,02,u-blox ag - www.u-blox.com*50 $GPTXT,01,01,02,HW UBX-G50xx 00040005 *53 $GPTXT,01,01,02,EXT CORE 6.00 (33247) May 13 2009 17:35:46*49 $GPTXT,01,01,02,ROM BASE 4.00 (25682) Jan 14 2008 16:29:23*4F $GPTXT,01,01,02,MOD LEA-5H-0*2E $GPTXT,01,01,02,ANTSUPERV=AC SD PDoS SR*20 $GPTXT,01,01,02,ANTSTATUS=OK*3B $GPRMC,085516.00,A,5155.55350,N,00434.65733,E,0.050,,210810,,,A*75 $GPVTG,,T,,M,0.050,N,0.092,K,A*2D $GPGGA,085516.00,5155.55350,N,00434.65733,E,1,08,1.00,2.0,M,46.0,M,,*5F $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,17,09,51,276,43,11,01,043,,12,11,215,29*7F $GPGSV,4,2,13,15,73,189,40,17,30,099,25,18,33,285,39,22,17,319,38*71 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,44,28,32,052,30*76 $GPGSV,4,4,13,33,28,204,38*4C {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":1.37,"tdop":1.15,"hdop":1.00,"gdop":2.58,"pdop":1.69,"satellites":[{"PRN":8,"el":4,"az":82,"ss":17,"used":false},{"PRN":9,"el":51,"az":276,"ss":43,"used":true},{"PRN":11,"el":1,"az":43,"ss":0,"used":false},{"PRN":12,"el":11,"az":215,"ss":29,"used":true},{"PRN":15,"el":73,"az":189,"ss":40,"used":true},{"PRN":17,"el":30,"az":99,"ss":25,"used":true},{"PRN":18,"el":33,"az":285,"ss":39,"used":true},{"PRN":22,"el":17,"az":319,"ss":38,"used":true},{"PRN":24,"el":3,"az":335,"ss":0,"used":false},{"PRN":26,"el":46,"az":142,"ss":0,"used":false},{"PRN":27,"el":69,"az":284,"ss":44,"used":true},{"PRN":28,"el":32,"az":52,"ss":30,"used":true},{"PRN":120,"el":28,"az":204,"ss":38,"used":false}]} $GPGLL,5155.55350,N,00434.65733,E,085516.00,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:55:16.000Z","ept":0.005,"lat":51.925891667,"lon":4.577622167,"alt":2.000,"epx":12.037,"epy":20.924,"epv":31.510,"track":0.0000,"speed":0.026,"climb":0.000,"eps":41.85} $GPRMC,085517.00,A,5155.55340,N,00434.65739,E,0.025,,210810,,,A*7D $GPVTG,,T,,M,0.025,N,0.046,K,A*26 $GPGGA,085517.00,5155.55340,N,00434.65739,E,1,08,1.00,1.8,M,46.0,M,,*5E $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,17,09,51,276,43,11,01,043,,12,11,215,29*7F $GPGSV,4,2,13,15,73,189,41,17,30,099,25,18,33,285,39,22,17,319,38*70 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,44,28,32,052,30*76 $GPGSV,4,4,13,33,28,204,38*4C {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":1.37,"tdop":1.15,"hdop":1.00,"gdop":2.58,"pdop":1.69,"satellites":[{"PRN":8,"el":4,"az":82,"ss":17,"used":false},{"PRN":9,"el":51,"az":276,"ss":43,"used":true},{"PRN":11,"el":1,"az":43,"ss":0,"used":false},{"PRN":12,"el":11,"az":215,"ss":29,"used":true},{"PRN":15,"el":73,"az":189,"ss":41,"used":true},{"PRN":17,"el":30,"az":99,"ss":25,"used":true},{"PRN":18,"el":33,"az":285,"ss":39,"used":true},{"PRN":22,"el":17,"az":319,"ss":38,"used":true},{"PRN":24,"el":3,"az":335,"ss":0,"used":false},{"PRN":26,"el":46,"az":142,"ss":0,"used":false},{"PRN":27,"el":69,"az":284,"ss":44,"used":true},{"PRN":28,"el":32,"az":52,"ss":30,"used":true},{"PRN":120,"el":28,"az":204,"ss":38,"used":false}]} $GPGLL,5155.55340,N,00434.65739,E,085517.00,A,A*69 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:55:17.000Z","ept":0.005,"lat":51.925890000,"lon":4.577623167,"alt":1.800,"epx":12.037,"epy":20.924,"epv":31.510,"track":0.0000,"speed":0.013,"climb":0.000,"eps":41.85} $GPRMC,085518.00,A,5155.55332,N,00434.65744,E,0.017,,210810,,,A*7C $GPVTG,,T,,M,0.017,N,0.032,K,A*24 $GPGGA,085518.00,5155.55332,N,00434.65744,E,1,08,1.00,1.6,M,46.0,M,,*50 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,17,09,51,276,42,11,01,043,,12,11,215,29*7E $GPGSV,4,2,13,15,73,189,41,17,30,099,27,18,33,285,39,22,17,319,39*73 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,44,28,32,052,31*77 $GPGSV,4,4,13,33,28,204,38*4C {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":1.37,"tdop":1.15,"hdop":1.00,"gdop":2.58,"pdop":1.69,"satellites":[{"PRN":8,"el":4,"az":82,"ss":17,"used":false},{"PRN":9,"el":51,"az":276,"ss":42,"used":true},{"PRN":11,"el":1,"az":43,"ss":0,"used":false},{"PRN":12,"el":11,"az":215,"ss":29,"used":true},{"PRN":15,"el":73,"az":189,"ss":41,"used":true},{"PRN":17,"el":30,"az":99,"ss":27,"used":true},{"PRN":18,"el":33,"az":285,"ss":39,"used":true},{"PRN":22,"el":17,"az":319,"ss":39,"used":true},{"PRN":24,"el":3,"az":335,"ss":0,"used":false},{"PRN":26,"el":46,"az":142,"ss":0,"used":false},{"PRN":27,"el":69,"az":284,"ss":44,"used":true},{"PRN":28,"el":32,"az":52,"ss":31,"used":true},{"PRN":120,"el":28,"az":204,"ss":38,"used":false}]} $GPGLL,5155.55332,N,00434.65744,E,085518.00,A,A*69 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:55:18.000Z","ept":0.005,"lat":51.925888667,"lon":4.577624000,"alt":1.600,"epx":12.037,"epy":20.924,"epv":31.510,"track":0.0000,"speed":0.009,"climb":0.000,"eps":41.85} $GPRMC,085519.00,A,5155.55322,N,00434.65748,E,0.056,,210810,,,A*75 $GPVTG,,T,,M,0.056,N,0.104,K,A*25 $GPGGA,085519.00,5155.55322,N,00434.65748,E,1,08,1.00,1.5,M,46.0,M,,*5F $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,16,09,51,276,42,11,01,043,,12,11,215,28*7E $GPGSV,4,2,13,15,72,188,41,17,30,099,26,18,33,285,39,22,17,319,38*73 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,44,28,32,052,30*76 $GPGSV,4,4,13,33,28,204,38*4C {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":1.37,"tdop":1.15,"hdop":1.00,"gdop":2.58,"pdop":1.69,"satellites":[{"PRN":8,"el":4,"az":82,"ss":16,"used":false},{"PRN":9,"el":51,"az":276,"ss":42,"used":true},{"PRN":11,"el":1,"az":43,"ss":0,"used":false},{"PRN":12,"el":11,"az":215,"ss":28,"used":true},{"PRN":15,"el":72,"az":188,"ss":41,"used":true},{"PRN":17,"el":30,"az":99,"ss":26,"used":true},{"PRN":18,"el":33,"az":285,"ss":39,"used":true},{"PRN":22,"el":17,"az":319,"ss":38,"used":true},{"PRN":24,"el":3,"az":335,"ss":0,"used":false},{"PRN":26,"el":46,"az":142,"ss":0,"used":false},{"PRN":27,"el":69,"az":284,"ss":44,"used":true},{"PRN":28,"el":32,"az":52,"ss":30,"used":true},{"PRN":120,"el":28,"az":204,"ss":38,"used":false}]} $GPGLL,5155.55322,N,00434.65748,E,085519.00,A,A*65 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:55:19.000Z","ept":0.005,"lat":51.925887000,"lon":4.577624667,"alt":1.500,"epx":12.037,"epy":20.924,"epv":31.510,"track":0.0000,"speed":0.029,"climb":0.000,"eps":41.85} $GPRMC,085520.00,A,5155.55317,N,00434.65752,E,0.011,,210810,,,A*71 $GPVTG,,T,,M,0.011,N,0.020,K,A*21 $GPGGA,085520.00,5155.55317,N,00434.65752,E,1,08,1.00,1.5,M,46.0,M,,*58 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,18,09,51,276,42,11,01,043,,12,11,215,28*70 $GPGSV,4,2,13,15,72,188,41,17,30,099,25,18,33,285,39,22,17,319,39*71 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,44,28,32,052,31*77 $GPGSV,4,4,13,33,28,204,38*4C {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":1.37,"tdop":1.15,"hdop":1.00,"gdop":2.58,"pdop":1.69,"satellites":[{"PRN":8,"el":4,"az":82,"ss":18,"used":false},{"PRN":9,"el":51,"az":276,"ss":42,"used":true},{"PRN":11,"el":1,"az":43,"ss":0,"used":false},{"PRN":12,"el":11,"az":215,"ss":28,"used":true},{"PRN":15,"el":72,"az":188,"ss":41,"used":true},{"PRN":17,"el":30,"az":99,"ss":25,"used":true},{"PRN":18,"el":33,"az":285,"ss":39,"used":true},{"PRN":22,"el":17,"az":319,"ss":39,"used":true},{"PRN":24,"el":3,"az":335,"ss":0,"used":false},{"PRN":26,"el":46,"az":142,"ss":0,"used":false},{"PRN":27,"el":69,"az":284,"ss":44,"used":true},{"PRN":28,"el":32,"az":52,"ss":31,"used":true},{"PRN":120,"el":28,"az":204,"ss":38,"used":false}]} $GPGLL,5155.55317,N,00434.65752,E,085520.00,A,A*62 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:55:20.000Z","ept":0.005,"lat":51.925886167,"lon":4.577625333,"alt":1.500,"epx":12.037,"epy":20.924,"epv":31.510,"track":0.0000,"speed":0.006,"climb":0.000,"eps":41.85} $GPRMC,085521.00,A,5155.55309,N,00434.65756,E,0.013,,210810,,,A*79 $GPVTG,,T,,M,0.013,N,0.024,K,A*27 $GPGGA,085521.00,5155.55309,N,00434.65756,E,1,08,1.00,1.3,M,46.0,M,,*54 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,18,09,51,276,44,11,01,043,,12,11,215,27*79 $GPGSV,4,2,13,15,72,188,41,17,30,098,26,18,33,285,39,22,17,319,40*7D $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,44,28,32,052,32*74 $GPGSV,4,4,13,33,28,204,38*4C {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":1.37,"tdop":1.15,"hdop":1.00,"gdop":2.58,"pdop":1.69,"satellites":[{"PRN":8,"el":4,"az":82,"ss":18,"used":false},{"PRN":9,"el":51,"az":276,"ss":44,"used":true},{"PRN":11,"el":1,"az":43,"ss":0,"used":false},{"PRN":12,"el":11,"az":215,"ss":27,"used":true},{"PRN":15,"el":72,"az":188,"ss":41,"used":true},{"PRN":17,"el":30,"az":98,"ss":26,"used":true},{"PRN":18,"el":33,"az":285,"ss":39,"used":true},{"PRN":22,"el":17,"az":319,"ss":40,"used":true},{"PRN":24,"el":3,"az":335,"ss":0,"used":false},{"PRN":26,"el":46,"az":142,"ss":0,"used":false},{"PRN":27,"el":69,"az":284,"ss":44,"used":true},{"PRN":28,"el":32,"az":52,"ss":32,"used":true},{"PRN":120,"el":28,"az":204,"ss":38,"used":false}]} $GPGLL,5155.55309,N,00434.65756,E,085521.00,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:55:21.000Z","ept":0.005,"lat":51.925884833,"lon":4.577626000,"alt":1.300,"epx":12.037,"epy":20.924,"epv":31.510,"track":0.0000,"speed":0.007,"climb":0.000,"eps":41.85} $GPRMC,085522.00,A,5155.55300,N,00434.65760,E,0.039,,210810,,,A*7E $GPVTG,,T,,M,0.039,N,0.072,K,A*2C $GPGGA,085522.00,5155.55300,N,00434.65760,E,1,09,1.00,1.2,M,46.0,M,,*5B $GPGSA,A,3,15,27,09,28,18,26,17,22,12,,,,1.69,1.00,1.37*02 $GPGSV,4,1,13,08,04,082,17,09,51,276,43,11,01,043,,12,11,215,28*7E $GPGSV,4,2,13,15,72,188,41,17,30,098,28,18,33,285,39,22,17,319,38*7C $GPGSV,4,3,13,24,03,335,,26,46,142,25,27,69,284,44,28,32,052,30*71 $GPGSV,4,4,13,33,28,204,38*4C {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":1.37,"tdop":1.15,"hdop":1.00,"gdop":2.58,"pdop":1.69,"satellites":[{"PRN":8,"el":4,"az":82,"ss":17,"used":false},{"PRN":9,"el":51,"az":276,"ss":43,"used":true},{"PRN":11,"el":1,"az":43,"ss":0,"used":false},{"PRN":12,"el":11,"az":215,"ss":28,"used":true},{"PRN":15,"el":72,"az":188,"ss":41,"used":true},{"PRN":17,"el":30,"az":98,"ss":28,"used":true},{"PRN":18,"el":33,"az":285,"ss":39,"used":true},{"PRN":22,"el":17,"az":319,"ss":38,"used":true},{"PRN":24,"el":3,"az":335,"ss":0,"used":false},{"PRN":26,"el":46,"az":142,"ss":25,"used":true},{"PRN":27,"el":69,"az":284,"ss":44,"used":true},{"PRN":28,"el":32,"az":52,"ss":30,"used":true},{"PRN":120,"el":28,"az":204,"ss":38,"used":false}]} $GPGLL,5155.55300,N,00434.65760,E,085522.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:55:22.000Z","ept":0.005,"lat":51.925883333,"lon":4.577626667,"alt":1.200,"epx":12.037,"epy":20.924,"epv":31.510,"track":0.0000,"speed":0.020,"climb":0.000,"eps":41.85} $GPRMC,085523.00,A,5155.55295,N,00434.65760,E,0.062,,210810,,,A*7C $GPVTG,,T,,M,0.062,N,0.116,K,A*21 $GPGGA,085523.00,5155.55295,N,00434.65760,E,1,09,1.00,1.2,M,46.0,M,,*57 $GPGSA,A,3,15,27,09,28,18,26,17,22,12,,,,1.69,1.00,1.37*02 $GPGSV,4,1,13,08,04,082,18,09,51,276,42,11,01,043,,12,11,215,28*70 $GPGSV,4,2,13,15,72,188,40,17,30,098,27,18,33,285,39,22,17,319,38*72 $GPGSV,4,3,13,24,03,335,,26,46,142,23,27,69,284,43,28,32,052,31*71 $GPGSV,4,4,13,33,28,204,38*4C {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":1.37,"tdop":1.15,"hdop":1.00,"gdop":2.58,"pdop":1.69,"satellites":[{"PRN":8,"el":4,"az":82,"ss":18,"used":false},{"PRN":9,"el":51,"az":276,"ss":42,"used":true},{"PRN":11,"el":1,"az":43,"ss":0,"used":false},{"PRN":12,"el":11,"az":215,"ss":28,"used":true},{"PRN":15,"el":72,"az":188,"ss":40,"used":true},{"PRN":17,"el":30,"az":98,"ss":27,"used":true},{"PRN":18,"el":33,"az":285,"ss":39,"used":true},{"PRN":22,"el":17,"az":319,"ss":38,"used":true},{"PRN":24,"el":3,"az":335,"ss":0,"used":false},{"PRN":26,"el":46,"az":142,"ss":23,"used":true},{"PRN":27,"el":69,"az":284,"ss":43,"used":true},{"PRN":28,"el":32,"az":52,"ss":31,"used":true},{"PRN":120,"el":28,"az":204,"ss":38,"used":false}]} $GPGLL,5155.55295,N,00434.65760,E,085523.00,A,A*6B {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:55:23.000Z","ept":0.005,"lat":51.925882500,"lon":4.577626667,"alt":1.200,"epx":12.037,"epy":20.924,"epv":31.510,"track":0.0000,"speed":0.032,"climb":0.000,"eps":41.85} $GPRMC,085524.00,A,5155.55293,N,00434.65764,E,0.033,,210810,,,A*7D $GPVTG,,T,,M,0.033,N,0.061,K,A*24 $GPGGA,085524.00,5155.55293,N,00434.65764,E,1,08,1.00,1.1,M,46.0,M,,*50 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,17,09,51,276,42,11,01,043,,12,11,215,28*7F $GPGSV,4,2,13,15,72,188,40,17,30,098,26,18,33,285,39,22,17,319,38*73 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,43,28,32,052,31*70 $GPGSV,4,4,13,33,28,204,38*4C {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":1.37,"tdop":1.15,"hdop":1.00,"gdop":2.58,"pdop":1.69,"satellites":[{"PRN":8,"el":4,"az":82,"ss":17,"used":false},{"PRN":9,"el":51,"az":276,"ss":42,"used":true},{"PRN":11,"el":1,"az":43,"ss":0,"used":false},{"PRN":12,"el":11,"az":215,"ss":28,"used":true},{"PRN":15,"el":72,"az":188,"ss":40,"used":true},{"PRN":17,"el":30,"az":98,"ss":26,"used":true},{"PRN":18,"el":33,"az":285,"ss":39,"used":true},{"PRN":22,"el":17,"az":319,"ss":38,"used":true},{"PRN":24,"el":3,"az":335,"ss":0,"used":false},{"PRN":26,"el":46,"az":142,"ss":0,"used":false},{"PRN":27,"el":69,"az":284,"ss":43,"used":true},{"PRN":28,"el":32,"az":52,"ss":31,"used":true},{"PRN":120,"el":28,"az":204,"ss":38,"used":false}]} $GPGLL,5155.55293,N,00434.65764,E,085524.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:55:24.000Z","ept":0.005,"lat":51.925882167,"lon":4.577627333,"alt":1.100,"epx":12.037,"epy":20.924,"epv":31.510,"track":0.0000,"speed":0.017,"climb":0.000,"eps":41.85} $GPRMC,085525.00,A,5155.55292,N,00434.65766,E,0.014,,210810,,,A*7A $GPVTG,,T,,M,0.014,N,0.027,K,A*23 $GPGGA,085525.00,5155.55292,N,00434.65766,E,1,08,1.00,1.2,M,46.0,M,,*51 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,17,09,51,276,42,11,01,043,,12,11,215,29*7E $GPGSV,4,2,13,15,72,188,40,17,30,098,27,18,33,285,39,22,17,319,38*72 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,44,28,32,052,31*77 $GPGSV,4,4,13,33,28,204,38*4C {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":1.37,"tdop":1.15,"hdop":1.00,"gdop":2.58,"pdop":1.69,"satellites":[{"PRN":8,"el":4,"az":82,"ss":17,"used":false},{"PRN":9,"el":51,"az":276,"ss":42,"used":true},{"PRN":11,"el":1,"az":43,"ss":0,"used":false},{"PRN":12,"el":11,"az":215,"ss":29,"used":true},{"PRN":15,"el":72,"az":188,"ss":40,"used":true},{"PRN":17,"el":30,"az":98,"ss":27,"used":true},{"PRN":18,"el":33,"az":285,"ss":39,"used":true},{"PRN":22,"el":17,"az":319,"ss":38,"used":true},{"PRN":24,"el":3,"az":335,"ss":0,"used":false},{"PRN":26,"el":46,"az":142,"ss":0,"used":false},{"PRN":27,"el":69,"az":284,"ss":44,"used":true},{"PRN":28,"el":32,"az":52,"ss":31,"used":true},{"PRN":120,"el":28,"az":204,"ss":38,"used":false}]} $GPGLL,5155.55292,N,00434.65766,E,085525.00,A,A*6C {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:55:25.000Z","ept":0.005,"lat":51.925882000,"lon":4.577627667,"alt":1.200,"epx":12.037,"epy":20.924,"epv":31.510,"track":0.0000,"speed":0.007,"climb":0.000,"eps":41.85} $GPRMC,085526.00,A,5155.55292,N,00434.65770,E,0.037,,210810,,,A*7F $GPVTG,,T,,M,0.037,N,0.068,K,A*29 $GPGGA,085526.00,5155.55292,N,00434.65770,E,1,08,1.00,1.2,M,46.0,M,,*55 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,17,09,51,276,43,11,01,043,,12,11,215,29*7F $GPGSV,4,2,13,15,72,188,40,17,30,098,27,18,33,285,39,22,18,319,38*7D $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,45,28,32,052,31*76 $GPGSV,4,4,13,33,28,204,38*4C {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":1.37,"tdop":1.15,"hdop":1.00,"gdop":2.58,"pdop":1.69,"satellites":[{"PRN":8,"el":4,"az":82,"ss":17,"used":false},{"PRN":9,"el":51,"az":276,"ss":43,"used":true},{"PRN":11,"el":1,"az":43,"ss":0,"used":false},{"PRN":12,"el":11,"az":215,"ss":29,"used":true},{"PRN":15,"el":72,"az":188,"ss":40,"used":true},{"PRN":17,"el":30,"az":98,"ss":27,"used":true},{"PRN":18,"el":33,"az":285,"ss":39,"used":true},{"PRN":22,"el":18,"az":319,"ss":38,"used":true},{"PRN":24,"el":3,"az":335,"ss":0,"used":false},{"PRN":26,"el":46,"az":142,"ss":0,"used":false},{"PRN":27,"el":69,"az":284,"ss":45,"used":true},{"PRN":28,"el":32,"az":52,"ss":31,"used":true},{"PRN":120,"el":28,"az":204,"ss":38,"used":false}]} $GPGLL,5155.55292,N,00434.65770,E,085526.00,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:55:26.000Z","ept":0.005,"lat":51.925882000,"lon":4.577628333,"alt":1.200,"epx":12.037,"epy":20.924,"epv":31.510,"track":0.0000,"speed":0.019,"climb":0.000,"eps":41.85} $GPRMC,085527.00,A,5155.55291,N,00434.65771,E,0.022,,210810,,,A*78 $GPVTG,,T,,M,0.022,N,0.042,K,A*25 $GPGGA,085527.00,5155.55291,N,00434.65771,E,1,08,1.00,1.2,M,46.0,M,,*56 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,17,09,51,276,43,11,01,043,,12,11,215,29*7F $GPGSV,4,2,13,15,72,188,40,17,30,098,27,18,33,285,40,22,18,319,38*73 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,45,28,32,052,32*75 $GPGSV,4,4,13,33,28,204,38*4C {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":1.37,"tdop":1.15,"hdop":1.00,"gdop":2.58,"pdop":1.69,"satellites":[{"PRN":8,"el":4,"az":82,"ss":17,"used":false},{"PRN":9,"el":51,"az":276,"ss":43,"used":true},{"PRN":11,"el":1,"az":43,"ss":0,"used":false},{"PRN":12,"el":11,"az":215,"ss":29,"used":true},{"PRN":15,"el":72,"az":188,"ss":40,"used":true},{"PRN":17,"el":30,"az":98,"ss":27,"used":true},{"PRN":18,"el":33,"az":285,"ss":40,"used":true},{"PRN":22,"el":18,"az":319,"ss":38,"used":true},{"PRN":24,"el":3,"az":335,"ss":0,"used":false},{"PRN":26,"el":46,"az":142,"ss":0,"used":false},{"PRN":27,"el":69,"az":284,"ss":45,"used":true},{"PRN":28,"el":32,"az":52,"ss":32,"used":true},{"PRN":120,"el":28,"az":204,"ss":38,"used":false}]} $GPGLL,5155.55291,N,00434.65771,E,085527.00,A,A*6B {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:55:27.000Z","ept":0.005,"lat":51.925881833,"lon":4.577628500,"alt":1.200,"epx":12.037,"epy":20.924,"epv":31.510,"track":0.0000,"speed":0.011,"climb":0.000,"eps":41.85} $GPRMC,085528.00,A,5155.55292,N,00434.65773,E,0.056,,210810,,,A*75 $GPVTG,,T,,M,0.056,N,0.103,K,A*22 $GPGGA,085528.00,5155.55292,N,00434.65773,E,1,08,1.00,1.3,M,46.0,M,,*59 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,18,09,51,276,43,11,01,043,,12,11,215,28*71 $GPGSV,4,2,13,15,72,188,40,17,30,098,28,18,33,285,40,22,18,319,38*7C $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,45,28,32,052,32*75 $GPGSV,4,4,13,33,28,204,39*4D {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":1.37,"tdop":1.15,"hdop":1.00,"gdop":2.58,"pdop":1.69,"satellites":[{"PRN":8,"el":4,"az":82,"ss":18,"used":false},{"PRN":9,"el":51,"az":276,"ss":43,"used":true},{"PRN":11,"el":1,"az":43,"ss":0,"used":false},{"PRN":12,"el":11,"az":215,"ss":28,"used":true},{"PRN":15,"el":72,"az":188,"ss":40,"used":true},{"PRN":17,"el":30,"az":98,"ss":28,"used":true},{"PRN":18,"el":33,"az":285,"ss":40,"used":true},{"PRN":22,"el":18,"az":319,"ss":38,"used":true},{"PRN":24,"el":3,"az":335,"ss":0,"used":false},{"PRN":26,"el":46,"az":142,"ss":0,"used":false},{"PRN":27,"el":69,"az":284,"ss":45,"used":true},{"PRN":28,"el":32,"az":52,"ss":32,"used":true},{"PRN":120,"el":28,"az":204,"ss":39,"used":false}]} $GPGLL,5155.55292,N,00434.65773,E,085528.00,A,A*65 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:55:28.000Z","ept":0.005,"lat":51.925882000,"lon":4.577628833,"alt":1.300,"epx":12.037,"epy":20.924,"epv":31.510,"track":0.0000,"speed":0.029,"climb":0.000,"eps":41.85} $GPRMC,085529.00,A,5155.55292,N,00434.65782,E,0.013,,210810,,,A*7B $GPVTG,,T,,M,0.013,N,0.023,K,A*20 $GPGGA,085529.00,5155.55292,N,00434.65782,E,1,09,1.00,1.3,M,46.0,M,,*57 $GPGSA,A,3,15,27,09,28,18,26,17,22,12,,,,1.69,1.00,1.37*02 $GPGSV,4,1,13,08,04,082,18,09,51,276,43,11,01,043,,12,11,215,28*71 $GPGSV,4,2,13,15,72,188,40,17,30,098,27,18,33,285,40,22,18,319,38*73 $GPGSV,4,3,13,24,03,335,,26,46,142,26,27,69,284,45,28,32,052,32*71 $GPGSV,4,4,13,33,28,204,39*4D {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":1.37,"tdop":1.15,"hdop":1.00,"gdop":2.58,"pdop":1.69,"satellites":[{"PRN":8,"el":4,"az":82,"ss":18,"used":false},{"PRN":9,"el":51,"az":276,"ss":43,"used":true},{"PRN":11,"el":1,"az":43,"ss":0,"used":false},{"PRN":12,"el":11,"az":215,"ss":28,"used":true},{"PRN":15,"el":72,"az":188,"ss":40,"used":true},{"PRN":17,"el":30,"az":98,"ss":27,"used":true},{"PRN":18,"el":33,"az":285,"ss":40,"used":true},{"PRN":22,"el":18,"az":319,"ss":38,"used":true},{"PRN":24,"el":3,"az":335,"ss":0,"used":false},{"PRN":26,"el":46,"az":142,"ss":26,"used":true},{"PRN":27,"el":69,"az":284,"ss":45,"used":true},{"PRN":28,"el":32,"az":52,"ss":32,"used":true},{"PRN":120,"el":28,"az":204,"ss":39,"used":false}]} $GPGLL,5155.55292,N,00434.65782,E,085529.00,A,A*6A {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:55:29.000Z","ept":0.005,"lat":51.925882000,"lon":4.577630333,"alt":1.300,"epx":12.037,"epy":20.924,"epv":31.510,"track":0.0000,"speed":0.007,"climb":0.000,"eps":41.85} $GPRMC,085530.00,A,5155.55293,N,00434.65788,E,0.006,,210810,,,A*7C $GPVTG,,T,,M,0.006,N,0.012,K,A*26 $GPGGA,085530.00,5155.55293,N,00434.65788,E,1,08,1.00,1.3,M,46.0,M,,*55 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,17,09,51,276,43,11,01,043,,12,11,215,28*7E $GPGSV,4,2,13,15,72,188,41,17,30,098,26,18,33,285,40,22,18,319,39*72 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,284,45,28,32,052,32*75 $GPGSV,4,4,13,33,28,204,39*4D {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":1.37,"tdop":1.15,"hdop":1.00,"gdop":2.58,"pdop":1.69,"satellites":[{"PRN":8,"el":4,"az":82,"ss":17,"used":false},{"PRN":9,"el":51,"az":276,"ss":43,"used":true},{"PRN":11,"el":1,"az":43,"ss":0,"used":false},{"PRN":12,"el":11,"az":215,"ss":28,"used":true},{"PRN":15,"el":72,"az":188,"ss":41,"used":true},{"PRN":17,"el":30,"az":98,"ss":26,"used":true},{"PRN":18,"el":33,"az":285,"ss":40,"used":true},{"PRN":22,"el":18,"az":319,"ss":39,"used":true},{"PRN":24,"el":3,"az":335,"ss":0,"used":false},{"PRN":26,"el":46,"az":142,"ss":0,"used":false},{"PRN":27,"el":69,"az":284,"ss":45,"used":true},{"PRN":28,"el":32,"az":52,"ss":32,"used":true},{"PRN":120,"el":28,"az":204,"ss":39,"used":false}]} $GPGLL,5155.55293,N,00434.65788,E,085530.00,A,A*69 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:55:30.000Z","ept":0.005,"lat":51.925882167,"lon":4.577631333,"alt":1.300,"epx":12.037,"epy":20.924,"epv":31.510,"track":0.0000,"speed":0.003,"climb":0.000,"eps":41.85} $GPRMC,085531.00,A,5155.55295,N,00434.65789,E,0.056,,210810,,,A*7F $GPVTG,,T,,M,0.056,N,0.103,K,A*22 $GPGGA,085531.00,5155.55295,N,00434.65789,E,1,08,1.00,1.3,M,46.0,M,,*53 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,17,09,51,276,43,11,01,043,,12,11,215,29*7F $GPGSV,4,2,13,15,72,188,41,17,30,098,27,18,33,285,40,22,18,319,39*73 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,285,45,28,32,052,32*74 $GPGSV,4,4,13,33,28,204,38*4C {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":1.37,"tdop":1.15,"hdop":1.00,"gdop":2.58,"pdop":1.69,"satellites":[{"PRN":8,"el":4,"az":82,"ss":17,"used":false},{"PRN":9,"el":51,"az":276,"ss":43,"used":true},{"PRN":11,"el":1,"az":43,"ss":0,"used":false},{"PRN":12,"el":11,"az":215,"ss":29,"used":true},{"PRN":15,"el":72,"az":188,"ss":41,"used":true},{"PRN":17,"el":30,"az":98,"ss":27,"used":true},{"PRN":18,"el":33,"az":285,"ss":40,"used":true},{"PRN":22,"el":18,"az":319,"ss":39,"used":true},{"PRN":24,"el":3,"az":335,"ss":0,"used":false},{"PRN":26,"el":46,"az":142,"ss":0,"used":false},{"PRN":27,"el":69,"az":285,"ss":45,"used":true},{"PRN":28,"el":32,"az":52,"ss":32,"used":true},{"PRN":120,"el":28,"az":204,"ss":38,"used":false}]} $GPGLL,5155.55295,N,00434.65789,E,085531.00,A,A*6F {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:55:31.000Z","ept":0.005,"lat":51.925882500,"lon":4.577631500,"alt":1.300,"epx":12.037,"epy":20.924,"epv":31.510,"track":0.0000,"speed":0.029,"climb":0.000,"eps":41.85} $GPRMC,085532.00,A,5155.55295,N,00434.65785,E,0.097,,210810,,,A*7D $GPVTG,,T,,M,0.097,N,0.181,K,A*25 $GPGGA,085532.00,5155.55295,N,00434.65785,E,1,08,1.00,1.3,M,46.0,M,,*5C $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,16,09,51,276,43,11,01,043,,12,11,215,28*7F $GPGSV,4,2,13,15,72,188,41,17,30,098,27,18,33,285,40,22,18,319,39*73 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,285,44,28,32,052,33*74 $GPGSV,4,4,13,33,28,204,38*4C {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":1.37,"tdop":1.15,"hdop":1.00,"gdop":2.58,"pdop":1.69,"satellites":[{"PRN":8,"el":4,"az":82,"ss":16,"used":false},{"PRN":9,"el":51,"az":276,"ss":43,"used":true},{"PRN":11,"el":1,"az":43,"ss":0,"used":false},{"PRN":12,"el":11,"az":215,"ss":28,"used":true},{"PRN":15,"el":72,"az":188,"ss":41,"used":true},{"PRN":17,"el":30,"az":98,"ss":27,"used":true},{"PRN":18,"el":33,"az":285,"ss":40,"used":true},{"PRN":22,"el":18,"az":319,"ss":39,"used":true},{"PRN":24,"el":3,"az":335,"ss":0,"used":false},{"PRN":26,"el":46,"az":142,"ss":0,"used":false},{"PRN":27,"el":69,"az":285,"ss":44,"used":true},{"PRN":28,"el":32,"az":52,"ss":33,"used":true},{"PRN":120,"el":28,"az":204,"ss":38,"used":false}]} $GPGLL,5155.55295,N,00434.65785,E,085532.00,A,A*60 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:55:32.000Z","ept":0.005,"lat":51.925882500,"lon":4.577630833,"alt":1.300,"epx":12.037,"epy":20.924,"epv":31.510,"track":0.0000,"speed":0.050,"climb":0.000,"eps":41.85} $GPRMC,085533.00,A,5155.55298,N,00434.65778,E,0.041,,210810,,,A*78 $GPVTG,,T,,M,0.041,N,0.075,K,A*24 $GPGGA,085533.00,5155.55298,N,00434.65778,E,1,08,1.00,1.4,M,46.0,M,,*55 $GPGSA,A,3,15,27,09,28,18,17,22,12,,,,,1.69,1.00,1.37*06 $GPGSV,4,1,13,08,04,082,16,09,51,276,42,11,01,043,,12,11,215,28*7E $GPGSV,4,2,13,15,72,188,42,17,30,098,25,18,33,285,40,22,18,319,39*72 $GPGSV,4,3,13,24,03,335,,26,46,142,,27,69,285,43,28,32,052,33*73 $GPGSV,4,4,13,33,28,204,38*4C {"class":"SKY","tag":"GSV","xdop":0.80,"ydop":1.39,"vdop":1.37,"tdop":1.15,"hdop":1.00,"gdop":2.58,"pdop":1.69,"satellites":[{"PRN":8,"el":4,"az":82,"ss":16,"used":false},{"PRN":9,"el":51,"az":276,"ss":42,"used":true},{"PRN":11,"el":1,"az":43,"ss":0,"used":false},{"PRN":12,"el":11,"az":215,"ss":28,"used":true},{"PRN":15,"el":72,"az":188,"ss":42,"used":true},{"PRN":17,"el":30,"az":98,"ss":25,"used":true},{"PRN":18,"el":33,"az":285,"ss":40,"used":true},{"PRN":22,"el":18,"az":319,"ss":39,"used":true},{"PRN":24,"el":3,"az":335,"ss":0,"used":false},{"PRN":26,"el":46,"az":142,"ss":0,"used":false},{"PRN":27,"el":69,"az":285,"ss":43,"used":true},{"PRN":28,"el":32,"az":52,"ss":33,"used":true},{"PRN":120,"el":28,"az":204,"ss":38,"used":false}]} $GPGLL,5155.55298,N,00434.65778,E,085533.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2010-08-21T08:55:33.000Z","ept":0.005,"lat":51.925883000,"lon":4.577629667,"alt":1.400,"epx":12.037,"epy":20.924,"epv":31.510,"track":0.0000,"speed":0.021,"climb":0.000,"eps":41.85} gpsd-3.9/test/daemon/uBlox-sirf1.log0000664000175000017500000004211611762140440015533 0ustar esresr# Name: uBlox (SiRf variant) # Chipset: Sirf-I with uBlox firmware # Submitter: Rob Janssen # Date: 2005-06-11 # Location: Utrecht, Netherlands, 52N5E # No entry for this on our hardware page. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. #  ¢`ÿ#Time: 02074378 Int: 017/074/027 ms: 0661 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000¹°³ ¢Œ.I k ~g _~¿.......///},¿,-,-,---,-§Š¿-,----,--, šDÆG¿++**++++++Ó.b¿.//...../.7]$¿////.///./<%¿---,,-----ÄV¿///00/0//0,°³ ¢);·÷^ÌLg5 .I k ‡°³ ¢ F’°³ ¢'bjƒNˆÙ|=-©ßBdÕ 6¯  Q°³ ¢°³ ¢`ÿ#Time: 02074379 Int: 019/081/027 ms: 0658 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000À°³ ¢Œ.I Ï ~g _~¿///../.../},¿---,--,,,,§Š¿,-,------- šDÆG¿++++++++++Ó.b¿..../////.7]$¿////...///<%¿,,,--,-,,,ÄV¿/00//0//0/°³ ¢);·÷^ÌLg5 .I Ï ë°³ ¢ ?—°³ ¢'bjƒMˆÙ|==Ÿä/dÕ :—  Z°³ ¢°³ ¢`ÿ#Time: 02074380 Int: 017/063/027 ms: 0663 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000²°³ ¢Œ.I 3 ~g _~¿./../////.},¿,----,-,-,§Š¿-,-------- šDÆG¿+++++++++,Ó.b¿////./././7]$¿/./../////<%¿,---,---,,ÄV¿/0000/00//°³ ¢);·÷^ÌLg5 .I 3 P°³ ¢ 0•°³ ¢'bjƒMˆÙ|=N•)=dÕ >  {°³ ¢°³ ¢`ÿ#Time: 02074381 Int: 017/087/027 ms: 0661 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000·°³ ¢Œ.I — ~g _~¿/././/////},¿,,,,-,-,,,§Š¿-,,,-,--,, šDÆG¿++++,+++++Ó.b¿//..//..//7]$¿././/./...<%¿,,,,-,,,,,ÄV¿00000000//V°³ ¢);·÷^ÌLg5 .I — ް³ ¢ E˜°³ ¢'bjƒMˆÙ|=\÷›zdÕ Bg  ‹°³ ¢°³ ¢`ÿ#Time: 02074382 Int: 030/069/027 ms: 0664 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000¶°³ ¢ÿCSTD: New almanac for SV 23 S°³ ¢Œ.I û ~g _~¿/////.././},¿-,--,-,-,,§Š¿----,-,--, šDÆG¿+,++++++,+Ó.b¿///.//.///7]$¿.///......<%¿.,-,------ÄV¿//0//////0ð³ ¢);·÷^ÌLg5 .I û °³ ¢ <¢°³ ¢'bjƒMˆÙ|=lEßdÕ FO  ް³ ¢°³ ¢`ÿ#Time: 02074383 Int: 017/090/027 ms: 0674 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000·°³ ¢Œ.I _ ~g _~¿//..//////},¿,,,,-,,,--§Š¿,,-,,----, šDÆG¿++,,++++,+Ó.b¿.././/////7]$¿./..../...<%¿-,,,-,--,-ÄV¿/00/00///0#°³ ¢);·÷^ÌLg5 .I _ }°³ ¢ I™!°³ ¢'bjƒMˆÙ|=|{7dÕ J7  F°³ ¢°³ ¢`ÿ#Time: 02074384 Int: 031/076/027 ms: 0665 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000ž°³ ¢Œ.I à ~g _~¿./////////},¿--,,-,,-,,§Š¿,-,--,,,-, šDÆG¿++++,+++++Ó.b¿/.//..////7]$¿......../.<%¿-,,,,,,,,,ÄV¿//00//00//€°³ ¢);·÷^ÌLg5 .I à ᰳ ¢ M œ/°³ ¢'bjƒMˆÙ|=‘wÌdÕ N  ;°³ ¢°³ ¢`ÿ#Time: 02074385 Int: 017/077/027 ms: 0668 * 00 BF BF * BF 00 BF * 5D BF 00 * BF BF BF 1000000Ú°³ ¢Qÿ@R Time:02074386 Ch:06 SV:02 Chip:548 Code:13520 CRng:511 CDop:79816 DRng:3 ù°³ ¢Œ.I' ~g _~¿//.////.//},¿,,,---,,-,§Š¿,-,,-,,,-- šDÆG¿+++++++***Ó.b¿/.////////7]$¿...//..../<%¿-,-----,,-ÄV¿/0000/0/00í°³ ¢);·÷^ÌLg5 .I' F°³ ¢ 2¯%°³ ¢'bjƒLˆÙ|=¥j ukÛdÕ iv  °³ ¢°³ ¢`ÿ#Time: 02074392 Int: 031/074/027 ms: 0663 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000999ΰ³ ¢Œ.Iã ~g _~¿//////0///},¿---,------§Š¿-,,,,,-,,, šDÆG¿+*****+***Ó.b¿//////////7]$¿//////////<%¿-,,,--,,,,ÄV¿00/0000//0°°³ ¢);·÷^ÌLg5 .Iã °³ ¢ >’°³ ¢'bjƒLˆÙ|>Î ŽdÕ m_  û°³ ¢°³ ¢`ÿ#Time: 02074393 Int: 024/062/027 ms: 0658 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000·°³ ¢Œ.IG ~g _~¿//////////},¿--,---,---§Š¿,-,,,,,-,, šDÆG¿****++*+++Ó.b¿//////////7]$¿//////////<%¿,,,-,,,,,,ÄV¿000////00/°³ ¢);·÷^ÌLg5 .IG i°³ ¢ 8’°³ ¢'bjƒLˆÙ|>(,dÕ qG  ‰°³ ¢°³ ¢`ÿ#Time: 02074394 Int: 017/065/027 ms: 0658 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000œ°³ ¢Œ.I« ~g _~¿//////////},¿,--,-,,---§Š¿--,,,,,,-- šDÆG¿++*+*++**)Ó.b¿//////////7]$¿//////////<%¿,,-,,,,,,,ÄV¿/0/00/00/0v°³ ¢);·÷^ÌLg5 .I« Ͱ³ ¢ Q$œ7°³ ¢'bjƒLˆÙ|>:þ£dÕ u/  °³ ¢°³ ¢`ÿ#Time: 02074395 Int: 024/081/027 ms: 0668 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000»°³ ¢Œ.I ~g _~¿//////////},¿------,---§Š¿,,-,,,,,,, šDÆG¿**++++++++Ó.b¿//////////7]$¿//////////<%¿,,,,,,,,,,ÄV¿////00////Ú°³ ¢);·÷^ÌLg5 .I 2°³ ¢ B$’°³ ¢'bjƒLˆÙ|>MšÝ©dÕ y  †°³ ¢°³ ¢`ÿ#Time: 02074396 Int: 024/085/027 ms: 0658 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000¿°³ ¢Qÿ@R Time:02074397 Ch:06 SV:02 Chip:1001 Code:35112 CRng:511 CDop:79826 DRng:3 þ°³ ¢3ÿRTC reject base jump -0.963236 (base 32767.803674)£°³ ¢Œ.Is ~g _~¿0///////0/},¿-----.---,§Š¿------,--- šDÆG¿+++++++++,Ó.b¿//////////7]$¿/////.....<%¿,-,,,,,,,,ÄV¿/00/////00J°³ ¢);·÷^ÌLg6 .Is —°³ ¢ 5©°³ ¢'bjƒLˆÙ|>`ùs”dÕ |ÿ   Y°³ ¢HÿSRAM: Backup POS:3913719 351948 5007158, TOW:551314, WK:1326, CLK:83385™°³ ¢°³ ¢`ÿ#Time: 02074397 Int: 017/076/027 ms: 0681 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000Ÿ°³ ¢Œ.I× ~g _~¿//0/./////},¿,,,-,--,--§Š¿,,,,---,,, šDÆG¿++,+++,,,,Ó.b¿//////..//7]$¿...///////<%¿,-,-,+,,,,ÄV¿////////00£°³ ¢);·÷^ÌLg6 .I× û°³ ¢ @’°³ ¢'bjƒKˆÙ|>vG¥udÕ €ç  ް³ ¢°³ ¢`ÿ#Time: 02074398 Int: 024/082/027 ms: 0658 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000Ÿ°³ ¢Œ.I; ~g _~¿///0//////},¿--,--,,,--§Š¿--,,,,--,- šDÆG¿,,,,,,,--,Ó.b¿//////////7]$¿//////////<%¿,,,,,,,,,,ÄV¿//0///////°³ ¢);·÷^ÌLg6 .I; `°³ ¢ Q‘ °³ ¢'bjƒKˆÙ|>†ÍEGdÕ „Ï  ª°³ ¢°³ ¢`ÿ#Time: 02074399 Int: 024/081/027 ms: 0657 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000œ°³ ¢Œ.IŸ ~g _~¿///////.//},¿-.--..----§Š¿---,,-,-,, šDÆG¿,,--,,,,++Ó.b¿00////////7]$¿///0//////<%¿,,+,,+++,,ÄV¿000/000000„°³ ¢);·÷^ÌLg6 .IŸ ݳ ¢ 9—°³ ¢'bjƒKˆÙ|>˜֎dÕ ˆ·  Ű³ ¢°³ ¢`ÿ#Time: 02074400 Int: 017/072/027 ms: 0663 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000«°³ ¢Œ.I ~g _~¿//////..//},¿-.--.--.--§Š¿-,,---,-,- šDÆG¿+,,,+,,,,,Ó.b¿/////////07]$¿////////0/<%¿,,,,,+,,+,ÄV¿0//00/00/0å°³ ¢);·ø^ÌLg6 .I *°³ ¢ Cœ#°³ ¢'bjƒKˆÙ|>®ŒaòdÕ ŒŸ   a°³ ¢°³ ¢`ÿ#Time: 02074401 Int: 024/080/027 ms: 0668 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000®°³ ¢Œ.Ig ~g _~¿/////.////},¿--------.-§Š¿-,-------- šDÆG¿,,,,,,,+,+Ó.b¿///0////0/7]$¿0/////////<%¿,,+,+++++,ÄV¿000//0000/I°³ ¢);·ø^ÌLg6 .Ig ް³ ¢ > —°³ ¢'bjƒKˆÙ|>ÂÛ®®dÕ ‡   а³ ¢°³ ¢`ÿ#Time: 02074402 Int: 025/077/027 ms: 0663 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000±°³ ¢Œ.IË ~g _~¿//////////},¿--------..§Š¿----,---,, šDÆG¿,,,+++++++Ó.b¿//////////7]$¿/////////.<%¿+,,,,,-,,,ÄV¿///0/00///а³ ¢);·ø^ÌLg6 .IË ò°³ ¢ J—°³ ¢'bjƒKˆÙ|>Öí^dÕ ”o  §°³ ¢°³ ¢`ÿ#Time: 02074403 Int: 018/074/027 ms: 0663 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000±°³ ¢Qÿ@R Time:02074404 Ch:08 SV:27 Chip:758 Code:19800 CRng:511 CDop:83558 DRng:33 °³ ¢Œ.I/ ~g _~¿//////////},¿-----.----§Š¿,,-------- šDÆG¿++++++++++Ó.b¿//////////7]$¿./////////<%¿,+,+,,,,,+ÄV¿/0//0/000/°³ ¢);·ø^ÌLg6 .I/ W°³ ¢ B­&°³ ¢'bjƒKˆÙ|>ë8kdÕ ˜W   °³ ¢°³ ¢`ÿ#Time: 02074404 Int: 024/081/027 ms: 0685 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000±°³ ¢Œ.I“ ~g _~¿//////////},¿-------.--§Š¿--,--,-,-- šDÆG¿*+++,+++++Ó.b¿////0/////7]$¿////////..<%¿,,,,,,,--,ÄV¿000/00/0//p°³ ¢);·ø^ÌLg6 .I“ »°³ ¢ .›°³ ¢'bjƒKˆÙ|>ÿ*È%dÕ œ?  n°³ ¢°³ ¢`ÿ#Time: 02074405 Int: 024/073/027 ms: 0667 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000³°³ ¢Œ.I÷ ~g _~¿//////////},¿-..------.§Š¿,,,-,----, šDÆG¿++++++++++Ó.b¿//.//.////7]$¿.....-./-.<%¿-,,,--,.-,ÄV¿0/0/////00ʰ³ ¢);·ø^ÌLg6 .I÷ °³ ¢ 1—°³ ¢'bjƒKˆÙ|?H’vdÕ  '  ¥°³ ¢°³ ¢`ÿ#Time: 02074406 Int: 031/070/027 ms: 0663 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000«°³ ¢Œ.I[ ~g _~¿//////////},¿--------,-§Š¿---,------ šDÆG¿++++*+++,,Ó.b¿/////.////7]$¿..//./0.//<%¿.-,--+-,,-ÄV¿////0/0///7°³ ¢);·ø^ÌLg6 .I[ „°³ ¢ D '°³ ¢'bjƒKˆÙ|?#}/dÕ €  °³ ¢°³ ¢`ÿ#Time: 02074407 Int: 024/074/027 ms: 0669 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000ž°³ ¢Œ.I¿ ~g _~¿//////////},¿--,-------§Š¿------,,-- šDÆG¿+,,,,,,,,,Ó.b¿/.///////.7]$¿.././.././<%¿-,.-,.-,--ÄV¿0///0/00//£°³ ¢);·ø^ÌLg6 .I¿ è°³ ¢ G—°³ ¢'bjƒKˆÙ|?7‰¯•dÕ §÷   °³ ¢°³ ¢`ÿ#Time: 02074408 Int: 024/071/027 ms: 0663 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000°°³ ¢Qÿ@R Time:02074409 Ch:04 SV:13 Chip:255 Code:57864 CRng:511 CDop:80259 DRng:33 °³ ¢Œ.I# ~g _~¿//////////},¿--------.-§Š¿---------- šDÆG¿,,,++,+,,,Ó.b¿.///....//7]$¿/...//////<%¿,.-----,,,ÄV¿//0///0/0/°³ ¢);·ø^ÌLg6 .I# M°³ ¢ M°A°³ ¢'bjƒKˆÙ|?IógdÕ «ß  ª°³ ¢°³ ¢`ÿ#Time: 02074409 Int: 017/083/027 ms: 0688 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000œ°³ ¢Œ.I‡ ~g _~¿/////0//0/},¿------.-.-§Š¿---------. šDÆG¿++,++++,+,Ó.b¿//.///////7]$¿///0/.0///<%¿,,,,------ÄV¿///00000/0u°³ ¢);·ø^ÌLg6 .I‡ ±°³ ¢ gœA°³ ¢'bjƒKˆÙ|?[œ¬kdÕ ¯Æ  ý°³ ¢°³ ¢`ÿ#Time: 02074410 Int: 024/103/027 ms: 0668 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000ª°³ ¢Œ.Ië ~g _~¿////0/////},¿----------§Š¿----,---,- šDÆG¿++,+,+++,,Ó.b¿//////////7]$¿/.0/0//.0/<%¿,,-,,,-,-,ÄV¿0///0/00//а³ ¢);·ø^ÌLg6 .Ië °³ ¢ 9˜°³ ¢'bjƒKˆÙ|?m™·hdÕ ³®  û°³ ¢°³ ¢`ÿ#Time: 02074411 Int: 025/061/027 ms: 0664 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000999ư³ ¢Œ.IO ~g _~¿//////////},¿,---------§Š¿-,,,,-,,-- šDÆG¿,,,,,,,-,,Ó.b¿////0/////7]$¿/////0/0//<%¿,,,-,,,-,,ÄV¿/00/0/0///7°³ ¢);·ø^ÌLg6 .IO z°³ ¢ <–°³ ¢'bjƒKˆÙ|?}äù^dÕ ·—   {°³ ¢°³ ¢`ÿ#Time: 02074412 Int: 033/083/027 ms: 0662 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000­°³ ¢ÿCSTD: New almanac for SV 24 T°³ ¢Œ.I³ ~g _~¿//////////},¿.---.-.---§Š¿---------- šDÆG¿-,,,,-,,,,Ó.b¿//////////7]$¿//////////<%¿-,-,-,----ÄV¿///////00/а³ ¢);·ø^ÌLg6 .I³ Þ°³ ¢ 0š°³ ¢'bjƒKˆÙ|?ŒÞ€ádÕ »   š°³ ¢°³ ¢`ÿ#Time: 02074413 Int: 017/084/027 ms: 0666 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000µ°³ ¢Œ.I ~g _~¿//////////},¿----.---..§Š¿,-------,- šDÆG¿,+,,,,,,,,Ó.b¿//////////7]$¿//////////<%¿,---,,,--,ÄV¿//0/0///0/°³ ¢);·ø^ÌLg6 .I C°³ ¢ I‘°³ ¢'bjƒKˆÙ|? ˆºÅdÕ ¿g   H°³ ¢°³ ¢`ÿ#Time: 02074414 Int: 017/073/027 ms: 0657 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000ް³ ¢C üE Ž>œ3E0R.&,)$ ç"ŒZ(=(Z°³ ¢Œ.I{ ~f _|¿//////////}-¿----------š‹¿-----,---- šEÆH¿,,,,-,,-,,Ó.a¿//////////6]#¿//0//////0<&¿,-,,,,,,,,ÄX¿////////00i°³ ¢);·ø^ÌLg6 .I{ §°³ ¢ 0-âe°³ ¢'bjƒKˆÙ{?°B›mdÕ ÃO  ƒ°³ ¢°³ ¢`ÿ#Time: 02074415 Int: 017/084/027 ms: 0738 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000·°³ ¢Œ.Iß ~f _|¿//////////}-¿----------š‹¿---------- šEÆH¿------,,,,Ó.a¿//////////6]#¿//////////<&¿,,,,,,,,,,ÄX¿/////////0ΰ³ ¢);·ø^ÌLg6 .Iß  °³ ¢ Q’!°³ ¢'bjƒJˆÙ{?À«ÒdÕ Ç7   R°³ ¢°³ ¢`ÿ#Time: 02074416 Int: 017/081/027 ms: 0658 * 00 BF BF * BF 00 BF * 00 BF 00 * BF BF BF 1000000¶°³ ¢Œ.IC ~f _|¿//////////}-¿--.--.----š‹¿--.------- šEÆH¿-,,,-,-,--Ó.a¿//////////6]#¿//////////<&¿,,,,,,,+++ÄX¿/////00///3°³ ¢);·ø^ÌLg6 .IC p°³ ¢ :”°³ ¢'bjƒJˆÙ{?Ñ–ÆdÕ Ë   °³ ¢°³ gpsd-3.9/test/daemon/uBlox-sirf1.log.chk0000664000175000017500000015346312135526463016317 0ustar esresr$GPGSV,3,1,12,04,51,189,00,11,63,142,46,23,22,187,45,20,69,250,45*7D $GPGSV,3,2,12,13,34,231,00,07,35,297,43,02,13,316,00,01,49,069,46*71 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,45,24,43,294,47*77 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:10.990Z","satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":46,"used":false},{"PRN":23,"el":22,"az":187,"ss":45,"used":false},{"PRN":20,"el":69,"az":250,"ss":45,"used":false},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":43,"used":false},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":46,"used":false},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":false},{"PRN":25,"el":18,"az":90,"ss":45,"used":false},{"PRN":24,"el":43,"az":294,"ss":47,"used":false}]} $GPZDA,090610.99,11,06,2005,00,00*69 $GPGGA,090610,5203.7606,N,00508.3161,E,1,08,1.80,33.30,M,46.772,M,,*75 $GPRMC,090610,A,5203.7606,N,00508.3161,E,0.0000,0.000,110605,,*2B $GPGSA,A,3,11,23,20,07,01,14,25,24,,,,,0.0,1.8,0.0*3A {"class":"TPV","tag":"MID2","mode":3,"time":"2005-06-11T09:06:10.990Z","ept":0.005,"lat":52.062675884,"lon":5.138600900,"alt":33.299,"track":0.0000,"speed":0.000,"climb":0.000} $GPZDA,090614.00,11,06,2005,00,00*6D $GPGGA,090613,5203.7605,N,00508.3168,E,1,08,1.80,34.43,M,46.772,M,,*7F $GPRMC,090613,A,5203.7605,N,00508.3168,E,0.0447,54.442,110605,,*16 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:13.999Z","ept":0.005,"lat":52.062675221,"lon":5.138613239,"alt":34.425,"epv":23.000,"track":54.4418,"speed":0.023,"climb":0.024} $GPGSV,3,1,12,04,51,189,00,11,63,142,46,23,22,187,44,20,69,250,45*7C $GPGSV,3,2,12,13,34,231,00,07,35,297,43,02,13,316,00,01,49,069,46*71 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,44,24,43,294,47*76 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:11.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":46,"used":true},{"PRN":23,"el":22,"az":187,"ss":44,"used":true},{"PRN":20,"el":69,"az":250,"ss":45,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":43,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":46,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":47,"used":true}]} $GPZDA,090615.00,11,06,2005,00,00*6C $GPGGA,090614,5203.7605,N,00508.3168,E,1,08,1.80,34.44,M,46.772,M,,*7F $GPRMC,090614,A,5203.7605,N,00508.3168,E,0.0525,55.231,110605,,*17 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:14.999Z","ept":0.005,"lat":52.062674648,"lon":5.138613239,"alt":34.441,"epx":13.815,"epy":10.613,"epv":23.000,"track":55.2310,"speed":0.027,"climb":0.027,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,45*7C $GPGSV,3,2,12,13,34,231,00,07,35,297,43,02,13,316,00,01,49,069,47*70 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,45,24,43,294,48*78 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:12.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":45,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":43,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":45,"used":true},{"PRN":24,"el":43,"az":294,"ss":48,"used":true}]} $GPZDA,090616.00,11,06,2005,00,00*6F $GPGGA,090615,5203.7605,N,00508.3168,E,1,08,1.80,34.46,M,46.772,M,,*7C $GPRMC,090615,A,5203.7605,N,00508.3168,E,0.0467,53.664,110605,,*13 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:15.999Z","ept":0.005,"lat":52.062674648,"lon":5.138613239,"alt":34.458,"epx":13.815,"epy":10.613,"epv":23.000,"track":53.6641,"speed":0.024,"climb":0.024,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,44,20,69,250,44*7C $GPGSV,3,2,12,13,34,231,00,07,35,297,43,02,13,316,00,01,49,069,47*70 $GPGSV,3,3,12,27,46,082,00,14,18,040,46,25,18,090,44,24,43,294,48*78 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:13.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":44,"used":true},{"PRN":20,"el":69,"az":250,"ss":44,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":43,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":46,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":48,"used":true}]} $GPZDA,090617.00,11,06,2005,00,00*6E $GPGGA,090616,5203.7605,N,00508.3168,E,1,08,1.80,34.47,M,46.772,M,,*7E $GPRMC,090616,A,5203.7605,N,00508.3168,E,0.0525,57.361,110605,,*13 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:16.999Z","ept":0.005,"lat":52.062674648,"lon":5.138613239,"alt":34.472,"epx":13.815,"epy":10.613,"epv":23.000,"track":57.3607,"speed":0.027,"climb":0.026,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,44,20,69,250,45*7D $GPGSV,3,2,12,13,34,231,00,07,35,297,43,02,13,316,00,01,49,069,47*70 $GPGSV,3,3,12,27,46,082,00,14,18,040,46,25,18,090,45,24,43,294,47*76 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:14.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":44,"used":true},{"PRN":20,"el":69,"az":250,"ss":45,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":43,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":46,"used":true},{"PRN":25,"el":18,"az":90,"ss":45,"used":true},{"PRN":24,"el":43,"az":294,"ss":47,"used":true}]} $GPZDA,090618.00,11,06,2005,00,00*61 $GPGGA,090617,5203.7605,N,00508.3168,E,1,08,1.80,34.49,M,46.772,M,,*71 $GPRMC,090617,A,5203.7605,N,00508.3168,E,0.0467,50.658,110605,,*1D $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:17.999Z","ept":0.005,"lat":52.062674648,"lon":5.138613239,"alt":34.488,"epx":13.815,"epy":10.613,"epv":23.000,"track":50.6579,"speed":0.024,"climb":0.025,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,44,20,69,250,44*7C $GPGSV,3,2,12,13,34,231,00,07,35,297,43,02,13,316,00,01,49,069,47*70 $GPGSV,3,3,12,27,46,082,00,14,18,040,46,25,18,090,44,24,43,294,48*78 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:15.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":44,"used":true},{"PRN":20,"el":69,"az":250,"ss":44,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":43,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":46,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":48,"used":true}]} $GPZDA,090619.00,11,06,2005,00,00*60 $GPGGA,090618,5203.7605,N,00508.3168,E,1,08,1.80,34.50,M,46.772,M,,*76 $GPRMC,090618,A,5203.7605,N,00508.3168,E,0.0583,58.520,110605,,*1D $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:18.999Z","ept":0.005,"lat":52.062674648,"lon":5.138613239,"alt":34.504,"epx":13.815,"epy":10.613,"epv":23.000,"track":58.5200,"speed":0.030,"climb":0.029,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,44,20,69,250,44*7C $GPGSV,3,2,12,13,34,231,00,07,35,297,43,02,13,316,00,01,49,069,47*70 $GPGSV,3,3,12,27,46,082,00,14,18,040,46,25,18,090,44,24,43,294,47*77 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:16.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":44,"used":true},{"PRN":20,"el":69,"az":250,"ss":44,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":43,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":46,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":47,"used":true}]} $GPZDA,090620.00,11,06,2005,00,00*6A $GPGGA,090619,5203.7605,N,00508.3168,E,1,08,1.80,34.53,M,46.772,M,,*74 $GPRMC,090619,A,5203.7605,N,00508.3168,E,0.0525,52.550,110605,,*1D $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:19.999Z","ept":0.005,"lat":52.062674648,"lon":5.138613239,"alt":34.525,"epx":13.815,"epy":10.613,"epv":23.000,"track":52.5503,"speed":0.027,"climb":0.027,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,44,20,69,250,44*7C $GPGSV,3,2,12,13,34,231,00,07,35,297,43,02,13,316,00,01,49,069,47*70 $GPGSV,3,3,12,27,46,082,00,14,18,040,46,25,18,090,45,24,43,294,48*79 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:17.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":44,"used":true},{"PRN":20,"el":69,"az":250,"ss":44,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":43,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":46,"used":true},{"PRN":25,"el":18,"az":90,"ss":45,"used":true},{"PRN":24,"el":43,"az":294,"ss":48,"used":true}]} $GPZDA,090621.00,11,06,2005,00,00*6B $GPGGA,090620,5203.7604,N,00508.3168,E,1,08,1.80,34.55,M,46.772,M,,*79 $GPRMC,090620,A,5203.7604,N,00508.3168,E,0.0544,52.048,110605,,*1D $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:20.999Z","ept":0.005,"lat":52.062674075,"lon":5.138613239,"alt":34.545,"epx":13.815,"epy":10.613,"epv":23.000,"track":52.0477,"speed":0.028,"climb":0.026,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,44,20,69,250,45*7D $GPGSV,3,2,12,13,34,231,00,07,35,297,42,02,13,316,00,01,49,069,47*71 $GPGSV,3,3,12,27,46,082,00,14,18,040,46,25,18,090,44,24,43,294,47*77 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:18.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":44,"used":true},{"PRN":20,"el":69,"az":250,"ss":45,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":42,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":46,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":47,"used":true}]} $GPZDA,090622.00,11,06,2005,00,00*68 $GPGGA,090621,5203.7604,N,00508.3168,E,1,08,1.80,34.56,M,46.772,M,,*7B $GPRMC,090621,A,5203.7604,N,00508.3168,E,0.0505,57.303,110605,,*10 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:21.999Z","ept":0.005,"lat":52.062674075,"lon":5.138613239,"alt":34.563,"epx":13.815,"epy":10.613,"epv":23.000,"track":57.3033,"speed":0.026,"climb":0.027,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,44,20,69,250,44*7C $GPGSV,3,2,12,13,34,231,00,07,35,297,43,02,13,316,00,01,49,069,47*70 $GPGSV,3,3,12,27,46,082,00,14,18,040,46,25,18,090,44,24,43,294,47*77 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:19.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":44,"used":true},{"PRN":20,"el":69,"az":250,"ss":44,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":43,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":46,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":47,"used":true}]} $GPZDA,090623.00,11,06,2005,00,00*69 $GPGGA,090622,5203.7604,N,00508.3168,E,1,08,1.80,34.58,M,46.772,M,,*76 $GPRMC,090622,A,5203.7604,N,00508.3168,E,0.0544,50.157,110605,,*12 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:22.999Z","ept":0.005,"lat":52.062674075,"lon":5.138613239,"alt":34.581,"epx":13.815,"epy":10.613,"epv":23.000,"track":50.1571,"speed":0.028,"climb":0.027,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,44,20,69,250,45*7D $GPGSV,3,2,12,13,34,231,00,07,35,297,43,02,13,316,00,01,49,069,47*70 $GPGSV,3,3,12,27,46,082,00,14,18,040,46,25,18,090,44,24,43,294,48*78 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:20.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":44,"used":true},{"PRN":20,"el":69,"az":250,"ss":45,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":43,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":46,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":48,"used":true}]} $GPZDA,090624.00,11,06,2005,00,00*6E $GPGGA,090623,5203.7604,N,00508.3168,E,1,08,1.80,34.60,M,46.772,M,,*7C $GPRMC,090623,A,5203.7604,N,00508.3168,E,0.0544,53.626,110605,,*11 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:23.999Z","ept":0.005,"lat":52.062674075,"lon":5.138613239,"alt":34.599,"epx":13.815,"epy":10.613,"epv":23.000,"track":53.6261,"speed":0.028,"climb":0.025,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,44*7D $GPGSV,3,2,12,13,34,231,00,07,35,297,42,02,13,316,00,01,49,069,46*70 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,44,24,43,294,48*79 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:21.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":44,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":42,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":46,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":48,"used":true}]} $GPZDA,090625.00,11,06,2005,00,00*6F $GPGGA,090624,5203.7604,N,00508.3168,E,1,08,1.80,34.61,M,46.772,M,,*7A $GPRMC,090624,A,5203.7604,N,00508.3168,E,0.0505,52.472,110605,,*11 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:24.999Z","ept":0.005,"lat":52.062674075,"lon":5.138613239,"alt":34.614,"epx":13.815,"epy":10.613,"epv":23.000,"track":52.4722,"speed":0.026,"climb":0.024,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,44*7D $GPGSV,3,2,12,13,34,231,00,07,35,297,42,02,13,316,00,01,49,069,46*70 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,44,24,43,294,48*79 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:22.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":44,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":42,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":46,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":48,"used":true}]} $GPZDA,090626.00,11,06,2005,00,00*6C $GPGGA,090625,5203.7604,N,00508.3168,E,1,08,1.80,34.63,M,46.772,M,,*79 $GPRMC,090625,A,5203.7604,N,00508.3168,E,0.0544,46.638,110605,,*1C $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:25.998Z","ept":0.005,"lat":52.062674075,"lon":5.138613239,"alt":34.628,"epx":13.815,"epy":10.613,"epv":23.000,"track":46.6380,"speed":0.028,"climb":0.027,"eps":27.66} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,46,20,69,250,44*7E $GPGSV,3,2,12,13,34,231,00,07,35,297,42,02,13,316,00,01,49,069,47*71 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,44,24,43,294,48*79 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:23.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":46,"used":true},{"PRN":20,"el":69,"az":250,"ss":44,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":42,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":48,"used":true}]} $GPZDA,090627.00,11,06,2005,00,00*6D $GPGGA,090626,5203.7604,N,00508.3168,E,1,08,1.80,34.65,M,46.772,M,,*7C $GPRMC,090626,A,5203.7604,N,00508.3168,E,0.0525,52.472,110605,,*11 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:26.998Z","ept":0.005,"lat":52.062674075,"lon":5.138613239,"alt":34.645,"epx":13.815,"epy":10.613,"epv":23.000,"track":52.4723,"speed":0.027,"climb":0.025,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,44*7D $GPGSV,3,2,12,13,34,231,00,07,35,297,42,02,13,316,00,01,49,069,47*71 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,44,24,43,294,48*79 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:24.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":44,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":42,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":48,"used":true}]} $GPZDA,090628.00,11,06,2005,00,00*62 $GPGGA,090627,5203.7604,N,00508.3168,E,1,08,1.80,34.66,M,46.772,M,,*7E $GPRMC,090627,A,5203.7604,N,00508.3168,E,0.0467,55.803,110605,,*1A $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:27.999Z","ept":0.005,"lat":52.062674075,"lon":5.138613239,"alt":34.660,"epx":13.815,"epy":10.613,"epv":23.000,"track":55.8031,"speed":0.024,"climb":0.024,"eps":27.60} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,44*7D $GPGSV,3,2,12,13,34,231,00,07,35,297,42,02,13,316,00,01,49,069,47*71 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,44,24,43,294,48*79 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:25.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":44,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":42,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":48,"used":true}]} $GPZDA,090629.00,11,06,2005,00,00*63 $GPGGA,090628,5203.7604,N,00508.3168,E,1,08,1.80,34.68,M,46.772,M,,*7F $GPRMC,090628,A,5203.7604,N,00508.3168,E,0.0544,57.676,110605,,*1B $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:28.999Z","ept":0.005,"lat":52.062674075,"lon":5.138613239,"alt":34.676,"epx":13.815,"epy":10.613,"epv":23.000,"track":57.6760,"speed":0.028,"climb":0.026,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,44*7D $GPGSV,3,2,12,13,34,231,00,07,35,297,42,02,13,316,00,01,49,069,47*71 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,44,24,43,294,48*79 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:26.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":44,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":42,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":48,"used":true}]} $GPZDA,090630.00,11,06,2005,00,00*6B $GPGGA,090629,5203.7604,N,00508.3168,E,1,08,1.80,34.69,M,46.772,M,,*7F $GPRMC,090629,A,5203.7604,N,00508.3168,E,0.0505,47.992,110605,,*1B $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:29.999Z","ept":0.005,"lat":52.062674075,"lon":5.138613239,"alt":34.694,"epx":13.815,"epy":10.613,"epv":23.000,"track":47.9916,"speed":0.026,"climb":0.027,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,44*7D $GPGSV,3,2,12,13,34,231,00,07,35,297,43,02,13,316,00,01,49,069,47*70 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,44,24,43,294,47*76 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:27.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":44,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":43,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":47,"used":true}]} $GPZDA,090631.00,11,06,2005,00,00*6A $GPGGA,090630,5203.7604,N,00508.3168,E,1,08,1.80,34.71,M,46.772,M,,*7E $GPRMC,090630,A,5203.7604,N,00508.3168,E,0.0525,54.404,110605,,*11 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:30.999Z","ept":0.005,"lat":52.062674075,"lon":5.138613239,"alt":34.713,"epx":13.815,"epy":10.613,"epv":23.000,"track":54.4040,"speed":0.027,"climb":0.027,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,45*7C $GPGSV,3,2,12,13,34,231,00,07,35,297,43,02,13,316,00,01,49,069,47*70 $GPGSV,3,3,12,27,46,082,00,14,18,040,46,25,18,090,44,24,43,294,47*77 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:28.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":45,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":43,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":46,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":47,"used":true}]} $GPZDA,090632.00,11,06,2005,00,00*69 $GPGGA,090631,5203.7604,N,00508.3168,E,1,08,1.80,34.73,M,46.772,M,,*7D $GPRMC,090631,A,5203.7604,N,00508.3168,E,0.0544,57.430,110605,,*13 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:31.999Z","ept":0.005,"lat":52.062674075,"lon":5.138613239,"alt":34.732,"epx":13.815,"epy":10.613,"epv":23.000,"track":57.4299,"speed":0.028,"climb":0.029,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,44,20,69,250,44*7C $GPGSV,3,2,12,13,34,231,00,07,35,297,44,02,13,316,00,01,49,069,47*77 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,44,24,43,294,47*76 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:29.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":44,"used":true},{"PRN":20,"el":69,"az":250,"ss":44,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":44,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":47,"used":true}]} $GPZDA,090633.00,11,06,2005,00,00*68 $GPGGA,090632,5203.7604,N,00508.3168,E,1,08,1.80,34.75,M,46.772,M,,*78 $GPRMC,090632,A,5203.7604,N,00508.3168,E,0.0505,50.753,110605,,*14 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:32.999Z","ept":0.005,"lat":52.062673502,"lon":5.138613239,"alt":34.754,"epx":13.815,"epy":10.613,"epv":23.000,"track":50.7535,"speed":0.026,"climb":0.024,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,44*7D $GPGSV,3,2,12,13,34,231,00,07,35,297,44,02,13,316,00,01,49,069,47*77 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,44,24,43,294,47*76 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:30.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":44,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":44,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":47,"used":true}]} $GPZDA,090634.00,11,06,2005,00,00*6F $GPGGA,090633,5203.7604,N,00508.3168,E,1,08,1.80,34.77,M,46.772,M,,*7B $GPRMC,090633,A,5203.7604,N,00508.3168,E,0.0525,55.771,110605,,*12 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:33.999Z","ept":0.005,"lat":52.062673502,"lon":5.138613239,"alt":34.770,"epx":13.815,"epy":10.613,"epv":23.000,"track":55.7710,"speed":0.027,"climb":0.025,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,44*7D $GPGSV,3,2,12,13,34,231,00,07,35,297,44,02,13,316,00,01,49,069,47*77 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,44,24,43,294,48*79 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:31.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":44,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":44,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":48,"used":true}]} $GPZDA,090635.00,11,06,2005,00,00*6E $GPGGA,090634,5203.7604,N,00508.3168,E,1,08,1.80,34.79,M,46.772,M,,*72 $GPRMC,090634,A,5203.7604,N,00508.3168,E,0.0525,56.120,110605,,*14 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:34.999Z","ept":0.005,"lat":52.062673502,"lon":5.138613239,"alt":34.788,"epx":13.815,"epy":10.613,"epv":23.000,"track":56.1196,"speed":0.027,"climb":0.029,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,45*7C $GPGSV,3,2,12,13,34,231,00,07,35,297,44,02,13,316,00,01,49,069,47*77 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,44,24,43,294,48*79 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:32.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":45,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":44,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":48,"used":true}]} $GPZDA,090636.00,11,06,2005,00,00*6D $GPGGA,090635,5203.7604,N,00508.3168,E,1,08,1.80,34.81,M,46.772,M,,*74 $GPRMC,090635,A,5203.7604,N,00508.3168,E,0.0505,55.137,110605,,*12 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:35.999Z","ept":0.005,"lat":52.062673502,"lon":5.138613239,"alt":34.810,"epx":13.815,"epy":10.613,"epv":23.000,"track":55.1368,"speed":0.026,"climb":0.027,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,45*7C $GPGSV,3,2,12,13,34,231,00,07,35,297,44,02,13,316,00,01,49,069,47*77 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,43,24,43,294,48*7E {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:33.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":45,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":44,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":43,"used":true},{"PRN":24,"el":43,"az":294,"ss":48,"used":true}]} $GPZDA,090637.00,11,06,2005,00,00*6C $GPGGA,090636,5203.7604,N,00508.3168,E,1,08,1.80,34.83,M,46.772,M,,*75 $GPRMC,090636,A,5203.7604,N,00508.3168,E,0.0525,56.312,110605,,*15 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:36.999Z","ept":0.005,"lat":52.062673502,"lon":5.138613239,"alt":34.830,"epx":13.815,"epy":10.613,"epv":23.000,"track":56.3121,"speed":0.027,"climb":0.027,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,45*7C $GPGSV,3,2,12,13,34,231,00,07,35,297,43,02,13,316,00,01,49,069,47*70 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,44,24,43,294,47*76 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:34.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":45,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":43,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":47,"used":true}]} $GPZDA,090638.00,11,06,2005,00,00*63 $GPGGA,090637,5203.7604,N,00508.3168,E,1,08,1.80,34.85,M,46.772,M,,*72 $GPRMC,090637,A,5203.7604,N,00508.3168,E,0.0564,56.963,110605,,*1D $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:37.999Z","ept":0.005,"lat":52.062673502,"lon":5.138613239,"alt":34.850,"epx":13.815,"epy":10.613,"epv":23.000,"track":56.9633,"speed":0.029,"climb":0.028,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,45*7C $GPGSV,3,2,12,13,34,231,00,07,35,297,43,02,13,316,00,01,49,069,47*70 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,44,24,43,294,48*79 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:35.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":45,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":43,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":48,"used":true}]} $GPZDA,090639.00,11,06,2005,00,00*62 $GPGGA,090638,5203.7604,N,00508.3168,E,1,08,1.80,34.87,M,46.772,M,,*7F $GPRMC,090638,A,5203.7604,N,00508.3168,E,0.0467,50.169,110605,,*14 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:38.999Z","ept":0.005,"lat":52.062673502,"lon":5.138613239,"alt":34.871,"epx":13.815,"epy":10.613,"epv":23.000,"track":50.1692,"speed":0.024,"climb":0.027,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,45*7C $GPGSV,3,2,12,13,34,231,00,07,35,297,43,02,13,316,00,01,49,069,47*70 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,44,24,43,294,48*79 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:36.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":45,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":43,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":48,"used":true}]} $GPZDA,090640.00,11,06,2005,00,00*6C $GPGGA,090639,5203.7604,N,00508.3168,E,1,08,1.80,34.89,M,46.772,M,,*70 $GPRMC,090639,A,5203.7604,N,00508.3168,E,0.0583,59.282,110605,,*11 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:39.999Z","ept":0.005,"lat":52.062673502,"lon":5.138613239,"alt":34.891,"epx":13.815,"epy":10.613,"epv":23.000,"track":59.2822,"speed":0.030,"climb":0.026,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,44*7D $GPGSV,3,2,12,13,34,231,00,07,35,297,43,02,13,316,00,01,49,069,47*70 $GPGSV,3,3,12,27,46,082,00,14,18,040,46,25,18,090,45,24,43,294,47*76 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:37.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":44,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":43,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":46,"used":true},{"PRN":25,"el":18,"az":90,"ss":45,"used":true},{"PRN":24,"el":43,"az":294,"ss":47,"used":true}]} $GPZDA,090641.00,11,06,2005,00,00*6D $GPGGA,090640,5203.7604,N,00508.3168,E,1,08,1.80,34.91,M,46.772,M,,*77 $GPRMC,090640,A,5203.7604,N,00508.3168,E,0.0583,50.788,110605,,*19 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:40.999Z","ept":0.005,"lat":52.062673502,"lon":5.138613239,"alt":34.908,"epx":13.815,"epy":10.613,"epv":23.000,"track":50.7882,"speed":0.030,"climb":0.027,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,45*7C $GPGSV,3,2,12,13,34,231,00,07,35,297,43,02,13,316,00,01,49,069,47*70 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,45,24,43,294,47*77 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:38.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":45,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":43,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":45,"used":true},{"PRN":24,"el":43,"az":294,"ss":47,"used":true}]} $GPZDA,090642.00,11,06,2005,00,00*6E $GPGGA,090641,5203.7604,N,00508.3168,E,1,08,1.80,34.93,M,46.772,M,,*74 $GPRMC,090641,A,5203.7604,N,00508.3168,E,0.0544,52.764,110605,,*13 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:41.999Z","ept":0.005,"lat":52.062673502,"lon":5.138613239,"alt":34.927,"epx":13.815,"epy":10.613,"epv":23.000,"track":52.7638,"speed":0.028,"climb":0.028,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,45*7C $GPGSV,3,2,12,13,34,231,00,07,35,297,44,02,13,316,00,01,49,069,47*77 $GPGSV,3,3,12,27,46,082,00,14,18,040,46,25,18,090,45,24,43,294,47*76 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:39.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":45,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":44,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":46,"used":true},{"PRN":25,"el":18,"az":90,"ss":45,"used":true},{"PRN":24,"el":43,"az":294,"ss":47,"used":true}]} $GPZDA,090643.00,11,06,2005,00,00*6F $GPGGA,090642,5203.7604,N,00508.3168,E,1,08,1.80,34.95,M,46.772,M,,*71 $GPRMC,090642,A,5203.7604,N,00508.3168,E,0.0525,53.233,110605,,*11 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:42.999Z","ept":0.005,"lat":52.062673502,"lon":5.138613239,"alt":34.947,"epx":13.815,"epy":10.613,"epv":23.000,"track":53.2332,"speed":0.027,"climb":0.026,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,45*7C $GPGSV,3,2,12,13,34,231,00,07,35,297,44,02,13,316,00,01,49,069,46*76 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,45,24,43,294,47*77 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:40.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":45,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":44,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":46,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":45,"used":true},{"PRN":24,"el":43,"az":294,"ss":47,"used":true}]} $GPZDA,090644.00,11,06,2005,00,00*68 $GPGGA,090643,5203.7604,N,00508.3168,E,1,08,1.80,34.97,M,46.772,M,,*72 $GPRMC,090643,A,5203.7604,N,00508.3168,E,0.0525,57.787,110605,,*1E $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:43.999Z","ept":0.005,"lat":52.062673502,"lon":5.138613239,"alt":34.965,"epx":13.815,"epy":10.613,"epv":23.000,"track":57.7866,"speed":0.027,"climb":0.026,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,45*7C $GPGSV,3,2,12,13,34,231,00,07,35,297,43,02,13,316,00,01,49,069,47*70 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,45,24,43,294,48*78 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:41.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":45,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":43,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":45,"used":true},{"PRN":24,"el":43,"az":294,"ss":48,"used":true}]} $GPZDA,090645.00,11,06,2005,00,00*69 $GPGGA,090644,5203.7604,N,00508.3168,E,1,08,1.80,34.98,M,46.772,M,,*7A $GPRMC,090644,A,5203.7604,N,00508.3168,E,0.0544,53.946,110605,,*19 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:44.998Z","ept":0.005,"lat":52.062673502,"lon":5.138613239,"alt":34.983,"epx":13.815,"epy":10.613,"epv":23.000,"track":53.9462,"speed":0.028,"climb":0.025,"eps":27.66} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,45*7C $GPGSV,3,2,12,13,34,231,00,07,35,297,43,02,13,316,00,01,49,069,47*70 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,44,24,43,294,47*76 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:42.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":45,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":43,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":47,"used":true}]} $GPZDA,090646.00,11,06,2005,00,00*6A $GPGGA,090645,5203.7604,N,00508.3168,E,1,08,1.80,35.00,M,46.772,M,,*7B $GPRMC,090645,A,5203.7604,N,00508.3168,E,0.0467,53.835,110605,,*1D $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:45.998Z","ept":0.005,"lat":52.062673502,"lon":5.138613239,"alt":35.001,"epx":13.815,"epy":10.613,"epv":23.000,"track":53.8351,"speed":0.024,"climb":0.024,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,44*7D $GPGSV,3,2,12,13,34,231,00,07,35,297,44,02,13,316,00,01,49,069,47*77 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,44,24,43,294,47*76 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:43.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":44,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":44,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":47,"used":true}]} $GPZDA,090647.00,11,06,2005,00,00*6B $GPGGA,090646,5203.7604,N,00508.3168,E,1,08,1.80,35.02,M,46.772,M,,*7A $GPRMC,090646,A,5203.7604,N,00508.3168,E,0.0486,56.661,110605,,*1B $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:46.999Z","ept":0.005,"lat":52.062673502,"lon":5.138613239,"alt":35.017,"epx":13.815,"epy":10.613,"epv":23.000,"track":56.6610,"speed":0.025,"climb":0.023,"eps":27.60} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,45*7C $GPGSV,3,2,12,13,34,231,00,07,35,297,44,02,13,316,00,01,49,069,47*77 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,45,24,43,294,47*77 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:44.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":45,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":44,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":45,"used":true},{"PRN":24,"el":43,"az":294,"ss":47,"used":true}]} $GPZDA,090648.00,11,06,2005,00,00*64 $GPGGA,090647,5203.7604,N,00508.3168,E,1,08,1.80,35.03,M,46.772,M,,*7A $GPRMC,090647,A,5203.7604,N,00508.3168,E,0.0583,56.423,110605,,*1A $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:47.999Z","ept":0.005,"lat":52.062673502,"lon":5.138613239,"alt":35.032,"epx":13.815,"epy":10.613,"epv":23.000,"track":56.4233,"speed":0.030,"climb":0.028,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,63,142,47,23,22,187,45,20,69,250,45*7C $GPGSV,3,2,12,13,34,231,00,07,35,297,44,02,13,316,00,01,49,069,47*77 $GPGSV,3,3,12,27,46,082,00,14,18,040,47,25,18,090,44,24,43,294,47*76 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:45.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":63,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":250,"ss":45,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":35,"az":297,"ss":44,"used":true},{"PRN":2,"el":13,"az":316,"ss":0,"used":false},{"PRN":1,"el":49,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":82,"ss":0,"used":false},{"PRN":14,"el":18,"az":40,"ss":47,"used":true},{"PRN":25,"el":18,"az":90,"ss":44,"used":true},{"PRN":24,"el":43,"az":294,"ss":47,"used":true}]} $GPZDA,090649.00,11,06,2005,00,00*65 $GPGGA,090648,5203.7604,N,00508.3168,E,1,08,1.80,35.05,M,46.772,M,,*73 $GPRMC,090648,A,5203.7604,N,00508.3168,E,0.0544,53.197,110605,,*11 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:48.999Z","ept":0.005,"lat":52.062673502,"lon":5.138613239,"alt":35.052,"epx":13.815,"epy":10.613,"epv":23.000,"track":53.1973,"speed":0.028,"climb":0.026,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,62,142,47,23,22,187,45,20,69,252,45*7F $GPGSV,3,2,12,13,34,231,00,07,36,297,44,02,14,316,00,01,48,069,47*72 $GPGSV,3,3,12,27,46,081,00,14,17,039,47,25,19,090,44,24,44,294,47*72 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:46.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":62,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":252,"ss":45,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":36,"az":297,"ss":44,"used":true},{"PRN":2,"el":14,"az":316,"ss":0,"used":false},{"PRN":1,"el":48,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":81,"ss":0,"used":false},{"PRN":14,"el":17,"az":39,"ss":47,"used":true},{"PRN":25,"el":19,"az":90,"ss":44,"used":true},{"PRN":24,"el":44,"az":294,"ss":47,"used":true}]} $GPZDA,090650.00,11,06,2005,00,00*6D $GPGGA,090649,5203.7604,N,00508.3168,E,1,08,1.80,35.07,M,46.772,M,,*70 $GPRMC,090649,A,5203.7604,N,00508.3168,E,0.0525,50.564,110605,,*1C $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:49.999Z","ept":0.005,"lat":52.062673502,"lon":5.138612666,"alt":35.068,"epx":13.815,"epy":10.613,"epv":23.000,"track":50.5642,"speed":0.027,"climb":0.024,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,62,142,47,23,22,187,45,20,69,252,45*7F $GPGSV,3,2,12,13,34,231,00,07,36,297,45,02,14,316,00,01,48,069,47*73 $GPGSV,3,3,12,27,46,081,00,14,17,039,47,25,19,090,44,24,44,294,47*72 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:47.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":62,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":252,"ss":45,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":36,"az":297,"ss":45,"used":true},{"PRN":2,"el":14,"az":316,"ss":0,"used":false},{"PRN":1,"el":48,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":81,"ss":0,"used":false},{"PRN":14,"el":17,"az":39,"ss":47,"used":true},{"PRN":25,"el":19,"az":90,"ss":44,"used":true},{"PRN":24,"el":44,"az":294,"ss":47,"used":true}]} $GPZDA,090651.00,11,06,2005,00,00*6C $GPGGA,090650,5203.7604,N,00508.3168,E,1,08,1.80,35.08,M,46.772,M,,*77 $GPRMC,090650,A,5203.7604,N,00508.3168,E,0.0564,54.515,110605,,*13 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:50.999Z","ept":0.005,"lat":52.062672929,"lon":5.138612666,"alt":35.084,"epx":13.815,"epy":10.613,"epv":23.000,"track":54.5150,"speed":0.029,"climb":0.026,"eps":27.63} $GPGSV,3,1,12,04,51,189,00,11,62,142,47,23,22,187,45,20,69,252,45*7F $GPGSV,3,2,12,13,34,231,00,07,36,297,44,02,14,316,00,01,48,069,47*72 $GPGSV,3,3,12,27,46,081,00,14,17,039,47,25,19,090,44,24,44,294,47*72 {"class":"SKY","tag":"MID4","time":"2005-06-11T09:06:48.990Z","xdop":0.92,"ydop":0.71,"vdop":1.00,"tdop":1.60,"hdop":1.80,"gdop":2.00,"pdop":0.80,"satellites":[{"PRN":4,"el":51,"az":189,"ss":0,"used":false},{"PRN":11,"el":62,"az":142,"ss":47,"used":true},{"PRN":23,"el":22,"az":187,"ss":45,"used":true},{"PRN":20,"el":69,"az":252,"ss":45,"used":true},{"PRN":13,"el":34,"az":231,"ss":0,"used":false},{"PRN":7,"el":36,"az":297,"ss":44,"used":true},{"PRN":2,"el":14,"az":316,"ss":0,"used":false},{"PRN":1,"el":48,"az":69,"ss":47,"used":true},{"PRN":27,"el":46,"az":81,"ss":0,"used":false},{"PRN":14,"el":17,"az":39,"ss":47,"used":true},{"PRN":25,"el":19,"az":90,"ss":44,"used":true},{"PRN":24,"el":44,"az":294,"ss":47,"used":true}]} $GPZDA,090652.00,11,06,2005,00,00*6F $GPGGA,090651,5203.7604,N,00508.3168,E,1,08,1.80,35.10,M,46.772,M,,*7F $GPRMC,090651,A,5203.7604,N,00508.3168,E,0.0544,53.714,110605,,*14 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.8,1.8,1.0*32 {"class":"TPV","tag":"MID98","mode":3,"time":"2005-06-11T09:06:51.999Z","ept":0.005,"lat":52.062672929,"lon":5.138612666,"alt":35.101,"epx":13.815,"epy":10.613,"epv":23.000,"track":53.7143,"speed":0.028,"climb":0.028,"eps":27.63} gpsd-3.9/test/daemon/ublox-lea-5q.log0000664000175000017500000000442011762140440015627 0ustar esresr# Name: uBlox LEA-5q # Description: OEM module # Submitter: Thomas Sprinkmeier # Date: 2011-02-02 # Location: Adelaide, AU, 34.9S, 138.6E $GPVTG,,,,,,,,,N*30 $GPGGA,001901.00,,,,,0,00,99.99,,,,,,*6F $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,001901.00,V,N*43 $GPGST,001901.00,0.0000,,,,304885,304880,62123*5F $GPRMC,001902.00,V,,,,,,,020211,,,N*77 $GPVTG,,,,,,,,,N*30 $GPGGA,001902.00,,,,,0,00,99.99,,,,,,*6C $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,001902.00,V,N*40 $GPGST,001902.00,0.0000,,,,305018,305012,62144*52 $GPRMC,001903.00,V,,,,,,,020211,,,N*76 $GPVTG,,,,,,,,,N*30 $GPGGA,001903.00,,,,,0,00,99.99,,,,,,*6D $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,001903.00,V,N*41 $GPGST,001903.00,0.0000,,,,305150,305145,62166*5D $GPRMC,001904.00,V,,,,,,,020211,,,N*71 $GPVTG,,,,,,,,,N*30 $GPGGA,001904.00,,,,,0,00,99.99,,,,,,*6A $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,001904.00,V,N*46 $GPGST,001904.00,0.0000,,,,305282,305277,62188*54 $GPRMC,001905.00,V,,,,,,,020211,,,N*70 $GPVTG,,,,,,,,,N*30 $GPGGA,001905.00,,,,,0,00,99.99,,,,,,*6B $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,001905.00,V,N*47 $GPGST,001905.00,0.0000,,,,305415,305409,62209*58 $GPRMC,001906.00,V,,,,,,,020211,,,N*73 $GPVTG,,,,,,,,,N*30 $GPGGA,001906.00,,,,,0,00,99.99,,,,,,*68 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,001906.00,V,N*44 $GPGST,001906.00,0.0000,,,,305547,305542,62231*58 $GPRMC,001907.00,V,,,,,,,020211,,,N*72 $GPVTG,,,,,,,,,N*30 $GPGGA,001907.00,,,,,0,00,99.99,,,,,,*69 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,001907.00,V,N*45 $GPGST,001907.00,0.0000,,,,305680,305674,62253*53 $GPRMC,001908.00,V,,,,,,,020211,,,N*7D $GPVTG,,,,,,,,,N*30 $GPGGA,001908.00,,,,,0,00,99.99,,,,,,*66 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,001908.00,V,N*4A $GPGST,001908.00,0.0000,,,,305812,305807,62274*56 $GPRMC,001909.00,V,,,,,,,020211,,,N*7C $GPVTG,,,,,,,,,N*30 $GPGGA,001909.00,,,,,0,00,99.99,,,,,,*67 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,001909.00,V,N*4B $GPGST,001909.00,0.0000,,,,305944,305939,62296*55 $GPRMC,001910.00,V,,,,,,,020211,,,N*74 gpsd-3.9/test/daemon/ublox-lea-5q.log.chk0000664000175000017500000000711012135526465016404 0ustar esresr$GPVTG,,,,,,,,,N*30 $GPGGA,001901.00,,,,,0,00,99.99,,,,,,*6F $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPGLL,,,,,001901.00,V,N*43 $GPGST,001901.00,0.0000,,,,304885,304880,62123*5F {"class":"GST","tag":"GST","time":"1970-01-01T00:31:41.000Z","rms":0.000,"lat":304885.000,"lon":304880.000,"alt":62123.000} $GPRMC,001902.00,V,,,,,,,020211,,,N*77 $GPVTG,,,,,,,,,N*30 $GPGGA,001902.00,,,,,0,00,99.99,,,,,,*6C $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 {"class":"TPV","tag":"GSA","mode":1} $GPGSV,1,1,00*79 $GPGLL,,,,,001902.00,V,N*40 $GPGST,001902.00,0.0000,,,,305018,305012,62144*52 {"class":"TPV","tag":"GST","mode":0} {"class":"GST","tag":"GST","time":"1970-01-01T00:31:42.000Z","rms":0.000,"lat":305018.000,"lon":305012.000,"alt":62144.000} $GPRMC,001903.00,V,,,,,,,020211,,,N*76 $GPVTG,,,,,,,,,N*30 $GPGGA,001903.00,,,,,0,00,99.99,,,,,,*6D $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,001903.00,V,N*41 $GPGST,001903.00,0.0000,,,,305150,305145,62166*5D {"class":"TPV","tag":"GST","mode":0} {"class":"GST","tag":"GST","time":"1970-01-01T00:31:43.000Z","rms":0.000,"lat":305150.000,"lon":305145.000,"alt":62166.000} $GPRMC,001904.00,V,,,,,,,020211,,,N*71 $GPVTG,,,,,,,,,N*30 $GPGGA,001904.00,,,,,0,00,99.99,,,,,,*6A $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,001904.00,V,N*46 $GPGST,001904.00,0.0000,,,,305282,305277,62188*54 {"class":"TPV","tag":"GST","mode":0} {"class":"GST","tag":"GST","time":"1970-01-01T00:31:44.000Z","rms":0.000,"lat":305282.000,"lon":305277.000,"alt":62188.000} $GPRMC,001905.00,V,,,,,,,020211,,,N*70 $GPVTG,,,,,,,,,N*30 $GPGGA,001905.00,,,,,0,00,99.99,,,,,,*6B $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,001905.00,V,N*47 $GPGST,001905.00,0.0000,,,,305415,305409,62209*58 {"class":"TPV","tag":"GST","mode":0} {"class":"GST","tag":"GST","time":"1970-01-01T00:31:45.000Z","rms":0.000,"lat":305415.000,"lon":305409.000,"alt":62209.000} $GPRMC,001906.00,V,,,,,,,020211,,,N*73 $GPVTG,,,,,,,,,N*30 $GPGGA,001906.00,,,,,0,00,99.99,,,,,,*68 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,001906.00,V,N*44 $GPGST,001906.00,0.0000,,,,305547,305542,62231*58 {"class":"TPV","tag":"GST","mode":0} {"class":"GST","tag":"GST","time":"1970-01-01T00:31:46.000Z","rms":0.000,"lat":305547.000,"lon":305542.000,"alt":62231.000} $GPRMC,001907.00,V,,,,,,,020211,,,N*72 $GPVTG,,,,,,,,,N*30 $GPGGA,001907.00,,,,,0,00,99.99,,,,,,*69 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,001907.00,V,N*45 $GPGST,001907.00,0.0000,,,,305680,305674,62253*53 {"class":"TPV","tag":"GST","mode":0} {"class":"GST","tag":"GST","time":"1970-01-01T00:31:47.000Z","rms":0.000,"lat":305680.000,"lon":305674.000,"alt":62253.000} $GPRMC,001908.00,V,,,,,,,020211,,,N*7D $GPVTG,,,,,,,,,N*30 $GPGGA,001908.00,,,,,0,00,99.99,,,,,,*66 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,001908.00,V,N*4A $GPGST,001908.00,0.0000,,,,305812,305807,62274*56 {"class":"TPV","tag":"GST","mode":0} {"class":"GST","tag":"GST","time":"1970-01-01T00:31:48.000Z","rms":0.000,"lat":305812.000,"lon":305807.000,"alt":62274.000} $GPRMC,001909.00,V,,,,,,,020211,,,N*7C $GPVTG,,,,,,,,,N*30 $GPGGA,001909.00,,,,,0,00,99.99,,,,,,*67 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30 $GPGSV,1,1,00*79 $GPGLL,,,,,001909.00,V,N*4B $GPGST,001909.00,0.0000,,,,305944,305939,62296*55 {"class":"TPV","tag":"GST","mode":0} {"class":"GST","tag":"GST","time":"1970-01-01T00:31:49.000Z","rms":0.000,"lat":305944.000,"lon":305939.000,"alt":62296.000} $GPRMC,001910.00,V,,,,,,,020211,,,N*74 gpsd-3.9/test/daemon/venus634lp.log0000664000175000017500000012701611762140440015354 0ustar esresr# Name: Venus634LP # Submitter: Viktar Palstsiuk # Date: 2010-02-05 # Location: Minsk, Belarus, 53N 27E $SkyTraq,Venus6 $Kernel,v1.4.23,000006FE,19324205,F,16.367667MHz $ver,011023,rev,090210 $GPVTG,287.04,T,,M,0.774,N,1.435,K,A*33 $GPGGA,085032.00,5355.17581,N,02730.04649,E,1,04,17.30,267.5,M,25.0,M,,*65 $GPGSA,A,3,18,21,24,15,,,,,,,,,18.95,17.30,7.74*0E $GPGSV,3,1,12,03,67,251,,06,72,220,,08,07,331,24,14,06,151,*71 $GPGSV,3,2,12,15,15,032,46,16,15,204,,18,55,074,42,19,47,295,20*76 $GPGSV,3,3,12,21,33,087,48,22,67,157,,24,02,084,40,26,18,131,34*7D $GPGLL,5355.17581,N,02730.04649,E,085032.00,A,A*60 $GPRMC,085033.00,A,5355.17512,N,02730.04479,E,0.835,284.07,050210,,,A*6C $GPVTG,284.07,T,,M,0.835,N,1.547,K,A*3D $GPGGA,085033.00,5355.17512,N,02730.04479,E,1,04,17.31,266.9,M,25.0,M,,*63 $GPGSA,A,3,18,21,24,15,,,,,,,,,18.96,17.31,7.74*0C $GPGSV,3,1,12,03,67,251,,06,72,220,,08,07,331,26,14,06,151,*73 $GPGSV,3,2,12,15,15,032,47,16,15,204,,18,55,074,43,19,47,295,19*7C $GPGSV,3,3,12,21,33,087,49,22,67,157,,24,02,084,41,26,18,131,36*7F $GPGLL,5355.17512,N,02730.04479,E,085033.00,A,A*6A $GPRMC,085034.00,A,5355.17453,N,02730.04323,E,0.492,281.09,050210,,,A*6D $GPVTG,281.09,T,,M,0.492,N,0.911,K,A*39 $GPGGA,085034.00,5355.17453,N,02730.04323,E,1,04,17.31,266.2,M,25.0,M,,*63 $GPGSA,A,3,18,21,24,15,,,,,,,,,18.96,17.31,7.74*0C $GPGSV,3,1,12,03,67,251,,06,72,220,,08,07,331,26,14,06,151,*73 $GPGSV,3,2,12,15,15,032,47,16,15,204,,18,55,074,43,19,47,295,18*7D $GPGSV,3,3,12,21,33,087,48,22,67,157,,24,02,084,40,26,18,131,35*7C $GPGLL,5355.17453,N,02730.04323,E,085034.00,A,A*61 $GPRMC,085035.00,A,5355.17396,N,02730.04163,E,0.355,280.76,050210,,,A*61 $GPVTG,280.76,T,,M,0.355,N,0.657,K,A*31 $GPGGA,085035.00,5355.17396,N,02730.04163,E,1,04,17.32,265.6,M,25.0,M,,*6E $GPGSA,A,3,18,21,24,15,,,,,,,,,18.97,17.32,7.74*0E $GPGSV,3,1,12,03,67,251,,06,72,220,,08,07,331,26,14,06,151,*73 $GPGSV,3,2,12,15,15,032,47,16,15,204,,18,55,074,43,19,47,295,16*73 $GPGSV,3,3,12,21,33,087,47,22,67,157,,24,02,084,40,26,18,131,35*73 $GPGLL,5355.17396,N,02730.04163,E,085035.00,A,A*68 $GPRMC,085036.00,A,5355.17332,N,02730.04006,E,0.831,278.54,050210,,,A*60 $GPVTG,278.54,T,,M,0.831,N,1.540,K,A*3B $GPGGA,085036.00,5355.17332,N,02730.04006,E,1,04,17.33,265.3,M,25.0,M,,*65 $GPGSA,A,3,18,21,24,15,,,,,,,,,18.98,17.33,7.74*00 $GPGSV,3,1,12,03,67,251,28,06,72,220,,08,07,331,27,14,06,151,*78 $GPGSV,3,2,12,15,15,032,47,16,15,204,,18,55,074,43,19,47,295,14*71 $GPGSV,3,3,12,21,33,087,47,22,67,157,,24,02,084,41,26,18,131,36*71 $GPGLL,5355.17332,N,02730.04006,E,085036.00,A,A*67 $GPRMC,085037.00,A,5355.17281,N,02730.03900,E,0.252,277.72,050210,,,A*64 $GPVTG,277.72,T,,M,0.252,N,0.467,K,A*3A $GPGGA,085037.00,5355.17281,N,02730.03900,E,1,04,17.34,265.1,M,25.0,M,,*60 $GPGSA,A,3,18,21,24,15,,,,,,,,,18.98,17.34,7.74*07 $GPGSV,3,1,12,03,67,251,,06,72,220,,08,07,331,27,14,06,151,*72 $GPGSV,3,2,12,15,15,032,48,16,15,204,,18,55,074,43,19,47,295,13*79 $GPGSV,3,3,12,21,33,087,47,22,67,157,,24,02,084,41,26,18,131,36*71 $GPGLL,5355.17281,N,02730.03900,E,085037.00,A,A*67 $GPRMC,085038.00,A,5355.17239,N,02730.03826,E,0.115,,050210,,,A*74 $GPVTG,,T,,M,0.115,N,0.212,K,A*27 $GPGGA,085038.00,5355.17239,N,02730.03826,E,1,04,17.34,265.1,M,25.0,M,,*69 $GPGSA,A,3,18,21,24,15,,,,,,,,,18.99,17.34,7.74*06 $GPGSV,3,1,12,03,67,251,,06,72,220,25,08,07,331,28,14,06,151,*7A $GPGSV,3,2,12,15,15,032,47,16,15,204,,18,55,074,43,19,47,295,15*70 $GPGSV,3,3,12,21,33,087,47,22,67,157,,24,02,084,41,26,18,131,35*72 $GPGLL,5355.17239,N,02730.03826,E,085038.00,A,A*6E $GPRMC,085039.00,A,5355.17198,N,02730.03759,E,0.137,,050210,,,A*7A $GPVTG,,T,,M,0.137,N,0.254,K,A*25 $GPGGA,085039.00,5355.17198,N,02730.03759,E,1,04,17.35,265.1,M,25.0,M,,*66 $GPGSA,A,3,18,21,24,15,,,,,,,,,19.00,17.35,7.74*06 $GPGSV,3,1,12,03,67,251,28,06,72,220,24,08,07,331,28,14,06,151,*71 $GPGSV,3,2,12,15,15,032,47,16,15,204,,18,55,074,43,19,47,295,16*73 $GPGSV,3,3,12,21,33,087,47,22,67,157,,24,02,084,40,26,18,131,35*73 $GPGLL,5355.17198,N,02730.03759,E,085039.00,A,A*60 $GPRMC,085040.00,A,5355.17137,N,02730.03625,E,0.168,,050210,,,A*71 $GPVTG,,T,,M,0.168,N,0.311,K,A*2F $GPGGA,085040.00,5355.17137,N,02730.03625,E,1,04,17.36,265.1,M,25.0,M,,*64 $GPGSA,A,3,18,21,24,15,,,,,,,,,19.01,17.36,7.74*04 $GPGSV,3,1,12,03,67,251,27,06,72,220,23,08,07,331,28,14,06,151,*79 $GPGSV,3,2,12,15,15,032,45,16,15,204,,18,55,074,42,19,47,295,16*70 $GPGSV,3,3,12,21,33,087,45,22,67,157,27,24,02,084,39,26,18,131,33*7C $GPGLL,5355.17137,N,02730.03625,E,085040.00,A,A*61 $GPRMC,085041.00,A,5355.17092,N,02730.03549,E,0.298,274.51,050210,,,A*60 $GPVTG,274.51,T,,M,0.298,N,0.552,K,A*39 $GPGGA,085041.00,5355.17092,N,02730.03549,E,1,04,17.37,265.0,M,25.0,M,,*62 $GPGSA,A,3,18,21,24,15,,,,,,,,,19.01,17.37,7.74*05 $GPGSV,3,1,12,03,67,250,27,06,72,220,23,08,07,331,28,14,06,151,*78 $GPGSV,3,2,12,15,15,032,46,16,15,204,,18,55,074,43,19,47,295,17*73 $GPGSV,3,3,12,21,33,087,46,22,67,157,27,24,02,084,39,26,18,131,33*7F $GPGLL,5355.17092,N,02730.03549,E,085041.00,A,A*67 $GPRMC,085042.00,A,5355.17075,N,02730.03565,E,0.253,275.14,050210,,,A*63 $GPVTG,275.14,T,,M,0.253,N,0.469,K,A*37 $GPGGA,085042.00,5355.17075,N,02730.03565,E,1,04,17.37,265.0,M,25.0,M,,*66 $GPGSA,A,3,18,21,24,15,,,,,,,,,19.02,17.37,7.74*06 $GPGSV,3,1,12,03,67,250,26,06,72,220,22,08,07,331,28,14,06,151,*78 $GPGSV,3,2,12,15,15,032,46,16,15,204,,18,55,074,44,19,47,295,16*75 $GPGSV,3,3,12,21,33,087,46,22,67,157,27,24,02,084,39,26,18,131,32*7E $GPGLL,5355.17075,N,02730.03565,E,085042.00,A,A*63 $GPRMC,085043.00,A,5355.17087,N,02730.03666,E,0.177,,050210,,,A*71 $GPVTG,,T,,M,0.177,N,0.327,K,A*24 $GPGGA,085043.00,5355.17087,N,02730.03666,E,1,04,17.38,265.2,M,25.0,M,,*67 $GPGSA,A,3,18,21,24,15,,,,,,,,,19.03,17.38,7.74*08 $GPGSV,3,1,12,03,67,250,,06,72,220,21,08,07,331,28,14,06,151,*7F $GPGSV,3,2,12,15,15,032,45,16,15,204,,18,55,074,44,19,47,295,16*76 $GPGSV,3,3,12,21,33,087,46,22,67,157,28,24,02,084,39,26,18,131,30*73 $GPGLL,5355.17087,N,02730.03666,E,085043.00,A,A*6F $GPRMC,085044.00,A,5355.17136,N,02730.03861,E,0.309,281.42,050210,,,A*6C $GPVTG,281.42,T,,M,0.309,N,0.572,K,A*3A $GPGGA,085044.00,5355.17136,N,02730.03861,E,1,04,17.39,265.4,M,25.0,M,,*65 $GPGSA,A,3,18,21,24,15,,,,,,,,,19.03,17.39,7.74*09 $GPGSV,3,1,12,03,67,250,,06,72,219,19,08,07,331,29,14,06,151,*7F $GPGSV,3,2,12,15,15,032,45,16,15,204,,18,55,074,44,19,47,295,15*75 $GPGSV,3,3,12,21,33,087,46,22,67,157,28,24,02,084,39,26,18,131,28*7A $GPGLL,5355.17136,N,02730.03861,E,085044.00,A,A*6A $GPRMC,085045.00,A,5355.17209,N,02730.04094,E,0.774,290.35,050210,,,A*69 $GPVTG,290.35,T,,M,0.774,N,1.434,K,A*36 $GPGGA,085045.00,5355.17209,N,02730.04094,E,1,04,17.39,265.7,M,25.0,M,,*6D $GPGSA,A,3,18,21,24,15,,,,,,,,,19.04,17.39,7.74*0E $GPGSV,3,1,12,03,67,250,,06,72,219,17,08,07,331,28,14,06,151,*70 $GPGSV,3,2,12,15,15,032,44,16,15,204,,18,55,074,44,19,47,295,14*75 $GPGSV,3,3,12,21,33,087,46,22,67,157,28,24,02,084,39,26,18,131,27*75 $GPGLL,5355.17209,N,02730.04094,E,085045.00,A,A*61 $GPRMC,085046.00,A,5355.17280,N,02730.04292,E,0.376,298.76,050210,,,A*66 $GPVTG,298.76,T,,M,0.376,N,0.697,K,A*35 $GPGGA,085046.00,5355.17280,N,02730.04292,E,1,04,17.40,266.0,M,25.0,M,,*61 $GPGSA,A,3,18,21,24,15,,,,,,,,,19.05,17.40,7.74*01 $GPGSV,3,1,12,03,67,250,,06,72,219,14,08,07,331,28,14,06,151,*73 $GPGSV,3,2,12,15,15,032,45,16,15,204,,18,55,074,45,19,47,295,15*74 $GPGSV,3,3,12,21,33,087,46,22,67,157,30,24,02,084,40,26,18,131,27*72 $GPGLL,5355.17280,N,02730.04292,E,085046.00,A,A*67 $GPRMC,085047.00,A,5355.17358,N,02730.04516,E,0.431,306.60,050210,,,A*6D $GPVTG,306.60,T,,M,0.431,N,0.799,K,A*3F $GPGGA,085047.00,5355.17358,N,02730.04516,E,1,04,17.41,266.5,M,25.0,M,,*6B $GPGSA,A,3,18,21,24,15,,,,,,,,,19.05,17.41,7.74*00 $GPGSV,3,1,12,03,67,250,26,06,72,219,11,08,07,331,28,14,06,151,*72 $GPGSV,3,2,12,15,15,032,45,16,15,204,,18,55,074,45,19,47,295,15*74 $GPGSV,3,3,12,21,33,087,46,22,67,157,30,24,02,084,40,26,18,131,29*7C $GPGLL,5355.17358,N,02730.04516,E,085047.00,A,A*69 $GPRMC,085048.00,A,5355.17430,N,02730.04697,E,0.219,311.70,050210,,,A*6A $GPVTG,311.70,T,,M,0.219,N,0.406,K,A*31 $GPGGA,085048.00,5355.17430,N,02730.04697,E,1,04,17.42,266.9,M,25.0,M,,*68 $GPGSA,A,3,18,21,24,15,,,,,,,,,19.06,17.42,7.74*00 $GPGSV,3,1,12,03,67,250,26,06,72,219,08,08,07,331,27,14,06,151,*75 $GPGSV,3,2,12,15,15,032,45,16,15,204,,18,55,074,46,19,47,295,14*76 $GPGSV,3,3,12,21,33,087,47,22,67,157,29,24,02,084,41,26,18,131,32*7E $GPGLL,5355.17430,N,02730.04697,E,085048.00,A,A*65 $GPRMC,085049.00,A,5355.17510,N,02730.04910,E,0.590,317.91,050210,,,A*67 $GPVTG,317.91,T,,M,0.590,N,1.092,K,A*36 $GPGGA,085049.00,5355.17510,N,02730.04910,E,1,04,17.42,267.4,M,25.0,M,,*66 $GPGSA,A,3,18,21,24,15,,,,,,,,,19.07,17.42,7.74*01 $GPGSV,3,1,12,03,67,250,26,06,72,219,,08,07,331,27,14,06,151,23*7C $GPGSV,3,2,12,15,15,032,44,16,15,204,,18,55,074,46,19,47,295,14*77 $GPGSV,3,3,12,21,33,087,47,22,67,157,29,24,02,084,41,26,18,131,33*7F $GPGLL,5355.17510,N,02730.04910,E,085049.00,A,A*67 $GPRMC,085050.00,A,5355.17582,N,02730.05082,E,0.273,321.57,050210,,,A*62 $GPVTG,321.57,T,,M,0.273,N,0.505,K,A*39 $GPGGA,085050.00,5355.17582,N,02730.05082,E,1,04,17.43,267.9,M,25.0,M,,*6A $GPGSA,A,3,18,21,24,15,,,,,,,,,19.07,17.43,7.74*00 $GPGSV,3,1,12,03,67,250,25,06,72,219,,08,07,331,26,14,06,151,*7F $GPGSV,3,2,12,15,15,032,45,16,15,204,,18,55,074,46,19,47,295,15*77 $GPGSV,3,3,12,21,33,087,47,22,67,157,29,24,02,084,41,26,18,131,34*78 $GPGLL,5355.17582,N,02730.05082,E,085050.00,A,A*67 $GPRMC,085051.00,A,5355.17632,N,02730.05184,E,0.307,327.68,050210,,,A*64 $GPVTG,327.68,T,,M,0.307,N,0.569,K,A*3B $GPGGA,085051.00,5355.17632,N,02730.05184,E,1,04,17.44,268.3,M,25.0,M,,*66 $GPGSA,A,3,18,21,24,15,,,,,,,,,19.08,17.44,7.74*08 $GPGSV,3,1,12,03,67,250,,06,72,219,,08,07,331,26,14,06,151,*78 $GPGSV,3,2,12,15,15,032,45,16,15,204,,18,55,074,46,19,47,295,16*74 $GPGSV,3,3,12,21,33,087,47,22,67,157,28,24,02,084,41,26,18,131,34*79 $GPGLL,5355.17632,N,02730.05184,E,085051.00,A,A*69 $GPRMC,085052.00,A,5355.17477,N,02730.04765,E,0.521,322.69,050210,,,A*6A $GPVTG,322.69,T,,M,0.521,N,0.966,K,A*3E $GPGGA,085052.00,5355.17477,N,02730.04765,E,1,05,3.57,266.0,M,25.0,M,,*55 $GPGSA,A,3,18,21,26,24,15,,,,,,,,4.12,3.57,2.06*0C $GPGSV,3,1,12,03,67,250,,06,72,219,,08,07,331,26,14,06,151,26*7C $GPGSV,3,2,12,15,15,032,44,16,15,204,,18,55,074,46,19,47,295,16*75 $GPGSV,3,3,12,21,33,087,47,22,67,157,28,24,02,084,41,26,18,130,35*79 $GPGLL,5355.17477,N,02730.04765,E,085052.00,A,A*61 $GPRMC,085053.00,A,5355.16685,N,02730.02924,E,0.116,,050210,,,A*7A $GPVTG,,T,,M,0.116,N,0.215,K,A*23 $GPGGA,085053.00,5355.16685,N,02730.02924,E,1,04,4.99,244.3,M,25.0,M,,*50 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.26*03 $GPGSV,3,1,12,03,67,250,,06,72,219,,08,07,331,25,14,06,151,25*7C $GPGSV,3,2,12,15,14,032,43,16,15,204,,18,55,074,45,19,47,295,18*7E $GPGSV,3,3,12,21,33,087,46,22,67,157,28,24,02,084,41,26,18,130,34*79 $GPGLL,5355.16685,N,02730.02924,E,085053.00,A,A*63 $GPRMC,085054.00,A,5355.16719,N,02730.02813,E,0.044,,050210,,,A*7A $GPVTG,,T,,M,0.044,N,0.082,K,A*29 $GPGGA,085054.00,5355.16719,N,02730.02813,E,1,04,4.99,243.9,M,25.0,M,,*5B $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.26*03 $GPGSV,3,1,12,03,67,250,,06,72,219,,08,07,331,24,14,06,151,25*7D $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,074,46,19,47,295,17*74 $GPGSV,3,3,12,21,33,087,47,22,67,157,27,24,02,084,41,26,18,130,33*70 $GPGLL,5355.16719,N,02730.02813,E,085054.00,A,A*65 $GPRMC,085055.00,A,5355.16726,N,02730.02707,E,0.025,,050210,,,A*7A $GPVTG,,T,,M,0.025,N,0.047,K,A*27 $GPGGA,085055.00,5355.16726,N,02730.02707,E,1,04,4.99,243.9,M,25.0,M,,*5C $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.26*03 $GPGSV,3,1,12,03,67,250,,06,72,219,25,08,07,331,23,14,06,151,24*7C $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,074,46,19,47,295,17*73 $GPGSV,3,3,12,21,33,087,48,22,67,157,26,24,02,084,41,26,18,130,33*7E $GPGLL,5355.16726,N,02730.02707,E,085055.00,A,A*62 $GPRMC,085056.00,A,5355.16743,N,02730.02569,E,0.104,,050210,,,A*72 $GPVTG,,T,,M,0.104,N,0.192,K,A*2C $GPGGA,085056.00,5355.16743,N,02730.02569,E,1,04,4.99,244.1,M,25.0,M,,*59 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,,06,72,219,24,08,07,331,23,14,06,151,24*7D $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,46,19,47,295,16*75 $GPGSV,3,3,12,21,33,087,48,22,67,157,25,24,02,084,41,26,18,130,33*7D $GPGLL,5355.16743,N,02730.02569,E,085056.00,A,A*68 $GPRMC,085057.00,A,5355.16755,N,02730.02418,E,0.054,,050210,,,A*77 $GPVTG,,T,,M,0.054,N,0.100,K,A*23 $GPGGA,085057.00,5355.16755,N,02730.02418,E,1,04,4.99,244.3,M,25.0,M,,*5A $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,,06,72,219,24,08,07,331,25,14,06,151,25*7A $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,47,19,48,295,15*7F $GPGSV,3,3,12,21,33,087,50,22,67,157,24,24,02,084,42,26,18,130,35*70 $GPGLL,5355.16755,N,02730.02418,E,085057.00,A,A*69 $GPRMC,085058.00,A,5355.16773,N,02730.02276,E,0.083,,050210,,,A*78 $GPVTG,,T,,M,0.083,N,0.154,K,A*28 $GPGGA,085058.00,5355.16773,N,02730.02276,E,1,04,4.99,244.3,M,25.0,M,,*5F $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,,06,72,219,22,08,07,331,26,14,06,151,24*7E $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,46,19,48,295,13*7F $GPGSV,3,3,12,21,33,087,49,22,67,157,,24,02,084,42,26,18,130,34*7F $GPGLL,5355.16773,N,02730.02276,E,085058.00,A,A*6C $GPRMC,085059.00,A,5355.16784,N,02730.02176,E,0.038,,050210,,,A*72 $GPVTG,,T,,M,0.038,N,0.071,K,A*2E $GPGGA,085059.00,5355.16784,N,02730.02176,E,1,04,4.99,244.2,M,25.0,M,,*54 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,,06,72,219,19,08,07,331,26,14,06,151,24*76 $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,46,19,48,295,12*7E $GPGSV,3,3,12,21,32,087,49,22,67,157,23,24,02,084,42,26,18,130,34*7F $GPGLL,5355.16784,N,02730.02176,E,085059.00,A,A*66 $GPRMC,085100.00,A,5355.16789,N,02730.02093,E,0.059,,050210,,,A*7F $GPVTG,,T,,M,0.059,N,0.109,K,A*27 $GPGGA,085100.00,5355.16789,N,02730.02093,E,1,04,4.99,244.3,M,25.0,M,,*5F $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,27,06,72,219,17,08,07,331,27,14,06,151,23*7B $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,46,19,48,295,14*7F $GPGSV,3,3,12,21,32,087,49,22,67,156,23,24,02,084,41,26,18,130,34*7D $GPGLL,5355.16789,N,02730.02093,E,085100.00,A,A*6C $GPRMC,085101.00,A,5355.16793,N,02730.02037,E,0.033,,050210,,,A*77 $GPVTG,,T,,M,0.033,N,0.062,K,A*27 $GPGGA,085101.00,5355.16793,N,02730.02037,E,1,04,4.99,244.4,M,25.0,M,,*5C $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,25,06,72,219,15,08,07,331,27,14,06,151,22*7A $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,46,19,48,295,15*7E $GPGSV,3,3,12,21,32,087,49,22,67,156,24,24,02,084,41,26,18,130,34*7A $GPGLL,5355.16793,N,02730.02037,E,085101.00,A,A*68 $GPRMC,085102.00,A,5355.16792,N,02730.01981,E,0.245,317.09,050210,,,A*63 $GPVTG,317.09,T,,M,0.245,N,0.453,K,A*30 $GPGGA,085102.00,5355.16792,N,02730.01981,E,1,04,4.99,244.5,M,25.0,M,,*58 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,25,06,72,219,17,08,07,331,28,14,06,151,20*75 $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,46,19,48,295,15*7E $GPGSV,3,3,12,21,32,087,49,22,67,156,25,24,01,085,41,26,18,130,33*7E $GPGLL,5355.16792,N,02730.01981,E,085102.00,A,A*6D $GPRMC,085103.00,A,5355.16789,N,02730.01903,E,0.466,312.02,050210,,,A*6B $GPVTG,312.02,T,,M,0.466,N,0.863,K,A*36 $GPGGA,085103.00,5355.16789,N,02730.01903,E,1,04,4.99,244.5,M,25.0,M,,*59 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,24,06,72,219,20,08,07,331,28,14,06,151,*72 $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,46,19,48,295,15*7E $GPGSV,3,3,12,21,32,087,49,22,67,156,25,24,01,085,41,26,18,130,33*7E $GPGLL,5355.16789,N,02730.01903,E,085103.00,A,A*6C $GPRMC,085104.00,A,5355.16784,N,02730.01827,E,0.519,307.35,050210,,,A*6F $GPVTG,307.35,T,,M,0.519,N,0.962,K,A*3F $GPGGA,085104.00,5355.16784,N,02730.01827,E,1,04,4.99,244.3,M,25.0,M,,*52 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,24,06,72,219,21,08,07,331,28,14,06,151,*73 $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,46,19,48,295,14*7F $GPGSV,3,3,12,21,32,087,49,22,67,156,25,24,01,085,41,26,18,130,33*7E $GPGLL,5355.16784,N,02730.01827,E,085104.00,A,A*61 $GPRMC,085105.00,A,5355.16779,N,02730.01767,E,0.466,302.81,050210,,,A*64 $GPVTG,302.81,T,,M,0.466,N,0.863,K,A*3C $GPGGA,085105.00,5355.16779,N,02730.01767,E,1,04,4.99,244.1,M,25.0,M,,*58 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,24,06,72,219,21,08,07,331,28,14,06,151,*73 $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,46,19,48,295,12*7E $GPGSV,3,3,12,21,32,087,49,22,67,156,24,24,01,085,42,26,18,130,33*7C $GPGLL,5355.16779,N,02730.01767,E,085105.00,A,A*69 $GPRMC,085106.00,A,5355.16774,N,02730.01722,E,0.239,298.38,050210,,,A*67 $GPVTG,298.38,T,,M,0.239,N,0.443,K,A*3E $GPGGA,085106.00,5355.16774,N,02730.01722,E,1,04,4.99,243.8,M,25.0,M,,*59 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,24,06,72,219,20,08,07,331,27,14,06,151,*7D $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,46,19,48,295,10*7C $GPGSV,3,3,12,21,32,087,48,22,67,156,,24,01,085,42,26,18,130,34*7C $GPGLL,5355.16774,N,02730.01722,E,085106.00,A,A*66 $GPRMC,085107.00,A,5355.16776,N,02730.01731,E,0.085,,050210,,,A*75 $GPVTG,,T,,M,0.085,N,0.157,K,A*2D $GPGGA,085107.00,5355.16776,N,02730.01731,E,1,04,4.99,243.6,M,25.0,M,,*56 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,24,06,72,219,17,08,07,331,27,14,06,151,*79 $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,46,19,48,295,10*7C $GPGSV,3,3,12,21,32,087,48,22,67,156,,24,01,085,42,26,18,130,35*7D $GPGLL,5355.16776,N,02730.01731,E,085107.00,A,A*67 $GPRMC,085108.00,A,5355.16781,N,02730.01786,E,0.188,,050210,,,A*72 $GPVTG,,T,,M,0.188,N,0.349,K,A*2C $GPGGA,085108.00,5355.16781,N,02730.01786,E,1,04,4.99,243.4,M,25.0,M,,*5F $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,23,06,72,219,15,08,07,331,26,14,06,151,*7D $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,46,19,48,295,13*7F $GPGSV,3,3,12,21,32,087,47,22,67,156,,24,01,085,42,26,18,130,36*71 $GPGLL,5355.16781,N,02730.01786,E,085108.00,A,A*6C $GPRMC,085109.00,A,5355.16801,N,02730.01883,E,0.221,306.41,050210,,,A*60 $GPVTG,306.41,T,,M,0.221,N,0.409,K,A*31 $GPGGA,085109.00,5355.16801,N,02730.01883,E,1,04,4.99,243.5,M,25.0,M,,*52 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,,06,72,219,11,08,07,331,25,14,06,151,*7B $GPGSV,3,2,12,15,14,032,41,16,14,204,,18,55,073,45,19,48,295,16*7B $GPGSV,3,3,12,21,32,087,45,22,67,156,,24,01,085,41,26,18,130,36*70 $GPGLL,5355.16801,N,02730.01883,E,085109.00,A,A*60 $GPRMC,085110.00,A,5355.16838,N,02730.02013,E,0.088,,050210,,,A*7F $GPVTG,,T,,M,0.088,N,0.162,K,A*26 $GPGGA,085110.00,5355.16838,N,02730.02013,E,1,04,4.99,243.9,M,25.0,M,,*5E $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,,06,72,219,10,08,07,331,24,14,06,151,*7B $GPGSV,3,2,12,15,14,032,40,16,14,204,26,18,55,073,45,19,48,295,18*70 $GPGSV,3,3,12,21,32,087,45,22,67,156,,24,01,085,40,26,18,130,37*70 $GPGLL,5355.16838,N,02730.02013,E,085110.00,A,A*60 $GPRMC,085111.00,A,5355.16896,N,02730.02189,E,0.078,,050210,,,A*77 $GPVTG,,T,,M,0.078,N,0.145,K,A*2C $GPGGA,085111.00,5355.16896,N,02730.02189,E,1,04,4.99,244.7,M,25.0,M,,*50 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,,06,72,219,,08,07,331,23,14,06,151,*7D $GPGSV,3,2,12,15,14,032,40,16,14,204,,18,55,073,46,19,48,295,20*7C $GPGSV,3,3,12,21,32,087,46,22,67,156,,24,01,085,41,26,18,130,39*7C $GPGLL,5355.16896,N,02730.02189,E,085111.00,A,A*67 $GPRMC,085112.00,A,5355.16942,N,02730.02332,E,0.033,,050210,,,A*71 $GPVTG,,T,,M,0.033,N,0.061,K,A*24 $GPGGA,085112.00,5355.16942,N,02730.02332,E,1,04,4.99,245.4,M,25.0,M,,*5B $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,27,06,72,219,,08,07,331,23,14,06,151,*78 $GPGSV,3,2,12,15,14,032,41,16,14,204,,18,55,073,46,19,48,295,22*7F $GPGSV,3,3,12,21,32,087,47,22,67,156,,24,01,085,41,26,18,130,39*7D $GPGLL,5355.16942,N,02730.02332,E,085112.00,A,A*6E $GPRMC,085113.00,A,5355.16988,N,02730.02475,E,0.143,,050210,,,A*74 $GPVTG,,T,,M,0.143,N,0.264,K,A*25 $GPGGA,085113.00,5355.16988,N,02730.02475,E,1,04,4.98,246.1,M,25.0,M,,*5F $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.98,2.27*03 $GPGSV,3,1,12,03,67,250,27,06,72,219,,08,07,331,24,14,06,151,*7F $GPGSV,3,2,12,15,14,032,41,16,14,204,,18,55,073,45,19,48,295,24*7A $GPGSV,3,3,12,21,32,087,47,22,67,156,,24,01,085,41,26,18,130,39*7D $GPGLL,5355.16988,N,02730.02475,E,085113.00,A,A*6D $GPRMC,085114.00,A,5355.17026,N,02730.02579,E,0.058,,050210,,,A*79 $GPVTG,,T,,M,0.058,N,0.107,K,A*28 $GPGGA,085114.00,5355.17026,N,02730.02579,E,1,04,4.98,246.8,M,25.0,M,,*50 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.98,2.27*03 $GPGSV,3,1,12,03,67,250,27,06,72,219,,08,07,331,25,14,06,151,*7E $GPGSV,3,2,12,15,14,032,42,16,14,204,,18,55,073,45,19,48,295,24*79 $GPGSV,3,3,12,21,32,087,46,22,67,156,,24,01,085,41,26,18,130,39*7C $GPGLL,5355.17026,N,02730.02579,E,085114.00,A,A*6B $GPRMC,085115.00,A,5355.17060,N,02730.02660,E,0.017,,050210,,,A*7A $GPVTG,,T,,M,0.017,N,0.032,K,A*24 $GPGGA,085115.00,5355.17060,N,02730.02660,E,1,04,4.98,247.8,M,25.0,M,,*59 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.98,2.27*03 $GPGSV,3,1,12,03,67,250,27,06,72,219,24,08,07,331,26,14,06,151,*7B $GPGSV,3,2,12,15,14,032,42,16,14,204,,18,55,073,45,19,48,295,24*79 $GPGSV,3,3,12,21,32,087,46,22,67,156,,24,01,085,41,26,18,130,39*7C $GPGLL,5355.17060,N,02730.02660,E,085115.00,A,A*63 $GPRMC,085116.00,A,5355.17084,N,02730.02730,E,0.040,,050210,,,A*75 $GPVTG,,T,,M,0.040,N,0.075,K,A*25 $GPGGA,085116.00,5355.17084,N,02730.02730,E,1,04,4.98,248.5,M,25.0,M,,*56 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.98,2.27*03 $GPGSV,3,1,12,03,67,250,25,06,72,219,23,08,07,331,25,14,06,151,*7D $GPGSV,3,2,12,15,14,032,42,16,14,204,,18,55,073,45,19,48,295,23*7E $GPGSV,3,3,12,21,32,087,46,22,67,156,,24,01,085,41,26,18,130,38*7D $GPGLL,5355.17084,N,02730.02730,E,085116.00,A,A*6E $GPRMC,085117.00,A,5355.17100,N,02730.02761,E,0.057,,050210,,,A*7B $GPVTG,,T,,M,0.057,N,0.106,K,A*26 $GPGGA,085117.00,5355.17100,N,02730.02761,E,1,04,4.98,249.2,M,25.0,M,,*58 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.98,2.27*03 $GPGSV,3,1,12,03,67,250,24,06,72,219,21,08,07,331,25,14,06,151,*7E $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,45,19,48,295,22*7E $GPGSV,3,3,12,21,32,087,46,22,67,156,,24,01,085,41,26,18,130,38*7D $GPGLL,5355.17100,N,02730.02761,E,085117.00,A,A*66 $GPRMC,085118.00,A,5355.17107,N,02730.02791,E,0.087,,050210,,,A*71 $GPVTG,,T,,M,0.087,N,0.160,K,A*2B $GPGGA,085118.00,5355.17107,N,02730.02791,E,1,04,4.98,249.6,M,25.0,M,,*5B $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.98,2.27*03 $GPGSV,3,1,12,03,67,250,23,06,72,219,18,08,07,331,25,14,06,151,*73 $GPGSV,3,2,12,15,14,032,42,16,14,204,,18,55,073,43,19,48,295,20*7B $GPGSV,3,3,12,21,32,087,44,22,67,156,,24,01,085,39,26,18,130,35*7D $GPGLL,5355.17107,N,02730.02791,E,085118.00,A,A*61 $GPRMC,085119.00,A,5355.17112,N,02730.02835,E,0.205,302.21,050210,,,A*61 $GPVTG,302.21,T,,M,0.205,N,0.380,K,A*33 $GPGGA,085119.00,5355.17112,N,02730.02835,E,1,04,4.98,249.8,M,25.0,M,,*51 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.98,2.27*03 $GPGSV,3,1,12,03,67,250,22,06,72,219,14,08,07,331,25,14,06,151,*7E $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,44,19,48,295,20*7D $GPGSV,3,3,12,21,32,087,45,22,67,156,,24,01,085,39,26,18,130,35*7C $GPGLL,5355.17112,N,02730.02835,E,085119.00,A,A*65 $GPRMC,085120.00,A,5355.17115,N,02730.02871,E,0.142,,050210,,,A*70 $GPVTG,,T,,M,0.142,N,0.263,K,A*23 $GPGGA,085120.00,5355.17115,N,02730.02871,E,1,04,4.98,250.0,M,25.0,M,,*5C $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.98,2.27*03 $GPGSV,3,1,12,03,67,250,21,06,72,219,16,08,07,331,24,14,06,151,*7E $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,44,19,48,295,20*7A $GPGSV,3,3,12,21,32,087,46,22,67,156,,24,01,085,39,26,18,130,34*7E $GPGLL,5355.17115,N,02730.02871,E,085120.00,A,A*68 $GPRMC,085121.00,A,5355.17114,N,02730.02897,E,0.131,,050210,,,A*7C $GPVTG,,T,,M,0.131,N,0.243,K,A*25 $GPGGA,085121.00,5355.17114,N,02730.02897,E,1,04,4.98,250.2,M,25.0,M,,*56 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.98,2.27*03 $GPGSV,3,1,12,03,67,250,23,06,72,219,20,08,07,331,25,14,06,151,*78 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,45,19,48,295,22*78 $GPGSV,3,3,12,21,32,087,47,22,67,156,,24,01,085,40,26,18,130,34*71 $GPGLL,5355.17114,N,02730.02897,E,085121.00,A,A*60 $GPRMC,085122.00,A,5355.17111,N,02730.02927,E,0.018,,050210,,,A*7A $GPVTG,,T,,M,0.018,N,0.034,K,A*2D $GPGGA,085122.00,5355.17111,N,02730.02927,E,1,04,4.98,250.6,M,25.0,M,,*5E $GPGSA,A,3,18,21,26,15,,,,,,,,,5.47,4.98,2.27*0C $GPGSV,3,1,12,03,67,250,24,06,72,219,21,08,07,331,24,14,06,151,*7F $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,45,19,48,295,23*79 $GPGSV,3,3,12,21,32,087,47,22,67,156,25,24,01,085,39,26,18,130,33*7F $GPGLL,5355.17111,N,02730.02927,E,085122.00,A,A*6C $GPRMC,085123.00,A,5355.17101,N,02730.02965,E,0.039,,050210,,,A*7F $GPVTG,,T,,M,0.039,N,0.073,K,A*2D $GPGGA,085123.00,5355.17101,N,02730.02965,E,1,04,4.98,250.9,M,25.0,M,,*57 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.47,4.98,2.27*0C $GPGSV,3,1,12,03,67,250,25,06,72,219,21,08,07,331,24,14,06,151,*7E $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,24*7D $GPGSV,3,3,12,21,32,087,47,22,67,156,26,24,01,085,40,26,18,130,32*73 $GPGLL,5355.17101,N,02730.02965,E,085123.00,A,A*6A $GPRMC,085124.00,A,5355.17091,N,02730.03002,E,0.131,,050210,,,A*70 $GPVTG,,T,,M,0.131,N,0.242,K,A*24 $GPGGA,085124.00,5355.17091,N,02730.03002,E,1,04,4.98,251.1,M,25.0,M,,*58 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.47,4.98,2.27*0C $GPGSV,3,1,12,03,67,250,26,06,72,219,20,08,07,331,25,14,06,151,*7D $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,24*7D $GPGSV,3,3,12,21,32,087,47,22,67,156,28,24,01,085,40,26,18,130,31*7E $GPGLL,5355.17091,N,02730.03002,E,085124.00,A,A*6C $GPRMC,085125.00,A,5355.17079,N,02730.03028,E,0.136,,050210,,,A*78 $GPVTG,,T,,M,0.136,N,0.252,K,A*22 $GPGGA,085125.00,5355.17079,N,02730.03028,E,1,04,4.98,251.3,M,25.0,M,,*55 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.47,4.98,2.27*0C $GPGSV,3,1,12,03,67,250,26,06,72,219,19,08,07,331,26,14,06,151,*74 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,25*7C $GPGSV,3,3,12,21,32,087,47,22,67,156,29,24,01,085,41,26,18,130,30*7F $GPGLL,5355.17079,N,02730.03028,E,085125.00,A,A*63 $GPRMC,085126.00,A,5355.17068,N,02730.03037,E,0.132,,050210,,,A*71 $GPVTG,,T,,M,0.132,N,0.245,K,A*20 $GPGGA,085126.00,5355.17068,N,02730.03037,E,1,04,4.98,251.3,M,25.0,M,,*58 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.47,4.98,2.28*03 $GPGSV,3,1,12,03,67,250,27,06,72,219,18,08,07,331,26,14,06,151,*74 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,25*7C $GPGSV,3,3,12,21,32,087,47,22,67,156,29,24,01,085,41,26,18,130,29*77 $GPGLL,5355.17068,N,02730.03037,E,085126.00,A,A*6E $GPRMC,085127.00,A,5355.17058,N,02730.03017,E,0.288,297.97,050210,,,A*6F $GPVTG,297.97,T,,M,0.288,N,0.533,K,A*38 $GPGGA,085127.00,5355.17058,N,02730.03017,E,1,04,4.98,251.1,M,25.0,M,,*5A $GPGSA,A,3,18,21,26,15,,,,,,,,,5.47,4.98,2.28*03 $GPGSV,3,1,12,03,67,250,26,06,72,219,17,08,07,331,27,14,06,151,*7B $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,46,19,48,295,25*7D $GPGSV,3,3,12,21,32,087,48,22,67,156,29,24,01,085,41,26,18,130,27*76 $GPGLL,5355.17058,N,02730.03017,E,085127.00,A,A*6E $GPRMC,085128.00,A,5355.17046,N,02730.02966,E,0.498,294.00,050210,,,A*6B $GPVTG,294.00,T,,M,0.498,N,0.922,K,A*3E $GPGGA,085128.00,5355.17046,N,02730.02966,E,1,05,1.79,250.8,M,25.0,M,,*57 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.22*01 $GPGSV,3,1,12,03,67,250,25,06,72,219,15,08,07,330,27,14,06,151,*7B $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,45,19,48,295,25*7E $GPGSV,3,3,12,21,32,087,48,22,67,156,29,24,01,085,41,26,18,130,26*77 $GPGLL,5355.17046,N,02730.02966,E,085128.00,A,A*60 $GPRMC,085129.00,A,5355.17034,N,02730.02913,E,0.588,290.28,050210,,,A*63 $GPVTG,290.28,T,,M,0.588,N,1.090,K,A*31 $GPGGA,085129.00,5355.17034,N,02730.02913,E,1,05,1.79,250.6,M,25.0,M,,*5F $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.22*01 $GPGSV,3,1,12,03,67,250,24,06,72,219,12,08,07,330,28,14,06,151,*72 $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,46,19,48,295,25*7D $GPGSV,3,3,12,21,32,087,49,22,67,156,28,24,01,085,41,26,18,130,28*79 $GPGLL,5355.17034,N,02730.02913,E,085129.00,A,A*66 $GPRMC,085130.00,A,5355.17020,N,02730.02862,E,0.658,286.77,050210,,,A*6A $GPVTG,286.77,T,,M,0.658,N,1.219,K,A*31 $GPGGA,085130.00,5355.17020,N,02730.02862,E,1,05,1.79,250.3,M,25.0,M,,*50 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.22*01 $GPGSV,3,1,12,03,67,250,24,06,72,219,13,08,07,330,28,14,06,151,*73 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,45,19,48,295,25*7F $GPGSV,3,3,12,21,32,087,49,22,67,156,28,24,01,085,40,26,18,130,29*79 $GPGLL,5355.17020,N,02730.02862,E,085130.00,A,A*6C $GPRMC,085131.00,A,5355.17009,N,02730.02821,E,0.658,283.54,050210,,,A*63 $GPVTG,283.54,T,,M,0.658,N,1.219,K,A*35 $GPGGA,085131.00,5355.17009,N,02730.02821,E,1,05,1.79,250.1,M,25.0,M,,*5F $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,26,06,72,219,17,08,07,330,27,14,06,151,*7A $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,25*7C $GPGSV,3,3,12,21,32,087,49,22,67,156,27,24,01,085,41,26,18,130,30*7F $GPGLL,5355.17009,N,02730.02821,E,085131.00,A,A*61 $GPRMC,085132.00,A,5355.16991,N,02730.02767,E,0.997,280.53,050210,,,A*6C $GPVTG,280.53,T,,M,0.997,N,1.848,K,A*33 $GPGGA,085132.00,5355.16991,N,02730.02767,E,1,05,1.79,249.8,M,25.0,M,,*59 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,27,06,72,219,20,08,07,330,26,14,06,151,*7E $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,24*7D $GPGSV,3,3,12,21,32,087,49,22,67,156,27,24,01,085,41,26,18,130,35*7A $GPGLL,5355.16991,N,02730.02767,E,085132.00,A,A*66 $GPRMC,085133.00,A,5355.16972,N,02730.02710,E,1.137,277.73,050210,,,A*69 $GPVTG,277.73,T,,M,1.137,N,2.107,K,A*3B $GPGGA,085133.00,5355.16972,N,02730.02710,E,1,05,1.79,249.6,M,25.0,M,,*5B $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,27,06,72,219,19,08,07,330,25,14,06,151,*77 $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,45,19,48,295,23*78 $GPGSV,3,3,12,21,32,087,48,22,67,156,26,24,01,085,39,26,18,130,34*74 $GPGLL,5355.16972,N,02730.02710,E,085133.00,A,A*6A $GPRMC,085134.00,A,5355.16953,N,02730.02655,E,1.016,275.06,050210,,,A*6F $GPVTG,275.06,T,,M,1.016,N,1.882,K,A*3E $GPGGA,085134.00,5355.16953,N,02730.02655,E,1,05,1.79,249.3,M,25.0,M,,*5A $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,26,06,72,219,16,08,07,330,23,14,06,151,*7F $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,21*78 $GPGSV,3,3,12,21,32,087,49,22,67,156,26,24,01,085,41,26,18,130,35*7B $GPGLL,5355.16953,N,02730.02655,E,085134.00,A,A*6E $GPRMC,085135.00,A,5355.16935,N,02730.02610,E,0.860,272.53,050210,,,A*60 $GPVTG,272.53,T,,M,0.860,N,1.594,K,A*3B $GPGGA,085135.00,5355.16935,N,02730.02610,E,1,05,1.79,249.1,M,25.0,M,,*58 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,23,06,72,219,15,08,07,330,22,14,06,151,*78 $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,45,19,48,295,19*76 $GPGSV,3,3,12,21,32,087,48,22,67,156,26,24,01,085,41,26,18,130,35*7A $GPGLL,5355.16935,N,02730.02610,E,085135.00,A,A*6E $GPRMC,085136.00,A,5355.16958,N,02730.02675,E,0.386,270.33,050210,,,A*6C $GPVTG,270.33,T,,M,0.386,N,0.715,K,A*36 $GPGGA,085136.00,5355.16958,N,02730.02675,E,1,05,1.79,249.7,M,25.0,M,,*55 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,,06,72,219,17,08,07,330,21,14,06,151,*78 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,18*72 $GPGSV,3,3,12,21,32,087,50,22,67,156,27,24,01,085,42,26,18,130,36*72 $GPGLL,5355.16958,N,02730.02675,E,085136.00,A,A*65 $GPRMC,085137.00,A,5355.16951,N,02730.02661,E,0.151,,050210,,,A*72 $GPVTG,,T,,M,0.151,N,0.280,K,A*2C $GPGGA,085137.00,5355.16951,N,02730.02661,E,1,05,1.79,249.6,M,25.0,M,,*59 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,,06,72,219,20,08,07,330,20,14,06,151,*7D $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,19*73 $GPGSV,3,3,12,21,32,087,50,22,67,156,27,24,01,085,42,26,18,130,36*72 $GPGLL,5355.16951,N,02730.02661,E,085137.00,A,A*68 $GPRMC,085138.00,A,5355.16944,N,02730.02634,E,0.523,279.74,050210,,,A*69 $GPVTG,279.74,T,,M,0.523,N,0.970,K,A*38 $GPGGA,085138.00,5355.16944,N,02730.02634,E,1,05,1.79,249.5,M,25.0,M,,*51 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,26,06,72,219,20,08,07,330,18,14,06,151,*72 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,19*73 $GPGSV,3,3,12,21,32,087,49,22,67,156,27,24,01,085,42,26,18,130,37*7B $GPGLL,5355.16944,N,02730.02634,E,085138.00,A,A*63 $GPRMC,085139.00,A,5355.16947,N,02730.02631,E,0.955,288.42,050210,,,A*68 $GPVTG,288.42,T,,M,0.955,N,1.769,K,A*39 $GPGGA,085139.00,5355.16947,N,02730.02631,E,1,05,1.79,249.7,M,25.0,M,,*54 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,26,06,72,219,17,08,07,330,18,14,06,151,*76 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,19*73 $GPGSV,3,3,12,21,32,087,50,22,67,156,26,24,01,085,42,26,18,130,37*72 $GPGLL,5355.16947,N,02730.02631,E,085139.00,A,A*64 $GPRMC,085140.00,A,5355.16953,N,02730.02634,E,1.209,296.51,050210,,,A*68 $GPVTG,296.51,T,,M,1.209,N,2.240,K,A*3A $GPGGA,085140.00,5355.16953,N,02730.02634,E,1,05,1.79,249.8,M,25.0,M,,*55 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,27,06,72,219,12,08,07,330,18,14,06,151,*72 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,19*73 $GPGSV,3,3,12,21,32,087,49,22,67,156,25,24,01,085,42,26,18,130,37*79 $GPGLL,5355.16953,N,02730.02634,E,085140.00,A,A*6A $GPRMC,085141.00,A,5355.16952,N,02730.02616,E,1.203,304.08,050210,,,A*64 $GPVTG,304.08,T,,M,1.203,N,2.230,K,A*31 $GPGGA,085141.00,5355.16952,N,02730.02616,E,1,05,1.79,249.9,M,25.0,M,,*54 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,28,06,72,219,12,08,07,330,18,14,06,151,*7D $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,45,19,48,295,19*70 $GPGSV,3,3,12,21,32,087,49,22,67,156,22,24,01,085,43,26,18,130,38*70 $GPGLL,5355.16952,N,02730.02616,E,085141.00,A,A*6A $GPRMC,085142.00,A,5355.16901,N,02730.02472,E,0.382,311.88,050210,,,A*64 $GPVTG,311.88,T,,M,0.382,N,0.707,K,A*37 $GPGGA,085142.00,5355.16901,N,02730.02472,E,1,05,1.79,249.0,M,25.0,M,,*58 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,26,06,72,219,17,08,07,330,19,14,06,151,*77 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,45,19,48,295,19*70 $GPGSV,3,3,12,21,32,087,49,22,67,156,,24,01,085,42,26,18,130,38*71 $GPGLL,5355.16901,N,02730.02472,E,085142.00,A,A*6F $GPRMC,085143.00,A,5355.16896,N,02730.02443,E,0.211,319.01,050210,,,A*6A $GPVTG,319.01,T,,M,0.211,N,0.392,K,A*3D $GPGGA,085143.00,5355.16896,N,02730.02443,E,1,05,1.79,249.1,M,25.0,M,,*55 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,25,06,72,219,21,08,07,330,20,14,06,151,*7B $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,45,19,48,295,19*70 $GPGSV,3,3,12,21,32,087,49,22,67,156,,24,01,085,42,26,18,130,37*7E $GPGLL,5355.16896,N,02730.02443,E,085143.00,A,A*63 $GPRMC,085144.00,A,5355.16895,N,02730.02431,E,0.186,,050210,,,A*72 $GPVTG,,T,,M,0.186,N,0.345,K,A*2E $GPGGA,085144.00,5355.16895,N,02730.02431,E,1,05,1.79,249.3,M,25.0,M,,*56 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,,06,72,219,23,08,07,330,21,14,06,151,*7F $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,45,19,48,295,21*7B $GPGSV,3,3,12,21,32,087,48,22,67,156,27,24,01,085,42,26,18,130,37*7A $GPGLL,5355.16895,N,02730.02431,E,085144.00,A,A*62 $GPRMC,085145.00,A,5355.16894,N,02730.02410,E,0.409,314.01,050210,,,A*6A $GPVTG,314.01,T,,M,0.409,N,0.758,K,A*3D $GPGGA,085145.00,5355.16894,N,02730.02410,E,1,05,1.79,249.3,M,25.0,M,,*55 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,,06,72,219,23,08,07,330,21,14,07,151,*7E $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,44,19,48,295,21*7C $GPGSV,3,3,12,21,32,087,47,22,67,156,27,24,01,085,40,26,18,130,36*76 $GPGLL,5355.16894,N,02730.02410,E,085145.00,A,A*61 $GPRMC,085146.00,A,5355.16889,N,02730.02363,E,0.246,309.09,050210,,,A*6F $GPVTG,309.09,T,,M,0.246,N,0.455,K,A*3A $GPGGA,085146.00,5355.16889,N,02730.02363,E,1,05,1.79,249.3,M,25.0,M,,*59 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,,06,72,219,23,08,07,330,22,14,07,151,*7D $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,44,19,48,295,23*79 $GPGSV,3,3,12,21,32,087,46,22,67,156,26,24,01,085,40,26,18,130,35*75 $GPGLL,5355.16889,N,02730.02363,E,085146.00,A,A*6D $GPRMC,085147.00,A,5355.16883,N,02730.02334,E,0.023,,050210,,,A*7A $GPVTG,,T,,M,0.023,N,0.043,K,A*25 $GPGGA,085147.00,5355.16883,N,02730.02334,E,1,05,1.79,249.3,M,25.0,M,,*50 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,,06,72,219,25,08,07,330,24,14,07,151,*7D $GPGSV,3,2,12,15,14,032,46,16,14,204,,18,55,073,46,19,48,295,25*7F $GPGSV,3,3,12,21,32,087,48,22,67,156,26,24,01,085,41,26,18,130,35*7A $GPGLL,5355.16883,N,02730.02334,E,085147.00,A,A*64 $GPRMC,085148.00,A,5355.16875,N,02730.02320,E,0.058,,050210,,,A*75 $GPVTG,,T,,M,0.058,N,0.107,K,A*28 $GPGGA,085148.00,5355.16875,N,02730.02320,E,1,05,1.79,249.4,M,25.0,M,,*54 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,,06,72,219,25,08,07,330,25,14,07,151,*7C $GPGSV,3,2,12,15,14,032,46,16,14,204,,18,55,073,46,19,48,295,26*7C $GPGSV,3,3,12,21,32,087,47,22,67,156,26,24,01,085,41,26,18,130,35*75 $GPGLL,5355.16875,N,02730.02320,E,085148.00,A,A*67 $GPRMC,085149.00,A,5355.16866,N,02730.02314,E,0.346,304.62,050210,,,A*60 $GPVTG,304.62,T,,M,0.346,N,0.641,K,A*3C $GPGGA,085149.00,5355.16866,N,02730.02314,E,1,05,1.79,249.4,M,25.0,M,,*50 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,,06,72,219,25,08,07,330,25,14,07,151,*7C $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,45,19,48,295,26*7C $GPGSV,3,3,12,21,32,087,47,22,67,156,26,24,01,085,41,26,18,130,34*74 $GPGLL,5355.16866,N,02730.02314,E,085149.00,A,A*63 $GPRMC,085150.00,A,5355.16856,N,02730.02311,E,0.506,300.38,050210,,,A*67 $GPVTG,300.38,T,,M,0.506,N,0.937,K,A*3B $GPGGA,085150.00,5355.16856,N,02730.02311,E,1,05,1.79,249.5,M,25.0,M,,*5F $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,28,06,72,219,25,08,07,330,25,14,07,151,*76 $GPGSV,3,2,12,15,14,032,46,16,14,204,,18,55,073,45,19,48,295,27*7E $GPGSV,3,3,12,21,32,087,47,22,67,156,27,24,01,085,41,26,18,130,33*72 $GPGLL,5355.16856,N,02730.02311,E,085150.00,A,A*6D $GPRMC,085151.00,A,5355.16845,N,02730.02318,E,0.564,296.45,050210,,,A*6D $GPVTG,296.45,T,,M,0.564,N,1.045,K,A*36 $GPGGA,085151.00,5355.16845,N,02730.02318,E,1,05,1.79,249.6,M,25.0,M,,*56 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,29,06,72,219,24,08,07,330,25,14,07,151,*76 $GPGSV,3,2,12,15,14,032,46,16,14,204,,18,55,073,45,19,48,295,26*7F $GPGSV,3,3,12,21,32,087,46,22,67,156,28,24,01,085,40,26,18,130,32*7C $GPGLL,5355.16845,N,02730.02318,E,085151.00,A,A*67 $GPRMC,085152.00,A,5355.16838,N,02730.02346,E,0.143,,050210,,,A*7C $GPVTG,,T,,M,0.143,N,0.265,K,A*24 $GPGGA,085152.00,5355.16838,N,02730.02346,E,1,05,1.79,249.8,M,25.0,M,,*5A $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,249,29,06,72,219,22,08,07,330,26,14,07,151,*7B $GPGSV,3,2,12,15,14,032,46,16,14,204,,18,55,073,45,19,48,295,26*7F $GPGSV,3,3,12,21,32,087,46,22,67,156,29,24,01,085,40,26,18,130,31*7E $GPGLL,5355.16838,N,02730.02346,E,085152.00,A,A*65 $GPRMC,085153.00,A,5355.16831,N,02730.02377,E,0.025,,050210,,,A*77 $GPVTG,,T,,M,0.025,N,0.047,K,A*27 $GPGGA,085153.00,5355.16831,N,02730.02377,E,1,05,1.79,250.0,M,25.0,M,,*50 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,249,29,06,72,219,23,08,07,330,26,14,07,151,*7A $GPGSV,3,2,12,15,14,032,46,16,14,204,,18,55,073,45,19,48,295,26*7F $GPGSV,3,3,12,21,32,087,46,22,67,156,31,24,01,085,40,26,18,130,32*74 $GPGLL,5355.16831,N,02730.02377,E,085153.00,A,A*6F $GPRMC,085154.00,A,5355.16823,N,02730.02421,E,0.081,,050210,,,A*79 $GPVTG,,T,,M,0.081,N,0.150,K,A*2E $GPGGA,085154.00,5355.16823,N,02730.02421,E,1,05,1.79,250.3,M,25.0,M,,*53 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,249,29,06,72,219,23,08,07,330,26,14,07,151,*7A $GPGSV,3,2,12,15,14,032,46,16,14,204,,18,55,073,45,19,48,295,25*7C $GPGSV,3,3,12,21,32,087,46,22,67,156,32,24,01,085,40,26,18,130,32*77 $GPGLL,5355.16823,N,02730.02421,E,085154.00,A,A*6F $GPRMC,085155.00,A,5355.16818,N,02730.02469,E,0.187,,050210,,,A*7B $GPVTG,,T,,M,0.187,N,0.347,K,A*2D $GPGGA,085155.00,5355.16818,N,02730.02469,E,1,05,1.79,250.5,M,25.0,M,,*50 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,249,29,06,71,217,22,08,07,330,26,14,07,151,*76 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,45,19,48,295,25*7F $GPGSV,3,3,12,21,32,087,46,22,67,156,31,24,01,085,40,26,18,130,31*77 $GPGLL,5355.16818,N,02730.02469,E,085155.00,A,A*6A $GPRMC,085156.00,A,5355.16811,N,02730.02486,E,0.011,,050210,,,A*7E $GPVTG,,T,,M,0.011,N,0.020,K,A*21 $GPGGA,085156.00,5355.16811,N,02730.02486,E,1,05,1.79,250.7,M,25.0,M,,*59 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.24*07 $GPGSV,3,1,12,03,67,249,28,06,71,217,20,08,07,330,26,14,07,151,*75 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,45,19,48,295,24*7E $GPGSV,3,3,12,21,32,087,46,22,67,156,30,24,01,085,41,26,18,130,32*74 $GPGLL,5355.16811,N,02730.02486,E,085156.00,A,A*61 $GPRMC,085157.00,A,5355.16805,N,02730.02498,E,0.183,,050210,,,A*7F $GPVTG,,T,,M,0.183,N,0.339,K,A*20 $GPGGA,085157.00,5355.16805,N,02730.02498,E,1,05,1.79,250.7,M,25.0,M,,*52 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.24*07 $GPGSV,3,1,12,03,67,249,28,06,71,217,18,08,07,330,26,14,07,151,*7E $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,45,19,48,295,23*78 $GPGSV,3,3,12,21,32,087,46,22,67,156,29,24,01,085,41,26,18,130,33*7D $GPGLL,5355.16805,N,02730.02498,E,085157.00,A,A*6A $GPRMC,085158.00,A,5355.16801,N,02730.02510,E,0.258,292.57,050210,,,A*65 $GPVTG,292.57,T,,M,0.258,N,0.478,K,A*32 $GPGGA,085158.00,5355.16801,N,02730.02510,E,1,05,1.79,250.8,M,25.0,M,,*57 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.24*07 $GPGSV,3,1,12,03,67,249,27,06,71,217,16,08,07,330,25,14,07,151,*7C $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,45,19,48,295,22*79 $GPGSV,3,3,12,21,32,087,46,22,67,156,28,24,01,085,41,26,18,130,33*7C $GPGLL,5355.16801,N,02730.02510,E,085158.00,A,A*60 $GPRMC,085159.00,A,5355.16799,N,02730.02518,E,0.364,289.04,050210,,,A*60 $GPVTG,289.04,T,,M,0.364,N,0.675,K,A*3F $GPGGA,085159.00,5355.16799,N,02730.02518,E,1,05,1.79,250.9,M,25.0,M,,*51 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.24*07 $GPGSV,3,1,12,03,67,249,27,06,71,217,13,08,07,330,24,14,07,151,*78 $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,45,19,48,295,20*7B $GPGSV,3,3,12,21,32,087,46,22,67,156,27,24,01,085,42,26,18,130,34*77 $GPGLL,5355.16799,N,02730.02518,E,085159.00,A,A*67 $GPRMC,085200.00,A,5355.16797,N,02730.02521,E,0.225,285.42,050210,,,A*61 $GPVTG,285.42,T,,M,0.225,N,0.417,K,A*33 $GPGGA,085200.00,5355.16797,N,02730.02521,E,1,05,1.79,251.0,M,25.0,M,,*52 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.24*07 $GPGSV,3,1,12,03,67,249,28,06,71,217,14,08,07,330,23,14,07,151,*77 $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,45,19,48,295,19*71 $GPGSV,3,3,12,21,32,087,47,22,67,156,27,24,01,085,42,26,18,130,35*77 $GPGLL,5355.16797,N,02730.02521,E,085200.00,A,A*6C $GPRMC,085201.00,A,5355.16798,N,02730.02524,E,0.256,282.12,050210,,,A*6C $GPVTG,282.12,T,,M,0.256,N,0.474,K,A*30 $GPGGA,085201.00,5355.16798,N,02730.02524,E,1,05,1.79,251.1,M,25.0,M,,*58 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.87,1.79,2.24*06 $GPGSV,3,1,12,03,67,249,29,06,71,217,16,08,07,330,21,14,07,151,*76 $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,45,19,48,295,16*7E $GPGSV,3,3,12,21,32,087,47,22,67,156,27,24,01,085,42,26,18,130,35*77 $GPGLL,5355.16798,N,02730.02524,E,085201.00,A,A*67 $GPRMC,085202.00,A,5355.16797,N,02730.02521,E,0.079,,050210,,,A*7F gpsd-3.9/test/daemon/venus634lp.log.chk0000664000175000017500000037302412135526467016136 0ustar esresr$GPVTG,287.04,T,,M,0.774,N,1.435,K,A*33 $GPGGA,085032.00,5355.17581,N,02730.04649,E,1,04,17.30,267.5,M,25.0,M,,*65 {"class":"TPV","tag":"GGA","mode":3,"lat":53.919596833,"lon":27.500774833,"alt":267.500} $GPGSA,A,3,18,21,24,15,,,,,,,,,18.95,17.30,7.74*0E {"class":"TPV","tag":"GSA","mode":3,"lat":53.919596833,"lon":27.500774833,"alt":267.500,"epv":178.020} $GPGSV,3,1,12,03,67,251,,06,72,220,,08,07,331,24,14,06,151,*71 $GPGSV,3,2,12,15,15,032,46,16,15,204,,18,55,074,42,19,47,295,20*76 $GPGSV,3,3,12,21,33,087,48,22,67,157,,24,02,084,40,26,18,131,34*7D {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":7.74,"tdop":1.00,"hdop":17.30,"gdop":14.12,"pdop":18.95,"satellites":[{"PRN":3,"el":67,"az":251,"ss":0,"used":false},{"PRN":6,"el":72,"az":220,"ss":0,"used":false},{"PRN":8,"el":7,"az":331,"ss":24,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":15,"az":32,"ss":46,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":42,"used":true},{"PRN":19,"el":47,"az":295,"ss":20,"used":false},{"PRN":21,"el":33,"az":87,"ss":48,"used":true},{"PRN":22,"el":67,"az":157,"ss":0,"used":false},{"PRN":24,"el":2,"az":84,"ss":40,"used":true},{"PRN":26,"el":18,"az":131,"ss":34,"used":false}]} $GPGLL,5355.17581,N,02730.04649,E,085032.00,A,A*60 {"class":"TPV","tag":"GLL","mode":3,"lat":53.919596833,"lon":27.500774833,"alt":267.500,"epx":170.223,"epy":95.066,"epv":178.020} $GPRMC,085033.00,A,5355.17512,N,02730.04479,E,0.835,284.07,050210,,,A*6C $GPVTG,284.07,T,,M,0.835,N,1.547,K,A*3D $GPGGA,085033.00,5355.17512,N,02730.04479,E,1,04,17.31,266.9,M,25.0,M,,*63 $GPGSA,A,3,18,21,24,15,,,,,,,,,18.96,17.31,7.74*0C $GPGSV,3,1,12,03,67,251,,06,72,220,,08,07,331,26,14,06,151,*73 $GPGSV,3,2,12,15,15,032,47,16,15,204,,18,55,074,43,19,47,295,19*7C $GPGSV,3,3,12,21,33,087,49,22,67,157,,24,02,084,41,26,18,131,36*7F {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":7.74,"tdop":1.00,"hdop":17.31,"gdop":14.12,"pdop":18.96,"satellites":[{"PRN":3,"el":67,"az":251,"ss":0,"used":false},{"PRN":6,"el":72,"az":220,"ss":0,"used":false},{"PRN":8,"el":7,"az":331,"ss":26,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":15,"az":32,"ss":47,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":43,"used":true},{"PRN":19,"el":47,"az":295,"ss":19,"used":false},{"PRN":21,"el":33,"az":87,"ss":49,"used":true},{"PRN":22,"el":67,"az":157,"ss":0,"used":false},{"PRN":24,"el":2,"az":84,"ss":41,"used":true},{"PRN":26,"el":18,"az":131,"ss":36,"used":false}]} $GPGLL,5355.17512,N,02730.04479,E,085033.00,A,A*6A {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:33.000Z","ept":0.005,"lat":53.919585333,"lon":27.500746500,"alt":266.900,"epx":170.223,"epy":95.066,"epv":178.020,"track":284.0700,"speed":0.430,"climb":0.000} $GPRMC,085034.00,A,5355.17453,N,02730.04323,E,0.492,281.09,050210,,,A*6D $GPVTG,281.09,T,,M,0.492,N,0.911,K,A*39 $GPGGA,085034.00,5355.17453,N,02730.04323,E,1,04,17.31,266.2,M,25.0,M,,*63 $GPGSA,A,3,18,21,24,15,,,,,,,,,18.96,17.31,7.74*0C $GPGSV,3,1,12,03,67,251,,06,72,220,,08,07,331,26,14,06,151,*73 $GPGSV,3,2,12,15,15,032,47,16,15,204,,18,55,074,43,19,47,295,18*7D $GPGSV,3,3,12,21,33,087,48,22,67,157,,24,02,084,40,26,18,131,35*7C {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":7.74,"tdop":1.00,"hdop":17.31,"gdop":14.12,"pdop":18.96,"satellites":[{"PRN":3,"el":67,"az":251,"ss":0,"used":false},{"PRN":6,"el":72,"az":220,"ss":0,"used":false},{"PRN":8,"el":7,"az":331,"ss":26,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":15,"az":32,"ss":47,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":43,"used":true},{"PRN":19,"el":47,"az":295,"ss":18,"used":false},{"PRN":21,"el":33,"az":87,"ss":48,"used":true},{"PRN":22,"el":67,"az":157,"ss":0,"used":false},{"PRN":24,"el":2,"az":84,"ss":40,"used":true},{"PRN":26,"el":18,"az":131,"ss":35,"used":false}]} $GPGLL,5355.17453,N,02730.04323,E,085034.00,A,A*61 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:34.000Z","ept":0.005,"lat":53.919575500,"lon":27.500720500,"alt":266.200,"epx":170.223,"epy":95.066,"epv":178.020,"track":281.0900,"speed":0.253,"climb":0.000,"eps":340.45} $GPRMC,085035.00,A,5355.17396,N,02730.04163,E,0.355,280.76,050210,,,A*61 $GPVTG,280.76,T,,M,0.355,N,0.657,K,A*31 $GPGGA,085035.00,5355.17396,N,02730.04163,E,1,04,17.32,265.6,M,25.0,M,,*6E $GPGSA,A,3,18,21,24,15,,,,,,,,,18.97,17.32,7.74*0E $GPGSV,3,1,12,03,67,251,,06,72,220,,08,07,331,26,14,06,151,*73 $GPGSV,3,2,12,15,15,032,47,16,15,204,,18,55,074,43,19,47,295,16*73 $GPGSV,3,3,12,21,33,087,47,22,67,157,,24,02,084,40,26,18,131,35*73 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":7.74,"tdop":1.00,"hdop":17.32,"gdop":14.12,"pdop":18.97,"satellites":[{"PRN":3,"el":67,"az":251,"ss":0,"used":false},{"PRN":6,"el":72,"az":220,"ss":0,"used":false},{"PRN":8,"el":7,"az":331,"ss":26,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":15,"az":32,"ss":47,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":43,"used":true},{"PRN":19,"el":47,"az":295,"ss":16,"used":false},{"PRN":21,"el":33,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":157,"ss":0,"used":false},{"PRN":24,"el":2,"az":84,"ss":40,"used":true},{"PRN":26,"el":18,"az":131,"ss":35,"used":false}]} $GPGLL,5355.17396,N,02730.04163,E,085035.00,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:35.000Z","ept":0.005,"lat":53.919566000,"lon":27.500693833,"alt":265.600,"epx":170.223,"epy":95.066,"epv":178.020,"track":280.7600,"speed":0.183,"climb":0.000,"eps":340.45} $GPRMC,085036.00,A,5355.17332,N,02730.04006,E,0.831,278.54,050210,,,A*60 $GPVTG,278.54,T,,M,0.831,N,1.540,K,A*3B $GPGGA,085036.00,5355.17332,N,02730.04006,E,1,04,17.33,265.3,M,25.0,M,,*65 $GPGSA,A,3,18,21,24,15,,,,,,,,,18.98,17.33,7.74*00 $GPGSV,3,1,12,03,67,251,28,06,72,220,,08,07,331,27,14,06,151,*78 $GPGSV,3,2,12,15,15,032,47,16,15,204,,18,55,074,43,19,47,295,14*71 $GPGSV,3,3,12,21,33,087,47,22,67,157,,24,02,084,41,26,18,131,36*71 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":7.74,"tdop":1.00,"hdop":17.33,"gdop":14.12,"pdop":18.98,"satellites":[{"PRN":3,"el":67,"az":251,"ss":28,"used":false},{"PRN":6,"el":72,"az":220,"ss":0,"used":false},{"PRN":8,"el":7,"az":331,"ss":27,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":15,"az":32,"ss":47,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":43,"used":true},{"PRN":19,"el":47,"az":295,"ss":14,"used":false},{"PRN":21,"el":33,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":157,"ss":0,"used":false},{"PRN":24,"el":2,"az":84,"ss":41,"used":true},{"PRN":26,"el":18,"az":131,"ss":36,"used":false}]} $GPGLL,5355.17332,N,02730.04006,E,085036.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:36.000Z","ept":0.005,"lat":53.919555333,"lon":27.500667667,"alt":265.300,"epx":170.223,"epy":95.066,"epv":178.020,"track":278.5400,"speed":0.428,"climb":0.000,"eps":340.45} $GPRMC,085037.00,A,5355.17281,N,02730.03900,E,0.252,277.72,050210,,,A*64 $GPVTG,277.72,T,,M,0.252,N,0.467,K,A*3A $GPGGA,085037.00,5355.17281,N,02730.03900,E,1,04,17.34,265.1,M,25.0,M,,*60 $GPGSA,A,3,18,21,24,15,,,,,,,,,18.98,17.34,7.74*07 $GPGSV,3,1,12,03,67,251,,06,72,220,,08,07,331,27,14,06,151,*72 $GPGSV,3,2,12,15,15,032,48,16,15,204,,18,55,074,43,19,47,295,13*79 $GPGSV,3,3,12,21,33,087,47,22,67,157,,24,02,084,41,26,18,131,36*71 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":7.74,"tdop":1.00,"hdop":17.34,"gdop":14.12,"pdop":18.98,"satellites":[{"PRN":3,"el":67,"az":251,"ss":0,"used":false},{"PRN":6,"el":72,"az":220,"ss":0,"used":false},{"PRN":8,"el":7,"az":331,"ss":27,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":15,"az":32,"ss":48,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":43,"used":true},{"PRN":19,"el":47,"az":295,"ss":13,"used":false},{"PRN":21,"el":33,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":157,"ss":0,"used":false},{"PRN":24,"el":2,"az":84,"ss":41,"used":true},{"PRN":26,"el":18,"az":131,"ss":36,"used":false}]} $GPGLL,5355.17281,N,02730.03900,E,085037.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:37.000Z","ept":0.005,"lat":53.919546833,"lon":27.500650000,"alt":265.100,"epx":170.223,"epy":95.066,"epv":178.020,"track":277.7200,"speed":0.130,"climb":0.000,"eps":340.45} $GPRMC,085038.00,A,5355.17239,N,02730.03826,E,0.115,,050210,,,A*74 $GPVTG,,T,,M,0.115,N,0.212,K,A*27 $GPGGA,085038.00,5355.17239,N,02730.03826,E,1,04,17.34,265.1,M,25.0,M,,*69 $GPGSA,A,3,18,21,24,15,,,,,,,,,18.99,17.34,7.74*06 $GPGSV,3,1,12,03,67,251,,06,72,220,25,08,07,331,28,14,06,151,*7A $GPGSV,3,2,12,15,15,032,47,16,15,204,,18,55,074,43,19,47,295,15*70 $GPGSV,3,3,12,21,33,087,47,22,67,157,,24,02,084,41,26,18,131,35*72 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":7.74,"tdop":1.00,"hdop":17.34,"gdop":14.12,"pdop":18.99,"satellites":[{"PRN":3,"el":67,"az":251,"ss":0,"used":false},{"PRN":6,"el":72,"az":220,"ss":25,"used":false},{"PRN":8,"el":7,"az":331,"ss":28,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":15,"az":32,"ss":47,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":43,"used":true},{"PRN":19,"el":47,"az":295,"ss":15,"used":false},{"PRN":21,"el":33,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":157,"ss":0,"used":false},{"PRN":24,"el":2,"az":84,"ss":41,"used":true},{"PRN":26,"el":18,"az":131,"ss":35,"used":false}]} $GPGLL,5355.17239,N,02730.03826,E,085038.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:38.000Z","ept":0.005,"lat":53.919539833,"lon":27.500637667,"alt":265.100,"epx":170.223,"epy":95.066,"epv":178.020,"track":0.0000,"speed":0.059,"climb":0.000,"eps":340.45} $GPRMC,085039.00,A,5355.17198,N,02730.03759,E,0.137,,050210,,,A*7A $GPVTG,,T,,M,0.137,N,0.254,K,A*25 $GPGGA,085039.00,5355.17198,N,02730.03759,E,1,04,17.35,265.1,M,25.0,M,,*66 $GPGSA,A,3,18,21,24,15,,,,,,,,,19.00,17.35,7.74*06 $GPGSV,3,1,12,03,67,251,28,06,72,220,24,08,07,331,28,14,06,151,*71 $GPGSV,3,2,12,15,15,032,47,16,15,204,,18,55,074,43,19,47,295,16*73 $GPGSV,3,3,12,21,33,087,47,22,67,157,,24,02,084,40,26,18,131,35*73 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":7.74,"tdop":1.00,"hdop":17.35,"gdop":14.12,"pdop":19.00,"satellites":[{"PRN":3,"el":67,"az":251,"ss":28,"used":false},{"PRN":6,"el":72,"az":220,"ss":24,"used":false},{"PRN":8,"el":7,"az":331,"ss":28,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":15,"az":32,"ss":47,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":43,"used":true},{"PRN":19,"el":47,"az":295,"ss":16,"used":false},{"PRN":21,"el":33,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":157,"ss":0,"used":false},{"PRN":24,"el":2,"az":84,"ss":40,"used":true},{"PRN":26,"el":18,"az":131,"ss":35,"used":false}]} $GPGLL,5355.17198,N,02730.03759,E,085039.00,A,A*60 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:39.000Z","ept":0.005,"lat":53.919533000,"lon":27.500626500,"alt":265.100,"epx":170.223,"epy":95.066,"epv":178.020,"track":0.0000,"speed":0.070,"climb":0.000,"eps":340.45} $GPRMC,085040.00,A,5355.17137,N,02730.03625,E,0.168,,050210,,,A*71 $GPVTG,,T,,M,0.168,N,0.311,K,A*2F $GPGGA,085040.00,5355.17137,N,02730.03625,E,1,04,17.36,265.1,M,25.0,M,,*64 $GPGSA,A,3,18,21,24,15,,,,,,,,,19.01,17.36,7.74*04 $GPGSV,3,1,12,03,67,251,27,06,72,220,23,08,07,331,28,14,06,151,*79 $GPGSV,3,2,12,15,15,032,45,16,15,204,,18,55,074,42,19,47,295,16*70 $GPGSV,3,3,12,21,33,087,45,22,67,157,27,24,02,084,39,26,18,131,33*7C {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":7.74,"tdop":1.00,"hdop":17.36,"gdop":14.12,"pdop":19.01,"satellites":[{"PRN":3,"el":67,"az":251,"ss":27,"used":false},{"PRN":6,"el":72,"az":220,"ss":23,"used":false},{"PRN":8,"el":7,"az":331,"ss":28,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":15,"az":32,"ss":45,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":42,"used":true},{"PRN":19,"el":47,"az":295,"ss":16,"used":false},{"PRN":21,"el":33,"az":87,"ss":45,"used":true},{"PRN":22,"el":67,"az":157,"ss":27,"used":false},{"PRN":24,"el":2,"az":84,"ss":39,"used":true},{"PRN":26,"el":18,"az":131,"ss":33,"used":false}]} $GPGLL,5355.17137,N,02730.03625,E,085040.00,A,A*61 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:40.000Z","ept":0.005,"lat":53.919522833,"lon":27.500604167,"alt":265.100,"epx":170.223,"epy":95.066,"epv":178.020,"track":0.0000,"speed":0.086,"climb":0.000,"eps":340.45} $GPRMC,085041.00,A,5355.17092,N,02730.03549,E,0.298,274.51,050210,,,A*60 $GPVTG,274.51,T,,M,0.298,N,0.552,K,A*39 $GPGGA,085041.00,5355.17092,N,02730.03549,E,1,04,17.37,265.0,M,25.0,M,,*62 $GPGSA,A,3,18,21,24,15,,,,,,,,,19.01,17.37,7.74*05 $GPGSV,3,1,12,03,67,250,27,06,72,220,23,08,07,331,28,14,06,151,*78 $GPGSV,3,2,12,15,15,032,46,16,15,204,,18,55,074,43,19,47,295,17*73 $GPGSV,3,3,12,21,33,087,46,22,67,157,27,24,02,084,39,26,18,131,33*7F {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":7.74,"tdop":1.00,"hdop":17.37,"gdop":14.12,"pdop":19.01,"satellites":[{"PRN":3,"el":67,"az":250,"ss":27,"used":false},{"PRN":6,"el":72,"az":220,"ss":23,"used":false},{"PRN":8,"el":7,"az":331,"ss":28,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":15,"az":32,"ss":46,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":43,"used":true},{"PRN":19,"el":47,"az":295,"ss":17,"used":false},{"PRN":21,"el":33,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":157,"ss":27,"used":false},{"PRN":24,"el":2,"az":84,"ss":39,"used":true},{"PRN":26,"el":18,"az":131,"ss":33,"used":false}]} $GPGLL,5355.17092,N,02730.03549,E,085041.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:41.000Z","ept":0.005,"lat":53.919515333,"lon":27.500591500,"alt":265.000,"epx":170.223,"epy":95.066,"epv":178.020,"track":274.5100,"speed":0.153,"climb":0.000,"eps":340.45} $GPRMC,085042.00,A,5355.17075,N,02730.03565,E,0.253,275.14,050210,,,A*63 $GPVTG,275.14,T,,M,0.253,N,0.469,K,A*37 $GPGGA,085042.00,5355.17075,N,02730.03565,E,1,04,17.37,265.0,M,25.0,M,,*66 $GPGSA,A,3,18,21,24,15,,,,,,,,,19.02,17.37,7.74*06 $GPGSV,3,1,12,03,67,250,26,06,72,220,22,08,07,331,28,14,06,151,*78 $GPGSV,3,2,12,15,15,032,46,16,15,204,,18,55,074,44,19,47,295,16*75 $GPGSV,3,3,12,21,33,087,46,22,67,157,27,24,02,084,39,26,18,131,32*7E {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":7.74,"tdop":1.00,"hdop":17.37,"gdop":14.12,"pdop":19.02,"satellites":[{"PRN":3,"el":67,"az":250,"ss":26,"used":false},{"PRN":6,"el":72,"az":220,"ss":22,"used":false},{"PRN":8,"el":7,"az":331,"ss":28,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":15,"az":32,"ss":46,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":44,"used":true},{"PRN":19,"el":47,"az":295,"ss":16,"used":false},{"PRN":21,"el":33,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":157,"ss":27,"used":false},{"PRN":24,"el":2,"az":84,"ss":39,"used":true},{"PRN":26,"el":18,"az":131,"ss":32,"used":false}]} $GPGLL,5355.17075,N,02730.03565,E,085042.00,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:42.000Z","ept":0.005,"lat":53.919512500,"lon":27.500594167,"alt":265.000,"epx":170.223,"epy":95.066,"epv":178.020,"track":275.1400,"speed":0.130,"climb":0.000,"eps":340.45} $GPRMC,085043.00,A,5355.17087,N,02730.03666,E,0.177,,050210,,,A*71 $GPVTG,,T,,M,0.177,N,0.327,K,A*24 $GPGGA,085043.00,5355.17087,N,02730.03666,E,1,04,17.38,265.2,M,25.0,M,,*67 $GPGSA,A,3,18,21,24,15,,,,,,,,,19.03,17.38,7.74*08 $GPGSV,3,1,12,03,67,250,,06,72,220,21,08,07,331,28,14,06,151,*7F $GPGSV,3,2,12,15,15,032,45,16,15,204,,18,55,074,44,19,47,295,16*76 $GPGSV,3,3,12,21,33,087,46,22,67,157,28,24,02,084,39,26,18,131,30*73 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":7.74,"tdop":1.00,"hdop":17.38,"gdop":14.12,"pdop":19.03,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":220,"ss":21,"used":false},{"PRN":8,"el":7,"az":331,"ss":28,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":15,"az":32,"ss":45,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":44,"used":true},{"PRN":19,"el":47,"az":295,"ss":16,"used":false},{"PRN":21,"el":33,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":157,"ss":28,"used":false},{"PRN":24,"el":2,"az":84,"ss":39,"used":true},{"PRN":26,"el":18,"az":131,"ss":30,"used":false}]} $GPGLL,5355.17087,N,02730.03666,E,085043.00,A,A*6F {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:43.000Z","ept":0.005,"lat":53.919514500,"lon":27.500611000,"alt":265.200,"epx":170.223,"epy":95.066,"epv":178.020,"track":0.0000,"speed":0.091,"climb":0.000,"eps":340.45} $GPRMC,085044.00,A,5355.17136,N,02730.03861,E,0.309,281.42,050210,,,A*6C $GPVTG,281.42,T,,M,0.309,N,0.572,K,A*3A $GPGGA,085044.00,5355.17136,N,02730.03861,E,1,04,17.39,265.4,M,25.0,M,,*65 $GPGSA,A,3,18,21,24,15,,,,,,,,,19.03,17.39,7.74*09 $GPGSV,3,1,12,03,67,250,,06,72,219,19,08,07,331,29,14,06,151,*7F $GPGSV,3,2,12,15,15,032,45,16,15,204,,18,55,074,44,19,47,295,15*75 $GPGSV,3,3,12,21,33,087,46,22,67,157,28,24,02,084,39,26,18,131,28*7A {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":7.74,"tdop":1.00,"hdop":17.39,"gdop":14.12,"pdop":19.03,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":19,"used":false},{"PRN":8,"el":7,"az":331,"ss":29,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":15,"az":32,"ss":45,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":44,"used":true},{"PRN":19,"el":47,"az":295,"ss":15,"used":false},{"PRN":21,"el":33,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":157,"ss":28,"used":false},{"PRN":24,"el":2,"az":84,"ss":39,"used":true},{"PRN":26,"el":18,"az":131,"ss":28,"used":false}]} $GPGLL,5355.17136,N,02730.03861,E,085044.00,A,A*6A {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:44.000Z","ept":0.005,"lat":53.919522667,"lon":27.500643500,"alt":265.400,"epx":170.223,"epy":95.066,"epv":178.020,"track":281.4200,"speed":0.159,"climb":0.000,"eps":340.45} $GPRMC,085045.00,A,5355.17209,N,02730.04094,E,0.774,290.35,050210,,,A*69 $GPVTG,290.35,T,,M,0.774,N,1.434,K,A*36 $GPGGA,085045.00,5355.17209,N,02730.04094,E,1,04,17.39,265.7,M,25.0,M,,*6D $GPGSA,A,3,18,21,24,15,,,,,,,,,19.04,17.39,7.74*0E $GPGSV,3,1,12,03,67,250,,06,72,219,17,08,07,331,28,14,06,151,*70 $GPGSV,3,2,12,15,15,032,44,16,15,204,,18,55,074,44,19,47,295,14*75 $GPGSV,3,3,12,21,33,087,46,22,67,157,28,24,02,084,39,26,18,131,27*75 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":7.74,"tdop":1.00,"hdop":17.39,"gdop":14.12,"pdop":19.04,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":17,"used":false},{"PRN":8,"el":7,"az":331,"ss":28,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":15,"az":32,"ss":44,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":44,"used":true},{"PRN":19,"el":47,"az":295,"ss":14,"used":false},{"PRN":21,"el":33,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":157,"ss":28,"used":false},{"PRN":24,"el":2,"az":84,"ss":39,"used":true},{"PRN":26,"el":18,"az":131,"ss":27,"used":false}]} $GPGLL,5355.17209,N,02730.04094,E,085045.00,A,A*61 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:45.000Z","ept":0.005,"lat":53.919534833,"lon":27.500682333,"alt":265.700,"epx":170.223,"epy":95.066,"epv":178.020,"track":290.3500,"speed":0.398,"climb":0.000,"eps":340.45} $GPRMC,085046.00,A,5355.17280,N,02730.04292,E,0.376,298.76,050210,,,A*66 $GPVTG,298.76,T,,M,0.376,N,0.697,K,A*35 $GPGGA,085046.00,5355.17280,N,02730.04292,E,1,04,17.40,266.0,M,25.0,M,,*61 $GPGSA,A,3,18,21,24,15,,,,,,,,,19.05,17.40,7.74*01 $GPGSV,3,1,12,03,67,250,,06,72,219,14,08,07,331,28,14,06,151,*73 $GPGSV,3,2,12,15,15,032,45,16,15,204,,18,55,074,45,19,47,295,15*74 $GPGSV,3,3,12,21,33,087,46,22,67,157,30,24,02,084,40,26,18,131,27*72 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":7.74,"tdop":1.00,"hdop":17.40,"gdop":14.12,"pdop":19.05,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":14,"used":false},{"PRN":8,"el":7,"az":331,"ss":28,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":15,"az":32,"ss":45,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":45,"used":true},{"PRN":19,"el":47,"az":295,"ss":15,"used":false},{"PRN":21,"el":33,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":157,"ss":30,"used":false},{"PRN":24,"el":2,"az":84,"ss":40,"used":true},{"PRN":26,"el":18,"az":131,"ss":27,"used":false}]} $GPGLL,5355.17280,N,02730.04292,E,085046.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:46.000Z","ept":0.005,"lat":53.919546667,"lon":27.500715333,"alt":266.000,"epx":170.223,"epy":95.066,"epv":178.020,"track":298.7600,"speed":0.193,"climb":0.000,"eps":340.45} $GPRMC,085047.00,A,5355.17358,N,02730.04516,E,0.431,306.60,050210,,,A*6D $GPVTG,306.60,T,,M,0.431,N,0.799,K,A*3F $GPGGA,085047.00,5355.17358,N,02730.04516,E,1,04,17.41,266.5,M,25.0,M,,*6B $GPGSA,A,3,18,21,24,15,,,,,,,,,19.05,17.41,7.74*00 $GPGSV,3,1,12,03,67,250,26,06,72,219,11,08,07,331,28,14,06,151,*72 $GPGSV,3,2,12,15,15,032,45,16,15,204,,18,55,074,45,19,47,295,15*74 $GPGSV,3,3,12,21,33,087,46,22,67,157,30,24,02,084,40,26,18,131,29*7C {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":7.74,"tdop":1.00,"hdop":17.41,"gdop":14.12,"pdop":19.05,"satellites":[{"PRN":3,"el":67,"az":250,"ss":26,"used":false},{"PRN":6,"el":72,"az":219,"ss":11,"used":false},{"PRN":8,"el":7,"az":331,"ss":28,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":15,"az":32,"ss":45,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":45,"used":true},{"PRN":19,"el":47,"az":295,"ss":15,"used":false},{"PRN":21,"el":33,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":157,"ss":30,"used":false},{"PRN":24,"el":2,"az":84,"ss":40,"used":true},{"PRN":26,"el":18,"az":131,"ss":29,"used":false}]} $GPGLL,5355.17358,N,02730.04516,E,085047.00,A,A*69 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:47.000Z","ept":0.005,"lat":53.919559667,"lon":27.500752667,"alt":266.500,"epx":170.223,"epy":95.066,"epv":178.020,"track":306.6000,"speed":0.222,"climb":0.000,"eps":340.45} $GPRMC,085048.00,A,5355.17430,N,02730.04697,E,0.219,311.70,050210,,,A*6A $GPVTG,311.70,T,,M,0.219,N,0.406,K,A*31 $GPGGA,085048.00,5355.17430,N,02730.04697,E,1,04,17.42,266.9,M,25.0,M,,*68 $GPGSA,A,3,18,21,24,15,,,,,,,,,19.06,17.42,7.74*00 $GPGSV,3,1,12,03,67,250,26,06,72,219,08,08,07,331,27,14,06,151,*75 $GPGSV,3,2,12,15,15,032,45,16,15,204,,18,55,074,46,19,47,295,14*76 $GPGSV,3,3,12,21,33,087,47,22,67,157,29,24,02,084,41,26,18,131,32*7E {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":7.74,"tdop":1.00,"hdop":17.42,"gdop":14.12,"pdop":19.06,"satellites":[{"PRN":3,"el":67,"az":250,"ss":26,"used":false},{"PRN":6,"el":72,"az":219,"ss":8,"used":false},{"PRN":8,"el":7,"az":331,"ss":27,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":15,"az":32,"ss":45,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":46,"used":true},{"PRN":19,"el":47,"az":295,"ss":14,"used":false},{"PRN":21,"el":33,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":157,"ss":29,"used":false},{"PRN":24,"el":2,"az":84,"ss":41,"used":true},{"PRN":26,"el":18,"az":131,"ss":32,"used":false}]} $GPGLL,5355.17430,N,02730.04697,E,085048.00,A,A*65 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:48.000Z","ept":0.005,"lat":53.919571667,"lon":27.500782833,"alt":266.900,"epx":170.223,"epy":95.066,"epv":178.020,"track":311.7000,"speed":0.113,"climb":0.000,"eps":340.45} $GPRMC,085049.00,A,5355.17510,N,02730.04910,E,0.590,317.91,050210,,,A*67 $GPVTG,317.91,T,,M,0.590,N,1.092,K,A*36 $GPGGA,085049.00,5355.17510,N,02730.04910,E,1,04,17.42,267.4,M,25.0,M,,*66 $GPGSA,A,3,18,21,24,15,,,,,,,,,19.07,17.42,7.74*01 $GPGSV,3,1,12,03,67,250,26,06,72,219,,08,07,331,27,14,06,151,23*7C $GPGSV,3,2,12,15,15,032,44,16,15,204,,18,55,074,46,19,47,295,14*77 $GPGSV,3,3,12,21,33,087,47,22,67,157,29,24,02,084,41,26,18,131,33*7F {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":7.74,"tdop":1.00,"hdop":17.42,"gdop":14.12,"pdop":19.07,"satellites":[{"PRN":3,"el":67,"az":250,"ss":26,"used":false},{"PRN":6,"el":72,"az":219,"ss":0,"used":false},{"PRN":8,"el":7,"az":331,"ss":27,"used":false},{"PRN":14,"el":6,"az":151,"ss":23,"used":false},{"PRN":15,"el":15,"az":32,"ss":44,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":46,"used":true},{"PRN":19,"el":47,"az":295,"ss":14,"used":false},{"PRN":21,"el":33,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":157,"ss":29,"used":false},{"PRN":24,"el":2,"az":84,"ss":41,"used":true},{"PRN":26,"el":18,"az":131,"ss":33,"used":false}]} $GPGLL,5355.17510,N,02730.04910,E,085049.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:49.000Z","ept":0.005,"lat":53.919585000,"lon":27.500818333,"alt":267.400,"epx":170.223,"epy":95.066,"epv":178.020,"track":317.9100,"speed":0.304,"climb":0.000,"eps":340.45} $GPRMC,085050.00,A,5355.17582,N,02730.05082,E,0.273,321.57,050210,,,A*62 $GPVTG,321.57,T,,M,0.273,N,0.505,K,A*39 $GPGGA,085050.00,5355.17582,N,02730.05082,E,1,04,17.43,267.9,M,25.0,M,,*6A $GPGSA,A,3,18,21,24,15,,,,,,,,,19.07,17.43,7.74*00 $GPGSV,3,1,12,03,67,250,25,06,72,219,,08,07,331,26,14,06,151,*7F $GPGSV,3,2,12,15,15,032,45,16,15,204,,18,55,074,46,19,47,295,15*77 $GPGSV,3,3,12,21,33,087,47,22,67,157,29,24,02,084,41,26,18,131,34*78 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":7.74,"tdop":1.00,"hdop":17.43,"gdop":14.12,"pdop":19.07,"satellites":[{"PRN":3,"el":67,"az":250,"ss":25,"used":false},{"PRN":6,"el":72,"az":219,"ss":0,"used":false},{"PRN":8,"el":7,"az":331,"ss":26,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":15,"az":32,"ss":45,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":46,"used":true},{"PRN":19,"el":47,"az":295,"ss":15,"used":false},{"PRN":21,"el":33,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":157,"ss":29,"used":false},{"PRN":24,"el":2,"az":84,"ss":41,"used":true},{"PRN":26,"el":18,"az":131,"ss":34,"used":false}]} $GPGLL,5355.17582,N,02730.05082,E,085050.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:50.000Z","ept":0.005,"lat":53.919597000,"lon":27.500847000,"alt":267.900,"epx":170.223,"epy":95.066,"epv":178.020,"track":321.5700,"speed":0.140,"climb":0.000,"eps":340.45} $GPRMC,085051.00,A,5355.17632,N,02730.05184,E,0.307,327.68,050210,,,A*64 $GPVTG,327.68,T,,M,0.307,N,0.569,K,A*3B $GPGGA,085051.00,5355.17632,N,02730.05184,E,1,04,17.44,268.3,M,25.0,M,,*66 $GPGSA,A,3,18,21,24,15,,,,,,,,,19.08,17.44,7.74*08 $GPGSV,3,1,12,03,67,250,,06,72,219,,08,07,331,26,14,06,151,*78 $GPGSV,3,2,12,15,15,032,45,16,15,204,,18,55,074,46,19,47,295,16*74 $GPGSV,3,3,12,21,33,087,47,22,67,157,28,24,02,084,41,26,18,131,34*79 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":7.74,"tdop":1.00,"hdop":17.44,"gdop":14.12,"pdop":19.08,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":0,"used":false},{"PRN":8,"el":7,"az":331,"ss":26,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":15,"az":32,"ss":45,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":46,"used":true},{"PRN":19,"el":47,"az":295,"ss":16,"used":false},{"PRN":21,"el":33,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":157,"ss":28,"used":false},{"PRN":24,"el":2,"az":84,"ss":41,"used":true},{"PRN":26,"el":18,"az":131,"ss":34,"used":false}]} $GPGLL,5355.17632,N,02730.05184,E,085051.00,A,A*69 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:51.000Z","ept":0.005,"lat":53.919605333,"lon":27.500864000,"alt":268.300,"epx":170.223,"epy":95.066,"epv":178.020,"track":327.6800,"speed":0.158,"climb":0.000,"eps":340.45} $GPRMC,085052.00,A,5355.17477,N,02730.04765,E,0.521,322.69,050210,,,A*6A $GPVTG,322.69,T,,M,0.521,N,0.966,K,A*3E $GPGGA,085052.00,5355.17477,N,02730.04765,E,1,05,3.57,266.0,M,25.0,M,,*55 $GPGSA,A,3,18,21,26,24,15,,,,,,,,4.12,3.57,2.06*0C $GPGSV,3,1,12,03,67,250,,06,72,219,,08,07,331,26,14,06,151,26*7C $GPGSV,3,2,12,15,15,032,44,16,15,204,,18,55,074,46,19,47,295,16*75 $GPGSV,3,3,12,21,33,087,47,22,67,157,28,24,02,084,41,26,18,130,35*79 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.06,"tdop":1.00,"hdop":3.57,"gdop":14.12,"pdop":4.12,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":0,"used":false},{"PRN":8,"el":7,"az":331,"ss":26,"used":false},{"PRN":14,"el":6,"az":151,"ss":26,"used":false},{"PRN":15,"el":15,"az":32,"ss":44,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":46,"used":true},{"PRN":19,"el":47,"az":295,"ss":16,"used":false},{"PRN":21,"el":33,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":157,"ss":28,"used":false},{"PRN":24,"el":2,"az":84,"ss":41,"used":true},{"PRN":26,"el":18,"az":130,"ss":35,"used":true}]} $GPGLL,5355.17477,N,02730.04765,E,085052.00,A,A*61 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:52.000Z","ept":0.005,"lat":53.919579500,"lon":27.500794167,"alt":266.000,"epx":170.223,"epy":95.066,"epv":178.020,"track":322.6900,"speed":0.268,"climb":0.000,"eps":340.45} $GPRMC,085053.00,A,5355.16685,N,02730.02924,E,0.116,,050210,,,A*7A $GPVTG,,T,,M,0.116,N,0.215,K,A*23 $GPGGA,085053.00,5355.16685,N,02730.02924,E,1,04,4.99,244.3,M,25.0,M,,*50 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.26*03 $GPGSV,3,1,12,03,67,250,,06,72,219,,08,07,331,25,14,06,151,25*7C $GPGSV,3,2,12,15,14,032,43,16,15,204,,18,55,074,45,19,47,295,18*7E $GPGSV,3,3,12,21,33,087,46,22,67,157,28,24,02,084,41,26,18,130,34*79 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.26,"tdop":1.00,"hdop":4.99,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":0,"used":false},{"PRN":8,"el":7,"az":331,"ss":25,"used":false},{"PRN":14,"el":6,"az":151,"ss":25,"used":false},{"PRN":15,"el":14,"az":32,"ss":43,"used":true},{"PRN":16,"el":15,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":45,"used":true},{"PRN":19,"el":47,"az":295,"ss":18,"used":false},{"PRN":21,"el":33,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":157,"ss":28,"used":false},{"PRN":24,"el":2,"az":84,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":34,"used":true}]} $GPGLL,5355.16685,N,02730.02924,E,085053.00,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:53.000Z","ept":0.005,"lat":53.919447500,"lon":27.500487333,"alt":244.300,"epx":170.223,"epy":95.066,"epv":47.380,"track":0.0000,"speed":0.060,"climb":0.000,"eps":340.45} $GPRMC,085054.00,A,5355.16719,N,02730.02813,E,0.044,,050210,,,A*7A $GPVTG,,T,,M,0.044,N,0.082,K,A*29 $GPGGA,085054.00,5355.16719,N,02730.02813,E,1,04,4.99,243.9,M,25.0,M,,*5B $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.26*03 $GPGSV,3,1,12,03,67,250,,06,72,219,,08,07,331,24,14,06,151,25*7D $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,074,46,19,47,295,17*74 $GPGSV,3,3,12,21,33,087,47,22,67,157,27,24,02,084,41,26,18,130,33*70 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.26,"tdop":1.00,"hdop":4.99,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":0,"used":false},{"PRN":8,"el":7,"az":331,"ss":24,"used":false},{"PRN":14,"el":6,"az":151,"ss":25,"used":false},{"PRN":15,"el":14,"az":32,"ss":44,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":46,"used":true},{"PRN":19,"el":47,"az":295,"ss":17,"used":false},{"PRN":21,"el":33,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":157,"ss":27,"used":false},{"PRN":24,"el":2,"az":84,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":33,"used":true}]} $GPGLL,5355.16719,N,02730.02813,E,085054.00,A,A*65 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:54.000Z","ept":0.005,"lat":53.919453167,"lon":27.500468833,"alt":243.900,"epx":170.223,"epy":95.066,"epv":51.980,"track":0.0000,"speed":0.023,"climb":0.000,"eps":340.45} $GPRMC,085055.00,A,5355.16726,N,02730.02707,E,0.025,,050210,,,A*7A $GPVTG,,T,,M,0.025,N,0.047,K,A*27 $GPGGA,085055.00,5355.16726,N,02730.02707,E,1,04,4.99,243.9,M,25.0,M,,*5C $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.26*03 $GPGSV,3,1,12,03,67,250,,06,72,219,25,08,07,331,23,14,06,151,24*7C $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,074,46,19,47,295,17*73 $GPGSV,3,3,12,21,33,087,48,22,67,157,26,24,02,084,41,26,18,130,33*7E {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.26,"tdop":1.00,"hdop":4.99,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":25,"used":false},{"PRN":8,"el":7,"az":331,"ss":23,"used":false},{"PRN":14,"el":6,"az":151,"ss":24,"used":false},{"PRN":15,"el":14,"az":32,"ss":43,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":74,"ss":46,"used":true},{"PRN":19,"el":47,"az":295,"ss":17,"used":false},{"PRN":21,"el":33,"az":87,"ss":48,"used":true},{"PRN":22,"el":67,"az":157,"ss":26,"used":false},{"PRN":24,"el":2,"az":84,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":33,"used":true}]} $GPGLL,5355.16726,N,02730.02707,E,085055.00,A,A*62 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:55.000Z","ept":0.005,"lat":53.919454333,"lon":27.500451167,"alt":243.900,"epx":170.223,"epy":95.066,"epv":51.980,"track":0.0000,"speed":0.013,"climb":0.000,"eps":340.45} $GPRMC,085056.00,A,5355.16743,N,02730.02569,E,0.104,,050210,,,A*72 $GPVTG,,T,,M,0.104,N,0.192,K,A*2C $GPGGA,085056.00,5355.16743,N,02730.02569,E,1,04,4.99,244.1,M,25.0,M,,*59 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,,06,72,219,24,08,07,331,23,14,06,151,24*7D $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,46,19,47,295,16*75 $GPGSV,3,3,12,21,33,087,48,22,67,157,25,24,02,084,41,26,18,130,33*7D {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.99,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":24,"used":false},{"PRN":8,"el":7,"az":331,"ss":23,"used":false},{"PRN":14,"el":6,"az":151,"ss":24,"used":false},{"PRN":15,"el":14,"az":32,"ss":43,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":47,"az":295,"ss":16,"used":false},{"PRN":21,"el":33,"az":87,"ss":48,"used":true},{"PRN":22,"el":67,"az":157,"ss":25,"used":false},{"PRN":24,"el":2,"az":84,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":33,"used":true}]} $GPGLL,5355.16743,N,02730.02569,E,085056.00,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:56.000Z","ept":0.005,"lat":53.919457167,"lon":27.500428167,"alt":244.100,"epx":170.223,"epy":95.066,"epv":51.980,"track":0.0000,"speed":0.054,"climb":0.000,"eps":340.45} $GPRMC,085057.00,A,5355.16755,N,02730.02418,E,0.054,,050210,,,A*77 $GPVTG,,T,,M,0.054,N,0.100,K,A*23 $GPGGA,085057.00,5355.16755,N,02730.02418,E,1,04,4.99,244.3,M,25.0,M,,*5A $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,,06,72,219,24,08,07,331,25,14,06,151,25*7A $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,47,19,48,295,15*7F $GPGSV,3,3,12,21,33,087,50,22,67,157,24,24,02,084,42,26,18,130,35*70 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.99,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":24,"used":false},{"PRN":8,"el":7,"az":331,"ss":25,"used":false},{"PRN":14,"el":6,"az":151,"ss":25,"used":false},{"PRN":15,"el":14,"az":32,"ss":44,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":47,"used":true},{"PRN":19,"el":48,"az":295,"ss":15,"used":false},{"PRN":21,"el":33,"az":87,"ss":50,"used":true},{"PRN":22,"el":67,"az":157,"ss":24,"used":false},{"PRN":24,"el":2,"az":84,"ss":42,"used":false},{"PRN":26,"el":18,"az":130,"ss":35,"used":true}]} $GPGLL,5355.16755,N,02730.02418,E,085057.00,A,A*69 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:57.000Z","ept":0.005,"lat":53.919459167,"lon":27.500403000,"alt":244.300,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.028,"climb":0.000,"eps":340.45} $GPRMC,085058.00,A,5355.16773,N,02730.02276,E,0.083,,050210,,,A*78 $GPVTG,,T,,M,0.083,N,0.154,K,A*28 $GPGGA,085058.00,5355.16773,N,02730.02276,E,1,04,4.99,244.3,M,25.0,M,,*5F $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,,06,72,219,22,08,07,331,26,14,06,151,24*7E $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,46,19,48,295,13*7F $GPGSV,3,3,12,21,33,087,49,22,67,157,,24,02,084,42,26,18,130,34*7F {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.99,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":22,"used":false},{"PRN":8,"el":7,"az":331,"ss":26,"used":false},{"PRN":14,"el":6,"az":151,"ss":24,"used":false},{"PRN":15,"el":14,"az":32,"ss":43,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":13,"used":false},{"PRN":21,"el":33,"az":87,"ss":49,"used":true},{"PRN":22,"el":67,"az":157,"ss":0,"used":false},{"PRN":24,"el":2,"az":84,"ss":42,"used":false},{"PRN":26,"el":18,"az":130,"ss":34,"used":true}]} $GPGLL,5355.16773,N,02730.02276,E,085058.00,A,A*6C {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:58.000Z","ept":0.005,"lat":53.919462167,"lon":27.500379333,"alt":244.300,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.043,"climb":0.000,"eps":340.45} $GPRMC,085059.00,A,5355.16784,N,02730.02176,E,0.038,,050210,,,A*72 $GPVTG,,T,,M,0.038,N,0.071,K,A*2E $GPGGA,085059.00,5355.16784,N,02730.02176,E,1,04,4.99,244.2,M,25.0,M,,*54 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,,06,72,219,19,08,07,331,26,14,06,151,24*76 $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,46,19,48,295,12*7E $GPGSV,3,3,12,21,32,087,49,22,67,157,23,24,02,084,42,26,18,130,34*7F {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.99,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":19,"used":false},{"PRN":8,"el":7,"az":331,"ss":26,"used":false},{"PRN":14,"el":6,"az":151,"ss":24,"used":false},{"PRN":15,"el":14,"az":32,"ss":43,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":12,"used":false},{"PRN":21,"el":32,"az":87,"ss":49,"used":true},{"PRN":22,"el":67,"az":157,"ss":23,"used":false},{"PRN":24,"el":2,"az":84,"ss":42,"used":false},{"PRN":26,"el":18,"az":130,"ss":34,"used":true}]} $GPGLL,5355.16784,N,02730.02176,E,085059.00,A,A*66 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:50:59.000Z","ept":0.005,"lat":53.919464000,"lon":27.500362667,"alt":244.200,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.020,"climb":0.000,"eps":340.45} $GPRMC,085100.00,A,5355.16789,N,02730.02093,E,0.059,,050210,,,A*7F $GPVTG,,T,,M,0.059,N,0.109,K,A*27 $GPGGA,085100.00,5355.16789,N,02730.02093,E,1,04,4.99,244.3,M,25.0,M,,*5F $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,27,06,72,219,17,08,07,331,27,14,06,151,23*7B $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,46,19,48,295,14*7F $GPGSV,3,3,12,21,32,087,49,22,67,156,23,24,02,084,41,26,18,130,34*7D {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.99,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":27,"used":false},{"PRN":6,"el":72,"az":219,"ss":17,"used":false},{"PRN":8,"el":7,"az":331,"ss":27,"used":false},{"PRN":14,"el":6,"az":151,"ss":23,"used":false},{"PRN":15,"el":14,"az":32,"ss":44,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":14,"used":false},{"PRN":21,"el":32,"az":87,"ss":49,"used":true},{"PRN":22,"el":67,"az":156,"ss":23,"used":false},{"PRN":24,"el":2,"az":84,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":34,"used":true}]} $GPGLL,5355.16789,N,02730.02093,E,085100.00,A,A*6C {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:00.000Z","ept":0.005,"lat":53.919464833,"lon":27.500348833,"alt":244.300,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.030,"climb":0.000,"eps":340.45} $GPRMC,085101.00,A,5355.16793,N,02730.02037,E,0.033,,050210,,,A*77 $GPVTG,,T,,M,0.033,N,0.062,K,A*27 $GPGGA,085101.00,5355.16793,N,02730.02037,E,1,04,4.99,244.4,M,25.0,M,,*5C $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,25,06,72,219,15,08,07,331,27,14,06,151,22*7A $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,46,19,48,295,15*7E $GPGSV,3,3,12,21,32,087,49,22,67,156,24,24,02,084,41,26,18,130,34*7A {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.99,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":25,"used":false},{"PRN":6,"el":72,"az":219,"ss":15,"used":false},{"PRN":8,"el":7,"az":331,"ss":27,"used":false},{"PRN":14,"el":6,"az":151,"ss":22,"used":false},{"PRN":15,"el":14,"az":32,"ss":44,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":15,"used":false},{"PRN":21,"el":32,"az":87,"ss":49,"used":true},{"PRN":22,"el":67,"az":156,"ss":24,"used":false},{"PRN":24,"el":2,"az":84,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":34,"used":true}]} $GPGLL,5355.16793,N,02730.02037,E,085101.00,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:01.000Z","ept":0.005,"lat":53.919465500,"lon":27.500339500,"alt":244.400,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.017,"climb":0.000,"eps":340.45} $GPRMC,085102.00,A,5355.16792,N,02730.01981,E,0.245,317.09,050210,,,A*63 $GPVTG,317.09,T,,M,0.245,N,0.453,K,A*30 $GPGGA,085102.00,5355.16792,N,02730.01981,E,1,04,4.99,244.5,M,25.0,M,,*58 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,25,06,72,219,17,08,07,331,28,14,06,151,20*75 $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,46,19,48,295,15*7E $GPGSV,3,3,12,21,32,087,49,22,67,156,25,24,01,085,41,26,18,130,33*7E {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.99,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":25,"used":false},{"PRN":6,"el":72,"az":219,"ss":17,"used":false},{"PRN":8,"el":7,"az":331,"ss":28,"used":false},{"PRN":14,"el":6,"az":151,"ss":20,"used":false},{"PRN":15,"el":14,"az":32,"ss":44,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":15,"used":false},{"PRN":21,"el":32,"az":87,"ss":49,"used":true},{"PRN":22,"el":67,"az":156,"ss":25,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":33,"used":true}]} $GPGLL,5355.16792,N,02730.01981,E,085102.00,A,A*6D {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:02.000Z","ept":0.005,"lat":53.919465333,"lon":27.500330167,"alt":244.500,"epx":170.223,"epy":95.066,"epv":52.210,"track":317.0900,"speed":0.126,"climb":0.000,"eps":340.45} $GPRMC,085103.00,A,5355.16789,N,02730.01903,E,0.466,312.02,050210,,,A*6B $GPVTG,312.02,T,,M,0.466,N,0.863,K,A*36 $GPGGA,085103.00,5355.16789,N,02730.01903,E,1,04,4.99,244.5,M,25.0,M,,*59 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,24,06,72,219,20,08,07,331,28,14,06,151,*72 $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,46,19,48,295,15*7E $GPGSV,3,3,12,21,32,087,49,22,67,156,25,24,01,085,41,26,18,130,33*7E {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.99,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":24,"used":false},{"PRN":6,"el":72,"az":219,"ss":20,"used":false},{"PRN":8,"el":7,"az":331,"ss":28,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":44,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":15,"used":false},{"PRN":21,"el":32,"az":87,"ss":49,"used":true},{"PRN":22,"el":67,"az":156,"ss":25,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":33,"used":true}]} $GPGLL,5355.16789,N,02730.01903,E,085103.00,A,A*6C {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:03.000Z","ept":0.005,"lat":53.919464833,"lon":27.500317167,"alt":244.500,"epx":170.223,"epy":95.066,"epv":52.210,"track":312.0200,"speed":0.240,"climb":0.000,"eps":340.45} $GPRMC,085104.00,A,5355.16784,N,02730.01827,E,0.519,307.35,050210,,,A*6F $GPVTG,307.35,T,,M,0.519,N,0.962,K,A*3F $GPGGA,085104.00,5355.16784,N,02730.01827,E,1,04,4.99,244.3,M,25.0,M,,*52 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,24,06,72,219,21,08,07,331,28,14,06,151,*73 $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,46,19,48,295,14*7F $GPGSV,3,3,12,21,32,087,49,22,67,156,25,24,01,085,41,26,18,130,33*7E {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.99,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":24,"used":false},{"PRN":6,"el":72,"az":219,"ss":21,"used":false},{"PRN":8,"el":7,"az":331,"ss":28,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":44,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":14,"used":false},{"PRN":21,"el":32,"az":87,"ss":49,"used":true},{"PRN":22,"el":67,"az":156,"ss":25,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":33,"used":true}]} $GPGLL,5355.16784,N,02730.01827,E,085104.00,A,A*61 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:04.000Z","ept":0.005,"lat":53.919464000,"lon":27.500304500,"alt":244.300,"epx":170.223,"epy":95.066,"epv":52.210,"track":307.3500,"speed":0.267,"climb":0.000,"eps":340.45} $GPRMC,085105.00,A,5355.16779,N,02730.01767,E,0.466,302.81,050210,,,A*64 $GPVTG,302.81,T,,M,0.466,N,0.863,K,A*3C $GPGGA,085105.00,5355.16779,N,02730.01767,E,1,04,4.99,244.1,M,25.0,M,,*58 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,24,06,72,219,21,08,07,331,28,14,06,151,*73 $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,46,19,48,295,12*7E $GPGSV,3,3,12,21,32,087,49,22,67,156,24,24,01,085,42,26,18,130,33*7C {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.99,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":24,"used":false},{"PRN":6,"el":72,"az":219,"ss":21,"used":false},{"PRN":8,"el":7,"az":331,"ss":28,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":43,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":12,"used":false},{"PRN":21,"el":32,"az":87,"ss":49,"used":true},{"PRN":22,"el":67,"az":156,"ss":24,"used":false},{"PRN":24,"el":1,"az":85,"ss":42,"used":false},{"PRN":26,"el":18,"az":130,"ss":33,"used":true}]} $GPGLL,5355.16779,N,02730.01767,E,085105.00,A,A*69 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:05.000Z","ept":0.005,"lat":53.919463167,"lon":27.500294500,"alt":244.100,"epx":170.223,"epy":95.066,"epv":52.210,"track":302.8100,"speed":0.240,"climb":0.000,"eps":340.45} $GPRMC,085106.00,A,5355.16774,N,02730.01722,E,0.239,298.38,050210,,,A*67 $GPVTG,298.38,T,,M,0.239,N,0.443,K,A*3E $GPGGA,085106.00,5355.16774,N,02730.01722,E,1,04,4.99,243.8,M,25.0,M,,*59 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,24,06,72,219,20,08,07,331,27,14,06,151,*7D $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,46,19,48,295,10*7C $GPGSV,3,3,12,21,32,087,48,22,67,156,,24,01,085,42,26,18,130,34*7C {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.99,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":24,"used":false},{"PRN":6,"el":72,"az":219,"ss":20,"used":false},{"PRN":8,"el":7,"az":331,"ss":27,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":43,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":10,"used":false},{"PRN":21,"el":32,"az":87,"ss":48,"used":true},{"PRN":22,"el":67,"az":156,"ss":0,"used":false},{"PRN":24,"el":1,"az":85,"ss":42,"used":false},{"PRN":26,"el":18,"az":130,"ss":34,"used":true}]} $GPGLL,5355.16774,N,02730.01722,E,085106.00,A,A*66 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:06.000Z","ept":0.005,"lat":53.919462333,"lon":27.500287000,"alt":243.800,"epx":170.223,"epy":95.066,"epv":52.210,"track":298.3800,"speed":0.123,"climb":0.000,"eps":340.45} $GPRMC,085107.00,A,5355.16776,N,02730.01731,E,0.085,,050210,,,A*75 $GPVTG,,T,,M,0.085,N,0.157,K,A*2D $GPGGA,085107.00,5355.16776,N,02730.01731,E,1,04,4.99,243.6,M,25.0,M,,*56 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,24,06,72,219,17,08,07,331,27,14,06,151,*79 $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,46,19,48,295,10*7C $GPGSV,3,3,12,21,32,087,48,22,67,156,,24,01,085,42,26,18,130,35*7D {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.99,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":24,"used":false},{"PRN":6,"el":72,"az":219,"ss":17,"used":false},{"PRN":8,"el":7,"az":331,"ss":27,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":43,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":10,"used":false},{"PRN":21,"el":32,"az":87,"ss":48,"used":true},{"PRN":22,"el":67,"az":156,"ss":0,"used":false},{"PRN":24,"el":1,"az":85,"ss":42,"used":false},{"PRN":26,"el":18,"az":130,"ss":35,"used":true}]} $GPGLL,5355.16776,N,02730.01731,E,085107.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:07.000Z","ept":0.005,"lat":53.919462667,"lon":27.500288500,"alt":243.600,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.044,"climb":0.000,"eps":340.45} $GPRMC,085108.00,A,5355.16781,N,02730.01786,E,0.188,,050210,,,A*72 $GPVTG,,T,,M,0.188,N,0.349,K,A*2C $GPGGA,085108.00,5355.16781,N,02730.01786,E,1,04,4.99,243.4,M,25.0,M,,*5F $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,23,06,72,219,15,08,07,331,26,14,06,151,*7D $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,46,19,48,295,13*7F $GPGSV,3,3,12,21,32,087,47,22,67,156,,24,01,085,42,26,18,130,36*71 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.99,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":23,"used":false},{"PRN":6,"el":72,"az":219,"ss":15,"used":false},{"PRN":8,"el":7,"az":331,"ss":26,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":43,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":13,"used":false},{"PRN":21,"el":32,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":156,"ss":0,"used":false},{"PRN":24,"el":1,"az":85,"ss":42,"used":false},{"PRN":26,"el":18,"az":130,"ss":36,"used":true}]} $GPGLL,5355.16781,N,02730.01786,E,085108.00,A,A*6C {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:08.000Z","ept":0.005,"lat":53.919463500,"lon":27.500297667,"alt":243.400,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.097,"climb":0.000,"eps":340.45} $GPRMC,085109.00,A,5355.16801,N,02730.01883,E,0.221,306.41,050210,,,A*60 $GPVTG,306.41,T,,M,0.221,N,0.409,K,A*31 $GPGGA,085109.00,5355.16801,N,02730.01883,E,1,04,4.99,243.5,M,25.0,M,,*52 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,,06,72,219,11,08,07,331,25,14,06,151,*7B $GPGSV,3,2,12,15,14,032,41,16,14,204,,18,55,073,45,19,48,295,16*7B $GPGSV,3,3,12,21,32,087,45,22,67,156,,24,01,085,41,26,18,130,36*70 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.99,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":11,"used":false},{"PRN":8,"el":7,"az":331,"ss":25,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":41,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":16,"used":false},{"PRN":21,"el":32,"az":87,"ss":45,"used":true},{"PRN":22,"el":67,"az":156,"ss":0,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":36,"used":true}]} $GPGLL,5355.16801,N,02730.01883,E,085109.00,A,A*60 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:09.000Z","ept":0.005,"lat":53.919466833,"lon":27.500313833,"alt":243.500,"epx":170.223,"epy":95.066,"epv":52.210,"track":306.4100,"speed":0.114,"climb":0.000,"eps":340.45} $GPRMC,085110.00,A,5355.16838,N,02730.02013,E,0.088,,050210,,,A*7F $GPVTG,,T,,M,0.088,N,0.162,K,A*26 $GPGGA,085110.00,5355.16838,N,02730.02013,E,1,04,4.99,243.9,M,25.0,M,,*5E $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,,06,72,219,10,08,07,331,24,14,06,151,*7B $GPGSV,3,2,12,15,14,032,40,16,14,204,26,18,55,073,45,19,48,295,18*70 $GPGSV,3,3,12,21,32,087,45,22,67,156,,24,01,085,40,26,18,130,37*70 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.99,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":10,"used":false},{"PRN":8,"el":7,"az":331,"ss":24,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":40,"used":true},{"PRN":16,"el":14,"az":204,"ss":26,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":18,"used":false},{"PRN":21,"el":32,"az":87,"ss":45,"used":true},{"PRN":22,"el":67,"az":156,"ss":0,"used":false},{"PRN":24,"el":1,"az":85,"ss":40,"used":false},{"PRN":26,"el":18,"az":130,"ss":37,"used":true}]} $GPGLL,5355.16838,N,02730.02013,E,085110.00,A,A*60 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:10.000Z","ept":0.005,"lat":53.919473000,"lon":27.500335500,"alt":243.900,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.045,"climb":0.000,"eps":340.45} $GPRMC,085111.00,A,5355.16896,N,02730.02189,E,0.078,,050210,,,A*77 $GPVTG,,T,,M,0.078,N,0.145,K,A*2C $GPGGA,085111.00,5355.16896,N,02730.02189,E,1,04,4.99,244.7,M,25.0,M,,*50 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,,06,72,219,,08,07,331,23,14,06,151,*7D $GPGSV,3,2,12,15,14,032,40,16,14,204,,18,55,073,46,19,48,295,20*7C $GPGSV,3,3,12,21,32,087,46,22,67,156,,24,01,085,41,26,18,130,39*7C {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.99,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":0,"used":false},{"PRN":8,"el":7,"az":331,"ss":23,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":40,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":20,"used":false},{"PRN":21,"el":32,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":156,"ss":0,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":39,"used":true}]} $GPGLL,5355.16896,N,02730.02189,E,085111.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:11.000Z","ept":0.005,"lat":53.919482667,"lon":27.500364833,"alt":244.700,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.040,"climb":0.000,"eps":340.45} $GPRMC,085112.00,A,5355.16942,N,02730.02332,E,0.033,,050210,,,A*71 $GPVTG,,T,,M,0.033,N,0.061,K,A*24 $GPGGA,085112.00,5355.16942,N,02730.02332,E,1,04,4.99,245.4,M,25.0,M,,*5B $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.99,2.27*02 $GPGSV,3,1,12,03,67,250,27,06,72,219,,08,07,331,23,14,06,151,*78 $GPGSV,3,2,12,15,14,032,41,16,14,204,,18,55,073,46,19,48,295,22*7F $GPGSV,3,3,12,21,32,087,47,22,67,156,,24,01,085,41,26,18,130,39*7D {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.99,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":27,"used":false},{"PRN":6,"el":72,"az":219,"ss":0,"used":false},{"PRN":8,"el":7,"az":331,"ss":23,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":41,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":22,"used":false},{"PRN":21,"el":32,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":156,"ss":0,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":39,"used":true}]} $GPGLL,5355.16942,N,02730.02332,E,085112.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:12.000Z","ept":0.005,"lat":53.919490333,"lon":27.500388667,"alt":245.400,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.017,"climb":0.000,"eps":340.45} $GPRMC,085113.00,A,5355.16988,N,02730.02475,E,0.143,,050210,,,A*74 $GPVTG,,T,,M,0.143,N,0.264,K,A*25 $GPGGA,085113.00,5355.16988,N,02730.02475,E,1,04,4.98,246.1,M,25.0,M,,*5F $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.98,2.27*03 $GPGSV,3,1,12,03,67,250,27,06,72,219,,08,07,331,24,14,06,151,*7F $GPGSV,3,2,12,15,14,032,41,16,14,204,,18,55,073,45,19,48,295,24*7A $GPGSV,3,3,12,21,32,087,47,22,67,156,,24,01,085,41,26,18,130,39*7D {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.98,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":27,"used":false},{"PRN":6,"el":72,"az":219,"ss":0,"used":false},{"PRN":8,"el":7,"az":331,"ss":24,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":41,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":24,"used":false},{"PRN":21,"el":32,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":156,"ss":0,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":39,"used":true}]} $GPGLL,5355.16988,N,02730.02475,E,085113.00,A,A*6D {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:13.000Z","ept":0.005,"lat":53.919498000,"lon":27.500412500,"alt":246.100,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.074,"climb":0.000,"eps":340.45} $GPRMC,085114.00,A,5355.17026,N,02730.02579,E,0.058,,050210,,,A*79 $GPVTG,,T,,M,0.058,N,0.107,K,A*28 $GPGGA,085114.00,5355.17026,N,02730.02579,E,1,04,4.98,246.8,M,25.0,M,,*50 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.98,2.27*03 $GPGSV,3,1,12,03,67,250,27,06,72,219,,08,07,331,25,14,06,151,*7E $GPGSV,3,2,12,15,14,032,42,16,14,204,,18,55,073,45,19,48,295,24*79 $GPGSV,3,3,12,21,32,087,46,22,67,156,,24,01,085,41,26,18,130,39*7C {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.98,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":27,"used":false},{"PRN":6,"el":72,"az":219,"ss":0,"used":false},{"PRN":8,"el":7,"az":331,"ss":25,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":42,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":24,"used":false},{"PRN":21,"el":32,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":156,"ss":0,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":39,"used":true}]} $GPGLL,5355.17026,N,02730.02579,E,085114.00,A,A*6B {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:14.000Z","ept":0.005,"lat":53.919504333,"lon":27.500429833,"alt":246.800,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.030,"climb":0.000,"eps":340.45} $GPRMC,085115.00,A,5355.17060,N,02730.02660,E,0.017,,050210,,,A*7A $GPVTG,,T,,M,0.017,N,0.032,K,A*24 $GPGGA,085115.00,5355.17060,N,02730.02660,E,1,04,4.98,247.8,M,25.0,M,,*59 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.98,2.27*03 $GPGSV,3,1,12,03,67,250,27,06,72,219,24,08,07,331,26,14,06,151,*7B $GPGSV,3,2,12,15,14,032,42,16,14,204,,18,55,073,45,19,48,295,24*79 $GPGSV,3,3,12,21,32,087,46,22,67,156,,24,01,085,41,26,18,130,39*7C {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.98,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":27,"used":false},{"PRN":6,"el":72,"az":219,"ss":24,"used":false},{"PRN":8,"el":7,"az":331,"ss":26,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":42,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":24,"used":false},{"PRN":21,"el":32,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":156,"ss":0,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":39,"used":true}]} $GPGLL,5355.17060,N,02730.02660,E,085115.00,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:15.000Z","ept":0.005,"lat":53.919510000,"lon":27.500443333,"alt":247.800,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.009,"climb":0.000,"eps":340.45} $GPRMC,085116.00,A,5355.17084,N,02730.02730,E,0.040,,050210,,,A*75 $GPVTG,,T,,M,0.040,N,0.075,K,A*25 $GPGGA,085116.00,5355.17084,N,02730.02730,E,1,04,4.98,248.5,M,25.0,M,,*56 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.98,2.27*03 $GPGSV,3,1,12,03,67,250,25,06,72,219,23,08,07,331,25,14,06,151,*7D $GPGSV,3,2,12,15,14,032,42,16,14,204,,18,55,073,45,19,48,295,23*7E $GPGSV,3,3,12,21,32,087,46,22,67,156,,24,01,085,41,26,18,130,38*7D {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.98,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":25,"used":false},{"PRN":6,"el":72,"az":219,"ss":23,"used":false},{"PRN":8,"el":7,"az":331,"ss":25,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":42,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":23,"used":false},{"PRN":21,"el":32,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":156,"ss":0,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":38,"used":true}]} $GPGLL,5355.17084,N,02730.02730,E,085116.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:16.000Z","ept":0.005,"lat":53.919514000,"lon":27.500455000,"alt":248.500,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.021,"climb":0.000,"eps":340.45} $GPRMC,085117.00,A,5355.17100,N,02730.02761,E,0.057,,050210,,,A*7B $GPVTG,,T,,M,0.057,N,0.106,K,A*26 $GPGGA,085117.00,5355.17100,N,02730.02761,E,1,04,4.98,249.2,M,25.0,M,,*58 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.98,2.27*03 $GPGSV,3,1,12,03,67,250,24,06,72,219,21,08,07,331,25,14,06,151,*7E $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,45,19,48,295,22*7E $GPGSV,3,3,12,21,32,087,46,22,67,156,,24,01,085,41,26,18,130,38*7D {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.98,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":24,"used":false},{"PRN":6,"el":72,"az":219,"ss":21,"used":false},{"PRN":8,"el":7,"az":331,"ss":25,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":43,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":22,"used":false},{"PRN":21,"el":32,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":156,"ss":0,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":38,"used":true}]} $GPGLL,5355.17100,N,02730.02761,E,085117.00,A,A*66 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:17.000Z","ept":0.005,"lat":53.919516667,"lon":27.500460167,"alt":249.200,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.029,"climb":0.000,"eps":340.45} $GPRMC,085118.00,A,5355.17107,N,02730.02791,E,0.087,,050210,,,A*71 $GPVTG,,T,,M,0.087,N,0.160,K,A*2B $GPGGA,085118.00,5355.17107,N,02730.02791,E,1,04,4.98,249.6,M,25.0,M,,*5B $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.98,2.27*03 $GPGSV,3,1,12,03,67,250,23,06,72,219,18,08,07,331,25,14,06,151,*73 $GPGSV,3,2,12,15,14,032,42,16,14,204,,18,55,073,43,19,48,295,20*7B $GPGSV,3,3,12,21,32,087,44,22,67,156,,24,01,085,39,26,18,130,35*7D {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.98,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":23,"used":false},{"PRN":6,"el":72,"az":219,"ss":18,"used":false},{"PRN":8,"el":7,"az":331,"ss":25,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":42,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":43,"used":true},{"PRN":19,"el":48,"az":295,"ss":20,"used":false},{"PRN":21,"el":32,"az":87,"ss":44,"used":true},{"PRN":22,"el":67,"az":156,"ss":0,"used":false},{"PRN":24,"el":1,"az":85,"ss":39,"used":false},{"PRN":26,"el":18,"az":130,"ss":35,"used":true}]} $GPGLL,5355.17107,N,02730.02791,E,085118.00,A,A*61 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:18.000Z","ept":0.005,"lat":53.919517833,"lon":27.500465167,"alt":249.600,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.045,"climb":0.000,"eps":340.45} $GPRMC,085119.00,A,5355.17112,N,02730.02835,E,0.205,302.21,050210,,,A*61 $GPVTG,302.21,T,,M,0.205,N,0.380,K,A*33 $GPGGA,085119.00,5355.17112,N,02730.02835,E,1,04,4.98,249.8,M,25.0,M,,*51 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.98,2.27*03 $GPGSV,3,1,12,03,67,250,22,06,72,219,14,08,07,331,25,14,06,151,*7E $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,44,19,48,295,20*7D $GPGSV,3,3,12,21,32,087,45,22,67,156,,24,01,085,39,26,18,130,35*7C {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.98,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":22,"used":false},{"PRN":6,"el":72,"az":219,"ss":14,"used":false},{"PRN":8,"el":7,"az":331,"ss":25,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":43,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":44,"used":true},{"PRN":19,"el":48,"az":295,"ss":20,"used":false},{"PRN":21,"el":32,"az":87,"ss":45,"used":true},{"PRN":22,"el":67,"az":156,"ss":0,"used":false},{"PRN":24,"el":1,"az":85,"ss":39,"used":false},{"PRN":26,"el":18,"az":130,"ss":35,"used":true}]} $GPGLL,5355.17112,N,02730.02835,E,085119.00,A,A*65 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:19.000Z","ept":0.005,"lat":53.919518667,"lon":27.500472500,"alt":249.800,"epx":170.223,"epy":95.066,"epv":52.210,"track":302.2100,"speed":0.105,"climb":0.000,"eps":340.45} $GPRMC,085120.00,A,5355.17115,N,02730.02871,E,0.142,,050210,,,A*70 $GPVTG,,T,,M,0.142,N,0.263,K,A*23 $GPGGA,085120.00,5355.17115,N,02730.02871,E,1,04,4.98,250.0,M,25.0,M,,*5C $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.98,2.27*03 $GPGSV,3,1,12,03,67,250,21,06,72,219,16,08,07,331,24,14,06,151,*7E $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,44,19,48,295,20*7A $GPGSV,3,3,12,21,32,087,46,22,67,156,,24,01,085,39,26,18,130,34*7E {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.98,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":21,"used":false},{"PRN":6,"el":72,"az":219,"ss":16,"used":false},{"PRN":8,"el":7,"az":331,"ss":24,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":44,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":44,"used":true},{"PRN":19,"el":48,"az":295,"ss":20,"used":false},{"PRN":21,"el":32,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":156,"ss":0,"used":false},{"PRN":24,"el":1,"az":85,"ss":39,"used":false},{"PRN":26,"el":18,"az":130,"ss":34,"used":true}]} $GPGLL,5355.17115,N,02730.02871,E,085120.00,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:20.000Z","ept":0.005,"lat":53.919519167,"lon":27.500478500,"alt":250.000,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.073,"climb":0.000,"eps":340.45} $GPRMC,085121.00,A,5355.17114,N,02730.02897,E,0.131,,050210,,,A*7C $GPVTG,,T,,M,0.131,N,0.243,K,A*25 $GPGGA,085121.00,5355.17114,N,02730.02897,E,1,04,4.98,250.2,M,25.0,M,,*56 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.48,4.98,2.27*03 $GPGSV,3,1,12,03,67,250,23,06,72,219,20,08,07,331,25,14,06,151,*78 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,45,19,48,295,22*78 $GPGSV,3,3,12,21,32,087,47,22,67,156,,24,01,085,40,26,18,130,34*71 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.98,"gdop":14.12,"pdop":5.48,"satellites":[{"PRN":3,"el":67,"az":250,"ss":23,"used":false},{"PRN":6,"el":72,"az":219,"ss":20,"used":false},{"PRN":8,"el":7,"az":331,"ss":25,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":22,"used":false},{"PRN":21,"el":32,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":156,"ss":0,"used":false},{"PRN":24,"el":1,"az":85,"ss":40,"used":false},{"PRN":26,"el":18,"az":130,"ss":34,"used":true}]} $GPGLL,5355.17114,N,02730.02897,E,085121.00,A,A*60 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:21.000Z","ept":0.005,"lat":53.919519000,"lon":27.500482833,"alt":250.200,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.067,"climb":0.000,"eps":340.45} $GPRMC,085122.00,A,5355.17111,N,02730.02927,E,0.018,,050210,,,A*7A $GPVTG,,T,,M,0.018,N,0.034,K,A*2D $GPGGA,085122.00,5355.17111,N,02730.02927,E,1,04,4.98,250.6,M,25.0,M,,*5E $GPGSA,A,3,18,21,26,15,,,,,,,,,5.47,4.98,2.27*0C $GPGSV,3,1,12,03,67,250,24,06,72,219,21,08,07,331,24,14,06,151,*7F $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,45,19,48,295,23*79 $GPGSV,3,3,12,21,32,087,47,22,67,156,25,24,01,085,39,26,18,130,33*7F {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.98,"gdop":14.12,"pdop":5.47,"satellites":[{"PRN":3,"el":67,"az":250,"ss":24,"used":false},{"PRN":6,"el":72,"az":219,"ss":21,"used":false},{"PRN":8,"el":7,"az":331,"ss":24,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":23,"used":false},{"PRN":21,"el":32,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":156,"ss":25,"used":false},{"PRN":24,"el":1,"az":85,"ss":39,"used":false},{"PRN":26,"el":18,"az":130,"ss":33,"used":true}]} $GPGLL,5355.17111,N,02730.02927,E,085122.00,A,A*6C {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:22.000Z","ept":0.005,"lat":53.919518500,"lon":27.500487833,"alt":250.600,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.009,"climb":0.000,"eps":340.45} $GPRMC,085123.00,A,5355.17101,N,02730.02965,E,0.039,,050210,,,A*7F $GPVTG,,T,,M,0.039,N,0.073,K,A*2D $GPGGA,085123.00,5355.17101,N,02730.02965,E,1,04,4.98,250.9,M,25.0,M,,*57 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.47,4.98,2.27*0C $GPGSV,3,1,12,03,67,250,25,06,72,219,21,08,07,331,24,14,06,151,*7E $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,24*7D $GPGSV,3,3,12,21,32,087,47,22,67,156,26,24,01,085,40,26,18,130,32*73 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.98,"gdop":14.12,"pdop":5.47,"satellites":[{"PRN":3,"el":67,"az":250,"ss":25,"used":false},{"PRN":6,"el":72,"az":219,"ss":21,"used":false},{"PRN":8,"el":7,"az":331,"ss":24,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":24,"used":false},{"PRN":21,"el":32,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":156,"ss":26,"used":false},{"PRN":24,"el":1,"az":85,"ss":40,"used":false},{"PRN":26,"el":18,"az":130,"ss":32,"used":true}]} $GPGLL,5355.17101,N,02730.02965,E,085123.00,A,A*6A {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:23.000Z","ept":0.005,"lat":53.919516833,"lon":27.500494167,"alt":250.900,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.020,"climb":0.000,"eps":340.45} $GPRMC,085124.00,A,5355.17091,N,02730.03002,E,0.131,,050210,,,A*70 $GPVTG,,T,,M,0.131,N,0.242,K,A*24 $GPGGA,085124.00,5355.17091,N,02730.03002,E,1,04,4.98,251.1,M,25.0,M,,*58 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.47,4.98,2.27*0C $GPGSV,3,1,12,03,67,250,26,06,72,219,20,08,07,331,25,14,06,151,*7D $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,24*7D $GPGSV,3,3,12,21,32,087,47,22,67,156,28,24,01,085,40,26,18,130,31*7E {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.98,"gdop":14.12,"pdop":5.47,"satellites":[{"PRN":3,"el":67,"az":250,"ss":26,"used":false},{"PRN":6,"el":72,"az":219,"ss":20,"used":false},{"PRN":8,"el":7,"az":331,"ss":25,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":24,"used":false},{"PRN":21,"el":32,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":156,"ss":28,"used":false},{"PRN":24,"el":1,"az":85,"ss":40,"used":false},{"PRN":26,"el":18,"az":130,"ss":31,"used":true}]} $GPGLL,5355.17091,N,02730.03002,E,085124.00,A,A*6C {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:24.000Z","ept":0.005,"lat":53.919515167,"lon":27.500500333,"alt":251.100,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.067,"climb":0.000,"eps":340.45} $GPRMC,085125.00,A,5355.17079,N,02730.03028,E,0.136,,050210,,,A*78 $GPVTG,,T,,M,0.136,N,0.252,K,A*22 $GPGGA,085125.00,5355.17079,N,02730.03028,E,1,04,4.98,251.3,M,25.0,M,,*55 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.47,4.98,2.27*0C $GPGSV,3,1,12,03,67,250,26,06,72,219,19,08,07,331,26,14,06,151,*74 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,25*7C $GPGSV,3,3,12,21,32,087,47,22,67,156,29,24,01,085,41,26,18,130,30*7F {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.27,"tdop":1.00,"hdop":4.98,"gdop":14.12,"pdop":5.47,"satellites":[{"PRN":3,"el":67,"az":250,"ss":26,"used":false},{"PRN":6,"el":72,"az":219,"ss":19,"used":false},{"PRN":8,"el":7,"az":331,"ss":26,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":25,"used":false},{"PRN":21,"el":32,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":156,"ss":29,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":30,"used":true}]} $GPGLL,5355.17079,N,02730.03028,E,085125.00,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:25.000Z","ept":0.005,"lat":53.919513167,"lon":27.500504667,"alt":251.300,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.070,"climb":0.000,"eps":340.45} $GPRMC,085126.00,A,5355.17068,N,02730.03037,E,0.132,,050210,,,A*71 $GPVTG,,T,,M,0.132,N,0.245,K,A*20 $GPGGA,085126.00,5355.17068,N,02730.03037,E,1,04,4.98,251.3,M,25.0,M,,*58 $GPGSA,A,3,18,21,26,15,,,,,,,,,5.47,4.98,2.28*03 $GPGSV,3,1,12,03,67,250,27,06,72,219,18,08,07,331,26,14,06,151,*74 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,25*7C $GPGSV,3,3,12,21,32,087,47,22,67,156,29,24,01,085,41,26,18,130,29*77 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.28,"tdop":1.00,"hdop":4.98,"gdop":14.12,"pdop":5.47,"satellites":[{"PRN":3,"el":67,"az":250,"ss":27,"used":false},{"PRN":6,"el":72,"az":219,"ss":18,"used":false},{"PRN":8,"el":7,"az":331,"ss":26,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":25,"used":false},{"PRN":21,"el":32,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":156,"ss":29,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":29,"used":true}]} $GPGLL,5355.17068,N,02730.03037,E,085126.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:26.000Z","ept":0.005,"lat":53.919511333,"lon":27.500506167,"alt":251.300,"epx":170.223,"epy":95.066,"epv":52.210,"track":0.0000,"speed":0.068,"climb":0.000,"eps":340.45} $GPRMC,085127.00,A,5355.17058,N,02730.03017,E,0.288,297.97,050210,,,A*6F $GPVTG,297.97,T,,M,0.288,N,0.533,K,A*38 $GPGGA,085127.00,5355.17058,N,02730.03017,E,1,04,4.98,251.1,M,25.0,M,,*5A $GPGSA,A,3,18,21,26,15,,,,,,,,,5.47,4.98,2.28*03 $GPGSV,3,1,12,03,67,250,26,06,72,219,17,08,07,331,27,14,06,151,*7B $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,46,19,48,295,25*7D $GPGSV,3,3,12,21,32,087,48,22,67,156,29,24,01,085,41,26,18,130,27*76 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.28,"tdop":1.00,"hdop":4.98,"gdop":14.12,"pdop":5.47,"satellites":[{"PRN":3,"el":67,"az":250,"ss":26,"used":false},{"PRN":6,"el":72,"az":219,"ss":17,"used":false},{"PRN":8,"el":7,"az":331,"ss":27,"used":false},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":44,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":25,"used":false},{"PRN":21,"el":32,"az":87,"ss":48,"used":true},{"PRN":22,"el":67,"az":156,"ss":29,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":27,"used":true}]} $GPGLL,5355.17058,N,02730.03017,E,085127.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:27.000Z","ept":0.005,"lat":53.919509667,"lon":27.500502833,"alt":251.100,"epx":170.223,"epy":95.066,"epv":52.440,"track":297.9700,"speed":0.148,"climb":0.000,"eps":340.45} $GPRMC,085128.00,A,5355.17046,N,02730.02966,E,0.498,294.00,050210,,,A*6B $GPVTG,294.00,T,,M,0.498,N,0.922,K,A*3E $GPGGA,085128.00,5355.17046,N,02730.02966,E,1,05,1.79,250.8,M,25.0,M,,*57 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.22*01 $GPGSV,3,1,12,03,67,250,25,06,72,219,15,08,07,330,27,14,06,151,*7B $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,45,19,48,295,25*7E $GPGSV,3,3,12,21,32,087,48,22,67,156,29,24,01,085,41,26,18,130,26*77 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.22,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":25,"used":false},{"PRN":6,"el":72,"az":219,"ss":15,"used":false},{"PRN":8,"el":7,"az":330,"ss":27,"used":true},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":44,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":25,"used":false},{"PRN":21,"el":32,"az":87,"ss":48,"used":true},{"PRN":22,"el":67,"az":156,"ss":29,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":26,"used":true}]} $GPGLL,5355.17046,N,02730.02966,E,085128.00,A,A*60 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:28.000Z","ept":0.005,"lat":53.919507667,"lon":27.500494333,"alt":250.800,"epx":170.223,"epy":95.066,"epv":52.440,"track":294.0000,"speed":0.256,"climb":0.000,"eps":340.45} $GPRMC,085129.00,A,5355.17034,N,02730.02913,E,0.588,290.28,050210,,,A*63 $GPVTG,290.28,T,,M,0.588,N,1.090,K,A*31 $GPGGA,085129.00,5355.17034,N,02730.02913,E,1,05,1.79,250.6,M,25.0,M,,*5F $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.22*01 $GPGSV,3,1,12,03,67,250,24,06,72,219,12,08,07,330,28,14,06,151,*72 $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,46,19,48,295,25*7D $GPGSV,3,3,12,21,32,087,49,22,67,156,28,24,01,085,41,26,18,130,28*79 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.22,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":24,"used":false},{"PRN":6,"el":72,"az":219,"ss":12,"used":false},{"PRN":8,"el":7,"az":330,"ss":28,"used":true},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":44,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":25,"used":false},{"PRN":21,"el":32,"az":87,"ss":49,"used":true},{"PRN":22,"el":67,"az":156,"ss":28,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":28,"used":true}]} $GPGLL,5355.17034,N,02730.02913,E,085129.00,A,A*66 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:29.000Z","ept":0.005,"lat":53.919505667,"lon":27.500485500,"alt":250.600,"epx":170.223,"epy":95.066,"epv":51.060,"track":290.2800,"speed":0.302,"climb":0.000,"eps":340.45} $GPRMC,085130.00,A,5355.17020,N,02730.02862,E,0.658,286.77,050210,,,A*6A $GPVTG,286.77,T,,M,0.658,N,1.219,K,A*31 $GPGGA,085130.00,5355.17020,N,02730.02862,E,1,05,1.79,250.3,M,25.0,M,,*50 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.22*01 $GPGSV,3,1,12,03,67,250,24,06,72,219,13,08,07,330,28,14,06,151,*73 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,45,19,48,295,25*7F $GPGSV,3,3,12,21,32,087,49,22,67,156,28,24,01,085,40,26,18,130,29*79 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.22,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":24,"used":false},{"PRN":6,"el":72,"az":219,"ss":13,"used":false},{"PRN":8,"el":7,"az":330,"ss":28,"used":true},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":25,"used":false},{"PRN":21,"el":32,"az":87,"ss":49,"used":true},{"PRN":22,"el":67,"az":156,"ss":28,"used":false},{"PRN":24,"el":1,"az":85,"ss":40,"used":false},{"PRN":26,"el":18,"az":130,"ss":29,"used":true}]} $GPGLL,5355.17020,N,02730.02862,E,085130.00,A,A*6C {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:30.000Z","ept":0.005,"lat":53.919503333,"lon":27.500477000,"alt":250.300,"epx":170.223,"epy":95.066,"epv":51.060,"track":286.7700,"speed":0.339,"climb":0.000,"eps":340.45} $GPRMC,085131.00,A,5355.17009,N,02730.02821,E,0.658,283.54,050210,,,A*63 $GPVTG,283.54,T,,M,0.658,N,1.219,K,A*35 $GPGGA,085131.00,5355.17009,N,02730.02821,E,1,05,1.79,250.1,M,25.0,M,,*5F $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,26,06,72,219,17,08,07,330,27,14,06,151,*7A $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,25*7C $GPGSV,3,3,12,21,32,087,49,22,67,156,27,24,01,085,41,26,18,130,30*7F {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":26,"used":false},{"PRN":6,"el":72,"az":219,"ss":17,"used":false},{"PRN":8,"el":7,"az":330,"ss":27,"used":true},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":25,"used":false},{"PRN":21,"el":32,"az":87,"ss":49,"used":true},{"PRN":22,"el":67,"az":156,"ss":27,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":30,"used":true}]} $GPGLL,5355.17009,N,02730.02821,E,085131.00,A,A*61 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:31.000Z","ept":0.005,"lat":53.919501500,"lon":27.500470167,"alt":250.100,"epx":170.223,"epy":95.066,"epv":51.060,"track":283.5400,"speed":0.339,"climb":0.000,"eps":340.45} $GPRMC,085132.00,A,5355.16991,N,02730.02767,E,0.997,280.53,050210,,,A*6C $GPVTG,280.53,T,,M,0.997,N,1.848,K,A*33 $GPGGA,085132.00,5355.16991,N,02730.02767,E,1,05,1.79,249.8,M,25.0,M,,*59 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,27,06,72,219,20,08,07,330,26,14,06,151,*7E $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,24*7D $GPGSV,3,3,12,21,32,087,49,22,67,156,27,24,01,085,41,26,18,130,35*7A {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":27,"used":false},{"PRN":6,"el":72,"az":219,"ss":20,"used":false},{"PRN":8,"el":7,"az":330,"ss":26,"used":true},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":24,"used":false},{"PRN":21,"el":32,"az":87,"ss":49,"used":true},{"PRN":22,"el":67,"az":156,"ss":27,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":35,"used":true}]} $GPGLL,5355.16991,N,02730.02767,E,085132.00,A,A*66 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:32.000Z","ept":0.005,"lat":53.919498500,"lon":27.500461167,"alt":249.800,"epx":170.223,"epy":95.066,"epv":51.290,"track":280.5300,"speed":0.513,"climb":0.000,"eps":340.45} $GPRMC,085133.00,A,5355.16972,N,02730.02710,E,1.137,277.73,050210,,,A*69 $GPVTG,277.73,T,,M,1.137,N,2.107,K,A*3B $GPGGA,085133.00,5355.16972,N,02730.02710,E,1,05,1.79,249.6,M,25.0,M,,*5B $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,27,06,72,219,19,08,07,330,25,14,06,151,*77 $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,45,19,48,295,23*78 $GPGSV,3,3,12,21,32,087,48,22,67,156,26,24,01,085,39,26,18,130,34*74 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":27,"used":false},{"PRN":6,"el":72,"az":219,"ss":19,"used":false},{"PRN":8,"el":7,"az":330,"ss":25,"used":true},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":44,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":23,"used":false},{"PRN":21,"el":32,"az":87,"ss":48,"used":true},{"PRN":22,"el":67,"az":156,"ss":26,"used":false},{"PRN":24,"el":1,"az":85,"ss":39,"used":false},{"PRN":26,"el":18,"az":130,"ss":34,"used":true}]} $GPGLL,5355.16972,N,02730.02710,E,085133.00,A,A*6A {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:33.000Z","ept":0.005,"lat":53.919495333,"lon":27.500451667,"alt":249.600,"epx":170.223,"epy":95.066,"epv":51.290,"track":277.7300,"speed":0.585,"climb":0.000,"eps":340.45} $GPRMC,085134.00,A,5355.16953,N,02730.02655,E,1.016,275.06,050210,,,A*6F $GPVTG,275.06,T,,M,1.016,N,1.882,K,A*3E $GPGGA,085134.00,5355.16953,N,02730.02655,E,1,05,1.79,249.3,M,25.0,M,,*5A $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,26,06,72,219,16,08,07,330,23,14,06,151,*7F $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,21*78 $GPGSV,3,3,12,21,32,087,49,22,67,156,26,24,01,085,41,26,18,130,35*7B {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":26,"used":false},{"PRN":6,"el":72,"az":219,"ss":16,"used":false},{"PRN":8,"el":7,"az":330,"ss":23,"used":true},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":21,"used":false},{"PRN":21,"el":32,"az":87,"ss":49,"used":true},{"PRN":22,"el":67,"az":156,"ss":26,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":35,"used":true}]} $GPGLL,5355.16953,N,02730.02655,E,085134.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:34.000Z","ept":0.005,"lat":53.919492167,"lon":27.500442500,"alt":249.300,"epx":170.223,"epy":95.066,"epv":51.290,"track":275.0600,"speed":0.523,"climb":0.000,"eps":340.45} $GPRMC,085135.00,A,5355.16935,N,02730.02610,E,0.860,272.53,050210,,,A*60 $GPVTG,272.53,T,,M,0.860,N,1.594,K,A*3B $GPGGA,085135.00,5355.16935,N,02730.02610,E,1,05,1.79,249.1,M,25.0,M,,*58 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,23,06,72,219,15,08,07,330,22,14,06,151,*78 $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,45,19,48,295,19*76 $GPGSV,3,3,12,21,32,087,48,22,67,156,26,24,01,085,41,26,18,130,35*7A {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":23,"used":false},{"PRN":6,"el":72,"az":219,"ss":15,"used":false},{"PRN":8,"el":7,"az":330,"ss":22,"used":true},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":43,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":19,"used":false},{"PRN":21,"el":32,"az":87,"ss":48,"used":true},{"PRN":22,"el":67,"az":156,"ss":26,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":35,"used":true}]} $GPGLL,5355.16935,N,02730.02610,E,085135.00,A,A*6E {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:35.000Z","ept":0.005,"lat":53.919489167,"lon":27.500435000,"alt":249.100,"epx":170.223,"epy":95.066,"epv":51.290,"track":272.5300,"speed":0.442,"climb":0.000,"eps":340.45} $GPRMC,085136.00,A,5355.16958,N,02730.02675,E,0.386,270.33,050210,,,A*6C $GPVTG,270.33,T,,M,0.386,N,0.715,K,A*36 $GPGGA,085136.00,5355.16958,N,02730.02675,E,1,05,1.79,249.7,M,25.0,M,,*55 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,,06,72,219,17,08,07,330,21,14,06,151,*78 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,18*72 $GPGSV,3,3,12,21,32,087,50,22,67,156,27,24,01,085,42,26,18,130,36*72 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":17,"used":false},{"PRN":8,"el":7,"az":330,"ss":21,"used":true},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":18,"used":false},{"PRN":21,"el":32,"az":87,"ss":50,"used":true},{"PRN":22,"el":67,"az":156,"ss":27,"used":false},{"PRN":24,"el":1,"az":85,"ss":42,"used":false},{"PRN":26,"el":18,"az":130,"ss":36,"used":true}]} $GPGLL,5355.16958,N,02730.02675,E,085136.00,A,A*65 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:36.000Z","ept":0.005,"lat":53.919493000,"lon":27.500445833,"alt":249.700,"epx":170.223,"epy":95.066,"epv":51.290,"track":270.3300,"speed":0.199,"climb":0.000,"eps":340.45} $GPRMC,085137.00,A,5355.16951,N,02730.02661,E,0.151,,050210,,,A*72 $GPVTG,,T,,M,0.151,N,0.280,K,A*2C $GPGGA,085137.00,5355.16951,N,02730.02661,E,1,05,1.79,249.6,M,25.0,M,,*59 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,,06,72,219,20,08,07,330,20,14,06,151,*7D $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,19*73 $GPGSV,3,3,12,21,32,087,50,22,67,156,27,24,01,085,42,26,18,130,36*72 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":20,"used":false},{"PRN":8,"el":7,"az":330,"ss":20,"used":true},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":19,"used":false},{"PRN":21,"el":32,"az":87,"ss":50,"used":true},{"PRN":22,"el":67,"az":156,"ss":27,"used":false},{"PRN":24,"el":1,"az":85,"ss":42,"used":false},{"PRN":26,"el":18,"az":130,"ss":36,"used":true}]} $GPGLL,5355.16951,N,02730.02661,E,085137.00,A,A*68 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:37.000Z","ept":0.005,"lat":53.919491833,"lon":27.500443500,"alt":249.600,"epx":170.223,"epy":95.066,"epv":51.290,"track":0.0000,"speed":0.078,"climb":0.000,"eps":340.45} $GPRMC,085138.00,A,5355.16944,N,02730.02634,E,0.523,279.74,050210,,,A*69 $GPVTG,279.74,T,,M,0.523,N,0.970,K,A*38 $GPGGA,085138.00,5355.16944,N,02730.02634,E,1,05,1.79,249.5,M,25.0,M,,*51 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,26,06,72,219,20,08,07,330,18,14,06,151,*72 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,19*73 $GPGSV,3,3,12,21,32,087,49,22,67,156,27,24,01,085,42,26,18,130,37*7B {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":26,"used":false},{"PRN":6,"el":72,"az":219,"ss":20,"used":false},{"PRN":8,"el":7,"az":330,"ss":18,"used":true},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":19,"used":false},{"PRN":21,"el":32,"az":87,"ss":49,"used":true},{"PRN":22,"el":67,"az":156,"ss":27,"used":false},{"PRN":24,"el":1,"az":85,"ss":42,"used":false},{"PRN":26,"el":18,"az":130,"ss":37,"used":true}]} $GPGLL,5355.16944,N,02730.02634,E,085138.00,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:38.000Z","ept":0.005,"lat":53.919490667,"lon":27.500439000,"alt":249.500,"epx":170.223,"epy":95.066,"epv":51.290,"track":279.7400,"speed":0.269,"climb":0.000,"eps":340.45} $GPRMC,085139.00,A,5355.16947,N,02730.02631,E,0.955,288.42,050210,,,A*68 $GPVTG,288.42,T,,M,0.955,N,1.769,K,A*39 $GPGGA,085139.00,5355.16947,N,02730.02631,E,1,05,1.79,249.7,M,25.0,M,,*54 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,26,06,72,219,17,08,07,330,18,14,06,151,*76 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,19*73 $GPGSV,3,3,12,21,32,087,50,22,67,156,26,24,01,085,42,26,18,130,37*72 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":26,"used":false},{"PRN":6,"el":72,"az":219,"ss":17,"used":false},{"PRN":8,"el":7,"az":330,"ss":18,"used":true},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":19,"used":false},{"PRN":21,"el":32,"az":87,"ss":50,"used":true},{"PRN":22,"el":67,"az":156,"ss":26,"used":false},{"PRN":24,"el":1,"az":85,"ss":42,"used":false},{"PRN":26,"el":18,"az":130,"ss":37,"used":true}]} $GPGLL,5355.16947,N,02730.02631,E,085139.00,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:39.000Z","ept":0.005,"lat":53.919491167,"lon":27.500438500,"alt":249.700,"epx":170.223,"epy":95.066,"epv":51.290,"track":288.4200,"speed":0.491,"climb":0.000,"eps":340.45} $GPRMC,085140.00,A,5355.16953,N,02730.02634,E,1.209,296.51,050210,,,A*68 $GPVTG,296.51,T,,M,1.209,N,2.240,K,A*3A $GPGGA,085140.00,5355.16953,N,02730.02634,E,1,05,1.79,249.8,M,25.0,M,,*55 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,27,06,72,219,12,08,07,330,18,14,06,151,*72 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,46,19,48,295,19*73 $GPGSV,3,3,12,21,32,087,49,22,67,156,25,24,01,085,42,26,18,130,37*79 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":27,"used":false},{"PRN":6,"el":72,"az":219,"ss":12,"used":false},{"PRN":8,"el":7,"az":330,"ss":18,"used":true},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":19,"used":false},{"PRN":21,"el":32,"az":87,"ss":49,"used":true},{"PRN":22,"el":67,"az":156,"ss":25,"used":false},{"PRN":24,"el":1,"az":85,"ss":42,"used":false},{"PRN":26,"el":18,"az":130,"ss":37,"used":true}]} $GPGLL,5355.16953,N,02730.02634,E,085140.00,A,A*6A {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:40.000Z","ept":0.005,"lat":53.919492167,"lon":27.500439000,"alt":249.800,"epx":170.223,"epy":95.066,"epv":51.290,"track":296.5100,"speed":0.622,"climb":0.000,"eps":340.45} $GPRMC,085141.00,A,5355.16952,N,02730.02616,E,1.203,304.08,050210,,,A*64 $GPVTG,304.08,T,,M,1.203,N,2.230,K,A*31 $GPGGA,085141.00,5355.16952,N,02730.02616,E,1,05,1.79,249.9,M,25.0,M,,*54 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,28,06,72,219,12,08,07,330,18,14,06,151,*7D $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,45,19,48,295,19*70 $GPGSV,3,3,12,21,32,087,49,22,67,156,22,24,01,085,43,26,18,130,38*70 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":28,"used":false},{"PRN":6,"el":72,"az":219,"ss":12,"used":false},{"PRN":8,"el":7,"az":330,"ss":18,"used":true},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":19,"used":false},{"PRN":21,"el":32,"az":87,"ss":49,"used":true},{"PRN":22,"el":67,"az":156,"ss":22,"used":false},{"PRN":24,"el":1,"az":85,"ss":43,"used":false},{"PRN":26,"el":18,"az":130,"ss":38,"used":true}]} $GPGLL,5355.16952,N,02730.02616,E,085141.00,A,A*6A {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:41.000Z","ept":0.005,"lat":53.919492000,"lon":27.500436000,"alt":249.900,"epx":170.223,"epy":95.066,"epv":51.290,"track":304.0800,"speed":0.619,"climb":0.000,"eps":340.45} $GPRMC,085142.00,A,5355.16901,N,02730.02472,E,0.382,311.88,050210,,,A*64 $GPVTG,311.88,T,,M,0.382,N,0.707,K,A*37 $GPGGA,085142.00,5355.16901,N,02730.02472,E,1,05,1.79,249.0,M,25.0,M,,*58 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,26,06,72,219,17,08,07,330,19,14,06,151,*77 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,45,19,48,295,19*70 $GPGSV,3,3,12,21,32,087,49,22,67,156,,24,01,085,42,26,18,130,38*71 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":26,"used":false},{"PRN":6,"el":72,"az":219,"ss":17,"used":false},{"PRN":8,"el":7,"az":330,"ss":19,"used":true},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":19,"used":false},{"PRN":21,"el":32,"az":87,"ss":49,"used":true},{"PRN":22,"el":67,"az":156,"ss":0,"used":false},{"PRN":24,"el":1,"az":85,"ss":42,"used":false},{"PRN":26,"el":18,"az":130,"ss":38,"used":true}]} $GPGLL,5355.16901,N,02730.02472,E,085142.00,A,A*6F {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:42.000Z","ept":0.005,"lat":53.919483500,"lon":27.500412000,"alt":249.000,"epx":170.223,"epy":95.066,"epv":51.290,"track":311.8800,"speed":0.197,"climb":0.000,"eps":340.45} $GPRMC,085143.00,A,5355.16896,N,02730.02443,E,0.211,319.01,050210,,,A*6A $GPVTG,319.01,T,,M,0.211,N,0.392,K,A*3D $GPGGA,085143.00,5355.16896,N,02730.02443,E,1,05,1.79,249.1,M,25.0,M,,*55 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,25,06,72,219,21,08,07,330,20,14,06,151,*7B $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,45,19,48,295,19*70 $GPGSV,3,3,12,21,32,087,49,22,67,156,,24,01,085,42,26,18,130,37*7E {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":25,"used":false},{"PRN":6,"el":72,"az":219,"ss":21,"used":false},{"PRN":8,"el":7,"az":330,"ss":20,"used":true},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":19,"used":false},{"PRN":21,"el":32,"az":87,"ss":49,"used":true},{"PRN":22,"el":67,"az":156,"ss":0,"used":false},{"PRN":24,"el":1,"az":85,"ss":42,"used":false},{"PRN":26,"el":18,"az":130,"ss":37,"used":true}]} $GPGLL,5355.16896,N,02730.02443,E,085143.00,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:43.000Z","ept":0.005,"lat":53.919482667,"lon":27.500407167,"alt":249.100,"epx":170.223,"epy":95.066,"epv":51.290,"track":319.0100,"speed":0.109,"climb":0.000,"eps":340.45} $GPRMC,085144.00,A,5355.16895,N,02730.02431,E,0.186,,050210,,,A*72 $GPVTG,,T,,M,0.186,N,0.345,K,A*2E $GPGGA,085144.00,5355.16895,N,02730.02431,E,1,05,1.79,249.3,M,25.0,M,,*56 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,,06,72,219,23,08,07,330,21,14,06,151,*7F $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,45,19,48,295,21*7B $GPGSV,3,3,12,21,32,087,48,22,67,156,27,24,01,085,42,26,18,130,37*7A {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":23,"used":false},{"PRN":8,"el":7,"az":330,"ss":21,"used":true},{"PRN":14,"el":6,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":21,"used":false},{"PRN":21,"el":32,"az":87,"ss":48,"used":true},{"PRN":22,"el":67,"az":156,"ss":27,"used":false},{"PRN":24,"el":1,"az":85,"ss":42,"used":false},{"PRN":26,"el":18,"az":130,"ss":37,"used":true}]} $GPGLL,5355.16895,N,02730.02431,E,085144.00,A,A*62 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:44.000Z","ept":0.005,"lat":53.919482500,"lon":27.500405167,"alt":249.300,"epx":170.223,"epy":95.066,"epv":51.290,"track":0.0000,"speed":0.096,"climb":0.000,"eps":340.45} $GPRMC,085145.00,A,5355.16894,N,02730.02410,E,0.409,314.01,050210,,,A*6A $GPVTG,314.01,T,,M,0.409,N,0.758,K,A*3D $GPGGA,085145.00,5355.16894,N,02730.02410,E,1,05,1.79,249.3,M,25.0,M,,*55 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,,06,72,219,23,08,07,330,21,14,07,151,*7E $GPGSV,3,2,12,15,14,032,43,16,14,204,,18,55,073,44,19,48,295,21*7C $GPGSV,3,3,12,21,32,087,47,22,67,156,27,24,01,085,40,26,18,130,36*76 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":23,"used":false},{"PRN":8,"el":7,"az":330,"ss":21,"used":true},{"PRN":14,"el":7,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":43,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":44,"used":true},{"PRN":19,"el":48,"az":295,"ss":21,"used":false},{"PRN":21,"el":32,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":156,"ss":27,"used":false},{"PRN":24,"el":1,"az":85,"ss":40,"used":false},{"PRN":26,"el":18,"az":130,"ss":36,"used":true}]} $GPGLL,5355.16894,N,02730.02410,E,085145.00,A,A*61 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:45.000Z","ept":0.005,"lat":53.919482333,"lon":27.500401667,"alt":249.300,"epx":170.223,"epy":95.066,"epv":51.290,"track":314.0100,"speed":0.210,"climb":0.000,"eps":340.45} $GPRMC,085146.00,A,5355.16889,N,02730.02363,E,0.246,309.09,050210,,,A*6F $GPVTG,309.09,T,,M,0.246,N,0.455,K,A*3A $GPGGA,085146.00,5355.16889,N,02730.02363,E,1,05,1.79,249.3,M,25.0,M,,*59 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,,06,72,219,23,08,07,330,22,14,07,151,*7D $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,44,19,48,295,23*79 $GPGSV,3,3,12,21,32,087,46,22,67,156,26,24,01,085,40,26,18,130,35*75 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":23,"used":false},{"PRN":8,"el":7,"az":330,"ss":22,"used":true},{"PRN":14,"el":7,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":44,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":44,"used":true},{"PRN":19,"el":48,"az":295,"ss":23,"used":false},{"PRN":21,"el":32,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":156,"ss":26,"used":false},{"PRN":24,"el":1,"az":85,"ss":40,"used":false},{"PRN":26,"el":18,"az":130,"ss":35,"used":true}]} $GPGLL,5355.16889,N,02730.02363,E,085146.00,A,A*6D {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:46.000Z","ept":0.005,"lat":53.919481500,"lon":27.500393833,"alt":249.300,"epx":170.223,"epy":95.066,"epv":51.290,"track":309.0900,"speed":0.127,"climb":0.000,"eps":340.45} $GPRMC,085147.00,A,5355.16883,N,02730.02334,E,0.023,,050210,,,A*7A $GPVTG,,T,,M,0.023,N,0.043,K,A*25 $GPGGA,085147.00,5355.16883,N,02730.02334,E,1,05,1.79,249.3,M,25.0,M,,*50 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,,06,72,219,25,08,07,330,24,14,07,151,*7D $GPGSV,3,2,12,15,14,032,46,16,14,204,,18,55,073,46,19,48,295,25*7F $GPGSV,3,3,12,21,32,087,48,22,67,156,26,24,01,085,41,26,18,130,35*7A {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":25,"used":false},{"PRN":8,"el":7,"az":330,"ss":24,"used":true},{"PRN":14,"el":7,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":46,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":25,"used":false},{"PRN":21,"el":32,"az":87,"ss":48,"used":true},{"PRN":22,"el":67,"az":156,"ss":26,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":35,"used":true}]} $GPGLL,5355.16883,N,02730.02334,E,085147.00,A,A*64 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:47.000Z","ept":0.005,"lat":53.919480500,"lon":27.500389000,"alt":249.300,"epx":170.223,"epy":95.066,"epv":51.290,"track":0.0000,"speed":0.012,"climb":0.000,"eps":340.45} $GPRMC,085148.00,A,5355.16875,N,02730.02320,E,0.058,,050210,,,A*75 $GPVTG,,T,,M,0.058,N,0.107,K,A*28 $GPGGA,085148.00,5355.16875,N,02730.02320,E,1,05,1.79,249.4,M,25.0,M,,*54 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,,06,72,219,25,08,07,330,25,14,07,151,*7C $GPGSV,3,2,12,15,14,032,46,16,14,204,,18,55,073,46,19,48,295,26*7C $GPGSV,3,3,12,21,32,087,47,22,67,156,26,24,01,085,41,26,18,130,35*75 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":25,"used":false},{"PRN":8,"el":7,"az":330,"ss":25,"used":true},{"PRN":14,"el":7,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":46,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":46,"used":true},{"PRN":19,"el":48,"az":295,"ss":26,"used":false},{"PRN":21,"el":32,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":156,"ss":26,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":35,"used":true}]} $GPGLL,5355.16875,N,02730.02320,E,085148.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:48.000Z","ept":0.005,"lat":53.919479167,"lon":27.500386667,"alt":249.400,"epx":170.223,"epy":95.066,"epv":51.290,"track":0.0000,"speed":0.030,"climb":0.000,"eps":340.45} $GPRMC,085149.00,A,5355.16866,N,02730.02314,E,0.346,304.62,050210,,,A*60 $GPVTG,304.62,T,,M,0.346,N,0.641,K,A*3C $GPGGA,085149.00,5355.16866,N,02730.02314,E,1,05,1.79,249.4,M,25.0,M,,*50 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,,06,72,219,25,08,07,330,25,14,07,151,*7C $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,45,19,48,295,26*7C $GPGSV,3,3,12,21,32,087,47,22,67,156,26,24,01,085,41,26,18,130,34*74 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":0,"used":false},{"PRN":6,"el":72,"az":219,"ss":25,"used":false},{"PRN":8,"el":7,"az":330,"ss":25,"used":true},{"PRN":14,"el":7,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":26,"used":false},{"PRN":21,"el":32,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":156,"ss":26,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":34,"used":true}]} $GPGLL,5355.16866,N,02730.02314,E,085149.00,A,A*63 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:49.000Z","ept":0.005,"lat":53.919477667,"lon":27.500385667,"alt":249.400,"epx":170.223,"epy":95.066,"epv":51.290,"track":304.6200,"speed":0.178,"climb":0.000,"eps":340.45} $GPRMC,085150.00,A,5355.16856,N,02730.02311,E,0.506,300.38,050210,,,A*67 $GPVTG,300.38,T,,M,0.506,N,0.937,K,A*3B $GPGGA,085150.00,5355.16856,N,02730.02311,E,1,05,1.79,249.5,M,25.0,M,,*5F $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,28,06,72,219,25,08,07,330,25,14,07,151,*76 $GPGSV,3,2,12,15,14,032,46,16,14,204,,18,55,073,45,19,48,295,27*7E $GPGSV,3,3,12,21,32,087,47,22,67,156,27,24,01,085,41,26,18,130,33*72 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":28,"used":false},{"PRN":6,"el":72,"az":219,"ss":25,"used":false},{"PRN":8,"el":7,"az":330,"ss":25,"used":true},{"PRN":14,"el":7,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":46,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":27,"used":false},{"PRN":21,"el":32,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":156,"ss":27,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":33,"used":true}]} $GPGLL,5355.16856,N,02730.02311,E,085150.00,A,A*6D {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:50.000Z","ept":0.005,"lat":53.919476000,"lon":27.500385167,"alt":249.500,"epx":170.223,"epy":95.066,"epv":51.290,"track":300.3800,"speed":0.260,"climb":0.000,"eps":340.45} $GPRMC,085151.00,A,5355.16845,N,02730.02318,E,0.564,296.45,050210,,,A*6D $GPVTG,296.45,T,,M,0.564,N,1.045,K,A*36 $GPGGA,085151.00,5355.16845,N,02730.02318,E,1,05,1.79,249.6,M,25.0,M,,*56 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,250,29,06,72,219,24,08,07,330,25,14,07,151,*76 $GPGSV,3,2,12,15,14,032,46,16,14,204,,18,55,073,45,19,48,295,26*7F $GPGSV,3,3,12,21,32,087,46,22,67,156,28,24,01,085,40,26,18,130,32*7C {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":250,"ss":29,"used":false},{"PRN":6,"el":72,"az":219,"ss":24,"used":false},{"PRN":8,"el":7,"az":330,"ss":25,"used":true},{"PRN":14,"el":7,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":46,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":26,"used":false},{"PRN":21,"el":32,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":156,"ss":28,"used":false},{"PRN":24,"el":1,"az":85,"ss":40,"used":false},{"PRN":26,"el":18,"az":130,"ss":32,"used":true}]} $GPGLL,5355.16845,N,02730.02318,E,085151.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:51.000Z","ept":0.005,"lat":53.919474167,"lon":27.500386333,"alt":249.600,"epx":170.223,"epy":95.066,"epv":51.290,"track":296.4500,"speed":0.290,"climb":0.000,"eps":340.45} $GPRMC,085152.00,A,5355.16838,N,02730.02346,E,0.143,,050210,,,A*7C $GPVTG,,T,,M,0.143,N,0.265,K,A*24 $GPGGA,085152.00,5355.16838,N,02730.02346,E,1,05,1.79,249.8,M,25.0,M,,*5A $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,249,29,06,72,219,22,08,07,330,26,14,07,151,*7B $GPGSV,3,2,12,15,14,032,46,16,14,204,,18,55,073,45,19,48,295,26*7F $GPGSV,3,3,12,21,32,087,46,22,67,156,29,24,01,085,40,26,18,130,31*7E {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":249,"ss":29,"used":false},{"PRN":6,"el":72,"az":219,"ss":22,"used":false},{"PRN":8,"el":7,"az":330,"ss":26,"used":true},{"PRN":14,"el":7,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":46,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":26,"used":false},{"PRN":21,"el":32,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":156,"ss":29,"used":false},{"PRN":24,"el":1,"az":85,"ss":40,"used":false},{"PRN":26,"el":18,"az":130,"ss":31,"used":true}]} $GPGLL,5355.16838,N,02730.02346,E,085152.00,A,A*65 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:52.000Z","ept":0.005,"lat":53.919473000,"lon":27.500391000,"alt":249.800,"epx":170.223,"epy":95.066,"epv":51.290,"track":0.0000,"speed":0.074,"climb":0.000,"eps":340.45} $GPRMC,085153.00,A,5355.16831,N,02730.02377,E,0.025,,050210,,,A*77 $GPVTG,,T,,M,0.025,N,0.047,K,A*27 $GPGGA,085153.00,5355.16831,N,02730.02377,E,1,05,1.79,250.0,M,25.0,M,,*50 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,249,29,06,72,219,23,08,07,330,26,14,07,151,*7A $GPGSV,3,2,12,15,14,032,46,16,14,204,,18,55,073,45,19,48,295,26*7F $GPGSV,3,3,12,21,32,087,46,22,67,156,31,24,01,085,40,26,18,130,32*74 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":249,"ss":29,"used":false},{"PRN":6,"el":72,"az":219,"ss":23,"used":false},{"PRN":8,"el":7,"az":330,"ss":26,"used":true},{"PRN":14,"el":7,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":46,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":26,"used":false},{"PRN":21,"el":32,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":156,"ss":31,"used":false},{"PRN":24,"el":1,"az":85,"ss":40,"used":false},{"PRN":26,"el":18,"az":130,"ss":32,"used":true}]} $GPGLL,5355.16831,N,02730.02377,E,085153.00,A,A*6F {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:53.000Z","ept":0.005,"lat":53.919471833,"lon":27.500396167,"alt":250.000,"epx":170.223,"epy":95.066,"epv":51.290,"track":0.0000,"speed":0.013,"climb":0.000,"eps":340.45} $GPRMC,085154.00,A,5355.16823,N,02730.02421,E,0.081,,050210,,,A*79 $GPVTG,,T,,M,0.081,N,0.150,K,A*2E $GPGGA,085154.00,5355.16823,N,02730.02421,E,1,05,1.79,250.3,M,25.0,M,,*53 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,249,29,06,72,219,23,08,07,330,26,14,07,151,*7A $GPGSV,3,2,12,15,14,032,46,16,14,204,,18,55,073,45,19,48,295,25*7C $GPGSV,3,3,12,21,32,087,46,22,67,156,32,24,01,085,40,26,18,130,32*77 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":249,"ss":29,"used":false},{"PRN":6,"el":72,"az":219,"ss":23,"used":false},{"PRN":8,"el":7,"az":330,"ss":26,"used":true},{"PRN":14,"el":7,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":46,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":25,"used":false},{"PRN":21,"el":32,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":156,"ss":32,"used":false},{"PRN":24,"el":1,"az":85,"ss":40,"used":false},{"PRN":26,"el":18,"az":130,"ss":32,"used":true}]} $GPGLL,5355.16823,N,02730.02421,E,085154.00,A,A*6F {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:54.000Z","ept":0.005,"lat":53.919470500,"lon":27.500403500,"alt":250.300,"epx":170.223,"epy":95.066,"epv":51.290,"track":0.0000,"speed":0.042,"climb":0.000,"eps":340.45} $GPRMC,085155.00,A,5355.16818,N,02730.02469,E,0.187,,050210,,,A*7B $GPVTG,,T,,M,0.187,N,0.347,K,A*2D $GPGGA,085155.00,5355.16818,N,02730.02469,E,1,05,1.79,250.5,M,25.0,M,,*50 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.23*00 $GPGSV,3,1,12,03,67,249,29,06,71,217,22,08,07,330,26,14,07,151,*76 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,45,19,48,295,25*7F $GPGSV,3,3,12,21,32,087,46,22,67,156,31,24,01,085,40,26,18,130,31*77 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.23,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":249,"ss":29,"used":false},{"PRN":6,"el":71,"az":217,"ss":22,"used":false},{"PRN":8,"el":7,"az":330,"ss":26,"used":true},{"PRN":14,"el":7,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":25,"used":false},{"PRN":21,"el":32,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":156,"ss":31,"used":false},{"PRN":24,"el":1,"az":85,"ss":40,"used":false},{"PRN":26,"el":18,"az":130,"ss":31,"used":true}]} $GPGLL,5355.16818,N,02730.02469,E,085155.00,A,A*6A {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:55.000Z","ept":0.005,"lat":53.919469667,"lon":27.500411500,"alt":250.500,"epx":170.223,"epy":95.066,"epv":51.290,"track":0.0000,"speed":0.096,"climb":0.000,"eps":340.45} $GPRMC,085156.00,A,5355.16811,N,02730.02486,E,0.011,,050210,,,A*7E $GPVTG,,T,,M,0.011,N,0.020,K,A*21 $GPGGA,085156.00,5355.16811,N,02730.02486,E,1,05,1.79,250.7,M,25.0,M,,*59 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.24*07 $GPGSV,3,1,12,03,67,249,28,06,71,217,20,08,07,330,26,14,07,151,*75 $GPGSV,3,2,12,15,14,032,45,16,14,204,,18,55,073,45,19,48,295,24*7E $GPGSV,3,3,12,21,32,087,46,22,67,156,30,24,01,085,41,26,18,130,32*74 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.24,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":249,"ss":28,"used":false},{"PRN":6,"el":71,"az":217,"ss":20,"used":false},{"PRN":8,"el":7,"az":330,"ss":26,"used":true},{"PRN":14,"el":7,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":45,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":24,"used":false},{"PRN":21,"el":32,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":156,"ss":30,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":32,"used":true}]} $GPGLL,5355.16811,N,02730.02486,E,085156.00,A,A*61 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:56.000Z","ept":0.005,"lat":53.919468500,"lon":27.500414333,"alt":250.700,"epx":170.223,"epy":95.066,"epv":51.290,"track":0.0000,"speed":0.006,"climb":0.000,"eps":340.45} $GPRMC,085157.00,A,5355.16805,N,02730.02498,E,0.183,,050210,,,A*7F $GPVTG,,T,,M,0.183,N,0.339,K,A*20 $GPGGA,085157.00,5355.16805,N,02730.02498,E,1,05,1.79,250.7,M,25.0,M,,*52 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.24*07 $GPGSV,3,1,12,03,67,249,28,06,71,217,18,08,07,330,26,14,07,151,*7E $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,45,19,48,295,23*78 $GPGSV,3,3,12,21,32,087,46,22,67,156,29,24,01,085,41,26,18,130,33*7D {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.24,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":249,"ss":28,"used":false},{"PRN":6,"el":71,"az":217,"ss":18,"used":false},{"PRN":8,"el":7,"az":330,"ss":26,"used":true},{"PRN":14,"el":7,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":44,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":23,"used":false},{"PRN":21,"el":32,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":156,"ss":29,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":33,"used":true}]} $GPGLL,5355.16805,N,02730.02498,E,085157.00,A,A*6A {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:57.000Z","ept":0.005,"lat":53.919467500,"lon":27.500416333,"alt":250.700,"epx":170.223,"epy":95.066,"epv":51.520,"track":0.0000,"speed":0.094,"climb":0.000,"eps":340.45} $GPRMC,085158.00,A,5355.16801,N,02730.02510,E,0.258,292.57,050210,,,A*65 $GPVTG,292.57,T,,M,0.258,N,0.478,K,A*32 $GPGGA,085158.00,5355.16801,N,02730.02510,E,1,05,1.79,250.8,M,25.0,M,,*57 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.24*07 $GPGSV,3,1,12,03,67,249,27,06,71,217,16,08,07,330,25,14,07,151,*7C $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,45,19,48,295,22*79 $GPGSV,3,3,12,21,32,087,46,22,67,156,28,24,01,085,41,26,18,130,33*7C {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.24,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":249,"ss":27,"used":false},{"PRN":6,"el":71,"az":217,"ss":16,"used":false},{"PRN":8,"el":7,"az":330,"ss":25,"used":true},{"PRN":14,"el":7,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":44,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":22,"used":false},{"PRN":21,"el":32,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":156,"ss":28,"used":false},{"PRN":24,"el":1,"az":85,"ss":41,"used":false},{"PRN":26,"el":18,"az":130,"ss":33,"used":true}]} $GPGLL,5355.16801,N,02730.02510,E,085158.00,A,A*60 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:58.000Z","ept":0.005,"lat":53.919466833,"lon":27.500418333,"alt":250.800,"epx":170.223,"epy":95.066,"epv":51.520,"track":292.5700,"speed":0.133,"climb":0.000,"eps":340.45} $GPRMC,085159.00,A,5355.16799,N,02730.02518,E,0.364,289.04,050210,,,A*60 $GPVTG,289.04,T,,M,0.364,N,0.675,K,A*3F $GPGGA,085159.00,5355.16799,N,02730.02518,E,1,05,1.79,250.9,M,25.0,M,,*51 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.24*07 $GPGSV,3,1,12,03,67,249,27,06,71,217,13,08,07,330,24,14,07,151,*78 $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,45,19,48,295,20*7B $GPGSV,3,3,12,21,32,087,46,22,67,156,27,24,01,085,42,26,18,130,34*77 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.24,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":249,"ss":27,"used":false},{"PRN":6,"el":71,"az":217,"ss":13,"used":false},{"PRN":8,"el":7,"az":330,"ss":24,"used":true},{"PRN":14,"el":7,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":44,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":20,"used":false},{"PRN":21,"el":32,"az":87,"ss":46,"used":true},{"PRN":22,"el":67,"az":156,"ss":27,"used":false},{"PRN":24,"el":1,"az":85,"ss":42,"used":false},{"PRN":26,"el":18,"az":130,"ss":34,"used":true}]} $GPGLL,5355.16799,N,02730.02518,E,085159.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:51:59.000Z","ept":0.005,"lat":53.919466500,"lon":27.500419667,"alt":250.900,"epx":170.223,"epy":95.066,"epv":51.520,"track":289.0400,"speed":0.187,"climb":0.000,"eps":340.45} $GPRMC,085200.00,A,5355.16797,N,02730.02521,E,0.225,285.42,050210,,,A*61 $GPVTG,285.42,T,,M,0.225,N,0.417,K,A*33 $GPGGA,085200.00,5355.16797,N,02730.02521,E,1,05,1.79,251.0,M,25.0,M,,*52 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.86,1.79,2.24*07 $GPGSV,3,1,12,03,67,249,28,06,71,217,14,08,07,330,23,14,07,151,*77 $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,45,19,48,295,19*71 $GPGSV,3,3,12,21,32,087,47,22,67,156,27,24,01,085,42,26,18,130,35*77 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.24,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.86,"satellites":[{"PRN":3,"el":67,"az":249,"ss":28,"used":false},{"PRN":6,"el":71,"az":217,"ss":14,"used":false},{"PRN":8,"el":7,"az":330,"ss":23,"used":true},{"PRN":14,"el":7,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":44,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":19,"used":false},{"PRN":21,"el":32,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":156,"ss":27,"used":false},{"PRN":24,"el":1,"az":85,"ss":42,"used":false},{"PRN":26,"el":18,"az":130,"ss":35,"used":true}]} $GPGLL,5355.16797,N,02730.02521,E,085200.00,A,A*6C {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:52:00.000Z","ept":0.005,"lat":53.919466167,"lon":27.500420167,"alt":251.000,"epx":170.223,"epy":95.066,"epv":51.520,"track":285.4200,"speed":0.116,"climb":0.000,"eps":340.45} $GPRMC,085201.00,A,5355.16798,N,02730.02524,E,0.256,282.12,050210,,,A*6C $GPVTG,282.12,T,,M,0.256,N,0.474,K,A*30 $GPGGA,085201.00,5355.16798,N,02730.02524,E,1,05,1.79,251.1,M,25.0,M,,*58 $GPGSA,A,3,18,21,08,26,15,,,,,,,,2.87,1.79,2.24*06 $GPGSV,3,1,12,03,67,249,29,06,71,217,16,08,07,330,21,14,07,151,*76 $GPGSV,3,2,12,15,14,032,44,16,14,204,,18,55,073,45,19,48,295,16*7E $GPGSV,3,3,12,21,32,087,47,22,67,156,27,24,01,085,42,26,18,130,35*77 {"class":"SKY","tag":"GSV","xdop":11.35,"ydop":6.34,"vdop":2.24,"tdop":1.00,"hdop":1.79,"gdop":14.12,"pdop":2.87,"satellites":[{"PRN":3,"el":67,"az":249,"ss":29,"used":false},{"PRN":6,"el":71,"az":217,"ss":16,"used":false},{"PRN":8,"el":7,"az":330,"ss":21,"used":true},{"PRN":14,"el":7,"az":151,"ss":0,"used":false},{"PRN":15,"el":14,"az":32,"ss":44,"used":true},{"PRN":16,"el":14,"az":204,"ss":0,"used":false},{"PRN":18,"el":55,"az":73,"ss":45,"used":true},{"PRN":19,"el":48,"az":295,"ss":16,"used":false},{"PRN":21,"el":32,"az":87,"ss":47,"used":true},{"PRN":22,"el":67,"az":156,"ss":27,"used":false},{"PRN":24,"el":1,"az":85,"ss":42,"used":false},{"PRN":26,"el":18,"az":130,"ss":35,"used":true}]} $GPGLL,5355.16798,N,02730.02524,E,085201.00,A,A*67 {"class":"TPV","tag":"GLL","mode":3,"time":"2010-02-05T08:52:01.000Z","ept":0.005,"lat":53.919466333,"lon":27.500420667,"alt":251.100,"epx":170.223,"epy":95.066,"epv":51.520,"track":282.1200,"speed":0.132,"climb":0.000,"eps":340.45} $GPRMC,085202.00,A,5355.16797,N,02730.02521,E,0.079,,050210,,,A*7F gpsd-3.9/test/daemon/zodiac.log0000664000175000017500000001301511762140440014665 0ustar esresr# Name: TU30-D140 OEM module # Chipset: Rockwell Jupiter # Submitter: Rob Janssen # Date: 2005-06-13 # Location: Utrecht, Netherlands, 52N5E # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # # Comments: Collected with netcat using gpsd's R=2 mode. ÿTŸy\@À$­t ÿÿ@ ÿè1èy,\@Ã$Ã$/¹t Õ*ÿɚ;ø‚jøØˆŸhbÿÿÿÒÝ¿8€h¿ çÜÿê-êy,\@Ã$Ã$/¹t2,-(/#% 2*ÖÝÿTŸyh\@Á$®t ÿÿÚ ÿè1èy\@Ä$Ä$/ºt Õ*ÿɚ;ø‚jøØˆŸhbÿÒÝ¿8–h¿ gÜÿê-êy\@Ä$Ä$/ºt2,-(/#% 3*nÝÿTŸyÌ\@Â$¯t ÿÿt ÿè1èyô\@Å$Å$/»t Õ*ÿɚ;ø‚jøØˆœhbÿþÿÒÝ¿8¬h¿ êÛÿê-êyô\@Å$Å$/»t2,-(/#% 3*ÝÿTŸy0]@Ã$°t ÿÿ ÿè1èyX]@Æ$Æ$/Œt Õ*ÿɚ;ø‚jøØˆ€hbÿÒÝ¿8Êh¿ UÛÿê-êyX]@Æ$Æ$/Œt2,-(/"% 3*‹ÜÿTŸy”]@Ä$±t ÿÿšÿè1èyŒ]@Ç$Ç$/œt Õ*ÿɚ;ø‚jøØˆ£hbÿÒÝ¿8àh¿ ÜÚÿê-êyŒ]@Ç$Ç$/œt2,-'/"% 3*;ÜÿTŸyø]@Å$²t ÿÿBÿè1èy ^@È$È$/Ÿt Õ*ÿɚ;ø‚jøØˆ¢hbÿÒÝ¿8÷h¿ dÚÿê-êy ^@È$È$/Ÿt2,-'/"$ 3*ÕÛÿTŸy\^@Æ$³t ÿÿÜÿè1èy„^@É$É$/¿t Õ*ÿɚ;ø‚jøØˆ¥hbÿÒÝ¿8i¿ ÙÙÿê-êy„^@É$É$/¿t2,-(."$ 3*nÛÿTŸyÀ^@Ç$Žt ÿÿvÿè1èyè^@Ê$Ê$/Àt Õ*ÿɚ;ø‚jøØˆ€hbÿÒÝ¿8(i¿ XÙÿê-êyé^@Ê$Ê$/Àt2,-'."# 3*ÛÿTŸy$_@È$µt ÿÿÿè1èyL_@Ë$Ë$/Át Õ*ÿɚ;ø‚jøØˆ¥hbÿÒÝ¿8Di¿ ÔØÿê-êyL_@Ë$Ë$/Át2,-'."# 3*¢ÚÿTŸyˆ_@É$¶t ÿÿªÿè1èy°_@Ì$Ì$/Ât Õ*ÿɚ;ø‚jøØˆ€hbÿÿÿÒÝ¿8^i¿ TØÿê-êy°_@Ì$Ì$/Ât2,-'.!# 3*<ÚÿTŸyì_@Ê$·t ÿÿDÿè1èy`@Í$Í$/Ãt Õ*ÿɚ;ø‚jøØˆšhbÿÒÝ¿8{i¿ Å×ÿê-êy`@Í$Í$/Ãt2--'.!# 3*ÓÙÿTŸyP`@Ë$žt ÿÿÞÿè1èyx`@Î$Î$/Ät Õ*ÿɚ;ø‚jøØˆ©hbÿÒÝ¿8–i¿ E×ÿê-êyx`@Î$Î$/Ät2,-'."# 3*mÙÿTŸyŽ`@Ì$¹t ÿÿxÿè1èyÜ`@Ï$Ï$/Åt Õ*ÿɚ;ø‚jøØˆ§hbÿÒÝ¿8ªi¿ ÔÖÿê-êyÜ`@Ï$Ï$/Åt2,-'."$ 3*ÙÿTŸya@Í$ºt ÿÿÿè1èy@a@Ð$Ð$/Æt Õ* ÿɚ;ø‚jøØˆ£hbÿþÿÒÝ¿8Œi¿ cÖÿê-êy@a@Ð$Ð$/Æt2,-'."$ 3*žØÿTŸy|a@Î$»t ÿÿ¬ÿè1èy€a@Ñ$Ñ$/Çt Õ*!ÿɚ;ø‚jøØˆ¥hbÿÒÝ¿8Îi¿ äÕÿê-êy€a@Ñ$Ñ$/Çt2,-'.!$ 3*8ØÿTŸyàa@Ï$Œt ÿÿFÿè1èyb@Ò$Ò$/Èt Õ*"ÿɚ;ø‚jøØˆ£hbÿÿÿÒÝ¿8Ûi¿ yÕÿê-êyb@Ò$Ò$/Èt2,-(."% 3)Ï×ÿTŸyDb@Ð$œt ÿÿàÿè1èylb@Ó$Ó$/Ét Õ*#ÿɚ;ø‚jøØˆ¢hbÿÿÿÒÝ¿8äi¿ Õÿê-êymb@Ó$Ó$/Ét2,-(."% 3*f×ÿTŸyšb@Ñ$Ÿt ÿÿzÿè1èyÐb@Ô$Ô$/Êt Õ*$ÿɚ;ø‚jøØˆ¡hbÿÒÝ¿8ëi¿ Ôÿê-êyÐb@Ô$Ô$/Êt2,,(."% 3*×ÿTŸy c@Ò$¿t ÿÿÿè1èy4c@Õ$Õ$/Ët Õ*%ÿɚ;ø‚jøØˆœhbÿýÿÒÝ¿8ñi¿ 7Ôÿê-êy4c@Õ$Õ$/Ët2,,(."% 3*šÖÿTŸypc@Ó$Àt ÿÿ®ÿè1èy˜c@Ö$Ö$/Ìt Õ*&ÿɚ;ø‚jøØˆšhbÿýÿÒÝ¿8üi¿ ÂÓÿê-êy™c@Ö$Ö$/Ìt2,,(."% 3*2ÖÿTŸyÔc@Ô$Át ÿÿHÿè1èyüc@×$×$/Ít Õ*'ÿɚ;ø‚jøØˆ›hbÿÿÿÒÝ¿8j¿ 7Óÿê-êyüc@×$×$/Ít2,,(."% 3*ŽÕ gpsd-3.9/test/daemon/zodiac.log.chk0000664000175000017500000002630312135526471015444 0ustar esresr$GPZDA,204220.00,13,06,2005,00,00*63 $GPGGA,204220,5203.7576,N,00508.3123,E,1,08,,8.23,M,47.120,M,0.91,W*13 $GPRMC,204220,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*23 $GPGSA,A,3,,,,,,,,,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"1000","mode":3,"time":"2005-06-13T20:42:20.000Z","ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.230,"track":0.0000,"speed":0.000,"climb":-0.010} $PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C {"class":"SKY","tag":"1002","time":"2005-06-13T20:42:20.000Z"} $GPZDA,204221.00,13,06,2005,00,00*62 $GPGGA,204221,5203.7576,N,00508.3123,E,1,08,,8.23,M,47.120,M,0.91,W*12 $GPRMC,204221,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*22 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"1000","mode":3,"time":"2005-06-13T20:42:21.000Z","ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.230,"track":0.0000,"speed":0.000,"climb":0.000} $PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C {"class":"SKY","tag":"1002","time":"2005-06-13T20:42:21.000Z"} $GPZDA,204222.00,13,06,2005,00,00*61 $GPGGA,204222,5203.7576,N,00508.3123,E,1,08,,8.20,M,47.120,M,0.91,W*12 $GPRMC,204222,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*21 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"1000","mode":3,"time":"2005-06-13T20:42:22.000Z","ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.200,"track":0.0000,"speed":0.000,"climb":-0.020} $PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C {"class":"SKY","tag":"1002","time":"2005-06-13T20:42:22.000Z"} $GPZDA,204223.00,13,06,2005,00,00*60 $GPGGA,204223,5203.7576,N,00508.3123,E,1,08,,8.28,M,47.120,M,0.91,W*1B $GPRMC,204223,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*20 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"1000","mode":3,"time":"2005-06-13T20:42:23.000Z","ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.280,"track":0.0000,"speed":0.000,"climb":0.050} $PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C {"class":"SKY","tag":"1002","time":"2005-06-13T20:42:23.000Z"} $GPZDA,204224.00,13,06,2005,00,00*67 $GPGGA,204224,5203.7576,N,00508.3123,E,1,08,,8.27,M,47.120,M,0.91,W*13 $GPRMC,204224,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*27 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"1000","mode":3,"time":"2005-06-13T20:42:24.000Z","ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.270,"track":0.0000,"speed":0.000,"climb":0.010} $PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C {"class":"SKY","tag":"1002","time":"2005-06-13T20:42:24.000Z"} $GPZDA,204225.00,13,06,2005,00,00*66 $GPGGA,204225,5203.7576,N,00508.3123,E,1,08,,8.26,M,47.120,M,0.91,W*13 $GPRMC,204225,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*26 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"1000","mode":3,"time":"2005-06-13T20:42:25.000Z","ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.260,"track":0.0000,"speed":0.000,"climb":0.000} $PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C {"class":"SKY","tag":"1002","time":"2005-06-13T20:42:25.000Z"} $GPZDA,204226.00,13,06,2005,00,00*65 $GPGGA,204226,5203.7576,N,00508.3123,E,1,08,,8.29,M,47.120,M,0.91,W*1F $GPRMC,204226,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*25 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"1000","mode":3,"time":"2005-06-13T20:42:26.000Z","ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.290,"track":0.0000,"speed":0.000,"climb":0.030} $PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C {"class":"SKY","tag":"1002","time":"2005-06-13T20:42:26.000Z"} $GPZDA,204227.00,13,06,2005,00,00*64 $GPGGA,204227,5203.7576,N,00508.3123,E,1,08,,8.28,M,47.120,M,0.91,W*1F $GPRMC,204227,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*24 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"1000","mode":3,"time":"2005-06-13T20:42:27.000Z","ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.280,"track":0.0000,"speed":0.000,"climb":0.000} $PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C {"class":"SKY","tag":"1002","time":"2005-06-13T20:42:27.000Z"} $GPZDA,204228.00,13,06,2005,00,00*6B $GPGGA,204228,5203.7576,N,00508.3123,E,1,08,,8.29,M,47.120,M,0.91,W*11 $GPRMC,204228,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*2B $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"1000","mode":3,"time":"2005-06-13T20:42:28.000Z","ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.290,"track":0.0000,"speed":0.000,"climb":0.010} $PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C {"class":"SKY","tag":"1002","time":"2005-06-13T20:42:28.000Z"} $GPZDA,204229.00,13,06,2005,00,00*6A $GPGGA,204229,5203.7576,N,00508.3123,E,1,08,,8.28,M,47.120,M,0.91,W*11 $GPRMC,204229,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*2A $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"1000","mode":3,"time":"2005-06-13T20:42:29.000Z","ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.280,"track":0.0000,"speed":0.000,"climb":-0.010} $PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C {"class":"SKY","tag":"1002","time":"2005-06-13T20:42:29.000Z"} $GPZDA,204230.00,13,06,2005,00,00*62 $GPGGA,204230,5203.7576,N,00508.3123,E,1,08,,8.32,M,47.120,M,0.91,W*12 $GPRMC,204230,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*22 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"1000","mode":3,"time":"2005-06-13T20:42:30.000Z","ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.320,"track":0.0000,"speed":0.000,"climb":0.040} $PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C {"class":"SKY","tag":"1002","time":"2005-06-13T20:42:30.000Z"} $GPZDA,204231.00,13,06,2005,00,00*63 $GPGGA,204231,5203.7576,N,00508.3123,E,1,08,,8.33,M,47.120,M,0.91,W*12 $GPRMC,204231,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*23 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"1000","mode":3,"time":"2005-06-13T20:42:31.000Z","ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.330,"track":0.0000,"speed":0.000,"climb":0.030} $PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C {"class":"SKY","tag":"1002","time":"2005-06-13T20:42:31.000Z"} $GPZDA,204232.00,13,06,2005,00,00*60 $GPGGA,204232,5203.7576,N,00508.3123,E,1,08,,8.31,M,47.120,M,0.91,W*13 $GPRMC,204232,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*20 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"1000","mode":3,"time":"2005-06-13T20:42:32.000Z","ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.310,"track":0.0000,"speed":0.000,"climb":0.000} $PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C {"class":"SKY","tag":"1002","time":"2005-06-13T20:42:32.000Z"} $GPZDA,204233.00,13,06,2005,00,00*61 $GPGGA,204233,5203.7576,N,00508.3123,E,1,08,,8.27,M,47.120,M,0.91,W*15 $GPRMC,204233,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*21 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"1000","mode":3,"time":"2005-06-13T20:42:33.000Z","ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.270,"track":0.0000,"speed":0.000,"climb":-0.020} $PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C {"class":"SKY","tag":"1002","time":"2005-06-13T20:42:33.000Z"} $GPZDA,204234.00,13,06,2005,00,00*66 $GPGGA,204234,5203.7576,N,00508.3123,E,1,08,,8.29,M,47.120,M,0.91,W*1C $GPRMC,204234,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*26 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"1000","mode":3,"time":"2005-06-13T20:42:34.000Z","ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.290,"track":0.0000,"speed":0.000,"climb":0.020} $PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C {"class":"SKY","tag":"1002","time":"2005-06-13T20:42:34.000Z"} $GPZDA,204235.00,13,06,2005,00,00*67 $GPGGA,204235,5203.7576,N,00508.3123,E,1,08,,8.27,M,47.120,M,0.91,W*13 $GPRMC,204235,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*27 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"1000","mode":3,"time":"2005-06-13T20:42:35.000Z","ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.270,"track":0.0000,"speed":0.000,"climb":-0.010} $PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C {"class":"SKY","tag":"1002","time":"2005-06-13T20:42:35.000Z"} $GPZDA,204236.00,13,06,2005,00,00*64 $GPGGA,204236,5203.7576,N,00508.3123,E,1,08,,8.26,M,47.120,M,0.91,W*11 $GPRMC,204236,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*24 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"1000","mode":3,"time":"2005-06-13T20:42:36.000Z","ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.260,"track":0.0000,"speed":0.000,"climb":-0.010} $PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C {"class":"SKY","tag":"1002","time":"2005-06-13T20:42:36.000Z"} $GPZDA,204237.00,13,06,2005,00,00*65 $GPGGA,204237,5203.7576,N,00508.3123,E,1,08,,8.25,M,47.120,M,0.91,W*13 $GPRMC,204237,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*25 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"1000","mode":3,"time":"2005-06-13T20:42:37.000Z","ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.250,"track":0.0000,"speed":0.000,"climb":0.000} $PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C {"class":"SKY","tag":"1002","time":"2005-06-13T20:42:37.000Z"} $GPZDA,204238.00,13,06,2005,00,00*6A $GPGGA,204238,5203.7576,N,00508.3123,E,1,08,,8.20,M,47.120,M,0.91,W*19 $GPRMC,204238,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*2A $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"1000","mode":3,"time":"2005-06-13T20:42:38.000Z","ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.200,"track":0.0000,"speed":0.000,"climb":-0.030} $PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C {"class":"SKY","tag":"1002","time":"2005-06-13T20:42:38.000Z"} $GPZDA,204239.00,13,06,2005,00,00*6B $GPGGA,204239,5203.7576,N,00508.3123,E,1,08,,8.18,M,47.120,M,0.91,W*13 $GPRMC,204239,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*2B $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"1000","mode":3,"time":"2005-06-13T20:42:39.000Z","ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.180,"track":0.0000,"speed":0.000,"climb":-0.030} $PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C {"class":"SKY","tag":"1002","time":"2005-06-13T20:42:39.000Z"} $GPZDA,204240.00,13,06,2005,00,00*65 $GPGGA,204240,5203.7576,N,00508.3123,E,1,08,,8.19,M,47.120,M,0.91,W*1C $GPRMC,204240,A,5203.7576,N,00508.3123,E,0.0000,0.000,130605,,*25 $GPGSA,A,3,00,00,00,00,00,00,00,00,,,,,0.0,0.0,0.0*32 {"class":"TPV","tag":"1000","mode":3,"time":"2005-06-13T20:42:40.000Z","ept":0.005,"lat":52.062625946,"lon":5.138537608,"alt":8.190,"track":0.0000,"speed":0.000,"climb":-0.010} $PRWIZCH,01,2,05,7,04,7,14,7,02,0,07,7,30,7,18,6,24,7,09,7,00,0,22,7*4C {"class":"SKY","tag":"1002","time":"2005-06-13T20:42:40.000Z"} gpsd-3.9/test/earthmate0000664000175000017500000000307411662661035013356 0ustar esresrEARTHA EARTHA EARTHA EARTHA EARTHA EARTHA EARTHA EARTHA EARTHA EARTHA EARTHA EARTHA EARTHA EARTHA ÿè1èyt$$#Í{ k§Au2øæòöÀ@ِУá'£áà“ªÿê-êyt$$#Çìÿè1èyØ%%$Í{ k§Au2øæòöÀ@ِУá'£áà“œ©ÿê-êyØ%%$^ìÿè1èy<&&%Í{ k§Au2øæòöÀ@ِУá'£áà“4©ÿê-êy<&&%øëÿè1èy ''&Í{ k§Au2øæòöÀ@ِУá'£áà“Ìšÿê-êy ''&ëÿè1èy(('Í{ k§Au2øæòöÀ@ِУá'£áà“dšÿê-êy(('(ëÿè1èyh))(Í{ k§Au2øæòöÀ@ِУá'£áà“ü§ÿê-êyh))(¿êÿè1èyÌ**)Í{ k§Au2øæòöÀ@ِУá'£áà“”§ÿê-êyÌ**)Vêgpsd-3.9/test/geoid.test.chk0000664000175000017500000000007311757250541014212 0ustar esresr lat= 37.371192 lon= 122.014965 geoid correction= 8.187392 gpsd-3.9/test/naujoks-rtcm2.dcd0000664000175000017500000005156611762140440014636 0ustar esresr# This is an ASCII dump of the first 22 RTCM2 packets in the naujoks-rtcm2.log # file, made by a Windows decoder of unknown provenance. It was used to # eyeball-check the correctness of the GPSD decoder and is kept here for # reference (and because it's only the second suvj dump we've ever found. # # Contains sentence types 1, 3, and 31. Thu Mar 10 17:05:19.661 2011 MT31 Stat 688 Status 6 Sec 1627.2 Seq 3 Frame 15 MT31 SV 45 ZCount 1627.2 FktPRC 0.020 FktRRC 0.0020 PRC 132.180 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 46 ZCount 1627.2 FktPRC 0.020 FktRRC 0.0020 PRC 126.820 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 53 ZCount 1627.2 FktPRC 0.020 FktRRC 0.0020 PRC 113.840 RRC -0.0240 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 54 ZCount 1627.2 FktPRC 0.020 FktRRC 0.0020 PRC 141.640 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 55 ZCount 1627.2 FktPRC 0.020 FktRRC 0.0020 PRC 134.480 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 56 ZCount 1627.2 FktPRC 0.020 FktRRC 0.0020 PRC 111.980 RRC 0.0220 CB 0 TOD 510.0 UDRE 0_OSigDErr_<=_1m MT31 SV 60 ZCount 1627.2 FktPRC 0.020 FktRRC 0.0020 PRC 117.120 RRC -0.0040 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 61 ZCount 1627.2 FktPRC 0.020 FktRRC 0.0020 PRC 128.600 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 62 ZCount 1627.2 FktPRC 0.020 FktRRC 0.0020 PRC 125.380 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m Thu Mar 10 17:05:19.817 2011 MT01 Stat 688 Status 6 Sec 1642.2 Seq 4 Frame 15 MT01 SV 2 ZCount 1642.2 FktPRC 0.020 FktRRC 0.0020 PRC -7.420 RRC 0.0000 IOD 15 UDRE 0_OSigDErr_<=_1m MT01 SV 4 ZCount 1642.2 FktPRC 0.020 FktRRC 0.0020 PRC -5.400 RRC 0.0000 IOD 70 UDRE 0_OSigDErr_<=_1m MT01 SV 7 ZCount 1642.2 FktPRC 0.020 FktRRC 0.0020 PRC -8.660 RRC 0.0020 IOD 23 UDRE 0_OSigDErr_<=_1m MT01 SV 10 ZCount 1642.2 FktPRC 0.020 FktRRC 0.0020 PRC -4.760 RRC 0.0000 IOD 120 UDRE 0_OSigDErr_<=_1m MT01 SV 13 ZCount 1642.2 FktPRC 0.020 FktRRC 0.0020 PRC -3.500 RRC 0.0000 IOD 92 UDRE 0_OSigDErr_<=_1m MT01 SV 16 ZCount 1642.2 FktPRC 0.020 FktRRC 0.0020 PRC -14.680 RRC 0.0020 IOD 18 UDRE 0_OSigDErr_<=_1m MT01 SV 20 ZCount 1642.2 FktPRC 0.020 FktRRC 0.0020 PRC -9.880 RRC 0.0000 IOD 72 UDRE 0_OSigDErr_<=_1m MT01 SV 23 ZCount 1642.2 FktPRC 0.020 FktRRC 0.0020 PRC -4.540 RRC 0.0000 IOD 16 UDRE 0_OSigDErr_<=_1m MT01 SV 30 ZCount 1642.2 FktPRC 0.020 FktRRC 0.0020 PRC -13.440 RRC 0.0000 IOD 154 UDRE 0_OSigDErr_<=_1m Thu Mar 10 17:05:19.973 2011 MT31 Stat 688 Status 6 Sec 1627.8 Seq 5 Frame 15 MT31 SV 45 ZCount 1627.8 FktPRC 0.020 FktRRC 0.0020 PRC 132.180 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 46 ZCount 1627.8 FktPRC 0.020 FktRRC 0.0020 PRC 126.820 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 53 ZCount 1627.8 FktPRC 0.020 FktRRC 0.0020 PRC 113.820 RRC -0.0240 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 54 ZCount 1627.8 FktPRC 0.020 FktRRC 0.0020 PRC 141.640 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 55 ZCount 1627.8 FktPRC 0.020 FktRRC 0.0020 PRC 134.480 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 56 ZCount 1627.8 FktPRC 0.020 FktRRC 0.0020 PRC 111.980 RRC 0.0200 CB 0 TOD 510.0 UDRE 0_OSigDErr_<=_1m MT31 SV 60 ZCount 1627.8 FktPRC 0.020 FktRRC 0.0020 PRC 117.120 RRC -0.0040 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 61 ZCount 1627.8 FktPRC 0.020 FktRRC 0.0020 PRC 128.600 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 62 ZCount 1627.8 FktPRC 0.020 FktRRC 0.0020 PRC 125.380 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m Thu Mar 10 17:05:20.129 2011 MT01 Stat 688 Status 6 Sec 1642.8 Seq 6 Frame 15 MT01 SV 2 ZCount 1642.8 FktPRC 0.020 FktRRC 0.0020 PRC -7.420 RRC 0.0000 IOD 15 UDRE 0_OSigDErr_<=_1m MT01 SV 4 ZCount 1642.8 FktPRC 0.020 FktRRC 0.0020 PRC -5.400 RRC 0.0000 IOD 70 UDRE 0_OSigDErr_<=_1m MT01 SV 7 ZCount 1642.8 FktPRC 0.020 FktRRC 0.0020 PRC -8.660 RRC 0.0020 IOD 23 UDRE 0_OSigDErr_<=_1m MT01 SV 10 ZCount 1642.8 FktPRC 0.020 FktRRC 0.0020 PRC -4.780 RRC 0.0000 IOD 120 UDRE 0_OSigDErr_<=_1m MT01 SV 13 ZCount 1642.8 FktPRC 0.020 FktRRC 0.0020 PRC -3.500 RRC 0.0000 IOD 92 UDRE 0_OSigDErr_<=_1m MT01 SV 16 ZCount 1642.8 FktPRC 0.020 FktRRC 0.0020 PRC -14.680 RRC 0.0000 IOD 18 UDRE 0_OSigDErr_<=_1m MT01 SV 20 ZCount 1642.8 FktPRC 0.020 FktRRC 0.0020 PRC -9.900 RRC 0.0000 IOD 72 UDRE 0_OSigDErr_<=_1m MT01 SV 23 ZCount 1642.8 FktPRC 0.020 FktRRC 0.0020 PRC -4.560 RRC 0.0000 IOD 16 UDRE 0_OSigDErr_<=_1m MT01 SV 30 ZCount 1642.8 FktPRC 0.020 FktRRC 0.0020 PRC -13.440 RRC 0.0000 IOD 154 UDRE 0_OSigDErr_<=_1m Thu Mar 10 17:05:20.285 2011 MT31 Stat 688 Status 6 Sec 1629.0 Seq 7 Frame 15 MT31 SV 45 ZCount 1629.0 FktPRC 0.020 FktRRC 0.0020 PRC 132.180 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 46 ZCount 1629.0 FktPRC 0.020 FktRRC 0.0020 PRC 126.840 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 53 ZCount 1629.0 FktPRC 0.020 FktRRC 0.0020 PRC 113.780 RRC -0.0240 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 54 ZCount 1629.0 FktPRC 0.020 FktRRC 0.0020 PRC 141.620 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 55 ZCount 1629.0 FktPRC 0.020 FktRRC 0.0020 PRC 134.500 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 56 ZCount 1629.0 FktPRC 0.020 FktRRC 0.0020 PRC 112.000 RRC 0.0200 CB 0 TOD 510.0 UDRE 0_OSigDErr_<=_1m MT31 SV 60 ZCount 1629.0 FktPRC 0.020 FktRRC 0.0020 PRC 117.100 RRC -0.0040 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 61 ZCount 1629.0 FktPRC 0.020 FktRRC 0.0020 PRC 128.600 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 62 ZCount 1629.0 FktPRC 0.020 FktRRC 0.0020 PRC 125.380 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m Thu Mar 10 17:05:20.441 2011 MT01 Stat 688 Status 6 Sec 1644.0 Seq 0 Frame 15 MT01 SV 2 ZCount 1644.0 FktPRC 0.020 FktRRC 0.0020 PRC -7.420 RRC 0.0000 IOD 15 UDRE 0_OSigDErr_<=_1m MT01 SV 4 ZCount 1644.0 FktPRC 0.020 FktRRC 0.0020 PRC -5.380 RRC 0.0000 IOD 70 UDRE 0_OSigDErr_<=_1m MT01 SV 7 ZCount 1644.0 FktPRC 0.020 FktRRC 0.0020 PRC -8.660 RRC 0.0020 IOD 23 UDRE 0_OSigDErr_<=_1m MT01 SV 10 ZCount 1644.0 FktPRC 0.020 FktRRC 0.0020 PRC -4.780 RRC 0.0000 IOD 120 UDRE 0_OSigDErr_<=_1m MT01 SV 13 ZCount 1644.0 FktPRC 0.020 FktRRC 0.0020 PRC -3.500 RRC 0.0000 IOD 92 UDRE 0_OSigDErr_<=_1m MT01 SV 16 ZCount 1644.0 FktPRC 0.020 FktRRC 0.0020 PRC -14.680 RRC 0.0020 IOD 18 UDRE 0_OSigDErr_<=_1m MT01 SV 20 ZCount 1644.0 FktPRC 0.020 FktRRC 0.0020 PRC -9.900 RRC 0.0000 IOD 72 UDRE 0_OSigDErr_<=_1m MT01 SV 23 ZCount 1644.0 FktPRC 0.020 FktRRC 0.0020 PRC -4.560 RRC 0.0000 IOD 16 UDRE 0_OSigDErr_<=_1m MT01 SV 30 ZCount 1644.0 FktPRC 0.020 FktRRC 0.0020 PRC -13.440 RRC 0.0000 IOD 154 UDRE 0_OSigDErr_<=_1m Thu Mar 10 17:05:20.613 2011 MT31 Stat 688 Status 6 Sec 1630.2 Seq 1 Frame 15 MT31 SV 45 ZCount 1630.2 FktPRC 0.020 FktRRC 0.0020 PRC 132.180 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 46 ZCount 1630.2 FktPRC 0.020 FktRRC 0.0020 PRC 126.840 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 53 ZCount 1630.2 FktPRC 0.020 FktRRC 0.0020 PRC 113.760 RRC -0.0240 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 54 ZCount 1630.2 FktPRC 0.020 FktRRC 0.0020 PRC 141.620 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 55 ZCount 1630.2 FktPRC 0.020 FktRRC 0.0020 PRC 134.500 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 56 ZCount 1630.2 FktPRC 0.020 FktRRC 0.0020 PRC 112.020 RRC 0.0200 CB 0 TOD 510.0 UDRE 0_OSigDErr_<=_1m MT31 SV 60 ZCount 1630.2 FktPRC 0.020 FktRRC 0.0020 PRC 117.100 RRC -0.0040 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 61 ZCount 1630.2 FktPRC 0.020 FktRRC 0.0020 PRC 128.600 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 62 ZCount 1630.2 FktPRC 0.020 FktRRC 0.0020 PRC 125.380 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m Thu Mar 10 17:05:20.785 2011 MT01 Stat 688 Status 6 Sec 1645.2 Seq 2 Frame 15 MT01 SV 2 ZCount 1645.2 FktPRC 0.020 FktRRC 0.0020 PRC -7.420 RRC 0.0000 IOD 15 UDRE 0_OSigDErr_<=_1m MT01 SV 4 ZCount 1645.2 FktPRC 0.020 FktRRC 0.0020 PRC -5.380 RRC 0.0000 IOD 70 UDRE 0_OSigDErr_<=_1m MT01 SV 7 ZCount 1645.2 FktPRC 0.020 FktRRC 0.0020 PRC -8.640 RRC 0.0020 IOD 23 UDRE 0_OSigDErr_<=_1m MT01 SV 10 ZCount 1645.2 FktPRC 0.020 FktRRC 0.0020 PRC -4.780 RRC 0.0000 IOD 120 UDRE 0_OSigDErr_<=_1m MT01 SV 13 ZCount 1645.2 FktPRC 0.020 FktRRC 0.0020 PRC -3.500 RRC 0.0000 IOD 92 UDRE 0_OSigDErr_<=_1m MT01 SV 16 ZCount 1645.2 FktPRC 0.020 FktRRC 0.0020 PRC -14.680 RRC 0.0020 IOD 18 UDRE 0_OSigDErr_<=_1m MT01 SV 20 ZCount 1645.2 FktPRC 0.020 FktRRC 0.0020 PRC -9.900 RRC 0.0000 IOD 72 UDRE 0_OSigDErr_<=_1m MT01 SV 23 ZCount 1645.2 FktPRC 0.020 FktRRC 0.0020 PRC -4.560 RRC 0.0000 IOD 16 UDRE 0_OSigDErr_<=_1m MT01 SV 30 ZCount 1645.2 FktPRC 0.020 FktRRC 0.0020 PRC -13.440 RRC 0.0000 IOD 154 UDRE 0_OSigDErr_<=_1m Thu Mar 10 17:05:20.956 2011 MT31 Stat 688 Status 6 Sec 1630.8 Seq 3 Frame 15 MT31 SV 45 ZCount 1630.8 FktPRC 0.020 FktRRC 0.0020 PRC 132.180 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 46 ZCount 1630.8 FktPRC 0.020 FktRRC 0.0020 PRC 126.840 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 53 ZCount 1630.8 FktPRC 0.020 FktRRC 0.0020 PRC 113.740 RRC -0.0240 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 54 ZCount 1630.8 FktPRC 0.020 FktRRC 0.0020 PRC 141.620 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 55 ZCount 1630.8 FktPRC 0.020 FktRRC 0.0020 PRC 134.520 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 56 ZCount 1630.8 FktPRC 0.020 FktRRC 0.0020 PRC 112.040 RRC 0.0200 CB 0 TOD 510.0 UDRE 0_OSigDErr_<=_1m MT31 SV 60 ZCount 1630.8 FktPRC 0.020 FktRRC 0.0020 PRC 117.100 RRC -0.0040 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 61 ZCount 1630.8 FktPRC 0.020 FktRRC 0.0020 PRC 128.600 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 62 ZCount 1630.8 FktPRC 0.020 FktRRC 0.0020 PRC 125.400 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m Thu Mar 10 17:05:21.143 2011 MT01 Stat 688 Status 6 Sec 1645.8 Seq 4 Frame 15 MT01 SV 2 ZCount 1645.8 FktPRC 0.020 FktRRC 0.0020 PRC -7.420 RRC 0.0000 IOD 15 UDRE 0_OSigDErr_<=_1m MT01 SV 4 ZCount 1645.8 FktPRC 0.020 FktRRC 0.0020 PRC -5.380 RRC 0.0000 IOD 70 UDRE 0_OSigDErr_<=_1m MT01 SV 7 ZCount 1645.8 FktPRC 0.020 FktRRC 0.0020 PRC -8.660 RRC 0.0020 IOD 23 UDRE 0_OSigDErr_<=_1m MT01 SV 10 ZCount 1645.8 FktPRC 0.020 FktRRC 0.0020 PRC -4.780 RRC 0.0000 IOD 120 UDRE 0_OSigDErr_<=_1m MT01 SV 13 ZCount 1645.8 FktPRC 0.020 FktRRC 0.0020 PRC -3.500 RRC 0.0000 IOD 92 UDRE 0_OSigDErr_<=_1m MT01 SV 16 ZCount 1645.8 FktPRC 0.020 FktRRC 0.0020 PRC -14.680 RRC 0.0020 IOD 18 UDRE 0_OSigDErr_<=_1m MT01 SV 20 ZCount 1645.8 FktPRC 0.020 FktRRC 0.0020 PRC -9.900 RRC 0.0000 IOD 72 UDRE 0_OSigDErr_<=_1m MT01 SV 23 ZCount 1645.8 FktPRC 0.020 FktRRC 0.0020 PRC -4.560 RRC 0.0000 IOD 16 UDRE 0_OSigDErr_<=_1m MT01 SV 30 ZCount 1645.8 FktPRC 0.020 FktRRC 0.0020 PRC -13.440 RRC 0.0000 IOD 154 UDRE 0_OSigDErr_<=_1m Thu Mar 10 17:05:21.315 2011 MT31 Stat 688 Status 6 Sec 1632.0 Seq 5 Frame 15 MT31 SV 45 ZCount 1632.0 FktPRC 0.020 FktRRC 0.0020 PRC 132.180 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 46 ZCount 1632.0 FktPRC 0.020 FktRRC 0.0020 PRC 126.840 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 53 ZCount 1632.0 FktPRC 0.020 FktRRC 0.0020 PRC 113.700 RRC -0.0240 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 54 ZCount 1632.0 FktPRC 0.020 FktRRC 0.0020 PRC 141.620 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 55 ZCount 1632.0 FktPRC 0.020 FktRRC 0.0020 PRC 134.520 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 56 ZCount 1632.0 FktPRC 0.020 FktRRC 0.0020 PRC 112.060 RRC 0.0200 CB 0 TOD 510.0 UDRE 0_OSigDErr_<=_1m MT31 SV 60 ZCount 1632.0 FktPRC 0.020 FktRRC 0.0020 PRC 117.100 RRC -0.0040 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 61 ZCount 1632.0 FktPRC 0.020 FktRRC 0.0020 PRC 128.600 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 62 ZCount 1632.0 FktPRC 0.020 FktRRC 0.0020 PRC 125.400 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m Thu Mar 10 17:05:21.487 2011 MT01 Stat 688 Status 6 Sec 1647.0 Seq 6 Frame 15 MT01 SV 2 ZCount 1647.0 FktPRC 0.020 FktRRC 0.0020 PRC -7.440 RRC 0.0000 IOD 15 UDRE 0_OSigDErr_<=_1m MT01 SV 4 ZCount 1647.0 FktPRC 0.020 FktRRC 0.0020 PRC -5.380 RRC 0.0000 IOD 70 UDRE 0_OSigDErr_<=_1m MT01 SV 7 ZCount 1647.0 FktPRC 0.020 FktRRC 0.0020 PRC -8.660 RRC 0.0020 IOD 23 UDRE 0_OSigDErr_<=_1m MT01 SV 10 ZCount 1647.0 FktPRC 0.020 FktRRC 0.0020 PRC -4.780 RRC 0.0000 IOD 120 UDRE 0_OSigDErr_<=_1m MT01 SV 13 ZCount 1647.0 FktPRC 0.020 FktRRC 0.0020 PRC -3.500 RRC 0.0000 IOD 92 UDRE 0_OSigDErr_<=_1m MT01 SV 16 ZCount 1647.0 FktPRC 0.020 FktRRC 0.0020 PRC -14.680 RRC 0.0000 IOD 18 UDRE 0_OSigDErr_<=_1m MT01 SV 20 ZCount 1647.0 FktPRC 0.020 FktRRC 0.0020 PRC -9.900 RRC 0.0000 IOD 72 UDRE 0_OSigDErr_<=_1m MT01 SV 23 ZCount 1647.0 FktPRC 0.020 FktRRC 0.0020 PRC -4.560 RRC 0.0000 IOD 16 UDRE 0_OSigDErr_<=_1m MT01 SV 30 ZCount 1647.0 FktPRC 0.020 FktRRC 0.0020 PRC -13.440 RRC 0.0000 IOD 154 UDRE 0_OSigDErr_<=_1m Thu Mar 10 17:05:21.658 2011 MT31 Stat 688 Status 6 Sec 1633.2 Seq 7 Frame 15 MT31 SV 45 ZCount 1633.2 FktPRC 0.020 FktRRC 0.0020 PRC 132.200 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 46 ZCount 1633.2 FktPRC 0.020 FktRRC 0.0020 PRC 126.840 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 53 ZCount 1633.2 FktPRC 0.020 FktRRC 0.0020 PRC 113.680 RRC -0.0240 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 54 ZCount 1633.2 FktPRC 0.020 FktRRC 0.0020 PRC 141.600 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 55 ZCount 1633.2 FktPRC 0.020 FktRRC 0.0020 PRC 134.520 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 56 ZCount 1633.2 FktPRC 0.020 FktRRC 0.0020 PRC 112.100 RRC 0.0200 CB 0 TOD 510.0 UDRE 0_OSigDErr_<=_1m MT31 SV 60 ZCount 1633.2 FktPRC 0.020 FktRRC 0.0020 PRC 117.080 RRC -0.0040 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 61 ZCount 1633.2 FktPRC 0.020 FktRRC 0.0020 PRC 128.600 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 62 ZCount 1633.2 FktPRC 0.020 FktRRC 0.0020 PRC 125.400 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m Thu Mar 10 17:05:21.830 2011 MT01 Stat 688 Status 6 Sec 1648.2 Seq 0 Frame 15 MT01 SV 2 ZCount 1648.2 FktPRC 0.020 FktRRC 0.0020 PRC -7.440 RRC 0.0000 IOD 15 UDRE 0_OSigDErr_<=_1m MT01 SV 4 ZCount 1648.2 FktPRC 0.020 FktRRC 0.0020 PRC -5.380 RRC 0.0000 IOD 70 UDRE 0_OSigDErr_<=_1m MT01 SV 7 ZCount 1648.2 FktPRC 0.020 FktRRC 0.0020 PRC -8.640 RRC 0.0020 IOD 23 UDRE 0_OSigDErr_<=_1m MT01 SV 10 ZCount 1648.2 FktPRC 0.020 FktRRC 0.0020 PRC -4.780 RRC 0.0000 IOD 120 UDRE 0_OSigDErr_<=_1m MT01 SV 13 ZCount 1648.2 FktPRC 0.020 FktRRC 0.0020 PRC -3.500 RRC 0.0000 IOD 92 UDRE 0_OSigDErr_<=_1m MT01 SV 16 ZCount 1648.2 FktPRC 0.020 FktRRC 0.0020 PRC -14.680 RRC 0.0000 IOD 18 UDRE 0_OSigDErr_<=_1m MT01 SV 20 ZCount 1648.2 FktPRC 0.020 FktRRC 0.0020 PRC -9.900 RRC 0.0000 IOD 72 UDRE 0_OSigDErr_<=_1m MT01 SV 23 ZCount 1648.2 FktPRC 0.020 FktRRC 0.0020 PRC -4.560 RRC 0.0000 IOD 16 UDRE 0_OSigDErr_<=_1m MT01 SV 30 ZCount 1648.2 FktPRC 0.020 FktRRC 0.0020 PRC -13.440 RRC 0.0000 IOD 154 UDRE 0_OSigDErr_<=_1m Thu Mar 10 17:05:22.1 2011 MT31 Stat 688 Status 6 Sec 1633.8 Seq 1 Frame 15 MT31 SV 45 ZCount 1633.8 FktPRC 0.020 FktRRC 0.0020 PRC 132.200 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 46 ZCount 1633.8 FktPRC 0.020 FktRRC 0.0020 PRC 126.840 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 53 ZCount 1633.8 FktPRC 0.020 FktRRC 0.0020 PRC 113.660 RRC -0.0240 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 54 ZCount 1633.8 FktPRC 0.020 FktRRC 0.0020 PRC 141.600 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 55 ZCount 1633.8 FktPRC 0.020 FktRRC 0.0020 PRC 134.520 RRC 0.0040 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 56 ZCount 1633.8 FktPRC 0.020 FktRRC 0.0020 PRC 112.100 RRC 0.0200 CB 0 TOD 510.0 UDRE 0_OSigDErr_<=_1m MT31 SV 60 ZCount 1633.8 FktPRC 0.020 FktRRC 0.0020 PRC 117.080 RRC -0.0040 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 61 ZCount 1633.8 FktPRC 0.020 FktRRC 0.0020 PRC 128.600 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 62 ZCount 1633.8 FktPRC 0.020 FktRRC 0.0020 PRC 125.400 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m Thu Mar 10 17:05:22.173 2011 MT01 Stat 688 Status 6 Sec 1648.8 Seq 2 Frame 15 MT01 SV 2 ZCount 1648.8 FktPRC 0.020 FktRRC 0.0020 PRC -7.420 RRC 0.0000 IOD 15 UDRE 0_OSigDErr_<=_1m MT01 SV 4 ZCount 1648.8 FktPRC 0.020 FktRRC 0.0020 PRC -5.400 RRC 0.0000 IOD 70 UDRE 0_OSigDErr_<=_1m MT01 SV 7 ZCount 1648.8 FktPRC 0.020 FktRRC 0.0020 PRC -8.640 RRC 0.0020 IOD 23 UDRE 0_OSigDErr_<=_1m MT01 SV 10 ZCount 1648.8 FktPRC 0.020 FktRRC 0.0020 PRC -4.780 RRC 0.0000 IOD 120 UDRE 0_OSigDErr_<=_1m MT01 SV 13 ZCount 1648.8 FktPRC 0.020 FktRRC 0.0020 PRC -3.500 RRC 0.0000 IOD 92 UDRE 0_OSigDErr_<=_1m MT01 SV 16 ZCount 1648.8 FktPRC 0.020 FktRRC 0.0020 PRC -14.680 RRC 0.0020 IOD 18 UDRE 0_OSigDErr_<=_1m MT01 SV 20 ZCount 1648.8 FktPRC 0.020 FktRRC 0.0020 PRC -9.900 RRC 0.0000 IOD 72 UDRE 0_OSigDErr_<=_1m MT01 SV 23 ZCount 1648.8 FktPRC 0.020 FktRRC 0.0020 PRC -4.560 RRC 0.0000 IOD 16 UDRE 0_OSigDErr_<=_1m MT01 SV 30 ZCount 1648.8 FktPRC 0.020 FktRRC 0.0020 PRC -13.440 RRC 0.0000 IOD 154 UDRE 0_OSigDErr_<=_1m Thu Mar 10 17:05:22.345 2011 MT31 Stat 688 Status 6 Sec 1635.0 Seq 3 Frame 15 MT31 SV 45 ZCount 1635.0 FktPRC 0.020 FktRRC 0.0020 PRC 132.200 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 46 ZCount 1635.0 FktPRC 0.020 FktRRC 0.0020 PRC 126.860 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 53 ZCount 1635.0 FktPRC 0.020 FktRRC 0.0020 PRC 113.620 RRC -0.0260 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 54 ZCount 1635.0 FktPRC 0.020 FktRRC 0.0020 PRC 141.600 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 55 ZCount 1635.0 FktPRC 0.020 FktRRC 0.0020 PRC 134.540 RRC 0.0040 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 56 ZCount 1635.0 FktPRC 0.020 FktRRC 0.0020 PRC 112.120 RRC 0.0200 CB 0 TOD 510.0 UDRE 0_OSigDErr_<=_1m MT31 SV 60 ZCount 1635.0 FktPRC 0.020 FktRRC 0.0020 PRC 117.060 RRC -0.0040 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 61 ZCount 1635.0 FktPRC 0.020 FktRRC 0.0020 PRC 128.600 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 62 ZCount 1635.0 FktPRC 0.020 FktRRC 0.0020 PRC 125.400 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m Thu Mar 10 17:05:22.516 2011 MT01 Stat 688 Status 6 Sec 1650.0 Seq 4 Frame 15 MT01 SV 2 ZCount 1650.0 FktPRC 0.020 FktRRC 0.0020 PRC -7.440 RRC 0.0000 IOD 15 UDRE 0_OSigDErr_<=_1m MT01 SV 4 ZCount 1650.0 FktPRC 0.020 FktRRC 0.0020 PRC -5.400 RRC 0.0000 IOD 70 UDRE 0_OSigDErr_<=_1m MT01 SV 7 ZCount 1650.0 FktPRC 0.020 FktRRC 0.0020 PRC -8.640 RRC 0.0020 IOD 23 UDRE 0_OSigDErr_<=_1m MT01 SV 10 ZCount 1650.0 FktPRC 0.020 FktRRC 0.0020 PRC -4.780 RRC 0.0000 IOD 120 UDRE 0_OSigDErr_<=_1m MT01 SV 13 ZCount 1650.0 FktPRC 0.020 FktRRC 0.0020 PRC -3.500 RRC 0.0000 IOD 92 UDRE 0_OSigDErr_<=_1m MT01 SV 16 ZCount 1650.0 FktPRC 0.020 FktRRC 0.0020 PRC -14.680 RRC 0.0020 IOD 18 UDRE 0_OSigDErr_<=_1m MT01 SV 20 ZCount 1650.0 FktPRC 0.020 FktRRC 0.0020 PRC -9.900 RRC 0.0000 IOD 72 UDRE 0_OSigDErr_<=_1m MT01 SV 23 ZCount 1650.0 FktPRC 0.020 FktRRC 0.0020 PRC -4.560 RRC 0.0000 IOD 16 UDRE 0_OSigDErr_<=_1m MT01 SV 30 ZCount 1650.0 FktPRC 0.020 FktRRC 0.0020 PRC -13.440 RRC 0.0000 IOD 154 UDRE 0_OSigDErr_<=_1m Thu Mar 10 17:05:22.688 2011 MT03 Stat 688 Status 6 Sec 1650.0 Seq 5 Frame 4 MT03 Stat 688 ZCount 1650.0 X 3842290.920 Y 663782.760 Z 5030690.320 Thu Mar 10 17:05:22.735 2011 MT31 Stat 688 Status 6 Sec 1636.2 Seq 6 Frame 15 MT31 SV 45 ZCount 1636.2 FktPRC 0.020 FktRRC 0.0020 PRC 132.200 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 46 ZCount 1636.2 FktPRC 0.020 FktRRC 0.0020 PRC 126.860 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 53 ZCount 1636.2 FktPRC 0.020 FktRRC 0.0020 PRC 113.580 RRC -0.0260 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 54 ZCount 1636.2 FktPRC 0.020 FktRRC 0.0020 PRC 141.580 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 55 ZCount 1636.2 FktPRC 0.020 FktRRC 0.0020 PRC 134.540 RRC 0.0040 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 56 ZCount 1636.2 FktPRC 0.020 FktRRC 0.0020 PRC 112.140 RRC 0.0200 CB 0 TOD 510.0 UDRE 0_OSigDErr_<=_1m MT31 SV 60 ZCount 1636.2 FktPRC 0.020 FktRRC 0.0020 PRC 117.040 RRC -0.0040 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 61 ZCount 1636.2 FktPRC 0.020 FktRRC 0.0020 PRC 128.600 RRC 0.0000 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m MT31 SV 62 ZCount 1636.2 FktPRC 0.020 FktRRC 0.0020 PRC 125.400 RRC 0.0020 CB 0 TOD 0.0 UDRE 0_OSigDErr_<=_1m Thu Mar 10 17:05:22.906 2011 MT01 Stat 688 Status 6 Sec 1651.2 Seq 7 Frame 15 MT01 SV 2 ZCount 1651.2 FktPRC 0.020 FktRRC 0.0020 PRC -7.440 RRC 0.0000 IOD 15 UDRE 0_OSigDErr_<=_1m MT01 SV 4 ZCount 1651.2 FktPRC 0.020 FktRRC 0.0020 PRC -5.400 RRC 0.0000 IOD 70 UDRE 0_OSigDErr_<=_1m MT01 SV 7 ZCount 1651.2 FktPRC 0.020 FktRRC 0.0020 PRC -8.640 RRC 0.0020 IOD 23 UDRE 0_OSigDErr_<=_1m MT01 SV 10 ZCount 1651.2 FktPRC 0.020 FktRRC 0.0020 PRC -4.780 RRC 0.0000 IOD 120 UDRE 0_OSigDErr_<=_1m MT01 SV 13 ZCount 1651.2 FktPRC 0.020 FktRRC 0.0020 PRC -3.500 RRC 0.0000 IOD 92 UDRE 0_OSigDErr_<=_1m MT01 SV 16 ZCount 1651.2 FktPRC 0.020 FktRRC 0.0020 PRC -14.680 RRC 0.0020 IOD 18 UDRE 0_OSigDErr_<=_1m MT01 SV 20 ZCount 1651.2 FktPRC 0.020 FktRRC 0.0020 PRC -9.900 RRC 0.0000 IOD 72 UDRE 0_OSigDErr_<=_1m MT01 SV 23 ZCount 1651.2 FktPRC 0.020 FktRRC 0.0020 PRC -4.560 RRC 0.0000 IOD 16 UDRE 0_OSigDErr_<=_1m MT01 SV 30 ZCount 1651.2 FktPRC 0.020 FktRRC 0.0020 PRC -13.440 RRC 0.0000 IOD 154 UDRE 0_OSigDErr_<=_1m Thu Mar 10 17:05:23.62 2011 MT31 Stat 688 Status 6 Sec 1636.8 Seq 0 Frame 15 gpsd-3.9/test/packet.test.chk0000664000175000017500000000243011757250541014371 0ustar esresr=== Packet identification tests === 1: NMEA packet with checksum (1) test succeeded. 2: NMEA packet with checksum (2) test succeeded. 3: NMEA packet with checksum and 4 chars of leading garbage test succeeded. 4: NMEA packet without checksum test succeeded. 5: NMEA packet with wrong checksum test succeeded. 6: SiRF WAAS version ID test succeeded. 7: SiRF WAAS version ID with 3 chars of leading garbage test succeeded. 8: SiRF WAAS version ID with wrong checksum test succeeded. 9: SiRF WAAS version ID with bad length test succeeded. 10: Zodiac binary 1000 Geodetic Status Output Message test succeeded. 11: EverMore status packet 0x20 test succeeded. 12: EverMore packet 0x04 with 0x10 0x10 sequence test succeeded. 13: EverMore packet 0x04 with 0x10 0x10 sequence, some noise before packet data test succeeded. 14: EverMore packet 0x04, 0x10 and some other data at the beginning test succeeded. 15: EverMore packet 0x04, 0x10 three times at the beginning test succeeded. 16: RTCM104V3 type 1005 packet test succeeded. 17: RTCM104V3 type 1005 packet with 4th byte garbled test succeeded. 18: RTCM104V3 type 1029 packet test succeeded. === EOF with buffer nonempty test === $GPVTG,308.74,T,,M,0.00,N,0.0,K*68 $GPGGA,110534.994,4002.1425,N,07531.2585,W,0,00,50.0,172.7,M,-33.8,M,0.0,0000*7A gpsd-3.9/test/rtcm3-1.dcd0000664000175000017500000153755011762140440013330 0ustar esresr# Made from rtcm3-1.log by inspectrtcm # This demonstration version for Eric Raymond (DEMO) expires at 2011-04-17. Please visit our website at http://www.dgpsonline.eu/ for contact information. RTCM3 (2011-04-10T22:37:57.78) Type 1059: SSR GPS Satellite Code Bias tow=193890s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.78) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=193895s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2350m, Along-Track= -0.3676m, Cross-Track= -0.9448m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.1983m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1736m, Along-Track= -4.7124m, Cross-Track= 0.1524m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4152m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8484m, Along-Track= -0.3824m, Cross-Track= -0.1400m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4291m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0111m, Along-Track= -0.1040m, Cross-Track= -0.2576m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3074m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0753m, Along-Track= -0.7972m, Cross-Track= 0.6112m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8922m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.1025m, Along-Track= 0.8804m, Cross-Track= -0.1160m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3235m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5496m, Along-Track= -1.5252m, Cross-Track= -1.1936m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5135m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6240m, Along-Track= 0.4852m, Cross-Track= -0.0464m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.3194m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9748m, Along-Track= 0.1040m, Cross-Track= -0.4408m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5475m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3911m, Along-Track= -1.1144m, Cross-Track= 0.4776m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.9020m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0786m, Along-Track= 0.5052m, Cross-Track= 0.2572m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2093m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6552m, Along-Track= 0.6836m, Cross-Track= -0.6868m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0447m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5621m, Along-Track= -0.1880m, Cross-Track= -0.0560m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4448m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.1002m, Along-Track= 1.3372m, Cross-Track= -0.0412m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0948m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8143m, Along-Track= 1.6796m, Cross-Track= 0.5924m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.6000m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1370m, Along-Track= -0.2952m, Cross-Track= 1.0692m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7809m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6140m, Along-Track= 0.7284m, Cross-Track= -0.1256m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2938m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1134m, Along-Track= -0.1612m, Cross-Track= 0.6516m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3660m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6177m, Along-Track= -0.4052m, Cross-Track= -0.4500m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1796m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6224m, Along-Track= 0.1840m, Cross-Track= 0.4692m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0907m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0640m, Along-Track= -0.4056m, Cross-Track= 0.8164m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3661m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1566m, Along-Track= -1.2552m, Cross-Track= -0.3804m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0900m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0687m, Along-Track= 1.0820m, Cross-Track= -0.5000m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9696m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1973m, Along-Track= -0.1176m, Cross-Track= 0.6136m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4612m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7120m, Along-Track= -0.2044m, Cross-Track= -0.3516m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4545m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.5036m, Along-Track= 2.1408m, Cross-Track= -1.0684m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0560m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8761m, Along-Track= 0.0420m, Cross-Track= 1.0796m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4779m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0240m, Along-Track= 0.4620m, Cross-Track= 0.6668m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2414m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1603m, Along-Track= 0.0596m, Cross-Track= 0.0656m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8996m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0861m, Along-Track= 0.3476m, Cross-Track= 0.3964m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1924m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0525m, Along-Track= -0.0656m, Cross-Track= -1.0244m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2611m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.78) Type 1059: SSR GPS Satellite Code Bias tow=193895s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.79) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=193900s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2347m, Along-Track= -0.3680m, Cross-Track= -0.9440m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2014m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1744m, Along-Track= -4.7124m, Cross-Track= 0.1508m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4247m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8484m, Along-Track= -0.3820m, Cross-Track= -0.1392m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4279m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0106m, Along-Track= -0.1044m, Cross-Track= -0.2572m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3051m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0759m, Along-Track= -0.7972m, Cross-Track= 0.6104m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8917m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.1019m, Along-Track= 0.8800m, Cross-Track= -0.1160m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3266m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5498m, Along-Track= -1.5244m, Cross-Track= -1.1948m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5265m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6238m, Along-Track= 0.4856m, Cross-Track= -0.0460m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.3138m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9741m, Along-Track= 0.1052m, Cross-Track= -0.4408m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5499m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3907m, Along-Track= -1.1144m, Cross-Track= 0.4780m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.9041m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0779m, Along-Track= 0.5060m, Cross-Track= 0.2576m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2139m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6544m, Along-Track= 0.6836m, Cross-Track= -0.6876m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0424m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5614m, Along-Track= -0.1888m, Cross-Track= -0.0564m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4431m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.1003m, Along-Track= 1.3376m, Cross-Track= -0.0400m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0970m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8141m, Along-Track= 1.6804m, Cross-Track= 0.5936m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5969m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1365m, Along-Track= -0.2948m, Cross-Track= 1.0700m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7849m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6136m, Along-Track= 0.7288m, Cross-Track= -0.1248m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2958m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1125m, Along-Track= -0.1624m, Cross-Track= 0.6520m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3690m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6178m, Along-Track= -0.4060m, Cross-Track= -0.4500m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1839m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6228m, Along-Track= 0.1852m, Cross-Track= 0.4696m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0845m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0638m, Along-Track= -0.4060m, Cross-Track= 0.8160m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3673m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1568m, Along-Track= -1.2560m, Cross-Track= -0.3804m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0889m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0701m, Along-Track= 1.0824m, Cross-Track= -0.4992m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9713m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1974m, Along-Track= -0.1176m, Cross-Track= 0.6136m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4600m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7129m, Along-Track= -0.2060m, Cross-Track= -0.3516m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4599m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.5033m, Along-Track= 2.1408m, Cross-Track= -1.0672m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0561m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8762m, Along-Track= 0.0428m, Cross-Track= 1.0780m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4794m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0243m, Along-Track= 0.4620m, Cross-Track= 0.6664m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2387m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1608m, Along-Track= 0.0604m, Cross-Track= 0.0660m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8981m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0857m, Along-Track= 0.3484m, Cross-Track= 0.3956m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1928m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0523m, Along-Track= -0.0656m, Cross-Track= -1.0248m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2595m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.79) Type 1059: SSR GPS Satellite Code Bias tow=193900s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.79) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=193905s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2341m, Along-Track= -0.3684m, Cross-Track= -0.9444m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2035m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1751m, Along-Track= -4.7128m, Cross-Track= 0.1488m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4321m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8491m, Along-Track= -0.3820m, Cross-Track= -0.1384m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4358m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0108m, Along-Track= -0.1040m, Cross-Track= -0.2576m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3074m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0763m, Along-Track= -0.7964m, Cross-Track= 0.6108m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8912m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.1016m, Along-Track= 0.8808m, Cross-Track= -0.1152m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3241m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5499m, Along-Track= -1.5240m, Cross-Track= -1.1964m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5350m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6233m, Along-Track= 0.4856m, Cross-Track= -0.0460m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.3135m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9743m, Along-Track= 0.1056m, Cross-Track= -0.4416m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5532m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3910m, Along-Track= -1.1144m, Cross-Track= 0.4784m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.9087m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0775m, Along-Track= 0.5060m, Cross-Track= 0.2572m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2137m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6543m, Along-Track= 0.6840m, Cross-Track= -0.6872m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0494m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5605m, Along-Track= -0.1888m, Cross-Track= -0.0560m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4438m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0993m, Along-Track= 1.3372m, Cross-Track= -0.0396m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1002m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8137m, Along-Track= 1.6808m, Cross-Track= 0.5936m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5880m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1362m, Along-Track= -0.2952m, Cross-Track= 1.0704m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7887m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6137m, Along-Track= 0.7288m, Cross-Track= -0.1248m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2974m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1125m, Along-Track= -0.1632m, Cross-Track= 0.6528m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3819m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6172m, Along-Track= -0.4056m, Cross-Track= -0.4488m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1892m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6232m, Along-Track= 0.1856m, Cross-Track= 0.4696m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0830m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0645m, Along-Track= -0.4052m, Cross-Track= 0.8164m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3666m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1563m, Along-Track= -1.2568m, Cross-Track= -0.3812m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0935m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0699m, Along-Track= 1.0828m, Cross-Track= -0.4996m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9718m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1977m, Along-Track= -0.1176m, Cross-Track= 0.6148m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4624m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7138m, Along-Track= -0.2060m, Cross-Track= -0.3516m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4653m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.5019m, Along-Track= 2.1392m, Cross-Track= -1.0660m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0557m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8770m, Along-Track= 0.0432m, Cross-Track= 1.0772m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4816m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0248m, Along-Track= 0.4624m, Cross-Track= 0.6664m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2392m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1599m, Along-Track= 0.0608m, Cross-Track= 0.0664m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8947m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0866m, Along-Track= 0.3488m, Cross-Track= 0.3960m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1920m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0524m, Along-Track= -0.0660m, Cross-Track= -1.0248m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2598m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.79) Type 1059: SSR GPS Satellite Code Bias tow=193905s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.79) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=193910s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2338m, Along-Track= -0.3692m, Cross-Track= -0.9444m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2047m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1764m, Along-Track= -4.7120m, Cross-Track= 0.1472m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4319m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8492m, Along-Track= -0.3828m, Cross-Track= -0.1384m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4271m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0104m, Along-Track= -0.1036m, Cross-Track= -0.2576m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3093m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0769m, Along-Track= -0.7968m, Cross-Track= 0.6112m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8902m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.1015m, Along-Track= 0.8816m, Cross-Track= -0.1156m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3215m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5502m, Along-Track= -1.5236m, Cross-Track= -1.1968m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5414m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6227m, Along-Track= 0.4852m, Cross-Track= -0.0464m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.3148m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9748m, Along-Track= 0.1056m, Cross-Track= -0.4412m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5562m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3905m, Along-Track= -1.1140m, Cross-Track= 0.4788m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.9064m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0769m, Along-Track= 0.5076m, Cross-Track= 0.2576m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2150m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6533m, Along-Track= 0.6836m, Cross-Track= -0.6872m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0492m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5607m, Along-Track= -0.1892m, Cross-Track= -0.0560m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4453m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0986m, Along-Track= 1.3380m, Cross-Track= -0.0388m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1036m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8137m, Along-Track= 1.6812m, Cross-Track= 0.5944m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5773m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1360m, Along-Track= -0.2944m, Cross-Track= 1.0712m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7840m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6141m, Along-Track= 0.7296m, Cross-Track= -0.1240m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2982m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1122m, Along-Track= -0.1644m, Cross-Track= 0.6520m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3945m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6176m, Along-Track= -0.4064m, Cross-Track= -0.4484m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1870m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6227m, Along-Track= 0.1856m, Cross-Track= 0.4692m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0819m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0644m, Along-Track= -0.4064m, Cross-Track= 0.8156m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3654m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1556m, Along-Track= -1.2576m, Cross-Track= -0.3816m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0915m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0699m, Along-Track= 1.0832m, Cross-Track= -0.4988m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9739m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1972m, Along-Track= -0.1176m, Cross-Track= 0.6152m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4637m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7141m, Along-Track= -0.2076m, Cross-Track= -0.3528m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4596m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.5022m, Along-Track= 2.1384m, Cross-Track= -1.0652m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0534m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8779m, Along-Track= 0.0436m, Cross-Track= 1.0744m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4763m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0254m, Along-Track= 0.4616m, Cross-Track= 0.6652m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2370m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1606m, Along-Track= 0.0612m, Cross-Track= 0.0668m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8880m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0868m, Along-Track= 0.3492m, Cross-Track= 0.3956m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1912m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0524m, Along-Track= -0.0664m, Cross-Track= -1.0240m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2627m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.79) Type 1059: SSR GPS Satellite Code Bias tow=193910s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.79) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=193915s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2335m, Along-Track= -0.3696m, Cross-Track= -0.9452m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2068m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1773m, Along-Track= -4.7128m, Cross-Track= 0.1448m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4327m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8490m, Along-Track= -0.3824m, Cross-Track= -0.1376m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4196m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0104m, Along-Track= -0.1040m, Cross-Track= -0.2584m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3091m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0769m, Along-Track= -0.7964m, Cross-Track= 0.6108m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8924m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.1011m, Along-Track= 0.8824m, Cross-Track= -0.1156m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3198m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5501m, Along-Track= -1.5228m, Cross-Track= -1.1984m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5388m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6218m, Along-Track= 0.4852m, Cross-Track= -0.0464m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.3191m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9747m, Along-Track= 0.1060m, Cross-Track= -0.4408m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5619m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3896m, Along-Track= -1.1144m, Cross-Track= 0.4792m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.9032m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0769m, Along-Track= 0.5084m, Cross-Track= 0.2576m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2204m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6535m, Along-Track= 0.6844m, Cross-Track= -0.6880m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0535m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5606m, Along-Track= -0.1888m, Cross-Track= -0.0560m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4454m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0988m, Along-Track= 1.3376m, Cross-Track= -0.0380m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1083m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8140m, Along-Track= 1.6816m, Cross-Track= 0.5952m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5703m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1359m, Along-Track= -0.2952m, Cross-Track= 1.0724m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7853m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6136m, Along-Track= 0.7296m, Cross-Track= -0.1244m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2975m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1119m, Along-Track= -0.1652m, Cross-Track= 0.6524m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4050m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6172m, Along-Track= -0.4068m, Cross-Track= -0.4476m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1877m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6226m, Along-Track= 0.1868m, Cross-Track= 0.4688m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0837m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0651m, Along-Track= -0.4060m, Cross-Track= 0.8152m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3669m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1558m, Along-Track= -1.2584m, Cross-Track= -0.3820m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0904m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0703m, Along-Track= 1.0832m, Cross-Track= -0.4988m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9753m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1981m, Along-Track= -0.1180m, Cross-Track= 0.6160m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4655m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7139m, Along-Track= -0.2084m, Cross-Track= -0.3524m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4506m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.5014m, Along-Track= 2.1372m, Cross-Track= -1.0644m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0509m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8789m, Along-Track= 0.0448m, Cross-Track= 1.0732m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4743m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0256m, Along-Track= 0.4616m, Cross-Track= 0.6656m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2462m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1599m, Along-Track= 0.0612m, Cross-Track= 0.0672m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8837m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0869m, Along-Track= 0.3504m, Cross-Track= 0.3960m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1958m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0520m, Along-Track= -0.0668m, Cross-Track= -1.0244m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2647m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.79) Type 1059: SSR GPS Satellite Code Bias tow=193915s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.79) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=193920s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2336m, Along-Track= -0.3704m, Cross-Track= -0.9444m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2146m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1784m, Along-Track= -4.7128m, Cross-Track= 0.1432m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4326m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8493m, Along-Track= -0.3832m, Cross-Track= -0.1372m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4215m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0097m, Along-Track= -0.1036m, Cross-Track= -0.2584m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3114m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0770m, Along-Track= -0.7964m, Cross-Track= 0.6108m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8917m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.1013m, Along-Track= 0.8832m, Cross-Track= -0.1160m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3229m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5504m, Along-Track= -1.5228m, Cross-Track= -1.1992m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5320m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6217m, Along-Track= 0.4852m, Cross-Track= -0.0464m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.3188m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9745m, Along-Track= 0.1056m, Cross-Track= -0.4412m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5730m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3896m, Along-Track= -1.1136m, Cross-Track= 0.4800m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.9000m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0761m, Along-Track= 0.5088m, Cross-Track= 0.2572m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2316m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6529m, Along-Track= 0.6840m, Cross-Track= -0.6880m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0521m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5594m, Along-Track= -0.1892m, Cross-Track= -0.0564m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4497m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0977m, Along-Track= 1.3384m, Cross-Track= -0.0372m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1049m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8132m, Along-Track= 1.6816m, Cross-Track= 0.5948m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5629m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1349m, Along-Track= -0.2944m, Cross-Track= 1.0724m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7861m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6139m, Along-Track= 0.7292m, Cross-Track= -0.1236m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2775m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1119m, Along-Track= -0.1660m, Cross-Track= 0.6528m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4104m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6178m, Along-Track= -0.4064m, Cross-Track= -0.4472m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1849m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6221m, Along-Track= 0.1868m, Cross-Track= 0.4692m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0853m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0648m, Along-Track= -0.4064m, Cross-Track= 0.8156m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3693m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1558m, Along-Track= -1.2596m, Cross-Track= -0.3816m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0932m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0709m, Along-Track= 1.0844m, Cross-Track= -0.4980m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9788m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1971m, Along-Track= -0.1180m, Cross-Track= 0.6164m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4670m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7152m, Along-Track= -0.2096m, Cross-Track= -0.3528m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4491m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.5010m, Along-Track= 2.1360m, Cross-Track= -1.0628m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0462m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8801m, Along-Track= 0.0460m, Cross-Track= 1.0716m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4660m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0261m, Along-Track= 0.4616m, Cross-Track= 0.6648m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2474m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1600m, Along-Track= 0.0616m, Cross-Track= 0.0668m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8776m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0868m, Along-Track= 0.3508m, Cross-Track= 0.3964m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1983m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0518m, Along-Track= -0.0668m, Cross-Track= -1.0244m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2635m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.79) Type 1059: SSR GPS Satellite Code Bias tow=193920s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.79) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=193925s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2325m, Along-Track= -0.3712m, Cross-Track= -0.9452m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2206m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1796m, Along-Track= -4.7124m, Cross-Track= 0.1412m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4358m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8494m, Along-Track= -0.3820m, Cross-Track= -0.1372m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4152m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0095m, Along-Track= -0.1032m, Cross-Track= -0.2588m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3076m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0780m, Along-Track= -0.7968m, Cross-Track= 0.6108m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8903m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.1009m, Along-Track= 0.8836m, Cross-Track= -0.1160m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3237m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5507m, Along-Track= -1.5224m, Cross-Track= -1.2008m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5270m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6203m, Along-Track= 0.4848m, Cross-Track= -0.0472m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.3207m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9743m, Along-Track= 0.1064m, Cross-Track= -0.4412m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5836m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3889m, Along-Track= -1.1144m, Cross-Track= 0.4804m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8998m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0759m, Along-Track= 0.5096m, Cross-Track= 0.2576m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2398m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6518m, Along-Track= 0.6836m, Cross-Track= -0.6876m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0549m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5596m, Along-Track= -0.1892m, Cross-Track= -0.0572m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4479m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0982m, Along-Track= 1.3392m, Cross-Track= -0.0368m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1086m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8132m, Along-Track= 1.6820m, Cross-Track= 0.5960m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5600m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1350m, Along-Track= -0.2940m, Cross-Track= 1.0736m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7865m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6140m, Along-Track= 0.7296m, Cross-Track= -0.1236m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2621m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1122m, Along-Track= -0.1676m, Cross-Track= 0.6536m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4194m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6175m, Along-Track= -0.4064m, Cross-Track= -0.4468m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1835m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6223m, Along-Track= 0.1876m, Cross-Track= 0.4688m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0841m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0652m, Along-Track= -0.4064m, Cross-Track= 0.8152m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3705m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1553m, Along-Track= -1.2600m, Cross-Track= -0.3820m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0897m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0707m, Along-Track= 1.0840m, Cross-Track= -0.4972m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9764m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1981m, Along-Track= -0.1176m, Cross-Track= 0.6176m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4721m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7158m, Along-Track= -0.2100m, Cross-Track= -0.3528m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4527m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.5004m, Along-Track= 2.1348m, Cross-Track= -1.0616m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0467m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8807m, Along-Track= 0.0460m, Cross-Track= 1.0696m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4661m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0259m, Along-Track= 0.4612m, Cross-Track= 0.6648m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2542m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1597m, Along-Track= 0.0620m, Cross-Track= 0.0680m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8757m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0873m, Along-Track= 0.3516m, Cross-Track= 0.3960m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1966m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0521m, Along-Track= -0.0676m, Cross-Track= -1.0244m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2616m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.80) Type 1059: SSR GPS Satellite Code Bias tow=193925s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.80) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=193930s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2326m, Along-Track= -0.3716m, Cross-Track= -0.9448m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2273m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1800m, Along-Track= -4.7128m, Cross-Track= 0.1384m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4384m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8496m, Along-Track= -0.3828m, Cross-Track= -0.1368m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4164m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0094m, Along-Track= -0.1036m, Cross-Track= -0.2588m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3104m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0783m, Along-Track= -0.7968m, Cross-Track= 0.6116m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8842m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.1011m, Along-Track= 0.8844m, Cross-Track= -0.1160m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3244m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5512m, Along-Track= -1.5212m, Cross-Track= -1.2020m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5244m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6202m, Along-Track= 0.4852m, Cross-Track= -0.0464m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.3213m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9750m, Along-Track= 0.1060m, Cross-Track= -0.4412m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5926m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3887m, Along-Track= -1.1132m, Cross-Track= 0.4808m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.9026m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0751m, Along-Track= 0.5096m, Cross-Track= 0.2580m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2453m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6512m, Along-Track= 0.6840m, Cross-Track= -0.6884m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0565m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5593m, Along-Track= -0.1892m, Cross-Track= -0.0564m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4507m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0981m, Along-Track= 1.3388m, Cross-Track= -0.0356m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1112m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8128m, Along-Track= 1.6832m, Cross-Track= 0.5964m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5550m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1347m, Along-Track= -0.2944m, Cross-Track= 1.0740m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7869m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6139m, Along-Track= 0.7300m, Cross-Track= -0.1232m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2464m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1111m, Along-Track= -0.1684m, Cross-Track= 0.6540m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4272m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6172m, Along-Track= -0.4072m, Cross-Track= -0.4460m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1825m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6226m, Along-Track= 0.1884m, Cross-Track= 0.4688m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0839m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0650m, Along-Track= -0.4064m, Cross-Track= 0.8156m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3693m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1558m, Along-Track= -1.2604m, Cross-Track= -0.3820m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0907m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0716m, Along-Track= 1.0852m, Cross-Track= -0.4972m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9760m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1978m, Along-Track= -0.1176m, Cross-Track= 0.6180m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4727m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7165m, Along-Track= -0.2112m, Cross-Track= -0.3532m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4521m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.5003m, Along-Track= 2.1336m, Cross-Track= -1.0604m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0430m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8814m, Along-Track= 0.0476m, Cross-Track= 1.0684m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4704m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0265m, Along-Track= 0.4604m, Cross-Track= 0.6644m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2601m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1593m, Along-Track= 0.0628m, Cross-Track= 0.0680m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8726m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0868m, Along-Track= 0.3520m, Cross-Track= 0.3960m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1967m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0516m, Along-Track= -0.0680m, Cross-Track= -1.0244m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2610m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.80) Type 1059: SSR GPS Satellite Code Bias tow=193930s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.80) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=193935s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2324m, Along-Track= -0.3720m, Cross-Track= -0.9456m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2291m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1816m, Along-Track= -4.7124m, Cross-Track= 0.1368m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4403m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8500m, Along-Track= -0.3828m, Cross-Track= -0.1360m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4086m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0097m, Along-Track= -0.1036m, Cross-Track= -0.2584m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3153m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0787m, Along-Track= -0.7964m, Cross-Track= 0.6116m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8792m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.1005m, Along-Track= 0.8844m, Cross-Track= -0.1168m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3230m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5506m, Along-Track= -1.5216m, Cross-Track= -1.2032m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5272m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6198m, Along-Track= 0.4848m, Cross-Track= -0.0476m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.3145m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9751m, Along-Track= 0.1064m, Cross-Track= -0.4412m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.6010m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3879m, Along-Track= -1.1140m, Cross-Track= 0.4816m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.9075m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0744m, Along-Track= 0.5112m, Cross-Track= 0.2576m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2478m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6511m, Along-Track= 0.6832m, Cross-Track= -0.6888m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0569m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5594m, Along-Track= -0.1900m, Cross-Track= -0.0568m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4502m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0971m, Along-Track= 1.3392m, Cross-Track= -0.0352m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1137m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8135m, Along-Track= 1.6832m, Cross-Track= 0.5968m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5510m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1336m, Along-Track= -0.2940m, Cross-Track= 1.0752m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7868m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6140m, Along-Track= 0.7304m, Cross-Track= -0.1232m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2354m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1110m, Along-Track= -0.1692m, Cross-Track= 0.6540m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4353m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6168m, Along-Track= -0.4068m, Cross-Track= -0.4460m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1764m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6219m, Along-Track= 0.1888m, Cross-Track= 0.4692m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0858m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0648m, Along-Track= -0.4064m, Cross-Track= 0.8148m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3672m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1547m, Along-Track= -1.2616m, Cross-Track= -0.3820m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0881m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0716m, Along-Track= 1.0848m, Cross-Track= -0.4972m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9747m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1979m, Along-Track= -0.1184m, Cross-Track= 0.6180m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4740m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7162m, Along-Track= -0.2128m, Cross-Track= -0.3532m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4599m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.5001m, Along-Track= 2.1328m, Cross-Track= -1.0596m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0438m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8824m, Along-Track= 0.0480m, Cross-Track= 1.0664m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4743m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0273m, Along-Track= 0.4604m, Cross-Track= 0.6640m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2630m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1597m, Along-Track= 0.0628m, Cross-Track= 0.0680m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8680m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0876m, Along-Track= 0.3524m, Cross-Track= 0.3964m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1928m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0515m, Along-Track= -0.0684m, Cross-Track= -1.0236m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2603m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.80) Type 1059: SSR GPS Satellite Code Bias tow=193935s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.80) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=193940s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2318m, Along-Track= -0.3728m, Cross-Track= -0.9456m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2279m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1821m, Along-Track= -4.7124m, Cross-Track= 0.1348m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4420m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8496m, Along-Track= -0.3828m, Cross-Track= -0.1360m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4105m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0091m, Along-Track= -0.1028m, Cross-Track= -0.2588m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3185m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0794m, Along-Track= -0.7964m, Cross-Track= 0.6112m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8802m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.1002m, Along-Track= 0.8852m, Cross-Track= -0.1160m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3202m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5515m, Along-Track= -1.5208m, Cross-Track= -1.2044m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5312m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6193m, Along-Track= 0.4848m, Cross-Track= -0.0472m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.3124m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9745m, Along-Track= 0.1072m, Cross-Track= -0.4416m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.6073m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3886m, Along-Track= -1.1136m, Cross-Track= 0.4824m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.9157m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0747m, Along-Track= 0.5116m, Cross-Track= 0.2572m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2491m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6506m, Along-Track= 0.6836m, Cross-Track= -0.6884m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0611m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5591m, Along-Track= -0.1900m, Cross-Track= -0.0572m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4481m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0969m, Along-Track= 1.3400m, Cross-Track= -0.0336m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1211m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8130m, Along-Track= 1.6836m, Cross-Track= 0.5972m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5484m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1340m, Along-Track= -0.2944m, Cross-Track= 1.0764m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7908m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6143m, Along-Track= 0.7304m, Cross-Track= -0.1236m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2263m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1111m, Along-Track= -0.1704m, Cross-Track= 0.6544m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4428m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6170m, Along-Track= -0.4072m, Cross-Track= -0.4452m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1732m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6222m, Along-Track= 0.1896m, Cross-Track= 0.4692m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0886m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0651m, Along-Track= -0.4068m, Cross-Track= 0.8148m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3624m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1553m, Along-Track= -1.2624m, Cross-Track= -0.3832m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0837m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0722m, Along-Track= 1.0856m, Cross-Track= -0.4964m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9714m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1977m, Along-Track= -0.1184m, Cross-Track= 0.6188m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4719m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7169m, Along-Track= -0.2136m, Cross-Track= -0.3528m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4599m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4998m, Along-Track= 2.1316m, Cross-Track= -1.0592m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0443m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8832m, Along-Track= 0.0488m, Cross-Track= 1.0652m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4723m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0273m, Along-Track= 0.4600m, Cross-Track= 0.6640m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2674m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1589m, Along-Track= 0.0628m, Cross-Track= 0.0684m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8667m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0875m, Along-Track= 0.3532m, Cross-Track= 0.3960m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1914m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0515m, Along-Track= -0.0684m, Cross-Track= -1.0232m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2608m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.80) Type 1059: SSR GPS Satellite Code Bias tow=193940s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.80) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=193945s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2319m, Along-Track= -0.3736m, Cross-Track= -0.9460m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2270m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1833m, Along-Track= -4.7136m, Cross-Track= 0.1328m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4466m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8495m, Along-Track= -0.3824m, Cross-Track= -0.1352m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4201m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0088m, Along-Track= -0.1032m, Cross-Track= -0.2588m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3219m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0793m, Along-Track= -0.7960m, Cross-Track= 0.6112m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8879m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.1003m, Along-Track= 0.8860m, Cross-Track= -0.1160m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3248m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5517m, Along-Track= -1.5212m, Cross-Track= -1.2052m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5384m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6185m, Along-Track= 0.4848m, Cross-Track= -0.0476m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.3043m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9746m, Along-Track= 0.1068m, Cross-Track= -0.4416m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.6151m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3876m, Along-Track= -1.1132m, Cross-Track= 0.4828m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.9263m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0737m, Along-Track= 0.5124m, Cross-Track= 0.2580m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2554m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6502m, Along-Track= 0.6832m, Cross-Track= -0.6888m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0612m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5580m, Along-Track= -0.1904m, Cross-Track= -0.0576m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4476m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0962m, Along-Track= 1.3400m, Cross-Track= -0.0332m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1255m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8132m, Along-Track= 1.6840m, Cross-Track= 0.5976m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5419m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1331m, Along-Track= -0.2940m, Cross-Track= 1.0764m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7975m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6139m, Along-Track= 0.7308m, Cross-Track= -0.1232m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2160m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1113m, Along-Track= -0.1708m, Cross-Track= 0.6548m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4509m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6173m, Along-Track= -0.4072m, Cross-Track= -0.4444m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1680m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6221m, Along-Track= 0.1892m, Cross-Track= 0.4692m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0931m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0654m, Along-Track= -0.4072m, Cross-Track= 0.8148m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3579m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1549m, Along-Track= -1.2628m, Cross-Track= -0.3836m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0799m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0724m, Along-Track= 1.0860m, Cross-Track= -0.4960m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9683m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1981m, Along-Track= -0.1176m, Cross-Track= 0.6196m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4698m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7177m, Along-Track= -0.2144m, Cross-Track= -0.3536m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4515m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4993m, Along-Track= 2.1312m, Cross-Track= -1.0580m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0457m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8843m, Along-Track= 0.0500m, Cross-Track= 1.0632m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4676m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0276m, Along-Track= 0.4608m, Cross-Track= 0.6628m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2853m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1591m, Along-Track= 0.0628m, Cross-Track= 0.0680m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8614m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0885m, Along-Track= 0.3540m, Cross-Track= 0.3960m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1876m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0513m, Along-Track= -0.0688m, Cross-Track= -1.0236m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2605m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.80) Type 1059: SSR GPS Satellite Code Bias tow=193945s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.80) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=193950s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2307m, Along-Track= -0.3740m, Cross-Track= -0.9460m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2282m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1846m, Along-Track= -4.7124m, Cross-Track= 0.1312m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4510m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8503m, Along-Track= -0.3820m, Cross-Track= -0.1356m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4234m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0088m, Along-Track= -0.1024m, Cross-Track= -0.2592m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3280m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0800m, Along-Track= -0.7960m, Cross-Track= 0.6120m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8925m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0997m, Along-Track= 0.8868m, Cross-Track= -0.1168m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3336m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5521m, Along-Track= -1.5200m, Cross-Track= -1.2064m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5475m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6186m, Along-Track= 0.4840m, Cross-Track= -0.0480m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2987m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9746m, Along-Track= 0.1076m, Cross-Track= -0.4412m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.6217m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3870m, Along-Track= -1.1132m, Cross-Track= 0.4832m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.9444m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0737m, Along-Track= 0.5132m, Cross-Track= 0.2576m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2612m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6501m, Along-Track= 0.6836m, Cross-Track= -0.6888m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0520m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5578m, Along-Track= -0.1904m, Cross-Track= -0.0576m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4431m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0966m, Along-Track= 1.3404m, Cross-Track= -0.0332m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1283m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8127m, Along-Track= 1.6844m, Cross-Track= 0.5980m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5364m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1328m, Along-Track= -0.2940m, Cross-Track= 1.0776m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8096m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6145m, Along-Track= 0.7308m, Cross-Track= -0.1228m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2042m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1108m, Along-Track= -0.1724m, Cross-Track= 0.6548m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4622m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6165m, Along-Track= -0.4080m, Cross-Track= -0.4436m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1612m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6219m, Along-Track= 0.1904m, Cross-Track= 0.4692m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0953m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0658m, Along-Track= -0.4064m, Cross-Track= 0.8152m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3567m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1545m, Along-Track= -1.2636m, Cross-Track= -0.3832m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0773m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0732m, Along-Track= 1.0868m, Cross-Track= -0.4960m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9688m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1978m, Along-Track= -0.1184m, Cross-Track= 0.6204m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4707m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7187m, Along-Track= -0.2152m, Cross-Track= -0.3540m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4564m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4983m, Along-Track= 2.1296m, Cross-Track= -1.0568m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0492m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8850m, Along-Track= 0.0504m, Cross-Track= 1.0612m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4609m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0290m, Along-Track= 0.4600m, Cross-Track= 0.6624m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2957m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1589m, Along-Track= 0.0636m, Cross-Track= 0.0688m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8556m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0884m, Along-Track= 0.3544m, Cross-Track= 0.3968m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1814m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0506m, Along-Track= -0.0692m, Cross-Track= -1.0236m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2628m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.80) Type 1059: SSR GPS Satellite Code Bias tow=193950s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.80) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=193955s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2310m, Along-Track= -0.3740m, Cross-Track= -0.9460m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2285m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1857m, Along-Track= -4.7128m, Cross-Track= 0.1288m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4556m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8507m, Along-Track= -0.3832m, Cross-Track= -0.1348m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4171m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0084m, Along-Track= -0.1028m, Cross-Track= -0.2596m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3290m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0803m, Along-Track= -0.7952m, Cross-Track= 0.6116m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8933m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0995m, Along-Track= 0.8864m, Cross-Track= -0.1172m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3365m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5523m, Along-Track= -1.5196m, Cross-Track= -1.2084m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5590m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6175m, Along-Track= 0.4840m, Cross-Track= -0.0480m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2972m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9745m, Along-Track= 0.1072m, Cross-Track= -0.4416m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.6379m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3869m, Along-Track= -1.1132m, Cross-Track= 0.4836m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.9586m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0728m, Along-Track= 0.5144m, Cross-Track= 0.2576m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2643m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6491m, Along-Track= 0.6836m, Cross-Track= -0.6888m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0470m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5574m, Along-Track= -0.1908m, Cross-Track= -0.0572m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4489m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0955m, Along-Track= 1.3404m, Cross-Track= -0.0320m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1312m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8130m, Along-Track= 1.6848m, Cross-Track= 0.5984m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5278m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1323m, Along-Track= -0.2936m, Cross-Track= 1.0784m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8170m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6141m, Along-Track= 0.7312m, Cross-Track= -0.1224m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2007m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1107m, Along-Track= -0.1724m, Cross-Track= 0.6544m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4745m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6166m, Along-Track= -0.4076m, Cross-Track= -0.4440m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1551m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6222m, Along-Track= 0.1904m, Cross-Track= 0.4684m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0954m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0661m, Along-Track= -0.4068m, Cross-Track= 0.8148m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3531m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1546m, Along-Track= -1.2644m, Cross-Track= -0.3832m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0834m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0733m, Along-Track= 1.0864m, Cross-Track= -0.4960m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9721m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1974m, Along-Track= -0.1180m, Cross-Track= 0.6212m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4651m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7187m, Along-Track= -0.2164m, Cross-Track= -0.3540m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4498m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4978m, Along-Track= 2.1292m, Cross-Track= -1.0556m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0599m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8861m, Along-Track= 0.0516m, Cross-Track= 1.0600m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4496m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0292m, Along-Track= 0.4596m, Cross-Track= 0.6620m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2972m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1586m, Along-Track= 0.0636m, Cross-Track= 0.0692m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8465m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0890m, Along-Track= 0.3556m, Cross-Track= 0.3960m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1683m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0507m, Along-Track= -0.0696m, Cross-Track= -1.0228m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2663m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.80) Type 1059: SSR GPS Satellite Code Bias tow=193955s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.80) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=193960s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2302m, Along-Track= -0.3752m, Cross-Track= -0.9464m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2297m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1864m, Along-Track= -4.7132m, Cross-Track= 0.1264m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4540m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8510m, Along-Track= -0.3824m, Cross-Track= -0.1344m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4135m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0080m, Along-Track= -0.1032m, Cross-Track= -0.2600m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3247m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0806m, Along-Track= -0.7960m, Cross-Track= 0.6120m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8943m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0997m, Along-Track= 0.8872m, Cross-Track= -0.1176m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3390m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5528m, Along-Track= -1.5188m, Cross-Track= -1.2096m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5713m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6174m, Along-Track= 0.4844m, Cross-Track= -0.0484m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2936m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9744m, Along-Track= 0.1080m, Cross-Track= -0.4420m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.6518m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3867m, Along-Track= -1.1136m, Cross-Track= 0.4844m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.9683m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0725m, Along-Track= 0.5140m, Cross-Track= 0.2576m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2671m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6492m, Along-Track= 0.6828m, Cross-Track= -0.6900m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0450m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5576m, Along-Track= -0.1912m, Cross-Track= -0.0576m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4615m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0957m, Along-Track= 1.3404m, Cross-Track= -0.0316m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1251m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8132m, Along-Track= 1.6856m, Cross-Track= 0.5992m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5204m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1317m, Along-Track= -0.2932m, Cross-Track= 1.0792m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8240m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6144m, Along-Track= 0.7316m, Cross-Track= -0.1224m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1934m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1098m, Along-Track= -0.1736m, Cross-Track= 0.6552m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4817m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6166m, Along-Track= -0.4080m, Cross-Track= -0.4424m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1505m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6223m, Along-Track= 0.1912m, Cross-Track= 0.4684m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0967m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0663m, Along-Track= -0.4072m, Cross-Track= 0.8144m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3513m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1546m, Along-Track= -1.2652m, Cross-Track= -0.3836m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0826m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0734m, Along-Track= 1.0872m, Cross-Track= -0.4952m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9762m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1978m, Along-Track= -0.1188m, Cross-Track= 0.6216m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4621m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7199m, Along-Track= -0.2172m, Cross-Track= -0.3540m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4441m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4977m, Along-Track= 2.1276m, Cross-Track= -1.0548m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0703m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8866m, Along-Track= 0.0520m, Cross-Track= 1.0580m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4416m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0290m, Along-Track= 0.4596m, Cross-Track= 0.6620m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2968m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1582m, Along-Track= 0.0640m, Cross-Track= 0.0688m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8392m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0889m, Along-Track= 0.3548m, Cross-Track= 0.3960m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1540m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0509m, Along-Track= -0.0700m, Cross-Track= -1.0224m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2774m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.80) Type 1059: SSR GPS Satellite Code Bias tow=193960s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.80) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=193965s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2303m, Along-Track= -0.3760m, Cross-Track= -0.9464m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2341m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1880m, Along-Track= -4.7128m, Cross-Track= 0.1248m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4463m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8509m, Along-Track= -0.3828m, Cross-Track= -0.1344m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4153m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0077m, Along-Track= -0.1020m, Cross-Track= -0.2592m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3209m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0811m, Along-Track= -0.7964m, Cross-Track= 0.6120m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8993m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0992m, Along-Track= 0.8872m, Cross-Track= -0.1172m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3424m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5530m, Along-Track= -1.5192m, Cross-Track= -1.2104m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5846m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6169m, Along-Track= 0.4832m, Cross-Track= -0.0484m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2873m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9750m, Along-Track= 0.1080m, Cross-Track= -0.4420m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.6659m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3864m, Along-Track= -1.1132m, Cross-Track= 0.4848m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.9786m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0710m, Along-Track= 0.5152m, Cross-Track= 0.2580m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2699m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6480m, Along-Track= 0.6832m, Cross-Track= -0.6892m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0397m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5573m, Along-Track= -0.1912m, Cross-Track= -0.0580m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4706m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0954m, Along-Track= 1.3412m, Cross-Track= -0.0312m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1127m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8126m, Along-Track= 1.6860m, Cross-Track= 0.6000m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5160m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1320m, Along-Track= -0.2936m, Cross-Track= 1.0800m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8298m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6134m, Along-Track= 0.7316m, Cross-Track= -0.1220m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1978m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1109m, Along-Track= -0.1744m, Cross-Track= 0.6552m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4937m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6162m, Along-Track= -0.4080m, Cross-Track= -0.4424m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1426m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6217m, Along-Track= 0.1920m, Cross-Track= 0.4692m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1007m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0665m, Along-Track= -0.4068m, Cross-Track= 0.8144m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3483m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1539m, Along-Track= -1.2660m, Cross-Track= -0.3836m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0875m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0734m, Along-Track= 1.0880m, Cross-Track= -0.4948m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9773m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1981m, Along-Track= -0.1184m, Cross-Track= 0.6228m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4594m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7198m, Along-Track= -0.2184m, Cross-Track= -0.3548m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4397m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4973m, Along-Track= 2.1268m, Cross-Track= -1.0536m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0793m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8880m, Along-Track= 0.0532m, Cross-Track= 1.0556m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4339m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0303m, Along-Track= 0.4596m, Cross-Track= 0.6612m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3015m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1585m, Along-Track= 0.0644m, Cross-Track= 0.0692m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8324m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0894m, Along-Track= 0.3560m, Cross-Track= 0.3960m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1423m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0501m, Along-Track= -0.0700m, Cross-Track= -1.0224m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2854m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.81) Type 1059: SSR GPS Satellite Code Bias tow=193965s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.81) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=193970s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2299m, Along-Track= -0.3764m, Cross-Track= -0.9468m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2374m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1883m, Along-Track= -4.7128m, Cross-Track= 0.1224m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4372m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8511m, Along-Track= -0.3824m, Cross-Track= -0.1336m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4222m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0081m, Along-Track= -0.1016m, Cross-Track= -0.2604m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3174m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0816m, Along-Track= -0.7956m, Cross-Track= 0.6120m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8988m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0989m, Along-Track= 0.8880m, Cross-Track= -0.1172m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3477m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5527m, Along-Track= -1.5184m, Cross-Track= -1.2116m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5906m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6159m, Along-Track= 0.4836m, Cross-Track= -0.0484m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2780m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9753m, Along-Track= 0.1088m, Cross-Track= -0.4424m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.6812m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3855m, Along-Track= -1.1132m, Cross-Track= 0.4852m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.9886m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0711m, Along-Track= 0.5152m, Cross-Track= 0.2580m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2748m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6478m, Along-Track= 0.6828m, Cross-Track= -0.6896m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0392m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5570m, Along-Track= -0.1912m, Cross-Track= -0.0580m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4826m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0946m, Along-Track= 1.3408m, Cross-Track= -0.0308m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1059m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8128m, Along-Track= 1.6856m, Cross-Track= 0.6004m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5063m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1317m, Along-Track= -0.2932m, Cross-Track= 1.0812m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8326m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6139m, Along-Track= 0.7316m, Cross-Track= -0.1212m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1964m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1103m, Along-Track= -0.1752m, Cross-Track= 0.6560m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5065m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6165m, Along-Track= -0.4084m, Cross-Track= -0.4416m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1385m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6219m, Along-Track= 0.1916m, Cross-Track= 0.4684m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1051m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0662m, Along-Track= -0.4068m, Cross-Track= 0.8144m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3540m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1539m, Along-Track= -1.2672m, Cross-Track= -0.3844m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0901m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0746m, Along-Track= 1.0876m, Cross-Track= -0.4948m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9794m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1984m, Along-Track= -0.1180m, Cross-Track= 0.6224m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4570m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7205m, Along-Track= -0.2200m, Cross-Track= -0.3544m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4382m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4970m, Along-Track= 2.1264m, Cross-Track= -1.0528m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0864m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8884m, Along-Track= 0.0536m, Cross-Track= 1.0540m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4265m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0305m, Along-Track= 0.4592m, Cross-Track= 0.6608m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3020m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1585m, Along-Track= 0.0656m, Cross-Track= 0.0700m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8254m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0895m, Along-Track= 0.3568m, Cross-Track= 0.3960m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1343m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0506m, Along-Track= -0.0708m, Cross-Track= -1.0224m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2907m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.81) Type 1059: SSR GPS Satellite Code Bias tow=193970s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.81) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=193975s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2294m, Along-Track= -0.3772m, Cross-Track= -0.9460m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2314m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1898m, Along-Track= -4.7132m, Cross-Track= 0.1208m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4301m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8512m, Along-Track= -0.3832m, Cross-Track= -0.1336m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4156m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0077m, Along-Track= -0.1020m, Cross-Track= -0.2600m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3094m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0815m, Along-Track= -0.7956m, Cross-Track= 0.6120m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.9098m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0984m, Along-Track= 0.8888m, Cross-Track= -0.1176m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3541m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5530m, Along-Track= -1.5188m, Cross-Track= -1.2132m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5946m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6160m, Along-Track= 0.4832m, Cross-Track= -0.0484m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2690m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9749m, Along-Track= 0.1088m, Cross-Track= -0.4428m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.6899m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3855m, Along-Track= -1.1124m, Cross-Track= 0.4856m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.9965m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0706m, Along-Track= 0.5168m, Cross-Track= 0.2576m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2761m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6479m, Along-Track= 0.6832m, Cross-Track= -0.6900m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0413m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5569m, Along-Track= -0.1920m, Cross-Track= -0.0580m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4887m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0941m, Along-Track= 1.3412m, Cross-Track= -0.0296m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0941m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8118m, Along-Track= 1.6860m, Cross-Track= 0.6004m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4989m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1315m, Along-Track= -0.2928m, Cross-Track= 1.0816m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8360m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6134m, Along-Track= 0.7320m, Cross-Track= -0.1212m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1966m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1100m, Along-Track= -0.1756m, Cross-Track= 0.6560m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5134m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6159m, Along-Track= -0.4088m, Cross-Track= -0.4404m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1342m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6219m, Along-Track= 0.1928m, Cross-Track= 0.4688m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1103m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0668m, Along-Track= -0.4072m, Cross-Track= 0.8136m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3573m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1534m, Along-Track= -1.2672m, Cross-Track= -0.3844m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0887m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0747m, Along-Track= 1.0884m, Cross-Track= -0.4940m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9793m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1980m, Along-Track= -0.1180m, Cross-Track= 0.6236m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4525m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7207m, Along-Track= -0.2208m, Cross-Track= -0.3548m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4416m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4970m, Along-Track= 2.1244m, Cross-Track= -1.0516m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0902m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8900m, Along-Track= 0.0544m, Cross-Track= 1.0528m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4203m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0306m, Along-Track= 0.4588m, Cross-Track= 0.6608m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2965m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1583m, Along-Track= 0.0660m, Cross-Track= 0.0696m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8183m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0899m, Along-Track= 0.3572m, Cross-Track= 0.3960m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1332m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0506m, Along-Track= -0.0708m, Cross-Track= -1.0224m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2918m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.81) Type 1059: SSR GPS Satellite Code Bias tow=193975s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.81) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=193980s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2287m, Along-Track= -0.3780m, Cross-Track= -0.9468m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2266m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1910m, Along-Track= -4.7136m, Cross-Track= 0.1188m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4174m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8516m, Along-Track= -0.3824m, Cross-Track= -0.1324m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4171m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0070m, Along-Track= -0.1020m, Cross-Track= -0.2608m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2997m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0822m, Along-Track= -0.7948m, Cross-Track= 0.6120m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.9078m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0979m, Along-Track= 0.8892m, Cross-Track= -0.1180m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3626m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5537m, Along-Track= -1.5180m, Cross-Track= -1.2140m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.6021m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6154m, Along-Track= 0.4828m, Cross-Track= -0.0480m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2612m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9756m, Along-Track= 0.1084m, Cross-Track= -0.4420m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.6956m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3848m, Along-Track= -1.1128m, Cross-Track= 0.4864m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0084m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0698m, Along-Track= 0.5176m, Cross-Track= 0.2580m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2804m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6468m, Along-Track= 0.6828m, Cross-Track= -0.6904m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0405m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5560m, Along-Track= -0.1924m, Cross-Track= -0.0580m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4974m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0939m, Along-Track= 1.3416m, Cross-Track= -0.0284m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0895m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8121m, Along-Track= 1.6860m, Cross-Track= 0.6012m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4939m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1310m, Along-Track= -0.2924m, Cross-Track= 1.0824m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8415m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6141m, Along-Track= 0.7320m, Cross-Track= -0.1216m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1920m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1096m, Along-Track= -0.1772m, Cross-Track= 0.6564m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5167m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6161m, Along-Track= -0.4092m, Cross-Track= -0.4408m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1215m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6222m, Along-Track= 0.1928m, Cross-Track= 0.4680m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1131m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0661m, Along-Track= -0.4072m, Cross-Track= 0.8136m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3564m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1530m, Along-Track= -1.2684m, Cross-Track= -0.3852m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0837m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0755m, Along-Track= 1.0884m, Cross-Track= -0.4936m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9822m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1984m, Along-Track= -0.1184m, Cross-Track= 0.6244m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4520m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7215m, Along-Track= -0.2212m, Cross-Track= -0.3552m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4404m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4968m, Along-Track= 2.1240m, Cross-Track= -1.0512m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0929m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8906m, Along-Track= 0.0556m, Cross-Track= 1.0508m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4124m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0316m, Along-Track= 0.4592m, Cross-Track= 0.6608m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2937m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1579m, Along-Track= 0.0656m, Cross-Track= 0.0700m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8074m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0899m, Along-Track= 0.3576m, Cross-Track= 0.3960m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1297m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0499m, Along-Track= -0.0716m, Cross-Track= -1.0224m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2912m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.81) Type 1059: SSR GPS Satellite Code Bias tow=193980s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.81) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=193985s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2289m, Along-Track= -0.3784m, Cross-Track= -0.9472m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2233m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1917m, Along-Track= -4.7132m, Cross-Track= 0.1168m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4079m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8514m, Along-Track= -0.3828m, Cross-Track= -0.1324m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4252m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0068m, Along-Track= -0.1020m, Cross-Track= -0.2600m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2890m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0823m, Along-Track= -0.7952m, Cross-Track= 0.6124m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.9059m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0982m, Along-Track= 0.8900m, Cross-Track= -0.1176m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3703m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5535m, Along-Track= -1.5172m, Cross-Track= -1.2160m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.6091m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6145m, Along-Track= 0.4832m, Cross-Track= -0.0484m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2549m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9751m, Along-Track= 0.1092m, Cross-Track= -0.4424m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.7014m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3843m, Along-Track= -1.1132m, Cross-Track= 0.4872m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0166m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0696m, Along-Track= 0.5180m, Cross-Track= 0.2576m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2892m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6469m, Along-Track= 0.6828m, Cross-Track= -0.6904m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0400m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5565m, Along-Track= -0.1920m, Cross-Track= -0.0580m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5049m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0937m, Along-Track= 1.3420m, Cross-Track= -0.0280m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0822m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8124m, Along-Track= 1.6872m, Cross-Track= 0.6020m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4905m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1306m, Along-Track= -0.2924m, Cross-Track= 1.0828m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8419m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6139m, Along-Track= 0.7332m, Cross-Track= -0.1208m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1909m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1099m, Along-Track= -0.1780m, Cross-Track= 0.6560m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5208m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6161m, Along-Track= -0.4084m, Cross-Track= -0.4392m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1087m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6219m, Along-Track= 0.1932m, Cross-Track= 0.4680m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1201m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0670m, Along-Track= -0.4076m, Cross-Track= 0.8132m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3582m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1537m, Along-Track= -1.2692m, Cross-Track= -0.3852m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0811m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0756m, Along-Track= 1.0892m, Cross-Track= -0.4932m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9801m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1980m, Along-Track= -0.1188m, Cross-Track= 0.6252m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4493m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7221m, Along-Track= -0.2228m, Cross-Track= -0.3552m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4450m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4959m, Along-Track= 2.1228m, Cross-Track= -1.0508m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0944m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8906m, Along-Track= 0.0560m, Cross-Track= 1.0492m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3972m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0316m, Along-Track= 0.4584m, Cross-Track= 0.6600m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2888m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1579m, Along-Track= 0.0668m, Cross-Track= 0.0708m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7955m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0903m, Along-Track= 0.3588m, Cross-Track= 0.3960m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1243m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0492m, Along-Track= -0.0716m, Cross-Track= -1.0220m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2947m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.81) Type 1059: SSR GPS Satellite Code Bias tow=193985s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.81) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=193990s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2288m, Along-Track= -0.3780m, Cross-Track= -0.9468m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2221m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1926m, Along-Track= -4.7128m, Cross-Track= 0.1148m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4083m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8512m, Along-Track= -0.3832m, Cross-Track= -0.1316m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4225m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0068m, Along-Track= -0.1012m, Cross-Track= -0.2612m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2831m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0825m, Along-Track= -0.7952m, Cross-Track= 0.6120m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.9015m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0975m, Along-Track= 0.8900m, Cross-Track= -0.1180m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3782m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5542m, Along-Track= -1.5164m, Cross-Track= -1.2168m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.6127m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6144m, Along-Track= 0.4832m, Cross-Track= -0.0488m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2506m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9756m, Along-Track= 0.1092m, Cross-Track= -0.4428m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.7107m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3844m, Along-Track= -1.1124m, Cross-Track= 0.4876m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0215m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0688m, Along-Track= 0.5184m, Cross-Track= 0.2580m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2890m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6463m, Along-Track= 0.6828m, Cross-Track= -0.6908m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0415m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5558m, Along-Track= -0.1928m, Cross-Track= -0.0588m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5107m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0928m, Along-Track= 1.3424m, Cross-Track= -0.0272m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0779m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8122m, Along-Track= 1.6876m, Cross-Track= 0.6016m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4861m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1298m, Along-Track= -0.2928m, Cross-Track= 1.0840m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8412m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6142m, Along-Track= 0.7324m, Cross-Track= -0.1208m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1911m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1091m, Along-Track= -0.1788m, Cross-Track= 0.6560m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5220m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6166m, Along-Track= -0.4092m, Cross-Track= -0.4388m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1071m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6214m, Along-Track= 0.1940m, Cross-Track= 0.4676m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1284m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0671m, Along-Track= -0.4076m, Cross-Track= 0.8136m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3621m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1534m, Along-Track= -1.2700m, Cross-Track= -0.3852m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0807m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0755m, Along-Track= 1.0896m, Cross-Track= -0.4932m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9836m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1977m, Along-Track= -0.1180m, Cross-Track= 0.6256m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4433m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7229m, Along-Track= -0.2236m, Cross-Track= -0.3564m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4486m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4957m, Along-Track= 2.1220m, Cross-Track= -1.0488m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0964m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8918m, Along-Track= 0.0568m, Cross-Track= 1.0476m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3907m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0320m, Along-Track= 0.4584m, Cross-Track= 0.6596m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2845m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1576m, Along-Track= 0.0664m, Cross-Track= 0.0712m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7837m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0903m, Along-Track= 0.3592m, Cross-Track= 0.3960m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1247m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0499m, Along-Track= -0.0724m, Cross-Track= -1.0216m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2946m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.81) Type 1059: SSR GPS Satellite Code Bias tow=193990s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.81) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=193995s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2282m, Along-Track= -0.3792m, Cross-Track= -0.9468m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2220m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1940m, Along-Track= -4.7132m, Cross-Track= 0.1120m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4175m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8516m, Along-Track= -0.3832m, Cross-Track= -0.1316m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4231m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0070m, Along-Track= -0.1020m, Cross-Track= -0.2612m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2778m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0835m, Along-Track= -0.7956m, Cross-Track= 0.6124m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.9068m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0974m, Along-Track= 0.8908m, Cross-Track= -0.1180m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3823m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5543m, Along-Track= -1.5164m, Cross-Track= -1.2184m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.6101m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6144m, Along-Track= 0.4824m, Cross-Track= -0.0484m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2479m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9755m, Along-Track= 0.1100m, Cross-Track= -0.4424m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.7167m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3842m, Along-Track= -1.1124m, Cross-Track= 0.4876m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0292m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0680m, Along-Track= 0.5192m, Cross-Track= 0.2580m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2864m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6456m, Along-Track= 0.6828m, Cross-Track= -0.6904m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0404m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5552m, Along-Track= -0.1932m, Cross-Track= -0.0580m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5122m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0925m, Along-Track= 1.3428m, Cross-Track= -0.0264m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0727m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8120m, Along-Track= 1.6872m, Cross-Track= 0.6028m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4862m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1298m, Along-Track= -0.2924m, Cross-Track= 1.0844m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8506m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6138m, Along-Track= 0.7332m, Cross-Track= -0.1200m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1958m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1093m, Along-Track= -0.1796m, Cross-Track= 0.6568m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5241m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6156m, Along-Track= -0.4092m, Cross-Track= -0.4384m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0980m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6216m, Along-Track= 0.1944m, Cross-Track= 0.4684m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1375m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0665m, Along-Track= -0.4076m, Cross-Track= 0.8132m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3639m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1529m, Along-Track= -1.2708m, Cross-Track= -0.3848m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0793m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0763m, Along-Track= 1.0908m, Cross-Track= -0.4924m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9878m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1981m, Along-Track= -0.1180m, Cross-Track= 0.6264m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4394m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7234m, Along-Track= -0.2252m, Cross-Track= -0.3556m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4493m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4948m, Along-Track= 2.1212m, Cross-Track= -1.0484m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0940m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8929m, Along-Track= 0.0576m, Cross-Track= 1.0460m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3837m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0326m, Along-Track= 0.4584m, Cross-Track= 0.6596m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2967m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1578m, Along-Track= 0.0668m, Cross-Track= 0.0712m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7715m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0904m, Along-Track= 0.3596m, Cross-Track= 0.3964m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1268m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0494m, Along-Track= -0.0724m, Cross-Track= -1.0216m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2961m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.81) Type 1059: SSR GPS Satellite Code Bias tow=193995s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.81) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=194000s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2278m, Along-Track= -0.3796m, Cross-Track= -0.9476m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2211m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1952m, Along-Track= -4.7128m, Cross-Track= 0.1104m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4266m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8516m, Along-Track= -0.3832m, Cross-Track= -0.1312m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4249m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0066m, Along-Track= -0.1016m, Cross-Track= -0.2608m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2738m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0839m, Along-Track= -0.7956m, Cross-Track= 0.6124m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.9060m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0973m, Along-Track= 0.8912m, Cross-Track= -0.1184m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3851m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5539m, Along-Track= -1.5160m, Cross-Track= -1.2192m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.6077m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6138m, Along-Track= 0.4824m, Cross-Track= -0.0492m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2446m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9754m, Along-Track= 0.1104m, Cross-Track= -0.4428m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.7155m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3835m, Along-Track= -1.1128m, Cross-Track= 0.4884m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0344m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0684m, Along-Track= 0.5200m, Cross-Track= 0.2584m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2886m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6450m, Along-Track= 0.6820m, Cross-Track= -0.6904m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0348m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5550m, Along-Track= -0.1928m, Cross-Track= -0.0588m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5116m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0922m, Along-Track= 1.3428m, Cross-Track= -0.0260m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0698m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8118m, Along-Track= 1.6880m, Cross-Track= 0.6032m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4839m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1293m, Along-Track= -0.2920m, Cross-Track= 1.0852m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8599m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6140m, Along-Track= 0.7336m, Cross-Track= -0.1204m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2016m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1089m, Along-Track= -0.1804m, Cross-Track= 0.6568m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5213m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6157m, Along-Track= -0.4096m, Cross-Track= -0.4376m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0922m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6218m, Along-Track= 0.1948m, Cross-Track= 0.4680m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1440m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0673m, Along-Track= -0.4072m, Cross-Track= 0.8136m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3663m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1529m, Along-Track= -1.2708m, Cross-Track= -0.3856m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0842m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0764m, Along-Track= 1.0912m, Cross-Track= -0.4924m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9922m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1985m, Along-Track= -0.1180m, Cross-Track= 0.6268m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4395m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7234m, Along-Track= -0.2256m, Cross-Track= -0.3564m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4542m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4951m, Along-Track= 2.1204m, Cross-Track= -1.0476m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0904m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8941m, Along-Track= 0.0588m, Cross-Track= 1.0440m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3769m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0330m, Along-Track= 0.4576m, Cross-Track= 0.6592m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3071m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1572m, Along-Track= 0.0676m, Cross-Track= 0.0720m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7570m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0909m, Along-Track= 0.3604m, Cross-Track= 0.3968m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1227m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0492m, Along-Track= -0.0728m, Cross-Track= -1.0208m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2972m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.81) Type 1059: SSR GPS Satellite Code Bias tow=194000s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.82) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=194005s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2272m, Along-Track= -0.3800m, Cross-Track= -0.9468m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2184m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1958m, Along-Track= -4.7128m, Cross-Track= 0.1084m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4351m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8525m, Along-Track= -0.3832m, Cross-Track= -0.1304m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4318m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0059m, Along-Track= -0.1012m, Cross-Track= -0.2612m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2748m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0842m, Along-Track= -0.7952m, Cross-Track= 0.6128m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.9017m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0969m, Along-Track= 0.8912m, Cross-Track= -0.1184m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3906m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5548m, Along-Track= -1.5160m, Cross-Track= -1.2200m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.6077m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6129m, Along-Track= 0.4828m, Cross-Track= -0.0484m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2394m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9756m, Along-Track= 0.1104m, Cross-Track= -0.4420m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.7177m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3832m, Along-Track= -1.1124m, Cross-Track= 0.4888m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0393m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0677m, Along-Track= 0.5208m, Cross-Track= 0.2584m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2944m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6447m, Along-Track= 0.6820m, Cross-Track= -0.6912m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0271m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5545m, Along-Track= -0.1936m, Cross-Track= -0.0584m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5180m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0922m, Along-Track= 1.3428m, Cross-Track= -0.0256m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0682m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8120m, Along-Track= 1.6888m, Cross-Track= 0.6032m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4835m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1289m, Along-Track= -0.2920m, Cross-Track= 1.0864m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8666m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6141m, Along-Track= 0.7332m, Cross-Track= -0.1200m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2027m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1083m, Along-Track= -0.1812m, Cross-Track= 0.6572m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5147m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6155m, Along-Track= -0.4092m, Cross-Track= -0.4376m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0866m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6214m, Along-Track= 0.1948m, Cross-Track= 0.4680m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1444m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0678m, Along-Track= -0.4076m, Cross-Track= 0.8132m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3714m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1523m, Along-Track= -1.2724m, Cross-Track= -0.3856m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0882m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0771m, Along-Track= 1.0916m, Cross-Track= -0.4924m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.9963m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1988m, Along-Track= -0.1188m, Cross-Track= 0.6276m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4404m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7249m, Along-Track= -0.2272m, Cross-Track= -0.3568m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4509m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4949m, Along-Track= 2.1188m, Cross-Track= -1.0468m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0847m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8938m, Along-Track= 0.0600m, Cross-Track= 1.0420m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3746m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0335m, Along-Track= 0.4576m, Cross-Track= 0.6592m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3115m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1572m, Along-Track= 0.0676m, Cross-Track= 0.0724m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7436m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0909m, Along-Track= 0.3608m, Cross-Track= 0.3964m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1228m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0487m, Along-Track= -0.0728m, Cross-Track= -1.0212m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2962m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.82) Type 1059: SSR GPS Satellite Code Bias tow=194005s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.82) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=194010s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2269m, Along-Track= -0.3808m, Cross-Track= -0.9476m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2145m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1973m, Along-Track= -4.7132m, Cross-Track= 0.1060m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4481m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8522m, Along-Track= -0.3828m, Cross-Track= -0.1304m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4219m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0063m, Along-Track= -0.1008m, Cross-Track= -0.2616m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2764m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0841m, Along-Track= -0.7948m, Cross-Track= 0.6124m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.9045m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0969m, Along-Track= 0.8924m, Cross-Track= -0.1184m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3932m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5542m, Along-Track= -1.5152m, Cross-Track= -1.2220m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.6086m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6121m, Along-Track= 0.4828m, Cross-Track= -0.0484m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2343m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9751m, Along-Track= 0.1108m, Cross-Track= -0.4424m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.7174m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3826m, Along-Track= -1.1120m, Cross-Track= 0.4896m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0413m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0669m, Along-Track= 0.5216m, Cross-Track= 0.2588m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2999m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6441m, Along-Track= 0.6820m, Cross-Track= -0.6912m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0283m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5549m, Along-Track= -0.1936m, Cross-Track= -0.0588m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5123m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0913m, Along-Track= 1.3432m, Cross-Track= -0.0248m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0669m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8121m, Along-Track= 1.6888m, Cross-Track= 0.6032m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4851m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1283m, Along-Track= -0.2916m, Cross-Track= 1.0872m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8703m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6141m, Along-Track= 0.7336m, Cross-Track= -0.1204m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2065m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1086m, Along-Track= -0.1824m, Cross-Track= 0.6572m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5108m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6159m, Along-Track= -0.4096m, Cross-Track= -0.4360m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0784m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6215m, Along-Track= 0.1960m, Cross-Track= 0.4676m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1488m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0674m, Along-Track= -0.4076m, Cross-Track= 0.8128m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3717m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1517m, Along-Track= -1.2728m, Cross-Track= -0.3856m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0941m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0772m, Along-Track= 1.0912m, Cross-Track= -0.4920m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -2.0014m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1979m, Along-Track= -0.1188m, Cross-Track= 0.6280m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4413m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7249m, Along-Track= -0.2280m, Cross-Track= -0.3572m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4576m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4935m, Along-Track= 2.1180m, Cross-Track= -1.0460m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0799m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8950m, Along-Track= 0.0604m, Cross-Track= 1.0400m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3736m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0335m, Along-Track= 0.4580m, Cross-Track= 0.6584m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3156m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1573m, Along-Track= 0.0680m, Cross-Track= 0.0724m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7335m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0912m, Along-Track= 0.3616m, Cross-Track= 0.3964m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1258m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0487m, Along-Track= -0.0736m, Cross-Track= -1.0212m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2989m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.82) Type 1059: SSR GPS Satellite Code Bias tow=194010s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.82) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=194015s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2266m, Along-Track= -0.3816m, Cross-Track= -0.9468m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2123m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1980m, Along-Track= -4.7128m, Cross-Track= 0.1048m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4593m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8517m, Along-Track= -0.3828m, Cross-Track= -0.1296m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4234m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0059m, Along-Track= -0.1012m, Cross-Track= -0.2616m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2765m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0852m, Along-Track= -0.7948m, Cross-Track= 0.6128m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8999m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0962m, Along-Track= 0.8924m, Cross-Track= -0.1188m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3957m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5548m, Along-Track= -1.5148m, Cross-Track= -1.2236m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.6075m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6119m, Along-Track= 0.4816m, Cross-Track= -0.0488m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2294m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9761m, Along-Track= 0.1112m, Cross-Track= -0.4424m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.7157m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3832m, Along-Track= -1.1120m, Cross-Track= 0.4904m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0477m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0664m, Along-Track= 0.5216m, Cross-Track= 0.2592m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2928m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6436m, Along-Track= 0.6824m, Cross-Track= -0.6916m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0356m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5550m, Along-Track= -0.1936m, Cross-Track= -0.0588m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5162m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0909m, Along-Track= 1.3432m, Cross-Track= -0.0240m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0722m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8119m, Along-Track= 1.6892m, Cross-Track= 0.6040m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4882m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1281m, Along-Track= -0.2920m, Cross-Track= 1.0880m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8707m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6136m, Along-Track= 0.7336m, Cross-Track= -0.1192m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2115m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1086m, Along-Track= -0.1836m, Cross-Track= 0.6568m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5074m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6154m, Along-Track= -0.4104m, Cross-Track= -0.4356m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0702m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6219m, Along-Track= 0.1960m, Cross-Track= 0.4676m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1511m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0680m, Along-Track= -0.4084m, Cross-Track= 0.8128m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3651m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1521m, Along-Track= -1.2736m, Cross-Track= -0.3852m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1038m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0780m, Along-Track= 1.0920m, Cross-Track= -0.4908m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -2.0055m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1984m, Along-Track= -0.1188m, Cross-Track= 0.6288m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4368m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7258m, Along-Track= -0.2288m, Cross-Track= -0.3568m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4646m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4939m, Along-Track= 2.1176m, Cross-Track= -1.0448m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0769m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8961m, Along-Track= 0.0612m, Cross-Track= 1.0380m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3710m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0345m, Along-Track= 0.4572m, Cross-Track= 0.6580m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3159m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1575m, Along-Track= 0.0688m, Cross-Track= 0.0728m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7228m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0916m, Along-Track= 0.3612m, Cross-Track= 0.3964m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1253m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0485m, Along-Track= -0.0736m, Cross-Track= -1.0212m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3024m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.82) Type 1059: SSR GPS Satellite Code Bias tow=194015s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.82) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=194020s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2265m, Along-Track= -0.3812m, Cross-Track= -0.9472m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2120m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.1992m, Along-Track= -4.7128m, Cross-Track= 0.1020m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4750m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8524m, Along-Track= -0.3824m, Cross-Track= -0.1296m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4225m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0051m, Along-Track= -0.1008m, Cross-Track= -0.2620m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2757m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0857m, Along-Track= -0.7940m, Cross-Track= 0.6132m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.9006m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0963m, Along-Track= 0.8924m, Cross-Track= -0.1184m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3980m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5556m, Along-Track= -1.5148m, Cross-Track= -1.2240m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.6012m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6114m, Along-Track= 0.4820m, Cross-Track= -0.0492m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2270m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9761m, Along-Track= 0.1112m, Cross-Track= -0.4424m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.7160m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3829m, Along-Track= -1.1128m, Cross-Track= 0.4908m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0554m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0662m, Along-Track= 0.5224m, Cross-Track= 0.2584m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2818m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6434m, Along-Track= 0.6820m, Cross-Track= -0.6920m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0383m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5540m, Along-Track= -0.1940m, Cross-Track= -0.0592m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5154m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0912m, Along-Track= 1.3440m, Cross-Track= -0.0228m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0712m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8118m, Along-Track= 1.6900m, Cross-Track= 0.6048m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4853m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1275m, Along-Track= -0.2916m, Cross-Track= 1.0884m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8729m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6136m, Along-Track= 0.7336m, Cross-Track= -0.1196m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2101m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1082m, Along-Track= -0.1836m, Cross-Track= 0.6576m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5074m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6153m, Along-Track= -0.4100m, Cross-Track= -0.4352m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0689m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6216m, Along-Track= 0.1968m, Cross-Track= 0.4676m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1567m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0678m, Along-Track= -0.4084m, Cross-Track= 0.8124m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3618m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1513m, Along-Track= -1.2736m, Cross-Track= -0.3860m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1147m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0782m, Along-Track= 1.0928m, Cross-Track= -0.4904m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -2.0108m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1983m, Along-Track= -0.1188m, Cross-Track= 0.6292m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4384m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7261m, Along-Track= -0.2296m, Cross-Track= -0.3576m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4692m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4934m, Along-Track= 2.1160m, Cross-Track= -1.0444m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0764m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8966m, Along-Track= 0.0628m, Cross-Track= 1.0368m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3709m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0351m, Along-Track= 0.4580m, Cross-Track= 0.6580m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3143m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1568m, Along-Track= 0.0692m, Cross-Track= 0.0728m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7161m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0923m, Along-Track= 0.3620m, Cross-Track= 0.3964m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1268m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0484m, Along-Track= -0.0740m, Cross-Track= -1.0204m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3059m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.82) Type 1059: SSR GPS Satellite Code Bias tow=194020s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.82) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=194025s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2251m, Along-Track= -0.3824m, Cross-Track= -0.9476m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2059m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.2000m, Along-Track= -4.7124m, Cross-Track= 0.0996m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4847m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8525m, Along-Track= -0.3836m, Cross-Track= -0.1288m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4183m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0049m, Along-Track= -0.1004m, Cross-Track= -0.2616m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2750m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0857m, Along-Track= -0.7948m, Cross-Track= 0.6128m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.9023m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0966m, Along-Track= 0.8936m, Cross-Track= -0.1188m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3981m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5554m, Along-Track= -1.5136m, Cross-Track= -1.2256m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5922m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6111m, Along-Track= 0.4812m, Cross-Track= -0.0488m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2269m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9760m, Along-Track= 0.1116m, Cross-Track= -0.4424m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.7151m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3818m, Along-Track= -1.1120m, Cross-Track= 0.4912m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0621m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0653m, Along-Track= 0.5232m, Cross-Track= 0.2592m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2762m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6431m, Along-Track= 0.6816m, Cross-Track= -0.6920m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0411m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5540m, Along-Track= -0.1952m, Cross-Track= -0.0588m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.5094m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0909m, Along-Track= 1.3440m, Cross-Track= -0.0228m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0702m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8115m, Along-Track= 1.6900m, Cross-Track= 0.6052m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4831m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1271m, Along-Track= -0.2912m, Cross-Track= 1.0892m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8745m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6140m, Along-Track= 0.7348m, Cross-Track= -0.1196m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2082m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1080m, Along-Track= -0.1852m, Cross-Track= 0.6576m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5109m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6152m, Along-Track= -0.4100m, Cross-Track= -0.4344m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0685m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6212m, Along-Track= 0.1972m, Cross-Track= 0.4672m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1571m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0683m, Along-Track= -0.4080m, Cross-Track= 0.8124m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3573m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1519m, Along-Track= -1.2744m, Cross-Track= -0.3856m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1191m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0786m, Along-Track= 1.0928m, Cross-Track= -0.4908m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -2.0117m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1982m, Along-Track= -0.1184m, Cross-Track= 0.6300m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4387m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7266m, Along-Track= -0.2308m, Cross-Track= -0.3576m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4683m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4932m, Along-Track= 2.1152m, Cross-Track= -1.0436m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0791m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8974m, Along-Track= 0.0636m, Cross-Track= 1.0348m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3785m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0354m, Along-Track= 0.4572m, Cross-Track= 0.6568m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3124m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1568m, Along-Track= 0.0688m, Cross-Track= 0.0736m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7120m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0925m, Along-Track= 0.3624m, Cross-Track= 0.3964m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1280m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0484m, Along-Track= -0.0740m, Cross-Track= -1.0204m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3082m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.82) Type 1059: SSR GPS Satellite Code Bias tow=194025s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.82) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=194030s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2257m, Along-Track= -0.3832m, Cross-Track= -0.9476m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2026m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.2007m, Along-Track= -4.7124m, Cross-Track= 0.0984m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4989m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8530m, Along-Track= -0.3832m, Cross-Track= -0.1284m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4215m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0054m, Along-Track= -0.1008m, Cross-Track= -0.2624m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2763m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0857m, Along-Track= -0.7944m, Cross-Track= 0.6124m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8959m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0961m, Along-Track= 0.8944m, Cross-Track= -0.1192m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3986m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5551m, Along-Track= -1.5136m, Cross-Track= -1.2268m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5856m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6104m, Along-Track= 0.4820m, Cross-Track= -0.0492m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2265m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9758m, Along-Track= 0.1120m, Cross-Track= -0.4424m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.7149m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3816m, Along-Track= -1.1116m, Cross-Track= 0.4920m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0638m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0644m, Along-Track= 0.5240m, Cross-Track= 0.2592m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2760m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6426m, Along-Track= 0.6816m, Cross-Track= -0.6920m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0484m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5536m, Along-Track= -0.1952m, Cross-Track= -0.0588m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4965m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0904m, Along-Track= 1.3440m, Cross-Track= -0.0224m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0656m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8114m, Along-Track= 1.6904m, Cross-Track= 0.6060m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4817m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1265m, Along-Track= -0.2908m, Cross-Track= 1.0904m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8776m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6136m, Along-Track= 0.7348m, Cross-Track= -0.1192m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2054m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1074m, Along-Track= -0.1852m, Cross-Track= 0.6576m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5139m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6148m, Along-Track= -0.4104m, Cross-Track= -0.4340m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0683m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6211m, Along-Track= 0.1976m, Cross-Track= 0.4672m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1615m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0675m, Along-Track= -0.4080m, Cross-Track= 0.8120m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3508m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1516m, Along-Track= -1.2752m, Cross-Track= -0.3860m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1255m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0790m, Along-Track= 1.0940m, Cross-Track= -0.4904m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -2.0176m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1984m, Along-Track= -0.1188m, Cross-Track= 0.6312m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4360m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7272m, Along-Track= -0.2316m, Cross-Track= -0.3580m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4816m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4922m, Along-Track= 2.1148m, Cross-Track= -1.0416m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0812m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8984m, Along-Track= 0.0640m, Cross-Track= 1.0328m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3843m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0361m, Along-Track= 0.4572m, Cross-Track= 0.6572m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3075m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1566m, Along-Track= 0.0700m, Cross-Track= 0.0740m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7097m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0923m, Along-Track= 0.3632m, Cross-Track= 0.3968m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1317m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0484m, Along-Track= -0.0744m, Cross-Track= -1.0196m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3073m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.82) Type 1059: SSR GPS Satellite Code Bias tow=194030s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.82) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=194035s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2248m, Along-Track= -0.3832m, Cross-Track= -0.9472m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2026m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.2021m, Along-Track= -4.7132m, Cross-Track= 0.0964m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5121m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8530m, Along-Track= -0.3836m, Cross-Track= -0.1276m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4224m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0045m, Along-Track= -0.1000m, Cross-Track= -0.2620m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2770m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0862m, Along-Track= -0.7940m, Cross-Track= 0.6128m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8999m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0955m, Along-Track= 0.8944m, Cross-Track= -0.1192m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3987m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5560m, Along-Track= -1.5132m, Cross-Track= -1.2280m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5763m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6104m, Along-Track= 0.4812m, Cross-Track= -0.0492m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2243m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9764m, Along-Track= 0.1116m, Cross-Track= -0.4424m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.7125m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3814m, Along-Track= -1.1124m, Cross-Track= 0.4924m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0651m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0643m, Along-Track= 0.5248m, Cross-Track= 0.2588m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2788m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6422m, Along-Track= 0.6816m, Cross-Track= -0.6920m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0499m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5529m, Along-Track= -0.1956m, Cross-Track= -0.0596m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4837m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0896m, Along-Track= 1.3440m, Cross-Track= -0.0212m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0601m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8113m, Along-Track= 1.6908m, Cross-Track= 0.6060m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4794m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1259m, Along-Track= -0.2908m, Cross-Track= 1.0908m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8783m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6135m, Along-Track= 0.7352m, Cross-Track= -0.1184m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2074m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1081m, Along-Track= -0.1860m, Cross-Track= 0.6580m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5162m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6145m, Along-Track= -0.4108m, Cross-Track= -0.4332m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0700m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6210m, Along-Track= 0.1980m, Cross-Track= 0.4668m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1650m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0688m, Along-Track= -0.4084m, Cross-Track= 0.8124m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3481m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1512m, Along-Track= -1.2760m, Cross-Track= -0.3864m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1277m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0797m, Along-Track= 1.0944m, Cross-Track= -0.4896m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -2.0226m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1985m, Along-Track= -0.1184m, Cross-Track= 0.6316m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4366m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7276m, Along-Track= -0.2324m, Cross-Track= -0.3584m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4904m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4918m, Along-Track= 2.1132m, Cross-Track= -1.0416m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0819m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.8993m, Along-Track= 0.0652m, Cross-Track= 1.0308m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4121m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0360m, Along-Track= 0.4572m, Cross-Track= 0.6564m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3020m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1562m, Along-Track= 0.0696m, Cross-Track= 0.0740m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7098m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0930m, Along-Track= 0.3636m, Cross-Track= 0.3968m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1272m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0482m, Along-Track= -0.0756m, Cross-Track= -1.0196m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3066m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.82) Type 1059: SSR GPS Satellite Code Bias tow=194035s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.83) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=194040s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2250m, Along-Track= -0.3840m, Cross-Track= -0.9476m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2022m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.2033m, Along-Track= -4.7124m, Cross-Track= 0.0940m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5173m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8530m, Along-Track= -0.3836m, Cross-Track= -0.1272m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4305m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0041m, Along-Track= -0.1004m, Cross-Track= -0.2620m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2816m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0869m, Along-Track= -0.7940m, Cross-Track= 0.6124m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8926m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0958m, Along-Track= 0.8948m, Cross-Track= -0.1200m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3974m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5561m, Along-Track= -1.5128m, Cross-Track= -1.2292m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5721m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6096m, Along-Track= 0.4808m, Cross-Track= -0.0488m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2251m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9765m, Along-Track= 0.1120m, Cross-Track= -0.4432m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.7096m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3810m, Along-Track= -1.1116m, Cross-Track= 0.4928m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0689m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0636m, Along-Track= 0.5252m, Cross-Track= 0.2592m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2858m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6424m, Along-Track= 0.6820m, Cross-Track= -0.6920m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0533m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5525m, Along-Track= -0.1956m, Cross-Track= -0.0588m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4774m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0896m, Along-Track= 1.3448m, Cross-Track= -0.0208m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0596m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8115m, Along-Track= 1.6908m, Cross-Track= 0.6064m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4759m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1260m, Along-Track= -0.2908m, Cross-Track= 1.0916m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8814m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6136m, Along-Track= 0.7356m, Cross-Track= -0.1192m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2136m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1075m, Along-Track= -0.1876m, Cross-Track= 0.6584m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5182m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6145m, Along-Track= -0.4116m, Cross-Track= -0.4324m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0696m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6209m, Along-Track= 0.1988m, Cross-Track= 0.4664m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1595m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0684m, Along-Track= -0.4084m, Cross-Track= 0.8116m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3541m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1505m, Along-Track= -1.2772m, Cross-Track= -0.3868m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1264m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0800m, Along-Track= 1.0948m, Cross-Track= -0.4892m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -2.0253m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1980m, Along-Track= -0.1188m, Cross-Track= 0.6316m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4391m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7288m, Along-Track= -0.2336m, Cross-Track= -0.3592m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4911m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4917m, Along-Track= 2.1128m, Cross-Track= -1.0404m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0837m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.9001m, Along-Track= 0.0660m, Cross-Track= 1.0296m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4479m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0375m, Along-Track= 0.4572m, Cross-Track= 0.6564m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2962m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1561m, Along-Track= 0.0704m, Cross-Track= 0.0744m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7138m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0931m, Along-Track= 0.3640m, Cross-Track= 0.3972m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1207m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0480m, Along-Track= -0.0760m, Cross-Track= -1.0196m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3026m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.83) Type 1059: SSR GPS Satellite Code Bias tow=194040s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.83) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=194045s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2248m, Along-Track= -0.3840m, Cross-Track= -0.9476m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2049m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.2040m, Along-Track= -4.7128m, Cross-Track= 0.0924m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5228m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8530m, Along-Track= -0.3828m, Cross-Track= -0.1264m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4230m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0043m, Along-Track= -0.1004m, Cross-Track= -0.2624m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2826m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0873m, Along-Track= -0.7936m, Cross-Track= 0.6132m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8909m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0956m, Along-Track= 0.8952m, Cross-Track= -0.1192m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3982m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5560m, Along-Track= -1.5124m, Cross-Track= -1.2308m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5661m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6094m, Along-Track= 0.4812m, Cross-Track= -0.0488m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2256m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9765m, Along-Track= 0.1120m, Cross-Track= -0.4424m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.7024m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3811m, Along-Track= -1.1116m, Cross-Track= 0.4932m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0685m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0628m, Along-Track= 0.5260m, Cross-Track= 0.2592m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2964m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6413m, Along-Track= 0.6816m, Cross-Track= -0.6920m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0548m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5523m, Along-Track= -0.1952m, Cross-Track= -0.0588m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4645m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0893m, Along-Track= 1.3448m, Cross-Track= -0.0204m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0589m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8118m, Along-Track= 1.6912m, Cross-Track= 0.6064m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4766m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1258m, Along-Track= -0.2908m, Cross-Track= 1.0924m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8659m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6138m, Along-Track= 0.7356m, Cross-Track= -0.1180m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2257m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1071m, Along-Track= -0.1888m, Cross-Track= 0.6584m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5140m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6146m, Along-Track= -0.4112m, Cross-Track= -0.4316m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0686m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6211m, Along-Track= 0.1984m, Cross-Track= 0.4664m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1571m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0692m, Along-Track= -0.4088m, Cross-Track= 0.8116m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3631m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1508m, Along-Track= -1.2772m, Cross-Track= -0.3864m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1301m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0809m, Along-Track= 1.0952m, Cross-Track= -0.4888m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -2.0255m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1978m, Along-Track= -0.1180m, Cross-Track= 0.6328m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4367m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7295m, Along-Track= -0.2348m, Cross-Track= -0.3592m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4966m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4910m, Along-Track= 2.1116m, Cross-Track= -1.0400m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0832m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.9011m, Along-Track= 0.0672m, Cross-Track= 1.0268m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4678m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0374m, Along-Track= 0.4572m, Cross-Track= 0.6556m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2925m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1564m, Along-Track= 0.0708m, Cross-Track= 0.0744m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7195m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0936m, Along-Track= 0.3652m, Cross-Track= 0.3968m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1135m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0478m, Along-Track= -0.0756m, Cross-Track= -1.0188m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3001m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.83) Type 1059: SSR GPS Satellite Code Bias tow=194045s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.83) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=194050s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2238m, Along-Track= -0.3844m, Cross-Track= -0.9480m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2078m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.2048m, Along-Track= -4.7124m, Cross-Track= 0.0896m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5307m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8529m, Along-Track= -0.3832m, Cross-Track= -0.1268m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4220m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0039m, Along-Track= -0.0996m, Cross-Track= -0.2628m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2893m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0880m, Along-Track= -0.7940m, Cross-Track= 0.6128m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8929m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0951m, Along-Track= 0.8960m, Cross-Track= -0.1204m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3998m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5566m, Along-Track= -1.5120m, Cross-Track= -1.2316m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5619m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6089m, Along-Track= 0.4804m, Cross-Track= -0.0488m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2330m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9766m, Along-Track= 0.1128m, Cross-Track= -0.4424m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.7001m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3807m, Along-Track= -1.1116m, Cross-Track= 0.4936m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0669m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0632m, Along-Track= 0.5268m, Cross-Track= 0.2592m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2974m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6410m, Along-Track= 0.6820m, Cross-Track= -0.6928m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0510m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5529m, Along-Track= -0.1956m, Cross-Track= -0.0596m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4633m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0884m, Along-Track= 1.3448m, Cross-Track= -0.0200m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0600m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8115m, Along-Track= 1.6920m, Cross-Track= 0.6068m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4768m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1251m, Along-Track= -0.2908m, Cross-Track= 1.0928m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8462m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6138m, Along-Track= 0.7360m, Cross-Track= -0.1184m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2325m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1074m, Along-Track= -0.1892m, Cross-Track= 0.6580m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5112m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6144m, Along-Track= -0.4116m, Cross-Track= -0.4316m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0694m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6206m, Along-Track= 0.1992m, Cross-Track= 0.4660m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1522m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0688m, Along-Track= -0.4088m, Cross-Track= 0.8112m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3724m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1501m, Along-Track= -1.2780m, Cross-Track= -0.3872m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1273m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0806m, Along-Track= 1.0952m, Cross-Track= -0.4892m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -2.0243m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1985m, Along-Track= -0.1184m, Cross-Track= 0.6336m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4379m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7298m, Along-Track= -0.2360m, Cross-Track= -0.3592m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4955m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4907m, Along-Track= 2.1108m, Cross-Track= -1.0388m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0833m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.9020m, Along-Track= 0.0684m, Cross-Track= 1.0252m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4773m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0382m, Along-Track= 0.4568m, Cross-Track= 0.6556m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2870m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1566m, Along-Track= 0.0712m, Cross-Track= 0.0752m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7223m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0942m, Along-Track= 0.3656m, Cross-Track= 0.3972m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1049m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0477m, Along-Track= -0.0760m, Cross-Track= -1.0192m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2956m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.83) Type 1059: SSR GPS Satellite Code Bias tow=194050s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) RTCM3 (2011-04-10T22:37:57.83) Type 1060: SSR GPS Combined Orbit and Clock Correction tow=194055s, interval= 1s ( 0), Multiple Messages=last, Datum=ITRF (0), Satellites=31 SV= 2, IOD=118, Radial= 0.2237m, Along-Track= -0.3852m, Cross-Track= -0.9476m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2044m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 3, IOD= 31, Radial= -1.2062m, Along-Track= -4.7120m, Cross-Track= 0.0876m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5353m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 4, IOD= 36, Radial= -0.8536m, Along-Track= -0.3828m, Cross-Track= -0.1260m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4199m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 5, IOD= 82, Radial= 0.0034m, Along-Track= -0.1000m, Cross-Track= -0.2632m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.2999m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 6, IOD= 53, Radial= -1.0877m, Along-Track= -0.7940m, Cross-Track= 0.6132m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.8925m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 7, IOD= 34, Radial= -0.0952m, Along-Track= 0.8964m, Cross-Track= -0.1204m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4030m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 8, IOD= 65, Radial= -0.5571m, Along-Track= -1.5120m, Cross-Track= -1.2332m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.5637m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV= 9, IOD= 50, Radial= -0.6087m, Along-Track= 0.4800m, Cross-Track= -0.0496m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.2392m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=10, IOD= 96, Radial= -0.9769m, Along-Track= 0.1128m, Cross-Track= -0.4424m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.7013m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=11, IOD= 35, Radial= -1.3805m, Along-Track= -1.1116m, Cross-Track= 0.4952m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0643m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=12, IOD= 56, Radial= -0.0621m, Along-Track= 0.5272m, Cross-Track= 0.2600m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.3053m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=13, IOD= 37, Radial= -1.6404m, Along-Track= 0.6808m, Cross-Track= -0.6928m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0525m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=14, IOD= 1, Radial= -1.5519m, Along-Track= -0.1964m, Cross-Track= -0.0596m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4621m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=15, IOD= 64, Radial= -0.0883m, Along-Track= 1.3456m, Cross-Track= -0.0192m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0581m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=16, IOD= 91, Radial= -1.8113m, Along-Track= 1.6924m, Cross-Track= 0.6076m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.4733m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=17, IOD=111, Radial= 0.1251m, Along-Track= -0.2904m, Cross-Track= 1.0936m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.8364m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=18, IOD= 83, Radial= -1.6135m, Along-Track= 0.7364m, Cross-Track= -0.1184m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.2375m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=19, IOD= 87, Radial= 0.1069m, Along-Track= -0.1904m, Cross-Track= 0.6588m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.5145m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=20, IOD= 57, Radial= -1.6144m, Along-Track= -0.4112m, Cross-Track= -0.4312m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.0746m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=21, IOD= 34, Radial= -1.6207m, Along-Track= 0.1996m, Cross-Track= 0.4660m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 1.1401m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=22, IOD= 42, Radial= -0.0694m, Along-Track= -0.4084m, Cross-Track= 0.8112m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.3832m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=23, IOD= 47, Radial= 0.1502m, Along-Track= -1.2792m, Cross-Track= -0.3872m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.1265m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=24, IOD= 80, Radial= -1.0811m, Along-Track= 1.0960m, Cross-Track= -0.4884m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -2.0239m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=25, IOD= 61, Radial= -1.1985m, Along-Track= -0.1184m, Cross-Track= 0.6348m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.4352m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=26, IOD= 21, Radial= -0.7301m, Along-Track= -0.2368m, Cross-Track= -0.3604m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -1.4965m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=27, IOD=114, Radial= -0.4909m, Along-Track= 2.1100m, Cross-Track= -1.0376m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0869m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=28, IOD=111, Radial= -1.9022m, Along-Track= 0.0692m, Cross-Track= 1.0232m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.4832m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=29, IOD= 16, Radial= -0.0385m, Along-Track= 0.4572m, Cross-Track= 0.6556m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2827m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=30, IOD=105, Radial= -1.1561m, Along-Track= 0.0712m, Cross-Track= 0.0752m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= 0.7269m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=31, IOD=109, Radial= 0.0943m, Along-Track= 0.3664m, Cross-Track= 0.3972m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.0995m, C1= 0.000000m/s, C2= 0.00000000m/s2 SV=32, IOD= 70, Radial= -1.0473m, Along-Track= -0.0768m, Cross-Track= -1.0184m Dot Radial= 0.000000m/s, Dot Along-Track= 0.000000m/s, Dot Cross-Track= 0.000000m/s Delta Clock C0= -0.2910m, C1= 0.000000m/s, C2= 0.00000000m/s2 RTCM3 (2011-04-10T22:37:57.83) Type 1059: SSR GPS Satellite Code Bias tow=194055s, interval= 1s ( 0), Multiple Messages=last, Satellites=31 SV= 2, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.06m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 3, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.24m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 4, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.27m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 5, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 6, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.02m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 7, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.34m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 8, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.25m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV= 9, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.04m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=10, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.65m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=11, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=12, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=13, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=14, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.07m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=15, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.44m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=16, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.30m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=17, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.35m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=18, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.18m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=19, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.64m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=20, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=21, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.21m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=22, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.78m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=23, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.15m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=24, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.16m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=25, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.05m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=26, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.22m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=27, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.10m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=28, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.17m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=29, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.49m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=30, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.47m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=31, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= 0.37m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) SV=32, Code Biases=3 bias= 0.00m, type=L1 Z-tracking and similar (AS on) ( 2) bias= -0.43m, type=L1 C/A ( 0) bias= 0.00m, type=L2 Z-tracking and similar (AS on) (11) gpsd-3.9/test/rtcm3-1.log0000664000175000017500000011027411762140440013344 0ustar esresr# Name: Ntrip caster log from http://products.igs-ip.net/ # Description: RTCM3 data from an Ntrip caster # Submitted-by: Chris Kuethe # Date: 2011-03-01 # Notes: The NTRIP source table entry is: # STR;CLK50;BRDC_CoM_ITRF;RTCM 3.0;1059(10),1060(10);0;GPS;Misc;DEU;50.00;10.00;0;1;RETINA;none;B;N;1800;ESA/ESOC ÁÖÿƒpõîÐEÿßèLöø2X„ú¢?Äoýø§à™Ï:—ßÿ?ÌV)ƒýžàÿ» þšdäÐÿšèT€ÔÀ 8ÿóœ;€ i/÷ê ]ÿ)`‘€Âúÿâ¯ÿu3ÿàØ‡üÀÿñ\¿îJ@A˜rÓ ·€ œÿ£ ÜŠIOü`ÿìp“Xjà4óh.€ €9ÿ;ÿÿîd\©ø€˜’À­@Š¿ý‚ÿÀ°ùøŸ€.^1ùàâPÿñ …õ‘*?þÇ@öb` žÿ¢uÿÛ` úàhWþCOþÿÉþÚвøÿážoõ·ÿý{ýÀþº`­=JÓB2õbbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬Ù†Ó!BBõg ؒïüiÿl`=øcÿé~ØŸ€$ÿ{sÿ?úˆZ* ÿýùÿ¯€À Õÿÿƒpøî“EÿßøLÿöð2Œ„ú¢?Äoýøœ ™Ï@—¿ÿ?Ìv)ƒýžÀÿ» þhdäÔÿšðUÏ 8ÿóž;À Zi/÷ë [ÿ)`Œð€Âûÿâ¯ÿt8ÿà°‡ÿüÈÿñ0¿îH@Aœr@з€ µÿ£ÀâIOü@ÿì`”Pjà7óh.€“9ÿ?ÿÿîl\(©ø˜’ ©°Š¿ý€ÿÀ ùøÙ€.^0÷ùßâHÿñð…õ@*Gþǀöb žÿ¢wÿÛ@ ühWþCþÿÉþ9xn_ö*§GúȀÿtoþÚÜ@*,Úªè‡ÿâ Ð`ÿi šÒ­ P€’>Úè²€øÿáðoõžÿýsýÀþ¹ UµGÓB2õgbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬#×üÓ!BBõl ؒ¿ühÿl€>ðcÿé~ØŒ€%À$ÿ{sÿúr* _ý÷ÿ¯ Ÿ°ÕùÿƒpöEÿà(Löð3„ú¡¿Äwý@ø‹à™ÏD—ßÿ?Ì®)ƒýŸ0ÿ» þšdäÖÿšðU€Ô@ 8ÿóÔ<@ ¶i/÷ì [ÿ) ‹€€Ãÿâÿs/€ÿàšˆüàÿðØ¿îHÀA€sÌ ·€ «ÿ£àæ©IOü€ÿ쀔ðjà2ÿóP/š€9ÿ;ÿîl\~©ø€ž’À¥ÐŠ¿ý‚ÿÀøøÓ€.^1ùÞâHÿò…õŒÀ*KþÈö_à žÿ¢uÿÛ@ üøhWþBýýÿÉþ7Èn_ö+€§GúÊÿsÀoþÚØÀ*ڌè‡ÿá  Ð@ÿjКҚ p¥Š€>Úȳ€èÿáàoõ¹ýsý€þ» ÆkÑÓB2õlbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€b꬞Ó!BBõq ؒ_ügÿlp?˜cÿé þÐº8@$ÿ{Wÿú˜Ô* Ÿýùÿ¯€À Õõÿƒ÷î˜Eÿà@M÷2€„ú¡Ä{ý@ø@™ÏN—ßÿ?̱)ƒýŸÿ»þ däÕšðVßÀ 8ÿóä<@ ²i/÷ì ]ÿ)@à€à ÿâÿt3ÿàø‡ÿüèÿðX¿îIÀAšsÁ·€ ¥ÿ£ÀèÏIOüpÿ쀕pjà2ÿó@0ºÀ9ÿSÿ¿îx\è©ø ’À€àŠ¿ý{ÿÀ°ùø×.^0ßùÝâ8ÿñd…õ@*OþÇÀö_@ žÿ¢oÿÛ@ hWþAïýýÿÉþ6n_ö2€§'úˀÿtÀoþÚž*Ú`è‡ÿá Ð@ÿj€šÒ± €Šy€>ÚŽðÿâoõ¹?ýoý€þ»@„tµÓB2õqbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬ÞáÓ!BBõv ؒ/üeÿlp?øcÿé~àž7À$ÿ{Sÿÿú˜‚* ýûÿ¯€ÁPÕïÿƒ€øîEÿàHNöø2<„ú ¿Äýøy@™ÏZ—¿ÿ?Ì€)ƒýžÀÿ»þ°dä×ÿšøV€Ú 8ÿóü=@ Ìi/÷í` [ÿ)@À€à ÿâÿt:€ÿá0ˆÿüøÿïпîIÀA¬s€³ ·€ ¡ÿ€ì IOü0 ÿì •°jà1ó(/Ú@9ÿCÿ?î|\Œ©ø  ’ €0Š¿ý|ÿÀ€÷øÝ.^0§ùÜâ0ÿñŽ…õ@*SþÈ@ö\  žÿ¢yÿÛ@ hWþA¿ýùÿÈàþ7àn_ö1§ú̀ÿz€oþڔ@)øÚÊè‡ÿà@ ÏàÿkàšÒª §X>Ú Ž€èÿâ oõ¹?ýký€þ· óÓB2õvbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬>§˜Ó!BBõ{ ؑÿüdÿlP@ cÿéþÐµ9À$ÿ{[ÿ?ú ‘* ýùÿ¯@Á0Õïÿƒ÷î’EÿàhOöø1ø„ú ÿćýø|€™Ïl—¿ÿ?Ìy)ƒýžÐ ÿ» þèdäÜšðWÒ 8ÿóü=À 8i/÷í _ÿ)’p€à ÿâÿt;ÿá ˆýÿï¿îIA°tªà·€ Ÿÿ£Àò­IOü€ ÿ쐕xjà/ÿó/€ô€9ÿSÿÿî„\Ê©øÀŠ’€¥PŠ¿ýuÿÀöøÕ€.^0·ùÛâ(ÿñà…õŒ@*SþÈ@öZà žÿ¢gÿÛ /hWþAßý÷ÿÈðþ:°n_ö5Šÿú̀ÿ€ÀoþÚl)ìÚòè‡ÿà Ðÿf šÒ± šB€>Ú(¶ðÿáhoõº?ýgýÀþµ ³ÙÓB2õ{bý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bꬭßîÓ!BBõ€ ؒübÿlpCcÿèü~Ð³9€$ÿ{Oÿ¿ú€ò* ?ýûÿ¯@ Õîÿƒ÷EÿàXPöð2t„ú ?ćý€ø…™Ïn—¿ÿ?Ì|)ƒýžðÿ»þpdäÜ©XÊ 8ÿô> i/÷íà ]ÿ)‘€ÃÿâÿsP€ÿáx‰ýÿîKA°sÀ¡ ·€ ‹ÿ€òµIOüPÿ찏8jà/ÿó09ÿ;ÿ?îˆ\’©ø`Š’ ŠPŠ¿ýxÿÀ€÷øÉ€.^0·ùÙÿâ0ÿñp…õŠÀ*_þÈÀöV€ žÿ¢{ÿÛ >hWþAýôÿÈàþ;(n_ö7ŠçúπÿŒ€oþÚ<À)Üۘè‡ÿß` ÏÀÿe`šÒ°  §$>Ú ¶€øÿáoõº¿ýgýÀþ¶ ºu1ÓB2õ€bý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬ ÕôÓ!BBõ… ؑ_ü`ÿlPDðcÿèö~Ø°€A€$ÿ{Kÿú€‘p* ÿýýÿ¯ À@Õäÿƒ€÷EÿàxPÿöð2”„úŸċý€ø‹@™ϊ—Ÿÿ?Ìi)ƒýŸ ÿ»þ däßÿšðX€ɀ 8ÿô$>€ Œi/÷ï@ [ÿ) “P€ÃÿâÿqG€ÿáPŠý ÿï¿îKAŽt€ž·€ ÿ€ ø¹IOü@ ÿì°Šhjà1òè1€9ÿGÿ?îŒ\v©ø ª’€¥Š¿ýtÿÀ€öøÃ€.^0ùÙâ(ÿñü…õ‹@*[þÉ@öY€ žÿ¢gÿÛ@ qhWþ@¯ýóÿÈàþ:n_ö:ŠÏúÑÿ‹@oþÚ$À)Èۖè‡ÿß  ÏÀÿa šÒ³ °ª€>ÚH·€ðÿáHoõ¹ÿý_ýÀþ¹s\ÓB2õ…bý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬ÚŽÓ!BBõŠ ؑoü_ÿl`Gcÿèô~Ð­H$ÿ{Cÿÿúš‘X* ßýûÿ¯ Õáÿƒ€ùî»EÿàhQÿöð2°„úž?ėýÀøŽ€™ό—¿ÿ?Ìc)ƒýž  ÿ»þPdäàÿ©YЀ 8ÿôD>€ *i/÷ð ]ÿ(à”P€ÃÿâÿsU€ÿáX‰ÿý8ÿî ¿îLAÀtÀ—À·€ ‡ÿ€úœIOüP!ÿìÀ…€jà+ÿòØ1€,9ÿSÿ¿î”\b©øÀ®’€¥pŠ¿ývÿÀ€÷øÉ€.^0·ùØÿâ(ÿñÔ…õ‰*gþÉ@öZ žÿ¢mÿÛ@ whWþ@?ýðÿÈÐþ:8n_ö:€Š·úҀÿ”€oþÚÀ)ŒÛ@è‡ÿÞàþÏ ÿ]pšÒ· Ъ >Ú žðÿáDoõ»?ý[ýÀþ¹À˜îÓB2õŠbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬S ûÓ!BBõ ؑOü^ÿl@G˜cÿèì~Ø«LÀ$ÿ{3ÿÿú°‘ô* ?ýûÿ¯@ōÕÝÿƒùîÔEÿà˜Qÿöà2x„úŸ¿Ä“ýø‹™ϔ—Ÿÿ?̧)ƒýž ÿ»þ °dääÿšøZÜÀ 8ÿô`?€ \i/÷ð Yÿ(À”€Ãÿâ_ÿrSÿᚊý@ÿî<¿îJ@AÀu’À·€ qÿ€ ŒIOü@"ÿìÀ‚jà+òÈ1€@@9ÿcÿÿî”[è©ø °’ Š Š¿ýxÿÀ€õøÔ.^0_ù×â(ÿò<…õ‰*cþÉ@ö[  žÿ¢kÿÛ „hWþ@oýìÿÈÐþ7Èn_ö;€Š§úӀÿ’€oþÙà)šÚòè‡ÿÝàþπÿ[ šÒ³ Ъô>Ú`ž€øÿáàoõ»ýWý€@þº _‚òÓB2õbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bꬩÁÓ!BBõ” ؐïü\ÿl@G8cÿèéþØš€Q$ÿ{Cÿÿú°‘Î* ýÿÿ¯ ǍÕÖÿƒøîÏEÿà°Rÿöð2„úěý@ø†™Ϟ—Ÿÿ?ÌŒ)ƒýžð ÿ»þ ždäá©[ñ@ 8ÿôT?À vi/÷ðÀ [ÿ(à—0€Ãÿâ_ÿqH€ÿáž‹ý`ÿí¿îK€AÄu@€·€ yÿ€äIOü"ÿì°8jà+ÿò°2S9ÿ[ÿ¿îœ[š©ø@Ž’ š`Š¿ýuÿÀpõøì.^0ùÖâÿòì…õ‡€*kþÉÀö_À žÿ¢oÿÛ ohWþ?ÿýêÿÈàþ7Èn_ö=ŠúÔÿ‘@oþÙÀ€)œÛè‡ÿÝàüπÿXàšÒ» Ыí€>ÚX¹€ðÿâoõ»ýWý€€þº?HòÓB2õ”bý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬ÇmêÓ!BBõ™ ؐÿüZÿl0FðcÿèãþÀŠ\€$ÿ{Gÿ?úž‘* ýýÿ¯ É0Õ×ÿƒ øEÿàšSÿöð2À„úœÿėýÀø}™Ï®—Ÿÿ?Í )ƒýžà ÿ»þHdäæ©[€ À 8ÿô|@@ ôi/÷ñ@ Yÿ(À—@€Ã$ÿâOÿpFÿáð‹ýhÿìd¿îKAÈu€‡`·€ gÿ€ 'IOüP#ÿìÀ|jà,ÿòš2€g@9ÿOÿ¿î€[@©ø`²’ «0Š¿ýrÿÀ`õù€.^0oùÕÿâÿó„…õ‡*oþÊöc  žÿ¢gÿÛ@ ZhWþ?ýèÿÈÀþ:hn_ö?€Š‡úՀÿÀoþٔ@)ˆÛxè‡ÿ݀ Ï ÿM°šÒ¹ ЪÓ>Úšº€ðÿâ°oõ»ÿýSý€@þº`(±ÔÓB2õ™bý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬TœÓ!BBõž ؐ?üYÿl0GPcÿèÝ~Ø€g€$ÿ{'ÿúސÌ* þÿ¯ÍÕÐÿƒ úEÿàØTÿöà4 „ú›ÿÄ£ýøq ™Ϭ—_ÿ?ÍE)ƒýžà ÿ»þ8däé©\ 9 8ÿô|@À hi/÷ñ` [ÿ(À‘€€Ã&ÿâOÿp/€ÿáЋÿýhÿëô¿îL@AÌuÀ€€·€ aÿ€   IOüð#ÿìÐxPjà*òˆ2€ƒ€9ÿoÿ?î¬Zž©ø ž’ ¬Š¿ýnÿÀ€öù€.^0OùÔÿâÿóì…õ…*wþÊöc žÿ¢mÿÛ chWþ>ßýæÿȰþ8àn_öD€Šgú×ÿ…oþÙx€)tÛþè‡ÿÛÀüÏÿG0šÒ» ð¬¶>Ú »ÿãšoõœ¿ýOý€@þ·€#w5ÓB2õžbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bꬎ±åÓ!BBõ£ ؐoüYÿl0Ghcÿè×þÐ¡s$ÿ{ÿ¿úŒ‘J* Ÿýÿÿ®àÍ ÕÍÿƒÀùEÿàèTöØ4”„ú›ħý Àøc@™Ï—_ÿ?ÍT)ƒýžð ÿ»þ(däéÿ©\€ \€ 8ÿô A€ Ši/÷ò  [ÿ(ÀŽ`€Ã*ÿâ?ÿqL€ÿâ(‹ÿý€ÿ뀿îK€AÐvuÀ·€ Wÿ€@êIOü0$ÿìàw8jà)ÿòˆ2¢@9ÿkÿîšZ>©ø@ž’`¬ Š¿ýkÿÀpõù€.^0WùÓÿâÿòø…õ„À*sþÊö^à žÿ¢uÿÛ "+hWþ>ßýãÿȰþ:ðn_öGŠ_ú؀ÿj@oþÙL @)hÜàè‡ÿۀúÎàÿF@šÒŸ 𭈀>ÚÐŒ€ðÿåŽoõœýKý€Àþ³ CGÓB2õ£bý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬Ô%@Ó!BBõš ؏ïüVÿl GÈcÿèÔ~Èžo$ÿ{ ÿ?úÀ‘’* ýýÿ®ÀÊðÕÊÿƒ úEÿàØUöÐ4ø„úš?įý øSà™Ïėÿ?Íx)ƒýŸÿºðýûÐdäêÿ©]€ tÀ 8ÿô¬A@ Þi/÷ò€ Wÿ(` €Ã(ÿâ/ÿp‹€ÿâ‹ÿýˆÿìt¿îKAØv€l€·€ Kÿ€` 0IOü%ÿìàtðjà%òp3Ž@9ÿkÿ?îžYâ©ø Œ’`­pŠ¿ýiÿÀ`ôù#€.^0WùÒÿâÿó…õ„€*{þʀöYÀ žÿ¢mÿÚà $ hWþ>ýáÿȰþ<žn_öG€Š?úـÿP@oþÙ8 €)T݀è‡ÿÛÀúÎàÿF€šÒ ¬d>ÚÈ»€ðÿçðoõŒÿýGýþ¥@C÷ÎÓB2õšbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬ié3Ó!BBõ­ ؏ÿüTÿl I(cÿèÌ~Ðœ[À$ÿ{ÿÿúÀ‘n* ¿þÿ¯ÈÕÅÿƒúîo€EÿáUöØ5€„ú™¿Ä«ý €øC@™ÏΗÿ?Í·)ƒýž ÿºðý÷hdäì©^ Ž€ 8ÿôèB i/÷ô Yÿ( ‰Ð€Ã+ÿâ/ÿo¹ÿâ0Œÿýÿîd¿îL€AÜwg·€ Qÿ€@ jIOü %ÿìðvPjà*ÿò`3Ò@9ÿ{ÿ?îžYD©øàÀ’ ¯ðŠ¿ýgÿÀpôù2€.^0ùÑÿâÿòT…õ„€*ƒþÊÀöX` žÿ¢gÿÛ *òhWþ>/ýÞÿȐþ>n_öI€Š/úÛÿ9ÀoþÙ!@)<Þè‡ÿÚ úΠÿCšÒ¿ ­B>ÚðœðÿéÄoõŸÿýGýþ›@ÜßNÓB2õ­bý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bꬓ!IÓ!BBõ² ؏¿üSÿlJ0cÿèÊþÐ™E$ÿ{ÿ?úȐä* ?þÿ® Æ`ÕÀÿƒ°úîrEÿáVöØ6T„úšijý Àø;À™Ïâ—?ÿ?Î)ƒýžpÿºàýò däðÿ©^€ §€ 8ÿôäB xi/÷ô@ Wÿ(€‰€€Ã.ÿâ/ÿoõÿâpŒý˜ÿït¿îLAØw@Zà·€ Kÿ€` †IOüP%ÿíuàjà'ÿòP4ò@9ÿoÿÿîÀXò©ø Ÿ’`²°Š¿ýjÿÀpôù.^0ùÐáøÿñì…õ€*þÊÀöUÀ žÿ¢aÿÛ (ÚhWþ=¿ýÚÿÈ þ>n_öKŠ'úÜÿ(oþØð!€),Þ®è‡ÿÙàøÎ€ÿC@šÒ¿ @¯>ÚøŸðÿëoõœ¿ý?ýþ” ê¹$ÓB2õ²bý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬ÉU$Ó!BBõ· ؏oüQÿl0HPcÿèÃ~È—3@$ÿ{ÿ¿úÈ‘h* ¿þÿ®ÀÁ`ÕÁÿƒ°úî;Eÿá@WöÐ7T„ú™¿Ä¯ý Àø6À™Ïà—ÿ?În)ƒýž°ÿºÐýïèdäðÿ©_ »@ 8ÿôøC ’i/÷ô Yÿ(`ŠÐ€Ã/ÿâÿo€ÿ☌ÿý°ÿñL¿îN€AÜw@Q ·€ Gÿ€€ šIOü &ÿíuðjà&òH4€9ÿ‡ÿ¿îÌXœ©ø Ē€µðŠ¿ýdÿÀ`òù€.^/÷ùÐáøÿò$…õ@*‡þË@öUà žÿ¢iÿÛ .­hWþ=ŸýØÿȐþ=€n_öK¥ÿú݀ÿ€oþذ") ß*è‡ÿÙÀö΀ÿF°šÒÁ P®û€>ÚŸ€ðÿë0oõœ¿ý?ýþ“@ZµÓB2õ·bý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬3^Ó!BBõŒ ؎ÿüOÿlFÐcÿèœ~À”€€$ÿzóÿ?úÔ‘J*ßþÿ®€»PÕºÿƒÐúîEEÿáhWÿöÈ8š„ú—ÿÄ·ý @ø-`™Ïì–ÿÿ?ÎŒ)ƒýž@ÿºðýî däô©` Ù 8ÿõC€ èi/÷õ€ Wÿ(@ŠP€Ã8ÿáÿÿo?ÿ⚍ýÈÿò¿îMÀAÜwÀK`·€ =ÿ€ $ ßIOü0&ÿít€jà$ò(4€ À9ÿÿîÈWž©ø@Ē@·°Š¿ýkÿÀ`òù .^/×ùÎÿáèÿòì…õ@*‡þˀöR@ žÿ¢aÿÛ 2šhWþ=ý×ÿȀþ=àn_öL¥÷úÞÿÀoþؘ"À) ßÈè‡ÿ؀øÎ€ÿHpšÒÅ @¯Å>Ú¿ðÿëŒoõ¿ý7ýþ”9~öÓB2õŒbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bꬎQ-Ó!BBõÁ ؏üNÿlEÈcÿè¹þÈ’ûÀ$ÿzûÿÿúԐš*Ÿþÿ®ÀŽ Õ¹ÿƒÀûîN€EÿáPXÿöÐ9܄ú˜Ä¿ýø$ ™Ïþ—ÿ?Îû)ƒýžÿºàýìPdäöÿ©a í€ 8ÿõ CÀ ˜i/÷õ` Wÿ(@Š€Ã3ÿâÿod€ÿ➍ÿýÐÿó(¿îMAèx@G ·€ 5ÿ€ & ãIOüP)ÿí t(jà%ÿò49ÿÿÿîØVž©ø ƒ@ŒŠ¿ýbÿÀPñù.^0ùÍÿáèÿóT…õ*þËÀöTà žÿ¢iÿÚà 6hWþ<¿ýÓÿȀþÚ8À€ðÿì”oõÁ?ý7ý@þ 0éÃÓB2õÁbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€b꬯ÜÓ!BBõÆ ؏üOÿlEhcÿèµ~Ð€üÀ$ÿ{ÿ¿úܐÞ*Ÿþÿ®`°ðÕ·ÿƒÀúîd€EÿáˆXÿöÈ;„ú–¿ÄÇý€ø ™Зÿ ?Ï&)ƒýž@ÿºÐýéhdäö©a€ ùÀ 8ÿõ@D ”i/÷ö Wÿ( Šð€Ã:ÿáïÿm€ÿãŽýàÿóÔ¿îM€AìxA ·€ %ÿ€€, ÜIOü 'ÿí t8jà!ÿò49ÿkÿîÜV~©ø@ʒ Á@Š¿ýaÿÀPòøí€.^/÷ùÌÿáèÿód…õ@*“þËÀöP€ žÿ¢oÿÛ 8QhWþÚ8Áðÿì„oõ¿ý/ý€þÀ{Å©ÓB2õÆbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬OxgÓ!BBõË ؎¯üLÿlE`cÿè®~ÈŒÀ$ÿzóÿ¿úܐÒ*ßþÿ®`­ Õ­ÿƒ°ûîJEÿáYÿöÈ;Œ„ú–ÄÇý€ø#`™Жßÿ?ÏA)ƒýžPÿºàýçˆdä÷©a€ 8ÿõ`D€ `i/÷÷ Wÿ(@Š@€Ã@ÿáßÿo‰ÿãŽÿýðÿô€¿îNAèxÀAÀ·€ %ÿ€ .!:IOü`)ÿí@u°jà"ÿñø5@9ÿ“ÿîàUÈ©ø̒`ÆðŠ¿ýgÿÀPñøä€.^/ÏùËÿáðÿóœ…õ}@*ŸþÌ@öK@ žÿ¢gÿÛ <*hWþ;ïýÍÿÈpþ;n_öV¥¿úá€ÿoþØ<$(Üâè‡ÿ×@ôÎ ÿFšÒÆ p²€>Ú@Á€øÿì0oõÀ¿ý/ý€þà>lyÓB2õËbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬ÜÓ!BBõÐ ؎oüKÿkðEcÿèš~ÐŠ*€$ÿzóÿ¿úà®*_þÿ®€« Õ©ÿƒ°ûîNEÿá˜ZöÀ<,„ú—ÄËýø&`™Ð –ßÿ ?Ïb)ƒýž`ÿºÐýçèdäúÿ©b€  8ÿõPE Œi/÷÷À Sÿ(@†À€ÃBÿáïÿm†ÿã0Žÿýøÿõ¿îN€Aðy>à·€ ÿ€À2!—IOü@*ÿí0w€jà ÿñè5@9ÿÿ?îèUT©øÀΒ@ËŠ¿ý_ÿÀ`òøØ€.^/ÏùËÿáàÿòØ…õ}*£þÌ@öEÀ žÿ¢_ÿÛ >+hWþ;ïýÌÿÈPþ9n_öT€¥¯úâ€ÿoþØ $À(ÈâŽè‡ÿÖÀðÎÿ@šÒÌ ŽÉ>Úh€ÿìÔoõÁ?ý+ý‚þŒ€Û© ÓB2õÐbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bꬲ¬zÓ!BBõÕ ؎üJÿlD@cÿè¥~Ð‡€?À$ÿzÏÿ¿úè$*þÿ®`«ÀÕŠÿƒÀüîc€EÿážZöÀ=„ú•?ÄËý€ø&`™Ð–ÿÿ?ϖ)ƒýž@ÿºðýç8däü©c &@ 8ÿõlE€ i/÷ø Sÿ(ð€ÃGÿáÏÿnЁÿã0ŽÿþÿõX¿îNAøy>`·€ ÿ€À8!ÚIOü0)ÿí@wØjàÿñØ5€À9ÿ—ÿîèT䩸@Β@Ë@Š¿ýZÿÀPñø¿.^/ŸùÉÿáàÿò8…õ{@*§þÌ@ö@  žÿ¢YÿÚà B4hWþ:ÿýÈÿÈ@þ:˜n_öU€¥úã€ÿ,@oþØ%€(ŽâŒè‡ÿÖ ðÎÿ=PšÒÌ µ†>ÚhÃøÿìÐoõÂý+ýÀþÀ+šŽÓB2õÕbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬HdÓ!BBõÚ ؍ßüHÿkðCcÿèþÈ„€`@$ÿzÛÿÿúèê*ÿþ ÿ®@¬ÀÕ§ÿƒÐûîU€Eÿáž[ÿöÀ=p„ú–¿ÄÓý@ø%@™Ð.–ÿÿ?ÏÉ)ƒýžÿºàýçPdäÿ© d +@ 8ÿõŒF ni/÷øà Sÿ(‚°€ÃCÿáÏÿm‰€ÿãxþÿõŒ¿îMÀAøy@`·€ ÿ€à<!ÿIOü0*ÿí0yjàñÀ5€ý9ÿ‡ÿ?îøT@©ø Ԓ Ί¿ý^ÿÀPðøœ€.^/oùÉáàÿñL…õ{*£þ̀ö:@ žÿ¢kÿÚà D=hWþ:ÿýÆÿÈ0þ8€n_ö\€¥úä€ÿ8@oþ×è%À( âÐè‡ÿÖ òÍÀÿ:ÀšÒË  µS€>Ú€ÄøÿìXoõÂý#ýÀþŠ`Ž „ÓB2õÚbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬ÁpuÓ!BBõß ؍¯üFÿlBXcÿèš~Ðƒ|@$ÿzïÿÿúðÌ*þÿ®@¬Ð՜ÿƒÐüîl€Eÿáð[ÿöž=Ԅú•?Ä×ý@ø& ™Ð2–Ÿÿ ?Ïú)ƒýðÿºàýçØdäü© e ;@ 8ÿõ F ài/÷ù€ Uÿ'à‡@€ÃBÿáÏÿmÿ㘏þ ÿôž¿îN@Aüy€D@·€ ÿ€À@"IOü€*ÿí`z˜jàñš5ô€9ÿ›þÿ¿îüSœ©ø Ԓ ÏpŠ¿ýXÿÀ0ðøÞ€.^/ùÈáèÿïÈ…õy*«þÍ@ö5 žÿ¢aÿÚà HhWþ:oýÄÿÈ@þ6Pn_öZ€¥wúæÿ?Àoþ׌&@(Œãè‡ÿÔàîÍ ÿ:šÒÉ À¶>Ú ÀøÿìloõÂÿý#ýÀþ†i€ÓB2õßbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬;žÓ!BBõä ؍ŸüGÿlB@cÿè”~Ð€£€$ÿzÓÿ?úðÞ*þ ÿ® ¬P՗ÿƒðýîiEÿáè[ÿöÀ>0„ú“?Ä×ýø.€™Ð<–¿ÿ ?Ð)ƒýðÿºàýçÀdäýÿ©e€ N€ 8ÿõšF€ i/÷ùÀ Sÿ'Àˆð€ÃLÿá¿ÿl™ÿ【þ8ÿôà¿îN€Bz@ ·€ ÷ÿ€àB"IOü€*ÿíPz(jàñš6ô€9ÿŸþÿÿïS‚©øؒ ÒðŠ¿ýZÿÀ0ïøï.^/OùÈáØÿî…õx€*³þ̀ö.€ žÿ¢cÿÚà J hWþ:?ýÂÿÈ þ4àn_ö]¥Wúæ€ÿAoþך'@(€ãè‡ÿÔ òÍ ÿ;šÒРж ü€>ÚØĀøÿì0oõÃ?ýý‚@þ ÷%óÓB2õäbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬u˜¯Ó!BBõé ،¿üDÿkð@Xcÿè~Ø|€»À$ÿzÏÿúø‘2*?þ ÿ®@«à՗ÿƒÐüî`€EÿáÐ]öž>4„ú“¿Äãýø9À™ÐB–ÿ ?Ð)ƒýžÿºàýèdå© f _@ 8ÿõÌG ”i/÷ú Qÿ'Àа€ÃLÿáÿm{ÿ㘐þ8ÿõ¿îO@Bz@=à·€ ïÿ¥F")IOü@-ÿíPyjàñˆ6ý@9ÿ£þÿÿïSz©ø€ڒÓ0Š¿ýUÿÀ@ïù€.^/ùÇáàÿíd…õw€*³þÍ@ö-` žÿ¢eÿÛ N#hWþ9ïý¿ÿÈ þ5(n_ö^¥Gúç€ÿ:@oþ׈'À(lânè‡ÿÓÀîÍ@ÿ<ÀšÒÐ Àž è>ÚèÅøÿìoõÃ?ýý‚@þ~ÀùÀpÓB2õébý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬æàÙÓ!BBõî ؍üBÿkð?PcÿèŒþØ{ß@$ÿz»ÿ¿úüò*ßþ ÿ®¬°՗ÿƒàûEÿáø^ö°>H„ú”Äãý@øB™ÐP–¿ÿ ?Ð)ƒýž ÿºàýèdå©(g c€ 8ÿõðG€ i/÷úÀ Qÿ'À@€ÃPÿáÿm:€ÿãÀþ@ÿõÀ¿îO€BzÀ< ·€ ãÿ¥ L"HIOü€-ÿí`x°jàñˆ6À9ÿ³þÿ¿ï Sv©ø ܒÕðŠ¿ý]ÿÀ@îù&.^/gùÆáØÿìd…õv€*¿þ̀ö& žÿ¢aÿÚà ThWþ9ýœÿÈþ1n_öc¥?úêÿ5oþ×`((Xáúè‡ÿÒàîÍ`ÿ?КÒÒ ð¹ ܀>ÚØÆÿëloõÃ?ýý‚Àþàg*ÓB2õîbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬D Ó!BBõó ،üBÿl?Pcÿè…þÈx€@$ÿz»ÿûà*¿þ ÿ® ­ Ւÿƒðüîl€Eÿâ(^ö°>L„ú’?Äçý€øM ™ÐP–ÿ ?Ð-)ƒýÀÿºàýèØdå©g€ fÀ 8ÿõôH Èi/÷û@ Qÿ'À0€ÃWÿáÿkú€ÿäþXÿöœ¿îOÀB zÀ9@·€ ×ÿ¥ N"OIOü.ÿí€yPjàÿñx6€ €9ÿ¿þÿïS˜©øÀޑàØ Š¿ýPÿÀ0ïù3€.^/GùÅáÐÿì …õtÀ*ÃþÎöÀ žÿ¢_ÿÛ VhWþ9Oý»ÿÈþ.@n_öe¥úêÿ3@oþ×<(À(DßÎè‡ÿÓîÍ ÿC@šÒÖ à¹ Ý>Úƀÿì oõÿýý‚Àþ€À}Ë3ÓB2õóbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬F\ÎÓ!BBõø ،¯ü@ÿkð?0cÿèþØu€ @$ÿz»ÿû>*?þ ÿ® °Ջÿƒðûî‘Eÿâ^ÿö >„ú‘ÿÄëüÿÀøRà™Ð`–_ÿ ?Ð%)ƒý°ÿºÀýéÀdå©(h p@ 8ÿöH@ Ti/÷û Sÿ'À’P€Ã[ÿáÿmہÿä‘þ`ÿö°¿îO@B {4à·€ Ùÿ¥ R"nIOü€/ÿí`{@jàÿñX7€9ÿ¿þþÿïS©øàâ‘ÀÔ°Š¿ýTÿÀ0íù€.^/ùÃÿáÈÿì@…õt*ÇþÎ@ö` žÿ¢iÿÚà V'hWþ8ýžÿÇàþ.n_öe€¥úë€ÿ.Àoþ×)@(8Ýè‡ÿÑ îÍ ÿFàšÒ× º ñ>ÚÇÿí$oõÄ?ý ý‚Àþ…À5˙ÓB2õøbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬ûœÓ!BBõý ،ü@ÿkð@cÿè|~Ðs€$ÿz»ÿÿûÔ*þ ÿ®° Շÿ„ýEÿâ _ö°>8„ú’?ÄïüþÀøZ`™Ðd–ÿ ?Ð )ƒý°ÿºàýìdåÿ©(h€ o@ 8ÿö0HÀ (i/÷ü` Qÿ'À“@€Ã]ÿáÿmš€ÿä‘þhÿöÌ¿îN€B{5À·€ Õÿ¥ V!ÓIOü`/ÿíjàÿñ@79ÿ»þÿ?ï$S|©ø à‘ÀÓ0Š¿ýLÿÀ íøè€.^/'ùÃÿáÐÿ묅õqÀ*Ëþ΀ö žÿ¢mÿÛ \hWþ8ýµÿÇàþ,Pn_öi€ÿúìÿ0oþÖô*(Ûtè‡ÿÑ@îÌàÿI0šÒÔ º €>Ú@ȀÿîDoõÄ¿ýýƒ@þˆà ;ßÓB2õýbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬XÇÓ!BBö ؋ïü?ÿkà@ðcÿèx~Øp.À$ÿz¿ÿ¿û è*ÿþÿ­àŽÐՀÿƒðüEÿâH`ö˜>x„ú¿Äóüþ@ø_ ™Ðn–?ÿ ?ÏÖ)ƒý ÿºàýìždåÿ©(i k@ 8ÿö I@ <i/÷üÀ Sÿ'€à€ÃWÿáÿk”€ÿä`‘þpÿö ¿îO@B{@6·€ Çÿ¥ X!IOü`0ÿ퀁(jàñ86€þ9ÿÃþþÿï$SŒ©ø@䑠Ð Š¿ýPÿÀ ìøº.^.ïùÂÿáÀÿì…õr€*ËþÎ@ö  žÿ¢_ÿÛ `hWþ7ïý²ÿÇàþ,šn_öj€€ïúí€ÿ/ÀoþÖÐ*À( Ú¶è‡ÿÐ@ìÌàÿL šÒÒ Œ€>ÚpÉÿïœoõÄÿý ýƒþŽ€x<èÓB2öbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€b꬞¹ÅÓ!BBö ؋ßü=ÿkð?àcÿèq~àm€:@$ÿz£ÿÿû‘*_þ ÿ­À»pՃÿƒðýEÿâ@`ÿö˜>ø„úÄóüý@ø]`™Ðr–ÿ?Ϙ)ƒýpÿºàýìXdå ÿ©(k dÀ 8ÿöLI€ (Úi/÷ý€ Mÿ'€‘ЀÃaÿá_ÿkŽ€ÿäh’þ€ÿöì¿îOÀB{À1 ·€ Çÿ¥@\ ¬IOü1ÿ퀂žjàÿñ 7€@9ÿÃþÿ?ï(Sô©ø 摠ȐŠ¿ýJÿÀ0ìø„.^.÷ùÁáÀÿì<…õq@*ÓþÎÀö žÿ¢_ÿÛ fhWþ7¿ý°ÿǰþ,Xn_öi€€ßúïÿ&ÀoþÖÈ+@'øÚ@è‡ÿÏàîÌàÿOPšÒ× Œ2€>ÚxÊÿðtoõÅÿýýƒ€þ”@€ëÓB2öbý,Æ ÿBÀb ¬F ŠÀbÿ,Æ À bó¬F ÿâÀ(b߬Æ :À0b¬F *À8bü¬Æ bÀ@bñ,F ÀHb÷,Æ þÀPbç¬F ÿZÀXbÙ,Æ zÀ`bø,F ÿÚÀhb ,Æ ÿ²Àpb÷¬F ŠÀxb¬Æ *À€bê¬Bq¿ gpsd-3.9/test/rtcm3-2.dcd0000664000175000017500000104720411762140440013321 0ustar esresr# Made from rtcm3-2.log by inspectrtcm # This demonstration version for Eric Raymond (DEMO) expires at 2011-04-17. Please visit our website at http://www.dgpsonline.eu/ for contact information. RTCM3 (2011-04-10T22:38:40.96 delay -26267.) Type 1012: ID= 0, Tk= 32188.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=284116.56, pd= 0.4835, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 6.44, pd= 0.2265, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 10917.78, pd= -1.4310, lock= >937, amb=22184641.892, snr=40.25) L2 (P , r= 4.56, pd= -2.5970, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=438099.64, pd= -44.3155, lock= >937, amb=19186717.312, snr=50.50) L2 (P , r= 5.20, pd= 0.4160, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=119770.76, pd= -2.9790, lock= >937, amb=23383811.724, snr=38.25) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=200401.20, pd= -3.6305, lock= >937, amb=23383811.724, snr=36.00) L2 (P , r= 7.06, pd= -2.7395, lock= >937, snr=39.75) SV= 6, Freq= -4, L1 (C/A, r= 56115.52, pd= 1.4825, lock= >937, amb=21585056.976, snr=45.25) L2 (P , r= 5.20, pd= 1.3205, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 36355.14, pd= -0.5025, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 1.36, pd= 1.0095, lock= >937, snr=44.75) SV= 23, Freq= 3, L1 (C/A, r=462227.72, pd= 21.1675, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.42, pd= 2.0650, lock= >937, snr=43.50) RTCM3 (2011-04-10T22:38:40.96) Type 1004: ID= 0, TOW=194204.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 51367.44, pd= -1.1795, lock= >937, amb=23983396.640, snr=42.00) L2 (C-P/Y, r= 7.08, pd= -1.5620, lock= >937, snr=25.00) SV= 3, L1 (C/A , r= 23464.30, pd= 2.0240, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 7.08, pd= 2.8385, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 18516.94, pd= 0.8145, lock= >937, amb=21884849.434, snr=48.50) L2 (C-P/Y, r= 6.06, pd= 1.1550, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 15117.62, pd= -4.4685, lock= >937, amb=21884849.434, snr=50.00) L2 (C-P/Y, r= 5.80, pd= -4.7580, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=127759.56, pd= -1.8230, lock= >937, amb=23084019.266, snr=43.25) L2 (C-P/Y, r= 7.40, pd= -1.9545, lock= >937, snr=30.00) SV= 15, L1 (C/A , r=222953.02, pd= 1.3535, lock= >937, amb=24882774.014, snr=40.75) L2 (C-P/Y, r= 7.64, pd= 0.1865, lock= >937, snr=22.75) SV= 6, L1 (C/A , r=273580.52, pd= 1.4610, lock= >937, amb=20086094.686, snr=51.75) L2 (C-P/Y, r= 6.50, pd= 2.3235, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=266722.52, pd= 0.1140, lock= >937, amb=24882774.014, snr=35.50) L2 (C-P/Y, r= 6.50, pd= 0.5815, lock= >937, snr=16.25) SV= 19, L1 (C/A , r=279335.38, pd= 2.1665, lock= >937, amb=21285264.518, snr=49.00) L2 (C-P/Y, r= 4.56, pd= 3.1160, lock= >937, snr=40.25) SV= 11, L1 (C/A , r=249700.94, pd= 0.2535, lock= 112, amb=24882774.014, snr=27.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=291886.80, pd= 0.8780, lock= >937, amb=20685679.602, snr=51.00) L2 (C-P/Y, r= 4.30, pd= 1.1440, lock= >937, snr=44.25) SV= 7, L1 (C/A , r=113760.36, pd= -6.1640, lock= 64, amb=24582981.556, snr=38.25) L2 (C-P/Y, r= 6.70, pd= -6.0890, lock= 64, snr=25.00) RTCM3 (2011-04-10T22:38:40.96 delay -26268.) Type 1012: ID= 0, Tk= 32189.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=284459.34, pd= 0.3875, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 5.92, pd= 0.1295, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 11436.46, pd= -1.3785, lock= >937, amb=22184641.892, snr=39.75) L2 (P , r= 4.44, pd= -2.5450, lock= >937, snr=41.25) SV= 22, Freq= -3, L1 (C/A, r=438131.32, pd= -44.1485, lock= >937, amb=19186717.312, snr=50.50) L2 (P , r= 5.64, pd= 0.5830, lock= >937, snr=50.75) SV= 14, Freq= -7, L1 (C/A, r=119483.62, pd= -2.2925, lock= >937, amb=23383811.724, snr=38.25) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=201141.10, pd= -3.3880, lock= >937, amb=23383811.724, snr=36.00) L2 (P , r= 7.10, pd= -2.4960, lock= >937, snr=39.75) SV= 6, Freq= -4, L1 (C/A, r= 56656.58, pd= 1.1565, lock= >937, amb=21585056.976, snr=45.25) L2 (P , r= 5.82, pd= 0.9945, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 36068.80, pd= -0.7335, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 0.42, pd= 0.7790, lock= >937, snr=45.00) SV= 23, Freq= 3, L1 (C/A, r=461708.38, pd= 20.7130, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.52, pd= 1.6110, lock= >937, snr=43.50) RTCM3 (2011-04-10T22:38:40.96) Type 1004: ID= 0, TOW=194205.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 51894.54, pd= -1.8170, lock= >937, amb=23983396.640, snr=41.25) L2 (C-P/Y, r= 6.42, pd= -2.1990, lock= >937, snr=26.00) SV= 3, L1 (C/A , r= 23387.64, pd= 1.7965, lock= >937, amb=19786302.228, snr=52.75) L2 (C-P/Y, r= 6.42, pd= 2.6105, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 18738.28, pd= 0.7180, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 6.12, pd= 1.0595, lock= >937, snr=38.75) SV= 16, L1 (C/A , r= 15644.52, pd= -4.4280, lock= >937, amb=21884849.434, snr=49.75) L2 (C-P/Y, r= 6.02, pd= -4.7175, lock= >937, snr=39.50) SV= 30, L1 (C/A , r=128488.84, pd= -1.9220, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.42, pd= -2.0530, lock= >937, snr=30.00) SV= 15, L1 (C/A , r=223021.12, pd= 1.5150, lock= >937, amb=24882774.014, snr=41.00) L2 (C-P/Y, r= 7.44, pd= 0.3445, lock= >937, snr=22.00) SV= 6, L1 (C/A , r=273620.88, pd= 1.5320, lock= >937, amb=20086094.686, snr=51.75) L2 (C-P/Y, r= 6.84, pd= 2.3935, lock= >937, snr=44.00) SV= 8, L1 (C/A , r=266524.40, pd= 0.3020, lock= >937, amb=24882774.014, snr=36.00) L2 (C-P/Y, r= 6.76, pd= 0.7700, lock= >937, snr=15.50) SV= 19, L1 (C/A , r=278932.02, pd= 1.7865, lock= >937, amb=21285264.518, snr=48.75) L2 (C-P/Y, r= 4.22, pd= 2.7365, lock= >937, snr=40.50) SV= 11, L1 (C/A , r=249066.44, pd= 0.1955, lock= 116, amb=24882774.014, snr=27.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=291718.68, pd= 0.8890, lock= >937, amb=20685679.602, snr=51.00) L2 (C-P/Y, r= 3.96, pd= 1.1545, lock= >937, snr=44.25) SV= 7, L1 (C/A , r=113924.80, pd= -5.6645, lock= 66, amb=24582981.556, snr=37.75) L2 (C-P/Y, r= 7.76, pd= -5.5935, lock= 66, snr=23.25) RTCM3 (2011-04-10T22:38:40.96 delay -26269.) Type 1012: ID= 0, Tk= 32190.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=284802.40, pd= 0.1365, lock= >937, amb=22184641.892, snr=42.00) L2 (P , r= 4.92, pd= -0.1220, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 11955.46, pd= -1.6035, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 4.14, pd= -2.7690, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=438163.66, pd= -44.5605, lock= >937, amb=19186717.312, snr=50.50) L2 (P , r= 4.64, pd= 0.1705, lock= >937, snr=50.75) SV= 14, Freq= -7, L1 (C/A, r=119198.76, pd= -3.7405, lock= >937, amb=23383811.724, snr=38.25) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=201881.22, pd= -3.3335, lock= >937, amb=23383811.724, snr=36.00) L2 (P , r= 6.88, pd= -2.4415, lock= >937, snr=40.00) SV= 6, Freq= -4, L1 (C/A, r= 57197.80, pd= 0.7915, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.02, pd= 0.6290, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 35781.52, pd= 0.1280, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 1.56, pd= 1.6405, lock= >937, snr=45.50) SV= 23, Freq= 3, L1 (C/A, r=461188.58, pd= 20.7495, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.58, pd= 1.6490, lock= >937, snr=43.75) RTCM3 (2011-04-10T22:38:40.96) Type 1004: ID= 0, TOW=194206.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 52420.56, pd= -1.3740, lock= >937, amb=23983396.640, snr=41.25) L2 (C-P/Y, r= 7.12, pd= -1.7590, lock= >937, snr=24.50) SV= 3, L1 (C/A , r= 23310.80, pd= 1.8335, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.64, pd= 2.6480, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 18959.60, pd= 0.7300, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 5.82, pd= 1.0700, lock= >937, snr=38.75) SV= 16, L1 (C/A , r= 16171.36, pd= -4.2640, lock= >937, amb=21884849.434, snr=50.00) L2 (C-P/Y, r= 6.26, pd= -4.5530, lock= >937, snr=39.50) SV= 30, L1 (C/A , r=129217.26, pd= -1.1460, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.88, pd= -1.2795, lock= >937, snr=31.00) SV= 15, L1 (C/A , r=223089.88, pd= 1.1215, lock= >937, amb=24882774.014, snr=41.25) L2 (C-P/Y, r= 7.24, pd= -0.0465, lock= >937, snr=23.00) SV= 6, L1 (C/A , r=273661.26, pd= 1.6570, lock= >937, amb=20086094.686, snr=51.25) L2 (C-P/Y, r= 7.02, pd= 2.5180, lock= >937, snr=43.75) SV= 8, L1 (C/A , r=266326.14, pd= 0.7265, lock= >937, amb=24882774.014, snr=36.50) L2 (C-P/Y, r= 7.66, pd= 1.1925, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=278528.18, pd= 1.9200, lock= >937, amb=21285264.518, snr=49.00) L2 (C-P/Y, r= 4.58, pd= 2.8705, lock= >937, snr=40.50) SV= 11, L1 (C/A , r=248430.62, pd= 1.4470, lock= 116, amb=24882774.014, snr=26.75) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=291550.64, pd= 0.9240, lock= >937, amb=20685679.602, snr=51.00) L2 (C-P/Y, r= 4.10, pd= 1.1905, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=114089.58, pd= -5.3945, lock= 66, amb=24582981.556, snr=37.50) L2 (C-P/Y, r= 8.14, pd= -5.3205, lock= 66, snr=22.50) RTCM3 (2011-04-10T22:38:40.96 delay -26270.) Type 1012: ID= 0, Tk= 32191.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=285145.30, pd= 0.1815, lock= >937, amb=22184641.892, snr=42.00) L2 (P , r= 5.32, pd= -0.0765, lock= >937, snr=42.00) SV= 21, Freq= 4, L1 (C/A, r= 12474.20, pd= -1.5205, lock= >937, amb=22184641.892, snr=39.75) L2 (P , r= 4.46, pd= -2.6870, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=438195.60, pd= -44.5035, lock= >937, amb=19186717.312, snr=50.50) L2 (P , r= 5.18, pd= 0.2280, lock= >937, snr=50.50) SV= 14, Freq= -7, L1 (C/A, r=118913.48, pd= -4.6355, lock= >937, amb=23383811.724, snr=37.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=202621.36, pd= -3.2900, lock= >937, amb=23383811.724, snr=36.00) L2 (P , r= 7.36, pd= -2.3980, lock= >937, snr=40.00) SV= 6, Freq= -4, L1 (C/A, r= 57738.12, pd= 1.4450, lock= >937, amb=21585056.976, snr=45.25) L2 (P , r= 5.22, pd= 1.2825, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 35495.58, pd= -0.2025, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 0.70, pd= 1.3105, lock= >937, snr=45.75) SV= 23, Freq= 3, L1 (C/A, r=460668.58, pd= 21.0090, lock= >937, amb=20985472.060, snr=43.25) L2 (P , r= 6.78, pd= 1.9085, lock= >937, snr=43.50) RTCM3 (2011-04-10T22:38:40.96) Type 1004: ID= 0, TOW=194207.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 52946.98, pd= -1.2985, lock= >937, amb=23983396.640, snr=41.25) L2 (C-P/Y, r= 7.30, pd= -1.6835, lock= >937, snr=25.00) SV= 3, L1 (C/A , r= 23234.20, pd= 1.7450, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.76, pd= 2.5595, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 19181.00, pd= 0.7830, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 5.76, pd= 1.1220, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 16698.64, pd= -4.4425, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 6.32, pd= -4.7315, lock= >937, snr=39.75) SV= 30, L1 (C/A , r=129947.06, pd= -1.6945, lock= >937, amb=23084019.266, snr=42.50) L2 (C-P/Y, r= 7.54, pd= -1.8285, lock= >937, snr=30.00) SV= 15, L1 (C/A , r=223158.04, pd= 1.4470, lock= >937, amb=24882774.014, snr=41.50) L2 (C-P/Y, r= 7.40, pd= 0.2775, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=273701.68, pd= 1.8335, lock= >937, amb=20086094.686, snr=50.50) L2 (C-P/Y, r= 7.24, pd= 2.6950, lock= >937, snr=43.50) SV= 8, L1 (C/A , r=266129.54, pd= -0.3680, lock= >937, amb=24882774.014, snr=36.50) L2 (C-P/Y, r= 6.04, pd= 0.0960, lock= >937, snr=17.25) SV= 19, L1 (C/A , r=278124.66, pd= 1.7970, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.46, pd= 2.7470, lock= >937, snr=40.25) SV= 11, L1 (C/A , r=247796.78, pd= 0.7525, lock= 116, amb=24882774.014, snr=27.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=291383.10, pd= 0.5900, lock= >937, amb=20685679.602, snr=50.75) L2 (C-P/Y, r= 4.14, pd= 0.8555, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=114254.86, pd= -5.5110, lock= 68, amb=24582981.556, snr=38.25) L2 (C-P/Y, r= 7.40, pd= -5.4365, lock= 68, snr=22.00) RTCM3 (2011-04-10T22:38:40.96 delay -26271.) Type 1012: ID= 0, Tk= 32192.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=285487.98, pd= 0.6035, lock= >937, amb=22184641.892, snr=41.00) L2 (P , r= 6.04, pd= 0.3490, lock= >937, snr=42.25) SV= 21, Freq= 4, L1 (C/A, r= 12993.66, pd= -2.0980, lock= >937, amb=22184641.892, snr=39.50) L2 (P , r= 3.98, pd= -3.2655, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=438227.80, pd= -44.6145, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 4.52, pd= 0.1160, lock= >937, snr=50.25) SV= 14, Freq= -7, L1 (C/A, r=118626.42, pd= -3.5810, lock= >937, amb=23383811.724, snr=37.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=203360.98, pd= -2.6930, lock= >937, amb=23383811.724, snr=35.50) L2 (P , r= 7.46, pd= -1.8015, lock= >937, snr=40.00) SV= 6, Freq= -4, L1 (C/A, r= 58279.14, pd= 1.5325, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.88, pd= 1.3700, lock= >937, snr=44.25) SV= 7, Freq= 5, L1 (C/A, r= 35209.48, pd= -0.2055, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 1.36, pd= 1.3060, lock= >937, snr=45.25) SV= 23, Freq= 3, L1 (C/A, r=460149.92, pd= 19.9710, lock= >937, amb=20985472.060, snr=43.25) L2 (P , r= 6.50, pd= 0.8695, lock= >937, snr=44.25) RTCM3 (2011-04-10T22:38:40.96) Type 1004: ID= 0, TOW=194208.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 53474.12, pd= -1.9430, lock= >937, amb=23983396.640, snr=41.00) L2 (C-P/Y, r= 6.38, pd= -2.3260, lock= >937, snr=25.25) SV= 3, L1 (C/A , r= 23157.52, pd= 1.8175, lock= >937, amb=19786302.228, snr=52.75) L2 (C-P/Y, r= 6.68, pd= 2.6320, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 19402.68, pd= 0.6435, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 5.72, pd= 0.9825, lock= >937, snr=38.25) SV= 16, L1 (C/A , r= 17225.46, pd= -4.0960, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 6.36, pd= -4.3860, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=130676.34, pd= -1.7105, lock= >937, amb=23084019.266, snr=42.50) L2 (C-P/Y, r= 7.34, pd= -1.8455, lock= >937, snr=29.50) SV= 15, L1 (C/A , r=223226.86, pd= 1.2185, lock= >937, amb=24882774.014, snr=41.75) L2 (C-P/Y, r= 7.52, pd= 0.0495, lock= >937, snr=24.25) SV= 6, L1 (C/A , r=273742.64, pd= 1.5355, lock= >937, amb=20086094.686, snr=50.75) L2 (C-P/Y, r= 6.78, pd= 2.3980, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=265931.16, pd= 0.4110, lock= >937, amb=24882774.014, snr=36.50) L2 (C-P/Y, r= 7.40, pd= 0.8765, lock= >937, snr=17.25) SV= 19, L1 (C/A , r=277721.14, pd= 1.7115, lock= >937, amb=21285264.518, snr=48.25) L2 (C-P/Y, r= 4.34, pd= 2.6605, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=247162.48, pd= 0.5050, lock= 116, amb=24882774.014, snr=27.25) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=291215.16, pd= 0.7620, lock= >937, amb=20685679.602, snr=51.00) L2 (C-P/Y, r= 4.08, pd= 1.0280, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=114420.10, pd= -5.4880, lock= 68, amb=24582981.556, snr=37.50) L2 (C-P/Y, r= 7.64, pd= -5.4160, lock= 68, snr=21.75) RTCM3 (2011-04-10T22:38:40.96 delay -26272.) Type 1012: ID= 0, Tk= 32193.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=285830.86, pd= 0.9540, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 6.56, pd= 0.6995, lock= >937, snr=42.00) SV= 21, Freq= 4, L1 (C/A, r= 13511.38, pd= -0.8950, lock= >937, amb=22184641.892, snr=39.75) L2 (P , r= 5.28, pd= -2.0630, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=438259.54, pd= -44.2015, lock= >937, amb=19186717.312, snr=50.75) L2 (P , r= 5.44, pd= 0.5290, lock= >937, snr=50.75) SV= 14, Freq= -7, L1 (C/A, r=118340.50, pd= -3.5315, lock= >937, amb=23383811.724, snr=37.25) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=204100.22, pd= -1.7000, lock= >937, amb=23383811.724, snr=35.50) L2 (P , r= 8.70, pd= -0.8085, lock= >937, snr=39.75) SV= 6, Freq= -4, L1 (C/A, r= 58820.18, pd= 1.7130, lock= >937, amb=21585056.976, snr=45.25) L2 (P , r= 5.72, pd= 1.5505, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 34923.24, pd= 0.0785, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 1.66, pd= 1.5910, lock= >937, snr=45.25) SV= 23, Freq= 3, L1 (C/A, r=459630.30, pd= 19.9130, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.70, pd= 0.8120, lock= >937, snr=43.75) RTCM3 (2011-04-10T22:38:40.96) Type 1004: ID= 0, TOW=194209.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 53999.96, pd= -1.2885, lock= >937, amb=23983396.640, snr=41.25) L2 (C-P/Y, r= 6.78, pd= -1.6710, lock= >937, snr=27.50) SV= 3, L1 (C/A , r= 23080.80, pd= 2.0195, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.64, pd= 2.8340, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 19623.96, pd= 1.0005, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 6.36, pd= 1.3400, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 17753.06, pd= -4.4605, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 6.16, pd= -4.7495, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=131405.56, pd= -1.6445, lock= >937, amb=23084019.266, snr=42.75) L2 (C-P/Y, r= 7.28, pd= -1.7790, lock= >937, snr=29.75) SV= 15, L1 (C/A , r=223295.82, pd= 0.9505, lock= >937, amb=24882774.014, snr=41.75) L2 (C-P/Y, r= 7.16, pd= -0.2180, lock= >937, snr=22.25) SV= 6, L1 (C/A , r=273783.60, pd= 1.3110, lock= >937, amb=20086094.686, snr=51.00) L2 (C-P/Y, r= 6.48, pd= 2.1725, lock= >937, snr=44.00) SV= 8, L1 (C/A , r=265734.22, pd= -0.1380, lock= >937, amb=24882774.014, snr=36.75) L2 (C-P/Y, r= 6.42, pd= 0.3335, lock= >937, snr=18.25) SV= 19, L1 (C/A , r=277317.28, pd= 2.0025, lock= >937, amb=21285264.518, snr=48.00) L2 (C-P/Y, r= 4.60, pd= 2.9515, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=246528.64, pd= -0.1715, lock= 120, amb=24882774.014, snr=27.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=291047.18, pd= 1.0760, lock= >937, amb=20685679.602, snr=51.50) L2 (C-P/Y, r= 4.04, pd= 1.3420, lock= >937, snr=43.75) SV= 7, L1 (C/A , r=114585.20, pd= -5.2365, lock= 70, amb=24582981.556, snr=36.50) L2 (C-P/Y, r= 7.84, pd= -5.1655, lock= 70, snr=21.00) RTCM3 (2011-04-10T22:38:40.97 delay -26273.) Type 1012: ID= 0, Tk= 32194.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=286173.96, pd= 1.2080, lock= >937, amb=22184641.892, snr=40.75) L2 (P , r= 7.46, pd= 0.9525, lock= >937, snr=42.00) SV= 21, Freq= 4, L1 (C/A, r= 14030.96, pd= -1.5120, lock= >937, amb=22184641.892, snr=40.25) L2 (P , r= 4.48, pd= -2.6810, lock= >937, snr=40.50) SV= 22, Freq= -3, L1 (C/A, r=438291.96, pd= -44.4030, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 4.38, pd= 0.3270, lock= >937, snr=50.75) SV= 14, Freq= -7, L1 (C/A, r=118052.18, pd= -0.9455, lock= >937, amb=23383811.724, snr=37.25) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=204841.10, pd= -2.3375, lock= >937, amb=23383811.724, snr=35.50) L2 (P , r= 7.88, pd= -1.4450, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 59362.48, pd= 0.7385, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 4.84, pd= 0.5755, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 34638.08, pd= -0.5640, lock= >937, amb=19786302.228, snr=45.25) L2 (P , r= 1.10, pd= 0.9485, lock= >937, snr=45.50) SV= 23, Freq= 3, L1 (C/A, r=459109.94, pd= 20.6180, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.92, pd= 1.5165, lock= >937, snr=43.50) RTCM3 (2011-04-10T22:38:40.97) Type 1033: ID= 0, Antenna='ASH701945E_M NONE', Setup ID= 0, Serial='24222' Receiver Type='TRIMBLE NETR5', Firmware='', Serial='' RTCM3 (2011-04-10T22:38:40.97) Type 1004: ID= 0, TOW=194210.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 54526.50, pd= -1.3210, lock= >937, amb=23983396.640, snr=41.25) L2 (C-P/Y, r= 6.68, pd= -1.7060, lock= >937, snr=25.75) SV= 3, L1 (C/A , r= 23004.62, pd= 1.7695, lock= >937, amb=19786302.228, snr=52.75) L2 (C-P/Y, r= 6.52, pd= 2.5845, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 19845.96, pd= 0.7315, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 6.00, pd= 1.0710, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 18280.10, pd= -4.1860, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 6.22, pd= -4.4760, lock= >937, snr=38.75) SV= 30, L1 (C/A , r=132134.98, pd= -1.7495, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.72, pd= -1.8845, lock= >937, snr=30.25) SV= 15, L1 (C/A , r=223364.38, pd= 1.1855, lock= >937, amb=24882774.014, snr=41.75) L2 (C-P/Y, r= 7.50, pd= 0.0165, lock= >937, snr=22.25) SV= 6, L1 (C/A , r=273824.20, pd= 1.5185, lock= >937, amb=20086094.686, snr=51.00) L2 (C-P/Y, r= 6.84, pd= 2.3790, lock= >937, snr=43.75) SV= 8, L1 (C/A , r=265537.00, pd= -0.3015, lock= >937, amb=24882774.014, snr=37.50) L2 (C-P/Y, r= 6.30, pd= 0.1725, lock= >937, snr=19.25) SV= 19, L1 (C/A , r=276913.98, pd= 1.7745, lock= >937, amb=21285264.518, snr=48.00) L2 (C-P/Y, r= 4.56, pd= 2.7250, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=245894.18, pd= -0.2375, lock= 120, amb=24882774.014, snr=28.25) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=290880.40, pd= 0.3050, lock= >937, amb=20685679.602, snr=50.50) L2 (C-P/Y, r= 3.94, pd= 0.5710, lock= >937, snr=43.75) SV= 7, L1 (C/A , r=114750.28, pd= -4.8570, lock= 70, amb=24582981.556, snr=36.50) L2 (C-P/Y, r= 7.92, pd= -4.7920, lock= 70, snr=21.50) RTCM3 (2011-04-10T22:38:40.97 delay -26274.) Type 1012: ID= 0, Tk= 32195.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=286518.90, pd= -0.2410, lock= >937, amb=22184641.892, snr=41.00) L2 (P , r= 5.84, pd= -0.4990, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 14549.38, pd= -0.9325, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 5.02, pd= -2.1020, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=438323.88, pd= -44.0300, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.70, pd= 0.7005, lock= >937, snr=50.75) SV= 14, Freq= -7, L1 (C/A, r=117767.66, pd= -2.0190, lock= >937, amb=23383811.724, snr=37.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=205583.26, pd= -4.2265, lock= >937, amb=23383811.724, snr=36.00) L2 (P , r= 6.12, pd= -3.3335, lock= >937, snr=39.75) SV= 6, Freq= -4, L1 (C/A, r= 59903.40, pd= 1.2655, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.62, pd= 1.1020, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 34352.04, pd= -0.1630, lock= >937, amb=19786302.228, snr=45.25) L2 (P , r= 0.84, pd= 1.3490, lock= >937, snr=46.00) SV= 23, Freq= 3, L1 (C/A, r=458589.70, pd= 21.2165, lock= >937, amb=20985472.060, snr=43.50) L2 (P , r= 7.36, pd= 2.1150, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:40.97) Type 1008: ID= 0, Antenna='ASH701945E_M NONE', Setup ID= 0, Serial='24222' RTCM3 (2011-04-10T22:38:40.97) Type 1004: ID= 0, TOW=194211.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 55053.20, pd= -1.4910, lock= >937, amb=23983396.640, snr=41.75) L2 (C-P/Y, r= 6.78, pd= -1.8770, lock= >937, snr=24.75) SV= 3, L1 (C/A , r= 22928.20, pd= 1.8690, lock= >937, amb=19786302.228, snr=52.50) L2 (C-P/Y, r= 6.40, pd= 2.6830, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 20067.92, pd= 0.6230, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 6.00, pd= 0.9620, lock= >937, snr=38.75) SV= 16, L1 (C/A , r= 18807.66, pd= -4.3465, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 5.94, pd= -4.6370, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=132863.74, pd= -1.1535, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.84, pd= -1.2875, lock= >937, snr=29.75) SV= 15, L1 (C/A , r=223433.10, pd= 1.3875, lock= >937, amb=24882774.014, snr=41.75) L2 (C-P/Y, r= 7.32, pd= 0.2155, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=273865.14, pd= 1.4710, lock= >937, amb=20086094.686, snr=50.50) L2 (C-P/Y, r= 6.62, pd= 2.3320, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=265339.68, pd= -0.2350, lock= >937, amb=24882774.014, snr=37.00) L2 (C-P/Y, r= 6.86, pd= 0.2390, lock= >937, snr=17.75) SV= 19, L1 (C/A , r=276510.68, pd= 1.6065, lock= >937, amb=21285264.518, snr=48.25) L2 (C-P/Y, r= 4.16, pd= 2.5555, lock= >937, snr=41.25) SV= 11, L1 (C/A , r=245260.06, pd= -0.6230, lock= 120, amb=24882774.014, snr=28.25) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=290712.34, pd= 0.9335, lock= >937, amb=20685679.602, snr=50.00) L2 (C-P/Y, r= 4.16, pd= 1.2010, lock= >937, snr=43.50) SV= 7, L1 (C/A , r=114916.56, pd= -5.5705, lock= 72, amb=24582981.556, snr=36.50) L2 (C-P/Y, r= 7.04, pd= -5.5020, lock= 72, snr=20.75) RTCM3 (2011-04-10T22:38:40.97 delay -26275.) Type 1012: ID= 0, Tk= 32196.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=286860.98, pd= 1.3180, lock= >937, amb=22184641.892, snr=40.75) L2 (P , r= 7.04, pd= 1.0585, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 15070.06, pd= -2.5500, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 3.46, pd= -3.7200, lock= >937, snr=41.25) SV= 22, Freq= -3, L1 (C/A, r=438355.86, pd= -43.6270, lock= >937, amb=19186717.312, snr=50.75) L2 (P , r= 5.60, pd= 1.1025, lock= >937, snr=50.75) SV= 14, Freq= -7, L1 (C/A, r=117482.26, pd= -2.0525, lock= >937, amb=23383811.724, snr=37.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=206322.36, pd= -3.0295, lock= >937, amb=23383811.724, snr=35.50) L2 (P , r= 7.56, pd= -2.1355, lock= >937, snr=40.00) SV= 6, Freq= -4, L1 (C/A, r= 60445.28, pd= 0.9605, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.84, pd= 0.7965, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 34066.24, pd= 0.1790, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 1.42, pd= 1.6900, lock= >937, snr=46.00) SV= 23, Freq= 3, L1 (C/A, r=458070.68, pd= 20.6340, lock= >937, amb=20985472.060, snr=43.25) L2 (P , r= 6.60, pd= 1.5310, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:40.97) Type 1006: ID= 0, Year=0, GPS=Y, GLONASS=Y, Galileo=N, X= 4581694.6288, Y= 556114.3725, Z= 4389358.4678 QC=1(no bias), height=0.0349 RTCM3 (2011-04-10T22:38:40.97) Type 1004: ID= 0, TOW=194212.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 55579.82, pd= -1.5685, lock= >937, amb=23983396.640, snr=42.25) L2 (C-P/Y, r= 6.92, pd= -1.9555, lock= >937, snr=26.00) SV= 3, L1 (C/A , r= 22852.12, pd= 1.7265, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.40, pd= 2.5405, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 20289.86, pd= 0.6325, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 5.96, pd= 0.9715, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 19335.04, pd= -4.2435, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 6.40, pd= -4.5340, lock= >937, snr=38.75) SV= 30, L1 (C/A , r=133593.46, pd= -1.4830, lock= >937, amb=23084019.266, snr=43.25) L2 (C-P/Y, r= 7.72, pd= -1.6165, lock= >937, snr=29.50) SV= 15, L1 (C/A , r=223502.12, pd= 1.3975, lock= >937, amb=24882774.014, snr=41.75) L2 (C-P/Y, r= 7.32, pd= 0.2255, lock= >937, snr=22.75) SV= 6, L1 (C/A , r=273906.14, pd= 1.4480, lock= >937, amb=20086094.686, snr=49.50) L2 (C-P/Y, r= 7.30, pd= 2.3095, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=265142.32, pd= -0.0120, lock= >937, amb=24882774.014, snr=37.50) L2 (C-P/Y, r= 7.40, pd= 0.4590, lock= >937, snr=18.50) SV= 19, L1 (C/A , r=276107.10, pd= 1.7630, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.24, pd= 2.7130, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=244624.90, pd= 0.0445, lock= 120, amb=24882774.014, snr=27.25) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=290545.32, pd= 0.6415, lock= >937, amb=20685679.602, snr=49.00) L2 (C-P/Y, r= 4.00, pd= 0.9080, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=115081.92, pd= -5.2525, lock= 72, amb=24582981.556, snr=37.00) L2 (C-P/Y, r= 7.48, pd= -5.1810, lock= 72, snr=19.75) RTCM3 (2011-04-10T22:38:40.97 delay -26276.) Type 1012: ID= 0, Tk= 32197.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=287206.36, pd= -0.2870, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 5.12, pd= -0.5475, lock= >937, snr=42.00) SV= 21, Freq= 4, L1 (C/A, r= 15588.40, pd= -1.7775, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 4.40, pd= -2.9480, lock= >937, snr=41.50) SV= 22, Freq= -3, L1 (C/A, r=438388.66, pd= -43.9655, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 4.98, pd= 0.7650, lock= >937, snr=50.50) SV= 14, Freq= -7, L1 (C/A, r=117196.76, pd= -1.8340, lock= >937, amb=23383811.724, snr=37.75) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=207061.10, pd= -1.4400, lock= >937, amb=23383811.724, snr=35.50) L2 (P , r= 8.82, pd= -0.5460, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 60986.60, pd= 1.3370, lock= >937, amb=21585056.976, snr=45.25) L2 (P , r= 5.70, pd= 1.1725, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 33781.14, pd= -0.0115, lock= >937, amb=19786302.228, snr=45.25) L2 (P , r= 1.30, pd= 1.5010, lock= >937, snr=46.00) SV= 23, Freq= 3, L1 (C/A, r=457551.42, pd= 20.3200, lock= >937, amb=20985472.060, snr=43.50) L2 (P , r= 6.18, pd= 1.2175, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:40.97) Type 1013: ID= 0, MJD=55621, SOD=21397, Num= 6, Leap=15 ID=1004, Sync=1, Interval= 1.0 ID=1006, Sync=1, Interval= 10.0 ID=1008, Sync=1, Interval= 10.0 ID=1012, Sync=1, Interval= 1.0 ID=1013, Sync=1, Interval= 10.0 ID=1033, Sync=1, Interval= 10.0 RTCM3 (2011-04-10T22:38:40.97) Type 1004: ID= 0, TOW=194213.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 56106.16, pd= -1.3415, lock= >937, amb=23983396.640, snr=42.00) L2 (C-P/Y, r= 6.72, pd= -1.7290, lock= >937, snr=26.75) SV= 3, L1 (C/A , r= 22775.86, pd= 1.8670, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.84, pd= 2.6800, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 20511.72, pd= 0.8315, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 6.00, pd= 1.1705, lock= >937, snr=38.25) SV= 16, L1 (C/A , r= 19862.88, pd= -4.5150, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 6.16, pd= -4.8060, lock= >937, snr=39.25) SV= 30, L1 (C/A , r=134322.80, pd= -1.3925, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 8.00, pd= -1.5265, lock= >937, snr=28.25) SV= 15, L1 (C/A , r=223571.74, pd= 0.9270, lock= >937, amb=24882774.014, snr=41.50) L2 (C-P/Y, r= 6.98, pd= -0.2440, lock= >937, snr=22.75) SV= 6, L1 (C/A , r=273946.92, pd= 1.7280, lock= >937, amb=20086094.686, snr=49.75) L2 (C-P/Y, r= 7.04, pd= 2.5890, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=264944.90, pd= 0.3925, lock= >937, amb=24882774.014, snr=36.75) L2 (C-P/Y, r= 7.44, pd= 0.8605, lock= >937, snr=18.25) SV= 19, L1 (C/A , r=275703.86, pd= 1.6370, lock= >937, amb=21285264.518, snr=48.75) L2 (C-P/Y, r= 4.20, pd= 2.5860, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=243990.42, pd= 0.0560, lock= 124, amb=24882774.014, snr=28.00) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=290377.86, pd= 0.9140, lock= >937, amb=20685679.602, snr=49.00) L2 (C-P/Y, r= 4.34, pd= 1.1790, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=115247.54, pd= -5.0845, lock= 72, amb=24582981.556, snr=37.25) L2 (C-P/Y, r= 7.54, pd= -5.0130, lock= 72, snr=19.50) RTCM3 (2011-04-10T22:38:40.97 delay -26277.) Type 1012: ID= 0, Tk= 32198.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=287551.00, pd= -1.0050, lock= >937, amb=22184641.892, snr=42.25) L2 (P , r= 4.34, pd= -1.2675, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 16106.96, pd= -1.1625, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 4.56, pd= -2.3335, lock= >937, snr=41.50) SV= 22, Freq= -3, L1 (C/A, r=438421.64, pd= -44.3975, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 4.86, pd= 0.3320, lock= >937, snr=50.50) SV= 14, Freq= -7, L1 (C/A, r=116912.52, pd= -2.7170, lock= >937, amb=23383811.724, snr=37.75) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=207801.88, pd= -1.8760, lock= >937, amb=23383811.724, snr=35.25) L2 (P , r= 8.08, pd= -0.9815, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 61528.06, pd= 1.7015, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 6.18, pd= 1.5360, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 33496.18, pd= -0.1730, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 0.70, pd= 1.3400, lock= >937, snr=45.75) SV= 23, Freq= 3, L1 (C/A, r=457032.20, pd= 19.9995, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 5.74, pd= 0.8975, lock= >937, snr=43.75) RTCM3 (2011-04-10T22:38:40.97) Type 1004: ID= 0, TOW=194214.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 56632.64, pd= -1.2585, lock= >937, amb=23983396.640, snr=41.75) L2 (C-P/Y, r= 6.84, pd= -1.6515, lock= >937, snr=25.50) SV= 3, L1 (C/A , r= 22699.78, pd= 1.9075, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.56, pd= 2.7215, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 20733.90, pd= 0.7995, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 6.28, pd= 1.1390, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 20390.38, pd= -4.3825, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 6.32, pd= -4.6735, lock= >937, snr=39.75) SV= 30, L1 (C/A , r=135052.50, pd= -1.6440, lock= >937, amb=23084019.266, snr=42.50) L2 (C-P/Y, r= 7.56, pd= -1.7790, lock= >937, snr=29.25) SV= 15, L1 (C/A , r=223640.40, pd= 1.5140, lock= >937, amb=24882774.014, snr=42.00) L2 (C-P/Y, r= 7.70, pd= 0.3435, lock= >937, snr=22.75) SV= 6, L1 (C/A , r=273988.30, pd= 1.4725, lock= >937, amb=20086094.686, snr=50.00) L2 (C-P/Y, r= 6.92, pd= 2.3335, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=264747.32, pd= 1.0615, lock= >937, amb=24882774.014, snr=36.50) L2 (C-P/Y, r= 8.22, pd= 1.5300, lock= >937, snr=18.50) SV= 19, L1 (C/A , r=275300.44, pd= 1.7240, lock= >937, amb=21285264.518, snr=48.75) L2 (C-P/Y, r= 4.40, pd= 2.6740, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=243356.56, pd= -0.5625, lock= 124, amb=24882774.014, snr=28.75) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=290210.98, pd= 0.7015, lock= >937, amb=20685679.602, snr=49.75) L2 (C-P/Y, r= 4.46, pd= 0.9680, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=115413.84, pd= -5.5045, lock= 72, amb=24582981.556, snr=36.25) L2 (C-P/Y, r= 6.56, pd= -5.4295, lock= 72, snr=17.75) RTCM3 (2011-04-10T22:38:40.97 delay -26278.) Type 1012: ID= 0, Tk= 32199.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=287893.60, pd= 0.4410, lock= >937, amb=22184641.892, snr=41.75) L2 (P , r= 5.96, pd= 0.1800, lock= >937, snr=42.25) SV= 21, Freq= 4, L1 (C/A, r= 16626.86, pd= -1.8550, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 3.76, pd= -3.0270, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=438454.68, pd= -44.8235, lock= >937, amb=19186717.312, snr=50.75) L2 (P , r= 4.78, pd= -0.0935, lock= >937, snr=50.75) SV= 14, Freq= -7, L1 (C/A, r=116627.92, pd= -3.1175, lock= >937, amb=23383811.724, snr=37.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=208543.18, pd= -2.8105, lock= >937, amb=23383811.724, snr=35.00) L2 (P , r= 7.32, pd= -1.9170, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 62070.54, pd= 1.1540, lock= >937, amb=21585056.976, snr=45.25) L2 (P , r= 5.42, pd= 0.9885, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 33211.56, pd= -0.5360, lock= >937, amb=19786302.228, snr=45.25) L2 (P , r= 1.02, pd= 0.9760, lock= >937, snr=45.75) SV= 23, Freq= 3, L1 (C/A, r=456512.72, pd= 19.9490, lock= >937, amb=20985472.060, snr=42.75) L2 (P , r= 5.82, pd= 0.8465, lock= >937, snr=43.75) RTCM3 (2011-04-10T22:38:40.97) Type 1004: ID= 0, TOW=194215.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 57159.56, pd= -1.6120, lock= >937, amb=23983396.640, snr=41.75) L2 (C-P/Y, r= 6.66, pd= -2.0045, lock= >937, snr=25.25) SV= 3, L1 (C/A , r= 22624.06, pd= 1.6770, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 6.52, pd= 2.4905, lock= >937, snr=44.75) SV= 18, L1 (C/A , r= 20956.02, pd= 0.9155, lock= >937, amb=21884849.434, snr=47.50) L2 (C-P/Y, r= 6.18, pd= 1.2540, lock= >937, snr=38.25) SV= 16, L1 (C/A , r= 20917.98, pd= -4.2835, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 6.18, pd= -4.5740, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=135782.04, pd= -1.7165, lock= >937, amb=23084019.266, snr=42.50) L2 (C-P/Y, r= 7.90, pd= -1.8535, lock= >937, snr=29.75) SV= 15, L1 (C/A , r=223710.10, pd= 1.1580, lock= >937, amb=24882774.014, snr=42.00) L2 (C-P/Y, r= 7.54, pd= -0.0085, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=274029.40, pd= 1.5660, lock= >937, amb=20086094.686, snr=50.25) L2 (C-P/Y, r= 6.98, pd= 2.4275, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=264551.30, pd= 0.2695, lock= >937, amb=24882774.014, snr=36.25) L2 (C-P/Y, r= 7.46, pd= 0.7365, lock= >937, snr=17.75) SV= 19, L1 (C/A , r=274897.16, pd= 1.7035, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.26, pd= 2.6530, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=242721.92, pd= -0.3990, lock= 124, amb=24882774.014, snr=29.00) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=290043.98, pd= 0.7140, lock= >937, amb=20685679.602, snr=49.75) L2 (C-P/Y, r= 4.08, pd= 0.9795, lock= >937, snr=44.50) SV= 7, L1 (C/A , r=115580.08, pd= -5.7680, lock= 76, amb=24582981.556, snr=36.50) L2 (C-P/Y, r= 6.44, pd= -5.6935, lock= 76, snr=17.75) RTCM3 (2011-04-10T22:38:40.97 delay -26279.) Type 1012: ID= 0, Tk= 32200.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=288237.38, pd= 0.8360, lock= >937, amb=22184641.892, snr=41.25) L2 (P , r= 6.46, pd= 0.5760, lock= >937, snr=42.00) SV= 21, Freq= 4, L1 (C/A, r= 17145.98, pd= -1.7245, lock= >937, amb=22184641.892, snr=40.25) L2 (P , r= 4.36, pd= -2.8985, lock= >937, snr=41.25) SV= 22, Freq= -3, L1 (C/A, r=438486.74, pd= -44.2025, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.42, pd= 0.5275, lock= >937, snr=50.75) SV= 14, Freq= -7, L1 (C/A, r=116342.54, pd= -2.5890, lock= >937, amb=23383811.724, snr=37.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=209282.96, pd= -2.2130, lock= >937, amb=23383811.724, snr=34.75) L2 (P , r= 8.04, pd= -1.3175, lock= >937, snr=39.75) SV= 6, Freq= -4, L1 (C/A, r= 62611.80, pd= 1.9360, lock= >937, amb=21585056.976, snr=45.25) L2 (P , r= 6.36, pd= 1.7705, lock= >937, snr=45.00) SV= 7, Freq= 5, L1 (C/A, r= 32926.20, pd= -0.0190, lock= >937, amb=19786302.228, snr=45.25) L2 (P , r= 1.40, pd= 1.4925, lock= >937, snr=46.00) SV= 23, Freq= 3, L1 (C/A, r=455992.06, pd= 21.0985, lock= >937, amb=20985472.060, snr=42.25) L2 (P , r= 6.80, pd= 1.9965, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:40.97) Type 1004: ID= 0, TOW=194216.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 57685.80, pd= -1.2615, lock= >937, amb=23983396.640, snr=42.00) L2 (C-P/Y, r= 6.88, pd= -1.6525, lock= >937, snr=25.00) SV= 3, L1 (C/A , r= 22548.14, pd= 1.7565, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 6.60, pd= 2.5695, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 21178.42, pd= 0.8765, lock= >937, amb=21884849.434, snr=48.00) L2 (C-P/Y, r= 6.12, pd= 1.2155, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 21445.76, pd= -4.2645, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 6.20, pd= -4.5555, lock= >937, snr=39.25) SV= 30, L1 (C/A , r=136511.00, pd= -1.1585, lock= >937, amb=23084019.266, snr=42.75) L2 (C-P/Y, r= 7.98, pd= -1.2955, lock= >937, snr=29.50) SV= 15, L1 (C/A , r=223778.84, pd= 1.8970, lock= >937, amb=24882774.014, snr=42.00) L2 (C-P/Y, r= 8.36, pd= 0.7290, lock= >937, snr=22.00) SV= 6, L1 (C/A , r=274070.76, pd= 1.4950, lock= >937, amb=20086094.686, snr=50.50) L2 (C-P/Y, r= 6.90, pd= 2.3555, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=264355.16, pd= -0.2585, lock= >937, amb=24882774.014, snr=36.50) L2 (C-P/Y, r= 6.98, pd= 0.2115, lock= >937, snr=18.50) SV= 19, L1 (C/A , r=274494.16, pd= 1.4715, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.16, pd= 2.4205, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=242086.44, pd= 0.6315, lock= 124, amb=24882774.014, snr=29.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=289877.14, pd= 0.6975, lock= >937, amb=20685679.602, snr=50.75) L2 (C-P/Y, r= 3.82, pd= 0.9630, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=115744.86, pd= -4.4470, lock= 76, amb=24582981.556, snr=37.00) L2 (C-P/Y, r= 7.06, pd= -4.3585, lock= 76, snr=17.75) RTCM3 (2011-04-10T22:38:40.97 delay -26280.) Type 1012: ID= 0, Tk= 32201.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=288580.48, pd= 2.0640, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 7.50, pd= 1.8050, lock= >937, snr=42.25) SV= 21, Freq= 4, L1 (C/A, r= 17665.16, pd= -1.5915, lock= >937, amb=22184641.892, snr=40.25) L2 (P , r= 4.22, pd= -2.7650, lock= >937, snr=41.25) SV= 22, Freq= -3, L1 (C/A, r=438519.64, pd= -44.3250, lock= >937, amb=19186717.312, snr=50.50) L2 (P , r= 5.14, pd= 0.4050, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=116056.98, pd= -1.7275, lock= >937, amb=23383811.724, snr=36.75) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=210024.12, pd= -2.9590, lock= >937, amb=23383811.724, snr=34.50) L2 (P , r= 6.88, pd= -2.0645, lock= >937, snr=39.75) SV= 6, Freq= -4, L1 (C/A, r= 63154.06, pd= 1.8605, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 6.04, pd= 1.6955, lock= >937, snr=45.25) SV= 7, Freq= 5, L1 (C/A, r= 32641.40, pd= 0.1075, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 1.16, pd= 1.6195, lock= >937, snr=45.75) SV= 23, Freq= 3, L1 (C/A, r=455473.22, pd= 20.4665, lock= >937, amb=20985472.060, snr=42.50) L2 (P , r= 6.22, pd= 1.3640, lock= >937, snr=44.25) RTCM3 (2011-04-10T22:38:40.98) Type 1004: ID= 0, TOW=194217.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 58213.02, pd= -1.8770, lock= >937, amb=23983396.640, snr=42.00) L2 (C-P/Y, r= 6.40, pd= -2.2675, lock= >937, snr=25.75) SV= 3, L1 (C/A , r= 22472.26, pd= 1.8855, lock= >937, amb=19786302.228, snr=53.50) L2 (C-P/Y, r= 6.90, pd= 2.6990, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 21400.94, pd= 0.8105, lock= >937, amb=21884849.434, snr=48.50) L2 (C-P/Y, r= 6.26, pd= 1.1485, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 21973.60, pd= -4.2400, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 6.20, pd= -4.5310, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=137241.00, pd= -1.6180, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.66, pd= -1.7545, lock= >937, snr=29.00) SV= 15, L1 (C/A , r=223849.30, pd= 1.0075, lock= >937, amb=24882774.014, snr=41.50) L2 (C-P/Y, r= 7.48, pd= -0.1635, lock= >937, snr=22.00) SV= 6, L1 (C/A , r=274112.18, pd= 1.4365, lock= >937, amb=20086094.686, snr=50.75) L2 (C-P/Y, r= 6.70, pd= 2.2970, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=264158.54, pd= -0.2025, lock= >937, amb=24882774.014, snr=37.00) L2 (C-P/Y, r= 7.04, pd= 0.2690, lock= >937, snr=18.50) SV= 19, L1 (C/A , r=274090.88, pd= 1.5570, lock= >937, amb=21285264.518, snr=48.75) L2 (C-P/Y, r= 4.38, pd= 2.5060, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=241452.94, pd= -0.3125, lock= 128, amb=24882774.014, snr=30.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=289710.40, pd= 0.6875, lock= >937, amb=20685679.602, snr=50.50) L2 (C-P/Y, r= 4.14, pd= 0.9530, lock= >937, snr=44.25) SV= 7, L1 (C/A , r=115911.68, pd= -5.0770, lock= 76, amb=24582981.556, snr=37.25) L2 (C-P/Y, r= 5.92, pd= -4.9895, lock= 76, snr=17.75) RTCM3 (2011-04-10T22:38:40.98 delay -26281.) Type 1012: ID= 0, Tk= 32202.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=288926.02, pd= 0.9855, lock= >937, amb=22184641.892, snr=40.75) L2 (P , r= 6.08, pd= 0.7255, lock= >937, snr=42.25) SV= 21, Freq= 4, L1 (C/A, r= 18184.74, pd= -1.8125, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 3.90, pd= -2.9870, lock= >937, snr=41.75) SV= 22, Freq= -3, L1 (C/A, r=438552.32, pd= -44.1615, lock= >937, amb=19186717.312, snr=50.75) L2 (P , r= 5.20, pd= 0.5680, lock= >937, snr=51.25) SV= 14, Freq= -7, L1 (C/A, r=115772.04, pd= -1.3460, lock= >937, amb=23383811.724, snr=37.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=210764.24, pd= -2.6520, lock= >937, amb=23383811.724, snr=34.00) L2 (P , r= 8.00, pd= -1.7575, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 63697.00, pd= 1.2120, lock= >937, amb=21585056.976, snr=45.50) L2 (P , r= 5.14, pd= 1.0450, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 32356.70, pd= 0.2815, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 2.00, pd= 1.7935, lock= >937, snr=45.25) SV= 23, Freq= 3, L1 (C/A, r=454953.86, pd= 20.3805, lock= >937, amb=20985472.060, snr=42.75) L2 (P , r= 5.84, pd= 1.2780, lock= >937, snr=44.25) RTCM3 (2011-04-10T22:38:40.98) Type 1004: ID= 0, TOW=194218.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 58738.78, pd= -0.9985, lock= >937, amb=23983396.640, snr=41.00) L2 (C-P/Y, r= 7.16, pd= -1.3875, lock= >937, snr=25.00) SV= 3, L1 (C/A , r= 22396.72, pd= 1.7950, lock= >937, amb=19786302.228, snr=53.50) L2 (C-P/Y, r= 6.60, pd= 2.6085, lock= >937, snr=44.75) SV= 18, L1 (C/A , r= 21623.70, pd= 0.6325, lock= >937, amb=21884849.434, snr=48.75) L2 (C-P/Y, r= 6.08, pd= 0.9715, lock= >937, snr=38.75) SV= 16, L1 (C/A , r= 22501.56, pd= -4.2275, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 6.14, pd= -4.5190, lock= >937, snr=39.50) SV= 30, L1 (C/A , r=137970.72, pd= -1.7395, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.14, pd= -1.8760, lock= >937, snr=29.50) SV= 15, L1 (C/A , r=223918.28, pd= 1.7455, lock= >937, amb=24882774.014, snr=41.25) L2 (C-P/Y, r= 7.80, pd= 0.5730, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=274153.78, pd= 1.2990, lock= >937, amb=20086094.686, snr=50.50) L2 (C-P/Y, r= 6.66, pd= 2.1605, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=263962.30, pd= -0.3915, lock= >937, amb=24882774.014, snr=37.25) L2 (C-P/Y, r= 6.78, pd= 0.0860, lock= >937, snr=18.25) SV= 19, L1 (C/A , r=273687.48, pd= 1.8330, lock= >937, amb=21285264.518, snr=48.75) L2 (C-P/Y, r= 4.34, pd= 2.7830, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=240817.94, pd= 0.2855, lock= 128, amb=24882774.014, snr=31.00) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=289543.74, pd= 0.7375, lock= >937, amb=20685679.602, snr=50.25) L2 (C-P/Y, r= 4.26, pd= 1.0045, lock= >937, snr=44.50) SV= 7, L1 (C/A , r=116078.36, pd= -5.4365, lock= 76, amb=24582981.556, snr=37.75) L2 (C-P/Y, r= 5.78, pd= -5.3380, lock= 76, snr=17.75) RTCM3 (2011-04-10T22:38:40.98 delay -26282.) Type 1012: ID= 0, Tk= 32203.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=289271.18, pd= 0.4430, lock= >937, amb=22184641.892, snr=41.25) L2 (P , r= 5.26, pd= 0.1805, lock= >937, snr=42.00) SV= 21, Freq= 4, L1 (C/A, r= 18703.64, pd= -1.2895, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 4.74, pd= -2.4635, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=438585.92, pd= -44.8160, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.14, pd= -0.0875, lock= >937, snr=51.25) SV= 14, Freq= -7, L1 (C/A, r=115487.30, pd= -0.9935, lock= >937, amb=23383811.724, snr=37.25) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=211503.58, pd= -1.5065, lock= >937, amb=23383811.724, snr=34.50) L2 (P , r= 8.18, pd= -0.6115, lock= >937, snr=39.25) SV= 6, Freq= -4, L1 (C/A, r= 64239.86, pd= 0.8000, lock= >937, amb=21585056.976, snr=45.50) L2 (P , r= 4.70, pd= 0.6330, lock= >937, snr=45.25) SV= 7, Freq= 5, L1 (C/A, r= 32072.96, pd= -0.3115, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 1.28, pd= 1.2005, lock= >937, snr=45.50) SV= 23, Freq= 3, L1 (C/A, r=454435.26, pd= 19.5860, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 5.08, pd= 0.4840, lock= >937, snr=43.75) RTCM3 (2011-04-10T22:38:40.98) Type 1004: ID= 0, TOW=194219.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 59265.34, pd= -0.9300, lock= >937, amb=23983396.640, snr=40.75) L2 (C-P/Y, r= 7.64, pd= -1.3195, lock= >937, snr=25.50) SV= 3, L1 (C/A , r= 22321.06, pd= 1.8970, lock= >937, amb=19786302.228, snr=53.75) L2 (C-P/Y, r= 6.78, pd= 2.7105, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 21846.38, pd= 0.6130, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 5.88, pd= 0.9515, lock= >937, snr=39.25) SV= 16, L1 (C/A , r= 23029.70, pd= -4.3415, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 6.24, pd= -4.6340, lock= >937, snr=39.25) SV= 30, L1 (C/A , r=138699.86, pd= -1.2730, lock= >937, amb=23084019.266, snr=42.75) L2 (C-P/Y, r= 7.98, pd= -1.4095, lock= >937, snr=29.25) SV= 15, L1 (C/A , r=223988.70, pd= 1.1245, lock= >937, amb=24882774.014, snr=41.25) L2 (C-P/Y, r= 7.58, pd= -0.0480, lock= >937, snr=22.25) SV= 6, L1 (C/A , r=274195.06, pd= 1.5385, lock= >937, amb=20086094.686, snr=50.75) L2 (C-P/Y, r= 7.00, pd= 2.3990, lock= >937, snr=44.00) SV= 8, L1 (C/A , r=263765.22, pd= 0.3585, lock= >937, amb=24882774.014, snr=37.25) L2 (C-P/Y, r= 7.46, pd= 0.8375, lock= >937, snr=17.75) SV= 19, L1 (C/A , r=273284.22, pd= 1.9965, lock= >937, amb=21285264.518, snr=49.00) L2 (C-P/Y, r= 4.58, pd= 2.9460, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=240183.76, pd= 0.0525, lock= 128, amb=24882774.014, snr=30.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=289377.30, pd= 0.6565, lock= >937, amb=20685679.602, snr=50.75) L2 (C-P/Y, r= 4.08, pd= 0.9220, lock= >937, snr=44.25) SV= 7, L1 (C/A , r=116245.02, pd= -5.6985, lock= 80, amb=24582981.556, snr=36.50) L2 (C-P/Y, r= 5.06, pd= -5.5940, lock= 80, snr=17.25) RTCM3 (2011-04-10T22:38:40.98 delay -26283.) Type 1012: ID= 0, Tk= 32204.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=289616.18, pd= 0.1750, lock= >937, amb=22184641.892, snr=42.00) L2 (P , r= 5.28, pd= -0.0895, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 19223.72, pd= -1.9115, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 4.08, pd= -3.0865, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=438618.54, pd= -44.4330, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.16, pd= 0.2950, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=115203.18, pd= -1.1255, lock= >937, amb=23383811.724, snr=37.25) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=212244.50, pd= -1.9515, lock= >937, amb=23383811.724, snr=34.00) L2 (P , r= 8.46, pd= -1.0575, lock= >937, snr=39.75) SV= 6, Freq= -4, L1 (C/A, r= 64781.82, pd= 1.3865, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.40, pd= 1.2205, lock= >937, snr=45.00) SV= 7, Freq= 5, L1 (C/A, r= 31789.20, pd= -0.7460, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 0.20, pd= 0.7665, lock= >937, snr=45.25) SV= 23, Freq= 3, L1 (C/A, r=453915.80, pd= 19.6595, lock= >937, amb=20985472.060, snr=43.25) L2 (P , r= 5.48, pd= 0.5580, lock= >937, snr=44.25) RTCM3 (2011-04-10T22:38:40.98) Type 1033: ID= 0, Antenna='ASH701945E_M NONE', Setup ID= 0, Serial='24222' Receiver Type='TRIMBLE NETR5', Firmware='', Serial='' RTCM3 (2011-04-10T22:38:40.98) Type 1004: ID= 0, TOW=194220.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 59792.34, pd= -1.2750, lock= >937, amb=23983396.640, snr=41.00) L2 (C-P/Y, r= 6.82, pd= -1.6690, lock= >937, snr=25.00) SV= 3, L1 (C/A , r= 22245.48, pd= 2.0260, lock= >937, amb=19786302.228, snr=53.50) L2 (C-P/Y, r= 6.94, pd= 2.8400, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 22069.18, pd= 0.5850, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 5.90, pd= 0.9220, lock= >937, snr=39.00) SV= 16, L1 (C/A , r= 23557.76, pd= -4.2865, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 6.16, pd= -4.5785, lock= >937, snr=39.50) SV= 30, L1 (C/A , r=139429.64, pd= -1.4120, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.36, pd= -1.5480, lock= >937, snr=29.50) SV= 15, L1 (C/A , r=224058.44, pd= 1.3025, lock= >937, amb=24882774.014, snr=41.00) L2 (C-P/Y, r= 7.84, pd= 0.1295, lock= >937, snr=22.25) SV= 6, L1 (C/A , r=274236.70, pd= 1.5075, lock= >937, amb=20086094.686, snr=51.00) L2 (C-P/Y, r= 6.94, pd= 2.3675, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=263569.00, pd= 0.3785, lock= >937, amb=24882774.014, snr=37.00) L2 (C-P/Y, r= 7.30, pd= 0.8515, lock= >937, snr=18.25) SV= 19, L1 (C/A , r=272881.22, pd= 1.9555, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.74, pd= 2.9055, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=239550.12, pd= -0.7000, lock= 128, amb=24882774.014, snr=30.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=289210.98, pd= 0.5845, lock= >937, amb=20685679.602, snr=51.25) L2 (C-P/Y, r= 3.98, pd= 0.8500, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=116410.84, pd= -4.9935, lock= 80, amb=24582981.556, snr=36.00) L2 (C-P/Y, r= 6.18, pd= -4.8870, lock= 80, snr=17.75) RTCM3 (2011-04-10T22:38:40.98 delay -26284.) Type 1012: ID= 0, Tk= 32205.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=289961.48, pd= -0.2455, lock= >937, amb=22184641.892, snr=42.50) L2 (P , r= 4.56, pd= -0.5110, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 19743.44, pd= -2.1175, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 4.74, pd= -3.2925, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=438651.86, pd= -44.6665, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.48, pd= 0.0635, lock= >937, snr=50.75) SV= 14, Freq= -7, L1 (C/A, r=114919.76, pd= -1.8020, lock= >937, amb=23383811.724, snr=37.25) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=212983.86, pd= -0.7960, lock= >937, amb=23383811.724, snr=34.25) L2 (P , r= 9.62, pd= 0.0970, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 65323.84, pd= 2.0405, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 6.08, pd= 1.8745, lock= >937, snr=45.00) SV= 7, Freq= 5, L1 (C/A, r= 31504.10, pd= 0.3300, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 1.68, pd= 1.8425, lock= >937, snr=45.25) SV= 23, Freq= 3, L1 (C/A, r=453395.52, pd= 20.5905, lock= >937, amb=20985472.060, snr=43.75) L2 (P , r= 6.56, pd= 1.4885, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:40.98) Type 1008: ID= 0, Antenna='ASH701945E_M NONE', Setup ID= 0, Serial='24222' RTCM3 (2011-04-10T22:38:40.98) Type 1004: ID= 0, TOW=194221.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 60319.18, pd= -1.4790, lock= >937, amb=23983396.640, snr=40.50) L2 (C-P/Y, r= 7.02, pd= -1.8755, lock= >937, snr=25.25) SV= 3, L1 (C/A , r= 22170.18, pd= 1.9480, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 7.06, pd= 2.7615, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 22291.82, pd= 0.7995, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 5.62, pd= 1.1370, lock= >937, snr=39.00) SV= 16, L1 (C/A , r= 24086.02, pd= -4.3720, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 6.14, pd= -4.6650, lock= >937, snr=38.75) SV= 30, L1 (C/A , r=140159.56, pd= -1.6755, lock= >937, amb=23084019.266, snr=42.25) L2 (C-P/Y, r= 7.44, pd= -1.8115, lock= >937, snr=29.25) SV= 15, L1 (C/A , r=224128.16, pd= 1.5900, lock= >937, amb=24882774.014, snr=41.50) L2 (C-P/Y, r= 7.90, pd= 0.4185, lock= >937, snr=22.75) SV= 6, L1 (C/A , r=274278.66, pd= 1.2070, lock= >937, amb=20086094.686, snr=51.00) L2 (C-P/Y, r= 6.48, pd= 2.0675, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=263373.00, pd= 0.2605, lock= >937, amb=24882774.014, snr=37.50) L2 (C-P/Y, r= 7.50, pd= 0.7290, lock= >937, snr=18.25) SV= 19, L1 (C/A , r=272478.18, pd= 1.9755, lock= >937, amb=21285264.518, snr=49.00) L2 (C-P/Y, r= 4.52, pd= 2.9235, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=238915.98, pd= -0.9735, lock= 132, amb=24882774.014, snr=30.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=289044.74, pd= 0.5225, lock= >937, amb=20685679.602, snr=51.75) L2 (C-P/Y, r= 3.90, pd= 0.7890, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=116577.66, pd= -5.2105, lock= 80, amb=24582981.556, snr=35.50) L2 (C-P/Y, r= 5.76, pd= -5.1040, lock= 80, snr=18.25) RTCM3 (2011-04-10T22:38:40.98 delay -26285.) Type 1012: ID= 0, Tk= 32206.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=290305.66, pd= 0.5655, lock= >937, amb=22184641.892, snr=41.75) L2 (P , r= 5.72, pd= 0.3025, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 20262.76, pd= -1.8965, lock= >937, amb=22184641.892, snr=40.25) L2 (P , r= 3.72, pd= -3.0730, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=438684.88, pd= -44.5430, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.44, pd= 0.1860, lock= >937, snr=50.75) SV= 14, Freq= -7, L1 (C/A, r=114635.08, pd= -1.0935, lock= >937, amb=23383811.724, snr=37.75) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=213726.02, pd= -2.4505, lock= >937, amb=23383811.724, snr=34.25) L2 (P , r= 7.86, pd= -1.5580, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 65866.94, pd= 1.7155, lock= >937, amb=21585056.976, snr=45.25) L2 (P , r= 6.46, pd= 1.5490, lock= >937, snr=45.00) SV= 7, Freq= 5, L1 (C/A, r= 31220.82, pd= -0.2715, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 1.10, pd= 1.2415, lock= >937, snr=45.00) SV= 23, Freq= 3, L1 (C/A, r=452876.62, pd= 20.1495, lock= >937, amb=20985472.060, snr=43.50) L2 (P , r= 6.36, pd= 1.0470, lock= >937, snr=43.75) RTCM3 (2011-04-10T22:38:40.98) Type 1006: ID= 0, Year=0, GPS=Y, GLONASS=Y, Galileo=N, X= 4581694.6288, Y= 556114.3725, Z= 4389358.4678 QC=1(no bias), height=0.0349 RTCM3 (2011-04-10T22:38:40.98) Type 1004: ID= 0, TOW=194222.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 60845.98, pd= -1.6060, lock= >937, amb=23983396.640, snr=40.75) L2 (C-P/Y, r= 7.02, pd= -2.0045, lock= >937, snr=26.50) SV= 3, L1 (C/A , r= 22095.18, pd= 1.6795, lock= >937, amb=19786302.228, snr=52.75) L2 (C-P/Y, r= 6.36, pd= 2.4935, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 22514.96, pd= 0.6300, lock= >937, amb=21884849.434, snr=48.75) L2 (C-P/Y, r= 5.92, pd= 0.9675, lock= >937, snr=39.00) SV= 16, L1 (C/A , r= 24614.30, pd= -4.3865, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 5.82, pd= -4.6795, lock= >937, snr=38.75) SV= 30, L1 (C/A , r=140889.54, pd= -1.9530, lock= >937, amb=23084019.266, snr=42.50) L2 (C-P/Y, r= 7.22, pd= -2.0890, lock= >937, snr=29.25) SV= 15, L1 (C/A , r=224198.70, pd= 1.1920, lock= >937, amb=24882774.014, snr=41.00) L2 (C-P/Y, r= 7.40, pd= 0.0195, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=274320.34, pd= 1.2860, lock= >937, amb=20086094.686, snr=51.25) L2 (C-P/Y, r= 6.62, pd= 2.1460, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=263177.92, pd= -0.6430, lock= >937, amb=24882774.014, snr=37.75) L2 (C-P/Y, r= 7.16, pd= -0.1740, lock= >937, snr=18.25) SV= 19, L1 (C/A , r=272075.44, pd= 1.7620, lock= >937, amb=21285264.518, snr=48.75) L2 (C-P/Y, r= 4.54, pd= 2.7120, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=238281.06, pd= -0.4450, lock= 132, amb=24882774.014, snr=30.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=288878.38, pd= 0.7115, lock= >937, amb=20685679.602, snr=51.25) L2 (C-P/Y, r= 4.00, pd= 0.9775, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=116744.72, pd= -5.5505, lock= 80, amb=24582981.556, snr=36.00) L2 (C-P/Y, r= 5.20, pd= -5.4490, lock= 80, snr=19.25) RTCM3 (2011-04-10T22:38:40.98 delay -26286.) Type 1012: ID= 0, Tk= 32207.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=290651.00, pd= 0.3735, lock= >937, amb=22184641.892, snr=41.25) L2 (P , r= 5.54, pd= 0.1130, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 20782.40, pd= -1.9290, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 4.74, pd= -3.1055, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=438717.74, pd= -44.1685, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.68, pd= 0.5605, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=114352.64, pd= -2.4585, lock= >937, amb=23383811.724, snr=38.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=214467.24, pd= -3.1215, lock= >937, amb=23383811.724, snr=34.50) L2 (P , r= 7.02, pd= -2.2290, lock= >937, snr=39.75) SV= 6, Freq= -4, L1 (C/A, r= 66409.88, pd= 1.6835, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.76, pd= 1.5155, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 30937.38, pd= -0.5440, lock= >937, amb=19786302.228, snr=45.25) L2 (P , r= 0.72, pd= 0.9690, lock= >937, snr=45.25) SV= 23, Freq= 3, L1 (C/A, r=452357.72, pd= 19.7470, lock= >937, amb=20985472.060, snr=43.50) L2 (P , r= 5.92, pd= 0.6440, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:40.98) Type 1013: ID= 0, MJD=55621, SOD=21407, Num= 6, Leap=15 ID=1004, Sync=1, Interval= 1.0 ID=1006, Sync=1, Interval= 10.0 ID=1008, Sync=1, Interval= 10.0 ID=1012, Sync=1, Interval= 1.0 ID=1013, Sync=1, Interval= 10.0 ID=1033, Sync=1, Interval= 10.0 RTCM3 (2011-04-10T22:38:40.98) Type 1004: ID= 0, TOW=194223.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 61373.16, pd= -2.0940, lock= >937, amb=23983396.640, snr=41.25) L2 (C-P/Y, r= 6.74, pd= -2.4925, lock= >937, snr=25.00) SV= 3, L1 (C/A , r= 22019.70, pd= 1.9990, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.70, pd= 2.8125, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 22737.80, pd= 0.8725, lock= >937, amb=21884849.434, snr=48.75) L2 (C-P/Y, r= 5.88, pd= 1.2105, lock= >937, snr=39.00) SV= 16, L1 (C/A , r= 25142.68, pd= -4.4125, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 5.84, pd= -4.7050, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=141619.06, pd= -1.7310, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.04, pd= -1.8665, lock= >937, snr=29.50) SV= 15, L1 (C/A , r=224269.26, pd= 0.8905, lock= >937, amb=24882774.014, snr=40.25) L2 (C-P/Y, r= 7.22, pd= -0.2830, lock= >937, snr=23.25) SV= 6, L1 (C/A , r=274361.86, pd= 1.6135, lock= >937, amb=20086094.686, snr=50.75) L2 (C-P/Y, r= 6.98, pd= 2.4735, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=262981.24, pd= 0.1765, lock= >937, amb=24882774.014, snr=37.50) L2 (C-P/Y, r= 7.38, pd= 0.6460, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=271672.28, pd= 2.0255, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.78, pd= 2.9755, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=237647.30, pd= -1.0410, lock= 132, amb=24882774.014, snr=30.75) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=288712.42, pd= 0.6255, lock= >937, amb=20685679.602, snr=51.00) L2 (C-P/Y, r= 4.04, pd= 0.8920, lock= >937, snr=43.75) SV= 7, L1 (C/A , r=116910.96, pd= -4.9580, lock= 84, amb=24582981.556, snr=36.25) L2 (C-P/Y, r= 5.68, pd= -4.8585, lock= 84, snr=18.50) RTCM3 (2011-04-10T22:38:40.98 delay -26287.) Type 1012: ID= 0, Tk= 32208.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=290995.82, pd= 0.8580, lock= >937, amb=22184641.892, snr=40.75) L2 (P , r= 6.26, pd= 0.5995, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 21301.74, pd= -1.6060, lock= >937, amb=22184641.892, snr=40.25) L2 (P , r= 5.04, pd= -2.7830, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=438751.12, pd= -44.2240, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.54, pd= 0.5050, lock= >937, snr=50.50) SV= 14, Freq= -7, L1 (C/A, r=114069.42, pd= -2.8895, lock= >937, amb=23383811.724, snr=38.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=215207.36, pd= -2.6425, lock= >937, amb=23383811.724, snr=34.75) L2 (P , r= 8.00, pd= -1.7520, lock= >937, snr=39.25) SV= 6, Freq= -4, L1 (C/A, r= 66953.46, pd= 1.1450, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.28, pd= 0.9765, lock= >937, snr=45.00) SV= 7, Freq= 5, L1 (C/A, r= 30653.92, pd= -0.6185, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 0.20, pd= 0.8940, lock= >937, snr=45.50) SV= 23, Freq= 3, L1 (C/A, r=451837.62, pd= 20.5790, lock= >937, amb=20985472.060, snr=43.50) L2 (P , r= 6.86, pd= 1.4760, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:40.98) Type 1004: ID= 0, TOW=194224.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 61899.52, pd= -1.7445, lock= >937, amb=23983396.640, snr=41.00) L2 (C-P/Y, r= 6.60, pd= -2.1430, lock= >937, snr=25.75) SV= 3, L1 (C/A , r= 21944.94, pd= 1.6975, lock= >937, amb=19786302.228, snr=52.75) L2 (C-P/Y, r= 6.40, pd= 2.5095, lock= >937, snr=44.75) SV= 18, L1 (C/A , r= 22960.98, pd= 0.8825, lock= >937, amb=21884849.434, snr=48.75) L2 (C-P/Y, r= 5.94, pd= 1.2200, lock= >937, snr=38.75) SV= 16, L1 (C/A , r= 25671.34, pd= -4.6390, lock= >937, amb=21884849.434, snr=50.00) L2 (C-P/Y, r= 5.78, pd= -4.9305, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=142348.54, pd= -1.4320, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 8.02, pd= -1.5700, lock= >937, snr=29.75) SV= 15, L1 (C/A , r=224339.40, pd= 1.1175, lock= >937, amb=24882774.014, snr=40.50) L2 (C-P/Y, r= 7.52, pd= -0.0545, lock= >937, snr=23.00) SV= 6, L1 (C/A , r=274404.12, pd= 1.2785, lock= >937, amb=20086094.686, snr=50.50) L2 (C-P/Y, r= 6.44, pd= 2.1375, lock= >937, snr=45.00) SV= 8, L1 (C/A , r=262785.66, pd= 0.0190, lock= >937, amb=24882774.014, snr=37.50) L2 (C-P/Y, r= 7.28, pd= 0.4945, lock= >937, snr=18.25) SV= 19, L1 (C/A , r=271269.66, pd= 1.7950, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.26, pd= 2.7440, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=237013.74, pd= -1.8145, lock= 132, amb=24882774.014, snr=31.00) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=288546.48, pd= 0.6345, lock= >937, amb=20685679.602, snr=50.75) L2 (C-P/Y, r= 3.90, pd= 0.9005, lock= >937, snr=43.50) SV= 7, L1 (C/A , r=117077.04, pd= -4.0915, lock= 84, amb=24582981.556, snr=36.75) L2 (C-P/Y, r= 6.62, pd= -3.9915, lock= 84, snr=20.00) RTCM3 (2011-04-10T22:38:40.98 delay -26288.) Type 1012: ID= 0, Tk= 32209.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=291341.82, pd= 0.3020, lock= >937, amb=22184641.892, snr=41.00) L2 (P , r= 5.70, pd= 0.0420, lock= >937, snr=41.00) SV= 21, Freq= 4, L1 (C/A, r= 21821.46, pd= -1.6130, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 4.54, pd= -2.7915, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=438784.58, pd= -44.2785, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.24, pd= 0.4500, lock= >937, snr=50.50) SV= 14, Freq= -7, L1 (C/A, r=113785.68, pd= -2.6500, lock= >937, amb=23383811.724, snr=38.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=215947.46, pd= -2.1330, lock= >937, amb=23383811.724, snr=34.25) L2 (P , r= 8.36, pd= -1.2420, lock= >937, snr=39.25) SV= 6, Freq= -4, L1 (C/A, r= 67496.78, pd= 0.9895, lock= >937, amb=21585056.976, snr=45.50) L2 (P , r= 4.90, pd= 0.8220, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 30369.74, pd= 0.1840, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 1.50, pd= 1.6970, lock= >937, snr=45.75) SV= 23, Freq= 3, L1 (C/A, r=451318.06, pd= 20.8965, lock= >937, amb=20985472.060, snr=43.50) L2 (P , r= 7.12, pd= 1.7935, lock= >937, snr=43.75) RTCM3 (2011-04-10T22:38:40.98) Type 1004: ID= 0, TOW=194225.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 62425.88, pd= -1.3975, lock= >937, amb=23983396.640, snr=41.75) L2 (C-P/Y, r= 7.08, pd= -1.7985, lock= >937, snr=25.50) SV= 3, L1 (C/A , r= 21869.64, pd= 2.0205, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.66, pd= 2.8325, lock= >937, snr=45.00) SV= 18, L1 (C/A , r= 23184.26, pd= 0.8805, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 6.02, pd= 1.2180, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 26199.58, pd= -4.3745, lock= >937, amb=21884849.434, snr=50.00) L2 (C-P/Y, r= 6.20, pd= -4.6670, lock= >937, snr=38.50) SV= 30, L1 (C/A , r=143078.58, pd= -1.6815, lock= >937, amb=23084019.266, snr=42.75) L2 (C-P/Y, r= 7.36, pd= -1.8195, lock= >937, snr=29.25) SV= 15, L1 (C/A , r=224409.60, pd= 1.3890, lock= >937, amb=24882774.014, snr=40.00) L2 (C-P/Y, r= 7.54, pd= 0.2155, lock= >937, snr=22.25) SV= 6, L1 (C/A , r=274445.98, pd= 1.4115, lock= >937, amb=20086094.686, snr=50.50) L2 (C-P/Y, r= 6.92, pd= 2.2710, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=262589.50, pd= 0.5475, lock= >937, amb=24882774.014, snr=37.25) L2 (C-P/Y, r= 7.94, pd= 1.0265, lock= >937, snr=18.50) SV= 19, L1 (C/A , r=270866.90, pd= 1.7430, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.78, pd= 2.6920, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=236379.60, pd= -2.0380, lock= 136, amb=24882774.014, snr=31.25) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=288380.64, pd= 0.6505, lock= >937, amb=20685679.602, snr=50.75) L2 (C-P/Y, r= 4.04, pd= 0.9170, lock= >937, snr=43.50) SV= 7, L1 (C/A , r=117245.16, pd= -5.1905, lock= 84, amb=24582981.556, snr=35.75) L2 (C-P/Y, r= 5.90, pd= -5.0910, lock= 84, snr=20.50) RTCM3 (2011-04-10T22:38:40.98 delay -26289.) Type 1012: ID= 0, Tk= 32210.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=291687.20, pd= 0.4800, lock= >937, amb=22184641.892, snr=41.00) L2 (P , r= 5.36, pd= 0.2185, lock= >937, snr=41.00) SV= 21, Freq= 4, L1 (C/A, r= 22340.10, pd= -0.5030, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 5.62, pd= -1.6820, lock= >937, snr=41.50) SV= 22, Freq= -3, L1 (C/A, r=438817.98, pd= -44.2055, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.62, pd= 0.5235, lock= >937, snr=50.50) SV= 14, Freq= -7, L1 (C/A, r=113503.12, pd= -3.4560, lock= >937, amb=23383811.724, snr=38.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=216687.22, pd= -1.2885, lock= >937, amb=23383811.724, snr=35.00) L2 (P , r= 8.84, pd= -0.3975, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 68040.22, pd= 0.8205, lock= >937, amb=21585056.976, snr=45.25) L2 (P , r= 5.40, pd= 0.6515, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 30086.34, pd= 0.3545, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 1.58, pd= 1.8665, lock= >937, snr=46.00) SV= 23, Freq= 3, L1 (C/A, r=450800.14, pd= 19.5965, lock= >937, amb=20985472.060, snr=43.75) L2 (P , r= 5.38, pd= 0.4935, lock= >937, snr=43.75) RTCM3 (2011-04-10T22:38:40.98) Type 1004: ID= 0, TOW=194226.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 62952.48, pd= -1.2530, lock= >937, amb=23983396.640, snr=41.50) L2 (C-P/Y, r= 7.20, pd= -1.6545, lock= >937, snr=25.50) SV= 3, L1 (C/A , r= 21794.88, pd= 1.9205, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.80, pd= 2.7330, lock= >937, snr=45.00) SV= 18, L1 (C/A , r= 23407.78, pd= 0.7615, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 5.76, pd= 1.0985, lock= >937, snr=39.00) SV= 16, L1 (C/A , r= 26728.22, pd= -4.4130, lock= >937, amb=21884849.434, snr=50.00) L2 (C-P/Y, r= 5.86, pd= -4.7060, lock= >937, snr=38.75) SV= 30, L1 (C/A , r=143808.20, pd= -1.4525, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.88, pd= -1.5895, lock= >937, snr=29.25) SV= 15, L1 (C/A , r=224480.80, pd= 0.7875, lock= >937, amb=24882774.014, snr=39.75) L2 (C-P/Y, r= 7.10, pd= -0.3840, lock= >937, snr=22.75) SV= 6, L1 (C/A , r=274487.98, pd= 1.5025, lock= >937, amb=20086094.686, snr=50.75) L2 (C-P/Y, r= 6.80, pd= 2.3620, lock= >937, snr=45.00) SV= 8, L1 (C/A , r=262394.62, pd= -0.0730, lock= >937, amb=24882774.014, snr=38.00) L2 (C-P/Y, r= 7.22, pd= 0.4045, lock= >937, snr=19.00) SV= 19, L1 (C/A , r=270464.20, pd= 1.6980, lock= >937, amb=21285264.518, snr=48.75) L2 (C-P/Y, r= 3.86, pd= 2.6475, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=235743.48, pd= -0.2280, lock= 136, amb=24882774.014, snr=31.75) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=288214.84, pd= 0.7555, lock= >937, amb=20685679.602, snr=51.00) L2 (C-P/Y, r= 4.34, pd= 1.0215, lock= >937, snr=43.75) SV= 7, L1 (C/A , r=117411.90, pd= -4.7600, lock= 84, amb=24582981.556, snr=35.50) L2 (C-P/Y, r= 6.34, pd= -4.6600, lock= 84, snr=20.75) RTCM3 (2011-04-10T22:38:40.98 delay -26290.) Type 1012: ID= 0, Tk= 32211.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=292033.38, pd= 0.0240, lock= >937, amb=22184641.892, snr=40.75) L2 (P , r= 4.72, pd= -0.2385, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 22860.46, pd= -1.0400, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 4.66, pd= -2.2190, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=438851.64, pd= -44.2960, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.56, pd= 0.4330, lock= >937, snr=50.75) SV= 14, Freq= -7, L1 (C/A, r=113221.10, pd= -4.6410, lock= >937, amb=23383811.724, snr=38.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=217427.60, pd= -1.0040, lock= >937, amb=23383811.724, snr=35.00) L2 (P , r= 9.26, pd= -0.1110, lock= >937, snr=40.00) SV= 6, Freq= -4, L1 (C/A, r= 68583.34, pd= 1.1165, lock= >937, amb=21585056.976, snr=45.50) L2 (P , r= 5.10, pd= 0.9485, lock= >937, snr=45.00) SV= 7, Freq= 5, L1 (C/A, r= 29803.82, pd= -0.1700, lock= >937, amb=19786302.228, snr=44.50) L2 (P , r= 0.76, pd= 1.3435, lock= >937, snr=45.75) SV= 23, Freq= 3, L1 (C/A, r=450280.52, pd= 20.0420, lock= >937, amb=20985472.060, snr=43.75) L2 (P , r= 6.02, pd= 0.9410, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:40.98) Type 1004: ID= 0, TOW=194227.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 63480.10, pd= -2.1250, lock= >937, amb=23983396.640, snr=41.50) L2 (C-P/Y, r= 6.64, pd= -2.5275, lock= >937, snr=26.25) SV= 3, L1 (C/A , r= 21720.32, pd= 1.7125, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.74, pd= 2.5250, lock= >937, snr=44.75) SV= 18, L1 (C/A , r= 23631.16, pd= 0.8820, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 5.96, pd= 1.2185, lock= >937, snr=38.75) SV= 16, L1 (C/A , r= 27257.18, pd= -4.6965, lock= >937, amb=21884849.434, snr=50.00) L2 (C-P/Y, r= 6.10, pd= -4.9905, lock= >937, snr=38.75) SV= 30, L1 (C/A , r=144538.76, pd= -2.1330, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.04, pd= -2.2700, lock= >937, snr=30.00) SV= 15, L1 (C/A , r=224550.94, pd= 1.3575, lock= >937, amb=24882774.014, snr=40.25) L2 (C-P/Y, r= 7.98, pd= 0.1855, lock= >937, snr=22.75) SV= 6, L1 (C/A , r=274530.18, pd= 1.4655, lock= >937, amb=20086094.686, snr=51.00) L2 (C-P/Y, r= 6.64, pd= 2.3245, lock= >937, snr=45.00) SV= 8, L1 (C/A , r=262199.50, pd= -0.3360, lock= >937, amb=24882774.014, snr=37.50) L2 (C-P/Y, r= 7.12, pd= 0.1375, lock= >937, snr=18.50) SV= 19, L1 (C/A , r=270061.44, pd= 1.7530, lock= >937, amb=21285264.518, snr=48.75) L2 (C-P/Y, r= 4.30, pd= 2.7020, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=235109.26, pd= -0.3115, lock= 136, amb=24882774.014, snr=32.25) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=288049.32, pd= 0.6975, lock= >937, amb=20685679.602, snr=51.00) L2 (C-P/Y, r= 3.84, pd= 0.9635, lock= >937, snr=43.75) SV= 7, L1 (C/A , r=117579.44, pd= -5.0320, lock= 88, amb=24582981.556, snr=34.50) L2 (C-P/Y, r= 6.28, pd= -4.9335, lock= 88, snr=21.50) RTCM3 (2011-04-10T22:38:40.98 delay -26291.) Type 1012: ID= 0, Tk= 32212.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=292379.70, pd= -0.4355, lock= >937, amb=22184641.892, snr=41.25) L2 (P , r= 4.64, pd= -0.6990, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 23380.64, pd= -1.3520, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 4.76, pd= -2.5330, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=438885.18, pd= -44.1865, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.26, pd= 0.5420, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=112937.48, pd= -4.0755, lock= >937, amb=23383811.724, snr=38.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=218170.50, pd= -3.2100, lock= >937, amb=23383811.724, snr=35.50) L2 (P , r= 6.72, pd= -2.3170, lock= >937, snr=39.75) SV= 6, Freq= -4, L1 (C/A, r= 69126.76, pd= 1.2245, lock= >937, amb=21585056.976, snr=45.25) L2 (P , r= 5.52, pd= 1.0550, lock= >937, snr=45.25) SV= 7, Freq= 5, L1 (C/A, r= 29520.34, pd= 0.4160, lock= >937, amb=19786302.228, snr=44.50) L2 (P , r= 1.76, pd= 1.9290, lock= >937, snr=45.75) SV= 23, Freq= 3, L1 (C/A, r=449761.60, pd= 19.8090, lock= >937, amb=20985472.060, snr=43.25) L2 (P , r= 5.70, pd= 0.7070, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:40.99) Type 1004: ID= 0, TOW=194228.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 64006.42, pd= -1.6775, lock= >937, amb=23983396.640, snr=42.00) L2 (C-P/Y, r= 6.62, pd= -2.0800, lock= >937, snr=24.25) SV= 3, L1 (C/A , r= 21645.72, pd= 1.6395, lock= >937, amb=19786302.228, snr=53.50) L2 (C-P/Y, r= 6.58, pd= 2.4520, lock= >937, snr=45.00) SV= 18, L1 (C/A , r= 23854.88, pd= 0.7590, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 5.88, pd= 1.0965, lock= >937, snr=38.75) SV= 16, L1 (C/A , r= 27785.94, pd= -4.7025, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 6.04, pd= -4.9965, lock= >937, snr=38.75) SV= 30, L1 (C/A , r=145268.58, pd= -2.0460, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.20, pd= -2.1850, lock= >937, snr=29.50) SV= 15, L1 (C/A , r=224622.34, pd= 0.7725, lock= >937, amb=24882774.014, snr=40.50) L2 (C-P/Y, r= 7.12, pd= -0.4000, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=274572.34, pd= 1.5495, lock= >937, amb=20086094.686, snr=50.75) L2 (C-P/Y, r= 6.68, pd= 2.4090, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=262004.02, pd= -0.1260, lock= >937, amb=24882774.014, snr=38.25) L2 (C-P/Y, r= 7.38, pd= 0.3480, lock= >937, snr=18.25) SV= 19, L1 (C/A , r=269658.82, pd= 1.7220, lock= >937, amb=21285264.518, snr=48.75) L2 (C-P/Y, r= 4.20, pd= 2.6710, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=234475.24, pd= -0.5820, lock= 136, amb=24882774.014, snr=32.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=287884.12, pd= 0.4310, lock= >937, amb=20685679.602, snr=50.50) L2 (C-P/Y, r= 3.80, pd= 0.6965, lock= >937, snr=43.75) SV= 7, L1 (C/A , r=117745.82, pd= -4.0495, lock= 88, amb=24582981.556, snr=33.75) L2 (C-P/Y, r= 7.42, pd= -3.9505, lock= 88, snr=20.75) RTCM3 (2011-04-10T22:38:40.99 delay -26292.) Type 1012: ID= 0, Tk= 32213.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=292723.92, pd= 1.3335, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 6.30, pd= 1.0715, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 23900.52, pd= -1.3160, lock= >937, amb=22184641.892, snr=39.75) L2 (P , r= 4.64, pd= -2.4970, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=438919.00, pd= -44.2900, lock= >937, amb=19186717.312, snr=50.75) L2 (P , r= 5.36, pd= 0.4380, lock= >937, snr=50.75) SV= 14, Freq= -7, L1 (C/A, r=112654.46, pd= -3.9710, lock= >937, amb=23383811.724, snr=38.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=218911.52, pd= -3.5340, lock= >937, amb=23383811.724, snr=35.25) L2 (P , r= 6.56, pd= -2.6420, lock= >937, snr=39.75) SV= 6, Freq= -4, L1 (C/A, r= 69670.44, pd= 1.1955, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.54, pd= 1.0260, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 29237.96, pd= 0.0560, lock= >937, amb=19786302.228, snr=44.50) L2 (P , r= 1.30, pd= 1.5690, lock= >937, snr=45.50) SV= 23, Freq= 3, L1 (C/A, r=449241.74, pd= 20.5490, lock= >937, amb=20985472.060, snr=43.25) L2 (P , r= 6.84, pd= 1.4485, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:40.99) Type 1004: ID= 0, TOW=194229.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 64532.42, pd= -0.9015, lock= >937, amb=23983396.640, snr=40.75) L2 (C-P/Y, r= 7.58, pd= -1.3060, lock= >937, snr=26.75) SV= 3, L1 (C/A , r= 21570.90, pd= 1.8860, lock= >937, amb=19786302.228, snr=53.50) L2 (C-P/Y, r= 6.72, pd= 2.6975, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 24078.60, pd= 0.7465, lock= >937, amb=21884849.434, snr=49.75) L2 (C-P/Y, r= 6.28, pd= 1.0830, lock= >937, snr=38.25) SV= 16, L1 (C/A , r= 28314.58, pd= -4.5065, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 6.20, pd= -4.8005, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=145998.58, pd= -2.1065, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.10, pd= -2.2465, lock= >937, snr=29.25) SV= 15, L1 (C/A , r=224692.88, pd= 1.1675, lock= >937, amb=24882774.014, snr=41.00) L2 (C-P/Y, r= 7.34, pd= -0.0040, lock= >937, snr=22.25) SV= 6, L1 (C/A , r=274614.70, pd= 1.5135, lock= >937, amb=20086094.686, snr=50.50) L2 (C-P/Y, r= 6.76, pd= 2.3725, lock= >937, snr=44.00) SV= 8, L1 (C/A , r=261808.54, pd= 0.2010, lock= >937, amb=24882774.014, snr=38.50) L2 (C-P/Y, r= 7.62, pd= 0.6750, lock= >937, snr=18.25) SV= 19, L1 (C/A , r=269256.18, pd= 1.7550, lock= >937, amb=21285264.518, snr=48.75) L2 (C-P/Y, r= 4.30, pd= 2.7045, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=233841.84, pd= -1.4595, lock= 140, amb=24882774.014, snr=32.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=287718.54, pd= 0.6640, lock= >937, amb=20685679.602, snr=50.25) L2 (C-P/Y, r= 4.34, pd= 0.9300, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=117913.02, pd= -3.7635, lock= 88, amb=24582981.556, snr=31.00) L2 (C-P/Y, r= 8.14, pd= -3.6655, lock= 88, snr=20.25) RTCM3 (2011-04-10T22:38:40.99 delay -26293.) Type 1012: ID= 0, Tk= 32214.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=293069.78, pd= 1.6085, lock= >937, amb=22184641.892, snr=40.75) L2 (P , r= 6.64, pd= 1.3485, lock= >937, snr=42.00) SV= 21, Freq= 4, L1 (C/A, r= 24420.20, pd= -1.0235, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 4.74, pd= -2.2050, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=438952.76, pd= -44.2495, lock= >937, amb=19186717.312, snr=50.75) L2 (P , r= 5.18, pd= 0.4790, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=112371.72, pd= -3.9850, lock= >937, amb=23383811.724, snr=37.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=219652.34, pd= -3.6225, lock= >937, amb=23383811.724, snr=36.00) L2 (P , r= 7.06, pd= -2.7310, lock= >937, snr=40.25) SV= 6, Freq= -4, L1 (C/A, r= 70214.46, pd= 0.9520, lock= >937, amb=21585056.976, snr=45.50) L2 (P , r= 5.26, pd= 0.7820, lock= >937, snr=45.00) SV= 7, Freq= 5, L1 (C/A, r= 28955.78, pd= -0.3390, lock= >937, amb=19786302.228, snr=44.50) L2 (P , r= 0.96, pd= 1.1740, lock= >937, snr=45.00) SV= 23, Freq= 3, L1 (C/A, r=448723.28, pd= 19.9205, lock= >937, amb=20985472.060, snr=43.25) L2 (P , r= 6.22, pd= 0.8200, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:40.99) Type 1033: ID= 0, Antenna='ASH701945E_M NONE', Setup ID= 0, Serial='24222' Receiver Type='TRIMBLE NETR5', Firmware='', Serial='' RTCM3 (2011-04-10T22:38:40.99) Type 1004: ID= 0, TOW=194230.000, More Data=Yes, GPS-Sats=11, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 65060.06, pd= -1.7630, lock= >937, amb=23983396.640, snr=41.25) L2 (C-P/Y, r= 6.74, pd= -2.1660, lock= >937, snr=25.50) SV= 3, L1 (C/A , r= 21496.58, pd= 1.7135, lock= >937, amb=19786302.228, snr=53.50) L2 (C-P/Y, r= 6.66, pd= 2.5250, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 24302.40, pd= 0.7365, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 5.80, pd= 1.0735, lock= >937, snr=38.75) SV= 16, L1 (C/A , r= 28843.40, pd= -4.4305, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 5.90, pd= -4.7245, lock= >937, snr=38.50) SV= 30, L1 (C/A , r=146727.74, pd= -1.3115, lock= >937, amb=23084019.266, snr=42.75) L2 (C-P/Y, r= 8.18, pd= -1.4515, lock= >937, snr=29.00) SV= 15, L1 (C/A , r=224764.06, pd= 1.0165, lock= >937, amb=24882774.014, snr=41.25) L2 (C-P/Y, r= 7.16, pd= -0.1535, lock= >937, snr=22.75) SV= 6, L1 (C/A , r=274657.00, pd= 1.6040, lock= >937, amb=20086094.686, snr=49.75) L2 (C-P/Y, r= 7.00, pd= 2.4630, lock= >937, snr=43.75) SV= 8, L1 (C/A , r=261614.04, pd= -0.3530, lock= >937, amb=24882774.014, snr=38.50) L2 (C-P/Y, r= 7.20, pd= 0.1230, lock= >937, snr=18.25) SV= 19, L1 (C/A , r=268853.72, pd= 1.6435, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.42, pd= 2.5925, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=233206.88, pd= -0.7890, lock= 140, amb=24882774.014, snr=33.00) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=287553.46, pd= 0.4920, lock= >937, amb=20685679.602, snr=50.00) L2 (C-P/Y, r= 3.72, pd= 0.7570, lock= >937, snr=43.75) RTCM3 (2011-04-10T22:38:40.99 delay -26294.) Type 1012: ID= 0, Tk= 32215.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=293415.76, pd= 1.8860, lock= >937, amb=22184641.892, snr=40.25) L2 (P , r= 7.00, pd= 1.6265, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 24940.12, pd= -0.9375, lock= >937, amb=22184641.892, snr=39.25) L2 (P , r= 5.18, pd= -2.1200, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=438986.72, pd= -44.3480, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.22, pd= 0.3805, lock= >937, snr=51.25) SV= 14, Freq= -7, L1 (C/A, r=112088.06, pd= -2.9495, lock= >937, amb=23383811.724, snr=37.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=220393.64, pd= -4.1965, lock= >937, amb=23383811.724, snr=36.00) L2 (P , r= 6.48, pd= -3.3055, lock= >937, snr=40.00) SV= 6, Freq= -4, L1 (C/A, r= 70758.12, pd= 1.1715, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.82, pd= 1.0010, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 28673.38, pd= -0.3695, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 1.12, pd= 1.1440, lock= >937, snr=45.00) SV= 23, Freq= 3, L1 (C/A, r=448204.00, pd= 20.1240, lock= >937, amb=20985472.060, snr=43.25) L2 (P , r= 5.78, pd= 1.0230, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:40.99) Type 1008: ID= 0, Antenna='ASH701945E_M NONE', Setup ID= 0, Serial='24222' RTCM3 (2011-04-10T22:38:40.99) Type 1004: ID= 0, TOW=194231.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 65586.68, pd= -1.5815, lock= >937, amb=23983396.640, snr=41.50) L2 (C-P/Y, r= 6.86, pd= -1.9865, lock= >937, snr=24.50) SV= 3, L1 (C/A , r= 21422.18, pd= 1.7325, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.74, pd= 2.5450, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 24526.28, pd= 0.7660, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 6.02, pd= 1.1030, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 29372.54, pd= -4.5770, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 6.00, pd= -4.8700, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=147458.32, pd= -1.8885, lock= >937, amb=23084019.266, snr=42.75) L2 (C-P/Y, r= 7.36, pd= -2.0285, lock= >937, snr=30.00) SV= 15, L1 (C/A , r=224834.46, pd= 1.7665, lock= >937, amb=24882774.014, snr=41.25) L2 (C-P/Y, r= 8.10, pd= 0.6000, lock= >937, snr=22.00) SV= 6, L1 (C/A , r=274699.64, pd= 1.4465, lock= >937, amb=20086094.686, snr=50.00) L2 (C-P/Y, r= 6.82, pd= 2.3045, lock= >937, snr=44.00) SV= 8, L1 (C/A , r=261418.32, pd= 0.4470, lock= >937, amb=24882774.014, snr=39.00) L2 (C-P/Y, r= 7.68, pd= 0.9235, lock= >937, snr=17.75) SV= 19, L1 (C/A , r=268451.10, pd= 1.7485, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.46, pd= 2.6975, lock= >937, snr=40.50) SV= 11, L1 (C/A , r=232573.38, pd= -1.5445, lock= 140, amb=24882774.014, snr=33.00) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=287388.08, pd= 0.7515, lock= >937, amb=20685679.602, snr=50.00) L2 (C-P/Y, r= 4.20, pd= 1.0160, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=118246.94, pd= 0.0370, lock= 0, amb=24582981.556, snr=29.00) L2 (C-P/Y, r= 9.56, pd= 0.0910, lock= 0, snr=19.00) RTCM3 (2011-04-10T22:38:40.99 delay -26295.) Type 1012: ID= 0, Tk= 32216.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=293764.00, pd= 0.0595, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 5.64, pd= -0.2030, lock= >937, snr=41.25) SV= 21, Freq= 4, L1 (C/A, r= 25460.44, pd= -1.1890, lock= >937, amb=22184641.892, snr=39.50) L2 (P , r= 4.90, pd= -2.3730, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=439020.56, pd= -44.2310, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.26, pd= 0.4965, lock= >937, snr=51.25) SV= 14, Freq= -7, L1 (C/A, r=111806.22, pd= -3.5755, lock= >937, amb=23383811.724, snr=37.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=221133.74, pd= -3.5210, lock= >937, amb=23383811.724, snr=35.50) L2 (P , r= 6.78, pd= -2.6305, lock= >937, snr=40.00) SV= 6, Freq= -4, L1 (C/A, r= 71301.76, pd= 1.5485, lock= >937, amb=21585056.976, snr=45.25) L2 (P , r= 5.88, pd= 1.3770, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 28391.30, pd= -0.5455, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 1.10, pd= 0.9675, lock= >937, snr=45.00) SV= 23, Freq= 3, L1 (C/A, r=447684.84, pd= 20.2520, lock= >937, amb=20985472.060, snr=43.50) L2 (P , r= 6.06, pd= 1.1500, lock= >937, snr=44.25) RTCM3 (2011-04-10T22:38:40.99) Type 1006: ID= 0, Year=0, GPS=Y, GLONASS=Y, Galileo=N, X= 4581694.6288, Y= 556114.3725, Z= 4389358.4678 QC=1(no bias), height=0.0349 RTCM3 (2011-04-10T22:38:40.99) Type 1004: ID= 0, TOW=194232.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 66113.00, pd= -1.1140, lock= >937, amb=23983396.640, snr=41.50) L2 (C-P/Y, r= 7.10, pd= -1.5195, lock= >937, snr=24.50) SV= 3, L1 (C/A , r= 21347.78, pd= 1.8155, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.62, pd= 2.6275, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 24750.54, pd= 0.4840, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 6.00, pd= 0.8210, lock= >937, snr=38.25) SV= 16, L1 (C/A , r= 29901.30, pd= -4.2990, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 6.12, pd= -4.5940, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=148187.90, pd= -1.4575, lock= >937, amb=23084019.266, snr=42.75) L2 (C-P/Y, r= 7.96, pd= -1.5980, lock= >937, snr=29.25) SV= 15, L1 (C/A , r=224906.46, pd= 0.9975, lock= >937, amb=24882774.014, snr=41.50) L2 (C-P/Y, r= 7.18, pd= -0.1715, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=274742.00, pd= 1.6155, lock= >937, amb=20086094.686, snr=50.50) L2 (C-P/Y, r= 6.90, pd= 2.4730, lock= >937, snr=43.75) SV= 8, L1 (C/A , r=261223.80, pd= 0.1315, lock= >937, amb=24882774.014, snr=39.00) L2 (C-P/Y, r= 7.54, pd= 0.6085, lock= >937, snr=17.25) SV= 19, L1 (C/A , r=268048.50, pd= 1.8560, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.44, pd= 2.8050, lock= >937, snr=40.25) SV= 11, L1 (C/A , r=231938.14, pd= -0.5800, lock= 140, amb=24882774.014, snr=33.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=287223.22, pd= 0.5780, lock= >937, amb=20685679.602, snr=49.75) L2 (C-P/Y, r= 3.84, pd= 0.8440, lock= >937, snr=43.75) SV= 7, L1 (C/A , r=118414.10, pd= 0.6375, lock= 1, amb=24582981.556, snr=29.75) L2 (C-P/Y, r= 9.76, pd= 0.6845, lock= 1, snr=18.50) RTCM3 (2011-04-10T22:38:40.99 delay -26296.) Type 1012: ID= 0, Tk= 32217.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=294110.70, pd= -0.1245, lock= >937, amb=22184641.892, snr=42.00) L2 (P , r= 5.12, pd= -0.3895, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 25980.82, pd= -1.4790, lock= >937, amb=22184641.892, snr=39.75) L2 (P , r= 5.24, pd= -2.6625, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=439054.42, pd= -44.0865, lock= >937, amb=19186717.312, snr=51.25) L2 (P , r= 5.44, pd= 0.6420, lock= >937, snr=51.25) SV= 14, Freq= -7, L1 (C/A, r=111523.78, pd= -3.4780, lock= >937, amb=23383811.724, snr=37.75) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=221875.36, pd= -4.3765, lock= >937, amb=23383811.724, snr=35.75) L2 (P , r= 5.20, pd= -3.4860, lock= >937, snr=40.00) SV= 6, Freq= -4, L1 (C/A, r= 71845.98, pd= 1.4360, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.34, pd= 1.2650, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 28109.06, pd= -0.4360, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 1.20, pd= 1.0770, lock= >937, snr=45.00) SV= 23, Freq= 3, L1 (C/A, r=447165.58, pd= 20.4770, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.26, pd= 1.3740, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:40.99) Type 1013: ID= 0, MJD=55621, SOD=21417, Num= 6, Leap=15 ID=1004, Sync=1, Interval= 1.0 ID=1006, Sync=1, Interval= 10.0 ID=1008, Sync=1, Interval= 10.0 ID=1012, Sync=1, Interval= 1.0 ID=1013, Sync=1, Interval= 10.0 ID=1033, Sync=1, Interval= 10.0 RTCM3 (2011-04-10T22:38:40.99) Type 1004: ID= 0, TOW=194233.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 66640.12, pd= -1.4240, lock= >937, amb=23983396.640, snr=41.50) L2 (C-P/Y, r= 6.74, pd= -1.8290, lock= >937, snr=25.75) SV= 3, L1 (C/A , r= 21273.80, pd= 1.5915, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.64, pd= 2.4035, lock= >937, snr=44.25) SV= 18, L1 (C/A , r= 24974.62, pd= 0.5015, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 5.88, pd= 0.8385, lock= >937, snr=38.25) SV= 16, L1 (C/A , r= 30430.46, pd= -4.3235, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 5.78, pd= -4.6185, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=148918.22, pd= -1.7295, lock= >937, amb=23084019.266, snr=42.75) L2 (C-P/Y, r= 7.32, pd= -1.8710, lock= >937, snr=29.00) SV= 15, L1 (C/A , r=224977.72, pd= 1.0965, lock= >937, amb=24882774.014, snr=41.50) L2 (C-P/Y, r= 7.46, pd= -0.0705, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=274784.74, pd= 1.5010, lock= >937, amb=20086094.686, snr=50.75) L2 (C-P/Y, r= 6.68, pd= 2.3585, lock= >937, snr=44.00) SV= 8, L1 (C/A , r=261029.46, pd= -0.2325, lock= >937, amb=24882774.014, snr=39.00) L2 (C-P/Y, r= 7.10, pd= 0.2445, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=267646.10, pd= 1.8235, lock= >937, amb=21285264.518, snr=48.75) L2 (C-P/Y, r= 4.20, pd= 2.7730, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=231304.12, pd= -0.8220, lock= 144, amb=24882774.014, snr=33.75) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=287058.08, pd= 0.8145, lock= >937, amb=20685679.602, snr=50.00) L2 (C-P/Y, r= 4.06, pd= 1.0800, lock= >937, snr=43.50) SV= 7, L1 (C/A , r=118582.56, pd= 0.0570, lock= 2, amb=24582981.556, snr=29.75) L2 (C-P/Y, r= 9.26, pd= 0.0980, lock= 2, snr=17.75) RTCM3 (2011-04-10T22:38:40.99 delay -26297.) Type 1012: ID= 0, Tk= 32218.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=294456.26, pd= 0.9820, lock= >937, amb=22184641.892, snr=41.75) L2 (P , r= 5.60, pd= 0.7180, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 26500.14, pd= -0.6445, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 5.56, pd= -1.8280, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=439088.64, pd= -44.2080, lock= >937, amb=19186717.312, snr=51.50) L2 (P , r= 5.20, pd= 0.5195, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=111242.36, pd= -4.2455, lock= >937, amb=23383811.724, snr=37.75) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=222615.18, pd= -3.3835, lock= >937, amb=23383811.724, snr=36.00) L2 (P , r= 7.24, pd= -2.4930, lock= >937, snr=40.25) SV= 6, Freq= -4, L1 (C/A, r= 72390.82, pd= 0.8420, lock= >937, amb=21585056.976, snr=44.50) L2 (P , r= 5.14, pd= 0.6710, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 27826.94, pd= -0.2860, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 0.90, pd= 1.2265, lock= >937, snr=44.75) SV= 23, Freq= 3, L1 (C/A, r=446646.66, pd= 20.4010, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.74, pd= 1.2975, lock= >937, snr=43.75) RTCM3 (2011-04-10T22:38:40.99) Type 1004: ID= 0, TOW=194234.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 67167.24, pd= -1.6935, lock= >937, amb=23983396.640, snr=40.75) L2 (C-P/Y, r= 7.04, pd= -2.0980, lock= >937, snr=24.75) SV= 3, L1 (C/A , r= 21199.80, pd= 1.5045, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.20, pd= 2.3155, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 25198.52, pd= 0.8265, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 6.00, pd= 1.1625, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 30959.90, pd= -4.5290, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 5.92, pd= -4.8245, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=149648.20, pd= -1.6075, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.58, pd= -1.7510, lock= >937, snr=29.50) SV= 15, L1 (C/A , r=225049.12, pd= 1.1875, lock= >937, amb=24882774.014, snr=42.00) L2 (C-P/Y, r= 7.18, pd= 0.0185, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=274827.20, pd= 1.7640, lock= >937, amb=20086094.686, snr=51.00) L2 (C-P/Y, r= 7.08, pd= 2.6220, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=260833.96, pd= 0.6995, lock= >937, amb=24882774.014, snr=38.50) L2 (C-P/Y, r= 8.20, pd= 1.1780, lock= >937, snr=16.25) SV= 19, L1 (C/A , r=267243.78, pd= 1.7800, lock= >937, amb=21285264.518, snr=48.00) L2 (C-P/Y, r= 4.32, pd= 2.7290, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=230669.14, pd= -0.0555, lock= 144, amb=24882774.014, snr=34.00) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=286893.48, pd= 0.6455, lock= >937, amb=20685679.602, snr=50.25) L2 (C-P/Y, r= 3.96, pd= 0.9120, lock= >937, snr=43.75) SV= 7, L1 (C/A , r=118750.52, pd= 0.1035, lock= 3, amb=24582981.556, snr=31.50) L2 (C-P/Y, r= 9.20, pd= 0.1390, lock= 3, snr=17.25) RTCM3 (2011-04-10T22:38:40.99 delay -26298.) Type 1012: ID= 0, Tk= 32219.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=294803.80, pd= 0.2725, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 5.60, pd= 0.0090, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 27020.40, pd= -0.6900, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 5.50, pd= -1.8745, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=439122.80, pd= -44.1740, lock= >937, amb=19186717.312, snr=51.50) L2 (P , r= 4.82, pd= 0.5525, lock= >937, snr=51.25) SV= 14, Freq= -7, L1 (C/A, r=110959.06, pd= -2.9565, lock= >937, amb=23383811.724, snr=37.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=223357.06, pd= -4.4225, lock= >937, amb=23383811.724, snr=35.50) L2 (P , r= 6.02, pd= -3.5315, lock= >937, snr=40.00) SV= 6, Freq= -4, L1 (C/A, r= 72934.84, pd= 1.2090, lock= >937, amb=21585056.976, snr=44.75) L2 (P , r= 5.58, pd= 1.0375, lock= >937, snr=45.00) SV= 7, Freq= 5, L1 (C/A, r= 27544.66, pd= 0.2000, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 0.90, pd= 1.7125, lock= >937, snr=44.50) SV= 23, Freq= 3, L1 (C/A, r=446127.76, pd= 20.3485, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.72, pd= 1.2455, lock= >937, snr=43.50) RTCM3 (2011-04-10T22:38:40.99) Type 1004: ID= 0, TOW=194235.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 67693.92, pd= -1.5240, lock= >937, amb=23983396.640, snr=41.25) L2 (C-P/Y, r= 6.84, pd= -1.9305, lock= >937, snr=23.50) SV= 3, L1 (C/A , r= 21125.60, pd= 1.7015, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 6.54, pd= 2.5120, lock= >937, snr=44.25) SV= 18, L1 (C/A , r= 25422.68, pd= 0.9800, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 6.08, pd= 1.3160, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 31489.08, pd= -4.4100, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 6.12, pd= -4.7055, lock= >937, snr=38.75) SV= 30, L1 (C/A , r=150378.24, pd= -1.5285, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.80, pd= -1.6725, lock= >937, snr=29.00) SV= 15, L1 (C/A , r=225120.62, pd= 1.2800, lock= >937, amb=24882774.014, snr=42.25) L2 (C-P/Y, r= 7.68, pd= 0.1085, lock= >937, snr=22.25) SV= 6, L1 (C/A , r=274870.02, pd= 1.7350, lock= >937, amb=20086094.686, snr=51.00) L2 (C-P/Y, r= 7.02, pd= 2.5925, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=260639.74, pd= 0.4545, lock= >937, amb=24882774.014, snr=39.00) L2 (C-P/Y, r= 7.64, pd= 0.9345, lock= >937, snr=17.25) SV= 19, L1 (C/A , r=266841.38, pd= 1.8525, lock= >937, amb=21285264.518, snr=48.25) L2 (C-P/Y, r= 4.34, pd= 2.8020, lock= >937, snr=40.50) SV= 11, L1 (C/A , r=230034.94, pd= -0.0780, lock= 144, amb=24882774.014, snr=34.00) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=286728.80, pd= 0.6610, lock= >937, amb=20685679.602, snr=50.50) L2 (C-P/Y, r= 4.14, pd= 0.9275, lock= >937, snr=43.75) SV= 7, L1 (C/A , r=118919.64, pd= -0.9185, lock= 4, amb=24582981.556, snr=32.75) L2 (C-P/Y, r= 7.94, pd= -0.8800, lock= 4, snr=17.25) RTCM3 (2011-04-10T22:38:40.99 delay -26299.) Type 1012: ID= 0, Tk= 32220.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=295149.98, pd= 1.0420, lock= >937, amb=22184641.892, snr=42.00) L2 (P , r= 6.08, pd= 0.7790, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 27542.22, pd= -2.2530, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 3.40, pd= -3.4375, lock= >937, snr=41.25) SV= 22, Freq= -3, L1 (C/A, r=439157.18, pd= -44.2915, lock= >937, amb=19186717.312, snr=51.50) L2 (P , r= 5.06, pd= 0.4350, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=110676.88, pd= -2.6510, lock= >937, amb=23383811.724, snr=38.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=224097.30, pd= -3.8050, lock= >937, amb=23383811.724, snr=35.75) L2 (P , r= 6.46, pd= -2.9140, lock= >937, snr=40.00) SV= 6, Freq= -4, L1 (C/A, r= 73478.80, pd= 1.7445, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 6.08, pd= 1.5730, lock= >937, snr=45.00) SV= 7, Freq= 5, L1 (C/A, r= 27263.28, pd= -0.0595, lock= >937, amb=19786302.228, snr=44.50) L2 (P , r= 1.36, pd= 1.4530, lock= >937, snr=45.00) SV= 23, Freq= 3, L1 (C/A, r=445609.04, pd= 20.1345, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.34, pd= 1.0315, lock= >937, snr=43.75) RTCM3 (2011-04-10T22:38:40.99) Type 1004: ID= 0, TOW=194236.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 68220.30, pd= -1.0355, lock= >937, amb=23983396.640, snr=41.25) L2 (C-P/Y, r= 7.14, pd= -1.4440, lock= >937, snr=24.75) SV= 3, L1 (C/A , r= 21051.60, pd= 1.7990, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 6.42, pd= 2.6110, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 25647.22, pd= 0.8615, lock= >937, amb=21884849.434, snr=48.75) L2 (C-P/Y, r= 5.74, pd= 1.1970, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 32018.42, pd= -4.3700, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 5.92, pd= -4.6650, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=151108.72, pd= -1.8515, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.30, pd= -1.9960, lock= >937, snr=29.50) SV= 15, L1 (C/A , r=225192.24, pd= 1.3660, lock= >937, amb=24882774.014, snr=42.25) L2 (C-P/Y, r= 7.80, pd= 0.1940, lock= >937, snr=22.75) SV= 6, L1 (C/A , r=274913.28, pd= 1.3480, lock= >937, amb=20086094.686, snr=51.00) L2 (C-P/Y, r= 6.90, pd= 2.2055, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=260446.46, pd= -0.6065, lock= >937, amb=24882774.014, snr=38.50) L2 (C-P/Y, r= 6.84, pd= -0.1245, lock= >937, snr=17.25) SV= 19, L1 (C/A , r=266438.96, pd= 1.9965, lock= >937, amb=21285264.518, snr=48.75) L2 (C-P/Y, r= 4.60, pd= 2.9450, lock= >937, snr=40.25) SV= 11, L1 (C/A , r=229401.84, pd= -1.1805, lock= 144, amb=24882774.014, snr=34.25) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=286564.28, pd= 0.6355, lock= >937, amb=20685679.602, snr=50.75) L2 (C-P/Y, r= 4.18, pd= 0.9005, lock= >937, snr=44.25) SV= 7, L1 (C/A , r=119089.22, pd= -2.2950, lock= 5, amb=24582981.556, snr=33.25) L2 (C-P/Y, r= 6.92, pd= -2.2595, lock= 5, snr=17.25) RTCM3 (2011-04-10T22:38:40.99 delay -26300.) Type 1012: ID= 0, Tk= 32221.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=295498.70, pd= -0.5885, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 4.62, pd= -0.8505, lock= >937, snr=42.25) SV= 21, Freq= 4, L1 (C/A, r= 28062.32, pd= -2.0460, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 4.36, pd= -3.2315, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=439191.40, pd= -44.1705, lock= >937, amb=19186717.312, snr=51.50) L2 (P , r= 5.02, pd= 0.5565, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=110395.74, pd= -3.2350, lock= >937, amb=23383811.724, snr=38.75) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=224838.06, pd= -3.6875, lock= >937, amb=23383811.724, snr=35.75) L2 (P , r= 6.70, pd= -2.7950, lock= >937, snr=40.50) SV= 6, Freq= -4, L1 (C/A, r= 74024.40, pd= 0.7625, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 4.72, pd= 0.5910, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 26982.30, pd= -0.5470, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 1.08, pd= 0.9655, lock= >937, snr=45.00) SV= 23, Freq= 3, L1 (C/A, r=445089.74, pd= 20.5365, lock= >937, amb=20985472.060, snr=43.25) L2 (P , r= 6.50, pd= 1.4340, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:40.99) Type 1004: ID= 0, TOW=194237.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 68747.18, pd= -1.0405, lock= >937, amb=23983396.640, snr=41.50) L2 (C-P/Y, r= 7.46, pd= -1.4515, lock= >937, snr=25.25) SV= 3, L1 (C/A , r= 20977.90, pd= 1.6890, lock= >937, amb=19786302.228, snr=53.50) L2 (C-P/Y, r= 6.50, pd= 2.5015, lock= >937, snr=44.75) SV= 18, L1 (C/A , r= 25872.12, pd= 0.4830, lock= >937, amb=21884849.434, snr=48.50) L2 (C-P/Y, r= 5.82, pd= 0.8175, lock= >937, snr=38.75) SV= 16, L1 (C/A , r= 32547.82, pd= -4.3115, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 6.34, pd= -4.6070, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=151838.70, pd= -1.6435, lock= >937, amb=23084019.266, snr=42.75) L2 (C-P/Y, r= 7.42, pd= -1.7875, lock= >937, snr=29.50) SV= 15, L1 (C/A , r=225263.78, pd= 1.6330, lock= >937, amb=24882774.014, snr=42.50) L2 (C-P/Y, r= 7.74, pd= 0.4605, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=274956.14, pd= 1.4380, lock= >937, amb=20086094.686, snr=51.00) L2 (C-P/Y, r= 6.64, pd= 2.2955, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=260251.40, pd= 0.2205, lock= >937, amb=24882774.014, snr=38.25) L2 (C-P/Y, r= 7.28, pd= 0.6985, lock= >937, snr=17.25) SV= 19, L1 (C/A , r=266036.94, pd= 1.7820, lock= >937, amb=21285264.518, snr=49.00) L2 (C-P/Y, r= 4.02, pd= 2.7305, lock= >937, snr=40.50) SV= 11, L1 (C/A , r=228766.44, pd= 0.0330, lock= 148, amb=24882774.014, snr=33.75) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=286399.52, pd= 0.9615, lock= >937, amb=20685679.602, snr=50.75) L2 (C-P/Y, r= 4.20, pd= 1.2265, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=119258.10, pd= -2.8595, lock= 6, amb=24582981.556, snr=35.00) L2 (C-P/Y, r= 6.26, pd= -2.8280, lock= 6, snr=17.25) RTCM3 (2011-04-10T22:38:40.99 delay -26301.) Type 1012: ID= 0, Tk= 32222.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=295845.54, pd= -0.1975, lock= >937, amb=22184641.892, snr=41.00) L2 (P , r= 5.32, pd= -0.4595, lock= >937, snr=42.00) SV= 21, Freq= 4, L1 (C/A, r= 28582.56, pd= -1.9270, lock= >937, amb=22184641.892, snr=40.25) L2 (P , r= 4.02, pd= -3.1130, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=439226.22, pd= -44.5680, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.10, pd= 0.1585, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=110113.44, pd= -2.5190, lock= >937, amb=23383811.724, snr=38.75) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=225578.56, pd= -3.2825, lock= >937, amb=23383811.724, snr=35.75) L2 (P , r= 7.18, pd= -2.3890, lock= >937, snr=40.25) SV= 6, Freq= -4, L1 (C/A, r= 74568.74, pd= 1.1640, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.70, pd= 0.9920, lock= >937, snr=45.00) SV= 7, Freq= 5, L1 (C/A, r= 26701.50, pd= -1.0435, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 0.20, pd= 0.4690, lock= >937, snr=45.50) SV= 23, Freq= 3, L1 (C/A, r=444571.70, pd= 19.7005, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.02, pd= 0.5990, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.00) Type 1004: ID= 0, TOW=194238.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 69274.66, pd= -1.6200, lock= >937, amb=23983396.640, snr=41.25) L2 (C-P/Y, r= 6.60, pd= -2.0335, lock= >937, snr=24.50) SV= 3, L1 (C/A , r= 20904.10, pd= 1.7875, lock= >937, amb=19786302.228, snr=53.75) L2 (C-P/Y, r= 6.46, pd= 2.5990, lock= >937, snr=44.75) SV= 18, L1 (C/A , r= 26096.60, pd= 0.6395, lock= >937, amb=21884849.434, snr=48.75) L2 (C-P/Y, r= 5.98, pd= 0.9740, lock= >937, snr=38.75) SV= 16, L1 (C/A , r= 33077.50, pd= -4.4460, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 5.98, pd= -4.7410, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=152568.72, pd= -1.4365, lock= >937, amb=23084019.266, snr=42.50) L2 (C-P/Y, r= 7.94, pd= -1.5795, lock= >937, snr=29.00) SV= 15, L1 (C/A , r=225336.52, pd= 0.8300, lock= >937, amb=24882774.014, snr=42.25) L2 (C-P/Y, r= 6.86, pd= -0.3435, lock= >937, snr=22.25) SV= 6, L1 (C/A , r=274999.06, pd= 1.5535, lock= >937, amb=20086094.686, snr=50.50) L2 (C-P/Y, r= 6.70, pd= 2.4110, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=260057.48, pd= 0.0400, lock= >937, amb=24882774.014, snr=38.00) L2 (C-P/Y, r= 7.26, pd= 0.5180, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=265634.76, pd= 1.7875, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.30, pd= 2.7360, lock= >937, snr=40.50) SV= 11, L1 (C/A , r=228132.48, pd= -0.1820, lock= 148, amb=24882774.014, snr=34.25) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=286235.54, pd= 0.6310, lock= >937, amb=20685679.602, snr=49.50) L2 (C-P/Y, r= 4.18, pd= 0.8960, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=119425.92, pd= -2.2665, lock= 7, amb=24582981.556, snr=35.00) L2 (C-P/Y, r= 6.62, pd= -2.2315, lock= 7, snr=17.25) RTCM3 (2011-04-10T22:38:41.00 delay -26302.) Type 1012: ID= 0, Tk= 32223.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=296192.36, pd= 0.3590, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 5.50, pd= 0.0955, lock= >937, snr=42.00) SV= 21, Freq= 4, L1 (C/A, r= 29102.20, pd= -1.1480, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 5.42, pd= -2.3350, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=439260.52, pd= -44.3575, lock= >937, amb=19186717.312, snr=50.75) L2 (P , r= 5.32, pd= 0.3690, lock= >937, snr=51.50) SV= 14, Freq= -7, L1 (C/A, r=109832.46, pd= -2.9560, lock= >937, amb=23383811.724, snr=39.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=226319.18, pd= -2.9650, lock= >937, amb=23383811.724, snr=35.75) L2 (P , r= 7.50, pd= -2.0710, lock= >937, snr=40.00) SV= 6, Freq= -4, L1 (C/A, r= 75114.14, pd= 0.6370, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 4.90, pd= 0.4635, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 26419.52, pd= -0.1825, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 0.80, pd= 1.3295, lock= >937, snr=45.75) SV= 23, Freq= 3, L1 (C/A, r=444052.70, pd= 19.8685, lock= >937, amb=20985472.060, snr=43.50) L2 (P , r= 6.08, pd= 0.7670, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.00) Type 1004: ID= 0, TOW=194239.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 69801.08, pd= -1.1470, lock= >937, amb=23983396.640, snr=41.25) L2 (C-P/Y, r= 7.34, pd= -1.5605, lock= >937, snr=25.25) SV= 3, L1 (C/A , r= 20830.46, pd= 1.8030, lock= >937, amb=19786302.228, snr=54.00) L2 (C-P/Y, r= 6.80, pd= 2.6140, lock= >937, snr=44.75) SV= 18, L1 (C/A , r= 26321.28, pd= 0.6715, lock= >937, amb=21884849.434, snr=48.25) L2 (C-P/Y, r= 5.68, pd= 1.0070, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 33607.18, pd= -4.5165, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 5.94, pd= -4.8125, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=153299.16, pd= -1.6380, lock= >937, amb=23084019.266, snr=42.50) L2 (C-P/Y, r= 7.74, pd= -1.7805, lock= >937, snr=28.50) SV= 15, L1 (C/A , r=225407.88, pd= 1.4975, lock= >937, amb=24882774.014, snr=42.50) L2 (C-P/Y, r= 7.58, pd= 0.3235, lock= >937, snr=22.75) SV= 6, L1 (C/A , r=275042.28, pd= 1.4285, lock= >937, amb=20086094.686, snr=50.75) L2 (C-P/Y, r= 6.76, pd= 2.2855, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=259862.90, pd= 0.6110, lock= >937, amb=24882774.014, snr=38.25) L2 (C-P/Y, r= 7.76, pd= 1.0920, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=265232.68, pd= 1.7200, lock= >937, amb=21285264.518, snr=48.75) L2 (C-P/Y, r= 4.54, pd= 2.6690, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=227498.34, pd= -0.2290, lock= 148, amb=24882774.014, snr=34.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=286071.40, pd= 0.5580, lock= >937, amb=20685679.602, snr=50.50) L2 (C-P/Y, r= 4.00, pd= 0.8225, lock= >937, snr=43.75) SV= 7, L1 (C/A , r=119594.52, pd= -2.3600, lock= 8, amb=24582981.556, snr=35.25) L2 (C-P/Y, r= 6.64, pd= -2.3145, lock= 8, snr=17.25) RTCM3 (2011-04-10T22:38:41.00 delay -26303.) Type 1012: ID= 0, Tk= 32224.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=296541.16, pd= -0.9505, lock= >937, amb=22184641.892, snr=41.75) L2 (P , r= 5.00, pd= -1.2175, lock= >937, snr=42.00) SV= 21, Freq= 4, L1 (C/A, r= 29622.86, pd= -1.3570, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 4.84, pd= -2.5450, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=439294.84, pd= -44.1095, lock= >937, amb=19186717.312, snr=50.75) L2 (P , r= 5.60, pd= 0.6170, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=109552.10, pd= -3.8845, lock= >937, amb=23383811.724, snr=38.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=227060.12, pd= -2.9650, lock= >937, amb=23383811.724, snr=35.50) L2 (P , r= 7.46, pd= -2.0715, lock= >937, snr=40.00) SV= 6, Freq= -4, L1 (C/A, r= 75658.90, pd= 0.8490, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.40, pd= 0.6760, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 26139.10, pd= -0.7440, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 0.46, pd= 0.7685, lock= >937, snr=45.75) SV= 23, Freq= 3, L1 (C/A, r=443534.24, pd= 19.5035, lock= >937, amb=20985472.060, snr=43.50) L2 (P , r= 5.38, pd= 0.4020, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.00) Type 1033: ID= 0, Antenna='ASH701945E_M NONE', Setup ID= 0, Serial='24222' Receiver Type='TRIMBLE NETR5', Firmware='', Serial='' RTCM3 (2011-04-10T22:38:41.00) Type 1004: ID= 0, TOW=194240.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 70328.04, pd= -1.1955, lock= >937, amb=23983396.640, snr=41.00) L2 (C-P/Y, r= 6.98, pd= -1.6080, lock= >937, snr=25.75) SV= 3, L1 (C/A , r= 20757.14, pd= 1.6020, lock= >937, amb=19786302.228, snr=53.75) L2 (C-P/Y, r= 6.52, pd= 2.4130, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 26545.86, pd= 0.9195, lock= >937, amb=21884849.434, snr=48.00) L2 (C-P/Y, r= 5.98, pd= 1.2545, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 34136.88, pd= -4.5265, lock= >937, amb=21884849.434, snr=49.75) L2 (C-P/Y, r= 6.08, pd= -4.8225, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=154029.20, pd= -1.4065, lock= >937, amb=23084019.266, snr=42.75) L2 (C-P/Y, r= 8.00, pd= -1.5490, lock= >937, snr=29.75) SV= 15, L1 (C/A , r=225479.86, pd= 1.6590, lock= >937, amb=24882774.014, snr=42.50) L2 (C-P/Y, r= 7.74, pd= 0.4875, lock= >937, snr=23.00) SV= 6, L1 (C/A , r=275085.34, pd= 1.5505, lock= >937, amb=20086094.686, snr=51.00) L2 (C-P/Y, r= 7.00, pd= 2.4070, lock= >937, snr=44.00) SV= 8, L1 (C/A , r=259669.86, pd= -0.2395, lock= >937, amb=24882774.014, snr=37.50) L2 (C-P/Y, r= 7.16, pd= 0.2410, lock= >937, snr=16.25) SV= 19, L1 (C/A , r=264830.38, pd= 1.9225, lock= >937, amb=21285264.518, snr=49.00) L2 (C-P/Y, r= 4.42, pd= 2.8700, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=226864.30, pd= -0.3405, lock= 148, amb=24882774.014, snr=33.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=285907.04, pd= 0.8220, lock= >937, amb=20685679.602, snr=50.75) L2 (C-P/Y, r= 4.10, pd= 1.0875, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=119763.78, pd= -3.0115, lock= 9, amb=24582981.556, snr=35.25) L2 (C-P/Y, r= 5.46, pd= -2.9685, lock= 9, snr=17.25) RTCM3 (2011-04-10T22:38:41.00 delay -26304.) Type 1012: ID= 0, Tk= 32225.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=296887.52, pd= 0.3230, lock= >937, amb=22184641.892, snr=42.00) L2 (P , r= 5.34, pd= 0.0575, lock= >937, snr=42.25) SV= 21, Freq= 4, L1 (C/A, r= 30143.52, pd= -1.5155, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 4.28, pd= -2.7035, lock= >937, snr=41.25) SV= 22, Freq= -3, L1 (C/A, r=439329.80, pd= -44.4190, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.56, pd= 0.3070, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=109270.66, pd= -3.5815, lock= >937, amb=23383811.724, snr=38.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=227801.30, pd= -3.1745, lock= >937, amb=23383811.724, snr=35.00) L2 (P , r= 6.92, pd= -2.2800, lock= >937, snr=40.25) SV= 6, Freq= -4, L1 (C/A, r= 76203.80, pd= 1.0475, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.42, pd= 0.8730, lock= >937, snr=45.00) SV= 7, Freq= 5, L1 (C/A, r= 25858.46, pd= -0.9190, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 0.30, pd= 0.5935, lock= >937, snr=46.00) SV= 23, Freq= 3, L1 (C/A, r=443015.02, pd= 19.9285, lock= >937, amb=20985472.060, snr=43.25) L2 (P , r= 5.90, pd= 0.8280, lock= >937, snr=44.25) RTCM3 (2011-04-10T22:38:41.00) Type 1008: ID= 0, Antenna='ASH701945E_M NONE', Setup ID= 0, Serial='24222' RTCM3 (2011-04-10T22:38:41.00) Type 1004: ID= 0, TOW=194241.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 70855.14, pd= -1.3685, lock= >937, amb=23983396.640, snr=40.50) L2 (C-P/Y, r= 6.88, pd= -1.7815, lock= >937, snr=24.00) SV= 3, L1 (C/A , r= 20683.64, pd= 1.6805, lock= >937, amb=19786302.228, snr=53.50) L2 (C-P/Y, r= 6.48, pd= 2.4920, lock= >937, snr=44.75) SV= 18, L1 (C/A , r= 26771.10, pd= 0.6115, lock= >937, amb=21884849.434, snr=47.75) L2 (C-P/Y, r= 5.84, pd= 0.9465, lock= >937, snr=38.25) SV= 16, L1 (C/A , r= 34666.58, pd= -4.4530, lock= >937, amb=21884849.434, snr=49.75) L2 (C-P/Y, r= 6.20, pd= -4.7495, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=154759.88, pd= -1.7735, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.36, pd= -1.9175, lock= >937, snr=29.00) SV= 15, L1 (C/A , r=225552.14, pd= 1.6355, lock= >937, amb=24882774.014, snr=41.75) L2 (C-P/Y, r= 7.82, pd= 0.4655, lock= >937, snr=22.75) SV= 6, L1 (C/A , r=275128.54, pd= 1.6155, lock= >937, amb=20086094.686, snr=51.00) L2 (C-P/Y, r= 7.08, pd= 2.4725, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=259475.48, pd= 0.3725, lock= >937, amb=24882774.014, snr=37.25) L2 (C-P/Y, r= 7.66, pd= 0.8525, lock= >937, snr=16.25) SV= 19, L1 (C/A , r=264428.24, pd= 2.0195, lock= >937, amb=21285264.518, snr=48.75) L2 (C-P/Y, r= 4.72, pd= 2.9675, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=226231.08, pd= -1.2750, lock= 152, amb=24882774.014, snr=33.75) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=285743.26, pd= 0.6285, lock= >937, amb=20685679.602, snr=51.00) L2 (C-P/Y, r= 3.98, pd= 0.8930, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=119932.80, pd= -3.3025, lock= 10, amb=24582981.556, snr=35.25) L2 (C-P/Y, r= 5.30, pd= -3.2540, lock= 10, snr=17.75) RTCM3 (2011-04-10T22:38:41.00 delay -26305.) Type 1012: ID= 0, Tk= 32226.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=297233.60, pd= 2.0215, lock= >937, amb=22184641.892, snr=41.25) L2 (P , r= 7.30, pd= 1.7585, lock= >937, snr=42.00) SV= 21, Freq= 4, L1 (C/A, r= 30664.42, pd= -1.8605, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 4.76, pd= -3.0490, lock= >937, snr=41.25) SV= 22, Freq= -3, L1 (C/A, r=439364.18, pd= -44.0695, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.56, pd= 0.6570, lock= >937, snr=50.75) SV= 14, Freq= -7, L1 (C/A, r=108991.52, pd= -5.4300, lock= >937, amb=23383811.724, snr=38.75) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=228542.72, pd= -3.6130, lock= >937, amb=23383811.724, snr=35.50) L2 (P , r= 6.68, pd= -2.7200, lock= >937, snr=40.50) SV= 6, Freq= -4, L1 (C/A, r= 76749.08, pd= 0.9895, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.00, pd= 0.8150, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 25576.78, pd= 0.0945, lock= >937, amb=19786302.228, snr=44.50) L2 (P , r= 1.44, pd= 1.6075, lock= >937, snr=46.00) SV= 23, Freq= 3, L1 (C/A, r=442495.88, pd= 20.3080, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.16, pd= 1.2065, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.00) Type 1006: ID= 0, Year=0, GPS=Y, GLONASS=Y, Galileo=N, X= 4581694.6288, Y= 556114.3725, Z= 4389358.4678 QC=1(no bias), height=0.0349 RTCM3 (2011-04-10T22:38:41.00) Type 1004: ID= 0, TOW=194242.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 71382.72, pd= -2.0085, lock= >937, amb=23983396.640, snr=41.00) L2 (C-P/Y, r= 6.38, pd= -2.4220, lock= >937, snr=24.50) SV= 3, L1 (C/A , r= 20610.24, pd= 1.7525, lock= >937, amb=19786302.228, snr=54.00) L2 (C-P/Y, r= 6.26, pd= 2.5630, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 26996.04, pd= 0.7030, lock= >937, amb=21884849.434, snr=48.50) L2 (C-P/Y, r= 5.70, pd= 1.0375, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 35196.54, pd= -4.5625, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 5.84, pd= -4.8590, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=155490.24, pd= -1.7955, lock= >937, amb=23084019.266, snr=43.25) L2 (C-P/Y, r= 7.68, pd= -1.9395, lock= >937, snr=29.50) SV= 15, L1 (C/A , r=225624.60, pd= 1.5470, lock= >937, amb=24882774.014, snr=42.00) L2 (C-P/Y, r= 7.48, pd= 0.3755, lock= >937, snr=22.25) SV= 6, L1 (C/A , r=275172.12, pd= 1.3750, lock= >937, amb=20086094.686, snr=51.00) L2 (C-P/Y, r= 6.54, pd= 2.2315, lock= >937, snr=44.00) SV= 8, L1 (C/A , r=259281.88, pd= 0.3195, lock= >937, amb=24882774.014, snr=37.75) L2 (C-P/Y, r= 7.24, pd= 0.8020, lock= >937, snr=17.25) SV= 19, L1 (C/A , r=264026.38, pd= 1.8825, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.20, pd= 2.8305, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=225596.22, pd= -0.5590, lock= 152, amb=24882774.014, snr=33.25) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=285579.16, pd= 0.8670, lock= >937, amb=20685679.602, snr=51.00) L2 (C-P/Y, r= 4.08, pd= 1.1320, lock= >937, snr=44.25) SV= 7, L1 (C/A , r=120101.54, pd= -3.2150, lock= 11, amb=24582981.556, snr=35.25) L2 (C-P/Y, r= 5.60, pd= -3.1620, lock= 11, snr=16.75) RTCM3 (2011-04-10T22:38:41.00 delay -26306.) Type 1012: ID= 0, Tk= 32227.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=297580.90, pd= 2.6335, lock= >937, amb=22184641.892, snr=40.75) L2 (P , r= 8.06, pd= 2.3710, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 31185.34, pd= -2.1745, lock= >937, amb=22184641.892, snr=40.25) L2 (P , r= 3.46, pd= -3.3630, lock= >937, snr=41.25) SV= 22, Freq= -3, L1 (C/A, r=439398.84, pd= -43.9265, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.30, pd= 0.7995, lock= >937, snr=50.50) SV= 14, Freq= -7, L1 (C/A, r=108708.98, pd= -3.7265, lock= >937, amb=23383811.724, snr=37.75) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=229282.98, pd= -2.8635, lock= >937, amb=23383811.724, snr=35.75) L2 (P , r= 7.46, pd= -1.9710, lock= >937, snr=40.25) SV= 6, Freq= -4, L1 (C/A, r= 77294.22, pd= 1.1905, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 6.02, pd= 1.0155, lock= >937, snr=45.00) SV= 7, Freq= 5, L1 (C/A, r= 25296.40, pd= -0.0340, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 1.40, pd= 1.4780, lock= >937, snr=46.00) SV= 23, Freq= 3, L1 (C/A, r=441977.14, pd= 20.3050, lock= >937, amb=20985472.060, snr=42.75) L2 (P , r= 6.30, pd= 1.2035, lock= >937, snr=44.50) RTCM3 (2011-04-10T22:38:41.00) Type 1013: ID= 0, MJD=55621, SOD=21427, Num= 6, Leap=15 ID=1004, Sync=1, Interval= 1.0 ID=1006, Sync=1, Interval= 10.0 ID=1008, Sync=1, Interval= 10.0 ID=1012, Sync=1, Interval= 1.0 ID=1013, Sync=1, Interval= 10.0 ID=1033, Sync=1, Interval= 10.0 RTCM3 (2011-04-10T22:38:41.00) Type 1004: ID= 0, TOW=194243.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 71908.94, pd= -1.2680, lock= >937, amb=23983396.640, snr=41.25) L2 (C-P/Y, r= 7.30, pd= -1.6830, lock= >937, snr=24.00) SV= 3, L1 (C/A , r= 20537.10, pd= 1.6740, lock= >937, amb=19786302.228, snr=53.50) L2 (C-P/Y, r= 6.70, pd= 2.4840, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 27221.38, pd= 0.5050, lock= >937, amb=21884849.434, snr=48.25) L2 (C-P/Y, r= 5.82, pd= 0.8390, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 35726.48, pd= -4.5655, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 5.56, pd= -4.8625, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=156220.42, pd= -1.5985, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.48, pd= -1.7430, lock= >937, snr=29.00) SV= 15, L1 (C/A , r=225696.98, pd= 1.6530, lock= >937, amb=24882774.014, snr=41.50) L2 (C-P/Y, r= 7.54, pd= 0.4830, lock= >937, snr=22.75) SV= 6, L1 (C/A , r=275215.40, pd= 1.5210, lock= >937, amb=20086094.686, snr=51.00) L2 (C-P/Y, r= 6.86, pd= 2.3775, lock= >937, snr=44.00) SV= 8, L1 (C/A , r=259089.36, pd= -0.6870, lock= >937, amb=24882774.014, snr=37.50) L2 (C-P/Y, r= 6.48, pd= -0.2035, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=263624.50, pd= 1.8200, lock= >937, amb=21285264.518, snr=49.00) L2 (C-P/Y, r= 4.24, pd= 2.7685, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=224962.60, pd= -1.0525, lock= 152, amb=24882774.014, snr=34.00) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=285415.94, pd= 0.3495, lock= >937, amb=20685679.602, snr=51.00) L2 (C-P/Y, r= 3.68, pd= 0.6145, lock= >937, snr=44.50) SV= 7, L1 (C/A , r=120270.86, pd= -3.5950, lock= 12, amb=24582981.556, snr=35.75) L2 (C-P/Y, r= 4.88, pd= -3.5365, lock= 12, snr=18.50) RTCM3 (2011-04-10T22:38:41.00 delay -26307.) Type 1012: ID= 0, Tk= 32228.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=297930.82, pd= 0.7710, lock= >937, amb=22184641.892, snr=41.25) L2 (P , r= 6.08, pd= 0.5075, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 31706.06, pd= -2.2295, lock= >937, amb=22184641.892, snr=40.25) L2 (P , r= 4.04, pd= -3.4195, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=439434.08, pd= -44.2755, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 4.88, pd= 0.4500, lock= >937, snr=50.50) SV= 14, Freq= -7, L1 (C/A, r=108427.16, pd= -2.5895, lock= >937, amb=23383811.724, snr=37.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=230024.10, pd= -2.9405, lock= >937, amb=23383811.724, snr=35.25) L2 (P , r= 7.62, pd= -2.0480, lock= >937, snr=40.50) SV= 6, Freq= -4, L1 (C/A, r= 77839.56, pd= 1.3225, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.26, pd= 1.1470, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 25016.00, pd= 0.0130, lock= >937, amb=19786302.228, snr=44.50) L2 (P , r= 1.58, pd= 1.5260, lock= >937, snr=45.75) SV= 23, Freq= 3, L1 (C/A, r=441458.24, pd= 20.5015, lock= >937, amb=20985472.060, snr=42.75) L2 (P , r= 6.26, pd= 1.3985, lock= >937, snr=44.25) RTCM3 (2011-04-10T22:38:41.00) Type 1004: ID= 0, TOW=194244.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 72435.64, pd= -0.9870, lock= >937, amb=23983396.640, snr=41.25) L2 (C-P/Y, r= 7.64, pd= -1.4045, lock= >937, snr=25.75) SV= 3, L1 (C/A , r= 20463.80, pd= 1.8510, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 6.52, pd= 2.6605, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 27446.34, pd= 0.7955, lock= >937, amb=21884849.434, snr=48.25) L2 (C-P/Y, r= 5.66, pd= 1.1290, lock= >937, snr=38.00) SV= 16, L1 (C/A , r= 36256.60, pd= -4.6660, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 5.50, pd= -4.9630, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=156950.82, pd= -1.5805, lock= >937, amb=23084019.266, snr=43.25) L2 (C-P/Y, r= 7.38, pd= -1.7250, lock= >937, snr=29.50) SV= 15, L1 (C/A , r=225769.84, pd= 1.3920, lock= >937, amb=24882774.014, snr=41.00) L2 (C-P/Y, r= 7.62, pd= 0.2225, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=275258.74, pd= 1.6945, lock= >937, amb=20086094.686, snr=50.50) L2 (C-P/Y, r= 6.94, pd= 2.5505, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=258895.72, pd= -0.4590, lock= >937, amb=24882774.014, snr=38.00) L2 (C-P/Y, r= 6.28, pd= 0.0180, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=263222.64, pd= 1.7925, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.62, pd= 2.7405, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=224328.04, pd= -0.5990, lock= 152, amb=24882774.014, snr=34.75) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=285252.14, pd= 0.5315, lock= >937, amb=20685679.602, snr=51.00) L2 (C-P/Y, r= 3.88, pd= 0.7975, lock= >937, snr=44.25) SV= 7, L1 (C/A , r=120438.82, pd= -2.5090, lock= 13, amb=24582981.556, snr=36.25) L2 (C-P/Y, r= 5.42, pd= -2.4480, lock= 13, snr=18.50) RTCM3 (2011-04-10T22:38:41.00 delay -26308.) Type 1012: ID= 0, Tk= 32229.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=298278.98, pd= 0.8140, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 6.30, pd= 0.5490, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 32226.10, pd= -1.5535, lock= >937, amb=22184641.892, snr=40.25) L2 (P , r= 4.42, pd= -2.7445, lock= >937, snr=41.25) SV= 22, Freq= -3, L1 (C/A, r=439468.90, pd= -44.1210, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.70, pd= 0.6035, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=108145.98, pd= -1.9380, lock= >937, amb=23383811.724, snr=37.75) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=230764.00, pd= -1.7680, lock= >937, amb=23383811.724, snr=35.50) L2 (P , r= 8.56, pd= -0.8750, lock= >937, snr=40.50) SV= 6, Freq= -4, L1 (C/A, r= 78385.28, pd= 1.1995, lock= >937, amb=21585056.976, snr=45.25) L2 (P , r= 5.50, pd= 1.0250, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 24736.58, pd= -0.7575, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 0.60, pd= 0.7540, lock= >937, snr=45.50) SV= 23, Freq= 3, L1 (C/A, r=440939.96, pd= 20.1140, lock= >937, amb=20985472.060, snr=42.75) L2 (P , r= 6.18, pd= 1.0115, lock= >937, snr=44.75) RTCM3 (2011-04-10T22:38:41.00) Type 1004: ID= 0, TOW=194245.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 72963.56, pd= -1.9025, lock= >937, amb=23983396.640, snr=40.50) L2 (C-P/Y, r= 6.36, pd= -2.3185, lock= >937, snr=25.75) SV= 3, L1 (C/A , r= 20390.90, pd= 1.7390, lock= >937, amb=19786302.228, snr=53.50) L2 (C-P/Y, r= 6.36, pd= 2.5490, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 27671.84, pd= 0.6560, lock= >937, amb=21884849.434, snr=48.75) L2 (C-P/Y, r= 5.84, pd= 0.9905, lock= >937, snr=38.75) SV= 16, L1 (C/A , r= 36786.54, pd= -4.4925, lock= >937, amb=21884849.434, snr=50.00) L2 (C-P/Y, r= 6.20, pd= -4.7905, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=157680.92, pd= -1.2255, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.70, pd= -1.3705, lock= >937, snr=28.50) SV= 15, L1 (C/A , r=225842.48, pd= 1.4830, lock= >937, amb=24882774.014, snr=41.50) L2 (C-P/Y, r= 7.76, pd= 0.3120, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=275302.74, pd= 1.2990, lock= >937, amb=20086094.686, snr=51.00) L2 (C-P/Y, r= 6.38, pd= 2.1560, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=258701.68, pd= 0.2985, lock= >937, amb=24882774.014, snr=38.00) L2 (C-P/Y, r= 7.14, pd= 0.7780, lock= >937, snr=17.25) SV= 19, L1 (C/A , r=262820.86, pd= 1.7415, lock= >937, amb=21285264.518, snr=48.75) L2 (C-P/Y, r= 4.16, pd= 2.6900, lock= >937, snr=40.50) SV= 11, L1 (C/A , r=223694.14, pd= -0.7775, lock= 156, amb=24882774.014, snr=34.75) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=285088.42, pd= 0.7610, lock= >937, amb=20685679.602, snr=51.00) L2 (C-P/Y, r= 4.16, pd= 1.0265, lock= >937, snr=44.50) SV= 7, L1 (C/A , r=120609.14, pd= -3.6610, lock= 14, amb=24582981.556, snr=36.00) L2 (C-P/Y, r= 4.36, pd= -3.5965, lock= 14, snr=17.25) RTCM3 (2011-04-10T22:38:41.00 delay -26309.) Type 1012: ID= 0, Tk= 32230.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=298626.22, pd= 1.9290, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 7.38, pd= 1.6620, lock= >937, snr=42.00) SV= 21, Freq= 4, L1 (C/A, r= 32746.30, pd= -0.9795, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 4.78, pd= -2.1715, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=439503.56, pd= -43.7175, lock= >937, amb=19186717.312, snr=50.75) L2 (P , r= 5.66, pd= 1.0080, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=107867.24, pd= -3.5670, lock= >937, amb=23383811.724, snr=38.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=231505.50, pd= -2.1595, lock= >937, amb=23383811.724, snr=35.00) L2 (P , r= 7.66, pd= -1.2670, lock= >937, snr=40.75) SV= 6, Freq= -4, L1 (C/A, r= 78930.90, pd= 1.3065, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.30, pd= 1.1320, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 24456.96, pd= -1.1555, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= -0.04, pd= 0.3565, lock= >937, snr=45.50) SV= 23, Freq= 3, L1 (C/A, r=440421.08, pd= 20.3725, lock= >937, amb=20985472.060, snr=42.75) L2 (P , r= 6.60, pd= 1.2680, lock= >937, snr=44.25) RTCM3 (2011-04-10T22:38:41.01) Type 1004: ID= 0, TOW=194246.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 73489.66, pd= -0.9755, lock= >937, amb=23983396.640, snr=40.75) L2 (C-P/Y, r= 7.48, pd= -1.3950, lock= >937, snr=25.00) SV= 3, L1 (C/A , r= 20317.98, pd= 1.7580, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.52, pd= 2.5685, lock= >937, snr=44.75) SV= 18, L1 (C/A , r= 27897.22, pd= 0.7570, lock= >937, amb=21884849.434, snr=48.50) L2 (C-P/Y, r= 5.88, pd= 1.0910, lock= >937, snr=38.75) SV= 16, L1 (C/A , r= 37316.78, pd= -4.5275, lock= >937, amb=21884849.434, snr=49.75) L2 (C-P/Y, r= 5.92, pd= -4.8250, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=158411.44, pd= -1.2390, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.96, pd= -1.3835, lock= >937, snr=29.50) SV= 15, L1 (C/A , r=225915.60, pd= 1.2095, lock= >937, amb=24882774.014, snr=41.25) L2 (C-P/Y, r= 7.60, pd= 0.0345, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=275346.24, pd= 1.4935, lock= >937, amb=20086094.686, snr=50.00) L2 (C-P/Y, r= 6.82, pd= 2.3495, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=258509.58, pd= -0.7485, lock= >937, amb=24882774.014, snr=37.25) L2 (C-P/Y, r= 6.38, pd= -0.2730, lock= >937, snr=17.25) SV= 19, L1 (C/A , r=262418.92, pd= 1.9135, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.40, pd= 2.8625, lock= >937, snr=40.50) SV= 11, L1 (C/A , r=223059.76, pd= -0.4540, lock= 156, amb=24882774.014, snr=34.25) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=284925.06, pd= 0.7610, lock= >937, amb=20685679.602, snr=50.75) L2 (C-P/Y, r= 4.10, pd= 1.0255, lock= >937, snr=44.50) SV= 7, L1 (C/A , r=120778.92, pd= -4.1650, lock= 15, amb=24582981.556, snr=35.75) L2 (C-P/Y, r= 3.94, pd= -4.0970, lock= 15, snr=18.50) RTCM3 (2011-04-10T22:38:41.01 delay -26310.) Type 1012: ID= 0, Tk= 32231.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=298976.16, pd= 0.4935, lock= >937, amb=22184641.892, snr=42.00) L2 (P , r= 6.44, pd= 0.2270, lock= >937, snr=42.00) SV= 21, Freq= 4, L1 (C/A, r= 33267.96, pd= -1.7965, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 3.98, pd= -2.9885, lock= >937, snr=41.25) SV= 22, Freq= -3, L1 (C/A, r=439539.06, pd= -44.0590, lock= >937, amb=19186717.312, snr=51.25) L2 (P , r= 5.42, pd= 0.6660, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=107585.64, pd= -2.1825, lock= >937, amb=23383811.724, snr=38.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=232245.12, pd= -0.6390, lock= >937, amb=23383811.724, snr=35.00) L2 (P , r= 9.96, pd= 0.2535, lock= >937, snr=40.50) SV= 6, Freq= -4, L1 (C/A, r= 79476.78, pd= 1.2900, lock= >937, amb=21585056.976, snr=45.25) L2 (P , r= 5.30, pd= 1.1145, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 24176.14, pd= -0.1740, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 0.96, pd= 1.3380, lock= >937, snr=45.75) SV= 23, Freq= 3, L1 (C/A, r=439902.46, pd= 20.4025, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.08, pd= 1.2990, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.01) Type 1004: ID= 0, TOW=194247.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 74017.20, pd= -1.4915, lock= >937, amb=23983396.640, snr=40.75) L2 (C-P/Y, r= 6.98, pd= -1.9140, lock= >937, snr=24.00) SV= 3, L1 (C/A , r= 20245.06, pd= 1.8485, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 6.20, pd= 2.6590, lock= >937, snr=45.00) SV= 18, L1 (C/A , r= 28122.90, pd= 0.6375, lock= >937, amb=21884849.434, snr=48.00) L2 (C-P/Y, r= 5.96, pd= 0.9720, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 37847.00, pd= -4.4890, lock= >937, amb=21884849.434, snr=49.75) L2 (C-P/Y, r= 6.22, pd= -4.7865, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=159142.56, pd= -1.8465, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.22, pd= -1.9920, lock= >937, snr=29.75) SV= 15, L1 (C/A , r=225988.36, pd= 1.3920, lock= >937, amb=24882774.014, snr=41.50) L2 (C-P/Y, r= 7.42, pd= 0.2185, lock= >937, snr=22.25) SV= 6, L1 (C/A , r=275389.94, pd= 1.5420, lock= >937, amb=20086094.686, snr=48.75) L2 (C-P/Y, r= 6.66, pd= 2.3975, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=258315.66, pd= 0.1145, lock= >937, amb=24882774.014, snr=37.00) L2 (C-P/Y, r= 7.28, pd= 0.5865, lock= >937, snr=17.75) SV= 19, L1 (C/A , r=262016.98, pd= 2.1095, lock= >937, amb=21285264.518, snr=48.75) L2 (C-P/Y, r= 4.72, pd= 3.0585, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=222426.20, pd= -0.9560, lock= 156, amb=24882774.014, snr=33.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=284761.98, pd= 0.5685, lock= >937, amb=20685679.602, snr=49.50) L2 (C-P/Y, r= 4.04, pd= 0.8330, lock= >937, snr=43.50) SV= 7, L1 (C/A , r=120947.70, pd= -3.5745, lock= 16, amb=24582981.556, snr=35.00) L2 (C-P/Y, r= 4.46, pd= -3.5035, lock= 16, snr=18.50) RTCM3 (2011-04-10T22:38:41.01 delay -26311.) Type 1012: ID= 0, Tk= 32232.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=299324.00, pd= 1.2715, lock= >937, amb=22184641.892, snr=42.00) L2 (P , r= 6.42, pd= 1.0055, lock= >937, snr=42.00) SV= 21, Freq= 4, L1 (C/A, r= 33789.14, pd= -2.1150, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 3.28, pd= -3.3085, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=439573.98, pd= -43.7660, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.36, pd= 0.9590, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=107306.18, pd= -2.8045, lock= >937, amb=23383811.724, snr=38.25) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=232987.18, pd= -1.5600, lock= >937, amb=23383811.724, snr=34.75) L2 (P , r= 8.80, pd= -0.6670, lock= >937, snr=40.00) SV= 6, Freq= -4, L1 (C/A, r= 80022.68, pd= 1.3535, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.72, pd= 1.1790, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 23896.28, pd= -0.0075, lock= >937, amb=19786302.228, snr=44.50) L2 (P , r= 0.92, pd= 1.5050, lock= >937, snr=45.75) SV= 23, Freq= 3, L1 (C/A, r=439384.12, pd= 20.1720, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 5.70, pd= 1.0680, lock= >937, snr=43.75) RTCM3 (2011-04-10T22:38:41.01) Type 1004: ID= 0, TOW=194248.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 74544.20, pd= -1.4730, lock= >937, amb=23983396.640, snr=40.50) L2 (C-P/Y, r= 7.06, pd= -1.8955, lock= >937, snr=25.50) SV= 3, L1 (C/A , r= 20172.56, pd= 1.6015, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.80, pd= 2.4120, lock= >937, snr=44.75) SV= 18, L1 (C/A , r= 28348.20, pd= 0.9845, lock= >937, amb=21884849.434, snr=48.00) L2 (C-P/Y, r= 6.52, pd= 1.3190, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 38377.38, pd= -4.5475, lock= >937, amb=21884849.434, snr=50.00) L2 (C-P/Y, r= 6.08, pd= -4.8455, lock= >937, snr=39.25) SV= 30, L1 (C/A , r=159873.12, pd= -1.8820, lock= >937, amb=23084019.266, snr=42.75) L2 (C-P/Y, r= 7.06, pd= -2.0290, lock= >937, snr=29.75) SV= 15, L1 (C/A , r=226061.46, pd= 1.3235, lock= >937, amb=24882774.014, snr=42.00) L2 (C-P/Y, r= 7.64, pd= 0.1530, lock= >937, snr=23.00) SV= 6, L1 (C/A , r=275434.16, pd= 1.1405, lock= >937, amb=20086094.686, snr=49.25) L2 (C-P/Y, r= 6.62, pd= 1.9970, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=258123.16, pd= -0.3460, lock= >937, amb=24882774.014, snr=37.75) L2 (C-P/Y, r= 6.32, pd= 0.1305, lock= >937, snr=17.25) SV= 19, L1 (C/A , r=261615.52, pd= 1.8605, lock= >937, amb=21285264.518, snr=49.25) L2 (C-P/Y, r= 4.32, pd= 2.8100, lock= >937, snr=40.00) SV= 11, L1 (C/A , r=221792.78, pd= -1.6040, lock= 156, amb=24882774.014, snr=33.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=284598.70, pd= 0.6780, lock= >937, amb=20685679.602, snr=49.00) L2 (C-P/Y, r= 4.16, pd= 0.9420, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=121115.82, pd= -2.2315, lock= 17, amb=24582981.556, snr=35.50) L2 (C-P/Y, r= 6.10, pd= -2.1555, lock= 17, snr=19.00) RTCM3 (2011-04-10T22:38:41.01 delay -26312.) Type 1012: ID= 0, Tk= 32233.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=299672.98, pd= 1.0320, lock= >937, amb=22184641.892, snr=41.25) L2 (P , r= 6.50, pd= 0.7670, lock= >937, snr=42.50) SV= 21, Freq= 4, L1 (C/A, r= 34309.80, pd= -1.8715, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 3.92, pd= -3.0640, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=439609.42, pd= -43.9270, lock= >937, amb=19186717.312, snr=50.75) L2 (P , r= 6.12, pd= 0.7990, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=107026.58, pd= -3.1560, lock= >937, amb=23383811.724, snr=38.25) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=233728.82, pd= -2.0540, lock= >937, amb=23383811.724, snr=34.75) L2 (P , r= 8.12, pd= -1.1605, lock= >937, snr=39.75) SV= 6, Freq= -4, L1 (C/A, r= 80569.14, pd= 0.9640, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.42, pd= 0.7885, lock= >937, snr=45.25) SV= 7, Freq= 5, L1 (C/A, r= 23616.82, pd= -0.0845, lock= >937, amb=19786302.228, snr=44.50) L2 (P , r= 0.86, pd= 1.4275, lock= >937, snr=46.00) SV= 23, Freq= 3, L1 (C/A, r=438864.92, pd= 20.8105, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.32, pd= 1.7080, lock= >937, snr=44.25) RTCM3 (2011-04-10T22:38:41.01) Type 1004: ID= 0, TOW=194249.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 75070.78, pd= -0.9960, lock= >937, amb=23983396.640, snr=40.50) L2 (C-P/Y, r= 7.32, pd= -1.4150, lock= >937, snr=24.50) SV= 3, L1 (C/A , r= 20099.72, pd= 1.8200, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 6.68, pd= 2.6305, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 28574.08, pd= 0.8810, lock= >937, amb=21884849.434, snr=47.00) L2 (C-P/Y, r= 6.06, pd= 1.2135, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 38907.64, pd= -4.3775, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 6.30, pd= -4.6760, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=160603.44, pd= -1.6140, lock= >937, amb=23084019.266, snr=43.25) L2 (C-P/Y, r= 7.40, pd= -1.7615, lock= >937, snr=30.00) SV= 15, L1 (C/A , r=226134.84, pd= 1.1150, lock= >937, amb=24882774.014, snr=42.00) L2 (C-P/Y, r= 7.14, pd= -0.0560, lock= >937, snr=23.75) SV= 6, L1 (C/A , r=275477.66, pd= 1.5575, lock= >937, amb=20086094.686, snr=49.25) L2 (C-P/Y, r= 6.80, pd= 2.4150, lock= >937, snr=44.00) SV= 8, L1 (C/A , r=257930.64, pd= -0.6300, lock= >937, amb=24882774.014, snr=38.00) L2 (C-P/Y, r= 6.44, pd= -0.1515, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=261213.92, pd= 1.8215, lock= >937, amb=21285264.518, snr=49.00) L2 (C-P/Y, r= 4.48, pd= 2.7700, lock= >937, snr=40.50) SV= 11, L1 (C/A , r=221158.38, pd= -1.2245, lock= 160, amb=24882774.014, snr=33.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=284435.38, pd= 0.9690, lock= >937, amb=20685679.602, snr=49.25) L2 (C-P/Y, r= 4.06, pd= 1.2345, lock= >937, snr=43.75) SV= 7, L1 (C/A , r=121285.46, pd= -2.2855, lock= 18, amb=24582981.556, snr=34.50) L2 (C-P/Y, r= 6.16, pd= -2.2030, lock= 18, snr=20.00) RTCM3 (2011-04-10T22:38:41.01 delay -26313.) Type 1012: ID= 0, Tk= 32234.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=300020.66, pd= 2.2570, lock= >937, amb=22184641.892, snr=42.00) L2 (P , r= 7.18, pd= 1.9930, lock= >937, snr=42.25) SV= 21, Freq= 4, L1 (C/A, r= 34830.08, pd= -1.1780, lock= >937, amb=22184641.892, snr=39.75) L2 (P , r= 4.76, pd= -2.3715, lock= >937, snr=41.25) SV= 22, Freq= -3, L1 (C/A, r=439644.94, pd= -44.0610, lock= >937, amb=19186717.312, snr=50.50) L2 (P , r= 5.22, pd= 0.6630, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=106746.44, pd= -2.7900, lock= >937, amb=23383811.724, snr=38.25) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=234471.54, pd= -3.5760, lock= >937, amb=23383811.724, snr=34.25) L2 (P , r= 7.06, pd= -2.6835, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 81115.42, pd= 0.9030, lock= >937, amb=21585056.976, snr=45.25) L2 (P , r= 5.24, pd= 0.7270, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 23337.48, pd= -0.0915, lock= >937, amb=19786302.228, snr=44.50) L2 (P , r= 0.76, pd= 1.4215, lock= >937, snr=45.50) SV= 23, Freq= 3, L1 (C/A, r=438346.26, pd= 20.9595, lock= >937, amb=20985472.060, snr=43.50) L2 (P , r= 7.28, pd= 1.8575, lock= >937, snr=44.50) RTCM3 (2011-04-10T22:38:41.01) Type 1033: ID= 0, Antenna='ASH701945E_M NONE', Setup ID= 0, Serial='24222' Receiver Type='TRIMBLE NETR5', Firmware='', Serial='' RTCM3 (2011-04-10T22:38:41.01) Type 1004: ID= 0, TOW=194250.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 75598.50, pd= -1.6720, lock= >937, amb=23983396.640, snr=41.00) L2 (C-P/Y, r= 7.08, pd= -2.0930, lock= >937, snr=24.50) SV= 3, L1 (C/A , r= 20027.32, pd= 1.6695, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 6.46, pd= 2.4805, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 28799.86, pd= 0.9530, lock= >937, amb=21884849.434, snr=47.50) L2 (C-P/Y, r= 6.16, pd= 1.2850, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 39438.24, pd= -4.4970, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 5.98, pd= -4.7945, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=161334.00, pd= -1.5835, lock= >937, amb=23084019.266, snr=43.25) L2 (C-P/Y, r= 7.52, pd= -1.7310, lock= >937, snr=29.25) SV= 15, L1 (C/A , r=226207.82, pd= 1.3930, lock= >937, amb=24882774.014, snr=42.00) L2 (C-P/Y, r= 7.98, pd= 0.2225, lock= >937, snr=23.50) SV= 6, L1 (C/A , r=275521.70, pd= 1.4885, lock= >937, amb=20086094.686, snr=49.75) L2 (C-P/Y, r= 6.66, pd= 2.3455, lock= >937, snr=44.00) SV= 8, L1 (C/A , r=257737.36, pd= -0.0760, lock= >937, amb=24882774.014, snr=38.25) L2 (C-P/Y, r= 6.42, pd= 0.3960, lock= >937, snr=17.25) SV= 19, L1 (C/A , r=260812.32, pd= 1.8100, lock= >937, amb=21285264.518, snr=48.75) L2 (C-P/Y, r= 4.62, pd= 2.7580, lock= >937, snr=40.50) SV= 11, L1 (C/A , r=220523.96, pd= -0.8550, lock= 160, amb=24882774.014, snr=33.75) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=284272.50, pd= 0.9110, lock= >937, amb=20685679.602, snr=49.50) L2 (C-P/Y, r= 4.06, pd= 1.1760, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=121454.32, pd= -1.4725, lock= 19, amb=24582981.556, snr=34.75) L2 (C-P/Y, r= 7.00, pd= -1.3925, lock= 19, snr=19.50) RTCM3 (2011-04-10T22:38:41.01 delay -26314.) Type 1012: ID= 0, Tk= 32235.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=300370.30, pd= 1.6305, lock= >937, amb=22184641.892, snr=42.00) L2 (P , r= 6.52, pd= 1.3660, lock= >937, snr=42.00) SV= 21, Freq= 4, L1 (C/A, r= 35351.14, pd= -1.2300, lock= >937, amb=22184641.892, snr=39.75) L2 (P , r= 4.74, pd= -2.4235, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=439680.88, pd= -44.5645, lock= >937, amb=19186717.312, snr=50.25) L2 (P , r= 4.96, pd= 0.1600, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=106466.96, pd= -2.9585, lock= >937, amb=23383811.724, snr=38.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=235211.86, pd= -2.6950, lock= >937, amb=23383811.724, snr=35.00) L2 (P , r= 7.82, pd= -1.8030, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 81661.70, pd= 0.9340, lock= >937, amb=21585056.976, snr=44.50) L2 (P , r= 5.22, pd= 0.7575, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 23058.42, pd= -0.2460, lock= >937, amb=19786302.228, snr=44.50) L2 (P , r= 0.74, pd= 1.2670, lock= >937, snr=45.25) SV= 23, Freq= 3, L1 (C/A, r=437827.48, pd= 21.2305, lock= >937, amb=20985472.060, snr=43.25) L2 (P , r= 7.36, pd= 2.1295, lock= >937, snr=44.75) RTCM3 (2011-04-10T22:38:41.01) Type 1008: ID= 0, Antenna='ASH701945E_M NONE', Setup ID= 0, Serial='24222' RTCM3 (2011-04-10T22:38:41.01) Type 1004: ID= 0, TOW=194251.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 76125.06, pd= -1.1670, lock= >937, amb=23983396.640, snr=40.50) L2 (C-P/Y, r= 7.00, pd= -1.5895, lock= >937, snr=24.00) SV= 3, L1 (C/A , r= 19954.90, pd= 1.6405, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.68, pd= 2.4505, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 29025.98, pd= 0.7905, lock= >937, amb=21884849.434, snr=48.25) L2 (C-P/Y, r= 5.90, pd= 1.1230, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 39968.52, pd= -4.2130, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 6.44, pd= -4.5115, lock= >937, snr=38.50) SV= 30, L1 (C/A , r=162064.74, pd= -1.6960, lock= >937, amb=23084019.266, snr=43.25) L2 (C-P/Y, r= 7.44, pd= -1.8425, lock= >937, snr=29.75) SV= 15, L1 (C/A , r=226281.42, pd= 1.1685, lock= >937, amb=24882774.014, snr=41.75) L2 (C-P/Y, r= 7.36, pd= -0.0020, lock= >937, snr=22.00) SV= 6, L1 (C/A , r=275565.70, pd= 1.5425, lock= >937, amb=20086094.686, snr=49.75) L2 (C-P/Y, r= 6.80, pd= 2.3985, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=257544.46, pd= 0.2225, lock= >937, amb=24882774.014, snr=38.50) L2 (C-P/Y, r= 6.76, pd= 0.7005, lock= >937, snr=17.25) SV= 19, L1 (C/A , r=260410.78, pd= 1.7855, lock= >937, amb=21285264.518, snr=48.25) L2 (C-P/Y, r= 4.44, pd= 2.7350, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=219890.46, pd= -1.3760, lock= 160, amb=24882774.014, snr=34.00) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=284109.78, pd= 0.8105, lock= >937, amb=20685679.602, snr=49.50) L2 (C-P/Y, r= 4.20, pd= 1.0760, lock= >937, snr=43.75) SV= 7, L1 (C/A , r=121623.46, pd= -0.8400, lock= 20, amb=24582981.556, snr=33.00) L2 (C-P/Y, r= 7.68, pd= -0.7615, lock= 20, snr=20.00) RTCM3 (2011-04-10T22:38:41.01 delay -26315.) Type 1012: ID= 0, Tk= 32236.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=300720.72, pd= 0.3710, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 5.38, pd= 0.1050, lock= >937, snr=42.00) SV= 21, Freq= 4, L1 (C/A, r= 35872.30, pd= -1.3375, lock= >937, amb=22184641.892, snr=39.75) L2 (P , r= 4.94, pd= -2.5335, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=439716.18, pd= -44.3440, lock= >937, amb=19186717.312, snr=50.50) L2 (P , r= 4.96, pd= 0.3805, lock= >937, snr=51.50) SV= 14, Freq= -7, L1 (C/A, r=106186.84, pd= -2.3415, lock= >937, amb=23383811.724, snr=38.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=235953.38, pd= -2.9840, lock= >937, amb=23383811.724, snr=34.75) L2 (P , r= 7.02, pd= -2.0920, lock= >937, snr=39.75) SV= 6, Freq= -4, L1 (C/A, r= 82208.00, pd= 1.0740, lock= >937, amb=21585056.976, snr=44.50) L2 (P , r= 5.14, pd= 0.8980, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 22779.56, pd= -0.4335, lock= >937, amb=19786302.228, snr=44.25) L2 (P , r= 0.76, pd= 1.0795, lock= >937, snr=44.75) SV= 23, Freq= 3, L1 (C/A, r=437309.94, pd= 20.2950, lock= >937, amb=20985472.060, snr=43.25) L2 (P , r= 6.46, pd= 1.1940, lock= >937, snr=44.50) RTCM3 (2011-04-10T22:38:41.01) Type 1006: ID= 0, Year=0, GPS=Y, GLONASS=Y, Galileo=N, X= 4581694.6288, Y= 556114.3725, Z= 4389358.4678 QC=1(no bias), height=0.0349 RTCM3 (2011-04-10T22:38:41.01) Type 1004: ID= 0, TOW=194252.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 76652.60, pd= -1.6355, lock= >937, amb=23983396.640, snr=40.50) L2 (C-P/Y, r= 6.58, pd= -2.0610, lock= >937, snr=24.50) SV= 3, L1 (C/A , r= 19882.26, pd= 1.9230, lock= >937, amb=19786302.228, snr=53.50) L2 (C-P/Y, r= 6.84, pd= 2.7330, lock= >937, snr=44.25) SV= 18, L1 (C/A , r= 29252.28, pd= 0.5490, lock= >937, amb=21884849.434, snr=48.50) L2 (C-P/Y, r= 5.80, pd= 0.8810, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 40499.28, pd= -4.3340, lock= >937, amb=21884849.434, snr=48.50) L2 (C-P/Y, r= 5.90, pd= -4.6315, lock= >937, snr=38.50) SV= 30, L1 (C/A , r=162795.34, pd= -1.6420, lock= >937, amb=23084019.266, snr=43.75) L2 (C-P/Y, r= 7.46, pd= -1.7885, lock= >937, snr=29.50) SV= 15, L1 (C/A , r=226355.22, pd= 0.8455, lock= >937, amb=24882774.014, snr=41.75) L2 (C-P/Y, r= 7.06, pd= -0.3275, lock= >937, snr=22.25) SV= 6, L1 (C/A , r=275610.00, pd= 1.3755, lock= >937, amb=20086094.686, snr=50.00) L2 (C-P/Y, r= 6.70, pd= 2.2315, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=257352.86, pd= -0.6675, lock= >937, amb=24882774.014, snr=39.00) L2 (C-P/Y, r= 6.38, pd= -0.1910, lock= >937, snr=17.75) SV= 19, L1 (C/A , r=260009.56, pd= 1.4860, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.20, pd= 2.4340, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=219255.66, pd= -0.5945, lock= 160, amb=24882774.014, snr=33.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=283947.24, pd= 0.6425, lock= >937, amb=20685679.602, snr=49.50) L2 (C-P/Y, r= 3.96, pd= 0.9075, lock= >937, snr=43.75) SV= 7, L1 (C/A , r=121791.82, pd= 0.6840, lock= 21, amb=24582981.556, snr=31.25) L2 (C-P/Y, r= 9.06, pd= 0.7560, lock= 21, snr=19.00) RTCM3 (2011-04-10T22:38:41.01 delay -26316.) Type 1012: ID= 0, Tk= 32237.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=301068.50, pd= 1.8835, lock= >937, amb=22184641.892, snr=41.25) L2 (P , r= 6.66, pd= 1.6175, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 36394.38, pd= -2.3150, lock= >937, amb=22184641.892, snr=39.75) L2 (P , r= 3.96, pd= -3.5105, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=439751.22, pd= -43.7910, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.78, pd= 0.9335, lock= >937, snr=51.75) SV= 14, Freq= -7, L1 (C/A, r=105908.42, pd= -3.2795, lock= >937, amb=23383811.724, snr=38.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=236694.68, pd= -3.0455, lock= >937, amb=23383811.724, snr=34.25) L2 (P , r= 7.68, pd= -2.1545, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 82753.74, pd= 1.8845, lock= >937, amb=21585056.976, snr=44.75) L2 (P , r= 6.32, pd= 1.7075, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 22500.70, pd= -0.4750, lock= >937, amb=19786302.228, snr=44.50) L2 (P , r= 0.60, pd= 1.0380, lock= >937, snr=45.25) SV= 23, Freq= 3, L1 (C/A, r=436791.80, pd= 19.9820, lock= >937, amb=20985472.060, snr=43.25) L2 (P , r= 6.00, pd= 0.8805, lock= >937, snr=44.50) RTCM3 (2011-04-10T22:38:41.01) Type 1013: ID= 0, MJD=55621, SOD=21437, Num= 6, Leap=15 ID=1004, Sync=1, Interval= 1.0 ID=1006, Sync=1, Interval= 10.0 ID=1008, Sync=1, Interval= 10.0 ID=1012, Sync=1, Interval= 1.0 ID=1013, Sync=1, Interval= 10.0 ID=1033, Sync=1, Interval= 10.0 RTCM3 (2011-04-10T22:38:41.01) Type 1004: ID= 0, TOW=194253.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 77179.74, pd= -1.6950, lock= >937, amb=23983396.640, snr=40.75) L2 (C-P/Y, r= 6.82, pd= -2.1215, lock= >937, snr=24.25) SV= 3, L1 (C/A , r= 19810.34, pd= 1.5775, lock= >937, amb=19786302.228, snr=53.75) L2 (C-P/Y, r= 6.42, pd= 2.3870, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 29478.04, pd= 0.9405, lock= >937, amb=21884849.434, snr=48.50) L2 (C-P/Y, r= 6.44, pd= 1.2730, lock= >937, snr=38.25) SV= 16, L1 (C/A , r= 41030.42, pd= -4.7625, lock= >937, amb=21884849.434, snr=48.75) L2 (C-P/Y, r= 5.78, pd= -5.0615, lock= >937, snr=38.75) SV= 30, L1 (C/A , r=163526.00, pd= -1.6205, lock= >937, amb=23084019.266, snr=43.50) L2 (C-P/Y, r= 7.38, pd= -1.7685, lock= >937, snr=29.00) SV= 15, L1 (C/A , r=226428.60, pd= 1.0495, lock= >937, amb=24882774.014, snr=40.50) L2 (C-P/Y, r= 7.32, pd= -0.1240, lock= >937, snr=23.00) SV= 6, L1 (C/A , r=275654.54, pd= 1.0405, lock= >937, amb=20086094.686, snr=49.00) L2 (C-P/Y, r= 6.38, pd= 1.8970, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=257160.34, pd= -0.5210, lock= >937, amb=24882774.014, snr=39.25) L2 (C-P/Y, r= 5.78, pd= -0.0455, lock= >937, snr=16.25) SV= 19, L1 (C/A , r=259607.84, pd= 1.7300, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.40, pd= 2.6775, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=218622.10, pd= -1.0540, lock= 164, amb=24882774.014, snr=33.25) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=283784.64, pd= 0.6455, lock= >937, amb=20685679.602, snr=49.25) L2 (C-P/Y, r= 3.76, pd= 0.9105, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=121961.98, pd= 0.4985, lock= 22, amb=24582981.556, snr=29.00) L2 (C-P/Y, r= 8.62, pd= 0.5695, lock= 22, snr=19.25) RTCM3 (2011-04-10T22:38:41.02 delay -26317.) Type 1012: ID= 0, Tk= 32238.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=301417.88, pd= 1.9265, lock= >937, amb=22184641.892, snr=40.75) L2 (P , r= 6.40, pd= 1.6610, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 36915.76, pd= -2.5515, lock= >937, amb=22184641.892, snr=40.25) L2 (P , r= 3.34, pd= -3.7475, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=439787.64, pd= -44.5490, lock= >937, amb=19186717.312, snr=50.50) L2 (P , r= 5.12, pd= 0.1755, lock= >937, snr=51.25) SV= 14, Freq= -7, L1 (C/A, r=105628.94, pd= -3.0080, lock= >937, amb=23383811.724, snr=38.25) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=237435.72, pd= -2.8415, lock= >937, amb=23383811.724, snr=34.00) L2 (P , r= 7.66, pd= -1.9515, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 83301.42, pd= 0.8745, lock= >937, amb=21585056.976, snr=44.75) L2 (P , r= 4.98, pd= 0.6960, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 22221.90, pd= -0.4285, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 1.58, pd= 1.0845, lock= >937, snr=45.00) SV= 23, Freq= 3, L1 (C/A, r=436272.84, pd= 20.5130, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.62, pd= 1.4110, lock= >937, snr=44.50) RTCM3 (2011-04-10T22:38:41.02) Type 1004: ID= 0, TOW=194254.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 77707.30, pd= -2.1260, lock= >937, amb=23983396.640, snr=40.75) L2 (C-P/Y, r= 6.34, pd= -2.5535, lock= >937, snr=25.75) SV= 3, L1 (C/A , r= 19737.90, pd= 1.8825, lock= >937, amb=19786302.228, snr=53.75) L2 (C-P/Y, r= 6.74, pd= 2.6930, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 29704.44, pd= 0.8325, lock= >937, amb=21884849.434, snr=48.50) L2 (C-P/Y, r= 5.90, pd= 1.1645, lock= >937, snr=37.75) SV= 16, L1 (C/A , r= 41561.08, pd= -4.5995, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 5.74, pd= -4.8985, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=164256.16, pd= -1.0365, lock= >937, amb=23084019.266, snr=43.75) L2 (C-P/Y, r= 8.32, pd= -1.1845, lock= >937, snr=28.75) SV= 15, L1 (C/A , r=226502.00, pd= 1.3790, lock= >937, amb=24882774.014, snr=40.75) L2 (C-P/Y, r= 7.42, pd= 0.2095, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=275698.56, pd= 1.3360, lock= >937, amb=20086094.686, snr=48.75) L2 (C-P/Y, r= 7.04, pd= 2.1915, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=256968.36, pd= -0.7760, lock= >937, amb=24882774.014, snr=39.50) L2 (C-P/Y, r= 5.66, pd= -0.3055, lock= >937, snr=16.25) SV= 19, L1 (C/A , r=259206.82, pd= 1.3525, lock= >937, amb=21285264.518, snr=49.00) L2 (C-P/Y, r= 3.86, pd= 2.3000, lock= >937, snr=40.50) SV= 11, L1 (C/A , r=217988.20, pd= -1.1170, lock= 164, amb=24882774.014, snr=33.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=283622.30, pd= 0.5380, lock= >937, amb=20685679.602, snr=48.75) L2 (C-P/Y, r= 3.78, pd= 0.8035, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=122132.10, pd= 0.4990, lock= 23, amb=24582981.556, snr=29.75) L2 (C-P/Y, r= 9.50, pd= 0.5625, lock= 23, snr=18.50) RTCM3 (2011-04-10T22:38:41.02 delay -26318.) Type 1012: ID= 0, Tk= 32239.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=301768.28, pd= 1.1210, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 6.10, pd= 0.8530, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 37436.72, pd= -2.2805, lock= >937, amb=22184641.892, snr=40.25) L2 (P , r= 3.84, pd= -3.4760, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=439823.08, pd= -44.2120, lock= >937, amb=19186717.312, snr=50.75) L2 (P , r= 5.86, pd= 0.5130, lock= >937, snr=51.25) SV= 14, Freq= -7, L1 (C/A, r=105348.20, pd= -1.2900, lock= >937, amb=23383811.724, snr=37.75) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=238177.12, pd= -2.9370, lock= >937, amb=23383811.724, snr=34.50) L2 (P , r= 6.62, pd= -2.0450, lock= >937, snr=39.00) SV= 6, Freq= -4, L1 (C/A, r= 83847.84, pd= 1.2740, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.42, pd= 1.0955, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 21942.90, pd= 0.0070, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 1.24, pd= 1.5210, lock= >937, snr=44.75) SV= 23, Freq= 3, L1 (C/A, r=435754.54, pd= 20.4485, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.66, pd= 1.3465, lock= >937, snr=44.25) RTCM3 (2011-04-10T22:38:41.02) Type 1004: ID= 0, TOW=194255.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 78234.10, pd= -1.7910, lock= >937, amb=23983396.640, snr=40.50) L2 (C-P/Y, r= 6.30, pd= -2.2175, lock= >937, snr=25.00) SV= 3, L1 (C/A , r= 19666.02, pd= 1.7215, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.74, pd= 2.5310, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 29931.02, pd= 0.6445, lock= >937, amb=21884849.434, snr=47.75) L2 (C-P/Y, r= 6.14, pd= 0.9755, lock= >937, snr=38.25) SV= 16, L1 (C/A , r= 42091.76, pd= -4.3800, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 6.54, pd= -4.6800, lock= >937, snr=39.25) SV= 30, L1 (C/A , r=164987.50, pd= -1.5975, lock= >937, amb=23084019.266, snr=43.25) L2 (C-P/Y, r= 7.50, pd= -1.7465, lock= >937, snr=29.75) SV= 15, L1 (C/A , r=226575.74, pd= 1.4820, lock= >937, amb=24882774.014, snr=40.75) L2 (C-P/Y, r= 7.68, pd= 0.3130, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=275742.96, pd= 1.3330, lock= >937, amb=20086094.686, snr=48.75) L2 (C-P/Y, r= 6.88, pd= 2.1885, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=256776.42, pd= -0.9480, lock= >937, amb=24882774.014, snr=39.50) L2 (C-P/Y, r= 5.30, pd= -0.4815, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=258804.92, pd= 1.9020, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.48, pd= 2.8505, lock= >937, snr=40.50) SV= 11, L1 (C/A , r=217354.16, pd= -1.0290, lock= 164, amb=24882774.014, snr=33.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=283459.76, pd= 0.7400, lock= >937, amb=20685679.602, snr=48.75) L2 (C-P/Y, r= 4.12, pd= 1.0045, lock= >937, snr=44.50) SV= 7, L1 (C/A , r=122302.30, pd= 0.5305, lock= 24, amb=24582981.556, snr=31.50) L2 (C-P/Y, r= 9.00, pd= 0.5870, lock= 24, snr=19.25) RTCM3 (2011-04-10T22:38:41.02 delay -26319.) Type 1012: ID= 0, Tk= 32240.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=302119.16, pd= -0.0270, lock= >937, amb=22184641.892, snr=41.75) L2 (P , r= 5.12, pd= -0.2950, lock= >937, snr=41.00) SV= 21, Freq= 4, L1 (C/A, r= 37957.62, pd= -1.9015, lock= >937, amb=22184641.892, snr=40.25) L2 (P , r= 4.20, pd= -3.0990, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=439859.04, pd= -44.3220, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.36, pd= 0.4030, lock= >937, snr=51.25) SV= 14, Freq= -7, L1 (C/A, r=105071.18, pd= -3.1465, lock= >937, amb=23383811.724, snr=38.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=238920.44, pd= -4.9100, lock= >937, amb=23383811.724, snr=34.50) L2 (P , r= 5.10, pd= -4.0180, lock= >937, snr=39.75) SV= 6, Freq= -4, L1 (C/A, r= 84394.74, pd= 1.3205, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.42, pd= 1.1405, lock= >937, snr=45.00) SV= 7, Freq= 5, L1 (C/A, r= 21664.54, pd= -0.0385, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 1.00, pd= 1.4735, lock= >937, snr=45.25) SV= 23, Freq= 3, L1 (C/A, r=435236.28, pd= 20.3655, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.36, pd= 1.2625, lock= >937, snr=44.50) RTCM3 (2011-04-10T22:38:41.02) Type 1004: ID= 0, TOW=194256.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 78761.26, pd= -1.8155, lock= >937, amb=23983396.640, snr=41.00) L2 (C-P/Y, r= 6.60, pd= -2.2415, lock= >937, snr=26.00) SV= 3, L1 (C/A , r= 19593.96, pd= 1.8245, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.54, pd= 2.6345, lock= >937, snr=45.00) SV= 18, L1 (C/A , r= 30157.52, pd= 0.6310, lock= >937, amb=21884849.434, snr=48.00) L2 (C-P/Y, r= 6.20, pd= 0.9620, lock= >937, snr=38.25) SV= 16, L1 (C/A , r= 42623.04, pd= -4.6935, lock= >937, amb=21884849.434, snr=48.75) L2 (C-P/Y, r= 5.78, pd= -4.9925, lock= >937, snr=39.50) SV= 30, L1 (C/A , r=165718.12, pd= -1.4275, lock= >937, amb=23084019.266, snr=42.75) L2 (C-P/Y, r= 7.88, pd= -1.5780, lock= >937, snr=28.50) SV= 15, L1 (C/A , r=226650.18, pd= 0.9815, lock= >937, amb=24882774.014, snr=40.25) L2 (C-P/Y, r= 7.02, pd= -0.1870, lock= >937, snr=23.00) SV= 6, L1 (C/A , r=275787.28, pd= 1.4725, lock= >937, amb=20086094.686, snr=49.00) L2 (C-P/Y, r= 6.52, pd= 2.3275, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=256583.96, pd= -0.5045, lock= >937, amb=24882774.014, snr=39.50) L2 (C-P/Y, r= 5.64, pd= -0.0400, lock= >937, snr=16.25) SV= 19, L1 (C/A , r=258403.88, pd= 1.6260, lock= >937, amb=21285264.518, snr=47.50) L2 (C-P/Y, r= 3.92, pd= 2.5740, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=216720.54, pd= -1.3590, lock= 164, amb=24882774.014, snr=33.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=283297.58, pd= 0.6870, lock= >937, amb=20685679.602, snr=49.50) L2 (C-P/Y, r= 4.08, pd= 0.9525, lock= >937, snr=44.25) SV= 7, L1 (C/A , r=122474.20, pd= -1.0595, lock= 24, amb=24582981.556, snr=31.50) L2 (C-P/Y, r= 7.72, pd= -1.0095, lock= 24, snr=19.25) RTCM3 (2011-04-10T22:38:41.02 delay -26320.) Type 1012: ID= 0, Tk= 32241.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=302468.84, pd= 0.1465, lock= >937, amb=22184641.892, snr=41.25) L2 (P , r= 5.50, pd= -0.1205, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 38478.98, pd= -1.9555, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 4.10, pd= -3.1540, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=439894.42, pd= -43.7840, lock= >937, amb=19186717.312, snr=50.75) L2 (P , r= 5.58, pd= 0.9410, lock= >937, snr=51.50) SV= 14, Freq= -7, L1 (C/A, r=104791.12, pd= -1.8385, lock= >937, amb=23383811.724, snr=37.75) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=239661.48, pd= -4.6120, lock= >937, amb=23383811.724, snr=35.00) L2 (P , r= 5.24, pd= -3.7190, lock= >937, snr=40.00) SV= 6, Freq= -4, L1 (C/A, r= 84942.18, pd= 0.9290, lock= >937, amb=21585056.976, snr=44.75) L2 (P , r= 5.08, pd= 0.7505, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 21386.46, pd= -0.2170, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 0.84, pd= 1.2960, lock= >937, snr=45.50) SV= 23, Freq= 3, L1 (C/A, r=434718.00, pd= 20.3175, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.18, pd= 1.2155, lock= >937, snr=44.25) RTCM3 (2011-04-10T22:38:41.02) Type 1004: ID= 0, TOW=194257.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 79288.40, pd= -1.8145, lock= >937, amb=23983396.640, snr=40.75) L2 (C-P/Y, r= 7.04, pd= -2.2415, lock= >937, snr=24.50) SV= 3, L1 (C/A , r= 19522.14, pd= 1.7745, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.76, pd= 2.5830, lock= >937, snr=45.00) SV= 18, L1 (C/A , r= 30383.76, pd= 0.9585, lock= >937, amb=21884849.434, snr=48.50) L2 (C-P/Y, r= 6.36, pd= 1.2900, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 43153.78, pd= -4.3995, lock= >937, amb=21884849.434, snr=48.50) L2 (C-P/Y, r= 6.14, pd= -4.6995, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=166449.08, pd= -1.5770, lock= >937, amb=23084019.266, snr=42.25) L2 (C-P/Y, r= 7.70, pd= -1.7265, lock= >937, snr=29.00) SV= 15, L1 (C/A , r=226723.64, pd= 1.5500, lock= >937, amb=24882774.014, snr=40.50) L2 (C-P/Y, r= 7.64, pd= 0.3805, lock= >937, snr=22.75) SV= 6, L1 (C/A , r=275832.00, pd= 1.2805, lock= >937, amb=20086094.686, snr=49.00) L2 (C-P/Y, r= 6.82, pd= 2.1370, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=256392.58, pd= -1.0255, lock= >937, amb=24882774.014, snr=39.75) L2 (C-P/Y, r= 4.86, pd= -0.5570, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=258002.38, pd= 1.8450, lock= >937, amb=21285264.518, snr=48.00) L2 (C-P/Y, r= 4.62, pd= 2.7930, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=216086.26, pd= -1.0530, lock= 168, amb=24882774.014, snr=32.25) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=283135.56, pd= 0.5765, lock= >937, amb=20685679.602, snr=49.50) L2 (C-P/Y, r= 4.04, pd= 0.8405, lock= >937, snr=44.25) SV= 7, L1 (C/A , r=122643.98, pd= -0.4385, lock= 26, amb=24582981.556, snr=31.75) L2 (C-P/Y, r= 8.50, pd= -0.3900, lock= 26, snr=19.75) RTCM3 (2011-04-10T22:38:41.02 delay -26321.) Type 1012: ID= 0, Tk= 32242.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=302818.04, pd= 0.9205, lock= >937, amb=22184641.892, snr=41.25) L2 (P , r= 5.28, pd= 0.6555, lock= >937, snr=41.25) SV= 21, Freq= 4, L1 (C/A, r= 39000.52, pd= -2.1380, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 3.72, pd= -3.3360, lock= >937, snr=41.50) SV= 22, Freq= -3, L1 (C/A, r=439930.18, pd= -43.5620, lock= >937, amb=19186717.312, snr=50.50) L2 (P , r= 5.78, pd= 1.1615, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=104512.48, pd= -1.8115, lock= >937, amb=23383811.724, snr=38.25) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=240402.00, pd= -3.7940, lock= >937, amb=23383811.724, snr=35.00) L2 (P , r= 6.72, pd= -2.9005, lock= >937, snr=39.00) SV= 6, Freq= -4, L1 (C/A, r= 85488.48, pd= 1.7880, lock= >937, amb=21585056.976, snr=44.50) L2 (P , r= 5.82, pd= 1.6080, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 21108.14, pd= -0.0070, lock= >937, amb=19786302.228, snr=45.25) L2 (P , r= 1.02, pd= 1.5055, lock= >937, snr=45.25) SV= 23, Freq= 3, L1 (C/A, r=434199.54, pd= 20.4670, lock= >937, amb=20985472.060, snr=42.75) L2 (P , r= 6.26, pd= 1.3635, lock= >937, snr=44.25) RTCM3 (2011-04-10T22:38:41.02) Type 1004: ID= 0, TOW=194258.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 79815.74, pd= -1.9855, lock= >937, amb=23983396.640, snr=40.75) L2 (C-P/Y, r= 6.68, pd= -2.4145, lock= >937, snr=24.00) SV= 3, L1 (C/A , r= 19450.38, pd= 1.7755, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 6.58, pd= 2.5855, lock= >937, snr=44.75) SV= 18, L1 (C/A , r= 30610.54, pd= 0.8700, lock= >937, amb=21884849.434, snr=48.50) L2 (C-P/Y, r= 6.12, pd= 1.2020, lock= >937, snr=38.75) SV= 16, L1 (C/A , r= 43684.96, pd= -4.4515, lock= >937, amb=21884849.434, snr=48.75) L2 (C-P/Y, r= 5.88, pd= -4.7510, lock= >937, snr=38.75) SV= 30, L1 (C/A , r=167180.26, pd= -1.9000, lock= >937, amb=23084019.266, snr=42.25) L2 (C-P/Y, r= 7.18, pd= -2.0515, lock= >937, snr=28.25) SV= 15, L1 (C/A , r=226798.56, pd= 0.7960, lock= >937, amb=24882774.014, snr=40.75) L2 (C-P/Y, r= 7.28, pd= -0.3720, lock= >937, snr=22.25) SV= 6, L1 (C/A , r=275876.44, pd= 1.4660, lock= >937, amb=20086094.686, snr=49.25) L2 (C-P/Y, r= 7.04, pd= 2.3225, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=256200.88, pd= -1.1030, lock= >937, amb=24882774.014, snr=40.00) L2 (C-P/Y, r= 5.26, pd= -0.6395, lock= >937, snr=17.75) SV= 19, L1 (C/A , r=257601.00, pd= 2.0110, lock= >937, amb=21285264.518, snr=48.25) L2 (C-P/Y, r= 4.24, pd= 2.9600, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=215451.84, pd= -0.5455, lock= 168, amb=24882774.014, snr=32.75) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=282973.44, pd= 0.7020, lock= >937, amb=20685679.602, snr=49.50) L2 (C-P/Y, r= 4.04, pd= 0.9660, lock= >937, snr=44.50) SV= 7, L1 (C/A , r=122814.10, pd= -0.0365, lock= 26, amb=24582981.556, snr=31.75) L2 (C-P/Y, r= 9.14, pd= 0.0070, lock= 26, snr=19.50) RTCM3 (2011-04-10T22:38:41.02 delay -26322.) Type 1012: ID= 0, Tk= 32243.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=303168.54, pd= 0.5575, lock= >937, amb=22184641.892, snr=42.00) L2 (P , r= 5.74, pd= 0.2905, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 39521.12, pd= -1.3260, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 4.66, pd= -2.5250, lock= >937, snr=41.25) SV= 22, Freq= -3, L1 (C/A, r=439966.70, pd= -44.0045, lock= >937, amb=19186717.312, snr=50.75) L2 (P , r= 5.64, pd= 0.7195, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=104235.12, pd= -2.8965, lock= >937, amb=23383811.724, snr=38.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=241143.82, pd= -4.2170, lock= >937, amb=23383811.724, snr=35.00) L2 (P , r= 5.80, pd= -3.3255, lock= >937, snr=39.00) SV= 6, Freq= -4, L1 (C/A, r= 86036.58, pd= 0.9910, lock= >937, amb=21585056.976, snr=44.75) L2 (P , r= 5.38, pd= 0.8115, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 20830.48, pd= -0.2755, lock= >937, amb=19786302.228, snr=45.25) L2 (P , r= 1.08, pd= 1.2380, lock= >937, snr=45.50) SV= 23, Freq= 3, L1 (C/A, r=433681.02, pd= 20.7210, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.26, pd= 1.6185, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.02) Type 1004: ID= 0, TOW=194259.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 80342.68, pd= -1.7690, lock= >937, amb=23983396.640, snr=40.25) L2 (C-P/Y, r= 6.80, pd= -2.1990, lock= >937, snr=23.75) SV= 3, L1 (C/A , r= 19378.68, pd= 1.7930, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.64, pd= 2.6025, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 30837.28, pd= 0.9025, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 6.02, pd= 1.2345, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 44216.16, pd= -4.4720, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 6.12, pd= -4.7700, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=167911.08, pd= -1.8515, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.48, pd= -2.0045, lock= >937, snr=28.75) SV= 15, L1 (C/A , r=226872.36, pd= 1.2500, lock= >937, amb=24882774.014, snr=41.00) L2 (C-P/Y, r= 7.38, pd= 0.0795, lock= >937, snr=22.00) SV= 6, L1 (C/A , r=275921.30, pd= 1.2830, lock= >937, amb=20086094.686, snr=49.00) L2 (C-P/Y, r= 6.58, pd= 2.1390, lock= >937, snr=44.75) SV= 8, L1 (C/A , r=256008.80, pd= -0.7025, lock= >937, amb=24882774.014, snr=39.75) L2 (C-P/Y, r= 4.88, pd= -0.2320, lock= >937, snr=18.25) SV= 19, L1 (C/A , r=257199.72, pd= 2.1005, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 5.02, pd= 3.0480, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=214818.06, pd= -0.7030, lock= 168, amb=24882774.014, snr=32.75) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=282811.32, pd= 0.9155, lock= >937, amb=20685679.602, snr=48.75) L2 (C-P/Y, r= 4.48, pd= 1.1805, lock= >937, snr=44.25) SV= 7, L1 (C/A , r=122984.88, pd= -0.1820, lock= 28, amb=24582981.556, snr=31.00) L2 (C-P/Y, r= 8.82, pd= -0.1360, lock= 28, snr=19.00) RTCM3 (2011-04-10T22:38:41.02 delay -26323.) Type 1012: ID= 0, Tk= 32244.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=303520.10, pd= -0.7575, lock= >937, amb=22184641.892, snr=42.50) L2 (P , r= 4.22, pd= -1.0250, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 40044.14, pd= -2.8980, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 3.16, pd= -4.0970, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=440003.08, pd= -44.2485, lock= >937, amb=19186717.312, snr=50.50) L2 (P , r= 5.70, pd= 0.4750, lock= >937, snr=51.25) SV= 14, Freq= -7, L1 (C/A, r=103956.16, pd= -2.2515, lock= >937, amb=23383811.724, snr=38.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=241885.02, pd= -4.0325, lock= >937, amb=23383811.724, snr=35.00) L2 (P , r= 6.10, pd= -3.1405, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 86583.36, pd= 1.6080, lock= >937, amb=21585056.976, snr=44.75) L2 (P , r= 6.08, pd= 1.4285, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 20552.88, pd= -0.4645, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 0.60, pd= 1.0480, lock= >937, snr=45.50) SV= 23, Freq= 3, L1 (C/A, r=433162.70, pd= 20.7840, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.48, pd= 1.6810, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.02) Type 1033: ID= 0, Antenna='ASH701945E_M NONE', Setup ID= 0, Serial='24222' Receiver Type='TRIMBLE NETR5', Firmware='', Serial='' RTCM3 (2011-04-10T22:38:41.02) Type 1004: ID= 0, TOW=194260.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 80870.00, pd= -1.9275, lock= >937, amb=23983396.640, snr=40.00) L2 (C-P/Y, r= 6.88, pd= -2.3595, lock= >937, snr=24.75) SV= 3, L1 (C/A , r= 19306.92, pd= 1.9540, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.54, pd= 2.7630, lock= >937, snr=44.25) SV= 18, L1 (C/A , r= 31064.30, pd= 0.7400, lock= >937, amb=21884849.434, snr=48.75) L2 (C-P/Y, r= 6.04, pd= 1.0715, lock= >937, snr=37.75) SV= 16, L1 (C/A , r= 44747.40, pd= -4.4610, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 6.34, pd= -4.7600, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=168641.62, pd= -1.5075, lock= >937, amb=23084019.266, snr=43.50) L2 (C-P/Y, r= 7.98, pd= -1.6605, lock= >937, snr=28.00) SV= 15, L1 (C/A , r=226946.98, pd= 0.9805, lock= >937, amb=24882774.014, snr=41.50) L2 (C-P/Y, r= 7.22, pd= -0.1875, lock= >937, snr=22.25) SV= 6, L1 (C/A , r=275965.76, pd= 1.5700, lock= >937, amb=20086094.686, snr=49.25) L2 (C-P/Y, r= 6.90, pd= 2.4255, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=255816.80, pd= -0.2810, lock= >937, amb=24882774.014, snr=39.00) L2 (C-P/Y, r= 5.88, pd= 0.1895, lock= >937, snr=17.25) SV= 19, L1 (C/A , r=256799.12, pd= 1.5455, lock= >937, amb=21285264.518, snr=48.25) L2 (C-P/Y, r= 4.42, pd= 2.4935, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=214184.68, pd= -1.2650, lock= 168, amb=24882774.014, snr=33.25) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=282649.64, pd= 0.7920, lock= >937, amb=20685679.602, snr=49.00) L2 (C-P/Y, r= 4.12, pd= 1.0570, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=123156.04, pd= -0.6565, lock= 28, amb=24582981.556, snr=31.50) L2 (C-P/Y, r= 8.22, pd= -0.6120, lock= 28, snr=19.50) RTCM3 (2011-04-10T22:38:41.02 delay -26324.) Type 1012: ID= 0, Tk= 32245.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=303869.78, pd= -0.0620, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 5.18, pd= -0.3290, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 40564.72, pd= -2.0035, lock= >937, amb=22184641.892, snr=40.25) L2 (P , r= 4.52, pd= -3.2045, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=440039.24, pd= -44.2115, lock= >937, amb=19186717.312, snr=50.50) L2 (P , r= 5.70, pd= 0.5110, lock= >937, snr=50.75) SV= 14, Freq= -7, L1 (C/A, r=103678.06, pd= -2.3325, lock= >937, amb=23383811.724, snr=38.25) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=242625.48, pd= -3.0910, lock= >937, amb=23383811.724, snr=35.00) L2 (P , r= 7.16, pd= -2.1995, lock= >937, snr=39.75) SV= 6, Freq= -4, L1 (C/A, r= 87131.28, pd= 1.1900, lock= >937, amb=21585056.976, snr=44.75) L2 (P , r= 5.12, pd= 1.0090, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 20274.86, pd= -0.1020, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 1.34, pd= 1.4105, lock= >937, snr=45.50) SV= 23, Freq= 3, L1 (C/A, r=432644.36, pd= 20.8805, lock= >937, amb=20985472.060, snr=42.75) L2 (P , r= 6.66, pd= 1.7780, lock= >937, snr=44.50) RTCM3 (2011-04-10T22:38:41.02) Type 1008: ID= 0, Antenna='ASH701945E_M NONE', Setup ID= 0, Serial='24222' RTCM3 (2011-04-10T22:38:41.03) Type 1004: ID= 0, TOW=194261.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 81396.74, pd= -1.4710, lock= >937, amb=23983396.640, snr=40.25) L2 (C-P/Y, r= 7.26, pd= -1.9030, lock= >937, snr=23.50) SV= 3, L1 (C/A , r= 19235.50, pd= 1.8985, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 6.64, pd= 2.7080, lock= >937, snr=44.25) SV= 18, L1 (C/A , r= 31291.22, pd= 0.8120, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 6.06, pd= 1.1425, lock= >937, snr=38.00) SV= 16, L1 (C/A , r= 45278.68, pd= -4.3850, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 6.24, pd= -4.6840, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=169372.76, pd= -1.7030, lock= >937, amb=23084019.266, snr=44.00) L2 (C-P/Y, r= 7.32, pd= -1.8555, lock= >937, snr=28.75) SV= 15, L1 (C/A , r=227020.96, pd= 1.4920, lock= >937, amb=24882774.014, snr=41.50) L2 (C-P/Y, r= 7.84, pd= 0.3225, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=276010.68, pd= 1.4990, lock= >937, amb=20086094.686, snr=49.75) L2 (C-P/Y, r= 6.92, pd= 2.3530, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=255626.18, pd= -1.0945, lock= >937, amb=24882774.014, snr=39.50) L2 (C-P/Y, r= 5.24, pd= -0.6315, lock= >937, snr=15.50) SV= 19, L1 (C/A , r=256397.72, pd= 1.8670, lock= >937, amb=21285264.518, snr=48.25) L2 (C-P/Y, r= 4.84, pd= 2.8160, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=213550.64, pd= -1.1265, lock= 168, amb=24882774.014, snr=33.00) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=282487.92, pd= 0.8525, lock= >937, amb=20685679.602, snr=49.50) L2 (C-P/Y, r= 4.16, pd= 1.1175, lock= >937, snr=44.25) SV= 7, L1 (C/A , r=123326.64, pd= -0.4240, lock= 30, amb=24582981.556, snr=32.00) L2 (C-P/Y, r= 8.88, pd= -0.3775, lock= 30, snr=18.50) RTCM3 (2011-04-10T22:38:41.03 delay -26325.) Type 1012: ID= 0, Tk= 32246.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=304220.58, pd= -0.3255, lock= >937, amb=22184641.892, snr=42.00) L2 (P , r= 4.26, pd= -0.5935, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 41087.12, pd= -2.8450, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 3.16, pd= -4.0455, lock= >937, snr=40.50) SV= 22, Freq= -3, L1 (C/A, r=440075.66, pd= -44.3275, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.42, pd= 0.3960, lock= >937, snr=50.50) SV= 14, Freq= -7, L1 (C/A, r=103399.88, pd= -2.1545, lock= >937, amb=23383811.724, snr=37.75) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=243367.90, pd= -4.0615, lock= >937, amb=23383811.724, snr=34.75) L2 (P , r= 6.12, pd= -3.1700, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 87678.86, pd= 1.2575, lock= >937, amb=21585056.976, snr=44.75) L2 (P , r= 5.76, pd= 1.0765, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 19997.30, pd= -0.0215, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 1.28, pd= 1.4905, lock= >937, snr=45.50) SV= 23, Freq= 3, L1 (C/A, r=432126.26, pd= 20.7990, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.44, pd= 1.6975, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.03) Type 1006: ID= 0, Year=0, GPS=Y, GLONASS=Y, Galileo=N, X= 4581694.6288, Y= 556114.3725, Z= 4389358.4678 QC=1(no bias), height=0.0349 RTCM3 (2011-04-10T22:38:41.03) Type 1004: ID= 0, TOW=194262.000, More Data=Yes, GPS-Sats=11, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 81924.22, pd= -1.7305, lock= >937, amb=23983396.640, snr=40.00) L2 (C-P/Y, r= 7.24, pd= -2.1640, lock= >937, snr=24.50) SV= 3, L1 (C/A , r= 19164.10, pd= 1.9220, lock= >937, amb=19786302.228, snr=53.50) L2 (C-P/Y, r= 7.00, pd= 2.7310, lock= >937, snr=44.25) SV= 18, L1 (C/A , r= 31518.50, pd= 0.6245, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 5.62, pd= 0.9545, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 45810.04, pd= -4.3100, lock= >937, amb=21884849.434, snr=49.75) L2 (C-P/Y, r= 6.36, pd= -4.6100, lock= >937, snr=39.50) SV= 30, L1 (C/A , r=170103.44, pd= -1.4070, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.52, pd= -1.5605, lock= >937, snr=29.50) SV= 15, L1 (C/A , r=227095.92, pd= 1.1380, lock= >937, amb=24882774.014, snr=42.00) L2 (C-P/Y, r= 7.26, pd= -0.0310, lock= >937, snr=22.25) SV= 6, L1 (C/A , r=276055.90, pd= 1.2120, lock= >937, amb=20086094.686, snr=50.25) L2 (C-P/Y, r= 6.64, pd= 2.0675, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=255434.32, pd= -0.5475, lock= >937, amb=24882774.014, snr=39.25) L2 (C-P/Y, r= 5.56, pd= -0.0880, lock= >937, snr=17.25) SV= 19, L1 (C/A , r=255996.80, pd= 1.7555, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.48, pd= 2.7030, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=212915.86, pd= -0.2380, lock= 168, amb=24882774.014, snr=33.00) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=282326.48, pd= 0.7520, lock= >937, amb=20685679.602, snr=50.00) L2 (C-P/Y, r= 3.86, pd= 1.0160, lock= >937, snr=44.50) RTCM3 (2011-04-10T22:38:41.03 delay -26326.) Type 1012: ID= 0, Tk= 32247.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=304570.70, pd= 0.2270, lock= >937, amb=22184641.892, snr=42.25) L2 (P , r= 5.44, pd= -0.0420, lock= >937, snr=42.00) SV= 21, Freq= 4, L1 (C/A, r= 41607.58, pd= -1.6980, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 4.46, pd= -2.8995, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=440112.10, pd= -44.3870, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.60, pd= 0.3370, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=103121.82, pd= -1.9545, lock= >937, amb=23383811.724, snr=37.25) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=244108.56, pd= -3.2480, lock= >937, amb=23383811.724, snr=34.75) L2 (P , r= 6.68, pd= -2.3550, lock= >937, snr=39.75) SV= 6, Freq= -4, L1 (C/A, r= 88227.26, pd= 0.6315, lock= >937, amb=21585056.976, snr=44.50) L2 (P , r= 5.34, pd= 0.4500, lock= >937, snr=44.25) SV= 7, Freq= 5, L1 (C/A, r= 19720.48, pd= -0.5205, lock= >937, amb=19786302.228, snr=45.25) L2 (P , r= 0.32, pd= 0.9930, lock= >937, snr=45.75) SV= 23, Freq= 3, L1 (C/A, r=431607.96, pd= 20.9390, lock= >937, amb=20985472.060, snr=43.50) L2 (P , r= 7.02, pd= 1.8365, lock= >937, snr=43.75) RTCM3 (2011-04-10T22:38:41.03) Type 1013: ID= 0, MJD=55621, SOD=21447, Num= 6, Leap=15 ID=1004, Sync=1, Interval= 1.0 ID=1006, Sync=1, Interval= 10.0 ID=1008, Sync=1, Interval= 10.0 ID=1012, Sync=1, Interval= 1.0 ID=1013, Sync=1, Interval= 10.0 ID=1033, Sync=1, Interval= 10.0 RTCM3 (2011-04-10T22:38:41.03) Type 1004: ID= 0, TOW=194263.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 82451.28, pd= -1.5995, lock= >937, amb=23983396.640, snr=40.50) L2 (C-P/Y, r= 7.46, pd= -2.0350, lock= >937, snr=24.00) SV= 3, L1 (C/A , r= 19092.88, pd= 1.8285, lock= >937, amb=19786302.228, snr=53.50) L2 (C-P/Y, r= 6.80, pd= 2.6375, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 31745.68, pd= 0.6055, lock= >937, amb=21884849.434, snr=48.50) L2 (C-P/Y, r= 5.86, pd= 0.9345, lock= >937, snr=38.25) SV= 16, L1 (C/A , r= 46341.62, pd= -4.4130, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 5.80, pd= -4.7140, lock= >937, snr=39.50) SV= 30, L1 (C/A , r=170834.44, pd= -1.4400, lock= >937, amb=23084019.266, snr=43.25) L2 (C-P/Y, r= 7.50, pd= -1.5930, lock= >937, snr=29.00) SV= 15, L1 (C/A , r=227170.92, pd= 0.8160, lock= >937, amb=24882774.014, snr=41.50) L2 (C-P/Y, r= 7.02, pd= -0.3540, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=276100.52, pd= 1.5665, lock= >937, amb=20086094.686, snr=50.25) L2 (C-P/Y, r= 6.90, pd= 2.4210, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=255243.64, pd= -1.1035, lock= >937, amb=24882774.014, snr=39.75) L2 (C-P/Y, r= 4.90, pd= -0.6460, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=255595.78, pd= 1.7575, lock= >937, amb=21285264.518, snr=48.25) L2 (C-P/Y, r= 4.74, pd= 2.7060, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=212281.86, pd= -0.1410, lock= 168, amb=24882774.014, snr=33.00) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=282165.08, pd= 0.6875, lock= >937, amb=20685679.602, snr=50.00) L2 (C-P/Y, r= 4.22, pd= 0.9515, lock= >937, snr=44.50) SV= 7, L1 (C/A , r=123669.28, pd= 0.0265, lock= 0, amb=24582981.556, snr=32.50) L2 (C-P/Y, r= 8.00, pd= -0.0990, lock= 0, snr=19.50) RTCM3 (2011-04-10T22:38:41.03 delay -26327.) Type 1012: ID= 0, Tk= 32248.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=304920.62, pd= 1.0860, lock= >937, amb=22184641.892, snr=42.25) L2 (P , r= 6.78, pd= 0.8180, lock= >937, snr=42.25) SV= 21, Freq= 4, L1 (C/A, r= 42129.94, pd= -2.4330, lock= >937, amb=22184641.892, snr=40.25) L2 (P , r= 3.38, pd= -3.6345, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=440148.42, pd= -44.2760, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.90, pd= 0.4470, lock= >937, snr=51.25) SV= 14, Freq= -7, L1 (C/A, r=102844.96, pd= -2.8345, lock= >937, amb=23383811.724, snr=37.75) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=244851.44, pd= -4.6710, lock= >937, amb=23383811.724, snr=35.00) L2 (P , r= 5.60, pd= -3.7770, lock= >937, snr=40.00) SV= 6, Freq= -4, L1 (C/A, r= 88774.34, pd= 1.4100, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 6.28, pd= 1.2285, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 19443.32, pd= -0.5520, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 0.82, pd= 0.9610, lock= >937, snr=45.75) SV= 23, Freq= 3, L1 (C/A, r=431089.74, pd= 20.9945, lock= >937, amb=20985472.060, snr=43.50) L2 (P , r= 7.42, pd= 1.8930, lock= >937, snr=43.50) RTCM3 (2011-04-10T22:38:41.03) Type 1004: ID= 0, TOW=194264.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 82979.10, pd= -2.1860, lock= >937, amb=23983396.640, snr=40.75) L2 (C-P/Y, r= 6.58, pd= -2.6215, lock= >937, snr=24.75) SV= 3, L1 (C/A , r= 19021.80, pd= 1.7185, lock= >937, amb=19786302.228, snr=53.75) L2 (C-P/Y, r= 6.34, pd= 2.5260, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 31972.96, pd= 0.6130, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 5.68, pd= 0.9420, lock= >937, snr=38.25) SV= 16, L1 (C/A , r= 46873.44, pd= -4.6465, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 6.10, pd= -4.9480, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=171565.68, pd= -1.6480, lock= >937, amb=23084019.266, snr=43.25) L2 (C-P/Y, r= 7.48, pd= -1.8000, lock= >937, snr=29.25) SV= 15, L1 (C/A , r=227245.62, pd= 0.9325, lock= >937, amb=24882774.014, snr=42.00) L2 (C-P/Y, r= 7.20, pd= -0.2405, lock= >937, snr=22.25) SV= 6, L1 (C/A , r=276145.60, pd= 1.5660, lock= >937, amb=20086094.686, snr=49.50) L2 (C-P/Y, r= 6.72, pd= 2.4210, lock= >937, snr=44.00) SV= 8, L1 (C/A , r=255053.02, pd= -1.5750, lock= >937, amb=24882774.014, snr=39.75) L2 (C-P/Y, r= 4.74, pd= -1.1235, lock= >937, snr=16.25) SV= 19, L1 (C/A , r=255194.46, pd= 2.1345, lock= >937, amb=21285264.518, snr=48.25) L2 (C-P/Y, r= 4.68, pd= 3.0815, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=211647.86, pd= -0.0155, lock= 168, amb=24882774.014, snr=33.25) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=282003.58, pd= 0.8695, lock= >937, amb=20685679.602, snr=49.50) L2 (C-P/Y, r= 4.18, pd= 1.1340, lock= >937, snr=44.50) SV= 7, L1 (C/A , r=123840.92, pd= -0.4690, lock= 1, amb=24582981.556, snr=32.50) L2 (C-P/Y, r= 7.86, pd= -0.5940, lock= 1, snr=19.50) RTCM3 (2011-04-10T22:38:41.03 delay -26328.) Type 1012: ID= 0, Tk= 32249.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=305271.96, pd= 0.6830, lock= >937, amb=22184641.892, snr=41.25) L2 (P , r= 5.92, pd= 0.4175, lock= >937, snr=42.25) SV= 21, Freq= 4, L1 (C/A, r= 42650.58, pd= -1.3730, lock= >937, amb=22184641.892, snr=40.25) L2 (P , r= 4.26, pd= -2.5750, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=440184.78, pd= -44.1055, lock= >937, amb=19186717.312, snr=51.25) L2 (P , r= 5.68, pd= 0.6170, lock= >937, snr=51.25) SV= 14, Freq= -7, L1 (C/A, r=102568.00, pd= -3.4355, lock= >937, amb=23383811.724, snr=38.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=245591.18, pd= -2.9030, lock= >937, amb=23383811.724, snr=35.50) L2 (P , r= 7.28, pd= -2.0085, lock= >937, snr=39.75) SV= 6, Freq= -4, L1 (C/A, r= 89322.42, pd= 1.3350, lock= >937, amb=21585056.976, snr=45.25) L2 (P , r= 5.56, pd= 1.1540, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 19166.22, pd= -0.4480, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 1.04, pd= 1.0660, lock= >937, snr=45.50) SV= 23, Freq= 3, L1 (C/A, r=430572.08, pd= 20.5440, lock= >937, amb=20985472.060, snr=43.25) L2 (P , r= 6.98, pd= 1.4425, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.03) Type 1004: ID= 0, TOW=194265.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 83505.80, pd= -1.6170, lock= >937, amb=23983396.640, snr=41.00) L2 (C-P/Y, r= 6.96, pd= -2.0530, lock= >937, snr=24.50) SV= 3, L1 (C/A , r= 18950.76, pd= 1.6870, lock= >937, amb=19786302.228, snr=53.50) L2 (C-P/Y, r= 6.30, pd= 2.4950, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 32200.44, pd= 0.5475, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 5.86, pd= 0.8780, lock= >937, snr=38.25) SV= 16, L1 (C/A , r= 47404.98, pd= -4.5000, lock= >937, amb=21884849.434, snr=49.75) L2 (C-P/Y, r= 6.04, pd= -4.8020, lock= >937, snr=38.75) SV= 30, L1 (C/A , r=172297.00, pd= -1.8855, lock= >937, amb=23084019.266, snr=43.50) L2 (C-P/Y, r= 7.34, pd= -2.0375, lock= >937, snr=28.75) SV= 15, L1 (C/A , r=227320.26, pd= 1.2430, lock= >937, amb=24882774.014, snr=42.00) L2 (C-P/Y, r= 7.54, pd= 0.0710, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=276190.98, pd= 1.3720, lock= >937, amb=20086094.686, snr=49.50) L2 (C-P/Y, r= 6.52, pd= 2.2275, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=254860.80, pd= -0.3000, lock= >937, amb=24882774.014, snr=39.75) L2 (C-P/Y, r= 5.96, pd= 0.1480, lock= >937, snr=15.50) SV= 19, L1 (C/A , r=254793.94, pd= 1.7855, lock= >937, amb=21285264.518, snr=48.25) L2 (C-P/Y, r= 4.28, pd= 2.7330, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=211015.38, pd= -1.3670, lock= 176, amb=24882774.014, snr=33.00) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=281842.50, pd= 0.7675, lock= >937, amb=20685679.602, snr=49.25) L2 (C-P/Y, r= 4.26, pd= 1.0330, lock= >937, snr=44.50) SV= 7, L1 (C/A , r=124012.18, pd= -0.4670, lock= 2, amb=24582981.556, snr=32.00) L2 (C-P/Y, r= 7.78, pd= -0.5940, lock= 2, snr=19.25) RTCM3 (2011-04-10T22:38:41.03 delay -26329.) Type 1012: ID= 0, Tk= 32250.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=305622.50, pd= 1.2465, lock= >937, amb=22184641.892, snr=41.00) L2 (P , r= 5.72, pd= 0.9805, lock= >937, snr=42.00) SV= 21, Freq= 4, L1 (C/A, r= 43173.40, pd= -2.4240, lock= >937, amb=22184641.892, snr=40.00) L2 (P , r= 3.60, pd= -3.6260, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=440221.40, pd= -44.0830, lock= >937, amb=19186717.312, snr=51.50) L2 (P , r= 5.24, pd= 0.6390, lock= >937, snr=51.25) SV= 14, Freq= -7, L1 (C/A, r=102290.38, pd= -3.2155, lock= >937, amb=23383811.724, snr=38.25) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=246332.96, pd= -3.1375, lock= >937, amb=23383811.724, snr=35.75) L2 (P , r= 7.48, pd= -2.2430, lock= >937, snr=39.00) SV= 6, Freq= -4, L1 (C/A, r= 89870.42, pd= 1.4835, lock= >937, amb=21585056.976, snr=45.25) L2 (P , r= 5.92, pd= 1.3020, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 18889.14, pd= -0.1620, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 0.84, pd= 1.3520, lock= >937, snr=45.25) SV= 23, Freq= 3, L1 (C/A, r=430054.20, pd= 20.3620, lock= >937, amb=20985472.060, snr=43.25) L2 (P , r= 6.54, pd= 1.2605, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.03) Type 1004: ID= 0, TOW=194266.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 84032.64, pd= -1.1770, lock= >937, amb=23983396.640, snr=41.25) L2 (C-P/Y, r= 7.36, pd= -1.6125, lock= >937, snr=25.25) SV= 3, L1 (C/A , r= 18879.86, pd= 1.6070, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 6.56, pd= 2.4155, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 32427.76, pd= 0.7390, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 6.20, pd= 1.0680, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 47936.92, pd= -4.6815, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 5.78, pd= -4.9825, lock= >937, snr=38.50) SV= 30, L1 (C/A , r=173027.80, pd= -1.5780, lock= >937, amb=23084019.266, snr=43.50) L2 (C-P/Y, r= 7.62, pd= -1.7300, lock= >937, snr=29.00) SV= 15, L1 (C/A , r=227395.52, pd= 1.0405, lock= >937, amb=24882774.014, snr=42.25) L2 (C-P/Y, r= 7.00, pd= -0.1325, lock= >937, snr=22.25) SV= 6, L1 (C/A , r=276236.24, pd= 1.3715, lock= >937, amb=20086094.686, snr=50.00) L2 (C-P/Y, r= 6.80, pd= 2.2265, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=254670.88, pd= -1.2170, lock= >937, amb=24882774.014, snr=40.00) L2 (C-P/Y, r= 5.08, pd= -0.7655, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=254393.18, pd= 1.7170, lock= >937, amb=21285264.518, snr=48.00) L2 (C-P/Y, r= 4.42, pd= 2.6655, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=210381.30, pd= -1.1230, lock= 176, amb=24882774.014, snr=33.00) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=281681.50, pd= 0.6965, lock= >937, amb=20685679.602, snr=49.75) L2 (C-P/Y, r= 3.98, pd= 0.9620, lock= >937, snr=44.50) SV= 7, L1 (C/A , r=124183.96, pd= -0.8785, lock= 3, amb=24582981.556, snr=32.50) L2 (C-P/Y, r= 7.24, pd= -1.0025, lock= 3, snr=19.75) RTCM3 (2011-04-10T22:38:41.03 delay -26330.) Type 1012: ID= 0, Tk= 32251.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=305975.10, pd= -0.1180, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 5.50, pd= -0.3855, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 43694.42, pd= -1.6290, lock= >937, amb=22184641.892, snr=40.25) L2 (P , r= 4.64, pd= -2.8335, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=440258.44, pd= -44.4120, lock= >937, amb=19186717.312, snr=51.25) L2 (P , r= 4.84, pd= 0.3110, lock= >937, snr=51.50) SV= 14, Freq= -7, L1 (C/A, r=102013.26, pd= -3.3500, lock= >937, amb=23383811.724, snr=38.25) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=247074.36, pd= -2.9675, lock= >937, amb=23383811.724, snr=35.50) L2 (P , r= 7.14, pd= -2.0720, lock= >937, snr=39.25) SV= 6, Freq= -4, L1 (C/A, r= 90418.18, pd= 1.9855, lock= >937, amb=21585056.976, snr=45.50) L2 (P , r= 6.36, pd= 1.8040, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 18612.50, pd= -0.1550, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 1.54, pd= 1.3585, lock= >937, snr=45.00) SV= 23, Freq= 3, L1 (C/A, r=429536.70, pd= 19.8305, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.14, pd= 0.7285, lock= >937, snr=44.25) RTCM3 (2011-04-10T22:38:41.03) Type 1004: ID= 0, TOW=194267.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 84560.82, pd= -2.0885, lock= >937, amb=23983396.640, snr=41.00) L2 (C-P/Y, r= 6.24, pd= -2.5245, lock= >937, snr=24.75) SV= 3, L1 (C/A , r= 18808.90, pd= 1.6680, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 6.32, pd= 2.4770, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 32655.62, pd= 0.4725, lock= >937, amb=21884849.434, snr=48.75) L2 (C-P/Y, r= 5.54, pd= 0.8025, lock= >937, snr=38.75) SV= 16, L1 (C/A , r= 48468.64, pd= -4.5810, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 5.80, pd= -4.8825, lock= >937, snr=38.75) SV= 30, L1 (C/A , r=173759.42, pd= -2.0770, lock= >937, amb=23084019.266, snr=43.50) L2 (C-P/Y, r= 7.26, pd= -2.2290, lock= >937, snr=29.00) SV= 15, L1 (C/A , r=227470.34, pd= 1.3730, lock= >937, amb=24882774.014, snr=41.75) L2 (C-P/Y, r= 7.46, pd= 0.2025, lock= >937, snr=22.00) SV= 6, L1 (C/A , r=276281.44, pd= 1.4960, lock= >937, amb=20086094.686, snr=50.25) L2 (C-P/Y, r= 6.44, pd= 2.3510, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=254480.18, pd= -1.2580, lock= >937, amb=24882774.014, snr=39.75) L2 (C-P/Y, r= 5.24, pd= -0.8100, lock= >937, snr=15.50) SV= 19, L1 (C/A , r=253992.34, pd= 1.7535, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.18, pd= 2.7010, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=209747.16, pd= -0.8175, lock= 176, amb=24882774.014, snr=33.25) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=281520.64, pd= 0.5815, lock= >937, amb=20685679.602, snr=49.75) L2 (C-P/Y, r= 4.02, pd= 0.8465, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=124355.32, pd= -0.7790, lock= 4, amb=24582981.556, snr=33.00) L2 (C-P/Y, r= 7.30, pd= -0.9020, lock= 4, snr=19.25) RTCM3 (2011-04-10T22:38:41.03 delay -26331.) Type 1012: ID= 0, Tk= 32252.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=306326.18, pd= 0.1500, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 5.82, pd= -0.1185, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 44216.78, pd= -2.1455, lock= >937, amb=22184641.892, snr=40.25) L2 (P , r= 4.14, pd= -3.3495, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=440294.92, pd= -44.1210, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 4.86, pd= 0.6025, lock= >937, snr=51.50) SV= 14, Freq= -7, L1 (C/A, r=101735.40, pd= -2.6190, lock= >937, amb=23383811.724, snr=38.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=247815.74, pd= -2.7730, lock= >937, amb=23383811.724, snr=35.50) L2 (P , r= 7.48, pd= -1.8770, lock= >937, snr=39.75) SV= 6, Freq= -4, L1 (C/A, r= 90966.90, pd= 1.6280, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.84, pd= 1.4465, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 18335.96, pd= -0.1025, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 1.12, pd= 1.4100, lock= >937, snr=45.50) SV= 23, Freq= 3, L1 (C/A, r=429018.40, pd= 20.1090, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.42, pd= 1.0075, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.03) Type 1004: ID= 0, TOW=194268.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 85087.62, pd= -1.6060, lock= >937, amb=23983396.640, snr=41.25) L2 (C-P/Y, r= 7.02, pd= -2.0435, lock= >937, snr=23.75) SV= 3, L1 (C/A , r= 18737.86, pd= 1.9020, lock= >937, amb=19786302.228, snr=53.50) L2 (C-P/Y, r= 6.72, pd= 2.7105, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 32882.78, pd= 1.0100, lock= >937, amb=21884849.434, snr=48.75) L2 (C-P/Y, r= 6.40, pd= 1.3400, lock= >937, snr=38.75) SV= 16, L1 (C/A , r= 49000.32, pd= -4.3645, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 5.98, pd= -4.6665, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=174490.24, pd= -1.7435, lock= >937, amb=23084019.266, snr=43.75) L2 (C-P/Y, r= 7.40, pd= -1.8940, lock= >937, snr=29.00) SV= 15, L1 (C/A , r=227546.18, pd= 0.7905, lock= >937, amb=24882774.014, snr=42.00) L2 (C-P/Y, r= 6.66, pd= -0.3785, lock= >937, snr=22.00) SV= 6, L1 (C/A , r=276326.90, pd= 1.4285, lock= >937, amb=20086094.686, snr=49.75) L2 (C-P/Y, r= 6.88, pd= 2.2820, lock= >937, snr=44.00) SV= 8, L1 (C/A , r=254289.54, pd= -1.2450, lock= >937, amb=24882774.014, snr=39.75) L2 (C-P/Y, r= 4.80, pd= -0.7940, lock= >937, snr=16.25) SV= 19, L1 (C/A , r=253591.42, pd= 1.9225, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.64, pd= 2.8705, lock= >937, snr=40.50) SV= 11, L1 (C/A , r=209113.42, pd= -0.9010, lock= 176, amb=24882774.014, snr=33.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=281359.66, pd= 0.7020, lock= >937, amb=20685679.602, snr=49.75) L2 (C-P/Y, r= 4.16, pd= 0.9670, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=124528.12, pd= -2.0165, lock= 5, amb=24582981.556, snr=33.50) L2 (C-P/Y, r= 6.16, pd= -2.1385, lock= 5, snr=19.50) RTCM3 (2011-04-10T22:38:41.04 delay -26332.) Type 1012: ID= 0, Tk= 32253.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=306677.40, pd= 0.4200, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 6.12, pd= 0.1510, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 44738.16, pd= -1.6305, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 4.38, pd= -2.8365, lock= >937, snr=40.25) SV= 22, Freq= -3, L1 (C/A, r=440331.66, pd= -44.0135, lock= >937, amb=19186717.312, snr=51.25) L2 (P , r= 5.60, pd= 0.7085, lock= >937, snr=51.25) SV= 14, Freq= -7, L1 (C/A, r=101458.10, pd= -2.2975, lock= >937, amb=23383811.724, snr=37.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=248556.68, pd= -2.1135, lock= >937, amb=23383811.724, snr=35.25) L2 (P , r= 8.04, pd= -1.2185, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 91515.16, pd= 1.8545, lock= >937, amb=21585056.976, snr=45.50) L2 (P , r= 6.42, pd= 1.6725, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 18060.08, pd= -0.5510, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 0.20, pd= 0.9625, lock= >937, snr=45.25) SV= 23, Freq= 3, L1 (C/A, r=428499.66, pd= 20.8540, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 7.00, pd= 1.7520, lock= >937, snr=44.25) RTCM3 (2011-04-10T22:38:41.04) Type 1004: ID= 0, TOW=194269.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 85614.82, pd= -1.5025, lock= >937, amb=23983396.640, snr=41.50) L2 (C-P/Y, r= 7.30, pd= -1.9410, lock= >937, snr=24.00) SV= 3, L1 (C/A , r= 18667.14, pd= 1.9190, lock= >937, amb=19786302.228, snr=53.75) L2 (C-P/Y, r= 6.96, pd= 2.7270, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 33110.98, pd= 0.6170, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 5.90, pd= 0.9465, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 49532.38, pd= -4.4435, lock= >937, amb=21884849.434, snr=48.75) L2 (C-P/Y, r= 6.00, pd= -4.7465, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=175221.50, pd= -1.8165, lock= >937, amb=23084019.266, snr=43.50) L2 (C-P/Y, r= 7.46, pd= -1.9685, lock= >937, snr=28.75) SV= 15, L1 (C/A , r=227621.22, pd= 1.1305, lock= >937, amb=24882774.014, snr=41.75) L2 (C-P/Y, r= 7.46, pd= -0.0380, lock= >937, snr=22.75) SV= 6, L1 (C/A , r=276372.42, pd= 1.3940, lock= >937, amb=20086094.686, snr=49.50) L2 (C-P/Y, r= 6.68, pd= 2.2480, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=254098.64, pd= -0.8480, lock= >937, amb=24882774.014, snr=39.25) L2 (C-P/Y, r= 5.60, pd= -0.3970, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=253190.66, pd= 1.9825, lock= >937, amb=21285264.518, snr=48.00) L2 (C-P/Y, r= 4.30, pd= 2.9290, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=208479.00, pd= -0.2900, lock= 176, amb=24882774.014, snr=33.25) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=281198.88, pd= 0.7400, lock= >937, amb=20685679.602, snr=49.75) L2 (C-P/Y, r= 4.08, pd= 1.0045, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=124699.70, pd= -1.9325, lock= 6, amb=24582981.556, snr=33.50) L2 (C-P/Y, r= 5.74, pd= -2.0595, lock= 6, snr=20.50) RTCM3 (2011-04-10T22:38:41.04 delay -26333.) Type 1012: ID= 0, Tk= 32254.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=307028.62, pd= 0.8360, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 7.02, pd= 0.5665, lock= >937, snr=42.00) SV= 21, Freq= 4, L1 (C/A, r= 45260.84, pd= -2.3655, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 3.50, pd= -3.5710, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=440369.12, pd= -44.5440, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.10, pd= 0.1790, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=101181.18, pd= -2.2100, lock= >937, amb=23383811.724, snr=37.75) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=249300.42, pd= -4.2380, lock= >937, amb=23383811.724, snr=35.25) L2 (P , r= 6.32, pd= -3.3435, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 92063.84, pd= 1.7830, lock= >937, amb=21585056.976, snr=45.25) L2 (P , r= 6.42, pd= 1.6000, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 17783.42, pd= -0.0540, lock= >937, amb=19786302.228, snr=45.25) L2 (P , r= 1.18, pd= 1.4590, lock= >937, snr=45.25) SV= 23, Freq= 3, L1 (C/A, r=427981.68, pd= 20.8745, lock= >937, amb=20985472.060, snr=42.75) L2 (P , r= 6.56, pd= 1.7715, lock= >937, snr=44.25) RTCM3 (2011-04-10T22:38:41.04) Type 1033: ID= 0, Antenna='ASH701945E_M NONE', Setup ID= 0, Serial='24222' Receiver Type='TRIMBLE NETR5', Firmware='', Serial='' RTCM3 (2011-04-10T22:38:41.04) Type 1004: ID= 0, TOW=194270.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 86142.20, pd= -1.5550, lock= >937, amb=23983396.640, snr=41.00) L2 (C-P/Y, r= 7.10, pd= -1.9935, lock= >937, snr=24.50) SV= 3, L1 (C/A , r= 18596.78, pd= 1.6855, lock= >937, amb=19786302.228, snr=53.50) L2 (C-P/Y, r= 6.52, pd= 2.4925, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 33338.70, pd= 0.8155, lock= >937, amb=21884849.434, snr=49.75) L2 (C-P/Y, r= 5.92, pd= 1.1445, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 50064.16, pd= -4.1525, lock= >937, amb=21884849.434, snr=48.75) L2 (C-P/Y, r= 6.30, pd= -4.4550, lock= >937, snr=39.50) SV= 30, L1 (C/A , r=175952.52, pd= -1.6040, lock= >937, amb=23084019.266, snr=43.50) L2 (C-P/Y, r= 7.40, pd= -1.7575, lock= >937, snr=29.00) SV= 15, L1 (C/A , r=227696.30, pd= 1.5505, lock= >937, amb=24882774.014, snr=41.75) L2 (C-P/Y, r= 7.54, pd= 0.3785, lock= >937, snr=22.25) SV= 6, L1 (C/A , r=276418.12, pd= 1.2645, lock= >937, amb=20086094.686, snr=50.00) L2 (C-P/Y, r= 6.66, pd= 2.1180, lock= >937, snr=44.00) SV= 8, L1 (C/A , r=253908.18, pd= -0.7640, lock= >937, amb=24882774.014, snr=39.25) L2 (C-P/Y, r= 5.68, pd= -0.3060, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=252789.86, pd= 2.1450, lock= >937, amb=21285264.518, snr=47.75) L2 (C-P/Y, r= 4.76, pd= 3.0920, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=207845.84, pd= -0.9075, lock= 176, amb=24882774.014, snr=33.25) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=281038.30, pd= 0.7090, lock= >937, amb=20685679.602, snr=50.00) L2 (C-P/Y, r= 3.96, pd= 0.9735, lock= >937, snr=44.25) SV= 7, L1 (C/A , r=124871.36, pd= -1.8075, lock= 7, amb=24582981.556, snr=34.25) L2 (C-P/Y, r= 6.42, pd= -1.9330, lock= 7, snr=20.75) RTCM3 (2011-04-10T22:38:41.04 delay -26334.) Type 1012: ID= 0, Tk= 32255.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=307380.68, pd= 0.5620, lock= >937, amb=22184641.892, snr=42.00) L2 (P , r= 5.84, pd= 0.2935, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 45782.38, pd= -1.8955, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 4.52, pd= -3.1020, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=440405.58, pd= -43.9830, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.72, pd= 0.7395, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r=100905.54, pd= -3.2215, lock= >937, amb=23383811.724, snr=37.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=250040.44, pd= -2.6145, lock= >937, amb=23383811.724, snr=35.25) L2 (P , r= 7.30, pd= -1.7200, lock= >937, snr=39.25) SV= 6, Freq= -4, L1 (C/A, r= 92612.86, pd= 1.5095, lock= >937, amb=21585056.976, snr=45.25) L2 (P , r= 5.86, pd= 1.3265, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 17508.06, pd= -0.6765, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 0.50, pd= 0.8360, lock= >937, snr=45.00) SV= 23, Freq= 3, L1 (C/A, r=427464.28, pd= 20.3530, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 5.96, pd= 1.2510, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.04) Type 1008: ID= 0, Antenna='ASH701945E_M NONE', Setup ID= 0, Serial='24222' RTCM3 (2011-04-10T22:38:41.04) Type 1004: ID= 0, TOW=194271.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 86669.94, pd= -1.9640, lock= >937, amb=23983396.640, snr=40.75) L2 (C-P/Y, r= 6.36, pd= -2.4030, lock= >937, snr=25.50) SV= 3, L1 (C/A , r= 18525.96, pd= 1.9985, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 6.92, pd= 2.8065, lock= >937, snr=45.00) SV= 18, L1 (C/A , r= 33566.64, pd= 0.8855, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 6.28, pd= 1.2150, lock= >937, snr=38.25) SV= 16, L1 (C/A , r= 50596.80, pd= -4.6540, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 5.92, pd= -4.9555, lock= >937, snr=39.75) SV= 30, L1 (C/A , r=176683.86, pd= -1.6945, lock= >937, amb=23084019.266, snr=43.50) L2 (C-P/Y, r= 7.20, pd= -1.8485, lock= >937, snr=28.25) SV= 15, L1 (C/A , r=227771.98, pd= 1.4720, lock= >937, amb=24882774.014, snr=42.00) L2 (C-P/Y, r= 7.32, pd= 0.3010, lock= >937, snr=22.75) SV= 6, L1 (C/A , r=276463.74, pd= 1.2805, lock= >937, amb=20086094.686, snr=50.00) L2 (C-P/Y, r= 6.54, pd= 2.1345, lock= >937, snr=44.00) SV= 8, L1 (C/A , r=253718.82, pd= -1.6750, lock= >937, amb=24882774.014, snr=39.25) L2 (C-P/Y, r= 4.48, pd= -1.2230, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=252389.44, pd= 1.9605, lock= >937, amb=21285264.518, snr=48.00) L2 (C-P/Y, r= 4.30, pd= 2.9090, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=207211.74, pd= -0.5870, lock= 176, amb=24882774.014, snr=33.00) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=280877.68, pd= 0.8210, lock= >937, amb=20685679.602, snr=50.00) L2 (C-P/Y, r= 3.90, pd= 1.0845, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=125043.50, pd= -2.0695, lock= 8, amb=24582981.556, snr=35.25) L2 (C-P/Y, r= 5.80, pd= -2.1960, lock= 8, snr=20.00) RTCM3 (2011-04-10T22:38:41.04 delay -26335.) Type 1012: ID= 0, Tk= 32256.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=307731.36, pd= 1.7905, lock= >937, amb=22184641.892, snr=42.00) L2 (P , r= 7.50, pd= 1.5215, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 46304.72, pd= -2.1855, lock= >937, amb=22184641.892, snr=40.75) L2 (P , r= 4.12, pd= -3.3915, lock= >937, snr=40.50) SV= 22, Freq= -3, L1 (C/A, r=440442.32, pd= -43.6385, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.90, pd= 1.0840, lock= >937, snr=51.50) SV= 14, Freq= -7, L1 (C/A, r=100628.60, pd= -2.8035, lock= >937, amb=23383811.724, snr=37.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=250783.18, pd= -3.6840, lock= >937, amb=23383811.724, snr=35.50) L2 (P , r= 6.92, pd= -2.7895, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 93162.04, pd= 1.1850, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.80, pd= 1.0005, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 17232.38, pd= -0.8245, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 0.10, pd= 0.6890, lock= >937, snr=45.50) SV= 23, Freq= 3, L1 (C/A, r=426946.20, pd= 20.5230, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.40, pd= 1.4205, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.04) Type 1006: ID= 0, Year=0, GPS=Y, GLONASS=Y, Galileo=N, X= 4581694.6288, Y= 556114.3725, Z= 4389358.4678 QC=1(no bias), height=0.0349 RTCM3 (2011-04-10T22:38:41.04) Type 1004: ID= 0, TOW=194272.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 87197.32, pd= -2.0105, lock= >937, amb=23983396.640, snr=40.50) L2 (C-P/Y, r= 6.58, pd= -2.4530, lock= >937, snr=24.00) SV= 3, L1 (C/A , r= 18455.40, pd= 2.1385, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 7.30, pd= 2.9475, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 33795.18, pd= 0.4505, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 5.74, pd= 0.7800, lock= >937, snr=38.00) SV= 16, L1 (C/A , r= 51129.00, pd= -4.6480, lock= >937, amb=21884849.434, snr=48.75) L2 (C-P/Y, r= 6.00, pd= -4.9505, lock= >937, snr=39.50) SV= 30, L1 (C/A , r=177414.54, pd= -1.1020, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.68, pd= -1.2565, lock= >937, snr=28.00) SV= 15, L1 (C/A , r=227847.56, pd= 1.5955, lock= >937, amb=24882774.014, snr=41.75) L2 (C-P/Y, r= 7.64, pd= 0.4245, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=276509.18, pd= 1.5580, lock= >937, amb=20086094.686, snr=50.00) L2 (C-P/Y, r= 6.90, pd= 2.4110, lock= >937, snr=44.00) SV= 8, L1 (C/A , r=253528.06, pd= -1.0700, lock= >937, amb=24882774.014, snr=38.25) L2 (C-P/Y, r= 5.36, pd= -0.6220, lock= >937, snr=16.25) SV= 19, L1 (C/A , r=251988.76, pd= 2.0785, lock= >937, amb=21285264.518, snr=48.25) L2 (C-P/Y, r= 4.38, pd= 3.0265, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=206577.32, pd= 0.0645, lock= 176, amb=24882774.014, snr=32.75) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=280717.38, pd= 0.7245, lock= >937, amb=20685679.602, snr=50.00) L2 (C-P/Y, r= 4.26, pd= 0.9890, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=125215.92, pd= -2.5195, lock= 9, amb=24582981.556, snr=36.00) L2 (C-P/Y, r= 5.08, pd= -2.6465, lock= 9, snr=20.50) RTCM3 (2011-04-10T22:38:41.04 delay -26336.) Type 1012: ID= 0, Tk= 32257.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=308083.86, pd= 1.3280, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 7.10, pd= 1.0600, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 46825.98, pd= -1.3640, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 4.68, pd= -2.5715, lock= >937, snr=40.25) SV= 22, Freq= -3, L1 (C/A, r=440480.46, pd= -44.6205, lock= >937, amb=19186717.312, snr=50.75) L2 (P , r= 5.18, pd= 0.1020, lock= >937, snr=51.25) SV= 14, Freq= -7, L1 (C/A, r=100352.42, pd= -2.9985, lock= >937, amb=23383811.724, snr=38.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=251522.42, pd= -1.2375, lock= >937, amb=23383811.724, snr=35.50) L2 (P , r= 9.28, pd= -0.3435, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 93711.40, pd= 0.7890, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.48, pd= 0.6045, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 16956.64, pd= -0.7610, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 0.38, pd= 0.7520, lock= >937, snr=45.50) SV= 23, Freq= 3, L1 (C/A, r=426428.50, pd= 20.3355, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.24, pd= 1.2325, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.04) Type 1013: ID= 0, MJD=55621, SOD=21457, Num= 6, Leap=15 ID=1004, Sync=1, Interval= 1.0 ID=1006, Sync=1, Interval= 10.0 ID=1008, Sync=1, Interval= 10.0 ID=1012, Sync=1, Interval= 1.0 ID=1013, Sync=1, Interval= 10.0 ID=1033, Sync=1, Interval= 10.0 RTCM3 (2011-04-10T22:38:41.04) Type 1004: ID= 0, TOW=194273.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 87723.92, pd= -1.2615, lock= >937, amb=23983396.640, snr=40.50) L2 (C-P/Y, r= 7.10, pd= -1.7055, lock= >937, snr=25.00) SV= 3, L1 (C/A , r= 18385.42, pd= 1.8000, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 7.04, pd= 2.6080, lock= >937, snr=44.75) SV= 18, L1 (C/A , r= 34023.28, pd= 0.5605, lock= >937, amb=21884849.434, snr=48.50) L2 (C-P/Y, r= 6.32, pd= 0.8895, lock= >937, snr=38.00) SV= 16, L1 (C/A , r= 51661.12, pd= -4.4805, lock= >937, amb=21884849.434, snr=48.25) L2 (C-P/Y, r= 6.02, pd= -4.7825, lock= >937, snr=39.50) SV= 30, L1 (C/A , r=178145.90, pd= -1.1585, lock= >937, amb=23084019.266, snr=42.75) L2 (C-P/Y, r= 7.90, pd= -1.3130, lock= >937, snr=28.00) SV= 15, L1 (C/A , r=227923.64, pd= 1.3315, lock= >937, amb=24882774.014, snr=41.75) L2 (C-P/Y, r= 7.58, pd= 0.1615, lock= >937, snr=24.50) SV= 6, L1 (C/A , r=276555.06, pd= 1.4710, lock= >937, amb=20086094.686, snr=50.50) L2 (C-P/Y, r= 6.92, pd= 2.3245, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=253338.32, pd= -1.3785, lock= >937, amb=24882774.014, snr=38.75) L2 (C-P/Y, r= 4.98, pd= -0.9350, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=251588.82, pd= 1.5045, lock= >937, amb=21285264.518, snr=48.00) L2 (C-P/Y, r= 3.84, pd= 2.4520, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=205943.78, pd= -0.1720, lock= 184, amb=24882774.014, snr=32.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=280557.44, pd= 0.3830, lock= >937, amb=20685679.602, snr=50.50) L2 (C-P/Y, r= 3.72, pd= 0.6470, lock= >937, snr=44.25) SV= 7, L1 (C/A , r=125388.54, pd= -3.0520, lock= 10, amb=24582981.556, snr=35.75) L2 (C-P/Y, r= 5.00, pd= -3.1760, lock= 10, snr=21.50) RTCM3 (2011-04-10T22:38:41.04 delay -26337.) Type 1012: ID= 0, Tk= 32258.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=308436.38, pd= 0.9815, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 6.54, pd= 0.7135, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 47349.22, pd= -2.4625, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 3.30, pd= -3.6695, lock= >937, snr=40.50) SV= 22, Freq= -3, L1 (C/A, r=440517.28, pd= -44.2015, lock= >937, amb=19186717.312, snr=50.50) L2 (P , r= 5.24, pd= 0.5200, lock= >937, snr=51.25) SV= 14, Freq= -7, L1 (C/A, r=100077.32, pd= -4.1325, lock= >937, amb=23383811.724, snr=37.75) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=252265.04, pd= -2.1540, lock= >937, amb=23383811.724, snr=35.00) L2 (P , r= 8.18, pd= -1.2590, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 94259.98, pd= 1.2930, lock= >937, amb=21585056.976, snr=44.75) L2 (P , r= 5.92, pd= 1.1080, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 16680.88, pd= -0.5280, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 0.50, pd= 0.9845, lock= >937, snr=45.00) SV= 23, Freq= 3, L1 (C/A, r=425910.44, pd= 20.5380, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.26, pd= 1.4355, lock= >937, snr=43.75) RTCM3 (2011-04-10T22:38:41.04) Type 1004: ID= 0, TOW=194274.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 88251.58, pd= -1.5445, lock= >937, amb=23983396.640, snr=40.25) L2 (C-P/Y, r= 7.10, pd= -1.9880, lock= >937, snr=24.50) SV= 3, L1 (C/A , r= 18315.12, pd= 1.8885, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.60, pd= 2.6960, lock= >937, snr=44.75) SV= 18, L1 (C/A , r= 34251.34, pd= 0.8255, lock= >937, amb=21884849.434, snr=48.25) L2 (C-P/Y, r= 6.06, pd= 1.1555, lock= >937, snr=38.00) SV= 16, L1 (C/A , r= 52193.28, pd= -4.2585, lock= >937, amb=21884849.434, snr=48.75) L2 (C-P/Y, r= 6.34, pd= -4.5615, lock= >937, snr=39.25) SV= 30, L1 (C/A , r=178877.40, pd= -1.3075, lock= >937, amb=23084019.266, snr=42.50) L2 (C-P/Y, r= 7.66, pd= -1.4635, lock= >937, snr=28.50) SV= 15, L1 (C/A , r=227999.74, pd= 1.1765, lock= >937, amb=24882774.014, snr=42.00) L2 (C-P/Y, r= 7.34, pd= 0.0040, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=276600.92, pd= 1.4960, lock= >937, amb=20086094.686, snr=51.00) L2 (C-P/Y, r= 6.84, pd= 2.3500, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=253148.04, pd= -1.0135, lock= >937, amb=24882774.014, snr=38.50) L2 (C-P/Y, r= 5.48, pd= -0.5665, lock= >937, snr=16.25) SV= 19, L1 (C/A , r=251188.36, pd= 1.5135, lock= >937, amb=21285264.518, snr=48.00) L2 (C-P/Y, r= 4.04, pd= 2.4610, lock= >937, snr=40.50) SV= 11, L1 (C/A , r=205310.62, pd= -0.7490, lock= 184, amb=24882774.014, snr=33.00) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=280396.96, pd= 0.7120, lock= >937, amb=20685679.602, snr=50.75) L2 (C-P/Y, r= 4.08, pd= 0.9765, lock= >937, snr=44.50) SV= 7, L1 (C/A , r=125559.62, pd= -1.9410, lock= 11, amb=24582981.556, snr=36.50) L2 (C-P/Y, r= 6.16, pd= -2.0615, lock= 11, snr=21.00) RTCM3 (2011-04-10T22:38:41.04 delay -26338.) Type 1012: ID= 0, Tk= 32259.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=308788.84, pd= 0.8445, lock= >937, amb=22184641.892, snr=42.25) L2 (P , r= 6.76, pd= 0.5735, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 47870.86, pd= -1.9025, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 4.60, pd= -3.1105, lock= >937, snr=40.50) SV= 22, Freq= -3, L1 (C/A, r=440554.40, pd= -43.9905, lock= >937, amb=19186717.312, snr=50.50) L2 (P , r= 4.70, pd= 0.7310, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r= 99799.66, pd= -2.5425, lock= >937, amb=23383811.724, snr=38.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=253006.24, pd= -1.6275, lock= >937, amb=23383811.724, snr=35.00) L2 (P , r= 8.38, pd= -0.7320, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 94808.84, pd= 1.6560, lock= >937, amb=21585056.976, snr=44.50) L2 (P , r= 6.52, pd= 1.4710, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 16405.68, pd= -0.6925, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 0.50, pd= 0.8205, lock= >937, snr=45.00) SV= 23, Freq= 3, L1 (C/A, r=425392.80, pd= 20.3630, lock= >937, amb=20985472.060, snr=42.75) L2 (P , r= 6.64, pd= 1.2600, lock= >937, snr=44.25) RTCM3 (2011-04-10T22:38:41.04) Type 1004: ID= 0, TOW=194275.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 88778.82, pd= -1.3935, lock= >937, amb=23983396.640, snr=40.50) L2 (C-P/Y, r= 7.12, pd= -1.8365, lock= >937, snr=24.00) SV= 3, L1 (C/A , r= 18244.98, pd= 1.9190, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 6.94, pd= 2.7265, lock= >937, snr=44.25) SV= 18, L1 (C/A , r= 34480.00, pd= 0.5925, lock= >937, amb=21884849.434, snr=48.50) L2 (C-P/Y, r= 6.04, pd= 0.9210, lock= >937, snr=38.25) SV= 16, L1 (C/A , r= 52725.84, pd= -4.3600, lock= >937, amb=21884849.434, snr=48.75) L2 (C-P/Y, r= 6.24, pd= -4.6635, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=179608.78, pd= -1.2990, lock= >937, amb=23084019.266, snr=42.75) L2 (C-P/Y, r= 7.74, pd= -1.4550, lock= >937, snr=28.75) SV= 15, L1 (C/A , r=228075.06, pd= 1.9105, lock= >937, amb=24882774.014, snr=42.00) L2 (C-P/Y, r= 7.84, pd= 0.7380, lock= >937, snr=22.75) SV= 6, L1 (C/A , r=276646.80, pd= 1.5840, lock= >937, amb=20086094.686, snr=50.75) L2 (C-P/Y, r= 6.90, pd= 2.4375, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=252957.82, pd= -0.5905, lock= >937, amb=24882774.014, snr=38.00) L2 (C-P/Y, r= 5.78, pd= -0.1425, lock= >937, snr=17.25) SV= 19, L1 (C/A , r=250787.98, pd= 1.4895, lock= >937, amb=21285264.518, snr=48.25) L2 (C-P/Y, r= 3.98, pd= 2.4365, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=204676.68, pd= -0.5280, lock= 184, amb=24882774.014, snr=32.75) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=280236.84, pd= 0.7970, lock= >937, amb=20685679.602, snr=50.75) L2 (C-P/Y, r= 4.18, pd= 1.0615, lock= >937, snr=44.50) SV= 7, L1 (C/A , r=125732.34, pd= -2.3595, lock= 12, amb=24582981.556, snr=36.75) L2 (C-P/Y, r= 5.22, pd= -2.4775, lock= 12, snr=21.50) RTCM3 (2011-04-10T22:38:41.05 delay -26339.) Type 1012: ID= 0, Tk= 32260.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=309141.58, pd= 0.5625, lock= >937, amb=22184641.892, snr=42.50) L2 (P , r= 6.70, pd= 0.2915, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 48392.26, pd= -1.0545, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 5.06, pd= -2.2630, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=440592.42, pd= -44.5965, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 4.90, pd= 0.1245, lock= >937, snr=50.50) SV= 14, Freq= -7, L1 (C/A, r= 99524.02, pd= -2.8170, lock= >937, amb=23383811.724, snr=38.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=253749.90, pd= -3.5295, lock= >937, amb=23383811.724, snr=35.00) L2 (P , r= 6.72, pd= -2.6340, lock= >937, snr=40.00) SV= 6, Freq= -4, L1 (C/A, r= 95358.86, pd= 0.9790, lock= >937, amb=21585056.976, snr=44.50) L2 (P , r= 5.72, pd= 0.7945, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 16129.72, pd= 0.0540, lock= >937, amb=19786302.228, snr=45.25) L2 (P , r= 1.18, pd= 1.5665, lock= >937, snr=45.00) SV= 23, Freq= 3, L1 (C/A, r=424874.72, pd= 20.6615, lock= >937, amb=20985472.060, snr=42.75) L2 (P , r= 6.44, pd= 1.5585, lock= >937, snr=44.50) RTCM3 (2011-04-10T22:38:41.05) Type 1004: ID= 0, TOW=194276.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 89306.14, pd= -1.3115, lock= >937, amb=23983396.640, snr=40.00) L2 (C-P/Y, r= 6.96, pd= -1.7545, lock= >937, snr=24.50) SV= 3, L1 (C/A , r= 18175.06, pd= 1.8215, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 6.60, pd= 2.6285, lock= >937, snr=44.25) SV= 18, L1 (C/A , r= 34708.36, pd= 0.7570, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 6.14, pd= 1.0855, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 53258.48, pd= -4.4645, lock= >937, amb=21884849.434, snr=48.75) L2 (C-P/Y, r= 6.16, pd= -4.7670, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=180340.50, pd= -1.6160, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.48, pd= -1.7730, lock= >937, snr=29.50) SV= 15, L1 (C/A , r=228152.40, pd= 0.7335, lock= >937, amb=24882774.014, snr=42.50) L2 (C-P/Y, r= 6.98, pd= -0.4355, lock= >937, snr=22.75) SV= 6, L1 (C/A , r=276692.70, pd= 1.7300, lock= >937, amb=20086094.686, snr=51.25) L2 (C-P/Y, r= 7.70, pd= 2.5820, lock= >937, snr=44.00) SV= 8, L1 (C/A , r=252768.10, pd= -0.5485, lock= >937, amb=24882774.014, snr=37.25) L2 (C-P/Y, r= 6.00, pd= -0.1025, lock= >937, snr=16.25) SV= 19, L1 (C/A , r=250387.36, pd= 1.7515, lock= >937, amb=21285264.518, snr=48.00) L2 (C-P/Y, r= 4.88, pd= 2.6990, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=204042.48, pd= -0.0390, lock= 184, amb=24882774.014, snr=32.75) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=280076.92, pd= 0.7950, lock= >937, amb=20685679.602, snr=51.00) L2 (C-P/Y, r= 4.04, pd= 1.0590, lock= >937, snr=44.25) SV= 7, L1 (C/A , r=125904.86, pd= -2.4690, lock= 13, amb=24582981.556, snr=36.75) L2 (C-P/Y, r= 5.38, pd= -2.5865, lock= 13, snr=22.00) RTCM3 (2011-04-10T22:38:41.05 delay -26340.) Type 1012: ID= 0, Tk= 32261.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=309494.20, pd= 0.5325, lock= >937, amb=22184641.892, snr=42.25) L2 (P , r= 6.08, pd= 0.2610, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 48915.60, pd= -2.0945, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 4.12, pd= -3.3030, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=440629.48, pd= -44.1665, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.52, pd= 0.5555, lock= >937, snr=50.50) SV= 14, Freq= -7, L1 (C/A, r= 99248.36, pd= -2.9300, lock= >937, amb=23383811.724, snr=37.75) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=254491.90, pd= -3.7605, lock= >937, amb=23383811.724, snr=35.25) L2 (P , r= 6.88, pd= -2.8655, lock= >937, snr=39.75) SV= 6, Freq= -4, L1 (C/A, r= 95907.82, pd= 1.4805, lock= >937, amb=21585056.976, snr=44.50) L2 (P , r= 6.38, pd= 1.2945, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 15854.92, pd= -0.2100, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 1.48, pd= 1.3025, lock= >937, snr=45.00) SV= 23, Freq= 3, L1 (C/A, r=424357.02, pd= 20.6090, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.48, pd= 1.5060, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.05) Type 1004: ID= 0, TOW=194277.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 89834.18, pd= -1.9205, lock= >937, amb=23983396.640, snr=40.25) L2 (C-P/Y, r= 6.70, pd= -2.3630, lock= >937, snr=24.25) SV= 3, L1 (C/A , r= 18105.18, pd= 1.7935, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 6.66, pd= 2.6015, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 34937.34, pd= 0.4185, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 5.64, pd= 0.7460, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 53791.14, pd= -4.4995, lock= >937, amb=21884849.434, snr=48.75) L2 (C-P/Y, r= 6.02, pd= -4.8030, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=181071.72, pd= -1.3790, lock= >937, amb=23084019.266, snr=43.25) L2 (C-P/Y, r= 7.60, pd= -1.5360, lock= >937, snr=29.25) SV= 15, L1 (C/A , r=228227.48, pd= 1.9445, lock= >937, amb=24882774.014, snr=42.00) L2 (C-P/Y, r= 8.22, pd= 0.7755, lock= >937, snr=22.25) SV= 6, L1 (C/A , r=276739.02, pd= 1.5420, lock= >937, amb=20086094.686, snr=51.50) L2 (C-P/Y, r= 6.84, pd= 2.3940, lock= >937, snr=43.75) SV= 8, L1 (C/A , r=252577.92, pd= 0.0805, lock= >937, amb=24882774.014, snr=36.25) L2 (C-P/Y, r= 6.30, pd= 0.5290, lock= >937, snr=17.25) SV= 19, L1 (C/A , r=249987.20, pd= 1.6160, lock= >937, amb=21285264.518, snr=47.75) L2 (C-P/Y, r= 4.36, pd= 2.5630, lock= >937, snr=41.25) SV= 11, L1 (C/A , r=203409.18, pd= -0.4385, lock= 184, amb=24882774.014, snr=32.75) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=279917.20, pd= 0.7225, lock= >937, amb=20685679.602, snr=51.50) L2 (C-P/Y, r= 4.22, pd= 0.9860, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=126075.76, pd= -0.8415, lock= 14, amb=24582981.556, snr=36.25) L2 (C-P/Y, r= 7.32, pd= -0.9590, lock= 14, snr=22.75) RTCM3 (2011-04-10T22:38:41.05 delay -26341.) Type 1012: ID= 0, Tk= 32262.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=309845.70, pd= 1.7765, lock= >937, amb=22184641.892, snr=42.00) L2 (P , r= 7.36, pd= 1.5070, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 49437.90, pd= -2.0265, lock= >937, amb=22184641.892, snr=40.75) L2 (P , r= 4.24, pd= -3.2360, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=440667.24, pd= -44.3450, lock= >937, amb=19186717.312, snr=50.75) L2 (P , r= 5.18, pd= 0.3760, lock= >937, snr=50.75) SV= 14, Freq= -7, L1 (C/A, r= 98973.00, pd= -3.1730, lock= >937, amb=23383811.724, snr=38.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=255232.68, pd= -2.7260, lock= >937, amb=23383811.724, snr=35.00) L2 (P , r= 8.06, pd= -1.8320, lock= >937, snr=39.75) SV= 6, Freq= -4, L1 (C/A, r= 96457.88, pd= 1.0105, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 5.66, pd= 0.8240, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 15580.46, pd= -0.6390, lock= >937, amb=19786302.228, snr=45.25) L2 (P , r= 0.58, pd= 0.8740, lock= >937, snr=45.00) SV= 23, Freq= 3, L1 (C/A, r=423839.84, pd= 20.0720, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 5.78, pd= 0.9690, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.05) Type 1004: ID= 0, TOW=194278.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 90361.34, pd= -1.6650, lock= >937, amb=23983396.640, snr=40.50) L2 (C-P/Y, r= 6.86, pd= -2.1120, lock= >937, snr=23.25) SV= 3, L1 (C/A , r= 18035.28, pd= 1.8630, lock= >937, amb=19786302.228, snr=52.50) L2 (C-P/Y, r= 6.78, pd= 2.6705, lock= >937, snr=44.75) SV= 18, L1 (C/A , r= 35165.64, pd= 0.8475, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 6.10, pd= 1.1750, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 54323.78, pd= -4.4530, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 6.18, pd= -4.7560, lock= >937, snr=39.25) SV= 30, L1 (C/A , r=181803.38, pd= -1.5720, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.40, pd= -1.7280, lock= >937, snr=29.00) SV= 15, L1 (C/A , r=228304.04, pd= 1.7680, lock= >937, amb=24882774.014, snr=42.00) L2 (C-P/Y, r= 7.68, pd= 0.5965, lock= >937, snr=22.75) SV= 6, L1 (C/A , r=276785.50, pd= 1.2560, lock= >937, amb=20086094.686, snr=52.00) L2 (C-P/Y, r= 6.68, pd= 2.1090, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=252389.32, pd= -0.7770, lock= >937, amb=24882774.014, snr=36.75) L2 (C-P/Y, r= 5.46, pd= -0.3320, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=249586.86, pd= 1.6915, lock= >937, amb=21285264.518, snr=48.00) L2 (C-P/Y, r= 4.16, pd= 2.6380, lock= >937, snr=41.50) SV= 11, L1 (C/A , r=202775.72, pd= -0.6615, lock= 184, amb=24882774.014, snr=33.00) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=279757.48, pd= 0.7455, lock= >937, amb=20685679.602, snr=51.25) L2 (C-P/Y, r= 3.86, pd= 1.0095, lock= >937, snr=44.25) SV= 7, L1 (C/A , r=126248.44, pd= -0.9205, lock= 15, amb=24582981.556, snr=35.50) L2 (C-P/Y, r= 7.12, pd= -1.0400, lock= 15, snr=22.00) RTCM3 (2011-04-10T22:38:41.05 delay -26342.) Type 1012: ID= 0, Tk= 32263.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=310199.76, pd= 0.5800, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 6.34, pd= 0.3100, lock= >937, snr=41.75) SV= 21, Freq= 4, L1 (C/A, r= 49960.36, pd= -2.0865, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 3.92, pd= -3.2960, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=440704.84, pd= -44.3060, lock= >937, amb=19186717.312, snr=50.75) L2 (P , r= 4.94, pd= 0.4150, lock= >937, snr=50.75) SV= 14, Freq= -7, L1 (C/A, r= 98696.96, pd= -2.6025, lock= >937, amb=23383811.724, snr=38.50) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=255974.08, pd= -2.3085, lock= >937, amb=23383811.724, snr=35.25) L2 (P , r= 8.02, pd= -1.4150, lock= >937, snr=39.25) SV= 6, Freq= -4, L1 (C/A, r= 97006.92, pd= 1.6660, lock= >937, amb=21585056.976, snr=44.75) L2 (P , r= 6.04, pd= 1.4800, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 15305.70, pd= -0.6185, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 0.90, pd= 0.8955, lock= >937, snr=45.00) SV= 23, Freq= 3, L1 (C/A, r=423321.76, pd= 20.4495, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.58, pd= 1.3470, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.05) Type 1004: ID= 0, TOW=194279.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 90888.36, pd= -1.2535, lock= >937, amb=23983396.640, snr=40.25) L2 (C-P/Y, r= 7.00, pd= -1.7005, lock= >937, snr=23.25) SV= 3, L1 (C/A , r= 17965.82, pd= 1.5865, lock= >937, amb=19786302.228, snr=52.75) L2 (C-P/Y, r= 6.52, pd= 2.3930, lock= >937, snr=44.75) SV= 18, L1 (C/A , r= 35394.50, pd= 0.8120, lock= >937, amb=21884849.434, snr=49.75) L2 (C-P/Y, r= 6.08, pd= 1.1395, lock= >937, snr=38.25) SV= 16, L1 (C/A , r= 54856.60, pd= -4.5110, lock= >937, amb=21884849.434, snr=48.75) L2 (C-P/Y, r= 6.10, pd= -4.8150, lock= >937, snr=39.25) SV= 30, L1 (C/A , r=182535.28, pd= -1.9825, lock= >937, amb=23084019.266, snr=43.50) L2 (C-P/Y, r= 7.22, pd= -2.1395, lock= >937, snr=29.25) SV= 15, L1 (C/A , r=228380.94, pd= 1.3535, lock= >937, amb=24882774.014, snr=42.00) L2 (C-P/Y, r= 7.78, pd= 0.1815, lock= >937, snr=22.00) SV= 6, L1 (C/A , r=276831.56, pd= 1.4680, lock= >937, amb=20086094.686, snr=51.50) L2 (C-P/Y, r= 6.56, pd= 2.3210, lock= >937, snr=44.50) SV= 8, L1 (C/A , r=252200.02, pd= -0.8185, lock= >937, amb=24882774.014, snr=36.00) L2 (C-P/Y, r= 5.48, pd= -0.3790, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=249186.70, pd= 1.6275, lock= >937, amb=21285264.518, snr=47.75) L2 (C-P/Y, r= 4.38, pd= 2.5735, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=202141.78, pd= -0.4075, lock= 184, amb=24882774.014, snr=33.00) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=279597.76, pd= 0.8820, lock= >937, amb=20685679.602, snr=51.00) L2 (C-P/Y, r= 4.06, pd= 1.1460, lock= >937, snr=44.50) SV= 7, L1 (C/A , r=126421.52, pd= -1.2760, lock= 16, amb=24582981.556, snr=35.50) L2 (C-P/Y, r= 7.08, pd= -1.3950, lock= 16, snr=22.50) RTCM3 (2011-04-10T22:38:41.05 delay -26342.) Type 1012: ID= 0, Tk= 32264.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=310552.50, pd= 0.8355, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 6.28, pd= 0.5650, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 50482.58, pd= -1.8655, lock= >937, amb=22184641.892, snr=40.75) L2 (P , r= 4.36, pd= -3.0755, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=440742.68, pd= -44.4310, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.16, pd= 0.2900, lock= >937, snr=50.75) SV= 14, Freq= -7, L1 (C/A, r= 98422.10, pd= -3.0765, lock= >937, amb=23383811.724, snr=39.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=256715.50, pd= -1.8965, lock= >937, amb=23383811.724, snr=34.75) L2 (P , r= 8.30, pd= -1.0030, lock= >937, snr=39.75) SV= 6, Freq= -4, L1 (C/A, r= 97556.84, pd= 1.5525, lock= >937, amb=21585056.976, snr=44.75) L2 (P , r= 5.64, pd= 1.3670, lock= >937, snr=44.25) SV= 7, Freq= 5, L1 (C/A, r= 15030.18, pd= 0.3310, lock= >937, amb=19786302.228, snr=44.50) L2 (P , r= 1.88, pd= 1.8440, lock= >937, snr=45.25) SV= 23, Freq= 3, L1 (C/A, r=422804.24, pd= 20.2915, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.46, pd= 1.1895, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.05) Type 1033: ID= 0, Antenna='ASH701945E_M NONE', Setup ID= 0, Serial='24222' Receiver Type='TRIMBLE NETR5', Firmware='', Serial='' RTCM3 (2011-04-10T22:38:41.05) Type 1004: ID= 0, TOW=194280.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 91416.10, pd= -1.5370, lock= >937, amb=23983396.640, snr=39.75) L2 (C-P/Y, r= 7.24, pd= -1.9860, lock= >937, snr=24.25) SV= 3, L1 (C/A , r= 17896.24, pd= 1.5375, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.58, pd= 2.3445, lock= >937, snr=45.00) SV= 18, L1 (C/A , r= 35623.62, pd= 0.6280, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 6.22, pd= 0.9555, lock= >937, snr=38.25) SV= 16, L1 (C/A , r= 55389.32, pd= -4.3845, lock= >937, amb=21884849.434, snr=49.00) L2 (C-P/Y, r= 5.86, pd= -4.6890, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=183266.58, pd= -1.7520, lock= >937, amb=23084019.266, snr=43.25) L2 (C-P/Y, r= 7.30, pd= -1.9110, lock= >937, snr=29.25) SV= 15, L1 (C/A , r=228457.36, pd= 1.5385, lock= >937, amb=24882774.014, snr=42.00) L2 (C-P/Y, r= 7.36, pd= 0.3660, lock= >937, snr=22.75) SV= 6, L1 (C/A , r=276877.94, pd= 1.4460, lock= >937, amb=20086094.686, snr=51.25) L2 (C-P/Y, r= 6.82, pd= 2.2990, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=252010.54, pd= -0.5565, lock= >937, amb=24882774.014, snr=36.00) L2 (C-P/Y, r= 6.28, pd= -0.1130, lock= >937, snr=15.50) SV= 19, L1 (C/A , r=248786.50, pd= 1.6625, lock= >937, amb=21285264.518, snr=48.00) L2 (C-P/Y, r= 4.22, pd= 2.6095, lock= >937, snr=41.25) SV= 11, L1 (C/A , r=201508.26, pd= -0.5545, lock= 184, amb=24882774.014, snr=33.00) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=279438.60, pd= 0.5790, lock= >937, amb=20685679.602, snr=51.50) L2 (C-P/Y, r= 4.22, pd= 0.8425, lock= >937, snr=44.50) SV= 7, L1 (C/A , r=126594.80, pd= -1.7380, lock= 17, amb=24582981.556, snr=36.00) L2 (C-P/Y, r= 6.60, pd= -1.8580, lock= 17, snr=22.25) RTCM3 (2011-04-10T22:38:41.05 delay -26343.) Type 1012: ID= 0, Tk= 32265.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=310906.08, pd= 0.4005, lock= >937, amb=22184641.892, snr=41.75) L2 (P , r= 6.00, pd= 0.1290, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 51004.08, pd= -0.8640, lock= >937, amb=22184641.892, snr=40.75) L2 (P , r= 5.14, pd= -2.0740, lock= >937, snr=40.75) SV= 22, Freq= -3, L1 (C/A, r=440780.00, pd= -43.9540, lock= >937, amb=19186717.312, snr=50.75) L2 (P , r= 5.06, pd= 0.7665, lock= >937, snr=50.75) SV= 14, Freq= -7, L1 (C/A, r= 98147.28, pd= -3.4285, lock= >937, amb=23383811.724, snr=39.25) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=257457.80, pd= -2.3325, lock= >937, amb=23383811.724, snr=35.00) L2 (P , r= 7.76, pd= -1.4395, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 98107.12, pd= 1.2130, lock= >937, amb=21585056.976, snr=45.00) L2 (P , r= 6.26, pd= 1.0270, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 14755.70, pd= 0.4105, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 1.56, pd= 1.9240, lock= >937, snr=45.25) SV= 23, Freq= 3, L1 (C/A, r=422286.30, pd= 20.5915, lock= >937, amb=20985472.060, snr=43.25) L2 (P , r= 5.88, pd= 1.4900, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.05) Type 1008: ID= 0, Antenna='ASH701945E_M NONE', Setup ID= 0, Serial='24222' RTCM3 (2011-04-10T22:38:41.05) Type 1004: ID= 0, TOW=194281.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 91943.74, pd= -1.6965, lock= >937, amb=23983396.640, snr=40.50) L2 (C-P/Y, r= 6.84, pd= -2.1450, lock= >937, snr=23.75) SV= 3, L1 (C/A , r= 17826.36, pd= 1.9010, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 6.84, pd= 2.7070, lock= >937, snr=44.75) SV= 18, L1 (C/A , r= 35852.64, pd= 0.6610, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 6.22, pd= 0.9880, lock= >937, snr=38.25) SV= 16, L1 (C/A , r= 55922.64, pd= -4.7635, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 5.58, pd= -5.0680, lock= >937, snr=38.50) SV= 30, L1 (C/A , r=183997.52, pd= -1.1150, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 8.38, pd= -1.2730, lock= >937, snr=27.50) SV= 15, L1 (C/A , r=228534.80, pd= 0.8345, lock= >937, amb=24882774.014, snr=42.50) L2 (C-P/Y, r= 6.82, pd= -0.3400, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=276924.44, pd= 1.3995, lock= >937, amb=20086094.686, snr=51.50) L2 (C-P/Y, r= 6.88, pd= 2.2510, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=251821.64, pd= -0.7340, lock= >937, amb=24882774.014, snr=35.75) L2 (C-P/Y, r= 5.72, pd= -0.2845, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=248386.40, pd= 1.6620, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.44, pd= 2.6095, lock= >937, snr=41.25) SV= 11, L1 (C/A , r=200875.38, pd= -1.3255, lock= 192, amb=24882774.014, snr=32.25) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=279279.20, pd= 0.6475, lock= >937, amb=20685679.602, snr=51.75) L2 (C-P/Y, r= 4.24, pd= 0.9120, lock= >937, snr=44.75) SV= 7, L1 (C/A , r=126767.58, pd= -1.5765, lock= 18, amb=24582981.556, snr=36.00) L2 (C-P/Y, r= 6.82, pd= -1.6950, lock= 18, snr=22.00) RTCM3 (2011-04-10T22:38:41.05 delay -26344.) Type 1012: ID= 0, Tk= 32266.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=311259.80, pd= -0.0240, lock= >937, amb=22184641.892, snr=42.00) L2 (P , r= 5.60, pd= -0.2985, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 51527.38, pd= -1.6015, lock= >937, amb=22184641.892, snr=40.75) L2 (P , r= 4.98, pd= -2.8125, lock= >937, snr=41.50) SV= 22, Freq= -3, L1 (C/A, r=440817.96, pd= -44.0250, lock= >937, amb=19186717.312, snr=50.75) L2 (P , r= 5.88, pd= 0.6940, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r= 97871.48, pd= -2.6375, lock= >937, amb=23383811.724, snr=39.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=258200.44, pd= -3.0635, lock= >937, amb=23383811.724, snr=35.25) L2 (P , r= 6.82, pd= -2.1710, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 98657.00, pd= 1.3990, lock= >937, amb=21585056.976, snr=44.25) L2 (P , r= 5.94, pd= 1.2120, lock= >937, snr=44.50) SV= 7, Freq= 5, L1 (C/A, r= 14482.02, pd= -0.1270, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 1.16, pd= 1.3870, lock= >937, snr=45.00) SV= 23, Freq= 3, L1 (C/A, r=421769.00, pd= 20.2945, lock= >937, amb=20985472.060, snr=43.50) L2 (P , r= 6.78, pd= 1.1935, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.05) Type 1006: ID= 0, Year=0, GPS=Y, GLONASS=Y, Galileo=N, X= 4581694.6288, Y= 556114.3725, Z= 4389358.4678 QC=1(no bias), height=0.0349 RTCM3 (2011-04-10T22:38:41.05) Type 1004: ID= 0, TOW=194282.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 92471.32, pd= -1.7985, lock= >937, amb=23983396.640, snr=40.50) L2 (C-P/Y, r= 6.88, pd= -2.2485, lock= >937, snr=24.00) SV= 3, L1 (C/A , r= 17757.16, pd= 1.6665, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 6.40, pd= 2.4725, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 36081.98, pd= 0.4665, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 6.02, pd= 0.7930, lock= >937, snr=38.25) SV= 16, L1 (C/A , r= 56455.54, pd= -4.6550, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 6.06, pd= -4.9590, lock= >937, snr=38.75) SV= 30, L1 (C/A , r=184729.86, pd= -1.8570, lock= >937, amb=23084019.266, snr=43.00) L2 (C-P/Y, r= 7.50, pd= -2.0155, lock= >937, snr=29.50) SV= 15, L1 (C/A , r=228610.92, pd= 1.5475, lock= >937, amb=24882774.014, snr=42.50) L2 (C-P/Y, r= 7.68, pd= 0.3745, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=276970.92, pd= 1.4395, lock= >937, amb=20086094.686, snr=51.50) L2 (C-P/Y, r= 6.98, pd= 2.2915, lock= >937, snr=44.00) SV= 8, L1 (C/A , r=251632.26, pd= -0.3410, lock= >937, amb=24882774.014, snr=34.75) L2 (C-P/Y, r= 6.56, pd= 0.1105, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=247986.08, pd= 1.9110, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.52, pd= 2.8585, lock= >937, snr=40.75) SV= 11, L1 (C/A , r=200241.32, pd= -0.9030, lock= 192, amb=24882774.014, snr=32.25) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=279119.94, pd= 0.6820, lock= >937, amb=20685679.602, snr=51.00) L2 (C-P/Y, r= 4.04, pd= 0.9455, lock= >937, snr=44.75) SV= 7, L1 (C/A , r=126941.22, pd= -2.1640, lock= 19, amb=24582981.556, snr=35.00) L2 (C-P/Y, r= 6.32, pd= -2.2875, lock= 19, snr=21.75) RTCM3 (2011-04-10T22:38:41.05 delay -26345.) Type 1012: ID= 0, Tk= 32267.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=311611.86, pd= 1.3335, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 6.80, pd= 1.0605, lock= >937, snr=41.25) SV= 21, Freq= 4, L1 (C/A, r= 52049.98, pd= -1.5980, lock= >937, amb=22184641.892, snr=40.50) L2 (P , r= 4.76, pd= -2.8100, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=440855.82, pd= -43.9260, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.68, pd= 0.7940, lock= >937, snr=51.25) SV= 14, Freq= -7, L1 (C/A, r= 97597.30, pd= -3.3315, lock= >937, amb=23383811.724, snr=39.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=258942.72, pd= -3.4395, lock= >937, amb=23383811.724, snr=34.75) L2 (P , r= 6.92, pd= -2.5475, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 99207.58, pd= 0.9990, lock= >937, amb=21585056.976, snr=44.75) L2 (P , r= 5.62, pd= 0.8110, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 14207.54, pd= 0.2860, lock= >937, amb=19786302.228, snr=44.75) L2 (P , r= 2.24, pd= 1.7990, lock= >937, snr=45.25) SV= 23, Freq= 3, L1 (C/A, r=421251.08, pd= 20.6365, lock= >937, amb=20985472.060, snr=43.50) L2 (P , r= 6.52, pd= 1.5340, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.05) Type 1013: ID= 0, MJD=55621, SOD=21467, Num= 6, Leap=15 ID=1004, Sync=1, Interval= 1.0 ID=1006, Sync=1, Interval= 10.0 ID=1008, Sync=1, Interval= 10.0 ID=1012, Sync=1, Interval= 1.0 ID=1013, Sync=1, Interval= 10.0 ID=1033, Sync=1, Interval= 10.0 RTCM3 (2011-04-10T22:38:41.05) Type 1004: ID= 0, TOW=194283.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 92998.70, pd= -1.6960, lock= >937, amb=23983396.640, snr=40.75) L2 (C-P/Y, r= 7.08, pd= -2.1470, lock= >937, snr=24.50) SV= 3, L1 (C/A , r= 17687.40, pd= 2.0805, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 7.00, pd= 2.8880, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 36311.04, pd= 0.6400, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 5.60, pd= 0.9660, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 56988.48, pd= -4.5230, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 5.92, pd= -4.8265, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=185461.34, pd= -1.7190, lock= >937, amb=23084019.266, snr=42.75) L2 (C-P/Y, r= 7.64, pd= -1.8780, lock= >937, snr=28.50) SV= 15, L1 (C/A , r=228688.30, pd= 1.1020, lock= >937, amb=24882774.014, snr=42.00) L2 (C-P/Y, r= 7.30, pd= -0.0690, lock= >937, snr=22.75) SV= 6, L1 (C/A , r=277017.62, pd= 1.3285, lock= >937, amb=20086094.686, snr=50.75) L2 (C-P/Y, r= 6.76, pd= 2.1805, lock= >937, snr=44.00) SV= 8, L1 (C/A , r=251443.06, pd= -0.0125, lock= >937, amb=24882774.014, snr=34.75) L2 (C-P/Y, r= 7.00, pd= 0.4420, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=247585.92, pd= 2.0435, lock= >937, amb=21285264.518, snr=49.25) L2 (C-P/Y, r= 4.40, pd= 2.9910, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=199608.42, pd= -1.6320, lock= 192, amb=24882774.014, snr=32.25) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=278960.96, pd= 0.5395, lock= >937, amb=20685679.602, snr=51.00) L2 (C-P/Y, r= 3.96, pd= 0.8035, lock= >937, snr=45.00) SV= 7, L1 (C/A , r=127113.76, pd= -1.5755, lock= 20, amb=24582981.556, snr=35.00) L2 (C-P/Y, r= 6.34, pd= -1.7035, lock= 20, snr=22.00) RTCM3 (2011-04-10T22:38:41.06 delay -26346.) Type 1012: ID= 0, Tk= 32268.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=311965.98, pd= 0.7615, lock= >937, amb=22184641.892, snr=41.50) L2 (P , r= 6.12, pd= 0.4895, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 52572.90, pd= -1.8805, lock= >937, amb=22184641.892, snr=40.75) L2 (P , r= 4.32, pd= -3.0930, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=440894.18, pd= -44.2560, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.48, pd= 0.4640, lock= >937, snr=51.00) SV= 14, Freq= -7, L1 (C/A, r= 97322.02, pd= -2.7890, lock= >937, amb=23383811.724, snr=39.25) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=259683.46, pd= -2.2585, lock= >937, amb=23383811.724, snr=34.25) L2 (P , r= 8.26, pd= -1.3660, lock= >937, snr=39.50) SV= 6, Freq= -4, L1 (C/A, r= 99757.60, pd= 1.2660, lock= >937, amb=21585056.976, snr=44.50) L2 (P , r= 5.88, pd= 1.0775, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 13934.00, pd= -0.0945, lock= >937, amb=19786302.228, snr=45.25) L2 (P , r= 0.86, pd= 1.4185, lock= >937, snr=44.75) SV= 23, Freq= 3, L1 (C/A, r=420733.48, pd= 20.6680, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.58, pd= 1.5650, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.06) Type 1004: ID= 0, TOW=194284.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 93526.00, pd= -1.4940, lock= >937, amb=23983396.640, snr=41.00) L2 (C-P/Y, r= 7.14, pd= -1.9450, lock= >937, snr=24.75) SV= 3, L1 (C/A , r= 17618.20, pd= 2.0315, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 6.88, pd= 2.8370, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 36540.42, pd= 0.5980, lock= >937, amb=21884849.434, snr=48.25) L2 (C-P/Y, r= 5.52, pd= 0.9240, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 57521.54, pd= -4.4275, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 5.96, pd= -4.7320, lock= >937, snr=39.25) SV= 30, L1 (C/A , r=186192.92, pd= -1.6500, lock= >937, amb=23084019.266, snr=42.75) L2 (C-P/Y, r= 7.96, pd= -1.8095, lock= >937, snr=28.50) SV= 15, L1 (C/A , r=228765.42, pd= 1.0270, lock= >937, amb=24882774.014, snr=42.25) L2 (C-P/Y, r= 7.02, pd= -0.1435, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=277064.08, pd= 1.5380, lock= >937, amb=20086094.686, snr=50.50) L2 (C-P/Y, r= 6.82, pd= 2.3905, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=251254.72, pd= -0.4250, lock= >937, amb=24882774.014, snr=35.00) L2 (C-P/Y, r= 6.68, pd= 0.0325, lock= >937, snr=16.25) SV= 19, L1 (C/A , r=247186.32, pd= 1.6670, lock= >937, amb=21285264.518, snr=49.25) L2 (C-P/Y, r= 4.42, pd= 2.6135, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=198973.94, pd= -0.7700, lock= 192, amb=24882774.014, snr=31.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=278801.80, pd= 0.6960, lock= >937, amb=20685679.602, snr=51.75) L2 (C-P/Y, r= 3.94, pd= 0.9610, lock= >937, snr=44.50) SV= 7, L1 (C/A , r=127287.08, pd= -1.6640, lock= 21, amb=24582981.556, snr=34.75) L2 (C-P/Y, r= 6.56, pd= -1.7920, lock= 21, snr=22.00) RTCM3 (2011-04-10T22:38:41.06 delay -26347.) Type 1012: ID= 0, Tk= 32269.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=312319.72, pd= 0.7075, lock= >937, amb=22184641.892, snr=41.75) L2 (P , r= 6.20, pd= 0.4335, lock= >937, snr=41.50) SV= 21, Freq= 4, L1 (C/A, r= 53095.56, pd= -1.8465, lock= >937, amb=22184641.892, snr=40.75) L2 (P , r= 4.52, pd= -3.0600, lock= >937, snr=41.00) SV= 22, Freq= -3, L1 (C/A, r=440932.20, pd= -44.1620, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.30, pd= 0.5580, lock= >937, snr=51.50) SV= 14, Freq= -7, L1 (C/A, r= 97048.16, pd= -3.5140, lock= >937, amb=23383811.724, snr=39.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=260426.36, pd= -3.2110, lock= >937, amb=23383811.724, snr=35.00) L2 (P , r= 7.24, pd= -2.3185, lock= >937, snr=39.25) SV= 6, Freq= -4, L1 (C/A, r=100307.94, pd= 1.3440, lock= >937, amb=21585056.976, snr=44.50) L2 (P , r= 5.52, pd= 1.1555, lock= >937, snr=45.00) SV= 7, Freq= 5, L1 (C/A, r= 13659.98, pd= 0.1660, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 1.26, pd= 1.6785, lock= >937, snr=45.00) SV= 23, Freq= 3, L1 (C/A, r=420216.42, pd= 20.2010, lock= >937, amb=20985472.060, snr=43.00) L2 (P , r= 6.04, pd= 1.0985, lock= >937, snr=44.00) RTCM3 (2011-04-10T22:38:41.06) Type 1004: ID= 0, TOW=194285.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 94053.62, pd= -1.5915, lock= >937, amb=23983396.640, snr=41.00) L2 (C-P/Y, r= 7.46, pd= -2.0425, lock= >937, snr=24.00) SV= 3, L1 (C/A , r= 17549.28, pd= 1.8115, lock= >937, amb=19786302.228, snr=53.25) L2 (C-P/Y, r= 6.74, pd= 2.6175, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 36769.60, pd= 0.8740, lock= >937, amb=21884849.434, snr=48.00) L2 (C-P/Y, r= 6.06, pd= 1.2010, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 58054.64, pd= -4.2815, lock= >937, amb=21884849.434, snr=49.25) L2 (C-P/Y, r= 6.14, pd= -4.5865, lock= >937, snr=38.75) SV= 30, L1 (C/A , r=186924.58, pd= -1.6220, lock= >937, amb=23084019.266, snr=42.50) L2 (C-P/Y, r= 7.62, pd= -1.7810, lock= >937, snr=28.50) SV= 15, L1 (C/A , r=228842.46, pd= 1.1570, lock= >937, amb=24882774.014, snr=42.75) L2 (C-P/Y, r= 7.30, pd= -0.0115, lock= >937, snr=22.50) SV= 6, L1 (C/A , r=277110.84, pd= 1.5375, lock= >937, amb=20086094.686, snr=50.75) L2 (C-P/Y, r= 6.86, pd= 2.3890, lock= >937, snr=44.00) SV= 8, L1 (C/A , r=251065.90, pd= -0.2360, lock= >937, amb=24882774.014, snr=35.50) L2 (C-P/Y, r= 6.38, pd= 0.2135, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=246786.30, pd= 1.7675, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.34, pd= 2.7140, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=198339.92, pd= -0.3540, lock= 192, amb=24882774.014, snr=31.00) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=278643.16, pd= 0.4580, lock= >937, amb=20685679.602, snr=51.25) L2 (C-P/Y, r= 4.00, pd= 0.7225, lock= >937, snr=44.00) SV= 7, L1 (C/A , r=127459.46, pd= -0.6895, lock= 22, amb=24582981.556, snr=34.25) L2 (C-P/Y, r= 7.52, pd= -0.8175, lock= 22, snr=21.75) RTCM3 (2011-04-10T22:38:41.06 delay -26348.) Type 1012: ID= 0, Tk= 32270.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=312674.06, pd= 0.1920, lock= >937, amb=22184641.892, snr=41.00) L2 (P , r= 5.62, pd= -0.0825, lock= >937, snr=41.00) SV= 21, Freq= 4, L1 (C/A, r= 53618.54, pd= -2.0745, lock= >937, amb=22184641.892, snr=40.75) L2 (P , r= 4.06, pd= -3.2890, lock= >937, snr=40.50) SV= 22, Freq= -3, L1 (C/A, r=440970.48, pd= -44.2415, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.54, pd= 0.4785, lock= >937, snr=51.50) SV= 14, Freq= -7, L1 (C/A, r= 96774.00, pd= -3.7720, lock= >937, amb=23383811.724, snr=39.00) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=261168.40, pd= -3.2675, lock= >937, amb=23383811.724, snr=34.75) L2 (P , r= 6.68, pd= -2.3755, lock= >937, snr=39.25) SV= 6, Freq= -4, L1 (C/A, r=100858.70, pd= 1.1255, lock= >937, amb=21585056.976, snr=44.50) L2 (P , r= 5.62, pd= 0.9370, lock= >937, snr=45.25) SV= 7, Freq= 5, L1 (C/A, r= 13387.12, pd= -0.5625, lock= >937, amb=19786302.228, snr=45.00) L2 (P , r= 0.78, pd= 0.9510, lock= >937, snr=45.50) SV= 23, Freq= 3, L1 (C/A, r=419698.84, pd= 20.2850, lock= >937, amb=20985472.060, snr=43.25) L2 (P , r= 6.34, pd= 1.1820, lock= >937, snr=44.25) RTCM3 (2011-04-10T22:38:41.06) Type 1004: ID= 0, TOW=194286.000, More Data=Yes, GPS-Sats=12, GPS Smoothing=No (No smoothing) SV= 21, L1 (C/A , r= 94581.24, pd= -1.6760, lock= >937, amb=23983396.640, snr=40.25) L2 (C-P/Y, r= 7.18, pd= -2.1285, lock= >937, snr=24.50) SV= 3, L1 (C/A , r= 17480.32, pd= 1.7165, lock= >937, amb=19786302.228, snr=53.00) L2 (C-P/Y, r= 6.40, pd= 2.5235, lock= >937, snr=44.50) SV= 18, L1 (C/A , r= 36999.50, pd= 0.5165, lock= >937, amb=21884849.434, snr=48.25) L2 (C-P/Y, r= 5.86, pd= 0.8425, lock= >937, snr=38.50) SV= 16, L1 (C/A , r= 58588.22, pd= -4.5490, lock= >937, amb=21884849.434, snr=49.50) L2 (C-P/Y, r= 5.74, pd= -4.8545, lock= >937, snr=39.00) SV= 30, L1 (C/A , r=187655.82, pd= -1.1490, lock= >937, amb=23084019.266, snr=42.50) L2 (C-P/Y, r= 7.86, pd= -1.3095, lock= >937, snr=29.00) SV= 15, L1 (C/A , r=228919.14, pd= 1.7445, lock= >937, amb=24882774.014, snr=43.00) L2 (C-P/Y, r= 8.08, pd= 0.5780, lock= >937, snr=21.50) SV= 6, L1 (C/A , r=277157.66, pd= 1.5455, lock= >937, amb=20086094.686, snr=50.75) L2 (C-P/Y, r= 6.92, pd= 2.3965, lock= >937, snr=44.25) SV= 8, L1 (C/A , r=250877.00, pd= 0.1310, lock= >937, amb=24882774.014, snr=35.75) L2 (C-P/Y, r= 6.96, pd= 0.5855, lock= >937, snr=16.75) SV= 19, L1 (C/A , r=246386.44, pd= 1.7440, lock= >937, amb=21285264.518, snr=48.50) L2 (C-P/Y, r= 4.56, pd= 2.6905, lock= >937, snr=41.00) SV= 11, L1 (C/A , r=197706.84, pd= -0.8745, lock= 192, amb=24882774.014, snr=31.50) L2 (C/A , r=---------, pd=---------, lock= 0, snr= 0.00) SV= 22, L1 (C/A , r=278484.30, pd= 0.5410, lock= >937, amb=20685679.602, snr=51.00) L2 (C-P/Y, r= 3.96, pd= 0.8055, lock= >937, snr=44.50) SV= 7, L1 (C/A , r=127633.76, pd= -1.5415, lock= 23, amb=24582981.556, snr=34.25) L2 (C-P/Y, r= 6.70, pd= -1.6710, lock= 23, snr=21.50) RTCM3 (2011-04-10T22:38:41.06 delay -26349.) Type 1012: ID= 0, Tk= 32271.000, More Data=No, GLONASS-Sats= 8, GLONASS Smoothing=No (No smoothing) SV= 13, Freq= -2, L1 (C/A, r=313028.74, pd= -0.5300, lock= >937, amb=22184641.892, snr=41.75) L2 (P , r= 4.70, pd= -0.8040, lock= >937, snr=41.00) SV= 21, Freq= 4, L1 (C/A, r= 54140.82, pd= -1.5650, lock= >937, amb=22184641.892, snr=40.75) L2 (P , r= 4.54, pd= -2.7795, lock= >937, snr=40.50) SV= 22, Freq= -3, L1 (C/A, r=441008.62, pd= -44.1140, lock= >937, amb=19186717.312, snr=51.00) L2 (P , r= 5.26, pd= 0.6065, lock= >937, snr=51.25) SV= 14, Freq= -7, L1 (C/A, r= 96498.16, pd= -2.2155, lock= >937, amb=23383811.724, snr=39.25) L2 (C/A, r=---------, pd=---------, lock= 0, snr= 0.00) SV= 12, Freq= -1, L1 (C/A, r=261909.44, pd= -2.3225, lock= >937, amb=23383811.724, snr=35.25) L2 (P , r= 8.10, pd= -1.4305, lock= >937, snr=40.00) SV= 6, Freq= -4, L1 (C/A, r=101409.30, pd= 1.1835, lock= >937, amb=21585056.976, snr=44.50) L2 (P , r= 5.64, pd= 0.9945, lock= >937, snr=44.75) SV= 7, Freq= 5, L1 (C/A, r= 13113.80, pd= -0.6875, lock= >937, amb=19786302.228, snr=45.25) L2 (P , r= 0.96, pd= 0.8265, lock= >937, snr=45.50) SV= 23, Freq= 3, L1 (C/A, r=419180.80, pd= 20.8535, lock= >937, amb=20985472.060, snr=42.75) L2 (P , r= 6.84, pd= 1.7500, lock= >937, snr=43.75) gpsd-3.9/test/rtcm3-2.log0000664000175000017500000007346411762140440013356 0ustar esresr# Name: Ntrip caster log from http://www.euref-ip.net/ # Description: RTCM3 data from an Ntrip caster # Submitted-by: Chris Kuethe # Date: 2011-03-01 # Notes: The NTRIP source table entry is: # STR;GRAS0;Grasse;RTCM 3.0;1004(1),1012(1);2;GPS+GLONASS;EUREF;FRA;43.45;6.55;0;1;TRIMBLE NETR5;none;B;N;2400;rgp-ip.ign.fr:2101/GRAS1(1) @ ïýlf…Ž fÿCÏÁNöd2é5+úœ~ Ð4ÿCMªÙ>Ë¿Ññp3€W+ýkïÝûŽtŠÒ@oi€-ô\Œ 0Žÿb9Zª3ôº–)N`©þ›êÆ@(Šöӊ?@=dÌ¢¶0áúZd ÅÿL©`…FôÒþ–…“úí¿Ò,%8ù[©r ÊA4ù‡[`ºþ‹¯éæH ƒ&97?Žúyê™ÿ>0b­ •þ’Õ”َ`nòwÿÿ¡Ž@D~?ök•`ŠÚ UÿèëP@@‹ýp9ÌÔÓÄ>À.ME‚ÀTNaiþÙ?Ô*0X¿Ï3û amðÐþ…«‚ÄÅ¿ì’K€2ïôœ,ð ÿ4€."§÷Eÿ€ä`‘~Ö§ùnj/!_ã…ý6·Ëü.ÿŒªƒ©?êtx/Àëýlf…͐µCÏÁE"öD2ߏ€“úœv (EÿAMª;b¿Ññ09acý kèpûtŠÜ@oX’6çô\Ì pðÿb9[+Kóö)Là§þƒrÆ@ô`_ӊ?@=eI¢¶AÀ úZd€ÿL©`‹šÿõ;þ–}{û¿Ò¬%9©Åÿ ÊAHïùg[(¥þáéæH ƒ&]Wÿ–#úy?ì€ÿ>0b³›Ð þ’ÕŒñÙ`nÃþ‘¡Ž@aoö‹•`Ak /èëQ€2[ýpŽUÓÄ>À.MU"ÀTO/Oþ9ßÔ)pP»Kû@a~` þ…§‚‚Œ¿ì’%é,çôœL Gÿ6€/ŸK÷Z?€ãà–þÙ/ùçŒ@ï_áùý6³Ïûý¿Œª&Мoêt˜.€cý`f†  üCÏÁV+?ö2Õã súœ† >M©ÒŸ¿Ñðð4ÀU‡ýkà\ ‡vŠÜ@oH'7—ô\Ì ` ÿb9[«ÃôïÖ©KàÂ~¢jÕÐí ôӊ?@=eÆ¢¶R^GúZ„oÿ ÿL©`‘ðßóyþ–‰?ú—¿Ò,%9+_š÷ÿ Ê@è_ùgZñþ,éæH ƒ&{—×úyìíÿ@0bº7 /þ’Ñì:¿ÙŽ`m2P@?¡³@NÍö˕_Ûå !¿èëR@3‹ýxêuÓÄ>À.MdÂÀTOüÉþšŸÔ)pY?É ûaŽ@Sþ…©‚˜–ì’;†-§ôœL0\ÿ6€1Yã÷¬?€ä`œþãwùçŒR·ÿîý6³+ý€Ÿª4>Œ?êtž-_ÿGýpf†KžyCÍÁ_:Ïõä2Ì4À·úœ– øšÿCM©àÑñ09@Y·ýkؙ° NvŠÖ@o7Ÿ9Çô\Ì Ð Mÿ`9\,õvÖ©K`Ëþ³zÕ £a„ÓŠ?@=fC¢¶c@¯úZ„¯ÿgÿP©`˜Eïôþ–}úÀ¿Ñ¬%9DS© ÊAùGZ¹JýŒŸéåˆ ƒ&¥Ÿ?™3úyíDÿ@0bÀÏ  Jþ’ՁÙ`lRïÿšÿ¡³@#£ßöë•_vU B/èëPTÀ;§ýpy¢kÓÄ>À.MtbÀTPÊkþ»Ô)p[Ëgû ažà ¢þ…©‚€ÿì’Q%0÷ôœ\Äÿ4€2õÓ÷Rÿ€ã`ž~ØOù÷Œd‰?å‡ý6«çümÿŒªAŽŽïêtØ.@Wýhf†Šà)ÿCÊÁjPïõÄ2›ôƒúœ– p`EMšbrÁ_Ñð°7ÀUÛý kÐÜðávŠÜ@o'a€$çô\Œ ð¯ÿ`9\­Ÿõ<—)Là¹~¬:å€UKӊ?@=fÀ¢¶s×ÀßúZDàºÿR©`ž?ïœþ–yùŸѬ%9]{šÜÿ Ì@âù'Z9þ@oéåˆ ƒ&ÉŒ«Ûúxä_ñíÿ@0bÇjP ùþ’ј­?؎`kskÿ™¡Ž@D£Oö«•_ ÀoèëPQ@/ýˆ“œÓÄ>À.M„ÀTQ˜Uþ_Ô)0Oÿ·Sû(a¯@3þ…§‚œ’ì’fË(?ôœLà­ÿ2€4‘gø?€ã`Ÿ~íçùnjvW?åGý6«¿üe»ªNÿ˜_êtø/Çý„f†ÊàÿÿCËÁS+Ïö$2žë€ Ûúœ– lÿEM§ÄÒ«ÿÑðp6@S'ýkÉÀòvŠÚ@oû/§ô\Ì Àÿ`9].·õH)K`¿~­‚åpYhÖӊ?@=g=¢¶„•ÀÓúZ$€wÿP©`€ïùþ–}#ûø¿Ò,%9vG©« ËAB/ùgZIaþFŸéåH ƒ&íÔÿÊãúxä?ù¯ÿ>0bÎ bþ’Õxَ`j“È'¡Ž@SÆïö«•^«‹ ¹/èëSÀcýx_ÜêÓÄ>À.M“¢ÀTReœþœÿÔ)pTÿËËûpa¿€Çþ…©‚˜ğì’|g>ôœ\à xÿ4€6-—÷Iÿ€ã`š~×/ùnjˆ$ßæOý6¯³ü†¿»žª\wvßêtø,ßü™ýdf‡ àCÌÁDŸö2¯Mÿû³úœž MÿIM§'ô¿Ñð09€\?ý!kÁbþ©xŠÜ@o“€CGô\ì   |ÿ^9]¯³õÅשI`Ä~œ*õ@œI6ӊ?@=gº¢¶•V€%ÃúZ4PqÿP©`«FÏô0þ–…ƒúÿÑ,%9›©F¿ Ì@Û(ïùgZÿ‰ßéåH ƒ'ÿ¶÷úxä¯ô¶ÿ<0bÔ£ÀÅþ’ÑÈÿَ`iµþæ?¡µ@7vŸö˕^Eé OèëV€/gýprá±Ó/@ASH701945E_M NONE24222 TRIMBLE NETR5?ŸªÓÄ>À.M£BÀTS3kþµßÔ)pS¿Ê³û8aÑp Óþ…§‚Œ†?ì’’-¿ôœ\À^ÿ4€7ÉW÷Ó?€ã`›þèGù·Œ™ó¿ä«ý6³ üQÿŒžªi۔?êtø.àCýdf‡JPîÿCÌÁV)oõä2¥¬¿ö—úœ¶ جÿMMЉ†»¿Ñð09U+ý!k¹£_þ%xŠâ@nöJô\¬ Pvÿ^9^0«öƒ—©I`Æ~Ԃõ`{g’ÓŠ?@=h7¢¶Š.ø{úZDOüÿN©`±šßø·þ–ïûå?Ò,%9š‹ª? ÌAWŸùgYÙÿ¯éå ƒ'6>ÿ{ïúy/åõÿ>0bÛ> ãþ’Ñd'?َ`hՋÿ®¿¡µ@*š¯÷ •]àM \èë\Bý€‚ËÓ?ASH701945E_M NONE24222֓ÿÓÄ>À.M²âÀTT)þ‹_Ô)ðTÿÅ[ûaâ šþ…¥‚€žßì’§Â&÷ôœlÀ„ÿ6€9e÷‚ÿ€ã`”þÞ7ùnj«Ÿíûý6³#ý|»žªwG­êtø-À_ýhf‡ŠH¿CÊÁK#ö$2œ ?ø«úœŠ žïGM¥ëü‘¿Ñðp4Oßý)k±å¿û"xŠâ@nåà€:_ô\Œ bÿ\9^²“õØ)I`°~š#0$œ5ӊ?@=hŽ¢¶¶â@)3úZ4EÿN©`·õÿìþ–·øŒ?Ò¬%9Á‡ªÊ¿ ËA‰ßùgY¡Áþÿéåˆ ƒ'ZU¿¡Wúxä¯ïQÿ@0báۀþ’ѐŽÙ`gö@Y¿¡Ž@GÓO÷ •]zî OèëPR€/Ûý€×.­Ó>à ªçpKxQ­J8Bó&]|ÇÁÓÄ>À.M‚ÀTTÎßþwÿÔ*pV¿Âçû@aôà }þ…©‚€{?ì’œn€'ôœl —ÿ4€;ƒ÷¶€ã` ~ä§ù·Œœ?èÕý6· ü×ÿ»ª„®¿êtø-À‡ýlf‡ÊXšCÆÁm ¿ö$2’g?ÿ£úœ¶ ËJM¥NVžßÑð°5TËýkª$ÐYxŠÚ@nՑ(ô\L €ÿ`9_3ÃõœØ)J`»~Œ3ð(}çӊ?@=i1¢¶Ç¿¿÷ úZdû¹ÿP©`ŸIÏòþ–sú>?Ó,%9Û'ª! Ì@ù_¯ùGYiþÿÏéåÈ ƒ'~gÿÓúxäŸûŒÿ<0bèw rþ’ÕtJÙ`g‡ÿú¡µ@A»¯÷ •]ƒ ìèëM@&ý€ƒXùÓ?PÙE)ʘ<û GÝd?!ú@Öȁ0@éA‹ÓÄ>À.MÒ"ÀTUœyþ°¿Ô*0T?ÉûûXa–þ…©‚¬žì’Ó3ÿôœLÀ %ÿ2€<ã÷.¿€ã`š~Ó§ù׌Ï]Ÿê?ý6³Cýÿžžª’[sïêtØ+¿ü1ýlfˆ ÀCÇÁ`C¯öD2ˆÃ@ Gúœž  \ÿIM€°Ò™_Ñðð4€PÓý!k¢fpzŠà@nÅ6€9'ô\L  6ÿ`9_µ'öØ)JàŒþƳàÔӊ?@=i®¢¶Ø“¿à›úZ” ŸöÿN©`ĞOöëþ–“ûqÓ,%9ôë©I Ì@ó)ùGY2zþ¬oéåÈ ƒ'¢“¿ÅcúxÔOøUÿ<0bï0 Kþ’ÑÔ?Ù`f8çÿ©¿¡Ž@#§öë•\° ÃÿèëGÀýxD*–ÓÄ>À.MáÂÀTVj!þÅÔ)ðU¿Ìgû0aÐçþ…©‚šì’èˀ1ÿôœL æÿ4€>9ÿ÷pÿ€ã`ž~Ûïù÷Œá.?æQý6«ëü†¿ºžªŸÄœOêu0 _ýlfˆJžÀÿCÈÁZ#¿ö$2€!/úœ– ØúJM€<¯Ñðð7S“ý!kš©Oû›zŠæ@nŽê€+ßô\| ðÿ`9`7õ?Ø)Hà€~¬«pž ӊ?@=j+¢¶éN ËúZt hÿR©`Êöÿñ‚þ–óú¿Ò,%:»št Ë@ïÿô_ùgXúäþz_éå ƒ'ÆÅÿš/úxÄïñÿ<0bõ²p þ’Õ<îَ`eZ‹þô?¡µ@3zöë•\J€ œ¯èêÐHÀwýxÀ‘êÓÄ>À.MñbÀTW7õþmÔ)ðSÁ_û(a,0 þ…«‚Œn¿ìÒþ|€9?ô›ìP Ìÿ2€?Ö/÷¢€âàšþâ'ùnjòýßå/ý6«/üa»žª­aÏêu/?ÿßýhfˆŠðCÉÁ]/ö$2u‹@oúœŽ šàÿGM£uŽ©ÿÑð°5@Rëý!k’êüâzŠè@n€›€,§ô\| À§ÿd9`žóôŒ©I`¡~œ+pœt]ӊ?@=jš¢¶ú@#úZT0€ÿP©`ÑM?ò‡þ–…kúVÿÒ¬%:'Ç©ªÿ ÌAAÿùgXÃ'þŒoéåˆ ƒ'êå?ºÛúxŽ/õµÿ>0büMà þ’ÕøuÚ`d{›ÿö¿¡µ@FºŸ÷ •[äó M_èêPU>gý€µ ~ÓÄ>À.NÀTX…þÄ¿Ô*0V?Ì_û a>ð ¹þ…«‚”‚ì’4€6Ïôœ  ÿ4€Arƒ÷«ÿ€â`›~ãOù׍Éßíçý6¯?ýx»ªºÎí/êu4@ eý`fˆË×CÊÁY&ö$2k÷¿÷ïúœ– èÓÿJM¢ØHoÿÑð°4K§ýk‹( ïzŠì@n”P€+Ÿô\Œ ð†ÿ`9a9¯÷P˜©J`°þï›pÊèӊ?@=k%¢· Ø@ƒúZdpÿR©`×£¯ó‘þ–…Oú™¿Ò¬%:A{©m¿ ÊA2¯ù‡X‹aÿ(éäÈ ƒ(¿£‹úx€ïßÿ>0cìp‰þ’ÑžOÿڎ`c5ÿ¡Ž@:Êöë•[ þ_èêMÀ*£ýˆýtÓÄ>À.N¢ÀTXÓwþ*ßÔ*0P?¹'û8aQлþ…­‚²¢ßì’)ï€2¯ôœ,ùÿ4€Cã÷ž?€â`›~ä×ùǍœ_æ¹ý6³ÿü’ÿºªÈ‘}ÿêtØ.ßýsý`f‰ HœÿCËÁO/ö$2b]ÿù¯úœŠ  JM¢:À…_Ñðð6ÀNSý!kƒlý|Šô@n„*ÿô\¬ ðrÿb9aŒö˜©Jà”~È+pTdӊ?@=k¢¢··@ÏúZ4«ÿR©`Ýû_ñ×þ–‰ú*¿Ó¬%:[©¿ ËAGù§XSºÿWÏéå ƒ(39?­#úx„òEÿ<0c  xþ’Ù ¿ÙŽ`bŸ¬Œÿ¡Ž@dà?ö«•[- óŸèêÐI'óýˆë‰ÓÄ>À.N BÀTY ×ÿÔ)0Y¿Ô§û aeÀþ…­‚”Œ?ìÒ?°€'ôœ<—ÿ6€D«[÷Ÿ€ã`™þå—ùç(mäÓý6³—üV?»ªÖ Ú?êtž0Àõýhf‰MHCÊÁMö$2XÈÿóÇúœ® ˜VIM¡,Ê_Ñðð6@Vûýk{¬;|Šø@nsÁ€.ô\œ PÙÿd9b>;õaØ©Kàþ²cpÔ=‘ÓŠ?@=l¢·,‘À ÛúZTpiÿP©`äPïõíþ–‰·û0Ѭ%:uCšx? ÌAÿõù§XÿƒßéåH ƒ(WRÿÐïúx€Ÿû9ÿ:0c-@þ’Ù¬<¿ÚŽ`aáÿd¡Ž@@–ö˕ZŽã Oèë?€#ýxïÜ*ÓÄ>À.N/âÀTZn‡ÿŸÔ(ð_¿ÖÇû0ayPÒþ…¯‚Š¥¿ì’Uo€&Wôœ\`oÿ:€FG÷÷…€âàœ~Þgù׍::?ìý6¯?ý?ºžªãˌŸêtž/ÿAýdf‰ÈÿCËÁ^+ïö2O)@ 7úœ® šEÿGM ÿŠó?Ññ09@\ý!ksî@i|Šô@nc€€)ô\Œ À4ÿb9bÀoôÞÙ)I`~þ¢c$Pw·'ӊ?@=lœ¢·=j@{úZ„ÿMÿL©`êª/ñþ–‰3ùøÿÒ,%:Ž¿©7¿ ÌA$ïù‡WäŸÿs_éåH ƒ({€Ãúx„÷œÿ>0cË0 Õþ’Ñ8bÚ`aSþ‹?¡Ž@ _ßö«•ZOn ™èëPD€sýˆP¥òÓ/@ASH701945E_M NONE24222 TRIMBLE NETR5?ŸªÓÄ>À.N?‚ÀT[À.NO"ÀT\ /þŽ_Ô(°WÿÅgû(a¡Ð8þ…©‚²쒀ï€1ÿôœLâÿ8€I7÷v?€â`™þÜwù·]Ý_åÓý6§ÓüvºžªÿÆÏêtØ1`‹ýlfŠh·CÌÁDöD2<€'úœ¶ žÙIMŸÄÊíÿÑñ08€[_ý!kdtøe~Šô@nC€ ¯ô\ü 0*ÿ`9cÄOõÒÙ)G`~Á$TÉzӊ?@=m–¢·_À¯úZtà]ÿL©`÷Y/ñ/þ–…ëùÿ¿Ò,%:“©¿ ÌAOùgWuªÿw_éåÈ ƒ(Ã׳oúx”ŸóÔÿ<0c$ 0 gþ’Õ ¿Ú`_GGÿx¡Ž@7›?ö‹•Y„w Ö¿èëO€ »ýxüfŒÓ>à ªçpKxQ­J8Bó&]|ÇÁÓÄ>À.N^ÂÀT\×÷þnŸÔ(ðWÿÁ_ûPa ·p þ…§‚|oì’–º'gôœ<€ÿ8€Kï÷nÿ€ã`‘þۏù·o¯¿á}ý6«§û뿺ž« ϕêt˜.@OýhfŠQˆCÍÁK Oö$22|?ëëúœŸ 7ÿRIMŸ'xžŸÑðð8ÀTÃýk\Ž_ü†~Šô@n2ǀ,ô\Ü €£ÿ`9dFÓõ(Ù)H`‚~«s$Ðãd£ÓŠ?@=n¢·oñ€ ¯úZTPâÿL©`ý±ðîþ–‰·ùïÒ,%:Ü?©»ÿ ÌAFù‡W>€þÌ¿éæ ƒ(连wúx€ÿî–ÿ>0c*ªà 'þ’Ñ€õÿÙ`^i×þð?¡µ@$y/ö«•Y €oèëJ#ý€ƒ )Ó?PÙE)Ϙ<û GÝd?!ú@Öȁ0@¶û³ÓÄ>À.NnbÀT]¥åýôŸÔ)pT²û a ːžþ…©‚ž¿?ì’¬}6ôœ<` uÿ8€Lº»÷aÿ€ã`’~Ù÷ùǍ?äõý6³ƒüZÿ»«—o_êt8-?û•ýtfŠ’hMÿCËÁ]5?öD2(ဇúœ¶ ˆ†CMž‰üúÑð°;À\ÿý!kT÷ß÷Þ~Šö@n"’€'ô\Ì  øÿ^9dȳöQ©HàŽ~Ð[4 $÷ӊ?@=n¢·€ÇÀÓúZ4¯ÿL©aÿótþ–…óú¿Ò,%:öS© ? ÌA?/ùGW/þ–ß鿈 ƒ) ,?­oúxŽòPÿ:0c1Mòþ’Ñ èÚ`]ŒcþÊÿ¡³@ oÏö˕X¹‰ oèëUÀ.#ý€Ë@†ÓÄ>À.N~ÀT^sþKÿÔ)0R¿œ û8a áð Cþ…§‚€sìÒÂH€7/ôœ< ˆÿ6€NW¿öð¿€ä`þËßùǍ“Né¡ý6³Güï?»ž«(J‹¿êtX/ÿ'ýpfŠÔpþÿCÊÁB ?ö„2TÀ›úœ¶ `îÿIMì¶ÀßÑð°5@UÃý!kM;ÿñÓ~Šø@n^'¯ô\Œ 0 ÿ\9eJsøY©Ià¥ÿ‹5›kӊ?@=o ¢·‘¬À súZDÐTÿH©a `ófþ–‰úŒÒ,%;w©„ÿ ÌA8OùGVÏÄþŽÏ鿈 ƒ)0Oœ[úx”/öLÿ:0c7ïp»þ’ÙÔ›?َ`\®\\?¡³@KÔ/öë•XT 4èëY8ýx6¶ZÓÄ>À.N¢ÀT_Aþ¢¿Ô)ðX¿ÇÏû0a ö Éþ…©‚šÄ?íØ€7ôœLÐ „ÿ4€Oôo÷tÿ€ä`›~ÜWù§¥!?å»ý6¯Ãürºž«6­¯êt/ _ýdf‹ØƒÿCÊÁZïöD2ÀÀúœ® hÿJMOb³ßÑð°;ÀT#ý!kE~Oð€Šú@n,(¯ô\Œ  *ÿ\9eÍËõÜÙ©Gà“þÁÓ5 »2ӊ?@=oŠ¢·¢ŠúZDÀµÿH©aŽßüþ–‰gü·?Ó,%;*©© ÌAAùGV˜”þP鿈 ƒ)Tn׿úxįüåÿ<0c>‘°iþ’Õ8Eÿَ`[Ðô±¡³@Oé_÷ •Wîç ‘ŸèëÐC@oýxŸšÅÓÄ>À.NBÀT`ÑþÆßÔ)°Z?ÌOû0a þ…©‚š«_ííê€/ŸôœL•ÿ8€Q‘o÷a¿€ä`’þÙçù·¶ñ_éOý6³+ü庞«Cèbêsø,úýlf‹WxÞÿCËÁT'Oö„2 <ÿý»úœÆ H”ÿLMœ²šŸÑðð0@R¿ý!k=ºoþ8€Šþ@mñû/?ô\Ì ûÿ^9fPöŽ©G`žþÜÃ50-&âӊ?@=p¢·³q@ÃúZ4Ïþ#ÿL©aÿ÷àþ–§ûª¿Ñ¬%;DÛ©|? ÌA6/ùgVaý»ï鿈 ƒ)x•?à£úxÄÿÿ"ÿ@0cE2ð¹þ’ÙüÚÚ`Zô?ÿ«?¡²@&§ÿöë•W‰j ÉOèëÐK@ký€‹óPÓÄ>À.N¬âÀT`ÜëýìßÔ)°S?±ûHa $ aþ…©‚¢w_ìÒ »7'ôœ\  …ÿ6€S.¯öÓÿ€ä`˜þÈù·ÈÇ_Þ­ý6³ƒû‘?Œ«Q›©¿êt81àçýlf‹™h¹ÿCÌÁL"Ÿö„2µÿõƒúœ¶ ‰ÿJMœÀ¶_Ñðð5ÀTsýk5üý‘€§@máÑ+Ÿô\Ì ‡ÿ^9fÒóö,)E`~Ë«E`Š$ ӊ?@=p„¢·ÄZògúZTúŠÿL©ahõpþ–»û ¿Ò,%;_©²ÿ ÌACÏù‡V*þŸéæ ƒ)œÛ›³úxäíæÿ>0cKÕ ‘þ’ÕP¿ÚŽ`ZÄÐ?¡²@Xñ/öë•W$ ¬/èëPG@ý€tP£ÓÄ>À.NŒ‚ÀTaªƒþ\¿Ô*0Rÿ¿ûa:à Ïþ…­‚’eí ”/wôœl`‘ÿ6€TËÇöÐÿ€â`—~Ç¿ù·Ú˜¿à ý6³£û»¿»«_`ŸêtX,ŸùÁýhf‹ÛH ÿCËÁN-/öD1ù*üúœÎ ˆ\IM›wz®ŸÑðð4€S{ýk.?/ût€§@mѯ÷ô\¬ àqÿ^9gTïøZ)Cà¹ÿ E0»…ÓŠ?@=q¢·Õ))¯úZd°_ÿL©a#Á/õžþ–}£û¿Ò,%;y{©? ËA 6ÏùgUòÓþ¯éæˆ ƒ)Á ?‘“úxԏë\ÿ>0cRx Wþ’ÑT?َ`Y:(?¡²@AÄ/ö˕VŸ‡ ¯èëPU€-Gý€BùçÓÄ>À.NÌ"ÀTbwûÿ¿Ô(ð^ÿ×3ûXaQŒþ…­‚ ¢ì’ /m.¯ôœ| vÿ2€VhÇ÷2ÿ€âà›~ÓÿùǍìk?ßý6³ûœÿºž«mT‘ÿêt˜-ÿÿñýdfŒxéÿCÊÁR(Ÿö1ïžÀKúœÖ è£IMšÚ2¶ßÑðð5ÀT‡ý!k&ƒÏô™‚§@mÁƒ€)‡ô\œ Dÿ`9g׏øŠZ)>`ËÿëE@Õöӊ?@=q~¢·æ @2GúZ4À ‰ÿP©a*/øþ–·û±¿Ò,%;“Û©“ ËA;ïù‡U»šþ ïéåˆ ƒ)å6ŽÏúyêªÿB0cY0pþ’Ù‡?Ú`X]·ÿV¿¡²@0’Ïö‹•VYD ºèëPMÀ£ý€ÝªîÓ/@ASH701945E_M NONE24222 TRIMBLE NETR5?ŸªÓŽ>À.NÛ°TcFþG_Ô)pTŒSû0ahÐ cþ…­‚šw_ì’ EH.ôœl cÿ6€Xë÷Xÿ€â`“þØ¿ù§þ8ëƒý6¯gý*º«{;êtž,ßý›ýlfŒ_DCÇÁ^3ïõä1æ¿ôûúœÖ @{IMš<üšÿÑð°7@QýkÏùւ§@m±d€Çô\Œ  êÿ^ùÏӊ?@=qû¢·öñ:óúZà µÿN©a0qïø­þ–uûÜ?Ѭ%;®c©b? ÌA/Ÿù§U„3þ_éåˆ ƒ* h¿|ßúyOæ-ÿ@0c_¿ 'þ’ÑŒô¿ÙŽ`WÿG¡³@8ö‹•UóØ ÓèëPH@ûý€‡L¡Ó?ASH701945E_M NONE24222֓ÿÓÄ>À.NëbÀTdÍþt¿Ô)°UÿÁïûa€P ‰þ…©‚¢|_ì’ [%/çôœ\Оÿ4€Y£O÷¿€â`–~ϧùǎŸâý6¯Ãü ÿŒ«ˆûÜßêtž2  aý`fŒ¢0ŠÿCÈÁU ö1ܑ ûúœæ ›ÿGM™Ÿ¶µ?Ñð°7ÀTOýkßó@m¡>.ÿô\Œ ðÿ`9hÜl€):`ï°ÀŽÕˆÓŠ?@=rx¢žòßúZd¯þjÿJ©a6Ëïö¶þ–y×û]¿Ñ¬%;ÈÓ©œ¿ ÌA>ù§UM'þAéåˆ ƒ*-‹ÿ‘ûúxä?ësÿ@0cfb þ’Õ˜°¿ÙŽ`V€·þ@7xÿö‹•UŽr ãèëKÀ#óýˆïZCÓ>à ªçpKxQ­J8Bó&]|ÇÁÓÄ>À.NûÀTdáeþéŸÔ)°XÿЇûa—Ð/þ…©‚–ÿì’ q €Gôœ\Àjÿ2€[@g÷š¿€âà™~àçùǎ!Þé;ý6¯;üá?ºž«— |¿êtØ,ÿýSýhfŒä`OÿCÊÁY5/õä1Ó€úœæ È`ÿEM™rÐÑð°7€W«ý kF¿ûx‚§ @m‘$€$'ô\| ˜ÿ^9i_>À©;àô*È XÜÌӊ?@=rõ¢žßÿüúZ„üõÿN©a=&ôrþ–}úÌÿÒ,%;ãG©äÿ ÍAPOù§UýþMOéåÈ ƒ*QÂ?w?úxôOäÄÿ@0cm° 8þ’Ñ,x¿Ù`UÈ7ÿ&?¡³@<†¯ö‹•U) ÿ¯èëN@*óý€“«Ó?PÙE)Ԙ<û GÝd?!ú@Öȁ0@®‘àÓÄ>À.O ¢ÀTe¯MþœÔ)°TÆÛû8a°  oþ…©‚˜XÿìR †í€_ôœl`ÿ2€\ÝÏ÷Ž€â`þß_ùǎ3²ÿäûý6¯»üX¿º«€ö‰êtØ.¿þçýhf'(ÝCËÁN&ßö1ɔø¿úœæ ôÿCM˜eBÇÿÑðð4€V«ýk‰où”„§@m2ïô\Œ °pÿ\9i⠁);àç€ $p²ÎœÓŠ?@=sr¢ž)¿@³úZt€œÿL©aC|ÿú÷þ–[ün?Ò,%;þ©š? ÎA@ÿù‡Tßýí_éåÈ ƒ*uáÿ–Gúy¯ì†ÿB0cs­P”þ’ÉO¿Ù`TëÏÿq?¡³@-™_ök•Tí ö/èëT@(ýx?µšÓÄ>À.OBÀTf}5þX¿Ô(ðX?ŸsûaÉ` Áþ…©‚lBÿì’ œË3¯ôœlÀ ÿ4€^{o÷'¿€ã`”~ÒùǎE…_æãý6³ïü”¿»«²è”êu,àKýhfi€äCÌÁbGÏö$1À€ßúœÖ КAM—ÈœÑð06UKý!jÿÉÿ‘„§@mpñ(_ô\œ ` ÿ^9jeØ3Á©?`æ°4P1o ӊ?@=s:·€‡úZd€ÿN©aIÖÏúœþ–OüVÿÒ,%<³©¹? Î@ñEù§T§±þŽéåˆ ƒ*šuÏúxäßäiÿ@0czQ` rþ’Í\ÿÚ`TDd?¡³@-ÖöK•T^T ïŸèëT&ïýpG“yÓÄ>À.O)âÀTgJñþƒÔ)pU¿Ã¯úðaဠKþ…«‚ŽtìR ²¯=GôœL Hÿ4€`Û÷c?€â`™~Ùïù·ŽWXèý6³ü»ÿº«Àß êu80³ýdf¬hÇCÌÁ_DöD1¶ŒÀ7úœæ ðŠÿEM—*êÏ?Ñðp6@W“ýjø ?ÿd„§@m`Ü)Wô\¬ ð?ÿ^9jéûþ4Â)AàÆÿÉDP2¢§ÓŠ?@=tl¢žKžÀ “úZ„ÿN©aP5îfþ–«ùIÒ¬%<3©~ Î@ý6où‡Tp”þޝéæ ƒ*Ÿ@‰úxô?é<ÿ@0c€õ@ ¡þ’ÑÀ¿Ú`S3sÿ⡲@Dµ¯ö‹•Sù ÔßèëO@ ?ýxCéhÓÄ>À.O9‚ÀThþý?Ô)pYÒãûaú@þ…«‚‚Œßì’ Èœ€5ßôœ<ð Zÿ4€a¶g÷w?€âà”~Üwùǎi-Ÿãý6³·ü?»«ÎܪÏêu80À ýlfðDCÌÁY¿ö$1­ÿíúœÖ ·ÿƒÿEM–žó?Ñðð9€\ ý jðPÏöDާ@mPË'¿ô\Œ  ÿb9knwû„‚©Bà­rÈTP«®ӊ?@=t颞\¥ÿíŸúZdù[ÿR©aVŽÏðþ–kù°Ѭ%À.OI"ÀThæ_þûÿÔ)°]Ò§û(að 2þ…­‚ŠqìÒ Þ“7ôœ,0cÿ6€cSÿ÷”€ã`žþàùǎzÿÿæSý6¯Ïü‚»«ÜÕÌ/êuX0`3ýhfŽ2øžCÌÁLÿöD1£–€çúœÎ `ºÿEM•𮜟Ññ02@UWýjè B†§@m@Ž<ô\Œ •ÿ`9kògújC)F`œÿO@dPÇptӊ?@=uf¢žm•ù×úZD¯üiÿP©a\èðòþ–…'ùë¿Ò,%À.OXÂÀTiŽkþkÔ)pR¿Àwû`ÿ-P ÷þ…¯‚†‰ßìÒ ô'ÿôœ<°œÿ6€dñÏ÷Q?€ã`•þ×·ùǎŒÒŸéý6«7ü꺫ë gÏêu8*ÿú£ýdfŽvÿCÊÁO-oöD1š€CúœÆ XCM•S”ŸÿÑð°5ÀUƒýjàÒþ”†§@m0°€'wô\l ÿ`9luƒû’éF`¥ÿtˆtPYîӊ?@=u㢞~„€ ;úZd0¿ÿP©ac@o÷þ–?ûp¿Ò,%<„K©] ËA ./ùÇS˧þŽéç ƒ+*œÿ£[úxôïÒÿ@0c”ë°úþ’ÑÔçÿÙ`P Cÿ€ÿ¡³@(Š?öë•RÉ ³ŸèëLûý€i+ØÓÄ>À.OhbÀTj‚ þá_Ô)p[ÿÏ?û(`þG0þ…±‚šŸìÒ p)ÿôœÀÞÿ4€fŸ÷-ÿ€âà”þÓ?ùǎž§ßæiý6«ü…ÿ¹«øú»?êuX/`ýlf޹”ÿCËÁR¿ö$1ž@úœÎ DCM”¶„®Ñðð8ÀSkýjÙ_þ6†§@m ©"çô\¬ €mÿ^9lù;ûd)FàŠoX„P¬ ӊ?@=v`¢žŒ¿âOúZt¯ö}ÿP©ai›õfþ–Ëû¿Ò,%<Ÿ©Ù ËAM/ù‡S”åþ鿈 ƒ+Në¿£[úxä_ïÑÿ@0c›’¢þ’Ñ8R?Ù`OÅ/þŒ?¡³@`öë•RcÈ …ÿèëC@ “ý€Œž]Ó/@ASH701945E_M NONE24222 TRIMBLE NETR5?ŸªÓÄ>À.OxÀTkOåþÕ?Ô)0WÍÃû8`ýb „þ…¯‚Œ[_ì’ ^€9ôœ ° Íÿ4€h-s÷(ÿ€ãà˜~ҟùǎ°zŸêý6¯Cüù¿»ž¬ ÏoêuX0`ŸýpfŽüØÿCÌÁ^,ïö1‡1ø‡úœ¶ 0ñAM”^à¿Ññ07@Y³ýjÑVÿýW†§ @mœ3gô\Œ Ðÿ`9m}wúD©FàˆÿFx”Pt–ÓŠ?@=vÝ¢ž v úZ„°sÿR©aoöô)þ–[úžÒ¬%<ºk©>¿ ÌA&où‡S]íþ@_鿈 ƒ+sœÏúxįî0ÿB0c¢8à/þ’Ñ<Ž¿Ú`Néïþ4¿¡Ž@J?÷ •Qþ_ »èëPIÀãýˆ 8iÓ?ASH701945E_M NONE24222֓ÿÓÄ>À.O‡¢ÀTlËþ©ÿÔ(°V?ÈWû`ü|` !þ…­‚ˆoìÒ 6]€&?ô›ü@eÿ2€iËG÷M¿€ãà›~×/ùǎÂQ_äKý6³ÃüAº¬'Ìêtø0àGýlf@XOÿCÌÁb5ö$1}³€ §úœ® øTÿAM“|HøÿÑðð;\¿ý!jɜ/ö ˆ§@m€'Oô\Ì púÿ`9nƒùŒÅ)Fà„ÿ4 €p ‡]ӊ?@=wZ¢ž±\?/úZTÐ œÿP©avR_ñwþ–»ú ¿Ò¬%<ÕG©í ÌAR/ùgS'hýYOéæÈ ƒ+—P?úxäïêÀÿD0cšàà»þ’Ñè—¿ÙŽ`N Ü/¡²@HÈÿ÷ •Q˜ú êèëM%·ý€z*ŸÓ>à ªçpKxQ­J8Bó&]|ÇÁÓÄ>À.O—BÀTlëáþ ÿÔ)0OÿŽSû`û— ±þ…±‚r€ßì’ LU+÷ôœ,Ðÿ4€kiO÷ÿ€ã`’~ÐWùǎÔ&ãóý6·ü6»¬#NÁoêu.Àßýdf„p_CÌÁGÿö1t?€ ÿúœŸ P"EM’ßNÖ¿Ñð°4€Xwý!jÁÜ?û¢ˆ§ @lð—67ô\Ì ÀØÿb9n…Wùž…©FàŒ:`Ž0 ²åӊ?@=w×¢žÂQ@ROúZ40†ÿN©a|®?ïþ–…·ùn¿Ò¬%<ð[ª4ÿ ÌA cÿùGRð9þ.?éåÈ ƒ+»uЇúxô_ðšÿB0c¯ˆp Mþ’ÑŽûÿÚ`M2Óÿï?¡³@FžÏ÷ •Q3© ê/èêÐNÀ%Ÿý€¢AÓ?PÙE)٘<û GÝd?!ú@Öȁ0@ê*±ÓÄ>À.OŠâÀTm¹oþÃÔ)p[Ëkû`ú²p þ…­‚žmì’ bV€—ôœ0Žÿ4€mS÷€ã`‹~Ðùǎåù¿çý6³Ûü˜¿º¬1qίêtØ/ ýlfÈñCÌÁW)?ö1jÙ?ê‹úœ¶ 'ÿ4ÿCM’BRÇÑñ05V‡ý!jº /÷Lj§@làŠ€ßô\Ì €Íÿd9o Ÿøú†)Gàz"øÄ Öӊ?@=xT¢žÓg@úZT÷ÿN©aƒ î•þ–…+ùRÒ,%= 㩆 Ì@ô8OùGR¹.þŒ_éåˆ ƒ+ߥ€úxÔßðÿD0c¶0  Uþ’Ñ=¿Ù`LWÀ¿¡²@OŸÏöë•PÎP ¿èêÐN@+·ýˆ-‚‘ÓÄ>À.O¶‚ÀTn‡-ÿ _Ô)p_¿Ôû8`ùÍ`vþ…«‚Œ™?ì’ xN€1¿ôœ°Òÿ0€n¥{öã?€ã`‰þÉ×ùǎ÷οçOý6·Çü¡¿»¬?¬®êt˜/ {ýhf ÈžÿCÊÁ[>ßöD1ad¿ñ«úœÆ ÐCM‘¥XÀ?Ñð°9ÀU§ýj²a/ûRˆ§@lЧ€!?ô\Ì ;ÿb9oŒ×û†©Hà‡ÿgÔ å{ӊ?@=xÑ¢žäg@súZd°JÿN©a‰bŸóÝþ–…wú£ÿÒ¬%='©Ó¿ ÌAKù‡R‚Cÿ ÏéåÈ ƒ,Æ?ÈÃúxäÏù*ÿD0cŒÚ _þ’ÕL¿Ù`K}wþ…¡Ž@^Oö˕Pi ÒOèêÐM@Ÿý˜³º ÓÄ>À.OÆ"ÀToUeþ$Ô(°O¿·û8`øé –þ…­‚|}_ì’ ŽT)ôœ<@œÿ6€pC÷9ÿ€ä`›~ԟùǏ ¡ßìÛý6³ýRÿ¹¬MܹoêtØ0€áýhfPˆCÌÁ? öD1Wë WúœÆ ( EM‘f³Ñðð4Týjª€?ù튧@lÀª€/—ô\Ì ÿd9pçøÙ‡)H`m8äP/eӊ?@=yN¢žõ[ÀÀ.OÕÂÀTp"çÿ ?Ô(ð]¿Ôkû `ø° Œþ…©‚Œ‚?ìÒ €V€/Wôœ,`†ÿ6€qá¿÷(€ãà”~ÒwùǏwŸì¥ý6³;ýL»¬\$—?êtž/€‹ýhf”€ÕÿCÈÁU%¿ö$1N‰ÿèŸúœ® ÿþïEMkdÞÑð°7Ywýj¢åÏütЧ@l°¶€/—ô\Œ Ðÿd9p–‹÷݇©Gàbþÿðô ®Ð;ӊ?@=yË¢¹roúZ„ ÆÿP©a–oñ÷þ–ú)ÿÒ¬%=]ç©ò¿ ÍASOù‡RÒþï?éæ ƒ,L?ì úxÄ ûÿD0cÊ,ð þ’Õ$-َ`Iǟÿ©?¡³@0§Oöë•Ožs ö_èëL(›ý€„ËeÓÄ>À.OåbÀTpðùþ‹?Ô(ðWÄ3û`÷!Ðqþ…«‚l˜ßí º`€'ßôœ  ˜ÿ4€sû÷;¿€ãà›þÔßùǏ-Qã'ý6³§ü?»ž¬jZ®êtØ.`kýdfØÈCÃÁM+¿ö$1EÀ—úœŠ `JÿGMÎbÑðð;_—ýj›)ïøˆŠ§ @l É€#ô\l  ‚ÿ\9qgùÈ)F`oÿ%  W îӊ?@=zH¢¹n'¿úZ„ÛÿP©aœwïzþ–“ù‰ÿѬ%=y/ª…? ÌA wïù‡QÞ=þ¡éæH ƒ,pSÿÏCúxŽúÊÿ@0cÐÖà “þ’ÑxM¿ÙŽ`Hìûÿü¡²@.Œ/öë•O96 ُèëG@!cýx³0ÓÄ>À.OõÀTqŸÕþßÔ(°XÄÇû0`ö?@ ƒþ…©‚š[ìÒ Ða=ôœ ` Nÿ4€uW÷€ä`˜~Ñ/ù׏?'â™ý6¯‡ü ¿»ž¬x¡¥êu/Àeýpf‘àtÿCÅÁKù¯ö$1;«¿õ3úœŸ à‚ÿEM1Ñ?Ññp6WÓýj“nóxЧ @l×€*gô\L \ÿ`9q¿û€H©G`˜ÿyIÀ›üNӊ?@=zÅ¢¹(x@ CúZTPþÿT©a¢Ò/ñaþ–ú?Ò,%=”ߪ4¿ ËA2cïù‡Q§¡þuéæH ƒ,”Š¿ÓúxŽoöïÿ>0cׂˆþ’Ñ<Šڎ`H§ÿÕÿ¡²@+²÷ •NÓÎ )_èëO5cýˆ»:±ÓÄ>À.P¢ÀTrŒ‡ÿÔ(°[¿ÓËû`õ[ 8þ…«‚œ‘¿ì’ æp7ô›Ìð {ÿ4€vŒ›÷s€âàþÛÇùǏPûŸæÉý6·ËüŒ¬†ö‹oêu,¿ÿ!ý|f‘aØÿCÅÁT-ïö12E?ìSúœÆ ÿhÿCMŽ”°ÇÑñ08V“ýj‹¯ÿöoŒ§ @l€ä€<—ô\\ ° ¥ÿ^9r"Gû‰I)E`švQ%7éӊ?@={B¢¹9r@F‹úZ„p’ÿR©a©,öÌþ–}»û^Ò¬%=°Ÿ©ñ¿ ÊARïù‡Qpêþ£OéæH ƒ,žÎCúx”ë ÿ<0cÞ-°þ’Õk¿ÙŽ`G8kÿÒ¡²@&±¿ö˕Nn ;ÿèë[:ýbfGÓ/@ASH701945E_M NONE24222 TRIMBLE NETR5?ŸªÓÄ>À.PBÀTsZ«þ^Ô)0X¿Ÿ›û`ôy` þ…«‚†l?ì’ ü|€;—ô›ì@ ÿ4€x[#÷7¿€â`•þÔ_ùǏbџçCý6·ãüž¿ºž¬•7®/êu1à{ýxf‘ŠšÐÿCÇÁM%?ö1(Õ?ý£úœÎ ŒEM÷ÐğÑðð9ÀV3ýjƒñoùRŒ§@lpü€8÷ô\l ° 0ÿ`9rŠ3ýÉ©E௚ù4àý—Zӊ?@={¿¢¹J„À2÷úZ„` ¬ÿP©a¯ˆ_ödþ–}·ûDÒ,%=̳šõÿ É@øù‡Q:TþŽ?鿈 ƒ,Üô«ËúxÄñêÿ<0cäØÐLþ’Ézÿَ`F^gÿ…?¡²@%žoö«•N . ]ßèëP\Bý˜xÓ?ASH701945E_M NONE24222֓ÿÓÄ>À.P#âÀTt([þÜ_Ô(°W¿ÎWû`ó— Ñþ…©‚œd¿ì’ ‘€1oôœpÆÿ4€yùk÷Å¿€âà¡~æù§tš¿åý6·Óüfÿ»ž¬£—’êtø.ÿùý`f‘ëhÿCÇÁT+ßöD1iÀ÷úœÖ ŒÿEMZöŸÑðp7€U{ýj|5¿õ@Œ§@la€2¯ô\l hÿ^9s*Wþ\ )B`ÀÐiESñӊ?@=|<¢¹[¡ ›úZdÐÒÿP©aµäÿõþ–}ßû Ѭ%=èG©d? Ê@ø/ŸùÇQžþÛ_éæ ƒ-)¢ÃúxŽÿïšÿ>0cë„dþ’ÉÁ?َ`E„‹ÿ'¡±@&†ÿök•M€ èïèëPPÀ%SýFh3Ó>à ªçpKxQ­J8Bó&]|ÇÁÓÄ>À.P3‚ÀTtömþg?Ô(°R¿›û`òŽþ…­‚¬«_ìR («"Wôœ, âÿ4€{˜÷‰?€á`“þޏù§†~ÿæYý6¿×üÿ»¬²i¿êtø,?úãýdf’0 _ÿCÈÁOÿö$1ÿë'úœæ ÿÿAGMŒŸ<sŸÑð°4€Lýjtuÿû[Œ§ @lQ9(/ô\l `ÿ^9s­ÜV ©>àâ€/ATÀÓŽÓŠ?@=|¹¢¹lœ@:ßúZTÐ £ÿN©aŒDíêþ–}ù$ÿѬ%>§ªx¿ ÌA!t¿ùçPÍ=þféæ ƒ-%[¿ ×úx”ï+ÿ<0cò-p¹þ’ÍðUÿÙ`Dª¯ÿ¿¡²@Ïö«•M>æ ÁÏèëPK‡ý¯‚Ó?PÙE)ޘ<û GÝd?!ú@Öȁ0@åÓÄ>À.PC"ÀTuÄWþX_Ô(ðUœ·û`ñÓP Sþ…¯‚‚Tßì’ >·:Ïôœ, òÿ2€}7ö²ÿ€áàþïù·˜UŸæ¯ý6»Çü‹ÿº¬ÀVƒ?êtX-ßþýpf’v8ÿCÄÁ?í/öD1 šï»úœî ÿÒÿAMŒ!P°ŸÑð°7S¯ý!jlº÷ϧ @lAX(_ô\\ Àÿ`9t2ÌùK):`׀#™dÐ+f®ÓŠ?@=}6¢¹}«€<7úZ4 úÿL©a¡Ïìþ–…Ÿø®Ѭ%> šý¿ ÊAÿù§P–§þˆéæH ƒ-IŠ¿§7úx„ÿðÁÿ<0cøÜðÕþ’Íä\?َ`CÐßÿ)ÿ¡³@O‡Ÿö‹•Lي /èëRÀ,ýÇ1ÓÄ>À.PRÂÀTv’kýìŸÔ(ðO°7û8`ðððµþ…¯‚¢¡_ì’ TÓ4ôœ,p ÿ.€~՛÷€âàþÍßùǏª)ïÏý6¿ƒý¯ÿ¹ž¬Î¬¬oêtx.`Gýhf’»8CÃÁ`ÿöD1H¿çÃúœößþÎÿAM‹„ªR?Ññ00@Gãýjdý/÷Fާ @l1}€!§ô\< ÐGÿ`9t·Žù‹©;àí€#)t ÿ†ÓŠ?@=}³¢¹ŽÇ€# úZdªÿL©aÈýÏî/þ–…ù6?Ò,%>;Ë©Š? ËA%@/ù§P_Òÿ^ÏéåÈ ƒ-mŸ?€;úx€¿ðÿ80cÿˆ€ ôþ’Ñ<#ÿÙ`Böä¿¡³@>Ÿ/ök•LtO üèëS@*ýˆÃ¢ ÓÄ>À.PbbÀTw`3þ@_Ô(°Nÿº·û `ðP sþ…©‚¢xßì’ jó€(Oô›ü0Ÿÿ2€€t3÷r?€â`£þۇù׏Œÿç ý6·ßü–ÿ»ž¬Ý¹Oêtx0åýhf“`5CÃÁXŸöD0ùéâcúœöOþÿCMŠç¬۟Ñð°8Yýj]?Ï÷öާ @l!ž.Gô\< àÙÿd9u<¬ L)?`á$±„ÐMônӊ?@=~0¢¹Ÿé¿ÿ+úZtý²ÿH©aÏYŸñ%þ–…Kùò¿Ñ¬%>Wã©o? ÌA 2où§P)·þv¿éæ ƒ-’ ¿f“úx€ÿàœÿ>0d5 Qþ’Ñ<:Ú`Boÿìÿ¡Ž@2ž?ö«•L ñ¿èëO€'wý‚ÓÄ>À.PrÀTx.þ:?Ô)0R¿¹÷û@`ï/ Aþ…©‚Ž’¿í 'wôœ `„ÿ2€‚CöÕ€áàþÇÿùçÍÚ_é³ý6¯+üë?¹¬ëz¿êt8+ÿýýpf“E ÀÿCÄÁF"ÿöD0ðƒ¿ð?úœö×ÿØAMŠK–ŸÑï°1PsýjUƒ¿õbާ @lǀ*÷ô\l Àqÿb9uÂûýîL)?`ÁÀé„ЙFӊ?@=~­¢¹°ü€—úZT?ÿÿL©aÕ¶ßð¹þ–‰7ù×?Ò,%>s‡ª|? ËAu¯ùÇOóÿ?éåÈ ƒ-¶8¿oãúxÄoâòÿ@0d äPBþ’Íøwَ`AD/ÿ“¿¡Ž@*¢ö˕K©Ü ë¿èëM@%ÿýˆcxŠÓÄ>À.P¢ÀTxü þ:Ô(ðX?¹÷û`îN° Ýþ…©‚€…ßí —*;ïôœ,à ÿ4€ƒ±ç÷h€á`™þÚOùǏ߲ßç]ý6§ü ÿº¬ùöÁÏêtX/Àóýlf“‹€ÿCÄÁU /öD0ç+ß÷úœþŸýÓCM‰®.Í_Ñð09ÀWKýjMş÷Ɛ§@lõ$ô\l  ‘ÿb9vGŸÿ$Ì©?àÔÿ硔ðíZ™ÓŠ?@=*¢¹Â €ÇúZT€ÿJ©aܯïLþ–‰ëù|?Ó,%>wªë? ÊA!‘?ù‡OŒ˜ÿŸéæH ƒ-Úa?‰súxÄéWÿ80d€ øþ’ÉŒ$?Ù`@j¿ÿü¿¡µ@3Œ?ö«•KD™ þoèêÐN@*ŸýˆùR|ÓÄ>À.P‘BÀTyÊþ¿Ô(ðS¿Žû`ínp ßþ…«‚’†ìÒ ­O€6gôœ, dÿ6€…Pã÷N€áà“~×ù·ñŒ¿âQý6§Ÿûþžž­˜cêtx-Ÿú1ýdf“ÐðºCÅÁ`"_öD0ÝÏ?݋ú?ý€ÿGM‰dößÑðp5\ƒý!jFûœ§@kò +çô\l  Œÿd9v̇ÿíÌ©?àä€q”à£Äӊ?@=§¢¹Ó&ÀoúZ„ðEÿL©aâoõ€þ–‰§û¿Ò¬%>«ÿª ÿ ËAYÿù‡O†lþ•ÿ鿈 ƒ-þ™ÿ|;úxÄ/æÿ80d@PŸþ’Í4•ÿÙ`?‘Óÿv¡µ@6šÏö˕JßS /èëN@2—ý€¬ÓÄ>À.P âÀTz—ÝþEßÔ(pU?»Kúø`ìŽ`þ…©‚˜Š¿ì’ Ãt8oôœLÐ ¥ÿ4€†ïã÷D?€â`™~Õçùǐd_ãý6³Ûüÿ¹ž­œOêt˜. ?ý`f”CÄÁI oöd0Ôn?êúœþ§ÿIMˆt€ ?Ñð°>À_Cý!j>Jú‚§@kâK9?ô\< 9ÿb9wQóÿ¥ )>`Üÿ÷€ÀòÆÖӊ?@=€$¢¹äQèWúZ€ ?÷þÿL©aèÑÿé\þ–{÷ÿ¿Ò,%>Èk©“ÿ ÊA;où§OOðþæŸéæ ƒ."ÊÿÿúxÄçwÿ<0d í þ’ÍÀÊَ`>žóÿÿ¡Ž@ƒö˕Jz &èëQ4‹ý€oòÊÓ/@ASH701945E_M NONE24222 TRIMBLE NETR5?ŸªÓÄ>À.P°‚ÀT{eÙþ?Ô(0V?¶Gû`ë® Dþ…©‚޲ßìR ٟ€.Gôœ<à_ÿ.€ˆŽë÷I¿€âàžþևùǐ:?èsý6»?üÁÿž­%•zŸêtØ-?ýýdf”\€"CÅÁY/?öD0Ë?÷;úœæ 0œÿEM‡Ø(‚Ñðp7@Mïý!j6/ö§ @kҁ1‡ô\L àBÿ`9w׫þ·Í)?`ÍÿÙÁ€àÔš—ÓŠ?@=€¡¢¹õdþúZd?ýnÿL©aï,ÏðYþ–…‹ùœÿÒ,%>ä«©Š ÊA?ïùgOŸþÜéæH ƒ.Fò¿ŸkúxÄoîÑÿ>0d'@ Lþ’Íø¿ÙŽ`=ß¿ÿÍ?¡³@C°_ö˕JÚ 2èêÐS@7“ýnxMÓ?ASH701945E_M NONE24222֓ÿÓÄ>À.PÀ"ÀT|3›þ_Ô(pZÿċúð`êÎðÕþ…«‚˜¥ìR ïȀ2Çôœ\ðíÿ0€Š-û÷o¿€ã`œ~ÛGùǐ'ßåeý6ûü`¹ž­4ºêtØ1 ýhf”¢°ÛCÇÁZ&/öD0Á¿ÝÏúœö7ýˆÿ>M‡;\ÒßÑðp<€Xý!j.ÑÏ÷3§@k¶5Oô\l »ÿb9x\óÿ, ©@`ÞèiŽ R0aӊ?@=¢º…õ×úZ„ _û]ÿN©aõOéÆþ–{øÑ,%?©l ÌA1ùGNãJþò¿éåÈ ƒ.k2ÿúxŽ/ç<ÿ<0d.Lp Óþ’Í€Ù`=çÿõ¡Ž@@º_ö˕I¯© 'ïèëP€5ý€]ÓÓ>à ªçpKxQ­J8Bó&]|ÇÁÓŽ>À.PϰT}§þOÔ(0Z¿Œcû`éïÐþ…­‚ŒªßìR ú€'ôœluÿ4€‹Í÷•?€ãàŸ~ßçùç8êŸêý6³ãüóÿ»­B¬ŽOêu-ÿ…ýdf”éXŒCÉÁLöD0ža?îçúœî·ÿšEM†žÀ¶ÿÑð°8T{ýj'þ$§@k²ò/ô\Œ ðÿdcD!ӊ?@=›¢ºÀúZ”ÿ¬ÿP©aûç¿òŒþ–úVѬ%?—©N¿ ÌA*/ù‡N¬ûÿ ¿éåH ƒ.]?šƒúxŽïíšÿ>0d4þ0ïþ’É,á?؎`<.£þûÿ¡µ@|/öë•IJn 9oèëWÀ9gýxRQ˜Ó?PÙE)ã˜<û GÝd?!ú@Öȁ0@Y·ÓÄ>À.PßbÀT}ωþp?Ô(°]Àkû`é@Iþ…­‚š“ì’ *%ßôœ,PMÿ2€lg÷a¿€ã`‘~ÙgùçJÃ_éý6·ßü㿺­QRfêtØ+ÿúyýhf•/ÿCÉÁY.¯öD0¯¿Ý‡úœþ¯ýzCM†·Ñðp;@T“ýjTßþ搧@k£/*ÿô\Œ 0oÿd9yh  @)A`ÈùÐà‚BIӊ?@=‚¢º(³À!óúZ”0dÿR©bHìþþ–…§øæÿÒ,%?9÷©†? ÌA'7ïù§Nvèþ¿éåÈ ƒ.³£?n úxďâ~ÿ@0d;«Ð þ’ÑèfÙ`;Vþì?¡Ž@)x/öë•Hå7 @_èë\À;+ýpBYÓÄ>À.PïÀT~·ýݟÔ(ðR®û`è3 mþ…¯‚zwŸì’ 2\&WôœLÀ\ÿ2€ ãöìÿ€ã`˜þÊÇùǐ\ŸæAý6·Ûü|?ºž­_étŸêu-ü?ýdf•u€CÆÁP.¯ö0¥ÂÿÎËúœþoûœÿAM…eV¿Ñðp:€`Oýj—Ÿÿᐧ @k“i€6_ô\l Üÿd9yî»ÿ€©A`ÄÿÚààñ…ÓŠ?@=‚•¢º9ۀ[úZT€CÿR©b£õFþ–…Wúø¿Ñ¬%?V_©Û ÍAM/ù§N@ÐþRŸéæ ƒ.×Áÿ¥KúxäÏðOÿ>0dB\ nþ’ÕXA?Ù`:}Ÿÿ ?¡Ž@4…Oö˕H€ èëPW@-ý€v6|ÓÄ>À.Pþ¢ÀTkuþkßÔ)0W?¿Ûû`çU .þ…­‚voßì’ H“"?ôœlPÜÿ2€«'÷6?€ãà—~Óçù·nx_â‹ý6»¿ü¹ž­n}›oêu/ ýhf•Œh\CÆÁFö$0œ`?ö£úœþ P”>M„ÈâŸÑðp5€Uký!jßõR’§@kƒ®€/ÿô\\ Pÿd9zt‡ÿ)@`ÂÿÚà$ÐËšGӊ?@=ƒ¢ºJù@&÷úZDà©ÿP©bïíþ–Óøë?Ò,%?rû©æ¿ ÎAOïù§N —þnéæH ƒ.ûú?÷úxôoîzÿ80dI  —þ’Õ ‹?َ`9¥'ÿ¯?¡Ž@*©ö«•Hö ñOèëPQÀ'gý€àFëÓÄ>À.QBÀT€9AþÙßÔ)p\?͟û(`æw Žþ…«‚[ÿì’ ^Æ.7ôœl`Xÿ4€’J»öÛ€â`þȟù§€OßçYý6»÷üŸ?º­}0‚êu8+ßýïýdf– [ÿCÈÁT_öD0“?Ùûú÷ýÿCM„,V­_Ñð07@SOý!j!Ÿ÷:’§@ksõ€+ô\| p„ÿd9zú»þHÁ©A`µÁX4ðŸµÓŠ?@=ƒ¢º\0ÿüSúZd?üýÿN©baóFþ–…£úwѬ%?ë©B? Í@ò&ïùÇMÔwþ]OéæH ƒ/ -¿£Gúxä_ïÐÿ:0dOŒÐƒþ’Ùø†?Ù`8Íÿ²¿¡Ž@M©ßö‹•Gµã ®ßèëLÀÇýˆ5¯ŒÓÄ>À.QâÀT“ýõÿÔ)0N?±û`å™Ð þ…«‚xk_ì’ u€ôœ<PEÿ6€“ê#÷ ¿€â`‘~Îßù·’,ߍý6»¯û¥¿º­‹Í«¯êtø. +ý`f–IÀØCÉÁB%ïö$0‰Êسúœþ7üÖ>MƒÂ¶Ñð°4@Tký!jcïù’§ @kd@$_ô\| ÿ`9{€›þz‚)B`¶ÿÇ DЙ†ÓŠ?@=„ ¢ºmU@³úZd?ÿÿN©bÁï=þ–…?ùuѬ%?¬k©Ó¿ Ì@óK_ùÇMž2þž¯éæ ƒ/D`ÿ©[úxäoñVÿ>0dVo žþ’ѐÓَ`7ôûÿÌÿ¡Ž@8°Oö˕GPš ѯèëP@ý€þâÓÄ>À.Q-‚ÀTÕ[þnŸÔ)pWÿÀ'úø`ä»ÐÜþ…­‚ ¥¿ì’ ‹5€?'ôœ< xÿ6€•‰ƒ÷yÿ€ã`•þÜ_ùǐ€äÃý6¿ËüM?º­šbßêu)¿úý`f–È”ÿCÇÁXOö0€{Ùúœþ‡üæAM‚ó&à¿Ñð°:Y·ýiø§øö’§ @kT‡€+çô\| Žÿ`9|›ü©C`šzXTàÔ±ÓŠ?@=„‰¢º~{€ #úZd .ÿN©b"ÏóCþ–‰oúuÿЬ%?ɪ  ÍAXŸù§Mh þàßéåˆ ƒ/hŽ¿œ÷úxÔ/ö{ÿ<0d] à}þ’ÙDَ`7sþì¿¡Ž@ x_ö«•FëW .ÏèëW€6Ãýˆ«:/ÓÄ>À.Q="ÀT‚£KþˆÔ)°[Ã[û`ãÞÐþþ…¯‚ž©ßì’ ¡~€&—ôœlpeÿ4€—)/÷R€áà–~×_ùǐµÞãŸý6»×ü'ÿ¹ž­©E_êtø.¿ÿiýlf–×èrCÆÁNö$0w)?åƒúœîÇþsCM‚Všï¿Ñð05À[‹ýiðèïýŒ’§ @kDÔ.Gô\| ÀÙÿ`9|§ü9Ã)C`ÿHe ì§ÓŠ?@=…¢º¡À#úZdðmÿP©b(€/í…þ–‰¿ù¿Ñ¬%?æc©? Ì@ÿoù‡M1óþëÏéåÈ ƒ/Œß{“úxÔÏåáÿ<0dcӀ îþ’Õ ?َ`6EOÿå?¡µ@;¶oö«•F†, 1_èêÐR7_ýˆïu0Ó/@ASH701945E_M NONE24222 TRIMBLE NETR5?ŸªÓÄ>À.QLÂÀTƒqMþ{_Ô)0XÿÁ·û`ãð +þ…­‚Œo?ì’ ·»€2ÿôœ|€ñÿ4€˜È£÷ãÿ€áàþé—ùçÇ·_æñý6»Ëü‘º­·ïÁßêtø/ ëýdf—PðÿCÈÁMÏö0mÜè#úœîçþÎCMº _Ñïð;€`£ý!ié.Oøé’§ @k5%€,Wô\Œ `›ÿb9}ÃüxC©Dà ÿ‡0u0öµåӊ?@=…ƒ¢º Ò€“úZ„@KÿN©b.Ýÿñ1þ–‰‹ùñ?Ѭ%@ߪ¿ ÌA\ù‡Lüþm_éåˆ ƒ/±¿®OúxÔßòÿ:0dj‡0 Ëþ’Õ”—َ`5n/þ­ÿ¡³@hö‹•F! ð/èëJ€'ý€+txÓ?ASH701945E_M NONE24222֓ÿÓÄ>À.Q\bÀT„?sþÔ(ðO¿Žëû0`â% þ…«‚Žœ¿í Íþ7_ôœL  ~ÿ2€šhÃöé?€â`”~ÊOù÷Ù’?å‡ý6»£ücÿžž­Æ·žêu-Àµýlf—f˜ÿCÈÁG ßö0dË«úœîû9CM ê?Ñð05ÀZëýiáp¿ûj’§@k%v3Wô\Œ 0yÿ`9}š?ûõD)Fà‘vÀ…àB¢ÓŠ?@=†¢º±ò7÷úZ„p ãÿN©b5>Oîíþ–;ù`Ñ,%@“ªÄÿ ÌA'‡ùÇLÆþ¡Ÿéåˆ ƒ/ÕEÿŒãúxä¯ê5ÿ<0dq;` Bþ’шôَ`4–Ïþcÿ¡Ž@V/ö˕E»î oèëP,gý€Ó±Ó>à ªçpKxQ­J8Bó&]|ÇÁÓÄ>À.QlÀT… uþ Ô(°R³[û`áI µþ…©‚Úàÿì’ äO€/ôœLðÿ0€œ‹öì?€áà–~ʟùçëhÿîÉý6³ý‹ÿž­ÕzÇêtø/À£ýhf—­˜CÈÁY-oö0[LÿޓúœÎgý’AM€¿Ñðp6À^—ýiÙ² ’§@k΀-Oô\Œ Pºÿ`9~ óûD©H`Z˜• ÷ûӊ?@=†}¢ºÃ(@)ƒúZd0HÿN©b;›?õXþ–‰«úúЬ%@=_šÙÿ ËA Ïù§Lþ‰?éæ ƒ/ù^ÙWúxäýQÿ<0dwð *þ’ÑH.Ù`3¿cþƒ¿¡³@^ö˕EVÑ íÿèëN&‡ý€A×/Ó?PÙE)è˜<û GÝd?!ú@Öȁ0@!16ÓÄ>À.Q{¢ÀT…Û)þÄ¿Ô(°XÿÊ·û `ànpþ…©‚ÀŒìÒ ú–#ôœ,Àóÿ0€šC÷?ÿ€àà–þÕùçýCÿíçý6¯/ýo¿ž­äVŠêtø/`‡ýˆf—õH¿CÊÁZ"ŸöD0R ?ÔïúœÞÏüYCMäâx?Ñð00L£ý!iÑö_þš”§@k0÷ô\¬  ÿb9~§Ïú )Gà}9€¥`œ³ôӊ?@=†ú¢ºÔ^À¯úZdp“ÿN©bAþ_ìÃþ–‰—øÕÑ,%@Z#©« ÊAAù§LZZýûéåÈ ƒ0¡?Œ³úxÄŸö*ÿ<0d~¢p þ’Í *?Ù`2çóþø?¡³@{ö‹•Dñ¢ OèëN@,ßýx”‘ÓÄ>À.Q‹BÀT†©Gþ}ÿÔ(pXÿÁãû`ߒÀÁþ…©‚”¢ìÒ ۀ3Ÿôœð ÿ0€ŸH÷®ÿ€áàžþâïùבßë“ý6«ÿý$¹­ó3“êu-àýhf˜<ðØCÌÁV%ÏöD0HŸ¿àWúœÖ—ýÉÿAMHtzÑð02€LëýiÊ;¿ú&”§@jö„,‡ô\Œ À¡ÿd9-wü5…©I`š(µ@>ù ӊ?@=‡w¢ºå”€gúZ” {ÿL©bH\ñ#þ–‰›ùìÿÑ,%@w#ªÿ Ê@ë[où‡L$þÂ?éæ ƒ0AÒ?Í'úxÄ?úHÿ<0d…U  ðþ’Éß¿Ù`2óþ¥ÿ¡Ž@fŸö‹•DŒˆ ñoèêÐS'cýˆ°ŽüÓÄ>À.QšâÀT‡w;þ£¿Ô(°Y?Ɵû`Þ·þþ…«‚¶©¿ìR '0%ôœ,à2ÿ2€ è÷|?€áàœ~܏ùǑ úÿëµý6¯ý(¿¹ž®éîßêu1 ‰ýlf˜„ 0CËÁY0¿öD0?tÿíúœÆ ÿqÿEM~¬tÑðp1ÀL'ýiÂ~¯ûà”§@jæá1×ô\Œ Kÿd9ŽgûdF)Ià‚ÿe(Å`§°Sӊ?@=‡ô¢ºöÍÀ—úZ€ðGÿL©bN¹ß÷Ãþ–‰÷û”¿Ñ¬%@”ךåÿ Ì@õŸùGKîIþŸïéæ ƒ0f!ÿ‘·úxÄëlÿ@0dŒ pŠþ’ÉxÙ`19X?¡µ@;Ãßö‹•D'X ¿èêÐP€0·ý›øÓÄ>À.Qª‚ÀTˆE7þž?Ô(0W?É/û`ÝÝ;þ…«‚”‘?ìR =}/Wôœ\0{ÿ4€¢ˆ3÷Gÿ€áàš~ÖùǑ2Ø?æÁý6³Ûü‰¿»®[¿êuX+¿ù3ýlf˜ÌXÂCÍÁBÏö061îßúœ® gÿ™ÿAM~µÿÑð0=T[ýiºÀÏÿ²”§@j×C1·ô\Ì  Fÿb9€;/û-†©Ià†ÿ^XՀ>4Vӊ?@=ˆq¢»€§úZ” ÿN©bUOï£þ–‰;ùŒ¿Ñ¬%@±Ë©Œÿ ÌAEùGKžrþ‘ÏéåÈ ƒ0Š\ÿŠúxԏéÿ>0d’¿ð ‘þ’Éü‡َ`0b«ÿ—?¡Ž@J¢ßö‹•CÂ; /èëQ/ý€­J–ÓÄ>À.Qº"ÀT‰{þÿÔ(pSÿ¶+û`ݰþ…«‚šŠì’ Sـ/ôœ\ Ôÿ4€€(W÷6€áà–þÓ×ùǑD²_êuý6·óý?ºž®®óêu3` ýdf™žCÎÁV+Oõä0,è‡úœŽ ØEM}s@”Ñïð6€Pý)i³¿ü“”§@jǪ-/ô\ì 0Žÿ`9€À³þ[G)Hà·Äå°jœӊ?@=ˆî¢»/@7‡úZ„ ÆÿN©b[}ð+þ–Sù®?Ѭ%@ÏK©c¿ ËA/ùgK‚ªþsoéæ ƒ0®ˆ¿ªÓúxÄ?ñ°ÿ>0d™vàåþ’Ñlœ?Ù`/Œ?þÀ¿¡µ@mOö‹•C]8 ÍèëH@Ký€ãüÓÄ>À.QÉÂÀT‰ágþ_ßÔ(°UÿŸúè`Ü(@Žþ…¥‚Š›¿ìÒ j%4ÿôœ\ .ÿ4€¥Èw÷M¿€â`šþÖÇùבV?çqý6³Ëü ?º®.¢Ýêu0 Sýlf™]XèCÐÁN¯ö$0#²¿ç»úœžþŽCM|ÖÞŠÿÑð04Rsý1i«J/úՔ§@jž.Ÿô\Ü ãÿb9G›þ3Ç©G`²¿õ€ŠÁÒӊ?@=‰k¢»*y#úZdÐlÿN©baÞ/ï³þ–‰ù?Ѭ%@ì«©w? Ë@÷3ïùgKLÀþº¿éæˆ ƒ0ÒŒ?·ßúxÔôòÿ:0d *  þ’Ížä?Ù`.µ—þÊÿ¡Ž@-oÿö‹•Bø ü?èëR@*ý€ÔOÓÄ>À.QÙbÀTНEþÆ¿Ô(pW¿Êßúè`ÛO0 eþ…§‚ŒV_ìÒ €~€2Çôœ|çÿ2€§h»÷0¿€áà˜þÓùבhmŸáý6»§ûÒºž®=§©?êu0 ×ý`f™¥PŒCÎÁH"/öD0tæoúœ†—þ…CM|:Ž–ÿÑïð6ÀPoý!i£üє§@jšx7'ô\Ì °ôÿd9ÎÓý‚)G`±šÑ :œ¶ÓŠ?@=‰è¢»;²@úZd jÿL©bh>ñmþ–kùþѬ%A ;©8¿ ÌA$OùgKþéç ƒ0öïÿÄ¿úxŽÿø*ÿ>0dŠá !þ’Íh«¿ØŽ`-ÞT¥¿¡²@^æö«•B’ô èèëPÀ%/ý€ÚyÑÓ/@ASH701945E_M NONE24222 TRIMBLE NETR5?ŸªÓÄ>À.QéÀT‹}kþßÔ'ðZ¿Áóû`ÚuÀ þ…©‚’J?í –Þ€'Gôœlpwÿ2€©ë÷oÿ€â`’þÚ÷ùǑzH?ä¡ý6··üD¿ºž®L”À_êu.¹ýlf™íÈŠCÍÁUoö$03ÿîŸúœ† ×ÿ>M{ž:Ÿ¿Ñð04ÀQý)i›Ñ_û«”§@j˜í$7ô\ì 0•ÿd9‚V3ü›©H`¥‹áJ¥ÓŠ?@=Še¢»Lö ‡úZtÀÿL©bn›Ïù@þ–ûó?Ѭ%A'cª'? Ë@ý_ßùgJádþSéçH ƒ1.¿·úxÄOôÁÿ<0d­˜À zþ’Ñä¿Ù`-äÍ¡³@Nðö«•B-Ë ÿèëPI€.“ý€ÿËiÓ?ASH701945E_M NONE24222֓ÿÓÄ>À.Qø¢ÀTŒK‡þWÿÔ(°U¿Œûúø`ٛ`Úþ…«‚¬€ßìÒ ­<)Wôœ\pžÿ2€ª©“ö²€âà‹þÃGù§‘Œ Ÿî•ý6³ýƒ¿·®[Žh_êuX*¿ú±ýhfš6pwÿCÎÁXoö$0ú¿éúœ~÷þãÿCM{ðŸŸÑð°7€Qý)i”Ÿõ¥–§@j‰\(ô\ü @ ÿf9‚Ý/üëÉ)H`ªÿ–%€ÚÅTӊ?@=Šâ¢»^;¿ÿCúZ„ý«ÿL©btÿó}þ–çúÿÓ,%AE ª¿ ËA&VÏù‡J«†þ¶_éç ƒ1?q¿ GúxÔ_ï ÿ<0dŽO îþ’Å€^?Ù`,2ÿÀ¿¡³@:­oö‹•AÈ èßèëTÀ%Oý€a,ÜÓ>à ªçpKxQ­J8Bó&]|ÇÁÓÄ>À.RBÀTþ>Ô(°V?¹¿û`ØÃ þ…«‚€j?ì’ Ã¡€/ôœlÐ2ÿ2€¬Içöè¿€âà—þÊù·‘ž¿âýý6³ßü»®j’ÁêuX0ÛýhfšŸÿCÎÁ]ö/þ»õ[úœ^ @nÿCMzeÝßÑð°8€YWýiŒZ/øò–§@jy΀*§ô\Ì  cÿf9ƒd×ûÆ ©F`žq 5p&œÓŠ?@=‹_¢»ol@)¯úZd@IÿJ©b{`?ó„þ–‰»úƒ?Ò,%AbŸª5? ÌAcOù§Juùþ_Ÿéç ƒ1c°?”‡úxޝìÿ<0d»°Îþ’Íd•¿ÙŽ`+[€?¡³@pàïö«•Acš ŸèëQ€/óý€­8íÓ?PÙE)í˜<û GÝd?!ú@Öȁ0@~‹ÓÄ>À.RâÀTçŸþXÔ(ðX¿Œëû`×é Aþ…«‚ŒÒì’ Ú(ôœl€Œÿ4€­êC÷*¿€âà”~Ò_ùǑ¯Ýå%ý6¯ûüU?¹®y¯‰Ïêu-¿þíýlfšÈ0ÿCËÁRŸö/õ~ÿŸúœ^ ðºCMyÉ@þÿÑñp7]{ý!i„ _ó@–§@jjH!¿ô\Ì `Gÿh9ƒë£üìJ)F`žÿ•‰E€ÁµÚӊ?@=‹Ü¢»€¶ÀÏúZd ÓÿL©bÂ_ñOþ–cùõ¿Ò,%A€—©? ÌA:ù‡J@5þ£oéçH ƒ1‡Û¹oúx”ßõTÿ<0dÁŸ€ äþ’ɘÿَ`*…óÿÐÿ¡µ@+±_ök•@þ‚ èëR@0ëý€Ö-ÓÄ>À.R'‚ÀT޵™þŠŸÔ)0YÃ;û`×àßþ…«‚°Å_ì’ ðf€%gôœ@8ÿ4€¯Š·÷Z€ã`•~ØGùבÁ¹ßæ9ý6¯;üw¹®ˆ¿€oêu8+ÿýÃýhf› CÊÁU*ßö$/ìL?ò»úœf p ÿAMy-( ßÑñp7@Q¯ý!i|áŸùü–Šü@jZœ+‡ô\ü P‚ÿd9„s üÀ ©Eà€U€XR ӊ?@=ŒY¢»‘ü€úZt`cÿL©bˆ#¯ñ“þ–‹ú?Ò,%AžK©¿? ÌA EÏùÇJ žþHÏéç ƒ1¬!¿›«úxįíãÿ:0dÈvP €þ’ÉPAÿÚ`)¯ÜS?¡Ž@?Ñßö‹•@™… Ý/èëK€"Wý€ûCÓÄ>À.R7"ÀTƒ³þr?Ô)0]À/û`Ö9€'þ…«‚¢Žì’È6§ôœ ð bÿ4€±+3÷£€âà™þá_ù·‘Ó–¿æ©ý6«÷ü…¿¹®—ː¯êux-¿ÿÓýhf›Y°ÿCËÁW*¯ö/ãÿø£úœv øÕÿCMxæ¹ÿÑð°6@TÓý!iu$Oý<–Šø@jK?§ô\Ü €¥ÿ`9„ù·þ§K)DàŒÌéepSgfӊ?@=ŒÖ¢»£IÀúZDŸÿ[ÿH©bŽ…ÿïËþ–/ù“¿Ñ,%AŒ3©— ÌA;ßùÇIÕ,þ(éç ƒ1Ð]?™çúxŽïíqÿ:0dÏ/pËþ’ÉdԿڎ`(Ú³þæÿ¡Ž@'vïö˕@4n ç¯èëPO@$óýˆ=gÞÓÄ>À.RFÂÀTQÍþ]Ô(pYÿœû`Õb iþ…©‚€vÿì’;€ OôœP•ÿ4€²Ì÷¿€ã`þПùǑåpÿî ý6«'ýqº®ŠÅÚêu˜2€ ýXf›¢Ø ÿCËÁZ+Ÿö$/Ùڀúœ~ àIÿCMwôŽŽÑð°9Tý!imiïù+–Šü@j;»€!×ô\Ì `Kÿd9…ãüýK©Dà§ÿ—‘u`|‹ŒÓŠ?@=S¢»Ž›ïsúZt¿ùžÿH©b”æóÆþ–ú’Ñ,%AÙÿ©×? ÌAKßù§IŸLþëéçH ƒ1ôŒ?·oúxÔ_ôÓÿ@0dÕè ?þ’Éhñَ`(+þš¡µ@0g_ö˕?Ï@ .¿èêÐU€6³ýx«ÂD gpsd-3.9/test/rtcm3-3.dcd0000664000175000017500000074311011762140440013320 0ustar esresr# Made from rtcm3-3.log by inspectrtcm # This demonstration version for Eric Raymond (DEMO) expires at 2011-04-17. Please visit our website at http://www.dgpsonline.eu/ for contact information. RTCM3 (2011-04-10T22:38:51.22) Type 1004: ID=700, TOW=194448.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=217326.10, pd= -14.7935, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.08, pd= -19.8805, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=239195.58, pd= -12.6460, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.62, pd= -17.0065, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=245511.76, pd= -23.0550, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 9.78, pd= -31.2035, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 30572.58, pd= -11.4320, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.42, pd= -14.5090, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 29652.32, pd= -15.2630, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.18, pd= -20.2065, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=194918.64, pd= -2.2715, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.14, pd= -3.1520, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87470.12, pd= -20.3135, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.82, pd= -26.1650, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=167526.70, pd= -12.7415, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 1.26, pd= -17.3660, lock= >937, snr=17.00) SV= 3, L1 (C/A , r=268140.54, pd= -13.9640, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 5.92, pd= -18.4975, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.22) Type 1004: ID=700, TOW=194449.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=216764.32, pd= -14.9555, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.10, pd= -20.0430, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=238735.92, pd= -12.6325, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.60, pd= -16.9940, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=246181.34, pd= -23.3480, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 9.32, pd= -31.4970, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 30159.92, pd= -11.4065, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.38, pd= -14.4835, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 29189.70, pd= -15.2695, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.30, pd= -20.2130, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=195343.12, pd= -2.3210, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.18, pd= -3.2020, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87468.30, pd= -20.3620, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.80, pd= -26.2140, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=168151.34, pd= -12.9190, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 1.40, pd= -17.5425, lock= >937, snr=17.00) SV= 3, L1 (C/A , r=268785.82, pd= -14.0715, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 5.76, pd= -18.6050, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.22) Type 1004: ID=700, TOW=194450.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=216202.68, pd= -15.1980, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 6.94, pd= -20.2855, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=238276.32, pd= -12.5990, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.64, pd= -16.9600, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=246851.06, pd= -23.7655, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 9.22, pd= -31.9145, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 29747.28, pd= -11.3885, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.44, pd= -14.4655, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 28727.18, pd= -15.2830, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.16, pd= -20.2255, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=195767.66, pd= -2.3570, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 2.78, pd= -3.2375, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87466.60, pd= -20.4055, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.76, pd= -26.2565, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=168775.80, pd= -12.9180, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 1.48, pd= -17.5410, lock= >937, snr=17.00) SV= 3, L1 (C/A , r=269431.04, pd= -14.0950, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 5.74, pd= -18.6280, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.22) Type 1006: ID= 700, Year=5, GPS=Y, GLONASS=N, Galileo=N, X= 1112189.9000, Y= -4842955.0001, Z= 3985352.2000 QC=0(unspecified), height=0.0000 RTCM3 (2011-04-10T22:38:51.22) Type 1008: ID= 700, Antenna='AOAD/M_T', Setup ID= 1, Serial='309' RTCM3 (2011-04-10T22:38:51.22) Type 1004: ID=700, TOW=194451.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=215640.94, pd= -15.2790, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 6.72, pd= -20.3655, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=237816.80, pd= -12.5610, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.68, pd= -16.9210, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=247520.72, pd= -24.1195, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 9.00, pd= -32.2700, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 29334.68, pd= -11.4020, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.44, pd= -14.4785, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 28264.74, pd= -15.2845, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 4.94, pd= -20.2260, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=196192.24, pd= -2.3555, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 2.90, pd= -3.2370, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87465.00, pd= -20.4305, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.68, pd= -26.2820, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=169400.26, pd= -12.9225, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 2.58, pd= -17.5450, lock= >937, snr=17.00) SV= 3, L1 (C/A , r=270076.34, pd= -14.1805, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 5.44, pd= -18.7140, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.22) Type 1004: ID=700, TOW=194452.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=215079.34, pd= -15.4420, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 6.38, pd= -20.5285, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=237357.36, pd= -12.5240, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.84, pd= -16.8845, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=248190.20, pd= -24.2795, lock= >937, amb=23683604.182, snr=38.00) L2 (P(Y) , r= 8.56, pd= -32.4300, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 28922.12, pd= -11.4495, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.48, pd= -14.5260, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 27802.32, pd= -15.2140, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 5.00, pd= -20.1560, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=196616.82, pd= -2.2915, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.12, pd= -3.1730, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87463.56, pd= -20.4960, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.66, pd= -26.3480, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=170024.86, pd= -13.0615, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 2.80, pd= -17.6840, lock= >937, snr=17.00) SV= 3, L1 (C/A , r=270721.60, pd= -14.2070, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 5.50, pd= -18.7400, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.22) Type 1004: ID=700, TOW=194453.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=214517.72, pd= -15.5320, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 6.56, pd= -20.6185, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=236898.06, pd= -12.5430, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.82, pd= -16.9030, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=248859.62, pd= -24.3690, lock= >937, amb=23683604.182, snr=38.00) L2 (P(Y) , r= 8.72, pd= -32.5195, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 28509.54, pd= -11.4695, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.54, pd= -14.5455, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 27340.00, pd= -15.1485, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.00, pd= -20.0910, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=197041.54, pd= -2.2905, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 2.94, pd= -3.1710, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87462.20, pd= -20.5185, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.78, pd= -26.3705, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=170649.46, pd= -13.2125, lock= >937, amb=24582981.556, snr=38.00) L2 (P(Y) , r= 3.52, pd= -17.8355, lock= >937, snr=17.00) SV= 3, L1 (C/A , r=271366.90, pd= -14.2555, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 5.16, pd= -18.7890, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.22) Type 1004: ID=700, TOW=194454.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=213956.10, pd= -15.5565, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 6.38, pd= -20.6430, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=236438.82, pd= -12.5420, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 6.00, pd= -16.9020, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=249528.94, pd= -24.3510, lock= >937, amb=23683604.182, snr=38.00) L2 (P(Y) , r= 8.70, pd= -32.5025, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 28096.90, pd= -11.4200, lock= >937, amb=23383811.724, snr=42.00) L2 (P(Y) , r= 3.50, pd= -14.4960, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 26877.84, pd= -15.1510, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 4.54, pd= -20.0930, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=197466.32, pd= -2.2735, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.20, pd= -3.1545, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87460.92, pd= -20.5000, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.52, pd= -26.3515, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=171273.86, pd= -13.1570, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 3.84, pd= -17.7795, lock= >937, snr=17.00) SV= 3, L1 (C/A , r=272012.22, pd= -14.3005, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 5.22, pd= -18.8340, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.22) Type 1004: ID=700, TOW=194455.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=213394.66, pd= -15.7045, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 6.54, pd= -20.7910, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=235979.68, pd= -12.5605, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.66, pd= -16.9205, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=250198.22, pd= -24.2920, lock= >937, amb=23683604.182, snr=38.00) L2 (P(Y) , r= 8.76, pd= -32.4440, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 27684.18, pd= -11.2860, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.68, pd= -14.3615, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 26415.74, pd= -15.1220, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 4.54, pd= -20.0645, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=197891.10, pd= -2.1920, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.16, pd= -3.0730, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87459.74, pd= -20.4645, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.80, pd= -26.3165, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=171898.50, pd= -13.3490, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 4.30, pd= -17.9710, lock= >937, snr=17.00) SV= 3, L1 (C/A , r=272657.50, pd= -14.2920, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 5.10, pd= -18.8250, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.22) Type 1004: ID=700, TOW=194456.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=212833.22, pd= -15.7875, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 6.40, pd= -20.8740, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=235520.64, pd= -12.5955, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.66, pd= -16.9560, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=250867.44, pd= -24.1500, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 9.20, pd= -32.3015, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 27271.54, pd= -11.2170, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.72, pd= -14.2920, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 25953.76, pd= -15.1190, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 4.66, pd= -20.0610, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=198316.00, pd= -2.1520, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.18, pd= -3.0325, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87458.78, pd= -20.5280, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.80, pd= -26.3800, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=172523.00, pd= -13.3975, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 4.48, pd= -18.0195, lock= >937, snr=17.00) SV= 3, L1 (C/A , r=273302.92, pd= -14.4010, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 5.04, pd= -18.9350, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.22) Type 1004: ID=700, TOW=194457.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=212271.80, pd= -15.8325, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 6.12, pd= -20.9185, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=235061.66, pd= -12.6100, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.78, pd= -16.9700, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=251536.92, pd= -24.2680, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 8.94, pd= -32.4210, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 26858.84, pd= -11.0870, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.74, pd= -14.1620, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 25491.90, pd= -15.1420, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 4.84, pd= -20.0830, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=198740.92, pd= -2.0630, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.54, pd= -2.9440, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87457.90, pd= -20.5485, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.68, pd= -26.4005, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=173147.62, pd= -13.5730, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 5.04, pd= -18.1945, lock= >937, snr=17.00) SV= 3, L1 (C/A , r=273948.26, pd= -14.4125, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 5.08, pd= -18.9475, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.22) Type 1004: ID=700, TOW=194458.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=211710.46, pd= -15.9005, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 5.96, pd= -20.9860, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=234602.80, pd= -12.6635, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.58, pd= -17.0240, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=252206.40, pd= -24.3730, lock= >937, amb=23683604.182, snr=37.00) L2 (P(Y) , r= 8.88, pd= -32.5255, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 26446.14, pd= -10.9430, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.98, pd= -14.0170, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 25030.12, pd= -15.1520, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 4.64, pd= -20.0915, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=199165.92, pd= -1.9770, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.64, pd= -2.8570, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87457.16, pd= -20.5890, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.46, pd= -26.4405, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=173772.04, pd= -13.5390, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 5.30, pd= -18.1600, lock= >937, snr=17.00) SV= 3, L1 (C/A , r=274593.60, pd= -14.4010, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 4.82, pd= -18.9350, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.22) Type 1004: ID=700, TOW=194459.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=211149.26, pd= -16.0470, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 6.02, pd= -21.1325, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=234144.04, pd= -12.7320, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.80, pd= -17.0915, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=252875.82, pd= -24.4075, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 8.16, pd= -32.5600, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 26033.46, pd= -10.8140, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.08, pd= -13.8870, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 24568.44, pd= -15.1700, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.16, pd= -20.1105, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=199590.98, pd= -1.8835, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.66, pd= -2.7645, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87456.54, pd= -20.6310, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.42, pd= -26.4830, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=174396.58, pd= -13.6405, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 4.96, pd= -18.2615, lock= >937, snr=17.00) SV= 3, L1 (C/A , r=275238.96, pd= -14.3950, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 4.72, pd= -18.9295, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.22) Type 1004: ID=700, TOW=194460.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=210588.02, pd= -16.0925, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 5.90, pd= -21.1775, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=233685.34, pd= -12.7830, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.48, pd= -17.1420, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=253545.26, pd= -24.4515, lock= >937, amb=23683604.182, snr=38.00) L2 (P(Y) , r= 8.46, pd= -32.6040, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 25620.80, pd= -10.6945, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.40, pd= -13.7680, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 24106.78, pd= -15.1140, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.24, pd= -20.0535, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=200016.16, pd= -1.8355, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.78, pd= -2.7170, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87456.02, pd= -20.6505, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.52, pd= -26.5025, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=175021.14, pd= -13.7580, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 5.32, pd= -18.3775, lock= >937, snr=17.00) SV= 3, L1 (C/A , r=275884.32, pd= -14.3700, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 4.66, pd= -18.9050, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.22) Type 1006: ID= 700, Year=5, GPS=Y, GLONASS=N, Galileo=N, X= 1112189.9000, Y= -4842955.0001, Z= 3985352.2000 QC=0(unspecified), height=0.0000 RTCM3 (2011-04-10T22:38:51.22) Type 1008: ID= 700, Antenna='AOAD/M_T', Setup ID= 1, Serial='309' RTCM3 (2011-04-10T22:38:51.22) Type 1004: ID=700, TOW=194461.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=210026.82, pd= -16.1245, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 6.02, pd= -21.2095, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=233226.70, pd= -12.8115, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.44, pd= -17.1710, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=254214.90, pd= -24.6915, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 7.76, pd= -32.8435, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 25208.02, pd= -10.4535, lock= >937, amb=23383811.724, snr=42.00) L2 (P(Y) , r= 4.56, pd= -13.5270, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 23645.22, pd= -15.0640, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 4.88, pd= -20.0035, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=200441.44, pd= -1.8180, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.28, pd= -2.6980, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87455.64, pd= -20.6905, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.66, pd= -26.5420, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=175645.58, pd= -13.7570, lock= >937, amb=24582981.556, snr=38.00) L2 (P(Y) , r= 5.34, pd= -18.3770, lock= >937, snr=17.00) SV= 3, L1 (C/A , r=276529.74, pd= -14.3840, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 4.46, pd= -18.9200, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.22) Type 1004: ID=700, TOW=194462.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=209465.74, pd= -16.2065, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 6.16, pd= -21.2905, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=232768.12, pd= -12.8145, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.58, pd= -17.1740, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=254884.34, pd= -24.7215, lock= >937, amb=23683604.182, snr=38.00) L2 (P(Y) , r= 7.92, pd= -32.8750, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 24795.28, pd= -10.2415, lock= >937, amb=23383811.724, snr=42.00) L2 (P(Y) , r= 4.96, pd= -13.3140, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 23183.78, pd= -15.0440, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.12, pd= -19.9840, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=200866.86, pd= -1.8685, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.60, pd= -2.7500, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87455.30, pd= -20.6510, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.58, pd= -26.5035, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=176270.22, pd= -13.9565, lock= >937, amb=24582981.556, snr=38.00) L2 (P(Y) , r= 6.12, pd= -18.5765, lock= >937, snr=17.00) SV= 3, L1 (C/A , r=277175.18, pd= -14.4000, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 4.36, pd= -18.9360, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.22) Type 1004: ID=700, TOW=194463.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=208904.72, pd= -16.2950, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 6.14, pd= -21.3790, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=232309.64, pd= -12.8415, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.58, pd= -17.2020, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=255553.66, pd= -24.6200, lock= >937, amb=23683604.182, snr=38.00) L2 (P(Y) , r= 7.84, pd= -32.7735, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 24382.42, pd= -9.8965, lock= >937, amb=23383811.724, snr=42.00) L2 (P(Y) , r= 5.26, pd= -12.9685, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 22722.42, pd= -15.0075, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 5.02, pd= -19.9470, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=201292.22, pd= -1.7860, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.44, pd= -2.6680, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87455.14, pd= -20.6725, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.44, pd= -26.5250, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=176894.98, pd= -14.2780, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 5.78, pd= -18.8975, lock= >937, snr=17.00) SV= 3, L1 (C/A , r=277820.62, pd= -14.3955, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 4.36, pd= -18.9310, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.23) Type 1004: ID=700, TOW=194464.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=208343.78, pd= -16.4030, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 6.16, pd= -21.4870, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=231851.16, pd= -12.7855, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.60, pd= -17.1450, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=256223.24, pd= -24.7675, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 7.70, pd= -32.9215, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 23969.68, pd= -9.6665, lock= >937, amb=23383811.724, snr=42.00) L2 (P(Y) , r= 5.32, pd= -12.7385, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 22261.12, pd= -14.9385, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.02, pd= -19.8780, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=201717.74, pd= -1.7895, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.56, pd= -2.6715, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 87455.08, pd= -20.6725, lock= >937, amb=20086094.686, snr=52.00) L2 (P(Y) , r= 4.48, pd= -26.5240, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=177519.46, pd= -14.3205, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 5.04, pd= -18.9410, lock= >937, snr=17.00) SV= 3, L1 (C/A , r=278465.96, pd= -14.2725, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 4.42, pd= -18.8080, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.23) Type 1004: ID=700, TOW=194465.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=207782.76, pd= -16.3720, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 6.54, pd= -21.4560, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=231392.84, pd= -12.8050, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.64, pd= -17.1645, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=256892.90, pd= -24.9900, lock= >937, amb=23683604.182, snr=38.00) L2 (P(Y) , r= 7.46, pd= -33.1440, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 23556.88, pd= -9.3650, lock= >937, amb=23383811.724, snr=42.00) L2 (P(Y) , r= 5.56, pd= -12.4365, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 21799.96, pd= -14.9160, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 4.48, pd= -19.8545, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=202143.34, pd= -1.8030, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.50, pd= -2.6850, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87455.20, pd= -20.7295, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.48, pd= -26.5805, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=178144.00, pd= -14.4300, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 5.12, pd= -19.0500, lock= >937, snr=17.00) SV= 3, L1 (C/A , r=279111.34, pd= -14.1695, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 4.36, pd= -18.7055, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.23) Type 1004: ID=700, TOW=194466.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=207221.88, pd= -16.4205, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 6.64, pd= -21.5045, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=230934.64, pd= -12.8670, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.26, pd= -17.2270, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=257562.24, pd= -24.8770, lock= >937, amb=23683604.182, snr=38.00) L2 (P(Y) , r= 8.12, pd= -33.0315, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 23144.30, pd= -9.2815, lock= >937, amb=23383811.724, snr=42.00) L2 (P(Y) , r= 5.72, pd= -12.3520, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 21338.86, pd= -14.8620, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 4.62, pd= -19.8010, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=202568.98, pd= -1.7855, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.56, pd= -2.6675, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87455.44, pd= -20.7895, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.46, pd= -26.6420, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=178768.56, pd= -14.5525, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 5.48, pd= -19.1725, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=279756.96, pd= -14.2890, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 4.24, pd= -18.8245, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.23) Type 1004: ID=700, TOW=194467.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=206661.00, pd= -16.4095, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 6.50, pd= -21.4930, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=230476.48, pd= -12.8850, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.22, pd= -17.2440, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=258231.82, pd= -25.0040, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 8.02, pd= -33.1590, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 22731.70, pd= -9.1630, lock= >937, amb=23383811.724, snr=42.00) L2 (P(Y) , r= 5.76, pd= -12.2325, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 20877.90, pd= -14.8530, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.08, pd= -19.7920, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=202994.72, pd= -1.7925, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.46, pd= -2.6735, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87455.74, pd= -20.7875, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.36, pd= -26.6405, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=179393.06, pd= -14.6300, lock= >937, amb=24582981.556, snr=38.00) L2 (P(Y) , r= 5.72, pd= -19.2515, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=280402.56, pd= -14.3690, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 4.04, pd= -18.9045, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.23) Type 1004: ID=700, TOW=194468.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=206100.28, pd= -16.4985, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 6.44, pd= -21.5805, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=230018.34, pd= -12.8405, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.44, pd= -17.1995, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=258901.36, pd= -25.0765, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 7.30, pd= -33.2310, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 22319.12, pd= -9.0605, lock= >937, amb=23383811.724, snr=42.00) L2 (P(Y) , r= 5.86, pd= -12.1300, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 20417.08, pd= -14.8895, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.02, pd= -19.8280, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=203420.50, pd= -1.7720, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.54, pd= -2.6545, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87456.14, pd= -20.7665, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.40, pd= -26.6185, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=180017.64, pd= -14.7830, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 5.22, pd= -19.4050, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=281048.08, pd= -14.3485, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 4.22, pd= -18.8840, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.23) Type 1004: ID=700, TOW=194469.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=205539.56, pd= -16.5260, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 6.50, pd= -21.6070, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=229560.22, pd= -12.7365, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.56, pd= -17.0950, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=259570.96, pd= -25.1960, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 7.30, pd= -33.3515, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 21906.68, pd= -9.0895, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 5.94, pd= -12.1590, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 19956.38, pd= -14.9525, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 4.96, pd= -19.8910, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=203846.40, pd= -1.7940, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.66, pd= -2.6755, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87456.70, pd= -20.7835, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.42, pd= -26.6370, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=180642.08, pd= -14.7965, lock= >937, amb=24582981.556, snr=38.00) L2 (P(Y) , r= 4.70, pd= -19.4180, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=281693.78, pd= -14.4860, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 4.00, pd= -19.0210, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.23) Type 1004: ID=700, TOW=194470.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=204978.86, pd= -16.5155, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 6.50, pd= -21.5970, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=229102.18, pd= -12.6305, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.98, pd= -16.9900, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=260240.50, pd= -25.2565, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 7.28, pd= -33.4125, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 21494.30, pd= -9.1725, lock= >937, amb=23383811.724, snr=42.00) L2 (P(Y) , r= 5.74, pd= -12.2420, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 19495.80, pd= -15.0445, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 4.92, pd= -19.9835, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=204272.36, pd= -1.8085, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.60, pd= -2.6905, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87457.32, pd= -20.7420, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.36, pd= -26.5950, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=181266.58, pd= -14.8625, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 4.66, pd= -19.4835, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=282339.50, pd= -14.6275, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 4.10, pd= -19.1630, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.23) Type 1006: ID= 700, Year=5, GPS=Y, GLONASS=N, Galileo=N, X= 1112189.9000, Y= -4842955.0001, Z= 3985352.2000 QC=0(unspecified), height=0.0000 RTCM3 (2011-04-10T22:38:51.23) Type 1008: ID= 700, Antenna='AOAD/M_T', Setup ID= 1, Serial='309' RTCM3 (2011-04-10T22:38:51.23) Type 1004: ID=700, TOW=194471.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=204418.16, pd= -16.4470, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 6.82, pd= -21.5290, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=228644.32, pd= -12.6230, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.78, pd= -16.9815, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=260910.14, pd= -25.4060, lock= >937, amb=23683604.182, snr=38.00) L2 (P(Y) , r= 6.82, pd= -33.5620, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 21081.84, pd= -9.1650, lock= >937, amb=23383811.724, snr=42.00) L2 (P(Y) , r= 5.76, pd= -12.2335, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 19035.34, pd= -15.1600, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.12, pd= -20.0995, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=204698.40, pd= -1.8305, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.64, pd= -2.7130, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 87458.10, pd= -20.7375, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.38, pd= -26.5900, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=181890.98, pd= -14.8410, lock= >937, amb=24582981.556, snr=38.00) L2 (P(Y) , r= 4.54, pd= -19.4630, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=282985.10, pd= -14.6330, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 4.02, pd= -19.1685, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.23) Type 1004: ID=700, TOW=194472.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=203857.52, pd= -16.3750, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 6.94, pd= -21.4570, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=228186.58, pd= -12.6525, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.74, pd= -17.0110, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=261579.74, pd= -25.5010, lock= >937, amb=23683604.182, snr=38.00) L2 (P(Y) , r= 6.38, pd= -33.6570, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 20669.32, pd= -9.0900, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 5.88, pd= -12.1580, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 18574.92, pd= -15.2260, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 4.70, pd= -20.1665, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=205124.56, pd= -1.8995, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.36, pd= -2.7815, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87458.96, pd= -20.6945, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.52, pd= -26.5480, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=182515.42, pd= -14.8540, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 4.66, pd= -19.4755, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=283630.80, pd= -14.7145, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 4.00, pd= -19.2495, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.23) Type 1004: ID=700, TOW=194473.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=203296.92, pd= -16.2795, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.22, pd= -21.3620, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=227728.86, pd= -12.6180, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.70, pd= -16.9765, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=262249.20, pd= -25.4525, lock= >937, amb=23683604.182, snr=38.00) L2 (P(Y) , r= 6.14, pd= -33.6080, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 20256.90, pd= -9.1090, lock= >937, amb=23383811.724, snr=42.00) L2 (P(Y) , r= 5.88, pd= -12.1760, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 18114.60, pd= -15.2950, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 4.48, pd= -20.2340, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=205550.72, pd= -1.8950, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.48, pd= -2.7765, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 87459.96, pd= -20.6695, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.54, pd= -26.5225, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=183140.00, pd= -15.0095, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 4.54, pd= -19.6305, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=284276.52, pd= -14.7975, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 3.86, pd= -19.3325, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.23) Type 1004: ID=700, TOW=194474.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=202736.34, pd= -16.1480, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.32, pd= -21.2300, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=227271.22, pd= -12.5845, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 6.22, pd= -16.9435, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=262918.64, pd= -25.3725, lock= >937, amb=23683604.182, snr=38.00) L2 (P(Y) , r= 6.72, pd= -33.5290, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 19844.50, pd= -9.1390, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 5.88, pd= -12.2065, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 17654.34, pd= -15.3330, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 4.54, pd= -20.2730, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=205976.92, pd= -1.8635, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.26, pd= -2.7455, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 87461.04, pd= -20.6030, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.70, pd= -26.4560, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=183764.40, pd= -14.9935, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 3.82, pd= -19.6145, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=284922.34, pd= -14.9640, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 3.72, pd= -19.4985, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.23) Type 1004: ID=700, TOW=194475.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=202175.90, pd= -16.0965, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.04, pd= -21.1785, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=226813.70, pd= -12.5895, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.98, pd= -16.9480, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=263588.18, pd= -25.3850, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 6.78, pd= -33.5415, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 19432.12, pd= -9.1770, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 6.08, pd= -12.2440, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 17194.14, pd= -15.3345, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 4.52, pd= -20.2730, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=206403.22, pd= -1.8565, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.18, pd= -2.7385, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 87462.22, pd= -20.5165, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.80, pd= -26.3695, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=184388.76, pd= -14.9330, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 4.38, pd= -19.5545, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=285568.06, pd= -15.0085, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 3.76, pd= -19.5440, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.23) Type 1004: ID=700, TOW=194476.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=201615.48, pd= -16.0035, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.18, pd= -21.0855, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=226356.26, pd= -12.5920, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 6.00, pd= -16.9500, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=264257.62, pd= -25.2860, lock= >937, amb=23683604.182, snr=38.00) L2 (P(Y) , r= 6.58, pd= -33.4430, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 19019.92, pd= -9.3915, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 5.58, pd= -12.4580, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 16734.04, pd= -15.3445, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 4.52, pd= -20.2835, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=206829.58, pd= -1.8395, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.26, pd= -2.7205, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 87463.54, pd= -20.4505, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.72, pd= -26.3035, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=185013.20, pd= -14.9615, lock= >937, amb=24582981.556, snr=38.00) L2 (P(Y) , r= 4.04, pd= -19.5835, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=286213.74, pd= -14.9930, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 3.72, pd= -19.5280, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.23) Type 1004: ID=700, TOW=194477.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=201055.12, pd= -15.9145, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.20, pd= -20.9965, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=225898.94, pd= -12.6305, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.98, pd= -16.9895, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=264927.20, pd= -25.3220, lock= >937, amb=23683604.182, snr=38.00) L2 (P(Y) , r= 6.32, pd= -33.4795, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 18607.56, pd= -9.4390, lock= >937, amb=23383811.724, snr=42.00) L2 (P(Y) , r= 5.46, pd= -12.5055, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 16274.02, pd= -15.3400, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.14, pd= -20.2790, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=207255.94, pd= -1.7500, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.76, pd= -2.6310, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 87465.00, pd= -20.4045, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.84, pd= -26.2575, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=185637.52, pd= -14.8655, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 5.12, pd= -19.4875, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=286859.60, pd= -15.1430, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 3.54, pd= -19.6780, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.23) Type 1004: ID=700, TOW=194478.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=200494.82, pd= -15.8220, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 6.94, pd= -20.9030, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=225441.72, pd= -12.6875, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 6.04, pd= -17.0460, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=265596.72, pd= -25.2855, lock= >937, amb=23683604.182, snr=38.00) L2 (P(Y) , r= 6.34, pd= -33.4425, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 18195.34, pd= -9.6150, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 5.40, pd= -12.6815, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 15814.06, pd= -15.3030, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 4.60, pd= -20.2415, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=207682.34, pd= -1.6275, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.80, pd= -2.5085, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 87466.62, pd= -20.3960, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.78, pd= -26.2490, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=186262.02, pd= -14.9565, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 5.12, pd= -19.5790, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=287505.40, pd= -15.2135, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 3.58, pd= -19.7485, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.23) Type 1004: ID=700, TOW=194479.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=199934.56, pd= -15.7090, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.02, pd= -20.7890, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=224984.58, pd= -12.7430, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.64, pd= -17.1020, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=266266.28, pd= -25.2820, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 6.06, pd= -33.4385, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 17783.20, pd= -9.8650, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 5.02, pd= -12.9310, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 15354.20, pd= -15.2735, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 4.62, pd= -20.2135, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=208108.84, pd= -1.5355, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.58, pd= -2.4170, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 87468.34, pd= -20.3730, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.82, pd= -26.2265, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=186886.50, pd= -15.0215, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 4.70, pd= -19.6430, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=288151.30, pd= -15.3600, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 3.48, pd= -19.8940, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.23) Type 1004: ID=700, TOW=194480.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=199374.32, pd= -15.5545, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.20, pd= -20.6340, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=224527.60, pd= -12.8750, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.70, pd= -17.2340, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=266935.84, pd= -25.2725, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 6.70, pd= -33.4295, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 17370.92, pd= -9.9625, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.62, pd= -13.0280, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 14894.40, pd= -15.2100, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 4.54, pd= -20.1505, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=208535.46, pd= -1.4905, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.52, pd= -2.3720, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 87470.20, pd= -20.3645, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.86, pd= -26.2175, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=187510.92, pd= -15.0385, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 4.72, pd= -19.6600, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=288797.10, pd= -15.3895, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 3.52, pd= -19.9230, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.23) Type 1006: ID= 700, Year=5, GPS=Y, GLONASS=N, Galileo=N, X= 1112189.9000, Y= -4842955.0001, Z= 3985352.2000 QC=0(unspecified), height=0.0000 RTCM3 (2011-04-10T22:38:51.23) Type 1008: ID= 700, Antenna='AOAD/M_T', Setup ID= 1, Serial='309' RTCM3 (2011-04-10T22:38:51.23) Type 1004: ID=700, TOW=194481.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=198814.16, pd= -15.4215, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.40, pd= -20.5010, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=224070.64, pd= -12.9455, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.56, pd= -17.3040, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=267605.48, pd= -25.3320, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 6.98, pd= -33.4890, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 16958.60, pd= -10.0165, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.52, pd= -13.0810, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 14434.68, pd= -15.1340, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 4.60, pd= -20.0740, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=208962.20, pd= -1.4945, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.50, pd= -2.3755, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 87472.24, pd= -20.4145, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.80, pd= -26.2675, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=188135.42, pd= -15.1275, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 5.12, pd= -19.7485, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=289442.88, pd= -15.3840, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 3.50, pd= -19.9175, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194482.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=198254.02, pd= -15.2500, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.58, pd= -20.3285, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=223613.72, pd= -12.9715, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.42, pd= -17.3300, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=268275.24, pd= -25.4965, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 6.32, pd= -33.6530, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 16546.26, pd= -10.0425, lock= >937, amb=23383811.724, snr=42.00) L2 (P(Y) , r= 4.44, pd= -13.1075, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 13975.02, pd= -15.0185, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 4.94, pd= -19.9585, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=209389.04, pd= -1.5235, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.62, pd= -2.4055, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87474.34, pd= -20.4065, lock= >937, amb=20086094.686, snr=52.00) L2 (P(Y) , r= 4.88, pd= -26.2595, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=188759.98, pd= -15.2885, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 4.56, pd= -19.9095, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=290088.78, pd= -15.4760, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 3.16, pd= -20.0095, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194483.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=197694.10, pd= -15.2355, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.38, pd= -20.3140, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=223156.84, pd= -12.9615, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.28, pd= -17.3205, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=268944.84, pd= -25.4990, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 6.18, pd= -33.6550, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 16133.92, pd= -10.0580, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.54, pd= -13.1220, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 13515.48, pd= -14.9355, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 4.78, pd= -19.8750, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=209815.96, pd= -1.5630, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.58, pd= -2.4450, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 87476.60, pd= -20.4360, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.92, pd= -26.2890, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=189384.48, pd= -15.3785, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 4.72, pd= -19.9995, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=290734.68, pd= -15.5470, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 3.10, pd= -20.0800, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194484.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=197134.16, pd= -15.1390, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.50, pd= -20.2175, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=222700.08, pd= -12.9865, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.50, pd= -17.3455, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=269614.46, pd= -25.5105, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 5.64, pd= -33.6670, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 15721.50, pd= -9.9870, lock= >937, amb=23383811.724, snr=42.00) L2 (P(Y) , r= 4.44, pd= -13.0510, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 13056.06, pd= -14.8770, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 4.98, pd= -19.8165, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=210243.04, pd= -1.6915, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.38, pd= -2.5740, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87479.00, pd= -20.4865, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.76, pd= -26.3395, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=190008.70, pd= -15.1940, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 5.08, pd= -19.8145, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=291380.58, pd= -15.6015, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 3.12, pd= -20.1350, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194485.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=196574.32, pd= -15.0885, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.46, pd= -20.1675, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=222243.40, pd= -13.0090, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.42, pd= -17.3675, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=270284.14, pd= -25.5765, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 5.66, pd= -33.7330, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 15309.10, pd= -9.9325, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.66, pd= -12.9970, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 12596.68, pd= -14.7670, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 5.36, pd= -19.7055, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=210670.12, pd= -1.7485, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.22, pd= -2.6305, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87481.50, pd= -20.5190, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.66, pd= -26.3730, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=190633.04, pd= -15.1370, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 5.48, pd= -19.7580, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=292026.40, pd= -15.5575, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 3.04, pd= -20.0905, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194486.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=196014.44, pd= -14.9345, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.66, pd= -20.0140, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=221786.80, pd= -13.0310, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.82, pd= -17.3900, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=270953.84, pd= -25.6495, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 5.48, pd= -33.8060, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 14896.82, pd= -9.9830, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.46, pd= -13.0465, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 12137.48, pd= -14.7425, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.04, pd= -19.6820, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=211097.28, pd= -1.8110, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.26, pd= -2.6925, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87484.10, pd= -20.5260, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.62, pd= -26.3790, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=191257.52, pd= -15.2250, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 5.04, pd= -19.8465, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=292672.28, pd= -15.5520, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 3.08, pd= -20.0845, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194487.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=195454.58, pd= -14.7390, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.10, pd= -19.8180, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=221330.24, pd= -13.0090, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.30, pd= -17.3675, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=271623.64, pd= -25.8160, lock= >937, amb=23683604.182, snr=41.00) L2 (P(Y) , r= 5.08, pd= -33.9725, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 14484.66, pd= -10.1470, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.48, pd= -13.2100, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 11678.34, pd= -14.6845, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.08, pd= -19.6245, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=211524.48, pd= -1.8430, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.32, pd= -2.7250, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87486.82, pd= -20.5350, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.72, pd= -26.3895, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=191881.88, pd= -15.1870, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 5.30, pd= -19.8080, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=293318.14, pd= -15.5115, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 2.90, pd= -20.0440, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194488.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=194894.86, pd= -14.6235, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.40, pd= -19.7025, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=220873.84, pd= -13.0660, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.48, pd= -17.4250, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=272293.42, pd= -25.9505, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 5.18, pd= -34.1065, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 14072.40, pd= -10.2050, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.60, pd= -13.2685, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 11219.32, pd= -14.6540, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 5.18, pd= -19.5945, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=211951.80, pd= -1.9245, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.16, pd= -2.8060, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87489.68, pd= -20.5615, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.68, pd= -26.4155, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=192506.32, pd= -15.2390, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 4.92, pd= -19.8610, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=293964.00, pd= -15.4470, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 3.18, pd= -19.9795, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194489.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=194335.26, pd= -14.5705, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.04, pd= -19.6495, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=220417.48, pd= -13.0810, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.26, pd= -17.4410, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=272963.24, pd= -26.1245, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 5.24, pd= -34.2815, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 13660.26, pd= -10.3715, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.40, pd= -13.4345, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 10760.36, pd= -14.5880, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 5.46, pd= -19.5275, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=212379.16, pd= -1.9725, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.14, pd= -2.8535, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87492.62, pd= -20.5505, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.76, pd= -26.4045, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=193130.72, pd= -15.2430, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 5.30, pd= -19.8645, lock= >937, snr=19.25) SV= 3, L1 (C/A , r=294609.84, pd= -15.3490, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 3.56, pd= -19.8825, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194490.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=193775.66, pd= -14.4535, lock= >937, amb=22184641.892, snr=43.00) L2 (P(Y) , r= 8.10, pd= -19.5325, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=219961.14, pd= -13.0320, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 4.76, pd= -17.3915, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=273633.06, pd= -26.2795, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 4.80, pd= -34.4355, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 13248.14, pd= -10.5530, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.52, pd= -13.6165, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 10301.48, pd= -14.5080, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 5.22, pd= -19.4475, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=212806.62, pd= -2.0495, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.46, pd= -2.9305, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87495.68, pd= -20.5380, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.72, pd= -26.3920, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=193755.30, pd= -15.4340, lock= >937, amb=24582981.556, snr=37.00) L2 (P(Y) , r= 5.36, pd= -20.0565, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=295255.72, pd= -15.2685, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 3.46, pd= -19.8020, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.24) Type 1006: ID= 700, Year=5, GPS=Y, GLONASS=N, Galileo=N, X= 1112189.9000, Y= -4842955.0001, Z= 3985352.2000 QC=0(unspecified), height=0.0000 RTCM3 (2011-04-10T22:38:51.24) Type 1008: ID= 700, Antenna='AOAD/M_T', Setup ID= 1, Serial='309' RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194491.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=193216.16, pd= -14.3795, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.08, pd= -19.4580, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=219504.92, pd= -13.0210, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.04, pd= -17.3800, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=274302.90, pd= -26.4570, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 4.64, pd= -34.6140, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 12836.08, pd= -10.7810, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.54, pd= -13.8445, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 9842.76, pd= -14.4995, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 5.38, pd= -19.4385, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=213234.12, pd= -2.0970, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.22, pd= -2.9780, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87498.90, pd= -20.5660, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.66, pd= -26.4210, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=194379.64, pd= -15.3810, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 4.74, pd= -20.0035, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=295901.58, pd= -15.1510, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 3.72, pd= -19.6835, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194492.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=192656.66, pd= -14.2410, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.32, pd= -19.3200, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=219048.80, pd= -13.0265, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.34, pd= -17.3850, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=274972.68, pd= -26.5570, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 4.22, pd= -34.7130, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 12423.98, pd= -10.9690, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.42, pd= -14.0325, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 9384.16, pd= -14.5105, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 5.28, pd= -19.4485, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=213661.70, pd= -2.1505, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.28, pd= -3.0315, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87502.26, pd= -20.6120, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.54, pd= -26.4665, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=195003.74, pd= -15.0915, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 5.06, pd= -19.7130, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=296547.48, pd= -15.0570, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 3.70, pd= -19.5900, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194493.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=192097.28, pd= -14.1645, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.14, pd= -19.2425, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=218592.76, pd= -13.0320, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.44, pd= -17.3900, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=275642.30, pd= -26.4920, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 4.56, pd= -34.6485, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 12011.84, pd= -11.1055, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.50, pd= -14.1695, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 8925.66, pd= -14.5335, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 5.42, pd= -19.4710, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=214089.32, pd= -2.1730, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.10, pd= -3.0535, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87505.70, pd= -20.6195, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.64, pd= -26.4745, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=195628.10, pd= -15.0705, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 4.46, pd= -19.6920, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=297193.40, pd= -14.9550, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 4.12, pd= -19.4875, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194494.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=191538.02, pd= -14.1460, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.72, pd= -19.2245, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=218136.86, pd= -13.0925, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.20, pd= -17.4505, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=276311.72, pd= -26.2185, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 4.68, pd= -34.3745, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 11599.70, pd= -11.2325, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.52, pd= -14.2960, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 8467.26, pd= -14.5580, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 5.68, pd= -19.4960, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=214517.02, pd= -2.2030, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.04, pd= -3.0830, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87509.28, pd= -20.6430, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.66, pd= -26.4980, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=196252.50, pd= -15.0795, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 4.94, pd= -19.7020, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=297839.48, pd= -15.0030, lock= >937, amb=22784226.808, snr=43.00) L2 (P(Y) , r= 3.96, pd= -19.5365, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194495.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=190978.78, pd= -14.0920, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.82, pd= -19.1705, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=217680.98, pd= -13.0940, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 4.82, pd= -17.4525, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=276981.30, pd= -26.0920, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 5.10, pd= -34.2485, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 11187.48, pd= -11.2725, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.26, pd= -14.3355, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 8008.96, pd= -14.5925, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.48, pd= -19.5315, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=214944.80, pd= -2.2425, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.20, pd= -3.1220, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87512.96, pd= -20.6465, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.80, pd= -26.5000, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=196876.64, pd= -14.8465, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 5.36, pd= -19.4700, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=298485.46, pd= -14.9250, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 4.06, pd= -19.4585, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194496.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=190419.64, pd= -14.0735, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.84, pd= -19.1520, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=217225.14, pd= -13.0515, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.36, pd= -17.4100, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=277650.98, pd= -26.0635, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 5.42, pd= -34.2205, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 10775.22, pd= -11.2635, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.26, pd= -14.3265, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 7550.70, pd= -14.5695, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.36, pd= -19.5085, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=215372.68, pd= -2.3120, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.14, pd= -3.1920, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87516.78, pd= -20.6710, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.74, pd= -26.5260, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=197500.88, pd= -14.7030, lock= >937, amb=24582981.556, snr=33.00) L2 (P(Y) , r= 5.86, pd= -19.3265, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=299131.40, pd= -14.7930, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 4.24, pd= -19.3265, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194497.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=189860.50, pd= -13.9960, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.18, pd= -19.0745, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=216769.38, pd= -13.0090, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.56, pd= -17.3675, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=278320.60, pd= -25.9630, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 5.86, pd= -34.1190, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 10362.92, pd= -11.2110, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.30, pd= -14.2745, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 7092.52, pd= -14.5380, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 5.42, pd= -19.4750, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=215800.62, pd= -2.3690, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.16, pd= -3.2485, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87520.70, pd= -20.6735, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.72, pd= -26.5280, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=198124.74, pd= -14.1805, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 7.40, pd= -18.8050, lock= >937, snr=17.75) SV= 3, L1 (C/A , r=299777.42, pd= -14.7260, lock= >937, amb=22784226.808, snr=42.00) L2 (P(Y) , r= 4.32, pd= -19.2605, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194498.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=189301.42, pd= -13.9185, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.20, pd= -18.9960, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=216313.70, pd= -12.9630, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.44, pd= -17.3210, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=278990.10, pd= -25.7350, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 6.06, pd= -33.8915, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 9950.66, pd= -11.1875, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.30, pd= -14.2505, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 6634.50, pd= -14.5660, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 5.36, pd= -19.5030, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=216228.58, pd= -2.3720, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.46, pd= -3.2510, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87524.76, pd= -20.6970, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.74, pd= -26.5510, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=198749.00, pd= -14.0615, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 7.26, pd= -18.6860, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 631.00, pd= -14.6560, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 4.04, pd= -19.1905, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194499.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=188742.50, pd= -13.9370, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.60, pd= -19.0140, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=215858.12, pd= -12.9340, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.44, pd= -17.2910, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=279659.92, pd= -25.8190, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 6.16, pd= -33.9750, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 9538.42, pd= -11.1785, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.20, pd= -14.2415, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 6176.56, pd= -14.5845, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 5.26, pd= -19.5230, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=216656.66, pd= -2.4235, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 3.42, pd= -3.3035, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87528.92, pd= -20.6975, lock= >937, amb=20086094.686, snr=52.00) L2 (P(Y) , r= 4.64, pd= -26.5520, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=199373.02, pd= -13.7110, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 7.84, pd= -18.3355, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 1277.08, pd= -14.6070, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.04, pd= -19.1410, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194500.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=188183.60, pd= -13.9155, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.80, pd= -18.9920, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=215402.66, pd= -12.9425, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.48, pd= -17.3010, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=280329.64, pd= -25.7915, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 5.82, pd= -33.9470, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 9126.20, pd= -11.1790, lock= >937, amb=23383811.724, snr=42.00) L2 (P(Y) , r= 3.84, pd= -14.2420, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 5718.66, pd= -14.5470, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 5.50, pd= -19.4840, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=217084.82, pd= -2.4850, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.42, pd= -3.3660, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87533.24, pd= -20.7410, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.66, pd= -26.5960, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=199997.20, pd= -13.5215, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 7.40, pd= -18.1465, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 1923.18, pd= -14.5590, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.14, pd= -19.0935, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.24) Type 1006: ID= 700, Year=5, GPS=Y, GLONASS=N, Galileo=N, X= 1112189.9000, Y= -4842955.0001, Z= 3985352.2000 QC=0(unspecified), height=0.0000 RTCM3 (2011-04-10T22:38:51.24) Type 1008: ID= 700, Antenna='AOAD/M_T', Setup ID= 1, Serial='309' RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194501.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=187624.72, pd= -13.8550, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.02, pd= -18.9315, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=214947.30, pd= -12.9695, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.44, pd= -17.3275, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=280999.24, pd= -25.6410, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 6.58, pd= -33.7975, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 8713.88, pd= -11.0705, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.82, pd= -14.1330, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 5260.84, pd= -14.4975, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 5.12, pd= -19.4335, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=217513.02, pd= -2.5140, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.06, pd= -3.3940, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87537.64, pd= -20.7400, lock= >937, amb=20086094.686, snr=52.00) L2 (P(Y) , r= 4.50, pd= -26.5945, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=200621.20, pd= -13.1525, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 7.94, pd= -17.7790, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 2569.28, pd= -14.4920, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 4.38, pd= -19.0270, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194502.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=187065.88, pd= -13.7735, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.18, pd= -18.8495, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=214492.02, pd= -12.9925, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.54, pd= -17.3510, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=281668.88, pd= -25.5135, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 6.70, pd= -33.6700, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 8301.70, pd= -11.0925, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.96, pd= -14.1550, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 4803.14, pd= -14.4740, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 5.56, pd= -19.4100, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=217941.26, pd= -2.5130, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.14, pd= -3.3935, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87542.18, pd= -20.7590, lock= >937, amb=20086094.686, snr=52.00) L2 (P(Y) , r= 4.52, pd= -26.6140, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=201245.36, pd= -12.9465, lock= >937, amb=24582981.556, snr=33.00) L2 (P(Y) , r= 8.20, pd= -17.5730, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 3215.42, pd= -14.4475, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.22, pd= -18.9825, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.24) Type 1004: ID=700, TOW=194503.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=186507.14, pd= -13.7310, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.36, pd= -18.8065, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=214036.80, pd= -12.9900, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.30, pd= -17.3465, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=282338.78, pd= -25.6475, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 6.26, pd= -33.8035, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 7889.52, pd= -11.1130, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.82, pd= -14.1745, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 4345.54, pd= -14.4590, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.52, pd= -19.3945, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=218369.54, pd= -2.4810, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.44, pd= -3.3610, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87546.84, pd= -20.7790, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.58, pd= -26.6330, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=201869.42, pd= -12.6370, lock= >937, amb=24582981.556, snr=33.00) L2 (P(Y) , r= 9.00, pd= -17.2630, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 3861.68, pd= -14.5015, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.14, pd= -19.0360, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.25) Type 1004: ID=700, TOW=194504.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=185948.46, pd= -13.6880, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.62, pd= -18.7635, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=213581.70, pd= -13.0275, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.16, pd= -17.3850, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=283008.52, pd= -25.6130, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 5.94, pd= -33.7695, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 7477.24, pd= -11.0220, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.86, pd= -14.0840, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 3888.10, pd= -14.5080, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 5.66, pd= -19.4440, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=218797.92, pd= -2.4725, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.44, pd= -3.3525, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87551.60, pd= -20.7800, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.46, pd= -26.6345, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=202493.56, pd= -12.4150, lock= >937, amb=24582981.556, snr=33.00) L2 (P(Y) , r= 9.72, pd= -17.0420, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 4507.88, pd= -14.4790, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.18, pd= -19.0145, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.25) Type 1004: ID=700, TOW=194505.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=185389.84, pd= -13.6450, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.72, pd= -18.7195, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=213126.68, pd= -13.0635, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.34, pd= -17.4220, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=283678.24, pd= -25.5480, lock= >937, amb=23683604.182, snr=41.00) L2 (P(Y) , r= 5.96, pd= -33.7050, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 7065.02, pd= -10.9795, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.82, pd= -14.0415, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 3430.72, pd= -14.5225, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.48, pd= -19.4570, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=219226.34, pd= -2.4385, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.34, pd= -3.3185, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87556.46, pd= -20.7605, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.54, pd= -26.6155, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=203117.54, pd= -12.0325, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 9.96, pd= -16.6600, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 5154.02, pd= -14.3790, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.06, pd= -18.9140, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.25) Type 1004: ID=700, TOW=194506.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=184831.36, pd= -13.6810, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.94, pd= -18.7555, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=212671.76, pd= -13.1160, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.46, pd= -17.4745, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=284348.18, pd= -25.6935, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 6.02, pd= -33.8510, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 6652.66, pd= -10.7920, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.86, pd= -13.8540, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 2973.46, pd= -14.5640, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.82, pd= -19.4995, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=219654.84, pd= -2.4095, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.50, pd= -3.2895, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87561.46, pd= -20.7565, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.62, pd= -26.6115, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=203741.60, pd= -11.7285, lock= >937, amb=24582981.556, snr=32.00) L2 (P(Y) , r= 10.64, pd= -16.3555, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 5800.20, pd= -14.3000, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 3.96, pd= -18.8345, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.25) Type 1004: ID=700, TOW=194507.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=184272.92, pd= -13.6955, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.80, pd= -18.7700, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=212216.88, pd= -13.1240, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.60, pd= -17.4815, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=285017.96, pd= -25.6730, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 6.06, pd= -33.8310, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 6240.38, pd= -10.6700, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.88, pd= -13.7315, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 2516.32, pd= -14.6295, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.96, pd= -19.5640, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=220083.44, pd= -2.4100, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.42, pd= -3.2905, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87566.60, pd= -20.7760, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.48, pd= -26.6310, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=204365.90, pd= -11.6680, lock= >937, amb=24582981.556, snr=33.00) L2 (P(Y) , r= 10.54, pd= -16.2960, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 6446.40, pd= -14.2215, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 4.26, pd= -18.7560, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.25) Type 1004: ID=700, TOW=194508.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=183714.60, pd= -13.7730, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.58, pd= -18.8465, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=211762.08, pd= -13.1305, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.64, pd= -17.4880, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=285687.74, pd= -25.6435, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 5.88, pd= -33.8020, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 5828.12, pd= -10.5620, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.20, pd= -13.6230, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 2059.26, pd= -14.6820, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.12, pd= -19.6170, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=220512.04, pd= -2.3400, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.42, pd= -3.2200, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87571.86, pd= -20.7930, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.52, pd= -26.6485, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=204989.86, pd= -11.2710, lock= >937, amb=24582981.556, snr=32.00) L2 (P(Y) , r= 10.52, pd= -15.8990, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 7092.64, pd= -14.1635, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 4.30, pd= -18.6990, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.25) Type 1004: ID=700, TOW=194509.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=183156.36, pd= -13.8640, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 8.38, pd= -18.9365, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=211307.38, pd= -13.1570, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.56, pd= -17.5145, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=286357.54, pd= -25.6265, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 6.02, pd= -33.7840, lock= >937, snr=19.25) SV= 28, L1 (C/A , r= 5415.92, pd= -10.5160, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.12, pd= -13.5775, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 1602.24, pd= -14.6805, lock= >937, amb=21285264.518, snr=48.00) L2 (P(Y) , r= 5.54, pd= -19.6145, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=220940.76, pd= -2.3210, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.58, pd= -3.2020, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87577.24, pd= -20.8110, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.46, pd= -26.6655, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=205614.40, pd= -11.4495, lock= >937, amb=24582981.556, snr=33.00) L2 (P(Y) , r= 9.74, pd= -16.0780, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 7738.98, pd= -14.1870, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.36, pd= -18.7210, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.25) Type 1004: ID=700, TOW=194510.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=182598.20, pd= -13.9745, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.56, pd= -19.0465, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=210852.74, pd= -13.1575, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.50, pd= -17.5145, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=287027.38, pd= -25.6405, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 6.04, pd= -33.7990, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 5003.66, pd= -10.3925, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.40, pd= -13.4535, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 1145.38, pd= -14.7440, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.66, pd= -19.6790, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=221369.52, pd= -2.2665, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.40, pd= -3.1470, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87582.76, pd= -20.8475, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.52, pd= -26.7025, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=206238.58, pd= -11.2775, lock= >937, amb=24582981.556, snr=32.00) L2 (P(Y) , r= 9.92, pd= -15.9070, lock= >937, snr=16.00) SV= 3, L1 (C/A , r= 8385.32, pd= -14.1925, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 4.38, pd= -18.7275, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.25) Type 1006: ID= 700, Year=5, GPS=Y, GLONASS=N, Galileo=N, X= 1112189.9000, Y= -4842955.0001, Z= 3985352.2000 QC=0(unspecified), height=0.0000 RTCM3 (2011-04-10T22:38:51.25) Type 1008: ID= 700, Antenna='AOAD/M_T', Setup ID= 1, Serial='309' RTCM3 (2011-04-10T22:38:51.25) Type 1004: ID=700, TOW=194511.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=182040.04, pd= -14.0285, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.58, pd= -19.1015, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=210398.06, pd= -13.0400, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.38, pd= -17.3975, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=287697.26, pd= -25.6890, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 6.24, pd= -33.8470, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 4591.64, pd= -10.4995, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.28, pd= -13.5595, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 688.60, pd= -14.7930, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.70, pd= -19.7265, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=221798.38, pd= -2.2420, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.52, pd= -3.1225, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87588.36, pd= -20.8435, lock= >937, amb=20086094.686, snr=52.00) L2 (P(Y) , r= 4.46, pd= -26.6990, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=206862.88, pd= -11.2420, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 9.34, pd= -15.8725, lock= >937, snr=16.00) SV= 3, L1 (C/A , r= 9031.56, pd= -14.0775, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 4.52, pd= -18.6125, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.25) Type 1004: ID=700, TOW=194512.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=181481.86, pd= -13.9985, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.46, pd= -19.0715, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=209943.54, pd= -12.9965, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.30, pd= -17.3535, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=288366.94, pd= -25.5215, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 6.30, pd= -33.6790, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 4179.58, pd= -10.5620, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.28, pd= -13.6230, lock= >937, snr=26.00) SV= 11, L1 (C/A , r= 231.94, pd= -14.8685, lock= >937, amb=21285264.518, snr=49.00) L2 (P(Y) , r= 5.18, pd= -19.8025, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=222227.32, pd= -2.2270, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.56, pd= -3.1075, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87594.10, pd= -20.8585, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.32, pd= -26.7145, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=207487.08, pd= -11.0795, lock= >937, amb=24582981.556, snr=32.00) L2 (P(Y) , r= 9.76, pd= -15.7095, lock= >937, snr=16.00) SV= 3, L1 (C/A , r= 9677.92, pd= -14.0635, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.48, pd= -18.5975, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.25) Type 1004: ID=700, TOW=194513.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=180923.80, pd= -14.0290, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.56, pd= -19.1025, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=209489.12, pd= -12.9695, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.44, pd= -17.3265, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=289036.90, pd= -25.6295, lock= >937, amb=23683604.182, snr=41.00) L2 (P(Y) , r= 6.30, pd= -33.7875, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 3767.64, pd= -10.7350, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.94, pd= -13.7955, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=299567.84, pd= -14.9530, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.26, pd= -19.8870, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=222656.34, pd= -2.2220, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.60, pd= -3.1035, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87599.86, pd= -20.7725, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.38, pd= -26.6275, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=208111.66, pd= -11.3245, lock= >937, amb=24582981.556, snr=33.00) L2 (P(Y) , r= 9.94, pd= -15.9565, lock= >937, snr=16.00) SV= 3, L1 (C/A , r= 10324.20, pd= -13.9555, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 4.64, pd= -18.4900, lock= >937, snr=23.75) RTCM3 (2011-04-10T22:38:51.25) Type 1004: ID=700, TOW=194514.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=180365.82, pd= -14.0800, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.28, pd= -19.1535, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=209034.76, pd= -12.9235, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.76, pd= -17.2810, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=289706.80, pd= -25.6745, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 6.54, pd= -33.8325, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 3355.58, pd= -10.7805, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.98, pd= -13.8410, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=299111.40, pd= -15.0575, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.36, pd= -19.9910, lock= >937, snr=36.00) SV= 19, L1 (C/A , r=223085.44, pd= -2.2270, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.40, pd= -3.1085, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87605.72, pd= -20.6690, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.50, pd= -26.5250, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=208736.12, pd= -11.4290, lock= >937, amb=24582981.556, snr=33.00) L2 (P(Y) , r= 10.62, pd= -16.0625, lock= >937, snr=16.00) SV= 3, L1 (C/A , r= 10970.48, pd= -13.8270, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 4.90, pd= -18.3620, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.25) Type 1004: ID=700, TOW=194515.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=179807.74, pd= -13.9680, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.60, pd= -19.0410, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=208580.44, pd= -12.8300, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.52, pd= -17.1870, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=290376.62, pd= -25.6285, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 7.10, pd= -33.7855, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 2943.54, pd= -10.8405, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.04, pd= -13.9010, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=298655.02, pd= -15.1325, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.18, pd= -20.0660, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=223514.62, pd= -2.2420, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.38, pd= -3.1230, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87611.72, pd= -20.5815, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.64, pd= -26.4380, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=209360.48, pd= -11.4610, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 9.10, pd= -16.0950, lock= >937, snr=16.00) SV= 3, L1 (C/A , r= 11616.92, pd= -13.8405, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.86, pd= -18.3745, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.25) Type 1004: ID=700, TOW=194516.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=179249.80, pd= -13.9370, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.64, pd= -19.0095, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=208126.28, pd= -12.8170, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.52, pd= -17.1740, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=291046.44, pd= -25.5760, lock= >937, amb=23683604.182, snr=40.00) L2 (P(Y) , r= 7.06, pd= -33.7330, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 2531.54, pd= -10.9325, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.12, pd= -13.9935, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=298198.72, pd= -15.1910, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 4.82, pd= -20.1240, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=223943.88, pd= -2.2600, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.48, pd= -3.1410, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87617.84, pd= -20.4935, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.78, pd= -26.3490, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=209984.80, pd= -11.4420, lock= >937, amb=24582981.556, snr=33.00) L2 (P(Y) , r= 8.76, pd= -16.0770, lock= >937, snr=16.00) SV= 3, L1 (C/A , r= 12263.48, pd= -13.9550, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 4.92, pd= -18.4895, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.25) Type 1004: ID=700, TOW=194517.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=178691.90, pd= -13.8820, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.56, pd= -18.9545, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=207672.14, pd= -12.7390, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.88, pd= -17.0960, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=291716.38, pd= -25.6345, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 7.14, pd= -33.7920, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 2119.46, pd= -10.9310, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 4.12, pd= -13.9910, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=297742.48, pd= -15.2145, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 4.80, pd= -20.1490, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=224373.24, pd= -2.3115, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.30, pd= -3.1935, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87624.16, pd= -20.4850, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.86, pd= -26.3400, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=210609.28, pd= -11.5830, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 9.58, pd= -16.2190, lock= >937, snr=16.00) SV= 3, L1 (C/A , r= 12909.92, pd= -13.9320, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.12, pd= -18.4665, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.25) Type 1004: ID=700, TOW=194518.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=178134.22, pd= -13.9890, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.66, pd= -19.0605, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=207218.16, pd= -12.7365, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.86, pd= -17.0940, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=292386.12, pd= -25.4885, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 7.38, pd= -33.6460, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 1707.42, pd= -10.9680, lock= >937, amb=23383811.724, snr=44.00) L2 (P(Y) , r= 4.08, pd= -14.0275, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=297286.30, pd= -15.2050, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.00, pd= -20.1385, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=224802.62, pd= -2.3120, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.22, pd= -3.1935, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87630.52, pd= -20.3965, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.76, pd= -26.2525, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=211233.48, pd= -11.4490, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 9.46, pd= -16.0860, lock= >937, snr=16.00) SV= 3, L1 (C/A , r= 13556.40, pd= -13.9275, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 5.08, pd= -18.4610, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.25) Type 1004: ID=700, TOW=194519.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=177576.52, pd= -14.0130, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.58, pd= -19.0845, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=206764.20, pd= -12.6765, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.84, pd= -17.0340, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=293055.88, pd= -25.3475, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 7.64, pd= -33.5050, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 1295.46, pd= -11.0785, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.80, pd= -14.1375, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=296830.26, pd= -15.2410, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 4.96, pd= -20.1745, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=225232.06, pd= -2.3000, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.34, pd= -3.1815, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87637.04, pd= -20.3460, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.76, pd= -26.2020, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=211858.14, pd= -11.7695, lock= >937, amb=24582981.556, snr=33.00) L2 (P(Y) , r= 9.76, pd= -16.4065, lock= >937, snr=16.00) SV= 3, L1 (C/A , r= 14202.92, pd= -13.9525, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.20, pd= -18.4860, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.25) Type 1004: ID=700, TOW=194520.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=177018.88, pd= -14.0320, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.80, pd= -19.1030, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=206310.30, pd= -12.5880, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 6.00, pd= -16.9450, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=293725.72, pd= -25.2815, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 8.24, pd= -33.4400, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 883.32, pd= -10.9920, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.66, pd= -14.0510, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=296374.36, pd= -15.3240, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.32, pd= -20.2570, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=225661.54, pd= -2.2565, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.32, pd= -3.1375, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87643.64, pd= -20.2550, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.90, pd= -26.1125, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=212482.82, pd= -12.1245, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 9.70, pd= -16.7630, lock= >937, snr=16.00) SV= 3, L1 (C/A , r= 14849.48, pd= -13.9915, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 5.30, pd= -18.5245, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.25) Type 1006: ID= 700, Year=5, GPS=Y, GLONASS=N, Galileo=N, X= 1112189.9000, Y= -4842955.0001, Z= 3985352.2000 QC=0(unspecified), height=0.0000 RTCM3 (2011-04-10T22:38:51.25) Type 1008: ID= 700, Antenna='AOAD/M_T', Setup ID= 1, Serial='309' RTCM3 (2011-04-10T22:38:51.25) Type 1004: ID=700, TOW=194521.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=176461.32, pd= -14.0785, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 9.06, pd= -19.1495, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=205856.50, pd= -12.5205, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 6.38, pd= -16.8790, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=294395.50, pd= -25.1510, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 8.44, pd= -33.3105, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 471.32, pd= -11.0435, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.50, pd= -14.1020, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=295918.44, pd= -15.2950, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.04, pd= -20.2270, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=226091.02, pd= -2.1445, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.16, pd= -3.0260, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87650.40, pd= -20.2025, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.76, pd= -26.0590, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=213107.54, pd= -12.5120, lock= >937, amb=24582981.556, snr=33.00) L2 (P(Y) , r= 9.08, pd= -17.1515, lock= >937, snr=16.00) SV= 3, L1 (C/A , r= 15496.12, pd= -14.0960, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 5.18, pd= -18.6295, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.25) Type 1004: ID=700, TOW=194522.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=175903.82, pd= -14.1185, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.94, pd= -19.1900, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=205402.84, pd= -12.5075, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.90, pd= -16.8645, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=295065.40, pd= -25.1345, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 8.38, pd= -33.2945, lock= >937, snr=20.00) SV= 28, L1 (C/A , r= 59.24, pd= -11.0085, lock= >937, amb=23383811.724, snr=43.00) L2 (P(Y) , r= 3.60, pd= -14.0665, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=295462.66, pd= -15.3085, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.58, pd= -20.2410, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=226520.66, pd= -2.1235, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.46, pd= -3.0055, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87657.32, pd= -20.1940, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.88, pd= -26.0505, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=213732.52, pd= -13.1620, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 8.46, pd= -17.8025, lock= >937, snr=16.00) SV= 3, L1 (C/A , r= 16142.64, pd= -14.0635, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.36, pd= -18.5965, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194523.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=175346.50, pd= -14.2800, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.68, pd= -19.3500, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=204949.22, pd= -12.4525, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 6.18, pd= -16.8095, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=295735.26, pd= -25.0600, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 8.34, pd= -33.2185, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=299439.74, pd= -11.0830, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.56, pd= -14.1410, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=295006.96, pd= -15.3090, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.24, pd= -20.2415, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=226950.38, pd= -2.1075, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.52, pd= -2.9895, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87664.34, pd= -20.1635, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.98, pd= -26.0210, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=214357.14, pd= -13.4620, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 7.74, pd= -18.1025, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 16789.16, pd= -14.0100, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.54, pd= -18.5430, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194524.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=174789.26, pd= -14.4575, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.40, pd= -19.5280, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=204495.76, pd= -12.4750, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 6.30, pd= -16.8330, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=296405.14, pd= -25.0065, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 8.16, pd= -33.1650, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=299027.72, pd= -11.0930, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.58, pd= -14.1510, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=294551.32, pd= -15.2730, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 4.76, pd= -20.2065, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=227380.22, pd= -2.1390, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 3.40, pd= -3.0205, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87671.52, pd= -20.1715, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 5.02, pd= -26.0290, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=214981.98, pd= -13.9715, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 7.46, pd= -18.6135, lock= >937, snr=16.00) SV= 3, L1 (C/A , r= 17435.70, pd= -13.9605, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.88, pd= -18.4940, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194525.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=174231.96, pd= -14.5135, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 8.34, pd= -19.5850, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=204042.34, pd= -12.4550, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 6.18, pd= -16.8135, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=297075.00, pd= -24.9255, lock= >937, amb=23683604.182, snr=38.00) L2 (P(Y) , r= 8.36, pd= -33.0845, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=298615.70, pd= -11.0900, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.44, pd= -14.1470, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=294095.72, pd= -15.1830, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 4.88, pd= -20.1170, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=227810.12, pd= -2.1625, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.40, pd= -3.0445, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87678.78, pd= -20.1365, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 5.04, pd= -25.9940, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=215606.52, pd= -14.1965, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 6.20, pd= -18.8405, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 18082.42, pd= -14.0670, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 6.02, pd= -18.6000, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194526.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=173674.72, pd= -14.5705, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 8.30, pd= -19.6410, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=203589.02, pd= -12.4490, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.94, pd= -16.8055, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=297744.92, pd= -24.8910, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 8.18, pd= -33.0490, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=298203.74, pd= -11.1400, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.28, pd= -14.1970, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=293640.28, pd= -15.1590, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 4.82, pd= -20.0920, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=228240.06, pd= -2.1520, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.30, pd= -3.0335, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87686.22, pd= -20.1620, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.96, pd= -26.0190, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=216231.00, pd= -14.3590, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 5.28, pd= -19.0035, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 18729.04, pd= -14.0600, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 6.06, pd= -18.5935, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194527.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=173117.50, pd= -14.5860, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 8.24, pd= -19.6575, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=203135.78, pd= -12.4425, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 6.08, pd= -16.8005, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=298414.78, pd= -24.7970, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 8.32, pd= -32.9560, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=297791.74, pd= -11.1410, lock= >937, amb=23084019.266, snr=44.00) L2 (P(Y) , r= 3.38, pd= -14.1975, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=293184.92, pd= -15.1230, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.50, pd= -20.0555, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=228670.12, pd= -2.1930, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.20, pd= -3.0740, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87693.78, pd= -20.1890, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 5.00, pd= -26.0465, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=216855.66, pd= -14.7045, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 4.76, pd= -19.3505, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 19375.54, pd= -13.9145, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 6.36, pd= -18.4485, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194528.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=172560.44, pd= -14.7010, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.82, pd= -19.7730, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=202682.66, pd= -12.4720, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 6.16, pd= -16.8300, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=299084.52, pd= -24.5670, lock= >937, amb=23683604.182, snr=39.00) L2 (P(Y) , r= 8.48, pd= -32.7260, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=297379.80, pd= -11.1930, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.34, pd= -14.2495, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=292729.68, pd= -15.1080, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.36, pd= -20.0400, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=229100.20, pd= -2.1845, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.18, pd= -3.0670, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87701.44, pd= -20.1925, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 5.06, pd= -26.0500, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=217480.18, pd= -14.9135, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 3.98, pd= -19.5595, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 20022.14, pd= -13.8490, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 6.54, pd= -18.3825, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194529.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=172003.42, pd= -14.7915, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.60, pd= -19.8625, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=202229.60, pd= -12.4795, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.96, pd= -16.8375, lock= >937, snr=38.00) SV= 13, L1 (C/A , r=299754.52, pd= -24.5900, lock= >937, amb=23683604.182, snr=38.00) L2 (P(Y) , r= 8.06, pd= -32.7485, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=296967.92, pd= -11.2995, lock= >937, amb=23084019.266, snr=44.00) L2 (P(Y) , r= 3.32, pd= -14.3550, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=292274.52, pd= -15.0820, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.20, pd= -20.0145, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=229530.34, pd= -2.1625, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.44, pd= -3.0445, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87709.28, pd= -20.2575, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.90, pd= -26.1155, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=218104.38, pd= -14.8020, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 4.16, pd= -19.4475, lock= >937, snr=16.00) SV= 3, L1 (C/A , r= 20668.80, pd= -13.8275, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 6.68, pd= -18.3610, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194530.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=171446.44, pd= -14.8595, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.50, pd= -19.9310, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=201776.62, pd= -12.4800, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 6.14, pd= -16.8385, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 631.98, pd= -24.5260, lock= >937, amb=23983396.640, snr=39.00) L2 (P(Y) , r= 8.02, pd= -32.6845, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=296556.06, pd= -11.4190, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.48, pd= -14.4750, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=291819.48, pd= -15.0795, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.26, pd= -20.0115, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=229960.56, pd= -2.1525, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.34, pd= -3.0345, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87717.24, pd= -20.3190, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.86, pd= -26.1765, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=218728.94, pd= -15.0485, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 3.92, pd= -19.6950, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 21315.42, pd= -13.7435, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 6.82, pd= -18.2775, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1006: ID= 700, Year=5, GPS=Y, GLONASS=N, Galileo=N, X= 1112189.9000, Y= -4842955.0001, Z= 3985352.2000 QC=0(unspecified), height=0.0000 RTCM3 (2011-04-10T22:38:51.26) Type 1008: ID= 700, Antenna='AOAD/M_T', Setup ID= 1, Serial='309' RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194531.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=170889.56, pd= -14.9720, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.28, pd= -20.0435, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=201323.76, pd= -12.5225, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 6.22, pd= -16.8815, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 1301.74, pd= -24.2990, lock= >937, amb=23983396.640, snr=39.00) L2 (P(Y) , r= 8.14, pd= -32.4590, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=296144.14, pd= -11.4670, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.40, pd= -14.5225, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=291364.54, pd= -15.0825, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.46, pd= -20.0150, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=230390.86, pd= -2.1530, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.08, pd= -3.0345, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87725.26, pd= -20.3215, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.82, pd= -26.1800, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=219353.02, pd= -14.8270, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 4.42, pd= -19.4750, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 21962.06, pd= -13.6635, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 6.86, pd= -18.1975, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194532.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=170332.72, pd= -15.0620, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.20, pd= -20.1345, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=200871.00, pd= -12.5800, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 6.14, pd= -16.9380, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 1971.66, pd= -24.2225, lock= >937, amb=23983396.640, snr=39.00) L2 (P(Y) , r= 8.02, pd= -32.3830, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=295732.14, pd= -11.4280, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.62, pd= -14.4835, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=290909.72, pd= -15.1120, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.38, pd= -20.0450, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=230821.18, pd= -2.1025, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.42, pd= -2.9850, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87733.46, pd= -20.3825, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.62, pd= -26.2400, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=219977.16, pd= -14.6740, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 5.00, pd= -19.3220, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 22608.66, pd= -13.5255, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 6.80, pd= -18.0595, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194533.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=169776.02, pd= -15.2305, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 6.96, pd= -20.3030, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=200418.24, pd= -12.5525, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 6.16, pd= -16.9100, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 2641.78, pd= -24.3410, lock= >937, amb=23983396.640, snr=39.00) L2 (P(Y) , r= 8.32, pd= -32.5020, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=295320.24, pd= -11.4840, lock= >937, amb=23084019.266, snr=44.00) L2 (P(Y) , r= 3.50, pd= -14.5395, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=290454.98, pd= -15.1275, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.42, pd= -20.0600, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=231251.68, pd= -2.1625, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.22, pd= -3.0450, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87741.76, pd= -20.4275, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.72, pd= -26.2860, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=220601.50, pd= -14.7040, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 4.96, pd= -19.3510, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 23255.32, pd= -13.4275, lock= >937, amb=23084019.266, snr=41.00) L2 (P(Y) , r= 7.16, pd= -17.9610, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194534.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=169219.32, pd= -15.3380, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.18, pd= -20.4110, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=199965.60, pd= -12.5665, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 6.02, pd= -16.9250, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 3311.78, pd= -24.3295, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 7.76, pd= -32.4900, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=294908.26, pd= -11.4490, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.52, pd= -14.5045, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=290000.34, pd= -15.1480, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.26, pd= -20.0805, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=231682.22, pd= -2.1870, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.40, pd= -3.0690, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87750.16, pd= -20.4505, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.68, pd= -26.3085, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=221225.88, pd= -14.7880, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 5.18, pd= -19.4360, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 23902.02, pd= -13.3515, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 7.30, pd= -17.8865, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194535.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=168662.66, pd= -15.4185, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 6.94, pd= -20.4910, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=199513.00, pd= -12.5315, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 6.24, pd= -16.8880, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 3981.94, pd= -24.4660, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 7.18, pd= -32.6265, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=294496.20, pd= -11.3245, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.48, pd= -14.3795, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=289545.76, pd= -15.1345, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.14, pd= -20.0665, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=232112.86, pd= -2.2425, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.16, pd= -3.1245, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87758.68, pd= -20.4665, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.70, pd= -26.3230, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=221850.24, pd= -14.8520, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 5.30, pd= -19.5000, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 24548.76, pd= -13.2940, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 7.24, pd= -17.8285, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194536.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=168106.04, pd= -15.4820, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 6.78, pd= -20.5545, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=199060.48, pd= -12.4990, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.86, pd= -16.8570, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 4652.08, pd= -24.5800, lock= >937, amb=23983396.640, snr=39.00) L2 (P(Y) , r= 6.82, pd= -32.7405, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=294084.10, pd= -11.1555, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.78, pd= -14.2110, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=289091.28, pd= -15.1265, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.12, pd= -20.0595, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=232543.52, pd= -2.2490, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.22, pd= -3.1315, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87767.36, pd= -20.5295, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.68, pd= -26.3875, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=222474.68, pd= -14.9900, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 4.78, pd= -19.6370, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 25195.44, pd= -13.1625, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 7.48, pd= -17.6970, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194537.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=167549.34, pd= -15.4070, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 6.84, pd= -20.4790, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=198608.06, pd= -12.4775, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 6.18, pd= -16.8350, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 5322.24, pd= -24.7055, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 6.32, pd= -32.8665, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=293671.96, pd= -10.9340, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.02, pd= -13.9890, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=288636.92, pd= -15.1410, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.16, pd= -20.0735, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=232974.26, pd= -2.2600, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.36, pd= -3.1420, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87776.16, pd= -20.5880, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.66, pd= -26.4455, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=223098.96, pd= -14.9810, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 4.80, pd= -19.6290, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 25842.32, pd= -13.2180, lock= >937, amb=23084019.266, snr=41.00) L2 (P(Y) , r= 7.46, pd= -17.7535, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194538.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=166992.76, pd= -15.3885, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 6.98, pd= -20.4615, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=198155.74, pd= -12.4755, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 6.18, pd= -16.8330, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 5992.42, pd= -24.8440, lock= >937, amb=23983396.640, snr=39.00) L2 (P(Y) , r= 5.78, pd= -33.0045, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=293259.84, pd= -10.7290, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.22, pd= -13.7845, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=288182.72, pd= -15.2240, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.32, pd= -20.1565, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=233405.14, pd= -2.3415, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.20, pd= -3.2240, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87785.00, pd= -20.5635, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.62, pd= -26.4210, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=223723.10, pd= -14.8335, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 4.34, pd= -19.4820, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 26489.08, pd= -13.1275, lock= >937, amb=23084019.266, snr=41.00) L2 (P(Y) , r= 7.54, pd= -17.6635, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194539.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=166436.30, pd= -15.4255, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.22, pd= -20.4980, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=197703.50, pd= -12.4705, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 6.14, pd= -16.8265, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 6662.38, pd= -24.7525, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 5.90, pd= -32.9135, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=292847.76, pd= -10.5550, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.14, pd= -13.6100, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=287728.56, pd= -15.2510, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.24, pd= -20.1810, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=233836.06, pd= -2.3940, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 3.10, pd= -3.2760, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87793.96, pd= -20.5435, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.56, pd= -26.4020, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=224347.60, pd= -15.0440, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 4.12, pd= -19.6930, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 27135.90, pd= -13.0775, lock= >937, amb=23084019.266, snr=41.00) L2 (P(Y) , r= 7.88, pd= -17.6130, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194540.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=165879.82, pd= -15.3830, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.42, pd= -20.4560, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=197251.26, pd= -12.3850, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 6.18, pd= -16.7425, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 7332.60, pd= -24.9145, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 5.68, pd= -33.0760, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=292435.74, pd= -10.4310, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.20, pd= -13.4860, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=287274.50, pd= -15.2845, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.28, pd= -20.2150, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=234267.06, pd= -2.4540, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 3.22, pd= -3.3355, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87803.10, pd= -20.5785, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.50, pd= -26.4365, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=224971.94, pd= -15.0955, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 4.14, pd= -19.7430, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 27782.76, pd= -13.0530, lock= >937, amb=23084019.266, snr=41.00) L2 (P(Y) , r= 7.76, pd= -17.5890, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1006: ID= 700, Year=5, GPS=Y, GLONASS=N, Galileo=N, X= 1112189.9000, Y= -4842955.0001, Z= 3985352.2000 QC=0(unspecified), height=0.0000 RTCM3 (2011-04-10T22:38:51.26) Type 1008: ID= 700, Antenna='AOAD/M_T', Setup ID= 1, Serial='309' RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194541.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=165323.34, pd= -15.2850, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.92, pd= -20.3595, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=196799.16, pd= -12.3540, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 6.42, pd= -16.7115, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 8002.66, pd= -24.9135, lock= >937, amb=23983396.640, snr=39.00) L2 (P(Y) , r= 5.76, pd= -33.0760, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=292023.84, pd= -10.4180, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.22, pd= -13.4725, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=286820.52, pd= -15.3005, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.30, pd= -20.2310, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=234698.14, pd= -2.5225, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 2.84, pd= -3.4040, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87812.32, pd= -20.5770, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.50, pd= -26.4355, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=225596.50, pd= -15.3735, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 4.70, pd= -20.0215, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 28429.62, pd= -13.0145, lock= >937, amb=23084019.266, snr=41.00) L2 (P(Y) , r= 7.68, pd= -17.5510, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194542.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=164766.98, pd= -15.2385, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.78, pd= -20.3125, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=196347.16, pd= -12.3400, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 6.34, pd= -16.6975, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 8672.78, pd= -24.9570, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 5.60, pd= -33.1195, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=291611.82, pd= -10.2800, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.20, pd= -13.3345, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=286366.66, pd= -15.3485, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.46, pd= -20.2785, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=235129.28, pd= -2.5805, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 2.86, pd= -3.4615, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87821.66, pd= -20.5740, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.60, pd= -26.4325, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=226221.00, pd= -15.5865, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 4.16, pd= -20.2350, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 29076.44, pd= -12.9125, lock= >937, amb=23084019.266, snr=41.00) L2 (P(Y) , r= 7.48, pd= -17.4495, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194543.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=164210.68, pd= -15.1920, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.92, pd= -20.2660, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=195895.36, pd= -12.4450, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.96, pd= -16.8035, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 9343.04, pd= -25.1380, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 6.10, pd= -33.3025, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=291199.82, pd= -10.1535, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.26, pd= -13.2075, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=285912.84, pd= -15.3415, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.64, pd= -20.2725, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=235560.52, pd= -2.6695, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 2.54, pd= -3.5510, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87831.16, pd= -20.6060, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.58, pd= -26.4635, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=226845.48, pd= -15.7955, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 3.76, pd= -20.4440, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 29723.30, pd= -12.8325, lock= >937, amb=23084019.266, snr=41.00) L2 (P(Y) , r= 7.82, pd= -17.3710, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.26) Type 1004: ID=700, TOW=194544.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=163654.34, pd= -15.0440, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.98, pd= -20.1170, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=195443.58, pd= -12.4835, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.56, pd= -16.8405, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 10013.26, pd= -25.2710, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 5.58, pd= -33.4355, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=290787.90, pd= -10.0965, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.36, pd= -13.1515, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=285459.10, pd= -15.3175, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.50, pd= -20.2485, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=235991.80, pd= -2.7270, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 2.28, pd= -3.6085, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87840.80, pd= -20.6605, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.36, pd= -26.5180, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=227470.08, pd= -16.1115, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 2.40, pd= -20.7600, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 30370.14, pd= -12.7165, lock= >937, amb=23084019.266, snr=41.00) L2 (P(Y) , r= 8.00, pd= -17.2555, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.27) Type 1004: ID=700, TOW=194545.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=163098.12, pd= -14.9525, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.90, pd= -20.0260, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=194991.86, pd= -12.5010, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.98, pd= -16.8575, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 10683.42, pd= -25.3350, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 5.30, pd= -33.5005, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=290376.00, pd= -10.0575, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.66, pd= -13.1120, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=285005.56, pd= -15.4055, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.28, pd= -20.3365, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=236423.10, pd= -2.7335, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 2.26, pd= -3.6160, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87850.50, pd= -20.6530, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.52, pd= -26.5105, lock= >937, snr=46.00) SV= 6, L1 (C/A , r=228094.48, pd= -16.2380, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 2.40, pd= -20.8870, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 31017.12, pd= -12.7235, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 7.82, pd= -17.2625, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.27) Type 1004: ID=700, TOW=194546.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=162541.96, pd= -14.8620, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.94, pd= -19.9360, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=194540.26, pd= -12.5580, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 6.28, pd= -16.9150, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 11353.52, pd= -25.3350, lock= >937, amb=23983396.640, snr=39.00) L2 (P(Y) , r= 5.18, pd= -33.5005, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=289964.12, pd= -10.0270, lock= >937, amb=23084019.266, snr=44.00) L2 (P(Y) , r= 4.88, pd= -13.0820, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=284552.04, pd= -15.4120, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.32, pd= -20.3405, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=236854.42, pd= -2.6870, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 2.70, pd= -3.5685, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87860.28, pd= -20.6100, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.54, pd= -26.4690, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=228719.00, pd= -16.4910, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 2.66, pd= -21.1405, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 31664.18, pd= -12.7875, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 7.98, pd= -17.3270, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.27) Type 1004: ID=700, TOW=194547.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=161985.82, pd= -14.7300, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.88, pd= -19.8035, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=194088.72, pd= -12.5855, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.84, pd= -16.9420, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 12023.64, pd= -25.3420, lock= >937, amb=23983396.640, snr=39.00) L2 (P(Y) , r= 5.06, pd= -33.5085, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=289552.44, pd= -10.1860, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.74, pd= -13.2410, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=284098.62, pd= -15.4250, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.58, pd= -20.3560, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=237285.82, pd= -2.6510, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 2.70, pd= -3.5325, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87870.18, pd= -20.5605, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.34, pd= -26.4190, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=229343.26, pd= -16.4915, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 2.50, pd= -21.1410, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 32311.28, pd= -12.8775, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 7.84, pd= -17.4175, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.27) Type 1004: ID=700, TOW=194548.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=161429.86, pd= -14.7150, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.70, pd= -19.7880, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=193637.24, pd= -12.5970, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 6.20, pd= -16.9545, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 12693.76, pd= -25.3505, lock= >937, amb=23983396.640, snr=39.00) L2 (P(Y) , r= 5.04, pd= -33.5175, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=289140.80, pd= -10.3820, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.42, pd= -13.4375, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=283645.30, pd= -15.4410, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.24, pd= -20.3715, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=237717.38, pd= -2.7030, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 2.74, pd= -3.5835, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87880.24, pd= -20.5510, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.54, pd= -26.4090, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=229967.96, pd= -16.9120, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 2.10, pd= -21.5620, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 32958.38, pd= -12.9495, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 7.82, pd= -17.4900, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.27) Type 1004: ID=700, TOW=194549.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=160873.96, pd= -14.6995, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.58, pd= -19.7730, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=193185.82, pd= -12.5760, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.82, pd= -16.9320, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 13363.82, pd= -25.2860, lock= >937, amb=23983396.640, snr=39.00) L2 (P(Y) , r= 5.10, pd= -33.4525, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=288729.02, pd= -10.4250, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.54, pd= -13.4810, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=283192.06, pd= -15.4465, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.46, pd= -20.3775, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=238148.94, pd= -2.6825, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 2.74, pd= -3.5635, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87890.42, pd= -20.5405, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.60, pd= -26.3990, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=230592.14, pd= -16.8310, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 2.74, pd= -21.4810, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 33605.58, pd= -13.1000, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 7.66, pd= -17.6415, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.27) Type 1004: ID=700, TOW=194550.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=160318.16, pd= -14.7230, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.44, pd= -19.7955, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=192734.46, pd= -12.5375, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.62, pd= -16.8945, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 14033.90, pd= -25.2345, lock= >937, amb=23983396.640, snr=39.00) L2 (P(Y) , r= 4.64, pd= -33.4010, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=288317.38, pd= -10.6005, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.20, pd= -13.6555, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=282738.88, pd= -15.4115, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.32, pd= -20.3410, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=238580.54, pd= -2.6330, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 2.66, pd= -3.5140, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87900.72, pd= -20.5310, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.44, pd= -26.3890, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=231216.42, pd= -16.8425, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 3.06, pd= -21.4920, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 34252.72, pd= -13.1750, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 7.50, pd= -17.7170, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.27) Type 1006: ID= 700, Year=5, GPS=Y, GLONASS=N, Galileo=N, X= 1112189.9000, Y= -4842955.0001, Z= 3985352.2000 QC=0(unspecified), height=0.0000 RTCM3 (2011-04-10T22:38:51.27) Type 1008: ID= 700, Antenna='AOAD/M_T', Setup ID= 1, Serial='309' RTCM3 (2011-04-10T22:38:51.27) Type 1004: ID=700, TOW=194551.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=159762.42, pd= -14.7430, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.44, pd= -19.8155, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=192283.22, pd= -12.5355, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.92, pd= -16.8925, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 14703.92, pd= -25.1115, lock= >937, amb=23983396.640, snr=39.00) L2 (P(Y) , r= 5.14, pd= -33.2790, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=287905.74, pd= -10.7690, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.00, pd= -13.8240, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=282285.82, pd= -15.4095, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.12, pd= -20.3395, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=239012.24, pd= -2.6145, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 2.56, pd= -3.4955, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87911.12, pd= -20.4985, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.54, pd= -26.3560, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=231840.74, pd= -16.9120, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 3.26, pd= -21.5630, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 34899.90, pd= -13.2725, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 7.38, pd= -17.8155, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.27) Type 1004: ID=700, TOW=194552.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=159206.66, pd= -14.6815, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.20, pd= -19.7540, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=191832.08, pd= -12.5495, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 6.06, pd= -16.9065, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 15374.28, pd= -25.3240, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 5.14, pd= -33.4925, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=287494.04, pd= -10.8755, lock= >937, amb=23084019.266, snr=44.00) L2 (P(Y) , r= 4.04, pd= -13.9315, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=281832.82, pd= -15.3675, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.42, pd= -20.2960, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=239444.00, pd= -2.5870, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 2.84, pd= -3.4695, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87921.68, pd= -20.5080, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.56, pd= -26.3660, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=232465.00, pd= -16.9155, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 2.82, pd= -21.5660, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 35547.04, pd= -13.3085, lock= >937, amb=23084019.266, snr=41.00) L2 (P(Y) , r= 7.22, pd= -17.8515, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.27) Type 1004: ID=700, TOW=194553.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=158651.10, pd= -14.7570, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.06, pd= -19.8285, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=191381.06, pd= -12.5995, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.96, pd= -16.9560, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 16044.46, pd= -25.3510, lock= >937, amb=23983396.640, snr=39.00) L2 (P(Y) , r= 5.26, pd= -33.5205, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=287082.40, pd= -11.0245, lock= >937, amb=23084019.266, snr=44.00) L2 (P(Y) , r= 3.96, pd= -14.0805, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=281379.96, pd= -15.3710, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.66, pd= -20.3000, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=239875.84, pd= -2.5665, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 2.54, pd= -3.4485, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87932.34, pd= -20.4940, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.66, pd= -26.3520, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=233089.38, pd= -17.0435, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 1.94, pd= -21.6935, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 36194.30, pd= -13.4500, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 7.24, pd= -17.9940, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.27) Type 1004: ID=700, TOW=194554.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=158095.60, pd= -14.8360, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.04, pd= -19.9090, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=190930.10, pd= -12.6255, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 6.14, pd= -16.9830, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 16714.90, pd= -25.6345, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 4.74, pd= -33.8040, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=286670.72, pd= -11.1325, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.54, pd= -14.1885, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=280927.16, pd= -15.3440, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.84, pd= -20.2730, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=240307.74, pd= -2.5350, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 2.62, pd= -3.4180, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 87943.10, pd= -20.4580, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.66, pd= -26.3155, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=233713.70, pd= -17.1155, lock= >937, amb=24582981.556, snr=32.00) L2 (P(Y) , r= 2.02, pd= -21.7655, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 36841.60, pd= -13.6095, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 7.08, pd= -18.1530, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.27) Type 1004: ID=700, TOW=194555.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=157540.10, pd= -14.8495, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 6.98, pd= -19.9215, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=190479.18, pd= -12.6060, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.54, pd= -16.9625, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 17385.30, pd= -25.8650, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 4.44, pd= -34.0340, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=286259.02, pd= -11.2075, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.20, pd= -14.2635, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=280474.46, pd= -15.3175, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.14, pd= -20.2455, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=240739.72, pd= -2.5155, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 2.84, pd= -3.3980, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 87953.98, pd= -20.4225, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.70, pd= -26.2800, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=234338.02, pd= -17.1875, lock= >937, amb=24582981.556, snr=33.00) L2 (P(Y) , r= 2.14, pd= -21.8375, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 37488.84, pd= -13.6970, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 7.08, pd= -18.2415, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.27) Type 1004: ID=700, TOW=194556.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=156984.60, pd= -14.8005, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.18, pd= -19.8735, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=190028.42, pd= -12.6675, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.66, pd= -17.0245, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 18055.64, pd= -26.0300, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 4.92, pd= -34.1995, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=285847.18, pd= -11.1320, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.38, pd= -14.1870, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=280021.86, pd= -15.2965, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.56, pd= -20.2245, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=241171.76, pd= -2.4830, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 2.90, pd= -3.3635, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87964.96, pd= -20.3690, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.82, pd= -26.2290, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=234962.18, pd= -17.1040, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 2.16, pd= -21.7535, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 38136.14, pd= -13.8210, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 6.84, pd= -18.3645, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.27) Type 1004: ID=700, TOW=194557.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=156429.28, pd= -14.8725, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.04, pd= -19.9450, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=189577.70, pd= -12.6830, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.98, pd= -17.0400, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 18726.08, pd= -26.2900, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 4.72, pd= -34.4600, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=285435.30, pd= -11.0150, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.32, pd= -14.0700, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=279569.32, pd= -15.2420, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.58, pd= -20.1705, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=241603.82, pd= -2.4050, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.42, pd= -3.2860, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87976.06, pd= -20.3110, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.80, pd= -26.1695, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=235586.52, pd= -17.1935, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 2.22, pd= -21.8445, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 38783.52, pd= -14.0105, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 6.54, pd= -18.5545, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.27) Type 1004: ID=700, TOW=194558.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=155874.00, pd= -14.9200, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.24, pd= -19.9920, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=189127.12, pd= -12.7515, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 6.16, pd= -17.1090, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 19396.40, pd= -26.4250, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 4.30, pd= -34.5945, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=285023.50, pd= -10.9645, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.66, pd= -14.0190, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=279116.90, pd= -15.2110, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.58, pd= -20.1390, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=242035.98, pd= -2.3525, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.14, pd= -3.2335, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87987.26, pd= -20.2325, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.82, pd= -26.0915, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=236210.86, pd= -17.2930, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 2.64, pd= -21.9435, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 39430.84, pd= -14.1215, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 6.46, pd= -18.6660, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.27) Type 1004: ID=700, TOW=194559.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=155318.74, pd= -14.9265, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.48, pd= -19.9970, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=188676.58, pd= -12.7780, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.54, pd= -17.1355, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 20066.72, pd= -26.5495, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 4.18, pd= -34.7180, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=284611.74, pd= -10.9475, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.36, pd= -14.0015, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=278664.64, pd= -15.2425, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.04, pd= -20.1705, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=242468.22, pd= -2.3075, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 2.94, pd= -3.1880, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 87998.58, pd= -20.1560, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.92, pd= -26.0150, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=236835.28, pd= -17.4770, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 2.72, pd= -22.1285, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 40078.08, pd= -14.1355, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 6.22, pd= -18.6805, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.27) Type 1004: ID=700, TOW=194560.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=154763.50, pd= -14.8925, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.60, pd= -19.9635, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=188226.14, pd= -12.8255, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.50, pd= -17.1830, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 20737.20, pd= -26.8275, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 3.78, pd= -34.9965, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=284199.78, pd= -10.7260, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.72, pd= -13.7800, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=278212.46, pd= -15.2650, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.20, pd= -20.1930, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=242900.52, pd= -2.2545, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.18, pd= -3.1350, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88010.04, pd= -20.0970, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.98, pd= -25.9560, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=237459.64, pd= -17.5970, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 2.84, pd= -22.2490, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 40725.30, pd= -14.1120, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 6.14, pd= -18.6565, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.27) Type 1006: ID= 700, Year=5, GPS=Y, GLONASS=N, Galileo=N, X= 1112189.9000, Y= -4842955.0001, Z= 3985352.2000 QC=0(unspecified), height=0.0000 RTCM3 (2011-04-10T22:38:51.27) Type 1008: ID= 700, Antenna='AOAD/M_T', Setup ID= 1, Serial='309' RTCM3 (2011-04-10T22:38:51.27) Type 1004: ID=700, TOW=194561.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=154208.42, pd= -14.9530, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.58, pd= -20.0235, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=187775.72, pd= -12.8030, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.66, pd= -17.1595, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 21407.74, pd= -27.1585, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 3.20, pd= -35.3270, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=283787.98, pd= -10.6495, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.86, pd= -13.7030, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=277760.32, pd= -15.2255, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.02, pd= -20.1530, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=243332.92, pd= -2.2295, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.50, pd= -3.1105, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88021.64, pd= -20.0570, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 5.02, pd= -25.9165, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=238084.08, pd= -17.8005, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 2.64, pd= -22.4520, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 41372.64, pd= -14.1870, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 6.12, pd= -18.7315, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.28) Type 1004: ID=700, TOW=194562.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=153653.42, pd= -15.0335, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.72, pd= -20.1040, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=187325.40, pd= -12.7955, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.54, pd= -17.1520, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 22078.26, pd= -27.4640, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 3.34, pd= -35.6330, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=283376.30, pd= -10.6855, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.20, pd= -13.7380, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=277308.28, pd= -15.1935, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.14, pd= -20.1215, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=243765.42, pd= -2.2370, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.44, pd= -3.1190, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88033.38, pd= -20.0350, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 5.02, pd= -25.8945, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=238708.64, pd= -18.1265, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 2.96, pd= -22.7790, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 42020.00, pd= -14.2675, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.98, pd= -18.8125, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.28) Type 1004: ID=700, TOW=194563.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=153098.34, pd= -14.9705, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.90, pd= -20.0405, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=186875.14, pd= -12.7710, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.42, pd= -17.1290, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 22748.76, pd= -27.7465, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 2.82, pd= -35.9165, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=282964.44, pd= -10.5380, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.46, pd= -13.5905, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=276856.34, pd= -15.1705, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.06, pd= -20.0975, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=244197.96, pd= -2.2130, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.38, pd= -3.0940, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88045.24, pd= -20.0135, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 5.06, pd= -25.8725, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=239332.78, pd= -18.0330, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 2.44, pd= -22.6855, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 42667.36, pd= -14.3245, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 6.10, pd= -18.8695, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.28) Type 1004: ID=700, TOW=194564.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=152543.36, pd= -14.9480, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.80, pd= -20.0190, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=186424.96, pd= -12.7385, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.58, pd= -17.0960, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 23419.28, pd= -28.0375, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 2.76, pd= -36.2075, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=282552.60, pd= -10.4015, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.56, pd= -13.4545, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=276404.50, pd= -15.1510, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.34, pd= -20.0780, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=244630.54, pd= -2.1545, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.54, pd= -3.0355, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88057.22, pd= -19.9925, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 5.22, pd= -25.8515, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=239957.04, pd= -18.0690, lock= >937, amb=24582981.556, snr=33.00) L2 (P(Y) , r= 3.20, pd= -22.7220, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 43314.64, pd= -14.2885, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 6.00, pd= -18.8335, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.28) Type 1004: ID=700, TOW=194565.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=151988.36, pd= -14.8435, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.90, pd= -19.9140, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=185974.82, pd= -12.6655, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.74, pd= -17.0225, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 24089.78, pd= -28.3015, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 2.06, pd= -36.4700, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=282140.78, pd= -10.2720, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.82, pd= -13.3240, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=275952.78, pd= -15.1565, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.16, pd= -20.0830, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=245063.14, pd= -2.0530, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.72, pd= -2.9355, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88069.32, pd= -19.9690, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 5.34, pd= -25.8280, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=240581.02, pd= -17.8290, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 3.92, pd= -22.4830, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 43961.92, pd= -14.2350, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 6.00, pd= -18.7805, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.28) Type 1004: ID=700, TOW=194566.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=151433.50, pd= -14.8150, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.64, pd= -19.8850, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=185524.80, pd= -12.6235, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.98, pd= -16.9800, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 24760.10, pd= -28.3765, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 2.32, pd= -36.5450, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=281729.12, pd= -10.3020, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.70, pd= -13.3545, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=275501.14, pd= -15.1445, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.20, pd= -20.0695, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=245495.92, pd= -2.0540, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.70, pd= -2.9350, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88081.60, pd= -20.0045, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 5.14, pd= -25.8640, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=241205.14, pd= -17.7335, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 4.40, pd= -22.3895, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 44609.34, pd= -14.2975, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.84, pd= -18.8425, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.28) Type 1004: ID=700, TOW=194567.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=150878.66, pd= -14.7475, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.82, pd= -19.8180, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=185074.86, pd= -12.5800, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.62, pd= -16.9365, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 25430.44, pd= -28.4655, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 2.12, pd= -36.6335, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=281317.34, pd= -10.2000, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.78, pd= -13.2530, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=275049.64, pd= -15.1800, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.58, pd= -20.1070, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=245928.74, pd= -2.0290, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.80, pd= -2.9100, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88093.98, pd= -20.0200, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.94, pd= -25.8790, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=241829.38, pd= -17.7530, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 4.56, pd= -22.4095, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 45256.78, pd= -14.3675, lock= >937, amb=23084019.266, snr=41.00) L2 (P(Y) , r= 5.54, pd= -18.9130, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.28) Type 1004: ID=700, TOW=194568.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=150323.96, pd= -14.7545, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.40, pd= -19.8250, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=184625.02, pd= -12.5530, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 6.08, pd= -16.9095, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 26100.64, pd= -28.4075, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 2.20, pd= -36.5770, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=280905.74, pd= -10.2665, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.76, pd= -13.3180, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=274598.18, pd= -15.1565, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.46, pd= -20.0830, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=246361.66, pd= -2.0340, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.72, pd= -2.9160, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88106.56, pd= -20.1130, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.94, pd= -25.9715, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=242453.70, pd= -17.8650, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 4.12, pd= -22.5205, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 45904.20, pd= -14.3960, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.34, pd= -18.9415, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.28) Type 1004: ID=700, TOW=194569.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=149769.22, pd= -14.6635, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.36, pd= -19.7340, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=184175.30, pd= -12.5645, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.80, pd= -16.9210, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 26770.92, pd= -28.4215, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 2.18, pd= -36.5900, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=280494.02, pd= -10.2120, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.70, pd= -13.2635, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=274146.80, pd= -15.1195, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.20, pd= -20.0460, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=246794.68, pd= -2.0700, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.44, pd= -2.9510, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88119.24, pd= -20.1885, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.94, pd= -26.0460, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=243077.86, pd= -17.8025, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 4.54, pd= -22.4585, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 46551.66, pd= -14.4525, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.50, pd= -18.9985, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.28) Type 1004: ID=700, TOW=194570.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=149214.54, pd= -14.5665, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.12, pd= -19.6365, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=183725.62, pd= -12.5320, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.86, pd= -16.8885, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 27441.04, pd= -28.2715, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 2.30, pd= -36.4415, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=280082.38, pd= -10.2210, lock= >937, amb=23084019.266, snr=44.00) L2 (P(Y) , r= 4.70, pd= -13.2715, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=273695.56, pd= -15.1235, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.36, pd= -20.0490, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=247227.68, pd= -2.0100, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.46, pd= -2.8915, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88131.98, pd= -20.2000, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 5.02, pd= -26.0570, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=243701.88, pd= -17.6170, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 4.50, pd= -22.2740, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 47199.16, pd= -14.5270, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.68, pd= -19.0725, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.28) Type 1006: ID= 700, Year=5, GPS=Y, GLONASS=N, Galileo=N, X= 1112189.9000, Y= -4842955.0001, Z= 3985352.2000 QC=0(unspecified), height=0.0000 RTCM3 (2011-04-10T22:38:51.28) Type 1008: ID= 700, Antenna='AOAD/M_T', Setup ID= 1, Serial='309' RTCM3 (2011-04-10T22:38:51.28) Type 1004: ID=700, TOW=194571.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=148659.98, pd= -14.5315, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.00, pd= -19.6010, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=183276.06, pd= -12.5355, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.58, pd= -16.8920, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 28111.32, pd= -28.2710, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 2.74, pd= -36.4405, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=279670.76, pd= -10.2455, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.58, pd= -13.2955, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=273244.40, pd= -15.1175, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.34, pd= -20.0430, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=247660.84, pd= -2.0435, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.40, pd= -2.9250, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88144.86, pd= -20.2325, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.98, pd= -26.0895, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=244326.24, pd= -17.7700, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 4.82, pd= -22.4275, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 47846.68, pd= -14.6005, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.52, pd= -19.1455, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.28) Type 1004: ID=700, TOW=194572.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=148105.38, pd= -14.3915, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.04, pd= -19.4610, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=182826.62, pd= -12.5735, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.90, pd= -16.9310, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 28781.62, pd= -28.2865, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 2.96, pd= -36.4560, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=279259.14, pd= -10.2645, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.36, pd= -13.3145, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=272793.30, pd= -15.0755, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.24, pd= -20.0010, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=248094.08, pd= -2.0840, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.76, pd= -2.9655, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88157.82, pd= -20.2270, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 5.02, pd= -26.0850, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=244950.36, pd= -17.6805, lock= >937, amb=24582981.556, snr=33.00) L2 (P(Y) , r= 4.86, pd= -22.3395, lock= >937, snr=17.00) SV= 3, L1 (C/A , r= 48494.22, pd= -14.6805, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.44, pd= -19.2255, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.28) Type 1004: ID=700, TOW=194573.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=147550.88, pd= -14.2890, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.94, pd= -19.3585, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=182377.20, pd= -12.5470, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.82, pd= -16.9030, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 29451.98, pd= -28.3560, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 3.16, pd= -36.5260, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=278847.54, pd= -10.2935, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.64, pd= -13.3440, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=272342.34, pd= -15.0745, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.34, pd= -20.0005, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=248527.34, pd= -2.0725, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.58, pd= -2.9530, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88170.90, pd= -20.2180, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.90, pd= -26.0760, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=245574.34, pd= -17.4615, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 4.78, pd= -22.1195, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 49141.78, pd= -14.7620, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.42, pd= -19.3075, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.28) Type 1004: ID=700, TOW=194574.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=146996.48, pd= -14.2275, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.88, pd= -19.2960, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=181927.86, pd= -12.5200, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.98, pd= -16.8760, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 30122.26, pd= -28.3370, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 3.06, pd= -36.5075, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=278436.10, pd= -10.4705, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.50, pd= -13.5200, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=271891.46, pd= -15.0630, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 4.90, pd= -19.9900, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=248960.72, pd= -2.1160, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.26, pd= -2.9970, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88184.14, pd= -20.2470, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.92, pd= -26.1055, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=246198.46, pd= -17.3875, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 5.16, pd= -22.0470, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 49789.28, pd= -14.7695, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.48, pd= -19.3150, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.28) Type 1004: ID=700, TOW=194575.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=146442.14, pd= -14.1590, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.08, pd= -19.2275, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=181478.66, pd= -12.5485, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.90, pd= -16.9050, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 30792.62, pd= -28.3975, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 2.36, pd= -36.5675, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=278024.60, pd= -10.5855, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.48, pd= -13.6360, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=271440.66, pd= -15.0340, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 4.88, pd= -19.9615, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=249394.14, pd= -2.1295, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.30, pd= -3.0115, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88197.50, pd= -20.2745, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.88, pd= -26.1325, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=246822.38, pd= -17.1125, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 5.62, pd= -21.7735, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 50436.90, pd= -14.8750, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.58, pd= -19.4205, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.28) Type 1004: ID=700, TOW=194576.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=145887.90, pd= -14.1290, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.24, pd= -19.1975, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=181029.48, pd= -12.5140, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.94, pd= -16.8705, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 31462.94, pd= -28.4015, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 1.94, pd= -36.5705, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=277613.12, pd= -10.7115, lock= >937, amb=23084019.266, snr=44.00) L2 (P(Y) , r= 4.44, pd= -13.7610, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=270989.96, pd= -15.0095, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.08, pd= -19.9360, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=249827.64, pd= -2.1510, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.26, pd= -3.0330, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88210.96, pd= -20.2810, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.94, pd= -26.1395, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=247446.44, pd= -16.9765, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 5.54, pd= -21.6390, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 51084.42, pd= -14.8660, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.60, pd= -19.4125, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.28) Type 1004: ID=700, TOW=194577.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=145333.68, pd= -14.0605, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.32, pd= -19.1290, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=180580.38, pd= -12.4720, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.86, pd= -16.8275, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 32133.20, pd= -28.3440, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 2.60, pd= -36.5140, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=277201.60, pd= -10.7870, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.28, pd= -13.8365, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=270539.34, pd= -14.9705, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.12, pd= -19.8960, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=250261.20, pd= -2.1590, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.24, pd= -3.0405, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88224.52, pd= -20.2660, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.88, pd= -26.1240, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=248070.32, pd= -16.6710, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 5.98, pd= -21.3335, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 51732.00, pd= -14.9000, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.40, pd= -19.4465, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.28) Type 1004: ID=700, TOW=194578.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=144779.56, pd= -14.0275, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.40, pd= -19.0960, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=180131.38, pd= -12.4485, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.94, pd= -16.8055, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 32803.52, pd= -28.3370, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 2.50, pd= -36.5070, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=276790.00, pd= -10.7805, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.42, pd= -13.8310, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=270088.80, pd= -14.9170, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 4.84, pd= -19.8435, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=250694.82, pd= -2.1590, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.36, pd= -3.0410, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88238.22, pd= -20.2710, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.92, pd= -26.1290, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=248694.48, pd= -16.6440, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 6.04, pd= -21.3080, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 52379.66, pd= -14.9970, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.32, pd= -19.5440, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.29) Type 1004: ID=700, TOW=194579.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=144225.54, pd= -14.0330, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.10, pd= -19.1015, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=179682.48, pd= -12.4385, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.70, pd= -16.7945, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 33473.76, pd= -28.2485, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 2.70, pd= -36.4185, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=276378.50, pd= -10.8625, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.28, pd= -13.9125, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=269638.32, pd= -14.8315, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.32, pd= -19.7570, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=251128.50, pd= -2.1485, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.12, pd= -3.0300, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88252.02, pd= -20.2550, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.92, pd= -26.1135, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=249318.32, pd= -16.3015, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 6.22, pd= -20.9660, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 53027.22, pd= -14.9715, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.40, pd= -19.5185, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.29) Type 1004: ID=700, TOW=194580.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=143671.56, pd= -14.0145, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.22, pd= -19.0835, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=179233.66, pd= -12.4275, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 6.10, pd= -16.7845, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 34143.96, pd= -28.1085, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 2.94, pd= -36.2790, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=275966.96, pd= -10.8985, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.96, pd= -13.9485, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=269188.00, pd= -14.8070, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.12, pd= -19.7325, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=251562.24, pd= -2.1270, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.26, pd= -3.0085, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88265.96, pd= -20.2590, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.88, pd= -26.1180, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=249942.18, pd= -15.9725, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 5.76, pd= -20.6365, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 53674.82, pd= -14.9720, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 5.40, pd= -19.5195, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.29) Type 1006: ID= 700, Year=5, GPS=Y, GLONASS=N, Galileo=N, X= 1112189.9000, Y= -4842955.0001, Z= 3985352.2000 QC=0(unspecified), height=0.0000 RTCM3 (2011-04-10T22:38:51.29) Type 1008: ID= 700, Antenna='AOAD/M_T', Setup ID= 1, Serial='309' RTCM3 (2011-04-10T22:38:51.29) Type 1004: ID=700, TOW=194581.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=143117.62, pd= -13.9740, lock= >937, amb=22184641.892, snr=43.00) L2 (P(Y) , r= 8.28, pd= -19.0425, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=178784.96, pd= -12.4505, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 6.02, pd= -16.8070, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 34814.16, pd= -27.9665, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 3.16, pd= -36.1380, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=275555.38, pd= -10.8845, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.78, pd= -13.9335, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=268737.72, pd= -14.7275, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.10, pd= -19.6530, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=251996.10, pd= -2.1600, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.42, pd= -3.0425, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88279.98, pd= -20.2215, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.80, pd= -26.0800, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=250566.22, pd= -15.8355, lock= >937, amb=24582981.556, snr=33.00) L2 (P(Y) , r= 5.64, pd= -20.5005, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 54322.62, pd= -15.1540, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.20, pd= -19.7015, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.29) Type 1004: ID=700, TOW=194582.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=142563.68, pd= -13.8715, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.44, pd= -18.9410, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=178336.34, pd= -12.4755, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.94, pd= -16.8320, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 35484.26, pd= -27.7165, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 3.90, pd= -35.8875, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=275143.74, pd= -10.8040, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.94, pd= -13.8530, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=268287.56, pd= -14.6705, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.32, pd= -19.5960, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=252429.92, pd= -2.0800, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.26, pd= -2.9615, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88294.18, pd= -20.2425, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.92, pd= -26.1015, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=251190.88, pd= -16.3185, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 4.70, pd= -20.9830, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 54970.26, pd= -15.1575, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.22, pd= -19.7055, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.29) Type 1004: ID=700, TOW=194583.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=142009.96, pd= -13.9305, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.32, pd= -18.9995, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=177887.80, pd= -12.4905, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 6.02, pd= -16.8460, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 36154.40, pd= -27.4975, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 3.80, pd= -35.6685, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=274732.14, pd= -10.7580, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.98, pd= -13.8065, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=267837.50, pd= -14.6220, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.36, pd= -19.5465, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=252863.90, pd= -2.0890, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.42, pd= -2.9710, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88308.48, pd= -20.2425, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.88, pd= -26.1010, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=251815.26, pd= -16.5145, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 4.62, pd= -21.1800, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 55617.92, pd= -15.1650, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.06, pd= -19.7125, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.29) Type 1004: ID=700, TOW=194584.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=141456.22, pd= -13.9010, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.24, pd= -18.9700, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=177439.32, pd= -12.4830, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.82, pd= -16.8385, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 36824.50, pd= -27.2345, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 4.22, pd= -35.4070, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=274320.54, pd= -10.6985, lock= >937, amb=23084019.266, snr=44.00) L2 (P(Y) , r= 3.98, pd= -13.7460, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=267387.58, pd= -14.6160, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.34, pd= -19.5395, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=253297.92, pd= -2.0695, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.36, pd= -2.9515, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88322.90, pd= -20.2400, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 5.00, pd= -26.0995, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=252439.20, pd= -16.2900, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 4.68, pd= -20.9565, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 56265.54, pd= -15.1105, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.12, pd= -19.6575, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.29) Type 1004: ID=700, TOW=194585.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=140902.56, pd= -13.8930, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.32, pd= -18.9615, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=176990.90, pd= -12.4495, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.88, pd= -16.8050, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 37494.54, pd= -26.9040, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 4.80, pd= -35.0770, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=273909.04, pd= -10.7295, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.04, pd= -13.7765, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=266937.76, pd= -14.6145, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.46, pd= -19.5385, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=253732.04, pd= -2.0765, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.14, pd= -2.9585, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88337.46, pd= -20.2575, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.84, pd= -26.1165, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=253063.26, pd= -16.1780, lock= >937, amb=24582981.556, snr=33.00) L2 (P(Y) , r= 4.92, pd= -20.8450, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 56913.24, pd= -15.1185, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.00, pd= -19.6655, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.29) Type 1004: ID=700, TOW=194586.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=140348.98, pd= -13.8960, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.30, pd= -18.9640, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=176542.60, pd= -12.4540, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.92, pd= -16.8100, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 38164.62, pd= -26.6075, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 4.88, pd= -34.7805, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=273497.52, pd= -10.7365, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.88, pd= -13.7830, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=266488.00, pd= -14.5770, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.64, pd= -19.5020, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=254166.22, pd= -2.0730, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.10, pd= -2.9550, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88352.14, pd= -20.2780, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.74, pd= -26.1370, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=253686.84, pd= -15.6005, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 5.36, pd= -20.2685, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 57560.80, pd= -14.9730, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.02, pd= -19.5200, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.29) Type 1004: ID=700, TOW=194587.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=139795.36, pd= -13.8040, lock= >937, amb=22184641.892, snr=43.00) L2 (P(Y) , r= 8.56, pd= -18.8720, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=176094.38, pd= -12.4520, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.94, pd= -16.8085, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 38834.82, pd= -26.4290, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 5.16, pd= -34.6025, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=273086.06, pd= -10.7965, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.82, pd= -13.8420, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=266038.38, pd= -14.5890, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.48, pd= -19.5145, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=254600.46, pd= -2.0650, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.36, pd= -2.9465, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88366.94, pd= -20.2945, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.74, pd= -26.1530, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=254310.78, pd= -15.3765, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 5.08, pd= -20.0455, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 58208.48, pd= -14.9275, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.28, pd= -19.4745, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.29) Type 1004: ID=700, TOW=194588.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=139241.88, pd= -13.7855, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.70, pd= -18.8540, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=175646.26, pd= -12.4680, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.98, pd= -16.8255, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 39505.00, pd= -26.2130, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 5.28, pd= -34.3860, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=272674.56, pd= -10.8050, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.96, pd= -13.8500, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=265588.88, pd= -14.6200, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.06, pd= -19.5460, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=255034.82, pd= -2.1045, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.36, pd= -2.9860, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88381.86, pd= -20.3110, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.96, pd= -26.1705, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=254934.76, pd= -15.1990, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 5.80, pd= -19.8690, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 58856.22, pd= -14.9270, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.48, pd= -19.4735, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.29) Type 1004: ID=700, TOW=194589.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=138688.48, pd= -13.7845, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.66, pd= -18.8525, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=175198.22, pd= -12.4780, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.78, pd= -16.8335, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 40175.26, pd= -26.0775, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 6.02, pd= -34.2510, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=272263.10, pd= -10.8490, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 3.98, pd= -13.8940, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=265139.50, pd= -14.6760, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 4.92, pd= -19.6000, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=255469.22, pd= -2.1145, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.66, pd= -2.9955, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88396.92, pd= -20.3455, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.74, pd= -26.2045, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=255558.60, pd= -14.8730, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 6.34, pd= -19.5425, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 59504.00, pd= -14.9445, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.16, pd= -19.4915, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.29) Type 1004: ID=700, TOW=194590.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=138135.22, pd= -13.8660, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.54, pd= -18.9350, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=174750.30, pd= -12.5250, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.80, pd= -16.8810, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 40845.52, pd= -25.9375, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 6.22, pd= -34.1115, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=271851.68, pd= -10.9185, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.00, pd= -13.9630, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=264690.18, pd= -14.6980, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.02, pd= -19.6220, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=255903.68, pd= -2.1145, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.88, pd= -2.9950, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88412.10, pd= -20.3820, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.70, pd= -26.2415, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=256182.54, pd= -14.6635, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 7.36, pd= -19.3340, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 60151.72, pd= -14.8875, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.32, pd= -19.4350, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.29) Type 1006: ID= 700, Year=5, GPS=Y, GLONASS=N, Galileo=N, X= 1112189.9000, Y= -4842955.0001, Z= 3985352.2000 QC=0(unspecified), height=0.0000 RTCM3 (2011-04-10T22:38:51.29) Type 1008: ID= 700, Antenna='AOAD/M_T', Setup ID= 1, Serial='309' RTCM3 (2011-04-10T22:38:51.29) Type 1004: ID=700, TOW=194591.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=137582.00, pd= -13.9215, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.60, pd= -18.9900, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=174302.44, pd= -12.5505, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.74, pd= -16.9075, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 41515.78, pd= -25.7870, lock= >937, amb=23983396.640, snr=39.00) L2 (P(Y) , r= 6.44, pd= -33.9600, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=271440.26, pd= -10.9865, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.20, pd= -14.0315, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=264241.00, pd= -14.7675, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 4.96, pd= -19.6920, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=256338.18, pd= -2.0850, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.82, pd= -2.9665, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88427.40, pd= -20.4140, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.76, pd= -26.2735, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=256806.58, pd= -14.5525, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 7.38, pd= -19.2230, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 60799.54, pd= -14.9145, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.30, pd= -19.4625, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.29) Type 1004: ID=700, TOW=194592.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=137028.90, pd= -14.0330, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.74, pd= -19.1010, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=173854.68, pd= -12.5890, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.72, pd= -16.9465, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 42186.06, pd= -25.6485, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 6.34, pd= -33.8210, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=271028.82, pd= -11.0255, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.30, pd= -14.0705, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=263791.88, pd= -14.7985, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.08, pd= -19.7230, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=256772.80, pd= -2.1055, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.72, pd= -2.9875, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88442.80, pd= -20.4275, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.78, pd= -26.2880, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=257430.74, pd= -14.5700, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 7.04, pd= -19.2415, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 61447.36, pd= -14.9215, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.32, pd= -19.4695, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.29) Type 1004: ID=700, TOW=194593.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=136475.86, pd= -14.1415, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.58, pd= -19.2095, lock= >937, snr=28.00) SV= 8, L1 (C/A , r=173406.94, pd= -12.5645, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.60, pd= -16.9215, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 42856.46, pd= -25.6285, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 6.40, pd= -33.8010, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=270617.28, pd= -10.9550, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 4.22, pd= -14.0000, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=263342.80, pd= -14.7730, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.16, pd= -19.6970, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=257207.42, pd= -2.0570, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.54, pd= -2.9400, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88458.30, pd= -20.4160, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.72, pd= -26.2760, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=258054.98, pd= -14.6640, lock= >937, amb=24582981.556, snr=36.00) L2 (P(Y) , r= 6.28, pd= -19.3365, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 62095.02, pd= -14.7500, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.36, pd= -19.2980, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.30) Type 1004: ID=700, TOW=194594.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=135922.80, pd= -14.1670, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.78, pd= -19.2355, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=172959.28, pd= -12.5340, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.68, pd= -16.8905, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 43526.88, pd= -25.6225, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 6.44, pd= -33.7960, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=270205.76, pd= -10.8970, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 4.26, pd= -13.9420, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=262893.80, pd= -14.7320, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.34, pd= -19.6560, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=257642.14, pd= -2.0360, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.48, pd= -2.9190, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88473.96, pd= -20.4450, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.64, pd= -26.3050, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=258678.94, pd= -14.4780, lock= >937, amb=24582981.556, snr=34.00) L2 (P(Y) , r= 6.10, pd= -19.1505, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 62742.86, pd= -14.7415, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.34, pd= -19.2900, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.30) Type 1004: ID=700, TOW=194595.000, More Data=No, GPS-Sats= 9, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=135369.76, pd= -14.1560, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.70, pd= -19.2240, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=172511.74, pd= -12.5400, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.64, pd= -16.8965, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 44197.30, pd= -25.6100, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 6.36, pd= -33.7840, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=269794.22, pd= -10.8060, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 4.66, pd= -13.8505, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=262444.98, pd= -14.7765, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.22, pd= -19.7010, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=258076.96, pd= -2.0455, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.56, pd= -2.9280, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88489.74, pd= -20.4745, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.62, pd= -26.3350, lock= >937, snr=45.00) SV= 6, L1 (C/A , r=259303.02, pd= -14.4190, lock= >937, amb=24582981.556, snr=35.00) L2 (P(Y) , r= 6.26, pd= -19.0920, lock= >937, snr=17.75) SV= 3, L1 (C/A , r= 63390.72, pd= -14.7355, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.50, pd= -19.2840, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.30) Type 1004: ID=700, TOW=194596.000, More Data=No, GPS-Sats= 8, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=134816.72, pd= -14.0760, lock= >937, amb=22184641.892, snr=43.00) L2 (P(Y) , r= 8.66, pd= -19.1435, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=172064.28, pd= -12.5390, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.60, pd= -16.8945, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 44867.52, pd= -25.3855, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 6.70, pd= -33.5595, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=269382.42, pd= -10.4510, lock= >937, amb=23084019.266, snr=41.00) L2 (P(Y) , r= 5.02, pd= -13.4960, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=261996.26, pd= -14.8270, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.14, pd= -19.7505, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=258511.84, pd= -2.0480, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.98, pd= -2.9305, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88505.64, pd= -20.5030, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.58, pd= -26.3635, lock= >937, snr=45.00) SV= 3, L1 (C/A , r= 64038.62, pd= -14.7500, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.60, pd= -19.2995, lock= >937, snr=26.00) RTCM3 (2011-04-10T22:38:51.30) Type 1004: ID=700, TOW=194597.000, More Data=No, GPS-Sats= 8, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=134263.88, pd= -14.1335, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.68, pd= -19.2015, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=171616.92, pd= -12.5580, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.86, pd= -16.9150, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 45537.78, pd= -25.2015, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 7.02, pd= -33.3760, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=268970.78, pd= -10.2475, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.20, pd= -13.2930, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=261547.58, pd= -14.8205, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.42, pd= -19.7430, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=258946.78, pd= -2.0405, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.78, pd= -2.9230, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88521.66, pd= -20.5280, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.66, pd= -26.3880, lock= >937, snr=45.00) SV= 3, L1 (C/A , r= 64686.56, pd= -14.7900, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.70, pd= -19.3390, lock= >937, snr=26.00) RTCM3 (2011-04-10T22:38:51.30) Type 1004: ID=700, TOW=194598.000, More Data=No, GPS-Sats= 8, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=133711.04, pd= -14.1290, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.58, pd= -19.1960, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=171169.64, pd= -12.5705, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.82, pd= -16.9270, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 46208.32, pd= -25.2875, lock= >937, amb=23983396.640, snr=39.00) L2 (P(Y) , r= 7.04, pd= -33.4615, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=268559.22, pd= -10.1140, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.46, pd= -13.1590, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=261099.02, pd= -14.8340, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.14, pd= -19.7570, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=259381.80, pd= -2.0400, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.68, pd= -2.9220, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88537.80, pd= -20.5535, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.62, pd= -26.4140, lock= >937, snr=45.00) SV= 3, L1 (C/A , r= 65334.46, pd= -14.7735, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.78, pd= -19.3235, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.30) Type 1004: ID=700, TOW=194599.000, More Data=No, GPS-Sats= 8, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=133158.34, pd= -14.2040, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.40, pd= -19.2710, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=170722.42, pd= -12.5585, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.76, pd= -16.9145, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 46878.80, pd= -25.3060, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 7.00, pd= -33.4805, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=268147.66, pd= -9.9770, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.56, pd= -13.0215, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=260650.60, pd= -14.8985, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.20, pd= -19.8215, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=259816.92, pd= -2.0730, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.62, pd= -2.9560, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88554.06, pd= -20.5765, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.52, pd= -26.4365, lock= >937, snr=45.00) SV= 3, L1 (C/A , r= 65982.44, pd= -14.8175, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.72, pd= -19.3670, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.30) Type 1004: ID=700, TOW=194600.000, More Data=No, GPS-Sats= 8, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=132605.66, pd= -14.2365, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 8.18, pd= -19.3040, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=170275.28, pd= -12.5390, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.42, pd= -16.8955, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 47549.38, pd= -25.4225, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 6.94, pd= -33.5970, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=267736.14, pd= -9.8670, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 5.44, pd= -12.9095, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=260202.22, pd= -14.9060, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 4.86, pd= -19.8285, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=260252.12, pd= -2.1140, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.70, pd= -2.9965, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88570.42, pd= -20.5805, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.62, pd= -26.4405, lock= >937, snr=45.00) SV= 3, L1 (C/A , r= 66630.48, pd= -14.9085, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 5.56, pd= -19.4585, lock= >937, snr=26.00) RTCM3 (2011-04-10T22:38:51.30) Type 1006: ID= 700, Year=5, GPS=Y, GLONASS=N, Galileo=N, X= 1112189.9000, Y= -4842955.0001, Z= 3985352.2000 QC=0(unspecified), height=0.0000 RTCM3 (2011-04-10T22:38:51.30) Type 1008: ID= 700, Antenna='AOAD/M_T', Setup ID= 1, Serial='309' RTCM3 (2011-04-10T22:38:51.30) Type 1004: ID=700, TOW=194601.000, More Data=No, GPS-Sats= 8, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=132052.94, pd= -14.1650, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.84, pd= -19.2315, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=169828.26, pd= -12.5575, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.90, pd= -16.9145, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 48219.78, pd= -25.3515, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 7.08, pd= -33.5270, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=267324.74, pd= -9.8705, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 5.36, pd= -12.9135, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=259753.98, pd= -14.9565, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.38, pd= -19.8785, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=260687.40, pd= -2.1625, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.62, pd= -3.0455, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88586.90, pd= -20.5815, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.52, pd= -26.4415, lock= >937, snr=45.00) SV= 3, L1 (C/A , r= 67278.50, pd= -14.9515, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.46, pd= -19.5015, lock= >937, snr=26.00) RTCM3 (2011-04-10T22:38:51.30) Type 1004: ID=700, TOW=194602.000, More Data=No, GPS-Sats= 8, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=131500.38, pd= -14.1925, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.80, pd= -19.2590, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=169381.30, pd= -12.5520, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.72, pd= -16.9095, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 48890.22, pd= -25.3140, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 6.96, pd= -33.4890, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=266913.40, pd= -9.9225, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 5.26, pd= -12.9650, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=259305.78, pd= -14.9505, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.10, pd= -19.8745, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=261122.72, pd= -2.1825, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.46, pd= -3.0660, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88603.52, pd= -20.6035, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.50, pd= -26.4635, lock= >937, snr=45.00) SV= 3, L1 (C/A , r= 67926.52, pd= -14.9865, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 5.68, pd= -19.5375, lock= >937, snr=26.00) RTCM3 (2011-04-10T22:38:51.30) Type 1004: ID=700, TOW=194603.000, More Data=No, GPS-Sats= 8, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=130947.98, pd= -14.3140, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.64, pd= -19.3800, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=168934.40, pd= -12.5205, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.52, pd= -16.8775, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 49560.82, pd= -25.4300, lock= >937, amb=23983396.640, snr=39.00) L2 (P(Y) , r= 6.40, pd= -33.6050, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=266502.14, pd= -10.0475, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 5.12, pd= -13.0895, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=258857.70, pd= -14.9680, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.00, pd= -19.8915, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=261558.14, pd= -2.2370, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.52, pd= -3.1210, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88620.20, pd= -20.5650, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.60, pd= -26.4255, lock= >937, snr=45.00) SV= 3, L1 (C/A , r= 68574.68, pd= -15.1425, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.62, pd= -19.6940, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.30) Type 1004: ID=700, TOW=194604.000, More Data=No, GPS-Sats= 8, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=130395.58, pd= -14.3755, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.38, pd= -19.4395, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=168487.64, pd= -12.5475, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.84, pd= -16.9045, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 50231.18, pd= -25.3050, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 6.62, pd= -33.4805, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=266090.94, pd= -10.2280, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 5.02, pd= -13.2700, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=258409.70, pd= -14.9725, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 4.88, pd= -19.8965, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=261993.56, pd= -2.2175, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.36, pd= -3.1010, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88637.04, pd= -20.5625, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.48, pd= -26.4225, lock= >937, snr=45.00) SV= 3, L1 (C/A , r= 69222.72, pd= -15.1600, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.62, pd= -19.7115, lock= >937, snr=26.00) RTCM3 (2011-04-10T22:38:51.30) Type 1004: ID=700, TOW=194605.000, More Data=No, GPS-Sats= 8, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=129843.30, pd= -14.4945, lock= >937, amb=22184641.892, snr=44.00) L2 (P(Y) , r= 7.40, pd= -19.5590, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=168040.94, pd= -12.5450, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.72, pd= -16.9015, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 50901.66, pd= -25.2905, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 6.34, pd= -33.4660, lock= >937, snr=20.00) SV= 28, L1 (C/A , r=265679.74, pd= -10.3990, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.86, pd= -13.4410, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=257961.80, pd= -14.9785, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 4.48, pd= -19.9020, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=262429.12, pd= -2.2710, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.22, pd= -3.1545, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88653.94, pd= -20.5030, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.60, pd= -26.3640, lock= >937, snr=45.00) SV= 3, L1 (C/A , r= 69870.78, pd= -15.1850, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.54, pd= -19.7370, lock= >937, snr=26.00) RTCM3 (2011-04-10T22:38:51.30) Type 1004: ID=700, TOW=194606.000, More Data=No, GPS-Sats= 8, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=129291.06, pd= -14.5910, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.20, pd= -19.6555, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=167594.34, pd= -12.5625, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.82, pd= -16.9205, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 51571.96, pd= -25.0925, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 6.48, pd= -33.2695, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=265268.52, pd= -10.5435, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.48, pd= -13.5855, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=257514.02, pd= -15.0130, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 4.90, pd= -19.9370, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=262864.76, pd= -2.3375, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.30, pd= -3.2215, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88671.00, pd= -20.4810, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.66, pd= -26.3420, lock= >937, snr=45.00) SV= 3, L1 (C/A , r= 70518.84, pd= -15.1890, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.46, pd= -19.7415, lock= >937, snr=26.00) RTCM3 (2011-04-10T22:38:51.30) Type 1004: ID=700, TOW=194607.000, More Data=No, GPS-Sats= 8, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=128738.86, pd= -14.6610, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.26, pd= -19.7250, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=167147.82, pd= -12.5735, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.64, pd= -16.9315, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 52242.22, pd= -24.8425, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 6.82, pd= -33.0200, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=264857.26, pd= -10.6365, lock= >937, amb=23084019.266, snr=44.00) L2 (P(Y) , r= 4.54, pd= -13.6785, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=257066.36, pd= -15.0675, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 4.94, pd= -19.9915, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=263300.42, pd= -2.3495, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.36, pd= -3.2330, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88688.16, pd= -20.4340, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.76, pd= -26.2945, lock= >937, snr=45.00) SV= 3, L1 (C/A , r= 71167.00, pd= -15.2725, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 5.34, pd= -19.8255, lock= >937, snr=26.00) RTCM3 (2011-04-10T22:38:51.30) Type 1004: ID=700, TOW=194608.000, More Data=No, GPS-Sats= 8, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=128186.80, pd= -14.8090, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 7.12, pd= -19.8730, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=166701.36, pd= -12.5620, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.54, pd= -16.9205, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 52912.70, pd= -24.8080, lock= >937, amb=23983396.640, snr=40.00) L2 (P(Y) , r= 6.62, pd= -32.9845, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=264445.98, pd= -10.7040, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.62, pd= -13.7465, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=256618.80, pd= -15.1280, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 4.68, pd= -20.0520, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=263736.18, pd= -2.3925, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.22, pd= -3.2755, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88705.50, pd= -20.4485, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.76, pd= -26.3095, lock= >937, snr=45.00) SV= 3, L1 (C/A , r= 71815.08, pd= -15.2625, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 5.28, pd= -19.8155, lock= >937, snr=26.00) RTCM3 (2011-04-10T22:38:51.30) Type 1004: ID=700, TOW=194609.000, More Data=No, GPS-Sats= 8, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=127634.88, pd= -15.0375, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 6.88, pd= -20.1020, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=166255.02, pd= -12.5860, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.60, pd= -16.9440, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 53583.18, pd= -24.7725, lock= >937, amb=23983396.640, snr=41.00) L2 (P(Y) , r= 6.72, pd= -32.9500, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=264034.72, pd= -10.7790, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.54, pd= -13.8210, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=256171.34, pd= -15.1965, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 4.66, pd= -20.1205, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=264172.00, pd= -2.4310, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.00, pd= -3.3140, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88722.88, pd= -20.3835, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.78, pd= -26.2440, lock= >937, snr=45.00) SV= 3, L1 (C/A , r= 72463.12, pd= -15.1935, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 5.14, pd= -19.7460, lock= >937, snr=26.00) RTCM3 (2011-04-10T22:38:51.30) Type 1004: ID=700, TOW=194610.000, More Data=No, GPS-Sats= 8, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=127082.98, pd= -15.2205, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 6.60, pd= -20.2850, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=165808.78, pd= -12.6265, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.76, pd= -16.9855, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 54253.64, pd= -24.7045, lock= >937, amb=23983396.640, snr=39.00) L2 (P(Y) , r= 6.44, pd= -32.8820, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=263623.40, pd= -10.7855, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.42, pd= -13.8275, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=255723.98, pd= -15.2620, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 4.94, pd= -20.1850, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=264607.84, pd= -2.4135, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.40, pd= -3.2965, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88740.42, pd= -20.3565, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.72, pd= -26.2180, lock= >937, snr=45.00) SV= 3, L1 (C/A , r= 73111.26, pd= -15.2070, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 4.96, pd= -19.7590, lock= >937, snr=26.00) RTCM3 (2011-04-10T22:38:51.30) Type 1006: ID= 700, Year=5, GPS=Y, GLONASS=N, Galileo=N, X= 1112189.9000, Y= -4842955.0001, Z= 3985352.2000 QC=0(unspecified), height=0.0000 RTCM3 (2011-04-10T22:38:51.30) Type 1008: ID= 700, Antenna='AOAD/M_T', Setup ID= 1, Serial='309' RTCM3 (2011-04-10T22:38:51.30) Type 1004: ID=700, TOW=194611.000, More Data=No, GPS-Sats= 8, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=126531.06, pd= -15.3185, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 6.64, pd= -20.3825, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=165362.60, pd= -12.6425, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.70, pd= -17.0010, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 54924.14, pd= -24.6755, lock= >937, amb=23983396.640, snr=39.00) L2 (P(Y) , r= 5.72, pd= -32.8540, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=263212.14, pd= -10.8480, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.42, pd= -13.8895, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=255276.72, pd= -15.3360, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 4.86, pd= -20.2600, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=265043.84, pd= -2.4925, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 3.08, pd= -3.3750, lock= >937, snr=40.00) SV= 7, L1 (C/A , r= 88758.06, pd= -20.3085, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.78, pd= -26.1695, lock= >937, snr=45.00) SV= 3, L1 (C/A , r= 73759.36, pd= -15.1645, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 4.74, pd= -19.7160, lock= >937, snr=26.00) RTCM3 (2011-04-10T22:38:51.30) Type 1004: ID=700, TOW=194612.000, More Data=No, GPS-Sats= 8, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=125979.16, pd= -15.3775, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 6.78, pd= -20.4415, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=164916.50, pd= -12.6500, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 5.54, pd= -17.0085, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 55594.80, pd= -24.7990, lock= >937, amb=23983396.640, snr=39.00) L2 (P(Y) , r= 5.26, pd= -32.9770, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=262800.92, pd= -10.9450, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.58, pd= -13.9865, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=254829.52, pd= -15.3745, lock= >937, amb=20985472.060, snr=50.00) L2 (P(Y) , r= 4.84, pd= -20.2995, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=265479.86, pd= -2.5195, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 2.90, pd= -3.4030, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88775.86, pd= -20.2970, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.76, pd= -26.1575, lock= >937, snr=45.00) SV= 3, L1 (C/A , r= 74407.54, pd= -15.1855, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.68, pd= -19.7375, lock= >937, snr=25.00) RTCM3 (2011-04-10T22:38:51.30) Type 1004: ID=700, TOW=194613.000, More Data=No, GPS-Sats= 8, GPS Smoothing=No (No smoothing) SV= 24, L1 (C/A , r=125427.30, pd= -15.4100, lock= >937, amb=22184641.892, snr=45.00) L2 (P(Y) , r= 6.74, pd= -20.4735, lock= >937, snr=29.00) SV= 8, L1 (C/A , r=164470.50, pd= -12.6765, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 5.42, pd= -17.0340, lock= >937, snr=38.00) SV= 13, L1 (C/A , r= 56265.22, pd= -24.6760, lock= >937, amb=23983396.640, snr=39.00) L2 (P(Y) , r= 5.58, pd= -32.8540, lock= >937, snr=19.25) SV= 28, L1 (C/A , r=262389.62, pd= -10.9485, lock= >937, amb=23084019.266, snr=43.00) L2 (P(Y) , r= 4.58, pd= -13.9890, lock= >937, snr=26.00) SV= 11, L1 (C/A , r=254382.42, pd= -15.4155, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 4.60, pd= -20.3400, lock= >937, snr=37.00) SV= 19, L1 (C/A , r=265915.92, pd= -2.5155, lock= >937, amb=20985472.060, snr=49.00) L2 (P(Y) , r= 2.90, pd= -3.3995, lock= >937, snr=39.00) SV= 7, L1 (C/A , r= 88793.78, pd= -20.2865, lock= >937, amb=20086094.686, snr=51.00) L2 (P(Y) , r= 4.80, pd= -26.1475, lock= >937, snr=45.00) SV= 3, L1 (C/A , r= 75055.70, pd= -15.1700, lock= >937, amb=23084019.266, snr=42.00) L2 (P(Y) , r= 4.62, pd= -19.7225, lock= >937, snr=25.00) gpsd-3.9/test/rtcm3-3.log0000664000175000017500000006410011762140440013342 0ustar esresr# Name: Ntrip caster log from http://products.igs-ip.net/ # Description: RTCM3 data from an Ntrip caster # Submitted-by: Chris Kuethe # Date: 2011-03-01 # Notes: The NTRIP source table entry is: # STR;USNO0;Washington;RTCM 3.0;1004(1),1006(10),1008(10);2;GPS;IGS;USA;38.92;282.93;0;0;ASHTECH Z-XII3T;none;B;N;1300;NRCan ÿÎþ€rã°ÔÿCÌ@óó?OöƒՈŸk·ú”¢·»eÿD ˜*_òh¿Ó*Hý¿oúø¯ÞÐӕ>ÂŒ.\*aKñ¿Ò¬Xœ’¿û gÞ?4þˆ‚3ïdæ ]§Âz_ôùÄŸ 9þ à]L×é¬?§V Uüu7ö‚ÂÓï…ý؈ÿÊ&”¶ þäèØˆ¿ÎÁþ€rà°ŠÿCÌ@ñó9oöƒôþq×ú”¢ÿŒ*D ™&gò]Ó*J=œ÷úølReӕ>ÂŒ.\9 aJÁ‘ñe?Ò¬Xý«û bAϝOþˆ‚1ïgŸæ ]é%úLÇôùÄ/ îþ à\ séžÿ§V TüvÏö‚ÂÈ£¿ký'؅¿È&•ôþÝïèØˆÿÍùþ€rÝ?°vCÌ@ðó3Oöƒ ƒþlKú”‚7»yÿD š"wòB?Ó*H=º›úøÅsÓ•>ÂŒ.\I@aIæ-ñ(ŸÒ¬Vý†û \¥’þˆ‚5ïpæ ^*Œú2¯ôúß«þ àZÈéÁÿ§V V|wïö‚œXÿ5ý ØÈ&•[ßþÙoèØˆÍkþ€rڗ°JÿCÌ@îó-ÿ÷ 1ŸlSú”bW»{D ›ò<_Ó*Gý¹ãúøºZ¹Ó>âŒ–êµøŽ¹_¶O Gt|PK‡°Ó?ŒAOAD/M_T309Ž—Ó•>ÂŒ.\XàaI ¿ñ_Ò¬T=ƒ—û W Þþ‚9ïyßæ ^kòzôùÄ/äþ àY…»é»?§V V|wö‚²¿/ýߨ?È&•®ÌþÙŸèØˆ?Ímþ€rذ1ÿCÌ@êó*Ï÷ O~l/ú”¢»wD œ“ò&ÿÓ+D=·3úøŽ•`ӕ>ÂŒ.\h€aH/_ðëŸÒ¬Oý~û QmϞ(þ‚Iï‚ÿæ ^­Szôù„Ï€þ àXCk飧V W|t'ö‚ŠğIýëØ¢?È&–¹þáŸè؈ŸÎmþ€rÕׯðCÌ@éó"÷ mþþg×ú”¢gºìD ¡ò _Ó*Dý¶cúøÑ;pӕ>ÂŒ.\x aGSýðÕÒ¬R={¯û KÒžþ‚Gï~_æ ^î²ú ÷ôù„Oñþ àWé™§V Xürïö‚›{OýëØÂ¿È&–T­þá¿è؈Îuþ€rÓ·¯ÙÿCÌ@ïó¿÷ Œ~~cú”‡ºTÿD ž³ò?Ó*@œŽÛúø‹|Öӕ>ÂŒ.\‡ÀaFx›ðÎÿÒ¬Oýzëû F7_žþˆ‚Yï~Ÿæ _0úôù„?þ àUŸ·é²?§T Wüvö‚2ŸEýØÁ¿È&–§€þãßèØˆηþ€rÑ·¯ìCÌ@âó"÷ ªû~dÛú”‚ºŒÿD ŸÇòÿÓ*A}³súøÌè1ӕ>ÂŒ.\—`aEKð©ÿÒ¬QývKû @œßþˆ‚7ïyÿæ _qkúÇôù„oˆþ àT|Géõ?§V \|~oö‚„ê¹ýØÏÿÈ&–ú›þîèØˆßÏýþ€rÏß°ÿCÌ@ðó&÷ É{~^Ûú”¢¿¹ÍD   ×ò Ó*?ý³»úø+jŽÓ•>ÂŒ.\§aDÁûð•?Ò¬P=s³û ;™þ‚7ïqæ _²Æz§ôùÄÏ¥þ àS9çê¿§V ]|‚Çö‚Ây£Åý§ØÑ¿È&—M˜þóèØˆÿПþ€rÎ_¯ÐCÌ@ðó÷ çùŸ]Wú”¢¹œÿD ¡õñïßÓ*?=°Kúø&‡gӕ>ÂŒ.\¶ aCæ­ð‰ÿÒ¬LœrOû 5g¿|þ‚CïmŸæ _ô'zGôùÄÿ¶þ àQ÷{êX¿§V ]üŠçö‚Ân\iýËØÆ¿È&— –þþ/èØˆ?Òþ€rÌÿ¯»ÿCÌ@êóÿ÷!y~WÛú”‚çžíÿD ¢ ñìÿÓ*?œ¯çúøi‚Óӕ>ÂŒ.\Æ@aC gðxÿÒ¬Jœp3û /Íϝþ‚/ï`æ `5ˆz ·ôùDÏåþ àPµê ¿§V cü“÷ö‚Âc_Aý£ØÂÈ&—ó˜ÿïèØˆßÓ]þ€rËׯ“CÌ@ßóÿ÷!$öŸXëú”¢O¹D ¢ÿ!ñïßÓ*<}°KúøÂ·þӕ>ÂŒ.\ÕàaB0/ðT_Ò­K}kŸû *4/œˆþ‚EïO?æ `vçú ôùď þ àOr§êá?§V f|œö‚ÂWÐßùý ØžÿÈ&˜FÿŸè؈ÿÔÏþ€rÊ߯iCÌ@Ýó¯÷!Cu~U¿ú”¢ÇžªÿD £û9ññ_Ó*;=°wúø AºÓ•>ÂŒ.\倐aATóðHÿÒ¬Iýj7û¡ $š¿œ"þ‚%ïBŸæ `žGúÏôù„Hþ àN0Cëÿ§V n|£‡ö‚ÂL‹ÙýØÕÈ&˜™šÿŸè؈¿Õþ€rʯUÿCÌ@âó?÷!aô~Rú”¢Wž6ÿD €÷Qñ÷ŸÓ*:}±;úøÛÓ>âŒ–êµøŽ¹_¶O Gt|PK‡°Ó?ŒAOAD/M_T309Ž—Ó•>ÂŒ.\õ a@y»ð@ÿÒ­K}i7û¡ ›éþ‚!ï;_æ `ù¬ùøÏôùÄNÿiþ àLíÇë•§T r|²—ö‚ÂAF¿¡ýÓØîÈ&˜ìžÿÏèØˆŸÕÙþ€rÉw¯-ÿCÌ@éó O÷!€qþRú”Â_ž7D ¥óoñôÓ*7ý°ÃúøŸ}jӕ>ÂŒ.]Àa?žð,Ò­M=f¯û¡ ho›ãþ‚/ï:Ÿæ a; ùöïôù„Îÿ*þ àK«Sëÿ§T ||¿çö‚Â6¿ñýØø?È&™?ÏÿèØˆŸÕ þ€rÈï¯UCÌ@åó÷!žñþKßú” —·oÿD ŠïñðÓ+6œ°CúøK‹Ó•>ÂŒ.]`a>Ãið_Ò­Lýcëû¡ ϯ›­þ‚/ï3Ÿæ a|iùýGôù„ŽÿõþšàJhÇì«ÿ§T ƒüÕö‚Â*¿?ƒýïÙ ¿È&™’ãÿ ÏèØˆŸÖQþ€rȯ¯?ÿCÌ@Þó oöƒ!œs~AÓú”¢ ¶.ÿD §ë¯ññ?Ó*6œ°kúø9uӕ>ÂŒ.]$a=èKïû_Ò­M=`‹û¡ 6ïœþ‚1ïAßæ aœÍyôôùÄþÍþšàI&Síÿ§T …|ãßö‚Â|—ýïÙ-?È&™åÿÿ _èØˆ_ÖCþprȗ¯?ÿCÐ@àó öƒ!Ûñ~@ú”¢ç¶D šçÅòÿÓ*7}ŽCúør 4ӕ>ÂŒ.]3 a= %ðÒ­Qýaƒû¡ ž¯›öþ‚5ï<ÿæ aÿ2ùæ'ôù„^ýþšàGãÓíµ¿§T ‹|ö¿ö‚Â9ßñýƒÙ8ÿÈ&š9ÿ¯è؈ÿÖ þ€rÈǯÿCÌ@àóöƒ!úp>=ú”‚µ–D ©ãßò)¿Ó*6œ·wúø^?æÓ•>ÂŒ.]C@a<2 ïöÿÒ­S=_ÿû¡ ϛzþ‚ï-_æ b@yí7ôù„nýñþšàF¡íß§T |üö‚Â÷ÿÉýŸÙS¿È&šŒAÿ ßèØˆ_ÖSþ€rÉ'®ÊÿCÌ@ßòýÏöƒ"ï>9?ú”¢—µÿG ªàò ßÓ+5=³¿úøÍ*¿Ó•>ÂŒ.]Ràa;Võïù¿Ò¬Q}`[û¡ ýo›Vþ‚ ï)æ bóùåGôùÄüòþšàE_'î¿§T }ö‚Áý¶ÿíýûÙX?È&šßhÿÿèØˆ¿Ö;þ€rɟ®ÌÿCÌ@Úòýÿ÷"7m~6Óú”Â÷ŽÌÿG «ÜAñ÷ßÓ*2œ±?úø”5öӕ>ÂŒ.]b€a:{íïãÒ­Pœ]Ÿû¡ ÷×_›¯þˆ‚!ï4?æ bÃVyà¿ôùÄÞübþšàDÓîMÿ§T ’ý çö‚Áòvß[ýïÙF?È&›2‘ÿ"è؈?ևþ€rÊ?®áÿCÌ@Üó¿÷"UìŸ2 ú”¢/Ž3G ¬ØiñüÿÓ+4ý±ãúø|mӕ>ÂŒ.]r a9 åïܟҬQ}\Ëû¡ ò?¿œþ‚-ïN_æ cºyÙGôùÄÞûqþšàBڛî?§V ”ýö‚Áç7_ýãÙ&¿È&›…ÀÿÏèØˆÿÖ3þ€rË®ÐÿCÌ@Ýòþo÷"tj>1Ÿú”Â_Ž&G ­Ô£ñڟÓ*2=­›úøú߀ӕ>ÂŒ.]Àa8Åßïß?Ò¬Q}]û¡ ìš_Sþ‚WïhŸæ cFùÕôùÄÎú÷þšàA˜oîÿ§T ýçö‚ÁÛøßïýÛØøÈ&›ØòÿÿèØˆŸÕ÷þ€rÌ®úCÌ@Úó¯÷"’è~/ú”¢O³äÿG ®Ðßñ·?Ó+3}©+úø{S¢Ó>âŒ–êµøŽ¹_¶O Gt|PK‡°Ó?ŒAOAD/M_T309Ž—Ó•>ÂŒ.]‘`a7êÙïð_Ò¬U}_;û¡ 珝bþˆ‚Cïj¿æ c‡ùÌ'ôù„^ùÌþšà@V3î¿§T }oö‚Áкÿ!ýØŸÈ&œ,(ÿ?èØˆß՝þprÍO®þÿCÌ@ÛóO÷"±e~0;ú”³ùG ¯ÍñµßÓ*2}šÿúøÕiXӕ>ÂŒ.]¡a7Ùð_Ò¬Výa{û¡ á{'þ‚?ïc_æ cÈåùÆ7ôù„þùþšà?ëî??§V “}'ö‚ÁÅ}_ý¯ØœÿÈ&œdÿŸè؈ԋþ€rΧ¯)ÿCÌ@âó ÷"Ïâþ/Óú”¢O³ìÿG °ÉIñ¡Ó+2=ŠwúøÓ÷ӕ>ÂŒ.]° a64Ýð?Ò­Z}dsû¡ Û保lþ‚;ïkÿæ d FyÉ?ôù„>ùpþšà=Ñ·î5¿§T “}ö‚Áº@_ýƒØ{?È&œÒ ÿ/èØˆßԟþprÐ7¯BÿCÌ@ãó ¿÷"îb>*÷ú”¢³QÿG ±Å…ñŒ¿Ó+0}£ßúøO¬bӕ>ÂŒ.]À@a5Yãð;Ò¬[œh“û¡ ÖNŸ¯þˆ‚oït?æ dKŠyÎ?ôù„úþšà<‡î&¿§V “}ö‚Á¯¿mýØg¿È&%ÞÿèØˆÕþprÑ篅CÌ@ëó÷# ß>+wú”¢ÿ³aÿG ²ÁËñcÓ+.œž¯û :Tbӕ>ÂŒ.]Ïàa4~÷ðGÿÒ¬X=j/û¡ Оߝ¥þˆ‚Wïsæ dùÍwôùÄ>ùõþšà;M[î¿§V ˜}Çö‚Á£Çgý‹Øg¿Ê&y!ÿÿèØˆÿÕ7þprÓ¿¯ÛÿCÌ@ðóß÷#+[Ÿ-[ú”¢ß³ÿG ³ŸñWÿÓ+/=Cû kz ӕ>ÂŒ.]߀a3€ ð_?Ò¬Yýmû¡ Ë#_ þ‚YïrŸæ dÎhùÓ§ôù„žúºþšà: Síš§V ‹üõgö‚Á˜‹ß?ý‹ØbÈ&ÌgÿèØˆÕþprÕϰÿCÌ@ìó(÷#IÙ>,wú”ÂW³€ÿG Žº?ñ[ßÓ*.œÃúøCÉðӕ>ÂŒ.]ï a2É)ðuÒ¬Z=oßû¡ Ŏ?Sþ‚Wïh¿æ eÌyÑgôù„Îúqþšà8É+퐿§T ˆüòoö‚ÁP¿QýØd¿È&ž­ÿ%OèØˆŸÖåþprذKÿCÌ@òó-ß÷#hU>/wú”¢³àÿG µ¶‰ñ6_Ó+,}™û ¡iӕ>ÂŒ.]þÀa1îKðŒŸÒ¬VýrËû¡ ¿ùoœáþ‚]ïZŸæ eQ.yÓ¯ôù„Þú»þšà7‡í8¿§V ‡|çoö‚Á‚ÿåý›ØwÈ&žrõÿ4Ÿè؈ߨÏþprڟ°TCÌ@ïó.ï÷#†Ó~,Ÿú”¢³…G ¶²Íñ$¿Ó+,ý–ßû ÿüœÓ•>ÂŒ.^`a1qðšßÒ¬Wýv[û¡ ºdߜrþ‚5ïLŸæ e’‘yÓçôùÄþúÃþšà6E#컿§V }ü××ö‚ÁvÛß[ýŸØ…È&žÆBÿ@èØˆÚ=þprÝO°kCÌ@ñó1¿÷#¥Q~*—ú”¢_³EG ·¯ñÓ++œ’Sû 9á—Ó•>ÂŒ.^a08™ðÏÒ¬Z={3û¡ ŽÐϛjþ‚;ï+Ÿæ eÓôyÔôùÄþúÕþšà5 ìŠÿ§V süÑÇö‚Ák¢YýØ€ÿÈ&Ÿ•ÿE¿è؈Úñþprà7°sÿCÌ@óó2ß÷#ÃΟ*ú”¢g³4G ž«_ðø¿Ó+,=‘kû ;¯Ó>âŒ–êµøŽ¹_¶O Gt|PK‡°Ó?ŒAOAD/M_T309Ž—Ó•>ÂŒ.^- a/]Éðð¿Ò¬\œ[û¡ ¯<ϚÝþ‚-ïæ fYyÐÇôúÞú^þšà3Àëìoÿ§V q|Îwö‚Á`h߉ý›ØË?È&ŸlîÿE?èØˆÿÚãþprãg°AÿCÌ@ðó,Ÿ÷#âLþ'Gú”¢²ÛÿG ¹§¡ðúÓ++ý‘—û 9ӕ>ÂŒ.^=@a.‚ûñŸÒ¬^ý„¿û¡ ©šïš©þ‚ïŸæ fVÁyÆôùÄÎùþšà2~Çìbÿ§T o|ÌÏö‚ÁU/ÿWýßÙÿÈ&ŸÀLÿAŸè؈¿Úkþ€r毰IÿCÐ@ôó-Ÿ÷$Ëþ"?ú”¢'²:ÿG º£ïðãÓ+'œŽ·û ˜íÄӕ>ÂŒ.^Làa-šCñ?Ò¬\}…3û¡ €/šœþˆ‚ïÿæ f˜%yÆWôùÄ^ùþšà1<£ì[?§V qüËçö‚ÁI÷ߣý¿Ù.¿È& ®ÿ<¯è؈ÙÍþprê7°,CÌ@öó)ï÷$J>oú”¢g±àÿG » =ðÑ_Ó+&ýŒƒû Jèӕ>ÂŒ.^\€a,͉ñ7_Ò¬]ýˆ7û¡ žÏš‹þ‚'ï¿æ fىùşôú®øúþšà/úoì~¿§T o|ÐWö‚Á>ÀýçÙKÿÈ& gÿ,Ÿè؈?×Éþ€rí÷¯ùÿCÌ@îó#Ÿ÷$=Äþ%3ú”‚÷²™ÿG Œœ‹ðÿÓ+'=ŠËû éŽ]ӕ>ÂŒ.^l a+òÙñCÿÒ¬]}‰Çû¡ ˜î¯š^þ‚ï ?æ gïùÁôúŸøvþšà.ž?ì™ÿ§V tüÓ·ö‚Á3‰_Eý3كÈ& º‚ÿ%èØˆ?Öçþ€rñ߯ÙCÌ@éóo÷$\A>&ûú”¢—²ÒG œ˜ÑðοÓ+&=Œ/û PVӕ>ÂŒ.^{Àa+%ñjÒ¬_ýŽ“û¡ “[Ϛ2þ‚GïŸæ g\VyŒïôú.÷äþšà-v'쀿§V oüПö‚Á(S_§ýóُ?È&¡ ðÿ¯è؈Õïþ€rõï¯ÒCÌ@çó¯÷$z¿>$;ú”‚ç²yÿG Ÿ•ðÐÓ+&œŒ_û WÏÙӕ>ÂŒ.^‹`a*=sñ›_Ò¬e}”³û¡ Éš^þ‚ï ?æ g¿y²‡ôúDîö—þšà,4'ì.¿§V p|Ægö‚Á¿ýûÙ«ÿÈ&¡a`ÿ¯è؈ßÕmþ€rú/¯ÉCÌ@ìó_÷$™;Ÿ%kú”¢O² G ¿‘gðÚ?Ó*$}£û Ÿ$­Ó•>ÂŒ.^›a)bÏñž?Ò¬i=˜Oû¡ ˆ6ϙìþ‚%îûßæ gß'ùªôú>õ‹þšà*òì¿§V s|¿ö‚Áèß ýÙºÿÈ&¡ŽÖÿèØˆßÔ)þ€rþ§¯®ÿCÌ@êó÷$·¹>#Ëú”‚·²kG À±ðê_Ó+'ý§û …}ӕ>ÂŒ.^ª a(ˆ7ñÅÒ¬dœ™÷û¡ ‚€¯™Îþ‚î÷ßæ h ‘yŸ?ôùÄnô-þšà)°ëŸ§V n|ž_ö‚ÁŽ_ýGÙÜÈ&¢Nÿ èØˆ¿Ókþ€r?¯¹ÿCÌ@îó÷$Ö6>#«ú”‚O²gÿM Á‰ùñßÓ*,œ’¯û „YÛӕ>ÂŒ.^º@a'­Ÿñâ¿Ò«e}Ÿû¡ }Ÿš0þÝï?æ haúù•ôúòùþšà(nëc¿§V q|¬ÿö‚Àû€_QýÚÈ&¢[ËþÿßèØˆ¿Ò7þ€r¯ÆCÌ@ìó÷$ôµ~³ú”¢g±§ÿG †EñÿÓ*+}•3û ßïÓ>âŒ–êµøŽ¹_¶O Gt|PK‡°Ó?ŒAOAD/M_T309Ž—Ó•>ÂŒ.^Éàa&Óñõ?Ò¬e=Ÿóû¡ w€ïšFþùïæ h£dùŠwôúŽñ”þšà',3êñ¿§V qüž¿ö‚ÀðM_sý7ÚÿÈ&¢¯JþùïèØˆ?Ñyþ€r ¯ªCÌ@éóo÷%1Ÿ[ú”bo±ÜÿG ñ4_Ó*.œ˜çúø2Ž€Ó•>ÂŒ.^ـa%øƒòßÒ¬h=€Cû q;þ‚ïßæ häÍy„7ôùÄ >ðÎþšà%ê?꓿§V nü’ÿö‚ÀåGý#ÚÿÈ&£Íþó?èØˆŸÐ£þ€rO¯|CÌ@ãó¿÷%1ªþ(gú”bï²ÿG Ä~ÝñKßÓ*.}›Óû ’o›Ó•>ÂŒ.^é a%ò*ÿÒ¬eýНû l^oš0þ‚!ïŸæ i&1ùˆGôúNñOþšà$šCêO§V püŠoö‚ÀÙéëý?Ùø¿È&£VRþðoèØˆÐKþ€r¯¯tÿCÌ@èó¿÷%P'~)ú”‚ÿ³G Å{-ñe_Ó+3œŸúø¡hӕ>ÂŒ.^øÀa$C‹ò/ŸÒ¬`œ§?û fÍ¿™·þ‚ îõæ ig‘y™_ôùÄ®ósþšà#fGêÿ§V q|‚‡ö‚ÀΞ‰ýsÙì?È&£©Ûþì¯è؈ÏÕþ€rG¯]CÌ@éóÏ÷%n€~(Çú”b¿³ G ÆwñY_Ó+1œúøv,­Ó•>ÂŒ._`a#iò=Ò¬aýšïû a=™Žþãîôÿæ išôù¡Gôúþôoþšà"$;éûÿ§V jü€ö‚ÀÈÿýKÙÚÈ&£ýhþç¿è؈Ï9þ€r#¯YÿCÌ@ðó÷%>0ú”Bg³òG ÇsãñlßÓ*2ýŸïúø,6ӕ>ÂŒ._a"Ž­òA¿Ò¬b=©ƒû [¬Ÿš þˆ‚îÿŸæ iêZù£ôúþô§þšà â'ê§V jü€Ÿö‚ÀžWÿ[ý3ÙåÿÈ&€PúþßèØˆ¿Î!þ€r(ÿ¯ACÌ@íó O÷%«™>4‹ú”" /ށÿG Èp5ñßÓ*5=€úøûӕ>ÂŒ._' a!ŽCòUÒ¬f}«ïû V_š^þ‚-ï ?æ j+¿y©WôùÄ^õrþšà  ê¿§V küƒßö‚À­(_Ùý?Ùö¿È&€€þ×ïèØˆßÍ?þ€r/¯>ÿCÌ@ìó ÷%Ê~Dßú”B —¶‹G ÉlñžŸÓ*6=Šúøˆ(`ӕ>ÂŒ._7@a ÙßòhÒ¬fœ®cû PŒ_šºþ‚!ïßæ jm ù·—ôùÄþ÷9þšà]÷ê&§V kü…_ö‚À¡ù¿iý3Ùè¿È&€ø%þ×èØˆ¿Í5þ€r5w¯'CÌ@íó /÷%芟H—ú”B _·G ö}ñ°Ój2œšOúøÑëdӕ>ÂŒ._Fàaÿ‹òcßÒ¬_=­Óû Jü¯šôþ‚!ï_æ j®Šy²WôúNö’þšàçê*ÿ§V i|…ïö‚À–ËŸýÙÞ¿È&¥KÁþÑèÙÌcþ€r;÷¯&ÿCÐ@èó ÷&þS‹ú”B Gž`ÿG òÝñŒ_Ók2œ©ÛúøÄBӕ>ÂŒ._V€a%9òi?Ò¬aœ®ƒû Em_šãþ‚%ïßæ jïñyŽôú>öÊþšàÙÛê*¿§T `|…çö‚À‹¿µýOÙò?È&¥ŸaþÉoèØˆËiþ€rB·®ûCÌ@éó÷&%}>Ywú”B —¹ÿD ï?ñÈ_Ók3ý«Wúøë³ŒÓ>âŒ–êµøŽ¹_¶O Gt|PK‡°Ó?ŒAOAD/M_T309Ž—Ó•>ÂŒ._f aJéòx_Ò¬d}°gû ?Þ_š­þ‚!ï?æ k1Uyœwôúž÷õþšà—»ê`ÿ§V _üŒ·ö‚À€p_{ýÚ È&¥óþÅÏèØˆ?Êùþ€rI—®üCÐ@áó¿÷&Cõ>dÿú”B oºD ë¡ñÙÓj6ý­kúøáo²Ó•>ÂŒ._uÀapòŒ¿Ò¬f}²÷û :OŸšþ‚+ï_æ krºyÅoôúþøôþšàU·êUÿ§V c|‹Wö‚ÀuC¿Ùý[Ú?È&ŠF§þÅïèØˆ¿Êûþ€rP¯®éCÐ@âóO÷&bo>koú”" ×»[D èñä?Ók4ý®ÏúøŽ³`ӕ>ÂŒ._…`a–[ò—_Ò¬hœŽOû 4Áš„þ‚ïæ kŽ%ùœôúž÷éþšà³êK¿§V _üŠö‚Àj¿ýSÚÿÈ&КMþÉïèØˆŸË}þ€rW÷®ÕCÌ@åòþï÷&€çþuú”"Œ‘D äyñÖ¿Ók3ý­#úøöûîӕ>ÂŒ._•aŒò¢Ò¬kýµ§û /2ߚ9þ‚ïßæ kõy¿7ôúžø-þšàћêy?§V `üÇö‚À^ì¿QýoÚ?È&ŠíøþÊÿèØˆŸËŸþ€r_g®ÔCÌ@ßòþ¿÷&ŸaŸ| ú”"7œnD àåñÜ_Ók4}­Ïúø¶òӕ>ÂŒ._€ aáéò¬ßÒ¬m=·û )€ï™ñþ‚îüŸæ l6ôyÃGôúD®ø®þšàêާV _ü’oö‚ÀSÂýKÙÿ¿È&§A¥þÏ?èØˆÿÌ'þ€rfÿ®çÿCÌ@ãó÷&œÙ~‡ÿú”B—ŸìD ÝKñõ_Ók2ý°óúøí•Ó•>ÂŒ._Ž@aÁò£ßÒ¬oýµçû $O™ˆþ‚#îïæ lx`ùº/ôùÄÞ÷Šþ àMgêì?§V `üž'ö‚ÀH˜?qýÙêÈ&§•VþÒßèØˆÿ̛þ€rnÏ®ëÿCÌ@çóŸ÷&ÜR>‘ú”§ÀÿD Ùµò Ój1œ³oúøTÀӕ>ÂŒ._Ãàa-ò ?Ò¬n=µsû ‰Ï™xþ‚1îí¿æ l¹Éy»wôúþ÷²þ à Oë)?§V a|¥Ïö‚À=oký«ÙÊ?È&§é þÒÏèØˆ̗þ€rv×®ØCÌ@àòÿ/÷&úÍþ“cú”"ÀXD Ö!ò¿Ój5}µãúøìK^ӕ>ÂŒ._ӀaS…òŒßÒ¬k}³û ü™kþ‚5îìæ lû1ùœOôún÷ìþ àÉ;ë_?§V i|¬—ö‚À2F™ýÙ¯¿Ê&š<ÂþÛèØˆͱþ€r®ÇCÌ@âòüÿ÷'E~ŸËú”wÁåD ґò+?Ój5ý·«úøüÜӕ>ÂŒ._㠐ayuòvÒ­hý°?û oŸ™6þ‚-îåæ m<šùŸ_ôúÞøþšà‡3ëv?§V g|¯oö‚À'ŸýWÙ°ÿÊ&š~þÝïèØˆÍùþ€r‡w®µCÌ@ßòúß÷'7Ä>š7ú”"?Á2D Ï ò%_Ók6œ¶ûúøA?aӕ>ÂŒ._òÀaŸmòZÒ¬k=¬Ïû âߙ5þ‚'îåæ m~ùœôúî÷òþ àEë³ÿ§V n|·/ö‚Àö¿¡ýoِ¿È&šä<þä¿è؈_ÎÕþ€r®ÿCÌ@âòö?÷'V>~Ÿ—ú”‡ÁÝ@ ˅ò#ÿÓj6ý¶ÇúøâqÓ>âŒ–êµøŽ¹_¶O Gt|PK‡°Ó?ŒAOAD/M_T309Ž—Ó•>ÂŒ.``aÅeòLÿÒ¬k}«û¡ Uÿš þ‚ï¿æ m¿oùºwôúŽ÷’þ à;ë~§V k|°ö‚ÀÏßÝýwÙxÿÊ&©7ÿþçÏèØˆÏ7þ€r˜×®”ÿCÐ@ßòö¯÷'tº> ³ú”BŸÁÿÿ@ Çõò@¿Ój8œº_úø0ì”Ó•>ÂŒ.`aë[òTÒ¬iý¬û¡ ɟšwþ‚ï ¿æ nÕùÄïôùÄŸøâþ à ÁOë_?§V k|¬—ö‚À©¿¯ýÙRÿÈ&©‹Æþé¯è؈_Ïsþ€r¡Ï®…ÿCÌ@Øòô¿÷'“4Ÿ¥Çú”G¢ÿ@ ÄqòD?Ók8=º×úøoʖӕ>ÂŒ.`! a]òLßÒ¬k=«û¡ ý=š­þ‚!ïæ nBBùŸ/ôúDŸø þ à {ë¿§V bü¡Ïö‚Ü‘«]ýÙ(¿Ê&©ß‘þêOèØˆŸÏƒþ€rªÏ®ÛÿCÌ@ÛòÿŸ÷'±³þžú”"Á«ÿ@ Àåò_?Ój:=Ÿ3úøéá9ӕ>ÂŒ.`1@a7gò@Ò¬gœ©wû ÷±¯› þ‚Aïßæ nƒ®y»_ôùÄ~÷¯þ à =êñÿ§V cüž÷ö‚܆†_»ý3Øô¿È&ª3`þé¯è؈_Ïoþ€r³÷¯CCÌ@áó o÷'Ð1ŸšÛú”"ŸÁAÿ@ œYò_Ój=}Â3û Κ%ӕ>ÂŒ.`@àa]gò\Ò¬kœ¬ûû¡ ò%ï›Äþ‚)ï7_æ nÅùŸ?ôùÄ>ø þ àû§êÓÿ§V e|›7ö‚Ü{aÿýØÏ?Ê&ª‡3þçÏèØˆ?Ï5þ€rœW¯šÿCÌ@èóO÷'î®>™Ûú”B?Á!@ ¹Ýò{ÿÓk<ýÁÏû Q »Ó•>ÂŒ.`P€aƒuòcßÒ¬l=­÷û 욯›Þþ‚)ï:Ÿæ oyÁ‡ôúøvþ à¹Çê¥ÿ§V g|•oö‚Üp>¥ýÇØ²?Ê&ªÛ þåè؈ßÎíþ€rÆç¯òÿCÌ@ïó"o÷( *>šsú”" ·Á3@ ¶mò__Ój=œŸ7û DÍӕ>ÂŒ.`` a©‡òqŸÒ¬k=¯¯û¡ çœzþ‚MïNæ oGíùœßôùÄ^øþ àw×ꊿ§V g|•—ö‚ÜeŸGýÃØ¥¿Ê&«.æþßèØˆ¿Îþ€rÐǯûCÌ@óó#÷(+š>– ú”bÿÀ¥@ ²ñòeÓj@=Ÿïû Ä®–Ó•>ÂŒ.`oÀaϯòVßÒ¬l}¬_û¡ á„Ïœþ‚KïNŸæ o‰UyÆÿôùÄù$þ à5ïê”?§X f|“Oö‚ÜY÷mýëØªÿÊ&«‚ÃþßèØˆ?Îþ€rÚ·°SÿCÌ@îó.÷(J"Ÿš;ú”BÏÁ*@ ¯yòf?Ók?œ¿û •\õӕ>ÂŒ.``aõÕòPßÒ¬k}«Ÿû¡ Ûú/œ÷þ‚Iï]Ÿæ oÊœyÏÏôùÄîú>þ àôê\ÿ§V _|Œoö‚ÜNÕ?ÝýãØ˜ÿÊ&«Ö£þàè؈ÿÎKþ€rä簆CÌ@îó4Ï÷(h¢þ7ú”"G¿éÿ@ ¬ò_ÿÓjA=ŸSû óïmӕ>ÂŒ.`aòLÒ¬n=« û¡ Öo¿šþˆ‚Yïsßæ p 'yÓïôùÄÎúÀþ à²êˆ?§V [ü‘×ö‚ÜC³ß‘ý+Øo¿Ê&¬*…þåÿèØˆßÎûþ€rï7°áCÌ@õó?ÿ÷(‡#~…ú”b/Ÿ…@ š•òV?ÓkB}œû Û^Ó>âŒ–êµøŽ¹_¶O Gt|PK‡°Ó?ŒAOAD/M_T309Ž—Ó•>ÂŒ.`ž a B5ò@Ò¬q}©—û¡ Ð埞/þˆ‚ï„_æ pMùÜôùÄnûÃþ àp;ên§V Wüާö‚Ü8’_ýóØ~¿Ê&¬~gþóÿèØˆßйþ€rùDZÿCÌ@îóF¯÷(¥€~yú”"7œÿ@ ¥-ò<Ók@ý¹×û Á®Ó•>ÂŒ.`®@a hoò6Ò¬oýšSû¡ Ë[ïžIþ‚Oï‡ÿæ pŽûyÝôùÄ>ûãþ à.Kêÿ§V Z|ßö‚Ü-q¿Ïý_Øw¿Ê&¬ÒQþöŸè؈¿Ñ þ€r—±CÌ@ôóG¿÷(Ä(Ÿd³ú”b ?ºuÿ@ ¡¹òD?ÓjC=ºßû Œ)þӕ>ÂŒ.`œàa Ž»òÒ¬lœ£Sû¡ ÅÒ_ž·þ‚kæ pÐeùáÇôùÄü{þ ã‘ÑOêZ¿ŠÖ Y|Œ7ö‚Ü"QŸÍýØwÊ&­&?þøŸè؈ÑKþ€r±<ÿCÌ@ùóKoöƒ(âš~[Sú”‚ ¹IÿD žEòQŸÓjE}Œ‹û ä ӕ>ÂŒ.`̀a µñá¿Ò¬i=Ãû¡ ÀIOžŠþ‚wïßæ qÐùåôùÄŽüæþ ãkêU¿ŠÖ Yü‹—ö‚Ü1ß]ý»ØˆÿÊ&­z3þô¯èÙ_ÐÏþ€rDZ4ÿCÌ@ûóJo÷)*þKgú”B ¯·Jÿ@ šÓò]ÿÓjIœŸû Å+ӕ>ÂŒ.`Ý a Û]ñÓ¿Ò­h}›ûû¡ ºÀ_ž²þ‚kæ qS;yê/ôù„.ý‡þšãM‡êW?ŠÖ V|‹×ö‚Ü _ÅýÓØµ¿Ê&­Î*þñ¿è؈_Ðoþ€r&±WÿCÌ@üóNÏ÷)©ŸD_ú”‚ ·¶gÿD —sòC_ÓjK}ºÃû Gyӕ>ÂŒ.`ìÀa ±ñÅÒ­gýš;û¡ µ7¿žŸþˆ‚Sæ q”§yìWôùÄžýÎþšãŽ ¯ê>?ŠÖ R|ˆ·ö‚Üóß%ýÇØÂ?Ê&®"#þóèØˆ¿Ð›þ€r1¿±>CÌ@øóK¯÷)>'Ÿ?Kú”‚GµÄÿD ” òEÓjKýº÷û â`hӕ>ÂŒ.`ü`a(ñÁŸÒ­g=™·û¡ ¯¯_žËþˆ‚aï—ÿæ qÖùò7ôùÄþˆþšãŒÉÏê=¿ŠØ Tüˆ¯ö‚ÛõÕßµýOØÔÊ&®v"þíïèØˆÏùþ€r=±#CÌ@úóH?÷)\§þ4ú”‚wŽiÿD “òiÓjOœ¿û ?|«Ó•>ÂŒ.a aNmñ€ßÒ­aý–û¡ ª'_žþ‚iæ ryz—ôùďTþšã‹‡ûê#¿ŠÖ Sü…oö‚Ûꞟñý3ØÜ?Ê&®Ê"þîÿèØˆÿÐþ€rI‡±ÿCÌ@ýóGÏ÷){&~-÷ú”B?³˜ÿD 'òyßÓjQýÁû óӕ>ÂŒ.a at×ñŽ?Ò­_=“Oû¡ €Ÿžþ‚Uæ rXçyÿ'ôù„?'þšãŠF3éîŠØ S|~×ö‚ÛߛßYýØèÿÊ&¯%þñ¿è؈ŸÐoþ€rUǰÞÿCÌ@õó?Ÿ÷)™ þ1sú”B‡Žÿ@ ‰Áò?ÓjSœÂ;û -/ŸÓ•>ÂŒ.a+@a›Eñ}?Ò­]ý‘+û¡ Ÿÿž€þ‚gïŽæ =·ú'õ ħþšã‰o鲿ŠÖ W|wWö‚ÛÔßcýØêÊ&¯r,þòÿèØˆÿЗþ€rb7°¡CÌ@óó7ÿ÷)žþ)¿ú”‚'³D †Wò”?ÓjU}Ä×û +˜SÓ>âŒ–êµøŽ¹_¶O Gt|PK‡°Ó?ŒAOAD/M_T309Ž—Ó•>ÂŒ.a:àaÁœñaÒ­[=§û¡ ™Ïž+þ‚oæ úWõ Äjþšã‡ÂŸéš¿ŠÖ U|t_ö‚ÛÉdWýGØè¿Ê&¯Æ7þòïèØˆ_Зþ€rn¿°žÿCÌ@ñó7÷)֘þ0«ú”Bï³íD !‚ïòš?ÓjUýÇWû áö5ӕ>ÂŒ.aJ€aè9ñJŸÒ­Z=ŠÏû¡ ” þ‚gïuŸæ À‹úõ Äþšã†€¿é®?ŠÖ ZüvÏö‚ÛŸIßáý7ØÙ¿Ê&°Cþù?èØˆÑ]þ€r{°aÿCÌ@çó0÷)õŸ5sú”‚׎†D "ƒòÊ¿ÓjU=˧û síӕ>ÂŒ.aZ aÃñ Ò­W=…‹û¡ Žƒïþˆ‚iï|Ÿæ üú·õ Äþšã…>óé’?ŠØ WüsOö‚Û³/¿£ý!?ØÒ?Ê&°nXþñ¿è؈?Ðmþ€rˆ‡°4ÿCÌ@ìó*O÷*Žþ4ƒú”bÇŽiD #|òã?ÓiYœÎ»û 2ÄÞӕ>ÂŒ.aiÀa5MñŸÒ­Yý‚+û¡ ˆüÓþ‚[ïxßæ Cjúoõ O,þšãƒý飿ŠÖ X|uö‚Ûš?QýØÇÿÊ&°Âoþî¯è؈_Ð þ€r•§°ÿCÌ@êó'÷*2 Ÿ1ãú”bŽD $x»òö?Ój[}Ñû #ê-ӕ>ÂŒ.ay`a[ÛðñÒ­Vý«û¡ ƒv/žþˆ‚qï‚æ „Üúçõ þšã‚»+éáÿŠÖ W|}Oö‚Ûœý‡ýØÎÿÊ&±‹þç¿è؈ßÏ/þ€r¢÷° ÿCÌ@ëó%¯÷*Pˆ>/ãú”BO³ÔD %u]óŸÓjZœÒßû Ë<ŒÓ•>ÂŒ.a‰a‚mðáŸÒ­Tý}¯û¡ }ðžZþˆ‚Kï‰ßæ ÆNyÿÇõ Ä_7þšãy7ê6ŠÖ ^ü‡×ö‚ۑ䟧ýØÒÊ&±jšþæïèØˆ?Ïþ€r°‡¯ÎÿCÌ@êóŸ÷*oŸ+“ú”b³KD &qùó%Ój]œÖûû :÷:ӕ>ÂŒ.a˜ `ÿš÷ðô_Ò­Uœ€ û¡ xj?ž…þˆ‚kï_æ Ày÷ïõ Îÿ;þšã€7;ê¥?ŠÖ dü•·ö‚Û†Ìßmý ØËÊ&±ŸÉþåè؈Îéþ€rŸG¯”CÌ@éó_÷*>+Ûú”‚‡³SD 'n©óŸÓi]}Õ7û ©5«Ó•>ÂŒ.aš@`þύðøÿÒ­W}€—û¡ r俞‰þ‚kïßæ I2ùïGõ Äþ'þšã~õCë ¿ŠÖ iü¢ö‚Û{¶!ý+Ø¡ÿÊ&²ñþÛ_èØˆÍ¡þ€r̯¬ÿCÌ@çóo÷*«úþ0wú”bϳæD (kMó.?Ói^}Øû sӕ>ÂŒ.a·à`ýö/ðï¿Ò­Z}sû¡ m_ž“þˆ‚gï‘æ ŠŸùôÿõ ~þÝþšã}³Sëb¿ŠÖ gü­gö‚ÛpŸŸµýؕ¿Ê&²gþÔÏèÙÌÑþ€rÚ¯ÀÿCÌ@äóÏ÷*Êy>)ãú”bw³D )g÷ó:¿ÓibœÙ›û ©dìӕ>ÂŒ.aǀ`ýÏðú_Ò­\ý€Ãû¡ gÚ?Ÿ>þˆ‚kïŠæ Ìyêßõ Îý˜þšã|qoë ¿ŠÖ i|µ'ö‚Ûe‰¿/ý#؄¿Ê&²»IþÍOèÙ?Ëãþ€rè_¯ÿCÌ@áó÷*èõ~(Gú”b²áD *d¥ó@ßÓia=Ú[û ŽõÓ>âŒ–êµøŽ¹_¶O Gt|PK‡°Ó?ŒAOAD/M_T309Ž—Ó•>ÂŒ.a× `üCoñßÒ­c=ƒÇû¡ bUoŸ|þˆ‚ƒï®?æ  ‚ùêïõ Äý˜þšã{/£ë§?ŠÖ iüµÿö‚ÛZt_ïý'Ø|¿Ê&³{þÄ¿èØˆßÊÑþ€röǯŸCÌ@áóŸöƒ+t~—ú”‚_±ÊÿD +aSóJÓi`=ۋû ØåÂӕ>ÂŒ.aæÀ`ûjñÒ­a}…?û¡ \Ðþˆ‚{ﱿæ Nóùè7õ ŽýAþšãyí¿ëì?ŠÖ i|ŸŸö‚ÛO_¿/ýGØdÿÊ&³c°þœèÙÿÉëþ€r_¯¢CÌ@æóÿöƒ+%òŸïú”b‡°õD ,]ýócÿÓi]œÞ·û è ӕ>ÂŒ.aö``úÍñ*Ò¬c=†³û¡ WMžÆþ‚Uï—?æ hyÜçõ ûÓþšãx«ßì+ŠÖ jüƏö‚ÛDK_KýkØgÿÊ&³·êþ²_èÙÿȅþ€r7¯‚CÌ@åóöƒ+DpŸgú”‚ç°$D -Z«ówÿÓiaýá+û … ӕ>ÂŒ.b`ù·{ñOÒ­cý‹[û¡ QÉ?žyþˆ‚-ïÿæ ÑÛùԗõ ~úÉþšãwjìGÿŠÖ m|Êö‚Û97«ýOØsÿÊ&Ž &þ«/èØˆ_ǟþ€r#G¯KÿCÌ@Úó Oöƒ+bð>‡ú”‚Ç®èD .WWó”ÿÓid=äÇû »;ӕ>ÂŒ.b `øÞ5ñeÿÒ¬býŽ3û¡ LEŸžVþˆ‚Wæ MùЗõ žúGþšãv(Cì[ŠÖ tü̇ö‚Û.$ßKý#ØGÿÊ&Ž`cþª_èØˆ?ǁþ€r2o¯SCÌ@âó?÷+m>“ú”‚Ç®iD /Tó“?Ójaýäû N>äӕ>ÂŒ.b%@`øõñ|ŸÒ¬c}‘û¡ FÂ_äþˆ‚uï{_æ TŸyЗõ Ä>úGþšãtæ{ìj¿ŠØ z|Îgö‚Û#_1ý!+ØEÿÊ&ŽŽ¡þ°/èØˆÿÈ?þ€rA·¯~CÌ@ãóoöƒ+Ÿëœü«ú”‚/­kÿD 0PÓóƒ?Ójcýâ‹û oPáӕ>ÂŒ.b4à`÷+·ñŸÒ¬bœ•'û¡ A?O­þˆ‚IïtŸæ –/yÐ'õ ÄÞú7þšãs€Ûì?ŠÖ vüÄwö‚Ûýý!_Ø>?Ê&µãþŽ¯èØˆÿÈÏþ€rQ/¯¯ÿCÌ@Ùó¯öƒ+Ÿfýü§ú”bï­kG 1M™ól¿Ójb=ß·û b÷ÿӕ>ÂŒ.bD€`öR‹ñ¡_Ò¬`}•£û¡ ;Œo–þ‚mïqæ × yϟõ ÄÎú%þšãrcCë¹?ŠÖ nüž/ö‚Û ï?œýØ6Ê&µ]-þ®/èØˆ?Èþ€r`篹CÌ@ãóïöƒ+Üçœïƒú”bO«ÆG 2J_óZ¿ÓjaýÝsû ¶6éӕ>ÂŒ.bT `õyeñ¥?Ò­^ý–û¡ 69¿Àþˆ‚Gïwæ ùÓ§õ Äþú§þšãq!ë£¿ŠÖ qüµwö‚ÛÞ§ýGØ3Ê&µ±wþ°¿è؈?ÈSþ€rpϯÃÿCÌ@æó/öƒ+ûaýò ú”bO¬D 3G/ó5Ój_ýØ·û S#­Ó•>ÂŒ.bcÀ`ô IñŸ_Ò­]=•gû¡ 0·?ž þˆ‚3ï€æ ZùÖßõ ÄŽûþšãoß÷ëKÿŠÖ i|ªö‚ÚöÎ3ý+ØE¿Ê&¶Ãþ¶ïèØˆ¿Éþ€r€ç¯ÍCÌ@Þóoöƒ,Ý}ñ¯ú”bϬ D 4Cùó"_Ój]ýÖ[û Ã{Ó>âŒ–êµøŽ¹_¶O Gt|PK‡°Ó?ŒAOAD/M_T309Ž—Ó•>ÂŒ.bs``óÇ3ñš_Ò¬]=”Çû¡ +5žþˆ‚Qï€ÿæ ›îyޏõ Äüþšãnž_ê÷¿ŠÖ d| ö‚ÚëŸ;ýØFÊ&¶Zþ¹?èØˆÉcþ€r‘'¯íÿCÌ@ãó!öƒ,8Y}ïƒú”b«ÅD 5@Çó ÿÓj\}ÓGû Ú Sӕ>ÂŒ.bƒ`òîñ©¿Ò­Z=–³û¡ %³Oõþˆ‚_ï}æ ÝeyÑGõ DúWþšãm\»êÂŠØ e|™Oö‚Úà¯?ãý?Ø\?Ê&¶®hþŒ¯èÙßÉËþ€r¡§¯äCÌ@äó Oöƒ,VÔœïgú”bo«ÂD 6=‘óÿÓiZ}Ò'û  šÓ•>ÂŒ.b’ `òñ–ßÒ­X}”_û¡ 1ߝ‘þˆ‚Uïqæ ×ùϗõ Ä~úþšãl#êwÿŠØ c|ÿö‚ÚÕ ßÕýoØZ?Ê&·Àþ¿?èØˆÿÊþ€r²O¯òCÌ@éó"öƒ,uQ}ëgú”B«BÿD 7:gòݟÓjZœÍ³û g²µÓ•>ÂŒ.b¢@`ñ<ñƒÒ­X=‘Ûû¡ °Ÿ]þ‚gïj_æ `Pùœßõ Þ÷èþšãjكêAÿŠÖ Xü‰?ö‚ÚʒßAý“Øg¿Ê&·WþÃ/èØˆʙþprðCÌ@éó&Ÿöƒ,“Í}é'ú”/ªúÿD 87Aòµ¿ÓjXœÈ»û 0ӕ>ÂŒ.b±à`ðcñ¿Ò­W}‘wû¡ /„þ‚+ïoæ ¡Èù¯wõ  îöþšãi—ßêŠÖ P|„ö‚Ú¿…«ýØuÊ&·«zþÅŸèØˆßÊéþprÔ°9ÿCÌ@ëó+öƒ,²I}æçú”"_ª²ÿD 94òŸßÓjXœÅ÷û 0ðӕ>ÂŒ.bÁ€`ïŠñ‹ÿÒ­Yý’÷û¡ ®ß þ‚7ï_ÿæ ã?y¥'õ nôÑþšãhVêB?ŠÖ Tü‰Wö‚ÚŽx¿ÿý[ØÿÊ&·ÿÜþÉ¯èØˆ?Ësþ€råG°oCÌ@ñó1oöƒ,ÐÃ}éƒú”Bg«ÿD :0ïò€ßÓjUœÂû LÓ•>ÂŒ.bÑ `î±1ñyÿÒ­X=»û¡ ._œêþˆ‚Wï\æ $žy”çõ ÎòÈþšãgWê|¿ŠÖ S|§ö‚Ú©l_Ùý_ؚÿÊ&žT?þÓoèØˆÌ©þ€röŸ°©CÌ@ðó8ßöƒ,ï?œæ·ú”bª«ÿG ;-ÑòQÓjQýŒ/û l_åӕ>ÂŒ.bàÀ`íØIñnÒ­ZœCû¡ ®Oœaþ‚iïJßæ f.yŒwõ D ~ñ»þšãeҟê•ÿŠÖ [ü“×ö‚Úž`¿Uý_ت¿Ê&žš§þÙÿèØˆ¿Í{þ€r°÷ÿCÌ@ñóBŸöƒ- »ýã›ú”b'ªHÿG <*­ò5¿ÓjPýž³û Ž ӕ>ÂŒ.bð``ìÿcñlÒ¬]œû¡ÿ._œ,þ‚+ïD?æ §€y„¯õ  ðÄþšãdïêžŠÖ T|”ïö‚Ú“V×ýóؚÿÊ&žýþßŸèØˆÎ1þ€rϱDCÌ@öóL/öƒ-,9=ÝÛú”BG©ÿG ='ò2?ÓjMýž?û ðûӕ>ÂŒ.c`ì&ñtÿÒ­_='û¡ù®¿›Íþˆ‚'ï8_æ éysOõ  Þî—þšãcOë ?ŠÖ ]|¢Çö‚ÚˆKÿ}ý؏¿Ê&¹Q‚þæ?èØˆÿÏþpr+·±CÌ@ùóSöƒ-JµœÚú”bw©G >$Sò8ÓjLýžÿû IÓ>âŒ–êµøŽ¹_¶O Gt|PK‡°Ó?ŒAOAD/M_T309Ž—Ó•>ÂŒ.c `ëM«ñeßÒ­^ýŽGû¡ô//›úþ‚7ï>?æ *™ù^Ÿõ  ìþšãb _ë3ŠÖ `ü§—ö‚Ú}BýïØ£¿Ê&¹¥öþé_èØˆÿÏgþpr=×±§CÌ@ûóXöƒ-i3=Ó¿ú”b'šLG ?!1ò%_ÓjLœ¶§û 8D³Ó•>ÂŒ.c@`êtßñQ¿Ò­`œ‹Ãû¡î¯ïœ þ‚+ï@æ lùK‡õ D ~éžþšã`Ë¿ë!ŠÖ i|¥gö‚Úr8ß›ýسÊ&¹úoþèoèØˆŸÏEþ€rP/±œCÌ@ûó[?öƒ-‡²=ɏú”B§§G @ò?ÓjJýŽû ÛºÓ•>ÂŒ.c.à`éœ ñaÒ¬bý¿û¡é0ߜ:þˆ‚ïEßæ ­y9ßõ DÞçgþšã_‰ûëk?ŠÖ oü®Ÿö‚Úg0?÷ý÷Ø¿Ê&ºNêþëoèØˆ?Ï©þprb·±ÒÿCÌ@ýó]ÿöƒ-Š+ýÌ{ú”b×§bÿG AñòÿÓjL}²Wû ’{\ӕ>ÂŒ.c>€`èÃAñgÒ¬aœŽkû¡ã²œ{þˆ‚/ïNæ ï y'¯õ D®å!þšã^H;ë¯ŠÖ r|·ö‚Ú\(?Eý/ØÉ?Ê&º£gþò¿è؈?Гþpruo±çÿCÌAó`Ÿöƒ-ħ=Ë[ú”"§>D BÉò ÿÓjK=³wû ›nÚӕ>ÂŒ.cN `çêuñ?Ò¬bý‘³û¡Þ3_ þˆ‚?ï`æ 0„ù/õ D~ãþšã]ëð?ŠÖ xü¿Gö‚ÚQ ÿ/ý ØÆ¿Ê&º÷åþÿoèØˆ_Ò#þprˆW±ÿCÌA ócöƒ-ãýÒÛú”b'š-D C¡ò_ÓjK=µû ÀfJӕ>ÂŒ.c]À`ç·ñˆ_Ò¬_œ’›û¡صaþˆ‚Wïkæ qúùõ DNâ~þšã[Äãëá?ŠÖ uüœ_ö‚ÚF?_ýØÍÊ&»LlþÿOèØˆ?Ò%þpr›‡±ÛÿCÌAó_öƒ.˜}Õ×ú”B繊ÿD D‡ò ¿ÓjI=³/û .ï-ӕ>ÂŒ.cm``æ8ûñ™?Ò¬aý”³û¡Ó6ÿžþˆ‚3ïuÿæ ³qy ïõ D®áÍþšãZƒ/ì?ŠÖ wü÷ö‚Ú;_Ñý_غ¿Ê&» õÿoèØˆß҉þ€r®ß±ÌCÌ@÷ó]/öƒ. }Õ;ú”b'švÿD Eoñø?ÓiE}°ûû ¯žӕ>ÂŒ.c}`å`Mñ—Ò¬i=”{û¡͹?îþˆ‚aï|¿æ ôäyõ Dîâ>þšãYAŸëòÿŠÖ w|¿§ö‚Ú0¿/ýGØÆ¿Ê&»õƒÿÏèØˆ_Òqþ€r‡±oCÌ@÷óQŸöƒ.>}Ñ»ú”bwšÿD F UññÓjBý°û Έ'ӕ>ÂŒ.cŒ `䇛ñ®?Ò¬hœ—Sû¡È;ߝ×þˆ‚Eïyßæ 6Yy¯õ DÞâ$þšãWÿ÷ì?ŠÖ uüÃö‚Ú% ŸÃýØÙ?Ê&ŒJþýOèØˆŸÑåþprÖW±#ÿCÌ@÷óHOöƒ.] }Ó¯ú”BšEÿD G?ñâÿÓjDý®Oû Uï”Ó•>ÂŒ.cœ@`ã®ïñÆÒ¬eœš_û¡ŸŸžþˆ‚Kïÿæ wÊyõ D>ãMþšãVŸ_ì ¿ŠØ uüö‚Ú_³ý3Ø×¿Ê&ŒžšÿÏèØˆ¿ÒÓþ€rê?±CÌ@ûóFïöƒ.{œÙ{ú”BšþG H-ñÐ_ÓjG=«ÿû p2Ó>âŒ–êµøŽ¹_¶O Gt|PK‡°Ó?ŒAOAD/M_T309Ž—Ó•>ÂŒ.c«à`âÖOñÏ?Ò¬d=›{û¡œA¿žþ‚/ïæ ¹?yõ DžãOþšãU|ËëýŠÖ rüÁö‚ÚŸËý/ØÚ¿Ê&ŒóBÿŸè؈_ÒMþ€rþ_°÷ÿCÌ@ùóBßöƒ.™þ=Ô³ú”BšdÿD IñœÿÓjE=©·û €šCӕ>ÂŒ.c»€`áý«ñò?Ò¬dœŸÛû¡·Å?Åþ‚Oïw_æ úŽùõ D Nã0þšãT;7ëóÿŠÖ m|¿ßö‚Úþ?sýØï¿Ê&œGàþûè؈ŸÑ«þprŸ°ýCÌ@ûóCoöƒ.žwœ×ú”"ŸšŒÿD Iÿñ©ÿÓjD=§7û Ðú‹Ó•>ÂŒ.cË `á%ò ßÒ¬c}£û¡²Hϝúþˆ‚Gï~_æ <+ùÇõ D îâ€þšãRù§ëåŠÖ t|Ÿö‚Ùøû¿wý/ØïÿÊ&œœþüÿèØˆÑÝþpr'±CÌ@õóDöƒ.Öï}ÞWú”B©˜ÿG Jüñ•ŸÓjCý€§û iZ ӕ>ÂŒ.cÚÀ`àLò?Ò¬bœ¥û¡¬ÌŸž0þˆ‚Wï…æ } ù÷õ D žâÉþšãQž7ëŒÿŠÖ pü³ö‚Ùíù¿¥ýרõ?Ê&œñ$þ÷è؈Ñ-þpr;¿°éCÌ@öó@ßöƒ.õhýà§ú”B©áG Køññ“¿ÓjDœ€kû öyÃӕ>ÂŒ.cê``ßs÷ò,_Ò¬e=§'û¡§Pߝ÷þˆ‚Oï}ßæ ¿ù/õ DnâQþšãPv»ëSŠÖ p|«Çö‚Ùâø?ýÓÙÊ&ŸEËþõßèØˆ¿ÐóþprPŸ°ÍÿCÌ@ôó=öƒ/ßýé?ú”bϪòÿG Lõëñy_ÓjEý¡û HŠÓ•>ÂŒ.cú`ޛwò3ßÒ¬g=šû¡¡Õ/ž<þˆ‚Sï†æ ùïõ DâKþšãO5CëŠØ o|£÷ö‚Ù×÷_{ýûÙ?Ê&Ÿšvþó/èØˆНþpre§°ÇCÌ@÷ó<Ÿöƒ/2Xœíú”B¯«yG MòÛñ{ŸÓjF=¡_û ,þdӕ>ÂŒ.d  `ÝÂùòDÿÒ¬h=ª;û¡œY¿žþˆ‚Kï‘?æ By‡õ .âŒþšãMóÃêî¿ŠÖ k|Ÿ?ö‚ÙÌöÿýÙ$?Ê&Ÿï$þò/èØˆ_Ðþprz×°ÖCÌ@ôó>öƒ/PÏ=÷ ú”B _¬ªÿG NïÑñsÓjCœ Oû 'þLӕ>ÂŒ.d@`Üê…òM?Ò¬i=«Cû¡–ÞŸž¿þˆ‚Sï–¿æ ƒxy÷õ DÞâÊþšãL²3êñÿŠÖ nüŸ—ö‚ÙÁ÷íýËÙ>Ê&¿CÕþò/èØˆÐ}þpr?°ÑCÌ@öó=ïöƒ/oI=÷ãú”‚ w¬ÄG OìÏñZßÓjBœCû ›”ˆÓ•>ÂŒ.d(à`ÜòKßÒ¬e}«û¡‘cϞÓþˆ‚;ï™æ Äìyõ D~ã{þšãKp·êÈÿŠÖ k|šö‚Ù¶÷ŸCý+Ùi¿Ê&¿˜‰þóèØˆŸÐ©þpr¥Ï°áCÌ@öó?ßöƒ/¿>—ú”B ¿®G PéÃña?ÓjCœžû ÎÃÍӕ>ÂŒ.d8€`Û9µòPÒ¬fý«§û¡‹é?žéþˆ‚cï›ÿæ _y#?õ D >ä’þšãJ/3ê¶ÿŠÖ c|˜?ö‚Ù«ù¥ýÙuÿÊ&¿í@þö/èØˆÐÿþpr»—°ÝCÌ@ôó?Oöƒ/¬5~ ßú”b ¯cÿG Qæ»ñaÓkCœžû q{Ó>âŒ–êµøŽ¹_¶O Gt|PK‡°Ó?ŒAOAD/M_T309Ž—Ó•>ÂŒ.dH `ÚaSòZŸÒ«gœ¬ïû¡†ož»þˆ‚[ï–_æ GÒy,õ D îå¬þšãHí§êœÿŠÖ ^ü™/ö‚Ù úßãýÿٝ¿Ê&ÀAýþòèØˆÐwþprѱÿCÌ@ðóDöƒ/Ê­þ'ú”"ׯëÿG RãÇñ3ŸÓjA=˜Wû qÂcӕ>ÂŒ.dWÀ`وñòt?Ò¬iœ°û¡€õž‰þˆ‚Sïæ ‰Bù;¿õ  >ç¡þšãG¬êæ?ŠÖ büž7ö‚Ù•ý_Çý+Ùº?Ê&À–žþüèØˆÑ»þpr篰íÿCÌ@öóA_öƒ/é.>ú”b_® G SàÃñ2¿ÓjA}˜7û hãӕ>ÂŒ.dg``ذ¥òeÒ¬h=®Gû¡{{ožkþ‚[æ ÊŽyIoõ D îéWþšãFjêý?ŠÖ cü¡ö‚Ù‹‰ý3ÙÒÿÊ&Àë{þúïèØˆѕþ€rþ°íÿCÌ@ôóAoöƒ0ªýûïú”B?­DG TÝÁñ0ßÓj?}—ÿû e5Éӕ>ÂŒ.dw`רWòlßÒ¬g=¯3û¡vïžzþ‚GïŽæ  $ùYßõ  >ëbþ ãE(ïëÿŠØ cü€çö‚Ù€¡ý/ÙÖÊ&Á@@þý_èØˆÑãþpr°ðCÌ@úóAŸöƒ0&">óú”BW®#ÿG UÚ»ñ>Ój@=™·û jqӕ>ÂŒ.d† `×ònßÒ¬h=¯wû¡pˆŸžœþˆ‚Mï–ßæ M“ùn‡õ Díöþ ãCçsë ŠÖ e|¢ÿö‚Ùu §ýGÙÖÿÊ&Á• þüèØˆ¿ÑÇþpr+O°ÞÿCÌ@òó?öƒ0Dšþsú”"·®“G Vלñ<Ój>œ™wû ÷€Ó•>ÂŒ.d–@`Ö'ÓònÒ¬gý¯cû¡k¯žŽþ‚Qæ ùõ DNðGþ ãB¥óëÿŠÖ a|¢—ö‚Ùj=ýkÙé?Ê&Áé×þüïèØˆÑÕþprB?°ÊCÌ@íó<ïöƒ0c Ÿú”bg°ÓÿG WÔ±ñ`ßÓj>ýžû Vyӕ>ÂŒ.d¥à`ÕO‘ò…Ò«k=²Cû¡e–ÿžžþ‚Sï•ÿæ ÐvùŒ7õ .ñ«þ ãAdêéÿŠÖ _üžçö‚Ù_ÿ ýKÙâÿÊ&Â>§þýïèØˆÑ÷þ€rY_°¹ÿCÌ@íó:ïöƒ0„þú”b÷±²ÿG Xѱñl?ÓjB=Ÿoû $<ӕ>ÂŒ.dµ€`Ôw]ò‰¿Ò¬lý²Óû`Ÿž˜þ‚Wæ éy™·õ DŽó\þ ã@#êå¿ŠÖ c|žgö‚ÙTŸ‘ý÷ÙÓ?Ê&“}þøÿèØˆÑYþprp¯°©CÌ@øó8¿öƒ0ŸüŸ% ú”b ²cG Yηñl_ÓjDœŸwû Jöӕ>ÂŒ.dÅ `ӟ1ò‰ÿÒ¬l}²ßûZŠž„þ‚Cæ S]ù¢/õ DÞôjþ ã>áêÏ¿ŠÖ cü›§ö‚ÙI!ÿ±ýÛÙž?Ê&ÂèUþ÷¿è؈ÿÑ3þprˆ7°†ÿCÌ@íó4öƒ0ŸrŸ/;ú”B ﳩÿG ZËÁñgÿÓj@œžçû Š”bӕ>ÂŒ.dÔÀ`ÒÇòuŸÒ¬jý°KûU.¿ž&þ‚Eïƒßæ ”Òyªïõ D~õþ ã= #ê¬ÿŠÖ d|—Wö‚Ù>)¿YýïÙ­?Ê&Ã=0þ÷¿è؈_Ñ5þ€rŸï°bCÌ@ëó/ßöƒ0Üéþ5Çú”‚ ‡ŽzG [ÈÅñv?ÓjBœ «û ƏÓ>âŒ–êµøŽ¹_¶O Gt|PK‡°Ó?ŒAOAD/M_T309Ž—Ó•>ÂŒ.dä``Ñîùòg¿Ò¬kœ®“ûO·/óþ‚?ï}?æ ÖFùŽWõ Ä.ö°þ ã<^·êŠÿŠÖ i|“ö‚Ù32_Cýãي?Ê&Ò þûoèØˆÿѧþ€r·×°BCÌ@îó+ßöƒ0ûb~9?ú”b ŽéG \ÅÓñoÓjB}ŸÏû Ö|ŽÓ•>ÂŒ.dô`ÑëòKßÒ¬m}«ûJ?þ‚=ïsæ »ùŒÿõ Þ÷Æþ ã;GêwŠÖ küŸö‚Ù(;_ÇýûÙz¿Ê&ÃæðþøßèØˆ_ÑSþprÏç°4ÿCÌ@ïó*öƒ1Ü~8³ú”b ŽÖÿG ]Âáñm¿ÓjBœŸ—û Lß=ӕ>ÂŒ.e `Ð>ãò0¿Ò¬k}§·ûDÈ¿×þˆ‚1ïy¿æ Y3ùŸ?õ ÷îþ ã9ÛÃꚿŠÔ iü•ö‚ÙDŸ-ý ه¿Ê&Ä;ÓþþïèØˆ?Òþprè°@CÌ@ìó+öƒ18W~5Ãú”‚ ׎wÿG ^¿ßñ˜ŸÓjC=€óû ÖO¥Ó•>ÂŒ.e@`ÏfÙò*_Ò¬mýŠçû¡?QϞþ‚9ïæ š¬yŸŸõ .÷øþ ã8šCê·¿ŠÔ jü˜§ö‚ÙN_Ñý/ٜ?Ê&Đ»ÿè؈ßÒeþ€r—°#CÌ@èó'ïöƒ1VÎþ;“ú”B µ1ÿG _Œïñš¿ÓjBý¥3û üjӕ>ÂŒ.e"à`ΎÑò-Ò¬lý§Cû¡9Û?žþˆ‚5ïÿæ Ü$ù¿gõ Dîøþ ã7X¿êå?ŠÔ tüž_ö‚ÙY?ýم¿Ê&Äåšÿ_èØˆ_ÒAþpr?°ÿCÌ@çó$/öƒ1uGþ=kú”b ϵlG `ºñœ?ÓjDý¥cû È-­Ó…>ÂŒ.e2€€`ͶÉòAÒ«l}©Çû¡4dïž þ‚1ï€æ ˜yÍoõ þùÑþ ã6떿ŠÒ }üއö‚Øüd¿UýÙlÿÊ&Å:˜ÿèØˆÿÒ7þ€r2¯éCÌ@åó ŸöŒ6âþ3úmBÇŽœÿh÷@ Ӆ>ÂŒ.eB €`ÌÞÕò2¿Ò¬lœ§÷û¡.îïäþ‚Kï{_æ _ ùØïõ þû@þ ã4ÕoëüŠÔ ‚|Á7ö‚Øñpoý?Ùp¿Ê&ŏ‹ÿÿèØˆ¿ÒUþ€rK¯ÐCÌ@éóöŒV†>1ÓúmBïŽuhÔúӅ>ÂŒ.eQÀ€`Ìáò3ßÒ¬k}š#û¡)y/Ëþˆ‚Gïx_æ  ˆyӏõ Äú•þ ã3“çì??ŠÔ ˆüɗö‚Øæ|ÿ9ýÙi¿Ê&Åä‚ÿèØˆÒYþprdW¯¶ÿCÌ@çóOöŒv(þ2WúmB Ž„ÿdþ?œÓ…>ÂŒ.ea`€`Ë.ûò!Ò¬i=¥Ëû¡$Ÿãþˆ‚Aï{æ âyÒgõ îúoþ ã2R_샿ŠÔ ‹|Ò/ö‚ØÛŠ_7ýÙIÊ&Æ9~þüïèØˆ¿ÑÑþpr}¿¯ŸÿCÌ@âóöŒ•ÌŸ0÷úmB÷ŽYdC©ÕӅ>ÂŒ.eq€`ÊWòÿÒ¬f}€Ãû¡ŽOž þ‚ï€?æ #~ùËõ Ÿù†þ ã1ß캿ŠÖ ˆ|Ù/ö‚ØÐ—ÿýÏÙEÿÊ&Ǝ~þ÷ÏèØˆ?Ñ/þ€r—O¯›ÿCÌ@çóÿöŒµq>.úmb·³ýÿh@ Ó>âŒ–êµøŽ¹_¶O Gt|PK‡°Ó?ŒAOAD/M_T309Ž—Ó…>ÂŒ.e€ €`É/ò*ßÒ¬b=§û¡_åþ‚Oï{æ döùϏõ .úþ ã/ÏwìžÿŠÖ †|Øïö‚ØÅŠOý7Ù,ÿÊ&Æã‚þñ¿è؈¿Ðkþ€r±¯šÿCÌ@âóßöŒÕ~,ÇúmB³ÒÿhšRKӅ>ÂŒ.e@€`ȧWò#ÿÒ¬aœŠ+û¡€Ÿðþ‚=ï|¿æ ŠoùÑçõ DÎú^þ ã.ŽìžÿŠÖ ƒüÕ·ö‚غµ?gýÿÙ.ÿÊ&Ç8ˆþï?èØˆ¿Ðþ€r˯„ÿCÌ@áóöŒô¹Ÿ+¯úmbç³®ÿhøËӅ>ÂŒ.eŸà€`ÇϏòŸÒ¬_œ¢cû¡0ž/þ‚)æ çìùʧõ Äùvþ ã-LÏì`ŠÖ €|Íïö‚دĿ!ýëÙ&Ê&Ǎ“þèoèØˆÏ=þ€r寫CÌ@æóßö_Ÿ&ÏúmBϳdàs˜Ó…>ÂŒ.e¯€€`Æ÷Çñö?Ò¬\} ‡û¡»ïùþ‚Iï}ÿæ )cùÒwõ Ÿúoþ ã, ì?ŠÖ }ü§ö‚Ø€Ô¿ýÓÙ#ÿÊ&ÇâžþêßèØˆύþ€rÿg¯­ÿCÌ@àó?ö4>&CúmBϳÿhGÛžÓ…>ÂŒ.e¿ €`Æ ñØÒ¬\œœËû¡Gÿþþˆ‚=ï~¿æ jÝùÓ_õ ÞúŒþ ã*ÊOë°¿ŠÖ yü·÷ö‚Ø™å_÷ýƒÙ!?Ê&È7°þä/èØˆ?ηþ€rϯéCÌ@æó öSšþ%{úmB¯²çh·öSӅ>ÂŒ.eÎÀ€`ÅHSñÀ_Ò­Z=™Çû¡ýÔ_Ûþ‚Gïyÿæ ¬Syß¿õ Nüþšã)‰ ëhŠÖ p|®ïö‚ØŽö¿mý×Ù¿Ê&ȌÆþÛßèØˆ¿Í«þ€r4w¯ÿCÌ@éó#OösMŸ%[úmB²âÿh*ÊӅ>ÂŒ.eÞ`€`ÄpŸñ®ßÒ­Zý—›û¡ø`ÿÅþˆ‚5ïw?æ íÇùï_õ ^þþšã(G¿ë9ÿŠØ qü©ö‚؄ߓýߨôÊ&ÈáÝþÚ_èØˆÍ}þprOG°.CÌ@îó)?ö’óŸ"¿úmb_²ŽÿhÿKӅ>ÂŒ.eî€`Øùñ‰ßÒ­Y=’ûû¡òíϝÜþ‚+ïyÿæ /Aùñ‡õ ŸþOþšã'oë?ŠÖ sü€ßö‚ØyŸ¡ý«ØÖ?Ê&É6ùþÔÿèØˆ?ÌÓþprj_°ÿCÌ@îó'_ö²˜Ÿ#úmBG²˜ÿhﰫӅ>ÂŒ.eý €`ÂÁañP¿Ò­V=‹Óû¡ízÿ¬þˆ‚1ïtæ p»ùó¿õ Dþ”þšã%Å#êò¿ŠÖ qü 7ö‚Øn.ÿý§Ø³ÿÊ&ɌþÐ/èØˆßÌ9þ€r…‡°`ÿCÌ@ïó/öÒ=>%7úmb²Þh!–5Ӆ>ÂŒ.f @€`ÁéËñ"ÿÒ­Rœ†û¡è[þ‚Aïi¿æ ²5y÷ÿõ Ä.ÿþšã$ƒËêïŠÖ nüŸÏö‚ØcBÿ‰ýߨ“¿Ê&Éá8þÒ_èØˆ_Ìþ€r ï°{ÿCÌ@ìó2Ïöñâþ$ËúmBDzÑh¥®Ó>âŒ–êµøŽ¹_¶O Gt|PK‡°Ó?ŒAOAD/M_T309Ž—Ó…>ÂŒ.fà€`Á3ñ Ò­S=ƒû¡â–/;þˆ‚;ïeßæ ó¯ùùÏõ ÄîÿTþšã#BêÐ?ŠÖ nü›ïö‚ØXWŸaý!ÏØn?Ê&Ê6`þÈèØˆ_ËEþ€rŒ°«ÿCÌ@ïó8ßöŽˆ>&úmBo²ühù—Ó…>ÂŒ.f,€€`À:ðû¿Ò­Tý7û¡Ý$,þ‚+ïcÿæ 5.yòõ Ä~þ^þšã";ꟿŠÖ rü•ßö‚ØMlŸÇý!ËØZÊ&ʋ‰þÅèØˆ?ÊÕþprØO°·CÌ@îó:_öŽ1.~%wúmbW²æÿdÅ=ýӅ>ÂŒ.f< €`¿c ðóŸÒ­T}€7û¡ײ_œ÷þˆ‚ï]Ÿæ vŠùùÇõ Ä~ÿTþšã ¿çêÿŠÖ rü•·ö‚ØB‚?#ý›ØF?Ê&ÊàŽþÅŸèØˆ?ÊãþprôO°ÁÿCÌ@ðó;ŸöŽPÔ~%óúmB?²õÿd^?) gpsd-3.9/test/sample.aivdm0000664000175000017500000010461011774401175013763 0ustar esresr# Sample AIVDM data sentences provided from real data by Kurt Schwehr # Mike Greene, Neal Arundale, and AISHub. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # # Type 1: # From Kurt Schwehr. Dump was attached. Checked using the noaadata tools. !AIVDM,1,1,,A,15RTgt0PAso;90TKcjM8h6g208CQ,0*4A # MessageID: 1 # RepeatIndicator: 0 # UserID: 371798000 # NavigationStatus: 0 # ROT: -127 # SOG: 12.3 # PositionAccuracy: 1 # longitude: -123.395383333 # latitude: 48.38163333333 # COG: 224 # TrueHeading: 215 # TimeStamp: 33 # RegionalReserved: 0 # Spare: 0 # RAIM: False # state_syncstate: 0 # state_slottimeout: 2 # state_slotoffset: 1249 # # Type 1: # From Kurt Schwehr. Dump was attached. Checked using the noaadata tools. !AIVDM,1,1,,A,16SteH0P00Jt63hHaa6SagvJ087r,0*42 # MessageID: 1 # RepeatIndicator: 0 # UserID: 440348000 # NavigationStatus: 0 # ROT: -128 # SOG: 0 # PositionAccuracy: 0 # longitude: -70.7582 # latitude: 43.08015 # COG: 93.4 # TrueHeading: 511 # TimeStamp: 13 # RegionalReserved: 0 # Spare: 0 # RAIM: False # state_syncstate: 0 # stare_slottimeout: 2 # state_slotoffset: 506 # # Type 2: # From Kurt Schwehr. Dump was attached. Checked using the noaadata tools. # I had to regenerate the CRC32 for this one myself, it was missing in # Kurt's original. !AIVDM,1,1,,B,25Cjtd0Oj;Jp7ilG7=UkKBoB0<06,0*60 # MessageID: 2 # RepeatIndicator: 0 # UserID: 356302000 # NavigationStatus: 0 # ROT: 127 # SOG: 13.9 # PositionAccuracy: 0 # longitude: -71.62614333333333333333333333 # latitude: 40.39235833333333333333333333 # COG: 87.7 # TrueHeading: 91 # TimeStamp: 41 # RegionalReserved: 0 # Spare: 0 # RAIM: False # state_syncstate: 0 # state_slottimeout: 3 # state_slotoffset: 6 # # Type 3: # From Kurt Schwehr. Dump was attached. Checked using the noaadata tools. !AIVDM,1,1,,A,38Id705000rRVJhE7cl9n;160000,0*40 # MessageID: 3 # RepeatIndicator: 0 # UserID: 563808000 # NavigationStatus: 5 # ROT: 0 # SOG: 0 # PositionAccuracy: 1 # longitude: -76.32753333333333333333333333 # latitude: 36.91 # COG: 252 # TrueHeading: 352 # TimeStamp: 35 # RegionalReserved: 0 # Spare: 0 # RAIM: False # state_syncstate: 0 # state_slottimeout: 0 # state_slotoffset: 0 # # Type 4: # From Kurt Schwehr. Dump was attached. Checked using the noaadata tools. !AIVDM,1,1,,A,403OviQuMGCqWrRO9>E6fE700@GO,0*4D # MessageID: 4 # RepeatIndicator: 0 # UserID: 3669702 # Time_year: 2007 # Time_month: 5 # Time_day: 14 # Time_hour: 19 # Time_min: 57 # Time_sec: 39 # PositionAccuracy: 1 # Position_longitude: -76.35236166666666666666666667 # Position_latitude: 36.88376666666666666666666667 # fixtype: 7 # Spare: 0 # RAIM: False # state_syncstate: 0 # state_slottimeout: 4 # state_slotoffset: 1503 # # Type 5: # From Kurt Schwehr. Dump was attached. Checked using the noaadata tools. !AIVDM,2,1,1,A,55?MbV02;H;sjR0600V:C0>da4P106P00,2*02 # AIS channel:1 # Message ID=6 # Repeat Indicator=0 # Source ID (MMSI)=992509976 # Sequence number=0 # Destination ID (MMSI)=2500912 # Retransmit flag =0 # Spare =0 # Binary Data # Application identifier=0x3ACA(15050) # DAC=235(Specific) # Function identifier =10(GLA) # Application data: # Analogue internal=0x112->13.700V # Analogue input1=0x1->0.050V # Analogue input2=0x1->0.050V # AtoN status=0x14:Racon status=2(RACON operational), Ligth # status=2(light OFF), Good health=0(good health) # Digital status=0x00:In7=0,In6=0,In5=0,In4=0,In3=0,In2=0,In1=0,In0=0 # Off position=0x00 # Spare=0x00 !AIVDM,1,1,4,B,6>jR0600V:C0>da4P106P00,2*02 # # From AISHub. This type 6 has no data. It's paired with the # following type 7; both are verified by the match in the MMSI fields !AIVDM,1,1,,A,63u?;TP0`QJ<06P000,4*43 # Message Type : 6 # Repeat Indicator : 0 # MMSI : 265538450 # Sequence Number : 0 # Destination MMSI : 2655651 # Retransmit flag : 0 # DAC : 1 # FID : 40 # Data : 16:0000 # # FIX-ME: We need a type 6 test case that requires more than one AIVDM fragment. # # Type 6: # Advertised as DAC 1, FID 12, but full of garbage. !AIVDM,1,1,,A,63LBA4;WBevJ04k0=@E=B0td,0*17 # Advertised as DAC 1, FID 14, but full of garbage !AIVDM,1,1,,A,6h2E:81>NmKC04p0J<000?vv20Ru,0*31 # Advertised as DAC 1, FID 18, but full of 0 !AIVDM,1,1,,B,6h2E3MDrDRiB0580@00000000000,0*04 # Type 7: # From AISHub - reported immediately after the preceding type 6, # which matches it. One destination MMSI. noaadata-0.43 fails # on this message (Kurt says his decoder only handles the longest case). !AIVDM,1,1,,A,702R5`hwCjq8,0*6B # Message Type : 7 # Repeat Indicator : 0 # MMSI : 2655651 # MMSI number 1 : 265538450 # # Type 7: # From Kurt Schwehr. Three destination MMSIs. # noaadata-04.2 fails on this message !AIVDM,1,1,,A,7IiQ4T`UjA9lC;b:M, seems to be military traffic # with a mis-entered MMSI. !AIVDM,2,1,6,A,8>qc9wiKf>d=Cq5r0mdew:?DLq>1LmhHrsqmBCKnJ50,0*30 !AIVDM,2,2,6,A,3OLc=UCRp,0*4A,b003660465 # Message Type 8 # Repeat Indicator 0 # MMSI 999999999 # DAC 366 # FID 22 # Data 256:eb0d4f917a035b2dfca3d4739381735c18ebbe754936f66850037dcacd9538b8 # # Type 8, DAC 1, FID 11 (IMO 236 Met/Hydro message) # From Christian Gagneraud: # Specific NMEA messages with hard-coded Met/hydro values have been # send to a Kanaton, according to its default input settings # ($_HDXX,VAL*CS, where XX is the parameter index, 0 to 30, VAL is the # scaled parameter value, and CS the checksum). The resulting AIVDO # sentence has been decoded using the Kanaton software. Sent data, # kanaton decoder output and gpsd JSON output all match each other. !AIVDO,1,1,4,B,8>jR06@0Bk3:wOli;<`WPhh<1rqVBQf2V@Pdt0J82avIM2b<jR06@0Bk3:wOli;<`WPhh<1rqVBQf2V@Pdt0J82avIM2b<jR06@0Bk3:vOli;L`nwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwt1,2*0E # "18/05/2012 18:45:37" !AIVDO,1,1,4,B,8>jR06@0Bk3:vOli;L`nwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwt1,2*0E # AIS channel:1 # Message ID=8 # Repeat Indicator=0 # Source ID (MMSI)=992509977 # Spare=0 # Binary Data # Application identifier=0x004B(75) # DAC=1(International) # Function identifier =11(Reserved for international operational applications) # Application data: # Latitude=0x30CAF9(53°017.689 N) # Longitude=0x59DA5(006°008.037 W) # Date and time=0x946D(18 17h45m) # Average wind speed=0x7F(127 kts) # Wind gust=0x7F(127 kt(s)) # Wind direction=0x1FF(511 degree(s)) # Wind gust direction=0x1FF(511 degree(s)) # Air temperature=0x7FF(144.7 degree(s) Celcius) # Relative humidity=0x7F(127percent) # Dew point=0x3FF(82.3 degree(s) Celcius) # Air pressure=0x1FF(1311 hPa) # Air pressure tendency=0x3(3()) # Horizontal visibility=0xFF(25.5 NM) # Water level=0x1FF(41.1 m) # Water level trend=0x3(3 hPa) # Surface current speed=0xFF(25.5 kts) # Surface current direction=0x1FF(511 degree(s)) # Current speed #2=0xFF(25.5 kts) # Current direction #2=0x1FF(511 degree(s)) # Current measuring level #2=0x1F(31 m) # Current speed #3=0xFF(25.5 kts) # Current direction #3=0x1FF(511 degree(s)) # Current measuring level #3=0x1F(31 m) # Significant wave height=0xFF(25.5 m) # Wave period=0x3F(63 Sec) # Wave direction=1FF(511 degree(s)) # Swell height=0xFF(25.5) m # Swell period=0x3F(63 Sec) # Swell direction=0x1FF(511 degree(s)) # Sea state=0xF(15 Beaufort) # Water temperature=0x3FF(92.3 degree(s) Celcius) # Precipitation=0x7(7 according to WMO) # Salinity=0x1FF(51.1 permil) # Ice=0x3(3) # # Type 8, DAC 1, FID 31 (IMO 289 Met/Hydro message) # From Christian Gagneraud: # Kanaton3 with all data marked as not available, checked with KanAton3_configV2.0.4.exe !AIVDO,1,1,5,A,8>jR06@0Gwli:QQUP3en?wvlFR06EuOwgwl?wnSwe7wvlOwwsAwwnSGmwvh0,0*51 # AIS channel:1 # Message ID=8 # Repeat Indicator=0 # Source ID (MMSI)=992509977 # Spare=0 # Binary Data # Application identifier=0x005F(95) # DAC=1(International) # Function identifier =31(Reserved for international operational applications) # Application data: # Longitude=0x59DAC(006°008.044 W) # Latitude=0x30CB00(53°017.696 N) # Pos. acc.=0 # Date and time=0xEDD8(29 23h24m) # Average wind speed=0x7F(127 kts) # Wind gust=0x7F(127 kt(s)) # Wind direction=0x168(360 degree(s)) # Wind gust direction=0x168(360 degree(s)) # Air temperature=0xFFFFFC00(-102.4 degree(s) Celcius) # Relative humidity=0x65(101percent) # Dew point=0x1F5(50.1 degree(s) Celcius) # Air pressure=0x1FF(1310 hPa) # Air pressure tendency=0x3(3(Not available)) # Horizontal visibility=0x7F(12.7 NM) # Water level=0xFA1(30.01 m) # Water level trend=0x3(3) # Surface current speed=0xFF(25.5 kts) # Surface current direction=0x168(360 degree(s)) # Current speed #2=0xFF(25.5 kts) # Current direction #2=0x168(360 degree(s)) # Current measuring level #2=0x1F(31 m) # Current speed #3=0xFF(25.5 kts) # Current direction #3=0x168(360 degree(s)) # Current measuring level #3=0x1F(31 m) # Significant wave height=0xFF(25.5 m) # Wave period=0x3F(63 Sec) # Wave direction=168(360 degree(s)) # Swell height=0xFF(25.5) m # Swell period=0x3F(63 Sec) # Swell direction=0x168(360 degree(s)) # Sea state=0xD(13 Beaufort) # Water temperature=0x1F5(50.1 degree(s) Celcius) # Precipitation=0x7(7 according to WMO) # Salinity=0x1FE(51.0 permil) # Ice=0x3(3) # # Type 9: # From AISHub. Checked with the noaadata tools. !AIVDM,1,1,,A,91b77=h3h00nHt0Q3r@@07000<0b,0*69 # Message Type : 9 # Repeat Indicator : 0 # MMSI : 111265591 # Altitude : 15 # SOG : 0 # Position Accuracy : 0 # Longitude : 7128960 # Latitude : 34667073 # Course Over Ground : 0 # Time Stamp : 28 # Regional reserved : 0 # DTE : 0 # Assigned : 0 # RAIM flag : 0 # Radio status : 24597 # # Type 10: # From Kurt Schwehr. Two destination MMSIs. Checked with the noaadata tools. !AIVDM,1,1,,B,:5MlU41GMK6@,0*6C # MessageID: 10 # RepeatIndicator: 0 # UserID: 366814480 # Spare1: 0 # DestID: 366832740 # Spare2: 0 # # Type 10: # From Mike Greene. One destination MMSI. Decode is known good. !AIVDM,1,1,,B,:6TMCD1GOS60,0*5B,s36310,d-081,T59.01777335 # Message Type: 10 # Repeat Indicator: 0 # MMSI: 440882000 # Destination MMSI: 366972000 # # Type 11: # From Kurt Schwehr. Checked with the noaadata tools. # Message has Coast Guard extended fields following !AIVDM,1,1,,B,;4R33:1uUK2F`q?mOt@@GoQ00000,0*5D,s28089,d-103,T39.44353985,x147521,r08TPHI1,1242958962 # MessageID: 11 # RepeatIndicator: 0 # UserID: 304137000 # Time_year: 2009 # Time_month: 5 # Time_day: 22 # Time_hour: 2 # Time_min: 22 # Time_sec: 40 # PositionAccuracy: 1 # Position_longitude: -94.40768333333333333333333333 # Position_latitude: 28.40911666666666666666666667 # fixtype: 1 # Spare: 0 # RAIM: False # state_syncstate: 0 # state_slottimeout: 0 # state_slotoffset: 0 # # Type 12: # From AIS Hub via Neal Arundale. Dumps by ais.py. # Verified by the text being readable. !AIVDM,1,1,,A,<02:oP0kKcv0@<51C5PB5@?BDPD?P:?2?EB7PDB16693P381>>5H0,4*4C # Message Type : 12 # Repeat Indicator : 0 # MMSI : 351853000 # Sequence Number : 1 # Destination MMSI : 351809000 # Retransmit flag : 0 # Text : THANX !AIVDM,1,1,,A,<42Lati0W:Ov=C7P6B?=Pjoihhjhqq0,2*2B # Message Type : 12 # Repeat Indicator : 0 # MMSI : 271002099 # Sequence Number : 0 # Destination MMSI : 271002111 # Retransmit flag : 1 # Text : MSG FROM 271002099 !AIVDM,1,1,,A,9P81?f31<P81@9P>5GPI9BP?5?Per18=HB1U:1@E=B0m3R1p10E3;;R0USCR0HO>0@gN10kGJp,2*7F # Message Type : 14 # Repeat Indicator : 0 # MMSI : 237008900 # Text : EP228 IX48 FG3 DK7 PL56. !AIVDM,1,1,,A,>4aDT81@E=@,2*2E # Message Type : 14 # Repeat Indicator : 0 # MMSI : 311764000 # Text : TEST # # Type 15: # From Mike Greene. This is the 88-bit variant with one MMSI, # message type and offset. Decode is known good. !AIVDM,1,1,,A,?5OP=l00052HD00,2*5B # Message Type: 15 # Repeat Indicator: 0 # MMSI: 368578000 # Destination MMSI: 5158 # First Message Type: 5 # First Slot Offset: 0 # # Type 15: # From Kurt Schwehr. This is the 108/112-bit variant with one MMSI and two # message types. Includes USCG metadata. Decode is known good. !AIVDM,1,1,,B,?h3Ovn1GP;h00Fc>jpUlNV@ikwpUoP06,0*4C # MessageID: 18 # RepeatIndicator: 0 # UserID: 338087471 # Reserved1: 0 # SOG: 0.1 # PositionAccuracy: 0 # longitude: -74.07213166666666666666666667 # latitude: 40.68454 # COG: 79.6 # TrueHeading: 511 # TimeStamp: 49 # RegionalReserved: 0 # Spare: 0 # RAIM: True # CommStateSelector: 1 # CommState: 393222 # Type 18: # From Kurt Schwehr. Checked with the noaadata tools. !AIVDM,1,1,,A,B52KB8h006fu`Q6:g1McCwb5oP06,0*00 # MessageID: 18 # RepeatIndicator: 0 # UserID: 338088483 # Reserved1: 0 # SOG: 0 # PositionAccuracy: 0 # longitude: -70.8111966 # latitude: 43.11555833 # COG: 171.6 # TrueHeading: 511 # TimeStamp: 20 # RegionalReserved: 0 # Spare: 0 # RAIM: True # CommStateSelector: 1 # CommState: 393222 # Type 18: # From Kurt Schwehr. Checked with the noaadata tools. !AIVDM,1,1,,B,B5O6hr00NhWAwwo862PaLELTBJ:V00000000S0D:R220,0*0B # MessageID: 19 # RepeatIndicator: 0 # UserID: 367059850 # Spare: 0 # SOG: 8.7 # PositionAccuracy: 0 # longitude: -88.8103916667 # latitude: 29.543695 # COG: 335.9 # TrueHeading: 511 # TimeStamp: 46 # Spare2: 0 # name: CAPT.J.RIMES # shipandcargo: 70 # dimA: 5 # dimB: 21 # dimC: 4 # dimD: 4 # fixtype: 1 # RAIM: False # DTE: 0 # Spare3: 0 # # Type 20 (1 offset) # From Mike Greene. Checked with the noaadata tools. !AIVDM,1,1,,A,Dh3OvjB8IN>4,0*1D # Message Type: 20 # Repeat Indicator: 3 # MMSI: 3669705 # Offset 1: 2182 # Reserved Slots 1: 5 # Timeout 1: 7 # Increment 1: 225 # # Type 20 (3 offsets): # From Mike Greene. !AIVDM,1,1,,B,D030p8@2tN?b<`O6DmQO6D0,2*5D # Message Type: 20 # Repeat Indicator: 0 # MMSI: 3160097 # Offset 1: 47 # Reserved Slots 1: 1 # Timeout 1: 7 # Increment 1: 250 # Offset 2: 2250 # Reserved Slots 2: 1 # Timeout 2: 7 # Increment 2: 1125 # Offset 3: 856 # Reserved Slots 3: 5 # Timeout 3: 7 # Increment 3: 1125 # # Type 21: # Has a Name Extension field # From Mike Greene. Decode is verified by the text being readable. !AIVDM,2,1,5,B,E1mg=5J1T4W0h97aRh6ba84gOP00PH=JrN9l000?wB2HH;,0*44 # # Type 23: # From AISHub. Only a regression test to check that the C and Python decoders # do the same thing, not yet checked against other decoders. !AIVDM,1,1,,B,G02:Kn01R`sn@291nj600000900,2*12 # Message Type : 23 # Repeat Indicator : 0 # MMSI : 2268120 # NE Longitude : 1578 # NE Latitude : 30642 # SW Longitude : 1096 # SW Latitude : 30408 # Station Type : 6 # Ship Type : 0 # Tx/Rx mode : 0 # Reporting interval : 9 # Quiet time : 0 # # Type 24: # From Nirgal # One pair of type A and Type B messages. !AIVDM,1,1,,A,H42O55i18tMET00000000000000,2*6D # MessageID: 24 # RepeatIndicator: 0 # UserID: 271041815 # partnum: 0 # name: PROGUY !AIVDM,1,1,,A,H42O55lti4hhhilD3nink000?050,0*40 # MessageID: 24 # RepeatIndicator: 0 # UserID: 271041815 # partnum: 0 # shipandcargo: 60| # vendorid: 1D00014 # callsign: TC6163 # dimA: 0 # dimB: 15 # dimC: 0 # dimD: 5 # # Type 25: # From Christian Gagneraud via aishub # Addressed and structured !AIVDM,1,1,,A,JB3R0GO7p>vQL8tjw0b5hqpd0706kh9d3lR2vbl0400,2*40 # # Type 25: # From Christian Gagneraud via aishub # Addressed and not structured !AIVDM,1,1,,A,I6SWo?8P00a3PKpEKEVj0?vNP<65,0*73 # # Type 25: # From Christian Gagneraud via aishub # Broadcast and structured !AIVDM,1,1,,A,I8IRGB40QPPa0:vQL8tjw0b5hqpd0706kh9d3lR2vbl0400,2*40 # # Type 26: # From Christian Gagneraud via aishub # Addressed and not structured !AIVDM,1,1,,A,J1@@0IK70PGgT740000000000@000?D0ih1e00006JlPC9C3,0*6B # # Type 26 # From Christian Gagneraud via aishub # Broadcast and structured !AIVDM,1,1,,B,JaL0mr5P000DtRDMddr@0?vF06iD,0*75 # # Type 26 # From Christian Gagneraud via aishub # Broadcast and not structured !AIVDM,1,1,,A,J0@00@370>t0Lh3P0000200H:2rN92,4*14 # # Type 27: # From Christian Gagneraud via aishub # The only message 27 in more than 25 millions messages that is 96 bits long! !AIVDM,1,1,,A,KCQ9r=hrFUnH7P00,0*41 # # ############################################################################## # Invalid packet tests: ############################################################################## # # That fragment misses part 1, yields nothing: AIVDM,2,2,1,B,00000000000,2*26 # # ############################################################################## # Type 24 collisions: ############################################################################## # # 24B from 271041815: # This sentence is missing 24A and is discarded !AIVDM,1,1,,A,H42O55lti4hhhilD3nink000?050,0*40 # gpsdecode: AIVDM message type 24 collision on channel A: 24B sentence from 271041815 without 24A. # # 24A from mmsi 271041511: # context is updated !AIVDM,1,1,,A,H42O3qiA8U10Tp0000000000000,2*37 # # 24A from mmsi 271040660: # Previous 24A from 271041511 is discarded, context is updated !AIVDM,1,1,,A,H42O0U0Lu`@Dno4000000000000,2*18 # gpsdecode: AIVDM message type 24 collision on channel A : Discarding previous sentence 24A from 271041511. # # 24B from mmsi 271020195: # Saved in context, but without a valid 24A it's never emitted. !AIVDM,1,1,,A,H42Mh`lUi2hhljiI=mikk000B050,0*17 # # 24B from mmsi 271040660: # Success !AIVDM,1,1,,A,H42O0U4Ui3hhhlmI=mmhl000H060,0*2E # ############################################################################## # Channel multiplexing test: ############################################################################## # simultaneous use of buffers of channels A & B !AIVDM,2,1,6,B,542M92h00001@<7;?G0PD4i@R0220o0h:2240Ht50000000000,0*3B !AIVDM,2,1,2,A,542M92h00001@<7;?G0PD4i@R0220o0h:2240Ht500000000000000,0*3C !AIVDM,2,2,2,A,0000002,2*24 !AIVDM,2,2,6,B,00000000000,2*21 ############################################################################## # Error and corner case tests: ############################################################################## # Non printable and control character in data or string fields !AIVDM,1,1,,A,647sBv00b=E006P9>0,4*1B # Type 4 with date/time set to N/A !AIVDM,1,1,,A,402Fha0000Htt8700PS:,0*60 # Type 4 with year set to 10196 (0x27D4), idempotency use to fail on this one # It has a bad epfd as well. !AIVDM,1,1,,B,4>O7m7Iu@<9qUfbtm`vSnwvH20S8,0*46 # Type 22 with MMSI1=4059193694, use to fail due to UBITS() instead of SBITS() !AIVDM,1,1,,B,Fe3>>MOD@GDF?ThcoCk02?ioQie4,0*03 # A type 6, DAC 1, FID 18 with plenty of N/A fields, idempotency use to fail !AIVDM,1,1,,B,602E:s0tw@9B0580@00000000000,0*68 # A type 6, DAC 1, FID 30. use to fail idempotency !AIVDM,1,1,,B,6h2E3MPr # Date: 2009-01-21 # Comments: Has leading garbage, to test parity locking. # The date above is meaningless, added so gpsfake won't choke. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # YpgA_]qS@oglgyC|~oAxCJxqBHsDzu_FsHEfOXAdbwg@Es~]ywJ@x]Cxv^[_m_xRrLwzyBXQb`Z[@hMmOzbzjOXU}t_UUUEsHEfOXIfByS@oSpG|cBPAFvtGN}wl`xN@KsHEF}gV^]}g@EAx}~ywwWd\uv^{mrAÁðÜ×ðôÈGmÅÁäÞuLwzyBXye@bdWLhO{bz\pkJCE`jjJHsHEF}gZ\]Kl`_XHF|CNPAGvIxqBHSK{w_BsHEfOXUgB|__WSZ[{Iao~aJB`a@dPUrAsHEfOXM``}[`^yXOE]eVpcJAK`jjjzLwzYpgb[}BlP@lyC|}o^|aIxqBHSeFtÁðÜ×ðôÈÅÁäÞpLwzyBX}bBI`@@mQzZ{I\P~X]O`a@DbZ^CM|LwzYpg\Yq[`~MZKE]eQpMNlO`jjjzLwzYpgL^}Al`W^`F|c{onyNyGN}W^AGuwLwzyBXKeBG`@@leUdDbyouFYAt`}{w[VzG}LwzYpgd\u[`AihtzjZP@\z}G`jjJHsÁðÜ×ðôÈHÅÁäÞEF}gxX}Nl`[B@yC|tonx^}GN}W^FFv_HsHEF}gX_}G`~}SJ[{}oMBGpK_BdzCVxgsLwzyBXwd`x[`aMSeDUeP@lMK`jjjzLwzYpgP]}{S@_l{F|CKPqFjExqBha}yJ@@sHEfOX_fB~_A@e]rZ{]somclvK_BdzygÁðÜ×ðôÈ|ÅÁäÝGLsHEF}G^_Kd_nibVzjZR@l}Mt_UUUEsHEfOxPebFl`GGPyC\IPqEbAxqBha{yH`CsHEfOxpcB@`~_oTBZ{]wo}bVzK_BDHAxCxOsHEF}GWX_|[`qL\nEUeT@lzmJ`jjjzLwzYpGG_}~S@_Bx_G|CvoNyWwGN}wl_XM@}ÁðÜ×ðôÈLÅÁäÞwzYpG{[}M`~_~Y\[{]LP\XJyK_BDHixAXEsHEfOxTb`Md_NdYNEUe_@LuC`jjJHsHEF}GsY}qS@_ZG`yCKw_^_vf@@GTwK@|aAsHEfOxlabu_A`GQLZ{]uoKagEt`}{wRF~gKsHEF}GCZ_x[`IJ]jEUeS@LyEy_UUuwLÁðÜ×ðôÈwÅÁäÞzyBxbcBMl`[B`xCKA`qdqk@@GtEl~B^vLwzyBxRgBw_A`\d[{]DPdkGLt`}[EgxAxuLwzyBxJ``v[`IVXlEUEosGZI`jjjzLwzYpGe[]{S@_BX`F|Ts_V^y]xkHLC^vLwzyBxzbbp_APTYDZ{]yogPlCt`}{W_G|ÁðÜ×ðôÈGtÅÁäÞLwzyBxff@y[`I}UTDUecKBjF`jjJHsHEF}GI^}vS@_rsG|TG`YeZ]xkHd@^sLwzyBxNebB`~oIYhZ{}KPHhIsK_BdZkFzGpLwzyBx^c@}[`Ik[HDUEU@tzEL`jjjzLwzYpG~X}sS@_J~G|tu_z[yb@@GTw{`~aÁðÜ×ðôÈÅÁäÞLwzYpG^_}z_APiZH[{}voTQ|K_BDhbyCXFsHEfOxqd`Ed_vP~oEUe[@T{eF`jjJHsHEF}GV]}Fl`NU`F|tA`eaAh@@GtEH^D~|LwzYpGfY]N`~oLWPZ{]q_PW]@t`}{WYG~gwLwzyBxEa@z[`IoALzjZ`kAzx_UUuwLwÁðÜ×ðôÈzÅÁäÝyBxUebzS@_qj_xCKH`ueQn@@GtEPoA^|LwzYpGJ\]q_APsheDBs_hWkKt`}[eqyCXwLwzyBxmg@Md_vZumDUedkGzI`jjjzLwzYpGB_]pS@_iUHG|TB`mfE]x{Q@q~avLwzyBxCdBr_APKE@dDBL`[iHEt`}{WRGzÁðÜ×ðôÈGÅÁäÞyLwzYpGl]@d_v]vEEUEg[FZr_UUUEsHEfOxKfBNl`BioxCk~_B[il@@Gd\hp{AFsHEfOxkaBG`~olE`dDBG`shpsK_BdZtFgKsHEF}GDZJd_NdyaDUeo[CZA`jjJHsHEF}GX\]|S@_uPhF|T_\ZUb@@GDn{wC~BsÁðÜ×ðôÈHÅÁäÞEfOxWgBK`~oZyW[{]F`}IK|K_BDhyAxxLwzYpGp__u[`q@@qzjzj{BZy_UUuwLwzyBx_dbxS@_[ShF|T_LYC_x{Q\HaNsHEF}G@]}AH@V_ZSo|W`kGzIIa}GNtDDXxLwzYp{_Y[`QtBe{jZf{Cfs_UUUEsHÁðÜ×ðôÈEÅÁäÞfODpaBpS@_WoGyCK}_tZ]x{Qri|avLwzyBDHeBIH@fwfTPChW@d{Nv^BXCbDAXJsHEF}{g\_Id_^nI}{jzW@x{Y}_UUuwLwzyBDDgBS@xkgyCKv_dDXx{QVixatLwzyBDd`BvwyHjDQChn[CE}v^BXCndBxÁðÜ×ðôÈtÅÁäÞLwzyBDtd`v[`AQEK{jZoGEFM`jjjzLwzYp{S]}uS@fcgyCkD`[AmTx[cNWD^MsHEF}{cY]}wE|cxQCHS@dxF{v^BXCYUBXyLwzYp{}^Jd_Ab|TDUe[@XYv_UUUEsHEfODRebuS@QkWxC\~oUfNMxqBXjnPH@~ÁðÜ×ðôÈLÅÁäÞwzYp{M\}LH@Z]gXPCHn{EYLIa}GNkTGXqLwzyBDjg`p[`^q~HEUeigAft_UUUEsHEfODz`BrS@QkOyC\KPJZ^BxqBxX~~vEsHEfODFdBAH@j]oHQCHW@xxA@Ia}g\ws{GAsHEfODVb`~[`nlGO{jZhW@FO`jjjzLwzÁðÜ×ðôÈYÅÁäÞp{qY]pS@vZ`F|c{ombnFxqBxXn~wwLwzyBDnaBtwuVROn|w`gBisv^BxQmr|gCsHEfOD~e@fdWbKHzjzU@hyEv_UUUEsHEfODacbzS@ez_F|C@PB\JsGN}gUaAuJsHEF}{nX}MH@rJPOn|w`gFfxv^BXcA]AxÁðÜ×ðôÈqÅÁäÞLwzyBDI``S[@hEKHzjzU@h|ew_UUUEsHEfODYdbAl@ZEHyC\JP\XrtGN}gUqar_~LwzYp{F]}xwmGZon|WY@XzQCIa}g\LC{GCsHEfODef`ndWVzwDUenwBZp_UUUEsHEfODuab~S@~|gF|CHPtYPpGN}gUyPp}LwÁðÜ×ðôÈzÅÁäÞYp{rZ}JH@B_oPQCHT@h{y~v\B`RZ_GtLwzyBD]c@X[@h~wDUenwEzN`jjjzLwzYp{|X}@l@mMdxC\|o[ULGN}GgZnH@|LwzYp{\_}IH@|[Rwn|whWCANIc}_j_GpLwzyBDsd@ddWitwDUE\@p{eI`jjjzLwzÁðÜ×ðôÈYÅÁäÞp{T]]Gl@{CLxC\{ogR~HxqBXjrOK@JsHEF}{dY}OH@\ubpPCh[@H~~KIc}_J^{GCsHEfODGa`[[@hj|wDUenOAZE`jjJHsHEF}{hZ]vS@_oB\yC|poOR}wGN}gUCPv_LwzYp{H\]BH@laipQCH_@H|~tv\B@`MaDxtÁðÜ×ðôÈLwÅÁäÞzyBDog@^[@hBHH{jzcOGzF`jjJHsHEF}{@_}qS@_E{]F|c{oWoDxqBxXKQq{LwzYp[[]qwsuhHPCHaODvxv\B`RR^{grLwzyBdPb`cdWkyWEUeS@Pyes_UUUEsHEfOdHfB@l`iDJxC|G`wOCxqBxX{Qr}LÁðÜ×ðôÈwÅÁäÞzYp[W^}vwK_ghQChnwCRKIc}_B_{gKsHEF}[GZddWWNhzjz^@PzuH`jjjzLwzYp[[\}@l`SDzyC\G`{MoLxqBXj`oH@KsHEF}[kX]HH@dg`HQChewE\KIc}_|_{GLwzYp[s__[[@h@EhzjZl_DJ~_UUuwLwzyÁðÜ×ðôÈBÅÁäÞd\dbvS@oeAfyC\C`sM]IxqBXJoNK@wLwzyBd|bBpw{LoXQChjO@xGIc}_mcaDXOsHEF}[]Y_Z[@HgGhzjZl_Aj_UUuwLwzyBdrabuS@ohIvyC\L`CLutGN}guhps_HsHEF}[uZ}AH@xSZko|WhODhpv\B@`s`DXvÁðÜ×ðôÈLÅÁäÞwzyBdZc`adwL{WDUee_GJ|_UUuwLwzyBdFgBHlpNNnyC\O`MHaLxqBXJKwN@IsHEF}[Y_}~wg|otQCHX@p_GIc}_mKaDxzLwzYp[I[ldwRsWDUEW@@}UG`jjJHsHEF}[Q]]pS@w_DnyC|}_FpzIxqBXJCWO`OsHEÁðÜ×ðôÈFÅÁäÞ}[aY]JH@hCXKn|WU@pF@pv\B@`[`DxCsHEfOdAa@T[@HyOh{jzhEJF`jjJHsHEF}[nZ}yS@wvD^yC\K`IHi@xqBxxZhwKsHEF}[N\]wwX\Co|w]@p~HIc}_D_{GwLwzyBdig`Q[@H^~gEUEE@@@jy_UUuwLwzyÁðÜ×ðôÈBÅÁäÞdy`bAlhD@nyC|}_AqarGN}gunYr_KsHEF}[z[]MH@pGgrPCH`O@`xv\B`Rx^{g|LwzYp[j]_`dwy~gEUEE@@BRK`jjjzLwzYp[rY]qS@WlEAxC\G`VOz~GN}GGvfK@EsHEfOdmabGH@P_kJPChZ@H~Otv\B@`gaDxzLÁðÜ×ðôÈwzÅÁäÞYp[BZX[@HB{gEUEE@@Eru_UUUEsHEfOdccbMlX|EQyC|L`jKHKxqBXJ\GM@IsHEF}[lX}zwoGezQChhwBtsv\B@`w`DXqLwzyBdK``ddwkJXzjZH@@GRx_UUuwLwzyBd[dBDlXmHayK\D@hxsBxqBxxwxw_LwÁðÜ×ðôÈzÅÁäÞYp[D]}OH@`jfVQCHZ@HyCDIc}_mO`@xEsHEfOdgf`Y[@HPOXzjZH@`BRN`jjjzLwzYp[ gpsd-3.9/test/sample.rtcm2.chk0000664000175000017500000011035711762140440014453 0ustar esresr{"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":249.6,"seqnum":1,"length":5,"station_health":0,"satellites":[{"ident":13,"udre":0,"iod":3,"prc":-26.120,"rrc":0.068},{"ident":2,"udre":0,"iod":73,"prc":1.220,"rrc":-0.080},{"ident":8,"udre":0,"iod":22,"prc":23.760,"rrc":0.030}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":250.8,"seqnum":2,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-58.560,"rrc":-0.256},{"ident":11,"udre":1,"iod":2,"prc":-39.900,"rrc":0.174}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":252.0,"seqnum":3,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-39.680,"rrc":-0.016},{"ident":7,"udre":0,"iod":15,"prc":25.660,"rrc":0.026},{"ident":26,"udre":0,"iod":128,"prc":12.840,"rrc":0.118}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":252.6,"seqnum":4,"length":5,"station_health":0,"satellites":[{"ident":13,"udre":0,"iod":3,"prc":-25.940,"rrc":0.066},{"ident":2,"udre":0,"iod":73,"prc":0.920,"rrc":-0.080},{"ident":8,"udre":0,"iod":22,"prc":23.820,"rrc":0.014}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":253.8,"seqnum":5,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-59.520,"rrc":-0.224},{"ident":11,"udre":1,"iod":2,"prc":-39.260,"rrc":0.206}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":255.0,"seqnum":6,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-39.700,"rrc":-0.018},{"ident":7,"udre":0,"iod":15,"prc":25.740,"rrc":0.026},{"ident":26,"udre":0,"iod":128,"prc":13.240,"rrc":0.128}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":255.6,"seqnum":7,"length":5,"station_health":0,"satellites":[{"ident":2,"udre":0,"iod":73,"prc":0.680,"rrc":-0.092},{"ident":13,"udre":0,"iod":3,"prc":-25.680,"rrc":0.084},{"ident":8,"udre":0,"iod":22,"prc":23.880,"rrc":0.000}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":256.8,"seqnum":0,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-60.560,"rrc":-0.244},{"ident":11,"udre":1,"iod":2,"prc":-38.620,"rrc":0.222}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":258.0,"seqnum":1,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-39.680,"rrc":-0.002},{"ident":7,"udre":0,"iod":15,"prc":25.880,"rrc":0.030},{"ident":26,"udre":0,"iod":128,"prc":13.700,"rrc":0.124}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":258.6,"seqnum":2,"length":5,"station_health":0,"satellites":[{"ident":2,"udre":0,"iod":73,"prc":0.440,"rrc":-0.094},{"ident":13,"udre":0,"iod":3,"prc":-25.460,"rrc":0.080},{"ident":8,"udre":0,"iod":22,"prc":23.920,"rrc":-0.020}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":259.8,"seqnum":3,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-61.260,"rrc":-0.212},{"ident":11,"udre":1,"iod":2,"prc":-37.840,"rrc":0.242}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":261.0,"seqnum":4,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-39.740,"rrc":-0.006},{"ident":7,"udre":0,"iod":15,"prc":25.980,"rrc":0.034},{"ident":26,"udre":0,"iod":128,"prc":14.040,"rrc":0.116}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":261.6,"seqnum":5,"length":5,"station_health":0,"satellites":[{"ident":2,"udre":0,"iod":73,"prc":0.120,"rrc":-0.088},{"ident":8,"udre":0,"iod":22,"prc":23.760,"rrc":-0.040},{"ident":13,"udre":0,"iod":3,"prc":-25.220,"rrc":0.090}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":262.8,"seqnum":6,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-61.820,"rrc":-0.212},{"ident":11,"udre":1,"iod":2,"prc":-36.800,"rrc":0.256}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":264.0,"seqnum":7,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-39.780,"rrc":0.002},{"ident":7,"udre":0,"iod":15,"prc":26.060,"rrc":0.032},{"ident":26,"udre":0,"iod":128,"prc":14.380,"rrc":0.120}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":264.6,"seqnum":0,"length":5,"station_health":0,"satellites":[{"ident":2,"udre":0,"iod":73,"prc":-0.180,"rrc":-0.084},{"ident":8,"udre":0,"iod":22,"prc":23.620,"rrc":-0.058},{"ident":13,"udre":0,"iod":3,"prc":-24.980,"rrc":0.094}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":265.8,"seqnum":1,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-62.540,"rrc":-0.166},{"ident":11,"udre":1,"iod":2,"prc":-35.840,"rrc":0.288}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":267.0,"seqnum":2,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-39.820,"rrc":0.002},{"ident":7,"udre":0,"iod":15,"prc":26.140,"rrc":0.020},{"ident":26,"udre":0,"iod":128,"prc":14.700,"rrc":0.116}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":267.6,"seqnum":3,"length":5,"station_health":0,"satellites":[{"ident":2,"udre":0,"iod":73,"prc":-0.420,"rrc":-0.078},{"ident":8,"udre":0,"iod":22,"prc":23.380,"rrc":-0.078},{"ident":13,"udre":0,"iod":3,"prc":-24.640,"rrc":0.108}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":268.8,"seqnum":4,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-63.000,"rrc":-0.152},{"ident":11,"udre":1,"iod":2,"prc":-35.200,"rrc":0.288}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":270.0,"seqnum":5,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-39.760,"rrc":0.010},{"ident":7,"udre":0,"iod":15,"prc":26.180,"rrc":0.016},{"ident":26,"udre":0,"iod":128,"prc":15.020,"rrc":0.112}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":270.6,"seqnum":6,"length":5,"station_health":0,"satellites":[{"ident":2,"udre":0,"iod":73,"prc":-0.680,"rrc":-0.066},{"ident":8,"udre":0,"iod":22,"prc":23.140,"rrc":-0.092},{"ident":13,"udre":0,"iod":3,"prc":-24.320,"rrc":0.124}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":271.8,"seqnum":7,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-63.500,"rrc":-0.120},{"ident":11,"udre":1,"iod":2,"prc":-34.240,"rrc":0.288}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":273.0,"seqnum":0,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-39.860,"rrc":0.004},{"ident":7,"udre":0,"iod":15,"prc":26.140,"rrc":0.004},{"ident":26,"udre":0,"iod":128,"prc":15.280,"rrc":0.106}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":273.6,"seqnum":1,"length":5,"station_health":0,"satellites":[{"ident":2,"udre":0,"iod":73,"prc":-0.980,"rrc":-0.060},{"ident":8,"udre":0,"iod":22,"prc":22.720,"rrc":-0.108},{"ident":13,"udre":0,"iod":3,"prc":-24.120,"rrc":0.120}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":274.8,"seqnum":2,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-63.920,"rrc":-0.116},{"ident":11,"udre":1,"iod":2,"prc":-33.280,"rrc":0.320}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":276.0,"seqnum":3,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-39.920,"rrc":0.006},{"ident":26,"udre":0,"iod":128,"prc":15.520,"rrc":0.100},{"ident":7,"udre":0,"iod":15,"prc":26.060,"rrc":-0.004}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":276.6,"seqnum":4,"length":5,"station_health":0,"satellites":[{"ident":2,"udre":0,"iod":73,"prc":-1.220,"rrc":-0.050},{"ident":8,"udre":0,"iod":22,"prc":22.300,"rrc":-0.122},{"ident":13,"udre":0,"iod":3,"prc":-23.780,"rrc":0.120}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":277.8,"seqnum":5,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-64.220,"rrc":-0.088},{"ident":11,"udre":1,"iod":2,"prc":-32.320,"rrc":0.352}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":279.0,"seqnum":6,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-39.780,"rrc":0.004},{"ident":26,"udre":0,"iod":128,"prc":15.860,"rrc":0.098},{"ident":7,"udre":0,"iod":15,"prc":26.120,"rrc":-0.012}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":279.6,"seqnum":7,"length":5,"station_health":0,"satellites":[{"ident":2,"udre":0,"iod":73,"prc":-1.280,"rrc":-0.040},{"ident":8,"udre":0,"iod":22,"prc":22.040,"rrc":-0.136},{"ident":13,"udre":0,"iod":3,"prc":-23.320,"rrc":0.120}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":280.8,"seqnum":0,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-64.280,"rrc":-0.056},{"ident":11,"udre":1,"iod":2,"prc":-31.040,"rrc":0.352}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":282.0,"seqnum":1,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-39.860,"rrc":-0.006},{"ident":26,"udre":0,"iod":128,"prc":16.240,"rrc":0.088},{"ident":7,"udre":0,"iod":15,"prc":26.100,"rrc":-0.004}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":282.6,"seqnum":2,"length":5,"station_health":0,"satellites":[{"ident":2,"udre":0,"iod":73,"prc":-1.400,"rrc":-0.034},{"ident":8,"udre":0,"iod":22,"prc":21.580,"rrc":-0.142},{"ident":13,"udre":0,"iod":3,"prc":-23.000,"rrc":0.124}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":283.8,"seqnum":3,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-64.480,"rrc":-0.042},{"ident":11,"udre":1,"iod":2,"prc":-30.080,"rrc":0.320}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":285.0,"seqnum":4,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-39.880,"rrc":0.000},{"ident":26,"udre":0,"iod":128,"prc":16.420,"rrc":0.086},{"ident":7,"udre":0,"iod":15,"prc":25.980,"rrc":-0.016}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":285.6,"seqnum":5,"length":5,"station_health":0,"satellites":[{"ident":2,"udre":0,"iod":73,"prc":-1.560,"rrc":-0.022},{"ident":8,"udre":0,"iod":22,"prc":21.120,"rrc":-0.156},{"ident":13,"udre":0,"iod":3,"prc":-22.620,"rrc":0.122}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":286.8,"seqnum":6,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-64.540,"rrc":-0.018},{"ident":11,"udre":1,"iod":2,"prc":-29.120,"rrc":0.352}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":288.0,"seqnum":7,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-39.900,"rrc":0.000},{"ident":26,"udre":0,"iod":128,"prc":16.660,"rrc":0.088},{"ident":7,"udre":0,"iod":15,"prc":25.940,"rrc":-0.024}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":288.6,"seqnum":0,"length":5,"station_health":0,"satellites":[{"ident":2,"udre":0,"iod":73,"prc":-1.660,"rrc":-0.020},{"ident":8,"udre":0,"iod":22,"prc":20.600,"rrc":-0.164},{"ident":13,"udre":0,"iod":3,"prc":-22.340,"rrc":0.124}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":289.8,"seqnum":1,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-64.620,"rrc":0.008},{"ident":11,"udre":1,"iod":2,"prc":-27.840,"rrc":0.352}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":291.0,"seqnum":2,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-40.040,"rrc":-0.006},{"ident":26,"udre":0,"iod":128,"prc":16.880,"rrc":0.096},{"ident":7,"udre":0,"iod":15,"prc":25.760,"rrc":-0.030}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":291.6,"seqnum":3,"length":5,"station_health":0,"satellites":[{"ident":2,"udre":0,"iod":73,"prc":-1.800,"rrc":-0.010},{"ident":8,"udre":0,"iod":22,"prc":20.000,"rrc":-0.176},{"ident":13,"udre":0,"iod":3,"prc":-22.040,"rrc":0.120}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":292.8,"seqnum":4,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-64.620,"rrc":0.048},{"ident":11,"udre":1,"iod":2,"prc":-26.880,"rrc":0.352}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":294.0,"seqnum":5,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-40.040,"rrc":-0.008},{"ident":26,"udre":0,"iod":128,"prc":17.220,"rrc":0.098},{"ident":7,"udre":0,"iod":15,"prc":25.700,"rrc":-0.040}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":294.6,"seqnum":6,"length":5,"station_health":0,"satellites":[{"ident":2,"udre":0,"iod":73,"prc":-1.800,"rrc":-0.002},{"ident":8,"udre":0,"iod":22,"prc":19.520,"rrc":-0.182},{"ident":13,"udre":0,"iod":3,"prc":-21.620,"rrc":0.124}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":295.8,"seqnum":7,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-64.420,"rrc":0.074},{"ident":11,"udre":1,"iod":2,"prc":-25.920,"rrc":0.352}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":297.0,"seqnum":0,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-40.060,"rrc":-0.020},{"ident":26,"udre":0,"iod":128,"prc":17.500,"rrc":0.104},{"ident":7,"udre":0,"iod":15,"prc":25.560,"rrc":-0.056}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":297.6,"seqnum":1,"length":5,"station_health":0,"satellites":[{"ident":2,"udre":0,"iod":73,"prc":-1.820,"rrc":0.000},{"ident":8,"udre":0,"iod":22,"prc":18.960,"rrc":-0.188},{"ident":13,"udre":0,"iod":3,"prc":-21.240,"rrc":0.122}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":298.8,"seqnum":2,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-64.180,"rrc":0.092},{"ident":11,"udre":1,"iod":2,"prc":-24.640,"rrc":0.352}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":300.0,"seqnum":3,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-40.160,"rrc":-0.012},{"ident":26,"udre":0,"iod":128,"prc":17.780,"rrc":0.090},{"ident":7,"udre":0,"iod":15,"prc":25.380,"rrc":-0.062}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":300.6,"seqnum":4,"length":5,"station_health":0,"satellites":[{"ident":2,"udre":0,"iod":73,"prc":-1.800,"rrc":0.004},{"ident":8,"udre":0,"iod":22,"prc":18.400,"rrc":-0.190},{"ident":13,"udre":0,"iod":3,"prc":-20.940,"rrc":0.112}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":301.8,"seqnum":5,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-63.920,"rrc":0.122},{"ident":11,"udre":1,"iod":2,"prc":-23.680,"rrc":0.352}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":303.0,"seqnum":6,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-40.120,"rrc":-0.022},{"ident":26,"udre":0,"iod":128,"prc":18.180,"rrc":0.084},{"ident":7,"udre":0,"iod":15,"prc":25.260,"rrc":-0.068}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":303.6,"seqnum":7,"length":5,"station_health":0,"satellites":[{"ident":2,"udre":0,"iod":73,"prc":-1.700,"rrc":0.020},{"ident":8,"udre":0,"iod":22,"prc":17.840,"rrc":-0.204},{"ident":13,"udre":0,"iod":3,"prc":-20.500,"rrc":0.120}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":304.8,"seqnum":0,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-63.380,"rrc":0.140},{"ident":11,"udre":1,"iod":2,"prc":-22.400,"rrc":0.352}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":306.0,"seqnum":1,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-40.240,"rrc":-0.022},{"ident":26,"udre":0,"iod":128,"prc":18.460,"rrc":0.078},{"ident":7,"udre":0,"iod":15,"prc":25.020,"rrc":-0.080}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":306.6,"seqnum":2,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":17.260,"rrc":-0.204},{"ident":2,"udre":0,"iod":73,"prc":-1.620,"rrc":0.022},{"ident":13,"udre":0,"iod":3,"prc":-20.040,"rrc":0.130}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":307.8,"seqnum":3,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-62.840,"rrc":0.166},{"ident":11,"udre":1,"iod":2,"prc":-21.120,"rrc":0.384}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":309.0,"seqnum":4,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-40.280,"rrc":-0.030},{"ident":26,"udre":0,"iod":128,"prc":18.660,"rrc":0.064},{"ident":7,"udre":0,"iod":15,"prc":24.800,"rrc":-0.084}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":309.6,"seqnum":5,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":16.580,"rrc":-0.216},{"ident":2,"udre":0,"iod":73,"prc":-1.580,"rrc":0.034},{"ident":13,"udre":0,"iod":3,"prc":-19.800,"rrc":0.136}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":310.8,"seqnum":6,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-62.440,"rrc":0.190},{"ident":11,"udre":1,"iod":2,"prc":-20.160,"rrc":0.384}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":312.0,"seqnum":7,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-40.400,"rrc":-0.026},{"ident":26,"udre":0,"iod":128,"prc":18.880,"rrc":0.054},{"ident":7,"udre":0,"iod":15,"prc":24.520,"rrc":-0.082}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":312.6,"seqnum":0,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":15.940,"rrc":-0.222},{"ident":2,"udre":0,"iod":73,"prc":-1.480,"rrc":0.040},{"ident":13,"udre":0,"iod":3,"prc":-19.320,"rrc":0.148}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":313.8,"seqnum":1,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-61.800,"rrc":0.210},{"ident":11,"udre":1,"iod":2,"prc":-18.880,"rrc":0.384}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":315.0,"seqnum":2,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-40.580,"rrc":-0.026},{"ident":26,"udre":0,"iod":128,"prc":18.960,"rrc":0.044},{"ident":7,"udre":0,"iod":15,"prc":24.180,"rrc":-0.094}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":315.6,"seqnum":3,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":15.200,"rrc":-0.226},{"ident":2,"udre":0,"iod":73,"prc":-1.460,"rrc":0.038},{"ident":13,"udre":0,"iod":3,"prc":-18.940,"rrc":0.164}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":316.8,"seqnum":4,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-61.280,"rrc":0.214},{"ident":11,"udre":1,"iod":2,"prc":-17.920,"rrc":0.384}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":318.0,"seqnum":5,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-40.680,"rrc":-0.024},{"ident":7,"udre":0,"iod":15,"prc":23.920,"rrc":-0.094},{"ident":26,"udre":0,"iod":128,"prc":19.080,"rrc":0.032}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":318.6,"seqnum":6,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":14.540,"rrc":-0.232},{"ident":2,"udre":0,"iod":73,"prc":-1.340,"rrc":0.038},{"ident":13,"udre":0,"iod":3,"prc":-18.360,"rrc":0.174}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":319.8,"seqnum":7,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-60.520,"rrc":0.236},{"ident":11,"udre":1,"iod":2,"prc":-16.640,"rrc":0.384}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":321.0,"seqnum":0,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-40.680,"rrc":-0.014},{"ident":7,"udre":0,"iod":15,"prc":23.720,"rrc":-0.098},{"ident":26,"udre":0,"iod":128,"prc":19.220,"rrc":0.008}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":321.6,"seqnum":1,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":13.900,"rrc":-0.238},{"ident":2,"udre":0,"iod":73,"prc":-1.140,"rrc":0.030},{"ident":13,"udre":0,"iod":3,"prc":-17.760,"rrc":0.194}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":322.8,"seqnum":2,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-59.660,"rrc":0.242},{"ident":11,"udre":1,"iod":2,"prc":-15.360,"rrc":0.384}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":324.0,"seqnum":3,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-40.600,"rrc":-0.006},{"ident":7,"udre":0,"iod":15,"prc":23.460,"rrc":-0.094},{"ident":26,"udre":0,"iod":128,"prc":19.300,"rrc":0.000}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":324.6,"seqnum":4,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":13.160,"rrc":-0.242},{"ident":2,"udre":0,"iod":73,"prc":-1.080,"rrc":0.036},{"ident":13,"udre":0,"iod":3,"prc":-17.180,"rrc":0.204}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":325.8,"seqnum":5,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-58.880,"rrc":0.256},{"ident":11,"udre":1,"iod":2,"prc":-14.400,"rrc":0.352}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":327.0,"seqnum":6,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-40.740,"rrc":0.006},{"ident":7,"udre":0,"iod":15,"prc":23.060,"rrc":-0.108},{"ident":26,"udre":0,"iod":128,"prc":19.120,"rrc":-0.012}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":327.6,"seqnum":7,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":12.360,"rrc":-0.242},{"ident":2,"udre":0,"iod":73,"prc":-1.060,"rrc":0.024},{"ident":13,"udre":0,"iod":3,"prc":-16.620,"rrc":0.232}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":328.8,"seqnum":0,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-57.920,"rrc":0.256},{"ident":11,"udre":1,"iod":2,"prc":-13.440,"rrc":0.352}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":330.0,"seqnum":1,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-40.740,"rrc":0.018},{"ident":7,"udre":0,"iod":15,"prc":22.720,"rrc":-0.110},{"ident":26,"udre":0,"iod":128,"prc":19.040,"rrc":-0.022}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":330.6,"seqnum":2,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":11.580,"rrc":-0.246},{"ident":2,"udre":0,"iod":73,"prc":-1.020,"rrc":0.028},{"ident":13,"udre":0,"iod":3,"prc":-15.880,"rrc":0.242}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":331.8,"seqnum":3,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-57.280,"rrc":0.288},{"ident":11,"udre":1,"iod":2,"prc":-12.160,"rrc":0.352}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":333.0,"seqnum":4,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-40.640,"rrc":0.026},{"ident":7,"udre":0,"iod":15,"prc":22.320,"rrc":-0.126},{"ident":26,"udre":0,"iod":128,"prc":18.900,"rrc":-0.034}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":333.6,"seqnum":5,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":10.860,"rrc":-0.246},{"ident":2,"udre":0,"iod":73,"prc":-0.940,"rrc":0.024},{"ident":13,"udre":0,"iod":3,"prc":-14.720,"rrc":0.256}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":334.8,"seqnum":6,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-56.320,"rrc":0.288},{"ident":11,"udre":1,"iod":2,"prc":-11.200,"rrc":0.352}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":336.0,"seqnum":7,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-40.520,"rrc":0.036},{"ident":7,"udre":0,"iod":15,"prc":21.960,"rrc":-0.142},{"ident":26,"udre":0,"iod":128,"prc":18.800,"rrc":-0.048}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":336.6,"seqnum":0,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":10.140,"rrc":-0.238},{"ident":2,"udre":0,"iod":73,"prc":-0.840,"rrc":0.032},{"ident":13,"udre":0,"iod":3,"prc":-14.080,"rrc":0.256}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":337.8,"seqnum":1,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-55.680,"rrc":0.288},{"ident":11,"udre":1,"iod":2,"prc":-9.920,"rrc":0.352}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":339.0,"seqnum":2,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-40.420,"rrc":0.048},{"ident":7,"udre":0,"iod":15,"prc":21.540,"rrc":-0.160},{"ident":26,"udre":0,"iod":128,"prc":18.700,"rrc":-0.052}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":339.6,"seqnum":3,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":9.380,"rrc":-0.244},{"ident":2,"udre":0,"iod":73,"prc":-0.720,"rrc":0.032},{"ident":13,"udre":0,"iod":3,"prc":-13.120,"rrc":0.288}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":340.8,"seqnum":4,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-54.720,"rrc":0.288},{"ident":11,"udre":1,"iod":2,"prc":-8.960,"rrc":0.352}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":342.0,"seqnum":5,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-40.300,"rrc":0.058},{"ident":7,"udre":0,"iod":15,"prc":21.060,"rrc":-0.176},{"ident":26,"udre":0,"iod":128,"prc":18.540,"rrc":-0.040}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":342.6,"seqnum":6,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":8.640,"rrc":-0.242},{"ident":2,"udre":0,"iod":73,"prc":-0.680,"rrc":0.032},{"ident":13,"udre":0,"iod":3,"prc":-12.480,"rrc":0.288}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":343.8,"seqnum":7,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-54.080,"rrc":0.288},{"ident":11,"udre":1,"iod":2,"prc":-8.000,"rrc":0.352}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":345.0,"seqnum":0,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-40.100,"rrc":0.070},{"ident":7,"udre":0,"iod":15,"prc":20.480,"rrc":-0.190},{"ident":26,"udre":0,"iod":128,"prc":18.360,"rrc":-0.042}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":345.6,"seqnum":1,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":7.880,"rrc":-0.240},{"ident":2,"udre":0,"iod":73,"prc":-0.620,"rrc":0.026},{"ident":13,"udre":0,"iod":3,"prc":-11.840,"rrc":0.288}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":346.8,"seqnum":2,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-53.120,"rrc":0.320},{"ident":11,"udre":1,"iod":2,"prc":-6.720,"rrc":0.352}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":348.0,"seqnum":3,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-39.960,"rrc":0.080},{"ident":7,"udre":0,"iod":15,"prc":19.820,"rrc":-0.194},{"ident":26,"udre":0,"iod":128,"prc":18.240,"rrc":-0.038}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":348.6,"seqnum":4,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":7.040,"rrc":-0.234},{"ident":2,"udre":0,"iod":73,"prc":-0.680,"rrc":0.018},{"ident":13,"udre":0,"iod":3,"prc":-10.880,"rrc":0.288}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":349.8,"seqnum":5,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-52.160,"rrc":0.320},{"ident":11,"udre":1,"iod":2,"prc":-6.080,"rrc":0.320}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":351.0,"seqnum":6,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-39.820,"rrc":0.094},{"ident":7,"udre":0,"iod":15,"prc":19.140,"rrc":-0.196},{"ident":26,"udre":0,"iod":128,"prc":17.980,"rrc":-0.048}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":351.6,"seqnum":7,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":6.320,"rrc":-0.238},{"ident":2,"udre":0,"iod":73,"prc":-0.700,"rrc":0.014},{"ident":13,"udre":0,"iod":3,"prc":-10.240,"rrc":0.288}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":352.8,"seqnum":0,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-51.520,"rrc":0.320},{"ident":11,"udre":1,"iod":2,"prc":-4.800,"rrc":0.320}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":354.0,"seqnum":1,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-39.460,"rrc":0.102},{"ident":7,"udre":0,"iod":15,"prc":18.500,"rrc":-0.210},{"ident":26,"udre":0,"iod":128,"prc":17.800,"rrc":-0.052}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":354.6,"seqnum":2,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":5.620,"rrc":-0.230},{"ident":2,"udre":0,"iod":73,"prc":-0.640,"rrc":0.006},{"ident":13,"udre":0,"iod":3,"prc":-9.280,"rrc":0.288}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":355.8,"seqnum":3,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-50.240,"rrc":0.320},{"ident":11,"udre":1,"iod":2,"prc":-3.840,"rrc":0.320}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":357.0,"seqnum":4,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-39.100,"rrc":0.110},{"ident":7,"udre":0,"iod":15,"prc":17.940,"rrc":-0.214},{"ident":26,"udre":0,"iod":128,"prc":17.700,"rrc":-0.062}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":357.6,"seqnum":5,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":4.980,"rrc":-0.216},{"ident":2,"udre":0,"iod":73,"prc":-0.620,"rrc":0.004},{"ident":13,"udre":0,"iod":3,"prc":-8.320,"rrc":0.288}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":358.8,"seqnum":6,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-49.280,"rrc":0.352},{"ident":11,"udre":1,"iod":2,"prc":-2.880,"rrc":0.320}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":360.0,"seqnum":7,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-38.760,"rrc":0.118},{"ident":7,"udre":0,"iod":15,"prc":17.280,"rrc":-0.224},{"ident":26,"udre":0,"iod":128,"prc":17.460,"rrc":-0.074}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":360.6,"seqnum":0,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":4.320,"rrc":-0.210},{"ident":2,"udre":0,"iod":73,"prc":-0.640,"rrc":0.000},{"ident":13,"udre":0,"iod":3,"prc":-7.360,"rrc":0.288}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":361.8,"seqnum":1,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-48.320,"rrc":0.352},{"ident":11,"udre":1,"iod":2,"prc":-1.920,"rrc":0.320}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":363.0,"seqnum":2,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-38.400,"rrc":0.118},{"ident":7,"udre":0,"iod":15,"prc":16.620,"rrc":-0.216},{"ident":26,"udre":0,"iod":128,"prc":17.300,"rrc":-0.082}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":363.6,"seqnum":3,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":3.680,"rrc":-0.210},{"ident":2,"udre":0,"iod":73,"prc":-0.560,"rrc":-0.002},{"ident":13,"udre":0,"iod":3,"prc":-6.400,"rrc":0.288}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":364.8,"seqnum":4,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-47.360,"rrc":0.352},{"ident":11,"udre":1,"iod":2,"prc":-0.960,"rrc":0.320}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":366.0,"seqnum":5,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-38.040,"rrc":0.122},{"ident":7,"udre":0,"iod":15,"prc":16.000,"rrc":-0.220},{"ident":26,"udre":0,"iod":128,"prc":17.020,"rrc":-0.096}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":366.6,"seqnum":6,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":3.120,"rrc":-0.196},{"ident":2,"udre":0,"iod":73,"prc":-0.560,"rrc":0.000},{"ident":13,"udre":0,"iod":3,"prc":-5.760,"rrc":0.288}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":367.8,"seqnum":7,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-46.080,"rrc":0.384},{"ident":11,"udre":1,"iod":2,"prc":0.000,"rrc":0.320}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":369.0,"seqnum":0,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-37.680,"rrc":0.118},{"ident":7,"udre":0,"iod":15,"prc":15.260,"rrc":-0.226},{"ident":26,"udre":0,"iod":128,"prc":16.720,"rrc":-0.102}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":369.6,"seqnum":1,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":2.480,"rrc":-0.180},{"ident":2,"udre":0,"iod":73,"prc":-0.640,"rrc":0.000},{"ident":13,"udre":0,"iod":3,"prc":-4.800,"rrc":0.288}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":370.8,"seqnum":2,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-45.120,"rrc":0.384},{"ident":11,"udre":1,"iod":2,"prc":0.640,"rrc":0.288}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":372.0,"seqnum":3,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-37.260,"rrc":0.128},{"ident":7,"udre":0,"iod":15,"prc":14.540,"rrc":-0.234},{"ident":26,"udre":0,"iod":128,"prc":16.440,"rrc":-0.100}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":372.6,"seqnum":4,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":1.900,"rrc":-0.176},{"ident":2,"udre":0,"iod":73,"prc":-0.720,"rrc":0.002},{"ident":13,"udre":0,"iod":3,"prc":-4.160,"rrc":0.288}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":373.8,"seqnum":5,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-43.840,"rrc":0.384},{"ident":11,"udre":1,"iod":2,"prc":1.600,"rrc":0.288}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":375.0,"seqnum":6,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-36.980,"rrc":0.138},{"ident":7,"udre":0,"iod":15,"prc":13.720,"rrc":-0.252},{"ident":26,"udre":0,"iod":128,"prc":15.940,"rrc":-0.118}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":375.6,"seqnum":7,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":1.340,"rrc":-0.162},{"ident":2,"udre":0,"iod":73,"prc":-0.760,"rrc":0.010},{"ident":13,"udre":0,"iod":3,"prc":-3.200,"rrc":0.288}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":376.8,"seqnum":0,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-42.880,"rrc":0.384},{"ident":11,"udre":1,"iod":2,"prc":2.240,"rrc":0.288}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":378.0,"seqnum":1,"length":5,"station_health":0,"satellites":[{"ident":27,"udre":0,"iod":62,"prc":-36.680,"rrc":0.134},{"ident":7,"udre":0,"iod":15,"prc":12.800,"rrc":-0.224},{"ident":26,"udre":0,"iod":128,"prc":15.540,"rrc":-0.128}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":378.6,"seqnum":2,"length":5,"station_health":0,"satellites":[{"ident":8,"udre":0,"iod":22,"prc":0.840,"rrc":-0.150},{"ident":2,"udre":0,"iod":73,"prc":-0.740,"rrc":0.014},{"ident":13,"udre":0,"iod":3,"prc":-2.560,"rrc":0.256}]} {"class":"RTCM2","device":"stdin","type":9,"station_id":268,"zcount":379.8,"seqnum":3,"length":4,"station_health":0,"satellites":[{"ident":19,"udre":0,"iod":186,"prc":-41.600,"rrc":0.384},{"ident":11,"udre":1,"iod":2,"prc":3.200,"rrc":0.288}]} gpsd-3.9/test/synthetic-ais.json0000664000175000017500000002363711763561545015156 0ustar esresr# Synthetic test load designed to exercise the AIS JSON parser # These are JSON dumps of the packets in the Schwehr testload, # via gpsdecode -j -u #include #include #include #include #include #include "bits.h" /*@ -duplicatequals -formattype */ static unsigned char buf[80]; static signed char sb1, sb2; static unsigned char ub1, ub2; static short sw1, sw2; static unsigned short uw1, uw2; static int sl1, sl2; static unsigned int ul1, ul2; static long long sL1, sL2; static uint64_t uL1, uL2; static float f1; static double d1; static char /*@ observer @*/ *hexdump(const void *binbuf, size_t len) { static char hexbuf[BUFSIZ]; size_t i, j = 0; const char *ibuf = (const char *)binbuf; const char *hexchar = "0123456789abcdef"; /*@ -shiftimplementation @*/ for (i = 0; i < len; i++) { hexbuf[j++] = hexchar[(ibuf[i] & 0xf0) >> 4]; hexbuf[j++] = hexchar[ibuf[i] & 0x0f]; } /*@ +shiftimplementation @*/ hexbuf[j] = '\0'; return hexbuf; } static void bedumpall(void) { (void)printf("getsb: %016" PRIx64 " %016" PRIx64 " %016" PRIx64 " %016" PRIx64 "\n", (uint64_t) sb1, (uint64_t) sb2, (uint64_t) getsb(buf, 0), (uint64_t) getsb(buf, 8)); (void)printf("getub: %016" PRIx64 " %016" PRIx64 " %016" PRIx64 " %016" PRIx64 "\n", (uint64_t) ub1, (uint64_t) ub2, (uint64_t) getub(buf, 0), (uint64_t) getub(buf, 8)); (void)printf("getbes16: %016" PRIx64 " %016" PRIx64 " %016" PRIx64 " %016" PRIx64 "\n", (uint64_t) sw1, (uint64_t) sw2, (uint64_t) getbes16(buf, 0), (uint64_t) getbes16(buf, 8)); (void)printf("getbeu16: %016" PRIx64 " %016" PRIx64 " %016" PRIx64 " %016" PRIx64 "\n", (uint64_t) uw1, (uint64_t) uw2, (uint64_t) getbeu16(buf, 0), (uint64_t) getbeu16(buf, 8)); (void)printf("getbes32: %016" PRIx64 " %016" PRIx64 " %016" PRIx64 " %016" PRIx64 "\n", (uint64_t) sl1, (uint64_t) sl2, (uint64_t) getbes32(buf, 0), (uint64_t) getbes32(buf, 8)); (void)printf("getbeu32: %016" PRIx64 " %016" PRIx64 " %016" PRIx64 " %016" PRIx64 "\n", (uint64_t) ul1, (uint64_t) ul2, (uint64_t) getbeu32(buf, 0), (uint64_t) getbeu32(buf, 8)); (void)printf("getbes64: %016" PRIx64 " %016" PRIx64 " %016" PRIx64 " %016" PRIx64 "\n", (uint64_t) sL1, (uint64_t) sL2, (uint64_t) getbes64(buf, 0), (uint64_t) getbes64(buf, 8)); (void)printf("getbeu64: %016" PRIx64 " %016" PRIx64 " %016" PRIx64 " %016" PRIx64 "\n", (uint64_t) uL1, (uint64_t) uL2, (uint64_t) getbeu64(buf, 0), (uint64_t) getbeu64(buf, 8)); (void)printf("getbef32: %f %f\n", f1, getbef32((const char *)buf, 24)); (void)printf("getbed64: %.16f %.16f\n", d1, getbed64((const char *)buf, 16)); } static void ledumpall(void) { (void)printf("getsb: %016" PRIx64 " %016" PRIx64 " %016" PRIx64 " %016" PRIx64 "\n", (uint64_t) sb1, (uint64_t) sb2, (uint64_t) getsb(buf, 0), (uint64_t) getsb(buf, 8)); (void)printf("getub: %016" PRIx64 " %016" PRIx64 " %016" PRIx64 " %016" PRIx64 "\n", (uint64_t) ub1, (uint64_t) ub2, (uint64_t) getub(buf, 0), (uint64_t) getub(buf, 8)); (void)printf("getles16: %016" PRIx64 " %016" PRIx64 " %016" PRIx64 " %016" PRIx64 "\n", (uint64_t) sw1, (uint64_t) sw2, (uint64_t) getles16(buf, 0), (uint64_t) getles16(buf, 8)); (void)printf("getleu16: %016" PRIx64 " %016" PRIx64 " %016" PRIx64 " %016" PRIx64 "\n", (uint64_t) uw1, (uint64_t) uw2, (uint64_t) getleu16(buf, 0), (uint64_t) getleu16(buf, 8)); (void)printf("getles32: %016" PRIx64 " %016" PRIx64 " %016" PRIx64 " %016" PRIx64 "\n", (uint64_t) sl1, (uint64_t) sl2, (uint64_t) getles32(buf, 0), (uint64_t) getles32(buf, 8)); (void)printf("getleu32: %016" PRIx64 " %016" PRIx64 " %016" PRIx64 " %016" PRIx64 "\n", (uint64_t) ul1, (uint64_t) ul2, (uint64_t) getleu32(buf, 0), (uint64_t) getleu32(buf, 8)); (void)printf("getles64: %016" PRIx64 " %016" PRIx64 " %016" PRIx64 " %016" PRIx64 "\n", (uint64_t) sL1, (uint64_t) sL2, (uint64_t) getles64(buf, 0), (uint64_t) getles64(buf, 8)); (void)printf("getleu64: %016" PRIx64 " %016" PRIx64 " %016" PRIx64 " %016" PRIx64 "\n", (uint64_t) uL1, (uint64_t) uL2, (uint64_t) getleu64(buf, 0), (uint64_t) getleu64(buf, 8)); (void)printf("getlef32: %f %f\n", f1, getlef32((const char *)buf, 24)); (void)printf("getled64: %.16f %.16f\n", d1, getled64((const char *)buf, 16)); } struct unsigned_test { unsigned char *buf; unsigned int start, width; uint64_t expected; bool le; char *description; }; /*@ -duplicatequals +ignorequals @*/ int main(int argc, char *argv[]) { bool failures = false; bool quiet = (argc > 1) && (strcmp(argv[1], "--quiet") == 0); /*@ -observertrans -usereleased @*/ struct unsigned_test *up, unsigned_tests[] = { /* tests using the big buffer */ {buf, 0, 1, 0, false, "first bit of first byte"}, {buf, 0, 8, 0x01, false, "first 8 bits"}, {buf, 32, 7, 0x02, false, "first seven bits of fifth byte (0x05)"}, {buf, 56, 12, 0x8f, false, "12 bits crossing 7th to 8th bytes (0x08ff)"}, {buf, 78, 4, 0xb, false, "4 bits crossing 8th to 9th byte (0xfefd)"}, {buf, 0, 1, 0, true, "first bit of first byte"}, {buf, 0, 8, 0x80, true, "first 8 bits"}, {buf, 32, 7, 0x20, true, "first seven bits of fifth byte (0x05)"}, {buf, 56, 12, 0xf10,true, "12 bits crossing 7th to 8th bytes (0x08ff)"}, {buf, 78, 4, 0xd, true, "4 bits crossing 8th to 9th byte (0xfefd)"}, /* sporadic tests based on found bugs */ {(unsigned char *)"\x19\x23\f6", 7, 2, 2, false, "2 bits crossing 1st to 2nd byte (0x1923)"}, }; unsigned char *sp; memcpy(buf, "\x01\x02\x03\x04\x05\x06\x07\x08", 8); memcpy(buf + 8, "\xff\xfe\xfd\xfc\xfb\xfa\xf9\xf8", 8); memcpy(buf + 16, "\x40\x09\x21\xfb\x54\x44\x2d\x18", 8); memcpy(buf + 24, "\x40\x49\x0f\xdb", 4); /*@ +observertrans +usereleased @*/ /*@-type@*/ sb1 = getsb(buf, 0); sb2 = getsb(buf, 8); ub1 = getub(buf, 0); ub2 = getub(buf, 8); sw1 = getbes16(buf, 0); sw2 = getbes16(buf, 8); uw1 = getbeu16(buf, 0); uw2 = getbeu16(buf, 8); sl1 = getbes32(buf, 0); sl2 = getbes32(buf, 8); ul1 = getbeu32(buf, 0); ul2 = getbeu32(buf, 8); sL1 = getbes64(buf, 0); sL2 = getbes64(buf, 8); uL1 = getbeu64(buf, 0); uL2 = getbeu64(buf, 8); f1 = getbef32((const char *)buf, 24); d1 = getbed64((const char *)buf, 16); sb1 = getsb(buf, 0); sb2 = getsb(buf, 8); ub1 = getub(buf, 0); ub2 = getub(buf, 8); sw1 = getles16(buf, 0); sw2 = getles16(buf, 8); uw1 = getleu16(buf, 0); uw2 = getleu16(buf, 8); sl1 = getles32(buf, 0); sl2 = getles32(buf, 8); ul1 = getleu32(buf, 0); ul2 = getleu32(buf, 8); sL1 = getles64(buf, 0); sL2 = getles64(buf, 8); uL1 = getleu64(buf, 0); uL2 = getleu64(buf, 8); f1 = getlef32((const char *)buf, 24); d1 = getled64((const char *)buf, 16); /*@+type@*/ if (!quiet) { (void)fputs("Test data:", stdout); for (sp = buf; sp < buf + 28; sp++) (void)printf(" %02x", *sp); (void)putc('\n', stdout); /* big-endian test */ printf("Big-endian:\n"); bedumpall(); /* little-endian test */ printf("Little-endian:\n"); ledumpall(); } if (sb1 != 1) printf("getsb(buf, 0) FAILED\n"); if (sb2 != -1) printf("getsb(buf, 8) FAILED\n"); if (ub1 != 1) printf("getub(buf, 0) FAILED\n"); if (ub2 != 0xff) printf("getub(buf, 8) FAILED\n"); (void)printf("Testing bitfield extraction\n"); for (up = unsigned_tests; up < unsigned_tests + sizeof(unsigned_tests) / sizeof(unsigned_tests[0]); up++) { uint64_t res = ubits((unsigned char *)buf, up->start, up->width, up->le); bool success = (res == up->expected); if (!success) failures = true; if (!success || !quiet) (void)printf("ubits(%s, %d, %d, %s) %s should be %" PRIx64 ", is %" PRIx64 ": %s\n", hexdump(buf, strlen((char *)buf)), up->start, up->width, up->le ? "true" : "false", up->description, up->expected, res, success ? "succeeded" : "FAILED"); } exit(failures ? EXIT_FAILURE : EXIT_SUCCESS); } gpsd-3.9/test_float.c0000664000175000017500000001134611757250541013014 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include /* * Copyright (c) 2006 Chris Kuethe * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* * this simple program tests to see whether your system can do proper * single and double precision floating point. This is apparently Very * Hard To Do(tm) on embedded systems, judging by the number of broken * ARM toolchains I've seen... :( * * compile with: gcc -O -o test_float test_float.c * (use whatever -O level you like) */ int main(void); int test_single(void); int test_double(void); int main(void) { int i, j; if ((i = test_single())) printf("WARNING: Single-precision " "floating point math might be broken\n"); if ((j = test_double())) printf("WARNING: Double-precision " "floating point math might be broken\n"); i += j; if (i == 0) printf("floating point math appears to work\n"); return i; } int test_single(void) { static float f; static int i; static int e = 0; /* addition test */ f = 1.0; for(i = 0; i < 10; i++) f += (1< #include #include "gpsd.h" void gpsd_report(int errlevel UNUSED, const char *fmt UNUSED, ...) { /* stub required to prevent linkage error */ } int main(int argc, char **argv) { double lat, lon; if (argc != 3) { fprintf(stderr, "Usage: %s lat lon\n", argv[0]); return 1; } lat = safe_atof(argv[1]); lon = safe_atof(argv[2]); if (lat > 90. || lat < -90.) { fprintf(stderr, " -90 <= lat=%s(%.f) <= 90 ?\n", argv[1], lat); return 1; } if (lon > 180. || lat < -180.) { fprintf(stderr, " -180 <= lon=%s(%.f) <= 180 ?\n", argv[2], lon); return 1; } printf(" lat= %f lon= %f geoid correction= %f\n", lat, lon, wgs84_separation(lat, lon)); return 0; } gpsd-3.9/test_gpsmm.cpp0000664000175000017500000001022112022345475013356 0ustar esresr/* * Copyright (C) 2010 Eric S. Raymond. * * This software is distributed under a BSD-style license. See the * file "COPYING" in the top-level directory of the distribution for details. * */ /* This simple program shows the basic functionality of the C++ wrapper class */ #include #include "libgpsmm.h" using namespace std; /* * We should get libgps_dump_state() from the client library, but * scons has a bug; we can't get it to add -lgps to the link line, * apparently because it doesn't honor parse_flags on a Program() * build of a C++ file. */ static void libgps_dump_state(struct gps_data_t *collect) { /* no need to dump the entire state, this is a sanity check */ #ifndef USE_QT /* will fail on a 32-bit macine */ (void)fprintf(stdout, "flags: (0x%04x) %s\n", (unsigned int)collect->set, gps_maskdump(collect->set)); #endif if (collect->set & ONLINE_SET) (void)fprintf(stdout, "ONLINE: %lf\n", collect->online); if (collect->set & TIME_SET) (void)fprintf(stdout, "TIME: %lf\n", collect->fix.time); if (collect->set & LATLON_SET) (void)fprintf(stdout, "LATLON: lat/lon: %lf %lf\n", collect->fix.latitude, collect->fix.longitude); if (collect->set & ALTITUDE_SET) (void)fprintf(stdout, "ALTITUDE: altitude: %lf U: climb: %lf\n", collect->fix.altitude, collect->fix.climb); if (collect->set & SPEED_SET) (void)fprintf(stdout, "SPEED: %lf\n", collect->fix.speed); if (collect->set & TRACK_SET) (void)fprintf(stdout, "TRACK: track: %lf\n", collect->fix.track); if (collect->set & CLIMB_SET) (void)fprintf(stdout, "CLIMB: climb: %lf\n", collect->fix.climb); if (collect->set & STATUS_SET) (void)fprintf(stdout, "STATUS: status: %d\n", collect->status); if (collect->set & MODE_SET) (void)fprintf(stdout, "MODE: mode: %d\n", collect->fix.mode); if (collect->set & DOP_SET) (void)fprintf(stdout, "DOP: satellites %d, pdop=%lf, hdop=%lf, vdop=%lf\n", collect->satellites_used, collect->dop.pdop, collect->dop.hdop, collect->dop.vdop); if (collect->set & VERSION_SET) (void)fprintf(stdout, "VERSION: release=%s rev=%s proto=%d.%d\n", collect->version.release, collect->version.rev, collect->version.proto_major, collect->version.proto_minor); if (collect->set & POLICY_SET) (void)fprintf(stdout, "POLICY: watcher=%s nmea=%s raw=%d scaled=%s timing=%s, devpath=%s\n", collect->policy.watcher ? "true" : "false", collect->policy.nmea ? "true" : "false", collect->policy.raw, collect->policy.scaled ? "true" : "false", collect->policy.timing ? "true" : "false", collect->policy.devpath); if (collect->set & SATELLITE_SET) { int i; (void)fprintf(stdout, "SKY: satellites in view: %d\n", collect->satellites_visible); for (i = 0; i < collect->satellites_visible; i++) { (void)fprintf(stdout, " %2.2d: %2.2d %3.3d %3.0f %c\n", collect->PRN[i], collect->elevation[i], collect->azimuth[i], collect->ss[i], collect->used[i] ? 'Y' : 'N'); } } if (collect->set & DEVICE_SET) (void)fprintf(stdout, "DEVICE: Device is '%s', driver is '%s'\n", collect->dev.path, collect->dev.driver); #ifdef OLDSTYLE_ENABLE if (collect->set & DEVICEID_SET) (void)fprintf(stdout, "GPSD ID is %s\n", collect->dev.subtype); #endif /* OLDSTYLE_ENABLE */ if (collect->set & DEVICELIST_SET) { int i; (void)fprintf(stdout, "DEVICELIST:%d devices:\n", collect->devices.ndevices); for (i = 0; i < collect->devices.ndevices; i++) { (void)fprintf(stdout, "%d: path='%s' driver='%s'\n", collect->devices.ndevices, collect->devices.list[i].path, collect->devices.list[i].driver); } } } int main(void) { gpsmm gps_rec("localhost", DEFAULT_GPSD_PORT); if (gps_rec.stream(WATCH_ENABLE|WATCH_JSON) == NULL) { cerr << "No GPSD running.\n"; return 1; } for (;;) { struct gps_data_t* newdata; if (!gps_rec.waiting(5000000)) continue; if ((newdata = gps_rec.read()) == NULL) { cerr << "Read error.\n"; return 1; } else { libgps_dump_state(newdata); } } cout << "Exiting\n"; return 0; } gpsd-3.9/test_json.c0000664000175000017500000002474112022342270012646 0ustar esresr/* json.c - unit test for JSON partsing into fixed-extent structures * * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include #include "gpsd.h" #include "gps_json.h" static void assert_case(int num, int status) { if (status != 0) { (void)fprintf(stderr, "case %d FAILED, status %d (%s).\n", num, status, json_error_string(status)); exit(EXIT_FAILURE); } } static void assert_string(char *attr, char *fld, char *val) { if (strcmp(fld, val)) { (void)fprintf(stderr, "'%s' string attribute eval failed, value = %s.\n", attr, fld); exit(EXIT_FAILURE); } } static void assert_integer(char *attr, int fld, int val) { if (fld != val) { (void)fprintf(stderr, "'%s' integer attribute eval failed, value = %d.\n", attr, fld); exit(EXIT_FAILURE); } } static void assert_uinteger(char *attr, uint fld, uint val) { if (fld != val) { (void)fprintf(stderr, "'%s' integer attribute eval failed, value = %u.\n", attr, fld); exit(EXIT_FAILURE); } } static void assert_boolean(char *attr, bool fld, bool val) { /*@-boolcompare@*/ if (fld != val) { (void)fprintf(stderr, "'%s' boolean attribute eval failed, value = %s.\n", attr, fld ? "true" : "false"); exit(EXIT_FAILURE); } /*@+boolcompare@*/ } /* * Floating point comparisons are iffy, but at least if any of these fail * the output will make it clear whether it was a precision issue */ static void assert_real(char *attr, double fld, double val) { if (fld != val) { (void)fprintf(stderr, "'%s' real attribute eval failed, value = %f.\n", attr, fld); exit(EXIT_FAILURE); } } /*@ -fullinitblock @*/ static struct gps_data_t gpsdata; /* Case 1: TPV report */ /* *INDENT-OFF* */ static const char json_str1[] = "{\"class\":\"TPV\",\ \"device\":\"GPS#1\",\"tag\":\"MID2\", \ \"time\":\"2005-06-19T08:12:41.89Z\",\"lon\":46.498203637,\"lat\":7.568074350,\ \"alt\":1327.780,\"epx\":21.000,\"epy\":23.000,\"epv\":124.484,\"mode\":3}"; /* Case 2: SKY report */ static const char *json_str2 = "{\"class\":\"SKY\",\ \"tag\":\"MID4\",\"time\":\"2005-06-19T12:12:42.03Z\", \ \"satellites\":[\ {\"PRN\":10,\"el\":45,\"az\":196,\"ss\":34,\"used\":true},\ {\"PRN\":29,\"el\":67,\"az\":310,\"ss\":40,\"used\":true},\ {\"PRN\":28,\"el\":59,\"az\":108,\"ss\":42,\"used\":true},\ {\"PRN\":26,\"el\":51,\"az\":304,\"ss\":43,\"used\":true},\ {\"PRN\":8,\"el\":44,\"az\":58,\"ss\":41,\"used\":true},\ {\"PRN\":27,\"el\":16,\"az\":66,\"ss\":39,\"used\":true},\ {\"PRN\":21,\"el\":10,\"az\":301,\"ss\":0,\"used\":false}]}"; /* Case 3: String list syntax */ static const char *json_str3 = "[\"foo\",\"bar\",\"baz\"]"; static char *stringptrs[3]; static char stringstore[256]; static int stringcount; /*@-type@*/ static const struct json_array_t json_array_3 = { .element_type = t_string, .arr.strings.ptrs = stringptrs, .arr.strings.store = stringstore, .arr.strings.storelen = sizeof(stringstore), .count = &stringcount, .maxlen = sizeof(stringptrs)/sizeof(stringptrs[0]), }; /*@+type@*/ /* Case 4: test defaulting of unspecified attributes */ static const char *json_str4 = "{\"flag1\":true,\"flag2\":false}"; static bool flag1, flag2; static double dftreal; static int dftinteger; static unsigned int dftuinteger; static const struct json_attr_t json_attrs_4[] = { {"dftint", t_integer, .addr.integer = &dftinteger, .dflt.integer = -5}, {"dftuint", t_integer, .addr.uinteger = &dftuinteger, .dflt.uinteger = 10}, {"dftreal", t_real, .addr.real = &dftreal, .dflt.real = 23.17}, {"flag1", t_boolean, .addr.boolean = &flag1,}, {"flag2", t_boolean, .addr.boolean = &flag2,}, {NULL}, }; /* Case 5: test DEVICE parsing */ static const char *json_str5 = "{\"class\":\"DEVICE\",\ \"path\":\"/dev/ttyUSB0\",\ \"flags\":5,\ \"driver\":\"Foonly\",\"subtype\":\"Foonly Frob\"\ }"; /* Case 6: test parsing of subobject list into array of structures */ static const char *json_str6 = "{\"parts\":[\ {\"name\":\"Urgle\", \"flag\":true, \"count\":3},\ {\"name\":\"Burgle\",\"flag\":false,\"count\":1},\ {\"name\":\"Witter\",\"flag\":true, \"count\":4},\ {\"name\":\"Thud\", \"flag\":false,\"count\":1}]}"; struct dumbstruct_t { char name[64]; bool flag; int count; }; static struct dumbstruct_t dumbstruck[5]; static int dumbcount; /*@-type@*/ static const struct json_attr_t json_attrs_6_subtype[] = { {"name", t_string, .addr.offset = offsetof(struct dumbstruct_t, name), .len = 64}, {"flag", t_boolean, .addr.offset = offsetof(struct dumbstruct_t, flag),}, {"count", t_integer, .addr.offset = offsetof(struct dumbstruct_t, count),}, {NULL}, }; static const struct json_attr_t json_attrs_6[] = { {"parts", t_array, .addr.array.element_type = t_structobject, .addr.array.arr.objects.base = (char*)&dumbstruck, .addr.array.arr.objects.stride = sizeof(struct dumbstruct_t), .addr.array.arr.objects.subtype = json_attrs_6_subtype, .addr.array.count = &dumbcount, .addr.array.maxlen = sizeof(dumbstruck)/sizeof(dumbstruck[0])}, {NULL}, }; /*@+type@*/ /* Case 7: test parsing of version response */ static const char *json_str7 = "{\"class\":\"VERSION\",\ \"release\":\"2.40dev\",\"rev\":\"dummy-revision\",\ \"proto_major\":3,\"proto_minor\":1}"; /* Case 8: test parsing arrays of enumerated types */ static const char *json_str8 = "{\"fee\":\"FOO\",\"fie\":\"BAR\",\"foe\":\"BAZ\"}"; static const struct json_enum_t enum_table[] = { {"BAR", 6}, {"FOO", 3}, {"BAZ", 14}, {NULL} }; static int fee, fie, foe; static const struct json_attr_t json_attrs_8[] = { {"fee", t_integer, .addr.integer = &fee, .map=enum_table}, {"fie", t_integer, .addr.integer = &fie, .map=enum_table}, {"foe", t_integer, .addr.integer = &foe, .map=enum_table}, {NULL}, }; /* Case 9: Like case 6 but w/ an empty array */ static const char *json_str9 = "{\"parts\":[]}"; /*@ +fullinitblock @*/ /* *INDENT-ON* */ int main(int argc UNUSED, char *argv[]UNUSED) { int status = 0; int option; while ((option = getopt(argc, argv, "hD:?")) != -1) { switch (option) { case 'D': gps_enable_debug(atoi(optarg), stdout); break; case '?': case 'h': default: (void)fputs("usage: test_json [-D lvl]\n", stderr); exit(EXIT_FAILURE); } } (void)fprintf(stderr, "JSON unit test "); status = libgps_json_unpack(json_str1, &gpsdata, NULL); assert_case(1, status); assert_string("device", gpsdata.dev.path, "GPS#1"); assert_string("tag", gpsdata.tag, "MID2"); assert_integer("mode", gpsdata.fix.mode, 3); assert_real("time", gpsdata.fix.time, 1119168761.8900001); assert_real("lon", gpsdata.fix.longitude, 46.498203637); assert_real("lat", gpsdata.fix.latitude, 7.568074350); status = libgps_json_unpack(json_str2, &gpsdata, NULL); assert_case(2, status); assert_string("tag", gpsdata.tag, "MID4"); assert_integer("used", gpsdata.satellites_used, 6); assert_integer("PRN[0]", gpsdata.PRN[0], 10); assert_integer("el[0]", gpsdata.elevation[0], 45); assert_integer("az[0]", gpsdata.azimuth[0], 196); assert_real("ss[0]", gpsdata.ss[0], 34); assert_integer("used[0]", gpsdata.used[0], 10); assert_integer("used[5]", gpsdata.used[5], 27); assert_integer("PRN[6]", gpsdata.PRN[6], 21); assert_integer("el[6]", gpsdata.elevation[6], 10); assert_integer("az[6]", gpsdata.azimuth[6], 301); assert_real("ss[6]", gpsdata.ss[6], 0); status = json_read_array(json_str3, &json_array_3, NULL); assert_case(3, status); assert(stringcount == 3); assert(strcmp(stringptrs[0], "foo") == 0); assert(strcmp(stringptrs[1], "bar") == 0); assert(strcmp(stringptrs[2], "baz") == 0); status = json_read_object(json_str4, json_attrs_4, NULL); assert_case(4, status); assert_integer("dftint", dftinteger, -5); /* did the default work? */ assert_uinteger("dftuint", dftuinteger, 10); /* did the default work? */ assert_real("dftreal", dftreal, 23.17); /* did the default work? */ assert_boolean("flag1", flag1, true); assert_boolean("flag2", flag2, false); status = libgps_json_unpack(json_str5, &gpsdata, NULL); assert_case(5, status); assert_string("path", gpsdata.dev.path, "/dev/ttyUSB0"); assert_integer("flags", gpsdata.dev.flags, 5); assert_string("driver", gpsdata.dev.driver, "Foonly"); status = json_read_object(json_str6, json_attrs_6, NULL); assert_case(6, status); assert_integer("dumbcount", dumbcount, 4); assert_string("dumbstruck[0].name", dumbstruck[0].name, "Urgle"); assert_string("dumbstruck[1].name", dumbstruck[1].name, "Burgle"); assert_string("dumbstruck[2].name", dumbstruck[2].name, "Witter"); assert_string("dumbstruck[3].name", dumbstruck[3].name, "Thud"); assert_boolean("dumbstruck[0].flag", dumbstruck[0].flag, true); assert_boolean("dumbstruck[1].flag", dumbstruck[1].flag, false); assert_boolean("dumbstruck[2].flag", dumbstruck[2].flag, true); assert_boolean("dumbstruck[3].flag", dumbstruck[3].flag, false); assert_integer("dumbstruck[0].count", dumbstruck[0].count, 3); assert_integer("dumbstruck[1].count", dumbstruck[1].count, 1); assert_integer("dumbstruck[2].count", dumbstruck[2].count, 4); assert_integer("dumbstruck[3].count", dumbstruck[3].count, 1); status = libgps_json_unpack(json_str7, &gpsdata, NULL); assert_case(7, status); assert_string("release", gpsdata.version.release, "2.40dev"); assert_string("rev", gpsdata.version.rev, "dummy-revision"); assert_integer("proto_major", gpsdata.version.proto_major, 3); assert_integer("proto_minor", gpsdata.version.proto_minor, 1); status = json_read_object(json_str8, json_attrs_8, NULL); assert_case(8, status); assert_integer("fee", fee, 3); assert_integer("fie", fie, 6); assert_integer("foe", foe, 14); status = json_read_object(json_str9, json_attrs_6, NULL); assert_case(9, status); assert_integer("dumbcount", dumbcount, 0); (void)fprintf(stderr, "succeeded.\n"); exit(EXIT_SUCCESS); } gpsd-3.9/test_json_validity.py0000775000175000017500000000115011774401175014766 0ustar esresr#!/usr/bin/env python # # Christian Gagneraud - 2012 # Simple python script that will parse json dictionaries on it's input, # If it fails, it will print the offending line and an error message. # The goal is to check that GPSD outputs valid JSON. # import json, sys success = True lc = 0 for line in sys.stdin.readlines(): lc += 1 try: # Load the json dictionary, it should raise an error if it is malformed item = json.loads(line) except Exception as e: success = False print "%d: %s" % (lc, line.strip()) print "%d: %s" % (lc, e) exit(0 if success else 1) gpsd-3.9/test_libgps.c0000664000175000017500000000513512022342270013151 0ustar esresr/* * A simple command-line exerciser for the library. * Not really useful for anything but debugging. */ #include #include #include #include #include #include #include #include "gpsd.h" #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include #include static void onsig(int sig) { (void)fprintf(stderr, "libgps: died with signal %d\n", sig); exit(EXIT_FAILURE); } /* must start zeroed, otherwise the unit test will try to chase garbage pointer fields. */ static struct gps_data_t gpsdata; int main(int argc, char *argv[]) { struct gps_data_t collect; char buf[BUFSIZ]; int option; bool batchmode = false; int debug = 0; (void)signal(SIGSEGV, onsig); (void)signal(SIGBUS, onsig); while ((option = getopt(argc, argv, "bhsD:?")) != -1) { switch (option) { case 'b': batchmode = true; break; case 's': (void) printf ("Sizes: fix=%zd gpsdata=%zd rtcm2=%zd rtcm3=%zd ais=%zd compass=%zd raw=%zd devices=%zd policy=%zd version=%zd, noise=%zd\n", sizeof(struct gps_fix_t), sizeof(struct gps_data_t), sizeof(struct rtcm2_t), sizeof(struct rtcm3_t), sizeof(struct ais_t), sizeof(struct attitude_t), sizeof(struct rawdata_t), sizeof(collect.devices), sizeof(struct policy_t), sizeof(struct version_t), sizeof(struct gst_t)); exit(EXIT_SUCCESS); case 'D': debug = atoi(optarg); break; case '?': case 'h': default: (void)fputs("usage: test_libgps [-b] [-D lvl] [-s]\n", stderr); exit(EXIT_FAILURE); } } gps_enable_debug(debug, stdout); if (batchmode) { while (fgets(buf, sizeof(buf), stdin) != NULL) { if (buf[0] == '{' || isalpha(buf[0])) { gps_unpack(buf, &gpsdata); libgps_dump_state(&gpsdata); } } } else if (gps_open(NULL, 0, &collect) <= 0) { (void)fputs("Daemon is not running.\n", stdout); exit(EXIT_FAILURE); } else if (optind < argc) { (void)strlcpy(buf, argv[optind], BUFSIZ); (void)strlcat(buf, "\n", BUFSIZ); (void)gps_send(&collect, buf); (void)gps_read(&collect); libgps_dump_state(&collect); (void)gps_close(&collect); } else { int tty = isatty(0); if (tty) (void)fputs("This is the gpsd exerciser.\n", stdout); for (;;) { if (tty) (void)fputs("> ", stdout); if (fgets(buf, sizeof(buf), stdin) == NULL) { if (tty) putchar('\n'); break; } collect.set = 0; (void)gps_send(&collect, buf); (void)gps_read(&collect); libgps_dump_state(&collect); } (void)gps_close(&collect); } return 0; } /*@-nullderef@*/ gpsd-3.9/test_maidenhead.py0000775000175000017500000000152511762140440014165 0ustar esresr#!/usr/bin/env python # # Test grid locator conversion. # # Midenhead specification at # http://en.wikipedia.org/wiki/Maidenhead_Locator_System # Test conversions generated using # http://f6fvy.free.fr/qthLocator/ import sys, gps.clienthelpers errors = 0 for (lat, lon, maidenhead, location) in [ (48.86471, 2.37305, "JN18eu", "Paris"), (41.93498, 12.43652, "JN61fw", "Rome"), (39.9771, -75.1685, "FM29jx", "Philadelphia"), (-23.4028, -50.9766, "GG46mo", "Sao Paulo"), ]: converted = gps.clienthelpers.maidenhead(lat, lon) if converted != maidenhead: print >>sys.stderr, "maidenhead test: from %s %s (%s) expected %s got %s" \ % (lat, lon, location, maidenhead, converted) errors += 1 else: print "%s OK" % location if errors: sys.exit(1) else: sys.exit(0) gpsd-3.9/test_mkgmtime.c0000664000175000017500000001556611757250541013531 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include "gps.h" /*@-type@*/ static struct { struct tm t; time_t result; } tests[] = { /* *INDENT-OFF* */ /* sec, min, h, md, mon, year, wd, yd, isdst, gmtoff, zone timestamp what */ {{ 0, 0, 0, 1, 0, 70, 0, 0, 0, 0, 0, }, 0 }, {{ 0, 0, 0, 1, 0, 70, 0, 0, 0, 0, 0, }, 0 }, /* lower limit */ {{ 7, 14, 3, 19, 0, 138, 0, 0, 0, 0, 0, }, 0x7fffffff }, /* upper limit */ {{ 0, 0, 12, 1, 0, 99, 0, 0, 0, 0, 0, }, 915192000 }, /* leap year */ {{ 0, 0, 12, 1, 1, 99, 0, 0, 0, 0, 0, }, 917870400 }, /* leap year */ {{ 0, 0, 12, 1, 2, 99, 0, 0, 0, 0, 0, }, 920289600 }, /* leap year */ {{ 0, 0, 12, 1, 8, 99, 0, 0, 0, 0, 0, }, 936187200 }, /* leap year */ {{ 0, 0, 12, 1, 0, 100, 0, 0, 0, 0, 0, }, 946728000 }, /* leap year */ {{ 0, 0, 12, 1, 1, 100, 0, 0, 0, 0, 0, }, 949406400 }, /* leap year */ {{ 0, 0, 12, 1, 2, 100, 0, 0, 0, 0, 0, }, 951912000 }, /* leap year */ {{ 0, 0, 12, 1, 8, 100, 0, 0, 0, 0, 0, }, 967809600 }, /* leap year */ {{ 0, 0, 12, 1, 0, 101, 0, 0, 0, 0, 0, }, 978350400 }, /* leap year */ {{ 0, 0, 12, 1, 1, 101, 0, 0, 0, 0, 0, }, 981028800 }, /* leap year */ {{ 0, 0, 12, 1, 2, 101, 0, 0, 0, 0, 0, }, 983448000 }, /* leap year */ {{ 0, 0, 12, 1, 8, 101, 0, 0, 0, 0, 0, }, 999345600 }, /* leap year */ {{ 0, 0, 12, 1, 0, 102, 0, 0, 0, 0, 0, }, 1009886400 }, /* leap year */ {{ 0, 0, 12, 1, 1, 102, 0, 0, 0, 0, 0, }, 1012564800 }, /* leap year */ {{ 0, 0, 12, 1, 2, 102, 0, 0, 0, 0, 0, }, 1014984000 }, /* leap year */ {{ 0, 0, 12, 1, 8, 102, 0, 0, 0, 0, 0, }, 1030881600 }, /* leap year */ {{ 0, 0, 12, 1, 0, 103, 0, 0, 0, 0, 0, }, 1041422400 }, /* leap year */ {{ 0, 0, 12, 1, 1, 103, 0, 0, 0, 0, 0, }, 1044100800 }, /* leap year */ {{ 0, 0, 12, 1, 2, 103, 0, 0, 0, 0, 0, }, 1046520000 }, /* leap year */ {{ 0, 0, 12, 1, 8, 103, 0, 0, 0, 0, 0, }, 1062417600 }, /* leap year */ {{ 0, 0, 12, 1, 0, 104, 0, 0, 0, 0, 0, }, 1072958400 }, /* leap year */ {{ 0, 0, 12, 1, 1, 104, 0, 0, 0, 0, 0, }, 1075636800 }, /* leap year */ {{ 0, 0, 12, 1, 2, 104, 0, 0, 0, 0, 0, }, 1078142400 }, /* leap year */ {{ 0, 0, 12, 1, 8, 104, 0, 0, 0, 0, 0, }, 1094040000 }, /* leap year */ {{ 0, 0, 12, 1, 0, 108, 0, 0, 0, 0, 0, }, 1199188800 }, /* leap year */ {{ 0, 0, 12, 1, 1, 108, 0, 0, 0, 0, 0, }, 1201867200 }, /* leap year */ {{ 0, 0, 12, 1, 2, 108, 0, 0, 0, 0, 0, }, 1204372800 }, /* leap year */ {{ 0, 0, 12, 1, 8, 108, 0, 0, 0, 0, 0, }, 1220270400 }, /* leap year */ {{ 59, 59, 23, 31, 12, 110, 0, 0, 0, 0, 0, }, 1296518399 }, /* year wrap */ {{ 0, 0, 0, 1, 0, 111, 0, 0, 0, 0, 0, }, 1293840000 }, /* year wrap */ {{ 59, 59, 23, 31, 12, 111, 0, 0, 0, 0, 0, }, 1328054399 }, /* year wrap */ {{ 0, 0, 0, 1, 0, 112, 0, 0, 0, 0, 0, }, 1325376000 }, /* year wrap */ {{ 59, 59, 23, 31, 12, 112, 0, 0, 0, 0, 0, }, 1359676799 }, /* year wrap */ {{ 0, 0, 0, 1, 0, 113, 0, 0, 0, 0, 0, }, 1356998400 }, /* year wrap */ {{ 59, 59, 23, 31, 0, 115, 0, 0, 0, 0, 0, }, 1422748799 }, /* month wrap */ {{ 0, 0, 0, 1, 1, 115, 0, 0, 0, 0, 0, }, 1422748800 }, /* month wrap */ {{ 59, 59, 23, 28, 1, 115, 0, 0, 0, 0, 0, }, 1425167999 }, /* month wrap */ {{ 0, 0, 0, 1, 2, 115, 0, 0, 0, 0, 0, }, 1425168000 }, /* month wrap */ {{ 59, 59, 23, 31, 2, 115, 0, 0, 0, 0, 0, }, 1427846399 }, /* month wrap */ {{ 0, 0, 0, 1, 3, 115, 0, 0, 0, 0, 0, }, 1427846400 }, /* month wrap */ {{ 59, 59, 23, 30, 3, 115, 0, 0, 0, 0, 0, }, 1430438399 }, /* month wrap */ {{ 0, 0, 0, 1, 4, 115, 0, 0, 0, 0, 0, }, 1430438400 }, /* month wrap */ {{ 59, 59, 23, 31, 4, 115, 0, 0, 0, 0, 0, }, 1433116799 }, /* month wrap */ {{ 0, 0, 0, 1, 5, 115, 0, 0, 0, 0, 0, }, 1433116800 }, /* month wrap */ {{ 59, 59, 23, 30, 5, 115, 0, 0, 0, 0, 0, }, 1435708799 }, /* month wrap */ {{ 0, 0, 0, 1, 6, 115, 0, 0, 0, 0, 0, }, 1435708800 }, /* month wrap */ {{ 59, 59, 23, 31, 6, 115, 0, 0, 0, 0, 0, }, 1438387199 }, /* month wrap */ {{ 0, 0, 0, 1, 7, 115, 0, 0, 0, 0, 0, }, 1438387200 }, /* month wrap */ {{ 59, 59, 23, 31, 7, 115, 0, 0, 0, 0, 0, }, 1441065599 }, /* month wrap */ {{ 0, 0, 0, 1, 8, 115, 0, 0, 0, 0, 0, }, 1441065600 }, /* month wrap */ {{ 59, 59, 23, 30, 8, 115, 0, 0, 0, 0, 0, }, 1443657599 }, /* month wrap */ {{ 0, 0, 0, 1, 9, 115, 0, 0, 0, 0, 0, }, 1443657600 }, /* month wrap */ {{ 59, 59, 23, 31, 9, 115, 0, 0, 0, 0, 0, }, 1446335999 }, /* month wrap */ {{ 0, 0, 0, 1, 10, 115, 0, 0, 0, 0, 0, }, 1446336000 }, /* month wrap */ {{ 59, 59, 23, 30, 10, 115, 0, 0, 0, 0, 0, }, 1448927999 }, /* month wrap */ {{ 0, 0, 0, 1, 11, 115, 0, 0, 0, 0, 0, }, 1448928000 }, /* month wrap */ {{ 59, 59, 23, 31, 11, 115, 0, 0, 0, 0, 0, }, 1451606399 }, /* month wrap */ {{ 0, 0, 0, 1, 0, 116, 0, 0, 0, 0, 0, }, 1451606400 }, /* month wrap */ /* *INDENT-ON* */ }; /*@-type@*/ /*@+longunsignedintegral*/ int main(int argc UNUSED, char *argv[] UNUSED) { int i; char tbuf[128]; time_t ts; bool failed = false; (void)setenv("TZ", "GMT", 1); for (i = 0; i < (int)(sizeof(tests) / sizeof(tests[0])); i++) { #if 0 /* use this to calculate with glibc */ ts = mktime(&tests[i].t); #else ts = mkgmtime(&tests[i].t); #endif if (ts != tests[i].result) { failed = true; (void)strftime(tbuf, sizeof(tbuf), "%F %T", &tests[i].t); (void)printf("test %2d failed. " "Time returned from: %s should be %lu (but was: %lu)\n", i, tbuf, (unsigned long)tests[i].result, (unsigned long)ts); } } return (int)failed; } /*@-longunsignedintegral*/ gpsd-3.9/test_packet.c0000664000175000017500000002323312022345475013151 0ustar esresr/* * This file is Copyright (c) 2010 by the GPSD project * BSD terms apply: see the file COPYING in the distribution root for details. */ #include #include #include #include #include #include #include #ifndef S_SPLINT_S #include #endif /* S_SPLINT_S */ #include "gpsd.h" static int verbose = 0; void gpsd_report(int errlevel, const char *fmt, ...) /* assemble command in printf(3) style, use stderr or syslog */ { if (errlevel <= verbose) { char buf[BUFSIZ]; va_list ap; buf[0] = '\0'; va_start(ap, fmt); (void)vsnprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), fmt, ap); va_end(ap); (void)fputs(buf, stderr); } } struct map { char *legend; char test[MAX_PACKET_LENGTH + 1]; size_t testlen; int garbage_offset; int type; }; /* *INDENT-OFF* */ /*@ -initallelements +charint -usedef @*/ static struct map singletests[] = { /* NMEA tests */ { .legend = "NMEA packet with checksum (1)", .test = "$GPVTG,308.74,T,,M,0.00,N,0.0,K*68\r\n", .testlen = 36, .garbage_offset = 0, NMEA_PACKET, }, { .legend = "NMEA packet with checksum (2)", .test = "$GPGGA,110534.994,4002.1425,N,07531.2585,W,0,00,50.0,172.7,M,-33.8,M,0.0,0000*7A\r\n", .testlen = 82, .garbage_offset = 0, .type = NMEA_PACKET, }, { .legend = "NMEA packet with checksum and 4 chars of leading garbage", .test = "\xff\xbf\x00\xbf$GPVTG,308.74,T,,M,0.00,N,0.0,K*68\r\n", .testlen = 40, .garbage_offset = 4, .type = NMEA_PACKET, }, { .legend = "NMEA packet without checksum", .test = "$PSRF105,1\r\n", .testlen = 12, .garbage_offset = 0, .type = NMEA_PACKET, }, { .legend = "NMEA packet with wrong checksum", .test = "$GPVTG,308.74,T,,M,0.00,N,0.0,K*28\r\n", .testlen = 36, .garbage_offset = 0, .type = BAD_PACKET, }, /* SiRF tests */ { .legend = "SiRF WAAS version ID", .test = { 0xA0, 0xA2, 0x00, 0x15, 0x06, 0x06, 0x31, 0x2E, 0x32, 0x2E, 0x30, 0x44, 0x4B, 0x49, 0x54, 0x31, 0x31, 0x39, 0x20, 0x53, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x03, 0x82, 0xB0, 0xB3}, .testlen = 29, .garbage_offset = 0, .type = SIRF_PACKET, }, { .legend = "SiRF WAAS version ID with 3 chars of leading garbage", .test = { 0xff, 0x00, 0xff, 0xA0, 0xA2, 0x00, 0x15, 0x06, 0x06, 0x31, 0x2E, 0x32, 0x2E, 0x30, 0x44, 0x4B, 0x49, 0x54, 0x31, 0x31, 0x39, 0x20, 0x53, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x03, 0x82, 0xB0, 0xB3}, .testlen = 32, .garbage_offset = 3, .type = SIRF_PACKET, }, { .legend = "SiRF WAAS version ID with wrong checksum", .test = { 0xA0, 0xA2, 0x00, 0x15, 0x06, 0x06, 0x31, 0x2E, 0x32, 0x2E, 0x30, 0x44, 0x4B, 0x49, 0x54, 0x31, 0x31, 0x39, 0x20, 0x53, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xB0, 0xB3}, .testlen = 29, .garbage_offset = 0, .type = BAD_PACKET, }, { .legend = "SiRF WAAS version ID with bad length", .test = { 0xA0, 0xA2, 0xff, 0x15, 0x06, 0x06, 0x31, 0x2E, 0x32, 0x2E, 0x30, 0x44, 0x4B, 0x49, 0x54, 0x31, 0x31, 0x39, 0x20, 0x53, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x03, 0x82, 0xB0, 0xB3}, .testlen = 29, .garbage_offset = 0, .type = BAD_PACKET, }, /* Zodiac tests */ { .legend = "Zodiac binary 1000 Geodetic Status Output Message", .test = { 0xff, 0x81, 0xe8, 0x03, 0x31, 0x00, 0x00, 0x00, 0xe8, 0x79, 0x74, 0x0e, 0x00, 0x00, 0x24, 0x00, 0x24, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x03, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x06, 0x00, 0xcd, 0x07, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x7b, 0x0d, 0x00, 0x00, 0x12, 0x6b, 0xa7, 0x04, 0x41, 0x75, 0x32, 0xf8, 0x03, 0x1f, 0x00, 0x00, 0xe6, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xf6, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0xd9, 0x12, 0x90, 0xd0, 0x03, 0x00, 0x00, 0xa3, 0xe1, 0x11, 0x10, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa3, 0xe1, 0x11, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x93, 0x04, 0x00, 0x04, 0xaa}, .testlen = 110, .garbage_offset = 0, .type = ZODIAC_PACKET, }, /* EverMore tests */ { .legend = "EverMore status packet 0x20", .test = { 0x10, 0x02, 0x0D, 0x20, 0xE1, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x1E, 0x00, 0x32, 0x00, 0x5b, 0x10, 0x03}, .testlen = 17, .garbage_offset = 0, .type = EVERMORE_PACKET, }, { .legend = "EverMore packet 0x04 with 0x10 0x10 sequence", .test = { 0x10, 0x02, 0x0f, 0x04, 0x00, 0x00, 0x10, 0x10, 0xa7, 0x13, 0x03, 0x2c, 0x26, 0x24, 0x0a, 0x17, 0x00, 0x68, 0x10, 0x03}, .testlen = 20, .garbage_offset = 0, .type = EVERMORE_PACKET, }, { .legend = "EverMore packet 0x04 with 0x10 0x10 sequence, some noise before packet data", .test = { 0x10, 0x03, 0xff, 0x10, 0x02, 0x0f, 0x04, 0x00, 0x00, 0x10, 0x10, 0xa7, 0x13, 0x03, 0x2c, 0x26, 0x24, 0x0a, 0x17, 0x00, 0x68, 0x10, 0x03}, .testlen = 23, .garbage_offset = 3, .type = EVERMORE_PACKET, }, { .legend = "EverMore packet 0x04, 0x10 and some other data at the beginning", .test = { 0x10, 0x12, 0x10, 0x03, 0xff, 0x10, 0x02, 0x0f, 0x04, 0x00, 0x00, 0x10, 0x10, 0xa7, 0x13, 0x03, 0x2c, 0x26, 0x24, 0x0a, 0x17, 0x00, 0x68, 0x10, 0x03}, .testlen = 25, .garbage_offset = 5, .type = EVERMORE_PACKET, }, { .legend = "EverMore packet 0x04, 0x10 three times at the beginning", .test = { 0x10, 0x10, 0x10, 0x10, 0x02, 0x0f, 0x04, 0x00, 0x00, 0x10, 0x10, 0xa7, 0x13, 0x03, 0x2c, 0x26, 0x24, 0x0a, 0x17, 0x00, 0x68, 0x10, 0x03}, .testlen = 23, .garbage_offset = 3, .type = EVERMORE_PACKET, }, { /* from page 4-3 of RTCM 10403.1 */ .legend = "RTCM104V3 type 1005 packet", /* * Reference Station Id = 2003 * GPS Service supported, but not GLONASS or Galileo * ARP ECEF-X = 1114104.5999 meters * ARP ECEF-Y = -4850729.7108 meters * ARP ECEF-Z = 3975521.4643 meters */ .test = { 0xD3, 0x00, 0x13, 0x3E, 0xD7, 0xD3, 0x02, 0x02, 0x98, 0x0E, 0xDE, 0xEF, 0x34, 0xB4, 0xBD, 0x62, 0xAC, 0x09, 0x41, 0x98, 0x6F, 0x33, 0x36, 0x0B, 0x98, }, .testlen = 25, .garbage_offset = 0, .type = RTCM3_PACKET, }, { .legend = "RTCM104V3 type 1005 packet with 4th byte garbled", .test = { 0xD3, 0x00, 0x13, 0x3F, 0xD7, 0xD3, 0x02, 0x02, 0x98, 0x0E, 0xDE, 0xEF, 0x34, 0xB4, 0xBD, 0x62, 0xAC, 0x09, 0x41, 0x98, 0x6F, 0x33, 0x36, 0x0B, 0x98, }, .testlen = 25, .garbage_offset = 0, .type = BAD_PACKET, }, { /* from page 3-71 of the RTCM 10403.1 */ .legend = "RTCM104V3 type 1029 packet", .test = { 0xD3, 0x00, 0x27, 0x40, 0x50, 0x17, 0x00, 0x84, 0x73, 0x6E, 0x15, 0x1E, 0x55, 0x54, 0x46, 0x2D, 0x38, 0x20, 0xD0, 0xBF, 0xD1, 0x80, 0xD0, 0xBE, 0xD0, 0xB2, 0xD0, 0xB5, 0xD1, 0x80, 0xD0, 0xBA, 0xD0, 0xB0, 0x20, 0x77, 0xC3, 0xB6, 0x72, 0x74, 0x65, 0x72, 0xED, 0xA3, 0x3B }, .testlen = 45, .garbage_offset = 0, .type = RTCM3_PACKET, }, }; /*@ +initallelements -charint +usedef @*/ /* *INDENT-ON* */ /* *INDENT-OFF* */ /*@ -initallelements +charint -usedef @*/ static struct map runontests[] = { /* NMEA tests */ { .legend = "Double NMEA packet with checksum", .test = "$GPVTG,308.74,T,,M,0.00,N,0.0,K*68\r\n$GPGGA,110534.994,4002.1425,N,07531.2585,W,0,00,50.0,172.7,M,-33.8,M,0.0,0000*7A\r\n", .testlen = 118, 0, NMEA_PACKET, }, }; /*@ +initallelements -charint +usedef @*/ /* *INDENT-ON* */ static int packet_test(struct map *mp) { struct gps_packet_t packet; int failure = 0; packet_init(&packet); packet.debug = verbose; /*@i@*/ memcpy(packet.inbufptr = packet.inbuffer, mp->test, mp->testlen); packet.inbuflen = mp->testlen; /*@ -compdef -uniondef -usedef -formatcode @*/ packet_parse(&packet); if (packet.type != mp->type) printf("%2zi: %s test FAILED (packet type %d wrong).\n", mp - singletests + 1, mp->legend, packet.type); else if (memcmp (mp->test + mp->garbage_offset, packet.outbuffer, packet.outbuflen)) { printf("%2zi: %s test FAILED (data garbled).\n", mp - singletests + 1, mp->legend); ++failure; } else printf("%2zi: %s test succeeded.\n", mp - singletests + 1, mp->legend); /*@ +compdef +uniondef +usedef +formatcode @*/ return failure; } static void runon_test(struct map *mp) { struct gps_packet_t packet; int nullfd = open("/dev/null", O_RDONLY); ssize_t st; packet_init(&packet); packet.debug = verbose; /*@i@*/ memcpy(packet.inbufptr = packet.inbuffer, mp->test, mp->testlen); packet.inbuflen = mp->testlen; /*@ -compdef -uniondef -usedef -formatcode @*/ (void)fputs(mp->test, stdout); do { st = packet_get(nullfd, &packet); //printf("packet_parse() returned %zd\n", st); } while (st > 0); /*@ +compdef +uniondef +usedef +formatcode @*/ } int main(int argc, char *argv[]) { struct map *mp; int failcount = 0; int option, singletest = 0; verbose = 0; while ((option = getopt(argc, argv, "e:t:v:")) != -1) { switch (option) { case 'e': mp = singletests + atoi(optarg) - 1; (void)fwrite(mp->test, mp->testlen, sizeof(char), stdout); (void)fflush(stdout); exit(EXIT_SUCCESS); case 't': singletest = atoi(optarg); break; case 'v': verbose = atoi(optarg); break; } } if (singletest) failcount += packet_test(singletests + singletest - 1); else { (void)fputs("=== Packet identification tests ===\n", stdout); for (mp = singletests; mp < singletests + sizeof(singletests) / sizeof(singletests[0]); mp++) failcount += packet_test(mp); (void)fputs("=== EOF with buffer nonempty test ===\n", stdout); runon_test(&runontests[0]); } exit(failcount > 0 ? EXIT_FAILURE : EXIT_SUCCESS); } gpsd-3.9/test_trig.c0000664000175000017500000000261611757250541012654 0ustar esresr/* * Copyright (c) 2006 Chris Kuethe * Copyright (c) 2009 BBN Technologies (Greg Troxel) * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* * This program provides a way to check sin/cos. */ #include #include int test_trig(void); int main(void) { test_trig(); /* For now, no evaluation. */ return 0; } #define Deg2Rad(x) ((x) * (2 * M_PI / 360.0)) int test_trig(void) { int i; double arg; double res; for (i = 0; i <= 360; i++) { arg = Deg2Rad(i); res = sin(arg); printf("sin(%.30f) = %.30f\n", arg, res); } for (i = 0; i <= 360; i++) { arg = Deg2Rad(i); res = cos(arg); printf("cos(%.30f) = %.30f\n", arg, res); } /* Always claim success. */ return 0; } gpsd-3.9/timebase.c0000664000175000017500000002063712140075021012425 0ustar esresr/***************************************************************************** All of gpsd's assumptions about time and GPS time reporting live in this file. This is a work in progress. Currently GPSD requires that the host system clock be accurate to within one second. We are attempting to relax this to "accurate within one GPS rollover period" for receivers reporting GPS week+TOW. Date and time in GPS is represented as number of weeks from the start of zero second of 6 January 1980, plus number of seconds into the week. GPS time is not leap-second corrected, though satellites also broadcast a current leap-second correction which is updated on six-month boundaries according to rotational bulletins issued by the International Earth Rotation and Reference Systems Service (IERS). The leap-second correction is only included in the satellite subframre broadcast, roughly once ever 20 minutes. While the satellites do notify GPSes of upcoming leap-seconds, this notification is not necessarily processed correctly on consumer-grade devices, and will not be available at all when a GPS receiver has just cold-booted. Thus, UTC time reported from NMEA devices may be slightly inaccurate between a cold boot or leap second and the following subframe broadcast. GPS date and time are subject to a rollover problem in the 10-bit week number counter, which will re-zero every 1024 weeks (roughly every 20 years). The last rollover (and the first since GPS went live in 1980) was 0000 22 August 1999; the next would fall in 2019, but plans are afoot to upgrade the satellite counters to 13 bits; this will delay the next rollover until 2173. For accurate time reporting, therefore, a GPS requires a supplemental time references sufficient to identify the current rollover period, e.g. accurate to within 512 weeks. Many NMEA GPSes have a wired-in assumption about the UTC time of the last rollover and will thus report incorrect times outside the rollover period they were designed in. These conditions leave gpsd in a serious hole. Actually there are several interrelated problems: 1) Every NMEA device has some assumption about base epoch (date of last rollover) that we don't have access to. Thus, there's no way to check whether a rollover the device wasn't prepared for has occurred before gpsd startup time (making the reported UTC date invalid) without some other time source. (Some NMEA devices may keep a rollover count in RAM and avoid the problem; we can't tell when that's happening, either.) 2) Many NMEA devices - in fact, all that don't report ZDA - never tell us what century they think it is. Those that do report century are still subject to rollover problems. We need an external time reference for this, too. 3) Supposing we're looking at a binary protocol that returns week/tow, we can't know which rollover period we're in without an external time source. 4) Only one external time source, the host system clock, is reliably available. 5) Another source *may* be available - the GPS leap second count, if we can get the device to report it. The latter is not a given; SiRFs before firmware rev 2.3.2 don't report it unless special subframe data reporting is enabled, which requires 38400bps. Evermore GPSes can't be made to report it at all. Conclusion: if the system clock isn't accurate enough that we can deduce what rollover period we're in, we're utterly hosed. Furthermore, if it's not accurate to within a second and only NMEA devices are reporting, we don't know what century it is! Therefore, we must assume the system clock is reliable. This file is Copyright (c) 2010 by the GPSD project BSD terms apply: see the file COPYING in the distribution root for details. *****************************************************************************/ #include #include #include #include "gpsd.h" #include "timebase.h" void gpsd_time_init(struct gps_context_t *context, time_t starttime) /* initialize the GPS context's time fields */ { /* * gpsd can't work with 'right' timezones (leapseconds inserted in * the timezone offset). Avoid this and all manner of other local * time issues by telling the system we want times returned in UTC. */ /*@-observertrans@*/ (void)putenv("TZ=UTC"); /*@+observertrans@*/ /* * Provides a start time for getting the century. Do this, just * in case one of our embedded deployments is still in place in * the year 2.1K. Still likely to fail if we bring up the daemon * just before a century mark, but that case is probably doomed * anyhow because of 2-digit years. */ context->leap_seconds = LEAPSECOND_NOW; context->century = CENTURY_BASE; context->start_time = starttime; context->rollovers = (int)((context->start_time-GPS_EPOCH) / GPS_ROLLOVER); if (context->start_time < GPS_EPOCH) gpsd_report(LOG_ERROR, "system time looks bogus, dates may not be reliable.\n"); else { /* we've forced the UTC timezone, so this is actually UTC */ struct tm *now = localtime(&context->start_time); char scr[128]; /* * This is going to break our regression-test suite once a century. * I think we can live with that consequence. */ now->tm_year += 1900; context->century = now->tm_year - (now->tm_year % 100); (void)unix_to_iso8601((timestamp_t)context->start_time, scr, sizeof(scr)); gpsd_report(LOG_INF, "startup at %s (%d)\n", scr, (int)context->start_time); } } void gpsd_set_century(struct gps_device_t *session) /* * Interpret "Date: yyyy-mm-dd", setting the session context * century from the year. We do this so the behavior of the * regression tests won't depend on what century the daemon * started up in. */ { char *end; if (strstr((char *)session->packet.outbuffer, "Date:") != NULL) { int year; unsigned char *cp = session->packet.outbuffer + 5; while (isspace(*cp)) --cp; year = (int)strtol((char *)cp, &end, 10); session->context->century = year - (year % 100); } } #ifdef NMEA_ENABLE timestamp_t gpsd_utc_resolve(/*@in@*/struct gps_device_t *session) /* resolve a UTC date, checking for rollovers */ { /* * We'd like to *correct* for rollover the way we do for GPS week. * In theory, comparing extracted UTC against present time should * allow us to compute the device's epoch assumption. In practice, * this will be hairy and risky. */ timestamp_t t; t = (timestamp_t)mkgmtime(&session->driver.nmea.date) + session->driver.nmea.subseconds; session->context->valid &=~ GPS_TIME_VALID; /* * If the system clock is zero or has a small-integer value, * no further sanity-checking is possible. */ if (session->context->start_time < GPS_EPOCH) return t; /* * If the GPS is reporting a time from before the daemon started, we've * had a rollover event while the daemon was running. */ if (session->newdata.time < (timestamp_t)session->context->start_time) { char scr[128]; (void)unix_to_iso8601(session->newdata.time, scr, sizeof(scr)); gpsd_report(LOG_WARN, "GPS week rollover makes time %s (%f) invalid\n", scr, session->newdata.time); } return t; } #endif /* NMEA_ENABLE */ timestamp_t gpsd_gpstime_resolve(/*@in@*/struct gps_device_t *session, unsigned short week, double tow) { timestamp_t t; /* * This code detects and compensates for week counter rollovers that * happen while gpsd is running. It will not save you if there was a * rollover that confused the receiver before gpsd booted up. It *will* * work even when Block IIF satellites increase the week counter width * to 13 bits. */ if ((int)week < (session->context->gps_week & 0x3ff)) { gpsd_report(LOG_INF, "GPS week 10-bit rollover detected.\n"); ++session->context->rollovers; } /* * This guard copes with both conventional GPS weeks and the "extended" * 15-or-16-bit version with no wraparound that appears in Zodiac * chips and is supposed to appear in the Geodetic Navigation * Information (0x29) packet of SiRF chips. Some SiRF firmware versions * (notably 231) actually ship the wrapped 10-bit week, despite what * the protocol reference claims. */ if (week < 1024) week += session->context->rollovers * 1024; t = GPS_EPOCH + (week * SECS_PER_WEEK) + tow; t -= session->context->leap_seconds; session->context->gps_week = week; session->context->gps_tow = tow; session->context->valid |= GPS_TIME_VALID; return t; } /* end */ gpsd-3.9/valgrind-audit.py.in0000664000175000017500000000553111762140440014364 0ustar esresr#!@PYTHON@ # # This is a valgrind torture test for the gpsd daemon. # It's not really expected to spot anything as long as we aren't using # malloc and friends in the daemon. # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. # import sys, gps.fake debuglevel=1 invocation="valgrind --tool=memcheck --gen-suppressions=yes --leak-check=yes --suppressions=valgrind-suppressions" test = gps.fake.TestSession(prefix=invocation, options="-D %d" % debuglevel) test.progress = sys.stderr.write try: test.spawn() print "\n*** Test #1: Normal single-client-session behavior." print "**** Add a GPS.\n" gps1 = test.gps_add("test/daemon/bu303-moving.log") print "\n**** Add and remove a client.\n" c1 = test.client_add("w\n") test.gather(3) test.client_remove(c1) print "\n**** Remove the GPS." test.gps_remove(gps1) print "*** Test #1 complete.\n" test.wait(3) ###################################################################### print "\n*** Test #2: Successive non-overlapping client sessions." print "**** Add a GPS.\n" gps1 = test.gps_add("test/daemon/bu303-climbing.log") print "\n**** Add and remove first client.\n" c1 = test.client_add("w\n") test.gather(3) test.client_remove(c1) test.wait(3) print "\n**** Add and remove second client.\n" c2 = test.client_add("w\n") test.gather(3) test.client_remove(c2) test.wait(3) print "\n**** Remove the GPS." test.gps_remove(gps1) print "*** Test #2 complete.\n" test.wait(3) ###################################################################### print "\n*** Test #3: Overlapping client sessions." print "**** Add a GPS.\n" gps1 = test.gps_add("test/daemon/bu303-climbing.log") print "\n**** Add first client.\n" c1 = test.client_add("w\n") test.gather(2) print "\n**** Add second client.\n" c2 = test.client_add("w\n") test.gather(3) print "\n**** Remove first client.\n" test.client_remove(c1) test.gather(2) print "\n**** Remove second client.\n" test.client_remove(c2) print "\n**** Remove the GPS." test.gps_remove(gps1) print "*** Test #3 complete.\n" ###################################################################### print "\n*** Test #4: GPS removed while client still active." print "**** Add a GPS.\n" gps1 = test.gps_add("test/daemon/bu303-moving.log") print "\n**** Add a client.\n" c1 = test.client_add("w\n") test.gather(3) print "\n**** Remove the GPS." test.gps_remove(gps1) test.wait(3) print "\n**** Remove the client.\n" test.client_remove(c1) print "*** Test #4 complete.\n" finally: test.cleanup(); # The following sets edit modes for GNU EMACS # Local Variables: # mode:python # End: gpsd-3.9/valgrind-suppressions0000664000175000017500000000056011662661035015003 0ustar esresr# Suppress known C library errors in valgrind. # This is good under gcc 3.4.2, glibc 2.3.4, using -g and -O2 { suppress1 Memcheck:Cond fun:strlen fun:vsnprintf fun:gpsd_report fun:main } { suppress2 Memcheck:Value8 fun:vfprintf fun:vsnprintf fun:gpsd_report fun:sirf_parse fun:sirfbin_parse_input fun:gpsd_poll fun:main } gpsd-3.9/xgps0000775000175000017500000010246211774401175011413 0ustar esresr#!/usr/bin/env python # -*- coding: UTF-8 ''' xgps -- test client for gpsd usage: xgps [-D level] [-hV?] [-l degmfmt] [-u units] [server[:port[:device]]] ''' gui_about = '''\ This is xgps, a test client for the gpsd daemon. By Eric S. Raymond for the GPSD project, December 2009 ''' # # This file is Copyright (c) 2010 by the GPSD project # BSD terms apply: see the file COPYING in the distribution root for details. import sys, math, time, getopt, socket import gobject, pygtk pygtk.require('2.0') import gtk import cairo import gps, gps.clienthelpers # how to sort the Satellite List # some of ("PRN","el","az","ss","used") with optional '-' to reverse sort # by default, used at the top, then sort PRN SKY_VIEW_SORT_FIELDS=('-used','PRN') class unit_adjustments: "Encapsulate adjustments for unit systems." def __init__(self, units=None): self.altfactor = gps.METERS_TO_FEET self.altunits = "ft" self.speedfactor = gps.MPS_TO_MPH self.speedunits = "mph" if units is None: units = gps.clienthelpers.gpsd_units() if units in (gps.clienthelpers.unspecified, gps.clienthelpers.imperial, "imperial", "i"): pass elif units in (gps.clienthelpers.nautical, "nautical", "n"): self.altfactor = gps.METERS_TO_FEET self.altunits = "ft" self.speedfactor = gps.MPS_TO_KNOTS self.speedunits = "knots" elif units in (gps.clienthelpers.metric, "metric", "m"): self.altfactor = 1 self.altunits = "m" self.speedfactor = gps.MPS_TO_KPH self.speedunits = "kph" else: raise ValueError # Should never happen def fit_to_grid(x, y, line_width): "Adjust coordinates to produce sharp lines." if line_width % 1.0 != 0: # Can't have sharp lines for non-integral line widths. return x, y if line_width % 2 == 0: # Round to a pixel corner. return int(x+0.5), int(y+0.5) else: # Round to a pixel center. return int(x)+0.5, int(y)+0.5 def fit_circle_to_grid(x, y, radius, line_width): "Adjust circle coordinates and radius to produce sharp horizontal and vertical tangents." r = radius x1, y1 = fit_to_grid(x - r, y - r, line_width) x2, y2 = fit_to_grid(x + r, y + r, line_width) x, y = (x1+x2)/2, (y1+y2)/2 r = (x2 - x1 + y2 - y1) / 4 return x, y, r class SkyView(gtk.DrawingArea): "Satellite skyview, encapsulates pygtk's draw-on-expose behavior." # See HORIZON_PAD = 40 # How much whitespace to leave around horizon SAT_RADIUS = 5 # Diameter of satellite circle GPS_PRNMAX = 32 # Above this number are SBAS satellites def __init__(self): gtk.DrawingArea.__init__(self) self.set_size_request(400, 400) self.cr = None # New cairo context for each expose event self.width = 0 # Updated in size-allocate handler self.height = 0 # Updated in size-allocate handler self.step_of_grid = 45 # default step of polar grid self.connect('size-allocate', self.on_size_allocate) self.connect('expose-event', self.on_expose_event) self.satellites = [] self.center_x = self.center_y = self.radius = None def on_size_allocate(self, unused, allocation): width = allocation.width height = allocation.height x = width / 2 y = height / 2 r = (min(width, height) - SkyView.HORIZON_PAD) / 2 x, y, r = fit_circle_to_grid(x, y, r, 1) self.center_x = x self.center_y = y self.radius = r def set_color(self, spec): "Set foreground color for drawing." gdkcolor = gtk.gdk.color_parse(spec) r = gdkcolor.red / 65535.0 g = gdkcolor.green / 65535.0 b = gdkcolor.blue / 65535.0 self.cr.set_source_rgb(r, g, b) def draw_circle(self, x, y, radius, filled=False): "Draw a circle centered on the specified midpoint." lw = self.cr.get_line_width() r = int(2*radius+0.5) / 2 x, y, r = fit_circle_to_grid(x, y, radius, lw) self.cr.arc(x, y, r, 0, math.pi * 2.0) self.cr.close_path() if filled: self.cr.fill() else: self.cr.stroke() def draw_line(self, x1, y1, x2, y2): "Draw a line between specified points." lw = self.cr.get_line_width() x1, y1 = fit_to_grid(x1, y1, lw) x2, y2 = fit_to_grid(x2, y2, lw) self.cr.move_to(x1, y1) self.cr.line_to(x2, y2) self.cr.stroke() def draw_square(self, x, y, radius, filled=False): "Draw a square centered on the specified midpoint." lw = self.cr.get_line_width() x1, y1 = fit_to_grid(x - radius, y - radius, lw) x2, y2 = fit_to_grid(x + radius, y + radius, lw) self.cr.rectangle(x1, y1, x2 - x1, y2 - y1) if filled: self.cr.fill() else: self.cr.stroke() def draw_string(self, x, y, text, centered=True): "Draw a text on the skyview." self.cr.select_font_face("Sans", cairo.FONT_SLANT_NORMAL, cairo.FONT_WEIGHT_BOLD) self.cr.set_font_size(10) if centered: extents = self.cr.text_extents(text) # width / 2 + x_bearing x -= extents[2] / 2 + extents[0] # height / 2 + y_bearing y -= extents[3] / 2 + extents[1] self.cr.move_to(x, y) self.cr.show_text(text) self.cr.new_path() def pol2cart(self, az, el): "Polar to Cartesian coordinates within the horizon circle." az *= (math.pi/180) # Degrees to radians # Exact spherical projection would be like this: # el = sin((90.0 - el) * DEG_2_RAD); el = ((90.0 - el) / 90.0) xout = self.center_x + math.sin(az) * el * self.radius yout = self.center_y - math.cos(az) * el * self.radius return (xout, yout) def on_expose_event(self, widget, unused): self.cr = widget.window.cairo_create() self.cr.set_line_width(1) self.cr.set_source_rgb(0, 0, 0) self.cr.paint() self.cr.set_source_rgb(1, 1, 1) # The zenith marker self.draw_circle(self.center_x, self.center_y, 6, filled=False) # The horizon circle if self.step_of_grid == 45: # The circle corresponding to 45 degrees elevation. # There are two ways we could plot this. Projecting the sphere # on the display plane, the circle would have a diameter of # sin(45) ~ 0.7. But the naive linear mapping, just splitting # the horizon diameter in half, seems to work better visually. self.draw_circle(self.center_x, self.center_y, self.radius/2, filled=False) elif self.step_of_grid == 30: self.draw_circle(self.center_x, self.center_y, self.radius*2/3, filled=False) self.draw_circle(self.center_x, self.center_y, self.radius/3, filled=False) self.draw_circle(self.center_x, self.center_y, self.radius, filled=False) (x1, y1) = self.pol2cart(0, 0) (x2, y2) = self.pol2cart(180, 0) self.draw_line(x1, y1, x2, y2) (x1, y1) = self.pol2cart(90, 0) (x2, y2) = self.pol2cart(270, 0) self.draw_line(x1, y1, x2, y2) # The compass-point letters (x, y) = self.pol2cart(0, 0) self.draw_string(x, y-10, "N") (x, y) = self.pol2cart(90, 0) self.draw_string(x+10, y, "E") (x, y) = self.pol2cart(180, 0) self.draw_string(x, y+10, "S") (x, y) = self.pol2cart(270, 0) self.draw_string(x-10, y, "W") # The satellites self.cr.set_line_width(2) for sat in self.satellites: (x, y) = self.pol2cart(sat.az, sat.el) if sat.ss < 10: self.set_color("Gray") elif sat.ss < 30: self.set_color("Red") elif sat.ss < 35: self.set_color("Yellow") elif sat.ss < 40: self.set_color("Green3") else: self.set_color("Green1") if sat.PRN > SkyView.GPS_PRNMAX: self.draw_square(x, y, SkyView.SAT_RADIUS, sat.used) else: self.draw_circle(x, y, SkyView.SAT_RADIUS, sat.used) self.cr.set_source_rgb(1, 1, 1) self.draw_string(x + SkyView.SAT_RADIUS, y + (SkyView.SAT_RADIUS * 2), str(sat.PRN), centered=False) self.cr = None def redraw(self, satellites): "Redraw the skyview." self.satellites = satellites self.queue_draw() class NoiseView: "Encapsulate view object for watching noise statistics." COLUMNS = 2 ROWS = 4 noisefields = ( # First column ("Time", "time"), ("Latitude", "lat"), ("Longitude", "lon"), ("Altitude", "alt"), # Second column ("RMS", "rms"), ("Major", "major"), ("Minor", "minor"), ("Orient", "orient"), ) def __init__(self): self.widget = gtk.Table(NoiseView.COLUMNS, NoiseView.ROWS, False) self.noisewidgets = [] for i in range(len(NoiseView.noisefields)): colbase = (i / NoiseView.ROWS) * 2 label = gtk.Label(NoiseView.noisefields[i][0] + ": ") # Wacky way to force right alignment label.set_alignment(xalign=1, yalign=0.5) self.widget.attach(label, colbase, colbase+1, i % NoiseView.ROWS, i % NoiseView.ROWS + 1) entry = gtk.Entry() # The right size for the ISO8601 timestamp entry.set_width_chars(20) entry.set_text("n/a") self.widget.attach(entry, colbase+1, colbase+2, i % NoiseView.ROWS, i % NoiseView.ROWS + 1) self.noisewidgets.append((NoiseView.noisefields[i][1], entry)) def update(self, noise): "Update the GPGST data fields." for (attrname, widget) in self.noisewidgets: if hasattr(noise, attrname): widget.set_text(str(getattr(noise, attrname))) else: widget.set_text("n/a") class MaidenheadView: "Encapsulate view object for watching Maidenhead grid location." def __init__(self): self.widget = gtk.Entry() self.widget.set_editable(False) def update(self, tpv): if tpv.mode >= gps.MODE_2D and hasattr(tpv, "lat") and hasattr(tpv, "lon"): self.widget.set_text(gps.clienthelpers.maidenhead(tpv.lat, tpv.lon)) else: return self.widget.set_text("n/a") class AISView: "Encapsulate store and view objects for watching AIS data." AIS_ENTRIES = 10 DWELLTIME = 360 def __init__(self, deg_type): "Initialize the store and view." self.deg_type = deg_type self.name_to_mmsi = {} self.named = {} self.store = gtk.ListStore(str,str,str,str,str,str) self.widget = gtk.ScrolledWindow() self.widget.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.view = gtk.TreeView(model=self.store) self.widget.set_size_request(-1, 300) self.widget.add_with_viewport(self.view) for (i, label) in enumerate(('#', 'Name:','Callsign:','Destination:', "Lat/Lon:", "Information")): column = gtk.TreeViewColumn(label) renderer = gtk.CellRendererText() column.pack_start(renderer) column.add_attribute(renderer, 'text', i) self.view.append_column(column) def enter(self, ais, name): "Add a named object (ship or station) to the store." if ais.mmsi in self.named: return False else: ais.entry_time = time.time() self.named[ais.mmsi] = ais self.name_to_mmsi[name] = ais.mmsi # Garbage-collect old entries try: for i in range(len(self.store)): here = self.store.get_iter(i) name = self.store.get_value(here, 1) mmsi = self.name_to_mmsi[name] if self.named[mmsi].entry_time < time.time() - AISView.DWELLTIME: del self.named[mmsi] if name in self.name_to_mmsi: del self.name_to_mmsi[name] self.store.remove(here) except (ValueError, KeyError): # Invalid TreeIters throw these pass return True def latlon(self, lat, lon): "Latitude/longitude display in nice format." if lat < 0: latsuff = "S" elif lat > 0: latsuff = "N" else: latsuff = "" lat = abs(lat) lat = gps.clienthelpers.deg_to_str(self.deg_type, lat) if lon < 0: lonsuff = "W" elif lon > 0: lonsuff = "E" else: lonsuff = "" lon = abs(lon) lon = gps.clienthelpers.deg_to_str(gps.clienthelpers.deg_ddmmss, lon) return lat + latsuff + "/" + lon + lonsuff def update(self, ais): "Update the AIS data fields." if ais.type in (1, 2, 3, 18): if ais.mmsi in self.named: for i in range(len(self.store)): here = self.store.get_iter(i) name = self.store.get_value(here, 1) if name in self.name_to_mmsi: mmsi = self.name_to_mmsi[name] if mmsi == ais.mmsi: latlon = self.latlon(ais.lat, ais.lon) self.store.set_value(here, 4, latlon) elif ais.type == 4: if self.enter(ais, ais.mmsi): where = self.latlon(ais.lat, ais.lon) self.store.prepend( (ais.type, ais.mmsi, "(shore)", ais.timestamp, where, ais.epfd)) elif ais.type == 5: if self.enter(ais, ais.shipname): self.store.prepend( (ais.type, ais.shipname, ais.callsign, ais.destination, "", ais.shiptype)) elif ais.type == 12: sender = ais.mmsi if sender in self.named: sender = self.named[sender].shipname recipient = ais.dest_mmsi if recipient in self.named and hasattr(self.named[recipient], "shipname"): recipient = self.named[recipient].shipname self.store.prepend( (ais.type, sender, "", recipient, "", ais.text)) elif ais.type == 14: sender = ais.mmsi if sender in self.named: sender = self.named[sender].shipname self.store.prepend( (ais.type, sender, "", "(broadcast)", "", ais.text)) elif ais.type in (19, 24): if self.enter(ais, ais.shipname): self.store.prepend( (ais.type, ais.shipname, "(class B)", "", "", ais.shiptype)) elif ais.type == 21: if self.enter(ais, ais.name): where = self.latlon(ais.lat, ais.lon) self.store.prepend( (ais.type, ais.name, "(%s navaid)" % ais.epfd, "", where, ais.aid_type)) class Base: COLUMNS = 3 ROWS = 7 gpsfields = ( # First column ("Time", lambda s, r: s.update_time(r)), ("Latitude", lambda s, r: s.update_latitude(r)), ("Longitude", lambda s, r: s.update_longitude(r)), ("Altitude", lambda s, r: s.update_altitude(r)), ("Speed", lambda s, r: s.update_speed(r)), ("Climb", lambda s, r: s.update_climb(r)), ("Track", lambda s, r: s.update_track(r)), # Second column ("Status", lambda s, r: s.update_status(r)), ("EPX", lambda s, r: s.update_err(r, "epx")), ("EPY", lambda s, r: s.update_err(r, "epy")), ("EPV", lambda s, r: s.update_err(r, "epv")), ("EPS", lambda s, r: s.update_err_speed(r, "eps")), ("EPC", lambda s, r: s.update_err_speed(r, "epc")), ("EPD", lambda s, r: s.update_err_degrees(r, "epd")), ) def __init__(self, deg_type): self.deg_type = deg_type self.conversions = unit_adjustments() self.saved_mode = -1 self.ais_latch = False self.noise_latch = False self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) if not self.window.get_display(): raise Exception("Can't open display") self.window.set_title("xgps") self.window.connect("delete_event", self.delete_event) self.window.set_resizable(False) vbox = gtk.VBox(False, 0) self.window.add(vbox) self.window.connect("destroy", lambda unused: gtk.main_quit()) self.uimanager = gtk.UIManager() self.accelgroup = self.uimanager.get_accel_group() self.window.add_accel_group(self.accelgroup) self.actiongroup = gtk.ActionGroup('xgps') self.actiongroup.add_actions( [('Quit', gtk.STOCK_QUIT, '_Quit', None, 'Quit the Program', lambda unused: gtk.main_quit()), ('File', None, '_File'), ('View', None, '_View'), ('Units', None, '_Units'), ('Step of grid', None, '_Step of grid')]) self.actiongroup.add_toggle_actions( [('Skyview', None, '_Skyview', 's', 'Enable Skyview', self.view_toggle), ('Responses', None, '_Responses', 'r', 'Enable Response Reports', self.view_toggle), ('GPS', None, '_GPS Data', 'g', 'Enable GPS Data', self.view_toggle), ('Noise', None, '_Noise Statistics', 'n', 'Enable Noise Statistics', self.view_toggle), ('Maidenhead', None, '_Maidenhead', 'm', 'Enable Maidenhead locator', self.view_toggle), ('AIS', None, '_AIS Data', 'a', 'Enable AIS Data', self.view_toggle), ]) self.actiongroup.add_radio_actions( [('Imperial', None, '_Imperial', 'i', 'Imperial units', 0), ('Nautical', None, '_Nautical', 'n', 'Nautical units', 1), ('Metric', None, '_Metric', 'm', 'Metric Units', 2), ], 0, lambda a, unused: self.set_units(['i', 'n', 'm'][a.get_current_value()])) self.actiongroup.add_radio_actions( [('30°', None, '30°', None, '30°', 30), ('45°', None, '45°', None, '45°', 45), ('Off', None, 'Off', None, 'Off', 0), ], 45, lambda a, unused: self.set_step_of_grid(a.get_current_value())) self.uimanager.insert_action_group(self.actiongroup, 0) self.uimanager.add_ui_from_string(''' ''') self.uimanager.get_widget('/MenuBar/View/Skyview').set_active(True) self.uimanager.get_widget('/MenuBar/View/Responses').set_active(True) self.uimanager.get_widget('/MenuBar/View/GPS').set_active(True) self.uimanager.get_widget('/MenuBar/View/Noise').set_active(True) self.uimanager.get_widget('/MenuBar/View/Maidenhead').set_active(True) self.uimanager.get_widget('/MenuBar/View/AIS').set_active(True) menubar = self.uimanager.get_widget('/MenuBar') vbox.pack_start(menubar, False) self.satbox = gtk.HBox(False, 0) vbox.add(self.satbox) skyframe = gtk.Frame(label="Satellite List") self.satbox.add(skyframe) self.satlist = gtk.ListStore(str,str,str,str,str) view = gtk.TreeView(model=self.satlist) for (i, label) in enumerate(('PRN:','Elev:','Azim:','SNR:','Used:')): column = gtk.TreeViewColumn(label) renderer = gtk.CellRendererText() column.pack_start(renderer) column.add_attribute(renderer, 'text', i) view.append_column(column) self.row_iters = [] for i in range(gps.MAXCHANNELS): self.satlist.append(["", "", "", "", ""]) self.row_iters.append(self.satlist.get_iter(i)) skyframe.add(view) viewframe = gtk.Frame(label="Skyview") self.satbox.add(viewframe) self.skyview = SkyView() viewframe.add(self.skyview) self.rawdisplay = gtk.Entry() self.rawdisplay.set_editable(False) vbox.add(self.rawdisplay) self.dataframe = gtk.Frame(label="GPS data") datatable = gtk.Table(Base.COLUMNS, Base.ROWS, False) self.dataframe.add(datatable) gpswidgets = [] for i in range(len(Base.gpsfields)): colbase = (i / Base.ROWS) * 2 label = gtk.Label(Base.gpsfields[i][0] + ": ") # Wacky way to force right alignment label.set_alignment(xalign=1, yalign=0.5) datatable.attach(label, colbase, colbase+1, i % Base.ROWS, i % Base.ROWS + 1) entry = gtk.Entry() # The right size for the ISO8601 timestamp entry.set_width_chars(20) entry.set_text("n/a") datatable.attach(entry, colbase+1, colbase+2, i % Base.ROWS, i % Base.ROWS + 1) gpswidgets.append(entry) vbox.add(self.dataframe) self.noisebox = gtk.HBox(False, 0) vbox.add(self.noisebox) noiseframe = gtk.Frame(label="Noise Statistics") self.noisebox.add(noiseframe) self.noiseview = NoiseView() noiseframe.add(self.noiseview.widget) self.gsbox = gtk.HBox(False, 0) vbox.add(self.gsbox) gsframe = gtk.Frame(label="Maidenhead Grid Square") self.gsbox.add(gsframe) self.gsview = MaidenheadView() gsframe.add(self.gsview.widget) self.aisbox = gtk.HBox(False, 0) vbox.add(self.aisbox) aisframe = gtk.Frame(label="AIS Data") self.aisbox.add(aisframe) self.aisview = AISView(self.deg_type) aisframe.add(self.aisview.widget) self.window.show_all() # Hide the Noise Statistics window until user selects it. self.uimanager.get_widget('/MenuBar/View/Noise').set_active(False) self.noisebox.hide() # Hide the Maidenhead window until user selects it. self.uimanager.get_widget('/MenuBar/View/Maidenhead').set_active(False) self.gsbox.hide() # Hide the AIS window until user selects it. self.uimanager.get_widget('/MenuBar/View/AIS').set_active(False) self.aisbox.hide() self.view_name_to_widget = \ {"Skyview": self.satbox, "Responses": self.rawdisplay, "GPS": self.dataframe, "Noise": self.noisebox, "Maidenhead": self.gsbox, "AIS": self.aisbox} # Discard field labels and associate data hooks with their widgets Base.gpsfields = map(lambda ((label, hook), widget): (hook, widget), zip(Base.gpsfields, gpswidgets)) def view_toggle(self, action): #print "View toggle:", action.get_active(), action.get_name() if hasattr(self, 'view_name_to_widget'): if action.get_active(): self.view_name_to_widget[action.get_name()].show() else: self.view_name_to_widget[action.get_name()].hide() # The effect we're after is to make the top-level window # resize itself to fit when we show or hide widgets. # This is undocumented magic to do that. self.window.resize(1, 1) def set_satlist_field(self, row, column, value): "Set a specified field in the satellite list." try: self.satlist.set_value(self.row_iters[row], column, value) except IndexError: sys.stderr.write("xgps: channel = %d, MAXCHANNELS = %d\n" % (row, gps.MAXCHANNELS)) def delete_event(self, widget, event, data=None): gtk.main_quit() return False # State updates def update_time(self, data): if hasattr(data, "time"): # str() just in case we get an old-style float. return str(data.time) else: return "n/a" def update_latitude(self, data): if data.mode >= gps.MODE_2D and hasattr(data, "lat"): lat = gps.clienthelpers.deg_to_str(self.deg_type, abs(data.lat)) if data.lat < 0: ns = 'S' else: ns = 'N' return "%s %s" % (lat, ns) else: return "n/a" def update_longitude(self, data): if data.mode >= gps.MODE_2D and hasattr(data, "lon"): lon = gps.clienthelpers.deg_to_str(self.deg_type, abs(data.lon)) if data.lon < 0: ew = 'W' else: ew = 'E' return "%s %s" % (lon, ew) else: return "n/a" def update_altitude(self, data): if data.mode >= gps.MODE_3D and hasattr(data, "alt"): return "%.3f %s" % ( data.alt * self.conversions.altfactor, self.conversions.altunits) else: return "n/a" def update_speed(self, data): if hasattr(data, "speed"): return "%.3f %s" % ( data.speed * self.conversions.speedfactor, self.conversions.speedunits) else: return "n/a" def update_climb(self, data): if hasattr(data, "climb"): return "%.3f %s" % ( data.climb * self.conversions.speedfactor, self.conversions.speedunits) else: return "n/a" def update_track(self, data): if hasattr(data, "track"): return gps.clienthelpers.deg_to_str(self.deg_type, abs(data.track)) else: return "n/a" def update_err(self, data, errtype): if hasattr(data, errtype): return "%.3f %s" % ( getattr(data, errtype) * self.conversions.altfactor, self.conversions.altunits) else: return "n/a" def update_err_speed(self, data, errtype): if hasattr(data, errtype): return "%.3f %s" % ( getattr(data, errtype) * self.conversions.speedfactor, self.conversions.speedunits) else: return "n/a" def update_err_degrees(self, data, errtype): if hasattr(data, errtype): return "%.3f °" % ( getattr(data, errtype) ) else: return "n/a" def update_status(self, data): if data.mode == gps.MODE_2D: status = "2D FIX" elif data.mode == gps.MODE_3D: status = "3D FIX" else: status = "NO FIX" if data.mode != self.saved_mode: self.last_transition = time.time() self.saved_mode = data.mode return status + " (%d secs)" % (time.time() - self.last_transition) def update_gpsdata(self, tpv): "Update the GPS data fields." # the first 14 fields are updated using TPV data for (hook, widget) in Base.gpsfields[:14]: if hook: # Remove this guard when we have all hooks widget.set_text(hook(self, tpv)) self.gsview.update(tpv) def update_skyview(self, data): "Update the satellite list and skyview." if hasattr(data, 'satellites'): satellites = data.satellites for fld in reversed(SKY_VIEW_SORT_FIELDS): rev = (fld[0] == '-') if (rev): fld = fld[1:] satellites = sorted(satellites[:], cmp=lambda x,y: cmp(x[fld], y[fld]), reverse = rev) for (i, satellite) in enumerate(satellites): self.set_satlist_field(i, 0, satellite.PRN) self.set_satlist_field(i, 1, satellite.el) self.set_satlist_field(i, 2, satellite.az) self.set_satlist_field(i, 3, satellite.ss) yesno = 'N' if satellite.used: yesno = 'Y' self.set_satlist_field(i, 4, yesno) for i in range(len(satellites), gps.MAXCHANNELS): for j in range(0, 5): self.set_satlist_field(i, j, "") self.skyview.redraw(satellites) # Preferences def set_units(self, system): "Change the display units." self.conversions = unit_adjustments(system) def set_step_of_grid(self, system): "Change the step of grid." self.skyview.step_of_grid = system # I/O monitoring and gtk housekeeping def watch(self, daemon, device): "Set up monitoring of a daemon instance." self.daemon = daemon self.device = device gobject.io_add_watch(daemon.sock, gobject.IO_IN, self.handle_response) gobject.io_add_watch(daemon.sock, gobject.IO_ERR, self.handle_hangup) gobject.io_add_watch(daemon.sock, gobject.IO_HUP, self.handle_hangup) def handle_response(self, source, condition): "Handle ordinary I/O ready condition from the daemon." if self.daemon.read() == -1: self.handle_hangup(source, condition) if self.daemon.valid & gps.PACKET_SET: if self.device and "device" in self.daemon.data and self.device != self.daemon.data["device"]: return True self.rawdisplay.set_text(self.daemon.response.strip()) if self.daemon.data["class"] == "SKY": self.update_skyview(self.daemon.data) elif self.daemon.data["class"] == "TPV": self.update_gpsdata(self.daemon.data) elif self.daemon.data["class"] == "GST": self.noiseview.update(self.daemon.data) if not self.noise_latch: self.noise_latch = True self.uimanager.get_widget('/MenuBar/View/Noise').set_active(True) self.noisebox.show() elif self.daemon.data["class"] == "AIS": self.aisview.update(self.daemon.data) if not self.ais_latch: self.ais_latch = True self.uimanager.get_widget('/MenuBar/View/AIS').set_active(True) self.aisbox.show() return True def handle_hangup(self, source, condition): "Handle hangup condition from the daemon." w = gtk.MessageDialog(type=gtk.MESSAGE_ERROR, flags=gtk.DIALOG_DESTROY_WITH_PARENT, buttons=gtk.BUTTONS_CANCEL) w.connect("destroy", lambda unused: gtk.main_quit()) w.set_markup("gpsd has stopped sending data.") w.run() gtk.main_quit() return True def main(self): gtk.main() if __name__ == "__main__": try: (options, arguments) = getopt.getopt(sys.argv[1:], "D:hl:u:V?", ['verbose']) debug = 0 degreefmt = 'd' unit_system = None for (opt, val) in options: if opt in '-D': debug = int(val) elif opt == '-l': degreeformat = val elif opt == '-u': unit_system = val elif opt in ('-?', '-h', '--help'): print __doc__ sys.exit(0) elif opt == 'V': sys.stderr.write("xgps 1.0\n") sys.exit(0) degreefmt = {'d':gps.clienthelpers.deg_dd, 'm':gps.clienthelpers.deg_ddmm, 's':gps.clienthelpers.deg_ddmmss}[degreefmt] (host, port, device) = ("localhost", "2947", None) if len(arguments): args = arguments[0].split(":") if len(args) >= 1: host = args[0] if len(args) >= 2: port = args[1] if len(args) >= 3: device = args[2] base = Base(deg_type=degreefmt) base.set_units(unit_system) try: daemon = gps.gps(host=host, port=port, mode=gps.WATCH_ENABLE|gps.WATCH_JSON|gps.WATCH_SCALED, verbose=debug) base.watch(daemon, device) base.main() except socket.error: w = gtk.MessageDialog(type=gtk.MESSAGE_ERROR, flags=gtk.DIALOG_DESTROY_WITH_PARENT, buttons=gtk.BUTTONS_CANCEL) w.set_markup("gpsd is not running.") w.run() w.destroy() except KeyboardInterrupt: pass gpsd-3.9/xgpsspeed0000775000175000017500000006610112077470603012432 0ustar esresr#!/usr/bin/env python # # by # Robin Wittler (speedometer mode) # and # Chen Wei (nautical mode) # # BSD terms apply: see the file COPYING in the distribution root for details. import pygtk pygtk.require('2.0') import gtk import cairo import gobject import gps from math import pi from math import cos from math import sin from math import sqrt from math import radians from socket import error as SocketError class Speedometer(gtk.DrawingArea): def __init__(self, speed_unit=None): gtk.DrawingArea.__init__(self) self.MPH_UNIT_LABEL = 'mph' self.KPH_UNIT_LABEL = 'kmh' self.KNOTS_UNIT_LABEL = 'knots' self.conversions = { self.MPH_UNIT_LABEL: gps.MPS_TO_MPH, self.KPH_UNIT_LABEL: gps.MPS_TO_KPH, self.KNOTS_UNIT_LABEL: gps.MPS_TO_KNOTS } self.speed_unit = speed_unit or self.MPH_UNIT_LABEL if not self.speed_unit in self.conversions: raise TypeError( '%s is not a valid speed unit' %(repr(speed_unit)) ) class LandSpeedometer(Speedometer): def __init__(self, speed_unit=None): Speedometer.__init__(self, speed_unit) self.connect('expose_event', self.expose_event) self.long_ticks = (2, 1, 0, -1, -2, -3, -4, -5, -6, -7, -8) self.short_ticks = (0.1, 0.2, 0.3, 0.4, 0.6, 0.7, 0.8, 0.9) self.long_inset = lambda x: 0.1 * x self.middle_inset = lambda x: self.long_inset(x) / 1.5 self.short_inset = lambda x: self.long_inset(x) / 3 self.res_div = 10.0 self.res_div_mul = 1 self.last_speed = 0 self.nums = { -8: 0, -7: 10, -6: 20, -5: 30, -4: 40, -3: 50, -2: 60, -1: 70, 0: 80, 1: 90, 2: 100 } def expose_event(self, unused, event, empty=None): self.cr = self.window.cairo_create() self.cr.rectangle( event.area.x, event.area.y, event.area.width, event.area.height ) self.cr.clip() x, y = self.get_x_y() width, height = self.window.get_size() radius = self.get_radius(width, height) self.cr.set_line_width(radius / 100) self.draw_arc_and_ticks(width, height, radius, x, y) self.draw_needle(self.last_speed, radius, x, y) self.draw_speed_text(self.last_speed, radius, x, y) def draw_arc_and_ticks(self, width, height, radius, x, y): self.cr.set_source_rgb(1.0, 1.0, 1.0) self.cr.rectangle(0, 0, width, height) self.cr.fill() self.cr.set_source_rgb(0.0, 0.0, 0.0) #draw the speedometer arc self.cr.arc_negative(x, y, radius, radians(60), radians(120)) self.cr.stroke() long_inset = self.long_inset(radius) middle_inset = self.middle_inset(radius) short_inset = self.short_inset(radius) #draw the ticks for i in self.long_ticks: self.cr.move_to( x + (radius - long_inset) * cos(i * pi / 6.0), y + (radius - long_inset) * sin(i * pi / 6.0) ) self.cr.line_to( x + (radius + (self.cr.get_line_width() / 2)) * cos(i * pi / 6.0), y + (radius + (self.cr.get_line_width() / 2)) * sin(i * pi / 6.0) ) self.cr.select_font_face( 'Georgia', cairo.FONT_SLANT_NORMAL, ) self.cr.set_font_size(radius / 10) self.cr.save() _num = str(self.nums.get(i) * self.res_div_mul) ( x_bearing, y_bearing, t_width, t_height, x_advance, y_advance ) = self.cr.text_extents(_num) if i in (-8, -7, -6, -5, -4): self.cr.move_to( (x + (radius - long_inset - (t_width / 2)) * cos(i * pi / 6.0)), (y + (radius - long_inset - (t_height * 2)) * sin(i * pi / 6.0)) ) elif i in (-2, -1, 0, 2, 1): self.cr.move_to( (x + (radius - long_inset - (t_width * 1.5 )) * cos(i * pi / 6.0)), (y + (radius - long_inset - (t_height * 2 )) * sin(i * pi / 6.0)) ) elif i in (-3,): self.cr.move_to( (x - t_width / 2), (y - radius + self.long_inset(radius) * 2 + t_height) ) self.cr.show_text(_num) self.cr.restore() if i != self.long_ticks[0]: self.cr.move_to( x + (radius - middle_inset) * cos((i + 0.5) * pi / 6.0), y + (radius - middle_inset) * sin((i + 0.5) * pi / 6.0) ) self.cr.line_to( x + (radius + (self.cr.get_line_width() / 2)) * cos((i + 0.5) * pi / 6.0), y + (radius + (self.cr.get_line_width() / 2)) * sin((i + 0.5) * pi / 6.0) ) for z in self.short_ticks: if i < 0: self.cr.move_to( x + (radius - short_inset) * cos((i + z) * pi / 6.0), y + (radius - short_inset) * sin((i + z) * pi / 6.0) ) self.cr.line_to( x + (radius + (self.cr.get_line_width() / 2)) * cos((i + z) * pi / 6.0), y + (radius + (self.cr.get_line_width() / 2)) * sin((i + z) * pi / 6.0) ) else: self.cr.move_to( x + (radius - short_inset) * cos((i - z) * pi / 6.0), y + (radius - short_inset) * sin((i - z) * pi / 6.0) ) self.cr.line_to( x + (radius + (self.cr.get_line_width() / 2)) * cos((i - z) * pi / 6.0), y + (radius + (self.cr.get_line_width() / 2)) * sin((i - z) * pi / 6.0) ) self.cr.stroke() def draw_needle(self, speed, radius, x, y): self.cr.save() inset = self.long_inset(radius) speed = speed * self.conversions.get(self.speed_unit) speed = speed / (self.res_div * self.res_div_mul) actual = self.long_ticks[-1] + speed if actual > self.long_ticks[0]: #TODO test this in real conditions! ;) self.res_div_mul += 1 speed = speed / (self.res_div * self.res_div_mul) actual = self.long_ticks[-1] + speed self.cr.move_to(x, y) self.cr.line_to( x + (radius - (2 * inset)) * cos(actual * pi / 6.0), y + (radius - (2 * inset)) * sin(actual * pi / 6.0) ) self.cr.stroke() self.cr.restore() def draw_speed_text(self, speed, radius, x, y): self.cr.save() speed = '%.2f %s' %( speed * self.conversions.get(self.speed_unit), self.speed_unit ) self.cr.select_font_face( 'Georgia', cairo.FONT_SLANT_NORMAL, #cairo.FONT_WEIGHT_BOLD ) self.cr.set_font_size(radius / 10) x_bearing, y_bearing, t_width, t_height = self.cr.text_extents(speed)[:4] self.cr.move_to((x - t_width / 2), (y + radius) - self.long_inset(radius)) self.cr.show_text(speed) self.cr.restore() def get_x_y(self): rect = self.get_allocation() x = (rect.x + rect.width / 2.0) y = (rect.y + rect.height / 2.0) - 20 return x, y def get_radius(self, width, height): return min(width / 2.0, height / 2.0) - 20 class NauticalSpeedometer(Speedometer): HEADING_SAT_GAP = 0.8 GPS_PRNMAX = 32 # Above this number are SBAS satellites SAT_SIZE = 10 # radius of the satellite circle in skyview def __init__(self, speed_unit=None, maxspeed=100): Speedometer.__init__(self, speed_unit) self.connect('expose_event', self.expose_event) self.long_inset = lambda x: 0.05 * x self.mid_inset = lambda x: self.long_inset(x) / 1.5 self.short_inset = lambda x: self.long_inset(x) / 3 self.last_speed = 0 self.satellites = [] self.last_heading = 0 self.maxspeed = int(maxspeed) @staticmethod def polar2xy(radius, angle, polex, poley): '''convert Polar coordinate to Cartesian coordinate system the y axis in pygtk points downward Args: radius: angle: azimuth from from Polar coordinate system, in radian polex and poley are the Cartesian coordinate of the pole return a tuple contains (x, y)''' return (polex + cos(angle) * radius, poley - sin(angle) * radius) def expose_event(self, unused, event, empty=None): self.cr = self.window.cairo_create() self.cr.rectangle( event.area.x, event.area.y, event.area.width, event.area.height ) self.cr.clip() x, y = self.get_x_y() width, height = self.window.get_size() radius = self.get_radius(width, height) self.cr.set_line_width(radius / 100) self.draw_arc_and_ticks(width, height, radius, x, y) self.draw_heading(20, self.last_heading, radius, x, y) for sat in self.satellites: self.draw_sat(sat, radius * NauticalSpeedometer.HEADING_SAT_GAP, x, y) self.draw_speed(radius, x, y) def draw_text(self, x, y, text, fontsize=10): '''draw text at given location Args: x, y is the center of textbox''' txt = str(text) self.cr.new_sub_path() self.cr.set_source_rgba(0, 0, 0) self.cr.select_font_face('Sans', cairo.FONT_SLANT_NORMAL, cairo.FONT_WEIGHT_BOLD) self.cr.set_font_size(fontsize) (x_bearing, y_bearing, t_width, t_height) = self.cr.text_extents(txt)[:4] # set the center of textbox self.cr.move_to(x - t_width / 2, y + t_height / 2) self.cr.show_text(txt) def draw_arc_and_ticks(self, width, height, radius, x, y): '''Draw a serial of circle, with ticks in outmost circle''' self.cr.set_source_rgb(1.0, 1.0, 1.0) self.cr.rectangle(0, 0, width, height) self.cr.fill() self.cr.set_source_rgba(0, 0, 0) # draw the speedmeter arc rspeed = radius + 50 self.cr.arc(x, y, rspeed, 2 * pi / 3, 7 * pi / 3) self.cr.set_source_rgba(0, 0, 0, 1.0) self.cr.stroke() s_long = self.long_inset(rspeed) s_middle = self.mid_inset(radius) s_short = self.short_inset(radius) for i in xrange(11): #draw the large ticks alpha = (8 - i) * pi / 6 self.cr.move_to(*NauticalSpeedometer.polar2xy(rspeed, alpha, x, y)) self.cr.set_line_width(radius / 100) self.cr.line_to(*NauticalSpeedometer.polar2xy(rspeed - s_long, alpha, x, y)) self.cr.stroke() self.cr.set_line_width(radius / 200) xf, yf = NauticalSpeedometer.polar2xy(rspeed + 10, alpha, x, y) stxt = (self.maxspeed / 10) * i self.draw_text(xf, yf, stxt, fontsize=radius / 15) for i in xrange(1, 11): # middle tick alpha = (8 - i) * pi / 6 beta = (17 - 2 * i) * pi / 12 self.cr.move_to(*NauticalSpeedometer.polar2xy(rspeed, beta, x, y)) self.cr.line_to(*NauticalSpeedometer.polar2xy(rspeed - s_middle, beta, x, y)) # short tick for n in xrange(10): gamma = alpha + n * pi / 60 self.cr.move_to(*NauticalSpeedometer.polar2xy(rspeed, gamma, x, y)) self.cr.line_to(*NauticalSpeedometer.polar2xy(rspeed - s_short, gamma, x, y)) #draw the heading arc self.cr.new_sub_path() self.cr.arc(x, y, radius, 0, 2 * pi) self.cr.stroke() self.cr.arc(x, y, radius - 20, 0, 2 * pi) self.cr.set_source_rgba(0, 0, 0, 0.20) self.cr.fill() self.cr.set_source_rgba(0, 0, 0) # heading label 90/180/270 for n in xrange(0, 4): label = str(n * 90) #self.cr.set_source_rgba(0, 1, 0) #radius * (1 + NauticalSpeedometer.HEADING_SAT_GAP), tbox_x, tbox_y = NauticalSpeedometer.polar2xy(radius * 0.88, (1 - n) * pi / 2, x, y) self.draw_text(tbox_x, tbox_y, label, fontsize=radius / 20) # draw the satellite arcs skyradius = radius * NauticalSpeedometer.HEADING_SAT_GAP self.cr.set_line_width(radius / 200) self.cr.set_source_rgba(0, 0, 0) self.cr.arc(x, y, skyradius, 0, 2 * pi) self.cr.set_source_rgba(1, 1, 1) self.cr.fill() self.cr.set_source_rgba(0, 0, 0) self.cr.arc(x, y, skyradius * 2 / 3, 0, 2 * pi) self.cr.arc(x, y, skyradius / 3, 0, 2 * pi) # draw the cross hair self.cr.move_to(x - skyradius, y) self.cr.line_to(x + skyradius, y) self.cr.move_to(x, y - skyradius) self.cr.line_to(x, y + skyradius) self.cr.set_line_width(radius / 200) self.cr.stroke() long_inset = self.long_inset(radius) mid_inset = self.mid_inset(radius) short_inset = self.short_inset(radius) #draw the large ticks for i in xrange(12): agllong = i * pi / 6 self.cr.move_to(*NauticalSpeedometer.polar2xy(radius - long_inset, agllong, x, y)) self.cr.line_to(*NauticalSpeedometer.polar2xy(radius, agllong, x, y)) self.cr.set_line_width(radius / 100) self.cr.stroke() self.cr.set_line_width(radius / 200) # middle tick aglmid = (i + 0.5) * pi / 6 self.cr.move_to(*NauticalSpeedometer.polar2xy(radius - mid_inset, aglmid, x, y)) self.cr.line_to(*NauticalSpeedometer.polar2xy(radius, aglmid, x, y)) # short tick for n in xrange(1, 10): aglshrt = agllong + n * pi / 60 self.cr.move_to(*NauticalSpeedometer.polar2xy(radius - short_inset, aglshrt, x, y)) self.cr.line_to(*NauticalSpeedometer.polar2xy(radius, aglshrt, x, y)) self.cr.stroke() def draw_heading(self, trig_height, heading, radius, x, y): hypo = trig_height * 2 / sqrt(3) h = pi / 2 - radians(heading) # to xyz self.cr.set_line_width(2) self.cr.set_source_rgba(0, 0.3, 0.2, 0.8) # the triangle pointer x0 = x + radius * cos(h) y0 = y - radius * sin(h) x1 = x0 + hypo * cos(7 * pi / 6 + h) y1 = y0 - hypo * sin(7 * pi / 6 + h) x2 = x0 + hypo * cos(5 * pi / 6 + h) y2 = y0 - hypo * sin(5 * pi / 6 + h) self.cr.move_to(x0, y0) self.cr.line_to(x1, y1) self.cr.line_to(x2, y2) self.cr.line_to(x0, y0) self.cr.close_path() self.cr.fill() self.cr.stroke() # heading text (tbox_x, tbox_y) = NauticalSpeedometer.polar2xy(radius * 1.1, h, x, y) self.draw_text(tbox_x, tbox_y, int(heading), fontsize=radius / 15) # the ship shape, based on test and try shiplen = radius * NauticalSpeedometer.HEADING_SAT_GAP / 4 xh, yh = NauticalSpeedometer.polar2xy(shiplen * 2.3, h, x, y) xa, ya = NauticalSpeedometer.polar2xy(shiplen * 2.2, h + pi - 0.3, x, y) xb, yb = NauticalSpeedometer.polar2xy(shiplen * 2.2, h + pi + 0.3, x, y) xc, yc = NauticalSpeedometer.polar2xy(shiplen * 1.4, h - pi / 5, x, y) xd, yd = NauticalSpeedometer.polar2xy(shiplen * 1.4, h + pi / 5, x, y) self.cr.set_source_rgba(0, 0.3, 0.2, 0.5) self.cr.move_to(xa, ya) self.cr.line_to(xb, yb) self.cr.line_to(xc, yc) self.cr.line_to(xh, yh) self.cr.line_to(xd, yd) self.cr.close_path() self.cr.fill() #self.cr.stroke() def set_color(self, spec): '''Set foreground color for drawing.''' gdkcolor = gtk.gdk.color_parse(spec) r = gdkcolor.red / 65535.0 g = gdkcolor.green / 65535.0 b = gdkcolor.blue / 65535.0 self.cr.set_source_rgb(r, g, b) def draw_sat(self, satsoup, radius, x, y): """given a sat's elevation, azimath, SNR, draw it on the skyview Arg: satsoup: a dictionary {'el': xx, 'az': xx, 'ss': xx} """ h = pi / 2 - radians(satsoup['az']) # to xy self.cr.set_line_width(2) self.cr.set_source_rgb(0, 0, 0) x0, y0 = NauticalSpeedometer.polar2xy(radius * (90 - satsoup['el']) / 90, h, x, y) self.cr.new_sub_path() if satsoup['PRN'] > NauticalSpeedometer.GPS_PRNMAX: self.cr.rectangle(x0 - NauticalSpeedometer.SAT_SIZE, y0 - NauticalSpeedometer.SAT_SIZE, NauticalSpeedometer.SAT_SIZE * 2, NauticalSpeedometer.SAT_SIZE * 2) else: self.cr.arc(x0, y0, NauticalSpeedometer.SAT_SIZE, 0, pi * 2.0) if satsoup['ss'] < 10: self.set_color('Gray') elif satsoup['ss'] < 30: self.set_color('Red') elif satsoup['ss'] < 35: self.set_color('Yellow') elif satsoup['ss'] < 40: self.set_color('Green3') else: self.set_color('Green1') if satsoup['used']: self.cr.fill() else: self.cr.stroke() self.draw_text(x0, y0, satsoup['PRN'], fontsize=15) def draw_speed(self, radius, x, y): self.cr.new_sub_path() self.cr.set_line_width(20) self.cr.set_source_rgba(0, 0, 0, 0.5) speed = self.last_speed * self.conversions.get(self.speed_unit) # cariol arc angle start at polar 0, going clockwise alpha = 4 * pi / 3 beta = 2 * pi - alpha theta = 5 * pi * speed / (self.maxspeed * 3) self.cr.arc(x, y, radius + 40, beta, beta + theta) self.cr.stroke() #self.cr.close_path() #self.cr.fill() label = '%.2f %s' % (speed, self.speed_unit) self.draw_text(x, y + radius + 40, label, fontsize=20) def get_x_y(self): rect = self.get_allocation() x = (rect.x + rect.width / 2.0) y = (rect.y + rect.height / 2.0) - 20 return x, y def get_radius(self, width, height): return min(width / 2.0, height / 2.0) - 70 class Main(object): def __init__(self, host='localhost', port='2947', device=None, debug=0, speed_unit=None, maxspeed=0, nautical=False): self.host = host self.port = port self.device = device self.debug = debug self.speed_unit = speed_unit self.maxspeed = maxspeed self.nautical = nautical self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) if not self.window.get_display(): raise Exception("Can't open display") self.window.set_title('xgpsspeed') if self.nautical: self.window.set_size_request(500, 550) self.widget = NauticalSpeedometer(speed_unit=self.speed_unit, maxspeed=self.maxspeed) else: self.widget = LandSpeedometer(speed_unit=self.speed_unit) self.window.connect('delete_event', self.delete_event) self.window.connect('destroy', self.destroy) self.widget.show() vbox = gtk.VBox(False, 0) self.window.add(vbox) self.window.present() self.uimanager = gtk.UIManager() self.accelgroup = self.uimanager.get_accel_group() self.window.add_accel_group(self.accelgroup) self.actiongroup = gtk.ActionGroup('gpsspeed-ng') self.actiongroup.add_actions( [('Quit', gtk.STOCK_QUIT, '_Quit', None, 'Quit the Program', lambda unused: gtk.main_quit()), ('File', None, '_File'), ('Units', None, '_Units')] ) self.actiongroup.add_radio_actions( [('Imperial', None, '_Imperial', 'i', 'Imperial Units', 0), ('Metric', None, '_Metric', 'm', 'Metrical Units', 1), ('Nautical', None, '_Nautical', 'n', 'Nautical Units', 2) ], 0, lambda a, unused: setattr(self.widget, 'speed_unit', ['mph', 'kmh', 'knots'][a.get_current_value()]) ) self.uimanager.insert_action_group(self.actiongroup, 0) self.uimanager.add_ui_from_string(''' ''') self.active_unit_map = { 'mph': '/MenuBar/Units/Imperial', 'kmh': '/MenuBar/Units/Metric', 'knots': '/MenuBar/Units/Nautical' } menubar = self.uimanager.get_widget('/MenuBar') self.uimanager.get_widget( self.active_unit_map.get(self.speed_unit) ).set_active(True) vbox.pack_start(menubar, False, False, 0) vbox.add(self.widget) self.window.show_all() def watch(self, daemon, device): self.daemon = daemon self.device = device gobject.io_add_watch(daemon.sock, gobject.IO_IN, self.handle_response) gobject.io_add_watch(daemon.sock, gobject.IO_ERR, self.handle_hangup) gobject.io_add_watch(daemon.sock, gobject.IO_HUP, self.handle_hangup) return True def handle_response(self, source, condition): if self.daemon.read() == -1: self.handle_hangup(source, condition) if self.daemon.data['class'] == 'TPV': self.update_speed(self.daemon.data) if self.nautical and self.daemon.data['class'] == 'SKY': self.update_skyview(self.daemon.data) return True def handle_hangup(self, dummy, unused): w = gtk.MessageDialog( type=gtk.MESSAGE_ERROR, flags=gtk.DIALOG_DESTROY_WITH_PARENT, buttons=gtk.BUTTONS_OK ) w.connect("destroy", lambda unused: gtk.main_quit()) w.set_title('gpsd error') w.set_markup("gpsd has stopped sending data.") w.run() gtk.main_quit() return True def update_speed(self, data): if hasattr(data, 'speed'): self.widget.last_speed = data.speed self.widget.queue_draw() if self.nautical and hasattr(data, 'track'): self.widget.last_heading = data.track self.widget.queue_draw() # Used for NauticalSpeedometer only def update_skyview(self, data): "Update the satellite list and skyview." if hasattr(data, 'satellites'): self.widget.satellites = data.satellites self.widget.queue_draw() def delete_event(self, widget, event, data=None): #TODO handle all cleanup operations here return False def destroy(self, unused, empty=None): gtk.main_quit() def run(self): try: daemon = gps.gps( host=self.host, port=self.port, mode=gps.WATCH_ENABLE | gps.WATCH_JSON | gps.WATCH_SCALED, verbose=self.debug ) self.watch(daemon, self.device) gtk.main() except SocketError: w = gtk.MessageDialog( type=gtk.MESSAGE_ERROR, flags=gtk.DIALOG_DESTROY_WITH_PARENT, buttons=gtk.BUTTONS_OK ) w.set_title('socket error') w.set_markup( "could not connect to gpsd socket. make sure gpsd is running." ) w.run() w.destroy() except KeyboardInterrupt: self.window.emit('delete_event', gtk.gdk.Event(gtk.gdk.NOTHING)) if __name__ == '__main__': import sys from os.path import basename from optparse import OptionParser prog = basename(sys.argv[0]) usage = ('%s [-V|--version] [-h|--help] [--debug] [--host] ' + '[--port] [--device] [--speedunits {[mph] [kmh] [knots]}] ' + '[host [:port [:device]]]') %(prog) epilog = 'BSD terms apply: see the file COPYING in the distribution root for details.' parser = OptionParser(usage=usage, epilog=epilog) parser.add_option( '--host', dest='host', default='localhost', help='The host to connect. [Default localhost]' ) parser.add_option( '--port', dest='port', default='2947', help='The port to connect. [Default 2947]' ) parser.add_option( '--device', dest='device', default=None, help='The device to connet. [Default None]' ) parser.add_option( '--speedunits', dest='speedunits', default='mph', help='The unit of speed. Possible units are: mph, kmh, knots. [Default mph]' ) parser.add_option( '--maxspeed', dest='maxspeed', default='50', help='max speed of the speedmeter [Default 50]' ) parser.add_option( '--nautical', dest='nautical', default=False, action='store_true', help='Enable nautical-style speed and track display.' ) parser.add_option( '--debug', dest='debug', default=0, action='store', type='int', help='Set level of debug. Must be integer. [Default 0]' ) (options, args) = parser.parse_args() if args: arg = args[0].split(':') len_arg = len(arg) if len_arg == 1: (options.host,) = arg elif len_arg == 2: (options.host, options.port) = arg elif len_arg == 3: (options.host, options.port, options.device) = arg else: parser.print_help() sys.exit(0) Main( host=options.host, port=options.port, device=options.device, speed_unit=options.speedunits, maxspeed=options.maxspeed, nautical=options.nautical, debug=options.debug ).run() gpsd-3.9/packet_names.h0000444000175000017500000002052212140071775013274 0ustar esresr/* edit packet_states.h to add new packet types. */ "GROUND_STATE", /* we don't know what packet type to expect */ "COMMENT_BODY", /* pound comment for a test load */ "COMMENT_RECOGNIZED", /* comment recognized */ #ifdef NMEA_ENABLE "NMEA_DOLLAR", /* we've seen first character of NMEA leader */ "NMEA_BANG", /* we've seen first character of an AIS message '!' */ "NMEA_PUB_LEAD", /* seen second character of NMEA G leader */ "NMEA_VENDOR_LEAD", /* seen second character of NMEA P leader */ "NMEA_LEADER_END", /* seen end char of NMEA leader, in body */ "NMEA_PASHR_A", /* grind through recognizing $PASHR */ "NMEA_PASHR_S", /* grind through recognizing $PASHR */ "NMEA_PASHR_H", /* grind through recognizing $PASHR */ "NMEA_BINARY_BODY", /* Ashtech-style binary packet body, skip until \r\n */ "NMEA_BINARY_CR", /* \r on end of Ashtech-style binary packet */ "NMEA_BINARY_NL", /* \n on end of Ashtech-style binary packet */ "NMEA_CR", /* seen terminating \r of NMEA packet */ "NMEA_RECOGNIZED", /* saw trailing \n of NMEA packet */ "SIRF_ACK_LEAD_1", /* seen A of possible SiRF Ack */ "SIRF_ACK_LEAD_2", /* seen c of possible SiRF Ack */ "AIS_LEAD_1", /* seen A of possible marine AIS message */ "AIS_LEAD_2", /* seen I of possible marine AIS message */ "AIS_LEAD_ALT1", /* seen B of possible marine AIS message */ "AIS_LEAD_ALT2", /* seen S of possible marine AIS message */ "SEATALK_LEAD_1", /* SeaTalk/Garmin packet leader 'I' */ "WEATHER_LEAD_1", /* Weather instrument packet leader 'W' */ "HEADCOMP_LEAD_1", /* Heading/compass packet leader 'H' */ "TURN_LEAD_1", /* Turn indicator packet leader 'T' */ "ECDIS_LEAD_1", /* ECDIS packet leader 'E' */ "SOUNDER_LEAD_1", /* Depth sounder packet leader 'S' */ #endif /* NMEA_ENABLE */ "DLE_LEADER", /* we've seen the TSIP/EverMore leader (DLE) */ #ifdef TRIPMATE_ENABLE "ASTRAL_1", /* ASTRAL leader A */ "ASTRAL_2", /* ASTRAL leader S */ "ASTRAL_3", /* ASTRAL leader T */ "ASTRAL_4", /* ASTRAL leader R */ "ASTRAL_5", /* ASTRAL leader A */ #endif /* TRIPMATE_ENABLE */ #ifdef EARTHMATE_ENABLE "EARTHA_1", /* EARTHA leader E */ "EARTHA_2", /* EARTHA leader A */ "EARTHA_3", /* EARTHA leader R */ "EARTHA_4", /* EARTHA leader T */ "EARTHA_5", /* EARTHA leader H */ #endif /* EARTHMATE_ENABLE */ #ifdef SIRF_ENABLE "SIRF_LEADER_1", /* we've seen first character of SiRF leader */ "SIRF_LEADER_2", /* seen second character of SiRF leader */ "SIRF_LENGTH_1", /* seen first byte of SiRF length */ "SIRF_PAYLOAD", /* we're in a SiRF payload part */ "SIRF_DELIVERED", /* saw last byte of SiRF payload/checksum */ "SIRF_TRAILER_1", /* saw first byte of SiRF trailer */ "SIRF_RECOGNIZED", /* saw second byte of SiRF trailer */ #endif /* SIRF_ENABLE */ #ifdef ZODIAC_ENABLE "ZODIAC_EXPECTED", /* expecting Zodiac packet */ "ZODIAC_LEADER_1", /* saw leading 0xff */ "ZODIAC_LEADER_2", /* saw leading 0x81 */ "ZODIAC_ID_1", /* saw first byte of ID */ "ZODIAC_ID_2", /* saw second byte of ID */ "ZODIAC_LENGTH_1", /* saw first byte of Zodiac packet length */ "ZODIAC_LENGTH_2", /* saw second byte of Zodiac packet length */ "ZODIAC_FLAGS_1", /* saw first byte of FLAGS */ "ZODIAC_FLAGS_2", /* saw second byte of FLAGS */ "ZODIAC_HSUM_1", /* saw first byte of Header sum */ "ZODIAC_PAYLOAD", /* we're in a Zodiac payload */ "ZODIAC_RECOGNIZED", /* found end of the Zodiac packet */ #endif /* ZODIAC_ENABLE */ #if defined(TNT_ENABLE) || defined(GARMINTXT_ENABLE) || defined(ONCORE_ENABLE) "AT1_LEADER", /* saw True North status leader '@' */ /* Garmin Simple Text starts with @ leader */ /* Oncore starts with @ leader */ "GTXT_RECOGNIZED", /* */ #endif #ifdef EVERMORE_ENABLE "EVERMORE_LEADER_1", /* a DLE after having seen EverMore data */ "EVERMORE_LEADER_2", /* seen opening STX of EverMore packet */ "EVERMORE_PAYLOAD", /* in payload part of EverMore packet */ "EVERMORE_PAYLOAD_DLE",/* DLE in payload part of EverMore packet */ "EVERMORE_RECOGNIZED", /* found end of EverMore packet */ #endif /* EVERMORE_ENABLE */ #ifdef ITRAX_ENABLE "ITALK_LEADER_1", /* saw leading < of iTalk packet */ "ITALK_LEADER_2", /* saw leading ! of iTalk packet */ "ITALK_LENGTH", /* saw packet length */ "ITALK_PAYLOAD", /* in payload part of iTalk Packet */ "ITALK_DELIVERED", /* seen end of payload */ "ITALK_TRAILER", /* saw iTalk trailer byte */ "ITALK_RECOGNIZED", /* found end of the iTalk packet */ #endif /* ITRAX_ENABLE */ #ifdef NAVCOM_ENABLE "NAVCOM_EXPECTED", /* expecting Navcom packet */ "NAVCOM_LEADER_1", /* saw leading 0x02 */ "NAVCOM_LEADER_2", /* saw leading 0x99 */ "NAVCOM_LEADER_3", /* saw leading 0x66 */ "NAVCOM_ID", /* saw message ID */ "NAVCOM_LENGTH_1", /* saw first byte of Navcom packet length */ "NAVCOM_LENGTH_2", /* saw second byte of Navcom packet length */ "NAVCOM_PAYLOAD", /* we're in a Navcom payload */ "NAVCOM_CSUM", /* saw checksum */ "NAVCOM_RECOGNIZED", /* found end of the Navcom packet */ #endif /* NAVCOM_ENABLE */ #ifdef UBX_ENABLE "UBX_LEADER_1", /* first constant leader byte found */ "UBX_LEADER_2", /* second constant leader byte found */ "UBX_CLASS_ID", /* classid read */ "UBX_MESSAGE_ID", /* message id read */ "UBX_LENGTH_1", /* first length byte read (le) */ "UBX_LENGTH_2", /* second length byte read (le) */ "UBX_PAYLOAD", /* payload eating */ "UBX_CHECKSUM_A", /* checksum A byte (tcp checksum) */ "UBX_RECOGNIZED", /* this is also UBX_CHECKSUM_B */ #endif #ifdef SUPERSTAR2_ENABLE "SUPERSTAR2_LEADER", /* leading SOH */ "SUPERSTAR2_ID1", /* message type */ "SUPERSTAR2_ID2", /* message type xor 0xff */ "SUPERSTAR2_PAYLOAD", /* length of the actual packet data */ "SUPERSTAR2_CKSUM1", "SUPERSTAR2_CKSUM2", "SUPERSTAR2_RECOGNIZED", #endif #ifdef ONCORE_ENABLE "ONCORE_AT2", /* second @ */ "ONCORE_ID1", /* first character of command type */ "ONCORE_PAYLOAD", /* payload eating */ "ONCORE_CHECKSUM", /* checksum byte */ "ONCORE_CR", /* closing CR */ "ONCORE_RECOGNIZED", /* closing LF */ #endif #ifdef GEOSTAR_ENABLE "GEOSTAR_LEADER_1", /* first constant leader byte found */ "GEOSTAR_LEADER_2", /* second constant leader byte found */ "GEOSTAR_LEADER_3", /* third constant leader byte found */ "GEOSTAR_LEADER_4", /* forth constant leader byte found */ "GEOSTAR_MESSAGE_ID_1", /* first message id read */ "GEOSTAR_MESSAGE_ID_2", /* second message id read */ "GEOSTAR_LENGTH_1", /* first length byte read */ "GEOSTAR_LENGTH_2", /* second length byte read */ "GEOSTAR_PAYLOAD", /* payload eating */ "GEOSTAR_CHECKSUM_A", /* checksum A byte (xor checksum) */ "GEOSTAR_CHECKSUM_B", /* checksum B byte (xor checksum) */ "GEOSTAR_CHECKSUM_C", /* checksum C byte (xor checksum) */ "GEOSTAR_RECOGNIZED", /* this is also GEOSTAR_CHECKSUM_D */ #endif /* * Packet formats without checksums start here. We list them last so * that if a format with a conflicting structure *and* a checksum can * be recognized, that will be preferred. */ #if defined(TSIP_ENABLE) || defined(GARMIN_ENABLE) "TSIP_LEADER", /* a DLE after having seen TSIP data */ "TSIP_PAYLOAD", /* we're in TSIP payload */ "TSIP_DLE", /* we've seen a DLE in TSIP payload */ "TSIP_RECOGNIZED", /* found end of the TSIP packet */ "GARMIN_RECOGNIZED", /* found end of Garmin packet */ #endif /* TSIP_ENABLE GARMIN_ENABLE */ #ifdef RTCM104V2_ENABLE "RTCM2_SYNC_STATE", /* we have sync lock */ "RTCM2_SKIP_STATE", /* we have sync lock, but this character is bad */ "RTCM2_RECOGNIZED", /* we have an RTCM packet */ #endif /* RTCM104V2_ENABLE */ #ifdef RTCM104V3_ENABLE "RTCM3_LEADER_1", /* constant leader byte found */ "RTCM3_LEADER_2", /* second leader byte found (high 6 bits zero) */ "RTCM3_PAYLOAD", /* gathering payload */ "RTCM3_RECOGNIZED", /* RTCM3 packet recognized */ #endif #ifdef PASSTHROUGH_ENABLE "JSON_LEADER", /* JSON leading { found */ "JSON_STRINGLITERAL", /* start of JSON string literal seen */ "JSON_STRING_SOLIDUS", /* backslash in string */ "JSON_END_ATTRIBUTE", /* end of JSON attribute */ "JSON_EXPECT_VALUE", /* just after colon */ "JSON_END_VALUE", /* end of JSON value */ "JSON_NUMBER", /* inside a JSON numeric literal */ "JSON_SPECIAL", /* inside a JSON special literal (true,false,null) */ "JSON_RECOGNIZED", /* JSON packet recognized */ #endif /* end of packet_states.h */ gpsd-3.9/timebase.h0000664000175000017500000000006412140071777012440 0ustar esresr#define CENTURY_BASE 2000 #define LEAPSECOND_NOW 16 gpsd-3.9/ais_json.i0000444000175000017500000016707612140071761012463 0ustar esresr/* * This is code generated by jsongen.py. Do not hand-hack it! */ #define NITEMS(x) (int)(sizeof(x)/sizeof(x[0])) /*@ -fullinitblock */ const struct json_attr_t json_ais1[] = { AIS_HEADER {"status", t_uinteger, .addr.uinteger = &ais->type1.status, .dflt.uinteger = 0}, {"turn", t_integer, .addr.integer = &ais->type1.turn, .dflt.integer = AIS_TURN_NOT_AVAILABLE}, {"speed", t_uinteger, .addr.uinteger = &ais->type1.speed, .dflt.uinteger = AIS_SPEED_NOT_AVAILABLE}, {"accuracy", t_boolean, .addr.boolean = &ais->type1.accuracy, .dflt.boolean = false}, {"lon", t_integer, .addr.integer = &ais->type1.lon, .dflt.integer = AIS_LON_NOT_AVAILABLE}, {"lat", t_integer, .addr.integer = &ais->type1.lat, .dflt.integer = AIS_LAT_NOT_AVAILABLE}, {"course", t_uinteger, .addr.uinteger = &ais->type1.course, .dflt.uinteger = AIS_COURSE_NOT_AVAILABLE}, {"heading", t_uinteger, .addr.uinteger = &ais->type1.heading, .dflt.uinteger = AIS_HEADING_NOT_AVAILABLE}, {"second", t_uinteger, .addr.uinteger = &ais->type1.second, .dflt.uinteger = AIS_SEC_NOT_AVAILABLE}, {"maneuver", t_uinteger, .addr.uinteger = &ais->type1.maneuver, .dflt.uinteger = AIS_SEC_INOPERATIVE}, {"raim", t_boolean, .addr.boolean = &ais->type1.raim, .dflt.boolean = false}, {"radio", t_uinteger, .addr.uinteger = &ais->type1.radio, .dflt.uinteger = 0}, {NULL} }; char timestamp[JSON_VAL_MAX+1]; const struct json_attr_t json_ais4[] = { AIS_HEADER {"timestamp", t_string, .addr.string = timestamp, .len = sizeof(timestamp)}, {"accuracy", t_boolean, .addr.boolean = &ais->type4.accuracy, .dflt.boolean = true}, {"lon", t_integer, .addr.integer = &ais->type4.lon, .dflt.integer = AIS_LON_NOT_AVAILABLE}, {"lat", t_integer, .addr.integer = &ais->type4.lat, .dflt.integer = AIS_LAT_NOT_AVAILABLE}, {"epfd", t_uinteger, .addr.uinteger = &ais->type4.epfd, .dflt.uinteger = 0}, {"raim", t_boolean, .addr.boolean = &ais->type4.raim, .dflt.boolean = false}, {"radio", t_uinteger, .addr.uinteger = &ais->type4.radio, .dflt.uinteger = 0}, {NULL} }; char eta[JSON_VAL_MAX+1]; const struct json_attr_t json_ais5[] = { AIS_HEADER {"imo", t_uinteger, .addr.uinteger = &ais->type5.imo, .dflt.uinteger = 0}, {"ais_version", t_uinteger, .addr.uinteger = &ais->type5.ais_version, .dflt.uinteger = 0}, {"callsign", t_string, .addr.string = ais->type5.callsign, .len = sizeof(ais->type5.callsign)}, {"shipname", t_string, .addr.string = ais->type5.shipname, .len = sizeof(ais->type5.shipname)}, {"shiptype", t_uinteger, .addr.uinteger = &ais->type5.shiptype, .dflt.uinteger = 0}, {"to_bow", t_uinteger, .addr.uinteger = &ais->type5.to_bow, .dflt.uinteger = 0}, {"to_stern", t_uinteger, .addr.uinteger = &ais->type5.to_stern, .dflt.uinteger = 0}, {"to_port", t_uinteger, .addr.uinteger = &ais->type5.to_port, .dflt.uinteger = 0}, {"to_starboard", t_uinteger, .addr.uinteger = &ais->type5.to_starboard, .dflt.uinteger = 0}, {"epfd", t_uinteger, .addr.uinteger = &ais->type5.epfd, .dflt.uinteger = 0}, {"eta", t_string, .addr.string = eta, .len = sizeof(eta)}, {"draught", t_uinteger, .addr.uinteger = &ais->type5.draught, .dflt.uinteger = 0}, {"destination", t_string, .addr.string = ais->type5.destination, .len = sizeof(ais->type5.destination)}, {"dte", t_uinteger, .addr.uinteger = &ais->type5.dte, .dflt.uinteger = 1}, {NULL} }; char data[JSON_VAL_MAX+1]; const struct json_attr_t json_ais6[] = { AIS_HEADER AIS_TYPE6 {"data", t_string, .addr.string = data, .len = sizeof(data)}, {NULL} }; const struct json_attr_t json_ais6_fid10[] = { AIS_HEADER AIS_TYPE6 {"ana_int", t_uinteger, .addr.uinteger = &ais->type6.dac235fid10.ana_int, .dflt.uinteger = 0}, {"ana_ext1", t_uinteger, .addr.uinteger = &ais->type6.dac235fid10.ana_ext1, .dflt.uinteger = 0}, {"ana_ext2", t_uinteger, .addr.uinteger = &ais->type6.dac235fid10.ana_ext2, .dflt.uinteger = 0}, {"racon", t_uinteger, .addr.uinteger = &ais->type6.dac235fid10.racon, .dflt.uinteger = 0}, {"light", t_uinteger, .addr.uinteger = &ais->type6.dac235fid10.light, .dflt.uinteger = 0}, {"alarm", t_boolean, .addr.boolean = &ais->type6.dac235fid10.alarm, .dflt.boolean = false}, {"stat_ext", t_uinteger, .addr.uinteger = &ais->type6.dac235fid10.stat_ext, .dflt.uinteger = 0}, {"off_pos", t_boolean, .addr.boolean = &ais->type6.dac235fid10.off_pos, .dflt.boolean = false}, {NULL} }; char departure[JSON_VAL_MAX+1]; const struct json_attr_t json_ais6_fid12[] = { AIS_HEADER AIS_TYPE6 {"lastport", t_string, .addr.string = ais->type6.dac1fid12.lastport, .len = sizeof(ais->type6.dac1fid12.lastport)}, {"departure", t_string, .addr.string = departure, .len = sizeof(departure)}, {"nextport", t_string, .addr.string = ais->type6.dac1fid12.nextport, .len = sizeof(ais->type6.dac1fid12.nextport)}, {"eta", t_string, .addr.string = eta, .len = sizeof(eta)}, {"dangerous", t_string, .addr.string = ais->type6.dac1fid12.dangerous, .len = sizeof(ais->type6.dac1fid12.dangerous)}, {"imdcat", t_string, .addr.string = ais->type6.dac1fid12.imdcat, .len = sizeof(ais->type6.dac1fid12.imdcat)}, {"unid", t_uinteger, .addr.uinteger = &ais->type6.dac1fid12.unid, .dflt.uinteger = 0}, {"amount", t_uinteger, .addr.uinteger = &ais->type6.dac1fid12.amount, .dflt.uinteger = 0}, {"unit", t_uinteger, .addr.uinteger = &ais->type6.dac1fid12.unit, .dflt.uinteger = 0}, {NULL} }; const struct json_attr_t json_ais6_fid15[] = { AIS_HEADER AIS_TYPE6 {"airdraught", t_uinteger, .addr.uinteger = &ais->type6.dac1fid15.airdraught, .dflt.uinteger = 0}, {NULL} }; const struct json_attr_t json_ais6_fid16[] = { AIS_HEADER AIS_TYPE6 {"persons", t_uinteger, .addr.uinteger = &ais->type6.dac1fid16.persons, .dflt.uinteger = 0}, {NULL} }; const struct json_attr_t json_ais6_fid25_cargos_subtype[] = { {"code", t_uinteger,STRUCTOBJECT(struct cargo_t, code), .dflt.uinteger = 0}, {"subtype", t_uinteger,STRUCTOBJECT(struct cargo_t, subtype), .dflt.uinteger = 0}, {NULL} }; /*@-type@*//* STRUCTARRAY confuses splint */ const struct json_attr_t json_ais6_fid25[] = { AIS_HEADER AIS_TYPE6 {"unit", t_uinteger, .addr.uinteger = &ais->type6.dac1fid25.unit, .dflt.uinteger = 0}, {"amount", t_uinteger, .addr.uinteger = &ais->type6.dac1fid25.amount, .dflt.uinteger = 0}, {"cargos", t_array, STRUCTARRAY(ais->type6.dac1fid25.cargos, json_ais6_fid25_cargos_subtype, &ais->type6.dac1fid25.ncargos)}, {NULL} }; /*@+type@*/ char arrival[JSON_VAL_MAX+1]; const struct json_attr_t json_ais6_fid18[] = { AIS_HEADER AIS_TYPE6 {"linkage", t_uinteger, .addr.uinteger = &ais->type6.dac1fid18.linkage, .dflt.uinteger = 0}, {"arrival", t_string, .addr.string = arrival, .len = sizeof(arrival)}, {"portname", t_string, .addr.string = ais->type6.dac1fid18.portname, .len = sizeof(ais->type6.dac1fid18.portname)}, {"destination", t_string, .addr.string = ais->type6.dac1fid18.destination, .len = sizeof(ais->type6.dac1fid18.destination)}, {"lon", t_integer, .addr.integer = &ais->type6.dac1fid18.lon, .dflt.integer = AIS_LON3_NOT_AVAILABLE}, {"lat", t_integer, .addr.integer = &ais->type6.dac1fid18.lat, .dflt.integer = AIS_LAT3_NOT_AVAILABLE}, {NULL} }; char berth_name[JSON_VAL_MAX+1]; const struct json_attr_t json_ais6_fid20[] = { AIS_HEADER AIS_TYPE6 {"linkage", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.linkage, .dflt.uinteger = 0}, {"berth_length", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.berth_length, .dflt.uinteger = 0}, {"berth_depth", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.berth_depth, .dflt.uinteger = 0}, {"position", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.position, .dflt.uinteger = 0}, {"arrival", t_string, .addr.string = arrival, .len = sizeof(arrival)}, {"availability", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.availability, .dflt.uinteger = 0}, {"agent", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.agent, .dflt.uinteger = 0}, {"fuel", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.fuel, .dflt.uinteger = 0}, {"chandler", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.chandler, .dflt.uinteger = 0}, {"stevedore", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.stevedore, .dflt.uinteger = 0}, {"electrical", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.electrical, .dflt.uinteger = 0}, {"water", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.water, .dflt.uinteger = 0}, {"customs", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.customs, .dflt.uinteger = 0}, {"cartage", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.cartage, .dflt.uinteger = 0}, {"crane", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.crane, .dflt.uinteger = 0}, {"lift", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.lift, .dflt.uinteger = 0}, {"medical", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.medical, .dflt.uinteger = 0}, {"navrepair", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.navrepair, .dflt.uinteger = 0}, {"provisions", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.provisions, .dflt.uinteger = 0}, {"shiprepair", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.shiprepair, .dflt.uinteger = 0}, {"surveyor", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.surveyor, .dflt.uinteger = 0}, {"steam", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.steam, .dflt.uinteger = 0}, {"tugs", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.tugs, .dflt.uinteger = 0}, {"solidwaste", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.solidwaste, .dflt.uinteger = 0}, {"liquidwaste", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.liquidwaste, .dflt.uinteger = 0}, {"hazardouswaste",t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.hazardouswaste, .dflt.uinteger = 0}, {"ballast", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.ballast, .dflt.uinteger = 0}, {"additional", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.additional, .dflt.uinteger = 0}, {"regional1", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.regional1, .dflt.uinteger = 0}, {"regional2", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.regional2, .dflt.uinteger = 0}, {"future1", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.future1, .dflt.uinteger = 0}, {"future2", t_uinteger, .addr.uinteger = &ais->type6.dac1fid20.future2, .dflt.uinteger = 0}, {"berth_name", t_string, .addr.string = berth_name, .len = sizeof(berth_name)}, {"berth_lon", t_integer, .addr.integer = &ais->type6.dac1fid20.berth_lon, .dflt.integer = AIS_LON3_NOT_AVAILABLE}, {"berth_lat", t_integer, .addr.integer = &ais->type6.dac1fid20.berth_lat, .dflt.integer = AIS_LAT3_NOT_AVAILABLE}, {NULL} }; char start[JSON_VAL_MAX+1]; const struct json_attr_t json_ais6_fid28_waypoints_subtype[] = { {"lon", t_integer, STRUCTOBJECT(struct waypoint_t, lon), .dflt.integer = AIS_LON4_NOT_AVAILABLE}, {"lat", t_integer, STRUCTOBJECT(struct waypoint_t, lat), .dflt.integer = AIS_LAT4_NOT_AVAILABLE}, {NULL} }; /*@-type@*//* STRUCTARRAY confuses splint */ const struct json_attr_t json_ais6_fid28[] = { AIS_HEADER AIS_TYPE6 {"linkage", t_uinteger, .addr.uinteger = &ais->type6.dac1fid28.linkage, .dflt.uinteger = 0}, {"sender", t_uinteger, .addr.uinteger = &ais->type6.dac1fid28.sender, .dflt.uinteger = 0}, {"rtype", t_uinteger, .addr.uinteger = &ais->type6.dac1fid28.rtype, .dflt.uinteger = 0}, {"start", t_string, .addr.string = start, .len = sizeof(start)}, {"duration", t_uinteger, .addr.uinteger = &ais->type6.dac1fid28.duration, .dflt.uinteger = 0}, {"waypoints", t_array, STRUCTARRAY(ais->type6.dac1fid28.waypoints, json_ais6_fid28_waypoints_subtype, &ais->type6.dac1fid28.waycount)}, {NULL} }; /*@+type@*/ const struct json_attr_t json_ais6_fid30[] = { AIS_HEADER AIS_TYPE6 {"linkage", t_uinteger, .addr.uinteger = &ais->type6.dac1fid30.linkage, .dflt.uinteger = 0}, {"text", t_string, .addr.string = ais->type6.dac1fid30.text, .len = sizeof(ais->type6.dac1fid30.text)}, {NULL} }; const struct json_attr_t json_ais6_fid32_tidals_subtype[] = { {"lon", t_integer, STRUCTOBJECT(struct tidal_t, lon), .dflt.integer = AIS_LON3_NOT_AVAILABLE}, {"lat", t_integer, STRUCTOBJECT(struct tidal_t, lat), .dflt.integer = AIS_LAT3_NOT_AVAILABLE}, {"from_hour", t_uinteger,STRUCTOBJECT(struct tidal_t, from_hour), .dflt.uinteger = AIS_MONTH_NOT_AVAILABLE}, {"from_min", t_uinteger,STRUCTOBJECT(struct tidal_t, from_min), .dflt.uinteger = AIS_MINUTE_NOT_AVAILABLE}, {"to_hour", t_uinteger,STRUCTOBJECT(struct tidal_t, to_hour), .dflt.uinteger = AIS_HOUR_NOT_AVAILABLE}, {"to_min", t_uinteger,STRUCTOBJECT(struct tidal_t, to_min), .dflt.uinteger = AIS_MINUTE_NOT_AVAILABLE}, {"cdir", t_uinteger,STRUCTOBJECT(struct tidal_t, cdir), .dflt.uinteger = DAC1FID32_CDIR_NOT_AVAILABLE}, {"cspeed", t_uinteger,STRUCTOBJECT(struct tidal_t, cspeed), .dflt.uinteger = DAC1FID32_CSPEED_NOT_AVAILABLE}, {NULL} }; /*@-type@*//* STRUCTARRAY confuses splint */ const struct json_attr_t json_ais6_fid32[] = { AIS_HEADER AIS_TYPE6 {"month", t_uinteger, .addr.uinteger = &ais->type6.dac1fid32.month, .dflt.uinteger = AIS_MONTH_NOT_AVAILABLE}, {"day", t_uinteger, .addr.uinteger = &ais->type6.dac1fid32.day, .dflt.uinteger = AIS_DAY_NOT_AVAILABLE}, {"tidals", t_array, STRUCTARRAY(ais->type6.dac1fid32.tidals, json_ais6_fid32_tidals_subtype, &ais->type6.dac1fid32.ntidals)}, {NULL} }; /*@+type@*/ const struct json_attr_t json_ais7[] = { AIS_HEADER {"mmsi1", t_uinteger, .addr.uinteger = &ais->type7.mmsi1, .dflt.uinteger = 0}, {"mmsi2", t_uinteger, .addr.uinteger = &ais->type7.mmsi2, .dflt.uinteger = 0}, {"mmsi3", t_uinteger, .addr.uinteger = &ais->type7.mmsi3, .dflt.uinteger = 0}, {"mmsi4", t_uinteger, .addr.uinteger = &ais->type7.mmsi4, .dflt.uinteger = 0}, {NULL} }; const struct json_attr_t json_ais8[] = { AIS_HEADER AIS_TYPE8 {"data", t_string, .addr.string = data, .len = sizeof(data)}, {NULL} }; const struct json_attr_t json_ais8_fid11[] = { AIS_HEADER AIS_TYPE8 {"lat", t_integer, .addr.integer = &ais->type8.dac1fid11.lat, .dflt.integer = DAC1FID11_LAT_NOT_AVAILABLE}, {"lon", t_integer, .addr.integer = &ais->type8.dac1fid11.lon, .dflt.integer = DAC1FID11_LON_NOT_AVAILABLE}, {"timestamp", t_string, .addr.string = timestamp, .len = sizeof(timestamp)}, {"wspeed", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.wspeed, .dflt.uinteger = DAC1FID11_WSPEED_NOT_AVAILABLE}, {"wgust", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.wgust, .dflt.uinteger = DAC1FID11_WSPEED_NOT_AVAILABLE}, {"wdir", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.wdir, .dflt.uinteger = DAC1FID11_WDIR_NOT_AVAILABLE}, {"wgustdir", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.wgustdir, .dflt.uinteger = DAC1FID11_WDIR_NOT_AVAILABLE}, {"airtemp", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.airtemp, .dflt.uinteger = DAC1FID11_AIRTEMP_NOT_AVAILABLE}, {"humidity", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.humidity, .dflt.uinteger = DAC1FID11_HUMIDITY_NOT_AVAILABLE}, {"dewpoint", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.dewpoint, .dflt.uinteger = DAC1FID11_DEWPOINT_NOT_AVAILABLE}, {"pressure", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.pressure, .dflt.uinteger = DAC1FID11_PRESSURE_NOT_AVAILABLE}, {"pressuretend", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.pressuretend, .dflt.uinteger = DAC1FID11_PRESSURETREND_NOT_AVAILABLE}, {"visibility", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.visibility, .dflt.uinteger = DAC1FID11_VISIBILITY_NOT_AVAILABLE}, {"waterlevel", t_integer, .addr.integer = &ais->type8.dac1fid11.waterlevel, .dflt.integer = DAC1FID11_WATERLEVEL_NOT_AVAILABLE}, {"leveltrend", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.leveltrend, .dflt.uinteger = DAC1FID11_WATERLEVELTREND_NOT_AVAILABLE}, {"cspeed", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.cspeed, .dflt.uinteger = DAC1FID11_CSPEED_NOT_AVAILABLE}, {"cdir", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.cdir, .dflt.uinteger = DAC1FID11_CDIR_NOT_AVAILABLE}, {"cspeed2", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.cspeed2, .dflt.uinteger = DAC1FID11_CSPEED_NOT_AVAILABLE}, {"cdir2", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.cdir2, .dflt.uinteger = DAC1FID11_CDIR_NOT_AVAILABLE}, {"cdepth2", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.cdepth2, .dflt.uinteger = DAC1FID11_CDEPTH_NOT_AVAILABLE}, {"cspeed3", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.cspeed3, .dflt.uinteger = DAC1FID11_CSPEED_NOT_AVAILABLE}, {"cdir3", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.cdir3, .dflt.uinteger = DAC1FID11_CDIR_NOT_AVAILABLE}, {"cdepth3", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.cdepth3, .dflt.uinteger = DAC1FID11_CDEPTH_NOT_AVAILABLE}, {"waveheight", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.waveheight, .dflt.uinteger = DAC1FID11_WAVEHEIGHT_NOT_AVAILABLE}, {"waveperiod", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.waveperiod, .dflt.uinteger = DAC1FID11_WAVEPERIOD_NOT_AVAILABLE}, {"wavedir", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.wavedir, .dflt.uinteger = DAC1FID11_WAVEDIR_NOT_AVAILABLE}, {"swellheight", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.swellheight, .dflt.uinteger = DAC1FID11_WAVEHEIGHT_NOT_AVAILABLE}, {"swellperiod", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.swellperiod, .dflt.uinteger = DAC1FID11_WAVEPERIOD_NOT_AVAILABLE}, {"swelldir", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.swelldir, .dflt.uinteger = DAC1FID11_WAVEDIR_NOT_AVAILABLE}, {"seastate", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.seastate, .dflt.uinteger = DAC1FID11_SEASTATE_NOT_AVAILABLE}, {"watertemp", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.watertemp, .dflt.uinteger = DAC1FID11_WATERTEMP_NOT_AVAILABLE}, {"preciptype", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.preciptype, .dflt.uinteger = DAC1FID11_PRECIPTYPE_NOT_AVAILABLE}, {"salinity", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.salinity, .dflt.uinteger = DAC1FID11_SALINITY_NOT_AVAILABLE}, {"ice", t_uinteger, .addr.uinteger = &ais->type8.dac1fid11.ice, .dflt.uinteger = DAC1FID11_ICE_NOT_AVAILABLE}, {NULL} }; const struct json_attr_t json_ais8_fid13[] = { AIS_HEADER AIS_TYPE8 {"reason", t_string, .addr.string = ais->type8.dac1fid13.reason, .len = sizeof(ais->type8.dac1fid13.reason)}, {"closefrom", t_string, .addr.string = ais->type8.dac1fid13.closefrom, .len = sizeof(ais->type8.dac1fid13.closefrom)}, {"closeto", t_string, .addr.string = ais->type8.dac1fid13.closeto, .len = sizeof(ais->type8.dac1fid13.closeto)}, {"radius", t_uinteger, .addr.uinteger = &ais->type8.dac1fid13.radius, .dflt.uinteger = AIS_DAC1FID13_RADIUS_NOT_AVAILABLE}, {"extunit", t_uinteger, .addr.uinteger = &ais->type8.dac1fid13.extunit, .dflt.uinteger = AIS_DAC1FID13_EXTUNIT_NOT_AVAILABLE}, {"fday", t_uinteger, .addr.uinteger = &ais->type8.dac1fid13.fday, .dflt.uinteger = AIS_DAY_NOT_AVAILABLE}, {"fmonth", t_uinteger, .addr.uinteger = &ais->type8.dac1fid13.fmonth, .dflt.uinteger = AIS_MONTH_NOT_AVAILABLE}, {"fhour", t_uinteger, .addr.uinteger = &ais->type8.dac1fid13.fhour, .dflt.uinteger = AIS_HOUR_NOT_AVAILABLE}, {"fminute", t_uinteger, .addr.uinteger = &ais->type8.dac1fid13.fminute, .dflt.uinteger = AIS_MINUTE_NOT_AVAILABLE}, {"tday", t_uinteger, .addr.uinteger = &ais->type8.dac1fid13.tday, .dflt.uinteger = AIS_DAY_NOT_AVAILABLE}, {"tmonth", t_uinteger, .addr.uinteger = &ais->type8.dac1fid13.tmonth, .dflt.uinteger = AIS_MONTH_NOT_AVAILABLE}, {"thour", t_uinteger, .addr.uinteger = &ais->type8.dac1fid13.thour, .dflt.uinteger = AIS_HOUR_NOT_AVAILABLE}, {"tminute", t_uinteger, .addr.uinteger = &ais->type8.dac1fid13.tminute, .dflt.uinteger = AIS_MINUTE_NOT_AVAILABLE}, {NULL} }; const struct json_attr_t json_ais8_fid15[] = { AIS_HEADER AIS_TYPE8 {"airdraught", t_uinteger, .addr.uinteger = &ais->type8.dac1fid15.airdraught, .dflt.uinteger = 0}, {NULL} }; const struct json_attr_t json_ais8_fid17_targets_subtype[] = { {"idtype", t_uinteger,STRUCTOBJECT(struct target_t, idtype), .dflt.uinteger = DAC1FID17_IDTYPE_OTHER}, {"id.mmsi", t_uinteger,STRUCTOBJECT(struct target_t, id.mmsi), .dflt.uinteger = 0}, {"id.imo", t_uinteger,STRUCTOBJECT(struct target_t, id.imo), .dflt.uinteger = 0}, {"id.callsign", t_string, STRUCTOBJECT(struct target_t, id.callsign), .len = DAC1FID17_ID_LENGTH}, {"id.other", t_string, STRUCTOBJECT(struct target_t, id.other), .len = DAC1FID17_ID_LENGTH}, {"lat", t_integer, STRUCTOBJECT(struct target_t, lat), .dflt.integer = AIS_LAT3_NOT_AVAILABLE}, {"lon", t_integer, STRUCTOBJECT(struct target_t, lon), .dflt.integer = AIS_LON3_NOT_AVAILABLE}, {"course", t_uinteger,STRUCTOBJECT(struct target_t, course), .dflt.uinteger = DAC1FID17_COURSE_NOT_AVAILABLE}, {"second", t_uinteger,STRUCTOBJECT(struct target_t, second), .dflt.uinteger = AIS_SECOND_NOT_AVAILABLE}, {"speed", t_uinteger,STRUCTOBJECT(struct target_t, speed), .dflt.uinteger = DAC1FID17_SPEED_NOT_AVAILABLE}, {NULL} }; /*@-type@*//* STRUCTARRAY confuses splint */ const struct json_attr_t json_ais8_fid17[] = { AIS_HEADER AIS_TYPE8 {"targets", t_array, STRUCTARRAY(ais->type8.dac1fid17.targets, json_ais8_fid17_targets_subtype, &ais->type8.dac1fid17.ntargets)}, {NULL} }; /*@+type@*/ const struct json_attr_t json_ais8_fid19[] = { AIS_HEADER AIS_TYPE8 {"linkage", t_uinteger, .addr.uinteger = &ais->type8.dac1fid19.linkage, .dflt.uinteger = 0}, {"station", t_string, .addr.string = ais->type8.dac1fid19.station, .len = sizeof(ais->type8.dac1fid19.station)}, {"lon", t_integer, .addr.integer = &ais->type8.dac1fid19.lon, .dflt.integer = AIS_LON3_NOT_AVAILABLE}, {"lat", t_integer, .addr.integer = &ais->type8.dac1fid19.lat, .dflt.integer = AIS_LAT3_NOT_AVAILABLE}, {"status", t_uinteger, .addr.uinteger = &ais->type8.dac1fid19.status, .dflt.uinteger = 0}, {"signal", t_uinteger, .addr.uinteger = &ais->type8.dac1fid19.signal, .dflt.uinteger = 0}, {"hour", t_uinteger, .addr.uinteger = &ais->type8.dac1fid19.hour, .dflt.uinteger = AIS_HOUR_NOT_AVAILABLE}, {"minute", t_uinteger, .addr.uinteger = &ais->type8.dac1fid19.minute, .dflt.uinteger = AIS_MINUTE_NOT_AVAILABLE}, {"nextsignal", t_uinteger, .addr.uinteger = &ais->type8.dac1fid19.nextsignal, .dflt.uinteger = 0}, {NULL} }; const struct json_attr_t json_ais8_fid27_waypoints_subtype[] = { {"lon", t_integer, STRUCTOBJECT(struct waypoint_t, lon), .dflt.integer = AIS_LON4_NOT_AVAILABLE}, {"lat", t_integer, STRUCTOBJECT(struct waypoint_t, lat), .dflt.integer = AIS_LAT4_NOT_AVAILABLE}, {NULL} }; /*@-type@*//* STRUCTARRAY confuses splint */ const struct json_attr_t json_ais8_fid27[] = { AIS_HEADER AIS_TYPE8 {"linkage", t_uinteger, .addr.uinteger = &ais->type8.dac1fid27.linkage, .dflt.uinteger = 0}, {"sender", t_uinteger, .addr.uinteger = &ais->type8.dac1fid27.sender, .dflt.uinteger = 0}, {"rtype", t_uinteger, .addr.uinteger = &ais->type8.dac1fid27.rtype, .dflt.uinteger = 0}, {"start", t_string, .addr.string = start, .len = sizeof(start)}, {"duration", t_uinteger, .addr.uinteger = &ais->type8.dac1fid27.duration, .dflt.uinteger = 0}, {"waypoints", t_array, STRUCTARRAY(ais->type8.dac1fid27.waypoints, json_ais8_fid27_waypoints_subtype, &ais->type8.dac1fid27.waycount)}, {NULL} }; /*@+type@*/ const struct json_attr_t json_ais8_fid29[] = { AIS_HEADER AIS_TYPE8 {"linkage", t_uinteger, .addr.uinteger = &ais->type8.dac1fid29.linkage, .dflt.uinteger = 0}, {"text", t_string, .addr.string = ais->type8.dac1fid29.text, .len = sizeof(ais->type8.dac1fid29.text)}, {NULL} }; const struct json_attr_t json_ais8_fid31[] = { AIS_HEADER AIS_TYPE8 {"lon", t_integer, .addr.integer = &ais->type8.dac1fid31.lon, .dflt.integer = DAC1FID31_LON_NOT_AVAILABLE}, {"lat", t_integer, .addr.integer = &ais->type8.dac1fid31.lat, .dflt.integer = DAC1FID31_LAT_NOT_AVAILABLE}, {"accuracy", t_boolean, .addr.boolean = &ais->type8.dac1fid31.accuracy, .dflt.boolean = false}, {"timestamp", t_string, .addr.string = timestamp, .len = sizeof(timestamp)}, {"wspeed", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.wspeed, .dflt.uinteger = DAC1FID31_WIND_NOT_AVAILABLE}, {"wgust", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.wgust, .dflt.uinteger = DAC1FID31_WIND_NOT_AVAILABLE}, {"wdir", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.wdir, .dflt.uinteger = DAC1FID31_DIR_NOT_AVAILABLE}, {"wgustdir", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.wgustdir, .dflt.uinteger = DAC1FID31_DIR_NOT_AVAILABLE}, {"airtemp", t_integer, .addr.integer = &ais->type8.dac1fid31.airtemp, .dflt.integer = DAC1FID31_AIRTEMP_NOT_AVAILABLE}, {"humidity", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.humidity, .dflt.uinteger = DAC1FID31_HUMIDITY_NOT_AVAILABLE}, {"dewpoint", t_integer, .addr.integer = &ais->type8.dac1fid31.dewpoint, .dflt.integer = DAC1FID31_DEWPOINT_NOT_AVAILABLE}, {"pressure", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.pressure, .dflt.uinteger = DAC1FID31_PRESSURE_NOT_AVAILABLE}, {"pressuretend", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.pressuretend, .dflt.uinteger = DAC1FID31_PRESSURETEND_NOT_AVAILABLE}, {"visgreater", t_boolean, .addr.boolean = &ais->type8.dac1fid31.visgreater, .dflt.boolean = false}, {"visibility", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.visibility, .dflt.uinteger = DAC1FID31_VISIBILITY_NOT_AVAILABLE}, {"waterlevel", t_integer, .addr.integer = &ais->type8.dac1fid31.waterlevel, .dflt.integer = DAC1FID31_WATERLEVEL_NOT_AVAILABLE}, {"leveltrend", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.leveltrend, .dflt.uinteger = DAC1FID31_WATERLEVELTREND_NOT_AVAILABLE}, {"cspeed", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.cspeed, .dflt.uinteger = DAC1FID31_CSPEED_NOT_AVAILABLE}, {"cdir", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.cdir, .dflt.uinteger = DAC1FID31_DIR_NOT_AVAILABLE}, {"cspeed2", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.cspeed2, .dflt.uinteger = DAC1FID31_CSPEED_NOT_AVAILABLE}, {"cdir2", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.cdir2, .dflt.uinteger = DAC1FID31_DIR_NOT_AVAILABLE}, {"cdepth2", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.cdepth2, .dflt.uinteger = DAC1FID31_CDEPTH_NOT_AVAILABLE}, {"cspeed3", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.cspeed3, .dflt.uinteger = DAC1FID31_CSPEED_NOT_AVAILABLE}, {"cdir3", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.cdir3, .dflt.uinteger = DAC1FID31_DIR_NOT_AVAILABLE}, {"cdepth3", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.cdepth3, .dflt.uinteger = DAC1FID31_CDEPTH_NOT_AVAILABLE}, {"waveheight", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.waveheight, .dflt.uinteger = DAC1FID31_HEIGHT_NOT_AVAILABLE}, {"waveperiod", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.waveperiod, .dflt.uinteger = DAC1FID31_PERIOD_NOT_AVAILABLE}, {"wavedir", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.wavedir, .dflt.uinteger = DAC1FID31_DIR_NOT_AVAILABLE}, {"swellheight", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.swellheight, .dflt.uinteger = DAC1FID31_HEIGHT_NOT_AVAILABLE}, {"swellperiod", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.swellperiod, .dflt.uinteger = DAC1FID31_PERIOD_NOT_AVAILABLE}, {"swelldir", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.swelldir, .dflt.uinteger = DAC1FID31_DIR_NOT_AVAILABLE}, {"seastate", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.seastate, .dflt.uinteger = DAC1FID31_SEASTATE_NOT_AVAILABLE}, {"watertemp", t_integer, .addr.integer = &ais->type8.dac1fid31.watertemp, .dflt.integer = DAC1FID31_WATERTEMP_NOT_AVAILABLE}, {"preciptype", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.preciptype, .dflt.uinteger = DAC1FID31_PRECIPTYPE_NOT_AVAILABLE}, {"salinity", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.salinity, .dflt.uinteger = DAC1FID31_SALINITY_NOT_AVAILABLE}, {"ice", t_uinteger, .addr.uinteger = &ais->type8.dac1fid31.ice, .dflt.uinteger = DAC1FID31_ICE_NOT_AVAILABLE}, {NULL} }; const struct json_attr_t json_ais9[] = { AIS_HEADER {"alt", t_uinteger, .addr.uinteger = &ais->type9.alt, .dflt.uinteger = AIS_ALT_NOT_AVAILABLE}, {"speed", t_uinteger, .addr.uinteger = &ais->type9.speed, .dflt.uinteger = AIS_SPEED_NOT_AVAILABLE}, {"accuracy", t_boolean, .addr.boolean = &ais->type9.accuracy, .dflt.boolean = false}, {"lon", t_integer, .addr.integer = &ais->type9.lon, .dflt.integer = AIS_LON_NOT_AVAILABLE}, {"lat", t_integer, .addr.integer = &ais->type9.lat, .dflt.integer = AIS_LAT_NOT_AVAILABLE}, {"course", t_uinteger, .addr.uinteger = &ais->type9.course, .dflt.uinteger = AIS_COURSE_NOT_AVAILABLE}, {"second", t_uinteger, .addr.uinteger = &ais->type9.second, .dflt.uinteger = AIS_SEC_NOT_AVAILABLE}, {"regional", t_uinteger, .addr.uinteger = &ais->type9.regional, .dflt.uinteger = 0}, {"dte", t_uinteger, .addr.uinteger = &ais->type9.dte, .dflt.uinteger = 1}, {"raim", t_boolean, .addr.boolean = &ais->type9.raim, .dflt.boolean = false}, {"radio", t_uinteger, .addr.uinteger = &ais->type9.radio, .dflt.uinteger = 0}, {NULL} }; const struct json_attr_t json_ais10[] = { AIS_HEADER {"dest_mmsi", t_uinteger, .addr.uinteger = &ais->type10.dest_mmsi, .dflt.uinteger = 0}, {NULL} }; const struct json_attr_t json_ais12[] = { AIS_HEADER {"seqno", t_uinteger, .addr.uinteger = &ais->type12.seqno, .dflt.uinteger = 0}, {"dest_mmsi", t_uinteger, .addr.uinteger = &ais->type12.dest_mmsi, .dflt.uinteger = 0}, {"retransmit", t_boolean, .addr.boolean = &ais->type12.retransmit, .dflt.boolean = 0}, {"text", t_string, .addr.string = ais->type12.text, .len = sizeof(ais->type12.text)}, {NULL} }; const struct json_attr_t json_ais14[] = { AIS_HEADER {"text", t_string, .addr.string = ais->type14.text, .len = sizeof(ais->type14.text)}, {NULL} }; const struct json_attr_t json_ais15[] = { AIS_HEADER {"mmsi1", t_uinteger, .addr.uinteger = &ais->type15.mmsi1, .dflt.uinteger = 0}, {"type1_1", t_uinteger, .addr.uinteger = &ais->type15.type1_1, .dflt.uinteger = 0}, {"offset1_1", t_uinteger, .addr.uinteger = &ais->type15.offset1_1, .dflt.uinteger = 0}, {"type1_2", t_uinteger, .addr.uinteger = &ais->type15.type1_2, .dflt.uinteger = 0}, {"offset1_2", t_uinteger, .addr.uinteger = &ais->type15.offset1_2, .dflt.uinteger = 0}, {"mmsi2", t_uinteger, .addr.uinteger = &ais->type15.mmsi2, .dflt.uinteger = 0}, {"type2_1", t_uinteger, .addr.uinteger = &ais->type15.type2_1, .dflt.uinteger = 0}, {"offset2_1", t_uinteger, .addr.uinteger = &ais->type15.offset2_1, .dflt.uinteger = 0}, {NULL} }; const struct json_attr_t json_ais16[] = { AIS_HEADER {"mmsi1", t_uinteger, .addr.uinteger = &ais->type16.mmsi1, .dflt.uinteger = 0}, {"offset1", t_uinteger, .addr.uinteger = &ais->type16.offset1, .dflt.uinteger = 0}, {"increment1", t_uinteger, .addr.uinteger = &ais->type16.increment1, .dflt.uinteger = 0}, {"mmsi2", t_uinteger, .addr.uinteger = &ais->type16.mmsi2, .dflt.uinteger = 0}, {"offset2", t_uinteger, .addr.uinteger = &ais->type16.offset2, .dflt.uinteger = 0}, {"increment2", t_uinteger, .addr.uinteger = &ais->type16.increment2, .dflt.uinteger = 0}, {NULL} }; const struct json_attr_t json_ais17[] = { AIS_HEADER {"lon", t_integer, .addr.integer = &ais->type17.lon, .dflt.integer = AIS_GNS_LON_NOT_AVAILABLE}, {"lat", t_integer, .addr.integer = &ais->type17.lat, .dflt.integer = AIS_GNS_LAT_NOT_AVAILABLE}, {"data", t_string, .addr.string = data, .len = sizeof(data)}, {NULL} }; const struct json_attr_t json_ais18[] = { AIS_HEADER {"reserved", t_uinteger, .addr.uinteger = &ais->type18.reserved, .dflt.uinteger = 0}, {"speed", t_uinteger, .addr.uinteger = &ais->type18.speed, .dflt.uinteger = AIS_SPEED_NOT_AVAILABLE}, {"accuracy", t_boolean, .addr.boolean = &ais->type18.accuracy, .dflt.boolean = false}, {"lon", t_integer, .addr.integer = &ais->type18.lon, .dflt.integer = AIS_LON_NOT_AVAILABLE}, {"lat", t_integer, .addr.integer = &ais->type18.lat, .dflt.integer = AIS_LAT_NOT_AVAILABLE}, {"course", t_uinteger, .addr.uinteger = &ais->type18.course, .dflt.uinteger = AIS_COURSE_NOT_AVAILABLE}, {"heading", t_uinteger, .addr.uinteger = &ais->type18.heading, .dflt.uinteger = AIS_HEADING_NOT_AVAILABLE}, {"second", t_uinteger, .addr.uinteger = &ais->type18.second, .dflt.uinteger = AIS_SEC_NOT_AVAILABLE}, {"regional", t_uinteger, .addr.uinteger = &ais->type18.regional, .dflt.uinteger = 0}, {"cs", t_boolean, .addr.boolean = &ais->type18.cs, .dflt.boolean = false}, {"display", t_boolean, .addr.boolean = &ais->type18.display, .dflt.boolean = false}, {"dsc", t_boolean, .addr.boolean = &ais->type18.dsc, .dflt.boolean = false}, {"band", t_boolean, .addr.boolean = &ais->type18.band, .dflt.boolean = false}, {"msg22", t_boolean, .addr.boolean = &ais->type18.msg22, .dflt.boolean = false}, {"raim", t_boolean, .addr.boolean = &ais->type18.raim, .dflt.boolean = false}, {"radio", t_uinteger, .addr.uinteger = &ais->type18.radio, .dflt.uinteger = 0}, {NULL} }; const struct json_attr_t json_ais19[] = { AIS_HEADER {"reserved", t_uinteger, .addr.uinteger = &ais->type19.reserved, .dflt.uinteger = 0}, {"speed", t_uinteger, .addr.uinteger = &ais->type19.speed, .dflt.uinteger = AIS_SPEED_NOT_AVAILABLE}, {"accuracy", t_boolean, .addr.boolean = &ais->type19.accuracy, .dflt.boolean = false}, {"lon", t_integer, .addr.integer = &ais->type19.lon, .dflt.integer = AIS_LON_NOT_AVAILABLE}, {"lat", t_integer, .addr.integer = &ais->type19.lat, .dflt.integer = AIS_LAT_NOT_AVAILABLE}, {"course", t_uinteger, .addr.uinteger = &ais->type19.course, .dflt.uinteger = AIS_COURSE_NOT_AVAILABLE}, {"heading", t_uinteger, .addr.uinteger = &ais->type19.heading, .dflt.uinteger = AIS_HEADING_NOT_AVAILABLE}, {"second", t_uinteger, .addr.uinteger = &ais->type19.second, .dflt.uinteger = AIS_SEC_NOT_AVAILABLE}, {"regional", t_uinteger, .addr.uinteger = &ais->type19.regional, .dflt.uinteger = 0}, {"shipname", t_string, .addr.string = ais->type19.shipname, .len = sizeof(ais->type19.shipname)}, {"shiptype", t_uinteger, .addr.uinteger = &ais->type19.shiptype, .dflt.uinteger = 0}, {"to_bow", t_uinteger, .addr.uinteger = &ais->type19.to_bow, .dflt.uinteger = 0}, {"to_stern", t_uinteger, .addr.uinteger = &ais->type19.to_stern, .dflt.uinteger = 0}, {"to_port", t_uinteger, .addr.uinteger = &ais->type19.to_port, .dflt.uinteger = 0}, {"to_starboard", t_uinteger, .addr.uinteger = &ais->type19.to_starboard, .dflt.uinteger = 0}, {"epfd", t_uinteger, .addr.uinteger = &ais->type19.epfd, .dflt.uinteger = 0}, {"raim", t_boolean, .addr.boolean = &ais->type19.raim, .dflt.boolean = false}, {"dte", t_uinteger, .addr.uinteger = &ais->type19.dte, .dflt.uinteger = 1}, {"assigned", t_boolean, .addr.boolean = &ais->type19.assigned, .dflt.boolean = false}, {NULL} }; const struct json_attr_t json_ais20[] = { AIS_HEADER {"offset1", t_uinteger, .addr.uinteger = &ais->type20.offset1, .dflt.uinteger = 0}, {"number1", t_uinteger, .addr.uinteger = &ais->type20.number1, .dflt.uinteger = 0}, {"timeout1", t_uinteger, .addr.uinteger = &ais->type20.timeout1, .dflt.uinteger = 0}, {"increment1", t_uinteger, .addr.uinteger = &ais->type20.increment1, .dflt.uinteger = 0}, {"offset2", t_uinteger, .addr.uinteger = &ais->type20.offset2, .dflt.uinteger = 0}, {"number2", t_uinteger, .addr.uinteger = &ais->type20.number2, .dflt.uinteger = 0}, {"timeout2", t_uinteger, .addr.uinteger = &ais->type20.timeout2, .dflt.uinteger = 0}, {"increment2", t_uinteger, .addr.uinteger = &ais->type20.increment2, .dflt.uinteger = 0}, {"offset3", t_uinteger, .addr.uinteger = &ais->type20.offset3, .dflt.uinteger = 0}, {"number3", t_uinteger, .addr.uinteger = &ais->type20.number3, .dflt.uinteger = 0}, {"timeout3", t_uinteger, .addr.uinteger = &ais->type20.timeout3, .dflt.uinteger = 0}, {"increment3", t_uinteger, .addr.uinteger = &ais->type20.increment3, .dflt.uinteger = 0}, {"offset4", t_uinteger, .addr.uinteger = &ais->type20.offset4, .dflt.uinteger = 0}, {"number4", t_uinteger, .addr.uinteger = &ais->type20.number4, .dflt.uinteger = 0}, {"timeout4", t_uinteger, .addr.uinteger = &ais->type20.timeout4, .dflt.uinteger = 0}, {"increment4", t_uinteger, .addr.uinteger = &ais->type20.increment4, .dflt.uinteger = 0}, {NULL} }; const struct json_attr_t json_ais21[] = { AIS_HEADER {"aid_type", t_uinteger, .addr.uinteger = &ais->type21.aid_type, .dflt.uinteger = 0}, {"name", t_string, .addr.string = ais->type21.name, .len = sizeof(ais->type21.name)}, {"accuracy", t_boolean, .addr.boolean = &ais->type21.accuracy, .dflt.boolean = false}, {"lon", t_integer, .addr.integer = &ais->type21.lon, .dflt.integer = AIS_LON_NOT_AVAILABLE}, {"lat", t_integer, .addr.integer = &ais->type21.lat, .dflt.integer = AIS_LAT_NOT_AVAILABLE}, {"to_bow", t_uinteger, .addr.uinteger = &ais->type21.to_bow, .dflt.uinteger = 0}, {"to_stern", t_uinteger, .addr.uinteger = &ais->type21.to_stern, .dflt.uinteger = 0}, {"to_port", t_uinteger, .addr.uinteger = &ais->type21.to_port, .dflt.uinteger = 0}, {"to_starboard", t_uinteger, .addr.uinteger = &ais->type21.to_starboard, .dflt.uinteger = 0}, {"epfd", t_uinteger, .addr.uinteger = &ais->type21.epfd, .dflt.uinteger = 0}, {"second", t_uinteger, .addr.uinteger = &ais->type21.second, .dflt.uinteger = 0}, {"regional", t_uinteger, .addr.uinteger = &ais->type21.regional, .dflt.uinteger = 0}, {"off_position", t_boolean, .addr.boolean = &ais->type21.off_position, .dflt.boolean = false}, {"raim", t_boolean, .addr.boolean = &ais->type21.raim, .dflt.boolean = false}, {"virtual_aid", t_boolean, .addr.boolean = &ais->type21.virtual_aid, .dflt.boolean = false}, {NULL} }; const struct json_attr_t json_ais22[] = { AIS_HEADER {"channel_a", t_uinteger, .addr.uinteger = &ais->type22.channel_a, .dflt.uinteger = 0}, {"channel_b", t_uinteger, .addr.uinteger = &ais->type22.channel_b, .dflt.uinteger = 0}, {"txrx", t_uinteger, .addr.uinteger = &ais->type22.txrx, .dflt.uinteger = 0}, {"power", t_boolean, .addr.boolean = &ais->type22.power, .dflt.boolean = false}, {"ne_lon", t_integer, .addr.integer = &ais->type22.area.ne_lon, .dflt.integer = AIS_GNS_LON_NOT_AVAILABLE}, {"ne_lat", t_integer, .addr.integer = &ais->type22.area.ne_lat, .dflt.integer = AIS_GNS_LAT_NOT_AVAILABLE}, {"sw_lon", t_integer, .addr.integer = &ais->type22.area.sw_lon, .dflt.integer = AIS_GNS_LON_NOT_AVAILABLE}, {"sw_lat", t_integer, .addr.integer = &ais->type22.area.sw_lat, .dflt.integer = AIS_GNS_LAT_NOT_AVAILABLE}, {"dest1", t_uinteger, .addr.uinteger = &ais->type22.mmsi.dest1, .dflt.uinteger = 0}, {"dest2", t_uinteger, .addr.uinteger = &ais->type22.mmsi.dest2, .dflt.uinteger = 0}, {"addressed", t_boolean, .addr.boolean = &ais->type22.addressed, .dflt.boolean = false}, {"band_a", t_boolean, .addr.boolean = &ais->type22.band_a, .dflt.boolean = false}, {"band_b", t_boolean, .addr.boolean = &ais->type22.band_b, .dflt.boolean = false}, {"zonesize", t_uinteger, .addr.uinteger = &ais->type22.zonesize, .dflt.uinteger = 0}, {NULL} }; const struct json_attr_t json_ais23[] = { AIS_HEADER {"ne_lon", t_integer, .addr.integer = &ais->type23.ne_lon, .dflt.integer = AIS_GNS_LON_NOT_AVAILABLE}, {"ne_lat", t_integer, .addr.integer = &ais->type23.ne_lat, .dflt.integer = AIS_GNS_LAT_NOT_AVAILABLE}, {"sw_lon", t_integer, .addr.integer = &ais->type23.sw_lon, .dflt.integer = AIS_GNS_LON_NOT_AVAILABLE}, {"sw_lat", t_integer, .addr.integer = &ais->type23.sw_lat, .dflt.integer = AIS_GNS_LAT_NOT_AVAILABLE}, {"stationtype", t_uinteger, .addr.uinteger = &ais->type23.stationtype, .dflt.uinteger = 0}, {"shiptype", t_uinteger, .addr.uinteger = &ais->type23.shiptype, .dflt.uinteger = 0}, {"txrx", t_uinteger, .addr.uinteger = &ais->type23.txrx, .dflt.uinteger = 0}, {"interval", t_uinteger, .addr.uinteger = &ais->type23.interval, .dflt.uinteger = 0}, {"quiet", t_uinteger, .addr.uinteger = &ais->type23.quiet, .dflt.uinteger = 0}, {NULL} }; const struct json_attr_t json_ais24[] = { AIS_HEADER {"shipname", t_string, .addr.string = ais->type24.shipname, .len = sizeof(ais->type24.shipname)}, {"shiptype", t_uinteger, .addr.uinteger = &ais->type24.shiptype, .dflt.uinteger = 0}, {"vendorid", t_string, .addr.string = ais->type24.vendorid, .len = sizeof(ais->type24.vendorid)}, {"callsign", t_string, .addr.string = ais->type24.callsign, .len = sizeof(ais->type24.callsign)}, {"mothership_mmsi",t_uinteger, .addr.uinteger = &ais->type24.mothership_mmsi, .dflt.uinteger = 0}, {"to_bow", t_uinteger, .addr.uinteger = &ais->type24.dim.to_bow, .dflt.uinteger = 0}, {"to_stern", t_uinteger, .addr.uinteger = &ais->type24.dim.to_stern, .dflt.uinteger = 0}, {"to_port", t_uinteger, .addr.uinteger = &ais->type24.dim.to_port, .dflt.uinteger = 0}, {"to_starboard", t_uinteger, .addr.uinteger = &ais->type24.dim.to_starboard, .dflt.uinteger = 0}, {NULL} }; const struct json_attr_t json_ais25[] = { AIS_HEADER {"addressed", t_boolean, .addr.boolean = &ais->type25.addressed, .dflt.boolean = false}, {"structured", t_boolean, .addr.boolean = &ais->type25.structured, .dflt.boolean = false}, {"dest_mmsi", t_uinteger, .addr.uinteger = &ais->type25.dest_mmsi, .dflt.uinteger = 0}, {"app_id", t_uinteger, .addr.uinteger = &ais->type25.app_id, .dflt.uinteger = 0}, {"data", t_string, .addr.string = data, .len = sizeof(data)}, {NULL} }; const struct json_attr_t json_ais26[] = { AIS_HEADER {"addressed", t_boolean, .addr.boolean = &ais->type26.addressed, .dflt.boolean = false}, {"structured", t_boolean, .addr.boolean = &ais->type26.structured, .dflt.boolean = false}, {"dest_mmsi", t_uinteger, .addr.uinteger = &ais->type26.dest_mmsi, .dflt.uinteger = 0}, {"app_id", t_uinteger, .addr.uinteger = &ais->type26.app_id, .dflt.uinteger = 0}, {"data", t_string, .addr.string = data, .len = sizeof(data)}, {"radio", t_uinteger, .addr.uinteger = &ais->type26.radio, .dflt.uinteger = 0}, {NULL} }; const struct json_attr_t json_ais27[] = { AIS_HEADER {"status", t_uinteger, .addr.uinteger = &ais->type27.status, .dflt.uinteger = 0}, {"speed", t_uinteger, .addr.uinteger = &ais->type27.speed, .dflt.uinteger = AIS_LONGRANGE_SPEED_NOT_AVAILABLE}, {"accuracy", t_boolean, .addr.boolean = &ais->type27.accuracy, .dflt.boolean = false}, {"lon", t_integer, .addr.integer = &ais->type27.lon, .dflt.integer = AIS_LONGRANGE_LON_NOT_AVAILABLE}, {"lat", t_integer, .addr.integer = &ais->type27.lat, .dflt.integer = AIS_LONGRANGE_LAT_NOT_AVAILABLE}, {"course", t_uinteger, .addr.uinteger = &ais->type27.course, .dflt.uinteger = AIS_LONGRANGE_COURSE_NOT_AVAILABLE}, {"raim", t_boolean, .addr.boolean = &ais->type27.raim, .dflt.boolean = false}, {"gnss", t_boolean, .addr.boolean = &ais->type27.gnss, .dflt.boolean = true}, {NULL} }; /*@ +fullinitblock */ /* Generated code ends. */ gpsd-3.9/gps_maskdump.c0000444000175000017500000000337112140126056013323 0ustar esresr/* This code is generated. Do not hand-hack it! */ /* * Also, beware that it is something of a CPU hog when called on every packet. * Try to write guards so it is only called at higher log levels. */ #include #include #include "gpsd.h" const char *gps_maskdump(gps_mask_t set) { static char buf[190]; const struct { gps_mask_t mask; const char *name; } *sp, names[] = { {ONLINE_SET, "ONLINE"}, {TIME_SET, "TIME"}, {TIMERR_SET, "TIMERR"}, {LATLON_SET, "LATLON"}, {ALTITUDE_SET, "ALTITUDE"}, {SPEED_SET, "SPEED"}, {TRACK_SET, "TRACK"}, {CLIMB_SET, "CLIMB"}, {STATUS_SET, "STATUS"}, {MODE_SET, "MODE"}, {DOP_SET, "DOP"}, {HERR_SET, "HERR"}, {VERR_SET, "VERR"}, {ATTITUDE_SET, "ATTITUDE"}, {SATELLITE_SET, "SATELLITE"}, {SPEEDERR_SET, "SPEEDERR"}, {TRACKERR_SET, "TRACKERR"}, {CLIMBERR_SET, "CLIMBERR"}, {DEVICE_SET, "DEVICE"}, {DEVICELIST_SET, "DEVICELIST"}, {DEVICEID_SET, "DEVICEID"}, {RTCM2_SET, "RTCM2"}, {RTCM3_SET, "RTCM3"}, {AIS_SET, "AIS"}, {PACKET_SET, "PACKET"}, {SUBFRAME_SET, "SUBFRAME"}, {GST_SET, "GST"}, {VERSION_SET, "VERSION"}, {POLICY_SET, "POLICY"}, {LOGMESSAGE_SET, "LOGMESSAGE"}, {ERROR_SET, "ERROR"}, {RAW_IS, "RAW"}, {USED_IS, "USED"}, {DRIVER_IS, "DRIVER"}, {CLEAR_IS, "CLEAR"}, {REPORT_IS, "REPORT"}, {NODATA_IS, "NODATA"}, {PPSTIME_IS, "PPSTIME"}, {PERR_IS, "PERR"}, {PASSTHROUGH_IS, "PASSTHROUGH"}, }; memset(buf, '\0', sizeof(buf)); buf[0] = '{'; for (sp = names; sp < names + sizeof(names)/sizeof(names[0]); sp++) if ((set & sp->mask)!=0) { (void)strlcat(buf, sp->name, sizeof(buf)); (void)strlcat(buf, "|", sizeof(buf)); } if (buf[1] != '\0') buf[strlen(buf)-1] = '\0'; (void)strlcat(buf, "}", sizeof(buf)); return buf; } gpsd-3.9/revision.h0000664000175000017500000000002712140126056012473 0ustar esresr#define REVISION "3.9" gpsd-3.9/gpsd.php0000444000175000017500000004445412140072036012140 0ustar esresr # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above # copyright notice and this permission notice appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # Changed to Google Maps API v3, requires no API key, and shorter code # Sanjeev Gupta 2013-01-05 global $head, $blurb, $title, $showmap, $autorefresh, $footer, $gmap_key; global $server, $advertise, $port, $open, $swap_ew, $testmode; $testmode = 1; # leave this set to 1 # Public script parameters: # host: host name or address where GPSd runs. Default: from config file # port: port of GPSd. Default: from config file # op=view: show just the skyview image instead of the whole HTML page # sz=small: used with op=view, display a small (240x240px) skyview # op=json: respond with the GPSd POLL JSON structure # jsonp=prefix: used with op=json, wrap the POLL JSON in parentheses # and prepend prefix # If you're running PHP with the Suhosin patch (like the Debian PHP5 package), # it may be necessary to increase the value of the # suhosin.get.max_value_length parameter to 2048. The imgdata parameter used # for displaying the skyview is longer than the default 512 allowed by Suhosin. # Debian has the config file at /etc/php5/conf.d/suhosin.ini. # this script shouldn't take more than a few seconds to run set_time_limit(3); ini_set('max_execution_time', 3); if (!file_exists("gpsd_config.inc")) write_config(); require_once("gpsd_config.inc"); # sample data $resp = <<0) && ($port<65536)) $port = $_GET['port']; if ($testmode){ $sock = @fsockopen($server, $port, $errno, $errstr, 2); @fwrite($sock, "?WATCH={\"enable\":true}\n"); usleep(1000); @fwrite($sock, "?POLL;\n"); usleep(1000); for($tries = 0; $tries < 10; $tries++){ $resp = @fread($sock, 2000); # SKY can be pretty big if (preg_match('/{"class":"POLL".+}/i', $resp, $m)){ $resp = $m[0]; break; } } @fclose($sock); if (!$resp) $resp = '{"class":"ERROR","message":"no response from GPS daemon"}'; } } if ($op == 'view') gen_image($resp); else if ($op == 'json') write_json($resp); else write_html($resp); exit(0); ########################################################################### function colorsetup($im){ $C['white'] = imageColorAllocate($im, 255, 255, 255); $C['ltgray'] = imageColorAllocate($im, 191, 191, 191); $C['mdgray'] = imageColorAllocate($im, 127, 127, 127); $C['dkgray'] = imageColorAllocate($im, 63, 63, 63); $C['black'] = imageColorAllocate($im, 0, 0, 0); $C['red'] = imageColorAllocate($im, 255, 0, 0); $C['brightgreen'] = imageColorAllocate($im, 0, 255, 0); $C['darkgreen'] = imageColorAllocate($im, 0, 192, 0); $C['blue'] = imageColorAllocate($im, 0, 0, 255); $C['cyan'] = imageColorAllocate($im, 0, 255, 255); $C['magenta'] = imageColorAllocate($im, 255, 0, 255); $C['yellow'] = imageColorAllocate($im, 255, 255, 0); $C['orange'] = imageColorAllocate($im, 255, 128, 0); return $C; } function legend($im, $sz, $C){ $r = 30; $fn = 5; $x = $sz - (4*$r+7) - 2; $y = $sz - $r - 3; imageFilledRectangle($im, $x, $y, $x + 4*$r + 7, $y + $r +1, $C['dkgray']); imageRectangle($im, $x+0*$r+1, $y+1, $x + 1*$r + 0, $y + $r, $C['red']); imageRectangle($im, $x+1*$r+2, $y+1, $x + 2*$r + 2, $y + $r, $C['yellow']); imageRectangle($im, $x+2*$r+4, $y+1, $x + 3*$r + 4, $y + $r, $C['darkgreen']); imageRectangle($im, $x+4*$r+6, $y+1, $x + 3*$r + 6, $y + $r, $C['brightgreen']); imageString($im, $fn, $x+3+0*$r, $y+$r/3, "<30", $C['red']); imageString($im, $fn, $x+5+1*$r, $y+$r/3, "30+", $C['yellow']); imageString($im, $fn, $x+7+2*$r, $y+$r/3, "35+", $C['darkgreen']); imageString($im, $fn, $x+9+3*$r, $y+$r/3, "40+", $C['brightgreen']); } function radial($angle, $sz){ #turn into radians $angle = deg2rad($angle); # determine length of radius $r = $sz * 0.5 * 0.95; # and convert length/azimuth to cartesian $x0 = sprintf("%d", (($sz * 0.5) - ($r * cos($angle)))); $y0 = sprintf("%d", (($sz * 0.5) - ($r * sin($angle)))); $x1 = sprintf("%d", (($sz * 0.5) + ($r * cos($angle)))); $y1 = sprintf("%d", (($sz * 0.5) + ($r * sin($angle)))); return array($x0, $y0, $x1, $y1); } function azel2xy($az, $el, $sz){ global $swap_ew; #rotate coords... 90deg W = 180deg trig $az += 270; #turn into radians $az = deg2rad($az); # determine length of radius $r = $sz * 0.5 * 0.95; $r -= ($r * ($el/90)); # and convert length/azimuth to cartesian $x = sprintf("%d", (($sz * 0.5) + ($r * cos($az)))); $y = sprintf("%d", (($sz * 0.5) + ($r * sin($az)))); if ($swap_ew == 0) $x = $sz - $x; return array($x, $y); } function splot($im, $sz, $C, $e){ if ((0 == $e['PRN']) || (0 == $e['az'] + $e['el'] + $e['ss']) || ($e['az'] < 0) || ($e['el'] < 0)) return; $color = $C['brightgreen']; if ($e['ss'] < 40) $color = $C['darkgreen']; if ($e['ss'] < 35) $color = $C['yellow']; if ($e['ss'] < 30) $color = $C['red']; if ($e['el']<10) $color = $C['blue']; if ($e['ss'] < 10) $color = $C['black']; list($x, $y) = azel2xy($e['az'], $e['el'], $sz); $r = 12; if (isset($_GET['sz']) && ($_GET['sz'] == 'small')) $r = 8; imageString($im, 3, $x+4, $y+4, $e['PRN'], $C['black']); if ($e['used'] == true) if ($e['PRN'] > 32) imageFilledDiamond($im, $x, $y, $r, $color); else imageFilledArc($im, $x, $y, $r, $r, 0, 360, $color, 0); else if ($e['PRN'] > 32) imageDiamond($im, $x, $y, $r, $color); else imageArc($im, $x, $y, $r, $r, 0, 360, $color); } function imageDiamond($im, $x, $y, $r, $color){ $t = $r/2; # this lunacy is because imagesetthickness doesn't seem to work $vx = array ( $x+$t, $y, $x, $y+$t, $x-$t, $y, $x, $y-$t ); imagepolygon($im, $vx, 4, $color); $t--; $vx = array ( $x+$t, $y, $x, $y+$t, $x-$t, $y, $x, $y-$t ); imagepolygon($im, $vx, 4, $color); $t--; $vx = array ( $x+$t, $y, $x, $y+$t, $x-$t, $y, $x, $y-$t ); imagepolygon($im, $vx, 4, $color); } function imageFilledDiamond($im, $x, $y, $r, $color){ $t = $r/2; while($t){ $vx = array ( $x+$t, $y, $x, $y+$t, $x-$t, $y, $x, $y-$t ); imagepolygon($im, $vx, 4, $color); $t -= 0.5; } } function elevation($im, $sz, $C, $a){ $b = 90 - $a; $a = $sz * 0.95 * ($a/180); imageArc($im, $sz/2, $sz/2, $a*2, $a*2, 0, 360, $C['ltgray']); $x = $sz/2 - 16; $y = $sz/2 - $a; imageString($im, 2, $x, $y, $b, $C['ltgray']); } function skyview($im, $sz, $C){ global $swap_ew; $a = 90; $a = $sz * 0.95 * ($a/180); imageFilledArc($im, $sz/2, $sz/2, $a*2, $a*2, 0, 360, $C['mdgray'], 0); imageArc($im, $sz/2, $sz/2, $a*2, $a*2, 0, 360, $C['black']); $x = $sz/2 - 16; $y = $sz/2 - $a; imageString($im, 2, $x, $y, "0", $C['ltgray']); $a = 85; $a = $sz * 0.95 * ($a/180); imageFilledArc($im, $sz/2, $sz/2, $a*2, $a*2, 0, 360, $C['white'], 0); imageArc($im, $sz/2, $sz/2, $a*2, $a*2, 0, 360, $C['ltgray']); imageString($im, 1, $sz/2 - 6, $sz+$a, '5', $C['black']); $x = $sz/2 - 16; $y = $sz/2 - $a; imageString($im, 2, $x, $y, "5", $C['ltgray']); for($i = 0; $i < 180; $i += 15){ list($x0, $y0, $x1, $y1) = radial($i, $sz); imageLine($im, $x0, $y0, $x1, $y1, $C['ltgray']); } for($i = 15; $i < 90; $i += 15) elevation($im, $sz, $C, $i); $x = $sz/2 - 16; $y = $sz/2 - 8; /* imageString($im, 2, $x, $y, "90", $C['ltgray']); */ imageString($im, 4, $sz/2 + 4, 2 , 'N', $C['black']); imageString($im, 4, $sz/2 + 4, $sz - 16 , 'S', $C['black']); if ($swap_ew == 0){ imageString($im, 4, 4 , $sz/2 + 4, 'E', $C['black']); imageString($im, 4, $sz - 10 , $sz/2 + 4, 'W', $C['black']); } else { imageString($im, 4, 4 , $sz/2 + 4, 'W', $C['black']); imageString($im, 4, $sz - 10 , $sz/2 + 4, 'E', $C['black']); } } function gen_image($resp){ $sz = 600; if (isset($_GET['sz']) && ($_GET['sz'] == 'small')) $sz = 240; $GPS = json_decode($resp, true); if ($GPS['class'] != "POLL"){ die("json_decode error: $resp"); } $im = imageCreate($sz, $sz); $C = colorsetup($im); skyview($im, $sz, $C); if ($sz > 240) legend($im, $sz, $C); for($i = 0; $i < count($GPS['sky'][0]['satellites']); $i++){ splot($im, $sz, $C, $GPS['sky'][0]['satellites'][$i]); } header("Content-type: image/png"); imagePNG($im); imageDestroy($im); } function dfix($x, $y, $z){ if ($x < 0){ $x = sprintf("%f %s", -1 * $x, $z); } else { $x = sprintf("%f %s", $x, $y); } return $x; } function write_html($resp){ global $sock, $errstr, $errno, $server, $port, $head, $body, $open; global $blurb, $title, $autorefresh, $showmap, $gmap_key, $footer; global $testmode, $advertise; $GPS = json_decode($resp, true); if ($GPS['class'] != 'POLL'){ die("json_decode error: $resp"); } header("Content-type: text/html; charset=UTF-8"); global $lat, $lon; $lat = (float)$GPS['tpv'][0]['lat']; $lon = (float)$GPS['tpv'][0]['lon']; $x = $server; $y = $port; $imgdata = base64_encode($resp); $server = $x; $port = $y; if ($autorefresh > 0) $autorefresh = ""; else $autorefresh = ''; $map_head = $map_body = $map_code = ''; if ($showmap == 1) { $map_head = gen_gmap_head(); $map_body = 'onload="Load()" onunload="GUnload()"'; $map_code = gen_map_code(); } else if ($showmap == 2) { $map_head = gen_osm_head(); $map_body = 'onload="Load()"'; $map_code = gen_map_code(); } $part1 = << {$head} {$map_head} {$title} - GPSD Test Station {$lat}, {$lon} {$autorefresh}
EOF; if (!strlen($advertise)) $advertise = $server; if ($testmode && !$sock) $part2 = ""; else $part2 = << EOF; if (!$open) $part3 = ''; else $part3 = << EOF; if ($testmode && !$sock) $part4 = ""; else { $fix = $GPS['tpv'][0]; $sky = $GPS['sky'][0]; $sats = $sky['satellites']; $nsv = count($sats); $ts = $fix['time']; $sat = ''; foreach($sats as $s) $sat .= sprintf( "\t\n", $s['PRN'], $s['el'], $s['az'], $s['ss'], $s['used'] ? 'Y' : 'N' ); $part4 = << EOF; } $part5 = << {$footer}

This script is distributed by the GPSD project.

EOF; print $part1 . $part2 . $part3 . $part4 . $part5; } function write_json($resp){ header('Content-Type: text/javascript'); if (isset($_GET['jsonp'])) print "{$_GET['jsonp']}({$resp})"; else print $resp; } function write_config(){ $f = fopen("gpsd_config.inc", "a"); if (!$f) die("can't generate prototype config file. try running this script as root in DOCUMENT_ROOT"); $buf = <<gpsd server located someplace. The hardware is a hardware description and link. This machine is maintained by Your Name Goes Here.
EOT; ?> EOB; fwrite($f, $buf); fclose($f); } function gen_gmap_head() { global $gmap_key; return << EOT; } function gen_osm_head() { global $GPS; return << EOT; } function gen_map_code() { return <<
Loading...
EOT; } ?> gpsd-3.9/gpsctl.10000664000175000017500000001551212140072037012046 0ustar esresr'\" t .\" Title: gpsctl .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.76.1 .\" Date: 29 Oct 2006 .\" Manual: GPSD Documentation .\" Source: The GPSD Project .\" Language: English .\" .TH "GPSCTL" "1" "29 Oct 2006" "The GPSD Project" "GPSD Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" gpsctl \- control the modes of a GPS .SH "SYNOPSIS" .HP \w'\fBgpsctl\fR\ 'u \fBgpsctl\fR [\-h] [\-b | \-n] [\-x\ \fIcontrol\fR] [\-e] [\-f] [\-l] [\-s\ \fIspeed\fR] [\-t\ \fIdevicetype\fR] [\-D\ \fIdebuglevel\fR] [\-V] [\fIserial\-port\fR] .SH "DESCRIPTION" .PP gpsctl can switch a dual\-mode GPS between NMEA and vendor\-binary modes\&. It can also be used to set the device baudrate\&. Note: Not all devices have these capabilities\&. .PP If you have only one GPS attached to your machine, and gpsd is running, it is not necessary to specify the device; gpsctl does its work through gpsd, which will locate it for you\&. .PP When gpsd is not running, the device specification is required, and you will almost certainly need to be running as root in order to have write access to the device\&. .PP The program accepts the following options: .PP \-b .RS 4 Put the GPS into binary mode\&. After the GPS resets itself, autobaud to the new speed\&. .RE .PP \-c .RS 4 Change the GPS\*(Aqs cycle time\&. Units are seconds\&. Note, most GPSes have a fixed cycle time of 1 second\&. .RE .PP \-e .RS 4 Generate the packet from any other arguments specified and ship it to standard output instead of the device\&. This switch can be used with the \fB\-t\fR option without specifying a device\&. Note: the packet data for a binary prototype will be raw, not ASCII\-ized in any way\&. .RE .PP \-f .RS 4 Force low\-level access (not through the daemon)\&. .RE .PP \-l .RS 4 List a table showing which option switches can be applied to which device types, and exit\&. .RE .PP \-n .RS 4 Put GPS into NMEA mode\&. After the GPS resets itself autobaud to its new speed\&. .RE .PP \-s .RS 4 Set the baud rate at which the GPS emits packets\&. .sp Use this option with caution\&. On USB and Bluetooth GPSes it is also possible for serial mode setting to fail either because the serial adaptor chip does not support non\-8N1 modes or because the device firmware does not properly synchronize the serial adaptor chip with the UART on the GPS chipset when the speed changes\&. These failures can hang your device, possibly requiring a GPS power cycle or (in extreme cases) physically disconnecting the NVRAM backup battery\&. .RE .PP \-t .RS 4 Force the device type\&. .RE .PP \-x .RS 4 Send a specified control string to the GPS; gpsctl will provide packet headers and trailers and checksum as appropriate for binary packet types, and whatever checksum and trailer is required for text packet types\&. (You must include the leading $ for NMEA packets\&.) When sending to a UBX device, the first two bytes of the string supplied will become the message class and type, and the remainder the payload\&. When sending to a Navcom NCT or Trimble TSIP device, the first byte is interpreted as the command ID and the rest as payload\&. When sending to a Zodiac device, the first two bytes are used as a message ID of type little\-endian short, and the remainder as payload in byte pairs interpreted as little\-endian short\&. For all other supported binary GPSes (notably including SiRF) the string is taken as the entire message payload and wrapped with appropriate header, trailer and checksum bytes\&. C\-style backslash escapes in the string, notably \exNN for hex, will be interpreted; additionally, \ee will be replaced with ESC\&. This switch implies \fB\-f\fR\&. .RE .PP \-T .RS 4 Change the sampling timeout\&. Defaults to 4 seconds, which should always be sufficient to get a packet from a device emitting at the normal rate of 1 per second\&. .RE .PP \-h .RS 4 Display program usage and exit\&. .RE .PP \-D .RS 4 Set level of debug messages\&. .RE .PP \-V .RS 4 Display program version and exit\&. .RE .PP The argument of the forcing option\&. \fB\-t\fR, should be a string which should be contained in exactly one of the known driver names; for a list, do \fBgpsctl \-l\fR\&. .PP Forcing the device type behaves somewhat differently depending on whether this tool is going through the daemon or not\&. In high\-level mode, if the device that daemon selects for you doesn\*(Aqt match the driver you specified, gpsctl exits with a warning\&. (This may be useful in scripts\&.) .PP In low\-level mode, if the device identifies as a Generic NMEA, use the selected driver instead\&. This will be useful if you have a GPS device of known type that is in NMEA mode and not responding to probes\&. (This option was originally implemented for talking to SiRFStar I chips, which don\*(Aqt respond to the normal SiRF ID probe\&.) .PP If no options are given, the program will display a message identifying the GPS type of the selected device and exit\&. .PP Reset (\-r) operations must stand alone; others can be combined\&. Multiple options will be executed in tis order: mode changes (\-b and \-n) first, speed changes (\-s) second, and control\-string sends (\-c) last\&. .SH "EXAMPLES" .PP \fBgpsctl /dev/ttyUSB0\fR .RS 4 Attempt to identify the device on USB serial device 0\&. Time out after the default number of seconds\&. Adding the \fB\-f\fR will force low\-level access and suppress the normal complaint when this tool can\*(Aqt find a GPSD to work through\&. .RE .PP gpsctl \-f \-n \-s 9600 /dev/ttyUSB0 .RS 4 Use low\-level operations (not going through a gpsd instance) to switch a GPS to NMEA mode at 9600bps\&. The tool will identify the GPS type itself\&. .RE .SH "BUGS" .PP SiRF GPSes can only be identified by the success of an attempt to flip them into SiRF binary mode\&. Thus, the process of probing one of these running in NMEA will change its behavior\&. .SH "SEE ALSO" .PP \fBgpsd\fR(8), \fBgpsdctl\fR(8), \fBgps\fR(1), \fBlibgps\fR(3), \fBlibgpsd\fR(3), \fBgpsprof\fR(1), \fBgpsfake\fR(1)\&. .SH "AUTHOR" .PP Eric S\&. Raymond esr@thyrsus\&.com\&. gpsd-3.9/gpsmon.10000664000175000017500000002624412140072037012061 0ustar esresr'\" t .\" Title: gpsmon .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.76.1 .\" Date: 17 Feb 2009 .\" Manual: GPSD Documentation .\" Source: The GPSD Project .\" Language: English .\" .TH "GPSMON" "1" "17 Feb 2009" "The GPSD Project" "GPSD Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" gpsmon \- real\-time GPS packet monitor and control utility .SH "SYNOPSIS" .HP \w'\fBgpsmon\fR\ 'u \fBgpsmon\fR [\-L] [\-V] [\-h] [\-n] [\-l\ \fIlogfile\fR] [\-t\ \fIdriver\-prefix\fR] [[\ \fIserver\fR\ [\fI:port\fR\ [\fI:device\fR]]\ |\ \fIdevice\fR]] [\-D\ \fIdebuglevel\fR] .SH "DESCRIPTION" .PP gpsmon is a monitor that watches packets coming from a GPS and displays them along with diagnostic information\&. It supports commands that can be used to tweak GPS settings in various ways; some are device\-independent, some vary with the GPS chipset type\&. It will behave sanely, just dumping packets, when connected to a GPS type it knows nothing about\&. .PP gpsmon differs from a navigation client in that it mostly dumps raw data from the GPS, with only enough data\-massaging to allow checks against expected output\&. In particular, this tool does not do any interpolation or modeling to derive climb/sink or error estimates\&. Nor does it discard altitude reports when the fix quality is too low\&. .PP gpsmon is a designed to run in a terminal emulator with a minimum 25x80 size; the non\-GUI interface is a design choice made to accommodate users operating in constrained environments and over telnet or ssh connections\&. If run in a larger window, the size of the packet\-log window will be increased to fit\&. .PP gpsmon accepts an \-h option that displays a usage message, or a \-V option to dump the package version and exit\&. .PP This program may be run in either of two modes, as a client for the gpsd daemon (and its associated control socket) or directly connected to a specified serial device\&. When run with no argument, it attempts to connect to the daemon\&. If the argument looks like a server:port specification it will also attempt to connect to the daemon\&. If the argument looks like a bare server name it will attempt to connect to a daemon running on the default gpsd port on that server\&. Only if the device argument contains slashes but no colons will it be treated as a serial device for direct connection\&. In direct\-connect mode gpsmon will hunt for a correct baud rate and lock on to it automatically\&. .PP The \-F option is only valid in client mode; it specifies a control socket to which the program should send device control strings\&. You must specify a valid pathname of a Unix\-domain socket on your local filesystem\&. .PP The \-D option enables packet\-getter debugging output and is probably only useful to developers of the GPSD code\&. Consult the packet\-getter source code for relevant values\&. .PP The \-L option lists a table showing which GPS device types gpsmon has built\-in support for, and which generic commands can be applied to which GPS types, and then exits\&. Note that this does not list type\-specific commands associated with individual GPS types\&. .PP The \-l option sets up logging to a specified file to start immediately on device open\&. This may be useful is, for example, you want to capture the startup message from a device that displays firmware version information there\&. .PP The \-n option forces gpsmon to request nmea183 packets instead of the raw datastream from gpsd\&. .PP The \-t option sets up a fallback type\&. Give it a string that is a distinguishing prefix of exactly one driver type name; this will be used for mode, speed, and rate switching if the driver selected by the packet type lacks those capabilities\&. Most useful when the packet type is NMEA but the device is known to have a binary mode, such as SiRF binary\&. .PP After startup, the top part of the screen reports the contents of several especially interesting packet types\&. The bottom half of the screen is a scrolling hex dump of all packets the GPS is issuing\&. Dump lines beginning >>> represent control packets sent to the GPS\&. .SH "COMMANDS" .PP The following device\-independent commands are available while gpsmon is running: .PP i .RS 4 (Direct mode only\&.) Enable/disable subtype probing and reinitialize the driver\&. In normal operation, gpsmon does not send configuration strings to the device (except for wakeup strings needed to get it to send data, if any)\&. The command \*(Aqi1\*(Aq causes it to send the same sequence of subtype probes that gpsd would\&. The command \*(Aqi0\*(Aq turns off probing; \*(Aqi\*(Aq alone toggles the bit\&. In either case, the current driver is re\-selected; if the probe bit is enabled, probes will begin to be issued immediately\&. .sp Note that enabling probing might flip the device into another mode; in particular, it will flip a SiRF chip into binary mode as if you had used the \(lqn\(rq command\&. This is due to a limitation in the SiRF firmware that we can\*(Aqt fix\&. .RE .PP c .RS 4 (Direct mode only\&.) Change cycle time\&. Follow it with a number interpreted as a cycle time in seconds\&. Most devices have a fixed cycle time of 1 second, so this command may fail with a message\&. .RE .PP l .RS 4 Toggle packet logging\&. If packet logging is on, it will be turned off and the log closed\&. If it is off, logging to the filename following the l will be enabled\&. Differs from simply capturing the data from the GPS device in that only whole packets are logged\&. The logfile is opened for append, so you can log more than one portion of the packet stream and they will be stitched together correctly\&. .RE .PP n .RS 4 (Direct mode only\&.) With an argument of 0, switch device to NMEA mode at current speed; with an argument of 1, change to binary (native) mode\&. With no argument, toggle the setting\&. Will show an error if the device doesn\*(Aqt have such modes\&. .RE .PP q .RS 4 Quit gpsmon\&. Control\-C, or whatever your current interrupt character is, works as well\&. .RE .PP s .RS 4 (Direct mode only\&.) Change baud rate\&. Follow it with a number interpreted as bits per second, for example "s9600"\&. The speed number may optionally be followed by a colon and a wordlength\-parity\-stopbits specification in the traditional style, e\&.g 8N1 (the default), 7E1, etc\&. Some devices don\*(Aqt support serial modes other than their default, so this command may fail with a message\&. .sp Use this command with caution\&. On USB and Bluetooth GPSes it is also possible for serial mode setting to fail either because the serial adaptor chip does not support non\-8N1 modes or because the device firmware does not properly synchronize the serial adaptor chip with the UART on the GPS chipset when the speed changes\&. These failures can hang your device, possibly requiring a GPS power cycle or (in extreme cases) physically disconnecting the NVRAM backup battery\&. .RE .PP t .RS 4 (Direct mode only\&.) Force a switch of monitoring type\&. Follow it with a string that is unique to the name of a gpsd driver with gpsmon support; gpsmon will switch to using that driver and display code\&. Will show an error message if there is no matching gpsd driver, or multiple matches, or the unique match has no display support in gpsmon\&. .RE .PP x .RS 4 (Direct mode only\&.) Send hex payload to device\&. Following the command letter you may type hex digit pairs; end with a newline\&. These will become the payload of a control packet shipped to the device\&. The packet will be wrapped with headers, trailers, and checksum appropriate for the current driver type\&. The first one or two bytes of the payload may be specially interpreted, see the description of the \fB\-x\fR of \fBgpsctl\fR(1)\&. .RE .PP X .RS 4 (Direct mode only\&.) Send raw hex bytes to device\&. Following the command letter you may type hex digit pairs; end with a newline\&. These will be shipped to the device\&. .RE .PP Ctrl\-S .RS 4 Freeze display, suspend scrolling in debug window\&. .RE .PP Ctrl\-Q .RS 4 Unfreeze display, resume normal operation\&. .RE .SS "NMEA support" .PP (These remarks apply to not just generic NMEA devices but all extended NMEA devices for which gpsmon presently has support\&.) .PP All fields are raw data from the GPS except the "Cooked PVT" window near top of screen, provided as a sheck\&. .PP There are no device\-specific commands\&. Which generic commands are available may vary by type: examine the output of \fBgpsmon \-l\fR to learn more\&. .SS "SiRF support" .PP Most information is raw from the GPS\&. Underlined fields are derived by translation from ECEF coordinates or application of leap\-second and local time\-zone offsets\&. .PP The following commands are supported for SiRF GPSes only: .PP A .RS 4 (Direct mode only\&.) Toggle reporting of 50BPS subframe data\&. .RE .PP M .RS 4 (Direct mode only\&.) Set (M1) or clear (M0) static navigation\&. The SiRF documentation says \(lqStatic navigation is a position filter designed to be used with motor vehicles\&. When the vehicle\*(Aqs velocity falls below a threshold, the position and heading are frozen, and velocity is set to zero\&. This condition will continue until the computed velocity rises above 1\&.2 times the threshold or until the computed position is at least a set distance from the frozen place\&. The threshold velocity and set distance may vary with software versions\&.\(rq .sp Non\-static mode is designed for use with road navigation software, which often snaps the reported position to the nearest road within some uncertainty radius\&. You probably want to turn static navigation off for pedestrian use, as it is likely to report speed zero and position changing in large jumps\&. .RE .PP P .RS 4 (Direct mode only\&.) Toggle navigation\-parameter display mode\&. Toggles between normal display and one that shows selected navigation parameters from MID 19, including the Static Navigation bit toggled by the \*(AqM\*(Aq command\&. .RE .PP To interpret what you see, you will need a copy of the SiRF Binary Protocol Reference Manual\&. .SH "BUGS AND LIMITATIONS" .PP If you run gpsmon in client mode, and kill the daemon while gpsmon is still running, gpsmon will hang\&. Don\*(Aqt do that\&.\&.\&. .SH "SEE ALSO" .PP \fBgpsd\fR(8), \fBgpsdctl\fR(8), \fBgps\fR(1), \fBlibgps\fR(3), \fBlibgpsd\fR(3), \fBgpsprof\fR(1), \fBgpsfake\fR(1), \fBgpsctl\fR(1), \fBgpscat\fR(1)\&. \fBgpspipe\fR(1)\&. .SH "AUTHOR" .PP Eric S\&. Raymond esr@thyrsus\&.com\&. gpsd-3.9/libQgpsmm.30000664000175000017500000000001712140072040012473 0ustar esresr.so libgpsmm.3 gpsd-3.9/gpsd.80000664000175000017500000010602612140072040011511 0ustar esresr'\" t .\" Title: gpsd .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.76.1 .\" Date: 9 Aug 2004 .\" Manual: GPSD Documentation .\" Source: The GPSD Project .\" Language: English .\" .TH "GPSD" "8" "9 Aug 2004" "The GPSD Project" "GPSD Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" gpsd \- interface daemon for GPS receivers .SH "SYNOPSIS" .HP \w'\fBgpsd\fR\ 'u \fBgpsd\fR [\-F\ \fIcontrol\-socket\fR] [\-S\ \fIlistener\-port\fR] [\-b] [\-l] [\-G] [\-n] [\-N] [\-h] [\-P\ \fIpidfile\fR] [\-D\ \fIdebuglevel\fR] [\-V] [[\fIsource\-name\fR]...] .SH "QUICK START" .PP If you have a GPS attached on the lowest\-numbered USB port of a Linux system, and want to read reports from it on TCP/IP port 2947, it will normally suffice to do this: .sp .if n \{\ .RS 4 .\} .nf gpsd /dev/ttyUSB0 .fi .if n \{\ .RE .\} .PP For the lowest\-numbered serial port: .sp .if n \{\ .RS 4 .\} .nf gpsd /dev/ttyS0 .fi .if n \{\ .RE .\} .PP Change the device number as appropriate if you need to use a different port\&. Command\-line flags enable verbose logging, a control port, and other optional extras but should not be needed for basic operation; the one exception, on very badly designed hardware, might be \fB\-b\fR (which see)\&. .PP On Linux systems supporting udev, gpsd is normally started automatically when a USB plugin event fires (if it is not already running) and is handed the name of the newly active device\&. In that case no invocation is required at all\&. .PP For your initial tests set your GPS hardware to speak NMEA, as gpsd is guaranteed to be able to process that\&. If your GPS has a native or binary mode with better performance that gpsd knows how to speak, gpsd will autoconfigure that mode\&. .PP You can verify correct operation by first starting gpsd and then xgps, the X windows test client\&. .PP If you have problems, the GPSD project maintains a >FAQ to assist troubleshooting\&. .SH "DESCRIPTION" .PP gpsd is a monitor daemon that collects information from GPSes, differential\-GPS radios, or AIS receivers attached to the host machine\&. Each GPS, DGPS radio, or AIS receiver is expected to be direct\-connected to the host via a USB or RS232C serial device\&. The serial device may be specified to gpsd at startup, or it may be set via a command shipped down a local control socket (e\&.g\&. by a USB hotplug script)\&. Given a GPS device by either means, gpsd discovers the correct port speed and protocol for it\&. .PP gpsd should be able to query any GPS that speaks either the standard textual NMEA 0183 protocol, or the (differing) extended NMEA dialects used by MKT\-3301, iTrax, Motorola OnCore, Sony CXD2951, and Ashtech/Thales devices\&. It can also interpret the binary protocols used by EverMore, Garmin, Navcom, Rockwell/Zodiac, SiRF, Trimble, and uBlox ANTARIS devices\&. Under Linux it can read NMEA2000 packets through the kernel CAN socket\&. It can read heading and attitude information from the Oceanserver 5000 or TNT Revolution digital compasses\&. .PP The GPS reporting formats supported by your instance of gpsd may differ depending on how it was compiled; general\-purpose versions support many, but it can be built with protocol subsets down to a singleton for use in constrained environments\&. For a list of the GPS protocols supported by your instance, see the output of \fBgpsd \-l\fR .PP gpsd effectively hides the differences among the GPS types it supports\&. It also knows about and uses commands that tune these GPSes for lower latency\&. By using gpsd as an intermediary applications avoid contention for serial devices\&. .PP gpsd can use differential\-GPS corrections from a DGPS radio or over the net, from a ground station running a DGPSIP server or a Ntrip broadcaster that reports RTCM\-104 data; this will shrink position errors by roughly a factor of four\&. When gpsd opens a serial device emitting RTCM\-104, it automatically recognizes this and uses the device as a correction source for all connected GPSes that accept RTCM corrections (this is dependent on the type of the GPS; not all GPSes have the firmware capability to accept RTCM correction packets)\&. See the section called \(lqACCURACY\(rq and the section called \(lqFILES\(rq for discussion\&. .PP Client applications will communicate with gpsd via a TCP/IP port, 2947 by default)\&. Both IPv4 and IPv6 connections are supported and a client may connect via either\&. .PP The program accepts the following options: .PP \-F .RS 4 Create a control socket for device addition and removal commands\&. You must specify a valid pathname on your local filesystem; this will be created as a Unix\-domain socket to which you can write commands that edit the daemon\*(Aqs internal device list\&. .RE .PP \-S .RS 4 Set TCP/IP port on which to listen for GPSD clients (default is 2947)\&. .RE .PP \-b .RS 4 Broken\-device\-safety mode, otherwise known as read\-only mode\&. A few bluetooth and USB receivers lock up or become totally inaccessible when probed or reconfigured; see the hardware compatibility list on the GPSD project website for details\&. This switch prevents gpsd from writing to a receiver\&. This means that gpsd cannot configure the receiver for optimal performance, but it also means that gpsd cannot break the receiver\&. A better solution would be for Bluetooth to not be so fragile\&. A platform independent method to identify serial\-over\-Bluetooth devices would also be nice\&. .RE .PP \-G .RS 4 This flag causes gpsd to listen on all addresses (INADDR_ANY) rather than just the loop back (INADDR_LOOPBACK) address\&. For the sake of privacy and security, TPV information is now private to the local machine until the user makes an effort to expose this to the world\&. .RE .PP \-l .RS 4 List all drivers compiled into this gpsd instance\&. The letters to the left of each driver name are the gpsd control commands supported by that driver\&. .RE .PP \-n .RS 4 Don\*(Aqt wait for a client to connect before polling whatever GPS is associated with it\&. Some RS232 GPSes wait in a standby mode (drawing less power) when the host machine is not asserting DTR, and some cellphone and handheld embedded GPSes have similar behaviors\&. Accordingly, waiting for a watch request to open the device may save battery power\&. (This capability is rare in consumer\-grade devices and nonexistent in USB GPSes which lack a DTR line\&.) .RE .PP \-N .RS 4 Don\*(Aqt daemonize; run in foreground\&. This switch is mainly useful for debugging\&. .RE .PP \-h .RS 4 Display help message and terminate\&. .RE .PP \-P .RS 4 Specify the name and path to record the daemon\*(Aqs process ID\&. .RE .PP \-D .RS 4 Set debug level\&. At debug levels 2 and above, gpsd reports incoming sentence and actions to standard error if gpsd is in the foreground (\-N) or to syslog if in the background\&. .RE .PP \-V .RS 4 Dump version and exit\&. .RE .PP Arguments are interpreted as the names of data sources\&. Normally, a data source is the device pathname of a local device from which the daemon may expect GPS data\&. But there are three other special source types recognized, for a total of four: .PP Local serial or USB device .RS 4 A normal Unix device name of a serial or USB device to which a sensor is attached\&. Example: /dev/ttyUSB0\&. .RE .PP TCP feed .RS 4 A URI with the prefix "tcp://", followed by a hostname, a colon, and a port number\&. The daemon will open a socket to the indicated address and port and read data packets from it, which will be interpreted as though they had been issued by a serial device\&. Example: tcp://data\&.aishub\&.net:4006\&. .RE .PP UDP feed .RS 4 A URI with the prefix "udp://", followed by a hostname, a colon, and a port number\&. The daemon will open a socket listening for UDP datagrams arriving on the indicated address and port, which will be interpreted as though they had been issued by a serial device\&. Example: udp://127\&.0\&.0\&.1:5000\&. .RE .PP Ntrip caster .RS 4 A URI with the prefix "ntrip://" followed by the name of an Ntrip caster (Ntrip is a protocol for broadcasting differential\-GPS fixes over the net)\&. For Ntrip services that require authentication, a prefix of the form "username:password@" can be added before the name of the Ntrip broadcaster\&. For Ntrip service, you must specify which stream to use; the stream is given in the form "/streamname"\&. An example DGPSIP URI could be "dgpsip://dgpsip\&.example\&.com" and a Ntrip URI could be "ntrip://foo:bar@ntrip\&.example\&.com:80/example\-stream"\&. Corrections from the caster will be send to each attached GPS with the capability to accept them\&. .RE .PP DGPSIP server .RS 4 A URI with the prefix "dgpsip://" followed by a hostname, a colon, and an optional colon\-separated port number (defaulting to 2101)\&. The daemon will handshake with the DGPSIP server and read RTCM2 correction data from it\&. Corrections from the server will be set to each attached GPS with the capability to accept them\&. Example: dgpsip://dgps\&.wsrcc\&.com:2101\&. .RE .PP Remote gpsd feed .RS 4 A URI with the prefix "gpsd://", followed by a hostname and optionally a colony and a port number (if the port is absent the default gpsd port will be used)\&. The daemon will open a socket to the indicated address and port and emulate a gpsd client, collecting JSON reports from the remote gpsd instance that will be passed to local clients\&. .RE .PP NMEA2000 CAN data .RS 4 A URI with the prefix "nmea2000://", followed by a CAN devicename\&. Only Linux socket CAN interfaces are supported\&. The interface must be configured to receive CAN messages before gpsd can be started\&. If there is more then one unit on the CAN bus that provides GPS data, gpsd chooses the unit from which a GPS message is first seen\&. Example: nmea2000://can0\&. .RE .PP (The "ais:://" source type supported in some older versions of the daemon has been retired in favor of the more general "tcp://"\&.) .PP Internally, the daemon maintains a device pool holding the pathnames of devices and remote servers known to the daemon\&. Initially, this list is the list of device\-name arguments specified on the command line\&. That list may be empty, in which case the daemon will have no devices on its search list until they are added by a control\-socket command (see the section called \(lqGPS DEVICE MANAGEMENT\(rq for details on this)\&. Daemon startup will abort with an error if neither any devices nor a control socket are specified\&. .PP When a device is activated (i\&.e\&. a client requests data from it), gpsd attempts to execute a hook from /etc/gpsd/device\-hook with first command line argument set to the pathname of the device and the second to \fBACTIVATE\fR\&. On deactivation it does the same passing \fBDEACTIVATE\fR for the second argument\&. .PP gpsd can export data to client applications in three ways: via a sockets interface, via a shared\-memory segment, and via D\-Bus\&. The next three major sections describe these interfaces\&. .SH "THE SOCKET INTERFACE" .PP Clients may communicate with the daemon via textual request and responses over a socket\&. It is a bad idea for applications to speak the protocol directly: rather, they should use the libgps client library and take appropriate care to conditionalize their code on the major and minor protocol version symbols\&. .PP The request\-response protocol for the socket interface is fully documented in \fBgpsd_json\fR(5)\&. .SH "SHARED-MEMORY AND DBUS INTERFACES" .PP gpsd has two other (read\-only) interfaces\&. .PP Whenever the daemon recognizes a packet from any attached device, it writes the accumulated state from that device to a shared memory segment\&. The C and C++ client libraries shipped with GPSD can read this segment\&. Client methods, and various restrictions associated with the read\-only nature of this interface, are documented at \fBlibgps\fR(3)\&. The shared\-memory interface is intended primarily for embedded deployments in which gpsd monitors a single device, and its principal advantage is that a daemon instance configured with shared memory but without the sockets interface loses a significant amount of runtime weight\&. .PP The daemon may be configured to emit a D\-Bus signal each time an attached device delivers a fix\&. The signal path is path /org/gpsd, the signal interface is "org\&.gpsd", and the signal name is "fix"\&. The signal payload layout is as follows: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&1.\ \&Satellite object .TS allbox tab(:); lB lB. T{ Type T}:T{ .PP Description T} .T& l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l. T{ DBUS_TYPE_DOUBLE T}:T{ .PP Time (seconds since Unix epoch) T} T{ DBUS_TYPE_INT32 T}:T{ .PP mode T} T{ DBUS_TYPE_DOUBLE T}:T{ .PP Time uncertainty (seconds)\&. T} T{ DBUS_TYPE_DOUBLE T}:T{ .PP Latitude in degrees\&. T} T{ DBUS_TYPE_DOUBLE T}:T{ .PP Longitude in degrees\&. T} T{ DBUS_TYPE_DOUBLE T}:T{ .PP Horizontal uncertainty in meters, 95% confidence\&. T} T{ DBUS_TYPE_DOUBLE T}:T{ .PP Altitude in meters\&. T} T{ DBUS_TYPE_DOUBLE T}:T{ .PP Altitude uncertainty in meters, 95% confidence\&. T} T{ DBUS_TYPE_DOUBLE T}:T{ .PP Course in degrees from true north\&. T} T{ DBUS_TYPE_DOUBLE T}:T{ .PP Course uncertainty in meters, 95% confidence\&. T} T{ DBUS_TYPE_DOUBLE T}:T{ .PP Speed, meters per second\&. T} T{ DBUS_TYPE_DOUBLE T}:T{ .PP Speed uncertainty in meters per second, 95% confidence\&. T} T{ DBUS_TYPE_DOUBLE T}:T{ .PP Climb, meters per second\&. T} T{ DBUS_TYPE_DOUBLE T}:T{ .PP Climb uncertainty in meters per second, 95% confidence\&. T} T{ DBUS_TYPE_STRING T}:T{ .PP Device name T} .TE .sp 1 .SH "GPS DEVICE MANAGEMENT" .PP gpsd maintains an internal list of GPS devices (the "device pool")\&. If you specify devices on the command line, the list is initialized with those pathnames; otherwise the list starts empty\&. Commands to add and remove GPS device paths from the daemon\*(Aqs device list must be written to a local Unix\-domain socket which will be accessible only to programs running as root\&. This control socket will be located wherever the \-F option specifies it\&. .PP A device may will also be dropped from the pool if GPSD gets a zero length read from it\&. This end\-of\-file condition indicates that the\*(Aq device has been disconnected\&. .PP When gpsd is properly installed along with hotplug notifier scripts feeding it device\-add commands over the control socket, gpsd should require no configuration or user action to find devices\&. .PP Sending SIGHUP to a running gpsd forces it to close all GPSes and all client connections\&. It will then attempt to reconnect to any GPSes on its device list and resume listening for client connections\&. This may be useful if your GPS enters a wedged or confused state but can be soft\-reset by pulling down DTR\&. .PP To point gpsd at a device that may be a GPS, write to the control socket a plus sign (\*(Aq+\*(Aq) followed by the device name followed by LF or CR\-LF\&. Thus, to point the daemon at /dev/foo\&. send "+/dev/foo\en"\&. To tell the daemon that a device has been disconnected and is no longer available, send a minus sign (\*(Aq\-\*(Aq) followed by the device name followed by LF or CR\-LF\&. Thus, to remove /dev/foo from the search list\&. send "\-/dev/foo\en"\&. .PP To send a control string to a specified device, write to the control socket a \*(Aq!\*(Aq, followed by the device name, followed by \*(Aq=\*(Aq, followed by the control string\&. .PP To send a binary control string to a specified device, write to the control socket a \*(Aq&\*(Aq, followed by the device name, followed by \*(Aq=\*(Aq, followed by the control string in paired hex digits\&. .PP Your client may await a response, which will be a line beginning with either "OK" or "ERROR"\&. An ERROR response to an add command means the device did not emit data recognizable as GPS packets; an ERROR response to a remove command means the specified device was not in gpsd\*(Aqs device pool\&. An ERROR response to a ! command means the daemon did not recognize the devicename specified\&. .PP The control socket is intended for use by hotplug scripts and other device\-discovery services\&. This control channel is separate from the public gpsd service port, and only locally accessible, in order to prevent remote denial\-of\-service and spoofing attacks\&. .SH "ACCURACY" .PP The base User Estimated Range Error (UERE) of GPSes is 8 meters or less at 66% confidence, 15 meters or less at 95% confidence\&. Actual horizontal error will be UERE times a dilution factor dependent on current satellite position\&. Altitude determination is more sensitive to variability in ionospheric signal lag than latitude/longitude is, and is also subject to errors in the estimation of local mean sea level; base error is 12 meters at 66% confidence, 23 meters at 95% confidence\&. Again, this will be multiplied by a vertical dilution of precision (VDOP) dependent on satellite geometry, and VDOP is typically larger than HDOP\&. Users should \fInot\fR rely on GPS altitude for life\-critical tasks such as landing an airplane\&. .PP These errors are intrinsic to the design and physics of the GPS system\&. gpsd does its internal computations at sufficient accuracy that it will add no measurable position error of its own\&. .PP DGPS correction will reduce UERE by a factor of 4, provided you are within about 100mi (160km) of a DGPS ground station from which you are receiving corrections\&. .PP On a 4800bps connection, the time latency of fixes provided by gpsd will be one second or less 95% of the time\&. Most of this lag is due to the fact that GPSes normally emit fixes once per second, thus expected latency is 0\&.5sec\&. On the personal\-computer hardware available in 2005 and later, computation lag induced by gpsd will be negligible, on the order of a millisecond\&. Nevertheless, latency can introduce significant errors for vehicles in motion; at 50km/h (31mi/h) of speed over ground, 1 second of lag corresponds to 13\&.8 meters change in position between updates\&. .PP The time reporting of the GPS system itself has an intrinsic accuracy limit of 14 nanoseconds, but this can only be approximated by specialized receivers using that send the high\-accuracy PPS (Pulse\-Per\-Second) over RS232 to cue a clock crystal\&. Most GPS receivers only report time to a precision of 0\&.01s or 0\&.001s, and with no accuracy guarantees below 1sec\&. .PP If your GPS uses a SiRF chipset at firmware level 231, reported UTC time may be off by the difference between whatever default leap\-second offset has been compiled in and whatever leap\-second correction is currently applicable, from startup until complete subframe information is received\&. Firmware levels 232 and up don\*(Aqt have this problem\&. You may run gpsd at debug level 4 to see the chipset type and firmware revision level\&. .PP There are exactly two circumstances under which gpsd relies on the host\-system clock: .PP In the GPS broadcast signal, GPS time is represented using a week number that rolls over after 2^10 or 2^13 weeks (about 19\&.6 years, or 157 years), depending on the spacecraft\&. Receivers are required to disambiguate this to the correct date, but may have difficulty due to not knowing time to within half this interval, or may have bugs\&. Users have reported incorrect dates which appear to be due to this issue\&. gpsd uses the startup time of the daemon detect and compensate for rollovers while it is running, but otherwise reports the date as it is reported by the receiver without attempting to correct it\&. .PP If you are using an NMEA\-only GPS (that is, not using SiRF or Garmin or Zodiac binary mode), gpsd relies on the system clock to tell it the current century\&. If the system clock returns an invalid value near zero, and the GPS does not emit GPZDA at the start of its update cycle (which most consumer\-grade NMEA GPSes do not) then the century part of the dates gpsd delivers may be wrong\&. Additionally, near the century turnover, a range of dates as wide in seconds as the accuracy of your system clock may be referred to the wrong century\&. .SH "USE WITH NTP" .PP gpsd can provide reference clock information to ntpd, to keep the system clock synchronized to the time provided by the GPS receiver\&. If you\*(Aqre going to use gpsd you probably want to run it \fB\-n\fR mode so the clock will be updated even when no clients are active\&. .PP Note that deriving time from messages received from the GPS is not as accurate as you might expect\&. Messages are often delayed in the receiver and on the link by several hundred milliseconds, and this delay is not constant\&. On Linux, gpsd includes support for interpreting the PPS pulses emitted at the start of every clock second on the carrier\-detect lines of some serial GPSes; this pulse can be used to update NTP at much higher accuracy than message time provides\&. You can determine whether your GPS emits this pulse by running at \-D 5 and watching for carrier\-detect state change messages in the logfile\&. In addition, if your kernel provides the RFC 2783 kernel PPS API then gpsd will use that for extra accuracy\&. .PP When gpsd receives a sentence with a timestamp, it packages the received timestamp with current local time and sends it to a shared\-memory segment with an ID known to ntpd, the network time synchronization daemon\&. If ntpd has been properly configured to receive this message, it will be used to correct the system clock\&. .PP Here is a sample ntp\&.conf configuration stanza telling ntpd how to read the GPS notifications: .sp .if n \{\ .RS 4 .\} .nf server 127\&.127\&.28\&.0 fudge 127\&.127\&.28\&.0 time1 0\&.420 refid GPS server 127\&.127\&.28\&.1 prefer fudge 127\&.127\&.28\&.1 refid GPS1 .fi .if n \{\ .RE .\} .PP Users of ntpd older than revision ntp\-4\&.2\&.5p138 should instead use this ntp\&.conf snippet: .sp .if n \{\ .RS 4 .\} .nf server 127\&.127\&.28\&.0 minpoll 4 maxpoll 4 fudge 127\&.127\&.28\&.0 time1 0\&.420 refid GPS server 127\&.127\&.28\&.1 minpoll 4 maxpoll 4 prefer fudge 127\&.127\&.28\&.1 refid GPS1 .fi .if n \{\ .RE .\} .PP The magic pseudo\-IP address 127\&.127\&.28\&.0 identifies unit 0 of the ntpd shared\-memory driver; 127\&.127\&.28\&.1 identifies unit 1\&. Unit 0 is used for message\-decoded time and unit 1 for the (more accurate, when available) time derived from the PPS synchronization pulse\&. Splitting these notifications allows ntpd to use its normal heuristics to weight them\&. .PP With this configuration, ntpd will read the timestamp posted by gpsd every 16 seconds and send it to unit 0\&. The number after the parameter time1 is an offset in seconds\&. You can use it to adjust out some of the fixed delays in the system\&. 0\&.035 is a good starting value for the Garmin GPS\-18/USB, 0\&.420 for the Garmin GPS\-18/LVC\&. .PP After restarting ntpd, a line similar to the one below should appear in the output of the command "ntpq \-p" (after allowing a couple of minutes): .sp .if n \{\ .RS 4 .\} .nf remote refid st t when poll reach delay offset jitter ========================================================================= +SHM(0) \&.GPS\&. 0 l 13 16 377 0\&.000 0\&.885 0\&.882 .fi .if n \{\ .RE .\} .PP If you are running PPS then it will look like this: .sp .if n \{\ .RS 4 .\} .nf remote refid st t when poll reach delay offset jitter ========================================================================= \-SHM(0) \&.GPS\&. 0 l 13 16 377 0\&.000 0\&.885 0\&.882 *SHM(1) \&.GPS1\&. 0 l 11 16 377 0\&.000 \-0\&.059 0\&.006 .fi .if n \{\ .RE .\} .PP When the value under "reach" remains zero, check that gpsd is running; and some application is connected to it or the \*(Aq\-n\*(Aq option was used\&. Make sure the receiver is locked on to at least one satellite, and the receiver is in SiRF binary, Garmin binary or NMEA/PPS mode\&. Plain NMEA will also drive ntpd, but the accuracy as bad as one second\&. When the SHM(0) line does not appear at all, check the system logs for error messages from ntpd\&. .PP When no other reference clocks appear in the NTP configuration, the system clock will lock onto the GPS clock\&. When you have previously used ntpd, and other reference clocks appear in your configuration, there may be a fixed offset between the GPS clock and other clocks\&. The gpsd developers would like to receive information about the offsets observed by users for each type of receiver\&. Please send us the output of the "ntpq \-p" command and the make and type of receiver\&. .SH "USE WITH CHRONY" .PP gpsd can provide reference clock information to chronyd similar to the way it talks to ntpd\&. The advantage to using chrony is that the PPS time resolution is in nSec\&. This is 1,000 times more precision than the time resolution provided to ntpd\&. .PP gpsd talks to chronyd using a socket named /tmp/chrony\&.ttyXX\&.sock (where ttyXX is replaced by the GPS device name\&. This allows multiple GPS to feed one chronyd\&. .PP No gpsd configuration is required to talk to chronyd\&. To get chronyd to connect to gpsd using the SHM method add this to your /etc/chrony/chonry\&.conf file\&. .sp .if n \{\ .RS 4 .\} .nf # delay 0\&.0 is right, but use 0\&.2 to avoid NMEA # time fighting with PPS time refclock SHM 0 offset 0\&.0 delay 0\&.2 refclock SHM 1 offset 0\&.0 delay 0\&.0 .fi .if n \{\ .RE .\} .PP To get chronyd to connect to gpsd using the more precise socket method add this to your /etc/chrony/chrony\&.conf file (replacing ttyXX with your device name): .PP If running as root: .sp .if n \{\ .RS 4 .\} .nf #refclock PPS refclock SOCK /var/run/chrony\&.ttyXX\&.sock .fi .if n \{\ .RE .\} .PP If not running as root: .sp .if n \{\ .RS 4 .\} .nf #refclock PPS refclock SOCK /tmp/chrony\&.ttyXX\&.sock .fi .if n \{\ .RE .\} .SH "USE WITH D-BUS" .PP On operating systems that support D\-BUS, gpsd can be built to broadcast GPS fixes to D\-BUS\-aware applications\&. As D\-BUS is still at a pre\-1\&.0 stage, we will not attempt to document this interface here\&. Read the gpsd source code to learn more\&. .SH "SECURITY AND PERMISSIONS ISSUES" .PP gpsd, if given the \-G flag, will listen for connections from any reachable host, and then disclose the current position\&. Before using the \-G flag, consider whether you consider your computer\*(Aqs location to be sensitive data to be kept private or something that you wish to publish\&. .PP gpsd must start up as root in order to open the NTPD shared\-memory segment, open its logfile, and create its local control socket\&. Before doing any processing of GPS data, it tries to drop root privileges by setting its UID to "nobody" (or another userid as set by configure) and its group ID to the group of the initial GPS passed on the command line \(em or, if that device doesn\*(Aqt exist, to the group of /dev/ttyS0\&. .PP Privilege\-dropping is a hedge against the possibility that carefully crafted data, either presented from a client socket or from a subverted serial device posing as a GPS, could be used to induce misbehavior in the internals of gpsd\&. It ensures that any such compromises cannot be used for privilege elevation to root\&. .PP The assumption behind gpsd\*(Aqs particular behavior is that all the tty devices to which a GPS might be connected are owned by the same non\-root group and allow group read/write, though the group may vary because of distribution\-specific or local administrative practice\&. If this assumption is false, gpsd may not be able to open GPS devices in order to read them (such failures will be logged)\&. .PP In order to fend off inadvertent denial\-of\-service attacks by port scanners (not to mention deliberate ones), gpsd will time out inactive client connections\&. Before the client has issued a command that requests a channel assignment, a short timeout (60 seconds) applies\&. There is no timeout for clients in watcher or raw modes; rather, gpsd drops these clients if they fail to read data long enough for the outbound socket write buffer to fill\&. Clients with an assigned device in polling mode are subject to a longer timeout (15 minutes)\&. .SH "LIMITATIONS" .PP If multiple NMEA talkers are feeding RMC, GLL, and GGA sentences to the same serial device (possible with an RS422 adapter hooked up to some marine\-navigation systems), a \*(AqTPV\*(Aq response may mix an altitude from one device\*(Aqs GGA with latitude/longitude from another\*(Aqs RMC/GLL after the second sentence has arrived\&. .PP gpsd may change control settings on your GPS (such as the emission frequency of various sentences or packets) and not restore the original settings on exit\&. This is a result of inadequacies in NMEA and the vendor binary GPS protocols, which often do not give clients any way to query the values of control settings in order to be able to restore them later\&. .PP When using SiRF chips, the VDOP/TDOP/GDOP figures and associated error estimates are computed by gpsd rather than reported by the chip\&. The computation does not exactly match what SiRF chips do internally, which includes some satellite weighting using parameters gpsd cannot see\&. .PP Autobauding on the Trimble GPSes can take as long as 5 seconds if the device speed is not matched to the GPS speed\&. .PP Generation of position error estimates (eph, epv, epd, eps, epc) from the incomplete data handed back by GPS reporting protocols involves both a lot of mathematical black art and fragile device\-dependent assumptions\&. This code has been bug\-prone in tbe past and problems may still lurk there\&. .PP AIDVM decoding of types 16\-17, 22\-23, and 25\-26 is unverified\&. .PP GPSD presently fully recognizes only the 2\&.1 level of RTCM2 (message types 1, 3, 4, 5, 6, 7, 9, 16)\&. The 2\&.3 message types 13, 14, and 31 are recognized and reported\&. Message types 8, 10\-12, 15\-27, 28\-30 (undefined), 31\-37, 38\-58 (undefined), and 60\-63 are not yet supported\&. .PP The ISGPS used for RTCM2 and subframes decoder logic is sufficiently convoluted to confuse some compiler optimizers, notably in GCC 3\&.x at \-O2, into generating bad code\&. .PP Devices meant to to use PPS for high\-precision timekeeping may fail if they are specified after startup by a control\-socket command, as opposed to on the daemon\*(Aqs original command line\&. Root privileges are dropped early, and some Unix variants require them in order to set the PPS line discipline\&. Under Linux the POSIX capability to set the line discipline is retained, but other platforms cannot use this code\&. .PP USB GPS devices do not identify themselves through the USB subsystem; they typically present as the class 00h (undefined) or class FFh (vendor\-specific) of USB\-to\-serial adapters\&. Because of this, the Linux hotplug scripts must tell gpsd to sniff data from every USB\-to\-serial adapter that goes active and is known to be of a type used in GPSes\&. No such device is sent configuration strings until after it has been identified as a GPS, and gpsd never opens a device that is opened by another process\&. But there is a tiny window for non\-GPS devices not opened; if the application that wants them loses a race with GPSD its device open will fail and have to be retried after GPSD sniffs the device (normally less than a second later)\&. .SH "FILES" .PP /dev/ttyS0 .RS 4 Prototype TTY device\&. After startup, gpsd sets its group ID to the owning group of this device if no GPS device was specified on the command line does not exist\&. .RE .PP /etc/gpsd/device\-hook .RS 4 Optional file containing the device activation/deactivation script\&. Note that while /etc/gpsd is the default system configuration directory, it is possible to build the GPSD source code with different assumptions\&. .RE .SH "APPLICABLE STANDARDS" .PP The official NMEA protocol standards for NMEA0183 and NMEA2000 are available from the National Marine Electronics Association, but are proprietary and expensive; the maintainers of gpsd have made a point of not looking at them\&. The GPSD project website links to several documents that collect publicly disclosed information about the protocol\&. .PP gpsd parses the following NMEA sentences: RMC, GGA, GLL, GSA, GSV, VTG, ZDA, GBS, HDT, DBT\&. It recognizes these with either the normal GP talker\-ID prefix, or with the GN prefix used by GLONASS, or with the II prefix emitted by Seahawk Autohelm marine navigation systems, or with the IN prefix emitted by some Garmin units, or with the EC prefix emitted by ECDIS units, or with the SD prefix emitted by depth sounders\&. It recognizes some vendor extensions: the PGRME emitted by some Garmin GPS models, the OHPR emitted by Oceanserver digital compasses, the PTNTHTM emitted by True North digital compasses, and the PASHR sentences emitted by some Ashtech GPSes\&. .PP Note that gpsd JSON returns pure decimal degrees, not the hybrid degree/minute format described in the NMEA standard\&. .PP Differential\-GPS corrections are conveyed by the RTCM protocols\&. The applicable standard for RTCM\-104 V2 is RTCM Recommended Standards for Differential GNSS (Global Navigation Satellite) Service RTCM Paper 136\-2001/SC 104\-STD\&. The applicable standard for RTCM\-104 V3 is RTCM Standard 10403\&.1 for Differential GNSS Services \- Version 3 RTCM Paper 177\-2006\-SC104\-STD\&. Ordering instructions for the RTCM standards are accessible from the website of the Radio Technical Commission for Maritime Services under "Publications"\&. .PP AIS is defined by ITU Recommendation M\&.1371, Technical Characteristics for a Universal Shipborne Automatic Identification System Using Time Division Multiple Access\&. The AIVDM/AIVDO format understood by this program is defined by IEC\-PAS 61162\-100, Maritime navigation and radiocommunication equipment and systems\&. A more accessible description of both can be found at AIVDM/AIVDO Protocol Decoding, on the references page of the GPSD project website\&. .PP Subframe data is defined by IS\-GPS\-200E, GLOBAL POSITIONING SYSTEM WING (GPSW) SYSTEMS ENGINEERING & INTEGRATION, INTERFACE SPECIFICATION IS\-GPS\-200 Revision E\&. The format understood by this program is defined in Section 20 (Appendix II) of the IS\-GPS\-200E, GPS NAVIGATION DATA STRUCTURE FOR DATA, D(t) .PP The API for PPS time service is specified by RFC 2783, Pulse\-Per\-Second API for UNIX\-like Operating Systems, Version 1\&.0 .SH "SEE ALSO" .PP \fBgpsdctl\fR(8), \fBgps\fR(1), \fBlibgps\fR(3), \fBgpsd_json\fR(5), \fBlibgpsd\fR(3), \fBgpsprof\fR(1), \fBgpsfake\fR(1), \fBgpsctl\fR(1), \fBgpscat\fR(1), .SH "AUTHORS" .PP Authors: Eric S\&. Raymond, Chris Kuethe, Gary Miller\&. Former authors whose bits have been plowed under by code turnover: Remco Treffcorn, Derrick Brashear, Russ Nelson\&. This manual page by Eric S\&. Raymond esr@thyrsus\&.com\&. gpsd-3.9/libgpsmm.30000664000175000017500000000536012140072040012360 0ustar esresr'\" t .\" Title: libgpsmm .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.76.1 .\" Date: 13 May 2005 .\" Manual: GPSD Documentation .\" Source: The GPSD Project .\" Language: English .\" .TH "LIBGPSMM" "3" "13 May 2005" "The GPSD Project" "GPSD Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" libgpsmm, libQgpsmm \- C++ and QT class wrapper for the GPS daemon .SH "SYNOPSIS" .sp .ft B .nf C++: #include .fi .ft .HP \w'struct\ gps_data_t\ *open('u .BI "struct gps_data_t *open(char\ *" "host" ", char\ *" "port" ");" .HP \w'struct\ gps_data_t\ *open('u .BI "struct gps_data_t *open(void);" .HP \w'struct\ gps_data_t\ *send('u .BI "struct gps_data_t *send(char\ *" "request" ");" .HP \w'struct\ gps_data_t\ *read('u .BI "struct gps_data_t *read(void);" .HP \w'struct\ gps_data_t\ *waiting('u .BI "struct gps_data_t *waiting(int);" .HP \w'struct\ gps_data_t\ *stream('u .BI "struct gps_data_t *stream(unsigned\ int" "flags" ");" .SH "DESCRIPTION" .PP \fBlibgpsmm and libQgpsmm\fR are mere wrappers over \fBlibgps\fR\&. The important difference between the libraries is that libgpsmm is targeted at C++ applications and contained in \fBlibgps\fR, while libQgpsmm is platform independent by using QTcpSocket to connect to \fBgpsd\fR and shipped as an additional library due to the necessary linking to QT\&. Method names are the same as the analogue C functions\&. For a detailed description of the functions please read \fBlibgps\fR(3)\&. \fBopen()\fR must be called after class constructor and before any other method (\fBopen()\fR is not inside the constructor since it may fail, however constructors have no return value)\&. The analogue of the C function \fBgps_close()\fR is in the destructor\&. .SH "SEE ALSO" .PP \fBgpsd\fR(8), \fBgps\fR(1), \fBlibgps\fR(3)\&. .SH "AUTHOR" .PP Alfredo Pironti \&. gpsd-3.9/gpsdctl.80000664000175000017500000000460512140072041012215 0ustar esresr'\" t .\" Title: gpsdctl .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.76.1 .\" Date: 25 Jun 2011 .\" Manual: GPSD Documentation .\" Source: The GPSD Project .\" Language: English .\" .TH "GPSDCTL" "8" "25 Jun 2011" "The GPSD Project" "GPSD Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" gpsdctl \- tool for sending commands to gpsd over its control socket .SH "SYNOPSIS" .HP \w'\fBgpdsctl\fR\ 'u \fBgpdsctl\fR \fIaction\fR \fIdevice\fR .SH "DESCRIPTION" .PP This is a tool for sending an instance of gpsd commands over its control socket to add or remove devices from the daemon\*(Aqs device list\&. It is not intended to be called by users, but rather by the Linux hotplug system and similar facilities\&. .PP The action argument may be "add" or "remove"\&. If no daemon instance is running when an add is requested, this program will launch one\&. .PP The "device" argument should be the pathname of a device\&. A device on the list will be opened to read sensor data whenever a client requests a watch\&. .PP Two environment variables are interpreted\&. \fBGPSD_SOCKET\fR sets the location of the control socket\&. It defaults to /var/run/gpsd\&.sock\&. .PP \fBGPSD_OPTIONS\fR may be a list of options to be passed to gpsd when this tool launches it\&. It defaults to an empty string\&. .SH "SEE ALSO" .PP \fBgpsd\fR(8), \fBgpsctl\fR(1), \fBgps\fR(1), \fBlibgps\fR(3), \fBlibgpsd\fR(3), \fBgpsprof\fR(1), \fBgpsfake\fR(1)\&. .SH "AUTHOR" .PP Eric S\&. Raymond esr@thyrsus\&.com\&. gpsd-3.9/gpspipe.10000664000175000017500000001072112140072041012211 0ustar esresr'\" t .\" Title: gpspipe .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.76.1 .\" Date: 03 Aug 2005 .\" Manual: GPSD Documentation .\" Source: The GPSD Project .\" Language: English .\" .TH "GPSPIPE" "1" "03 Aug 2005" "The GPSD Project" "GPSD Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" gpspipe \- tool to connect to gpsd and retrieve sentences .SH "SYNOPSIS" .HP \w'\fBgpspipe\fR\ 'u \fBgpspipe\fR [\-h] [\-d] [\-l] [\-o\ \fIfilename\fR] [\-n\ \fIcount\fR] [\-r] [\-R] [\-s\ \fIserial\-device\fR] [\-t] [\-T\ \fItimestamp\-format\fR] [\-u] [\-p] [\-w] [\-S] [\-v] [\-D\ \fIdebug\-level\fR] [\fIserver\fR [\fI:port\fR [\fI:device\fR]]] .SH "DESCRIPTION" .PP gpspipe is a tool to connect to gpsd and output the received sentences to stdout\&. This makes the program useful as a pipe from gpsd to another program or file\&. .PP gpspipe does not require root privileges, and can be run concurrently with other tools connecting to the local gpsd without causing problems\&. .PP The output will consist of one or both of the raw NMEA or native gpsd sentences\&. Each line can be optionally time stamped\&. There is also an option to exit gracefully after a given count of packets\&. .PP Optionally a server, TCP/IP port number and remote device can be given\&. If omitted, gpspipe connects to localhost on the default port (2947) and watches all devices opened by gpsd\&. .PP gpspipe may be run as a daemon, but requires the \-o flag for writing the output to a file\&. .SH "OPTIONS" .PP \-h makes gpspipe print a usage message and exit\&. .PP \-d causes gpspipe to run as a daemon\&. .PP \-l causes gpspipe to sleep for ten seconds before attempting to connect to gpsd\&. This is very useful when running as a daemon, giving gpsd time to start before attempting a connection\&. .PP \-r causes raw NMEA sentences to be output\&. .PP \-R causes super\-raw (gps binary) data to be output\&. This overrides NMEA and gpsd output modes\&. .PP \-s option causes the collected data to be written to the specified serial device with settings 4800 8N1\&. Thus gpspipe can be used with \-s and \-r options to emulate a serial port hardwired to a GPS that gpsd is managing\&. .PP \-o option causes the collected data to be written to the specified file\&. Use of this option is mandatory if gpspipe is run as a daemon\&. .PP \-w causes native gpsdsentences to be output\&. .PP \-S sets the scaled flag\&. .PP \-t adds a timestamp to each sentence output\&. .PP \-T sets the format of the timestamp\&. See \fBstrftime\fR(3) for the available placeholders\&. Setting this option implies \-t\&. Default setting is "%F %T" .PP \-u usec resolution time stamp, implies \-t\&. Use \-uu to output sec\&.usec\&. .PP \-p enables dumping of profiling information in JSON\&. .PP \-n [count] causes [count] sentences to be output\&. gpspipe will then exit gracefully\&. .PP \-v causes gpspipe to show a spinning activity indicator on stderr\&. This is useful if stdout is redirected into a file or a pipe\&. By default the spinner is advanced with every messages written; specifying \-v more than once will double the number of messages required to rotate the spinner\&. .PP \-V prints the version, then exits\&. .PP At least one of \-R, \-r or \-w must be specified\&. .SH "EXAMPLE" .PP When gpsd is running \fBgpspipe \-r \-n 100\fR will send one hundred raw NMEA sentences to standard output, then exit\&. .SH "SEE ALSO" .PP \fBgpsd\fR(8), \fBgps\fR(1), \fBlibgps\fR(3), \fBlibgpsd\fR(3), \fBgpsprof\fR(1), \fBgpsfake\fR(1), \fBgpsctl\fR(1), \fBgpscat\fR(1)\&. \fBgpsmon\fR(1)\&. .SH "AUTHOR" .PP Gary E\&. Miller gem@rellim\&.com\&. gpsd-3.9/gpsd_json.50000664000175000017500000015442012140072042012542 0ustar esresr'\" t .\" Title: gpsd_json .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.76.1 .\" Date: 28 Aug 2011 .\" Manual: GPSD Documentation .\" Source: The GPSD Project .\" Language: English .\" .TH "GPSD_JSON" "5" "28 Aug 2011" "The GPSD Project" "GPSD Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" gpsd_json \- gpsd request/response protol .SH "OVERVIEW" .PP gpsd is a service daemon that can be used to monitor GPSes, DGPS receivers, Marine AIS broadcasts, and various other location\-related and kinematic sensors\&. .PP Clients may communicate with gpsd via textual requests and responses over a socket\&. It is a bad idea for applications to speak the protocol directly: rather, they should use the libgps client library (for C; bindings also exist for other languages) and take appropriate care to conditionalize their code on the major and minor protocol version symbols\&. .PP The GPSD protocol is built on top of JSON, JavaScript Object Notation\&. GPSD\*(Aqs use of JSON is restricted in some ways that make parsing it in fixed\-extent languages (such as C) easier\&. .PP A request line is introduced by "?" and may include multiple commands\&. Commands begin with a command identifier, followed either by a terminating \*(Aq;\*(Aq or by an equal sign "=" and a JSON object treated as an argument\&. Any \*(Aq;\*(Aq or newline indication (either LF or CR\-LF) after the end of a command is ignored\&. All request lines must be composed of US\-ASCII characters and may be no more than 80 characters in length, exclusive of the trailing newline\&. .PP Responses are JSON objects all of which have a "class" attribute the value of which is either the name of the invoking command\&. There are reports (including but not limited to as "TPV", "SKY", "DEVICE", and "ERROR") which are not direct responses to commands\&. .PP The order of JSON attributes within a response object is never significant, and you may specify attributes in commands in any order\&. Responses never contain the special JSON value null; instead, attributes with empty or undefined values are omitted\&. The length limit for responses and reports is 1536 characters, including trailing newline; longer responses will be truncated, so client code must be prepared for the possibility of invalid JSON fragments\&. .PP In JSON reports, if an attribute is present only if the parent attribute is present or has a particular range, then the parent attribute is emitted first\&. .PP There is one constraint on the order in which attributes will be omitted\&. If an optional attribute is present only when a parent attribute has a specified value or range of values, the parent attribute will be emitted first to make parsing easier\&. .PP The next subsection section documents the core GPSD protocol\&. Extensions are documented in the following subsections\&. The extensions may not be supported in your gpsd instance if it has been compiled with a restricted feature set\&. .SH "CORE SOCKET PROTOCOL" .PP Here are the core\-protocol responses: .PP TPV .RS 4 A TPV object is a time\-position\-velocity report\&. The "class" and "mode" fields will reliably be present\&. The "mode" field will be emitted before optional fields that may be absent when there is no fix\&. Error estimates will be emitted after the fix components they\*(Aqre associated with\&. Others may be reported or not depending on the fix quality\&. .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&1.\ \&TPV object .TS allbox tab(:); lB lB lB lB. T{ Name T}:T{ Always? T}:T{ Type T}:T{ Description T} .T& l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l. T{ class T}:T{ Yes T}:T{ string T}:T{ Fixed: "TPV" T} T{ tag T}:T{ No T}:T{ string T}:T{ Type tag associated with this GPS sentence; from an NMEA device this is just the NMEA sentence type\&. T} T{ device T}:T{ No T}:T{ string T}:T{ Name of originating device\&. T} T{ mode T}:T{ Yes T}:T{ numeric T}:T{ NMEA mode: %d, 0=no mode value yet seen, 1=no fix, 2=2D, 3=3D\&. T} T{ time T}:T{ No T}:T{ string T}:T{ Time/date stamp in ISO8601 format, UTC\&. May have a fractional part of up to \&.001sec precision\&. May be absent if mode is not 2 or 3\&. T} T{ ept T}:T{ No T}:T{ numeric T}:T{ Estimated timestamp error (%f, seconds, 95% confidence)\&. Present if time is present\&. T} T{ lat T}:T{ No T}:T{ numeric T}:T{ Latitude in degrees: +/\- signifies West/East\&. Present when mode is 2 or 3\&. T} T{ lon T}:T{ No T}:T{ numeric T}:T{ Longitude in degrees: +/\- signifies North/South\&. Present when mode is 2 or 3\&. T} T{ alt T}:T{ No T}:T{ numeric T}:T{ Altitude in meters\&. Present if mode is 3\&. T} T{ epx T}:T{ No T}:T{ numeric T}:T{ Longitude error estimate in meters, 95% confidence\&. Present if mode is 2 or 3 and DOPs can be calculated from the satellite view\&. T} T{ epy T}:T{ No T}:T{ numeric T}:T{ Latitude error estimate in meters, 95% confidence\&. Present if mode is 2 or 3 and DOPs can be calculated from the satellite view\&. T} T{ epv T}:T{ No T}:T{ numeric T}:T{ Estimated vertical error in meters, 95% confidence\&. Present if mode is 3 and DOPs can be calculated from the satellite view\&. T} T{ track T}:T{ No T}:T{ numeric T}:T{ Course over ground, degrees from true north\&. T} T{ speed T}:T{ No T}:T{ numeric T}:T{ Speed over ground, meters per second\&. T} T{ climb T}:T{ No T}:T{ numeric T}:T{ Climb (positive) or sink (negative) rate, meters per second\&. T} T{ epd T}:T{ No T}:T{ numeric T}:T{ Direction error estimate in degrees, 95% confidence\&. T} T{ eps T}:T{ No T}:T{ numeric T}:T{ Speed error estinmate in meters/sec, 95% confidence\&. T} T{ epc T}:T{ No T}:T{ numeric T}:T{ Climb/sink error estimate in meters/sec, 95% confidence\&. T} .TE .sp 1 When the C client library parses a response of this kind, it will assert validity bits in the top\-level set member for each field actually received; see gps\&.h for bitmask names and values\&. .sp Here\*(Aqs an example: .sp .if n \{\ .RS 4 .\} .nf {"class":"TPV","tag":"MID2","device":"/dev/pts/1", "time":"2005\-06\-08T10:34:48\&.283Z","ept":0\&.005, "lat":46\&.498293369,"lon":7\&.567411672,"alt":1343\&.127, "eph":36\&.000,"epv":32\&.321, "track":10\&.3788,"speed":0\&.091,"climb":\-0\&.085,"mode":3} .fi .if n \{\ .RE .\} .RE .PP SKY .RS 4 A SKY object reports a sky view of the GPS satellite positions\&. If there is no GPS device available, or no skyview has been reported yet, only the "class" field will reliably be present\&. .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&2.\ \&SKY object .TS allbox tab(:); lB lB lB lB. T{ Name T}:T{ Always? T}:T{ Type T}:T{ Description T} .T& l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l. T{ class T}:T{ Yes T}:T{ string T}:T{ Fixed: "SKY" T} T{ tag T}:T{ No T}:T{ string T}:T{ Type tag associated with this GPS sentence; from an NMEA device this is just the NMEA sentence type\&. T} T{ device T}:T{ No T}:T{ string T}:T{ Name of originating device T} T{ time T}:T{ No T}:T{ numeric T}:T{ Time/date stamp in ISO8601 format, UTC\&. May have a fractional part of up to \&.001sec precision\&. T} T{ xdop T}:T{ No T}:T{ numeric T}:T{ Longitudinal dilution of precision, a dimensionless factor which should be multiplied by a base UERE to get an error estimate\&. T} T{ ydop T}:T{ No T}:T{ numeric T}:T{ Latitudinal dilution of precision, a dimensionless factor which should be multiplied by a base UERE to get an error estimate\&. T} T{ vdop T}:T{ No T}:T{ numeric T}:T{ Altitude dilution of precision, a dimensionless factor which should be multiplied by a base UERE to get an error estimate\&. T} T{ tdop T}:T{ No T}:T{ numeric T}:T{ Time dilution of precision, a dimensionless factor which should be multiplied by a base UERE to get an error estimate\&. T} T{ hdop T}:T{ No T}:T{ numeric T}:T{ Horizontal dilution of precision, a dimensionless factor which should be multiplied by a base UERE to get a circular error estimate\&. T} T{ pdop T}:T{ No T}:T{ numeric T}:T{ Spherical dilution of precision, a dimensionless factor which should be multiplied by a base UERE to get an error estimate\&. T} T{ gdop T}:T{ No T}:T{ numeric T}:T{ Hyperspherical dilution of precision, a dimensionless factor which should be multiplied by a base UERE to get an error estimate\&. T} T{ satellites T}:T{ Yes T}:T{ list T}:T{ List of satellite objects in skyview T} .TE .sp 1 Many devices compute dilution of precision factors but do not include them in their reports\&. Many that do report DOPs report only HDOP, two\-dimensional circular error\&. gpsd always passes through whatever the device actually reports, then attempts to fill in other DOPs by calculating the appropriate determinants in a covariance matrix based on the satellite view\&. DOPs may be missing if some of these determinants are singular\&. It can even happen that the device reports an error estimate in meters when the corresponding DOP is unavailable; some devices use more sophisticated error modeling than the covariance calculation\&. .sp The satellite list objects have the following elements: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&3.\ \&Satellite object .TS allbox tab(:); lB lB lB lB. T{ Name T}:T{ Always? T}:T{ Type T}:T{ Description T} .T& l l l l l l l l l l l l l l l l l l l l. T{ PRN T}:T{ Yes T}:T{ numeric T}:T{ PRN ID of the satellite\&. 1\-63 are GNSS satellites, 64\-96 are GLONASS satellites, 100\-164 are SBAS satellites T} T{ az T}:T{ Yes T}:T{ numeric T}:T{ Azimuth, degrees from true north\&. T} T{ el T}:T{ Yes T}:T{ numeric T}:T{ Elevation in degrees\&. T} T{ ss T}:T{ Yes T}:T{ numeric T}:T{ Signal strength in dB\&. T} T{ used T}:T{ Yes T}:T{ boolean T}:T{ Used in current solution? (SBAS/WAAS/EGNOS satellites may be flagged used if the solution has corrections from them, but not all drivers make this information available\&.) T} .TE .sp 1 Note that satellite objects do not have a "class" field, as they are never shipped outside of a SKY object\&. .sp When the C client library parses a SKY response, it will assert the SATELLITE_SET bit in the top\-level set member\&. .sp Here\*(Aqs an example: .sp .if n \{\ .RS 4 .\} .nf {"class":"SKY","tag":"MID2","device":"/dev/pts/1", "time":"2005\-07\-08T11:28:07\&.114Z", "xdop":1\&.55,"hdop":1\&.24,"pdop":1\&.99, "satellites":[ {"PRN":23,"el":6,"az":84,"ss":0,"used":false}, {"PRN":28,"el":7,"az":160,"ss":0,"used":false}, {"PRN":8,"el":66,"az":189,"ss":44,"used":true}, {"PRN":29,"el":13,"az":273,"ss":0,"used":false}, {"PRN":10,"el":51,"az":304,"ss":29,"used":true}, {"PRN":4,"el":15,"az":199,"ss":36,"used":true}, {"PRN":2,"el":34,"az":241,"ss":43,"used":true}, {"PRN":27,"el":71,"az":76,"ss":43,"used":true}]} .fi .if n \{\ .RE .\} .RE .PP GST .RS 4 A GST object is a pseudorange noise report\&. .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&4.\ \&GST object .TS allbox tab(:); lB lB lB lB. T{ Name T}:T{ Always? T}:T{ Type T}:T{ Description T} .T& l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l. T{ class T}:T{ Yes T}:T{ string T}:T{ Fixed: "GST" T} T{ tag T}:T{ No T}:T{ string T}:T{ Type tag associated with this GPS sentence; from an NMEA device this is just the NMEA sentence type\&. T} T{ device T}:T{ No T}:T{ string T}:T{ Name of originating device T} T{ time T}:T{ No T}:T{ numeric T}:T{ Seconds since the Unix epoch, UTC\&. May have a fractional part of up to \&.001sec precision\&. T} T{ rms T}:T{ No T}:T{ numeric T}:T{ Value of the standard deviation of the range inputs to the navigation process (range inputs include pseudoranges and DGPS corrections)\&. T} T{ major T}:T{ No T}:T{ numeric T}:T{ Standard deviation of semi\-major axis of error ellipse, in meters\&. T} T{ minor T}:T{ No T}:T{ numeric T}:T{ Standard deviation of semi\-minor axis of error ellipse, in meters\&. T} T{ orient T}:T{ No T}:T{ numeric T}:T{ Orientation of semi\-major axis of error ellipse, in degrees from true north\&. T} T{ lat T}:T{ No T}:T{ numeric T}:T{ Standard deviation of latitude error, in meters\&. T} T{ lon T}:T{ No T}:T{ numeric T}:T{ Standard deviation of longitude error, in meters\&. T} T{ alt T}:T{ No T}:T{ numeric T}:T{ Standard deviation of altitude error, in meters\&. T} .TE .sp 1 Here\*(Aqs an example: .sp .if n \{\ .RS 4 .\} .nf {"class":"GST","tag":"GST","device":"/dev/ttyUSB0", "time":"2010\-12\-07T10:23:07\&.096Z","rms":2\&.440, "major":1\&.660,"minor":1\&.120,"orient":68\&.989, "lat":1\&.600,"lon":1\&.200,"alt":2\&.520} .fi .if n \{\ .RE .\} .RE .PP ATT .RS 4 An ATT object is a vehicle\-attitude report\&. It is returned by digital\-compass and gyroscope sensors; depending on device, it may include: heading, pitch, roll, yaw, gyroscope, and magnetic\-field readings\&. Because such sensors are often bundled as part of marine\-navigation systems, the ATT response may also include water depth\&. .sp The "class", "mode", and "tag" fields will reliably be present\&. Others may be reported or not depending on the specific device type\&. .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&5.\ \&ATT object .TS allbox tab(:); lB lB lB lB. T{ Name T}:T{ Always? T}:T{ Type T}:T{ Description T} .T& l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l. T{ class T}:T{ Yes T}:T{ string T}:T{ Fixed: "ATT" T} T{ tag T}:T{ Yes T}:T{ string T}:T{ Type tag associated with this GPS sentence; from an NMEA device this is just the NMEA sentence type\&. T} T{ device T}:T{ Yes T}:T{ string T}:T{ Name of originating device T} T{ time T}:T{ Yes T}:T{ numeric T}:T{ Seconds since the Unix epoch, UTC\&. May have a fractional part of up to \&.001sec precision\&. T} T{ heading T}:T{ No T}:T{ numeric T}:T{ Heading, degrees from true north\&. T} T{ mag_st T}:T{ No T}:T{ string T}:T{ Magnetometer status\&. T} T{ pitch T}:T{ No T}:T{ numeric T}:T{ Pitch in degrees\&. T} T{ pitch_st T}:T{ No T}:T{ string T}:T{ Pitch sensor status\&. T} T{ yaw T}:T{ No T}:T{ numeric T}:T{ Yaw in degrees T} T{ yaw_st T}:T{ No T}:T{ string T}:T{ Yaw sensor status\&. T} T{ roll T}:T{ No T}:T{ numeric T}:T{ Roll in degrees\&. T} T{ roll_st T}:T{ No T}:T{ string T}:T{ Roll sensor status\&. T} T{ dip T}:T{ No T}:T{ numeric T}:T{ Local magnetic inclination, degrees, positive when the magnetic field points downward (into the Earth)\&. T} T{ mag_len T}:T{ No T}:T{ numeric T}:T{ Scalar magnetic field strength\&. T} T{ mag_x T}:T{ No T}:T{ numeric T}:T{ X component of magnetic field strength\&. T} T{ mag_y T}:T{ No T}:T{ numeric T}:T{ Y component of magnetic field strength\&. T} T{ mag_z T}:T{ No T}:T{ numeric T}:T{ Z component of magnetic field strength\&. T} T{ acc_len T}:T{ No T}:T{ numeric T}:T{ Scalar acceleration\&. T} T{ acc_x T}:T{ No T}:T{ numeric T}:T{ X component of acceleration\&. T} T{ acc_y T}:T{ No T}:T{ numeric T}:T{ Y component of acceleration\&. T} T{ acc_z T}:T{ No T}:T{ numeric T}:T{ Z component of acceleration\&. T} T{ gyro_x T}:T{ No T}:T{ numeric T}:T{ X component of acceleration\&. T} T{ gyro_y T}:T{ No T}:T{ numeric T}:T{ Y component of acceleration\&. T} T{ depth T}:T{ No T}:T{ numeric T}:T{ Water depth in meters\&. T} T{ temperature T}:T{ No T}:T{ numeric T}:T{ Temperature at sensor, degrees centigrade\&. T} .TE .sp 1 The heading, pitch, and roll status codes (if present) vary by device\&. For the TNT Revolution digital compasses, they are coded as follows: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&6.\ \&Device flags .TS allbox tab(:); lB lB. T{ Code T}:T{ Description T} .T& l l l l l l l l l l l l l l. T{ C T}:T{ magnetometer calibration alarm T} T{ L T}:T{ low alarm T} T{ M T}:T{ low warning T} T{ N T}:T{ normal T} T{ O T}:T{ high warning T} T{ P T}:T{ high alarm T} T{ V T}:T{ magnetometer voltage level alarm T} .TE .sp 1 When the C client library parses a response of this kind, it will assert ATT_IS\&. .sp Here\*(Aqs an example: .sp .if n \{\ .RS 4 .\} .nf {"class":"ATT","tag":"PTNTHTM","time":1270938096\&.843, "heading":14223\&.00,"mag_st":"N", "pitch":169\&.00,"pitch_st":"N", "roll":\-43\&.00,"roll_st":"N", "dip":13641\&.000,"mag_x":2454\&.000} .fi .if n \{\ .RE .\} .RE .PP And here are the commands: .PP ?VERSION; .RS 4 Returns an object with the following attributes: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&7.\ \&VERSION object .TS allbox tab(:); lB lB lB lB. T{ Name T}:T{ Always? T}:T{ Type T}:T{ Description T} .T& l l l l l l l l l l l l l l l l l l l l l l l l. T{ class T}:T{ Yes T}:T{ string T}:T{ Fixed: "VERSION" T} T{ release T}:T{ Yes T}:T{ string T}:T{ Public release level T} T{ rev T}:T{ Yes T}:T{ string T}:T{ Internal revision\-control level\&. T} T{ proto_major T}:T{ Yes T}:T{ numeric T}:T{ API major revision level\&. T} T{ proto_minor T}:T{ Yes T}:T{ numeric T}:T{ API minor revision level\&. T} T{ remote T}:T{ No T}:T{ string T}:T{ URL of the remote daemon reporting this version\&. If empty, this is the version of the local daemon\&. T} .TE .sp 1 The daemon ships a VERSION response to each client when the client first connects to it\&. .sp When the C client library parses a response of this kind, it will assert the VERSION_SET bit in the top\-level set member\&. .sp Here\*(Aqs an example: .sp .if n \{\ .RS 4 .\} .nf {"class":"VERSION","version":"2\&.40dev", "rev":"06f62e14eae9886cde907dae61c124c53eb1101f", "proto_major":3,"proto_minor":1 } .fi .if n \{\ .RE .\} .RE .PP ?DEVICES; .RS 4 Returns a device list object with the following elements: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&8.\ \&DEVICES object .TS allbox tab(:); lB lB lB lB. T{ Name T}:T{ Always? T}:T{ Type T}:T{ Description T} .T& l l l l l l l l l l l l. T{ class T}:T{ Yes T}:T{ string T}:T{ Fixed: "DEVICES" T} T{ devices T}:T{ Yes T}:T{ list T}:T{ List of device descriptions T} T{ remote T}:T{ No T}:T{ string T}:T{ URL of the remote daemon reporting the device set\&. If empty, this is a DEVICES response from the local daemon\&. T} .TE .sp 1 When the C client library parses a response of this kind, it will assert the DEVICELIST_SET bit in the top\-level set member\&. .sp Here\*(Aqs an example: .sp .if n \{\ .RS 4 .\} .nf {"class"="DEVICES","devices":[ {"class":"DEVICE","path":"/dev/pts/1","flags":1,"driver":"SiRF binary"}, {"class":"DEVICE","path":"/dev/pts/3","flags":4,"driver":"AIVDM"}]} .fi .if n \{\ .RE .\} .sp The daemon occasionally ships a bare DEVICE object to the client (that is, one not inside a DEVICES wrapper)\&. The data content of these objects will be described later as a response to the ?DEVICE command\&. .RE .PP ?WATCH; .RS 4 This command sets watcher mode\&. It also sets or elicits a report of per\-subscriber policy and the raw bit\&. An argument WATCH object changes the subscriber\*(Aqs policy\&. The response describes the subscriber\*(Aqs policy\&. The response will also include a DEVICES object\&. .sp A WATCH object has the following elements: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&9.\ \&WATCH object .TS allbox tab(:); lB lB lB lB. T{ Name T}:T{ Always? T}:T{ Type T}:T{ Description T} .T& l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l. T{ class T}:T{ Yes T}:T{ string T}:T{ Fixed: "WATCH" T} T{ enable T}:T{ No T}:T{ boolean T}:T{ Enable (true) or disable (false) watcher mode\&. Default is true\&. T} T{ json T}:T{ No T}:T{ boolean T}:T{ Enable (true) or disable (false) dumping of JSON reports\&. Default is false\&. T} T{ nmea T}:T{ No T}:T{ boolean T}:T{ Enable (true) or disable (false) dumping of binary packets as pseudo\-NMEA\&. Default is false\&. T} T{ raw T}:T{ No T}:T{ integer T}:T{ Controls \*(Aqraw\*(Aq mode\&. When this attribute is set to 1 for a channel, gpsd reports the unprocessed NMEA or AIVDM data stream from whatever device is attached\&. Binary GPS packets are hex\-dumped\&. RTCM2 and RTCM3 packets are not dumped in raw mode\&. When this attribute is set to 2 for a channel that processes binary data, gpsd reports the received data verbatim without hex\-dumping\&. T} T{ scaled T}:T{ No T}:T{ boolean T}:T{ If true, apply scaling divisors to output before dumping; default is false\&. Applies only to AIS and Subframe reports\&. T} T{ device T}:T{ No T}:T{ string T}:T{ If present, enable watching only of the specified device rather than all devices\&. Useful with raw and NMEA modes in which device responses aren\*(Aqt tagged\&. Has no effect when used with enable:false\&. T} T{ remote T}:T{ No T}:T{ string T}:T{ URL of the remote daemon reporting the watch set\&. If empty, this is a WATCH response from the local daemon\&. T} .TE .sp 1 There is an additional boolean "timing" attribute which is undocumented because that portion of the interface is considered unstable and for developer use only\&. .sp In watcher mode, GPS reports are dumped as TPV and SKY responses\&. AIS, Subframe and RTCM reporting is described in the next section\&. .sp When the C client library parses a response of this kind, it will assert the POLICY_SET bit in the top\-level set member\&. .sp Here\*(Aqs an example: .sp .if n \{\ .RS 4 .\} .nf {"class":"WATCH", "raw":1,"scaled":true} .fi .if n \{\ .RE .\} .RE .PP ?POLL; .RS 4 The POLL command requests data from the last\-seen fixes on all active GPS devices\&. Devices must previously have been activated by ?WATCH to be pollable\&. .sp Polling can lead to possibly surprising results when it is used on a device such as an NMEA GPS for which a complete fix has to be accumulated from several sentences\&. If you poll while those sentences are being emitted, the response will contain the last complete fix data and may be as much as one cycle time (typically 1 second) stale\&. .sp The POLL response will contain a timestamped list of TPV objects describing cached data, and a timestamped list of SKY objects describing satellite configuration\&. If a device has not seen fixes, it will be reported with a mode field of zero\&. .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&10.\ \&POLL object .TS allbox tab(:); lB lB lB lB. T{ Name T}:T{ Always? T}:T{ Type T}:T{ Description T} .T& l l l l l l l l l l l l l l l l l l l l. T{ class T}:T{ Yes T}:T{ string T}:T{ Fixed: "POLL" T} T{ time T}:T{ Yes T}:T{ Numeric T}:T{ Timestamp in ISO 8601 format\&. May have a fractional part of up to \&.001sec precision\&. T} T{ active T}:T{ Yes T}:T{ Numeric T}:T{ Count of active devices\&. T} T{ fixes T}:T{ Yes T}:T{ JSON array T}:T{ Comma\-separated list of TPV objects\&. T} T{ skyviews T}:T{ Yes T}:T{ JSON array T}:T{ Comma\-separated list of SKY objects\&. T} .TE .sp 1 Here\*(Aqs an example of a POLL response: .sp .if n \{\ .RS 4 .\} .nf {"class":"POLL","time":"2010\-06\-04T10:31:00\&.289Z","active":1, "tpv":[{"class":"TPV","tag":"MID41","device":"/dev/ttyUSB0", "time":"2010\-09\-08T13:33:06\&.095Z", "ept":0\&.005,"lat":40\&.035093060, "lon":\-75\&.519748733,"track":99\&.4319,"speed":0\&.123,"mode":2}], "sky":[{"class":"SKY","tag":"MID41","device":"/dev/ttyUSB0", "time":1270517264\&.240,"hdop":9\&.20, "satellites":[{"PRN":16,"el":55,"az":42,"ss":36,"used":true}, {"PRN":19,"el":25,"az":177,"ss":0,"used":false}, {"PRN":7,"el":13,"az":295,"ss":0,"used":false}, {"PRN":6,"el":56,"az":135,"ss":32,"used":true}, {"PRN":13,"el":47,"az":304,"ss":0,"used":false}, {"PRN":23,"el":66,"az":259,"ss":0,"used":false}, {"PRN":20,"el":7,"az":226,"ss":0,"used":false}, {"PRN":3,"el":52,"az":163,"ss":32,"used":true}, {"PRN":31,"el":16,"az":102,"ss":0,"used":false} ]}]} .fi .if n \{\ .RE .\} .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBNote\fR .ps -1 .br Client software should not assume the field inventory of the POLL response is fixed for all time\&. As gpsd collects and caches more data from more sensor types, those data are likely to find their way into this response\&. .sp .5v .RE .RE .PP PPS .RS 4 This message is emitted each time the daemon sees a PPS (Pulse Per Second) strobe from a device\&. .sp A PPS object has the following elements: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&11.\ \&PPS object .TS allbox tab(:); lB lB lB lB. T{ Name T}:T{ Always? T}:T{ Type T}:T{ Description T} .T& l l l l l l l l l l l l l l l l l l l l l l l l. T{ class T}:T{ Yes T}:T{ string T}:T{ Fixed: "PPS" T} T{ device T}:T{ Yes T}:T{ string T}:T{ Name of originating device T} T{ real_sec T}:T{ Yes T}:T{ numeric T}:T{ seconds from the realtime clock T} T{ real_musec T}:T{ Yes T}:T{ numeric T}:T{ microseconds from the realtime clock T} T{ clock_sec T}:T{ Yes T}:T{ numeric T}:T{ seconds from the system clock T} T{ clock_musec T}:T{ Yes T}:T{ numeric T}:T{ microseconds from the system clock T} .TE .sp 1 This message is emitted once per second to watchers of a device emitting PPS, and is intended to report the drift between the start of the GPS second and seconds as reported by the system clock (which may be NTP\-corrected)\&. .sp The message contains second/microsecond pairs for two clocks; the realtime clock without NTP correction (the result of clock_gettime(CLOCK_REALTIME), but only to microsecond precision) and the ordinary system clock (which may be NTP corrected)\&. .sp There are various sources of error in the reported clock times\&. For PPS delivered via a real serial\-line strobe, serial\-interrupt latency plus processing time to the timer call should be bounded above by about 10 microseconds; USB\-to\-serial control\-line emulation is known to add jitter of about 50 microseconds\&. (Both figures are for GPSD running in non\-realtime mode on an x86 with a gigahertz clock and are estimates based on measured latency in other applications) .sp Here\*(Aqs an example: .sp .if n \{\ .RS 4 .\} .nf {"class":"PPS","device":"/dev/ttyUSB0", "real_sec":1330212592, "real_musec":343182, "clock_sec":1330212592,"clock_musec":343184} .fi .if n \{\ .RE .\} .RE .PP ?DEVICE .RS 4 This command reports (when followed by \*(Aq;\*(Aq) the state of a device, or sets (when followed by \*(Aq=\*(Aq and a DEVICE object) device\-specific control bits, notably the device\*(Aqs speed and serial mode and the native\-mode bit\&. The parameter\-setting form will be rejected if more than one client is attached to the channel\&. .sp Pay attention to the response, because it is possible for this command to fail if the GPS does not support a speed\-switching command or only supports some combinations of serial modes\&. In case of failure, the daemon and GPS will continue to communicate at the old speed\&. .sp Use the parameter\-setting form with caution\&. On USB and Bluetooth GPSes it is also possible for serial mode setting to fail either because the serial adaptor chip does not support non\-8N1 modes or because the device firmware does not properly synchronize the serial adaptor chip with the UART on the GPS chipset when the speed changes\&. These failures can hang your device, possibly requiring a GPS power cycle or (in extreme cases) physically disconnecting the NVRAM backup battery\&. .sp A DEVICE object has the following elements: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&12.\ \&CONFIGCHAN object .TS allbox tab(:); lB lB lB lB. T{ Name T}:T{ Always? T}:T{ Type T}:T{ Description T} .T& l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l. T{ class T}:T{ Yes T}:T{ string T}:T{ Fixed: "DEVICE" T} T{ path T}:T{ No T}:T{ string T}:T{ Name the device for which the control bits are being reported, or for which they are to be applied\&. This attribute may be omitted only when there is exactly one subscribed channel\&. T} T{ activated T}:T{ No T}:T{ string T}:T{ Time the device was activated as an ISO8601 timestamp\&. If the device is inactive this attribute is absent\&. T} T{ flags T}:T{ No T}:T{ integer T}:T{ Bit vector of property flags\&. Currently defined flags are: describe packet types seen so far (GPS, RTCM2, RTCM3, AIS)\&. Won\*(Aqt be reported if empty, e\&.g\&. before gpsd has seen identifiable packets from the device\&. T} T{ driver T}:T{ No T}:T{ string T}:T{ GPSD\*(Aqs name for the device driver type\&. Won\*(Aqt be reported before gpsd has seen identifiable packets from the device\&. T} T{ subtype T}:T{ When the daemon sees a delayed response to a probe for subtype or firmware\-version information\&. T}:T{ string T}:T{ Whatever version information the device returned\&. T} T{ bps T}:T{ No T}:T{ integer T}:T{ Device speed in bits per second\&. T} T{ parity T}:T{ Yes T}:T{ string T}:T{ N, O or E for no parity, odd, or even\&. T} T{ stopbits T}:T{ Yes T}:T{ string T}:T{ Stop bits (1 or 2)\&. T} T{ native T}:T{ No T}:T{ integer T}:T{ 0 means NMEA mode and 1 means alternate mode (binary if it has one, for SiRF and Evermore chipsets in particular)\&. Attempting to set this mode on a non\-GPS device will yield an error\&. T} T{ cycle T}:T{ No T}:T{ real T}:T{ Device cycle time in seconds\&. T} T{ mincycle T}:T{ No T}:T{ real T}:T{ Device minimum cycle time in seconds\&. Reported from ?CONFIGDEV when (and only when) the rate is switchable\&. It is read\-only and not settable\&. T} .TE .sp 1 The serial parameters will be omitted in a response describing a TCP/IP source such as an Ntrip, DGPSIP, or AIS feed\&. .sp The contents of the flags field should be interpreted as follows: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&13.\ \&Device flags .TS allbox tab(:); lB lB lB. T{ C #define T}:T{ Value T}:T{ Description T} .T& l l l l l l l l l l l l. T{ SEEN_GPS T}:T{ 0x01 T}:T{ GPS data has been seen on this device T} T{ SEEN_RTCM2 T}:T{ 0x02 T}:T{ RTCM2 data has been seen on this device T} T{ SEEN_RTCM3 T}:T{ 0x04 T}:T{ RTCM3 data has been seen on this device T} T{ SEEN_AIS T}:T{ 0x08 T}:T{ AIS data has been seen on this device T} .TE .sp 1 When the C client library parses a response of this kind, it will assert the DEVICE_SET bit in the top\-level set member\&. .sp Here\*(Aqs an example: .sp .if n \{\ .RS 4 .\} .nf {"class":"DEVICE","bps":4800,"parity":"N","stopbits":1,"native":0} .fi .if n \{\ .RE .\} .RE .PP When a client is in watcher mode, the daemon will ship it DEVICE notifications when a device is added to the pool or deactivated\&. .PP When the C client library parses a response of this kind, it will assert the DEVICE_SET bit in the top\-level set member\&. .PP Here\*(Aqs an example: .sp .if n \{\ .RS 4 .\} .nf {"class":"DEVICE","path":"/dev/pts1","activated":0} .fi .if n \{\ .RE .\} .PP The daemon may ship an error object in response to a syntactically invalid command line or unknown command\&. It has the following elements: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&14.\ \&ERROR notification object .TS allbox tab(:); lB lB lB lB. T{ Name T}:T{ Always? T}:T{ Type T}:T{ Description T} .T& l l l l l l l l. T{ class T}:T{ Yes T}:T{ string T}:T{ Fixed: "ERROR" T} T{ message T}:T{ Yes T}:T{ string T}:T{ Textual error message T} .TE .sp 1 .PP Here\*(Aqs an example: .sp .if n \{\ .RS 4 .\} .nf {"class":"ERROR","message":"Unrecognized request \*(Aq?FOO\*(Aq"} .fi .if n \{\ .RE .\} .PP When the C client library parses a response of this kind, it will assert the ERR_SET bit in the top\-level set member\&. .SH "RTCM2" .PP RTCM\-104 is a family of serial protocols used for broadcasting pseudorange corrections from differential\-GPS reference stations\&. Many GPS receivers can accept these corrections to improve their reporting accuracy\&. .PP RTCM\-104 comes in two major and incompatible flavors, 2\&.x and 3\&.x\&. Each major flavor has minor (compatible) revisions\&. .PP The applicable standard for RTCM Version 2\&.x is RTCM Recommended Standards for Differential NAVSTAR GPS Service RTCM Paper 194\-93/SC 104\-STD\&. For RTCM 3\&.1 it is RTCM Paper 177\-2006\-SC104\-STD\&. Ordering instructions for both standards are accessible from the website of the \m[blue]\fBRadio Technical Commission for Maritime Services\fR\m[]\&\s-2\u[1]\d\s+2 under "Publications"\&. .SS "RTCM WIRE TRANSMISSIONS" .PP Differential\-GPS correction stations consist of a GPS reference receiver coupled to a low frequency (LF) transmitter\&. The GPS reference receiver is a survey\-grade GPS that does GPS carrier tracking and can work out its own position to a few millimeters\&. It generates range and range\-rate corrections and encodes them into RTCM104\&. It ships the RTCM104 to the LF transmitter over serial rs\-232 signal at 100 baud or 200 baud depending on the requirements of the transmitter\&. .PP The LF transmitter broadcasts the approximately 300khz radio signal that differential\-GPS radio receivers pick up\&. Transmitters that are meant to have a higher range will need to transmit at the slower rate\&. The higher the data rate the harder it will be for the remote radio receiver to receive with a good signal\-to\-noise ration\&. (Higher data rate signals can\*(Aqt be averaged over as long a time frame, hence they appear noisier\&.) .SS "RTCM WIRE FORMATS" .PP An RTCM 2\&.x message consists of a sequence of up to 33 30\-bit words\&. The 24 most significant bits of each word are data and the six least significant bits are parity\&. The parity algorithm used is the same ISGPS\-2000 as that used on GPS satellite downlinks\&. Each RTCM 2\&.x message consists of two header words followed by zero or more data words, depending upon message type\&. .PP An RTCM 3\&.x message begins with a fixed leader byte 0xD3\&. That is followed by six bits of version information and 10 bits of payload length information\&. Following that is the payload; following the payload is a 3\-byte checksum of the payload using the Qualcomm CRC\-24Q algorithm\&. .SS "RTCM2 JSON FORMAT" .PP Each RTCM2 message is dumped as a single JSON object per message, with the message fields as attributes of that object\&. Arrays of satellite, station, and constellation statistics become arrays of JSON sub\-objects\&. Each sentence will normally also have a "device" field containing the pathname of the originating device\&. .PP All attributes other than the device field are mandatory\&. Header attributes are emitted before others\&. .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBHeader portion\fR .RS 4 .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&15.\ \&SKY object .TS allbox tab(:); lB lB lB. T{ Name T}:T{ Type T}:T{ .PP Description T} .T& l l l l l l l l l l l l l l l l l l l l l. T{ class T}:T{ string T}:T{ .PP Fixed: "RTCM2"\&. T} T{ type T}:T{ integer T}:T{ .PP Message type (1\-9)\&. T} T{ station_id T}:T{ integer T}:T{ .PP The id of the GPS reference receiver\&. The LF transmitters also have (different) id numbers\&. T} T{ zcount T}:T{ real T}:T{ .PP The reference time of the corrections in the message in seconds within the current hour\&. Note that it is in GPS time, which is some seconds ahead of UTC (see the U\&.S\&. Naval Observatory\*(Aqs \m[blue]\fBtable of leap second corrections\fR\m[]\&\s-2\u[2]\d\s+2)\&. T} T{ seqnum T}:T{ integer T}:T{ .PP Sequence number\&. Only 3 bits wide, wraps after 7\&. T} T{ length T}:T{ integer T}:T{ .PP The number of words after the header that comprise the message\&. T} T{ station_health T}:T{ integer T}:T{ .PP Station transmission status\&. Indicates the health of the beacon as a reference source\&. Any nonzero value means the satellite is probably transmitting bad data and should not be used in a fix\&. 6 means the transmission is unmonitored\&. 7 means the station is not working properly\&. Other values are defined by the beacon operator\&. T} .TE .sp 1 .PP is one of .PP 1 .RS 4 full corrections \- one message containing corrections for all GPS satellites in view\&. This is not common\&. .RE .PP 3 .RS 4 reference station parameters \- the position of the reference station GPS antenna\&. .RE .PP 4 .RS 4 datum \(em the datum to which the DGPS data is referred\&. .RE .PP 5 .RS 4 constellation health \(em information about the satellites the beacon can see\&. .RE .PP 6 .RS 4 null message \(em just a filler\&. .RE .PP 7 .RS 4 radio beacon almanac \(em information about this or other beacons\&. .RE .PP 9 .RS 4 subset corrections \(em a message containing corrections for only a subset of the GPS satellites in view\&. .RE .PP 16 .RS 4 special message \(em a text message from the beacon operator\&. .RE .PP 31 .RS 4 GLONASS subset corrections \(em a message containing corrections for a set of the GLONASS satellites in view\&. .RE .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBType 1 and 9: Correction data\fR .RS 4 .PP One or more satellite objects follow the header for type 1 or type 9 messages\&. Here is the format: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&16.\ \&Satellite object .TS allbox tab(:); lB lB lB. T{ Name T}:T{ Type T}:T{ .PP Description T} .T& l l l l l l l l l l l l l l l. T{ ident T}:T{ integer T}:T{ .PP The PRN number of the satellite for which this is correction data\&. T} T{ udre T}:T{ integer T}:T{ .PP User Differential Range Error (0\-3)\&. See the table following for values\&. T} T{ iod T}:T{ integer T}:T{ .PP Issue Of Data, matching the IOD for the current ephemeris of this satellite, as transmitted by the satellite\&. The IOD is a unique tag that identifies the ephemeris; the GPS using the DGPS correction and the DGPS generating the data must use the same orbital positions for the satellite\&. T} T{ prc T}:T{ real T}:T{ .PP The pseudorange error in meters for this satellite as measured by the beacon reference receiver at the epoch indicated by the z_count in the parent record\&. T} T{ rrc T}:T{ real T}:T{ .PP The rate of change of pseudorange error in meters/sec for this satellite as measured by the beacon reference receiver at the epoch indicated by the z_count field in the parent record\&. This is used to calculate pseudorange errors at other epochs, if required by the GPS receiver\&. T} .TE .sp 1 .PP User Differential Range Error values are as follows: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&17.\ \&UDRE values .TS allbox tab(:); l l l l l l l l. T{ 0 T}:T{ 1\-sigma error <= 1m T} T{ 1 T}:T{ 1\-sigma error <= 4m T} T{ 2 T}:T{ 1\-sigma error <= 8m T} T{ 3 T}:T{ 1\-sigma error > 8m T} .TE .sp 1 .PP Here\*(Aqs an example: .sp .if n \{\ .RS 4 .\} .nf {"class":"RTCM2","type":1, "station_id":688,"zcount":843\&.0,"seqnum":5,"length":19,"station_health":6, "satellites":[ {"ident":10,"udre":0,"iod":46,"prc":\-2\&.400,"rrc":0\&.000}, {"ident":13,"udre":0,"iod":94,"prc":\-4\&.420,"rrc":0\&.000}, {"ident":7,"udre":0,"iod":22,"prc":\-5\&.160,"rrc":0\&.002}, {"ident":2,"udre":0,"iod":34,"prc":\-6\&.480,"rrc":0\&.000}, {"ident":4,"udre":0,"iod":47,"prc":\-8\&.860,"rrc":0\&.000}, {"ident":8,"udre":0,"iod":76,"prc":\-7\&.980,"rrc":0\&.002}, {"ident":5,"udre":0,"iod":99,"prc":\-8\&.260,"rrc":0\&.002}, {"ident":23,"udre":0,"iod":81,"prc":\-8\&.060,"rrc":0\&.000}, {"ident":16,"udre":0,"iod":70,"prc":\-11\&.740,"rrc":0\&.000}, {"ident":30,"udre":0,"iod":4,"prc":\-18\&.960,"rrc":\-0\&.006}, {"ident":29,"udre":0,"iod":101,"prc":\-24\&.960,"rrc":\-0\&.002} ]} .fi .if n \{\ .RE .\} .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBType 3: Reference Station Parameters\fR .RS 4 .PP Here are the payload members of a type 3 (Reference Station Parameters) message: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&18.\ \&Reference Station Parameters .TS allbox tab(:); lB lB lB. T{ Name T}:T{ Type T}:T{ .PP Description T} .T& l l l l l l l l l. T{ x T}:T{ real T}:T{ .PP ECEF X coordinate\&. T} T{ y T}:T{ real T}:T{ .PP ECEF Y coordinate\&. T} T{ z T}:T{ real T}:T{ .PP ECEF Z coordinate\&. T} .TE .sp 1 .PP The coordinates are the position of the station, in meters to two decimal places, in Earth Centred Earth Fixed coordinates\&. These are usually referred to the WGS84 reference frame, but may be referred to NAD83 in the US (essentially identical to WGS84 for all except geodesists), or to some other reference frame in other parts of the world\&. .PP An invalid reference message is represented by a type 3 header without payload fields\&. .PP Here\*(Aqs an example: .sp .if n \{\ .RS 4 .\} .nf {"class":"RTCM2","type":3, "station_id":652,"zcount":1657\&.2,"seqnum":2,"length":4,"station_health":6, "x":3878620\&.92,"y":670281\&.40,"z":5002093\&.59 } .fi .if n \{\ .RE .\} .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBType 4: Datum\fR .RS 4 .PP Here are the payload members of a type 4 (Datum) message: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&19.\ \&Datum .TS allbox tab(:); lB lB lB. T{ Name T}:T{ Type T}:T{ .PP Description T} .T& l l l l l l l l l l l l l l l l l l. T{ dgnss_type T}:T{ string T}:T{ .PP Either "GPS", "GLONASS", "GALILEO", or "UNKNOWN"\&. T} T{ dat T}:T{ integer T}:T{ .PP 0 or 1 and indicates the sense of the offset shift given by dx, dy, dz\&. dat = 0 means that the station coordinates (in the reference message) are referred to a local datum and that adding dx, dy, dz to that position will render it in GNSS coordinates (WGS84 for GPS)\&. If dat = 1 then the ref station position is in GNSS coordinates and adding dx, dy, dz will give it referred to the local datum\&. T} T{ datum_name T}:T{ string T}:T{ .PP A standard name for the datum\&. T} T{ dx T}:T{ real T}:T{ .PP X offset\&. T} T{ dy T}:T{ real T}:T{ .PP Y offset\&. T} T{ dz T}:T{ real T}:T{ .PP Z offset\&. T} .TE .sp 1 .PP are offsets to convert from local datum to GNSS datum or vice versa\&. These fields are optional\&. .PP An invalid datum message is represented by a type 4 header without payload fields\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBType 5: Constellation Health\fR .RS 4 .PP One or more of these follow the header for type 5 messages \(em one for each satellite\&. .PP Here is the format: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&20.\ \&Constellation health .TS allbox tab(:); lB lB lB. T{ Name T}:T{ Type T}:T{ .PP Description T} .T& l l l l l l l l l l l l l l l l l l l l l l l l. T{ ident T}:T{ integer T}:T{ .PP The PRN number of the satellite\&. T} T{ iodl T}:T{ bool T}:T{ .PP True indicates that this information relates to the satellite information in an accompanying type 1 or type 9 message\&. T} T{ health T}:T{ integer T}:T{ 0 indicates that the satellite is healthy\&. Any other value indicates a problem (coding is not known)\&..PP T} T{ snr T}:T{ integer T}:T{ .PP The carrier/noise ratio of the received signal in the range 25 to 55 dB(Hz)\&. T} T{ health_en T}:T{ bool T}:T{ .PP If set to True it indicates that the satellite is healthy even if the satellite navigation data says it is unhealthy\&. T} T{ new_data T}:T{ bool T}:T{ True indicates that the IOD for this satellite will soon be updated in type 1 or 9 messages\&..PP T} T{ los_warning T}:T{ bool T}:T{ .PP Line\-of\-sight warning\&. True indicates that the satellite will shortly go unhealthy\&. T} T{ tou T}:T{ integer T}:T{ .PP Healthy time remaining in seconds\&. T} .TE .sp 1 .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBType 6: Null\fR .RS 4 .PP This just indicates a null message\&. There are no payload fields\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBUnknown message\fR .RS 4 .PP This format is used to dump message words in hexadecimal when the message type field doesn\*(Aqt match any of the known ones\&. .PP Here is the format: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&21.\ \&Unknown Message .TS allbox tab(:); lB lB lB. T{ Name T}:T{ Type T}:T{ .PP Description T} .T& l l l. T{ data T}:T{ list T}:T{ .PP A list of strings\&. T} .TE .sp 1 .PP Each string in the array is a hex literal representing 30 bits of information, after parity checks and inversion\&. The high two bits should be ignored\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBType 7: Radio Beacon Almanac\fR .RS 4 .PP Here is the format: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&22.\ \&Contellation health .TS allbox tab(:); lB lB lB. T{ Name T}:T{ Type T}:T{ .PP Description T} .T& l l l l l l l l l l l l l l l l l l l l l. T{ lat T}:T{ real T}:T{ .PP Latitude in degrees, of the LF transmitter antenna for the station for which this is an almanac\&. North is positive\&. T} T{ lon T}:T{ real T}:T{ .PP Longitude in degrees, of the LF transmitter antenna for the station for which this is an almanac\&. East is positive\&. T} T{ range T}:T{ integer T}:T{ Published range of the station in km\&..PP T} T{ frequency T}:T{ real T}:T{ .PP Station broadcast frequency in kHz\&. T} T{ health T}:T{ integer T}:T{ .PP is the health of the station for which this is an almanac\&. If it is non\-zero, the station is issuing suspect data and should not be used for fixes\&. The ITU and RTCM104 standards differ about the mode detailed interpretation of the field and even about its bit width\&. T} T{ station_id T}:T{ integer T}:T{ .PP The id of the transmitter\&. This is not the same as the reference id in the header, the latter being the id of the reference receiver\&. T} T{ bitrate T}:T{ integer T}:T{ .PP The transmitted bitrate\&. T} .TE .sp 1 .PP Here\*(Aqs an example: .sp .if n \{\ .RS 4 .\} .nf {"class":"RTCM2","type":9,"station_id":268,"zcount":252\&.6, "seqnum":4,"length":5,"station_health":0, "satellites":[ {"ident":13,"udre":0,"iod":3,"prc":\-25\&.940,"rrc":0\&.066}, {"ident":2,"udre":0,"iod":73,"prc":0\&.920,"rrc":\-0\&.080}, {"ident":8,"udre":0,"iod":22,"prc":23\&.820,"rrc":0\&.014} ]} .fi .if n \{\ .RE .\} .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBType 13: GPS Time of Week\fR .RS 4 .PP Here are the payload members of a type 13 (Groumf Tramitter Parameters) message: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&23.\ \&Grund Transmitter Parameters .TS allbox tab(:); lB lB lB. T{ Name T}:T{ Type T}:T{ .PP Description T} .T& l l l l l l l l l l l l l l l. T{ status T}:T{ bool T}:T{ .PP If True, signals user to expect a type 16 explanatory message associated with this station\&. Probably indicates some sort of unusual event\&. T} T{ rangeflag T}:T{ bool T}:T{ .PP If True, indicates that the estimated range is different from that found in the Type 7 message (which contains the beacon\*(Aqs listed range)\&. Generally indicates a range reduction due to causes such as poor ionospheric conditions or reduced transmission power\&. T} T{ lat T}:T{ real T}:T{ .PP Degrees latitude, signed\&. Positive is N, negative is S\&. T} T{ lon T}:T{ real T}:T{ .PP Degrees longitude, signed\&. Positive is E, negative is W\&. T} T{ range T}:T{ integer T}:T{ .PP Transmission range in km (1\-1024)\&. T} .TE .sp 1 .PP This message type replaces message type 3 (Reference Station Parameters) in RTCM 2\&.3\&. .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBType 14: GPS Time of Week\fR .RS 4 .PP Here are the payload members of a type 14 (GPS Time of Week) message: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&24.\ \&Reference Station Parameters .TS allbox tab(:); lB lB lB. T{ Name T}:T{ Type T}:T{ .PP Description T} .T& l l l l l l l l l. T{ week T}:T{ integer T}:T{ .PP GPS week (0\-123)\&. T} T{ hour T}:T{ integer T}:T{ .PP Hour of week (0\-167)\&. T} T{ leapsecs T}:T{ integer T}:T{ .PP Leap Seconds (0\-63)\&. T} .TE .sp 1 .PP Here\*(Aqs an example: .sp .if n \{\ .RS 4 .\} .nf {"class":"RTCM2","type":14,"station_id":652,"zcount":1657\&.2, "seqnum":3,"length":1,"station_health":6,"week":601,"hour":109, "leapsecs":15} .fi .if n \{\ .RE .\} .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBType 16: Special Message\fR .RS 4 .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&25.\ \&Special Message .TS allbox tab(:); lB lB lB. T{ Name T}:T{ Type T}:T{ .PP Description T} .T& l l l. T{ message T}:T{ string T}:T{ .PP A text message sent by the beacon operator\&. T} .TE .sp 1 .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBType 31: Correction data\fR .RS 4 .PP One or more GLONASS satellite objects follow the header for type 1 or type 9 messages\&. Here is the format: .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .B Table\ \&26.\ \&Satellite object .TS allbox tab(:); lB lB lB. T{ Name T}:T{ Type T}:T{ .PP Description T} .T& l l l l l l l l l l l l l l l l l l. T{ ident T}:T{ integer T}:T{ .PP The PRN number of the satellite for which this is correction data\&. T} T{ udre T}:T{ integer T}:T{ .PP User Differential Range Error (0\-3)\&. See the table following for values\&. T} T{ change T}:T{ boolean T}:T{ .PP Change\-of\-ephemeris bit\&. T} T{ tod T}:T{ uinteger T}:T{ .PP Count of 30\-second periods since the top of the hour\&. T} T{ prc T}:T{ real T}:T{ .PP The pseudorange error in meters for this satellite as measured by the beacon reference receiver at the epoch indicated by the z_count in the parent record\&. T} T{ rrc T}:T{ real T}:T{ .PP The rate of change of pseudorange error in meters/sec for this satellite as measured by the beacon reference receiver at the epoch indicated by the z_count field in the parent record\&. This is used to calculate pseudorange errors at other epochs, if required by the GPS receiver\&. T} .TE .sp 1 .PP Here\*(Aqs an example: .sp .if n \{\ .RS 4 .\} .nf {"class":"RTCM2","type":31,"station_id":652,"zcount":1642\&.2, "seqnum":0,"length":14,"station_health":6, "satellites":[ {"ident":5,"udre":0,"change":false,"tod":0,"prc":132\&.360,"rrc":0\&.000}, {"ident":15,"udre":0,"change":false,"tod":0,"prc":134\&.840,"rrc":0\&.002}, {"ident":14,"udre":0,"change":false,"tod":0,"prc":141\&.520,"rrc":0\&.000}, {"ident":6,"udre":0,"change":false,"tod":0,"prc":127\&.000,"rrc":0\&.000}, {"ident":21,"udre":0,"change":false,"tod":0,"prc":128\&.780,"rrc":0\&.000}, {"ident":22,"udre":0,"change":false,"tod":0,"prc":125\&.260,"rrc":0\&.002}, {"ident":20,"udre":0,"change":false,"tod":0,"prc":117\&.280,"rrc":\-0\&.004}, {"ident":16,"udre":0,"change":false,"tod":17,"prc":113\&.460,"rrc":0\&.018} ]} .fi .if n \{\ .RE .\} .RE .SH "RTCM3 DUMP FORMAT" .PP The support for RTCM104v3 dumping is incomplete and buggy\&. Do not attempt to use it for production! Anyone interested in it should read the source code\&. .SH "AIS DUMP FORMATS" .PP AIS support is an extension\&. It may not be present if your instance of gpsd has been built with a restricted feature set\&. .PP AIS packets are dumped as JSON objects with class "AIS"\&. Each AIS report object contains a "type" field giving the AIS message type and a "scaled" field telling whether the remainder of the fields are dumped in scaled or unscaled form\&. (These will be emitted before any type\-specific fields\&.) It will also contain a "device" field naming the data source\&. Other fields have names and types as specified in the AIVDM/AIVDO Protocol Decoding document on the GPSD project website; each message field table may be directly interpreted as a specification for the members of the corresponding JSON object type\&. .PP By default, certain scaling and conversion operations are performed for JSON output\&. Latitudes and longitudes are scaled to decimal degrees rather than the native AIS unit of 1/10000th of a minute of arc\&. Ship (but not air) speeds are scaled to knots rather than tenth\-of\-knot units\&. Navigation status and positioning\-system type are dumped as text strings rather than AIS numeric codes\&. Rate of turn may appear as "nan" if is unavailable, or as one of the strings "fastright" or "fastleft" if it is out of the AIS encoding range; otherwise it is quadratically mapped back to the turn sensor number in degrees per minute\&. Vessel draughts are converted to decimal meters rather than native AIS decimeters\&. Various other scaling conversions are described in "AIVDM/AIVDO Protocol Decoding"\&. .SH "SUBFRAME DUMP FORMATS" .PP Subframe support is always compiled into gpsd but many GPS do not output Subframe data or the gpsd driver may not support Subframes\&. .PP Subframe packets are dumped as JSON objects with class "SUBFRAME"\&. Each Subframe report object contains a "frame" field giving the subframe number, a "tSV" field for the transmitting satellite number, a "TOW17" field containing the 17 MSBs of the start of the next 12\-second message and a "scaled" field telling whether the remainder of the fields are dumped in scaled or unscaled form\&. It will also contain a "device" field naming the data source\&. Each SUBFRAME object will have a sub\-object specific to that subframe page type\&. Those sub\-object fields have names and types similar to those specified in the IS\-GPS\-200E document; each message field table may be directly interpreted as a specification for the members of the corresponding JSON object type\&. .SH "SEE ALSO" .PP \fBgpsd\fR(8), \fBlibgps\fR(3), .SH "AUTHOR" .PP The protocol was designed and documented by Eric S\&. Raymond\&. .SH "NOTES" .IP " 1." 4 Radio Technical Commission for Maritime Services .RS 4 \%http://www.rtcm.org/ .RE .IP " 2." 4 table of leap second corrections .RS 4 \%ftp://maia.usno.navy.mil/ser7/tai-utc.dat .RE gpsd-3.9/srec.50000664000175000017500000002647012140072043011514 0ustar esresr'\" t .\" Title: srec .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.76.1 .\" Date: 15 Jul 2005 .\" Manual: GPSD Documentation .\" Source: The GPSD Project .\" Language: English .\" .TH "SREC" "5" "15 Jul 2005" "The GPSD Project" "GPSD Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" srec \- Motorola S\-record record and file format .SH "DESCRIPTION" .PP Motorola S\-records are a form of simple ASCII encoding for binary data\&. This format is commonly used for firmware uploads to GPSes, industrial robots, and other kinds of microcontroller\-driven hardware\&. It has several convenient properties, including inspectability, easy editing with any text editor, and checksumming for verification of transmission across noisy serial lines\&. .PP An S\-record file consists of a sequence of specially formatted ASCII character strings\&. An S\-record will be less than or equal to 78 bytes in length\&. .PP The order of S\-records within a file is of no significance and no particular order may be assumed\&. .PP The general format of an S\-record follows: .sp .if n \{\ .RS 4 .\} .nf +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-//\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-//\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ | type | count | address | data | checksum | +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-//\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-//\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ .fi .if n \{\ .RE .\} .PP type .RS 4 A char[2] field\&. These characters describe the type of record (S0, S1, S2, S3, S5, S7, S8, or S9)\&. .RE .PP count .RS 4 A char[2] field\&. These characters when paired and interpreted as a big\-endian hexadecimal integer, display the count of remaining character pairs in the record\&. .RE .PP address .RS 4 A char[4,6, or 8] field\&. These characters grouped and interpreted as a big\-endian hexadecimal integer, display the address at which the data field is to be loaded into memory\&. The length of the field depends on the number of bytes necessary to hold the address\&. A 2\-byte address uses 4 characters, a 3\-byte address uses 6 characters, and a 4\-byte address uses 8 characters\&. .RE .PP data .RS 4 A char [0\-64] field\&. These characters when paired and interpreted as hexadecimal values represent the memory loadable data or descriptive information\&. .RE .PP checksum .RS 4 A char[2] field\&. These characters when paired and interpreted as a big\-endian hexadecimal integer display the least significant byte of the ones complement of the sum of the byte values represented by the pairs of characters making up the count, the address, and the data fields\&. .RE .PP Each record is terminated with a line feed\&. If any additional or different record terminator(s) or delay characters are needed during transmission to the target system it is the responsibility of the transmitting program to provide them\&. .PP There are 9 record types, as follows: .PP S0 .RS 4 The type of record is \*(AqS0\*(Aq (0x5330)\&. The address field is unused and will be filled with zeros (0x0000)\&. The header information within the data field is divided into the following subfields\&. .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} mname is char[20] and is the module name\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} ver is char[2] and is the version number\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ .sp -1 .IP " 3." 4.2 .\} rev is char[2] and is the revision number\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 4.\h'+01'\c .\} .el \{\ .sp -1 .IP " 4." 4.2 .\} description is char[0\-36] and is a text comment\&. .RE .sp Each of the subfields is composed of ASCII bytes whose associated characters, when paired, represent one byte hexadecimal values in the case of the version and revision numbers, or represent the hexadecimal values of the ASCII characters comprising the module name and description\&. .RE .PP S1 .RS 4 The type of record field is \*(AqS1\*(Aq (0x5331)\&. The address field is interpreted as a 2\-byte big\-endian address\&. The data field is composed of memory loadable data\&. .RE .PP S2 .RS 4 The type of record field is \*(AqS2\*(Aq (0x5332)\&. The address field is interpreted as a 3\-byte big\-endian address\&. The data field is composed of memory loadable data\&. .RE .PP S3 .RS 4 The type of record field is \*(AqS3\*(Aq (0x5333)\&. The address field is interpreted as a 4\-byte big\-endian address\&. The data field is composed of memory loadable data\&. .RE .PP S5 .RS 4 The type of record field is \*(AqS5\*(Aq (0x5335)\&. The address field is interpreted as a 2\-byte big\-endian value and contains the count of S1, S2, and S3 records previously transmitted\&. There is no data field\&. .RE .PP S7 .RS 4 The type of record field is \*(AqS7\*(Aq (0x5337)\&. The address field contains the starting execution address and is interpreted as a 4\-byte big\-endian address\&. There is no data field\&. .RE .PP S8 .RS 4 The type of record field is \*(AqS8\*(Aq (0x5338)\&. The address field contains the starting execution address and is interpreted as a 3\-byte big\-endian address\&. There is no data field\&. .RE .PP S9 .RS 4 The type of record field is \*(AqS9\*(Aq (0x5339)\&. The address field contains the starting execution address and is interpreted as a 2\-byte big\-endian address\&. There is no data field\&. .RE .SH "EXAMPLE" .PP Shown below is a typical S\-record format file\&. .sp .if n \{\ .RS 4 .\} .nf S00600004844521B S1130000285F245F2212226A000424290008237C2A S11300100002000800082629001853812341001813 S113002041E900084E42234300182342000824A952 S107003000144ED492 S5030004F8 S9030000FC .fi .if n \{\ .RE .\} .PP The file consists of one S0 record, four S1 records, one S5 record and an S9 record\&. .PP The S0 record is comprised as follows: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} S0 S\-record type S0, indicating it is a header record\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 06 Hexadecimal 06 (decimal 6), indicating that six character pairs (or ASCII bytes) follow\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 00 00 Four character 2\-byte address field, zeroes in this example\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 48 44 52 ASCII H, D, and R \- "HDR"\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 1B The checksum\&. .RE .PP The first S1 record is comprised as follows: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} S1 S\-record type S1, indicating it is a data record to be loaded at a 2\-byte address\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 13 Hexadecimal 13 (decimal 19), indicating that nineteen character pairs, representing a 2 byte address, 16 bytes of binary data, and a 1 byte checksum, follow\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 00 00 Four character 2\-byte address field; hexidecimal address 0x0000, where the data which follows is to be loaded\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 28 5F 24 5F 22 12 22 6A 00 04 24 29 00 08 23 7C Sixteen character pairs representing the actual binary data\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 2A The checksum\&. .RE .PP The second and third S1 records each contain 0x13 (19) character pairs and are ended with checksums of 13 and 52, respectively\&. The fourth S1 record contains 07 character pairs and has a checksum of 92\&. .PP The S5 record is comprised as follows: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} S5 S\-record type S5, indicating it is a count record indicating the number of S1 records .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 03 Hexadecimal 03 (decimal 3), indicating that three character pairs follow\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 00 04 Hexadecimal 0004 (decimal 4), indicating that there are four data records previous to this record\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} F8 The checksum\&. .RE .PP The S9 record is comprised as follows: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} S9 S\-record type S9, indicating it is a termination record\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 03 Hexadecimal 03 (decimal 3), indicating that three character pairs follow\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 00 00 The address field, hexadecimal 0 (decimal 0) indicating the starting execution address\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} FC The checksum\&. .RE .SH "NOTES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} There isn\*(Aqt any evidence that Motorola ever made use of the header information within the data field of the S0 record, as described above\&. This may have been used by some third party vendors\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} The Unix manual page on S\-records is the only place that a 78\-byte limit on total record length or 64\-byte limit on data length is documented\&. These values shouldn\*(Aqt be trusted for the general case\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} The count field can have values in the range of 0x3 (2 bytes of address + 1 byte checksum = 3, a not very useful record) to 0xff; this is the count of remaining character \fIpairs\fR, including checksum\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} If you write code to convert S\-Records, you should always assume that a record can be as long as 514 (decimal) characters in length (255 * 2 = 510, plus 4 characters for the type and count fields), plus any terminating character(s)\&. That is, in establishing an input buffer in C, you would declare it to be an array of 515 chars, thus leaving room for the terminating null character\&. .RE .SH "SEE ALSO" .PP \fBgpsd\fR(8), \fBgps\fR(1), \fBlibgps\fR(3), \fBlibgpsd\fR(3), \fBgpsfake\fR(1)\&. \fBgpsprof\fR(1)\&. .SH "AUTHOR" .PP From an anonymous web page, itself claiming to have been derived from an old Unix manual page\&. Now maintained by the GPSD project, which added endianness clarifications\&. gpsd-3.9/libgps.30000664000175000017500000002536412140072043012037 0ustar esresr'\" t .\" Title: 3 .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.76.1 .\" Date: 14 Aug 2004 .\" Manual: GPSD Documentation .\" Source: The GPSD Project .\" Language: English .\" .TH "3" "3" "14 Aug 2004" "The GPSD Project" "GPSD Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" libgps \- C service library for communicating with the GPS daemon .SH "SYNOPSIS" .sp .ft B .nf C: #include .fi .ft .HP \w'int\ gps_open('u .BI "int gps_open(char\ *" "server" ", char\ *\ " "port" ", struct\ gps_data_t\ *" "gpsdata" ");" .HP \w'int\ gps_send('u .BI "int gps_send(struct\ gps_data_t\ *" "gpsdata" ", char\ *" "fmt" "\&.\&.\&.);" .HP \w'int\ gps_read('u .BI "int gps_read(struct\ gps_data_t\ *" "gpsdata" ");" .HP \w'bool\ gps_waiting('u .BI "bool gps_waiting(const\ struct\ gps_data_t\ *" "gpsdata" ", int\ " "timeout" ");" .HP \w'char\ *gps_data('u .BI "char *gps_data(const\ struct\ gps_data_t\ *" "gpsdata" ");" .HP \w'int\ gps_unpack('u .BI "int gps_unpack(char\ *" "buf" ", struct\ gps_data_t\ *" "gpsdata" ");" .HP \w'void\ gps_close('u .BI "void gps_close(struct\ gps_data_t\ *" "gpsdata" ");" .HP \w'int\ gps_stream('u .BI "int gps_stream(struct\ gps_data_t\ *" "gpsdata" ", unsigned\ int" "flags" ", void\ *" "data" ");" .HP \w'const\ char\ *gps_errstr('u .BI "const char *gps_errstr(int\ " "err" ");" .sp .ft B .nf Python: import gps session = gps\&.gps(host="localhost", port="2947") session\&.stream(flags=gps\&.WATCH_JSON) for report in session: process(report) del session .fi .ft .SH "DESCRIPTION" .PP \fBlibgps\fR is a service library which supports communicating with an instance of the \fBgpsd\fR(8); link it with the linker option \-lgps\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBWarning\fR .ps -1 .br .PP Take care to conditionalize your code on the major and minor API version symbols in gps\&.h; ideally, force a compilation failure if GPSD_API_MAJOR_VERSION is not a version you recognize\&. See the GPSD project website for more information on the protocol and API changes\&. .sp .5v .RE .PP Calling \fBgps_open()\fR initializes a GPS\-data structure to hold the data collected by the GPS, and sets up access to \fBgpsd\fR(1) via either the socket or shared\-memory export\&. The shared\-memory export is faster, but does not carry information about device activation and deactivation events and will not allow you to monitor device packet traffic\&. .PP \fBgps_open()\fR returns 0 on success, \-1 on errors and is re\-entrant\&. errno is set depending on the error returned from the socket or shared\-memory interface; see gps\&.h for values and explanations; also see \fBgps_errstr()\fR\&. The host address may be a DNS name, an IPv4 dotted quad, an IPV6 address, or the special value \fBGPSD_SHARED_MEMORY\fR referring to the shared\-memory export; the library will do the right thing for any of these\&. .PP \fBgps_close()\fR ends the session\&. .PP \fBgps_send()\fR writes a command to the daemon\&. It does nothing when using the shared\-memory export\&. The second argument must be a format string containing elements from the command set documented at \fBgpsd\fR(1)\&. It may have % elements as for \fBsprintf\fR(3), which will be filled in from any following arguments\&. This function returns a \-1 if there was a Unix\-level write error, otherwise 0\&. Please read the LIMITATIONS section for additional information and cautions\&. See \fBgps_stream()\fR as a possible alternative\&. .PP \fBgps_read()\fR accepts a response, or sequence of responses, from the daemon and interprets\&. This function does either a nonblocking read for data from the daemon or a fetch from shared memory; it returns a count of bytes read for success, \-1 with errno set on a Unix\-level read error, \-1 with errno not set if the socket to the daemon has closed or if the shared\-memory segment was unavailable, and 0 if no data is available\&. .PP \fBgps_waiting()\fR can be used to check whether there is new data from the daemon\&. The second argument is the maximum amount of time to wait (in microseconds) on input before returning\&. It returns true if there is input waiting, false on timeout (no data waiting) or error condition\&. When using the socket export, this function is a convenience wrapper around a \fBselect\fR(2) call, and zeros \fIerrno\fR on entry; you can test \fIerrno\fR after exit to get more information about error conditions\&. .PP \fBgps_unpack()\fR parses JSON from the argument buffer into the target of the session structure pointer argument\&. Included in case your application wishes to manage socket I/O itself\&. .PP \fBgps_data()\fR returns the contents of the client data buffer (it returns NULL when using the shared\-memory export)\&. Use with care; this may fail to be a NUL\-terminated string if WATCH_RAW is enabled\&. .PP \fBgps_stream()\fR asks gpsd to stream the reports it has at you, to be made available when you poll (not available when using the shared\-memory export)\&. The second argument is a flag mask that sets various policy bits; see the list below\&. Calling \fBgps_stream()\fR more than once with different flag masks is allowed\&. .PP WATCH_DISABLE .RS 4 Disable the reporting modes specified by the other WATCH_ flags\&. .RE .PP WATCH_ENABLE .RS 4 Disable the reporting modes specified by the other WATCH_ flags\&. This is the default\&. .RE .PP WATCH_JSON .RS 4 Enable JSON reporting of data\&. If WATCH_ENABLE is set, and no other WATCH flags are set, this is the default\&. .RE .PP WATCH_NMEA .RS 4 Enable generated pseudo\-NMEA reporting on binary devices\&. .RE .PP WATCH_RARE .RS 4 Enable reporting of binary packets in encoded hex\&. .RE .PP WATCH_RAW .RS 4 Enable literal passthrough of binary packets\&. .RE .PP WATCH_SCALED .RS 4 When reporting AIS or Subframe data, scale integer quantities to floats if they have a divisor or rendering formula associated with them\&. .RE .PP WATCH_NEWSTYLE .RS 4 Force issuing a JSON initialization and getting new\-style responses\&. This is the default\&. .RE .PP WATCH_OLDSTYLE .RS 4 Force issuing a W or R command and getting old\-style responses\&. Warning: this flag (and the capability) will be removed in a future release\&. .RE .PP WATCH_DEVICE .RS 4 Restrict watching to a specified device, patch given as second argument\&. .RE .PP \fBgps_errstr()\fR returns an ASCII string (in English) describing the error indicated by a nonzero return value from \fBgps_open()\fR\&. .PP Consult gps\&.h to learn more about the data members and associated timestamps\&. Note that information will accumulate in the session structure over time, and the \*(Aqvalid\*(Aq field is not automatically zeroed by each \fBgps_read()\fR\&. It is up to the client to zero that field when appropriate and to keep an eye on the fix and sentence timestamps\&. .PP The Python implementation supports the same facilities as the socket\-export calls in the C library; there is no shared\-memory interface\&. \fBgps_open()\fR is replaced by the initialization of a gps session object; the other calls are methods of that object, and have the same names as the corresponding C functions\&. However, it is simpler just to use the session object as an iterator, as in the example given below\&. Resources within the session object will be properly released when it is garbage\-collected\&. .SH "CODE EXAMPLE" .PP The following is an excerpted and simplified version of the libgps interface code from \fBcgps\fR(1)\&. .sp .if n \{\ .RS 4 .\} .nf struct gps_data_t gps_data; ret = gps_open(hostName, hostPort, &gps_data); (void) gps_stream(&gps_data, WATCH_ENABLE | WATCH_JSON, NULL); /* Put this in a loop with a call to a high resolution sleep () in it\&. */ if (gps_waiting (&gps_data, 500)) { errno = 0; if (gps_read (&gps_data) == \-1) { \&.\&.\&. } else { /* Display data from the GPS receiver\&. */ if (gps_data\&.set & \&.\&.\&. } } /* When you are done\&.\&.\&. */ (void) gps_stream(&gps_data, WATCH_DISABLE, NULL); (void) gps_close (&gps_data); .fi .if n \{\ .RE .\} .SH "LIMITATIONS" .PP On some systems (those which do not support implicit linking in libraries) you may need to add \-lm to your link line when you link libgps\&. It is always safe to do this\&. .PP In the C API, incautious use of \fBgps_send()\fR may lead to subtle bugs\&. In order to not bloat struct gps_data_t with space used by responses that are not expected to be shipped in close sequence with each other, the storage for fields associated with certain responses are combined in a union\&. .PP The risky set of responses includes VERSION, DEVICELIST, RTCM2, RTCM3, SUBFRAME, AIS, GST, and ERROR; it may not be limited to that set\&. The logic of the daemon\*(Aqs watcher mode is careful to avoid dangerous sequences, but you should read and understand the layout of struct gps_data_t before using \fBgps_send()\fR to request any of these responses\&. .SH "COMPATIBILITY" .PP The \fBgps_query()\fR supported in major versions 1 and 2 of this library has been removed\&. With the new streaming\-oriented wire protocol behind this library, it is extremely unwise to assume that the first transmission from the daemon after a command is shipped to it will be the response to command\&. .PP If you must send commands to the daemon explicitly, use \fBgps_send()\fR but beware that this ties your code to the GPSD wire protocol\&. It is not recommended\&. .PP In earlier versions of the API \fBgps_read()\fR was a blocking call and there was a POLL_NONBLOCK option to make it nonblocking\&. \fBgps_waiting()\fR was added to reduce the number of wrong ways to code a polling loop\&. .PP See the comment above the symbol GPSD_API_MAJOR_VERSION in gps\&.h for recent changes\&. .SH "SEE ALSO" .PP \fBgpsd\fR(8), \fBgps\fR(1), \fBlibgpsd\fR(3)\&. \fBlibgpsmm\fR(3)\&. .SH "AUTHOR" .PP Eric S\&. Raymond , C sample code Charles Curley gpsd-3.9/libgpsd.30000664000175000017500000001060612140072044012175 0ustar esresr'\" t .\" Title: 3 .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.76.1 .\" Date: 14 Aug 2004 .\" Manual: GPSD Documentation .\" Source: The GPSD Project .\" Language: English .\" .TH "3" "3" "14 Aug 2004" "The GPSD Project" "GPSD Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" libgpsd \- service library for GPS applications .SH "SYNOPSIS" .sp .ft B .nf C: #include .fi .ft .HP \w'int\ gpsd_open_dgps('u .BI "int gpsd_open_dgps(char\ *\ " "dgpsserver" ");" .HP \w'void\ gpsd_init('u .BI "void gpsd_init(struct\ gps_device_t\ *" "session" ", struct\ *\ " "gps_context_t\ *" ", char\ *\ " "device" ");" .HP \w'int\ gpsd_activate('u .BI "int gpsd_activate(struct\ gps_device_t\ *" "session" ");" .HP \w'void\ gpsd_deactivate('u .BI "void gpsd_deactivate(struct\ gps_device_t\ *\ " "session" ");" .HP \w'gps_mask_t\ gpsd_poll('u .BI "gps_mask_t gpsd_poll(struct\ gps_device_t\ *\ " "session" ");" .HP \w'void\ gpsd_wrap('u .BI "void gpsd_wrap(struct\ gps_device_t\ *\ " "session" ");" .SH "DESCRIPTION" .PP \fBlibgpsd\fR is a service library which supports querying GPS devices; link it with the linker option \-lgpsd\&. It is a set of low\-level device\-handling calls, which \fBgpsd\fR(1) itself uses\&. See \fBgpsd\fR(3) for a description of the high\-level interface, which is almost certainly what you want\&. .PP Calling \fBgpsd_init()\fR initializes a session structure to hold the data collected by the GPS\&. .PP The second argument must be a context structure\&. The library will use it for information that need to be shared between sessions; presently this includes the leap\-second correction and possibly a pointer to a shared\-memory segment used to communicate with the Network Time Protocol daemon\&. .PP After the session structure has been set up, you may modify some of its members\&. .PP \fIgpsd_device\fR .RS 4 This member should hold the path name of the device\&. .RE .PP \fIbaudrate\fR .RS 4 Communication speed in bits per second\&. For NMEA or SiRF devices, the library automatically hunts through all plausible baud rates, stopping on the one where it sees valid packets\&. By setting this field you can designate a speed to be tried at the front of the hunt queue .RE .PP \fBgpsd_activate()\fR initializes the connection to the GPS\&. \fBgpsd_deactivate()\fR closes the connection\&. These functions are provided so that long\-running programs can release a connection when there is no activity requiring the GPS, and re\-acquire it later\&. .PP \fBgpsd_poll()\fR queries the GPS and updates the part of the session structure that holds position, speed, GPS signal quality, and other data returned by the GPS\&. It returns a mask describing which fields have changed\&. .PP \fBgpsd_wrap()\fR ends the session, implicitly performing a \fBgpsd_deactivate()\fR\&. .PP The calling application must define one additional function: \fBgpsd_report()\fR\&. The library will use this to issue ordinary status messages\&. See gpsd\&.h in the source distribution for the set of logging levels\&. .PP The low\-level functions do not allocate or free any dynamic storage\&. They can thus be used in a long\-running application (such as \fBgpsd\fR(8) itself) with a guarantee that they won\*(Aqt cause memory leaks\&. .SH "BUGS" .PP Writes to the context structure members are not guarded by a mutex\&. .SH "SEE ALSO" .PP \fBgpsd\fR(8), \fBgps\fR(1), \fBlibgps\fR(3)\&. .SH "AUTHOR" .PP Eric S\&. Raymond based partly on earlier work by Remco Treffkorn, Derrick Brashear, and Russ Nelson\&. gpsd-3.9/lcdgps.10000664000175000017500000000001212140072044012011 0ustar esresr.so gps.1 gpsd-3.9/gpsinit.80000664000175000017500000000712312140105316012232 0ustar esresr'\" t .\" Title: gpsinit .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.76.1 .\" Date: 18 Jan 2013 .\" Manual: GPSD Documentation .\" Source: The GPSD Project .\" Language: English .\" .TH "GPSINIT" "8" "18 Jan 2013" "The GPSD Project" "GPSD Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" gpsinit \- initialize CAN kernel modules for GPSD .SH "SYNOPSIS" .HP \w'\fBgpsinit\fR\ 'u \fBgpsinit\fR [\-n\ \fIcontrol\fR] [\-s\ \fIspeed\fR] \fImodule_name\fR [\fIinterface_name\fR] .HP \w'\fBgpsinit\fR\ 'u \fBgpsinit\fR \-h .HP \w'\fBgpsinit\fR\ 'u \fBgpsinit\fR \-v .SH "DESCRIPTION" .PP gpsinit initializes whatever kernel\-level modules are needed to enable special non\-serial hardware to communicate with a gpsd instance\&. Note: it will need root permissions to load modules and perform other special operations, such as changing kernel\-interface baudrates\&. .PP At present, all modes of this tool are concerned with setting up kernel\-level interfaces to hardware on a CAN (Control Area Network) speaking NMEA2000\&. .PP The program accepts the following options: .PP \-h .RS 4 Display a brief help text\&. .RE .PP \-v .RS 4 Display the version of gpsinit\&. .RE .PP \-n .RS 4 Set the CAN network number\&. The default is 0\&. .RE .PP \-s .RS 4 Set the baudrate to be used to communicate over the serial line to the CAN hardware\&. The default is 38400 baud\&. .RE .PP The parameter \fImodule_name\fR is mandatory\&. The socket CAN driver module \fImodule_name\fR\&.ko will be loaded\&. \fBgpsinit\fR recognize the following module names: .PP plx_pci, esd_usb2, vcan, slcan .RS 4 The parameter \fIinterface_name\fR and \fI\-s \fR\fI\fIspeed\fR\fR can used here\&. .RE .PP beaglebone .RS 4 The dcan module needed for the beaglebone is part of the Linux kernel, so no module is loaded in this case\&. .RE .PP The parameter \fIinterface_name\fR is needed for slcan hardware only\&. It gives the name of the serial device to which the SL CAN hardware is connected\&. The default is /dev/ttyUSB0\&. .SH "EXAMPLES" .PP \fBsudo gpsinit plx_pci\fR .RS 4 Attempt to load the module plx_pci and initialize net 0 for the connection to a NMEA2000 network\&. It will set the baudrate to 250kBits\&. .RE .PP \fBsudo gpsinit \-n 1 plx_pci\fR .RS 4 As above, but use net 1\&. .RE .PP \fBsudo gpsinit \-s 38400 slcan /dev/ttyUSB0\fR .RS 4 Attempt to load the module slcan and talk to the hardware at 38400 baud connected to port /dev/ttyUSB0\&. .RE .PP \fBgpsinit \-h \fR .RS 4 Display a brief help message\&. .RE .PP \fBgpsinit \-v \fR .RS 4 Display the version of gpsinit\&. .RE .SH "SEE ALSO" .PP \fBgpsd\fR(8), \fBgps\fR(1), \fBlibgps\fR(3), \fBlibgpsd\fR(3)\&. .SH "AUTHOR" .PP Reinhard Arlt reinhard\&.arlt@t\-online\&.de\&. gpsd-3.9/gps.10000664000175000017500000002402512140072044011340 0ustar esresr'\" t .\" Title: gps .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets v1.76.1 .\" Date: 9 Aug 2004 .\" Manual: GPSD Documentation .\" Source: The GPSD Project .\" Language: English .\" .TH "GPS" "1" "9 Aug 2004" "The GPSD Project" "GPSD Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" gps, xgps, xgpsspeed, cgps, lcdgps, gegps \- test clients for gpsd .SH "SYNOPSIS" .HP \w'\fBxgps\fR\ 'u \fBxgps\fR [\-D\ \fIdebug\-level\fR] [\-h] [\-V] [\-l\ [[d]\ |\ [m]\ |\ [s]]] [\-u\ [[i]\ |\ [n]\ |\ [m]]] [\fIserver\fR [\fI:port\fR [\fI:device\fR]]] .HP \w'\fBxgpsspeed\fR\ 'u \fBxgpsspeed\fR [\-D\ \fIdebug\-level\fR] [\-h] [\-V] [\-\-speedunits\ {[mph]\ |\ [kph]\ |\ [knots]}] [\fIserver\fR [\fI:port\fR [\fI:device\fR]]] .HP \w'\fBcgps\fR\ 'u \fBcgps\fR [\-D\ \fIdebug\-level\fR] [\-h] [\-V] [\-l\ [[d]\ |\ [m]\ |\ [s]]] [\-m] [\-s] [\-u\ [[i]\ |\ [n]\ |\ [m]]] [\fIserver\fR [\fI:port\fR [\fI:device\fR]]] .HP \w'\fBlcdgps\fR\ 'u \fBlcdgps\fR [\-h] [\-V] [\-l\ [[d]\ |\ [m]\ |\ [s]]] [\-u\ [[i]\ |\ [n]\ |\ [m]]] [\fIserver\fR [\fI:port\fR [\fI:device\fR]]] .HP \w'\fBgpxlogger\fR\ 'u \fBgpxlogger\fR [\-D\ \fIdebug\-level\fR] [\-d] [\-e\ \fIexport\-method\fR] [\-f\ \fIfilename\fR] [\-l] [\-m\ \fIminmove\fR] [\-h] [\-V] [\-i\ \fItrack\ timeout\fR] [\fIserver\fR [\fI:port\fR [\fI:device\fR]]] .HP \w'\fBgegps\fR\ 'u \fBgegps\fR [\-d\ \fIdirectory\fR] [\-i] .SH "DESCRIPTION" .PP These are the demonstration clients shipped with gpsd\&. They have some common options: .PP The \fB\-h\fR option causes each client to emit a summary of its options and then exit\&. .PP The \fB\-V\fR option causes each client to dump the package version and exit\&. .PP The \fB\-l\fR option, when present, sets the format of latitude and longitude reports\&. The value \*(Aqd\*(Aq produces decimal degrees and is the default\&. The value \*(Aqm\*(Aq produces degrees and decimal minutes\&. The value \*(Aqs\*(Aq produces degrees, minutes, and decimal seconds\&. .PP xgps, cgps, and lcdgps look at variables in the environment to figure out what units they should default to using for display \(em imperial, nautical, or metric\&. Here are the variables and values they check: .sp .if n \{\ .RS 4 .\} .nf GPSD_UNITS one of: imperial = miles/feet nautical = knots/feet metric = km/meters LC_MEASUREMENT en_US = miles/feet C = miles/feet POSIX = miles/feet [other] = km/meters LANG en_US = miles/feet C = miles/feet POSIX = miles/feet [other] = km/meters .fi .if n \{\ .RE .\} .PP These preferences may be overridden by the \fB\-u\fR option\&. .PP Where present, the \fB\-u\fR option can be used to set the system units for display; follow the keyword with \*(Aqi\*(Aq for \*(Aqimperial\*(Aq for American units (feet in altitude and error estimates, miles per hour in speeds), \*(Aqn\*(Aq for \*(Aqnautical\*(Aq (feet in altitude and error estimates, knots in speed) or \*(Aqm\*(Aq for \*(Aqmetric\*(Aq (meters in altitude and error estimates, kilometers per hour in speeds)\&. .PP The \fB\-D\fR option, when present, sets a debug level; it is primarily for use by GPSD developers\&. It enables various progress messages to standard error\&. .PP By default, clients collect data from all compatible devices on localhost, using the default GPSD port 2947\&. An optional argument to any client may specify a server to get data from\&. A colon\-separated suffix is taken as a port number\&. If there is a second colon\-separated suffix, that is taken as a specific device name to be watched\&. However, if the server specification contains square brackets, the part inside them is taken as an IPv6 address and port/device suffixes are only parsed after the trailing bracket\&. Possible cases look like this: .PP localhost:/dev/ttyS1 .RS 4 Look at the default port of localhost, trying both IPv4 and IPv6 and watching output from serial device 1\&. .RE .PP example\&.com:2317 .RS 4 Look at port 2317 on example\&.com, trying both IPv4 and IPv6\&. .RE .PP 71\&.162\&.241\&.5:2317:/dev/ttyS3 .RS 4 Look at port 2317 at the specified IPv4 address, collecting data from attached serial device 3\&. .RE .PP [FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:2317:/dev/ttyS5 .RS 4 Look at port 2317 at the specified IPv6 address, collecting data from attached serial device 5\&. .RE .PP Not all clients shipped with GPSD are documented here\&. See also the separate manual pages for \fBgpspipe\fR(1) and \fBgpsmon\fR(1)\&. .SS "xgps" .PP xgps is a simple test client for gpsd with an X interface\&. It displays current GPS position/time/velocity information and (for GPSes that support the feature) the locations of accessible satellites\&. .PP In the sky view, satellites are color\-coded to indicate quality of signal; consult the data display to the left for exact figures in dB\&. Square icons indicate WAAS/EGNOS satellites, circles indicate ordinary GPS satellites\&. Filled icons were used in the last fix, outline icons were not\&. .SS "xgpsspeed" .PP xgpsspeed is a speedometer that uses position information from the GPS\&. It accepts an \-h option and optional argument as for gps, or a \-V option to dump the package version and exit\&. .PP The default display mode resembles a car speedometer\&. With the option \-\-nautical you get a more elaborate speed and track presentation modeled after a marine navigation display\&. .PP The \-speedunits option can be used to set the speed units for display; follow the keyword with knots for nautical miles per hour, kph for kilometres per hour, or mph for miles per hour\&. The default is miles per hour\&. .PP In the nautical mode only, \-\-maxspeed sets the maximum on the speedometer\&. .SS "cgps" .PP cgps is a client resembling xgps, but without the pictorial satellite display and able to run on a serial terminal or terminal emulator\&. .PP The \fB\-s\fR option prevents cgps from displaying the data coming from the daemon\&. This display can also be toggled with the s command\&. .PP The \fB\-m\fR option will display your magnetic heading (as opposed to your true heading)\&. This is a calculated value, not a measured value, and is subject to a potential error of up to two degrees in the areas for which the calculation is valid (currently Western Europe, Alaska, and Lower 48 in the USA)\&. The formulas used are those found in the Aviation Formulary v1\&.43\&. .PP cgps terminates when you send it a SIGHUP or SIGINT; given default terminal settings this will happen when you type Ctrl\-C at it\&. It will also terminate on \*(Aqq\*(Aq .SS "lcdgps" .PP A client that passes gpsd data to lcdproc, turning your car computer into a very expensive and nearly feature\-free GPS receiver\&. Currently assumes a 4x40 LCD and writes data formatted to fit that size screen\&. Also displays 4\- or 6\-character Maidenhead grid square output\&. .SS "gpxlogger" .PP This program collects fixes from gpsd and logs them to standard output in GPX, an XML profile for track logging\&. .PP The output may be composed of multiple tracks\&. A new track is created if there\*(Aqs no fix for an interval specified by the \fB\-i\fR and defaulting to 5 seconds\&. .PP The \fB\-d\fR option tells gpxlogger to run as a daemon in background\&. It requires the \fB\-f\fR option, which directs output to a specified logfile\&. .PP The \fB\-m\fR option sets a minimum move distance in meters (it may include a fractional decimal part)\&. Motions shorter than this will not be logged\&. .PP gpxlogger can use any of the export methods that gpsd supports\&. For a list of these methods, use the \fB\-l\fR\&. To force the method, give the \fB\-e\fR one of the colon\-terminated method names from the \fB\-l\fR table\&. .PP If D\-Bus support is available on the host, GPSD is configured to use it, and \fB\-e dbus\fR is specified, this program listens to DBUS broadcasts from gpsd via org\&.gpsd\&.fix\&. .PP With \fB\-e sockets\fR, or if sockets is the method defaulted to, you may give a server\-port\-device specification as arguments\&. .SS "gegps" .PP This program collects fixes from gpsd and feeds them to a running instance of Google Earth for live location tracking\&. .PP The \fB\-d\fR argument is the location of the Google Earth installation directory\&. If not specified, it defaults to the current directory\&. .PP If you have the free (non\-subscription) version, start by running with the \fB\-i\fR option to drop a clue in the Google Earth installation directory, as \*(AqOpen_in_Google_Earth_RT_GPS\&.kml\*(Aq, then open that file in Places (File > Open\&.\&.\&.)\&. Run gpsd in the normal way after that\&. .SH "SEE ALSO" .PP \fBgpsd\fR(8), \fBlibgps\fR(3), \fBlibgpsd\fR(3), \fBgpsfake\fR(1), \fBgpsctl\fR(1), \fBgpscat\fR(1), \fBgpsprof\fR(1)\&. \fBgpspipe\fR(1)\&. \fBgpsmon\fR(1)\&. .SH "AUTHORS" .PP Remco Treffcorn, Derrick Brashear, Russ Nelson & Eric S\&. Raymond, Jeff Francis (cgps)\&. Amaury Jacquot sxpert@sxpert\&.org & Petter Reinholdtsen pere@hungry\&.com (gpxlogger)\&. Chris Kuethe chris\&.kuethe@gmail\&.com (gpxlogger), Chen Wei weichen302@aol\&.com (gegps & xgpsspeed), Robin Wittler real@the\-real\&.org (xgpsspeed)\&. .PP This manual page by Eric S\&. Raymond esr@thyrsus\&.com gpsd-3.9/cgps.10000664000175000017500000000001212140072044011471 0ustar esresr.so gps.1 gpsd-3.9/gpsdecode.10000664000175000017500000001113512140072045012503 0ustar esresr'\" t .\" Title: gpsdecode .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.76.1 .\" Date: 13 Jul 2005 .\" Manual: GPSD Documentation .\" Source: The GPSD Project .\" Language: English .\" .TH "GPSDECODE" "1" "13 Jul 2005" "The GPSD Project" "GPSD Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" gpsdecode \- decode GPS, RTCM or AIS streams into a readable format .SH "SYNOPSIS" .HP \w'\fBgpsdecode\fR\ 'u \fBgpsdecode\fR [\-c] [\-d] [\-e] [\-j] [\-t\ \fItypelist\fR] [\-u] [\-v] [\-D\ \fIdebuglevel\fR] [\-V] .SH "DESCRIPTION" .PP This tool is a batch\-mode decoder for NMEA and various binary packet formats associated with GPS, AIS, and differential\-correction services\&. It produces a JSON dump on standard output from binary on standard input\&. The JSON is the same format documented in \fBgpsd\fR(8); this tool uses the same decoding logic as gpsd, but with a simpler interface intended for batch processing of data files\&. .PP All sensor\-input formats known to the GPSD project can be decoded by this tool\&. These include: NMEA, AIVDM (the NMEA\-derived sentence format used by AIS, the marine Automatic Identification System), RTCM2, and all supported GPS binary formats (notably including SiRF)\&. See \fBgpsd\fR(8) for applicable standards and known limitations of the decoding logic\&. .PP You can use this tool with \fBnc\fR(1) to examine AIS feeds from AIS pooling services, RTCM feeds from RTCM receivers or NTRIP broadcasters\&. .SH "OPTIONS" .PP The \fB\-d\fR option tells the program to decode packets presented on standard input to standard output\&. This is the default behavior\&. .PP The \fB\-j\fR explicitly sets the output dump format to JSON (the default behavior)\&. .PP The \fB\-e\fR option option tells the program to encode JSON on standard input to JSON on standard output\&. This option is only useful for regression\-testing of the JSON dumping and parsing code\&. .PP The \fB\-t\fR accepts a comma\-separated list of numeric types\&. Packets with a numeric AIS, RTCM2, or RTCM3 type are passed through and output only if they match a type in the list\&. Packets of other kinds (in particular GPS packets) are passed through unconditionally\&. .PP The \fB\-u\fR suppresses scaling of AIS data to float quantities and text expansion of numeric codes\&. A dump with this option is lossless\&. .PP The \fB\-v\fR enables dumping of textual packets to output as they are received on input, immediately preceding corresponding output\&. .PP The \fB\-c\fR sets the AIS dump format to separate fields with an ASCII pipe symbol\&. Fields are dumped in the order they occur in the AIS packet\&. Numerics are not scaled (\-u is forced)\&. Strings are unpacked from six\-bit to full ASCII .PP The \fB\-V\fR option directs the program to emit its version number, then exit\&. .PP The \fB\-D\fR option sets a debug verbosity level\&. It is mainly of interest to developers\&. .SH "AIS DSV FORMAT" .PP With the \fB\-c\fR option, dump lines are values of AIS payload fields, pipe\-separated, in the order that they occur in the payload\&. Spans of fields expressing a date are emitted as an ISO8601 timestamp (look for colons and the trailing Z indicating Zulu/UTC time), and the 19\-bit group of TDMA status fields found at the end of message types 1\-4 are are dumped as a single unsigned integer (in hex preceded by "0x")\&. Unused regional\-authority fields are also dumped (in hex preceded by "0x")\&. Variable\-length binary fields are dumped as an integer bit length, followed by a colon, followed by a hex dump\&. .SH "SEE ALSO" .PP \fBgpsd\fR(8), \fBgpsctl\fR(1), \fBgpsdctl\fR(8), \fBgps\fR(1), \fBlibgps\fR(3), \fBlibgpsd\fR(3), \fBgpsprof\fR(1), \fBgpsfake\fR(1), .SH "AUTHOR" .PP Eric S\&. Raymond esr@thyrsus\&.com\&. gpsd-3.9/xgpsspeed.10000664000175000017500000000001212140072044012537 0ustar esresr.so gps.1 gpsd-3.9/xgps.10000664000175000017500000000001212140072044011516 0ustar esresr.so gps.1 gpsd-3.9/gegps.10000664000175000017500000000001212140072044011642 0ustar esresr.so gps.1 gpsd-3.9/gpscat.10000664000175000017500000000734712140072045012041 0ustar esresr'\" t .\" Title: gpscat .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.76.1 .\" Date: 16 Nov 2006 .\" Manual: GPSD Documentation .\" Source: The GPSD Project .\" Language: English .\" .TH "GPSCAT" "1" "16 Nov 2006" "The GPSD Project" "GPSD Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" gpscat \- dump the output from a GPS .SH "SYNOPSIS" .HP \w'\fBgpscat\fR\ 'u \fBgpscat\fR [\-s\ \fIspeed\fR] [\-p] [\-t] [\-D\ \fIdebuglevel\fR] \fIserial\-port\fR .SH "DESCRIPTION" .PP gpscat is a simple program for logging and packetizing GPS data streams\&. It takes input from a specified file or serial device (presumed to have a GPS attached) and reports to standard output\&. The program runs until end of input or it is interrupted by ^C or other means\&. It does not terminate on a bad backet; this is intentional\&. .PP In raw mode (the default) gpscat simply dumps its input to standard output\&. Nonprintable characters other than ASCII whitespace are rendered as hexadecimal string escapes\&. .PP In packetizing mode, gpscat uses the same code as \fBgpsd\fR(8)\*(Aqs packet sniffer to break the input into packets\&. Packets are reported one per line; line breaks in the packets themselves are escaped\&. .PP This program is useful as a sanity checker when examining a new device\&. It can be used as a primitive NMEA logger, but beware that (a) interrupting it likely to cut off output in mid\-sentence, and (b) to avoid displaying incomplete NMEA sentences right up next to shell prompts that often contain a $, raw mode always emits an extra final linefeed\&. .PP Also, be aware that packetizing mode will produce useless results \(em probably consuming the entirety of input and appearing to hang \(em if it is fed data that is not a sequence of packets of one of the known types\&. .PP The program accepts the following options: .PP \-p .RS 4 Invoke packetizer mode\&. .RE .PP \-s .RS 4 Set the port\*(Aqs baud rate (and optionally its parity and stop bits) before reading\&. Argument should begin with one of the normal integer baud rates (300, 1200, 4800, 9600, 19200, 38400, etc\&.)\&. It may be followed by an optional suffix [NOE][12] to set parity (None, Even, Odd) and stop bits (1 or 2)\&. .RE .PP \-t .RS 4 Invoke packetizer mode, with the packet type and length (in parentheses) reported before a colon and space on each line\&. .RE .PP \-D .RS 4 In packetizer mode, enable progress messages from the packet getter\&. Probably only of interest to developers testing packet getter changes\&. .RE .PP \-h .RS 4 Display program usage and exit\&. .RE .PP Specifying \-s 4800N1 is frequently helpful with unknown devices\&. .SH "SEE ALSO" .PP \fBgpsd\fR(8), \fBgps\fR(1), \fBlibgps\fR(3), \fBlibgpsd\fR(3), \fBgpsfake\fR(1)\&. \fBgpsprof\fR(1), \fBgpsctl\fR(1), \fBgpsdctl\fR(8), \fBgpsmon\fR(1)\&. .SH "AUTHOR" .PP Eric S\&. Raymond esr@thyrsus\&.com\&. gpsd-3.9/gpsfake.10000664000175000017500000001635712140072046012202 0ustar esresr'\" t .\" Title: gpsfake .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.76.1 .\" Date: 12 Feb 2005 .\" Manual: GPSD Documentation .\" Source: The GPSD Project .\" Language: English .\" .TH "GPSFAKE" "1" "12 Feb 2005" "The GPSD Project" "GPSD Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" gpsfake \- test harness for gpsd, simulating a GPS .SH "SYNOPSIS" .HP \w'\fBgpsfake\fR\ 'u \fBgpsfake\fR [\-1] [\-h] [\-b] [\-f] [\-c\ \fIinterval\fR] [\-i] [\-D\ \fIdebuglevel\fR] [\-l] [\-m\ \fImonitor\fR] [\-g] [\-n] [\-o\ \fIoptions\fR] [\-p] [\-P\ \fIport\fR] [\-r\ \fIinitcmd\fR] [\-s\ \fIspeed\fR] [\-u] [\-v] [\fIlogfile\fR...] .SH "DESCRIPTION" .PP gpsfake is a test harness for gpsd and its clients\&. It opens a pty (pseudo\-TTY), launches a gpsd instance that thinks the slave side of the pty is its GPS device, and repeatedly feeds the contents of one or more test logfiles through the master side to the GPS\&. If there are multiple logfiles, sentences from them are interleaved in the order the files are specified\&. .PP gpsfake does not require root privileges, and can be run concurrently with a production gpsd instance without causing problems\&. .PP The logfiles may contain packets in any supported format, including in particular NMEA, SiRF, TSIP, or Zodiac\&. Leading lines beginning with # will be treated as comments and ignored, except in the following special cases: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} a comment of the form #Date: yyyy\-mm\-dd (ISO8601 date format) may be used to set the initial date for the log\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} a comment of the form #Serial: [0\-9]* [78][NOE][12] may be used to set serial parameters for the log \- baud rate, word length, stop bits\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} a comment of the form #Transport: UDP may be used to fake a UDP source rather than the normal pty\&. .RE .PP The gpsd instance is run in foreground\&. The thread sending fake GPS data to the daemon is run in background\&. .SH "OPTIONS" .PP With the \-1 option, the logfile is interpreted once only rather than repeatedly\&. This option is intended to facilitate regression testing\&. .PP The \fB\-b\fR enables a twirling\-baton progress indicator on standard error\&. At termination, it reports elapsed time\&. .PP The \fB\-c\fR sets the delay between sentences in seconds\&. Fractional values of seconds are legal\&. The default is zero (no delay)\&. .PP The \fB\-l\fR makes the program dump a line or packet number just before each sentence is fed to the daemon\&. If the sentence is textual (e\&.g\&. NMEA), the text is dumped as well\&. If not, the packet will be dumped in hexadecimal (except for RTCM packets, which aren\*(Aqt dumped at all)\&. This option is useful for checking that gpsfake is getting packet boundaries right\&. .PP The \fB\-i\fR is for single\-stepping through logfiles\&. It dumps the line or packet number (and the sentence if the protocol is textual) followed by "? "\&. Only when the user keys Enter is the line actually fed to gpsd\&. .PP The \fB\-m\fR specifies a monitor program inside which the daemon should be run\&. This option is intended to be used with \fBvalgrind\fR(1), \fBgdb\fR(1) and similar programs\&. .PP The \fB\-g\fR uses the monitor facility to run the gpsd instance within gpsfake under control of gdb\&. .PP The \fB\-f\fR configures gpsd to bind to a random dynamic/private port (range 49152 \- 65535)\&. Its main use is within regression\-test scripts so they won\*(Aqt collide with a production instance\&. .PP The \fB\-o\fR specifies options to pass to the daemon\&. The \-n option passes \-n to start the daemon reading the GPS without waiting for a client (equivalent to \-o "\-n")\&. The \fB\-D\fR passes a \-D option to the daemon: thus \-D 4 is shorthand for \-o "\-D 4"\&. .PP The \-p ("pipe") option sets watcher mode and dumps the NMEA and GPSD notifications generated by the log to standard output\&. This is useful for regression\-testing\&. .PP The \-P ("port") option sets the daemon\*(Aqs listening port\&. .PP The \fB\-r\fR specifies an initialization command to use in pipe mode\&. The default is \fB?WATCH={"enable":true,"json":true}\fR\&. .PP The \fB\-s\fR sets the baud rate for the slave tty\&. The default is 4800\&. .PP The \fB\-u\fR forces the test framework to use UDP rather than pty devices\&. This may be useful for testing from within chroot jails where access to pty devices is locked out\&. .PP The \fB\-v\fR enables verbose progress reports to stderr\&. It is mainly useful for debugging gpsfake itself\&. .PP The \fB\-x\fR dumps packets as gpsfake gathers them\&. It is mainly useful for debugging gpsfake itself\&. .PP The \fB\-h\fR makes gpsfake print a usage message and exit\&. .PP The argument must be the name of a file containing the data to be cycled at the device\&. gpsfake will print a notification each time it cycles\&. .PP Normally, gpsfake creates a pty for each logfile and passes the slave side of the device to the daemon\&. If the header comment in the logfile contains the string "UDP", packets are instead shipped via UDP port 5000 to the address 192\&.168\&.0\&.1\&.255\&. You can monitor them with this: \fBtcpdump \-s0 \-n \-A \-i lo udp and port 5000\fR\&. .SH "CUSTOM TESTS" .PP gpsfake is a trivial wrapper around a Python module, also named gpsfake, that can be used to fully script sessions involving a gpsd instance, any number of client sessions, and any number of fake GPSes feeding the daemon instance with data from specified sentence logs\&. .PP Source and embedded documentation for this module is shipped with the gpsd development tools\&. You can use it to torture\-test either gpsd itself or any gpsd\-aware client application\&. .PP Logfiles for the use with gpsfake can be retrieved using gpspipe, gpscat, or gpsmon from the gpsd distribution, or any other application which is able to create a compatible output\&. .PP If gpsfake exits with "Cannot execute gpsd: executable not found\&." the environment variable GPSD_HOME can be set to the path where gpsd can be found\&. (instead of adding that folder to the PATH environment variable .SH "SEE ALSO" .PP \fBgpsd\fR(8), \fBgps\fR(1), \fBlibgps\fR(3), \fBlibgpsd\fR(3), \fBgpsctl\fR(1), \fBgpspipe\fR(1), \fBgpsprof\fR(1) \fBgpsmon\fR(1)\&. .SH "AUTHOR" .PP Eric S\&. Raymond esr@thyrsus\&.com\&. gpsd-3.9/gpsprof.10000664000175000017500000001323712140072046012234 0ustar esresr'\" t .\" Title: gpsprof .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.76.1 .\" Date: 10 Feb 2005 .\" Manual: GPSD Documentation .\" Source: The GPSD Project .\" Language: English .\" .TH "GPSPROF" "1" "10 Feb 2005" "The GPSD Project" "GPSD Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" gpsprof \- profile a GPS and gpsd, plotting latency information .SH "SYNOPSIS" .HP \w'\fBgpsprof\fR\ 'u \fBgpsprof\fR [\-f\ \fIplot_type\fR] [\-m\ \fIthreshold\fR] [\-n\ \fIpacketcount\fR] [\-t\ \fItitle\fR] [\-T\ \fIterminal\fR] [\-d\ \fIdumpfile\fR] [\-l\ \fIlogfile\fR] [\-r] [\-D\ \fIdebuglevel\fR] [\-h] [[server[:port[:device]]]] .SH "DESCRIPTION" .PP gpsprof performs accuracy and latency profiling on a GPS\&. It emits to standard output a GNUPLOT program that draws an illustrative graph\&. It can also be told to emit the raw profile data\&. The information it provides can be useful for establishing an upper bound on latency, and thus on position accuracy of a GPS in motion\&. .PP gpsprof uses instrumentation built into gpsd\&. .PP To display the graph, use \fBgnuplot\fR(1)\&. Thus, for example, to display the default spatial scatter plot, do this: .sp .if n \{\ .RS 4 .\} .nf gpsprof | gnuplot \-persist .fi .if n \{\ .RE .\} .PP To generate an image file: .sp .if n \{\ .RS 4 .\} .nf gpsprof \-T png | gnuplot >image\&.png .fi .if n \{\ .RE .\} .sp .SH "OPTIONS" .PP The \-f option sets the plot type\&. The X axis is samples (sentences with timestamps)\&. The Y axis is normally latency in seconds\&. Currently the following plot types are defined: .PP space .RS 4 Generate a scattergram of fixes and plot a probable\-error circle\&. This data is only meaningful if the GPS is held stationary while gpsprof is running\&. This is the default\&. .RE .PP uninstrumented .RS 4 Plot total latency without instrumentation\&. Useful mainly as a check that the instrumentation is not producing significant distortion\&. It only plots times for reports that contain fixes; staircase\-like artifacts in the plot are created when elapsed time from reports without fixes is lumped in\&. .RE .PP instrumented .RS 4 Plot instrumented profile\&. Plots various components of the total latency between the GPS\*(Aqs fix time fix and when the client receives the fix\&. .RE .PP For purposes of the description, below, start\-of\-reporting\-cycle (SORC) is when a device\*(Aqs reporting cycle begins\&. This time is detected by watching to see when data availability follows a long enough amount of quiet time that we can be sure we\*(Aqve seen the gap at the end of the sensor\*(Aqs previous report\-transmission cycle\&. Detecting this gap requires a device running at 9600bps or faster\&. .PP Similarly, EORC is end\-of\-reporting\-cycle; when the daemon has seen the last sentence it needs in the reporting cycle and ready to ship a fix to the client\&. .PP The components of the instrumented plot are as follows: .PP Fix latency .RS 4 Delta between GPS time and SORC\&. .RE .PP RS232 time .RS 4 RS232 transmission time for data shipped during the cycle (computed from character volume and baud rate)\&. .RE .PP Analysis time .RS 4 EORC, minus SORC, minus RS232 time\&. The amount of real time the daemon spent on computation rather than I/O\&. .RE .PP Reception time .RS 4 Shipping time from the daemon to when it was received by gpsprof\&. .RE .PP Because of RS232 buffering effects, the profiler sometimes generates reports of ridiculously high latencies right at the beginning of a session\&. The \-m option lets you set a latency threshold, in multiples of the cycle time, above which reports are discarded\&. .PP The \-n option sets the number of packets to sample\&. The default is 100\&. .PP The \-t option sets a text string to be included in the plot title\&. .PP The \-T option generates a terminal type setting into the gnuplot code\&. Typical usage is "\-T png" telling gnuplot to write a PNG file\&. Without this option gnuplot will call its X11 display code\&. .PP The \-d option dumps the plot data, without attached gnuplot code, to a specified file for post\-analysis\&. .PP The \-l option dumps the raw JSON reports collected from the device to a specified file\&. .PP The \-r option replots from a JSON logfile (such as \-l produces) on standard input\&. Both \-n and \-l options are ignored when this one is selected\&. .PP The \-h option makes gpsprof print a usage message and exit\&. .PP The \-D sets debug level\&. .PP Sending SIGUSR1 to a running instance causes it to write a completion message to standard error and resume processing\&. The first number in the startup message is the process ID to signal\&. .SH "SEE ALSO" .PP \fBgpsd\fR(8), \fBgps\fR(1), \fBlibgps\fR(3), \fBlibgpsd\fR(3), \fBgpsfake\fR(1), \fBgpsctl\fR(1), \fBgpscat\fR(1), \fBgnuplot\fR(1)\&. .SH "AUTHOR" .PP Eric S\&. Raymond esr@thyrsus\&.com\&. gpsd-3.9/packaging/rpm/gpsd.spec0000444000175000017500000003717312140073566015036 0ustar esresr%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: gpsd Version: 3.9~dev Release: 1%{?dist} Summary: Service daemon for mediating access to a GPS Group: System Environment/Daemons License: BSD URL: https://savannah.nongnu.org/projects/gpsd/ Source0: http://download-mirror.savannah.gnu.org/releases/gpsd//%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: bluez-libs-devel BuildRequires: chrpath BuildRequires: dbus-devel BuildRequires: dbus-glib-devel BuildRequires: desktop-file-utils BuildRequires: gcc-c++ BuildRequires: libXaw-devel BuildRequires: ncurses-devel BuildRequires: python-devel BuildRequires: qt-devel BuildRequires: scons BuildRequires: xmlto %if 0%{?fedora} >= 16 BuildRequires: pps-tools-devel %endif Requires: udev Requires(post): /sbin/ldconfig Requires(post): /sbin/chkconfig Requires(postun): /sbin/ldconfig Requires(preun): initscripts Requires(preun): /sbin/chkconfig %description gpsd is a service daemon that mediates access to a GPS sensor connected to the host computer by serial or USB interface, making its data on the location/course/velocity of the sensor available to be queried on TCP port 2947 of the host computer. With gpsd, multiple GPS client applications (such as navigational and wardriving software) can share access to a GPS without contention or loss of data. Also, gpsd responds to queries with a format that is substantially easier to parse than NMEA 0183. %package devel Summary: Client libraries in C and Python for talking to a running gpsd or GPS Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: pkgconfig %description devel This package provides C header files and python modules for the gpsd shared libraries that manage access to a GPS for applications %package -n libQgpsmm Summary: Qt Client libraries for talking to a running gpsd or GPS Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: qt Requires: pkgconfig %description -n libQgpsmm This package provides Qt shared libraries that manage access to a GPS for Qt applications %package clients Summary: Clients for gpsd Group: Applications/System Requires: clients-x11 = %{version}-%{release} Requires: clients-cli = %{version}-%{release} %package clients-x11 Summary: Clients for gpsd Group: Applications/System Requires: xorg-x11-xinit %package clients-cli Summary: Clients for gpsd Group: Applications/System %package clients-httpd Summary: Clients for gpsd Group: Applications/System Requires: httpd Requires: perl Requires: perl(Net::GPSD3) Requires: perl(GD::Graph::Polar) Requires: perl(CGI) Requires: perl(CGI::Carp) %description clients Installs X11 and Command Line Interface clients. %description clients-x11 xgps is a simple test client for gpsd with an X interface. It displays current GPS position/time/velocity information and (for GPSes that support the feature) the locations of accessible satellites. xgpsspeed is a speedometer that uses position information from the GPS. It accepts an -h option and optional argument as for gps, or a -v option to dump the package version and exit. Additionally, it accepts -rv (reverse video) and -nc (needle color) options. %description clients-cli cgps resembles xgps, but without the pictorial satellite display. It can run on a serial terminal or terminal emulator. %description clients-httpd pgps is a Perl CGI client for gpsd. It displays current GPS position/time/velocity information and (for GPSes that support the feature) the locations of accessible satellites. This package installs the CGI scripts at http://localhost/gpsd/. %prep %setup -q %build #Note: prefix must be set to / since the current scons build only supports relative paths scons %{_smp_mflags} \ prefix=/ \ bindir=%{_bindir} \ includedir=%{_includedir} \ libdir=%{_libdir} \ sbindir=%{_sbindir} \ mandir=%{_mandir} \ docdir=%{_docdir} \ pkgconfigdir=%{_libdir}/pkgconfig scons build %install rm -rf $RPM_BUILD_ROOT export DESTDIR=$RPM_BUILD_ROOT scons install #Apps need man pages! for MAN in gpsprof xgps xgpsspeed gpscat gpxlogger gegps do cp $RPM_BUILD_ROOT%{_mandir}/man1/gps.1 $RPM_BUILD_ROOT%{_mandir}/man1/$MAN.1 done #httpd client %{__install} -d -m 0755 $RPM_BUILD_ROOT%{_var}/www/html/gpsd %{__install} -p -m 0755 packaging/rpm/httpd/skyview.cgi $RPM_BUILD_ROOT%{_var}/www/html/gpsd %{__install} -p -m 0755 packaging/rpm/httpd/pgps.cgi $RPM_BUILD_ROOT%{_var}/www/html/gpsd %{__install} -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d %{__install} -p -m 0644 packaging/rpm/httpd/gpsd.conf $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/gpsd.conf # init scripts %{__install} -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/init.d %{__install} -p -m 0755 packaging/rpm/gpsd.init $RPM_BUILD_ROOT%{_sysconfdir}/init.d/gpsd %{__install} -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig %{__install} -p -m 0644 packaging/rpm/gpsd.sysconfig $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/gpsd # udev rules %{__install} -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d %{__install} -p -m 0644 gpsd.rules $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d/99-gpsd.rules # hotplug script #%{__install} -d -m 0755 $RPM_BUILD_ROOT/lib/udev #%{__install} -p -m 0755 gpsd.hotplug gpsd.hotplug.wrapper $RPM_BUILD_ROOT/lib/udev # remove .la files #rm -f $RPM_BUILD_ROOT%{_libdir}/libgps*.la # fix non-executable python script #%{__chmod} +x $RPM_BUILD_ROOT%{python_sitearch}/gps/gps.py # Install the .desktop files desktop-file-install --vendor fedora \ --dir $RPM_BUILD_ROOT%{_datadir}/applications \ --add-category X-Fedora \ packaging/X11/xgps.desktop desktop-file-install --vendor fedora \ --dir $RPM_BUILD_ROOT%{_datadir}/applications \ --add-category X-Fedora \ packaging/X11/xgpsspeed.desktop # Install logo icon for .desktop files %{__install} -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/gpsd %{__install} -p -m 0644 packaging/X11/gpsd-logo.png $RPM_BUILD_ROOT%{_datadir}/gpsd/gpsd-logo.png %clean rm -rf $RPM_BUILD_ROOT %post /sbin/ldconfig /sbin/chkconfig --add %{name} %preun if [ $1 = 0 ]; then /sbin/service %{name} stop > /dev/null 2>&1 || true /sbin/chkconfig --del %{name} fi %postun /sbin/ldconfig %files %defattr(-,root,root,-) %doc README INSTALL COPYING %config(noreplace) %{_sysconfdir}/init.d/%{name} %config(noreplace) %{_sysconfdir}/sysconfig/%{name} %config(noreplace) %{_sysconfdir}/udev/rules.d/* %{_sbindir}/gpsd %{_sbindir}/gpsdctl %{_bindir}/gpsprof %{_bindir}/gpsmon %{_bindir}/gpsctl %{_bindir}/gegps %{_libdir}/libgps*.so.* #/lib/udev/gpsd* %{python_sitearch}/gps* %{_mandir}/man8/gpsd.8* %{_mandir}/man8/gpsdctl.8* %{_mandir}/man8/gpsinit.8.* %{_mandir}/man1/gpsprof.1* %{_mandir}/man1/gpsmon.1* %{_mandir}/man1/gegps.1* %{_mandir}/man1/gpsctl.1* %{_mandir}/man5/gpsd_json.5* %files devel %defattr(-,root,root,-) %doc TODO %{_bindir}/gpsfake %{_libdir}/libgps*.so %{_libdir}/pkgconfig/*.pc %{python_sitearch}/gps/fake* %{_includedir}/gps.h %{_includedir}/libgpsmm.h #%{_includedir}/gpsd.h %{_mandir}/man1/gpsfake.1* %{_mandir}/man3/libgps.3* %{_mandir}/man3/libgpsmm.3* %{_mandir}/man3/libgpsd.3* %{_mandir}/man5/srec.5* %files -n libQgpsmm %defattr(-,root,root,-) %{_qt4_libdir}/libQgpsmm.so* %{_qt4_libdir}/libQgpsmm.prl %{_mandir}/man3/libQgpsmm.3* %files clients %defattr(-,root,root,-) %{_mandir}/man1/gps.1* %files clients-x11 %defattr(-,root,root,-) %{_bindir}/xgps %{_bindir}/xgpsspeed %{_mandir}/man1/xgps.1* %{_mandir}/man1/xgpsspeed.1* %{_datadir}/applications/*.desktop %dir %{_datadir}/gpsd %{_datadir}/gpsd/gpsd-logo.png %files clients-cli %defattr(-,root,root,-) %{_bindir}/cgps %{_bindir}/gpscat %{_bindir}/gpsdecode %{_bindir}/gpspipe %{_bindir}/gpxlogger %{_bindir}/lcdgps %{_mandir}/man1/cgps.1* %{_mandir}/man1/gpscat.1* %{_mandir}/man1/gpsdecode.1* %{_mandir}/man1/gpspipe.1* %{_mandir}/man1/lcdgps.1* %{_mandir}/man1/gpxlogger.1* %files clients-httpd %defattr(-,root,root,-) %config(noreplace) %{_sysconfdir}/httpd/conf.d/gpsd.conf %dir %{_var}/www/html/gpsd/ %attr(0755,root,root) %{_var}/www/html/gpsd/skyview.cgi %attr(0755,root,root) %{_var}/www/html/gpsd/pgps.cgi %changelog * Sun Jul 31 2011 Michael R. Davis 3.0-2 - Added gegps, gpsdctl - Dropped hotplug wrapper - Removed tabs to pass rpmlint tests - Updated scons install paths - Updated scons build paths * Sat Jun 25 2011 Eric S. Raymond 3.0-2 - Minor changes from the refactoring of the hotplug system. * Fri May 13 2011 Michael R. Davis 3.0-1 - Added httpd Perl client package - Separated x11 and cli packages * Mon Apr 18 2011 Michael R. Davis 3.0-1 - Updates to support SCons software construction tool - Added httpd Perl client - macro _buildrootdir does not exist in EPEL 4 & 5 * Mon Jul 05 2010 Michael R. Davis - 2.95-3 - Updated to move rpm files to packaging/rpm folder - Renamed gpsd-qt to libQgpsmm * Sun Jul 04 2010 Michael R. Davis - 2.95-2 - missing X11/app-defaults/xgpsspeed * Sat Jul 03 2010 Michael R. Davis - 2.95-1 - back ported spec to gpsd from Fedora 14 - updated to 2.95 - added gpsd-qt package * Thu May 06 2010 Miroslav Lichvar - 2.94-1 - update to 2.94 (#556642) * Tue Mar 02 2010 Miroslav Lichvar - 2.39-7 - don't use deprecated SYSFS{} in udev rules (#569089) - fix init script LSB compliance * Mon Feb 15 2010 Miroslav Lichvar - 2.39-6 - fix linking with --no-add-needed (#564662) - use %%global macro instead of %%define * Wed Aug 12 2009 Marek Mahut - 2.39-5 - RHBZ#505588: gpsd has a broken initscript that fails to launch daemon * Fri Jul 24 2009 Fedora Release Engineering - 2.39-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Tue Mar 31 2009 Tom "spot" Callaway - 2.39-3 - some of the gpsd client bits went into gpsdclient.h, but that file wasn't getting installed - specifically, viking needs that header to build. * Wed Mar 25 2009 Douglas E. Warner - 2.39-2 - adding patch to try to fix parallel make errors * Thu Mar 19 2009 Douglas E. Warner - 2.39-1 - updating to 2.39 - fixed potential core dump in C client handling of "K" responses - Made device hotplugging work again; had been broken by changes in udev - Introduced major and minor API version symbols into the public interfaces - The sirfmon utility is gone, replaced by gpsmon which does the same job for multiple GPS types - Fixed a two-year old error in NMEA parsing that nobody noticed because its only effect was to trash VDOP values from GSA sentences, and gpsd computes those with an internal error model when they look wonky - cgpxlogger has been merged into gpxlogger - Speed-setting commands now allow parity and stop-bit setting if the GPS chipset and adaptor can support it - Specfile and other packaging paraphenalia now live in a packaging subdirectory - rtcmdecode becomes gpsdecode and can now de-armor and dump AIDVM packets - The client library now work correctly in locales where the decimal separator is not a period * Mon Mar 16 2009 Douglas E. Warner - 2.38-1 - updating to 2.38 - creating init script and sysconfig files - migrating hotplug rules to udev + hotplug wrapper script from svn r5147 - updating pyexecdir patch - fixing udev rule subsystem match - Regression test load for RoyalTek RGM3800 and Blumax GPS-009 added - Scaling on E error-estimate fields fixed to match O - Listen on localhost only by default to avoid security problems; this can be overridden with the -G command-line option - The packet-state machine can now recognize RTCM3 packets, though support is not yet complete - Added support for ublox5 and mkt-3301 devices - Add a wrapper around gpsd_hexdump to save CPU - Lots of little fixes to various packet parsers - Always keep the device open: "-n" is not optional any more - xgpsspeed no longer depends on Motif - gpsctl can now ship arbitrary payloads to a device; It's possible to send binary through the control channel with the new "&" command - Experimental new driver for Novatel SuperStarII - The 'g' mode switch command now requires, and returns, 'rtcm104v2' rather than 'rtcm104'; this is design forward for when RTCM104v2 is fully working * Tue Feb 24 2009 Fedora Release Engineering - 2.37-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Sat Nov 29 2008 Ignacio Vazquez-Abrams - 2.37-3 - Rebuild for Python 2.6 * Wed Mar 19 2008 Douglas E. Warner - 2.37-2 - moving gpspacket.so python lib to main package * Wed Feb 27 2008 Douglas E. Warner - 2.37-1 - update to 2.37 - removed install-gpsd_config.h.patch - installed pkgconfig files in devel package - added patch to install python modules in sitearch - removing rpath from inclucded libtool - moving X11 app-defaults to datadir - using macros for commands in install; using install instead of cp and mkdir - cleaning up spaces/tabs for rpmlint * Tue Feb 19 2008 Fedora Release Engineering - 2.34-9 - Autorebuild for GCC 4.3 * Sun Aug 19 2007 Matthew Truch - 2.34-8 - Patch Makefile to also install gpsd_config.h as needed by libgpsmm.h. Redhat BZ 253433. * Sat Jun 30 2007 Matthew Truch - 2.34-7 - Make sure the logo is actually included (via the spec file). I need to wake up before I try even trivial updates. * Sat Jun 30 2007 Matthew Truch - 2.34-6 - Learn how to use search and replace (aka fix all instances of gpsd-logo.png spelled incorrectly as gspd-logo.png). * Sat Jun 30 2007 Matthew Truch - 2.34-5 - Fix desktop file and logo file name. * Sat Jun 30 2007 Matthew Truch - 2.34-4 - Include icon for .desktop files per BZ 241428 * Tue Mar 20 2007 Michael Schwendt - 2.34-3 - Bump release for FE5 -> Fedora 7 upgrade path. * Tue Feb 27 2007 Matthew Truch - 2.34-2 - BR python-devel instead of python to make it build. * Tue Feb 27 2007 Matthew Truch - 2.34-1 - Upgrade to 2.34. - Get rid of %%makeinstall (which was never needed). - Possibly fix hotplug issuses (BZ 219750). - Use %%python_sitelib for python site-files stuff. * Sat Dec 9 2006 Matthew Truch - 2.33-6 - Rebuild to pull in new version of python. * Tue Sep 26 2006 Matthew Truch - 2.33-5 - Remove openmotif requirment, and switch to lesstif. * Mon Aug 28 2006 Matthew Truch - 2.33-4 - Bump release for rebuild in prep. for FC6. * Thu Jul 20 2006 Matthew Truch - 2.33-3 - Actually, was a missing BR glib-dbus-devel. Ooops. * Thu Jul 20 2006 Matthew Truch - 2.33-2 - Missing BR glib-devel * Thu Jul 20 2006 Matthew Truch - 2.33-1 - Update to version 2.33 * Wed Apr 19 2006 Matthew Truch - 2.32-5 - Don't --enable-tnt in build as it causes some gpses to not work properly with sattelite view mode. See bugzilla bug 189220. * Thu Apr 13 2006 Matthew Truch - 2.32-4 - Add dbus-glib to BuildRequires as needed for build. * Sun Apr 9 2006 Matthew Truch - 2.32-3 - Include xmlto and python in buildrequires so things build right. - Don't package static library file. * Wed Apr 5 2006 Matthew Truch - 2.32-2 - Use ye olde %%{?dist} tag. * Wed Apr 5 2006 Matthew Truch - 2.32-1 - Initial Fedora Extras specfile
{$blurb}

A filled circle means the satellite was used in the last fix. Green-yellow-red colors indicate signal strength in dB, green=most and red=least. Diamonds indicate SBAS satellites.

{$map_code}
To get real-time information, connect to telnet://{$advertise}:{$port}/ and type "?POLL;" or "?WATCH={"enable":true,"raw":true}".
Use a different server:
:

The gpsd instance that this page monitors is not running.
%d%d%d%d%s
Current Information
Time (UTC){$ts}
Latitude{$fix['lat']}
Longitude{$fix['lon']}
Altitude{$fix['alt']}
Fix Type{$fix['mode']}
Satellites{$nsv}
HDOP{$sky['hdop']}
VDOP{$sky['vdop']}

$sat
Current Satellites
PRNElevationAzimuthSSUsed