Screen32 — frontend-интеграционный и demo/runtime проект.
Репозиторий использует:
screenLIBкак библиотеку протокола и runtime-слоев;ScreenUIкак пакет UI с LVGL, generated-артефактами и concrete-адаптером.
Репозиторий владеет только:
- orchestration runtime-логики в
src/common_app; - платформенным стартом и transport wiring в
src/platform_esp32иsrc/platform_web; - glue-кодом сборки для demo/web в
demo_web,scripts,platformio.ini.
Репозиторий не должен владеть:
- concrete LVGL/EEZ adapter implementation;
- generated UI sources;
- generated shared/frontend meta;
- vendor-кодом LVGL.
Все эти части должны жить в ScreenUI.
Сборка использует зависимости только из submodule внутри этого репозитория:
lib/screenLIBlib/ScreenUI
После клонирования инициализируйте их командой:
git submodule update --init --recursiveСтартовая offline-страница по умолчанию — scr_LOAD0 с id 1.
Это значение задано в demo_web/frontend_config.json через:
"firstOfflinePage": 1Основной сценарий demo теперь задается отдельно в файле:
src/demo/offline_demo_scenario.cppТам задаются:
- список страниц, которые участвуют в demo, и их порядок для
Next/Prev; - маршруты конкретных кнопок;
- кнопки и страницы, которые должны работать как
Back()по истории переходов.
Логи входящих и исходящих protocol-сообщений включаются ключом log_traffic в frontend-конфиге:
"log_traffic": 1Чтобы выключить их, задайте:
"log_traffic": 0В мониторе они идут с тегом frontapp.traffic и направлением RX/TX, например:
TX hello device=... type=esp32
RX show_page page=1 session=42
TX button_event element=10 page=1 session=42 action=click
ESP32:
pio runWeb target:
pio run -t build_webВспомогательные скрипты:
- Windows:
scripts/build_web.bat,scripts/serve_web.bat - Linux/macOS:
build_web.sh