rc.sensors:Use HW type to refine startup / deprecate mpu9250 on PixhawkMini

Using the hwvercmp on FMUv2 HW derivatives built with px4fmu_v3_default
   to ues a more targeted startup approach:

  1) Detect V3 and V2M

  2) On V3 use the external mpu9250 to further discriminate between 2.0
     and 2.1. Then only start the devices that are on that version of
     the board.

 3) Due to HW errata on PixhawkMini deprecate mpu9250.
     The mpu9250 will not start reliably on the PixhawkMini
     Since we have an ICM20608 and an External Mag the
     mpu9250 is not to be used.
This commit is contained in:
David Sidrane
2017-07-21 09:01:43 -10:00
committed by Lorenz Meier
parent ed74530da8
commit 102003c664

View File

@@ -100,21 +100,27 @@ then
then
fi
# V2 build hwtypecmp is always false
set BOARD_FMUV3 0
# V3 build hwtypecmp supports V2|V2M|V30
if ver hwtypecmp V30
then
# Check for Pixhawk 2.0 cube
# external MPU6K is rotated 180 degrees yaw
if mpu6000 -S -R 4 start
then
set BOARD_FMUV3 true
set BOARD_FMUV3 20
else
# Check for Pixhawk 2.1 board
# Check for Pixhawk 2.1 cube
# external MPU9250 is rotated 180 degrees yaw
if mpu9250 -S -R 4 start
then
set BOARD_FMUV3 true
else
set BOARD_FMUV3 false
set BOARD_FMUV3 21
fi
fi
fi
if [ $BOARD_FMUV3 == true ]
if [ $BOARD_FMUV3 != 0 ]
then
# sensor heating is available, but we disable it for now
param set SENS_EN_THERMAL 0
@@ -129,27 +135,44 @@ then
then
fi
# internal MPU6000 is rotated 180 deg roll, 270 deg yaw
if [ $BOARD_FMUV3 == 20 ]
then
# v2.0 internal MPU6000 is rotated 180 deg roll, 270 deg yaw
if mpu6000 -R 14 start
then
else
fi
# v2.0 Has internal hmc5883 on SPI1
if hmc5883 -C -T -S -R 8 start
then
fi
fi
if [ $BOARD_FMUV3 == 21 ]
then
# v2.1 internal MPU9250 is rotated 180 deg roll, 270 deg yaw
if mpu9250 -R 14 start
then
fi
fi
if hmc5883 -C -T -S -R 8 start
then
fi
else
# FMUv2
# $BOARD_FMUV3 == 0 -> FMUv2
if mpu6000 start
then
fi
# As we will use the external mag and the ICM-20608-G
# V2 build hwtypecmp is always false
# V3 build hwtypecmp supports V2|V2M|V30
if ver hwtypecmp V2M
then
# On the PixhawkMini the mpu9250 has been disabled due to HW errata
else
if mpu9250 start
then
fi
fi
if l3gd20 start
then