#include <esp_task_wdt.h>
// 3 detik second WDT
unsigned char WDT_TIMEOUT =3;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("configuring WDT...");
esp_task_wdt_init(WDT_TIMEOUT, true); // enable panic so esp32 restarts
esp_task_wdt_add(NULL); // add current thread to WDT watch
}
int i = 0;
int last = millis();
void loop() {
// resetting WDT every 2s, 5 times only
if (millis() - last >= 2000 && i <5){
Serial.print(i);
Serial.println(" = Resetting WDT ...");
esp_task_wdt_reset();
last = millis();
i++;
if (i == 5)
{
Serial.println("Stopping WDT Reset. CPU Should reboot in 3s");
}
}
}