CrossRoads:
Make sure your calculations all use unsigned long variables (32bit, 0 to FFFFFFFF)
and the math is always currentmilis - previous millis.Then even at rollover, if currentmillis = 0x00001000, and older (previous) is 0xFFFFFFF8 for instance, a correct result is returned:
0x00001000 - 0xFFFFFFF8 = 0x00001008
Nominated for a sticky topic!
Has there even been any thought given to a FAQ forum section that could be posted to perhaps only by moderators after some sort of consensus process? Or maybe it'd be better as a section in the Playground?