From b19b51d2bf3f73bd5fd2eb9512824ec4b76d0049 Mon Sep 17 00:00:00 2001 From: biver Date: Wed, 8 Mar 2023 15:23:16 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B3=D1=80=D0=B0=D0=BD=D0=B8=D1=87?= =?UTF-8?q?=D0=B8=D0=B2=D0=B0=D0=B5=D0=BC=20=D0=BF=D1=80=D0=B8=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BC=D0=BE=D0=BD=D0=B8=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=B8=D0=BD=D0=B3=D0=B0=20=D0=B7=D0=B0=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=B8=D0=B7=D0=B2=D0=BE=D0=B4=D0=B8=D1=82=D0=B5?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D0=BE=D1=81=D1=82=D1=8C=D1=8E=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=208266?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Main.cpp | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/Main.cpp b/src/Main.cpp index 41d694de..daabef89 100644 --- a/src/Main.cpp +++ b/src/Main.cpp @@ -32,6 +32,7 @@ void elementsLoop() { + #define SETUPBASE_ERRORMARKER 0 #define SETUPCONF_ERRORMARKER 1 #define SETUPSCEN_ERRORMARKER 2 @@ -43,12 +44,14 @@ void elementsLoop() { #define MQTT_ERRORMARKER 8 #define MODULES_ERRORMARKER 9 -#define COUNTER_ERRORMARKER 9 // количество шагов счетчика +#define COUNTER_ERRORMARKER 4 // количество шагов счетчика #define STEPPER_ERRORMARKER 100000 // размер шага счетчика интервала доверия выполнения блока кода мкс -int initErrorMarkerId = 0; // ИД маркера -int errorMarkerId = 0; -unsigned long errorMarkerCounter = 0; +#ifdef esp32_4mb + +static int IRAM_ATTR initErrorMarkerId = 0; // ИД маркера +static int IRAM_ATTR errorMarkerId = 0; +static int IRAM_ATTR errorMarkerCounter = 0; hw_timer_t *My_timer = NULL; void IRAM_ATTR onTimer(){ @@ -60,23 +63,30 @@ void IRAM_ATTR onTimer(){ errorMarkerCounter++; } } +#endif void initErrorMarker(int id) { +#ifdef esp32_4mb initErrorMarkerId = id; errorMarkerCounter = 0; +#endif } void stopErrorMarker(int id) { +#ifdef esp32_4mb errorMarkerCounter = -1; if (errorMarkerId) SerialPrint("I", "WARNING!", "A lazy (freezing loop more than " + (String)(COUNTER_ERRORMARKER * STEPPER_ERRORMARKER / 1000) + " ms) section has been found! With ID=" + (String)errorMarkerId); errorMarkerId = 0; initErrorMarkerId = 0; +#endif } void setup() { + +#ifdef esp32_4mb My_timer = timerBegin(0, 80, true); timerAttachInterrupt(My_timer, &onTimer, true); timerAlarmWrite(My_timer, STEPPER_ERRORMARKER, true); @@ -84,6 +94,7 @@ void setup() { //timerAlarmDisable(My_timer); initErrorMarker(SETUPBASE_ERRORMARKER); +#endif Serial.begin(115200); Serial.flush();