Skip to content

Add FlexControl WheelAGC-T action for AGC-T adjustment #2907

Description

@g4irn

Request preparation

  • I used an AI assistant to help structure this request
  • I checked for existing issues covering the same feature

What would you like?

I did a duplicate check against the current AetherSDR issue tracker for relevant keywords around FlexControl, AGC-T, wheel mapping, and control-surface input, and I did not find an existing open issue that specifically covers assigning the FlexControl wheel to AGC-T adjustment. I also used the current AetherSDR project context (Qt6/C++20 SmartSDR-native client architecture). ([GitHub]1)

This is a FEATURE REQUEST.

Title: Add FlexControl WheelAGC-T action for AGC-T adjustment

What

Add a new FlexControl wheel action (e.g. WheelAGC-T) that allows the FlexRadio FlexControl knob to adjust the AGC-T (AGC Threshold) value for the active slice, similar to SmartSDR.

From the operator’s perspective:

  • Assign WheelAGC-T to the FlexControl wheel in the control mapping UI
  • Rotate clockwise to increase AGC-T
  • Rotate counter-clockwise to decrease AGC-T
  • Adjustment applies to the currently focused / active RX slice
  • Optional on-screen feedback shows the changing AGC-T value

This would bring a frequently used receive control onto dedicated hardware, avoiding mouse interaction during operation.


Why

AGC-T is one of the most frequently adjusted receive parameters in weak-signal DXing, contesting, and crowded-band operation.

Current limitations:

  • AGC-T requires mouse interaction in the RX applet/UI
  • This is slower and less ergonomic than hardware control
  • It interrupts tuning workflow, especially during rapid band activity
  • Operators migrating from SmartSDR expect this capability because it already exists there

For contest and DX operation, AGC-T is often adjusted as frequently as AF gain or tuning.

A dedicated wheel action would make AetherSDR significantly more efficient for FlexControl users.


How Other Clients Do It

SmartSDR (Windows)
Supports FlexControl action assignment including AGC-T adjustment directly from the hardware knob.

SDR Console
Provides extensive hardware control mapping for receiver parameters.

GQRX / SDR++
Do not directly support FlexControl, but both allow rapid mouse-wheel interaction with receive parameters.

AetherSDR already supports sophisticated operator workflows, so AGC-T wheel control would fit naturally.


Suggested Behavior

FlexControl Mapping UI

In the FlexControl action assignment list, add:

WheelAGC-T

(or equivalent naming consistent with existing wheel actions)

Runtime behavior

When assigned:

  • Wheel clockwise:

    • Increment AGC-T by configurable step (suggest 1 dB or current native AGC-T increment)
  • Wheel counter-clockwise:

    • Decrement AGC-T

Target:

  • Active RX slice only
  • If no active slice exists, wheel input is ignored

UI feedback

When wheel movement occurs:

  • Update the AGC-T control in RxApplet
  • Optional transient overlay near VfoWidget:
AGC-T: 47

similar to other parameter feedback mechanisms.

Multi-slice behavior

If multiple slices exist:

  • Apply to the slice currently marked active / focused for operator control

This matches normal operator expectations.


Protocol Hints

Flex radios expose AGC threshold as a slice parameter.

Likely protocol path:

slice set <slice_id> agc_threshold=<value>

(or equivalent FlexLib property setter)

AetherSDR likely already handles AGC-T in existing RX control code, so this may mainly require:

  • Adding new FlexControl action enum
  • Mapping wheel delta to AGC-T increment/decrement
  • Updating active slice model
  • Refreshing bound UI controls

Acceptance Criteria

  • FlexControl mapping UI includes a selectable WheelAGC-T action
  • Rotating the FlexControl wheel changes AGC-T on the active slice
  • RxApplet AGC-T control updates immediately to reflect hardware changes
  • Multi-slice operation affects only the active slice
  • Behavior matches SmartSDR expectations for FlexControl users

Suggested labels:
enhancement, GUI, external devices, protocol

Metadata

Metadata

Assignees

No one assigned

    Labels

    GUIUser interfaceenhancementImprovement to existing featureexternal devicesFlexControl, MIDI, serial port, USB peripheralsgood first issueGood for newcomersmaintainer-reviewRequires maintainer review before any action is taken

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions