millis() limitation?

Is there a limit on the millis() if so - what is it and is there a way to reset it with out rebooting the arduino?

Never mind... found the information and I think I figured out how to get around it =)

I'm curious what information you found. Myself, I am looking for a way of adding a value of 8000 ms to the millis() value after waking up from a 8 sec sleep.

~49 days till millis() goes back to 0.

So you didn't find anything in regards to clearing or adjusting the millis() reading?

basically check to see if you previousMillis is greater than millis() and reset previousMillis to 0

millis needs to be thought of as a clock, not a timer.

It should not be fiddled with.

You can use the results as a timer, by frequently checking to see if enough time has elapsed. That can just as easily be done comparing two values when neither is 0, as it can be done comparing two values when one of them IS 0.

Currently I declare the following in the global scope:

unsigned long counter=millis();

and run the following in the loop function:

if (millis() - counter > 30000ul){
//do stuff here every 30 secs
counter = millis;
}

The problem now is that I am adding the use of the sleep functions and millis() does not keep counting while the arduino is sleeping. To save myself from other problems, I'd rather not subtract 8000 from all my counter variables but rather just add 8000 to millis(). If anyone is interested in following this, I started another topic where I will be further pursuing a solution.

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1259616639