pub struct ParlIoRxTransfer<'d, BUF: DmaRxBuffer, Dm: DriverMode> { /* private fields */ }Expand description
Represents an ongoing (or potentially finished) transfer using the PARL_IO RX.
Implementations§
Source§impl<BUF: DmaRxBuffer> ParlIoRxTransfer<'_, BUF, Async>
impl<BUF: DmaRxBuffer> ParlIoRxTransfer<'_, 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: DmaRxBuffer, Dm: DriverMode> ParlIoRxTransfer<'d, BUF, Dm>
impl<'d, BUF: DmaRxBuffer, Dm: DriverMode> ParlIoRxTransfer<'d, BUF, Dm>
Source§impl<'d, BUF> ParlIoRxTransfer<'d, BUF, Blocking>where
BUF: DmaRxBuffer,
Interrupt management for an ongoing RX transfer.
impl<'d, BUF> ParlIoRxTransfer<'d, BUF, Blocking>where
BUF: DmaRxBuffer,
Interrupt management for an ongoing RX transfer.
The driver itself has been consumed by ParlIoRx::read, 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<ParlIoRxInterrupt>>)
pub fn listen(&self, interrupts: impl Into<EnumSet<ParlIoRxInterrupt>>)
Listens for the given PARL_IO RX interrupt sources.
Sourcepub fn unlisten(&self, interrupts: impl Into<EnumSet<ParlIoRxInterrupt>>)
pub fn unlisten(&self, interrupts: impl Into<EnumSet<ParlIoRxInterrupt>>)
Stops listening for the given PARL_IO RX interrupt sources.
Sourcepub fn interrupts(&self) -> EnumSet<ParlIoRxInterrupt>
pub fn interrupts(&self) -> EnumSet<ParlIoRxInterrupt>
Returns the asserted PARL_IO RX interrupt sources.
Sourcepub fn clear_interrupts(
&self,
interrupts: impl Into<EnumSet<ParlIoRxInterrupt>>,
)
pub fn clear_interrupts( &self, interrupts: impl Into<EnumSet<ParlIoRxInterrupt>>, )
Clears the interrupt flags of the given PARL_IO RX interrupt sources.
Sourcepub fn listen_dma(&self, interrupts: impl Into<EnumSet<DmaRxInterrupt>>)
pub fn listen_dma(&self, interrupts: impl Into<EnumSet<DmaRxInterrupt>>)
Listens for the given DMA RX interrupt sources.
A handler must have been registered via
ParlIoRx::set_dma_interrupt_handler before the transfer was
started.
Sourcepub fn unlisten_dma(&self, interrupts: impl Into<EnumSet<DmaRxInterrupt>>)
pub fn unlisten_dma(&self, interrupts: impl Into<EnumSet<DmaRxInterrupt>>)
Stops listening for the given DMA RX interrupt sources.
Sourcepub fn interrupts_dma(&self) -> EnumSet<DmaRxInterrupt>
pub fn interrupts_dma(&self) -> EnumSet<DmaRxInterrupt>
Returns the asserted DMA RX interrupt sources.
Sourcepub fn clear_interrupts_dma(
&self,
interrupts: impl Into<EnumSet<DmaRxInterrupt>>,
)
pub fn clear_interrupts_dma( &self, interrupts: impl Into<EnumSet<DmaRxInterrupt>>, )
Clears the given asserted DMA RX interrupt sources.
Trait Implementations§
Source§impl<BUF: DmaRxBuffer, Dm: DriverMode> Deref for ParlIoRxTransfer<'_, BUF, Dm>
Available on crate feature unstable only.
impl<BUF: DmaRxBuffer, Dm: DriverMode> Deref for ParlIoRxTransfer<'_, BUF, Dm>
unstable only.Source§impl<BUF: DmaRxBuffer, Dm: DriverMode> DerefMut for ParlIoRxTransfer<'_, BUF, Dm>
Available on crate feature unstable only.
impl<BUF: DmaRxBuffer, Dm: DriverMode> DerefMut for ParlIoRxTransfer<'_, BUF, Dm>
unstable only.Source§impl<BUF: DmaRxBuffer, Dm: DriverMode> Drop for ParlIoRxTransfer<'_, BUF, Dm>
Available on crate feature unstable only.
impl<BUF: DmaRxBuffer, Dm: DriverMode> Drop for ParlIoRxTransfer<'_, BUF, Dm>
unstable only.Auto Trait Implementations§
impl<'d, BUF, Dm> !RefUnwindSafe for ParlIoRxTransfer<'d, BUF, Dm>
impl<'d, BUF, Dm> !UnwindSafe for ParlIoRxTransfer<'d, BUF, Dm>
impl<'d, BUF, Dm> Freeze for ParlIoRxTransfer<'d, BUF, Dm>
impl<'d, BUF, Dm> Send for ParlIoRxTransfer<'d, BUF, Dm>
impl<'d, BUF, Dm> Sync for ParlIoRxTransfer<'d, BUF, Dm>
impl<'d, BUF, Dm> Unpin for ParlIoRxTransfer<'d, BUF, Dm>
impl<'d, BUF, Dm> UnsafeUnpin for ParlIoRxTransfer<'d, BUF, Dm>where
ManuallyDrop<ParlIoRx<'d, Dm>>: UnsafeUnpin,
ManuallyDrop<<BUF as DmaRxBuffer>::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.