mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:37:33 +00:00
Fix TX following active RX VFO instead of the TX selector
The TX VFO is chosen independently of the RX VFO via the TX-A/TX-B buttons (FSplitTxB: False=A, True=B); UI highlights TX-A when not split. But the TX frequency and TX overlay used FActiveVfo in the non-split branch, coupling TX to the active RX VFO. Result: with RX on B and TX-A selected, the radio still transmitted on B (TX overlay also drew on B). Make the TX VFO depend solely on FSplitTxB in all three spots: ActiveTXFreqHz and both TXVfoIndex assignments (live update + ApplyMOX). Now RX=B / TX=A works as the UI indicates. Pre-existing bug, not a refactor regression. Builds clean, links. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
8f0ba64d67
commit
af85ddece6
+4
-2
@@ -392,9 +392,11 @@ end;
|
||||
|
||||
function TRadioController.ActiveTXFreqHz: Double;
|
||||
begin
|
||||
// TX-VFO задаётся ТОЛЬКО селектором FSplitTxB (UI: кнопки TX-A/TX-B),
|
||||
// независимо от активного RX-VFO. Раньше при не-split TX ошибочно следовал
|
||||
// за активным RX (TX-A горит, но передача шла на B при активном B).
|
||||
if FSplitTxB then Result := FVfoB
|
||||
else if FActiveVfo = 0 then Result := FVfoA
|
||||
else Result := FVfoB;
|
||||
else Result := FVfoA;
|
||||
if FMode = MODE_FM then
|
||||
case FFMRptDir of
|
||||
RPT_MINUS: Result := Result - FFMRptOffsetHz;
|
||||
|
||||
Reference in New Issue
Block a user