Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork11
Multi-SDR supported Rust translation of the popular dump1090 project for ADS-B demodulation
License
rsadsb/dump1090_rs
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Demodulate a ADS-B signal from a software defined radio device tuned at 1090mhz andforward the bytes to applications such asadsb_deku/radar.
- Seequickstart-guide for a quick installation guide.
- Seersadsb-2024.09.02 for latest major release details.
Through the use of therust-soapysdr project,we supportmany different software defined radio devices.If you have tested this project on devices not listed below, let me know!(you will need to add gain settings toconfig.toml or use--custom-config
)
Device | Supported/Tested | Recommend | argument |
---|---|---|---|
rtlsdr | x | x | --driver rtlsdr |
HackRF | x | --driver hackrf | |
uhd(USRP) | x | --driver uhd | |
bladeRF 2.0 micro xA4 | x | --driver bladerf |
Minimum Supported Rust Version: 1.74.0
Installsoapysdr
drivers and library andlibclang-dev
.
Usingdebug
builds will result in SDR overflows, always using--release
for production.
> apt install libsoapysdr-dev libclang-dev
Usehub.docker.com/r/rsadsb for cross compiling to the following archs.These images already havesoapysdr
installed with the correct cross compilers.This usescross-rs.
> cargo install cross> cross build --workspace --target x86_64-unknown-linux-gnu --relese# Used for example in Raspberry Pi (raspios) 32 bit> cross build --workspace --target armv7-unknown-linux-gnueabihf --release# Used for example in Raspberry Pi (raspios) 64 bit> cross build --workspace --target aarm64-unknown-linux-gnu --release
Check thelatest release for binaries built from the CI.
Run the software using the default rtlsdr.
> cargo r --release
See--help
for detailed information.
ADS-B Demodulator and ServerUsage: dump1090_rs [OPTIONS]Options: --host <HOST> ip address to bind with for client connections [default: 127.0.0.1] --port <PORT> port to bind with for client connections [default: 30002] --driver <DRIVER> soapysdr driver name (sdr device) from default `config.toml` or `--custom-config` [default: rtlsdr] --driver-extra <DRIVER_EXTRA> specify extra values for soapysdr driver specification --custom-config <CUSTOM_CONFIG> Filepath for config.toml file overriding or adding sdr config values for soapysdr -h, --help Print help (see more with '--help') -V, --version Print version
To enable maximum performance, instruct rustc to use features specific to your cpu.
> RUSTFLAGS="-C target-cpu=native" cargo r --release
Always use the latest rust releases including nightly, currently this gives around a 5-10% performanceboost.
> cargo t --workspace --release
Reading from a 512KB iq sample to ADS-B bytes takes ~3.0 ms, but feel free to run benchmarks on your own computer.
> RUSTFLAGS="-C target-cpu=native" cargo bench --workspace
01 time: [3.6691 ms 3.6950 ms 3.7264 ms]02 time: [3.5941 ms 3.5987 ms 3.6040 ms]03 time: [3.4930 ms 3.4961 ms 3.4994 ms]
SeeCHANGELOG.md
About
Multi-SDR supported Rust translation of the popular dump1090 project for ADS-B demodulation
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.