embassy-nrf

Crates

git

Versions

nrf5340-app-s

Flavors

embassy_nrf::interrupt::typelevel

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 CACHE

Source§

const IRQ: Interrupt = super::Interrupt::CACHE

Source§

impl Interrupt for CLOCK_POWER

Source§

const IRQ: Interrupt = super::Interrupt::CLOCK_POWER

Source§

impl Interrupt for COMP_LPCOMP

Source§

const IRQ: Interrupt = super::Interrupt::COMP_LPCOMP

Source§

impl Interrupt for CRYPTOCELL

Source§

const IRQ: Interrupt = super::Interrupt::CRYPTOCELL

Source§

impl Interrupt for EGU0

Source§

const IRQ: Interrupt = super::Interrupt::EGU0

Source§

impl Interrupt for EGU1

Source§

const IRQ: Interrupt = super::Interrupt::EGU1

Source§

impl Interrupt for EGU2

Source§

const IRQ: Interrupt = super::Interrupt::EGU2

Source§

impl Interrupt for EGU3

Source§

const IRQ: Interrupt = super::Interrupt::EGU3

Source§

impl Interrupt for EGU4

Source§

const IRQ: Interrupt = super::Interrupt::EGU4

Source§

impl Interrupt for EGU5

Source§

const IRQ: Interrupt = super::Interrupt::EGU5

Source§

impl Interrupt for FPU

Source§

const IRQ: Interrupt = super::Interrupt::FPU

Source§

impl Interrupt for GPIOTE0

Source§

const IRQ: Interrupt = super::Interrupt::GPIOTE0

Source§

impl Interrupt for GPIOTE1

Source§

const IRQ: Interrupt = super::Interrupt::GPIOTE1

Source§

impl Interrupt for I2S0

Source§

const IRQ: Interrupt = super::Interrupt::I2S0

Source§

impl Interrupt for IPC

Source§

const IRQ: Interrupt = super::Interrupt::IPC

Source§

impl Interrupt for KMU

Source§

const IRQ: Interrupt = super::Interrupt::KMU

Source§

impl Interrupt for NFCT

Source§

const IRQ: Interrupt = super::Interrupt::NFCT

Source§

impl Interrupt for PDM0

Source§

const IRQ: Interrupt = super::Interrupt::PDM0

Source§

impl Interrupt for PWM0

Source§

const IRQ: Interrupt = super::Interrupt::PWM0

Source§

impl Interrupt for PWM1

Source§

const IRQ: Interrupt = super::Interrupt::PWM1

Source§

impl Interrupt for PWM2

Source§

const IRQ: Interrupt = super::Interrupt::PWM2

Source§

impl Interrupt for PWM3

Source§

const IRQ: Interrupt = super::Interrupt::PWM3

Source§

impl Interrupt for QDEC0

Source§

const IRQ: Interrupt = super::Interrupt::QDEC0

Source§

impl Interrupt for QDEC1

Source§

const IRQ: Interrupt = super::Interrupt::QDEC1

Source§

impl Interrupt for QSPI

Source§

const IRQ: Interrupt = super::Interrupt::QSPI

Source§

impl Interrupt for RTC0

Source§

const IRQ: Interrupt = super::Interrupt::RTC0

Source§

impl Interrupt for RTC1

Source§

const IRQ: Interrupt = super::Interrupt::RTC1

Source§

impl Interrupt for SAADC

Source§

const IRQ: Interrupt = super::Interrupt::SAADC

Source§

impl Interrupt for SERIAL0

Source§

const IRQ: Interrupt = super::Interrupt::SERIAL0

Source§

impl Interrupt for SERIAL1

Source§

const IRQ: Interrupt = super::Interrupt::SERIAL1

Source§

impl Interrupt for SERIAL2

Source§

const IRQ: Interrupt = super::Interrupt::SERIAL2

Source§

impl Interrupt for SERIAL3

Source§

const IRQ: Interrupt = super::Interrupt::SERIAL3

Source§

impl Interrupt for SPIM4

Source§

const IRQ: Interrupt = super::Interrupt::SPIM4

Source§

impl Interrupt for SPU

Source§

const IRQ: Interrupt = super::Interrupt::SPU

Source§

impl Interrupt for TIMER0

Source§

const IRQ: Interrupt = super::Interrupt::TIMER0

Source§

impl Interrupt for TIMER1

Source§

const IRQ: Interrupt = super::Interrupt::TIMER1

Source§

impl Interrupt for TIMER2

Source§

const IRQ: Interrupt = super::Interrupt::TIMER2

Source§

impl Interrupt for USBD

Source§

const IRQ: Interrupt = super::Interrupt::USBD

Source§

impl Interrupt for USBREGULATOR

Source§

const IRQ: Interrupt = super::Interrupt::USBREGULATOR

Source§

impl Interrupt for WDT0

Source§

const IRQ: Interrupt = super::Interrupt::WDT0

Source§

impl Interrupt for WDT1

Source§

const IRQ: Interrupt = super::Interrupt::WDT1