1
0
forked from me/IronOS

Update Soldering.cpp

allow to use remaining state1 for timer
This commit is contained in:
neon12345
2024-08-01 05:00:26 +02:00
committed by GitHub
parent 2bce5b710e
commit 34db06ab9c

View File

@@ -7,7 +7,7 @@
// State 3 = buzzer timer // State 3 = buzzer timer
OperatingMode handleSolderingButtons(const ButtonState buttons, guiContext *cxt) { OperatingMode handleSolderingButtons(const ButtonState buttons, guiContext *cxt) {
if (cxt->scratch_state.state1 >= 2) { if (cxt->scratch_state.state1 & (2|3)) {
// Buttons are currently locked // Buttons are currently locked
switch (buttons) { switch (buttons) {
case BUTTON_F_LONG: case BUTTON_F_LONG:
@@ -16,17 +16,21 @@ OperatingMode handleSolderingButtons(const ButtonState buttons, guiContext *cxt)
} }
break; break;
case BUTTON_BOTH_LONG: case BUTTON_BOTH_LONG:
if (cxt->scratch_state.state1 == 3) { if ((cxt->scratch_state.state1 & (2|3)) == 3) {
// Unlocking // Unlocking
if (warnUser(translatedString(Tr->UnlockingKeysString), buttons)) { if (warnUser(translatedString(Tr->UnlockingKeysString), buttons)) {
cxt->scratch_state.state1 = 1; // cxt->scratch_state.state1 &= ~3;
// cxt->scratch_state.state1 |= 1;
cxt->scratch_state.state1 &= ~2;
} }
} else { } else {
warnUser(translatedString(Tr->WarningKeysLockedString), buttons); warnUser(translatedString(Tr->WarningKeysLockedString), buttons);
} }
break; break;
case BUTTON_NONE: case BUTTON_NONE:
cxt->scratch_state.state1 = 3; //cxt->scratch_state.state1 &= ~2;
//cxt->scratch_state.state1 |= 3;
cxt->scratch_state.state1 |= 3;
break; break;
default: // Do nothing and display a lock warning default: // Do nothing and display a lock warning
warnUser(translatedString(Tr->WarningKeysLockedString), buttons); warnUser(translatedString(Tr->WarningKeysLockedString), buttons);
@@ -38,7 +42,7 @@ OperatingMode handleSolderingButtons(const ButtonState buttons, guiContext *cxt)
switch (buttons) { switch (buttons) {
case BUTTON_NONE: case BUTTON_NONE:
cxt->scratch_state.state2 = 0; cxt->scratch_state.state2 = 0;
cxt->scratch_state.state1 = 0; cxt->scratch_state.state1 &= ~1;
break; break;
case BUTTON_BOTH: case BUTTON_BOTH:
/*Fall through*/ /*Fall through*/
@@ -58,9 +62,9 @@ OperatingMode handleSolderingButtons(const ButtonState buttons, guiContext *cxt)
case BUTTON_BOTH_LONG: case BUTTON_BOTH_LONG:
if (getSettingValue(SettingsOptions::LockingMode)) { if (getSettingValue(SettingsOptions::LockingMode)) {
// Lock buttons // Lock buttons
if (cxt->scratch_state.state1 == 0) { if ((cxt->scratch_state.state1 & 1) == 0) {
if (warnUser(translatedString(Tr->LockingKeysString), buttons)) { if (warnUser(translatedString(Tr->LockingKeysString), buttons)) {
cxt->scratch_state.state1 = 2; cxt->scratch_state.state1 |= 2;
} }
} else { } else {
// FIXME should be WarningKeysUnlockedString // FIXME should be WarningKeysUnlockedString