aboutsummaryrefslogtreecommitdiff
path: root/ROMFS
diff options
context:
space:
mode:
authorThomas Gubler <thomasgubler@gmail.com>2013-09-29 19:00:12 +0200
committerThomas Gubler <thomasgubler@gmail.com>2013-10-24 17:22:11 +0200
commitdb1fe9f0fa239c47f88148ec344c28ecdca21198 (patch)
treee0ea7354bfd950e554952ae428ac13de0c9eaff3 /ROMFS
parent5e1bec10cf73972b2f58b4849e5716ef4a8c0844 (diff)
downloadpx4-firmware-db1fe9f0fa239c47f88148ec344c28ecdca21198.tar.gz
px4-firmware-db1fe9f0fa239c47f88148ec344c28ecdca21198.tar.bz2
px4-firmware-db1fe9f0fa239c47f88148ec344c28ecdca21198.zip
adding skywalker x5 startup script
Diffstat (limited to 'ROMFS')
-rw-r--r--ROMFS/px4fmu_common/init.d/32_skywalker_x586
-rwxr-xr-xROMFS/px4fmu_common/init.d/rcS6
2 files changed, 92 insertions, 0 deletions
diff --git a/ROMFS/px4fmu_common/init.d/32_skywalker_x5 b/ROMFS/px4fmu_common/init.d/32_skywalker_x5
new file mode 100644
index 000000000..432cbb14e
--- /dev/null
+++ b/ROMFS/px4fmu_common/init.d/32_skywalker_x5
@@ -0,0 +1,86 @@
+#!nsh
+
+echo "[init] PX4FMU v1, v2 with or without IO on Skywalker X5"
+
+#
+# Load default params for this platform
+#
+if param compare SYS_AUTOCONFIG 1
+then
+ # Set all params here, then disable autoconfig
+ # TODO
+
+ param set SYS_AUTOCONFIG 0
+ param save
+fi
+
+#
+# Force some key parameters to sane values
+# MAV_TYPE 1 = fixed wing
+#
+param set MAV_TYPE 1
+
+set EXIT_ON_END no
+
+#
+# Start and configure PX4IO or FMU interface
+#
+if px4io detect
+then
+ # Start MAVLink (depends on orb)
+ mavlink start
+
+ commander start
+
+ sh /etc/init.d/rc.io
+ # Limit to 100 Hz updates and (implicit) 50 Hz PWM
+ px4io limit 100
+else
+ # Start MAVLink (on UART1 / ttyS0)
+ mavlink start -d /dev/ttyS0
+
+ commander start
+
+ fmu mode_pwm
+ param set BAT_V_SCALING 0.004593
+ set EXIT_ON_END yes
+fi
+
+#
+# Start the sensors and test them.
+#
+sh /etc/init.d/rc.sensors
+
+#
+# Start logging (depends on sensors)
+#
+sh /etc/init.d/rc.logging
+
+#
+# Start GPS interface (depends on orb)
+#
+gps start
+
+#
+# Start the attitude and position estimator
+#
+att_pos_estimator_ekf start
+
+#
+# Load mixer and start controllers (depends on px4io)
+#
+if [ -f /fs/microsd/etc/mixers/FMU_delta.mix ]
+then
+ echo "Using FMU_delta mixer from sd card"
+ mixer load /dev/pwm_output /fs/microsd/etc/mixers/FMU_delta.mix
+else
+ echo "Using standard FMU_delta mixer"
+ mixer load /dev/pwm_output /etc/mixers/FMU_delta.mix
+fi
+fw_att_control start
+fw_pos_control_l1 start
+
+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 94c01419e..9d0800eb1 100755
--- a/ROMFS/px4fmu_common/init.d/rcS
+++ b/ROMFS/px4fmu_common/init.d/rcS
@@ -284,6 +284,12 @@ then
sh /etc/init.d/31_io_phantom
set MODE custom
fi
+
+ if param compare SYS_AUTOSTART 32
+ then
+ sh /etc/init.d/32_skywalker_x5
+ set MODE custom
+ fi
if param compare SYS_AUTOSTART 40
then