pub struct CameraTransfer<'d, BUF: DmaRxBuffer> { /* private fields */ }
Available on crate feature
unstable
only.Expand description
Represents an ongoing (or potentially stopped) transfer from the Camera to a DMA buffer.
Implementations§
Source§impl<'d, BUF: DmaRxBuffer> CameraTransfer<'d, BUF>
impl<'d, BUF: DmaRxBuffer> CameraTransfer<'d, BUF>
Sourcepub fn is_done(&self) -> bool
pub fn is_done(&self) -> bool
Returns true when Self::wait will not block.
Sourcepub fn stop(self) -> (Camera<'d>, BUF)
pub fn stop(self) -> (Camera<'d>, BUF)
Stops this transfer on the spot and returns the peripheral and buffer.
Sourcepub fn wait(self) -> (Result<(), DmaError>, Camera<'d>, BUF)
pub fn wait(self) -> (Result<(), DmaError>, Camera<'d>, BUF)
Waits for the transfer to stop and returns the peripheral and buffer.
Note: The camera doesn’t really “finish” its transfer, so what you’re really waiting for here is a DMA Error. You typically just want to call Self::stop once you have the data you need.
Trait Implementations§
Source§impl<BUF: DmaRxBuffer> Deref for CameraTransfer<'_, BUF>
impl<BUF: DmaRxBuffer> Deref for CameraTransfer<'_, BUF>
Source§impl<BUF: DmaRxBuffer> DerefMut for CameraTransfer<'_, BUF>
impl<BUF: DmaRxBuffer> DerefMut for CameraTransfer<'_, BUF>
Source§impl<BUF: DmaRxBuffer> Drop for CameraTransfer<'_, BUF>
impl<BUF: DmaRxBuffer> Drop for CameraTransfer<'_, BUF>
Auto Trait Implementations§
impl<'d, BUF> Freeze for CameraTransfer<'d, BUF>where
<BUF as DmaRxBuffer>::View: Freeze,
impl<'d, BUF> RefUnwindSafe for CameraTransfer<'d, BUF>where
<BUF as DmaRxBuffer>::View: RefUnwindSafe,
impl<'d, BUF> Send for CameraTransfer<'d, BUF>where
<BUF as DmaRxBuffer>::View: Send,
impl<'d, BUF> Sync for CameraTransfer<'d, BUF>where
<BUF as DmaRxBuffer>::View: Sync,
impl<'d, BUF> Unpin for CameraTransfer<'d, BUF>where
<BUF as DmaRxBuffer>::View: Unpin,
impl<'d, BUF> !UnwindSafe for CameraTransfer<'d, BUF>
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
Mutably borrows from an owned value. Read more
§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
Source§impl<T> Peripheral for Twhere
T: DerefMut,
<T as Deref>::Target: Peripheral,
impl<T> Peripheral for Twhere
T: DerefMut,
<T as Deref>::Target: Peripheral,
Source§type P = <<T as Deref>::Target as Peripheral>::P
type P = <<T as Deref>::Target as Peripheral>::P
Peripheral singleton type
Source§unsafe fn clone_unchecked(&self) -> <T as Peripheral>::P
unsafe fn clone_unchecked(&self) -> <T as Peripheral>::P
Unsafely clone (duplicate) a peripheral singleton. Read more
Source§fn into_ref<'a>(self) -> PeripheralRef<'a, Self::P>where
Self: 'a,
fn into_ref<'a>(self) -> PeripheralRef<'a, Self::P>where
Self: 'a,
Convert a value into a
PeripheralRef
. Read more