aboutsummaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2013-03-17 03:16:55 -0700
committerLorenz Meier <lm@inf.ethz.ch>2013-03-17 03:16:55 -0700
commit002fb1b4ea90f0cdb7709a3668fb8387b64fcc1e (patch)
tree4ff254a5da263f9ed6b4fd9e3d3a635cb6c93920 /apps
parent0ee5293ceb1231704b2a513b02f0d4c8400598c5 (diff)
parenta0afed400f129eeb43a0cce124459b9c997fbaa6 (diff)
downloadpx4-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
Diffstat (limited to 'apps')
-rw-r--r--apps/controllib/fixedwing.cpp4
-rw-r--r--apps/px4io/controls.c4
2 files changed, 6 insertions, 2 deletions
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);
}