Теку для логів не вдалося створити на картці
Що пише ArduPilot:
- Failed to create log directory … : …
Щоразу, починаючи новий лог, ArduPilot шукає на картці microSD свою теку логів (APM/LOGS) і створює її, якщо її немає. Тут картка відмовила; слова після двокрапки — причина від самої файлової системи. Без теки файл логу не відкрити, тож далі в перевірках перед армуванням буде «Logging failed», а під час армування — «Logging not started». Цей рядок новий у 4.7: 4.6 збоїть у тому самому місці, не кажучи чому.
Що робити: найімовірніше спершу
У гнізді немає картки microSD, або вона погано вставлена.
ПеревіртеНа екрані MAVFtp у Mission Planner під APM нічого не видно.
ВиправтеВимкнувши живлення, вставте якісну картку на 32 ГБ або менше, відформатовану у FAT32, і ввімкніть знову.
Картка заповнена, стала доступною лише для читання, або її файлову систему пошкоджено.
ПеревіртеПрочитайте картку в комп'ютері: вільне місце і чи вдається створити на ній нову теку.
ВиправтеСкопіюйте потрібне, відформатуйте картку або замініть її. ArduPilot тримає вільними
LOG_FILE_MB_FREEмегабайтів, видаляючи під час запуску власні найстаріші логи, але чужих файлів не чіпає ніколи.Добра картка на цій платі ненадійна на повній швидкості.
ПеревіртеРядок то з'являється, то зникає з тією самою карткою, а інша добра картка поводиться так само.
ВиправтеЗбільште
BRD_SD_SLOWDOWNна 1 і перезавантажте: плата працюватиме з карткою повільніше.
Коли LOG_DISARMED дорівнює 0 (типове значення), картка вперше використовується в момент армування, тож цей рядок з'являється лише тоді. На один сеанс задайте LOG_DISARMED 1, щоб побачити проблеми з карткою ще на столі.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
LOG_BACKEND_TYPE | AP_Logger Backend Storage type |
LOG_DISARMED | Enable logging while disarmed |
LOG_FILE_MB_FREE | Old logs on the SD card will be deleted to maintain this amount of free space |
BRD_SD_SLOWDOWN | microSD slowdown |
Де це зробити:Налаштування й тюнінг
Код, який це надсилає
Failed to create log directory … : …
libraries/AP_Logger/AP_Logger_File.cpp AP_Logger_File::ensure_log_directory_exists() · Відкрити в ArduPilot Copter-4.7.1