From d81513d4f2527d0c79601a0b36dce050d08d3b36 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Sat, 21 Jun 2025 07:04:03 +0200 Subject: [PATCH] fix(radio): do not mask inputs if PWM gimbal detection failed (#6373) Co-authored-by: raphaelcoeffic <1050031+raphaelcoeffic@users.noreply.github.com> Co-authored-by: 3djc <3djc@gh.com> --- radio/src/targets/common/arm/stm32/sticks_pwm_driver.cpp | 6 +++--- radio/src/targets/horus/CMakeLists.txt | 1 + radio/src/targets/horus/hal.h | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/radio/src/targets/common/arm/stm32/sticks_pwm_driver.cpp b/radio/src/targets/common/arm/stm32/sticks_pwm_driver.cpp index a3afda013..bca56f4e8 100644 --- a/radio/src/targets/common/arm/stm32/sticks_pwm_driver.cpp +++ b/radio/src/targets/common/arm/stm32/sticks_pwm_driver.cpp @@ -113,11 +113,11 @@ bool sticks_pwm_detect(const stick_pwm_timer_t* timer, if (!valid_input) { sticks_pwm_deinit(timer); + } else { + // mask gimbal inputs + stm32_hal_set_inputs_mask(0xF); } - // mask gimbal inputs - stm32_hal_set_inputs_mask(0xF); - return valid_input; } diff --git a/radio/src/targets/horus/CMakeLists.txt b/radio/src/targets/horus/CMakeLists.txt index 614606b00..3d4e3d941 100644 --- a/radio/src/targets/horus/CMakeLists.txt +++ b/radio/src/targets/horus/CMakeLists.txt @@ -143,6 +143,7 @@ if (PCB STREQUAL X10) set(FLAVOUR x10) set(DEFAULT_INTERNAL_MODULE XJT_PXX1 CACHE STRING "Default internal module") set(BLUETOOTH ON) + add_definitions(-DRADIO_X10) add_definitions(-DMANUFACTURER_FRSKY) endif() elseif (PCB STREQUAL X12S) diff --git a/radio/src/targets/horus/hal.h b/radio/src/targets/horus/hal.h index b0f738367..e77847804 100644 --- a/radio/src/targets/horus/hal.h +++ b/radio/src/targets/horus/hal.h @@ -498,7 +498,7 @@ #define ADC_GPIO_PIN_EXT3 ADC_GPIO_PIN_STICK_RH #define ADC_GPIO_PIN_EXT4 ADC_GPIO_PIN_STICK_RV #endif - #if !(defined(RADIO_TX16S) || defined(RADIO_F16) || defined(RADIO_T15) || defined(RADIO_V16)) + #if defined(RADIO_X10) || defined(RADIO_X10E) #define PWM_STICKS #define PWM_TIMER TIM5 #define PWM_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)