feature(1355): Add trigger to task, triggered + clear to Event

This commit is contained in:
Cameron 2023-06-29 17:11:36 +02:00
parent fa2cda81db
commit 2aa2b843ce

View File

@ -137,6 +137,11 @@ impl Task {
Self(ptr)
}
// Triggers this task.
pub unsafe fn trigger(&mut self) {
self.0.write(|w| unsafe { w.bits(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 unsafe fn is_triggered(&self) -> bool {
self.0.read().bits() == 1
}
// Clear the current register's triggered state, reverting it to 0.
pub unsafe fn clear(&mut self) {
self.0.write(|w| unsafe { w.bits(0) });
}
/// Address of publish register for this event.
#[cfg(feature = "_dppi")]
pub fn publish_reg(&self) -> *mut u32 {