PX4 Mixing Question

Hello group,

I have a question about PX$ mixing concept that I cannot seem to grasp.

If I have a simple throttle mixer:

Throttle mixer

M: 1
O: 10000 10000 0 -10000 10000
S: 1 3 0 20000 -10000 -10000 10000

And we take the formulas from the Mixing guide:

if (input < 0)
output = (input * NEGATIVE_SCALE) + OFFSET
output = (input * POSITIVE_SCALE) + OFFSET

if (output < LOWER_LIMIT)
output = LOWER_LIMIT
if (output > UPPER_LIMIT)
output = UPPER_LIMIT

and calculate the output while the throttle is in the negative scale, by this formulas it means that the output stays at -10000 until the throttle gets to positive input.

In other words NEGATIVE_SCALE = 0; POSITIVE_SCALE = 20000; OFFSET = -10000
While input <0 -> output = (input*0)+(-10000) = -10000

But in reality the mixing does not function like this…

Am I missing something?? I’m puzzled.



I’m puzzled by the mixer config files …
It seems that there are several mixer style. In the multicopter_mixer, the last parameter seems nonsense…

@tubeme Are you saying you also want to have negative throttle? So you need the whole range from -10000 to 10000?
Or what are you trying to achieve?

If you find something specific in code that you don’t understand, please link to it. Or if your changes don’t work as expected, you could show your changes using a pull request on github. Small extracts like above are hard to grasp out of context.

I’m referring to the manual, because mixer is functioning perfectly as expected. Now there is an effort for the new Users Manual I think there should be a little more explanation on this case. I’m a confident user so no problems with the mixing.

yeah, the design is satisfactory.
However, sometimes I think, it seems a little redundant for some special purpose. It’ll make the signal delay for the controller. The effect of delay is less obvious for this part of course. However I think it will make obvious effect after the delay of the whole redundant system.

I mean the mixer group