From 6c0a456fd0d372eefff35171e70044bad7448dea Mon Sep 17 00:00:00 2001 From: biver Date: Thu, 20 Oct 2022 00:15:08 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=BE=D1=80=D1=80=D0=B5=D0=BA=D1=82?= =?UTF-8?q?=D0=B8=D1=80=D1=83=D0=B5=D0=BC=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D1=83=20=D1=82=D0=B0=D0=B9=D0=BC=D0=B5=D1=80=D0=B0=20=D1=81=20?= =?UTF-8?q?=D1=83=D1=87=D0=B5=D1=82=D0=BE=D0=BC=20=D0=B2=D0=BE=D0=B7=D0=BC?= =?UTF-8?q?=D0=BE=D0=B6=D0=BD=D0=BE=D1=81=D1=82=D0=B8=20=D1=81=D0=BE=D1=85?= =?UTF-8?q?=D1=80=D0=B0=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=81=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D0=BE=D1=8F=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/virtual/Timer/Timer.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/modules/virtual/Timer/Timer.cpp b/src/modules/virtual/Timer/Timer.cpp index e5cc7039..f843206f 100644 --- a/src/modules/virtual/Timer/Timer.cpp +++ b/src/modules/virtual/Timer/Timer.cpp @@ -9,7 +9,6 @@ class Timer : public IoTItem { bool _unfin = false; bool _ticker = false; bool _repeat = false; - bool _needSave = false; bool _pause = false; int _initValue; @@ -17,20 +16,20 @@ class Timer : public IoTItem { Timer(String parameters): IoTItem(parameters) { jsonRead(parameters, "countDown", _initValue); _unfin = !_initValue; - value.valD = _initValue; - if (_initValue) value.valD = value.valD + 1; // +1 - компенсируем ранний вычет счетчика, ранний вычет, чтоб после события значение таймера не исказилось. - // +0 - если изначально установили бесконечный счет + + if (!_needSave) { + value.valD = _initValue; + if (_initValue) value.valD = value.valD + 1; // +1 - компенсируем ранний вычет счетчика, ранний вычет, чтоб после события значение таймера не исказилось. + } jsonRead(parameters, "ticker", _ticker); jsonRead(parameters, "repeat", _repeat); - jsonRead(parameters, "needSave", _needSave); // нужно сохранять счетчик в постоянную память } void doByInterval() { if (!_unfin && value.valD >= 0 && !_pause) { if (_repeat && value.valD == 0) value.valD = _initValue; value.valD--; - if (_needSave) needSave = true; if (value.valD == 0) { regEvent(value.valD, "Time's up"); }