2021-03-29 04:11:32 +02:00
|
|
|
//! Interrupt management
|
|
|
|
//!
|
|
|
|
//! This module implements an API for managing interrupts compatible with
|
|
|
|
//! nrf_softdevice::interrupt. Intended for switching between the two at compile-time.
|
|
|
|
|
|
|
|
// Re-exports
|
|
|
|
pub use embassy::interrupt::{declare, take, Interrupt};
|
2021-07-29 13:44:51 +02:00
|
|
|
pub use embassy_hal_common::interrupt::Priority3 as Priority;
|
2021-03-29 04:11:32 +02:00
|
|
|
|
|
|
|
mod irqs {
|
|
|
|
use super::*;
|
2021-05-17 03:01:30 +02:00
|
|
|
use crate::pac::Interrupt as InterruptEnum;
|
2021-03-29 04:11:32 +02:00
|
|
|
|
|
|
|
declare!(TIMER_IRQ_0);
|
|
|
|
declare!(TIMER_IRQ_1);
|
|
|
|
declare!(TIMER_IRQ_2);
|
|
|
|
declare!(TIMER_IRQ_3);
|
|
|
|
declare!(PWM_IRQ_WRAP);
|
|
|
|
declare!(USBCTRL_IRQ);
|
|
|
|
declare!(XIP_IRQ);
|
|
|
|
declare!(PIO0_IRQ_0);
|
|
|
|
declare!(PIO0_IRQ_1);
|
|
|
|
declare!(PIO1_IRQ_0);
|
|
|
|
declare!(PIO1_IRQ_1);
|
|
|
|
declare!(DMA_IRQ_0);
|
|
|
|
declare!(DMA_IRQ_1);
|
|
|
|
declare!(IO_IRQ_BANK0);
|
|
|
|
declare!(IO_IRQ_QSPI);
|
|
|
|
declare!(SIO_IRQ_PROC0);
|
|
|
|
declare!(SIO_IRQ_PROC1);
|
|
|
|
declare!(CLOCKS_IRQ);
|
|
|
|
declare!(SPI0_IRQ);
|
|
|
|
declare!(SPI1_IRQ);
|
|
|
|
declare!(UART0_IRQ);
|
|
|
|
declare!(UART1_IRQ);
|
|
|
|
declare!(ADC_IRQ_FIFO);
|
|
|
|
declare!(I2C0_IRQ);
|
|
|
|
declare!(I2C1_IRQ);
|
|
|
|
declare!(RTC_IRQ);
|
|
|
|
}
|
|
|
|
|
|
|
|
pub use irqs::*;
|