mbed library sources. Supersedes mbed-src.
Dependents: Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more
Diff: targets/TARGET_ARM_SSG/TARGET_BEETLE/lp_ticker.c
- Revision:
- 174:b96e65c34a4d
- Parent:
- 150:02e0a0aed4ec
- Child:
- 186:707f6e361f3e
--- a/targets/TARGET_ARM_SSG/TARGET_BEETLE/lp_ticker.c Fri Sep 15 14:59:18 2017 +0100 +++ b/targets/TARGET_ARM_SSG/TARGET_BEETLE/lp_ticker.c Mon Oct 02 15:33:19 2017 +0100 @@ -115,27 +115,24 @@ */ void lp_ticker_set_interrupt(timestamp_t timestamp) { - int32_t delta = 0; - /* Verify if lp_ticker has been not Initialized */ if (lp_ticker_initialized == 0) lp_ticker_init(); /* Calculate the delta */ - delta = (int32_t)(timestamp - lp_ticker_read()); - /* Check if the event was in the past */ - if (delta <= 0) { - /* This event was in the past */ - DualTimer_SetInterrupt_1(DUALTIMER0, 0, - DUALTIMER_COUNT_32 | DUALTIMER_ONESHOT); - return; - } + uint32_t delta = timestamp - lp_ticker_read(); /* Enable interrupt on SingleTimer1 */ DualTimer_SetInterrupt_1(DUALTIMER0, delta, DUALTIMER_COUNT_32 | DUALTIMER_ONESHOT); } +void lp_ticker_fire_interrupt(void) +{ + uint32_t lp_ticker_irqn = DualTimer_GetIRQn(DUALTIMER0); + NVIC_SetPendingIRQ((IRQn_Type)lp_ticker_irqn); +} + /** * Disable low power ticker interrupt */