SHA256
ESP32: добавить UI сабсервера, PIN-ввод пока не работает
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
- `hello` — базовый тест экрана (пример `01_HelloWorld`)
|
||||
- `simple` — простой кастомный тест: экран + touch + запись/проигрывание + наклон (IMU)
|
||||
- `argon2` — генерация masterSecret через Argon2id с SD-картой как памятью (тест скорости)
|
||||
- `subserver-ui` — основной UI-прототип сабсервера SHiNE: NVS, PIN, Wi-Fi, серверы, кошелёк, QR, запросы
|
||||
|
||||
Запуск:
|
||||
|
||||
@@ -17,3 +18,5 @@
|
||||
- `./burn.sh audio`
|
||||
- `./burn.sh hello`
|
||||
- `./burn.sh simple`
|
||||
- `./burn.sh subserver-ui`
|
||||
- `./flash_shine_subserver_ui.sh` - автоматически находит USB-порт и заливает `shine_subserver_ui`
|
||||
|
||||
@@ -16,9 +16,10 @@ case "${MODE}" in
|
||||
audio) SKETCH_DIR="${DEMO_BASE}/examples/07_ES8311" ;;
|
||||
simple) SKETCH_DIR="${ROOT_DIR}/simple_av_test" ;;
|
||||
argon2) SKETCH_DIR="${ROOT_DIR}/argon2_sd_test" ;;
|
||||
subserver-ui) SKETCH_DIR="${ROOT_DIR}/shine_subserver_ui" ;;
|
||||
*)
|
||||
echo "Unknown mode: ${MODE}" >&2
|
||||
echo "Use one of: hello, widgets, audio, simple, argon2" >&2
|
||||
echo "Use one of: hello, widgets, audio, simple, argon2, subserver-ui" >&2
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
detect_port_from_arduino_cli() {
|
||||
local line
|
||||
while IFS= read -r line; do
|
||||
[[ -z "${line}" ]] && continue
|
||||
[[ "${line}" == Port* ]] && continue
|
||||
if [[ "${line}" == /dev/* ]]; then
|
||||
awk '{print $1}' <<<"${line}"
|
||||
return 0
|
||||
fi
|
||||
done < <(arduino-cli board list 2>/dev/null || true)
|
||||
return 1
|
||||
}
|
||||
|
||||
detect_port_from_dev() {
|
||||
local candidates=()
|
||||
local path
|
||||
for path in /dev/ttyACM* /dev/ttyUSB*; do
|
||||
[[ -e "${path}" ]] || continue
|
||||
candidates+=("${path}")
|
||||
done
|
||||
|
||||
if [[ "${#candidates[@]}" -eq 1 ]]; then
|
||||
printf '%s\n' "${candidates[0]}"
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
PORT="${PORT:-}"
|
||||
if [[ -z "${PORT}" ]]; then
|
||||
PORT="$(detect_port_from_arduino_cli || true)"
|
||||
fi
|
||||
if [[ -z "${PORT}" ]]; then
|
||||
PORT="$(detect_port_from_dev || true)"
|
||||
fi
|
||||
|
||||
if [[ -z "${PORT}" ]]; then
|
||||
echo "Не удалось автоматически найти USB-порт ESP32." >&2
|
||||
echo "Подключите плату и проверьте 'arduino-cli board list'." >&2
|
||||
echo "Либо укажите порт вручную: PORT=/dev/ttyACM0 ./flash_shine_subserver_ui.sh" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "== Найден порт: ${PORT}"
|
||||
PORT="${PORT}" "${ROOT_DIR}/burn.sh" subserver-ui
|
||||
@@ -0,0 +1 @@
|
||||
#include "../../official-demo/examples/Arduino-v3.3.5/libraries/lvgl/src/extra/libs/qrcode/qrcodegen.c"
|
||||
+2455
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user