diff --git a/src/drivers/barometer/lps22hb/lps22hb_main.cpp b/src/drivers/barometer/lps22hb/lps22hb_main.cpp index f503da5d48..35d60be5fb 100644 --- a/src/drivers/barometer/lps22hb/lps22hb_main.cpp +++ b/src/drivers/barometer/lps22hb/lps22hb_main.cpp @@ -60,6 +60,12 @@ struct lps22hb_bus_option { LPS22HB *dev; } bus_options[] = { { LPS22HB_BUS_I2C_EXTERNAL, "/dev/lps22hb_ext", &LPS22HB_I2C_interface, PX4_I2C_BUS_EXPANSION, NULL }, +#ifdef PX4_I2C_BUS_EXPANSION1 + { LPS22HB_BUS_I2C_EXTERNAL, "/dev/lps22hb_ext1", &LPS22HB_I2C_interface, PX4_I2C_BUS_EXPANSION1, NULL }, +#endif +#ifdef PX4_I2C_BUS_EXPANSION2 + { LPS22HB_BUS_I2C_EXTERNAL, "/dev/lps22hb_ext2", &LPS22HB_I2C_interface, PX4_I2C_BUS_EXPANSION2, NULL }, +#endif #ifdef PX4_I2C_BUS_ONBOARD { LPS22HB_BUS_I2C_INTERNAL, "/dev/lps22hb_int", &LPS22HB_I2C_interface, PX4_I2C_BUS_ONBOARD, NULL }, #endif diff --git a/src/drivers/barometer/lps25h/lps25h.cpp b/src/drivers/barometer/lps25h/lps25h.cpp index e7afc3e623..8a6c3b0dd9 100644 --- a/src/drivers/barometer/lps25h/lps25h.cpp +++ b/src/drivers/barometer/lps25h/lps25h.cpp @@ -789,6 +789,12 @@ struct lps25h_bus_option { LPS25H *dev; } bus_options[] = { { LPS25H_BUS_I2C_EXTERNAL, "/dev/lps25h_ext", &LPS25H_I2C_interface, PX4_I2C_BUS_EXPANSION, NULL }, +#ifdef PX4_I2C_BUS_EXPANSION1 + { LPS25H_BUS_I2C_EXTERNAL, "/dev/lps25h_ext1", &LPS25H_I2C_interface, PX4_I2C_BUS_EXPANSION1, NULL }, +#endif +#ifdef PX4_I2C_BUS_EXPANSION2 + { LPS25H_BUS_I2C_EXTERNAL, "/dev/lps25h_ext2", &LPS25H_I2C_interface, PX4_I2C_BUS_EXPANSION2, NULL }, +#endif #ifdef PX4_I2C_BUS_ONBOARD { LPS25H_BUS_I2C_INTERNAL, "/dev/lps25h_int", &LPS25H_I2C_interface, PX4_I2C_BUS_ONBOARD, NULL }, #endif diff --git a/src/drivers/barometer/mpl3115a2/mpl3115a2.cpp b/src/drivers/barometer/mpl3115a2/mpl3115a2.cpp index da4c55ba92..0d89f5b674 100644 --- a/src/drivers/barometer/mpl3115a2/mpl3115a2.cpp +++ b/src/drivers/barometer/mpl3115a2/mpl3115a2.cpp @@ -714,6 +714,12 @@ struct mpl3115a2_bus_option { #ifdef PX4_I2C_BUS_EXPANSION { MPL3115A2_BUS_I2C_EXTERNAL, "/dev/mpl3115a2_ext", &MPL3115A2_i2c_interface, PX4_I2C_BUS_EXPANSION, NULL }, #endif +#ifdef PX4_I2C_BUS_EXPANSION1 + { MPL3115A2_BUS_I2C_EXTERNAL, "/dev/mpl3115a2_ext1", &MPL3115A2_i2c_interface, PX4_I2C_BUS_EXPANSION1, NULL }, +#endif +#ifdef PX4_I2C_BUS_EXPANSION2 + { MPL3115A2_BUS_I2C_EXTERNAL, "/dev/mpl3115a2_ext2", &MPL3115A2_i2c_interface, PX4_I2C_BUS_EXPANSION2, NULL }, +#endif }; #define NUM_BUS_OPTIONS (sizeof(bus_options)/sizeof(bus_options[0])) diff --git a/src/drivers/barometer/ms5611/ms5611.cpp b/src/drivers/barometer/ms5611/ms5611.cpp index bcc861d46d..eb14f5a1f9 100644 --- a/src/drivers/barometer/ms5611/ms5611.cpp +++ b/src/drivers/barometer/ms5611/ms5611.cpp @@ -869,6 +869,12 @@ struct ms5611_bus_option { #ifdef PX4_I2C_BUS_EXPANSION { MS5611_BUS_I2C_EXTERNAL, "/dev/ms5611_ext", &MS5611_i2c_interface, PX4_I2C_BUS_EXPANSION, NULL }, #endif +#ifdef PX4_I2C_BUS_EXPANSION1 + { MS5611_BUS_I2C_EXTERNAL, "/dev/ms5611_ext1", &MS5611_i2c_interface, PX4_I2C_BUS_EXPANSION1, NULL }, +#endif +#ifdef PX4_I2C_BUS_EXPANSION + { MS5611_BUS_I2C_EXTERNAL, "/dev/ms5611_ext2", &MS5611_i2c_interface, PX4_I2C_BUS_EXPANSION2, NULL }, +#endif }; #define NUM_BUS_OPTIONS (sizeof(bus_options)/sizeof(bus_options[0])) diff --git a/src/drivers/distance_sensor/ll40ls/ll40ls.cpp b/src/drivers/distance_sensor/ll40ls/ll40ls.cpp index 01fcccaba9..37745141c2 100644 --- a/src/drivers/distance_sensor/ll40ls/ll40ls.cpp +++ b/src/drivers/distance_sensor/ll40ls/ll40ls.cpp @@ -75,6 +75,9 @@ static constexpr struct ll40ls_bus_option { #ifdef PX4_I2C_BUS_EXPANSION1 { LL40LS_BUS_I2C_EXTERNAL, "/dev/ll40ls_ext1", PX4_I2C_BUS_EXPANSION1 }, #endif +#ifdef PX4_I2C_BUS_EXPANSION2 + { LL40LS_BUS_I2C_EXTERNAL, "/dev/ll40ls_ext2", PX4_I2C_BUS_EXPANSION2 }, +#endif #ifdef PX4_I2C_BUS_ONBOARD { LL40LS_BUS_I2C_INTERNAL, "/dev/ll40ls_int", PX4_I2C_BUS_ONBOARD }, #endif diff --git a/src/drivers/imu/mpu6000/mpu6000.cpp b/src/drivers/imu/mpu6000/mpu6000.cpp index a655de13f7..0f0d1aaeba 100644 --- a/src/drivers/imu/mpu6000/mpu6000.cpp +++ b/src/drivers/imu/mpu6000/mpu6000.cpp @@ -2221,12 +2221,18 @@ struct mpu6000_bus_option { MPU6000 *dev; } bus_options[] = { #if defined (USE_I2C) -# if defined(PX4_I2C_BUS_ONBOARD) +# if defined(PX4_I2C_BUS_ONBOARD) { MPU6000_BUS_I2C_INTERNAL, MPU_DEVICE_TYPE_MPU6000, MPU_DEVICE_PATH_ACCEL, MPU_DEVICE_PATH_GYRO, &MPU6000_I2C_interface, PX4_I2C_BUS_ONBOARD, false, NULL }, -# endif -# if defined(PX4_I2C_BUS_EXPANSION) +# endif +# if defined(PX4_I2C_BUS_EXPANSION) { MPU6000_BUS_I2C_EXTERNAL, MPU_DEVICE_TYPE_MPU6000, MPU_DEVICE_PATH_ACCEL_EXT, MPU_DEVICE_PATH_GYRO_EXT, &MPU6000_I2C_interface, PX4_I2C_BUS_EXPANSION, true, NULL }, -# endif +# endif +# if defined(PX4_I2C_BUS_EXPANSION1) + { MPU6000_BUS_I2C_EXTERNAL, MPU_DEVICE_TYPE_MPU6000, MPU_DEVICE_PATH_ACCEL_EXT1, MPU_DEVICE_PATH_GYRO_EXT1, &MPU6000_I2C_interface, PX4_I2C_BUS_EXPANSION1, true, NULL }, +# endif +# if defined(PX4_I2C_BUS_EXPANSION2) + { MPU6000_BUS_I2C_EXTERNAL, MPU_DEVICE_TYPE_MPU6000, MPU_DEVICE_PATH_ACCEL_EXT2, MPU_DEVICE_PATH_GYRO_EXT2, &MPU6000_I2C_interface, PX4_I2C_BUS_EXPANSION2, true, NULL }, +# endif #endif #ifdef PX4_SPIDEV_MPU { MPU6000_BUS_SPI_INTERNAL1, MPU_DEVICE_TYPE_MPU6000, MPU_DEVICE_PATH_ACCEL, MPU_DEVICE_PATH_GYRO, &MPU6000_SPI_interface, PX4_SPI_BUS_SENSORS, false, NULL }, diff --git a/src/drivers/imu/mpu6000/mpu6000.h b/src/drivers/imu/mpu6000/mpu6000.h index a5e38f25ba..0b5855e0d2 100644 --- a/src/drivers/imu/mpu6000/mpu6000.h +++ b/src/drivers/imu/mpu6000/mpu6000.h @@ -57,6 +57,8 @@ #define MPU_DEVICE_PATH_GYRO_EXT "/dev/mpu6000_gyro_ext" #define MPU_DEVICE_PATH_ACCEL_EXT1 "/dev/mpu6000_accel_ext1" #define MPU_DEVICE_PATH_GYRO_EXT1 "/dev/mpu6000_gyro_ext1" +#define MPU_DEVICE_PATH_ACCEL_EXT2 "/dev/mpu6000_accel_ext2" +#define MPU_DEVICE_PATH_GYRO_EXT2 "/dev/mpu6000_gyro_ext2" #define ICM20602_DEVICE_PATH_ACCEL "/dev/icm20602_accel" #define ICM20602_DEVICE_PATH_GYRO "/dev/icm20602_gyro" diff --git a/src/drivers/imu/mpu9250/main.cpp b/src/drivers/imu/mpu9250/main.cpp index 72151f694d..1f1772905f 100644 --- a/src/drivers/imu/mpu9250/main.cpp +++ b/src/drivers/imu/mpu9250/main.cpp @@ -83,6 +83,14 @@ #define MPU_DEVICE_PATH_GYRO_EXT "/dev/mpu9250_gyro_ext" #define MPU_DEVICE_PATH_MAG_EXT "/dev/mpu9250_mag_ext" +#define MPU_DEVICE_PATH_ACCEL_EXT1 "/dev/mpu9250_accel_ext1" +#define MPU_DEVICE_PATH_GYRO_EXT1 "/dev/mpu9250_gyro_ext1" +#define MPU_DEVICE_PATH_MAG_EXT1 "/dev/mpu9250_mag_ext1" + +#define MPU_DEVICE_PATH_ACCEL_EXT2 "/dev/mpu9250_accel_ext2" +#define MPU_DEVICE_PATH_GYRO_EXT2 "/dev/mpu9250_gyro_ext2" +#define MPU_DEVICE_PATH_MAG_EXT2 "/dev/mpu9250_mag_ext2" + /** driver 'main' command */ extern "C" { __EXPORT int mpu9250_main(int argc, char *argv[]); } @@ -125,6 +133,12 @@ struct mpu9250_bus_option { # if defined(PX4_I2C_BUS_EXPANSION) { MPU9250_BUS_I2C_EXTERNAL, MPU_DEVICE_PATH_ACCEL_EXT, MPU_DEVICE_PATH_GYRO_EXT, MPU_DEVICE_PATH_MAG_EXT, &MPU9250_I2C_interface, false, PX4_I2C_BUS_EXPANSION, PX4_I2C_OBDEV_MPU9250, NULL }, # endif +# if defined(PX4_I2C_BUS_EXPANSION1) + { MPU9250_BUS_I2C_EXTERNAL, MPU_DEVICE_PATH_ACCEL_EXT1, MPU_DEVICE_PATH_GYRO_EXT1, MPU_DEVICE_PATH_MAG_EXT1, &MPU9250_I2C_interface, false, PX4_I2C_BUS_EXPANSION1, PX4_I2C_OBDEV_MPU9250, NULL }, +# endif +# if defined(PX4_I2C_BUS_EXPANSION2) + { MPU9250_BUS_I2C_EXTERNAL, MPU_DEVICE_PATH_ACCEL_EXT2, MPU_DEVICE_PATH_GYRO_EXT2, MPU_DEVICE_PATH_MAG_EXT2, &MPU9250_I2C_interface, false, PX4_I2C_BUS_EXPANSION2, PX4_I2C_OBDEV_MPU9250, NULL }, +# endif #endif #ifdef PX4_SPIDEV_MPU { MPU9250_BUS_SPI_INTERNAL, MPU_DEVICE_PATH_ACCEL, MPU_DEVICE_PATH_GYRO, MPU_DEVICE_PATH_MAG, &MPU9250_SPI_interface, true, PX4_SPI_BUS_SENSORS, PX4_SPIDEV_MPU, NULL }, diff --git a/src/drivers/magnetometer/ist8310/ist8310.cpp b/src/drivers/magnetometer/ist8310/ist8310.cpp index 457ec56a85..6711440b5c 100644 --- a/src/drivers/magnetometer/ist8310/ist8310.cpp +++ b/src/drivers/magnetometer/ist8310/ist8310.cpp @@ -1275,13 +1275,10 @@ struct ist8310_bus_option { } bus_options[] = { { IST8310_BUS_I2C_EXTERNAL, "/dev/ist8310_ext", PX4_I2C_BUS_EXPANSION, NULL }, #ifdef PX4_I2C_BUS_EXPANSION1 - { IST8310_BUS_I2C_EXTERNAL1, "/dev/ist8311_int", PX4_I2C_BUS_EXPANSION1, NULL }, + { IST8310_BUS_I2C_EXTERNAL1, "/dev/ist8311_ext1", PX4_I2C_BUS_EXPANSION1, NULL }, #endif #ifdef PX4_I2C_BUS_EXPANSION2 - { IST8310_BUS_I2C_EXTERNAL2, "/dev/ist8312_int", PX4_I2C_BUS_EXPANSION2, NULL }, -#endif -#ifdef PX4_I2C_BUS_EXPANSION3 - { IST8310_BUS_I2C_EXTERNAL3, "/dev/ist8313_int", PX4_I2C_BUS_EXPANSION3, NULL }, + { IST8310_BUS_I2C_EXTERNAL2, "/dev/ist8312_ext2", PX4_I2C_BUS_EXPANSION2, NULL }, #endif #ifdef PX4_I2C_BUS_ONBOARD { IST8310_BUS_I2C_INTERNAL, "/dev/ist8310_int", PX4_I2C_BUS_ONBOARD, NULL }, diff --git a/src/drivers/magnetometer/lis3mdl/lis3mdl_main.h b/src/drivers/magnetometer/lis3mdl/lis3mdl_main.h index b6ca9872f4..b64e00555a 100644 --- a/src/drivers/magnetometer/lis3mdl/lis3mdl_main.h +++ b/src/drivers/magnetometer/lis3mdl/lis3mdl_main.h @@ -54,6 +54,12 @@ struct lis3mdl_bus_option { #ifdef PX4_I2C_BUS_EXPANSION { LIS3MDL_BUS_I2C_EXTERNAL, "/dev/lis3mdl_ext", &LIS3MDL_I2C_interface, PX4_I2C_BUS_EXPANSION, NULL }, #endif /* PX4_I2C_BUS_EXPANSION */ +#ifdef PX4_I2C_BUS_EXPANSION1 + { LIS3MDL_BUS_I2C_EXTERNAL, "/dev/lis3mdl_ext1", &LIS3MDL_I2C_interface, PX4_I2C_BUS_EXPANSION1, NULL }, +#endif /* PX4_I2C_BUS_EXPANSION1 */ +#ifdef PX4_I2C_BUS_EXPANSION2 + { LIS3MDL_BUS_I2C_EXTERNAL, "/dev/lis3mdl_ext2", &LIS3MDL_I2C_interface, PX4_I2C_BUS_EXPANSION2, NULL }, +#endif /* PX4_I2C_BUS_EXPANSION2 */ #ifdef PX4_I2C_BUS_ONBOARD { LIS3MDL_BUS_I2C_INTERNAL, "/dev/lis3mdl_int", &LIS3MDL_I2C_interface, PX4_I2C_BUS_ONBOARD, NULL }, #endif /* PX4_I2C_BUS_ONBOARD */