Right, I forgot to post at least a case of code.
So yes, saving is in the function which is called if any of the values change.
It looks like this
EEPROM.begin(512) I've also checked with the value 64 although I don't know what that means if it's the maximum amount of data I'll send or the maximum capacity of the eeprom in bytes, I don't know.
EEPROMAnything_write(0, str_data)
EEPROM.commit in some tutorial I found to modify anything.h and add EEPROM.commit there but it didn't do anything.
This is what writing looks like to me, exactly like this, because I'm going to skip all the debug prints that inform me about each step of the program because I'm already running out of ideas where to look for errors....
The read function does not precede the EEPROM. Begging, could this be it?
i am posting the entire code, if anyone has the patience to take a look
[/code]
On the other hand, here are the troublesome EEPROMs
And here are the first attempts to "save the EEPROM" and save only the values that have changed
Could you explain to me what this EEPROM.begin(value) is all about?
is the value supposed to be equal to the sum of what is between EEPROM.begin and EEPROM.commit?
this means that if I write a structure in which I have 4*16 bytes, should I enter 64 in EEPROM.begin?
And if I write strings one by one, should I write 16 for each one?
I'm unnecessarily complicating this topic all the time. I just read in the link you sent that before reading the value I should give EEPROM.begin... I will check immediately and let you know
Unfortunately, adding EEPROM.begin(64) before readAnything didn't do anything. EEPROM.begin(512) didn't either.
I guess I'll have to write a function to break the String into single bytes and write them myself, or I'll do a hardware power failure detection which will disconnect the CH_PD and support all the variables in RAM with a battery.
Why is this not working for me? I can't find anywhere on the internet that anyone has had any problems with the EEPROM in ESP....