lacteApp
C++17 service for Lacte hardware
Loading...
Searching...
No Matches
lacte::SystemStateResolver Class Reference

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

#include <SystemState.hpp>

Public Member Functions

void set_door_signal_lost (const bool lost)
 Безопасное значение по умолчанию до первого реального HMI-пакета - "дверь закрыта" (см.
auto door_signal_lost () const -> bool
auto resolve (const bool lacte_online) const noexcept -> SystemState

Static Public Member Functions

static auto resolve (const bool lacte_online, const bool door_signal_lost) noexcept -> SystemState
 Таблица истинности как чистая статическая функция - без единой зависимости от протокола/шины/UART, поэтому тестируется напрямую четырьмя assert'ами (см.

Detailed Description

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

Namespace-lifetime класс (а не пара свободных функций), специально чтобы быть полем LacteApp (см. LacteApp::m_system_state_) - владелец получает как хранение последнего HMI-сигнала, так и саму таблицу истинности одним объектом.

Definition at line 62 of file SystemState.hpp.

Member Function Documentation

◆ door_signal_lost()

auto lacte::SystemStateResolver::door_signal_lost ( ) const -> bool
inlinenodiscard

Definition at line 71 of file SystemState.hpp.

Here is the caller graph for this function:

◆ resolve() [1/2]

auto lacte::SystemStateResolver::resolve ( const bool lacte_online) const -> SystemState
inlinenodiscardnoexcept

Definition at line 89 of file SystemState.hpp.

Here is the call graph for this function:

◆ resolve() [2/2]

auto lacte::SystemStateResolver::resolve ( const bool lacte_online,
const bool door_signal_lost ) -> SystemState
inlinestaticnodiscardnoexcept

Таблица истинности как чистая статическая функция - без единой зависимости от протокола/шины/UART, поэтому тестируется напрямую четырьмя assert'ами (см.

LacteApp/tests/UiBusTest.cpp), без дублёра HMI-протокола.

Definition at line 79 of file SystemState.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_door_signal_lost()

void lacte::SystemStateResolver::set_door_signal_lost ( const bool lost)
inline

Безопасное значение по умолчанию до первого реального HMI-пакета - "дверь закрыта" (см.

таблицу выше: с lacte online это NORMAL, а не DOOR_OPEN - совпадает с уже действующим сегодня поведением FramebufferUi.cpp, где экран включается только явным пакетом с открытой дверью, никогда не включается "по умолчанию").

Definition at line 69 of file SystemState.hpp.


The documentation for this class was generated from the following file: