diff --git a/radio/src/targets/common/arm/stm32/rotary_encoder_driver.cpp b/radio/src/targets/common/arm/stm32/rotary_encoder_driver.cpp index adc38485e..f0359561a 100644 --- a/radio/src/targets/common/arm/stm32/rotary_encoder_driver.cpp +++ b/radio/src/targets/common/arm/stm32/rotary_encoder_driver.cpp @@ -140,6 +140,10 @@ void rotaryEncoderStartDelay() extern "C" void ROTARY_ENCODER_EXTI_IRQHandler1(void) { +#if !defined(BOOT) && defined(TELEMETRY_EXTI_REUSE_INTERRUPT_ROTARY_ENCODER) + check_telemetry_exti(); +#endif + if (EXTI_GetITStatus(ROTARY_ENCODER_EXTI_LINE1) != RESET) { rotaryEncoderStartDelay(); EXTI_ClearITPendingBit(ROTARY_ENCODER_EXTI_LINE1); @@ -155,10 +159,6 @@ extern "C" void ROTARY_ENCODER_EXTI_IRQHandler1(void) #if !defined(BOOT) && defined(INTMODULE_HEARTBEAT_REUSE_INTERRUPT_ROTARY_ENCODER) check_intmodule_heartbeat(); #endif - -#if !defined(BOOT) && defined(TELEMETRY_EXTI_REUSE_INTERRUPT_ROTARY_ENCODER) - check_telemetry_exti(); -#endif } #if defined(ROTARY_ENCODER_EXTI_IRQn2)