From 693613037a6be77bc86485676a903d97f266dc6c Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Thu, 26 Jan 2023 16:33:11 +0100 Subject: [PATCH] logic tweak --- mission/devices/SyrlinksHandler.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/mission/devices/SyrlinksHandler.cpp b/mission/devices/SyrlinksHandler.cpp index b07d6d37..ef59dbc4 100644 --- a/mission/devices/SyrlinksHandler.cpp +++ b/mission/devices/SyrlinksHandler.cpp @@ -25,7 +25,7 @@ void SyrlinksHandler::doStartUp() { } if (internalState == InternalState::ENABLE_TEMPERATURE_PROTECTION) { if (commandExecuted) { - // Got to normal mode immediately and disable transmitter on startup. + // Go to normal mode immediately and disable transmitter on startup. setMode(_MODE_TO_NORMAL); internalState = InternalState::IDLE; commandExecuted = false; @@ -35,13 +35,17 @@ void SyrlinksHandler::doStartUp() { void SyrlinksHandler::doShutDown() { // In any case, always disable TX first. - internalState = InternalState::SET_TX_STANDBY; - commandExecuted = false; - if (commandExecuted) { - temperatureSet.setValidity(false, true); - internalState = InternalState::OFF; + if (internalState != InternalState::SET_TX_STANDBY) { + internalState = InternalState::SET_TX_STANDBY; commandExecuted = false; - setMode(_MODE_POWER_DOWN); + } + if (internalState == InternalState::SET_TX_STANDBY) { + if (commandExecuted) { + temperatureSet.setValidity(false, true); + internalState = InternalState::OFF; + commandExecuted = false; + setMode(_MODE_POWER_DOWN); + } } }