Files
L'électron rare 410d0cf273
CI / sanity (push) Successful in 17s
CI / host-tests (push) Successful in 22s
CI / box3-build (push) Failing after 15s
CI / build (push) Successful in 2m25s
feat: delay page, visual click, clip, hardening
Improvement batch on top of the validated system. STATE grows
27 -> 28 bytes (click_pos): both firmwares must be reflashed
together, a version mix shows the disconnected banner.

- Box-3 'Effets' tab: delay level/feedback/length sliders wired
  to three new CMD opcodes (0x10-0x12) calling the ml_delay
  setters that were only reachable over MIDI before.
- visual metronome: STATE carries the click bar position; the
  click button flashes on each beat, brighter on beat 1.
- input clip indicator: near-full-scale input turns the input VU
  red for 2 s (peak hold).
- fix a regression from the VT100 removal: status messages could
  Serial.printf from the audio core (MIDI callbacks), busting the
  1.088 ms budget. They are now staged and printed by core 0.
- flush the link RX buffer after an SD operation so commands
  touched during the blocking save/load no longer replay in a
  burst afterwards.
- static_assert on sizeof(link_state_t) in the shared header and
  TRACK_CNT == LINK_TRACK_CNT in the looper.
- protocol.md updated: 28-byte layout, delay opcodes, real
  liveness rules (any valid frame, 8 s during SD operations).

Verified: pio run SUCCESS, idf.py build OK, C host test OK,
5/5 pytest.
2026-08-06 14:52:44 +02:00
..