/Cargo.toml
[package]
name = "hallonbrod-os"
version = "0.1.0"
edition = "2021"

[dependencies]
cortex-m = { version = "0.7", features = ["inline-asm"] }
cortex-m-rt = "0.7"
critical-section = "1.1"
embedded-hal = { version = "0.2.7", features = ["unproven"] }
frunk_core = { version = "0.4", default-features = false }
fugit = "0.3.7"
heapless = "0.7"
r0 = "1.0"

doa-hallonbrod = { path = "../doa-hallonbrod" }
serde = { version = "1.0", default-features = false }
ssmarshal = { version = "1.0", default-features = false }
usb-device = "0.2"
usbd-serial = "0.1"
usbd-hid = "0.6.0"

[target.thumbv6m-none-eabi]
runner = "elf2uf2-rs"

# cargo build/run
[profile.dev]
codegen-units = 1
debug = 2
debug-assertions = true
incremental = false
opt-level = 3
overflow-checks = true

# cargo build/run --release
[profile.release]
codegen-units = 1
debug = 2
debug-assertions = false
incremental = false
lto = 'fat'
opt-level = 3
overflow-checks = false

# do not optimize proc-macro crates = faster builds from scratch
[profile.dev.build-override]
codegen-units = 8
debug = false
debug-assertions = false
opt-level = 0
overflow-checks = false

[profile.release.build-override]
codegen-units = 8
debug = false
debug-assertions = false
opt-level = 0
overflow-checks = false

# cargo test
[profile.test]
codegen-units = 1
debug = 2
debug-assertions = true
incremental = false
opt-level = 3
overflow-checks = true

# cargo test --release
[profile.bench]
codegen-units = 1
debug = 2
debug-assertions = false
incremental = false
lto = 'fat'
opt-level = 3