summaryrefslogtreecommitdiff
path: root/drivers.c
Commit message (Collapse)AuthorAgeFilesLines
* Change the way the RTCM decoding is layered... Eric S. Raymond2006-12-041-2/+3
| | | | | | | ...so the packet sniffer no longer needs to take an argument that is an rtcm structure. This is a step towards a new and better gpsfake. No logic or protocol changes. All regression tests pass,
* Fix ALLOW_RECONFIGURE compilation.Eric S. Raymond2006-12-011-1/+3
| | | | Teach the daemon to ignore comment packets led with # and ended with \n.
* 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.
* Split the packet-sniffer internals out of the session structure. Eric S. Raymond2006-11-301-23/+28
| | | | | | | | | | | | | 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.
* We temporarily need root privs to set up the nmea line discipline on OpenBSD.Chris Kuethe2006-11-291-1/+13
| | | | | This diff makes that happen, and tries to be forthcoming about when it is making gpsd run as root.
* explain why these ioctls might failChris Kuethe2006-11-291-5/+7
|
* Because configure allows the selection of PPS on DCD or CTS...Chris Kuethe2006-11-291-0/+4
| | | | | ...we should do the same when setting up the OpenBSD-specific timestamping code.
* Working timestamps arrived after the NMEA line discipline.Chris Kuethe2006-11-281-8/+11
| | | | | | Nest appropriately so we can compile on 4.0. Also log correctly so that users wondering why the sensors don't seem to be working will have something in their logs.
* Finish the OpenBSD kernel timestamping hooks.Chris Kuethe2006-11-281-1/+10
| | | | | | | | | | | | In recent versions, the kernel keeps timestamps of control line changes. We also have the nmea(4) line discipline which activates an in-kernel NMEA parser to extract time information. This is then exported via the sensors framework for use by openntpd. This partially worked, but it wasn't until this morning that we had the control line stuff working. CK
* Change the configurator method to take a packet sequence number argument...Eric S. Raymond2006-11-271-37/+56
| | | | ...the same way probe_subtype does, and for the same reason.
* Remove Evermore NMEA, it was pointless.Eric S. Raymond2006-11-241-100/+2
| | | | | | The EverMore probe should just flip us into binary mode. Petr gaves me a heads-up that he's already done this removal in his experimental sources.
* New SiRF probe logic works with SiRF-II, should work with I and III as well.Eric S. Raymond2006-11-211-81/+14
|
* Make back_to_nmea a public flag (rather than a per-driver private flag)...Eric S. Raymond2006-11-211-1/+1
| | | | | | ...that causes the driver's mode switcher to be invoked just after the revert method. This makes the revert methods for SiRF and EverMore unnecessary.
* If we see an EverMore binary packet, we must reconfigure for EverMore *binary*.Eric S. Raymond2006-11-201-1/+1
|
* EverMore patch by Petr Slansky, and a link for the project page.Eric S. Raymond2006-11-171-4/+4
|
* Note that expecting $Ack105 only works on a SiRF-II.Eric S. Raymond2006-11-161-2/+1
|
* Evermore fixes and move of a close message, from Petr Slansky.Eric S. Raymond2006-11-161-18/+27
|
* Added gpscat to the distribution toolset.Eric S. Raymond2006-11-161-1/+2
|
* Fix for EverMore by Petr Slansky. He reports it working.Eric S. Raymond2006-11-151-13/+24
|
* last of the single-protocol builds is complete. fixed a goof i madeChris Kuethe2006-11-151-6/+6
| | | | regarding when garmin/nmea should be enabled.
* FV18 is just funky NMEA, so we require generic NMEA support when using FV18.Chris Kuethe2006-11-151-2/+4
| | | | Allow the garmin stuff to compile without NMEA
* squelch compiler warnings in nmea-only compileChris Kuethe2006-11-151-0/+4
|
* Make it compile without sirf.Chris Kuethe2006-11-151-2/+2
| | | | | I'm going to have to do another single-protocol compile test soon, though Mick seems to be doing that for me. Thanks!
* fix typoChris Kuethe2006-11-141-1/+1
|
* make this compile againChris Kuethe2006-11-141-1/+1
|
* Split wrapup method into revert and wrapup. The revert method is onlt calledEric S. Raymond2006-11-141-10/+64
| | | | if configuration is enabled.
* Stop trying to reconfigure Sony CXD2951 and Motorola OnCore chips.Eric S. Raymond2006-11-131-11/+1
| | | | | | | It turns out the ZDA sentence we wanted is in their default output set. We'll allow users who've turned ZDA off explicitly to have a century-rollover problem in exchange for not stepping on other settings.
* First step towards restoring parameters on close: Eric S. Raymond2006-11-131-0/+1
| | | | undo switch to SiRF binary on close if driver started in SiRF NMEA.
* Conditionalization cleanup patch from Petr Slansky.Eric S. Raymond2006-11-131-8/+8
|
* Zero the private drive storage at device-activate time...Eric S. Raymond2006-11-131-2/+2
| | | | ...so we don't see stale data. Also, some splint cleanup.
* Another gallimaufry of small fixes:Eric S. Raymond2006-11-131-0/+1
| | | | | | | | 1. Use libxslt for the correct dependency in the spec file. 2. Fix somedocumentation typos. 3. Fix gpsctl man page as suggested by Pert Slansky. 4. Suppress leading zeros in xgps satellite-data display. 5. Change "Course" to "Track" in xgps display.
* Updates to Evermore driver, from Petr SlanskyChris Kuethe2006-11-131-3/+77
|
* squelch a couple of compiler warningsChris Kuethe2006-11-111-2/+2
|
* Compiler-warning and splint cleanup.Eric S. Raymond2006-11-101-4/+4
|
* At the moment it doesn't look like supporting iTalk binary is a win.Eric S. Raymond2006-11-071-23/+25
| | | | But adapt to the new API just in case.
* Go through SiRF NMEA on tbe way to SiRF binary. This doesn't break the Eric S. Raymond2006-11-071-16/+15
| | | | daemon and is the last piece in making gpsctrl work for SiRF chips.
* Make sure none of the trigger strings for NMEA drivers are identical to probes. Eric S. Raymond2006-11-071-6/+12
| | | | | This avoids confusion by devices like SiRFs in NMEA that echo unknown probe strings back at us.
* Binary turnoff code removed at Gary's request.Eric S. Raymond2006-11-071-2/+0
|
* Document the reason for splitting up the probe sends.Eric S. Raymond2006-11-071-3/+15
|
* Interleave NMEA subtype probes with received packets. This seems to Eric S. Raymond2006-11-071-25/+43
| | | | | *immediately* improve detection of SiRF devices in NMEA mode, and probably solves Davor Emard's Garmin GPS-10 bug as well (though this is not yet proven.
* Sigh...avoid harmless but *annoying* name collision...Eric S. Raymond2006-11-021-2/+2
| | | | | between our LOG_ERR and the syslog() macro by changing ours to LOG_ERROR.
* Define uniform log level macros.Eric S. Raymond2006-11-021-20/+20
| | | | | | | | | | | | | | | | | | | | | | 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-0/+1
| | | | | ...whether or not they actually do anything. Otherwise it may not have the right value when somebody queries it.
* fix syntax errorChris Kuethe2006-11-011-1/+1
|
* Back down to a version of the True North code that was working...Eric S. Raymond2006-11-011-21/+129
| | | | | | | ...with the grotty internal baud-hunting loop and without the attempt to merge tnt_send with nmea_send or use of the wakeup capability. If Massimo Burcher can get this working, we'll try mutating it forward again.
* Split the initializer method for FV18 and Evermore.Eric S. Raymond2006-10-301-8/+14
| | | | | Implement mode holding in the server when J=1 is on. Small splint cleanups.
* This temporary reversion was needed to regression-test the next change.Eric S. Raymond2006-10-301-1/+56
|
* Cleanup after the method-splitting patch.Eric S. Raymond2006-10-301-2/+10
|
* Rename some methods for clarity.Eric S. Raymond2006-10-301-33/+33
|
* Split the "initializer" driver method in two.Eric S. Raymond2006-10-301-19/+34
| | | | | | | | | | | 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.