NMEA (protocole GPS) et VB6...

cs_Danette Messages postés 54 Date d'inscription mardi 23 juillet 2002 Statut Membre Dernière intervention 16 septembre 2008 - 28 mai 2004 à 18:59
poemar Messages postés 1 Date d'inscription dimanche 30 septembre 2007 Statut Membre Dernière intervention 21 janvier 2008 - 21 janv. 2008 à 13:15
J'essaie de créer un pgm en vb6 pour récupérer les données de mon port série branché sur mon récepteur GPS (Données en format NMEA). Je suis à la recherche (en vain !) d'un descriptif complet de ce protocole ou eventuellement d'une source qui traite déjà de ce sujet. Merci de votre réponse. @+

4 réponses

cs_ffbb Messages postés 5 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 15 décembre 2007
10 sept. 2004 à 11:52
0
pompier0112 Messages postés 9 Date d'inscription jeudi 9 novembre 2000 Statut Membre Dernière intervention 12 septembre 2005
11 août 2005 à 20:44
va voir le petit programme que j'ai mi en ligne il devrait répondre un epu a ce que tu veut.
0
abeking_mail Messages postés 13 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 20 janvier 2010
24 nov. 2005 à 09:18
salam

excellent tuoriel sur les trames NMEA ici: http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=17661

Pour le parser (extraction des infos utiles de la trame) va voir ici:

http://www.codeproject.com/vb/net/WritingGPSApplications1.asp



Bonne chance et bon courage
0
poemar Messages postés 1 Date d'inscription dimanche 30 septembre 2007 Statut Membre Dernière intervention 21 janvier 2008
21 janv. 2008 à 13:15
ludo marine
voici une liste de phrase nmea avec leur donnée
Glenn Baddeley - GPS - NMEA sentence informationGlenn Baddeley - GPS - NMEA
sentence information
Contents
  All $GPxxx sentence codes and short descriptions
  26 interpreted sentences transmitted by GPS unit
  12 interpreted Garmin proprietary sentences transmitted by GPS unit
  8 interpreted Garmin proprietary sentences received by GPS unit
  Format of latitudes and longitudes
  References
