Hi.
i'm batteling with the following function, which all of a sudden makes the program hang;
boolean WaitFor(int Hva,unsigned long Wait){
unsigned long Time=millis();
boolean Funnet=false;
String msg="";
String VentPa;
switch(Hva){
case 1:
VentPa="OK"; break;
case 2:
VentPa="+SIND: 4";break;
case 3:
VentPa="+SIND: 11";break;
case 4:
VentPa="+CMGS:";break;
}
while (millis()-Time<Wait){
ReadAlarmInputs();
if (cell.available()>0){
Time++;
char in=cell.read();
Serial.print(in);
if((int(in)==10) or (int(in)==13)){
if((int(in)==13) and (Funnet==true)){return true;}
if(int(in)==13){msg="";}
}
else{
msg+=in;
if(msg==VentPa){Serial.print("Jeg Fant: ");Serial.println(VentPa); Funnet=true;}
}
}
}
return false;
}
void ReadAlarmInputs(){
static boolean OnOff;
if (OnOff==true){
digitalWrite(9,LOW);OnOff=false;}
else{
digitalWrite(9,HIGH);OnOff=true;}
//Først de digitale innganger. Pumper Sendes etter WalkOut..
if(digitalRead(Pumper)==IsAlarm[1]){
delay(2);
if(digitalRead(Pumper)==IsAlarm[1]){
BPFlag=true;}
}
//Innbrudd Alarmer FØR Walkout forkastes, og alarm sendes bare etter Walkout
if(digitalRead(Innbrudd)==IsAlarm[2]){ //Alarm fra Pumper
delay(2);
if(digitalRead(Innbrudd)==IsAlarm[2]){
if (WOFlag==false){BAFlag=true;} //Set Intruder Flag
//Her bør det kanskje settes opp en lysdiode elelr lignnende som tegn på at aktivitet er detektert.
}
}
}
Help would be very much appreciated!