Summary
Comparing AetherSDR's rigctld (Hamlib) dialect against SmartSDR for Mac's rigctld port on a FLEX-6500 (via split_vfo_test, port 4532). SmartSDR for Windows doesn't expose a rigctld port, so this comparison is Mac-only. The ASDR column is current main.
| # |
Behavior |
ASDR (main) |
SmartSDR-Mac |
| 1 |
set_split_vfo 1, single VFO (no VFO B) |
split=True — auto-creates a TX slice |
NOT_ENABLED (no auto-create) |
| 2 |
set_split_freq / set_split_mode, single VFO |
accepted (applied to the created slice) |
rejected |
| 3 |
VFO B on a dual config |
not independent — set_freq on B also moves A (see #3694) |
(n/a in single-VFO capture; B expected independent) |
| 4 |
RIT/XIT set (set_rit / set_xit) |
supported (on=True, hz applied) |
not supported (no-op, reads back off) |
| 5 |
VFO B on single config (get_freq B) |
MIRRORS A; set on B moves A |
MIRRORS A; same — matches (Hamlib single-VFO quirk) |
| 6 |
set_vfo VFOB, single |
no swap |
no swap — matches |
Detail / impact
Notes on a fix direction
Two narrow internal-consistency fixes are landing in a behavior PR (fix/cat-rigctld-behavior): (a) recording split-enabled state when an implicit enable arrives via a VFO-B set_freq/set_mode (so get_split_vfo reports correctly and TX is reclaimed), and (b) a maxSlices guard so the on-demand create can't exceed the receiver's slice capacity. The larger #1/#2 alignment (no-auto-create vs fully-managed slice) and #3 are deferred to the slice-lifecycle work.
Summary
Comparing AetherSDR's rigctld (Hamlib) dialect against SmartSDR for Mac's rigctld port on a FLEX-6500 (via
split_vfo_test, port 4532). SmartSDR for Windows doesn't expose a rigctld port, so this comparison is Mac-only. The ASDR column is currentmain.set_split_vfo 1, single VFO (no VFO B)set_split_freq/set_split_mode, single VFOset_freqon B also moves A (see #3694)set_rit/set_xit)get_freqB)set_vfo VFOB, singleDetail / impact
set_freqon B drags A with it — already filed as CAT config: rigctld dialect exposes a VFO B selector that has no effect #3694.Notes on a fix direction
Two narrow internal-consistency fixes are landing in a behavior PR (
fix/cat-rigctld-behavior): (a) recording split-enabled state when an implicit enable arrives via a VFO-Bset_freq/set_mode(soget_split_vforeports correctly and TX is reclaimed), and (b) amaxSlicesguard so the on-demand create can't exceed the receiver's slice capacity. The larger #1/#2 alignment (no-auto-create vs fully-managed slice) and #3 are deferred to the slice-lifecycle work.