Repository navigation
v0.3.4 — Flex sim licensing options: subscription, features, DVK refusal, live changes
The Flex radio sim can now report any licence a real radio might: SmartSDR+ subscription, licensed features and DVK refusal. You set it at startup or change it live while AetherSDR is connected. This was asked for by K5PTB, to test AetherSDR against different licences without a radio for each one.
About the binaries below: they are the Flex radio sim (
flex_sim.py). The KPA1500, ANAN and station sims run from source.
Added (#17)
-
The full licence report.
sub license allis answered with the three licence objects a real radio sends:licenselicense subscription- one
license featureline per feature
By default the sim reports an active SmartSDR+ subscription with the Digital Voice Keyer licensed.
-
Startup flags:
--subscription none|smartsdr+|early-access--subscription-expires YYYY-MM-DD(a past date gives an expired subscription)--license-feature NAME=0|1[:REASON], repeatable, for any feature--dvk-refuses
--no-dvk-licensestill works. -
Live changes, no reconnect.
http://<sim>:8731/licensechanges the licence while AetherSDR is connected and pushes the new status straight to it. For example,/license?feature=digital_voice_keyer&enabled=0or/license?subscription=none. With no query it shows the current licence.- Bad input is refused and changes nothing.
- Rack mode takes
&radio=N.
-
DVK refusal. With
--dvk-refuses(or?dvk_refuses=1), everydvkcommand is refused with50004001. A real radio does this when it won't store recordings, sometimes even while it reports the feature as enabled.
tests/test_licensing.py covers all of this (20 checks), and PROTOCOL.md §11 documents it.
Checked end to end with the aethersdr/AetherSDR#6292 build. With the voice keyer source on Automatic:
- AetherSDR uses the Radio keyer while the licence is on.
- Turning the licence off live switches it to Local and removes Radio DVK from the menu.
- Turning the licence back on switches it back to Radio.
Testing tips:
- Start from Automatic. A saved Local or Radio choice overrides the licence.
- AetherSDR only upgrades its subscription label during a session, so reconnect to test a downgrade.