summaryrefslogtreecommitdiff
path: root/driver_proto.c
Commit message (Collapse)AuthorAgeFilesLines
...
* a bit of armor for variable length packet decodesChris Kuethe2010-05-101-4/+8
| | | | after discussion with sanooj
* Clear DOPs only when we get a skyview report.Eric S. Raymond2010-04-201-5/+9
| | | | | | | | | | | | | | | This solves the disappearing epx/epy bug on SiRFs, but it was actually a systemic problem that affected several drivers. Navigation solution messages were clearing DOPs, making it impossible for the error modeller to compute estimates. New logic: Clear DOPs only when we get a skyview report. They'll be regenerated by our visibility-matrix calculation when the skyview sentence is analyzed. If a sentence from the device supplies a DOP between the time the visibility calculation is done and when the next fix is reported, it will override our computed value. This might change later! This change required a regression-test rebuild.
* Eliminate a lot of private copies of gps_tow for one global copy inGary E. Miller2010-04-181-1/+3
| | | | sesion->context.
* Collapse various copies of gps_week into one in gps_contxt_t.Gary E. Miller2010-04-161-0/+1
|
* Protect more displayed structures from indent.Eric S. Raymond2010-04-131-0/+2
|
* Typo fix.Eric S. Raymond2010-04-121-1/+1
|
* Note some changed behavior.Eric S. Raymond2010-04-121-3/+4
|
* Refactor serial ntpshm_put() calls.Eric S. Raymond2010-04-121-0/+19
| | | | | | | | | | | | | | | 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-12/+12
| | | | | | | 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.
* Refactoring step. Change the signature of ecef_to_wgs84fix().Eric S. Raymond2010-04-051-1/+2
| | | | All regression tests pass.
* Merge branch 'master' of git.berlios.de:/gitroot/gpsdEric S. Raymond2010-03-131-1/+0
| | | | | Conflicts: driver_proto.c
* Vanish away Id and Rev $ keywords, git won't expand them to anything useful.Eric S. Raymond2010-03-131-5/+5
|
* Eliminate more Subversion tracks...Eric S. Raymond2010-03-131-3/+0
| | | | ...converting where appropriate to git references.
* Copyright stamps everywhere. No code changes.Eric S. Raymond2010-03-111-0/+3
|
* 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.
* Fix some whitespace glitches found while experimenting with indent(1).Eric S. Raymond2009-11-171-1/+1
| | | | All regression tests pass.
* The new instrumentation pays off. Eric S. Raymond2009-10-021-8/+7
| | | | | | | 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-1/+1
|
* My bright idea to use timestamp() to set skyview times backfired... Eric S. Raymond2009-10-021-2/+2
| | | | | ...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-1/+3
| | | | | | | | 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.
* Clean up after a name change.Eric S. Raymond2009-10-011-3/+4
|
* Change some legends in printf strings...Eric S. Raymond2009-10-011-1/+1
| | | | ...to match the satellites->satellites_visible change.
* More DATA_LOG adaptations. All regression tests pass. Code splints clean.Eric S. Raymond2009-10-011-0/+17
|
* Refactor the cycle-end tracking. The AIS machinery should use it.Eric S. Raymond2009-09-301-1/+1
| | | | All regression tests pass.
* Change the driver event set to be more orthogonal.Eric S. Raymond2009-09-161-15/+29
| | | | | | | | | | | 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.
* Separate DOP flags are gone.Eric S. Raymond2009-09-151-1/+1
| | | | | SiRF was holding stale DOPs for too long, sometimes leading to overly-optimistic error estimates.
* More clear_dop() calls go in place. All regression tests pass.Eric S. Raymond2009-09-151-0/+1
|
* Give DOPs their own structure...Eric S. Raymond2009-09-151-2/+2
| | | | | | ...mainly because there will shortly be code to clear it as a unit. Pure refactoring step; all regression tests pass, splint gives no warnings.
* Rename event_revert to event_deactivate. No behavior changes.Eric S. Raymond2009-09-131-2/+2
|
* Fold the probe_wakup method into the new generic lifetime-event hook. Eric S. Raymond2009-09-131-21/+14
| | | | | | | 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-18/+10
| | | | | 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-8/+11
| | | | | | | | | | | | | 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-24/+21
| | | | | | | 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.
* Guard some inclusions that splint doesn't like. Eric S. Raymond2009-09-101-0/+2
| | | | No effect on compilation. All regression tests pass.
* Reliable cycle-start indication for almost all drivers.Eric S. Raymond2009-09-091-0/+4
| | | | | 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-0/+7
| | | | | 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-2/+7
| | | | Refactoring step, no behavior changes. All regression tests pass.
* Split eph into epx and epy internally... Eric S. Raymond2009-09-031-1/+2
| | | | | | ...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.
* Abolish device classes. Eric S. Raymond2009-08-101-2/+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-2/+4
|
* more fixes from Hakan JohanssonChris Kuethe2009-07-221-1/+1
|
* fix a bunch of things so this can be used as a driver skeleton again.Chris Kuethe2009-07-151-10/+17
|
* 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.
* Documentation comment tweak.Eric S. Raymond2009-03-071-1/+5
|
* .cycle_chars is gone, replaced by min_cycle.Eric S. Raymond2009-03-071-4/+2
|
* Support --disable-controlsendEric S. Raymond2009-03-061-29/+33
|
* Simplify the way ALLOW_RECONFIGURE works.Eric S. Raymond2009-03-061-5/+5
| | | | | | | | | | 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.
* control_send method is different from a straight write; be clear about this.Eric S. Raymond2009-03-051-3/+3
|
* More steps towards parity/stopbit setting.Eric S. Raymond2009-02-281-2/+7
|