I'm doing the same kind of temp&humidity datalogger project that 7 billion other people in Arduino community are also making. I got multiple RF nodes transmitting the data about once a minute to one receiver unit, which processes them and sends to internet through ENC28j60.
I've been figuring out the best way to store timestamp with each value. This value will be stored to EEPROM, because I'm seriously not able to get the SD cards to work in conjunction with the Ethernet module. I already killed 2x 2Gb cards and I'm pretty much done with that. I don't use combined shields so I need to work with combining modules and code examples.
This is what I came up with: 1. First 4 bytes, store the absolute UNIX time value when the logging was launched for the first time
Store temp value(-128;128)
Store the number of times it's being repeated
Repeat 2-3, and get time for each value by adding the number of repeats together.
24 x 6 = 24°c for 0-6 minutes 25 x 4 = 25°c for 6-10 minutes 27 x 3 = 27°c for 10-13 minutes 29 x 1 = 29°c for 13-14 minutes etc...
Is this in any way a sane method to store timestamps for values, of which I will most likely have lots of repeating? I need to keep track of each repetion value to know the time for each temperature value. I need to read alot from the EEPROM, if I want to know when the 6597th temperature value was taking place. Another way would be to store 4-byte time value after each temperature, but that would take a lot of memory.
When the memory is filled, everything will be reset.