Files
trail-mate/modules/core_sys
liu weikai 6edfd084f3 refactor(chat): align shared BLE cores and nrf meshtastic routing
- extract Meshtastic and MeshCore phone/business flows into shared core_chat BLE cores with owner hook seams for ESP and nRF backends

- replace nrf-specific lite adapters with board/platform adapters that consume shared cores and shared storage contracts

- extend nrf Meshtastic radio path with packet history dedupe, flooding rebroadcast, route discovery/traceroute responses, routing ACK/error handling, observed relay learning, retransmit queueing, and next-hop persistence

- persist nrf device identity and node metadata more explicitly, including next-hop state and node-id initialization support

- move nrf chat/contact/blob storage further toward InternalFS-backed persistence and update contact/node store behavior accordingly

- wire gat562 protocol/app facade pieces to the concrete nrf stores/adapters and add supporting app time-sync hooks used by platform runtimes

- add owner-hook split files and planning/status docs to document the ongoing alignment with the reference meshtastic-firmware multi-platform structure
2026-03-19 11:19:02 +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