[ Top ] [Glenn's GPS Contents Page]


 


All $GPxxx sentence codes and short descriptions


$GPAAM - Waypoint Arrival Alarm
$GPALM - GPS Almanac Data
$GPAPA - Autopilot format "A"
$GPAPB - Autopilot format "B"
$GPASD - Autopilot System Data
$GPBEC - Bearing & Distance to Waypoint, Dead Reckoning
$GPBOD - Bearing, Origin to Destination
$GPBWC - Bearing & Distance to Waypoint, Great Circle
$GPBWR - Bearing & Distance to Waypoint, Rhumb Line
$GPBWW - Bearing, Waypoint to Waypoint
$GPDBT - Depth Below Transducer
$GPDCN - Decca Position
$GPDPT - Depth
$GPFSI - Frequency Set Information
$GPGGA - Global Positioning System Fix Data
$GPGLC - Geographic Position, Loran-C
$GPGLL - Geographic Position, Latitude/Longitude
$GPGRS - GPS Range Residuals
$GPGSA - GPS DOP and Active Satellites
$GPGST - GPS Pseudorange Noise Statistics
$GPGSV - GPS Satellites in View
$GPGXA - TRANSIT Position
$GPHDG - Heading, Deviation & Variation
$GPHDT - Heading, True
$GPHSC - Heading Steering Command
$GPLCD - Loran-C Signal Data
$GPMSK - Control for a Beacon Receiver
$GPMSS - Beacon Receiver Status
$GPMTA - Air Temperature (to be phased out)
$GPMTW - Water Temperature
$GPMWD - Wind Direction
$GPMWV - Wind Speed and Angle
$GPOLN - Omega Lane Numbers
$GPOSD - Own Ship Data
$GPR00 - Waypoint active route (not standard)
$GPRMA - Recommended Minimum Specific Loran-C Data
$GPRMB - Recommended Minimum Navigation Information
$GPRMC - Recommended Minimum Specific GPS/TRANSIT Data
$GPROT - Rate of Turn
$GPRPM - Revolutions
$GPRSA - Rudder Sensor Angle
$GPRSD - RADAR System Data
$GPRTE - Routes
$GPSFI - Scanning Frequency Information
$GPSTN - Multiple Data ID
$GPTRF - Transit Fix Data
$GPTTM - Tracked Target Message
$GPVBW - Dual Ground/Water Speed
$GPVDR - Set and Drift
$GPVHW - Water Speed and Heading
$GPVLW - Distance Traveled through the Water
$GPVPW - Speed, Measured Parallel to Wind
$GPVTG - Track Made Good and Ground Speed
$GPWCV - Waypoint Closure Velocity
$GPWNC - Distance, Waypoint to Waypoint
$GPWPL - Waypoint Location
$GPXDR - Transducer Measurements
$GPXTE - Cross-Track Error, Measured
$GPXTR - Cross-Track Error, Dead Reckoning
$GPZDA - UTC Date / Time and Local Time Zone Offset
$GPZFO - UTC & Time from Origin Waypoint
$GPZTG - UTC & Time to Destination Waypoint
[Top]


 


26 interpreted sentences transmitted by GPS unit
   $GPAAM - Waypoint Arrival Alarm
   $GPALM - GPS Almanac Data (Can also be received by GPS unit)
   $GPAPB - Autopilot format "B"
   $GPBOD - Bearing, origin to destination
   $GPBWC - Bearing and distance to waypoint, great circle
   $GPGGA - Global Positioning System Fix Data
   $GPGLL - Geographic position, latitude / longitude
   $GPGRS - GPS Range Residuals
   $GPGSA - GPS DOP and active satellites
   $GPGST - GPS Pseudorange Noise Statistics
   $GPGSV - GPS Satellites in view
   $GPHDT - Heading, True
   $GPMSK - Control for a Beacon Receiver
   $GPMSS - Beacon Receiver Status
   $GPR00 - List of waypoints in currently active route
   $GPRMA - Recommended minimum specific Loran-C data
   $GPRMB - Recommended minimum navigation info
   $GPRMC - Recommended minimum specific GPS/Transit data
   $GPRTE - Routes
   $GPTRF - Transit Fix Data
   $GPSTN - Multiple Data ID
   $GPVBW - Dual Ground / Water Speed
   $GPVTG - Track made good and ground speed
   $GPWPL - Waypoint location
   $GPXTE - Cross-track error, Measured
   $GPZDA - UTC Date / Time and Local Time Zone Offset
There is a full list of $GPxxx sentence codes available, without links to format
details.
[Top]


 


$GPAAM
Waypoint Arrival Alarm
This sentence is generated by some units to indicate the Status of arrival
(entering the arrival circle, or passing the perpendicular of the course line)
at the destination waypoint.
  $GPAAM,A,A,0.10,N,WPTNME*43


Where:
    AAM    Arrival Alarm
    A      Arrival circle entered
    A      Perpendicular passed
    0.10   Circle radius
    N      Nautical miles
    WPTNME Waypoint name
    *43    Checksum data


 


$GPALM
GPS Almanac Data
A set of sentences transmitted by some Garmin units in response to a received
$PGRMO,GPALM,1 sentence. It can also be received by some GPS units (eg. Garmin
GPS 16 and GPS 17) to initialize the stored almanac information in the unit.
Example 1: $GPALM,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,*CC
1 = Total number of sentences in set
2 = Sentence sequence number in set
3 = Satellite number
4 = GPS week number
5 = Bits 17 to 24 of almanac page indicating SV health
6 = Eccentricity
7 = Reference time of almanac
8 = Inclination angle
9 = Right ascension rate
10 = Semi major axis route
11 = Argument of perigee (omega)
12 = Ascension node longitude
13 = Mean anomaly
14 = af0 clock parameter
15 = af1 clock parameter
Example 2:
$GPALM,1,1,15,1159,00,441d,4e,16be,fd5e,a10c9f,4a2da4,686e81,58cbe1,0a4,001*5B
      FieldExampleComments
      Sentence ID$GPALM
      Number of messages1Total number of messages in sequence
      Sequence number1This is first message in sequence
      Satellite PRN15Unique ID (PRN) of satellite message relates to
      GPS week number1159
      SV health00Bits 17-24 of almanac page
      Eccentricity441d
      Reference time4eAlmanac reference time
      Inclination angle16be
      Rate of right ascensionfd5e
      Roor of semi-major axisa10c9f
      Argument of perigee4a2da4
      Longitude of ascension node686e81
      Mean anomoly58cbe1
      F0 clock parameter0a4
      F1 clock parameter001
      Checksum*5B


 




$GPAPB
Autopilot format "B"
This sentence is sent by some GPS receivers to allow them to be used to control
an autopilot unit. This sentence is commonly used by autopilots and contains
navigation receiver warning flag status, cross-track-error, waypoint arrival
status, initial bearing from origin waypoint to the destination, continuous
bearing from present position to destination and recommended heading-to-steer to
destination waypoint for the active navigation leg of the journey.
Note: Some autopilots, Robertson in particular, misinterpret "bearing from
origin to destination" as "bearing from present position to destination". This
is likely due to the difference between the APB sentence and the APA sentence.
for the APA sentence this would be the correct thing to do for the data in the
same field. APA only differs from APB in this one field and APA leaves off the
last two fields where this distinction is clearly spelled out. This will result
in poor performance if the boat is sufficiently off-course that the two bearings
are different.
  $GPAPB,A,A,0.10,R,N,V,V,011,M,DEST,011,M,011,M*82


where:
    APB     Autopilot format B
    A       Loran-C blink/SNR warning, general warning
    A       Loran-C cycle warning
    0.10    cross-track error distance
    R       steer Right to correct (or L for Left)
    N       cross-track error units - nautical miles (K for kilometers)
    V       arrival alarm - circle
    V       arrival alarm - perpendicular
    011,M   magnetic bearing, origin to destination
    DEST    destination waypoint ID
    011,M   magnetic bearing, present position to destination
    011,M   magnetic heading to steer (bearings could True as 033,T)


 


$GPBOD
Bearing Origin to Destination
eg.  BOD,045.,T,023.,M,DEST,START
           045.,T       bearing 045 degrees True from "START" to "DEST"
           023.,M       breaing 023 degrees Magnetic from "START" to "DEST"
           DEST         destination waypoint ID
           START        origin waypoint ID
Example 1: $GPBOD,099.3,T,105.6,M,POINTB,*01
Waypoint ID: "POINTB" Bearing 99.3 True, 105.6 Magnetic
This sentence is transmitted in the GOTO mode, without an active route on your
GPS. WARNING: this is the bearing from the moment you press enter in the GOTO
page to the destination waypoint and is NOT updated dynamically! To update the
information, (current bearing to waypoint), you will have to press enter in the
GOTO page again.
Example 2: $GPBOD,097.0,T,103.2,M,POINTB,POINTA*52
This sentence is transmitted when a route is active. It contains the active leg
information: origin waypoint "POINTA" and destination waypoint "POINTB", bearing
between the two points 97.0 True, 103.2 Magnetic. It does NOT display the
bearing from current location to destination waypoint! WARNING Again this
information does not change until you are on the next leg of the route. (The
bearing from POINTA to POINTB does not change during the time you are on this
leg.)


 


$GPBWC
Bearing and distance to waypoint, great circle
eg1. $GPBWC,081837,,,,,,T,,M,,N,*13


        BWC,225444,4917.24,N,12309.57,W,051.9,T,031.6,M,001.3,N,004*29
           225444       UTC time of fix 22:54:44
           4917.24,N    Latitude of waypoint
           12309.57,W   Longitude of waypoint
           051.9,T      Bearing to waypoint, degrees true
           031.6,M      Bearing to waypoint, degrees magnetic
           001.3,N      Distance to waypoint, Nautical miles
           004          Waypoint ID


eg2. $GPBWC,220516,5130.02,N,00046.34,W,213.8,T,218.0,M,0004.6,N,EGLM*11
               1      2    3     4    5    6  7   8   9    10  11 12 13


      1    220516    timestamp
      2    5130.02   Latitude of next waypoint
      3    N         North/South
      4    00046.34  Longitude of next waypoint
      5    W         East/West
      6    213.0     True track to waypoint
      7    T         True Track
      8    218.0     Magnetic track to waypoint
      9    M         Magnetic
      10   0004.6    range to waypoint
      11   N         unit of range to waypoint, N = Nautical miles
      12   EGLM      Waypoint name
      13   *11       checksum


 


$GPGGA
Global Positioning System Fix Data
eg1. $GPGGA,170834,4124.8963,N,08151.6838,W,1,05,1.5,280.2,M,-34.0,M,,,*75
      Name Example Data Description
      Sentence Identifier$GPGGAGlobal Positioning System Fix Data
      Time17083417:08:34 UTC
      Latitude4124.8963, N41d 24.8963' N or 41d 24' 54" N
      Longitude08151.6838, W81d 51.6838' W or 81d 51' 41" W
      Fix Quality:
      - 0 = Invalid
      - 1 = GPS fix
      - 2 = DGPS fix1Data is from a GPS fix
      Number of Satellites055 Satellites are in view
      Horizontal Dilution of Precision (HDOP)1.5Relative accuracy of horizontal
      position
      Altitude280.2, M280.2 meters above mean sea level
      Height of geoid above WGS84 ellipsoid-34.0, M-34.0 meters
      Time since last DGPS updateblankNo last update
      DGPS reference station idblankNo station id
      Checksum*75Used by program to check for transmission errors


Courtesy of Brian McClure, N8PQI.
Global Positioning System Fix Data. Time, position and fix related data for a
GPS receiver.
eg2. $GPGGA,hhmmss.ss,ddmm.mmm,a,dddmm.mmm,b,q,xx,p.p,a.b,M,c.d,M,x.x,nnnn
hhmmss.ss = UTC of position
ddmm.mmm = latitude of position
a = N or S, latitutde hemisphere
dddmm.mmm = longitude of position
b = E or W, longitude hemisphere
q = GPS Quality indicator (0=No fix, 1=Non-differential GPS fix, 2=Differential
GPS fix, 6=Estimated fix)
xx = number of satellites in use
p.p = horizontal dilution of precision
a.b = Antenna altitude above mean-sea-level
M = units of antenna altitude, meters
c.d = Geoidal height
M = units of geoidal height, meters
x.x = Age of Differential GPS data (seconds since last valid RTCM transmission)
nnnn = Differential reference station ID, 0000 to 1023


 




$GPGLL
Geographic Position, Latitude / Longitude and time.
eg1. $GPGLL,3751.65,S,14507.36,E*77
eg2. $GPGLL,4916.45,N,12311.12,W,225444,A


           4916.46,N    Latitude 49 deg. 16.45 min. North
           12311.12,W   Longitude 123 deg. 11.12 min. West
           225444       Fix taken at 22:54:44 UTC
           A            Data valid


eg3. $GPGLL,5133.81,N,00042.25,W*75
               1    2     3    4 5


      1    5133.81   Current latitude
      2    N         North/South
      3    00042.25  Current longitude
      4    W         East/West
      5    *75       checksum
$--GLL,lll.ll,a,yyyyy.yy,a,hhmmss.ss,A llll.ll = Latitude of position
a = N or S
yyyyy.yy = Longitude of position
a = E or W
hhmmss.ss = UTC of position A status: A valid data


 




$GPGRS
GPS Range Residuals
Example: $GPGRS,024603.00,1,-1.8,-2.7,0.3,,,,,,,,,*6C
      FieldExampleComments
      Sentence ID$GPGRS
      UTC Time024603.00UTC time of associated GGA fix      Mode10 Residuals used in GGA, 1 residuals calculated after GGA
      Sat 1 residual-1.8Residual (meters) of satellite 1 in solution
      Sat 2 residual-2.7The order matches the PRN numbers in the GSA sentence
      Sat 3 residual0.3
      Sat 4 residual Unused entries are blank
      Sat 5 residual 
      Sat 6 residual 
      Sat 7 residual 
      Sat 8 residual 
      Sat 9 residual 
      Sat 10 residual 
      Sat 11 residual 
      Sat 12 residual 
      Checksum*6C


 




$GPGSA
GPS DOP and active satellites
eg1. $GPGSA,A,3,,,,,,16,18,,22,24,,,3.6,2.1,2.2*3C
eg2. $GPGSA,A,3,19,28,14,18,27,22,31,39,,,,,1.7,1.0,1.3*34


1    = Mode:
       M=Manual, forced to operate in 2D or 3D
       A=Automatic, 3D/2D
2    = Mode:
       1=Fix not available
       2=2D
       3=3D
3-14 = PRN's of Satellite Vechicles (SV's) used in position fix (null for unused fields)
15   = Position Dilution of Precision (PDOP)
16   = Horizontal Dilution of Precision (HDOP)
17   = Vertical Dilution of Precision (VDOP)


 


