mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:37:33 +00:00
fix(tx): enable protocol 2 CIC compensation filter
This commit is contained in:
@@ -4147,6 +4147,10 @@ end;
|
|||||||
procedure TRadioController.ApplyTXSettingsToDSP;
|
procedure TRadioController.ApplyTXSettingsToDSP;
|
||||||
begin
|
begin
|
||||||
if not FWDSPReady then Exit;
|
if not FWDSPReady then Exit;
|
||||||
|
// Thetis держит CFIR постоянно включённым для openHPSDR Protocol 2:
|
||||||
|
// он компенсирует АЧХ FPGA CIC-интерполятора TX. Pluto этого фильтра не
|
||||||
|
// имеет, поэтому при смене бэкенда явно выключаем его.
|
||||||
|
FDSPEngine.SetTXCFIR(BackendCaps.Kind = bkHPSDR);
|
||||||
// Mic source — выставляем значение по умолчанию для MOX-кнопки;
|
// Mic source — выставляем значение по умолчанию для MOX-кнопки;
|
||||||
// при реальном PTT SetMOX скорректирует источник.
|
// при реальном PTT SetMOX скорректирует источник.
|
||||||
FDSPEngine.SetTXMicSource(DefaultMicSource);
|
FDSPEngine.SetTXMicSource(DefaultMicSource);
|
||||||
|
|||||||
@@ -647,6 +647,9 @@ type
|
|||||||
// Тона Freq1/Freq2 Гц (для LSB/CWL/DIGL знак инвертируется), амплитуды
|
// Тона Freq1/Freq2 Гц (для LSB/CWL/DIGL знак инвертируется), амплитуды
|
||||||
// по 0.49 (сумма чуть ниже полной шкалы, как Thetis/pihpsdr).
|
// по 0.49 (сумма чуть ниже полной шкалы, как Thetis/pihpsdr).
|
||||||
procedure SetTXTwoTone(Enabled: Boolean; Freq1, Freq2: Double);
|
procedure SetTXTwoTone(Enabled: Boolean; Freq1, Freq2: Double);
|
||||||
|
// Protocol 2: компенсирующий FIR перед FPGA CIC-интерполятором TX.
|
||||||
|
// Для openHPSDR P2 всегда включён; для остальных бэкендов выключен.
|
||||||
|
procedure SetTXCFIR(Enabled: Boolean);
|
||||||
|
|
||||||
// ---- PureSignal (WDSP calcc на TXA_CHAN) ----
|
// ---- PureSignal (WDSP calcc на TXA_CHAN) ----
|
||||||
// Армирование подачи feedback в pscc (кнопка PS). Сама калибровка
|
// Армирование подачи feedback в pscc (кнопка PS). Сама калибровка
|
||||||
@@ -3321,6 +3324,12 @@ begin
|
|||||||
SetTXAPostGenRun(TXA_CHAN, 0);
|
SetTXAPostGenRun(TXA_CHAN, 0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TWDSPEngine.SetTXCFIR(Enabled: Boolean);
|
||||||
|
begin
|
||||||
|
if not FInitialized then Exit;
|
||||||
|
SetTXACFIRRun(TXA_CHAN, Ord(Enabled));
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TWDSPEngine.SetDisplaySourceTX(UseTX: Boolean);
|
procedure TWDSPEngine.SetDisplaySourceTX(UseTX: Boolean);
|
||||||
begin
|
begin
|
||||||
// Тот же сброс позиций, что и в SetTXRun — analyzer-буферы у обоих DispID
|
// Тот же сброс позиций, что и в SetTXRun — analyzer-буферы у обоих DispID
|
||||||
|
|||||||
Reference in New Issue
Block a user