diff --git a/mk/PX4/ROMFS/init.d/rc.APM b/mk/PX4/ROMFS/init.d/rc.APM index fcfba11239..9fdfd12c46 100644 --- a/mk/PX4/ROMFS/init.d/rc.APM +++ b/mk/PX4/ROMFS/init.d/rc.APM @@ -248,40 +248,56 @@ else fi fi - if mpu6000 start + if mpu6000 -X -R 4 start then - echo "Found MPU6000" + echo "Found MPU6000 external" + set HAVE_FMUV3 true else - echo "No MPU6000" - echo "No MPU6000" >> $logfile + echo "No MPU6000 external" fi - if l3gd20 start - then - echo "l3gd20 started OK" - else - if l3gd20 -X start + if [ $HAVE_FMUV3 == true ] + if mpu6000 -R 14 start + then + echo "Found MPU6000 internal" + else + echo "No MPU6000" + echo "No MPU6000" >> $logfile + sh /etc/init.d/rc.error + fi + if l3gd20 -X -R 6 start then echo "l3gd20 external started OK" else + echo "No l3gd20" sh /etc/init.d/rc.error fi - fi - if lsm303d start - then - echo "lsm303d started OK" - else - if lsm303d -X start + if lsm303d -X -R 6 start then echo "lsm303d external started OK" else + echo "No lsm303d" sh /etc/init.d/rc.error fi - fi - if mpu6000 -X start - then - echo "Found MPU6000 external" else - echo "No MPU6000 external" + if mpu6000 start + then + echo "Found MPU6000" + else + echo "No MPU6000" + echo "No MPU6000" >> $logfile + fi + if l3gd20 start + then + echo "l3gd20 started OK" + else + sh /etc/init.d/rc.error + fi + if lsm303d start + then + echo "lsm303d started OK" + else + sh /etc/init.d/rc.error + fi fi fi