Я занимаюсь разработкой системы управления роботом и хотел бы использовать реактивное программирование для реорганизации моей текущей архитектуры.
В основном он состоит из нескольких узлов (потоков), которые прослушивают общую шину и выполняют задачи анализа данных, чтобы спланировать новый путь, избежать препятствий, включить вентилятор, если температура двигателя становится слишком высокой, и т. Д.
Теперь то, как я работаю с данными датчиков, является довольно простым, у меня есть один поток, считывающий значения с датчиков и отправляющий эти значения в потоки через сообщения на шине.
Поскольку в большинстве случаев основные датчики выдают сравнимые выходные сигналы, я бы хотел избежать перегрузки шины бесполезными сообщениями и обновлять показания датчиков только при обнаружении определенного расхождения между старым значением и новым.
Я бы выбрал использование общих статических объектов HAL для датчиков и обновление их значений только при обнаружении другого показания с использованием модуля расстояния.
Другой возможной альтернативой является отправка сообщений о показаниях датчика, когда выполняются вышеуказанные условия вместо объектов HAL.
Какой из двух подходов более удобен, когда речь идет о скорости?
Можно ли определить реактивное программирование?