diff --git a/.gitignore b/.gitignore index cefe9a8..7be1996 100644 --- a/.gitignore +++ b/.gitignore @@ -384,6 +384,8 @@ FodyWeavers.xsd *.pvk # Local run-time config that shouldn't be versioned *.local.json +# Firmware mash-test session logs (tools/RioSerialMonitor --mash) +riomash-*.log # Generated overlay/editor previews (regenerable, not committed) docs/reference/customBackground/riojoy-preview.png diff --git a/rio-firmware/RIOv4_2-ANALYSIS.md b/rio-firmware/RIOv4_2-ANALYSIS.md index 8115c2f..d95d3f5 100644 --- a/rio-firmware/RIOv4_2-ANALYSIS.md +++ b/rio-firmware/RIOv4_2-ANALYSIS.md @@ -154,6 +154,23 @@ chip), then run the `RIO_TAP` two-handed 8-button mash test. Expect: no permanent analog mute; any collision self-recovers without a game-start reset. Compare dropout counts to the 2026-07-03/04 baseline taps. +**Instrumented harness** (2026-07-17): the mash protocol is mechanized in +`tools/RioSerialMonitor` — + + dotnet run --project tools/RioSerialMonitor -- --mash COM1 300 --label patched + +It disables the app's own >5 s reset-recovery (a wedge must stay observable), +echoes lamps on every press (lamp/reply collisions are the trigger), and logs +to `riomash-