diff --git a/src/main/interface/settings.c b/src/main/interface/settings.c index 73c7417b478..926cbf73d62 100644 --- a/src/main/interface/settings.c +++ b/src/main/interface/settings.c @@ -69,6 +69,7 @@ #include "pg/adc.h" #include "pg/beeper.h" #include "pg/beeper_dev.h" +#include "pg/bus_i2c.h" #include "pg/dashboard.h" #include "pg/flash.h" #include "pg/gyrodev.h" @@ -1259,6 +1260,24 @@ const clivalue_t valueTable[] = { { "gyro_2_i2c_address", VAR_UINT8 | MASTER_VALUE, .config.minmax = { 0, I2C_ADDR7_MAX }, PG_GYRO_DEVICE_CONFIG, PG_ARRAY_ELEMENT_OFFSET(gyroDeviceConfig_t, 1, i2cAddress) }, { "gyro_2_sensor_align", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_ALIGNMENT }, PG_GYRO_DEVICE_CONFIG, PG_ARRAY_ELEMENT_OFFSET(gyroDeviceConfig_t, 1, align) }, #endif +#ifdef I2C_FULL_RECONFIGURABILITY +#ifdef USE_I2C_DEVICE_1 + { "i2c1_pullup", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_I2C_CONFIG, PG_ARRAY_ELEMENT_OFFSET(i2cConfig_t, 0, pullUp) }, + { "i2c1_overclock", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_I2C_CONFIG, PG_ARRAY_ELEMENT_OFFSET(i2cConfig_t, 0, overClock) }, +#endif +#ifdef USE_I2C_DEVICE_2 + { "i2c2_pullup", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_I2C_CONFIG, PG_ARRAY_ELEMENT_OFFSET(i2cConfig_t, 1, pullUp) }, + { "i2c2_overclock", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_I2C_CONFIG, PG_ARRAY_ELEMENT_OFFSET(i2cConfig_t, 1, overClock) }, +#endif +#ifdef USE_I2C_DEVICE_3 + { "i2c3_pullup", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_I2C_CONFIG, PG_ARRAY_ELEMENT_OFFSET(i2cConfig_t, 2, pullUp) }, + { "i2c3_overclock", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_I2C_CONFIG, PG_ARRAY_ELEMENT_OFFSET(i2cConfig_t, 2, overClock) }, +#endif +#ifdef USE_I2C_DEVICE_4 + { "i2c4_pullup", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_I2C_CONFIG, PG_ARRAY_ELEMENT_OFFSET(i2cConfig_t, 3, pullUp) }, + { "i2c4_overclock", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_I2C_CONFIG, PG_ARRAY_ELEMENT_OFFSET(i2cConfig_t, 3, overClock) }, +#endif +#endif #ifdef USE_MCO { "mco2_on_pc9", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_MCO_CONFIG, offsetof(mcoConfig_t, enabled[1]) }, #endif diff --git a/src/main/target/STM32F405/config/ALIENFLIGHTNGF4.config b/src/main/target/STM32F405/config/ALIENFLIGHTNGF4.config index fc002d0d988..1742e2ad97b 100644 --- a/src/main/target/STM32F405/config/ALIENFLIGHTNGF4.config +++ b/src/main/target/STM32F405/config/ALIENFLIGHTNGF4.config @@ -13,6 +13,7 @@ set beeper_od = OFF # Buses resource I2C_SCL 1 B06 resource I2C_SDA 1 B07 +set i2c1_pullup = ON resource SPI_SCK 1 A05 resource SPI_MISO 1 A06 diff --git a/src/main/target/STM32F7X2/config/ALIENFLIGHTNGF7.config b/src/main/target/STM32F7X2/config/ALIENFLIGHTNGF7.config index dc82eaa4801..b8fff19324b 100644 --- a/src/main/target/STM32F7X2/config/ALIENFLIGHTNGF7.config +++ b/src/main/target/STM32F7X2/config/ALIENFLIGHTNGF7.config @@ -13,6 +13,7 @@ set beeper_od = OFF # Buses resource I2C_SCL 1 B06 resource I2C_SDA 1 B07 +set i2c1_pullup = ON resource SPI_SCK 1 A05 resource SPI_MISO 1 A06 diff --git a/src/main/target/STM32F7X2/config/ALIENFLIGHTNGF7_Dual.config b/src/main/target/STM32F7X2/config/ALIENFLIGHTNGF7_Dual.config index a7725ecdce4..19e08443ddd 100644 --- a/src/main/target/STM32F7X2/config/ALIENFLIGHTNGF7_Dual.config +++ b/src/main/target/STM32F7X2/config/ALIENFLIGHTNGF7_Dual.config @@ -13,6 +13,7 @@ set beeper_od = OFF # Buses resource I2C_SCL 1 B06 resource I2C_SDA 1 B07 +set i2c1_pullup = ON resource SPI_SCK 1 A05 resource SPI_MISO 1 A06