From 38b15545b88fe43bb66298cbc8b38fda2cf83bf2 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 5 Sep 2022 18:03:40 -0300 Subject: [PATCH 1/2] Adds noInterrupt() and interrupt() functionality --- cores/esp32/Arduino.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/cores/esp32/Arduino.h b/cores/esp32/Arduino.h index d2f641c5882..ae063efe26b 100644 --- a/cores/esp32/Arduino.h +++ b/cores/esp32/Arduino.h @@ -79,10 +79,9 @@ #define degrees(rad) ((rad)*RAD_TO_DEG) #define sq(x) ((x)*(x)) -#define sei() -#define cli() -#define interrupts() sei() -#define noInterrupts() cli() +// ESP32xx runs FreeRTOS... disabling interrupts can lead to issues, such as Watchdog Timeout +#define interrupts() portENABLE_INTERRUPTS() +#define noInterrupts() portDISABLE_INTERRUPTS() #define clockCyclesPerMicrosecond() ( (long int)getCpuFrequencyMhz() ) #define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() ) From f67ef9fb4e2f8b6be8d9662cc26404fd7bc6e3e3 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Thu, 15 Sep 2022 09:44:46 -0300 Subject: [PATCH 2/2] Adds sei/cli Adds back sei()/cli() macros --- cores/esp32/Arduino.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cores/esp32/Arduino.h b/cores/esp32/Arduino.h index ae063efe26b..8b0aa220d98 100644 --- a/cores/esp32/Arduino.h +++ b/cores/esp32/Arduino.h @@ -80,8 +80,10 @@ #define sq(x) ((x)*(x)) // ESP32xx runs FreeRTOS... disabling interrupts can lead to issues, such as Watchdog Timeout -#define interrupts() portENABLE_INTERRUPTS() -#define noInterrupts() portDISABLE_INTERRUPTS() +#define sei() portENABLE_INTERRUPTS() +#define cli() portDISABLE_INTERRUPTS() +#define interrupts() sei() +#define noInterrupts() cli() #define clockCyclesPerMicrosecond() ( (long int)getCpuFrequencyMhz() ) #define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() )