$GPGST
GPS Pseudorange Noise Statistics
Example: $GPGST,024603.00,3.2,6.6,4.7,47.3,5.8,5.6,22.0*58
      Field ExampleComments
      Sentence ID$GPGST
      UTC Time024603.00UTC time of associated GGA fix
      RMS deviation3.2Total RMS standard deviation of ranges inputs to the
      navigation solution
      Semi-major deviation6.6Standard deviation (meters) of semi-major axis of
      error ellipse
      Semi-minor deviation4.7Standard deviation (meters) of semi-minor axis of
      error ellipse
      Semi-major orientation47.3Orientation of semi-major axis of error ellipse
      (true north degrees)
      Latitude error deviation5.8Standard deviation (meters) of latitude error
      Longitude error deviation5.6Standard deviation (meters) of longitude error
      Altitude error deviation22.0Standard deviation (meters) of latitude error
      Checksum*58


 




$GPGSV
GPS Satellites in view
eg. $GPGSV,3,1,11,03,03,111,00,04,15,270,00,06,01,010,00,13,06,292,00*74
    $GPGSV,3,2,11,14,25,170,00,16,57,208,39,18,67,296,40,19,40,246,00*74
    $GPGSV,3,3,11,22,42,067,42,24,14,311,43,27,05,244,00,,,,*4D


    $GPGSV,1,1,13,02,02,213,,03,-3,000,,11,00,121,,14,13,172,05*62


