diff --git a/boards/zeroone/x6/default.px4board b/boards/zeroone/x6/default.px4board index 3fbbe8b1c40..4363426d186 100644 --- a/boards/zeroone/x6/default.px4board +++ b/boards/zeroone/x6/default.px4board @@ -10,6 +10,8 @@ CONFIG_BOARD_SERIAL_EXT2="/dev/ttyS3" CONFIG_DRIVERS_ADC_ADS1115=y CONFIG_DRIVERS_ADC_BOARD_ADC=y CONFIG_DRIVERS_BAROMETER_INVENSENSE_ICP201XX=y +CONFIG_DRIVERS_BAROMETER_BMP581=y +CONFIG_DRIVERS_BAROMETER_GOERTEK_SPA06=y CONFIG_DRIVERS_CAMERA_CAPTURE=y CONFIG_DRIVERS_CAMERA_TRIGGER=y CONFIG_DRIVERS_CDCACM_AUTOSTART=y @@ -21,6 +23,7 @@ CONFIG_DRIVERS_HEATER=y CONFIG_DRIVERS_IMU_BOSCH_BMI088=y CONFIG_DRIVERS_IMU_INVENSENSE_ICM45686=y CONFIG_DRIVERS_IMU_INVENSENSE_IIM42653=y +CONFIG_DRIVERS_IMU_INVENSENSE_IIM42652=y CONFIG_DRIVERS_IMU_MURATA_SCH16T=y CONFIG_DRIVERS_GNSS_SEPTENTRIO=y CONFIG_COMMON_LIGHT=y diff --git a/boards/zeroone/x6/init/rc.board_sensors b/boards/zeroone/x6/init/rc.board_sensors index cd320ec5d1d..b021a66cc04 100644 --- a/boards/zeroone/x6/init/rc.board_sensors +++ b/boards/zeroone/x6/init/rc.board_sensors @@ -66,7 +66,10 @@ then bmi088 -G -R 4 -s start # X6 # Internal SPI bus icm45686 with SPIX - icm45686 -b 1 -s -R 8 start # X6 & X6 air + if ! icm45686 -b 1 -s -R 8 start # X6 & X6 air + then + iim42652 -b 1 -s -R 8 start # X6 air V2 + fi fi @@ -79,27 +82,36 @@ then bmi088 -G -R 4 -s start # Internal SPI bus IIM42653 with SPIX - iim42653 -b 1 -s -R 8 start + if ! iim42653 -b 1 -s -R 8 start + then + iim42652 -b 1 -s -R 8 start # X6 Pro V2 + fi fi # External compass on GPS1/I2C1 bus ist8310 -X -b 1 -R 10 start # Internal compass -if ! rm3100 -I -b 4 start # X6 & X6 PRO & X6 Ultra +if ! rm3100 -I -b 4 start # X6 Series then if ! ist8310 -I -a 0x0E -R 12 start # X6 air then - bmm350 -I -b 4 -a 0x15 -R 14 start # X6 air II + bmm350 -I -b 4 -a 0x15 -R 14 start # X6 air V2 fi fi # Possible internal Baro if param compare SENS_INT_BARO_EN 1 then - icp201xx -I -a 0x64 start + if ! icp201xx -I -a 0x64 start + then + bmp581 -I -a 0X47 start + fi fi -icp201xx -X start #external baro +if ! icp201xx -X start +then + spa06 -X -a 0x77 start +fi unset INA_CONFIGURED unset HAVE_PM2 diff --git a/boards/zeroone/x6/src/spi.cpp b/boards/zeroone/x6/src/spi.cpp index d9318233dd4..ce8da003e07 100644 --- a/boards/zeroone/x6/src/spi.cpp +++ b/boards/zeroone/x6/src/spi.cpp @@ -39,6 +39,7 @@ constexpr px4_spi_bus_all_hw_t px4_spi_buses_all_hw[BOARD_NUM_SPI_CFG_HW_VERSION initSPIFmumID(ZeroOneX6_0, { initSPIBus(SPI::Bus::SPI1, { initSPIDevice(DRV_IMU_DEVTYPE_ICM45686, SPI::CS{GPIO::PortI, GPIO::Pin9}, SPI::DRDY{GPIO::PortF, GPIO::Pin2}), + initSPIDevice(DRV_IMU_DEVTYPE_IIM42652, SPI::CS{GPIO::PortI, GPIO::Pin9}, SPI::DRDY{GPIO::PortF, GPIO::Pin2}), }, {GPIO::PortI, GPIO::Pin11}), initSPIBus(SPI::Bus::SPI2, { initSPIDevice(DRV_IMU_DEVTYPE_ICM45686, SPI::CS{GPIO::PortH, GPIO::Pin5}, SPI::DRDY{GPIO::PortA, GPIO::Pin10}), @@ -59,6 +60,7 @@ constexpr px4_spi_bus_all_hw_t px4_spi_buses_all_hw[BOARD_NUM_SPI_CFG_HW_VERSION initSPIFmumID(ZeroOneX6_1, { // X6 Pro initSPIBus(SPI::Bus::SPI1, { initSPIDevice(DRV_IMU_DEVTYPE_IIM42653, SPI::CS{GPIO::PortI, GPIO::Pin9}, SPI::DRDY{GPIO::PortF, GPIO::Pin2}), + initSPIDevice(DRV_IMU_DEVTYPE_IIM42652, SPI::CS{GPIO::PortI, GPIO::Pin9}, SPI::DRDY{GPIO::PortF, GPIO::Pin2}), }, {GPIO::PortI, GPIO::Pin11}), initSPIBus(SPI::Bus::SPI2, { initSPIDevice(DRV_IMU_DEVTYPE_IIM42653, SPI::CS{GPIO::PortH, GPIO::Pin5}, SPI::DRDY{GPIO::PortA, GPIO::Pin10}),