diff options
Diffstat (limited to 'driver_nmea0183.c')
-rw-r--r-- | driver_nmea0183.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/driver_nmea0183.c b/driver_nmea0183.c index 7317bfe4..dec17894 100644 --- a/driver_nmea0183.c +++ b/driver_nmea0183.c @@ -1449,12 +1449,16 @@ static gps_mask_t processGSV(int count, char *field[], sp->ss = (float)atoi(field[fldnum++]); sp->used = false; sp->sigid = ubx_sigid; - if (sp->PRN > 0) + + /* sadly NMEA 4.1 does not tell us which sigid (L1, L2) is + * used. So if the ss is zero, do not mark used */ + if (0 < sp->PRN && 0 < sp->ss) { for (n = 0; n < MAXCHANNELS; n++) if (session->nmea.sats_used[n] == (unsigned short)sp->PRN) { sp->used = true; break; } + } /* * Incrementing this unconditionally falls afoul of chipsets like * the Motorola Oncore GT+ that emit empty fields at the end of the |