Files
lora-card-reader/src/timer.rs
2026-03-30 15:32:51 +08:00

33 lines
663 B
Rust

use embassy_time::{Duration, Instant};
use lorawan_device::async_device::radio::Timer;
pub struct EmbassyTimer {
start: Instant,
}
impl EmbassyTimer {
pub fn new() -> Self {
Self { start: Instant::now() }
}
}
impl Default for EmbassyTimer {
fn default() -> Self {
Self::new()
}
}
impl Timer for EmbassyTimer {
fn reset(&mut self) {
self.start = Instant::now();
}
async fn at(&mut self, millis: u64) {
embassy_time::Timer::at(self.start + Duration::from_millis(millis)).await
}
async fn delay_ms(&mut self, millis: u64) {
embassy_time::Timer::after_millis(millis).await
}
}