Some checks failed
check / check (push) Has been cancelled
First commit of the repo. Contents beyond the v0.1 simulator and layout: - Full Pico 2 W firmware (firmware/app, drivers, engine port, host test). - BANK page and 404 mode A/B removed; learned pads play exactly what was learned. - 404/MiniFreak renamed to KIT/SYNTH throughout (jacks, code, sim, docs, layout labels; wiring rebuilt). - ROLL returns to page select after a re-roll; a freshly learned track turns on. - LCD contrast 66. - ROOT and SCALE pages: 21 scales, AUTO = the seed picks; global and sticky. Intended music change: the scale table grew from 8 to 21 and AUTO picks from all of them, so every seed's scale changed. Vectors regenerated with npm run vectors, plus new key-override cases. Flash record is now version 2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
16 lines
681 B
C
16 lines
681 B
C
/* Quadrature encoder on GP10 (A) / GP11 (B), pull-ups, decoded in the GPIO interrupt with a state table.
|
|
The bench encoder gives 4 edges per click and rests with both contacts open (A = B = 1). As wired, the raw
|
|
count runs down when turned clockwise, so the driver flips it: + = clockwise.
|
|
A click counts when the shaft comes back to rest, so jitter around a detent doesn't count. */
|
|
#ifndef SEEDBOX_ENCODER_H
|
|
#define SEEDBOX_ENCODER_H
|
|
|
|
#include <stdint.h>
|
|
|
|
void encoder_init(void);
|
|
int32_t encoder_count(void); /* clicks, + = clockwise */
|
|
int32_t encoder_steps(void); /* raw edges, for the bench */
|
|
int encoder_ab(void); /* current A << 1 | B */
|
|
|
|
#endif
|