[package] authors = [ "The Knurling-rs developers" ] categories = [ "embedded", "no-std", "development-tools::debugging", "value-formatting", ] description = "A highly efficient logging framework that targets resource-constrained devices, like microcontrollers" edition = "2021" keywords = [ "knurling", "logging", "logger", "formatting", "formatter" ] license = "MIT OR Apache-2.0" links = "defmt" # Prevent multiple versions of defmt being linked name = "defmt" readme = "../README.md" repository = "https://github.com/knurling-rs/defmt" homepage = "https://knurling.ferrous-systems.com/" version = "0.3.8" [features] alloc = [] avoid-default-panic = [] ip_in_core = [] # Encoding feature flags. These should only be set by end-user crates, not by library crates. # # If no encoding is selected, `defmt` will assume the encoding is "don't care" and # will pick a default one. The current default is `encoding-rzcobs`. The default may change # in minor releases, changing it is not considered a breaking change since all encodings # are guaranteed to be supported by the corresponding `defmt-decoder` version. # Raw encoding: All log frames are concatenated and sent over the wire with no framing or compression. # This is the fastest CPU-wise, but may end up being slower if the limiting factor is wire speed. encoding-raw = [] # rzCOBS encoding: Performs framing on the log frames using reverse-COBS, additionally applying a # light compression for data known to contain many zero bytes, like defmt streams. # The framing allows the decoder to recover from missing or corrupted data, and start decoding # in the middle of a stream, for example when attaching to an already-running device. encoding-rzcobs = [] # WARNING: for internal use only, not covered by semver guarantees unstable-test = [ "defmt-macros/unstable-test" ] [dependencies] defmt-macros = { path = "../macros", version = "0.3.2" } bitflags = "1" [dev-dependencies] rustc_version = "0.4" trybuild = "1" [package.metadata.docs.rs] features = [ "alloc" ] rustdoc-args = [ "--cfg=docsrs" ] targets = [ "thumbv6m-none-eabi", "thumbv7em-none-eabihf" ]