From 0385beccdddcaf7f08eadcf445733b9b73c01c43 Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Tue, 27 Oct 2020 02:13:45 +0300 Subject: [PATCH] add logging class (not working version) --- .vscode/settings.json | 46 ++++++++++++++++++++++++++++++++++-- include/items/LoggingClass.h | 26 ++++++++++++++++++++ src/items/LoggingClass.cpp | 25 ++++++++++++++++++++ src/main.cpp | 6 +++++ 4 files changed, 101 insertions(+), 2 deletions(-) create mode 100644 include/items/LoggingClass.h create mode 100644 src/items/LoggingClass.cpp diff --git a/.vscode/settings.json b/.vscode/settings.json index 63657b48..b1ad7d05 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,6 +2,48 @@ "files.associations": { "*.tcc": "cpp", "string": "cpp", - "functional": "cpp" - } + "functional": "cpp", + "array": "cpp", + "atomic": "cpp", + "bitset": "cpp", + "cctype": "cpp", + "chrono": "cpp", + "clocale": "cpp", + "cmath": "cpp", + "cstdarg": "cpp", + "cstdint": "cpp", + "cstdio": "cpp", + "cstdlib": "cpp", + "cstring": "cpp", + "ctime": "cpp", + "cwchar": "cpp", + "cwctype": "cpp", + "deque": "cpp", + "list": "cpp", + "unordered_map": "cpp", + "vector": "cpp", + "exception": "cpp", + "fstream": "cpp", + "initializer_list": "cpp", + "iosfwd": "cpp", + "iostream": "cpp", + "istream": "cpp", + "limits": "cpp", + "mutex": "cpp", + "new": "cpp", + "ostream": "cpp", + "numeric": "cpp", + "ratio": "cpp", + "sstream": "cpp", + "stdexcept": "cpp", + "streambuf": "cpp", + "system_error": "cpp", + "cinttypes": "cpp", + "regex": "cpp", + "tuple": "cpp", + "type_traits": "cpp", + "utility": "cpp", + "typeinfo": "cpp" + }, + "cmake.configureOnOpen": true } \ No newline at end of file diff --git a/include/items/LoggingClass.h b/include/items/LoggingClass.h new file mode 100644 index 00000000..206d3cb0 --- /dev/null +++ b/include/items/LoggingClass.h @@ -0,0 +1,26 @@ +#pragma once +#include + +#include "Global.h" + +class LoggingClass { + public: + LoggingClass(unsigned long period, unsigned int maxPoints, String key); + ~LoggingClass(); + + void loop(); + void writeDate(); + + private: + + unsigned long currentMillis; + unsigned long prevMillis; + unsigned long difference; + + unsigned long _period; + unsigned int _maxPoints; + String _key; +}; + +extern std::vector myLogging; +//extern LoggingClass* myLogging; \ No newline at end of file diff --git a/src/items/LoggingClass.cpp b/src/items/LoggingClass.cpp new file mode 100644 index 00000000..66f92aa0 --- /dev/null +++ b/src/items/LoggingClass.cpp @@ -0,0 +1,25 @@ +#include "items/LoggingClass.h" + +LoggingClass::LoggingClass(unsigned long period, unsigned int maxPoints, String key) { + _period = period; + _maxPoints = maxPoints; + _key = key; +} + +LoggingClass::~LoggingClass() {} + +void LoggingClass::loop() { + currentMillis = millis(); + difference = currentMillis - prevMillis; + if (difference >= _period) { + prevMillis = millis(); + writeDate(); + } +} + +void LoggingClass::writeDate() { + SerialPrint("I", "Logging", _key); +} + +std::vector myLogging; +//LoggingClass* myLogging; \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index d6a64e9f..31da0f62 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -13,6 +13,7 @@ #include "Utils/Timings.h" #include "Utils/WebUtils.h" #include "items/ButtonInClass.h" +#include "items/LoggingClass.h" //#include "RemoteOrdersUdp.h" #include "Bus.h" @@ -95,6 +96,9 @@ void setup() { just_load = false; initialized = true; //this second POST makes the data to be processed (you don't need to connect as "keep-alive" for that to work) + + myLogging = new LoggingClass[1](5000, 200, "array"); + //myLogging = new LoggingClass(5000, 200, "test"); } void loop() { @@ -116,4 +120,6 @@ void loop() { myNotAsyncActions->loop(); ts.update(); + + myLogging->loop(); } \ No newline at end of file