Good day to everyone,
First of all i would like to thank you everyone in this forum, it is really great and helpful. i,ve got help every time when i needed. THANK YOU to everyone.
okay, so i am writing a code for a menu, and it is working completely fine, nothing wrong with the code. i am beginner and not really smart about this programming, so i just made a flowchart and converted every block of it to appropriate step of the following code. They are working as they should be. but they are very lengthy.
i got a query that there must be a shorter version or some some logical steps to do what following codes are doing. kindly help me with this.
Best Regards.
menu_button_state = digitalRead (menu_button);
delay (10);
scroll_button_state = digitalRead (scroll_button);
delay (10);
select_button_state = digitalRead (select_button);
delay (10);
save_button_state = digitalRead (save_button);
delay (10);
if ( menu_button_state == LOW && select_button_state == HIGH ){
boolean_of_menu = true ;
boolean_of_select_set_point = false;
boolean_of_dose_timing = false;
boolean_of_dose_interval = false;
boolean_of_pH_lw_up = false;
boolean_of_forced_dose = false;
boolean_of_alarm_deviation = false;
boolean_of_alarm_per_hr = false;
boolean_of_alarm_on_off = false;
}
if ( menu_button_state == LOW && select_button_state == LOW){
if ( to_be_print == 1 ){
boolean_of_menu = false ;
boolean_of_select_set_point = true;
boolean_of_dose_timing = false;
boolean_of_dose_interval = false;
boolean_of_pH_lw_up = false;
boolean_of_forced_dose = false;
boolean_of_alarm_deviation = false;
boolean_of_alarm_per_hr = false;
boolean_of_alarm_on_off = false;
}
}
if ( menu_button_state == LOW && select_button_state == LOW){
if ( to_be_print == 2 ){
boolean_of_menu = false ;
boolean_of_select_set_point = false;
boolean_of_dose_timing = true;
boolean_of_dose_interval = false;
boolean_of_pH_lw_up = false;
boolean_of_forced_dose = false;
boolean_of_alarm_deviation = false;
boolean_of_alarm_per_hr = false;
boolean_of_alarm_on_off = false;
}
}
if ( menu_button_state == LOW && select_button_state == LOW){
if ( to_be_print == 3 ){
boolean_of_menu = false ;
boolean_of_select_set_point = false;
boolean_of_dose_timing = false;
boolean_of_dose_interval = true;
boolean_of_pH_lw_up = false;
boolean_of_forced_dose = false;
boolean_of_alarm_deviation = false;
boolean_of_alarm_per_hr = false;
boolean_of_alarm_on_off = false;
}
}
if ( menu_button_state == LOW && select_button_state == LOW){
if ( to_be_print == 4 ){
boolean_of_menu = false ;
boolean_of_select_set_point = false;
boolean_of_dose_timing = false;
boolean_of_dose_interval = false;
boolean_of_pH_lw_up = true;
boolean_of_forced_dose = false;
boolean_of_alarm_deviation = false;
boolean_of_alarm_per_hr = false;
boolean_of_alarm_on_off = false;
}
}
if ( menu_button_state == LOW && select_button_state == LOW){
if ( to_be_print == 5 ){
boolean_of_menu = false ;
boolean_of_select_set_point = false;
boolean_of_dose_timing = false;
boolean_of_dose_interval = false;
boolean_of_pH_lw_up = false;
boolean_of_forced_dose = true;
boolean_of_alarm_deviation = false;
boolean_of_alarm_per_hr = false;
boolean_of_alarm_on_off = false;
}
}
if ( menu_button_state == LOW && select_button_state == LOW){
if ( to_be_print == 6 ){
boolean_of_menu = false ;
boolean_of_select_set_point = false;
boolean_of_dose_timing = false;
boolean_of_dose_interval = false;
boolean_of_pH_lw_up = false;
boolean_of_forced_dose = false;
boolean_of_alarm_deviation = true;
boolean_of_alarm_per_hr = false;
boolean_of_alarm_on_off = false;
}
}
if ( menu_button_state == LOW && select_button_state == LOW){
if ( to_be_print == 7 ){
boolean_of_menu = false ;
boolean_of_select_set_point = false;
boolean_of_dose_timing = false;
boolean_of_dose_interval = false;
boolean_of_pH_lw_up = false;
boolean_of_forced_dose = false;
boolean_of_alarm_deviation = false;
boolean_of_alarm_per_hr = true;
boolean_of_alarm_on_off = false;
}
}
if ( menu_button_state == LOW && select_button_state == LOW){
if ( to_be_print == 8 ){
boolean_of_menu = false ;
boolean_of_select_set_point = false;
boolean_of_dose_timing = false;
boolean_of_dose_interval = false;
boolean_of_pH_lw_up = false;
boolean_of_forced_dose = false;
boolean_of_alarm_deviation = false;
boolean_of_alarm_per_hr = false;
boolean_of_alarm_on_off = true;
}
}