Пристрій на шині CAN не дає армувати
Що пише ArduPilot:
- PreArm: DroneCAN: …
- PreArm: PiccoloCAN not enabled
- PreArm: PiccoloCAN: …
- PreArm: Same rfnd on different CAN ports
CAN — це двопровідна шина, яку ділять GPS-модулі, компаси, регулятори й далекоміри DroneCAN. «DroneCAN: …» несе причину зі списку вузлів, який веде ArduPilot: «Duplicate Node» означає, що два пристрої претендують на один номер вузла або пристрій замінено іншим із тим самим номером; «Node N unhealthy» означає, що пристрій сам повідомляє про несправність. «Same rfnd on different CAN ports» означає, що обом драйверам CAN задано той самий протокол далекоміра. «PiccoloCAN …» стосується регуляторів і сервоприводів Piccolo CAN.
Що робити: найімовірніше спершу
Пристрій DroneCAN замінили іншим: ArduPilot пам'ятає, яке залізо мало кожен номер вузла.
ПеревіртеПовідомлення — «Duplicate Node …», і воно з'явилося після заміни GPS, компаса чи регулятора.
ВиправтеВстановіть біт 0 (ClearDNADatabase) у
CAN_D1_UC_OPTIONі перезавантажте: список буде створено заново, а біт скинеться сам.Пристрій на шині несправний: без живлення, ще запускається або справді вийшов з ладу.
ПеревіртеЧисло в «Node N unhealthy» — номер вузла пристрою; екран DroneCAN у наземній станції показує вузли за номером і назвою.
ВиправтеПеревірте його живлення й роз'єм. Якщо він лишається несправним — оновіть його прошивку або замініть.
Обом портам CAN задано той самий протокол далекоміра або PiccoloCAN без заліза Piccolo.
ВиправтеЗадайте кожному драйверу CAN протокол того, що на ньому справді є:
CAN_D1_PROTOCOL1 — це DroneCAN, 0 — нічого. Перезавантажте.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
CAN_P1_DRIVER | Index of virtual driver to be used with physical CAN interface |
CAN_D1_PROTOCOL | Enable use of specific protocol over virtual driver |
CAN_D1_UC_OPTION | DroneCAN options |
CAN_P2_DRIVER | Index of virtual driver to be used with physical CAN interface |
CAN_D2_PROTOCOL | Enable use of specific protocol over virtual driver |
Де це зробити:Планувальник плати й підключення
Код, який це надсилає
PreArm: DroneCAN: …
libraries/AP_Arming/AP_Arming.cpp AP_Arming::can_checks() · Відкрити в ArduPilot Copter-4.7.1
PreArm: PiccoloCAN not enabled
libraries/AP_Arming/AP_Arming.cpp AP_Arming::can_checks() · Відкрити в ArduPilot Copter-4.7.1
PreArm: PiccoloCAN: …
libraries/AP_Arming/AP_Arming.cpp AP_Arming::can_checks() · Відкрити в ArduPilot Copter-4.7.1
PreArm: Same rfnd on different CAN ports
libraries/AP_Arming/AP_Arming.cpp AP_Arming::can_checks() · Відкрити в ArduPilot Copter-4.7.1