stm32/i2c: Move I2C IRQ handlers from stm32_it.c to i2c.c.
And add MP_STATIC_ASSERT to statically check that the IRQ names are correct on the MCU that it's compiled for. Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
parent
1b578fe2c0
commit
9b1778fc77
2 changed files with 68 additions and 61 deletions
|
|
@ -590,4 +590,72 @@ int i2c_find_peripheral(mp_obj_t id) {
|
|||
return i2c_id;
|
||||
}
|
||||
|
||||
#if MICROPY_PY_PYB_LEGACY
|
||||
|
||||
#if defined(MICROPY_HW_I2C1_SCL)
|
||||
void I2C1_EV_IRQHandler(void) {
|
||||
MP_STATIC_ASSERT(I2C1_EV_IRQn > 0);
|
||||
IRQ_ENTER(I2C1_EV_IRQn);
|
||||
i2c_ev_irq_handler(1);
|
||||
IRQ_EXIT(I2C1_EV_IRQn);
|
||||
}
|
||||
|
||||
void I2C1_ER_IRQHandler(void) {
|
||||
MP_STATIC_ASSERT(I2C1_ER_IRQn > 0);
|
||||
IRQ_ENTER(I2C1_ER_IRQn);
|
||||
i2c_er_irq_handler(1);
|
||||
IRQ_EXIT(I2C1_ER_IRQn);
|
||||
}
|
||||
#endif // defined(MICROPY_HW_I2C1_SCL)
|
||||
|
||||
#if defined(MICROPY_HW_I2C2_SCL)
|
||||
void I2C2_EV_IRQHandler(void) {
|
||||
MP_STATIC_ASSERT(I2C2_EV_IRQn > 0);
|
||||
IRQ_ENTER(I2C2_EV_IRQn);
|
||||
i2c_ev_irq_handler(2);
|
||||
IRQ_EXIT(I2C2_EV_IRQn);
|
||||
}
|
||||
|
||||
void I2C2_ER_IRQHandler(void) {
|
||||
MP_STATIC_ASSERT(I2C2_ER_IRQn > 0);
|
||||
IRQ_ENTER(I2C2_ER_IRQn);
|
||||
i2c_er_irq_handler(2);
|
||||
IRQ_EXIT(I2C2_ER_IRQn);
|
||||
}
|
||||
#endif // defined(MICROPY_HW_I2C2_SCL)
|
||||
|
||||
#if defined(MICROPY_HW_I2C3_SCL)
|
||||
void I2C3_EV_IRQHandler(void) {
|
||||
MP_STATIC_ASSERT(I2C3_EV_IRQn > 0);
|
||||
IRQ_ENTER(I2C3_EV_IRQn);
|
||||
i2c_ev_irq_handler(3);
|
||||
IRQ_EXIT(I2C3_EV_IRQn);
|
||||
}
|
||||
|
||||
void I2C3_ER_IRQHandler(void) {
|
||||
MP_STATIC_ASSERT(I2C3_ER_IRQn > 0);
|
||||
IRQ_ENTER(I2C3_ER_IRQn);
|
||||
i2c_er_irq_handler(3);
|
||||
IRQ_EXIT(I2C3_ER_IRQn);
|
||||
}
|
||||
#endif // defined(MICROPY_HW_I2C3_SCL)
|
||||
|
||||
#if defined(MICROPY_HW_I2C4_SCL)
|
||||
void I2C4_EV_IRQHandler(void) {
|
||||
MP_STATIC_ASSERT(I2C4_EV_IRQn > 0);
|
||||
IRQ_ENTER(I2C4_EV_IRQn);
|
||||
i2c_ev_irq_handler(4);
|
||||
IRQ_EXIT(I2C4_EV_IRQn);
|
||||
}
|
||||
|
||||
void I2C4_ER_IRQHandler(void) {
|
||||
MP_STATIC_ASSERT(I2C4_ER_IRQn > 0);
|
||||
IRQ_ENTER(I2C4_ER_IRQn);
|
||||
i2c_er_irq_handler(4);
|
||||
IRQ_EXIT(I2C4_ER_IRQn);
|
||||
}
|
||||
#endif // defined(MICROPY_HW_I2C4_SCL)
|
||||
|
||||
#endif // MICROPY_PY_PYB_LEGACY
|
||||
|
||||
#endif // MICROPY_HW_ENABLE_HW_I2C
|
||||
|
|
|
|||
|
|
@ -80,7 +80,6 @@
|
|||
#include "uart.h"
|
||||
#include "storage.h"
|
||||
#include "dma.h"
|
||||
#include "i2c.h"
|
||||
#include "usb.h"
|
||||
|
||||
#if defined(MICROPY_HW_USB_FS)
|
||||
|
|
@ -987,63 +986,3 @@ void LPUART2_IRQHandler(void) {
|
|||
IRQ_EXIT(LPUART2_IRQn);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if MICROPY_PY_PYB_LEGACY
|
||||
|
||||
#if defined(MICROPY_HW_I2C1_SCL)
|
||||
void I2C1_EV_IRQHandler(void) {
|
||||
IRQ_ENTER(I2C1_EV_IRQn);
|
||||
i2c_ev_irq_handler(1);
|
||||
IRQ_EXIT(I2C1_EV_IRQn);
|
||||
}
|
||||
|
||||
void I2C1_ER_IRQHandler(void) {
|
||||
IRQ_ENTER(I2C1_ER_IRQn);
|
||||
i2c_er_irq_handler(1);
|
||||
IRQ_EXIT(I2C1_ER_IRQn);
|
||||
}
|
||||
#endif // defined(MICROPY_HW_I2C1_SCL)
|
||||
|
||||
#if defined(MICROPY_HW_I2C2_SCL)
|
||||
void I2C2_EV_IRQHandler(void) {
|
||||
IRQ_ENTER(I2C2_EV_IRQn);
|
||||
i2c_ev_irq_handler(2);
|
||||
IRQ_EXIT(I2C2_EV_IRQn);
|
||||
}
|
||||
|
||||
void I2C2_ER_IRQHandler(void) {
|
||||
IRQ_ENTER(I2C2_ER_IRQn);
|
||||
i2c_er_irq_handler(2);
|
||||
IRQ_EXIT(I2C2_ER_IRQn);
|
||||
}
|
||||
#endif // defined(MICROPY_HW_I2C2_SCL)
|
||||
|
||||
#if defined(MICROPY_HW_I2C3_SCL)
|
||||
void I2C3_EV_IRQHandler(void) {
|
||||
IRQ_ENTER(I2C3_EV_IRQn);
|
||||
i2c_ev_irq_handler(3);
|
||||
IRQ_EXIT(I2C3_EV_IRQn);
|
||||
}
|
||||
|
||||
void I2C3_ER_IRQHandler(void) {
|
||||
IRQ_ENTER(I2C3_ER_IRQn);
|
||||
i2c_er_irq_handler(3);
|
||||
IRQ_EXIT(I2C3_ER_IRQn);
|
||||
}
|
||||
#endif // defined(MICROPY_HW_I2C3_SCL)
|
||||
|
||||
#if defined(MICROPY_HW_I2C4_SCL)
|
||||
void I2C4_EV_IRQHandler(void) {
|
||||
IRQ_ENTER(I2C4_EV_IRQn);
|
||||
i2c_ev_irq_handler(4);
|
||||
IRQ_EXIT(I2C4_EV_IRQn);
|
||||
}
|
||||
|
||||
void I2C4_ER_IRQHandler(void) {
|
||||
IRQ_ENTER(I2C4_ER_IRQn);
|
||||
i2c_er_irq_handler(4);
|
||||
IRQ_EXIT(I2C4_ER_IRQn);
|
||||
}
|
||||
#endif // defined(MICROPY_HW_I2C4_SCL)
|
||||
|
||||
#endif // MICROPY_PY_PYB_LEGACY
|
||||
|
|
|
|||
Loading…
Reference in a new issue