mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-10-09 11:16:39 +00:00
feat(ui-lvgl): LVGL 9 skeleton frontend for Wio Tracker L2
New examples/companion_radio/ui-lvgl/ over the shared UI Core (env Wio_Tracker_L2_companion_solo_lvgl, LVGL 9.2.2, pool in PSRAM): status bar, home (clock, unread), conversation list (channels + recent DMs with unread badges), contact picker, conversation view with bubbles, delivery / relay markers and on-screen keyboard, toasts for Core events, display auto-off with wake on touch / button. Board glue (LovyanGFX flush + GT911 touch) isolated in LvglPort.h; design tokens in Theme.h. UiCore gains the first frontend actions, sendDirectText() and sendChannelText(), and drives DM auto-resend + unread reconcile from its own loop (removed from ui-new's loop). MessageHistory exposes newest-first DM ring iteration and a public contactByPrefix(). Verified on L2 hardware: navigation, send/receive, sleep/wake. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -159,7 +159,7 @@ checked in the sim plus on L1 hardware before the next one.
|
||||
2. **Engines, one per commit.** Clock tools ✅ (also introduced `ui-core/UiEvents.h`, the Core → frontend event queue; `UITask::tickCore()` runs `UiCore::loop()` and drains it) → ping ✅ → course-over-ground ✅ → live share ✅ → locator ✅ → trail ✅ → notifications ✅ (with step 3). `UITask` shrinks to screen management + drawing.
|
||||
3. **Flip the interface** ✅. `UiCore` is `MyMesh::Listener`; `ui-new`'s `UITask` derives `UITaskBase` + `UiCoreHost` and is fed by events, drained at the start (mesh-originated) and end (engines) of its `loop()`. Mesh callbacks no longer touch the display or buzzer directly.
|
||||
4. **Settings schema.** Convert `SettingsScreen` section by section.
|
||||
5. **`ui-lvgl` skeleton** for L2 + sim target: boot, home, message list/conversation, keyboard. Then screens by priority.
|
||||
5. **`ui-lvgl` skeleton** ✅ on L2 hardware (env `Wio_Tracker_L2_companion_solo_lvgl`, LVGL 9.2.2): status bar, home, conversation list, contact picker, conversation with keyboard, toasts, display sleep/wake. The Core gained the first actions (`sendDirectText`, `sendChannelText`) and runs DM resends itself. Still to do: sim target at 320×240, a font with Polish/Cyrillic coverage, then screens by priority.
|
||||
6. Contacts/Nearby, Admin, Bot logic extraction as the LVGL screens for them are built.
|
||||
|
||||
## Decisions
|
||||
|
||||
Reference in New Issue
Block a user