embassy-rp

Crates

git

Versions

rp235xb

Flavors

embassy_rp::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 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_BANK0_NS

Source§

const IRQ: Interrupt = super::Interrupt::IO_IRQ_BANK0_NS

Source§

impl Interrupt for IO_IRQ_QSPI

Source§

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

Source§

impl Interrupt for IO_IRQ_QSPI_NS

Source§

const IRQ: Interrupt = super::Interrupt::IO_IRQ_QSPI_NS

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 PIO2_IRQ_0

Source§

const IRQ: Interrupt = super::Interrupt::PIO2_IRQ_0

Source§

impl Interrupt for PIO2_IRQ_1

Source§

const IRQ: Interrupt = super::Interrupt::PIO2_IRQ_1

Source§

impl Interrupt for PLL_SYS_IRQ

Source§

const IRQ: Interrupt = super::Interrupt::PLL_SYS_IRQ

Source§

impl Interrupt for PLL_USB_IRQ

Source§

const IRQ: Interrupt = super::Interrupt::PLL_USB_IRQ

Source§

impl Interrupt for PWM_IRQ_WRAP_0

Source§

const IRQ: Interrupt = super::Interrupt::PWM_IRQ_WRAP_0

Source§

impl Interrupt for PWM_IRQ_WRAP_1

Source§

const IRQ: Interrupt = super::Interrupt::PWM_IRQ_WRAP_1

Source§

impl Interrupt for SIO_IRQ_BELL

Source§

const IRQ: Interrupt = super::Interrupt::SIO_IRQ_BELL

Source§

impl Interrupt for SIO_IRQ_BELL_NS

Source§

const IRQ: Interrupt = super::Interrupt::SIO_IRQ_BELL_NS

Source§

impl Interrupt for SIO_IRQ_FIFO

Source§

const IRQ: Interrupt = super::Interrupt::SIO_IRQ_FIFO

Source§

impl Interrupt for SIO_IRQ_FIFO_NS

Source§

const IRQ: Interrupt = super::Interrupt::SIO_IRQ_FIFO_NS

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 TIMER0_IRQ_0

Source§

const IRQ: Interrupt = super::Interrupt::TIMER0_IRQ_0

Source§

impl Interrupt for TIMER0_IRQ_1

Source§

const IRQ: Interrupt = super::Interrupt::TIMER0_IRQ_1

Source§

impl Interrupt for TIMER0_IRQ_2

Source§

const IRQ: Interrupt = super::Interrupt::TIMER0_IRQ_2

Source§

impl Interrupt for TIMER0_IRQ_3

Source§

const IRQ: Interrupt = super::Interrupt::TIMER0_IRQ_3

Source§

impl Interrupt for TIMER1_IRQ_0

Source§

const IRQ: Interrupt = super::Interrupt::TIMER1_IRQ_0

Source§

impl Interrupt for TIMER1_IRQ_1

Source§

const IRQ: Interrupt = super::Interrupt::TIMER1_IRQ_1

Source§

impl Interrupt for TIMER1_IRQ_2

Source§

const IRQ: Interrupt = super::Interrupt::TIMER1_IRQ_2

Source§

impl Interrupt for TIMER1_IRQ_3

Source§

const IRQ: Interrupt = super::Interrupt::TIMER1_IRQ_3

Source§

impl Interrupt for TRNG_IRQ

Source§

const IRQ: Interrupt = super::Interrupt::TRNG_IRQ

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