aboutsummaryrefslogtreecommitdiff
path: root/ROMFS/px4fmu_common/init.d
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2014-05-08 14:23:33 +0200
committerLorenz Meier <lm@inf.ethz.ch>2014-05-08 14:23:33 +0200
commitec5602e45d51e500327bd3aa08d4a3d678573936 (patch)
tree75115b2ce9148578b004def025e5facdc26c5344 /ROMFS/px4fmu_common/init.d
parentf70db56e90972cf0492ac9d295c3d0f5df87aa66 (diff)
downloadpx4-firmware-ec5602e45d51e500327bd3aa08d4a3d678573936.tar.gz
px4-firmware-ec5602e45d51e500327bd3aa08d4a3d678573936.tar.bz2
px4-firmware-ec5602e45d51e500327bd3aa08d4a3d678573936.zip
UAVCAN quad X autostart setup
Diffstat (limited to 'ROMFS/px4fmu_common/init.d')
-rw-r--r--ROMFS/px4fmu_common/init.d/4012_quad_x_can27
-rw-r--r--ROMFS/px4fmu_common/init.d/rc.autostart5
-rw-r--r--ROMFS/px4fmu_common/init.d/rc.interface5
-rw-r--r--ROMFS/px4fmu_common/init.d/rcS12
4 files changed, 48 insertions, 1 deletions
diff --git a/ROMFS/px4fmu_common/init.d/4012_quad_x_can b/ROMFS/px4fmu_common/init.d/4012_quad_x_can
new file mode 100644
index 000000000..471ac54b4
--- /dev/null
+++ b/ROMFS/px4fmu_common/init.d/4012_quad_x_can
@@ -0,0 +1,27 @@
+#!nsh
+#
+# F450-sized quadrotor with CAN
+#
+# Lorenz Meier <lm@inf.ethz.ch>
+#
+
+sh /etc/init.d/4001_quad_x
+
+if [ $DO_AUTOCONFIG == yes ]
+then
+ # TODO REVIEW
+ param set MC_ROLL_P 7.0
+ param set MC_ROLLRATE_P 0.1
+ param set MC_ROLLRATE_I 0.0
+ param set MC_ROLLRATE_D 0.003
+ param set MC_PITCH_P 7.0
+ param set MC_PITCHRATE_P 0.1
+ param set MC_PITCHRATE_I 0.0
+ param set MC_PITCHRATE_D 0.003
+ param set MC_YAW_P 2.8
+ param set MC_YAWRATE_P 0.2
+ param set MC_YAWRATE_I 0.0
+ param set MC_YAWRATE_D 0.0
+fi
+
+set OUTPUT_MODE can
diff --git a/ROMFS/px4fmu_common/init.d/rc.autostart b/ROMFS/px4fmu_common/init.d/rc.autostart
index 5ec735d39..3d0de950d 100644
--- a/ROMFS/px4fmu_common/init.d/rc.autostart
+++ b/ROMFS/px4fmu_common/init.d/rc.autostart
@@ -136,6 +136,11 @@ then
sh /etc/init.d/4011_dji_f450
fi
+if param compare SYS_AUTOSTART 4012
+then
+ sh /etc/init.d/4012_quad_x_can
+fi
+
#
# Quad +
#
diff --git a/ROMFS/px4fmu_common/init.d/rc.interface b/ROMFS/px4fmu_common/init.d/rc.interface
index 7f793b219..d6f1b54bc 100644
--- a/ROMFS/px4fmu_common/init.d/rc.interface
+++ b/ROMFS/px4fmu_common/init.d/rc.interface
@@ -24,6 +24,11 @@ then
else
set OUTPUT_DEV /dev/pwm_output
fi
+
+ if [ $OUTPUT_MODE == can ]
+ then
+ set OUTPUT_DEV /dev/uavcan
+ fi
if mixer load $OUTPUT_DEV $MIXER_FILE
then
diff --git a/ROMFS/px4fmu_common/init.d/rcS b/ROMFS/px4fmu_common/init.d/rcS
index 756ee8ef8..5d76e4283 100644
--- a/ROMFS/px4fmu_common/init.d/rcS
+++ b/ROMFS/px4fmu_common/init.d/rcS
@@ -284,7 +284,17 @@ then
# If OUTPUT_MODE == none then something is wrong with setup and we shouldn't try to enable output
if [ $OUTPUT_MODE != none ]
then
- if [ $OUTPUT_MODE == io ]
+ if [ $OUTPUT_MODE == can ]
+ then
+ if uavcan start 1
+ then
+ echo "CAN UP"
+ else
+ echo "CAN ERR"
+ fi
+ fi
+
+ if [ $OUTPUT_MODE == io -o $OUTPUT_MODE == can ]
then
echo "[init] Use PX4IO PWM as primary output"
if px4io start