190-00516-00 GPS 10 Technical Specifications Rev. B
Page 8
3 GPS 10 SOFTWARE INTERFACE
The interface protocol design of the GPS 10 product is based on the National Marine Electronics
Association’s NMEA 0183 ASCII interface specification. This standard is fully defined in NMEA 0183,
Version 2.30. Copies may be obtained from NMEA, http://www.nmea.org/.
In addition to the standard NMEA 0183 sentences, the GPS 10 may also be configured to transmit
information over their serial interface using NMEA 0183 compliant Garmin proprietary sentences. These
proprietary sentences begin with the characters, “$PGRM”, instead of the characters “$G” that are typical
of the standard NMEA 0183 sentences. The characters “$P” indicate that the sentence is a proprietary
implementation and the characters and “GRM” indicate that it is Garmin’s proprietary sentence. The letter
(or letters) that follow the characters “$PGRM” uniquely identifies that particular Garmin proprietary
sentence.
It is also possible to configure the GPS 10 to transmit binary phase data information over their serial
interface. See Appendix B: Binary Phase Output Format for details.
The following sections describe the NMEA 0183 data format of each sentence transmitted and received by
the GPS 10 product.
3.1 RECEIVED NMEA 0183 SENTENCES
The following paragraphs define the sentences that can be received on the GPS sensor’s port. Null fields in
the configuration sentence indicate no change in the particular configuration parameter. All sentences
received by the GPS sensor must be terminated with <CR><LF>, the ASCII characters for carriage return
(0D hexadecimal) and line feed (0A hexadecimal). The checksum *hh is used for parity checking data and
is not required, but is recommended for use in environments containing high electromagnetic noise. It is
generally not required in normal PC environments. When used, the parity bytes (hh) are the ASCII
representation of the exclusive-or (XOR) sum of all the characters between the “$” and “*” characters, non-
inclusive. The hex representation must be a capital letter, such as 3D instead of 3d. Sentences may be
truncated by <CR><LF> after any data field and valid fields up to that point will be acted on by the sensor.
3.1.1 Almanac Information (ALM)
The $GPALM sentence can be used to initialize the GPS sensor’s stored almanac information in the
unlikely event of non-volatile memory loss or after storing longer than six months without tracking GPS
satellites.
$GPALM,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>*hh<CR><LF>
<1> Total number of ALM sentences to be transmitted by the GPS sensor during almanac download.
This field can be null or any number when sending almanac to the GPS sensor.
<2> Number of current ALM sentence. This field can be null or any number when sending almanac
to the GPS sensor.
<3> Satellite PRN number, 01 to 32
<4> GPS week number
<5> SV health, bits 17-24 of each almanac page
<6> Eccentricity
<7> Almanac reference time
<8> Inclination angle
<9> Rate of right ascension
<10> Root of semi major axis
<11> Omega, argument of perigee
<12> Longitude of ascension node
<13> Mean anomaly
<14> af0 clock parameter
<15> af1 clock parameter