summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/stm32/i2c.c68
-rw-r--r--ports/stm32/stm32_it.c61
2 files changed, 68 insertions, 61 deletions
diff --git a/ports/stm32/i2c.c b/ports/stm32/i2c.c
index a1fde7e6b..883734bb1 100644
--- a/ports/stm32/i2c.c
+++ b/ports/stm32/i2c.c
@@ -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
diff --git a/ports/stm32/stm32_it.c b/ports/stm32/stm32_it.c
index 3639e2f04..9eda3cb23 100644
--- a/ports/stm32/stm32_it.c
+++ b/ports/stm32/stm32_it.c
@@ -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