1#![no_std]
2pub mod signal;
3pub mod watch;
4
5use core::marker::PhantomData;
6use embassy_sync::blocking_mutex::raw::RawMutex;
7
8#[derive(Debug)]
19pub struct NoopSyncRawMutex {
20 _phantom: PhantomData<*mut ()>,
21}
22
23unsafe impl Send for NoopSyncRawMutex {}
24unsafe impl Sync for NoopSyncRawMutex {}
25
26impl NoopSyncRawMutex {
27 pub const fn new() -> Self {
29 Self {
30 _phantom: PhantomData,
31 }
32 }
33}
34
35unsafe impl RawMutex for NoopSyncRawMutex {
36 const INIT: Self = Self::new();
37 fn lock<R>(&self, f: impl FnOnce() -> R) -> R {
38 f()
39 }
40}