//Code to save some settings uint addr = 0; struct { bool summertime = false; bool ntp_update = true; int wakeup_time = 10; char ntp_server[22] = "ntp2.uni-augsburg.de"; } data; void write_eeprom(){ EEPROM.begin(1024); // load EEPROM data into RAM, see it data.summertime = summer; data.ntp_update = ntp_update; data.wakeup_time = wakeup_time; ntp_server.toCharArray(data.ntp_server,22); write_log("Writing to EEPROM: "+String(data.summertime)); write_log("Writing to EEPROM: "+String(data.ntp_update)); write_log("Writing to EEPROM: "+String(data.wakeup_time)); write_log("Writing to EEPROM: "+String(data.ntp_server)); // replace values in EEPROM EEPROM.put(addr,data); EEPROM.commit(); EEPROM.end(); } bool get_eeprom(){ EEPROM.begin(1024); EEPROM.get(addr,data); write_log("Read: "+String(data.summertime)); write_log("Read: "+String(data.ntp_update)); write_log("Read: "+String(data.wakeup_time)); write_log("Read: "+String(data.ntp_update)); EEPROM.end(); summer = data.summertime; ntp_update = data.ntp_update; wakeup_time = data.wakeup_time; ntp_server = data.ntp_server; } void reset_eeprom(){ summer = false; ntp_update = true; wakeup_time = 10; ntp_server = "ntp2.uni-augsburg.de"; write_eeprom(); }