1
0
forked from me/IronOS

Add enum for modes of locking buttons (#1955)

* Add enum for modes of locking buttons

* Update description for FULL value
This commit is contained in:
Ivan Zorin
2024-07-24 15:14:06 +03:00
committed by GitHub
parent d9c88c9e71
commit 95eb154c44
3 changed files with 13 additions and 8 deletions

View File

@@ -110,6 +110,12 @@ typedef enum {
NO_DYNAMIC = 0, // PPS + EPR disabled, fixed PDO only NO_DYNAMIC = 0, // PPS + EPR disabled, fixed PDO only
} usbpdMode_t; } usbpdMode_t;
typedef enum {
DISABLED = 0, // Locking buttons is disabled
BOOST = 1, // Locking buttons for Boost mode only
FULL = 2, // Locking buttons for Boost mode AND for Soldering mode
} lockingMode_t;
// Settings wide operations // Settings wide operations
void saveSettings(); void saveSettings();
bool loadSettings(); bool loadSettings();

View File

@@ -611,13 +611,13 @@ static void displayTempChangeLongStep(void) { OLED::printNumber(getSettingValue(
static void displayLockingMode(void) { static void displayLockingMode(void) {
switch (getSettingValue(SettingsOptions::LockingMode)) { switch (getSettingValue(SettingsOptions::LockingMode)) {
case 0: case lockingMode_t::DISABLED:
OLED::drawUnavailableIcon(); OLED::drawUnavailableIcon();
break; break;
case 1: case lockingMode_t::BOOST:
OLED::print(translatedString(Tr->SettingLockBoostChar), FontStyle::LARGE); OLED::print(translatedString(Tr->SettingLockBoostChar), FontStyle::LARGE);
break; break;
case 2: case lockingMode_t::FULL:
OLED::print(translatedString(Tr->SettingLockFullChar), FontStyle::LARGE); OLED::print(translatedString(Tr->SettingLockFullChar), FontStyle::LARGE);
break; break;
default: default:

View File

@@ -10,7 +10,7 @@ OperatingMode handleSolderingButtons(const ButtonState buttons, guiContext *cxt)
if (cxt->scratch_state.state1 == 1) { if (cxt->scratch_state.state1 == 1) {
// Buttons are currently locked // Buttons are currently locked
if (buttons == BUTTON_F_LONG) { if (buttons == BUTTON_F_LONG) {
if (getSettingValue(SettingsOptions::BoostTemp) && (getSettingValue(SettingsOptions::LockingMode) == 1)) { if (getSettingValue(SettingsOptions::BoostTemp) && (getSettingValue(SettingsOptions::LockingMode) == lockingMode_t::BOOST)) {
cxt->scratch_state.state2 = 1; cxt->scratch_state.state2 = 1;
} }
} else if (buttons == BUTTON_BOTH_LONG) { } else if (buttons == BUTTON_BOTH_LONG) {
@@ -45,18 +45,17 @@ OperatingMode handleSolderingButtons(const ButtonState buttons, guiContext *cxt)
cxt->transitionMode = TransitionAnimation::Left; cxt->transitionMode = TransitionAnimation::Left;
return OperatingMode::TemperatureAdjust; return OperatingMode::TemperatureAdjust;
case BUTTON_BOTH_LONG: case BUTTON_BOTH_LONG:
if (getSettingValue(SettingsOptions::LockingMode) != 0) { if (getSettingValue(SettingsOptions::LockingMode) && warnUser(translatedString(Tr->LockingKeysString), buttons)) {
// Lock buttons // Lock buttons
if (warnUser(translatedString(Tr->LockingKeysString), buttons)) {
cxt->scratch_state.state1 = 1; cxt->scratch_state.state1 = 1;
} }
}
break; break;
default: default:
break; break;
} }
return OperatingMode::Soldering; return OperatingMode::Soldering;
} }
OperatingMode gui_solderingMode(const ButtonState buttons, guiContext *cxt) { OperatingMode gui_solderingMode(const ButtonState buttons, guiContext *cxt) {
/* /*
* * Soldering (gui_solderingMode) * * Soldering (gui_solderingMode)