[package] name = "mnemos" version = "0.1.0" description = "A tiny embedded operating system kernel" repository = "https://github.com/jamesmunns/pellegrino" authors = ["James Munns "] edition = "2021" readme = "./README.md" categories = [ "embedded", "no-std", ] license = "MIT OR Apache-2.0" [lib] name = "kernel" harness = false # needed for each integration test [[test]] name = "integration" harness = false [dependencies] cortex-m = "0.7.3" cortex-m-rt = "0.7.0" cortex-m-rtic = "1.0.0" rtic-monotonic = "1.0.0" fugit = "0.3.3" defmt = "0.3.0" defmt-rtt = "0.3.0" panic-probe = { version = "0.3.0", features = ["print-defmt"] } nrf52840-hal = "0.14.1" nrf-smartled = { version = "0.5.0", features = ["52840"] } groundhog = "0.2.5" groundhog-nrf52 = "0.5.0" smart-leds = "0.3.0" smart-leds-trait = "0.2.1" usb-device = "0.2.8" usbd-serial = "0.1.1" byte-slab = "0.2.2" cassette = "0.2.3" embedded-hal = "0.2.6" nb = "1.0.0" [dependencies.heapless] version = "0.7.10" features = ["defmt-impl"] [dependencies.common] package = "mnemos-common" version = "0.1.0" path = "../common" features = ["use-defmt"] [dependencies.bbqueue] version = "0.5.1" features = ["defmt"] [dependencies.linked_list_allocator] version = "0.9.1" default-features = false [dependencies.serde] version = "1.0.136" default-features = false features = ["derive"] [dependencies.postcard] version = "0.7.3" [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 = 3 # <- 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`" }