Servo/Motor Assignment Issue

I am using mavproxy to connect to my mRo X2.1 flight controller on a HEXA X frame via a linux machine. From mavproxy, I ran “motortest 1 0 10 1” to see which motor it understands as “motor 1”. When I run this the motor labeled 4 in this diagram turns. Similarly, the following motors turn when I run the following commands:

“motortest 1” -> 4
“motortest 2” -> 5
“motortest 3” -> 6
“motortest 4” -> 1
“motortest 5” -> 3
“motortest 6” -> 2

So I tried setting the inverse in SERVOX_FUNCTION parameters without luck. Eventually i stumbled on the following settings which seem to work, but i have no idea why. The following settings seem to work in that running motortest x spins the motor labeled with that number in the diagram linked to above:


I have checked the wiring multiple times between my flight controller and my motors and they seem to be correct.

I would like to figure out why the above SERVOX_FUNCTION parameters work, but more importantly, Is the motortest experiment I ran the correct way to test this?

1 Like

The numbering on the motor test does not have parity to the motor numbers. I dont know why, but it is explained here:

Thank you, it turns out this was the confusion. In the mission planner, labels were changed a few years ago from “motor 1” to “motor A” which is more clear. I was using mavproxy though which still uses numbers and even calls the input value motornum:

GUIDED> Usage: motortest motornum type(0=percent, 1=PWM, 2=RC-passthru) value timeout(s) <count>

After taking this into account, I was able to get everything set up properly. Thank you

How wonderful that everything is clear to you here … But one thing is not clear to me, why on all ABSOLUTELY all flight controllers, the motor inputs are numbered 1-4-6, etc.

Why in all firmware BetaFlight-like motors are also in numbers.
And the most interesting thing is why there are still numbers in Ardu’s documentation but in MP while this is such a cool feature as Letters …

And at the same time, the mapping of the motors never matches, on any firmware (I tested 3 different FCs).

I take it this is all done with some kind of supreme intent?

Up questions is rhetorical…

Essentially, for Hexa X, is the QGC piccha correct or not?

And what about mapping motors?