Fix ESP32 PWMFrequency < 8 result in WDT restart (#25155)

This commit is contained in:
Theo Arends committed 2026-10-21 15:14:47 +02:00
1 parent d1358faffc
commit 38a0a41938
3 files changed
+4 -22

No files matched your search

+1
View File
@@ -17,6 +17,7 @@ All notable changes to this project will be documented in this file.
### Fixed
- Several buffer overflows
- MiEL HVAC Modbus no response timeouts now serves the RS485 slave from its own task (#25157)
- ESP32 PWMFrequency < 8 result in WDT restart (#25155)
### Removed
+1
View File
@@ -127,6 +127,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm
### Fixed
- Several buffer overflows
- ESP32 PWMFrequency < 8 result in WDT restart [#25155](https://github.com/arendst/Tasmota/issues/25155)
- MiEL HVAC Modbus no response timeouts now serves the RS485 slave from its own task [#25157](https://github.com/arendst/Tasmota/issues/25157)
### Removed
+2 -22
View File
@@ -2202,9 +2202,6 @@ void GpioInit(void)
}
}
analogWriteRange(Settings->pwm_range); // Default is 1023 (Arduino.h)
analogWriteFreq(Settings->pwm_frequency); // Default is 1000 (core_esp8266_wiring_pwm.c)
#ifdef ESP8266
if ((2 == Pin(GPIO_TXD)) || (H801 == TasmotaGlobal.module_type)) { Serial.set_tx(2); }
SetSerialSwap();
@@ -2296,25 +2293,6 @@ void GpioInit(void)
digitalWrite(i, 0);
}
/*
// Until 20210726
// Set any non-used GPIO to INPUT - Related to resetPins() in support_legacy_cores.ino
// Doing it here solves relay toggles at restart.
#if CONFIG_IDF_TARGET_ESP32C3
else if (((i < 11) || (i > 17)) && (GPIO_NONE == mpin)) { // Skip SPI flash interface
if (!((20 == i) || (21 == i))) { // Skip serial
pinMode(i, INPUT);
}
}
#else // CONFIG_IDF_TARGET_ESP32C3
else if (((i < 6) || (i > 11)) && (GPIO_NONE == mpin)) { // Skip SPI flash interface
if (!((1 == i) || (3 == i))) { // Skip serial
pinMode(i, INPUT);
}
}
#endif // CONFIG_IDF_TARGET_ESP32C3
*/
#ifdef ESP8266
// Set any non-used GPIO to INPUT - Related to resetPins() in support_legacy_cores.ino
// Doing it here solves relay toggles at restart.
@@ -2405,7 +2383,9 @@ void GpioInit(void)
}
#endif // ESP8266
analogWriteRange(Settings->pwm_range); // Default is 1023 (Arduino.h)
GpioInitPwm();
analogWriteFreq(Settings->pwm_frequency); // Default is 1000 (core_esp8266_wiring_pwm.c) (Moved after init PWM #25155)
for (uint32_t i = 0; i < MAX_LEDS; i++) {
if (PinUsed(GPIO_LED1, i)) {