1    = Total number of messages of this type in this cycle
2    = Message number
3    = Total number of SVs in view
4    = SV PRN number
5    = Elevation in degrees, 90 maximum
6    = Azimuth, degrees from true north, 000 to 359
7    = SNR, 00-99 dB (null when not tracking)
8-11 = Information about second SV, same as field 4-7
12-15= Information about third SV, same as field 4-7
16-19= Information about fourth SV, same as field 4-7


 


$GPHDT
Heading, True.
Actual vessel heading in degrees Ture produced by any device or system producing
true heading.
$--HDT,x.x,T
x.x = Heading, degrees True


 


$GPMSK
Control for a Beacon Receiver
  $GPMSK,318.0,A,100,M,2*45


where:
       318.0      Frequency to use
       A          Frequency mode, A=auto, M=manual
       100        Beacon bit rate
       M          Bitrate, A=auto, M=manual
       2          frequency for MSS message status (null for no status)
       *45        checksum


 


$GPMSS
Beacon Receiver Status
Example 1: $GPMSS,55,27,318.0,100,*66
where:
       55         signal strength in dB
       27         signal to noise ratio in dB
       318.0      Beacon Frequency in KHz
       100        Beacon bitrate in bps
       *66        checksum
Example 2: $GPMSS,0.0,0.0,0.0,25,2*6D
      FieldExampleComments
      Sentence ID$GPMSS
      Signal strength0.0Signal strength (dB 1uV)
      SNR0.0Signal to noise ratio (dB)
      Frequency0.0Beacon frequency (kHz)
      Data rate25Beacon data rate (BPS)
      Unknown field2Unknown field sent by GPS receiver used for test
      Checksum*6D


 




$GPR00
List of waypoint IDs in currently active route
eg1. $GPR00,EGLL,EGLM,EGTB,EGUB,EGTK,MBOT,EGTB,,,,,,,*58
eg2. $GPR00,MINST,CHATN,CHAT1,CHATW,CHATM,CHATE,003,004,005,006,007,,,*05


List of waypoints. This alternates with $GPWPL cycle
which itself cycles waypoints.


 


$GPRMA
Recommended minimum specific Loran-C data
eg. $GPRMA,A,lll,N,lll,W,x,y,ss.s,ccc,vv.v,W*hh
A    = Data status
lll  = Latitude
N    = N/S
lll  = longitude
S    = W/E
x    = not used
y    = not used
ss.s = Speed over ground in knots
ccc  = Course over ground
vv.v = Variation
W    = Direction of variation E/W
hh   = Checksum


 


