embassy-rp

Crates

git

Versions

rp235xa

Flavors

Skip to main content

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".

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 POWMAN_IRQ_POW

Source§

const IRQ: Interrupt = super::Interrupt::POWMAN_IRQ_POW

Source§

impl Interrupt for POWMAN_IRQ_TIMER

Source§

const IRQ: Interrupt = super::Interrupt::POWMAN_IRQ_TIMER

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