Логування необроблених даних IMU ввімкнено, але воно ще не працює
Що пише ArduPilot:
- Failed to allocate N bytes for IMU batch sampling
- PreArm: Batch sampling requires reboot
Пакетний запис зберігає в лозі короткі серії необроблених даних гіроскопа чи акселерометра, за якими видно, на яких частотах вібрує рама. Його вмикають через INS_LOG_BAT_MASK, але пам'ять під нього виділяється лише під час запуску. Перевірка не проходить, поки його ввімкнено, а цієї пам'яті немає: або параметр змінили після останнього запуску, або під час запуску пам'яті не вистачило («Failed to allocate … bytes for IMU batch sampling»).
Що робити: найімовірніше спершу
INS_LOG_BAT_MASKзмінили після останнього запуску.ВиправтеПерезавантажте польотний контролер.
Після перезавантаження повідомлення лишилося: на платі замало вільної пам'яті для буфера відліків.
ПеревіртеУ повідомленнях запуску з'являється «Failed to allocate … bytes for IMU batch sampling».
ВиправтеЗменште
INS_LOG_BAT_CNT(типово 1024) до 512 чи 256 і перезавантажте. Коли вимірювання завершено, повернітьINS_LOG_BAT_MASKна 0.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
INS_LOG_BAT_MASK | Sensor Bitmask |
INS_LOG_BAT_CNT | sample count per batch |
Де це зробити:Налаштування й тюнінг
Код, який це надсилає
Failed to allocate N bytes for IMU batch sampling
libraries/AP_InertialSensor/BatchSampler.cpp AP_InertialSensor::BatchSampler::init() · Відкрити в ArduPilot Copter-4.7.1
PreArm: Batch sampling requires reboot
libraries/AP_Arming/AP_Arming.cpp AP_Arming::ins_checks() · Відкрити в ArduPilot Copter-4.7.1