From 777a04b9011fca6926e9b5310cdf854bb8f7c0f7 Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Mon, 2 Nov 2020 15:20:04 +0300 Subject: [PATCH] impuls bug fixed --- include/BufferExecute.h | 12 ++++++------ src/BufferExecute.cpp | 10 +++++----- src/Init.cpp | 12 ++++++++++-- src/items/ImpulsOutClass.cpp | 5 ++--- 4 files changed, 23 insertions(+), 16 deletions(-) diff --git a/include/BufferExecute.h b/include/BufferExecute.h index 8575f6f4..076d73da 100644 --- a/include/BufferExecute.h +++ b/include/BufferExecute.h @@ -1,10 +1,10 @@ #pragma once #include -extern void loopCmdAdd(const String &cmdStr); -extern void fileCmdExecute(const String &filename); -extern void csvCmdExecute(String &cmdStr); -extern void spaceCmdExecute(String &cmdStr); +extern void loopCmdAdd(const String& cmdStr); +extern void fileCmdExecute(const String& filename); +extern void csvCmdExecute(String& cmdStr); +extern void spaceCmdExecute(String& cmdStr); extern void loopCmdExecute(); -extern void addKey(String& key, int number); -extern int getKeyNum(String& key); \ No newline at end of file +extern void addKey(String& key, String& keyNumberTable, int number); +extern int getKeyNum(String& key, String& keyNumberTable); \ No newline at end of file diff --git a/src/BufferExecute.cpp b/src/BufferExecute.cpp index 2e580fee..ca6ec574 100644 --- a/src/BufferExecute.cpp +++ b/src/BufferExecute.cpp @@ -74,13 +74,13 @@ void sensorsInit() { nullptr, true); } -void addKey(String& key, int number) { - impulsKeyList += key + " " + String(number) + ","; +void addKey(String& key, String& keyNumberTable, int number) { + keyNumberTable += key + " " + String(number) + ","; } -int getKeyNum(String& key) { - String keyNumberTableBuf = impulsKeyList; - //SerialPrint("","",impulsKeyList); +int getKeyNum(String& key, String& keyNumberTable) { + String keyNumberTableBuf = keyNumberTable; + //SerialPrint("","",keyNumberTable); int number = -1; while (keyNumberTableBuf.length()) { String tmp = selectToMarker(keyNumberTableBuf, ","); diff --git a/src/Init.cpp b/src/Init.cpp index 0996230a..2d7ca95f 100644 --- a/src/Init.cpp +++ b/src/Init.cpp @@ -3,6 +3,7 @@ #include "Cmd.h" #include "Global.h" #include "items/LoggingClass.h" +#include "items/ImpulsOutClass.h" void loadConfig() { configSetupJson = readFile("config.json", 4096); @@ -26,18 +27,25 @@ void all_init() { } void Device_init() { + sensorReadingMap10sec = ""; + dallasEnterCounter = -1; + + //======clear logging params====== if (myLogging != nullptr) { myLogging->clear(); } - loggingKeyList = ""; + //======clear impuls params======= + if (myImpulsOut != nullptr) { + myImpulsOut->clear(); + } impulsKeyList = ""; impulsEnterCounter = -1; - + #ifdef LAYOUT_IN_RAM all_widgets = ""; #else diff --git a/src/items/ImpulsOutClass.cpp b/src/items/ImpulsOutClass.cpp index fb423dcc..99f860d4 100644 --- a/src/items/ImpulsOutClass.cpp +++ b/src/items/ImpulsOutClass.cpp @@ -45,7 +45,7 @@ void impuls() { myLineParsing.clear(); impulsEnterCounter++; - addKey(key, impulsEnterCounter); + addKey(key, impulsKeyList, impulsEnterCounter); static bool firstTime = true; if (firstTime) myImpulsOut = new MyImpulsOutVector(); @@ -60,8 +60,7 @@ void impulsExecute() { String impulsPeriod = sCmd.next(); String impulsCount = sCmd.next(); - int number = getKeyNum(key); - SerialPrint("I", "Impuls", key + " " + String(number)); + int number = getKeyNum(key, impulsKeyList); if (myImpulsOut != nullptr) { if (number != -1) {