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_sum)
- 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