$GPRMB
Recommended minimum navigation information (sent by nav. receiver when a
destination waypoint is active)
eg1. $GPRMB,A,0.66,L,003,004,4917.24,N,12309.57,W,001.3,052.5,000.5,V*0B


           A            Data status A OK, V warning
           0.66,L       Cross-track error (nautical miles, 9.9 max.),
                                steer Left to correct (or R = right)
           003          Origin waypoint ID
           004          Destination waypoint ID
           4917.24,N    Destination waypoint latitude 49 deg. 17.24 min. N
           12309.57,W   Destination waypoint longitude 123 deg. 09.57 min. W
           001.3        Range to destination, nautical miles
           052.5        True bearing to destination
           000.5        Velocity towards destination, knots           V            Arrival alarm  A arrived, V not arrived
           *0B          mandatory checksum


eg2. $GPRMB,A,4.08,L,EGLL,EGLM,5130.02,N,00046.34,W,004.6,213.9,122.9,A*3D
            1   2  3   4    5    6     7   8      9   10    11    12   13
 
      1    A         validity
      2    4.08      off track
      3    L         Steer Left (L/R)
      4    EGLL      last waypoint
      5    EGLM      next waypoint
      6    5130.02   Latitude of Next waypoint
      7    N         North/South
      8    00046.34  Longitude of next waypoint
      9    W         East/West
      10   004.6     Range
      11   213.9     bearing to waypt.
      12   122.9     closing velocity
      13   A         validity
      14   *3D       checksum


eg3. $GPRMB,A,x.x,a,c--c,d--d,llll.ll,e,yyyyy.yy,f,g.g,h.h,i.i,j*kk
1    = Data Status (V=navigation receiver warning)
2    = Crosstrack error in nautical miles
3    = Direction to steer (L or R) to correct error
4    = Origin waypoint ID#
5    = Destination waypoint ID#
6    = Destination waypoint latitude
7    = N or S
8    = Destination waypoint longitude
9    = E or W
10   = Range to destination in nautical miles
11   = Bearing to destination, degrees True
12   = Destination closing velocity in knots
13   = Arrival status; (A=entered or perpendicular passed)
14   = Checksum


 


$GPRMC
Recommended minimum specific GPS/Transit data
eg1. $GPRMC,081836,A,3751.65,S,14507.36,E,000.0,360.0,130998,011.3,E*62
eg2. $GPRMC,225446,A,4916.45,N,12311.12,W,000.5,054.7,191194,020.3,E*68


           225446       Time of fix 22:54:46 UTC           A            Navigation receiver warning A Valid position, V Warning
           4916.45,N    Latitude 49 deg. 16.45 min. North
           12311.12,W   Longitude 123 deg. 11.12 min. West
           000.5        Speed over ground, Knots
           054.7        Course Made Good, degrees true
           191194       UTC Date of fix, 19 November 1994
           020.3,E      Magnetic variation, 20.3 deg. East
           *68          mandatory checksum


eg3. $GPRMC,220516,A,5133.82,N,00042.24,W,173.8,231.8,130694,004.2,W*70
              1    2    3    4    5     6    7    8      9     10  11 12


      1   220516     Time Stamp
      2   A          validity - A-ok, V-invalid
      3   5133.82    current Latitude
      4   N          North/South
      5   00042.24   current Longitude
      6   W          East/West
      7   173.8      Speed in knots
      8   231.8      True course
      9   130694     Date Stamp
      10  004.2      Variation
      11  W          East/West
      12  *70        checksum


eg4. for NMEA 0183 version 3.00 active the Mode indicator field is added
     $GPRMC,hhmmss.ss,A,llll.ll,a,yyyyy.yy,a,x.x,x.x,ddmmyy,x.x,a,m*hh
Field #
1    = UTC time of fix
2    = Data status (A=Valid position, V=navigation receiver warning)
3    = Latitude of fix
4    = N or S of longitude
5    = Longitude of fix
6    = E or W of longitude
7    = Speed over ground in knots
8    = Track made good in degrees True
9    = UTC date of fix
10   = Magnetic variation degrees (Easterly var. subtracts from true course)
11   = E or W of magnetic variation
12   = Mode indicator, (A=Autonomous, D=Differential, E=Estimated, N=Data not valid)
13   = Checksum


 


$GPRTE
Routes
eg. $GPRTE,2,1,c,0,PBRCPK,PBRTO,PTELGR,PPLAND,PYAMBU,PPFAIR,PWARRN,PMORTL,PLISMR*73
    $GPRTE,2,2,c,0,PCRESY,GRYRIE,GCORIO,GWERR,GWESTG,7FED*34
           1 2 3 4 5 ..
Number of sentences in sequence
  Sentence number   'c' Current active route, 'w' waypoint list starts with destination
  waypoint
  Name or number of the active route
  onwards, Names of waypoints in Route


 


