From 1e81c9b12589cf50a27fd81b51ac3a66644ed9fb Mon Sep 17 00:00:00 2001 From: Phat Nguyen Date: Mon, 13 May 2024 13:52:14 +0700 Subject: [PATCH] Fix issue: dashboard not show if get cloud configuration failed. --- src/AgStateMachine.cpp | 25 ++++++++++++++++--------- src/AgStateMachine.h | 1 + 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/AgStateMachine.cpp b/src/AgStateMachine.cpp index 6ee296d..e1b18a8 100644 --- a/src/AgStateMachine.cpp +++ b/src/AgStateMachine.cpp @@ -454,15 +454,19 @@ void StateMachine::displayHandle(AgStateMachineState state) { break; } case AgStateMachineSensorConfigFailed: { - uint32_t ms = (uint32_t)(millis() - addToDashboardTime); - if (ms >= 5000) { - addToDashboardTime = millis(); - if (addToDashBoard) { - disp.showDashboard("Add to Dashboard"); - } else { - disp.showDashboard(ag->deviceId().c_str()); + if (addToDashBoard) { + uint32_t ms = (uint32_t)(millis() - addToDashboardTime); + if (ms >= 5000) { + addToDashboardTime = millis(); + if (addToDashBoardToggle) { + disp.showDashboard("Add to Dashboard"); + } else { + disp.showDashboard(ag->deviceId().c_str()); + } + addToDashBoardToggle = !addToDashBoardToggle; } - addToDashBoard = !addToDashBoard; + } else { + disp.showDashboard(""); } break; } @@ -489,8 +493,11 @@ void StateMachine::displayHandle(void) { displayHandle(dispState); } * */ void StateMachine::displaySetAddToDashBoard(void) { + if(addToDashBoard == false) { + addToDashboardTime = 0; + addToDashBoardToggle = true; + } addToDashBoard = true; - addToDashboardTime = millis(); } void StateMachine::displayClearAddToDashBoard(void) { addToDashBoard = false; } diff --git a/src/AgStateMachine.h b/src/AgStateMachine.h index fa33549..7dfe0c4 100644 --- a/src/AgStateMachine.h +++ b/src/AgStateMachine.h @@ -17,6 +17,7 @@ private: Measurements &value; Configuration &config; bool addToDashBoard = false; + bool addToDashBoardToggle = false; uint32_t addToDashboardTime; int wifiConnectCountDown; int ledBarAnimationCount;