| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
Add macros for classifying PRNs into GPS, GLONASS, DGPS. Document the PRN
ranges on the gps_json manual page.
It turns out that U.S. GPS authorities reserve 1-64 for GPS birds, not just
1-32. So the way we map GLONASS PRNs had to change. This required a
regression-test rebuild for the geostar driver.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
*_SET masks are library-side and for the set member of the fisx structure.
*_IS masks are daemon-side and used only in the status mask returned by the
packet analyzer methods, and code in the core library that uses same. Never the
twain shall meet.
All regression tests pass.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
| |
Patch from Benoit Donnette. Still needs the proper fudge.
|
| |
|
| |
|
|
|
|
|
| |
Replace it wuth what it calls, gpsd_write(). Requiresd only a prototype
tweak and some casts, no logic changes. All regression tests pass.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The first thing I had to do to make RTCM work at all, was to remove
the separate poll for the socket (the change in gpsd.c). The same
stuff is done in consume_packet, so there is no loss here. In fact the
duplicated read caused constant lock losses on the RTCM stream because
of missing data, which was already read by the now removed read.
Add RTCM2 passthrough to the UBX driver: versions of the firmware since 7.0
can handle this.
The change in net_ntrip.c adds another string to the valid strings for
rtcm2 to be recognized. See:
http://www.sapos-ni-ntrip.de:2101/sourcetable.htm for the sourcetable
of the server. The mountpoint I am using is EPS_NI. The problem is
the RTCM1_ data format. The people from sapos confirmed, that this is
a RTCM2 stream and so far it works.
All regression tests pass.
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
|
| |
|
| |
|
|
|
|
| |
All regression tests pass.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
All regression tests pass.
|
| |
|
| |
|
|
|
|
|
|
|
| |
So we can grep for things that need to be cleaned up without a
lot of noise.
All regression tests pass.
|
|
|
|
|
| |
Most of the bulk of this one is the xgpsspeed code, which was not
formerly incldecd in reindenting.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
sesion->context.
|
| |
|
| |
|
|
|
|
|
| |
protocols. They are still broken, HAVE been broken for a while
as shown by jumping leap seconds.
|
|
|
|
|
| |
SiRF had. ubx probably the same. So pulled the 50BPS parity checking
into a common subroutine for common use.
|
| |
|
|
|
|
| |
All regression tests pass. Codebase splints and cppchecks clean.
|
| |
|
|
|
|
|
| |
Also, print the receiver channel and source PRN to help
with decoder comparisons between different protocols
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|