Revert "Add WFM (broadcast FM) demodulator support"

This reverts commit e52e32dc20.
This commit is contained in:
2026-06-01 14:40:39 +03:00
parent e52e32dc20
commit d8584323ac
3 changed files with 25 additions and 82 deletions
+2 -32
View File
@@ -36,8 +36,7 @@ const
WDSP_CWU = 4;
WDSP_FM = 5;
WDSP_AM = 6;
WDSP_SAM = 10;
WDSP_WFM = 12;
WDSP_SAM = 12;
// Наши индексы режимов (совпадают с кнопками MainForm)
MODE_LSB = 0;
@@ -278,8 +277,6 @@ type
FSMeter: Double;
FFilterLow: Integer;
FFilterHigh: Integer;
FWFMEnabled: Boolean; // переключатель: при MODE_FM использовать RXA_WFM вместо RXA_FM
FWFMDeviation: Double; // девиация для широкополосного WFM (например, 75 кГц)
FAGCMode: TWDSPAGCMode;
FAGCTop: Double; // gain (dB) = agc_gain в piHPSDR
FAGCSlope: Integer; // наклон АРУ в дБ (default 0)
@@ -364,8 +361,6 @@ type
procedure SetSNB(Enable: Boolean);
procedure SetANF(Enable: Boolean);
procedure SetRXFMDeviation(Deviation: Double);
procedure SetWFMMode(Enabled: Boolean);
procedure SetRXWFMDeviation(Deviation: Double);
procedure SetFMSquelch(Enable: Boolean; Level: Integer);
procedure SetVolume(Vol: Double);
procedure SetMute(Mute: Boolean);
@@ -695,7 +690,7 @@ begin
MODE_DSB: Result := WDSP_DSB;
MODE_CWL: Result := WDSP_CWL;
MODE_CWU: Result := WDSP_CWU;
MODE_FM: if FWFMEnabled then Result := WDSP_WFM else Result := WDSP_FM;
MODE_FM: Result := WDSP_FM;
MODE_AM: Result := WDSP_AM;
MODE_SAM: Result := WDSP_SAM;
else Result := WDSP_USB;
@@ -833,8 +828,6 @@ begin
FTXEQFreqs[10] := 3500;
FTXAMCarrier := 0.5;
FTXFMDeviation := 5000.0;
FWFMEnabled := False;
FWFMDeviation := 75000.0;
FTXFMLowCut := 300;
FTXFMHighCut := 3000;
FTXFMEmphPos := 1;
@@ -1546,29 +1539,6 @@ begin
SetRXAFMDeviation(RXA_CHAN, Deviation);
end;
// Переключает RXA-демодулятор между узкополосным FM (RXA_FM) и широкополосным
// WFM (RXA_WFM, broadcast 88..108 МГц со стерео и RDS). Срабатывает только при
// FMode = MODE_FM; в других режимах флаг просто запоминается до перехода в FM.
procedure TWDSPEngine.SetWFMMode(Enabled: Boolean);
begin
if FWFMEnabled = Enabled then Exit;
FWFMEnabled := Enabled;
if not FInitialized then Exit;
if FMode = MODE_FM then
begin
SetRXAMode(RXA_CHAN, ModeToWDSP(FMode));
if Enabled then
SetRXAWFMDeviation(RXA_CHAN, FWFMDeviation);
end;
end;
procedure TWDSPEngine.SetRXWFMDeviation(Deviation: Double);
begin
FWFMDeviation := Deviation;
if not FInitialized then Exit;
SetRXAWFMDeviation(RXA_CHAN, Deviation);
end;
procedure TWDSPEngine.SetFMSquelch(Enable: Boolean; Level: Integer);
var Threshold: Double;
begin