-
Notifications
You must be signed in to change notification settings - Fork 61
Multi Flex
Multi-Flex allows AetherSDR to operate alongside SmartSDR, Maestro, or another AetherSDR instance — each as an independent client on the same radio.
When multiple clients connect to the same FlexRadio, each gets its own:
- Client handle (assigned by the radio)
- Slice(s) and panadapter
- Independent tuning, mode, and filter settings
AetherSDR filters all status messages and VITA-49 packets by client_handle so you only see your own slices and panadapter data.
- On connect: AetherSDR checks if existing slices belong to another client. If so, it creates its own slice and panadapter.
-
Status filtering: Only processes slice/pan/waterfall updates that match our
client_handle - VITA-49 filtering: FFT and waterfall packets from other clients' panadapters are silently dropped
- Early slice status messages may arrive without
client_handle. AetherSDR creates temporary SliceModels for all slices, then removes the ones that don't match whenclient_handleappears. - The radio broadcasts ALL status updates to ALL clients via
sub xxx all. AetherSDR filters them client-side.
When SmartSDR / Maestro / another AetherSDR is already connected and you launch AetherSDR alongside it, status messages can interleave in races that would previously mis-attribute panadapters and slices to the wrong client. v0.9.4 hardens three specific paths:
- Panadapter creation — pan ownership is determined from the radio's status response, not from the order packets arrive in
- Slice ownership — the temporary "create-then-prune" approach is bounded so we don't accidentally lock a slice we don't own
- PC audio stream acquisition — RX audio stream IDs are validated against the client handle before binding the local audio sink
If you regularly run alongside DAX or SmartSDR, the v0.9.4 release is the floor — earlier versions could occasionally hang on connect in these races.
Settings → multiFLEX opens a live dashboard showing all connected stations:
- Client table — station name, program, TX antenna, TX frequency for each connected client
- LOCAL PTT — checkmark indicates which station has PTT authority
- Enable/Disable — toggle multiFLEX mode on the radio
- Enable Local PTT — request PTT for your station when another client holds it
The dashboard updates in real time via sub client all status subscriptions.
A green multiFLEX badge also appears in the title bar when other clients are connected, with a hover tooltip listing station names.
- Radio must have
mf_enable=1(Multi-Flex enabled) - Enable in SmartSDR: Settings → Radio Setup → Radio → multiFLEX → Enabled
- Or via AetherSDR: Settings → Radio Setup → Radio → multiFLEX → Enabled
- Panadapter Controls
- VFO Widget
- RX Controls
- TX Controls
- Aetherial Audio
- Multi-Slice Operation
- Diversity and ESC
- TNF (Tracking Notch Filters)
- Memory Channels
- Profile Management
- Slice Colors
- XVTR (Transverters)
- CWX Panel
- CW Decoder
- DVK Panel
- RTTY Operation
- RADE Digital Voice
- DAX Virtual Audio
- DAX IQ Streaming
- WSJT-X Integration
- CAT Control
- TCI Server