Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Multi-SDR supported Rust translation of the popular dump1090 project for ADS-B demodulation

License

NotificationsYou must be signed in to change notification settings

rsadsb/dump1090_rs

Repository files navigation

githubbuild status

Demodulate a ADS-B signal from a software defined radio device tuned at 1090mhz andforward the bytes to applications such asadsb_deku/radar.

Tested Support

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)

DeviceSupported/TestedRecommendargument
rtlsdrxx--driver rtlsdr
HackRFx--driver hackrf
uhd(USRP)x--driver uhd
bladeRF 2.0 micro xA4x--driver bladerf

Usage

Minimum Supported Rust Version: 1.74.0

Build

Installsoapysdr drivers and library andlibclang-dev.

Note

Usingdebug builds will result in SDR overflows, always using--release for production.

Ubuntu

> apt install libsoapysdr-dev libclang-dev

Cross Compile

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

Release Builds from CI

Check thelatest release for binaries built from the CI.

Run

Run the software using the default rtlsdr.

> cargo r --release

help

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

Performance tricks

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.

Testing

> cargo t --workspace --release

Benchmark

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

Intel i7-7700K CPU @ 4.20GHz

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]

Changes

SeeCHANGELOG.md

About

Multi-SDR supported Rust translation of the popular dump1090 project for ADS-B demodulation

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp