diff --git a/os/hal/ports/STM32/LLD/USARTv2/hal_serial_lld.h b/os/hal/ports/STM32/LLD/USARTv2/hal_serial_lld.h index 19ee3291c..3567c8d9d 100644 --- a/os/hal/ports/STM32/LLD/USARTv2/hal_serial_lld.h +++ b/os/hal/ports/STM32/LLD/USARTv2/hal_serial_lld.h @@ -421,6 +421,79 @@ #error "Invalid IRQ priority assigned to LPUART1" #endif +/* Checks on allocation of USARTx units.*/ +#if STM32_SERIAL_USE_USART1 +#if defined(STM32_USART1_IS_USED) +#error "SD1 requires USART1 but it is already used" +#else +#define STM32_USART1_IS_USED +#endif +#endif + +#if STM32_SERIAL_USE_USART2 +#if defined(STM32_USART2_IS_USED) +#error "SD2 requires USART2 but it is already used" +#else +#define STM32_USART2_IS_USED +#endif +#endif + +#if STM32_SERIAL_USE_USART3 +#if defined(STM32_USART3_IS_USED) +#error "SD3 requires USART3 but it is already used" +#else +#define STM32_USART3_IS_USED +#endif +#endif + +#if STM32_SERIAL_USE_UART4 +#if defined(STM32_UART4_IS_USED) +#error "SD4 requires UART4 but it is already used" +#else +#define STM32_UART4_IS_USED +#endif +#endif + +#if STM32_SERIAL_USE_UART5 +#if defined(STM32_UART5_IS_USED) +#error "SD5 requires UART5 but it is already used" +#else +#define STM32_UART5_IS_USED +#endif +#endif + +#if STM32_SERIAL_USE_USART6 +#if defined(STM32_USART6_IS_USED) +#error "SD6 requires USART6 but it is already used" +#else +#define STM32_USART6_IS_USED +#endif +#endif + +#if STM32_SERIAL_USE_UART7 +#if defined(STM32_UART7_IS_USED) +#error "SD7 requires UART7 but it is already used" +#else +#define STM32_UART7_IS_USED +#endif +#endif + +#if STM32_SERIAL_USE_UART8 +#if defined(STM32_UART8_IS_USED) +#error "SD8 requires UART8 but it is already used" +#else +#define STM32_UART8_IS_USED +#endif +#endif + +#if STM32_SERIAL_USE_LPUART1 +#if defined(STM32_LPUART1_IS_USED) +#error "LPSD1 requires LPUART1 but it is already used" +#else +#define STM32_LPUART1_IS_USED +#endif +#endif + /*===========================================================================*/ /* Driver data structures and types. */ /*===========================================================================*/ diff --git a/os/hal/ports/STM32/LLD/USARTv2/hal_uart_lld.h b/os/hal/ports/STM32/LLD/USARTv2/hal_uart_lld.h index ec5a6949e..b7cac43d7 100644 --- a/os/hal/ports/STM32/LLD/USARTv2/hal_uart_lld.h +++ b/os/hal/ports/STM32/LLD/USARTv2/hal_uart_lld.h @@ -613,6 +613,71 @@ #define STM32_DMA_REQUIRED #endif +/* Checks on allocation of USARTx units.*/ +#if STM32_UART_USE_USART1 +#if defined(STM32_USART1_IS_USED) +#error "SD1 requires USART1 but it is already used" +#else +#define STM32_USART1_IS_USED +#endif +#endif + +#if STM32_UART_USE_USART2 +#if defined(STM32_USART2_IS_USED) +#error "SD2 requires USART2 but it is already used" +#else +#define STM32_USART2_IS_USED +#endif +#endif + +#if STM32_UART_USE_USART3 +#if defined(STM32_USART3_IS_USED) +#error "SD3 requires USART3 but it is already used" +#else +#define STM32_USART3_IS_USED +#endif +#endif + +#if STM32_UART_USE_UART4 +#if defined(STM32_UART4_IS_USED) +#error "SD4 requires UART4 but it is already used" +#else +#define STM32_UART4_IS_USED +#endif +#endif + +#if STM32_UART_USE_UART5 +#if defined(STM32_UART5_IS_USED) +#error "SD5 requires UART5 but it is already used" +#else +#define STM32_UART5_IS_USED +#endif +#endif + +#if STM32_UART_USE_USART6 +#if defined(STM32_USART6_IS_USED) +#error "SD6 requires USART6 but it is already used" +#else +#define STM32_USART6_IS_USED +#endif +#endif + +#if STM32_UART_USE_UART7 +#if defined(STM32_UART7_IS_USED) +#error "SD7 requires UART7 but it is already used" +#else +#define STM32_UART7_IS_USED +#endif +#endif + +#if STM32_UART_USE_UART8 +#if defined(STM32_UART8_IS_USED) +#error "SD8 requires UART8 but it is already used" +#else +#define STM32_UART8_IS_USED +#endif +#endif + /*===========================================================================*/ /* Driver data structures and types. */ /*===========================================================================*/ diff --git a/os/hal/ports/STM32/LLD/USARTv2/stm32_lpuart1.inc b/os/hal/ports/STM32/LLD/USARTv2/stm32_lpuart1.inc index 223ce2e12..14d880144 100644 --- a/os/hal/ports/STM32/LLD/USARTv2/stm32_lpuart1.inc +++ b/os/hal/ports/STM32/LLD/USARTv2/stm32_lpuart1.inc @@ -48,13 +48,6 @@ #endif /* STM32_HAS_LPUART1 */ -/* Other checks.*/ -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_LPUART1) -#define STM32_LPUART1_IS_USED TRUE -#else -#define STM32_LPUART1_IS_USED FALSE -#endif - /*===========================================================================*/ /* Driver exported variables. */ /*===========================================================================*/ @@ -68,13 +61,13 @@ /*===========================================================================*/ static inline void lpuart1_irq_init(void) { -#if STM32_LPUART1_IS_USED +#if defined(STM32_LPUART1_IS_USED) nvicEnableVector(STM32_LPUART1_NUMBER, STM32_IRQ_LPUART1_PRIORITY); #endif } static inline void lpuart1_irq_deinit(void) { -#if STM32_LPUART1_IS_USED +#if defined(STM32_LPUART1_IS_USED) nvicDisableVector(STM32_LPUART1_NUMBER); #endif } @@ -83,7 +76,7 @@ static inline void lpuart1_irq_deinit(void) { /* Driver interrupt handlers. */ /*===========================================================================*/ -#if STM32_LPUART1_IS_USED || defined(__DOXYGEN__) +#if defined(STM32_LPUART1_IS_USED) || defined(__DOXYGEN__) /** * @brief LPUART1 interrupt handler. * diff --git a/os/hal/ports/STM32/LLD/USARTv2/stm32_uart4.inc b/os/hal/ports/STM32/LLD/USARTv2/stm32_uart4.inc index 5dd7b5101..fda09c310 100644 --- a/os/hal/ports/STM32/LLD/USARTv2/stm32_uart4.inc +++ b/os/hal/ports/STM32/LLD/USARTv2/stm32_uart4.inc @@ -48,19 +48,6 @@ #endif /* STM32_HAS_UART4 */ -/* Other checks.*/ -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART4) && \ - (HAL_USE_UART && STM32_UART_USE_UART4) -#error "UART4 used by multiple drivers" -#endif - -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART4) || \ - (HAL_USE_UART && STM32_UART_USE_UART4) -#define STM32_UART4_IS_USED TRUE -#else -#define STM32_UART4_IS_USED FALSE -#endif - /*===========================================================================*/ /* Driver exported variables. */ /*===========================================================================*/ @@ -74,13 +61,13 @@ /*===========================================================================*/ static inline void uart4_irq_init(void) { -#if STM32_UART4_IS_USED +#if defined(STM32_UART4_IS_USED) nvicEnableVector(STM32_UART4_NUMBER, STM32_IRQ_UART4_PRIORITY); #endif } static inline void uart4_irq_deinit(void) { -#if STM32_UART4_IS_USED +#if defined(STM32_UART4_IS_USED) nvicDisableVector(STM32_UART4_NUMBER); #endif } @@ -89,7 +76,7 @@ static inline void uart4_irq_deinit(void) { /* Driver interrupt handlers. */ /*===========================================================================*/ -#if STM32_UART4_IS_USED || defined(__DOXYGEN__) +#if defined(STM32_UART4_IS_USED) || defined(__DOXYGEN__) /** * @brief UART4 interrupt handler. * diff --git a/os/hal/ports/STM32/LLD/USARTv2/stm32_uart5.inc b/os/hal/ports/STM32/LLD/USARTv2/stm32_uart5.inc index b382d849d..401294544 100644 --- a/os/hal/ports/STM32/LLD/USARTv2/stm32_uart5.inc +++ b/os/hal/ports/STM32/LLD/USARTv2/stm32_uart5.inc @@ -48,19 +48,6 @@ #endif /* STM32_HAS_UART5 */ -/* Other checks.*/ -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART5) && \ - (HAL_USE_UART && STM32_UART_USE_UART5) -#error "UART5 used by multiple drivers" -#endif - -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART5) || \ - (HAL_USE_UART && STM32_UART_USE_UART5) -#define STM32_UART5_IS_USED TRUE -#else -#define STM32_UART5_IS_USED FALSE -#endif - /*===========================================================================*/ /* Driver exported variables. */ /*===========================================================================*/ @@ -74,13 +61,13 @@ /*===========================================================================*/ static inline void uart5_irq_init(void) { -#if STM32_UART5_IS_USED +#if defined(STM32_UART5_IS_USED) nvicEnableVector(STM32_UART5_NUMBER, STM32_IRQ_UART5_PRIORITY); #endif } static inline void uart5_irq_deinit(void) { -#if STM32_UART5_IS_USED +#if defined(STM32_UART5_IS_USED) nvicDisableVector(STM32_UART5_NUMBER); #endif } @@ -89,7 +76,7 @@ static inline void uart5_irq_deinit(void) { /* Driver interrupt handlers. */ /*===========================================================================*/ -#if STM32_UART5_IS_USED || defined(__DOXYGEN__) +#if defined(STM32_UART5_IS_USED) || defined(__DOXYGEN__) /** * @brief UART5 interrupt handler. * diff --git a/os/hal/ports/STM32/LLD/USARTv2/stm32_uart7.inc b/os/hal/ports/STM32/LLD/USARTv2/stm32_uart7.inc index 2ec791e35..a18ee75a1 100644 --- a/os/hal/ports/STM32/LLD/USARTv2/stm32_uart7.inc +++ b/os/hal/ports/STM32/LLD/USARTv2/stm32_uart7.inc @@ -48,19 +48,6 @@ #endif /* STM32_HAS_UART7 */ -/* Other checks.*/ -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART7) && \ - (HAL_USE_UART && STM32_UART_USE_UART7) -#error "UART7 used by multiple drivers" -#endif - -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART7) || \ - (HAL_USE_UART && STM32_UART_USE_UART7) -#define STM32_UART7_IS_USED TRUE -#else -#define STM32_UART7_IS_USED FALSE -#endif - /*===========================================================================*/ /* Driver exported variables. */ /*===========================================================================*/ @@ -74,13 +61,13 @@ /*===========================================================================*/ static inline void uart7_irq_init(void) { -#if STM32_UART7_IS_USED +#if defined(STM32_UART7_IS_USED) nvicEnableVector(STM32_UART7_NUMBER, STM32_IRQ_UART7_PRIORITY); #endif } static inline void uart7_irq_deinit(void) { -#if STM32_UART7_IS_USED +#if defined(STM32_UART7_IS_USED) nvicDisableVector(STM32_UART7_NUMBER); #endif } @@ -89,7 +76,7 @@ static inline void uart7_irq_deinit(void) { /* Driver interrupt handlers. */ /*===========================================================================*/ -#if STM32_UART7_IS_USED || defined(__DOXYGEN__) +#if defined(STM32_UART7_IS_USED) || defined(__DOXYGEN__) /** * @brief UART7 interrupt handler. * diff --git a/os/hal/ports/STM32/LLD/USARTv2/stm32_uart8.inc b/os/hal/ports/STM32/LLD/USARTv2/stm32_uart8.inc index 89584318b..906d2a153 100644 --- a/os/hal/ports/STM32/LLD/USARTv2/stm32_uart8.inc +++ b/os/hal/ports/STM32/LLD/USARTv2/stm32_uart8.inc @@ -48,19 +48,6 @@ #endif /* STM32_HAS_UART8 */ -/* Other checks.*/ -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART8) && \ - (HAL_USE_UART && STM32_UART_USE_UART8) -#error "UART8 used by multiple drivers" -#endif - -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART8) || \ - (HAL_USE_UART && STM32_UART_USE_UART8) -#define STM32_UART8_IS_USED TRUE -#else -#define STM32_UART8_IS_USED FALSE -#endif - /*===========================================================================*/ /* Driver exported variables. */ /*===========================================================================*/ @@ -74,13 +61,13 @@ /*===========================================================================*/ static inline void uart8_irq_init(void) { -#if STM32_UART8_IS_USED +#if defined(STM32_UART8_IS_USED) nvicEnableVector(STM32_UART8_NUMBER, STM32_IRQ_UART8_PRIORITY); #endif } static inline void uart8_irq_deinit(void) { -#if STM32_UART8_IS_USED +#if defined(STM32_UART8_IS_USED) nvicDisableVector(STM32_UART8_NUMBER); #endif } @@ -89,7 +76,7 @@ static inline void uart8_irq_deinit(void) { /* Driver interrupt handlers. */ /*===========================================================================*/ -#if STM32_UART8_IS_USED || defined(__DOXYGEN__) +#if defined(STM32_UART8_IS_USED) || defined(__DOXYGEN__) /** * @brief UART8 interrupt handler. * diff --git a/os/hal/ports/STM32/LLD/USARTv2/stm32_usart1.inc b/os/hal/ports/STM32/LLD/USARTv2/stm32_usart1.inc index 19aac1008..9d6b8b243 100644 --- a/os/hal/ports/STM32/LLD/USARTv2/stm32_usart1.inc +++ b/os/hal/ports/STM32/LLD/USARTv2/stm32_usart1.inc @@ -48,19 +48,6 @@ #endif /* STM32_HAS_USART1 */ -/* Other checks.*/ -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_USART1) && \ - (HAL_USE_UART && STM32_UART_USE_USART1) -#error "USART1 used by multiple drivers" -#endif - -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_USART1) || \ - (HAL_USE_UART && STM32_UART_USE_USART1) -#define STM32_USART1_IS_USED TRUE -#else -#define STM32_USART1_IS_USED FALSE -#endif - /*===========================================================================*/ /* Driver exported variables. */ /*===========================================================================*/ @@ -74,13 +61,13 @@ /*===========================================================================*/ static inline void usart1_irq_init(void) { -#if STM32_USART1_IS_USED +#if defined(STM32_USART1_IS_USED) nvicEnableVector(STM32_USART1_NUMBER, STM32_IRQ_USART1_PRIORITY); #endif } static inline void usart1_irq_deinit(void) { -#if STM32_USART1_IS_USED +#if defined(STM32_USART1_IS_USED) nvicDisableVector(STM32_USART1_NUMBER); #endif } @@ -89,7 +76,7 @@ static inline void usart1_irq_deinit(void) { /* Driver interrupt handlers. */ /*===========================================================================*/ -#if STM32_USART1_IS_USED|| defined(__DOXYGEN__) +#if defined(STM32_USART1_IS_USED) || defined(__DOXYGEN__) /** * @brief USART1 interrupt handler. * diff --git a/os/hal/ports/STM32/LLD/USARTv2/stm32_usart2.inc b/os/hal/ports/STM32/LLD/USARTv2/stm32_usart2.inc index c4b900017..f7caebc87 100644 --- a/os/hal/ports/STM32/LLD/USARTv2/stm32_usart2.inc +++ b/os/hal/ports/STM32/LLD/USARTv2/stm32_usart2.inc @@ -48,19 +48,6 @@ #endif /* STM32_HAS_USART2 */ -/* Other checks.*/ -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_USART2) && \ - (HAL_USE_UART && STM32_UART_USE_USART2) -#error "USART2 used by multiple drivers" -#endif - -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_USART2) || \ - (HAL_USE_UART && STM32_UART_USE_USART2) -#define STM32_USART2_IS_USED TRUE -#else -#define STM32_USART2_IS_USED FALSE -#endif - /*===========================================================================*/ /* Driver exported variables. */ /*===========================================================================*/ @@ -74,13 +61,13 @@ /*===========================================================================*/ static inline void usart2_irq_init(void) { -#if STM32_USART2_IS_USED +#if defined(STM32_USART2_IS_USED) nvicEnableVector(STM32_USART2_NUMBER, STM32_IRQ_USART2_PRIORITY); #endif } static inline void usart2_irq_deinit(void) { -#if STM32_USART2_IS_USED +#if defined(STM32_USART2_IS_USED) nvicDisableVector(STM32_USART2_NUMBER); #endif } @@ -89,7 +76,7 @@ static inline void usart2_irq_deinit(void) { /* Driver interrupt handlers. */ /*===========================================================================*/ -#if STM32_USART2_IS_USED || defined(__DOXYGEN__) +#if defined(STM32_USART2_IS_USED) || defined(__DOXYGEN__) /** * @brief USART2 interrupt handler. * diff --git a/os/hal/ports/STM32/LLD/USARTv2/stm32_usart3.inc b/os/hal/ports/STM32/LLD/USARTv2/stm32_usart3.inc index ff5dbda86..5fde3c7e0 100644 --- a/os/hal/ports/STM32/LLD/USARTv2/stm32_usart3.inc +++ b/os/hal/ports/STM32/LLD/USARTv2/stm32_usart3.inc @@ -48,19 +48,6 @@ #endif /* STM32_HAS_USART3 */ -/* Other checks.*/ -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_USART3) && \ - (HAL_USE_UART && STM32_UART_USE_USART3) -#error "USART3 used by multiple drivers" -#endif - -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_USART3) || \ - (HAL_USE_UART && STM32_UART_USE_USART3) -#define STM32_USART3_IS_USED TRUE -#else -#define STM32_USART3_IS_USED FALSE -#endif - /*===========================================================================*/ /* Driver exported variables. */ /*===========================================================================*/ @@ -74,13 +61,13 @@ /*===========================================================================*/ static inline void usart3_irq_init(void) { -#if STM32_USART3_IS_USED +#if defined(STM32_USART3_IS_USED) nvicEnableVector(STM32_USART3_NUMBER, STM32_IRQ_USART3_PRIORITY); #endif } static inline void usart3_irq_deinit(void) { -#if STM32_USART3_IS_USED +#if defined(STM32_USART3_IS_USED) nvicDisableVector(STM32_USART3_NUMBER); #endif } @@ -89,7 +76,7 @@ static inline void usart3_irq_deinit(void) { /* Driver interrupt handlers. */ /*===========================================================================*/ -#if STM32_USART3_IS_USED || defined(__DOXYGEN__) +#if defined(STM32_USART3_IS_USED) || defined(__DOXYGEN__) /** * @brief USART3 interrupt handler. * diff --git a/os/hal/ports/STM32/LLD/USARTv2/stm32_usart3_4_lp1.inc b/os/hal/ports/STM32/LLD/USARTv2/stm32_usart3_4_lp1.inc index 596237fb2..a4b337f2e 100644 --- a/os/hal/ports/STM32/LLD/USARTv2/stm32_usart3_4_lp1.inc +++ b/os/hal/ports/STM32/LLD/USARTv2/stm32_usart3_4_lp1.inc @@ -56,37 +56,6 @@ #endif /* STM32_HAS_USART3 || STM32_HAS_UART4 || STM32_HAS_LPUART1 */ -/* Other checks.*/ -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_USART3) && \ - (HAL_USE_UART && STM32_UART_USE_USART3) -#error "USART3 used by multiple drivers" -#endif - -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART4) && \ - (HAL_USE_UART && STM32_UART_USE_UART4) -#error "USART4 used by multiple drivers" -#endif - -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_USART3) || \ - (HAL_USE_UART && STM32_UART_USE_USART3) -#define STM32_USART3_IS_USED TRUE -#else -#define STM32_USART3_IS_USED FALSE -#endif - -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART4) || \ - (HAL_USE_UART && STM32_UART_USE_UART4) -#define STM32_USART4_IS_USED TRUE -#else -#define STM32_USART4_IS_USED FALSE -#endif - -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_LPUART1) -#define STM32_LPUART1_IS_USED TRUE -#else -#define STM32_LPUART1_IS_USED FALSE -#endif - /*===========================================================================*/ /* Driver exported variables. */ /*===========================================================================*/ @@ -100,13 +69,15 @@ /*===========================================================================*/ static inline void usart3_usart4_lpuart1_irq_init(void) { -#if STM32_USART3_IS_USED || STM32_USART4_IS_USED || STM32_LPUART1_IS_USED +#if defined(STM32_USART3_IS_USED) || defined(STM32_UART4_IS_USED) || \ + defined(STM32_LPUART1_IS_USED) nvicEnableVector(STM32_USART3_4_LP1_NUMBER, STM32_IRQ_USART3_4_LP1_PRIORITY); #endif } static inline void usart3_usart4_lpuart1_irq_deinit(void) { -#if STM32_USART3_IS_USED || STM32_USART4_IS_USED || STM32_LPUART1_IS_USED +#if defined(STM32_USART3_IS_USED) || defined(STM32_UART4_IS_USED) || \ + defined(STM32_LPUART1_IS_USED) nvicDisableVector(STM32_USART3_4_LP1_NUMBER); #endif } @@ -115,8 +86,8 @@ static inline void usart3_usart4_lpuart1_irq_deinit(void) { /* Driver interrupt handlers. */ /*===========================================================================*/ -#if STM32_USART3_IS_USED || STM32_USART4_IS_USED || \ - STM32_LPUART1_IS_USED || defined(__DOXYGEN__) +#if defined(STM32_USART3_IS_USED) || defined(STM32_UART4_IS_USED) || \ + defined(STM32_LPUART1_IS_USED) || defined(__DOXYGEN__) /** * @brief USART4, USART5, LPUART1 interrupt handler. * diff --git a/os/hal/ports/STM32/LLD/USARTv2/stm32_usart4_5.inc b/os/hal/ports/STM32/LLD/USARTv2/stm32_usart4_5.inc index 7d003a3c6..89edaedb1 100644 --- a/os/hal/ports/STM32/LLD/USARTv2/stm32_usart4_5.inc +++ b/os/hal/ports/STM32/LLD/USARTv2/stm32_usart4_5.inc @@ -52,31 +52,6 @@ #endif /* STM32_HAS_UART4 || STM32_HAS_UART5 */ -/* Other checks.*/ -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART4) && \ - (HAL_USE_UART && STM32_UART_USE_UART4) -#error "USART4 used by multiple drivers" -#endif - -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART5) && \ - (HAL_USE_UART && STM32_UART_USE_UART5) -#error "USART5 used by multiple drivers" -#endif - -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART4) || \ - (HAL_USE_UART && STM32_UART_USE_UART4) -#define STM32_USART4_IS_USED TRUE -#else -#define STM32_USART4_IS_USED FALSE -#endif - -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART5) || \ - (HAL_USE_UART && STM32_UART_USE_UART45) -#define STM32_USART5_IS_USED TRUE -#else -#define STM32_USART5_IS_USED FALSE -#endif - /*===========================================================================*/ /* Driver exported variables. */ /*===========================================================================*/ @@ -90,13 +65,13 @@ /*===========================================================================*/ static inline void usart4_usart5_irq_init(void) { -#if STM32_USART4_IS_USED || STM32_USART5_IS_USED +#if defined(STM32_UART4_IS_USED) || defined(STM32_UART5_IS_USED) nvicEnableVector(STM32_USART4_5_NUMBER, STM32_IRQ_USART4_5_PRIORITY); #endif } static inline void usart4_usart5_irq_deinit(void) { -#if STM32_USART4_IS_USED || STM32_USART5_IS_USED +#if defined(STM32_UART4_IS_USED) || defined(STM32_UART5_IS_USED) nvicDisableVector(STM32_USART4_5_NUMBER); #endif } @@ -105,7 +80,7 @@ static inline void usart4_usart5_irq_deinit(void) { /* Driver interrupt handlers. */ /*===========================================================================*/ -#if STM32_USART4_IS_USED || STM32_USART5_IS_USED || \ +#if defined(STM32_UART4_IS_USED) || defined(STM32_UART5_IS_USED) || \ defined(__DOXYGEN__) /** * @brief USART4, USART5, LPUART1 interrupt handler. diff --git a/os/hal/ports/STM32/LLD/USARTv2/stm32_usart6.inc b/os/hal/ports/STM32/LLD/USARTv2/stm32_usart6.inc index ea812a8e9..fd09e7c10 100644 --- a/os/hal/ports/STM32/LLD/USARTv2/stm32_usart6.inc +++ b/os/hal/ports/STM32/LLD/USARTv2/stm32_usart6.inc @@ -48,19 +48,6 @@ #endif /* STM32_HAS_USART6 */ -/* Other checks.*/ -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_USART6) && \ - (HAL_USE_UART && STM32_UART_USE_USART6) -#error "USART6 used by multiple drivers" -#endif - -#if (HAL_USE_SERIAL && STM32_SERIAL_USE_USART6) || \ - (HAL_USE_UART && STM32_UART_USE_USART6) -#define STM32_USART6_IS_USED TRUE -#else -#define STM32_USART6_IS_USED FALSE -#endif - /*===========================================================================*/ /* Driver exported variables. */ /*===========================================================================*/ @@ -74,13 +61,13 @@ /*===========================================================================*/ static inline void usart6_irq_init(void) { -#if STM32_USART6_IS_USED +#if defined(STM32_USART6_IS_USED) nvicEnableVector(STM32_USART6_NUMBER, STM32_IRQ_USART6_PRIORITY); #endif } static inline void usart6_irq_deinit(void) { -#if STM32_USART6_IS_USED +#if defined(STM32_USART6_IS_USED) nvicDisableVector(STM32_USART6_NUMBER); #endif } @@ -89,7 +76,7 @@ static inline void usart6_irq_deinit(void) { /* Driver interrupt handlers. */ /*===========================================================================*/ -#if STM32_USART6_IS_USED || defined(__DOXYGEN__) +#if defined(STM32_USART6_IS_USED) || defined(__DOXYGEN__) /** * @brief USART6 interrupt handler. * diff --git a/readme.txt b/readme.txt index f95e32ace..477f0ea3a 100644 --- a/readme.txt +++ b/readme.txt @@ -74,6 +74,8 @@ ***************************************************************************** *** Next *** +- NEW: Simplified USART units use collision detection in STM32 HAL, now it is + done like for TIM units for consistency. - NEW: Identification macros such as__CHIBIOS_RT__ are now prefixed by two underscores. - NEW: Support for 3 analog watchdogs in ADCv3 (STM32F3, L4, L4+, G4).