fix(ui): community v1.27 feedback — GPS altitude field, noise floor, Msg wake location, units

- Add a separate "Altitude (GPS)" dashboard field (label AltG) alongside
  the existing barometric one (now labelled "Altitude (Baro)") -- the
  original single Altitude field only ever read a barometric sensor's
  CayenneLPP telemetry, showing "--" on any board without one even with
  a perfectly good GPS fix.
- Every altitude reading (baro + GPS, Clock and Lock screen) and the GPS
  home page's "alt" row now go through a shared fmtAlt() helper and
  respect Settings > System > Units, same as every other distance in the
  UI -- none of them checked units_imperial before. Same fix for
  Locator's Radius row, which always showed metric regardless.
- Radio home page's noise floor showed "n/a" whenever Pwr save (RX
  duty-cycle) was on, on the assumption duty-cycle RX can't sample the
  floor. That's stale: RadioLibWrapper already periodically recalibrates
  it (noiseFloorCalibCheck(), every 60s) even under duty-cycle, which is
  exactly why Diagnostics' unconditional read of the same value was
  already showing something real. Radio home page now matches.
- Moved "Msg wake" from Settings > Sound to Settings > Display -- more
  logical home for a display-wake toggle than notifications. Menu-order
  only; NodePrefs storage is unaffected by this enum's ordering.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Jakub
2026-09-10 20:12:29 +02:00
co-authored by Claude Sonnet 5
parent 6e0e981048
commit aa73400414
6 changed files with 49 additions and 19 deletions
@@ -40,12 +40,13 @@ Up to three data fields are shown below the date separator. Each field displays
| Humidity | Hum | % from onboard sensor |
| Pressure | Pres | hPa from onboard sensor |
| GPS | GPS | `lat lon` decimal degrees, or `no fix` |
| Altitude | Alt | metres from onboard sensor (GPS or barometric) |
| Altitude (Baro) | Alt | metres/feet (per Settings › System › Units) from onboard barometric sensor (`--` without one) |
| Luminosity | Lux | lux from onboard sensor |
| CO₂ | CO2 | ppm from onboard sensor |
| Contacts | Nodes | Total contacts in the mesh |
| Messages | Msgs | Total unread message count |
| Satellites | Sats | GPS satellite count (or `--` without GPS) |
| Altitude (GPS) | AltG | metres/feet (per Settings › System › Units) from the GPS fix (or `no fix`) |
Sensor fields show `--` when the sensor is not connected or has no data.
@@ -27,6 +27,7 @@ Press **Cancel/Back** to save and return to the home screen.
| Display rotation _(e-ink only)_ | 0° / 90° / 180° / 270° | Applied immediately |
| Joystick rotation _(e-ink only)_ | 0° / 90° / 180° / 270° | Rotates input mapping independently of display rotation; useful for custom enclosures |
| Full refresh interval _(e-ink only)_ | OFF / 5 / 10 / 20 / 30 | Partial refreshes between full clears; reduces ghosting on long sessions |
| Msg wake | ON / OFF | Whether an incoming message turns the display back on when it was off and no phone/app is connected (default ON — today's behaviour either way). |
---
@@ -40,7 +41,6 @@ Press **Cancel/Back** to save and return to the home screen.
| Channel Melody | built-in / Melody 1 / Melody 2 / None | Notification sound for incoming channel messages. `None` disables the sound for this event. |
| AD sound | built-in / Melody 1 / Melody 2 / None | Sound played whenever an **advert** is received from *any* node — pairs with Auto-Advert as an audible "in range" heartbeat (see Tools › Auto-Advert). `None` disables the sound for this event. |
| AD scope | All / Zero-hop | Filters the AD sound so it plays for every advert or only for local zero-hop adverts. |
| Msg wake | ON / OFF | Whether an incoming message turns the display back on when it was off and no phone/app is connected (default ON — today's behaviour either way). |
Melody 1 and Melody 2 are custom sequences editable in **Tools › Ringtone Editor**.