Rewrite firmware: use postcard over USB MIDI (SysEx)

This commit is contained in:
daylily
2026-01-09 16:34:50 +08:00
parent efc503df33
commit c0c65f1fae
17 changed files with 911 additions and 1175 deletions
+31 -29
View File
@@ -4,45 +4,47 @@ version = "0.1.0"
edition = "2024"
[dependencies]
embassy-stm32 = { version = "0.2", features = [
"defmt",
"stm32f411ce",
"memory-x",
"time-driver-any",
"exti",
base64 = { version = "0.22.1", default-features = false }
cortex-m = { version = "0.7.7", features = [
"inline-asm",
"critical-section-single-core",
] }
embassy-sync = { version = "0.6", features = ["defmt"] }
embassy-executor = { version = "0.7", features = [
"nightly",
cortex-m-rt = "0.7.5"
critical-section = "1.2.0"
defmt = "1.0.1"
defmt-rtt = "1.1.0"
embassy-executor = { version = "0.9.1", features = [
"arch-cortex-m",
"executor-thread",
"executor-interrupt",
"defmt",
] }
embassy-time = { version = "0.4", features = [
embassy-futures = { version = "0.1.2", features = ["defmt"] }
embassy-stm32 = { version = "0.5.0", features = [
"stm32f411ce",
"defmt",
"memory-x",
"unstable-pac",
"time-driver-any",
"exti",
] }
embassy-sync = { version = "0.7.2", features = ["defmt"] }
embassy-time = { version = "0.5.0", features = [
"defmt",
"defmt-timestamp-uptime",
"tick-hz-32_768",
] }
embassy-usb = { version = "0.4", features = ["defmt"] }
embassy-futures = { version = "0.1", features = ["defmt"] }
embassy-usb = { version = "0.5.1", features = ["defmt"] }
embedded-graphics = { version = "0.8.1", features = ["defmt"] }
embedded-hal-bus = { version = "0.3.0", features = ["async"] }
epd-waveshare = "0.6.0"
panic-probe = { version = "1.0.0", features = ["print-defmt"] }
postcard = { version = "1.1.3", features = ["defmt"] }
serde = { version = "1.0.228", default-features = false, features = ["derive"] }
static_cell = "2.1.1"
defmt = "1.0"
defmt-rtt = "1.0"
cortex-m = { version = "0.7", features = [
"inline-asm",
"critical-section-single-core",
] }
cortex-m-rt = "0.7"
embedded-hal-bus = { version = "0.3", features = ["async"] }
panic-probe = { version = "1.0", features = ["print-defmt"] }
critical-section = "1.1"
epd-waveshare = "0.6"
embedded-graphics = "0.8"
usbd-hid = "0.8"
base64 = { version = "0.22", default-features = false }
[profile.dev]
opt-level = "s"
[profile.release]
opt-level = "z"
opt-level = "s"