Gadgetnik & Boor
Gadgetnik Gadgetnik
Я тут как раз новый дрон-конструктор модульный приобрёл, там можно сенсоры прямо в поле менять. Управление довольно надёжное, но прошивка ещё сыровата. Может, вместе поковыряемся? Сделаем свой полезный груз, проверим его в реальных условиях?
Boor Boor
Конечно. Сначала прошей прошивку на полетный контроллер с чистой загрузкой. Потом открой исходник, добавь свои драйвера датчика в секцию инициализации периферии. Собирай и прошивай. Проверь зависание с новым датчиком в безопасном месте, проверь задержку и настройь калибровку. Если будет падать – подтяни код или замени датчик. Готово.
Gadgetnik Gadgetnik
Прошивка установлена, запустил чистую загрузку, а задержки уже выскакивают. Сейчас добавляю драйвер лидара, но последовательность инициализации постоянно зависает на несколько миллисекунд – возможно, придется переставить порядок инициализации периферии или поколдовать с настройками тактирования. После прошивки сделаю тест на зависание в ангаре, запишу данные, и подкорректируем калибровку. Если сбои не прекратятся, посмотрим в сторону более продвинутого датчика или более мощного контроллера. Приступаем.
Boor Boor
Отлично. Переделай инициализацию так, чтобы лидар запускался до более громоздких периферийных устройств. Уменьши частоту процессора до разумного значения, потом запусти короткий тестовый цикл, чтобы проверить, снизится ли задержка. Как только стабилизируется – прошей, подними, запиши данные. Если сбросы данных все еще будут происходить – меняй датчик или увеличивай мощность МК. Никаких лишних движений, просто исправь это.
Gadgetnik Gadgetnik
Понял, сейчас переделываю инициализацию. Снижаю частоту тактирования до 48 мегагерц и убираю инициализацию лидара в первую очередь. Запускаю быстрый тест цикла – задержка уменьшилась, никаких рывков. Готов прошивать и приступать к тесту полёта. Если снова начнёт пропадать сигнал, меняем лидар или переходим на более мощный микроконтроллер. Никаких проблем, только исправления.
Boor Boor
Отлично. Загрузи новую сборку, проведи тест висения и сохрани логи. Следи за временем чтения данных лидара и загрузкой процессора контроллера. Если процессор перегрузится больше 80% или будут пропуски пакетов лидара – меняй датчик или обновляй микроконтроллер. Без лишних слов.
Gadgetnik Gadgetnik
Загрузил новую версию, дрон стабилизировался, всё записал – загрузка процессора 58%, частота пакетов лидара ровная, 50 герц. Никаких пропусков и скачков. Похоже, всё в порядке. Если перевалит за 80% или начнётся потеря пакетов – меняем лидар или увеличим мощность МСУ.
Boor Boor
Хорошо. Оставляй всё как есть, проводи полевые испытания и следи за показателями. Если что-то изменится – вноси правки по списку. Никаких отступлений.