From 4fae3d2321a07566a39b5f3114d796eca69bff67 Mon Sep 17 00:00:00 2001 From: iabdalkader Date: Thu, 2 Jun 2022 12:44:06 +0200 Subject: [PATCH] boards/all: Rename VSYNC EXTI config. --- src/omv/boards/NICLAV/omv_boardconfig.h | 6 ++++-- src/omv/boards/OPENMV2/omv_boardconfig.h | 6 ++++-- src/omv/boards/OPENMV3/omv_boardconfig.h | 6 ++++-- src/omv/boards/OPENMV4/omv_boardconfig.h | 6 ++++-- src/omv/boards/OPENMV4P/omv_boardconfig.h | 6 ++++-- src/omv/boards/OPENMVPT/omv_boardconfig.h | 6 ++++-- src/omv/boards/PORTENTA/omv_boardconfig.h | 6 ++++-- src/omv/ports/stm32/sensor.c | 12 +++++++----- 8 files changed, 35 insertions(+), 19 deletions(-) diff --git a/src/omv/boards/NICLAV/omv_boardconfig.h b/src/omv/boards/NICLAV/omv_boardconfig.h index d6e3f5f70..221b7dda8 100644 --- a/src/omv/boards/NICLAV/omv_boardconfig.h +++ b/src/omv/boards/NICLAV/omv_boardconfig.h @@ -297,8 +297,10 @@ #define DCMI_PWDN_HIGH() #endif -#define DCMI_VSYNC_IRQN EXTI9_5_IRQn -#define DCMI_VSYNC_IRQ_LINE (9) +#define DCMI_VSYNC_EXTI_IRQN (EXTI9_5_IRQn) +#define DCMI_VSYNC_EXTI_LINE (9) +#define DCMI_VSYNC_EXTI_GPIO (EXTI_GPIOG) +#define DCMI_VSYNC_EXTI_SHARED (0) #define SOFT_I2C_PORT GPIOC #define SOFT_I2C_SIOC_PIN GPIO_PIN_10 diff --git a/src/omv/boards/OPENMV2/omv_boardconfig.h b/src/omv/boards/OPENMV2/omv_boardconfig.h index efe0a61b0..cffeee12a 100644 --- a/src/omv/boards/OPENMV2/omv_boardconfig.h +++ b/src/omv/boards/OPENMV2/omv_boardconfig.h @@ -202,8 +202,10 @@ #define DCMI_PWDN_LOW() HAL_GPIO_WritePin(DCMI_PWDN_PORT, DCMI_PWDN_PIN, GPIO_PIN_RESET) #define DCMI_PWDN_HIGH() HAL_GPIO_WritePin(DCMI_PWDN_PORT, DCMI_PWDN_PIN, GPIO_PIN_SET) -#define DCMI_VSYNC_IRQN EXTI9_5_IRQn -#define DCMI_VSYNC_IRQ_LINE (7) +#define DCMI_VSYNC_EXTI_IRQN (EXTI9_5_IRQn) +#define DCMI_VSYNC_EXTI_LINE (7) +#define DCMI_VSYNC_EXTI_GPIO (EXTI_GPIOB) +#define DCMI_VSYNC_EXTI_SHARED (0) #define WINC_SPI (SPI2) #define WINC_SPI_AF (GPIO_AF5_SPI2) diff --git a/src/omv/boards/OPENMV3/omv_boardconfig.h b/src/omv/boards/OPENMV3/omv_boardconfig.h index d31ee3cb5..8e3554e12 100644 --- a/src/omv/boards/OPENMV3/omv_boardconfig.h +++ b/src/omv/boards/OPENMV3/omv_boardconfig.h @@ -202,8 +202,10 @@ #define DCMI_PWDN_LOW() HAL_GPIO_WritePin(DCMI_PWDN_PORT, DCMI_PWDN_PIN, GPIO_PIN_RESET) #define DCMI_PWDN_HIGH() HAL_GPIO_WritePin(DCMI_PWDN_PORT, DCMI_PWDN_PIN, GPIO_PIN_SET) -#define DCMI_VSYNC_IRQN EXTI9_5_IRQn -#define DCMI_VSYNC_IRQ_LINE (7) +#define DCMI_VSYNC_EXTI_IRQN (EXTI9_5_IRQn) +#define DCMI_VSYNC_EXTI_LINE (7) +#define DCMI_VSYNC_EXTI_GPIO (EXTI_GPIOB) +#define DCMI_VSYNC_EXTI_SHARED (0) #define WINC_SPI (SPI2) #define WINC_SPI_AF (GPIO_AF5_SPI2) diff --git a/src/omv/boards/OPENMV4/omv_boardconfig.h b/src/omv/boards/OPENMV4/omv_boardconfig.h index b1c8d86d6..2e57fc021 100644 --- a/src/omv/boards/OPENMV4/omv_boardconfig.h +++ b/src/omv/boards/OPENMV4/omv_boardconfig.h @@ -295,8 +295,10 @@ #define DCMI_FSYNC_LOW() HAL_GPIO_WritePin(DCMI_FSYNC_PORT, DCMI_FSYNC_PIN, GPIO_PIN_RESET) #define DCMI_FSYNC_HIGH() HAL_GPIO_WritePin(DCMI_FSYNC_PORT, DCMI_FSYNC_PIN, GPIO_PIN_SET) -#define DCMI_VSYNC_IRQN EXTI9_5_IRQn -#define DCMI_VSYNC_IRQ_LINE (7) +#define DCMI_VSYNC_EXTI_IRQN (EXTI9_5_IRQn) +#define DCMI_VSYNC_EXTI_LINE (7) +#define DCMI_VSYNC_EXTI_GPIO (EXTI_GPIOB) +#define DCMI_VSYNC_EXTI_SHARED (0) #define WINC_SPI (SPI2) #define WINC_SPI_AF (GPIO_AF5_SPI2) diff --git a/src/omv/boards/OPENMV4P/omv_boardconfig.h b/src/omv/boards/OPENMV4P/omv_boardconfig.h index e511353bf..0dd85756f 100644 --- a/src/omv/boards/OPENMV4P/omv_boardconfig.h +++ b/src/omv/boards/OPENMV4P/omv_boardconfig.h @@ -296,8 +296,10 @@ #define DCMI_FSYNC_LOW() HAL_GPIO_WritePin(DCMI_FSYNC_PORT, DCMI_FSYNC_PIN, GPIO_PIN_RESET) #define DCMI_FSYNC_HIGH() HAL_GPIO_WritePin(DCMI_FSYNC_PORT, DCMI_FSYNC_PIN, GPIO_PIN_SET) -#define DCMI_VSYNC_IRQN EXTI9_5_IRQn -#define DCMI_VSYNC_IRQ_LINE (7) +#define DCMI_VSYNC_EXTI_IRQN (EXTI9_5_IRQn) +#define DCMI_VSYNC_EXTI_LINE (7) +#define DCMI_VSYNC_EXTI_GPIO (EXTI_GPIOB) +#define DCMI_VSYNC_EXTI_SHARED (0) #define WINC_SPI (SPI2) #define WINC_SPI_AF (GPIO_AF5_SPI2) diff --git a/src/omv/boards/OPENMVPT/omv_boardconfig.h b/src/omv/boards/OPENMVPT/omv_boardconfig.h index 24364296c..c82a32b97 100644 --- a/src/omv/boards/OPENMVPT/omv_boardconfig.h +++ b/src/omv/boards/OPENMVPT/omv_boardconfig.h @@ -294,8 +294,10 @@ #define DCMI_PWDN_LOW() HAL_GPIO_WritePin(DCMI_PWDN_PORT, DCMI_PWDN_PIN, GPIO_PIN_RESET) #define DCMI_PWDN_HIGH() HAL_GPIO_WritePin(DCMI_PWDN_PORT, DCMI_PWDN_PIN, GPIO_PIN_SET) -#define DCMI_VSYNC_IRQN EXTI9_5_IRQn -#define DCMI_VSYNC_IRQ_LINE (7) +#define DCMI_VSYNC_EXTI_IRQN (EXTI9_5_IRQn) +#define DCMI_VSYNC_EXTI_LINE (7) +#define DCMI_VSYNC_EXTI_GPIO (EXTI_GPIOB) +#define DCMI_VSYNC_EXTI_SHARED (0) #define WINC_SPI (SPI5) #define WINC_SPI_AF (GPIO_AF5_SPI5) diff --git a/src/omv/boards/PORTENTA/omv_boardconfig.h b/src/omv/boards/PORTENTA/omv_boardconfig.h index a85dd650e..367522ef6 100644 --- a/src/omv/boards/PORTENTA/omv_boardconfig.h +++ b/src/omv/boards/PORTENTA/omv_boardconfig.h @@ -346,8 +346,10 @@ #define DCMI_FSYNC_HIGH() #endif -#define DCMI_VSYNC_IRQN EXTI9_5_IRQn -#define DCMI_VSYNC_IRQ_LINE (5) +#define DCMI_VSYNC_EXTI_IRQN (EXTI9_5_IRQn) +#define DCMI_VSYNC_EXTI_LINE (5) +#define DCMI_VSYNC_EXTI_GPIO (EXTI_GPIOI) +#define DCMI_VSYNC_EXTI_SHARED (1) #define SOFT_I2C_PORT GPIOB #define SOFT_I2C_SIOC_PIN GPIO_PIN_10 diff --git a/src/omv/ports/stm32/sensor.c b/src/omv/ports/stm32/sensor.c index f629aa11a..6fea0ed63 100644 --- a/src/omv/ports/stm32/sensor.c +++ b/src/omv/ports/stm32/sensor.c @@ -334,20 +334,22 @@ int sensor_set_vsync_callback(vsync_cb_t vsync_cb) { sensor.vsync_callback = vsync_cb; if (sensor.vsync_callback == NULL) { + #if (DCMI_VSYNC_EXTI_SHARED == 0) // Disable VSYNC EXTI IRQ - HAL_NVIC_DisableIRQ(DCMI_VSYNC_IRQN); + HAL_NVIC_DisableIRQ(DCMI_VSYNC_EXTI_IRQN); + #endif } else { // Enable VSYNC EXTI IRQ - NVIC_SetPriority(DCMI_VSYNC_IRQN, IRQ_PRI_EXTINT); - HAL_NVIC_EnableIRQ(DCMI_VSYNC_IRQN); + NVIC_SetPriority(DCMI_VSYNC_EXTI_IRQN, IRQ_PRI_EXTINT); + HAL_NVIC_EnableIRQ(DCMI_VSYNC_EXTI_IRQN); } return 0; } void DCMI_VsyncExtiCallback() { - if (__HAL_GPIO_EXTI_GET_FLAG(1 << DCMI_VSYNC_IRQ_LINE)) { - __HAL_GPIO_EXTI_CLEAR_FLAG(1 << DCMI_VSYNC_IRQ_LINE); + if (__HAL_GPIO_EXTI_GET_FLAG(1 << DCMI_VSYNC_EXTI_LINE)) { + __HAL_GPIO_EXTI_CLEAR_FLAG(1 << DCMI_VSYNC_EXTI_LINE); if (sensor.vsync_callback != NULL) { sensor.vsync_callback(HAL_GPIO_ReadPin(DCMI_VSYNC_PORT, DCMI_VSYNC_PIN)); }