Enable the watchdog for rtimers too. Removed the disabling of the TACTL - it should not be needed, and interferes with the timing behaviour of stable rtimers

This commit is contained in:
adamdunkels 2010-11-25 09:22:56 +00:00
parent b6ac4e00d8
commit 149f4e8d21

View File

@ -28,7 +28,7 @@
* *
* This file is part of the Contiki operating system. * This file is part of the Contiki operating system.
* *
* $Id: rtimer-arch.c,v 1.15 2010/09/13 20:51:09 nifi Exp $ * $Id: rtimer-arch.c,v 1.16 2010/11/25 09:22:56 adamdunkels Exp $
*/ */
/** /**
@ -57,11 +57,16 @@
interrupt(TIMERA0_VECTOR) timera0 (void) { interrupt(TIMERA0_VECTOR) timera0 (void) {
ENERGEST_ON(ENERGEST_TYPE_IRQ); ENERGEST_ON(ENERGEST_TYPE_IRQ);
watchdog_start();
rtimer_run_next(); rtimer_run_next();
if(process_nevents() > 0) { if(process_nevents() > 0) {
LPM4_EXIT; LPM4_EXIT;
} }
watchdog_stop();
ENERGEST_OFF(ENERGEST_TYPE_IRQ); ENERGEST_OFF(ENERGEST_TYPE_IRQ);
} }
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
@ -93,8 +98,6 @@ rtimer_arch_schedule(rtimer_clock_t t)
{ {
PRINTF("rtimer_arch_schedule time %u\n", t); PRINTF("rtimer_arch_schedule time %u\n", t);
TACTL &= ~MC1;
TACCR0 = t; TACCR0 = t;
TACTL |= MC1;
} }
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/