forked from Archive/PX4-Autopilot
The multirotor mixer return 0 instead of the number of channels, my Hex is flying now (not reliably now, random flips
This commit is contained in:
parent
8d1b1354e1
commit
805c08815e
|
@ -587,9 +587,9 @@ PX4IO::io_send()
|
|||
cmd.f2i_magic = F2I_MAGIC;
|
||||
|
||||
/* set outputs */
|
||||
for (unsigned i = 0; i < _max_actuators; i++)
|
||||
cmd.output_control[i] = _outputs.output[i];
|
||||
|
||||
for (unsigned i = 0; i < _max_actuators; i++) {
|
||||
cmd.output_control[i] = (uint16_t)_outputs.output[i];
|
||||
}
|
||||
/* publish as we send */
|
||||
_outputs.timestamp = hrt_absolute_time();
|
||||
/* XXX needs to be based off post-mix values from the IO side */
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue