diff --git a/src/Clock.cpp b/src/Clock.cpp index 6ede7d2..7d0f2a8 100644 --- a/src/Clock.cpp +++ b/src/Clock.cpp @@ -72,10 +72,13 @@ void Clock::refreshTime() { const uint8_t minute = loctime->tm_min; // enable night brighntess at 21' and disable it at 6' - if (hour >= 22 || hour <= 6) { - strip.setBrightness(NIGHTBRIGHTNESS); - } else { - strip.setBrightness(DAYBRIGHTNESS); + bool daybrightness = !(hour >= 22 || hour <= 6); + + if (oldDayBrightness != daybrightness) { + strip.setBrightness(daybrightness ? DAYBRIGHTNESS : NIGHTBRIGHTNESS); + paintAlwaysOnLeds(); + + oldDayBrightness = daybrightness; } setTime(hour, minute, this->twentyAfterSyntax, this->clockAlwaysOn); @@ -116,7 +119,6 @@ void Clock::setTime(uint8_t hour, uint8_t minute, bool twas, bool alwaysClockWor oldhourWord = hourWord; } - // printWord(hourWord, Adafruit_NeoPixel::Color(0, 255, 255)); // print the minute words and the corresponding after/before half words printMinutes(minuteselector, twas); @@ -150,8 +152,6 @@ void Clock::printMinutes(uint8_t minuteSelector, bool twas) { minuteWord = types::viertel; else if (minuteSelector == 9) minuteWord = types::dreiviertel; - else if (minuteSelector == 6) - minuteWord = types::halb; if (oldminuteWord != minuteWord) { addque.push_back(Word(minuteWord, 0x00FF00)); diff --git a/src/Clock.h b/src/Clock.h index 99e12e2..3c2f37d 100644 --- a/src/Clock.h +++ b/src/Clock.h @@ -30,7 +30,7 @@ class Clock { std::vector addque; std::vector oldminuteWord, oldvornachWord, oldhourWord; - bool oldhalfActive, oldUhrActive; + bool oldhalfActive, oldUhrActive, oldDayBrightness; bool twentyAfterSyntax; bool clockAlwaysOn;