Commit Graph

23 Commits

Author SHA1 Message Date
liu weikai 88447d4962 Centralize Meshtastic reply effects in runtime 2026-06-14 20:18:02 +08:00
liu weikai 6e8254c18b refactor(protocol): route meshcore adapters through facade 2026-06-14 12:36:40 +08:00
liu weikai d40d9c1469 refactor(protocol): make incoming handling explicit 2026-06-14 12:17:16 +08:00
liu weikai 5218250857 refactor(protocol): add runtime product factory 2026-06-14 12:00:49 +08:00
liu weikai 2cff5062bc refactor(protocol): route UI protocol actions through facade 2026-06-14 11:45:32 +08:00
liu weikai 42c83f5414 refactor(protocol): add mesh protocol facade boundary 2026-06-14 11:10:15 +08:00
liu weikai ccde31e2b9 refactor(protocol): model text sends in runtime 2026-06-14 10:59:56 +08:00
liu weikai 7ccde69c23 refactor(protocol): move meshcore auto discover gating into runtime 2026-06-14 09:35:09 +08:00
liu weikai fe24021286 refactor(protocol): move meshtastic actions into runtime 2026-06-14 09:09:27 +08:00
liu weikai 885e57bd35 refactor(protocol): execute packet effects through shared bridge 2026-06-14 08:39:28 +08:00
liu weikai bd1b92b31e refactor(protocol): route uconsole waypoint sharing through runtime 2026-06-14 08:25:35 +08:00
liu weikai 1ce1d72da0 refactor(protocol): route uconsole position sharing through runtime 2026-06-14 08:04:06 +08:00
liu weikai bfab72e4ed refactor(protocol): route meshtastic node actions through runtime 2026-06-14 07:38:55 +08:00
liu weikai 0b5bb6cea3 refactor(protocol): remove legacy meshcore direct secret fallback 2026-06-14 06:10:07 +08:00
liu weikai 1f3c86122f refactor(protocol): route meshcore discover through runtime 2026-06-14 05:55:13 +08:00
liu weikai f0d37d7d68 refactor(protocol): share meshcore direct secret core 2026-06-14 05:13:27 +08:00
liu weikai dc02926848 refactor(protocol): share meshtastic position availability 2026-06-14 04:37:33 +08:00
liu weikai 753a0a1b3b refactor(protocol): extract meshcore direct route policy 2026-06-14 04:25:20 +08:00
liu weikai c832093fc8 refactor(protocol): share meshtastic position payload core 2026-06-14 03:59:57 +08:00
liu weikai 7faee24728 refactor(protocol): share meshtastic nodeinfo builder 2026-06-14 03:44:47 +08:00
liu weikai 625af0ecf5 refactor(protocol): route local no-channel resync through runtime 2026-06-14 02:56:22 +08:00
liu weikai af1b3194d3 refactor(protocol): introduce shared protocol runtime 2026-06-14 02:45:00 +08:00
vicliu 7bade6ab9c Gat562 mesh evb pro (#12)
* feat(gat562): wire nrf52 board runtime and bluetooth stack

* 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

* Add NRF Fusion Pixel font and fix Meshtastic RX

Integrate Fusion Pixel 8px as the NRF mono UI font stack and switch the mono runtime to a dedicated MonoFont/TextRenderer path that can render ASCII, CJK, and symbols from one asset set.

Add the generated NRF font assets and generator script, including the compact font format with per-glyph advance support, and fix the BDF bitmap parsing bug that previously produced blank ASCII glyphs on device.

Move the LVGL Noto CJK font asset out of shared modules into the ESP-specific platform tree and update the related build/config references so the ESP-only font boundary is explicit and NRF does not compile the LVGL asset by accident.

Update the mono UI runtime to use the new renderer, normalize major menu and title labels to uppercase, and wire the GAT562 UI runtime to the Fusion Pixel font.

Fix the core mesh adapter router so Meshtastic and MeshCore backends can coexist without overwriting each other, and ensure active protocol selection is applied before mesh config changes are pushed into the runtime.

Improve GAT562 runtime diagnostics by mirroring debug output to both Serial and Serial2, logging startup radio configuration, and logging raw RX packets with RSSI/SNR so radio-path issues are visible during bring-up.

Relax SX1262 receive polling so it no longer hard-gates RX handling on DIO1 state alone, avoiding a failure mode where the board appeared alive but never delivered packets into the receive path.

Align the NRF Meshtastic adapter with the working ESP behavior for channel handling: use the default expanded public PSK for an unconfigured primary channel, compute channel hashes from the active preset name or Custom label instead of a hard-coded Primary string, and apply the same logic to self-announcement/NodeInfo packets.

Add protocol-layer Meshtastic RX diagnostics for parse, decrypt, decode, text queueing, app-data queueing, unknown-channel, and dedup events to make packet flow visible while validating interoperability.

Fix early duplicate handling for relayed packets so the first valid packet is still delivered into text processing while later relays are correctly suppressed, which restores Broadcast conversation creation and message visibility in the CHATS page.

* feat(gat562): align nrf ui and meshtastic behavior

* Refine mono UI GPS pages and board diagnostics

* refactor: align board runtimes, GAT562 app shell, and BLE integrations

- migrate ESP board-specific implementations and runtime adapters into boards/*
- continue GAT562/Tab5/UI runtime alignment across app and board layers
- sync BLE and runtime integrations, and apply repository clang-format rules

* Refine gat562 mono UI and persist UI settings

* Fix settings persistence and GNSS UI behavior

* Improve mono UI paging and Meshtastic RX fallback

* Align nRF52 Meshtastic BLE and PKI behavior

* Refine mono UI node and chat interactions

* Fix deferred config persistence on gat562 BLE

* Refine mono node compass and GPS layouts

* Include node position in Meshtastic phone info

* Refactor shared board contracts out of ESP platform layer

* Persist node positions across restarts

* Ignore local compile commands database

* Sync README acknowledgements updates

* Apply CI formatting
2026-03-24 16:09:14 +08:00