summaryrefslogtreecommitdiff
path: root/driver_zodiac.c
Commit message (Collapse)AuthorAgeFilesLines
* Split firmwqre version query out of the init method.Eric S. Raymond2014-08-251-0/+1
| | | | | | This enables us to force readonly off while it's being called. The practical effect is that gpsmon can get a firmware version (if this is possible) without reconfiguring the device.
* Drop the obsolete tag field from JSON output. Bump the minor protocol number.Eric S. Raymond2014-08-241-3/+0
| | | | | | | Required a regression-test rebuild, of course. The field is still set by the TSIP and SiRF drivers; the SiRF driver actually uses it. It may be possible to eliminate the TSIP uses, but so far attempting this has produced odd regression-test failures.
* Reimplement Zodiac control-send safely for word-oriented architectures.Eric S. Raymond2014-08-211-1/+10
| | | | | | | | | | This was a bug revealed by Debian porterbox testing. We used to use a cast from (char *) to (unsigned short *) that was problematic on word-oriented architectures like the PowerPC. Instead, memcpy the message data to a word array, which the compiler will create with correct alignment. All regression tests, cppcheck, and splint pass.
* Remove a dead initialization, as reported by clang's scan build.Bernd Zeimetz2013-12-071-1/+1
|
* Rename and rationalize driver table instances. No logic changes.Eric S. Raymond2013-11-121-2/+2
|
* Full splint cleanup. Partial cppcheck cleanup.Eric S. Raymond2013-11-051-4/+3
|
* Contain the assumption that time hinting is done to NTPD.Eric S. Raymond2013-10-311-6/+6
| | | | | | | Because it might be going to chrony. Or something else. No logic changes, just name changes and one new derived #define, TIMEHINT_ENABLE.
* Revert "Separate ntpd support from chrony support, step 1."Eric S. Raymond2013-10-301-6/+6
| | | | We'll have to sneak up on this change more slowly.
* Separate ntpd support from chrony support, step 1.Eric S. Raymond2013-10-301-6/+6
| | | | | | | | | | | | | ntp_offset becomes time_offset. There is a new config symbol CHRONY_ENABLE; most time service code is npw controlled by TIMESERVICE_ENABLE. The file ntpshm.c becomes timeexport.c This change is not complete. More disentanglement has to be done inside timeexport.c itself; at the moment enabling one but not both of ntpshm or chrony will probably break its compile. The point of getting this commit out is so Gary will see the new baseline code ASAP. All regression tests pass.
* splint cleanup. Regression tests pass and PPS live-tests correctly.Eric S. Raymond2013-10-291-3/+3
|
* Cleanup fixes. There was a typo in the last change to the Zodiac driver.Eric S. Raymond2013-10-261-2/+2
| | | | All regression tests pass.
* Remove an endianness assumption.Eric S. Raymond2013-10-261-19/+10
|
* More efficiebt sticky-flagging.Eric S. Raymond2013-10-151-1/+1
|
* Remove dead code and clean up. All regression tests pass.Eric S. Raymond2013-10-151-37/+3
| | | | | Under the new transition rules, the Zodiac driver can never see an NMEA packet.
* OK, visualize as a method was a bad idea. All regression tests pass.Eric S. Raymond2013-10-141-3/+0
|
* Create driver slot and scons option for a visualizer driver method.Eric S. Raymond2013-10-131-0/+3
|
* Change gpsd_report to no longer use a global. All regression tests pass.Eric S. Raymond2013-09-291-10/+18
| | | | | | | | This is a large, ugly change. But without it we can't troubleshoot the ICP/IP-source initialization bug properly - colliding definitions of gpsd_report() were interfering with error reporting early in gpsd runs. More cleanup work remains to be done, but at least this is working.
* Lose the assumption that socket_t is an integer.Eric S. Raymond2012-09-221-1/+1
|
* Nuke trailing whitespace in C source.Eric S. Raymond2012-09-071-6/+6
|
* Remove now-unneeded inclusion.Eric S. Raymond2012-05-191-1/+10
|
* Regularize some names.Eric S. Raymond2011-04-011-8/+8
|
* gps_maskdump() has been a CPU hog. Drastically reduce the number of calls...Eric S. Raymond2011-03-311-2/+2
| | | | | ...and guard them with debug level so they won't be done when the output would never be shipped anywhere.
* Re-identify most *_IS flags with corresponding *_SET flags.Eric S. Raymond2011-03-271-6/+6
| | | | | | | | | | | Required so clients looking at flag masks in data exported via the shared-memory interface will see the right thing. These were separated originally in order to avoid pushing the reqyuired width of the gpsdata.set flag mask over 32 bits. It became 64 bits in the Version 5 API change, so that constraint went away. All regression tests pass.
* Make all drivers set the PPSTIME_IS mask where appropriate. It's not yet used.Eric S. Raymond2011-03-231-2/+2
| | | | All regression tests pass.
* And still more double -> timestamp_t moves.Eric S. Raymond2011-03-101-1/+1
| | | | All regression tests pass, splint passes.
* Remove pass_rtcm(),Eric S. Raymond2011-02-271-2/+2
| | | | | Replace it wuth what it calls, gpsd_write(). Requiresd only a prototype tweak and some casts, no logic changes. All regression tests pass.
* Refactor time handling yet again. All regression tests pass.Eric S. Raymond2011-01-211-1/+1
|
* Add some suitable warning comments.Eric S. Raymond2011-01-211-0/+6
|
* Added a driver-type flags member to the driver method structure.Eric S. Raymond2011-01-191-0/+1
| | | | All regression tests pass.
* Refactoring revealed a minor bug in Zodiac skyview timestamps.Eric S. Raymond2011-01-171-6/+3
| | | | They weren't getting leap-second correction.
* Properly record when we get a valid leap second.Eric S. Raymond2011-01-171-1/+3
|
* Introduce GPS_TIME_VALID flag for GPS time validation.Eric S. Raymond2011-01-171-0/+1
|
* More deheader testing. All regression tests pass.Eric S. Raymond2011-01-131-0/+1
|
* Rename the bits.h macros to be explicit about operand length.Eric S. Raymond2010-12-261-2/+2
| | | | | | With most machines being 64-bit now, the assumption that "word" = 16 bits and "long" = 32 bits is increasingly archaic. This commit removes it from our naming conventions.
* More header portability auditing by deheader.Eric S. Raymond2010-12-221-2/+3
|
* Insert GPS week rollover checks everywhere we rely on GPS time.Eric S. Raymond2010-12-201-0/+1
| | | | All regression tests pass.
* More deheaderizing. All regression tests pass.Eric S. Raymond2010-12-011-3/+0
|
* Enable much stricter compilation warningsEric S. Raymond2010-09-161-1/+1
| | | | | | | | We now compile with -Wextra on and only the warning on missing fields in initializers turned off (because of the way some of thee JSON code is generated). Cleanups necessary to eliminate all warnings have been done. All regression tests pass.
* Reindent. All regression tests pass.Eric S. Raymond2010-04-261-2/+2
| | | | | Most of the bulk of this one is the xgpsspeed code, which was not formerly incldecd in reindenting.
* Clear DOPs only when we get a skyview report.Eric S. Raymond2010-04-201-1/+2
| | | | | | | | | | | | | | | This solves the disappearing epx/epy bug on SiRFs, but it was actually a systemic problem that affected several drivers. Navigation solution messages were clearing DOPs, making it impossible for the error modeller to compute estimates. New logic: Clear DOPs only when we get a skyview report. They'll be regenerated by our visibility-matrix calculation when the skyview sentence is analyzed. If a sentence from the device supplies a DOP between the time the visibility calculation is done and when the next fix is reported, it will override our computed value. This might change later! This change required a regression-test rebuild.
* Splint and cppcheck cleanup. All regression tests pass.Eric S. Raymond2010-04-201-3/+3
|
* Eliminate a lot of private copies of gps_tow for one global copy inGary E. Miller2010-04-181-1/+2
| | | | sesion->context.
* Smoke out more private copies of gps_week and move into session->context. Gary E. Miller2010-04-181-0/+1
| | | | Prepare to do the same for Time of Week (tow).
* remove commented-out development packet dumpsChris Kuethe2010-04-181-76/+1
|
* Collapse various copies of gps_week into one in gps_contxt_t.Gary E. Miller2010-04-161-1/+2
|
* More reindenting.Eric S. Raymond2010-04-141-2/+2
|
* Reindented more driver code. All regression tests pass.Eric S. Raymond2010-04-141-97/+125
|
* Protect more displayed structures from indent.Eric S. Raymond2010-04-131-0/+2
|
* Refactor serial ntpshm_put() calls.Eric S. Raymond2010-04-121-8/+14
| | | | | | | | | | | | | | | These calls move out of scattered places in the drivers into one spot in libgpsd_core.c where they can be guarded with consistent validity checks. Time offset is now computed by a new driver method, ntp_offset(), which has access through the session structure to the baud rate, the tag of the sentence last received, etc. If the ntp_offset() method returns NAN, no notification is shipped. The logic of these methods replicates the sentence and baud-rate specific computations that were embedded in individual sentence methods before. All regression tests pass.
* Make the client library and daemon use different sets of state-flag masks.Eric S. Raymond2010-04-091-5/+5
| | | | | | | | | | | | | | | | | 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.