mbed library sources

Fork of mbed-src by mbed official

Revision:
327:a7562ccfb9d5
Parent:
285:31249416b6f9
Child:
402:09075a3b15e3
--- a/targets/hal/TARGET_STM/TARGET_NUCLEO_F411RE/gpio_irq_api.c	Sat Sep 20 11:30:07 2014 +0100
+++ b/targets/hal/TARGET_STM/TARGET_NUCLEO_F411RE/gpio_irq_api.c	Mon Sep 22 09:30:07 2014 +0100
@@ -233,7 +233,28 @@
     } else {
         mode = STM_MODE_INPUT;
         pull = GPIO_NOPULL;
-        obj->event = EDGE_NONE;
+        if (event == IRQ_RISE) {
+            if ((obj->event == EDGE_FALL) || (obj->event == EDGE_BOTH)) {
+                mode = STM_MODE_IT_FALLING;
+                obj->event = EDGE_FALL;
+            } else if (obj->event == EDGE_RISE) {
+                mode = STM_MODE_IT_EVT_RESET;
+                obj->event = EDGE_NONE;
+            }
+        }
+        else if (event == IRQ_FALL) {
+            if ((obj->event == EDGE_RISE) || (obj->event == EDGE_BOTH)) {
+                mode = STM_MODE_IT_RISING;
+                obj->event = EDGE_RISE;
+            } else if (obj->event == IRQ_FALL) {
+                mode = STM_MODE_IT_EVT_RESET;
+                obj->event = EDGE_NONE;
+            }
+        }
+        else {
+        	  mode = STM_MODE_IT_EVT_RESET;
+            obj->event = EDGE_NONE;
+        }
     }
 
     pin_function(obj->pin, STM_PIN_DATA(mode, pull, 0));