lacteApp
C++17 service for Lacte hardware
Loading...
Searching...
No Matches
File List
Here is a list of all files with brief descriptions:
[detail level 12345]
 
docs
 
References
 
LacteApp
 
bus
 
Envelopes.hpp
Типы wire-формата, которыми обмениваются по шине lacte: BoardSnapshot (доменное значение) и типы сообщений, построенные поверх него, каждый из которых владеет собственным топиком (если он есть) и собственным wire-кодеком build()/parse() (см
 
ModelBusClient.hpp
ModelBusClient: собственный клиент Model на шине lacte - создаётся и принадлежит самому Model (см
 
UiBusClient.hpp
UiBusClient: собственный клиент UI на шине lacte - создаётся и принадлежит самому UiApp (см
 
tests
 
OfflineBufferSimulator.hpp
Тестовый (не протокольный) симулятор RAM-буфера платы lacte для сценариев .graphite/tests.yaml, группа lacte/offline (LACTE-MT-OFFLINE-*)
 
ui
 
console
 
ConsoleModel.hpp
 
ConsoleUi.hpp
 
framebuffer
 
vnc
 
Des.hpp
Minimal single-block DES ENCRYPTION (no decryption, no chaining mode) - the entire cryptographic primitive RFB's classic "VNC Authentication" security type needs: the server sends a 16-byte random challenge, the client DES-encrypts it (in two independent 8-byte ECB blocks) using the connection password as the key, and the server does the same locally to check the client's answer - see RfbServer.hpp's own file doc comment for the full handshake
 
RfbServer.hpp
 
TouchInputInjector.hpp
 
FramebufferUi.hpp
 
lacte_gui.h
 
LacteGuiTuning.h
 
qr_data.h
 
TinyGui.hpp
 
UiApp.hpp
 
UiAppFactory.hpp
 
AppConfig.hpp
Схема собственного deployment-конфига lacteApp — каждый путь, сетевой адрес/порт, адрес на шине, настройка устройства и интервал, которые раньше были захардкоженным литералом в App.cpp/LacteApp.cpp/Model.h, названы и имеют значение по умолчанию, равное этому самому прежнему значению, так что загрузка (или отсутствие) файла конфига ничего не меняет в текущем поведении
 
AppDb.hpp
Схема БД приложения (модели + сгенерированные meta-описания полей/имени таблицы) и AppDb — тонкая обёртка над ThreadSafeDB, добавляющая удобные методы add_... и reset_...
 
AppRuntime.hpp
Собственные типы runtime-полей платы и кортеж RuntimeFields, называющий весь набор - и ничего больше
 
BoardModel.h
BoardModel - связь с самой платой lacte, и больше ничего: проводной протокол (m_host_proto), цикл опроса, который его читает (Worker()/UpdateParams()), прошивка firmware и единственный параметр, доступный для записи на плату (aeration)
 
LacteApp.hpp
 
SystemState.hpp
Совмещённое состояние системы из ДВУХ независимых каналов связи: online-статуса платы lacte (proto::lacte, см
 
Libraries
 
protocol
 
docs
 
back_proto_prototype.hpp
Прототип полей протокола задней (back) платы: типы пакетов, статусные флаги BoardFlags/StatusFieldData и раскладка BackBoardPrototype, используемые ProtocolEndpoint для сборки/ разбора кадров
 
board_flags_events.hpp
Переводит уже правильно расставленные "именованные" биты BoardFlags (back_proto_prototype.hpp) в доменные события смены состояния - сегодня в km_lacte такого слоя не было вообще (каждый бит был доступен только как "сырое" значение поля)
 
cm_protocol.hpp
Протокольная конечная точка (endpoint) для связи с задней платой (back board) поверх кадров головной платы (HeadBoardPrototype) и back-платы (BackBoardPrototype): контрольная сумма CustomCrc и отладочные хелперы логирования изменений полей
 
fast_crc.hpp
Табличная реализация CRC-32 (полином POLY) для проверки целостности образа прошивки: расчёт CRC и проверка контрольной суммы, записанной в последних 4 байтах региона flash-памяти
 
hmi_proto_prototype.hpp
Прототип полей протокола головной (HMI) платы: типы пакетов, флаги door_and_other и раскладка HeadFlags/HeadBoardPrototype, используемые ProtocolEndpoint для сборки/разбора кадров
 
test_support
 
test_db.hpp
Тестовый двойник схемы БД приложения (модели + сгенерированные meta-описания полей/имени таблицы) и TestDb — тонкая обёртка над ThreadSafeDB, добавляющая удобные методы add_... и reset_...
 
TestConsoleApp.hpp
TestConsoleApp: минимальная инстанциация ConsoleApp<Derived>, используемая ConsoleAppInstancePolicyTest.cpp (внутри процесса, через fork() — без execve())