diff options
Diffstat (limited to 'examples/src/example_common.rs')
| -rw-r--r-- | examples/src/example_common.rs | 51 |
1 files changed, 1 insertions, 50 deletions
diff --git a/examples/src/example_common.rs b/examples/src/example_common.rs index 65bfe6bb1..1a12fa69a 100644 --- a/examples/src/example_common.rs +++ b/examples/src/example_common.rs | |||
| @@ -4,7 +4,7 @@ use defmt_rtt as _; // global logger | |||
| 4 | use nrf52840_hal as _; | 4 | use nrf52840_hal as _; |
| 5 | use panic_probe as _; | 5 | use panic_probe as _; |
| 6 | 6 | ||
| 7 | pub use defmt::{info, intern}; | 7 | pub use anyfmt::*; |
| 8 | 8 | ||
| 9 | use core::sync::atomic::{AtomicUsize, Ordering}; | 9 | use core::sync::atomic::{AtomicUsize, Ordering}; |
| 10 | 10 | ||
| @@ -16,52 +16,3 @@ fn timestamp() -> u64 { | |||
| 16 | COUNT.store(n + 1, Ordering::Relaxed); | 16 | COUNT.store(n + 1, Ordering::Relaxed); |
| 17 | n as u64 | 17 | n as u64 |
| 18 | } | 18 | } |
| 19 | |||
| 20 | macro_rules! depanic { | ||
| 21 | ($( $i:expr ),*) => { | ||
| 22 | { | ||
| 23 | defmt::error!($( $i ),*); | ||
| 24 | panic!(); | ||
| 25 | } | ||
| 26 | } | ||
| 27 | } | ||
| 28 | |||
| 29 | pub trait Dewrap<T> { | ||
| 30 | /// dewrap = defmt unwrap | ||
| 31 | fn dewrap(self) -> T; | ||
| 32 | |||
| 33 | /// dexpect = defmt expect | ||
| 34 | fn dexpect<M: defmt::Format>(self, msg: M) -> T; | ||
| 35 | } | ||
| 36 | |||
| 37 | impl<T> Dewrap<T> for Option<T> { | ||
| 38 | fn dewrap(self) -> T { | ||
| 39 | match self { | ||
| 40 | Some(t) => t, | ||
| 41 | None => depanic!("Dewrap failed: enum is none"), | ||
| 42 | } | ||
| 43 | } | ||
| 44 | |||
| 45 | fn dexpect<M: defmt::Format>(self, msg: M) -> T { | ||
| 46 | match self { | ||
| 47 | Some(t) => t, | ||
| 48 | None => depanic!("Unexpected None: {:?}", msg), | ||
| 49 | } | ||
| 50 | } | ||
| 51 | } | ||
| 52 | |||
| 53 | impl<T, E: defmt::Format> Dewrap<T> for Result<T, E> { | ||
| 54 | fn dewrap(self) -> T { | ||
| 55 | match self { | ||
| 56 | Ok(t) => t, | ||
| 57 | Err(e) => depanic!("Dewrap failed: {:?}", e), | ||
| 58 | } | ||
| 59 | } | ||
| 60 | |||
| 61 | fn dexpect<M: defmt::Format>(self, msg: M) -> T { | ||
| 62 | match self { | ||
| 63 | Ok(t) => t, | ||
| 64 | Err(e) => depanic!("Unexpected error: {:?}: {:?}", msg, e), | ||
| 65 | } | ||
| 66 | } | ||
| 67 | } | ||
