Servers by jDrones

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:

SERVO1_FUNCTION: 2
SERVO2_FUNCTION: 4
SERVO3_FUNCTION: 1
SERVO4_FUNCTION: 3
SERVO5_FUNCTION: 6
SERVO6_FUNCTION: 5

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?

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

https://ardupilot.org/copter/docs/connect-escs-and-motors.html#checking-the-motor-numbering-with-the-mission-planner-motor-test

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:

motortest
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

Servers by jDrones