SHA256
ESP32: зафиксировать промежуточный NAV v6 UI прототип
This commit is contained in:
+108
-11
@@ -4,12 +4,11 @@
|
||||
|
||||
## Цель
|
||||
|
||||
Этот прототип проверяет только базовую механику экранов, крупных кнопок и свайпов.
|
||||
Этот прототип проверяет базовую механику экранов, крупных кнопок, свайпов, первичную настройку Wi-Fi и настройку серверных адресов через общий экран редактирования текста.
|
||||
|
||||
На этом этапе отсутствуют:
|
||||
- реальный Wi-Fi;
|
||||
- реальные серверные проверки;
|
||||
- логин/пароль;
|
||||
- логика серверной проверки доступности;
|
||||
- логин/пароль учётной записи SHiNE;
|
||||
- PIN;
|
||||
- кошелёк;
|
||||
- QR;
|
||||
@@ -20,12 +19,13 @@
|
||||
|
||||
## Экраны
|
||||
|
||||
Прототип содержит 5 экранов:
|
||||
Прототип содержит 6 экранов:
|
||||
- `HOME`
|
||||
- `SETTINGS_MENU`
|
||||
- `WIFI_SCREEN`
|
||||
- `SERVER_SCREEN`
|
||||
- `ACCOUNT_SCREEN`
|
||||
- `TEXT_EDIT_SCREEN`
|
||||
|
||||
## HOME
|
||||
|
||||
@@ -34,8 +34,15 @@
|
||||
- ниже `subserver1`;
|
||||
- сверху справа простые индикаторы `W BAT`;
|
||||
- по центру крупный текст `STATUS`;
|
||||
- статус Wi-Fi;
|
||||
- сохранённый SSID или пометку, что он не сохранён;
|
||||
- снизу большую кнопку `SETTINGS`.
|
||||
|
||||
Статусы Wi-Fi на `HOME`:
|
||||
- `Wi-Fi not configured`
|
||||
- `Wi-Fi disconnected`
|
||||
- `Wi-Fi connected`
|
||||
|
||||
Переходы:
|
||||
- кнопка `SETTINGS` -> `SETTINGS_MENU`;
|
||||
- свайп влево -> `SETTINGS_MENU`.
|
||||
@@ -61,6 +68,8 @@
|
||||
- `Wi-Fi`
|
||||
- `Server`
|
||||
|
||||
Обе видимые карточки меню имеют одинаковый цвет.
|
||||
|
||||
Переходы:
|
||||
- нажатие `Wi-Fi` -> `WIFI_SCREEN`;
|
||||
- нажатие `Server` -> `SERVER_SCREEN`;
|
||||
@@ -69,23 +78,52 @@
|
||||
|
||||
## WIFI_SCREEN
|
||||
|
||||
Экран содержит 2 внутренних режима.
|
||||
|
||||
### 1. Overview
|
||||
|
||||
Показывает:
|
||||
- `Wi-Fi`
|
||||
- `Wi-Fi screen`
|
||||
- текущий Wi-Fi статус;
|
||||
- сохранённый SSID;
|
||||
- статусное сообщение;
|
||||
- кнопку `SELECT NETWORK`;
|
||||
- кнопку `CLEAR SAVED WI-FI`;
|
||||
- кнопку `BACK`.
|
||||
|
||||
### 2. Scan Results
|
||||
|
||||
После `SELECT NETWORK` выполняется скан доступных Wi-Fi сетей.
|
||||
|
||||
Показывает:
|
||||
- заголовок `SELECT NETWORK`;
|
||||
- количество или результат сканирования;
|
||||
- список найденных SSID как крупные кнопки;
|
||||
- кнопку `SCAN AGAIN`;
|
||||
- кнопку `BACK`.
|
||||
|
||||
Нажатие на SSID открывает `TEXT_EDIT_SCREEN` для ввода пароля.
|
||||
|
||||
Переходы:
|
||||
- свайп вправо -> `SETTINGS_MENU`
|
||||
- свайп вправо из любого режима `WIFI_SCREEN` -> `SETTINGS_MENU`
|
||||
- кнопка `BACK` -> `SETTINGS_MENU`
|
||||
|
||||
## SERVER_SCREEN
|
||||
|
||||
Показывает:
|
||||
- `Server`
|
||||
- `Server screen`
|
||||
- статусное сообщение;
|
||||
- текущий `Solana RPC` адрес;
|
||||
- кнопку `SOLANA RPC`;
|
||||
- текущий `Shine server` адрес;
|
||||
- кнопку `SHINE SERVER`.
|
||||
|
||||
Значения по умолчанию:
|
||||
- Solana RPC: `https://api.devnet.solana.com`
|
||||
- Shine server: `https://shineup.me`
|
||||
|
||||
Нажатие на любую из двух кнопок открывает `TEXT_EDIT_SCREEN`.
|
||||
|
||||
Переходы:
|
||||
- свайп вправо -> `SETTINGS_MENU`
|
||||
- кнопка `BACK` -> `SETTINGS_MENU`
|
||||
|
||||
## ACCOUNT_SCREEN
|
||||
|
||||
@@ -97,6 +135,63 @@
|
||||
- свайп вправо -> `SETTINGS_MENU`
|
||||
- кнопка `BACK` -> `SETTINGS_MENU`
|
||||
|
||||
## TEXT_EDIT_SCREEN
|
||||
|
||||
Общий экран редактирования строковых значений.
|
||||
|
||||
Используется для:
|
||||
- пароля Wi-Fi;
|
||||
- Solana RPC;
|
||||
- Shine server.
|
||||
|
||||
Показывает:
|
||||
- заголовок;
|
||||
- поле ввода, уже заполненное старым значением;
|
||||
- курсор установлен в конец текста;
|
||||
- кнопки `SAVE`, `CANCEL`, `DEL`, `CLR`;
|
||||
- большую экранную клавиатуру.
|
||||
|
||||
## Клавиатура
|
||||
|
||||
Клавиатура единая для всех текстовых вводов.
|
||||
|
||||
Особенности:
|
||||
- занимает нижнюю часть экрана;
|
||||
- разбита на 2 страницы;
|
||||
- переключение страниц выполняется свайпом влево/вправо внутри `TEXT_EDIT_SCREEN`;
|
||||
- страница 1 содержит в основном буквы и базовые URL-символы;
|
||||
- страница 2 содержит цифры и дополнительные URL/символьные кнопки;
|
||||
- есть специальные действия `DEL` и `CLR`.
|
||||
|
||||
## Хранение Wi-Fi
|
||||
|
||||
Используется `Preferences` (NVS памяти ESP32):
|
||||
- `wifi_ssid`
|
||||
- `wifi_pass`
|
||||
|
||||
При старте устройства, если сохранён SSID, выполняется попытка подключения к сохранённой сети.
|
||||
|
||||
## Хранение серверов
|
||||
|
||||
Используется `Preferences` (NVS памяти ESP32):
|
||||
- `solana_rpc`
|
||||
- `shine_server`
|
||||
|
||||
## Детали клавиатуры
|
||||
|
||||
- клавиатура занимает примерно `2/3`-`3/4` высоты экрана;
|
||||
- сверху остаются только заголовок, подсказка и поле ввода;
|
||||
- буквы занимают 3 ряда;
|
||||
- половина букв находится на левой странице, половина на правой;
|
||||
- на правой странице кнопки тоже стоят в ровных колонках, без сдвига рядов вправо;
|
||||
- отдельный режим `symbols` тоже разделён на 2 страницы;
|
||||
- четвёртый ряд содержит:
|
||||
- переключение `ABC/123`
|
||||
- `SHIFT`
|
||||
- `DEL`
|
||||
- `SAVE`
|
||||
- `CANCEL`
|
||||
|
||||
## Жесты
|
||||
|
||||
Поддерживаются направления:
|
||||
@@ -112,6 +207,8 @@
|
||||
- `WIFI_SCREEN`: свайп вправо -> `SETTINGS_MENU`
|
||||
- `SERVER_SCREEN`: свайп вправо -> `SETTINGS_MENU`
|
||||
- `ACCOUNT_SCREEN`: свайп вправо -> `SETTINGS_MENU`
|
||||
- `TEXT_EDIT_SCREEN`: свайп влево/вправо -> переключение страниц клавиатуры
|
||||
- переключение страниц клавиатуры срабатывает только если свайп начался в зоне самой клавиатуры, а не по всему экрану редактора
|
||||
|
||||
## Особенность обработки жестов
|
||||
|
||||
|
||||
Reference in New Issue
Block a user