aboutsummaryrefslogtreecommitdiffstats
path: root/wirish/boards/st_stm3220g_eval/include/board
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2012-06-01 01:10:47 -0400
committerMarti Bolivar <mbolivar@leaflabs.com>2012-06-01 01:28:51 -0400
commitd483f8fa0c7c1f65c926b24d6c66275953d03c4f (patch)
tree84cd29e2f201fbd6bbac753027c146061e0f05e4 /wirish/boards/st_stm3220g_eval/include/board
parentb1e06d3acaa72976042314c1debec008c5ac54d7 (diff)
downloadlibrambutan-d483f8fa0c7c1f65c926b24d6c66275953d03c4f.tar.gz
librambutan-d483f8fa0c7c1f65c926b24d6c66275953d03c4f.zip
Bring back HardwareSerial.
To make this happen, we need to have <board/board.h> tell us whether or not it's got each of the USARTs. Do that with BOARD_HAVE_USARTn, for n = 1,...,6. This lets us define HardwareSerial instances only when appropriate, and gets rid of some board-specific hacks we'd accumulated. The new <libmaple/usart.h> now has a convenience function for determining the bus rate by using the appropriate STM32_PCLKx macro, so we can shave a uint32 per instance, which is nice given that they're all going to be in memory. This changes the constructor arguments, but the API only specifies the semantics of the predefined instances, so this is still backwards-compatible. (We should look into storing the instances in Flash -- they don't change, after all.) We don't actually need struct usart_dev's definition in HardwareSerial.h, so replace it with a forward declaration and include <libmaple/usart.h> it in HardwareSerial.cpp instead. Assert some copyrights. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
Diffstat (limited to 'wirish/boards/st_stm3220g_eval/include/board')
-rw-r--r--wirish/boards/st_stm3220g_eval/include/board/board.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/wirish/boards/st_stm3220g_eval/include/board/board.h b/wirish/boards/st_stm3220g_eval/include/board/board.h
index 08b935e..f99a585 100644
--- a/wirish/boards/st_stm3220g_eval/include/board/board.h
+++ b/wirish/boards/st_stm3220g_eval/include/board/board.h
@@ -27,7 +27,11 @@
/**
* @file wirish/boards/st_stm3220g_eval/include/board/board.h
* @author Marti Bolivar <mbolivar@leaflabs.com>
- * @brief STM3220G-EVAL board header.
+ * @brief STM3220G-EVAL board stub header.
+ *
+ * This (and the corresponding board.cpp) needs to be fixed and
+ * fleshed out. Do it later? Maybe someone who wants support for this
+ * board will do it.
*/
#ifndef _BOARD_ST_STM3220G_EVAL_H_
@@ -40,6 +44,12 @@
#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