diff options
| author | Dario Nieuwenhuis <[email protected]> | 2024-04-15 19:33:12 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-04-15 19:33:12 +0000 |
| commit | d66c054aae616616377c7bcee47f5de8a312d085 (patch) | |
| tree | b0e500a1e063b58cd938194ddae1944947ee262d /examples | |
| parent | 27ba2ad5b0aaf0638aac3b1f141e98f6ff2b84ab (diff) | |
| parent | be087e5d43326178878878bebae96f3b51a3b184 (diff) | |
Merge pull request #2819 from embassy-rs/spi-nodma
stm32/spi: remove DMA generic params.
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/stm32f4/src/bin/spi.rs | 3 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/ws2812_spi.rs | 4 | ||||
| -rw-r--r-- | examples/stm32g0/src/bin/spi_neopixel.rs | 3 | ||||
| -rw-r--r-- | examples/stm32h7/src/bin/spi.rs | 6 | ||||
| -rw-r--r-- | examples/stm32h7/src/bin/spi_dma.rs | 6 | ||||
| -rw-r--r-- | examples/stm32l0/src/bin/spi.rs | 3 | ||||
| -rw-r--r-- | examples/stm32l1/src/bin/spi.rs | 3 | ||||
| -rw-r--r-- | examples/stm32l4/src/bin/spe_adin1110_http_server.rs | 24 | ||||
| -rw-r--r-- | examples/stm32l4/src/bin/spi.rs | 3 | ||||
| -rw-r--r-- | examples/stm32l4/src/bin/spi_blocking_async.rs | 3 |
10 files changed, 25 insertions, 33 deletions
diff --git a/examples/stm32f4/src/bin/spi.rs b/examples/stm32f4/src/bin/spi.rs index dc9141c62..970d819fc 100644 --- a/examples/stm32f4/src/bin/spi.rs +++ b/examples/stm32f4/src/bin/spi.rs | |||
| @@ -3,7 +3,6 @@ | |||
| 3 | 3 | ||
| 4 | use cortex_m_rt::entry; | 4 | use cortex_m_rt::entry; |
| 5 | use defmt::*; | 5 | use defmt::*; |
| 6 | use embassy_stm32::dma::NoDma; | ||
| 7 | use embassy_stm32::gpio::{Level, Output, Speed}; | 6 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 8 | use embassy_stm32::spi::{Config, Spi}; | 7 | use embassy_stm32::spi::{Config, Spi}; |
| 9 | use embassy_stm32::time::Hertz; | 8 | use embassy_stm32::time::Hertz; |
| @@ -18,7 +17,7 @@ fn main() -> ! { | |||
| 18 | let mut spi_config = Config::default(); | 17 | let mut spi_config = Config::default(); |
| 19 | spi_config.frequency = Hertz(1_000_000); | 18 | spi_config.frequency = Hertz(1_000_000); |
| 20 | 19 | ||
| 21 | let mut spi = Spi::new(p.SPI3, p.PC10, p.PC12, p.PC11, NoDma, NoDma, spi_config); | 20 | let mut spi = Spi::new_blocking(p.SPI3, p.PC10, p.PC12, p.PC11, spi_config); |
| 22 | 21 | ||
| 23 | let mut cs = Output::new(p.PE0, Level::High, Speed::VeryHigh); | 22 | let mut cs = Output::new(p.PE0, Level::High, Speed::VeryHigh); |
| 24 | 23 | ||
diff --git a/examples/stm32f4/src/bin/ws2812_spi.rs b/examples/stm32f4/src/bin/ws2812_spi.rs index 56ccb67b8..e00d14327 100644 --- a/examples/stm32f4/src/bin/ws2812_spi.rs +++ b/examples/stm32f4/src/bin/ws2812_spi.rs | |||
| @@ -13,8 +13,8 @@ | |||
| 13 | #![no_std] | 13 | #![no_std] |
| 14 | #![no_main] | 14 | #![no_main] |
| 15 | 15 | ||
| 16 | use embassy_stm32::spi; | ||
| 16 | use embassy_stm32::time::khz; | 17 | use embassy_stm32::time::khz; |
| 17 | use embassy_stm32::{dma, spi}; | ||
| 18 | use embassy_time::{Duration, Ticker, Timer}; | 18 | use embassy_time::{Duration, Ticker, Timer}; |
| 19 | use {defmt_rtt as _, panic_probe as _}; | 19 | use {defmt_rtt as _, panic_probe as _}; |
| 20 | 20 | ||
| @@ -78,7 +78,7 @@ async fn main(_spawner: embassy_executor::Spawner) { | |||
| 78 | spi_config.frequency = khz(12_800); | 78 | spi_config.frequency = khz(12_800); |
| 79 | 79 | ||
| 80 | // Since we only output waveform, then the Rx and Sck and RxDma it is not considered | 80 | // Since we only output waveform, then the Rx and Sck and RxDma it is not considered |
| 81 | let mut ws2812_spi = spi::Spi::new_txonly_nosck(dp.SPI1, dp.PB5, dp.DMA2_CH3, dma::NoDma, spi_config); | 81 | let mut ws2812_spi = spi::Spi::new_txonly_nosck(dp.SPI1, dp.PB5, dp.DMA2_CH3, spi_config); |
| 82 | 82 | ||
| 83 | // flip color at 2 Hz | 83 | // flip color at 2 Hz |
| 84 | let mut ticker = Ticker::every(Duration::from_millis(500)); | 84 | let mut ticker = Ticker::every(Duration::from_millis(500)); |
diff --git a/examples/stm32g0/src/bin/spi_neopixel.rs b/examples/stm32g0/src/bin/spi_neopixel.rs index c5ea51721..2deee271d 100644 --- a/examples/stm32g0/src/bin/spi_neopixel.rs +++ b/examples/stm32g0/src/bin/spi_neopixel.rs | |||
| @@ -4,7 +4,6 @@ | |||
| 4 | use defmt::*; | 4 | use defmt::*; |
| 5 | use embassy_executor::Spawner; | 5 | use embassy_executor::Spawner; |
| 6 | use embassy_stm32::dma::word::U5; | 6 | use embassy_stm32::dma::word::U5; |
| 7 | use embassy_stm32::dma::NoDma; | ||
| 8 | use embassy_stm32::spi::{Config, Spi}; | 7 | use embassy_stm32::spi::{Config, Spi}; |
| 9 | use embassy_stm32::time::Hertz; | 8 | use embassy_stm32::time::Hertz; |
| 10 | use embassy_time::Timer; | 9 | use embassy_time::Timer; |
| @@ -77,7 +76,7 @@ async fn main(_spawner: Spawner) { | |||
| 77 | 76 | ||
| 78 | let mut config = Config::default(); | 77 | let mut config = Config::default(); |
| 79 | config.frequency = Hertz(4_000_000); | 78 | config.frequency = Hertz(4_000_000); |
| 80 | let mut spi = Spi::new_txonly_nosck(p.SPI1, p.PB5, p.DMA1_CH3, NoDma, config); | 79 | let mut spi = Spi::new_txonly_nosck(p.SPI1, p.PB5, p.DMA1_CH3, config); |
| 81 | 80 | ||
| 82 | let mut neopixels = Ws2812::new(); | 81 | let mut neopixels = Ws2812::new(); |
| 83 | 82 | ||
diff --git a/examples/stm32h7/src/bin/spi.rs b/examples/stm32h7/src/bin/spi.rs index aed27723a..aaebdc346 100644 --- a/examples/stm32h7/src/bin/spi.rs +++ b/examples/stm32h7/src/bin/spi.rs | |||
| @@ -7,7 +7,7 @@ use core::str::from_utf8; | |||
| 7 | use cortex_m_rt::entry; | 7 | use cortex_m_rt::entry; |
| 8 | use defmt::*; | 8 | use defmt::*; |
| 9 | use embassy_executor::Executor; | 9 | use embassy_executor::Executor; |
| 10 | use embassy_stm32::dma::NoDma; | 10 | use embassy_stm32::mode::Blocking; |
| 11 | use embassy_stm32::peripherals::SPI3; | 11 | use embassy_stm32::peripherals::SPI3; |
| 12 | use embassy_stm32::time::mhz; | 12 | use embassy_stm32::time::mhz; |
| 13 | use embassy_stm32::{spi, Config}; | 13 | use embassy_stm32::{spi, Config}; |
| @@ -16,7 +16,7 @@ use static_cell::StaticCell; | |||
| 16 | use {defmt_rtt as _, panic_probe as _}; | 16 | use {defmt_rtt as _, panic_probe as _}; |
| 17 | 17 | ||
| 18 | #[embassy_executor::task] | 18 | #[embassy_executor::task] |
| 19 | async fn main_task(mut spi: spi::Spi<'static, SPI3, NoDma, NoDma>) { | 19 | async fn main_task(mut spi: spi::Spi<'static, SPI3, Blocking>) { |
| 20 | for n in 0u32.. { | 20 | for n in 0u32.. { |
| 21 | let mut write: String<128> = String::new(); | 21 | let mut write: String<128> = String::new(); |
| 22 | core::write!(&mut write, "Hello DMA World {}!\r\n", n).unwrap(); | 22 | core::write!(&mut write, "Hello DMA World {}!\r\n", n).unwrap(); |
| @@ -62,7 +62,7 @@ fn main() -> ! { | |||
| 62 | let mut spi_config = spi::Config::default(); | 62 | let mut spi_config = spi::Config::default(); |
| 63 | spi_config.frequency = mhz(1); | 63 | spi_config.frequency = mhz(1); |
| 64 | 64 | ||
| 65 | let spi = spi::Spi::new(p.SPI3, p.PB3, p.PB5, p.PB4, NoDma, NoDma, spi_config); | 65 | let spi = spi::Spi::new_blocking(p.SPI3, p.PB3, p.PB5, p.PB4, spi_config); |
| 66 | 66 | ||
| 67 | let executor = EXECUTOR.init(Executor::new()); | 67 | let executor = EXECUTOR.init(Executor::new()); |
| 68 | 68 | ||
diff --git a/examples/stm32h7/src/bin/spi_dma.rs b/examples/stm32h7/src/bin/spi_dma.rs index 54d4d7656..3d3c724eb 100644 --- a/examples/stm32h7/src/bin/spi_dma.rs +++ b/examples/stm32h7/src/bin/spi_dma.rs | |||
| @@ -7,15 +7,15 @@ use core::str::from_utf8; | |||
| 7 | use cortex_m_rt::entry; | 7 | use cortex_m_rt::entry; |
| 8 | use defmt::*; | 8 | use defmt::*; |
| 9 | use embassy_executor::Executor; | 9 | use embassy_executor::Executor; |
| 10 | use embassy_stm32::peripherals::{DMA1_CH3, DMA1_CH4, SPI3}; | 10 | use embassy_stm32::mode::Async; |
| 11 | use embassy_stm32::time::mhz; | 11 | use embassy_stm32::time::mhz; |
| 12 | use embassy_stm32::{spi, Config}; | 12 | use embassy_stm32::{peripherals, spi, Config}; |
| 13 | use heapless::String; | 13 | use heapless::String; |
| 14 | use static_cell::StaticCell; | 14 | use static_cell::StaticCell; |
| 15 | use {defmt_rtt as _, panic_probe as _}; | 15 | use {defmt_rtt as _, panic_probe as _}; |
| 16 | 16 | ||
| 17 | #[embassy_executor::task] | 17 | #[embassy_executor::task] |
| 18 | async fn main_task(mut spi: spi::Spi<'static, SPI3, DMA1_CH3, DMA1_CH4>) { | 18 | async fn main_task(mut spi: spi::Spi<'static, peripherals::SPI3, Async>) { |
| 19 | for n in 0u32.. { | 19 | for n in 0u32.. { |
| 20 | let mut write: String<128> = String::new(); | 20 | let mut write: String<128> = String::new(); |
| 21 | let mut read = [0; 128]; | 21 | let mut read = [0; 128]; |
diff --git a/examples/stm32l0/src/bin/spi.rs b/examples/stm32l0/src/bin/spi.rs index f23a537b8..8e0cfdedb 100644 --- a/examples/stm32l0/src/bin/spi.rs +++ b/examples/stm32l0/src/bin/spi.rs | |||
| @@ -3,7 +3,6 @@ | |||
| 3 | 3 | ||
| 4 | use defmt::*; | 4 | use defmt::*; |
| 5 | use embassy_executor::Spawner; | 5 | use embassy_executor::Spawner; |
| 6 | use embassy_stm32::dma::NoDma; | ||
| 7 | use embassy_stm32::gpio::{Level, Output, Speed}; | 6 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 8 | use embassy_stm32::spi::{Config, Spi}; | 7 | use embassy_stm32::spi::{Config, Spi}; |
| 9 | use embassy_stm32::time::Hertz; | 8 | use embassy_stm32::time::Hertz; |
| @@ -17,7 +16,7 @@ async fn main(_spawner: Spawner) { | |||
| 17 | let mut spi_config = Config::default(); | 16 | let mut spi_config = Config::default(); |
| 18 | spi_config.frequency = Hertz(1_000_000); | 17 | spi_config.frequency = Hertz(1_000_000); |
| 19 | 18 | ||
| 20 | let mut spi = Spi::new(p.SPI1, p.PB3, p.PA7, p.PA6, NoDma, NoDma, spi_config); | 19 | let mut spi = Spi::new_blocking(p.SPI1, p.PB3, p.PA7, p.PA6, spi_config); |
| 21 | 20 | ||
| 22 | let mut cs = Output::new(p.PA15, Level::High, Speed::VeryHigh); | 21 | let mut cs = Output::new(p.PA15, Level::High, Speed::VeryHigh); |
| 23 | 22 | ||
diff --git a/examples/stm32l1/src/bin/spi.rs b/examples/stm32l1/src/bin/spi.rs index 8be686c5a..eabf1bac2 100644 --- a/examples/stm32l1/src/bin/spi.rs +++ b/examples/stm32l1/src/bin/spi.rs | |||
| @@ -3,7 +3,6 @@ | |||
| 3 | 3 | ||
| 4 | use defmt::*; | 4 | use defmt::*; |
| 5 | use embassy_executor::Spawner; | 5 | use embassy_executor::Spawner; |
| 6 | use embassy_stm32::dma::NoDma; | ||
| 7 | use embassy_stm32::gpio::{Level, Output, Speed}; | 6 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 8 | use embassy_stm32::spi::{Config, Spi}; | 7 | use embassy_stm32::spi::{Config, Spi}; |
| 9 | use embassy_stm32::time::Hertz; | 8 | use embassy_stm32::time::Hertz; |
| @@ -17,7 +16,7 @@ async fn main(_spawner: Spawner) { | |||
| 17 | let mut spi_config = Config::default(); | 16 | let mut spi_config = Config::default(); |
| 18 | spi_config.frequency = Hertz(1_000_000); | 17 | spi_config.frequency = Hertz(1_000_000); |
| 19 | 18 | ||
| 20 | let mut spi = Spi::new(p.SPI1, p.PA5, p.PA7, p.PA6, NoDma, NoDma, spi_config); | 19 | let mut spi = Spi::new_blocking(p.SPI1, p.PA5, p.PA7, p.PA6, spi_config); |
| 21 | 20 | ||
| 22 | let mut cs = Output::new(p.PA4, Level::High, Speed::VeryHigh); | 21 | let mut cs = Output::new(p.PA4, Level::High, Speed::VeryHigh); |
| 23 | 22 | ||
diff --git a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs index 77aa929ab..a99d08924 100644 --- a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs +++ b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs | |||
| @@ -23,18 +23,23 @@ use embassy_futures::select::{select, Either}; | |||
| 23 | use embassy_futures::yield_now; | 23 | use embassy_futures::yield_now; |
| 24 | use embassy_net::tcp::TcpSocket; | 24 | use embassy_net::tcp::TcpSocket; |
| 25 | use embassy_net::{Ipv4Address, Ipv4Cidr, Stack, StackResources, StaticConfigV4}; | 25 | use embassy_net::{Ipv4Address, Ipv4Cidr, Stack, StackResources, StaticConfigV4}; |
| 26 | use embassy_net_adin1110::{Device, Runner, ADIN1110}; | ||
| 27 | use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; | ||
| 28 | use embassy_stm32::i2c::{self, Config as I2C_Config, I2c}; | ||
| 29 | use embassy_stm32::mode::Async; | ||
| 30 | use embassy_stm32::rng::{self, Rng}; | ||
| 31 | use embassy_stm32::spi::{Config as SPI_Config, Spi}; | ||
| 32 | use embassy_stm32::time::Hertz; | ||
| 33 | use embassy_stm32::{bind_interrupts, exti, pac, peripherals}; | ||
| 26 | use embassy_time::{Delay, Duration, Ticker, Timer}; | 34 | use embassy_time::{Delay, Duration, Ticker, Timer}; |
| 27 | use embedded_hal_async::i2c::I2c as I2cBus; | 35 | use embedded_hal_async::i2c::I2c as I2cBus; |
| 36 | use embedded_hal_bus::spi::ExclusiveDevice; | ||
| 28 | use embedded_io::Write as bWrite; | 37 | use embedded_io::Write as bWrite; |
| 29 | use embedded_io_async::Write; | 38 | use embedded_io_async::Write; |
| 30 | use hal::gpio::{Input, Level, Output, Speed}; | ||
| 31 | use hal::i2c::{self, I2c}; | ||
| 32 | use hal::rng::{self, Rng}; | ||
| 33 | use hal::{bind_interrupts, exti, pac, peripherals}; | ||
| 34 | use heapless::Vec; | 39 | use heapless::Vec; |
| 40 | use panic_probe as _; | ||
| 35 | use rand::RngCore; | 41 | use rand::RngCore; |
| 36 | use static_cell::StaticCell; | 42 | use static_cell::StaticCell; |
| 37 | use {embassy_stm32 as hal, panic_probe as _}; | ||
| 38 | 43 | ||
| 39 | bind_interrupts!(struct Irqs { | 44 | bind_interrupts!(struct Irqs { |
| 40 | I2C3_EV => i2c::EventInterruptHandler<peripherals::I2C3>; | 45 | I2C3_EV => i2c::EventInterruptHandler<peripherals::I2C3>; |
| @@ -42,13 +47,6 @@ bind_interrupts!(struct Irqs { | |||
| 42 | RNG => rng::InterruptHandler<peripherals::RNG>; | 47 | RNG => rng::InterruptHandler<peripherals::RNG>; |
| 43 | }); | 48 | }); |
| 44 | 49 | ||
| 45 | use embassy_net_adin1110::{Device, Runner, ADIN1110}; | ||
| 46 | use embedded_hal_bus::spi::ExclusiveDevice; | ||
| 47 | use hal::gpio::Pull; | ||
| 48 | use hal::i2c::Config as I2C_Config; | ||
| 49 | use hal::spi::{Config as SPI_Config, Spi}; | ||
| 50 | use hal::time::Hertz; | ||
| 51 | |||
| 52 | // Basic settings | 50 | // Basic settings |
| 53 | // MAC-address used by the adin1110 | 51 | // MAC-address used by the adin1110 |
| 54 | const MAC: [u8; 6] = [0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff]; | 52 | const MAC: [u8; 6] = [0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff]; |
| @@ -57,7 +55,7 @@ const IP_ADDRESS: Ipv4Cidr = Ipv4Cidr::new(Ipv4Address([192, 168, 1, 5]), 24); | |||
| 57 | // Listen port for the webserver | 55 | // Listen port for the webserver |
| 58 | const HTTP_LISTEN_PORT: u16 = 80; | 56 | const HTTP_LISTEN_PORT: u16 = 80; |
| 59 | 57 | ||
| 60 | pub type SpeSpi = Spi<'static, peripherals::SPI2, peripherals::DMA1_CH1, peripherals::DMA1_CH2>; | 58 | pub type SpeSpi = Spi<'static, peripherals::SPI2, Async>; |
| 61 | pub type SpeSpiCs = ExclusiveDevice<SpeSpi, Output<'static>, Delay>; | 59 | pub type SpeSpiCs = ExclusiveDevice<SpeSpi, Output<'static>, Delay>; |
| 62 | pub type SpeInt = exti::ExtiInput<'static>; | 60 | pub type SpeInt = exti::ExtiInput<'static>; |
| 63 | pub type SpeRst = Output<'static>; | 61 | pub type SpeRst = Output<'static>; |
diff --git a/examples/stm32l4/src/bin/spi.rs b/examples/stm32l4/src/bin/spi.rs index 6653e4516..5693a3765 100644 --- a/examples/stm32l4/src/bin/spi.rs +++ b/examples/stm32l4/src/bin/spi.rs | |||
| @@ -2,7 +2,6 @@ | |||
| 2 | #![no_main] | 2 | #![no_main] |
| 3 | 3 | ||
| 4 | use defmt::*; | 4 | use defmt::*; |
| 5 | use embassy_stm32::dma::NoDma; | ||
| 6 | use embassy_stm32::gpio::{Level, Output, Speed}; | 5 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 7 | use embassy_stm32::spi::{Config, Spi}; | 6 | use embassy_stm32::spi::{Config, Spi}; |
| 8 | use embassy_stm32::time::Hertz; | 7 | use embassy_stm32::time::Hertz; |
| @@ -17,7 +16,7 @@ fn main() -> ! { | |||
| 17 | let mut spi_config = Config::default(); | 16 | let mut spi_config = Config::default(); |
| 18 | spi_config.frequency = Hertz(1_000_000); | 17 | spi_config.frequency = Hertz(1_000_000); |
| 19 | 18 | ||
| 20 | let mut spi = Spi::new(p.SPI3, p.PC10, p.PC12, p.PC11, NoDma, NoDma, spi_config); | 19 | let mut spi = Spi::new_blocking(p.SPI3, p.PC10, p.PC12, p.PC11, spi_config); |
| 21 | 20 | ||
| 22 | let mut cs = Output::new(p.PE0, Level::High, Speed::VeryHigh); | 21 | let mut cs = Output::new(p.PE0, Level::High, Speed::VeryHigh); |
| 23 | 22 | ||
diff --git a/examples/stm32l4/src/bin/spi_blocking_async.rs b/examples/stm32l4/src/bin/spi_blocking_async.rs index 68dbb70ad..1f1089101 100644 --- a/examples/stm32l4/src/bin/spi_blocking_async.rs +++ b/examples/stm32l4/src/bin/spi_blocking_async.rs | |||
| @@ -4,7 +4,6 @@ | |||
| 4 | use defmt::*; | 4 | use defmt::*; |
| 5 | use embassy_embedded_hal::adapter::BlockingAsync; | 5 | use embassy_embedded_hal::adapter::BlockingAsync; |
| 6 | use embassy_executor::Spawner; | 6 | use embassy_executor::Spawner; |
| 7 | use embassy_stm32::dma::NoDma; | ||
| 8 | use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; | 7 | use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; |
| 9 | use embassy_stm32::spi::{Config, Spi}; | 8 | use embassy_stm32::spi::{Config, Spi}; |
| 10 | use embassy_stm32::time::Hertz; | 9 | use embassy_stm32::time::Hertz; |
| @@ -19,7 +18,7 @@ async fn main(_spawner: Spawner) { | |||
| 19 | let mut spi_config = Config::default(); | 18 | let mut spi_config = Config::default(); |
| 20 | spi_config.frequency = Hertz(1_000_000); | 19 | spi_config.frequency = Hertz(1_000_000); |
| 21 | 20 | ||
| 22 | let spi = Spi::new(p.SPI3, p.PC10, p.PC12, p.PC11, NoDma, NoDma, spi_config); | 21 | let spi = Spi::new_blocking(p.SPI3, p.PC10, p.PC12, p.PC11, spi_config); |
| 23 | 22 | ||
| 24 | let mut spi = BlockingAsync::new(spi); | 23 | let mut spi = BlockingAsync::new(spi); |
| 25 | 24 | ||