$GPTRF
Transit Fix Data
Time, date, position, and information related to a TRANSIT Fix.
$--TRF,hhmmss.ss,xxxxxx,llll.ll,a,yyyyy.yy,a,x.x,x.x,x.x,x.x,xxx
hhmmss.ss = UTC of position fix
xxxxxx = Date: dd/mm/yy
llll.ll,a = Latitude of position fix, N/S
yyyyy.yy,a = Longitude of position fix, E/W
x.x = Elevation angle
x.x = Number of iterations
x.x = Number of Doppler intervals
x.x = Update distance, nautical miles
x.x = Satellite ID


 


$GPSTN
Multiple Data ID.
This sentence is transmitted before each individual sentence where there is a
need for the Listener to determine the exact source of data in the system.
Examples might include dual-frequency depthsounding equipment or equipment that
integrates data from a number of sources and produces a single output.
$--STN,xx
xx = Talker ID number, 00 to 99


 


$GPVBW
Dual Ground / Water Speed
Water referenced and ground referenced speed data.
$--VBW,x.x,x.x,A,x.x,x.x,A
x.x = Longitudinal water speed, knots
x.x = Transverse water speed, knots A Status: Water speed, A Data valid
x.x = Longitudinal ground speed, knots
x.x = Transverse ground speed, knots A Status: Ground speed, A Data valid


 


$GPVTG
Track Made Good and Ground Speed.
eg1. $GPVTG,360.0,T,348.7,M,000.0,N,000.0,K*43
eg2. $GPVTG,054.7,T,034.4,M,005.5,N,010.2,K*41


           054.7,T      True course made good over ground, degrees
           034.4,M      Magnetic course made good over ground, degrees
           005.5,N      Ground speed, N=Knots
           010.2,K      Ground speed, K=Kilometers per hour


eg3. for NMEA 0183 version 3.00 active the Mode indicator field
     is added at the end
     $GPVTG,054.7,T,034.4,M,005.5,N,010.2,K,A*53
           A            Mode indicator (A=Autonomous, D=Differential,
                        E=Estimated, N=Data not valid)


 


$GPWPL
Waypoint location
eg1. $GPWPL,4917.16,N,12310.64,W,003*65


           4917.16,N    Latitude of waypoint
           12310.64,W   Longitude of waypoint
           003          Waypoint ID


             When a route is active, this sentence is sent once for each
             waypoint in the route, in sequence. When all waypoints have
             been reported, GPR00 is sent in the next data set. In any
             group of sentences, only one WPL sentence, or an R00
             sentence, will be sent.


eg2.  $GPWPL,5128.62,N,00027.58,W,EGLL*59
         1     2     3    4  5   6


      1    5128.62   Latitude of nth waypoint on list
      2    N         North/South
      3    00027.58  Longitude of nth waypoint
      4    W         East/West
      5    EGLL      Ident of nth waypoint
      6    *59       checksum


 


$GPXTE
Cross Track Error, Measured
eg1. $GPXTE,A,A,0.67,L,N


           A            General warning flag V = warning
                                (Loran-C Blink or SNR warning)
           A            Not used for GPS (Loran-C cycle lock flag)
           0.67         cross track error distance
           L            Steer left to correct error (or R for right)
           N            Distance units - Nautical miles


eg2. $GPXTE,A,A,4.07,L,N*6D
            1 2  3   4 5 6


      1    A         validity
      2    A         cycle lock
      3    4.07      distance off track
      4    L         steer left (L/R)
      5    N         distance units
      6    *6D       checksum


 


$GPZDA
UTC Date / Time and Local Time Zone Offset
Example 1: $GPZDA,hhmmss.ss,xx,xx,xxxx,xx,xx
hhmmss.ss = UTC
xx = Day, 01 to 31
xx = Month, 01 to 12
xxxx = Year
xx = Local zone description, 00 to +/- 13 hours
xx = Local zone minutes description (same sign as hours)
Example 2: $GPZDA,024611.08,25,03,2002,00,00*6A
      FieldExampleComments
      Sentence ID$GPZDA
      UTC Time024611.08UTC time
      UTC Day25UTC day (01 to 31)
      UTC Month03UTC month (01 to 12)
      UTC Year2002UTC year (4 digit format)
      Local zone hours00Offset to local time zone in hours (+/- 00 to +/- 59)
      Local zone minutes00Offset to local time zone in minutes (00 to 59)
      Checksum*6A


[ Top ]


 


12 interpreted Garmin proprietary sentences transmitted by GPS unit
   $HCHDG  - Compass Heading
   $PGRMB  - DGPS Beacon Information
   $PGRMC  - Sensor Configuration Information
   $PGRMC1 - Additional Sensor Configuration Information
   $PGRME  - Estimated Position Error
   $PGRMF  - GPS Position Fix Data
   $PGRMI  - Sensor Initialization Information
   $PGRMM  - Map Datum
   $PGRMT  - Sensor Status Information
   $PGRMV  - 3D Velocity Information
   $PGRMZ  - Altitude Information
   $PSLIB  - Tune DPGS Beacon Receiver
[Top]


 


$HCHDG
Compass Heading
This sentence is used on Garmin eTrex summit, Vista and GPS76S receivers to
output the value of the internal flux-gate compass. Only the magnetic heading
and magnetic variation is shown in the message.
  $HCHDG,101.1,,,7.1,W*3C


where:
     HCHDG    Magnetic heading, deviation, variation
     101.1    heading
     ,,       deviation (no data)
     7.1,W    variation


 


