SerialProtocol - neoxic/ESCape32 GitHub Wiki
- 460800 baud, 8 data bits, no parity, 1 stop bit.
- Update rate is 40Hz or higher.
- Inbound frame format:
- Byte0: descriptor
- Low nibble: value type
0x0
: none
0x1
: throttle [-2000..2000]
0x2
: reversed motor direction [0..1]
0x3
: drag brake power [0..100]
0x4
: LED on/off bits [0..15]
- High nibble: request type
0x0
: none
0x8
: combined telemetry
0x9
: electrical revolution time (µs)
0xA
: ESC temperature (˚C)
0xB
: motor temperature (˚C)
0xC
: voltage (V/100)
0xD
: current (A/100)
0xE
: consumption (mAh)
- Byte1: value (low byte)
- Byte2: value (high byte)
- Byte3: CRC8 (byte0..byte2)
- Outbound frame format:
- Combined telemetry (
0x8
):
- Byte0: ESC temperature
- Byte1: motor temperature
- Byte2: voltage (low byte)
- Byte3: voltage (high byte)
- Byte4: current (low byte)
- Byte5: current (high byte)
- Byte6: consumption (low byte)
- Byte7: consumption (high byte)
- Byte8: electrical revolution time (low byte)
- Byte9: electrical revolution time (high byte)
- Byte10: CRC8 (byte0..byte9)
- Individual telemetry values (
0x9
..0xE
):
- Byte0: value (low byte)
- Byte1: value (high byte)
- Byte2: CRC8 (byte0..byte1)