From b45cf11ff1eae5cc443914789298abe093b8d204 Mon Sep 17 00:00:00 2001 From: lbernstone Date: Mon, 19 Apr 2021 03:28:06 -0600 Subject: [PATCH] Fixed ESP::getCycleCount for S2/C3 (#5075) Fixes #5071 --- cores/esp32/Esp.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/cores/esp32/Esp.h b/cores/esp32/Esp.h index 34643117..81684836 100644 --- a/cores/esp32/Esp.h +++ b/cores/esp32/Esp.h @@ -22,6 +22,9 @@ #include #include +#ifndef CONFIG_IDF_TARGET_ESP32 // Broken in IDF 20210417 +#include +#endif /** * AVR macros for WDT managment @@ -111,7 +114,11 @@ public: uint32_t ARDUINO_ISR_ATTR EspClass::getCycleCount() { uint32_t ccount; +#ifdef CONFIG_IDF_TARGET_ESP32 __asm__ __volatile__("esync; rsr %0,ccount":"=a" (ccount)); +#else // This should work on ESP32 once the hal is complete + ccount = systimer_hal_get_counter_value(SYSTIMER_COUNTER_0); +#endif return ccount; }