/
nmea.html
1052 lines (992 loc) · 42.3 KB
/
nmea.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<html><head>
<title>Glenn Baddeley - GPS - NMEA sentence information</title>
</head><body bgcolor="#CCFFFF" text="#000000" link="#0000FF" vlink="#FF00FF" alink="#FF0000">
<a name="top"><h1 align=center>Glenn Baddeley - GPS - NMEA sentence information</h1>
<h2>Contents</h2>
<ul>
<li><a href="#allgp">All $GPxxx sentence codes and short descriptions</a>
<li><a href="#interp">26 interpreted sentences transmitted by GPS unit</a>
<li><a href="#garmin">12 interpreted Garmin proprietary sentences transmitted by GPS unit</a>
<li><a href="#garminreceived">8 interpreted Garmin proprietary sentences received by GPS unit</a>
<li><a href="#latlong">Format of latitudes and longitudes</a>
<li><a href="#refs">References</a>
</ul>
<a name="allgp"><p>[ <a href="#top">Top</a> ] [<a href="index.html">Glenn's GPS Contents Page</a>]
<hr size=3><h2>All $GPxxx sentence codes and short descriptions</h2>
<pre><ul>
<li>$GPAAM - Waypoint Arrival Alarm
<li>$GPALM - GPS Almanac Data
<li>$GPAPA - Autopilot format "A"
<li>$GPAPB - Autopilot format "B"
<li>$GPASD - Autopilot System Data
<li>$GPBEC - Bearing & Distance to Waypoint, Dead Reckoning
<li>$GPBOD - Bearing, Origin to Destination
<li>$GPBWC - Bearing & Distance to Waypoint, Great Circle
<li>$GPBWR - Bearing & Distance to Waypoint, Rhumb Line
<li>$GPBWW - Bearing, Waypoint to Waypoint
<li>$GPDBT - Depth Below Transducer
<li>$GPDCN - Decca Position
<li>$GPDPT - Depth
<li>$GPFSI - Frequency Set Information
<li>$GPGGA - Global Positioning System Fix Data
<li>$GPGLC - Geographic Position, Loran-C
<li>$GPGLL - Geographic Position, Latitude/Longitude
<li>$GPGRS - GPS Range Residuals
<li>$GPGSA - GPS DOP and Active Satellites
<li>$GPGST - GPS Pseudorange Noise Statistics
<li>$GPGSV - GPS Satellites in View
<li>$GPGXA - TRANSIT Position
<li>$GPHDG - Heading, Deviation & Variation
<li>$GPHDT - Heading, True
<li>$GPHSC - Heading Steering Command
<li>$GPLCD - Loran-C Signal Data
<li>$GPMSK - Control for a Beacon Receiver
<li>$GPMSS - Beacon Receiver Status
<li>$GPMTA - Air Temperature (to be phased out)
<li>$GPMTW - Water Temperature
<li>$GPMWD - Wind Direction
<li>$GPMWV - Wind Speed and Angle
<li>$GPOLN - Omega Lane Numbers
<li>$GPOSD - Own Ship Data
<li>$GPR00 - Waypoint active route (not standard)
<li>$GPRMA - Recommended Minimum Specific Loran-C Data
<li>$GPRMB - Recommended Minimum Navigation Information
<li>$GPRMC - Recommended Minimum Specific GPS/TRANSIT Data
<li>$GPROT - Rate of Turn
<li>$GPRPM - Revolutions
<li>$GPRSA - Rudder Sensor Angle
<li>$GPRSD - RADAR System Data
<li>$GPRTE - Routes
<li>$GPSFI - Scanning Frequency Information
<li>$GPSTN - Multiple Data ID
<li>$GPTRF - Transit Fix Data
<li>$GPTTM - Tracked Target Message
<li>$GPVBW - Dual Ground/Water Speed
<li>$GPVDR - Set and Drift
<li>$GPVHW - Water Speed and Heading
<li>$GPVLW - Distance Traveled through the Water
<li>$GPVPW - Speed, Measured Parallel to Wind
<li>$GPVTG - Track Made Good and Ground Speed
<li>$GPWCV - Waypoint Closure Velocity
<li>$GPWNC - Distance, Waypoint to Waypoint
<li>$GPWPL - Waypoint Location
<li>$GPXDR - Transducer Measurements
<li>$GPXTE - Cross-Track Error, Measured
<li>$GPXTR - Cross-Track Error, Dead Reckoning
<li>$GPZDA - UTC Date / Time and Local Time Zone Offset
<li>$GPZFO - UTC & Time from Origin Waypoint
<li>$GPZTG - UTC & Time to Destination Waypoint
</ul></pre>
<a name="interp"><p>[<a href="#top">Top</a>]
<hr size=3><h2>26 interpreted sentences transmitted by GPS unit</h2>
<pre>
<a href="#gpaam">$GPAAM</a> - Waypoint Arrival Alarm
<a href="#gpalm">$GPALM</a> - GPS Almanac Data <b>(Can also be received by GPS unit)</b>
<a href="#gpapb">$GPAPB</a> - Autopilot format "B"
<a href="#gpbod">$GPBOD</a> - Bearing, origin to destination
<a href="#gpbwc">$GPBWC</a> - Bearing and distance to waypoint, great circle
<a href="#gpgga">$GPGGA</a> - Global Positioning System Fix Data
<a href="#gpgll">$GPGLL</a> - Geographic position, latitude / longitude
<a href="#gpgrs">$GPGRS</a> - GPS Range Residuals
<a href="#gpgsa">$GPGSA</a> - GPS DOP and active satellites
<a href="#gpgst">$GPGST</a> - GPS Pseudorange Noise Statistics
<a href="#gpgsv">$GPGSV</a> - GPS Satellites in view
<a href="#gphdt">$GPHDT</a> - Heading, True
<a href="#gpmsk">$GPMSK</a> - Control for a Beacon Receiver
<a href="#gpmss">$GPMSS</a> - Beacon Receiver Status
<a href="#gpr00">$GPR00</a> - List of waypoints in currently active route
<a href="#gprma">$GPRMA</a> - Recommended minimum specific Loran-C data
<a href="#gprmb">$GPRMB</a> - Recommended minimum navigation info
<a href="#gprmc">$GPRMC</a> - Recommended minimum specific GPS/Transit data
<a href="#gprte">$GPRTE</a> - Routes
<a href="#gptrf">$GPTRF</a> - Transit Fix Data
<a href="#gpstn">$GPSTN</a> - Multiple Data ID
<a href="#gpvbw">$GPVBW</a> - Dual Ground / Water Speed
<a href="#gpvtg">$GPVTG</a> - Track made good and ground speed
<a href="#gpwpl">$GPWPL</a> - Waypoint location
<a href="#gpxte">$GPXTE</a> - Cross-track error, Measured
<a href="#gpzda">$GPZDA</a> - UTC Date / Time and Local Time Zone Offset
</pre>
<p>There is a full list of $GPxxx sentence codes <a href="#allgp">available</a>, without links to format details.
<p>[<a href="#top">Top</a>]
<hr size=1><a name="gpaam"><h2>$GPAAM</h2>
<p>Waypoint Arrival Alarm
<p>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.
<pre>
$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
</pre>
<hr size=1><a name="gpalm"><h2>$GPALM</h2>
<p>GPS Almanac Data
<p>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.
<p>Example 1: $GPALM,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,*CC
<pre>
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
</pre>
<p>Example 2: $GPALM,1,1,15,1159,00,441d,4e,16be,fd5e,a10c9f,4a2da4,686e81,58cbe1,0a4,001*5B
<p><TABLE BORDER="1">
<TR><th>Field</th><th>Example</th><th>Comments</th></TR>
<TR><TD>Sentence ID</TD><TD>$GPALM</TD><TD> </TD></TR>
<TR><TD>Number of messages</TD><TD>1</TD><TD>Total number of messages in sequence</TD></TR>
<TR><TD>Sequence number</TD><TD>1</TD><TD>This is first message in sequence</TD></TR>
<TR><TD>Satellite PRN</TD><TD>15</TD><TD>Unique ID (PRN) of satellite message relates to</TD></TR>
<TR><TD>GPS week number</TD><TD>1159</TD><TD> </TD></TR>
<TR><TD>SV health</TD><TD>00</TD><TD>Bits 17-24 of almanac page</TD></TR>
<TR><TD>Eccentricity</TD><TD>441d</TD><TD> </TD></TR>
<TR><TD>Reference time</TD><TD>4e</TD><TD>Almanac reference time</TD></TR>
<TR><TD>Inclination angle</TD><TD>16be</TD><TD> </TD></TR>
<TR><TD>Rate of right ascension</TD><TD>fd5e</TD><TD> </TD></TR>
<TR><TD>Roor of semi-major axis</TD><TD>a10c9f</TD><TD> </TD></TR>
<TR><TD>Argument of perigee</TD><TD>4a2da4</TD><TD> </TD></TR>
<TR><TD>Longitude of ascension node</TD><TD>686e81</TD><TD> </TD></TR>
<TR><TD>Mean anomoly</TD><TD>58cbe1</TD><TD> </TD></TR>
<TR><TD>F0 clock parameter</TD><TD>0a4</TD><TD> </TD></TR>
<TR><TD>F1 clock parameter</TD><TD>001</TD><TD> </TD></TR>
<TR><TD>Checksum</TD><TD>*5B</TD><TD> </TD></TR>
</TABLE><p>
<hr size=1><a name="gpapb"><h2>$GPAPB</h2>
<p>Autopilot format "B"
<p>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.
<p>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.
<pre>
$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)
</pre>
<hr size=1><a name="gpbod"><h2>$GPBOD</h2>
<p>Bearing Origin to Destination
<pre>
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
</pre>
<p>Example 1: $GPBOD,099.3,T,105.6,M,POINTB,*01<br>
Waypoint ID: "POINTB" Bearing 99.3 True, 105.6 Magnetic <br>
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.
<p>Example 2: $GPBOD,097.0,T,103.2,M,POINTB,POINTA*52<br>
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.)
<hr size=1><a name="gpbwc"><h2>$GPBWC</h2>
<p>Bearing and distance to waypoint, great circle
<pre>
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
<br>
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
<br>
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
</pre>
<hr size=1><a name="gpgga"><h2>$GPGGA</h2>
<p>Global Positioning System Fix Data
<p>eg1. $GPGGA,170834,4124.8963,N,08151.6838,W,1,05,1.5,280.2,M,-34.0,M,,,*75
<p><table BORDER="1">
<tr ALIGN="left">
<th>Name </th>
<th>Example Data </th>
<th>Description </th>
</tr>
<tr>
<td>Sentence Identifier</td>
<td>$GPGGA</td>
<td>Global Positioning System Fix Data</td>
</tr>
<tr>
<td>Time</td>
<td>170834</td>
<td>17:08:34 UTC</td>
</tr>
<tr>
<td>Latitude</td>
<td>4124.8963, N</td>
<td>41d 24.8963' N or 41d 24' 54" N</td>
</tr>
<tr>
<td>Longitude</td>
<td>08151.6838, W</td>
<td>81d 51.6838' W or 81d 51' 41" W</td>
</tr>
<tr>
<td>Fix Quality:<br>
- 0 = Invalid<br>
- 1 = GPS fix<br>
- 2 = DGPS fix</td>
<td>1</td>
<td>Data is from a GPS fix</td>
</tr>
<tr>
<td>Number of Satellites</td>
<td>05</td>
<td>5 Satellites are in view</td>
</tr>
<tr>
<td>Horizontal Dilution of Precision (HDOP)</td>
<td>1.5</td>
<td>Relative accuracy of horizontal position</td>
</tr>
<tr>
<td>Altitude</td>
<td>280.2, M</td>
<td>280.2 meters above mean sea level</td>
</tr>
<tr>
<td>Height of geoid above WGS84 ellipsoid</td>
<td>-34.0, M</td>
<td>-34.0 meters</td>
</tr>
<tr>
<td>Time since last DGPS update</td>
<td>blank</td>
<td>No last update</td>
</tr>
<tr>
<td>DGPS reference station id</td>
<td>blank</td>
<td>No station id</td>
</tr>
<tr>
<td>Checksum</td>
<td>*75</td>
<td>Used by program to check for transmission errors</td>
</tr>
</table>
<p>Courtesy of Brian McClure, N8PQI.
<p>Global Positioning System Fix Data.
Time, position and fix related data for a GPS receiver.
<p>eg2. $GPGGA,hhmmss.ss,ddmm.mmm,a,dddmm.mmm,b,q,xx,p.p,a.b,M,c.d,M,x.x,nnnn
<p>hhmmss.ss = UTC of position <br>
ddmm.mmm = latitude of position<br>
a = N or S, latitutde hemisphere<br>
dddmm.mmm = longitude of position<br>
b = E or W, longitude hemisphere <br>
q = GPS Quality indicator (0=No fix, 1=Non-differential GPS fix, 2=Differential GPS fix, 6=Estimated fix) <br>
xx = number of satellites in use <br>
p.p = horizontal dilution of precision <br>
a.b = Antenna altitude above mean-sea-level<br>
M = units of antenna altitude, meters <br>
c.d = Geoidal height<br>
M = units of geoidal height, meters <br>
x.x = Age of Differential GPS data (seconds since last valid RTCM transmission) <br>
nnnn = Differential reference station ID, 0000 to 1023 <br>
<hr size=1><a name="gpgll"><h2>$GPGLL</h2>
<p>Geographic Position, Latitude / Longitude and time.
<pre>
eg1. $GPGLL,3751.65,S,14507.36,E*77
eg2. $GPGLL,4916.45,N,12311.12,W,225444,A
<br>
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
<br>
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
</pre>
<p>$--GLL,lll.ll,a,yyyyy.yy,a,hhmmss.ss,A llll.ll = Latitude of position
<p>a = N or S <br>
yyyyy.yy = Longitude of position <br>
a = E or W <br>
hhmmss.ss = UTC of position <br>
A = status: A = valid data <br>
<hr size=1><a name="gpgrs"><h2>$GPGRS</h2>
<p>GPS Range Residuals
<p>Example: $GPGRS,024603.00,1,-1.8,-2.7,0.3,,,,,,,,,*6C
<p><TABLE BORDER="1">
<TR><th>Field</th><th>Example</th><th>Comments</th></TR>
<TR><TD>Sentence ID</TD><TD>$GPGRS</TD><TD> </TD></TR>
<TR><TD>UTC Time</TD><TD>024603.00</TD><TD>UTC time of associated GGA fix</TD></TR>
<TR><TD>Mode</TD><TD>1</TD><TD>0 = Residuals used in GGA, 1 = residuals calculated after GGA</TD></TR>
<TR><TD>Sat 1 residual</TD><TD>-1.8</TD><TD>Residual (meters) of satellite 1 in solution</TD></TR>
<TR><TD>Sat 2 residual</TD><TD>-2.7</TD><TD>The order matches the PRN numbers in the GSA sentence</TD></TR>
<TR><TD>Sat 3 residual</TD><TD>0.3</TD><TD> </TD></TR>
<TR><TD>Sat 4 residual</TD><TD> </TD><TD>Unused entries are blank</TD></TR>
<TR><TD>Sat 5 residual</TD><TD> </TD><TD> </TD></TR>
<TR><TD>Sat 6 residual</TD><TD> </TD><TD> </TD></TR>
<TR><TD>Sat 7 residual</TD><TD> </TD><TD> </TD></TR>
<TR><TD>Sat 8 residual</TD><TD> </TD><TD> </TD></TR>
<TR><TD>Sat 9 residual</TD><TD> </TD><TD> </TD></TR>
<TR><TD>Sat 10 residual</TD><TD> </TD><TD> </TD></TR>
<TR><TD>Sat 11 residual</TD><TD> </TD><TD> </TD></TR>
<TR><TD>Sat 12 residual</TD><TD> </TD><TD> </TD></TR>
<TR><TD>Checksum</TD><TD>*6C</TD><TD> </TD></TR>
</TABLE><p>
<hr size=1><a name="gpgsa"><h2>$GPGSA</h2>
<p>GPS DOP and active satellites
<pre>
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
<br>
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)
</pre>
<hr size=1><a name="gpgst"><h2>$GPGST</h2>
<p>GPS Pseudorange Noise Statistics
<p>Example: $GPGST,024603.00,3.2,6.6,4.7,47.3,5.8,5.6,22.0*58
<p><TABLE BORDER="1">
<TR><th>Field</th><th>Example</th><th>Comments</th></TR>
<TR><TD>Sentence ID</TD><TD>$GPGST</TD><TD> </TD></TR>
<TR><TD>UTC Time</TD><TD>024603.00</TD><TD>UTC time of associated GGA fix</TD></TR>
<TR><TD>RMS deviation</TD><TD>3.2</TD><TD>Total RMS standard deviation of ranges inputs to the navigation solution</TD></TR>
<TR><TD>Semi-major deviation</TD><TD>6.6</TD><TD>Standard deviation (meters) of semi-major axis of error ellipse</TD></TR>
<TR><TD>Semi-minor deviation</TD><TD>4.7</TD><TD>Standard deviation (meters) of semi-minor axis of error ellipse</TD></TR>
<TR><TD>Semi-major orientation</TD><TD>47.3</TD><TD>Orientation of semi-major axis of error ellipse (true north degrees)</TD></TR>
<TR><TD>Latitude error deviation</TD><TD>5.8</TD><TD>Standard deviation (meters) of latitude error</TD></TR>
<TR><TD>Longitude error deviation</TD><TD>5.6</TD><TD>Standard deviation (meters) of longitude error</TD></TR>
<TR><TD>Altitude error deviation</TD><TD>22.0</TD><TD>Standard deviation (meters) of latitude error</TD></TR>
<TR><TD>Checksum</TD><TD>*58</TD><TD> </TD></TR>
</TABLE><p>
<hr size=1><a name="gpgsv"><h2>$GPGSV</h2>
<p>GPS Satellites in view
<pre>
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
<br>
$GPGSV,1,1,13,02,02,213,,03,-3,000,,11,00,121,,14,13,172,05*62
<br>
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
</pre>
<hr size=1><a name="gphdt"><h2>$GPHDT</h2>
<p>Heading, True.
<p>Actual vessel heading in degrees Ture produced by any device or system producing true heading.
<p>$--HDT,x.x,T<br>
x.x = Heading, degrees True
<hr size=1><a name="gpmsk"><h2>$GPMSK</h2>
<p>Control for a Beacon Receiver
<pre>
$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
</pre>
<hr size=1><a name="gpmss"><h2>$GPMSS</h2>
<p>Beacon Receiver Status
<p>Example 1: $GPMSS,55,27,318.0,100,*66
<pre>
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
</pre>
<p>Example 2: $GPMSS,0.0,0.0,0.0,25,2*6D
<p><TABLE BORDER="1">
<TR><th>Field</th><th>Example</th><th>Comments</th></TR>
<TR><TD>Sentence ID</TD><TD>$GPMSS</TD><TD> </TD></TR>
<TR><TD>Signal strength</TD><TD>0.0</TD><TD>Signal strength (dB 1uV)</TD></TR>
<TR><TD>SNR</TD><TD>0.0</TD><TD>Signal to noise ratio (dB)</TD></TR>
<TR><TD>Frequency</TD><TD>0.0</TD><TD>Beacon frequency (kHz)</TD></TR>
<TR><TD>Data rate</TD><TD>25</TD><TD>Beacon data rate (BPS)</TD></TR>
<TR><TD>Unknown field</TD><TD>2</TD><TD>Unknown field sent by GPS receiver used for test</TD></TR>
<TR><TD>Checksum</TD><TD>*6D</TD><TD> </TD></TR>
</TABLE><p>
<hr size=1><a name="gpr00"><h2>$GPR00</h2>
<p>List of waypoint IDs in currently active route
<pre>
eg1. $GPR00,EGLL,EGLM,EGTB,EGUB,EGTK,MBOT,EGTB,,,,,,,*58
eg2. $GPR00,MINST,CHATN,CHAT1,CHATW,CHATM,CHATE,003,004,005,006,007,,,*05
<br>
List of waypoints. This alternates with $GPWPL cycle
which itself cycles waypoints.
</pre>
<hr size=1><a name="gprma"><h2>$GPRMA</h2>
<p>Recommended minimum specific Loran-C data
<pre>
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
</pre>
<hr size=1><a name="gprmb"><h2>$GPRMB</h2>
<p>Recommended minimum navigation information (sent by nav.
receiver when a destination waypoint is active)
<pre>
eg1. $GPRMB,A,0.66,L,003,004,4917.24,N,12309.57,W,001.3,052.5,000.5,V*0B
<br>
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
<br>
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
<br>
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
<br>
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
</pre>
<hr size=1><a name="gprmc"><h2>$GPRMC</h2>
<p>Recommended minimum specific GPS/Transit data
<pre>
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
<br>
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
<br>
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
<br>
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
<br>
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
</pre>
<hr size=1><a name="gprte"><h2>$GPRTE</h2>
<p>Routes
<pre>
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 ..
</pre>
<ol>
<li>Number of sentences in sequence
<li>Sentence number
<li>'c' = Current active route, 'w' = waypoint list starts with destination waypoint
<li>Name or number of the active route
<li>onwards, Names of waypoints in Route
</ol>
<hr size=1><a name="gptrf"><h2>$GPTRF</h2>
<p>Transit Fix Data
<p>Time, date, position, and information related to a TRANSIT Fix.
<p>$--TRF,hhmmss.ss,xxxxxx,llll.ll,a,yyyyy.yy,a,x.x,x.x,x.x,x.x,xxx<br>
hhmmss.ss = UTC of position fix <br>
xxxxxx = Date: dd/mm/yy <br>
llll.ll,a = Latitude of position fix, N/S <br>
yyyyy.yy,a = Longitude of position fix, E/W <br>
x.x = Elevation angle <br>
x.x = Number of iterations<br>
x.x = Number of Doppler intervals <br>
x.x = Update distance, nautical miles <br>
x.x = Satellite ID
<hr size=1><a name="gpstn"><h2>$GPSTN</h2>
<p>Multiple Data ID.
<p>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.
<p>$--STN,xx<br>
xx = Talker ID number, 00 to 99
<hr size=1><a name="gpvbw"><h2>$GPVBW</h2>
<p>Dual Ground / Water Speed
<p>Water referenced and ground referenced speed data.
<p>$--VBW,x.x,x.x,A,x.x,x.x,A<br>
x.x = Longitudinal water speed, knots <br>
x.x = Transverse water speed, knots <br>
A = Status: Water speed, A = Data valid <br>
x.x = Longitudinal ground speed, knots <br>
x.x = Transverse ground speed, knots <br>
A = Status: Ground speed, A = Data valid
<hr size=1><a name="gpvtg"><h2>$GPVTG</h2>
<p>Track Made Good and Ground Speed.
<pre>
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
<br>
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
<br>
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)
</pre>
<hr size=1><a name="gpwpl"><h2>$GPWPL</h2>
<p>Waypoint location
<pre>
eg1. $GPWPL,4917.16,N,12310.64,W,003*65
<br>
4917.16,N Latitude of waypoint
12310.64,W Longitude of waypoint
003 Waypoint ID
<br>
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.
<br>
eg2. $GPWPL,5128.62,N,00027.58,W,EGLL*59
1 2 3 4 5 6
<br>
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
</pre>
<hr size=1><a name="gpxte"><h2>$GPXTE</h2>
<p>Cross Track Error, Measured
<pre>
eg1. $GPXTE,A,A,0.67,L,N
<br>
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
<br>
eg2. $GPXTE,A,A,4.07,L,N*6D
1 2 3 4 5 6
<br>
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
</pre>
<hr size=1><a name="gpzda"><h2>$GPZDA</h2>
<p>UTC Date / Time and Local Time Zone Offset
<p>Example 1: $GPZDA,hhmmss.ss,xx,xx,xxxx,xx,xx
<pre>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)
</pre>
<p>Example 2: $GPZDA,024611.08,25,03,2002,00,00*6A
<p><TABLE BORDER="1">
<TR><th>Field</th><th>Example</th><th>Comments</th></TR>
<TR><TD>Sentence ID</TD><TD>$GPZDA</TD><TD> </TD></TR>
<TR><TD>UTC Time</TD><TD>024611.08</TD><TD>UTC time</TD></TR>
<TR><TD>UTC Day</TD><TD>25</TD><TD>UTC day (01 to 31)</TD></TR>
<TR><TD>UTC Month</TD><TD>03</TD><TD>UTC month (01 to 12)</TD></TR>
<TR><TD>UTC Year</TD><TD>2002</TD><TD>UTC year (4 digit format)</TD></TR>
<TR><TD>Local zone hours</TD><TD>00</TD><TD>Offset to local time zone in hours (+/- 00 to +/- 59)</TD></TR>
<TR><TD>Local zone minutes</TD><TD>00</TD><TD>Offset to local time zone in minutes (00 to 59)</TD></TR>
<TR><TD>Checksum</TD><TD>*6A</TD><TD> </TD></TR>
</TABLE>
<a name="garmin"><p>[ <a href="#top">Top</a> ]
<hr size=3><h2>12 interpreted Garmin proprietary sentences transmitted by GPS unit</h2>
<pre>
<a href="#hchdg">$HCHDG</a> - Compass Heading
<a href="#pgrmb">$PGRMB</a> - DGPS Beacon Information
<a href="#pgrmc">$PGRMC</a> - Sensor Configuration Information
<a href="#pgrmc1">$PGRMC1</a> - Additional Sensor Configuration Information
<a href="#pgrme">$PGRME</a> - Estimated Position Error
<a href="#pgrmf">$PGRMF</a> - GPS Position Fix Data
<a href="#pgrmi">$PGRMI</a> - Sensor Initialization Information
<a href="#pgrmm">$PGRMM</a> - Map Datum
<a href="#pgrmt">$PGRMT</a> - Sensor Status Information
<a href="#pgrmv">$PGRMV</a> - 3D Velocity Information
<a href="#pgrmz">$PGRMZ</a> - Altitude Information
<a href="#pslib">$PSLIB</a> - Tune DPGS Beacon Receiver
</pre>
<p>[<a href="#top">Top</a>]
<hr size=1><a name="hchdg"><h2>$HCHDG</h2>
<p>Compass Heading
<p>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.
<pre>
$HCHDG,101.1,,,7.1,W*3C
where:
HCHDG Magnetic heading, deviation, variation
101.1 heading
,, deviation (no data)
7.1,W variation
</pre>
<hr size=1><a name="pgrmb"><h2>$PGRMB</h2>
<p>DGPS Beacon Information
<p>$PGRMB,1,2,3,4,5,6,7,8,9*HH<br>
1 = Tune frequency, Kilohertz (283.5 - 325.0 in 0.5 steps)<br>
2 = Bit rate, Bits / second (0, 25, 50, 100, 200)<br>
3 = SNR (Signal to Noise Ratio), 0 - 31<br>
4 = Data Quality, 0 - 100<br>
5 = Distance to beacon reference station<br>
6 = Distance unit (K=Kilometres)<br>
7 = Receiver communication status (0=Check wiring, 1=No signal, 2=Tuning, 3=Receiving, 4=Scanning)<br>
8 = Fix source (R=RTCM, W=WAAS, N=Non-DPGS fix)<br>
9 = DGPS Mode (A=Automatic, W=WAAS only, R=RTCM Only, N=None; DGPS disabled)<br>
HH = Checksum
<hr size=1><a name="pgrme"><h2>$PGRME</h2>
<p>Estimated Position Error
<pre>
eg. $PGRME,15.0,M,45.0,M,25.0,M*22
<br>
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
</pre>
<hr size=1><a name="pgrmf"><h2>$PGRMF</h2>
<p>GPS Position Fix Data
<p>$PGRMF,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15*HH<br>
1 = GPS week number<br>
2 = GPS seconds in current week<br>
3 = UTC date, ddmmyy format<br>
4 = UTC time, hhmmss format<br>
5 = GPS leap second count<br>
6 = Latitude, dddmm.mmmm format<br>
7 = Latitude hemisphere, N or S<br>
8 = Longitude, dddmm.mmmm format<br>
9 = Longitude hemisphere, E or W<br>
10 = Mode (M=Manual, A=Automatic)<br>
11 = Fix type (0=No fix, 1=2D fix, 2=3D fix)<br>
12 = Speed over ground, kilometres / hour<br>
13 = Course over ground, degrees true<br>
14 = PDOP (Position dilution of precision), rounded to nearest integer<br>
15 = TDOP (Time dilution of precision), rounded to nearest integer<br>
HH = Checksum
<hr size=1><a name="pgrmm"><h2>$PGRMM</h2>
<p>Map datum
<p>Example 1: $PGRMM,Astrln Geod '66*51
<p>'Astrln Geod 66' = Name of currently active datum
<p>Example 2: $PGRMM,NAD27 Canada*2F
<p>'NAD27 Canada' = Name of currently active datum
</pre>
<hr size=1><a name="pgrmt"><h2>$PGRMT</h2>
<p>Sensor Status Information
<p>$PGRMT,1,2,3,4,5,6,7,8,9*HH<br>
1 = Garmin product model and software version (eg. GPS 16 VER 2.10)<br>
2 = ROM checksum test (P=Pass, F=Fail)<br>
3 = Receiver failure discrete (P=Pass, F=Fail)<br>
4 = Stored data lost (R=Retained, L=Lost)<br>
5 = Real time clock lost (R=Retained, L=Lost)<br>
6 = Oscillator drift discrete (P=Pass, F=Excessive drift detected)<br>
7 = Data collection discrtete (C=Collecting, Null=Not Collecting)<br>
8 = GPS sensor temperature (Degrees C)<br>
9 = GPS sensor configuration data (R=Retained, L=Lost)<br>
HH = Checksum
<p>
<hr size=1><a name="pgrmv"><h2>$PGRMV</h2>
<p>3D Velocity Information
<p>$PGRMV,1,2,3*HH<br>
1 = True east velocity, metres / sec<br>
2 = True north velocity, metres / sec<br>
3 = Upward velocity, metres / sec<br>
HH = Checksum
<p>
<hr size=1><a name="pgrmz"><h2>$PGRMZ</h2>
<p>Altitude Information
<pre>
eg1. $PGRMZ,246,f,3*1B
eg2. $PGRMZ,93,f,3*21
<br>
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.
<br>
eg3. $PGRMZ,201,f,3*18
1 2 3
<br>
1 201 Altitude
2 F Units - f-Feet
3 checksum
</pre>
<hr size=1><a name="pslib"><h2>$PSLIB</h2>
<p>Tune DPGS Beacon Receiver
<p>Proprietary Differential Control sentences to control a Starlink differential beacon
receiver, assuming Garmin's DBR is made by Starlink.
<pre>
eg1. $PSLIB,290.5,100,J*22
eg2. $PSLIB,300.0,200,K*23
</pre>
<p>These two sentences are normally sent together in each group
of sentences from the GPS.
<p>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.
<p>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.
<p>To tune a Garmin GBR 21, GBR 23 or equivalent beacon receiver.
<p>$PSLIB,1,2*HH<br>
1 = Beacon tune frequency, Kilohertz (283.5 - 325.0 in 0.5 steps)<br>
2 = Beacon bit rate, Bits / second (0, 25, 50, 100, 200<br>
HH = Checksum
<a name="garminreceived"><p>[ <a href="#top">Top</a> ]
<hr size=3><h2>8 interpreted Garmin proprietary sentences received by GPS unit</h2>
<pre>
<a href="#pgrmc">$PGRMC</a> - Sensor Configuration Information
<a href="#pgrmce">$PGRMCE</a> - Sensor Configuration Information Enquiry
<a href="#pgrmc1">$PGRMC1</a> - Additional Sensor Configuration Information
<a href="#pgrmc1e">$PGRMC1E</a> - Additional Sensor Configuration Information Enquiry
<a href="#pgrmi">$PGRMI</a> - Sensor Initialization Information
<a href="#pgrmie">$PGRMIE</a> - Sensor Initialization Information Enquiry
<a href="#pgrmo">$PGRMO</a> - Output Sentence Enable / Disable
<a href="#pslib">$PSLIB</a> - Tune DPGS Beacon Receiver
</pre>
<p>A few Garmin GPS receiver units are known to receive these sentences, including
the GPS 16 and GPS 17 modules.
<p>[<a href="#top">Top</a>]
<hr size=1><a name="pgrmc"><h2>$PGRMC</h2>
<p>Sensor Configuration Information
<p>Used to configure the GPS sensor's operation. The GPS will also transmit
this sentence upon receiving this same sentence or the $PGRMCE sentence.
<p>$PGRMC,1,2,3,4,5,6,7,8,9,10,11,12,13,14*HH<br>
1 = Fix mode (A=Automatic, 2=2D exclusively; host system must supply altitude, 3=3D exclusively)<br>
2 = Altitude above/below mean sea level, metres<br>
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.<br>
4 = Semi-major axis, metres, 0.001 metre resolution<br>
5 = Inverse flattening factor, 285 to 310, 10e-9 resolution<br>
6 = Delta X earth centred coordinate, metres, -5000 to 5000, 1 metre resolution<br>
7 = Delta Y earth centred coordinate, metres, -5000 to 5000, 1 metre resolution<br>
8 = Delta Z earth centred coordinate, metres, -5000 to 5000, 1 metre resolution<br>
9 = Differential mode (A=Automatic; output DGPS fixes when available otherwise non-DGPS, D=Only output differential fixes)<br>
10 = NMEA 0183 baud rate (1=1200, 2=2400, 3=4800, 4=9600, 5=19200, 6=300, 7=600)<br>
11 = Velocity filter (0=None, 1=Automatic, 2-255=Filter time constant; seconds)<br>
12 = PPS mode (1=None, 2=1 Hertz)<br>
13 = PPS pulse length, N = 0 to 48. Length (milliseconds) = (N+1)*20<br>
14 = Dead reckoning valid time, 1 to 30, seconds<br>
HH = Checksum
<hr size=1><a name="pgrmce"><h2>$PGRMCE</h2>
<p>Sensor Configuration Information Enquiry
<p>The unit will respond by transmitting a $PGRMC sentence containing the current default values.
<p>$PGRMCE*HH<br>
HH = Checksum
<hr size=1><a name="pgrmc1"><h2>$PGRMC1</h2>
<p>Additional Sensor Configuration Information
<p>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.
<p>$PGRMC1,1,2,3,4,5,6,7,8,9*HH<br>
1 = NMEA 0183 output time, 1-900, seconds (Not applicable to GPS16A)<br>
2 = Binary phase output data (1=Off, 2=On)<br>
3 = Position pinning (1=Off, 2=On)<br>
4 = DGPS beacon frequency, Kilohertz, 283.5 to 325.0 in 0.5 steps<br>
5 = DGPS beacon bit rate (0, 25, 50, 100, 200)<br>
6 = DGPS beacon scanning (1=Off, 2=On)<br>
7 = NMEA 0183 version 3.00 mode indicator (1=Off, 2=On)<br>
8 = DGPS mode (A=Automatic, W=WAAS only, R=RTCM only, N=None; DGPS disabled)<br>
9 = Power save mode (P=Activated, N=Normal)<br>
HH = Checksum
<hr size=1><a name="pgrmc1e"><h2>$PGRMC1E</h2>
<p>Additional Sensor Configuration Information Enquiry
<p>The unit will respond by transmitting a $PGRMC1 sentence containing the current default values.
<p>$PGRMC1E*HH<br>
HH = Checksum