From 116193b940c3195788870a948649739140c7d566 Mon Sep 17 00:00:00 2001 From: skjaro Date: Tue, 14 Dec 2021 14:33:15 +0100 Subject: [PATCH] IsOff functon, 10ms timer --- platformio.ini | 2 +- src/Scroller.cpp | 6 ++++++ src/Scroller.h | 3 ++- src/main.cpp | 5 +---- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/platformio.ini b/platformio.ini index 5fd0b7b..f40b0e1 100644 --- a/platformio.ini +++ b/platformio.ini @@ -12,7 +12,7 @@ platform = espressif32 board = esp32doit-devkit-v1 framework = arduino -monitor_port = COM[136789] +monitor_port = COM[456789] monitor_speed = 115200 lib_deps = knolleary/PubSubClient@^2.8 diff --git a/src/Scroller.cpp b/src/Scroller.cpp index 90d40ed..494705e 100644 --- a/src/Scroller.cpp +++ b/src/Scroller.cpp @@ -251,6 +251,11 @@ void Scroller::PrintSerialLines() } } +bool Scroller::IsOff() +{ + return _off; +} + bool Scroller::TurnOn() { Serial.println("Turn on Scroller"); @@ -266,6 +271,7 @@ bool Scroller::TurnOn() void Scroller::TurnOff() { + DeleteLines(); Serial.println("TURN OFF"); _matrix->fillScreen(0); _matrix->print(""); diff --git a/src/Scroller.h b/src/Scroller.h index 29df8c8..82e1332 100644 --- a/src/Scroller.h +++ b/src/Scroller.h @@ -7,7 +7,7 @@ #include "ESP32TimerInterrupt.h" -#define SCROLLER_TICK_TIME 50 //ms +#define SCROLLER_TICK_TIME 10 //ms typedef struct { char const *code; @@ -71,6 +71,7 @@ public: int Scroll(); int TimesScrolled(); void PrintSerialLines(); + bool IsOff(); void TurnOff(); void loop(ulong tick); void Show(int _x,int _y, String line); diff --git a/src/main.cpp b/src/main.cpp index 343b7ed..304ea76 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -250,11 +250,8 @@ void callback(char* topic, byte* payload, unsigned int length) { strncpy(msg,(char *)payload,length>255 ? 255 : length); msg[length>255 ? 255 : length] = '\0'; - // Switch on the LED if an 1 was received as first character - //scroller.TurnOff(); - //scroller.DeleteLines(); + if (scroller.IsOff()) showTextMqtt = true; scroller.AddLine(msg); - showTextMqtt = true; } else if (String("get/home/sensor/decka/bme280") == String(topic)) { client.publish("home/sensor/decka/bme280/temperature",(String("N:") + String(bme.readTemperature())).c_str()); client.publish("home/sensor/decka/bme280/humidity",(String("N:") + String(bme.readHumidity())).c_str());