55 lines
1.7 KiB
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.
|