From 0c23cd78dddecfb3c670c203bc5fe13eaa723f91 Mon Sep 17 00:00:00 2001 From: biver Date: Fri, 2 Sep 2022 18:22:04 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D1=8F=D0=B5=D0=BC=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D1=83=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BC=D0=BE=D0=B4=D0=B8=D1=84=D0=B8=D0=BA=D0=B0=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=20=D0=BA=20=D0=B7=D0=BD=D0=B0=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/classes/IoTItem.cpp | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/classes/IoTItem.cpp b/src/classes/IoTItem.cpp index 97869c0e..c7a88943 100644 --- a/src/classes/IoTItem.cpp +++ b/src/classes/IoTItem.cpp @@ -33,7 +33,7 @@ IoTItem::IoTItem(String parameters) { _map2 = selectFromMarkerToMarker(map, ",", 1).toInt(); _map3 = selectFromMarkerToMarker(map, ",", 2).toInt(); _map4 = selectFromMarkerToMarker(map, ",", 3).toInt(); - } + } else _map1 = _map2 = _map3 = _map4 = 0; } //луп выполняющий переодическое дерганье @@ -50,15 +50,22 @@ void IoTItem::loop() { //получить String IoTItem::getValue() { - if (value.isDecimal) + if (value.isDecimal) { + if (_multiply) value.valD = value.valD * _multiply; + if (_plus) value.valD = value.valD + _plus; + if (_round >= 0 && _round <= 6) { + int sot = _round ? pow(10, (int)_round) : 1; + value.valD = round(value.valD * sot) / sot; + } + if (_map1 != _map2) value.valD = map(value.valD, _map1, _map2, _map3, _map4); + if (_round >= 0 && _round <= 6) { char buf[15]; sprintf(buf, ("%1." + (String)_round + "f").c_str(), value.valD); return (String)buf; } else return (String)value.valD; - else - return value.valS; + } else return value.valS; } //установить @@ -106,16 +113,7 @@ void IoTItem::regEvent(String value, String consoleInfo = "") { } void IoTItem::regEvent(float regvalue, String consoleInfo = "") { - if (_multiply) regvalue = regvalue * _multiply; - if (_plus) regvalue = regvalue + _plus; - if (_round >= 0 && _round <= 6) { - int sot = _round ? pow(10, (int)_round) : 1; - regvalue = round(regvalue * sot) / sot; - } - if (_map1 != _map2) regvalue = map(regvalue, _map1, _map2, _map3, _map4); - value.valD = regvalue; - regEvent(getValue(), consoleInfo); }