mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:37:33 +00:00
fix HW PTT release
This commit is contained in:
+23
-5
@@ -226,7 +226,8 @@ type
|
|||||||
// TUN: режим тоновой подстройки. WDSP TXA PostGen генерирует чистый
|
// TUN: режим тоновой подстройки. WDSP TXA PostGen генерирует чистый
|
||||||
// тон, Drive подменяется на FTXSettings.TUNLevel (через Cal[band]).
|
// тон, Drive подменяется на FTXSettings.TUNLevel (через Cal[band]).
|
||||||
FTuning: Boolean;
|
FTuning: Boolean;
|
||||||
FHWPTTActive: Boolean; // True = hardware PTT нажата
|
FHWPTTActive: Boolean; // True = hardware PTT нажата
|
||||||
|
FHWPTTStartedTX: Boolean; // True = TX был включён именно через HWPTT
|
||||||
FMuted: Boolean;
|
FMuted: Boolean;
|
||||||
FVolume: Integer;
|
FVolume: Integer;
|
||||||
FAtten: Integer; // RX step attenuator index: 0=0dB 1=10dB 2=20dB
|
FAtten: Integer; // RX step attenuator index: 0=0dB 1=10dB 2=20dB
|
||||||
@@ -3202,10 +3203,27 @@ begin
|
|||||||
if HWPTT <> FHWPTTActive then
|
if HWPTT <> FHWPTTActive then
|
||||||
begin
|
begin
|
||||||
FHWPTTActive := HWPTT;
|
FHWPTTActive := HWPTT;
|
||||||
// Hardware PTT игнорируется во время TUN; иначе включает/выключает передачу
|
if not FTuning then
|
||||||
// только если кнопка MOX не нажата (приоритет за UI).
|
begin
|
||||||
if (not FTuning) and (not BtnMOX.Active) then
|
if HWPTT then
|
||||||
ApplyMOX(HWPTT);
|
begin
|
||||||
|
// Press: не перекрываем ручной MOX; запоминаем что мы включили TX.
|
||||||
|
if not BtnMOX.Active then
|
||||||
|
begin
|
||||||
|
ApplyMOX(True);
|
||||||
|
FHWPTTStartedTX := True;
|
||||||
|
end;
|
||||||
|
end else
|
||||||
|
begin
|
||||||
|
// Release: выключаем TX только если он был включён через HWPTT.
|
||||||
|
// Нельзя проверять BtnMOX.Active — ApplyMOX(True) сам его выставляет.
|
||||||
|
if FHWPTTStartedTX then
|
||||||
|
begin
|
||||||
|
FHWPTTStartedTX := False;
|
||||||
|
ApplyMOX(False);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user