summaryrefslogtreecommitdiff
path: root/timebase.c
Commit message (Collapse)AuthorAgeFilesLines
* Retire splint from our set of static analyzers.Eric S. Raymond2015-03-301-5/+3
| | | | | | | | | | | | | | | | | | | 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.
* One of the float-elimination steps busted something. Revert.Eric S. Raymond2015-03-081-2/+2
|
* A step toards float elimination. No code changes.Eric S. Raymond2015-03-081-2/+2
|
* gpsd-report() -> gpsd_log()Eric S. Raymond2015-03-071-15/+15
| | | | | | | | | | | | | | | | 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.
* Move pointer the correct direction when trying to skip spacesMatt2015-01-231-1/+1
| | | | | | | | | | | | | gpsd_set_century attempts to skip optional whitespace in its input, but it does so by decrementing its pointer, when it should instead be incrementing it. Eric, I feel this one should make the snap release. It's trivial, isolated from other code, and I hope is "obviously correct". I have further patches in my queue, which I'm sending shortly, but which I don't think should necessarily go in the current snap release. None of them is critical.
* Documentation correction.Eric S. Raymond2014-09-301-12/+13
|
* Better way to avoid glibc dependency.Eric S. Raymond2014-09-291-1/+1
| | | | | | | Returns us to something amost identical to the original code. Sigh. Timezones are a swamp. All regression tests pass.
* Remove some custom code, at the cost of introducing a glibc depenency.Eric S. Raymond2014-09-251-1/+1
| | | | Dependency soon to be fixed. All regression tests pass.
* Now that the transition is done we can restore the gpsd_report name.Eric S. Raymond2014-08-271-6/+6
| | | | All regression tests pass.
* The big leap. Most instances of gpsd_report are replaced...Eric S. Raymond2014-08-271-6/+6
| | | | | | | | | | | | | | | | ...with calls to gps_notify(), which indirects to its output method through a slot in an errout structure. Usually the errout structure lives inside the session context, but because struct errout_t is its own thing this does not have to be the case. One large clique of gpsd_notify() calls, in packet.c and isgps.c, looks at a struct errout_t copy in a lexer control block This change is not complete. Remnant gpsd_report calls need to be changed, and gpsmon needs to be tweaked so that the struct_error_t in its context is a non-defaukt hook updating the cuses display rather than simply dumping to stderr. Also the report label functionality needs to be added. All regression tests pass.
* Introduce struct errout_t to encapsulate error-reporting hooks.Eric S. Raymond2014-08-271-6/+6
| | | | | | A major step towards eliminating reverse linkage. All regression tests pass.
* Structure member name change: packet -> lexer. No logic changes.Eric S. Raymond2014-08-271-2/+2
| | | | All regression tests pass.
* Clean up some timebase assumptions (code not yet used).Eric S. Raymond2014-08-261-12/+11
|
* Recreare the driver union, curtting per-device storage requirements.Eric S. Raymond2014-08-241-2/+2
| | | | | | | This time, the NMEA privarte storage is outside the union, so mode-switching won't step on stuff. All regression tests pass.
* Add more clarifications in commentsSanjeev Gupta2013-12-051-2/+18
| | | | | | | Hopefully, future developers will understand why things were done this way. Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
* Clean language, typosSanjeev Gupta2013-12-051-28/+28
| | | | Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
* Add a NASA link, and some clarificationsSanjeev Gupta2013-11-281-2/+6
| | | | Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
* Write a lengthy sidebar on why leap seconds existSanjeev Gupta2013-11-281-0/+74
| | | | | | | | I am not sure where this should be, but I do not think this documentation is of direct use to users. Hence I am adding it to timebase.c , for developers. Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
* Refactor NMEA0183 century handling.Eric S. Raymond2013-11-271-0/+25
| | | | | | | No logic changes. All regression tests pass. The real point here is to get all the code for time-related edge cases into timebase.c so it can be reviewed as a unit.
* Documentation on what we are trying to achieveSanjeev Gupta2013-11-261-11/+12
| | | | Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
* RAM -> NVRAM.Eric S. Raymond2013-11-261-1/+1
|
* Get vertical error position and speed estimates from the u-blox driver.Pavel Kirienko2013-11-261-5/+7
| | | | | That is, rather than having to interpolate them. This required two regression-test rebuilds in obvious places.
* Typo fix.Eric S. Raymond2013-11-261-1/+1
|
* Change gpsd_report to no longer use a global. All regression tests pass.Eric S. Raymond2013-09-291-4/+8
| | | | | | | | 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.
* Keep adding detail about time problems.Eric S. Raymond2013-09-281-3/+3
|
* More about time constraints.Eric S. Raymond2013-09-281-1/+6
|
* Caveat about PPS accuracy.Eric S. Raymond2013-09-271-7/+9
|
* More about time.Eric S. Raymond2013-09-271-3/+3
|
* Note that NTP could be erroneous too.Eric S. Raymond2013-09-271-2/+4
|
* Add a warning by Andy Walls.Eric S. Raymond2013-09-271-1/+2
|
* Add some reassurance about NTP.Eric S. Raymond2013-09-271-1/+7
|
* Fix static-checker warnings. All regression tests pass.Eric S. Raymond2013-04-301-2/+1
| | | | | cppchecker now finds variables that could have reduced scope; that's most of these.
* Re-enable week rollover check. All regression tests pass.Eric S. Raymond2013-01-221-3/+1
|
* splint cleanup.Eric S. Raymond2013-01-221-0/+2
|
* Forcing UTC lets us simplify some code. All regression tests pass.Eric S. Raymond2013-01-151-6/+2
|
* Move the timezone swetting to where we keep our assumptions abouut time.Eric S. Raymond2013-01-151-0/+7
|
* Nuke trailing whitespace in C source.Eric S. Raymond2012-09-071-10/+10
|
* Fix the leap seconds notify.Michael Tatarinov2012-06-261-3/+0
| | | | Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
* Cleanup motivated by new cppcheck with more tests. All regression tests pass.Eric S. Raymond2012-05-161-1/+1
|
* Typo fix.Michael Tatarinov2011-10-141-1/+1
| | | | Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
* The GPS time rollover check fires too often. Disable until we figure out why.Eric S. Raymond2011-10-091-0/+2
|
* splint cleanup. All regression tests pass, code splints clean.Eric S. Raymond2011-06-241-1/+1
|
* Move all test log dates to yyyy-mm-dd.Eric S. Raymond2011-06-231-4/+5
| | | | | Trying to remember that these used a non-ISO8601 date format was driving me nuts. All regression tests pass.
* Make gpsdecode interpret "Date:" comments. All regression tests pass.Eric S. Raymond2011-06-231-0/+23
|
* Yet more double->timestamp_t moves.Eric S. Raymond2011-03-101-7/+7
| | | | | | All tests pass. These are didfficult to spot because the compiler actually doesn't care about the distinction btween the source and result type of a typedef.
* Address Berlios tracker bug #17951 FTBFS with disabled nmea.Eric S. Raymond2011-02-221-0/+2
|
* Remove a dependency on the leapseconds table being correct.Eric S. Raymond2011-02-021-31/+0
| | | | (Also, fix it up sop it *is* correct, in case we want it someday.)
* splint cleanup.Eric S. Raymond2011-01-281-1/+1
|
* Compensate for century rollover in NMEA.Eric S. Raymond2011-01-211-1/+7
| | | | | | Contains the hidden assumption that dates to be merged will always be presented in monotonically increasing order. If this ever fails to be the case near a century turnover, you're screwed.
* Yet more time refactoring. All regression tests pass.Eric S. Raymond2011-01-211-30/+15
| | | | Tricky surgery in progess, that's why I'm doing lots of small commits.