|
lacteApp
C++17 service for Lacte hardware
|
| 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()) |