diff --git a/firmware/GyverLamp_v1.4/FavoritesManager.h b/firmware/GyverLamp_v1.4/FavoritesManager.h index 2775cdb..8ccb15d 100644 --- a/firmware/GyverLamp_v1.4/FavoritesManager.h +++ b/firmware/GyverLamp_v1.4/FavoritesManager.h @@ -46,6 +46,10 @@ class FavoritesManager static void ConfigureFavorites(const char* statusText) // принимает statusText, парсит его и инициализирует свойства класса значениями из statusText'а { FavoritesRunning = getFavoritesRunning(statusText); + if (!FavoritesRunning) + { + nextModeAt = 0; + } Interval = getInterval(statusText); Dispersion = getDispersion(statusText); for (uint8_t i = 0; i < MODE_AMOUNT; i++) @@ -121,6 +125,12 @@ class FavoritesManager EEPROM.commit(); } + static void TurnFavoritesOff() + { + FavoritesRunning = false; + nextModeAt = 0; + } + private: static uint32_t nextModeAt; // ближайшее время переключения на следующий избранный эффект (millis()) diff --git a/firmware/GyverLamp_v1.4/effectTicker.ino b/firmware/GyverLamp_v1.4/effectTicker.ino index c943111..07d7d5b 100644 --- a/firmware/GyverLamp_v1.4/effectTicker.ino +++ b/firmware/GyverLamp_v1.4/effectTicker.ino @@ -69,5 +69,5 @@ void changePower() TimerManager::TimerHasFired = false; TimerManager::TimeToFire = 0ULL; - FavoritesManager::FavoritesRunning = false; + FavoritesManager::TurnFavoritesOff(); } diff --git a/firmware/GyverLamp_v1.4/parsing.ino b/firmware/GyverLamp_v1.4/parsing.ino index 38c9ec0..d9a7272 100644 --- a/firmware/GyverLamp_v1.4/parsing.ino +++ b/firmware/GyverLamp_v1.4/parsing.ino @@ -169,6 +169,8 @@ void parseUDP() currentMode = 16; // принудительное включение режима "Матрица" для индикации перехода в режим обновления по воздуху FastLED.clear(); delay(1); + ONflag = true; + changePower(); #endif }