fix: hide inactive GPS stats

This commit is contained in:
Jared Dohrman
2026-04-28 20:07:49 +10:00
parent 68772d6a89
commit f886bb3244
4 changed files with 22 additions and 7 deletions
+1 -1
View File
@@ -70,7 +70,7 @@ Legacy dotted aliases are also accepted:
- `get web`
- `get web.status`: shows whether the local HTTPS panel is available.
- `get web.stats.status`: shows whether the dedicated stats page and history subsystem are enabled, whether recent history is active, whether PSRAM-backed history is available, and whether the SD-backed archive is mounted. When enabled, the history capture now covers supported environment telemetry too, not just the original battery/radio series. GPS-enabled boards also record per-minute satellites samples for the `/stats` history view.
- `get web.stats.status`: shows whether the dedicated stats page and history subsystem are enabled, whether recent history is active, whether PSRAM-backed history is available, and whether the SD-backed archive is mounted. When enabled, the history capture now covers supported environment telemetry too, not just the original battery/radio series. GPS-active boards also record per-minute satellites samples for the `/stats` history view.
- `set web on|off`
- `set.web on|off`: enables or disables the local HTTPS panel.
- `set web.stats on|off`
+3 -3
View File
@@ -229,13 +229,13 @@ The `/stats` page currently shows:
- `Services`: MQTT, web, archive, neighbour count, and, when mounted, card and archive capacity
- optional full-width `Environment` summary card on boards that report GPS or environmental telemetry
- `Trends`: battery, heap free, packet activity, signal, noise floor, and, when GPS is enabled, satellites
- `Trends`: battery, heap free, packet activity, signal, noise floor, and, when GPS is active, satellites
- `Neighbours`: current neighbour table with ID, SNR, heard age, and advert age
- `Events`: current boot/session events
Planned MQTT JWT rotations are shown as `mqtt_token_refreshed` events instead of a short `mqtt_disconnected` / `mqtt_connected` pair.
For boards that expose extra telemetry, the optional `Environment` summary card can show current values such as GPS fix state, latitude, longitude, GPS altitude, voltage, sensor temperature, humidity, barometer, pressure-derived altitude, and MCU temperature.
For boards that expose extra telemetry, the optional `Environment` summary card can show current values such as GPS active/fix state, latitude, longitude, GPS altitude, voltage, sensor temperature, humidity, barometer, pressure-derived altitude, and MCU temperature.
Metrics with no current value are hidden rather than showing placeholder rows, so the cards vary by board and by current sensor state.
@@ -248,7 +248,7 @@ The trend graphs load sequentially rather than as one large payload:
3. memory
4. packet activity
5. signal
6. satellites when GPS is enabled
6. satellites when GPS is active
This keeps browser-side and device-side memory use lower than the previous in-page stats view.
+6 -3
View File
@@ -55,10 +55,13 @@ WebSensorSnapshot collectWebSensorSnapshot(mesh::MainBoard& board, SensorManager
LocationProvider* location = sensors.getLocationProvider();
if (location != nullptr) {
snapshot.has_gps = true;
snapshot.gps_enabled = location->isEnabled();
snapshot.gps_fix = location->isValid();
const bool provider_enabled = location->isEnabled();
const char* gps_setting = sensors.getSettingByKey("gps");
const bool setting_active = (gps_setting == nullptr) || (strcmp(gps_setting, "1") == 0);
snapshot.gps_enabled = provider_enabled && setting_active;
snapshot.gps_fix = snapshot.gps_enabled && location->isValid();
const long satellites = location->satellitesCount();
if (snapshot.gps_enabled || satellites > 0) {
if (snapshot.gps_enabled) {
snapshot.has_satellites = true;
snapshot.satellites = max<long>(satellites, 0);
}
+12
View File
@@ -527,3 +527,15 @@ releases:
area: readme
text: "Updated the README to describe EastMesh as an Eastern Australia community mesh network, introduce CoreScope telemetry, and warn that MQTT repeater builds are intended for Eastern Australia repeaters only."
breaking_changes: []
- track: repeater-mqtt
version: "1.3.14"
tag: "repeater-mqtt-eastmesh-v1.3.14"
date: "2026-04-28"
previous_version: "1.3.13"
summary: "TODO: Change me later"
changes:
- type: fixed
area: stats
text: "Updated `/stats` GPS gauges and satellite trends to respect the active GPS setting so boards that report GPS hardware as on but deactivated after `gps off` no longer keep satellite metrics visible."
breaking_changes: []