aboutsummaryrefslogtreecommitdiffstats
path: root/wirish/include
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2012-06-01 17:26:03 -0400
committerMarti Bolivar <mbolivar@leaflabs.com>2012-06-01 17:26:03 -0400
commit66876d1883055bccae9ae5e73fb3c5d29cb2b453 (patch)
tree555275f97ed04efdf2524a8c2d27d08a9f9ad394 /wirish/include
parentd4d924ccda26083f4495661ee1fd1b6e549626d7 (diff)
downloadlibrambutan-66876d1883055bccae9ae5e73fb3c5d29cb2b453.tar.gz
librambutan-66876d1883055bccae9ae5e73fb3c5d29cb2b453.zip
Preprocessor-fu to derive BOARD_HAVE_USARTn from <board/board.h>.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
Diffstat (limited to 'wirish/include')
-rw-r--r--wirish/include/wirish/boards.h21
1 files changed, 21 insertions, 0 deletions
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