From a93ed2bed6311450b2a8f17a07346eff3c9b6667 Mon Sep 17 00:00:00 2001
From: Bob McWhirter <bmcwhirt@redhat.com>
Date: Mon, 16 Aug 2021 15:03:29 -0400
Subject: [PATCH] Add H7 exti button example using correct EXTI reg block
 offsets.

---
 embassy-stm32/src/exti/mod.rs           |  1 +
 examples/stm32h7/src/bin/button_exti.rs | 36 +++++++++++++++++++++++++
 stm32-data                              |  2 +-
 3 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 examples/stm32h7/src/bin/button_exti.rs

diff --git a/embassy-stm32/src/exti/mod.rs b/embassy-stm32/src/exti/mod.rs
index bb9082f2e..164cdba33 100644
--- a/embassy-stm32/src/exti/mod.rs
+++ b/embassy-stm32/src/exti/mod.rs
@@ -35,6 +35,7 @@ macro_rules! foreach_exti_irq {
 }
 
 #[cfg_attr(exti_v1, path = "v1.rs")]
+#[cfg_attr(exti_h7, path = "v1.rs")]
 #[cfg_attr(exti_wb55, path = "v2.rs")]
 mod _version;
 
diff --git a/examples/stm32h7/src/bin/button_exti.rs b/examples/stm32h7/src/bin/button_exti.rs
new file mode 100644
index 000000000..ee43fa7d9
--- /dev/null
+++ b/examples/stm32h7/src/bin/button_exti.rs
@@ -0,0 +1,36 @@
+#![no_std]
+#![no_main]
+#![feature(trait_alias)]
+#![feature(type_alias_impl_trait)]
+#![allow(incomplete_features)]
+
+#[path = "../example_common.rs"]
+mod example_common;
+use embassy::executor::Spawner;
+use embassy_stm32::dbgmcu::Dbgmcu;
+use embassy_stm32::exti::ExtiInput;
+use embassy_stm32::gpio::{Input, Pull};
+use embassy_stm32::Peripherals;
+use embassy_traits::gpio::{WaitForFallingEdge, WaitForRisingEdge};
+use example_common::*;
+
+#[embassy::main]
+async fn main(_spawner: Spawner, p: Peripherals) {
+    info!("Hello World!");
+
+    unsafe {
+        Dbgmcu::enable_all();
+    }
+
+    let button = Input::new(p.PC13, Pull::Down);
+    let mut button = ExtiInput::new(button, p.EXTI13);
+
+    info!("Press the USER button...");
+
+    loop {
+        button.wait_for_rising_edge().await;
+        info!("Pressed!");
+        button.wait_for_falling_edge().await;
+        info!("Released!");
+    }
+}
diff --git a/stm32-data b/stm32-data
index 79ab92a38..75a76596c 160000
--- a/stm32-data
+++ b/stm32-data
@@ -1 +1 @@
-Subproject commit 79ab92a38d1cbb47dda2f6f8556fe1abc9a14f3a
+Subproject commit 75a76596c37f07cbbdaa3a689c1776297063b651