Stack-friendly cc243x clock ISR enabled by default
This new approach (CLOCK_CONF_ACCURATE=0) was not as inaccurate as originally thought. In fact, it has pretty much the same accuracy as the old, stack-hungry version. * Renamed the define from CLOCK_CONF_ACCURATE (1: old) to CLOCK_CONF_STACK_FRIENDLY (1: new) to stop implying that one is more accurate than the other. * Using CLOCK_CONF_STACK_FRIENDLY by default.
This commit is contained in:
parent
924fe934c1
commit
ce17fa131c
3 changed files with 16 additions and 21 deletions
|
@ -47,15 +47,12 @@
|
|||
|
||||
/* Used in sleep timer interrupt for calculating the next interrupt time */
|
||||
static unsigned long timer_value;
|
||||
/*starts calculating the ticks right after reset*/
|
||||
#if CLOCK_CONF_ACCURATE
|
||||
static volatile __data clock_time_t count = 0;
|
||||
#else
|
||||
volatile __data clock_time_t count = 0;
|
||||
/* accurate clock is stack hungry */
|
||||
#if CLOCK_CONF_STACK_FRIENDLY
|
||||
volatile __bit sleep_flag;
|
||||
#else
|
||||
#endif
|
||||
/*calculates seconds*/
|
||||
|
||||
static volatile __data clock_time_t count = 0; /* Uptime in ticks */
|
||||
static volatile __data clock_time_t seconds = 0; /* Uptime in secs */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
|
@ -152,13 +149,13 @@ clock_ISR(void) __interrupt(ST_VECTOR)
|
|||
++seconds;
|
||||
}
|
||||
|
||||
#if CLOCK_CONF_ACCURATE
|
||||
#if CLOCK_CONF_STACK_FRIENDLY
|
||||
sleep_flag = 1;
|
||||
#else
|
||||
if(etimer_pending()
|
||||
&& (etimer_next_expiration_time() - count - 1) > MAX_TICKS) {
|
||||
etimer_request_poll();
|
||||
}
|
||||
#else
|
||||
sleep_flag = 1;
|
||||
#endif
|
||||
|
||||
IRCON_STIF = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue