summaryrefslogtreecommitdiff
path: root/tsip.c
Commit message (Collapse)AuthorAgeFilesLines
* Refactor sending of control strings.Eric S. Raymond2009-01-061-0/+1
| | | | | | | | 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.
* More splint cleanup.Eric S. Raymond2009-01-061-1/+1
|
* better types for these fieldsChris Kuethe2009-01-051-6/+6
|
* This diff goes most of the way to getting us splint-clean again.Eric S. Raymond2009-01-051-1/+3
|
* Add a wrapper function around gpsd_hexdump to avoid hexdumping buffers...Chris Kuethe2008-12-271-2/+4
| | | | | | | | ...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.
* also hook up ntpshm in the thunderbolt case. from Scott Mace on time-nuts.Chris Kuethe2008-08-101-0/+4
|
* whitespace fixesChris Kuethe2008-08-031-8/+8
|
* Initial support of Thunderbolt output...Chris Kuethe2008-08-031-12/+89
| | | | | ...mostly from Wayne Knowles on time-nuts. I still haven't figured out a good way to autodetect parity of a serial line.
* Rename big-endian bit extraction macros.Eric S. Raymond2008-07-151-74/+74
|
* emphasize the existence of non-8O1 hardwareChris Kuethe2008-07-131-1/+3
|
* '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>.
* Minor splint cleanups. All regressio tests pass.Eric S. Raymond2008-01-011-3/+3
|
* Not carelessly dumping a NaN timestamp fixes one of the Trimble tests.Eric S. Raymond2007-12-121-2/+10
|
* Pull the device_readonly variable into the global context structure.Eric S. Raymond2007-06-011-5/+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.
* make tsip_write respect device_readonlyChris Kuethe2007-04-061-0/+5
|
* Split the packet-sniffer internals out of the session structure. Eric S. Raymond2006-11-301-12/+12
| | | | | | | | | | | | | This is a big, super-intrusive patch but changes no logic at all -- it's all about ripping out some of the gps_device_t structure members into a new gps_packet_t structure. Even the driver API doesn't change at all, this is all libgpsd(3) internals being rearranged. The motivation here is that we want to kill off the ad-hoc Python implementation of a packet-sniffer in gpsfake. To do that we need to be able to write a "pure" packet sniffer that uses the same C code as the daemon's but without being welded to the rest of the libgpsd(3) code. This is the first step towards that.
* Change the configurator method to take a packet sequence number argument...Eric S. Raymond2006-11-271-9/+11
| | | | ...the same way probe_subtype does, and for the same reason.
* I think LOG_IO is the right level for logging TSIP messages.Chris Kuethe2006-11-261-1/+1
|
* Quirk fixes for the TSIP driver.Chris Kuethe2006-11-261-2/+4
| | | | | | | | my Lassen iQ outputs 64-byte 8F-20 superpackets, not 56-byte like the manual says. If I allow these oversized packets to come in, the TSIP parser seems to cope, and I get fixes. I'm not sure about 8F-23 yet; I haven't seen any of these from the receiver, but I will entertain the possibility that they too could be oversized.
* lower the log level required to print these messages... Chris Kuethe2006-11-251-2/+2
| | | | ...so I don't have to wade through all the packet sniffer output.
* tidy up the --disable-reconfigure caseChris Kuethe2006-11-251-1/+2
|
* adjust this format a little moreChris Kuethe2006-11-251-1/+1
|
* Slightly more informative debug outputChris Kuethe2006-11-251-1/+1
|
* Tidy up the satellite info parsing a littleChris Kuethe2006-11-251-5/+7
|
* I'm not convinced that DOPs need more than one decimal place...Chris Kuethe2006-11-251-1/+1
|
* add a warning commentChris Kuethe2006-11-251-0/+1
|
* Split wrapup method into revert and wrapup. The revert method is onlt calledEric S. Raymond2006-11-141-0/+7
| | | | if configuration is enabled.
* Make sure TSIP probing only happens once.Eric S. Raymond2006-11-131-20/+22
|
* Split TSIP initialization into a subtype probe and a configurator.Eric S. Raymond2006-11-131-12/+17
|
* Convert some log levels I missed first time around.Eric S. Raymond2006-11-021-3/+3
|
* splint cleanup.Eric S. Raymond2006-11-021-0/+2
|
* TSIP driver can report a subtype.Eric S. Raymond2006-11-021-3/+6
|
* Define uniform log level macros.Eric S. Raymond2006-11-021-27/+27
| | | | | | | | | | | | | | | | | | | | | | 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.
* Drivers have to explicitly set the driver_mode field when they do a switch...Eric S. Raymond2006-11-011-2/+2
| | | | | ...whether or not they actually do anything. Otherwise it may not have the right value when somebody queries it.
* Rename some methods for clarity.Eric S. Raymond2006-10-301-3/+3
|
* Split the "initializer" driver method in two.Eric S. Raymond2006-10-301-2/+3
| | | | | | | | | | | 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.
* Fix libgpsd(3) so it's usable when ntpshm_init() has not been called.Eric S. Raymond2006-10-301-1/+2
| | | | | While investigating this I discovered that part of a previous cange (moving an ntpshm_put() call out of the NMEA driver) was incorrect and reverted it.
* Rename config.h so it can be installed as gpsd_config.h...Chris Kuethe2006-10-261-0/+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.
* tsip now honours --disable-reconfigureChris Kuethe2006-10-101-0/+4
|
* 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 #!
* The big dead-storage elimination: we get rid of the newdata member.Eric S. Raymond2006-09-091-44/+44
| | | | All regression tests pass.
* Backed out bad multipliers at Rob Janssen's request.Eric S. Raymond2006-06-111-2/+2
|
* Merge in a permission fix by Rob Janssen...Eric S. Raymond2006-02-181-1/+1
| | | | ..and a type fix that unbreaks the TSIP build.
* Folded in the smoothing patch to xgps.c.Eric S. Raymond2006-02-181-1/+1
|
* Jason von Nieda's TSIP patch.Eric S. Raymond2006-02-181-7/+23
|
* True North support integrated.Eric S. Raymond2005-08-011-2/+4
| | | | | | 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.
* Support compilers that can't do anonymous unions.Eric S. Raymond2005-07-261-23/+23
|
* Switch drivers properly if TSIP driver grabs an EverMore by mistakeEric S. Raymond2005-07-221-1/+20
| | | | (and then recovers)
* Add progress messages to gpsflash. splint cleanup.Eric S. Raymond2005-07-191-3/+5
|