db50ce1d0ab64235a505d4180b0f2a196d0377df
Without this, devices upgrading from the old buggy fill-on-error firmware get stuck on yellow forever: the new code reads NVS_KEY_ERR_BORDER == 0 (default — the old firmware never wrote that key), so the next 304 sees no err flag and skips the redraw. NVS img_id matches what the server is serving, so server says "you're current" indefinitely. Add NVS_KEY_SCHEMA_V. On boot, if stored version is below NVS_SCHEMA_VERSION (currently 1), treat errBorder as set for this cycle and bump schema_v. The next 304 then redraws from LittleFS (the cached .bin survives flashing) and clears the flag. Tests: FW-06f locks in the upgrade path (schema_v missing → redraw on 304). FW-06g asserts the migration is one-shot (post-bump → no redraw on steady-state 304). FW-06d updated to set schema_v explicitly so it represents the post-migration steady state. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
pictureFrame ESP32 firmware — PlatformIO / Arduino
Releases
1
Languages
C++
61.1%
Python
31.4%
C
7.5%