px4_fmuv6xrt: Switch to icm42686p on SPI1

icm42588p driver don't use a icm42688p when icm42686p is requested
This commit is contained in:
Peter van der Perk 2023-12-21 15:36:57 +01:00 committed by David Sidrane
parent c1b139dea1
commit 19d1941758
3 changed files with 5 additions and 4 deletions

View File

@ -61,8 +61,8 @@ then
fi
fi
# Internal SPI bus ICM42688p (hard-mounted)
icm42688p -R 12 -b 1 -s start
# Internal SPI bus ICM42686p (hard-mounted)
icm42688p -6 -R 12 -b 1 -s start
# Internal on IMU SPI BMI088
bmi088 -A -R 4 -s start

View File

@ -65,7 +65,7 @@
constexpr px4_spi_bus_t px4_spi_buses[SPI_BUS_MAX_BUS_ITEMS] = {
initSPIBus(SPI::Bus::LPSPI1, {
initSPIDevice(DRV_IMU_DEVTYPE_ICM42688P, SPI::CS{GPIO::Port2, GPIO::Pin11}, SPI::DRDY{GPIO::Port3, GPIO::Pin19}), /* GPIO_EMC_B2_01 GPIO2_IO11, GPIO_AD_20, GPIO3_IO19 */
initSPIDevice(DRV_IMU_DEVTYPE_ICM42686P, SPI::CS{GPIO::Port2, GPIO::Pin11}, SPI::DRDY{GPIO::Port3, GPIO::Pin19}), /* GPIO_EMC_B2_01 GPIO2_IO11, GPIO_AD_20, GPIO3_IO19 */
}, {GPIO::Port2, GPIO::Pin1}), // Power GPIO_EMC_B1_33 GPIO2_IO01
initSPIBus(SPI::Bus::LPSPI2, {

View File

@ -126,8 +126,9 @@ int ICM42688P::probe()
{
for (int i = 0; i < 3; i++) {
uint8_t whoami = RegisterRead(Register::BANK_0::WHO_AM_I);
uint8_t expected_whoami = isICM686 ? WHOAMI686 : WHOAMI;
if (whoami == WHOAMI || (isICM686 && whoami == WHOAMI686)) {
if (whoami == expected_whoami) {
return PX4_OK;
} else {