embedded_counters/
delay.rs1use std::fmt::Display;
2
3use embedded_hal::blocking::delay::*;
4
5use serde::Serialize;
6
7#[derive(Debug, Default, Serialize)]
8pub struct DelayCounter {
9 pub delays: u64,
10}
11
12impl DelayUs<u32> for DelayCounter {
13 fn delay_us(&mut self, delay: u32) {
14 self.delays += u64::from(delay);
15 }
16}
17
18impl DelayMs<u32> for DelayCounter {
19 fn delay_ms(&mut self, delay: u32) {
20 self.delays += u64::from(delay) * 1000u64;
21 }
22}
23
24impl Display for DelayCounter {
25 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
26 write!(f, "Delays: {}us", self.delays)
27 }
28}