| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Use this to let sirfmon snoop the content of each message just after
it's generated.
|
|
|
|
|
|
|
| |
This required moving one field, the modifiable cycle time, into the
session structure; the driver type field is now the default value set
on switching to that driver, if the field has not already been set
during a previous activation.
|
|
|
|
|
|
| |
This is so we can easily map from a driver to its binary packet type.
gpsctl uses this to check whether a mode change has succeesded; no
changes to gpsd logic. All regression tests pass.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Most drivers now have a control_send method that takes a
payload. provides whatever checksuming and leader/trailer bytes are
needed, and ships it to a specified active device.
This change should not alter any behavior. All regression tests pass.
|
|
|
|
|
|
|
|
| |
...and copying ascii strings around when they're not going to be printed.
This saves quite a lot of CPU. I processed a 50MB ubx binary file. With
no "-D" options, this saved nearly 2.2M calls to gpsd_hexdump and the
processing time for this file went from 84 seconds to 35 seconds.
|
|
|
|
|
| |
Change to 'type_name' so gpsd pieces can be used with C++. Reported
by Matt Roberds <mattroberds@cox.net>.
|
| |
|
| |
|