summaryrefslogtreecommitdiff
path: root/driver_nmea0183.c
Commit message (Collapse)AuthorAgeFilesLines
* driver_nmea0183: Note new 4.1+ fields in GNS, GSA, GSV, and GBSGary E. Miller2019-05-051-19/+23
| | | | No code changes.
* driver_nmea0183: Fix for undocuemnted QZSS 6 and 7Gary E. Miller2019-05-031-3/+5
|
* driver_nmea0183: Enforce NMEA 4.0 type PRNs.Gary E. Miller2019-05-021-37/+176
| | | | | | | | | | | | | | | | Up until now, the PWN was whatever the GPS said it was. With NMEA 4.10 this is no longer sustainable. The u-blox 9 defaults to NMEA 4.10, sort of. It sometimes puts NMEA 4.0 PRNs into NMEA 4.10 sentences. Some people like to use both u-blox binary and NMEA sentences mixed together, so the time has come to enforce the PRN complies with NMEA 4.0 extended numbering. Sadly this can not map exactly into u-blox numbering, but is a start. Fixing this uncovered other examples of non NMEA compliant sentences in the regressions. So many regressions changed. The most obvious change is that NMEA 4.0 puts the SBAS PRN in the range 33-64 and 152-158, not 120-158 as u-blox does.
* driver_nmea0183: Fix xxGSA field count. Decode NMEA gnssid.Gary E. Miller2019-05-011-13/+28
| | | | Don't use NMEA gnssid yet, so no functional change.
* driver_nmea0183: Add nmea_gnssid parameter to nmeaid_to_prn()Gary E. Miller2019-05-011-6/+15
| | | | Not used yet. No functional change.
* driver_nmea0183: remane satnbmum -> nmea_satnum.Gary E. Miller2019-05-011-24/+25
| | | | | Make clear which number system satnum belongs to. No functionl changes.
* driver_nmea0183: rename svid to ubx_svid and nmea_svid.Gary E. Miller2019-05-011-16/+16
| | | | Too many competing svid systems too keep separate...
* driver_nmea0183: DOn't mark sat as used if ss==0Gary E. Miller2019-04-301-1/+5
| | | | | NMEA 4.10 tells us which sats a are used, but not which signal (L1, L2, etc).
* driver_nmea: Add comment that NMEA 4.10+ PRN changed from 4.0Gary E. Miller2019-04-301-19/+24
| | | | | No functional changes, yet. Change gnssid to ubx_gnssid as soon nmea_gnssid will be needed.
* driver_nmea0183: Update xxGSV to handle NMEA 4.10.Gary E. Miller2019-04-191-20/+91
| | | | | This only affected the ZED-M9P NMEA regressions, which were broken anyway...
* driver_nmea0183: remove redundant clears., add comment.Gary E. Miller2019-04-191-2/+4
| | | | | No need to do: session->gpsdata.satellites_visible = 0; After gpsd_zero_satellites() which does the same thing.
* driver_nmea0183: Whoops, debug code removed.Gary E. Miller2019-04-191-2/+2
| | | | Serves me right for commiting b4 second cup of coffee...
* ubxtool: Fix output of UBX-COMMS portId.Gary E. Miller2019-04-191-2/+10
|
* driver_nmea0183: Minor code cleanup. No functional change.Gary E. Miller2019-04-181-9/+36
| | | | Change bunch of "if" to one "switch, some other tweaks.
* driver_nmea0183: Prep work to support gnssid in xxGSV.Gary E. Miller2019-04-121-3/+18
| | | | This is needed to fix NMEA 4.10 decodes.
* driver_nmea0183: Comment on NMEA 4.10 additions to xxGSAGary E. Miller2019-04-111-1/+13
|
* driver_nmea0183: Comment new xxGSV field in NMEA 4.10Gary E. Miller2019-04-111-0/+11
|
* driver_nmea0183: rearrange nmeaid_to_prn(), no functional change.Gary E. Miller2019-04-111-21/+37
|
* driver_nmea0813: Add unused sentence types to table.Gary E. Miller2019-03-261-0/+17
| | | | | This cuts down on scary "unknown sentence" warings that freak some people out...
* gpsd_error_model(): be more consistent with HERR_SET.Gary E. Miller2019-03-261-0/+2
|
* driver_nmea0183: Add decode for $PGRME.Gary E. Miller2019-03-251-11/+86
| | | | Another one with cycle ender issues...
* driver_nmea0183: Minor table format cleanup.Gary E. Miller2019-03-251-2/+2
|
* drivber_nmae0183: Comment $xxDTM fails due to cycle ender.Gary E. Miller2019-03-251-0/+1
| | | | Comes after cycle ender, so never output...
* driver_nmea0183: Decode $xxDTM for datum.Gary E. Miller2019-03-251-1/+72
| | | | Oddly no output either...
* gps_data_t: Add datum field. Add decode for $PGRMM.Gary E. Miller2019-03-251-2/+28
| | | | | Sadly, $PGRMM is after a cycle ender and the data is never reported, so no regression changes. Cycle ender needs to get fixed...
* driver_nmea0183: Tweak $PSRFEPE. No regressions changes.Gary E. Miller2019-03-251-5/+8
| | | | Better log output. Keep time, even if invalid.
* VERR_SET: Removed flag from daemon. No regressions changed.Gary E. Miller2019-03-251-1/+0
| | | | Obviously redundant.
* driver_nmea0183: Use eph from $PSRFEPE if available.Gary E. Miller2019-03-251-2/+4
| | | | Use GPS values when possible instead of calculated values.
* driver_nmea0183: Use epv from $PSRFEPE if available.Gary E. Miller2019-03-251-2/+1
| | | | Use GPS values when possible instead of calculated values.
* driver_nmae0183: Command on $GPGBS.Gary E. Miller2019-03-231-0/+2
|
* driver_nmea0183: Add 3 more NMEA messages, but no new decodes.Gary E. Miller2019-03-231-1/+4
|
* Split epe into eph and sep.Gary E. Miller2019-03-221-3/+3
| | | | | | | | Try to do it with forward and backward compatibility, which is challenging with current miscojson. Sometimes epe was used to 2D estimated erro. Sometimes for 3D error. So make it explicit eph is 2D, and sep is 3D.
* Fix fencepost errors in GPS epoch (mainly comments).Fred Wright2019-03-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | The definition of GPS_EPOCH in gpsd.h is correct, but the comment specified the incorrect corresponding date, which is 06-Jan-1980, not 06-Jan-1981, which isn't even a Sunday. The century hack in driver_nmea0183.c establishes a 100-year window for interpreting two-digit years. For now, the range 1980-2079 is reasonable, given that the GPS epoch is 06-Jan-1980, and the mention of wrapping "at" 2080 is consistent with this, but the comment incorrectly placed the GPS epoch in 1981 (perhaps due to believing the wrong comment in gpsd.h), and the code was written to wrap *after* 2080, rather than *at* 2080. This would place the window at 1981-2080, which would screw up 1980 (admittedly an unlikely case). This is mostly about not misleading people reading the code than actual real-life trouble. TESTED: Existing tests pass. A test case for a year of "80" would be needed to actually verify the fix, though.
* driver_nmea0183: Move error checking into do_lat_lon().Gary E. Miller2019-03-191-92/+102
| | | | No regression changes, just simpler code.
* driver_nmea0183: Tweak xxGGA mode setting.Gary E. Miller2019-03-191-37/+41
|
* driver_nmea0183: Have xxGNS report No FIX from FAA mode.Gary E. Miller2019-03-191-11/+12
| | | | Also, ignore missing "nav status"
* driver_nmea0183: xxRMC: Stop reporting missing fields as zero.Gary E. Miller2019-03-181-17/+32
| | | | lat/lon/track/etc.
* driver_nmea0183: Have xxGGA set time and mode.Gary E. Miller2019-03-181-24/+30
|
* driver_nmea0183: Fix 32/64 bug in cycle enders.Gary E. Miller2019-03-181-62/+69
| | | | | | Long standing bug, that became obvious when more NMEA decodes were added. A 32 bit mask used to index into a 40 member array.o Also fix over agressive mode setting on $PSRFEPE.
* driver_nmea0183: Another place ss.ss -> ss.sssGary E. Miller2019-03-151-1/+1
| | | | Oh, and fix missing decimal point.
* driver_nmea0183: remove bad cast.Gary E. Miller2019-03-151-1/+1
|
* driver_nmea: Another place to report time to %.3fGary E. Miller2019-03-151-1/+1
| | | | Many NMEA now reporting ss.sss.
* driver_nmea0183: Better subseconds in merge_hhmmss().Gary E. Miller2019-03-151-3/+11
| | | | Might need to change subseconds to integer nanoseconds.
* driver_nmea0183: Fix comment about Telit malformed year.Gary E. Miller2019-03-151-1/+1
|
* driver_nmea0183: Handle 2099 on 32-bits as 1999.Gary E. Miller2019-03-151-1/+13
| | | | The 32-bit hosts will fail on 2038...
* Move epe from gps_data_t to be near its friends in gps_fix_t.Gary E. Miller2019-03-151-6/+4
| | | | No functional changes. Looks like epe never went anywhere...
* driver_nmea0183: $PSRFEPE,V sets MODE_NO_FIXGary E. Miller2019-03-141-4/+13
| | | | Only present in old SiRF.
* driver_nmea0183: xxGLL,V now sets MODE_NO_FIX.Gary E. Miller2019-03-141-2/+9
| | | | Better detection of NO FIX state.
* driver_nmea0183: Be more aggressive reporting NO_FIX in GPRMC.Gary E. Miller2019-03-141-9/+4
| | | | | Fixes long standing complaints that gpsd freezes instead of reporting NO FIX.
* driver_nmea0183: Add STATUS_SIM. Update status in GPGGA.Gary E. Miller2019-03-141-5/+13
| | | | | status = 8 supposed to be simulator mode. Older Garmin seems to use it for something undocuemnted.