feat(repeater): status-bar indicator, power-save lock, diag polish

- Status bar: blinking » indicator while relaying (new ICON_REPEATER), added to
  the 1 s blink cadence alongside the advert/trail markers.
- Power-save lock: a repeater must hear all traffic, so duty-cycle RX is forced
  off whenever client_repeat is on. Effective state = rx_powersave && !repeat,
  applied at boot, in applyPowerSave(), on the on-device toggle, and on the app's
  CMD_SET_RADIO_PARAMS. Settings shows "--" and blocks the toggle while repeating;
  the user's pref is preserved and restored when the repeater is switched off.
- Diagnostics: reset now uses the standard Hold-Enter one-item action menu (Back
  dismisses) instead of an Enter/Cancel popup; new "Errors" row decodes the
  Dispatcher ERR_EVENT_* flags (F/C/R, or OK).
- RepeaterScreen: drop the live stats block (they live on Diagnostics).
- Min-SNR load clamp tightened to the UI's -20..10 range.

Docs updated (settings_screen, tools_screen, FEATURES).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Jakub
2026-06-19 14:05:00 +02:00
parent 0da487729d
commit 84a76adcf1
11 changed files with 80 additions and 53 deletions

View File

@@ -453,10 +453,10 @@ Tracker L1 OLED/e-ink, GAT562 30S). All on `feature/companion-repeater-presets`.
flood-depth cap are always applied. Packet pool bumped 16→32 to match the
repeater workload (a too-small pool starved channel/DM reception once relaying
queued retransmits).
- **Consolidated on Tools Repeater** — the toggle, the five filters, and live
forwarding stats (Forwarded / Pool free / Queue) share one full-width screen,
rather than the original Settings Radio sub-items (whose indented labels
collided with the value column on a 128px OLED).
- **Consolidated on Tools Repeater** — the toggle and the five filters share
one full-width screen, rather than the original Settings Radio sub-items
(whose indented labels collided with the value column on a 128px OLED). Live
forwarding stats (Forwarded / Pool free / Queue) stay on Tools Diagnostics.
- **Optional dedicated radio profile** (`Network: Current/Custom`,
`repeater_use_profile` + `repeater_freq/bw/sf/cr`). Custom switches the radio to
a preset/manual profile when the repeater is enabled and restores the