Skip to content

Conversation

@jacobrosenthal
Copy link

Systimer diff calculation was using 8 bits which meant it had to be called with less than 255ms between calls. Bumping to 16 means we can sleep for ~65 seconds

related to Pinoccio/core-pinoccio#23

@soldair
Copy link
Collaborator

soldair commented May 16, 2015

looks like you only changed what you

@soldair soldair closed this May 16, 2015
@soldair soldair reopened this May 16, 2015
@soldair
Copy link
Collaborator

soldair commented May 16, 2015

opps

@matthijskooijman
Copy link
Collaborator

@jacobrosenthal I actually think the old behaviour is sort of a feature: If you increase the counter, then after a long sleep the timer will fire off a lot of "missed" events that should have occurred during the sleep. For some (slow) counters, this might be what you want, but if there is some pin value timer that occurs every 100ms, there is no point in firing it 100 times after a 10 second sleep.

Of course, the proper solution is to have a per-timer configuration value for whether to "catch up" missed timers or not, but because of the limited variable range, it now defaults to not catching up, or at most only a few times (which is better than defaulting to catching up for all timers).

So, I don't think that this pullrequest, in this form, is the best approach here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants