Looking at the micros() core code I see a check for the timer value to be less than 255. What is the purpose of that check. I found the bug that it was trying to fix but still don't understand it. I was hoping to write similar code for timer1 for a project I'm working on and wondering if I need to include something like this to handle combining the timer value and overflow count together.