embassy-mspm0

Crates

git

Versions

mspm0g1107rge

Flavors

Struct Transfer

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

DMA transfer.

Implementations§

Source§

impl<'a> Transfer<'a>

Source

pub const SOFTWARE_TRIGGER: u8 = 0u8

Software trigger source.

Using this trigger source means that a transfer will start immediately rather than waiting for a hardware event. This can be useful if you want to do a DMA accelerated memcpy.

Source

pub unsafe fn new_read<SW: Word, DW: Word>( channel: Peri<'a, impl Channel>, trigger_source: u8, src: *mut SW, dst: &'a mut [DW], options: TransferOptions, ) -> Result<Self, Error>

Create a new read DMA transfer.

Source

pub unsafe fn new_read_raw<SW: Word, DW: Word>( channel: Peri<'a, impl Channel>, trigger_source: u8, src: *mut SW, dst: *mut [DW], options: TransferOptions, ) -> Result<Self, Error>

Create a new read DMA transfer, using raw pointers.

Source

pub unsafe fn new_write<SW: Word, DW: Word>( channel: Peri<'a, impl Channel>, trigger_source: u8, src: &'a [SW], dst: *mut DW, options: TransferOptions, ) -> Result<Self, Error>

Create a new write DMA transfer.

Source

pub unsafe fn new_write_raw<SW: Word, DW: Word>( channel: Peri<'a, impl Channel>, trigger_source: u8, src: *const [SW], dst: *mut DW, options: TransferOptions, ) -> Result<Self, Error>

Create a new write DMA transfer, using raw pointers.

Source

pub fn resume(&mut self)

Request the transfer to resume.

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 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_stop].

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> Az for T

Source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
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<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

Source§

fn cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> CheckedAs for T

Source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

Source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
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<Src, Dst> LosslessTryInto<Dst> for Src
where Dst: LosslessTryFrom<Src>,

Source§

fn lossless_try_into(self) -> Option<Dst>

Performs the conversion.
Source§

impl<Src, Dst> LossyInto<Dst> for Src
where Dst: LossyFrom<Src>,

Source§

fn lossy_into(self) -> Dst

Performs the conversion.
Source§

impl<T> OverflowingAs for T

Source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

Source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> SaturatingAs for T

Source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

Source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
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<T> UnwrappedAs for T

Source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

Source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> WrappingAs for T

Source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

Source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.