Unified dual I2C naming across Taranis and Horus builds.

Using "*_B1_*" for first logical I2C bus and "*_B2_*" for second logical I2C bus (instead of less clear I2C and I2CX).
This commit is contained in:
rotorman
2021-08-21 15:59:19 +02:00
parent b123caba06
commit d19dcb9fc9
10 changed files with 230 additions and 203 deletions
+48 -21
View File
@@ -33,52 +33,79 @@ void I2C_MspInit(I2C_HandleTypeDef* hi2c)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
if (I2C_TP_GPIO == GPIOA)
if (I2C_B1_GPIO == GPIOA)
__HAL_RCC_GPIOA_CLK_ENABLE();
else if (I2C_TP_GPIO == GPIOB)
else if (I2C_B1_GPIO == GPIOB)
__HAL_RCC_GPIOB_CLK_ENABLE();
else if (I2C_TP_GPIO == GPIOC)
else if (I2C_B1_GPIO == GPIOC)
__HAL_RCC_GPIOC_CLK_ENABLE();
else if (I2C_TP_GPIO == GPIOH)
else if (I2C_B1_GPIO == GPIOH)
__HAL_RCC_GPIOH_CLK_ENABLE();
else
TRACE("I2C ERROR: HAL_I2C_MspInit() I2C_GPIO misconfiguration");
TRACE("I2C B1 ERROR: HAL_I2C_MspInit() I2C_GPIO misconfiguration");
#if defined(IMU_LSM6DS33)
if (I2C_B2_GPIO == GPIOA)
__HAL_RCC_GPIOA_CLK_ENABLE();
else if (I2C_B2_GPIO == GPIOB)
__HAL_RCC_GPIOB_CLK_ENABLE();
else if (I2C_B2_GPIO == GPIOC)
__HAL_RCC_GPIOC_CLK_ENABLE();
else if (I2C_B2_GPIO == GPIOH)
__HAL_RCC_GPIOH_CLK_ENABLE();
else
TRACE("I2C B2 ERROR: HAL_I2C_MspInit() I2C_GPIO misconfiguration");
#endif
if ((hi2c->Instance==I2C1) || (hi2c->Instance==I2C3)) // TP
{
GPIO_PinAFConfig(I2C_TP_GPIO, I2C_TP_SCL_GPIO_PinSource, I2C_TP_GPIO_AF);
GPIO_PinAFConfig(I2C_TP_GPIO, I2C_TP_SDA_GPIO_PinSource, I2C_TP_GPIO_AF);
GPIO_PinAFConfig(I2C_B1_GPIO, I2C_B1_SCL_GPIO_PinSource, I2C_B1_GPIO_AF);
GPIO_PinAFConfig(I2C_B1_GPIO, I2C_B1_SDA_GPIO_PinSource, I2C_B1_GPIO_AF);
GPIO_InitStruct.GPIO_Pin = I2C_TP_SCL_GPIO_PIN | I2C_TP_SDA_GPIO_PIN;
GPIO_InitStruct.GPIO_Pin = I2C_B1_SCL_GPIO_PIN | I2C_B1_SDA_GPIO_PIN;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStruct.GPIO_OType = GPIO_OType_OD;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(I2C_TP_GPIO, &GPIO_InitStruct);
GPIO_Init(I2C_B1_GPIO, &GPIO_InitStruct);
}
#if defined(IMU_LSM6DS33)
if (hi2c->Instance==I2C2) // IMU
{
GPIO_PinAFConfig(I2C_IMU_GPIO, I2C_IMU_SCL_GPIO_PinSource, I2C_IMU_GPIO_AF);
GPIO_PinAFConfig(I2C_IMU_GPIO, I2C_IMU_SDA_GPIO_PinSource, I2C_IMU_GPIO_AF);
GPIO_PinAFConfig(I2C_B2_GPIO, I2C_B2_SCL_GPIO_PinSource, I2C_B2_GPIO_AF);
GPIO_PinAFConfig(I2C_B2_GPIO, I2C_B2_SDA_GPIO_PinSource, I2C_B2_GPIO_AF);
GPIO_InitStruct.GPIO_Pin = I2C_IMU_SCL_GPIO_PIN | I2C_IMU_SDA_GPIO_PIN;
GPIO_InitStruct.GPIO_Pin = I2C_B2_SCL_GPIO_PIN | I2C_B2_SDA_GPIO_PIN;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStruct.GPIO_OType = GPIO_OType_OD;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(I2C_IMU_GPIO, &GPIO_InitStruct);
GPIO_Init(I2C_B2_GPIO, &GPIO_InitStruct);
}
#endif
/* Peripheral clock enable */
if (I2C_TP == I2C1)
if (I2C_B1 == I2C1)
__HAL_RCC_I2C1_CLK_ENABLE();
else if (I2C_TP == I2C2)
else if (I2C_B1 == I2C2)
__HAL_RCC_I2C2_CLK_ENABLE();
else if (I2C_TP == I2C3)
else if (I2C_B1 == I2C3)
__HAL_RCC_I2C3_CLK_ENABLE();
else
TRACE("I2C ERROR: HAL_I2C_MspInit() I2C misconfiguration");
TRACE("I2C B1 ERROR: HAL_I2C_MspInit() I2C misconfiguration");
#if defined(IMU_LSM6DS33)
/* Peripheral clock enable */
if (I2C_B2 == I2C1)
__HAL_RCC_I2C1_CLK_ENABLE();
else if (I2C_B2 == I2C2)
__HAL_RCC_I2C2_CLK_ENABLE();
else if (I2C_B2 == I2C3)
__HAL_RCC_I2C3_CLK_ENABLE();
else
TRACE("I2C B2 ERROR: HAL_I2C_MspInit() I2C misconfiguration");
#endif
}
/* De-initializes the GPIOx peripheral registers to their default reset values.
@@ -171,15 +198,15 @@ void HAL_I2C_MspDeInit(I2C_HandleTypeDef* hi2c)
GPIO_InitTypeDef GPIO_InitStructure;
/* Configure the default Alternate Function in current IO */
GPIO_PinAFConfig(I2C_TP_GPIO, I2C_TP_SCL_GPIO_PinSource, 0);
GPIO_PinAFConfig(I2C_TP_GPIO, I2C_TP_SDA_GPIO_PinSource, 0);
GPIO_PinAFConfig(I2C_B1_GPIO, I2C_B1_SCL_GPIO_PinSource, 0);
GPIO_PinAFConfig(I2C_B1_GPIO, I2C_B1_SDA_GPIO_PinSource, 0);
GPIO_InitStructure.GPIO_Pin = I2C_TP_SCL_GPIO_PIN | I2C_TP_SDA_GPIO_PIN;
GPIO_InitStructure.GPIO_Pin = I2C_B1_SCL_GPIO_PIN | I2C_B1_SDA_GPIO_PIN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; /* Configure a low value for IO Speed */
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; /* Configure IO Direction in Input Floating Mode */
GPIO_InitStructure.GPIO_OType = GPIO_OType_OD; /* Leave the configuration to Open Drain */
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; /* Deactivate the Pull-up and Pull-down resistor for the current IO */
GPIO_Init(I2C_TP_GPIO, &GPIO_InitStructure);
GPIO_Init(I2C_B1_GPIO, &GPIO_InitStructure);
}
/* Initializes the I2C according to the specified parameters