String userInput = ""; //it use for save input
const String user = "Thunder"; //default user name
const String pass = "Parsa"; //default pass
boolean stringReady = false; //to check string is ready for prosses
boolean userValidation = false;//for logout and whiles
boolean passValidation = false;//for logout and whiles
void setup() {
Serial.begin(115200);
}
void loop() {
if(!userValidation && !passValidation){userCheck();}
}
void serialEvent(){
while(Serial.available()){
char inChar = (char)Serial.read();
if(inChar == '\n'){stringReady = true;}else{userInput += inChar;}
}
}
void userCheck(){
Serial.println("Please enter username : ");
while(!userValidation){
serialEvent();
if(stringReady){
if(userInput == user ){
Serial.print("Welcome ");Serial.print(userInput);Serial.println("!");
stringReady = false;userInput = "";
userValidation = true;passCheck();
}else{Serial.println("Doesn't exist ! please try again");}
stringReady = false;userInput = "";
}
}
}
void passCheck(){
Serial.println("Please enter password : ");
while(!passValidation){
serialEvent();
if(stringReady){
if(userInput == pass ){
Serial.println("Correct !");
stringReady = false;userInput = "";
userValidation = true;
passValidation = true;mainMenu();
}else{Serial.println("Wrong password ! please try again");
stringReady = false;userInput = "";
passCheck();}
}
}
}
void mainMenu(){
Serial.println("welcome to main ");
while(userValidation && passValidation){
serialEvent();
if(stringReady){
if(userInput == "logout" ){
Serial.println("Ok - good night ;)");
stringReady = false;userInput = "";
userValidation = false;passValidation = false;loop();
}else{Serial.println("I try to do it");
stringReady = false;userInput = "";
}
}
}
}