- Pull the entire device lifecycle into a single hsmc 0.5.1 statechart;
remove JIGGLE_FLAG, the Phase enum, the imperative main loop, and the
separate led_task.
- Add wake-up (horizontal shake), running (3 fast circles), and
pre-shutdown (inward spiral) mouse animations as during: activities.
- Tighten reset → wake-shake latency from ~2s to ~240ms; HID poll_ms
60 → 8 so the host actually samples animation frames.
- Set RUN_DURATION = 3h50m, the math-optimum under the user's workday
distribution for "screen sleeps during lunch on most days."
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Embassy-based no_std firmware for the Seeed Studio Xiao RP2040 that
masquerades as a Dell MS116 USB HID Boot Mouse. Each cycle picks a
random axis from the RP2040 ROSC RANDOMBIT register, nudges +1 px,
dwells 25 ms, nudges -1 px, then sleeps 4.5 minutes. After 8 hours
elapsed from boot or RESET press the device idles silently (watchdog
still fed) until the user taps RESET (R) again, aligning a single
press with one workday.
Tooling:
- mise.toml pins rust 1.95.0 with explicit components and the
thumbv6m-none-eabi target, plus cargo-binutils / uf2conv helpers.
- justfile shell is set to "mise exec -- sh -eu -c" so every recipe
uses the pinned toolchain without any shell activation.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>