Expand description
adsb_deku provides decoding for the ADS-B Downlink protocol by using the deku crate.
See rsadsb.github.io for more details.
§Downlink Format Support
DF | Name | Section |
|---|---|---|
| 0 | Short Air-Air Surveillance | 3.1.2.8.2 |
| 4 | Surveillance Altitude Reply | 3.1.2.6.5 |
| 5 | Surveillance Identity Reply | 3.1.2.6.7 |
| 11 | All Call Reply | 2.1.2.5.2.2 |
| 16 | Long Air-Air Surveillance | 3.1.2.8.3 |
| 17 | Extended Squitter(ADS-B) | 3.1.2.8.6 |
| 18 | Extended Squitter(TIS-B) | 3.1.2.8.7 |
| 19 | Extended Squitter(Military) | 3.1.2.8.8 |
| 20 | Comm-B Altitude Reply | 3.1.2.6.6 |
| 21 | Comm-B Identity Reply | 3.1.2.6.8 |
| 24..=31 | ModeS Extended Squitter | 3.1.2.7.3 |
§Comm-B Altitude Reply and Comm-B Identity Reply Comm-B Support
BDS | Name | Table |
|---|---|---|
| (0,0) | Empty | |
| (1,0) | Data Link Capability | A-2-16 |
| (2,0) | Aircraft Identification | A-2-32 |
§Extended Squitter(ADS-B) and Extended Squitter(TIS-B) Type Code Support
§Example
To begin using adsb_deku, import the Frame struct. Frame::from_bytes() provides the interface for decoding bytes
into adsb data.
use hexlit::hex;
use adsb_deku::Frame;
let bytes = hex!("8da2c1bd587ba2adb31799cb802b");
let frame = Frame::from_bytes(&bytes).unwrap();
assert_eq!(
r#" Extended Squitter Airborne position (barometric altitude)
Address: a2c1bd (Mode S / ADS-B)
Air/Ground: airborne
Altitude: 23650 ft barometric
CPR type: Airborne
CPR odd flag: even
CPR latitude: (87769)
CPR longitude: (71577)
"#,
frame.to_string()
);§Apps
The apps/ directory of the project repository contains programs radar and 1090 for showcasing
different adsb_deku uses. See the README.md for examples of use.
Modules§
- adsb
- All data structures needed for parsing
DF::ADSBorDF::TisBmessages - bds
- B-Definition Subfield for Comm-B Messages
- cpr
- Compact Position Reporting for
PositionReporting
Structs§
- AC13
Field - 13 bit encoded altitude
- Altitude
- Latitude, Longitude and Altitude information
- Frame
- Downlink ADS-B Packet
- ICAO
- ICAO Address; Mode S transponder code
- Identity
Code - 13 bit identity code
- Utility
Message
Enums§
- CPRFormat
- Even / Odd
- Capability
- Transponder level and additional information (3.1.2.5.2.2.1)
- DF
- Downlink Format (3.1.2.3.2.1.2)
- Downlink
Request - Type of
DownlinkRequest - Flight
Status - Airborne / Ground and SPI
- KE
- Uplink / Downlink
- Sign
- Positive / Negative
- Surveillance
Status - SPI Condition
- Utility
Message Type - Message Type