From e9d2ec7c41c60ab74fe2850fb0787af7bb3361f4 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Fri, 4 Aug 2017 14:21:38 -0400 Subject: [PATCH] avr: Tune the low-level timer entry and exit heuristics Signed-off-by: Kevin O'Connor --- src/avr/timer.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/avr/timer.c b/src/avr/timer.c index 1b281ec93..17f3e9134 100644 --- a/src/avr/timer.c +++ b/src/avr/timer.c @@ -156,8 +156,10 @@ static struct timer wrap_timer = { #define TIMER_IDLE_REPEAT_TICKS 8000 #define TIMER_REPEAT_TICKS 3000 -#define TIMER_MIN_TRY_TICKS 60 // 40 ticks to exit irq; 20 ticks of progress -#define TIMER_DEFER_REPEAT_TICKS 200 +#define TIMER_MIN_ENTRY_TICKS 44 +#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 ISR(TIMER1_COMPA_vect)