1.3 KiB
1.3 KiB
Beast protocol
Ports
- 30005: server -> client feed
Format
All data is escaped: 0x1a -> 0x1a 0x1a. Note that synchronization is still
complex, since 0x1a 0x31 may be the start of a frame or mid-data, depending
on what preceded it. To synchronize, you must see, in order:
-
!= 0x1a
-
0x1a
-
{0x31, 0x32, 0x33} Escaping makes frame length for a given type variable, up to
2 + (2 * data length) -
Mode-AC frame
0x1a 0x31- 6 byte MLAT timestamp (TODO: endianness? units?)
- 1 byte signal level (TODO: units?)
- 2 byte Mode-AC data
-
Mode-S short frame
0x1a 0x32- 6 byte MLAT timestamp (TODO: endianness? units?)
- 1 byte signal level (TODO: units?)
- 7 byte Mode-S short data
-
Mode-S long frame
0x1a 0x33- 6 byte MLAT timestamp (TODO: endianness? units?)
- 1 byte signal level (TODO: units?)
- 14 byte Mode-S long data
-
Status data
- Appears to only be used by Mode-S Beast hardware later versions
0x1a 0x34- 6 byte MLAT timestamp (TODO: endianness? units?)
- ?? byte status data
- ?? byte DIP switch configuration