alekfed

a

C/C++

Общий опыт: 4 года

Поскольку я начинал программировать с микроконтроллеров, Си стал моим первым «серьёзным» языком. Но в какой-то момент я заинтересовался, как писать нативные десктопные GUI, и как мне могут помочь классы с шаблонами…

Примечание: в настоящий момент мне не интересен C/C++.

RTOS

На C++ я разрабатывал самописную RTOS жёсткого реального времени, использующуюся в системе управления винтокрылого БПЛА . Несмотря на распространённое мнение, что «у C++ слишком большое потребление ресурсов для микроконтроллеров, тем более для обеспечения жёсткого реального времени» как-то всё уместилось и обеспечилось на не самых передовых микроконтроллерах с одним CPU без сопроцессора с плавающей запятой.

До этого, уже на Си, я работал с FreeRTOS , которую использовал для разработки систем управления импульсными преобразователями и прошивки радиомодема для работы с группировкой спутников Iridium , предназначавшегося для установки на БПЛА.

DSP

Поскольку встроенные ОС, с которыми я работал, были написаны на C и C++, цифровая обработка сигналов ( DSP ) для нужд систем управления также писалась на соответствующих языках. В основном это были сильно упрощённые библиотеки по линейной алгебре и матанализу для реализации различных фильтров: Калмана , эллиптических , КИХ , БИХ .

Имитационная модель

В ходе работы над системой управления БПЛА я также разрабатывал имитационную модель вертолёта, которая должна была, в том числе, работать с полноценными «железными» версиями блоков управления ( HIL ). Работа делалась на основе adevs с использованием ODE солверов из SUNDIALS и линейноалгебраических функций из Blaze .

Qt

До того, как перейти на web-based решения (см. Python ), я некоторое время разрабатывал интерфейсы для испытательного оборудования на Qt. Безусловно, они работают быстро, но слишком уж много писанины для простого набора кнопок, переключателей и графиков…


Иллюстрация



email icon telegram icon github icon