mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 18:43:51 +00:00
fix(ui): show DMR status without replacing PLL
This commit is contained in:
+14
-5
@@ -418,6 +418,7 @@ type
|
||||
procedure UpdateTXMeters;
|
||||
procedure UpdateTXControlAvailability;
|
||||
procedure UpdateStatusField7; // поле 7: PLL (HPSDR) или beacon (Pluto)
|
||||
procedure UpdateDMRStatus; // поле 8: только при активном DMR
|
||||
procedure UpdateStatusField3; // поле 3: Supply (HPSDR) или Temp/RSSI (Pluto)
|
||||
function BeaconStatusText: string; // компактный статус QO-100 beacon lock
|
||||
function DMRStatusText: string; // sync/type/polarity DMR front-end
|
||||
@@ -1463,6 +1464,7 @@ begin
|
||||
for i := 0 to FILT_COUNT - 1 do StyleButton(BtnFilter[i], i = FController.FFilter);
|
||||
SyncSpecViewFreq; // иначе полоса фильтра рисуется под старый режим
|
||||
UpdateTXControlAvailability;
|
||||
UpdateDMRStatus;
|
||||
end;
|
||||
rfFilter:
|
||||
begin
|
||||
@@ -2984,6 +2986,7 @@ begin
|
||||
SetStatusText(5, 'TX idle');
|
||||
SetStatusText(6, 'SEQ --');
|
||||
SetStatusText(7, 'PLL --');
|
||||
UpdateDMRStatus;
|
||||
if FSpecView <> nil then
|
||||
FSpecView.ADCOverloadVisible := False;
|
||||
if PbSpectrum <> nil then
|
||||
@@ -3518,6 +3521,7 @@ procedure TMainForm.UpdateTXMeters;
|
||||
// в TRadioController.ApplyHPStatus.
|
||||
begin
|
||||
UpdateStatusField7; // PLL (openHPSDR) или статус beacon lock (Pluto)
|
||||
UpdateDMRStatus; // отдельное динамическое поле DMR
|
||||
UpdateStatusField3; // Supply (openHPSDR) или Temp/RSSI (Pluto)
|
||||
end;
|
||||
|
||||
@@ -3623,11 +3627,6 @@ procedure TMainForm.UpdateStatusField7;
|
||||
// Поле 7 статус-бара. openHPSDR — PLL-lock (как прежде). Pluto в трансвертере —
|
||||
// статус QO-100 beacon lock (у Pluto нет PLL-телеметрии); Pluto без XVTR — пусто.
|
||||
begin
|
||||
if FController.FMode = MODE_DMR then
|
||||
begin
|
||||
SetStatusText(7, DMRStatusText);
|
||||
Exit;
|
||||
end;
|
||||
if FController.IsPluto then
|
||||
begin
|
||||
if FController.FCurrentXvtr >= 0 then SetStatusText(7, BeaconStatusText)
|
||||
@@ -3639,6 +3638,16 @@ begin
|
||||
else SetStatusText(7, 'PLL?');
|
||||
end;
|
||||
|
||||
procedure TMainForm.UpdateDMRStatus;
|
||||
begin
|
||||
if StatusPanel = nil then Exit;
|
||||
StatusPanel.SetStatusVisible(8, FController.FMode = MODE_DMR);
|
||||
if FController.FMode = MODE_DMR then
|
||||
SetStatusText(8, DMRStatusText)
|
||||
else
|
||||
SetStatusText(8, '');
|
||||
end;
|
||||
|
||||
procedure TMainForm.OnWidebandCB(ADCIndex: Integer;
|
||||
const Samples: array of SmallInt; Count: Integer);
|
||||
begin
|
||||
|
||||
Reference in New Issue
Block a user