github adswill/OnAir v0.2.7
OnAir 0.2.7

3 hours ago

OnAir 0.2.7 adds about twenty new modes and a set of new tools: band survey, watchlists, a pass scheduler, a TV recorder with programme guide, a P25 trunking follower, a plugin SDK, a headless server and more. It also fixes a DVB-T2 16K pilot table typo, a TETRA false "encrypted" flag, and several build problems. The C++ protocol layers have been replaced by Rust, so Rust is now required to build.

The new modes and tools are large and new. Most have been tested on synthetic signals only, so they are listed separately below.

New modes

  • Wireless M-Bus (EN 13757-4): utility meters on 868 and 169 MHz
  • Tone decoders: CTCSS, DCS, DTMF, five-tone, SELCAL and two-tone pages, as a mode of their own
  • COSPAS-SARSAT 406 MHz beacon detection
  • MT63 (500, 1000 and 2000 Hz, short and long interleave)
  • Z-Wave (G.9959 R1, R2 and R3 FSK monitor)
  • Meteor scatter: forward-scatter ping detector for GRAVES and other CW beacons
  • FPV analog video: 5.8 GHz and 1.2 GHz channel plans, scan, live PAL/NTSC picture with sound
  • Wi-Fi HaLow: 1, 2, 4, 8 and 16 MHz S1G PHY, MCS 0 to 10, regional channel plans, sub-channel scan for 1 MHz beacons, and fixes to the scan
  • P25 trunking follower: talkgroup list and call log; encrypted calls are skipped, not decoded
  • e-Czas: Polish official time on 225 kHz long wave
  • LBJ railway train warning receiver: working decoder (replaces the earlier first version)
  • KiwiSDR as a network radio (12 kHz IQ over WebSocket)

New tools

  • Band survey: occupancy history, persistent signals, diffs and quiet slots, with a CLI
  • Message database: SQLite store with full-text search, retention limits and exports
  • HF propagation: a dashboard from HF beacons (bands open now, 24 hour history, best band)
  • GNSS navigation: a Navigate view with route, next waypoint, ETA, off-route warning, dead reckoning and a GPX trip log
  • Interference hunter: baseline monitor with new-spur and noise-floor alerts and source guesses
  • Station health: per-band noise floor, ADC staging, reference stations, ppm and ADS-B range checks
  • Watchlists: alerts when listed aircraft, ships, call signs, frequencies or words are heard, with ntfy, Telegram and webhook alerts
  • Time machine: a rolling memory of raw IQ, saved around a button, squelch or automatic trigger
  • Pass scheduler: schedules satellite passes by itself, with priority, trimming, reserved hours and a calendar strip
  • Doppler orbit fit: refines a satellite's orbit from its measured Doppler curve
  • Self-calibration: a Calibrate dialog with a live IQ tap, history graph, cell and GPS sources
  • Radio astronomy: hydrogen line toolkit (calibration, RFI, LSR velocity, pointing and line fits)
  • Passive radar: clutter cancellation, cross-ambiguity, CFAR and Kalman tracking
  • RF camera: direction finder with the bearing spectrum as a heat map over a picture or panorama
  • Protocol lab: reverse-engineering workbench for unknown digital signals
  • TV recorder: programme guide grid, scheduled recording, timeshift and playback bar, subtitle export
  • DAB programme guide: now and next, XMLTV export, alternative frequencies in the ensemble header
  • Plugin SDK: add a mode or action as a plugin file without rebuilding; manifest, stable C ABI, plugin manager and examples
  • Headless server: onair-server runs OnAir without a window, controlled from a browser
  • Live translation: offline translation to English next to the original transcript
  • Live rooms: stream the waterfall and decoded text to a web audience, with chat
  • Weather picture studio: coastlines, borders, curves, palettes, histogram, crop, mosaic and GeoTIFF output
  • Offline data packs: map tiles, satellite elements, airports and transmitter lists
  • Auto-labelled spectrum: station and channel names on the spectrum
  • Signal identifier: calibrated confidence, band-plan prior, and an identify-all option
  • Auto gain: per-mode targets and per-device gain tables; the LNA amplifier is never switched on unless you allow it
  • Audio cleanup chain: noise reduction, automatic and manual notch, leveller, silence gate and voice emphasis
  • Transmit: redesigned in the receiver's style, with every parameter behind an Advanced section
  • Sound card input: narrowband modes such as weather fax decode from a virtual cable; IF offset, sideband swap, channel choice and level meter
  • Maps: a full screen button on every map, and full screen for 5G NR, LTE cell, VDL4 and the passes sky plot
  • Touch interface: a touch shell with big targets, a keypad, a mode picker, drag scrolling of lists and a landscape layout
  • Airband: airport search, an On the air tab, band watch, per-channel squelch and listen

