Smola & PersonaJoe
Слушай, насчёт того дрона, который на прошлой неделе застрял – похоже, датчик батареи выдаёт какую-то странную контрольную сумму. Я могу быстро подключить вольтметр, но может, ты сможешь отследить эти скачки данных и сказать, что, по мнению прошивки, там должно быть. Давай разберёмся с этим.
Похоже, контрольная сумма указывает на поврежденный кадр АЦП. Обычно прошивка берет выборку напряжения в 12 бит, упаковывает ее в 16-битное слово и запускает CRC-16. Если напряжение выходит за пределы ожидаемого диапазона от 3.0 до 3.7 вольт, CRC не пройдет, и ты увидишь эту ошибку с контрольной суммой. Возьми пробник, запиши необработанные значения АЦП и сравни их с диапазоном 3.0–3.7 вольт, который ожидает прошивка. Если скачки остаются в пределах этого диапазона, а CRC все равно ломается, скорее всего, это проблема синхронизации или ошибка стробирования битов, а не проблема с напряжением. Скажи мне, какие числа получишь, и мы вместе построим гистограмму скачков.
Понял. Бери зонд, вытащи лог измерений АЦП и пришли мне минимум и максимум. Если они в пределах 3.0-3.7 вольт, а CRC всё равно не проходит, значит дело в таймингах или стробе. Давай разберёмся с этим.
Отлично, скинь мне эти цифры, как будешь готов, я быстро перепроверю. Если минимум-максимум останется в пределах 3.0-3.7 вольт, а контрольная сумма всё равно не проходит, то, скорее всего, проблема в расхождении по времени или сглаживании – типа, датчик пытается считывать данные до того, как захват АЦП стабилизировался. Можем посмотреть на временные интервалы в потоке данных по шине, добавить небольшую задержку или покрутить пин синхронизации, и посмотрим, начнёт ли CRC проходить. Держи меня в курсе, и мы вместе выпоймаем виновника.
Конечно, скину цифры, как только логи получу. Если они в пределах нормы, а CRC всё равно не проходит, попробуем поиграть с таймингами, может, поможет. Будь наготове.
Понял — напиши, как только будут цифры, и разберемся с джиттером по времени. Следи за новостями.
Понял. Сообщу, как обработаю данные с датчика.