Struct DmaDescriptor

Source
#[repr(C)]
pub struct DmaDescriptor { pub flags: DmaDescriptorFlags, pub buffer: *mut u8, pub next: *mut DmaDescriptor, }
Available on crate feature unstable only.
Expand description

A DMA transfer descriptor.

Fields§

§flags: DmaDescriptorFlags

Descriptor flags.

§buffer: *mut u8

Address of the buffer.

§next: *mut DmaDescriptor

Address of the next descriptor. If the current descriptor is the last one, this value is 0. This field can only point to internal RAM.

Implementations§

Source§

impl DmaDescriptor

Source

pub const EMPTY: Self

An empty DMA descriptor used to initialize the descriptor list.

Source

pub fn reset_for_rx(&mut self)

Resets the descriptor for a new receive transfer.

Source

pub fn reset_for_tx(&mut self, set_eof: bool)

Resets the descriptor for a new transmit transfer. See DmaDescriptorFlags::suc_eof for more details on the set_eof parameter.

Source

pub fn set_size(&mut self, len: usize)

Set the size of the buffer. See DmaDescriptorFlags::size.

Source

pub fn set_length(&mut self, len: usize)

Set the length of the descriptor. See DmaDescriptorFlags::length.

Source

pub fn size(&self) -> usize

Returns the size of the buffer. See DmaDescriptorFlags::size.

Source

pub fn len(&self) -> usize

Returns the length of the descriptor. See DmaDescriptorFlags::length.

Source

pub fn set_suc_eof(&mut self, suc_eof: bool)

Set the suc_eof bit. See DmaDescriptorFlags::suc_eof.

Source

pub fn set_owner(&mut self, owner: Owner)

Set the owner. See DmaDescriptorFlags::owner.

Source

pub fn owner(&self) -> Owner

Returns the owner. See DmaDescriptorFlags::owner.

Trait Implementations§

Source§

impl Clone for DmaDescriptor

Source§

fn clone(&self) -> DmaDescriptor

Returns a copy of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DmaDescriptor

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Format for DmaDescriptor

Source§

fn format(&self, f: Formatter<'_>)

Writes the defmt representation of self to fmt.
Source§

impl PartialEq for DmaDescriptor

Source§

fn eq(&self, other: &DmaDescriptor) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for DmaDescriptor

Source§

impl Eq for DmaDescriptor

Source§

impl Send for DmaDescriptor

Source§

impl StructuralPartialEq for DmaDescriptor

Auto Trait Implementations§

§

impl Freeze for DmaDescriptor

§

impl RefUnwindSafe for DmaDescriptor

§

impl !Sync for DmaDescriptor

§

impl Unpin for DmaDescriptor

§

impl UnwindSafe for DmaDescriptor

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn into(self) -> U

Calls U::from(self).

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

§

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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

§

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

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

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

Performs the conversion.