$PGRMB
DGPS Beacon Information
$PGRMB,1,2,3,4,5,6,7,8,9*HH
1 = Tune frequency, Kilohertz (283.5 - 325.0 in 0.5 steps)
2 = Bit rate, Bits / second (0, 25, 50, 100, 200)
3 = SNR (Signal to Noise Ratio), 0 - 31
4 = Data Quality, 0 - 100
5 = Distance to beacon reference station
6 = Distance unit (K=Kilometres)
7 = Receiver communication status (0=Check wiring, 1=No signal, 2=Tuning,
3=Receiving, 4=Scanning)
8 = Fix source (R=RTCM, W=WAAS, N=Non-DPGS fix)
9 = DGPS Mode (A=Automatic, W=WAAS only, R=RTCM Only, N=None; DGPS disabled)
HH = Checksum


 


$PGRME
Estimated Position Error
eg. $PGRME,15.0,M,45.0,M,25.0,M*22


     15.0,M       Estimated horizontal position error (HPE), M=metres
     45.0,M       Estimated vertical position error (VPE), M=metres
     25.0,M       Overall spherical equivalent position error, M=metres


 


$PGRMF
GPS Position Fix Data
$PGRMF,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15*HH
1 = GPS week number
2 = GPS seconds in current week
3 = UTC date, ddmmyy format
4 = UTC time, hhmmss format
5 = GPS leap second count
6 = Latitude, dddmm.mmmm format
7 = Latitude hemisphere, N or S
8 = Longitude, dddmm.mmmm format
9 = Longitude hemisphere, E or W
10 = Mode (M=Manual, A=Automatic)
11 = Fix type (0=No fix, 1=2D fix, 2=3D fix)
12 = Speed over ground, kilometres / hour
13 = Course over ground, degrees true
14 = PDOP (Position dilution of precision), rounded to nearest integer
15 = TDOP (Time dilution of precision), rounded to nearest integer
HH = Checksum


 


$PGRMM
Map datum
Example 1: $PGRMM,Astrln Geod '66*51
'Astrln Geod 66' = Name of currently active datum
Example 2: $PGRMM,NAD27 Canada*2F
'NAD27 Canada' = Name of currently active datum


 


$PGRMT
Sensor Status Information
$PGRMT,1,2,3,4,5,6,7,8,9*HH
1 = Garmin product model and software version (eg. GPS 16 VER 2.10)
2 = ROM checksum test (P=Pass, F=Fail)
3 = Receiver failure discrete (P=Pass, F=Fail)
4 = Stored data lost (R=Retained, L=Lost)
5 = Real time clock lost (R=Retained, L=Lost)
6 = Oscillator drift discrete (P=Pass, F=Excessive drift detected)
7 = Data collection discrtete (C=Collecting, Null=Not Collecting)
8 = GPS sensor temperature (Degrees C)
9 = GPS sensor configuration data (R=Retained, L=Lost)
HH = Checksum


 


$PGRMV
3D Velocity Information
$PGRMV,1,2,3*HH
1 = True east velocity, metres / sec
2 = True north velocity, metres / sec
3 = Upward velocity, metres / sec
HH = Checksum


 


$PGRMZ
Altitude Information
eg1. $PGRMZ,246,f,3*1B
eg2. $PGRMZ,93,f,3*21
    
      93,f         Altitude in feet
       3            Position fix dimensions 2 = user altitude
                                            3 = GPS altitude
  This sentence shows in feet, regardless of units shown on the display.


eg3.  $PGRMZ,201,f,3*18
              1  2 3


      1  201   Altitude
      2  F     Units - f-Feet
      3  checksum


 


