Command id (uint8)
Reserved (uint8)
Command data (uint8[])
Padding (uint8[])
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.
Defined Commands
Command 0 : change configuration
Category (uint8)
Parameter (uint8)
Data type (uint8)
Currently defined values are:
0: void / boolean
1: signed byte
2: signed 16 bit integer
3: signed 32 bit integer
4: signed 64 bit integer
5: UTF-8 string
Data types 6 through 127 are reserved.
128: signed 5.11 fixed point
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.
This byte is reserved for alignment and expansion purposes. It should be set
to zero.
The command data may contain between 0 and 60 bytes of data. The format
of the data section is defined by the command itself.
Messages must be padded up to a 32 bit boundary with 0x0 bytes.
Any padding bytes are NOT included in the command length.
The category number specifies one of up to 256 configuration categories
available on the device.
The parameter number specifies one of 256 potential configuration
parameters available on the device. Parameters 0 through 127 are device
specific parameters. Parameters 128 though 255 are reserved for parameters
that apply to multiple types of devices.
The data type specifies the type of the remaining data. The packet length is
used to determine the number of elements in the message. Each message
must contain an integral number of data elements.
A void value is represented as a boolean array of length zero.
The data field is a 8 bit value with 0 meaning false and all other values
meaning true.
Data elements are signed bytes
Data elements are signed 16 bit values
Data elements are signed 32 bit values
Data elements are signed 64 bit values
Data elements represent a UTF-8 string with no terminating character.
Data elements are signed 16 bit integers representing a real number with
5 bits for the integer component and 11 bits for the fractional component.
The fixed point representation is equal to the real value multiplied by 2^11.
The representable range is from -16.0 to 15.9995
(15 + 2047/2048).
Developer Information
606