docs/communication.md
GHOSCHT 30f3bc4cac
Add communication protocol note
Consider using open standard instead of proprietary one
2023-12-23 01:27:51 +01:00

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.