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

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

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

English

Рушій Lua-скриптів зупинився, перезапустився або не зміг стартувати

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

Що пише ArduPilot:

«Scripting: stopped»: рушій скриптів завершився, і жоден скрипт більше не працює; те, що скрипти робили для апарата, більше не відбувається. «restarted»: він стартував знову з нуля — після того, як SCR_ENABLE став 0 і знову 1, або після команди перезапуску з наземної станції. «Unable to allocate memory» і «failed to start»: він не отримав своєї пам'яті (SCR_HEAP_SIZE байтів) або свого потоку. «saved checksums»: біт 5 у SCR_DEBUG_OPTS зберіг контрольні суми наявних скриптів у SCR_LD_CHECKSUM і SCR_RUN_CHECKSUM. «unable to receive mission command»: команду місії, призначену скрипту, не вдалося поставити в чергу.

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

  1. Ви або наземна станція зупинили чи перезапустили скрипти.

    ВиправтеВиправляти нічого. Після «stopped» надішліть команду перезапуску або перезавантажте, щоб скрипти запрацювали знову.

  2. Плата не має SCR_HEAP_SIZE байтів вільної пам'яті.

    Перевірте«Unable to allocate memory» під час запуску й рядок перед армуванням «Scripting: out of memory».

    ВиправтеЗменште SCR_HEAP_SIZE до того, що плата має вільним (наземна станція показує вільну пам'ять), або звільніть пам'ять, вимкнувши непотрібні функції, і перезавантажте.

  3. «stopped» з'явилося саме, у польоті чи на столі: рушій натрапив на помилку, якої не пережив.

    ПеревіртеРядок «Lua: …» безпосередньо перед ним називає причину.

    ВиправтеЯкщо апарат залежить від скрипта (фейлсейф, корисне навантаження, власний режим) — сідайте й виправте скрипт, перш ніж літати знову.

У лозі рядок, що починається з «SRC=1/191:» або «GCS:», — це текст, який польотному контролеру надіслав інший пристрій MAVLink (бортовий комп'ютер, камера, наземна станція); ArduPilot пише його в лог із цим префіксом. Ця сторінка знімає префікс і пояснює решту, коли це повідомлення ArduPilot.

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

ПараметрЩо це
SCR_ENABLEEnable Scripting
SCR_HEAP_SIZEScripting Heap Size
SCR_DEBUG_OPTSScripting Debug Level
SCR_LD_CHECKSUMLoaded script checksum
SCR_RUN_CHECKSUMRunning script checksum
Код, який це надсилає

Scripting: …

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

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

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

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

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