#![macro_use] use core::sync::atomic::{AtomicUsize, Ordering}; pub use defmt::*; #[allow(unused)] use embassy_stm32::time::Hertz; use embassy_stm32::Config; use {defmt_rtt as _, panic_probe as _}; defmt::timestamp! {"{=u64}", { static COUNT: AtomicUsize = AtomicUsize::new(0); // NOTE(no-CAS) `timestamps` runs with interrupts disabled let n = COUNT.load(Ordering::Relaxed); COUNT.store(n + 1, Ordering::Relaxed); n as u64 } } pub fn config() -> Config { #[allow(unused_mut)] let mut config = Config::default(); #[cfg(feature = "stm32h755zi")] { config.rcc.sys_ck = Some(Hertz(400_000_000)); config.rcc.pll1.q_ck = Some(Hertz(100_000_000)); } config }