| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Returns us to something amost identical to the original code.
Sigh. Timezones are a swamp.
All regression tests pass.
|
|
|
|
| |
Dependency soon to be fixed. All regression tests pass.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...with calls to gps_notify(), which indirects to its output method
through a slot in an errout structure. Usually the errout structure
lives inside the session context, but because struct errout_t is its
own thing this does not have to be the case. One large clique of
gpsd_notify() calls, in packet.c and isgps.c, looks at a struct
errout_t copy in a lexer control block
This change is not complete. Remnant gpsd_report calls need to be changed,
and gpsmon needs to be tweaked so that the struct_error_t in its context
is a non-defaukt hook updating the cuses display rather than simply
dumping to stderr. Also the report label functionality needs to be added.
All regression tests pass.
|
|
|
|
|
|
| |
A major step towards eliminating reverse linkage.
All regression tests pass.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
|
| |
Required a regression-test rebuild, of course. The field is still set by
the TSIP and SiRF drivers; the SiRF driver actually uses it. It may be
possible to eliminate the TSIP uses, but so far attempting this has
produced odd regression-test failures.
|
|
|
|
|
|
|
|
| |
This is a large, ugly change. But without it we can't troubleshoot the
ICP/IP-source initialization bug properly - colliding definitions of
gpsd_report() were interfering with error reporting early in gpsd runs.
More cleanup work remains to be done, but at least this is working.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This awkward construct seems to have triggered some sort of toolchain
bug. The symptom is that gpsd_hexdump_level has different values depending
on whether we test it inside or outside of hex.c.
As a first step towards eliminating this global, we throw out a bunch
of hex logging that is duplicative or not really needed for production
drivers. Experimental drivers can call the hex dumper unconditionally.
The goal is to reduce the number of uses of this variable to eliminate it
withoud doing violence to the internal APIs. This is a first step.
All regression tests pass.
|
|
|
|
|
| |
...and guard them with debug level so they won't be done when the output would
never be shipped anywhere.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Required so clients looking at flag masks in data exported via the shared-memory
interface will see the right thing.
These were separated originally in order to avoid pushing the reqyuired width
of the gpsdata.set flag mask over 32 bits. It became 64 bits in the Version 5
API change, so that constraint went away.
All regression tests pass.
|
|
|
|
| |
All regression tests pass, splint passes.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Duh. I previously implemented it and iniitialized it prperly, then forgot
to actually use it instead of CENTURY_BASE. Soon this will matter because
I'm going to implement some heuristics for limited trust in the system clock.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Factor of 1/sqrt(2) has to be applied (on the assumption that epx and
epy are equal).
|
|
|
|
|
|
| |
This makes each packet handler dump the fields that it touched and the
validity mask. The NMEA, Evermore, and GTXT drives now use this. No
behavior changes. All regression tests pass.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
| |
No effect on compilation. All regression tests pass.
|
|
|
|
|
| |
and the fact that its cycle end indication is reliable. All
regression tests pass.
|
|
|
|
| |
Refactoring step, no behavior changes. All regression tests pass.
|
|
|
|
|
|
| |
...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.
|
| |
|
| |
|
| |
|
| |
|
|
rename the packet drivers to driver_$(protocol).c
|