Files
wenilandClaude Opus 4.8 25b101d086 v2: kick off v2-dev — version constant + roadmap
Freeze the classic line on main (tagged v1.0-classic) and open the v2
development branch. Add a firmware version constant (2.0.0-dev) reported in
the boot banner so the daemon can tell classic from v2, and document the
phased v2 plan in docs/v2-roadmap.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 13:49:40 +03:00

2.8 KiB
Raw Permalink Blame History

Clawdmeter v2 — roadmap

v2 turns Clawdmeter from a single-purpose usage indicator into a small multi-app wrist companion for the Waveshare AMOLED-2.06 watch.

  • Classic line — the stable 2.06 port + working Windows BLE daemon. Frozen on main, tagged v1.0-classic. Bugfix-only.
  • v2 development — this branch (v2-dev). When it's ready it merges to main and is tagged v2.0.0.

Architecture decisions (locked)

  • Navigation: tap the Claude logo (top-left) → app launcher. Each feature is an "app" screen registered in a registry ({id, icon, label, show/hide}), mirroring the board-HAL pattern: a new app = one registry entry + one screen module, no edits to shared navigation code.
  • Home Assistant: routed through the desktop daemon (watch → BLE → daemon → HA REST API). The watch stays dumb; the HA URL/token live on the PC. No WiFi provisioning or secrets on the watch.
  • Desktop companion: a local web UI (FastAPI, opened from the tray) for config, firmware flashing, and per-app setup (soundpad labels, HA entity map, Now Playing).
  • Soundpad: on-screen buttons emit F13F18 over the existing BLE HID keyboard. Requires raising the HID report map's keycode ceiling (currently 101 / 0x65; F13F24 are 0x680x73).

Phases

# Phase Depends on Daemon work
0 Version split — freeze classic, branch v2-dev, version constant no
1 Touch foundation — verify FT3168 coordinate accuracy, calibrate swap/mirror, logo hit-area no
2 Menu / launcher — app registry, launcher screen, nav stack, back affordance 1 no
3 Soundpad — raise HID ceiling to F24, 6-button screen → F13F18 2 no
4 Session / tokens — daemon computes today's tokens/$; extend payload + parser + screen 2 data
5 Now Playing — daemon reads Windows media session; new screen 2 media
6 Home Assistant — watch→daemon command characteristic, HA bridge, control screen 2 HA bridge
7 Desktop companion — local web UI: config + one-click firmware flash (esptool, bins from Gitea Releases) big upgrade
8 Release v2.0 — docs, icons, Gitea release with firmware binaries all

Each UI phase is verified on hardware via the screenshot serial command before moving on.

BLE data channel (current + planned)

Custom GATT service 4c41555a-…0001:

Char Dir Now v2 plan
…0002 RX PC→watch JSON usage payload + session/tokens, now-playing fields
…0003 TX watch→PC ack/nack (unchanged)
…0004 REQ watch→PC refresh request (0x01) (unchanged)
…0005 CMD watch→PC new: app commands (HA toggle, etc.)

Plus the standard BLE HID keyboard (0x1812) for Space / Shift+Tab / soundpad keys.