pub struct LinkedListTransfer<'a> { /* private fields */ }Expand description
Linked-list DMA transfer.
Implementations§
Source§impl<'a> LinkedListTransfer<'a>
impl<'a> LinkedListTransfer<'a>
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 trigger_overrun(&self) -> bool
pub fn trigger_overrun(&self) -> bool
Whether a trigger was lost because the previous one was still being served (TOF).
Sourcepub fn clear_trigger_overrun(&self)
pub fn clear_trigger_overrun(&self)
Clear the trigger overrun flag.
Sourcepub fn completed_items(&self) -> usize
pub fn completed_items(&self) -> usize
Items completed since the transfer started, wrapping.
Counted on transfer-complete interrupts: needs TransferOptions::complete_transfer_ir
and one per item, as linear items with TransferCompleteMode::EachBlock raise.
Sourcepub async fn wait_completed_items(&mut self, seen: usize) -> usize
pub async fn wait_completed_items(&mut self, seen: usize) -> usize
Wait until completed_items differs from seen or the transfer
stops. Returns the count.
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.