summaryrefslogtreecommitdiff
path: root/driver_proto.c
Commit message (Collapse)AuthorAgeFilesLines
* Refactor sending of control strings.Eric S. Raymond2009-01-061-6/+7
| | | | | | | | 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.
* Add a wrapper function around gpsd_hexdump to avoid hexdumping buffers...Chris Kuethe2008-12-271-2/+2
| | | | | | | | ...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.
* 'typename' is a reserved word in C++. Gary E. Miller2008-01-191-1/+1
| | | | | Change to 'type_name' so gpsd pieces can be used with C++. Reported by Matt Roberds <mattroberds@cox.net>.
* fix my fix of satellite info parsingChris Kuethe2007-12-271-2/+4
|
* fix the logic for checking satellite statusChris Kuethe2007-12-261-15/+20
|
* Pull the device_readonly variable into the global context structure.Eric S. Raymond2007-06-011-4/+0
| | | | | | | 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.
* don't try to write if device_readonly is set.Chris Kuethe2007-04-061-0/+4
|
* More updates to the driver skeleton, like sample message decoders.Chris Kuethe2007-01-101-64/+258
| | | | | | 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.
* Check in regress-builder, after having used it to detect some minor buildEric S. Raymond2006-11-301-1/+1
| | | | problems created by the last big refactoring patch.
* Change the configurator method to take a packet sequence number argument...Eric S. Raymond2006-11-271-1/+1
| | | | ...the same way probe_subtype does, and for the same reason.
* Mick Durkin's second round.Eric S. Raymond2006-11-201-5/+43
|
* Explanatory comments by Mick Durkin, with a few corrections.Eric S. Raymond2006-11-201-26/+62
|
* update the driver skeleton. from petr slanskyChris Kuethe2006-11-141-1/+1
|
* Split wrapup method into revert and wrapup. The revert method is onlt calledEric S. Raymond2006-11-141-0/+5
| | | | if configuration is enabled.
* Cosmetic changes to go with Mick Durkin's document.Eric S. Raymond2006-11-071-24/+13
|
* Define uniform log level macros.Eric S. Raymond2006-11-021-3/+3
| | | | | | | | | | | | | | | | | | | | | | 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.
* Rename some methods for clarity.Eric S. Raymond2006-10-301-3/+3
|
* Split the "initializer" driver method in two.Eric S. Raymond2006-10-301-1/+6
| | | | | | | | | | | 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.
* Rename config.h so it can be installed as gpsd_config.h...Chris Kuethe2006-10-261-1/+2
| | | | | | ...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
* Add a new capability to the generic driver structure: wakeup...Eric S. Raymond2006-10-261-0/+1
| | | | | | | | | | ...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.
* Add subversion ID tags near the beginning of every file.Chris Kuethe2006-09-211-0/+1
| | | | First line where possible, second line for scripts called with #!
* Document the fact that the channels member is no longer used for parsing.Eric S. Raymond2006-08-211-1/+1
|
* True North support integrated.Eric S. Raymond2005-08-011-0/+1
| | | | | | 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.
* Use gpsd_hexdump().Eric S. Raymond2005-07-191-25/+6
|
* Switch to using C99 initializers everywhere.Eric S. Raymond2005-07-161-13/+13
|
* Architecture extension; handle variable sample rates.Eric S. Raymond2005-07-111-1/+3
|
* First cut at iTrax and iTalk support.Eric S. Raymond2005-07-111-2/+2
|
* Add a driver-prototype file. Clean up and fix RTCM passthrough.Eric S. Raymond2005-07-081-0/+147