Force events into the future

pull/3982/head
mjrgh 2017-03-21 15:51:09 -07:00 committed by GitHub
parent 094d9ac909
commit 72ccf0b2b5
1 changed files with 7 additions and 6 deletions

View File

@ -185,11 +185,12 @@ static void lptmr_isr(void) {
} }
void us_ticker_set_interrupt(timestamp_t timestamp) { void us_ticker_set_interrupt(timestamp_t timestamp) {
int delta = (int)((uint32_t)timestamp - us_ticker_read()); uint32_t tcur = us_ticker_read();
int delta = (int)((uint32_t)timestamp - tcur);
if (delta <= 0) { if (delta <= 0) {
// This event was in the past: // This event was in the past. Force it into the very near
us_ticker_irq_handler(); // future instead.
return; timestamp = tcur + 2;
} }
us_ticker_int_counter = (uint32_t)(delta >> 16); us_ticker_int_counter = (uint32_t)(delta >> 16);