gpsd-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gpsd-dev] bug: GPGSV field 3 value of 9 != actual count 21


From: Greg Miller
Subject: [gpsd-dev] bug: GPGSV field 3 value of 9 != actual count 21
Date: Mon, 27 Jul 2015 22:05:40 +0300

gpsd -D2 prints the following warning every second:

gpsd:WARN: GPGSV field 3 value of 9 != actual count 21
gpsd:WARN: GPGSV field 3 value of 9 != actual count 21
gpsd:WARN: GPGSV field 3 value of 9 != actual count 21

The actual values may vary.
Other users have reported about this in the past.

Here is the actual NMEA from /dev/ttyUSB0 (single reporting cycle):

$GPGSV,3,1,12,04,55,326,22,08,,,31,11,41,310,31,14,49,053,24*4C
$GPGSV,3,2,12,19,58,232,21,22,32,056,19,27,36,189,31,32,50,288,18*79
$GPGSV,3,3,12,01,27,314,,03,14,267,,18,01,070,,31,15,136,*70
$GLGSV,3,1,09,70,59,327,23,86,21,329,15,69,23,035,15,84,48,164,17*6A
$GLGSV,3,2,09,85,72,300,22,71,30,257,19,78,,,,80,01,119,*54
$GLGSV,3,3,09,79,07,066,*55

The bug is obvious:

The GPS receiver counts satellites separately for "GPGSV" (GPS) and
"GLGSV" (GLONASS).
This is the correct behavior (these are different NMEA "TALKERS").
Observe that GPGSV+GLGSV = 12 + 9 = 21 total sats.

On the other hand, GPSD erroneously assumes that all xxGSV report the
same total count.
This is incorrect behavior.

The correct GPSD behavior should be:
It should count the number of satellites for each TALKER separately,
and it should not expect each individual TALKER count to be equal to
the total count.

The same error is expected to occur with other talker IDs, such as:
     *   BD (Beidou),
     *   GA (Galileo),
     *   GB (Beidou),
     *   GL (GLONASS),
     *   GN (GLONASS, any combination GNSS),
     *   GP (GPS, SBAS, QZSS),
     *   QZ (QZSS).

Tested on gpsd latest version from git, on "5809e" wireless card. This
occurs also on earlier versions.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]