Скрипти на борту — не ті, що були схвалені
Що пише ArduPilot:
- Scripting: loaded CRC incorrect want: 0x0x…
- Scripting: running CRC incorrect want: 0x0x…
SCR_LD_CHECKSUM і SCR_RUN_CHECKSUM дають змогу зафіксувати, яким скриптам дозволено літати. Кожен містить контрольну суму — число, обчислене з вмісту файлів скриптів: завантажених скриптів і тих, що досі працюють. При -1 (типове значення) нічого не перевіряється. Коли параметр містить інше значення і воно відрізняється від того, що на борту зараз, армування відхиляється. Число в повідомленні — контрольна сума того, що на борту зараз.
Що робити: найімовірніше спершу
Відколи збережено контрольні суми, якийсь скрипт змінили, додали або прибрали.
ПеревіртеПорівняйте файли в APM/scripts із набором, який ви схвалили.
ВиправтеЯкщо зміна навмисна — один раз встановіть біт 5 у
SCR_DEBUG_OPTS: ArduPilot збереже поточні контрольні суми, скаже «Scripting: saved checksums» і зніме біт. Якщо ні — поверніть правильні файли.«running CRC incorrect»: завантажений скрипт зупинився з помилкою.
ПеревіртеПошукайте рядок помилки «Lua: …».
ВиправтеУсуньте цю помилку й перезавантажте.
Параметри взято з іншого апарата, де це блокування використовують; ви — ні.
ВиправтеПоверніть
SCR_LD_CHECKSUMіSCR_RUN_CHECKSUMна -1, їхнє типове значення.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
SCR_LD_CHECKSUM | Loaded script checksum |
SCR_RUN_CHECKSUM | Running script checksum |
SCR_DEBUG_OPTS | Scripting Debug Level |
Де це зробити:Каталог Lua-аплетівПорівняння й міграція параметрів
Код, який це надсилає
Scripting: loaded CRC incorrect want: 0x0x…
libraries/AP_Scripting/AP_Scripting.cpp AP_Scripting::arming_checks() · Відкрити в ArduPilot Copter-4.7.1
Scripting: running CRC incorrect want: 0x0x…
libraries/AP_Scripting/AP_Scripting.cpp AP_Scripting::arming_checks() · Відкрити в ArduPilot Copter-4.7.1