mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:37:33 +00:00
scroll freq
This commit is contained in:
@@ -478,6 +478,7 @@ type
|
||||
procedure WebOnANF(On_: Boolean);
|
||||
procedure WebOnFreqB(Hz: Double);
|
||||
procedure WebOnActiveVfo(Idx: Integer);
|
||||
procedure WebOnCenter(Hz: Double);
|
||||
// Synchronize-обёртки (выполняются в UI-потоке)
|
||||
procedure SyncWebFreq;
|
||||
procedure SyncWebMode;
|
||||
@@ -498,6 +499,7 @@ type
|
||||
procedure SyncWebANF;
|
||||
procedure SyncWebFreqB;
|
||||
procedure SyncWebActiveVfo;
|
||||
procedure SyncWebCenter;
|
||||
procedure BtnWfAGCClick(Sender: TObject);
|
||||
procedure BtnWfNFClick(Sender: TObject);
|
||||
procedure BtnHidePanelClick(Sender: TObject);
|
||||
@@ -828,6 +830,7 @@ begin
|
||||
FWebServer.OnANF := WebOnANF;
|
||||
FWebServer.OnFreqB := WebOnFreqB;
|
||||
FWebServer.OnActiveVfo := WebOnActiveVfo;
|
||||
FWebServer.OnCenter := WebOnCenter;
|
||||
FWebServer.Start;
|
||||
FSMeterPeak := -130;
|
||||
FSMeterMin := -130;
|
||||
@@ -4755,6 +4758,30 @@ begin
|
||||
ActivateVfo(FWebSyncInt);
|
||||
end;
|
||||
|
||||
// ── CTUN drag center scroll (из веба) ────────────────────────────────────
|
||||
|
||||
procedure TMainForm.WebOnCenter(Hz: Double);
|
||||
begin
|
||||
FWebSyncFreq := Hz;
|
||||
FWebSyncM := SyncWebCenter;
|
||||
TThread.Synchronize(nil, FWebSyncM);
|
||||
end;
|
||||
|
||||
procedure TMainForm.SyncWebCenter;
|
||||
begin
|
||||
// Сдвигаем DDC-центр без смены VFO (аналог CTUN-drag в десктопе)
|
||||
FCenterFreq := FWebSyncFreq;
|
||||
if FWDSPReady then
|
||||
begin
|
||||
if FActiveVfo = 0 then FDSPEngine.SetShift(FVfoA - FCenterFreq)
|
||||
else FDSPEngine.SetShift(FVfoB - FCenterFreq);
|
||||
end;
|
||||
if FNetwork.Connected and FNetwork.Running then
|
||||
FNetwork.UpdateState(FCenterFreq, FCenterFreq, FDriveLevel, FTransmitting, True, True);
|
||||
FRulerLastFreq := -1.0; FRulerLastVfo := -1.0;
|
||||
FSpectrumDirty := True;
|
||||
end;
|
||||
|
||||
procedure TMainForm.TrkDriveChange(Sender: TObject);
|
||||
begin
|
||||
FDriveLevel := Round(TrkDrive.Position / 100.0 * 255);
|
||||
|
||||
Reference in New Issue
Block a user