From d9f75a751b72c266ef68de4e1b7c56fafe1c8d5a Mon Sep 17 00:00:00 2001 From: Simon Wilks Date: Sat, 28 Dec 2013 08:56:58 +0100 Subject: [PATCH 1/2] Startup script for Wing Wing (Z-84) --- ROMFS/px4fmu_common/init.d/33_io_wingwing | 91 +++++++++++++++++++++++ ROMFS/px4fmu_common/init.d/rcS | 6 ++ 2 files changed, 97 insertions(+) create mode 100644 ROMFS/px4fmu_common/init.d/33_io_wingwing diff --git a/ROMFS/px4fmu_common/init.d/33_io_wingwing b/ROMFS/px4fmu_common/init.d/33_io_wingwing new file mode 100644 index 0000000000..fd709ec864 --- /dev/null +++ b/ROMFS/px4fmu_common/init.d/33_io_wingwing @@ -0,0 +1,91 @@ +#!nsh + +echo "[init] PX4FMU v1, v2 with or without IO on the Wing Wing (aka Z-84)" + +# +# Load default params for this platform +# +if param compare SYS_AUTOCONFIG 1 +then + # Set all params here, then disable autoconfig + param set FW_AIRSPD_MIN 7 + param set FW_AIRSPD_TRIM 9 + param set FW_AIRSPD_MAX 14 + param set FW_P_D 0 + param set FW_P_I 0 + param set FW_P_IMAX 15 + param set FW_P_LIM_MAX 30 + param set FW_P_LIM_MIN -20 + param set FW_P_P 30 + param set FW_P_RMAX_NEG 0 + param set FW_P_RMAX_POS 0 + param set FW_P_ROLLFF 2 + param set FW_R_D 0 + param set FW_R_I 5 + param set FW_R_IMAX 20 + param set FW_R_P 60 + param set FW_R_RMAX 60 + param set FW_THR_CRUISE 0.65 + param set FW_THR_MAX 0.7 + param set FW_THR_MIN 0 + param set FW_T_SINK_MAX 5.0 + param set FW_T_SINK_MIN 2.0 + param set FW_T_TIME_CONST 4 + param set FW_Y_ROLLFF 2.0 + param set FW_L1_PERIOD 25.0 + param set RC_SCALE_ROLL 1.0 + param set RC_SCALE_PITCH 1.0 + + 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 + + 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 + + fmu mode_pwm + param set BAT_V_SCALING 0.004593 + set EXIT_ON_END yes +fi + +# +# 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 + +# +# Start common fixedwing apps +# +sh /etc/init.d/rc.fixedwing + +if [ $EXIT_ON_END == yes ] +then + exit +fi \ No newline at end of file diff --git a/ROMFS/px4fmu_common/init.d/rcS b/ROMFS/px4fmu_common/init.d/rcS index 06102b707e..3408b4ad53 100644 --- a/ROMFS/px4fmu_common/init.d/rcS +++ b/ROMFS/px4fmu_common/init.d/rcS @@ -321,6 +321,12 @@ then set MODE custom fi + if param compare SYS_AUTOSTART 33 + then + sh /etc/init.d/32_io_wingwing + set MODE custom + fi + if param compare SYS_AUTOSTART 40 then sh /etc/init.d/40_io_segway From f17538a7f356b9db257ca6f36b8f76c47eafa328 Mon Sep 17 00:00:00 2001 From: Simon Wilks Date: Sat, 28 Dec 2013 09:03:42 +0100 Subject: [PATCH 2/2] Updated parameters to latest flight tested values --- ROMFS/px4fmu_common/init.d/33_io_wingwing | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ROMFS/px4fmu_common/init.d/33_io_wingwing b/ROMFS/px4fmu_common/init.d/33_io_wingwing index fd709ec864..538c69711d 100644 --- a/ROMFS/px4fmu_common/init.d/33_io_wingwing +++ b/ROMFS/px4fmu_common/init.d/33_io_wingwing @@ -11,9 +11,10 @@ then param set FW_AIRSPD_MIN 7 param set FW_AIRSPD_TRIM 9 param set FW_AIRSPD_MAX 14 + param set FW_L1_PERIOD 10 param set FW_P_D 0 param set FW_P_I 0 - param set FW_P_IMAX 15 + param set FW_P_IMAX 20 param set FW_P_LIM_MAX 30 param set FW_P_LIM_MIN -20 param set FW_P_P 30 @@ -28,11 +29,10 @@ then param set FW_THR_CRUISE 0.65 param set FW_THR_MAX 0.7 param set FW_THR_MIN 0 - param set FW_T_SINK_MAX 5.0 - param set FW_T_SINK_MIN 2.0 - param set FW_T_TIME_CONST 4 + param set FW_T_SINK_MAX 5 + param set FW_T_SINK_MIN 2 + param set FW_T_TIME_CONST 9 param set FW_Y_ROLLFF 2.0 - param set FW_L1_PERIOD 25.0 param set RC_SCALE_ROLL 1.0 param set RC_SCALE_PITCH 1.0