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

Namespaces

namespace  detail

Classes

struct  BoardSnapshot
 Моментальный снимок состояния диспенсера/платы, которым обмениваются бэкенд и UI (как запрос/ответ снапшота или как push от бэкенда). More...
struct  RfidData
 СЫРЫЕ поля, считанные с текущей подключённой RFID-карты/молочной системы - ДЕРЖАТСЯ ОТДЕЛЬНО от BoardSnapshot (запроса "статус платы одним взглядом", на который отвечают часто), поскольку эти данные запрашиваются по требованию, реже, и в основном имеют смысл для диагностического/мониторингового вызывающего кода (собственные поля BoardSnapshot milk_system_sn/expiry_date/ remaining_percent уже выводят из этих данных то, что реально нужно ОБЫЧНОМУ UI, см. More...
struct  HealthRequest
 Запрос UI -> backend: жив ли бэкенд и здоров ли он? Без payload. More...
struct  StatusReply
 Универсальный ответ ok/error, переиспользуемый каждым запросом ниже, которому больше нечего сообщить в ответ. More...
struct  ParamGetRequest
 Запрос UI -> backend: прочитать именованный параметр бэкенда. More...
struct  ParamGetReply
 Ответ на ParamGetRequest: значение запрошенного параметра. More...
struct  ParamSetRequest
 Запрос UI -> backend: записать именованный параметр бэкенда. More...
struct  SnapshotRequest
 Запрос UI -> backend: получить полный снапшот устройства по требованию. More...
struct  SnapshotReply
 Ответ на SnapshotRequest: полный снапшот состояния устройства. More...
struct  RfidDataRequest
 Запрос UI -> backend: получить сырые данные текущей подключённой RFID-карты по требованию (почему это отдельный топик от SnapshotRequest - см. More...
struct  RfidDataReply
 Ответ на RfidDataRequest: сырые данные RFID-карты. More...
struct  TestBoardOnlineRequest
 Запрос UI -> backend: переключить виртуальную тестовую плату (только для консольного тестирования). More...
struct  UiCommand
 Push backend -> UI: команда enable/disable. More...
struct  BoardSnapshotEvent
 Push backend -> UI: сериализованный снапшот платы. More...
class  ModelBusHandler
 Серверный контракт: реализуйте эти методы, и ModelBusClient::ServeModel() будет их обслуживать. More...
class  CallbackModelBusHandler
 ModelBusHandler, реализованный через пользовательские колбэки. More...
class  ModelBusClient
class  UiRuntime
 UI-состояние, управляемое push-сообщениями от бэкенда (см. More...
class  UiBusClient

Functions

auto bool_to_string (const bool value) -> std::string
auto string_to_bool (const std::string &value) -> bool
auto string_to_int (const std::string &value) -> int

Variables

constexpr auto K_PARAM_AERATION = "aeration"
 Имя параметра бэкенда (и ключ заголовка снапшота) для уровня аэрации.
constexpr uint32_t K_MODEL_BUS_ADDRESS = 1
 Предпочтительный адрес клиента Model (НЕ собственный own_address_ общей шины, который LacteApp выбирает отдельно) - не обязан быть уникальным в рамках всего приложения (insitech::bus::Hub разрешает конфликты в set_interfaces()), должен лишь отличаться от адресов других клиентов на той же общей шине.
constexpr uint32_t K_UI_BUS_ADDRESS = 2
 Предпочтительный адрес клиента UI (НЕ собственный own_address_ общей шины, который LacteApp выбирает отдельно) - не обязан быть уникальным в рамках всего приложения (insitech::bus::Hub разрешает конфликты в set_interfaces()), должен лишь отличаться от адресов других клиентов на той же общей шине.

Function Documentation

◆ bool_to_string()

auto lacte::bus::bool_to_string ( const bool value) -> std::string
inline

Definition at line 50 of file Envelopes.hpp.

Here is the caller graph for this function:

◆ string_to_bool()

auto lacte::bus::string_to_bool ( const std::string & value) -> bool
inline

Definition at line 54 of file Envelopes.hpp.

Here is the caller graph for this function:

◆ string_to_int()

auto lacte::bus::string_to_int ( const std::string & value) -> int
inline
Exceptions
std::invalid_argumentесли value не удаётся разобрать как целое число.

Definition at line 61 of file Envelopes.hpp.

Here is the caller graph for this function:

Variable Documentation

◆ K_MODEL_BUS_ADDRESS

uint32_t lacte::bus::K_MODEL_BUS_ADDRESS = 1
inlineconstexpr

Предпочтительный адрес клиента Model (НЕ собственный own_address_ общей шины, который LacteApp выбирает отдельно) - не обязан быть уникальным в рамках всего приложения (insitech::bus::Hub разрешает конфликты в set_interfaces()), должен лишь отличаться от адресов других клиентов на той же общей шине.

Definition at line 126 of file ModelBusClient.hpp.

◆ K_PARAM_AERATION

auto lacte::bus::K_PARAM_AERATION = "aeration"
inlineconstexpr

Имя параметра бэкенда (и ключ заголовка снапшота) для уровня аэрации.

Definition at line 43 of file Envelopes.hpp.

◆ K_UI_BUS_ADDRESS

uint32_t lacte::bus::K_UI_BUS_ADDRESS = 2
inlineconstexpr

Предпочтительный адрес клиента UI (НЕ собственный own_address_ общей шины, который LacteApp выбирает отдельно) - не обязан быть уникальным в рамках всего приложения (insitech::bus::Hub разрешает конфликты в set_interfaces()), должен лишь отличаться от адресов других клиентов на той же общей шине.

Definition at line 163 of file UiBusClient.hpp.