fix standalone building

This commit is contained in:
proddy
2021-10-19 17:40:12 +02:00
parent 752530a381
commit 48cedbd0fb
6 changed files with 55 additions and 21 deletions

View File

@@ -23,8 +23,9 @@
#include "test/test.h"
#endif
#ifndef EMSESP_STANDALONE
#ifdef ESP_IDF_VERSION_MAJOR // IDF 4+
#if CONFIG_IDF_TARGET_ESP32 // ESP32/PICO-D4
#if CONFIG_IDF_TARGET_ESP32 // ESP32/PICO-D4
#include "../esp32/rom/rtc.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "../esp32s2/rom/rtc.h"
@@ -36,6 +37,7 @@
#else // ESP32 Before IDF 4.0
#include "../rom/rtc.h"
#endif
#endif
namespace emsesp {
@@ -951,7 +953,7 @@ bool System::command_info(const char * value, const int8_t id, JsonObject & json
#ifndef EMSESP_STANDALONE
node["freemem"] = ESP.getFreeHeap() / 1000L; // kilobytes
#endif
node["reset_reason"] = EMSESP::system_.reset_reason(0) + " / " + EMSESP::system_.reset_reason(1);
node["reset_reason"] = EMSESP::system_.reset_reason(0) + " / " + EMSESP::system_.reset_reason(1);
node = json.createNestedObject("Status");
@@ -1057,25 +1059,43 @@ bool System::command_restart(const char * value, const int8_t id) {
}
const std::string System::reset_reason(uint8_t cpu) {
#ifndef EMSESP_STANDALONE
switch (rtc_get_reset_reason(cpu)) {
case 1: return ("Power on reset");
case 1:
return ("Power on reset");
// case 2 :reset pin not on esp32
case 3: return ("Software reset");
case 4: return ("Legacy watch dog reset");
case 5: return ("Deep sleep reset");
case 6: return ("Reset by SDIO");
case 7: return ("Timer group0 watch dog reset");
case 8: return ("Timer group1 watch dog reset");
case 9: return ("RTC watch dog reset");
case 10: return ("Intrusion reset CPU");
case 11: return ("Timer group reset CPU");
case 12: return ("Software reset CPU");
case 13: return ("RTC watch dog reset: CPU");
case 14: return ("APP CPU reseted by PRO CPU");
case 15: return ("Brownout reset");
case 16: return ("RTC watch dog reset: CPU+RTC");
default: break;
case 3:
return ("Software reset");
case 4:
return ("Legacy watch dog reset");
case 5:
return ("Deep sleep reset");
case 6:
return ("Reset by SDIO");
case 7:
return ("Timer group0 watch dog reset");
case 8:
return ("Timer group1 watch dog reset");
case 9:
return ("RTC watch dog reset");
case 10:
return ("Intrusion reset CPU");
case 11:
return ("Timer group reset CPU");
case 12:
return ("Software reset CPU");
case 13:
return ("RTC watch dog reset: CPU");
case 14:
return ("APP CPU reseted by PRO CPU");
case 15:
return ("Brownout reset");
case 16:
return ("RTC watch dog reset: CPU+RTC");
default:
break;
}
#endif
return ("Unkonwn");
}