Here's my first take on this:
Unlike other events the timeout event will not que up and it will
restart it's counting when another event has happened. The time value
will be the time it is handled, not the time it went into the que as
with other events.
So let's say that there was a timeout at
slaps head
Well, duhhh.. I should have seen that.
If it's 999 mSec into the timeout when the wait event occurs, then
it will add 200 mSec to the 999, and start another timeout counter at
1199. If that one times out, then I'm sitting at 2199 mSec between
events.
Sometimes I can't see the forest