Skip to main content

InterruptStatus

Struct InterruptStatus 

Source
pub struct InterruptStatus {
    pub tx_complete: bool,
    pub tx_stopped: bool,
    pub tx_buf_unavailable: bool,
    pub tx_underflow: bool,
    pub rx_complete: bool,
    pub rx_stopped: bool,
    pub rx_buf_unavailable: bool,
    pub rx_overflow: bool,
    pub fatal_bus_error: bool,
    pub normal_summary: bool,
    pub abnormal_summary: bool,
}
Expand description

Decoded DMA status flags.

Fields§

§tx_complete: bool

TX complete — a frame was transmitted successfully.

§tx_stopped: bool

TX DMA stopped.

§tx_buf_unavailable: bool

No TX descriptors available.

§tx_underflow: bool

TX FIFO underflow.

§rx_complete: bool

RX complete — a frame was received.

§rx_stopped: bool

RX DMA stopped.

§rx_buf_unavailable: bool

No RX descriptors available (DMA suspended).

§rx_overflow: bool

RX FIFO overflow.

§fatal_bus_error: bool

Fatal bus error — unrecoverable DMA error.

§normal_summary: bool

Normal interrupt summary.

§abnormal_summary: bool

Abnormal interrupt summary.

Implementations§

Source§

impl InterruptStatus

Source

pub fn from_raw(raw: u32) -> Self

Decode from a raw DMASTATUS register value.

Source

pub fn to_raw(&self) -> u32

Encode back to a raw register value, retaining only the bits modeled by this struct.

Do not use this for write-1-to-clear of DMASTATUS — the struct does not represent every W1C flag (e.g. ERI, ETI, RWT, TJT, EBE[25:23]), so a roundtrip silently drops them. Use the raw DMASTATUS snapshot directly via crate::Emac::clear_interrupts_raw when clearing.

Source

pub fn any(&self) -> bool

True if any non-summary bit is set.

Source

pub fn has_error(&self) -> bool

True if any error flag is set.

Trait Implementations§

Source§

impl Clone for InterruptStatus

Source§

fn clone(&self) -> InterruptStatus

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for InterruptStatus

Source§

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

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

impl Default for InterruptStatus

Source§

fn default() -> InterruptStatus

Returns the “default value” for a type. Read more
Source§

impl Format for InterruptStatus

Source§

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

Writes the defmt representation of self to fmt.
Source§

impl PartialEq for InterruptStatus

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

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 InterruptStatus

Source§

impl Eq for InterruptStatus

Source§

impl StructuralPartialEq for InterruptStatus

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

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

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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<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.