[package]
authors = ["netthier <admin@netthier.net>"]
name = "ashtoret"
edition = "2021"
version = "0.1.0"

[lib]
harness = false

# needed for each integration test
[[test]]
name = "integration"
harness = false

[dependencies]
cortex-m = "0.7.3"
cortex-m-rt = "0.7.0"
alloc-cortex-m = "^0.4"
defmt = "0.3.0"
defmt-rtt = "0.3.0"
panic-probe = { version = "0.3.0", features = ["print-defmt"] }
futures = { version = "^0.3", default-features = false }
embassy = { git = "https://github.com/embassy-rs/embassy.git", features = ["defmt", "nightly"] }
embassy-stm32 = { git = "https://github.com/embassy-rs/embassy.git", features = ["time-driver-any", "stm32f303vc", "unstable-pac", "memory-x", "nightly", "unstable-traits", "defmt"] }
embassy-embedded-hal = { git = "https://github.com/embassy-rs/embassy.git" }
embassy-usb = { git = "https://github.com/embassy-rs/embassy.git", features = ["defmt"] }
embassy-usb-serial = { git = "https://github.com/embassy-rs/embassy.git", features = ["defmt"] }
embedded-hal-async = "0.1.0-alpha.1"
tinyvec = { version = "^1.6", features = ["alloc"] }

[dev-dependencies]
defmt-test = "0.3.0"

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

# cargo test
[profile.test]
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
# NOTE disabled to work around issue rust-lang/rust#90357
# the bug results in log messages not having location information
# (the line printed below the log message that contains the file-line location)
# lto = 'fat'
opt-level = "z" # <-
overflow-checks = false # <-

# cargo test --release
[profile.bench]
codegen-units = 1
debug = 2
debug-assertions = false # <-
incremental = false
# see comment in the profile.release section
lto = 'false'
opt-level = 3 # <-
overflow-checks = false # <-

# uncomment this to switch from the crates.io version of defmt to its git version
# check app-template's README for instructions
# [patch.crates-io]
# defmt = { git = "https://github.com/knurling-rs/defmt", rev = "use defmt version reported by `probe-run --version`" }
# defmt-rtt = { git = "https://github.com/knurling-rs/defmt", rev = "use defmt version reported by `probe-run --version`" }
# defmt-test = { git = "https://github.com/knurling-rs/defmt", rev = "use defmt version reported by `probe-run --version`" }
# panic-probe = { git = "https://github.com/knurling-rs/defmt", rev = "use defmt version reported by `probe-run --version`" }