$PSLIB
Tune DPGS Beacon Receiver
Proprietary Differential Control sentences to control a Starlink differential
beacon receiver, assuming Garmin's DBR is made by Starlink.
eg1.    $PSLIB,290.5,100,J*22
eg2.    $PSLIB,300.0,200,K*23
These two sentences are normally sent together in each group of sentences from
the GPS.
The three fields are: Frequency, bit Rate, Request Type. The value in the third field may be: J status request, K configuration request, blank = tuning
message.
When the GPS receiver is set to change the DBR frequency or baud rate, the "J"
sentence is replaced (just once) by (for example): $PSLIB,320.0,200*59 to set
the DBR to 320 KHz, 200 baud.
To tune a Garmin GBR 21, GBR 23 or equivalent beacon receiver.
$PSLIB,1,2*HH
1 = Beacon tune frequency, Kilohertz (283.5 - 325.0 in 0.5 steps)
2 = Beacon bit rate, Bits / second (0, 25, 50, 100, 200
HH = Checksum
[ Top ]


 


8 interpreted Garmin proprietary sentences received by GPS unit
   $PGRMC   - Sensor Configuration Information
   $PGRMCE  - Sensor Configuration Information Enquiry
   $PGRMC1  - Additional Sensor Configuration Information
   $PGRMC1E - Additional Sensor Configuration Information Enquiry
   $PGRMI   - Sensor Initialization Information
   $PGRMIE  - Sensor Initialization Information Enquiry
   $PGRMO   - Output Sentence Enable / Disable
   $PSLIB   - Tune DPGS Beacon Receiver
A few Garmin GPS receiver units are known to receive these sentences, including
the GPS 16 and GPS 17 modules.
[Top]


 


$PGRMC
Sensor Configuration Information
Used to configure the GPS sensor's operation. The GPS will also transmit this
sentence upon receiving this same sentence or the $PGRMCE sentence.
$PGRMC,1,2,3,4,5,6,7,8,9,10,11,12,13,14*HH
1 = Fix mode (A=Automatic, 2=2D exclusively; host system must supply altitude,
3=3D exclusively)
2 = Altitude above/below mean sea level, metres
3 = Earth datum index. If the user datum index is specified (96), fields 4 to 8
must contain valid values, otherwise they must be blank.
4 = Semi-major axis, metres, 0.001 metre resolution
5 = Inverse flattening factor, 285 to 310, 10e-9 resolution
6 = Delta X earth centred coordinate, metres, -5000 to 5000, 1 metre resolution
7 = Delta Y earth centred coordinate, metres, -5000 to 5000, 1 metre resolution
8 = Delta Z earth centred coordinate, metres, -5000 to 5000, 1 metre resolution
9 = Differential mode (A=Automatic; output DGPS fixes when available otherwise
non-DGPS, D=Only output differential fixes)
10 = NMEA 0183 baud rate (1=1200, 2=2400, 3=4800, 4=9600, 5=19200, 6=300, 7=600)
11 = Velocity filter (0=None, 1=Automatic, 2-255=Filter time constant; seconds)
12 = PPS mode (1=None, 2=1 Hertz)13 PPS pulse length, N 0 to 48. Length (milliseconds) = (N+1)*20
14 = Dead reckoning valid time, 1 to 30, seconds
HH = Checksum


 


$PGRMCE
Sensor Configuration Information Enquiry
The unit will respond by transmitting a $PGRMC sentence containing the current
default values.
$PGRMCE*HH
HH = Checksum


 


$PGRMC1
Additional Sensor Configuration Information
Used to configure additional aspects of the GPS sensor's operation. The GPS will
also transmit this sentence upon receiving this same sentence or the $PGRMC1E
sentence.
$PGRMC1,1,2,3,4,5,6,7,8,9*HH
1 = NMEA 0183 output time, 1-900, seconds (Not applicable to GPS16A)
2 = Binary phase output data (1=Off, 2=On)
3 = Position pinning (1=Off, 2=On)
4 = DGPS beacon frequency, Kilohertz, 283.5 to 325.0 in 0.5 steps
5 = DGPS beacon bit rate (0, 25, 50, 100, 200)
6 = DGPS beacon scanning (1=Off, 2=On)
7 = NMEA 0183 version 3.00 mode indicator (1=Off, 2=On)
8 = DGPS mode (A=Automatic, W=WAAS only, R=RTCM only, N=None; DGPS disabled)
9 = Power save mode (P=Activated, N=Normal)
HH = Checksum


 


$PGRMC1E
Additional Sensor Configuration Information Enquiry
The unit will respond by transmitting a $PGRMC1 sentence containing the current
default values.
$PGRMC1E*HH
HH = Checksum


 


$PGRMI
Sensor Initialization Information
Used to set the GPS sensor's set time and position and then commences satellite
acquisition. The GPS will also transmit this sentence upon receiving this same
sentence or the $PGRMIE sentence.
$PGRMI,1,2,3,4,5,6,7*HH
1 = Latitude, dddmm.mmm format
2 = Latitude hemisphere, N or S
3 = Longitude, dddmm.mmm format
4 = Longitude hemisphere, N or S
5 = Current UTC date, ddmmyy format
6 = Current UTC time, hhmmss format
7 = Receiver command (A=Auto locate, R=Unit reset)
HH = Checksum


 


$PGRMIE
Sensor Initialization Information Enquiry
The unit will respond by transmitting a $PGRMI sentence containing the current
default values.
$PGRMIE*HH
HH = Checksum


 


$PGRMO
Output Sentence Enable / Disable
$PGRMO,xxxxx,n*HH
xxxxx = Target sentence name (eg. GPGGA, GPGSA)
n = Target mode (0=Disable specified sentence, 1=Enable specified sentence,
2=Disable all output sentences except PSLIB, 3=Enable all output sentences
except GPALM, 4=Restore factory defaults)
HH = Checksum
[ Top ]


 


Format of latitudes and longitudes
Where a numeric latitude or longitude is given, the two digits immediately to
the left of the decimal point are whole minutes, to the right are decimals of
minutes, and the remaining digits to the left of the whole minutes are whole
degrees.
eg. 4533.35 is 45 degrees and 33.35 minutes. ".35" of a minute is exactly 21
seconds.
eg. 16708.033 is 167 degrees and 8.033 minutes. ".033" of a minute is about 2
seconds.
[ Top ]


 


References
This information on NMEA sentences has been sourced from all over the 'net and I
make no apologies for any inaccuracies or errors. Still, it's useful stuff. I
wish to thank all the sources, which are listed on my GPS Links page. Please
contact me if you know of freely available interpretations of sentences which
are not on this page.
[Top]


 


Copyright © Glenn Baddeley 2003
http://home.pacific.net.au/~gnb/gps/nmea.html was last updated 29 Sep 2003.
0
Rejoignez-nous