summaryrefslogtreecommitdiff
path: root/gpsd.h-tail
Commit message (Collapse)AuthorAgeFilesLines
* A glut of whitespace fixes.Gary E. Miller2015-04-301-6/+6
|
* Steps 2 and 3 of the field addition procedure for PPS precision.Eric S. Raymond2015-04-041-1/+3
| | | | Steps 4 and 5 remain to be done.
* Eliminate some duplication code for timespec arithmetic.Eric S. Raymond2015-04-011-78/+0
|
* Retire splint from our set of static analyzers.Eric S. Raymond2015-03-301-76/+64
| | | | | | | | | | | | | | | | | | | 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.
* Only you cabn prevent obscure magic numbers.Eric S. Raymond2015-03-301-0/+6
| | | | All regression tests pass.
* Attempt to support /dev/pps devices.Eric S. Raymond2015-03-291-0/+1
| | | | | | | | | | | | | | | | 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.
* Guard header files that raspbian splint hates.Gary E. Miller2015-03-261-1/+3
| | | | Trying to cherry pick instead of just +siip-sys-headers
* Add compile-time check for arg type to NITEMS()Zbigniew Chyla2015-03-221-1/+1
| | | | | | | | If a pointer (not array) is passed to NITEMS() macro, gcc will emit compilation warning. The actual check is based on newly added COMPILE_CHECK_IS_ARRAY macro. The change doesn't affect generated binary code.
* Float elimination. All regression tests pass.Eric S. Raymond2015-03-201-3/+3
|
* Our PPS expert says some code is useless. Remove it.Eric S. Raymond2015-03-191-3/+0
| | | | All regression tests pass.
* Comment improvement.Eric S. Raymond2015-03-161-2/+2
|
* NMEA2000 driver was not using a bool where it should.Eric S. Raymond2015-03-161-1/+1
|
* More WIN32 removal.Eric S. Raymond2015-03-091-2/+0
|
* chronfd doesn't belong in the thread context, move it back out to session.Eric S. Raymond2015-03-081-0/+1
|
* Break timespec_str out of gpsutils.c.Eric S. Raymond2015-03-081-3/+0
| | | | | | It's not used on the client side, and it's needed separately for ntplib. All regression tesrs pass. PPS is live.
* One of the float-elimination steps busted something. Revert.Eric S. Raymond2015-03-081-1/+1
|
* Sigh - gosd,h-tail should have been modified in last commit, not gpsd.hEric S. Raymond2015-03-081-1/+1
|
* Eliminate a potential source of defects by using static mutex initialization.Eric S. Raymond2015-03-081-3/+0
|
* Move some toolchain settings into compiler.h, all that stuff should live there.Eric S. Raymond2015-03-071-17/+0
|
* ppsthread.c gets its own header. Another step towards ntplib.Eric S. Raymond2015-03-071-37/+1
| | | | All regression tests pass.
* Expose gpsd_vlog(), so ppsthread.c will be able to see it.Eric S. Raymond2015-03-071-0/+2
|
* gpsd-report() -> gpsd_log()Eric S. Raymond2015-03-071-1/+1
| | | | | | | | | | | | | | | | 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-15/+17
| | | | | | | | | | | 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 "Another step in prying ntplib loose. Partly decouple ppsthread.c ↵Eric S. Raymond2015-03-071-3/+13
| | | | | | fom sessions." Previous approch was a bit too frontal.
* Revert "ntplib extraction requires libgpsd object format bump to 23."Eric S. Raymond2015-03-071-1/+2
| | | | 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-2/+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.
* Another step in prying ntplib loose. Partly decouple ppsthread.c fom sessions.Eric S. Raymond2015-03-071-13/+3
| | | | All regression tests pass.
* Remove some unused code and some port cruft.Eric S. Raymond2015-03-021-1/+4
| | | | All regression tests pass.
* Assume POSIX-conformant termios.h.Eric S. Raymond2015-03-011-2/+0
| | | | | | | HAVE_TERMIOS_H was some sort of relic, apparently always on. I don't think the code would have compiled without it. All regression tests pass.
* Full support for Beido and QZSS constellations in NMEA0183 skyviews.Eric S. Raymond2015-02-281-0/+2
| | | | | All regression tests pass. Required one test rebuild for QZNSS; Beidou test added.
* Concurrency protection for ntpmon using memory barrier instructions.Eric S. Raymond2015-02-251-18/+0
|
* Turn some remnant timedrift_t instances to timedelta_t.Eric S. Raymond2015-02-241-5/+5
| | | | All regression tests pass.
* Move some double to timespec in chrony socket to preserve precision.Gary E. Miller2015-02-231-0/+4
|
* TOFF JSON message implemented and documented.Eric S. Raymond2015-02-231-3/+7
| | | | | | All regression tests pass. PPS observed live with gosmon. gpsmon presently ignores this message, but shout display its contents near PPS.
* Avoid overexposure of an internal mask. EOF_SET -> EOF_ISEric S. Raymond2015-02-201-9/+10
| | | | | | | | Also, use PPSDRIFT_SET as a client-side status flag for JSON PPS rather than the (not yet shipped) TIMEDRIFT_SET. Next release we're probably going to add a drift object for in-line time. No logic changes. All regression tests pass.
* Fixing broken build scons minimal=on ntpshm=onJon Schlueter2015-02-181-0/+2
| | | | missing ifdef guards around pps_thread_stash_fixtime()
* Revert the ntpshm allocation change - go back to using an external bool array.Eric S. Raymond2015-02-161-0/+1
| | | | | | | We're now back to no logic changes since code freeze. If SHM(1) still fails as Gray reported on the dev list, something else is going on. All regression tests pass.
* Repair the logic for setting a non-default SHM export segment.Eric S. Raymond2015-02-161-1/+1
| | | | | | Also, ensure this always happens within the regression-test driver. All regression tests pass.
* Remove unused and incorrect retval from timespec_strZbigniew Chyla2015-02-151-1/+1
| | | | | | | All callers ignore value returned by timespec_str. Additionally, the function returns simply the result of snprintf(), which is not necessarily the number of chars written to the buffer (if the buffer provided by the caller was too small).
* timespec_str: add "const" to input argumentZbigniew Chyla2015-02-151-1/+1
|
* Simplify NTP SHM segment creation.Eric S. Raymond2015-02-151-1/+0
| | | | | | This will avoid an object file compatibility break later. All regression tetrs pass. SHM segments allocate successfully in live testing.
* Replace Gary's magic number 22 with TIMESPEC_LEN.Eric S. Raymond2015-02-121-0/+3
| | | | All regression tests pass.
* Namespace cleanup.Eric S. Raymond2015-02-121-1/+1
|
* Mutex-lock the update of last-fix time.Eric S. Raymond2015-02-121-1/+3
|
* Shut up. splint!Eric S. Raymond2015-02-121-1/+3
| | | | All regression tests pass.
* Add some comments to TS_NORM()Gary E. Miller2015-02-111-2/+13
|
* Keeping TS_NORM() a macro too ugly, convert to inline functionGary E. Miller2015-02-111-20/+25
|
* Maybe this time I got the TS_NORM() corner case?Gary E. Miller2015-02-111-1/+1
|
* Another edge case in TS_NORM()Gary E. Miller2015-02-111-1/+1
|
* Fix TS_NORM for negative numbers.Gary E. Miller2015-02-111-6/+16
| | | | | | | Whoops, I thought I commited this last week. Fixes display of -0.000000001 as -1.999999999 This fixes a lot of PPS glitches.