| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
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.
|
|
|
|
| |
sesion->context.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Conflicts:
driver_proto.c
|
| |
|
|
|
|
| |
...converting where appropriate to git references.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
...to match the satellites->satellites_visible change.
|
| |
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
SiRF was holding stale DOPs for too long, sometimes leading to
overly-optimistic error estimates.
|
| |
|
|
|
|
|
|
| |
...mainly because there will shortly be code to clear it as a unit.
Pure refactoring step; all regression tests pass, splint gives no
warnings.
|
| |
|
|
|
|
|
|
|
| |
This finishes the bug refactoring; now we're ready to do actual
behavior changes.
Codebase splints clean. All regression tests pass.
|
|
|
|
|
| |
Abolish the wrapup method; there were only two users, one
was trivial, and the other belonged as a revert.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
No effect on compilation. All regression tests pass.
|
|
|
|
|
| |
Some regression tests needed to be rebuilt as a result.
One new regression test, for iTalk binary.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|