summaryrefslogtreecommitdiff
path: root/digital/ai/src/utils/timer.avr.c
diff options
context:
space:
mode:
authorNicolas Schodet2012-05-21 00:31:25 +0200
committerNicolas Schodet2012-05-21 00:31:25 +0200
commite472abd631d23ace75636a352fe2e12407f89dcf (patch)
treed1ca9f0ab79682c46c17f9a24f1bf7bb7c70da9e /digital/ai/src/utils/timer.avr.c
parent5f27f7e1f41352cb7e4983de75314639c8928859 (diff)
digital/io-hub/src/guybrush: fix chrono issueeurobot-2012-finals
Diffstat (limited to 'digital/ai/src/utils/timer.avr.c')
-rw-r--r--digital/ai/src/utils/timer.avr.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/digital/ai/src/utils/timer.avr.c b/digital/ai/src/utils/timer.avr.c
index d00278f8..9a6e3ede 100644
--- a/digital/ai/src/utils/timer.avr.c
+++ b/digital/ai/src/utils/timer.avr.c
@@ -33,7 +33,7 @@
static volatile uint8_t timer_overflow;
/** Incremented when timer overflowed. */
-static volatile uint8_t timer_tick;
+static volatile uint16_t timer_tick;
ISR (TIMER0_OVF_vect)
{
@@ -79,9 +79,13 @@ timer_wait (void)
return late;
}
-uint8_t
+uint16_t
timer_get_tick (void)
{
- return timer_tick;
+ uint16_t tick;
+ intr_flags_t flags = intr_lock ();
+ tick = timer_tick;
+ intr_restore (flags);
+ return tick;
}