diff --git a/Makefile b/Makefile index 340dbcacb8..aabdf94544 100644 --- a/Makefile +++ b/Makefile @@ -581,6 +581,7 @@ COMMON_SRC = \ drivers/rx_pwm.c \ drivers/serial.c \ drivers/serial_uart.c \ + drivers/serial_softserial.c \ drivers/sound_beeper.c \ drivers/stack_check.c \ drivers/system.c \ @@ -651,7 +652,6 @@ HIGHEND_SRC = \ drivers/display_ug2864hsweg01.c \ drivers/light_ws2811strip.c \ drivers/serial_escserial.c \ - drivers/serial_softserial.c \ drivers/sonar_hcsr04.c \ drivers/vtx_common.c \ flight/navigation.c \ diff --git a/src/main/target/AIR32/target.h b/src/main/target/AIR32/target.h index eb848b4532..effa6ea316 100644 --- a/src/main/target/AIR32/target.h +++ b/src/main/target/AIR32/target.h @@ -60,7 +60,9 @@ #define USE_UART1 #define USE_UART2 #define USE_UART3 -#define SERIAL_PORT_COUNT 4 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 +#define SERIAL_PORT_COUNT 6 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/ALIENFLIGHTF1/target.h b/src/main/target/ALIENFLIGHTF1/target.h index 02a730444e..098afa03fd 100644 --- a/src/main/target/ALIENFLIGHTF1/target.h +++ b/src/main/target/ALIENFLIGHTF1/target.h @@ -45,7 +45,9 @@ #define USE_UART1 #define USE_UART2 #define USE_UART3 -#define SERIAL_PORT_COUNT 3 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 +#define SERIAL_PORT_COUNT 5 #define UART3_RX_PIN PB11 #define UART3_TX_PIN PB10 diff --git a/src/main/target/ALIENFLIGHTF3/target.h b/src/main/target/ALIENFLIGHTF3/target.h index 6f8d943584..3457992431 100644 --- a/src/main/target/ALIENFLIGHTF3/target.h +++ b/src/main/target/ALIENFLIGHTF3/target.h @@ -70,7 +70,11 @@ #define USE_UART1 // Not connected - TX (PB6) RX PB7 (AF7) #define USE_UART2 // Receiver - RX (PA3) #define USE_UART3 // Not connected - 10/RX (PB11) 11/TX (PB10) -#define SERIAL_PORT_COUNT 4 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 + #define AVOID_UART2_FOR_PWM_PPM #define USE_ESCSERIAL diff --git a/src/main/target/ALIENFLIGHTF4/target.h b/src/main/target/ALIENFLIGHTF4/target.h index 1c234b3a23..43861ec531 100644 --- a/src/main/target/ALIENFLIGHTF4/target.h +++ b/src/main/target/ALIENFLIGHTF4/target.h @@ -121,7 +121,10 @@ //#define UART5_RX_PIN PD2 //#define UART5_TX_PIN PC12 -#define SERIAL_PORT_COUNT 4 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +define SERIAL_PORT_COUNT 6 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/ANYFCF7/target.h b/src/main/target/ANYFCF7/target.h index ab0fa2ada6..c2542cc6b4 100644 --- a/src/main/target/ANYFCF7/target.h +++ b/src/main/target/ANYFCF7/target.h @@ -94,7 +94,10 @@ #define UART8_RX_PIN PE0 #define UART8_TX_PIN PE1 -#define SERIAL_PORT_COUNT 9 //VCP, USART1, USART2, USART3, UART4, UART5, USART6, USART7, USART8 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 11 //VCP, USART1, USART2, USART3, UART4, UART5, USART6, USART7, USART8, SOFTSERIAL x 2 #define USE_SPI #define USE_SPI_DEVICE_1 diff --git a/src/main/target/BETAFLIGHTF3/target.h b/src/main/target/BETAFLIGHTF3/target.h index 59f5e1c003..b7f3a1a01c 100755 --- a/src/main/target/BETAFLIGHTF3/target.h +++ b/src/main/target/BETAFLIGHTF3/target.h @@ -56,7 +56,9 @@ #define USE_UART2 #define USE_UART3 #define USE_SOFTSERIAL1 -#define SERIAL_PORT_COUNT 5 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/BLUEJAYF4/target.h b/src/main/target/BLUEJAYF4/target.h index 845634e943..1d6b5d3e6e 100644 --- a/src/main/target/BLUEJAYF4/target.h +++ b/src/main/target/BLUEJAYF4/target.h @@ -116,7 +116,9 @@ #define SOFTSERIAL1_RX_PIN PB0 // PWM5 #define SOFTSERIAL1_TX_PIN PB1 // PWM6 -#define SERIAL_PORT_COUNT 5 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/CC3D/target.h b/src/main/target/CC3D/target.h index 9b1e75bbfb..d8c53e4787 100644 --- a/src/main/target/CC3D/target.h +++ b/src/main/target/CC3D/target.h @@ -71,14 +71,14 @@ #define USE_VCP #define USE_UART1 #define USE_UART3 - -#ifdef CC3D_OPBL -#define SERIAL_PORT_COUNT 3 -#else #define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 5 + +#ifndef CC3D_OPBL #define SOFTSERIAL1_TX_PIN PB5 // PWM 2 #define SOFTSERIAL1_RX_PIN PB0 // PWM 3 -#define SERIAL_PORT_COUNT 4 #endif #ifdef USE_UART1_RX_DMA diff --git a/src/main/target/CHEBUZZF3/target.h b/src/main/target/CHEBUZZF3/target.h index 76c811fd30..e6574a06ce 100644 --- a/src/main/target/CHEBUZZF3/target.h +++ b/src/main/target/CHEBUZZF3/target.h @@ -91,7 +91,10 @@ #define USE_VCP #define USE_UART1 #define USE_UART2 -#define SERIAL_PORT_COUNT 3 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 5 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/COLIBRI/target.h b/src/main/target/COLIBRI/target.h index cfd8ef165a..c39067af48 100644 --- a/src/main/target/COLIBRI/target.h +++ b/src/main/target/COLIBRI/target.h @@ -93,7 +93,10 @@ #define UART5_RX_PIN PD2 #define UART5_TX_PIN PC12 -#define SERIAL_PORT_COUNT 4 //VCP, UART1, UART2, UART3 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 //VCP, UART1, UART2, UART3, SOFTSERIAL x 2 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/COLIBRI_RACE/target.h b/src/main/target/COLIBRI_RACE/target.h index 7fe59629f3..42d28fd8a5 100755 --- a/src/main/target/COLIBRI_RACE/target.h +++ b/src/main/target/COLIBRI_RACE/target.h @@ -80,7 +80,10 @@ #define USE_UART1 #define USE_UART2 #define USE_UART3 -#define SERIAL_PORT_COUNT 4 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/DOGE/target.h b/src/main/target/DOGE/target.h index 9d324d058b..b0872a92f0 100644 --- a/src/main/target/DOGE/target.h +++ b/src/main/target/DOGE/target.h @@ -96,7 +96,10 @@ #define USE_UART1 #define USE_UART2 #define USE_UART3 -#define SERIAL_PORT_COUNT 4 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/ELLE0/target.h b/src/main/target/ELLE0/target.h index 4ff313a110..3d38620201 100644 --- a/src/main/target/ELLE0/target.h +++ b/src/main/target/ELLE0/target.h @@ -76,7 +76,10 @@ //#define UART5_RX_PIN PD2 //#define UART5_TX_PIN PC12 -#define SERIAL_PORT_COUNT 3 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 5 #define USE_SPI diff --git a/src/main/target/F4BY/target.h b/src/main/target/F4BY/target.h index 2a148a5a0c..d22c01c471 100644 --- a/src/main/target/F4BY/target.h +++ b/src/main/target/F4BY/target.h @@ -100,7 +100,10 @@ #define UART6_RX_PIN PC7 #define UART6_TX_PIN PC6 -#define SERIAL_PORT_COUNT 6 //VCP, UART1, UART2, UART3, UART4, UART5, UART6 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 7 //VCP, UART1, UART2, UART3, UART4, UART6, SOFTSERIAL x 2 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 8 // PWM 9 diff --git a/src/main/target/FISHDRONEF4/target.h b/src/main/target/FISHDRONEF4/target.h index 08f693d2aa..d830cec728 100644 --- a/src/main/target/FISHDRONEF4/target.h +++ b/src/main/target/FISHDRONEF4/target.h @@ -66,7 +66,10 @@ #define UART6_RX_PIN PC7 #define UART6_TX_PIN PC6 -#define SERIAL_PORT_COUNT 4 // VCP, USART1, USART3, USART6 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 // VCP, USART1, USART3, USART6, SOFTSERIAL x 2 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/FURYF3/target.h b/src/main/target/FURYF3/target.h index a8c6c3663e..a89f8970b8 100644 --- a/src/main/target/FURYF3/target.h +++ b/src/main/target/FURYF3/target.h @@ -115,7 +115,9 @@ #define USE_UART2 #define USE_UART3 #define USE_SOFTSERIAL1 -#define SERIAL_PORT_COUNT 5 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/FURYF4/target.h b/src/main/target/FURYF4/target.h index 22f7aea924..6ba72a9ade 100644 --- a/src/main/target/FURYF4/target.h +++ b/src/main/target/FURYF4/target.h @@ -130,7 +130,10 @@ #define UART6_RX_PIN PC7 #define UART6_TX_PIN PC6 -#define SERIAL_PORT_COUNT 4 //VCP, USART1, USART3, USART6 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 //VCP, USART1, USART3, USART6, SOFTSERIAL x 2 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/FURYF7/target.h b/src/main/target/FURYF7/target.h index 2cbffeaedf..d34516cb2d 100644 --- a/src/main/target/FURYF7/target.h +++ b/src/main/target/FURYF7/target.h @@ -118,7 +118,10 @@ #define UART6_RX_PIN PC7 #define UART6_TX_PIN PC6 -#define SERIAL_PORT_COUNT 4 //VCP, USART1, USART3, USART6 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 //VCP, USART1, USART3, USART6, SOFTSERIAL x 2 #define USE_I2C #define I2C_DEVICE (I2CDEV_1) // PB6-SCL, PB7-SDA diff --git a/src/main/target/IMPULSERCF3/target.h b/src/main/target/IMPULSERCF3/target.h index c2e4378ec0..457c9e45c2 100644 --- a/src/main/target/IMPULSERCF3/target.h +++ b/src/main/target/IMPULSERCF3/target.h @@ -54,7 +54,10 @@ #define USE_UART1 #define USE_UART2 #define USE_UART3 -#define SERIAL_PORT_COUNT 4 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/IRCFUSIONF3/target.h b/src/main/target/IRCFUSIONF3/target.h index 116ae4e5de..90ddf82347 100644 --- a/src/main/target/IRCFUSIONF3/target.h +++ b/src/main/target/IRCFUSIONF3/target.h @@ -45,7 +45,10 @@ #define USE_UART1 #define USE_UART2 #define USE_UART3 -#define SERIAL_PORT_COUNT 3 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 5 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/KAKUTEF4/target.h b/src/main/target/KAKUTEF4/target.h index 421d32539d..2ada8bbc4c 100644 --- a/src/main/target/KAKUTEF4/target.h +++ b/src/main/target/KAKUTEF4/target.h @@ -91,7 +91,10 @@ #define UART6_RX_PIN PC7 #define UART6_TX_PIN PC6 -#define SERIAL_PORT_COUNT 4 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/KISSFC/target.h b/src/main/target/KISSFC/target.h index bf97dc015c..8b63e75f81 100644 --- a/src/main/target/KISSFC/target.h +++ b/src/main/target/KISSFC/target.h @@ -64,6 +64,10 @@ #define USE_UART1 #define USE_UART2 #define USE_UART3 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 #define UART1_TX_PIN PA9 #define UART1_RX_PIN PA10 @@ -75,11 +79,7 @@ #define UART3_RX_PIN PB11 // PB11 (AF7) #ifdef KISSCC -#define USE_SOFTSERIAL1 #define SOFTSERIAL1_TX_PIN PA13 -#define SERIAL_PORT_COUNT 5 -#else -#define SERIAL_PORT_COUNT 4 #endif #define USE_I2C diff --git a/src/main/target/KIWIF4/target.h b/src/main/target/KIWIF4/target.h index 46b3fb28ea..8642a48e36 100644 --- a/src/main/target/KIWIF4/target.h +++ b/src/main/target/KIWIF4/target.h @@ -79,7 +79,10 @@ #define UART6_RX_PIN PC7 #define UART6_TX_PIN PC6 -#define SERIAL_PORT_COUNT 4 //VCP, USART1, USART3, USART6 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 //VCP, USART1, USART3, USART6, SOFTSERIAL x 2 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/LUX_RACE/target.h b/src/main/target/LUX_RACE/target.h index ec19edcc1f..a5a76edb6e 100644 --- a/src/main/target/LUX_RACE/target.h +++ b/src/main/target/LUX_RACE/target.h @@ -119,12 +119,14 @@ #define USE_UART1 #define USE_UART2 #define USE_UART3 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 #ifdef LUXV2_RACE -#define USE_UART4 -#define USE_UART5 -#define SERIAL_PORT_COUNT 6 +# define USE_UART4 +# define USE_UART5 +# define SERIAL_PORT_COUNT 8 #else -#define SERIAL_PORT_COUNT 4 +# define SERIAL_PORT_COUNT 6 #endif #define UART1_TX_PIN PC4 diff --git a/src/main/target/MOTOLAB/target.h b/src/main/target/MOTOLAB/target.h index 62a4de9952..79053bf713 100644 --- a/src/main/target/MOTOLAB/target.h +++ b/src/main/target/MOTOLAB/target.h @@ -59,7 +59,10 @@ #define USE_UART1 #define USE_UART2 #define USE_UART3 -#define SERIAL_PORT_COUNT 4 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/MULTIFLITEPICO/target.h b/src/main/target/MULTIFLITEPICO/target.h index 4727248757..7c69507c55 100755 --- a/src/main/target/MULTIFLITEPICO/target.h +++ b/src/main/target/MULTIFLITEPICO/target.h @@ -64,9 +64,10 @@ #define USE_UART1 #define USE_UART2 #define USE_UART3 -//#define USE_SOFTSERIAL1 -//#define USE_SOFTSERIAL2 -#define SERIAL_PORT_COUNT 3 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 5 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/NERO/target.h b/src/main/target/NERO/target.h index bd68b2db21..c496b26596 100644 --- a/src/main/target/NERO/target.h +++ b/src/main/target/NERO/target.h @@ -88,7 +88,10 @@ #define UART6_RX_PIN PC7 #define UART6_TX_PIN PC6 -#define SERIAL_PORT_COUNT 4 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 //#define USE_ESCSERIAL //TODO: make ESC serial F7 compatible //#define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/NUCLEOF7/target.h b/src/main/target/NUCLEOF7/target.h index a1cf620a80..97071b4392 100644 --- a/src/main/target/NUCLEOF7/target.h +++ b/src/main/target/NUCLEOF7/target.h @@ -93,7 +93,10 @@ #define UART8_RX_PIN PE0 #define UART8_TX_PIN PE1 -#define SERIAL_PORT_COUNT 8 //VCP, USART2, USART3, UART4, UART5, USART6, USART7, USART8 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 10 //VCP, USART2, USART3, UART4, UART5, USART6, USART7, USART8, SOFTSERIAL x 2 #define USE_SPI #define USE_SPI_DEVICE_1 diff --git a/src/main/target/OMNIBUS/target.h b/src/main/target/OMNIBUS/target.h index 35fe1e4965..6284ddaadb 100644 --- a/src/main/target/OMNIBUS/target.h +++ b/src/main/target/OMNIBUS/target.h @@ -68,7 +68,10 @@ #define USE_UART1 #define USE_UART2 #define USE_UART3 -#define SERIAL_PORT_COUNT 4 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 #define UART1_TX_PIN PA9 #define UART1_RX_PIN PA10 diff --git a/src/main/target/PIKOBLX/target.h b/src/main/target/PIKOBLX/target.h index a55e4eca26..11706ee900 100644 --- a/src/main/target/PIKOBLX/target.h +++ b/src/main/target/PIKOBLX/target.h @@ -51,7 +51,10 @@ #define USE_UART1 #define USE_UART2 #define USE_UART3 -#define SERIAL_PORT_COUNT 4 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/RACEBASE/target.h b/src/main/target/RACEBASE/target.h index 8c78e237dd..1d825ecd4e 100755 --- a/src/main/target/RACEBASE/target.h +++ b/src/main/target/RACEBASE/target.h @@ -52,7 +52,10 @@ #define USE_UART1 #define USE_UART2 #define USE_UART3 -#define SERIAL_PORT_COUNT 3 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 5 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/RCEXPLORERF3/target.h b/src/main/target/RCEXPLORERF3/target.h index f01f07a096..c3379802bd 100644 --- a/src/main/target/RCEXPLORERF3/target.h +++ b/src/main/target/RCEXPLORERF3/target.h @@ -64,7 +64,10 @@ #define USE_UART1 #define USE_UART2 #define USE_UART3 -#define SERIAL_PORT_COUNT 4 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/REVO/target.h b/src/main/target/REVO/target.h index a93fdc3813..f07010ca85 100644 --- a/src/main/target/REVO/target.h +++ b/src/main/target/REVO/target.h @@ -157,7 +157,10 @@ #define UART6_RX_PIN PC7 #define UART6_TX_PIN PC6 -#define SERIAL_PORT_COUNT 4 //VCP, USART1, USART3, USART6 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 //VCP, USART1, USART3, USART6, SOFTSERIAL x 2 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/REVONANO/target.h b/src/main/target/REVONANO/target.h index f4780ed1ae..2730382b22 100644 --- a/src/main/target/REVONANO/target.h +++ b/src/main/target/REVONANO/target.h @@ -64,7 +64,10 @@ #define UART2_RX_PIN PA3 #define UART2_TX_PIN PA2 -#define SERIAL_PORT_COUNT 3 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 5 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 diff --git a/src/main/target/RG_SSD_F3/target.h b/src/main/target/RG_SSD_F3/target.h index dd69677d5d..51b43634cb 100644 --- a/src/main/target/RG_SSD_F3/target.h +++ b/src/main/target/RG_SSD_F3/target.h @@ -85,7 +85,10 @@ #define USE_UART3 #define USE_UART4 #define USE_UART5 -#define SERIAL_PORT_COUNT 6 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 8 #define UART1_TX_PIN PC4 #define UART1_RX_PIN PC5 diff --git a/src/main/target/SINGULARITY/target.h b/src/main/target/SINGULARITY/target.h index b2dd548633..1599595e7f 100644 --- a/src/main/target/SINGULARITY/target.h +++ b/src/main/target/SINGULARITY/target.h @@ -45,7 +45,9 @@ #define USE_UART2 // Input - TX (NC) RX (PA15) #define USE_UART3 // Solder Pads - TX (PB10) RX (PB11) #define USE_SOFTSERIAL1 // Telemetry -#define SERIAL_PORT_COUNT 5 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/SIRINFPV/target.h b/src/main/target/SIRINFPV/target.h index 144e5dbd1f..9fe7a93d9f 100644 --- a/src/main/target/SIRINFPV/target.h +++ b/src/main/target/SIRINFPV/target.h @@ -59,7 +59,10 @@ #define USE_UART1 #define USE_UART2 #define USE_UART3 -#define SERIAL_PORT_COUNT 4 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/SPARKY/target.h b/src/main/target/SPARKY/target.h index d24276c1b4..e2fc4e2aa1 100644 --- a/src/main/target/SPARKY/target.h +++ b/src/main/target/SPARKY/target.h @@ -55,7 +55,11 @@ #define USE_UART1 // Conn 1 - TX (PB6) RX PB7 (AF7) #define USE_UART2 // Input - RX (PA3) #define USE_UART3 // Servo out - 10/RX (PB11) 11/TX (PB10) -#define SERIAL_PORT_COUNT 4 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 + #define AVOID_UART2_FOR_PWM_PPM #define USE_ESCSERIAL diff --git a/src/main/target/SPARKY2/target.h b/src/main/target/SPARKY2/target.h index 7ac23dcf06..89963059e5 100644 --- a/src/main/target/SPARKY2/target.h +++ b/src/main/target/SPARKY2/target.h @@ -91,7 +91,10 @@ #define UART6_RX_PIN PC7 #define UART6_TX_PIN PC6 //inverter -#define SERIAL_PORT_COUNT 4 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/SPRACINGF3/target.h b/src/main/target/SPRACINGF3/target.h index 1649af95bc..7a1ac661d2 100644 --- a/src/main/target/SPRACINGF3/target.h +++ b/src/main/target/SPRACINGF3/target.h @@ -126,15 +126,12 @@ #define USE_UART1 #define USE_UART2 #define USE_UART3 - -#if defined(ZCOREF3) -#define SERIAL_PORT_COUNT 3 - -#else #define USE_SOFTSERIAL1 #define USE_SOFTSERIAL2 + #define SERIAL_PORT_COUNT 5 +#if !defined(ZCOREF3) #define SOFTSERIAL1_RX_PIN PB4 // PWM 5 #define SOFTSERIAL1_TX_PIN PB5 // PWM 6 diff --git a/src/main/target/SPRACINGF3EVO/target.h b/src/main/target/SPRACINGF3EVO/target.h index 46be8a86c7..922c4701ce 100755 --- a/src/main/target/SPRACINGF3EVO/target.h +++ b/src/main/target/SPRACINGF3EVO/target.h @@ -69,7 +69,10 @@ #define USE_UART1 #define USE_UART2 #define USE_UART3 -#define SERIAL_PORT_COUNT 4 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/SPRACINGF3MINI/target.h b/src/main/target/SPRACINGF3MINI/target.h index 7c7c4c8d83..cc82da505a 100644 --- a/src/main/target/SPRACINGF3MINI/target.h +++ b/src/main/target/SPRACINGF3MINI/target.h @@ -97,7 +97,8 @@ #define SERIAL_PORT_COUNT 4 #else #define USE_SOFTSERIAL1 -#define SERIAL_PORT_COUNT 5 +#define USE_SOFTSERIAL2 +#define SERIAL_PORT_COUNT 6 #endif #define USE_ESCSERIAL diff --git a/src/main/target/SPRACINGF3NEO/target.h b/src/main/target/SPRACINGF3NEO/target.h index cadf082b6d..f68ad3a4b9 100755 --- a/src/main/target/SPRACINGF3NEO/target.h +++ b/src/main/target/SPRACINGF3NEO/target.h @@ -61,7 +61,9 @@ #define USE_UART3 #define USE_UART4 #define USE_UART5 -#define SERIAL_PORT_COUNT 6 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 +#define SERIAL_PORT_COUNT 8 #define UART1_TX_PIN PA9 #define UART1_RX_PIN PA10 diff --git a/src/main/target/STM32F3DISCOVERY/target.h b/src/main/target/STM32F3DISCOVERY/target.h index 28a4dc7518..0a4ede8678 100644 --- a/src/main/target/STM32F3DISCOVERY/target.h +++ b/src/main/target/STM32F3DISCOVERY/target.h @@ -151,7 +151,10 @@ #define USE_UART3 #define USE_UART4 #define USE_UART5 -#define SERIAL_PORT_COUNT 6 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 8 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/TINYFISH/target.h b/src/main/target/TINYFISH/target.h index 54954dd0af..4c02cb022b 100644 --- a/src/main/target/TINYFISH/target.h +++ b/src/main/target/TINYFISH/target.h @@ -48,14 +48,16 @@ #define USE_VCP #define USB_IO #define USBD_PRODUCT_STRING "tinyFISH" - #define SERIAL_PORT_COUNT 4 + #define SERIAL_PORT_COUNT 6 #else - #define SERIAL_PORT_COUNT 3 + #define SERIAL_PORT_COUNT 5 #endif #define USE_UART1 #define USE_UART2 #define USE_UART3 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 #define UART1_TX_PIN PB6 #define UART1_RX_PIN PB7 diff --git a/src/main/target/VRRACE/target.h b/src/main/target/VRRACE/target.h index 7c2e6803c4..732f49e1f6 100644 --- a/src/main/target/VRRACE/target.h +++ b/src/main/target/VRRACE/target.h @@ -118,7 +118,10 @@ #define SOFTSERIAL1_RX_PIN PE13 // PWM 3 #define SOFTSERIAL1_TX_PIN PE11 // PWM 2 -#define SERIAL_PORT_COUNT 6 //VCP, USART1, USART2, USART3, USART6, SOFTSERIAL1 + +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 8 //VCP, USART1, USART2, USART3, USART6, SOFTSERIAL x 2 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/X_RACERSPI/target.h b/src/main/target/X_RACERSPI/target.h index c9d50095fc..f713ec7fff 100644 --- a/src/main/target/X_RACERSPI/target.h +++ b/src/main/target/X_RACERSPI/target.h @@ -54,7 +54,9 @@ #define USE_UART2 #define USE_UART3 #define USE_SOFTSERIAL1 -#define SERIAL_PORT_COUNT 4 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 5 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/YUPIF4/target.h b/src/main/target/YUPIF4/target.h index 28e9d6887b..f4625a21f2 100644 --- a/src/main/target/YUPIF4/target.h +++ b/src/main/target/YUPIF4/target.h @@ -81,7 +81,10 @@ #define UART6_RX_PIN PC7 #define UART6_TX_PIN PC6 -#define SERIAL_PORT_COUNT 4 // VCP, UART1, UART3, UART6 +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT 6 // VCP, UART1, UART3, UART6, SOFTSERIAL x 2 #define USE_ESCSERIAL #define ESCSERIAL_TIMER_TX_HARDWARE 0 // PWM 1 diff --git a/src/main/target/common.h b/src/main/target/common.h index 6a7c8bbd7b..65eb2bd9de 100644 --- a/src/main/target/common.h +++ b/src/main/target/common.h @@ -71,10 +71,6 @@ #define USE_PWM #define USE_PPM -// Force two softserials (Individual target.h may turn these off) -#define USE_SOFTSERIAL1 -#define USE_SOFTSERIAL2 - #if defined(STM32F4) || defined(STM32F7) #define TASK_GYROPID_DESIRED_PERIOD 125 #define SCHEDULER_DELAY_LIMIT 10 diff --git a/src/main/target/common_post.h b/src/main/target/common_post.h index 041bbfe85c..7a089ebff7 100644 --- a/src/main/target/common_post.h +++ b/src/main/target/common_post.h @@ -26,62 +26,3 @@ # undef VTX_SMARTAUDIO # undef VTX_TRAMP #endif - -// Forced config of USE_SOFTSERIAL{1,2} in common.h makes SERIAL_PORT_COUNT -// defined in target.h invalid. Count them and re-define SERIAL_PORT_COUNT. -#ifdef USE_VCP -# define N_VCP 1 -#else -# define N_VCP 0 -#endif - -#ifdef USE_UART1 - #define N_UART1 1 -#else - #define N_UART1 0 -#endif - -#ifdef USE_UART2 - #define N_UART2 1 -#else - #define N_UART2 0 -#endif - -#ifdef USE_UART3 - #define N_UART3 1 -#else - #define N_UART3 0 -#endif - -#ifdef USE_UART4 - #define N_UART4 1 -#else - #define N_UART4 0 -#endif - -#ifdef USE_UART5 - #define N_UART5 1 -#else - #define N_UART5 0 -#endif - -#ifdef USE_UART6 - #define N_UART6 1 -#else - #define N_UART6 0 -#endif - -#ifdef USE_SOFTSERIAL1 - #define N_SSERIAL1 1 -#else - #define N_SSERIAL1 0 -#endif - -#ifdef USE_SOFTSERIAL2 - #define N_SSERIAL2 1 -#else - #define N_SSERIAL2 0 -#endif - -#undef SERIAL_PORT_COUNT -#define SERIAL_PORT_COUNT (N_VCP + N_UART1 + N_UART2 + N_UART3 + N_UART4 + N_UART5 + N_UART6 + N_SSERIAL1 + N_SSERIAL2)