Style, more airspy examples.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
# Airspy protocol
|
# Airspy ADSB protocol
|
||||||
|
|
||||||
## Ports
|
## Ports
|
||||||
|
|
||||||
@@ -7,19 +7,19 @@
|
|||||||
## Format
|
## Format
|
||||||
|
|
||||||
Textual format, similar to [raw](raw.md), but extended with MLAT and signal
|
Textual format, similar to [raw](raw.md), but extended with MLAT and signal
|
||||||
level data. Unlike raw format, lines are terminated with `0x0d 0x0a` (`\r\n`).
|
level data. Unlike raw format, lines are terminated with `\r\n` (`0x0d 0x0a`).
|
||||||
|
|
||||||
|
|
||||||
## Frame structure
|
## Frame structure
|
||||||
* `0x2a` (`*`)
|
* `*` (`0x2a`)
|
||||||
* 7 or 14 byte frame (see [raw](raw.md))
|
* 7 or 14 byte frame (see [raw](raw.md))
|
||||||
* `0x3b` (`;`)
|
* `;` (`0x3b`)
|
||||||
* 4 byte MLAT timestamp (see below)
|
* 4 byte MLAT timestamp (see below)
|
||||||
* `0x3b` (`;`)
|
* `;` (`0x3b`)
|
||||||
* 1 byte MLAT precision (see below)
|
* 1 byte MLAT precision (see below)
|
||||||
* `0x3b` (`;`)
|
* `;` (`0x3b`)
|
||||||
* 2 byte big-endian RSSI
|
* 2 byte big-endian RSSI
|
||||||
* `0x3b 0x0d 0x0a` (`;\r\n`)
|
* `;\r\n` (`0x3b 0x0d 0x0a`)
|
||||||
|
|
||||||
|
|
||||||
## MLAT timestamp
|
## MLAT timestamp
|
||||||
@@ -35,6 +35,26 @@ source position.
|
|||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
* `*5DA7DA1CE30DE5;D03B5A4B;0A;7AF3;\r\n`
|
* `*5DA7DA1CE30DE5;D03B5A4B;0A;7AF3;\r\n`
|
||||||
|
* `*` (`0x2a`): Frame start
|
||||||
|
* `5DA7DA1CE30DE5`: Mode-S short data
|
||||||
|
* Decoded: `0x5d 0xa7 0xda 0x1c 0xe3 0x0d 0xe5`
|
||||||
|
* `;` (`0x3b`): Delimiter
|
||||||
|
* `D03B5A4B`: MLAT counter
|
||||||
|
* Decoded: `0xd0 0x3b 0x5a 0x4b`
|
||||||
|
* Decimal: 3493550667
|
||||||
|
* `;` (`0x3b`): Delimiter
|
||||||
|
* `0A`: MLAT precision
|
||||||
|
* Decoded: `0x0a`
|
||||||
|
* Decimal: 10
|
||||||
|
* 10 * 2 MHz = 20 MHz MLAT counter clock
|
||||||
|
* `;` (`0x3b`): Delimiter
|
||||||
|
* `7AF3`: RSSI
|
||||||
|
* Decoded: `0x7a 0xf3`
|
||||||
|
* Decimal: 31475
|
||||||
|
* 31475 / 65536 * 100% = 48%
|
||||||
|
* `;` (`0x3b`): Delimiter
|
||||||
|
* `\r\n` (`0x0d 0x0a`): Frame end
|
||||||
|
|
||||||
* `*8DA07CD89915908778A01E4B4C86;D03D33F9;0A;8437;\r\n`
|
* `*8DA07CD89915908778A01E4B4C86;D03D33F9;0A;8437;\r\n`
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -25,13 +25,13 @@ Escaping makes frame length for a given type variable, up to
|
|||||||
|
|
||||||
## Frame types
|
## Frame types
|
||||||
* `0x31`: Mode-AC frame
|
* `0x31`: Mode-AC frame
|
||||||
* 1 byte signal level (TODO: units?)
|
* 1 byte signal level
|
||||||
* 2 byte Mode-AC data
|
* 2 byte Mode-AC data
|
||||||
* `0x32`: Mode-S short frame
|
* `0x32`: Mode-S short frame
|
||||||
* 1 byte signal level (TODO: units?)
|
* 1 byte signal level
|
||||||
* 7 byte Mode-S short data
|
* 7 byte Mode-S short data
|
||||||
* `0x33`: Mode-S long frame
|
* `0x33`: Mode-S long frame
|
||||||
* 1 byte signal level (TODO: units?)
|
* 1 byte signal level
|
||||||
* 14 byte Mode-S long data
|
* 14 byte Mode-S long data
|
||||||
* `0x34`: Status data
|
* `0x34`: Status data
|
||||||
* *Appears to only be used by Mode-S Beast hardware later versions*
|
* *Appears to only be used by Mode-S Beast hardware later versions*
|
||||||
@@ -49,15 +49,17 @@ station receive timing to calculate signal source position.
|
|||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
* `1a 32 08 3e 27 b6 cb 6a 1a 1a 00 a1 84 1a 1a c3 b3 1d`
|
* `0x1a 0x32 0x08 0x3e 0x27 0xb6 0xcb 0x6a 0x1a 0x1a 0x00 0xa1 0x84 0x1a 0x1a 0xc3 0xb3 0x1d`
|
||||||
* `1a`: frame start
|
* `0x1a`: Frame start
|
||||||
* `32`: Mode-S short frame
|
* `0x32`: Mode-S short frame
|
||||||
* `08 3e 27 b6 cb 6a`: MLAT counter value
|
* `0x08 0x3e 0x27 0xb6 0xcb 0x6a`: MLAT counter value
|
||||||
* Decimal: 9063047285610
|
* Decimal: 9063047285610
|
||||||
* `1a 1a`: Signal level
|
* `0x1a 0x1a`: Signal level
|
||||||
* Unescaped: `1a`
|
* Unescaped: `0x1a`
|
||||||
* `00 a1 84 1a 1a c3 b3 1d`: Mode-S short data
|
* Decimal: 26
|
||||||
* Unescaped: `00 a1 84 1a c3 b3 1d`
|
* 26 / 256 * 100% = 10.2%
|
||||||
|
* `0x00 0xa1 0x84 0x1a 0x1a 0xc3 0xb3 0x1d`: Mode-S short data
|
||||||
|
* Unescaped: `0x00 0xa1 0x84 0x1a 0xc3 0xb3 0x1d`
|
||||||
|
|
||||||
|
|
||||||
## Implementations
|
## Implementations
|
||||||
|
|||||||
Reference in New Issue
Block a user