Embassy
embassy-rp

Crates

git

Versions

rp2040

Flavors

Trait embassy_rp::interrupt::typelevel::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

Object Safety§

This trait is not object safe.

Implementors§

source§

impl Interrupt for ADC_IRQ_FIFO

source§

const IRQ: Interrupt = super::Interrupt::ADC_IRQ_FIFO

source§

impl Interrupt for CLOCKS_IRQ

source§

const IRQ: Interrupt = super::Interrupt::CLOCKS_IRQ

source§

impl Interrupt for DMA_IRQ_0

source§

const IRQ: Interrupt = super::Interrupt::DMA_IRQ_0

source§

impl Interrupt for DMA_IRQ_1

source§

const IRQ: Interrupt = super::Interrupt::DMA_IRQ_1

source§

impl Interrupt for I2C0_IRQ

source§

const IRQ: Interrupt = super::Interrupt::I2C0_IRQ

source§

impl Interrupt for I2C1_IRQ

source§

const IRQ: Interrupt = super::Interrupt::I2C1_IRQ

source§

impl Interrupt for IO_IRQ_BANK0

source§

const IRQ: Interrupt = super::Interrupt::IO_IRQ_BANK0

source§

impl Interrupt for IO_IRQ_QSPI

source§

const IRQ: Interrupt = super::Interrupt::IO_IRQ_QSPI

source§

impl Interrupt for PIO0_IRQ_0

source§

const IRQ: Interrupt = super::Interrupt::PIO0_IRQ_0

source§

impl Interrupt for PIO0_IRQ_1

source§

const IRQ: Interrupt = super::Interrupt::PIO0_IRQ_1

source§

impl Interrupt for PIO1_IRQ_0

source§

const IRQ: Interrupt = super::Interrupt::PIO1_IRQ_0

source§

impl Interrupt for PIO1_IRQ_1

source§

const IRQ: Interrupt = super::Interrupt::PIO1_IRQ_1

source§

impl Interrupt for PWM_IRQ_WRAP

source§

const IRQ: Interrupt = super::Interrupt::PWM_IRQ_WRAP

source§

impl Interrupt for RTC_IRQ

source§

const IRQ: Interrupt = super::Interrupt::RTC_IRQ

source§

impl Interrupt for SIO_IRQ_PROC0

source§

const IRQ: Interrupt = super::Interrupt::SIO_IRQ_PROC0

source§

impl Interrupt for SIO_IRQ_PROC1

source§

const IRQ: Interrupt = super::Interrupt::SIO_IRQ_PROC1

source§

impl Interrupt for SPI0_IRQ

source§

const IRQ: Interrupt = super::Interrupt::SPI0_IRQ

source§

impl Interrupt for SPI1_IRQ

source§

const IRQ: Interrupt = super::Interrupt::SPI1_IRQ

source§

impl Interrupt for SWI_IRQ_0

source§

const IRQ: Interrupt = super::Interrupt::SWI_IRQ_0

source§

impl Interrupt for SWI_IRQ_1

source§

const IRQ: Interrupt = super::Interrupt::SWI_IRQ_1

source§

impl Interrupt for SWI_IRQ_2

source§

const IRQ: Interrupt = super::Interrupt::SWI_IRQ_2

source§

impl Interrupt for SWI_IRQ_3

source§

const IRQ: Interrupt = super::Interrupt::SWI_IRQ_3

source§

impl Interrupt for SWI_IRQ_4

source§

const IRQ: Interrupt = super::Interrupt::SWI_IRQ_4

source§

impl Interrupt for SWI_IRQ_5

source§

const IRQ: Interrupt = super::Interrupt::SWI_IRQ_5

source§

impl Interrupt for TIMER_IRQ_0

source§

const IRQ: Interrupt = super::Interrupt::TIMER_IRQ_0

source§

impl Interrupt for TIMER_IRQ_1

source§

const IRQ: Interrupt = super::Interrupt::TIMER_IRQ_1

source§

impl Interrupt for TIMER_IRQ_2

source§

const IRQ: Interrupt = super::Interrupt::TIMER_IRQ_2

source§

impl Interrupt for TIMER_IRQ_3

source§

const IRQ: Interrupt = super::Interrupt::TIMER_IRQ_3

source§

impl Interrupt for UART0_IRQ

source§

const IRQ: Interrupt = super::Interrupt::UART0_IRQ

source§

impl Interrupt for UART1_IRQ

source§

const IRQ: Interrupt = super::Interrupt::UART1_IRQ

source§

impl Interrupt for USBCTRL_IRQ

source§

const IRQ: Interrupt = super::Interrupt::USBCTRL_IRQ

source§

impl Interrupt for XIP_IRQ

source§

const IRQ: Interrupt = super::Interrupt::XIP_IRQ