Шину I2C затопило перериваннями
Що пише ArduPilot:
- Internal errors 0x80000 (i2c_isr)
Зовнішні компаси, датчики повітряної швидкості, деякі далекоміри та світлодіоди працюють на I2C — двопровідній шині, спільній для всіх них. Під час одного обміну процесор нарахував більше переривань від шини, ніж буває при справній роботі, покинув обмін і зафіксував i2c_isr. Пристрій на цій шині пропустив щонайменше один вимір; сама злива переривань забирає час процесора в усього іншого.
Що робити: найімовірніше спершу
Кабель або роз'єм на шині I2C ненадійний, задовгий чи йде вздовж силових дротів.
ПеревіртеПоворушіть кабель GPS/компаса при ввімкненій платі, знявши пропелери, і стежте, чи не з'являються в ту саму мить помилки компаса чи повітряної швидкості.
ВиправтеВізьміть короткий кабель зі скрученими дротами, проведіть його подалі від дротів батареї та ESC і щільно посадіть роз'єми.
Один пристрій на шині несправний і тримає лінії.
ПеревіртеВід'єднуйте пристрої I2C по одному; без несправного помилка зникає.
ВиправтеЗамініть цей пристрій.
Де це зробити:Планувальник плати й підключення