Commit Graph
61 Commits
Author SHA1 Message Date
liu weikai dcba11e920 Release 0.1.20-alpha 2026-04-21 14:42:02 +08:00
liu weikai 020d881738 Polish startup, locale pack, and IME UX 2026-04-21 11:51:57 +08:00
liu weikai 063f0960e5 Optimize startup flow and split zh-Hans font packs 2026-04-21 10:20:01 +08:00
vicliu b2229138ed Tdeck (#24)
* fix(tracker): apply localized labels on tracker page

* feat: add runtime locale packs and font fallback

* release: prepare 0.1.19-alpha
2026-04-21 03:19:05 +08:00
liu weikai 34e1fc2239 release: 0.1.18-alpha 2026-04-20 16:01:55 +08:00
vicliu e5c11d6473 Feature/localization from main (#23)
* feat(ui): add runtime English and Chinese localization

* fix(meshtastic): harden t-deck send and ack recovery

Align the T-Deck SX1262 setup with the reference firmware, switch critical radio SPI paths to blocking access, and share RX restart state between direct send paths and the radio task so TX-to-RX handoff cannot silently get stuck.

Also unify Meshtastic wire transmission through a single helper, keep wire packets for ACK-tracked sends, retry ACK timeouts up to three times, and document the issue #21 repair checklist.

Validation: local builds passed for tdeck, tlora_pager_sx1262, lilygo_twatch_s3, and gat562_mesh_evb_pro; clang-format check passed.

Testing status: not fully tested on hardware yet.

* Refactor LXMF runtime toward full Reticulum alignment

Split adapter runtime state into transport, link, and propagation domains.

Add pending path request tracking, stronger link teardown semantics, outbound link establishment, deferred link payload flushing, link keepalive/stale handling, and inbound split-resource assembly.

Document the authoritative Reticulum/LXMF runtime alignment plan and mark the older device-mode plan as historical context.

* feat(web): add pages site and web flasher release flow
2026-04-19 21:08:59 +08:00
liu weikai 11477efe02 Expand LXMF transport for app data and propagation
- add shared LXMF wire codecs for app-data payloads, link requests/responses, resource advertisements, and propagation batches
- implement ESP LXMF app-data send/receive, active link sessions, resource chunking, propagation announces, and verified envelope delivery
- propagate want_response through team and hostlink flows, track team members for unicast fan-out when broadcast app-data is unavailable, and publish node position updates from team position events
- advertise broadcast app-data support on MeshCore/Meshtastic adapters and replace fixed-size Reticulum token buffers with dynamic storage
2026-04-17 13:15:04 +08:00
liu weikai d636eb6398 WIP: rescue misbranched LXMF and RNode work 2026-04-17 10:03:08 +08:00
liu weikai baf6f1855e Fix CI regressions and prepare 0.1.15-alpha 2026-04-16 14:35:44 +08:00
liu weikai 09ad46c56b Unify device capability gating and T-Deck two-pane UI 2026-04-16 14:11:09 +08:00
liu weikai 32751e3d90 Improve T-Deck settings touch navigation 2026-04-16 09:53:26 +08:00
liu weikai b05a4aa5b0 Gate SSTV on audio input capability 2026-04-16 00:27:11 +08:00
liu weikai cecdaa0710 Refine T-Deck settings item layout 2026-04-16 00:08:57 +08:00
liu weikai 37eb709be9 Add touch drag support for GPS map 2026-04-15 22:52:29 +08:00
liu weikai c7243b94d2 fix(ui): rebalance mono screensaver footer layout 2026-04-15 21:52:28 +08:00
liu weikai c509553239 fix(ble): simplify nrf52 meshtastic service flow 2026-04-15 21:52:19 +08:00
liu weikai 89693c3390 fix(gps): stabilize map input and tile loading flow 2026-04-15 21:52:05 +08:00
liu weikai 04e2917aa9 Refine T-Deck menu navigation ownership 2026-04-15 13:38:55 +08:00
liu weikai 3179ffa4a7 Stabilize GAT562 BLE config flow 2026-04-14 23:08:04 +08:00
liu weikai 766c640dc8 Apply CI formatting fixes 2026-04-14 21:30:44 +08:00
liu weikai 32b3dd630c Fix GAT562 protocol switching and MeshCore BLE settings 2026-04-14 21:18:02 +08:00
liu weikai f058027cb8 Format sources for CI clang-format-14 2026-04-13 17:20:21 +08:00
liu weikai 7cbcacac2a Fix watch chat build and CI formatting 2026-04-13 17:11:57 +08:00
liu weikai f9eb0714d7 Format files to match CI style 2026-04-13 16:26:12 +08:00
liu weikai 3201f6a394 Fix Meshtastic nodeinfo persistence 2026-04-13 13:14:28 +08:00
liu weikai 5a61bab5d0 Harden Meshtastic BLE receive path 2026-04-13 12:57:19 +08:00
liu weikai 210dcfd592 fix sync node info 2026-04-12 19:50:40 +08:00
liu weikai 5a4fed59e1 fix reset time 2026-04-12 18:06:27 +08:00
liu weikai 67e6ce404a Refactor nrf52 fs helpers and show flash free space 2026-04-12 16:06:35 +08:00
liu weikai 768f71a49e Revert Meshtastic BLE hardening changes
Revert b9e20b2662 because it causes app-side configuration reads to hang on GAT562.

This restores the previous Meshtastic BLE timing/notification behavior and also drops the cross-target compatibility adjustments that came with that commit.
2026-04-12 15:23:48 +08:00
liu weikai e7382b135a Fix GAT562 mono channel slot UI and screen timeout 2026-04-12 14:42:06 +08:00
liu weikai b9e20b2662 Harden Meshtastic BLE flow and cross-target builds
Adjust the Meshtastic BLE transport timing on nRF52, retain pending FROMNUM notifications, and defer local admin/self replies to reduce request/response races during Android settings flows.

Also make the shared chat/UI code compile across non-nRF targets by gating RTOS and Arduino-only helpers and by updating the team page layout to the current page profile fields.

Note: this does not resolve the gat562 Meshtastic Android settings progress bar issue yet; the BLE/admin response path is improved and instrumented, but the root cause of the stuck loading state remains unresolved.
2026-04-12 14:04:18 +08:00
liu weikai 37b773d102 Polish mono conversation and message info layout 2026-04-12 11:06:53 +08:00
liu weikai 0b0b250735 Refine mono conversation bubble focus 2026-04-12 10:48:31 +08:00
liu weikai 1f795dbf2f Define LoRa tx power caps per board 2026-04-12 10:05:31 +08:00
liu weikai 7bc9c18cc3 fix: gat562 settings 2026-04-11 15:24:50 +08:00
liu weikai 379fce15c1 Refactor GAT562 runtime and stabilize Meshtastic BLE
Refactor the GAT562 board runtime by extracting dedicated GPS and input runtime components and routing config application through a focused runtime apply service.

Narrow the nRF52 BLE manager dependencies, rework the Meshtastic BLE transport to better match the Android client handshake, and harden the FromRadio/FromNum flow with improved staging, read pacing, diagnostics, and stack-safe config snapshot generation.

Also repair repository text encoding issues in docs and UI comments, and add Meshtastic BLE timing documentation to capture the expected Android/firmware interaction model for future debugging.
2026-04-10 10:03:22 +08:00
liu weikai e2a586bc1d Add T-Deck Pro board bring-up and sync pending UI fixes 2026-03-28 10:53:25 +08:00
liu weikai f6a70d0860 Remove key verification UI and hide MC position exchange 2026-03-27 23:53:08 +08:00
liu weikai e0076d707b Align Meshtastic phone sync and chat UI refresh 2026-03-27 22:32:51 +08:00
liu weikai df76526b5d perf: reduce chat list and message handling latency 2026-03-27 17:35:47 +08:00
liu weikai 988827a3bc chore: checkpoint current chat and contacts changes 2026-03-27 17:22:27 +08:00
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
liu weikai 5ff9abffb2 Apply CI formatting 2026-03-24 15:05:49 +08:00
liu weikai 317a49fd69 Persist node positions across restarts 2026-03-24 14:17:56 +08:00
liu weikai 9cd666ad3b Refactor shared board contracts out of ESP platform layer 2026-03-24 11:11:33 +08:00
liu weikai 7a804b6453 Include node position in Meshtastic phone info 2026-03-24 09:20:48 +08:00
liu weikai 84bff6d4a5 Refine mono node compass and GPS layouts 2026-03-24 09:18:20 +08:00
liu weikai b0dd2f8707 Fix deferred config persistence on gat562 BLE 2026-03-24 00:26:56 +08:00
liu weikai 15e31a73c5 Refine mono UI node and chat interactions 2026-03-24 00:02:20 +08:00