summaryrefslogtreecommitdiff
path: root/driver_italk.c
Commit message (Collapse)AuthorAgeFilesLines
...
* In the wake of the change to use only C99 fixed-length types... Eric S. Raymond2009-10-261-13/+15
| | | | ...splint needs some pacifying. This is part 1. All regressions pass.
* Improve the output from the iTalk... Eric S. Raymond2009-10-051-2/+2
| | | | | ...by raising end-of-cycle on the navfix sentence rather than the PRN-status sentence.
* The new instrumentation pays off. Eric S. Raymond2009-10-021-8/+3
| | | | | | | 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-6/+4
| | | | | | | | 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-4/+3
|
* Adapt some drivers to use the new LOG_DATA level. All regression tests pass.Eric S. Raymond2009-09-301-27/+58
|
* Fix computation of epx and epy from eph.Eric S. Raymond2009-09-301-2/+4
| | | | | 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.
* 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.
* Using clear_dop() means we can get rid of instances of several different flags.Eric S. Raymond2009-09-151-1/+1
| | | | All regression tests pass.
* Begin using clear_dop to ensure that gpsd never reports stale DOP values.Eric S. Raymond2009-09-151-0/+1
| | | | All regression tests pass.
* Give DOPs their own structure...Eric S. Raymond2009-09-151-5/+5
| | | | | | ...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-10/+8
| | | | | | | 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-4/+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-8/+6
| | | | | | | | | | | | | 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-6/+6
| | | | | | | 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/+6
| | | | | 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-1/+1
| | | | | | ...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-8/+8
| | | | | ...documented in the protocol-transition white paper. All regression tests pass.
* 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-0/+2
|
* correct word-mangling magic. Chris Kuethe2009-07-091-11/+17
| | | | | | subframes now decode meaningfully, insofar as the leap second output is correct and the linenoise that passes for the gps system message matches the output from other receivers running at the same time.
* italk can do raw subframe output tooChris Kuethe2009-07-091-1/+36
|
* 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-16/+15
|
* 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.
* Support --disable-controlsendEric S. Raymond2009-03-061-21/+27
|
* Simplify the way ALLOW_RECONFIGURE works.Eric S. Raymond2009-03-061-22/+7
| | | | | | | | | | 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.
* Use portable memset() rather than non-portable bzero(). Eric S. Raymond2009-03-051-1/+1
| | | | Partial splint cleanup.
* I have no idea what crack-addled rhesus monkey wrote this crap but it's wrong.Chris Kuethe2009-03-051-1/+3
| | | | | | | | | | | Oh wait, that was me. Not sure what I was thinking but "0xffff ^ getub(buf, 7 + 16)" makes no sense. It's the wrong place to look for the number of PRNs used, and the wrong size too - none of the elements in the message are bytes, they're 16-bit or 32-bit. I think this may be where my bus error in dop() was coming from. According to gdb, somehow satellites_used was in the 65k range.
* The itrax03 is a 12-channel receiver. so say all the spec sheets... Chris Kuethe2009-03-041-2/+2
| | | | | yet i'm getting at least 13 SV reports, and that's not counting WAAS birds. maybe they meant "12 GPS channel + a few more for WAAS"
* fix another bug in the italk decoder. Chris Kuethe2009-03-041-1/+3
| | | | | | bad PRN_STATUS messages can cause gpsd to run off the end of allocated space for SV info leading to a bus error later on when we try recalculate the DOPs.
* all this time, we've only been counting half the SVsChris Kuethe2009-03-041-2/+2
|
* repository beautification, part 2:Chris Kuethe2009-03-021-0/+527
rename the packet drivers to driver_$(protocol).c