#include <esp_task_wdt.h>
#define WDT_TIMEOUT 10
#define sw1 16
void setup() {
Serial.begin(115200);
Serial.println("Start!");
// Setup task WDT
Serial.println("Configuring WDT...");
esp_task_wdt_deinit();
esp_task_wdt_config_t wdt_config = {
.timeout_ms = WDT_TIMEOUT * 1000, // Convert seconds to milliseconds
.idle_core_mask = (1 << portNUM_PROCESSORS) - 1,
.trigger_panic = true // Enable panic so ESP32 restarts on WDT timeout
};
esp_task_wdt_init(&wdt_config); // enable panic so ESP32 restarts
esp_task_wdt_add(NULL); // add current thread to WDT watch
}
void loop() {
if (digitalRead(sw1)==HIGH) {
esp_task_wdt_reset();
Serial.println("SW1 HIGH Check WDT");
}
}