From 47effe79c7be73c49decef35e457e612dde566ed Mon Sep 17 00:00:00 2001 From: CommanderRedYT Date: Mon, 17 Jan 2022 11:57:10 +0100 Subject: [PATCH 1/2] Add flag for checking if task was initialized --- src/schedulertask.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/schedulertask.h b/src/schedulertask.h index 00c61fd..fb50771 100644 --- a/src/schedulertask.h +++ b/src/schedulertask.h @@ -23,7 +23,7 @@ public: const std::chrono::milliseconds &maxElapsed() const { return m_maxElapsed; } int callCount() const { return m_callCount; } - void setup() const { m_setupCallback(); } + void setup() const { m_setupCallback(); m_wasInitialized = true; } void loop(); void pushStats(bool printTask); @@ -47,5 +47,6 @@ private: std::chrono::milliseconds m_totalElapsedTemp; std::chrono::milliseconds m_maxElapsedTemp; int m_callCountTemp{}; + bool m_wasInitialized{}; }; } // namespace espcpputils -- 2.50.1 From 68fbe968bfc28fb305ad77278375eedc36340e81 Mon Sep 17 00:00:00 2001 From: CommanderRedYT Date: Mon, 17 Jan 2022 11:58:59 +0100 Subject: [PATCH 2/2] Add check for initialized state --- src/schedulertask.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/schedulertask.cpp b/src/schedulertask.cpp index f35244f..ba6e90e 100644 --- a/src/schedulertask.cpp +++ b/src/schedulertask.cpp @@ -21,9 +21,9 @@ SchedulerTask::SchedulerTask(const char *name, void (&setupCallback)(), void (&l void SchedulerTask::loop() { - if (m_lastUpdate && espchrono::ago(*m_lastUpdate) < m_loopInterval) + if (!m_wasInitialized || (m_lastUpdate && espchrono::ago(*m_lastUpdate) < m_loopInterval)) return; - + ESP_LOGV(TAG, "start %s", m_name); if (m_intervalImportant) -- 2.50.1