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 генерирует чистый
|
||||
// тон, Drive подменяется на FTXSettings.TUNLevel (через Cal[band]).
|
||||
FTuning: Boolean;
|
||||
FHWPTTActive: Boolean; // True = hardware PTT нажата
|
||||
FHWPTTActive: Boolean; // True = hardware PTT нажата
|
||||
FHWPTTStartedTX: Boolean; // True = TX был включён именно через HWPTT
|
||||
FMuted: Boolean;
|
||||
FVolume: Integer;
|
||||
FAtten: Integer; // RX step attenuator index: 0=0dB 1=10dB 2=20dB
|
||||
@@ -3202,10 +3203,27 @@ begin
|
||||
if HWPTT <> FHWPTTActive then
|
||||
begin
|
||||
FHWPTTActive := HWPTT;
|
||||
// Hardware PTT игнорируется во время TUN; иначе включает/выключает передачу
|
||||
// только если кнопка MOX не нажата (приоритет за UI).
|
||||
if (not FTuning) and (not BtnMOX.Active) then
|
||||
ApplyMOX(HWPTT);
|
||||
if not FTuning then
|
||||
begin
|
||||
if HWPTT then
|
||||
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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user