Files
trail-mate/modules/ui_shared
liu weikai 86e07c0d7f Add APRS asset, expand System controls, and harden GAT562 self-position persistence
Bundle the current workspace changes into a single checkpoint covering the in-progress shared UI, settings, and GAT562 runtime work.

What this includes:

- add the APRS asset source and image resource currently used by the shared UI asset set

- extend the shared System/settings flow so vibration and screen brightness can be surfaced through the device runtime and settings UI plumbing

- update the mono 128x64 runtime and the GAT562 platform bindings so the new settings controls are available in the GAT562 experience

- wire the ESP runtime/startup helpers needed to support the same device-runtime settings path on the ESP side

- persist the GAT562 self GPS position into the node store during core service updates so a device that already obtained a fix can retain its own last known position across reboot

- add an explicit node-store flush interface and implement it in both the nRF52 and ESP Meshtastic node-store backends so critical self-position updates can be forced to persistent storage immediately instead of waiting for the normal debounce window

- keep the existing debounced persistence behavior for ordinary node-store churn while allowing targeted immediate flushes for data that would otherwise be easy to lose during restart or power loss
2026-03-26 21:30:54 +08:00
..

ui_shared

Shared LVGL UI building blocks that are reused by multiple screens and should remain portable across ESP Arduino, ESP-IDF, and future Linux LVGL targets.

Current contents

  • ui/app_screen.h
  • ui/app_runtime.h
  • ui/formatters.h
  • ui/components/two_pane_nav.h
  • ui/components/two_pane_layout.h
  • ui/components/two_pane_styles.h
  • ui/screens/* shared screen implementations
  • ui/assets/* shared icons/fonts/images

These files are the current shared UI contracts, reusable screens, and shared UI assets that no longer belong to a single legacy src/ui/* subtree.

Current boundary notes:

  • ui/app_screen.h defines the shared screen contract used by menu/runtime code
  • ui/app_runtime.h owns shared app-switching, menu-return, focus-group, and generic LVGL menu helpers
  • ui/formatters.h owns pure UI formatting helpers that do not depend on board state or persistence
  • battery, timezone, screenshot, display glue, map tiles, and other board/product-specific UI helpers now live under platform/esp/arduino_common