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 0393c00a3..e0d8e5022 100644 --- a/radio/src/targets/common/arm/stm32/rotary_encoder_driver.cpp +++ b/radio/src/targets/common/arm/stm32/rotary_encoder_driver.cpp @@ -105,10 +105,17 @@ void rotaryEncoderCheck() uint8_t newPosition = ROTARY_ENCODER_POSITION(); if (newPosition != rotencPosition && !(readKeys() & (1 << KEY_ENTER))) { if ((rotencPosition & 0x01) ^ ((newPosition & 0x02) >> 1)) { - --rotencValue; - } - else { +#if defined(ROTARY_ENCODER_INVERT) ++rotencValue; +#else + --rotencValue; +#endif + } else { +#if defined(ROTARY_ENCODER_INVERT) + --rotencValue; +#else + ++rotencValue; +#endif } rotencPosition = newPosition; #endif