diff --git a/ci.sh b/ci.sh index 2597b6c8a..037d855ef 100755 --- a/ci.sh +++ b/ci.sh @@ -74,6 +74,7 @@ rm out/tests/stm32h563zi/usart_dma rm -rf out/tests/stm32c071rb rm -rf out/tests/stm32f100rd rm -rf out/tests/stm32f107vc +rm -rf out/tests/stm32wba65ri if [[ -z "${TELEPROBE_TOKEN-}" ]]; then echo No teleprobe token found, skipping running HIL tests diff --git a/tests/stm32/Cargo.toml b/tests/stm32/Cargo.toml index bac7ec98b..adf63be91 100644 --- a/tests/stm32/Cargo.toml +++ b/tests/stm32/Cargo.toml @@ -33,6 +33,7 @@ stm32u585ai = ["embassy-stm32/stm32u585ai", "spi-v345", "chrono", "rng", "hash", stm32u5a5zj = ["embassy-stm32/stm32u5a5zj", "spi-v345", "chrono", "rng", "hash"] # FIXME: cordic test cause it crash stm32wb55rg = ["embassy-stm32/stm32wb55rg", "chrono", "not-gpdma", "ble", "mac" , "rng", "hsem", "stop"] stm32wba52cg = ["embassy-stm32/stm32wba52cg", "spi-v345", "chrono", "rng", "hash", "adc"] +stm32wba65ri = ["embassy-stm32/stm32wba65ri", "spi-v345", "chrono", "rng", "hash", "adc"] stm32wl55jc = ["embassy-stm32/stm32wl55jc-cm4", "not-gpdma", "rng", "chrono", "hsem", "stop"] stm32f091rc = ["embassy-stm32/stm32f091rc", "cm0", "not-gpdma", "chrono"] stm32h503rb = ["embassy-stm32/stm32h503rb", "spi-v345", "rng", "stop"] @@ -285,6 +286,7 @@ build = [ { target = "thumbv8m.main-none-eabihf", features = ["stm32u585ai"], artifact-dir = "out/tests/stm32u585ai" }, { target = "thumbv8m.main-none-eabihf", features = ["stm32u5a5zj"], artifact-dir = "out/tests/stm32u5a5zj" }, { target = "thumbv8m.main-none-eabihf", features = ["stm32wba52cg"], artifact-dir = "out/tests/stm32wba52cg" }, + { target = "thumbv8m.main-none-eabihf", features = ["stm32wba65ri"], artifact-dir = "out/tests/stm32wba65ri" }, { target = "thumbv6m-none-eabi", features = ["stm32l073rz"], artifact-dir = "out/tests/stm32l073rz" }, { target = "thumbv7m-none-eabi", features = ["stm32l152re"], artifact-dir = "out/tests/stm32l152re" }, { target = "thumbv7em-none-eabi", features = ["stm32l4a6zg"], artifact-dir = "out/tests/stm32l4a6zg" }, diff --git a/tests/stm32/src/bin/hash.rs b/tests/stm32/src/bin/hash.rs index bb08d0cf1..079e4c610 100644 --- a/tests/stm32/src/bin/hash.rs +++ b/tests/stm32/src/bin/hash.rs @@ -22,6 +22,7 @@ bind_interrupts!(struct Irqs { #[cfg(any( feature = "stm32wba52cg", + feature = "stm32wba65ri", feature = "stm32l552ze", feature = "stm32h563zi", feature = "stm32h503rb", diff --git a/tests/stm32/src/common.rs b/tests/stm32/src/common.rs index 77cfba160..1c9c8eaf3 100644 --- a/tests/stm32/src/common.rs +++ b/tests/stm32/src/common.rs @@ -58,6 +58,8 @@ teleprobe_meta::target!(b"nucleo-stm32l496zg"); teleprobe_meta::target!(b"nucleo-stm32wl55jc"); #[cfg(feature = "stm32wba52cg")] teleprobe_meta::target!(b"nucleo-stm32wba52cg"); +#[cfg(feature = "stm32wba65ri")] +teleprobe_meta::target!(b"nucleo-stm32wba65ri"); #[cfg(feature = "stm32f091rc")] teleprobe_meta::target!(b"nucleo-stm32f091rc"); #[cfg(feature = "stm32h503rb")] @@ -393,6 +395,17 @@ define_peris!( GPDMA1_CHANNEL1 => embassy_stm32::dma::InterruptHandler; }, ); +#[cfg(feature = "stm32wba65ri")] +define_peris!( + UART = LPUART1, UART_TX = PB11, UART_RX = PA10, UART_TX_DMA = GPDMA1_CH0, UART_RX_DMA = GPDMA1_CH1, + SPI = SPI2, SPI_SCK = PB10, SPI_MOSI = PC3, SPI_MISO = PA9, SPI_TX_DMA = GPDMA1_CH0, SPI_RX_DMA = GPDMA1_CH1, + ADC = ADC4, DAC_PIN = PA0, + @irq UART = { + LPUART1 => embassy_stm32::usart::InterruptHandler; + GPDMA1_CHANNEL0 => embassy_stm32::dma::InterruptHandler; + GPDMA1_CHANNEL1 => embassy_stm32::dma::InterruptHandler; + }, +); #[cfg(feature = "stm32h7s3l8")] define_peris!( CRYP_IN_DMA = GPDMA1_CH0, CRYP_OUT_DMA = GPDMA1_CH1, @@ -790,6 +803,13 @@ pub fn config() -> Config { config.rcc.mux.rngsel = mux::Rngsel::HSI; } + #[cfg(feature = "stm32wba65ri")] + { + config.rcc.sys = Sysclk::HSI; + config.rcc.mux.rngsel = mux::Rngsel::HSI; + config.rcc.mux.sai1sel = mux::Sai1sel::HSI; + } + #[cfg(feature = "stm32l073rz")] { config.rcc.hsi = true;