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.
Defined Commands
Command 0 : change configuration
Category (uint8)
The category number specifies one of up to 256 configuration categories
available on the device.
Parameter (uint8)
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.
Data type (uint8)
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.
Currently defined values are:
0: void / boolean
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.
1: signed byte
Data elements are signed bytes
2: signed 16 bit integer
Data elements are signed 16 bit values
3: signed 32 bit integer
Data elements are signed 32 bit values
4: signed 64 bit integer
Data elements are signed 64 bit values
5: UTF-8 string
Data elements represent a UTF-8 string with no terminating character.
Data types 6 through 127 are reserved.
128: signed 5.11 fixed point
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).
221
221
Developer Information