Ejemplo n.º 1
0
/*---------------------------------------------------------------------------*/
interrupt(TIMERA1_VECTOR) timera1 (void) {
  ENERGEST_ON(ENERGEST_TYPE_IRQ);

  if(TAIV == 2) {
	  etimer_interrupt();
	  if(etimer_pending() &&
	     (etimer_next_expiration_time() - count - 1) > MAX_TICKS) {
	    etimer_request_poll();
	    LPM4_EXIT;
	  }
   }

  ENERGEST_OFF(ENERGEST_TYPE_IRQ);
}
Ejemplo n.º 2
0
/*---------------------------------------------------------------------------*/
interrupt(TIMERA1_VECTOR) timera1 (void) {
  ENERGEST_ON(ENERGEST_TYPE_IRQ);

  int taiv = TAIV;

  if(taiv == 2) {
	  etimer_interrupt();
	  if(etimer_pending() &&
	     (etimer_next_expiration_time() - count - 1) > MAX_TICKS) {
	    etimer_request_poll();
	    LPM4_EXIT;
	  }
   } else {
	  if (taiv == TAIV_TACCR2) {
		  radio_abort_rx();
		  LPM4_EXIT;
	  }
  }

  ENERGEST_OFF(ENERGEST_TYPE_IRQ);
}