From bfabd3965f607e1c614c07a25a1303707c3e44d2 Mon Sep 17 00:00:00 2001 From: biver Date: Tue, 1 Feb 2022 09:01:07 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B2=20=D0=BF=D0=B5=D1=81=D0=BE=D1=87?= =?UTF-8?q?=D0=BD=D0=B8=D1=86=D1=83=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6?= =?UTF-8?q?=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D0=B0=D1=82=D0=BB=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B8=D0=B2=D0=B0=D1=82=D1=8C=20=D0=BA=D0=BE=D0=BC=D0=B0?= =?UTF-8?q?=D0=BD=D0=B4=D1=8B=20=D0=B8=D0=B7=20=D1=81=D1=86=D0=B5=D0=BD?= =?UTF-8?q?=D0=B0=D1=80=D0=B8=D0=B5=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/items/vSensorAny.cpp | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/items/vSensorAny.cpp b/src/items/vSensorAny.cpp index 0f4bbc5f..632fe3c1 100644 --- a/src/items/vSensorAny.cpp +++ b/src/items/vSensorAny.cpp @@ -50,10 +50,28 @@ void SensorAny::read() { MySensorAnyVector* mySensorAny = nullptr; +void AnySensorExecute() { + String key = sCmd.order(); + String command = sCmd.next(); + + if (command == "cmd1") { + SerialPrint("I", "Sensor", key + " выполняет cmd1 без параметра"); + } + else if (command == "cmd2") { + String par = sCmd.next(); + SerialPrint("I", "Sensor", key + " выполняет cmd2 c параметром " + par); + } + else if (command == "cmd3") { + String par = sCmd.next(); + SerialPrint("I", "Sensor", key + " выполняет cmd3 c параметром " + par); + } +} + void AnySensor() { String params = "{}"; myLineParsing.update(); - jsonWriteStr(params, "key", myLineParsing.gkey()); + String key = myLineParsing.gkey(); + jsonWriteStr(params, "key", key); jsonWriteStr(params, "addr", myLineParsing.gaddr()); jsonWriteStr(params, "int", myLineParsing.gint()); jsonWriteStr(params, "c", myLineParsing.gc()); @@ -64,7 +82,10 @@ void AnySensor() { myLineParsing.clear(); static bool firstTime = true; - if (firstTime) mySensorAny = new MySensorAnyVector(); + if (firstTime) { + mySensorAny = new MySensorAnyVector(); + sCmd.addCommand(key.c_str(), AnySensorExecute); + } firstTime = false; mySensorAny->push_back(SensorAny(params)); }