add not applicable as restart reason

This commit is contained in:
technyon
2023-03-09 21:07:14 +01:00
parent 10608040c5
commit 1b60087b27
3 changed files with 15 additions and 4 deletions

View File

@@ -18,6 +18,7 @@ enum class RestartReason
OTAAborted,
OTAUnknownState,
DeviceUnpaired,
NotApplicable
};
#define RESTART_REASON_VALID_DETECT 0xa00ab00bc00bd00d;
@@ -25,6 +26,8 @@ enum class RestartReason
extern int restartReason;
extern uint64_t restartReasonValid;
extern RestartReason currentRestartReason;
inline static void restartEsp(RestartReason reason)
{
restartReason = (int)reason;
@@ -32,15 +35,19 @@ inline static void restartEsp(RestartReason reason)
ESP.restart();
}
inline static String getRestartReason()
inline static void initializeRestartReason()
{
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:
return "RequestedViaMqtt";
@@ -74,6 +81,8 @@ inline static String getRestartReason()
return "OTAUnknownState";
case RestartReason::DeviceUnpaired:
return "DeviceUnpaired";
case RestartReason::NotApplicable:
return "NotApplicable";
default:
return "Unknown: " + restartReason;
}

View File

@@ -31,6 +31,7 @@ unsigned long restartTs = (2^32) - 5 * 60000;
RTC_NOINIT_ATTR int restartReason;
RTC_NOINIT_ATTR uint64_t restartReasonValid;
RestartReason currentRestartReason = RestartReason::NotApplicable;
TaskHandle_t networkTaskHandle = nullptr;
TaskHandle_t nukiTaskHandle = nullptr;
@@ -167,6 +168,7 @@ void setup()
Log->print(F("NUKI Hub version ")); Log->println(NUKI_HUB_VERSION);
bool firstStart = initPreferences();
initializeRestartReason();
if(preferences->getInt(preference_restart_timer) > 0)
{

Binary file not shown.