Close M0: record outcome and carried-over items

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EhqxQ49eCju4CzKYNjZzwT
This commit is contained in:
2026-10-02 14:02:13 +02:00
co-authored by Claude Opus 5.5
parent 5fd351c45e
commit cf2e7968b9
+20
View File
@@ -1,5 +1,25 @@
# M0 — Skeleton: Launcher, Status Bar, Settings, battery # M0 — Skeleton: Launcher, Status Bar, Settings, battery
**Status:** done on 2026-10-02, tagged `v0.1.0`.
## Outcome
Every "Done when" item below works on the device, apart from the gaps listed here. Changes made along the way:
- **Not done, carried over:**
- **Charging indicator:** the battery voltage alone can't tell charging apart reliably. Revisit if the hardware exposes a charger status.
- **Waking from power-off with a keyboard key:** G0 only for now.
- **Status Bar placeholders** for GNSS, mesh, Wi-Fi and unread count are left out until those Services exist (M1, M2, M4).
- **Added:**
- **SD card erase**, in Settings → Storage.
- **A Notification wakes an Off screen** (dimmed) while its Toast shows.
- **Navigation arrows without Fn** outside Text Entry.
- **Serial dev commands** and `scripts/serial_log.sh`.
- **Measured on the device:**
- About 225 KB free heap with the 64 KB frame buffer.
- About 15 ms per frame.
- 19% of the app flash used.
**Goal:** a firmware you can flash and hold. It boots to a Launcher, shows a live Status Bar, navigates with the keyboard and saves Settings. It proves the App/Service architecture that every later milestone plugs into. **Goal:** a firmware you can flash and hold. It boots to a Launcher, shows a live Status Bar, navigates with the keyboard and saves Settings. It proves the App/Service architecture that every later milestone plugs into.
## Done when ## Done when