Передача файлів через канал телеметрії недоступна
Що пише ArduPilot:
- FTP disabled
- failed to initialize MAVFTP
- Unsupported FTP: N
MAVFTP передає файли через канал MAVLink. Наземні станції користуються ним, щоб одним махом отримати всі параметри й дістатися до логів, скриптів і файлів рельєфу на картці. «failed to initialize MAVFTP» означає, що для його запуску забракло вільної пам'яті; «FTP disabled» (4.7) — що його вимикає біт 1 у BRD_OPTIONS; «Unsupported FTP: N» — що наземна станція вжила операцію, якої ця прошивка не має. Без MAVFTP наземна станція читає параметри по одному: повільно, але працює.
Що робити: найімовірніше спершу
У
BRD_OPTIONSвстановлено біт 1 (Disable MAVftp).ВиправтеЗніміть біт і перезавантажте, якщо його не встановили навмисно, щоб заощадити пам'ять на малій платі.
Платі бракує вільної пам'яті.
ПеревіртеНаземна станція показує вільну пам'ять (freemem у списку стану Mission Planner). Про пам'ять можуть скаржитися й інші функції.
ВиправтеЗвільніть трохи: менший
SCR_HEAP_SIZE, якщо скриптам не потрібен увесь, меншийLOG_FILE_BUFSIZE, або вимкніть функції, якими не користуєтеся, і перезавантажте.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
BRD_OPTIONS | Board options |
SCR_HEAP_SIZE | Scripting Heap Size |
LOG_FILE_BUFSIZE | Logging File and Block Backend buffer size max (in kilobytes) |
Де це зробити:Налаштування й тюнінг
Код, який це надсилає
FTP disabled
libraries/GCS_MAVLink/GCS_FTP.cpp GCS_FTP::handle_file_transfer_protocol() · Відкрити в ArduPilot Copter-4.7.1
failed to initialize MAVFTP
libraries/GCS_MAVLink/GCS_FTP.cpp GCS_FTP::init() · Відкрити в ArduPilot Copter-4.7.1
libraries/GCS_MAVLink/GCS_FTP.cpp GCS_MAVLINK::ftp_init() · Відкрити в ArduPilot Copter-4.6.3
Unsupported FTP: N
libraries/GCS_MAVLink/GCS_FTP.cpp GCS_FTP::Session::handle_request() · Відкрити в ArduPilot Copter-4.7.1
libraries/GCS_MAVLink/GCS_FTP.cpp GCS_MAVLINK::ftp_worker() · Відкрити в ArduPilot Copter-4.6.3