- 01Desktop tests
- 02Firmware build
- 03Device trials
- 04One new boundary
Document what runs where
Keep the reusable policy, its desktop test and the M5Unified adapter together. Your README should identify the CoreS3 board, board-support version, M5Unified version, thresholds and one repeatable motion trial. Record that counts reset on restart; no persistent log is implemented.
A passing desktop test supports the state-machine logic. A successful firmware compile establishes target/library compatibility. A trial on the actual board establishes the observed device behavior. These are separate results, and a checklist tick is not an automatic course-mastery award.
Choose one extension
A circular history buffer could retain the last few event times. Give it a fixed capacity, define what happens when it fills and keep it independent of the display. The free containers and RTOS queue lessons give useful preparation.
Persistent storage is a separate extension. Before writing to a microSD card, define the format, error path and behavior during removal or power loss. Do not claim that a successful serial print established durable storage.
Completion check
Explain why stationary acceleration is not zero, why squared magnitude is useful, how the counter rearms and why the unsigned cooldown comparison works across the ordinary clock wrap. Demonstrate one held-high rejection and two genuinely separate movements on your device.