From ad0edf3c880b543486b84624261164aa761869122f620beb6bf9d3c5b17d0405 Mon Sep 17 00:00:00 2001 From: AidarKC Date: Mon, 8 Jun 2026 15:35:27 +0400 Subject: [PATCH] =?UTF-8?q?ESP32:=20=D0=B7=D0=B0=D1=84=D0=B8=D0=BA=D1=81?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=20=D1=82=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D1=8B=20=D0=B8=20=D0=BD=D0=B5=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=87=D0=B8=D0=B9=20LVGL/UI=20=D0=B2=D0=B0=D1=80=D0=B8=D0=B0?= =?UTF-8?q?=D0=BD=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-06-07_1650_esp32_subserver_ui_прототип.md | 4 +- .../2026-06-08_1240_esp32_text_render_test.md | 14 ++ ...6-06-08_1315_esp32_test_sketches_folder.md | 13 ++ ...-06-08_1355_esp32_lvgl_interaction_test.md | 14 ++ .../reference/shine_subserver_ui_spec.md | 22 +- .../test-device/README.md | 10 + .../test-device/burn.sh | 7 +- .../shine_subserver_ui/shine_subserver_ui.ino | 195 ++++++++++++++-- .../test-device/test_sketches/README.md | 21 ++ .../gfx_button_layout_test.ino | 93 ++++++++ .../gfx_text_render_test.ino | 104 +++++++++ .../lvgl_basic_test/lvgl_basic_test.ino | 125 ++++++++++ .../lvgl_interaction_test.ino | 214 ++++++++++++++++++ .../text_render_test/text_render_test.ino | 115 ++++++++++ VERSION.properties | 4 +- 15 files changed, 921 insertions(+), 34 deletions(-) create mode 100644 Dev_Docs/Pending_Features/2026-06-08_1240_esp32_text_render_test.md create mode 100644 Dev_Docs/Pending_Features/2026-06-08_1315_esp32_test_sketches_folder.md create mode 100644 Dev_Docs/Pending_Features/2026-06-08_1355_esp32_lvgl_interaction_test.md create mode 100644 ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/README.md create mode 100644 ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/gfx_button_layout_test/gfx_button_layout_test.ino create mode 100644 ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/gfx_text_render_test/gfx_text_render_test.ino create mode 100644 ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/lvgl_basic_test/lvgl_basic_test.ino create mode 100644 ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches/lvgl_interaction_test/lvgl_interaction_test.ino create mode 100644 ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/text_render_test/text_render_test.ino diff --git a/Dev_Docs/Pending_Features/2026-06-07_1650_esp32_subserver_ui_прототип.md b/Dev_Docs/Pending_Features/2026-06-07_1650_esp32_subserver_ui_прототип.md index afff00a..e3b8f5a 100644 --- a/Dev_Docs/Pending_Features/2026-06-07_1650_esp32_subserver_ui_прототип.md +++ b/Dev_Docs/Pending_Features/2026-06-07_1650_esp32_subserver_ui_прототип.md @@ -5,7 +5,7 @@ - что именно проверять: 1. Прошить режим `subserver-ui` и дождаться открытия главного экрана без PIN. - 2. Проверить, что русский текст в заголовках, кнопках и статусах отображается корректно, без кракозябр и замены на английский. + 2. Проверить, что текст в заголовках, кнопках и статусах отображается читаемо; в текущей временной сборке допускается ASCII-транслитерация русского текста. 3. Открыть `Настройки` и убедиться, что показывается пометка о временно отключённом входе по PIN. 4. Открыть `Подключение -> Wi-Fi`, ввести `SSID` и пароль, нажать `Проверить`, дождаться реального подключения, затем перезагрузить устройство и проверить, что значения сохранились. 5. Открыть `Подключение -> Серверы`, проверить или изменить `API/RPC/WS`, нажать `Проверить` и убедиться, что показываются реальные статусы доступности, затем перезагрузить устройство и проверить сохранение значений. @@ -20,7 +20,7 @@ 14. Выполнить `Полный сброс` и убедиться, что все поля, секрет, баланс, онлайн и регистрация очищаются. - ожидаемый результат: - новый `ESP32`-скетч стабильно запускается, показывает нормальный русский интерфейс, сохраняет данные во внутренней памяти устройства, реально подключается к `Wi-Fi`, реально проверяет `API/RPC/WS`, реально читает баланс из `Solana RPC`, рисует рабочий `QR` для `solana:`-URI и позволяет вручную пройти полный сценарий on-chain регистрации сабсервера. + новый `ESP32`-скетч стабильно запускается, показывает читаемый интерфейс хотя бы в ASCII-транслитерации, сохраняет данные во внутренней памяти устройства, реально подключается к `Wi-Fi`, реально проверяет `API/RPC/WS`, реально читает баланс из `Solana RPC`, рисует рабочий `QR` для `solana:`-URI и позволяет вручную пройти полный сценарий on-chain регистрации сабсервера. - статус: pending diff --git a/Dev_Docs/Pending_Features/2026-06-08_1240_esp32_text_render_test.md b/Dev_Docs/Pending_Features/2026-06-08_1240_esp32_text_render_test.md new file mode 100644 index 0000000..b4f8376 --- /dev/null +++ b/Dev_Docs/Pending_Features/2026-06-08_1240_esp32_text_render_test.md @@ -0,0 +1,14 @@ +# ESP32 тест рендера текста + +- краткое описание фичи: + добавлен отдельный диагностический скетч `text_render_test`, который показывает один экран с несколькими вариантами вывода текста: встроенный шрифт `Arduino_GFX`, `U8g2` ASCII, `U8g2` кириллица и кнопки с подписями. Скрипт нужен для изоляции проблемы, когда на экране видны только цветные кнопки и блоки, но не видно ни одной буквы. +- что именно проверять: + 1. Прошить режим `text-test`. + 2. Проверить, виден ли заголовок `TEXT TEST 123`. + 3. Проверить, видны ли строки `A`, `B`, `C`, `D`. + 4. Проверить, видны ли подписи на трёх нижних кнопках: `BTN 1`, `abc123`, `Русский`. + 5. Сравнить, какой из способов вывода реально отображается, а какой нет. +- ожидаемый результат: + хотя бы один вариант вывода текста становится видим на экране, что позволяет локализовать проблему до конкретного шрифта или способа рендера. +- статус: + pending diff --git a/Dev_Docs/Pending_Features/2026-06-08_1315_esp32_test_sketches_folder.md b/Dev_Docs/Pending_Features/2026-06-08_1315_esp32_test_sketches_folder.md new file mode 100644 index 0000000..222ebf9 --- /dev/null +++ b/Dev_Docs/Pending_Features/2026-06-08_1315_esp32_test_sketches_folder.md @@ -0,0 +1,13 @@ +# ESP32 папка тестовых скетчей + +- краткое описание фичи: + добавлена отдельная папка `test_sketches/` с изолированными диагностическими скетчами для экрана `ESP32-S3-Touch-AMOLED-2.16`: тест рендера текста через `Arduino_GFX`, тест геометрии кнопок и минимальный тест `LVGL`. +- что именно проверять: + 1. Запустить `./burn.sh gfx-text-test` и убедиться, что прошивается тест текста из новой папки. + 2. Запустить `./burn.sh gfx-layout-test` и проверить нижние ряды кнопок. + 3. Запустить `./burn.sh lvgl-basic-test` и проверить, что `LVGL` показывает текст и кнопки. + 4. Убедиться, что новая папка не мешает сборке `subserver-ui`. +- ожидаемый результат: + тестовые скетчи лежат отдельно от основного UI, шьются отдельными режимами и позволяют быстро проверять разные гипотезы по экрану без правок в `shine_subserver_ui`. +- статус: + pending diff --git a/Dev_Docs/Pending_Features/2026-06-08_1355_esp32_lvgl_interaction_test.md b/Dev_Docs/Pending_Features/2026-06-08_1355_esp32_lvgl_interaction_test.md new file mode 100644 index 0000000..f1a593b --- /dev/null +++ b/Dev_Docs/Pending_Features/2026-06-08_1355_esp32_lvgl_interaction_test.md @@ -0,0 +1,14 @@ +# ESP32 LVGL interaction test + +- краткое описание фичи: + добавлен отдельный скетч `lvgl_interaction_test` на `LVGL`: экран с 9 кнопками, touch-вводом и нижней статусной строкой. При нажатии на кнопку на экране и в `Serial` показывается, какая именно кнопка нажата и сколько нажатий уже было. +- что именно проверять: + 1. Прошить режим `lvgl-interaction-test`. + 2. Убедиться, что виден заголовок, подзаголовок, 9 кнопок и нижняя статусная панель. + 3. Поочерёдно нажать разные кнопки. + 4. Проверить, что нижняя строка меняется на `Pressed: