Команду серво відхилено: цей вихід зайнятий іншим
Що пише ArduPilot:
- ServoRelayEvent: Channel N is already in use
Пункт місії або команда наземної станції (DO_SET_SERVO, DO_REPEAT_SERVO) спробували напряму рухати вихід. ArduPilot дозволяє це лише там, де SERVOn_FUNCTION виходу дорівнює 0 (немає), 1 (RC pass-through), функції розпилювача чи захвата або 51–66 (RCIN pass-through). Названий вихід має іншу функцію, наприклад мотор чи кермо, тому команду проігноровано.
Що робити: найімовірніше спершу
Команда називає не той номер виходу.
ПеревіртеУ місії перше значення команди — це номер виходу.
ВиправтеВикористайте номер виходу, до якого під'єднано пристрій: це n із його
SERVOn_FUNCTION, а не канал пульта.Вихід пристрою досі має функцію від попереднього використання.
ВиправтеЗадайте
SERVOn_FUNCTIONцього виходу 0, щоб команди могли ним рухати.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
SERVO9_FUNCTION | Servo output function |
SERVO10_FUNCTION | Servo output function |
Де це зробити:Перевірка енергії місіїПланувальник плати й підключення
Код, який це надсилає
ServoRelayEvent: Channel N is already in use
libraries/AP_ServoRelayEvents/AP_ServoRelayEvents.cpp AP_ServoRelayEvents::do_repeat_servo() · Відкрити в ArduPilot Copter-4.7.1
libraries/AP_ServoRelayEvents/AP_ServoRelayEvents.cpp AP_ServoRelayEvents::do_set_servo() · Відкрити в ArduPilot Copter-4.7.1