#line 1 "C:/Users/karolysi/Desktop/Shock_sensor/FW/ShockSensor.c"








long int k=0;
int n=0;
int j=0;
int i=0;


void initMain(){
 TRISIO=0b00000111;
 ANSEL=0b00000000;
 CMCON=0b00000111;
  GPIO.F5 =1;
  GPIO.F4 =1;
 delay_ms(10000);
 }




void Alarm(){
 if(( GPIO.F2 ==1)&&( GPIO.F0 ==0)&&( GPIO.F1 ==0)){
 delay_us(5);
 if( GPIO.F2 ==1){
 n++;
 }
 while( GPIO.F2 ==1){
  GPIO.F4 =1;
  GPIO.F5 =0;
 delay_ms(2000);
 }
 }
}


void BlinkMode(){
  GPIO.F4 =1;
 Delay_ms(50);
 if(n>=2){
  GPIO.F4 =0;
 Delay_ms(50);
  GPIO.F4 =1;
 Delay_ms(50);
 }
 if(k==90000){
 k=0;
 }
}



void LeaveTime(){
  GPIO.F4 =1;
 for(i=0; i<300; i++){
 delay_ms(1000);
 }
}

void Main() {
initMain();


while(1){
 k++;
 if(k==90000){
 BlinkMode();
 }
 if(( GPIO.F2 ==1)&&( GPIO.F0 ==0)&&( GPIO.F1 ==0)&&(n<2)){
 Alarm();
 }
 if(( GPIO.F0 ==1)||( GPIO.F1 ==1)){
 j=0;



 while(( GPIO.F0 ==1)||( GPIO.F1 ==1)){
  GPIO.F4 =0;
 delay_ms(100);
  GPIO.F4 =1;
 delay_ms(100);
  GPIO.F5 =1;
 }
 LeaveTime();
 n=0;
 }
  GPIO.F4 =0;
  GPIO.F5 =1;
 }
}
