metronome/docs
Me Here 802e46f5bb pm-daisy: wire Pod controls (encoder/buttons/knobs/RGB LEDs)
The Daisy Pod hardware arrived (Seed 1.2 / PCM3060). Build the controls
phase on top of the audio spike: encoder turn = tempo, push = play/pause,
buttons step the program list, knob 1 = volume, RGB LED 1 = beat colored
by dynamic, RGB LED 2 = transport. Boot still plays the spike groove so
the spike's decision criteria stay observable.

- pm-synth: add Player::{position,seek,set_volume,last_level} + Synth::
  set_master, with host tests (tests/player.rs). Live tempo/program
  changes rebuild the Player in thread context and swap it in under a
  short critical section, preserving loop phase (seek) on tempo changes.
- pm-daisy: SysTick 1 kHz millis tick, non-blocking beat flash, and
  PLAYING/VOLUME/LAST_LEVEL atomics the audio IRQ honors/publishes.
- New modules controls.rs (buttons/encoder/pots, libDaisy debounce +
  quadrature decode, 1 kHz poll), leds.rs (active-low RGB + boot
  self-test), programs.rs (spike groove at index 0 + pm-grid grooves).
- Pin map verified against libDaisy daisy_pod.cpp + the daisy crate's
  pins.rs. Builds clean for all three Seed revisions; 91 KB/128 KB flash.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 20:04:59 -05:00
..
daisy-spike.md pm-daisy: wire Pod controls (encoder/buttons/knobs/RGB LEDs) 2026-06-10 20:04:59 -05:00
livesync-protocol.md Preserve notation + grammar feature work (verified complete + green) 2026-06-02 13:45:26 -05:00
playback-flow-test.md Editor controls for playback flow + close web-side divergences 2026-05-31 16:11:43 -05:00
rust-port.md docs(rust-port): record the pm-grid hardening pass (tx_q cap, fonts split) 2026-06-04 11:24:28 -05:00
track-format.md Preserve notation + grammar feature work (verified complete + green) 2026-06-02 13:45:26 -05:00