aboutsummaryrefslogtreecommitdiff
path: root/stm-uart.c
diff options
context:
space:
mode:
authorFredrik Thulin <fredrik@thulin.net>2016-07-09 20:26:57 +0200
committerFredrik Thulin <fredrik@thulin.net>2016-07-09 20:26:57 +0200
commitdcc6cf1b97935bc3a663714f596cacba619a8b3d (patch)
treec38a88e9ae4a1e012cf2cceb2da3c9c10d2bb27a /stm-uart.c
parent3ea10bf4fba185a8bfbb33a8c67a69f70b95755a (diff)
parentdf9e82b28aad97664cba1fc238bc4f2563c1de7c (diff)
Merge branch 'master' of git.cryptech.is.:sw/stm32
Diffstat (limited to 'stm-uart.c')
-rw-r--r--stm-uart.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/stm-uart.c b/stm-uart.c
index 7911d44..05190fb 100644
--- a/stm-uart.c
+++ b/stm-uart.c
@@ -43,8 +43,13 @@ UART_HandleTypeDef huart_user; /* USART2 */
DMA_HandleTypeDef hdma_usart_mgmt_rx;
DMA_HandleTypeDef hdma_usart_user_rx;
-#define DEFAULT_UART STM_UART_USER
+static stm_uart_port_t default_uart = STM_UART_USER;
+void uart_set_default(stm_uart_port_t port)
+{
+ if (port == STM_UART_USER || port == STM_UART_MGMT)
+ default_uart = port;
+}
inline UART_HandleTypeDef *_which_uart(stm_uart_port_t port)
{
@@ -60,7 +65,7 @@ inline UART_HandleTypeDef *_which_uart(stm_uart_port_t port)
/* send a single character */
HAL_StatusTypeDef uart_send_char(uint8_t ch)
{
- return uart_send_char2(DEFAULT_UART, ch);
+ return uart_send_char2(default_uart, ch);
}
HAL_StatusTypeDef uart_send_char2(stm_uart_port_t port, uint8_t ch)
@@ -71,7 +76,7 @@ HAL_StatusTypeDef uart_send_char2(stm_uart_port_t port, uint8_t ch)
/* receive a single character */
HAL_StatusTypeDef uart_recv_char(uint8_t *cp)
{
- return uart_recv_char2(DEFAULT_UART, cp, HAL_MAX_DELAY);
+ return uart_recv_char2(default_uart, cp, HAL_MAX_DELAY);
}
/* receive a single character */
@@ -88,7 +93,7 @@ HAL_StatusTypeDef uart_recv_char2(stm_uart_port_t port, uint8_t *cp, uint32_t ti
/* send a string */
HAL_StatusTypeDef uart_send_string(char *s)
{
- return uart_send_string2(DEFAULT_UART, s);
+ return uart_send_string2(default_uart, s);
}
/* send a string */
@@ -129,7 +134,7 @@ HAL_StatusTypeDef uart_receive_bytes(stm_uart_port_t port, uint8_t *buf, size_t
*/
HAL_StatusTypeDef uart_send_number(uint32_t num, uint8_t digits, uint8_t radix)
{
- return uart_send_number2(DEFAULT_UART, num, digits, radix);
+ return uart_send_number2(default_uart, num, digits, radix);
}
HAL_StatusTypeDef uart_send_number2(stm_uart_port_t port, uint32_t num, uint8_t digits, uint8_t radix)