docs: Stage 3 milestone 3 (live metronome) + notation views
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
8067820d19
commit
95b960e071
1 changed files with 15 additions and 4 deletions
|
|
@ -90,10 +90,21 @@ session** (`NoCs`) — mipidsi toggles CS mid-command and the ST7796 needs it co
|
|||
pm-ui to PNG; `--bin panelsim` decodes mipidsi's real command/pixel stream into a PNG (proved the
|
||||
protocol correct → bug was physical); `--bin initdump` dumps the init + CASET/RASET sequence.
|
||||
|
||||
**Next:** real metronome UI in `pm-ui` (iterate in the simulator/emulator, no bench), then inputs
|
||||
(buttons GP15/14, joystick GP26/27, GT911 touch on GP8/9), audio (piezo GP13), WS2812 (GP12),
|
||||
USB-MIDI — then link `pm-core` (the track codec + scheduler, already `no_std` and tested).
|
||||
HAL stays `rp235x-hal` for now (embassy can come later if async buys us enough).
|
||||
**🟡 Milestone 3 (live metronome) — built, pending on-device check:** the firmware is now an actual
|
||||
metronome. `embedded-alloc` heap → parses tracks with `track-format` on-device; 4 built-in grooves;
|
||||
Timer-driven clock; **audio clicks** on the master lane's hits (GP13 PWM, short edge-triggered
|
||||
pulses, accent louder); **controls** — A = play/stop, B = grid/notation view, joystick (rotated 90°
|
||||
CCW) up/down = tempo, left/right = groove. Renders `pm-ui::draw_metronome` / `draw_notation`, with a
|
||||
cheap `draw_progress` strip animating the bar position every frame (full redraw only on change → no
|
||||
flicker). All loop input reads use `unwrap_or` (no panics) — addresses the self-test crash.
|
||||
Compile + simulator verified; **needs a flash to confirm** audio timing, joystick directions, no crash.
|
||||
|
||||
**pm-ui views (sim-verified, PNGs):** metronome grid (accents/ghosts/polymeter), and **drum notation**
|
||||
(5-line staff, time sig, hands stem-up / feet stem-down, shared stems, beamed eighths, ledger lines).
|
||||
|
||||
**Still to do:** GT911 touch (GP8/9), WS2812 RGB (GP12), USB-MIDI, set-lists from programs.json,
|
||||
per-cell live playhead, the rest of the practice features. Then split `pm-core` out as its own crate
|
||||
and add `pm-explorer`/`pm-grid` binaries. HAL stays `rp235x-hal` (embassy later if async earns it).
|
||||
|
||||
On `embassy` / `rp-hal`:
|
||||
- ST7789 240×320 display → `mipidsi` + `embedded-graphics` (mature; the parts are well-supported).
|
||||
|
|
|
|||
Loading…
Reference in a new issue