From 5c7f07e638c50a7b063009718f8ab35c0ce7fa44 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Mon, 20 Nov 2023 16:05:53 +1100 Subject: [PATCH] Use a non-IRAM-safe interrupt for gpio changes AFAICT this *should* be IRAM-safe, but there's an xQueueReceiveGeneric within esp-idf that doesn't appear to be allocated internally --- src/drivers/gpios.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/drivers/gpios.cpp b/src/drivers/gpios.cpp index 23a98c6f..dc737710 100644 --- a/src/drivers/gpios.cpp +++ b/src/drivers/gpios.cpp @@ -86,8 +86,7 @@ Gpios::Gpios() : ports_(pack(kPortADefault, kPortBDefault)), inputs_(0) { .intr_type = GPIO_INTR_NEGEDGE, }; gpio_config(&config); - gpio_install_isr_service(ESP_INTR_FLAG_LOWMED | ESP_INTR_FLAG_SHARED | - ESP_INTR_FLAG_IRAM); + gpio_install_isr_service(ESP_INTR_FLAG_LEVEL1); gpio_isr_handler_add(GPIO_NUM_34, &interrupt_isr, sReadPending); }