spaxel/firmware
jedarden 391ed884e4 feat: implement NVS schema migration on boot
Implement versioned NVS key migration on ESP32-S3 firmware so
OTA-updated firmware gracefully handles NVS written by older versions.

- Add nvs_migration.c/h with migration framework
- On boot, read schema_ver from NVS; initialize to 1 if missing
- Run migrations sequentially if schema_ver < COMPILED_NVS_VERSION
- Each migration commits after each write for durability
- Log all migration steps to UART for debugging
- Example migration v1→v2: rename 'ms_ip' to 'mothership_ip',
  add 'ntp_server' with default 'pool.ntp.org'
- Migration failure leaves NVS in consistent state

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 10:27:38 -04:00
..
main feat: implement NVS schema migration on boot 2026-04-07 10:27:38 -04:00
CMakeLists.txt feat(firmware): OTA SHA-256 verification and captive portal URL decoding 2026-03-28 19:56:11 -04:00
partitions.csv feat: dual-partition OTA rollback validation with 60s role timeout 2026-04-07 01:43:29 -04:00
sdkconfig.defaults feat: dual-partition OTA rollback validation with 60s role timeout 2026-04-07 01:43:29 -04:00