[package] name = "pm-grid" version = "0.1.0" edition = "2021" description = "PM_G-1 'Grid' firmware (RP2040 / Pimoroni Pico Scroll Pack PIM545). 17x7 IS31FL3731 LED metronome — Rust sibling of pico-scroll/app.py." [dependencies] rp2040-hal = { version = "0.11", features = ["rt", "critical-section-impl", "defmt"] } rp2040-boot2 = "0.3" cortex-m = "0.7" cortex-m-rt = "0.7" defmt = "0.3" defmt-rtt = "0.4" # logs over RTT, read by `probe-rs run` (the Pi Debug Probe) panic-probe = { version = "0.3", features = ["print-defmt"] } embedded-hal = "1" track-format = { path = "../track-format" } embedded-alloc = "0.6" # track-format parses into Vec/String → needs a global allocator usb-device = "0.3" # USB device stack (rp2040-hal provides the UsbBus) usbd-midi = "0.5" # USB-MIDI class — the Scroll Pack's only audio path (no speaker) usbd-storage = { version = "2", features = ["bbb", "scsi", "defmt"] } # USB Mass Storage (the drive) rp2040-flash = "0.6" # run-from-RAM flash erase/program for the filesystem region # 0.4.0 (git) — clean no_std IoBase/IoError model (0.3.6 needs core_io for no_std). Reads the FAT # drive on-device (load programs.json). Pinned for reproducibility. fatfs = { git = "https://github.com/rafalh/rust-fatfs", rev = "c4b88477", default-features = false, features = ["alloc", "lfn"] } [profile.release] opt-level = "s" lto = false # fat-LTO trips a duplicate soft-float intrinsic (__addsf3) across the USB/flash deps codegen-units = 1 debug = 2