Repository navigation
xng v0.19.0
What's changed
- dashboard: show Iridium satellites + SBD terminals as entities; de-flood the log (#171)
- dsp: resample any capture rate to any channel rate (full multi-mode on Airspy R2) (#170)
- adsb: auto-tune prefers the integer-path rate on Airspy (#169)
- survey/auto-tune: fix RTL-SDR ADS-B center, device-aware rate, clean Ctrl-C (#168)
- ACARS: surface decoded ACARS aircraft as a flight entity (#167)
- Iridium beam map: gap-free tiling + spot-beam->pattern linking (#166)
- Iridium beam map: close cell gaps, fix popup count, hull footprint (#165)
- Iridium beam map: canonical 4-tier 48-beam model (accurate footprints) (#164)
- Iridium beam map: contiguous overlapping beams (accurate cellular coverage) (#163)
- Iridium beam map: footprint follows the beams + estimated faint-but-visible (#162)
- Iridium beam map: uniform cell size + fainter estimated beams (#161)
- Iridium beam map: estimate the unobserved half + richer, lifted popups (#160)
- Iridium: correct spot-beam coverage circle size (was ~75% too large) (#159)
- docs: README for v0.18.0 — Iridium map overlays, dashboard, R2 full-band (#158)
- Iridium: surface decoded meaning in broadcast/ip-data/msg/voice log lines (#157)
- Dashboard: header version, SDR status pane, footprint, pause/icon fixes (#156)
Full diff: v0.18.0...v0.19.0
xng is a single native decoder for the radio side of aviation
and maritime data: ACARS, VDL Mode 2, HFDL, Inmarsat Aero (L/C),
Inmarsat STD-C/EGC, Iridium (ring alerts, broadcasts, ACARS over
SBD with wideband burst hunting), AIS, and Mode S/ADS-B — one CLI,
every output (console, JSON/JSONL, acarsdec-compatible UDP,
Airframes feeding, Prometheus, asf-2.0 gRPC/QUIC), and a built-in
application layer (ADS-C, CPDLC rendered as text, media advisory).
Every decode core is validated against real off-air recordings or
reference-implementation test vectors, vendored into CI. The VHF
ACARS chain is validated end-to-end into production Airframes from
a live station.
Assets
| Asset | Platform |
|---|---|
xng-*-x86_64-unknown-linux-gnu.tar.gz |
Linux x86_64 |
xng-*-aarch64-unknown-linux-gnu.tar.gz |
Linux arm64 (Pi 4/5 64-bit) |
xng-*-aarch64-apple-darwin.tar.gz |
macOS Apple Silicon |
xng_*.deb |
Debian/Ubuntu packages (x86_64 + arm64) |
Intel macOS: build from source (GitHub retired its free Intel
macOS runners) — brew install soapysdr airspy airspyhf protobuf && cargo build --release --features airspy,airspyhf.
Binaries are built with SoapySDR plus the native Airspy backends;
they need libsoapysdr (and libairspy/libairspyhf for native
Airspy) at runtime — the .deb declares these. Multi-arch Docker
images (amd64/arm64/armv7) are published to
ghcr.io/airframesio/xng for the same tag.
Quick start:
xng devices
xng scan --sdr driver=rtlsdr --gain 28 --modes acars,vdl2,ais
xng survey --sdr driver=rtlsdr --mode acars --tune-gain
xng listen --sdr driver=rtlsdr --mode acars -r 2400000 -c 130.940M \
--channels 130.025,131.550,131.725 \
--feed-airframes --station-id XX-YOUR-STATION