embassy-mcxa

Crates

git

Versions

mcx-a577

Flavors

Interrupt

Trait Interrupt 

Source
pub trait Interrupt: SealedInterrupt {
    const IRQ: Interrupt;

    // Provided methods
    unsafe fn enable() { ... }
    fn disable() { ... }
    fn is_enabled() -> bool { ... }
    fn is_pending() -> bool { ... }
    fn pend() { ... }
    fn unpend() { ... }
    fn get_priority() -> Priority { ... }
    fn set_priority(prio: Priority) { ... }
    fn set_priority_with_cs(cs: CriticalSection<'_>, prio: Priority) { ... }
}
Expand description

Type-level interrupt.

This trait is implemented for all typelevel interrupt types in this module.

Required Associated Constants§

Source

const IRQ: Interrupt

Interrupt enum variant.

This allows going from typelevel interrupts (one type per interrupt) to non-typelevel interrupts (a single Interrupt enum type, with one variant per interrupt).

Provided Methods§

Source

unsafe fn enable()

Enable the interrupt.

Source

fn disable()

Disable the interrupt.

Source

fn is_enabled() -> bool

Check if interrupt is enabled.

Source

fn is_pending() -> bool

Check if interrupt is pending.

Source

fn pend()

Set interrupt pending.

Source

fn unpend()

Unset interrupt pending.

Source

fn get_priority() -> Priority

Get the priority of the interrupt.

Source

fn set_priority(prio: Priority)

Set the interrupt priority.

Source

fn set_priority_with_cs(cs: CriticalSection<'_>, prio: Priority)

Set the interrupt priority with an already-acquired critical section

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Interrupt for CDOG0

Source§

const IRQ: Interrupt = super::Interrupt::CDOG0

Source§

impl Interrupt for CDOG1

Source§

const IRQ: Interrupt = super::Interrupt::CDOG1

Source§

impl Interrupt for CTIMER0

Source§

const IRQ: Interrupt = super::Interrupt::CTIMER0

Source§

impl Interrupt for CTIMER1

Source§

const IRQ: Interrupt = super::Interrupt::CTIMER1

Source§

impl Interrupt for CTIMER2

Source§

const IRQ: Interrupt = super::Interrupt::CTIMER2

Source§

impl Interrupt for CTIMER3

Source§

const IRQ: Interrupt = super::Interrupt::CTIMER3

Source§

impl Interrupt for CTIMER4

Source§

const IRQ: Interrupt = super::Interrupt::CTIMER4

Source§

impl Interrupt for DMA_CH0

Source§

const IRQ: Interrupt = super::Interrupt::DMA_CH0

Source§

impl Interrupt for DMA_CH1

Source§

const IRQ: Interrupt = super::Interrupt::DMA_CH1

Source§

impl Interrupt for DMA_CH2

Source§

const IRQ: Interrupt = super::Interrupt::DMA_CH2

Source§

impl Interrupt for DMA_CH3

Source§

const IRQ: Interrupt = super::Interrupt::DMA_CH3

Source§

impl Interrupt for DMA_CH4

Source§

const IRQ: Interrupt = super::Interrupt::DMA_CH4

Source§

impl Interrupt for DMA_CH5

Source§

const IRQ: Interrupt = super::Interrupt::DMA_CH5

Source§

impl Interrupt for DMA_CH6

Source§

const IRQ: Interrupt = super::Interrupt::DMA_CH6

Source§

impl Interrupt for DMA_CH7

Source§

const IRQ: Interrupt = super::Interrupt::DMA_CH7

Source§

impl Interrupt for DMA_CH8

Source§

const IRQ: Interrupt = super::Interrupt::DMA_CH8

Source§

impl Interrupt for DMA_CH9

Source§

const IRQ: Interrupt = super::Interrupt::DMA_CH9

Source§

impl Interrupt for DMA_CH10

Source§

const IRQ: Interrupt = super::Interrupt::DMA_CH10

Source§

impl Interrupt for DMA_CH11

Source§

const IRQ: Interrupt = super::Interrupt::DMA_CH11

Source§

impl Interrupt for GPIO0

Source§

const IRQ: Interrupt = super::Interrupt::GPIO0

Source§

impl Interrupt for GPIO1

Source§

const IRQ: Interrupt = super::Interrupt::GPIO1

Source§

impl Interrupt for GPIO2

Source§

const IRQ: Interrupt = super::Interrupt::GPIO2

Source§

impl Interrupt for GPIO3

Source§

const IRQ: Interrupt = super::Interrupt::GPIO3

Source§

impl Interrupt for GPIO4

Source§

const IRQ: Interrupt = super::Interrupt::GPIO4

Source§

impl Interrupt for GPIO5

Source§

const IRQ: Interrupt = super::Interrupt::GPIO5

Source§

impl Interrupt for LPI2C0

Source§

const IRQ: Interrupt = super::Interrupt::LPI2C0

Source§

impl Interrupt for LPI2C1

Source§

const IRQ: Interrupt = super::Interrupt::LPI2C1

Source§

impl Interrupt for LPI2C2

Source§

const IRQ: Interrupt = super::Interrupt::LPI2C2

Source§

impl Interrupt for LPI2C3

Source§

const IRQ: Interrupt = super::Interrupt::LPI2C3

Source§

impl Interrupt for LPSPI0

Source§

const IRQ: Interrupt = super::Interrupt::LPSPI0

Source§

impl Interrupt for LPSPI1

Source§

const IRQ: Interrupt = super::Interrupt::LPSPI1

Source§

impl Interrupt for LPSPI2

Source§

const IRQ: Interrupt = super::Interrupt::LPSPI2

Source§

impl Interrupt for LPSPI3

Source§

const IRQ: Interrupt = super::Interrupt::LPSPI3

Source§

impl Interrupt for LPSPI4

Source§

const IRQ: Interrupt = super::Interrupt::LPSPI4

Source§

impl Interrupt for LPSPI5

Source§

const IRQ: Interrupt = super::Interrupt::LPSPI5

Source§

impl Interrupt for OS_EVENT

Source§

const IRQ: Interrupt = super::Interrupt::OS_EVENT

Source§

impl Interrupt for TRNG0

Source§

const IRQ: Interrupt = super::Interrupt::TRNG0

Source§

impl Interrupt for WWDT0

Source§

const IRQ: Interrupt = super::Interrupt::WWDT0

Source§

impl Interrupt for WWDT1

Source§

const IRQ: Interrupt = super::Interrupt::WWDT1