// // Created by Jordy Sipkema on 04/03/16. // #include "eeprom.h" void EepromRead(int addr, void* settings, size_t size){ } void EepromWrite(int addr, void* settings, size_t size){ } bool EepromGetAll(TSettings *settings){ NutNvMemLoad(EEPROM_BASE, settings, sizeof(*settings)); if (settings->Checksum != sizeof(*settings)){ // Size mismatch: There is no valid configuration present. puts("EepromGetAll(): Size mismatch"); return false; } return true; } void EepromSetAll(TSettings *settings){ int success = NutNvMemSave(EEPROM_BASE, settings, sizeof(*settings)); if (success == 0){ puts("EepromSetAll: SettingsSetAll successful."); } else { puts("EepromSetAll: SettingsSetAll successful."); } NutDelay(100); } void EepromWriteDefaults(void){ puts("EepromWriteDefaults()"); // Declare TSettings: TSettings settings; settings.Checksum = sizeof(settings); settings.Cache = (const struct TCache){ 0 }; settings.System = (const struct TSettingsSystem){ 0 }; EepromSetAll(&settings); } //bool EepromGetSystemSettings(TSettingsSystem *SystemSettings){ // //} // bool EepromGetCache(TCache *cache){ TSettings *settings; if (EepromGetAll(settings) == false){ return false; } *cache = settings->Cache; return true; } void EepromSetCache(TCache *cache){ TSettings settings; settings.Checksum = sizeof(settings); settings.System = (const struct TSettingsSystem){ 0 }; settings.Cache = *cache; EepromSetAll(&settings); }