add not applicable as restart reason
This commit is contained in:
@@ -18,6 +18,7 @@ enum class RestartReason
|
|||||||
OTAAborted,
|
OTAAborted,
|
||||||
OTAUnknownState,
|
OTAUnknownState,
|
||||||
DeviceUnpaired,
|
DeviceUnpaired,
|
||||||
|
NotApplicable
|
||||||
};
|
};
|
||||||
|
|
||||||
#define RESTART_REASON_VALID_DETECT 0xa00ab00bc00bd00d;
|
#define RESTART_REASON_VALID_DETECT 0xa00ab00bc00bd00d;
|
||||||
@@ -25,6 +26,8 @@ enum class RestartReason
|
|||||||
extern int restartReason;
|
extern int restartReason;
|
||||||
extern uint64_t restartReasonValid;
|
extern uint64_t restartReasonValid;
|
||||||
|
|
||||||
|
extern RestartReason currentRestartReason;
|
||||||
|
|
||||||
inline static void restartEsp(RestartReason reason)
|
inline static void restartEsp(RestartReason reason)
|
||||||
{
|
{
|
||||||
restartReason = (int)reason;
|
restartReason = (int)reason;
|
||||||
@@ -32,15 +35,19 @@ inline static void restartEsp(RestartReason reason)
|
|||||||
ESP.restart();
|
ESP.restart();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline static String getRestartReason()
|
inline static void initializeRestartReason()
|
||||||
{
|
{
|
||||||
uint64_t cmp = RESTART_REASON_VALID_DETECT;
|
uint64_t cmp = RESTART_REASON_VALID_DETECT;
|
||||||
if(restartReasonValid != cmp)
|
if(restartReasonValid == cmp)
|
||||||
{
|
{
|
||||||
return "UnknownNoRestartRegistered";
|
currentRestartReason = (RestartReason)restartReason;
|
||||||
|
memset(&restartReasonValid, 0, sizeof(restartReasonValid));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
switch((RestartReason)restartReason)
|
inline static String getRestartReason()
|
||||||
|
{
|
||||||
|
switch(currentRestartReason)
|
||||||
{
|
{
|
||||||
case RestartReason::RequestedViaMqtt:
|
case RestartReason::RequestedViaMqtt:
|
||||||
return "RequestedViaMqtt";
|
return "RequestedViaMqtt";
|
||||||
@@ -74,6 +81,8 @@ inline static String getRestartReason()
|
|||||||
return "OTAUnknownState";
|
return "OTAUnknownState";
|
||||||
case RestartReason::DeviceUnpaired:
|
case RestartReason::DeviceUnpaired:
|
||||||
return "DeviceUnpaired";
|
return "DeviceUnpaired";
|
||||||
|
case RestartReason::NotApplicable:
|
||||||
|
return "NotApplicable";
|
||||||
default:
|
default:
|
||||||
return "Unknown: " + restartReason;
|
return "Unknown: " + restartReason;
|
||||||
}
|
}
|
||||||
|
|||||||
2
main.cpp
2
main.cpp
@@ -31,6 +31,7 @@ unsigned long restartTs = (2^32) - 5 * 60000;
|
|||||||
|
|
||||||
RTC_NOINIT_ATTR int restartReason;
|
RTC_NOINIT_ATTR int restartReason;
|
||||||
RTC_NOINIT_ATTR uint64_t restartReasonValid;
|
RTC_NOINIT_ATTR uint64_t restartReasonValid;
|
||||||
|
RestartReason currentRestartReason = RestartReason::NotApplicable;
|
||||||
|
|
||||||
TaskHandle_t networkTaskHandle = nullptr;
|
TaskHandle_t networkTaskHandle = nullptr;
|
||||||
TaskHandle_t nukiTaskHandle = nullptr;
|
TaskHandle_t nukiTaskHandle = nullptr;
|
||||||
@@ -167,6 +168,7 @@ void setup()
|
|||||||
Log->print(F("NUKI Hub version ")); Log->println(NUKI_HUB_VERSION);
|
Log->print(F("NUKI Hub version ")); Log->println(NUKI_HUB_VERSION);
|
||||||
|
|
||||||
bool firstStart = initPreferences();
|
bool firstStart = initPreferences();
|
||||||
|
initializeRestartReason();
|
||||||
|
|
||||||
if(preferences->getInt(preference_restart_timer) > 0)
|
if(preferences->getInt(preference_restart_timer) > 0)
|
||||||
{
|
{
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user