aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embassy-stm32f4-examples/src/bin/can.rs4
-rw-r--r--embassy-stm32f4/src/can.rs6
-rw-r--r--embassy-stm32f4/src/exti.rs1
-rw-r--r--embassy-stm32f4/src/qei.rs8
-rw-r--r--embassy-stm32f4/src/serial.rs3
5 files changed, 7 insertions, 15 deletions
diff --git a/embassy-stm32f4-examples/src/bin/can.rs b/embassy-stm32f4-examples/src/bin/can.rs
index 27aef02b1..701a277ec 100644
--- a/embassy-stm32f4-examples/src/bin/can.rs
+++ b/embassy-stm32f4-examples/src/bin/can.rs
@@ -14,13 +14,11 @@ use cortex_m_rt::entry;
14use embassy::executor::{task, Executor}; 14use embassy::executor::{task, Executor};
15use embassy::traits::gpio::*; 15use embassy::traits::gpio::*;
16use embassy::util::Forever; 16use embassy::util::Forever;
17use embassy_stm32f4::{can, exti, interrupt}; 17use embassy_stm32f4::{can, interrupt};
18use futures::pin_mut; 18use futures::pin_mut;
19use stm32f4xx_hal::prelude::*; 19use stm32f4xx_hal::prelude::*;
20use stm32f4xx_hal::{can::Can, stm32}; 20use stm32f4xx_hal::{can::Can, stm32};
21 21
22static EXTI: Forever<exti::ExtiManager> = Forever::new();
23
24#[task] 22#[task]
25async fn run(dp: stm32::Peripherals, _cp: cortex_m::Peripherals) { 23async fn run(dp: stm32::Peripherals, _cp: cortex_m::Peripherals) {
26 let gpioa = dp.GPIOA.split(); 24 let gpioa = dp.GPIOA.split();
diff --git a/embassy-stm32f4/src/can.rs b/embassy-stm32f4/src/can.rs
index a8a3ca164..7c5311a9d 100644
--- a/embassy-stm32f4/src/can.rs
+++ b/embassy-stm32f4/src/can.rs
@@ -9,11 +9,9 @@ use bxcan::Interrupts;
9use core::future::Future; 9use core::future::Future;
10use embassy::interrupt::Interrupt; 10use embassy::interrupt::Interrupt;
11use embassy::util::InterruptFuture; 11use embassy::util::InterruptFuture;
12use embassy::util::Signal;
13use nb; 12use nb;
14use nb::block; 13use nb::block;
15 14
16use crate::hal::prelude::*;
17use crate::interrupt; 15use crate::interrupt;
18 16
19/// Interface to the Serial peripheral 17/// Interface to the Serial peripheral
@@ -53,9 +51,9 @@ impl<T: Instance> Can<T> {
53 /// Receive can frame. 51 /// Receive can frame.
54 /// 52 ///
55 /// This method async-blocks until the frame is received. 53 /// This method async-blocks until the frame is received.
56 pub fn receive<'a>(&'a mut self) -> impl Future<Output = (bxcan::Frame)> + 'a { 54 pub fn receive<'a>(&'a mut self) -> impl Future<Output = bxcan::Frame> + 'a {
57 async move { 55 async move {
58 let mut frame: Option<bxcan::Frame> = None; 56 let mut frame: Option<bxcan::Frame>;
59 57
60 loop { 58 loop {
61 let fut = InterruptFuture::new(&mut self.rx_int); 59 let fut = InterruptFuture::new(&mut self.rx_int);
diff --git a/embassy-stm32f4/src/exti.rs b/embassy-stm32f4/src/exti.rs
index 90f3ade39..660e3be33 100644
--- a/embassy-stm32f4/src/exti.rs
+++ b/embassy-stm32f4/src/exti.rs
@@ -2,7 +2,6 @@ use core::future::Future;
2use core::mem; 2use core::mem;
3use core::pin::Pin; 3use core::pin::Pin;
4 4
5use embassy::interrupt::Interrupt;
6use embassy::traits::gpio::{WaitForFallingEdge, WaitForRisingEdge}; 5use embassy::traits::gpio::{WaitForFallingEdge, WaitForRisingEdge};
7use embassy::util::InterruptFuture; 6use embassy::util::InterruptFuture;
8 7
diff --git a/embassy-stm32f4/src/qei.rs b/embassy-stm32f4/src/qei.rs
index 1d4689e19..391c8f7c2 100644
--- a/embassy-stm32f4/src/qei.rs
+++ b/embassy-stm32f4/src/qei.rs
@@ -1,21 +1,19 @@
1use crate::interrupt; 1use crate::interrupt;
2use core::future::Future; 2use core::future::Future;
3use core::pin::Pin; 3use core::pin::Pin;
4use embassy::interrupt::Interrupt;
5use embassy::traits::qei::WaitForRotate; 4use embassy::traits::qei::WaitForRotate;
6use embedded_hal::Direction; 5use embedded_hal::Direction;
7use embedded_hal::Qei as THQei;
8use stm32f4xx_hal::pac::TIM2; 6use stm32f4xx_hal::pac::TIM2;
9use stm32f4xx_hal::qei::{Pins, Qei as HalQei}; 7use stm32f4xx_hal::{qei, qei::Pins};
10 8
11pub struct Qei<T: Instance, PINS> { 9pub struct Qei<T: Instance, PINS> {
12 qei: HalQei<T, PINS>, 10 qei: qei::Qei<T, PINS>,
13 int: T::Interrupt, 11 int: T::Interrupt,
14} 12}
15 13
16impl<PINS: Pins<TIM2>> Qei<TIM2, PINS> { 14impl<PINS: Pins<TIM2>> Qei<TIM2, PINS> {
17 pub fn tim2(tim: TIM2, pins: PINS, interrupt: interrupt::TIM2) -> Self { 15 pub fn tim2(tim: TIM2, pins: PINS, interrupt: interrupt::TIM2) -> Self {
18 let qei = HalQei::tim2(tim, pins); 16 let qei = qei::Qei::tim2(tim, pins);
19 17
20 let tim = unsafe { 18 let tim = unsafe {
21 &mut *(stm32f4xx_hal::stm32::TIM2::ptr() 19 &mut *(stm32f4xx_hal::stm32::TIM2::ptr()
diff --git a/embassy-stm32f4/src/serial.rs b/embassy-stm32f4/src/serial.rs
index 2ca82ac50..97b365a11 100644
--- a/embassy-stm32f4/src/serial.rs
+++ b/embassy-stm32f4/src/serial.rs
@@ -6,10 +6,9 @@
6 6
7use core::future::Future; 7use core::future::Future;
8use core::marker::PhantomData; 8use core::marker::PhantomData;
9use core::ptr;
10use core::sync::atomic::{self, Ordering}; 9use core::sync::atomic::{self, Ordering};
11 10
12use embassy::interrupt::{Interrupt, InterruptExt}; 11use embassy::interrupt::Interrupt;
13use embassy::traits::uart::{Error, Uart}; 12use embassy::traits::uart::{Error, Uart};
14use embassy::util::InterruptFuture; 13use embassy::util::InterruptFuture;
15 14