1[package]
2authors = [ "The Knurling-rs developers" ]
3categories = [
4 "embedded",
5 "no-std",
6 "development-tools::debugging",
7 "value-formatting",
8]
9description = "A highly efficient logging framework that targets resource-constrained devices, like microcontrollers"
10edition = "2021"
11keywords = [ "knurling", "logging", "logger", "formatting", "formatter" ]
12license = "MIT OR Apache-2.0"
13name = "defmt"
14readme = "README.md"
15repository = "https://github.com/knurling-rs/defmt"
16homepage = "https://knurling.ferrous-systems.com/"
17version = "0.3.100"
18
19[dependencies]
20defmt10 = { package = "defmt", version = "1", path = "../defmt" }
21
22[features]
23alloc = ["defmt10/alloc"]
24avoid-default-panic = ["defmt10/avoid-default-panic"]
25ip_in_core = ["defmt10/ip_in_core"]
26
27# Encoding feature flags. These should only be set by end-user crates, not by library crates.
28#
29# If no encoding is selected, `defmt` will assume the encoding is "don't care" and
30# will pick a default one. The current default is `encoding-rzcobs`. The default may change
31# in minor releases, changing it is not considered a breaking change since all encodings
32# are guaranteed to be supported by the corresponding `defmt-decoder` version.
33
34# Raw encoding: All log frames are concatenated and sent over the wire with no framing or compression.
35# This is the fastest CPU-wise, but may end up being slower if the limiting factor is wire speed.
36encoding-raw = ["defmt10/encoding-raw"]
37
38# rzCOBS encoding: Performs framing on the log frames using reverse-COBS, additionally applying a
39# light compression for data known to contain many zero bytes, like defmt streams.
40# The framing allows the decoder to recover from missing or corrupted data, and start decoding
41# in the middle of a stream, for example when attaching to an already-running device.
42encoding-rzcobs = ["defmt10/encoding-rzcobs"]
43
44# WARNING: for internal use only, not covered by semver guarantees
45unstable-test = [ "defmt10/unstable-test" ]
46
47[package.metadata.docs.rs]
48features = [ "alloc" ]
49rustdoc-args = [ "--cfg=docsrs" ]
50targets = [ "thumbv6m-none-eabi", "thumbv7em-none-eabihf" ]
51