test: Settings-Format längentolerant machen, ota_pending ergänzen

read_rec() akzeptiert jetzt Records mit hdr.length <= sizeof(nl_settings_t):
CRC wird nur über die tatsächlich geschriebenen Bytes geprüft, fehlende Felder
bleiben auf 0 (Default). Ein zu langer (unbekannter) Record wird weiter
abgelehnt. Ein durch massive Kürzung "leer" gelesener Record (fade_in_ms,
fade_out_ms und token allesamt 0) fällt komplett auf die Defaults zurück.
Neues Feld ota_pending (nach fade_out_ms) für den kommenden OTA-Ablauf.
This commit is contained in:
Michael Sauer
2026-09-12 00:55:20 +02:00
parent ed374fc490
commit 6e9fb09455
3 changed files with 81 additions and 4 deletions
+1
View File
@@ -18,6 +18,7 @@ typedef struct {
uint8_t power_on_behaviour; /* nl_pob_t */
uint16_t fade_in_ms;
uint16_t fade_out_ms;
uint8_t ota_pending; /* set before an OTA; the next boot restores the last state */
} nl_settings_t;
void nl_settings_defaults(nl_settings_t *s);