lacteApp
C++17 service for Lacte hardware
Loading...
Searching...
No Matches
SystemState.hpp File Reference

Совмещённое состояние системы из ДВУХ независимых каналов связи: online-статуса платы lacte (proto::lacte, см. More...

#include <cstdint>
#include <string>
Include dependency graph for SystemState.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  lacte::SystemStateResolver
 Хранит последний известный HMI-сигнал двери (единственная величина, которую сегодня физически некому непрерывно поставлять здесь - реальное чтение HMI UART живёт пока только в FramebufferUi.cpp) и вычисляет SystemState по требованию из него и переданного online-статуса платы lacte. More...

Namespaces

namespace  lacte

Enumerations

enum class  lacte::SystemState : std::uint8_t { lacte::DOOR_OPEN = 0 , lacte::NORMAL = 1 , lacte::BOARD_DISCONNECTED = 2 , lacte::BOARD_NOT_INSTALLED = 3 }
 Четыре состояния системы, см. doc-комментарий файла выше. More...

Functions

auto lacte::to_string (const SystemState state) -> std::string

Detailed Description

Совмещённое состояние системы из ДВУХ независимых каналов связи: online-статуса платы lacte (proto::lacte, см.

BoardModel) и сигнала геркона двери молочной системы, который сама плата lacte не знает и не сообщает - он приходит по совершенно другому каналу, HMI-протоколу платы управления кофемашиной (proto::back_board_proto, бит door_and_other.m_trunk_dry_mixes

  • см. LacteApp/ui/framebuffer/FramebufferUi.cpp, единственное место, где этот бит сегодня декодируется). Ни один из каналов не знает о состоянии другого - SystemStateResolver сводит их в одно из четырёх осмысленных состояний по таблице истинности:
lacte online HMI-сигнал двери Состояние
true потерян (открыта) DOOR_OPEN
true ок (закрыта) NORMAL
false потерян (открыта) BOARD_DISCONNECTED
false ок (закрыта) BOARD_NOT_INSTALLED

Таблица подтверждена владельцем проекта напрямую, не выведена самостоятельно из схемы протокола.

Definition in file SystemState.hpp.