Developer Information
224
Abstract Message Packet Format
Every message packet consists of a three byte header followed by an optional variable length data
block. The maximum packet size is 64 bytes.
Destination device (uint8)
Device addresses are represented as an 8 bit unsigned integer. Individual
devices are numbered 0 through 254 with the value 255 reserved to indi-
cate a broadcast message to all devices.
Command length (uint8)
The command length is an 8 bit unsigned integer which specifies the
length of the included command data. The length does NOT include the
length of the header or any trailing padding bytes.
Command id (uint8)
The command id is an 8 bit unsigned integer which indicates the message
type being sent. Receiving devices should ignore any commands that they
do not understand. Commands 0 through 127 are reserved for commands
that apply to multiple types of devices. Commands 128 through 255 are
device specific.
Reserved (uint8)
This byte is reserved for alignment and expansion purposes. It should be
set to zero.
Command data (uint8[])
The command data may contain between 0 and 60 bytes of data.
The format of the data section is defined by the command itself.
Padding (uint8[])
Messages must be padded up to a 32 bit boundary with 0x0 bytes.
Any padding bytes are NOT included in the command length.
Receiving devices should use the destination device address and/or the command identifier to
determine which messages to process. The receiver should use the command length to skip irrelevant
or unknown commands and should be careful to skip the implicit padding as well.