pub struct LinkedListTransfer<'a, const ITEM_COUNT: usize> { /* private fields */ }Expand description
Linked-list DMA transfer.
Implementations§
Source§impl<'a, const ITEM_COUNT: usize> LinkedListTransfer<'a, ITEM_COUNT>
impl<'a, const ITEM_COUNT: usize> LinkedListTransfer<'a, ITEM_COUNT>
Sourcepub unsafe fn new_linked_list<const N: usize>(
channel: Peri<'a, impl Channel>,
table: Table<ITEM_COUNT>,
options: TransferOptions,
) -> Self
pub unsafe fn new_linked_list<const N: usize>( channel: Peri<'a, impl Channel>, table: Table<ITEM_COUNT>, options: TransferOptions, ) -> Self
Create a new linked-list transfer.
Sourcepub fn request_pause(&mut self)
pub fn request_pause(&mut self)
Request the transfer to pause, keeping the existing configuration for this channel.
To resume the transfer, call request_resume again.
This doesn’t immediately stop the transfer, you have to wait until is_running returns false.
Sourcepub fn request_resume(&mut self)
pub fn request_resume(&mut self)
Request the transfer to resume after having been paused.
Sourcepub fn request_reset(&mut self)
pub fn request_reset(&mut self)
Request the DMA to reset.
The configuration for this channel will not be preserved. If you need to restart the transfer
at a later point with the same configuration, see request_pause instead.
Sourcepub fn is_running(&mut self) -> bool
pub fn is_running(&mut self) -> bool
Return whether this transfer is still running.
If this returns false, it can be because either the transfer finished, or
it was requested to stop early with request_pause.
Sourcepub fn get_remaining_transfers(&self) -> u16
pub fn get_remaining_transfers(&self) -> u16
Gets the total remaining transfers for the channel Note: this will be zero for transfers that completed without cancellation.
Sourcepub fn blocking_wait(self)
pub fn blocking_wait(self)
Blocking wait until the transfer finishes.