Таблиця номерів вузлів CAN заповнена або очищена
Що пише ArduPilot:
- DroneCAN DNA allocation failed; database full
- UC DNA database reset
Пристрій DroneCAN без фіксованого номера просить його в польотного контролера (динамічне призначення вузлів, DNA). Польотний контролер пам'ятає кожен будь-коли виданий номер, щоб пристрій завжди отримував той самий; номерів 125. «allocation failed; database full» означає, що вільних не лишилося, і пристрій, який просив, лишається без номера й не працює. «UC DNA database reset» підтверджує, що таблицю очищено під час цього запуску.
Що робити: найімовірніше спершу
До цього польотного контролера з часом під'єднували багато різних пристроїв (тестовий стенд).
ВиправтеОчистіть таблицю: додайте 1 до
CAN_D1_UC_OPTION(біт 0) і перезавантажте; біт знімається сам.Пристрій змінює апаратний ідентифікатор під час кожного запуску й щоразу бере новий номер.
ПеревіртеТой самий пристрій після кожного перемикання живлення з'являється під новим номером.
ВиправтеЗадайте цьому пристрою фіксований номер вузла або оновіть його прошивку.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
CAN_D1_UC_OPTION | DroneCAN options |
Де це зробити:Планувальник плати й підключення
Код, який це надсилає
DroneCAN DNA allocation failed; database full
libraries/AP_DroneCAN/AP_DroneCAN_DNA_Server.cpp AP_DroneCAN_DNA_Server::handle_allocation() · Відкрити в ArduPilot Copter-4.7.1
UC DNA database reset
libraries/AP_DroneCAN/AP_DroneCAN_DNA_Server.cpp AP_DroneCAN_DNA_Server::init() · Відкрити в ArduPilot Copter-4.7.1