From c1fa07dd51abdb9292c8fc5bb112ece7951bb6e8 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Mon, 13 Nov 2023 10:54:25 +0100 Subject: [PATCH] Fix ESP32C3 ledlink --- tasmota/tasmota_support/support.ino | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tasmota/tasmota_support/support.ino b/tasmota/tasmota_support/support.ino index 0b737f213..af16da364 100755 --- a/tasmota/tasmota_support/support.ino +++ b/tasmota/tasmota_support/support.ino @@ -1452,7 +1452,9 @@ void DigitalWrite(uint32_t gpio_pin, uint32_t index, uint32_t state) { if (PinUsed(gpio_pin, index)) { uint32_t pin = Pin(gpio_pin, index) & 0x3F; // Fix possible overflow over 63 gpios #ifdef CONFIG_IDF_TARGET_ESP32C3 - gpio_hold_dis((gpio_num_t)pin); // Allow state change + if (GPIO_REL1 == gpio_pin) { + gpio_hold_dis((gpio_num_t)pin); // Allow state change + } #endif if (!bitRead(pinmode_init[pin / 32], pin % 32)) { bitSet(pinmode_init[pin / 32], pin % 32); @@ -1460,7 +1462,9 @@ void DigitalWrite(uint32_t gpio_pin, uint32_t index, uint32_t state) { } digitalWrite(pin, state &1); #ifdef CONFIG_IDF_TARGET_ESP32C3 - gpio_hold_en((gpio_num_t)pin); // Retain the state when the chip or system is reset, for example, when watchdog time-out or Deep-sleep + if (GPIO_REL1 == gpio_pin) { + gpio_hold_en((gpio_num_t)pin); // Retain the state when the chip or system is reset, for example, when watchdog time-out or Deep-sleep + } #endif } }