pub struct Ppi<'d, C: Channel, const EVENT_COUNT: usize, const TASK_COUNT: usize> { /* private fields */ }Expand description
PPI channel driver.
Implementations§
Source§impl<'d, C: ConfigurableChannel> Ppi<'d, C, 1, 1>
impl<'d, C: ConfigurableChannel> Ppi<'d, C, 1, 1>
Sourcepub fn new_one_to_one(ch: Peri<'d, C>, event: Event<'d>, task: Task<'d>) -> Self
pub fn new_one_to_one(ch: Peri<'d, C>, event: Event<'d>, task: Task<'d>) -> Self
Configure PPI channel to trigger task on event.
Source§impl<'d, C: ConfigurableChannel> Ppi<'d, C, 1, 2>
impl<'d, C: ConfigurableChannel> Ppi<'d, C, 1, 2>
Source§impl<'d, C: ConfigurableChannel, const EVENT_COUNT: usize, const TASK_COUNT: usize> Ppi<'d, C, EVENT_COUNT, TASK_COUNT>
impl<'d, C: ConfigurableChannel, const EVENT_COUNT: usize, const TASK_COUNT: usize> Ppi<'d, C, EVENT_COUNT, TASK_COUNT>
Sourcepub fn new_many_to_many(
ch: Peri<'d, C>,
events: [Event<'d>; EVENT_COUNT],
tasks: [Task<'d>; TASK_COUNT],
) -> Self
pub fn new_many_to_many( ch: Peri<'d, C>, events: [Event<'d>; EVENT_COUNT], tasks: [Task<'d>; TASK_COUNT], ) -> Self
Configure a DPPI channel to trigger all tasks when any of the events fires.
Source§impl<'d, C: Channel, const EVENT_COUNT: usize, const TASK_COUNT: usize> Ppi<'d, C, EVENT_COUNT, TASK_COUNT>
impl<'d, C: Channel, const EVENT_COUNT: usize, const TASK_COUNT: usize> Ppi<'d, C, EVENT_COUNT, TASK_COUNT>
Source§impl<C: Channel, const EVENT_COUNT: usize, const TASK_COUNT: usize> Ppi<'static, C, EVENT_COUNT, TASK_COUNT>
impl<C: Channel, const EVENT_COUNT: usize, const TASK_COUNT: usize> Ppi<'static, C, EVENT_COUNT, TASK_COUNT>
Sourcepub fn persist(self)
pub fn persist(self)
Persist the channel’s configuration for the rest of the program’s lifetime. This method
should be preferred over core::mem::forget() because the 'static bound prevents
accidental reuse of the underlying peripheral.
Trait Implementations§
Auto Trait Implementations§
impl<'d, C, const EVENT_COUNT: usize, const TASK_COUNT: usize> !Sync for Ppi<'d, C, EVENT_COUNT, TASK_COUNT>
impl<'d, C, const EVENT_COUNT: usize, const TASK_COUNT: usize> !UnwindSafe for Ppi<'d, C, EVENT_COUNT, TASK_COUNT>
impl<'d, C, const EVENT_COUNT: usize, const TASK_COUNT: usize> Freeze for Ppi<'d, C, EVENT_COUNT, TASK_COUNT>
impl<'d, C, const EVENT_COUNT: usize, const TASK_COUNT: usize> RefUnwindSafe for Ppi<'d, C, EVENT_COUNT, TASK_COUNT>where
Peri<'d, C>: RefUnwindSafe,
[Event<'d>; EVENT_COUNT]: RefUnwindSafe,
[Task<'d>; TASK_COUNT]: RefUnwindSafe,
impl<'d, C, const EVENT_COUNT: usize, const TASK_COUNT: usize> Send for Ppi<'d, C, EVENT_COUNT, TASK_COUNT>
impl<'d, C, const EVENT_COUNT: usize, const TASK_COUNT: usize> Unpin for Ppi<'d, C, EVENT_COUNT, TASK_COUNT>
impl<'d, C, const EVENT_COUNT: usize, const TASK_COUNT: usize> UnsafeUnpin for Ppi<'d, C, EVENT_COUNT, TASK_COUNT>where
Peri<'d, C>: UnsafeUnpin,
[Event<'d>; EVENT_COUNT]: UnsafeUnpin,
[Task<'d>; TASK_COUNT]: UnsafeUnpin,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more