Fixes

  • DVB-T2 16K extended pilot table typo fixed; the 642 MHz capture now decodes
  • TETRA no longer calls clear cells encrypted (the encryption bit is only used when encryption is signalled)
  • GOES HRIT: Reed-Solomon is tried in both symbol bases; CADU save and open (this fix is probable, see Known limitations)
  • DAB+: transmitters heard in the ensemble are placed on the map from the broadcast data
  • DRA+ with no signalled bit rate no longer shows 0 kbit/s (#189)
  • HFDL: strong on-air bursts decode again (#66); weak bursts still fail often
  • Mode switch while running (#191); rtl_tcp waits for the greeting up to 10 s (#186)
  • Airspy HF+: late callbacks after Stop can no longer reach a freed source (#160)
  • Windows: files and folders with accents open and save correctly (#168)
  • Map upload accepts squawk codes such as 0123
  • Build fixes on Linux, macOS, Windows (MinGW) and CI; the Windows test build is tracked in #173

Under the hood

  • The C++ protocol layers were replaced by Rust and removed; golden-vector tests replace the old comparisons. Rust is now required to build.
  • Speed-ups: ionosonde dechirp loop, QO-100 decimator, Wi-SUN burst detector, HRPT Viterbi, and DJI and ATSC resamplers. Outputs are bit-identical.
  • Threading: a shared worker pool for carriers and HFDL channels.

Android

  • Direct USB for RTL-SDR radios (USB device registry, usbfs transfers)
  • The APK is signed with a new permanent key. Android will not install 0.2.7 over 0.2.6 (different signing key): uninstall 0.2.6 first. Future updates will install normally.

Logo

  • New OnAir logo in the app, installers, packages, website and notices. The OnAir name and logo are copyright Kristijonas Adomaitis and are not covered by the GPL licence of the source code.

Community

  • Thanks to drelectro for PR #194 (HFDL ranges and the me marker) and PR #196 (spectrum and waterfall edge gaps and flicker)
  • Thanks to R0Y00 for PR #197 (PlutoSDR native full duplex with coordinated sample rates)

Experimental / tested on synthetic signals only

These have not been verified on real hardware or real signals. Please send recordings if you can.

  • Wireless M-Bus, tone decoders, COSPAS-SARSAT 406, MT63, Z-Wave, Meteor scatter, FPV analog video, Wi-Fi HaLow scan changes
  • P25 trunking follower: P25 phase 1 only; DMR Tier III grants are modelled but not wired to the UI, P25 phase 2 calls are logged but not followed, and the control-message layouts were not checked against the spec
  • LBJ decoder
  • Band survey, message database, HF propagation, GNSS navigation, interference hunter, station health, watchlists
  • Time machine, pass scheduler, Doppler orbit fit, self-calibration
  • Hydrogen line toolkit, passive radar, RF camera, protocol lab
  • TV recorder and EPG, DAB programme guide, live translation, live rooms
  • Plugin SDK, headless server
  • Weather picture studio, offline data packs, auto-labelled spectrum, signal identifier
  • Auto gain, audio cleanup chain, Transmit redesign, sound card input
  • Touch interface, fullscreen maps, airband additions
  • Android direct USB for RTL-SDR

Known limitations

  • HackRF and Airspy USB on Android are not supported yet
  • GOES decoding is not confirmed on real signals
  • Encrypted traffic is never decoded
  • Voice modes need a codec you install yourself (see docs/CODECS.md)
  • HFDL has been checked against one real on-air burst only
  • Some automated tests that depend on the machine or random noise still fail on GitHub's Windows and Linux runners (timing and noise-sensitive tests, and an ISDB-T 20 ppm clock-error case that decodes nothing on Windows). They are being worked on
  • The Windows installer has no custom welcome picture yet
  • Overview video: OnAir_promo_v0.2.7.mp4 (attached)

Don't miss a new OnAir release

NewReleases is sending notifications on new releases.