Skip to content

Settings gains a Maintenance section: LED reset, macro/event clears, restart#24

Merged
lkasso merged 1 commit into
mainfrom
settings-maintenance
Jul 21, 2026
Merged

Settings gains a Maintenance section: LED reset, macro/event clears, restart#24
lkasso merged 1 commit into
mainfrom
settings-maintenance

Conversation

@lkasso

@lkasso lkasso commented Jul 20, 2026

Copy link
Copy Markdown
Member

Owner request (items 1–2) plus the escape hatches the group-logging debugging cycle showed we genuinely need (items 3–4):

  1. Reset LED — stop + clear patterns immediately; the footer explains that a light returning after a disconnect means an on-board event is re-arming it (→ item 3).
  2. Clear Macros — erases on-boot macros; the confirm warns this includes the identity-broadcast macro, which the app re-applies automatically on the next connect.
  3. Clear Events & Timers — removes all on-board bindings from every app. This is the manual fix for the documented heartbeat edge (a foreign-path collect can't know the LED event ids).
  4. Restart Board — new SDK MetaWearDevice.restart(): reboot without erasing — logs and macros survive, volatile state (including a wedged NAND housekeeping pass) clears. Same intentional-disconnect handling as factory reset, minus the erase. The unwedge we kept wanting during the GC saga.

Centered confirm alerts per app convention; failures surface in their own alert. Full app suite + 1058 SPM tests green.

🤖 Generated with Claude Code

…restart

Owner request plus the escape hatches the group-logging cycle showed we
need:

- Reset LED — stop playback and clear patterns immediately. The footer
  points at the real fix when the light returns after a disconnect: an
  on-board event is re-arming it.
- Clear Macros — erases all on-boot macros, with the confirm warning
  that this includes the identity-broadcast macro (the app re-applies
  it automatically on the next connect via the existing gate).
- Clear Events & Timers — removes ALL on-board bindings, the manual
  way out of a lingering recording-heartbeat disconnect event (the
  documented edge when a different phone collects a heartbeat-armed
  board and can't know the event ids).
- Restart Board — new SDK MetaWearDevice.restart(): reboot WITHOUT
  erasing (logs and macros survive; volatile state — timers, events,
  a wedged NAND housekeeping pass — clears). Same intentional-
  disconnect suppression and MMS ResetAfterGC-no-op fallback as
  factoryReset, without the erase steps. The unwedge we kept wishing
  for during the GC saga, now one tap.

All destructive actions confirm via centered alerts per the app
convention; failures surface in a dedicated alert.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@lkasso
lkasso merged commit 404ebeb into main Jul 21, 2026
6 checks passed
@lkasso
lkasso deleted the settings-maintenance branch July 21, 2026 23:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant