UKHeliBob ... I tried the eeprom.put and get ... no luck...I installed the serial print to check what I get and it's "2046820361" as a result...go figure.
There is no element of luck either way.
The put() and get() functions work so why don't they work in your program ?
-
Are you actually writing anything to the EEPROM ?
Does the program ever call the put() function and, if so, what value is written to the EEPROM ?
Print it to find out before put() -
Is the data being written to and read from the same address ?
Your program look OK but temporarily substitute an explicit address for the addr variable -
The EEPROM is, to use a technical term, shagged. Either one address, many or the whole EEPROM may be affected
Run a separate diagnostic program to write to every EEPROM address and read back the values. Are they correct ? -
You are using the EEPROM in a different way to everyone else.
What does EEPROM.begin() do in your program ?
When used with an ESP8266 it allows you to specify the number of bytes of EEPROM to be available but you are using a Uno.