feat(mesh): radio_state reports the radio's last-RX RSSI/SNR

r_stat_rssi/r_stat_snr straight from the RNode firmware's per-packet
stat reports — the direct way to tell "firmware reports signal stats"
from "it doesn't" when a peer's RSSI shows as unknown, and a natural
read-back for the LoRa panel.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
archipelago
2026-08-16 06:13:54 -04:00
co-authored by Claude Fable 5
parent 64205d23b7
commit 4a7f466ea6
+7
View File
@@ -429,6 +429,13 @@ class ReticulumDaemon:
# Live utilisation, when the interface tracks it.
"airtime_short": getattr(iface, "airtime_short", None),
"airtime_long": getattr(iface, "airtime_long", None),
# Last received packet's signal stats as reported by the
# radio firmware (CMD_STAT_RSSI/SNR). None until the first
# reception — and stays None on firmware that doesn't
# report per-packet stats, which is exactly what this
# field lets us diagnose.
"r_stat_rssi": getattr(iface, "r_stat_rssi", None),
"r_stat_snr": getattr(iface, "r_stat_snr", None),
})
break
except Exception: