Struct stm32_hal2::dma::FrameSender[][src]

pub struct FrameSender<BUFFER, CHANNEL, N> where
    BUFFER: Sized + StableDeref<Target = DMAFrame<N>> + DerefMut + 'static,
    N: ArrayLength<MaybeUninit<u8>>, 
{ /* fields omitted */ }

Frame sender “worker”, access and handling of frame transmissions is made through this structure.

Implementations

impl<BUFFER, N> FrameSender<BUFFER, C1, N> where
    BUFFER: Sized + StableDeref<Target = DMAFrame<N>> + DerefMut + 'static,
    N: ArrayLength<MaybeUninit<u8>>, 
[src]

pub fn transfer_complete_interrupt(&mut self) -> Option<BUFFER>[src]

This method should be called in the transfer complete interrupt of the DMA, will return the sent frame if the transfer was truly completed.

pub fn ongoing_transfer(&self) -> bool[src]

Returns true if there is an ongoing transfer.

pub fn send(&mut self, frame: BUFFER) -> Result<(), BUFFER>[src]

Send a frame. Will return Err(frame) if there was already an ongoing transaction or if the buffer has not been read out.

impl<BUFFER, N> FrameSender<BUFFER, C2, N> where
    BUFFER: Sized + StableDeref<Target = DMAFrame<N>> + DerefMut + 'static,
    N: ArrayLength<MaybeUninit<u8>>, 
[src]

pub fn transfer_complete_interrupt(&mut self) -> Option<BUFFER>[src]

This method should be called in the transfer complete interrupt of the DMA, will return the sent frame if the transfer was truly completed.

pub fn ongoing_transfer(&self) -> bool[src]

Returns true if there is an ongoing transfer.

pub fn send(&mut self, frame: BUFFER) -> Result<(), BUFFER>[src]

Send a frame. Will return Err(frame) if there was already an ongoing transaction or if the buffer has not been read out.

impl<BUFFER, N> FrameSender<BUFFER, C3, N> where
    BUFFER: Sized + StableDeref<Target = DMAFrame<N>> + DerefMut + 'static,
    N: ArrayLength<MaybeUninit<u8>>, 
[src]

pub fn transfer_complete_interrupt(&mut self) -> Option<BUFFER>[src]

This method should be called in the transfer complete interrupt of the DMA, will return the sent frame if the transfer was truly completed.

pub fn ongoing_transfer(&self) -> bool[src]

Returns true if there is an ongoing transfer.

pub fn send(&mut self, frame: BUFFER) -> Result<(), BUFFER>[src]

Send a frame. Will return Err(frame) if there was already an ongoing transaction or if the buffer has not been read out.

impl<BUFFER, N> FrameSender<BUFFER, C4, N> where
    BUFFER: Sized + StableDeref<Target = DMAFrame<N>> + DerefMut + 'static,
    N: ArrayLength<MaybeUninit<u8>>, 
[src]

pub fn transfer_complete_interrupt(&mut self) -> Option<BUFFER>[src]

This method should be called in the transfer complete interrupt of the DMA, will return the sent frame if the transfer was truly completed.

pub fn ongoing_transfer(&self) -> bool[src]

Returns true if there is an ongoing transfer.

pub fn send(&mut self, frame: BUFFER) -> Result<(), BUFFER>[src]

Send a frame. Will return Err(frame) if there was already an ongoing transaction or if the buffer has not been read out.

impl<BUFFER, N> FrameSender<BUFFER, C5, N> where
    BUFFER: Sized + StableDeref<Target = DMAFrame<N>> + DerefMut + 'static,
    N: ArrayLength<MaybeUninit<u8>>, 
[src]

pub fn transfer_complete_interrupt(&mut self) -> Option<BUFFER>[src]

This method should be called in the transfer complete interrupt of the DMA, will return the sent frame if the transfer was truly completed.

pub fn ongoing_transfer(&self) -> bool[src]

Returns true if there is an ongoing transfer.

pub fn send(&mut self, frame: BUFFER) -> Result<(), BUFFER>[src]

Send a frame. Will return Err(frame) if there was already an ongoing transaction or if the buffer has not been read out.

impl<BUFFER, N> FrameSender<BUFFER, C6, N> where
    BUFFER: Sized + StableDeref<Target = DMAFrame<N>> + DerefMut + 'static,
    N: ArrayLength<MaybeUninit<u8>>, 
[src]

pub fn transfer_complete_interrupt(&mut self) -> Option<BUFFER>[src]

This method should be called in the transfer complete interrupt of the DMA, will return the sent frame if the transfer was truly completed.

pub fn ongoing_transfer(&self) -> bool[src]

Returns true if there is an ongoing transfer.

pub fn send(&mut self, frame: BUFFER) -> Result<(), BUFFER>[src]

Send a frame. Will return Err(frame) if there was already an ongoing transaction or if the buffer has not been read out.

impl<BUFFER, N> FrameSender<BUFFER, C7, N> where
    BUFFER: Sized + StableDeref<Target = DMAFrame<N>> + DerefMut + 'static,
    N: ArrayLength<MaybeUninit<u8>>, 
[src]

pub fn transfer_complete_interrupt(&mut self) -> Option<BUFFER>[src]

This method should be called in the transfer complete interrupt of the DMA, will return the sent frame if the transfer was truly completed.

pub fn ongoing_transfer(&self) -> bool[src]

Returns true if there is an ongoing transfer.

pub fn send(&mut self, frame: BUFFER) -> Result<(), BUFFER>[src]

Send a frame. Will return Err(frame) if there was already an ongoing transaction or if the buffer has not been read out.

