From d903fd7e974c1102e5c1696234014ba18dd3318c Mon Sep 17 00:00:00 2001 From: Gregg Date: Sat, 23 Jul 2022 15:16:43 -0500 Subject: [PATCH] Updated RFControl for compatibility with Arduino-ESP32 v 2.0.4 Needed to set idle_level to LOW even though idle_output was already disabled. This is likely because 2.0.4 introduced an entirely new API for RMT, though version 2.0.3 IDF functions and structures seem to be accepted as well. --- src/extras/RFControl.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/extras/RFControl.cpp b/src/extras/RFControl.cpp index 66fea73..31e48c3 100644 --- a/src/extras/RFControl.cpp +++ b/src/extras/RFControl.cpp @@ -31,7 +31,7 @@ RFControl::RFControl(uint8_t pin, boolean refClock, boolean installDriver){ -#ifdef CONFIG_IDF_TARGET_ESP32C3 +#if defined(CONFIG_IDF_TARGET_ESP32C3) || defined(CONFIG_IDF_TARGET_ESP32S3) if(nChannels==RMT_CHANNEL_MAX/2){ #else if(nChannels==RMT_CHANNEL_MAX){ @@ -52,6 +52,7 @@ RFControl::RFControl(uint8_t pin, boolean refClock, boolean installDriver){ config->mem_block_num=1; config->gpio_num=(gpio_num_t)pin; config->tx_config.idle_output_en=false; + config->tx_config.idle_level=RMT_IDLE_LEVEL_LOW; config->tx_config.loop_en=false; rmt_config(config);