- Rust stable toolchain (
rustup toolchain install stable) libasound2-devfor local builds- ARM cross toolchain for packaging (
gcc-arm-linux-gnueabihf libc6-dev-armhf-cross)
sudo apt-get install -y --no-install-recommends \
libasound2-dev gcc-arm-linux-gnueabihf libc6-dev-armhf-crosscargo test --workspaceRun the packaging script to produce SD card bundles in dist/:
./scripts/package.shSee the README for CI/ARMv6 options (PIRATE_SYNTH_ARMV6_BINARY).
To iterate on the display menu without a physical Pi or ST7789 display:
cargo run -- --render-uiThis renders a PPM screenshot to /tmp/pirate-synth-menu.ppm without
requiring the SPI display or GPIO buttons. Any PPM viewer (e.g. feh,
eog, or convert from ImageMagick) can open it.
- Tests must pass:
cargo test --workspace - Match the existing code style (
cargo fmt,cargo clippy) - Keep changes focused — one logical change per PR