|
lacteApp
C++17 service for Lacte hardware
|
Переводит уже правильно расставленные "именованные" биты BoardFlags (back_proto_prototype.hpp) в доменные события смены состояния - сегодня в km_lacte такого слоя не было вообще (каждый бит был доступен только как "сырое" значение поля). More...
Go to the source code of this file.
Classes | |
| class | proto::back_board_proto::BoardFlagsDiff |
| Хранит предыдущий BoardFlags и превращает КАЖДЫЙ diff() вызов в список событий для всех битов, реально изменившихся с прошлого раза - как SystemStateResolver, protocol-agnostic (принимает уже распакованный BoardFlags, не сырой снапшот с провода). More... | |
Namespaces | |
| namespace | proto |
| namespace | proto::back_board_proto |
Переводит уже правильно расставленные "именованные" биты BoardFlags (back_proto_prototype.hpp) в доменные события смены состояния - сегодня в km_lacte такого слоя не было вообще (каждый бит был доступен только как "сырое" значение поля).
Источник имён/полярности - живой, годами обкатанный на реальной плате старый парсер (km_mcu_proto_parser, coffeman_condition/cond.cpp:1479-1877), перенесено один-в-один: какое именно значение бита ("0" или "1") даёт какое событие, у каждого сигнала СВОЁ (не единая конвенция "1=A, 0=B") - см. doc-комментарий каждой ветки BoardFlagsDiff::diff() ниже, где это явно подписано парой напротив соответствующего условия.
Протокол-агностичный, чистый класс - по образцу LacteApp/SystemState.hpp's SystemStateResolver (хранимое предыдущее состояние + чистая функция перехода), а не wire-тип наподобие LacteApp/bus/Envelopes.hpp's событий - этот файл не публикует ничего ни на какую шину и не знает о LacteApp/coffeboost вообще; он даёт будущему инструменту-замене km_mcu_proto_parser готовый, протестированный слой bit→event поверх уже существующего BoardFlags.
Definition in file board_flags_events.hpp.