diff options
Diffstat (limited to 'tests/stm32/src/common.rs')
| -rw-r--r-- | tests/stm32/src/common.rs | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/tests/stm32/src/common.rs b/tests/stm32/src/common.rs index 3a1b5c3ec..055eade6b 100644 --- a/tests/stm32/src/common.rs +++ b/tests/stm32/src/common.rs | |||
| @@ -25,6 +25,91 @@ teleprobe_meta::target!(b"nucleo-stm32h563zi"); | |||
| 25 | #[cfg(feature = "stm32c031c6")] | 25 | #[cfg(feature = "stm32c031c6")] |
| 26 | teleprobe_meta::target!(b"nucleo-stm32c031c6"); | 26 | teleprobe_meta::target!(b"nucleo-stm32c031c6"); |
| 27 | 27 | ||
| 28 | macro_rules! define_peris { | ||
| 29 | ($($name:ident = $peri:ident,)* $(@irq $irq_name:ident = $irq_code:tt,)*) => { | ||
| 30 | #[allow(unused_macros)] | ||
| 31 | macro_rules! peri { | ||
| 32 | $( | ||
| 33 | ($p:expr, $name) => { | ||
| 34 | $p.$peri | ||
| 35 | }; | ||
| 36 | )* | ||
| 37 | } | ||
| 38 | #[allow(unused_macros)] | ||
| 39 | macro_rules! irqs { | ||
| 40 | $( | ||
| 41 | ($irq_name) => {{ | ||
| 42 | embassy_stm32::bind_interrupts!(struct Irqs $irq_code); | ||
| 43 | Irqs | ||
| 44 | }}; | ||
| 45 | )* | ||
| 46 | } | ||
| 47 | |||
| 48 | #[allow(unused)] | ||
| 49 | #[allow(non_camel_case_types)] | ||
| 50 | pub mod peris { | ||
| 51 | $( | ||
| 52 | pub type $name = embassy_stm32::peripherals::$peri; | ||
| 53 | )* | ||
| 54 | } | ||
| 55 | }; | ||
| 56 | } | ||
| 57 | |||
| 58 | #[cfg(feature = "stm32f103c8")] | ||
| 59 | define_peris!( | ||
| 60 | UART = USART1, UART_TX = PA9, UART_RX = PA10, UART_TX_DMA = DMA1_CH4, UART_RX_DMA = DMA1_CH5, | ||
| 61 | SPI = SPI1, SPI_SCK = PA5, SPI_MOSI = PA7, SPI_MISO = PA6, SPI_TX_DMA = DMA1_CH3, SPI_RX_DMA = DMA1_CH2, | ||
| 62 | @irq UART = {USART1 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::USART1>;}, | ||
| 63 | ); | ||
| 64 | #[cfg(feature = "stm32g491re")] | ||
| 65 | define_peris!( | ||
| 66 | UART = USART1, UART_TX = PC4, UART_RX = PC5, UART_TX_DMA = DMA1_CH1, UART_RX_DMA = DMA1_CH2, | ||
| 67 | SPI = SPI1, SPI_SCK = PA5, SPI_MOSI = PA7, SPI_MISO = PA6, SPI_TX_DMA = DMA1_CH1, SPI_RX_DMA = DMA1_CH2, | ||
| 68 | @irq UART = {USART1 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::USART1>;}, | ||
| 69 | ); | ||
| 70 | #[cfg(feature = "stm32g071rb")] | ||
| 71 | define_peris!( | ||
| 72 | UART = USART1, UART_TX = PC4, UART_RX = PC5, UART_TX_DMA = DMA1_CH1, UART_RX_DMA = DMA1_CH2, | ||
| 73 | SPI = SPI1, SPI_SCK = PA5, SPI_MOSI = PA7, SPI_MISO = PA6, SPI_TX_DMA = DMA1_CH1, SPI_RX_DMA = DMA1_CH2, | ||
| 74 | @irq UART = {USART1 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::USART1>;}, | ||
| 75 | ); | ||
| 76 | #[cfg(feature = "stm32f429zi")] | ||
| 77 | define_peris!( | ||
| 78 | UART = USART6, UART_TX = PG14, UART_RX = PG9, UART_TX_DMA = DMA2_CH6, UART_RX_DMA = DMA2_CH1, | ||
| 79 | SPI = SPI1, SPI_SCK = PA5, SPI_MOSI = PA7, SPI_MISO = PA6, SPI_TX_DMA = DMA2_CH3, SPI_RX_DMA = DMA2_CH2, | ||
| 80 | @irq UART = {USART6 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::USART6>;}, | ||
| 81 | ); | ||
| 82 | #[cfg(feature = "stm32wb55rg")] | ||
| 83 | define_peris!( | ||
| 84 | UART = LPUART1, UART_TX = PA2, UART_RX = PA3, UART_TX_DMA = DMA1_CH1, UART_RX_DMA = DMA1_CH2, | ||
| 85 | SPI = SPI1, SPI_SCK = PA5, SPI_MOSI = PA7, SPI_MISO = PA6, SPI_TX_DMA = DMA1_CH1, SPI_RX_DMA = DMA1_CH2, | ||
| 86 | @irq UART = {LPUART1 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::LPUART1>;}, | ||
| 87 | ); | ||
| 88 | #[cfg(feature = "stm32h755zi")] | ||
| 89 | define_peris!( | ||
| 90 | UART = USART1, UART_TX = PB6, UART_RX = PB7, UART_TX_DMA = DMA1_CH0, UART_RX_DMA = DMA1_CH1, | ||
| 91 | SPI = SPI1, SPI_SCK = PA5, SPI_MOSI = PB5, SPI_MISO = PA6, SPI_TX_DMA = DMA1_CH0, SPI_RX_DMA = DMA1_CH1, | ||
| 92 | @irq UART = {USART1 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::USART1>;}, | ||
| 93 | ); | ||
| 94 | #[cfg(feature = "stm32u585ai")] | ||
| 95 | define_peris!( | ||
| 96 | UART = USART3, UART_TX = PD8, UART_RX = PD9, UART_TX_DMA = GPDMA1_CH0, UART_RX_DMA = GPDMA1_CH1, | ||
| 97 | SPI = SPI1, SPI_SCK = PE13, SPI_MOSI = PE15, SPI_MISO = PE14, SPI_TX_DMA = GPDMA1_CH0, SPI_RX_DMA = GPDMA1_CH1, | ||
| 98 | @irq UART = {USART3 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::USART3>;}, | ||
| 99 | ); | ||
| 100 | #[cfg(feature = "stm32h563zi")] | ||
| 101 | define_peris!( | ||
| 102 | UART = LPUART1, UART_TX = PB6, UART_RX = PB7, UART_TX_DMA = GPDMA1_CH0, UART_RX_DMA = GPDMA1_CH1, | ||
| 103 | SPI = SPI4, SPI_SCK = PE12, SPI_MOSI = PE14, SPI_MISO = PE13, SPI_TX_DMA = GPDMA1_CH0, SPI_RX_DMA = GPDMA1_CH1, | ||
| 104 | @irq UART = {LPUART1 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::LPUART1>;}, | ||
| 105 | ); | ||
| 106 | #[cfg(feature = "stm32c031c6")] | ||
| 107 | define_peris!( | ||
| 108 | UART = USART1, UART_TX = PB6, UART_RX = PB7, UART_TX_DMA = DMA1_CH1, UART_RX_DMA = DMA1_CH2, | ||
| 109 | SPI = SPI1, SPI_SCK = PA5, SPI_MOSI = PA7, SPI_MISO = PA6, SPI_TX_DMA = DMA1_CH1, SPI_RX_DMA = DMA1_CH2, | ||
| 110 | @irq UART = {USART1 => embassy_stm32::usart::InterruptHandler<embassy_stm32::peripherals::USART1>;}, | ||
| 111 | ); | ||
| 112 | |||
| 28 | pub fn config() -> Config { | 113 | pub fn config() -> Config { |
| 29 | #[allow(unused_mut)] | 114 | #[allow(unused_mut)] |
| 30 | let mut config = Config::default(); | 115 | let mut config = Config::default(); |
