190-00516-00 GPS 10 Technical Specifications Rev. B
Page 20
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;
The status bit field represents a set of booleans described below:
Bit Meaning when bit is one (1)
0 The unit has ephemeris data for the specified satellite.
1 The unit has a differential correction for the specified satellite.
2 The unit is using this satellite in the solution.
This pattern is repeated for all 12 channels for a total of 12 X 7 bytes = 84 (0x54) bytes :
typedef struct
{
cpo_sat_data
cpo_sat_data
cpo_sat_data
cpo_sat_data
cpo_sat_data
cpo_sat_data
cpo_sat_data
cpo_sat_data
cpo_sat_data
cpo_sat_data
cpo_sat_data
cpo_sat_data
} cpo_all_sat_data
The RS-232 Packet for the Satellite Record looks like:
- 0x10 (DLE is first byte)
- 0x72 (Record ID – single byte)
- 0x54 (Number of data bytes – single byte)
- cpo_all_sat_data
- 0x## (2’s complement of the arithmetic sum of the bytes between the delimiters)
- 0x10 (DLE)
- 0x03 (ETX is last byte)
The USB Packet for the Satellite Record looks like:
- 0x72 (Record ID – single byte)
- 0x54 (Number of data bytes – single byte)
- cpo_all_sat_data