Обязанности:
Направление: Бортовые системы БПЛА О роли: Мы ищем инженера-программиста для разработки и сопровождения отказоустойчивого ПО бортовых вычислительных комплексов беспилотных летательных аппаратов. Работа охватывает полный стек — от драйверов нижнего уровня на «голом железе» доmiddleware-сервисов на Linux и интеграции с экосистемой ROS. Если вы способны одновременно думать фронтом сигнала на ножке МК и графикомтопика в PlotJuggler — эта позиция для вас. Чем предстоит заниматься: Проектирование и разработка firmware на C++ для микроконтроллеров STM32F4/G4 (FreeRTOS, HAL/LL, работа с регистрами напрямую). Разработка и отладка конечных автоматов (FSM) для критической логики безопасности:Fail-Safe, защита от ложных срабатываний, аппаратные и программные watchdog-таймеры. Написание низкоуровневых драйверов периферии без блокирующих вызовов: EXTI, DMA, таймеры Capture/Compare, I2C/SPI в неблокирующем режиме. Реализация обмена по шине CAN/CAN-FD с использованием протоколаDroneCAN (UAVCAN v0/v1), включая работу с libcanard. Разработка bridge-сервисов на Python 3 под Linux: трансляция данных междуCAN-шиной и ROS1 (rosserial, publisher/subscriber-ноды, кастомные сообщения). Диагностика и устранение аномалий: HardFault, джиттер прерываний, Race Conditions, некорректная синхронизация в многозадачной среде FreeRTOS. Сопровождение сборочной инфраструктуры: CMake, Ninja, кодогенерация(парсинг DSDL, генерация C++-заголовков). Макетирование и сборка стендов для разрабатываемых устройств: подключениепериферии, отладочных интерфейсов и измерительного оборудования. Ведение проекта в GitLab: работа с ветками, MR/CR, настройка и сопровождениепайплайнов CI/CD (сборка, прогон тестов, автодеплой артефактов). Участие в проведении ревью кода и формировании командных стандартов разработки. Обязательные требования: Языки и платформы C/C++ (C++14/17) — уверенное владение; понимание специфики критических систем:отказ от RTTI, исключений и динамической памяти в real-time контексте. Python 3 — написание устойчивых к сбоям системных демонов, корректная обработка исключений, управление ресурсами ОС (файловые дескрипторы, сокеты). ROS1 (Noetic) — разработка нод, работа с publisher/subscriber,кастомными типами сообщений, параметрами и launch-файлами. Микроконтроллеры и периферия Архитектура ARM Cortex-M: работа с регистрами, CMSIS, HAL/LL STM32. Периферия: CAN, I2C, SPI, UART, EXTI, DMA, таймеры (PWM, Capture/Compare). FreeRTOS: задачи, очереди, мьютексы, семафоры, корректная синхронизация,предотвращение Race Conditions и дедлоков. Сериализация и передача данных Глубокое понимание упаковки данных: побитовые операции, выравнивание памяти(padding), порядок байт и бит (Endianness, LSB/MSB first). Опыт работы с бинарными протоколами (CRSF, SBUS, DroneCAN, кастомные фреймы). Инструментарий GCC ARM Toolchain, CMake, Git. Навыки работы с логическими анализаторами (Saleae Logic и аналоги): захват и декодирование протоколов на шине — UART, SPI, I2C, CAN, CRSF, SBUS и других. Желательные требования: ROS2 (Humble/Iron) — базовое понимание архитектуры, DDS, отличий от ROS1. PlotJuggler — построение и анализ временны́х рядов телеметрии; создание customплагинов или скриптов трансформации данных будет существенным преимуществом. DroneCAN/UAVCAN v1 — работа с libcanard v1, расчёт DSDL-сигнатур,генерация кода через nunavut. Опыт тестирования firmware в эмуляторах (QEMU) в контуре CI/CD (GitLab CI). Опыт работы с осциллографом для анализа аналоговых сигналов и временны́х диаграмм. Прототипирование устройств и быстрая проверка гипотез на базе Arduino. Мы предлагаем: Официальное трудоустройство по ТКРФ; "Белую" зп до 250.000 руб. включительно (после вычета налогов) И ВЫШЕ; Гибридный, либо офисный формат работы; Технику для работы; Интересные проекты на переднем крае развития БЛА; Креативный и дружный коллектив профессионалов. Оставляйте отклик и пишите сразу в телеграм!Похожие вакансии
Инженер-программист встраиваемых систем (Embedded)
Договорная
Москва. Станции метро: Некрасовка, Лухмановская
НПП ФЛИКС
Инженер-программист embedded (БПЛА)
Договорная
Москва. Станции метро: Некрасовка, Лухмановская
АК Новый космос
Инженер встраиваемых систем (Embedded Linux)
Договорная
Москва. Станции метро: Некрасовка, Лухмановская
ВедаПроект
Инженер-программист встраиваемых систем
От 277 500 руб.
Москва. Станции метро: Некрасовка, Лухмановская
Алабуга, ОЭЗ ППТ
Инженер‑программист встраиваемых систем
От 277 500 руб.
Москва. Станции метро: Некрасовка, Лухмановская
Алабуга, ОЭЗ ППТ
Инженер-электронщик / инженер встраиваемых систем (Embedded разработчик)
От 150 000 руб.
Москва. Станции метро: Некрасовка, Лухмановская
ПЕЛ