From cc69fde50def3d09cdc8cba89d67b82d899dc9a9 Mon Sep 17 00:00:00 2001 From: biver Date: Fri, 4 Nov 2022 17:15:59 +0300 Subject: [PATCH 1/3] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=D1=8C?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=B2=D1=8B=D0=B7=D1=8B=D0=B2=D0=B0=D0=B5=D0=BC?= =?UTF-8?q?=20=D0=BE=D1=80=D0=B4=D0=B5=D1=80=20=D0=BF=D1=80=D0=B8=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B8=D1=85=D0=BE=D0=B4=D0=B5=20=D1=81=D0=BE=D0=BE=D1=89?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=B8=D0=B7=20Nexion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/sensors/UART/Uart.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/modules/sensors/UART/Uart.cpp b/src/modules/sensors/UART/Uart.cpp index 444dc31f..c3f896a5 100644 --- a/src/modules/sensors/UART/Uart.cpp +++ b/src/modules/sensors/UART/Uart.cpp @@ -54,11 +54,9 @@ class UART : public IoTItem { case 2: // формат команд от Nextion ID=Value String id = selectToMarker(msg, "="); - IoTItem *item = findIoTItem(id); - if (!item) return; String valStr = selectToMarkerLast(msg, "="); valStr.replace("\"", ""); - item->setValue(valStr); + generateOrder(id, valStr); break; } } From 3564c43512f215c90700dab36ea785d533a64a61 Mon Sep 17 00:00:00 2001 From: biver Date: Fri, 4 Nov 2022 17:17:46 +0300 Subject: [PATCH 2/3] =?UTF-8?q?=D0=9E=D1=82=D0=BA=D0=BB=D1=8E=D1=87=D0=B0?= =?UTF-8?q?=D0=B5=D0=BC=20=D0=BE=D1=82=D0=BB=D0=B0=D0=B4=D0=BE=D1=87=D0=BD?= =?UTF-8?q?=D1=83=D1=8E=20=D0=B8=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D1=8E=20=D0=BE=20=D1=81=D0=BE=D1=81=D1=82=D0=B0=D0=B2?= =?UTF-8?q?=D0=B5=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=B0=20Items?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Main.cpp b/src/Main.cpp index 6961e6a1..34860c02 100644 --- a/src/Main.cpp +++ b/src/Main.cpp @@ -106,7 +106,7 @@ void setup() { for (std::list::iterator it = IoTItems.begin(); it != IoTItems.end(); ++it) { (*it)->checkIntFromNet(); - Serial.printf("[ITEM] size: %d, id: %s, int: %d, intnet: %d\n", sizeof(**it), (*it)->getID(), (*it)->getInterval(), (*it)->getIntFromNet()); + //Serial.printf("[ITEM] size: %d, id: %s, int: %d, intnet: %d\n", sizeof(**it), (*it)->getID(), (*it)->getInterval(), (*it)->getIntFromNet()); } }, nullptr, true); From 8523a278dbf40e57b37f435dc8c2542538fb7ce8 Mon Sep 17 00:00:00 2001 From: biver Date: Fri, 4 Nov 2022 18:58:13 +0300 Subject: [PATCH 3/3] =?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=D0=B0=D0=BB=D0=B3=D0=BE=D1=80?= =?UTF-8?q?=D0=B8=D1=82=D0=BC=20=D0=BF=D1=80=D0=B8=D0=B5=D0=BC=D0=B0=20?= =?UTF-8?q?=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D0=B9=20=D1=81?= =?UTF-8?q?=20Nextion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/sensors/UART/Uart.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/modules/sensors/UART/Uart.cpp b/src/modules/sensors/UART/Uart.cpp index c3f896a5..e08dd120 100644 --- a/src/modules/sensors/UART/Uart.cpp +++ b/src/modules/sensors/UART/Uart.cpp @@ -67,12 +67,21 @@ class UART : public IoTItem { if (_myUART->available()) { static String inStr = ""; char inc; + inc = _myUART->read(); - inStr += inc; + if (inc == 0xFF) { + inc = _myUART->read(); + inc = _myUART->read(); + inStr = ""; + return; + } + + if (inc == '\r') return; + if (inc == '\n') { analyzeString(inStr); inStr = ""; - } + } else inStr += inc; } }