summaryrefslogtreecommitdiff
path: root/app/platform/stm32f0-gcc/uart.h
diff options
context:
space:
mode:
Diffstat (limited to 'app/platform/stm32f0-gcc/uart.h')
-rw-r--r--app/platform/stm32f0-gcc/uart.h25
1 files changed, 17 insertions, 8 deletions
diff --git a/app/platform/stm32f0-gcc/uart.h b/app/platform/stm32f0-gcc/uart.h
index 176f847..1cbc56f 100644
--- a/app/platform/stm32f0-gcc/uart.h
+++ b/app/platform/stm32f0-gcc/uart.h
@@ -2,11 +2,20 @@
#include <cstddef>
#include "stm32f0xx.h"
-// Non-blocking buffered write
-size_t UARTWrite(USART_TypeDef*, const void *data, size_t nbytes);
-// Blocking write directly into data register
-size_t UARTWriteDirect(USART_TypeDef*, const void *data, size_t nbytes);
-// Non-blocking buffered read
-size_t UARTRead(USART_TypeDef*, void *data, size_t nbytes);
-// Blocking read directly from data register
-size_t UARTReadDirect(USART_TypeDef*, void *data, size_t nbytes);
+struct UART;
+
+/// Non-blocking buffered write
+size_t UARTWrite(UART*, const void *buf, size_t nbytes);
+/// Blocking write directly into data register
+size_t UARTWriteDirect(UART*, const void *buf, size_t nbytes);
+/// Non-blocking buffered read
+size_t UARTRead(UART*, void *buf, size_t nbytes);
+/// Blocking read directly from data register
+size_t UARTReadDirect(UART*, void *buf, size_t nbytes);
+/// Generic interrupt handler
+void UARTHandleInterrupt(UART*);
+
+extern UART g_uart1;
+extern UART g_uart2;
+extern UART g_uart3;
+extern UART g_uart4;