impl<BUFFER, N> FrameSender<BUFFER, C1, N> where
    BUFFER: Sized + StableDeref<Target = DMAFrame<N>> + DerefMut + 'static,
    N: ArrayLength<MaybeUninit<u8>>, 
[src]

pub fn transfer_complete_interrupt(&mut self) -> Option<BUFFER>[src]

This method should be called in the transfer complete interrupt of the DMA, will return the sent frame if the transfer was truly completed.

pub fn ongoing_transfer(&self) -> bool[src]

Returns true if there is an ongoing transfer.

pub fn send(&mut self, frame: BUFFER) -> Result<(), BUFFER>[src]

Send a frame. Will return Err(frame) if there was already an ongoing transaction or if the buffer has not been read out.

impl<BUFFER, N> FrameSender<BUFFER, C2, N> where
    BUFFER: Sized + StableDeref<Target = DMAFrame<N>> + DerefMut + 'static,
    N: ArrayLength<MaybeUninit<u8>>, 
[src]

pub fn transfer_complete_interrupt(&mut self) -> Option<BUFFER>[src]

This method should be called in the transfer complete interrupt of the DMA, will return the sent frame if the transfer was truly completed.

pub fn ongoing_transfer(&self) -> bool[src]

Returns true if there is an ongoing transfer.

pub fn send(&mut self, frame: BUFFER) -> Result<(), BUFFER>[src]

Send a frame. Will return Err(frame) if there was already an ongoing transaction or if the buffer has not been read out.

impl<BUFFER, N> FrameSender<BUFFER, C3, N> where
    BUFFER: Sized + StableDeref<Target = DMAFrame<N>> + DerefMut + 'static,
    N: ArrayLength<MaybeUninit<u8>>, 
[src]

pub fn transfer_complete_interrupt(&mut self) -> Option<BUFFER>[src]

This method should be called in the transfer complete interrupt of the DMA, will return the sent frame if the transfer was truly completed.

pub fn ongoing_transfer(&self) -> bool[src]

Returns true if there is an ongoing transfer.

pub fn send(&mut self, frame: BUFFER) -> Result<(), BUFFER>[src]

Send a frame. Will return Err(frame) if there was already an ongoing transaction or if the buffer has not been read out.

impl<BUFFER, N> FrameSender<BUFFER, C4, N> where
    BUFFER: Sized + StableDeref<Target = DMAFrame<N>> + DerefMut + 'static,
    N: ArrayLength<MaybeUninit<u8>>, 
[src]

pub fn transfer_complete_interrupt(&mut self) -> Option<BUFFER>[src]

This method should be called in the transfer complete interrupt of the DMA, will return the sent frame if the transfer was truly completed.

pub fn ongoing_transfer(&self) -> bool[src]

Returns true if there is an ongoing transfer.

pub fn send(&mut self, frame: BUFFER) -> Result<(), BUFFER>[src]

Send a frame. Will return Err(frame) if there was already an ongoing transaction or if the buffer has not been read out.

impl<BUFFER, N> FrameSender<BUFFER, C5, N> where
    BUFFER: Sized + StableDeref<Target = DMAFrame<N>> + DerefMut + 'static,
    N: ArrayLength<MaybeUninit<u8>>, 
[src]

pub fn transfer_complete_interrupt(&mut self) -> Option<BUFFER>[src]

This method should be called in the transfer complete interrupt of the DMA, will return the sent frame if the transfer was truly completed.

pub fn ongoing_transfer(&self) -> bool[src]

Returns true if there is an ongoing transfer.

pub fn send(&mut self, frame: BUFFER) -> Result<(), BUFFER>[src]

Send a frame. Will return Err(frame) if there was already an ongoing transaction or if the buffer has not been read out.

impl<BUFFER, N> FrameSender<BUFFER, C6, N> where
    BUFFER: Sized + StableDeref<Target = DMAFrame<N>> + DerefMut + 'static,
    N: ArrayLength<MaybeUninit<u8>>, 
[src]

pub fn transfer_complete_interrupt(&mut self) -> Option<BUFFER>[src]

This method should be called in the transfer complete interrupt of the DMA, will return the sent frame if the transfer was truly completed.

pub fn ongoing_transfer(&self) -> bool[src]

Returns true if there is an ongoing transfer.

pub fn send(&mut self, frame: BUFFER) -> Result<(), BUFFER>[src]

Send a frame. Will return Err(frame) if there was already an ongoing transaction or if the buffer has not been read out.

impl<BUFFER, N> FrameSender<BUFFER, C7, N> where
    BUFFER: Sized + StableDeref<Target = DMAFrame<N>> + DerefMut + 'static,
    N: ArrayLength<MaybeUninit<u8>>, 
[src]

pub fn transfer_complete_interrupt(&mut self) -> Option<BUFFER>[src]

This method should be called in the transfer complete interrupt of the DMA, will return the sent frame if the transfer was truly completed.

pub fn ongoing_transfer(&self) -> bool[src]

Returns true if there is an ongoing transfer.

pub fn send(&mut self, frame: BUFFER) -> Result<(), BUFFER>[src]

Send a frame. Will return Err(frame) if there was already an ongoing transaction or if the buffer has not been read out.

Auto Trait Implementations

impl<BUFFER, CHANNEL, N> Send for FrameSender<BUFFER, CHANNEL, N> where
    BUFFER: Send,
    CHANNEL: Send,
    N: Send

impl<BUFFER, CHANNEL, N> Sync for FrameSender<BUFFER, CHANNEL, N> where
    BUFFER: Sync,
    CHANNEL: Sync,
    N: Sync

impl<BUFFER, CHANNEL, N> Unpin for FrameSender<BUFFER, CHANNEL, N> where
    BUFFER: Unpin,
    CHANNEL: Unpin,
    N: Unpin

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.