From 287cc479048070a9c5893f01052dd4b93f8362c7 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 25 May 2026 20:47:20 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B1=D0=B5=D0=BB=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20"-"=20=D0=BD=D0=B5=20=D0=BD?= =?UTF-8?q?=D1=83=D0=B6=D0=B5=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/classes/IoTScenario.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/classes/IoTScenario.cpp b/src/classes/IoTScenario.cpp index 7b7ad05a..58e34a0d 100644 --- a/src/classes/IoTScenario.cpp +++ b/src/classes/IoTScenario.cpp @@ -709,13 +709,6 @@ int IoTScenario::gettok() { } NumStr = ""; - if (LastChar == '-') { - LastChar = getLastChar(); - if (isdigit(LastChar)) - NumStr = "-"; - else - return '-'; - } if (isdigit(LastChar)) { // Число: [0-9.]+ do { NumStr += (char)LastChar; @@ -1009,6 +1002,12 @@ ExprAST *IoTScenario::ParsePrimary(String *IDNames, bool callFromCondition) { return ParseQuotesExpr(); case tok_if: return ParseIfExpr(IDNames); + case '-': { + getNextToken(); + ExprAST *Operand = ParsePrimary(IDNames, callFromCondition); + if (!Operand) return nullptr; + return new BinaryExprAST('-', new NumberExprAST("0"), Operand); + } } } From 80d112f26bc1f30f26aca490ab84451f58b7e30e Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 25 May 2026 21:09:02 +0300 Subject: [PATCH 2/2] =?UTF-8?q?fix=20AnalogADC=20=D0=BF=D1=80=D0=B8=20=5Fa?= =?UTF-8?q?vgSteps>1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/sensors/AnalogAdc/AnalogAdc.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/sensors/AnalogAdc/AnalogAdc.cpp b/src/modules/sensors/AnalogAdc/AnalogAdc.cpp index 1df0f770..1ba89272 100644 --- a/src/modules/sensors/AnalogAdc/AnalogAdc.cpp +++ b/src/modules/sensors/AnalogAdc/AnalogAdc.cpp @@ -63,6 +63,7 @@ class AnalogAdc : public IoTItem //Serial.print("adcAverage = " + String(_adcAverage) + " \t"); //Serial.println("realSteps = " + String(realSteps)); realSteps = 0; + _adcAverage = 0; } regEvent(value.valD, "AnalogAdc"); // обязательный вызов хотяб один }