diff options
| author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2022-01-19 20:47:07 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-01-19 20:47:07 +0000 |
| commit | 6b0cb0609b4bfa3e464e4603ce373a9de9886103 (patch) | |
| tree | 70a6590ad9da8c625eb69c21faddb5721bfbcea4 /examples/stm32l4/src | |
| parent | 071b034a5dbece727b28aee6362e36d66bcb763b (diff) | |
| parent | 889d757ab8bcfc10caf0a7d75ffb7733a7e71ed1 (diff) | |
Merge #581
581: stm32: expose all functionality as inherent methods. r=Dirbaio a=Dirbaio
This is the previous step to implementing both the embedded-hal 0.2 and embedded-hal 1.0 + embedded-hal-async traits.
The equivalent in nrf was done in #552
- Removes need for `unwrap` in gpio.
- Removes need for `use embedded_hal::whatever` in all cases.
Co-authored-by: Dario Nieuwenhuis <[email protected]>
Diffstat (limited to 'examples/stm32l4/src')
| -rw-r--r-- | examples/stm32l4/src/bin/blinky.rs | 5 | ||||
| -rw-r--r-- | examples/stm32l4/src/bin/button.rs | 3 | ||||
| -rw-r--r-- | examples/stm32l4/src/bin/button_exti.rs | 1 | ||||
| -rw-r--r-- | examples/stm32l4/src/bin/i2c.rs | 3 | ||||
| -rw-r--r-- | examples/stm32l4/src/bin/i2c_dma.rs | 1 | ||||
| -rw-r--r-- | examples/stm32l4/src/bin/spi.rs | 8 | ||||
| -rw-r--r-- | examples/stm32l4/src/bin/spi_blocking_async.rs | 9 | ||||
| -rw-r--r-- | examples/stm32l4/src/bin/spi_dma.rs | 9 | ||||
| -rw-r--r-- | examples/stm32l4/src/bin/usart.rs | 7 | ||||
| -rw-r--r-- | examples/stm32l4/src/bin/usart_dma.rs | 1 |
10 files changed, 18 insertions, 29 deletions
diff --git a/examples/stm32l4/src/bin/blinky.rs b/examples/stm32l4/src/bin/blinky.rs index 8a65858f8..030283756 100644 --- a/examples/stm32l4/src/bin/blinky.rs +++ b/examples/stm32l4/src/bin/blinky.rs | |||
| @@ -8,7 +8,6 @@ use embassy::executor::Spawner; | |||
| 8 | use embassy::time::{Duration, Timer}; | 8 | use embassy::time::{Duration, Timer}; |
| 9 | use embassy_stm32::gpio::{Level, Output, Speed}; | 9 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | use embedded_hal::digital::v2::OutputPin; | ||
| 12 | use example_common::*; | 11 | use example_common::*; |
| 13 | 12 | ||
| 14 | #[embassy::main] | 13 | #[embassy::main] |
| @@ -18,9 +17,9 @@ async fn main(_spawner: Spawner, p: Peripherals) { | |||
| 18 | let mut led = Output::new(p.PB14, Level::High, Speed::Low); | 17 | let mut led = Output::new(p.PB14, Level::High, Speed::Low); |
| 19 | 18 | ||
| 20 | loop { | 19 | loop { |
| 21 | unwrap!(led.set_high()); | 20 | led.set_high(); |
| 22 | Timer::after(Duration::from_millis(300)).await; | 21 | Timer::after(Duration::from_millis(300)).await; |
| 23 | unwrap!(led.set_low()); | 22 | led.set_low(); |
| 24 | Timer::after(Duration::from_millis(300)).await; | 23 | Timer::after(Duration::from_millis(300)).await; |
| 25 | } | 24 | } |
| 26 | } | 25 | } |
diff --git a/examples/stm32l4/src/bin/button.rs b/examples/stm32l4/src/bin/button.rs index fd8674549..6073c137e 100644 --- a/examples/stm32l4/src/bin/button.rs +++ b/examples/stm32l4/src/bin/button.rs | |||
| @@ -5,7 +5,6 @@ | |||
| 5 | #[path = "../example_common.rs"] | 5 | #[path = "../example_common.rs"] |
| 6 | mod example_common; | 6 | mod example_common; |
| 7 | use embassy_stm32::gpio::{Input, Pull}; | 7 | use embassy_stm32::gpio::{Input, Pull}; |
| 8 | use embedded_hal::digital::v2::InputPin; | ||
| 9 | use example_common::*; | 8 | use example_common::*; |
| 10 | 9 | ||
| 11 | #[cortex_m_rt::entry] | 10 | #[cortex_m_rt::entry] |
| @@ -17,7 +16,7 @@ fn main() -> ! { | |||
| 17 | let button = Input::new(p.PC13, Pull::Up); | 16 | let button = Input::new(p.PC13, Pull::Up); |
| 18 | 17 | ||
| 19 | loop { | 18 | loop { |
| 20 | if unwrap!(button.is_high()) { | 19 | if button.is_high() { |
| 21 | info!("high"); | 20 | info!("high"); |
| 22 | } else { | 21 | } else { |
| 23 | info!("low"); | 22 | info!("low"); |
diff --git a/examples/stm32l4/src/bin/button_exti.rs b/examples/stm32l4/src/bin/button_exti.rs index 0c2483ecb..848818bf2 100644 --- a/examples/stm32l4/src/bin/button_exti.rs +++ b/examples/stm32l4/src/bin/button_exti.rs | |||
| @@ -8,7 +8,6 @@ use embassy::executor::Spawner; | |||
| 8 | use embassy_stm32::exti::ExtiInput; | 8 | use embassy_stm32::exti::ExtiInput; |
| 9 | use embassy_stm32::gpio::{Input, Pull}; | 9 | use embassy_stm32::gpio::{Input, Pull}; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | use embassy_traits::gpio::{WaitForFallingEdge, WaitForRisingEdge}; | ||
| 12 | use example_common::*; | 11 | use example_common::*; |
| 13 | 12 | ||
| 14 | #[embassy::main] | 13 | #[embassy::main] |
diff --git a/examples/stm32l4/src/bin/i2c.rs b/examples/stm32l4/src/bin/i2c.rs index 86215697b..615012a06 100644 --- a/examples/stm32l4/src/bin/i2c.rs +++ b/examples/stm32l4/src/bin/i2c.rs | |||
| @@ -11,7 +11,6 @@ use embassy_stm32::i2c::I2c; | |||
| 11 | use embassy_stm32::interrupt; | 11 | use embassy_stm32::interrupt; |
| 12 | use embassy_stm32::time::Hertz; | 12 | use embassy_stm32::time::Hertz; |
| 13 | use embassy_stm32::Peripherals; | 13 | use embassy_stm32::Peripherals; |
| 14 | use embedded_hal::blocking::i2c::WriteRead; | ||
| 15 | use example_common::{info, unwrap}; | 14 | use example_common::{info, unwrap}; |
| 16 | 15 | ||
| 17 | const ADDRESS: u8 = 0x5F; | 16 | const ADDRESS: u8 = 0x5F; |
| @@ -23,6 +22,6 @@ async fn main(_spawner: Spawner, p: Peripherals) -> ! { | |||
| 23 | let mut i2c = I2c::new(p.I2C2, p.PB10, p.PB11, irq, NoDma, NoDma, Hertz(100_000)); | 22 | let mut i2c = I2c::new(p.I2C2, p.PB10, p.PB11, irq, NoDma, NoDma, Hertz(100_000)); |
| 24 | 23 | ||
| 25 | let mut data = [0u8; 1]; | 24 | let mut data = [0u8; 1]; |
| 26 | unwrap!(i2c.write_read(ADDRESS, &[WHOAMI], &mut data)); | 25 | unwrap!(i2c.blocking_write_read(ADDRESS, &[WHOAMI], &mut data)); |
| 27 | info!("Whoami: {}", data[0]); | 26 | info!("Whoami: {}", data[0]); |
| 28 | } | 27 | } |
diff --git a/examples/stm32l4/src/bin/i2c_dma.rs b/examples/stm32l4/src/bin/i2c_dma.rs index b0596aab8..d77bee8c1 100644 --- a/examples/stm32l4/src/bin/i2c_dma.rs +++ b/examples/stm32l4/src/bin/i2c_dma.rs | |||
| @@ -6,7 +6,6 @@ | |||
| 6 | mod example_common; | 6 | mod example_common; |
| 7 | 7 | ||
| 8 | use embassy::executor::Spawner; | 8 | use embassy::executor::Spawner; |
| 9 | use embassy::traits::i2c::I2c as I2cTrait; | ||
| 10 | use embassy_stm32::i2c::I2c; | 9 | use embassy_stm32::i2c::I2c; |
| 11 | use embassy_stm32::interrupt; | 10 | use embassy_stm32::interrupt; |
| 12 | use embassy_stm32::time::Hertz; | 11 | use embassy_stm32::time::Hertz; |
diff --git a/examples/stm32l4/src/bin/spi.rs b/examples/stm32l4/src/bin/spi.rs index 5b9ae1ce0..8567d3062 100644 --- a/examples/stm32l4/src/bin/spi.rs +++ b/examples/stm32l4/src/bin/spi.rs | |||
| @@ -9,8 +9,6 @@ use embassy_stm32::dma::NoDma; | |||
| 9 | use embassy_stm32::gpio::{Level, Output, Speed}; | 9 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 10 | use embassy_stm32::spi::{Config, Spi}; | 10 | use embassy_stm32::spi::{Config, Spi}; |
| 11 | use embassy_stm32::time::Hertz; | 11 | use embassy_stm32::time::Hertz; |
| 12 | use embedded_hal::blocking::spi::Transfer; | ||
| 13 | use embedded_hal::digital::v2::OutputPin; | ||
| 14 | use example_common::*; | 12 | use example_common::*; |
| 15 | 13 | ||
| 16 | #[cortex_m_rt::entry] | 14 | #[cortex_m_rt::entry] |
| @@ -34,9 +32,9 @@ fn main() -> ! { | |||
| 34 | 32 | ||
| 35 | loop { | 33 | loop { |
| 36 | let mut buf = [0x0Au8; 4]; | 34 | let mut buf = [0x0Au8; 4]; |
| 37 | unwrap!(cs.set_low()); | 35 | cs.set_low(); |
| 38 | unwrap!(spi.transfer(&mut buf)); | 36 | unwrap!(spi.blocking_transfer_in_place(&mut buf)); |
| 39 | unwrap!(cs.set_high()); | 37 | cs.set_high(); |
| 40 | info!("xfer {=[u8]:x}", buf); | 38 | info!("xfer {=[u8]:x}", buf); |
| 41 | } | 39 | } |
| 42 | } | 40 | } |
diff --git a/examples/stm32l4/src/bin/spi_blocking_async.rs b/examples/stm32l4/src/bin/spi_blocking_async.rs index f092706d4..3be3f21c9 100644 --- a/examples/stm32l4/src/bin/spi_blocking_async.rs +++ b/examples/stm32l4/src/bin/spi_blocking_async.rs | |||
| @@ -12,7 +12,6 @@ use embassy_stm32::spi::{Config, Spi}; | |||
| 12 | use embassy_stm32::time::Hertz; | 12 | use embassy_stm32::time::Hertz; |
| 13 | use embassy_stm32::Peripherals; | 13 | use embassy_stm32::Peripherals; |
| 14 | use embassy_traits::{adapter::BlockingAsync, spi::FullDuplex}; | 14 | use embassy_traits::{adapter::BlockingAsync, spi::FullDuplex}; |
| 15 | use embedded_hal::digital::v2::{InputPin, OutputPin}; | ||
| 16 | use example_common::*; | 15 | use example_common::*; |
| 17 | 16 | ||
| 18 | #[embassy::main] | 17 | #[embassy::main] |
| @@ -41,17 +40,17 @@ async fn main(_spawner: Spawner, p: Peripherals) { | |||
| 41 | let ready = Input::new(p.PE1, Pull::Up); | 40 | let ready = Input::new(p.PE1, Pull::Up); |
| 42 | 41 | ||
| 43 | cortex_m::asm::delay(100_000); | 42 | cortex_m::asm::delay(100_000); |
| 44 | unwrap!(reset.set_high()); | 43 | reset.set_high(); |
| 45 | cortex_m::asm::delay(100_000); | 44 | cortex_m::asm::delay(100_000); |
| 46 | 45 | ||
| 47 | while unwrap!(ready.is_low()) { | 46 | while ready.is_low() { |
| 48 | info!("waiting for ready"); | 47 | info!("waiting for ready"); |
| 49 | } | 48 | } |
| 50 | 49 | ||
| 51 | let write = [0x0A; 10]; | 50 | let write = [0x0A; 10]; |
| 52 | let mut read = [0; 10]; | 51 | let mut read = [0; 10]; |
| 53 | unwrap!(cs.set_low()); | 52 | cs.set_low(); |
| 54 | spi.read_write(&mut read, &write).await.ok(); | 53 | spi.read_write(&mut read, &write).await.ok(); |
| 55 | unwrap!(cs.set_high()); | 54 | cs.set_high(); |
| 56 | info!("xfer {=[u8]:x}", read); | 55 | info!("xfer {=[u8]:x}", read); |
| 57 | } | 56 | } |
diff --git a/examples/stm32l4/src/bin/spi_dma.rs b/examples/stm32l4/src/bin/spi_dma.rs index 4b74c7d7d..d6464bbfa 100644 --- a/examples/stm32l4/src/bin/spi_dma.rs +++ b/examples/stm32l4/src/bin/spi_dma.rs | |||
| @@ -11,7 +11,6 @@ use embassy_stm32::spi::{Config, Spi}; | |||
| 11 | use embassy_stm32::time::Hertz; | 11 | use embassy_stm32::time::Hertz; |
| 12 | use embassy_stm32::Peripherals; | 12 | use embassy_stm32::Peripherals; |
| 13 | use embassy_traits::spi::FullDuplex; | 13 | use embassy_traits::spi::FullDuplex; |
| 14 | use embedded_hal::digital::v2::{InputPin, OutputPin}; | ||
| 15 | use example_common::*; | 14 | use example_common::*; |
| 16 | 15 | ||
| 17 | #[embassy::main] | 16 | #[embassy::main] |
| @@ -38,17 +37,17 @@ async fn main(_spawner: Spawner, p: Peripherals) { | |||
| 38 | let ready = Input::new(p.PE1, Pull::Up); | 37 | let ready = Input::new(p.PE1, Pull::Up); |
| 39 | 38 | ||
| 40 | cortex_m::asm::delay(100_000); | 39 | cortex_m::asm::delay(100_000); |
| 41 | unwrap!(reset.set_high()); | 40 | reset.set_high(); |
| 42 | cortex_m::asm::delay(100_000); | 41 | cortex_m::asm::delay(100_000); |
| 43 | 42 | ||
| 44 | while unwrap!(ready.is_low()) { | 43 | while ready.is_low() { |
| 45 | info!("waiting for ready"); | 44 | info!("waiting for ready"); |
| 46 | } | 45 | } |
| 47 | 46 | ||
| 48 | let write = [0x0A; 10]; | 47 | let write = [0x0A; 10]; |
| 49 | let mut read = [0; 10]; | 48 | let mut read = [0; 10]; |
| 50 | unwrap!(cs.set_low()); | 49 | cs.set_low(); |
| 51 | spi.read_write(&mut read, &write).await.ok(); | 50 | spi.read_write(&mut read, &write).await.ok(); |
| 52 | unwrap!(cs.set_high()); | 51 | cs.set_high(); |
| 53 | info!("xfer {=[u8]:x}", read); | 52 | info!("xfer {=[u8]:x}", read); |
| 54 | } | 53 | } |
diff --git a/examples/stm32l4/src/bin/usart.rs b/examples/stm32l4/src/bin/usart.rs index b6decbc9d..00875c896 100644 --- a/examples/stm32l4/src/bin/usart.rs +++ b/examples/stm32l4/src/bin/usart.rs | |||
| @@ -7,7 +7,6 @@ mod example_common; | |||
| 7 | 7 | ||
| 8 | use embassy_stm32::dma::NoDma; | 8 | use embassy_stm32::dma::NoDma; |
| 9 | use embassy_stm32::usart::{Config, Uart}; | 9 | use embassy_stm32::usart::{Config, Uart}; |
| 10 | use embedded_hal::blocking::serial::Write; | ||
| 11 | use example_common::*; | 10 | use example_common::*; |
| 12 | 11 | ||
| 13 | #[cortex_m_rt::entry] | 12 | #[cortex_m_rt::entry] |
| @@ -19,12 +18,12 @@ fn main() -> ! { | |||
| 19 | let config = Config::default(); | 18 | let config = Config::default(); |
| 20 | let mut usart = Uart::new(p.UART4, p.PA1, p.PA0, NoDma, NoDma, config); | 19 | let mut usart = Uart::new(p.UART4, p.PA1, p.PA0, NoDma, NoDma, config); |
| 21 | 20 | ||
| 22 | unwrap!(usart.bwrite_all(b"Hello Embassy World!\r\n")); | 21 | unwrap!(usart.blocking_write(b"Hello Embassy World!\r\n")); |
| 23 | info!("wrote Hello, starting echo"); | 22 | info!("wrote Hello, starting echo"); |
| 24 | 23 | ||
| 25 | let mut buf = [0u8; 1]; | 24 | let mut buf = [0u8; 1]; |
| 26 | loop { | 25 | loop { |
| 27 | unwrap!(usart.read_blocking(&mut buf)); | 26 | unwrap!(usart.blocking_read(&mut buf)); |
| 28 | unwrap!(usart.bwrite_all(&buf)); | 27 | unwrap!(usart.blocking_write(&buf)); |
| 29 | } | 28 | } |
| 30 | } | 29 | } |
diff --git a/examples/stm32l4/src/bin/usart_dma.rs b/examples/stm32l4/src/bin/usart_dma.rs index b49d3d882..b3a1e3897 100644 --- a/examples/stm32l4/src/bin/usart_dma.rs +++ b/examples/stm32l4/src/bin/usart_dma.rs | |||
| @@ -9,7 +9,6 @@ use embassy::executor::Spawner; | |||
| 9 | use embassy_stm32::dma::NoDma; | 9 | use embassy_stm32::dma::NoDma; |
| 10 | use embassy_stm32::usart::{Config, Uart}; | 10 | use embassy_stm32::usart::{Config, Uart}; |
| 11 | use embassy_stm32::Peripherals; | 11 | use embassy_stm32::Peripherals; |
| 12 | use embassy_traits::uart::Write as _; | ||
| 13 | use example_common::*; | 12 | use example_common::*; |
| 14 | use heapless::String; | 13 | use heapless::String; |
| 15 | 14 | ||
