diff --git a/STM32F1/cores/maple/HardwareSerial.cpp b/STM32F1/cores/maple/HardwareSerial.cpp index ea5877e..ec87318 100644 --- a/STM32F1/cores/maple/HardwareSerial.cpp +++ b/STM32F1/cores/maple/HardwareSerial.cpp @@ -42,6 +42,11 @@ BOARD_USART##n##_TX_PIN, \ BOARD_USART##n##_RX_PIN) +#define DEFINE_HWSERIAL_UART(name, n) \ + HardwareSerial name(UART##n, \ + BOARD_USART##n##_TX_PIN, \ + BOARD_USART##n##_RX_PIN) + #ifdef BOOTLOADER_maple #if BOARD_HAVE_USART1 DEFINE_HWSERIAL(Serial1, 1); @@ -53,13 +58,13 @@ DEFINE_HWSERIAL(Serial3, 3); #endif #if BOARD_HAVE_UART4 - DEFINE_HWSERIAL(Serial4, 4); + DEFINE_HWSERIAL_UART(Serial4, 4); #endif #if BOARD_HAVE_UART5 - DEFINE_HWSERIAL(Serial5, 5); + DEFINE_HWSERIAL_UART(Serial5, 5); #endif #if BOARD_HAVE_USART6 - DEFINE_HWSERIAL(Serial6, 6); + DEFINE_HWSERIAL_UART(Serial6, 6); #endif #else #if BOARD_HAVE_USART1 @@ -72,13 +77,13 @@ DEFINE_HWSERIAL(Serial2, 3); #endif #if BOARD_HAVE_UART4 - DEFINE_HWSERIAL(Serial3, 4); + DEFINE_HWSERIAL_UART(Serial3, 4); #endif #if BOARD_HAVE_UART5 - DEFINE_HWSERIAL(Serial4, 5); + DEFINE_HWSERIAL_UART(Serial4, 5); #endif #if BOARD_HAVE_USART6 - DEFINE_HWSERIAL(Serial5, 6); + DEFINE_HWSERIAL_UART(Serial5, 6); #endif #endif HardwareSerial::HardwareSerial(usart_dev *usart_device, diff --git a/STM32F1/variants/generic_stm32f103rxx/board/board.h b/STM32F1/variants/generic_stm32f103rxx/board/board.h index 20ad9aa..9489a23 100644 --- a/STM32F1/variants/generic_stm32f103rxx/board/board.h +++ b/STM32F1/variants/generic_stm32f103rxx/board/board.h @@ -44,15 +44,23 @@ #define BOARD_BUTTON_PIN 38 #define BOARD_LED_PIN 13 -/* Note: UART4 and UART5 have pins which aren't broken out :( */ -#define BOARD_NR_USARTS 3 +// USARTS +#define BOARD_NR_USARTS 5 #define BOARD_USART1_TX_PIN PA9 #define BOARD_USART1_RX_PIN PA10 + #define BOARD_USART2_TX_PIN PA2 #define BOARD_USART2_RX_PIN PA3 + #define BOARD_USART3_TX_PIN PB10 #define BOARD_USART3_RX_PIN PB11 +#define BOARD_USART4_TX_PIN PC10 +#define BOARD_USART4_RX_PIN PC11 + +#define BOARD_USART5_TX_PIN PC12 +#define BOARD_USART6_RX_PIN PD2 + /* Note: * * SPI3 is unusable due to pin 43 (PB4) and NRST tie-together :(, but diff --git a/STM32F1/variants/generic_stm32f103zxx/board/board.h b/STM32F1/variants/generic_stm32f103zxx/board/board.h index 0f12171..7e22956 100644 --- a/STM32F1/variants/generic_stm32f103zxx/board/board.h +++ b/STM32F1/variants/generic_stm32f103zxx/board/board.h @@ -44,15 +44,23 @@ #define BOARD_BUTTON_PIN 38 #define BOARD_LED_PIN 13 -/* Note: UART4 and UART5 have pins which aren't broken out :( */ -#define BOARD_NR_USARTS 3 +// USARTS +#define BOARD_NR_USARTS 5 #define BOARD_USART1_TX_PIN PA9 #define BOARD_USART1_RX_PIN PA10 + #define BOARD_USART2_TX_PIN PA2 #define BOARD_USART2_RX_PIN PA3 + #define BOARD_USART3_TX_PIN PB10 #define BOARD_USART3_RX_PIN PB11 +#define BOARD_USART4_TX_PIN PC10 +#define BOARD_USART4_RX_PIN PC11 + +#define BOARD_USART5_TX_PIN PC12 +#define BOARD_USART6_RX_PIN PD2 + /* Note: * * SPI3 is unusable due to pin 43 (PB4) and NRST tie-together :(, but