gpsd-users
[Top][All Lists]
Advanced

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

[gpsd-users] Used Satellites List (NMEA GSA Message)


From: Ronny Pretzsch
Subject: [gpsd-users] Used Satellites List (NMEA GSA Message)
Date: Sun, 27 Mar 2016 19:09:20 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.7.0

Hello,

Until now I have been using gpsd with gpsmon, xgps and opencpn with a
older GPS only device.

I now got a multi GNSS device based on the Ublox-M8 chip. This device
receives GPS with SBAS, GLONASS, and other GNSS's. It sends NMEA
sentences via a USB serial device.

I noticed that the gps clients (xgps, gpsmon) show too few satellites as
being "Used" in the satellite list and in SkyView. Furhermore only
GLONASS Satellites are indicated as being "Used".

According to the NMEA $GNGGA message a lot more satellites are "Used"
(which must be the case, otherwise I would not get a 3D Fix).

Further investigation shows that the device outputs one $GNGSA message
for each GNSS system. In my case 2 consecutive $GNGSA messages appear,
the first listing the GPS satellites and the second listing the GLONASS
satellites. The sum of both GSA messages agrees with the total number in
the GGA message.

According to the Ublox Documentation this is correct NMEA:

_quote_
Multiple GSA and GRS messages are output for each fix, one for each
GNSS. This may confuse applications which assume they are output only
once per position fix (as is the case for a single GNSS receiver).
_end_quote_
https://www.u-blox.com/sites/default/files/products/documents/u-blox8-M8_ReceiverDescrProtSpec_%28UBX-13003221%29_Public.pdf
(Chapter 26.1.7 Multi-GNSS considerations)

gpsd or libgps obviously only use the latest GSA message thus overriding
the used GPS satellites. It should however merge the lists of all
consecutive GSA messages for determining the used satellites.

The same problem used to be in gpsd with GSV messages. Up to gpsd 3.11
(as in debian stable) xgps only show GLONASS satellites because the
$GPGSV is overridden by the $GLGSV messages. Fortunately this was fixed
in Release 3.12.

Here is some example NMEA output from the device.

$GNRMC,161304.00,A,XXXX.02423,N,YYYYY.19451,E,0.036,,270316,,,A*61
$GNGGA,161304.00,XXXX.02423,N,YYYYY.19451,E,1,06,3.40,366.5,M,43.9,M,,*40
$GNGSA,A,3,32,12,25,14,,,,,,,,,6.06,3.40,5.02*1C
$GNGSA,A,3,85,86,,,,,,,,,,,6.06,3.40,5.02*1F
$GPGSV,4,1,13,02,28,116,,03,01,006,,06,28,069,,12,79,039,22*70
$GPGSV,4,2,13,14,38,286,26,17,02,041,,19,26,049,,22,00,328,*72
$GPGSV,4,3,13,24,49,147,23,25,56,275,26,29,18,208,19,31,05,309,*79
$GPGSV,4,4,13,32,34,289,27*4B
$GLGSV,2,1,08,66,15,280,18,67,17,333,,74,23,113,,75,74,073,20*6B
$GLGSV,2,2,08,76,40,311,,84,35,038,,85,66,119,27,86,26,183,26*6F
$GNRMC,161305.00,A,XXXX.02417,N,YYYYY.19445,E,0.105,,270316,,,A*63
$GNGGA,161305.00,XXXX.02417,N,YYYYY.19445,E,1,06,3.40,366.3,M,43.9,M,,*45

RMC, GGA each second
GSA each 5s
GSV each 31s


Ronny



reply via email to

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