Repository navigation
Command line
A headless receiver for logs, scripts and bring-up, built from the same library as the app.
onair-cli is the installed name of the program the source tree builds as dect2cli. It prints sync and level telemetry once per second and can play a service, record IQ, write a transport stream or serve the network tuner. dect2scan is a channel scanner. wbtool and isdbtgen are developer tools built with the tests.
# receive with a HackRF, tuned to 522 MHz, for 20 seconds
onair-cli --hackrf --freq 522 --secs 20
# play a service from a recording (10 Msps, 8-bit signed)
onair-cli --file capture.cs8 --rate 10 --format cs8 --play <service id>
# record 10 seconds of raw IQ (any radio, or --synthetic); "auto" names the file for you
onair-cli --record auto --secs 10
# Iridium bursts for iridium-toolkit
onair-cli --standard iridium --iridium-bits output.bits --secs 600
# TETRA network information
onair-cli --standard tetra --freq 392.5
# FM sound to a WAV file
onair-cli --standard fm --freq 98.5 --wav out.wav
A SigMF recording (.sigmf-meta) or a two-channel WAV IQ file gives its own rate, centre frequency and sample format; --rate, --format and --freq still override. --record does not work with --file.
| Option | Meaning |
|---|---|
--hackrf |
Use a HackRF. |
--file path |
Read a recording. With --rate Msps and --format (cs8, cu8 or cf32). |
--synthetic |
Use the built-in test signal. --demo makes synthetic DVB-T / ATSC carry the test-card programme. --snr dB sets its noise. |
--freq MHz |
Tune. --bw MHz sets the channel width, --autobw finds it. |
--lna dB, --vga dB, --amp, --gain dB
|
Radio gains: HackRF stages, or the overall gain of other radios. |
--radio key=value |
A setting of the radio (for example --radio iqformat=cs8 for a PlutoSDR with Tezuka). |
--secs N |
How long to run. |
--standard id |
t2, t, dvbt, atsc, atsc3, dab, isdbt, fm, or any mode or sub-mode id listed below. |
--play id, --service id
|
Play a service, or select the service for outputs. |
--ts file, --udp host:port, --rtp, --no-null
|
Write the transport stream to a file or send it over UDP / RTP, optionally without null packets. |
--serve port, --lan
|
Run the network tuner on a port; --lan lets other computers connect. |
--record out |
Save raw samples to a file, a folder or auto (any radio or --synthetic, not --file). |
--wav file, --listen
|
FM: write the sound to a 48 kHz stereo WAV. --listen plays the sound of FM, voice, CW and ham modes (the command line is silent otherwise). |
--compute cpu, gpu or auto
|
Where error correction runs. |
--ref lat lon |
The receiver position (ADS-B reference). |
--isdbt-bw 6, 7, 8 or auto
|
ISDB-T channel width. |
--dvbc-sr Msym/s, --dvbc-qam n, --dvbc-annexc
|
DVB-C: manual symbol rate, QAM order, J.83 annex C. |
--dvbt-mode, --dvbt-gi, --dvbt-mod, --dvbt-rate
|
Parameters of the synthetic DVB-T signal. |
--dpmr-scan |
dPMR: scan the 16 PMR446 channels. |
--orbcomm-downlinks 1 or 2
|
Orbcomm downlinks decoded at once. |
--ble-channel 37, 38 or 39
|
Bluetooth LE advertising channel. |
--atv-fm |
Analog TV: FM video (analog FPV links), 20 Msps. |
--iridium-bits file |
Write Iridium bursts as RAW: lines. |
--sopt k v, --sval k v
|
Options and values of a mode's test signal. |
Modes (the tuning table of each mode): acars, adsb, aero, airband, ais, ale, ant, astro, atv, ble, cdr, cell, codar, contestia, cubesat, cw, datawell, dect, dji, dmr, dominoex, dpmr, drm, dsc, dstar, dtmb, dvbc, dvbs, elektro, flarm, flex, freedv, fst4, ft2, ft4, ft8, general, globalstar, gnss, goes, gsmr, halow, hamdrm, hdr, hell, hfbeacon, hfdig, hfdl, hrpt, ils, inmc, iono, iridium, ism, js8, jt65, jt9, lbj, loraaprs, loraraw, lorawan, m17, mac, marine, mesh, meshcom, meshcore, meshtastic, meteor, mfsk, msk144, multitone, navtex, nbiot, ndb, nr, nxdn, olivia, orbcomm, p25, packet, pager, pocsag, psk, q65, qo100, rid, rtty, same, sonde, specan, specx, sstv, tetra, tetrapol, thor, time, uat, uplink, vdes, vdl2, vdl4, vor, vorils, wb, wefax, wifi, wisun, wspr, zigbee.
dect2scan [--from MHz] [--to MHz] [--step MHz] [--bw MHz] [--quick] [--lna dB] [--vga dB] [--noamp] [--occ dB]
Scans a range with the first radio found and prints each frequency with its level and occupancy, and for DVB-T2 the mode, SNR, PLP info, network id and name, and the services. --quick skips identifying services; --bw fixes the channel width.
See also the remote-control API and Build from source.
Getting started
Using OnAir
Tools and guides (0.2.7)
- Band survey
- Message database
- Watchlists
- TV recorder
- Time machine
- Pass scheduler
- Plugin SDK
- Headless server
- All guides
Radios
Modes by group
- TV
- Broadcast radio
- Aviation
- Maritime
- Satellite & navigation
- Two-way radio
- Cellular & rail
- Pagers
- IoT & sensors
- Weather & science
- Amateur: digital
- Amateur: voice & packet
- HF utility
- General & tools
Tutorials
- DVB-T2 TV with a HackRF
- FM radio with RDS
- Aircraft with ADS-B and the map
- Ships with AIS
- DAB+ digital radio
- Weather satellite images
- HF digital: FT8 and WSPR
- Digital voice: DMR, D-STAR, P25
- Pagers: POCSAG and FLEX
- Time stations and the clock
- Record IQ, then the Signal workbench
- The signal sample library
- Control a rig with Hamlib
- Two receivers and the multi-decoder
Reference
Help
Legal and privacy
More