This is one of the sentences always supported by GPS / GNSS receivers.
The GSA sentence includes GPS / GNSS receiver operating mode, satellites used for navigation, and DOP values.
In a multi-GNSS receiver the GSA message will be output multiple times, once for each GNSS.
The number of unique SV IDs (or PRNs) should correspond with the number of satellites reported by GGA (possibly limited to 12) and GNS.
In a multi-band receiver the GSA message will be output multiple times, once for each GNSS / signal.
NMEA 4.10 onwards:
1 2 3 14 15 16 17 18 19
| | | | | | | | |
$--GSA,a,a,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x.x,x.x,x.x,x*hh<CR><LF>
Prior to NMEA 4.10:
1 2 3 14 15 16 17 18
| | | | | | | |
$--GSA,a,a,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x.x,x.x,x.x*hh<CR><LF>
# | Field | Format | Example | Description |
---|---|---|---|---|
0 | Sentence ID | string | $GPGSA | Talker ID (GP) + message ID (GSA) |
1 | Op mode | character | A | 2D / 3D operation mode; M = manual, A = automatic |
2 | Fix mode | digit | 3 | Fix mode; 1 = no fix, 2 = 2D, 3 = 3D |
- | # Start of block | - | - | Start of repeated block (12 times) |
3 + idx | SV ID | numeric | 12 | Satellite ID or PRN number (leading zeros sent) |
- | # End of block | - | - | End of repeated block (12 times) |
15 | PDOP | numeric | 1.83 | Position dilution of precision (PDOP), typically 1 or 2 dp |
16 | HDOP | numeric | 1.09 | Horizontal dilution of precision (HDOP), typically 1 or 2 dp |
17 | VDOP | numeric | 1.47 | Vertical dilution of precision (VDOP), typically 1 or 2 dp |
18 | System ID | hexadecimal | 1 | GNSS system ID (NMEA 4.10 and later), or maybe signal ID |
19 | Checksum | hexadecimal | *7B | Checksum |
Notes:
$GNGSA,A,3,80,71,73,79,69,,,,,,,,1.83,1.09,1.47*17
$GPGSA,A,3,10,07,05,02,29,04,08,13,,,,,1.72,1.03,1.38*0A
$GPGSA,M,3,15,13,14,05,23,24,17,10,,,,,1.7,0.9,1.4*32
The GSA sentence is being used in a number of different ways in modern GPS / GNSS receivers. When parsing the GSA sentence, code should be able to handle all of the scenarios described below.
This example for the BCM4774 was captured from a Samsung Galaxy S7.
$GPGSA,A,3,10,12,13,14,15,17,19,24,32,,,,1.5,0.8,1.3*34
$GNGSA,A,3,10,12,13,14,15,17,19,24,32,,,,1.5,0.8,1.3*2A
$GNGSA,A,3,66,67,68,77,85,,,,,,,,1.5,0.8,1.3*20
Notes:
$GPGSA
reports the GPS satellites in use.$GNGSA
reports the GPS and GLONASS satellites in use.This example for the Exynos 1280 was captured from a Samsung Galaxy A53.
$GPGSA,A,3,02,03,04,08,14,17,19,21,22,32,,,0.6,0.4,0.6*32
$GNGSA,A,3,65,72,79,80,86,87,88,,,,,,0.6,0.4,0.6*29
$GAGSA,A,3,103,105,108,113,115,121,127,,,,,,0.6,0.4,0.6*18
$BDGSA,A,3,205,209,211,214,216,233,,,,,,,0.6,0.4,0.6*29
Notes:
This example for the Exynos 1380 was captured from a Samsung Galaxy A54.
$GNGSA,A,3,05,13,14,15,20,22,23,24,30,,,,0.8,0.4,0.6,1*3B
$GNGSA,A,3,65,72,75,76,,,,,,,,,0.8,0.4,0.6,2*3D
$GNGSA,A,3,104,109,111,119,121,136,,,,,,,0.8,0.4,0.6,3*3A
$GNGSA,A,3,207,210,223,225,232,237,240,241,,,,,0.8,0.4,0.6,4*3A
Notes:
$GNGSA
is used for all of the GNSS constellations.
This example for the SDM845 was captured from a Samsung Galaxy S10 Lite.
$GNGSA,A,3,65,71,72,79,86,87,88,,,,,,0.7,0.5,0.6,2*39
$GNGSA,A,3,03,05,08,13,15,21,27,34,,,,,0.7,0.5,0.6,3*3E
$GNGSA,A,3,09,11,14,16,27,28,,,,,,,0.7,0.5,0.6,4*34
$GNGSA,A,3,02,03,04,08,14,17,19,21,32,,,,0.7,0.5,0.6,1*31
Notes:
$GNGSA
is used for all of the GNSS constellations.
This example for the BCM4776 was captured from a Google Pixel 7.
$GPGSA,A,3,04,06,07,09,11,20,30,,,,,,1.8,0.9,1.5*3B
$GPGSA,A,3,04,06,09,11,30,,,,,,,,1.8,0.9,1.5,8*2A
$GAGSA,A,3,103,107,108,113,115,125,126,,,,,,1.8,0.9,1.5,1*02
$GNGSA,A,3,04,06,07,09,11,20,30,,,,,,1.8,0.9,1.5*25
$GNGSA,A,3,71,72,,,,,,,,,,,1.8,0.9,1.5*2B
$BDGSA,A,3,219,221,222,234,236,244,245,246,,,,,1.8,0.9,1.5,5*34
$GAGSA,A,3,103,107,108,113,115,125,126,,,,,,1.8,0.9,1.5*1F
$BDGSA,A,3,211,219,221,222,234,236,244,245,246,,,,1.8,0.9,1.5*1F
Notes:
$PSSGR,GSA
which is like $GPGSA
, but includes system ID and signal ID.Determining the satellites in use for each system:
$GNGSA
to report GNSS or GLONASS satellites that are active.$GPGSA
and $GNGSA
from chipsets such as the Broadcom BCM4774.
$GNGSA
.$PSSGR,GSA
will also be available which is like GSA but includes system ID and signal ID.