Files
ch32-bms/firmware/Cargo.toml

55 lines
1.7 KiB
TOML

[package]
name = "bms"
version = "0.1.0"
edition = "2021"
[dependencies]
#ch32-hal = { git = "https://github.com/ch32-rs/ch32-hal", features = [
ch32-hal = { git = "https://github.com/ju6ge/ch32-hal", branch = "feature/i2c-slave-api", features = [
"ch32v203c8t6",
"memory-x",
"embassy",
"rt",
"time-driver-tim2",
], default-features = false }
embassy-executor = { version = "0.7.0", features = [
# arch-riscv32's WFI-based sleep races with the USB interrupt wake signal,
# so tasks awaiting USB (e.g. wait_connection/write_packet) can hang
# forever even though the device enumerates fine. arch-spin busy-polls
# instead of sleeping, sidestepping the race. See CAN_Sensor/Cargo.toml
# for the same fix on the same ch32-hal/embassy-executor combo.
"arch-spin",
"executor-thread",
] }
embassy-time = { version = "0.5.0", features = ["generic-queue-8"] }
embassy-usb = { version = "0.5.1" }
embassy-futures = { version = "0.1.0" }
embassy-sync = { version = "0.7.2" }
static_cell = "2.1.1"
# This is okay because we should automatically use whatever ch32-hal uses
qingke-rt = "*"
qingke = "*"
panic-halt = "1.0"
embedded-hal = "1.0.0"
heapless = { version = "0.8.0", features = ["portable-atomic-critical-section"] }
micromath = { version = "2.1.0", features = ["num-traits"] }
ch32-metapac = { version = "0.0.6", features = ["ch32v203c8t6"] }
ina219 = "0.2.0"
lib-bms-protocol = { path = "../lib-bms-protocol" }
thiserror = { version = "2.0.17", default-features = false }
[profile.dev]
#lto = true
opt-level = "s"
[profile.release]
strip = false # symbols are not flashed to the microcontroller, so don't strip them.
#lto = true
debug = true
opt-level = "z" # Optimize for size.