Skip to content

v0.3.4 — Flex sim licensing options: subscription, features, DVK refusal, live changes

Choose a tag to compare

@github-actions github-actions released this 13 Oct 05:02
· 13 commits to main since this release
8b3a338

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 all is answered with the three licence objects a real radio sends:

    • license
    • license subscription
    • one license feature line 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-license still works.

  • Live changes, no reconnect. http://<sim>:8731/license changes the licence while AetherSDR is connected and pushes the new status straight to it. For example, /license?feature=digital_voice_keyer&enabled=0 or /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), every dvk command is refused with 50004001. 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.