• Stars
    star
    610
  • Rank 73,497 (Top 2 %)
  • Language
    Rust
  • License
    MIT License
  • Created almost 4 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

✈️ Rust ADS-B decoder + tui radar application

adsb_deku

Latest Version Rust Documentation Actions Status dependency status

Decoder for ADS-B(Automatic Dependent Surveillance-Broadcast) Downlink Format protocol packets from 1090mhz. See dump1090_rs for a Rust demodulator. View planes in the sky around you, with only a rtl-sdr!

See quickstart-guide for a quick installation guide.

See rsadsb-2022.12.29 for latest major release details.

This library uses deku for deserialization of protocol.

Radar Example

Applications

Minimum required rust version: 1.64.0.

Client Applications

Client applications use this library to display the data accumulated from an ADS-B demodulation server in various ways.

radar tui

An ADS-B client for the terminal written in Rust. Radar connects to an ADS-B demodulation server and stores this info, allowing an operator to control the display of the data.

  • Map Tab - Plot currently detected aircraft on lat/long grid. Add known locations with --locations option.
  • Coverage Tab - Plot all detected aircraft lat/long positions since starting radar. Features grayscale heatmap.
  • Aircraft Tab - Show detailed table of information about currently detected aircraft. Set aircraft position as center lat/long.
  • gpsd - Derive lat/long from a gpsd instance using --gpsd flag.

See apps/README.md for map control keybindings.

This application uses tui-rs for generating the display to the terminal.

# Startup "radar" display in tui relative to your antenna position
> cargo r --bin radar --release -- --lat="50.0" --long="50.0" --locations "(name,lat,long)" "(name,lat,long)"

1090

Display protocol data structures and currently tracked planes using this library in the same fashion as dump1090-fa to a terminal stdout. Optionally panic on missing implementation or fmt::Display, see > ./1090 -h.

# Startup 1090 decode chain using this library
> cargo r --bin 1090 --release -- --debug

1090 Example

Server/Demodulation(External) Applications

This library contains logic for decoding a message, you must use a server for demodulating the message from 1090mhz into bytes usable by this library. These are called Server applications.

(Rust) dump1090_rs

Rust translation of the popular C dump1090 tools, with demodulation and data forwarding functions.

> cargo r --release

Library

See libadsb_deku for more details.

Common

See rsadsb_common for more details.