embassy-stm32

Crates

git

Versions

stm32n645i0

Flavors

Transfer

Struct Transfer 

Source
pub struct Transfer<'a> { /* private fields */ }
Expand description

DMA transfer.

Implementations§

Source§

impl<'a> Transfer<'a>

Source

pub unsafe fn new_read<W: Word>( channel: Peri<'a, impl Channel>, request: Request, peri_addr: *mut W, buf: &'a mut [W], options: TransferOptions, ) -> Self

Create a new read DMA transfer (peripheral to memory).

Source

pub unsafe fn new_read_raw<MW: Word, PW: Word>( channel: Peri<'a, impl Channel>, request: Request, peri_addr: *mut PW, buf: *mut [MW], options: TransferOptions, ) -> Self

Create a new read DMA transfer (peripheral to memory), using raw pointers.

Source

pub unsafe fn new_write<MW: Word, PW: Word>( channel: Peri<'a, impl Channel>, request: Request, buf: &'a [MW], peri_addr: *mut PW, options: TransferOptions, ) -> Self

Create a new write DMA transfer (memory to peripheral).

Source

pub unsafe fn new_write_raw<MW: Word, PW: Word>( channel: Peri<'a, impl Channel>, request: Request, buf: *const [MW], peri_addr: *mut PW, options: TransferOptions, ) -> Self

Create a new write DMA transfer (memory to peripheral), using raw pointers.

Source

pub unsafe fn new_write_repeated<MW: Word, PW: Word>( channel: Peri<'a, impl Channel>, request: Request, repeated: &'a MW, count: usize, peri_addr: *mut PW, options: TransferOptions, ) -> Self

Create a new write DMA transfer (memory to peripheral), writing the same value repeatedly.

Source

pub fn request_pause(&mut self)

Request the transfer to pause, keeping the existing configuration for this channel. To restart the transfer, call start again.

This doesn’t immediately stop the transfer, you have to wait until is_running returns false.

Source

pub fn request_resume(&mut self)

Request the transfer to resume after being suspended.

Source

pub fn request_reset(&mut self)

Request the DMA to reset.

The configuration for this channel will not be preserved. If you need to restart the transfer at a later point with the same configuration, see request_pause instead.

Source

pub fn is_running(&mut self) -> bool

Return whether this transfer is still running.

If this returns false, it can be because either the transfer finished, or it was requested to stop early with request_pause.

Source

pub fn get_remaining_transfers(&self) -> u16

Gets the total remaining transfers for the channel Note: this will be zero for transfers that completed without cancellation.

Source

pub fn blocking_wait(self)

Blocking wait until the transfer finishes.

Trait Implementations§

Source§

impl<'a> Drop for Transfer<'a>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl<'a> Future for Transfer<'a>

Source§

type Output = ()

The type of value produced on completion.
Source§

fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output>

Attempts to resolve the future to a final value, registering the current task for wakeup if the value is not yet available. Read more
Source§

impl<'a> Unpin for Transfer<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for Transfer<'a>

§

impl<'a> RefUnwindSafe for Transfer<'a>

§

impl<'a> Send for Transfer<'a>

§

impl<'a> Sync for Transfer<'a>

§

impl<'a> !UnwindSafe for Transfer<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<F> IntoFuture for F
where F: Future,

Source§

type Output = <F as Future>::Output

The output that the future will produce on completion.
Source§

type IntoFuture = F

Which kind of future are we turning this into?
Source§

fn into_future(self) -> <F as IntoFuture>::IntoFuture

Creates a future from a value. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<F> WithTimeout for F
where F: Future,

Source§

type Output = <F as Future>::Output

Output type of the future.
Source§

fn with_timeout(self, timeout: Duration) -> TimeoutFuture<F>

Runs a given future with a timeout. Read more
Source§

fn with_deadline(self, at: Instant) -> TimeoutFuture<F>

Runs a given future with a deadline time. Read more