summaryrefslogtreecommitdiff
path: root/driver_navcom.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Refactor serial ntpshm_put() calls.Eric S. Raymond2010-04-121-0/+3
| | | | | | | | | | | | | | | 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-10/+10
| | | | | | | | | | | | | | | | | 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.
* Drivers now put their per-packet new data into a session->newdata member.Eric S. Raymond2010-04-051-29/+29
| | | | | | | This is so they won't overwrite session->gpsdata.fix, which is going to move back to being where the current fix has been reported. All regression tests pass.
* Vanish away Id and Rev $ keywords, git won't expand them to anything useful.Eric S. Raymond2010-03-131-5/+4
|
* Copyright stamps everywhere. No code changes.Eric S. Raymond2010-03-111-3/+5
|
* Fix an erroneous flags set that was breaking a regression test.Eric S. Raymond2009-11-231-1/+4
|
* Undo a mistaken commit.Eric S. Raymond2009-11-201-1/+1
|
* Include the whole config file in gpsd.h.Eric S. Raymond2009-11-201-1/+0
| | | | | | | That is, instead of sectioning out two little config defines and putting them in. This makes gpsd.h self-copntained (e.g. in case it gets installed as a library header) and means we can get rid of most inclusions of it.
* Mac OS X cleanup passes from mledford.Eric S. Raymond2009-11-191-1/+1
|
* Fix some whitespace glitches found while experimenting with indent(1).Eric S. Raymond2009-11-171-1/+1
| | | | All regression tests pass.
* Splint pacification, part 2.Eric S. Raymond2009-10-261-0/+4
|
* In the wake of the change to use only C99 fixed-length types... Eric S. Raymond2009-10-261-6/+8
| | | | ...splint needs some pacifying. This is part 1. All regressions pass.
* Address Berlios tracker bug #16299: Eric S. Raymond2009-10-121-87/+87
| | | | | Solaris lacks u_int*_t typedefs. Switch to the C99 standard ones. All regression tests pass.
* The new instrumentation pays off. Eric S. Raymond2009-10-021-9/+1
| | | | | | | On NMEA devices, mode could sometimes be held across cycles when it shouldn't have been. Fix this, simplifying how cycles are tracked in the process. Some regression tests needed rebuilding. Code splints clean.
* Fix a paste-o that made its way into many LOG_DATA format strings.Eric S. Raymond2009-10-021-2/+2
|
* My bright idea to use timestamp() to set skyview times backfired... Eric S. Raymond2009-10-021-4/+4
| | | | | ...making the regression tests nondeterministic. Oh well. Fixed. All drivers now use the LOG_DATA convention.
* Clear up some driver-level confusion surrounding timestamp setting.Eric S. Raymond2009-10-011-12/+10
| | | | | | | | There was lots of duplicative setting of gpsdata.fix.time and gpsdata.sentence_time. The latter is now gone. The only case the sentence_time member was actually used for was timestamping skyviews; a new gpsdata.skyview_time now handles that, and all drivers set it properly.
* Change some legends in printf strings...Eric S. Raymond2009-10-011-1/+1
| | | | ...to match the satellites->satellites_visible change.
* In the gpsdata structure, satellites -> satellites_visibleEric S. Raymond2009-10-011-2/+2
| | | | All regression tests pass, code splints clean.
* More DATA_LOG adaptations. All regression tests pass. Code splints clean.Eric S. Raymond2009-10-011-16/+32
|
* Remove a comment describing a dodgy calculation...Eric S. Raymond2009-10-011-3/+0
| | | | ...that I removed in my second to last commit.
* Fix computation of epx and epy from eph.Eric S. Raymond2009-09-301-14/+9
| | | | | Factor of 1/sqrt(2) has to be applied (on the assumption that epx and epy are equal).
* Refactor the cycle-end tracking. The AIS machinery should use it.Eric S. Raymond2009-09-301-1/+1
| | | | All regression tests pass.
* splint and instrumentation cleanup.Eric S. Raymond2009-09-281-1/+1
| | | | All regression tests pass, code splints clean.
* Setting members of the driver state function during a wakeup event... Eric S. Raymond2009-09-281-4/+3
| | | | | | ...turns out to be a Really Bad Idea - setting physical port 0xff for the Navcom driver made the SiRF driver think several state flags were set, leading to it not interpreting MND sentences!
* Change the driver event set to be more orthogonal.Eric S. Raymond2009-09-161-1/+5
| | | | | | | | | | | This had the expected effect, the N command can now works on SiRFs again because the subdevice probe is not called after every driver switch. One of the Trimbles has minor regression breakage on this change (two fewer reports emitted just after packet lock) but I'm not worrying about that as the TSIP driver needs to be upgraded to do CYCLE_END, anyway.
* Enforcing single-point-of-truth pays off; this changes eliminates spuriousEric S. Raymond2009-09-151-3/+4
| | | | generation of a GSA in the pseudo-"raw" NMEA output.
* Begin using clear_dop to ensure that gpsd never reports stale DOP values.Eric S. Raymond2009-09-151-15/+6
| | | | All regression tests pass.
* Give DOPs their own structure...Eric S. Raymond2009-09-151-14/+14
| | | | | | ...mainly because there will shortly be code to clear it as a unit. Pure refactoring step; all regression tests pass, splint gives no warnings.
* Fold the probe_wakup method into the new generic lifetime-event hook. Eric S. Raymond2009-09-131-23/+20
| | | | | | | This finishes the bug refactoring; now we're ready to do actual behavior changes. Codebase splints clean. All regression tests pass.
* Fold the revert method into the generic event hook.Eric S. Raymond2009-09-131-2/+0
| | | | | Abolish the wrapup method; there were only two users, one was trivial, and the other belonged as a revert.
* The configurator member becomes event_hook. Eric S. Raymond2009-09-131-4/+3
| | | | | | | | | | | | | Code that referenced the sequence number argument now looks at session->packet_counter directly. This was almost a pure refactoring step. I added one obviously missing session->packet.counter == 0 test in the oncore driver. Despite temptation, I didn't try to fix when the packet.counter gets zeroed; I'm going to try to confine the behavior changes to one concise patch, which hasn't happened yet. Codebase splints clean. All regression tests pass.
* Merge the configurator and probe_subtype methods. Eric S. Raymond2009-09-131-4/+4
| | | | | | | They're now distinguished by an event argument passed to the common hook function. This is a refactoring step - later, we'll define more and different events for finer-grained control. All regression tests pass.
* Correct some splint annotations.Eric S. Raymond2009-09-111-1/+1
| | | | | The codebase now splints completely clean - no errors, no warnings, no splint croaking on include files it can't handle.
* Guard some inclusions that splint doesn't like. Eric S. Raymond2009-09-101-0/+2
| | | | No effect on compilation. All regression tests pass.
* Son of the Splint Cleanup.Eric S. Raymond2009-09-101-1/+1
| | | | | Major change in this set is enforcong consistency about the data type of serial parity information.
* Reliable cycle-start indication for almost all drivers.Eric S. Raymond2009-09-091-1/+10
| | | | | Some regression tests needed to be rebuilt as a result. One new regression test, for iTalk binary.
* Now make it possible for a driver to signal cycle start, cycle end, ... Eric S. Raymond2009-09-031-1/+1
| | | | | and the fact that its cycle end indication is reliable. All regression tests pass.
* Break the cycle-start flag out of general status mask into its own field.Eric S. Raymond2009-09-031-1/+2
| | | | Refactoring step, no behavior changes. All regression tests pass.
* Split eph into epx and epy internally... Eric S. Raymond2009-09-031-2/+3
| | | | | | ...but still report eph by re-mixing them in the JSON dumper. This was worth doing because all regression tests still pass, showing that visible behavior for old-protocol users gas not changed.
* Major rearrangement of device members in struct gpsdata_t... Eric S. Raymond2009-08-231-3/+3
| | | | | ...documented in the protocol-transition white paper. All regression tests pass.
* Abolish device classes. Eric S. Raymond2009-08-101-1/+0
| | | | | | That way of doing things coped poorly if, for example, NMEA and AIVDM packets were reported over the same wire. Instead, have ach device track the packet types it has actually seen and dispatch on that.
* Add and document the device_class member, so we can do ?DEVICES properly.Eric S. Raymond2009-07-241-0/+1
|
* change the signal strength member to float.Chris Kuethe2009-06-221-1/+1
| | | | | | it can store all integer values we're likely to see, plus the floating point values that some protocols use in their raw measurement messages. regression tests still pass.
* .cycle_chars is gone, replaced by min_cycle.Eric S. Raymond2009-03-071-3/+3
|
* Remove 'cycle' member from device structure. Eric S. Raymond2009-03-071-1/+0
| | | | | | | It was only ever being set to constant 1. Instead, we keep the current cycle in gpsdata and initialize it in gpsd_init(). This makes no behavioral changes, but clears the decks for better handling of rate switchers.
* Compiler warning and partial splint cleanup.Eric S. Raymond2009-03-061-1/+0
|
* Support --disable-controlsendEric S. Raymond2009-03-061-89/+92
|
* Simplify the way ALLOW_RECONFIGURE works.Eric S. Raymond2009-03-061-7/+6
| | | | | | | | | | It now conditions out the speed-switcher, mode-switcher, and rate-switcher methods of the driver structure entirely. This makes it possible to condition out whole functions (rather than small bits that do device writes) almost everywhere. Build tested with ALLOW_RECONFIGURE off. This improvement should make the embedded people happy.
* make sure that the Id keyword is present and expandedChris Kuethe2009-03-031-0/+1
|