Request preparation
What would you like?
Feature Request
What would you like?
Add handling for the X4S serial command from the FlexControl device —
emitted when the main tuning knob is pressed (single click). This would
allow users to assign a radio action to the knob button press, just as
the three AUX buttons (X1S, X2S, X3S) already support configurable actions.
Background / protocol reference
The FlexControl sends plain ASCII commands terminated with ; over its
serial port. The knob-as-button identifier is documented in third-party
projects that implement the protocol (e.g. https://github.com/brianbruff/flctrl):
U; / U02; — knob rotated clockwise (with pulse count)
D; / D02; — knob rotated counter-clockwise
X1S; / X2S; / X3S; — AUX button 1/2/3 single press
X4S; — main knob single press (currently unhandled in AetherSDR)
The Python reference implementation handles X4S to cycle tuning step
size — demonstrating that the command is reliably sent by the hardware.
SmartSDR equivalent
SmartSDR for Windows allows the knob press to be assigned to radio
functions just like the AUX buttons (e.g. toggle RIT, swap VFOs,
change tuning step). AetherSDR currently handles rotation but not
the knob press.
Suggested implementation
In whatever source file handles the FlexControl serial command parsing
(likely something like FlexControlController.cpp or similar):
- Parse
X4S alongside the existing X1S, X2S, X3S button handlers
- Expose it in the FlexControl settings UI as "Knob Button" with a
configurable action dropdown (same options available to the AUX buttons)
- A sensible default action would be "Cycle Tune Step" (matching the
Python reference and SmartSDR behaviour)
Why this matters
The knob button is physically the most natural and frequently pressed
control on the FlexControl — it sits right under the thumb during
tuning. Leaving it unmapped means operators lose a prime control
surface. Virtually all other FlexControl integrations (SmartSDR,
FTDXRC, DDUtil) support it.
73 LB2EG Richard
Request preparation
What would you like?
Feature Request
What would you like?
Add handling for the
X4Sserial command from the FlexControl device —emitted when the main tuning knob is pressed (single click). This would
allow users to assign a radio action to the knob button press, just as
the three AUX buttons (X1S, X2S, X3S) already support configurable actions.
Background / protocol reference
The FlexControl sends plain ASCII commands terminated with
;over itsserial port. The knob-as-button identifier is documented in third-party
projects that implement the protocol (e.g. https://github.com/brianbruff/flctrl):
U;/U02;— knob rotated clockwise (with pulse count)D;/D02;— knob rotated counter-clockwiseX1S;/X2S;/X3S;— AUX button 1/2/3 single pressX4S;— main knob single press (currently unhandled in AetherSDR)The Python reference implementation handles
X4Sto cycle tuning stepsize — demonstrating that the command is reliably sent by the hardware.
SmartSDR equivalent
SmartSDR for Windows allows the knob press to be assigned to radio
functions just like the AUX buttons (e.g. toggle RIT, swap VFOs,
change tuning step). AetherSDR currently handles rotation but not
the knob press.
Suggested implementation
In whatever source file handles the FlexControl serial command parsing
(likely something like
FlexControlController.cppor similar):X4Salongside the existingX1S,X2S,X3Sbutton handlersconfigurable action dropdown (same options available to the AUX buttons)
Python reference and SmartSDR behaviour)
Why this matters
The knob button is physically the most natural and frequently pressed
control on the FlexControl — it sits right under the thumb during
tuning. Leaving it unmapped means operators lose a prime control
surface. Virtually all other FlexControl integrations (SmartSDR,
FTDXRC, DDUtil) support it.
73 LB2EG Richard