Частина ArduPilot, що пише лог, зависла
Що пише ArduPilot:
- AP_Logger: IO thread died
- AP_Logger: stuck thread (…)
Запис на картку чи у флеш-пам'ять повільний, тому ArduPilot робить його окремим потоком, який звітує після кожного проходу. «stuck thread» (microSD) означає, що звіту не було 5 секунд; слово в дужках — що саме він робив: write, fsync, close або disk_space_avail. «IO thread died» (мікросхема флеш-пам'яті) означає, що звіту не було 3 секунди, і логування лишається вимкненим до перезавантаження. Апарат летить далі, але в лозі відтепер діра, а перевірки перед армуванням покажуть «Logging failed».
Що робити: найімовірніше спершу
Картка microSD зависла посеред запису: зношена, підроблена або дуже повільна.
ПеревіртеУ дужках стоїть write або fsync, а ця сама картка дає помилки чи гальмує, коли її заповнити й перечитати в комп'ютері.
ВиправтеЗамініть картку до наступного польоту. Лог, що обривається в повітрі, марний саме тоді, коли він потрібен.
Файлову систему на картці пошкоджено (живлення зникло під час запису).
ПеревіртеКомп'ютер пропонує виправити картку, або деякі файли логів мають нульовий розмір.
ВиправтеСкопіюйте потрібне й відформатуйте картку. Дизармуйте перед вимкненням живлення, щоб лог закрився.
На платі з мікросхемою флеш-пам'яті: несправна сама мікросхема або її зв'язок із процесором.
Перевірте«IO thread died» повертається після перезавантаження й повного стирання логів.
ВиправтеНе покладайтеся на лог цієї плати. Якщо є гніздо для картки — пишіть на неї (
LOG_BACKEND_TYPE1), або замініть плату.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
LOG_BACKEND_TYPE | AP_Logger Backend Storage type |
BRD_SD_SLOWDOWN | microSD slowdown |
LOG_FILE_TIMEOUT | Timeout 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