I have just set my second naze acro board up in an asymmetrical frame and I am trying to set up a custom mixer, tha'ts fine, but I can't get the commands to work properly and I cannnot figure out why.
I enter the following CLI commands:-
cmix 1 1.000 -0.800 0.800 -1.000
cmix 2 1.000 -1.200 -1.200 1.000
cmix 3 1.000 0.800 0.800 1.000
cmix 4 1.000 1.200 -1.200 -1.000
These result in:-
Motor Thr Roll Pitch Yaw
#1: 1.000 -0.800 0.800 -1.000
#2: 1.000 -1.200 -1.200 1.000
#3: 1.000 0.800 0.800 1.000
#4: 1.000 1.200 -1.200 -1.000
Sanity check: OK NG OK
it fails the sanity check and I can't figure out why? M1 and M3 are rear motors and positive and M2 and M4 are front and negative and I want more to the front motors and less to the back, what's wrong with that?
I dinked around with it a bit in the CLI and it looks like the sanity check wants the 'column totals' to be 0.
e.g. sum of all Roll values -0.8-1.2+0.8+1.2 = 0 --->OK
sum of Pitch 0.8 -1.2 +0.8 -1.2 = -0.8 --->NG
sum of Yaw -1+1+1-1=0 --->OK
Change the pitch values so they sum to 0 and it passes the check.
So we can manipulate the values to pass the sanity check but that just doesn't seem right as far as I understand motor mix capability in Multiwii. Is it possible the sanity check is not sane? Or perhaps the sanity check is just warning us that we have an asymetrical mix. Did you try monitoring it in configurator to see if it is in fact applying more throttle to the front the way you want?
Connect it without your main battery, powering the FC by USB.
Power the Rx separately if required.
Open configurator and go to motor/servo outputs. Play with the sticks (you might have to zero out the I and D values temporarily to get simple response behaviour).
I used your config and when I roll left I see a lot more going to the front right motor (M2) than the rear right (M1). Similarly, there's still more thrust on the front left (M4) vs rear left (M3). So the whole thing is favoring the the front motors. Looks like it works. Go for a test flight. Be aware that you have specified quite a bit of difference (you'll see that when you monitor in configurator).
It would be nice to know exactly what the sanity check is checking