diff options
| -rw-r--r-- | embassy-nrf/src/ppi/mod.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/embassy-nrf/src/ppi/mod.rs b/embassy-nrf/src/ppi/mod.rs index 7c18da6ee..ba95849e8 100644 --- a/embassy-nrf/src/ppi/mod.rs +++ b/embassy-nrf/src/ppi/mod.rs | |||
| @@ -137,6 +137,11 @@ impl Task { | |||
| 137 | Self(ptr) | 137 | Self(ptr) |
| 138 | } | 138 | } |
| 139 | 139 | ||
| 140 | // Triggers this task. | ||
| 141 | pub unsafe fn trigger(&mut self) { | ||
| 142 | self.0.write(|w| unsafe { w.bits(1) }); | ||
| 143 | } | ||
| 144 | |||
| 140 | pub(crate) fn from_reg<T>(reg: &T) -> Self { | 145 | pub(crate) fn from_reg<T>(reg: &T) -> Self { |
| 141 | Self(unsafe { NonNull::new_unchecked(reg as *const _ as *mut _) }) | 146 | Self(unsafe { NonNull::new_unchecked(reg as *const _ as *mut _) }) |
| 142 | } | 147 | } |
| @@ -173,6 +178,16 @@ impl Event { | |||
| 173 | Self(unsafe { NonNull::new_unchecked(reg as *const _ as *mut _) }) | 178 | Self(unsafe { NonNull::new_unchecked(reg as *const _ as *mut _) }) |
| 174 | } | 179 | } |
| 175 | 180 | ||
| 181 | // Describes whether this Event is currently in a triggered state. | ||
| 182 | pub unsafe fn is_triggered(&self) -> bool { | ||
| 183 | self.0.read().bits() == 1 | ||
| 184 | } | ||
| 185 | |||
| 186 | // Clear the current register's triggered state, reverting it to 0. | ||
| 187 | pub unsafe fn clear(&mut self) { | ||
| 188 | self.0.write(|w| unsafe { w.bits(0) }); | ||
| 189 | } | ||
| 190 | |||
| 176 | /// Address of publish register for this event. | 191 | /// Address of publish register for this event. |
| 177 | #[cfg(feature = "_dppi")] | 192 | #[cfg(feature = "_dppi")] |
| 178 | pub fn publish_reg(&self) -> *mut u32 { | 193 | pub fn publish_reg(&self) -> *mut u32 { |
