Changeset View
Changeset View
Standalone View
Standalone View
colorcorrection/manager.cpp
Show First 20 Lines • Show All 402 Lines • ▼ Show 20 Line(s) | 400 | if (m_prev.first <= now && now <= m_prev.second) { | |||
---|---|---|---|---|---|
403 | m_slowUpdateTimer->setSingleShot(false); | 403 | m_slowUpdateTimer->setSingleShot(false); | ||
404 | if (isDay) { | 404 | if (isDay) { | ||
405 | connect(m_slowUpdateTimer, &QTimer::timeout, this, [this]() {slowUpdate(m_dayTargetTemp);}); | 405 | connect(m_slowUpdateTimer, &QTimer::timeout, this, [this]() {slowUpdate(m_dayTargetTemp);}); | ||
406 | } else { | 406 | } else { | ||
407 | connect(m_slowUpdateTimer, &QTimer::timeout, this, [this]() {slowUpdate(m_nightTargetTemp);}); | 407 | connect(m_slowUpdateTimer, &QTimer::timeout, this, [this]() {slowUpdate(m_nightTargetTemp);}); | ||
408 | } | 408 | } | ||
409 | 409 | | |||
410 | // calculate interval such as temperature is changed by TEMPERATURE_STEP K per timer timeout | 410 | // calculate interval such as temperature is changed by TEMPERATURE_STEP K per timer timeout | ||
411 | int interval = availTime / (qAbs(targetTemp - m_currentTemp) / TEMPERATURE_STEP); | 411 | int interval = availTime * TEMPERATURE_STEP / qAbs(targetTemp - m_currentTemp); | ||
412 | if (interval == 0) { | 412 | if (interval == 0) { | ||
413 | interval = 1; | 413 | interval = 1; | ||
414 | } | 414 | } | ||
415 | m_slowUpdateTimer->start(interval); | 415 | m_slowUpdateTimer->start(interval); | ||
416 | } | 416 | } | ||
417 | } | 417 | } | ||
418 | 418 | | |||
419 | void Manager::slowUpdate(int targetTemp) | 419 | void Manager::slowUpdate(int targetTemp) | ||
▲ Show 20 Lines • Show All 433 Lines • Show Last 20 Lines |