From cc8d1628597d449e3b2e2e1545af25fc47b0a8a5 Mon Sep 17 00:00:00 2001
From: xoviat <xoviat@gmail.com>
Date: Thu, 31 Dec 2020 16:59:42 -0600
Subject: [PATCH] begin integrate interrupt

---
 embassy-stm32f4/src/serial.rs  | 4 +++-
 examples-stm32f4/src/serial.rs | 5 ++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/embassy-stm32f4/src/serial.rs b/embassy-stm32f4/src/serial.rs
index bb47a9301..5042566db 100644
--- a/embassy-stm32f4/src/serial.rs
+++ b/embassy-stm32f4/src/serial.rs
@@ -65,8 +65,10 @@ static STATE: State = State {
 
 impl Serial<USART1, Stream7<DMA2>, Stream2<DMA2>> {
     pub fn new(
-        rxd: PA10<Alternate<AF7>>,
         txd: PA9<Alternate<AF7>>,
+        rxd: PA10<Alternate<AF7>>,
+        tx_int: interrupt::DMA2_STREAM2Interrupt,
+        rx_int: interrupt::DMA2_STREAM7Interrupt,
         dma: DMA2,
         usart: USART1,
         parity: Parity,
diff --git a/examples-stm32f4/src/serial.rs b/examples-stm32f4/src/serial.rs
index 1f5c0fb7a..296da4043 100644
--- a/examples-stm32f4/src/serial.rs
+++ b/examples-stm32f4/src/serial.rs
@@ -9,6 +9,7 @@ use cortex_m::singleton;
 use cortex_m_rt::entry;
 use embassy::executor::{task, Executor};
 use embassy::util::Forever;
+use embassy_stm32f4::interrupt;
 use embassy_stm32f4::serial;
 use stm32f4xx_hal::stm32;
 use stm32f4xx_hal::{prelude::*, serial::config};
@@ -27,8 +28,10 @@ async fn run(dp: stm32::Peripherals, cp: cortex_m::Peripherals) {
         .freeze();
 
     let mut serial = serial::Serial::new(
-        gpioa.pa10.into_alternate_af7(),
         gpioa.pa9.into_alternate_af7(),
+        gpioa.pa10.into_alternate_af7(),
+        interrupt::take!(DMA2_STREAM2),
+        interrupt::take!(DMA2_STREAM7),
         dp.DMA2,
         dp.USART1,
         config::Parity::ParityNone,