summaryrefslogtreecommitdiff
path: root/driver_italk.c
Commit message (Collapse)AuthorAgeFilesLines
* FIXME -> FIX-ME, so I can walk through these without tripping over autotools.Eric S. Raymond2010-04-261-1/+1
|
* Reindent. All regression tests pass.Eric S. Raymond2010-04-261-7/+8
| | | | | Most of the bulk of this one is the xgpsspeed code, which was not formerly incldecd in reindenting.
* Clear DOPs only when we get a skyview report.Eric S. Raymond2010-04-201-1/+0
| | | | | | | | | | | | | | | 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-6/+9
| | | | sesion->context.
* use a more descriptive compilation conditionalChris Kuethe2010-04-181-1/+1
|
* get rid the ancient itrax02 protocol "support"Chris Kuethe2010-04-181-133/+0
| | | | | i seem to be the only gpsd user with any sort of itrax receiver, and it's itrax3.
* again with the grabbing bytes in the right orderChris Kuethe2010-04-171-21/+4
|
* Condition out recent change to 50BPS handling in italk and ubxGary E. Miller2010-04-171-2/+4
| | | | | protocols. They are still broken, HAVE been broken for a while as shown by jumping leap seconds.
* Tests by Chris Keuthe show that itrax has the same 50BPS issues asGary E. Miller2010-04-161-2/+7
| | | | | SiRF had. ubx probably the same. So pulled the 50BPS parity checking into a common subroutine for common use.
* Collapse various copies of gps_week into one in gps_contxt_t.Gary E. Miller2010-04-161-0/+3
|
* Reindent some of the simpler drivers. All regression tests pass.Eric S. Raymond2010-04-141-111/+124
|
* Protect more displayed structures from indent.Eric S. Raymond2010-04-131-0/+2
|
* Cosmetic glitches found while testing reindenting.Eric S. Raymond2010-04-131-3/+3
|
* Refactor serial ntpshm_put() calls.Eric S. Raymond2010-04-121-0/+6
| | | | | | | | | | | | | | | 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-15/+15
| | | | | | | | | | | | | | | | | 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-18/+18
| | | | | | | 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.
* Fix building with --disable-reconfigurePaulius Zaleckas2010-03-281-2/+2
| | | | Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
* Vanish away Id and Rev $ keywords, git won't expand them to anything useful.Eric S. Raymond2010-03-131-2/+1
|
* Copyright stamps everywhere. No code changes.Eric S. Raymond2010-03-111-2/+5
|
* Integrated cppcheck testing, and fixed some minor bugs found by it.Eric S. Raymond2010-02-161-1/+0
|
* 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-8/+8
| | | | All regression tests pass.
* 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.