Hello everyone,
I have written code for basic OLED display menu with navigation using rotary encoder.
But whenever I want to choose any menu item (enter it) this sub menu appears only if encoder button is pushed. I wanted to write code like this
case 0:
frame0();
break;
case 1:
if(button()) frame1();
else subFrame1();
break;
case 2:
if(button()) frame2();
else subFrame2();
break;
case 3:
if(button()) frame3();
else subFrame3();
break;
case 4:
if(button()) frame4();
else subFrame4();
break;
so my function is
bool button(){
presentButtonState = digitalRead(SW);
if(previousButtonState == HIGH && presentButtonState == LOW) {
Serial.println("The button is pressed");
btnState = !btnState;
if (btnState == HIGH){
Serial.println("ON ");
}
else{
Serial.println("OFF");
}
}
int previousButtonState = presentButtonState;
return btnState;
}
Can anyone please help? Thanks in advance