Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upstream update MAV_CMD_DO_MOTOR_TEST #264

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions message_definitions/v1.0/common.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1100,12 +1100,12 @@
<param index="7">Empty</param>
</entry>
<entry value="209" name="MAV_CMD_DO_MOTOR_TEST" hasLocation="false" isDestination="false">
<description>Mission command to perform motor test.</description>
<param index="1" label="Instance" minValue="1" increment="1">Motor instance number. (from 1 to max number of motors on the vehicle)</param>
<param index="2" label="Throttle Type" enum="MOTOR_TEST_THROTTLE_TYPE">Throttle type.</param>
<param index="3" label="Throttle">Throttle.</param>
<param index="4" label="Timeout" units="s" minValue="0">Timeout.</param>
<param index="5" label="Motor Count" minValue="0" increment="1">Motor count. (number of motors to test to test in sequence, waiting for the timeout above between them; 0=1 motor, 1=1 motor, 2=2 motors...)</param>
<description>Command to perform motor test.</description>
<param index="1" label="Instance" minValue="1" increment="1">Motor instance number (from 1 to max number of motors on the vehicle).</param>
<param index="2" label="Throttle Type" enum="MOTOR_TEST_THROTTLE_TYPE">Throttle type (whether the Throttle Value in param3 is a percentage, PWM value, etc.)</param>
<param index="3" label="Throttle">Throttle value.</param>
<param index="4" label="Timeout" units="s" minValue="0">Timeout between tests that are run in sequence.</param>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is actually incorrect for ArduPilot. It specifies the duration of the test, as well as the interval between.

I think the original concept was the user would manually cancel the test by sending another message, but that a timeout would be specified in the message. As soon as we added the "Motor Count" parameter this became weird.

ArduPilot is in two minds about how this should work. Comments indicate that there's a fixed pause between each motor. Other comments say it spends half this time with motors on and half off. In actuality it's... weird.

In any case, the change here isn't right.

<param index="5" label="Motor Count" minValue="0" increment="1">Motor count. Number of motors to test in sequence: 0/1=one motor, 2= two motors, etc. The Timeout (param4) is used between tests.</param>
<param index="6" label="Test Order" enum="MOTOR_TEST_ORDER">Motor test order.</param>
<param index="7">Empty</param>
</entry>
Expand Down