Я тут опубликовал библиотеку для программирования в парадигме потоков данных (dataflow) на микроконтроллерах: https://github.com/Zubax/ramen
Она чрезвычайно проста (один заголовочный файл) и работает на любой платформе без портирования.
Простейший пример --- сумматор:
┌────────┐ (float) │ Summer │ (float) in_a ◄────────┤ │◄──────── out_sum │ │ (float) │ │ in_b ◄────────┤ │ └────────┘
struct Summer { ramen::Puller<float> in_a; ramen::Puller<float> in_b; ramen::Pullable<float> out_sum = [this](float& out) { out = *in_a + *in_b; }; };
Больше примеров, а также объяснение зачем это нужно при наличии альтернатив, по ссылке. Всем спасибо.
