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

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

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

English

Частина ArduPilot, що пише лог, зависла

ПопередженняЛогування й пам'ять

Що пише ArduPilot:

Запис на картку чи у флеш-пам'ять повільний, тому ArduPilot робить його окремим потоком, який звітує після кожного проходу. «stuck thread» (microSD) означає, що звіту не було 5 секунд; слово в дужках — що саме він робив: write, fsync, close або disk_space_avail. «IO thread died» (мікросхема флеш-пам'яті) означає, що звіту не було 3 секунди, і логування лишається вимкненим до перезавантаження. Апарат летить далі, але в лозі відтепер діра, а перевірки перед армуванням покажуть «Logging failed».

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

  1. Картка microSD зависла посеред запису: зношена, підроблена або дуже повільна.

    ПеревіртеУ дужках стоїть write або fsync, а ця сама картка дає помилки чи гальмує, коли її заповнити й перечитати в комп'ютері.

    ВиправтеЗамініть картку до наступного польоту. Лог, що обривається в повітрі, марний саме тоді, коли він потрібен.

  2. Файлову систему на картці пошкоджено (живлення зникло під час запису).

    ПеревіртеКомп'ютер пропонує виправити картку, або деякі файли логів мають нульовий розмір.

    ВиправтеСкопіюйте потрібне й відформатуйте картку. Дизармуйте перед вимкненням живлення, щоб лог закрився.

  3. На платі з мікросхемою флеш-пам'яті: несправна сама мікросхема або її зв'язок із процесором.

    Перевірте«IO thread died» повертається після перезавантаження й повного стирання логів.

    ВиправтеНе покладайтеся на лог цієї плати. Якщо є гніздо для картки — пишіть на неї (LOG_BACKEND_TYPE 1), або замініть плату.

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

ПараметрЩо це
LOG_BACKEND_TYPEAP_Logger Backend Storage type
BRD_SD_SLOWDOWNmicroSD slowdown
LOG_FILE_TIMEOUTTimeout before giving up on file writes
Код, який це надсилає

AP_Logger: IO thread died

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

AP_Logger: stuck thread (…)

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

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

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