v3.3.0: Welcome screen, factory reset, calibration/touch fixes, flash partition fix

## New
- "Welcome" screen shown on first-time setup (before touch
  calibration), with the splash screen's animated radar graphic and a
  Start button.
- The "Setup complete" screen now counts down 7 seconds with a button
  matching the Welcome screen's style, then automatically continues
  into the app (previously required a tap).
- System menu "Backup & Reset" page (Backup, Restore, and a new
  "Reset settings" option that wipes the on-device data and re-runs
  first-time setup - useful for testing or handing the device to
  someone else).
- Touch calibration targets are now green mini radar reticles instead
  of red crosshairs.

## Improved
- The SD card's data folder is now only created after tapping Start
  on the Welcome screen, instead of on every boot regardless.
- Flash partition layout changed to free up roughly 850 KB of
  firmware space (no OTA update slot needed, since firmware is always
  flashed via cable/USB) - lowers flash usage from ~95% to ~59%.

## Fixed
- The Start button and the WiFi scanning screen now show a loading
  indicator instead of appearing frozen during SD-card/WiFi
  operations.
- A touch-input bug during first-time setup that could corrupt touch
  calibration and cause taps to land on the wrong on-screen element
  afterward (most noticeable in the WiFi network selection list).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Eiswolf-BG
2026-08-12 06:57:48 +02:00
parent ba1c062ef1
commit a7f14b3125
10 changed files with 394 additions and 84 deletions

View File

@@ -5,6 +5,14 @@ framework = arduino
monitor_speed = 115200
upload_speed = 921600
; No OTA (over-the-air firmware update) in use - always flashed via
; cable/web-flasher. The default partition scheme reserves two app
; partitions (~1.25 MB each) plus an unused SPIFFS data area (~1.375 MB) -
; over 2.5 MB of 4 MB flash wasted. "no_ota.csv" (shipped with the
; Espressif framework) uses a single, 2 MB app partition instead - doubles
; the space available for the actual firmware, no code changes needed.
board_build.partitions = no_ota.csv
lib_deps =
bodmer/TFT_eSPI @ ^2.5.43
https://github.com/PaulStoffregen/XPT2046_Touchscreen.git