👩💻 Шина событий на костылях. Реализация в FreeRTOS Паттерн "шина событий" (Event Bus) - это архитектурный шаблон, который позволяет компонентам системы взаимодействовать друг с другом, обмениваясь событиями, без необходимости явного знания о существовании друг друга. Казалось бы к чему это. Начнем рассказ с архитектуры ПО, которое работает на нашем видеопроцессоре. Существует тракт обработки видео и множество модулей, которые выполняют действия в какой-то момент обработки потока кадров: 🔴перед кадром 🔴после кадра 🔴во время обработки кадра 🔴после сжатия 🔴и других событиях. Для того, что бы не нагружать центральный модуль (тракт) вызовом кучей различных функций и не менять постоянно его струтуру при изменении и добавлении функционала было решено реализовать шину событий. Основная идея в подписи задач на события и последующее их ожидание. Другие же задачи могут формировать эти события. Таким образом, даже не зная устройство друг друга, задачи взаимодействуют друг с другом и с