Commit Graph
4 Commits
Author SHA1 Message Date
Kaj SchittecatandClaude Opus 4.8 86c07560e5 perf(nvs): pack 17 scalar touch settings into one blob (shrink NVS footprint)
NVS is a tiny ~20KB partition shared with the Launcher/other apps/Wi-Fi; it was
filling up (Launcher 'Failed to store settings in NVS: 4357', boot loops). The
touch namespace spread 17 scalar settings (brightness, kb backlight, accent,
language, rotation, lock colour, ...) across 17 separate keys. Pack them into one
versioned 'cfg' blob -> ~16 NVS entries reclaimed per device.

One-time migration is crash-safe (write blob, then remove legacy keys only after a
durable write; idempotent via magic+ver), preserves every user's existing settings,
and falls back cleanly if the write fails on an already-full NVS. use_sd/setup_ok
stay standalone (main.cpp reads them at boot); strings, byte-blobs and Wi-Fi slots
are untouched. Public API unchanged; both touch envs build.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 22:40:29 +02:00
Kaj SchittecatandClaude Opus 4.8 48cfb55803 firmware: sync touch fixes from the working build
- Wi-Fi scan: watchdog-safe async scan (fixes the no-SSID task-watchdog panic)
- Boot: WADAMESH logo (anti-aliased mark + teal dots) replaces MESHCOMOD wordmark,
  drawn full-res via writePixelsRGB565, centred; LVGL splash mark matches
- Theme: brand teal (#15B6A6) added to the picker + made the first-boot default
- Wi-Fi settings: Save / Scan apply live (Wi-Fi+BLE coexist via NimBLE) — no reboot
- Factory reset: fix SD-storage crash (SPIFFSFS cast on SDFS) + robust recursive
  wipe (rewind / collect-then-delete so FatFS doesn't skip entries)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 15:08:28 +02:00
Kaj SchittecatandClaude Opus 4.8 bc8344b219 firmware: re-point endpoints to wadamesh.com subdomains
- tile server default: tiles.meshcomod.com -> tiles.wadamesh.com
- update-check feed: app.meshcomod.com/api-github/... -> firmware.wadamesh.com/releases/TOUCH
  (same beta_<N> listing shape, so the on-device parser is unchanged)
- 'update manually at flasher.meshcomod.com' -> flasher.wadamesh.com (incl. all 11 i18n langs)
- HTTP User-Agents -> wadamesh-touch

SD data path /meshcomod/ left as-is (changing it would orphan existing users'
on-card data — a brand-rename-with-migration is a separate decision). Tiles stay
plain HTTP (Cloudflare-cached); the lightweight version check stays HTTP too.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Kaj Schittecat <kaj@schittecat.com>
2026-06-13 09:01:27 +02:00
Kaj SchittecatandClaude Opus 4.8 ad2f52c6ee refactor: own the touch/app files relocated out of the MeshCore fork
Take ownership of the 26 files moved out of the core during the fork-minimize:
touch HW drivers (helpers/input/*), touch prefs/SD helpers + companion transport
servers + HTTP-OTA helpers (helpers/esp32/*, helpers/*Ota*.h), LVGL PSRAM
allocator, and touch diag. Three transport headers switched to lib-style
<helpers/...> includes for the new layout. platformio.ini builds them
(helpers/** filters + -I src) and pins MeshCore @ v1.16.0-wada.1 (the slimmed
fork). Both boards build green + size-identical from the published tag.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Kaj Schittecat <kaj@schittecat.com>
2026-06-13 00:30:21 +02:00