mirror of
https://github.com/embassy-rs/embassy.git
synced 2024-11-25 00:02:28 +00:00
Merge pull request #1599 from ilikepi63/main
feature(1355): Add trigger to task, triggered + clear to Event
This commit is contained in:
commit
4feabb13bf
@ -137,6 +137,11 @@ impl Task {
|
||||
Self(ptr)
|
||||
}
|
||||
|
||||
/// Triggers this task.
|
||||
pub fn trigger(&mut self) {
|
||||
unsafe { self.0.as_ptr().write_volatile(1) };
|
||||
}
|
||||
|
||||
pub(crate) fn from_reg<T>(reg: &T) -> Self {
|
||||
Self(unsafe { NonNull::new_unchecked(reg as *const _ as *mut _) })
|
||||
}
|
||||
@ -173,6 +178,16 @@ impl Event {
|
||||
Self(unsafe { NonNull::new_unchecked(reg as *const _ as *mut _) })
|
||||
}
|
||||
|
||||
/// Describes whether this Event is currently in a triggered state.
|
||||
pub fn is_triggered(&self) -> bool {
|
||||
unsafe { self.0.as_ptr().read_volatile() == 1 }
|
||||
}
|
||||
|
||||
/// Clear the current register's triggered state, reverting it to 0.
|
||||
pub fn clear(&mut self) {
|
||||
unsafe { self.0.as_ptr().write_volatile(0) };
|
||||
}
|
||||
|
||||
/// Address of publish register for this event.
|
||||
#[cfg(feature = "_dppi")]
|
||||
pub fn publish_reg(&self) -> *mut u32 {
|
||||
|
Loading…
Reference in New Issue
Block a user