summaryrefslogtreecommitdiff
path: root/driver_nmea.c
Commit message (Collapse)AuthorAgeFilesLines
* Reindented the NMEA support. All regression tests pass.Eric S. Raymond2010-04-141-348/+383
|
* Comment improvements.Eric S. Raymond2010-04-131-1/+5
|
* Checkpoint first cut an gpsnon support for TNT. Not yet working.Eric S. Raymond2010-04-111-1/+1
| | | | Also, a splint cleanup or two. All regression tests pass.
* Shorten some names for concision, and make C names match JSON names.Eric S. Raymond2010-04-111-18/+18
| | | | All regression tests pass.
* Improve and dicument the JSON report for digital compasses.Eric S. Raymond2010-04-111-21/+16
|
* First cut at JSON output for TNT Revolution device.Eric S. Raymond2010-04-101-17/+21
| | | | | Not yet documented, but now we at least have a regression test. All regression tests pass.
* Building with --enable--oceanserver and --disable-tnt now passes regressions.Eric S. Raymond2010-04-101-26/+26
|
* Fix the broken handling of our two compass device types in the NMEA driver.Eric S. Raymond2010-04-101-41/+46
| | | | | | | | | | | | It could never have worked right because there was no mask flag to tell a caller that the compass data was valid. TNT has been broken for years; why we never got any complaints about the Oceanserver is more of a mystery. Since it was all broken anyway I renamed and cleaned up that substructure in the union. Nothing fills in the "yaw" slots yet with anything but NaN, but it's got pitch and roll, so... All regression tests pass.
* Make the client library and daemon use different sets of state-flag masks.Eric S. Raymond2010-04-091-50/+50
| | | | | | | | | | | | | | | | | Large patch, no actual executable code changes except in three debug dumpers. Breaks up the *_SET status macros so the client side continues to use them, but the daemon uses a similarly-named set with an _IS suffix. This frees up two mask bits in both sets - the client side no longer needs to have REPORT_SET and CLEAR_SET bits, and the daemon side no longer needs to have VERSION_SET and POLICY_SET. The only actual code change is that the maskdump.c module, generated by maskaudit.py, splits in half - one child now dumps client-side flags, the other daemon-side flags. One other function call in a debug dumper in libgps_core.c changes. All regression tests pass.
* Fix TNT compilation.Eric S. Raymond2010-04-071-5/+5
|
* Drivers now put their per-packet new data into a session->newdata member.Eric S. Raymond2010-04-051-77/+77
| | | | | | | This is so they won't overwrite session->gpsdata.fix, which is going to move back to being where the current fix has been reported. All regression tests pass.
* Refactoring; do_lat_lon() has no need to know about all of struct gpsdata_t.Eric S. Raymond2010-04-051-12/+7
| | | | All regression tests pass.
* Fix Oceanserver build.Eric S. Raymond2010-03-281-11/+11
| | | | Signed-off-by: esr@thyrsus.com
* Vanish away Id and Rev $ keywords, git won't expand them to anything useful.Eric S. Raymond2010-03-131-2/+1
|
* Copyright stamps everywhere. No code changes.Eric S. Raymond2010-03-111-1/+5
|
* Cope better with decade and century transitions while the daemon is running. Eric S. Raymond2010-01-061-5/+13
| | | | Thanks to Miroslav Lichvar.
* This commit resolves the time overflows in the rgm3800 and mkt3301.Eric S. Raymond2009-12-041-9/+19
| | | | | | | | | | | These were causing port problems on systems with 32-bit time. It turns out the problem was with the assumption that these devices always deliver a valid time in $GPRMC. They don't when the navigation warning bit (second field 'V') is on! The NMEA driver now knows. Also, the code now contains a sanity check - it will log a complaint if it sees a date moere than a year in the future. This invariably indicates some driver-level problem with time extraction.
* Include the whole config file in gpsd.h.Eric S. Raymond2009-11-201-1/+0
| | | | | | | That is, instead of sectioning out two little config defines and putting them in. This makes gpsd.h self-copntained (e.g. in case it gets installed as a library header) and means we can get rid of most inclusions of it.
* Fix some whitespace glitches found while experimenting with indent(1).Eric S. Raymond2009-11-171-9/+9
| | | | All regression tests pass.
* Compiler warning suppressions (the MKT3301->MTK3301 change wasn't complete).Eric S. Raymond2009-11-171-4/+0
|
* missed a couple in the MKT / MTK renameChris Kuethe2009-11-171-2/+2
|
* Suppress unstable and negative timestamps in devices like the uBlox-lea-4h...Eric S. Raymond2009-10-061-24/+31
| | | | ...by checking more carefully for malformed ZDAs and empty time fields.
* Prevent the daemon from being confused by malformed sentences.Eric S. Raymond2009-10-051-20/+34
| | | | Specifically ZDA, RMC, and GLL sentences with empty time fields.
* The new instrumentation pays off. Eric S. Raymond2009-10-021-4/+3
| | | | | | | On NMEA devices, mode could sometimes be held across cycles when it shouldn't have been. Fix this, simplifying how cycles are tracked in the process. Some regression tests needed rebuilding. Code splints clean.
* Fix a paste-o that made its way into many LOG_DATA format strings.Eric S. Raymond2009-10-021-5/+5
|
* My bright idea to use timestamp() to set skyview times backfired... Eric S. Raymond2009-10-021-4/+4
| | | | | ...making the regression tests nondeterministic. Oh well. Fixed. All drivers now use the LOG_DATA convention.
* Clear up some driver-level confusion surrounding timestamp setting.Eric S. Raymond2009-10-011-2/+2
| | | | | | | | There was lots of duplicative setting of gpsdata.fix.time and gpsdata.sentence_time. The latter is now gone. The only case the sentence_time member was actually used for was timestamping skyviews; a new gpsdata.skyview_time now handles that, and all drivers set it properly.
* In the gpsdata structure, satellites -> satellites_visibleEric S. Raymond2009-10-011-13/+13
| | | | All regression tests pass, code splints clean.
* More DATA_LOG adaptations. All regression tests pass. Code splints clean.Eric S. Raymond2009-10-011-79/+81
|
* Adapt some drivers to use the new LOG_DATA level. All regression tests pass.Eric S. Raymond2009-09-301-2/+4
|
* Fix computation of epx and epy from eph.Eric S. Raymond2009-09-301-1/+1
| | | | | Factor of 1/sqrt(2) has to be applied (on the assumption that epx and epy are equal).
* Introduced new LOG_DATA debugging level.Eric S. Raymond2009-09-301-46/+115
| | | | | | This makes each packet handler dump the fields that it touched and the validity mask. The NMEA, Evermore, and GTXT drives now use this. No behavior changes. All regression tests pass.
* Move climb computation from the NMEA driver to the error modeler.Eric S. Raymond2009-09-301-16/+0
| | | | | That way it applies to all GPSes, not just one subclass. Required rebuilding of some regression tests.
* Refactor the cycle-end tracking. The AIS machinery should use it.Eric S. Raymond2009-09-301-1/+1
| | | | All regression tests pass.
* Rip out most of the old profiling support.Eric S. Raymond2009-09-291-1/+0
| | | | | Replace it with a new, lighter- weight version that can be configured out.
* Typo fix.Eric S. Raymond2009-09-151-1/+1
|
* More simplification of DOP handling. All regression tests passEric S. Raymond2009-09-151-1/+2
|
* Using clear_dop() means we can get rid of instances of several different flags.Eric S. Raymond2009-09-151-7/+1
| | | | All regression tests pass.
* More clear_dop() calls go in place. All regression tests pass.Eric S. Raymond2009-09-151-0/+1
|
* Give DOPs their own structure...Eric S. Raymond2009-09-151-7/+7
| | | | | | ...mainly because there will shortly be code to clear it as a unit. Pure refactoring step; all regression tests pass, splint gives no warnings.
* RMC and GLL emit valid time even when navigation warning is on.Eric S. Raymond2009-09-111-14/+17
| | | | | | This is important for NMEA end-of-cycle cycle detection. Having that feature changes what is reported and when, so the regression tests need to be rebuilt.
* NMEA end-of-cycle detector appears to be working.Eric S. Raymond2009-09-111-36/+73
|
* Guard some inclusions that splint doesn't like. Eric S. Raymond2009-09-101-0/+2
| | | | No effect on compilation. All regression tests pass.
* Continuing the splint cleanup.Eric S. Raymond2009-09-101-1/+1
|
* Refactor NMEA driver so all sentence timestamp recording is done in one spot.Eric S. Raymond2009-09-081-24/+23
| | | | All regression tests pass.
* End-of-cycle latch for devices that ship $GPGBS now works.Eric S. Raymond2009-09-041-0/+20
|
* Dead-code removal. All regression tests pass.Eric S. Raymond2009-09-041-28/+8
|
* Now make it possible for a driver to signal cycle start, cycle end, ... Eric S. Raymond2009-09-031-5/+5
| | | | | and the fact that its cycle end indication is reliable. All regression tests pass.
* Break the cycle-start flag out of general status mask into its own field.Eric S. Raymond2009-09-031-6/+6
| | | | Refactoring step, no behavior changes. All regression tests pass.
* $GPGBS processing is successful at the driver level.Eric S. Raymond2009-09-031-2/+34
| | | | | Next, get the library core to propagate it upwards. Delete a check file with a tyoed name. All regression tests pass.