diff --git a/main/buttons.h b/main/buttons.h index 44d7aa0..78b00b5 100644 --- a/main/buttons.h +++ b/main/buttons.h @@ -142,16 +142,10 @@ public: if(!pressed)return; #ifdef FEATURE_LEDSTRIP - -#ifdef LEDSTRIP_WRONG_DIRECTION - const auto target_blinkAnimation = 1; -#else - const auto target_blinkAnimation = 2; -#endif if(blinkAnimation == 0){ //transition from off to left - blinkAnimation = target_blinkAnimation; + blinkAnimation = 2; } - else if(blinkAnimation == 3 - target_blinkAnimation){ // transition to warning + else if(blinkAnimation == 1){ // transition to warning blinkAnimation = 3; } else{ // transition to off @@ -163,16 +157,10 @@ public: static void blinkRightButton(bool pressed){ if(!pressed)return; #ifdef FEATURE_LEDSTRIP - - #ifdef LEDSTRIP_WRONG_DIRECTION - const auto target_blinkAnimation = 2; -#else - const auto target_blinkAnimation = 1; -#endif - if(blinkAnimation == 0){ //transition from off to left - blinkAnimation = target_blinkAnimation; + if(blinkAnimation == 0){ //transition from off to right + blinkAnimation = 1; } - else if(blinkAnimation == 3 - target_blinkAnimation){ // transition to warning + else if(blinkAnimation == 2){ // transition to warning blinkAnimation = 3; } else{ // transition to off diff --git a/main/ledstrip.h b/main/ledstrip.h index a9ca8d4..3cbc83a 100644 --- a/main/ledstrip.h +++ b/main/ledstrip.h @@ -37,6 +37,12 @@ void updateLedStrip() auto color = CRGB{255, 255, 0}; const auto center = (std::begin(leds) + (leds.size() / 2) + settings.ledstrip.centerOffset); + #ifdef LEDSTRIP_WRONG_DIRECTION + if(cpputils::is_in(blinkAnimation, 1, 2)){ + blinkAnimation = 3 - blinkAnimation; + } + #endif + if (blinkAnimation != 2) std::fill(center - settings.ledstrip.bigOffset, center - settings.ledstrip.smallOffset, color); if (blinkAnimation != 1)