← Усі інструменти

Пояснення повідомлень і помилок

Що означає повідомлення ArduPilot і що з ним робити

English

Процесор перезапущено сторожовим таймером

Діяти негайноПлата, внутрішні помилки, CAN, скрипти

Що пише ArduPilot:

Апаратний таймер — сторожовий таймер, watchdog (біт 0 у BRD_OPTIONS, типово ввімкнений) — перезапускає процесор, коли головний цикл перестає виконуватися. Стартуючи після такого перезапуску, ArduPilot фіксує watchdog_reset, надсилає рядок «WDG: …», де сказано, на чому зупинився код, а якщо в ту мить було заармовано — одразу вмикає логування («Forcing logging for watchdog reset»). Коптер знову стартує дизармованим: у польоті це означає, що мотори зупиняються.

Що робити: найімовірніше спершу

  1. Прошивка зависла або аварійно завершилася: помилка, найчастіше в бета- чи власній збірці, новому драйвері або скрипті.

    ПеревіртеСкопіюйте рядок «WDG:» повністю; при аварійному завершенні є ще «CrashDump data detected». Що змінювали перед першим перезапуском?

    ВиправтеНе літайте. Прошийте стабільний реліз для своєї плати, приберіть нові скрипти й надішліть розробникам ArduPilot рядок «WDG:» разом із логом.

  2. Пристрій або код, що з ним спілкується, затримує головний цикл.

    ПеревіртеЧисло IE в рядку «WDG:» — маска внутрішніх помилок запуску, що був перед перезапуском: main_loop_stk, spi_fail чи i2c_isr у ній указують на пристрій. Від'єднайте те, що додали останнім.

    ВиправтеЗамініть пристрій або його кабель і, перш ніж знову літати, протестуйте на столі стільки, скільки триває політ.

Просідання живлення — це інше: після втрати живлення плата стартує як після ввімкнення, без watchdog_reset. Звичайне перезавантаження його знімає.

Параметри, на які варто глянути

ПараметрЩо це
BRD_OPTIONSBoard options
Код, який це надсилає

Forcing logging for watchdog reset

libraries/AP_Logger/AP_Logger.cpp AP_Logger::init() · Відкрити в ArduPilot Copter-4.7.1

Тут написано для: Коптер, 4.6. В інструменті можна вибрати свій апарат і версію, побачити значення власних параметрів поруч із названими тут і перетягнути лог польоту, щоб отримати пояснення до кожного повідомлення в ньому.

Відкрити в інструменті