diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2013-10-24 12:48:56 -0700 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-10-24 12:48:56 -0700 |
commit | 2d4fc9eea1d693bafeeacc1e929d1906418ee3b0 (patch) | |
tree | bcdcd87bd60117d26de02b37abde07871d9aaa22 | |
parent | 5e1bec10cf73972b2f58b4849e5716ef4a8c0844 (diff) | |
parent | 8193382ec245ff82ffb30e2d9038c253bc93a099 (diff) | |
download | px4-firmware-2d4fc9eea1d693bafeeacc1e929d1906418ee3b0.tar.gz px4-firmware-2d4fc9eea1d693bafeeacc1e929d1906418ee3b0.tar.bz2 px4-firmware-2d4fc9eea1d693bafeeacc1e929d1906418ee3b0.zip |
Merge pull request #493 from thomasgubler/fw_skywalker
FW: Skywalker x5 startup script
-rw-r--r-- | ROMFS/px4fmu_common/init.d/32_skywalker_x5 | 86 | ||||
-rwxr-xr-x | ROMFS/px4fmu_common/init.d/rcS | 6 |
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..cd7677112 --- /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_Q.mix ] +then + echo "Using /fs/microsd/etc/mixers/FMU_Q.mix" + mixer load /dev/pwm_output /fs/microsd/etc/mixers/FMU_Q.mix +else + echo "Using /etc/mixers/FMU_Q.mix" + mixer load /dev/pwm_output /etc/mixers/FMU_Q.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 |