SHiNE-server/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/test-device/test_sketches
AidarKC 42dcf6970d homeserver: рендейм subserver→homeserver, документ деривации ключей, запрет пустого пароля
Основное (наша работа в этой сессии):
- Переименование «subserver» → «homeserver» по всему проекту: основной ESP32-скетч
  (папка shine_subserver_ui → shine_homeserver_ui, .ino, flash-скрипт, режим burn.sh
  homeserver-ui), скетч lvgl_nav_minimal_test (ключ homeserver.key:<имя>), spec-доки
  reference/*, формат PDA (терминология session_type=100 «Homeserver пользователя»),
  константа SESSION_TYPE_HOMESERVER в JS и Rust (значение 100 не менялось, формат не затронут),
  pending/future доки, AGENTS.md, DAO-док. Сохранены отдельный lvgl_subserver_touch_test и
  историческая пометка о рендейме в DERIVATION.md.
- Новый источник истины по деривации ключей: Dev_Docs/Keys/DERIVATION.md (Argon2id-секрет из
  пароля, формула Ed25519(SHA-256(base64(secret)|suffix)), суффиксы root/bch/dev/homeserver.key,
  Solana-ключ = dev.key). Уточнены роли root (главный/master) и dev (пополняемый кошелёк) в
  Dev_Docs/Keys/README.md.
- UI: убран легаси-путь пустого пароля (derivePasswordSeed и др.), deriveMasterSecretFromPassword
  бросает ошибку на пустом пароле, register-view блокирует пустой пароль; экран пополнения
  переведён на канонический device-адрес из preGeneratedKeyBundle (удалён расходящийся
  deriveWalletFromPassword).

Включены также параллельные правки Solana-аудита №3 (были в рабочем дереве, переплетены в lib.rs):
- shine_users: defense-in-depth «строгий список аккаунтов» (require!(it.next().is_none()))
  в init/update economy config и create/update user PDA, плюс описание в doc/programs/shine_users.md;
- Dev_Docs/audit/Solana-audit-3-by-Claude-12июня2026.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 21:16:12 +04:00
..
gfx_button_layout_test ESP32: зафиксировать тесты и нерабочий LVGL/UI вариант 2026-06-08 15:35:27 +04:00
gfx_text_render_test ESP32: зафиксировать тесты и нерабочий LVGL/UI вариант 2026-06-08 15:35:27 +04:00
lvgl_basic_test ESP32: зафиксировать тесты и нерабочий LVGL/UI вариант 2026-06-08 15:35:27 +04:00
lvgl_interaction_test ESP32: зафиксировать тесты и нерабочий LVGL/UI вариант 2026-06-08 15:35:27 +04:00
lvgl_nav_minimal_test homeserver: рендейм subserver→homeserver, документ деривации ключей, запрет пустого пароля 2026-06-12 21:16:12 +04:00
lvgl_official_based_test ESP32: добавить LVGL тесты и отметить рабочий hybrid touch test 2026-06-08 16:56:00 +04:00
lvgl_russian_font_test ESP32: зафиксировать рабочий LVGL nav prototype и тесты 2026-06-08 18:39:11 +04:00
lvgl_subserver_touch_test homeserver: рендейм subserver→homeserver, документ деривации ключей, запрет пустого пароля 2026-06-12 21:16:12 +04:00
lvgl_touch_debug_test ESP32: добавить LVGL тесты и отметить рабочий hybrid touch test 2026-06-08 16:56:00 +04:00
README.md homeserver: рендейм subserver→homeserver, документ деривации ключей, запрет пустого пароля 2026-06-12 21:16:12 +04:00

Test Sketches

Набор отдельных диагностических скетчей для Waveshare ESP32-S3-Touch-AMOLED-2.16.

Скетчи в этой папке нужны для быстрой проверки конкретных гипотез без влияния на основной shine_homeserver_ui.

Список

  • gfx_text_render_test/ - проверка рендера текста через Arduino_GFX и сравнение с U8g2
  • gfx_button_layout_test/ - проверка геометрии кнопок, особенно нижних рядов и широких кнопок
  • lvgl_basic_test/ - минимальный тест LVGL с заголовком, текстом и кнопками
  • lvgl_interaction_test/ - расширенный тест LVGL с 9 кнопками, touch-вводом и статусом нажатия
  • lvgl_touch_debug_test/ - диагностика touch: сырые координаты, точка касания и одна большая кнопка LVGL
  • lvgl_official_based_test/ - минимальный наш экран поверх максимально близкой к официальному 05_LVGL_Widgets инициализации
  • lvgl_subserver_touch_test/ - гибридный тест: LVGL-экран с инициализацией дисплея и чтением touch из shine_homeserver_ui; подтверждён на реальном устройстве
  • lvgl_russian_font_test/ - тест кастомного кириллического LVGL-шрифта с русскими кнопками, длинными строками и рабочим touch
  • lvgl_nav_minimal_test/ - новый минимальный навигационный каркас сабсервера на рабочем LVGL + subserver touch, расширенный настройкой Wi-Fi и сохранением в NVS

Запуск

Использовать через burn.sh:

  • ./burn.sh gfx-text-test
  • ./burn.sh gfx-layout-test
  • ./burn.sh lvgl-basic-test
  • ./burn.sh lvgl-interaction-test
  • ./burn.sh lvgl-touch-debug-test
  • ./burn.sh lvgl-official-based-test
  • ./burn.sh lvgl-subserver-touch-test
  • ./burn.sh lvgl-russian-font-test
  • ./burn.sh lvgl-nav-minimal-test