diff --git a/src/omv/boards/OPENMV2/omv_boardconfig.h b/src/omv/boards/OPENMV2/omv_boardconfig.h index 537f0da53..18192a551 100644 --- a/src/omv/boards/OPENMV2/omv_boardconfig.h +++ b/src/omv/boards/OPENMV2/omv_boardconfig.h @@ -123,7 +123,7 @@ #define SCCB_PORT (GPIOB) #define SCCB_SCL_PIN (GPIO_PIN_8) #define SCCB_SDA_PIN (GPIO_PIN_9) -#define SCCB_TIMING (I2C_TIMING_STANDARD) // ignored +#define SCCB_TIMING (I2C_TIMING_STANDARD) #define SCCB_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET() #define SCCB_RELEASE_RESET() __HAL_RCC_I2C1_RELEASE_RESET() diff --git a/src/omv/cambus.c b/src/omv/cambus.c index d48bd3662..7a3e71f83 100644 --- a/src/omv/cambus.c +++ b/src/omv/cambus.c @@ -14,7 +14,6 @@ #include "systick.h" #include "omv_boardconfig.h" #include "cambus.h" -#define I2C_FREQUENCY (100000) #define I2C_TIMEOUT (1000) #define I2C_SCAN_TIMEOUT (100) @@ -26,7 +25,7 @@ int cambus_init(I2C_HandleTypeDef *i2c, I2C_TypeDef *instance, uint32_t timing) #if !defined(STM32F4) i2c->Init.Timing = timing; #else - i2c->Init.ClockSpeed = I2C_FREQUENCY; + i2c->Init.ClockSpeed = timing; i2c->Init.DutyCycle = I2C_DUTYCYCLE_2; #endif i2c->Init.DualAddressMode = I2C_DUALADDRESS_DISABLED; diff --git a/src/omv/cambus.h b/src/omv/cambus.h index f9cabf63d..bd1dd3a47 100644 --- a/src/omv/cambus.h +++ b/src/omv/cambus.h @@ -13,9 +13,9 @@ #include #include STM32_HAL_H #if defined(STM32F4) -#define I2C_TIMING_STANDARD (0) -#define I2C_TIMING_FULL (0) -#define I2C_TIMING_FAST (0) +#define I2C_TIMING_STANDARD (100000U) +#define I2C_TIMING_FULL (400000U) +#define I2C_TIMING_FAST (400000U) #elif defined(STM32F7) // These timing values are for f_I2CCLK=54MHz and are only approximate #define I2C_TIMING_STANDARD (0x1090699B)