refactor(esp_system) add user configurable reboot delay in seconds

Closes https://github.com/espressif/esp-idf/pull/9962
This commit is contained in:
Chip Weinberger
2022-11-15 03:58:16 -08:00
committed by Jakob Hasse
parent 7f4179744b
commit 6e2ce0d289
2 changed files with 29 additions and 0 deletions
+21
View File
@@ -383,6 +383,27 @@ void esp_panic_handler(panic_info_t *info)
wdt_hal_write_protect_enable(&rtc_wdt_ctx);
#if CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT || CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT
#if CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS
disable_all_wdts();
panic_print_str("Waiting to reboot...\r\n");
for(int i = 0; i < CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS; i++) {
// Display a progress countdown.
// Only print every 5th second so users terminal is still "calm".
if (i % 5 == 0) {
panic_print_dec(CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS - i);
panic_print_str(" seconds...\r\n");
}
esp_rom_delay_us(1000000);
}
esp_panic_handler_reconfigure_wdts();
#endif /* CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS */
if (esp_reset_reason_get_hint() == ESP_RST_UNKNOWN) {
switch (info->exception) {
case PANIC_EXCEPTION_IWDT: