[package] name = "flipperzero" version.workspace = true description.workspace = true repository.workspace = true readme.workspace = true license.workspace = true edition.workspace = true rust-version.workspace = true autobins = false autotests = false autobenches = false [package.metadata.docs.rs] default-target = "thumbv7em-none-eabihf" targets = [] all-features = true [lib] bench = false harness = false [dependencies] flipperzero-sys.workspace = true flipperzero-test.workspace = true ufmt.workspace = true # HAL wrappers rand_core = "0.6" # Furi wrappers lock_api = "0.4" # Toolbox digest = "0.10" bitflags = "2.4" # Embedded-hal embedded-hal = { version = "1.0.0-rc.1", optional = true } embedded-hal-0 = { package = "embedded-hal", version = "0.2.7", features = ["unproven"], optional = true } # Docs document-features = { workspace = true, optional = true } [dev-dependencies] flipperzero-alloc.workspace = true flipperzero-rt.workspace = true # Toolbox crc32fast = { version = "1", default-features = false } # Not needed as for now since the corresponsing APIs have been made private in flipperzero-firmware #md-5 = { version = "0.10", default-features = false } #sha2 = { version = "0.10", default-features = false } [features] #! ## Core features ## Enables features requiring an allocator. ## ## This will require you to set the global allocator ## by importing the `flipperzero_alloc`: ## ## ``` ## extern crate alloc; ## extern crate flipperzero_alloc; ## ``` alloc = [] [[test]] name = "dolphin" harness = false [[test]] name = "string" harness = false [[example]] name = "dialog" required-features = ["alloc"] [[example]] name = "stream_buffer" required-features = ["alloc"] [[example]] name = "threads" required-features = ["alloc"]