diff --git a/STM32F1/variants/generic_stm32f103r/board.cpp b/STM32F1/variants/generic_stm32f103r/board.cpp index 9825d9c..d04bb4a 100644 --- a/STM32F1/variants/generic_stm32f103r/board.cpp +++ b/STM32F1/variants/generic_stm32f103r/board.cpp @@ -32,6 +32,11 @@ #include // For this board's header file + +/* Roger Clark. Added next to includes for changes to Serial */ +#include +#include + #include // For stm32_pin_info and its contents // (these go into PIN_MAP). @@ -148,3 +153,19 @@ extern const uint8 boardUsedPins[BOARD_NR_USED_PINS] __FLASH__ = { BOARD_JTMS_SWDIO_PIN, BOARD_JTCK_SWCLK_PIN, BOARD_JTDI_PIN, BOARD_JTDO_PIN, BOARD_NJTRST_PIN }; + + +#ifdef SERIAL_USB + DEFINE_HWSERIAL(Serial1, 1); + DEFINE_HWSERIAL(Serial2, 2); + DEFINE_HWSERIAL(Serial3, 3); + DEFINE_HWSERIAL_UART(Serial4, 4); + DEFINE_HWSERIAL_UART(Serial5, 5); +#else + DEFINE_HWSERIAL(Serial, 1); + DEFINE_HWSERIAL(Serial1, 2); + DEFINE_HWSERIAL(Serial2, 3); + DEFINE_HWSERIAL_UART(Serial3, 4); + DEFINE_HWSERIAL_UART(Serial4, 5); +#endif + diff --git a/STM32F1/variants/generic_stm32f103v/board.cpp b/STM32F1/variants/generic_stm32f103v/board.cpp index 079108d..1b9b1c0 100644 --- a/STM32F1/variants/generic_stm32f103v/board.cpp +++ b/STM32F1/variants/generic_stm32f103v/board.cpp @@ -32,6 +32,10 @@ #include // For this board's header file +/* Roger Clark. Added next to includes for changes to Serial */ +#include +#include + #include // For stm32_pin_info and its contents // (these go into PIN_MAP). @@ -178,3 +182,18 @@ extern const uint8 boardUsedPins[BOARD_NR_USED_PINS] __FLASH__ = { BOARD_LED_PIN, BOARD_BUTTON_PIN, BOARD_JTMS_SWDIO_PIN, BOARD_JTCK_SWCLK_PIN, BOARD_JTDI_PIN, BOARD_JTDO_PIN, BOARD_NJTRST_PIN }; + + +#ifdef SERIAL_USB + DEFINE_HWSERIAL(Serial1, 1); + DEFINE_HWSERIAL(Serial2, 2); + DEFINE_HWSERIAL(Serial3, 3); + DEFINE_HWSERIAL_UART(Serial4, 4); + DEFINE_HWSERIAL_UART(Serial5, 5); +#else + DEFINE_HWSERIAL(Serial, 1); + DEFINE_HWSERIAL(Serial1, 2); + DEFINE_HWSERIAL(Serial2, 3); + DEFINE_HWSERIAL_UART(Serial3, 4); + DEFINE_HWSERIAL_UART(Serial4, 5); +#endif \ No newline at end of file diff --git a/STM32F1/variants/generic_stm32f103v/board/board.h b/STM32F1/variants/generic_stm32f103v/board/board.h index 4834b8b..319688d 100644 --- a/STM32F1/variants/generic_stm32f103v/board/board.h +++ b/STM32F1/variants/generic_stm32f103v/board/board.h @@ -46,20 +46,22 @@ #define BOARD_LED_PIN PE5 #define BOARD_LED_PIN2 PE6 -/* 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_USART5_RX_PIN PD2 -*/ diff --git a/STM32F1/variants/generic_stm32f103z/board.cpp b/STM32F1/variants/generic_stm32f103z/board.cpp index d575fcb..cb04ae9 100644 --- a/STM32F1/variants/generic_stm32f103z/board.cpp +++ b/STM32F1/variants/generic_stm32f103z/board.cpp @@ -32,6 +32,10 @@ #include // For this board's header file +/* Roger Clark. Added next to includes for changes to Serial */ +#include +#include + #include // For stm32_pin_info and its contents // (these go into PIN_MAP). @@ -213,3 +217,18 @@ extern const uint8 boardUsedPins[BOARD_NR_USED_PINS] __FLASH__ = { BOARD_JTMS_SWDIO_PIN, BOARD_JTCK_SWCLK_PIN, BOARD_JTDI_PIN, BOARD_JTDO_PIN, BOARD_NJTRST_PIN }; + + +#ifdef SERIAL_USB + DEFINE_HWSERIAL(Serial1, 1); + DEFINE_HWSERIAL(Serial2, 2); + DEFINE_HWSERIAL(Serial3, 3); + DEFINE_HWSERIAL_UART(Serial4, 4); + DEFINE_HWSERIAL_UART(Serial5, 5); +#else + DEFINE_HWSERIAL(Serial, 1); + DEFINE_HWSERIAL(Serial1, 2); + DEFINE_HWSERIAL(Serial2, 3); + DEFINE_HWSERIAL_UART(Serial3, 4); + DEFINE_HWSERIAL_UART(Serial4, 5); +#endif \ No newline at end of file diff --git a/STM32F1/variants/maple/board.cpp b/STM32F1/variants/maple/board.cpp index e66da96..e1f66c4 100644 --- a/STM32F1/variants/maple/board.cpp +++ b/STM32F1/variants/maple/board.cpp @@ -32,6 +32,10 @@ #include // For this board's header file +/* Roger Clark. Added next to includes for changes to Serial */ +#include +#include + #include // For stm32_pin_info and its contents // (these go into PIN_MAP). @@ -141,3 +145,19 @@ extern const uint8 boardUsedPins[] __FLASH__ = { 13, 33, BOARD_JTMS_SWDIO_PIN, BOARD_JTCK_SWCLK_PIN, BOARD_JTDI_PIN, BOARD_JTDO_PIN, BOARD_NJTRST_PIN }; + +/* + * Roger Clark + * + * 2015/05/28 + * + * Moved definitions for Hardware Serial devices from HardwareSerial.cpp so that each board can define which Arduino "Serial" instance + * Maps to which hardware serial port on the microprocessor + * + * Note. Maple always has SERIAL USB, so there is no need for the #fidef for this + * As its a Medium Density device (F103RB), it only has 3 hardware serial devices. + */ + +DEFINE_HWSERIAL(Serial1, 1); +DEFINE_HWSERIAL(Serial2, 2); +DEFINE_HWSERIAL(Serial3, 3); diff --git a/STM32F1/variants/maple_mini/board.cpp b/STM32F1/variants/maple_mini/board.cpp index 358f89c..0641d77 100644 --- a/STM32F1/variants/maple_mini/board.cpp +++ b/STM32F1/variants/maple_mini/board.cpp @@ -35,6 +35,10 @@ #include #include +/* Roger Clark. Added next to includes for changes to Serial */ +#include +#include + #include #include @@ -103,3 +107,22 @@ extern const uint8 boardADCPins[BOARD_NR_ADC_PINS] __FLASH__ = { extern const uint8 boardUsedPins[BOARD_NR_USED_PINS] __FLASH__ = { 32, 32, USB_DP, USB_DM }; + + +/* + * Roger Clark + * + * 2015/05/28 + * + * Moved definitions for Hardware Serial devices from HardwareSerial.cpp so that each board can define which Arduino "Serial" instance + * Maps to which hardware serial port on the microprocessor + * + * Note. Maple mini always has SERIAL USB, so there is no need for the #fidef for this + * As its a Medium Density device, it only has 3 hardware serial devices. + */ + +DEFINE_HWSERIAL(Serial1, 1); +DEFINE_HWSERIAL(Serial2, 2); +DEFINE_HWSERIAL(Serial3, 3); + + \ No newline at end of file diff --git a/STM32F1/variants/maple_ret6/board.cpp b/STM32F1/variants/maple_ret6/board.cpp index b29c95c..c210673 100644 --- a/STM32F1/variants/maple_ret6/board.cpp +++ b/STM32F1/variants/maple_ret6/board.cpp @@ -32,6 +32,10 @@ #include // For this board's header file +/* Roger Clark. Added next to includes for changes to Serial */ +#include +#include + #include // For stm32_pin_info and its contents // (these go into PIN_MAP). @@ -155,3 +159,20 @@ extern const uint8 boardUsedPins[BOARD_NR_USED_PINS] __FLASH__ = { BOARD_JTMS_SWDIO_PIN, BOARD_JTCK_SWCLK_PIN, BOARD_JTDI_PIN, BOARD_JTDO_PIN, BOARD_NJTRST_PIN }; + +/* + * Roger Clark + * + * 2015/05/28 + * + * Moved definitions for Hardware Serial devices from HardwareSerial.cpp so that each board can define which Arduino "Serial" instance + * Maps to which hardware serial port on the microprocessor + * + * Note. Maple Ret always has SERIAL USB, so there is no need for the #fidef for this + * As its a High Density device (F103RE), it has 6 hardware serial devices. + */ +DEFINE_HWSERIAL(Serial1, 1); +DEFINE_HWSERIAL(Serial2, 2); +DEFINE_HWSERIAL(Serial3, 3); +DEFINE_HWSERIAL_UART(Serial4, 4); +DEFINE_HWSERIAL_UART(Serial5, 5); \ No newline at end of file diff --git a/STM32F1/variants/microduino/board.cpp b/STM32F1/variants/microduino/board.cpp index d9434ae..6375197 100644 --- a/STM32F1/variants/microduino/board.cpp +++ b/STM32F1/variants/microduino/board.cpp @@ -33,6 +33,10 @@ #include +/* Roger Clark. Added next to includes for changes to Serial */ +#include +#include + #include #include @@ -95,3 +99,19 @@ extern const uint8 boardADCPins[BOARD_NR_ADC_PINS] __FLASH__ = { extern const uint8 boardUsedPins[BOARD_NR_USED_PINS] __FLASH__ = { 4, 24, USB_DP, USB_DM }; + + +/* + * Roger Clark + * + * 2015/05/28 + * + * Moved definitions for Hardware Serial devices from HardwareSerial.cpp so that each board can define which Arduino "Serial" instance + * Maps to which hardware serial port on the microprocessor + * + * Note. I think a microduino is a Maple mini clone in another form factor, + */ + +DEFINE_HWSERIAL(Serial1, 1); +DEFINE_HWSERIAL(Serial2, 2); +DEFINE_HWSERIAL(Serial3, 3); diff --git a/STM32F1/variants/nucleo_f103rb/board.cpp b/STM32F1/variants/nucleo_f103rb/board.cpp index 0d63eed..8f58386 100644 --- a/STM32F1/variants/nucleo_f103rb/board.cpp +++ b/STM32F1/variants/nucleo_f103rb/board.cpp @@ -249,15 +249,11 @@ MOSI alternate functions on the GPIO ports. */ #ifdef SERIAL_USB - DEFINE_HWSERIAL(Serial1, 2); - - DEFINE_HWSERIAL(Serial2, 1); - - DEFINE_HWSERIAL(Serial3, 3); + DEFINE_HWSERIAL(Serial1, 1); + DEFINE_HWSERIAL(Serial2, 2); + DEFINE_HWSERIAL(Serial3, 3); #else - DEFINE_HWSERIAL(Serial, 2);// Use HW Serial 2 as "Serial" - - DEFINE_HWSERIAL(Serial1, 1); - - DEFINE_HWSERIAL(Serial2, 3); + DEFINE_HWSERIAL(Serial, 3);// Use HW Serial 2 as "Serial" + DEFINE_HWSERIAL(Serial1, 2); + DEFINE_HWSERIAL(Serial2, 1); #endif \ No newline at end of file