diff --git a/boards/diatone/mamba-f405-mk2/default.px4board b/boards/diatone/mamba-f405-mk2/default.px4board index efb1faeb49..3c7bf40a1a 100644 --- a/boards/diatone/mamba-f405-mk2/default.px4board +++ b/boards/diatone/mamba-f405-mk2/default.px4board @@ -14,6 +14,7 @@ CONFIG_DRIVERS_GPS=y CONFIG_DRIVERS_IMU_INVENSENSE_ICM20602=y CONFIG_DRIVERS_IMU_INVENSENSE_MPU6000=y CONFIG_DRIVERS_IMU_INVENSENSE_MPU9250=y +CONFIG_DRIVERS_IMU_INVENSENSE_ICM42688P=y CONFIG_DRIVERS_MAGNETOMETER_AKM_AK8963=y CONFIG_DRIVERS_MAGNETOMETER_HMC5883=y CONFIG_DRIVERS_PWM_OUT=y diff --git a/boards/diatone/mamba-f405-mk2/init/rc.board_sensors b/boards/diatone/mamba-f405-mk2/init/rc.board_sensors index 2ce4db663a..2bd3d7148d 100644 --- a/boards/diatone/mamba-f405-mk2/init/rc.board_sensors +++ b/boards/diatone/mamba-f405-mk2/init/rc.board_sensors @@ -5,14 +5,16 @@ board_adc start -if ! mpu6000 -R 6 -s start -then +if ! mpu6000 -R 6 -s start; then # some boards such as the Hobbywing XRotor F4 G2 use the ICM-20602 - icm20602 -s -R 6 start + if ! icm20602 -s -R 6 start; then + # The ICM-42688-P is used on the Diatone Mamba F405 MK2 v2 + icm42688p -s -R 4 start + fi fi if ! hmc5883 -T -X start -then +then if mpu9250_i2c -X -b 2 -a 0x68 -R 28 start; then sleep 1 # wait for mpu9250 to be configured with bypass enabled ak8963 -X -b 2 -R 30 start # -R 34 diff --git a/boards/diatone/mamba-f405-mk2/src/spi.cpp b/boards/diatone/mamba-f405-mk2/src/spi.cpp index f744b7fd69..a340163473 100644 --- a/boards/diatone/mamba-f405-mk2/src/spi.cpp +++ b/boards/diatone/mamba-f405-mk2/src/spi.cpp @@ -39,6 +39,7 @@ constexpr px4_spi_bus_t px4_spi_buses[SPI_BUS_MAX_BUS_ITEMS] = { initSPIBus(SPI::Bus::SPI1, { initSPIDevice(DRV_IMU_DEVTYPE_MPU6000, SPI::CS{GPIO::PortA, GPIO::Pin4}), initSPIDevice(DRV_IMU_DEVTYPE_ICM20602, SPI::CS{GPIO::PortA, GPIO::Pin4}), + initSPIDevice(DRV_IMU_DEVTYPE_ICM42688P, SPI::CS{GPIO::PortA, GPIO::Pin4}), }), initSPIBus(SPI::Bus::SPI2, { initSPIDevice(DRV_OSD_DEVTYPE_ATXXXX, SPI::CS{GPIO::PortB, GPIO::Pin12}),