mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 19:45:09 +00:00
feat: pluto telemetry — show both temperatures (transceiver + Zynq SoC)
Pluto exposes two temperature sensors: the AD9361 transceiver (ad9361-phy temp0/input, milli-°C) and the Zynq SoC/FPGA (xadc temp0, raw+offset+scale → C = (raw+offset)*scale/1000). Only the former was read. Now both are read and shown as "Temp 37/53C" (chip/SoC) in the desktop status bar and web UI. - ReadTelemetry gains an out SocTempC param (base + Pluto override); Pluto reads xadc via the IIO context. - Controller stores FLastPlutoSocTempC; SoC temp validated with a plausibility window (no slew-limit — stable local sensor, unlike the AD9361 sensor that spikes during mid-conversion). - Status formatting handles one or both temps in MainForm and WebAdapter. - Widen desktop status-bar field 3 (150→190) so both temps + RSSI fit; web layout unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+9
-3
@@ -460,10 +460,16 @@ begin
|
||||
|
||||
if FController.IsPluto then
|
||||
begin
|
||||
// Pluto: нет PA/supply — температура чипа + RSSI приёмника (telemetry-поле).
|
||||
// Pluto: нет PA/supply — температуры (трансивер/SoC) + RSSI (telemetry-поле).
|
||||
// Temp X/YC: X — трансивер AD9361, Y — Zynq SoC/FPGA (xadc).
|
||||
SupplyText := '';
|
||||
if FController.FLastPlutoTempC > TELEMETRY_NONE then
|
||||
SupplyText := Format('Temp %.0fC', [FController.FLastPlutoTempC]);
|
||||
if (FController.FLastPlutoTempC > TELEMETRY_NONE)
|
||||
and (FController.FLastPlutoSocTempC > TELEMETRY_NONE) then
|
||||
SupplyText := Format('Temp %.0f/%.0fC', [FController.FLastPlutoTempC, FController.FLastPlutoSocTempC])
|
||||
else if FController.FLastPlutoTempC > TELEMETRY_NONE then
|
||||
SupplyText := Format('Temp %.0fC', [FController.FLastPlutoTempC])
|
||||
else if FController.FLastPlutoSocTempC > TELEMETRY_NONE then
|
||||
SupplyText := Format('Temp %.0fC', [FController.FLastPlutoSocTempC]);
|
||||
if FController.FLastPlutoRSSIdB > TELEMETRY_NONE then
|
||||
begin
|
||||
if SupplyText <> '' then SupplyText := SupplyText + ' ';
|
||||
|
||||
Reference in New Issue
Block a user