/** * Interrupt Handler */ void __lp_ticker_irq_handler(void) { if (DualTimer_GetIRQInfo(DUALTIMER0) == SINGLETIMER2) { DualTimer_ClearInterrupt(DUALTIMER0); lp_ticker_overflows_count++; } else { lp_ticker_irq_handler(); } }
/** * Interrupt Handler */ void __lp_ticker_irq_handler(void) { if (DualTimer_GetIRQInfo(DUALTIMER0) == SINGLETIMER2) { DualTimer_ClearInterrupt(DUALTIMER0); /* * For each overflow event adds the timer max represented value to * the delta. This allows the lp_ticker to keep track of the elapsed * time: * elapsed_time = (num_overflow * overflow_limit) + current_time */ lp_ticker_overflows_delta += lp_ticker_overflow_limit; } else { lp_ticker_irq_handler(); } }
/** * Clear the low power ticker interrupt */ void lp_ticker_clear_interrupt(void) { /* Clear Interrupt */ DualTimer_ClearInterrupt(DUALTIMER0); }