aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLorenz Meier <lorenz@px4.io>2015-04-21 13:45:45 +0200
committerLorenz Meier <lorenz@px4.io>2015-04-21 13:45:45 +0200
commita0ad5ec42b659fbf083a489c368f9a90c29444a6 (patch)
treee78d9f5205aaa91da0e268d718414255ccf6584e
parent9c282cf6d69c60e2e280d1febf21fc96bb6e40cc (diff)
parent5e044e5b676747a278513ec7501a472dea25aac6 (diff)
downloadpx4-firmware-a0ad5ec42b659fbf083a489c368f9a90c29444a6.tar.gz
px4-firmware-a0ad5ec42b659fbf083a489c368f9a90c29444a6.tar.bz2
px4-firmware-a0ad5ec42b659fbf083a489c368f9a90c29444a6.zip
Merge pull request #2062 from PX4/firefly
Firefly6
-rw-r--r--ROMFS/px4fmu_common/init.d/13002_firefly610
-rw-r--r--ROMFS/px4fmu_common/init.d/rc.interface11
-rw-r--r--ROMFS/px4fmu_common/mixers/firefly6.aux.mix18
-rw-r--r--src/modules/vtol_att_control/vtol_att_control_main.cpp4
4 files changed, 35 insertions, 8 deletions
diff --git a/ROMFS/px4fmu_common/init.d/13002_firefly6 b/ROMFS/px4fmu_common/init.d/13002_firefly6
index 29167f1ed..9489bfd9a 100644
--- a/ROMFS/px4fmu_common/init.d/13002_firefly6
+++ b/ROMFS/px4fmu_common/init.d/13002_firefly6
@@ -8,10 +8,14 @@
sh /etc/init.d/rc.vtol_defaults
set MIXER firefly6
-set MIXER_AUX firefly6
+set PWM_OUT 123456
-set PWM_OUT 12345678
-set PWM_AUX_OUT 1234
+set MIXER_AUX firefly6
set PWM_AUX_RATE 50
+set PWM_AUX_OUT 1234
+set PWM_AUX_DISARMED 1000
+set PWM_AUX_MIN 1000
+set PWM_AUX_MAX 2000
+
param set VT_MOT_COUNT 6
param set VT_IDLE_PWM_MC 1080
diff --git a/ROMFS/px4fmu_common/init.d/rc.interface b/ROMFS/px4fmu_common/init.d/rc.interface
index efdba9506..7a424970f 100644
--- a/ROMFS/px4fmu_common/init.d/rc.interface
+++ b/ROMFS/px4fmu_common/init.d/rc.interface
@@ -45,7 +45,7 @@ then
if mixer load $OUTPUT_DEV $MIXER_FILE
then
- echo "[i] Mixer: $MIXER_FILE"
+ echo "[i] Mixer: $MIXER_FILE on $OUTPUT_DEV"
else
echo "[i] Error loading mixer: $MIXER_FILE"
tone_alarm $TUNE_ERR
@@ -105,7 +105,7 @@ then
set MIXER_AUX_FILE none
set OUTPUT_AUX_DEV /dev/pwm_output1
- if [ -f $SDCARD_MIXERS_PATH/$MIXER_AUX.mix ]
+ if [ -f $SDCARD_MIXERS_PATH/$MIXER_AUX.aux.mix ]
then
set MIXER_AUX_FILE $SDCARD_MIXERS_PATH/$MIXER_AUX.aux.mix
else
@@ -120,7 +120,12 @@ then
then
if fmu mode_pwm
then
- mixer load $OUTPUT_AUX_DEV $MIXER_AUX_FILE
+ if mixer load $OUTPUT_AUX_DEV $MIXER_AUX_FILE
+ then
+ echo "[i] Mixer: $MIXER_AUX_FILE on $OUTPUT_AUX_DEV"
+ else
+ echo "[i] Error loading mixer: $MIXER_AUX_FILE"
+ fi
else
tone_alarm $TUNE_ERR
fi
diff --git a/ROMFS/px4fmu_common/mixers/firefly6.aux.mix b/ROMFS/px4fmu_common/mixers/firefly6.aux.mix
index 9ed6eeed9..b0b425092 100644
--- a/ROMFS/px4fmu_common/mixers/firefly6.aux.mix
+++ b/ROMFS/px4fmu_common/mixers/firefly6.aux.mix
@@ -1,4 +1,14 @@
-# mixer for the FireFly6 elevons
+# mixer for the FireFly6 tilt mechansim servo, elevons and landing gear
+=======================================================================
+
+Tilt mechanism servo mixer
+---------------------------
+M: 1
+O: 10000 10000 0 -10000 10000
+S: 1 4 10000 10000 0 -10000 10000
+
+Elevon mixers
+-------------
M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 7500 7500 0 -10000 10000
@@ -8,3 +18,9 @@ M: 2
O: 10000 10000 0 -10000 10000
S: 1 0 7500 7500 0 -10000 10000
S: 1 1 -8000 -8000 0 -10000 10000
+
+Landing gear mixer
+------------------
+M: 1
+O: 10000 10000 0 -10000 10000
+S: 0 7 10000 10000 0 -10000 10000
diff --git a/src/modules/vtol_att_control/vtol_att_control_main.cpp b/src/modules/vtol_att_control/vtol_att_control_main.cpp
index defcff8e4..d9425f2bb 100644
--- a/src/modules/vtol_att_control/vtol_att_control_main.cpp
+++ b/src/modules/vtol_att_control/vtol_att_control_main.cpp
@@ -176,7 +176,7 @@ private:
bool flag_idle_mc; //false = "idle is set for fixed wing mode"; true = "idle is set for multicopter mode"
unsigned _motor_count; // number of motors
float _airspeed_tot;
-
+ float _tilt_control;
//*****************Member functions***********************************************************************
void task_main(); //main task
@@ -241,6 +241,7 @@ VtolAttitudeControl::VtolAttitudeControl() :
flag_idle_mc = true;
_airspeed_tot = 0.0f;
+ _tilt_control = 0.0f;
memset(& _vtol_vehicle_status, 0, sizeof(_vtol_vehicle_status));
_vtol_vehicle_status.vtol_in_rw_mode = true; /* start vtol in rotary wing mode*/
@@ -521,6 +522,7 @@ void VtolAttitudeControl::fill_mc_att_control_output()
//set neutral position for elevons
_actuators_out_1.control[0] = _actuators_mc_in.control[2]; //roll elevon
_actuators_out_1.control[1] = _actuators_mc_in.control[1];; //pitch elevon
+ _actuators_out_1.control[4] = _tilt_control; // for tilt-rotor control
}
/**