summaryrefslogtreecommitdiff
path: root/driver_nmea0183.c
Commit message (Collapse)AuthorAgeFilesLines
* uint was rmoved in C99. If gpsd enforce C99, then uint must go.Gary E. Miller2016-08-151-1/+1
| | | | uint is now unsigned int.
* No need to use abs() on an unsigned int.Gary E. Miller2016-08-091-1/+1
| | | | | | driver_nmea0183.c:1255:10: warning: taking the absolute value of unsigned type 'unsigned int' has no effect [-Wabsolute-value]
* Note difference between Skytraq Integer and Float RTK mode.Gary E. Miller2016-07-221-0/+3
|
* Gack. revert $STI handling, it breaks the regressions.Gary E. Miller2016-07-211-1/+1
|
* Decode SkytTraq undocumented $STI sentence.Gary E. Miller2016-07-211-6/+29
| | | | | | | Eric will gag at my abuse of the parser, but I'm not up to a major resturcture today. Not sure how to output the error in JSON.
* Initial support for undocumented SkyTraq $STI sentence.Gary E. Miller2016-07-201-1/+27
|
* Improve xxGSA commentsGary E. Miller2016-06-211-4/+6
|
* Add some commments on xxGSA.Gary E. Miller2016-06-211-0/+6
| | | | | Not all doc specifies the number of PRNs in the sentence. The doc that does usually says 12.
* PPSTIME -> NTPTIMEGary E. Miller2016-04-241-1/+1
| | | | | NTPTIME is from the serial stream, it never had anything to do with PPS and it just confused everyone.
* Fixes phantom satellites from xxGSVs with a real signal ID.Fred Wright2016-04-211-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The change to permit the new signal ID in the GSV sentences broke the loop end test, causing an extra "satellite" to be processed when the signal ID is present. The signal ID itself is misinterpreted as a satellite ID, with the other three values coming from indexing off the end of the buffer (typically getting zeroes). For receivers (incorrectly) reporting a signal ID of zero, this would typically get filtered out by the zero-ID filter (but not in non-GPS cases prior to fixing another bug), so it often didn't matter. But for receivers reporting a value of 1 (L1 C/A), this resulted in multiple phantom satellites with "PRN" 1. If the real PRN 1 was in use, it also screwed up the "active" count. The fix is just to round the field count down to a multiple of 4 prior to using it as the loop's end test. Also removes an incorrect comment about there being no more than three GSV sentences in a group. TESTED: Ran "scons build-all check". Also verified that, with the Navika receiver that reports the signal ID as 1, gpsmon and xgps no longer report phantom PRN 1 satellites, and cgps no longer misbehaves in some other (uninvestigated) way due to the confusion.
* Fixes bug in filtering of ID 0 in satellite views.Fred Wright2016-04-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Because the GSV processing invokes nmeaid_to_prn() before checking for an apparent ID of zero, it was possible for zero (or blank) IDs for non-GPS sentences to get offset to nonzero values and hence not filtered out. This fix ensures that only nonzero values are adjusted. Due to this bug, two of the regression tests had incorrect reference results: 1) The nl2008u receiver includes the new signal ID field, though the reported value is (incorrectly) zero. Due to another bug (to be fixed separately), this is interpreted as an additional ID in each GSV sentence. The zero-ID filter excluded this correctly for GPGSV, but for GLGSV it saw phantom entries for "ID 37". 2) The sl869 receiver reports empty fields for unused satellite slots in any GSV sentence. Again, this didn't hurt for GPGSV, and the GLGSV test data happens to have a multiple of four satellites, but the QZGSV sentences produced phantom "ID 193" entries. TESTED: Ran "scons build-all check", which passed after updating the two regression cases noted above.
* Stop adding 37 to some GN PRN's.Gary E. Miller2016-04-071-1/+1
| | | | | | | | What could go wrong with code that says this: /* GLONASS GL doesn't seem to do this, but better safe than sorry */ GPGSA prn 21 was becoming prn 58
* GPGSV took a blank as 0 then converted that to a PRNGary E. Miller2016-04-071-3/+9
| | | | | | Skip blanks now. Blank in BDGSV became PRN=200 Blank in GLGSV became PRN=37
* Ooops, two steps forward, one back.Gary E. Miller2016-04-071-1/+4
| | | | | satellites_visible is used as a counter by xxGSV. so setting in from xxGGA beaks some regressions.
* GGA is sats visible, not sats used.Gary E. Miller2016-04-071-1/+1
| | | | | This was messing up xxGSA which uses satellites_used as a counter and index into sats_used.
* @ Skytraq tweaks: Add a probe, detect RTK.Gary E. Miller2016-04-071-6/+22
| | | | | A normal probe fails, and is not needed since we can wait for PSTI. Update mode detection in processGLL() to handle 'F', 'R' and 'S' modes.
* Use the data from Skytraq PSTI,030 sentence.Gary E. Miller2016-04-051-17/+110
| | | | | This duplicates, but improves on the accuracy of GPVTG. Also add a bit on PSTI,001 and PSTI,032
* Improve GNGSA handling, add rx210.log which shows the problem.Gary E. Miller2016-04-051-3/+22
| | | | | GNGSA's almost always come in pairs, and never with any other flavor of xxGSA.
* Cleanup: atof() -> safe_atof()Gary E. Miller2016-04-051-2/+2
|
* Tweak last $PSTI update.Gary E. Miller2016-04-041-2/+2
| | | | Fix a comment, clean up a log output.
* Decode more of Skytraq $PSTIGary E. Miller2016-04-041-8/+40
| | | | | Decode $PSTI,030 and $PSTI,032 to log out Not used in session_t yet.
* GPGST time was always 1970-01-03Txxxx. Fixed.Gary E. Miller2016-03-301-1/+7
| | | | | | | The time in the packet was seconds in the day. It needed to be merged with the known date. rergressions updated. The chk files clearly show it is better now.
* Fix GPGSA/BDGSA processing so they combine.Gary E. Miller2016-03-301-6/+33
| | | | | | | | The combine code stolen from the GPGSV/BDGSV combining code. Just 2 regressions changed. No surprise since Beidu rarely seen in the USA. I eyeballed the changes in the chk files and they look good.
* Improve a comment.Eric S. Raymond2016-03-301-1/+5
|
* Improve a comment explaining multiple sat views.Eric S. Raymond2016-03-301-7/+8
|
* Improve comment on GPGSA/BDGSA problem.Gary E. Miller2016-03-291-2/+7
|
* Add note about GPGSV/BPGSV not ccombing properly.Gary E. Miller2016-03-291-0/+9
| | | | And example of the failure in test/daemon/skytrack-fixB.log.chk
* Skytraq GPGST time has 3 digits past decimal.Gary E. Miller2016-03-281-2/+2
|
* Comment in the code the accuracy needed for cm level lat/lon.Gary E. Miller2016-03-281-1/+10
|
* $PSTI means we have subtype Skytraq.Gary E. Miller2016-03-281-0/+3
|
* Add stub to decode Skytraq $PSTI sentence.Gary E. Miller2016-03-281-3/+42
| | | | I'm still looking for good documentation of what is in that sentence.
* Parse iSync $PTNTA oscillator status packetsMichael Brown2016-02-091-0/+58
| | | | Signed-off-by: Michael Brown <mbrown@fensystems.co.uk>
* Disable SV-field-count sanity checking if it can't be done right.Eric S. Raymond2016-01-051-5/+14
|
* Fix a confusing comment.Eric S. Raymond2016-01-051-2/+3
|
* Address Savannah bug #46082 - Can't explicitly build with NMEA drivers.Eric S. Raymond2015-10-011-2/+2
|
* Allow NMEA 4.1 GSVs in the NMEA0183 driver.Eric S. Raymond2015-06-011-1/+8
|
* Revert "Fix nmea0183 v4.1 problem in processGSV()."Eric S. Raymond2015-05-311-1/+1
| | | | | | | | This change breaks regression tests ansd is uneccessary. Because of the guard "if (session->fixcnt <= PPS_MIN_FIXES): in timehint.c, time hints won't be shipped until fixes have been seen. With this fix, regression tests pass again.
* Fix nmea0183 v4.1 problem in processGSV().Reinhard Arlt2015-05-301-1/+1
|
* Various attempted clarifications about satellite IDs.Eric S. Raymond2015-04-071-6/+2
|
* Document assumptions about NMEA satellite IDs and PRNs more thoroughly.Eric S. Raymond2015-04-071-2/+2
|
* Note some conflict about PRNs.Eric S. Raymond2015-04-071-0/+4
| | | | | | gps.h says one thung, the NMEA0183 driver another. Needs investigation. All regression tests pass (significant after Sanjeev's recent changes).
* Retire splint from our set of static analyzers.Eric S. Raymond2015-03-301-7/+0
| | | | | | | | | | | | | | | | | | | The proximate cause was that we've been seing emission of error messages that were randomly and disturbingly variable across different environments - notably Raspbian and Gentoo splint gave nontrivially different results than Ubuntu 14.10 splint. And this was *not* due to Ubuntu patches! A pristine splint built from the 3.1.2 tarball on Ubuntu didn't match the Raspbian and Gentoo results either. But this has been coming for a while. Easy access to more modern static analyzers such as coverity, scan-build and cppcheck has been decreasing the utility of splint, which is unmaintained and somewhat buggy and not easy to use. Only file not cleaned is ppsthread.c, because Gary has been working on it during this cleanup. All regression tests pass. PPS observed live on GR601-W.
* An ACK is no warning, so they can be logged with LOG_DATA.Beat Bolli2015-03-231-1/+1
|
* Comment PMTK324Gary E. Miller2015-03-201-0/+2
|
* Fix PMTK Version sentence.Gary E. Miller2015-03-201-0/+2
|
* PMTK was not being decoded.Gary E. Miller2015-03-201-0/+4
|
* Reorder PMTK packet order. Me being OCD and numerical.Gary E. Miller2015-03-201-20/+20
|
* Process GPTXT, GNTXT messages from u-blox.Gary E. Miller2015-03-181-8/+77
| | | | | | No output change, just send text contents to stderr on LOG_WARN. scons check passes
* Alpha sort NMEA 0183 sentence displatch array.Gary E. Miller2015-03-181-13/+13
| | | | Now I can find things and satisfy my OCD.
* Add commment that NEO-M8N uses GPGSV and GLGSV together.Gary E. Miller2015-03-181-4/+6
|