Hey Leute,
könnte mir wer sagen oder ein Beispiel geben wie ich diese if logik vereinfachen könnte?
if (rightStateold == LOW && rightState == HIGH) { //Tab wechseln
menu++;
updateMenu();
}
if (enterStateold == LOW && enterState == HIGH && menu == 1) { //Untermenü Winkel anzeigen
menu = 5;
Serial.println("Untermenü Winkel");
updateMenu();
}
if (enterStateold == LOW && enterState == HIGH && menu == 2) { //Untermenü Winkel anzeigen
menu = 7;
Serial.println("Untermenü Winkel");
updateMenu();
}
if (enterStateold == LOW && enterState == HIGH && menu == 3) { //Untermenü Grenzwinkel einstellen
menu = 9;
Serial.println("Untermenü Grenzwinkel einstellen");
updateMenu();
}
if (escStateold == LOW && escState == HIGH) { //Escape
menu = 1;
Grenzwinkelold = Grenzwinkel;
updateMenu();
}
if (escState == LOW && enterState == LOW) { //Reset wenn Enter und Esc gedrückt wird
ESP.restart();
}
if (menu == 9) { //Verändern des Grenzwinkels wenn man im Tab 3 ist (Set Limit)
if (upStateold == LOW && upState == HIGH) { //Inkrementieren
Grenzwinkelold++;
Serial.println(Grenzwinkelold);
if (Grenzwinkelold > 90) { //Begrenzung des Grenzwinkels auf 0° bis 90°
Grenzwinkelold = 90;
}
lcd.clear();
lcd.print("Grenzwinkel:");
lcd.setCursor(0, 1);
lcd.print(Grenzwinkelold);
lcd.print("\337");
}
if (downStateold == LOW && downState == HIGH) { //Dekrementieren
Grenzwinkelold--;
if (Grenzwinkelold < 0) {
Grenzwinkelold = 0;
}
lcd.clear();
lcd.print("Grenzwinkel:");
lcd.setCursor(0, 1);
lcd.print(Grenzwinkelold);
lcd.print("\337");
}
if (upState == LOW && downState == LOW) { //Nullstand
Grenzwinkelold = 0;
lcd.clear();
lcd.print("Grenzwinkel:");
lcd.setCursor(0, 1);
lcd.print(Grenzwinkelold);
lcd.print("\337");
}
upStateold = upState;
downStateold = downState;
}
if ((rightStateold == LOW && rightState == HIGH) && (menu == 9)) { //Untermenü Grenzwinkel einstellen
Grenzwinkel = Grenzwinkelold;
menu = 1;
updateMenu();
}
escStateold = escState;
enterStateold = enterState;
rightStateold = rightState;