Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Composite radios

A composite radio combines two radios the proxy already drives into a single virtual device, assigning each role to whichever radio is best at it. Clients see one ordinary radio — one spectrum, one set of controls, one PTT.

Classic use cases:

  • Great transceiver, no panadapter — e.g. FTDX3000 for TX and RX audio, a Hermes for the wideband waterfall.
  • RX-only SDR + any transmitter — listen on the SDR, key the rig.

You do the antenna wiring (separate antennas, a T/R relay off the rig’s RX-OUT jack, or an IF tap). The proxy handles everything else: command routing, frequency tracking between the two radios, TX/RX muting, and merging the two radios’ capabilities.

Defining one

In the configuration file (or the web config panel, which validates role references for you):

[[composite]]
name = "FTDX + Hermes panadapter"

[composite.roles]
tx = "shack-ftdx"          # who transmits (PTT, CW, drive)
rx_audio = "shack-ftdx"    # whose audio you hear
spectrum = "shack-hermes"  # who draws the panadapter
# control = "shack-ftdx"   # frequency/mode master; defaults to the tx radio

[composite.tracking]
spectrum_follows = "rx"    # "rx" (default follow), "tx", or "fixed"
# rx_offset_hz = 0         # constant offset between the two radios
# rx_cal_ppm = 0.0         # frequency-calibration trim
# spectrum_offset_hz = 0
# spectrum_cal_ppm = 0.0

[composite.tx_sequencing]
# pre_tx_delay_ms = 0          # relay settling time before RF
# hang_ms = 0                  # delay before returning to RX
# rx_mute_on_tx = true         # mute the RX radio while transmitting
# spectrum_freeze_on_tx = true # freeze the waterfall while transmitting

Each role names a radio by its stable id: the id you gave a [[traditional]] radio, a manual host’s id, a Hermes MAC address, or a literal IP. The proxy refuses to save a composite whose references are unknown or ambiguous.

Composites appear in every client’s device list as their own entry (protocol COMPOSITE) next to the radios they’re built from. Connecting to one starts both child radios; the usual sharing rules still apply (a CAT radio’s serial port is exclusive, so don’t connect to the composite and its child at once).

Tracking and TX behavior

  • spectrum_follows = "rx" keeps the panadapter centered on where you’re listening; "tx" follows the transmit frequency (useful with split); "fixed" leaves the spectrum radio where you park it.
  • The offset/ppm fields absorb a constant frequency difference between the two radios (transverters, IF taps, calibration error).
  • On PTT the proxy sequences the changeover: optional pre-TX delay for your relay, RX muting and waterfall freeze during TX (both on by default), and an optional hang time before RX resumes.