← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

A servo command was refused: that output belongs to something else

Stops itMotors, ESCs and outputs

What ArduPilot says:

A mission item or a ground station command (DO_SET_SERVO, DO_REPEAT_SERVO) tried to move an output directly. ArduPilot allows that only where the output's SERVOn_FUNCTION is 0 (none), 1 (RC pass-through), a sprayer or gripper function, or 51 to 66 (RCIN pass-through). The output named has another function, a motor or a control surface for example, so the command was ignored.

What to do, most likely first

  1. The command names the wrong output number.

    CheckIn the mission, the first value of the command is the output number.

    FixUse the number of the output the device is plugged into: it is the n of its SERVOn_FUNCTION, not a transmitter channel.

  2. The device's output still has a function from an earlier use.

    FixSet that output's SERVOn_FUNCTION to 0 so that commands may move it.

Parameters to look at

ParameterWhat it is
SERVO9_FUNCTIONServo output function
SERVO10_FUNCTIONServo output function
The code that sends it

ServoRelayEvent: Channel N is already in use

libraries/AP_ServoRelayEvents/AP_ServoRelayEvents.cpp AP_ServoRelayEvents::do_repeat_servo() · Open in ArduPilot Copter-4.7.1

libraries/AP_ServoRelayEvents/AP_ServoRelayEvents.cpp AP_ServoRelayEvents::do_set_servo() · Open in ArduPilot Copter-4.7.1

Written here for Copter 4.6. In the tool you choose your vehicle and version, see your own parameter values beside the ones named here, and drop a flight log to have every message in it explained.

Open it in the Message & Error Explainer