From 659fa48a05a4ca8ddb763b3c0ec6f9e1b50d4e13 Mon Sep 17 00:00:00 2001 From: Leo Date: Sun, 26 Jan 2025 18:55:55 +0200 Subject: [PATCH] Entirely moved button flipping to GUIIThread.cpp I don't know is it better or worse, functions the same --- source/Core/Threads/GUIThread.cpp | 5 ++++- source/Core/Threads/UI/logic/TemperatureAdjust.cpp | 4 ---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/source/Core/Threads/GUIThread.cpp b/source/Core/Threads/GUIThread.cpp index b83e53c1..4d343f91 100644 --- a/source/Core/Threads/GUIThread.cpp +++ b/source/Core/Threads/GUIThread.cpp @@ -43,8 +43,11 @@ guiContext context; // Conte OperatingMode handle_post_init_state(); OperatingMode guiHandleDraw(void) { OLED::clearScreen(); // Clear ready for render pass + bool d = getSettingValue(SettingsOptions::ReverseButtonNavEnabled); + bool e = getSettingValue(SettingsOptions::ReverseButtonTempChangeEnabled); + bool f = currentOperatingMode == OperatingMode::TemperatureAdjust; // Read button state - ButtonState buttons = getButtonState(getSettingValue(SettingsOptions::ReverseButtonNavEnabled) and !(currentOperatingMode == OperatingMode::TemperatureAdjust)); + ButtonState buttons = getButtonState((e && f) || (d && !e && !f) || (d && e && !f)); // Enforce screen on if buttons pressed, movement, hot tip etc if (buttons != BUTTON_NONE) { OLED::setDisplayState(OLED::DisplayState::ON); diff --git a/source/Core/Threads/UI/logic/TemperatureAdjust.cpp b/source/Core/Threads/UI/logic/TemperatureAdjust.cpp index 34a896c3..4e179328 100644 --- a/source/Core/Threads/UI/logic/TemperatureAdjust.cpp +++ b/source/Core/Threads/UI/logic/TemperatureAdjust.cpp @@ -54,10 +54,6 @@ OperatingMode gui_solderingTempAdjust(const ButtonState buttonIn, guiContext *cx if ((PRESS_ACCEL_INTERVAL_MAX - (*autoRepeatAcceleration)) < PRESS_ACCEL_INTERVAL_MIN) { (*autoRepeatAcceleration) = PRESS_ACCEL_INTERVAL_MAX - PRESS_ACCEL_INTERVAL_MIN; } - // If buttons are flipped; flip the delta - if (getSettingValue(SettingsOptions::ReverseButtonTempChangeEnabled)) { - delta = -delta; - } if (delta != 0) { // constrain between the set temp limits, i.e. 10-450 C int16_t newTemp = getSettingValue(SettingsOptions::SolderingTemp);