From 5e8857e411c4d016ffef1f2333d7728e4958c523 Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Sat, 28 Dec 2013 22:52:23 +0100 Subject: [PATCH] Further cleanup, added octos --- ROMFS/px4fmu_common/init.d/#!nsh | 4 - .../init.d/{12-13_hex => rc.hexa} | 2 +- ROMFS/px4fmu_common/init.d/rc.octo | 98 +++++++++++++++++++ ROMFS/px4fmu_common/init.d/rcS | 24 ++++- 4 files changed, 121 insertions(+), 7 deletions(-) delete mode 100644 ROMFS/px4fmu_common/init.d/#!nsh rename ROMFS/px4fmu_common/init.d/{12-13_hex => rc.hexa} (97%) create mode 100644 ROMFS/px4fmu_common/init.d/rc.octo diff --git a/ROMFS/px4fmu_common/init.d/#!nsh b/ROMFS/px4fmu_common/init.d/#!nsh deleted file mode 100644 index 69b7182828..0000000000 --- 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 similarity index 97% rename from ROMFS/px4fmu_common/init.d/12-13_hex rename to ROMFS/px4fmu_common/init.d/rc.hexa index a7578bcaf8..c49de3e0d8 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 0000000000..2c50d266cb --- /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 3b780f9e75..05657b03ef 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