diff options
| author | sander <[email protected]> | 2023-04-11 13:48:34 +0200 |
|---|---|---|
| committer | sander <[email protected]> | 2023-04-11 13:48:34 +0200 |
| commit | c309797488a4f33dfab659fdb2908eff76e16e40 (patch) | |
| tree | 2ee72042d9f06bf694fea8dd4cd2ba3e2e2cb10b /tests | |
| parent | 6b2aaacf830d69fcb05f9611d3780f56b4ae82bc (diff) | |
| parent | b150b9506b2f0502065dc1b22eccc6448f611bff (diff) | |
merge embassy/master
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/nrf/Cargo.toml | 2 | ||||
| -rw-r--r-- | tests/nrf/src/bin/timer.rs | 25 | ||||
| -rw-r--r-- | tests/rp/Cargo.toml | 6 | ||||
| -rw-r--r-- | tests/stm32/Cargo.toml | 7 | ||||
| -rw-r--r-- | tests/stm32/src/bin/gpio.rs | 2 | ||||
| -rw-r--r-- | tests/stm32/src/bin/spi.rs | 19 | ||||
| -rw-r--r-- | tests/stm32/src/bin/spi_dma.rs | 18 | ||||
| -rw-r--r-- | tests/stm32/src/bin/usart.rs | 2 | ||||
| -rw-r--r-- | tests/stm32/src/bin/usart_dma.rs | 9 |
9 files changed, 67 insertions, 23 deletions
diff --git a/tests/nrf/Cargo.toml b/tests/nrf/Cargo.toml index 2a4e8cf41..912749e5d 100644 --- a/tests/nrf/Cargo.toml +++ b/tests/nrf/Cargo.toml | |||
| @@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0" | |||
| 7 | [dependencies] | 7 | [dependencies] |
| 8 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 8 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| 9 | embassy-sync = { version = "0.1.0", path = "../../embassy-sync", features = ["defmt", "nightly"] } | 9 | embassy-sync = { version = "0.1.0", path = "../../embassy-sync", features = ["defmt", "nightly"] } |
| 10 | embassy-executor = { version = "0.1.0", path = "../../embassy-executor", features = ["defmt", "nightly", "integrated-timers"] } | 10 | embassy-executor = { version = "0.1.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "nightly", "integrated-timers"] } |
| 11 | embassy-time = { version = "0.1.0", path = "../../embassy-time", features = ["defmt", "nightly", "defmt-timestamp-uptime"] } | 11 | embassy-time = { version = "0.1.0", path = "../../embassy-time", features = ["defmt", "nightly", "defmt-timestamp-uptime"] } |
| 12 | embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nightly", "unstable-traits", "nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac"] } | 12 | embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nightly", "unstable-traits", "nrf52840", "time-driver-rtc1", "gpiote", "unstable-pac"] } |
| 13 | embedded-io = { version = "0.4.0", features = ["async"] } | 13 | embedded-io = { version = "0.4.0", features = ["async"] } |
diff --git a/tests/nrf/src/bin/timer.rs b/tests/nrf/src/bin/timer.rs new file mode 100644 index 000000000..9b9b5fb28 --- /dev/null +++ b/tests/nrf/src/bin/timer.rs | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | #![no_std] | ||
| 2 | #![no_main] | ||
| 3 | #![feature(type_alias_impl_trait)] | ||
| 4 | |||
| 5 | use defmt::{assert, info}; | ||
| 6 | use embassy_executor::Spawner; | ||
| 7 | use embassy_time::{Duration, Instant, Timer}; | ||
| 8 | use {defmt_rtt as _, panic_probe as _}; | ||
| 9 | |||
| 10 | #[embassy_executor::main] | ||
| 11 | async fn main(_spawner: Spawner) { | ||
| 12 | let _p = embassy_nrf::init(Default::default()); | ||
| 13 | info!("Hello World!"); | ||
| 14 | |||
| 15 | let start = Instant::now(); | ||
| 16 | Timer::after(Duration::from_millis(100)).await; | ||
| 17 | let end = Instant::now(); | ||
| 18 | let ms = (end - start).as_millis(); | ||
| 19 | info!("slept for {} ms", ms); | ||
| 20 | assert!(ms >= 99); | ||
| 21 | assert!(ms < 110); | ||
| 22 | |||
| 23 | info!("Test OK"); | ||
| 24 | cortex_m::asm::bkpt(); | ||
| 25 | } | ||
diff --git a/tests/rp/Cargo.toml b/tests/rp/Cargo.toml index 572a9ce88..463a370fe 100644 --- a/tests/rp/Cargo.toml +++ b/tests/rp/Cargo.toml | |||
| @@ -6,7 +6,7 @@ license = "MIT OR Apache-2.0" | |||
| 6 | 6 | ||
| 7 | [dependencies] | 7 | [dependencies] |
| 8 | embassy-sync = { version = "0.1.0", path = "../../embassy-sync", features = ["defmt"] } | 8 | embassy-sync = { version = "0.1.0", path = "../../embassy-sync", features = ["defmt"] } |
| 9 | embassy-executor = { version = "0.1.0", path = "../../embassy-executor", features = ["defmt", "integrated-timers"] } | 9 | embassy-executor = { version = "0.1.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } |
| 10 | embassy-time = { version = "0.1.0", path = "../../embassy-time", features = ["defmt"] } | 10 | embassy-time = { version = "0.1.0", path = "../../embassy-time", features = ["defmt"] } |
| 11 | embassy-rp = { version = "0.1.0", path = "../../embassy-rp", features = ["nightly", "defmt", "unstable-pac", "unstable-traits", "time-driver", "critical-section-impl"] } | 11 | embassy-rp = { version = "0.1.0", path = "../../embassy-rp", features = ["nightly", "defmt", "unstable-pac", "unstable-traits", "time-driver", "critical-section-impl"] } |
| 12 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 12 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } |
| @@ -17,8 +17,8 @@ defmt-rtt = "0.4" | |||
| 17 | cortex-m = { version = "0.7.6" } | 17 | cortex-m = { version = "0.7.6" } |
| 18 | cortex-m-rt = "0.7.0" | 18 | cortex-m-rt = "0.7.0" |
| 19 | embedded-hal = "0.2.6" | 19 | embedded-hal = "0.2.6" |
| 20 | embedded-hal-1 = { package = "embedded-hal", version = "=1.0.0-alpha.9" } | 20 | embedded-hal-1 = { package = "embedded-hal", version = "=1.0.0-alpha.10" } |
| 21 | embedded-hal-async = { version = "=0.2.0-alpha.0" } | 21 | embedded-hal-async = { version = "=0.2.0-alpha.1" } |
| 22 | panic-probe = { version = "0.3.0", features = ["print-defmt"] } | 22 | panic-probe = { version = "0.3.0", features = ["print-defmt"] } |
| 23 | futures = { version = "0.3.17", default-features = false, features = ["async-await"] } | 23 | futures = { version = "0.3.17", default-features = false, features = ["async-await"] } |
| 24 | embedded-io = { version = "0.4.0", features = ["async"] } | 24 | embedded-io = { version = "0.4.0", features = ["async"] } |
diff --git a/tests/stm32/Cargo.toml b/tests/stm32/Cargo.toml index 08a775eae..bd181f235 100644 --- a/tests/stm32/Cargo.toml +++ b/tests/stm32/Cargo.toml | |||
| @@ -11,11 +11,12 @@ stm32g071rb = ["embassy-stm32/stm32g071rb"] # Nucleo | |||
| 11 | stm32g491re = ["embassy-stm32/stm32g491re"] # Nucleo | 11 | stm32g491re = ["embassy-stm32/stm32g491re"] # Nucleo |
| 12 | stm32h755zi = ["embassy-stm32/stm32h755zi-cm7"] # Nucleo | 12 | stm32h755zi = ["embassy-stm32/stm32h755zi-cm7"] # Nucleo |
| 13 | stm32wb55rg = ["embassy-stm32/stm32wb55rg"] # Nucleo | 13 | stm32wb55rg = ["embassy-stm32/stm32wb55rg"] # Nucleo |
| 14 | stm32h563zi = ["embassy-stm32/stm32h563zi"] # Nucleo | ||
| 14 | stm32u585ai = ["embassy-stm32/stm32u585ai"] # IoT board | 15 | stm32u585ai = ["embassy-stm32/stm32u585ai"] # IoT board |
| 15 | 16 | ||
| 16 | [dependencies] | 17 | [dependencies] |
| 17 | embassy-sync = { version = "0.1.0", path = "../../embassy-sync", features = ["defmt"] } | 18 | embassy-sync = { version = "0.1.0", path = "../../embassy-sync", features = ["defmt"] } |
| 18 | embassy-executor = { version = "0.1.0", path = "../../embassy-executor", features = ["defmt", "integrated-timers"] } | 19 | embassy-executor = { version = "0.1.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } |
| 19 | embassy-time = { version = "0.1.0", path = "../../embassy-time", features = ["defmt", "tick-hz-32_768"] } | 20 | embassy-time = { version = "0.1.0", path = "../../embassy-time", features = ["defmt", "tick-hz-32_768"] } |
| 20 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "unstable-pac", "memory-x", "time-driver-tim2"] } | 21 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "unstable-pac", "memory-x", "time-driver-tim2"] } |
| 21 | 22 | ||
| @@ -25,8 +26,8 @@ defmt-rtt = "0.4" | |||
| 25 | cortex-m = { version = "0.7.6", features = ["critical-section-single-core"] } | 26 | cortex-m = { version = "0.7.6", features = ["critical-section-single-core"] } |
| 26 | cortex-m-rt = "0.7.0" | 27 | cortex-m-rt = "0.7.0" |
| 27 | embedded-hal = "0.2.6" | 28 | embedded-hal = "0.2.6" |
| 28 | embedded-hal-1 = { package = "embedded-hal", version = "=1.0.0-alpha.9" } | 29 | embedded-hal-1 = { package = "embedded-hal", version = "=1.0.0-alpha.10" } |
| 29 | embedded-hal-async = { version = "=0.2.0-alpha.0" } | 30 | embedded-hal-async = { version = "=0.2.0-alpha.1" } |
| 30 | panic-probe = { version = "0.3.0", features = ["print-defmt"] } | 31 | panic-probe = { version = "0.3.0", features = ["print-defmt"] } |
| 31 | 32 | ||
| 32 | [profile.dev] | 33 | [profile.dev] |
diff --git a/tests/stm32/src/bin/gpio.rs b/tests/stm32/src/bin/gpio.rs index 18fd85d44..6a36df8cc 100644 --- a/tests/stm32/src/bin/gpio.rs +++ b/tests/stm32/src/bin/gpio.rs | |||
| @@ -30,6 +30,8 @@ async fn main(_spawner: Spawner) { | |||
| 30 | let (mut a, mut b) = (p.PB6, p.PB7); | 30 | let (mut a, mut b) = (p.PB6, p.PB7); |
| 31 | #[cfg(feature = "stm32u585ai")] | 31 | #[cfg(feature = "stm32u585ai")] |
| 32 | let (mut a, mut b) = (p.PD9, p.PD8); | 32 | let (mut a, mut b) = (p.PD9, p.PD8); |
| 33 | #[cfg(feature = "stm32h563zi")] | ||
| 34 | let (mut a, mut b) = (p.PB6, p.PB7); | ||
| 33 | 35 | ||
| 34 | // Test initial output | 36 | // Test initial output |
| 35 | { | 37 | { |
diff --git a/tests/stm32/src/bin/spi.rs b/tests/stm32/src/bin/spi.rs index 1c5dc87c0..bf8098b1b 100644 --- a/tests/stm32/src/bin/spi.rs +++ b/tests/stm32/src/bin/spi.rs | |||
| @@ -17,22 +17,25 @@ async fn main(_spawner: Spawner) { | |||
| 17 | info!("Hello World!"); | 17 | info!("Hello World!"); |
| 18 | 18 | ||
| 19 | #[cfg(feature = "stm32f103c8")] | 19 | #[cfg(feature = "stm32f103c8")] |
| 20 | let (sck, mosi, miso) = (p.PA5, p.PA7, p.PA6); | 20 | let (spi, sck, mosi, miso) = (p.SPI1, p.PA5, p.PA7, p.PA6); |
| 21 | #[cfg(feature = "stm32f429zi")] | 21 | #[cfg(feature = "stm32f429zi")] |
| 22 | let (sck, mosi, miso) = (p.PA5, p.PA7, p.PA6); | 22 | let (spi, sck, mosi, miso) = (p.SPI1, p.PA5, p.PA7, p.PA6); |
| 23 | #[cfg(feature = "stm32h755zi")] | 23 | #[cfg(feature = "stm32h755zi")] |
| 24 | let (sck, mosi, miso) = (p.PA5, p.PB5, p.PA6); | 24 | let (spi, sck, mosi, miso) = (p.SPI1, p.PA5, p.PB5, p.PA6); |
| 25 | #[cfg(feature = "stm32g491re")] | 25 | #[cfg(feature = "stm32g491re")] |
| 26 | let (sck, mosi, miso) = (p.PA5, p.PA7, p.PA6); | 26 | let (spi, sck, mosi, miso) = (p.SPI1, p.PA5, p.PA7, p.PA6); |
| 27 | #[cfg(feature = "stm32g071rb")] | 27 | #[cfg(feature = "stm32g071rb")] |
| 28 | let (sck, mosi, miso) = (p.PA5, p.PA7, p.PA6); | 28 | let (spi, sck, mosi, miso) = (p.SPI1, p.PA5, p.PA7, p.PA6); |
| 29 | #[cfg(feature = "stm32wb55rg")] | 29 | #[cfg(feature = "stm32wb55rg")] |
| 30 | let (sck, mosi, miso) = (p.PA5, p.PA7, p.PA6); | 30 | let (spi, sck, mosi, miso) = (p.SPI1, p.PA5, p.PA7, p.PA6); |
| 31 | #[cfg(feature = "stm32u585ai")] | 31 | #[cfg(feature = "stm32u585ai")] |
| 32 | let (sck, mosi, miso) = (p.PE13, p.PE15, p.PE14); | 32 | let (spi, sck, mosi, miso) = (p.SPI1, p.PE13, p.PE15, p.PE14); |
| 33 | #[cfg(feature = "stm32h563zi")] | ||
| 34 | let (spi, sck, mosi, miso) = (p.SPI4, p.PE12, p.PE14, p.PE13); | ||
| 33 | 35 | ||
| 36 | info!("asdfa;"); | ||
| 34 | let mut spi = Spi::new( | 37 | let mut spi = Spi::new( |
| 35 | p.SPI1, | 38 | spi, |
| 36 | sck, // Arduino D13 | 39 | sck, // Arduino D13 |
| 37 | mosi, // Arduino D11 | 40 | mosi, // Arduino D11 |
| 38 | miso, // Arduino D12 | 41 | miso, // Arduino D12 |
diff --git a/tests/stm32/src/bin/spi_dma.rs b/tests/stm32/src/bin/spi_dma.rs index cb2152e0b..b3dad8132 100644 --- a/tests/stm32/src/bin/spi_dma.rs +++ b/tests/stm32/src/bin/spi_dma.rs | |||
| @@ -16,22 +16,24 @@ async fn main(_spawner: Spawner) { | |||
| 16 | info!("Hello World!"); | 16 | info!("Hello World!"); |
| 17 | 17 | ||
| 18 | #[cfg(feature = "stm32f103c8")] | 18 | #[cfg(feature = "stm32f103c8")] |
| 19 | let (sck, mosi, miso, tx_dma, rx_dma) = (p.PA5, p.PA7, p.PA6, p.DMA1_CH3, p.DMA1_CH2); | 19 | let (spi, sck, mosi, miso, tx_dma, rx_dma) = (p.SPI1, p.PA5, p.PA7, p.PA6, p.DMA1_CH3, p.DMA1_CH2); |
| 20 | #[cfg(feature = "stm32f429zi")] | 20 | #[cfg(feature = "stm32f429zi")] |
| 21 | let (sck, mosi, miso, tx_dma, rx_dma) = (p.PA5, p.PA7, p.PA6, p.DMA2_CH3, p.DMA2_CH2); | 21 | let (spi, sck, mosi, miso, tx_dma, rx_dma) = (p.SPI1, p.PA5, p.PA7, p.PA6, p.DMA2_CH3, p.DMA2_CH2); |
| 22 | #[cfg(feature = "stm32h755zi")] | 22 | #[cfg(feature = "stm32h755zi")] |
| 23 | let (sck, mosi, miso, tx_dma, rx_dma) = (p.PA5, p.PB5, p.PA6, p.DMA1_CH0, p.DMA1_CH1); | 23 | let (spi, sck, mosi, miso, tx_dma, rx_dma) = (p.SPI1, p.PA5, p.PB5, p.PA6, p.DMA1_CH0, p.DMA1_CH1); |
| 24 | #[cfg(feature = "stm32g491re")] | 24 | #[cfg(feature = "stm32g491re")] |
| 25 | let (sck, mosi, miso, tx_dma, rx_dma) = (p.PA5, p.PA7, p.PA6, p.DMA1_CH1, p.DMA1_CH2); | 25 | let (spi, sck, mosi, miso, tx_dma, rx_dma) = (p.SPI1, p.PA5, p.PA7, p.PA6, p.DMA1_CH1, p.DMA1_CH2); |
| 26 | #[cfg(feature = "stm32g071rb")] | 26 | #[cfg(feature = "stm32g071rb")] |
| 27 | let (sck, mosi, miso, tx_dma, rx_dma) = (p.PA5, p.PA7, p.PA6, p.DMA1_CH1, p.DMA1_CH2); | 27 | let (spi, sck, mosi, miso, tx_dma, rx_dma) = (p.SPI1, p.PA5, p.PA7, p.PA6, p.DMA1_CH1, p.DMA1_CH2); |
| 28 | #[cfg(feature = "stm32wb55rg")] | 28 | #[cfg(feature = "stm32wb55rg")] |
| 29 | let (sck, mosi, miso, tx_dma, rx_dma) = (p.PA5, p.PA7, p.PA6, p.DMA1_CH1, p.DMA1_CH2); | 29 | let (spi, sck, mosi, miso, tx_dma, rx_dma) = (p.SPI1, p.PA5, p.PA7, p.PA6, p.DMA1_CH1, p.DMA1_CH2); |
| 30 | #[cfg(feature = "stm32u585ai")] | 30 | #[cfg(feature = "stm32u585ai")] |
| 31 | let (sck, mosi, miso, tx_dma, rx_dma) = (p.PE13, p.PE15, p.PE14, p.GPDMA1_CH0, p.GPDMA1_CH1); | 31 | let (spi, sck, mosi, miso, tx_dma, rx_dma) = (p.SPI1, p.PE13, p.PE15, p.PE14, p.GPDMA1_CH0, p.GPDMA1_CH1); |
| 32 | #[cfg(feature = "stm32h563zi")] | ||
| 33 | let (spi, sck, mosi, miso, tx_dma, rx_dma) = (p.SPI4, p.PE12, p.PE14, p.PE13, p.GPDMA1_CH0, p.GPDMA1_CH1); | ||
| 32 | 34 | ||
| 33 | let mut spi = Spi::new( | 35 | let mut spi = Spi::new( |
| 34 | p.SPI1, | 36 | spi, |
| 35 | sck, // Arduino D13 | 37 | sck, // Arduino D13 |
| 36 | mosi, // Arduino D11 | 38 | mosi, // Arduino D11 |
| 37 | miso, // Arduino D12 | 39 | miso, // Arduino D12 |
diff --git a/tests/stm32/src/bin/usart.rs b/tests/stm32/src/bin/usart.rs index af55867f2..52409567c 100644 --- a/tests/stm32/src/bin/usart.rs +++ b/tests/stm32/src/bin/usart.rs | |||
| @@ -32,6 +32,8 @@ async fn main(_spawner: Spawner) { | |||
| 32 | let (tx, rx, usart, irq) = (p.PB6, p.PB7, p.USART1, interrupt::take!(USART1)); | 32 | let (tx, rx, usart, irq) = (p.PB6, p.PB7, p.USART1, interrupt::take!(USART1)); |
| 33 | #[cfg(feature = "stm32u585ai")] | 33 | #[cfg(feature = "stm32u585ai")] |
| 34 | let (tx, rx, usart, irq) = (p.PD8, p.PD9, p.USART3, interrupt::take!(USART3)); | 34 | let (tx, rx, usart, irq) = (p.PD8, p.PD9, p.USART3, interrupt::take!(USART3)); |
| 35 | #[cfg(feature = "stm32h563zi")] | ||
| 36 | let (tx, rx, usart, irq) = (p.PB6, p.PB7, p.LPUART1, interrupt::take!(LPUART1)); | ||
| 35 | 37 | ||
| 36 | let config = Config::default(); | 38 | let config = Config::default(); |
| 37 | let mut usart = Uart::new(usart, rx, tx, irq, NoDma, NoDma, config); | 39 | let mut usart = Uart::new(usart, rx, tx, irq, NoDma, NoDma, config); |
diff --git a/tests/stm32/src/bin/usart_dma.rs b/tests/stm32/src/bin/usart_dma.rs index d12605a9a..3f70791c1 100644 --- a/tests/stm32/src/bin/usart_dma.rs +++ b/tests/stm32/src/bin/usart_dma.rs | |||
| @@ -62,6 +62,15 @@ async fn main(_spawner: Spawner) { | |||
| 62 | p.GPDMA1_CH0, | 62 | p.GPDMA1_CH0, |
| 63 | p.GPDMA1_CH1, | 63 | p.GPDMA1_CH1, |
| 64 | ); | 64 | ); |
| 65 | #[cfg(feature = "stm32h563zi")] | ||
| 66 | let (tx, rx, usart, irq, tx_dma, rx_dma) = ( | ||
| 67 | p.PB6, | ||
| 68 | p.PB7, | ||
| 69 | p.LPUART1, | ||
| 70 | interrupt::take!(LPUART1), | ||
| 71 | p.GPDMA1_CH0, | ||
| 72 | p.GPDMA1_CH1, | ||
| 73 | ); | ||
| 65 | 74 | ||
| 66 | let config = Config::default(); | 75 | let config = Config::default(); |
| 67 | let mut usart = Uart::new(usart, rx, tx, irq, tx_dma, rx_dma, config); | 76 | let mut usart = Uart::new(usart, rx, tx, irq, tx_dma, rx_dma, config); |
