summaryrefslogtreecommitdiff
path: root/driver_proto.c
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|
* sirfmon -> gpsmon name change.Eric S. Raymond2009-02-171-1/+1
|
* Format driver sends through a common message buffer.Eric S. Raymond2009-02-161-2/+11
| | | | | Use this to let sirfmon snoop the content of each message just after it's generated.
* All driver method tables are now const.Eric S. Raymond2009-02-121-1/+1
| | | | | | | This required moving one field, the modifiable cycle time, into the session structure; the driver type field is now the default value set on switching to that driver, if the field has not already been set during a previous activation.
* Add a packet_type member to the device structure. Eric S. Raymond2009-02-081-0/+2
| | | | | | This is so we can easily map from a driver to its binary packet type. gpsctl uses this to check whether a mode change has succeesded; no changes to gpsd logic. All regression tests pass.
* Explanatory comments and one magic-number elimination.Eric S. Raymond2009-02-071-0/+5
|
* Magic-number elimination.Eric S. Raymond2009-01-291-12/+4
|
* add some extra decoder trace messagesChris Kuethe2009-01-241-0/+3
|
* more little fixesChris Kuethe2009-01-241-0/+11
|
* more fixes to make this useful as a driver templateChris Kuethe2009-01-241-59/+60
|
* some fixes to make this a little more find-n-replace friendly.Chris Kuethe2009-01-241-26/+20
|
* Refactor sending of control strings.Eric S. Raymond2009-01-061-6/+7
| | | | | | | | Most drivers now have a control_send method that takes a payload. provides whatever checksuming and leader/trailer bytes are needed, and ships it to a specified active device. This change should not alter any behavior. All regression tests pass.
* Add a wrapper function around gpsd_hexdump to avoid hexdumping buffers...Chris Kuethe2008-12-271-2/+2
| | | | | | | | ...and copying ascii strings around when they're not going to be printed. This saves quite a lot of CPU. I processed a 50MB ubx binary file. With no "-D" options, this saved nearly 2.2M calls to gpsd_hexdump and the processing time for this file went from 84 seconds to 35 seconds.
* 'typename' is a reserved word in C++. Gary E. Miller2008-01-191-1/+1
| | | | | Change to 'type_name' so gpsd pieces can be used with C++. Reported by Matt Roberds <mattroberds@cox.net>.
* fix my fix of satellite info parsingChris Kuethe2007-12-271-2/+4
|
* fix the logic for checking satellite statusChris Kuethe2007-12-261-15/+20
|