Go Down

Topic: [proposal] write+verify function for EEPROMAnything.h (Read 1 time) previous topic - next topic


Writes the data to eeprom, reads it back and compares it to the original data. It returns true if the argument and the read-back data are the same, false otherwise.
In other words, true meanse "write successful", false means "write failed. eeprom probably corrupt".

template <class T> boolean EEPROM_writeVerifyAnything(int ee, const T& value)
    T aux;
    EEPROM_writeAnything(ee, value);
    EEPROM_readAnything(ee, aux);
    return memcmp((const byte*)&value, (const byte*)&aux, sizeof(T)) == 0;

Comments are welcome. :-)


What if there's byte in eeprom that is corrupted, should it be marked for the future? Write something that would indicate the failure?
That would make it too complicated? Some area for the information about bad bytes?

Too much for me, just thinking...

The only law for me; Ohms Law: U=R*I       P=U*I
Note to self: "Damn! Why don't you just fix it!!!"


The idea behind this function it to make easy to detect eeprom write errors.
What to do in case of error is left as an exercise to the reader :-)

Seriously, though, I guess that type of functionality belongs to a higher software level. Probably another library...

Thanks for your suggestions.

Go Up

Quick Reply

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Note: this post will not display until it's been approved by a moderator.

shortcuts: alt+s submit/post or alt+p preview