[feat](trx-backend-soapysdr): add hardware AGC toggle and SDR settings UI row
Add hardware AGC on/off control for SoapySDR backend, wired through the full stack from RigCommand to the web UI: - RigCommand::SetSdrAgc(bool) + ClientCommand::SetSdrAgc in protocol - set_sdr_agc() on RigCat trait (not-supported default) - SoapySdrRig: agc_enabled field, set_sdr_agc() via pipeline agc_cmd, sdr_agc_enabled in filter_state(); removes the "not yet implemented" warning — gain_mode="auto" now properly enables hardware AGC via SoapySDR set_gain_mode() - IqSource::set_gain_mode() trait method; RealIqSource implements it - SdrPipeline: agc_cmd channel, read loop applies it each iteration - POST /set_sdr_agc endpoint in trx-frontend-http - New "SDR settings" full-row in index.html with Hardware AGC checkbox and RF Gain (moved out of WFM controls); row hidden when show_sdr_gain_control is false - app.js: AGC checkbox handler, disables RF gain input while AGC is on, syncs checkbox state from filter.sdr_agc_enabled Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Stan Grams <sjg@haxx.space>
This commit is contained in:
@@ -232,13 +232,6 @@
|
||||
<option value="high">High</option>
|
||||
</select>
|
||||
</label>
|
||||
<div class="wfm-gain-group" id="sdr-gain-controls">
|
||||
<label class="wfm-control">
|
||||
<span class="wfm-control-label">RF Gain</span>
|
||||
<input id="sdr-gain-db" class="status-input" type="number" min="0" max="60" step="1" inputmode="decimal">
|
||||
</label>
|
||||
<button id="sdr-gain-set" type="button" class="wfm-inline-btn">Set</button>
|
||||
</div>
|
||||
<label class="wfm-control wfm-st-flag-wrap" aria-label="Stereo pilot status">
|
||||
<span class="wfm-control-label">Pilot</span>
|
||||
<span id="wfm-st-flag" class="wfm-st-flag wfm-st-flag-mono">MO</span>
|
||||
@@ -259,6 +252,22 @@
|
||||
<div class="label"><span>VFO</span></div>
|
||||
<div class="vfo-picker" id="vfo-picker"></div>
|
||||
</div>
|
||||
<div class="full-row label-below-row" id="sdr-settings-row" style="display:none;">
|
||||
<div class="label"><span>SDR settings</span></div>
|
||||
<div class="inline" style="gap: 0.6rem; flex-wrap: wrap; align-items: center;">
|
||||
<label class="vol-label" id="sdr-agc-wrap">
|
||||
<span style="margin-right:0.3rem;">Hardware AGC</span>
|
||||
<input type="checkbox" id="sdr-agc-enabled">
|
||||
</label>
|
||||
<div class="wfm-gain-group" id="sdr-gain-controls">
|
||||
<label class="wfm-control">
|
||||
<span class="wfm-control-label">RF Gain</span>
|
||||
<input id="sdr-gain-db" class="status-input" type="number" min="0" max="60" step="1" inputmode="decimal">
|
||||
</label>
|
||||
<button id="sdr-gain-set" type="button" class="wfm-inline-btn">Set</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="full-row label-below-row" id="vchan-row">
|
||||
<div class="label"><span>Channels / Scheduler</span></div>
|
||||
<div class="channel-scheduler-controls">
|
||||
|
||||
Reference in New Issue
Block a user