diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2013-03-17 03:16:55 -0700 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-03-17 03:16:55 -0700 |
commit | 002fb1b4ea90f0cdb7709a3668fb8387b64fcc1e (patch) | |
tree | 4ff254a5da263f9ed6b4fd9e3d3a635cb6c93920 | |
parent | 0ee5293ceb1231704b2a513b02f0d4c8400598c5 (diff) | |
parent | a0afed400f129eeb43a0cce124459b9c997fbaa6 (diff) | |
download | px4-firmware-002fb1b4ea90f0cdb7709a3668fb8387b64fcc1e.tar.gz px4-firmware-002fb1b4ea90f0cdb7709a3668fb8387b64fcc1e.tar.bz2 px4-firmware-002fb1b4ea90f0cdb7709a3668fb8387b64fcc1e.zip |
Merge pull request #225 from PX4/sign_fix
Fix signs for fixed wing control
-rw-r--r-- | ROMFS/mixers/FMU_Q.mix | 8 | ||||
-rw-r--r-- | ROMFS/mixers/FMU_X5.mix | 8 | ||||
-rw-r--r-- | apps/controllib/fixedwing.cpp | 4 | ||||
-rw-r--r-- | apps/px4io/controls.c | 4 |
4 files changed, 14 insertions, 10 deletions
diff --git a/ROMFS/mixers/FMU_Q.mix b/ROMFS/mixers/FMU_Q.mix index a35d299fd..cf64ef568 100644 --- a/ROMFS/mixers/FMU_Q.mix +++ b/ROMFS/mixers/FMU_Q.mix @@ -25,13 +25,13 @@ for the elevons. M: 2 O: 10000 10000 0 -10000 10000 -S: 0 0 -5000 -8000 0 -10000 10000 -S: 0 1 -8000 -8000 0 -10000 10000 +S: 0 0 5000 8000 0 -10000 10000 +S: 0 1 8000 8000 0 -10000 10000 M: 2 O: 10000 10000 0 -10000 10000 -S: 0 0 -8000 -5000 0 -10000 10000 -S: 0 1 8000 8000 0 -10000 10000 +S: 0 0 8000 5000 0 -10000 10000 +S: 0 1 -8000 -8000 0 -10000 10000 Output 2 -------- diff --git a/ROMFS/mixers/FMU_X5.mix b/ROMFS/mixers/FMU_X5.mix index 981466704..9f81e1dc3 100644 --- a/ROMFS/mixers/FMU_X5.mix +++ b/ROMFS/mixers/FMU_X5.mix @@ -23,13 +23,13 @@ for the elevons. M: 2 O: 10000 10000 0 -10000 10000 -S: 0 0 3000 5000 0 -10000 10000 -S: 0 1 5000 5000 0 -10000 10000 +S: 0 0 -3000 -5000 0 -10000 10000 +S: 0 1 -5000 -5000 0 -10000 10000 M: 2 O: 10000 10000 0 -10000 10000 -S: 0 0 5000 3000 0 -10000 10000 -S: 0 1 -5000 -5000 0 -10000 10000 +S: 0 0 -5000 -3000 0 -10000 10000 +S: 0 1 5000 5000 0 -10000 10000 Output 2 -------- diff --git a/apps/controllib/fixedwing.cpp b/apps/controllib/fixedwing.cpp index 1189be51a..7f5711c47 100644 --- a/apps/controllib/fixedwing.cpp +++ b/apps/controllib/fixedwing.cpp @@ -323,7 +323,7 @@ void BlockMultiModeBacksideAutopilot::update() _att.rollspeed, _att.pitchspeed, _att.yawspeed ); _actuators.control[CH_AIL] = _backsideAutopilot.getAileron(); - _actuators.control[CH_ELV] = - _backsideAutopilot.getElevator(); + _actuators.control[CH_ELV] = _backsideAutopilot.getElevator(); _actuators.control[CH_RDR] = _backsideAutopilot.getRudder(); _actuators.control[CH_THR] = _backsideAutopilot.getThrottle(); @@ -355,7 +355,7 @@ void BlockMultiModeBacksideAutopilot::update() _att.rollspeed, _att.pitchspeed, _att.yawspeed); _actuators.control[CH_AIL] = _stabilization.getAileron(); - _actuators.control[CH_ELV] = - _stabilization.getElevator(); + _actuators.control[CH_ELV] = _stabilization.getElevator(); _actuators.control[CH_RDR] = _stabilization.getRudder(); _actuators.control[CH_THR] = _manual.throttle; } diff --git a/apps/px4io/controls.c b/apps/px4io/controls.c index b507078a1..e80a41f15 100644 --- a/apps/px4io/controls.c +++ b/apps/px4io/controls.c @@ -192,6 +192,10 @@ controls_tick() { unsigned mapped = conf[PX4IO_P_RC_CONFIG_ASSIGNMENT]; ASSERT(mapped < MAX_CONTROL_CHANNELS); + /* invert channel if pitch - pulling the lever down means pitching up by convention */ + if (mapped == 1) /* roll, pitch, yaw, throttle, override is the standard order */ + scaled = -scaled; + r_rc_values[mapped] = SIGNED_TO_REG(scaled); assigned_channels |= (1 << mapped); } |