aboutsummaryrefslogtreecommitdiff
path: root/ROMFS
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2015-02-09 13:57:04 +0100
committerLorenz Meier <lm@inf.ethz.ch>2015-02-09 22:56:25 +0100
commit8b5e54f7650b15cf0dd868f3d4acf76fdeefe2b8 (patch)
treed215eb9349830a2614448ab6227dc34ae3fb89cf /ROMFS
parentd3dd4a21e2d4b3a25e4ab577574c1b0a72a9df9e (diff)
downloadpx4-firmware-8b5e54f7650b15cf0dd868f3d4acf76fdeefe2b8.tar.gz
px4-firmware-8b5e54f7650b15cf0dd868f3d4acf76fdeefe2b8.tar.bz2
px4-firmware-8b5e54f7650b15cf0dd868f3d4acf76fdeefe2b8.zip
Fix sensor startup and rotations
Diffstat (limited to 'ROMFS')
-rw-r--r--ROMFS/px4fmu_common/init.d/rc.sensors91
1 files changed, 60 insertions, 31 deletions
diff --git a/ROMFS/px4fmu_common/init.d/rc.sensors b/ROMFS/px4fmu_common/init.d/rc.sensors
index ad84f44f5..d204052b0 100644
--- a/ROMFS/px4fmu_common/init.d/rc.sensors
+++ b/ROMFS/px4fmu_common/init.d/rc.sensors
@@ -1,60 +1,89 @@
#!nsh
#
-# Standard startup script for PX4FMU onboard sensor drivers.
+# Standard startup script for PX4FMU v1, v2, v3 onboard sensor drivers.
#
ms5611 start
adc start
-if mpu6000 -X start
-then
-fi
-
-if mpu6000 start
-then
-fi
-
-if l3gd20 -X start
+if ver hwcmp PX4FMU_V2
then
-fi
+ if hmc5883 -C -X start
+ then
+ fi
-if l3gd20 start
-then
-fi
+ if hmc5883 -C -I -R 4 start
+ then
+ fi
-# MAG selection
-if param compare SENS_EXT_MAG 2
-then
- if hmc5883 -I start
+ # external MPU6K is rotated 180 degrees yaw
+ if mpu6000 -X -R 4 start
then
+ set BOARD_FMUV3 true
+ else
+ set BOARD_FMUV3 false
fi
-else
- # Use only external as primary
- if param compare SENS_EXT_MAG 1
+
+ if [ $BOARD_FMUV3 == true ]
then
- if hmc5883 -X start
+ # external L3GD20H is rotated 180 degrees yaw
+ if l3gd20 -X -R 4 start
+ then
+ fi
+
+ # external LSM303D is rotated 270 degrees yaw
+ if lsm303d -X -R 6 start
then
fi
+
+ # internal MPU6000 is rotated 180 deg roll, 270 deg yaw
+ if mpu6000 -R 14 start
+ then
+ fi
+
else
- # auto-detect the primary, prefer external
- if hmc5883 start
+ # FMUv2
+ if mpu6000 start
then
fi
- fi
-fi
-if ver hwcmp PX4FMU_V2
-then
- if lsm303d -X start
+ if l3gd20 start
+ then
+ fi
+
+ if lsm303d start
+ then
+ fi
+ fi
+else
+ # FMUv1
+ if mpu6000 start
then
fi
- if lsm303d start
+ if l3gd20 start
then
fi
- if ms5611 -X start
+ # MAG selection
+ if param compare SENS_EXT_MAG 2
then
+ if hmc5883 -C -I start
+ then
+ fi
+ else
+ # Use only external as primary
+ if param compare SENS_EXT_MAG 1
+ then
+ if hmc5883 -C -X start
+ then
+ fi
+ else
+ # auto-detect the primary, prefer external
+ if hmc5883 start
+ then
+ fi
+ fi
fi
fi