mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 19:45:09 +00:00
DUP (display duplex) + ATT on TX
- DUP: локальный режим отображения, при TX данные RX1, поверх рисуется TX-фильтр. Кнопка на левой панели рядом с CTUN. Аппаратной командой не является. Отдельный SetDisplaySourceTX в WDSPEngine, разделение TXMode (data) и TXOverlay (filter band) в SpectrumView. - ATT on TX: 0..31 dB, default 31 (Thetis-style). UI на вкладке Transmit в группе Microphone. Передаётся в DUC Specific bytes 57/58/59 (StepAtten0/1/2). Перепосылается при изменении.
This commit is contained in:
@@ -122,6 +122,7 @@ type
|
||||
FChkTXMicLineIn: TCheckBox;
|
||||
FChkTXMicPTT: TCheckBox;
|
||||
FEdTXMicGain: TFloatSpinEdit;
|
||||
FEdTXAttOnTX: TSpinEdit;
|
||||
// Filter
|
||||
FEdTXFiltLow: TSpinEdit;
|
||||
FEdTXFiltHigh: TSpinEdit;
|
||||
@@ -952,6 +953,11 @@ begin
|
||||
MakeLbl(Grp, 'Mic gain (dB)', PAD, R1 + 3 * STEP + 5, LW);
|
||||
FEdTXMicGain := MkFloat(Grp, CX, R1 + 3 * STEP, 10.0, -20.0, 60.0, 0.5);
|
||||
|
||||
// ATT on TX — RX-ADC ослабление во время передачи (DUC Specific bytes 57/58/59).
|
||||
// Thetis-style default 31 dB. Помещаем на той же строке, что и Mic gain.
|
||||
MakeLbl(Grp, 'ATT on TX (dB)', PAD + 320, R1 + 3 * STEP + 5, 110);
|
||||
FEdTXAttOnTX := MkSpin(Grp, PAD + 320 + 120, R1 + 3 * STEP, 0, 31, 31);
|
||||
|
||||
// ---- TX bandpass filter ----
|
||||
Inc(Y, 220 + 12);
|
||||
Grp := MakeGroupPanel(FPageTransmit, 'TX Filter (bandpass)', MARGIN, Y, 700, 200);
|
||||
@@ -1131,6 +1137,7 @@ begin
|
||||
if FChkTXMicLineIn <> nil then FTX.MicLineIn := FChkTXMicLineIn.Checked;
|
||||
if FChkTXMicPTT <> nil then FTX.MicPTTEnabled := FChkTXMicPTT.Checked;
|
||||
if FEdTXMicGain <> nil then FTX.MicGainDB := FEdTXMicGain.Value;
|
||||
if FEdTXAttOnTX <> nil then FTX.AttOnTX := FEdTXAttOnTX.Value;
|
||||
if FEdTXFiltLow <> nil then FTX.FilterLow := FEdTXFiltLow.Value;
|
||||
if FEdTXFiltHigh <> nil then FTX.FilterHigh := FEdTXFiltHigh.Value;
|
||||
if FCmbTXFiltNC <> nil then
|
||||
@@ -1215,6 +1222,7 @@ begin
|
||||
if FChkTXMicLineIn <> nil then FChkTXMicLineIn.Checked := T.MicLineIn;
|
||||
if FChkTXMicPTT <> nil then FChkTXMicPTT.Checked := T.MicPTTEnabled;
|
||||
if FEdTXMicGain <> nil then FEdTXMicGain.Value := T.MicGainDB;
|
||||
if FEdTXAttOnTX <> nil then FEdTXAttOnTX.Value := EnsureRange(T.AttOnTX, 0, 31);
|
||||
if FEdTXFiltLow <> nil then FEdTXFiltLow.Value := T.FilterLow;
|
||||
if FEdTXFiltHigh <> nil then FEdTXFiltHigh.Value := T.FilterHigh;
|
||||
if FCmbTXFiltNC <> nil then FCmbTXFiltNC.Text := IntToStr(T.FilterNC);
|
||||
|
||||
Reference in New Issue
Block a user