mirror of https://github.com/arendst/Tasmota.git
Revert "Final fix ESP32C3 relay toggle"
This reverts commit 4489dba8dd
.
This commit is contained in:
parent
4489dba8dd
commit
5297bab041
|
@ -993,11 +993,7 @@ extern "C" void ARDUINO_ISR_ATTR pinMode(uint8_t pin, uint8_t mode) {
|
||||||
__pinMode(pin, mode);
|
__pinMode(pin, mode);
|
||||||
#ifdef CONFIG_IDF_TARGET_ESP32C3
|
#ifdef CONFIG_IDF_TARGET_ESP32C3
|
||||||
// See GpioForceHoldRelay() below
|
// See GpioForceHoldRelay() below
|
||||||
static uint64_t pin_hold_mask = 0;
|
gpio_hold_dis((gpio_num_t)pin); // Allow state change
|
||||||
if (!bitRead(pin_hold_mask, pin)) {
|
|
||||||
bitSet(pin_hold_mask, pin);
|
|
||||||
gpio_hold_dis((gpio_num_t)pin); // Allow state change
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1008,12 +1004,10 @@ void GpioForceHoldRelay(void) {
|
||||||
|
|
||||||
// gpio_force_hold_all(); // This will hold flash/serial too so do not use
|
// gpio_force_hold_all(); // This will hold flash/serial too so do not use
|
||||||
|
|
||||||
// Use current gpio config
|
uint16_t real_gpio = GPIO_REL1 << 5;
|
||||||
// for (uint32_t i = 0; i < nitems(TasmotaGlobal.gpio_pin); i++) {
|
uint16_t mask = 0xFFE0;
|
||||||
// if ((TasmotaGlobal.gpio_pin[i] & 0xFFE0) == GPIO_REL1 << 5) {
|
for (uint32_t i = 0; i < nitems(TasmotaGlobal.gpio_pin); i++) {
|
||||||
// Use future gpio config
|
if ((TasmotaGlobal.gpio_pin[i] & mask) == real_gpio) {
|
||||||
for (uint32_t i = 0; i < nitems(Settings->my_gp.io); i++) {
|
|
||||||
if ((Settings->my_gp.io[i] & 0xFFE0) == GPIO_REL1 << 5) {
|
|
||||||
gpio_hold_en((gpio_num_t)i); // Retain the state when the chip or system is reset, for example, when watchdog time-out or Deep-sleep
|
gpio_hold_en((gpio_num_t)i); // Retain the state when the chip or system is reset, for example, when watchdog time-out or Deep-sleep
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue