diff --git a/src/lib.rs b/src/lib.rs index 9b79116..8b34265 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -16,7 +16,12 @@ fn panic() -> ! { } static COUNT: AtomicUsize = AtomicUsize::new(0); -defmt::timestamp!("{=usize}", COUNT.fetch_add(1, Ordering::Relaxed)); +defmt::timestamp!("{=usize}", { + // NOTE(no-CAS) `timestamps` runs with interrupts disabled + let n = COUNT.load(Ordering::Relaxed); + COUNT.store(n + 1, Ordering::Relaxed); + n +}); /// Terminates the application and makes `probe-run` exit with exit-code = 0 pub fn exit() -> ! {