summaryrefslogtreecommitdiffstatshomepage
path: root/stm/exti.h
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-02-26 16:01:54 +0000
committerDamien George <damien.p.george@gmail.com>2014-02-26 16:01:54 +0000
commitc4361227ba5d39f48b3f837f2888a7765d2a9887 (patch)
treecba6b9a606cc23d4329e0458fbf355eefcdda77b /stm/exti.h
parente70700851a2ec2d08d76fdded592dc833e21252c (diff)
parentee31f71d39207309b924ac99a7de2d847cb4bbfd (diff)
downloadmicropython-c4361227ba5d39f48b3f837f2888a7765d2a9887.tar.gz
micropython-c4361227ba5d39f48b3f837f2888a7765d2a9887.zip
Merge pull request #318 from dhylands/exti
Add EXTI support
Diffstat (limited to 'stm/exti.h')
-rw-r--r--stm/exti.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/stm/exti.h b/stm/exti.h
new file mode 100644
index 0000000000..f5b11d0496
--- /dev/null
+++ b/stm/exti.h
@@ -0,0 +1,29 @@
+// Vectors 0-15 are for regular pins
+// Vectors 16-22 are for internal sources.
+//
+// Use the following constants for the internal sources:
+
+#define EXTI_PVD_OUTPUT (16)
+#define EXTI_RTC_ALARM (17)
+#define EXTI_USB_OTG_FS_WAKEUP (18)
+#define EXTI_ETH_WAKEUP (19)
+#define EXTI_USB_OTG_HS_WAKEUP (20)
+#define EXTI_RTC_TIMESTAMP (21)
+#define EXTI_RTC_WAKEUP (22)
+
+#define EXTI_NUM_VECTORS 23
+
+void exti_init_early(void);
+void exti_init(mp_obj_t mod);
+
+uint exti_register(mp_obj_t pin_obj, mp_obj_t mode_obj, mp_obj_t trigger_obj, mp_obj_t callback_obj, mp_obj_t param_obj);
+
+void exti_enable(uint line);
+void exti_disable(uint line);
+void exti_swint(uint line);
+
+typedef struct {
+ mp_obj_t callback;
+ mp_obj_t param;
+} exti_t;
+