publish restart reasons
This commit is contained in:
@@ -13,7 +13,7 @@ enum class RestartReason
|
||||
ConfigurationUpdated,
|
||||
RestartTimer,
|
||||
OTATimeout,
|
||||
DeviceUnpaired
|
||||
DeviceUnpaired,
|
||||
};
|
||||
|
||||
#define RESTART_REASON_VALID_DETECT 0xa00ab00bc00bd00d;
|
||||
@@ -28,7 +28,7 @@ inline static void restartEsp(RestartReason reason)
|
||||
ESP.restart();
|
||||
}
|
||||
|
||||
inline static String getRestartReasion()
|
||||
inline static String getRestartReason()
|
||||
{
|
||||
uint64_t cmp = RESTART_REASON_VALID_DETECT;
|
||||
if(restartReasonValid != cmp)
|
||||
@@ -65,4 +65,36 @@ inline static String getRestartReasion()
|
||||
default:
|
||||
return "Unknown: " + restartReason;
|
||||
}
|
||||
}
|
||||
|
||||
inline static String getEspRestartReason()
|
||||
{
|
||||
esp_reset_reason_t reason = esp_reset_reason();
|
||||
switch(reason)
|
||||
{
|
||||
case esp_reset_reason_t::ESP_RST_UNKNOWN:
|
||||
return "ESP_RST_UNKNOWN: Reset reason can not be determined.";
|
||||
case esp_reset_reason_t::ESP_RST_POWERON:
|
||||
return "ESP_RST_POWERON: Reset due to power-on event.";
|
||||
case esp_reset_reason_t::ESP_RST_EXT:
|
||||
return "ESP_RST_EXT: Reset by external pin";
|
||||
case esp_reset_reason_t::ESP_RST_SW:
|
||||
return "ESP_RST_SW: Software reset via esp_restart.";
|
||||
case esp_reset_reason_t::ESP_RST_PANIC:
|
||||
return "ESP_RST_PANIC: Software reset due to exception/panic.";
|
||||
case esp_reset_reason_t::ESP_RST_INT_WDT:
|
||||
return "ESP_RST_INT_WDT: Reset (software or hardware) due to interrupt watchdog";
|
||||
case esp_reset_reason_t::ESP_RST_TASK_WDT:
|
||||
return "ESP_RST_TASK_WDT: Reset due to task watchdog.";
|
||||
case esp_reset_reason_t::ESP_RST_WDT:
|
||||
return "ESP_RST_WDT: Reset due to other watchdogs.";
|
||||
case esp_reset_reason_t::ESP_RST_DEEPSLEEP:
|
||||
return "ESP_RST_DEEPSLEEP: Reset after exiting deep sleep mode.";
|
||||
case esp_reset_reason_t::ESP_RST_BROWNOUT:
|
||||
return "ESP_RST_BROWNOUT: Brownout reset (software or hardware)";
|
||||
case esp_reset_reason_t::ESP_RST_SDIO:
|
||||
return "ESP_RST_SDIO: Reset over SDIO.";
|
||||
default:
|
||||
return "Unknown: " + (int)reason;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user