mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 18:43:51 +00:00
Phase 3 (batch 7): route CTun toggle through controller command
Первая команда тяжёлого класса. TRadioController.SetCTun несёт логику движка/сети (band cache, при выключении — центрирование на VFO + SetShift(0) + UpdateState/SendFullHP); все нужные поля и хелперы XvtrTranslate/ ActiveTXFreqHz уже в контроллере. BtnCTunClick — тонкая обёртка (SetCTun(not FCTun)); рендер (StyleButton/SyncSpecViewFreq/перерисовка спектра+водопада) ушёл в OnControllerState(rfCTun). Прямые записи FController.FCTun в путях band restore / ActivateVfo оставлены — мигрируют со своими командами (Band/VFO). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
d895800f62
commit
2e4cd3cc65
+18
-1
@@ -499,7 +499,24 @@ procedure TRadioController.SetSampleRate(Hz: Integer);
|
||||
begin FSampleRate := Hz; Changed(rfSampleRate); { TODO wiring: RecreateDSPEngine } end;
|
||||
|
||||
procedure TRadioController.SetCTun(On_: Boolean);
|
||||
begin FCTun := On_; Changed(rfCTun); { TODO wiring } end;
|
||||
begin
|
||||
FCTun := On_;
|
||||
FBandCache[FCurrentBand].CTun := FCTun;
|
||||
if not FCTun then
|
||||
begin
|
||||
// Выключили CTUN: центрируемся на VFO, shift=0. (Включение CTUN не трогает
|
||||
// движок — FCenterFreq остаётся как есть, спектр не прыгает.)
|
||||
FCenterFreq := FVfoA;
|
||||
if FWDSPReady and Assigned(FDSPEngine) then FDSPEngine.SetShift(0.0);
|
||||
if Assigned(FNetwork) and FNetwork.Connected and FNetwork.Running then
|
||||
begin
|
||||
FNetwork.UpdateState(XvtrTranslate(FCenterFreq), XvtrTranslate(ActiveTXFreqHz),
|
||||
FDriveLevel, FTransmitting, True, True);
|
||||
FNetwork.SendFullHP;
|
||||
end;
|
||||
end;
|
||||
Changed(rfCTun);
|
||||
end;
|
||||
|
||||
procedure TRadioController.SetDuplex(On_: Boolean);
|
||||
begin FDisplayDuplex := On_; Changed(rfDuplex); { TODO wiring } end;
|
||||
|
||||
Reference in New Issue
Block a user