defmt
defmt copied to clipboard
Efficient, deferred formatting for logging on embedded systems
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`...
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...
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** -...
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
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 -...
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...
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,...
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...
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...
## 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 #...