mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 18:43:51 +00:00
Add web status bar fields
This commit is contained in:
+67
-1
@@ -2943,6 +2943,8 @@ procedure TMainForm.SpectrumTimerTick(Sender: TObject);
|
||||
var
|
||||
NowTick: QWord;
|
||||
ElapsedTick: QWord;
|
||||
WebStatusText, WebBoardText, WebIPText, WebSupplyText: string;
|
||||
WebPLLText, WebRXText, WebTXText, WebSeqText: string;
|
||||
begin
|
||||
// Синхронизируем размеры если размер панели изменился (после ресайза).
|
||||
// Важно: проверяем только видимые панели — когда спектр скрыт,
|
||||
@@ -3072,6 +3074,67 @@ begin
|
||||
|
||||
// Пушим текущее состояние в веб-клиенты (если есть)
|
||||
if Assigned(FWebServer) then
|
||||
begin
|
||||
if FNetwork.Connected then
|
||||
begin
|
||||
if FRunning then
|
||||
WebStatusText := 'Running'
|
||||
else
|
||||
WebStatusText := 'Connected';
|
||||
WebBoardText := 'Board: ' + BoardTypeName(FNetwork.Device.BoardType);
|
||||
WebIPText := 'IP: ' + FNetwork.Device.IPAddress;
|
||||
end
|
||||
else
|
||||
begin
|
||||
WebStatusText := 'Disconnected';
|
||||
WebBoardText := 'Board --';
|
||||
WebIPText := 'IP --';
|
||||
end;
|
||||
|
||||
if not FRunning then
|
||||
begin
|
||||
WebSupplyText := 'Supply --';
|
||||
WebPLLText := 'PLL --';
|
||||
end
|
||||
else
|
||||
begin
|
||||
if FLastPLLLock then
|
||||
WebPLLText := 'PLL OK'
|
||||
else
|
||||
WebPLLText := 'PLL?';
|
||||
|
||||
if not BoardSupportsSupplyVoltage(FNetwork.Device.BoardType) then
|
||||
WebSupplyText := 'Supply n/a'
|
||||
else if FLastSupplyV >= 0 then
|
||||
begin
|
||||
if FLastSupplyA >= 0 then
|
||||
WebSupplyText := Format('Supply %.1fV %.1fA', [FLastSupplyV, FLastSupplyA])
|
||||
else
|
||||
WebSupplyText := Format('Supply %.1fV', [FLastSupplyV]);
|
||||
end
|
||||
else
|
||||
WebSupplyText := 'Supply --';
|
||||
end;
|
||||
|
||||
if FRunning then
|
||||
WebRXText := 'RX running'
|
||||
else
|
||||
WebRXText := 'RX idle';
|
||||
|
||||
if FTuning then
|
||||
WebTXText := 'TX tune'
|
||||
else if FTransmitting then
|
||||
WebTXText := 'TX active'
|
||||
else
|
||||
WebTXText := 'TX idle';
|
||||
|
||||
if FSeqErrorCount > 0 then
|
||||
WebSeqText := Format('SEQ ERR DDC%d', [FLastSeqErrorDDC])
|
||||
else if FRunning then
|
||||
WebSeqText := 'SEQ OK'
|
||||
else
|
||||
WebSeqText := 'SEQ --';
|
||||
|
||||
FWebServer.PushSpectrum(
|
||||
FSpectrumBuf, 1024,
|
||||
FWaterfallBuf,
|
||||
@@ -3087,7 +3150,10 @@ begin
|
||||
FVfoB, FActiveVfo,
|
||||
FTransmitting, TrkDrive.Position,
|
||||
FAtten, FTuning, FDisplayDuplex,
|
||||
FLastFwdW, FLastSWR, FPAMaxPower);
|
||||
FLastFwdW, FLastSWR, FPAMaxPower,
|
||||
WebStatusText, WebBoardText, WebIPText, WebSupplyText,
|
||||
WebPLLText, WebRXText, WebTXText, WebSeqText);
|
||||
end;
|
||||
end;
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
Reference in New Issue
Block a user