aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embassy-stm32/src/gpio.rs18
-rw-r--r--examples/stm32f4/src/bin/blinky.rs4
-rw-r--r--examples/stm32f4/src/bin/button.rs8
-rw-r--r--examples/stm32f4/src/bin/spi.rs4
-rw-r--r--examples/stm32h7/src/bin/blinky.rs10
-rw-r--r--examples/stm32l0/src/bin/blinky.rs4
-rw-r--r--examples/stm32l0/src/bin/button.rs6
-rw-r--r--examples/stm32l0/src/bin/spi.rs4
-rw-r--r--examples/stm32l4/src/bin/blinky.rs4
-rw-r--r--examples/stm32l4/src/bin/button.rs6
-rw-r--r--examples/stm32l4/src/bin/spi.rs4
-rw-r--r--examples/stm32wb55/src/bin/blinky.rs4
12 files changed, 37 insertions, 39 deletions
diff --git a/embassy-stm32/src/gpio.rs b/embassy-stm32/src/gpio.rs
index 5c2b0f6fc..1bc5553a2 100644
--- a/embassy-stm32/src/gpio.rs
+++ b/embassy-stm32/src/gpio.rs
@@ -34,11 +34,11 @@ impl From<Pull> for vals::Pupdr {
34#[derive(Debug)] 34#[derive(Debug)]
35#[cfg_attr(feature = "defmt", derive(defmt::Format))] 35#[cfg_attr(feature = "defmt", derive(defmt::Format))]
36pub enum Speed { 36pub enum Speed {
37 LowSpeed, 37 Low,
38 MediumSpeed, 38 Medium,
39 #[cfg(not(syscfg_f0))] 39 #[cfg(not(syscfg_f0))]
40 HighSpeed, 40 High,
41 VeryHighSpeed, 41 VeryHigh,
42} 42}
43 43
44impl From<Speed> for vals::Ospeedr { 44impl From<Speed> for vals::Ospeedr {
@@ -46,11 +46,11 @@ impl From<Speed> for vals::Ospeedr {
46 use Speed::*; 46 use Speed::*;
47 47
48 match speed { 48 match speed {
49 LowSpeed => vals::Ospeedr::LOWSPEED, 49 Low => vals::Ospeedr::LOWSPEED,
50 MediumSpeed => vals::Ospeedr::MEDIUMSPEED, 50 Medium => vals::Ospeedr::MEDIUMSPEED,
51 #[cfg(not(syscfg_f0))] 51 #[cfg(not(syscfg_f0))]
52 HighSpeed => vals::Ospeedr::HIGHSPEED, 52 High => vals::Ospeedr::HIGHSPEED,
53 VeryHighSpeed => vals::Ospeedr::VERYHIGHSPEED, 53 VeryHigh => vals::Ospeedr::VERYHIGHSPEED,
54 } 54 }
55 } 55 }
56} 56}
@@ -246,7 +246,7 @@ impl<'d, T: Pin> OutputPin for OutputOpenDrain<'d, T> {
246 } 246 }
247} 247}
248 248
249impl<'d, T: Pin> InputPin for Input<'d, T> { 249impl<'d, T: Pin> InputPin for OutputOpenDrain<'d, T> {
250 type Error = Infallible; 250 type Error = Infallible;
251 251
252 fn is_high(&self) -> Result<bool, Self::Error> { 252 fn is_high(&self) -> Result<bool, Self::Error> {
diff --git a/examples/stm32f4/src/bin/blinky.rs b/examples/stm32f4/src/bin/blinky.rs
index 7590764d8..d2b607c2c 100644
--- a/examples/stm32f4/src/bin/blinky.rs
+++ b/examples/stm32f4/src/bin/blinky.rs
@@ -8,7 +8,7 @@
8 8
9#[path = "../example_common.rs"] 9#[path = "../example_common.rs"]
10mod example_common; 10mod example_common;
11use embassy_stm32::gpio::{Level, Output}; 11use embassy_stm32::gpio::{Level, Output, Speed};
12use embedded_hal::digital::v2::OutputPin; 12use embedded_hal::digital::v2::OutputPin;
13use example_common::*; 13use example_common::*;
14 14
@@ -40,7 +40,7 @@ fn main() -> ! {
40 40
41 let p = embassy_stm32::init(Default::default()); 41 let p = embassy_stm32::init(Default::default());
42 42
43 let mut led = Output::new(p.PB7, Level::High); 43 let mut led = Output::new(p.PB7, Level::High, Speed::Low);
44 44
45 loop { 45 loop {
46 info!("high"); 46 info!("high");
diff --git a/examples/stm32f4/src/bin/button.rs b/examples/stm32f4/src/bin/button.rs
index 1ee99f527..c7160d219 100644
--- a/examples/stm32f4/src/bin/button.rs
+++ b/examples/stm32f4/src/bin/button.rs
@@ -8,7 +8,7 @@
8 8
9#[path = "../example_common.rs"] 9#[path = "../example_common.rs"]
10mod example_common; 10mod example_common;
11use embassy_stm32::gpio::{Input, Level, Output, Pull}; 11use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed};
12use embedded_hal::digital::v2::{InputPin, OutputPin}; 12use embedded_hal::digital::v2::{InputPin, OutputPin};
13use example_common::*; 13use example_common::*;
14 14
@@ -41,9 +41,9 @@ fn main() -> ! {
41 let p = embassy_stm32::init(Default::default()); 41 let p = embassy_stm32::init(Default::default());
42 42
43 let button = Input::new(p.PC13, Pull::Down); 43 let button = Input::new(p.PC13, Pull::Down);
44 let mut led1 = Output::new(p.PB0, Level::High); 44 let mut led1 = Output::new(p.PB0, Level::High, Speed::Low);
45 let _led2 = Output::new(p.PB7, Level::High); 45 let _led2 = Output::new(p.PB7, Level::High, Speed::Low);
46 let mut led3 = Output::new(p.PB14, Level::High); 46 let mut led3 = Output::new(p.PB14, Level::High, Speed::Low);
47 47
48 loop { 48 loop {
49 if button.is_high().unwrap() { 49 if button.is_high().unwrap() {
diff --git a/examples/stm32f4/src/bin/spi.rs b/examples/stm32f4/src/bin/spi.rs
index 610bb64e9..dda0ee4ed 100644
--- a/examples/stm32f4/src/bin/spi.rs
+++ b/examples/stm32f4/src/bin/spi.rs
@@ -9,7 +9,7 @@
9#[path = "../example_common.rs"] 9#[path = "../example_common.rs"]
10mod example_common; 10mod example_common;
11 11
12use embassy_stm32::gpio::{Level, Output}; 12use embassy_stm32::gpio::{Level, Output, Speed};
13use embedded_hal::digital::v2::OutputPin; 13use embedded_hal::digital::v2::OutputPin;
14use example_common::*; 14use example_common::*;
15 15
@@ -58,7 +58,7 @@ fn main() -> ! {
58 Config::default(), 58 Config::default(),
59 ); 59 );
60 60
61 let mut cs = Output::new(p.PE0, Level::High); 61 let mut cs = Output::new(p.PE0, Level::High, Speed::VeryHigh);
62 62
63 loop { 63 loop {
64 let mut buf = [0x0A; 4]; 64 let mut buf = [0x0A; 4];
diff --git a/examples/stm32h7/src/bin/blinky.rs b/examples/stm32h7/src/bin/blinky.rs
index c425b7f8e..d9f891e49 100644
--- a/examples/stm32h7/src/bin/blinky.rs
+++ b/examples/stm32h7/src/bin/blinky.rs
@@ -8,15 +8,15 @@
8 8
9#[path = "../example_common.rs"] 9#[path = "../example_common.rs"]
10mod example_common; 10mod example_common;
11use embassy_stm32::gpio::{Level, Output}; 11use embassy_stm32::gpio::{Level, Output, Speed};
12use embedded_hal::digital::v2::OutputPin; 12use embedded_hal::digital::v2::OutputPin;
13use example_common::*; 13use example_common::*;
14 14
15use cortex_m_rt::entry; 15use cortex_m_rt::entry;
16use stm32h7::stm32h743 as pac; 16use stm32h7::stm32h743 as pac;
17 17
18use stm32h7xx_hal as hal;
19use hal::prelude::*; 18use hal::prelude::*;
19use stm32h7xx_hal as hal;
20 20
21#[entry] 21#[entry]
22fn main() -> ! { 22fn main() -> ! {
@@ -24,8 +24,7 @@ fn main() -> ! {
24 24
25 let pp = pac::Peripherals::take().unwrap(); 25 let pp = pac::Peripherals::take().unwrap();
26 26
27 let pwrcfg = pp.PWR.constrain() 27 let pwrcfg = pp.PWR.constrain().freeze();
28 .freeze();
29 28
30 let rcc = pp.RCC.constrain(); 29 let rcc = pp.RCC.constrain();
31 30
@@ -60,7 +59,7 @@ fn main() -> ! {
60 59
61 let p = embassy_stm32::init(Default::default()); 60 let p = embassy_stm32::init(Default::default());
62 61
63 let mut led = Output::new(p.PB14, Level::High); 62 let mut led = Output::new(p.PB14, Level::High, Speed::Low);
64 63
65 loop { 64 loop {
66 info!("high"); 65 info!("high");
@@ -71,5 +70,4 @@ fn main() -> ! {
71 led.set_low().unwrap(); 70 led.set_low().unwrap();
72 cortex_m::asm::delay(10_000_000); 71 cortex_m::asm::delay(10_000_000);
73 } 72 }
74
75} 73}
diff --git a/examples/stm32l0/src/bin/blinky.rs b/examples/stm32l0/src/bin/blinky.rs
index ab0a2bdb2..833c14fbf 100644
--- a/examples/stm32l0/src/bin/blinky.rs
+++ b/examples/stm32l0/src/bin/blinky.rs
@@ -9,7 +9,7 @@
9#[path = "../example_common.rs"] 9#[path = "../example_common.rs"]
10mod example_common; 10mod example_common;
11use embassy_stm32::{ 11use embassy_stm32::{
12 gpio::{Level, Output}, 12 gpio::{Level, Output, Speed},
13 rcc::*, 13 rcc::*,
14}; 14};
15use embedded_hal::digital::v2::OutputPin; 15use embedded_hal::digital::v2::OutputPin;
@@ -25,7 +25,7 @@ fn main() -> ! {
25 25
26 Rcc::new(p.RCC).enable_debug_wfe(&mut p.DBGMCU, true); 26 Rcc::new(p.RCC).enable_debug_wfe(&mut p.DBGMCU, true);
27 27
28 let mut led = Output::new(p.PB5, Level::High); 28 let mut led = Output::new(p.PB5, Level::High, Speed::Low);
29 29
30 loop { 30 loop {
31 info!("high"); 31 info!("high");
diff --git a/examples/stm32l0/src/bin/button.rs b/examples/stm32l0/src/bin/button.rs
index 04c48112a..5f46ec794 100644
--- a/examples/stm32l0/src/bin/button.rs
+++ b/examples/stm32l0/src/bin/button.rs
@@ -9,7 +9,7 @@
9#[path = "../example_common.rs"] 9#[path = "../example_common.rs"]
10mod example_common; 10mod example_common;
11use embassy_stm32::{ 11use embassy_stm32::{
12 gpio::{Input, Level, Output, Pull}, 12 gpio::{Input, Level, Output, Pull, Speed},
13 rcc::*, 13 rcc::*,
14}; 14};
15use embedded_hal::digital::v2::{InputPin, OutputPin}; 15use embedded_hal::digital::v2::{InputPin, OutputPin};
@@ -25,8 +25,8 @@ fn main() -> ! {
25 Rcc::new(p.RCC).enable_debug_wfe(&mut p.DBGMCU, true); 25 Rcc::new(p.RCC).enable_debug_wfe(&mut p.DBGMCU, true);
26 26
27 let button = Input::new(p.PB2, Pull::Up); 27 let button = Input::new(p.PB2, Pull::Up);
28 let mut led1 = Output::new(p.PA5, Level::High); 28 let mut led1 = Output::new(p.PA5, Level::High, Speed::Low);
29 let mut led2 = Output::new(p.PB5, Level::High); 29 let mut led2 = Output::new(p.PB5, Level::High, Speed::Low);
30 30
31 loop { 31 loop {
32 if button.is_high().unwrap() { 32 if button.is_high().unwrap() {
diff --git a/examples/stm32l0/src/bin/spi.rs b/examples/stm32l0/src/bin/spi.rs
index 0e828c436..9bb9b741e 100644
--- a/examples/stm32l0/src/bin/spi.rs
+++ b/examples/stm32l0/src/bin/spi.rs
@@ -9,7 +9,7 @@
9#[path = "../example_common.rs"] 9#[path = "../example_common.rs"]
10mod example_common; 10mod example_common;
11 11
12use embassy_stm32::gpio::{Level, Output}; 12use embassy_stm32::gpio::{Level, Output, Speed};
13use embedded_hal::digital::v2::OutputPin; 13use embedded_hal::digital::v2::OutputPin;
14use example_common::*; 14use example_common::*;
15 15
@@ -36,7 +36,7 @@ fn main() -> ! {
36 Config::default(), 36 Config::default(),
37 ); 37 );
38 38
39 let mut cs = Output::new(p.PA15, Level::High); 39 let mut cs = Output::new(p.PA15, Level::High, Speed::VeryHigh);
40 40
41 loop { 41 loop {
42 let mut buf = [0x0A; 4]; 42 let mut buf = [0x0A; 4];
diff --git a/examples/stm32l4/src/bin/blinky.rs b/examples/stm32l4/src/bin/blinky.rs
index 42c9333f4..ae4b3d1d1 100644
--- a/examples/stm32l4/src/bin/blinky.rs
+++ b/examples/stm32l4/src/bin/blinky.rs
@@ -8,7 +8,7 @@
8 8
9#[path = "../example_common.rs"] 9#[path = "../example_common.rs"]
10mod example_common; 10mod example_common;
11use embassy_stm32::gpio::{Level, Output}; 11use embassy_stm32::gpio::{Level, Output, Speed};
12use embedded_hal::digital::v2::OutputPin; 12use embedded_hal::digital::v2::OutputPin;
13use example_common::*; 13use example_common::*;
14 14
@@ -39,7 +39,7 @@ fn main() -> ! {
39 39
40 let p = embassy_stm32::init(Default::default()); 40 let p = embassy_stm32::init(Default::default());
41 41
42 let mut led = Output::new(p.PB14, Level::High); 42 let mut led = Output::new(p.PB14, Level::High, Speed::Low);
43 43
44 loop { 44 loop {
45 info!("high"); 45 info!("high");
diff --git a/examples/stm32l4/src/bin/button.rs b/examples/stm32l4/src/bin/button.rs
index 962d5aa75..3efeee20f 100644
--- a/examples/stm32l4/src/bin/button.rs
+++ b/examples/stm32l4/src/bin/button.rs
@@ -8,7 +8,7 @@
8 8
9#[path = "../example_common.rs"] 9#[path = "../example_common.rs"]
10mod example_common; 10mod example_common;
11use embassy_stm32::gpio::{Input, Level, Output, Pull}; 11use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed};
12use embedded_hal::digital::v2::{InputPin, OutputPin}; 12use embedded_hal::digital::v2::{InputPin, OutputPin};
13use example_common::*; 13use example_common::*;
14 14
@@ -40,8 +40,8 @@ fn main() -> ! {
40 let p = embassy_stm32::init(Default::default()); 40 let p = embassy_stm32::init(Default::default());
41 41
42 let button = Input::new(p.PC13, Pull::Up); 42 let button = Input::new(p.PC13, Pull::Up);
43 let mut led1 = Output::new(p.PA5, Level::High); 43 let mut led1 = Output::new(p.PA5, Level::High, Speed::Low);
44 let mut led2 = Output::new(p.PB14, Level::High); 44 let mut led2 = Output::new(p.PB14, Level::High, Speed::Low);
45 45
46 loop { 46 loop {
47 if button.is_high().unwrap() { 47 if button.is_high().unwrap() {
diff --git a/examples/stm32l4/src/bin/spi.rs b/examples/stm32l4/src/bin/spi.rs
index 7c672b70d..28c563c19 100644
--- a/examples/stm32l4/src/bin/spi.rs
+++ b/examples/stm32l4/src/bin/spi.rs
@@ -9,7 +9,7 @@
9#[path = "../example_common.rs"] 9#[path = "../example_common.rs"]
10mod example_common; 10mod example_common;
11 11
12use embassy_stm32::gpio::{Level, Output}; 12use embassy_stm32::gpio::{Level, Output, Speed};
13use embedded_hal::digital::v2::OutputPin; 13use embedded_hal::digital::v2::OutputPin;
14use example_common::*; 14use example_common::*;
15 15
@@ -52,7 +52,7 @@ fn main() -> ! {
52 Config::default(), 52 Config::default(),
53 ); 53 );
54 54
55 let mut cs = Output::new(p.PE0, Level::High); 55 let mut cs = Output::new(p.PE0, Level::High, Speed::VeryHigh);
56 56
57 loop { 57 loop {
58 let mut buf = [0x0A; 4]; 58 let mut buf = [0x0A; 4];
diff --git a/examples/stm32wb55/src/bin/blinky.rs b/examples/stm32wb55/src/bin/blinky.rs
index 8ce78a3c3..d53ad611a 100644
--- a/examples/stm32wb55/src/bin/blinky.rs
+++ b/examples/stm32wb55/src/bin/blinky.rs
@@ -8,7 +8,7 @@
8 8
9#[path = "../example_common.rs"] 9#[path = "../example_common.rs"]
10mod example_common; 10mod example_common;
11use embassy_stm32::gpio::{Level, Output}; 11use embassy_stm32::gpio::{Level, Output, Speed};
12use embedded_hal::digital::v2::OutputPin; 12use embedded_hal::digital::v2::OutputPin;
13use example_common::*; 13use example_common::*;
14 14
@@ -28,7 +28,7 @@ fn main() -> ! {
28 28
29 let p = embassy_stm32::init(Default::default()); 29 let p = embassy_stm32::init(Default::default());
30 30
31 let mut led = Output::new(p.PB0, Level::High); 31 let mut led = Output::new(p.PB0, Level::High, Speed::Low);
32 32
33 loop { 33 loop {
34 info!("high"); 34 info!("high");