lift_indicator_suite/docs/tft_app/README.md

4.5 KiB
Raw Permalink Blame History

tft-app — документация домена

Dev-документация по реализованному слою firmware/tft_app (Фазы 13.2): как данные СУЛ проходят от протокола до экрана, и как устроено приложение поверх FreeRTOS. Технические доки «как это работает в коде», в дополнение к проектным ARCH/PLAN.

Документ О чём
DOMAIN_DATAFLOW.md Путь данных: транспорт → декодер → контроллер → презентация. Слои, контракт decode(), карта пакетов НКУ-CAN → поля модели, адресация (decode + HW-фильтры), таймаут→default.
ADDING_PROTOCOL.md Как добавить протокол в реестр sul: decode()+ctx, дескриптор настроек, transport, реестр, диспетчеризация в task_sul_rx.c, тесты. Разобрано на НКУ-CAN и демо-протоколе.
ADDING_SETTING.md Как добавить настройку: пользовательская vs протокольная, форматы значений (BYTE/SELECT/BOOL — что реализовано, что заготовка), поле → пункт меню → эффект. Эталон — тумблер логов.
MODE_PRIORITY.md Свёртка ортогональных сигналов в один экранный режим. Таблица приоритетов как данные, резолвер, как менять/кастомизировать.
FALLBACK.md Safe-mode рендер: этаж/стрелка/метка режима, диспетчерский вход (высший приоритет, opto), по-символьный fallback шрифта, триггеры перерисовки, путь кадра через компоновщик.
MENU.md Движок меню (Фаза 3.2): дерево-данные, редакторы по типу, чистая модель, связь с settings_store, оконный рендер, раскладка кнопок.
SETTINGS.md Модуль настроек: состав settings_t, ярусы A/B/C и их связь, proto_slice/дескрипторы, гибридное хранение (ядро + клиентский TLV), карта QSPI, что осознанно не реализовано.
TASKS.md Задачи FreeRTOS: состав/приоритеты (и почему такие), старт системы, MPSC-взаимодействие, мягкая пауза, разделяемое состояние.

Связанные документы

  • ARCH.md — архитектура и проектное обоснование (источник истины по дизайну).
  • PLAN.md — статус фаз разработки (источник истины по статусу).
  • DEV_ARCH.md — устройство репозитория и сборки.
  • bsp/display/README.md — драйвер ELCDIF (два формата пикселя: XRGB8888/RGB565).

Границы

Описаны домен, fallback-презентация (+ диспетчерский вход, Фаза 3.4), ядро настроек (settings_store + состав/ярусы/QSPI-карта, SETTINGS.md), меню (модель + оконный рендер + задачи), фундамент рендера (double-buffer + PXP + гибрид bpp, Фаза 3.2.4), per-protocol дескрипторы + реестр из двух протоколов (Фаза 3.3), удалённая адресация НКУ-CAN (Фаза 3.5), рантайм-тумблер логов (Фаза 3.6). Фаза 3 полностью закрыта документацией. Ещё не реализовано (см. PLAN.md): ассеты и layout-движок со спрайтами (Фазы 45, включая ярус C настроек — клиентский TLV, см. SETTINGS.md §3/§9), аудио (Фаза 6), остальные протоколы — УИМ/SD7/УЭЛ/УКЛ (Фаза 8).