| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
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>.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Note that the implementation is now somewhat different. Before, this
flag prevented low-level writes to the device. Now it prevents operations
that could *cause* low-level writes -- notably subtype probes, mode
changes, and baud-rate changes.
|
| |
|
|
|
|
|
|
| |
Some parts are mine, others are from Mick Durkin. There is more to do
but this adds some nice hints for the next sucker^Wbrave soul who must
battle a binary protocol.
|
|
|
|
| |
problems created by the last big refactoring patch.
|
|
|
|
| |
...the same way probe_subtype does, and for the same reason.
|
| |
|
| |
|
| |
|
|
|
|
| |
if configuration is enabled.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch defines a uniform set of log levels and changes all gpsd_report()
instances to use them. In most cases (I'd say about 80%) this will make
no observable difference, as the numeric log levels the code was using were
not too badly inconsistent anyway. The new log level macros are defined
and described in gpsd.h.
The main thing I wanted was to be able to consistently force dumping
of all I/O to devices and clients with -D 4. Some drivers didn't honor
this. One or two still may not through lack of an internal write() wrapper
that does logging; there will need to be some followup changes.
Level 0 messages are always displayed, but to make the semantics clearer
there are two defines LOG_ERR and LOG_SHOUT.
Level 5 is still super-raw I/O reporting. Level 6 and 7 messages are
tagged RAW_LOG+1 and RAW_LOG+2; I was particularly careful about these
because we have one report of a user who is getting good results from
Garmin serial only at -D 7 or up, and perish forbid I should interfere
with that bug being found.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
There is now a new method, "configurator". The initializer method
probes the driver for subtype information (such as a firmware rev)
without changing any device settings. The configurator method does
things like selecting which packets should send.
At the moment, these two methods are always called in tandem, so there
has been effectively no change in behavior. Soon, though, gpsctrl
will call the initializer method but *not* the configurator.
|
|
|
|
|
|
| |
...for those who want to build their own apps linked against libgps and
want the headers to work. Works on OpenBSD, tested by Jeff Francis on
OS X and Linux
|
|
|
|
|
|
|
|
|
|
| |
...a function to be called just after the autobaud hunt sets the line
speed each time. Use this to get rid of the internal baud hunt loop
in the True North driver; instead, the ID query and rate-setting
strings will be sent by the wakeup hook.
Note: this patch is untested. I'm pretty certain it will work, but
somebody needs to try it on live hardware.
|
|
|
|
| |
First line where possible, second line for scripts called with #!
|
| |
|
|
|
|
|
|
| |
It's not compiled in by default, but it does require one architecture
change -- device channels is now a driver- specific capability, since
the Thales GPS our TrueNorth user is working with has 14 channels.
|
| |
|
| |
|
| |
|
| |
|
|
|