summaryrefslogtreecommitdiff
path: root/driver_evermore.c
Commit message (Collapse)AuthorAgeFilesLines
* Typo fix in Evermore switch guard - won't affect normal operation.Eric S. Raymond2018-12-261-1/+1
|
* LICENSE: Update licenses for consistency. No functional changes.Gary E. Miller2018-11-191-1/+1
|
* rawdata_t: Change data structure.Gary E. Miller2018-10-241-8/+12
| | | | | | The rawdata_t structure was written into, but never read from. So a change to it is low impact. Reorder it to simplify pointer arithmetic. In preparation for more changes.
* driver_evermore: report ECEF in TPV.Gary E. Miller2018-06-171-7/+11
|
* SPDXify the licerse references.Eric S. Raymond2018-03-081-1/+1
|
* uint was rmoved in C99. If gpsd enforce C99, then uint must go.Gary E. Miller2016-08-151-1/+1
| | | | uint is now unsigned int.
* PPSTIME -> NTPTIMEGary E. Miller2016-04-241-3/+3
| | | | | NTPTIME is from the serial stream, it never had anything to do with PPS and it just confused everyone.
* Address Savannah bug #46082 - Can't explicitly build with NMEA drivers.Eric S. Raymond2015-10-011-2/+2
|
* Retire splint from our set of static analyzers.Eric S. Raymond2015-03-301-21/+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.
* Clean up most spint errors. All regression tests pass.Eric S. Raymond2015-03-281-3/+3
|
* splint cleanup. Fixes for minor but real issues...Eric S. Raymond2015-03-281-2/+2
| | | | | ...no attempt to address the weird cross-platfprm variability we've seen lately. All regression tests pass.
* Fix more splint: Line expects to suppress X errors, found 0 errorsGary E. Miller2015-03-251-3/+3
|
* One of the float-elimination steps busted something. Revert.Eric S. Raymond2015-03-081-6/+6
|
* A step toards float elimination. No code changes.Eric S. Raymond2015-03-081-6/+6
|
* gpsd-report() -> gpsd_log()Eric S. Raymond2015-03-071-45/+46
| | | | | | | | | | | | | | | | 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.
* Back out the attempt to use VTIME.Eric S. Raymond2015-01-311-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to Matthias Drochner at http://lists.lysator.liu.se/pipermail/lsh-bugs/2003q4/000151.html: I thought I'd give lsh a try, just to see how it compares to openssh... The client didn't work well on NetBSD, got a message like "unexpected EWOULDBLOCK" on each keystroke. Looked a bit deeper and found that stdin is set to O_NONBLOCK and a raw tty mode with c_cc[VMIN] > 1 and c_cc[VTIME] > 0. I'll append a little test program which does the same. I've tried it on 3 operating systems (Linux, NetBSD, Digital UNIX), and it behaves differently on each: -on Linux, if a key is pressed, the read returns immediately with that one character -on NetBSD, the read returns with no data but EWOULDBLOCK -on D'UNIX, the poll() doesn't teturn before 4 keypresses are done; the read() returns these 4 characters Indeed, in SUSv2's termios page is a sentence which says that if both O_NONBLOCK and VTIME>0 are set, the behaviour is more or less undefined. I've solved my immediate problems by setting VMIN to 1 instead of 4 in unix_interact.c:do_make_raw(), but VTIME is still pointless, so I wouldn't call this a clean solution. All regression tests pass.
* Add a minimum packet length to every driver.Eric S. Raymond2015-01-291-0/+1
| | | | Length 0 means the minimum is unknown and the driver should use character I/O.
* Now that the transition is done we can restore the gpsd_report name.Eric S. Raymond2014-08-271-15/+15
| | | | All regression tests pass.
* The big leap. Most instances of gpsd_report are replaced...Eric S. Raymond2014-08-271-15/+15
| | | | | | | | | | | | | | | | ...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-15/+15
| | | | | | 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-5/+5
| | | | All regression tests pass.
* 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.
* More consistent ise of LOG_PROG.Eric S. Raymond2013-11-121-1/+2
| | | | This logging level is intended to directly explain accompanying I/O messages.
* Reduce gpsd log verbosity a lot.Eric S. Raymond2013-11-121-2/+2
| | | | | | | | | | Way too much logging was happening at LOG_IO level, which is intended for watching data traffic in and out of the daemon rather than all the minutiae of data analysis - that's LOG_DATA. Also, LOG_DATA gets pushed down two levels. The effect is that -D 5 means exactly what it did, but for purposes other than driver debugging -D 4 now suffices.
* Rename and rationalize driver table instances. No logic changes.Eric S. Raymond2013-11-121-2/+2
|
* cppcheck and Coverity cleanup (not yet complete).Eric S. Raymond2013-11-061-2/+4
| | | | All regression tests pass. PPS is live.
* Fix compiler warnings with clang 4.2 on OS X 10.7.5Beat Bolli2013-11-061-1/+1
| | | | | | | | | | | On OS X, /usr/include/sys/termios.h typedefs speed_t as unsigned long. On Linux, it is an unsigned int. This causes printf() format string warnings. Fix this by down-casting to an unsigned int and using "%u" as format. Also discard a close() result. Signed-off-by: Beat Bolli <bbolli@ewanet.ch> Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
* Contain the assumption that time hinting is done to NTPD.Eric S. Raymond2013-10-311-3/+3
| | | | | | | 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-3/+3
| | | | We'll have to sneak up on this change more slowly.
* Separate ntpd support from chrony support, step 1.Eric S. Raymond2013-10-301-3/+3
| | | | | | | | | | | | | 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.
* More efficiebt sticky-flagging.Eric S. Raymond2013-10-151-1/+1
|
* 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 the logic for managing the drive mode bit to report reality...Eric S. Raymond2013-10-041-2/+0
| | | | ...rather than setting it ad-hoc on a per-driver basis.
* Change gpsd_report to no longer use a global. All regression tests pass.Eric S. Raymond2013-09-291-15/+23
| | | | | | | | 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.
* Disable attempts to parse Evermore binary packets.Eric S. Raymond2013-05-211-1/+5
| | | | | This codse is no longer needed; we just let these devices run in NMEA mode now.
* Disable Evermore binary trigger string so as to leave it in NMEA0183 mode.Eric S. Raymond2013-05-211-1/+1
| | | | | This will prevent gpsd from stuttering back and forth between NMEA and the (relatively useless) Evermore binary mode.
* Fix type extraction for Evermore binary packts.Eric S. Raymond2013-05-211-2/+2
| | | | | This never showed up as a bug before because we allow Evermores to run in NMEA mode in order to get the error modeling right.
* Fix static-checker warnings. All regression tests pass.Eric S. Raymond2013-04-301-7/+6
| | | | | cppchecker now finds variables that could have reduced scope; that's most of these.
* Be explicit about character signedness in some bit-extraction macros.Eric S. Raymond2013-02-181-2/+2
| | | | All regression tests pass.
* Nuke trailing whitespace in C source.Eric S. Raymond2012-09-071-4/+4
|
* Remove a kludge. Affects only the Evermore binary driver.Eric S. Raymond2012-05-301-36/+34
| | | | | | If I botched incrementing any of the offsets, this could break the Evermore binary driver - no way to test that, we don't have a xapture log for it. But the regression tests we do have all pass.
* More steps towards little-endiuan extraction.Eric S. Raymond2012-04-191-2/+2
| | | | All normal regressions tests and the test_bits unit test pass.
* Rename some bit extractors.Eric S. Raymond2012-04-191-2/+2
|
* scan-build seems to have become pickier about what counts as assigned.Eric S. Raymond2012-04-171-1/+2
| | | | This may head off a warning.
* Typo fixes.Eric S. Raymond2011-09-291-2/+2
|
* Remove gpsd_hexdump_wrapper() from everything outside the packet sniffer.Eric S. Raymond2011-06-171-2/+1
|
* Cut down on gpsd_hexdump_wrapper() calls.Eric S. Raymond2011-06-171-11/+4
| | | | | | | | | | | | | | | This awkward construct seems to have triggered some sort of toolchain bug. The symptom is that gpsd_hexdump_level has different values depending on whether we test it inside or outside of hex.c. As a first step towards eliminating this global, we throw out a bunch of hex logging that is duplicative or not really needed for production drivers. Experimental drivers can call the hex dumper unconditionally. The goal is to reduce the number of uses of this variable to eliminate it withoud doing violence to the internal APIs. This is a first step. All regression tests pass.
* Regularize some names.Eric S. Raymond2011-04-011-6/+6
|