Key components: - no_std core so it can be used bare metal on embedded systems - default implementation for RPi 2350, with midi input and I2s output using PIO - Visualiser for the web to play with on a dev system
45 lines
1.4 KiB
TOML
45 lines
1.4 KiB
TOML
[package]
|
|
name = "synth-embedded"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "Embassy/RP2350 audio engine — I2S out, MIDI in, synth-core DSP"
|
|
publish = false
|
|
|
|
[[bin]]
|
|
name = "synth-embedded"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
synth-core = { path = "../synth-core" }
|
|
|
|
embassy-executor = { workspace = true, features = [
|
|
"platform-cortex-m",
|
|
"executor-thread",
|
|
"defmt",
|
|
] }
|
|
embassy-rp = { workspace = true, features = [
|
|
"rp235xa", # Pico 2 (30 GPIOs); use rp235xb for the 48-pin variant
|
|
"rt", # enables rp-pac/rt → generates device.x interrupt vectors
|
|
"time-driver",
|
|
"defmt",
|
|
"unstable-pac",
|
|
] }
|
|
embassy-sync = { workspace = true, features = ["defmt"] }
|
|
embassy-time = { workspace = true, features = ["defmt", "defmt-timestamp-uptime"] }
|
|
embassy-futures = { workspace = true }
|
|
|
|
cortex-m = { workspace = true, features = ["inline-asm", "critical-section-single-core"] }
|
|
cortex-m-rt = { workspace = true, features = ["device"] }
|
|
defmt = { workspace = true }
|
|
defmt-rtt = { workspace = true }
|
|
panic-probe = { workspace = true, features = ["print-defmt"] }
|
|
|
|
fixed = { workspace = true }
|
|
heapless = { workspace = true }
|
|
libm = { workspace = true }
|
|
pio = { workspace = true }
|
|
# pio-proc = { workspace = true }
|
|
|
|
# Profile overrides must live in the workspace root Cargo.toml, not here.
|
|
# See /Cargo.toml for release/dev profile settings.
|