Намальовану геозону, збережену на апараті, не вдалося завантажити
Що пише ArduPilot:
- Polygon fence(s) invalid
- AC_Fence: invalid polygon vertex count N
- Fence corrupt
- AC_Fence: latlon read failed
- PolyFence: latlon read failed
- AC_Fence: non-positive circle radius
Тут пояснено ще: 2
- AC_Fence: polygon read failed
- PolyFence: Multiple return points found
FENCE_TYPE містить намальовані геозони (біт 2), а полігонів і кіл, збережених на апараті, у пам'яті немає. ArduPilot завантажує їх, коли дізнається, де він перебуває. Завантаження не вдається, якщо збережене не має сенсу: полігон із менш ніж 3 точок, коло без радіуса, дві точки повернення, елемент невідомого типу. Котре саме — кажуть попередження, що починаються з «AC_Fence:» чи «PolyFence:», та «Fence corrupt». Апарат без жодної намальованої геозони цю перевірку проходить.
Що робити: найімовірніше спершу
Збережена геозона пошкоджена: запис обірвався, або її записала значно старіша прошивка.
ПеревіртеПрочитайте геозону на екрані Plan наземної станції: чи схожа вона на те, що ви малювали? Одне з попереджень вище серед повідомлень запуску це підтверджує.
ВиправтеОчистьте геозону на апараті, запишіть її знову з наземної станції, потім перезавантажте.
Геозону записано щойно, і вона ще завантажується.
ВиправтеЗачекайте секунду-дві. Якщо повідомлення лишається — це одна з інших причин.
Платі бракує вільної пам'яті, щоб тримати всі точки геозони.
ПеревіртеГеозона з багатьох точок на малій платі, де ввімкнено скрипти чи інші вимогливі до пам'яті можливості.
ВиправтеНамалюйте геозону з меншою кількістю точок або звільніть пам'ять, вимкнувши можливості, якими не користуєтеся, і перезавантажте.
Коли BRD_SD_FENCE більший за 0, геозона зберігається у файлі на SD-карті; тоді відсутність карти показується як «Failed to open fence storage».
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
FENCE_TYPE | Fence Type |
FENCE_TOTAL | Fence polygon point total |
BRD_SD_FENCE | SDCard Fence size |
Де це зробити:Пояснення фейлсейфів
Код, який це надсилає
Polygon fence(s) invalid
libraries/AC_Fence/AC_Fence.cpp AC_Fence::pre_arm_check_polygon() · Відкрити в ArduPilot Copter-4.7.1
AC_Fence: invalid polygon vertex count N
libraries/AC_Fence/AC_PolyFence_loader.cpp AC_PolyFence_loader::load_from_eeprom() · Відкрити в ArduPilot Copter-4.6.3
libraries/AC_Fence/AC_PolyFence_loader.cpp AC_PolyFence_loader::load_from_storage() · Відкрити в ArduPilot Copter-4.7.1
Fence corrupt
libraries/AC_Fence/AC_PolyFence_loader.cpp AC_PolyFence_loader::scan_eeprom() · Відкрити в ArduPilot Copter-4.7.1
AC_Fence: latlon read failed
libraries/AC_Fence/AC_PolyFence_loader.cpp AC_PolyFence_loader::load_from_eeprom() · Відкрити в ArduPilot Copter-4.6.3
libraries/AC_Fence/AC_PolyFence_loader.cpp AC_PolyFence_loader::load_from_storage() · Відкрити в ArduPilot Copter-4.7.1
І ще 4 повідомлень, що надсилаються з тих самих місць.