defmt icon indicating copy to clipboard operation
defmt copied to clipboard

Efficient, deferred formatting for logging on embedded systems

Results 111 defmt issues
Sort by recently updated
recently updated
newest added

This is a breaking change, because 1.0 no longer supplies any critical section implementation by default. The user has to opt-in to one instead (for example, by enabling the `critical-section-single-core`...

breaking change

defmt needs to generate symbol names that are unique per macro invocation, even when the macro arguments are identical. We don't want to generate a random number to keep builds...

type: enhancement
priority: low
difficulty: easy
status: blocked

Currently defmt only works in ELF targets, and requires a custom linker script. Is supporting non-embedded targets in the radar? - Targets that don't use ELF: **Windows, iOS, MacOS** -...

type: enhancement
priority: low
status: needs design
difficulty: hard

Basically, `defmt::info!("{x}");` should be equivalent to `defmt::info!("{x}", x = x);`. The upstream feature is: https://github.com/rust-lang/rust/issues/67984

type: enhancement

This is likely similar to #411 I have a reproducible case (only affects Windows). - Nightly (cargo 1.63.0-nightly (a4c1cd0eb 2022-05-18)) - https://github.com/kiibohd/kiibohd-core/tree/main/kll-core (exact hash https://github.com/kiibohd/kiibohd-core/tree/528672a0f7f255eb95cda7fd5423cfc553fa959e) - cargo run works -...

type: bug

I'm coming back to using defmt/embedded after a relatively long break and am noticing some deficiencies in our docs, which I'll collect here. - `#[global_logger]` docs should mention/link to the...

type: documentation

I ran into a surprise using the `:a` hint when using it with single characters, they print as decimal: ```rust let v:u8 = 97; // 'a' let bytes = [104,...

type: enhancement
status: needs PR
difficulty: medium

While defmt is shaping up great for embedded logging, the nice thing about the normal `log` macros is that they can be used in code that's used both in embedded...

type: enhancement
priority: low
status: needs design
difficulty: hard

Support some kind of benchmarking. I'm imaging something as simple as running a monotonic timer, which starts at function entry and stops at function exit and then in the test...

type: enhancement
status: needs PR

## STR Start from the app-template (defmt v0.2.0) and modify `src/bin/hello.rs`: ``` rust fn main() -> ! { defmt::unwrap!(cortex_m::Peripherals::take()); defmt::unwrap!(cortex_m::Peripherals::take()); app::exit() } ``` ``` console $ cargo add cortex-m #...

type: bug
priority: medium
difficulty: easy