A servo command was refused: that output belongs to something else
What ArduPilot says:
- ServoRelayEvent: Channel N is already in use
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
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.The device's output still has a function from an earlier use.
FixSet that output's
SERVOn_FUNCTIONto 0 so that commands may move it.
Parameters to look at
| Parameter | What it is |
|---|---|
SERVO9_FUNCTION | Servo output function |
SERVO10_FUNCTION | Servo output function |
Where to do it:Mission Energy CheckBoard & Wiring Planner
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