Skip to content
/ adsb Public

A Rust parser for ADS-B/Mode-S messages.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

asmarques/adsb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

adsb

Crate Documentation Build Status

A Rust parser for ADS-B/Mode-S messages.

Messages with the following Downlink Formats (DF) are supported:

  • DF 5: Surveillance identity (squawk code)
  • DF 17/18: Automatic Dependent Surveillance - Broadcast (ADS-B)
    • TC 1-4: Aircraft identification and category
    • TC 9-18: Airborne position
    • TC 19: Airborne velocity

Usage

Parse message in AVR format

let avr = "*8D4840D6202CC371C32CE0576098;";
let (message, _) = parse_avr(&avr).unwrap();
if let Message {
    kind:
        MessageKind::ADSBMessage {
            kind: ADSBMessageKind::AircraftIdentification { callsign, .. },
            ..
        },
    ..
} = message
{
    println!("callsign: {}", callsign);
}

Parse message in binary format

let bin = b"\x8D\x40\x62\x1D\x58\xC3\x82\xD6\x90\xC8\xAC\x28\x63\xA7";
let (message, _) = parse_binary(bin).unwrap();
if let Message {
    kind:
        MessageKind::ADSBMessage {
            kind: ADSBMessageKind::AirbornePosition { altitude, .. },
            ..
        },
    ..
} = message
{
    println!("altitude: {}", altitude);
}

About

A Rust parser for ADS-B/Mode-S messages.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages