mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Revision:
188:bcfe06ba3d64
Parent:
186:707f6e361f3e
Child:
189:f392fc9709a3
--- a/targets/TARGET_NXP/TARGET_LPC176X/us_ticker.c	Thu Sep 06 13:40:20 2018 +0100
+++ b/targets/TARGET_NXP/TARGET_LPC176X/us_ticker.c	Thu Nov 08 11:46:34 2018 +0000
@@ -28,8 +28,19 @@
 
 static bool us_ticker_inited = false;
 
+#if MBED_CONF_TARGET_US_TICKER_TIMER == 0
+#define US_TICKER_TIMER      ((LPC_TIM_TypeDef *)LPC_TIM0_BASE)
+#define US_TICKER_TIMER_IRQn TIMER0_IRQn
+#elif MBED_CONF_TARGET_US_TICKER_TIMER == 1
+#define US_TICKER_TIMER      ((LPC_TIM_TypeDef *)LPC_TIM1_BASE)
+#define US_TICKER_TIMER_IRQn TIMER1_IRQn
+#elif MBED_CONF_TARGET_US_TICKER_TIMER == 1
+#define US_TICKER_TIMER      ((LPC_TIM_TypeDef *)LPC_TIM2_BASE)
+#define US_TICKER_TIMER_IRQn TIMER2_IRQn
+#else
 #define US_TICKER_TIMER      ((LPC_TIM_TypeDef *)LPC_TIM3_BASE)
 #define US_TICKER_TIMER_IRQn TIMER3_IRQn
+#endif
 
 void us_ticker_init(void) {
     if (us_ticker_inited) {
@@ -77,3 +88,11 @@
 void us_ticker_clear_interrupt(void) {
     US_TICKER_TIMER->IR = 1;
 }
+
+void us_ticker_free(void)
+{
+    US_TICKER_TIMER->TCR = 0;
+
+    US_TICKER_TIMER->MCR &= ~1;
+    NVIC_DisableIRQ(US_TICKER_TIMER_IRQn);
+}