#![no_std]
pub mod signal;
pub mod watch;
use core::marker::PhantomData;
use embassy_sync::blocking_mutex::raw::RawMutex;
#[derive(Debug)]
pub struct NoopSyncRawMutex {
_phantom: PhantomData<*mut ()>,
}
unsafe impl Send for NoopSyncRawMutex {}
unsafe impl Sync for NoopSyncRawMutex {}
impl NoopSyncRawMutex {
pub const fn new() -> Self {
Self {
_phantom: PhantomData,
}
}
}
unsafe impl RawMutex for NoopSyncRawMutex {
const INIT: Self = Self::new();
fn lock<R>(&self, f: impl FnOnce() -> R) -> R {
f()
}
}