avr: Tune the low-level timer entry and exit heuristics

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor 2017-08-04 14:21:38 -04:00
parent 78982ebb51
commit e9d2ec7c41
1 changed files with 4 additions and 2 deletions

View File

@ -156,8 +156,10 @@ static struct timer wrap_timer = {
#define TIMER_IDLE_REPEAT_TICKS 8000 #define TIMER_IDLE_REPEAT_TICKS 8000
#define TIMER_REPEAT_TICKS 3000 #define TIMER_REPEAT_TICKS 3000
#define TIMER_MIN_TRY_TICKS 60 // 40 ticks to exit irq; 20 ticks of progress #define TIMER_MIN_ENTRY_TICKS 44
#define TIMER_DEFER_REPEAT_TICKS 200 #define TIMER_MIN_EXIT_TICKS 47
#define TIMER_MIN_TRY_TICKS (TIMER_MIN_ENTRY_TICKS + TIMER_MIN_EXIT_TICKS)
#define TIMER_DEFER_REPEAT_TICKS 256
// Hardware timer IRQ handler - dispatch software timers // Hardware timer IRQ handler - dispatch software timers
ISR(TIMER1_COMPA_vect) ISR(TIMER1_COMPA_vect)