part 3
void menu_next()
{
digitalWrite(ledPin,HIGH); // turns on LED
Serial.println("MENU DN BUTTON");
menu_current += 1;
if (menu_current == menu_over)
{
menu_current = menu_first;
}
menu_show(menu_current);
menuDnReset = 0;
timeoutReset();
digitalWrite(ledPin, LOW); // turns off LED
}
void menu_prev()
{
digitalWrite(ledPin,HIGH); // turns on LED
Serial.println("MENU UP BUTTON");
menu_current -= 1;
if (menu_current == menu_under)
{
menu_current = menu_last;
}
menu_show(menu_current);
menuUpReset = 0;
timeoutReset();
digitalWrite(ledPin, LOW); // turns off LED
}
void menu_show(int m)
{
if (m==0) // Welcome Menu Screen
{
lcd_goto(0);
delay(10);
Serial.println("MENU 0 - Welcome to Rm 207 control");
lcd_puts(" Welcome ");
lcd_goto(40);
delay(10);
lcd_puts(" Rm 207 control ");
menu_option = 0;
}
if (m==1) // Current Status Menu Screen
{
lcd_goto(0);
delay(10);
Serial.println("Check Projector Status?");
lcd_puts("Check Status ");
delay(10);
lcd_goto(40);
delay(10);
lcd_puts("(( press SEL )) ");
menu_option = 1;
}
if (m==2) // Menu Screen
{
lcd_goto(0);
delay(10);
Serial.println("MENU 2 - Auto PC Adjust");
lcd_puts("Auto PC Adjust ");
delay(10);
lcd_goto(40);
delay(10);
lcd_puts("(( press SEL )) ");
menu_option = 2;
}
if (m==3) // Menu Screen
{
lcd_goto(0);
delay(10);
Serial.println("MENU 3 - Check Lamp Hours");
lcd_puts("Lamp Hours ");
delay(10);
lcd_goto(40);
delay(10);
lcd_puts("(( press SEL )) ");
menu_option = 3;
}
if (m==4) // Menu Screen
{
lcd_goto(0);
delay(10);
Serial.println("MENU 4 - Third menu");
lcd_puts("Third menu ");
delay(10);
lcd_goto(40);
delay(10);
lcd_puts("(( press SEL )) ");
menu_option = 4;
}
if (m==5) // Menu Screen
{
lcd_goto(0);
delay(10);
Serial.println("MENU 5 - Fourth menu");
lcd_puts("Fourth menu ");
delay(10);
lcd_goto(40);
delay(10);
lcd_puts("(( press SEL )) ");
menu_option = 5;
}
}
// BELOW are SELECT button commands, what function to fire when menu is at each stage
void menu_select(int s)
{
digitalWrite(ledPin,HIGH); // turns on LED
Serial.println("SEL BUTTON");
if (s==0)
{
lcd_clear();
lcd_goto(0);
delay(10);
Serial.println("Menu 0 - SEL function");
lcd_puts("Menu SEL button ");
// I don't have anything for it to do here...
}
if (s==1)
{
lcd_clear();
lcd_goto(0);
delay(10);
Serial.println("Menu 1 - SEL function");
//lcd_puts("Menu SEL button ");
// recheck current STATUS of projector
checkPower();
checkInput();
}
if (s==2)
{
// calls function to tell projector to AutoPcAdjust
//proj_autoAdjust();
// Serial.println("Sending AUTO-PC ADJUST command to projector");
// mySerial.print("C89");
//mySerial.print(0x0D, BYTE);
//char tempChar = mySerial.read();
//Serial.print(tempChar);
lcd_clear();
lcd_goto(0);
delay(10);
Serial.println("Menu 2 - SEL function");
lcd_puts(" SEL ");
}
if (s==3)
{
// calls function to retrieve lamp hours
// proj_lamp();
//lcd_clear();
//lcd_goto(0);
//delay(10);
//Serial.println("Menu 3 - SEL function");
//lcd_puts("Menu SEL button ");
checkLamp();
}
if (s==4)
{
// calls function to retrieve projector temp
//proj_temp();
lcd_clear();
lcd_goto(0);
delay(10);
Serial.println("Menu 4 - SEL function");
lcd_puts("Menu SEL button ");
}
if (s==5)
{
// exits back to default STATUS screen
//menu_show(1);
lcd_clear();
lcd_goto(0);
delay(10);
Serial.println("Menu 5 - SEL function");
lcd_puts("Menu SEL button ");
}
menuSelReset = 0;
timeoutReset();
digitalWrite(ledPin, LOW); // turns off LED
}
void power_ON()
{
digitalWrite(ledPin,HIGH); // turns on LED
lcd_clear();
lcd_goto(0);
delay(10);
Serial.println("Power ON ");
lcd_puts("Sending PWR ON ");
lcd_goto(40);
delay(10);
lcd_puts("..PLEASE WAIT.. ");
delay(1000);
proj_send(proj_powerON);
char feedback = mySerial.read();
Serial.println(feedback);
checkPower();
checkInput();
powerSelReset = 0;
power_STATUS = 1;
timeoutReset();
digitalWrite(ledPin,LOW);
}