From 66876d1883055bccae9ae5e73fb3c5d29cb2b453 Mon Sep 17 00:00:00 2001 From: Marti Bolivar Date: Fri, 1 Jun 2012 17:26:03 -0400 Subject: Preprocessor-fu to derive BOARD_HAVE_USARTn from . Signed-off-by: Marti Bolivar --- wirish/boards/VLDiscovery/include/board/board.h | 6 ------ wirish/boards/maple/include/board/board.h | 9 +-------- wirish/boards/maple_RET6/include/board/board.h | 6 ------ wirish/boards/maple_mini/include/board/board.h | 6 ------ wirish/boards/maple_native/include/board/board.h | 6 ------ .../boards/olimex_stm32_h103/include/board/board.h | 6 ------ .../boards/st_stm3220g_eval/include/board/board.h | 6 ------ wirish/include/wirish/boards.h | 21 +++++++++++++++++++++ 8 files changed, 22 insertions(+), 44 deletions(-) (limited to 'wirish') diff --git a/wirish/boards/VLDiscovery/include/board/board.h b/wirish/boards/VLDiscovery/include/board/board.h index c54abc1..04d21c7 100644 --- a/wirish/boards/VLDiscovery/include/board/board.h +++ b/wirish/boards/VLDiscovery/include/board/board.h @@ -45,12 +45,6 @@ /* Number of USARTs/UARTs whose pins are broken out to headers */ #define BOARD_NR_USARTS 3 -#define BOARD_HAVE_USART1 1 -#define BOARD_HAVE_USART2 1 -#define BOARD_HAVE_USART3 1 -#define BOARD_HAVE_UART4 0 -#define BOARD_HAVE_UART5 0 -#define BOARD_HAVE_USART6 0 /* Default USART pin numbers (not considering AFIO remap) */ #define BOARD_USART1_TX_PIN 7 diff --git a/wirish/boards/maple/include/board/board.h b/wirish/boards/maple/include/board/board.h index ed89fee..9319989 100644 --- a/wirish/boards/maple/include/board/board.h +++ b/wirish/boards/maple/include/board/board.h @@ -39,15 +39,8 @@ #define BOARD_BUTTON_PIN 38 #define BOARD_LED_PIN 13 -/* Number of USARTs/UARTs whose pins are broken out to headers, and - * macros saying which ones they are. */ +/* Number of USARTs/UARTs whose pins are broken out to headers. */ #define BOARD_NR_USARTS 3 -#define BOARD_HAVE_USART1 1 -#define BOARD_HAVE_USART2 1 -#define BOARD_HAVE_USART3 1 -#define BOARD_HAVE_UART4 0 -#define BOARD_HAVE_UART5 0 -#define BOARD_HAVE_USART6 0 /* Default USART pin numbers (not considering AFIO remap) */ #define BOARD_USART1_TX_PIN 7 diff --git a/wirish/boards/maple_RET6/include/board/board.h b/wirish/boards/maple_RET6/include/board/board.h index 3291498..05b9031 100644 --- a/wirish/boards/maple_RET6/include/board/board.h +++ b/wirish/boards/maple_RET6/include/board/board.h @@ -44,12 +44,6 @@ /* UART4 and UART5 have pins which aren't broken out :( */ #define BOARD_NR_USARTS 3 -#define BOARD_HAVE_USART1 1 -#define BOARD_HAVE_USART2 1 -#define BOARD_HAVE_USART3 1 -#define BOARD_HAVE_UART4 0 -#define BOARD_HAVE_UART5 0 -#define BOARD_HAVE_USART6 0 #define BOARD_USART1_TX_PIN 7 #define BOARD_USART1_RX_PIN 8 #define BOARD_USART2_TX_PIN 1 diff --git a/wirish/boards/maple_mini/include/board/board.h b/wirish/boards/maple_mini/include/board/board.h index 8ba91ce..bfba46d 100644 --- a/wirish/boards/maple_mini/include/board/board.h +++ b/wirish/boards/maple_mini/include/board/board.h @@ -43,12 +43,6 @@ #define BOARD_LED_PIN 33 #define BOARD_NR_USARTS 3 -#define BOARD_HAVE_USART1 1 -#define BOARD_HAVE_USART2 1 -#define BOARD_HAVE_USART3 1 -#define BOARD_HAVE_UART4 0 -#define BOARD_HAVE_UART5 0 -#define BOARD_HAVE_USART6 0 #define BOARD_USART1_TX_PIN 26 #define BOARD_USART1_RX_PIN 25 #define BOARD_USART2_TX_PIN 9 diff --git a/wirish/boards/maple_native/include/board/board.h b/wirish/boards/maple_native/include/board/board.h index a4f8896..397afaf 100644 --- a/wirish/boards/maple_native/include/board/board.h +++ b/wirish/boards/maple_native/include/board/board.h @@ -43,12 +43,6 @@ #define BOARD_BUTTON_PIN 6 #define BOARD_NR_USARTS 5 -#define BOARD_HAVE_USART1 1 -#define BOARD_HAVE_USART2 1 -#define BOARD_HAVE_USART3 1 -#define BOARD_HAVE_UART4 1 -#define BOARD_HAVE_UART5 1 -#define BOARD_HAVE_USART6 0 #define BOARD_USART1_TX_PIN 24 #define BOARD_USART1_RX_PIN 25 #define BOARD_USART2_TX_PIN 50 diff --git a/wirish/boards/olimex_stm32_h103/include/board/board.h b/wirish/boards/olimex_stm32_h103/include/board/board.h index 46367ac..b312e26 100644 --- a/wirish/boards/olimex_stm32_h103/include/board/board.h +++ b/wirish/boards/olimex_stm32_h103/include/board/board.h @@ -42,12 +42,6 @@ /* Number of USARTs/UARTs whose pins are broken out to headers */ #define BOARD_NR_USARTS 3 -#define BOARD_HAVE_USART1 1 -#define BOARD_HAVE_USART2 1 -#define BOARD_HAVE_USART3 1 -#define BOARD_HAVE_UART4 0 -#define BOARD_HAVE_UART5 0 -#define BOARD_HAVE_USART6 0 /* Default USART pin numbers (not considering AFIO remap) */ #define BOARD_USART1_TX_PIN 3 diff --git a/wirish/boards/st_stm3220g_eval/include/board/board.h b/wirish/boards/st_stm3220g_eval/include/board/board.h index f99a585..fe9658a 100644 --- a/wirish/boards/st_stm3220g_eval/include/board/board.h +++ b/wirish/boards/st_stm3220g_eval/include/board/board.h @@ -44,12 +44,6 @@ #define BOARD_LED_PIN 0 #define BOARD_NR_USARTS 0 -#define BOARD_HAVE_USART1 0 -#define BOARD_HAVE_USART2 0 -#define BOARD_HAVE_USART3 0 -#define BOARD_HAVE_UART4 0 -#define BOARD_HAVE_UART5 0 -#define BOARD_HAVE_USART6 0 #define BOARD_NR_SPI 0 #define BOARD_NR_GPIO_PINS 6 #define BOARD_NR_PWM_PINS 0 diff --git a/wirish/include/wirish/boards.h b/wirish/include/wirish/boards.h index 3c2740a..2da252d 100644 --- a/wirish/include/wirish/boards.h +++ b/wirish/include/wirish/boards.h @@ -114,4 +114,25 @@ bool boardUsesPin(uint8 pin); #define CLOCK_SPEED_MHZ CYCLES_PER_MICROSECOND #define CLOCK_SPEED_HZ (CLOCK_SPEED_MHZ * 1000000UL) +/** + * @brief Does the board break out a USART/UART's RX and TX pins? + * + * BOARD_HAVE_USART(n) is nonzero iff USARTn is available. Also see + * BOARD_HAVE_USART1, ..., BOARD_HAVE_UART4 (sic), etc. + */ +#define BOARD_HAVE_USART(n) (defined(BOARD_USART##n##_TX_PIN) && \ + defined(BOARD_USART##n##_RX_PIN)) +/** Feature test: nonzero iff the board has USART1. */ +#define BOARD_HAVE_USART1 BOARD_HAVE_USART(1) +/** Feature test: nonzero iff the board has USART2, 0 otherwise. */ +#define BOARD_HAVE_USART2 BOARD_HAVE_USART(2) +/** Feature test: nonzero iff the board has USART3, 0 otherwise. */ +#define BOARD_HAVE_USART3 BOARD_HAVE_USART(3) +/** Feature test: nonzero iff the board has UART4, 0 otherwise. */ +#define BOARD_HAVE_UART4 BOARD_HAVE_USART(4) +/** Feature test: nonzero iff the board has UART5, 0 otherwise. */ +#define BOARD_HAVE_UART5 BOARD_HAVE_USART(5) +/** Feature test: nonzero iff the board has USART6, 0 otherwise. */ +#define BOARD_HAVE_USART6 BOARD_HAVE_USART(6) + #endif -- cgit v1.2.3