| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
All regression tests pass, splint passes.
|
| |
|
|
|
|
|
| |
Replace it wuth what it calls, gpsd_write(). Requiresd only a prototype
tweak and some casts, no logic changes. All regression tests pass.
|
| |
|
| |
|
|
|
|
| |
All regression tests pass.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
ckuethe believes, and the manual seems to confirm, that we don't need to ship
the device a link init because its default is to stream sentences.
|
|
|
|
|
|
| |
With most machines being 64-bit now, the assumption that "word" = 16 bits and
"long" = 32 bits is increasingly archaic. This commit removes it from our
naming conventions.
|
| |
|
| |
|
|
|
|
| |
Doesn't require htons(3) and wacky header magic.
|
| |
|
|
|
|
|
|
|
| |
So we can grep for things that need to be cleaned up without a
lot of noise.
All regression tests pass.
|
|
|
|
| |
after discussion with sanooj
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
superstar2_msg_navsol_ecef is no more. never was. go about your business
|
| |
|
|
|
|
| |
All regression tests pass.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
All regression tests pass.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
All regression tests pass.
|
|
|
|
| |
...splint needs some pacifying. This is part 1. All regressions 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.
|
| |
|
|
|
|
|
| |
...making the regression tests nondeterministic. Oh well. Fixed.
All drivers now use the LOG_DATA convention.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
All regression tests pass, code splints clean.
|