Garmin GPS 16x 010-00258-62 User Manual

Product codes
010-00258-62
Page of 36
190-00228-08 
GPS 16x Technical Specifications  
Rev. B 
Page 22 
APPENDIX B: GARMIN BINARY OUTPUT FORMAT 
Note: The following applies to all software versions of GPS 16xLVS and GPS 16xHVS. 
Two records are transmitted once per second by the GPS 16x series products. One record contains primarily post-
process information, such as position and velocity information. The second record contains receiver measurement 
information. The records are sent at a default baud rate of 9600 baud, 8 data bits, and no parity. 
Records begin with a delimiter byte (10 hex). The second byte identifies the record type (33 hex for a position 
record, 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). 
Note: If RTCM-104 differential data is sent to the GPS sensor, the board will reset the Garmin Binary Output Data 
baud rate to the same baud rate used for RTCM-104 data. If the differential inputs are used on the GPS sensor, the 
RTCM-104 data must be sent to the GPS sensor at 9600 baud (preferred) or 4800 baud. RTCM-104 baud rates less 
than 4800 baud are not supported by the GPS sensors as it would limit bus bandwidth past the point where a once-
per-second Garmin binary output data rate could be maintained. 
Position Record 
- 0x10  
 
 
(DLE is first byte) 
- 0x33 
 
 
(Position record identifier) 
- 0x40 
 
 
(Size of data) 
- cpo_pvt_data 
 
(See description below) 
- one-byte checksum 
(The addition of bytes between the delimiters should equal 0) 
- 0x10 
 
 
(DLE) 
- 0x03 
 
 
(ETX is last byte) 
 
typedef struct 
 { 
 float  alt; 
 float  epe; 
 float  eph; 
 float  epv; 
 int 
fix; 
 double gps_tow; 
 double lat; 
 double lon; 
 float  lon_vel; 
 float  lat_vel; 
 float  alt_vel; 
 float  msl_hght; 
 int 
leap_sec; 
 long 
grmn_days; 
 } 
cpo_pvt_data;