Обязанности:
— Разработка и сопровождение встроенного ПО для микроконтроллеров.
— Разработка ПО для промышленных систем сбора, обработки, хранения и передачи данных на базе одноплатных компьютеров.
— Разработка приложений и пользовательских интерфейсов на C++ с использованием Qt.
— Участие в разработке скважинной и наземной геофизической аппаратуры и систем телеметрии.
— Разработка ПО устьевого наземного регистратора: управление глубинными приборами, приём и регистрация данных датчиков.
— Настройка, запуск и отладка опытных образцов совместно с разработчиками электроники.
— Обеспечение устойчивой работы устройств при сбоях питания и потере связи.
— Сопровождение серийных устройств и приборов, устранение ошибок и развитие функциональности.
— Документирование программных модулей и протоколов обмена.
Требования:
— Практический опыт программирования на C/C++.
— Знание архитектуры ARM Cortex-M и опыт разработки ПО для микроконтроллеров STM32.
— Опыт работы с периферией микроконтроллеров, прерываниями, таймерами, DMA и библиотеками HAL.
— Опыт разработки ПО для одноплатных компьютеров под Linux / Embedded Linux.
— Практический опыт разработки приложений с использованием Qt Creator: сигналы и слоты, многопоточность, обмен данными с оборудованием.
— Опыт реализации сбора и регистрации измерительных данных, их локального хранения и передачи во внешние системы.
— Опыт работы с интерфейсами UART, I²C, SPI, USB и RS-485.
— Понимание основ сетевого взаимодействия и TCP/IP.
— Знание цифровой схемотехники, умение читать принципиальные электрические схемы.
— Навыки отладки ПО на реальном оборудовании и поиска неисправностей на стыке аппаратуры и ПО.
— Опыт разработки модульных решений и библиотек.
— Опыт работы с Git.
— Умение работать в команде и читать техническую документацию на английском языке.
Приветствуется:
— Опыт разработки промышленных регистраторов, измерительных систем или геофизической аппаратуры.
— Опыт работы с RTOS.
— Знание Modbus RTU/TCP и других промышленных протоколов обмена.
— Опыт работы с сотовыми модемами и восстановления соединения после обрывов связи.
— Опыт работы с базами данных.
— Опыт реализации защиты данных при отключении питания, автоматического восстановления работы и обновления ПО.
— Опыт разработки на Python для автоматизации испытаний и диагностики.
— Знание Verilog/SystemVerilog и опыт работы с ПЛИС Altera/Intel, Xilinx/AMD или Lattice.
Условия:
— Оформление по ТК РФ;
— Внутреннее и внешнее обучение;
— Возможность карьерного и профессионального роста.