Files
trail-mate/modules/core_sys
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
..

modules/core_sys

Home for cross-platform system abstractions and generic utilities.

Migrated now

  • include/sys/ringbuf.h
  • include/sys/clock.h
  • include/app/app_facade_access.h
  • include/app/app_context_platform_bindings.h
  • src/sys/clock.cpp
  • src/app/app_facade_access.cpp

Moved to platform layer

  • event_bus now lives at platform/esp/arduino_common/include/sys/event_bus.h because it depends on chat/team event payloads plus FreeRTOS runtime details

Expected future contents

  • timer abstraction
  • storage and file-system interfaces
  • shared utility code that is not tied to ESP or Linux runtime APIs

Transitional note

  • sys/ringbuf.h and sys/clock.h are now consumed directly from modules/core_sys/include/sys/*
  • clock.cpp provides portable fallbacks based on the C++ standard library and can be overridden by platform-specific providers
  • the active app shell should register runtime providers through sys::set_millis_provider() and sys::set_epoch_seconds_provider() during startup