From a9da730894eb23d05001944e14feff9767718069 Mon Sep 17 00:00:00 2001 From: "Ben V. Brown" Date: Thu, 20 Jul 2023 21:59:55 +1000 Subject: [PATCH] Update TemperatureAdjust.cpp --- .../OperatingModes/TemperatureAdjust.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/source/Core/Threads/OperatingModes/TemperatureAdjust.cpp b/source/Core/Threads/OperatingModes/TemperatureAdjust.cpp index 4a8961d7..15b6ccc8 100644 --- a/source/Core/Threads/OperatingModes/TemperatureAdjust.cpp +++ b/source/Core/Threads/OperatingModes/TemperatureAdjust.cpp @@ -1,17 +1,18 @@ #include "OperatingModes.h" -OperatingMode gui_solderingTempAdjust(const ButtonState buttons, guiContext *cxt) { - - currentTempTargetDegC = 0; // Turn off heater while adjusting temp - uint16_t *waitForRelease = &(cxt->scratch_state.state1); - uint32_t *autoRepeatTimer = &(cxt->scratch_state.state3); - uint16_t *autoRepeatAcceleration = &(cxt->scratch_state.state2); +OperatingMode gui_solderingTempAdjust(const ButtonState buttonIn, guiContext *cxt) { + currentTempTargetDegC = 0; // Turn off heater while adjusting temp + uint16_t *waitForRelease = &(cxt->scratch_state.state1); + uint32_t *autoRepeatTimer = &(cxt->scratch_state.state3); + uint16_t *autoRepeatAcceleration = &(cxt->scratch_state.state2); + ButtonState buttons = buttonIn; if (*waitForRelease == 0) { // When we first enter we wait for the user to release buttons before enabling changes if (buttons != BUTTON_NONE) { - return OperatingMode::TemperatureAdjust; + buttons = BUTTON_NONE; + } else { + (*waitForRelease)++; } - (*waitForRelease)++; } OLED::setCursor(0, 0); @@ -76,7 +77,7 @@ OperatingMode gui_solderingTempAdjust(const ButtonState buttons, guiContext *cxt } setSettingValue(SettingsOptions::SolderingTemp, (uint16_t)newTemp); } - if (xTaskGetTickCount() - cxt->viewEnterTime > (TICKS_SECOND * 2)) { + if (xTaskGetTickCount() - lastButtonTime > (TICKS_SECOND * 3)) { cxt->transitionMode = TransitionAnimation::Right; return cxt->previousMode; // exit if user just doesn't press anything for a bit }