Программирование прошивки
Est. 2015
Est. 2015
Программирование прошивки превращает «железо» в работающую систему. Мы описываем архитектуру ПО, создаем драйверы для датчиков и исполнительных узлов, реализуем алгоритмы измерений, фильтрации сигналов и диагностики, настраиваем звуковую и световую сигнализацию, логируем события и ошибки. Если у устройства несколько режимов, прошивка управляет переходами между ними и гарантирует безопасные реакции на нетипичное поведение пользователя.
Мы предусматриваем обновление ПО и самотестирование при включении, чтобы быстро исправлять найденные замечания и поддерживать парк устройств на одинаковой версии. Критичные части кода покрываем модульными тестами и проводим ревью, чтобы поведение было предсказуемым и понятным для сертификации.
Для основной платы сенсорного решения фильтрационной системы мы реализовали обработку сигналов, драйверы датчиков и привода, пороговую логику тревог, подтверждение событий оператором и настройку уровней громкости. Обмен с «хост-устройством» настроили так, чтобы модуль корректно работал как в составе внешней системы, так и автономно — при питании от встроенной батареи.
Благодаря аккуратной архитектуре добавление новых функций происходило без перестройки всего кода. В прошивке используется прозрачная логика состояний: «ожидание», «нормальная работа», «предупреждение», «авария», «обслуживание». Для каждого состояния описаны события-триггеры и действия системы.
Настройки сохраняются в энергонезависимой памяти с защитой от порчи при внезапном отключении. Есть «охрана от ошибок»: при выходе датчика за допустимый диапазон устройство выдает понятное сообщение и переходит в безопасный режим. Предусмотрены диагностические экраны и журнал последних событий.
На валидации прогоняем согласованный перечень сценариев — от штатной смены расходника до имитации разряда батареи и пропадания связи. При необходимости добавляем загрузчик для безопасного обновления и поддержку нескольких языков сообщений.