Repository navigation
The Flex radio sim now serves several API clients at once, as a real FlexRadio does. A controller can sit beside AetherSDR and drive its slices, for example a CTR2 through AetherSDR's CTR2 Relay. With only AetherSDR connected, nothing changes.
About the binaries below: they are the Flex radio sim (
flex_sim.py). The KPA1500, ANAN and station sims run from source.
Added: several clients at once (#24)
- Each connection is served on its own thread, with its own client handle (
V/Hgreeting) and its own send lock. The radio's slices, panadapters and transmit state stay shared. - GUI and non-GUI clients: a client that sends
client guiis a GUI client.sub client allreportsclient 0x<handle> connected … client_id=<uuid> program=… station=…for each one, anddisconnectedwhen it leaves. client bind client_id=<uuid>: a non-GUI controller binds to a GUI client, then sees and drives that client's slices (slice tune,slice set … mode=,audio_level=, filter,xmit/transmit set mox=). Status reaches every client that should see it.- Disconnects are per client: only the leaving client's own slices and pans are removed, and TX is dropped only if that client keyed it.
Fixed: autopan=1 re-announces the pan (#25)
slice tune <n> <MHz> autopan=1 now re-sends the panadapter status with its new centre, as display pan set center= already did. Before, AetherSDR kept the old centre while the sim framed the spectrum on the new one, so the carrier pattern appeared away from the slice flag.
Added: sim get / sim set level= (#25)
Flex sim-only API verbs, so a controller without access to the web control panel can read and set the signal level (the same value as the panel's signal-level slider):
sim getreplieslevel=<dBm> floor=<dBm> pattern=<name>.sim set level=<dBm>sets it, clamped like the slider.
A real radio rejects them. Documented in PROTOCOL.md as a flex-sim extension.
Tested with
AetherSDR's CTR2 Relay and a CTR2-Max running the AetherPanel firmware:
- the controller binds to AetherSDR's session
- the VFO tunes with
autopan=1and the pan follows, with the carrier on the flag - push-and-turn sets the signal level
- PTT and TUNE key the sim only