Repository navigation
v0.3.3 — Flex sim TX audio state: mic source, DVK licence, reconnect and client-drop
Five fixes to the Flex radio sim's transmit-audio state. These are behaviours that AetherSDR's client-side voice keyer (aethersdr/AetherSDR#6292) depends on. Before this release, testing that PR meant patching the sim first. Anyone testing AetherSDR's mic source, DVK or TX recovery against the sim should update.
About the binaries below: they are the Flex radio sim (
flex_sim.py). The KPA1500, ANAN and station sims run from source.
Fixed (#15)
- Mic source.
mic listnow includes PC like a real 6000.mic input <src>selects the source, and the transmit status reportsmic_selection=anddax=so a client can read them back. AetherSDR's voice keyer refuses to record unless the radio reports PC, so recording could not be tested before. - DVK licence. The sim now answers
sub license allwithdigital_voice_keyerenabled. The new--no-dvk-licenseflag makes it a radio without SmartSDR+. AetherSDR assumes the licence is present when it hears nothing, so every sim used to look licensed, and the unlicensed path (the one the client-side keyer exists for) could not be reached. remote_audio_txgets its own stream id. It used to sharenetcw's, so AetherSDR held one id for two streams.- Reconnecting while keyed. The sim answers
sub tx allwith its current TX state, so a client that reconnects mid-transmission learns that the radio is keyed. - A client that disconnects while keyed is unkeyed, as on a real radio. The sim used to stay keyed, so the next client inherited a carrier nobody owned.
tests/test_tx_audio_state.py covers all five (11 checks), and PROTOCOL.md §10 documents them. Checked end to end with the #6292 build and no patches:
- with
--no-dvk-license, AetherSDR picks its Local keyer by itself - the mic switches to PC and reads back from the radio
- a client dropping while keyed leaves the sim unkeyed