pub struct ParlIoTxTransfer<'d, BUF: DmaTxBuffer, Dm: DriverMode> { /* private fields */ }Expand description
Represents an ongoing (or potentially finished) transfer using the PARL_IO TX.
Implementations§
Source§impl<BUF: DmaTxBuffer> ParlIoTxTransfer<'_, BUF, Async>
impl<BUF: DmaTxBuffer> ParlIoTxTransfer<'_, BUF, Async>
Sourcepub async fn wait_for_done(&mut self)
pub async fn wait_for_done(&mut self)
Waits for Self::is_done to return true.
§Cancellation Safety
This method is cancellation safe. Dropping the future does not stop the transfer, and this method can be called again to wait for completion.
Source§impl<'d, BUF: DmaTxBuffer, Dm: DriverMode> ParlIoTxTransfer<'d, BUF, Dm>
impl<'d, BUF: DmaTxBuffer, Dm: DriverMode> ParlIoTxTransfer<'d, BUF, Dm>
Source§impl<'d, BUF> ParlIoTxTransfer<'d, BUF, Blocking>where
BUF: DmaTxBuffer,
Interrupt management for an ongoing transfer.
impl<'d, BUF> ParlIoTxTransfer<'d, BUF, Blocking>where
BUF: DmaTxBuffer,
Interrupt management for an ongoing transfer.
The driver itself has been consumed by ParlIoTx::write, so these
methods take &self and allow an interrupt handler to manage the
interrupt sources through the transfer object.
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Sourcepub fn listen(&self, interrupts: impl Into<EnumSet<ParlIoTxInterrupt>>)
pub fn listen(&self, interrupts: impl Into<EnumSet<ParlIoTxInterrupt>>)
Listens for the given PARL_IO TX interrupt sources.
Sourcepub fn unlisten(&self, interrupts: impl Into<EnumSet<ParlIoTxInterrupt>>)
pub fn unlisten(&self, interrupts: impl Into<EnumSet<ParlIoTxInterrupt>>)
Stops listening for the given PARL_IO TX interrupt sources.
Sourcepub fn interrupts(&self) -> EnumSet<ParlIoTxInterrupt>
pub fn interrupts(&self) -> EnumSet<ParlIoTxInterrupt>
Returns the asserted PARL_IO TX interrupt sources.
Sourcepub fn clear_interrupts(
&self,
interrupts: impl Into<EnumSet<ParlIoTxInterrupt>>,
)
pub fn clear_interrupts( &self, interrupts: impl Into<EnumSet<ParlIoTxInterrupt>>, )
Clears the interrupt flags of the given PARL_IO TX interrupt sources.
Sourcepub fn listen_dma(&self, interrupts: impl Into<EnumSet<DmaTxInterrupt>>)
pub fn listen_dma(&self, interrupts: impl Into<EnumSet<DmaTxInterrupt>>)
Listens for the given DMA TX interrupt sources.
A handler must have been registered via
ParlIoTx::set_dma_interrupt_handler before the transfer was
started.
Sourcepub fn unlisten_dma(&self, interrupts: impl Into<EnumSet<DmaTxInterrupt>>)
pub fn unlisten_dma(&self, interrupts: impl Into<EnumSet<DmaTxInterrupt>>)
Stops listening for the given DMA TX interrupt sources.
Sourcepub fn interrupts_dma(&self) -> EnumSet<DmaTxInterrupt>
pub fn interrupts_dma(&self) -> EnumSet<DmaTxInterrupt>
Returns the asserted DMA TX interrupt sources.
Sourcepub fn clear_interrupts_dma(
&self,
interrupts: impl Into<EnumSet<DmaTxInterrupt>>,
)
pub fn clear_interrupts_dma( &self, interrupts: impl Into<EnumSet<DmaTxInterrupt>>, )
Clears the given asserted DMA TX interrupt sources.
Trait Implementations§
Source§impl<BUF: DmaTxBuffer, Dm: DriverMode> Deref for ParlIoTxTransfer<'_, BUF, Dm>
Available on crate feature unstable only.
impl<BUF: DmaTxBuffer, Dm: DriverMode> Deref for ParlIoTxTransfer<'_, BUF, Dm>
unstable only.Source§impl<BUF: DmaTxBuffer, Dm: DriverMode> DerefMut for ParlIoTxTransfer<'_, BUF, Dm>
Available on crate feature unstable only.
impl<BUF: DmaTxBuffer, Dm: DriverMode> DerefMut for ParlIoTxTransfer<'_, BUF, Dm>
unstable only.Source§impl<BUF: DmaTxBuffer, Dm: DriverMode> Drop for ParlIoTxTransfer<'_, BUF, Dm>
Available on crate feature unstable only.
impl<BUF: DmaTxBuffer, Dm: DriverMode> Drop for ParlIoTxTransfer<'_, BUF, Dm>
unstable only.Auto Trait Implementations§
impl<'d, BUF, Dm> !RefUnwindSafe for ParlIoTxTransfer<'d, BUF, Dm>
impl<'d, BUF, Dm> !UnwindSafe for ParlIoTxTransfer<'d, BUF, Dm>
impl<'d, BUF, Dm> Freeze for ParlIoTxTransfer<'d, BUF, Dm>
impl<'d, BUF, Dm> Send for ParlIoTxTransfer<'d, BUF, Dm>
impl<'d, BUF, Dm> Sync for ParlIoTxTransfer<'d, BUF, Dm>
impl<'d, BUF, Dm> Unpin for ParlIoTxTransfer<'d, BUF, Dm>
impl<'d, BUF, Dm> UnsafeUnpin for ParlIoTxTransfer<'d, BUF, Dm>where
ManuallyDrop<ParlIoTx<'d, Dm>>: UnsafeUnpin,
ManuallyDrop<<BUF as DmaTxBuffer>::View>: UnsafeUnpin,
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<T> CryptoRng for Twhere
T: DerefMut,
<T as Deref>::Target: CryptoRng,
impl<R> CryptoRng for Rwhere
R: TryCryptoRng<Error = !> + ?Sized,
§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
§impl<P, T> Receiver for Pwhere
P: Deref<Target = T> + ?Sized,
T: ?Sized,
impl<P, T> Receiver for Pwhere
P: Deref<Target = T> + ?Sized,
T: ?Sized,
impl<R> RngCore for Rwhere
R: Rng,
impl<R> TryCryptoRng for Rwhere
R: CryptoRng + ?Sized,
impl<R> TryCryptoRng for Rwhere
R: DerefMut,
<R as Deref>::Target: TryCryptoRng,
§impl<T, U> TryFrom<U> for Twhere
U: Into<T>,
impl<T, U> TryFrom<U> for Twhere
U: Into<T>,
§impl<T, U> TryInto<U> for Twhere
U: TryFrom<T>,
impl<T, U> TryInto<U> for Twhere
U: TryFrom<T>,
Source§impl<R> TryRng for Rwhere
R: DerefMut,
<R as Deref>::Target: TryRng,
impl<R> TryRng for Rwhere
R: DerefMut,
<R as Deref>::Target: TryRng,
Source§type Error = <<R as Deref>::Target as TryRng>::Error
type Error = <<R as Deref>::Target as TryRng>::Error
Source§fn try_next_u32(&mut self) -> Result<u32, <R as TryRng>::Error>
fn try_next_u32(&mut self) -> Result<u32, <R as TryRng>::Error>
u32.Source§fn try_next_u64(&mut self) -> Result<u64, <R as TryRng>::Error>
fn try_next_u64(&mut self) -> Result<u64, <R as TryRng>::Error>
u64.Source§fn try_fill_bytes(&mut self, dst: &mut [u8]) -> Result<(), <R as TryRng>::Error>
fn try_fill_bytes(&mut self, dst: &mut [u8]) -> Result<(), <R as TryRng>::Error>
dst entirely with random data.Source§impl<R> TryRngCore for Rwhere
R: RngCore + ?Sized,
impl<R> TryRngCore for Rwhere
R: RngCore + ?Sized,
Source§fn try_next_u32(&mut self) -> Result<u32, <R as TryRngCore>::Error>
fn try_next_u32(&mut self) -> Result<u32, <R as TryRngCore>::Error>
u32.Source§fn try_next_u64(&mut self) -> Result<u64, <R as TryRngCore>::Error>
fn try_next_u64(&mut self) -> Result<u64, <R as TryRngCore>::Error>
u64.Source§fn try_fill_bytes(
&mut self,
dst: &mut [u8],
) -> Result<(), <R as TryRngCore>::Error>
fn try_fill_bytes( &mut self, dst: &mut [u8], ) -> Result<(), <R as TryRngCore>::Error>
dest entirely with random data.Source§fn unwrap_err(self) -> UnwrapErr<Self>where
Self: Sized,
fn unwrap_err(self) -> UnwrapErr<Self>where
Self: Sized,
UnwrapErr wrapper.Source§fn unwrap_mut(&mut self) -> UnwrapMut<'_, Self>
fn unwrap_mut(&mut self) -> UnwrapMut<'_, Self>
UnwrapMut wrapper.