Frame
Structure
The basic structure for each frame is the same. There is a range of Types with an extended
header which will have the first few bytes of payload standardized. This is required to route
frame across multiple devices for point to point communication.
Broadcast Frames:
<Device address or Sync Byte> <Frame length> <Type><Payload> <CRC>
Extended header frames:
<Device address or Sync Byte> <Frame length> <Type><Destination Address> <Origin
Address> <Payload> <CRC>
Device address or Sync Byte: (uint8_t) Device address for I2C or Sync byte serial
connections.In case of I2C (BST) this is mostly “Broadcast
address” or defined by Router.
Frame length: Amount of bytes including Type, Payload and CRC (uint8_t)
Type: Frame type (uint8_t)
CRC: 8 Bit CRC of the frame. See CRC (uint8_t)
Sync Byte: 0xC8
Endianness Big endian
Device addresses
0x00 Broadcast address
0x10 USB Device
0x12 Bluetooth Module
0x80 TBS CORE PNP PRO
0x8A Reserved
0xC0 PNP PRO digital current sensor
0xC2 PNP PRO GPS
0xC4 TBS Blackbox
0xC8 Flight controller
0xCA Reserved
0xCC Race tag
0xEA Radio Transmitter
0xEB Reserved
0xEC Crossfire / UHF receiver
0xEE Crossfire transmitter