From 34b68a19f1dfd73d6b065ea3ffcce49dcd9520f0 Mon Sep 17 00:00:00 2001 From: Urhengulas Date: Mon, 22 Feb 2021 23:26:47 +0100 Subject: [PATCH] Get timestamp with interrupt disabled This makes `app-template` support more platforms (i.e. `thumbv6`). --- src/lib.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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() -> ! {