190-00266-01
GPS 15H & 15L Technical Specifications
Rev. D
Page 24
APPENDIX B: BINARY PHASE OUTPUT FORMAT
In binary phase output mode, GPS 15H & 15L series products transmit two types of packets once per
second. One record contains primarily post-process information such as position and velocity information.
The second record contains receiver measurement information. For the GPS 15H & 15L, the records are
sent at a default baud rate of 9600 baud, 8 data bits, and no parity.
To turn these records on, use the $PGRMC1 NMEA sentence as described in section
. (Refer to the
Garmin GPS Interface Specification
for details on how to form and parse
Garmin packets. At the time of this printing, these specs are available from the technical support section of
our Web site:
http://www.garmin.com/support/commProtocol.html
Note
: The satellite data information is also enabled when the position record is enabled.
Records sent over RS232 begin with a delimiter byte (10 hex). The second byte identifies the record type
(33 hex for a position record and 34 hex for a receiver measurement). The third byte indicates the size of
the data. The fourth byte is the first byte of data. The data is then followed by a checksum byte, a delimiter
byte (10 hex), and an end-of-transmission character (03 hex). Additionally, any DLEs (0x10) that appear
between the delimeters are escaped with a second DLE. Refer to the end of this section for sample code
that strips off the DLEs and ETXs.
RS232 Packet:
- 0x10
(DLE is first byte)
- 0x##
(Record ID – single byte)
- 0x##
(Number of data bytes – single byte)
- data bytes
(See descriptions below)
- 0x##
(2’s complement of the arithmetic sum of the bytes between the delimiters)
-
0x10
(DLE)
-
0x03
(ETX
is
last
byte)
The data bytes of each packet contain the record specified by the record ID. A description of each record
follows.
Satellite Data Record
The satellite data has a record ID of 0x72 with 84 (0x54) data bytes. The data bytes contain the data for the
12 channels as described below. For each satellite, the following data is available:
typedef struct
{
uint8
svid;
//space vehicle identification (1–32 and 33–64 for WAAS)
uint16
snr;
//signal-to-noise ratio
uint8
elev;
//satellite elevation in degrees
uint16
azmth;
//satellite azimuth in degrees
uint8
status;
//status bit-field
}
cpo_sat_data;