From 5672af4299102a45027ade938f0bd9c5f6381736 Mon Sep 17 00:00:00 2001 From: honglang Date: Wed, 2 Jun 2021 15:15:06 +0800 Subject: [PATCH] CUAV X7pro and Nora: use icm42688p instead of bmi088 --- boards/cuav/nora/default.cmake | 1 + boards/cuav/nora/init/rc.board_sensors | 5 ++++- boards/cuav/nora/src/spi.cpp | 1 + boards/cuav/x7pro/default.cmake | 1 + boards/cuav/x7pro/init/rc.board_sensors | 5 ++++- boards/cuav/x7pro/src/spi.cpp | 1 + 6 files changed, 12 insertions(+), 2 deletions(-) diff --git a/boards/cuav/nora/default.cmake b/boards/cuav/nora/default.cmake index 9e8ad80133..cdeb629762 100644 --- a/boards/cuav/nora/default.cmake +++ b/boards/cuav/nora/default.cmake @@ -35,6 +35,7 @@ px4_add_board( imu/invensense/icm20649 imu/invensense/icm20689 imu/invensense/icm20948 # required for ak09916 mag + imu/invensense/icm42688p irlock lights # all available light drivers lights/rgbled_pwm diff --git a/boards/cuav/nora/init/rc.board_sensors b/boards/cuav/nora/init/rc.board_sensors index efaae7a4c6..3692b725a8 100644 --- a/boards/cuav/nora/init/rc.board_sensors +++ b/boards/cuav/nora/init/rc.board_sensors @@ -12,7 +12,10 @@ rm3100 -s -b 2 start # SPI4 bmi088 -s -b 4 -A -R 2 start -bmi088 -s -b 4 -G -R 2 start +if !bmi088 -s -b 4 -G -R 2 start +then + icm42688p -R 2 -s start +fi ms5611 -s -b 4 start # SPI6 diff --git a/boards/cuav/nora/src/spi.cpp b/boards/cuav/nora/src/spi.cpp index 45890c4c1d..0aa6c50248 100644 --- a/boards/cuav/nora/src/spi.cpp +++ b/boards/cuav/nora/src/spi.cpp @@ -46,6 +46,7 @@ constexpr px4_spi_bus_t px4_spi_buses[SPI_BUS_MAX_BUS_ITEMS] = { initSPIBus(SPI::Bus::SPI4, { initSPIDevice(DRV_ACC_DEVTYPE_BMI088, SPI::CS{GPIO::PortF, GPIO::Pin3}, SPI::DRDY{GPIO::PortB, GPIO::Pin15}), initSPIDevice(DRV_GYR_DEVTYPE_BMI088, SPI::CS{GPIO::PortF, GPIO::Pin4}, SPI::DRDY{GPIO::PortB, GPIO::Pin14}), + initSPIDevice(DRV_IMU_DEVTYPE_ICM42688P, SPI::CS{GPIO::PortA, GPIO::Pin15}, SPI::DRDY{GPIO::PortB, GPIO::Pin15}), initSPIDevice(DRV_BARO_DEVTYPE_MS5611, SPI::CS{GPIO::PortG, GPIO::Pin10}), }), initSPIBusExternal(SPI::Bus::SPI5, { diff --git a/boards/cuav/x7pro/default.cmake b/boards/cuav/x7pro/default.cmake index 63ffab2d59..3306df91ce 100644 --- a/boards/cuav/x7pro/default.cmake +++ b/boards/cuav/x7pro/default.cmake @@ -36,6 +36,7 @@ px4_add_board( imu/invensense/icm20649 imu/invensense/icm20689 imu/invensense/icm20948 # required for ak09916 mag + imu/invensense/icm42688p irlock lights # all available light drivers lights/rgbled_pwm diff --git a/boards/cuav/x7pro/init/rc.board_sensors b/boards/cuav/x7pro/init/rc.board_sensors index 16e4de2060..31e9812ae1 100644 --- a/boards/cuav/x7pro/init/rc.board_sensors +++ b/boards/cuav/x7pro/init/rc.board_sensors @@ -15,7 +15,10 @@ rm3100 -s -b 2 start # SPI4 bmi088 -s -b 4 -A -R 2 start -bmi088 -s -b 4 -G -R 2 start +if !bmi088 -s -b 4 -G -R 2 start +then + icm42688p -R 2 -s start +fi ms5611 -s -b 4 start # SPI6 diff --git a/boards/cuav/x7pro/src/spi.cpp b/boards/cuav/x7pro/src/spi.cpp index 1fda7b8274..671ad8d1bc 100644 --- a/boards/cuav/x7pro/src/spi.cpp +++ b/boards/cuav/x7pro/src/spi.cpp @@ -47,6 +47,7 @@ constexpr px4_spi_bus_t px4_spi_buses[SPI_BUS_MAX_BUS_ITEMS] = { initSPIBus(SPI::Bus::SPI4, { initSPIDevice(DRV_ACC_DEVTYPE_BMI088, SPI::CS{GPIO::PortF, GPIO::Pin3}, SPI::DRDY{GPIO::PortB, GPIO::Pin15}), initSPIDevice(DRV_GYR_DEVTYPE_BMI088, SPI::CS{GPIO::PortF, GPIO::Pin4}, SPI::DRDY{GPIO::PortB, GPIO::Pin14}), + initSPIDevice(DRV_IMU_DEVTYPE_ICM42688P, SPI::CS{GPIO::PortA, GPIO::Pin15}, SPI::DRDY{GPIO::PortB, GPIO::Pin15}), initSPIDevice(DRV_BARO_DEVTYPE_MS5611, SPI::CS{GPIO::PortG, GPIO::Pin10}), }), initSPIBusExternal(SPI::Bus::SPI5, {