Request preparation
What would you like?
What
AetherSDR’s built-in rigctld daemon currently implements only a subset of the standard Hamlib rigctld protocol. Full (or near-full) support would expose the radio via the normal TCP rigctld interface (default port 4532) so any Hamlib-compatible program can control it exactly like a real rig.
Why
- Allows MacLoggerDX, N1MM Logger, fldigi, WSJT-X, CQRLOG, etc. to connect directly and get live frequency/mode/PTT/VFO state.
- Bidirectional sync: changing frequency or mode in AetherSDR instantly updates the logging/contest program (and vice-versa).
- Current partial implementation already exists (see AetherSDR.log) but returns “RPRT -4 Feature not implemented” for almost everything MacLoggerDX asks for.
How Other Clients Do It
- SmartSDR (Windows) and most Flex clients expose a CAT interface; many users run a separate rigctld wrapper.
- GQRX, SDR++, hamlib-based loggers, and contest software all expect a full rigctld server (model 2 “NET rigctl”).
- MacLoggerDX and N1MM connect to rigctld on localhost:4532 and poll the standard command set (see attached rigctl-help.txt).
Suggested Behavior
- Keep the existing rigctld listener (already present in the code).
- Expand the command handler to support the full set shown in rigctl ? (attached).
- Map rigctld commands to existing AetherSDR objects:
- get_freq / set_freq → active slice / VfoWidget
- get_mode / set_mode → RxApplet slice mode
- get_vfo / set_vfo → current VFO selection
- get_ptt / set_ptt → PTT state
- get_vfo_info, get_rig_info, etc. → data already available in RadioModel
Optional: add a toggle in AppletPanel → Settings → External Control to enable/disable the rigctld server and change the port.
Protocol Hints
- AetherSDR already parses extended responses (commands prefixed with +).
- Log shows many commands returning RPRT -4 (e.g. get_rig_info, get_vfo_info VFOA, set_mode ?, get_level ?).
- Full command list and expected responses are in the attached rigctld.txt, rigctl.txt, and rigctl-help.txt.
- Mapping should use the existing FlexLib → internal model layer (no new protocol work needed for the radio side).
Acceptance Criteria
- All core commands listed in rigctl ? (freq, mode, vfo, split, rit, ptt, levels, etc.) return correct values or RPRT 0.
- MacLoggerDX (and equivalent programs) can connect and display live frequency/mode without errors.
- Frequency/mode changes in AetherSDR are immediately visible to any connected rigctld client.
- No regression to existing FlexRadio protocol or slice/audio flow.
- Updated documentation in README.md showing how to connect external software.
Attachments:
rigctl-help.txt
AetherSDR.log
rigctl.txt
rigctld.txt
rigctld.txt (full man page)
rigctl.txt (full man page)
rigctl-help.txt (command list from ?)
AetherSDR.log (current failing commands from MacLoggerDX)
Ready to implement once approved.
Request preparation
What would you like?
What
AetherSDR’s built-in rigctld daemon currently implements only a subset of the standard Hamlib rigctld protocol. Full (or near-full) support would expose the radio via the normal TCP rigctld interface (default port 4532) so any Hamlib-compatible program can control it exactly like a real rig.
Why
How Other Clients Do It
Suggested Behavior
Optional: add a toggle in AppletPanel → Settings → External Control to enable/disable the rigctld server and change the port.
Protocol Hints
Acceptance Criteria
Attachments:
rigctl-help.txt
AetherSDR.log
rigctl.txt
rigctld.txt
rigctld.txt (full man page)
rigctl.txt (full man page)
rigctl-help.txt (command list from ?)
AetherSDR.log (current failing commands from MacLoggerDX)
Ready to implement once approved.