summaryrefslogtreecommitdiff
path: root/gpsd.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix misleading PPS JSON documentation. Still needs work.Gary E. Miller2015-04-051-0/+2
|
* Add precision to the PPS JSON message.Gary E. Miller2015-04-011-2/+10
|
* Increase consistency of names. No code changes.Eric S. Raymond2015-04-011-1/+1
|
* Clean up PPS monitor interface with renames, and additional documentation.Eric S. Raymond2015-04-011-2/+2
|
* Propagate in-band time to PPS-only devices each time a fresh fix comes in.Eric S. Raymond2015-03-311-35/+12
| | | | All regression tests pass.
* Prefix two more PPS log outputs with PPS:Gary E. Miller2015-03-311-3/+4
|
* Document some return codes, one more small step at /dev/ppsX handling.Gary E. Miller2015-03-311-2/+20
|
* Write scan-build suppressions to it runs clean.Eric S. Raymond2015-03-301-0/+4
| | | | | | Promote scan-build to be onere of the stock pre-release checks. Fix one minor cppcheck nit.
* Retire splint from our set of static analyzers.Eric S. Raymond2015-03-301-90/+20
| | | | | | | | | | | | | | | | | | | The proximate cause was that we've been seing emission of error messages that were randomly and disturbingly variable across different environments - notably Raspbian and Gentoo splint gave nontrivially different results than Ubuntu 14.10 splint. And this was *not* due to Ubuntu patches! A pristine splint built from the 3.1.2 tarball on Ubuntu didn't match the Raspbian and Gentoo results either. But this has been coming for a while. Easy access to more modern static analyzers such as coverity, scan-build and cppcheck has been decreasing the utility of splint, which is unmaintained and somewhat buggy and not easy to use. Only file not cleaned is ppsthread.c, because Gary has been working on it during this cleanup. All regression tests pass. PPS observed live on GR601-W.
* Defensive coding for the presence of NULs.Eric S. Raymond2015-03-301-3/+3
|
* Only you cabn prevent obscure magic numbers.Eric S. Raymond2015-03-301-2/+0
| | | | All regression tests pass.
* Improved code for associating a lone PPS to in-band time.Eric S. Raymond2015-03-291-13/+12
| | | | All regression tests pass.
* Minor splint annotation of new /dev/pps code.Eric S. Raymond2015-03-291-0/+2
|
* Attempt to support /dev/pps devices.Eric S. Raymond2015-03-291-1/+42
| | | | | | | | | | | | | | | | For these devices: 1. The hunt loop is disabled. 2. When emitting a PPS report, all other (non-/dev/pps) devices are checked for in-band time. If no time is found the report is not emitted. If time is ound its seconds field is incremented by 1 and it is used Every PPS from a device resets its online time, which should prevent /dev/pps devices from timing out too often. Not yet tested with a /dev/pps device. All regression tests oass.
* More offerings to the splint god.Gary E. Miller2015-03-281-1/+4
|
* Guard header files that raspbian splint hates.Gary E. Miller2015-03-261-5/+5
| | | | Trying to cherry pick instead of just +siip-sys-headers
* Remove redundant $ifndefGary E. Miller2015-03-261-2/+0
| | | | | | [...] Kinda obvious?
* Remove #ifdef with no body contentGary E. Miller2015-03-251-2/+0
|
* Acccept doing synchronization logging at only 1s granularity to remove floats.Eric S. Raymond2015-03-201-1/+1
| | | | All regression tests pass.
* Float elimination. All regression tests pass.Eric S. Raymond2015-03-201-4/+3
|
* Revert "Take a GPS file descriptor ourut of the read set when deactivating."Eric S. Raymond2015-03-171-1/+0
| | | | Ugh. Unnecessary, as rfds is set inside of gpsd_await_data().
* Take a GPS file descriptor ourut of the read set when deactivating.Eric S. Raymond2015-03-171-0/+1
| | | | All regression tests pass.
* splint/cppcheck/coverity prerelease cleanup.Eric S. Raymond2015-03-131-2/+3
|
* If command sockets weren't opend, a stale pidfile could linger.Eric S. Raymond2015-03-131-0/+1
| | | | All regression tests pass.
* Simplify the thread-monitor interface.Eric S. Raymond2015-03-111-1/+1
| | | | PPS observed live on GR601W.
* Float elimination. We only need integer time after timeouts.Eric S. Raymond2015-03-091-6/+10
| | | | | | | splint had a minor hissy fit after this change atround code that should have been completely unrelated. Shut it up, too. All regression tests pass.
* splint cleanup of new code.Eric S. Raymond2015-03-081-1/+1
|
* Eliminate timestamp-T use from PPS thread code.Eric S. Raymond2015-03-081-1/+1
| | | | PPS observed live on GR-601W. All regression yests pass.
* Eliminate a potential source of defects by using static mutex initialization.Eric S. Raymond2015-03-081-4/+0
|
* gpsd-report() -> gpsd_log()Eric S. Raymond2015-03-071-264/+272
| | | | | | | | | | | | | | | | This change is done so we can add a "log" hook to the pps_thread_t structure (this is not done yet) and harmonize with the name of the outer logging function. If that name had been left as gpsd_report() there would have been scope for bad confusion with the report_hook member. Also, remove two stray duplicative printf calls from the NMEA2000 driver (drivers shouldn't have printfs!) and fix one typo. This is a step towards factoring out ntplib. For that to happen, the PPS thread code needs to be decoupled from the core session structure. No logic changes. Object compatibility preserved. All regression tests pass.
* Factor PPS-related members of struct gps_device_t into a pps_thread_t structure.Eric S. Raymond2015-03-071-1/+3
| | | | | | | | | | | No logic changes, though it looks like there are two because two guards that would always have failed when the code was compiled with pps=off are now conditioned out. Also, this code is offset-preserving so as not to break link-time compatibility of libgpsd. (This is the subtler approach...) All regression tests pass.
* Revert "ntplib extraction requires libgpsd object format bump to 23."Eric S. Raymond2015-03-071-1/+1
| | | | We need to sneak up on this in a more subtle way.
* ntplib extraction requires libgpsd object format bump to 23.Eric S. Raymond2015-03-071-1/+1
| | | | | | The new struct ppsthread_t isolates the interface to the PPS monitor loop. It will need more members before we're done, including some reporting hooks.
* Generqte -V messages in a uniform way.Eric S. Raymond2015-03-021-1/+1
| | | | All regression tests pass.
* Warning hunting cleanup unused variable af in gpsdJon Schlueter2015-02-271-4/+6
| | | | | | | for scons minimal=on clang identified af as assigned but never used. on closer inspection af is a file static and a parameter to one of the functions renamed file static and guarded it with SOCKET_EXPORT_ENABLED
* fix broken build scons minimal=on ntp=on in gpsd.cJon Schlueter2015-02-241-0/+3
| | | | Missing ifdef guard for SOCKET_EXPORT around usage of notify_watchers
* In gpsd.c, restire some trailingsplint markup.Eric S. Raymond2015-02-231-0/+1
| | | | No code changes.
* TOFF JSON message implemented and documented.Eric S. Raymond2015-02-231-7/+18
| | | | | | All regression tests pass. PPS observed live with gosmon. gpsmon presently ignores this message, but shout display its contents near PPS.
* Abolish all confusing uses of the word 'drift' for a time delta.Eric S. Raymond2015-02-231-5/+5
| | | | No logic changes. All regression tesrs pass. Live PPS observed.
* Warning hunting cleanup in gpsd.c around ship_pps_drift_messageJon Schlueter2015-02-231-1/+1
| | | | declaration was missing a stacked guard for CONTROL_SOCKET_ENABLE
* Fix for scons minimal=on broken build in gpsd.c missing ifdef guardJon Schlueter2015-02-181-0/+2
|
* Tweak instrumentation to find out why alternate export segment isn't being set.Eric S. Raymond2015-02-161-6/+1
| | | | All regression tests pass. No logic changes.
* BSD compiler waening and splint cleanup.Eric S. Raymond2015-02-111-1/+1
|
* Comment typo fix.Eric S. Raymond2015-02-101-1/+1
|
* Graceful shutdown qwhen hotplug-driven and out of devices and subscribers.Eric S. Raymond2015-02-061-1/+29
|
* Revert the change abolishing the "pps" policy flag, it broke gpsmon client mode.Eric S. Raymond2015-02-021-5/+6
| | | | All regression tests pass.
* Add missing pthread_mutex_init(&ppslast_mutex)Gary E. Miller2015-01-301-0/+4
| | | | | No error checking was previously done on uses of ppslast_mutex. So likely the mutex has never worked, just created the odd segfault.
* Assertions cleanup and new policy. All regression tests pass.Eric S. Raymond2015-01-301-1/+5
|
* Remove the failed adaptive-delay experiment.Eric S. Raymond2015-01-291-82/+0
| | | | | | | | Instead, we're going to try telling the tty layer to deliver input in chunks larger than chracters, with a timeout. That way the select call in the main loop will return data ready less often. All regression tests pass.
* Using SIOCOUTQ to flush output on client socket close caused a hard hang.Eric S. Raymond2015-01-281-17/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | To replicate the problem: (1) Check out the parent of this revision. (2) Run "gpsd -n -N -D 3 /dev/ttyUSB0" substituting the device as needed. (3) Run the following script in another window: while true do date ./gpspipe -n 3 -R -o /dev/null # hang if gpsd is sick ./gpspipe -d -R -o /dev/null sleep 2 DELAY=$RANDOM # 0-32K #usleep ${DELAY}00 # 0-3 seconds sleep `echo "scale=6; $DELAY / 1000000" | bc` killall gpspipe #ps ax | grep gpspipe done (4) Run gpsmon in a third window. gpsd will hang in 3-5 minutes, requiring kill -9, in the kernal hrtime function.