2.1 KiB
2.1 KiB
Heliox communication protocol
Note:
look into state-of-the-art protocols -> https://www.reddit.com/r/embedded/comments/11bxeux/whats_everyone_is_using_for_framing_and/
- CBOR
- MessagePack
- Protobufs
The following structure can be used to communicate with the Heliox control over several carrier protocols (UART, BL LE,...)
Basic data structure
The following table describes the bit pattern for a successful communication with and between Heliox devices.
0x0 | 0x1 | 0x2 | 0x3 | 0x4 | ... |
---|---|---|---|---|---|
H | X | length | mode | submode | optional data |
Modes
Mode selection
The columns represent modes and the rows represent submodes:
0x0 | 0x1 | 0x2 | 0x3 | |
---|---|---|---|---|
Message | Settings | Light control | Basic commands | |
0x0 | light data | set baud rate | on | request light data |
0x1 | info | set WIFI password | off | enter console flashing mode |
0x2 | warning | set WIFI SSID | toggle | exit console flashing mode |
0x3 | error | increase | pair Bluetooth | |
0x4 | success | decrease | help | |
0x5 | version | |||
0x6 | reset |
Optional data (out of date)
Every submode can take any number of Bytes except the below-mentioned ones:
0 Bytes | 1 Byte |
---|---|
on | increase |
off | decrease |
flash console | toggle |
pair Bluetooth |
Additional information
The maximum length of a message ist 255 Bytes excluding the magic number "HX" and the length slot itself.