aboutsummaryrefslogtreecommitdiff
path: root/apps/systemlib
diff options
context:
space:
mode:
authorJulian Oes <joes@student.ethz.ch>2012-12-31 16:12:55 -0800
committerJulian Oes <joes@student.ethz.ch>2012-12-31 16:12:55 -0800
commit805c08815eb5d7a2b719be7f2371a7589e224590 (patch)
tree06edd8cd2dbfc4b08d25e9be54d7981af98178b1 /apps/systemlib
parent8d1b1354e1bd83242369210bcde66b00acd68a67 (diff)
downloadpx4-firmware-805c08815eb5d7a2b719be7f2371a7589e224590.tar.gz
px4-firmware-805c08815eb5d7a2b719be7f2371a7589e224590.tar.bz2
px4-firmware-805c08815eb5d7a2b719be7f2371a7589e224590.zip
The multirotor mixer return 0 instead of the number of channels, my Hex is flying now (not reliably now, random flips
Diffstat (limited to 'apps/systemlib')
-rw-r--r--apps/systemlib/mixer/mixer_group.cpp2
-rw-r--r--apps/systemlib/mixer/mixer_multirotor.cpp6
2 files changed, 7 insertions, 1 deletions
diff --git a/apps/systemlib/mixer/mixer_group.cpp b/apps/systemlib/mixer/mixer_group.cpp
index 9aeab1dcc..25d19f9ad 100644
--- a/apps/systemlib/mixer/mixer_group.cpp
+++ b/apps/systemlib/mixer/mixer_group.cpp
@@ -55,6 +55,8 @@
#define debug(fmt, args...) do { } while(0)
//#define debug(fmt, args...) do { printf("[mixer] " fmt "\n", ##args); } while(0)
+//#include <debug.h>
+//#define debug(fmt, args...) lib_lowprintf(fmt "\n", ##args)
MixerGroup::MixerGroup(ControlCallback control_cb, uintptr_t cb_handle) :
Mixer(control_cb, cb_handle),
diff --git a/apps/systemlib/mixer/mixer_multirotor.cpp b/apps/systemlib/mixer/mixer_multirotor.cpp
index 3dd6dfcf7..cf9debe6c 100644
--- a/apps/systemlib/mixer/mixer_multirotor.cpp
+++ b/apps/systemlib/mixer/mixer_multirotor.cpp
@@ -56,6 +56,8 @@
#define debug(fmt, args...) do { } while(0)
//#define debug(fmt, args...) do { printf("[mixer] " fmt "\n", ##args); } while(0)
+//#include <debug.h>
+//#define debug(fmt, args...) lib_lowprintf(fmt "\n", ##args)
#define CW (-1.0f)
#define CCW (1.0f)
@@ -213,9 +215,11 @@ unsigned
MultirotorMixer::mix(float *outputs, unsigned space)
{
float roll = get_control(0, 0) * _roll_scale;
+ //lib_lowprintf("roll: %d, get_control0: %d, %d\n", (int)(roll), (int)(get_control(0, 0)), (int)(_roll_scale));
float pitch = get_control(0, 1) * _pitch_scale;
float yaw = get_control(0, 2) * _yaw_scale;
float thrust = get_control(0, 3);
+ //lib_lowprintf("thrust: %d, get_control3: %d\n", (int)(thrust), (int)(get_control(0, 3)));
float max = 0.0f;
float fixup_scale;
@@ -272,7 +276,7 @@ MultirotorMixer::mix(float *outputs, unsigned space)
if (outputs[i] < _deadband)
outputs[i] = _deadband;
- return 0;
+ return _rotor_count;
}
void