mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 19:45:09 +00:00
TUN button — Thetis-style тон через WDSP PostGen
- BtnTUN рядом с MOX. Включает SetTXAPostGenRun(TXA, 1) с тоном (mode=0, mag=1.0, freq из настроек) и активирует MOX. PTT/HW игнорируются во время tune. - Drive в режиме TUN использует FTXSettings.TUNLevel вместо слайдера, per-band калибровка FPABandCal применяется одинаково. - Settings → Transmit → Tune (TUN): TUNLevel 0..100% (def 10), TUNFreq 100..5000 Hz (def 750). Live-обновление во время tune.
This commit is contained in:
+17
-1
@@ -123,6 +123,9 @@ type
|
||||
FChkTXMicPTT: TCheckBox;
|
||||
FEdTXMicGain: TFloatSpinEdit;
|
||||
FEdTXAttOnTX: TSpinEdit;
|
||||
// Tune (TUN button)
|
||||
FEdTUNLevel: TSpinEdit;
|
||||
FEdTUNFreq: TSpinEdit;
|
||||
// Filter
|
||||
FEdTXFiltLow: TSpinEdit;
|
||||
FEdTXFiltHigh: TSpinEdit;
|
||||
@@ -958,8 +961,17 @@ begin
|
||||
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 ----
|
||||
// ---- Tune (TUN button) ----
|
||||
Inc(Y, 220 + 12);
|
||||
Grp := MakeGroupPanel(FPageTransmit, 'Tune (TUN)', MARGIN, Y, 700, 100);
|
||||
|
||||
MakeLbl(Grp, 'Tune level (%)', PAD, R1 + 5, LW);
|
||||
FEdTUNLevel := MkSpin(Grp, CX, R1, 0, 100, 10);
|
||||
MakeLbl(Grp, 'Tone freq (Hz)', PAD + 320, R1 + 5, 110);
|
||||
FEdTUNFreq := MkSpin(Grp, PAD + 320 + 120, R1, 100, 5000, 750);
|
||||
|
||||
// ---- TX bandpass filter ----
|
||||
Inc(Y, 100 + 12);
|
||||
Grp := MakeGroupPanel(FPageTransmit, 'TX Filter (bandpass)', MARGIN, Y, 700, 200);
|
||||
|
||||
MakeLbl(Grp, 'Low cut (Hz)', PAD, R1 + 5, LW);
|
||||
@@ -1138,6 +1150,8 @@ begin
|
||||
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 FEdTUNLevel <> nil then FTX.TUNLevel := FEdTUNLevel.Value;
|
||||
if FEdTUNFreq <> nil then FTX.TUNFreq := FEdTUNFreq.Value;
|
||||
if FEdTXFiltLow <> nil then FTX.FilterLow := FEdTXFiltLow.Value;
|
||||
if FEdTXFiltHigh <> nil then FTX.FilterHigh := FEdTXFiltHigh.Value;
|
||||
if FCmbTXFiltNC <> nil then
|
||||
@@ -1223,6 +1237,8 @@ begin
|
||||
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 FEdTUNLevel <> nil then FEdTUNLevel.Value := EnsureRange(T.TUNLevel, 0, 100);
|
||||
if FEdTUNFreq <> nil then FEdTUNFreq.Value := EnsureRange(T.TUNFreq, 100, 5000);
|
||||
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