Заказчик
Общество с ограниченной ответственностью "Марафон-Электро"
Проект
Разработка встраиваемого ПО для головного устройства системы ППC
Цели и задачи
ППС (пожарно-прикладной спорт) - это служебно-прикладной вид спорта, заключающийся в выполнении комплексов разнообразных приемов, применяемых в практике тушения пожаров, как в индивидуальном, так и в групповом зачёте.
Решение
Разработанное в рамках данной работы головное устройство системы ППС поддерживает следующие виды дисциплин:
- Преодоление 100-метровой полосы с препятствиями
- Подъем по штурмовой лестнице на 4-й этаж учебной башни
- Боевое развертывание
Систему, обслуживающую соревнования по ППС, можно представить в следующем виде:

Задачи, выполняемые головным устройством системы ППС:
- опрос матричной клавиатуры 7х4 и соответствующая реакция на нажатие той или иной клавиши;
- вывод текущего состояния и режима работы устройства на OLED-экран WEG010032;
- синхронизация времени на стартовом и финишных устройствах системы;
- опрос стартового устройства, в т.ч. защита от фальс-старта;
- опрос финишного устройства в зависимости от выбранного типа соревнований;
- передача информации по результатам забега на табло;
- передачи информации по результатам забега на верхний уровень через USB;
- сохранение результатов забега во внутренней энергонезависимой памяти;
- просмотр ранее сохранённых во внутренней памяти результатов забега;
Для опроса стартового и финишных устройств, а также табло используется открытый коммуникационный протокол Modbus RTU. В роли ведущего выступает головное устройство. На физическом уровне двухсторонний обмен данными осуществляется при помощи радиомодемов, подключенных к каждому из устройств сети.
Для обмена информацией с судейской компьютерной системой головное устройство подключается к ПК посредством интерфейса USB.
Разработка ПО для микроконтроллера выполнялась с использованием:
- программатор/отладчик ST-LINK в составе отладочной платы STM32F4Discovery;
- среда разработки - Eclipse
- компилятор/ассемблер/компоновщик - от Mentor Graphics/CodeSourcery
- система контроля версий - Git
- дополнительно используемые библиотеки:
- STM32F4xx DSP and standard peripherals library;
- STM32F4xx USB Device library;
- STM32F4xx USB OTG Driver;
Результаты
Разработанная система ППС на момент написания данной статьи проходит испытания