DR + GPS
STARTER KIT REFERENCE MANUAL
Lassen DR + GPS Reference Manual 46
General Message Structure Rules
The byte SOM only occurs as an S-byte (in the serial stream) at the start of a
message. The byte EOM only occurs as an S-byte at the end of a message.
From the SOM byte until the following EOM byte, the following structure rules
apply:
The first two S-bytes are the Parser Code PCOD and Parser Subcode PSUB.
These specify a unique parser for the data bytes. PCOD and PSUB never have
values of 0x80 to 0x87, so they are never “stuffed”.
Depending on PCOD and PSUB, the next byte may be an index byte INDEX.
INDEX never has a value of 0x80 to 0x87, so it is never “stuffed”. Examples of an
index are a channel number and a satellite PRN. All indexed messages with the
same parser code and subcode must have the same length, format, and data
structure.
The byte HCC only occurs as an S-byte as a “stuffing” character, as defined in
Section 2.3. It may appear before CS or any of the data bytes.
The value of the checksum M-byte CS is such that the 8-bit sum of the M-bytes
from SOM to EOM inclusive is zero. If the checksum is between 0x80 and 0x87,
it is HCC-stuffed.
The number of data bytes per message is limited to 128. Counting the bytes for
the SOM, parser code, parser subcode, checksum, EOM, and index, the total
number of M-bytes can as many as 134. Data is not valid until the message is
complete and the checksum agrees.
HIPPO ignores S-bytes between messages (from EOM to the following SOM),
unless the values are between 0x80 and 0x87. This feature allows ASCII
messages such as NMEA or TAIP to be interspersed with HIPPO messages.
TSIP messages and other binary protocols in general cannot be interspersed
with HIPPO messages.