I realized I forgot to give one of my functions LCDPrint a data type of ‘int’ for my variables. as soon as I did that is stopped recognzing EVERY single function in the script. Can anyone tell me how this happened
#include <Bounce.h>
#define debug
#define maxMenus 20
#define upButton 13
#define enterButton 12
#define downButton 11
#define motorOutFwd 9
#define motorOutbwd 10
#define C2Switch 7
#define C3Switch 6
#define motorInFwd 5
#define motorInBwk 4
#define motorAdjOne 3
#define motorAdjTwo 2
Bounce bouncerUp = Bounce( upButton, 10);
Bounce bouncerEnter = Bounce( enterButton, 10);
Bounce bouncerDown = Bounce( downButton, 10);
void setup() {
pinMode(upButton, INPUT);
pinMode(enterButton, INPUT);
pinMode(downButton, INPUT);
Serial.begin(9600);
backlightOn();
}
void loop() {
int menuScreen = 0; // Setup Menu Screen
//update the debouncer
bouncerUp.update ( );
bouncerEnter.update ( );
bouncerDown.update ( );
//Get value of buttons
int valueUp = bouncerUp.read();
int valueEnter = bouncerEnter.read();
int valueDown = bouncerDown.read();
//get default value assigned to menuScreen
if(menuScreen == 0){
menuScreen = 1;
}
else{
menuScreen = menuScreen;
}
if(valueUp == HIGH){
if (menuScreen > maxMenus){
menuScreen = 1;
LCDPrint(menuScreen);
}
else{
menuScreen++;
}
}// End up if statement
if(valueDown == HIGH){
if(menuScreen == 0){
menuScreen = (maxMenus -1);
}
else{
menuScreen --;
}
}//end if
}
void LCDPrint(int menuScreen){
switch (menuScreen){
case 1:
selectLineOne();
Serial.println("one");
break;
case 2:
selectLineOne();
Serial.println("two");
break;
case 3:
selectLineOne();
Serial.println("three");
break;
case 4:
selectLineOne();
Serial.println("four");
break;
case 5:
selectLineOne();
Serial.println("five");
break;
case 6:
selectLineOne();
Serial.println("six");
break;
case 7:
selectLineOne();
Serial.println("seven");
break;
case 8:
selectLineOne();
Serial.println("eight");
break;
case 9:
selectLineOne();
Serial.println("nine");
break;
case 10:
selectLineOne();
Serial.println("ten");
break;
case 11:
selectLineOne();
Serial.println("eleven");
break;
case 12:
selectLineOne();
Serial.println("twelve");
break;
case 13:
selectLineOne();
Serial.println("thirteen");
break;
case 14:
selectLineOne();
Serial.println("fourteen");
break;
case 15:
selectLineOne();
Serial.println("fifteen");
break;
case 16:
selectLineOne();
Serial.println("sixteen");
break;
case 17:
selectLineOne();
Serial.println("seventeen");
break;
case 18:
selectLineOne();
Serial.println("eighteenteen");
break;
case 19:
selectLineOne();
Serial.println("nineteen");
break;
case 20:
selectLineOne();
Serial.println("twenty");
break;
default:
break;
}// end case
}//end LCD function
void MotorOutput(){
}
void selectLineOne(){ //puts the cursor at line 0 char 0.
Serial.write(0xFE); //command flag
Serial.write(128); //position
delay(10);
}
void selectLineTwo(){ //puts the cursor at line 0 char 0.
Serial.write(0xFE); //command flag
Serial.write(192); //position
delay(10);
}
void goTo(int position) { //position = line 1: 0-15, line 2: 16-31, 31+ defaults back to 0
if (position<16){ Serial.write(0xFE); //command flag
Serial.write((position+128)); //position
}else if (position<32){Serial.write(0xFE); //command flag
Serial.write((position+48+128)); //position
} else { goTo(0); }
delay(10);
}
void clearLCD(){
Serial.write(0xFE); //command flag
Serial.write(0x01); //clear command.
delay(10);
}
void backlightOn(){ //turns on the backlight
Serial.write(0x7C); //command flag for backlight stuff
Serial.write(157); //light level.
delay(10);
}
void backlightOff(){ //turns off the backlight
Serial.write(0x7C); //command flag for backlight stuff
Serial.write(128); //light level for off.
delay(10);
}
void serCommand(){ //a general function to call the command flag for issuing all other commands
Serial.write(0xFE);
}