/* EEPROM MODULE */ // XXX: with case insensitive filesystem, if named eeprom.h *could* // be included as EEPROM.h and fail after including rotate library down below #pragma once #include #include "espurna.h" // Note: backwards compatibility requires us to reserve these much bytes at the start. // main reason right now is EEPROM_Rotate crc bytes constexpr size_t EepromReservedSize = 14; // "The library uses 3 bytes to track last valid sector, so there must be at least 3" // Reserve addresses 11, 12 and 13 for EEPROM_Rotate constexpr int EepromRotateOffset = 11; constexpr size_t EepromRotateReservedSize = 3; constexpr size_t EepromSize = SPI_FLASH_SEC_SIZE; extern EEPROM_Rotate EEPROMr; bool eepromReady(); void eepromSectorsDebug(); void eepromRotate(bool value); uint32_t eepromCurrent(); String eepromSectors(); void eepromBackup(uint32_t index); void eepromCommit(); void eepromSetup();