DR + GPS
STARTER KIT REFERENCE MANUAL
Lassen DR + GPS Reference Manual 45
HIPPO PROTOCOL RULES
The HIPPO message structure is derived from the TSIP message structure. Both
are binary protocols with pre-parsers that “unstuff” the bytes in the serial stream
(S-bytes) to create packets of message bytes (M-bytes). Both are asynchronous
protocols, allowing the host and module to send multiple commands without
waiting for the completion of the previous command.
The HIPPO design offers easier and more reliable parsing. In contrast to TSIP,
which requires a small state machine after the pre-parser to determine the start
and end of the message packet, HIPPO uses unique S-bytes to identify the start
and end before the pre-parser. The HIPPO message structure currently uses
three control characters: 0x80 = HIPPO Control Character (HCC); 0x81 = Start of
Message (SOM); and 0x82 = End of Message (EOM). HIPPO reserves five other
bytes (0x83-0x87) for future use as control characters. This contrasts with TSIP,
which has two (DLE and ETX). HIPPO has a higher control character overhead
(3% versus 0.4% for TSIP), but parser design is much simpler.
Because the DR GPS module is designed to send messages at 10 Hz, the
message length has been limited to 128 bytes to ensure that two messages can
be transmitted per 100 ms cycle.
Number representations use IEEE formats, and are sent least significant byte
first (Intel specification or “little endian”).
The module acknowledges all commands with a reply message after parsing and
processing are complete. “Completion” is the point at which all immediate actions
are complete in the protocol layer. These actions include replying to queries,
setting global variables, flags, or semaphores, and sending messages to other
tasks. If the command is a successful query for a single report, the report
response itself is the acknowledgment response; otherwise, the module sends an
acknowledgment response packet 0x10 to the host.
There are two general types of messages: report messages and command
messages.