pub struct DpiTransfer<'d, BUF: DmaTxBuffer, Dm: DriverMode> { /* private fields */ }Expand description
Represents an ongoing (or potentially finished) transfer using the RGB LCD interface
Implementations§
Source§impl<'d, BUF: DmaTxBuffer, Dm: DriverMode> DpiTransfer<'d, BUF, Dm>
impl<'d, BUF: DmaTxBuffer, Dm: DriverMode> DpiTransfer<'d, BUF, Dm>
Sourcepub fn interrupts(&self) -> EnumSet<DpiInterrupt>
Available on crate feature unstable only.
pub fn interrupts(&self) -> EnumSet<DpiInterrupt>
unstable only.Returns the asserted LCD interrupt sources for this transfer.
Each source is a latched flag, so repeated events before clearing are reported as one. This reads raw status and does not require interrupt listening to be enabled.
§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 clear_interrupts(&self, interrupts: impl Into<EnumSet<DpiInterrupt>>)
Available on crate feature unstable only.
pub fn clear_interrupts(&self, interrupts: impl Into<EnumSet<DpiInterrupt>>)
unstable only.Clears the selected LCD interrupt sources.
§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 is_done(&self) -> bool
pub fn is_done(&self) -> bool
Returns whether Self::wait will not block.
Source§impl<BUF: DmaTxBuffer> DpiTransfer<'_, BUF, Blocking>
impl<BUF: DmaTxBuffer> DpiTransfer<'_, BUF, Blocking>
Sourcepub fn wait_for_vsync(&mut self)
Available on crate feature unstable only.
pub fn wait_for_vsync(&mut self)
unstable only.Waits for a pending LCD VSYNC event and clears it.
If a VSYNC event is already pending, this returns immediately. The
transfer must remain active for another VSYNC to occur. Clear
DpiInterrupt::Vsync with Self::clear_interrupts first to wait for
a fresh event.
§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.
Source§impl<BUF: DmaTxBuffer> DpiTransfer<'_, BUF, Async>
impl<BUF: DmaTxBuffer> DpiTransfer<'_, BUF, Async>
Sourcepub async fn wait_for_vsync(&mut self)
Available on crate feature unstable only.
pub async fn wait_for_vsync(&mut self)
unstable only.Waits for the next pending LCD VSYNC event and clears it.
If a VSYNC event is already pending, this returns immediately. The
transfer must remain active for another VSYNC to occur. Clear
DpiInterrupt::Vsync with Self::clear_interrupts first to wait for
a fresh event.
§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.
Trait Implementations§
Source§impl<BUF: DmaTxBuffer, Dm: DriverMode> Deref for DpiTransfer<'_, BUF, Dm>
Available on crate feature unstable only.
impl<BUF: DmaTxBuffer, Dm: DriverMode> Deref for DpiTransfer<'_, BUF, Dm>
unstable only.Source§impl<BUF: DmaTxBuffer, Dm: DriverMode> DerefMut for DpiTransfer<'_, BUF, Dm>
Available on crate feature unstable only.
impl<BUF: DmaTxBuffer, Dm: DriverMode> DerefMut for DpiTransfer<'_, BUF, Dm>
unstable only.Source§impl<BUF: DmaTxBuffer, Dm: DriverMode> Drop for DpiTransfer<'_, BUF, Dm>
Available on crate feature unstable only.
impl<BUF: DmaTxBuffer, Dm: DriverMode> Drop for DpiTransfer<'_, BUF, Dm>
unstable only.Auto Trait Implementations§
impl<'d, BUF, Dm> !RefUnwindSafe for DpiTransfer<'d, BUF, Dm>
impl<'d, BUF, Dm> !UnwindSafe for DpiTransfer<'d, BUF, Dm>
impl<'d, BUF, Dm> Freeze for DpiTransfer<'d, BUF, Dm>where
<BUF as DmaTxBuffer>::View: Freeze,
impl<'d, BUF, Dm> Send for DpiTransfer<'d, BUF, Dm>where
<BUF as DmaTxBuffer>::View: Send,
Dm: Send,
impl<'d, BUF, Dm> Sync for DpiTransfer<'d, BUF, Dm>where
<BUF as DmaTxBuffer>::View: Sync,
Dm: Sync,
impl<'d, BUF, Dm> Unpin for DpiTransfer<'d, BUF, Dm>where
<BUF as DmaTxBuffer>::View: Unpin,
Dm: Unpin,
impl<'d, BUF, Dm> UnsafeUnpin for DpiTransfer<'d, BUF, Dm>where
<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 = Infallible> + ?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.