diff --git a/src/main/target/FLYWOOF411/CMakeLists.txt b/src/main/target/FLYWOOF411/CMakeLists.txt index ca3e384913b..bf329e0d5fb 100644 --- a/src/main/target/FLYWOOF411/CMakeLists.txt +++ b/src/main/target/FLYWOOF411/CMakeLists.txt @@ -1 +1,2 @@ target_stm32f411xe(FLYWOOF411) +target_stm32f411xe(FLYWOOF411_V2) diff --git a/src/main/target/FLYWOOF411/target.c b/src/main/target/FLYWOOF411/target.c index 56a44b256d7..6354776c734 100644 --- a/src/main/target/FLYWOOF411/target.c +++ b/src/main/target/FLYWOOF411/target.c @@ -26,7 +26,17 @@ const timerHardware_t timerHardware[] = { DEF_TIM(TIM9, CH1, PA2, TIM_USE_PPM, 0, 0), // PPM IN - +#ifdef FLYWOOF411_V2 + DEF_TIM(TIM1, CH1, PA8, TIM_USE_MC_MOTOR | TIM_USE_FW_MOTOR, 0, 1), // S1 - D(2,1) + DEF_TIM(TIM2, CH2, PB3, TIM_USE_MC_MOTOR | TIM_USE_FW_MOTOR, 0, 0), // S2 - D(1,6) + DEF_TIM(TIM2, CH3, PB10, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO, 0, 0), // S3 - D(1,1) + DEF_TIM(TIM2, CH1, PA15, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO, 0, 0), // S4 - D(1,5) + DEF_TIM(TIM4, CH1, PB6, TIM_USE_ANY, 0, 0), // SOFTSERIAL_1_TX_PIN - D(1,0) + DEF_TIM(TIM4, CH2, PB7, TIM_USE_ANY, 0, 0), // SOFTSERIAL_1_RX_PIN - D(1,3) + DEF_TIM(TIM3, CH3, PB0, TIM_USE_ANY, 0, 0), // RSSI_ADC_CHANNEL 1-7 + DEF_TIM(TIM3, CH1, PB4, TIM_USE_ANY, 0, 0), // 1-4 + DEF_TIM(TIM5, CH1, PA0, TIM_USE_LED, 0, 0), // LED 1,2 +#else DEF_TIM(TIM1, CH1, PA8, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO, 0, 1), // S1_OUT 2,1 DEF_TIM(TIM1, CH2, PA9, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO, 0, 1), // S2_OUT 2,2 DEF_TIM(TIM1, CH3, PA10, TIM_USE_MC_MOTOR | TIM_USE_FW_SERVO, 0, 0), // S3_OUT 2,6 @@ -35,7 +45,7 @@ const timerHardware_t timerHardware[] = { DEF_TIM(TIM3, CH4, PB1, TIM_USE_ANY, 0, 0), // RSSI 1,2 DEF_TIM(TIM5, CH4, PA3, TIM_USE_ANY, 0, 1), // RX2 1,0 DEF_TIM(TIM2, CH1, PA15, TIM_USE_LED, 0, 0), // LED 1,5 - +#endif }; const int timerHardwareCount = sizeof(timerHardware) / sizeof(timerHardware[0]); diff --git a/src/main/target/FLYWOOF411/target.h b/src/main/target/FLYWOOF411/target.h index 4c471a044a7..57d2347660a 100644 --- a/src/main/target/FLYWOOF411/target.h +++ b/src/main/target/FLYWOOF411/target.h @@ -17,8 +17,13 @@ #pragma once +#ifdef FLYWOOF411_V2 +#define TARGET_BOARD_IDENTIFIER "FW42" +#define USBD_PRODUCT_STRING "FLYWOOF411V2" +#else #define TARGET_BOARD_IDENTIFIER "FW41" #define USBD_PRODUCT_STRING "FLYWOOF411" +#endif #define LED0 PC13 @@ -52,7 +57,11 @@ #define IMU_ICM20689_ALIGN CW180_DEG #define USE_EXTI +#ifdef FLYWOOF411_V2 +#define GYRO_INT_EXTI PB5 +#else #define GYRO_INT_EXTI PB3 +#endif #define USE_MPU_DATA_READY_SIGNAL // *************** Baro ***************************** @@ -93,23 +102,40 @@ #define USE_VCP #define USE_UART1 +#ifdef FLYWOOF411_V2 +#define UART1_TX_PIN PA9 +#define UART1_RX_PIN PA10 +#else #define UART1_TX_PIN PB6 #define UART1_RX_PIN PB7 +#endif #define USE_UART2 +#ifdef FLYWOOF411_V2 +#define UART2_TX_PIN PA2 +#else #define UART2_TX_PIN NONE //PA2 +#endif #define UART2_RX_PIN PA3 #define USE_SOFTSERIAL1 +#ifdef FLYWOOF411_V2 +#define SOFTSERIAL_1_TX_PIN PB6 // Clash with TX2, possible to use as S.Port or VTX control +#define SOFTSERIAL_1_RX_PIN PB7 +#else #define SOFTSERIAL_1_TX_PIN PA2 // Clash with TX2, possible to use as S.Port or VTX control #define SOFTSERIAL_1_RX_PIN PA2 +#endif #define SERIAL_PORT_COUNT 4 // VCP, USART1, USART2, SS1 #define DEFAULT_RX_TYPE RX_TYPE_SERIAL #define SERIALRX_PROVIDER SERIALRX_SBUS +#ifdef FLYWOOF411_V2 +#define SERIALRX_UART SERIAL_PORT_USART1 +#else #define SERIALRX_UART SERIAL_PORT_USART2 - +#endif // *************** ADC ***************************** #define USE_ADC #define ADC_INSTANCE ADC1 @@ -123,8 +149,11 @@ // *************** LED2812 ************************ #define USE_LED_STRIP +#ifdef FLYWOOF411_V2 +#define WS2811_PIN PA0 +#else #define WS2811_PIN PA15 - +#endif // *************** OTHERS ************************* #define DEFAULT_FEATURES (FEATURE_TX_PROF_SEL | FEATURE_OSD | FEATURE_VBAT | FEATURE_TELEMETRY | FEATURE_SOFTSERIAL) @@ -138,4 +167,8 @@ #define TARGET_IO_PORTC 0xffff #define TARGET_IO_PORTD (BIT(2)) +#ifdef FLYWOOF411_V2 +#define MAX_PWM_OUTPUT_PORTS 6 +#else #define MAX_PWM_OUTPUT_PORTS 4 +#endif