aboutsummaryrefslogtreecommitdiff
path: root/ROMFS
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2013-12-28 22:52:23 +0100
committerLorenz Meier <lm@inf.ethz.ch>2013-12-28 22:52:23 +0100
commit5e8857e411c4d016ffef1f2333d7728e4958c523 (patch)
tree183eae92d7a92520ee07913c98605ee7e4815d40 /ROMFS
parentab330de180c9f47c1d6fec54cc29c98be8c56f4b (diff)
downloadpx4-firmware-5e8857e411c4d016ffef1f2333d7728e4958c523.tar.gz
px4-firmware-5e8857e411c4d016ffef1f2333d7728e4958c523.tar.bz2
px4-firmware-5e8857e411c4d016ffef1f2333d7728e4958c523.zip
Further cleanup, added octos
Diffstat (limited to 'ROMFS')
-rw-r--r--ROMFS/px4fmu_common/init.d/#!nsh4
-rw-r--r--ROMFS/px4fmu_common/init.d/rc.hexa (renamed from ROMFS/px4fmu_common/init.d/12-13_hex)2
-rw-r--r--ROMFS/px4fmu_common/init.d/rc.octo98
-rw-r--r--ROMFS/px4fmu_common/init.d/rcS24
4 files changed, 121 insertions, 7 deletions
diff --git a/ROMFS/px4fmu_common/init.d/#!nsh b/ROMFS/px4fmu_common/init.d/#!nsh
deleted file mode 100644
index 69b718282..000000000
--- a/ROMFS/px4fmu_common/init.d/#!nsh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!nsh
-#
-# Script to set PWM min / max limits and mixer
-# \ No newline at end of file
diff --git a/ROMFS/px4fmu_common/init.d/12-13_hex b/ROMFS/px4fmu_common/init.d/rc.hexa
index a7578bcaf..c49de3e0d 100644
--- a/ROMFS/px4fmu_common/init.d/12-13_hex
+++ b/ROMFS/px4fmu_common/init.d/rc.hexa
@@ -73,7 +73,7 @@ fi
#
# Load mixer
#
-mixer load /dev/pwm_output /etc/mixers/FMU_hex_x.mix
+mixer load /dev/pwm_output $MIXER
#
# Set PWM output frequency to 400 Hz
diff --git a/ROMFS/px4fmu_common/init.d/rc.octo b/ROMFS/px4fmu_common/init.d/rc.octo
new file mode 100644
index 000000000..2c50d266c
--- /dev/null
+++ b/ROMFS/px4fmu_common/init.d/rc.octo
@@ -0,0 +1,98 @@
+#!nsh
+
+echo "[init] PX4FMU v1, v2 with or without IO on Hex"
+
+#
+# Load default params for this platform
+#
+if param compare SYS_AUTOCONFIG 1
+then
+ # Set all params here, then disable autoconfig
+ param set SYS_AUTOCONFIG 0
+
+ param set MC_ATTRATE_D 0.004
+ param set MC_ATTRATE_I 0.0
+ param set MC_ATTRATE_P 0.12
+ param set MC_ATT_D 0.0
+ param set MC_ATT_I 0.0
+ param set MC_ATT_P 7.0
+ param set MC_YAWPOS_D 0.0
+ param set MC_YAWPOS_I 0.0
+ param set MC_YAWPOS_P 2.0
+ param set MC_YAWRATE_D 0.005
+ param set MC_YAWRATE_I 0.2
+ param set MC_YAWRATE_P 0.3
+ param set NAV_TAKEOFF_ALT 3.0
+ param set MPC_TILT_MAX 0.5
+ param set MPC_THR_MAX 0.7
+ param set MPC_THR_MIN 0.3
+ param set MPC_XY_D 0
+ param set MPC_XY_P 0.5
+ param set MPC_XY_VEL_D 0
+ param set MPC_XY_VEL_I 0
+ param set MPC_XY_VEL_MAX 3
+ param set MPC_XY_VEL_P 0.2
+ param set MPC_Z_D 0
+ param set MPC_Z_P 1
+ param set MPC_Z_VEL_D 0
+ param set MPC_Z_VEL_I 0.1
+ param set MPC_Z_VEL_MAX 2
+ param set MPC_Z_VEL_P 0.20
+
+ param save
+fi
+
+#
+# Force some key parameters to sane values
+# MAV_TYPE list: https://pixhawk.ethz.ch/mavlink/
+# 13 = hexarotor
+#
+param set MAV_TYPE 13
+
+set EXIT_ON_END no
+
+#
+# Start and configure PX4IO or FMU interface
+#
+if px4io detect
+then
+ # Start MAVLink (depends on orb)
+ mavlink start
+ usleep 5000
+
+ sh /etc/init.d/rc.io
+else
+ # Start MAVLink (on UART1 / ttyS0)
+ mavlink start -d /dev/ttyS0
+ usleep 5000
+ fmu mode_pwm
+ param set BAT_V_SCALING 0.004593
+ set EXIT_ON_END yes
+fi
+
+#
+# Load mixer
+#
+mixer load /dev/pwm_output $MIXER
+
+#
+# Set PWM output frequency to 400 Hz
+#
+pwm rate -a -r 400
+
+#
+# Set disarmed, min and max PWM signals
+#
+pwm disarmed -c 12345678 -p 900
+pwm min -c 12345678 -p 1100
+pwm max -c 12345678 -p 1900
+
+#
+# Start common for all multirotors apps
+#
+sh /etc/init.d/rc.multirotor
+
+if [ $EXIT_ON_END == yes ]
+then
+ exit
+fi
diff --git a/ROMFS/px4fmu_common/init.d/rcS b/ROMFS/px4fmu_common/init.d/rcS
index 3b780f9e7..05657b03e 100644
--- a/ROMFS/px4fmu_common/init.d/rcS
+++ b/ROMFS/px4fmu_common/init.d/rcS
@@ -243,17 +243,37 @@ then
set MODE custom
fi
+ if param compare SYS_AUTOSTART 4012
+ then
+ sh /etc/init.d/666_fmu_q_x550
+ set MODE custom
+ fi
+
if param compare SYS_AUTOSTART 6012 12
then
set MIXER /etc/mixers/FMU_hex_x.mix
- sh /etc/init.d/12-13_hex
+ sh /etc/init.d/rc.hexa
set MODE custom
fi
if param compare SYS_AUTOSTART 7013 13
then
set MIXER /etc/mixers/FMU_hex_+.mix
- sh /etc/init.d/12-13_hex
+ sh /etc/init.d/rc.hexa
+ set MODE custom
+ fi
+
+ if param compare SYS_AUTOSTART 8001
+ then
+ set MIXER /etc/mixers/FMU_octo_x.mix
+ sh /etc/init.d/rc.octo
+ set MODE custom
+ fi
+
+ if param compare SYS_AUTOSTART 9001
+ then
+ set MIXER /etc/mixers/FMU_octo_+.mix
+ sh /etc/init.d/rc.octo
set MODE custom
fi