diff options
| -rw-r--r-- | examples/stm32f3/src/bin/spi_dma.rs | 6 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/spi.rs | 6 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/spi_dma.rs | 6 | ||||
| -rw-r--r-- | examples/stm32l0/src/bin/spi.rs | 6 | ||||
| -rw-r--r-- | examples/stm32l1/src/bin/spi.rs | 6 | ||||
| -rw-r--r-- | examples/stm32l4/src/bin/spi.rs | 6 | ||||
| -rw-r--r-- | examples/stm32l4/src/bin/spi_blocking_async.rs | 6 | ||||
| -rw-r--r-- | examples/stm32l4/src/bin/spi_dma.rs | 14 | ||||
| -rw-r--r-- | tests/stm32/src/bin/spi.rs | 11 | ||||
| -rw-r--r-- | tests/stm32/src/bin/spi_dma.rs | 11 |
10 files changed, 52 insertions, 26 deletions
diff --git a/examples/stm32f3/src/bin/spi_dma.rs b/examples/stm32f3/src/bin/spi_dma.rs index 6a39097d4..a27c1d547 100644 --- a/examples/stm32f3/src/bin/spi_dma.rs +++ b/examples/stm32f3/src/bin/spi_dma.rs | |||
| @@ -8,6 +8,7 @@ use core::str::from_utf8; | |||
| 8 | use defmt::*; | 8 | use defmt::*; |
| 9 | use embassy_executor::Spawner; | 9 | use embassy_executor::Spawner; |
| 10 | use embassy_stm32::spi::{Config, Spi}; | 10 | use embassy_stm32::spi::{Config, Spi}; |
| 11 | use embassy_stm32::time::Hertz; | ||
| 11 | use heapless::String; | 12 | use heapless::String; |
| 12 | use {defmt_rtt as _, panic_probe as _}; | 13 | use {defmt_rtt as _, panic_probe as _}; |
| 13 | 14 | ||
| @@ -16,7 +17,10 @@ async fn main(_spawner: Spawner) { | |||
| 16 | let p = embassy_stm32::init(Default::default()); | 17 | let p = embassy_stm32::init(Default::default()); |
| 17 | info!("Hello World!"); | 18 | info!("Hello World!"); |
| 18 | 19 | ||
| 19 | let mut spi = Spi::new(p.SPI1, p.PB3, p.PB5, p.PB4, p.DMA1_CH3, p.DMA1_CH2, Config::default()); | 20 | let mut spi_config = Config::default(); |
| 21 | spi_config.frequency = Hertz(1_000_000); | ||
| 22 | |||
| 23 | let mut spi = Spi::new(p.SPI1, p.PB3, p.PB5, p.PB4, p.DMA1_CH3, p.DMA1_CH2, spi_config); | ||
| 20 | 24 | ||
| 21 | for n in 0u32.. { | 25 | for n in 0u32.. { |
| 22 | let mut write: String<128> = String::new(); | 26 | let mut write: String<128> = String::new(); |
diff --git a/examples/stm32f4/src/bin/spi.rs b/examples/stm32f4/src/bin/spi.rs index b0c62b3f0..0919e9874 100644 --- a/examples/stm32f4/src/bin/spi.rs +++ b/examples/stm32f4/src/bin/spi.rs | |||
| @@ -7,6 +7,7 @@ use defmt::*; | |||
| 7 | use embassy_stm32::dma::NoDma; | 7 | use embassy_stm32::dma::NoDma; |
| 8 | use embassy_stm32::gpio::{Level, Output, Speed}; | 8 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 9 | use embassy_stm32::spi::{Config, Spi}; | 9 | use embassy_stm32::spi::{Config, Spi}; |
| 10 | use embassy_stm32::time::Hertz; | ||
| 10 | use {defmt_rtt as _, panic_probe as _}; | 11 | use {defmt_rtt as _, panic_probe as _}; |
| 11 | 12 | ||
| 12 | #[entry] | 13 | #[entry] |
| @@ -15,7 +16,10 @@ fn main() -> ! { | |||
| 15 | 16 | ||
| 16 | let p = embassy_stm32::init(Default::default()); | 17 | let p = embassy_stm32::init(Default::default()); |
| 17 | 18 | ||
| 18 | let mut spi = Spi::new(p.SPI3, p.PC10, p.PC12, p.PC11, NoDma, NoDma, Config::default()); | 19 | let mut spi_config = Config::default(); |
| 20 | spi_config.frequency = Hertz(1_000_000); | ||
| 21 | |||
| 22 | let mut spi = Spi::new(p.SPI3, p.PC10, p.PC12, p.PC11, NoDma, NoDma, spi_config); | ||
| 19 | 23 | ||
| 20 | let mut cs = Output::new(p.PE0, Level::High, Speed::VeryHigh); | 24 | let mut cs = Output::new(p.PE0, Level::High, Speed::VeryHigh); |
| 21 | 25 | ||
diff --git a/examples/stm32f4/src/bin/spi_dma.rs b/examples/stm32f4/src/bin/spi_dma.rs index 4edea93a8..f291f7dba 100644 --- a/examples/stm32f4/src/bin/spi_dma.rs +++ b/examples/stm32f4/src/bin/spi_dma.rs | |||
| @@ -8,6 +8,7 @@ use core::str::from_utf8; | |||
| 8 | use defmt::*; | 8 | use defmt::*; |
| 9 | use embassy_executor::Spawner; | 9 | use embassy_executor::Spawner; |
| 10 | use embassy_stm32::spi::{Config, Spi}; | 10 | use embassy_stm32::spi::{Config, Spi}; |
| 11 | use embassy_stm32::time::Hertz; | ||
| 11 | use heapless::String; | 12 | use heapless::String; |
| 12 | use {defmt_rtt as _, panic_probe as _}; | 13 | use {defmt_rtt as _, panic_probe as _}; |
| 13 | 14 | ||
| @@ -16,7 +17,10 @@ async fn main(_spawner: Spawner) { | |||
| 16 | let p = embassy_stm32::init(Default::default()); | 17 | let p = embassy_stm32::init(Default::default()); |
| 17 | info!("Hello World!"); | 18 | info!("Hello World!"); |
| 18 | 19 | ||
| 19 | let mut spi = Spi::new(p.SPI1, p.PB3, p.PB5, p.PB4, p.DMA2_CH3, p.DMA2_CH2, Config::default()); | 20 | let mut spi_config = Config::default(); |
| 21 | spi_config.frequency = Hertz(1_000_000); | ||
| 22 | |||
| 23 | let mut spi = Spi::new(p.SPI1, p.PB3, p.PB5, p.PB4, p.DMA2_CH3, p.DMA2_CH2, spi_config); | ||
| 20 | 24 | ||
| 21 | for n in 0u32.. { | 25 | for n in 0u32.. { |
| 22 | let mut write: String<128> = String::new(); | 26 | let mut write: String<128> = String::new(); |
diff --git a/examples/stm32l0/src/bin/spi.rs b/examples/stm32l0/src/bin/spi.rs index 24ea9a681..583e3d127 100644 --- a/examples/stm32l0/src/bin/spi.rs +++ b/examples/stm32l0/src/bin/spi.rs | |||
| @@ -7,6 +7,7 @@ use embassy_executor::Spawner; | |||
| 7 | use embassy_stm32::dma::NoDma; | 7 | use embassy_stm32::dma::NoDma; |
| 8 | use embassy_stm32::gpio::{Level, Output, Speed}; | 8 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 9 | use embassy_stm32::spi::{Config, Spi}; | 9 | use embassy_stm32::spi::{Config, Spi}; |
| 10 | use embassy_stm32::time::Hertz; | ||
| 10 | use {defmt_rtt as _, panic_probe as _}; | 11 | use {defmt_rtt as _, panic_probe as _}; |
| 11 | 12 | ||
| 12 | #[embassy_executor::main] | 13 | #[embassy_executor::main] |
| @@ -14,7 +15,10 @@ async fn main(_spawner: Spawner) { | |||
| 14 | let p = embassy_stm32::init(Default::default()); | 15 | let p = embassy_stm32::init(Default::default()); |
| 15 | info!("Hello World, folks!"); | 16 | info!("Hello World, folks!"); |
| 16 | 17 | ||
| 17 | let mut spi = Spi::new(p.SPI1, p.PB3, p.PA7, p.PA6, NoDma, NoDma, Config::default()); | 18 | let mut spi_config = Config::default(); |
| 19 | spi_config.frequency = Hertz(1_000_000); | ||
| 20 | |||
| 21 | let mut spi = Spi::new(p.SPI1, p.PB3, p.PA7, p.PA6, NoDma, NoDma, spi_config); | ||
| 18 | 22 | ||
| 19 | let mut cs = Output::new(p.PA15, Level::High, Speed::VeryHigh); | 23 | let mut cs = Output::new(p.PA15, Level::High, Speed::VeryHigh); |
| 20 | 24 | ||
diff --git a/examples/stm32l1/src/bin/spi.rs b/examples/stm32l1/src/bin/spi.rs index 535231402..905b4d75c 100644 --- a/examples/stm32l1/src/bin/spi.rs +++ b/examples/stm32l1/src/bin/spi.rs | |||
| @@ -7,6 +7,7 @@ use embassy_executor::Spawner; | |||
| 7 | use embassy_stm32::dma::NoDma; | 7 | use embassy_stm32::dma::NoDma; |
| 8 | use embassy_stm32::gpio::{Level, Output, Speed}; | 8 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 9 | use embassy_stm32::spi::{Config, Spi}; | 9 | use embassy_stm32::spi::{Config, Spi}; |
| 10 | use embassy_stm32::time::Hertz; | ||
| 10 | use {defmt_rtt as _, panic_probe as _}; | 11 | use {defmt_rtt as _, panic_probe as _}; |
| 11 | 12 | ||
| 12 | #[embassy_executor::main] | 13 | #[embassy_executor::main] |
| @@ -14,7 +15,10 @@ async fn main(_spawner: Spawner) { | |||
| 14 | let p = embassy_stm32::init(Default::default()); | 15 | let p = embassy_stm32::init(Default::default()); |
| 15 | info!("Hello World, folks!"); | 16 | info!("Hello World, folks!"); |
| 16 | 17 | ||
| 17 | let mut spi = Spi::new(p.SPI1, p.PA5, p.PA7, p.PA6, NoDma, NoDma, Config::default()); | 18 | let mut spi_config = Config::default(); |
| 19 | spi_config.frequency = Hertz(1_000_000); | ||
| 20 | |||
| 21 | let mut spi = Spi::new(p.SPI1, p.PA5, p.PA7, p.PA6, NoDma, NoDma, spi_config); | ||
| 18 | 22 | ||
| 19 | let mut cs = Output::new(p.PA4, Level::High, Speed::VeryHigh); | 23 | let mut cs = Output::new(p.PA4, Level::High, Speed::VeryHigh); |
| 20 | 24 | ||
diff --git a/examples/stm32l4/src/bin/spi.rs b/examples/stm32l4/src/bin/spi.rs index a3097fb48..54cf68f7b 100644 --- a/examples/stm32l4/src/bin/spi.rs +++ b/examples/stm32l4/src/bin/spi.rs | |||
| @@ -6,6 +6,7 @@ use defmt::*; | |||
| 6 | use embassy_stm32::dma::NoDma; | 6 | use embassy_stm32::dma::NoDma; |
| 7 | use embassy_stm32::gpio::{Level, Output, Speed}; | 7 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 8 | use embassy_stm32::spi::{Config, Spi}; | 8 | use embassy_stm32::spi::{Config, Spi}; |
| 9 | use embassy_stm32::time::Hertz; | ||
| 9 | use {defmt_rtt as _, panic_probe as _}; | 10 | use {defmt_rtt as _, panic_probe as _}; |
| 10 | 11 | ||
| 11 | #[cortex_m_rt::entry] | 12 | #[cortex_m_rt::entry] |
| @@ -14,7 +15,10 @@ fn main() -> ! { | |||
| 14 | 15 | ||
| 15 | let p = embassy_stm32::init(Default::default()); | 16 | let p = embassy_stm32::init(Default::default()); |
| 16 | 17 | ||
| 17 | let mut spi = Spi::new(p.SPI3, p.PC10, p.PC12, p.PC11, NoDma, NoDma, Config::default()); | 18 | let mut spi_config = Config::default(); |
| 19 | spi_config.frequency = Hertz(1_000_000); | ||
| 20 | |||
| 21 | let mut spi = Spi::new(p.SPI3, p.PC10, p.PC12, p.PC11, NoDma, NoDma, spi_config); | ||
| 18 | 22 | ||
| 19 | let mut cs = Output::new(p.PE0, Level::High, Speed::VeryHigh); | 23 | let mut cs = Output::new(p.PE0, Level::High, Speed::VeryHigh); |
| 20 | 24 | ||
diff --git a/examples/stm32l4/src/bin/spi_blocking_async.rs b/examples/stm32l4/src/bin/spi_blocking_async.rs index 45af8a9f4..f1b80087c 100644 --- a/examples/stm32l4/src/bin/spi_blocking_async.rs +++ b/examples/stm32l4/src/bin/spi_blocking_async.rs | |||
| @@ -8,6 +8,7 @@ use embassy_executor::Spawner; | |||
| 8 | use embassy_stm32::dma::NoDma; | 8 | use embassy_stm32::dma::NoDma; |
| 9 | use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; | 9 | use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; |
| 10 | use embassy_stm32::spi::{Config, Spi}; | 10 | use embassy_stm32::spi::{Config, Spi}; |
| 11 | use embassy_stm32::time::Hertz; | ||
| 11 | use embedded_hal_async::spi::SpiBus; | 12 | use embedded_hal_async::spi::SpiBus; |
| 12 | use {defmt_rtt as _, panic_probe as _}; | 13 | use {defmt_rtt as _, panic_probe as _}; |
| 13 | 14 | ||
| @@ -16,7 +17,10 @@ async fn main(_spawner: Spawner) { | |||
| 16 | let p = embassy_stm32::init(Default::default()); | 17 | let p = embassy_stm32::init(Default::default()); |
| 17 | info!("Hello World!"); | 18 | info!("Hello World!"); |
| 18 | 19 | ||
| 19 | let spi = Spi::new(p.SPI3, p.PC10, p.PC12, p.PC11, NoDma, NoDma, Config::default()); | 20 | let mut spi_config = Config::default(); |
| 21 | spi_config.frequency = Hertz(1_000_000); | ||
| 22 | |||
| 23 | let spi = Spi::new(p.SPI3, p.PC10, p.PC12, p.PC11, NoDma, NoDma, spi_config); | ||
| 20 | 24 | ||
| 21 | let mut spi = BlockingAsync::new(spi); | 25 | let mut spi = BlockingAsync::new(spi); |
| 22 | 26 | ||
diff --git a/examples/stm32l4/src/bin/spi_dma.rs b/examples/stm32l4/src/bin/spi_dma.rs index 01265c49b..ff9b5b43b 100644 --- a/examples/stm32l4/src/bin/spi_dma.rs +++ b/examples/stm32l4/src/bin/spi_dma.rs | |||
| @@ -6,6 +6,7 @@ use defmt::*; | |||
| 6 | use embassy_executor::Spawner; | 6 | use embassy_executor::Spawner; |
| 7 | use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; | 7 | use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; |
| 8 | use embassy_stm32::spi::{Config, Spi}; | 8 | use embassy_stm32::spi::{Config, Spi}; |
| 9 | use embassy_stm32::time::Hertz; | ||
| 9 | use {defmt_rtt as _, panic_probe as _}; | 10 | use {defmt_rtt as _, panic_probe as _}; |
| 10 | 11 | ||
| 11 | #[embassy_executor::main] | 12 | #[embassy_executor::main] |
| @@ -13,15 +14,10 @@ async fn main(_spawner: Spawner) { | |||
| 13 | let p = embassy_stm32::init(Default::default()); | 14 | let p = embassy_stm32::init(Default::default()); |
| 14 | info!("Hello World!"); | 15 | info!("Hello World!"); |
| 15 | 16 | ||
| 16 | let mut spi = Spi::new( | 17 | let mut spi_config = Config::default(); |
| 17 | p.SPI3, | 18 | spi_config.frequency = Hertz(1_000_000); |
| 18 | p.PC10, | 19 | |
| 19 | p.PC12, | 20 | let mut spi = Spi::new(p.SPI3, p.PC10, p.PC12, p.PC11, p.DMA1_CH1, p.DMA1_CH2, spi_config); |
| 20 | p.PC11, | ||
| 21 | p.DMA1_CH1, | ||
| 22 | p.DMA1_CH2, | ||
| 23 | Config::default(), | ||
| 24 | ); | ||
| 25 | 21 | ||
| 26 | // These are the pins for the Inventek eS-Wifi SPI Wifi Adapter. | 22 | // These are the pins for the Inventek eS-Wifi SPI Wifi Adapter. |
| 27 | 23 | ||
diff --git a/tests/stm32/src/bin/spi.rs b/tests/stm32/src/bin/spi.rs index 7c2425fc3..e51dd5bf2 100644 --- a/tests/stm32/src/bin/spi.rs +++ b/tests/stm32/src/bin/spi.rs | |||
| @@ -9,6 +9,7 @@ use defmt::assert_eq; | |||
| 9 | use embassy_executor::Spawner; | 9 | use embassy_executor::Spawner; |
| 10 | use embassy_stm32::dma::NoDma; | 10 | use embassy_stm32::dma::NoDma; |
| 11 | use embassy_stm32::spi::{self, Spi}; | 11 | use embassy_stm32::spi::{self, Spi}; |
| 12 | use embassy_stm32::time::Hertz; | ||
| 12 | 13 | ||
| 13 | #[embassy_executor::main] | 14 | #[embassy_executor::main] |
| 14 | async fn main(_spawner: Spawner) { | 15 | async fn main(_spawner: Spawner) { |
| @@ -34,14 +35,14 @@ async fn main(_spawner: Spawner) { | |||
| 34 | #[cfg(feature = "stm32c031c6")] | 35 | #[cfg(feature = "stm32c031c6")] |
| 35 | let (spi, sck, mosi, miso) = (p.SPI1, p.PA5, p.PA7, p.PA6); | 36 | let (spi, sck, mosi, miso) = (p.SPI1, p.PA5, p.PA7, p.PA6); |
| 36 | 37 | ||
| 38 | let mut spi_config = spi::Config::default(); | ||
| 39 | spi_config.frequency = Hertz(1_000_000); | ||
| 40 | |||
| 37 | let mut spi = Spi::new( | 41 | let mut spi = Spi::new( |
| 38 | spi, | 42 | spi, sck, // Arduino D13 |
| 39 | sck, // Arduino D13 | ||
| 40 | mosi, // Arduino D11 | 43 | mosi, // Arduino D11 |
| 41 | miso, // Arduino D12 | 44 | miso, // Arduino D12 |
| 42 | NoDma, | 45 | NoDma, NoDma, spi_config, |
| 43 | NoDma, | ||
| 44 | spi::Config::default(), | ||
| 45 | ); | 46 | ); |
| 46 | 47 | ||
| 47 | let data: [u8; 9] = [0x00, 0xFF, 0xAA, 0x55, 0xC0, 0xFF, 0xEE, 0xC0, 0xDE]; | 48 | let data: [u8; 9] = [0x00, 0xFF, 0xAA, 0x55, 0xC0, 0xFF, 0xEE, 0xC0, 0xDE]; |
diff --git a/tests/stm32/src/bin/spi_dma.rs b/tests/stm32/src/bin/spi_dma.rs index e70c09f71..d45cbe45b 100644 --- a/tests/stm32/src/bin/spi_dma.rs +++ b/tests/stm32/src/bin/spi_dma.rs | |||
| @@ -8,6 +8,7 @@ use common::*; | |||
| 8 | use defmt::assert_eq; | 8 | use defmt::assert_eq; |
| 9 | use embassy_executor::Spawner; | 9 | use embassy_executor::Spawner; |
| 10 | use embassy_stm32::spi::{self, Spi}; | 10 | use embassy_stm32::spi::{self, Spi}; |
| 11 | use embassy_stm32::time::Hertz; | ||
| 11 | 12 | ||
| 12 | #[embassy_executor::main] | 13 | #[embassy_executor::main] |
| 13 | async fn main(_spawner: Spawner) { | 14 | async fn main(_spawner: Spawner) { |
| @@ -33,14 +34,14 @@ async fn main(_spawner: Spawner) { | |||
| 33 | #[cfg(feature = "stm32c031c6")] | 34 | #[cfg(feature = "stm32c031c6")] |
| 34 | let (spi, sck, mosi, miso, tx_dma, rx_dma) = (p.SPI1, p.PA5, p.PA7, p.PA6, p.DMA1_CH1, p.DMA1_CH2); | 35 | let (spi, sck, mosi, miso, tx_dma, rx_dma) = (p.SPI1, p.PA5, p.PA7, p.PA6, p.DMA1_CH1, p.DMA1_CH2); |
| 35 | 36 | ||
| 37 | let mut spi_config = spi::Config::default(); | ||
| 38 | spi_config.frequency = Hertz(1_000_000); | ||
| 39 | |||
| 36 | let mut spi = Spi::new( | 40 | let mut spi = Spi::new( |
| 37 | spi, | 41 | spi, sck, // Arduino D13 |
| 38 | sck, // Arduino D13 | ||
| 39 | mosi, // Arduino D11 | 42 | mosi, // Arduino D11 |
| 40 | miso, // Arduino D12 | 43 | miso, // Arduino D12 |
| 41 | tx_dma, | 44 | tx_dma, rx_dma, spi_config, |
| 42 | rx_dma, | ||
| 43 | spi::Config::default(), | ||
| 44 | ); | 45 | ); |
| 45 | 46 | ||
| 46 | let data: [u8; 9] = [0x00, 0xFF, 0xAA, 0x55, 0xC0, 0xFF, 0xEE, 0xC0, 0xDE]; | 47 | let data: [u8; 9] = [0x00, 0xFF, 0xAA, 0x55, 0xC0, 0xFF, 0xEE, 0xC0, 0xDE]; |
